Garbage collection e TRIM

Le memorie Flash immagazzinano i dati all'interno di celle raggruppate in unità chiamate Page (nel nostro caso hanno dimensioni di 8KB) ma non sono in grado di sovrascrivere i dati come negli hard disk. È solo possibile cancellare i dati in blocco da un insieme di Page (viene definito appunto Block, e nel nostro caso ha dimensioni di 1MB). Se l'utente o il sistema operativo cancellano un file, le relative Page vengono marcate come invalide, ma non possono essere cancellate individualmente perché il blocco ospita delle Page ancora valide.

Periodicamente il drive SSD quindi deve eseguire una operazione chiamata Garbage Collection: il contenuto del blocco viene copiato in un altro blocco ignorando le Page invalide, in modo da liberare spazio. I controller di alcuni SSD cercano di compiere questa operazione nelle fasi di inattività (Idle Garbage Collection o Background Garbage Collection) per garantire una maggiore rapidità nelle fasi di attività.

Tuttavia, normalmente il sistema operativo non comunica al drive SSD quali file sono stati cancellati, e lo SSD può unicamente intuirlo dal fatto che ad un certo punto il sistema operativo gli ordina di scrivere in un indirizzo che contiene già dati. Quindi la Background Garbage Collection ha come contropartita una maggiore usura del drive perché potrebbe determinare lo spostamento di dati che sono stati già cancellati anche se lo SSD non ne è ancora consapevole.

Garbage Collection

Su questo punto Samsung ha compiuto una precisa scelta strategica: potendo contare su moduli NAND Flash più veloci della media ed in un controller triple-core, il produttore coreano ha deciso di non utilizzare la Background GC, affidandosi unicamente alla Garbage Collection standard, che viene effettuata dal drive contestualmente ad una richiesta di scrittura (chiamata anche Foreground Garbage Collection). In questo modo si privilegiano affidabilità e durata nel tempo al prezzo di un piccolo sacrificio in termini di prestazioni, seppur compensato dalle qualità del controller e delle memorie NAND Flash Samsung, come vedremo nella sezione Test.

Peraltro i moderni sistemi operativi (Windows 7, Linux dal kernel 2.6.33 e le versioni più recenti di Mac OSX) supportano TRIM, un comando SATA con cui l'OS comunica al disco SSD gli indirizzi LBA occupati da un file nel momento stesso in cui quest'ultimo viene cancellato, rendendo così l'operazione di Garbage Collection più efficiente.

Wear leveling, compressione e durata nel tempo

Le celle delle memorie NAND Flash non hanno un ciclo di vita infinito: si deteriorano progressivamente man mano che aumenta il numero delle fasi di scrittura/cancellazione. L'usura delle memorie NAND Flash (Memory Wear) è un fenomeno inevitabile che si cerca però di mitigare con alcune tecniche. Quella più nota è sicuramente il Wear-leveling e consiste in una serie di algoritmi che cercano di distribuire il carico di lavoro in modo uniforme, evitando che alcuni blocchi vengano stressati più di altri.

Wear Leveling

A limitare il più possibile le scritture sul disco sono rivolte anche le tecniche di compressione dei dati, utilizzate da alcuni controller. Samsung ha però scelto di non dotare i suoi SSD serie 830 di compressione, preferendo una maggiore stabilità nell'erogazione delle performance: il nostro drive di prova ha prestazioni costanti, tanto con dati che possono essere compressi quanto con dati non comprimibili.

Nonostante la mancanza di compressione, la rinuncia alla Background Garbage Collection e l'uso di algoritmi evoluti di wear-leveling permettono comunque di avere una lunga durata nel tempo, anche con carichi di lavoro particolarmente impegnativi. Samsung dichiara infatti un valore di MTBF (tempo medio prima del guasto) di 1,5 milioni di ore.

Questo dato, però, è difficile da decifrare e soprattutto non ci permette di conoscere con esattezza la durata del drive, perché quest'ultima è influenzata dal carico di lavoro: più alto è il volume di dati che vengono scritti sul disco, più breve sarà la sua vita. A questo scopo Samsung ha calcolato la durata dei suoi SSD serie 830 per tre differenti tipologie di carico di lavoro giornaliero, da 10GB, 20GB e addirittura 40GB, compilando la seguente tabella.

Ciclo di vita
Carico di lavoroSSD 64GBSSD 128GBSSD 256GB
10GB/giorno 16 anni 8 anni 4 anni
20GB/giorno 32 anni 16 anni 8 anni
40GB/giorno 64 anni 32 anni 16 anni

Ne deduciamo che, con un carico di lavoro molto elevato, un drive Samsung SSD 830 da 256GB come il nostro può garantire un ciclo di vita di 16 anni, più che sufficiente per le esigenze di qualsiasi utente.

  • Indietro
  • Avanti
Google News
Le notizie e le recensioni di Notebook Italia sono anche su Google News. Seguici cliccando sulla stellina

Commenti