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 ;-)

lunedì 16 marzo 2009

12 secondi...

...il tempo di boot di Windows 7 con i due SSD OCZ da 30GB in Raid 0 :-)

Il tempo è calcolato dalla fine dei messaggi di post del BIOS allo screen di login.

Ma la cosa piu' bella degli SSD non e' neppure la velocita' pura e semplice, ma il fatto che il disco continui ad essere veloce anche se piu' processi ci stanno accedendo pesantemente. Ad esempio durante la copia di file si puo' tranquillamente avviare applicazioni senza che il tempo di apertura delle stesse ne risenta. Provate a farlo con un disco magnetico e anche applicazioni che normalmente si avviano quasi istantanemanete possono metterci diversi secondi (e questo a prescindere dal sistema operativo che si sta usando, trattandosi chiaramente di un problema fisico/meccanico dei dischi magnetici). [Aggiornamento: uso quotidianamente un paio di virtual machine, una ci mette circa 24 secondi a fare il boot, l'altra circa 38 secondi, se le avvio assieme impiegano ben 1 minuto e 20 secondi col disco che frulla come un matto. Lanciandole dall'SSD, ci mettono rispettivamente 17 e 23 secondi, ma avviandole assieme impiegando in tutto 34 secondi!]

Con gli SSD e' come se ogni processo che accede al disco avesse il suo bus dedicato, nessun "freeze", niente disco che "frulla" all'impazzata, solo silenzio e sistema operativo super reattivo.

La sensazione e' persino strana, un po' come guidare un'auto elettrica, non si sente piu' il motore ;-)

Per un attimo ho accarezzato l'idea di ordinarne altri due per fare un Raid di quattro dischi per un totale di 120 GB che inizia ad essere quasi sufficiente come disco di boot. Solo che tra pochi mesi dovrebbero arrivare sul mercato i Sandisk G3 che promettono di avere lo stesso costo per GB degli OCZ da 30GB, ma con prestazioni superiori, ragion per cui mi sa che aspetto per prendere un paio di Sandisk da 60 GB l'uno senza andare ad occupare 4 porte SATA solo per il Raid.

[Aggiornamento: un articolo molto approfondito di AnandTech sugli SSD]

giovedì 12 marzo 2009

Asus Drive Xpert lento come una lumaca.

Non avevo ancora mai provato ad usare il controller Marvell della Asus P5Q-Deluxe che, oltre alle 6 porte SATA controllate dall'Intel ICH10R, ha altre due porte SATA sulle quali si possono attivare la modalita' EZ Backup (Raid 1) o la modalita' Super Speed (Raid 0).

Peccato che Super Speed sia il nome piu' sbagliato per quel controller dato che non si riesce ad ottenere niente al di sopra dei 100 MB/s in lettura e si resta intorno ai 50 MB/s in scrittura.

Certo che su una scheda madre complessivamente di buona qualita' avere un controller cosi' farlocco sa veramente di presa in giro, anche perche' uno quando mette un paio di dischi in Raid 0 su quel controller inizia a pensare che ci possa essere qualcosa che non va con i dischi o con qualche altra configurazione e l'ultima cosa a cui si pensa e' che sia il controller ed essere il collo di bottiglia. Poi fa una ricerca in internet e scopre che nessuno e' mai riuscito ad andare oltre i 100 MB/s, ma porca pupazza!

Vediamo se almeno riesco ad usare quelle due porte come porte singole ed ad ottenere dei transfer rate decenti.

Questa e' forse la piu' grossa delusione che ho avuto da una scheda madre Asus che per il resto si sono sempre comportate come atteso.

Lacie USB keys.

Finalmente delle chiavette USB degne di questo nome! :D




Fonte: itechnews.

martedì 10 marzo 2009

SSD un po' piu' in dettaglio.

Dopo la prima "infarinata" sugli SSD ecco qualche altro spunto di riflessione sulle problematiche relative all'uso degli SSD.

