Mein altes 128-GB-SSD-Laufwerk ist jetzt ungefähr anderthalb Jahre alt, und ich habe seitdem ein Upgrade auf ein anderes Laufwerk durchgeführt.
Ich möchte meine alte SSD aufräumen, um ...
Wiederherstellen der Leistung auf ein nahezu neues Niveau
rehabilitieren Sie es und geben Sie es im Allgemeinen einen Gesundheitscheck
Wie mache ich das?
ssd
maintenance
Jeff Atwood
quelle
quelle
Antworten:
Unter Linux einfach ausführen
Übergeben Sie die gewünschten Blockbereiche an TRIM anstelle von
start
undcount
und das SSD-Gerät anstelle von/dev/sda
. Es hat den Vorteil, dass es schnell ist und keine Nullen auf das Laufwerk schreibt. Stattdessen sendet es einfach TRIM-Befehle an den SSD-Controller und teilt ihm mit, dass Sie sich nicht um die Daten in diesen Blöcken kümmern und davon ausgehen können, dass sie im Garbage Collection-Algorithmus nicht verwendet werden.Sie müssen diesen Befehl wahrscheinlich als root ausführen. Da dieser Befehl extrem gefährlich ist, da er sofort zu erheblichen Datenverlusten führen kann, müssen Sie auch ein
--please-destroy-my-drive
Argument übergebenhdparm
(ich habe dies nicht zur Befehlszeile hinzugefügt, um versehentlichen Datenverlust durch Kopieren und Einfügen zu verhindern.)Sollte in der obigen Befehlszeile
/dev/sda
durch das SSD-Gerät ersetzt werden, an das Sie TRIM-Befehle senden möchten.start
ist die Adresse des ersten Blocks (Sektors) für TRIM undcount
die Anzahl der Blöcke, die als frei von dieser Startadresse markiert werden sollen. Sie können dem Befehl mehrere Bereiche übergeben.Nachdem ich es persönlich mit hdparm v9.32 auf Ubuntu 11.04 auf meinem Laptop mit 128 GB Crucial RealSSD C300 gemacht habe, muss ich auf ein Problem hinweisen: Ich konnte die Gesamtzahl der Festplattenblöcke (0: 250069680) nicht als Bereich übergeben . Ich habe manuell (im Wesentlichen "binär gesucht" von Hand) einen ausreichend großen Wert für die Blockanzahl gefunden, der funktionierte (40000), und konnte TRIM-Befehle für eine Sequenz von 40000 Bereichen ausgeben, um die gesamte Festplatte freizugeben. Dies ist mit einem einfachen Shell-Skript wie dem folgenden möglich (getestet unter Ubuntu 11.04 unter root):
Um das gesamte Laufwerk zu löschen, nehmen Sie die Gesamtzahl der Sektoren und ersetzen Sie 250069680 in der folgenden Zeile durch diese Zahl und führen Sie (add
--please-destroy-my-drive
) aus:Und du bist fertig! Sie können versuchen, den unformatierten Inhalt der Festplatte
hexedit /dev/sda
vorher und nachher zu lesen, und überprüfen, ob das Laufwerk die Daten verworfen hat.Selbst wenn Sie Linux nicht als primäres Betriebssystem des Computers verwenden möchten, können Sie diesen Trick nutzen, indem Sie von einer Live-CD booten und auf dem Laufwerk ausführen.
quelle
Beginnen wir zunächst damit, zu verstehen, was den Leistungsabfall verursacht. Ohne dies zu wissen, werden viele Leute unangemessene Lösungen vorschlagen (wie ich bereits sehe). Der springende Punkt dieser ganzen Situation ist, wie aus Wikipedia hervorgeht , die folgende Tatsache . Denken Sie daran, es ist wichtig:
SSDs bestehen aus NAND-Flash und Flash besteht aus "Blöcken". Jeder Block enthält viele "Seiten". Stellen wir uns der Einfachheit halber vor, wir hätten gerade eine glänzende neue SSD gekauft, die einen ganzen Speicherblock enthält und aus 4 leeren Seiten besteht.
Der Klarheit halber unterscheide ich zwischen leeren Seiten, benutzten Seiten und gelöschten Seiten mit ∅, 1 und X. Der Schlüssel ist, dass es aus Sicht des Controllers einen Unterschied zwischen diesen gibt! Es ist nicht so einfach wie Einsen und Nullen. Zu Beginn sehen die Seiten auf unserer neuen Festplatte also so aus:
∅, ∅, ∅, ∅ (alles leer)
Nun werden einige Daten auf das Laufwerk geschrieben, die dann auf dieser ersten Seite gespeichert werden.
1, ∅, ∅, ∅
Als nächstes schreiben wir ein bisschen mehr Daten, nur diesmal genug, dass es zwei Seiten benötigt und so auf der 2. und 3. Seite gespeichert wird:
1, 1, 1, ∅
Wir haben keinen Platz mehr! Wir entscheiden, dass wir die ursprünglichen Daten, die wir geschrieben haben, nicht wirklich benötigen. Löschen wir sie, um Platz zu schaffen:
X, 1, 1, ∅
Schließlich müssen wir einen weiteren großen Datensatz speichern, der die verbleibenden zwei Seiten belegt. DIES IST, WO DIE LEISTUNG HIT IN DRIVES OHNE TRIM ABLÄUFT! Gehen Sie von unserem letzten Zustand zu diesem:
1, 1, 1, 1
... erfordert mehr Arbeit, als die meisten Menschen erkennen. Dies ist wiederum auf die Tatsache zurückzuführen, dass Flash nur blockweise und nicht seitenweise gelöscht werden kann. Genau das erfordert der letzte Übergang. Das Unterscheidungsmerkmal zwischen TRIM- und Nicht-TRIM-basierten SSDs ist, wenn die folgenden Arbeiten ausgeführt werden!
Da wir eine leere Seite und eine gelöschte Seite verwenden müssen, muss die SSD zuerst den Inhalt des gesamten Blocks in einen externen Speicher lesen, den ursprünglichen Block löschen, den Inhalt ändern und diesen Inhalt dann zurückschreiben der Block. Es ist nicht so einfach wie ein "Schreiben", sondern es ist jetzt ein "Lesen-Löschen-Schreiben" geworden. Dies ist eine große Änderung, und es ist wahrscheinlich die ungünstigste Zeit, während wir viele Daten schreiben. Es könnte alles vermieden werden, wenn diese "gelöschte" Seite vorzeitig wiederhergestellt würde, was TRIM genau vorsieht. Mit TRIM stellt die SSD unsere gelöschten Seiten entweder unmittelbar nach dem Löschen wieder her oder zu einem anderen Zeitpunkt, den die TRIM-Algorithmen für angemessen halten. Der wichtige Teil ist jedoch, dass es mit TRIM nicht passiert, wenn wir mitten im Schreiben sind!
Ohne TRIM können wir das oben beschriebene Szenario letztendlich nicht vermeiden, da wir unsere Laufwerke mit Daten füllen. Zum Glück gehen einige neuere SSDs über TRIM hinaus und machen auf Hardwareebene ohne die erforderlichen ATA-Befehle (manche nennen diese Garbage Collection) dasselbe wie TRIM im Hintergrund. Aber für diejenigen von uns, die das Pech haben, auch nicht zu haben, ist es wichtig zu wissen, dass das Schreiben von Nullen auf das gesamte Laufwerk nicht ausreicht, um die ursprüngliche Leistung wiederherzustellen !!!!! Das Schreiben aller Nullen auf das Laufwerk zeigt dem Controller nicht an, dass die Seite in Flash zum Schreiben frei ist. Die einzige Möglichkeit, dies auf einem Laufwerk zu tun, das TRIM nicht unterstützt, besteht darin, den Befehl ATA Secure Erase auf Ihrem Laufwerk mit einem Tool wie HDDErase (über Wayback Machine) aufzurufen .
Ich glaube, es gab einige frühe SSDs, die TRIM nur beim Löschen von Partitionen oder unter Windows 7 ("diskpart clean all") und nicht beim Löschen einzelner Dateien unterstützten. Dies kann ein Grund dafür sein, dass ein älteres Laufwerk bei Ausführung dieses Befehls anscheinend die Leistung wiedererlangt. Das scheint mir allerdings ein bisschen dunstig zu sein ...
Ein Großteil meiner Kenntnisse über SSDs und Hardware / Gadgets im Allgemeinen stammt von anandtech.com . Ich dachte, er hätte eine großartige Beschreibung, die das alles erklärt, aber für mein Leben kann ich es nicht finden!
quelle
Anscheinend ist die Standardempfehlung, alle Nullen vollständig zu schreiben. Ich bin mir nicht ganz sicher, warum dies hilft (töten nicht viele Schreibvorgänge irgendwann SSDs?), Aber es scheint von den SSD-Supportforen der großen Anbieter befürwortet zu werden.
So machen Sie das in Windows:
diskpart
Sobald Sie das Dienstprogramm
DISKPART>
aufgerufen haben, werden Sie aufgefordert, die folgenden Befehle auszuführen:Offensichtlich LASSEN SIE DIE RICHTIGE SSD DRIVE AUSGEWÄHLTE , bevor Sie fortfahren!
Die Magie hier ist,
clean all
die alle Nullen auf das Laufwerk schreibt :Danach kann ich bestätigen, dass die Festplattenleistung erheblich gestiegen ist.
quelle
Ich habe auch ein Tool gefunden, SSD Life Pro . Es hat einige schlechte Nachrichten für mich.
Zur Berechnung werden die SMART SSD-Indikatoren verwendet. Anscheinend versucht es, basierend auf SMART-Daten vorherzusagen :
Dies ist schwierig, da es auch wissen muss, wann die Daten geschrieben wurden, um zu schätzen, aber hier sind die zugrunde liegenden Daten:
Die beängstigende Zahl ist die verbleibende Lebensdauer des Laufwerks, die 4 % beträgt !
Und die daraus resultierenden Berechnungen:
Das Laufwerk wurde ursprünglich im Oktober 2009 gekauft, es ist also etwas mehr als anderthalb Jahre alt.
quelle
Ich habe festgestellt, dass das Schreiben von Nullen über das Laufwerk nicht der beste Ansatz ist. Obwohl es kurzfristig hilfreich sein könnte, stellte ich fest, dass mein Laufwerk definitiv nicht die volle Leistung wiedererlangt (ich besitze eine ziemlich alte Intel-SSD ohne TRIM-Unterstützung). Nach ungefähr einem Jahr mit ziemlich starker Beanspruchung kommt es zu einem Einfrieren von 1 bis 2 Sekunden, wenn die SSD versucht, in eine beliebige Datei zu schreiben , auch nachdem sie die SSD auf Null gesetzt hat.
Das einzige, was ich gefunden habe, das die Leistung vollständig wiederherstellt, war ein sicheres Löschen mit
hdparm
. Ich habe es mir zur Gewohnheit gemacht, meine SSD alle 6-12 Monate zu löschen, wenn es zu kleinen Schluckaufzuständen kommt. Jemand auf Macrumors hat ein spezielles Tutorial für Mac * Geräte erstellt.Nach all den Behauptungen, die ich gesehen habe, sendet ein sicheres Löschen einen speziellen Befehl an die SSD, der bewirkt, dass alle Sektoren auf einer viel niedrigeren Ebene als nur mit
dd
oder so auf Null gesetzt werden .quelle
Schauen Sie sich auf dem Mac den digilloydTools DiskTester an . Es gibt dort auch einige interessante Datenpunkte, um die Auswirkungen der Aufbereitung auf die Laufwerksleistung zu sehen.
quelle
cat /dev/zero > /tmp/bigfile
.ThinkPads verfügen über ein verstecktes BIOS-Menü (aktivieren Sie es über http://www-307.ibm.com/pc/support/site.wss/MIGR-68369.html ), mit dem Ihre SSD zurückgesetzt wird.
quelle
Um die verbleibende Lebensdauer der SSD auf einer SSD (Solid-State-Laufwerk) zu überprüfen, müssen Sie das Paket smartmontools installieren. Es enthält zwei Hilfsprogramme (smartctl und smartd) zur Steuerung und Überwachung von Speichersystemen mithilfe des Self-Monitoring-, Analyse- und Reporting-Technologie-Systems (SMART), das in die meisten modernen ATA- und SCSI-Festplatten integriert ist.
Für Ubuntu-, Mint- oder Debian-basierte Distributionen
Der Media_Wearout_Indicator ist das, wonach Sie suchen. Für 100 bedeutet, dass Ihre SSD 100% Leben hat, die niedrigere Zahl bedeutet, dass weniger Leben übrig ist.
Ausgabe von meinem Laptop
Wenn Sie weitere Details und vollständige Attribute von Ihrem Laufwerk sehen möchten, können Sie ausführen
Quelle: namhuy.net/1024/how-to-check-ssd-life-left.html
quelle
Es gibt jetzt eine viel bessere Antwort für Linux-Systeme als die @LeakyCode-Antwort:
Der Befehl "fstrim" von "util-linx" durchläuft das Dateisystem und gibt TRIM-Befehle für den gesamten nicht verwendeten Speicherplatz aus. Auf Distributionen wie Ubuntu ist dies standardmäßig deaktiviert, mit Ausnahme einer Auswahlliste von "bekannten sicheren" Laufwerken von Intel und Samsung. Der Befehl kann jedoch auf jeder Partition für jedes Laufwerk manuell ausgeführt werden.
quelle