
OVERVIEW
FTL is a standard flash translation layer that allows an array of NAND flash to be addressed as a set of standard 512Byte, 2K or 4K logical sectors.
NAND flash is a very cost effective flash storage medium. However, it has certain characteristics that prevent its use as a simple continuous storage array. It may contain bad blocks; bad bits may develop in previously good blocks; and heavily used blocks will “wear-out”.
To allow a higher-level system – such as a file system – to use NAND flash effectively it is necessary to use an FTL that carefully manages the flash while providing a simple logical sector interface to the host system.
KEY FEATURES
* Up to 4 terabytes in single wear-leveled array
* High performance
* Zero copy block read/write
* Cache options
* 528, 2112 and 4224 Byte page support
* Safe from unexpected reset
* Effective wear-leveling algorithm
* Bad block management
* Automatic garbage collection
* Small code footprint
* Small RAM usage
* Support for all standard NAND devices
* Sample drivers and ECC algorithms
* Typically >98% of blocks available
* Fast initialization
FTL IS FAIL-SAFE
FTL is designed and tested to handle unexpected system resets cleanly. If a write had been initiated when the system was reset, and if it was not complete, then the old state of the logical sector being addressed will be presented on start-up. If the write operation was complete, then the new state of the logical sector will be read. No in-between states or complex recovery procedures are required.
WEAR
All flash devices suffer from wear, since the repeated use of a particular area of flash increases the likelihood that it will fail. Distributing the usage of blocks across the whole flash array greatly increases the lifetime of NAND devices, but effective wear levelling is a complex task. Seemingly “obvious” algorithms tend to fail in real-world testing. HCC has developed sophisticated wear algorithms (both static and dynamic) that are tuneable to your systems needs. These ensure that all the blocks in a NAND flash array are written to evenly, within a configurable set of specified parameters.
SUPPORTED NAND DEVICES
FTL has been designed and tested to work with most types of NAND flash currently available. NAND flash is constantly evolving and HCC works to ensure that FTL works with the latest technology. The system is used with Samsung, ST Micro, Micron, Toshiba and Hynix devices. FTL has been tested extensively with devices that have pages of 528 bytes and 2112 bytes.
ATMEL DataFlash
HCC provides a version of FTL for use with Atmel DataFlash. FTL-DF can be used to handle arrays of Atmel DataFlash devices eficiently while giving them excellent wear characteristics. Additonally ECC (error correction codes) can be used to correct bit errors.