Uno degli articoli piu' interessanti che ho trovato in rete e' questo scritto da Theodore Ts'o "Should Filesystems Be Optimized for SSD’s?".

Theododore Ts'o ha un curriculum di tutto rispetto e il suo punto di vista e' sicuramente autorevole.

E' certamente possibile togliere un disco magnetico e rimpiazzarlo con un SSD senza preoccuparsi d'altro e puo' anche darsi che l'esperienza finale dell'utente sia comunque soddisfacente, ma questo nulla toglie al fatto che in realta' non si stia affatto usando l'SSD al massimo delle sue potenzialita' o che si stia compromettendo la sua durata massima.

Il fatto e' che per quello che ho capito al momento nessun sistema operativo e' davvero ottimizzato per sfruttare al meglio gli SSD e la cosa non solo non e' ancora in essere, forse non lo sara' per parecchio tempo perche' non essendoci un solo tipo di SSD sul mercato e' ancora lontano il momento in cui tutti gli attori in gioco decideranno che tipo di ottimizzazioni vadano aggiunte agli attuali sistemi.

E a questo si aggiunge un aspetto piu' "filosofico", di cui parla Ts'o nel suo articolo, che concerne i confini tra ottimizzazioni a carico del sistema operativo e quelle a carico del controller dell'SSD.

In un mondo ideale forse la soluzione migliore sarebbe che i sistemi operativi dialogassero con i sistemi di storage attraverso file system ad oggetti, delegando in toto al controller del device ogni tipo di strategia di utilizzo dello stesso.

Oggi si e' invece in una situazione ibrida che porta ad aggiungere ai controller degli SSD accrocchi piuttosto complessi e forse persino "pericolosi" per l'integrita' dei dati. Uno di questi accrocchi e' descritto da Ts'o: per gli SSD e' importante sapere se una certa cella contiene dati validi o dati che si possano sovrascrivere, ma i sistemi operativi per ora non comunicano la cosa in modo diretto al controller tramite ad esempio il comando SATA TRIM (che non e' ancora stato accettato universalmente). Col risultato che i controller SSD piu' evoluti cercano di "scoprire" in modo induttivo quali celle di memoria contengano dati sovrascrivibili, con spreco di risorse di calcolo da parte del controller oltre che con supporto per file system specifici. Inoltre questo significa che sostanzialmente il controller vada a interferire col file system in modo non "autorizzato" causando inconsistenze nel caso in cui il sistema operativo tenti un recupero di dati cancellati per errore.

Tutto questo significa che oggi come oggi e' da scartare l'ipotesi di comperare gli SSD? Direi proprio di no, ma prima di farlo bisogna informarsi bene su quello che si sta comperando, sul tipo di uso che se ne deve fare e via dicendo.

Ad esempio come si puo' ben vedere dal divertente video che ho postato ieri, gli SSD sembrano un'ottima soluzione per realizzare sistemi Raid 0 su desktop/server.

Il bello del Raid 0 con SSD e' che e' molto piu' sicuro del Raid 0 con dischi magnetici. Di fatto tra avere un SSD da 120 GB e due da 60 GB in Raid 0 l'unica differenza e' che la soluzione con 2 dischi in Raid 0 ha prestazioni doppie senza aumentare di una virgola la probabilita' di perdita di dati o di minor durata del disco.
Ecco quindi che gli SSD rispetto ai dischi magnetici diventano davvero interessanti per uso desktop.

A questo punto ci sarebbe da chiedersi come mai qualcuno non pensi di cablare 4 o piu' SSD in un unico device SATA con controller Raid 0 integrato. Anche mettendo 4 SSD MLC entry level si otterrebbero prestazioni da urlo.

Il problema e' che la connessione SATA e' limitata a 3 Gb/s, ovvero 375 MB/s, cosa che implica che si debba avere sistemi con Raid 0 su scheda madre o su scheda PCI (tipo questo anche se col limite di non poter essere usato come driver di boot) perche' gia' oggi con SSD MLC capaci di superare singolarmente la barriera dei 250 MB/s in lettura, metterne 4 in Raid 0 con controller Raid integrato andrebbe a impattare contro il collo di bottiglia dell'interfaccia SATA II (la SATA III da 6 GB/s e' stata annunciata ma ci vorra' ancora un po' prima di vederla sul mercato).

