Articles

Garbage Collection & TRIM: SSD Dirty Little Secret

SSD Garbage collection and TRIM
I brontolii online e in alcuni ambienti IT hanno dimostrato di essere vero: le velocità SSD possono rallentare nel tempo. Fortunatamente, ci sono cose che puoi fare che possono impedire che ciò accada e aiutarti a mantenere la natura rapida dei tuoi SSD.

Che cosa è SSD Garbage Collection

Proprio come togliere la spazzatura è un compito necessario per mantenere la vostra casa, garbage collection è anche un tipo di manutenzione SSD. È un po ‘ un termine improprio dal momento che la garbage collection non ha nulla a che fare con la rimozione di file che non sono più necessari. È più come sbarazzarsi di scatole vuote di cose che hai già buttato via. Al suo interno, SSD garbage collection è un processo automatizzato che è stato progettato per migliorare le prestazioni.

Sappiamo tutti che gli SSD sono inizialmente molto veloci, ma stiamo scoprendo che diventano più lenti nel tempo, specialmente quando l’unità inizia a riempirsi. Questa è esattamente la cosa che SSD garbage collection è progettato per prevenire. Con una corretta manutenzione, la velocità di un SSD può essere preservata.

Il grande rallentamento SSD

Per capire perché gli SSD diventano più lenti nel tempo, è importante sapere come funzionano i file system. Ogni file system ha il suo modo di fare le cose, ma in generale, quando si elimina un file, quel file non è realmente andato. Il sistema operativo in genere non cancella i blocchi di archiviazione precedentemente abitati dal file. Invece, il sistema operativo contrassegna semplicemente i blocchi come disponibili e memorizza tali informazioni in un file di directory. Questo è il motivo per cui il software di recupero come Hard Disk Warrior è in grado di recuperare i file che sono stati ‘cancellati’. Il file esiste ancora in quei blocchi sul disco, ma il file di directory li elenca come vuoti in modo che siano invisibili al computer.

Con HDD questo metodo di eliminazione di un file non era un problema. Il sistema operativo sarebbe semplicemente contrassegnare i blocchi come disponibili, e il disco rigido potrebbe scrivere nuovi dati sopra la parte superiore dei vecchi dati. Gli SSD non possono farlo. Per gli SSD, i blocchi di archiviazione devono essere cancellati prima di poter essere sovrascritti. È questo requisito per la cancellazione dei blocchi utilizzati in precedenza che fa sì che gli SSD diventino più lenti nel tempo.

Eliminando la spazzatura SSD

Per evitare che questa situazione indesiderata accada, gli SSD moderni eseguono routine complesse chiamate garbage collection per mantenere sempre una riserva il più grande possibile di blocchi vuoti incontaminati pronti per la scrittura. La garbage collection implica che il controller cerchi nel suo inventario di pagine scritte per pagine che sono state contrassegnate come”stantie ” —cioè, sono state scritte e quindi i dati che contenevano dovevano essere modificati dal sistema operativo; poiché cambiare lo stato della pagina è impossibile senza prima cancellarlo, le modifiche vengono sempre scritte su nuove pagine e le vecchie pagine contrassegnate come stantie. Garbage collection cerca blocchi che contengono un mix di pagine buone e stantie e quindi duplica tutte le pagine buone in nuovi blocchi e lascia solo pagine stantie nel vecchio blocco. Quindi cancella il vecchio blocco e lo contrassegna pronto per l’uso.

C’è un altro dettaglio da notare sulla garbage collection SSD, tuttavia. Gli SSD possono leggere e scrivere a livello di pagina—che di solito è 8KB per le unità moderne—ma hanno un difetto particolare in quanto non possono cancellare a livello di pagina. Gli SSD possono cancellare solo interi blocchi, che di solito sono costituiti da centinaia di pagine. La ragione di ciò è che la cancellazione del contenuto di una pagina richiede lo zapping di quella pagina con una quantità di tensione non insignificante, e il layout in stile NAND di tutti gli SSD moderni rende proibitivamente difficile isolare quella tensione solo alle pagine che devono essere cancellate.

Ed ecco dove entra in gioco il termine improprio “Garbage collection”, perché in realtà sono buone pagine che vengono “raccolte”, con la spazzatura lasciata indietro. L’obiettivo di questo processo è cercare di ottimizzare le prestazioni facendo in modo che i blocchi siano completamente vuoti (e quindi cancellando il blocco) o completamente pieni.

Che dire di TRIM?

Su un HDD di solito c’è una correlazione fissa tra i cluster del file system e i settori del disco. Ma su un SSD, dove non esiste una correlazione fissa e dove le pagine in uso devono essere monitorate e raccolte dalla garbage collection, può essere un grosso problema. Le pagine contenenti file eliminati sembrano pagine valide e continuano a essere raccolte insieme a pagine effettivamente buone.

Questa è la situazione TRIM è stato introdotto per porre rimedio. TRIM (che è correttamente in maiuscolo ma non è un acronimo) è un comando ATA che il sistema operativo può causare l’invio quando elimina un file. Il comando TRIM fornisce quel ponte dal livello di file al livello di blocco, dando al sistema operativo un modo per dire all’SSD che sta eliminando i file e per contrassegnare le pagine di quei file come obsolete.

Con TRIM, un SSD non è più costretto a salvare pagine appartenenti a file eliminati. TRIM non è un’alternativa alla garbage collection: funziona con la garbage collection per contrassegnare più correttamente le pagine come stantie. E non hai bisogno di TRIM per la garbage collection per funzionare, ma TRIM rende la garbage collection di un SSD più efficiente.

Detto questo, se stai usando un Mac, Apple non supporta TRIM su SSD di terze parti. È stato possibile aggirare questa limitazione nelle versioni precedenti di OS X, ma non è possibile farlo in Yosemite senza aprire un buco di sicurezza —non farlo, perché anche se TRIM fa la differenza nel ridurre l’amplificazione in scrittura e prolungare la vita e le prestazioni di un SSD, non vale la pena i buchi di sicurezza di dimensioni ridotte che devi aprire per ottenerlo.

Quindi, usa sempre TRIM se puoi. Renderà la raccolta dei rifiuti del tuo SSD molto migliore. Ma se vi trovate in una situazione in cui TRIM non è disponibile, non fatevi prendere dal panico—è bello avere, ma non è un requisito.

2 Condivisioni