Embedded Flash Translation Layers
For efficient use of NAND and NOR Flash memory devices in embedded systems and proper flash management is required. The fail-safe SafeFTL Flash translation layer provides a high-performance solution that allows developers to interface to any flash-based media. SafeFTL presents a simple logical sector interface to an application, such as a file system, and manages the underlying complexity efficiently and safely. Combined with a professional file systems, there is a complete solution for almost any type of media and performance requirement.
Flash management technologies
- Enhanced wear leveling
Due to their technical nature Flash cells have a limited lifetime and can only be erased and programmed a certain number of times before becoming unreliable, i.e. they ‘wear out’. Wear leveling algorithms are used to maximize the life of the chip by moving the data between physical blocks to ensure some cells are not overused relative to others. The implemented algorithms can be fine-tuned to match performance requirements.
- Error correction codes (ECC)
Flash manufacturers define the worst-case rate at which wear occurs. Error correction codes are used to ensure the data is always consistent if used within the chip specification. The strength of the required ECC is defined by the worst-case bit failure rate.
- Bad block management
Flash memory contains blocks that may be defective when the device is new. Also during operation, data in "good blocks" can be corrupted by charge leakage or disturbance from writes in adjacent parts of the chip. SafeFTL provides management of bad blocks and maps unusable areas to ensure that data is not corrupted.
- Read disturb errors
Read disturb errors occur when a read operation on one page causes one or more bits to change in other pages of the same block. Executing many read operations on pages within a block, with no intervening erase of that block, increases the risk of bit errors developing. SafeFTL includes strategies that handle this problem effortlessly.
Conventional file systems are not fail-safe and often experience difficulties when common problems such as power loss or unexpected resets occur. When SafeFTL is used in a correctly designed system, it will guarantee that data will always be consistent. In order to ensure the maximum integrity, the underlying media drivers are also designed to provide fail-safe behavior.
For more details, see FTL Overview.pdf