Arm’s MBED division has announced the release of LittleFS, a file system designed to offer high-integrity storage for embedded devices with minimal RAM and flash usage.
Built into Mbed OS 5.7 as an alternative to the classic File Allocation Table (FAT) file system, LittleFS is designed to reduce resource usage while adding wear-levelling and power-loss resilience functionality. “LittleFS, the high-integrity embedded file system in Mbed OS is optimised to work with a limited amount of RAM and ROM. It avoids recursion, limits dynamic memory to configurable buffers and at no point stores an entire storage block in RAM,” explains Arm’s Jan Jongboom. “By focusing on a small set of multi-purpose data structures, this high-integrity embedded file system uses 13K less ROM than FAT and 4K less RAM.
“We designed this file system for systems that may have random power failures. It has strong copy-on-write guarantees, and storage on disk is always kept in a valid state. Most storage chips that embedded devices use support a limited set of erases per sector. If you do not have a storage controller with support for wear levelling, the longevity of your embedded device could be compromised. The embedded file system provides dynamic wear levelling to spread data across sectors throughout the full size of the flash. This prevents applications from writing the same sectors too often.”
More details on implementing LittleFS can be found on Jan’s blog post.