Les données d'un disque dur peuvent-elles se dégrader sans que Windows ne m'avertisse que cela s'est produit lorsque j'essaie d'accéder aux données?

30

Est-il probable qu'une dégradation physique d'un disque dur puisse faire basculer les bits dans le contenu du fichier sans que le système d'exploitation ne s'en aperçoive et ne vous en informe lors de la lecture du fichier? Par exemple, un «p» dans un fichier texte ASCII (binaire 0111000 0 ) pourrait-il devenir un «q» (0111000 1 ), puis un utilisateur (moi) pourrait ouvrir le fichier et voir «q» sans être conscient qu'un échec s'est produit?

Je suis intéressé par les réponses concernant FAT, NTFS ou ReFS ... si cela fait une différence.

Je veux savoir si le système d'exploitation me protège contre cela, ou si je devrais vérifier mes données pour l'invariance entre les copies / au fil du temps.

topo Rétablir Monica
la source
Pas spécifiquement lié, mais similaire: superuser.com/questions/613702/…
Michael Frank
Je suppose qu'il pourrait être possible pour une tête de lecture / écriture endommagée d'appliquer accidentellement la mauvaise charge sur le disque, bien que je n'ai jamais vu de corruption de données à cette échelle. De plus, je ne ferais pas confiance à Windows pour me dire si un disque tombe en panne ou non (le message lors de la connexion). J'ai vu des lecteurs mourir lentement au fil du temps sans aucun avertissement de Windows.
CConard96
Bien sûr ... les données sont stockées sous forme de bits avec des valeurs relatives de 0 ou 1, l'entropie se produit dans tous les systèmes, y compris le stockage magnétique et à l'état solide. Toutes les données se dégradent avec le temps.
acejavelin
2
@Moab: Je serais plus impressionné par votre deuxième ("aussi ...") commentaire si l'URL était, de quelque manière que ce soit, différente de l'URL dans votre premier commentaire.
TOOGAM
1
Si vous utilisez ReFS au-dessus d'un volume en miroir (et non la parité!) Et que vous le configurez correctement, les données du fichier de contrôle ainsi que les métadonnées du système de fichiers seront vérifiées. Il sera vérifié à la lecture (et corrigé si nécessaire) et il existe également un travail planifié qui analysera périodiquement le volume entier pour détecter les erreurs détectées.
davidbak

Réponses:

24

Oui , il y a une chose appelée pourriture des bits.

Mais non , cela ne vous affectera pas inaperçu.

Lorsqu'un lecteur écrit un secteur sur les plateaux, il n'écrit pas seulement les bits de la même manière qu'ils sont stockés dans la RAM - il utilise un encodage pour s'assurer qu'il n'y a pas de séquences du même bit trop longues , et il ajoute des codes ECC, qui lui permettent de réparer les erreurs qui affectent quelques bits et de détecter les erreurs qui affectent plus de quelques bits.

Lorsque le lecteur lit le secteur, il vérifie ces codes ECC et répare les données, si nécessaire et possible. Ce qui se passe ensuite dépend des circonstances et du micrologiciel du lecteur, qui est influencé par la désignation du lecteur.

  • Si un secteur peut être lu et ne présente aucun problème ECC, il est transmis au système d'exploitation
  • Si un secteur peut être réparé facilement, la version réparée peut être écrite sur le disque, relue et vérifiée, pour déterminer si l'erreur était aléatoire (rayons cosmiques ...) ou s'il y a une erreur systématique avec les médias
  • Si le lecteur détermine qu'il y a une erreur avec le support, il réalloue le secteur
  • Si un secteur ne peut être ni lu ni corrigé après quelques tentatives de lecture, sur un lecteur désigné comme lecteur RAID , le lecteur abandonne, réalloue le secteur et informe le contrôleur qu'il y a eu un problème. Il s'appuie sur le contrôleur RAID pour reconstruire le secteur à partir des autres membres RAID et le réécrire sur le disque défectueux, qui le stocke ensuite dans le secteur réaffecté qui, espérons-le, n'a pas le problème.
  • Si un secteur ne peut pas être lu ou corrigé sur un lecteur de bureau , le lecteur fera beaucoup plus de tentatives pour le lire. Selon la qualité du lecteur, cela peut impliquer de repositionner la tête, de vérifier s'il y a des bits qui se retournent lors de la lecture répétée, de vérifier quels bits sont les plus faibles et quelques autres choses. Si l'une de ces tentatives réussit, le lecteur réaffecte le secteur et réécrit les données réparées.

