Wie kann man SSDs oder NVMe auf Badblocks testen?

2046
masgo

Mit den herkömmlichen Spinning-Disks ist die Diagnose relativ einfach. Wenn Sie vermuten, dass ein Laufwerk fehlerhaft ist, können Sie die SMART-Werte überprüfen, einen erweiterten SMART-Test und einen badblocks -wsvTest ausführen . Wenn alle drei Tests keinen Fehler anzeigen, ist das Laufwerk wahrscheinlich / normalerweise in Ordnung.

Was sollten wir bei SSDs oder modernen NVMe-Laufwerken tun?

SMART ist natürlich immer noch eine gute Idee, aber was ist, wenn es fehlerfrei abgeschlossen wird? Läuft badblocks -wsvauf einem Flash-basierten Speicher eine gute Idee?

Gibt es noch andere Möglichkeiten?

Auch wenn badblockswelche Optionen geeignet sind? Soll man die "Löschblockgröße" der SSD verwenden?


Diese Frage ist ähnlich wie kann ich nachweisen, dass eine SSD defekt ist? Die Antworten gibt es jedoch aus dem Jahr 2013. Seitdem haben wir mehrere Generationen von Flash-Technologien gesehen. - Auch wenn badblocksich vermute, dass ich eine Diskussion über das Wetter vermisse, ist dies überhaupt eine gute Idee. Letztendlich möchten einige Flash-Speicher nicht zu 100% beschrieben werden. Wie können wir der SSD anschließend mitteilen, welche Sektoren (wieder) frei sind?

Wie man schlechte Blöcke auf SSD repariert, ist auch nicht zufriedenstellend.

Wie sicher ist es, CHKDSK auf einer SSD auszuführen? diskutiert nur die Auswirkungen vonchkdsk

Ich konnte keine anderen Ressourcen finden, die sich mit diesem Problem befassen.

3
Ich sehe keinen Grund, warum sich Ansätze zur Überprüfung des Gesundheitszustands einer SSD ändern. Einzelne Zellschreibbeschränkungen existieren noch oder sind noch nicht auf einem Niveau, das es unmöglich macht, dass sie erreicht werden. So können die gleichen Ansätze auch mit den neueren Produkten verwendet werden. Ramhound vor 6 Jahren 0
Aber ist es eine gute Idee, oder könnte ich die SSD mit Badblocks beschädigen? Ich habe die Frage bearbeitet, um die "Löschblockgröße" aufzunehmen. Wenn ich Badblocks ausführen und 512k-Blöcke verwenden, wird jede Zelle ein Dutzend Mal geschrieben. masgo vor 6 Jahren 1
Ich würde argumentieren, dass das Ausführen von Badblocks auf einer SSD niemals nützlich / sinnvoll war, und sogar der Autor der verknüpften Antwort gab an, dass dies der Fall ist. Ramhound vor 6 Jahren 0
Ihre Frage macht IMHO Sinn. Ich hatte gerade eine Samsung SSD lose Daten wegen schlechter Blöcke. Ich habe sicher das Laufwerk gelöscht und die erweiterten SMART-Tests sagen nun, es sei in Ordnung (SMART-Attribute Used_Rsvd_Blk_Cnt_Tot = 68 aus Unused_Rsvd_Blk_Cnt_Tot = 17503, Wear_Leveling_Count ist niedrig). Oberflächlich betrachtet sieht diese SSD gut aus, aber ich würde gerne weitere Tests durchführen, bevor sie das Laufwerk wieder in Betrieb nehmen! IMHO [dieser Kommentar] (https://unix.stackexchange.com/questions/93686/can-i-prove-that-an-ssd-is-broken/93690#comment475560_93691) weist in die richtige Richtung, aber wie bestimmen Sie dies? geeignete Blockgröße auf SSD-Ebene? sxc731 vor 6 Jahren 0
Ich habe einen anderen Post gesehen, wie man die Blockgröße bestimmt. Sie führen grundsätzlich Schreibgeschwindigkeitstests mit verschiedenen Größen durch und schauen, wo sich die Geschwindigkeit ändert. Sie können auch nur 4 MB Blöcke verwenden. Dies garantiert wahrscheinlich, dass Sie die Blockgröße überschreiten. Wenn Sie einen Fehler erhalten, hilft der angezeigte "Sektor" nicht viel, aber Sie wissen zumindest, dass ein Fehler vorliegt. masgo vor 6 Jahren 1

1 Antwort auf die Frage

1
Nate Strickland

Im Allgemeinen sollten Sie dies nicht tun, außer darauf zu achten, was Ihnen SMART bereits sagt. Der Grund dafür ist, dass SSDs mit Wear-Leveling arbeiten. Daher verfügen sie über einen fortschrittlichen Controller, der bereits im Hintergrund die Erkennung und Neuzuordnung von fehlerhaften Blöcken vornimmt, also aus Sicht des Betriebssystems und der Perspektive von Standard-Utilities wie Badblocks, die blockierten Blöcke schlecht sind unsichtbar, weil sie bereits neu zugeordnet wurden. Wenn Badblocks einen Block gefunden haben, der schlecht war, würde er sofort neu zugeordnet und wäre beim nächsten Lesen wieder "gut".

Um wirklich einen Hinweis auf den Zustand Ihres Laufwerks zu erhalten, müssen Sie wissen, wie viele fehlerhafte Blöcke der Controller bereits neu zugeordnet hat und wie viel freie Kapazität noch vorhanden ist, um eine weitere Zuordnung zu ermöglichen. SMART-Daten sollten dies für SATA angeben, oder NVMe verfügt über entsprechende Protokollseiten, die dieselben Informationen enthalten. Das Attribut 'Available Spare' gibt Ihnen insbesondere einen Prozentsatz der gesamten Remapping-Funktion des Laufwerks an.

Diese Seite enthält einige spezifische Befehlszeilen-Tools, die Sie für SATA oder NVMe verwenden können: https://www.percona.com/blog/2017/02/09/ using-nvme-command-line-toolss-to-check-nvme- Flash-Gesundheit /