File Systems - SAFE

SAFE was designed from the ground up to be a high performance, 100% failsafe file system for embedded applications. It can be used with all NOR and NAND flash types as well as any media that can simulate a block-structured array. SAFE is designed to be very portable - it integrates easily with any RTOS and is proven with many. The file API is entirely standard, and the low-level interface is abstracted to the simplest possible porting layer.
 
SAFE is used by hundreds of companies worldwide, in all industries, to bring an extra level of reliability and performance to their embedded systems.
 
Fail Safety
SAFE is designed to handle unexpected resets of the system, in such a way that the file system always remains in a consistent state. It does not require complex error recovery. At all times a file is in a state consistent with its meta-data, and when a file is flushed or closed it is atomically switched into its new state. Even complex operations such as seeking back into a file are handled safely and efficiently using a process that mirrors sectors with changed elements.
 
There is never a need to worry about data consistency, or to invoke complex error recovery; the system is always consistent.
 
Supported Devices
SAFE supports a very extensive range of devices, including NOR flash, NAND flash, SD cards and DataFlash. To our knowledge all flash devices can be used with SAFE. It may be that a small amount of low-level porting is required for a particular new device, but typically this effort amounts to only a few hours’ work. The SAFE User’s Guide contains extensive sections on porting.
 
Standard File API
The SAFE API is standard and will be familiar immediately to a typical user. These routines allow easy initialization and management of files and directories, with complete wild card support. Applications written for other platforms can use SAFE without modification.