Tengo un nuevo proyecto de Linux incrustado en camino. El equipo de hardware ha elegido un chip Flash MMC (parte # MTFC64GJVDN-4M) para la memoria no volátil del sistema; hoja de datos en http://www.micron.com/parts/nand-flash/managed-nand/mtfc64gjvdn-4m-it .
¿Cuál sería el mejor sistema de archivos de Linux para usar con esta parte? Creo que es un dispositivo de tipo bloque, por lo que los sistemas de archivos tipo JFFS2 MTD no serán adecuados ya que operan en el flash sin formato. Estoy buscando confiabilidad primero, luego desempeño como secundario.
También tengo entendido que estos dispositivos MMC son como las "entrañas" de una tarjeta SD, es decir, tienen sus propios controladores integrados. He tenido una experiencia bastante mala con la falla de las tarjetas SD antes, he tenido fallas de hardware en las que la tarjeta no se puede leer. Estaba usando el sistema de archivos ext3, así que estoy investigando para ver si hay algo mejor para este nuevo proyecto.
fuente
Respuestas:
Si su sistema de archivos es de solo lectura, use ext2. Se ha demostrado que es estable durante varias décadas, es rápido, eficiente, admite la propiedad, admite bits de permisos y tiene una gran base de usuarios, ya que todas las cajas de Linux lo admiten. En otras palabras, admite todo lo que requiere un sistema Linux decente.
Si solo lectura no es una opción, su próxima mejor opción es ext3. Además de todas las propiedades que viene con ext2, ext3 trae el registro en diario. Esto significa que cada cambio en el disco solo se confirma una vez que realmente se ha escrito en el disco. Muy estable, tecnología probada. Un problema con ext3 es la nivelación del desgaste.
Ext4 mejora el rendimiento en varios casos de uso, pero viene con más sobrecarga de la CPU. La mayoría de las distribuciones de hoy tienen por defecto ext4. Aparentemente reduce las escrituras innecesarias, lo cual es bueno para un SSD. Ext4 tiene una extensión TRIM.
El siguiente en la línea es BTRFS. No vayas ahí. Aunque varias distribuciones ofrecen BTRFS o incluso por defecto, no fue estable la última vez que lo probé (H2 2012). No desea utilizar un sistema de archivos que no se haya probado bajo estrés. Se han corregido demasiados errores.
Linux ofrece una gran cantidad de sistemas de archivos, pero los que mencioné anteriormente son los más comunes.
Por supuesto que hay FAT32 (vfat), no vayas allí. Es antiguo, sufre de fragmentación y no permite la propiedad y los permisos de archivo.
NTFS es de código cerrado, ni lo pienses. Sí, funciona un poco en Linux, pero la implementación se basa completamente en ingeniería inversa (porque Microsoft no publica ningún detalle técnico) y la implementación de Linux no es confiable.
Un JFFS2 debe escanearse por completo en un soporte, por lo que el tiempo de montaje aumenta linealmente con el tamaño del dispositivo. Esto se debe al hecho de que no hay algún tipo de estructura de árbol para almacenar archivos.
fuente
Esto parece ser una parte de eMMC (tenga en cuenta la pequeña "e" en el frente). Básicamente, esto significa que se trata de una "tarjeta SD soldable". Es posible que desee compararlo con una tarjeta SD y no con un NAND-Flash. Además, esto significa que tiene una lógica adicional como la lógica de desgaste y también tiene una interfaz MMC y NO una interfaz NAND-Flash.
Dado que la tarjeta ya incluye Wear-Logic, el sistema de archivos real no importa tanto. Es más una cuestión de praparing su partición (por ejemplo, particiones de solo lectura).
En caso de que realmente desee evaluar los sistemas de archivos, lo siguiente debería estar bien (sin un orden en particular): F2FS, BTRFS, EXT4.
También comprenda que dependiendo de su controlador, el gestor de arranque o similar se colocará en una posición muy específica fuera de cada sistema de archivos.
fuente