Negli ultimi anni la diffusione sul mercato dei dischi allo stato solido ha subito un’impennata considerevole. Molti notebook di fascia media e alta integrano al proprio interno dischi di questo tipo, soli o affiancati a sistemi di archiviazione tradizionali; mentre su desktop è ormai possibile, con una spesa di poche decine di euro, aggiungere un Ssd di buon livello in grado di modificare radicalmente le prestazioni dell’intero sistema.
di Davide Piumetti
A una diffusione di questo tipo, destinata inoltre a crescere nel tempo in maniera netta e continua, non corrisponde però una conseguente e simmetrica evoluzione del software presente normalmente sui Pc domestici. Molti programmi, senza nessuna necessità aggiuntiva, beneficiano enormemente della velocità propria degli Ssd, pur trattandoli in maniera indifferenziata rispetto ai modelli a piatti magnetici. Le differenze costruttive e logiche nel funzionamento rendono però un Ssd un prodotto diverso, che per funzionare al meglio necessita di alcuni piccoli accorgimenti e che, se trattato in ogni caso come un disco magnetico, potrebbe nel tempo anche peggiorare il proprio comportamento. Nel seguito vogliamo dare una panoramica sulle differenze, in termini di operatività , tra dischi tradizionali e Ssd, concentrandoci poi sul tema della manutenzione di questi ultimi. Non è infatti vero che le operazioni di routine messe in atto sui dischi magnetici abbiano lo stesso effetto su quelli allo stato solido anzi, alcune di esse sono addirittura deleterie.
Ssd contro Hdd: Dati e allocazione
Un disco allo stato solido opera in maniera completamente diversa da un disco magnetico. Su quest’ultimo i piatti sono magnetizzati con una serie concentrica di zero e uno, costituendo in questo modo i file che trattiamo ogni giorno. Quando si cancella un file si svuota (dal punto di vista logico) una parte del disco, permettendo di utilizzarla in futuro per l’allocazione di altri file. Questa cancellazione non ha nessun impatto sulla superficie del disco, ma richiede periodicamente una politica di deframmentazione (spesso abbreviato in defrag) in modo da non ritrovarsi con il disco zeppo di dati con dei piccoli buchi disponibili sparsi però in maniera disordinata. Scrivere un file di grandi dimensioni in questo caso comporta grandi tempi di attesa dovuti alla scrittura di parte di esso in posizioni diverse. Pur con dischi con velocità di scrittura elevata (ad esempio 100 Mbyte/s) il tempo che occorre per scrivere un file da 100 Mbyte in piccole porzioni di disco libere dipende in massima parte dal tempo necessario per spostare la testina di scrittura da un punto all’altro. Paradossalmente, avendo 1.000 spazi liberi da 100 Kbyte ciascuno, con un tempo di spostamento della testina di 5 millisecondi il tempo necessario per scrivere il file sarebbe di 6 secondi (1.000 x 5 ms per gli spostamenti da aggiungere a 1 secondo necessario per scrivere 1.000 spazi da 100 Kbyte a 100 Mbyte/s). Se non ci fosse gap tra gli spazi disponibili il tempo totale sarebbe di solo 1 secondo. Il defrag, che ricompone i dati in maniera sequenziale, è di conseguenza fondamentale per avere uno spazio contiguo di dimensioni considerevoli e per riorganizzare i file in maniera sequenziale, in modo da avere sempre la maggiore velocità possibile con l’hardware a disposizione. Un Ssd opera in maniera completamente opposta.
La struttura dati non è quella di un Hdd, ovvero una pista continua che contiene i file, ma si ragiona seguendo le dimensioni fisiche delle celle di memoria. Ogni cella può contenere un numero finito di dati e la loro lettura può avvenire anche in contemporanea. Per questo motivo viene meno la necessità di avere dati solo sequenziali e, anzi, in alcuni casi le prestazioni massime si hanno leggendo in parallelo da più celle distinte. La scrittura su un Ssd avviene infatti per blocchi. Un blocco, che ha dimensione normale di 256 Kbyte deve in ogni caso essere scritto per intero ogni volta. Questo significa, ad esempio, che modificare un singolo bit presente in questo blocco porta alla necessità , da parte del Ssd, di cancellare l’intero blocco e riscriverlo con il bit in questione modificato. La discrepanza tra il mondo operativo e quello elettrico è insita proprio qui: per il sistema operativo è stato scritto 1 solo bit, mentre per l’Ssd il processo di scrittura è stato di 256 Kbyte (2.048.000 bit). Il problema è che ciò non si ripercuote solo sulle prestazioni del sistema ma risiede nel fatto che questa cancellazione è un’operazione usurante, la cella di memoria si consuma a ogni scrittura effettuata e, di conseguenza, può essere eseguita solo un numero finito di volte. Con questo non vogliamo certo creare allarmismo, visto che i numeri in gioco sono molto, molto grandi. Si parla in questi casi di cicli P/E (Program/Erase) effettuabili. Tanto per fare un esempio un Ssd moderno con celle Mlc ha un valore di circa 5.000 P/E, mentre le più veloci celle Slc arrivano anche a 100.000 P/E. Per meglio comprendere questi valori possiamo dire che, un disco Mlc medio da 128 Gbyte può scrivere circa 60 Gbyte di dati al giorno per circa 10 anni prima di avvicinarsi a un punto di consumo significativo.
Siamo chiari, in ambito desktop scrivere 60 Gbyte di dati ogni giorno per oltre 10 anni è davvero improponibile, ma molti processi, studiati per operare su normali hard disk (che non soffrono di questi problemi), si impegnano per incrementare a dismisura le scritture effettuate su un Ssd. Ad esempio la semplice installazione del sistema operativo e dei programmi classici di produttività personale, che porta sul disco circa 30 Gbyte di dati, corrisponde dal punto di vista dell’Ssd a una scrittura di oltre 70 Gbyte di dati. Sul disco vediamo 30 Gbyte occupati, ma per scriverli il Ssd ha dovuto effettuare molte più operazioni, per un totale più che doppio. (…)
Estratto dell’articolo pubblicato su PC Professionale di novembre 2014