Was ist TRIM Support und Garbage Collection?

Der Begriff TRIM oder TRIM-Support kommt Euch immer dann unter, wenn um die Benutzung von SSDs geht, also Speichermedien, die im Gegensatz zu mechanischen Festplatten nicht aus sich drehenden Magnetscheiben bestehen, sondern aus Flashspeicherzellen. Und genau da geht das Problem los.


Magnetscheibe vs. Speicherzelle

Fangen wir mit der altmodischen Festplatte an: diese löscht, wenn wir eine Datei löschen, in Wirklichkeit gar nicht die eigentlichen Daten, sondern nur den Verweis in Ihrem Inhaltsverzeichnis. Das hat den Vorteil, dass es schneller geht: Schließlich wird nur der Hinweis „Programm XY“ gelöscht und nicht tatsächlich die ganzen vielleicht 800 MB. Die eigentlichen Daten befinden sich also noch auf der Platte und werden erst überschrieben, wenn etwas anderes gespeichert werden soll. Denn dieser Bereich gilt ja dann laut Inhaltsverzeichnis als frei. Das ist auch der Grund, warum Datenrettungsprogramme „gelöschte“ Daten wiederherstellen können: Meist ist nämlich nur das Inhaltsverzeichnis, also die Liste der Daten gelöscht, nicht aber die Daten selber.

Dieses System funktioniert, weil die Magnetscheiben im Prinzip unbegrenzt überschrieben werden können und es egal ist ob ständig der gleiche Bereich genutzt wird. Außerdem könne die Daten direkt überschrieben werden und müssen nicht erst gelöscht werden.

Das ist jedoch bei einer SSD anders: die besteht aus einzelnen Speicherchips, die wiederum aus einzelnen Zellen bestehen. Diese Zellen sind nur begrenzt überschreibbar, abhängig von der Art (Qualität) ein paar tausend mal. Würde man die SSD so behandeln wie eine Festplatte, würden einige Bereiche sehr oft benutzt und andere selten. Damit würden bestimmte Bereiche der SSD schnell kaputt gehen. Daher versucht man die Schreibzugriffe auf der SSD immer gleichmäßig über alle Speicherzellen zu verteilen, damit die Abnutzung sich über den gesamten Speicherplatz verteilt. Dafür ist der Controller der SSD verantwortlich, der hierüber Buch führt und genau weiß wo welche Daten sind und welche Zellen mal überschrieben und welche benutzt werden sollten. All dieses ist ja bekanntlich der Festplatte egal.

Der zweite wesentliche Punkt bei einer SSD ist der Umstand, dass Speicherzellen im Gegensatz zur Magnetscheibe der Festplatte, vor dem Neubeschreiben gelöscht werden müssen. Dabei gibt es folgende Besonderheit: zwar können die eigentlichen Speicherzellen einer SSD einzeln beschrieben werden, das Löschen betrifft aber immer viele Speicherzellen gleichzeitg, sogenannte Blöcke. Wie wir bereits wissen, ist jeder Schreibvorgang, und somit auch das Löschen, eine Belastung für die Speicherzellen, die die Lebensdauer verringern. Muss man nun eine Speicherzelle löschen, um neue Daten zu schreiben, so muss man den gesamten Block löschen, in dem sie sich befindet. Auch wenn alle anderen Speicherzellen leer sind, müssen alle diesen Löschvorgang über sich ergehen lassen.


Betriebssystem vs. SSD Controller

Wie optimiert der SSD Controller also am besten? Er wartet ein bißchen bis wir noch andere Daten löschen und kombiniert ein bißchen hin und her. Zum Konzept gehört auch, dass es auf der SSD ein bißchen Extraplatz gibt, die zum Umkopieren genutzt werden kann. Der Controller möchte also die Zellen, die gelöscht werden sollten, möglichst alle zusammen nur einmal löschen. Nachdem er also weiss, welche Daten weg können und welche bestehen bleiben müssen, nimmt er diese und kopiert sie in einen freien Bereich und löscht dann den Rest – den gesamten Block. Diese Funktion nennt sich Garbage Collection.

Diese Ansatz ist nicht schlecht, hat aber einen Nachteil: Es gibt einen Unterschied zwischen dem, was das Betriebssystem weiß und das was der SSD Controller weiß. Löschen wir ein Foto, weiß das Betriebssystem „Foto A ist gelöscht“ – gibt dieses Wissen aber erstmal nicht an die SSD weiter. Speichern wir nun Foto B, denkt sich das Betriebssystem „Ah, kein Problem, das passt dahin wo vorher Foto A war, mach mal SSD“. Die SSD ist nun überrascht, weil sie ja nichts davon gehört hatte, dass Foto A gelöscht werden sollte. Sie kann nun nichts anderes tun als Foto B woanders unterzubringen und Foto A als gelöscht zu markieren, sie ist sozusagen einen Schritt hinterher.

Hier setzt TRIM an: Das Betriebssystem gibt die Löschinformation direkt an die SSD weiter, so dass diese weiß welche Daten schon ungültig sind und in der internen Organisation und Umstrukturierung für das Löschen von Blöcken die schon gelöschten Informationen gar nicht mehr berücksichtigt. Wir erinnern uns, der Controller hat mehr Arbeit als der einer Festplatte, da die SSD tatsächlich immer die Daten löschen muss. Damit werden überflüssige Daten nicht mehr hin und her kopiert was sich positiv auf die Lebensdauer auswirkt und ebenso auf die Geschwindigkeit.


Kein TRIM! Was nun?

Eine gute Frage. Apple bietet keinen TRIM-Support an wenn es sich um nachgerüstete SSDs handelt. Selbst für extern per Thunderbolt angeschlossene SSD-Laufwerke steht TRIM nicht zur Verfügung. Was Apple sich dabei denkt ist Eurer Diskussion überlassen.

Was kann man also tun, um die SSD leistungsfähig zu halten? Ihr müsst darauf achten eine SSD mit guter Garbage Collection zu erwerben. Wenn die SSD also keine TRIM-Informationen vom Betriebssystem bekommt und sich selbst um alles kümmern muss, muss gerade diese Funkion sehr ausgeprägt sein.

Nach unserer Erfahrung kommen Plextor SSDs ohne TRIM sehr gut klar und können ihre Leistungsfähigkeit gut behalten. Samsung EVO 840 SSDs, die wir im Test hatten, erleiden jedoch einen gravierenden Geschwindigkeitseinbruch ohne TRIM. Das ist nicht Zeichen eines schlechten Produkts – mit TRIM sind sie dauerhaft extrem schnell. Es zeigt nur, dass man genau darauf achten muss, welche SSD man im Apple-Universum einsetzt.

Comments are closed.