fbpx
Wikipedia

F2FS

F2FS (Flash-Friendly File System) is a flash file system initially developed by Samsung Electronics for the Linux kernel.[5]

F2FS
Developer(s)Samsung Electronics, Motorola Mobility, Huawei and Google
Full nameFlash-Friendly File System
Introducedv3.8, 2012-12-20[1] with Linux
Structures
Directory contentsmulti-level hash table
File allocationbitmap (free space), table
BootableYes, starting from GRUB 2.04 (2019-07-05)
Limits
Max volume size16 TB
Max file size3.94 TB
Max no. of filesDepends on volume size
Max filename length255 bytes[2]
Features
Dates recordedmodification (mtime), attribute modification (ctime), access (atime)
Date resolution1 ns
AttributesPOSIX, 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
Websitef2fs.wiki.kernel.org

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]

Features edit

Design edit

On-disk layout edit

F2FS divides the whole volume into a number of segments, each of which is fixed at 2 MB. A section is composed of consecutive segments, and a zone consists of a set of sections. By default, section and zone sizes are set to the same size, but users can easily modify the size with mkfs.

F2FS splits the entire volume into six areas, and all except the superblock area consist of multiple segments as described below.

Superblock (SB)
The SB is located at the beginning of the partition. There are two copies to avoid file-system corruption. It contains basic partition information and some default F2FS parameters.
Checkpoint (CP)
The CP contains file system information, bitmaps for valid NAT/SIT sets, orphan inode lists, and summary entries of current active segments.
Segment Information Table (SIT)
The SIT contains the valid block count and validity bitmap of all the Main Area blocks.
Node Address Table (NAT)
The NAT is an address table for the Main Area node blocks.
Segment Summary Area (SSA)
The SSA contains entries which contain the owner information of the Main Area data and node blocks.
Main Area
The main area contains file and directory data and their indices.

In order to avoid misalignment between file system and flash storage, F2FS aligns the start block address of the CP with the segment size. It also aligns the Main Area start block address with the zone size by reserving some segments in the SSA area.

Metadata structure edit

F2FS uses the checkpoint scheme to maintain file system integrity. At mount time, F2FS first tries to find the last valid checkpoint data by scanning the CP area. In order to reduce the scanning time, F2FS uses only two copies of the CP. One of them always indicates the last valid data, which is called a shadow copy mechanism. In addition to the CP, the NAT and SIT also use the shadow copy mechanism. For file system consistency, each CP points to which NAT and SIT copies are valid.

Index structure edit

The key data structure is the "node". Similar to traditional file structures, F2FS has three types of nodes: inode, direct node, indirect node. F2FS assigns 4 KB to an inode block which contains 923 data block indices, two direct node pointers, two indirect node pointers, and one double indirect node pointer as described below. A direct node block contains 1018 data block indices, and an indirect node block contains 1018 node block indices. Thus, one inode block (i.e., a file) covers:

4 KiB × (923 + 2×1018 + 2×10182 + 10183) = 4,228,213,756 KiB = 4,129,114.996 MiB = 4,032.338863 GiB = 3.937830921 TiB 

Note that all the node blocks are mapped by the NAT, which means that the location of each node is translated by the NAT. To mitigate the wandering tree problem, F2FS is able to cut off the propagation of node updates caused by leaf data writes.

Directory structure edit

A directory entry (dentry) occupies 11 bytes, which consists of the following attributes.

A directory entry structure
hash Hash value of the file name
ino Inode number
len The length of file name
type File type such as directory, symlink, etc.

A dentry block consists of 214 dentry slots and file names. A bitmap is used to represent whether each dentry is valid or not. A dentry block occupies 4 KB and has the following composition:

Dentry Block (4 K) = bitmap (27 bytes) + reserved (3 bytes) +   dentries (11 * 214 bytes) + file name (8 * 214 bytes) 

F2FS implements multi-level hash tables for the directory structure. Each level has a hash table with a dedicated number of hash buckets as shown below. Note that "A(2B)" means a bucket includes 2 data blocks.

