SSD-Garbage Collection

So funktioniert der Trim-Befehl

Author | 13. Februar 2023 | Alle, Technologie

Ein Solid-State-Laufwerk (SSD) ist ein elektronisches Datenspeichergerät, das aus einem Controller, NAND-Flash, DDR (optional) und einem Schnittstellen-/Protokollanschluss besteht. (z. B. PATA, SATA und PCIe NVMe.) Im Gegensatz zu Festplattenlaufwerken (HDDs) verwenden SSDs keine mechanischen Teile zum Lesen, Programmieren und Löschen von Daten. Durch die präzise Steuerung von Millionen von NAND-Flash-Speicherzellen kann ein SSD-Controller Lese-, Schreib- und Löschaufgaben ausführen.

 

 

Eine Flash-Speicherzelle ist im Wesentlichen ein MOSFET (Metalloxid-Halbleiter-Feldeffekttransistor) mit einem speziellen Floating-Gate, das Daten dauerhaft speichern und speichern kann. Jedes Mal, wenn Elektronen im Floating-Gate eines Transistors eingefangen werden, werden die Daten programmiert. Wenn die Elektronen freigesetzt werden, werden die Daten entfernt.

Im Gegensatz zu einer Festplatte kann ein NAND-Flash-Speicher vorhandene Daten nicht überschreiben. Stattdessen wird Garbage Collection (GC) verwendet, um freien oder genutzten Speicherplatz zu verlagern und gültige und ungültige Daten zurückzugewinnen. Dabei handelt es sich um einen grundlegenden Prozess, der in allen SSDs zum Einsatz kommt. GC kann auf viele Arten implementiert werden, die sich direkt auf die gesamte SSD-Leistung und -Ausdauer auswirken.

 

Wie GC Daten verarbeitet

Da SSDs vorhandene Daten in NAND-Speicherzellen nicht überschreiben können, müssen sie zunächst alte Daten löschen, bevor sie neue Daten an derselben Stelle programmieren. GC ist der Prozess, bei dem vorhandene Daten an neue Speicherorte im freien Speicherplatz verschoben werden und die umgebenden ungültigen Daten vollständig gelöscht werden.

 

 

Eine Flash-Speicherzelle besteht aus Seiten und Seiten bilden einen Block. Aufgrund der inhärenten Eigenschaften der NAND-Gerätephysik ermöglicht die Flash-Zelle das Programmieren von Daten auf Seitenebene, das Löschen jedoch nur auf Blockebene. Diese Inkonsistenz zwischen Programmier- und Löschaufgaben hat den größten Einfluss auf die SSD-Lebensdauer.

Bevor der durch ungültige Daten belegte Platz beansprucht wird, müssen alle gültigen Daten auf den Seiten des ursprünglichen Blocks kopiert und in leere Seiten eines neuen Blocks geschrieben werden. Die ungültigen Daten im ursprünglichen Block können dann gelöscht werden, sodass neue gültige Daten geschrieben werden können.

 

Befehl zum Trimmen

Die Betriebssystemerkennung kann nur die logischen Speicherorte erkennen, die in der Zuordnungstabelle von SSDs angesprochen werden. Das Speichersystem gibt die Daten von den physischen Standorten zurück, während das Betriebssystem Daten von den entsprechenden logischen Standorten anfordert. Microsoft hat das Trim-Befehlskonzept vorgeschlagen, um unnötigen Verschleiß bei NANDs zu reduzieren. Mit diesem Befehl kann das Betriebssystem eine SSD sofort benachrichtigen, während eine Datei auf Betriebssystemebene gelöscht wird. Die SSD kann dann früher erkennen, ob die Daten als gültig oder ungültig markiert sind.

Der größte Vorteil des Trim-Befehls besteht darin, dass er der SSD dabei hilft, genau zu verfolgen, was das Betriebssystem in Echtzeit ausführen wird. Dadurch wird der redundante Zugriff auf den NAND-Flash effizient reduziert.

Der Trim-Befehl kann drei wesentliche Vorteile bringen:

      1. Niedrigere Schreibverstärkung: Eine frühzeitige Benachrichtigung über ungültige Daten für Seiten mit ungültigen Daten trägt dazu bei, dass Daten weniger neu geschrieben werden müssen. Wenn mehr freier Speicherplatz zum Schreiben zur Verfügung steht, sind weniger Schreibaufgaben für die SSD erforderlich.
      2. Hoher Durchsatz: Ein Laufwerk läuft schneller, wenn während der GC weniger Daten verschoben werden müssen, wenn der Trim-Befehl verwendet wird. Der Durchsatz wird dadurch beeinträchtigt, wie schnell eine SSD in den Flash-Speicher schreiben kann. Während der GC-Verarbeitung muss die SSD einige Datenübertragungen vom Host stoppen. Daher ist es für SSDs von Vorteil zu wissen, welche Seiten ungültige Daten enthalten, sodass die Seite während der GC nicht verschoben werden muss.
      3. Verbesserte Ausdauer: Da ungültige Daten nicht neu geschrieben werden, schreibt das Laufwerk weniger Daten auf den NAND-Flash.

 

 

GC und Trim sind die Bausteine im SSD-Betrieb

Garbage Collection ist ein wesentlicher Unterschied zwischen SSDs und HDDs. Anstatt vorhandene Daten zu überschreiben, führen SSDs eine GC durch, wenn neue Daten auf Seiten mit ungültigen Daten programmiert werden. Dies führt zu einer zusätzlichen Abnutzung von NAND. Eine Lösung für dieses Problem ist jedoch der Befehl Trimmen. Es hilft einer SSD, alle „Dateilösch“-Aufgaben des Benutzers oder Betriebssystems zu antizipieren. Dies führt zu einer geringeren Schreibverstärkung, einem höheren Durchsatz und einer verbesserten SSD-Ausdauer.

 

Die Stiftung, die Innovation beschleunigt™

de_DEDeutsch