Beeinträchtigt ein geringer Speicherplatz die SSD-Leistung?

16

Ich habe mich gefragt, ob weniger als 5-10 GB freier Speicherplatz auf einer SSD die Leistung beeinträchtigen würden. Ist es spezifisch für SSD oder eher ein Betriebssystemaspekt?

Zum Beispiel auf einem Intel X-25 G2 mit TRIM-Unterstützung (unter Windows 7).

Gabe
quelle

Antworten:

14

Die meisten SSDs werden langsamer, wenn sie voll sind. SSDs neigen dazu, leere Blöcke zum Schreiben auszuwählen, da sie einen Block nur ändern können, indem sie den gesamten Block löschen und neu schreiben. Sobald alle diese Blöcke teilweise gefüllt sind, erfordert jede Schreiboperation ein Löschen und erneutes Schreiben, was bedeutet, dass die SSD den Block in den Cache lesen, den Cache mit den neuen Daten modifizieren, dann den Block löschen und den Cache schreiben muss. Dies führt zu einem Lesevorgang und zwei Programmiervorgängen für jeden Block, der geändert werden muss. Auch wenn die Fragmentierung nur sehr geringe Auswirkungen auf SSDs hat, kann eine hohe Fragmentierung und die Tatsache, dass die meisten Betriebssysteme SSDs nicht kennen, dazu führen, dass das Betriebssystem mehr Schreibvorgänge als erforderlich ausführt. Die Blöcke der SSD sind normalerweise größer als die Zuordnungseinheiten des Betriebssystems. Wenn die SSD also keine zusätzlichen Schreibvorgänge erwartet, Dies könnte dazu führen, dass derselbe dreistufige Prozess mehrmals pro Block wiederholt wird, wodurch das Schreiben noch verlangsamt wird. Auch das Löschen von Dateien löst dieses Problem nicht, da die Daten dort verbleiben und die SSD nicht weiß, dass sie nicht mehr verwendet werden, und diese gelöschten Daten weiterhin überschreibt.

Durch die von Ihrem Laufwerk unterstützte TRIM-Operation kann das Betriebssystem dem Laufwerk mitteilen, dass die gelöschten Daten gelöscht werden sollen. Dadurch kann das Laufwerk leere Blöcke zurückfordern. Die einzigen Betriebssysteme, die TRIM unterstützen, sind Windows 7, Windows Server 2008 R2 und Linux-Distributionen mit Kernel 2.6.33 oder höher.

Seit Windows 7 verwendet Ihr System den Befehl TRIM und kann die nicht verwendeten Blöcke zurückfordern. TRIM ordnet die Daten jedoch nicht neu an. Wenn das Laufwerk also fast voll ist, kann eine hohe Fragmentierung dazu führen, dass Daten teilweise Blöcke belegen und die Effektivität von TRIM einschränken. Das Beste, was ich tun kann, ist, so viel Speicherplatz wie möglich freizugeben. Wenn Sie genügend Speicherplatz freigeben können, können Sie vollständige Blöcke entfernen und die Geschwindigkeit Ihres Laufwerks erhöhen. Es gibt auch Defragmentierungsprogramme, die auf SSDs ausgerichtet sind, was bedeutet, dass sie nur so defragmentiert werden, dass ein paar zusätzliche Blöcke entfernt werden können, aber ich kenne keine freien. Ich denke, Diskeeper sollte dies tun, aber es ist teuer und ich habe sehr gemischte Kritiken gehört.

TuxRug
quelle
1
Die FTL-Ebene befindet sich unterhalb der Dateisystemebene. Das Dateisystem scheint zwar fragmentiert zu sein, dies bedeutet jedoch NICHT, dass die FTL-Ebene fragmentiert ist. Diese SSD "Defragmentierungs" -Programme sind wertlos, sie können nicht auf die FTL-Ebene zugreifen, es ist Schlangenöl. Jetzt macht der Mangel an freiem Speicherplatz die SSD langsamer, da weniger Platz für die Speicherbereinigung und das Abnutzungsnivellieren zur Verfügung steht und all das gute Zeug. SSDs nehmen leere Blöcke nicht automatisch per se auf, sondern müssen auch den Abnutzungsgrad berücksichtigen. Unterm Strich weiß das Dateisystem NICHT, wie es Dinge auf der FTL-Ebene speichert
Time Twin
Nicht für SSD optimierte Dateisysteme können nicht so stark angepasst werden, was den gleichen Effekt hat wie der geringere freie Speicherplatz.
Basilevs
4

In diesem ausgezeichneten Artikel bei AnandTech untersuchen sie die Beziehung zwischen dem freien Bereich und der SSD-Leistung. Die Quintessenz ist, dass alle SSDs an Leistung gewinnen / behalten, wenn ein Teil ihres Speicherplatzes ungenutzt bleibt. Manchmal gibt es sogar einen Unterschied zwischen 25% freiem Speicherplatz und 50% freiem Speicherplatz.

Stefan Seidel
quelle
3

Dies hängt von einem bestimmten SSD-Modell, Hersteller und Verwendungsmuster ab.

