Solid State Disk: quanto sono affidabili?

ssd-speicher-was-ist-das-_c8e5d937

A lungo attesi e accolti come la manna da molti possessori di notebook, i dischi allo stato solido si sono rivelati una medaglia con una faccia nascosta che è meglio non voltare; infatti, se da un lato consentono di stivare dati con un buon rapporto storage/peso e parità di volume ed offrono il vantaggio di resistere meglio agli shock meccanici, dall’altro manifestano a lungo andare due difetti rilevanti che vanno valutati con attenzione prima di buttarsi a capofitto su questo genere di dispositivi di memorizzazione.

Per comprendere ciò bisogna valutare come sono fatti gli hard disk tradizionali e le unità di memorizzazione allo stato solido, come SSD e SD-Card, queste ultime basate sulla stessa tecnologia.

Un disco rigido è composto da un’interfaccia (IDE o S-ATA, eventualmente addizionata dell’USB 3.0) ed un controller del disco che fisicamente indirizza la testina, scrive i dati e li legge ricomponendoli nel modo richiesto; il disco (o i dischi) è un supporto magnetico ad alta densità di memorizzazione ed elevatissima induzione residua, che viene magnetizzato in modo da conservare in ogni area -quasi infinitesima- un bit di dati. L’hard disk è quindi formato da un’elettronica e una meccanica, quest’ultima composta dal disco (o dai dischi) magnetico e dal motore che serve a farlo ruotare, oltre che dai motori lineari che azionano le testine che scrivono (magnetizzano) e leggono i dati.

I dischi allo stato solido sono invece più semplici e -come dice il termine- allo stato solido, nel senso che non hanno parti in movimento; in realtà non sono dischi ma memorie a semiconduttore di tipo Flash EPROM, vale a dire memorie leggibili, scrivibili e cancellabili elettricamente. Queste memorie, organizzate in banchi, sono controllate da un’interfaccia S-ATA o USB 3/S-ATA, che rende il disco utilizzabile da un Personal Computer o Tablet.

La caratteristica dell’architettura Flash (Flash NAND) è che per accelerare la lettura ed ancor più la scrittura della memoria, che è la fase più lenta (non è un caso che le SD-Card e le Pen Drive USB siano velocissime in lettura e molto meno in scrittura, cosa che i costruttori nascondono spesso…), le celle di memoria (tipicamente CMOS o NMOS) sono organizzate in blocchi; questo significa che la scrittura/cancellazione avviene diverse celle alla volta e questo rende l’operazione più veloce a parità di quantità di dati trattati.

Il rovescio della medaglia di questa soluzione è che per modificare anche un solo bit di dati bisogna riscrivere tutto il blocco; e fin qui nulla di grave. Ma le memorie EEPROM ed anche le Flash, hanno una durata limitata, definita dal produttore in cicli di scrittura, dopodiché la loro capacità di ritenere i dati memorizzati degrada.

Ora, se per modificare i dati si agisce sulle sole celle di memoria interessate, statisticamente la durata è maggiore, mentre se -come avviene nelle Flash NAND- ogni volta che va variato un bit bisogna riscrivere un intero blocco, la durata della memoria si accorcia in proporzione alla grandezza di ogni blocco della Flash. A tale riguardo va detto che tipicamente l’organizzazione è in blocchi da 8 k.

Dovendo riscrivere un blocco di dati per modificare un bit, ogni cella viene cancellata e riscritta più volte perché viene interessata anche quando in realtà i dati in essa non richiedono modifiche; per questo la durata dell’intera memoria si riduce.

Se l’SSD viene utilizzato per il sistema operativo, l’utilizzo che ne viene fatto è intensissimo e per quanto la durata della memoria possa essere anche di 1 milione di cicli di scrittura/lettura, alla fine in breve tempo il disco perde la propria affidabilità. Ne deriva che diventa facile perdere parti dei dati in esso memorizzati.

Un discorso analogo vale per le SD-Card, che sono sostanzialmente Flash EPROM NAND però dotate, anziché dell’interfaccia S-ATA, di un bus di comunicazione SPI a 4 linee.
Per effetto di ciò, gli SSD infatti dimezzano la loro capacità in circa due anni, con un calo di prestazioni e perdita dei dati. Perciò quando si avverte una diminuzione di resa e perdita di dati è bene non sovrascrivere il disco, altrimenti sarà più difficile recuperare i dati dalla SSD.

Alla suaccennata debolezza, gli SSD e le SD-Card aggiungono un altro problema, che è quello della sensibilità al calore: dei test hanno messo in luce come il sistema di memoria NAND Flash sia vulnerabile in determinate condizioni, nel senso che l’unità SSD, per quanto sia una memoria permanente (lo è in teoria, perché in realtà i costruttori garantiscono la ritenzione dei dati per un certo numero di ore senza alimentazione…), inizia ad avere perdita dei dati dopo una settimana senza alimentazione elettrica. Questo non vale in tutte le condizioni, ma soprattutto al caldo.

