User Tools

Site Tools


Sidebar

F2FS

—————————————-

Current Versions

  • F2FS: v4.10-rc1
  • F2FS-tools: v1.8.0
  • F2FS-backports: v4.10-rc1

—————————————-

Quick Links

—————————————-

start

This is an old revision of the document!


Table of Contents

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 it adapted to newer forms of storage. Jaegeuk Kim, the principal F2FS author, has stated that it remedies some known issues 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.

Features

  • Multi-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[3]
  • Online fs defragmentation/file defragmentation[4]
  • Inline xattrs[5]/data[6]/dir[7]
  • Offline filesystem check (Check and fix inconsistency[8])
  • Atomic operations[9]
  • Filesystem-level encryption[10]
  • Offline resizing[11]
  • Inner periodically data flush[12]
  • Extent cache[13]

TODO list

start.1469568220.txt.gz · Last modified: 2016/07/26 21:23 by Jaegeuk Kim