SafeexFAT is an extension of HCC's exFAT file system that is designed to be truly fail-safe, protecting against unexpected reset or power loss.

HCC Embedded is a licensed supplier of exFAT implementations and can provide a full technology and patent license solution for incorporation into customers’ devices. This means:

  • For those who already have a Microsoft license for exFAT, HCC can supply its exFAT/SafeexFAT software implementations.
  • For those who do not have a Microsoft license for exFAT, HCC can provide a Microsoft-approved license for exFAT and supply its exFAT/SafeexFAT software implementations.
Features
The main features of the system are the following:
  • Conforms to the HCC Advanced Embedded Framework.
  • Designed for integration with both RTOS and non-RTOS based systems.
  • Provides fail-safety, protecting against unexpected reset or power loss.
  • Linux FUSE integration available.
  • Supports FUSE library version 2.x and FUSE 3.x.
  • Cache options for optimal performance.
  • Code size 47 KB.
  • RAM usage >18 KB.
  • ANSI ‘C’.
  • Unicode 16.
  • Multiple open files.
  • Multiple users of open files.
  • Multiple volumes.
  • Multi-sector read/write.
  • Variable sector sizes.
  • Partition handling.
  • Handles media errors.
  • Test suite.
  • Zero copy.
  • Re-entrant.
  • Boundary alignment offset for the FAT table.
  • Boundary alignment offset for the data region.

Architecture

The Fail-safety and Unit Test Driver is used with the target MCU to test that the file system is fail-safe. This driver is used to inject errors at the media driver level. Once testing has shown that the file system is fail-safe, this module can be removed before the file system goes live.

SafeexFAT for Linux FUSE

HCC's exFAT/SafeexFAT for Linux FUSE uses the standard FUSE (Filesystem in User Space) library. It is supplied as source code from which a Linux executable can be built. This executable can then be used to mount an exFAT drive whose files can be accessed like any other files in the system. The product supports FUSE library version 2.x and FUSE 3.x.