HomeComputer, componenti e accessoriCome funziona un SSD - Guida completa

Come funziona un SSD – Guida completa

Gli SSD sono ormai le unità di memoria più diffuse nei computer. Le trovi in tutti i portatili e nei computer all in one, così come nei mini PC e nei Mac.

Rispetto agli Hard Disk, offrono prestazioni migliori e maggiore affidabilità, motivo per il quale rappresentano la soluzione più utilizzata in assoluto per memorizzare dati.

Quando si parla di SSD, di solito si sottolineano le velocità di lettura e scrittura, la capienza delle varie versioni, la garanzia del produttore.

Ma, esattamente, come funziona un SSD?

In questa guida, vedremo di quali parti si compone un SSD e qual è il suo funzionamento. Sei pronto? Iniziamo subito! 😉

Come funziona un SSD - Guida completa

Come è fatto un SSD

Tutte le componenti di un SSD svolgono una funzione ben precisa all’interno del processo di lettura e scrittura dei dati.

Che si tratti di un SSD interno o di un SSD esterno, di un SSD SATA o di un SSD PCIe NVMe, ci saranno:

  • un controller;
  • le memorie NAND Flash;
  • la cache DRAM;
  • la cache SLC.

Inoltre, sul circuito stampato troverai anche condensatori, resistenze, induttori e l’interfaccia. Nei prossimi paragrafi, tuttavia, ti mostrerò più nello specifico il ruolo e il funzionamento del controller, delle memorie e delle cache di un SSD. 😉

Controller

Come avviene per un computer, anche nel caso degli SSD non si può che iniziare dalla CPU. Solo che la CPU di un’unità a stato solido si chiama controller.

Il controller di un SSD è infatti un microprocessore che:

  • si basa su una specifica architettura, nella maggior parte dei casi ARM Cortex;
  • è composto da diversi core;
  • lavora con una frequenza di clock;
  • può avere un controller interno che gestisce la cache DRAM, se presente;
  • si occupa della correzione degli errori mediante ECC.

La funzione di un controller è quella di dialogare con le NAND Flash. Per farlo, ogni core del processore ha diversi canali di gestione delle memorie e un bus con interfaccia bidirezionale. Il bus, poi, include anche:

  • ALE o Address Latch Enable, che segnala l’invio di un indirizzo;
  • CLE o Command Latch Enable, che segnala l’invio di un comando;
  • WE o Write Enable, un comando il cui scopo è permettere la scrittura dei dati inviati sul bus;
  • RE o Read Enable, un comando il cui scopo è permettere la lettura dei dati presenti sulle memorie.

Uno dei principali problemi nei quali può incorrere il controller di un SSD è costituito dalla generazione di un collo di bottiglia.

Sia i canali del controller sia le NAND Flash hanno infatti una propria velocità, che si esprime in MT/s o MegaTransfer per second. Tradotto: milioni di trasferimenti al secondo.

Se per esempio un canale lavora con una velocità di 667 MT/s ma gestisce memorie da 800 MT/s, incontrerai un collo di bottiglia.

Il tuo SSD continuerà a funzionare, su questo non avere dubbi, ma avrà una velocità più bassa rispetto al suo potenziale. 😉

Anche i produttori di un controller contano. Da una parte, ci sono Samsung, WD e SanDisk che producono i loro controller.

Dall’altra invece, abbiamo aziende come Phison, Silicon Motion, Marvell, InnoGrit, Starblaze, Maxiotek e Realtek che producono controller per altri produttori di SSD.

Memorie NAND Flash

Se pensi alla differenza fra un Hard Disk e un SSD, quasi sicuramente stai pensando alla diversa modalità di memorizzazione dei dati.

Nel primo caso infatti hai un disco rigido (appunto) su cui una testina velocissima scrive e legge. Nel secondo caso invece non ci sono parti meccaniche, ma chip di memoria NAND Flash. 😉

Memorie di tipo non volatile, le NAND Flash rappresentano un concentrato di tecnologia al servizio della lettura e della scrittura dei dati.