(Il s'agit de l'une des principales différences entre les disques vendus en tant que disques «Desktop», «NAS / RAID» ou «Video surveillance». Un disque RAID peut simplement abandonner rapidement et faire réparer le secteur par le contrôleur pour éviter la latence sur le disque dur). côté utilisateur. Un lecteur de bureau réessayera encore et encore, car le fait d'attendre l'utilisateur quelques secondes est probablement mieux que de lui dire que les données sont perdues. pas même remarqué.)

Quoi qu'il en soit, le lecteur saura s'il y a eu une pourriture des bits, s'en remettra généralement, et s'il ne le peut pas, il le dira au contrôleur qui à son tour le dira au pilote qui le dira au système d'exploitation. Ensuite, c'est au système d'exploitation de présenter cette erreur à l'utilisateur et d'agir en conséquence. C'est pourquoi Cybernard dit

Je n'ai jamais été témoin d'une seule erreur de bit, mais j'ai vu beaucoup de disques durs où des secteurs entiers ont échoué.

le lecteur saura qu'il y a un problème avec le secteur, mais il ne sait pas quels bits ont échoué. (Un seul bit qui a échoué sera toujours intercepté par ECC).

Veuillez noter que chkdsk, et la réparation automatique des systèmes de fichiers, n'abordent pas la réparation des données dans les fichiers. Celles-ci visent la corruption avec la structure du système de fichiers; comme une taille de fichier étant différente entre l'entrée de répertoire et le nombre de blocs alloués. La fonction d'auto-réparation de NTFS détectera les dommages structurels et les empêchera d'affecter davantage vos données, ils ne répareront aucune donnée déjà endommagée.

Il y a bien sûr d'autres raisons pour lesquelles les données peuvent être endommagées. Par exemple. une mauvaise RAM sur un contrôleur peut altérer les données avant même qu'elles ne soient envoyées au lecteur. Dans ce cas, aucun mécanisme sur le lecteur ne détectera ou ne réparera les données, et cela peut être l'une des raisons pour lesquelles la structure d'un système de fichiers est endommagée. D'autres raisons incluent des bogues logiciels clairs, une panne de courant lors de l'écriture du disque (bien que cela soit résolu par la journalisation du système de fichiers) ou de mauvais pilotes de système de fichiers (le pilote NTFS sur Linux est par défaut en lecture seule pendant une longue période, car NTFS a été inversé, non documenté , et les développeurs ne faisaient pas confiance à leur propre code).

J'ai eu ce scénario une fois, où une application enregistrerait tous ses fichiers sur deux serveurs différents dans des centres de données différents, pour conserver une copie de travail si les données en toutes circonstances. Après quelques mois, nous avons remarqué que sur l'une des copies, environ 0,1% de tous les fichiers ne correspondaient pas à la somme MD5 que l'application stockait dans sa base de données. Il s'est avéré être un câble fibre défectueux entre le serveur et le SAN.

Ces autres raisons expliquent pourquoi certains systèmes de fichiers, comme ZFS, conservent des informations de somme de contrôle supplémentaires pour détecter les erreurs. Ils sont conçus pour vous protéger contre beaucoup plus de choses qui peuvent mal tourner que la simple pourriture.

Guntram Blohm soutient Monica
la source
2
+1 pour avoir souligné que d'autres problèmes matériels en plus de la dégradation du support du lecteur peuvent entraîner la lecture et l'écriture de données corrompues . J'ai personnellement eu le problème avec de mauvais câbles dans un boîtier. Et, pour info, en plus de ZFS, le système de fichiers Windows ReFS (pour Server 2012+), lorsqu'il est configuré correctement et exécuté au-dessus des espaces de stockage, vérifiera les données des fichiers ainsi que les métadonnées du système de fichiers et les récupérera, et il fera périodiquement tout le volume analyses d'intégrité pour détecter et corriger bon nombre de ces erreurs.
davidbak
17

Oui, les disques durs peuvent se dégrader sans avertissement du système d'exploitation. C'est ce qu'on appelle la pourriture des bits . Je n'ai jamais été témoin d'une seule erreur de bit, mais j'ai vu beaucoup de disques durs où des secteurs entiers ont échoué.

