Self-Monitoring, Analysis and Reporting Technology

Self-Monitoring, Analysis, and Reporting Technology, ou S.M.A.R.T. (littéralement Technique d’Auto-surveillance, d’Analyse et de Rapport) est un système de surveillance du disque dur d’un ordinateur. Il permet de faire un diagnostic selon plusieurs indicateurs de fiabilité dans le but d’anticiper les erreurs sur le disque dur.

Pour les articles homonymes, voir Self.

Contexte de mise en œuvre

Les disques durs peuvent souffrir de deux types de défaillances :

  • les défaillances prévisibles, qui surviennent à la suite de la dégradation lente de certains composants, en particulier à cause de l’usure et du vieillissement des pièces mécaniques ;
  • les défaillances imprévisibles, qui peuvent survenir soudainement, comme un composant électrique qui court-circuite.

Un système de surveillance peut détecter le premier type de défaillance, tout comme la jauge de température du tableau de bord d’une voiture peut prévenir le conducteur - avant que de graves dégâts n’apparaissent - que le moteur a commencé à surchauffer.

Les pannes mécaniques, qui sont des défaillances prévisibles, représentent 60 % des pannes de disque[1]. Le but du système S.M.A.R.T. est de prévenir l’utilisateur ou l’administrateur système de l’imminence d’une panne de disque alors qu’il reste encore du temps pour agir - comme par exemple copier les données sur un disque de remplacement. Environ 30 % des défaillances peuvent être prévues par le système S.M.A.R.T[2].

La page de PCTechGuide à propos de S.M.A.R.T. (2003) explique que le développement de cette technique a connu 3 phases :

« Dans sa version originale, SMART fournissait une prévision des défaillances par la surveillance de certaines activités du disque dur en fonctionnement. Une seconde version a amélioré la prévision des défaillances en ajoutant un balayage en lecture automatique à l’arrêt pour surveiller des opérations supplémentaires. La dernière technologie SMART III surveille non seulement les activités du disque dur mais augmente aussi la prévention des défaillances en tentant de détecter et de réparer les erreurs sur des secteurs. En outre, alors que les précédentes versions de cette technologie surveillaient uniquement l’activité du disque dur concernant les données récupérées par le système d’exploitation, SMART III analyse toutes les données et tous les secteurs d’un disque en utilisant la collecte de données à l’arrêt pour confirmer le bon état du disque durant les périodes d’inactivité. »

Standards, implémentation et limitations

Compaq fut l’instigateur du système S.M.A.R.T, mais aujourd’hui[Quand ?] la plupart des principaux fabricants de disques durs et de cartes mères supportent le système, au moins en partie. De nombreuses cartes mères afficheront un message prévenant d’une panne imminente du disque dur. Bien qu’il commence désormais à exister une certaine standardisation entre la plupart des principaux fabricants de disques durs[3], il reste plusieurs problèmes et chaque fabricant, par son approche spécifique, garde une bonne part de ses connaissances secrètes. En conséquence, S.M.A.R.T. n’est pas toujours implémenté correctement sur de nombreuses plates-formes informatiques en raison de l’absence de logiciels et de matériels standards à toute l’industrie pour l’échange des données S.M.A.R.T.

D’un point de vue légal, le terme S.M.A.R.T. ne fait référence qu’à une méthode de communication entre les capteurs électromécaniques internes d’un disque dur et l’ordinateur hôte - donc un fabricant de disque dur peut inclure un capteur pour uniquement un attribut physique et promouvoir ensuite le produit comme compatible S.M.A.R.T. Par exemple, un fabricant peut déclarer supporter la technique S.M.A.R.T. mais ne pas inclure de capteur de température, capteur dont le consommateur est raisonnablement en droit d’attendre la présence, étant donné que la température est un paramètre crucial dans la prévision des défaillances (typiquement la fiabilité est inversement proportionnelle à la température).