Per capire il loro funzionamento, e di conseguenza come funziona un SSD, vale la pena soffermarci un momento su come sono composte. Nello specifico, vedremo le parti in ordine decrescente di grandezza.

Chip

Il chip di una memoria NAND Flash è quello che puoi vedere quando tieni in mano un SSD. Si tratta dei piccoli rettangoli in grigio scuro che stanno sul circuito stampato sullo stesso lato del controller.

Di solito, ciascun chip contiene più die uno sopra l’altro e, nelle più moderne versioni BGA o Ball Grid Array, non presenta pin esterni.

Die

Ogni singolo die può avere fino a 512 Gb per le memorie NAND Flash TLC, ma il valore può arrivare anche a un Tb per memorie QLC. Inoltre, ciascun die ha di solito 8 pin per le comunicazioni input e output (ma in alcuni modelli si può arrivare anche a 16 pin).

La tipologia della memoria – SLC, MLC, TLC o QLC – influisce sulla densità e quindi sulla quantità di dati che puoi scrivere su un singolo die.

Piani e sottopiani

Di solito, un die è diviso in due piani e ciascuno di essi può essere diviso in due o più sottopiani. Ciascuna di queste divisioni ha la propria circuiteria, con l’obiettivo di migliorare le prestazioni di lettura e scrittura.

Da qui in poi, entreremo in profondità nella struttura di un SSD, con divisioni sempre più piccole che ci porteranno al cuore di un’unità di memoria NAND Flash.

Blocchi, superblocchi e sottoblocchi

Ogni piano può contenere migliaia di blocchi, ossia dei raggruppamenti di righe di celle NAND Flash. A seconda delle necessità dell’utente, il controller può accedere a:

  • gruppi di blocchi vuoti, chiamati superblocchi;
  • blocchi di celle di memoria;
  • sottoblocchi specifici.

Pagine, superpagine e sottopagine

La pagina rappresenta la più piccola unità di memoria che può essere scritta in un SSD. Si tratta di una serie di bit che, nelle memorie TLC, di solito è di 16 KB.

Anche qui, a seconda delle necessità di scrittura il controller potrà preferire:

  • raggruppare le pagine in superpagine e scrivere più velocemente grazie al parallelismo;
  • agire su porzioni di pagine chiamate sottopagine.

La suddivisione è peraltro resa necessaria dall’aumento di memoria che gli SSD hanno sperimentato negli ultimi anni. Da unità di massimo 512 GB si è passati a 2 TB, 4 TB e anche 8 TB.

Wordline e bitline

Le wordline e le bitline sono dei raggruppamenti di celle di memoria inferiori alle pagine. Quando scegli un SSD, la misura dei layer indica il numero di wordline presenti.

Quindi un modello con 64L ha 64 layer ossia 64 wordline, e così anche per i modelli a 96L o a 176L. A un numero più alto di wordline corrisponde anche una più alta performance.

Allo stesso tempo, le wordline sono disposte in colonne che vengono definite bitline.

Celle di memoria

E arriviamo infine alle celle, cioè le componenti in cui materialmente vengono memorizzati i dati in un SSD. La loro struttura permette di archiviare uno o più bit di informazione mediante il passaggio di elettroni.

Nello specifico, le celle di memoria di un SSD sono dei particolari transistor a effetto di campo in grado di mantenere una carica elettrica per un tempo lungo. Di conseguenza:

  • il passaggio di un elettrone indica uno 0;
  • il non passaggio di un elettrone indica un 1.
Come funziona un SSD - Controller e NAND Flash

Cache DRAM

Un SSD può avere una cache DRAM che migliora le prestazioni di lettura e scrittura, ma può anche esserne sprovvisto.

In quest’ultimo caso, si parla di SSD Dram-less, ossia senza DRAM, una situazione comune per i modelli entry level che costano poco.

A differenza della RAM che trovi in un computer, tuttavia, la cache DRAM non viene utilizzata come cache di scrittura. Al contrario, all’interno vengono archiviati metadati di mappatura come:

  • posizioni dei dati fisici;
  • posizioni dei dati virtuali;
  • dati di livellamento dell’usura per TRIM e Garbage Collection.

