SSD, perché possono morire senza avvisaglie da parte del sistema SMART

In tutti i test si è spesso parlato di petabyte club per evidenziare come le moderne unità SSD riescano a sostenere attività di scrittura che vanno ben oltre quelle dichiarate dai produttori, senza mai evidenziare guasti. Eppure in alcuni casi, senza che i parametri SMART segnalino situazioni allarmanti, gli SSD muoiono improvvisamente. Vediamo perché succede.

I produttori delle moderne unità SSD garantiscono che ogni cella di memoria NAND può sostenere fino a 1.200 cicli di scrittura prima di iniziare manifestare qualche problema e che l’intero contenuto di una unità a stato solido può essere completamente sovrascritto più di 1.000 volte indipendentemente dagli altri fattori che concorrono a determinare la durata di un SSD.
Si tratta di asserzioni che non sono propriamente corrette: particolari condizioni ambientali, modalità di utilizzo e carichi di lavoro possono avere effetti negativi sul ciclo di vita di un SSD. Lo dimostrano i casi segnalati da alcuni utenti e che abbiamo personalmente riscontrato: SSD con il 97-99% di vita rimanente, almeno stando a quanto dichiarato dai ben noti parametri SMART (Self-Monitoring, Analysis and Reporting Technology) “muoiono” improvvisamente. Come può accadere?

Sappiamo bene che le celle di memoria NAND possono sostenere un numero limitato di operazioni di scrittura. Nell’articolo SSD, differenze tra le unità consumer e quelle destinate alle imprese abbiamo evidenziato che cosa cambia tra un prodotto destinato agli utenti privati a uno progettato per utilizzi più spiccatamente business mentre nell’articolo SSD, come funzionano le tecnologie che li rendono più veloci abbiamo illustrato quali tecniche vengono oggi impiegate non soltanto per migliorare le prestazioni degli SSD ma anche per allungarne la vita.

Alcuni tra i più importanti produttori di unità SSD, ad esempio Samsung e Crucial, spesso offrono una garanzia “limitata” di 5 anni sui loro prodotti. Ciò significa che il produttore hardware assicura la durata dell’SSD per il periodo di tempo indicato a patto che vengano rispettate determinati requisiti (quantità di dati che possono essere scritti nello stesso arco di tempo).

Samsung, per esempio, per i suoi SSD 860 PRO (memoria 3D NAND MLC) indica un valore TBW (Terabytes Written) ovvero il quantitativo di dati che possono essere scritti sull’unità prima che si possano evidenziare dei problemi pari a ben 2.400 TB nel caso del modello più capiente e costoso, da 2 TB. Si scende poi fino ai 300 TB di TBW per il modello da 250 GB.
Nel caso degli SSD 860 PRO con memoria 3D NAND TLC, quindi più economica, si va dai 1.200 TB di TBW del modello di punta da 2 TB di capienza fino ai 150 TB della versione da 250 GB.

Allo stesso modo, Crucial parla di 700 TB di TBW per l’SSD MX500 con memorie 3D NAND TLC da 2 TB per scendere a 100 TB di TBW nel caso della versione meno capiente, da 250 GB.

Nell’articolo Hard disk o SSD, caratteristiche e differenze le differenze tra SSD basati su chip di memoria SLC, MLC, TLC e QLC.

Quattro anni fa The Tech Report mise alla prova diversi modelli di SSD con risultati finali davvero incorraggianti.
Da allora si è parlato di “petabyte club” per spiegare come tutti gli SSD presi in esame abbiano permesso la scrittura di un’enorme mole di dati prima di iniziare a presentare malfunzionamenti: fino ad un petabyte, pari a 1.000 terabytes.
Un anno fa i tedeschi di c’t/Heise sono pervenuti alla medesime conclusioni dopo un lungo e articolato test che ha messo alla prova 12 tra i più diffusi SSD disponibili sul mercato nel 2016.
Più di recente le stesse conclusioni sono state tratte a margine dei test condotti da 3DNews.ru.

Durante le prove di laboratorio si è verificato insomma che la stragrande maggioranza degli SSD disponibili sul mercato possono essere sovrascritti per migliaia di volte, molto di più rispetto a quanto dichiarato dal produttore, senza che si presentino problemi.
Quello che non si capisce è perché, allora, nel caso di alcuni utenti bastino appena 20 o 30 sovrascritture dell’unità SSD – quindi spesso all’interno del periodo di garanzia – perché l’unità muoia improvvisamente.

La morte improvvisa degli SSD: come si spiega

Scrivere un singolo bit in un chip SLC richiede valori di tensione più bassi rispetto alla scrittura di più bit con le memorie NAND MLC, TLC o QLC. Il risultato è che le unità SSD che integrano una cache SLC possono sostenere carichi di lavoro notevolmente più impegnativi (specialmente scritture dati random) rispetto alle unità sprovviste di cache SLC.
In alcuni scenari, nei quali è necessaria la frequente scrittura di piccoli quantitativi di dati, l’uso della cache SLC può aumentare l’affidabilità nel tempo fino a 100 volte rispetto a un SSD senza cache SLC.

