Memorie non volatili - gate flottante, EPROM, EEPROM e Flash
In questa pagina 7
Una memoria non volatile conserva il contenuto togliendo l'alimentazione, a differenza di SRAM e DRAM (SRAM e DRAMSRAM e DRAM sono memorie volatili ad accesso casuale. La cella SRAM a 6 transistor è un latch di due inverter (M1-M4) con due n-MOS di accesso (M5, M6) pilotati dalla word line: uscita differenziale, veloce, grande. Lettura: BL e BL̄ precaricate, l'n-MOS driver abbassa leggermente il lato che memorizza 0 (il transistor driver deve essere più forte di quello di accesso, così il nodo non supera la soglia degli inverter); scrittura: una BL forzata a 0 porta il nodo sotto la soglia logica degli inverter in retroazione positiva, che poi si ribaltano. La DRAM a 1 transistor ha un n-MOS di accesso e una capacità di storage C_S: scrittura caricando C_S dalla BL (si perde V_T: bootstrap della WL), lettura per ridistribuzione di carica con la BL precaricata, ΔV = C_S/(C_BL + C_S)(V_X − V_PRE) ≈ 100-250 mV, distruttiva: servono sense amplifier per ogni BL e refresh periodico. Celle DRAM a 3 transistor: lettura non distruttiva.SRAM e DRAM →). La struttura a matrice e la lettura sono quelle della ROM (Memorie a semiconduttore - struttura a matrice, decoder e ROMLe memorie a semiconduttore si classificano in lettura/scrittura (SRAM, DRAM: volatili) e sola lettura (ROM a maschera, PROM, EPROM, EEPROM, Flash: non volatili); l'accesso è casuale o non casuale (FIFO, registri a scorrimento, CAM). La struttura è a matrice di celle: una word line (WL) seleziona una riga attraverso il decoder di riga (N indirizzi → 2^N WL), una bit line (BL) porta il dato alla colonna scelta dal decoder/multiplexer di colonna e dal sense amplifier. La ROM a NOR ha per ogni bit line un p-MOS di carico e n-MOS dove il bit è 0 (con WL alta tirano la BL a massa): compatta e veloce; la ROM a NAND ha serie di n-MOS ed è molto più piccola ma più lenta. Ritardo di una WL: R del polisilicio × C dei gate (Elmore); di una BL: C dei drain con la R dei transistor o del carico.Memorie a semiconduttore - struttura a matrice, decoder e ROM →); cambia il modo in cui la cella viene programmata.
PROM: fusibili e antifusibili
Una ROM standard viene programmata all'ultimo passo del processo (ultimo livello di metallo). Una PROM (programmable ROM) può essere programmata dall'utente una sola volta:
- a fusibili: le connessioni sono inizialmente a bassa resistenza; la programmazione fa passare una corrente elevata che le interrompe, e il fusibile diventa un circuito aperto. Se il collegamento tra il drain del transistor di cella e la linea dati resta, quando la word line si attiva il transistor porta la linea dati a ; se è stato interrotto la linea resta a : l'interruzione programma un .
- ad antifusibili: inizialmente sono connessioni a resistenza elevatissima (silicio amorfo, isolante discreto); un impulso di tensione elevata provoca una scarica che trasforma il silicio amorfo in policristallino, buon conduttore: la connessione diventa a bassa resistenza. Sono usate anche nei PLD (Dispositivi logici programmabili - PROM, PLA, PAL e CPLDUn componente logico programmabile (PLD) è un circuito integrato a catalogo la cui funzione logica viene fissata da una programmazione che altera la struttura del circuito (non va confusa con la programmazione software di un microprocessore). I meccanismi sono fusibili, antifusibili (una volta), EPROM/EEPROM/Flash (reversibili e non volatili) e celle SRAM (reversibili ma volatili). Le architetture semplici (SPLD) sono due piani AND-OR: PROM (AND fisso, cioè un decoder di tutti i mintermini, OR programmabile), PLA (entrambi programmabili, dimensione indipendente dal numero di ingressi, più lenta) e PAL (AND programmabile, OR fisso, più veloce). I CPLD sono matrici di blocchi SPLD con interconnessioni programmabili, le FPGA hanno molti blocchi logici piccoli (LUT + registro) in una griglia di interconnessioni complessa, configurata da SRAM.Dispositivi logici programmabili - PROM, PLA, PAL e CPLD →).
Il transistor a gate flottante
Per rendere riprogrammabile la cella si inserisce un secondo gate di polisilicio, il gate flottante (floating gate, FAMOS), completamente isolato da ossido, tra il canale e il gate di controllo.
- Una carica (elettroni) intrappolata sul gate flottante vi rimane per anni (ritenzione tipica di circa anni) perché è circondata da ossido.
- Gli elettroni sul gate flottante schermano il canale: la tensione di soglia vista dal gate di controllo aumenta di , dove è la capacità tra gate di controllo e gate flottante. Esempio: elettroni su : .
- Un transistor programmato (carico) ha una soglia così alta da restare spento a tutte le tensioni di gate di lettura, fino a (): equivale all'assenza del transistor nella ROM a NOR (la bit line resta a : bit ). Un transistor non programmato ha la soglia nominale e conduce con : bit .
- La lettura non altera la carica: si porta la WL a e si osserva se la bit line viene tirata giù.
EPROM
L'EPROM (erasable PROM) programma le celle in modo elettrico e individuale, portando a tensioni elevate (per esempio – sul gate di controllo e circa – sul drain) la riga e la colonna: i portatori accelerati nel canale ("caldi") acquistano energia sufficiente per saltare la barriera dell'ossido ed essere iniettati sul gate flottante (iniezione di portatori caldi). Togliendo le tensioni, il gate flottante rimane carico. La cancellazione è collettiva e richiede l'esposizione del chip a radiazione UV (la finestra di quarzo sul package): i fotoni danno agli elettroni l'energia per tornare nel substrato. Non è cancellabile cella per cella né senza togliere il chip.
EEPROM
L'EEPROM (o E²PROM) è cancellabile elettricamente, anche per la singola cella. Si usa il transistor FLOTOX (floating-gate tunnel oxide): in una piccola zona sopra il drain l'ossido è più sottile ( contro –) e un campo elevato (tensione di circa tra gate e drain) provoca effetto tunnel di Fowler-Nordheim: gli elettroni passano attraverso l'ossido sottile, in un verso per programmare e nell'altro per cancellare. Problemi:
- il controllo esatto della soglia dopo la cancellazione è difficile: i transistor non programmati potrebbero finire in svuotamento (conducono anche con ), e porterebbero a la bit line anche con la riga non selezionata;
- per questo ogni cella ha due transistor: il FLOTOX più un normale n-MOS di selezione in serie, e l'area è quasi doppia di quella di una EPROM (meno bit per chip).
Flash
La memoria Flash è una variante più densa dell'EEPROM: la cella è un solo transistor a gate flottante (con ossido di tunnel sottile) e la cancellazione avviene per blocchi o settori (e non per singola cella) applicando una tensione elevata sul source, con i gate a massa: gli elettroni escono dal gate flottante verso il source per tunnel. La programmazione è per iniezione di portatori caldi (gate di controllo a circa , drain a circa ) e la lettura con WL a e drain a tensione bassa.
- Struttura NOR: le celle in parallelo su ciascuna bit line, come in una ROM NOR (lettura rapida e accesso casuale; usata per il codice).
- Struttura NAND: celle in serie (più compatta, più lenta in lettura, scrittura per pagine; usata per l'archiviazione di massa). Limiti: numero di cicli di cancellazione finito (da a ) per il degrado dell'ossido, e cancellazione non puntuale.
Confronto
| tipo | programmazione | cancellazione | transistor/cella |
|---|---|---|---|
| ROM a maschera | in fabbricazione | no | 1 (o nessuno) |
| PROM | elettrica, una volta | no | 1 |
| EPROM | portatori caldi | collettiva, UV | 1 |
| EEPROM | tunnel (FLOTOX) | elettrica, per cella | 2 |
| Flash | portatori caldi o tunnel | elettrica, per blocco | 1 |
Errori comuni
- Dire che nella Flash il dato è perso togliendo alimentazione: è non volatile.
- Dire che la cancellazione dell'EPROM è elettrica o per cella: richiede UV ed è collettiva.
- Scambiare la polarità: il transistor programmato ha soglia più alta, non più bassa.
- Dimenticare il transistor di selezione dell'EEPROM (due transistor per cella).
Versione ripasso
- PROM: fusibili (interrompendo si programma un ; corrente elevata) o antifusibili (silicio amorfo policristallino con tensione elevata); una sola volta.
- Gate flottante: poly isolato tra canale e gate di controllo; carica intrappolata (ritenzione anni) (, fF: V); programmato: , spento in lettura (bit come transistor assente), lettura non distruttiva.
- EPROM: programmazione con portatori caldi (alte tensioni su riga e colonna), cancellazione collettiva con UV.
- EEPROM: FLOTOX, tunnel Fowler-Nordheim ( nm, V); cancellazione elettrica per cella; due transistor per cella (area ) per evitare lo svuotamento.
- Flash: variante densa dell'EEPROM, un transistor per cella, cancellazione a blocchi/settori; NOR (accesso casuale) o NAND (compatta); cicli limitati (–).
- Errori: Flash volatile; EPROM cancellabile per cella; soglia più bassa; transistor di selezione dimenticato.