Term
A indicates bucket
B indicates block
N indicates MAX_DIR_HASH_DEPTH
level #0 A(2B) level #1 A(2B) - A(2B) level #2 A(2B) - A(2B) - A(2B) - A(2B) ... level #N/2 A(2B) - A(2B) - A(2B) - A(2B) - A(2B) - ... - A(2B) ... level #N A(4B) - A(4B) - A(4B) - A(4B) - A(4B) - ... - A(4B) 

When F2FS finds a file name in a directory, first a hash value of the file name is calculated. Then, F2FS scans the hash table in level #0 to find the dentry consisting of the file name and its inode number. If not found, F2FS scans the next hash table in level #1. In this way, F2FS scans hash tables in each level incrementally from 1 to N. In each level F2FS needs to scan only one bucket determined by the following equation, which shows O(log(# of files)) complexity.

 bucket number to scan in level #n = (hash value) % (# of buckets in level #n) 

In the case of file creation, F2FS finds empty consecutive slots that cover the file name. F2FS searches the empty slots in the hash tables of whole levels from 1 to N in the same way as the lookup operation.

Default block allocation edit

At runtime, F2FS manages six active logs inside the "Main Area:" Hot/Warm/Cold node and Hot/Warm/Cold data.

Block allocation policy
Hot node Contains direct node blocks of directories.
Warm node Contains direct node blocks except hot node blocks.
Cold node Contains indirect node blocks.
Hot data Contains dentry blocks.
Warm data Contains data blocks except hot and cold data blocks.
Cold data Contains multimedia data or migrated data blocks.

LFS has two schemes for free space management: threaded log and copy-and-compaction. The copy-and-compaction scheme which is known as cleaning, is well-suited for devices showing very good sequential write performance, since free segments are served all the time for writing new data. However, it suffers from cleaning overhead during high utilization. Conversely, the threaded log scheme suffers from random writes, but no cleaning process is needed. F2FS adopts a hybrid scheme where the copy-and-compaction scheme is adopted by default, but the policy is dynamically changed to the threaded log scheme according to the file system status.

In order to align F2FS with underlying flash-based storage, F2FS allocates a segment in a unit of a section. F2FS expects the section size to be the same as the garbage collection unit size in FTL. With respect to the mapping granularity in FTL, F2FS allocates each section of the active logs to as many different zones as possible. FTL can write the active log data into one allocation unit according to its mapping granularity.

Cleaning process edit

F2FS does cleaning both on demand, and in the background. On-demand cleaning is triggered when there are not enough free segments to serve VFS calls. The background cleaner is executed by a kernel thread, and triggers the cleaning job when the system is idle.

F2FS supports two victim selection policies: greedy, and cost-benefit algorithms. In the greedy algorithm, F2FS selects a victim segment having the smallest number of valid blocks. In the cost-benefit algorithm, F2FS selects a victim segment according to the segment age and the number of valid blocks in order to address the log block thrashing problem present in the greedy algorithm. F2FS uses the greedy algorithm for on-demand cleaning, the background cleaner uses the cost-benefit algorithm.

In order to identify whether the data in the victim segment are valid or not, F2FS manages a bitmap. Each bit represents the validity of a block, and the bitmap is composed of a bit stream covering whole blocks in the Main Area.

Adoption edit

Phone manufacturers edit

Google first used F2FS in their Nexus 9 in 2014. [18] However Google's other products didn't adopt F2FS until the Pixel 3 when F2FS was updated with inline crypto hardware support. [19]

Huawei has used F2FS since the Huawei P9 in 2016. [20] [21] OnePlus has used F2FS in the OnePlus 3T.[22]

Motorola Mobility has used F2FS in their Moto G/E/X and Droid phones since 2012.

ZTE has used F2FS since the ZTE Axon 10 Pro in 2019. [23]

Linux distributions edit

F2FS has been merged into Linux kernel in late 2012. [24] Many distributions support it. [25] [26] [27]

See also edit

