Ja, es gibt eine Sache, die Bit rot heißt.
Aber nein, es wird dich nicht unbemerkt beeinflussen.
Wenn ein Laufwerk einen Sektor auf die Platten schreibt, schreibt es nicht nur die Bits auf die gleiche Weise, wie sie im RAM gespeichert werden, sondern verwendet eine Codierung, um sicherzustellen, dass keine Sequenzen desselben Bits zu lang sind und fügt ECC-Codes hinzu, mit denen Fehler behoben werden können, die einige Bits betreffen, und Fehler erkennen, die mehr als einige Bits betreffen.
Wenn das Laufwerk den Sektor liest, prüft es diese ECC-Codes und repariert die Daten, falls erforderlich und möglich. Was als nächstes passiert, hängt von den Umständen und der Firmware des Laufwerks ab, die von der Bezeichnung des Laufwerks beeinflusst wird.
- Wenn ein Sektor gelesen werden kann und keine ECC-Probleme vorliegen, wird er an das Betriebssystem übergeben
- Wenn ein Sektor leicht repariert werden kann, kann die reparierte Version auf die Festplatte geschrieben, zurückgelesen und überprüft werden, um festzustellen, ob der Fehler zufällig war (kosmische Strahlung ...) oder ob ein systembedingter Fehler mit den Medien vorliegt
- Wenn das Laufwerk feststellt, dass ein Fehler beim Datenträger vorliegt, wird der Sektor neu zugewiesen
- Wenn ein Sektor nach einigen Leseversuchen weder gelesen noch korrigiert werden kann, gibt das Laufwerk auf einem Laufwerk, das als RAID-Laufwerk ausgewiesen ist, auf, ordnet den Sektor neu zu und teilt dem Controller mit, dass ein Problem aufgetreten ist. Der RAID-Controller muss den Sektor von den anderen RAID-Mitgliedern rekonstruieren und auf das ausgefallene Laufwerk zurückschreiben, das dann in dem neu zugewiesenen Sektor gespeichert wird, der das Problem hoffentlich nicht hat.
- Wenn ein Sektor auf einem Desktop-Laufwerk nicht gelesen oder korrigiert werden kann, versucht das Laufwerk mehr, es zu lesen. Abhängig von der Qualität des Laufwerks kann dies dazu führen, dass der Kopf neu positioniert wird, ob beim wiederholten Lesen einige Bits umgedreht werden, welche Bits am schwächsten sind, und einige andere Dinge. Wenn einer dieser Versuche erfolgreich ist, ordnet das Laufwerk den Sektor neu zu und schreibt die reparierten Daten zurück.
(Dies ist einer der Hauptunterschiede zwischen Laufwerken, die als "Desktop" -, "NAS / RAID" - oder "Videoüberwachung" -Laufwerke verkauft werden.) Ein RAID-Laufwerk kann schnell aufgeben und den Sektor dazu veranlassen, den Sektor zu reparieren, um Latenzzeiten auf dem Computer zu vermeiden Benutzerseite: Ein Desktop-Laufwerk wird immer wieder versucht, da es wahrscheinlich besser ist, wenn der Benutzer einige Sekunden wartet, als ihm zu sagen, dass die Daten verloren gehen, und ein Video-Laufwerk eine konstante Datenrate mehr als eine Fehlerbehebung vorsieht, da ein beschädigter Frame normalerweise gewonnen hat Nicht einmal bemerkt werden.)
Auf jeden Fall weiß das Laufwerk, ob etwas verrottet ist, erholt sich normalerweise davon, und wenn dies nicht möglich ist, teilt es dem Controller mit, der wiederum dem Treiber mitteilt, welcher das Betriebssystem informiert. Es liegt dann am Betriebssystem, diesen Fehler dem Benutzer anzuzeigen und darauf zu reagieren. Dies ist, warum Cyborg sagt
Ich habe selbst nie einen einzelnen Fehler erlebt, aber ich habe viele Festplatten gesehen, auf denen ganze Sektoren ausgefallen sind.
Das Laufwerk weiß, dass mit dem Sektor etwas nicht stimmt, aber es weiß nicht, welche Bits ausgefallen sind. (Ein einzelnes fehlerhaftes Bit wird immer von ECC abgefangen.)
Beachten Sie, dass chkdsk und das automatische Reparieren von Dateisystemen keine Reparaturdaten in Dateien ansprechen . Diese zielen auf Korruption innerhalb der Struktur des Dateisystems ab. wie eine Dateigröße, die sich zwischen dem Verzeichniseintrag und der Anzahl der zugewiesenen Blöcke unterscheidet. Die Selbstheilungsfunktion von NTFS erkennt strukturelle Schäden und verhindert, dass diese Ihre Daten weiter beeinträchtigen. Sie repariert keine Daten, die bereits beschädigt sind.
Es gibt natürlich andere Gründe, warum Daten beschädigt werden können. Zum Beispiel. Ein fehlerhafter Arbeitsspeicher in einem Controller kann die Daten ändern, noch bevor diese an das Laufwerk gesendet werden. In diesem Fall erkennt oder repariert kein Mechanismus auf dem Laufwerk die Daten. Dies kann ein Grund dafür sein, dass die Struktur eines Dateisystems beschädigt ist. Andere Gründe sind einfache Softwarefehler, Blackout beim Schreiben des Datenträgers (obwohl dies durch das Journaling des Dateisystems angesprochen wird) oder fehlerhafte Dateisystemtreiber (der NTFS-Treiber unter Linux war lange Zeit schreibgeschützt, da NTFS zurückentwickelt und nicht dokumentiert wurde) und die Entwickler trauten ihrem eigenen Code nicht).
Ich hatte einmal dieses Szenario, in dem eine Anwendung alle ihre Dateien auf zwei verschiedenen Servern in verschiedenen Rechenzentren speichert, um eine Arbeitskopie zu behalten, wenn die Daten unter allen Umständen vorhanden sind. Nach einigen Monaten stellten wir fest, dass auf einer der Kopien ca. 0,1% aller Dateien nicht mit der MD5-Summe übereinstimmten, die die Anwendung in ihrer Datenbank gespeichert hat. Es stellte sich heraus, dass das Glasfaserkabel zwischen dem Server und dem SAN fehlerhaft war.
Diese anderen Gründe sind der Grund, warum einige Dateisysteme wie ZFS zusätzliche Prüfsummeninformationen enthalten, um Fehler zu erkennen. Sie sollen Sie vor viel mehr Dingen schützen, die schief gehen können, als nur ein bisschen Fäulnis.