Se una memoria di sola lettura programmabile e cancellabile (EEPROM, Electrically Erasable Programmable Read-Only Memory) viene esposta a una carica elettrica, può essere cancellata. Tuttavia, mantiene i dati anche quando il dispositivo viene scollegato dall'alimentazione. La EEPROM è diversa dalla memoria flash nel fatto che in essa i dati vengono scritti o cancellati un byte per volta, per cui il processo è lento. Con la memoria flash, grandi blocchi di dati vengono scritti o cancellati contemporaneamente, in un processo più veloce.
La programmazione o cancellazione delle EEPROM può essere eseguita nel circuito, usando segnali di programmazione speciali. I vantaggi delle EEPROM comprendono il fatto che esse permettono operazioni di pagina multi-byte, offrono un basso numero dei pin, piccoli pacchetti, funzionamento a bassa tensione e basso consumo energetico. La loro durata è stata sostanzialmente ampliata dalle poche volte in cui potevano essere riprogrammate all'attuale numero di operazioni di scrittura, che raggiunge il milione nelle EEPROM moderne. Per risparmiare spazio sulla scheda, è possibile integrare delle EEPROM seriali in dispositivi logici in modo che possano essere presenti su una scheda per garantire alta affidabilità risparmiando spazio e costo totale del sistema.
Tuttavia i dispositivi non sono sempre privi di problemi. I sistemi elettronici non aumentano di dimensioni: al contrario tendono a usare schede sempre più piccole. La circuiteria di programmazione e di supporto necessaria alle EEPROM aumenta il costo totale del sistema, senza dimenticare che minore è il numero di dispositivi sulla scheda, minore è il consumo di energia totale e maggiore sarà l'affidabilità. Oltre a ciò, le EEPROM possono diventare obsolete nel tempo, con conseguente necessità di riprogettazione, costosa in termini di tempo, per via dei progressi nella tecnologia di elaborazione.
Vi sono due principali categorie di EEPROM, seriali e parallele.
Le EEPROM seriali comunicano attraverso un'interfaccia seriale e operano in fasi opcode, indirizzo e dati. Queste tre interfacce utilizzano da uno a quattro segnali di controllo per operare, per cui la EEPROM richiede fino a un pacchetto da 8 pin. Queste EEPROM supportano diverse operazioni di lettura/scrittura, nonché comandi di cancellazione di programmi, settori e chip.
Un esempio è la EEPROM seriale Atmel AT24C32E-SSHM-B, un dispositivo a montaggio superficiale compatibile I2C che presenta un funzionamento a bassa tensione da 1,7 V a 3,6 V, una modalità standard di 100 kHz, una modalità veloce di 400 kHz, anch'essa da 1,7 V a 3,6 V e una modalità da 1 MHz Fast-Mode Plus (FM +) da 2,5 V a 3,6 V. Essa presenta inoltre ingressi filtrati con trigger di Schmitt per la soppressione del rumore, protocollo di trasferimento dati bidirezionale, pin di protezione contro la scrittura per la protezione dei dati hardware ad array completo, una corrente attiva ultra bassa (1 mA massimo) e una corrente di standby anch'essa ultra bassa (0,8 μA massimo). È caratterizzata da elevata affidabilità, durata di 1.000.000 di cicli in scrittura e memorizzazione dei dati per 100 anni. Le applicazioni comprendono molte applicazioni industriali e commerciali in cui sono necessari un basso consumo e un funzionamento a bassa tensione.
Figura 1: Schema a blocchi della EEPROM seriale Atmel AT24C32E-SSHM-B. (Fonte: Atmel)
Un altro esempio di una EEPROM seriale è la EEPROM Microchip 24LC04BT-I/SN16KVAO con funzionamento a 1,7 V o 2,5 V. In base alla tecnologia CMOS a bassa potenza, è dotata di una corrente di lettura di 1 mA (tipica) e di una corrente di standby di 1 μA (tipica). Dispone inoltre di ingressi con trigger di Schmitt per la soppressione del rumore e di controllo della pendenza in uscita per eliminare il rimbalzo a terra, e una compatibilità di clock di 100 kHz e 400 kHz. La protezione ESD del dispositivo è > 4.000 V. Ha più di 1 milione di cicli di cancellazione/scrittura e memorizzazione dei dati per più di 200 anni. Le applicazioni sono nel settore industriale e automobilistico.
In confronto, le EEPROM parallele sono memorie non volatili che comunicano tramite un'interfaccia parallela, hanno un bus dati a 8 bit e un bus indirizzi sufficientemente ampio per coprire l'intera memoria. Quasi tutte le EEPROM parallele sono dotate di pin per la selezione del chip e di protezione in scrittura. I microcontroller possono avere delle EEPROM parallele integrate. Mentre sono più veloci delle EEPROM seriali, sono più grandi per via del numero di pin più elevato, 28 o più, per cui sono usate meno spesso, dato che i prodotti finiti tendono a ridursi a fattori di forma più piccoli.
Un esempio è la EEPROM parallela 5962-8751408XA a 64 K bit, 8K x 8 5 V, 28 Pin di e2v che ha una tipica tensione d'alimentazione d'esercizio di 5 V e una corrente di funzionamento di 80 mA. Garantisce la memorizzazione dei dati per 10 anni, montaggio a foro passante e 28 pin.