File System

A FAT file system compatible with a wide range of storage devices. An optional journaling component provides fail-safe operation.

File System Features

  • Interoperable: Support for the ubiquitous FAT12/16/32 file system, including long file names and UTF-8 character encoding
  • Reliable: A journaling module to ensure data integrity even during power failures
  • Small Footprint: Minimum RAM consumption of just 1 kByte
  • Flash Memory Support: NOR and NAND Flash access via a highly configurable Flash Translation Layer (FTL) offering built-in wear leveling mechanisms and support for both software and hardware ECC (Error Correction Code)
  • Removable Media Support: Drivers for SD cards, Multimedia Memory Cards (MMC) and MSC devices, with support for application notification of asynchronous insertion/removal notification, as well as stale file access protection
  • Performance: A cache module for accelerating various file system operation
  • Easy to Use: A choice of two (proprietary and POSIX) APIs
  • Customizable: Scalable memory footprint

You can consult the File System Drivers page for more details about the drivers. For SPI drivers, you can consult the SPI Drivers page. 

File System Specifications

Implementation Highlights

  • Memory allocation (static and dynamic mode supported)
  • File operations (read, write, truncate, rename, copy, and query)
  • POSIX compliant
  • File buffers supported
  • Supported file systems (FAT12/16/32)
  • Raw block device interface
  • Concurrency (preemptive file read operations; preemptive file write operations on different volumes)
  • Fail safe (with optional journaling module)
  • Write back caching (can be used along with journaling)
  • Partition support (DOS-style partitions)
  • Unicode support
  • Storage media technology support (NAND, NOR, SD (card mode + SPI), SCSI, RAM)
  • Bare metal support
  • Shell support

Memory Footprint

  • ROM Minimal (block device only): 7 kB Typical: 65 kB
  • RAM Minimal (bare-metal, file API and SD driver): 1 kB Typical: 5 kB)

Memory Controller Drivers

  • NAND
  • NOR serial Quad SPI
  • SD card mode

Provided by other Micrium OS stacks

  • NOR SPI: SPI drivers are provided by Micrium OS IO module
  • SD SPI: SPI drivers are provided by Micrium OS IO module
  • SCSI: USB host drivers are provided by Micrium OS USB Host stack

Storage Device Support

  •  NAND: Micrium's driver targets SLC and MLC memories with a parallel bus. Both small page and large page devices are supported. Software ECC (Error Correction Code) is provided for 1-bit correction per codeword using Hamming codes. Hardware ECC is supported on some Micron flash memory devices.
  • NOR: Support is available for a wide variety of serial (both SPI and Quad SPI) and parallel NOR flash devices.
  • SCSI: All MSC compatible USB drives are supported.
  • SD/MMC: SD, SDHC and SDXC cards are supported, as are MMC cards and e-MMC chips. Card mode and SPI implementations are available.
Contact Sales
Loading Results