Professional Documents
Culture Documents
Home | News | New Products | India Specific | Design Guide | Sourcing database | Student Section | About us | Contact us | What's New
Events
Advertise
Online course on Embedded Systems Send News
Processor / MCU / DSP Send Article
Feedback
MODULE 14
Flash memory basics and its interface to a processor: Guruji Search
Introduction: eeherald.com
Flash memory or a flash RAM is a type of nonvolatile semiconductor memory device where stored data India Search
Memory exists even when memory device is not electrically powered. It's an improved version of electrically
erasable programmable readonly memory (EEPROM). The difference between Flash Memory and
EEPROM are, EEPROM erases and rewrite its content one byte at a time or in other words, at byte level.
Where as Flash memory erases or writes its data in entire blocks, which makes it a very fast memory
compared to EEPROM. Flash memory can't replace DRAM and SRAM because the speed at which the
DRAM/SRAM can access data and also their ability to address at byte level can't be matched by Flash.
The flash memory is also termed as Solidstate Storage Device (SSD) due to the absence of moving parts
in comparison to traditional computer hard disk drive.
Flash memory types:
Analog
The two main types of flash memory are the NOR Flash & NAND Flash. Intel is the first company to
introduce commercial (NOR type) flash chip in 1988 and Toshiba released world's first NANDflash in
1989.
NORflash is slower in eraseoperation and writeoperation compared to NANDflash. That means the
NANDflash has faster erase and write times. More over NAND has smaller erase units. So fewer erases
are needed. NORflash can read data slightly faster than NAND.
NOR offers complete address and data buses to randomly access any of its memory location (addressable
to every byte). This makes it a suitable replacement for older ROM BIOS/firmware chips, which rarely needs
Logic and Interface to be updated. Its endurance is 10,000 to 1,000,000 erase cycles. NOR is highly suitable for storing code in
embedded systems. Most of the today's microcontrollers comes with built in flash memory.
NANDflash occupies smaller chip area per cell. This maker NAND available in greater storage densities
and at lower costs per bit than NORflash. It also has up to ten times the endurance of NORflash. NAND is
more fit as storage media for large files including video and audio. The USB thumb drives, SD cards and
MMC cards are of NAND type.
NANDflash does not provide a randomaccess external address bus so the data must be read on a block
wise basis (also known as page access), where each block holds hundreds to thousands of bits,
resembling to a kind of sequential data access. This is one of the main reasons why the NANDflash is
PLD / FPGA unsuitable to replace the ROM, because most of the microprocessors and microcontrollers require byte
level random access.
A write operation in any type of flash device can only be performed on an empty or erased unit. So in most
cases write operation must be preceded by an erase operation. The erase operation is fairly
straightforward in the case of NANDflash devices. But for a NORflash, it is mandatory that all bytes in the
target block should be written with zeros before they can be erased.
The size of an eraseblock in NORflash ranges from 64 to 128 Kbytes. Here a write/erase operation can
take up to 5 s. But the NANDflash has erase blocks 8 to 32 Kbytes in size. So it is obvious that the NAND
performs the identical operation in a lesser time duration.
Powersupply and
Industrial ICs INORflash interface resembles closely to a SRAM memory interface, which has enough address pins to
map its entire media, allowing for easy access to every byte contained in it, where as the NANDflash go for
serially accessed complicated I/O mapped interface. Here the same pins are used for control, address &
data.
In traditional singlelevel cell flash devices, each cell stores only one bit of information. Later, many
developers have developed a new form of flash memory known as multilevel cell flash that can store/hold
more than one bits rather than a single bit in each memory cell, thus doubling the capacity of memory.
Flash memory cell structure:
Automotive ICs Flash memory stores data in an array of memory cells. The memory cells are made from floatinggate
MOSFETS (known as FGMOS). These FG MOSFETs (or FGMOS in short) have the ability to store an
electrical charge for extended periods of time (2 to 10 years) even without a connecting to a power supply.
The FGMOS is actually fabricated by electrically isolating the gate of a standard MOS transistor, so that
there are no resistive connections to this gate (floating gate) (see Fig 1). A secondary gate (more than one
in the case of multiple gate transistor) known as control gate is then deposited above this floating gate and
is electrically isolated from it using an insulator like Si02. There will be only capacitive connection between
the new inputs (control gates) and the floating gate, because the floating gate is completely surrounded by
highly resistive material (SiO2). So, in terms of its DC operating point, the FG is a floating node.
Cellphone ICs
http://www.eeherald.com/section/designguide/esmod16.html 1/7
3/31/2016 Flash memory interface tutorial covering basic fundamentals
Consumer ICs
Computer ICs
Fig 1
Each cell (FGMOS) of a NORflash memory resembles a standard MOSFET, except the FGMOS has two
gates instead of one (see fig 2). On top is the control gate, as in ordinary MOS transistors. Below this
control gate, situates the new gate called floating gate, which is insulated all around by the oxide layer
(SiO2). The floating gate is interposed between the control gate and the MOSFET channel. Because the
floating gate is electrically isolated by the oxide layer, any electrons placed on it are trapped there and,
under normal conditions, will not discharge for many years.
Communication ICs
(Data & Analog)
RF / Microwave
Subsystems / Boards Fig2
The names, NORflash & NANDflash came from the structure used for the interconnections between
memory cells (see fig 3).
Cells in NORflash are connected in parallel to the bit lines so that each cell can be read/write/erase
individually. This parallel connection of cells closely resembles to the parallel connection of transistors in a
CMOS NOR gate, that's how it derives the name as NOR flash. In NANDflash, cells are connected in
series resembling a NAND gate, and so the name. The series connection prevents the cells from being
Reference Design programmed individually. These cells must be read in series.
Software / Development
kits
Test and Measurement
Discrete
http://www.eeherald.com/section/designguide/esmod16.html 2/7
3/31/2016 Flash memory interface tutorial covering basic fundamentals
Opto
Passives
Interconnect
Sensors
Fig 3
A typical flasharray has a grid of columns and rows of FGMOStransistor cells as shown in the Fig 4. The
word line WL is the horizontal line and bit line BL is the vertical line (shown in Fig 4). The Control gates of
the FGMOS cells are connected to the wordline WL. The decoded address is actually applied to this word
line. The bit line BL connects drains of the FGMOS cells together and represent data bus. The Sourceline
SL connects sources of the FGMOS to common ground. The voltage combinations applied to WL and BL
define an operation, whether it is read, erase or program.
Batteries
Others
Fig 4
Working principle:
Flash stores the data by removing or putting electrons on its floating gate (see fig 5). Charge on floating
gate affects the threshold of the memory element. When electrons are present on the floating gate, no
current flows through the transistor, indicating a logic0. When electrons are removed from the floating
gate, the transistor starts conducting, indicating a logic1. This is achieved by applying voltages between
the control gate and source or drain.
http://www.eeherald.com/section/designguide/esmod16.html 3/7
3/31/2016 Flash memory interface tutorial covering basic fundamentals
Fig 5
FowlerNordheim (FN) Tunneling and hotelectron injection are some of the process by which these
operations are carried out in the flash cell.
Tunneling is a process where electrons are transported through a barrier. Here the barrier is considered as
the thickness of the Si02 insulator layer surrounding the floating gate. The tunneling process in oxide was
first reported by Fowler and Nordheim, so the name.
Let us now try to know how a NORflash cell operates. In NORflash program (or the memory write) is
carried out via "hot electron injection" and erase via quantum tunneling.
1. Erase operation:
The raw state of flash memory cells (A singlelevel NOR flash cell) will be bit 1's, (at default state) because
floating gates carry no negative charges. Erasing a flashmemory cell (resetting to a logical 1) is achieved
by applying a voltage across the source and control gate (word line). The voltage can be in the range of
9V to 12V. And also apply around 6V to the source. The electrons in the floating gate are pulled off and
transferred to the source by quantum tunneling (a tunnel current). In other words, electrons tunnel from the
floating gate to the source and substrate.
2. Write (program) operation:
A NOR flash cell can be programmed, or set to a binary "0" value, by the following procedure.
While writing a high voltage of around 12V is applied to the control gate (word line). If high voltage around
7V is applied to Bit Line (Drain terminal), bit 0 is stored in the cell. The channel is now turned on, so
electrons can flow from the source to the drain. Through the thin oxide layer electrons move to the floating
gate. The sourcedrain current is sufficiently high to cause some highenergy electrons to jump through the
insulating layer onto the floating gate, via a process called hotelectron injection.
Due to applied voltage at floatinggate the excited electrons are forced through and trapped on other side
of the thin oxide layer, giving it a negative charge on the floating gate. These negatively charged electrons
act as a barrier between the control gate and the floating gate.
If low voltage is applied to the drain via the bit line, the amount of electrons on the floating gate remains the
same, and logic state doesn't change, storing the bit 1. Since floating gate is insulated by oxide, the charge
accumulated on the floating gate will not leak out, even if the power is turned off.
A device called a cell sensor watches the level of the charge passing through the floating gate. If the flow
through the gate crosses 50 percent threshold, it has a value of 1. When the charge passing through
decline to below 50percent threshold, than the value changes to 0.
Because of the very good insulation properties of SiO2, the charge on the floating gate leaks away very
slowly.
3. Read operation:
Info >
Apply a voltage around 5V to the control gate and around 1V to the drain. The state of the memory cell is
distinguished by the current flowing between the drain and the source.
To read the data, a voltage is applied to the control gate, and the MOSFET channel will be either
conducting or remain insulating, based on the threshold voltage of the cell, which is in turn controlled by
charge on the floating gate. The current flow through the MOSFET channel is sensed and forms a binary
code, reproducing the stored data.
Flash Memory Interfacing:
Flash memory interface is same as SRAM interface, except that the flash memory requires a 12V/5V
programming voltage to erase and write new data.
Info >
Info >
http://www.eeherald.com/section/designguide/esmod16.html 4/7
3/31/2016 Flash memory interface tutorial covering basic fundamentals
Fig 6
The above figure is the schematic circuit diagram of a NOR flash IC 28F400 from Intel interfaced to a 16bit
(data) processor or a microcontroller. The 28F400 can be configured as 512K x 8 memory device or as a
256K x 16 memory device. Here in the above case its 512K x 8 configuration. The control connections pins
CE, OE & WE are similar to SRAM interface.
The A0 A17 are address pins and DQ0 to DQ15 are data pins.
The function of each control pins are,
OE (OUTPUT ENABLE): Enables the device's outputs through the data buffers during a read cycle. OE is
active low.
WE (WRITE ENABLE): Controls writes to the command register and array blocks. WE is active low.
Addresses and data are latched on the rising edge of the WE pulse.
CE (CHIP ENABLE): Activates the device's control logic, input buffers, decoders and sense amplifiers. CE
is active low. CE high deselects the memory device and reduces power consumption to standby levels. If
CE and RP are high, but not at a CMOS high level, the standby current will increase due to current flow
through the CE and RP input stages.
BYTE: Configures whether the device operates in bytewide mode (x8) or wordwide mode (x16). This pin
must be set at powerup or return from deep powerdown and not changed during device operation. BYTE
pin must be controlled at CMOS levels to meet the CMOS current specification in standby mode.
When BYTE is at logic low, the bytewide mode is enabled, where data is read and programmed on DQ0
DQ7 and DQ15/A1 becomes the lowest order address that decodes between the upper and lower byte.
DQ8DQ14 are tristated during the bytewide mode.
When BYTE is at logic high, the wordwide mode is enabled, where data is read and programmed on DQ0
DQ15.
Vpp (PROGRAM/ERASE POWER SUPPLY): For erasing memory array blocks or programming data in
each block, a voltage either of 5 V ± 10% or 12 V ± 5% must be applied to this pin. When VPP < VPPLK all
blocks are locked and protected against Program and Erase commands.
RP/PWD (RESET/DEEP POWERDOWN): Uses three voltage levels (VIL, VIH, and VHH) to control two
different functions: reset/deep powerdown mode and boot block unlocking. It is backward compatible with
the BX/BL/BV products. When RP is at logic low, the device is in reset/deep powerdown mode, which puts
the outputs at HighZ, resets the Write State Machine, and draws minimum current.
When RP is at logic high, the device is in standard operation. When RP transitions from logiclow to logic
high, the device defaults to the read array mode.
When RP is at VHH, the boot block is unlocked and can be programmed or erased. This overrides any
control from the WP input.
The decoder IC 74LS139 is employed in the above circuit for selecting the flash memory through A19 and
IO/M as inputs.
To get some more idea please read this application note available at,
ftp://download.intel.com/design/intarch/applnots/29219801.PDF
To know some of the nor flash memory IC chips available in the market click on the article below
Flash memory chips for your embedded design
To know some of the latest flash memory IC replacing non volatile memory chips such as FRAM PRAM
and FRAM available in the market click on the article below
Nonvolatile Flash Memory alternatives: FRAM, PRAM and MRAM
This flash memory interface module in SerboCroatian language at esmod16serbo
Click on the text below to enter next embedded systems course module
Next module 16 (LCD display interface)
Click on the text below to enter previous module
http://www.eeherald.com/section/designguide/esmod16.html 5/7
3/31/2016 Flash memory interface tutorial covering basic fundamentals
Previous module 14 (SRAM memory interface)
ABOUT THIS COURSE:
Totally EEHerald plan to bring 12 modules. You can be assured of completing basic course in Embedded
Systems after studying and practicing exercises in all the modules. We will give priority to programming
and serial communications (SPI, USB, CAN etc..) part. To receive a copy of total course syllabus, please
email to us.
This free tutorials on embedded systems is prepared by embedded professionals with fairly good industrial
experience, however we want your feedback on this course content; please email your questions,
Info > suggestions and comments to editor@eeherald.com. Your questions on present modules will be answered
in the revised modules. We may change the course content based on the majority of your requests and
feedbacks.
Please let your friends know about this course, we request you to email this link to your friends and
colleagues who are interested in embedded system.
EE Herald is an Electronics Design Magazine published from Bangalore
Info > Home | News | New Products | India Specific | Design Guide | Sourcing database | Student Section | About us | Contact us | What's New
©2006 Electronics Engineering Herald
Info >
http://www.eeherald.com/section/designguide/esmod16.html 6/7
3/31/2016 Flash memory interface tutorial covering basic fundamentals
http://www.eeherald.com/section/designguide/esmod16.html 7/7