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

The FTL is designed for ease of use by standard file systems. It provides a very simple logical sector-based interface for the higher level application. The interface functions are:

hl_initInitialises the FTL
hl_formatPerforms an initial low-level format of the flash
hl_getmaxsectorReturns the number of logical sectors in the system
hl_openOpens one or more sectors for a read/write operation
hl_closeCloses an operation
hl_readReads a number of logical sectors from the flash
hl_writeWrites 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:

DensitySerial DataFlashSerial Firmware DFDataFlash Cards
1MbitAT45DB011
2MbitBAT45DB021
4MbitBAT45DB041BAT26DF004
4MbitAT45DB041DAT26F004
8MbitAT45DB081BAT26DF081
16MbitAT45DB081DAT26DF161AT45DCB002D
32MbitAT45DB321CAT45DCB004C
32MbitAT45DB321DAT45DCB004D
64MbitAT45DB642DAT45DCB008D

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