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.

Next