JP2004287979A - Disk controller and method for updating control program for disk device - Google Patents
Disk controller and method for updating control program for disk device Download PDFInfo
- Publication number
- JP2004287979A JP2004287979A JP2003080749A JP2003080749A JP2004287979A JP 2004287979 A JP2004287979 A JP 2004287979A JP 2003080749 A JP2003080749 A JP 2003080749A JP 2003080749 A JP2003080749 A JP 2003080749A JP 2004287979 A JP2004287979 A JP 2004287979A
- Authority
- JP
- Japan
- Prior art keywords
- control program
- disk device
- update
- disk
- hdd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、複数のディスク装置を備えたストレージ装置において当該複数のディスク装置を制御するディスク制御装置に係り、特に各ディスク装置でそれぞれ実行されるディスク装置用制御プログラムを更新するのに好適なディスク制御装置及びディスク装置用制御プログラムの更新方法に関する。
【0002】
【従来の技術】
近年、計算機システムでは、当該システムの外部記憶装置として、複数のディスク装置を備えた、ディスクアレイ装置に代表される大容量のストレージ装置が用いられることが多くなっている。このストレージ装置内の各ディスク装置には、一般にハードディスクドライブ(以下、HDDと称する)が用いられる。各HDDは、それぞれHDD用の制御プログラム(HDDファームウェア)に従って動作する。また、ストレージ装置内の複数のHDDの各々は、当該ストレージ装置を外部記憶装置として利用するホスト計算機からは個々に認識されず、当該複数のHDD全体が例えば1つのディスク(論理ディスク)として認識される。
【0003】
従来、ストレージ装置内の各HDDでそれぞれ実行されるHDD用制御プログラムを更新する方法として、以下に述べる2つの方法のいずれかが適用されるのが一般的である。
【0004】
第1の更新方法では、まず、ストレージ装置内の各HDDが、当該ストレージ装置から1台ずつ取り外される。取り外されたHDDは専用の治具に接続される。この状態で、プログラム更新の対象となるHDDが有するプログラム(ファームウェア)更新手段が起動される。するとプログラム更新手段は、更新用の制御プログラムを対象となるHDDへ適用し、現在のHDD用制御プログラム(ファームウェア)を新HDD用制御プログラム(新ファームウェア)に更新する。この第1の更新方法は最も汎用的な方法であり、複数のHDDを含むストレージ装置に特殊な仕組みを加える必要はない。しかし、この第1の更新方法では、1台ずつHDDの取り外しを行う手間(作業時間が長時間化)や、HDDの抜き差しに起因する嵌合不良や実装位置の間違いなど、作業ミスを誘発する危険が大きい。
【0005】
次に、第2の更新方法は、ストレージ装置が稼動している状態で、プログラム更新の対象となるHDDを含む論理ディスクを一時的にオフラインとすることにより、当該論理ディスクに外部(ホスト計算機など)からアクセスできない状態に設定する。この状態では、プログラム更新の対象となるHDDに外部からアクセスできない。そこで、この状態で、更新の対象となるHDD用制御プログラムを更新する。この第2の更新方法は、ストレージ装置の部分的な停止のみでHDD用制御プログラムを更新できる点で優れている。しかし、この第2の更新方法を実現するためには、以下に述べるように、ディスク制御装置の動作に必要なプログラム(ディスク制御装置用制御プログラム)などに相当量の処理の作りこみが必要となる。まず、HDDが有するプログラム(ファームウェア)更新手段では、HDDの一時的な停止(モータ停止)を含む更新処理に数十秒以上を要する。このため、例えばHDDへのホスト計算機からのアクセス以外に、内部的なパトロール処理など、全てのアクセスを抑止する特別な仕組みを作り込む必要がある。したがって、ディスク制御装置用制御プログラムが非常に複雑となる。また、HDDが有するプログラム更新手段の処理手順は、当該HDDのメーカ或いは製品により異なっていることが多く、必要な処理時間も異なる。このことが、更にディスク制御装置用制御プログラムを複雑にする。
【0006】
一方、ディスク制御装置(ディスクアレイ制御装置)用制御プログラムを、ディスクアレイ内の1つのHDDの所定領域に格納しておき、装置の電源投入時に、当該所定領域から制御プログラムを読み出して、ディスク制御装置(ディスクアレイ制御装置)のメインメモリをなすRAMにロードすることにより、当該制御プログラムの実行を可能とするディスクアレイ装置が知られている(例えば、特許文献1参照)。このディスクアレイ装置においては、外部接続ポートを介して接続された外部装置から更新用の制御プログラムを受け取って、当該プログラムを上記所定領域に書き込んでおくことにより、次に当該ディスクアレイ装置の電源が投入された際に、ディスク制御装置用の制御プログラムを更新する技術が適用される。この特許文献1に記載されたプログラム更新方法においては、ディスク制御装置用の制御プログラムを、ディスクアレイ装置を停止させることなく当該装置の電源投入時に自動的に更新できる。
【0007】
【特許文献1】
特開平9−101887号公報(段落0022〜0024,段落0041〜0045、図1、図2)
【0008】
【発明が解決しようとする課題】
上記したように、複数のHDD(ディスク装置)を備えた従来のストレージ装置において、各HDDでそれぞれ実行されるHDD用制御プログラムを更新する方法として、第1及び第2の更新方法が知られている。しかし、第1の更新方法は、ストレージ装置に特殊な仕組みを加える必要はないものの、作業ミスを誘発する危険が大きいという問題がある。一方、第2の更新方法は、ストレージ装置の部分的な停止のみでHDD用制御プログラムを更新できる点で優れているものの、ディスク制御装置用プログラムが非常に複雑となるという問題がある。
【0009】
一方、特許文献1に記載された、ディスク制御装置用制御プログラムの更新方法によれば、ディスク制御装置用制御プログラムを、ディスクアレイ装置を停止させることなく更新することができる。そこで、特許文献1に記載されたプログラム更新方法をディスク装置用制御プログラム(HDD用制御プログラム)の更新に適用することが考えられる。しかし、ディスク装置(HDD)が有するプログラム更新手段の処理手順は、当該ディスク装置のメーカ或いは製品により異なっていることが多く、必要な処理時間も異なることから、上記第2の更新方法と同様に、ディスク制御装置用制御プログラムが複雑となる。
【0010】
本発明は上記事情を考慮してなされたものでその目的は、ストレージ装置が有する複数のディスク装置の各々でそれぞれ実行されるディスク装置用の制御プログラムを更新するための処理手順または処理時間が異なっていても、当該ディスク装置用の制御プログラムを、ディスク制御装置用の制御プログラムを複雑にすることなく安全に更新できる、ディスク制御装置及びディスク装置用制御プログラムの更新方法を提供することにある。
【0011】
【課題を解決するための手段】
本発明の1つの観点によれば、ディスク装置用制御プログラムに従って動作する複数のディスク装置を備え、当該ディスク装置には当該ディスク装置用制御プログラムの更新に用いられる更新用制御プログラムを保存するための更新用制御プログラム保存領域が確保されているストレージ装置に適用されて、上記複数のディスク装置を制御するディスク制御装置が提供される。このディスク制御装置は、外部装置から転送された、ディスク装置用制御プログラムの更新の対象となるディスク装置が識別可能な更新対象ディスク装置情報を含むヘッダ情報が付加された更新用制御プログラムの受信時に、少なくとも上記更新対象ディスク装置情報に基づいて、上記複数のディスク装置のうちの更新対象となるディスク装置を決定する手段と、この決定手段により決定されたディスク装置の更新用制御プログラム保存領域に、上記受信された更新用制御プログラムを保存する手段と、上記ディスク装置の起動時に、当該ディスク装置上で動作するディスク装置用の制御プログラムの更新に用いられるべき更新用制御プログラムが当該ディスク装置の更新用制御プログラム保存領域に保存されていることを判別する手段と、この判別手段の判別結果に応じ、上記ディスク装置の更新用制御プログラム保存領域に保存されている更新用制御プログラムにより、当該ディスク装置で動作するディスク装置用制御プログラムを更新する手段とを備えたことを特徴とする。
【0012】
上記構成のディスク制御装置においては、外部装置(例えば、ホスト計算機、或いは保守端末)から受信した更新用制御プログラムが、当該プログラムに付加されているヘッダ情報中の更新対象ディスク装置情報に基づいて決定される更新の対象となるディスク装置の更新用制御プログラム保存領域に一時的に保存される。そして上記構成のディスク制御装置においては、次にストレージ装置全体または当該ストレージ装置内の各ディスク装置が起動される際に、当該ディスク装置上で動作するディスク装置用制御プログラムの更新に用いられるべき更新用制御プログラムが当該ディスク装置の更新用制御プログラム保存領域に保存されているならば、その更新用制御プログラムを用いて、ディスク装置で動作するディスク装置用制御プログラムが更新される。
【0013】
このように上記構成のディスク制御装置においては、ストレージ装置の各ディスク装置を起動する起動処理の中でディスク装置用制御プログラムが更新されるため、当該ストレージ装置のオンライン状態におけるディスク装置用制御プログラムの更新と比べ安全に且つ簡単に行うことができる。しかも上記構成のディスク制御装置においては、ディスク装置の更新用制御プログラム保存領域に更新用制御プログラムを保存しておくだけで、あとはシステムの都合に合わせてストレージ装置を改めて起動した際に自動的に制御プログラムの更新が行われる。このため、特別なシステムオペレーションなどの作業を必要としない。
【0014】
また、上記構成のディスク制御装置においては、当該ディスク制御装置で受信された更新用制御プログラムが適用可能なディスク装置が、当該更新用制御プログラムに付されている更新対象ディスク装置情報に従って精度良く特定される。このため、ストレージ装置内の複数のディスク装置が必ずしも同一メーカ製の同一製品型番のディスク装置でなくても、更新対象ディスク装置情報に従って特定されたディスク装置を対象に当該ディスク装置の制御プログラムを確実に更新できる。
【0015】
ここで、上記保存手段が、ディスク装置の更新用制御プログラム保存領域に更新用制御プログラムを保存する際に、当該ディスク装置で動作するディスク装置用制御プログラムを当該保存される更新用制御プログラムにより更新すべきことを示す「更新あり」指定状態のフラグ情報を当該更新用制御プログラム保存領域に保存する構成とするならば、上記判別手段は、ディスク装置の起動時に、当該ディスク装置の更新用制御プログラム保存領域に上記「更新あり」指定状態のフラグ情報が保存されているか否かにより、当該ディスク装置上で動作するディスク装置用の制御プログラムの更新に用いられるべき更新用制御プログラムが当該更新用制御プログラム保存領域に保存されているか否かを簡単に判別できる。また、上記更新手段によるディスク装置用制御プログラムの更新に応じて、対応するディスク装置の更新用制御プログラム保存領域に保存されているフラグ情報の状態を、当該保存領域に保存されている更新用制御プログラムによる更新が不要なことを示す「更新なし」指定状態に変更する構成とするならば、不要なプログラム更新処理が発生するのを防止できる。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。図1は本発明の一実施形態に係るストレージ装置10の構成を示すブロック図である。図1のストレージ装置10は、主として、ディスク制御装置11と、複数のディスク装置、例えばn台のHDD(ハードディスクドライブ)12−1〜12−nとから構成される。ディスク制御装置11は、ストレージ装置10を利用するホスト計算機13からの指示(例えば、ホスト計算機13上のファイルシステムからのデータ読み出し/書き込みの指示)に応じて各HDD12−1〜12−nを制御することにより、当該HDDに対するデータの読み出し/書き込み及びホスト計算機13との間のデータ送受信を行う。HDD12−1〜12−nには、当該HDDの識別情報としてのHDD番号#1〜#nが割り当てられている。
【0017】
ディスク制御装置11は、ホスト計算機13の他に、保守コンソール14と接続されている。保守コンソール14は、ディスク制御装置11の状態監視、及び当該ディスク制御装置11への各種の設定操作を含む保守作業に用いられる端末(保守端末)である。
【0018】
ディスク制御装置11は、ホストインタフェース制御回路(以下、ホストI/Fと称する)20と、HDDインタフェース制御回路(以下、HDD I/Fと称する)21と、保守用コンソールインタフェース制御回路(以下、コンソールI/Fと称する)22と、CPU23と、バッファメモリ24と、プログラムメモリ25とを備えている。ホストI/F20は、SCSI(Small Computer System Interface)またはファイバチャネル(Fibre Channel)に代表されるホスト計算機接続用インタフェースの制御回路である。HDD I/F21は、SCSIまたはファイバチャネルに代表されるHDD接続用インタフェースの制御回路である。コンソールI/F22は、RS232CまたはLANに代表される保守コンソール接続用インタフェースの制御回路である。
【0019】
CPU23は、プログラムメモリ25に格納されたディスク制御装置用のプログラムコードに従い、ディスク制御装置11における各種処理動作を実行する。バッファメモリ24は、ホスト計算機13から指定された読み書きデータを一時的に保持するのに用いられる。プログラムメモリ25は、ディスク制御装置11の各種処理動作に関するプログラム(ディスク制御装置用プログラム)を格納するのに用いられる。プログラムメモリ25の一部領域は、CPU23が動作する上で使用するワーク領域に割り当てられる。本実施形態において、プログラムメモリ25は、ホスト計算機13または保守コンソール14からHDD用制御プログラム(以下、HDDファームウェアと称する)のデータが転送された際に、当該HDDファームウェアのデータを一時的に保持するバッファとして使用される。なお、HDDファームウェアのデータを一時的に保持するバッファとして、プログラムメモリ25に代えてバッファメモリ24を使用することも可能である。
【0020】
HDD12−i(i=1〜n)の記憶領域の一部は、ホスト計算機13または保守コンソール14から転送された当該HDD12用のファームウェア(HDDファームウェア)のデータを、そのファームウェアが当該HDD12に実際に適用されるまでの間保存しておくためのファームウェア保存領域26として割り当てられる。このファームウェア保存領域26はユーザ領域と区別して管理される。HDD12−iのユーザ領域は、当該HDD12−iの全領域から当該領域26を除いた領域となる。
【0021】
ディスク制御装置11(内のホストI/F20)は、SCSIまたはファイバチャネルに代表されるホスト計算機接続用インタフェース30を介してホスト計算機13と接続されている。またディスク制御装置11(内のHDD I/F21)は、SCSIまたはファイバチャネルに代表されるHDD接続用インタフェース31を介して各HDD12−1〜12−nと接続されている。またディスク制御装置11(内のホスト計算機13)は、RS232CまたはLANに代表される保守コンソール接続用インタフェース32を介して保守コンソール14と接続されている。ディスク制御装置11内のホストI/F20、HDD I/F21、コンソールI/F22、CPU23、バッファメモリ24及びプログラムメモリ25は、PCI(Peripheral Component Interconnect Bus)またはPCI−Xに代表される内部バス33により相互接続されている。
【0022】
図2は、ホスト計算機13または保守コンソール14からディスク制御装置11に転送されて当該ディスク制御装置11で受信された更新用のHDDファームウェアデータ40のデータ構造の一例と、HDD12−iのファームウェア保存領域26に一時的に保存される更新用のHDDファームウェアデータ41のデータ構造の一例とを対比して示す。
【0023】
HDDファームウェアデータ40は、図2(a)に示すように、ファームウェア本体42とヘッダ情報43とから構成される。ファームウェア本体42は、HDD12−iで動作するファームウェア(HDDファームウェア)を更新するのに用いられる更新用のファームウェア(更新ファームウェア)を構成する。ヘッダ情報43は、ファームウェア本体42に付加された固定サイズの情報であり、ホスト計算機13または保守コンソール14からHDDファームウェアデータ40を受信した際にディスク制御装置11で使用される。
【0024】
ヘッダ情報43は、HDD番号431とHDDタイプ情報432とレビジョン情報433とサイズ情報434を含む。HDD番号リスト431は、対応するファームウェア本体42が適用可能なHDD(更新対象HDD)12−iの識別情報としてのHDD番号(更新対象HDD番号)のリストを示す更新対象ディスク装置情報である。ここで、「適用」とは、受信したファームウェア本体42を一時的に対象HDD12−iのファームウェア保存領域26に保存し、次のストレージ装置10または当該HDD12−iの立ち上げ時にそのファームウェア本体42をファームウェア保存領域26から読み出して当該HDD12−iでの実行に供すること全体を示す。HDDタイプ情報432は、ファームウェア本体42が適用可能なHDD12−iのタイプを示し、対象HDD12−iのメーカ名及び製品コードを含む。
【0025】
レビジョン情報433は、ファームウェア本体42のレビジョンを示す。ファームウェア本体42には、当該ファームウェア本体42のレビジョンの情報が含まれている。しかし、ファームウェア本体42中のレビジョン情報の位置は、当該ファームウェア本体が適用されるHDD(のメーカ、製品コード)などによって異なり、ディスク制御装置11からは認識できない。そこで本実施形態では、ファームウェア本体42のレビジョンをディスク制御装置11から認識可能とするために、ファームウェア本体42に付加される固定サイズのヘッダ情報43中の所定位置に、当該ファームウェア本体42に含まれている当該ファームウェア本体42のレビジョンの情報がレビジョン情報433として設定される構成を適用している。サイズ情報434は、ファームウェア本体42のサイズを例えばバイト数で示す。
【0026】
一方、HDDファームウェアデータ41は、図2(b)に示すように、ファームウェア本体42’とヘッダ情報44とから構成される。ファームウェア本体42’はHDDファームウェアデータ40中のファームウェア本体42に一致する。ヘッダ情報44は、ファームウェア本体42’に付加された情報であり、ディスク制御装置11で受信されたHDDファームウェアデータ40中のファームウェア本体42をファームウェア本体42’として対象HDD12−iのファームウェア保存領域26に保存する際に生成されて使用される。ヘッダ情報44は、HDDファームウェアデータ40中のヘッダ情報43に含まれているレビジョン情報433及びサイズ情報434に一致するレビジョン情報433’及びサイズ情報434’と、実行フラグ441とを含む。実行フラグ441は、次のストレージ装置10またはHDD12−iの立ち上げ時に、当該HDD12−iのファームウェア保存領域26に保存されているファームウェア本体(更新用ファームウェア)42’により、当該HDD12−iで実行されるHDDファームウェアを更新するか否かを指示するのに用いられる。ここでは、実行フラグ441は、ONで“ファームウェア更新あり”を、OFFで“ファームウェア更新なし”を示す。
【0027】
次に、図1のストレージ装置10の動作について、(1)HDDファームウェア受信時の処理、(2)HDD起動処理を例に、順次説明する。
(1)HDDファームウェア受信時の処理
まず、ディスク制御装置11におけるHDDファームウェア受信時の処理について、図3のフローチャートを参照して説明する。今、ホスト計算機13または保守コンソール14からストレージ装置10のディスク制御装置11に対し、図2(a)に示すデータ構造の更新用のHDDファームウェアデータ40が転送(送信)され、当該ディスク制御装置11内のホストI/F20またはコンソールI/F22で受信されたものとする。なお、ディスク制御装置11に対してHDDファームウェアデータ40を転送する外部の装置は、ホスト計算機13または保守コンソール14に限らない。
【0028】
ディスク制御装置11内のコンソールI/F22で受信されたHDDファームウェアデータ40は、ディスク制御装置11内のプログラムメモリ25のバッファ領域に保持される。すると、ディスク制御装置11内のCPU23は、プログラムメモリ25に格納されているディスク制御装置用の制御プログラムに従ってHDDファームウェア受信時の処理を開始し、まずHDD番号#iを初期値1に設定する(ステップS1)。このHDD番号#iは、HDD接続用インタフェース31を介してディスク制御装置11と接続されているHDD12〜12−nの1つを指定する。次にCPU23は、プログラムメモリ25のバッファ領域に保持された受信HDDファームウェアデータ40中のヘッダ情報43に含まれているHDD番号リスト431を参照する(ステップS2)。そしてCPU23は、HDD番号#iに一致するHDD番号がHDD番号リスト431に含まれているか否かを判定する(ステップS3)。
【0029】
もし、HDD番号#iに一致するHDD番号がHDD番号リスト431に含まれているならば、CPU23は、当該HDD番号#iによって指定されるHDD12−iが受信HDDファームウェアデータ40に従うファームウェア更新の候補となるHDDであると判断する。この場合、CPU23は、HDD12−iで現在動作中のHDDファームウェアのレビジョン(現在のレビジョン)を確認する(ステップS4)。このレビジョン確認の方法については後述する。そしてCPU23は、確認された現在のレビジョンが、受信HDDファームウェアデータ40中のヘッダ情報43に含まれているレビジョン情報433の示すレビジョンに一致するか否かを判定する(ステップS5)。
【0030】
もし、上記両レビジョンが一致していないならば、CPU23は、プログラムメモリ25のバッファ領域に保持されている受信HDDファームウェアデータ40がHDD12−iに適用可能であると判断する。この場合、CPU23は、受信HDDファームウェアデータ40のファームウェア本体42をファームウェア本体42’として、HDD12−iのファームウェア保存領域26に保存する(ステップS6)。またCPU23は、“ファームウェア更新あり”指定状態(ON状態)に設定された実行フラグ441を含むヘッダ情報44をファームウェア保存領域26に保存して、当該ヘッダ情報44をファームウェア本体42’に付加する(ステップS7)。これにより、ファームウェア保存領域26に、ヘッダ情報44及びファームウェア本体42’を含むHDDファームウェアデータ41が保存されたことになる。ここで、ヘッダ情報44中のレビジョン情報433’及びサイズ情報434’には、プログラムメモリ25のバッファ領域に保持された受信HDDファームウェアデータ40中のヘッダ情報43に含まれているレビジョン情報433及びサイズ情報434が用いられる。
【0031】
次にCPU23は、HDD番号#iが最終HDD番号(ここではn)であるか否か、つまりHDD番号#iはHDD12−1〜12−nのうちのHDD12−nのHDD番号=nを指定しているか否かを判定する(S8)。もし、HDD番号#iが最終HDD番号でないならば、CPU23はHDD番号#iを1インクリメントして(ステップS9)、ステップS2に戻る。
【0032】
また、上記ステップS3でHDD番号#iに一致するHDD番号がHDD番号リスト431に含まれていないと判定された場合、CPU23は、プログラムメモリ25のバッファ領域に保持されている受信HDDファームウェアデータ40(中のファームウェア本体42)はHDD12−iに適用できないと判断する。この場合、CPU23は上記ステップS8に進み、HDD番号#iが最終HDD番号に一致しないならば、HDD番号#iを1インクリメントした後(ステップS9)、ステップS2に戻る。
【0033】
また、上記ステップS5で上記両レビジョンが一致していると判定された場合にも、CPU23は、上記受信HDDファームウェアデータ40はHDD12−iに適用できないと判断する。この場合、CPU23は上記ステップS8に進み、HDD番号#iが最終HDD番号に一致しないならば、HDD番号#iを1インクリメントした後(ステップS9)、ステップS2に戻る。
【0034】
このようにして、上記ステップS2から始まる処理が、HDD番号#iが最終HDD番号に一致するまで繰り返された後、上記ステップS8に進んだものとする。ここでは、HDD番号#iが最終HDD番号であると判定される。この場合、CPU23はHDDファームウェア受信時の処理を終了する。
【0035】
このように本実施形態においては、ストレージ装置10のディスク制御装置11で更新用のHDDファームウェアデータ40を受信した際に、当該HDDファームウェアデータ40のヘッダ情報43に含まれているHDD番号リスト431に設定されたHDD番号で指定される全てのHDD12−iについて、当該HDDファームウェアデータ40中のファームウェア本体42(更新用ファームウェア)の適用の可否がレビジョンの比較により判定される。そしてHDD12−iへの更新用ファームウェアの適用の正当性が確認された場合に限り、ファームウェア本体42をファームウェア本体42’として含むHDDファームウェアデータ41が、当該HDD12−iのファームウェア保存領域26に保存される。ここで、HDDファームウェアデータ41のヘッダ情報44中の実行フラグ441(即ちHDDファームウェアデータ41中のファームウェア本体42’に付加されているヘッダ情報44中の実行フラグ441)は、“ファームウェア更新あり”を示すON状態に設定される。
【0036】
(2)HDD起動処理
次に、ストレージ装置10の立ち上げに伴ってHDD12−1〜12−nを起動するHDD起動処理について、図4のフローチャートを参照して説明する。まず、ストレージ装置10の立ち上げ時には、ディスク制御装置11内のCPU23は、プログラムメモリ25に格納されているディスク制御装置用の制御プログラムに従い、HDD番号#iを初期値1に設定する(ステップS11)。
【0037】
次にCPU23は、HDD番号#iによって指定されるHDD12−iを起動する(ステップS12)。これにより、HDD12−iのモータ、即ちディスクを回転させるスピンドルモータが起動される。
【0038】
次にCPU23は、HDD12−iのファームウェア保存領域26に保存されているHDDファームウェアデータ41のヘッダ情報44を読み出す(ステップS13)。そしてCPU23は、ヘッダ情報44中に“ファームウェア更新あり”を示す実行フラグ441が設定されているか否かを判定する(ステップS14)。
【0039】
もし、HDDファームウェアデータ41のヘッダ情報44中に“ファームウェア更新あり”を示す実行フラグ441が設定されているならば、CPU23は当該ヘッダ情報44に含まれているサイズ情報434’により指定されるサイズ分(バイト数)のファームウェア本体42’を、HDD12−iのファームウェア保存領域26からプログラムメモリ25のバッファ領域に読み出す(ステップS15)。そしてCPU23は、プログラムメモリ25に読み出されたファームウェア本体42’を、HDD12−iがファームウェアメモリとして有している、例えばフラッシュROM(FROM)に代表される書き換え可能な不揮発性メモリ(図示せず)にダウンロードして、当該不揮発性メモリ上のファームウェアを更新させる(ステップS16)。このHDDファームウェア更新処理は、HDD12−iが提供するファームウェア更新手順を用いて実現される。ここでは、SCSIコマンドの1つである例えばWRITE BUFFERコマンドをCPU23からHDD12−iに発行することにより、当該HDD12−iでのファームウェア更新が行われる。
【0040】
次にCPU23は、更新されたHDD12−iの不揮発性メモリ上のファームウェアのレビジョンを確認する(ステップS17)。この確認動作は、CPU23からHDD12−iに対して、ファームウェアのレビジョン確認のためのコマンドを発行することで実現される。次にCPU23は、確認されたレビジョンが、HDD12−iのファームウェア保存領域26に保存されているファームウェア本体42’のレビジョン(即ち、ファームウェア本体42’に付されているヘッダ情報44中のレビジョン情報433’の示すレビジョン)に一致するか否かを判定する(ステップS18)。
【0041】
もし、レビジョンが一致していない場合、CPU23はステップS16のHDDファームウェアの更新に失敗したものと判断する。この場合、CPU23はステップS16に戻って、HDDファームウェアの更新処理を再度実行(リトライ)する(ステップS16)。図4のフローチャートでは省略されているが、このHDDファームウェアの更新処理のリトライは、一定回数を上限に行われる。もし、一定回数のリトライを行ってもHDDファームウェアの更新に成功しなかった場合、CPU23はHDD12−iの故障であると判断し、当該HDD12−iの起動処理を異常終了させる。
【0042】
一方、レビジョンが一致しているならば、CPU23はステップS16のHDDファームウェアの更新に成功したものと判断する。この場合、CPU23は、HDD12−iのファームウェア保存領域26内のHDDファームウェアデータ41中のヘッダ情報44に含まれている実行フラグ441の状態を“ファームウェア更新なし”指定状態(OFF状態)に変更する(ステップS19)。
【0043】
上記実施形態では、HDD12−iでのファームウェアの更新(ダウンロード)に成功したか否かの判定に、更新されたファームウェアのレビジョンと、その更新に用いられたファームウェア本体42’のレビジョン(HDD12−iのファームウェア保存領域26に保存されているファームウェア本体42’に付されているヘッダ情報44中のレビジョン情報433’の示すレビジョン)との一致の有無が用いられている(ステップS17,S18)。しかし、ファームウェアの更新に成功したか否かの判定に、他の条件を適用することも可能である。例えば、ヘッダ情報44(43)中にファームウェア本体42’(42)のチェックサムを持たせ、更新後のチェックサムと当該ヘッダ情報44中のチェックサムとの一致の有無を判定条件に適用することも可能である。
【0044】
また、上記実施形態では、ストレージ装置10のディスク制御装置11で受信されたHDDファームウェアデータ40(中のファームウェア本体42)が適用されるHDDの候補が、当該HDDファームウェアデータ40中のヘッダ情報43に含まれているHDD番号リスト431によって、HDD番号により指定される。しかし、HDD番号リスト431を用いてHDD番号により指定する代わりに、ヘッダ情報43中のHDDタイプ情報432、つまりメーカ名及び製品コードにより、HDDファームウェアデータ40が適用されるHDD候補が指定される構成とすることも可能である。この場合、CPU23は、HDD12−1〜12−nのうち、受信HDDファームウェアデータ40中のヘッダ情報43に含まれているHDDタイプ情報432により示されるメーカ名及び製品コードに合致するHDDのみを、当該HDDファームウェアデータ40が適用されるHDD候補として選択すればよい。ここでは、HDDタイプ情報432(により示されるメーカ名及び製品コードの情報)が、更新対象ディスク装置情報として用いられる。また、ヘッダ情報43中のHDD番号リスト431及びHDDタイプ情報432を組み合わせることも可能である。例えば、HDD番号リスト431で指定されるHDDのそれぞれについて、当該HDDが、HDDタイプ情報432により示されるメーカ名及び製品コードに合致するか否かにより、当該HDDにHDDファームウェアデータ40を適用する候補とすることの正当性を判定してもよい。
【0045】
また、上記実施形態では、上述の候補に対して実際にHDDファームウェアデータ40(に対応するHDDファームウェアデータ41)を適用する条件に、レビジョンが同一でないことが用いられている(ステップS4,S5)。しかし、レビジョンが同一でなくても、更新用ファームウェアより現在HDD12−iで用いられているファームウェアのレビジョンの方が新しい場合には、当該HDD12−iへのHDDファームウェアデータ40(に対応するHDDファームウェアデータ41)の適用を抑止するようにしてもよい。
【0046】
さて、CPU23は実行フラグ441を“ファームウェア更新なし”指定状態に変更すると(ステップS19)、前記ステップS8と同様に、HDD番号#iが最終HDD番号(=n)であるか否かを判定する(S20)。もし、HDD番号#iが最終HDD番号でないならば、CPU23はHDD番号#iを1インクリメントして(ステップS21)、ステップS12に戻る。
【0047】
また、上記ステップS14で、ヘッダ情報44中に“ファームウェア更新あり”を示す実行フラグ441が設定されていないと判定された場合、即ちヘッダ情報44中に“ファームウェア更新なし”を示す実行フラグ441が設定されている場合、CPU23はHDDファームウェアの更新が不要であると判断する。この場合、CPU23は上記ステップS20に進み、HDD番号#iが最終HDD番号に一致しないならば、HDD番号#iを1インクリメントした後(ステップS21)、ステップS12に戻る。
【0048】
このようにして、上記ステップS12から始まる処理が、HDD番号#iが最終HDD番号に一致するまで繰り返された後、上記ステップS20に進んだものとする。ここでは、HDD番号#iが最終HDD番号であると判定される。この場合、CPU23はHDD起動処理を終了する。
【0049】
以上の説明から明らかなように、本実施形態においては、ストレージ装置10の立ち上げに伴う各HDD12−iの起動処理の中でHDDファームウェアを更新するため、当該ストレージ装置10のオンライン状態におけるHDDファームウェアの更新と比べ安全に且つ簡単に行うことができる。しかも本実施形態においては、HDD12−iのファームウェア保存領域26に予め更新用ファームウェア(ファームウェア本体42’を含むHDDファームウェアデータ41)をダウンロードしておくだけで、あとはシステムの都合に合わせてストレージ装置10を改めて起動した際に自動的にHDDファームウェアの更新が行われる。このため、特別なシステムオペレーションなどの作業を必要としない。
【0050】
また、本実施形態においては、ディスク制御装置11で受信されたHDDファームウェアデータ40(中のファームウェア本体42)が適用可能なHDDが、当該HDDファームウェアデータ40中のヘッダ情報43に含まれているHDD番号リスト431に従って特定される。このため、ストレージ装置10内のHDD12−1〜12−nが必ずしも同一メーカ製の同一製品型番のHDDでなくても、HDD番号リスト431に従って特定されたHDDを対象に当該HDDのファームウェアを確実に更新できる。
【0051】
[変形例]
上記実施形態では、HDD12−iのファームウェア保存領域26にHDDファームウェアデータ41が保存されると、現在HDD12−iで用いられているHDDファームウェアは、ファームウェア保存領域26から失われる。このため、更新後のファームウェアに不具合がある場合、或いは更新後のファームウェアが期待した性能を発揮しない場合には、HDD12−iのファームウェアを更新前の状態に戻せなくなる。そこで、図1のストレージ装置10において、HDD12−iで実行されるファームウェアを以前に適用されていたファームウェアに戻すことを可能とする、上記実施形態の変形例について説明する。
【0052】
この変形例では、HDD12−iの記憶領域の一部は、図5に示すように、複数、例えばm個(mは1より大きい整数)の一定サイズのファームウェア保存領域26−1〜26−mに分割して管理される。このファームウェア保存領域26−1〜26−mはホスト計算機13または保守コンソール14(外部装置)から認識可能である。ファームウェア保存領域26−1〜26−mは、領域識別情報としての例えば領域番号#1〜#mにより指定される。また、この変形例では、HDDファームウェアデータ40のヘッダ情報43中のHDD番号リスト431には、HDD番号#iだけでなく、図6に示すように、当該HDD番号#iと対をなして領域番号#j(jは1〜mのいずれか)が設定される。この領域番号#jは、HDDファームウェアデータ40に対応するHDDファームウェアデータ41の保存先を、HDD番号#iにより示されるHDD12−i内のファームウェア保存領域26−jとすべきことを指定する。
【0053】
これにより、ホスト計算機13または保守コンソール14は、HDDファームウェアデータ40のヘッダ情報43中のHDD番号リスト431により、当該HDDファームウェアデータ40に対応するHDDファームウェアデータ41の保存先として、HDD12−iだけでなく当該HDD12−i内のファームウェア保存領域26−jをも指定できる。よって本実施形態の変形例では、ホスト計算機13または保守コンソール14は、HDD12−1〜12−n毎に、それぞれm種類のファームウェアをファームウェア保存領域26−1〜26−mに保存させることができる。この場合、ホスト計算機13または保守コンソール14からの指定により、現在HDD12−iで適用(実行)されているHDDファームウェアを、HDD12−iの例えばファームウェア保存領域26−jに保存されている更新用ファームウェアに切り替える(更新する)ことが可能となる。
【0054】
以下、このファームウェア切り替えを、(1)ファームウェア切り替えコマンド受信時の処理と、(2)HDD起動処理とに分けて、順次説明する。
(1)ファームウェア切り替えコマンド受信時の処理
まず、ディスク制御装置11におけるファームウェア切り替えコマンド受信時の処理について、図7のフローチャートを参照して説明する。今、HDD12−iで実行されているファームウェアに対応するHDDファームウェアデータ41が、当該HDD12−iのファームウェア保存領域26−k(kは1〜mのいずれか)に保存されているものとする。また、ホスト計算機13または保守コンソール14は、現在HDD12−iで実行されているファームウェアを、当該HDD12−iのファームウェア保存領域26−j(j≠k)に保存されているファームウェア本体42’に切り替えたいものとする。この場合、ホスト計算機13または保守コンソール14は、図6のデータ構造のHDD番号リスト431が付加された、ファームウェア切り替えコマンドをディスク制御装置11に送信する。
【0055】
ホスト計算機13または保守コンソール14からディスク制御装置11に送信されたファームウェア切り替えコマンドは、ディスク制御装置11内のホストI/F20またはコンソールI/F22で受信される。ディスク制御装置11内のCPU23は、受信されたファームウェア切り替えコマンドを受け取ると、ファームウェア切り替えコマンド受信時の処理を開始し、まずHDD番号#iを初期値1に設定する(ステップS31)。次にCPU23は、ファームウェア切り替えコマンドに付されているHDD番号リスト431を参照する(ステップS32)。そしてCPU23は、HDD番号#iに一致するHDD番号がHDD番号リスト431に含まれているか否かを判定する(ステップS33)。
【0056】
もし、HDD番号#iに一致するHDD番号がHDD番号リスト431に含まれているならば、CPU23は、当該HDD番号#iによって指定されるHDD12−iがファームウェア切り替え(更新)の対象となるHDDであると判断する。この場合、CPU23はHDD番号#iに一致するHDD番号と対をなしてHDD番号リスト431に設定されている領域番号を調べる(ステップS34)。この領域番号がファームウェア保存領域26−jを示すjである、つまり領域番号#jであるものとする。この場合、CPU23は、HDD12−iのファームウェア保存領域26−jに保存されているHDDファームウェアデータ41のヘッダ情報44中の実行フラグ441を“ファームウェア更新あり”を示すON状態に設定する(ステップS35)。
【0057】
次にCPU23は、上記実施形態と同様に、HDD番号#iが最終HDD番号(ここではn)であるか否か判定する(ステップS36)。もし、HDD番号#iが最終HDD番号でないならば、CPU23はHDD番号#iを1インクリメントして(ステップS37)、ステップS32に戻る。このようにして、上記ステップS32から始まる処理が、HDD番号#iが最終HDD番号に一致するまで繰り返されると、CPU23はファームウェア切り替えコマンド受信時の処理を終了する。
【0058】
(2)HDD起動処理
次に、ストレージ装置10の立ち上げに伴うHDD12−1〜12−nの起動処理を、主として図4のフローチャートと相異する部分について、図8及び図9のフローチャートを参照して説明する。
【0059】
CPU23は、HDD番号#iで指定されるHDD12−iを起動すると(ステップS42)、領域番号#jを初期値1に設定する(ステップS43)。次にCPU23は、HDD12−iのファームウェア保存領域26−jに保存されているHDDファームウェアデータ41のヘッダ情報44を読み出す(ステップS44)。そしてCPU23は、ヘッダ情報44中に“ファームウェア更新あり”を示す実行フラグ441が設定されているか否かを判定する(ステップS45)。
【0060】
もし、HDDファームウェアデータ41のヘッダ情報44中に“ファームウェア更新あり”を示す実行フラグ441が設定されているならば、CPU23は、HDD12−iのファームウェア保存領域26−jに保存されているファームウェア本体42’(更新用ファームウェア)で、現在のHDDファームウェアを更新する処理(ステップS46〜48)を行う。これにより、CPU23は、HDD12−iにおける現在のファームウェアを、ホスト計算機13または保守コンソール14から指定された当該HDD12−iのファームウェア保存領域26−jに保存されているファームウェアに切り替えることができる。このファームウェア切り替え技術は、HDD12−iを利用する用途に応じて、当該HDD12−iで実行されるファームウェアを切り替えたい場合にも適用できる。
【0061】
CPU23は、ファームウェアの更新に成功した場合(ステップS49)、HDD12−iのファームウェア保存領域26−j内のHDDファームウェアデータ41中のヘッダ情報44に含まれている実行フラグ441の状態を“ファームウェア更新なし”指定状態(OFF状態)に変更する(ステップS50)。この場合、CPU23は、図4中のステップS20と同様に、HDD番号#iが最終HDD番号であるか否かを判定する(ステップS51)。もしHDD番号#iが最終HDD番号でなければ、CPU23はHDD番号#iを1インクリメントして(ステップS52)、ステップS42に戻る。
【0062】
一方、HDD12−iのファームウェア保存領域26−jから読み出されたHDDファームウェアデータ41のヘッダ情報44中に“ファームウェア更新あり”を示す実行フラグ441が設定されていないならば(ステップS45)、CPU23は領域番号#jが最終領域番号(=m)であるか否かを判定する(S53)。もし、領域番号#jが最終領域番号でないならば、CPU23は領域番号#jを1インクリメントして(ステップS54)、ステップS44に戻る。これに対し、領域番号#jが最終領域番号であるならば、CPU23は上記ステップS51の判定処理を実行する。
【0063】
なお、本発明は、上記実施形態及びその変形例に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態及びその変形例には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0064】
【発明の効果】
以上詳述したように本発明においては、ストレージ装置が有する複数のディスク装置のうち、ディスク制御装置で受信された更新用制御プログラムが適用可能なディスク装置を、当該プログラムに付されている更新対象ディスク装置情報に従って特定し、その特定されたディスク装置の更新用制御プログラム保存領域に、当該受信された更新用制御プログラムを保存し、ストレージ装置の各ディスク装置を起動する起動処理の中で、当該更新用制御プログラム保存領域に保存された更新用制御プログラムを用いて、ディスク装置で動作するディスク装置用制御プログラムを更新する構成とした。これにより、ストレージ装置の各ディスク装置でそれぞれ実行されるディスク装置用制御プログラムを更新するための処理手順または処理時間が異なっていても、当該ディスク装置用制御プログラムを、ディスク制御装置用の制御プログラムを複雑にすることなく安全に更新することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るストレージ装置のブロック構成図。
【図2】図1中のディスク制御装置11で受信されるHDDファームウェアデータ40のデータ構造の一例と、HDD12−iのファームウェア保存領域26に一時的に保存されるHDDファームウェアデータ41のデータ構造の一例とを対比して示す図。
【図3】ディスク制御装置11におけるHDDファームウェア受信時の処理を説明するためのフローチャート。
【図4】ストレージ装置10の立ち上げに伴うHDD起動処理を説明するためのフローチャート。
【図5】HDD12−i(i=1〜n)の記憶領域の一部にm個のファームウェア保存領域26−1〜26−mが割り当てられる、上記実施形態の変形例を説明するための図。
【図6】上記変形例で適用されるHDD番号リスト431のデータ構造例を示す図。
【図7】上記変形例におけるファームウェア切り替えコマンド受信時の処理を説明するためのフローチャート。
【図8】上記変形例におけるHDD起動処理を説明するためのフローチャートの一部を示す図。
【図9】上記変形例におけるHDD起動処理を説明するためのフローチャートの残りを示す図。
【符号の説明】
10…ストレージ装置、11…ディスク制御装置、12−1〜12−n,12−i…HDD(ディスク装置)、13…ホスト計算機(外部装置)、14…保守コンソール(外部装置)、23…CPU、24…バッファメモリ、25…プログラムメモリ、26,26−1〜26−m…ファームウェア保存領域(更新用制御プログラム保存領域)、40,41…HDDファームウェアデータ、42,42’…ファームウェア本体(更新用制御プログラム)、43,44…ヘッダ情報、431…HDD番号リスト(ディスク装置識別情報リスト)、432…HDDタイプ情報、433,433’…レビジョン情報、434,434’…サイズ情報、441…実行フラグ。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a disk control device that controls a plurality of disk devices in a storage device having a plurality of disk devices, and particularly to a disk device suitable for updating a disk device control program executed on each disk device. The present invention relates to a control device and a method of updating a disk device control program.
[0002]
[Prior art]
In recent years, in computer systems, large-capacity storage devices, such as disk array devices, having a plurality of disk devices are often used as external storage devices of the computer systems. Generally, a hard disk drive (hereinafter, referred to as an HDD) is used for each disk device in the storage device. Each HDD operates according to an HDD control program (HDD firmware). Further, each of the plurality of HDDs in the storage device is not individually recognized by the host computer using the storage device as an external storage device, and the entire plurality of HDDs is recognized as, for example, one disk (logical disk). You.
[0003]
Conventionally, one of the following two methods is generally applied as a method of updating an HDD control program executed in each HDD in a storage device.
[0004]
In the first update method, first, each HDD in the storage device is removed one by one from the storage device. The removed HDD is connected to a dedicated jig. In this state, the program (firmware) updating means of the HDD to be updated is activated. Then, the program updating means applies the update control program to the target HDD, and updates the current HDD control program (firmware) to the new HDD control program (new firmware). This first update method is the most general method, and does not require a special mechanism to be added to a storage device including a plurality of HDDs. However, in the first updating method, troubles such as trouble of removing HDDs one by one (long working time), poor fitting and incorrect mounting position due to removal and insertion of HDDs, and the like, are induced. The danger is great.
[0005]
Next, in the second update method, while the storage device is operating, the logical disk including the HDD to be updated is temporarily taken offline, so that the logical disk can be externally connected (such as a host computer). ) So that it cannot be accessed. In this state, the HDD to be updated cannot be accessed from outside. Therefore, in this state, the HDD control program to be updated is updated. The second updating method is excellent in that the HDD control program can be updated only by partially stopping the storage device. However, in order to realize the second update method, as described below, it is necessary to incorporate a considerable amount of processing into a program necessary for the operation of the disk control device (a control program for the disk control device). Become. First, in the program (firmware) updating means included in the HDD, an update process including a temporary stop (motor stop) of the HDD requires several tens of seconds or more. For this reason, it is necessary to create a special mechanism for suppressing all accesses, such as internal patrol processing, other than the access from the host computer to the HDD, for example. Therefore, the control program for the disk controller becomes very complicated. Also, the processing procedure of the program updating means of the HDD often differs depending on the manufacturer or product of the HDD, and the required processing time also differs. This further complicates the control program for the disk controller.
[0006]
On the other hand, a control program for the disk control device (disk array control device) is stored in a predetermined area of one HDD in the disk array, and when the device is powered on, the control program is read from the predetermined area and the disk control is executed. 2. Description of the Related Art There is known a disk array device that can execute the control program by loading the RAM into a main memory of the device (disk array control device) (for example, see Patent Document 1). In this disk array device, a control program for updating is received from an external device connected via an external connection port, and the program is written in the predetermined area. A technology for updating a control program for a disk control device when the disk drive is inserted is applied. In the program updating method described in
[0007]
[Patent Document 1]
JP-A-9-101877 (paragraphs 0022 to 0024, paragraphs 0041 to 0045, FIGS. 1 and 2)
[0008]
[Problems to be solved by the invention]
As described above, in a conventional storage device provided with a plurality of HDDs (disk devices), the first and second update methods are known as methods for updating the HDD control program executed on each HDD. I have. However, although the first update method does not require a special mechanism to be added to the storage device, it has a problem that the risk of inducing a work error is large. On the other hand, the second update method is excellent in that the HDD control program can be updated only by partially stopping the storage device, but has a problem that the disk control device program becomes very complicated.
[0009]
On the other hand, according to the method for updating a disk control device control program described in
[0010]
The present invention has been made in consideration of the above circumstances, and has as its object to provide a different processing procedure or processing time for updating a disk device control program executed on each of a plurality of disk devices included in a storage device. Even so, it is an object of the present invention to provide a disk control device and a method for updating a disk device control program that can safely update the disk device control program without complicating the disk control device control program.
[0011]
[Means for Solving the Problems]
According to one aspect of the present invention, there are provided a plurality of disk devices that operate according to a disk device control program, and the disk device stores an update control program used for updating the disk device control program. A disk control device that is applied to a storage device in which an update control program storage area is secured and controls the plurality of disk devices is provided. The disk control device receives the update control program to which the header information including the disk device information to be updated, which can identify the disk device for which the disk device control program is to be updated, is transferred from the external device. Means for determining a disk device to be updated among the plurality of disk devices based on at least the disk device information to be updated, and an update control program storage area of the disk device determined by the determining unit. Means for storing the received update control program, and an update control program to be used for updating the control program for the disk device operating on the disk device when the disk device is started, updates the disk device. Means for determining that it is stored in the control program storage area for Means for updating the disk device control program operating on the disk device with the update control program stored in the update control program storage area of the disk device in accordance with the determination result of the determination device. It is characterized.
[0012]
In the disk control device having the above configuration, the update control program received from the external device (for example, the host computer or the maintenance terminal) is determined based on the update target disk device information in the header information added to the program. Is temporarily stored in the update control program storage area of the disk device to be updated. In the disk control device having the above configuration, the next time the entire storage device or each disk device in the storage device is started, the update to be used for updating the disk device control program operating on the disk device is performed. If the disk control program is stored in the update control program storage area of the disk device, the disk device control program operating on the disk device is updated using the update control program.
[0013]
As described above, in the disk control device having the above-described configuration, the disk device control program is updated during the boot processing for activating each disk device of the storage device. It is safer and easier than updating. Moreover, in the disk control device having the above configuration, the update control program is only stored in the update control program storage area of the disk device, and when the storage device is started up again according to the system convenience, the update is automatically performed. Then, the control program is updated. Therefore, no special operation such as system operation is required.
[0014]
Further, in the disk control device having the above configuration, the disk device to which the update control program received by the disk control device can be applied is accurately identified according to the update target disk device information attached to the update control program. Is done. For this reason, even if a plurality of disk devices in the storage device are not necessarily disk devices of the same product type made by the same manufacturer, the control program of the disk device specified for the disk device specified according to the update target disk device information can be reliably executed. Can be updated.
[0015]
Here, when the storage unit stores the update control program in the update control program storage area of the disk device, the storage device updates the disk device control program operating on the disk device with the stored update control program. If the flag information of the "updated" designation state indicating that the update is to be performed is stored in the update control program storage area, the discriminating unit may be configured to execute the update control program of the disk device when the disk device is started. The update control program to be used for updating the control program for the disk device operating on the disk device depends on whether the flag information of the “updated” designation state is stored in the storage area. It can be easily determined whether or not the program is stored in the program storage area. Further, in response to the update of the disk device control program by the updating means, the state of the flag information stored in the update control program storage area of the corresponding disk device is changed to the update control stored in the storage area. If the configuration is changed to the “no update” designation state indicating that update by the program is unnecessary, unnecessary program update processing can be prevented from occurring.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram illustrating a configuration of a
[0017]
The
[0018]
The
[0019]
The
[0020]
A part of the storage area of the HDD 12-i (i = 1 to n) stores data of firmware (HDD firmware) for the HDD 12 transferred from the
[0021]
The disk controller 11 (the host I /
[0022]
FIG. 2 shows an example of the data structure of the update
[0023]
The
[0024]
The
[0025]
The
[0026]
On the other hand, the
[0027]
Next, the operation of the
(1) Processing when receiving HDD firmware
First, a process when the
[0028]
The
[0029]
If the HDD number matching the HDD number #i is included in the
[0030]
If the two revisions do not match, the
[0031]
Next, the
[0032]
If it is determined in step S3 that the HDD number corresponding to the HDD number #i is not included in the
[0033]
Also, when it is determined in step S5 that the two revisions match, the
[0034]
In this way, it is assumed that the process starting from step S2 is repeated until the HDD number #i matches the final HDD number, and then the process proceeds to step S8. Here, it is determined that HDD number #i is the last HDD number. In this case, the
[0035]
As described above, in the present embodiment, when the
[0036]
(2) HDD startup processing
Next, an HDD boot process for booting the HDDs 12-1 to 12-n when the
[0037]
Next, the
[0038]
Next, the
[0039]
If the
[0040]
Next, the
[0041]
If the revisions do not match, the
[0042]
On the other hand, if the revisions match, the
[0043]
In the above embodiment, the determination of whether or not the update (download) of the firmware in the HDD 12-i was successful is performed by determining the revision of the updated firmware and the revision of the firmware
[0044]
In the above embodiment, the HDD candidate to which the HDD firmware data 40 (the firmware main body 42) received by the
[0045]
In the above embodiment, the condition that the revisions are not the same is used as the condition for actually applying the HDD firmware data 40 (the corresponding HDD firmware data 41) to the above candidates (steps S4 and S5). . However, even if the revisions are not the same, if the revision of the firmware currently used in the HDD 12-i is newer than the update firmware, the HDD firmware data 40 ( The application of the data 41) may be suppressed.
[0046]
When the
[0047]
In step S14, when it is determined that the
[0048]
It is assumed that the process starting from step S12 is repeated until the HDD number #i matches the final HDD number, and then the process proceeds to step S20. Here, it is determined that HDD number #i is the last HDD number. In this case, the
[0049]
As is apparent from the above description, in the present embodiment, since the HDD firmware is updated during the startup processing of each HDD 12-i when the
[0050]
In the present embodiment, the HDD to which the HDD firmware data 40 (the firmware
[0051]
[Modification]
In the above embodiment, when the
[0052]
In this modification, as shown in FIG. 5, a part of the storage area of the HDD 12-i has a plurality of, for example, m (m is an integer greater than 1) firmware storage areas 26-1 to 26-m of a fixed size. It is divided and managed. The firmware storage areas 26-1 to 26-m can be recognized from the
[0053]
As a result, the
[0054]
Hereinafter, the firmware switching will be described in order of (1) processing at the time of receiving a firmware switching command and (2) HDD boot processing.
(1) Processing when receiving firmware switching command
First, the processing when the
[0055]
The firmware switching command transmitted from the
[0056]
If the HDD number that matches the HDD number #i is included in the
[0057]
Next, the
[0058]
(2) HDD startup processing
Next, the startup process of the HDDs 12-1 to 12-n when the
[0059]
When activating the HDD 12-i designated by the HDD number #i (step S42), the
[0060]
If the
[0061]
When the firmware has been successfully updated (step S49), the
[0062]
On the other hand, if the
[0063]
The present invention is not limited to the above-described embodiment and its modifications, and can be variously modified in the implementation stage without departing from the scope of the invention. Furthermore, the above-described embodiment and its modifications include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some components are deleted from all the components shown in the embodiment, the problems described in the column of the problem to be solved by the invention can be solved, and the effects described in the column of the effect of the invention can be solved. Is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.
[0064]
【The invention's effect】
As described above in detail, in the present invention, among the plurality of disk devices included in the storage device, a disk device to which the update control program received by the disk control device can be applied is designated as an update target attached to the program. In the startup process of specifying the disk device information, storing the received update control program in the specified update control program storage area of the disk device, and starting each disk device of the storage device, The configuration is such that the disk device control program operating on the disk device is updated using the update control program stored in the update control program storage area. Accordingly, even if the processing procedure or processing time for updating the disk device control program executed in each disk device of the storage device is different, the disk device control program is changed to the disk control device control program. Can be safely updated without complication.
[Brief description of the drawings]
FIG. 1 is a block configuration diagram of a storage device according to an embodiment of the present invention.
FIG. 2 shows an example of a data structure of
FIG. 3 is a flowchart for explaining processing when the
FIG. 4 is a flowchart for explaining an HDD start-up process when the
FIG. 5 is a diagram for explaining a modification of the above embodiment in which m firmware storage areas 26-1 to 26-m are allocated to a part of a storage area of an HDD 12-i (i = 1 to n). .
FIG. 6 is a diagram showing an example of the data structure of an
FIG. 7 is a flowchart for explaining processing at the time of receiving a firmware switching command in the modification.
FIG. 8 is a diagram showing a part of a flowchart for describing HDD startup processing in the modification.
FIG. 9 is a view showing the rest of the flowchart for explaining the HDD startup processing in the modification.
[Explanation of symbols]
DESCRIPTION OF
Claims (10)
外部装置から転送された、ディスク装置用制御プログラムの更新の対象となるディスク装置が識別可能な更新対象ディスク装置情報を含むヘッダ情報が付加された更新用制御プログラムの受信時に、少なくとも前記更新対象ディスク装置情報に基づいて、前記複数のディスク装置のうちの更新対象となるディスク装置を決定する手段と、
前記決定手段により決定されたディスク装置の前記更新用制御プログラム保存領域に、前記受信された更新用制御プログラムを保存する手段と、
前記ディスク装置の起動時に、当該ディスク装置上で動作するディスク装置用制御プログラムの更新に用いられるべき更新用制御プログラムが当該ディスク装置の前記更新用制御プログラム保存領域に保存されていることを判別する手段と、
前記判別手段の判別結果に応じ、前記ディスク装置の前記更新用制御プログラム保存領域に保存されている更新用制御プログラムにより、当該ディスク装置で動作するディスク装置用制御プログラムを更新する手段と
を具備することを特徴とするディスク制御装置。A plurality of disk devices that operate in accordance with the disk device control program are provided, and the disk device has an update control program storage area for storing an update control program used for updating the disk device control program. A disk controller that is applied to a storage device and controls the plurality of disk devices,
When receiving the update control program added with the header information including the update target disk device information that can identify the disk device to be updated of the disk device control program transferred from the external device, at least the update target disk is received. Means for determining a disk device to be updated among the plurality of disk devices based on device information;
Means for storing the received update control program in the update control program storage area of the disk device determined by the determination means;
When the disk device is started, it is determined that an update control program to be used for updating the disk device control program operating on the disk device is stored in the update control program storage area of the disk device. Means,
Means for updating a disk device control program operating on the disk device with an update control program stored in the update control program storage area of the disk device in accordance with a result of the determination by the determination means. A disk controller characterized by the above-mentioned.
前記判別手段は、前記ディスク装置の起動時に、当該ディスク装置の前記更新用制御プログラム保存領域に前記「更新あり」指定状態のフラグ情報が保存されているか否かにより、当該ディスク装置上で動作するディスク装置用制御プログラムの更新に用いられるべき更新用制御プログラムが当該更新用制御プログラム保存領域に保存されているか否かを判別する
ことを特徴とする請求項1記載のディスク制御装置。The storage means, when storing the update control program in the update control program storage area of the disk device, updates the disk device control program operating on the disk device with the stored update control program. Save the flag information in the "updated" designated state indicating that it should be in the update control program storage area,
The determination means operates on the disk device when the disk device is started, based on whether or not the flag information of the “updated” designation state is stored in the update control program storage area of the disk device. 2. The disk control device according to claim 1, wherein whether the update control program to be used for updating the disk device control program is stored in the update control program storage area is determined.
前記決定手段は、少なくとも前記ディスク装置識別情報リストに従って更新対象となるディスク装置を決定する
ことを特徴とする請求項3記載のディスク制御装置。The update target disk device information includes a list of identification information of disk devices that are candidates for update by the update control program to which the header information including the update target disk device information is added among the plurality of disk devices. ,
4. The disk control device according to claim 3, wherein the determination unit determines a disk device to be updated according to at least the disk device identification information list.
前記ディスク装置識別情報リストは、ディスク装置識別情報と対をなし、当該ディスク装置識別情報で指定されるディスク装置の前記複数の更新用制御プログラム保存領域のうち更新用制御プログラムの保存先となる更新用制御プログラム保存領域を指定するための領域識別情報を含み、
前記保存手段は、前記決定手段により決定されたディスク装置の前記複数の更新用制御プログラム保存領域のうち、前記ディスク装置識別情報リスト中の当該ディスク装置を示すディスク装置識別情報と対をなす領域識別情報の示す更新用制御プログラム保存領域に、前記更新用制御プログラムを保存する
ことを特徴とする請求項3記載のディスク制御装置。In each of the disk devices, a plurality of update control program storage areas are secured,
The disk device identification information list is paired with the disk device identification information, and is an update destination of the update control program among the plurality of update control program storage areas of the disk device specified by the disk device identification information. Area identification information for specifying the control program storage area for
The storage unit includes an area identification pair of the plurality of update control program storage areas of the disk device determined by the determination unit, which is paired with disk device identification information indicating the disk device in the disk device identification information list. 4. The disk control device according to claim 3, wherein the update control program is stored in an update control program storage area indicated by information.
前記保存手段は、プログラム切り替えコマンドの受信時には、前記決定手段により決定されたディスク装置の前記複数の更新用制御プログラム保存領域のうち、前記ディスク装置識別情報リスト中の当該ディスク装置を示すディスク装置識別情報と対をなす領域識別情報の示す更新用制御プログラム保存領域に保存されている前記フラグ情報の状態を前記「更新あり」指定状態に変更する
ことを特徴とする請求項6記載のディスク制御装置。The determining means, upon receiving a program switching command added with the disk device identification information list transferred from the external device, executes a disk device control program according to the disk device identification information list added to the command. Determine the disk device to be switched,
The storage means, when receiving the program switching command, includes, among the plurality of update control program storage areas of the disk device determined by the determination means, a disk device identification indicating the disk device in the disk device identification information list. 7. The disk control apparatus according to claim 6, wherein the status of the flag information stored in the update control program storage area indicated by the area identification information paired with the information is changed to the "updated" specified state. .
前記決定手段は、少なくとも前記ディスク装置タイプ情報に従って更新対象となるディスク装置を決定する
ことを特徴とする請求項3記載のディスク制御装置。The update target disk device information includes disk device type information indicating a type of a disk device that is a candidate for update by the update control program to which header information including the update target disk device information is added,
4. The disk control device according to claim 3, wherein the determination unit determines a disk device to be updated according to at least the disk device type information.
前記決定手段は、前記更新用制御プログラムの受信時に、当該プログラムに付加されている前記ヘッダ情報中の前記更新対象ディスク装置情報に基づいて、前記複数のディスク装置のうちの更新対象の候補となるディスク装置を決定する第1の決定手段と、前記第1の決定手段により更新対象の候補として決定されたディスク装置上で動作する現在のディスク装置用制御プログラムのレビジョンと前記ヘッダ情報中のレビジョン情報の示すレビジョンとを比較し、その比較結果に応じて、当該更新対象の候補として決定されたディスク装置を更新対象として決定する第2の決定手段とを含む
ことを特徴とする請求項1記載のディスク制御装置。The disk device control program and the update control program include revision information indicating a revision of the program, and the header information added to the update control program includes revision information indicating a revision of the update control program. Including
The determining unit is a candidate for an update target among the plurality of disk devices based on the update target disk device information in the header information added to the update control program when the update control program is received. First determining means for determining a disk device, a current revision of the disk device control program operating on the disk device determined as a candidate for update by the first determining device, and revision information in the header information And a second determination unit that determines the disk device determined as the update target candidate as an update target in accordance with the comparison result. Disk control unit.
外部装置から転送された、ディスク装置用制御プログラムの更新の対象となるディスク装置が識別可能な更新対象ディスク装置情報を含むヘッダ情報が付加された更新用制御プログラムの受信時に、少なくとも前記更新対象ディスク装置情報に基づいて、前記複数のディスク装置のうちの更新対象となるディスク装置を決定するステップと、
前記決定されたディスク装置の前記更新用制御プログラム保存領域に、前記受信された更新用制御プログラムを保存するステップと、
前記ディスク装置の起動時に、当該ディスク装置上で動作するディスク装置用の制御プログラムの更新に用いられるべき更新用制御プログラムが当該ディスク装置の前記更新用制御プログラム保存領域に保存されているか否かを判別するステップと、
前記判別結果に応じ、前記ディスク装置の前記更新用制御プログラム保存領域に保存されている更新用制御プログラムにより、当該ディスク装置で動作するディスク装置用制御プログラムを更新するステップと
を具備することを特徴とするディスク装置用制御プログラムの更新方法。A plurality of disk devices that operate in accordance with the disk device control program are provided, and the disk device has an update control program storage area for storing an update control program used for updating the disk device control program. A method of updating a disk device control program applied to a storage device,
When receiving the update control program added with the header information including the update target disk device information that can identify the disk device to be updated of the disk device control program transferred from the external device, at least the update target disk is received. Determining a disk device to be updated among the plurality of disk devices based on device information;
Storing the received update control program in the update control program storage area of the determined disk device;
When the disk device is started, it is determined whether or not an update control program to be used for updating the control program for the disk device operating on the disk device is stored in the update control program storage area of the disk device. Determining;
Updating the disk device control program operating on the disk device with an update control program stored in the update control program storage area of the disk device according to the determination result. Method for updating a disk device control program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080749A JP3768967B2 (en) | 2003-03-24 | 2003-03-24 | Disk control device and disk device control program update method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080749A JP3768967B2 (en) | 2003-03-24 | 2003-03-24 | Disk control device and disk device control program update method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004287979A true JP2004287979A (en) | 2004-10-14 |
JP3768967B2 JP3768967B2 (en) | 2006-04-19 |
Family
ID=33294520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003080749A Expired - Fee Related JP3768967B2 (en) | 2003-03-24 | 2003-03-24 | Disk control device and disk device control program update method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3768967B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006268272A (en) * | 2005-03-23 | 2006-10-05 | Hitachi Global Storage Technologies Netherlands Bv | Data storage, and processing method for rewriting data in nonvolatile memory thereof |
KR100801014B1 (en) | 2006-08-21 | 2008-02-04 | 삼성전자주식회사 | Hard disk drive having a disk embedded dos boot program and computer system using the same, a firmware download method of the hard disc drive and a record media using the same |
JP2008217202A (en) * | 2007-03-01 | 2008-09-18 | Nec Corp | Disk array device and firmware update method |
JP2008217326A (en) * | 2007-03-02 | 2008-09-18 | Nec System Technologies Ltd | Hard disk built-in apparatus and method, and disk array system |
EP3399401A1 (en) * | 2017-05-02 | 2018-11-07 | Quanta Computer Inc. | Sas/sata hard disk drive update via management controller |
JP2019149086A (en) * | 2018-02-28 | 2019-09-05 | 日本電信電話株式会社 | Data processing apparatus and data transfer method |
JP2022513462A (en) * | 2018-12-13 | 2022-02-08 | マイクロン テクノロジー,インク. | Automatic power down based on firmware status |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05134877A (en) * | 1991-11-15 | 1993-06-01 | Fuji Electric Co Ltd | Starting system for computer system |
JPH06295238A (en) * | 1993-04-07 | 1994-10-21 | Nec Ibaraki Ltd | Magnetic disk controller |
JPH09101887A (en) * | 1995-10-06 | 1997-04-15 | Nissin Electric Co Ltd | Disk array device |
JPH10260788A (en) * | 1997-03-19 | 1998-09-29 | Toshiba Corp | Disk array system |
JPH11353127A (en) * | 1998-06-05 | 1999-12-24 | Nec Corp | Disk array device |
-
2003
- 2003-03-24 JP JP2003080749A patent/JP3768967B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05134877A (en) * | 1991-11-15 | 1993-06-01 | Fuji Electric Co Ltd | Starting system for computer system |
JPH06295238A (en) * | 1993-04-07 | 1994-10-21 | Nec Ibaraki Ltd | Magnetic disk controller |
JPH09101887A (en) * | 1995-10-06 | 1997-04-15 | Nissin Electric Co Ltd | Disk array device |
JPH10260788A (en) * | 1997-03-19 | 1998-09-29 | Toshiba Corp | Disk array system |
JPH11353127A (en) * | 1998-06-05 | 1999-12-24 | Nec Corp | Disk array device |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006268272A (en) * | 2005-03-23 | 2006-10-05 | Hitachi Global Storage Technologies Netherlands Bv | Data storage, and processing method for rewriting data in nonvolatile memory thereof |
JP4679943B2 (en) * | 2005-03-23 | 2011-05-11 | ヒタチグローバルストレージテクノロジーズネザーランドビーブイ | Data storage device and data rewrite processing method in nonvolatile memory thereof |
KR100801014B1 (en) | 2006-08-21 | 2008-02-04 | 삼성전자주식회사 | Hard disk drive having a disk embedded dos boot program and computer system using the same, a firmware download method of the hard disc drive and a record media using the same |
US8266611B2 (en) | 2006-08-21 | 2012-09-11 | Seagate Technology International | Hard disk drive with disk embedded DOS boot image and firmware download method |
JP2008217202A (en) * | 2007-03-01 | 2008-09-18 | Nec Corp | Disk array device and firmware update method |
JP2008217326A (en) * | 2007-03-02 | 2008-09-18 | Nec System Technologies Ltd | Hard disk built-in apparatus and method, and disk array system |
EP3399401A1 (en) * | 2017-05-02 | 2018-11-07 | Quanta Computer Inc. | Sas/sata hard disk drive update via management controller |
CN108804117A (en) * | 2017-05-02 | 2018-11-13 | 广达电脑股份有限公司 | The method and system of hard disk is updated by Management Controller |
JP2018190376A (en) * | 2017-05-02 | 2018-11-29 | 廣達電脳股▲ふん▼有限公司 | Sas/sata hard disk drive update by management controller |
US10747437B2 (en) | 2017-05-02 | 2020-08-18 | Quanta Computer Inc. | SAS hard disk drive update via management controller |
US10884624B2 (en) | 2017-05-02 | 2021-01-05 | Quanta Computer Inc. | SAS/SATA hard disk drive update via management controller |
JP2019149086A (en) * | 2018-02-28 | 2019-09-05 | 日本電信電話株式会社 | Data processing apparatus and data transfer method |
JP2022513462A (en) * | 2018-12-13 | 2022-02-08 | マイクロン テクノロジー,インク. | Automatic power down based on firmware status |
JP7137708B2 (en) | 2018-12-13 | 2022-09-14 | マイクロン テクノロジー,インク. | Automatic power down based on firmware state |
US11847014B2 (en) | 2018-12-13 | 2023-12-19 | Micron Technology, Inc. | Automated power down based on state of firmware |
Also Published As
Publication number | Publication date |
---|---|
JP3768967B2 (en) | 2006-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1691281B1 (en) | Memory dump program boot method | |
TWI384367B (en) | System of updating firmware and method thereof | |
US7739490B2 (en) | Control apparatus, upgrade method and program product of the same | |
JP5491675B2 (en) | Information processing apparatus and information processing apparatus control method | |
WO2000051003A1 (en) | Disk system and method of updating firmware | |
JP3768967B2 (en) | Disk control device and disk device control program update method | |
US9645810B2 (en) | Processing apparatus capable to determine a storage medium that contains correct data for management board by comparing casing serial numbers each stored in casing memory, portable memory, and flash memory | |
JPH10307726A (en) | System for firmware recovery at time of start error | |
US20230132494A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
US6388763B1 (en) | Method for processing a ROM image when electrical power supplied to a laser printer has been interrupted | |
JP2001117779A (en) | Electronic instrument and program rewriting method | |
EP1359500B1 (en) | File management of one-time-programmable nonvolatile memory devices | |
US20170003955A1 (en) | Method of Rewriting Printer Firmware, and Printer | |
JP4062429B2 (en) | Memory rewrite control method and program for executing each step of memory rewrite control method | |
JP3715631B2 (en) | Information processing apparatus, CPU frequency control method, and program | |
US11507385B1 (en) | Embedded electronic device, boot method, and embedded electronic device readable recording medium with stored program | |
JPH0830450A (en) | Information processor | |
JPH08161160A (en) | Method for updating firmware of optical disk reproducing device | |
JP2005242930A (en) | Information processor, program updating method, program updating program, and computer-readable storage medium recording program updating program | |
JP2004054421A (en) | Memory, information processor, storage method and information processing method | |
CN113726554A (en) | Method for restoring network equipment version and network equipment | |
JP2004013782A (en) | Method for downloading firmware | |
JPH11149371A (en) | Information processor and its control method | |
CN118394393A (en) | IO module firmware updating method based on EtherCat coupler | |
JP2003216432A (en) | Firmware rewriting device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050621 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060202 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140210 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |