Le più diffuse memorie a semiconduttore sono circuiti integrati composti da miliardi di minuscoli condensatori collegati ad altrettanti transistor. Ogni condensatore conserva un bit di informazione, uno «zero» quando è scarico e un «uno» quando è carico. Il corrispondente transistor è un interruttore controllato elettronicamente.
Una memoria di questo tipo è la RAM, «random access memory», di un computer: più precisamente, una varietà di RAM chiamata DRAM, dove la D sta per «dynamic». La RAM è una memoria volatile, perché si cancella ogni volta che il computer viene spento. I computer, se avessero solo la RAM, sarebbero di scarsa utilità. Il computer, in effetti, usa la RAM in combinazione con il disco rigido: le informazioni che esso deve conservare sempre, anche senza alimentazione, sono contenute nel disco rigido, che è una memoria permanente; quelle che deve processare mentre è in funzione vengono importate nella RAM e lì immagazzinate temporaneamente. La RAM è necessaria perché, rispetto al disco rigido, registra e legge i dati molto più rapidamente.
Nelle macchine fotografiche digitali, nei lettori MP3, negli smartphone e nei computer di ultima generazione, come memoria permanente non c’è un disco rigido magnetico, ma una memoria flash (come SSD). È una memoria flash anche la chiavetta USB.
La memoria flash ha qualcosa in comune con il disco rigido e qualcosa con la DRAM: come il disco rigido, essa non si cancella quando è spenta; come la DRAM, è un chip a semiconduttore fatto di transistor e condensatori.
I transistor della DRAM hanno tre terminali, detti source, drain e gate, come indicato nello schema sottostante, che rappresenta una singola cella di memoria. Il canale che collega source e drain non è conduttore in condizioni normali, ma lo diventa se il gate viene portato a un certo potenziale rispetto a terra: in questo caso, tra source e drain la carica è libera di fluire. Quando, dunque, un opportuno segnale elettrico inviato al gate accende il transistor, il condensatore collegato al transistor scambia carica con il canale source-drain. Tramite questo canale esso viene «istruito» in fase di scrittura, oppure «interrogato» in fase di lettura.
Il transistor, però, è un interruttore imperfetto, che lascia «gocciolare» via la carica del condensatore. Così, ogni cella di memoria deve essere rinfrescata (cioè letta e riscritta) molte volte ogni secondo. Quando poi il computer è spento, tutti i condensatori si scaricano e le informazioni vanno perse.
Nelle memorie flash il ruolo del condensatore è svolto da una piccolissima lastra conduttrice, chiamata floating gate, incorporata nella struttura del transistor. Questa lastra conserva la sua carica anche quando il circuito non è connesso.
La singola cella della memoria flash è illustrata nel diagramma in fondo, in cui si vede che due strati isolanti separano il floating gate sia dal normale gate del transistor sia dal canale source-drain.
Il floating gate è un’armatura priva di contatti elettrici (l’altra armatura del condensatore è il canale source-drain): perciò, una volta carica, si mantiene tale nel tempo. Ma come si fa a caricarla?
Se il gate di controllo è portato a un potenziale sufficientemente elevato, alcuni degli elettroni presenti nel canale source-drain arrivano sul floating gate attraversando lo strato isolante, grazie a un fenomeno spiegato dalle leggi della fisica quantistica e noto come effetto tunnel.
In una memoria flash la registrazione e la lettura dei dati sono più lente che in una DRAM (millisecondi contro nanosecondi). Per questo motivo la flash non sostituisce la DRAM, ma è usata al posto del disco rigido.