|
Sulla carta lo spazio non partizionato su un SSD viene usato automaticamente per il wear leveling, contribuendo a far parte di quello di overprovisioning di fabbrica. L'overprovisioning è lo spazio che l'SSD può usare in qualsiasi momento per le sue operazioni di wear leveling. Il TRIM permette di usare lo spazio libero partizionato per il wear leveling, ma solo fino a che non lo si sporca da dati; questo è il motivo per il quale quando si riempe il drive le prestazioni in scrittura calano: essendoci meno spazio per il wear leveling, l'SSD deve faticare di più per effettuarlo.
Affinché lo spazio non partizionato possa essere utilizzato alla stregua di quello di overprovisioning, è necessario che tale spazio non sia stato precedentemente "sporcato" da dati. Questo si può garantire solo 1) previo secure erase 2) uso esplicito trim sui settori logici corrispondenti quando fa parte dello spazio partizionato dal sistema operativo 3) ad SSD vergine. Se questa procedura non è stata correttamente eseguita, lasciare spazio non partizionato è controproducente per il wear leveling in quanto per l'SSD verrà considerato come contenente dati validi, e sarà quindi semplicemente come avere un drive meno capiente e basta.
Ritornando a prima, perché dicevo che senza trim in tempo reale, effettuare quello batched raramente (esempio una volta a settimana o come fa qualcuno addirittura una volta al mese) non è molto utile? Perché a seconda dell'uso e della write amplification del drive (fenomeno per il quale a parità di scritture, sulle memorie dell'SSD vengono in realtà effettuate N * scritture), in questo modo c'è il rischio che si sporchino tutte le celle di memoria dell'SSD molto prima che la passata successiva del trim batched avvenga. Quando questo avviene, equivale ad usare l'SSD come se fosse pieno, con il drive che per il wear leveling può fare affidamento solo sullo spazio di overprovisioning di fabbrica e quello eventuale aggiunto, se correttamente configurato.
Ultima modifica di s12a : 21-04-2014 alle 08:26.
|