Flash file-systems

  • 'Standard' file systems are meant to work on block devices
  • Specific file systems have been developed to deal flash constraints
  • These file systems are relying on the MTD layer to access flash chips
  • There are several legacy flash filesystems which might be useful for specific usage: JFFS2, YAFFS2.
  • Nowadays, UBI/UBIFS is the de facto standard for medium to large capacity NANDs (above 128MB)

Legacy flash filesystems: JFFS2

  • Supports on the fly compression
  • Wear leveling, power failure resistant
  • Available in the official Linux kernel
  • Boot time depends on the filesystem size: doesn't scale well for large partitions.
  • http://www.linux-mtd.infradead.org/doc/jffs2.html

Legacy flash filesystems: YAFFS2

  • Mainly supports NAND flash
  • No compression
  • Wear leveling, power failure resistant
  • Fast boot time
  • Not part of the official Linux kernel: code only available separately (Dual GPL / Proprietary license for non Linux operating systems)
  • http://www.yaffs.net/


  • Aimed at replacing JFFS2 by addressing its limitations
  • Design choices:
    • Split the wear leveling and filesystem layers
    • Add some flexibility
    • Focus on scalability, performance and reliability
  • Drawback: introduces noticeable space overhead, especially when used on small devices or partitions.

results matching ""

    No results matching ""