16Aug
Die Benchmarks sind klar: Solid-State-Laufwerke verlangsamen beim Auffüllen. Füllen Sie Ihr Solid-State-Laufwerk mit nahezu Kapazität, und die Schreibleistung sinkt drastisch. Der Grund liegt in der Art und Weise, wie SSDs und NAND Flash-Speicher funktionieren.
Das Laufwerk bis zur Kapazität auffüllen ist eines der Dinge, die Sie nie mit einem Solid-State-Laufwerk tun sollten. Ein fast vollfestes Solid-State-Laufwerk wird wesentlich langsamer schreibend sein und den Computer verlangsamen.
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 diese. Das Schreiben in einen leeren Block ist die schnellste mögliche Schreiboperation. Aus diesem Grund unterstützen neue Betriebssysteme( Windows 7 und höher) die TRIM-Funktion, die automatisch die Daten einer Datei vom Solid-State-Laufwerk löscht, sobald Sie die Datei in Ihrem Betriebssystem löschen. Dies funktioniert anders als bei magnetischen Festplatten, bei denen gelöschte Dateien auf der Festplatte herumliegen.
Sie sitzen nicht auf einem Solid-State-Laufwerk herum - TRIM stellt sicher, dass der Block geleert wird, damit die SSD in Zukunft schnell neue Daten in den leeren Block schreiben kann. Das Schreiben über einen bereits geschriebenen Sektor ist genauso schnell wie das Schreiben in einen leeren Sektor auf einer mechanischen Festplatte, aber ein Solid-State-Laufwerk muss einen Block löschen, bevor er darauf schreibt.
NAND Flash-Speicher schreibt Daten in 4 KB Seiten innerhalb von 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 zurück geschrieben werden.
Wenn Ihr Solid-State-Laufwerk voll ist, sind immer weniger leere Blöcke verfügbar. An ihrer Stelle sind teilweise gefüllte Blöcke. Das Solid-State-Laufwerk kann nicht nur die neuen Daten in diese teilweise gefüllten Blöcke schreiben - das würde die vorhandenen Daten löschen. Statt einer einfachen Schreiboperation muss das Solid-State-Laufwerk den Wert des Blocks in seinen Cache lesen, den Wert mit den neuen Daten ändern und dann zurückschreiben. Denken Sie daran, dass beim Schreiben einer Datei wahrscheinlich in viele Blöcke geschrieben wird, was zu einer erheblichen zusätzlichen Verzögerung führen kann.
TRIM konsolidiert teilweise gefüllte Blöcke nicht
Wenn Sie ein Laufwerk bis zur Kapazität oder nahezu Kapazität füllen, werden nach dem Löschen von Dateien wahrscheinlich viele teilweise gefüllte Blöcke angezeigt. Der Befehl TRIM weist ein Solid-State-Laufwerk nur an, Dateidaten zu entfernen, wenn die Datei gelöscht wird. Das Laufwerk wird nicht gezwungen, eine Bereinigung durchzuführen.
Füllen Sie also ein Solid-State-Laufwerk aus, bevor Sie Dateien löschen, und Sie werden wahrscheinlich viele teilweise gefüllte Blöcke erhalten. Das Laufwerk wird nicht aus dem Weg gehen, um diese teilweise gefüllten Blöcke in vollständige Blöcke zu konsolidieren, wodurch leere Blöcke frei werden. Das Laufwerk ist immer noch voll mit teilweise gefüllten Blöcken und die Schreibleistung wird beeinträchtigt.
Overprovisioning und Garbage Collection
Um zu verhindern, dass Verbraucher ihre Solid-State-Laufwerke auffüllen und mit stark verschlechterter Leistung enden, unternehmen SSD-Hersteller alles, um dem entgegenzuwirken.
Consumer-Solid-State-Laufwerke machen oft etwa 7% ihres gesamten Flash-Speichers aus und machen sie 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 es verwenden kann. Der Ersatzbereich sorgt dafür, dass das Laufwerk niemals vollständig gefüllt werden kann - es wird immer genügend freie Kapazität geben, um die Schreibleistung stabil zu halten.
Jeder Controller des Solid-State-Laufwerks verfügt über einen Garbage-Collection-Algorithmus, um dieses Problem zu beheben. Wenn das Laufwerk voll ist, sucht es nach teilweise gefüllten Blöcken und beginnt, sie zu konsolidieren, wodurch so viele leere Blöcke wie möglich frei werden. Verschiedene Solid-State-Laufwerke führen diese Operationen zu unterschiedlichen Zeiten und Schwellenwerten aus - dies hängt vom Controller des Laufwerks ab.
Benchmark-Nachweis
Anandtech führte eine Reihe von Benchmarks mit verschiedenen Laufwerken durch, um die Beziehung zwischen dem freien Speicherbereich eines Solid-State-Laufwerks und der Konsistenz seiner Schreiboperationsleistung herauszuarbeiten. Beim Auffüllen eines leeren Laufwerks fanden sie sehr früh eine hohe Schreibleistung und einen signifikanten Abfall, während die Schreibvorgänge das Laufwerk weiterhin füllten.
Durch die Bereitstellung von mehr Speicherplatz auf den Laufwerken konnte die Leistung konsistent gehalten werden, da sichergestellt wurde, dass das Laufwerk immer genügend leere Blöcke bereithalten sollte.
Sie haben festgestellt, dass "die Mindestleistung sich deutlich verbessert, sobald Sie 25% Ersatzfläche für diese [Consumer] -Laufwerke erreicht haben." Ihre letzte Empfehlung war, dass Sie nur etwa 75% der Kapazität Ihres Laufwerks nutzen sollten, wenn Sie ein gutes Gerät wünschenBalance zwischen Leistungskonsistenz und Kapazität. "
Wenn Sie ein Solid-State-Laufwerk haben, sollten Sie versuchen, mehr als 75% seiner Kapazität zu vermeiden. Kaufen Sie ein größeres Laufwerk mit mehr Speicher, als Sie benötigen, und Sie erhalten stets konsistente Schreibleistung. Glücklicherweise werden SSDs allmählich viel billiger, also ist dies nicht so teuer wie es einmal war.
Bildquelle: Music Sorter bei Wikimedia Commons, Simon Wüllhorst auf Flickr