0% found this document useful (0 votes)
529 views

Nand and Nor Flash Memories

The document discusses the differences between NOR and NAND flash memory architectures. NOR flash resembles a NOR gate with each memory cell connected to a bit line, allowing for random access and fast read times, making it ideal for code execution. NAND flash resembles a NAND gate with memory cells connected in series, providing much higher densities but slower read speeds and requiring indirect access. The document explores differences in capacity, erase/write/read speeds, and suitability for code execution versus data storage between the two architectures.

Uploaded by

bharathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
529 views

Nand and Nor Flash Memories

The document discusses the differences between NOR and NAND flash memory architectures. NOR flash resembles a NOR gate with each memory cell connected to a bit line, allowing for random access and fast read times, making it ideal for code execution. NAND flash resembles a NAND gate with memory cells connected in series, providing much higher densities but slower read speeds and requiring indirect access. The document explores differences in capacity, erase/write/read speeds, and suitability for code execution versus data storage between the two architectures.

Uploaded by

bharathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Embedded system designers must take into account many considerations when selecting a Flash

memory: which type of Flash architecture to use, whether to select a serial interface or a parallel
interface, does it need error correction code (ECC), and so on. If the processor or controller supports
only one type of interface, this limits the options so the memory may be easy to select. However, this
is often not the case. For example, some FPGAs support serial NOR Flash, parallel NOR Flash, and
NAND Flash memory to store configuration data. This same memory can be used to store user data,
which makes selecting the right memory to use more difficult. In this article series, the different
aspects of Flash memories will be discussed, beginning with the differences between NOR Flash
and NAND Flash.

Memory Architecture

Flash memories store information in memory cells made from floating gate transistors. The names of
the technologies explain the way the memory cells are organized. In NOR Flash, one end of each
memory cell is connected to the source line and the other end directly to a bit line resembling a NOR
Gate. In NAND Flash, several memory cells (typically eight cells) are connected in series similar to a

click for
larger image
Figure 1: NOR Flash (left) has an architecture resembling a NOR gate. Similarly, NAND Flash (right)
resembles a NAND gate. (Source: Cypress)

The NOR Flash architecture provides enough address lines to map the entire memory range. This
gives the advantage of random access and short read times, which makes it ideal for code
execution. Another advantage is 100% known good bits for the life of the part. Disadvantages
include larger cell size resulting in a higher cost per bit and slower write and erase speeds. For more
details on how NOR Flash can be used in embedded systems, see An Overview of Parallel NOR
Flash Memory.

NAND Flash, in contrast, has a much smaller cell size and much higher write and erase speeds
compared to NOR Flash. Disadvantages include the slower read speed and an I/O mapped type or
indirect interface, which is more complicated and does not allow random access. It is important to
note that code execution from NAND Flash is achieved by shadowing the contents to a RAM, which
is different than code execution directly from NOR Flash. Another major disadvantage is the
presence of bad blocks. NAND Flash typically have 98% good bits when shipped with additional bit
failure over the life of the part, thus requiring the need for error correcting code (ECC) functionality
within the device.

Memory Capacity

NAND Flash memories are available in much higher densities compared to NOR Flash owing
primarily to its lower cost per bit. NAND Flash memories typically comes in capacities of 1Gb to
16Gb. NOR Flash memories range in density from 64Mb to 2Gb. Because of its higher density,
NAND Flash is used mainly for data storage applications.

Erase, Read & Write

In both NOR and NAND Flash, the memory is organized into erase blocks. This architecture helps
maintain lower cost while maintaining performance. For example, a smaller block size enables faster
erase cycles. The downside of smaller blocks, however, is an increase in die area and memory cost.
Because of its lower cost per bit, NAND Flash can more cost-effectively support smaller erase
blocks compared to NOR Flash. The typical block size available today ranges from 8KB to 32KB for
NAND Flash and 64KB to 256KB for NOR Flash.