Windows n'a pas de protection intégrée du contenu du fichier au-delà de la structure du système de fichiers NTFS. Considérez NTFS comme un livre: eh bien, il ne protège que la table des matières et vérifie que les choses correspondent. Cependant, si le dommage est au milieu d'une page, il n'offre aucune protection. Le FAT n'a rien. Les disques durs utilisent la correction d'erreur ECC par secteur, mais le lecteur ne le dit pas à Windows. Certains types de fichiers ont spécifiquement des hachages CRC, MD5 ou SHA pour détecter la corruption, mais ils ne résolvent rien.

Même dans ce cas, le hachage vous indique uniquement qu'il y a un problème, mais il ne sait pas où se trouve l'erreur.

Le disque dur a SMART qui surveille la santé du disque dur, mais à moins que le disque ne soit sur le point de mourir, le BIOS ne vous avertira pas. Pire encore, SMART est souvent désactivé par défaut dans votre BIOS. Vous pouvez surveiller les chiffres via un logiciel, mais différents lecteurs ont des problèmes différents. Si vous avez un tas de secteurs déplacés ou si vos erreurs ECC augmentent constamment. Si vous avez 100 000 nouveaux ECC chaque jour, c'est un mauvais signe.

De nombreux types de fichiers n'ont aucune protection contre la pourriture des bits . Comme TXT et BMP, qui n'ont aucune protection. Winrar a une option facultative pour ajouter des données de parité à l'archive, ce qui augmentera la taille du fichier, mais il peut détecter (proportionnel à la quantité de données de parité ajoutées) et réparer ce type d'erreur.

Tous les autres programmes de compression que je connais détectent des erreurs, mais ne peuvent rien y faire.

Finalement, les erreurs dans un secteur seront si mauvaises que l'ECC ne pourra pas le corriger, et le lecteur vous donnera ce qu'il lit même s'il est incorrect.

Vous pouvez utiliser QuickPar ou similaire pour créer des fichiers de données de parité, mais pour autant que je sache, il n'y a aucun moyen de l'automatiser. Par exemple, vous modifiez le fichier vous-même lorsque vous devez mettre à jour manuellement la parité. Vous pouvez également avoir des données de parité pour un groupe de fichiers, mais vous modifiez 1 fichier et l'ensemble de parité doit être recréé. C'est un vrai casse-tête pour tous, mais un petit nombre de fichiers.

cybernard
la source
Windows, chdsk ou NTFS ne détectent pas la pourriture des bits, qui est gérée par RAID ou un système de fichiers avec parité. Une mauvaise partition n'est pas non plus causée par la pourriture des bits. J'approuve cette réponse
Ramhound
1
@Ramhound Malheureusement, le nombre d'utilisateurs qui protègent leurs données avec la mise en miroir RAID, niveau 5 ou niveau 6 est probablement inférieur à 0,01%
cybernard
Je sais que je parlais en général. Bit rot! = Mauvaises partitions
Ramhound
1
NOR = PAS OU; utilisé dans une phrase signifie que c'est une liste exclusive;
Ramhound
1
J'avais ce disque dur de 750 Go qui faisait des choses comme ça. Tout d'abord, l'ordinateur était lent et gèle tout le temps. Lorsque j'ai des fichiers texte, une partie est mise à zéro ou a été tronquée. L'ordinateur a ensuite arrêté de démarrer. J'ai un nouveau disque dur (j'ai un disque dur et non un SSD. Je pense que j'aurais dû avoir un SSD) et le problème est allé et le PC est rapide
Suici Doga
2

Oui c'est possible. Windows n'est qu'un logiciel. Le logiciel est une série d'instructions à suivre par un ordinateur.

Pensez à un autre type de série d'instructions: un livre. Que peuvent accomplir ces instructions si elles sont écrites dans un livre posé sur une étagère et que personne ne se soucie d'ouvrir le livre et de lire ces instructions?

Tout comme ces instructions écrites exigent qu'une personne lise les instructions et commence à suivre les instructions, le logiciel informatique nécessite du matériel pour faire des choses pour être utile. Même si un livre contient des instructions qui ont été écrites avec une précision fabuleuse, cela n'empêche pas les problèmes si une personne décide de lire les instructions mais de les mettre en œuvre incorrectement. De même, le logiciel ne peut pas empêcher le matériel de faire de mauvaises choses. Ainsi, le matériel cassé peut triompher physiquement de ce que tout logiciel peut faire, y compris Microsoft Windows.

