Werbung
Um optimale Ergebnisse liefern zu können, müsste der GC-Algorithmus genau wissen, welche Daten im Flash-Speicher noch benötigt werden und welche nicht, weil sie z.B. vom Benutzer gelöscht wurden. Gelöscht bedeutet hier allerdings lediglich, dass der Zuordnungseintrag entfernt wurde, die Daten sind weiterhin auf dem Laufwerk vorhanden. Diese Art des Löschens ist so üblich und auch der Grund dafür, warum Datenrettungsprogramme gelöschte Dateien wiederfinden können: Die eigentlichen Daten wurden nämlich gar nicht gelöscht. Die SSD muss also auch diese verwaisten Daten als „vollwertig“ behandeln (da der Controller keinen Unterschied zu den restlichen Nutzdaten feststellen kann), weswegen eine einmal vollgeschriebene SSD normalerweise massiv an Leistung verlieren würde.
Erhält die SSD vom Betriebssystem nun keine Informationen darüber, welche Daten endgültig entfernt werden können, muss sie das Dateisystem selbst lesen können. Das ist ein heikles Unterfangen, denn es ist bei der Vielzahl an Dateisystemen natürlich unmöglich, jedes zu unterstützen. Auch hat die SSD keine Chance, eine verschlüsselte Partition zu analysieren. Samsung hat sich trotzdem dazu entschieden, in die Firmware eine Unterstützung für das NTFS-Dateisystem einzubinden. Das dürfte die meisten Windows-Benutzer glücklich machen, denn NTFS ist dort das Standard-Dateisystem. Die Garbage Collection kann hier also ihr volles Potenzial ausschöpfen. Man könnte als Kritik nun allerdings auch dagegenhalten, dass eine fehlerhafte Implementierung von Samsung das Dateisystem beschädigen könnte. Indilinx will sich diesem Aufwand und eventuellem Risiko nicht aussetzen - das heißt aber auch, dass die Garbage Collection nur in kleinerem Umfang funktionieren kann. Das Aufräumen beschränkt sich hier auf das Umsortieren von Daten, sodass beim Schreiben ein freier Block genutzt werden kann.
Beide Methoden haben signifikante Nachteile und können nur als Notlösung betrachtet werden. Die Erlösung kommt hier in Form des sogenannten TRIM-Befehls. Dieser teilt der SSD mit, welche Daten veraltet sind und endgültig gelöscht werden können. Die Firmware muss also kein Dateisystem mehr lesen können und/oder verwaiste Daten werden nicht mehr unnötig hin- und hergeschoben.
Warum wird TRIM noch nicht genutzt? Das Problem ist, dass TRIM von insgesamt drei Komponenten unterstützt werden muss: Dem Laufwerk, dem Betriebssystem und den Treibern. Zurzeit unterstützt noch kein Laufwerk den TRIM-Befehl. Indilinx arbeitet momentan an einer neuen Firmware mit der Version 1711. Diese unterstützt zwar den TRIM-Befehl, ist aber aufgrund schwerwiegender Fehler noch nicht serienreif. Das einzige Betriebssystem in der Windows-Welt, dass TRIM unterstützt, ist Windows 7. Benutzer von Windows Vista und früheren Versionen werden nicht in den Genuss des automatischen Trimmens kommen. Probleme machen außerdem auch noch die Treiber. Nutzt man den RAID/AHCI-Treiber von Intel, nützt es nichts, wenn beide anderen Komponenten den TRIM-Befehl unterstützen, denn der Treiber lässt den Befehl nicht passieren. Hier muss man also auf den IDE-Kompatibilitätsmodus wechseln oder die AHCI-Treiber von Microsoft verwenden. Intel wird hier auch im eigenen Interesse noch nachbessern müssen, verkauft doch auch Intel eigene SSDs.
Man muss auf TRIM aber nicht ganz verzichten, zumindest wenn man Besitzer einer auf Indilinx-Technologie basierenden SSD ist: G.Skill und OCZ bieten ein Tool mit dem Namen „Wiper“ an, welches den TRIM-Befehl manuell sendet. Normalerweise ist ein komplettes Laufwerk in einigen Sekunden getrimmt. Arbeitet das Tool außerordentlich langsam oder verweigert gar vollständig den Dienst, ist daran meistens ein nicht von Microsoft stammender AHCI-Treiber schuld. Der klare Nachteil des Tools ist, dass man es jedes Mal selbst ausführen muss. Automatisch wird das Trimmen erst funktionieren, wenn alle oben genannten Komponenten (Firmware, Betriebssystem, Treiber) zusammenarbeiten.
Zum Download des jeweiligen Tools gelangt ihr über folgende Links: