TRIM für fortgeschrittene Benutzer

In Computer! Total Ausgabe 4/2010 haben wir fünf SSDs mit Unterstützung für TRIM getestet. Der Einfachheit halber haben wir Orte im Test als den Ort angenommen, an dem eine SSD Daten speichern kann. Hierfür werden eigentlich sogenannte "Seiten" und "Blöcke" verwendet. In diesem Artikel werden wir uns genauer ansehen, wie Seiten, Blöcke und die Beziehung zu TRIM funktionieren.

TRIM ist ein Befehl, der sicherstellt, dass eine SSD eine optimale Schreibleistung beibehält. Die Funktionsweise von TRIM kann nur dann wirklich verstanden werden, wenn Sie die Struktur einer SSD kennen. Eine SSD speichert Informationen in "Seiten", die in einem "Block" zusammengefasst sind. Um diese Konzepte zu verstehen, sollten Sie zunächst die Zusammensetzung der in Computer! Total 4/2010 getesteten MLC-SSDs (Multi Level Cell) berücksichtigen. Eine MLC-SSD besteht aus Milliarden von Speicherzellen, von denen jede mehrere Bits speichern kann. Eine geordnete Sammlung dieser Zellen wird als Seite bezeichnet und ist die kleinste Einheit zum Speichern oder Zurücklesen einer Datei auf einer SSD. Eine Seite hat normalerweise eine Größe von 4 KB. Wenn Sie also eine Datei mit 1 KB speichern, belegt diese Datei 4 KB auf der SSD.

Blöcke

Ein Block ist eine wichtige Einheit für eine SSD, da es sich um die kleinste Sammlung von "Seiten" handelt, die eine SSD lesen muss, um Daten zu löschen. Ein Block besteht aus 128 dieser Seiten und hat eine Größe von 512 KB. Jetzt arbeitet eine SSD als x Anzahl von Speichermodulen in einem RAID-Array. Dies bedeutet, dass eine Datei für maximale Lesegeschwindigkeit auf mehrere Speichermodule verteilt wurde. Windows "kommuniziert" mit der SSD über Logical Block Addressing (LBA) und verfolgt, welche Blöcke verwendet werden und welche verfügbar sind. Da eine SSD mit Seiten arbeitet, muss der SSD-Controller die LBA-Befehle konvertieren. Der Windows-Befehl zum Überschreiben einer Datei wird von einer SSD (falls möglich) zum Schreiben auf eine leere Seite übersetzt. Wenn keine leeren Seiten vorhanden sind, müssen die Seiten zuerst leer sein.

Schriftliche Verzögerung

Ein Problem tritt auf, wenn nicht genügend leere Seiten zum Speichern einer Datei verfügbar sind, wenn gemäß dem Windows-Index mehr als genügend Speicherplatz verfügbar ist. Schließlich wird eine Datei nie wirklich gelöscht, wenn der Befehl gegeben wird. Dies geschieht nur, wenn der von der betreffenden Datei belegte Speicherplatz durch neue Daten überschrieben wird. Ein Problem dabei ist, dass eine SSD Seiten mit Teilen von Dateien, die nicht mehr verwendet werden, nicht direkt überschreiben kann. Eine SSD muss zuerst Blöcke lesen und in ihrem eigenen Cache-Speicher ablegen, da Daten nur dort gelöscht werden können. Im Cache-Speicher werden die relevanten Seiten geleert und dann der gesamte Block mit leeren Seiten auf der SSD wiederhergestellt.Danach stehen diese Seiten für neue Daten zur Verfügung. Dies verlangsamt den Schreibvorgang um den Faktor drei oder mehr.

TRIMMEN

Der Lebensretter für diese Situationen ist TRIM. Dies ist ein Befehl, den Windows 7 während eines Löschvorgangs an die SSD sendet. Dieser Befehl informiert den Controller der SSD darüber, welche Seiten tatsächlich gelöscht werden können, und setzt die SSD in Betrieb, indem Blöcke gelesen und die mit Dateien gefüllten Seiten geleert werden (und welche Windows überschreiben kann). Auf diese Weise bleibt eine SSD in einem optimalen Zustand, indem ausreichend leere Seiten auf Lager sind und eine Schreibzuweisung immer optimal ausgeführt werden kann. Wir zeigen Ihnen Schritt für Schritt, was passiert, wenn eine SSD Dateien schreibt und löscht und wie TRIM sicherstellt, dass immer genügend Seiten frei sind.

1. Leere SSD

Stellen Sie sich vor, wir haben eine SSD mit einer Speicherkapazität von genau 1 Block. Ein leerer Block von 512 KB auf der SSD besteht aus 128 leeren Seiten von 4 KB.

2. Datei schreiben

Wir möchten eine Datei mit 12 KB schreiben, die 3 Seiten mit 4 KB (blau) ausfüllt.

3. Schreiben Sie eine andere Datei

Wir wollen dann eine weitere 8 KB-Datei (lila) schreiben. Insgesamt haben wir 20 KB verwendet. Wir haben also immer noch 512 KB - 20 KB = 492 KB frei oder 123 freie Seiten.

4. Datei löschen

Wir werden jetzt die 8-KB-Datei (lila) löschen. Laut Windows stehen auf unserer SSD noch 512 KB - 12 KB = 500 KB zur Verfügung. Unsere SSD registriert jedoch weiterhin 123 leere Seiten und 2 Seiten mit Daten, die möglicherweise gelöscht werden.

5. Datei speichern

Wir schreiben jetzt 4 KB (grün). Die beiden Seiten mit Informationen mit den zu löschenden Daten werden von der SSD übersprungen. Zuerst werden die leeren Seiten gefüllt.

6. TRIM bei der Arbeit

Mit Unterstützung für TRIM sendet Windows 7 den Befehl TRIM zusammen mit einer Löschaktion. Dadurch weiß der Controller der SSD, dass diese Daten tatsächlich gelöscht werden können. Wenn die SSD eine Weile nichts zu tun hat, verschiebt die SSD den gesamten Block von 512 KB, von dem ein Teil vom Befehl TRIM als gelöscht festgelegt wurde, in den Cache-Speicher. Hier wird die vom Befehl TRIM gelöschte Datei (lila) tatsächlich gelöscht.

7. Seiten werden gelöscht

Jetzt können die 2 Seiten geleert und der gesamte Block zurückgesetzt werden. Sie können sich vorstellen, dass beim Löschen einer 10-MB-Datei insgesamt 2560 Seiten gelöscht werden müssen. Wenn diese dann auch auf verschiedene Blöcke aufgeteilt werden, müssen viele Daten gelesen werden. Obwohl ein Block nur 4 KB der Datei enthält, müssen 512 KB gelesen werden, um den 4-KB-Teil zu löschen. TRIM stellt sicher, dass dies geschieht, wenn Sie die SSD nicht verwenden.

8. Geben Sie wieder Speicherplatz frei

Jetzt können die 2 Seiten nur noch einmal geschrieben werden.

9. Speichern Sie die Datei auf freiem Speicherplatz

Wenn jetzt eine Datei mit 12 KB geschrieben ist, sind genügend Seiten frei, um die Datei zu schreiben (orange).