Embedded NAND Flash and NOR Flash File Systems
Using NAND and NOR flash is not a trivial issue and there are many complex issues to consider. HCC has a range of file system solutions designed specifically for flash media to ensure optimal efficiency both on the host MCU and the target flash device.
SafeFLASH was designed to circumvent the deficiencies of using a FAT file system with an embedded system. Execution of file operations and the use of flash is significantly more efficient than with a FAT-compliant file system. It is highly optimized for using integrated flash up to around 1GB. 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. It is provided with the specification required to make it completely fail-safe and reliable.
TINY: Fail-safe for Limited Resource File System.
A full-featured, fail-safe flash file system for use in resource-constrained applications. TINY 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. TINY eliminates many fragmentation and flash management problems and results in a compact and reliable file system that provides a full set of features, even on a low-cost controller.
SafeFTL Flash Translation Layer (FTL)
The SafeFTL advanced fail-safe Flash Translation Layer (FTL) presents a logical, sector-based interface to any application or file system using NAND, NOR or SSD devices. SafeFTL manages the underlying complexity of flash-based media devices and can be used in conjunction with any of HCC’s FAT file systems.
Fail-safety & Reliability
Many file systems make claims about reliability and fail-safety that do not stand the test of close inspection. A file system in itself cannot provide reliable operation. In order for a file system to be truly fail-safe in the event of power loss or unexpected reset, the required behavior of each layer in the system must be defined. HCC defines all required behaviors and can guarantee fail-safe operation by design.