- parti del sistema dedicate all'immagazzinamento di dati e istruzioni - occupano la maggior parte dell'area di un microprocessore - maggiore versatilità nelle regole di progetto rispetto alle porte logiche Classificazione delle memorie Memoria volatile Memoria non volatile circuito non alimentato: dati persi circuito non alimentato: dati conservati RWM NVRWM ROM Random Access Non-Random Access EPROM Programmate all'origine EEPROM Programmabili (PROM) SRAM FIFO FLASH DRAM LIFO Shift Register CAM In base al livello di astrazione, l'unità base delle memorie è data da: livello di circuito livello di chip livello di sistema bit (cella individuale) byte (gruppo di 8o9bits) word
Uso dei decodificatori Architettura di una memoria NxM senza decodificatore M bits S 0 Word 0 Nwords S 1 S 2 S N-2 S N_1 Word 1 Word 2 Word N-2 Word N-1 Cella di memoria N words selezione di N segnali se N elevato problemi di collegamento e di impacchettamento Input-Output (M bits) Architettura con decodificatore M bits A 0 A 1 A K-1 DECODIFICATORE S 0 Word 0 Word 1 Word 2 Word N-2 Word N-1 Cella di memoria - Decodificatore riduce il numero di linee da N a k K = log 2 N Input-Output (M bits)
Architettura di una memoria NxM con struttura a matrice se k >>M altezza >> larghezza (Progetto ottimo se rapporto di aspetto 1) 2 L-K Bit Line Cella di memoria A K A K+1 A L-1 DECODIFICATORE DI RIGA Word Line 2 K M SENSE AMPLIFIERS/DRIVERS ripristina lo swing logico al massimo valore (V ) DD A 0 A K-1 DECODIFICATORE DI COLONNA abilita la word selezionata Input-Output (M bits) Architettura di una memoria NxM con struttura gerarchica Blocco 0 Blocco 1... Blocco P-1 Indirizzo di riga Indirizzo di colonna Indirizzo di blocco Bus dati globale CIRCUITERIA DI CONTROLLO Selettore del blocco AMPLIFICATORE/DRIVER GLOBALE I/O 1) collegamenti più brevi tra i blocchi minori tempi di accesso 2) solo un blocco alla volta attivato minore potenza dissipata
Tempi di accesso e di ciclo in lettura e scrittura Ciclo di lettura READ Accesso in lettura Accesso in lettura Ciclo di scrittura WRITE Dati validi Accesso in scrittura DATA Dati scritti Sincronizzazione con le periferiche di input-output Sincronizzazione DRAM: indirizzamento con multiplexer Sincronizzazione SRAM: autoriconoscimento MSB LSB Bus di indirizzo Indirizzo di riga Indirizzo di colonna Bus di indirizzo Indirizzo RAS la transizione dell'indirizzo da inizio alle operazioni di memoria CAS Sincronizzazione RAS-CAS
- memorie non volatili - programmabili una sola volta dal costruttore o dall'utente (PROM) - usate per applicazioni con operazioni ripetitive (lavatrici, calcolatrici, ecc.) Celle ROM nelle diverse tecnologie Diodo Bipolare MOS "1" V CC "0" connessa con resistenza a massa connessa con resistenza a massa connessa con resistenza a "1"=V-V D "1"=V-V BE "1"= "0"=0 "0"=0 "0"=V OL scarso isolamento tra e discreto isolamento tra e completo isolamento tra e
Matrici ROM bipolari e MOS [0] [1] [2] [3] Configurazione bipolare - ogni V per 2 righe (mirroring) DD - attivata per 0 1 [0] [1] [2] [3] V DD V DD resistenze di pull-down dispositivi di pull-up [0] [1] [2] [3] GND GND Configurazione NOR MOS - ogni GND per 2 righe (mirroring) - attivata per 0 1 - pull-down a dimensione minima (V V /2) OL DD [0] [1] [2] [3] Configurazione NAND MOS - minor area (no linee di GND) - funzionamento in logica inversa - attivata per 1 0 - a riposo uguale a 0 - pull-down a dimensione minima dispositivi di pull-up [0] [1] [2] [3] [0] [1] [2] [3]
Modelli equivalenti MOS per il transitorio Modello per ROM a NOR matrice 512x512 Per la word line: polisilicio r word c word vale alcune decine di vale alcune unità di ff c word r word c bit Per la bit line: alluminio r bit vale alcuni decimi di (trascurabile) c bit vale alcune unità di ff Modello per ROM a NAND matrice 512x512 Per la word line: polisilicio C L r word c word vale alcune decine di vale alcune unità di ff r bit c word r word c bit Per la bit line: alluminio r bit vale alcune unità di k (serie di NMOS) c bit vale alcune unità di ff Ritardo di propagazione della ROM a NOR : matrice 512x512 - ritardo della word line vale alcune decine di ns (polisilicio) - ritardo della bit line vale alcune unità di ns (pull-up e pull-down)
Riduzione del tempo di ritardo della word line a) pilotaggio della word line da ambo i lati b) introduzione di un bypass metallico c) utilizzo di siliciuri al posto del polisilicio ( 0.13 ) WSi 2 poly Pilotaggio di da ambo i lati Driver Word line in polisilicio Word line in metallo Introduzione di un bypass metallico Bypass metallico K celle Word line in polisilicio Riduzione della potenza dissipata pre Uso di pull-up precaricati [0] [1] GND ROM a NOR - potenza statica nulla [2] [3] [0] [1] [2] [3] GND - nessun vincolo su dimensioni del pull-up (logica a rapporto) - tecnica attualmente usata anche per NVRWM e RAM
- memorie non volatili - basate su MOS a doppia gate, con seconda gate "fluttuante" (FAMOS,FLOTOX) - riprogrammabili più volte usando tecniche elettriche e raggi UV - programmazione delle celle mediante alterazione della V T - in base ai meccanismi di scrittura/cancellazione EPROM, EEPROM, Flash Campi di applicazione delle NVRWM Telefonia cellulare Beni di consumo Industria dell'auto Computer & comunicazioni EPROM Analogico Giochi Controllo motore Hard Disk Drivers Contenitori PC Fotocopiatrici Fax EEPROM Digitale (GSM) Audio Carrozzeria Schede grafiche Video Stampanti Flash Digitale (GSM) Agenda elettronica Quadro cruscotto Contenitori PC ABS Hard Disk Drivers PC Bios CD-ROM Andamento di mercato delle NVRWM 10 8 Dati del 1998 DRAM = 15 Miliardi $ Mercato della Flash = 2.8 Miliardi $ Total e = 200 Miliardi $ 6 4 2 0 1989 1991 1993 1995 1997 1999 2001 2003 1990 1992 1994 1996 1998 2000 2002 EPROM EEPROM FLASH
ROM programmabile-cancellabile (EPROM) Floating Avalanche MOS (FAMOS) Gate fluttuante Gate Source Drain D t ox G t ox n + p n + S Substrato Operazione di lettura I D NEUTRO "1" V T Q C FG CARICO "0" I read ("1") "1" Q=0 I read >>0 "0" Q >>0 I read =0 I ("0") read V read V GS Programmazione del FAMOS 20 V 0V 5V G G G 10V 5V 20 V -5V 0V -2.5V 5V S D S D S D Iniezione per valanga Annullando VDS e V GS, la carica resta intrappolata La programmazione della cella comporta un aumento di V T raggi UV tempo minuti, max numero di canc./prog. 1000
ROM cancellabile elettricamente (EEPROM) FLOating gate Tunnelling OXide MOS (FLOTOX) Gate fluttuante Gate Source Drain D 20-30 nm G n + Substrato n + p 10 nm S Effetto di Fowler-Nordheim: programmazione e cancellazione I FN V GD>10V programmazione NEUTRO "1" -10 V CARICO "0" V GD<- 10V cancellazione +10 V V GD 5 Max numero di canc./prog. 10 in cancellazione, se rimossa troppa carica V ridotta FLOTOX mai off T Operazione di lettura di una cella EEPROM MOSFET usato per accesso in lettura FLOTOX usato per immagazzinamento dato
Memoria EEPROM di tipo flash (Flash) - combina la densità della EPROM con la versatilità della EEPROM - programmazione EPROM (valanga), cancellazione EEPROM (Fowler-Nordheim) - cancellazione contemporanea di tutta (o parte) della memoria complessiva Programmazione e cancellazione della Flash Gate fluttuante Gate Ossido sottile (10nm) Source Drain V =0V, V =12V, V =6V S G D cancellazione n + programmazione n + V S=12V, V G=0V, Drain aperto Substrato p Durata della Flash Gate fluttuante Tensione di soglia V [Volt] T 10 8 6 4 cancellazione programmazione 2 0 1 10 100 1000 10000 100000 N cicli prog./canc. [#] xxoxooxo Aumenta la carica all'interfaccia ossido-silicio Q (positiva) Source OX Drain Gate fluttuante Resta intrappolata carica nell'ossido (negativa)
Distribuzione della V in una matrice da 1 Mbit T N Bit (#) 10 6 10 5 10 4 10 3 10 2 10 1 10 0 0 0 1 2 3 4 5 6 7 8 9 10 V (Volt) T programmazione (valanga) cancellazione (Fowler-Nordheim) cancellazione (raggi ultravioletti) Limiti di scalabilità dello spessore di ossido t ox Scalabilità dell'ossido limitata da: - tunnelling diretto - tunnelling assistito da trappole Limitazione inferiore allo scalamento del dispositivo e del tempo di cancellazione Con tunnelling diretto: Spessore ossido t 4.5 nm 5.0 nm 6.0 nm minimo valore di t Tempo occorrente perdita 20% carica 4.4 minuti 1 giorno da 7 mesi a 6 anni ox pari a7nm Stato dell'arte caratteristiche NVRWM (1992) EPROM EEPROM Flash Dimensione memoria 16 Mbit (0.6 m) 1 Mbit (0.8 m) 16 Mbit (0.6 m) Dimensione chip 7.18 x 17.39 mm 2 11.8 x 7.7 mm 2 6.3 x 18.5 mm 2 Dimensione cella 3.8 m 2 30 m 2 3.4 m 2 Tempo accesso in lettura 62 ns 120 ns 58 ns Tempo di cancellazione minuti 8 ms/word, 4 s/chip 4 s Tempo di programmazione 5 s 8 ms/word, 4 s/chip 5 s N progr./cancell. 10 3 10 5 3 5 10-10
Evoluzione della capacità della Flash Litografia 1998 0.35 m 1999 0.25 m 2000 0.18 m 2001 0.15 m 2002/03 0.13 m Tensioni standard 5V&3V Bassa tensione Celle multilivello 3V 1.8 V 0.9 V 2 bit/cella 4 bit/cella 16 Mb 64 Mb 128 Mb 256 Mb 32 Mb 64 Mb 128 Mb 256 Mb 256 Mb 64 Mb 128 Mb 256 Mb 512 Mb 1Gb Celle multilivello La tecnica multilivello consente di aumentare la densità della memoria immagazzinando più di 1 bit per cella di memoria 1 bit/cella 2 bit/cella V T V T livello logico "0" livello logico "00" livello logico "01" livello logico "1" livello logico "10" GND GND livello logico "11" - 2bit/cella già realizzabile, 4 bit/cella in futuro K - difficoltà a determinare 2 bande di V T (K=numero bit/cella) - difficoltà nel tener basso il tempo di accesso in lettura