Oltre al fatto che c'e' chi sostiene che usare l'interfaccia SATA per gli SSD sia proprio un errore. Al momento e' cosa necessaria perche' altrimenti sarebbe impossibile (soprattutto sui portatili) rendere accessibile il loro uso (e su desktop se oltre al prezzo gia' alto dell'SSD in se' si dovesse pure aggiungere una scheda PCI dedicata la barriera di ingresso nel mondo SSD sarebbe alzata ulteriormente).

Insomma per sfruttare al meglio gli SSD ci vorrebbe un nuovo protocollo tra file system e controller SSD oltre che una nuova interfaccia verso il bus hardware.

Tutto questo lo vedremo (forse) in futuro, per ora sapendo che ci sono questi limiti ci si puo' comunque divertire con 2 o piu' dischi SSD e controller Raid 0 su scheda madre, ottenendo cosi' prestazioni che in lettura possono andare dai 200 MB/s in su' con spese tutto sommato affrontabili.
E infatti ho appena ordinato un paio di questi tanto per iniziare a giocare con gli SSD senza svenarmi, in attesa che i modelli con taglio maggiore e prestazioni al top subiscano ulteriori cali di prezzo ;-)

[Aggiornamento: ecco un altro prodotto che sfrutta la PCI per poter tirare fuori dagli SSD la massima velocita' in lettura e scrittura.]

lunedì 9 marzo 2009

Samsung SSD Awesomeness

Ah ah ah troppo divertente: 24 dischi SSD Samsung da 250 GB l'uno in RAID 0.



Si tratta dello stesso SSD di cui parlavo ieri.

Non metto la versione embedded, andate direttamente su youtube a vedervi quella in HD.


OT: e' gia' un po' di volte che cercando video su youtube e usando come stringa di ricerca il titolo esatto del video, nei risultati non appare, succede anche con "Samsung SSD Awesomeness".

iLap, supporto per portatile, consigliatissimo.

Uno dei difetti del mio MacBook bianco (inizio 2008) e' che scalda davvero tanto al punto da rendere di fatto impossibile tenerlo appoggiato sulle gambe.

Avevo provato con una soluzione "fatta in casa", ma a parte l'estetica i risultati non erano stati particolarmente incoraggianti, ho cosi' deciso di provare con qualcosa di piu' serio e dopo aver scartato il Comfort Lapdesk di Logitech che c'e' solo in versione 17" e quindi un po' troppo ingombrante per l'uso che devo farne io, ho optato per l'iLap, prodotto che ho trovato sull'Apple Store ma che ho comperato su ePrice visto che Apple lo vende al 40% in piu'... chissa' cosa ci faranno per renderlo cosi' prezioso! ;-)

L'iLap ha completamente risolto il problema: adesso il MacBook non scalda piu' come quando lo si tiene appoggiato sulle proprie gambe, e non solo, le temperature restano piu' basse persino di quando lo si appoggia sulla scrivania.
La conseguenza e' che adesso la ventola non va mai al massimo, cosa che prima invece faceva anche semplicemente lasciandolo accesso senza fare niente di particolare.

Il "segreto" credo che sia un insieme di fattori. Per prima cosa l'iLap viene fornito con 4 piedini di silicone che si possono attaccare all'iLap oppure al portatile, io ho optato per attaccarli sul MacBook. Il loro spessore e' di circa 3mm e sembra essere il valore ideale per far si che tra computer e supporto si crei la giusta circolazione d'aria. Il fatto poi che la base sia in alluminio credo abbia la sua importanza nella dissipazione passiva, e infatti la base stessa se toccata inferiormente non si scalda, restando sempre fredda.

Se avete un portatile che tende a scaldare vale decisamente la pena provare l'iLap, non ne resterete delusi.