I drive a stato solido si stanno diffondendo sempre più, grazie al miglioramento del processo produttivo e conseguentemente alla riduzione del costo per gigabyte. Gli ultimi modelli Kingston da 30 e 40 GB, ad esempio, sono venduti ad un prezzo inferiore ai 100 euro.
In una serie di articoli pubblicati lo scorso anno abbiamo descritto nei dettagli i principi di funzionamento degli SSD, mentre adesso ci focalizzeremo su una delle tecnologie impiegate da Windows 7 per incrementare la velocità di trasferimento dei dati.
Per i tradizionali dischi rigidi magnetici, la causa principale del degradamento delle prestazioni è la frammentazione dei file. Tutti i sistemi operativi Microsoft integrano un’utility per riallocare i singoli “pezzi” del file distribuiti sulla superficie del disco.
L’operazione di deframmentazione ha lo scopo di spostare questi pezzi in zone contigue per ridurre gli spostamenti della testina e quindi il tempo di accesso al file. La deframmentazione è invece inutile e dannosa per gli SSD, in quanto le ripetute letture e scritture riduce la vita delle celle di memoria flash.
Con Windows 7, Microsoft ha introdotto il comando TRIM per velocizzare le operazioni di scrittura per le unità a stato solido che hanno un firmware compatibile.
All’avvio, il sistema operativo “interroga” tutti i drive presenti nel sistema; nel caso in cui riceve uno 0 come risposta, riconoscerà un SSD, attiverà il comando TRIM e disattiverà le operazioni di deframmentazione e le funzionalità SuperFetch e ReadyBoost, ovvero tutte le tecnologie progettate per migliorare le prestazioni degli hard disk tradizionali.
Quando viene cancellato un file da un disco (tradizionale o SSD), i blocchi di cui è composto non sono eliminati fisicamente, ma viene solo eliminato il riferimento a quei blocchi (cancellazione logica), per cui il sistema operativo può riutilizzarli in quanto non più protetti dalla scrittura.
Per un SSD però questo è un problema perché la scrittura di una cella può avvenire solo dopo la cancellazione del contenuto (in pratica una doppia scrittura), con conseguente rallentamento dell’operazione e diminuzione delle prestazioni.
Windows 7, invece, invia un comando TRIM per i blocchi del file da eliminare al controller dell’SSD. Il controller copierà i blocchi nella cache, pulirà le pagine cancellate e scriverà nelle celle i nuovi blocchi con le pagine appena pulite. Un blocco è costituito da 128 pagine, mentre una pagina, grande 4 KB, è la più piccola unità gestibile dal controller e dal sistema operativo.
Quindi, il comando TRIM effettua una cancellazione sia logica che fisica, in modo tale che, in caso di scrittura di un file, il blocco conterrà pagine vuote e l’operazione di scrittura avverrà alla massima velocità possibile.
Molti produttori, tra cui Intel, OCZ e Corsair, hanno aggiornato i firmware delle loro unità a stato solido vendute prima dell’uscita di Windows 7, per supportare correttamente il comando TRIM.