Le meilleur système de fichiers Linux à utiliser sur la puce de mémoire MMC?

8

J'ai un nouveau projet Linux embarqué à venir. L'équipe matérielle a choisi une puce Flash MMC (pièce # MTFC64GJVDN-4M) pour la mémoire non volatile du système; fiche technique à http://www.micron.com/parts/nand-flash/managed-nand/mtfc64gjvdn-4m-it .

Quel serait le meilleur système de fichiers Linux à utiliser avec cette partie? Je crois que c'est un périphérique de type bloc, donc les systèmes de fichiers de type JFFS2 MTD ne conviendront pas car ils fonctionnent sur le flash brut. Je recherche d'abord la fiabilité, puis la performance comme secondaire.

Je crois également comprendre que ces périphériques MMC sont comme les «tripes» d'une carte SD, c'est-à-dire qu'ils ont leurs propres contrôleurs intégrés. J'ai eu une assez mauvaise expérience avec les cartes SD qui échouaient auparavant, j'ai eu des pannes matérielles où la carte devient illisible. Cela utilisait le système de fichiers ext3, donc je fais des recherches pour voir s'il y a quelque chose de mieux pour ce nouveau projet.

SeanLabs
la source
1
Excellent lien - merci. Est-ce que quelqu'un sait quel outil ces gars utilisent pour tester leurs cartes SD?
SeanLabs
Définissez "le meilleur" pour votre application.
Dave Tweed

Réponses:

10

Si votre système de fichiers est en lecture seule, utilisez ext2. Cela s'est avéré stable pendant plusieurs décennies, est rapide, efficace, prend en charge la propriété, prend en charge les bits d'autorisation et dispose d'une énorme base d'utilisateurs comme chaque boîte Linux le prend en charge. En d'autres termes, il prend en charge tout ce dont un système Linux décent a besoin.

Si la lecture seule n'est pas une option, votre prochain meilleur pari est ext3. Outre toutes les propriétés fournies par ext2, ext3 apporte la journalisation. Cela signifie que chaque modification sur le disque n'est validée qu'une fois qu'elle a été réellement écrite sur le disque. Technologie très stable et éprouvée. Un problème avec ext3 est le nivellement de l'usure.

Ext4 améliore les performances dans plusieurs cas d'utilisation, mais est livré avec plus de surcharge du processeur. Aujourd'hui, la plupart des distributions sont par défaut ext4. Apparemment, cela réduit les écritures inutiles, ce qui est bon pour un SSD. Ext4 a une extension TRIM.

Ensuite, il BTRFS. N'y allez pas. Bien que plusieurs distributions proposent BTRFS ou même par défaut, il n'était pas stable la dernière fois que je l'ai testé (H2 2012). Vous ne voulez pas utiliser un système de fichiers qui n'a pas fait ses preuves sous stress. Trop de bogues sont en cours de correction.

Linux offre une multitude de systèmes de fichiers, mais ceux que j'ai mentionnés ci-dessus sont les plus courants.

Bien sûr, il y a FAT32 (vfat), n'y allez pas. Il est ancien, il souffre de fragmentation et ne permet pas la propriété et les autorisations de fichiers.

NTFS est une source fermée, n'y pensez même pas. Oui, cela fonctionne un peu sous Linux, mais l'implémentation est entièrement basée sur l'ingénierie inverse (car Microsoft ne publie aucun détail technique) et l'implémentation Linux n'est tout simplement pas fiable.

Un JFFS2 doit être entièrement numérisé sur un support, donc le temps de montage augmente linéairement avec la taille du périphérique. Cela est dû au fait qu'il n'existe aucune sorte d'arborescence pour stocker les fichiers.

jippie
la source
4

Cela semble être une partie eMMC (attention au petit "e" en face). Fondamentalement, cela signifie qu'il s'agit d'une "carte SD soudable". Vous voudrez peut-être le comparer à une carte SD et non à un flash NAND. En outre, cela signifie qu'il a une logique supplémentaire telle que la logique d'usure et qu'il a également une interface MMC et NON une interface NAND-Flash.

Étant donné que la carte comprend déjà Wear-Logic, le système de fichiers réel n'a pas tellement d'importance. Il s'agit plus de préparer votre partition (ex: partitions en lecture seule).

Si vous souhaitez vraiment évaluer les systèmes de fichiers, les éléments suivants devraient être corrects (sans ordre particulier): F2FS, BTRFS, EXT4.

Comprenez également qu'en fonction de votre contrôleur, le chargeur de démarrage ou similaire sera placé à une position très spécifique en dehors de chaque système de fichiers.

Tom L.
la source
1
Je n'avais jamais entendu parler de F2FS auparavant, je vais le vérifier. J'ai déjà testé EXT4 sur une carte SD, semblait fonctionner correctement, mais les gens semblent craindre que le journal crée un certain nombre d'écritures supplémentaires. Je pourrais poster une autre question concernant la meilleure disposition de partitionnement à utiliser.
SeanLabs
1
En ce qui concerne la journalisation: oui, mais comme le nivellement de l'usure est déjà effectué par le contrôleur, je considérerais cela comme un problème très mineur.
Tom L.