NAND Flash Translation Layer
- Works under TargetFAT™ and TargetXFS™ to implement reliable, re-entrant file systems on NAND flash. Works standalone to provide a block mode driver for third party file systems. Use of NAND flash media for the backing store is invisible to application layer.
- Advanced second-generation cached virtual to physical page mapping algorithm gives high performance with a minimal, customizable, RAM footprint.
- Integrated with TargetNDM™ for bad block management and, from the TargetNDM driver, ECC bit error correction.
- Supports all Single Level Cell (SLC) and Multiple Level Cell (MLC) NAND devices. Performs in-order page writes, avoids partial programming (programming the same page more than once between block erasures), and uses only 16 spare bytes per page.
- Performs erase 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.
- Performs read-wear leveling to avoid the bit errors that result from repetitively reading the same flash location. When a read-wear threshold is reached, that block is selected for the next garbage collection operation. Copying data to a new location refreshes it.
- Performs automatic block recycles when the TargetNDM driver indicates that a corrected bit error threshold is met. This is another protection against accumulated read wear that could lead to data loss from bit errors exceeding the ECC strength.
- Allows concurrent use of multiple FTL volumes, each in its own TargetNDM partition. FTL volumes can be permanently installed at startup, or added and deleted as needed. Uses per-volume access semaphores to support multitasking environments.
- Supports background garbage collection. Recycle operations, which convert dirty sectors to free sectors, may be performed in the background by a low priority task.
- 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.
- Web-based interactive RAM consumption calculator for determining RAM footprint.
- Optimized for fast initialization and mount times.
- 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.
- Royalty-free license. Includes source code, user's manual, sample application, and one year of technical support.