vol.5 物理障害の復旧方法
物理障害の発生したHDDの復旧作業はどのように行うのでしょうか。以前、あるパソコン雑誌に書かれていたのを目にしたのですが、「専門業者はHDDを分解し、プラッタを取り出し専用の読み取り機にかけてデータを吸い出す。」とありました。何処かの業者に取材したらしいのですが、すごい事です。絶対に信じてはいけません。何故信じてはいけないのかを順を追って説明します。
1.プラッタ(ディスク)に関して
HDDでは、データをプラッタと呼ばれる円盤上に書き込むのですが、データを書き込むために、同心円状にトラック(シリンダ)を設置し、そのトラック上にセクタと呼ばれる区切りを設けて、そのセクタの中に本当のデータを書き込みます。
トラック上のセクタの数ですが、ディスクは円盤であるために、当然、その外側と内側では、トラックの物理的な全長に差が発生します。HDDでは、その円盤に用意された磁気記録用の磁性体に着磁して記録をして、それをまた読み出すという作業が必要であるために、一定量のデータを記録するためには、一定量の磁性体が必要になります。つまり、円盤の外周と内周では記録する事の出来るデータ量に違いが出来てしまうのです。ですから、HDDの場合は外側から内側までを、いくつものゾーンに区切って1トラック辺りのセクタの数を変えることによって、その問題を解決しています。このゾーンの決定方法に特定の決まりは存在せず、メーカ、機種、製造ロット等によってまちまちなのです。
2.セクタに関して
トラック上のセクタの順番は、物理的な順番と一致しているのでしょうか。一般的には実際に読み込むセクタの論理番号と、物理的な位置とは一致していません。特に、容量の大きい、複数枚のプラッタを使用しているHDDの場合などは、HDDのパフォーマンスの向上を目的に、一番上のプラッタの表面のセクタの次は、一番上のプラッタの裏側、その次は2枚目の表側で、その次は裏側、の様に、ヘッドの位置(トラック)を変える(ヘッドシーク)することなく、連続してデータの読み書きが可能なように、セクタの論理番号を決定しています。たとえ容量が小さくて、一枚のプラッタの片面しか使っていないような場合でも、パフォーマンスが最高になるように論理番号を決めるのです。パソコンに対する経験の長い方は、古いHDDのジャンパーの設定に、15ヘッドや16ヘッドなどの記載があったのを記憶されているのではないかと思いますが、たとえ一個のヘッドであっても、論理ヘッド数が15とか16に設定されていて、そのヘッドを切り替えながらデータの読み書きを行うのがHDDなので、そのヘッドの切り替えに必要な時間だけ、プラッタが回転して、待つことなくすぐ読み書きできる位置のセクタを、論理番号で次のセクタになる様に番号をつけてあるのです。
3.なぜ一定ではないのでしょう
上記の様な理由があるにしても、何故一定ではないのでしょうか。それは、コストダウンのためです。
HDDの容量は、ここ近年の平均では、一年当たり1.4倍のペースで大きくなっています。特に数年前までは、一年で2倍のペースでした。物理的な話をすると、本当は「容量が大きくなればなるほど、その部品であるヘッドやプラッタに要求される、色々な特性の許容範囲は、どんどん小さくなって、それに伴ってHDDの値段も高くなるはずです。しかし、実際はそれほどでもありません。その理由は、それぞれの部品を特性のランクを区切って、ヘッドとプラッタの組み合わせを管理する事や、読み書きするための電子回路を工夫することで解決しているためなのです。
例えば、プラッタのゾーンの幅を狭くしてゾーンの数を増やしてしまう。また、特性の低いプラッタには、特性の高いヘッドを組み合わせる。それでも最大容量のドライブにはならない場合には、一ランク下の機種にしてしまう。片面に使えないほどの品質ムラがある場合には、片面しか使わないプラッタを2枚組み合わせて、一番容量の少ない機種にする。このように、出来る限り部品レベルの不良品(廃棄品)を作らないで、使い切ってしまうことでコストダウンをしているのです。
4.何故それが可能なのか
それを可能にしているのが、HDDのファームウェアなのです。ここでお断りしておきますが、基本的にファームウェアとは、機器を制御するための一種のソフトウェアであって、HDDの場合は、基本的な動作もファームウェアによって管理されていますが、ここで呼ぶ「ファームウェア」とは、ファームウェアの中でも、今まで触れてきた、部品の組み合わせ管理を可能にしている部分で、ゾーンの数と、始めの位置(トラック)と終わりのトラック、ヘッドの読み書きの特性を決定する回路の定数等が詳細に決められて、書き込まれていますし、機種によっては、自己テストを行ってそれを決定する物まで存在するのです。
5.最後に
HDDはこのように、種々の方法によってコストダウンをして作られています。こんなことをして作られたHDDのプラッタを取り外して、専用の読み取り機にかけても、出てきたデータを、セクタの論理順に並べてファイルにするためには、そのHDDのファームウェアの内容を全て解析する事が必要なのです。HDDメーカはコスト競争のためにも、どの様な技術を使っているのかは、全て企業秘密として、門外不出の厳重な管理をしていますので、実際にそのような読み取り機を作ることは出来ないのです。その為に、データ復旧業者は、どうしたら一時的にでもデータの読み取りが可能になるのか、元のHDDのヘッドなどの部品を、互換性のあるものと取り替えたり、同一番号のファームを使っているHDDを探したり、ファームウェアの内部を調べて書き換えたりするのです。そして、そのファームウェアが完全に分かれば(HDDメーカの話ですが)、東日本大震災で津波被害にあった古いHDDのヘッドを最新のヘッドと取り替えて、ファームウェアを調整する事によって、全て復旧するようなことも出来るのです。