La maggior parte dei file system in uso oggigiorno è stata pensata per i dischi con piatti rotanti, praticamente gli unici utilizzati fino a pochi anni fa. La diffusione delle memorie NAND flash e l’adozione massiccia di queste per i dispositivi mobile ha portato al nascere di nuovi file system che meglio rispecchino le caratteristiche delle memorie flash.

Samsung ha creato un file system chiamato F2FS pensato appositamente per le memorie di smartphone e tablet e l’ha donato alla comunità Linux. Samsung non è nuova ad iniziative di questo genere, visto che già in passato aveva creato il file system RFS, adottato sul Galaxy S, ma i risultati erano stati poveri. F2FS sta per Flash-friendly File System e deriva da LFS (Log-structured File System), ma migliora quest’ultimo eliminandone molte limitazioni.

Questa è la descrizione che ne dà Samsung nella mailing list del kernel:

“[F2FS is] a new file system carefully designed for the NAND flash memory-based storage devices. We chose a log structure file system approach, but we tried to adapt it to the new form of storage. Also we remedy some known issues of the very old log structured file system, such as snowball effect of wandering tree and high cleaning overhead. Because a NAND-based storage device shows different characteristics according to its internal geometry or flash memory management scheme aka FTL, we add various parameters not only for configuring on-disk layout, but also for selecting allocation and cleaning algorithms.”

“[F2FS è] un nuovo file system progettato con grande attenzione ai dispositivi con storage basato su memoria NAND flash. Abbiamo scelto un approccio di tipo log structured file system, ma abbiamo cercato di adattarlo a nuove forme di storage. Poniamo anche rimedio ad alcune problematiche conosciute del vecchissimo log structured file system, come l’effetto snowball del wandering tree e un grande overhead sulla pulizia. Poichè un dispositivo di storage basato su NAND mostra differenti caratteristiche secondo la sua geometria interna o scherma di gestione della memoria flash (noto anche come FTL), abbiamo aggiunto vari parametri non solo per configurare il layout on-disk, ma anche per selezionare gli algoritmi di allocazione e pulizia.”

Al momento attuale, F2FS altro non è che un insieme di 16 patch al kernel Linux, per un totale di circa 13’000 righe di codice. Il fatto che Samsung abbia deciso di condividere questo file system con tutto il mondo Linux invece che tenerlo in casa è molto positivo, poichè permette l’adozione da parte di tutti di tale file system ed anche un miglioramento condiviso e proveniente da tutti. Ci vorrà ancora del tempo prima che venga adottato dagli OEM, ma questo pare un importante passo avanti in ogni caso.

Grazie a FUSE e MTP non ci sarà poi bisogno di driver o di software terzi con Windows. Insomma, la situazione è un vantaggio per tutti. Grazie Samsung!

Via