Flash File Systems
A flash file system is a file system designed for storing files on flash memory devices. These are becoming more prevalent as the number of mobile devices is increasing, the cost per memory size decreases, and the capacity of flash memories increases.
While a block device layer can emulate a disk drive so that a disk file system can be used on a flash device, this is suboptimal for several reasons:
- Erasing blocks: Flash memory blocks have to be explicitly erased before they can be written to. The time taken to erase blocks can be significant, thus it is beneficial to erase unused blocks while the device is idle.
- Random access: Disk file systems are optimized to avoid disk seeks whenever possible, due to the high cost of seeking. Flash memory devices impose no seek latency.
- Wear leveling: Flash memory devices tend to wear out when a single block is repeatedly overwritten; flash file systems are designed to spread out writes evenly.
Log-structured file systems have all the desirable properties for a flash file system. Such file systems include JFFS2 and YAFFS.
Because of the particular characteristics of flash memory, it is best used with either a controller to perform wear leveling and error correction or specifically designed flash file systems, which spread writes over the media and deal with the long erase times of NAND flash blocks. The basic concept behind flash file systems is: when the flash store is to be updated, the file system will write a new copy of the changed data over to a fresh block, remap the file pointers, then erase the old block later when it has time.
In practice, flash file systems are only used for "Memory Technology Devices" ("MTD"), which are embedded flash memories that do not have a controller. Removable flash memory cards and USB flash drives have built-in controllers to manage MTD with dedicated algorithms, like wear leveling, bad block recovery, power loss recovery, garbage collection and error correction, so use of a flash file system has limited benefit.
Other articles related to "flash file system, file system, files, flash, flash file systems, systems":
... A flash file system is a file system designed for storing files on flash memory devices ... the cost per memory size decreases, and the capacity of flash memories increases ... While a block device layer can emulate a disk drive so that a disk file system can be used on a flash device, this is suboptimal for several reasons Erasing blocks Flash memory ...
... being developed by SanDisk allowing for improved random write performance in flash memory compared to traditional systems such as TrueFFS ... on using ExtremeFFS in an upcoming Multi-level cell implementation of NAND flash memory ...
... A flash file system considers the special abilities, performance and restrictions of flash memory devices ... Frequently a disk file system can use a flash memory device as the underlying storage media but it is much better to use a file system specifically designed for a flash device ...
Famous quotes containing the words systems, flash and/or file:
“The only people who treasure systems are those whom the whole truth evades, who want to catch it by the tail. A system is just like truths tail, but the truth is like a lizard. It will leave the tail in your hand and escape; it knows that it will soon grow another tail.”
—Ivan Sergeevich Turgenev (18181883)
“Here lies a man who was killed by lightning;
He died when his prospects seemed to be brightening.
He might have cut a flash in this world of trouble,
But the flash cut him, and he lies in the stubble.”
—Anonymous. From Booth, Epigrams Ancient and Modern (1863)
“While waiting to get married, several forms of employment were acceptable. Teaching kindergarten was for those girls who stayed in school four years. The rest were secretaries, typists, file clerks, or receptionists in insurance firms or banks, preferably those owned or run by the family, but respectable enough if the boss was an upstanding Christian member of the community.”
—Barbara Howar (b. 1934)