mercoledì 18 marzo 2009

La cosa piu' importante da sapere sugli SSD.

Continua la saga sugli SSD ;-)

Nel post precedente ho segnalato l'esaustivo articolo di AnandTech che andrebbe letto da chiunque si accinga a comperare dei dischi SSD.

Dovendo scegliere una cosa da estrapolare come piu' importante e di primaria importanza per rendere il piu' possibile "indolore" l'uso degli SSD, voto senza dubbio per l'utilizzo di un RamDisk per i file temporanei e in particolare per i file temporanei del browser.

Gli SSD hanno un meccanismo di scrittura/riscrittura dei blocchi che e' completamente diverso rispetto ai dischi magnetici e quello che si deve cercare di limitare al massimo e' la scrittura frequente, soprattutto quella di file di piccole dimensioni.

Gli SSD scrivono pagine di 4K alla volta ma possono cancellare solo blocchi da 512KB. Inoltre ogni volta che scrivono cercano per prima cosa pagine non usate in precedenza e solo quando strettamente necessario vanno a sovrascrivere pagine che contengono dati precedentemente cancellati (cancellati dal file system, ma ancora presenti fisicamente sul disco).

Quindi quando un SSD deve scrivere dei dati su una pagina da 4K usata in precedenza deve prima leggere l'intero blocco da 512KB, cancellarlo interamente e quindi riscrivere tutti i dati precedentemente presenti nel blocco piu' i nuovi dati.

Ecco perche' se si decide di investire dei soldi in un SSD e' meglio destinarne una parte all'espansione della RAM per poter poi dedicarne almeno 256MB ad un RamDisk in modo da minimizzare le frequenti scritture di file di piccole dimensioni.

Tra l'altro l'uso del RamDisk per tutti i file temporanei e' consigliatissimo anche se si usano dischi magnetici. Mi fanno davvero sorridere i test sulle performance dei browser quando poi il tempo di scrittura su disco degli innumerevoli file che componegono una pagina web e' almeno un ordine di grandezza superiore al tempo di rendering dei singoli elementi della pagina stessa.
Dedicate un po' di RAM come disco temporaneo del vostro browser e avrete un incremento di performance complessive della navigazione che rende del tutto ininfluente la velocita' del motore di rendering.

Da un po' di giorni sto usando questo software per gestire il RamDisk sotto Windows.

Tornando in argomento, il problema della riscrittura dei blocchi gia' usati in precedenza ha un impatto sulle performance dell'SSD che varia a seconda del tipo di controller usato. Nell'articolo di AnandTech si sottolinea come la serie Intel X25 sia nettamente la migliore sotto questo punto di vista. Al secondo posto si colloca l'OCZ Vertex e poi via via tutti gli altri. Quindi anche se l'Intel X25 non e' sulla carta quello che raggiunge la velocita' massima di lettura e scrittura, e' quello che poi nella pratica offre le migliori prestazioni complessive, in particolare stravince quando si prendono in considerazione le prestazioni in scrittura nelle condizioni piu' svantaggiose.

Viene anche sottolineato che i dischi con controller JMicron siano i peggiori nella riscrittura di blocchi in uso e che causino un "balbettamento" nell'accesso a disco che si avvicina al mezzo secondo. Ora i due OCZ che sto usando hanno proprio quel controller eppure non ho ancora riscontrato quel problema.

Premetto che ho provato a riempire completamente i due dischi andando a ricreare la situazione di disco completamente pieno e quindi ogni successiva scrittura richiede di azzerare un intero blocco da 512KB. Sara' perche' a differenza dei test di AnandTech ho due dischi in Raid 0, sara' perche' uso un controller SATA diverso dal loro, fatto sta che non noto il problema da loro descritto.

C'e' anche da dire che una cosa sono i risultati dei test ed un'altra l'esperienza dell'uso reale, quindi non sto assolutamente mettendo in dubbio il risultato dei test fatti da AnandTech, sto solo dicendo che forse nell'uso reale i limiti strutturali del controller JMicron non hanno un'impatto cosi' negativo come si potrebbe desumere da quanto scritto nell'articolo (dove ne sconsigliano assolutamente l'acquisto).

Resta il fatto che a prescindere dal controller usato, tutti i dischi SSD, chi piu' chi meno, risentono del problema del disco "pieno" e presentano alla lunga un degrado nelle prestazioni in scrittura.

Si puo' ripristinare la situazione iniziale dell'SSD riottenendo cosi' le massime prestazioni in scrittura? Certo, ma una semplice formattazione da sistema operativo non basta, bisogna usare dei tool specifici che azzerino completamente il contenuto dell'SSD. In futuro questo problema potrebbe venire sensibilmente ridimensionato grazie all'addozione del comando TRIM (che informa il controller SSD delle operazioni di cancellazione effetuate dal file system), ma la cosa per ora e' ancora sulla carta.

L'articolo di AnandTech si chiude chiarendo che comunque gli SSD rappresentano il singolo upgrade che piu' di qualunque altro incrementa le prestazioni di un computer, sui desktop tipicamente si mettono due o piu' dischi in Raid 0, sui portatili dato che i dischi magnetici sono di solito a 5.400rpm, anche un singolo disco SSD di qualita' fa fare un tale balzo in avanti in termini di prestazioni complessive che dopo qualche giorno d'uso tornare a un disco magnetico risulta sconfortante ;-)

4 commenti:

  1. Molto interessante questo ramdisk, sarebbe comodo usarlo anche con i file di paging programmi più utilizzati.

    RispondiElimina
  2. Certamente, ma piu' che per il paging nel senso stretto del termine, come disco di scratch per applicazioni come Photoshop.

    RispondiElimina
  3. Ottima la segnalazione del RAMdisk, non lo conoscevo lo sto provando proprio ora :)

    RispondiElimina
  4. http://www.madshrimps.be/?action=getarticle&number=1&artpage=4029&articID=923
    Questo articolo è abbastanza interessante, visto che mostra i benefici "reali" di un SSD rispetto ad un convenzione hard disk meccanico.
    In un portatile la differenza è davvero incredibile (senza contare i minori consumi, la resistenza agli urti e il minor rumore).

    RispondiElimina