Erase operations in NAND Flash are straightforward while in NOR Flash, each byte needs to be
written with ‘0’ before it can be erased. This makes the erase operation for NOR Flash much slower
than for NAND Flash. For example, the S34ML04G2 Cypress NAND Flash requires 3.5ms to erase
a 128KB block while the S70GL02GT Cypress NOR Flash requires ~520ms to erase a similar
128KB sector. This is a difference of nearly 150 times.
As mentioned earlier, NOR Flash memory has enough address and data lines to map the entire
memory region, similar to how SRAM operates. For example, a 2-Gbit (256MB) NOR Flash with a
16-bit data bus will have 27 address lines, enabling random read access to any memory location. In
NAND Flash, memory is accessed using a multiplexed address and data bus. Typical NAND Flash
memories use an 8-bit or 16-bit multiplexed address/data bus with additional signals such as Chip
Enable, Write Enable, Read Enable, Address Latch Enable, Command Latch Enable, and
Ready/Busy. The NAND Flash needs to provide a command (read, write or erase), followed by the
address and the data. These additional operations makes the random read for NAND Flash much
slower. For example, the S34ML04G2 NAND Flash requires 30µS compared to 120ns for
S70GL02GT NOR Flash. Thus the NAND is 250 times slower.

Continue reading on page two >>

Want more Embedded? Check out these recent articles:

 How NOR flash technology is making over-the-air firmware updates more reliable
 Designing a more flexible core for the multi-gigabit campus network
 Sustaining IoT growth
 RFID reader supports multiple transponder protocols
 Automotive multicore MCUs integrate safety features
 Arm bolsters architecture with vector extension
 IoT wireless device works in digital domain to cut power
Introduction All computer-based systems contain memory.

Memory is where information is stored while waiting to be operated on by the Central Processing Unit
(CPU) of the computer. There are two types of memory: volatile memory and nonvolatile memory.
Volatile memory retains its information only while power is applied to the memory device. The contents
of this memory type may be easily and quickly changed. Nonvolatile memory retains its information
even when no power is applied to the memory device. Although the information in most nonvolatile
memories may be changed, the process involved is much slower than for volatile memory.

Volatile Memory

Volatile memory loses its contents when the device loses power. Random Access Memory (RAM) is the
traditional name used for volatile memory. The name refers to the ability to access any location of the
memory quickly with no particular order of accesses needed. Static RAM (SRAM) and Dynamic RAM
(DRAM) are two examples of volatile memories that have this characteristic. SRAM typically uses six
transistors for each memory bit (cell) to retain data as long as power is being supplied. This makes each
memory cell relatively large and limits SRAM to use in lower density memories. SRAM can provide faster
access to data, use less standby power, and tends to be more expensive than DRAM. DRAM uses a single
transistor and a small capacitor for each bit of memory. Since capacitors do not hold a charge
indefinitely, DRAM cells must be frequently recharged (refreshed) to avoid losing the contents. These
smaller memory cells allow DRAM to be used for high density, low cost memories, but are typically
slower than SRAM.

Nonvolatile Memory

Nonvolatile memory is memory that retains its contents even if the power is lost. Nonvolatile memory
was originally called Read Only Memory (ROM) because its contents were loaded during the
manufacturing process and could be read, but never erased or reprogrammed. Over time, the ability to
erase and reprogram ROM was added in different ways and referred to as Electrically Programmable
ROM (EPROM), Electrically Erasable and Programmable ROM (EEPROM), and Flash EEPROM, commonly
referred to simply as flash memory. ROM memory is programmed by the way it is manufactured and
stores permanent code and data that is generally used to initialize and operate a computer system.
EPROM can be electrically programmed one byte at a time but is not electrically erasable. It has to be
exposed to ultraviolet (UV) light for about twenty minutes in order to erase all bits in the memory array.
EPROM uses a single transistor for each data bit and can be used in relatively high density memories.
EEPROM is electrically erasable and programmable in-system, one byte at a time, but the memory cells
use more transistors and are larger than those in EPROMs, thus EEPROM has higher costs and lower
density (generally less than 1 Mb). Flash EEPROM memory can be electrically programmed a single byte
or word at a time, but a large group of bytes or words—called a block, sector, or page—are electrically
erased at the same time. Due to the erase operation being much faster than the prior EPROM or
EEPROM devices, these devices came to be called flash erase EEPROM, or simply flash memories. The
flash memory cell uses a single transistor to store one or more bits of information. Flash technology
combines the high density of EPROM with the electrical in-system erase and programmability of
EEPROMs. Flash memory has become the dominant type of nonvolatile memory in use.

