SMART情報と不良セクタ

故障予測はできないが、判断材料としては有効

ハードディスクで管理されているSMART情報を確認すると、
不良セクタの現状を知ることができます

不良セクタがあると、ハードディスクの読み出しに支障をきたすので、
ハードディスクはファームウェアによって内部的に不良セクタを回避しています。
その不良セクタの現状が、SMART情報に反映されます。

SMART情報は、ハードディスクのファームウェアに依存します。
従って、製品によって項目があったりなかったりしますし、
同じIDでもメーカーによって(というかファームウェアによって)判定基準が異なります。
というわけで、異なる製品間でSMART情報を比較する意味はあまりありませんが、
不良セクタの経時変化を確認するうえでは有効なのです。

SMART情報の確認

ハードディスクのSMART情報を確認するには、専用のツールを使います。
Windows標準の機能では確認できません。
具体例は下記ページ参照。

ハードディスクのSMART情報を確認する

別に何を使ってSMART情報を確認してもいいんですが、
使用するツールによって表示が違います。
日本語だったり、英語だったり、16進だったり、10進だったり。
でも、ID、属性名、属性値の意味するところは同じです。
数値を追って理解してください。

不良セクタに関する属性

SMART情報の不良セクタ

SMARTの属性には様々なものがありますが、ここでは不良セクタに関するもののみ取り上げます。

05(5) 代替処理済のセクタ数
C4(196) セクタ代替処理発生回数
C5(197) 代替処理保留中のセクタ数
C6(198) 回復不可能セクタ数
※かっこ内の数値は、16進値を10進表記したもの。

実際の数を知るために必要なのは、「生の値」です。
いずれも、不良セクタが検出されていないハードディスクでは、生の値は「0」です。

注意すべき点として、
「現在値」「最悪値」「しきい値」と、「生の値」では、単位が違います
「生の値」が実際の数なのに対して、「現在値」「最悪値」「しきい値」は割合です。
たとえば、上の画像の不良セクタに関する「現在値」「最悪値」「しきい値」は、
百分率、つまりパーセント表示です。

ちなみに、「現在値」が「しきい値」に達していなくても、ハードディスクは動作不良になります。※結構多い。
たとえば、システム上重要な箇所において不良セクタが発生すると、
少数の不良セクタでもOSが起動できなくなります。
「しきい値」はあくまでもメーカーが定めた基準値であり、これを境に故障するわけではありません。
故障に至る変化は連続的なもの、つまりアナログなので、
しきい値を境に白黒判定するデジタル処理とは相容れないのです。

以下、それぞれの項目について、もう少し詳しく書きます。

05(5) - 代替処理済のセクタ数

ハードディスクのファームウェアによって、代替処理された不良セクタの数。
代替処理とは、不良セクタの代わりに、代替領域のセクタを割り当てること。※リアロケーション。

代替処理された不良セクタは、二度と使われません
ハードディスクに不良セクタが存在しても、代替領域を代わりに使うことで、
対外的には正常なデータのやりとりができます。
このことで、OSからはハードディスクに不良セクタがないように見えます。

ただし、代替処理が発生すると、
論理的には連続した領域でも、物理的には不連続のセクタを使うことになるので、
不良セクタが発生した箇所においてデータの読み書きが遅くなります。
ハードディスクの代替セクタ領域にも限りがあります。

C4(196) - セクタ代替処理発生回数

セクタ代替処理を実行した回数。
メーカーによっては、項目自体が存在しません。※Seagateとか。

C5(197) - 代替処理保留中のセクタ数

ハードディスクのファームウェアによって、代替処理すべきと判定されているセクタの数
セクタ読み出しエラーが発生した場合に、代替処理保留セクタとして登録されます。
通称、ペンディングセクタ

セクタ代替処理は、次のアクセスがあるまで一旦保留(ペンディング)されています。
当該セクタの読み出しに成功すれば、代替領域へデータをコピーします。
当該セクタに対して書き込みがあれば、セクタ代替処理を行います。

C6(198) - 回復不可能セクタ数

データが失われたセクタの数。
メーカーによって、扱いが異なる場合が多い値です。

「回復不可能」といいながら、この数値が減ることもあります。
もっとも、「回復不可能」とはデータのことなのですが。

※参考: S.M.A.R.T. - Wikipedia(英語)
※Wikipediaの情報もあやしい所があるので、私の経験上の認識で上書きしてあります。

ハードディスクに保存しているのはデジタルデータですが、
その仕組みは電磁石によって磁気で記録するというアナログなものです。
従って、不良セクタもいきなり完全に読めなくなるわけではなく、
読めたり読めなかったり、不安定に劣化していく場合が多いです。
何度かリトライしたり、時間を空けると読める場合があるので、
ファームウェアは不良セクタに対してこのような処理をしています。

結局、何が重要なのか

赤字で示してきたので察しはつくかと思いますが、
不良セクタに関する属性値で特に注意すべきは、「05(5)」と「C5(197)」の「生の値」です。
つまり、「代替処理済のセクタ数」と「代替処理保留中のセクタ数」です。

05(5) - 代替処理済のセクタ数

「生の値」は、増えることはあっても、減ることはありません
ハードディスクの代替セクタ領域には限りがあるので、
「現在値」が「0」になると、セクタ代替処理はできなくなります

C5(197) - 代替処理保留中のセクタ数

限りなく黒に近いグレーです。
そもそもデータを読めていれば、ペンディングセクタにはなりません
読めないセクタは、時間を空けても読めない場合がほとんどです。

特に重要なのは、これら不良セクタの増え方です。
具体例を挙げます。

不良セクタの例 その1

ハードディスクの動作中に電源が落ちたことがあり、その影響で発生したと考えられる不良セクタ。

不良セクタの例 その2

使用中に徐々に増えていった不良セクタ。
もちろん、危険なのはこっちです。

普通に使っていて不良セクタがどんどん増えるというのは、
ハードディスクのヘッドに問題がある可能性が高いです。
このまま使い続けていても、状況が良くなることはありません。
ハードディスクの交換を検討すべきだと思います。

特に、多数のペンディングセクタがある場合は、
ペンディングセクタを読もうとしたままプログラムが停止してしまうことがあります。
データの重要度が高ければ、何もせずデータ復旧業者さんにお願いしたほうがいい状況ですが、
ユーザー側で何もできないわけでもありません。
詳細は下記ページ参照。

不良セクタがあるハードディスクへの対応

不良セクタがあっても、ほとんどの場合で、このような操作は必要ありません。
ユーザーが操作しなければならないのは、どうにもならない問題が発生した場合だけです。
SMART情報に不良セクタが存在しても、
これらは不良セクタを使わないように、ハードディスクのファームウェアが管理してきた結果です。
すでにファームウェアによって検出されている不良セクタは、正常なセクタと同じようには扱われませんので。