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

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/

UBI/UBIFS
- 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.
