Memorie a semiconduttore: SRAM, DRAM e flash
Organizzazione a matrice con decodificatore e amplificatori di lettura, cella SRAM a sei transistor, cella DRAM e refresh, flash a gate flottante NOR e NAND, confronto e nuove tecnologie.
Le memorie a semiconduttore sono i circuiti integrati prodotti in maggior numero: la RAM dei computer, la flash dei telefoni e delle chiavette, le cache dentro i processori. Sono matrici regolari di milioni o miliardi di celle identiche, e il tipo di cella decide velocità, densità, consumo e se i dati restano a circuito spento. In questa lezione vediamo l’organizzazione di una memoria e le celle SRAM, DRAM e flash.
L’organizzazione

Le celle sono disposte in una matrice quadrata, più compatta di una lunga fila. L’indirizzo si divide in due parti:
- l’indirizzo di riga va a un decodificatore (lezione sulle reti combinatorie) che attiva una sola linea di parola (word line): tutte le celle di quella riga si collegano alle loro linee di bit (bit line);
- l’indirizzo di colonna comanda un multiplexer che sceglie, tra tutte le linee di bit, quelle del dato richiesto.
I segnali sulle linee di bit sono piccolissimi (la cella è minuscola e la linea lunga e capacitiva), quindi in fondo a ogni colonna c’è un amplificatore di lettura (sense amplifier), di solito un latch che amplifica una differenza di pochi millivolt fino al livello logico.
La SRAM
La cella SRAM (statica) è fatta di sei transistor: due invertitori CMOS ad anello, il latch visto nella lezione sui flip-flop, e due transistor di accesso che lo collegano alle due linee di bit (vera e negata) quando la linea di parola è attiva. Finché è alimentata conserva il dato senza bisogno di nulla, si legge senza distruggerlo e in pochissimo tempo: è la memoria delle cache e dei registri. Il difetto è l’area: sei transistor per bit. Per questo le cache sono di pochi megabyte anche nei processori più grandi.
La DRAM
La cella DRAM (dinamica) è la più semplice possibile: un transistor e un condensatore. Il bit è la carica del condensatore, di qualche decina di femtofarad. Per leggerlo si attiva la linea di parola, e il condensatore condivide la sua carica con la linea di bit, spostandone la tensione di pochi millivolt; l’amplificatore di lettura rileva lo spostamento.
Due conseguenze:
- la lettura è distruttiva: dopo averla letta, l’amplificatore deve riscrivere la riga;
- il condensatore si scarica lentamente per le perdite del transistor e della giunzione: ogni cella va riletta e riscritta periodicamente (refresh), tipicamente ogni 64 ms. Con 8192 righe da rinfrescare, un comando di refresh ogni 7,8 µs.
La DRAM è densa ed economica, ed è la memoria principale di tutti i computer e telefoni. Le DRAM moderne (DDR4, DDR5, LPDDR) sono organizzate in molti banchi indipendenti e trasferiscono i dati su entrambi i fronti del clock, a migliaia di megatrasferimenti al secondo, ma il tempo per accedere a una riga nuova resta intorno ai 15 ns: per questo servono le cache.
La flash
Le memorie non volatili conservano i dati senza alimentazione. Nella flash ogni cella è un MOSFET con un secondo gate, il gate flottante, completamente isolato nell’ossido. Applicando tensioni alte (10-20 V) si spingono elettroni nel gate flottante per effetto tunnel, o li si toglie; la carica intrappolata sposta la tensione di soglia del transistor, e leggendo se conduce o no a una tensione intermedia si ricava il bit. Gli elettroni restano intrappolati per anni.
- Le flash NOR collegano le celle in parallelo: lettura casuale veloce, usate per il codice dei microcontrollori, che lo eseguono direttamente.
- Le flash NAND collegano le celle in serie in stringhe: molto più dense ed economiche, si leggono e scrivono a pagine (qualche kilobyte) e si cancellano a blocchi (centinaia di kilobyte). Sono la memoria degli SSD, delle schede e dei telefoni.
Per aumentare la densità ogni cella memorizza più bit distinguendo più livelli di carica (MLC 2 bit, TLC 3, QLC 4) e le celle sono impilate in verticale, oltre duecento strati (3D NAND). Il prezzo è la durata: ogni ciclo di scrittura e cancellazione danneggia un po’ l’ossido, e una cella sopporta da qualche migliaio a centomila cicli. Il controllore dell’SSD distribuisce le scritture su tutte le celle (wear leveling) e corregge gli errori con codici potenti.
Il confronto
| Memoria | Cella | Volatile | Velocità | Densità | Uso |
|---|---|---|---|---|---|
| SRAM | 6 transistor | sì | la più alta | bassa | cache, registri |
| DRAM | 1 transistor + 1 condensatore | sì, con refresh | alta | alta | memoria principale |
| flash NOR | 1 transistor a gate flottante | no | lettura alta, scrittura lenta | media | codice dei microcontrollori |
| flash NAND | celle in serie, più bit per cella | no | per pagine | la più alta | SSD, telefoni, schede |
| EEPROM | 2 transistor | no | lenta | bassa | piccoli dati di configurazione |
Nuove tecnologie cercano di unire velocità e non volatilità: memorie magnetiche (MRAM), a cambiamento di fase, resistive. La MRAM è già usata in alcuni microcontrollori e nelle cache di sistemi a basso consumo.





