Tutto quello che c’è da sapere sui dischi SSD
Ieri eagle1 postava i dati di affidabilità dei dischi SSD in commercio e dai commenti mi pare che, trattandosi di una tecnologia nuova, dobbiamo tutti informarci meglio su come funziona nel dettaglio, per capirne pro e contro e applicazioni migliori.
Ho trovato questo lungo e assai ben fatto articolo sul sito della Anandtech che descrive la tecnologia alla base dei dispositivi SSD, il funzionamento e, attraverso prove di laboratorio e comparative con i migliori HDD in circolazione, analizza le applicazioni in cui dà il meglio (o il peggio) di sè.
Tra le altre cose l’articolo spiega come il dispositivo:
1) Scrive solo blocchi di dati, non singoli bit
I dati sono organizzati in pagine e blocchi, non è possibile cancellare o ri-scrivere singoli bit, si deve ri-scrivere almeno una pagina di, tipicamente, 4KB.
[spoiler]
2) Il numero di cicli di scrittura è limitato
Pari a 10K o 100K cicli a seconda della tecnologia. Per mitigare questa limitazione alcuni costruttori introducono una certa quota di memoria extra (5-10%) non utilizzabile ma che serve per avere un minimo di extrabuffer in modo da non ri-scrivere sempre le stesse aree.
[spoiler]
Queste 2 caratteristiche richiedono al driver un lavoro specifico piuttosto delicato in termini di performance: cercare di ottimizzare la ri-scrittura del blocchi di dati (operazione decisamente lenta!) e il numero di cicli supportati dal chip.
[spoiler]
Quindi, tra le caratteristiche del dispositivo, dovremo stare attenti non solo alle velocità di lettura (data dal livello di parallelismo dei banchi di memoria interni, tipicamente da 4 a 10) ma anche alla presenza di memoria cache interna (per gli swap in fase di copiatura, modifica e ri-scrittura dei blocchi da ri-scrivere o cancellare).
Il driver ha inoltre il compito di mantenere ottimali le prestazioni del SSD nel tempo: sebbene non ci siano latenze dovute alla frammentazione, il tempo (nel senso del susseguirsi di scrittura e cancellazioni del disco) puà influenzarne l’efficenza.
Un altro aspetto importante è il supporto del comando di TRIM da parte del sistema operativo: in questo modo la cancellazione avviene quando richiesto dall’utente e non alla successiva fase di scrittura, risparmiando tempo in questa fase più sensibile in termini di prestazione percepita.