Mitte Dezember 2009 veröffentlichte ich den Artikel “SSDs unter Windows 7 einsetzen“. Mittlerweile häufen sich in den Kommentaren die Fragen zur TRIM-Funktionalität. Deshalb habe ich mich gründlich informiert und versuche euch das Thema näher zu bringen.
Die exakte Bezeichnung des TRIM-Befehls lautet übrigens “ATA8 ACS2 Data Set Management Trim Attribute”.
Wozu wird TRIM überhaupt benötigt?
SSDs verwenden zur Datenspeicherung NAND-Flashzellen. Diese Zellen werden üblicherweise in 4 KiByte große Speicherseiten unterteilt. 128 Speicherseiten werden wiederum in einem Block zusammengefasst, welcher somit auf 512 KiByte kommt.
Leere Speicherseiten können einzeln beschrieben werden. Enthalten sie jedoch Daten, müssen diese zuerst gelöscht werden, was jedoch nur in ganzen Blöcken funktioniert. Direktes Überschreiben ist nicht möglich.
Das zweite Problem ist der Controller. Er weiß nicht welche Daten in den Flashzellen von Windows noch benötigt werden und welche eigentlich gelöscht sind. Beim Entfernen von Dateien vermerkt das Betriebssystem dies nur im Dateisystem. Der Controller bekommt dies nicht mit und hält die Daten weiter in den Flashzellen vor. Schon nach kurzer Zeit wäre die SSD komplett gefüllt – wobei der größte Teil nur Datenmüll wäre.
Auch wenn man nun nur wenige Bytes schreiben möchte, muss jeweils der gesamte Block in den Cache geladen und modifiziert werden. Die Schreibvorgänge benötigen dementsprechend sehr viel mehr Zeit. Die Leistung kann um 40 bis 70 Prozent einbrechen.
Wie funktioniert TRIM?
Mit Hilfe des TRIM-Befehls teilt das Betriebssystem dem Flash-Controller mit, welche Daten gelöscht werden sollen. Diese werden anschließend sofort gelöscht und blockieren keine Speicherseiten mehr. Beim nächsten Schreibvorgang können die freien Speicherseiten sofort beschrieben werden, ohne erst die alten Daten löschen zu müssen.
Was wird für TRIM benötigt?
- Windows 7 (ältere Windowsversionen unterstützen den TRIM-Befehl nicht)
- SSD mit TRIM-fähiger Firmware
- Controller im IDE- oder AHCI-Modus (Nur bei Intel Chipsätzen darf der Controller im BIOS auf RAID-Betrieb gestellt sein!)
- TRIM-fähiger Treiber:
-Microsoft Storage-Treiber (PCIIDE oder MSAHCI)
-Intel RST ab 9.6.0.1014 (Download)
-AMD AHCI Treiber ab Version 1.2.1.263 (Download)
Sofern ihr im BIOS AHCI eingestellt habt, muss in den Treiberdetails des Controllers, an dem eure SSD hängt, der “MSAHCI”-, “iaStor”- oder “amd_sata”-Treiber auftauchen.
Im IDE-Modus sollte an dieser Stelle entsprechend der PCIIDE-Treiber zu sehen sein.
Wie kann ich feststellen, ob TRIM verwendet wird?
Update
Mittlerweile gibt es eine sichere Methode um herauszufinden ob TRIM funktioniert oder nicht. Mehr dazu in meinem Artikel auf dem SSDblog.
Entgegen der weit verbreiteten Meinung kann man nicht direkt feststellen, ob TRIM verwendet wird. Die einzige Möglichkeit dies zu prüfen ist von Zeit zu Zeit einen Benchmark zu machen und die Leistung zu überwachen. Bleibt diese ungefähr auf dem Anfangsniveau der SSD, wird TRIM mit ziemlicher Sicherheit verwendet.
Eine weitere Möglichkeit wäre folgende:
- SSD fast komplett mit Daten füllen
- SSD benchen
- Daten auf SSD löschen, sodass sie im Papierkorb landen
- Papierkorb leeren
- 10 Minuten warten
- SSD erneut benchen
Wenn die Benchmarkwerte nach dem Löschen der Daten (6.) besser ist als davor (2.), dann ist TRIM höchstwahrscheinlich aktiv.
Neueste Kommentare