Maintenant, ReFS peut être conçu avec l'intention que le logiciel stocke les détails sur les données, et que le logiciel compare ces détails plus tard. Un concept simple est la «somme de contrôle», où le logiciel ajoute certaines valeurs et s'assure que ces valeurs correspondent au résultat attendu. Lorsque le matériel implémente ce logiciel, certains mauvais résultats peuvent être détectés. Cela peut même être très probable de fonctionner. Cependant, étant donné que le nombre de problèmes potentiels, qui pourraient théoriquement exister, est essentiellement un nombre infini, rien ne garantit que le logiciel détectera nécessairement chaque problème. (Gardez à l'esprit que le logiciel est une série d'instructions qui a été créée à l'avance.)

FAT est particulièrement faible en fonctionnalités. FAT12 a été conçu pour les disquettes et FAT16 pour les systèmes jusqu'à 4 Go (bien que la plupart des implémentations Microsoft de FAT16 aient tendance à ne pas fonctionner au-dessus de 2 Go). Sans l'extension VFAT, aucun d'eux ne supportait les noms de fichiers de plus de 11 caractères (dont certains seraient dans une partie appelée "extension"). FAT a été simplement conçu pour stocker des données à une époque où la capacité de stocker des données était un nouveau concept que les adultes devaient apprendre. Lorsque le FAT était considéré comme une technologie «de pointe», la technologie informatique n'était pas encore suffisamment répandue et élaborée pour que les gens se préoccupent des fonctionnalités avancées.

NTFS a ajouté la prise en charge de certaines fonctionnalités supplémentaires, notamment en permettant au système d'exploitation de suivre facilement les autorisations des utilisateurs. Il existe différentes versions de NTFS. Par exemple, Moab souligne que Windows Server 2008 a ajouté la prise en charge de l' auto-réparation NTFS, qui peut détecter certaines choses. Pourtant, cette fonctionnalité était nouvelle dans Windows Server 2008, elle n'est donc pas du tout prise en charge par Windows XP (ou Windows Server 2003, ou version antérieure). Même en regardant la liste des fonctionnalités, il semble que cela impliquait des métadonnées qui aident le système d'exploitation à remarquer des problèmes si graves que le disque ne peut pas être monté, ou d'autres zones clés du disque qui affectent le noyau du système d'exploitation. Il ne semblait pas que chaque élément de données, dans chaque fichier, soit affecté par cette fonctionnalité particulière.

Il est extrêmement peu probable que le logiciel de tels systèmes d'exploitation remarque de telles choses, à moins qu'elles ne causent des problèmes notables au système d'exploitation pour accomplir des tâches. Il peut y avoir quelques exceptions, comme les parties du système d'exploitation qui vérifient les disques (CheckDsk / ChkDsk / ScanDisk / ScanDskW, selon le système d'exploitation), mais même elles seront plutôt limitées sur ce qu'elles peuvent détecter, en grande partie parce que les systèmes de fichiers ne 'stocke pas une très grande quantité de données qui était destinée à être utile pour la vérification du disque.

(RAID5 pourrait être plus enclin à détecter de telles choses, chaque bit ayant un bit de parité qui aiderait à remarquer quelque chose d'inhabituel. Même alors, il appartiendrait à l'implémentation RAID d'exécuter une vérification pour remarquer le problème. une partie du disque qui n'est pas activement utilisée, le problème peut rester inaperçu jusqu'à ce que quelqu'un essaie de commencer à utiliser ces données.)

Plus récemment, un plus grand nombre de bits signifiait que les petites probabilités, comme les chances de "1 sur 10 millions", étaient plus susceptibles d'affecter les choses. Le grand public a également découvert les «rayons cosmiques», qui peuvent avoir un faible impact sur les choses. Étant donné que les bits sont si serrés dans les nouveaux appareils, les exigences physiques pour représenter un bit sont plus petites, de sorte que même les petits impacts sont plus susceptibles de perturber la façon dont un bit est reconnu. ReFS a quelques fonctionnalités conçues pour aider à les détecter. L'article de Wikipédia sur ReFS parle de «vérification automatique de l'intégrité». Comme cela est décrit comme une caractéristique notable de ce système de fichiers, ces fonctionnalités sont probablement plus développées qu'avec NTFS (et certainement plus qu'avec FAT, qui était relativement simple par nature,

TOOGAM
la source