Samsung codesmith Jaegeuk Kim has submitted a new "flash-friendly" file system to the Linux Kernel tree. The new file system, coined F2FS (flash-friendly file system), is actually open source and is the embodiment of Samsung's efforts to develop a file system attuned to the sensibilities of modern flash storage.

The most prolific and "universal" file systems (i.e. FAT16, FAT32) are also archaic ones, predating today's enormously spacious, rewritable flash devices. In fact, most file systems aren't perfectly suited for flash media, although many have been trying. Some alternatives are encumbered by potential patent time-bombs or royalties (e.g. exFAT), so F2FS may be Samsung's attempt at giving industry players a free (and safe) way to navigate the field. 

By the way, don't be surprised if F2FS finds its way onto Android handsets – a potential benefit of submitting the file system to the Linux kernel tree.

F2FS is a log-based file system which aims to remedy several issues found with current offerings. The documentation gives a solid explanation: 

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.


It's worth mentioning that open source does not necessarily equal patent-free. Despite reading through various analyses of Kim's submission, I have not seen anyone else's opinion as to how unfettered F2FS really is. It does appear that f2fs tools though – the software which gives users and Linux the ability to manipulate and utilize F2FS – is licensed under GNU GPLv2. This may indicate Samsung is in a giving mood, as the GPLv2 ensures all included patents must be licensed for everyone's free use or not licensed at all.

For Linux users interested in checking out Samsung's latest kernel contribution, f2fs tools can be downloaded here