References edit

  1. ^ Michael Larabel (2012-12-22). "F2FS File-System Merged Into Linux 3.8 Kernel". Phoronix. Retrieved 2016-05-25.
  2. ^ Jaegeuk Kim (2013-03-18). "f2fs: align f2fs maximum name length to linux based filesystem". GitHub. Retrieved 2023-05-16.
  3. ^ a b Michael Larabel (2019-12-23). "F2FS Data Compression Using LZO/LZ4 + Selective File Extension Handling To Land In 2020". Phoronix. Retrieved 2020-04-07.
  4. ^ a b Michael Larabel (2020-04-07). "F2FS Introduces Zstd Compression Support With The Linux 5.7 Kernel". Phoronix. Retrieved 2020-04-07.
  5. ^ a b Jaegeuk Kim (2012-10-05). "f2fs: introduce flash-friendly file system". Retrieved 2016-05-25.
  6. ^ f2fs: fix to force keeping write barrier for strict fsync mode.
  7. ^ Jaegeuk Kim (2014-09-22). "f2fs: introduce FITRIM in f2fs_ioctl".
  8. ^ Chao Yu (2015-10-26). "f2fs: support file defragment".
  9. ^ Jaegeuk Kim (2013-08-26). "f2fs: add flags for inline xattrs".
  10. ^ Huajun Li (2013-11-10). "f2fs: Enable f2fs support inline data".
  11. ^ Chao Yu (2014-09-24). "f2fs: support inline dir".
  12. ^ Jaegeuk Kim (2014-09-20). "f2fs-tools: release 1.4.0".
  13. ^ Jaegeuk Kim (2014-09-25). "f2fs: support atomic_write feature for database".
  14. ^ Jaegeuk Kim (2015-06-24). "f2fs updates for v4.2".
  15. ^ Jaegeuk Kim (2016-04-25). "resize.f2fs: support to expand partition size".
  16. ^ Chao Yu (2015-12-17). "f2fs: support data flush in background".
  17. ^ Chao Yu (2015-01-25). "f2fs: enable rb-tree extent cache".
  18. ^ Smith, Joshua Ho, Ryan. "The Google Nexus 9 Review". www.anandtech.com. Retrieved 2019-05-10.{{cite web}}: CS1 maint: multiple names: authors list (link)
  19. ^ Frumusanu, Andrei (2018-11-02). "The Google Pixel 3 Review". www.anandtech.com. Retrieved 2019-05-11.
  20. ^ Larabel, Michael (2018-12-28). "F2FS Gets More Fixes In Linux 4.21 With The File-System Now Supported By Google's Pixel". www.phoronix.com. Retrieved 2019-05-10.
  21. ^ Humrick, Matt (2017-05-12). "Huawei P10 and P10 Plus". www.anandtech.com. Retrieved 2019-05-11.
  22. ^ Chester, Brandon. "The OnePlus 3T Review". www.anandtech.com. Retrieved 2019-05-10.
  23. ^ "ZTE Axon 10 Pro Officially Uncovered: The First To Use F2FS". Gizchina.com. 2019-05-06. Retrieved 2019-05-10.
  24. ^ "Pull new F2FS filesystem from Jaegeuk Kim commit". git.kernel.org.
  25. ^ "Arch Linux Wiki". wiki.archlinux.org. Retrieved 27 June 2021.
  26. ^ "Debian Wiki". wiki.debian.org. Retrieved 27 June 2021.
  27. ^ "Gentoo Wiki". wiki.gentoo.org. Retrieved 27 June 2021.

External links edit

  • FAST '15 - F2FS: A New File System for Flash Storage (2015-02-17)
  • WHAT IS Flash-Friendly File System (F2FS) documentation for Linux
  • Flash Friendly File System (F2FS), Embedded Linux Conference (2013-02-22)
  • LWN.net: An f2fs teardown (2012-10-10)
  • eMMC/SSDFile SystemTuningMethodology (2013-05-24)


