Performance
SafeFLASH is a high -performance solution.
Flash devices have special characteristics; in particular their write and erase times may be comparatively long. In addition, devices suffer from wear, which causes bad blocks to develop after repeated use.
SafeFLASH is carefully crafted to make the most efficient use of the underlying flash devices. It does not use a flash translation layer; instead it works directly with its knowledge of the flash devices themselves. In particular a sophisticated write caching-system has been developed such that only changes to the file descriptor tables are stored in flash. This allows many updates to be performed with an absolute minimum of flash chip usage.
This is all done while preserving the 100% power-fail resilience of the system!
Algorithms are also provided to support the use of erase suspend/resume so that blocks that are known to be erasable are erased by an interruptible thread. Additionally, logic is included to select pre-erased blocks preferentially while still maintaining efficient wear algorithms.
SafeFLASH employs many algorithms to execute as efficiently as possible without over-using the flash. SafeFLASH’s direct knowledge of the erase/write structure of the flash devices enables it to minimize use of the flash devices.
SafeFLASH has been extensively tested with embedded database software. It has been optimized during testing with the databases to ensure high performance in the most difficult application environments.
