Come Flash memoria funziona
Come la NAND legge e scrive realmente i dati (senza il video)
La memoria NAND non memorizza i file nel modo in cui la maggior parte delle persone immagina. Non “vede” foto, documenti o video—vede solo stati elettrici. Tutto viene suddiviso in piccoli blocchi di dati, scritto in pagine, e queste pagine sono organizzate in strutture più grandi chiamate blocchi. Questa è la realtà fisica che sta sotto ogni chiavetta USB, SSD o scheda di memoria.
Quando i dati vengono scritti, il sistema non sta “posizionando un file” da qualche parte come faresti su un desktop. Sta invece programmando una pagina regolando la carica elettrica all’interno di milioni di celle microscopiche. Ogni cella rappresenta un valore in base alla quantità di carica che contiene. In termini semplici, scrivere dati significa modificare livelli di tensione in modo estremamente controllato su una vasta matrice di celle di memoria.
La lettura dei dati funziona al contrario. Il controller misura quei livelli di tensione e determina quali valori rappresentano. Con tipi di memoria più semplici come la SLC, la differenza tra gli stati è ampia e facile da rilevare. Passando a MLC e TLC, questi intervalli di tensione diventano più stretti, rendendo la lettura più complessa e aumentando la necessità di correzione degli errori.
Uno degli aspetti più importanti da comprendere è che la NAND non può sovrascrivere i dati nello stesso punto. Se qualcosa deve cambiare, il sistema scrive i nuovi dati in una posizione diversa e contrassegna i dati precedenti come non validi. Nel tempo, queste pagine non valide si accumulano, e questo porta a un altro processo fondamentale che avviene dietro le quinte.
Questo processo è il ciclo di cancellazione. La memoria NAND può essere cancellata solo a livello di blocco, non di singola pagina. Quando un blocco viene cancellato, tutte le celle al suo interno vengono azzerate contemporaneamente. È per questo che la memoria flash ha una durata limitata—ogni ciclo di cancellazione mette sotto stress le celle, e alla fine queste si deteriorano.
Tutto questo è gestito dal controller. È lui che decide dove scrivere i dati, tiene traccia delle pagine valide e non valide, gestisce il wear leveling e applica la correzione degli errori quando necessario. Senza il controller, la NAND grezza non si comporterebbe affatto come uno storage stabile—sarebbe inaffidabile, incoerente e di breve durata.
Un modo semplice per visualizzarlo è pensare a un quaderno dove puoi scrivere su ogni pagina una sola volta. Se vuoi modificare qualcosa, devi riscriverlo su una nuova pagina e segnare quella vecchia. Quando il quaderno si riempie, non cancelli una singola pagina—strappi un’intera sezione e ricominci. È esattamente così che funziona la memoria NAND, solo su scala microscopica e a velocità molto elevate.