Flash Memory Architectures

The two main architectures dominate the flash memory: they are NOR and NAND. NOR is typically used
for code storage and execution. NOR allows quick random access to any location in the memory array,
100% known good bits for the life of the part, and code execution directly from NOR Flash memory.
NAND is used for data storage. NAND flash requires a relatively long initial read access to the memory
array, 98% good bits when shipped with additional bit failure over the life of the part (ECC highly
recommended), program/ erase times are much faster than NOR and NAND cost less per bit than NOR.
Conclusion Cypress flash memory provides a compact, easy to use, nonvolatile code and data storage
solution for electronic products. Cypress provides a broad portfolio of flash memories to suit a wide
range of applications. The memory size, voltage, speed, and package, can be selected to suit the
application.

Basic Operation

There are three basic operations in a flash memory: read (a byte or a word), program (a byte or a word),
and erase (one or more sectors)

Read Cypress provides three types of read operations:

asynchronous read, asynchronous page read, and synchronous burst read. Asynchronous read is a read
not occurring at predetermined or regular intervals (not dependent on a clock). Typical read access time
is 55 to 120 ns. Figure 1 shows the timing diagram.

Asynchronous page read is an asynchronous read operation of several words, in which the first word of
the group takes a longer initial access time, and subsequent words in the group take less “page” access
time to be read. The page size of the page mode devices is either four words or eight words, with the
page being selected by the least significant two or three bits of address. Page mode interface provides
faster read access speed for random locations within a page. Initial access time is typically 70 to 120 ns.
Access time within a page is typically 25 ns. Figure 2 shows the page read timing diagram.

