Panoramica sui drive SSD e introduzione del comando TRIM
Il comando TRIM (dall’inglese to trim, ripulire) deve essere inquadrato nella categoria delle funzionalità che guidano
l'interazione di un Sistema Operativo con l'hardware sottostante il quale, nel caso specifico, coincide con un drive a stato solido, o
Solid State Drive, da
cui l'acronimo SSD utilizzato, anche di seguito, per indicare sintenticamente questa tipologia di device di storage.
Gli SSD - di cui un esemplare, prodotto da OCZ Technology, è
mostrato nella parte sinistra dell'immagine seguente - stanno gradualmente spingendo in phase-out i dischi rigidi, o
Hard Disk Drive (HDD in breve, un esemplare è mostrato a destra
nell'immagine che segue), in virtù di un processo evolutivo che,
partito dai sistemi di fascia high-end per prestazioni e costo, sta interessando lentamente anche i prodotti orientati al mainstream.
L'assenza di rumore in
qualsiasi condizione operativa, il maggiore livello di performance e di affidabiltà, nonchè la riduzione del consumo di potenza sono tra i principali
vantaggi offerti dalla nuova tecnologia che è alla base degli SSD rispetto a quella degli HDD.
Da sinistra a destra un drive di tipo SSD e uno di tipo HDD
Oltre all'elevato costo per l’utente finale, che al momento penalizza gli SSD rispetto agli HDD, i primi presentano, rispetto ai secondi,
un altro grave limite, questa volta di natura tecnologica, che si manifesta nella fase di scrittura dei dati.
Infatti, ogni operazione di scrittura, o meglio di riscrittura,
nella misura in cui si vuole indicare che si sta considerando una unità SSD priva di blocchi mai
scritti (qualora questi fossero presenti verrebbero impiegati per primi al fine di memorizzare i nuovi dati, ndr), deve essere
necessariamente preceduta da
una di cancellazione dei dati dall'area di memoria che si vuole riutilizzare.
Sottolineiamo che che questa condizione, per quanto scritto in precedenza, si verifica allorquando
tutte le celle che costituiscono la memoria del drive sono stata scritte almeno una
volta.
Un simile scenario porta con se almeno due effetti collaterali: da un lato, vi è una
inefficienza nelle prestazioni, dal momento che una
operazione di scrittura comporta in realtà a basso livello, ossia a livello hardware, l’esecuzione, da parte del controller della unità SSD, di un ciclo più
complesso di operazioni di tipo read-erase-modify-write, con tutte le ovvie conseguenze in termini di
amplificazione dei tempi di latenza e, dall’altro, una
maggiore sollecitazione delle celle di memoria, che ha come effetto macroscopico un
decadimento delle performance non soltanto a medio ma anche a breve
termine.