f2fs, this, article, relies, excessively, references, primary, sources, please, improve, this, article, adding, secondary, tertiary, sources, find, sources, news, newspapers, books, scholar, jstor, 2017, learn, when, remove, this, message, flash, friendly, fil. This article relies excessively on references to primary sources Please improve this article by adding secondary or tertiary sources Find sources F2FS news newspapers books scholar JSTOR May 2017 Learn how and when to remove this message F2FS Flash Friendly File System is a flash file system initially developed by Samsung Electronics for the Linux kernel 5 F2FSDeveloper s Samsung Electronics Motorola Mobility Huawei and GoogleFull nameFlash Friendly File SystemIntroducedv3 8 2012 12 20 1 with LinuxStructuresDirectory contentsmulti level hash tableFile allocationbitmap free space tableBootableYes starting from GRUB 2 04 2019 07 05 LimitsMax volume size16 TBMax file size3 94 TBMax no of filesDepends on volume sizeMax filename length255 bytes 2 FeaturesDates recordedmodification mtime attribute modification ctime access atime Date resolution1 nsAttributesPOSIX extended attributesFile systempermissionsPOSIX ACLTransparentcompressionLZO LZ4 since Linux 5 6 3 zstd since Linux 5 7 4 TransparentencryptionYesOtherSupportedoperating systemsLinux and AndroidWebsitef2fs wbr wiki wbr kernel wbr org 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 Contents 1 Features 2 Design 2 1 On disk layout 2 2 Metadata structure 2 3 Index structure 2 4 Directory structure 2 5 Default block allocation 2 6 Cleaning process 3 Adoption 3 1 Phone manufacturers 3 2 Linux distributions 4 See also 5 References 6 External linksFeatures editMulti head logging Multi level hash table for directory entries Static dynamic hot and cold data separation Adaptive logging scheme Configurable operational units Dual checkpoint Roll back and roll forward recovery Heap style block allocation TRIM FITRIM support 7 Online fs defragmentation file defragmentation 8 Inline xattrs 9 data 10 dir 11 Offline filesystem check Check and fix inconsistency 12 Atomic operations 13 Filesystem level encryption 14 Offline resizing shrinking not supported 15 Inner periodically data flush 16 Extent cache 17 Transparent file compression using LZO or LZ4 with Linux 5 6 3 or zstd with Linux 5 7 4 Design editThis section needs additional citations for verification Please help improve this article by adding citations to reliable sources in this section Unsourced material may be challenged and removed May 2016 Learn how and when to remove this message On disk layout edit F2FS divides the whole volume into a number of segments each of which is fixed at 2 MB A section is composed of consecutive segments and a zone consists of a set of sections By default section and zone sizes are set to the same size but users can easily modify the size with mkfs F2FS splits the entire volume into six areas and all except the superblock area consist of multiple segments as described below Superblock SB The SB is located at the beginning of the partition There are two copies to avoid file system corruption It contains basic partition information and some default F2FS parameters Checkpoint CP The CP contains file system information bitmaps for valid NAT SIT sets orphan inode lists and summary entries of current active segments Segment Information Table SIT The SIT contains the valid block count and validity bitmap of all the Main Area blocks Node Address Table NAT The NAT is an address table for the Main Area node blocks Segment Summary Area SSA The SSA contains entries which contain the owner information of the Main Area data and node blocks Main Area The main area contains file and directory data and their indices In order to avoid misalignment between file system and flash storage F2FS aligns the start block address of the CP with the segment size It also aligns the Main Area start block address with the zone size by reserving some segments in the SSA area Metadata structure edit F2FS uses the checkpoint scheme to maintain file system integrity At mount time F2FS first tries to find the last valid checkpoint data by scanning the CP area In order to reduce the scanning time F2FS uses only two copies of the CP One of them always indicates the last valid data which is called a shadow copy mechanism In addition to the CP the NAT and SIT also use the shadow copy mechanism For file system consistency each CP points to which NAT and SIT copies are valid Index structure edit The key data structure is the node Similar to traditional file structures F2FS has three types of nodes inode direct node indirect node F2FS assigns 4 KB to an inode block which contains 923 data block indices two direct node pointers two indirect node pointers and one double indirect node pointer as described below A direct node block contains 1018 data block indices and an indirect node block contains 1018 node block indices Thus one inode block i e a file covers 4 KiB 923 2 1018 2 10182 10183 4 228 213 756 KiB 4 129 114 996 MiB 4 032 338863 GiB 3 937830921 TiB Note that all the node blocks are mapped by the NAT which means that the location of each node is translated by the NAT To mitigate the wandering tree problem F2FS is able to cut off the propagation of node updates caused by leaf data writes Directory structure edit A directory entry dentry occupies 11 bytes which consists of the following attributes A directory entry structure hash Hash value of the file name ino Inode number len The length of file name type File type such as directory symlink etc A dentry block consists of 214 dentry slots and file names A bitmap is used to represent whether each dentry is valid or not A dentry block occupies 4 KB and has the following composition Dentry Block 4 K bitmap 27 bytes reserved 3 bytes dentries 11 214 bytes file name 8 214 bytes F2FS implements multi level hash tables for the directory structure Each level has a hash table with a dedicated number of hash buckets as shown below Note that A 2B means a bucket includes 2 data blocks Term A indicates bucket B indicates block N indicates MAX DIR HASH DEPTH level 0 A 2B level 1 A 2B A 2B level 2 A 2B A 2B A 2B A 2B level N 2 A 2B A 2B A 2B A 2B A 2B A 2B level N A 4B A 4B A 4B A 4B A 4B A 4B When F2FS finds a file name in a directory first a hash value of the file name is calculated Then F2FS scans the hash table in level 0 to find the dentry consisting of the file name and its inode number If not found F2FS scans the next hash table in level 1 In this way F2FS scans hash tables in each level incrementally from 1 to N In each level F2FS needs to scan only one bucket determined by the following equation which shows O log of files complexity bucket number to scan in level n hash value of buckets in level n In the case of file creation F2FS finds empty consecutive slots that cover the file name F2FS searches the empty slots in the hash tables of whole levels from 1 to N in the same way as the lookup operation Default block allocation edit At runtime F2FS manages six active logs inside the Main Area Hot Warm Cold node and Hot Warm Cold data Block allocation policy Hot node Contains direct node blocks of directories Warm node Contains direct node blocks except hot node blocks Cold node Contains indirect node blocks Hot data Contains dentry blocks Warm data Contains data blocks except hot and cold data blocks Cold data Contains multimedia data or migrated data blocks LFS has two schemes for free space management threaded log and copy and compaction The copy and compaction scheme which is known as cleaning is well suited for devices showing very good sequential write performance since free segments are served all the time for writing new data However it suffers from cleaning overhead during high utilization Conversely the threaded log scheme suffers from random writes but no cleaning process is needed F2FS adopts a hybrid scheme where the copy and compaction scheme is adopted by default but the policy is dynamically changed to the threaded log scheme according to the file system status In order to align F2FS with underlying flash based storage F2FS allocates a segment in a unit of a section F2FS expects the section size to be the same as the garbage collection unit size in FTL With respect to the mapping granularity in FTL F2FS allocates each section of the active logs to as many different zones as possible FTL can write the active log data into one allocation unit according to its mapping granularity Cleaning process edit F2FS does cleaning both on demand and in the background On demand cleaning is triggered when there are not enough free segments to serve VFS calls The background cleaner is executed by a kernel thread and triggers the cleaning job when the system is idle F2FS supports two victim selection policies greedy and cost benefit algorithms In the greedy algorithm F2FS selects a victim segment having the smallest number of valid blocks In the cost benefit algorithm F2FS selects a victim segment according to the segment age and the number of valid blocks in order to address the log block thrashing problem present in the greedy algorithm F2FS uses the greedy algorithm for on demand cleaning the background cleaner uses the cost benefit algorithm In order to identify whether the data in the victim segment are valid or not F2FS manages a bitmap Each bit represents the validity of a block and the bitmap is composed of a bit stream covering whole blocks in the Main Area Adoption editPhone manufacturers edit Google first used F2FS in their Nexus 9 in 2014 18 However Google s other products didn t adopt F2FS until the Pixel 3 when F2FS was updated with inline crypto hardware support 19 Huawei has used F2FS since the Huawei P9 in 2016 20 21 OnePlus has used F2FS in the OnePlus 3T 22 Motorola Mobility has used F2FS in their Moto G E X and Droid phones since 2012 ZTE has used F2FS since the ZTE Axon 10 Pro in 2019 23 Linux distributions edit F2FS has been merged into Linux kernel in late 2012 24 Many distributions support it 25 26 27 See also editComparison of file systems List of flash file systemsReferences edit Michael Larabel 2012 12 22 F2FS File System Merged Into Linux 3 8 Kernel Phoronix Retrieved 2016 05 25 Jaegeuk Kim 2013 03 18 f2fs align f2fs maximum name length to linux based filesystem GitHub Retrieved 2023 05 16 a b Michael Larabel 2019 12 23 F2FS Data Compression Using LZO LZ4 Selective File Extension Handling To Land In 2020 Phoronix Retrieved 2020 04 07 a b Michael Larabel 2020 04 07 F2FS Introduces Zstd Compression Support With The Linux 5 7 Kernel Phoronix Retrieved 2020 04 07 a b Jaegeuk Kim 2012 10 05 f2fs introduce flash friendly file system Retrieved 2016 05 25 f2fs fix to force keeping write barrier for strict fsync mode Jaegeuk Kim 2014 09 22 f2fs introduce FITRIM in f2fs ioctl Chao Yu 2015 10 26 f2fs support file defragment Jaegeuk Kim 2013 08 26 f2fs add flags for inline xattrs Huajun Li 2013 11 10 f2fs Enable f2fs support inline data Chao Yu 2014 09 24 f2fs support inline dir Jaegeuk Kim 2014 09 20 f2fs tools release 1 4 0 Jaegeuk Kim 2014 09 25 f2fs support atomic write feature for database Jaegeuk Kim 2015 06 24 f2fs updates for v4 2 Jaegeuk Kim 2016 04 25 resize f2fs support to expand partition size Chao Yu 2015 12 17 f2fs support data flush in background Chao Yu 2015 01 25 f2fs enable rb tree extent cache Smith Joshua Ho Ryan The Google Nexus 9 Review www anandtech com Retrieved 2019 05 10 a href Template Cite web html title Template Cite web cite web a CS1 maint multiple names authors list link Frumusanu Andrei 2018 11 02 The Google Pixel 3 Review www anandtech com Retrieved 2019 05 11 Larabel Michael 2018 12 28 F2FS Gets More Fixes In Linux 4 21 With The File System Now Supported By Google s Pixel www phoronix com Retrieved 2019 05 10 Humrick Matt 2017 05 12 Huawei P10 and P10 Plus www anandtech com Retrieved 2019 05 11 Chester Brandon The OnePlus 3T Review www anandtech com Retrieved 2019 05 10 ZTE Axon 10 Pro Officially Uncovered The First To Use F2FS Gizchina com 2019 05 06 Retrieved 2019 05 10 Pull new F2FS filesystem from Jaegeuk Kim commit git kernel org Arch Linux Wiki wiki archlinux org Retrieved 27 June 2021 Debian Wiki wiki debian org Retrieved 27 June 2021 Gentoo Wiki wiki gentoo org Retrieved 27 June 2021 External links editFAST 15 F2FS A New File System for Flash Storage 2015 02 17 WHAT IS Flash Friendly File System F2FS documentation for Linux Flash Friendly File System F2FS Embedded Linux Conference 2013 02 22 LWN net An f2fs teardown 2012 10 10 eMMC SSDFile SystemTuningMethodology 2013 05 24 Retrieved from https en wikipedia org w index php title F2FS amp oldid 1205503461, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.