¿El mejor sistema de archivos de Linux para usar en el chip de memoria MMC?

8

Tengo un nuevo proyecto de Linux incrustado por venir. El equipo de hardware ha elegido un chip MMC Flash (parte # MTFC64GJVDN-4M) para la memoria no volátil del sistema; hoja de datos en enlace .

¿Cuál sería el mejor sistema de archivos Linux para usar con esta parte? Creo que es un dispositivo de tipo bloque, por lo que los sistemas de archivos de tipo MTD JFFS2 no serán adecuados ya que operan en el flash sin formato. Primero busco la confiabilidad, luego el rendimiento como secundario.

También entiendo 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 fallas en las tarjetas SD, he tenido fallas de hardware en las que la tarjeta no se puede leer. Eso fue usar el sistema de archivos ext3, así que estoy investigando para ver si hay algo mejor para este nuevo proyecto.

    
pregunta SeanLabs

2 respuestas

10

Si su sistema de archivos es de solo lectura, use ext2. Se ha comprobado que es estable durante varias décadas, es rápido y eficiente, admite la propiedad, admite bits de permiso y tiene una base de usuarios enorme como lo hace cada caja de Linux. En otras palabras, es compatible con todo lo que requiere un sistema Linux decente.

Si la opción de solo lectura no es una opción, su próxima mejor apuesta es ext3. Aparte de todas las propiedades con las que viene ext2, ext3 trae el diario. Esto significa que cada cambio en el disco solo se confirma una vez que se ha escrito en el disco. Tecnología muy estable y probada. Un problema con ext3 es la nivelación de desgaste.

Ext4 mejora el rendimiento en varios casos de uso, pero viene con más sobrecarga de CPU. La mayoría de las distribuciones de hoy por defecto son ext4. Aparentemente reduce las escrituras innecesarias, lo que es bueno para un SSD. Ext4 tiene una extensión TRIM.

A continuación en línea BTRFS. No vayas alli Aunque varias distribuciones ofrecen BTRFS o incluso están predeterminadas, 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 están arreglando 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 fragmentación y no permite la propiedad ni los permisos de archivo.

NTFS es de código cerrado, ni siquiera lo pienses. Sí, un poco funciona en Linux, pero la implementación está totalmente basada en ingeniería inversa (porque Microsoft no publica ningún detalle técnico) y la implementación de Linux simplemente no es confiable.

Un JFFS2 debe explorarse completamente en un montaje, 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.

    
respondido por el jippie
4

Esto parece ser una parte de eMMC (tenga en cuenta la pequeña "e" al 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.

Como la tarjeta ya incluye Wear-Logic, el sistema de archivos real no importa mucho. Es más una cuestión de preparar 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 entiendo 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.

    
respondido por el Tom L.

Lea otras preguntas en las etiquetas