Woher wissen Festplattendiagnosetools, ob ein Sektor fehlerhaft ist?

13

Wenn ich auf eine Festplatte stoße , die möglicherweise ausfällt , scanne ich sie mit ViVARD. Dadurch erfahre ich zuverlässig, ob die Festplatte ausgetauscht werden muss.

Wie funktionieren diese Tools? Wie können sie einen schlechten Sektor von einem guten Sektor unterscheiden?

David
quelle
4
Eine solche Software liest jeden Sektor auf dem Laufwerk. Wenn es nicht lesbar ist, versucht es möglicherweise einige Tricks, um es zum Lesen zu bringen. Wenn genügend Daten in einem Sektor nicht lesbar und nicht wiederherstellbar sind, wird es als schlecht markiert.
Moab
2
Firmware sagt ihnen nicht. Ab diesem Zeitpunkt hat sich die Funktionsweise einer Festplatte in 25 Jahren und sogar in den letzten 5 Jahren drastisch verändert.
qasdfdsaq

Antworten:

9

Moderne Festplatten implementieren ein Firmware-System namens SMART . Dieses System sammelt Statistiken über die Laufwerksleistung und vermeidet automatisch Datenverluste, indem Daten von fehlerhaften Sektoren entfernt werden.

Diagnosetools fragen die SMART-Software der Festplatte ab, um einen Integritätsprüfungsbericht zu erstellen.

Fehlerhafte Sektoren werden beim Zugriff auf die Festplatte erkannt und vom SMART-System vermieden und verschoben.

Stavr00
quelle
1
modern tun, aber das war durchaus möglich und alltäglich, auch ohne sie.
Eis
7

Ich kenne ViVARD nicht, daher ist dies eine allgemeine Antwort.

CLEVER

SMART ist Teil der meisten modernen Laufwerke. Es wird registriert, wenn die Festplatte einen fehlerhaften Sektor sieht, wenn die Such- oder Hochlaufzeit mehr als normal ist. Dies sind alles Indikatoren dafür, dass die Festplatte ausfällt.

Die Art und Weise, wie die Festplatte einen fehlerhaften Sektor rettet, ist auf Fehlerkorrekturcodes zurückzuführen (normalerweise ist dies Reed-Solomon), die bei einigen falschen Bits Abhilfe schaffen. Wenn viele Bits falsch sind, versucht die Festplatte zu retten, indem sie den Sektor immer wieder liest. Wenn es endlich funktioniert, wird es in einem der Ersatzsektoren gespeichert.

Lesesektor

Die Festplatte ordnet Sektoren mit Lesefehlern einer Reihe von Ersatzsektoren zu, die dafür reserviert sind. Das Betriebssystem sieht dies normalerweise nicht, sieht jedoch das gesamte Laufwerk als fehlerfrei an. Nur wenn keine Sektoren mehr zuzuordnen sind (oder der Sektor nicht gerettet werden kann), sieht das Betriebssystem die defekten Sektoren.

Aber es ist möglich, die Fehlerkorrektur zu umgehen (ich glaube, es ist für jedes Modell anders - vielleicht macht ViVARD das?). Auf diese Weise können Sie die tatsächlichen Daten auf dem Laufwerk lesen. Wenn Sie dies lesen, können Sie feststellen, in welchen Sektoren Fehler aufgetreten sind - auch wenn das Betriebssystem keine Fehler feststellt.

Ole Tange
quelle
0

Verwenden von SMART Die Festplattenhersteller sollten auf ihrer Website einen Software-Download dafür bereitstellen. Wenn Sie SMART verwenden, führen Sie einen vollständigen Scan durch.

roberthayek
quelle
-1

Wenn ich ein solches Diagnoseprogramm schreibe, durchläuft mein Programm das Laufwerk Sektor für Sektor mit der folgenden Prozedur:

  1. Verschieben Sie die Daten, die sich derzeit im Sektor befinden, an einen neuen (derzeit leeren) Speicherort, um sie beizubehalten (und aktualisieren Sie alle Dateitabellen, die diesen Sektor verwendeten).
  2. Schreiben Sie bekannte neue Daten in den Sektor.
  3. Lesen Sie die geschriebenen Daten aus dem Sektor.
  4. Der Vergleich wurde Stück für Stück mit dem Gelesenen geschrieben.
  5. (Vorausgesetzt, Schritt 4 ist bestanden.) Verschieben Sie die Originaldaten zurück an den ursprünglichen Speicherort (um eine Fragmentierung der Dateien zu vermeiden).

Das ist natürlich nur die naive Version. Ich vermute, dass es heute Algorithmen gibt, die diesen allgemeinen Prozess effizienter machen. Darüber hinaus gibt es verschiedene Muster, die Tools für die "bekannten neuen Daten" verwenden, und verschiedene Wiederholungsstufen.

Joel Coehoorn
quelle