Bestes Linux-Dateisystem für MMC-Speicherchips?

8

Ich habe ein neues Embedded Linux-Projekt in Vorbereitung. Das Hardwareteam hat einen MMC-Flash-Chip (Teilenummer MTFC64GJVDN-4M) für den nichtflüchtigen Speicher des Systems ausgewählt. Datenblatt unter http://www.micron.com/parts/nand-flash/managed-nand/mtfc64gjvdn-4m-it .

Was wäre das beste Linux-Dateisystem für diesen Teil? Ich glaube, es ist ein Blockgerät, daher sind die Dateisysteme vom Typ JFFS2 MTD nicht geeignet, da sie mit dem Raw-Flash arbeiten. Ich suche zuerst Zuverlässigkeit, dann Leistung als zweitrangig.

Ich verstehe auch, dass diese MMC-Geräte wie die "Eingeweide" einer SD-Karte sind, dh ihre eigenen integrierten Controller haben. Ich habe schon ziemlich schlechte Erfahrungen mit SD-Karten gemacht. Ich hatte Hardwarefehler, bei denen die Karte nicht mehr lesbar ist. Das war das ext3-Dateisystem, also recherchiere ich, ob es für dieses neue Projekt etwas Besseres gibt.

SeanLabs
quelle
1
Toller Link - danke. Weiß jemand, mit welchem ​​Tool diese Jungs ihre SD-Karten einem Stresstest unterziehen?
SeanLabs
Definieren Sie "am besten" für Ihre Anwendung.
Dave Tweed

Antworten:

10

Wenn Ihr Dateisystem schreibgeschützt ist, verwenden Sie ext2. Das hat sich über mehrere Jahrzehnte als stabil erwiesen, ist schnell, effizient, unterstützt den Besitz, unterstützt Berechtigungsbits und hat eine riesige Benutzerbasis, da jede Linux-Box dies unterstützt. Mit anderen Worten, es unterstützt alles, was ein anständiges Linux-System benötigt.

Wenn schreibgeschützt keine Option ist, ist ext3 Ihre nächstbeste Wette. Abgesehen von allen Eigenschaften, mit denen ext2 ausgestattet ist, bietet ext3 Journaling. Dies bedeutet, dass jede Änderung auf der Festplatte erst festgeschrieben wird, wenn sie tatsächlich auf die Festplatte geschrieben wurde. Sehr stabile, bewährte Technologie. Ein Problem mit ext3 ist die Verschleißnivellierung.

Ext4 verbessert die Leistung in mehreren Anwendungsfällen, bringt jedoch mehr CPU-Overhead mit sich. Die meisten Distributionen verwenden heute standardmäßig ext4. Anscheinend reduziert es unnötige Schreibvorgänge, was für eine SSD gut ist. Ext4 hat eine TRIM-Erweiterung.

Als nächstes in der Reihe es BTRFS. Geh nicht dorthin. Obwohl mehrere Distributionen BTRFS anbieten oder sogar standardmäßig verwenden, war es beim letzten Test nicht stabil (H2 2012). Sie möchten kein Dateisystem verwenden, das sich unter Stress nicht bewährt hat. Zu viele Fehler werden behoben.

Linux bietet eine Fülle von Dateisystemen, aber die oben genannten sind die häufigsten.

Natürlich gibt es FAT32 (vfat), geh nicht dorthin. Es ist alt, leidet unter Fragmentierung und erlaubt keine Eigentums- und Dateiberechtigungen.

NTFS ist eine geschlossene Quelle, denken Sie nicht einmal darüber nach. Ja, es funktioniert irgendwie unter Linux, aber die Implementierung basiert vollständig auf Reverse Engineering (da Microsoft keine technischen Details veröffentlicht) und die Linux-Implementierung ist einfach nicht zuverlässig.

Ein JFFS2 muss vollständig auf einem Mount gescannt werden, damit die Mount-Zeit linear mit der Gerätegröße zunimmt. Dies wird durch die Tatsache verursacht, dass es keine Baumstruktur zum Speichern von Dateien gibt.

Jippie
quelle
4

Dies scheint ein eMMC-Teil zu sein (beachten Sie das kleine "e" vorne). Grundsätzlich bedeutet dies, dass es sich um eine "lötbare SD-Karte" handelt. Vielleicht möchten Sie es mit einer SD-Karte und nicht mit einem NAND-Flash vergleichen. Darüber hinaus bedeutet dies, dass es zusätzliche Logik wie Verschleißlogik und eine MMC-Schnittstelle und NICHT eine NAND-Flash-Schnittstelle hat.

Da die Karte bereits Wear-Logic enthält, spielt das eigentliche Dateisystem keine Rolle. Es geht eher darum, Ihre Partition vorzubereiten (z. B. schreibgeschützte Partitionen).

Wenn Sie Dateisysteme wirklich evaluieren möchten, sollte Folgendes in Ordnung sein (keine bestimmte Reihenfolge): F2FS, BTRFS, EXT4.

Beachten Sie auch, dass der Bootloader oder ähnliches abhängig von Ihrem Controller an einer bestimmten Position außerhalb jedes Dateisystems platziert wird.

Tom L.
quelle
1
Hatte noch nie von F2FS gehört, werde es überprüfen. Ich habe EXT4 schon einmal auf einer SD-Karte getestet, schien gut zu funktionieren, aber die Leute scheinen besorgt zu sein, dass das Journal eine Reihe zusätzlicher Schreibvorgänge erstellt. Ich könnte eine weitere Frage bezüglich des besten zu verwendenden Partitionierungslayouts stellen.
SeanLabs
1
In Bezug auf das Journaling: Ja, aber da der Verschleiß bereits vom Controller ausgeglichen wird, würde ich dies als ein sehr kleines Problem betrachten.
Tom L.