Flash memory
|
Flash memory is a form of EEPROM that allows multiple memory locations to be erased or written in one programming operation. In lay terms, it is a form of rewritable memory chip that, unlike a Random Access Memory chip, holds its content without maintaining a power supply. The memory is commonly used in Memory cards and USB Flash drives.
Contents |
Overview
Normal EEPROM only allows one location at a time to be erased or written, meaning that flash memory can operate at higher effective speeds when the system uses it to read and write to different locations at the same time. All types of flash memory and EEPROM wear out after a certain number of erase operations, due to wear on the insulating oxide layer around the charge storage mechanism used to store data.
Flash memory is non-volatile, which means that it stores information on a silicon chip in a way that does not need power to maintain the information in the chip. In addition, flash memory offers fast read access times and solid-state shock resistance. These characteristics explain the popularity of flash memory for applications such as storage on battery-powered devices like mobile phones and personal digital assistants.
Flash memory is based on the Floating-Gate Avalanche-Injection Metal Oxide Semiconductor (FAMOS transistor) which is essentially an NMOS transistor with an additional conductor suspended between the gate and source/drain terminals.
Flash memory is made in two forms: NOR flash and NAND flash. The names refer to the type of logic gate used in each storage cell.
Flash memory is often used in MP3 players, digital cameras and mobile phones.
Principles of operation
Flash memory stores information in an array of transistors, called "cells", each of which traditionally stores one bit of information. Newer flash memory devices, sometimes referred to as multi-level cell devices, can store more than 1 bit per cell, by varying the number of electrons placed on the floating gate of a cell.
In NOR flash, each cell looks similar to a standard MOSFET transistor, except that it has two gates instead of just one. One gate is the control gate (CG) like in other MOS transistors, but the second is a floating gate (FG) that is insulated all around by an oxide layer. The FG is between the CG and the substrate. Because the FG is isolated by its insulating oxide layer, any electrons placed on it get trapped there and thus store the information. When electrons are on the FG, they modify (partially cancel out) the electric field coming from the CG, which modifies the threshold voltage (Vt) of the cell. Thus, when the cell is "read" by placing a specific voltage on the CG, electrical current will either flow or not flow, depending on the Vt of the cell, which is controlled by the number of electrons on the FG. This presence or absence of current is sensed and translated into 1's and 0's, reproducing the stored data. In a multi-level cell device, which stores more than 1 bit of information per cell, the amount of current flow will be sensed, rather than simply the presence or absence of current, in order to determine the number of electrons stored on the FG.
A NOR flash cell is programmed (set to a specified data value) by starting up electrons flowing from the source to the drain, then a large voltage placed on the CG provides a strong enough electric field to suck them up onto the FG, a process called hot-electron injection. To erase (reset to all 1's, in preparation for reprogramming) a NOR flash cell, a large voltage differential is placed between the CG and source, which pulls the electrons off through quantum tunneling. Most modern NOR flash memory components are divided into erase segments, usually called either blocks or sectors. All of the memory cells in a block must be erased at the same time. NOR programming, however, can generally be performed one byte or word at a time.
NAND Flash uses tunnel injection for writing and tunnel release for erasing. NAND flash memory forms the core of the removable USB interface storage devices known as keydrives.
History
NOR flash was the first type to be developed, invented by Intel in 1988. It has long erase and write times, but has a full address/data (memory) interface that allows random access to any location. This makes it suitable for storage of program code that needs to be infrequently updated, such as a computer's BIOS or the firmware of set-top boxes. Its endurance is 10,000 to 1,000,000 erase cycles. NOR-based flash is the basis of early flash-based removable media; Compact Flash was originally based on it, though later cards moved to the cheaper NAND flash.
NAND flash from Samsung and Toshiba followed in 1989. It has faster erase and write times, higher density, and lower cost per bit than NOR flash, and ten times the endurance. However its I/O interface allows only sequential access to data. This makes it suitable for mass-storage devices such as PC cards and various memory cards, and somewhat less useful for computer memory. The first NAND-based removable media format was SmartMedia, and numerous others have followed: MMC, Secure Digital, Memory Stick and xD-Picture Cards.
Limitations
One limitation of flash memory is that while it can be read or programmed a byte or a word at a time in a random access fashion, it must be erased a "block" at a time. Starting with a freshly erased block, any byte within that block can be programmed. However, once a byte has been programmed, it cannot be changed again until the entire block is erased. In other words, flash memory (specifically NOR flash) offers random-access read and programming operations, but cannot offer random-access rewrite or erase operations. When compared to a hard disk drive, a further limitation is the fact that flash memory has a finite number of erase-write cycles, so that care has to be taken when moving hard-drive based applications, such as operating systems, to flash-memory based devices such as CompactFlash.
Interestingly, the Tungsten T5 PDA and Treo 650 smartphone from PalmOne, released in late 2004, use NAND flash to back up the contents of main memory during normal operations. PalmOne names this technique "non-volatile file system" (NVFS). It gives the illusion of a RAM storage pool that does not lose any of its data when power is removed. This PalmOne knowledge base article (http://kb.palmone.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB,ts=Palm_External2001,case=obj(35222)) explains how this technique works on the Treo 650.
The cost per byte of flash memory remains significantly higher than the corresponding cost of a hard disk drive, and that (on top of finite number of erase-write cycles previously mentioned) has prevented flash from becoming a solid state replacement for the hard disk drive on most home and office computers.
Flash file systems
Because of the particular characteristics of flash memory, it is best used with specifically-designed file systems which spread writes over the media and deal with the long erase times of NOR 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.
JFFS was the first of these file systems, quickly superseded by JFFS2, originally developed for NOR flash. Then YAFFS was released in 2003, dealing specifically with NAND flash, and JFFS2 was updated to support NAND flash too. However, in practice most flash media is used with the old FAT filesystem for compatibility purposes.
A special issue is flash memory booting.
Capacity
Common flash memory parts (individual internal components or "chips") range widely in capacity from kilobits to hundreds of megabits each.
Toshiba and SanDisk (http://www.sandisk.com/) have developed a NAND flash part capable of storing 8 gigabits (1 gigabyte) of data.
These parts can be combined to provide even larger capacities within a package. As of early 2005 at least two companies are offering cards with up to 8 gigabytes total capacity in the Compact Flash format.