vol.9 ファームって何?

2013/06/19

ファームウェアについては、すでにコストダウンを目的として使われている、そしてSA情報と共に非常に大きな役割を果たしていると説明しました。では、実際にどの様な情報を持ち、何をしているのかについて再確認してみましょう。SAと同様に、インターネット上でHDDのファームウェアについて説明しているサイトは、少なくとも筆者の知る限りでは存在しないと思います。

1.ファームウェアってなに?

毎度おなじみのウィキペディアによりますと、

ファームウェアとは、家電製品や、パソコン、周辺機器、携帯電話などのように、コンピュータシステムを組み込んだ電子機器本体(組み込みシステム)に所望の動作をさせるためのソフトウェアであり、ハードウェアに密接に結びついていて、むやみに書き換えることのない媒体に書き込まれた物を言う。一般的なソフトウェアよりハードウェア寄りのソフトウェアということで、ファーム(firm:堅い、固定した)という呼び方をしている。

と書かれています。まさにその通りで、2000年以前のHDDにおいては、現在の様に同一メーカの、同一型番であっても、ファームが違うと、基板やヘッドなどの部品に互換性が無いといったようなことはありませんでした。

ファームと言えば、HDDの基本的な動作ロジックを構成し、正常に動作させることを目的として作られた一種のソフトウェアであって、その機種に対して1種類しか存在しないのが当たり前で、機種さえ同じならば、容量が違っても基板を交換しても、何の問題も無く、当たり前に動作する状態だったのです。このために、その時代を知っている人は未だに「HDDが故障したら、基板交換してみれば?」なんて事を簡単に口にするのです。そして、ファームウェアの呼び名を有名にしたのは、最近ではSeagateのファームウェアトラブルで、HDDが正常動作しなくなる「ファームウェアロック」ではないでしょうか。この件の解決策としてSeagateが明らかにしたのが、ファームウェア・アップデート。つまり、HDDのファームウェアは、HDDが製品として完成した後でも外部から書き換えが出来ること。つまり、HDDの基板上のICにはメモリーが存在して、それが重要な役割を果たしている事実なのです。

2.コストダウンとファームウェア

既に今までの記事の中で、HDDのコストダウンの為にファームウェアの占めている役割が大きいことを説明しましたが、それが可能になったのは、半導体製造技術の進歩と密接な関係があります。 2000年頃のHDDは年率で約2倍のスピードで大容量化が進んでいました。そして、HDDの製造を手がけている企業の数も、現在の2倍は有り、激しい価格競争を繰り広げていたのですが、丁度その時に今までは不可能であった、電子機器のメカニカルコントロール用に使われていた、システムLSIの一つのICチップ上にメモリーICも同時に搭載する技術が開発され、ファームウェアが異なる場合でも、別のLSIを前もって準備すること無く、何種類でも後から書き込むことが可能になり、既に紹介したような、部品をランク分けして組み合わせ、最適化した条件で動作させるようなコストダウン手法を用いる事が容易になったのです。

この時点で、HDDのファームウェアは、本来のファームウェアとしての役割ではなく、実際に製造されるロットの各部品の組み合わせのために最適化された条件を管理するものとして認識されるようになってしまったのです。ですからこの記事においても、これから後ろは2000年以前から存在する、機種固有の部分をファームウェアの第一世代とするのであれば、コストダウンを達成するための部分を第二世代として、その第二世代をファームウェアと呼ぶことにします。

3.どんな情報?

SAと同じ様に、ファームウェアにも定められた規格も規則もありませんので、メーカが都合によって内容を決める事ができ、詳細については勝手に想像する事しか出来ません。しかし、HDDの製造工程を考えるとファームで管理する必要の有る項目、SAに記録すべき項目、と自動的に分離する事も、ある程度は可能で、下記は基板上のメモリーに記録しておき、HDDに電源が投入されたときに真っ先に読み込んで置かないと、それ以後の動作に問題が発生し、動作不能に陥る絶対的に必要となる項目です。

[必須項目]

  • ヘッドの読み出し、書き込み機能に直結する情報
  • 書き込み時にヘッドに流す、書き込み電流値に関する情報
  • 読み出しギャップと書き込みギャップの位置の誤差に関する情報
  • トラック0(SA)の位置に関する情報

注:磁気ディスク装置では、基準となる位置にあるトラックを「トラック0」と呼びます。

  • ヘッドの読み出し信号波形(アナログ)をデジタル信号に変換するためのA-D変換に関する情報

実際のファームウェアには、各製造メーカがどう使うことが効率的であるか、SAとの情報配分をどうするか、などに従い、プラッタの使い方に関する情報なども含め、多くの情報を格納しているのが実態となっています。

いかがでしょうか。これでHDDの部品の交換を行う場合に、なぜファームウェアの同一なものを入手する必要があるのか、互換性の確保のためには何に気を使う必要があるのか、お分かりいただけたでしょうか。