Flash_memory Flash_memory

Flash memory - Definition and Overview

Related Words: Anamnesis, Anniversaries, Archetype, Celebration, Ceremony, Engram, Fanfare, Holiday, Homage, Honor, Image, Imago

Flash memory is a form of EEPROM that allows multiple memory locations to be erased or written in one programming operation.

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. This means that if you turn off the power to the chip, the information is retained without consuming any power. 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 cellular phones and PDAs.

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 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 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 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)

Flash file systems

Because of the particular characteristics of flash memory, it is best utilised 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.

External links


Example Usage of memory

nelsontaggart: Replication, mirroring, micro-http web servers, in-memory, persist to disk embedded db check out www.raima.com
offhandremarks: RT @ArielTroster: Best day in recent memory. Billy Bragg on the picket line and lesbian war resister gets amnesty. Woot!
Faris_Al_Farik: @rithwik Oh. Yeah, heard that tidbit a few days back only. Poor memory! :C
Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.