Warum Solid-State-Laufwerke langsamer werden, wenn Sie sie auffüllen
Die Benchmarks sind eindeutig: Solid-State-Laufwerke werden langsamer, wenn Sie sie auffüllen. Füllen Sie Ihr Solid-State-Laufwerk fast bis zur Kapazitätsgrenze, und die Schreibleistung nimmt drastisch ab. Der Grund dafür liegt in der Funktionsweise von SSDs und NAND Flash-Speicher.
Das Füllen des Laufwerks mit Kapazität ist eines der Dinge, die Sie mit einem Solid-State-Laufwerk niemals tun sollten. Ein fast volles Solid-State-Laufwerk hat wesentlich langsamere Schreibvorgänge, wodurch der Computer langsamer wird.
Leere Blöcke und teilweise gefüllte Blöcke
Wenn Sie eine Datei auf Ihr Solid-State-Laufwerk schreiben, sucht sie nach leeren Blöcken und füllt sie. Das Schreiben in einen leeren Block ist der schnellstmögliche Schreibvorgang. Aus diesem Grund unterstützen neue Betriebssysteme (Windows 7 und höher) die TRIM-Funktion, mit der die Daten einer Datei automatisch vom Solid-State-Laufwerk gelöscht werden, sobald Sie die Datei in Ihrem Betriebssystem löschen. Dies funktioniert anders als bei magnetischen Festplatten, bei denen gelöschte Dateien auf der Festplatte liegen.
Sie sitzen nicht auf einem Solid-State-Laufwerk - TRIM sorgt dafür, dass der Block geleert wird, sodass die SSD in Zukunft schnell neue Daten in den leeren Block schreiben kann. Das Überschreiben eines bereits geschriebenen Sektors ist genauso schnell wie das Schreiben in einen leeren Sektor auf einer mechanischen Festplatte. Ein Solid-State-Laufwerk muss jedoch einen Block löschen, bevor darauf geschrieben wird.
NAND-Flash-Speicher schreibt Daten in 4-KB-Seiten in 256-KB-Blöcken. Um einem teilweise gefüllten Block zusätzliche Seiten hinzuzufügen, muss das Solid-State-Laufwerk den gesamten Block löschen, bevor Daten in ihn zurückgeschrieben werden.
Wenn sich Ihr Solid-State-Laufwerk füllt, stehen immer weniger leere Blöcke zur Verfügung. An ihrer Stelle sind teilweise Blöcke gefüllt. Das Solid-State-Laufwerk kann die neuen Daten nicht einfach in diese teilweise gefüllten Blöcke schreiben. Dadurch werden die vorhandenen Daten gelöscht. Anstelle eines einfachen Schreibvorgangs muss das Solid-State-Laufwerk den Wert des Blocks in seinen Cache lesen, den Wert mit den neuen Daten ändern und ihn dann zurückschreiben. Denken Sie daran, dass das Schreiben einer Datei wahrscheinlich das Schreiben in viele Blöcke beinhaltet, so dass eine erhebliche Verzögerung entstehen kann.
TRIM konsolidiert nicht teilweise gefüllte Blöcke
Wenn Sie ein Laufwerk voll oder fast voll belegen, werden nach dem Löschen von Dateien wahrscheinlich viele teilweise gefüllte Blöcke angezeigt. Der TRIM-Befehl weist ein Solid-State-Laufwerk lediglich an, die Dateidaten zu entfernen, wenn die Datei gelöscht wird. Das Laufwerk wird nicht dazu gezwungen, irgendeine Art von Bereinigungsoperation durchzuführen.
Mit anderen Worten: Füllen Sie ein Solid-State-Laufwerk vor dem Löschen von Dateien bis zur Kapazitätsgrenze aus, und Sie werden wahrscheinlich viele teilweise gefüllte Blöcke erhalten. Das Laufwerk wird sich nicht bemühen, diese teilweise gefüllten Blöcke zu vollen Blöcken zu konsolidieren und leere Blöcke freizugeben. Das Laufwerk ist immer noch voll mit teilweise gefüllten Blöcken und die Schreibleistung wird beeinträchtigt.
Überversorgung und Müllsammlung
Um zu verhindern, dass Konsumenten ihre Solid-State-Laufwerke auffüllen und die Leistung stark abnehmen, unternehmen SSD-Hersteller alles, um dem entgegenzuwirken.
Consumer-Solid-State-Laufwerke legen häufig etwa 7% ihres gesamten Flash-Speichers ab und machen ihn für den Benutzer nicht verfügbar. Dies wird als "Überprovisionierung" bezeichnet - zusätzliche Speicherhardware wird dem Laufwerk hinzugefügt, ist jedoch für den Computer nicht als verfügbarer Speicher sichtbar, den er verwenden kann. Der freie Bereich stellt sicher, dass das Laufwerk niemals vollständig ausgelastet wird. Es gibt immer etwas freie Kapazität, um die Schreibleistung stabil zu halten.
Jeder Controller des Solid-State-Laufwerks verfügt über einen Speicherbereinigungsalgorithmus, um dieses Problem zu beheben. Wenn das Laufwerk voll ist, sucht es nach teilweise gefüllten Blöcken, beginnt sie zu konsolidieren und gibt so viele leere Blöcke wie möglich frei. Verschiedene Solid-State-Laufwerke führen diese Vorgänge zu unterschiedlichen Zeiten und Schwellenwerten aus - dies hängt vom Controller des Laufwerks ab.
Benchmark Evidence
Anandtech führte verschiedene Benchmarks mit unterschiedlichen Laufwerken durch, um die Beziehung zwischen dem freien Bereich eines Solid-State-Laufwerks und der Konsistenz der Schreiboperationsperformance herauszustellen. Beim Auffüllen eines leeren Laufwerks fanden sie sehr früh eine hohe Schreibleistung und einen erheblichen Rückgang, da die Schreibvorgänge das Laufwerk weiterhin auffüllten.
Wenn Sie mehr freien Speicherplatz auf den Laufwerken reservieren, bleibt die Leistung konstant, da sichergestellt ist, dass das Laufwerk immer genügend leere Blöcke bereitstellt.
Sie stellten fest, dass „die Mindestleistung erheblich verbessert wird, wenn Sie für diese [Consumer] -Laufwerke einen 25% igen freien Bereich erreicht haben.“ Ihre abschließende Empfehlung lautete, dass Sie „nur etwa 75% der Kapazität [Ihres Laufwerks] verwenden sollten, wenn Sie eine gute Balance suchen zwischen Leistungskonsistenz und Kapazität. "
Wenn Sie über ein Solid-State-Laufwerk verfügen, sollten Sie versuchen, nicht mehr als 75% seiner Kapazität zu verwenden. Kaufen Sie ein größeres Laufwerk mit mehr Speicherplatz als Sie benötigen, und stellen Sie sicher, dass Sie immer eine konstante Schreibleistung haben. Glücklicherweise werden SSDs nach und nach immer billiger, daher ist dies nicht mehr so teuer wie früher.
Bildnachweis: Music Sorter bei Wikimedia Commons, Simon Wüllhorst auf Flickr