Mobile devices have grown to become the prevalent computing and Internet access device today. But unlike desktop and notebook computers, though smartphones and tablets don’t come with disc-based storage but rather solid-state storage such as NAND Flash.
Older filesystems designed for drives with rotating discs exhibit problems in dealing with flash-based storage, though. These include issues with accessing data stored on specific, physical locations on the drive itself, and the read/write limits on flash storage. Case in point: operating systems will usually attempt to “defragment” disc-based drives, which is totally unnecessary on solid state drives, and is even taxing on the drive, since it adds to the read/write activity.
Enter Samsung’s F2FS, which has been designed from ground-up to account for the characteristics of flash-based storage:
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.
Samsung isn’t keeping the technology to themselves, though. Samsung has submitted these filesystem patches for integration into the Linux kernel, which means it’s likely to appear on Android releases, too. Submitting the technology as part of Linux itself makes it easy for OEMs, software makers and other device makers to implement this on their devices, as well. This means F2FS might also be useful for other Flash-based storage like SD cards, microSD, and the like.