A Flash Translation Layer (FTL) is a system for attaching arrays of flash to a media driver. HCC’s advanced fail-safe SafeFTL Flash Translation Layer presents a logical, sector-based interface to any application or file system using NAND, NOR or SSD devices. SafeFTL manages the underlying complexity of flash-based media devices and can be used in conjunction with any of HCC’s FAT file systems. SafeFTL is a highly efficient FTL, designed for use with most standard types of NAND and NOR flash, in simple or complex configurations.

Features

The features of SafeFTL are:

  • Designed for integration with both RTOS and non-RTOS based systems.
  • Can handle up to 4TB in a single wear-leveled array.
  • Can handle arrays of flash greater than 4TB.
  • Supports all common NAND/NOR devices.
  • Can handle NAND devices with any page size, including 16896, 8448, 4224, 2112, and 528 bytes.
  • Can handle file systems with any sector size, including 8KB, 4KB, 2KB, and 512 bytes.
  • Can handle any array of NOR flash.
  • Can handle multi-chip arrays.
  • Supports data block logging.
  • Dynamically configurable, based on available flash.

The system provides the following:

  • Bad block management.
  • Error Correction Code (ECC) algorithms.
  • Fail-safety from unexpected reset.
  • Atomic update (either the old entry is present or the new one).
  • Zero copy block read/write.
  • Effective wear leveling algorithms. Typically over 98% of blocks are available.
  • Read disturb monitoring.
  • A cache option.
  • Single Level Cell (SLC), Multi-Level Cell (MLC), and multi-plane support.
  • Optimized random read/write.
  • Open NAND Flash Interface (ONFI) driver.
  • Support for the Common Flash memory Interface (CFI) standard for NOR flash devices.
  • Support for the Serial Flash Discoverable Parameter (SFDP) standard for serial NOR flash devices.
  • Automatic garbage collection.
  • A secure deletion of data option.
  • Use of incremental writes only to pages in a block.
Architecture
SafeFTL architecture

Note that:

  • The file system can be any HCC file system that addresses logical sector arrays (including SafeFAT, FAT, and THIN).
  • The SafeFTL media driver is the FTL. It manages a set of attached flash arrays. It can attach each array as a drive to any file system that uses the HCC Media Driver Interface Specification. SafeFTL can provide access to a wide variety of flash media including NAND flash, NOR flash, and serial flash. Many different SafeFTL drives can be attached simultaneously.
  • When the flash media reaches its end of life, the drive becomes and remains read-only.
  • The generic NOR base driver is responsible for handling the NOR flash drivers. For each NOR flash drive, you must add an entry to the SafeFTL drive list.
  • The NOR flash drivers interface to the generic NOR base driver.
  • The NAND flash driver for each array of NAND flash that is to be handled as a separate drive is attached to the SafeFTL media driver. To do this, you add an entry to the SafeFTL drive list.