Flash memory tutorial
- an overview of the Flash memory, how it works, its advantages and
disadvantages, and how to use it.
Flash memory of a form of memory that has become increasingly
popular in recent years. Although first developed in the 1980s, the use of flash
memory has grown rapidly in recent years as forms the basis of many memory
products. Flash memory is used in USB memory sticks, digital camera memory
cards, MP3 players, mobile phones, and in many other applications
Essentially, flash memory is a form of non-volatile memory,
i.e. the data held within the flash memory does not disappear when the power is
removed, and it can be re-written as required. This makes flash memory
particularly useful as a form of medium term storage.
What Is Flash memory?
Flash memory is a form of non-volatile memory which was born out of a
combination of the traditional EPROM and E2PROM. In essence it uses the same
method of programming as the standard EPROM and the erasure method of the
E2PROM. One of the main advantages that flash memory has when compared to EPROM
is its ability to be erased electrically. However it is not possible to erase
each cell in a flash memory individually unless a large amount of additional
circuitry is added into the chip. This would add significantly to the cost and
accordingly most manufacturers dropped this approach in favour of a system
whereby the whole chip, or a large part of it is block or flash erased - hence
the name. Today most flash memory chips have selective erasure, allowing parts
or sectors of the flash memory to be erased. However any erasure still means
that a significant section of the chip has to be erased.
Structure and operation of Flash memory
Flash is a high density memory. This is brought about by the fact that each cell
is made up from a single field effect transistor and it is very similar in
structure to the ordinary EPROM.
Each Flash memory cell consists of the basic channel with the
source and drain electrodes separated by the channel about 1 um long. Above the
channel there is a floating gate which is separated from the channel by an
exceedingly thin oxide layer which is typically only 100 � thick. It is the
quality of this layer which is crucial to the reliable operation of the memory.
Above the floating gate there is the control gate. This is
used to charge up the gate capacitance during the write cycle.
In the case of traditional EPROMs the memory can be erased by
the application of UV light. To accommodate this these chips have a translucent
window which can be exposed to the UV light. However this process takes upwards
of twenty minutes. It also requires the chip to be removed from its circuit and
placed in a special eraser where the UV light can be contained.
The flash memory cell functions by storing charge on the
floating gate. The presence of charge will then determine whether the channel
will conduct or not. During the read cycle a "1" at the output corresponds to
the channel being in its low resistance or ON state.
Programming the cell is a little more complicated, and
involves a process known as hot-electron injection. When programming the control
gate is connected to a "programming voltage". The drain will then see a voltage
of around half this value while the source is at ground. The voltage on the
control gate is coupled to the floating gate through the dielectric, raising the
floating gate to the programming voltage and inverting the channel underneath.
This results in the channel electrons having a higher drift velocity and
increased kinetic energy.
Collisions between the energetic electrons and the crystal
lattice dissipate heat which raises the temperature of the silicon. At the
programming voltage it is found that the electrons cannot transfer their kinetic
energy to the surrounding atoms fast enough and they become "hotter" and scatter
further afield, many towards the oxide layer. These electrons overcome the 3.1
eV (electron volts) needed to overcome the barrier and they accumulate on the
floating gate. As there is no way of escape they remain there until they are
removed by an erase cycle.
The erase cycle for Flash memory uses a process called
Fowler-Nordheim tunnelling. The process is initiated by routing the programming
voltage to the source, grounding the control gate and leaving the drain
floating. In this condition electrons are attracted towards the source and they
tunnel off the floating gate, passing through the thin oxide layer. This leaves
the floating gate devoid of charge.
Generally the erase process is only made to last a few
milliseconds. When complete all the cells in the block are checked to ensure
they have been completely erased. If not a second erase cycle is initiated.
Flash memory write / erase cycles
In the early days of flash memories one of the limiting factors in their uptake
was the limited number of erase programme cycles. This was caused by the
destructive breakdown of the thin gate oxide layer. Some of the early examples
of flash memories only had a few hundred cycles. Now the technology is vastly
improved and manufacturers quote figures that mean the flash memory life is no
longer a concern.
Most of this improvement in flash memory has been brought
about by improving the quality of the oxide layer. When samples of flash memory
chips are found to have a lower lifetime it is usually caused by the
manufacturing process not being optimised for the oxide growth.
Flash memory access
Flash memory is different to most other types of electronic memory in that while
reading data can be performed on individual addresses on certain types of flash
memory, erase and write activities may only be performed on a block of a flash
memory. A typical block size will be 64, 128, or 256 kB. In order to accommodate
this the low level control software used to drive these memories needs to take
account of this if the read and write operations are to be performed correctly.
Flash memory flavours
There are two basic types or flavours of flash memory. Although they use the
same basic technology, the way they are addressed for reading and writing is
slightly different. They two types are
NAND memory: NOR NAND flash memories have a
different structure to NOR memories. They are accessed much like block devices
such as hard disks. When NAND flash memories are to be read, the contents must
first be paged into memory-mapped RAM. This makes the presence of a memory
management unit essential.
NOR memory: NOR flash memory is able to read
individual flash memory cells, and as such it behaves like a traditional ROM in
this mode. For the erase and write functions, commands are written to the first
page of the mapped memory, as defined in "common flash interface" created by
Intel.
NAND / NOR tradeoff: NAND and NOR flash
memories can eb sued for different applications. However some systems will use a
combination of both types fo flash memory. The NOR memory is used as ROM and the
NAND memory is partitioned with a file system and used as a random access
storage area.
Summary
Flash memory is a particularly important form of memory. It is now widely used
and is possibly one of the most important forms of medium term storage. In view
of its current importance, flash memory will be seen for many years to come.
|