Adaptive NOR Flash Translation Layer
TargetFTL-NOR™, Blunk Microsystems’ Adaptive Flash Translation Layer for NOR memories, includes the following features:
- Works under TargetFAT™ and TargetXFS™ to implement reliable, re-entrant file systems on NOR flash. Works standalone to provide a block mode driver for third party file systems. Use of NOR flash media for the backing store is invisible to application layer.
- Combined with TargetXFS or TargetFAT, TargetFTL-NOR provides power-fail recovery. File system integrity is guaranteed across unexpected shutdowns. Only data written since the last synchronizing operation (fclose(), fflush(), etc.) can be lost. Closed files, directory structures, and files open for reading are never at risk.
- Supports volumes ranging from KBs to GBs in size by adaptively selecting the mapping algorithm according to the volume size, applying in each case the algorithm that gives the best performance and minimizes the RAM footprint.
- Implements wear-leveling to prolong life of the flash media. Erase cycles are spread evenly across all erasable blocks. The wear count is maintained starting with the first time a flash volume is formatted. The current wear count, and other statistics, are available to applications via the vstat() call.
- “Thin” driver layer for maximum ease in porting to new platforms. Works with all NOR devices. The driver performs only the basic operations that NOR flash devices support: read, program, erase block, etc. The driver is stateless. Sample drivers are provided for several chips and these are easily ported to new devices.
- Supports all NOR devices types: Single Level Cell (SLC), Multi-Level Cell (MLC), SPI, Intel/ST's 90nm 'Sibley' flash, and Spansion's 'Eclipse' flash.
- Allows concurrent use of multiple FTL volumes. A single flash device can support multiple volumes and a single volume can be implemented using multiple flash devices. Volume size is unlimited. Flash volumes can be permanently installed at startup, or added and deleted as needed.
- Supports background garbage collection. Recycle operations, which convert dirty sectors to free sectors, may be performed in the background by calling TargetFAT's vclean() from the idle task.
- Web-based interactive RAM consumption calculator for determining RAM footprint.
- Binary volume image tool for creating preformatted image files, for pre-production programming of flash devices using automated programmers from Data I/O, BP Microsystems, etc.
- Optimized for fast mounts. Typical mount time for a 64MB volume is under 50 milliseconds.
- Source code is 100% ANSI C and has been tested using ANSI C compilers from ARM, Diab Data, GNU, Metrowerks, and WindRiver.
- Developed using TargetOS™, Blunk Microsystems’ full-featured royalty-free real time operating system. Easily ported to other operating systems. Uses per-volume access semaphores to allow independent concurrent access to multiple volumes.
- Royalty-free. Includes source code, User's Manual, sample applications, and one year of technical support.