Nel mondo dei computer ormai da molti anni esiste una legge empirica che predice l'aumento di potenza degli elaboratori elettronici. Stiamo parlando della celeberrima
legge di Moore:
Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi. (Gordon Moore)
Gordon Moore è uno dei fondatori di
Intel, il gigante mondiale dei processori per computer. Nel 1965 ipotizzò che le prestazioni dei computer, per via della crescente miniaturizzazione dei
transistor, sarebbero raddoppiate ogni 24 mesi. La sua previsione si dimostrò valida per gli anni a venire e negli anni '80 venne aggiornata e
il tempo per il raddoppio delle prestazioni venne portato a 18 mesi.
La durata di questa previsione che vale ormai da più di quarant'anni ha fatto diventare una semplice osservazione, una legge informatica. Ovviamente non dimostrabile scientificamente, dato che si tratta di una previsione empirica.
Negli anni più di una volta sia stata prevista la fine di questa legge a causa delle sopraggiunte limitazione fisiche dei semiconduttori, ed ogni volta l'ipotesi di Moore si è rivelata valida, grazie alle nuove soluzioni tecniche che uscivano dai laboratori di ricerca.
Giusto per dare l'idea della miniaturizzazione che è stata raggiunta in anni di ricerca,
nel 1971 il processore 4004 conteneva 2300 transistor e lavorava ad una frequenza di 740 kHz (ovvero 740 mila
Hertz), nel 2001
un processore della famiglia Sandy Bridge (i noti i7, i5, i3) è costruito con circa un miliardo di transistor e raggiunge una frequenza di lavoro di oltre 3 GHz (3 miliardi di Hertz).
Durante tutta la storia informatica, non sono stati solo i processori ad aumentare le loro prestazioni, ma tutti i componenti di un elaboratore elettronico: capacità di memorizzazione, velocità di trasferimento dati, canali di comunicazione, elaborazione grafica.
Uno di questi componenti però ha avuto una crescita decisamente minore di tutti gli altri, ed è
quello che attualmente costituisce il collo di bottiglia nei computer attuali. Stiamo parlando degli hard disk, l'unico componente meccanico presente in un computer (assieme al cd/dvd-rom reader).
L'hard disk o disco fisso ha come principio di funzionamento la meccanica, non l'elettronica, ed è una via di mezzo fra un giradischi ed un registratore a cassette (permettetemi il paragone semplicistico). Le informazioni sono memorizzate tramite il magnetismo su un disco di metallo esattamente come faceva il mangiacassette sul nastro, e si può accedere ai dati tramite una testina magnetica che si muove sulla superficie del disco, esattamente come faceva la puntina sui vecchi dischi in vinile. In un hard disk ci possono essere generalmente da 1 a 5 piatti di metallo sovrapposti ognuno con la sua testina.
La tecnologia delle testine magnetiche si è molto evoluta negli anni ed ha permesso di realizzare celle di memorizzazione sui piatti molto piccole. Per questo ora i più capienti dischi fissi in commercio permettono di memorizzare fino a 3
TeraByte (3 mila miliardi di byte).
La capacità di memorizzazione è notevole, non altrettanto però la velocità di lettura di questi dati. I dati sono memorizzati esattamente come su un disco di vinile in una lunghissima spirale di celle una dopo l'altra. E la testina magnetica per leggere deve passare sopra ogni cella. Deve passare in senso lato, perché non è la testina che si muove sulla spirale (il movimento della testina è limitato solo lungo il raggio del piatto per poter leggere un differente punto della spirale), ma come sul disco in vinile è il piatto che ruota, generalmente a 7200 giri al minuto nei più comuni dischi in commercio.
Questo ha come conseguenza che leggere un intero hard disk è una operazione molto lenta
. La copia delle informazioni di un disco dell'ordine dei TeraByte può impiegare anche alcune ore. Questo perchè un disco ha una velocità di lettura max dell'ordine di 50/100 MegaByte al secondo. Però questa velocità è ottenibile se i dati da leggere sono consecutivi nella spirale. Se il dato non è consecutivo (per questo è importante la
deframmentazione del disco per velocizzare il computer) oppure stiamo leggendo tanti file piccoli che sono sparsi in punti diversi del disco allora la situazione si fa drammatica.
Un altro dato importante
quando si parla di dischi fissi è il tempo di accesso. Ovvero quanto tempo ci vuole prima che possa iniziare a leggere un dato, che è dovuto al tempo che impiega la testina per cercare il dato nella spirale (è un po' più complicato in realtà, ma volevo tenere il concetto semplice)
. Generalmente è dell'ordine dei 10 millisecondi (un millisecondo è un millesimo di secondo). Questo valore più sembrare molto piccolo, ma in effetti non l'ho visto che i tempi di reazione del processore si misurano in miliardesimi di secondo). Questo porta al fatto che in effetti non è possibile leggere più di qualche decina di file diversi al secondo.
Cosa che porta la copia di file piccoli ad essere molto lenta, ed al blocco del computer quando abbiamo tanti programmi aperti. In quel momento il computer dato che ha finito la RAM (memoria molto veloce), deve cercare di liberarla copiando parte dei dati che la occupano sul disco. In quel momento iniziate a sentire generalmente il disco che inizia a fare rumore (la testina di muove forsennatamente) e tutto rallenta da morire, perchè il processore deve aspettare i tempi biblici del disco.
In questi casi si dice che il computer sta facendo uso del file di swap, detto anche memoria virtuale.
Per superare queste limitazioni, si è cercato di portare la memorizzazione da meccanica ad elettronica, cercando di memorizzare le informazioni su memorie di semiconduttori generalmente chiamate
memorie flash, quelle che vengono utilizzate per le comuni chiavette usb. Negli ultimi anni sono quindi nati una nuova gamma di dispositivi di memorizzazione di massa,
gli SSD o Solid State Drive, erroneamente chiamati Dischi allo Stato Solido. La dicitura è erronea perchè in questo tipo di dispositivo
non c'è alcun disco, nessuna massa rotante. Gli SSD sono costituiti da
chip.
Esternamente un hard disk meccanico è identico ad un SSD. È quando si leva la copertura che le differenze emergono:
Un HDD (a sinistra) e un SSD (a destra) a confronto
La differenza è evidente. Sull'HDD fanno bella mostra il disco e la testina montata su un braccio mobile, mentre l'SSD è indistinguibile da qualsiasi altro componente elettronico, essendo un circuito stampato con dei chip montati sopra. La differenza tecnologica è così evidente che i giganti della produzione degli HDD non sono gli stessi degli SSD.
I principali vantaggi di un SSD sono:
- maggiore resistenza a vibrazioni e cadute (non c'è una testina che può strisciare il piatto)
- assenza di rumorosità (non c'è il tipico gracchiare dei dischi meccanici)
- minore consumo di energia (non ci sono parti in movimento)
- tempo di accesso ai dati molto inferiore (dell'ordine di un decimo di millisecondo) a quello di un disco meccanico
- velocità di lettura e scrittura maggiori
- insensibilità alla frammentazione dei dati
- minori possibilità di rottura
- minore produzione di calore
Non ci sono solo vantaggi però, abbiamo anche qualche svantaggio:
- maggiori costi (a parità di capienza un SSD costa circa 10 volte di più di un disco meccanico)
- possibile minore durata (ogni cella ha un numero limitato di scritture, come ogni chiave USB, che va da 10 mila ad un milione di volte, che comunque garantisce molti anni di utilizzo)
Quando si leggono le caratteristiche di un SSD generalmente sono tre i dati fondamentali che vengono mostrati:
- capienza
- velocità di lettura/scrittura
- max IOPS (massimo numero di operazioni di input/output al secondo)
Attualmente sul mercato ci sono SSD che hanno una capienza che va da 20/30 gigabyte (utilizzabili per memorizzare il solo sistema operativo) a circa un Terabyte (1.000 Gigabyte). I prezzi di questi ultimi superano i 1.000 euro e non sono certo per tutte le tasche.
Le velocità di lettura/scrittura massime vanno da un minimo di 200/150 megabyte al secondo ad un massimo di 1.500 megabyte al secondo il lettura/scrittura dell'OCZ Revodrive 3 2X.
Il numero massimo di IOPS è forse il dato più imbarazzante per i dischi meccanici. Per questi ultimi siamo ad un valore di una ventina di IOPS, ovvero 20 operazioni di lettura/scritture diverse al secondo. Il che vuol dire che se devo leggere tanti file piccoli, come quando si sta avviando il computer, le prestazioni crollano. Per gli SSD questo valore va dai 20.000 ai 50.000.
Se andiamo a vedere la classifica di prestazioni dei drive fatta da
Passmark Software, vediamo che, ad oggi,
il top della classifica è composto da soli SSD e per trovare il primo disco meccanico occorre scendere molto (la freccia rossa nell'immagine sottostante).
Classifica di prestazioni di dischi - fonte PassMark Software (clicca per ingrandire)
Queste caratteristiche rendono vantaggioso l'acquisto di un SSD, malgrado il maggiore costo. L'uso della
memoria virtuale e della maggiore velocità di accesso ai file ne fanno il candidato ideale per essere il disco dove memorizzare il sistema operativo.
La configurazione ideale sarebbe un sistema a due drive, un SSD per il sistema operativo ed un disco meccanico di grande capienza per i dati. In questo caso è sufficiente un SSD da 80 Gigabyte. Se siamo su un portatile, a meno che non sia un 17 pollici, abbiamo a disposizione lo spazio solo per un solo drive. In questo caso il minimo accettabile, per avere un po' di spazio per i dati è di 128 Gigabyte. Anche se per poter lavorare senza grosse limitazioni è consigliabile almeno un taglio da 240 Gigabyte.
Considerate anche un fatto importante. Quando comprate un SSD da 240 Gigabyte, ad esempio, effettivamente non avete a disposizione 240 Gigabyte per i vostri dati. Per due motivi.
Il primo è l'antipatica procedura dei costruttori che considerano i Giga come multipli di 10. Mentre in termini informatici si lavora sempre in multipli di due. Per fare un esempio semplice. Se un costruttore vendesse un disco da 1 Kbyte, per lui sarebbe da 1.000 byte. Mentre in termini informatici un Kbyte sono 1.024 byte. Con questa dicitura si è mangiato 24 byte. Procedendo con i multipli la differenza è ben più evidente e sull'ordine dei Gigabyte le differenze sono di decine di Megabyte.
Il secondo motivo è connesso alla caratteristica degli SSD di avere un numero di scritture limitato, come abbiamo detto, e quindi i costruttori riservano una porzione della capienza, detta di
overprovisioning, per usi futuri. Facendo un esempio. Un disco da 240 Gigabyte, viene visto dal sistema operativo come un disco da 223 Gigabyte. Lo spazio mancante verrà usato in futuro per andare a sostituire le celle che hanno finito il numero di scritture massime che possono gestire.
Un SSD come disco principale, incrementa le prestazioni di un computer in maniera evidente, in maniera maggiore di un upgrade di qualsiasi altro componente. Il lavoro non subisce mai, interruzioni e blocchi, anche avendo aperte decine di finestre.
È consigliato però non utilizzarlo su computer che hanno come sistema operativa Windows XP o Vista, perchè mancano delle ottimizzazioni per sfruttare al meglio gli SSD, come ad esempio la funzione
TRIM, che è invece supportata da Windows 7, il quale disabilita anche la deframmentazione per gli SSD.
Un SSD non va deframmentato, in quanto non soffre dei problemi dei dischi meccanici. Anzi la deframmentazione sarebbe dannosa, perché farebbe un grosso numero di scritture per niente, andando a diminuire la vita utile delle celle.
Dopo tante parole passiamo ai fatti e vediamo gli SSD in azione in alcuni video. Nel primo vediamo la differenza nei tempi di avvio del computer.
Tempi di caricamento del computer, HDD vs SSD
Come si vede dal video la differenza è notevole 27 contro 55 secondi. Però la differenza è molto maggiore di quello che si vede. Fino a 15 secondi, in entrambi i sistemi, c'è il caricamento del BIOS e i check di sistema, che prescindono dal drive, in quanto vengono caricati dalla ROM sulla scheda madre. Quindi la differenza vera è 12 secondi contro 40.
Vediamo invece ora un video della Samsung in cui vengono fatti alcuni test di confronto fra HDD e SSS.
Test Samsung HDD vs SSD
Nel video possiamo apprezzare le differenza nei tempi di avvio, nell'apertura di grossi file, di tolleranza alle vibrazioni e di aumento di autonomia dei portatili.
Penso che a questo punto sia chiaro che incremento di prestazioni possa dare un SSD, in particolare per un computer che deve avere un uso professionale. Ad esempio per un programmatore come me, l'incremento di produttività è notevole.
Edit 2015: in questi anni ho comprato diversi SSD, attualmente trovo che il miglior rapporto qualità prezzo si trovi sui Samsung, che sono sempre ai primi posti di vendita su Amazon. Posso consigliare quindi a chi vuole sperimentare questo tipo disco i modelli
850 Evo 250GB,
850 Evo 500GB e
850 Evo 1000GB, in vendita in promozione, nel momento in cui scrivo, su Amazon. Attualmente posseggo già due Samsung, ed il prossimo che acquisterò sarà di questa marca.