Memorie Flash: come funzionano?

73600_fig01

Dalle prime chiavette USB da pochi kB ai dischi allo stato solido da centinaia di GB dei nuovi netbook, sono bastati pochi anni alla tecnologia Flash per affermarsi come sistema di archiviazione più diffuso sul mercato.

Infatti le memorie Flash hanno conquistato un posto di primo piano nel panorama dell’elettronica digitale, tanto che si trovano ormai in fotocamere e videocamere digitali, tablet e smartphone, Pen Drive USB e hard disk allo stato solido (SSD), lettori MP3, navigatori GPS e tantissimi altri prodotti elettronici, sia di tipo consumer che per impiego professionale.

La particolarità delle Flash -che sono memorie non volatili (possono, cioè, mantenere l’informazione anche quando non vengono alimentate)- è che diversamente dalle EEPROM, strutturalmente e tecnologicamente analoghe, vengono organizzate in blocchi.

Una memoria Flash può essere letta e riscritta un numero elevatissimo di volte, da un minimo di 10.000 ad un massimo di 1.000.000, a seconda della tecnologia costruttiva.

Il nome Flash nasce dal fatto che rispetto, ad esempio, a una EEPROM, consente un più veloce accesso ai dati; ciò perché è possibile cancellare un intero settore di memoria in una singola azione, ovvero in un “flash”.

Alla base della Flash memory c’è una cella elementare di memoria realizzata con un particolare transistor MOSFET. L’elemento di base è quindi una piastrina di silicio opportunamente drogata in modo da realizzare i tre elettrodi: gate, drain e source. A differenza dei tradizionali MOS, in questa particolare applicazione viene utilizzato un ulteriore elettrodo (chiamato floating gate) posizionato tra il gate vero (gate di controllo, ovvero il gate comandabile elettricamente) ed il canale source-drain. Ciascuna cella elementare è in grado di assumere un valore 0 o 1 che, fisicamente, è rappresentato dallo stato di carica del floating gate: il valore 0 corrisponde ad un dispositivo caricato negativamente mentre il valore 1 corrisponde ad una carica positiva. Per carica negativa si intende un eccesso di elettroni mentre per carica positiva si intende un livello normale di elettroni. Grazie all’elevato isolamento, e in assenza di tensioni di polarizzazione, la carica presente nel floating gate non viene dispersa e resta inalterata per un lungo periodo di tempo.

flash-memory-structure-01

cella

Struttura della cella di memoria di una Flash.

Nella memoria che possiamo trovare in commercio, le celle siffatte sono collegate a matrice: le righe vengono chiamate worldline e le colonne bitline.

Le Flash esistono in due differenti configurazioni che prendono il nome di NOR e NAND: nelle prime, le celle sono collegate in parallelo alle linee di dato e possono essere scritte e lette singolarmente in maniera random; nelle NAND, invece, le celle sono collegate in serie tra loro con una configurazione che ricorda quella delle porte logiche NAND.

Per effetto della loro configurazione, le memorie NOR presentano tempi di accesso relativamente lunghi, occupano uno spazio maggiore sul chip a parità di capacità (quindi rispetto alle NAND i chip sono meno capienti) e presentano un numero di cicli di lettura/scrittura compreso tra 10 mila e 100 mila; questa tecnologia è perciò adatta a memorizzare il firmware che fa funzionare i circuiti piuttosto che i dati che vengono aggiornati frequentemente.

Al contrario, la tecnologia NAND presenta tempi di accesso molto più rapidi in quanto i dati vengono scritti a blocchi (chiamati pagine) a causa del tipo di collegamento delle celle. Altro vantaggio delle NAND riguarda il maggior numero di cicli di lettura/scrittura che possono superare il milione, e la maggior densità di dati immagazzinabili; quanto ai cicli di lettura/scrittura va però detto che, agendo sui dati in blocco, in realtà la durata della memoria è più corta, in quanto per ritoccare anche solo lo stato di una cella bisogna aggiornare quello di tutte le celle a MOSFET costituenti il blocco d’interesse. Ne deriva che ogni cella viene riscritta non solo quando bisogna modificare il dato contenuto in essa ma anche quando si devono modificare dati in altre celle appartenenti allo stesso blocco. E questo è un dettaglio da tenere presente.

Per aumentare la densità dei chip è stata messa a punto una tecnica che consente di memorizzare in una cella elementare non più un singolo bit ma 2 o più bit. Le memorie Flash ad un bit vengono anche denominate SLC (Single-Level Cell) in quanto il livello elettrico del floating gate o è completamente negativo (0) oppure completamente positivo (1). Con particolari tecniche è tuttavia possibile fare assumere al floating gate differenti potenziali: se questi sono quattro, riusciamo a memorizzare 2 bit, se sono otto i bit diventano 3 e con sedici differenti livelli di tensione i bit possono essere 4. Quest’ultimo è il limite massimo a cui è arrivata questa particolare tecnologia chiamata MLC (Multi- Level Cell) che è largamente utilizzata in applicazioni di tipo consumer.

Per scrivere un bit 0 in una cella, è necessario polarizzare source e drain in modo da ottenere un passaggio di elettroni nel canale e contemporaneamente applicare al gate di controllo una tensione positiva piuttosto alta in modo da attirare nel floating gate un certo numero di elettroni che grazie all’energia accumulata riescono a superare la barriera di ossido isolante (effetto tunneling); in questo modo nel floating gate abbiamo un eccesso di elettroni che rappresenta il valore logico 0. Per tornare al valore 1, ovvero per svuotare il floating gate dagli elettroni di troppo, è necessario polarizzare negativamente il gate e positivamente il source fino ad ottenere, sempre per effetto tunneling, la migrazione degli elettroni verso il substrato. Per leggere il dato memorizzato viene applicata una tensione positiva sul gate e si verifica se scorre o meno corrente attraverso la giunzione source-drain. La presenza o meno di elettroni in eccesso nel floating gate modifica il valore di soglia del MOSFET, per cui in presenza di eccesso di elettroni (livello logico 0) non circola corrente, mentre in caso contrario (livello positivo di elettroni) circola corrente tra source e drain.

Le memorie Flash che troviamo in commercio sono disponibili sotto forma di SD-Card, Pen Drive USB, SSD e Compact Flash. La maggior parte delle memorie flash di tipo consumer utilizza la tecnologia costruttiva NAND-flash nelle due versioni SLC (Single-Level Cell) e MLC (Multi-Level Cell).

micronflash