Self-Monitoring, Analysis and Reporting Technology

Un article de Wikipédia, l'encyclopédie libre.

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.

Contexte de mise en œuvre[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

Légende
Higher
Une valeur haute est désirée
Lower
Une valeur basse est désirée
Critique Indicateurs potentiels d’une panne électromécanique imminente
ID Hex Nom de l’attribut Désiré Description
01 0x01 Read Error Rate Indique 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.
02 0x02 Throughput Performance
Higher
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.
03 0x03 Spin-Up Time
Lower
Temps moyen mise en rotation (de zéro RPM ou tour par minute jusqu’au fonctionnement complet) [en millisecondes].
04 0x04 Start/Stop Count Décompte des cycles de mise en rotation (démarrage/arrêt).
05 0x05 Reallocated Sectors Count
Lower
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.
06 0x06 Read Channel Margin Marge du canal pendant la lecture des données. La fonction de cet attribut n’est pas spécifiée.
07 0x07 Seek Error Rate NC N/A Taux 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.
08 0x08 Seek Time Performance
Higher
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.
09 0x09 Power-On Hours (POH)
Lower
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.
10 0x0A Spin Retry Count
Lower
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.
11 0x0B Recalibration Retries
Lower
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.
12 0x0C Device Power Cycle Count Cet attribut indique le nombre total de cycles marche/arrêt complets du disque dur.
13 0x0D Soft Read Error Rate
Lower
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
183 0xB7 SATA Downshift Error Count Attribut 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
Lower
Le nombre d'erreurs qui n'ont pu être corrigées par le code correcteur (?) (voir attribut 195)
188 0xBC Command Timeout
Lower
Nombre d'opérations interrompues à cause d'un timeout du disque dur.
190 0xBE Airflow Temperature (WDC)
Lower
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).
191 0xBF G-sense Error Rate
Lower
Nombre d'erreurs dues à des chocs externes et/ou vibrations.
192 0xC0 Power-off Retract Count Indique 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.
193 0xC1 Load/Unload Cycle
Lower
Nombre de cycles de chargement/déchargement dans la position où la tête magnétique est posée.
194 0xC2 Temperature
Lower
Température interne actuelle.
195 0xC3 Hardware ECC Recovered NC N/A Temps entre les erreurs corrigées par code correcteur (?) (augmente et diminue, une faible valeur est probablement mauvaise).
196 0xC4 Reallocation Event Count
Lower
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.
197 0xC5 Current Pending Sector Count
Lower
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é.
198 0xC6 Uncorrectable Sector Count
Lower
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.
199 0xC7 UltraDMA CRC Error Count
Lower
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).
200 0xC8 Write Error Rate /
Multi-Zone Error Rate
Lower
Nombre total d’erreurs à l’écriture d’un secteur.
201 0xC9 Soft Read Error Rate /
Soft Read Error Rate
Lower
Nombre total d’erreurs off-track.
220 0xDC Disk Shift
Lower
Distance de laquelle le disque est déplacé par rapport à son axe de rotation (habituellement à cause des chocs). L’unité de mesure est inconnue.
221 0xDD G-Sense Error Rate
Lower
Nombre d’erreurs résultant de chocs ou de vibrations externes.
222 0xDE Loaded Hours Temps de fonctionnement passé en charge de données (mouvement de l’armature des têtes magnétiques).
223 0xDF Load/Unload Retry Count Nombre d'essais infructueux de chargement/déchargement de la tête avant changement effectif du statut.
224 0xE0 Load Friction
Lower
Résistance causée par la friction dans les parties mécaniques en cours de fonctionnement.
226 0xE2 Load 'In'-time Temps total de charge sur l’actuateur des têtes magnétiques (temps qui n’est pas passé en zone de positionnement fixe).
227 0xE3 Torque Amplification Count
Lower
Nombre de tentatives de compensation des variations de la vitesse de rotation du plateau.
228 0xE4 Power-Off Retract Cycle
Lower
Nombre de fois que l’armature magnétique a été rétractée automatiquement à la suite d'une coupure d’alimentation.
230 0xE6 GMR Head Amplitude Amplitude 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
240 0xF0 Head Flying Hours Temps total où les têtes mécaniques sont au-dessus des plateaux, et pas dans une position parquée (en heure)

Logiciels[modifier | modifier le code]

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[modifier | modifier le code]

  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[modifier | modifier le code]