Vai al contenuto
Elettronica dei Sistemi Digitali

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

Organizzazione di una memoria a matrice e cella DRAM
A sinistra la matrice di celle: il decodificatore di riga, comandato dalla parte alta dell’indirizzo, attiva una riga; il multiplexer di colonna, comandato dalla parte bassa, sceglie il dato da quella riga. A destra una cella DRAM: un transistor comandato dalla linea di parola collega un condensatore alla linea di bit.

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

MemoriaCellaVolatileVelocitàDensitàUso
SRAM6 transistorsìla più altabassacache, registri
DRAM1 transistor + 1 condensatoresì, con refreshaltaaltamemoria principale
flash NOR1 transistor a gate flottantenolettura alta, scrittura lentamediacodice dei microcontrollori
flash NANDcelle in serie, più bit per cellanoper paginela più altaSSD, telefoni, schede
EEPROM2 transistornolentabassapiccoli 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.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x