SSD: AFFIDABILITÀ, CICLO DI VITA E MONITORAGGIO

A differenza dei classici hard disk, negli SSD i dati non sono memorizzati su una superficie magnetica ma all’interno di chip di memoria flash (NAND flash).  Progettualmente un SSD è costituito da una scheda madre, da più chip di memoria (a seconda delle dimensioni in GB del drive) e da un controller che ne governa il funzionamento.
Rispetto alla memoria RAM del computer, detta volatile, perché destinata a perdere le informazioni contenute se non alimentata, la memoria degli SSD è di tipo non-volatile ossia capace di conservare i dati anche in assenza di corrente elettrica. Dobbiamo pensare ai dati memorizzati nei chip NAND flash come a cariche elettriche preservate in ciascuna cella.

Quanto dura il ciclo di vita di un SSD?
È risaputo che le operazioni di scrittura (write) usurano le celle di memoria di un SSD riducendone la longevità. Ma le memorie si usurano tutte allo stesso modo?
Decisamente no, la memoria utilizzata nei chip flash non è tutta uguale, esistono infatti 3 tipi di NAND:

SLC (Single Level Cell) – 1 bit di dati per cella
MLC (Multi Level Cell) – 2 bit di dati per cella
TLC (Triple Level Cell) o 3-bit MLC – 3 bit di dati per cella

Più bit si possono memorizzare in una cella e più è possibile produrre chip di elevata capacità.
Aggiungere sempre più bit alle celle di memoria ne riduce l’affidabilità, la durata e le performance. É piuttosto semplice determinare lo stato di una cella SLC (vuota/piena) mentre è più difficile farlo per le celle MLC. Inoltre, una cella TLC richiede 4 volte il tempo di scrittura e 2,5 volte il tempo di lettura di una cella SLC. Parlando di durata di un SSD, memorizzare più bit per cella significa anche rendere più veloce il processo di usura della memoria NAND.

Come funziona la cella di memoria in un SSD?
Una cella di memoria è costituita da un transistor floating-gate: vi sono poi due gate chiamati Control Gate e Floating Gate isolati da uno strato di ossido (in figura una rappresentazione schematica). Ogni volta che vengono effettuate operazioni di programmazione e cancellazione della cella lo strato di ossido che intrappola gli elettroni sul Floating Gate si usura. Di conseguenza, man mano che lo strato di ossido si indebolisce si può verificare una fuga di elettroni dal Floating Gate.
Poiché lo stato di una cella NAND è dato dal numero di elettroni presenti sul Floating Gate anche pochi elettroni possono fare la differenza tra uno stato e l’altro: nelle celle SLC il problema è meno sentito in quanto ci sono solo due stati da riconoscere, ma nelle celle TLC (o 3-bit MLC) il problema è serio in quanto vi sono 8 stati differenti. Inoltre con il progresso dei processi produttivi la geometria utilizzata è sempre più piccola e lo strato di ossido sempre più sottile, l’usura è quindi più rapida e le celle più soggette alla perdita di dati perché meno capaci di preservare la carica elettrica.

Per quanto tempo può funzionare un SSD?
Non è possibile rispondere a priori ma è possibile farsi un’idea sull’affidabilità di questa tecnologia.
Il trend in fatto di SSD è quello di puntare sullo sviluppo di prodotti basati su 3 bit MCL (TLC). La memoria TLC sta iniziando a dominare il mercato degli SSD. Negli impieghi comuni, sembra infatti che la tecnologia 2 bit MLC sia eccessiva in termini di durata e di performance, per non parlare della SLC la cui caratteristiche sono necessarie solo per pochissime applicazioni e che sta quasi del tutto scomparendo.
I produttori hanno deciso di rinunciare ad un eccesso di ciclo di vita a favore di una decisa riduzione dei costi al fine di ampliare la diffusione delle memorie flash e la loro capacità di storage.
Sembrerebbe tuttavia che non vi sia da preoccuparsi sulla durata di un SSD. In un esperimento condotto da The TechReport su 6 Solid State Drive, in un test che voleva portare a capire quanto un SSD possa resistere ad operazioni di scrittura, ben 2 drive su 6 sono riusciti a sostenere scritture per 2 Petabyte di dati e comunque tutti gli SSD testati sono stati in grado di scrivere centinaia di terabyte senza problemi.
Ipotizzando una scrittura di 2TB all’anno, i risultati dell’esperimento si traducono in una durata degli SSD in questione di 1000 anni (2PB = 2000 TB / 2 TB anno = 1000 anni). Qualora dovessimo scrivere anche più di 2TB l’anno significa comunque, in ogni caso, poter utilizzare il nostro SSD tranquillamente per anni, anni e anni.

