Comment les outils de diagnostic du disque dur savent-ils si un secteur est mauvais?

13

Lorsque je rencontre un disque dur qui peut être défaillant, je le numérise à l'aide de ViVARD , ce qui me permet de savoir de manière fiable si le lecteur doit être remplacé.

Comment fonctionnent ces sortes d'outils? Comment peuvent-ils distinguer un mauvais secteur d'un bon secteur?

David
la source
4
Un logiciel comme celui-ci lit chaque secteur sur le disque. S'il est illisible, il peut essayer quelques astuces pour le lire, si suffisamment de données dans un secteur sont illisibles et irrécupérables, alors elles sont marquées comme mauvaises.
Moab
2
Le firmware ne leur dit rien. Le fonctionnement d'un disque dur à partir de ce moment a radicalement changé en 25 ans, et même au cours des 5 dernières années.
qasdfdsaq

Réponses:

9

Les disques durs modernes implémentent un système dans un micrologiciel appelé SMART . Ce système collecte des statistiques sur les performances du disque et évite automatiquement la perte de données en éloignant les données des secteurs défectueux.

Les outils de diagnostic interrogent le logiciel SMART du disque dur pour créer un rapport de contrôle d'intégrité.

Les secteurs défectueux sont détectés lors de l'accès au disque dur et sont évités et déplacés par le système SMART.

Stavr00
la source
1
faire moderne, mais cela était parfaitement possible et banal même sans eux.
eis
7

Je ne connais pas ViVARD donc c'est une réponse générale.

INTELLIGENT

SMART fait partie de la plupart des disques modernes. Il s'enregistre lorsque le disque dur voit un secteur défectueux, lorsque le temps de recherche ou de rotation est supérieur à la normale. Ce sont tous des indicateurs que le disque dur tombe en panne.

La façon dont le disque dur récupère un secteur défaillant est due à des codes de correction d'erreurs (généralement c'est Reed-Solomon) qui peuvent sauver si quelques bits sont incorrects. Si plusieurs bits sont incorrects, le disque dur essaie de récupérer en lisant le secteur encore et encore. Quand il réussit enfin, il l'enregistre dans l'un des secteurs de rechange.

Secteur lecture

Le disque dur réalloue les secteurs avec des erreurs de lecture à un ensemble de secteurs de réserve qui sont réservés à cet effet. Le système d'exploitation ne le voit généralement pas, mais voit le lecteur entier comme n'ayant aucune erreur. Ce n'est que lorsqu'il n'y a plus de secteurs à réaffecter (ou que le secteur ne peut pas être récupéré) que le système d'exploitation verra les secteurs cassés.

Mais il est possible de contourner la correction d'erreur (je pense que c'est différent pour chaque modèle - peut-être que ViVARD fait cela?). De cette façon, vous pouvez lire les données réelles sur le lecteur. En lisant ceci, vous pourrez voir quels secteurs ont des erreurs - même si le système d'exploitation ne voit aucune erreur.

Ole Tange
la source
0

Utilisez SMART Les fabricants de disques durs devraient avoir un logiciel à télécharger sur leur site Web. Lorsque vous utilisez SMART - exécutez une analyse complète.

roberthayek
la source
-1

Si je devais écrire un tel programme de diagnostic, mon programme passerait par le lecteur secteur par secteur avec la procédure suivante:

  1. Déplacez les données actuellement dans le secteur vers un nouvel emplacement (actuellement vide) pour la conservation (et mettez à jour toutes les tables de fichiers qui ont utilisé ce secteur).
  2. Écrivez de nouvelles données connues au secteur.
  3. Lisez les données écrites du secteur.
  4. Compare a été écrit bit à bit avec ce qui a été lu.
  5. (En supposant que l'étape 4 soit réussie) Remettez les données d'origine à leur emplacement d'origine (pour éviter de fragmenter les fichiers).

Bien sûr, ce n'est que la version naïve. Je soupçonne que des algorithmes sont utilisés aujourd'hui pour rendre ce processus général plus efficace. De plus, il existe différents modèles que les outils utilisent pour les "nouvelles données connues" et différents niveaux de répétition.

Joel Coehoorn
la source