F2FS (Flash-Friendly File System) ist ein 2012 von Jaegeuk Kim bei Samsung entwickeltes Dateisystem, das speziell für NAND-Flash-Speicher wie eMMC, UFS und SD-Karten entworfen wurde. Seit Linux-Kernel 3.8 ist es fester Bestandteil des Kernels und wird auf Milliarden von Android-Geräten eingesetzt.
Warum ein eigenes Dateisystem für Flash?
Flash-Speicher unterscheidet sich grundlegend von Festplatten: Er schreibt am schnellsten sequenziell, nutzt sich durch Schreibzyklen ab und benötigt einen Garbage Collector, der verwaiste Blöcke wieder aufbereitet. F2FS nimmt genau darauf Rücksicht, indem es ein log-strukturiertes Design verwendet: Daten werden größtenteils sequenziell geschrieben, und ein Hintergrund-Garbage Collector räumt alte Blöcke auf, während das Gerät läuft.
Eigenschaften
- Flash-optimierte Allokation: Ausrichtung an den physikalischen Eigenschaften von NAND-Bausteinen reduziert Write Amplification.
- Garbage Collection: automatische Aufbereitung ungültiger Blöcke, teilweise im Hintergrund und mit Prioritätssteuerung.
- Komprimierung und Verschlüsselung: moderne Kernel unterstützen transparente Kompression sowie Datei- und Verzeichnisverschlüsselung.
- Multi-Device-Unterstützung: seit neueren Kerneln können mehrere Geräte zu einem F2FS-Verbund zusammengefasst werden.
Praxis
F2FS lohnt sich vor allem auf Embedded-Systemen, Smartphones und Flash-basierten Single-Board-Computern. Auf klassischen HDDs oder Servern mit schnellen NVMe-Laufwerken bringt es dagegen kaum Vorteile gegenüber ext4 oder XFS.
Verwandte Grundlagen: SSD, Partitionen, Dateisysteme erklärt.