Embedded Flash File Systems
File systems and flash storage are an important part of many embedded systems. A seemless integration of the file system and the flash storage is essential. A wide portfolio of storage solutions is available including SD, MMC, SDHC as well as SDXC Cards, eMMC, NAND, NOR, disk drives, Compact Flash, RAM, pen drives and most common types of external storage. Off-the-shelf drivers are available for flash from manufacturers including Adesto, Atmel, Greenliant, Intel, Micron, Toshiba, Hynix, Samsung, Spansion, Numonyx, Macronix, Winbond and many others. A huge variety of flash parts is supported as well as numerous specialty devices including Solid State Drives (SSD), MLC flash and ClearNAND. All file systems conform to a standard API and are fully interchangeable.
- FAT: High performance 12/16/32 FAT file system
FAT file system optimized for high-performance with FAT12/16/32-compliant media. Extensive support for external media, including SD/MMC and compact flash cards, or any device arranged as an array of logical sectors is available.
- THIN: File system for resource-limited applications
FAT file system for MCUs with limited resources. THIN is compatible with media such as SD/MMC and compact flash cards. The code has been designed to provide a balance of speed against memory. This permits a full file system to be run on microcontrollers with limited resources.
- SuperTHIN: File system for very resource-limited applications
This FAT file system has smaller code size and even lower RAM requirements than the THIN file system.
- SafeFAT: Fail-safe FAT file system
Robust fail-safe FAT file system that provides the same features as a standard FAT file system. It implements a system of journaling/transaction operations that provides the strongest possible assurance that the system can recover coherently from unexpected events such as reset or power loss.
- SafeFLASH: Failsafe file system
SafeFLASH circumvents the deficiencies of a FAT file system. Execution of file operations and the use of flash is significantly more efficient than with a FAT-compliant file system. It can be used with all NOR and NAND flash or any media that can simulate a block-structured array. SafeFLASH supports dynamic and static wear leveling and provides a highly efficient solution for products in which data integrity is critical.
- TINYSafeFlash: Fail-safe file system for fimited resources
A full-featured, fail-safe flash file system for use in resource-constrained applications. TINYSafeFlash is designed for use with NOR Flash with erasable sectors <4kB. Typical devices include DataFlash AT45, MSP430 internal flash, and many well-known serial flash devices.
- Smart-Meter File System (SMFS)
HCC's Smart-meter File System is designed for smart-energy and smart-meter applications. Instead of using a traditional file system, its use of a structured database reduces the required number of write/erase cycles massively. File systems do not have built-in cyclic buffer logic for storing records and this adds complexity, significantly increasing the number of times flash must be accessed. SMFS improves the performance in almost every way: speed, power consumption, and flash life.
For full details on HCC's file systems, see File Systems.pdf