EPROM

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
EPROM degli anni settanta da 256 byte

In elettronica digitale, la EPROM, acronimo di Erasable Programmable Read Only Memory, ovvero memoria di sola lettura programmabile e cancellabile, è una memoria informatica di sola lettura cancellabile tramite raggi ultravioletti. Si tratta di un'evoluzione della PROM che, una volta programmata, non può più essere in generale modificata. La EPROM invece può essere totalmente cancellata, per un numero limitato ma consistente di volte, e riprogrammata a piacimento.

L'invenzione, avvenuta nel 1971, è dovuta ad un ingegnere israeliano, Dov Frohman, fuoriuscito dalla Fairchild Semiconductor per unirsi a Moore, Noyce e Grove, fondatori della società Intel, che a loro volta erano usciti dalla Fairchild l'anno prima.

Tali memorie si basano sul transistor ad effetto di campo FAMOS (Floating-gate Avalanche Injection MOS), un tipo di Floating Gate MOSFET a canale p programmabile mediante breakdown a valanga.

Tipi di EPROM[modifica | modifica wikitesto]

Ingrandimenti del die di una EPROM

Sono stati prodotti diversi tipi di EPROM che si differenziano - oltre che per la capacità di memoria disponibile, anche per la velocità (tempo di accesso) e per le tensioni di lavoro e di programmazione. Generalmente ciascun programmatore ha un elenco di chip, divisi per produttore, per automatizzare le operazioni di impostazione ai fini della programmazione, la quale poteva essere effettuata in due modi: trasferire all'Eprom-Programmer il file in codice esadecimale residente su floppy o hard disk di un computer tramite un'interfaccia, oppure copiare direttamente il contenuto di una EPROM campione, in una o più EPROM vergini.

Piedinatura della 1ª EPROM commercializzata denominata 1702 e prodotta dalla Intel dal 1971 e capostipite di tutte le altre piedinature sauccessive

Le EPROM con capacità fino a 4096 byte (32768 celle), con sigla commerciale 2732, adottavano un package a 24 pin, interamente occupati dai 12 fili di indirizzo, 8 fili dei dati, 1 di selezione chip, 1 per la programmazione e 2 per l'alimentazione. Per le versioni successive, a partire dal chip siglato 2764, avente capacità doppia (8192 byte per un totale di 65536 celle), si rese necessario impiegare un package a 28 pin, venendo a mancare il pin necessario ad ospitare il tredicesimo filo di indirizzo; più avanti nel tempo con l'aumentare di capacità, anche il package a 28 pin non fu più sufficiente. Il package era unicamente ceramico, dovendo garantire la tenuta stagna della finestra.

A partire dal chip con capacità di 8 Kbyte in poi, alcuni di questi tipi di memoria furono prodotti anche usando la tecnologia CMOS, consentendo una forte riduzione nel consumo di corrente a beneficio anche di una minore produzione di calore.

Programmazione[modifica | modifica wikitesto]

EPROM in tecnologia CMOS da 32 KB (256 Kbit)

L'architettura di una memoria EPROM è simile a quella delle Read Only Memory, dalle quali discende, e si basa sull'elemento di memoria FAMOS, un Floating Gate MOSFET a canale p programmabile mediante breakdown a valanga nella regione di drain al di sotto del gate: applicando una forte corrente tra drain e source, alcuni elettroni caldi riescono a penetrare nel gate flottante grazie al campo elettrico positivo presente nell'ossido generato dall'accoppiamento capacitivo tra Floating-gate e drain. La cella è programmata quando nel gate flottante è presente una carica tale da inibire l'accensione del dispositivo aumentando considerevolmente il valore della tensione di soglia.

Vista laterale di un transistor MOSFET a gate flottante

Per i primi dispositivi esisteva un metodo per velocizzare la programmazione: nelle specifiche fornite del costruttore sulle temporizzazioni dei segnali è indicato anche il tempo di programmazione, cioè la durata di permanenza della tensione di programmazione sul pin adibito a questa funzione, che è dell'ordine di qualche decina di millisecondi. Dal momento che tale valore è sovrastimato, si adotta un metodo detto adattativo, il quale consiste in due operazioni ripetute più volte: viene fornita la tensione di programmazione per un decimo del tempo standard, quindi viene letta la cella e si ripete il ciclo fino a che la cella non risulta essere programmata, e a questo punto viene fornita tensione di programmazione per un tempo uguale alla somma dei tentativi di programmazione precedenti, ottenendo così la certezza di stabilità del dato scritto. Tale sequenza è gestita in automatico dal firmware dell'eprom programmer.

Cancellazione[modifica | modifica wikitesto]

Questo Microcontrollore 8749 mantiene il suo programma in una EPROM interna

Per permettere l'irradiazione ultravioletta, il die della EPROM è posizionato nel package al di sotto di una finestrella trasparente. Nelle prime versioni, la finestra veniva chiusa con una sottile lastrina di quarzo, in seguito fu utilizzato il semplice vetro, utilizzando la quantità necessaria a coprire come una lente il foro tondo ricavato nella metà superiore del package ceramico destinato a questo dispositivo. La cancellazione avveniva per mezzo di un attrezzo chiamato Eprom Eraser, una semplice scatola contenente una lampada a raggi UV di tipo UV-C e un temporizzatore elettromeccanico, il quale permetteva di impostare il tempo di irradiazione fino ad un massimo di 45 minuti; gli Eraser più piccoli erano dotati di una lampada in grado di cancellare in un'unica operazione una dozzina di EPROM. La cancellazione consisteva nel portare tutti i bit (celle o locazioni) a valore alto (1), la EPROM a questo punto tornava a essere programmabile. Le EPROM sono ormai da considerare obsolete e non vengono praticamente più usate. Sono state sostituite dalle memorie flash o EEPROM che possono essere cancellate elettricamente senza dover ricorrere ai raggi UV.

Tipi di Eprom[modifica | modifica wikitesto]

Tipo di EPROM Anno Dimens — bit Dimens — byte Lunghezza (esadecimale) Ultimo indir (esadecimale]) Tecnologia
1702, 1702A 1971 2 Kbit 256 100 FF PMOS
2704 1975 4 Kbit 512 200 1FF NMOS
2708 1975 8 Kbit 1 KB 400 3FF NMOS
2716, 27C16, TMS2716, 2516 1977 16 Kbit 2 KB 800 7FF NMOS/CMOS
2732, 27C32, 2532 1979 32 Kbit 4 KB 1000 FFF NMOS/CMOS
2764, 27C64, 2564 64 Kbit 8 KB 2000 1FFF NMOS/CMOS
27128, 27C128 128 Kbit 16 KB 4000 3FFF NMOS/CMOS
27256, 27C256 256 Kbit 32 KB 8000 7FFF NMOS/CMOS
27512, 27C512 512 Kbit 64 KB 10000 FFFF NMOS/CMOS
27C010, 27C100 1 Mbit 128 KB 20000 1FFFF CMOS
27C020 2 Mbit 256 KB 40000 3FFFF CMOS
27C040, 27C400, 27C4001 4 Mbit 512 KB 80000 7FFFF CMOS
27C080 8 Mbit 1 MB 100000 FFFFF CMOS
27C160 16 Mbit 2 MB 200000 1FFFFF CMOS
27C320, 27C322 32 Mbit 4 MB 400000 3FFFFF CMOS

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Controllo di autoritàGND (DE4134129-6