Flash Translation Layers / Details
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 tested in-house on Samsung, ST Micro and Micron devices. It has been successfully ported to several other types including Toshiba and Hynix. FTL has been tested extensively with devices that have pages of 528 bytes and 2112 bytes.
To verify if your target device is supported please contact us at sales@hitex.de.
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.
FTL-DF works only with Atmel DataFlash that has the "spare area." These devices have 528-byte or 1056-byte page sizes. FTL-DF can enhance performance of your system; one reason is that FTL-DF uses block erases, which are considerably faster rather than individual page erases.
Verification
FTL is extensively tested both on real NAND flash systems and by simulation. Because wear analysis and failsafe operation are both complex matters, HCC has developed a complete PC simulation environment to run millions of test cases to verify both the wear and failsafe characteristics of FTL.
Upper Layer Interface
| hl_init | Initialises the FTL |
| hl_format | Performs an initial low-level format of the flash |
| hl_getmaxsector | Returns the number of logical sectors in the system |
| hl_open | Opens one or more sectors for a read/write operation |
| hl_close | Closes an operation |
| hl_read | Reads a number of logical sectors from the flash |
| hl_write | Writes a number of logical sectors to the flash |
This interface is suitable for use in conjunction with HCC’s FAT, THIN and EUSB-MS. Integrated projects can be provided on request.
Physical Device Interface
FTL has been carefully designed to work with most NAND flash types. Creating the interface to a particular device is straightforward. Functions are provided for accessing the NAND flash device. In addition, sample drivers are included for several NAND flash types; the interface is designed to be easy to port to any NAND device. Also included are sample ECC algorithms; the user should recognize that whenever possible these are best done with hardware support. The interface functions - called by FTL - that the lower level interface must provide are:
| ll_init() | Initialises physical layer and gets config info |
| ll_erase() | Erases a flash block |
| ll_write() | Writes a flash page from a buffer pointer |
| ll_writedouble() | Writes a flash page from two buffer pointers |
| ll_read() | Reads a flash page |
DFML
Atmel DataFlash is the world’s leading serial flash memory family. It contains a number of features that make it an excellent partner for embedded applications in general and for HCC’s file system solutions in particular:
- Unrivalled access speed
- Dual RAM buffers for storing pages
- Small erasable page size
- Low power consumption
HCC's DFML is designed to be a clean interface layer between a file system and DataFlash devices. It provides a substantial set of features:
- A reliable and fail-safe page write operation, ensuring that critical data will always be reliably written to the device even in the event of power loss
- A normal page write for non-critical data
- Managed sectors set aside for non-file system usage
- Unmanaged sector reservation for private functions, such as boot memory operations
- 10K random write per sector refresh operations are managed transparently
- Optional error correction algorithms for added reliability
- Enhanced wear leveling operations
- Support for multiple devices in a single array
DFML technology can provide a robust DataFlash file system for a PC-compatible or fail-safe application. It supports the following DataFlash devices:
| Density | Serial DataFlash | Serial Firmware DF | DataFlash Cards |
|---|---|---|---|
| 1Mbit | AT45DB011 | ||
| 2Mbit | BAT45DB021 | ||
| 4Mbit | BAT45DB041 | BAT26DF004 | |
| 4Mbit | AT45DB041 | DAT26F004 | |
| 8Mbit | AT45DB081 | BAT26DF081 | |
| 16Mbit | AT45DB081 | DAT26DF161 | AT45DCB002D |
| 32Mbit | AT45DB321C | AT45DCB004C | |
| 32Mbit | AT45DB321D | AT45DCB004D | |
| 64Mbit | AT45DB642D | AT45DCB008D |
DFML fully supports all legacy DataFlash productsDFML is normally bundled with one of HCC's file systems and is licensed on a per product or "product-line" basis.Atmel® and DataFlash® are registered trademarks of Atmel Corporation




