今更というお話がありますが、ハードディスクのエラーセクタまたは不良セクタと呼ばれる事象について再度復習しておきたいと思い、Googleで検索した結果を色々と読んでみています。
下記、ハードディスク番長の解説は、とても分かりやすいのですね。これまでに自分がなんとなくで理解していた部分の間違いなどが良く分かりました。
不良セクタ・不良ブロックとはなにか
http://hddbancho.co.jp/hdd_badsector.html
上記内容を参考にさせていただき、流れを簡単にリスト化してみると以下でしょうか。詳細は上記URLを参照いただく方が正確ですので注意してください。
- 磁性が弱くなったビットセルが検出される
- 次回検査を行う為に該当ビットセルはペンディングセクタとして扱われる
- ペンディングセクタの内容は代替領域にミラーされる
- ペンディングセクタが次回のアクセス時に評価され問題がなければ通常セクタに戻る(代替領域のミラーへのマッピングを解除される)
- ペンディングセクタの評価でエラーが検出された場合は、不良セクタとなる
- 代替領域のセクタが不良セクタの代替セクタとしてマッピングされる
- 不良セクタへのアクセスは、代替セクタへリダイレクトされるようになる
この一連の動作はOS側では検出されることなく装置内部での処理となるようですね。代替処理が出来ない様なケースでは、OS側で不良ブロックとしてマークされる。
この後の処理部分といいますか、代替領域が一杯になった場合の流れについて、自分はちょっと勘違いというか理解が十分でなかったのですが、もやっとが解消されました。
不良セクタについて調べていたところ、HDAT2が修復機能を持っているという記事をみかけ、そういえば昔HPA/DCO関連で試した事があったなぁと思い下記のWebを参照してFAQなどを読んでみました。HPAについてこのBlogで書いていたのが9年前のようなのでかなり懐かしいです。
HDAT2
HDAT2を使うと、上記のペンディングセクタの数や再マップされたカウント、G-List (grown defect list)など不良セクターに関する情報を確認することが出来るようですが、今時はFDを準備するのが大変なのでCD-ROM版を使うという事になるんでしょうかね。
HDAT2のマニュアルにも不良セクタに関する記述が色々とあり、こちらも参考になります。