Il se peut que certaines cartes mères compatibles S.M.A.R.T. ou certains logiciels associés ne puissent pas communiquer avec certains disques certifiés S.M.A.R.T. en fonction du type d’interface. Peu de disques externes connectés via USB ou FireWire envoient correctement les données S.M.A.R.T. par l’intermédiaire de ces interfaces. Étant donné le grand nombre de manières de connecter un disque dur (SCSI, Fibre Channel, ATA, SATA, etc.), il est difficile de savoir à l’avance si les rapports S.M.A.R.T. fonctionneront correctement ou pas.

Même avec le disque dur et l’interface supportant S.M.A.R.T., les données peuvent ne pas être transmises correctement au système d’exploitation de l’ordinateur. Certains contrôleurs de disques peuvent dupliquer toutes les opérations d’écriture sur un deuxième disque de sauvegarde en temps réel. Cette technique est connue sous le nom de RAID 1 ou RAID mirroring car le second disque est une image miroir du premier. Cependant, de nombreux programmes conçus pour analyser les changements de comportement du disque et pour transmettre les alertes S.M.A.R.T. à l’utilisateur ne fonctionnent pas quand le système est configuré en RAID, parce que, dans les conditions normales de fonctionnement de l’architecture RAID, l’ordinateur n’est pas autorisé à « voir » (ou à accéder directement) les différents disques physiques, il est seulement autorisé à « voir » les volumes logiques à travers le sous-système RAID.

Sur la plate-forme Windows, de nombreux programmes conçus pour surveiller et transmettre les informations S.M.A.R.T. ne fonctionnent qu’à partir d’un compte administrateur.

Attributs

Chaque constructeur de disque définit un ensemble d’attributs et détermine les valeurs de seuil qui ne devraient pas être dépassées dans des conditions normales de fonctionnement. Les valeurs des attributs s’échelonnent de 1 à 253 (1 représentant le pire cas et 253 le meilleur). En fonction du constructeur, une valeur comprise entre 100 et 200 est souvent choisie comme valeur « normale ». Les constructeurs suivants supportent un ou plusieurs attributs S.M.A.R.T dans leurs produits : Samsung, Seagate, IBM, Hitachi, Fujitsu, Maxtor, Western Digital. Ces constructeurs ne s’accordent pas obligatoirement ni sur une définition précise des attributs, ni sur leurs unités de mesure ; par conséquent, la liste suivante ne devrait être considérée que comme une référence assez générale.

Attributs S.M.A.R.T. connus

