Electrically Erasable Programmable Read-Only Memory
An EEPROM (English abbreviation for electrically erasable programmable read-only memory , literally: electrically erasable programmable read-only memory , also E 2 PROM ) is a non-volatile , electronic memory module whose stored information can be electrically erased. It is related to other erasable storage, such as by UV light erasable EPROM and also electrically erasable flash memory . It is used to store smaller amounts of data in electrical devices in which the information must be retained even without an applied supply voltage or in which individual memory elements or data words must be easy to change. For storing larger amounts of data such as Flash memories, for example the BIOS in PC systems, are usually more economical.
The term "EEPROM" only describes the properties of the memory, that it is non-volatile and can be erased with electrical energy alone (in contrast to the EPROM, which can only be erased by UV light ). Strictly speaking, the term “EEPROM” therefore encompasses both the word or byte erasable memory now commonly referred to as EEPROM, as well as the newer flash memories that can be erased in blocks. Since the write, read and erase transistors otherwise required per memory cell can be dispensed with in the latter, a significantly higher memory density can be achieved with them .
An EEPROM consists of a matrix of field effect transistors (FETs) with an insulated control connection ( floating gate ), in which each of these FETs represents a bit . During the programming process, a charge is introduced onto the floating gate that can only be removed again by the erase process. During normal operation, the charge is retained on the fully insulated gate.
In (UV-erasable) EPROM, the charge is by writing hot injection carrier (engl. Hot-carrier injection , HCI) placed on the gate and can be removed again only by irradiation with UV light.
In the case of EEPROMs, both during writing and erasing, the charge is applied to or removed from the insulated gate by Fowler-Nordheim tunneling .
In the case of flash memory, on the other hand, the charge is applied to the gate by HCI when writing and removed again by Fowler-Nordheim tunneling when erasing.
To program the EEPROM, a high voltage pulse is applied to the control gate, with a tunnel current flowing from it through the insulating dielectric to the floating gate. With EPROMs, this high voltage had to be applied externally to the memory module, while with EEPROM, and also with flash memories, it is generated inside the module.
After writing the memory, i. H. the selective application of charge to the floating gates, the written data is represented by a bit pattern of charged / uncharged gates. This data can now be read out as often as required via the drain-source connections of the transistors, with the normal operating voltage during reading being well below the programming voltage. The number of possible write processes of the individual memory cells is limited, however, the manufacturers usually guarantee some 10,000 to over 1,000,000 write cycles. This is achieved in part through redundant memory cells.
In contrast to Flash EEPROMs, EEPROMs can be written to and deleted byte by byte. Compared to Flash EEPROMs, which require between 1 μs and 1 ms for a write cycle, conventional EEPROMs are considerably slower with 1 ms to 10 ms. EEPROMs are therefore preferred when individual data bytes have to be changed at longer intervals and saved in a non-volatile manner, for example with configuration data or operating hours counters .
The EEPROM was not suitable as a replacement for the ROMs or EPROMs , which were previously used as program or table memories, due to the significantly higher production costs; this role was later taken over by the flash memory. The higher costs of EEPROM technology meant that initially independent EEPROM modules were mostly connected to the microcontroller via a serial interface . Later on, a number of microcontrollers also offered on-chip EEPROMs. Since microcontrollers are usually manufactured using robust flash technologies that allow more frequent erasure and programming, an area of the flash memory can usually be used for variable data. For this purpose, a part of the flash memory is reserved and z. Sometimes written and read with special algorithms. A block (a page ) must be completely used before it is deleted, just like the entire reserved area, before it (it) is rewritten. In many cases, this procedure makes the EEPROM in microcontrollers superfluous.
However, an EEPROM cannot be replaced by Flash in all applications:
On the one hand it is z. Currently not yet possible to reliably write to Flash over such a wide temperature range as EEPROMs. However, process technology is making progress here and temperature compensation when writing improves the behavior.
On the other hand, it can be problematic in certain applications if a page is to be deleted, but cannot be deleted immediately due to the EEPROM emulation using Flash, and it is therefore not certain when the page will be deleted (which could be bypassed, however, by deliberately / deliberately filling the page first when it is to be deleted).
In addition to modules with address and data buses brought out in parallel, there are also EEPROMs in housings with e.g. B. only 8 connections in which addresses and data are exchanged via a serial bus such as I²C . Such EEPROMs are z. B. on SDRAM modules used by the manufacturer to store product parameters , which can then be read by the CPU . With this information in the SPD-EEPROM , the memory modules in the PC can then be configured automatically.
Failure symptoms and service life
Data stored in EEPROMs can be affected by three types of failure phenomena:
- unwanted overwriting of neighboring memory cells when a memory cell is changed (referred to as "write disturb"),
- the limited retention capacity of the memory status of the individual memory locations in the EEPROM ("retention") and
- the limited lifespan or writability ("byte endurance").
Trapped electrons collect in the oxide layer of the gate of the floating gate transistors used in EEPROMs . The electric field of the trapped electrons adds up to the field of the floating gate and thus narrows the window between the threshold voltages, which represent the storage states one and zero. After a certain number of write operations, the difference becomes too small to remain distinguishable and the memory location remains permanently at the programmed value. Manufacturers usually specify the maximum number of writes as 10 6 or more.
The electrons introduced into the floating gate during storage can leak through the insulating layer, especially at elevated temperatures (e.g. 170… 180 ° C), thereby causing a loss of the state of charge and thus returning the storage location to the erased state. Manufacturers usually guarantee the durability of stored data for a period of 10 years.
When writing to memory cells, the content of neighboring cells is changed if, after the last change to the neighboring cell, a total of a number of write operations took place on the chip (e.g. cell 0x0000 changed, cell 0x0001 currently not changed and after the last change from 0x0001 so far at any point a total of 1 million write operations in total => then risk of data loss on cell 0x0001). The information for "write disturb" can thus be ten times greater than the information for "byte endurance". Shortly before "write disturb" is reached, the entire EEPROM should be refreshed. Each memory cell is read and rewritten individually. It is also possible to read first, then delete and then rewrite.
- Leonhard Stiny: Das EEPROM, a special memory , MC , 7/1982, pp. 44-48.
- Algorithm to replace EEPROM with flash memory
- Lynn Reed, Vema Reddy "The Effects of Repeated Refresh Cycles on the Oxide Integrity of EEPROM Memories at High Temperature" Tekmos Inc.
- EEPROM endurance, online source
- System Integration - From Transistor Design to Large Scale Integrated Circuits