Monitorare lo stato di salute di un Solid State Drive
Come per gli hard disk anche per gli SSD esiste il parametro MTBF (Mean Time Between Failure). Nelle schede tecniche che riportano la voce “Affidabilità” i valori indicati sono nell’ordine di 1.5 – 2 milioni di ore. Anche agli SSD inoltre si applica la tecnologia S.M.A.R.T di monitoraggio e reporting dello stato del drive, se abilitata il sistema è in grado di avvisare quando uno o più parametri di funzionamento eccedono delle soglie prefissate. Sul significato di MTBF e SMART rimandiamo alla lettura dei precedenti articoli sui tradizionali hard disk.
Spesso i produttori di SSD forniscono con i propri prodotti apposite utility capaci di tenere sott’occhio non solo i parametri S.M.A.R.T ma anche la quantità totale di dati scritta sul dispositivo e di fornire un’indicazione sintetica dello stato di salute del drive. Nell’immagine, a titolo di esempio, è riportato l’output del software Samsung Magician. Sull’SSD in questione sono già stati scritti circa 3 TB di dati, lo stato del dispositivo è Good e i parametri S.M.A.R.T. sono tutti OK.

Alcuni consigli
Evitare la deframmentazione:  non è necessario utilizzare utility per ridurre la frammentazione dei file su SSD. Questa operazione si utilizza sugli hard disk per ridurre i movimenti (e quindi il tempo) che la testina deve fare per accedere ai vari frammenti (cluster) che costituiscono il file ma sugli SSD tutte le celle di memoria hanno lo stesso tempo di accesso e l’operazione è inutile e anche dannosa (lo spostamento dei cluster in spazi contigui richiede operazioni di scrittura che come sappiamo usurano l’SSD).

Non saturare la capacità del drive e Over-Provisioning: è suggeribile non arrivare ad utilizzare il drive SSD al limite della sua capienza. Molti produttori implementano nei loro drive la pratica dell’Over-Provisioning ossia riservano uno spazio libero permanente sull’SSD (generalmente nell’ordine del 10% della capacità). Questo spazio libero, non accessibile all’utente o al sistema operativo, serve all’SSD come una sorta di memoria tampone dove memorizzare temporaneamente i dati mentre il controller esegue l’operazione di cancellazione dei blocchi di flash NAND, prepara blocchi liberi per l’uso futuro e “muove” i dati per assicurare un livello di usura costante a tutte le celle (algoritmi di wear-leveling).

Impiegare i drive SSD dove effettivamente utili: sicuramente uno dei vantaggi dei drive SSD è la sorprendente velocità di lettura dei dati mentre le operazioni di scrittura usurano l’unità e sono più lente perché prima di scrivere un blocco questo deve essere cancellato. Ne consegue che l’SSD offre prestazioni migliori e maggiori vantaggi in applicazioni dove la lettura è preponderante rispetto alla scrittura.

Effettuate un backup periodico dei dati: la stima del ciclo di vita di un supporto non garantisce ovviamente il funzionamento del dispositivo fino alla data stimata e non può considerare imprevisti come sbalzi di tensione o urti capaci di creare danni all’improvviso e di rendere inaccessibili tutti i dati in un momento.

(Rif. www. ontrack .com )