NAND Flash File System

The Arasan NAND Flash File System provides a high-performance and reliable software solution to embedded systems using NAND flash memories. The versatile NAND Flash File System is designed to meet the requirements for applications such as cell phones, media players, cameras, video camcorders, laptops, and servers. All commercial available NAND flash memories including high capacity SLC and MLC are supported. The Arasan NAND Flash File System is an ANSI C compliant program that interfaces to the application layer on one side and the NAND flash controller on the other side. The File Management system consists of standard C library files for the API such as file create, open, close, read and write. It also provides a high-level power failure safety feature that guarantees all saved data are safe and the file system structure are not corrupted. The NAND File System provides many functions to maximize the efficiency and utilities of the NAND flash memories. These include garbage collection to reclaim discarded blocks, wear leveling to ensure all blocks are evenly utilized to prolong the memory lifetimes, bad block management to record bad block locations, and selectable software ECC to handle error detections and error corrections. The NAND Flash Driver interfaces to the Arasan NAND Flash Controller IP. It implements the firmware interface to operate the controller and its NAND flash memories. The NAND Flash Driver supports commands of all commercial available NAND flash memories to provide maximum system performance.

Diagram

nand-fs

Features

  • Complete support for Arasan NAND Flash IP core – tested with hardware IP
  • Memory Size Support: Number of disks configurable. Each disk can be scaled from 64 KB to 2GB
  • Page Size Support for 512 byte, 1 KB, 2KB, 4 KB, 8 KB, 16 KB, and 32 KB
  • Standard ANSI C file system for application interface
  • Portable to multiple OS
  • Support for SLC and MLC NAND Flash Systems
  • Reliable, Re-entrant Embedded File System
  • Supports dynamic creation and deletion of files, directories, and links
  • Long file name support
  • Concurrent use of multiple volumes
  • Software ECC routines for 8-bit errors detections and 4-bit errors correction(hardware supported)
  • Selectable ECC on/off
  • Low level NAND flash drivers
  • Use of flash memory invisible to applications
  • Transparent wear leveling prolongs memory life span
  • Garbage collection
  • Detects and recovers bad blocks
  • Supports hardware ECC
  • Support for Embedded Systems
  • Easy integration to custom hardware platforms

Benefits

  • Portability in choice of OS, processors and flash memory chips
  • Easy-to-use interface for applications
  • Fully documented generic file operation API

Deliverables

  • Full software stack source code in C
  • User Documentation
  • API Guide
  • User Manual
  • Porting Guide
  • Sample example application
  • Test stub to validate the stack in software environment

Sign in to download datasheet