AN2014
Application note
How a designer can make the most of
STMicroelectronics serial EEPROMs
Introduction
Electrically Erasable and PROgrammable Memory (EEPROM) devices are standard
products used for the non-volatile storage of data parameters, with a fine-granularity.
This application note describes most of the internal architecture and related functionality of
the STMicroelectronics EEPROM, such as the storage mechanism, interface circuits,
optimal settings of hardware, software and data management.
With these guidelines, an application designer gains a better understanding of the device’s
operation and can profit from these recommendations to significantly improve the reliability
of the application.
February 2015
DocID10701 Rev 10
1/65
www.st.com
AN2014
Contents
Contents
1
EEPROM cell and memory array architecture . . . . . . . . . . . . . . . . . . . . 7
1.1
Floating gate operation within an EEPROM cell . . . . . . . . . . . . . . . . . . . . 7
1.1.1
1.1.2
1.1.3
Reading the value stored in a memory cell . . . . . . . . . . . . . . . . . . . . . . . 9
Writing a new value to the memory cell . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Cycling limit of EEPROM cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Memory array architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Decoding architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Intrinsic electrical stress induced by programming . . . . . . . . . . . . . . . . 14
1.2
Electrical architecture of ST serial EEPROM arrays . . . . . . . . . . . . . . . . 13
1.2.1
1.2.2
1.2.3
2
Choosing a suitable EEPROM for your application . . . . . . . . . . . . . . . 16
2.1
2.2
2.3
Choosing a memory type suited to the task to be performed . . . . . . . . . . 16
Choosing an appropriate memory interface . . . . . . . . . . . . . . . . . . . . . . . 16
Choosing an appropriate supply voltage and temperature range . . . . . . 17
3
Recommendations to improve EEPROM reliability . . . . . . . . . . . . . . . 18
3.1
Electrostatic discharges (ESD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1
3.1.2
3.1.3
What is ESD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
How to prevent ESD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
ST EEPROM ESD protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
What are EOS and latchup? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
How to prevent EOS and latchup events . . . . . . . . . . . . . . . . . . . . . . . . 19
ST EEPROM latchup protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Power-up and power-on-reset sequence . . . . . . . . . . . . . . . . . . . . . . . . 21
Stabilized power supply voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2
Electrical overstress and latchup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1
3.2.2
3.2.3
3.3
Power supply considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.1
3.3.2
3.3.3
4
Hardware considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1
I
2
C family (M24xxx devices) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.1
4.1.2
4.1.3
Chip enable (E0, E1, E2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Serial data (SDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Serial clock (SCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
DocID10701 Rev 10
2/65
4
Contents
4.1.4
4.1.5
AN2014
Write control (WC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Recommended I
2
C EEPROM connections . . . . . . . . . . . . . . . . . . . . . . 27
Chip Select (S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Write Protect (W) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Serial Data input (D) and Serial Clock (C) . . . . . . . . . . . . . . . . . . . . . . . 30
Hold (HOLD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Serial Data output (Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Recommended SPI EEPROM connections . . . . . . . . . . . . . . . . . . . . . . 31
Chip Select (S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Serial Data (D) and Serial Clock (C) . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Organization Select (ORG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Serial Data output (Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Don’t use (DU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Recommended MICROWIRE EEPROM connections . . . . . . . . . . . . . . 35
Cross coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Noise and disturbances on power supply lines . . . . . . . . . . . . . . . . . . . 36
4.2
SPI family (M95xxx devices) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.3
MICROWIRE
®
family (M93Cxxx and M93Sxxx devices) . . . . . . . . . . . . . 33
4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.4
PCB Layout considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.1
4.4.2
5
Software considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1
5.2
EEPROM electrical parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Optimal Write control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2.1
5.2.2
Page mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Data polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Software write protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Hardware write protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
The checksum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Data redundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Checksum and data redundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Extra redundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Cycling and data retention qualification procedures . . . . . . . . . . . . . . . 45
Optimal cycling with ECC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3
Write protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.1
5.3.2
5.4
Data integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.4.1
5.4.2
5.4.3
5.4.4
5.5
Cycling endurance and data retention . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.5.1
5.5.2
3/65
DocID10701 Rev 10
AN2014
5.5.3
5.5.4
5.5.5
Contents
Cycling and temperature dependence . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Defining the application cycling strategy . . . . . . . . . . . . . . . . . . . . . . . . 47
Overall number of write cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6
Power supply loss and application reset . . . . . . . . . . . . . . . . . . . . . . . 49
6.1
Application reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.1.1
6.1.2
6.1.3
I
2
C family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
SPI family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
MICROWIRE family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Hardware recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Supply voltage energy tank capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Interruption of an EEPROM request . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.2
Power supply loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.2.1
6.2.2
6.2.3
6.3
Robust software and default operating mode . . . . . . . . . . . . . . . . . . . . . . 58
7
Operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.1
7.2
7.3
Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Humidity and chemical vapors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Mechanical stress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8
9
10
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
DocID10701 Rev 10
4/65
4
AN2014
List of tables
List of tables
Table 1.
Table 2.
Table 3.
Table 4.
Table 5.
Table 6.
Table 7.
Table 8.
Table 9.
Table 10.
Table 11.
Three serial bus protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
ESD generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Typical POR threshold values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Connecting the Ei inputs of I²C products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Calculation rules for pull-up resistor on SDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Connecting WC inputs in I
2
C products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Calculation for external pull-up and pull-down resistors in SPI products . . . . . . . . . . . . . . 32
Calculating external pull-up and pull-down resistors in MICROWIRE products . . . . . . . . . 35
Column and page address bits according to page length. . . . . . . . . . . . . . . . . . . . . . . . . . 43
Application cycling profile evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
DocID10701 Rev 10
5/65
5