In pratica, in un SSD la cache DRAM aiuta il controller a gestire la lettura e la scrittura su più pagine. In questo modo, aumenta le velocità e migliora le prestazioni dell’unità di memoria.

Una cache DRAM che può archiviare più metadati e che riduce al minimo la latenza consente performance migliori. Per questa ragione, la velocità di un SSD che ne ha una certa quantità sarà comunque superiore ai modelli DRAM-less. 😉

Bisogna però sfatare un mito: pur non avendo cache DRAM, SSD come il Kingston A400 non sono automaticamente lenti in senso assoluto.

Risultano più performanti rispetto agli Hard Disk e alle chiavette USB, ma possono avere rallentamenti se il carico di dati da trasferire aumenta.

Per aggirare questo problema, gli SSD PCIe NVMe hanno sviluppato la tecnologia HMB o Host Memory Buffer.

Grazie a questa funzionalità, queste unità possono appoggiarsi a una piccola quantità della memoria RAM del PC in modo da ovviare all’assenza di cache DRAM.

Cache SLC

Un’altra delle tecnologie che i produttori di SSD sfruttano per migliorare le prestazioni è la cache SLC.

Non si tratta di una vera e propria porzione di memoria Single Level Cell, quanto di una parte delle memorie NAND Flash in cui è possibile scrivere un bit all’interno di una cella.

Per questa ragione, la cache SLC viene chiamata anche pSLC o pseudo SLC. 😉

Prima di scrivere sulla normale memoria, il controller utilizza la porzione più veloce. Da una parte, le performance di un SSD migliorano; dall’altra, per trasferimenti di grandi file avrai una velocità all’inizio e un crollo una volta che la cache è satura.

Negli SSD attualmente in commercio puoi trovare tre tipi diversi di cache SLC. Vediamole in dettaglio. 😉

  • Statica

Si tratta di una parte di memoria adibita a cache SLC e che non è possibile utilizzare altrimenti. Di conseguenza, i produttori possono ottimizzarla in modo da migliorarne prestazioni e durata nel tempo.

  • Dinamica

Come puoi immaginare, si tratta di una cache SLC che varia a seconda dello spazio utilizzato sull’unità SSD. Man mano che il drive si riempie, diminuisce anche la porzione di memoria veloce.

  • Ibrida

La cache SLC di tipo ibrido unisce le caratteristiche di quella statica e di quella dinamica. I medesimi blocchi di memoria possono quindi essere programmati come SLC o come il resto della memoria, a seconda delle necessità.

Funzionalità e tecnologie SSD

Come avviene per i router WiFi 6, a permettere le velocità e l’affidabilità di un SSD sono diverse tecnologie e funzionalità implementate dai produttori.

Se nel primo caso abbiamo Beamforming, MU-MIMO e OFDMA, per quanto riguarda gli SSD potrai contare su:

  • SMART, ossia Self-Monitoring, Analysis and Reporting Technology, un vero e proprio sistema di monitoraggio sulla salute dell’unità;
  • Garbage Collection, una funzionalità che libera le pagine di un blocco in modo da permettere la scrittura dei dati;
  • TRIM, un comando AT che aiuta la Garbage Collection contrassegnando come inutilizzati specifici blocchi di memoria;
  • Wear Leveling, che gestisce l’usura delle NAND Flash in modo da garantirne l’uniformità e aumentare l’affidabilità nel tempo dell’unità SSD.

Come funziona un SSD

Dopo aver visto come è fatto un SSD, da quali parti è composto e qual è la loro funzione, possiamo adesso occuparci più in particolare di come funziona un SSD.

Nello specifico, vedremo come avvengono la scrittura e la lettura dei dati, nonché la loro cancellazione. 😉

Scrittura dei dati su un SSD

Come abbiamo visto nei paragrafi precedenti, le celle possono immagazzinare bit di informazione (0 e 1) come cariche elettriche.

Il passaggio, o meno, in una cella di un elettrone è ciò che caratterizza quindi le operazioni di scrittura in un SSD.