In einigen Situationen kann eine intensiv genutzte SSD eine deutlich verschlechterte Leistung liefern, unabhängig von der Menge des belegten Speicherplatzes, für den ein Löschvorgang auf niedriger Ebene erforderlich ist, um ein gleichwertiges neues Leistungsniveau wiederherzustellen.

ocsid80
quelle
Zum Beispiel auf einem Intel X-25 G2 mit TRIM-Unterstützung (unter Windows 7).
Gabe
0

Ich habe gehört, dass SSDs langsamer werden, wenn sie fast voll sind, aber ich vermute, dass weniger als 5 bis 10 GB freier Speicherplatz erforderlich sind, damit Sie so etwas spüren können. Vielleicht, wenn Sie weniger als 1 GB übrig haben oder so.

Ben
quelle
0

Dateisysteme werden im Allgemeinen langsam, wenn sie voll sind. Das liegt an der Fragmentierung. Auf einer leeren Festplatte können Sie sicher sein, dass Sie eine Datei in einem Block schreiben können. Wenn das Dateisystem voller wird, sinkt die Wahrscheinlichkeit, dass die Datei in einen einzelnen zusammenhängenden Block passt, und Sie müssen mehr und mehr versuchen, die Daten zu finden eher wie ein zufälliger Zugriff auf Daten und damit langsamer.

Gorilla
quelle
2
Dies gilt nicht für SSDs, da keine beweglichen Teile vorhanden sind. Zufällige Zugriffe bedeuten daher eine vernachlässigbare Zugriffszeit. Möglicherweise müssen Sie eine Datei mit Tausenden von zufällig platzierten Fragmenten haben, um erkennbare Auswirkungen zu erzielen, die meistens vom Betriebssystem selbst stammen, das die Lese- und Schreibvorgänge plant.
TuxRug
1
Es gibt immer noch einen Unterschied zwischen sequentiellen Lesevorgängen und zufälligen Lesevorgängen. Beispielsweise liefert codinghorror.com/blog/2008/06/… 26 MB / s für sequentielles Lesen und 6 MB / s für zufälliges Lesen.
Gorilla
@TuxRug: Laufwerke sind in Löschblöcken von Hunderten von KB oder mehr gruppiert. Sobald eine Seite (die 512 oder 4096 Byte "logische Datenträger" darstellt) geschrieben wurde, kann sie nur durch Löschen aller Seiten in ihrem Block neu geschrieben werden. Wenn ein "logischer Datenträger" -Sektor überschrieben wird, weist das Laufwerk eine zuvor leere Seite zu, die den neuen Inhalt enthält, und weist darauf hin, dass die alte Seite als veraltet betrachtet werden kann. Anstatt veraltete Seiten sofort zu löschen, warten die meisten Laufwerke, bis sie Speicherplatz benötigen, und suchen dann nach einem Block, in dem die meisten oder alle Seiten veraltet sind.
Supercat
@TuxRug: Wenn die Anzahl leerer Seiten kritisch niedrig wird, verhält sich die Laufwerksleistung proportional zur größten Anzahl freier oder veralteter Seiten in einem Block. [Wenn 10 Blöcke mit jeweils 15 veralteten Seiten vorhanden sind, wird für die nächsten 150 Schreibvorgänge geschrieben / Löschzyklus wird alle 15 benötigt. Wenn es drei Blöcke mit jeweils 50 veralteten Seiten gäbe, wäre ein Schreib- / Löschzyklus nur bei jedem 50. Schreibvorgang erforderlich.] Die Fragmentierung erhöht die Wahrscheinlichkeit, dass viele Blöcke mit nur wenigen veralteten Seiten vorhanden sind.
Supercat
0

Ein weiterer wichtiger Faktor ist, ob und wie viel Über-Provisioning vom SSD-Hersteller festgelegt wird, wie hier erläutert . Übermäßige Bereitstellung bedeutet, dass ein Teil des Speicherplatzes für Hintergrundaktivitäten wie die Garbage Collection reserviert und dem Benutzer nicht zur Verfügung gestellt wird. Beispielsweise kann eine als 256 GB angekündigte SSD tatsächlich 282 GB groß sein, wenn eine 10% ige Überbereitstellung festgelegt ist.

Wenn der SSD-Hersteller großzügig mit übermäßigem Bereitstellungsspeicher war, wirkt sich ein geringer Speicherplatz möglicherweise nicht wesentlich auf die Leistung aus, z. Wenn Sie jedoch in der Lage sind, Ihre SSD tatsächlich zu nahezu 100% zu füllen, würde dies zu einer erheblichen Verschlechterung der Leistung führen.

Kurz gesagt, die Stärke des Effekts und ob er spürbar ist, ist SSD-spezifisch. In der Regel erzielen SSDs jedoch die beste Leistung, wenn sie größtenteils leer sind und ihre Leistung aus Gründen, die in anderen Antworten und im Link erläutert werden, nachlässt, wenn sie gefüllt werden.

Debie Downer
quelle