Le unità SSD hanno rivoluzionato il mondo dello storage, offrendo prestazioni superiori e maggiore affidabilità rispetto ai tradizionali hard disk magnetomeccanici. Anche gli SSD QLC (Quad-Level Cell) più recenti si sono dimostrati veloci e affidabili anche se sulla carta non dovrebbero esserlo.
Un SSD SLC (Single-Level Cell), infatti, conserva un solo bit in ogni cella di memoria. Questo significa che ogni cella può esistere in uno dei due stati di carica: "0" o "1". La rappresentazione di questi bit avviene attraverso la variazione della tensione applicata alla cella. Un valore di tensione più alto rappresenta uno stato "1", mentre un valore più basso indica uno stato "0". Questa semplicità di rappresentazione del dato consente prestazioni elevate e una maggiore durata, ma comporta anche una capacità di archiviazione relativamente bassa e costi più elevati.
Nell'articolo su come funzionano davvero gli SSD abbiamo spiegato anche l'approccio utilizzato nel caso delle unità MLC (Multi-Level Cell), TLC (Triple-Level Cell) e QLC.
La differenza tra SSD SLC, MLC, TLC e QLC, in breve
Se le unità a stato solido di tipo SLC memorizzano soltanto un bit per cella, le MLC conservano due bit di dati in ogni cella di memoria. La variazione della tensione è utilizzata per rappresentare quattro diversi stati di carica, consentendo così la memorizzazione di quattro combinazioni binarie (22).
Nel caso dei dispositivi TLC, essi gestiscono tre bit di dati in ogni cella di memoria portando a 8 le combinazioni binarie (23). Con le unità QLC, ci si spinge ancora più avanti, memorizzando quattro bit di dati in ciascuna cella. La variazione della tensione è qui sfruttata per rappresentare 16 diversi stati di carica (24), consentendo un'ampia gamma di combinazioni binarie.
Passando dalla tecnologia SLC fino alla QLC, la capacità di archiviazione quindi la densità dei dati cresce sempre più, generalmente a discapito delle prestazioni e della durata.
All'aumentare del numero di stati di carica, diventa più complesso per il controller SSD distinguere con precisione tra i diversi livelli di tensione che rappresentano i vari bit di dati. Questo può portare a un aumento degli errori di lettura e, di conseguenza, a una maggiore probabilità di perdita di dati o corruzione delle informazioni. Per compensare questo problema, i controller SSD devono implementare algoritmi più sofisticati per la correzione degli errori, ma anche questi algoritmi soffrono di limitazioni in termini prestazionali e sul piano dell'efficacia (soprattutto se si parla di unità QLC). Pensate che si sta parlando, già da qualche tempo, anche di SSD PLC (Penta-Level Cell) in grado di conservare fino a 25 ovvero ben 32 valori per singola cella.
Le caratteristiche dell'unità SSD QLC Crucial BX500 SATA
L'ingegnere Gabriel Ferraz ha appena presentato un interessante progetto che ambisce a mostrare quanto si perde nel passaggio da un'unità a stato solido SLC a un modello QLC in termini di durata e performance. Il lavoro di Ferraz è dettagliatamente descritto in questo video YouTube.
Il tecnico ha scelto come "vittima sacrificale" un SSD Crucial BX500 QLC da 512 GB: si tratta di un'unità SATA III che poggia il suo funzionamento su di un controller Silicon Motion SM2259XT2 con CPU single-core ARC a 32 bit (velocità di clock pari a 550 MHz). L'unità Crucial BX500 QLC mette a disposizione due canali da 800 MT/s e non si serve di alcuna cache DRAM. Ogni canale, inoltre, gestisce due die di memoria NAND flash Micron.
I due die NAND flash sono progettati, da specifiche del produttore, per lavorare a 1.600 MT/s (800 MHz) ma, alla prova dei fatti, risultano castrati a 525 MT/s all'interno dell'unità marcata Crucial.
L'aspettativa di vita di questi die, inoltre, è di 1.500 cicli P/E per i chip NAND FortisFlash; di circa 900 cicli P/E per i chip Mediagrade. L'indicazione P/E si riferisce ai cicli di programmazione e cancellazione (Program/Erasure) che le memorie possono sopportare prima che le loro prestazioni o la loro affidabilità inizi a degradarsi.
Trasformare l'unità QLC Crucial in un SSD SLC migliora prestazioni e durata
Ferraz spiega di essersi messo al lavoro per trasformare l'unità SSD Crucial da QLC a SLC così da verificarne performance e durata. Facendo diventare il supporto SSD un'unità pSLC (pseudo-SLC), con la memorizzazione di un solo bit per cella anziché quattro, il numero di cicli P/E passerebbe addirittura a 100.000 e 60.000, a seconda del chip in uso.
Anche la durata dell'unità passa a 4000 TBW (in un altro articolo abbiamo parlato della formula per valutare la durata degli SSD), un valore che rappresenta un balzo in avanti del 3000% rispetto a quello assicurato dall'SSD Crucial BX500 così come immesso sul mercato.
A fare da contraltare è, ovviamente, la capacità dell'unità, che scende dai 512 GB iniziali ad appena 114-120 GB.
Come ha fatto Ferraz a compiere la "magia"? Innanzi tutto, ha scaricato il software MPtools per il controller Silicon Motion SM2259XT2 quindi ha cercato il riferimento alle memorie effettivamente usate nell'unità SSD Crucial. Modificando con cura alcuni parametri di configurazione, ha potuto generare un file di configurazione supportato dall'unità SSD per obbligarla a funzionare in modalità SLC anziché con l'approccio standard QLC.
Dopo aver caricato il firmware modificato, l'ingegnere ha potuto accertare il miglioramento sia in termini di prestazioni che di durata garantito a valle del passaggio allo schema SLC.
Credit immagini nell'articolo: Gabriel Ferraz.