La scrittura di uno 0 presuppone la determinazione dell’indirizzo fisico della pagina da programmare da parte del controller. Non è possibile sovrascrivere pagine già programmate e il controller può agire soltanto su pagine libere.

Una volta trasmesso alle NAND Flash il comando corretto con i dati da inserire e l’indirizzo della pagina, viene attivato un campo elettrico che permette all’elettrone di caricare negativamente la cella di memoria.

La scrittura di un 1 impone invece l’utilizzo di tecnologie che prevengano l’effetto tunnel per le celle di memoria selezionate. In questo modo, la carica elettrica non può passare e quindi si mantiene il valore 1.

Lettura dei dati su un SSD

Anche nelle operazioni di lettura il punto di partenza è il controller, che deve valutare la mappatura dell’indirizzo logico-fisico e quindi determinare l’indirizzo della pagina di cui leggere i dati.

L’indirizzo viene poi trasferito alla Control Unit della memoria NAND Flash che, tramite il rilevamento della corrente delle linee di bit, seleziona la pagina corretta.

A questo punto, si attivano gli amplificatori di segnale che determinano:

  • l’assenza di flusso di corrente, ossia un 1;
  • la presenza di flusso di corrente, ossia uno 0.

I dati vengono trasferiti al controller che esegue il controllo di eventuali errori e li predispone per la lettura da parte del sistema operativo.

Cancellazione dei dati di un SSD

L’ultima operazione che permette di capire come funziona un SSD è quella di cancellazione dei dati. Tramite il Flash Transition Layer, o FTL, del controller vengono determinati quali blocchi vanno recuperati.

Il controller quindi invia alle NAND Flash un comando di cancellazione di specifiche pagine all’interno di un blocco.

In questo caso, le celle con carica elettrica negativa vengono riportate allo stato iniziale mentre quelle senza carica elettrica negativa vengono sovracancellate.

Se però la scrittura avviene con un effetto tunnel a più impulsi, a seconda dei comandi impartiti dal controller, nella cancellazione è condotta con un singolo impulso.

Conclusioni

Come hai potuto vedere, gli SSD sono il risultato di un’evoluzione tecnologica che ha permesso la miniaturizzazione e l’integrazione di componenti sempre più avanzate.

All’interno di un piccolo chip ci sono parti ancora più piccole e decisamente molto più complesse rispetto a quanto potremmo aspettarci.

Ora che sai come funziona un SSD, potrebbero interessarti anche le guide relative a:

Se invece hai già le idee un po’ più chiare ma stai valutando se acquistare un SSD, qui trovi la lista dei migliori SSD e quella dei migliori SSD esterni. 😉

Per qualsiasi dubbio, chiarimento o consiglio, scrivi pure un commento qui sotto! 😉

Matteo Zigliani
Matteo Ziglianihttps://robadainformatici.it
CEO & Founder di www.robadainformatici.it, vivo l'informatica come una passione. Di giorno aiuto le persone a sfruttare la tecnologia a proprio favore, nel tempo libero condivido queste fantastiche conoscenze in questo spazio, con il resto della rete.

Articoli correlati

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome qui
Captcha verification failed!
CAPTCHA user score failed. Please contact us!

CIAO IO SONO MATTEO!

Creativo, appassionato e divoratore di qualsiasi novità; così descrivo al meglio la mia persona.
Da più di 15 anni mi occupo di informatica, collaboro con persone ed aziende per trovare ogni giorno soluzioni che migliorino la convivenza tra uomo e computer. Sin da piccolo ho sempre nutrito una forte passione per questo mondo, e non vedo l'ora di raccontare tutte le mie esperienze a te! ;-)

Unisciti a più di 5.000 iscritti!

Da anni Roba da Informatici è un portale dedicato al mondo tech e siamo orgogliosi di aver aiutato più di 10 milioni di persone con i nostri articoli, recensioni e tutorial.

Entra anche tu a farne parte!
Riceverai contenuti premium, News dal mondo tech e tanto altro ancora.



Più letti