Légende
Une valeur haute est désirée
Une valeur basse est désirée
Critique Indicateurs potentiels d’une panne électromécanique imminente
IDHexNom de l’attributDésiréDescription
010x01Read Error RateIndique le taux d’erreur matérielle lors de la lecture de la surface du disque. Une valeur élevée indique un problème soit avec la surface du disque, soit avec les têtes de lecture/écriture.
020x02Throughput Performance
Performance générale en sortie du disque. Si la valeur de l’attribut diminue, alors la probabilité d’avoir un problème avec le disque augmente.
030x03Spin-Up Time
Temps moyen mise en rotation (de zéro RPM ou tour par minute jusqu’au fonctionnement complet) [en millisecondes].
040x04Start/Stop CountDécompte des cycles de mise en rotation (démarrage/arrêt).
050x05Reallocated Sectors Count
Nombre de secteurs réalloués. Quand le disque dur obtient une erreur de lecture/écriture/vérification sur un secteur, il note ce secteur comme réalloué et transfère les données vers une zone réservée spéciale (la zone de réserve). Ce processus est aussi connu sous le nom de remapping et les secteurs réalloués sont appelés remaps. C’est pourquoi, sur les disques modernes, on ne peut pas voir de « mauvais » blocs lorsqu’on teste la surface du disque (tous les mauvais secteurs sont cachés dans les secteurs réalloués). Cependant, plus il y a de secteurs réalloués, plus la vitesse d’écriture/lecture diminue.
060x06Read Channel MarginMarge du canal pendant la lecture des données. La fonction de cet attribut n’est pas spécifiée.
070x07Seek Error RateNC N/ATaux d’erreurs d’accès des têtes magnétiques. S’il y a une défaillance du système de positionnement mécanique, un endommagement du servomécanisme ou une dilatation thermique du disque dur, le nombre d’erreurs de recherche augmente. Une augmentation du nombre d’erreurs d’accès indique que l’état de la surface du disque et le sous-système mécanique se dégradent.
080x08Seek Time Performance
Performance moyenne des opérations d’accès des têtes magnétiques. Si cet attribut diminue, c’est un signe de problèmes avec le sous-système mécanique.
090x09Power-On Hours (POH)
Nombre d’heures de fonctionnement. La valeur brute de cet attribut indique le nombre total d’heures (ou de minutes ou de secondes, selon le constructeur) de fonctionnement du disque. Quand cette valeur se rapproche du niveau critique (durée de vie du disque donnée par le constructeur), le temps moyen entre deux pannes ou MTBF tend vers zéro. Cependant, en réalité, même si le MTBF chute à zéro, cela n’implique pas obligatoirement que le disque va cesser de fonctionner normalement.
100x0ASpin Retry Count
Nombre d’essais de relancement de la rotation. Cet attribut stocke le nombre total d’essais de relancement de la rotation pour atteindre la pleine vitesse de fonctionnement (à condition que la 1re tentative soit un échec). Une augmentation de cet attribut est signe de problèmes au niveau du sous-système mécanique du disque dur.
110x0BRecalibration Retries
Cet attribut indique le nombre de fois qu’une recalibration a été relancée (à condition que la 1re tentative soit un échec). Une augmentation de cet attribut est signe de problèmes au niveau du sous-système mécanique du disque dur.
120x0CDevice Power Cycle CountCet attribut indique le nombre total de cycles marche/arrêt complets du disque dur.
130x0DSoft Read Error Rate
Taux d’erreurs non corrigées transmises au système d’exploitation.
0xA0 Uncorrectable Sector Count Nombre de secteurs non corrigibles
0xA1 Valid Spare Blocks Blocs de rechange valides
0xA3 Initial Invalid Blocks Blocs non valides initiaux
0xA4 Total TLC Erase Count Nombre total d'effacements Triple Level Cell
0xA5 Maximum TLC Erase Count Nombre maximal d'effacements Triple Level Cell
0xA6 Minimum TLC Erase Count Nombre minimal d'effacements Triple Level Cell
0xA7 Average TLC Erase Count Nombre moyen d'effacements Triple Level Cell
0xA9 Percentage Lifetime Remaining Pourcentage de vie restante du disque (pour SSD).
181 0xB5 Program Fail Count Nombre d'échecs du programme
182 0xB6 Erase Fail Count Nombre d' échecs d' effacement
1830xB7SATA Downshift Error CountAttribut pour Western Digital et Samsung.
184 0xB8 Data transfer through RAM buffer cache between host and hard drive Transfert des données à travers le cache tampon RAM entre l' hôte et le disque dur
187 0xBB Reported Uncorrectable Errors
Le nombre d'erreurs qui n'ont pu être corrigées par le code correcteur (?) (voir attribut 195)
1880xBCCommand Timeout
Nombre d'opérations interrompues à cause d'un timeout du disque dur.
1900xBEAirflow Temperature (WDC)
Température de l’air sur les disques Western Digital (la même que la température (C2), mais la valeur de l’attribut est inférieure de 50).
1910xBFG-sense Error Rate
Nombre d'erreurs dues à des chocs externes et/ou vibrations.
1920xC0Power-off Retract CountIndique le nombre d'arrêts d'urgence, c'est-à-dire, le nombre total d'arrêts non sécuritaires du disque dur, souvent causés par un arrêt forcé de l'ordinateur ou un choc violent.
1930xC1Load/Unload Cycle
Nombre de cycles de chargement/déchargement dans la position où la tête magnétique est posée.
1940xC2Temperature
Température interne actuelle.
1950xC3Hardware ECC RecoveredNC N/ATemps entre les erreurs corrigées par code correcteur (?) (augmente et diminue, une faible valeur est probablement mauvaise).
1960xC4Reallocation Event Count
Nombre d’opérations de réallocation (remap). La valeur brute de cet attribut est le nombre total de tentatives de transfert de données entre un secteur réalloué et un secteur de réserve. Les essais fructueux et les échecs sont tous comptés au même titre.
1970xC5Current Pending Sector Count
Nombre de secteurs « instables » (en attente de réallocation). Quand des secteurs instables sont lus avec succès, cette valeur est diminuée. Si des erreurs se produisent à la lecture d’un secteur, le disque va tenter de récupérer les données, puis de les transférer vers la zone de réserve et va marquer le secteur comme réalloué.
1980xC6Uncorrectable Sector Count
Nombre total d’erreurs incorrigibles à la lecture/écriture d’un secteur. Une augmentation de cette valeur indique des défauts de la surface du disque et/ou des problèmes avec le sous-système mécanique.
1990xC7UltraDMA CRC Error Count
Nombre d’erreurs dans le transfert de données via le câble d’interface comme déterminé par l’ICRC (Interface Cyclic Redundancy Check, littéralement vérification des redondances cycliques de l’interface).
2000xC8Write Error Rate /
Multi-Zone Error Rate
Nombre total d’erreurs à l’écriture d’un secteur.
2010xC9Soft Read Error Rate /
Soft Read Error Rate
Nombre total d’erreurs off-track.
2200xDCDisk Shift
Distance de laquelle le disque est déplacé par rapport à son axe de rotation (habituellement à cause des chocs). L’unité de mesure est inconnue.
2210xDDG-Sense Error Rate
Nombre d’erreurs résultant de chocs ou de vibrations externes.
2220xDELoaded HoursTemps de fonctionnement passé en charge de données (mouvement de l’armature des têtes magnétiques).
2230xDFLoad/Unload Retry CountNombre d'essais infructueux de chargement/déchargement de la tête avant changement effectif du statut.
2240xE0Load Friction
Résistance causée par la friction dans les parties mécaniques en cours de fonctionnement.
2260xE2Load 'In'-timeTemps total de charge sur l’actuateur des têtes magnétiques (temps qui n’est pas passé en zone de positionnement fixe).
2270xE3Torque Amplification Count
Nombre de tentatives de compensation des variations de la vitesse de rotation du plateau.
2280xE4Power-Off Retract Cycle
Nombre de fois que l’armature magnétique a été rétractée automatiquement à la suite d'une coupure d’alimentation.
2300xE6GMR Head AmplitudeAmplitude des « à-coups » (amplitude du mouvement d’avance et de recul répétitif de la tête)
231 0xE7 Life Left (SSDs) or Temperature (HDDs) Sur un disque SSD, indique la durée de vie approximative qu'il lui reste, que ce soit en termes de cycles d'écriture (program/erase cycles) ou au niveau du nombre de blocks réservés encore disponibles.

