Maxtorの技術責任者に聞く [後編]
HDDのファームウェアとは?



Maxtor, Server Products Group, Technical Marketing, DirectorのKevin Wittmer氏。Wittmer氏は、17年以上にわたって、ディスクドライブの製品設計、開発、コンピュータ市場への投入に携わっており、HDDのファームウェアをよく知る、数少ない技術者の一人でもある

 最近、家庭用のブロードバンドルータや無線LANアクセスポイントなどでもよく耳にするようになった“ファームウェア”という言葉。ファームウェアとは、ハードウェアのあらゆる動作を制御するソフトウェアであり、一般に電子機器と称されるものには必ずといっていいほど搭載されている。

 もちろん、HDDも例外ではない。HDDは、ファームウェアが搭載されているからこそ、ヘッドを自在に動かしてデータを読み書きしたり、ホストコントローラとデータをやり取りできるのだ。前編でインタビューをお願いしたMaxtor, Server Products Group, Technical Marketing, DirectorのKevin Wittmer氏は、DEC(Digital Equipment Corporation)の在籍時代よりディスクドライブのあらゆる設計・開発に携わってきた、HDD開発の第一人者だ。今回は、普段あまり耳にしないHDDのファームウェアについてWittmer氏にいろいろとお聞きしてきた。

●HDDのすべての動作を司るファームウェア

 まず、Wittmer氏は、HDDのファームウェアの役割を次のように説明する。

 「HDDのファームウェアは、ディスクメディア上のヘッド移動を制御するサーボ機構、ATAインタフェースやSCSIを介したホストコントローラとの通信、キャッシュの管理など、HDDのすべての動きを制御しているソフトウェアです。さらに、こうした通常のオペレーションだけでなく、工場での製造工程でも大きな役割を果たします。例えば、HDDの初期キャリブレーション、パラメトリック試験、メディア欠陥走査、ローレベルフォーマットなどにおいてファームウェアが使用されます」。

 「HDDのファームウェアのサイズは、一般に数百KB程度となります。HDDは、コストに対する圧力が特に強いコンポーネントですので、ファームウェアのコードスペースをできるかぎり小さくすることが求められています。ただし、次々と登場する新たなテクノロジを常に受け止められるように、パフォーマンスや機能性に関するアルゴリズムが年々増えています。このためファームウェアのコードサイズは、少しずつですが、大きくなる傾向にあります」。

 多くのコンピュータ向け周辺機器は、外付けのフラッシュメモリにファームウェアを保存するのが一般的だ。古くは一度だけ書き込みが可能なPROM(Programmable ROM)や、紫外線照射によって消去が可能なEPROM(Erasable PROM)が多く用いられていたが、近年ではOEMベンダやエンドユーザが必要に応じてファームウェアをアップデートできるように、電気的かつ簡単に書き換えが可能なEEPROM(Electrically EPROM)やその改良版となるフラッシュメモリが用いられるようになった。

 では、HDDのファームウェアはどうなのだろうか。Wittmer氏は、ファームウェアの保存場所に関して次のように説明する。

 「HDDのファームウェアの多くはフラッシュメモリに保存されますが、一部はディスク領域にも保存されます。HDDに電源が入ると、まずフラッシュメモリからファームウェアの基本部分が読み出されます。次に、ディスクが回転し始め、回転が安定したらディスク上から残りのファームウェアが読み出されるわけです。通常、HDDのディスク領域は、ユーザがデータの保存に使用するユーザエリア、データ領域に発生した不良セクタの代替を行うスペアエリア、そしてHDDベンダだけが使用する特別な予約エリアなど、機能別に複数のエリアに分割されています。ファームウェアは、これらのうち最後の予約エリアに保存されます」。

