EEPROM
EEPROM (Electrically Erasable Programmable Read-Only Memory) is a type of non-volatile memory that can be read, written, and erased byte-by-byte. It is used in applications where data needs to be stored even when the power is turned off. EEPROM is slower than general-purpose RAM and has a limited number of write cycles (typically 100,000 to 1,000,000 cycles). However, it supports a larger number of write cycles than non-volatile flash memory, and is read/writable at the byte level, making it suitable for storing small amounts of configuration data.
The cheapest EEPROM on the market is usually available with an I2C, 1-wire (e.g. UNI/O), or SPI-like (e.g. Microwire) interface, in packages such as the SOT-23-6, SOIC-8 and DIP-8.
Unique IDs
Some EEPROM chips also come with unique IDs burnt into memory. The DS28E05 by Maxim Integrated is one such example. It provides a unique 64-bit ID number which can be read back from read-only memory. It also serves as it’s 1-wire address.
Emulated EEPROM
These days many MCUs do not come with internal EEPROM memory. Instead, it is common for the firmware developer to reserve some of the internal flash memory to store non-volatile data at runtime. This can be called emulated EEPROM. See the emulated EEPROM section on the Flash Memory page for more information.