Лучшая файловая система Linux для использования на чипе памяти MMC?

8

У меня новый проект по внедрению Linux. Команда аппаратного обеспечения выбрала чип MMC Flash (деталь # MTFC64GJVDN-4M) для энергонезависимой памяти системы; лист данных на http://www.micron.com/parts/nand-flash/managed-nand/mtfc64gjvdn-4m-it .

Какую файловую систему Linux лучше всего использовать с этой частью? Я считаю, что это устройство блочного типа, поэтому файловые системы типа JDFS2 MTD не подойдут, поскольку они работают на сырой флэш-памяти. Сначала я ищу надежность, а затем производительность как вторичную.

Насколько я понимаю, эти MMC-устройства похожи на «кишки» SD-карты, то есть имеют свои встроенные контроллеры. У меня был довольно плохой опыт с ошибками SD-карт, у меня были аппаратные сбои, когда карта становилась недоступной для чтения. Это было с использованием файловой системы ext3, поэтому я исследую, чтобы найти что-нибудь лучше для этого нового проекта.

SeanLabs
источник
1
Отличная ссылка - спасибо. Кто-нибудь знает, какой инструмент используют эти парни для стресс-тестирования своих SD-карт?
SeanLabs
Определите «лучшее» для вашего приложения.
Дэйв Твид,

Ответы:

10

Если ваша файловая система доступна только для чтения, используйте ext2. Он доказал свою стабильность в течение нескольких десятилетий, является быстрым, эффективным, поддерживает владение, поддерживает биты разрешений и имеет огромную базу пользователей, поскольку каждый Linux-модуль поддерживает его. Другими словами, он поддерживает все, что требуется для достойной системы Linux.

Если не доступен только для чтения, ваша следующая лучшая ставка будет ext3. Помимо всех свойств, которыми обладает ext2, ext3 обеспечивает ведение журнала. Это означает, что каждое изменение на диске фиксируется только после того, как оно было действительно записано на диск. Очень стабильная, проверенная технология. Проблема с ext3 - выравнивание износа.

Ext4 улучшает производительность в нескольких случаях, но увеличивает нагрузку на процессор. В большинстве дистрибутивов по умолчанию используется ext4. Очевидно, это уменьшает ненужные записи, что хорошо для SSD. Ext4 имеет расширение TRIM.

Следующий на очереди это BTRFS. Не ходи туда. Хотя в нескольких дистрибутивах есть BTRFS или даже по умолчанию, в прошлый раз, когда я тестировал ее, она была нестабильной (H2 2012). Вы не хотите использовать файловую систему, которая не зарекомендовала себя в условиях стресса. Слишком много ошибок исправлено.

Linux предлагает множество файловых систем, но те, что я упомянул выше, являются наиболее распространенными.

Конечно, есть FAT32 (vfat), не ходите туда. Он старый, страдает от фрагментации и не допускает владения и прав доступа к файлам.

NTFS с закрытым исходным кодом, даже не думайте об этом. Да, это вроде работает на Linux, но реализация полностью основана на обратном инжиниринге (потому что Microsoft не выпускает никаких технических деталей), а реализация Linux просто ненадежна.

JFFS2 необходимо полностью сканировать при монтировании, поэтому время монтирования увеличивается линейно с размером устройства. Это связано с тем, что не существует какой-то древовидной структуры для хранения файлов.

jippie
источник
4

Кажется, это часть eMMC (обратите внимание на маленькое «e» впереди). В основном это означает, что это «паяемая SD-карта». Возможно, вы захотите сравнить его с SD-картой, а не с NAND-Flash. Кроме того, это означает, что у него есть дополнительная логика, такая как логика износа, а также интерфейс MMC, а не интерфейс NAND-Flash.

Поскольку карта уже содержит Wear-Logic, файловая система не имеет большого значения. Это больше вопрос подготовки вашего раздела (например, разделы только для чтения).

Если вы действительно хотите оценить файловые системы, должно быть в порядке (без определенного порядка): F2FS, BTRFS, EXT4.

Также поймите, что в зависимости от вашего контроллера, загрузчик или аналогичный будет размещен в очень конкретной позиции вне каждой файловой системы.

Том Л.
источник
1
Не слышал о F2FS раньше, проверим. Я уже тестировал EXT4 на SD-карте раньше, казалось, все работает нормально, но люди, похоже, обеспокоены тем, что журнал создает ряд дополнительных записей. Я мог бы опубликовать еще один вопрос о том, как лучше использовать макет разбиения.
SeanLabs
1
Что касается журналирования: Да, это так, но поскольку контроллер износа уже выполнил выравнивание, я бы посчитал это очень незначительной проблемой.
Том Л.