Flash Translation Layer - FTL for NAND
Flash Translation Layer (FTL) from Zeeis is the small footprint, high performance NAND flash data manager to support sector-based file systems (FAT, NTFS, etc.) to operate Single Level Cell (SLC) and Multi Level Cell (MLC) NAND flash chips like any other block storage device. It makes NAND flash memory device appear to the system like a disk drive.
Flash Translation Layer - FTL for NAND
Zeeis Flash Translation Layer have integrated in over 16 million flash based devices - TransFlash Cards, SD cards, CF Cards, USB flash drives, solid-state drives (SSD), MP3 players and mobile phones.
FTL is a translation layer between the sector-based file system and NAND flash chips. It enables the operating system and file system access NAND flash memory devices as access disk drives.
Wear leveling algorithms are implemented for prolong the NAND flash chips lifetime, that monitors and spreads the number of Page Program(Write) and Block Erase cycles across the entire NAND flash chip.
FTL has been fully tested for use with a wide range of NAND flash chips and it supports NAND flash chip arrays to increase capacity and performance.
Flash Translation Layer Features
- High performance and reliable NAND FTL
- Supports all SLC and MLC NAND flash chips
- Supports small page and large page (528, 2112 and 4224 bytes page size)
- Bad Block Management Handler
- ECC module included
- Fast Garbage Collection
- Power-fail recovery
- Wear leveling
- 100% ANSI C source code for guaranteed portability
- Simple API offers a very easy way to build flash-based storage device.
- Optimized performance and reliability for limited resources MCUs/DSPs
- RAM and ROM resources usage highly scalable by configurable features
- Processor and RTOS independent
- 1 year free technical support for unlimited number of support cases
- 3 year free upgrades
- Royalty-free & Business-friendly License
Flash Translation Layer API Summary
FTL_mount | Mount the drive and create the cache buffer for FTL. |
FTL_unmount | Free all resources of the FTL. |
FTL_format | Format the drive. |
FTL_sectors | Get maximum usable sectors number of this FTL drive. |
FTL_read | Read sectors from FTL drive. |
FTL_write | Write data to sectors of FTL drive. |
Flash Translation Layer Application Programming Interface
FTL_mount
FTL_STATUS FTL_mount( void )
Mount the drive and create the cache buffer for FTL.
- Returns: FTL_SUCCESS for success, else an error code is returned.
FTL_unmount
FTL_STATUS FTL_unmount( void )
Free all resources of the FTL.
- Returns: FTL_SUCCESS for success, else an error code is returned.
FTL_format
FTL_STATUS FTL_format( void )
Format the drive.
- Returns: FTL_SUCCESS for success, else an error code is returned.
FTL_sectors
t_sec long FTL_sectors
Get maximum usable sectors number of this FTL drive.
- Returns: The number of total sectors.
FTL_read
t_sec FTL_read( void * buffer, t_sec sector, t_sec count )
Read sectors from FTL drive.
- Parameters: buffer Storage location for data. sector The logical sector number count Maximum number of sectors to be read.
- Returns: The number of full sectors actually read, which may be less than count if an error occurs.
FTL_write
t_sec FTL_write( void * buffer, t_sec sector, t_sec count )
Write data to sectors of FTL drive.
- Parameters: buffer Pointer to data to be written. sector The logical sector number count Maximum number of sectors to be write.
- Returns: The number of full sectors actually written, which may be less than count if an error occurs.
Licensing and Pricing
Zeeis Flash Translation Layer is a low-cost and royalty-free software IP designed to enable developers design their own final products quickly and easily, so there are no restrictions or limitations on the use or modification for your products.
Please contact us or send email to [email protected] for further information.