Professional Documents
Culture Documents
560 Lecture1
560 Lecture1
EEPROM
This 512-byte EEPROM memory can be used in the same ways ROM would be used,
but some interesting possibilities arise that are not possible with ROM or RAM
memories. Once information is programmed into the on-chip EEPROM, it remains
unchanged even if V DD power is removed indefinitely. Unlike information in ROM,
information in EEPROM can be erased or reprogrammed under software control.
In erase mode (see Figure 3), the array ground is connected to V SS. The row and
column selects cause the control gates of the byte(s) being erased to be connected to
VPP . Other bytes in the array that are not being erased would have their control gates
connected to an undriven logic zero. The bit-select devices are all turned on by V PP on
the word lines; however, the drains of the bit-select devices are high impedance.
Thus, the drains of the floating-gate transistors are effectively floating. The high voltage
on the control gate of the floating-gate transistor is capacitively coupled onto the floating
gate. The large field between the floating gate and the substrate results in electron
tunneling from the substrate to the floating gate. After erasure, the floating gate has a
negative charge, which keeps the floating-gate transistor turned off during reads. If
leakage in the floating-gate transistor caused the negative charge to leak off so that
there was no charge on the floating gate, the bit would still read back as one. This fact
implies that long-term retention errors cannot cause a logic-one bit to deteriorate.
Figure 4 shows an EEPROM byte being programmed to the value $55 (0101 0101) to
demonstrate the effect of programming both ones and zeros. Since the erased state of
an EEPROM bit is one, programming a one is the same as doing nothing. During
programming, the array ground is not driven. The control gates of the byte to be
programmed are driven to zero through the row-select and column-select path. Control
gates for bytes not being programmed will be high impedance because the column-
select and/or row-select device will be off. The bit-select devices are turned on hard
because the row select, for the row containing the byte being programmed, is driven to
VPP. The bit lines are driven to V DD for bits not being programmed (ones) and to V PP for
bits being programmed (zeros). For bits not being programmed (ones), the drain of the
floating-gate transistor is at V DD, and the control gate is at V SS. This configuration does
not result in a large enough field for tunneling to occur; thus, no charge transfer occurs.
For bits being programmed (zeros), the drains of the floating-gate transistors are at V PP–
TN (because of the drain-to-source threshold voltage drop across the bit-select device),
and the control gate is at V SS. This configuration results in a large enough field so
electrons can tunnel from the floating gate to the drain region of the floating-gate
transistor. Since the floating gate of a programmed bit has a positive charge, the
floating-gate transistor will conduct during reads.
Figure 5 shows an EEPROM byte being read. During a read operation, the bit lines are
precharged to one. Column selects enable the bit lines from the byte being read to the
sense amp inputs. The row select for the row containing the byte being read is driven to
VDD to enable the bit-select devices. The array ground is connected to V SS.
The floating gate devices of programmed bits conduct and pull the corresponding bit
lines to zero. The floating-gate devices of bits not programmed do not conduct;
therefore, the corresponding bit lines remain at the precharged level and read as ones.
EEPROM operations are actually much more complicated than this discussion suggests,
but the following general statements may be useful to designers using the EEPROM.
1) Since no high voltages are present during read operations, no degradation of data
can result from repeated read operations. 2) Erase operations normally take less time
than programming operations. 3) The most common EEPROM failure (write ones) is an
unintended bit change from one to zero during programming of $FF data. This failure
occurs during endurance testing as the part approaches wear-out (typically after tens of
thousands of write-erase cycles). 4) Retention failures result in programmed zeros
reverting to ones due to leakage of the floating-gate charge. 5) Ones never revert to
zeros without an explicit programming operation (though the programming operation
need not involve any zeros in the pattern being programmed).
EEPROM programming and erasure involve the movement of charge through a thin
oxide layer. This charge movement requires a relatively large field to be present for a
significant length of time (milliseconds). Noise is not likely to cause individual bits to
change state. Most failures of the EEPROM involve breakdowns due to the relatively
high voltages or to an oxide degradation phenomenon (trapped charge). After many
cycles of programming and erasure, charge may become trapped in the thin oxide
layers isolating the floating gate. This trapped charge causes programming and erase
operations to take longer as the amount of trapped charge increases. When the cell fails
to program to zero in the allotted time, it is worn out. In many cases, these bits can still
be programmed and erased provided the program and erase times are increased. The
useful life of an EEPROM byte cannot be extended very far by extending the
programming time because a worn bit exhibits a reduced ability to retain valid zeros for
very long time periods.