Solid-State-Drives & TRIM

drive-harddisk

Solid-State-Drives (SSDs) bieten viele Vorteile gegenüber konventionellen Festplatten: Niedrige Zugriffszeiten, hohe Datenübertragungsraten, mechanische Robustheit, keine Geräuschentwicklung und niedrigerer Stromverbrauch. Ich nutze seit zwei Jahren eine SSD als Systemlaufwerk, sowohl unter Windows 7 als auch Linux – die Geschwindigkeitsvorteile sind enorm.

Bei SSDs sind ein paar Besonderheiten zu beachten, wie z.B. das korrekte Alignment bei der Partitionserstellung, doch heute möchte ich auch das Kapitel TRIM näher eingehen.

Was ist TRIM?

Nach dem Löschen von Daten auf dem Speichermedium vermerkt das Betriebssystem im Regelfall nur innerhalb des Dateisystems, welche Datenbereiche für neue Daten genutzt werden können. Physikalisch bleiben die Daten erhalten und werden quasi nur zum Überschreiben freigegeben.

TRIM ein ATA-Befehl des Betriebssystems, welcher dem Laufwerk nach dem Löschen mitteilt, welche Datenbereiche nicht mehr verwendet werden. Für den Controller einer konventionellen Festplatte ist diese Information eher weniger wichtig, doch anders sieht es für den Controller eines SSD-Laufwerk aus. Denn ohne diese Information hält dieser die gespeicherten Blöcke weiter vor, anstelle sie als ungültig zu markieren. Die Folge sind Performanceverluste beim Schreibzugriff sowie höhere Abnutzung des SSD-Laufwerks. TRIM ist also für SSDs von essentieller Bedeutung.

Nun die gute Nachricht: Die meisten aktuellen Betriebsysteme unterstützen die TRIM-Funktion – ein manueller Eingriff ist im Regelfall nicht erforderlich.

TRIM unter Linux

Seit Kernel 2.6.33 unterstützt Linux die TRIM-Funktion. Allerdings werden zwei Möglichkeiten angeboten: Batched Discard (manuell auszuführen) oder Online Discard (automatisch durch den Kernel). Mehr hierzu unter SSD-TRIM – Wiki-Ubuntuusers.de. Welche Methode nun die bessere ist, darüber streiten sich die Gelehrten.

Batched Discard muss manuell von Zeit zu Zeit ausgeführt werden (auch automatisiert per Cronjob möglich) – die Laufzeit des Befehls ist abhängig von der gelöschten Datenmenge seit dem letzten Aufruf. Der Befehl hierzu lautet: sudo fstrim -v / ## oder sudo fstrim -v /home. Der Parameter -v gibt die Anzahl der getrimmten Bytes aus.

Online Discard wird per discard-Option in den Mountoptionen der fstab definiert, erfordert keine manuellen Eingriffe und sendet den TRIM-Befehl nach dem Löschen einer Datei – dies könnte u.U. die Performance bei Löschvorgängen reduzieren.

Ich persönlich nutze die Methode des Online Discards und habe bis heute keinerlei Probleme feststellen können. Für welche Methode man sich entscheidet, ist letztendlich Geschmackssache.

TRIM unter Linux testen

Ob TRIM wie gewünscht funktioniert, lässt sich unter Linux mit ein paar Befehlen recht einfach testen, hierzu empfehle ich folgenden Artikel bei Ubuntuusers – SSD-Trim testen.

One thought on “Solid-State-Drives & TRIM

  1. Pingback: Festplatten-Image mit Clonezilla | Arndt's Blog

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.