●エラー訂正や不良セクタの代替処理もファームウェアが行なう

 せっかく不良セクタの話が出たので、不良セクタの検出と代替処理に関して補足しておこう。ディスクの記録面は、アルミニウム・マグネシウム基板もしくはガラス基板(現在の主流はこちら)に対して複数の素材を蒸着することにより構成されている。このとき、記録面のごく一部には所定の磁気特性を持たない不完全なビットセルが発生する。また、ヘッドやスピンドルモーターなどの各種部品を取り付けるときに微細なかすり傷が付いたり、組み立て工程でディスク表面が汚染される場合もある。これらも、ビットセルの欠陥につながる大きな原因だ。

 こうした欠陥ビットセルを含むセクタは、ベンダもユーザも使用できない不良セクタとなる。不良セクタの検出と除外処理は、まずHDD本体を組み立てた後に実施される。ここでは、ディスク表面にデータパターンを実際に読み書きすることにより、記録面の欠陥を検出する表面解析検査(SAT:Surface Analysis Test)が行なわれる。ここで検出された不良セクタは、正常なセクタを管理しているセクタマップから除外され、逆に不良セクタを管理しているP-リストに追加される。

 その後もいくつかのテストを通じて、SATで発見できなかった不良セクタがさらに除外されるが、製品出荷後にも使用環境によって自然に発生したり、ユーザの日頃の取り扱いによって発生する不良セクタが存在する。この段階になると、不良セクタを可能な限り使用可能なスペアエリア上のセクタに代替する処理が行なわれる。

 ユーザがHDDに対してデータを読み書きする際に発生するエラーには、回復の可能なソフトエラーと回復の不可能なハードエラーに分類される。データを正常に読み書きできなかった最初の段階では、HDDによるエラー回復手順(ERP:Error Recovery Procedures)が実行される。ERPでは、読み書き動作のパラメータを変えながら、何度も読み書きの再試行が行なわれる。また、読み出し時には、エラー訂正コード(ECC)を併用してデータの回復も同時に試みられる。

 これらの手順を経ても読み書きを正常に行なえなかった場合には、不良セクタを予備の代替セクタに置き換えられるかどうかを判断する。例えば、書き込みの場合には、不良セクタに書き込むべきデータを代替セクタに置き換えられるため、セクタの代替処理でエラーを回復させることが可能だ。しかし、データを回復できないそれ以外のケースではハードエラーとなり、これらのデータ回復はHDDではなくRAIDサブシステムなどの冗長化機構を頼ることになる。こうしたソフトエラー時のデータ回復処理を効率よく実行するのも、ファームウェアの大きな役割の一つだ。

●優れたファームウェアとはどんなものか?

 ファームウェアの役割に関して一通り説明したところで、次に気になるのがファームウェアの善し悪しだ。Wittmer氏は、優れたファームウェアの基準を次のように述べる。

 「優れたファームウェアの第一条件は、パフォーマンスに優れ、機能性に富んでいることです。ファームウェアのパフォーマンスを高める一つの方法は、ファームウェアのサイズをコンパクトにすることです。低コスト化の要請によってファームウェアのサイズを小さくしなければならないことはすでにお話ししましたが、サイズを小さくするとファームウェアの実行時間も短縮できますので、相対的にパフォーマンスの向上につながります」。

 「Maxtorは、優れたファームウェアを開発するために多くの時間を割いています。また、ハードウェアとファームウェアのバランスをうまくとりながらHDDを設計することにより、パフォーマンスを最適化しています。MaxtorのATLAS 10Kシリーズは、最も優れた10K SCSI HDDという名を3年連続で獲得していますが、これはファームウェアの完成度の高さによるところが大きいと思います」。

 ということは、HDDのディスク回転数が同一である場合、どのベンダの製品もハードウェアのテクノロジはほとんど同じで、大きく異なるのはファームウェアだけなのか、という疑問に突き当たる。Wittmer氏は、この疑問に対して次のように回答する。

 「ハードウェアのテクノロジは、各社で似ているところも数多くありますが、異なるところもやはり複数あります。特に異なる部分は、MPUとキャッシュ管理のテクノロジです。例えば、キャッシュ管理について考えますと、まずこの機能を提供するのはファームウェアなのですが、これをより高速なMPUの上で実行すればパフォーマンスを高めることができます。そして、SCSIバスとキャッシュバッファ間のデータ通信を担うASIC内の物理的な回路を高速化すれば、やはりキャッシングのパフォーマンスが向上します。このように、ファームウェアの改良はもちろん大事なことですが、それを支えるハードウェアの改良も大事なのです」。

 「さらに、将来の製品に対する拡張性を持っていることも重要です。例えば、ATLAS 10Kシリーズ向けのファームウェアは、初代のファームウェアをベースとしながら、段階的に拡張していくことで、すでに第4世代(ATLAS 10K IV)を迎えています。これにより、世代を追うごとにファームウェアの品質を高められるだけでなく、開発期間の短縮にもつながっています」。

