Logic Technology: which Linux flash file system is best for your device?
Raw flash memory, that is, memory that isn’t part of a package (like SD, eMMC, SSD, and the like) requires software to manage it. On Linux, this software is the Memory Technology Device layer, with a flash file system above that to handle wear-leveling, bad block management, and all regular file system duties. There are several options for Linux, but some of them present advantages.
JFFS2 was originally intended for NOR systems, though it has been expanded to work with NAND flash media. As a Linux flash file system, it is still supported (through a forum) but definitely in its twilight years. Its most recent update was part of Linux kernel version 3.14.
YAFFS was originally designed for NAND flash, but has been adapted for NOR. It is typically faster than JFFS2 and uses less RAM, and is also available for non-GPL licensed RTOS, most recently Wind River’s VxWorks. While originally part of the Android platform, this single-threaded solution was seen as a bottleneck. Both raw flash and the file system were replaced as part of the Gingerbread release in 2010.
UBIFS was most recently updated as part of the Linux kernel 4.5 release. While more actively maintained than the other two options, it has a few limitations. One of those is an indication that MLC support “needs work.”
Our most recent release for Linux is FlashFX Tera 3.5. Like YAFFS, our flash management solution is available in multiple environments. Across the breadth of RTOS solutions, FlashFX Tera provides a common interface for device designers. Updated as part of this release is the i.MX6 NAND controller and a new sample project for the Freescale/NXP P1010. Full support for the i.MX6 NAND controller is a stepping stone for our future designs.
Adding Reliance Nitro to FlashFX Tera results in Datalight’s Flash File System solution. Our software is actively maintained and backed up by our award-winning support department. Next to a towel, we consider FlashFX Tera the most massively useful thing an interstellar hitchhiker can have.