Retroscena

Una questione complessa: come funziona un SSD

Kevin Hofer
7.5.2018
Traduzione: Leandra Amato

L'unità SSD sta via via sostituendo il disco rigido come dispositivo primario di archiviazione di massa. I vantaggi in termini di velocità e mobilità sono evidenti: i dati non vengono più letti e scritti meccanicamente, ma elettricamente. Ma, esattamente, come funziona?

Ogni anno compaiono nuove generazioni di processori che promettono passi da gigante nelle prestazioni. Tuttavia, il consumatore normale di solito non se ne rende conto. Con l'SSD è completamente diverso. Il passaggio da HDD a SSD risulta effettivamente evidente in ogni tipo di impiego.

Ai bei vecchi tempi, quando accendevo il PC, ero solito andare a prendermi un caffè prima di poter iniziare a lavorare. Il processo di avvio durava un’eternità, e non sto esagerando. Non puoi immaginare quindi quanto sia rimasto stupito quando ho provato per la prima volta ad avviare un notebook con SSD. Era un po’ come la differenza tra un tram e un treno intercity in fatto di velocità. O tra lo Slow Food e il Fast Food. Oppure tra il correre e lo stare fermi.

Ma cosa rende l'SSD così veloce? A differenza del disco rigido, le unità SSD non hanno testine di lettura/scrittura e piatti rotanti. Ogni blocco di un SSD è accessibile alla stessa velocità, indipendentemente che essi si trovino uno accanto all'altro o su un altro modulo. Questo spiega anche perché deframmentare un SSD non ha senso. I tempi di accesso sono più brevi e le velocità di lettura/scrittura più elevate.

Fu così che decisi di scrivere un articolo su come funziona l'SSD. Se capiamo esattamente come funziona un’unità SSD, possiamo capire perché si usura. E anche altre domande, che spesso sorgono in merito alle unità SSD, avranno poi così un senso. Ad esempio, perché le unità SSD possono effettivamente rallentare quando non hanno molto spazio a disposizione.

Ma basta con le parole. Entriamo nel vivo della questione. Un piccolo avvertimento: alcune parti potrebbero essere molto tecniche. Un Solid State Drive è costituito da una scheda elettronica con interfaccia (ad es: SATA, PCIe, SATA-Express), memoria NAND flash, a seconda dell'SSD con memoria cache, controller e firmware. L'SSD è controllato da un protocollo (AHCI o NVMe). Iniziamo con le NAND Flash.

Cosa si intende con NAND flash?

A differenza dell'HDD, la memoria NAND flash legge/scrive elettronicamente i dati. La NAND flash è caratterizzata da un'elevata densità di memoria e dal backup non volatile dei dati. In pratica fa quello che fanno i piatti del disco rigido: memorizza i dati in modo permanente. Ciò avviene generando e leggendo la tensione.

A proposito di Bit Line e Word Line

Un blocco NAND è costituito da Bit Line e Word Line. Le Bit Line corrono parallele l'una all'altra. Sono fatte di silicio e sono separate l'una dall'altra da una cosiddetta Shallow Trench Isolation («Isolamento di trincea superficiale», in breve STI). Le Word Line sono perpendicolari alle Bit Line. Su di esse si trova il Control Gate e sono costituite da polisilicio. Nel punto dove Bit Line e Word Line si sovrappongono si trova la cella di memoria.

Diamo un'occhiata più da vicino all'interfaccia tra Bit Line e Word Line (e quindi, più precisamente, lungo la Word Line). Il Control Gate è collocato intorno al Floating Gate. I due gate sono separati da uno strato di ossido-nitruro-ossido (ONO). Sotto il Floating Gate si trova la zona di ossido di tunnel (un non conduttore). Al di sotto troviamo la Bit Line con sorgente e scarico.

Pagine, blocchi, livelli e die