Il s'agit d'un indice compris entre 0 et 100 : de manière normalisée, la valeur 100 correspond à un disque SSD neuf, tandis que la valeur seuil de 10 indique que le SSD doit être remplacé rapidement. Une valeur de 0 peut signifier que le disque fonctionne en mode "lecture-seule" afin de permettre la récupération des données présentes sur le disque.

Avant 2010, cet attribut était occasionnellement utilisé pour rapporter la température du disque (mais on utilise plus généralement l'attribut 0xC2 pour cela).

0xE8 Available Reserved Space Sur un disque SSD, indique l' espace réservé disponible
2400xF0Head Flying HoursTemps total où les têtes mécaniques sont au-dessus des plateaux, et pas dans une position parquée (en heure)

Logiciels

De nombreux logiciels adaptés à chaque système d’exploitation permettent aux utilisateurs de surveiller l’état des disques durs grâce à l’interface S.M.A.R.T. et ainsi prédire les probabilités d’une défaillance en enregistrant les variations de la valeur des attributs. Ces logiciels peuvent même parfois faire la distinction entre une dégradation graduelle (représentant l’usure normale) et un changement soudain (ce qui peut indiquer un problème plus grave).

Références

  1. (en)Get S.M.A.R.T. for reliability [PDF].
  2. (en)How does S.M.A.R.T. work? [PDF].
  3. pctechguide : « L’acceptation de la technique PFA par l’industrie a finalement conduit le système SMART à devenir le standard industriel en tant qu’indicateur de prévision de la fiabilité […]. »

Liens externes

  • Portail de l’informatique

Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.