Im Vergleich zu herkömmlichen Festplattenlaufwerken gehen Flash-basierte Speicherprodukte etwas anders mit zuvor gelöschten Daten um. Daten müssen zunächst gelöscht werden, bevor Daten in denselben Block einer SSD geschrieben werden können. Die „Garbage Collection“ (grob übersetzt: Müllabfuhr) kopiert derzeit verwendete Daten in einen neuen Block, löscht anschließend sämtliche Daten des alten Blocks.
Warum Garbage Collection?
Flash-basierte Speicherprodukte unterscheiden sich von herkömmlichen Festplatten, bei denen alte Daten einfach mit neuen Daten überschrieben werden. Bei SSDs werden neue Daten in freie Flash-Speicherblöcke geschrieben, die mit den jeweiligen logischen Adressen verknüpften älteren Daten werden ungültig gemacht. Die Garbage Collection fasst neue und gültige Daten an benachbarten Speicherstellen zusammen, löscht dann ungültige Daten aus dem physischen Flash-Speicher, um Speicherblöcke für neue Daten freizugeben.
Wie funktioniert das?
Eine Flash-Zelle setzt sich aus Pages zusammen, mehrere Pages bilden einen Block. SSDs lesen und schreiben Daten als Pages und löschen Daten auf Blockebene. Wenn neue Daten in einen bereits genutzten Block geschrieben werden sollen, muss der SSD-Controller zuerst eine Kopie aller gültigen Daten anlegen und diese in leere Pages eines anderen Blocks übertragen. Anschließend werden sowohl gültige als auch ungültige Daten des aktuellen Blocks gelöscht, bevor der nun frisch gelöschte Block wieder mit neuen Daten beschrieben werden kann. Dieser Ablauf nennt sich „Garbage Collection“.