Flash memory is a non-volatile recording medium that can be electrically erased and reprogrammed. It is used in flash drives for general storage and transfer of data between computers and other digital products.


Flash memory is a specific type of EEPROM (Electrically Erasable Programmable Read-Only Memory) that is erased and programmed in large blocks.

Since flash memory is non-volatile, no power is needed to maintain the data stored in the chip. In addition, flash memory offers fast read access times and better kinetic shock resistance than hard drives.

Although technically a type of EEPROM, the term EEPROM is generally used to refer specifically to non-flash EEPROM which is erasable in small blocks, typically bytes. Because erase cycles are slow, the large block sizes used in flash memory erasing give it a significant speed advantage when writing large quantities of data.

Flash filesystems

Because of the characteristics of flash memory, it is best used with either a controller to perform wear-levelling and error correction or a specifically designed flash filesystem that spreads writes over the recording medium and deals with the long erase times of NOR flash blocks. The basic concept behind flash filesystems is that when the flash store is to be updated, the filesystem will write a new copy of the changed data to a fresh block, remap the file pointers and then erase the old block later when there is available time.

In practice, flash filesystems are only used for embedded flash memories that do not have a controller. USB flash drives have built-in controllers that perform wear-levelling and error correction, so use of a flash filesystem does not add any benefit. These flash memory devices use the FAT filesystem to provide universal compatibility.


home Home Page