Sei sulla pagina 1di 31

Lezione 16

Circuiti per Memorie


CLASSIFICAZIONE DELLE MEMORIE A
SEMICONDUTTORE
MEMORIE VOLATILI (SRAM - DRAM)
I circuiti di memoria rappresentano un elemento fondamentale nella realizzazione di qualsiasi
macchina per l’elaborazione dell’informazione digitale.
E’ possibile dimostrare come un circuito sequenziale, in cui in un qualsiasi istante di tempo la sua uscita
dipenda anche dagli ingressi (stati) negli istanti precedenti, possa essere realizzato tramite l’unione di
un circuito combinatorio e da un elemento di memoria.

1. L’operazione di memorizzazione può essere effettuata mediante due distinti meccanismi fisici:
utilizzando circuiti con feedback positivo: in questo caso il dato immagazzinato viene conservato fin
quando la memoria è alimentata. Si parla di memorie statiche.

2. Utilizzando la carica immagazzinata in una capacità per preservare il dato memorizzato: in questo
caso la carica tende a modificarsi nel tempo a causa di correnti di perdita indesiderate (leakage). Il
dato può essere conservato solo per un tempo limitato. Si parla di memorie dinamiche.

• Le memorie statiche sono più “robuste”.


• Le memorie dinamiche sono più semplici ed occupano quindi meno area.
MEMORIE AD ACCESSO CAUSALE
Le memorie ad eccesso casuale permettono la lettura e la scrittura dei dati in «maniera casuale»,
ovvero il tempo di accesso ad una locazione di memoria non dipende dalla posizione di
quest’ultima (in opposizione, ad esempio, a quanto accadeva nelle memorie a nastro).
Tali memorie sono composte da un numero estremamente elevato di celle elementari. Per
ottimizzare l’occupazione di area sul silicio tali memorie sono organizzate in maniera ordinata
seguendo un layout matriciale con A = 2N righe e B = 2M colonne, ottenendo così una capacità di C
= A×B = 2N+M
Le righe sono dette word-line, mentre le colonne bit-line: all’incrocio tra ogni WL e BL troviamo
una cella elementare.
La selezione di una particolare cella di memoria avviene attraverso l’utilizzo di due decoder:
decoder di riga e decoder di colonna; il primo presenterà N linee di ingresso, il secondo M linee di
ingresso.
L’architettura di tali memorie si completa attraverso i circuiti di lettura e scrittura del dato nella
cella elementare.
MEMORIE AD ACCESSO CAUSALE

Come realizziamo la cella di memoria elementare?


MEMORIE STATICHE:
IL LATCH ELEMENTARE
L’elemento base dei circuiti di memoria statici è il bistabile elementare. Il circuito è costituito da due
invertitori in cascata collegati come in figura:

Questo semplice sistema possiede tre