●エンドユーザによるファームウェアアップデートの是非

 Wittmer氏は、さらにファームウェアの要件を加える。

 「次に、高い品質がファームウェアの大事な要件となります。Maxtorは、数多くの厳重なテストを行ない、ファームウェアを改善することによって、顧客に品質のよい製品を提供しています」。

 マザーボードやグラフィックスカードのBIOSプログラム、ブロードバンドルータや無線LANアクセスポイントのファームウェアを見ると分かるように、これらのハードウェアに関してはエンドユーザ自身がBIOSプログラム(ファームウェア)のアップデートを行なえるのが一般的だ。しかし、HDDのファームウェアアップデートというのはほとんど聞かない。数年前、IBMのATA HDDでファームウェアのアップデートツールが一般に公開されたことがあったが、それ以来、筆者は同様の例を知らない。

 しかし、時期をおきながら同じモデルのHDDを複数台購入すると分かるが、購入時期が進むにつれてファームウェアのリビジョンが微妙にアップデートされていることがある。つまり、HDDの世界にもファームウェアのアップデートというのは確実に存在するのだ。Wittmer氏は、HDDのファームウェアアップデートに関して次のように述べる。

 「Maxtorは、新しい製品をリリースする前に、ファームウェアのテストに多くの時間を割いています。しかし、製品が出た後にも、新しいホストコントローラやコンピュータシステムが市場に導入されますので、私たちはこれらの新しい製品に対しても引き続きテストを行なっています。このとき、ファームウェアをアップデートしたほうが新しい製品でより優れたパフォーマンスを発揮できる場合があります。このようなケースでは、新しいファームウェアにアップデートしてよりよい製品を出荷しています」。

 「もちろん、万が一問題が発見されたとしたら、即座にファームウェアのアップデートを行ないます。ただし、こうした欠陥のほとんどは、通常のオペレーションで見つかることはありません。ある限られた条件下でのみ生じるものがほとんどです。このため、ファームウェアの欠陥によって、顧客に対してファームウェアのアップデートをお願いするというケースは非常に希です」。

 「現在、HDDのファームウェアアップデートは、弊社の最大の顧客(OEMベンダ)とともに、弊社の工場の中でのみ行なっています。HDDのファームウェアアップデートは、細心の注意を必要としますので、エンドユーザによるフィールドアップデートには適していません。このため、弊社は現時点でエンドユーザに対してファームウェアアップデートの手段を提供しておりません。もっとも、私たちのファームウェアは非常に高品質なのが売りですから、エンドユーザの皆様は、ファームウェアのアップデートを考慮することなく、そのまま安心して使っていただければと思います」。


□日本マックストアのホームページ
http://www.maxtor.co.jp/
□関連記事
【8月4日】【伊勢】Maxtorの技術責任者に聞く 前編
http://pc.watch.impress.co.jp/docs/2003/0804/it008.htm

バックナンバー

(2003年8月11日)

[Text by 伊勢雅英]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c) 2003 Impress Corporation All rights reserved.