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 FG 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 Vtof 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 Fowler-Nordheim tunneling, a
quantum mechanical tunneling process. 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 100,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
A frequently asked question is why flash memory is not used to replace DRAM in computers so that memory contents would not be lost when they are turned off or power is lost. The 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, blocks of memory must be erased all at the same time. To explain further, flash components are generally subdivided into a number of segments called blocks.
Starting with a freshly erased block, you can program any bytes within that block. However, once a byte has been programmed, it cannot be changed again until it is erased, which has to be done a block at a time. In other words, flash memory (specifically NOR flash) offers random-access read
and programming operations, but cannot offer random-access rewrite or erase operations. Thus, many applications of DRAM that involve overwriting a specific address location quickly cannot be easily implemented on flash memory. In addition, DRAM is generally cheaper than flash memory on a cost per bit basis.
It should be noted, however, that the Tungsten T5 PDA and Treo 650 smartphone from PalmOne, released in late 2004, provide essentially this exact feature. A DRAM cache over a FAT filesystem
stored on internal NAND flash is used to emulate the older Palm type of directly-addressable powered DRAM. This technique is known as Nonvolatile Filesystem or NVFS and gives the
illusion of a seamless RAM storage pool that does not lose any of its data when switched off. [1] (http://kb.palmone.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB)