Keil Logo

NAND Flash Translation Layer

The NAND Flash Translation Layer (NFTL) maximize the lifespan of a device by redirecting new writes to different physical blocks. NFTL comprises of wear leveling algorithms, bad block management, and error control algorithms.

FlashFS NFTL Features

  • Wear leveling.
  • Bad block management.
  • Software Error Correction Code (ECC) for SLC NAND Flash.
  • NAND types: SLC, MLC, TLC.
  • Up to 65536 blocks.
  • Up to 256 pages in block.
  • Power fail safe.
  • OneNAND support.

Wear Leveling

  • Extends the life of the NAND Flash device. NAND Flash memory wears out if data are written often to the same address.
  • Handles dynamic and static data erasures and re-writes such that NAND memory blocks do not fail prematurely.

Bad Block Management

  • Handles initial and run-time bad blocks. Run-time have invalid bits and are skipped during an erase or program cycle.

Error Correction Codes

  • Error detection and correction codes protect data from corruption.
  • Redundant information is calculated before the data is written and added to the Spare area of the page. When the data is read, the redundant information is recalculated and compared to the data stored in Flash.
  • The Hamming ECC algorithm is implemented in the NFTL for SLC NAND Flash only and for a fixed size of one sector or 512 bytes. The redundant information is calculated so that a balance of correction power and efficiency is achieved.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.