Synchronous burst read is a read occurring at regular intervals dependent on a clock edge. Burst mode
devices require three extra control pins to perform burst read. They are Clock, Load Burst Address
(LBA#) or Address Valid (ADV#), and Burst Address Advance (BAA#) or RDY. When the burst device first
powers up, it is enabled for asynchronous read operation. To enable synchronous burst read, the system
must issue the burst mode enable command sequence. The initial address of an access is loaded by the
clock edge when LBA# or AVD# is low. The first data word is available after the initial access time delay.
Sequential words are available on each following clock edge after the burst access time delay. Typical
initial access time is 50 to 70 ns. Burst accesses can continue with a 50- to 80-MHz clock. Depending on
the specific device, Cypress burst mode flash offers a number of read modes to interface with a wide
range of microprocessors. They are linear burst, interleaved burst, and continuous sequential burst. In
the linear and interleaved burst modes, the device delivers a stream of words from a 4, 8, 16, or 32 word
aligned

block. (For the S29CD family, the burst is 32-bit double words.) If the initial address is not at the
beginning of the block, the sequence of words following the initial access will wrap from the end to the
beginning of the block. In continuous sequential burst mode, the device reads sequentially through the
entire address range. Refer to a specific burst device datasheet for detailed information. Figure 3 shows
burst read mode.
Program

The unprogrammed state of a flash memory cell is a high signal level or logical one. Changing a flash
memory cell (or bit) to a low voltage level or zero is called programming. Programming on Cypress
Floating Gate flash is generally done one byte or word at a time. MirrorBit technology uses a write
buffer to program one byte to as many as 32 bytes. One key point to note is that programming only
changes ones to zeros. Programming is initiated by a series of write accesses that form a program
command. The required sequence of write accesses prevents unintended changes to stored data. 3.3
Erase

Erasure of a flash device is done through multiple write accesses that form an erase command. The
erase completion time is dependent upon the sector size and technology. The erase command sequence
initiates the embedded erase algorithm – an internal algorithm that automatically preprograms the
memory array (if it is not already programmed) before executing the erase operation simultaneously on
all bits of the sector. One key point to note is that chip or sector erasing only changes zeros to ones.
During erase, the device automatically times the erase pulse widths and verifies the proper cell margin.
A floating gate transistor (FGT) is a complementary metal-oxide semiconductor
(CMOS) technology capable of holding an electrical charge in a memory device that
is used to store data.

Floating gate transistors were first used in erasable programmable read-only memory
(EPROM) and later in electronically erasable programmable read only memory
(EEPROM). Flash memory is a type of EEPROM that is programmed and erased in
large blocks.

The flash chip's cells are arranged in a grid that has a transistor at each intersection.
Each transistor has two gates: one is known as a floating gate, and the other one is
called a control gate. The two gates are separated from each other by a thin dielectric
material generally referred to as the oxide layer. Because the floating gate is
electrically isolated by the oxide layer, any electrons placed on it are trapped there.
This is what makes flash memory nonvolatile.

How floating gate transistors work

Flash memory works by adding (charging) or removing (discharging) electrons


to and from a floating gate. A bit's 0 or 1 state depends upon whether or not
the floating gate is charged or uncharged. When electrons are present on the
floating gate, current can't flow through the transistor and the bit state is 0.
This is the normal state for a floating gate transistor, when a bit is
programmed. When electrons are removed from the floating gate, current is
allowed to flow and the bit state is 1.

Two options are used to add, or trap, electrons in the floating gate: Fowler-
Nordheim tunneling and channel hot electron injection (CHE).

Fowler-Nordheim tunneling requires a strong electric field between the


negatively charged source and the positively charged control gate to draw
electrons into the floating gate. The electrons move from the source through
the thin oxide layer to the floating gate, where they are trapped between the
oxide insulation layers.
Channel hot electron injection, also known as hot-carrier injection, uses a high
current in the channel to give electrons sufficient energy to "boil" out of the
channel and break through the tunnel oxide layer, changing the threshold
voltage of the floating gate. A positive charge on the control gate attracts the
electrons from the channel into the floating gate, where they become trapped.

The oxide layer that surrounds the floating gate keeps the electrons trapped,
whether or not the flash device has power, enabling persistent storage of data
bits.

Two mechanisms are also used to remove the electrons from the floating
gate. With EPROM technology, exposing the memory cell to ultraviolet light
causes the electrons to leak out of the floating gate. In EEPROM and flash
memory devices, Fowler-Nordheim tunneling removes electrons from the
floating gate. A strong negative charge on the control gate forces electrons
through the tunnel oxide layer into the channel, where the electrons are drawn
to the strong positive charge at the source and the drain.

Floating gate vs. charge trap

A floating gate and a charge trap are types of semiconductor technology


capable of holding an electrical charge in a flash memory device, but the
chemical composition of their storage layers differs and they add and remove
electrons in different ways.

Flash devices that use floating gate transistors in the memory cells store
electrons in an isolated polycrystalline silicon conductive layer. The charge of
the floating gate changes when electrons are programmed into it to create a
threshold voltage shift in the transistor.

Devices that use charge trap technology typically store electrons in a


nonconductive silicon nitride insulation layer. Forcing electrons into the nitride
layer also generates a threshold voltage shift, and the electrons are held
captive in the nonconductive material.

Flash devices that use charge trap technology tend to be less complicated to
manufacture than those that use floating gate transistors. Charge trap devices
generally require less power to program and fewer process steps, and they
are less prone to wear out because the programming operation puts less
stress on the oxide layer. However, manufacturers have faced challenges in
the mass production of NAND flash memory devices that use charge trap
technology. The method used to remove electrons from a charge trap can be
tricky, and data retention may be an issue in charge trap-based flash devices.

Advanced Micro Devices Inc. and Fujitsu Semiconductor Ltd. were pioneers in
the volume production of charge trap technology in NOR flash
memory devices. Spansion Inc. acquired Fujitsu Semiconductor's
microcontroller and analog business in 2013, and Cypress Semiconductor
Corp. subsequently merged with Spansion in 2015. Macronix uses charge
trap technology in the production of read-only memory (ROM) devices. NAND
flash memory manufacturers such as Samsung, SK Hynix and Toshiba use
charge trap technology in the manufacture of 3D NAND flash. Intel and Micron
continue to use floating gate transistors with their 3D NAND technology.

You might also like