possibili stati stazionari. Due di questi
stati sono stabili, l’altro è instabile.
IL LATCH ELEMENTARE: caratteristica
di trasferimento
La relazione che lega Vout con Vin sarà di tipo non-invertente
(poiché ci sono due inverter in cascata).
Per ottenere i punti di lavoro dobbiamo considerare che nel
circuito effettivo Vout = Vin. Questa relazione rappresenta la
bisettrice del primo quadrante. I punti di equilibrio del
circuito sono tre, dati dalle intersezioni delle due curve. B
corrisponde alla condizione Vout=Vin=VOH. A corrisponde
alla condizione Vout=Vin=VOL. X corrispondente a
Vout=Vin=VSL.
E’ facile verificare che una perturbazione dell’ingresso
quando il bistabile si trova nei punti A,B viene rigettata a
causa della condizione dVout/dVin=0. Diversamente, un
disturbo nel punto di funzionamento X verrà amplificato,
facendo convergere il bistabile in uno dei due stati stabili A,B.
CELLE DI MEMORIA SRAM
• Le memorie SRAM sono le più veloci (sono utilizzate, ad esempio, nella cache dei
processori.
• Sono in grado di memorizzare l’informazione fin quando sono alimentate.
• Utilizzano 4 oppure 6 MOS per cella (sono costose, richiedendo un’elevata area di
silicio).
CELLA SRAM 4T
Il bistabile è composto da due invertitori
con carico resistivo, cui si aggiungono due
dispositivi di accesso (porte di trasmissione
NMOS). Le resistenze sono di valore
estremamente elevato (1012Ω) Rpoly per
ridurre la dissipazione di potenza. Si
adottano tecnologie particolari per
realizzare resistenze così elevate con una
minima occupazione di area (polisilicio
debolmente drogato).
La fase di scrittura è di immediata
comprensione: si portano D e notD ai valori
desiderati per la memorizzazione; si
abilitano le WL e dopo un tempo di scrittura
(utile ad imporre uno stato stabile al latch)
si disabilitano le WL.
CELLA SRAM 6T
• Questa volta il bistabile è
costituito da 2 invertitori
CMOS. Esiste anche la
versione con porte di
trasmissione CMOS (cella
8T). Le modalità di
lettura/scrittura sono le
stesse della cella 4T.
• Tale cella presenta il
vantaggio di non avere
potenza statica dissipata.
• I mosfet sono tutti
dimensionati ad area
minima per massimizzare la
densità di bit sul silicio.
LETTURA DI UNA CELLA 4T
La fase di lettura è estremamente delicata: bisogna fare attenzione a non alterare il dato memorizzato nella
cella. Per velocizzare e rendere più robusta la fase di lettura, vengono utilizzare particolari circuiti detti
sense-amplifier.
• Bisogna portare D e notD
allo stesso valore di
tensione: fase di precarica.
• Abilitare le WL;
LETTURA DI UNA CELLA 4T
La fase di lettura è estremamente delicata: bisogna fare attenzione a non alterare il dato memorizzato nella
cella. Per velocizzare e rendere più robusta la fase di lettura, vengono utilizzare particolari circuiti detti
sense-amplifier.
• Bisogna portare D e notD
allo stesso valore di
tensione: fase di precarica.
• Abilitare le WL;
LETTURA DI UNA CELLA 4T
Nasce quindi l’esigenza di utilizzare una rete di precarica:

Mediante un circuito ausiliario


(rete di precarica), le capacità
parassite delle due bitlines
vengono precaricate ad un
valore di tensione prefissato
«Vpre». In questa fase la
wordline è a zero, in modo da
non disturbare la cella di
memoria.
In tal modo superiamo il
problema imposto da Rlinea <<
Rpoly.
Ora ci chiediamo: a che valore
di tensione precarichiamo?
LETTURA DI UNA CELLA 4T: VPRE = VOL
LETTURA DI UNA CELLA 4T: VPRE = VOL
LETTURA DI UNA CELLA 4T: VPRE = VOH
LETTURA DI UNA CELLA 4T: VPRE = VOH
LETTURA DI UNA CELLA 4T
VPRE: VOH vs VOL
CELLE DI MEMORIA DRAM
• Le memorie dinamiche, DRAM, sono le più compatte.
• Sono in grado di memorizzare l’informazione solo per un ridotto intervallo di tempo
(qualche millisecondo); richiedono poi una periodica operazione di refresh per evitare
che le informazioni memorizzate vengano perse.
• Utilizzano 4 MOS oppure 1 MOS per cella.
CELLA DI MEMORIA DRAM 4T

• Non sono più presenti le


resistenze Rpoly: non è più
presente il feedback del
bistabile.
• In questo caso l’informazione
è memorizzata nella carica
accumulata nelle capacità di
GATE dei MOSFET.
CELLA DI MEMORIA DRAM 1T

• Nelle DRAM c’è una singola bitline per ogni


colonna della memoria (struttura più
compatta rispetto alla SRAM).
• La memorizzazione è ancora affidata alla
carica immagazzinata nella capacità di GATE
di un MOSFET.
• Quest ultimo non è realizzato per intero nel
silicio: viene realizzata solo la struttura del
condensatore MOS.
CELLA DI MEMORIA DRAM 1T
La presenza dell’amplificatore di lettura è fondamentale nelle DRAM. La tensione sulla
bitline viene infatti riportata a 0V oppure a VDD dall’amplificatore di lettura e ciò
ripristina la carica sulla capacità.

• La lettura, grazie alla presenza


dell’amplificatore, consente in
effetti di ripristinare la carica
nella capacità.
• L’operazione di refresh deve
essere effettuata anche quando
non è richiesta la lettura di
nessun dato, per evitare che le
correnti di perdita alterino la
carica immagazzinata nelle
capacità.
MEMORIE NON VOLATILI
Possono essere read only memory oppure read/write memory. Nelle R/W memories i dati possono essere
aggiornati, sebbene i tempi di scrittura siano maggiori rispetto a quelli di lettura. La memoria conserva i suoi
dati anche in assenza di alimentazione.

Si suddividono in:
• PROM: (Programmable-ROM) sono programmabili dall’utente una sola volta.
• EPROM: (Erasable PROM) sono programmabili dall’utente più volte ma necessitano di una fase di
cancellazione che utilizza esposizione a radiazione ultravioletta.
• EEPROM (Electrically Erasable PROM) sono programmabili dall’utente più volte grazie ad opportuni
segnali di controllo.
• FLASH: caratteristiche simili alle EEPROM, consentono di ottenere maggiori densità di integrazione.

Ogni memoria deve disporre di: Un indirizzo binario costituito da P-bit, con il quale si può selezionare una
fra 2P locazioni di memoria. Un bus dati da Q-bit che contiene il dato letto dalla locazione di memoria
indirizzata, o il dato da scrivere nella locazione di memoria.
MEMORIE NON VOLATILI: ROM
Facciamo l’esempio di una memoria ROM da quattro parole di 4 bit:
MEMORIE NON VOLATILI: ROM

• Nelle ROM programmate “a livello


maschera” il contenuto della
memoria viene definito all’atto della
costruzione del chip, creando o non
creando i dispositivi MOS nella varie
locazioni della matrice di memoria.
• Svantaggio: approccio non versatile:
la modifica di un singolo bit della
memoria richiede il progetto di un
nuovo chip, con i costi ed i tempi
relativi.
MEMORIE NON VOLATILI: PROM
Memorie PROM: la matrice di memoria è completamente popolata di dispositivi. In
serie ad ogni dispositivi c’è un fusibile/antifusibile. In fase di programmazione, l’utente
applicando opportuni impulsi di tensione può interrompere i fusibili nelle locazioni
desiderate e personalizzare in questo modo la memoria. Le PROM sono programmabili
una sola volta.
MEMORIE NON VOLATILI SCRIVIBILI E
2
CANCELLABILI: EPROM – E PROM - FLASH
Le memorie EPROM, EEPROM e FLASH hanno una architettura simile a quella vista per le memorie PROM.
La sostanziale differenza sta nel fatto che, al posto dei meccanismi fusibile/antifusibile per la
programmazione, utilizzano dei dispositivi MOS particolari che includono una gate flottante. Solo la control
gate è accessibile dall’esterno. La gate flottante è invece isolata dall’ossido di silicio. Lo spessore dell’ossido
che separa la floating gate del silicio sottostante è di pochi nanometri.
Questo particolare MOSFET è detto MOSFET a doppia gate o anche floating-gate avalanche MOSFET
(FAMOS).
Il dispositivo si comporta come un MOS standard. Il valore della tensione di soglia, tuttavia, può essere
modificato, effettuando una opportuna “programmazione “ del dispositivo. A tale scopo, gate e drain
vengono collegati ad una tensione positiva, di valore superiore a quella di normale funzionamento del
dispositivo. Si innesca un fenomeno denominato “iniezione a valanga” a causa del quale alcuni elettroni
che fluiscono nel canale vengono intrappolati nella gate flottante. La gate flottante si carica negativamente.
Al termine del processo, il dispositivo esibisce una tensione di soglia più alta di quella iniziale. La carica
immagazzinata nella gate flottante resta intrappolata per un tempo lunghissimo (decine di anni);
MOSFET A DOPPIA GATE
MOSFET A DOPPIA GATE
MEMORIE EPROM - EEPROM
• Nelle EPROM: la matrice di memoria è completamente
popolata di dispositivi a gate flottante. possono essere
cancellate, esponendo il chip a radiazione ultravioletta
che rende l’ossido di silicio debolmente conduttore
disperdendo la carica immagazzinata nella gate flottante.
Le EPROM dispongono a tale scopo, di contenitori
(packages) dotati di una finestra trasparente. Il
dispositivo viene programmato per effetto tunnel di hot-
electron. E’ possibile scrivere un singolo bit, la
cancellazione viene fatta simultaneamente sull’intero
chip.
• Nelle EEPROM il meccanismo di scrittura e cancellazione
è affidato al tunneling Fowler-Nordheim. La cancellazione
può essere fatta a livello del singolo bit.
MEMORIE FLASH
Le memorie FLASH utilizzano il meccanismo di iniezione di elettroni caldi (hot electron) per la
programmazione, mentre per la cancellazione di fa uso del tunneling Fowler-Nordheim. La scrittura avviene
ancora per singolo bit, mentre la cancellazione, essendo la memoria è suddivisa in blocchi, avviene per interi
blocchi. Se si deve modificare qualche locazione di memoria in un blocco, l’intero blocco viene cancellato e
tutte le sue locazioni vengono riscritte. Da notare che per ogni cella di una FLASH si può realizzare un numero
finito di operazioni di cancellazione/programmazione dopo il quale la cella si logora. Il numero di cicli è
tipicamente compreso fra 105 e 106

Potrebbero piacerti anche