SMART情報と不良セクタ

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

SMARTとは、「Self-Monitoring, Analysis and Reporting Technology」の略で、
ハードディスク(補助記憶装置)の自己診断機能のことです。
より正確には「S.M.A.R.T.」ですが、
打ちにくいのと読みにくいのと、BIOSや各種ツールでも「SMART」表記が多いため、
当サイトでもSMARTで統一しています。

つまり、SMART情報はハードディスクの自己診断機能によって管理されている数値です。
ハードディスク内部の状況を知る手段として、大変重宝します。

不良セクタ - SMART情報

固有のIDが属性名と結びつけられており、
たとえば、累計使用時間、電源投入回数、現在の温度等も知ることができます。
なかでも効力を発揮するのは、ハードディスクにトラブルが発生した場合で、
各属性値を確認することで、論理障害か物理障害かという判断が可能になります。

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

ここでは、ハードディスクの障害で特に問題になることが多い不良セクタについて、
対象となる属性値とあわせて書いていきます。

SMART情報を確認する

ハードディスクのSMART情報を確認するには、専用のツールを使います。
Windows標準の機能では確認できません。
SMART情報はハードディスク内部の話なので、OSからすると必須の情報ではありませんので。

Windows上からSMART情報を確認するには、「CrystalDiskInfo」を使うといいです。

ソフトウェアページ CrystalDiskInfo
ダウンロードページ ダウンロードセンター
当サイト内解説 「CrystalDiskInfo」の見方

Windowsが起動できなければ、「HDAT2」でも確認できますし、
「UBCD」から起動できる「PartedMagic」でも確認できます。
Linuxなら、「smartctl」というコマンドがあります。
臨機応変に使い分けてください。

なお、ここでは日本語でわかりやすい「CrystalDiskInfo」の表示内容に合わせて説明していきます。
その他のツールでは英語表記がほとんどですが、
IDとそれの意味するところは同じなので、数値を追って理解してください。

不良セクタに関する属性値

不良セクタ - SMART情報

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

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

実際の数を知るために必要なのは、「生の値」です。
いずれも、不良セクタが一切存在しないハードディスクでは、生の値がゼロのはずです。

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

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

以下、それぞれの項目について、もうちょっと細かく見ていきます。

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

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

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

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

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

代替領域へデータを移すよう試みた回数。
代替処理に成功しようと失敗しようと、代替処理が行われた時点でここにカウントされます。

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

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

セクタ代替処理は、次のアクセスがあるまで一旦保留(ペンディング)されています。
対象セクタに対して、次回の読み出しに成功すれば、再び正常なセクタとして扱われ、この数値は減少します。
逆に失敗した場合、代替処理すべきセクタとして登録され、
次回このセクタへの書き込みがあった時に代替処理されます。

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

セクタ読み書き時の訂正不可能なエラーの総計。
一般にデータの損失を伴います。

ハードディスクメーカーによって、扱いが異なる場合が多い値です。
「回復不可能」といいながら、この数値が減ることもあります。
もっとも、「回復不可能」とはデータのことなのですが。

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

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

結局、何が重要なのか

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

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

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

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

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

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

不良セクタ その1

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

不良セクタ その2

通常使用中に徐々に増えていった不良セクタ。
もちろん、危険なのはこっちです。
ちなみに、このハードディスクではWindowsの起動ができなくなりました。

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

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

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

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