Le celle di memoria di una World Line sono concentrate in una pagina dati. Le pagine dati sono le unità più piccole di un SSD che possono essere lette o scritte. Queste possono avere dimensioni di 2 KB, 4 KB, 8 KB o 16 KB, a seconda del processo di produzione o del tipo di flash.

I blocchi a loro volta sono solitamente divisi in due livelli per modulo flash (detto anche die). I moduli sono posizionati sulla scheda, dove sono legati al controller attraverso quattro fino a dieci canali.

Excursus: SSD che rallentano

Come vengono letti e memorizzati i dati?

In parole povere, la memoria flash memorizza i dati collocando gli elettroni o rimuovendoli dal Floating Gate. I bit vengono letti utilizzando la tensione. Se nel Floating Gate sono presenti elettroni, il bit ha il valore 0. Se non ci sono elettroni nel Floating gate, il bit ha il valore 1. Le celle di memoria sono considerate vuote o cancellate se hanno il valore 1 e scritte se hanno il valore 0.

E come funziona di preciso? Cominciamo con la lettura.

Lettura

Cancellazione

Scrittura/programmazione

Durante la scrittura, gli elettroni vengono trasferiti al Floating Gate e viene settato il valore di bit 0. Quando si applica un'alta tensione positiva al Control Gate e un'altra tensione allo scarico, gli elettroni possono raggiungere il Floating Gate attraverso lo strato di ossido. Questo processo si chiama Hot Electron Injection.

SLC, MLC e TLC

SLC

Poiché viene memorizzato solo un bit per cella di memoria, la percentuale di errore è molto bassa. Per la lettura e la scrittura sono necessari solo due livelli di tensione, il che assicura un'elevata velocità e mantiene basso il consumo energetico. Con l'SLC flash, si presume una durata di 100 000 cicli di scrittura per blocco.

MLC

TLC

Nel TLC flash le differenze rispetto all'SLC e all'MLC sono ancora più evidenti. La produzione di TLC è ancora più economica di quella di MLC. Le celle di memoria devono resistere a otto livelli di tensione. Rispetto all’SLC, la lettura richiede circa quattro volte più tempo e la scrittura sei volte di più. La durata si basa su 1000 cicli di scrittura per blocco.

Excursus: ciclo di vita di un SSD

Come già accennato, la scrittura può avvenire solo su una cella di memoria vuota o cancellata. Non è possibile sovrascrivere i dati in senso stretto. Quando viene apportata una modifica, i dati devono prima essere cancellati e poi riscritti. Per questo motivo si parla di cicli di scrittura quando si fa riferimento alla durata della vita.

Controller/processore

Write Amplification

Garbage Collection

Il processo in background Garbage Collection esiste per contrastare il fenomeno del rallentamento dell'SSD quando la capacità di memoria è bassa. In questo processo, i blocchi incompleti vengono copiati e fusi con altri blocchi incompleti in nuovi blocchi completi. I vecchi blocchi vengono poi cancellati e sono di nuovo liberi per essere scritti. Il processo di Garbage Collection entra in gioco quando gli accessi all'unità SSD sono pochi o nulli.

TRIM

Wear Leveling

Ulteriori sviluppi

Altri modi per collocare più memoria in uno spazio più piccolo sono già stati illustrati nei paragrafi dedicati all’MLC e al TLC. Ma anche in questo caso, a un certo punto si raggiunge un limite fisico. Per concludere, vorrei esaminare due sviluppi che hanno migliorato e continueranno a migliorare la capacità di memoria e la velocità delle unità SSD.

3D-NAND o V-NAND

NVMe

A 300 persone piace questo articolo


User Avatar
User Avatar

Tecnologia e società mi affascinano. Combinarle entrambe e osservarle da punti di vista differenti sono la mia passione.


Retroscena

Curiosità dal mondo dei prodotti, uno sguardo dietro le quinte dei produttori e ritratti di persone interessanti.

Visualizza tutti