ファームって何?2013/06/19ファームウェアについては、すでにコストダウンを目的として使われている、そしてSA情報と共に非常に大きな役割を果たしていると説明しました。実際にどの様な情報を持ち、何をしているのかについて再確認してみましょう。SAと同様に、インターネット上でHDDのファームウェアについて説明しているサイトは、少なくとも筆者の知る限りでは存在しないと思います。ように、コンピュータシステムを組み込んだ電子機器本体(組み込みシステム)に所望の動作をさせるためのソフトウェアであり、ハードウェアに密接に結びついていて、むやみに書き換えることのない媒体に書き込まれた物を言う。一般的なソフトウェアよりハードウェア寄りのソフトウェアということで、ファーム(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との情報配分をどうするか、などに従い、プラッタの使い方に関する情報なども含め、多くの情報を格納しているのが実態となっています。これでHDDの部品の交換を行う場合に、なぜファームウェアの同一なものを入手する必要があるのか、互換性の確保のためには何に気を使う必要があるのか、お分かりいただけたでしょうか。内部統制・セキュリティー対策」をお手伝いします。