F2FS
Flash memory file system / From Wikipedia, the free encyclopedia
Dear Wikiwand AI, let's keep it short by simply answering these key questions:
Can you list the top facts and stats about F2FS?
Summarize this article for a 10 year old
F2FS (Flash-Friendly File System) is a flash file system initially developed by Samsung Electronics for the Linux kernel.[5]
Developer(s) | Samsung Electronics, Motorola Mobility, Huawei and Google |
---|---|
Full name | Flash-Friendly File System |
Introduced | v3.8, 2012-12-20[1] with Linux |
Structures | |
Directory contents | multi-level hash table |
File allocation | bitmap (free space), table |
Bootable | Yes, starting from GRUB 2.04 (2019-07-05) |
Limits | |
Max volume size | 16 TB |
Max file size | 3.94 TB |
Max no. of files | Depends on volume size |
Max filename length | 255 bytes[2] |
Features | |
Dates recorded | modification (mtime), attribute modification (ctime), access (atime) |
Date resolution | 1 ns |
Attributes | POSIX, extended attributes |
File system permissions | POSIX, ACL |
Transparent compression | LZO, LZ4 (since Linux 5.6),[3] zstd (since Linux 5.7)[4] |
Transparent encryption | Yes |
Other | |
Supported operating systems | Linux and Android |
Website | f2fs |
The motive for F2FS was to build a file system that, from the start, takes into account the characteristics of NAND flash memory-based storage devices (such as solid-state disks, eMMC, and SD cards), which are widely used in computer systems ranging from mobile devices to servers.
F2FS was designed on a basis of a log-structured file system approach, which is adapted to newer forms of storage. Jaegeuk Kim, the principal F2FS author, has stated that it remedies some known issues[5] of the older log-structured file systems, such as the snowball effect of wandering trees and high cleaning overhead. In addition, since a NAND-based storage device shows different characteristics according to its internal geometry or flash memory management scheme (such as the Flash Translation Layer or FTL), it supports various parameters not only for configuring on-disk layout, but also for selecting allocation and cleaning algorithms.
Note, that by default F2FS uses "posix" fsync scheme, which carries higher risks of leaving the file system in dirty state during unclean shutdown (as it does not guarantee atomicity of write operations) at the benefit of better performance. There is a more stringent method that respects hardware limitations for greater security at the expense of performance; see the "fsync_mode" option in the manual for details.[6]