NAND Flash
SafeFLASH is designed to support all types of standard NAND flash.
General
NAND flash is a relatively new flash technology designed to store large amounts of non-volatile data at reduced cost. NAND flash can be written only if previously erased. Erase operations are quicker for NAND than for NOR, but still quite long. Unlike NOR flash, NAND is often shipped with a number of bad-blocks. NAND reliability is increased substantially if all single bit errors are detected and fixed.
Wear-leveling
Flash devices suffer when over-used. If a particular block is used beyond the manufacturer's specification the block may eventually develop errors. To combat this, wear-level algorithms are implemented to ensure level usage of the blocks. In addition, SafeFLASH’s method of recording changes to the file descriptors ensures that the minimum amount of writing is done.
Bad-Block Management
Bad blocks may exist on a new device and also develop in a device over time. These are automatically detected and are paged out of the file system.
ECC Algorithms
A highly efficient ECC algorithm is provided with the system. This may be implemented either in hardware or software. The algorithm automatically corrects all single bit errors, thus substantially increasing the reliability of the devices.
Reserved Sectors
It is sometimes necessary to reserve sections of a flash device for particular purposes outside of the file system. This is achieved by specifying, in the driver, which of the available blocks are for "private" use. Standard low-level read/write/erase routines can be used for accessing these blocks.
Flash Arrays
Often it is useful to use multiple flash devices in a system either in parallel, to widen the data bus and achieve higher performance, or in series to increase storage size. This behavior is fully supported by SafeFLASH and relies only on configuration changes to the drivers.
Sample Drivers
Provided with the system is a range of sample drivers for various flash devices from different manufacturers. The sample drivers are carefully documented in the Developer's Guide to allow easy porting to whatever chip/hardware configuration is required.
Supported Devices
Many different NAND flash devices are available, all with slightly different characteristics but retaining the same base properties. SafeFLASH supports all known manufacturers’ devices including:
-
Samsung
-
Hitachi
-
Toshiba
-
Micron
-
ST Micro
Sample drivers are provided for Samsung, ST Micro, and Micron devices.
