データ復旧.comがファームウェア障害の対応強化、復旧率20%増の要因とは


左から安藤氏、趙氏、岩谷氏

 データ復旧サービス「日本データテクノロジー」(サイト名は「データ復旧.com」)を提供するオージット株式会社が、ファームウェアの障害によって読み込めなくなったハードディスクの復旧を強化している。

 年間4万台のハードディスクを復旧するという同社だが、ファームウェアを“知り尽くす”ことで、物理障害の復旧率が20%も向上したという。解析を担当する復旧チームの趙暁豪氏、安藤佳晃氏、岩谷謙太氏の3人に、ファームウェア復旧の重要性について聞いた。

ハードディスクの個体ごとにファームウェアが異なることも

プラッターに傷が付いたハードディスク(右)と正常なハードディスク(左)

 ハードディスクのファームウェアは、プラッターや磁気ヘッドなどのさまざまな動作を制御する内蔵プログラムだ。基盤上のチップに最小限のファームウェアが書き込まれており、そこからプラッター上にある残りのファームウェアを読み込んで動作している。

 安藤氏によれば、同一メーカーの同じモデルのハードディスクであってもファームウェアが異なることが多く、「モデルによっては、100種類近くの異なるバージョンのファームウェアが存在する」。

 さらに、ハードディスクは個体ごとに磁気ヘッドなどの動作にバラツキが見られることもあり、セクターを読み込む際の調整値がファームウェアに保存されている。つまり、ハードディスクの個体ごとに、ファームウェアの内容が異なることもあるというわけだ。

 「ネットの情報には、『故障したハードディスクは基盤を変えれば直る』というアドバイスも見られるが、それによってデータが読み込めるようになるのは、きわめてラッキーなケース。」(岩谷氏)

 なお、実際の故障のうち、ファームウェアが関連するものは、物理障害の約半数を占めるという。同社に持ち込まれるハードディスクの割合は物理障害が60%、論理障害が40%とのことで、全体の30%程度がファームウェア障害に起因しているものだといえる。

16進ダンプを目視して異常を見つける

専用ツールを使ってファームウェア障害を修復しているところ

 ファームウェア障害の主な原因は、ファームウェア更新時のエラーだ。ハードディスクは動作状況のログを記憶しているが、そのときにプログラムのミスやプラッターの劣化などがあると、正常でない書き込みが起こる。

 データの復旧作業は、ハードディスクの障害個所を特定することから始まる。手がかりのひとつは“音”だ。同社の復旧エンジニアは動作音を聞くだけで障害個所を特定できるだけでなく、ハードディスクのメーカーやモデルさえもわかるという。

 ファームウェア障害に対しては、複数のツールを使って修復を試みる。中には自動的に修復できるものもあるが、それが不可能な場合は、ツールで吸い出したファームウェアの内容を16進ダンプで表示し、1バイト単位でひたすら目視で問題を特定する手作業になる。

 異常な値を発見した場合は、バイナリエディターを使って書き変えて修復する。ハードディスク固有の調整値も、関連する値から逆算して求める。データを入れ間違えると動作が異常になり、「FAXの受信音のような」異音がすることもある。

 「慣れてくると、ここにこの値が入っているのはおかしいと見当がつくようになる。たとえば、磁気ヘッドの番号が入っているべきところにFFが入っていたら、値がおかしいとわかる。」(岩谷氏)

 1つのファームウェアには約1000のモジュール(プログラム)が含まれ、全部で約5000万バイトのデータをチェックすることになる。「最初は1件につき1週間ぐらいかかったが、やがてモデルごとの法則性などがわかってきた」(安藤氏)。

 こうしてファームウェアを“知り尽くした”ことにより、物理障害の復旧成功率は60%から80%に向上したという。ちなみに、残りの20%はプラッターのスクラッチ(傷)によりデータが読み込めないケースがあるが、安藤氏は「そこにも挑戦したい」と語る。

 「スクラッチが付いた部分のデータは読み込めないが、スクラッチ周辺のデータをできるだけ多く修復できる方法を研究していきたい。」

物理障害の半数以上にファームウェアが関連

社内のストックでは、10年以上前に製造されたものから現在のものまで、約1万種類のハードディスクの部品、および数十万種類のファームウェアを保管しているという

 なお、ファームウェアの調整値に異常があって磁気ヘッドが正常にコントロールされないケースでは、「カチカチ」という音が鳴り、やがてモーターが止まるという、磁気ヘッドの障害とよく似た挙動が見られるという。

 こうしたケースに対して、ファームウェア障害に精通する前は、「磁気ヘッドの問題」と誤解して磁気ヘッド交換を試みることもあった。しかし、データが読み取れない原因がファームウェアにある場合、磁気ヘッドを交換しただけではデータを復旧できない。

 同社は以前から、同一メーカーの同じモデルのハードディスクであってもファームウェアが異なることを認識しており、上記のようなケースでは社内にストックしている基盤やファームウェアと交換することで、データの復旧を行っていた。

 なお、社内のストックでは、10年以上前に製造されたものから現在のものまで、約1万種類のハードディスクの部品および数十万種類のファームウェアを保管している。ファームウェアについては、数百GBのハードディスクには収録しきれないほどの容量だという。

 「ハードディスクの故障にファームウェアが関係していることは以前から認識していたが、約半年前ごろから本格的にファームウェアの解析に着手した。その結果、復旧成功率が飛躍的に向上した」(安藤氏)。

 ファームウェアの解析に本格的に着手した半年前、同社は“ファームウェアの天才”と呼ばれる人物を海外から招へいし、復旧エンジニアとファームウェアの構造を解析する日々が続いたという。

 “ファームウェアの天才”の名前や国籍などは明かされなかったが、「一人でハードディスクを作れる」(安藤氏)というほどの人物。3人も目を見張る天才的な手腕を発揮したという。そうした協力を経て、基礎的な解析は1カ月で完了した。

新人エンジニアの修行はひたすらディスクの音を聞くこと

 同社の復旧エンジニアは、ハードディスクの動作音で障害を特定する技術が求められる。その技術は言葉で伝えられないため、新人エンジニアの教育は、壊れたハードディスクの音を聞き続ける“修行”から始まる。故障個所がわかるまでには1カ月程度かかかかり、そのテストに合格して、はじめて次に段階に進める。

 次のステップは部品交換だ。正常に動作するハードディスクを分解し、ヘッドやモーターを繰り返し付けては外す、いわば“素振り”のような訓練。最終的には、すべての部品を外して再び組み立て、ハードディスクが正常に動作したら“合格”となり、顧客から届いたハードディスクに触れることができる。

 ファームウェアの復旧作業を任せられるようになるのは、その次のステップだ。ここではまず、ファームウェアの自動修復ツールをマスターすると、1バイト単位の数字の羅列を目視で確認する作業に進める。ここまでできるようになるには、入社から平均で1年を要するという。

 「ハードディスク障害は症状を特定するのが難しく、なによりも経験がものをいう」(岩谷氏)、「いまではすっかり、数字が恋人みたい」(趙氏)、「ハードディスクのヘッドの故障音に近い音を街で聞くと反応してしまう」(安藤氏)と笑ってみせた。


関連情報

(高橋 正和)

2010/6/22 00:00