Uno studio sponsorizzato dalla Seagate (secondo produttore di dischi rigidi al mondo) dice che ad alte temperature e con il PC spento, le celle delle memorie NAND in meno di una settimana, perdono i dati in esse contenuti. La “tenuta elettrica” di ogni cella SSD, ovvero la permanenza del dato conservato in una determinata cella di memoria, si dimezza ad ogni aumento di 5 gradi centigradi; per esempio, a 35 gradi i dati si cancellano in pochi giorni di assenza di alimentazione elettrica.

Questo discorso si comprende considerando come è realizzata una cella di memoria non volatile cancellabile elettricamente, quale è una EEPROM standard basata su MOSFET a canale N: il MOSFET N è costruito realizzando su un substrato di semiconduttore non drogato due zone diffuse con impurezze di tipo N, che diventano gli elettrodi di Source e Drain, che sono rispettivamente emettitore e collettore di elettroni. Sopra la zona che separa Drain e Source viene deposto dell’isolante (biossido di silicio o nitruro di silicio) e su di esso si depone un elettrodo conduttivo chiamato Gate, che è il terminale di controllo del MOSFET; alimentando il Drain positivamente rispetto al Source, non scorre corrente fin quando non si polarizza positivamente il Gate rispetto al Source, abbastanza da attrarre cariche elettriche negative (elettroni) sotto l’ossido e formare il cosiddetto “canale”, che mette in comunicazione Source e Drain.

La cella base di memoria, che stiva un bit di dati, consta di un MOSFET collegato con Source e Drain tra una riga e una colonna della matrice e pilotato sul Gate dal dato da scrivere: quando il Gate è polarizzato positivamente la riga e la colonna sono unite (stato logico 1) mentre quanto non è alimentato, riga e colonna sono tra loro isolate (stato 0).

Per rendere permanente la memoria si deve intrappolare una carica elettrica, ogni volta che si scrive l’1 logico, nel gate; ciò viene effettuato realizzando un secondo gate, isolato dal primo, depositato fra il gate e l’ossido e isolato anch’esso dal gate tramite dall’ossido, come mostra la figura qui sotto.

fig9

Struttura della cella NMOS.

Il Gate che viene pilotato per scrivere nella cella è detto Gate vero, mentre quello intrappolato è chiamato gate fluttuante ed ha questo nome perché non ha connessione elettrica; nelle memorie recenti, questo gate è costruito in silicio (tecnologia Silicon Gate).

Per memorizzare un dato bisogna polarizzare il Gate vero positivamente rispetto al Source con una tensione relativamente elevata (anche 20 volt, che nelle memorie odierne sono ricavati internamente mediante un circuito a carica di capacità che parte dai 3 o 5 V dell’alimentazione del chip); in questo modo le cariche elettriche restano imprigionate nel gate fluttuante e anche togliendo alimentazione ce n’è abbastanza per mantenere aperto il canale e far restare in conduzione (stato logico 1) l’NMOS.

Per cancellare il dato si deve applicare una tensione negativa tra Source e Gate vero, in modo da asportare la carica intrappolata nel Gate fluttuante.

Ora va detto che la carica intrappolata in quest’ultimo in realtà viene meno nel tempo (di solito di vogliono anni, in teoria) e comunque a seguito della somministrazione di energia elettrica -come nel caso della cancellazione volontaria del dato appena descritta- o sotto forma di radiazione elettromagnetica (radiofrequenza), ultravioletti (come avveniva nelle EPROM) o calore.

Quindi se si lascia un SSD al sole, certamente il calore un poco alla volta fa perdere la carica di ritenzione dei dati e quindi i dati stessi; certo, non basta lasciare l’SSD o il notebook un pomeriggio d’agosto in automobile sotto il sole, ma a lungo andare si perde qualche dato.

SSD: i dati si recuperano?

Se i dati in un disco allo stato solido vengono perduti, il recupero è possibile a patto di poter accedere ai chip; infatti un disco allo stato solido può rendere i propri dati inaccessibili sia per un guasto nell’interfaccia del controller di memoria (S-ATA o S-ATA+USB 3) o per un problema in uno dei chip di memoria.

Se il problema è nell’interfaccia e nel controller, il recupero si effettua rimontando nello stesso ordine i chip in una scheda con controller similare; se invece qualcosa non va in un chip, bisogna vedere se è possibile recuperare almeno i byte che non sono nelle zone di memoria danneggiate. Diversamente si recupera ben poco.

In breve, il recupero dei dati in un SSD danneggiato è possibile solo se è guasta l’interfaccia del controller; se sono guasti i chip, bisogna vedere quanta è la quantità di dati leggibile (ovvero quanti sono i bit persi in ogni word o byte) e se con essa è possibile ricostituire i dati originari.