Nei giorni scorsi sono arrivati parecchi aggiornamenti nel ramo di sviluppo di Linux 5.19, ovvero il prossimo major update del progetto. Per fare un esempio concreto vi abbiamo illustrato novità di rilievo come le patch riguardanti il TDX Enablement Positioned, oppure abbiamo approfondito le innovazioni implementante nel networking subsystem, ovvero quella parte del kernel che gestisce l'interfaccia di rete e la connessione ad internet. Quest'oggi invece ci focalizzeremo sugli upgrade riguardanti il supporto a F2F2 (Flash-Friendly File-System).
F2F2 è è un file system per memorie flash inizialmente sviluppato dal team di coder Samsung appositamente per il kernel Linux. Gli sviluppatori della casa sud coreana infatti lo realizzarono per implementarlo all'interno dei propri dispositivi Android, un sistema operativo basato appunto su Linux.
F2F2 è stato progettato con grande attenzione ai dispositivi dotati di storage basato su memoria NAND flash. I programmatori Samsung hanno adottato un approccio di sviluppo di tipo log structured, adattandolo alle nuove forme di memorie di massa in commercio. Quindi ad esempio furono risolte svariate problematiche come l'effetto snowball del wandering tree oppure il grande overhead sulla pulizia. Oltretutto vennero anche aggiunti nuovi setting non solo per eseguire la congiurazione del layout on-disk, ma anche per impostare degli algoritmi di allocazione e pulizia ottimali.
In buona sostanza F2F2 è un file system progettato appositamente per le memorie NAND flash, ovvero quelle communente utilizzate negli: SSD (Solid State Drive), SD (Secure Digital) oppure sulle eMMC/MMC (embedded Multi Media Card). Di recente il developer Jaegeuk Kim ha caricato varie patch nel ramo di sviluppo del kernel Linux che introducono diverse migliorie al supporto per F2F2. È stato infatti eseguito un refactoring del codice inerente al supporto all'atomic write ed è stata migliorata la gestione del garbage collection.
Tali update riceveranno presto il merge su Linux 5.19 e consentiranno un discreto aumento delle prestazioni con tale file system.