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.