Il parametro data retention fa riferimento al tempo durante il quale le celle di memoria NAND manterranno il loro stato in mancanza di alimentazione. Il nemico più temibile per la corretta conservazione dei dati e, quindi, per la loro integrità è il tempo oltre che come, spesso evidenziato, la temperatura ambientale e le condizioni di funzionamento.
La maggior parte dei produttori di chip di memoria NAND fa presente che le celle mantengono il loro stato e quindi la configurazione dei bit in esse memorizzati (tre bit, ad esempio, nel caso delle memorie TLC) per almeno due settimane senza alimentazione a temperature elevate (ambienti come quelli che contraddistinguono i data center) ma il valore di data retention risulterà migliore per gli utilizzi degli SSD in ufficio o in ambito domestico.

Ogni unità SSD dispone di un’area riservata, di dimensioni comprese tra 4 e 12 GB, che contiene il firmware insieme con il microcode utilizzato per l’avvio del controller e alcune strutture di sistema.

Come abbiamo visto nell’articolo SSD, come funzionano le tecnologie che li rendono più veloci, i moderni SSD rimappano dinamicamente gli indirizzi dei blocchi logici facendo in modo che lo stesso indirizzo logico punti a varie celle fisiche NAND così da uniformare l’usura e aumentare la velocità di scrittura (wear leveling).

Sfortunatamente, però, nella stragrande maggioranza degli SSD disponibili sul mercato l’area riservata rimane la stessa occupando a livello fisico le medesime celle NAND. Essa non può essere rimappata e il wear leveling non può quindi essere applicato su molti dei moduli che compongono l’area riservata.
Uno scenario che comporta la continua modifica del contenuto della translation table ossia della tabella che memorizza la corrispondenza tra blocchi logici e indirizzi fisici.

Durante i test ai quali abbiamo fatto riferimento in precedenza i tecnici di laboratorio hanno programmato la continua scrittura di flussi di dati sulle unità SSD usando un approccio verosimilmente poco realistico. Utenti che scrivono frequentemente dati di piccole dimensioni (anche centinaia di volte al secondo) tendono a stressare gli SSD sebbene i valori TBW siano complessivamente modesti.
Sono questi gli scenari che provocano una prematura usura dell’area riservata senza alcuna segnalazione “sospetta” a livello di parametri SMART.
Il risultato è che un SSD che sembrava perfettamente in salute, con il 97-99% di vita residua, può improvvisamente sparire e non risultare più visibile da parte del sistema operativo.

Il controller dell’SSD non può in questi casi effettuare con successo la correzione degli errori delle informazioni essenziali conservate nell’area riservata e l’unità generalmente scompare da BIOS/UEFI apparendo al massimo come unità vuota, non inizializzata o non formattata.
Se l’SSD non comparisse neppure a livello di BIOS/UEFI significa che il controller si trova in uno stato chiamato bootloop: esso prova a caricare il microcode dai chip NAND ma in seguito al verificarsi di un errore la procedura viene continuamente ripetuta senza mai avere successo.

Comunque, la causa scatenante della maggior parte dei problemi con gli SSD è la presenza di errori nella translation table quindi nella corrispondenza tra blocchi fisici e indirizzi logici. In questi casi l’SSD viene riconosciuto a livello BIOS/UEFI ma sistema operativo e utente non saranno più in grado di accedere alle informazioni conservate nell’unità a stato solido. Tipicamente l’SSD appare come non inizializzato (unità RAW) oppure viene presentato come unità di storage dalla capacità limitata (ad esempio pochi Megabyte anziché Terabyte). Il recupero dei dati è di fatto impossibile usando i normali strumenti software.

Factory Access Mode: come recuperare i dati da SSD che appaiono morti

Nessuno strumento software disponibile online può risolvere una situazione di bootloop del controller o i danni più gravi. L’unico tentativo per provare a recuperare i dati da un SSD che non dà segni di vita manifestando uno dei comportamenti descritti in precedenza, consiste nell’utilizzo della modalità Factory Access.

Essa è prevista in ogni unità SSD: i centri di recupero dati autorizzati dispongono degli strumenti per attivare la Factory Access Mode, ricostruire la translation table danneggiata ed estrarre le informazioni dai chip di memoria.

I tecnici di ACELab hanno messo a disposizione un set di utilità, chiamato PC-3000 SSD, che offre un valido aiuto per riparare gli SSD di molti brand: OCZ, Corsair, Crucial, RunCore, A-DATA, G.Skill, Micron, Plextor, Intel, Samsung, Seagate, SanDisk, Kingston e altri.

La modalità Factory Access è scarsamente documentata dai produttori (quando non lo è affatto): l’abilità di ACELab è stata proprio quella di unire le varie informazioni per creare un tool unico, capace di recuperare i dati da SSD che sembrano completamente “morti”.
Qui un esempio di recupero incentrato sugli SSD basati su controller Silicon Motion (SM); qui il caso degli SSD con controller Phison.

Come spiegano i tecnici di ACELab gli SSD in bootloop non accettano alcun comando e non permettono l’attivazione della Factory Access Mode. Per superare il problema, viene spiegato come intervenire a livello hardware ponticellando alcuni contatti.

Ti consigliamo anche

Link copiato negli appunti