/
F2FS:   A File System for Flash Storage F2FS:   A File System for Flash Storage

F2FS: A File System for Flash Storage - PowerPoint Presentation

cadie
cadie . @cadie
Follow
65 views
Uploaded On 2023-11-12

F2FS: A File System for Flash Storage - PPT Presentation

Introduction NAND flash memory is broadly used However NAND flash has the following limitations Erase before write Limited write cycles per erase block NAND flash does not work well with random writes ID: 1031541

data node block index node data index block file address blocks table f2fs directory random main flash design log

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "F2FS: A File System for Flash Storage" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

1. F2FS: A File System for Flash Storage

2. IntroductionNAND flash memory is broadly usedHowever, NAND flash has the following limitationsErase before writeLimited write cycles per erase blockNAND flash does not work well with random writesCan cause internal fragmentations and degrade sustained SSD performanceRandom write patterns are commonFacebook mobile app (150% more random than sequential writes)WebBench (70% more random than sequential writes)Due to the use of SQLite

3. Main F2FS Design PointsBased on LFSUse zone > section > segment unitsAllocate storage in segmentsClean in sectionsAligned with FTL operational units

4. Main F2FS Design PointsUse node address table <node ID, address> to solve the wandering tree problem (see slides 8 & 9)LFS appends data <data> and index block <index block, data address>It’s index map block <index map, index block address> also needs to be updated Instead, index block and index map store data node ID and index block node IDOnly the node address table needs to be updated

5. Main F2FS Design PointsMulti-headed loggingSeparate hot and cold dataRuns multiple log segments concurrentlyAppends data and metadata to separate log segmentsExploits parallelismAdaptive loggingUse append to convert random writes into sequential onesWhen the storage is near full, use threaded loggingFsync acceleration and roll-forward recovery

6. On-Disk LayoutF2FS splits a volume into six areas (see slide 7)SuperblockCheckpointSegment information table (SIT) contains validity bitmapNode address table (NAT) for nodes stored in the main areaSegment summary area (SSA) stores parent inode number and its node/data offsetsMain area stores 4KB blocksA node contains indices of data blocksData block contains directory or file data

7. On-Disk Layout

8. LFS Update

9. F2FS Update with Node Translation Table

10. Directory Structure4KB directory entries Bitmap with <slot, name> pairsSlot contains hash value, inode number, file length, file typeA directory file uses multi-level hash tables

11. Multi-head LoggingMaintains six log areasThree levels of temperaturesHot, warm, and coldTypeTemperatureObjectsNodeHotDirect node blocks for directoriesWarmDirect node blocks for filesColdIndirect node blocksDataHotDirectory entry blocksWarmData blocksColdData blocks moved by cleaningMultimedia file data

12. CleaningForegroundTriggered when not enough spacePicks sections with the fewest valid segmentsMigrate immediatelyBackgroundTriggered periodicallyUses cost-benefit policyAlso considers the age of sectionsLazy migrationMerges segments and leaves them in memory

13. Fsync optimizationWrite data blocks and their direct node blocks onlyExcluding other node or metadata blocksLeverage checkpoints to recover

14. PerformanceCompared to ext43x for iozone2x for SQLite