Qual è la differenza tra Garbage Collection e Trim?

venerdì 14 dicembre 2018 di Ontrack Italia

Molti utenti privati, ma anche amministratori IT con esperienza, fanno confusione tra le due funzionalità SSD denominate Garbage Collection e TRIM.

Esse sembrano essere collegate, ma la vera questione è come e perché? Ci sono possibilità di data recovery se le due funzionalità fanno adeguatamente il proprio lavoro?

Questo è ciò di cui vogliamo parlare oggi in questo breve articolo su Garbage Collection e TRIM.

Cos'è la Garbage Collection?

In informatica, il termine Garbage Collection descrive una modalità di gestione della memoria con cui il garbage collector libera spazio di memoria da oggetti o dati che non vengono più utilizzati, i cosiddetti garbage (dall'inglese "rifiuti", "scarti").

Questo approccio, con cui lo spazio di memoria occupato da dati non più necessari viene identificato come garbage, è valido per gli SSD (Solid-State Drive). L'idea alla base è che lo spazio identificato come garbage dovrebbe essere contrassegnato come vuoto e utilizzabile per la scrittura e il salvataggio.

Sugli SSD, che sono un prodotto combinato di molti chip di memoria Flash NAND con un controller chip, risiede la logica relativa al modo in cui le parti di dati sono archiviate come bit e byte. Liberare dai dati uno o più chip Flash non è un'attività semplice. Questo perché i dati sono scritti e salvati sulla memoria Flash in unità chiamate pagine. Tuttavia, i dati possono essere cancellati solo dai chip in unità più grandi chiamate blocchi, che sono costituiti da molte di queste pagine.

Le pagine vengono scritte nei blocchi su una memoria Flash, fino al loro riempimento. Affinchè il sistema non debba rimanere in attesa fino al completo riempimento dell'intero blocco con dati non necessari, che possono quindi essere cancellati per sempre, i dati validi vengono copiati in un altro blocco libero mentre i dati non necessari o da cancellare vengono lasciati nel vecchio blocco. A questo punto l'intero primo blocco originale è ripulito dai dati.

Questo processo è chiamato Garbage Collection. La questione principale qui è che anche se questo blocco ripulito dai dati (cioè lo spazio di storage) è contrassegnato come vuoto, i vecchi dati o i relativi frammenti sono ancora lì e possono essere recuperati.

Tuttavia, la Garbage Collection presenta uno svantaggio (oltre all'usura): comporta la scrittura di molti dati con una riduzione del ciclo di vita del supporto.

Cos'è il comando Trim?

Questo è il motivo per cui è stato introdotto il comando TRIM.

Anche se non è necessario per la Garbage Collection e per liberarsi dei dati inutilizzati, il comando TRIM risolve il problema dell'usura delle celle Flash e della riduzione del ciclo di vita. Il trimming consente al disco SSD di gestire in maniera più efficiente la Garbage Collection, che altrimenti, in particolare quando la memoria si riempie, rallenta le performance generali a causa delle numerose operazioni di scrittura.

Il comando TRIM consente a un sistema operativo (come Linux, Windows, Mac OS X, Android ecc.) di segnalare automaticamente al disco SSD le pagine che non contengono più dati validi e che quindi possono essere contrassegnate come vuote e libere per nuovi dati. Con il tradizionale processo della Garbage Collection di lettura/cancellazione/modifica descritto in precedenza, si ottiene un throughput di scrittura più elevato oltre a una minore amplificazione della scrittura.

Il comando Trim è implementato come TRIM nel set di comandi ATA e come UNMAP nel set di comandi SCSI. Dato che in questo articolo ci stiamo riferendo a normali computer domestici, parliamo di TRIM con ATA. Tuttavia, dato che il comando UNMAP con SCSI è analogo a TRIM, la maggior parte dei vantaggi e svantaggi che menzioniamo valgono anche per UNMAP.

Con TRIM il blocco dei dati viene ripulito immediatamente dopo la cancellazione dei dati da parte dell'utente. Il blocco è pertanto disponibile per la scrittura di nuovi dati.

Quindi, come evidenziato in precedenza, il comando TRIM rende molto più efficiente e veloce la cancellazione dei file che sono stati identificati come non più necessari.

Quali effetti hanno sul recupero dati TRIM e Garbage Collection?

Il lato negativo del comando TRIM e della Garbage Collection consiste nel fatto che non è normalmente possibile effettuare il data recovery su un disco SSD abilitato per il comando TRIM.

Quindi, una volta che il cestino è stato svuotato, i file sono cancellati in maniera permanente. Il blocco in cui erano archiviati i dati cancellati verrà ripulito per sempre nel momento della cancellazione dei dati da parte dell'utente.

Tuttavia, è opportuno far analizzare il disco da un esperto di recupro dati di Ontrack Data Recovery. Questo perché potreste essere fortunati e i dati potrebbero essere recuperati!

Ci sono diversi scenari possibili: in alcuni casi il disco SSD che state utilizzando potrebbe essere vecchio e non supportare il comando TRIM o non averlo abilitato per impostazione predefinita. Oppure utilizzate il file system FAT32, che non supporta il comando TRIM o il file system in uso è compromesso e pertanto non è possibile accedervi. Oppure, ancora, il disco SSD è stato criptato per impostazione predefinita, il che impedisce anche al comando TRIM di funzionare, con la conseguenza che i dati potrebbero ancora essere recuperati. In casi rari potrebbe accadere che il comando TRIM sia stato disabilitato nel sistema operativo.

In considerazione di tutte queste possibilità, è una buona idea verificare le opzioni di recupero dati con uno specialista di Ontrack Data Recovery e consultare questa pagina per ulteriori informazioni sul recupero dati da SSD.

Servizi di recupero dati

Hai perso i tuoi dati? Contattaci subito per recuperarli.


Cosa pensano i clienti dei nostri servizi: