(57)【要約】      （修正有）【課題】バージョンアップ時におけるファームウェアの互換性がよいディスク装置およびファームウェアの判定方法を提供する。【解決手段】書換え用のファームウェアが格納されたディスクを用いて、フラッシュメモリに格納されたファームウェアをバージョンアップする場合において、フラッシュメモリ側のリザーブコード（バイトコード＃１５，＃１６）に対応するディスク側のバイトコード＃１５，＃１６を無視する。すなわち、フラッシュメモリ側のバイトコード＃１〜＃１４と、ディスク側のバイトコード＃１〜＃１４とを比較し、それらがすべて一致していれば、ディスクのファームウェアが対応機種のファームウェアであると判定して書換え動作を開始する。【選択図】図３
2006172176.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリに格納された装置本体の基本的な制御を行なうファームウェアを、ディスクを用いて書換えることができるディスク装置であって、
前記不揮発性メモリおよび前記ディスクの各々に格納された第１および第２のファームウェアは、それぞれ対象とするハードウェアの属性を示し、“０１”から“ＦＦ”までの１６進数の数字で示されるバイトコードで構成され、互いに異なるコード長を有する第１および第２の属性コードを含み、
前記第１および第２のファームウェアのうちの一方は、対応する属性コードのコード長を補足して他方の属性コードのコード長と一致させるための、“００”で示されるバイトコードで構成されるリザーブコードをさらに含み、
ファームウェアの書換えが指示されたことに応じて、前記リザーブコードに対応するバイトコードを無視して前記第１の属性コードと前記第２の属性コードとを比較し、それらが一致している場合は、前記第２のファームウェアが対応可能なファームウェアであると判定して書換え動作を開始し、それらが一致していない場合は、前記第２のファームウェアが対応可能なファームウェアでないと判定して書換え動作を中止する書換え手段を備える、ディスク装置。
【請求項２】
不揮発性メモリに格納された装置本体の基本的な制御を行なうファームウェアを、ディスクを用いて書換えることができるディスク装置であって、
前記不揮発性メモリおよび前記ディスクの各々に格納された第１および第２のファームウェアは、それぞれ対象とするハードウェアの属性を示し、互いに異なるコード長を有する第１および第２の属性コードを含み、
前記第１および第２のファームウェアのうちの少なくとも一方は、対応する属性コードのコード長を補足して他方の属性コードのコード長と一致させるためのリザーブコードをさらに含み、
ファームウェアの書換えが指示されたことに応じて、前記リザーブコードに対応するコードを無視して前記第１の属性コードと前記第２の属性コードとを比較し、それらが一致している場合は、前記第２のファームウェアが対応可能なファームウェアであると判定して書換え動作を開始し、それらが一致していない場合は、前記第２のファームウェアが対応可能なファームウェアでないと判定して書換え動作を中止する書換え手段を備える、ディスク装置。
【請求項３】
前記第１および第２の属性コードは、それぞれ“０１”から“ＦＦ”までの１６進数の数字で示されるバイトコードで構成され、
前記リザーブコードは、“００”で示されるバイトコードで構成される、請求項２に記載のディスク装置。
【請求項４】
不揮発性メモリに格納された装置本体の基本的な制御を行なうファームウェアを、ディスクを用いて書換える場合において、前記ディスクに格納されたファームウェアが対応可能なファームウェアであるか否かを判定するファームウェアの判定方法であって、
前記不揮発性メモリおよび前記ディスクの各々に格納された第１および第２のファームウェアは、それぞれ対象とするハードウェアの属性を示し、互いに異なるコード長を有する第１および第２の属性コードを含み、
前記第１および第２のファームウェアのうちの少なくとも一方は、対応する属性コードのコード長を補足して他方の属性コードのコード長と一致させるためのリザーブコードをさらに含み、
ファームウェアの書換えが指示されたことに応じて、前記リザーブコードに対応するコードを無視して前記第１の属性コードと前記第２の属性コードとを比較し、それらが一致している場合は、前記第２のファームウェアが対応可能なファームウェアであると判定し、それらが一致していない場合は、前記第２のファームウェアが対応可能なファームウェアでないと判定する、ファームウェアの判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディスク装置およびファームウェアの判定方法に関し、特に、ディスクを用いてファームウェアの書換えを行なうことができるディスク装置、および対応可能なファームウェアであるか否かを判定するファームウェアの判定方法に関する。
【背景技術】
【０００２】
ディスク装置には、ハードウェアの基本的な制御を行なうファームウェアが予め装置本体に搭載される。ファームウェアは、システムの電源投入直後に実行するプログラムとしてフラッシュメモリ（不揮発性メモリ）に記憶され、予め装置本体に組込まれるソフトウェアである。このファームウェアは、ハードウェアの一部として機能する。そして、装置の機能の変更や不具合の修正が必要な場合には、ファームウェアを書換えるバージョンアップ（更新）を行なう。
【０００３】
ファームウェアは、対象とするハードウェアの属性を特定するＨＷコード（ハードウェアコード）を含む。ディスク装置には多数の機種（モデル）が存在し、機種によってＨＷコードが異なる。書換え用（新しいバージョン）のファームウェアが格納されたディスクを用いて、ディスク装置内のファームウェアをバージョンアップする場合、ディスクを装置本体に挿入し、装置内のファームウェアのＨＷコードとディスクのファームウェアのＨＷコードとを比較して、それらが一致していれば（同一機種のファームウェアであれば）ファームウェアの書換え動作を行なう。
【０００４】
下記の特許文献１には、どのような場合に装置内のプログラムを書き換えるかの判断ルーチンをカードメモリ側に格納し、装置がカードメモリ上で判断ルーチンを実行させてバージョンアップの要否を判定するようにしたことによって、製品出荷後の種々の環境の変化に応じて個別に適切な対応が可能である情報処理装置が開示されている。
【特許文献１】特開２０００−２０７１８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
機種Ａおよび機種Ｂのディスク装置はそれぞれ同様の機能を有するが、たとえば各々のフラッシュメモリの容量が異なり、各々のフラッシュメモリに格納されるファームウェアのＨＷコードが異なるものとする。この場合、機種Ｂのディスク装置に対応した新しいバージョンのファームウェアが格納されたディスクを用いて、機種Ａのディスク装置のファームウェアのバージョンアップを行ないたい場合でも、それらのＨＷコードが異なるためバージョンアップを行なうことができなかった。これは、ＨＷコードが異なれば対応機種のファームウェアではないと判断されてしまうからである。このため、別機種のディスク装置であっても、対応機種のディスク装置であればファームウェアのバージョンアップを行なえるように、ファームウェアの互換性を向上させる必要がある。
【０００６】
それゆえに、この発明の主たる目的は、バージョンアップ時におけるファームウェアの互換性がよいディスク装置およびファームウェアの判定方法を提供することである。
【課題を解決するための手段】
【０００７】
この発明に係わるディスク装置は、不揮発性メモリに格納された装置本体の基本的な制御を行なうファームウェアを、ディスクを用いて書換えることができるディスク装置であって、不揮発性メモリおよびディスクの各々に格納された第１および第２のファームウェアは、それぞれ対象とするハードウェアの属性を示し、“０１”から“ＦＦ”までの１６進数の数字で示されるバイトコードで構成され、互いに異なるコード長を有する第１および第２の属性コードを含み、第１および第２のファームウェアのうちの一方は、対応する属性コードのコード長を補足して他方の属性コードのコード長と一致させるための、“００”で示されるバイトコードで構成されるリザーブコードをさらに含み、ファームウェアの書換えが指示されたことに応じて、リザーブコードに対応するバイトコードを無視して第１の属性コードと第２の属性コードとを比較し、それらが一致している場合は、第２のファームウェアが対応可能なファームウェアであると判定して書換え動作を開始し、それらが一致していない場合は、第２のファームウェアが対応可能なファームウェアでないと判定して書換え動作を中止する書換え手段を備える。
【０００８】
この発明に係わる他のディスク装置は、不揮発性メモリに格納された装置本体の基本的な制御を行なうファームウェアを、ディスクを用いて書換えることができるディスク装置であって、不揮発性メモリおよびディスクの各々に格納された第１および第２のファームウェアは、それぞれ対象とするハードウェアの属性を示し、互いに異なるコード長を有する第１および第２の属性コードを含み、第１および第２のファームウェアのうちの少なくとも一方は、対応する属性コードのコード長を補足して他方の属性コードのコード長と一致させるためのリザーブコードをさらに含み、ファームウェアの書換えが指示されたことに応じて、リザーブコードに対応するコードを無視して第１の属性コードと第２の属性コードとを比較し、それらが一致している場合は、第２のファームウェアが対応可能なファームウェアであると判定して書換え動作を開始し、それらが一致していない場合は、第２のファームウェアが対応可能なファームウェアでないと判定して書換え動作を中止する書換え手段を備える。
【０００９】
また好ましくは、第１および第２の属性コードは、それぞれ“０１”から“ＦＦ”までの１６進数の数字で示されるバイトコードで構成される。リザーブコードは、“００”で示されるバイトコードで構成される。
【００１０】
この発明に係わるファームウェアの判定方法は、不揮発性メモリに格納された装置本体の基本的な制御を行なうファームウェアを、ディスクを用いて書換える場合において、ディスクに格納されたファームウェアが対応可能なファームウェアであるか否かを判定するファームウェアの判定方法であって、不揮発性メモリおよびディスクの各々に格納された第１および第２のファームウェアは、それぞれ対象とするハードウェアの属性を示し、互いに異なるコード長を有する第１および第２の属性コードを含み、第１および第２のファームウェアのうちの少なくとも一方は、対応する属性コードのコード長を補足して他方の属性コードのコード長と一致させるためのリザーブコードをさらに含み、ファームウェアの書換えが指示されたことに応じて、リザーブコードに対応するコードを無視して第１の属性コードと第２の属性コードとを比較し、それらが一致している場合は、第２のファームウェアが対応可能なファームウェアであると判定し、それらが一致していない場合は、第２のファームウェアが対応可能なファームウェアでないと判定する。
【発明の効果】
【００１１】
この発明に係わるディスク装置では、不揮発性メモリおよびディスクの各々に格納された第１および第２のファームウェアは、それぞれ対象とするハードウェアの属性を示し、互いに異なるコード長を有する第１および第２の属性コードを含み、第１および第２のファームウェアのうちの少なくとも一方は、対応する属性コードのコード長を補足して他方の属性コードのコード長と一致させるためのリザーブコードをさらに含み、ファームウェアの書換えが指示されたことに応じて、リザーブコードに対応するコードを無視して第１の属性コードと第２の属性コードとを比較し、それらが一致している場合は、第２のファームウェアが対応可能なファームウェアであると判定して書換え動作を開始し、それらが一致していない場合は、第２のファームウェアが対応可能なファームウェアでないと判定して書換え動作を中止する書換え手段が設けられる。したがって、第１および第２の属性コードのコード長が互いに異なる場合でも、書換え動作を行なうことが可能になる。このため、対応機種のディスク装置であればファームウェアのバージョンアップを行なうことが可能になり、ファームウェアの互換性が向上する。
【００１２】
この発明に係わるファームウェアの判定方法では、不揮発性メモリおよびディスクの各々に格納された第１および第２のファームウェアは、それぞれ対象とするハードウェアの属性を示し、互いに異なるコード長を有する第１および第２の属性コードを含み、第１および第２のファームウェアのうちの少なくとも一方は、対応する属性コードのコード長を補足して他方の属性コードのコード長と一致させるためのリザーブコードをさらに含み、ファームウェアの書換えが指示されたことに応じて、リザーブコードに対応するコードを無視して第１の属性コードと第２の属性コードとを比較し、それらが一致している場合は、第２のファームウェアが対応可能なファームウェアであると判定し、それらが一致していない場合は、第２のファームウェアが対応可能なファームウェアでないと判定する。したがって、第１および第２の属性コードのコード長が互いに異なる場合でも、書換え動作を行なうことが可能になる。このため、対応機種のディスク装置であればファームウェアのバージョンアップを行なうことが可能になり、ファームウェアの互換性が向上する。
【発明を実施するための最良の形態】
【００１３】
［実施の形態１］
図１は、この発明の実施の形態１によるディスク装置１の概略構成を示すブロック図である。図１において、このディスク装置１は、内部バス１１と、ＣＰＵ（中央処理装置）１２と、フラッシュメモリ１３と、ＳＤＲＡＭ（同期型ＤＲＡＭ）１４とを備える。ディスク装置１において、内部バス１１を介して、ＣＰＵ１２にフラッシュメモリ１３とＳＤＲＡＭ１４とが接続されている。ＣＰＵ１２は、ディスク装置１の全体動作を制御する。ディスク装置１にバージョンアップ用のディスク２が挿入されると、内部バス１１を介してディスク２の読込動作が行なわれる。
【００１４】
フラッシュメモリ１３には、ファームウェアが予め格納される。ファームウェアは、ハードウェアの基本的な制御を行なうプログラムとして、予め装置本体に搭載されているソフトウェアである。このファームウェアは、ハードウェアの一部として機能する。ＣＰＵ１２は、フラッシュメモリ１３に格納されたファームウェアを実行することによって、装置本体のメイン機能を発揮する。このフラッシュメモリ１３は、書換え可能な不揮発性メモリである。そして、装置の機能の変更や不具合の修正が必要な場合には、ファームウェアを書換えるバージョンアップを実行する。
【００１５】
フラッシュメモリ１３に格納されたファームウェアをバージョンアップする場合、書換え用（新しいバージョン）のファームウェアが格納されたディスク２をディスク装置１に挿入する。ＣＰＵ１２は、ディスク２のファームウェアを一旦ＳＤＲＡＭ１４に読込む。そして、ＳＤＲＡＭ１４に読込まれたファームウェアとフラッシュメモリ１３のファームウェアとを比較する。比較した結果、ＳＤＲＡＭ１４に読込まれたファームウェアが対応機種のファームウェアであれば、そのファームウェアをＳＤＲＡＭ１４からフラッシュメモリ１３へ転送する。このようにして、フラッシュメモリ１３に格納されたファームウェアを書換えるバージョンアップが行なわれる。
【００１６】
図２は、ファームウェアのバージョンアップ動作について説明するための図である。図２を参照して、機種Ｂのディスク装置に対応した新しいバージョンのファームウェアが格納されたディスク２を用いて、機種Ａのディスク装置１のファームウェアのバージョンアップを行なう。フラッシュメモリ１３に格納された機種Ａのファームウェアとディスク２に格納された機種Ｂのファームウェアは、それぞれ対象とするハードウェアの属性を特定するＨＷコードを含む。ここで、機種Ａおよび機種Ｂのディスク装置はそれぞれ同様の機能を有するが、たとえば各々のフラッシュメモリの容量が異なり、各々のフラッシュメモリに格納されるファームウェアのＨＷコードが異なるものとする。フラッシュメモリ１３のファームウェアのバージョンアップを行なう場合、まずフラッシュメモリ１３のファームウェアのＨＷコードと、ディスク２のファームウェアのＨＷコードとに基づいて、ディスク２のファームウェアが対応する機種のファームウェアであるか否かを判定する。対応機種のファームウェアであると判定された場合、ディスク２のファームウェアが新しいバージョンであることを確認した後、フラッシュメモリ１３のファームウェアを新しいバージョンのファームウェアに書換える。
【００１７】
図３は、フラッシュメモリ１３のファームウェアのＨＷコードおよびディスク２のファームウェアのＨＷコードの構成を示す図である。図３を参照して、フラッシュメモリ１３のファームウェアのＨＷコードおよびディスク２のファームウェアのＨＷコードは、それぞれ“００”〜“ＦＦ”の１６進数の数字で示される１バイト（２桁）のバイトコード（項目）＃１〜＃１６で構成される。フラッシュメモリ１３のＨＷコードは、それぞれ“０１”〜“ＦＦ”の１６進数の数字で示されるバイトコード＃１〜＃１４で構成される属性コードを含む。この属性コードは、機種Ａのハードウェアの属性を実質的に示すコードである。また、フラッシュメモリ１３のＨＷコードは、それぞれ“００”で示されるバイトコード＃１５，＃１６で構成されるリザーブコードをさらに含む。このリザーブコードは、機種Ａのハードウェアの属性を実質的に示さない余分なコードである。
【００１８】
ディスク２のＨＷコードは、それぞれ“０１”〜“ＦＦ”の１６進数の数字で示されるバイトコード＃１〜＃１５で構成される属性コードを含む。この属性コードは、機種Ｂのハードウェアの属性を実質的に示すコードである。また、ディスク２のＨＷコードは、“００”で示されるバイトコード＃１６で構成されるリザーブコードをさらに含む。このリザーブコードは、機種Ｂのハードウェアの属性を実質的に示さない余分なコードである。
【００１９】
このように、フラッシュメモリ１３側の属性コードのコード長（１４）と、ディスク２側の属性コードのコード長（１５）とは異なる。そこで、フラッシュメモリ１３側にコード長（２）のリザーブコードを設け、ディスク２側にコード長（１）のリザーブコードを設けることによって、フラッシュメモリ１３およびディスク２のＨＷコードのコード長を一致させている。
【００２０】
ＣＰＵ１２は、ディスク２が装置本体に挿入されてファームウェアの書換えが指示されたことに応じて、フラッシュメモリ１３のファームウェアのＨＷコードとディスク２のファームウェアのＨＷコードとを、バイトコード単位で順番にチェックしていく。そして、ディスク２のファームウェアが対応する機種のファームウェアであるか否かを判定する。
【００２１】
図４は、ディスク２のファームウェアが対応機種のファームウェアであるか否かを判定する動作について説明するためのフローチャートである。図４を参照して、ステップＳ１において、ＣＰＵ１２は、ディスク２のファームウェアをＳＤＲＡＭ１４に読込む。次にステップＳ２において、フラッシュメモリ１３に格納されたファームウェアのＨＷコードと、読取ったディスク２のファームウェアのＨＷコードとをバイトコード単位で順番にチェックする。
【００２２】
ステップＳ３において、フラッシュメモリ１３およびディスク２の対応する２つのバイトコードのうち少なくとも一方のバイトコードが“００”であるか否かを判定する。ここで、２つのバイトコードがともに“００”でなければ（ＮＯ）、ステップＳ４に進む。一方、２つのバイトコードのうち少なくとも一方のバイトコードが“００”であれば（ＹＥＳ）、ステップＳ５に進む。
【００２３】
ステップＳ４において、フラッシュメモリ１３およびディスク２の対応する２つのバイトコードを比較する。ここで、２つのバイトコードが一致している場合は（ＹＥＳ）、ステップＳ５に進む。一方、２つのバイトコードが一致していない場合は（ＮＯ）、ステップＳ６に進み、ディスク２のファームウェアは対応機種のファームウェアでないと判定して、バージョンアップ動作を中止する。
【００２４】
ステップＳ５において、未だ所定数のバイトコードのチェックがすべて終了していない場合は（ＮＯ）、ステップＳ２に戻って、次のバイトコードをチェックする。一方、所定数のバイトコードのチェックがすべて終了した場合は（ＹＥＳ）、ステップＳ７に進み、ディスク２のファームウェアは対応機種のファームウェアであると判定して、バージョンアップ動作を開始する。そして、ディスク２のファームウェアが新しいバージョンであることを確認した後、フラッシュメモリ１３のファームウェアを新しいバージョンのファームウェアに書換える。
【００２５】
これらのステップＳ２〜Ｓ７までの動作を、図３を参照しながらより詳細に説明する。まず、フラッシュメモリ１３のファームウェアのＨＷコードおよびディスク２のファームウェアのＨＷコードの各々の１番目のバイトコード＃１をチェックする。すなわち、フラッシュメモリ１３のバイトコード＃１“０２”とディスク２のバイトコード＃１“０２”をチェックする（ステップＳ２）。ここで、各々のバイトコード＃１がともに“００”でないため、続けて各々のバイトコード＃１を比較する（ステップＳ３，Ｓ４）。ここで、各々のバイトコード＃１が一致しているため、次に２番目のバイトコード＃２をチェックする（ステップＳ５，Ｓ２）。すなわち、フラッシュメモリ１３のバイトコード＃２“０１”とディスク２のバイトコード＃２“０１”をチェックする（ステップＳ２）。ここで、各々のバイトコード＃２がともに“００”でないため、続けて各々のバイトコード＃２を比較する（ステップＳ３，Ｓ４）。ここで、各々のバイトコード＃２が一致しているため、次に３番目のバイトコード＃３をチェックする（ステップＳ５，Ｓ２）。１４番目のバイトコード＃１４までは、すべて一致しているため同様の動作が繰返される。次に、１５番目のバイトコード＃１５をチェックする（ステップＳ２）。すなわち、フラッシュメモリ１３のバイトコード＃１５“００”とディスク２のバイトコード＃１５“０２”をチェックする（ステップＳ２）。ここで、フラッシュメモリ１３のバイトコード＃１５が“００”であるため、各々のバイトコード＃１５の比較を行なわない（ステップＳ３，Ｓ５）。次に、１６番目のバイトコード＃１６をチェックする（ステップＳ２）。すなわち、フラッシュメモリ１３のバイトコード＃１６“００”とディスク２のバイトコード＃１６“００”をチェックする（ステップＳ２）。ここで、フラッシュメモリ１３のバイトコード＃１６およびディスク２のバイトコード＃１６がともに“００”であるため、各々のバイトコード＃１６の比較を行なわない（ステップＳ３，Ｓ５）。ここで、所定数（１６個）のバイトコードのチェックがすべて終了したことに応じて、ディスク２のファームウェアが対応機種のファームウェアであると判定して（ステップＳ７）、バージョンアップ動作を開始する。そして、ディスク２のファームウェアが新しいバージョンであることを確認した後、フラッシュメモリ１３のファームウェアを新しいバージョンのファームウェアに書換える。
【００２６】
以上のように、この実施の形態１では、フラッシュメモリ１３のＨＷコードのバイトコード＃１５，＃１６を、対象とするハードウェアの属性を実質的に示さない余分なリザーブコードとする。そして、ディスク２のファームウェアが対応機種のファームウェアであるか否かの判定の際に、フラッシュメモリ１３側のリザーブコード（バイトコード＃１５，＃１６）に対応するディスク２側のバイトコード＃１５，＃１６を無視する。すなわち、フラッシュメモリ１３側のバイトコード＃１〜＃１４と、ディスク２側のバイトコード＃１〜＃１４とを比較し、それらがすべて一致していれば、ディスク２のファームウェアが対応機種のファームウェアであると判定する。
【００２７】
従来のディスク装置は、機種Ｂのディスク装置に対応した新しいバージョンのファームウェアが格納されたディスク２を用いて、機種Ａのディスク装置１のファームウェアのバージョンアップを行ないたい場合でも、それらのＨＷコードが異なるためバージョンアップを行なうことができなかった。これは、ディスク２側の属性コードのコード長（１５）がフラッシュメモリ１３側の属性コードのコード長（１４）よりも長いため、ディスク２のファームウェアが対応機種のファームウェアではないと判定されていたからである。しかし、この実施の形態１では、ディスク２側の属性コードとフラッシュメモリ１３側の属性コードのコード長が互いに異なる場合でも、書換え動作を行なうことが可能になる。このため、対応機種のディスク装置であればファームウェアのバージョンアップを行なうことが可能になり、ファームウェアの互換性が向上する。
【００２８】
［実施の形態１の変更例］
図５は、この発明の実施の形態１の変更例によるフラッシュメモリ１３のファームウェアのＨＷコードおよびディスク２のファームウェアのＨＷコードの構成を示す図であって、図３と対比される図である。図５を参照して、図３と異なる点は、ディスク２のＨＷコードのバイトコード＃１４，＃１５が“００”になっている点である。なお、図５において、図３と対応する部分においては、その詳細説明を省略する。
【００２９】
この場合、機種Ｃのディスク装置に対応した新しいバージョンのファームウェアが格納されたディスク２のＨＷコードのバイトコード＃１４〜＃１６は、ファームウェアの属性を実質的に示さない余分なリザーブコードである。そして、ディスク２のファームウェアが対応機種のファームウェアであるか否かの判定の際に、ディスク２側のリザーブコード（バイトコード＃１４〜＃１６）に対応するフラッシュメモリ１３側のバイトコード＃１４〜＃１６を無視する。すなわち、フラッシュメモリ１３側のバイトコード＃１〜＃１３と、ディスク２側のバイトコード＃１〜＃１３とを比較し、それらがすべて一致していれば、ディスク２のファームウェアが対応機種のファームウェアであると判定される。
【００３０】
従来のディスク装置では、機種Ｃのディスク装置に対応した新しいバージョンのファームウェアが格納されたディスク２を用いて、機種Ａのディスク装置１のファームウェアのバージョンアップを行ないたい場合でも、それらのＨＷコードが異なるためバージョンアップを行なうことができなかった。これは、ディスク２側の属性コードのコード長（１３）がフラッシュメモリ１３側の属性コードのコード長（１４）よりも短いため、ディスク２のファームウェアが対応機種のファームウェアではないと判定されていたからである。しかし、この実施の形態１の変更例では、ディスク２側の属性コードとフラッシュメモリ１３側の属性コードのコード長が互いに異なる場合でも、書換え動作を行なうことが可能になる。このため、対応機種のディスク装置であればファームウェアのバージョンアップを行なうことが可能になり、ファームウェアの互換性が向上する。
【００３１】
なお、ここではＨＷコードのコード長が１６である場合について説明したが、このＨＷコードのコード長は任意である。また、属性コードのコード長およびリザーブコードのコード長もそれぞれ任意である。
【００３２】
また、ここでは、リザーブコードがＨＷコードの末尾部分に設けられる場合について説明したが、このリザーブコードをＨＷコードの中央部分など任意の部分に設けてもよい。この場合も同様の効果が得られる。
【００３３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００３４】
【図１】この発明の実施の形態１によるディスク装置の概略構成を示すブロック図である。
【図２】ファームウェアのバージョンアップ動作について説明するための図である。
【図３】フラッシュメモリのファームウェアのＨＷコードおよびディスクのファームウェアのＨＷコードの構成を示す図である。
【図４】ディスクのファームウェアが対応機種のファームウェアであるか否かを判定する動作について説明するためのフローチャートである。
【図５】実施の形態１の変更例によるフラッシュメモリのファームウェアのＨＷコードおよびディスクのファームウェアのＨＷコードの構成を示す図である。
【符号の説明】
【００３５】
１  ディスク装置、２  ディスク、１１  内部バス、１２  ＣＰＵ、１３  フラッシュメモリ、１４  ＳＤＲＡＭ。
【図１】
2006172176.tif 000003
【図２】
2006172176.tif 000004
【図３】
2006172176.tif 000005
【図４】
2006172176.tif 000006
【図５】
2006172176.tif 000007