CMX Systems
cmxFlash File Systems



CMX-FFS-SAFE-FAT is the Fail Safe, PC compatible file system for embedded device developers whose products require FAT12/16/32 compliant media support as well as added protection against the loss of data caused by unanticipated resets. Typical applications include adding a Secure Digital, Compact Flash or a Multimedia card to a device. The system includes pre-tested sample drivers for ease of development. The API is standard and easy to use with sample applications in source code provided to ensure quick integration. Hardware reference designs are also available.

Key Features

  • Fail Safe Operation
  • FAT12/16/32
  • Long FileNames
  • ANSI C compliant
  • Standard API (fopen(), fread() etc.)
  • Highly Scalable
  • Reduced Footprint
  • Multiple Simultaneous Files Open
  • Handles Media Errors
  • RTOS Independent
  • Fully Integrated with CMX RTOSes, TCP/IP and USB stacks
  • Robust - Re-entrant
  • Royalty Free Source
  • Sample Applications
  • Comprehensive Programmer's Guide

Fail Safe Operation

CMX-FFS-SAFE-FAT executes all operations in a fail-safe manner, and in the event of an unanticipated system reset, it returns in a consistent and usable state. When data in a file is changed, the original file is not modified until either a file flush or file close is called. At this point the file state is switched atomically and the new data becomes valid. This applies equally to all operations that modify the content of the file, such as file write, file delete, create/delete directory, or rename.

If a storage medium uses CMX-FFS-SAFE-FAT and it is reset or is moved to another device running CMX-FFS-SAFE-FAT, then the system works cleanly, without loss of data or risk of file and meta-data corruption.

Standard Drivers

Standard drivers are available for a variety of devices and configurations including Compact Flash, MultiMedia Cards, Secure Digital Cards, IDE mode and ATA. Also, a RAM drive is provided as an example for easy start-up and testing. Everything is designed to make integration and testing as easy and risk free as possible.

An optional Flash Translation Layer is offered providing a reliable interface for NAND flash or DataFlash. This Translation Layer allows the file system to manage flash and provides a logical sector interface to the embedded host. The Flash Translation Layer can support up to 4 Terabytes for each array, provides 528, 2112 and 4224 byte pages and supports all standard NAND devices.

CMX-FFS-SAFE-FAT is designed for portability. It is tested on many different compilers, many different hardware platforms and is then syntax checked to ensure the maximum level of compatibility. The User implementation guide contains detailed information for porting the system. CMX-FFS-SAFE-FAT is agnostic in regards to operating system, and in a multi-user environment, the host's semaphore/mutex mechanism should be used (it is never possible for two simultaneous writes to be active on a flash device such as a compact flash card). A RAM drive is also provided enabling a system to be run independently of any hardware constraints, including the availability of a new hardware interface. Typically, customers have a file system up and running within hours of receiving the system!

All content is subject to change without notice
Copyright material 2014© All Rights Reserved. Site and all contents are the sole property of CMX Systems, Inc.
No part of this site may be copied or used without the express written permission of the owner.
Web Services by Unicorn Web Development, Inc.