JP3768967B2 - ディスク制御装置及びディスク装置用制御プログラムの更新方法 - Google Patents
ディスク制御装置及びディスク装置用制御プログラムの更新方法 Download PDFInfo
- Publication number
- JP3768967B2 JP3768967B2 JP2003080749A JP2003080749A JP3768967B2 JP 3768967 B2 JP3768967 B2 JP 3768967B2 JP 2003080749 A JP2003080749 A JP 2003080749A JP 2003080749 A JP2003080749 A JP 2003080749A JP 3768967 B2 JP3768967 B2 JP 3768967B2
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、複数のディスク装置を備えたストレージ装置において当該複数のディスク装置を制御するディスク制御装置に係り、特に各ディスク装置でそれぞれ実行されるディスク装置用制御プログラムを更新するのに好適なディスク制御装置及びディスク装置用制御プログラムの更新方法に関する。
【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…実行フラグ。
Claims (10)
- ディスク装置用制御プログラムに従って動作する複数のディスク装置を備え、当該ディスク装置には当該ディスク装置用制御プログラムの更新に用いられる更新用制御プログラムを保存するための更新用制御プログラム保存領域が確保されているストレージ装置に適用されて、前記複数のディスク装置を制御するディスク制御装置であって、
外部装置から転送された、ディスク装置用制御プログラムの更新の対象となるディスク装置が識別可能な更新対象ディスク装置情報を含むヘッダ情報が付加された更新用制御プログラムの受信時に、少なくとも前記更新対象ディスク装置情報に基づいて、前記複数のディスク装置のうちの更新対象となるディスク装置を決定する手段と、
前記決定手段により決定されたディスク装置の前記更新用制御プログラム保存領域に、前記受信された更新用制御プログラムを保存する手段と、
前記ディスク装置の起動時に、当該ディスク装置上で動作するディスク装置用制御プログラムの更新に用いられるべき更新用制御プログラムが当該ディスク装置の前記更新用制御プログラム保存領域に保存されていることを判別する手段と、
前記判別手段の判別結果に応じ、前記ディスク装置の前記更新用制御プログラム保存領域に保存されている更新用制御プログラムにより、当該ディスク装置で動作するディスク装置用制御プログラムを更新する手段と
を具備することを特徴とするディスク制御装置。 - 前記更新手段は、前記判別手段の判別結果に応じ、前記ディスク装置の前記更新用制御プログラム保存領域に保存されている更新用制御プログラムを読み出す手段と、前記読み出し手段により前記ディスク装置の前記更新用制御プログラム保存領域から読み出された更新用制御プログラムを当該ディスク装置にダウンロードすることにより、当該ディスク装置で動作するディスク装置用制御プログラムを更新する手段とを含むことを特徴とする請求項1記載のディスク制御装置。
- 前記保存手段は、前記ディスク装置の前記更新用制御プログラム保存領域に前記更新用制御プログラムを保存する際、当該ディスク装置で動作するディスク装置用制御プログラムを当該保存される更新用制御プログラムにより更新すべきことを示す「更新あり」指定状態のフラグ情報を当該更新用制御プログラム保存領域に保存し、
前記判別手段は、前記ディスク装置の起動時に、当該ディスク装置の前記更新用制御プログラム保存領域に前記「更新あり」指定状態のフラグ情報が保存されているか否かにより、当該ディスク装置上で動作するディスク装置用制御プログラムの更新に用いられるべき更新用制御プログラムが当該更新用制御プログラム保存領域に保存されているか否かを判別する
ことを特徴とする請求項1記載のディスク制御装置。 - 前記更新手段によるディスク装置用制御プログラムの更新に応じて、対応する前記ディスク装置の前記更新用制御プログラム保存領域に保存されている前記フラグ情報の状態を、当該保存領域に保存されている更新更新用制御プログラムによる更新が不要なことを示す「更新なし」指定状態に変更する手段を更に具備することを特徴とする請求項3記載のディスク制御装置。
- 前記更新対象ディスク装置情報は、前記複数のディスク装置のうち、当該更新対象ディスク装置情報を含むヘッダ情報が付加された更新用制御プログラムによる更新対象の候補となるディスク装置の識別情報のリストを含み、
前記決定手段は、少なくとも前記ディスク装置識別情報リストに従って更新対象となるディスク装置を決定する
ことを特徴とする請求項3記載のディスク制御装置。 - 前記各ディスク装置には、複数の前記更新用制御プログラム保存領域が確保され、
前記ディスク装置識別情報リストは、ディスク装置識別情報と対をなし、当該ディスク装置識別情報で指定されるディスク装置の前記複数の更新用制御プログラム保存領域のうち更新用制御プログラムの保存先となる更新用制御プログラム保存領域を指定するための領域識別情報を含み、
前記保存手段は、前記決定手段により決定されたディスク装置の前記複数の更新用制御プログラム保存領域のうち、前記ディスク装置識別情報リスト中の当該ディスク装置を示すディスク装置識別情報と対をなす領域識別情報の示す更新用制御プログラム保存領域に、前記更新用制御プログラムを保存する
ことを特徴とする請求項3記載のディスク制御装置。 - 前記決定手段は、前記外部装置から転送された、前記ディスク装置識別情報リストが付加されたプログラム切り替えコマンドの受信時に、当該コマンドに付加されている前記ディスク装置識別情報リストに従ってディスク装置用制御プログラムの切り替えの対象となるディスク装置を決定し、
前記保存手段は、プログラム切り替えコマンドの受信時には、前記決定手段により決定されたディスク装置の前記複数の更新用制御プログラム保存領域のうち、前記ディスク装置識別情報リスト中の当該ディスク装置を示すディスク装置識別情報と対をなす領域識別情報の示す更新用制御プログラム保存領域に保存されている前記フラグ情報の状態を前記「更新あり」指定状態に変更する
ことを特徴とする請求項6記載のディスク制御装置。 - 前記更新対象ディスク装置情報は、当該更新対象ディスク装置情報を含むヘッダ情報が付加された更新用制御プログラムによる更新対象の候補となるディスク装置のタイプを示すディスク装置タイプ情報を含み、
前記決定手段は、少なくとも前記ディスク装置タイプ情報に従って更新対象となるディスク装置を決定する
ことを特徴とする請求項3記載のディスク制御装置。 - 前記ディスク装置用制御プログラム及び前記更新用制御プログラムは当該プログラムのレビジョンを示すレビジョン情報を含み、前記更新用制御プログラムに付加される前記ヘッダ情報は、当該更新用制御プログラムのレビジョンを示すレビジョン情報を含み、
前記決定手段は、前記更新用制御プログラムの受信時に、当該プログラムに付加されている前記ヘッダ情報中の前記更新対象ディスク装置情報に基づいて、前記複数のディスク装置のうちの更新対象の候補となるディスク装置を決定する第1の決定手段と、前記第1の決定手段により更新対象の候補として決定されたディスク装置上で動作する現在のディスク装置用制御プログラムのレビジョンと前記ヘッダ情報中のレビジョン情報の示すレビジョンとを比較し、その比較結果に応じて、当該更新対象の候補として決定されたディスク装置を更新対象として決定する第2の決定手段とを含む
ことを特徴とする請求項1記載のディスク制御装置。 - ディスク装置用制御プログラムに従って動作する複数のディスク装置を備え、当該ディスク装置には当該ディスク装置用制御プログラムの更新に用いられる更新用制御プログラムを保存するための更新用制御プログラム保存領域が確保されているストレージ装置に適用されるディスク装置用制御プログラムの更新方法であって、
外部装置から転送された、ディスク装置用制御プログラムの更新の対象となるディスク装置が識別可能な更新対象ディスク装置情報を含むヘッダ情報が付加された更新用制御プログラムの受信時に、少なくとも前記更新対象ディスク装置情報に基づいて、前記複数のディスク装置のうちの更新対象となるディスク装置を決定するステップと、
前記決定されたディスク装置の前記更新用制御プログラム保存領域に、前記受信された更新用制御プログラムを保存するステップと、
前記ディスク装置の起動時に、当該ディスク装置上で動作するディスク装置用の制御プログラムの更新に用いられるべき更新用制御プログラムが当該ディスク装置の前記更新用制御プログラム保存領域に保存されているか否かを判別するステップと、
前記判別結果に応じ、前記ディスク装置の前記更新用制御プログラム保存領域に保存されている更新用制御プログラムにより、当該ディスク装置で動作するディスク装置用制御プログラムを更新するステップと
を具備することを特徴とするディスク装置用制御プログラムの更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080749A JP3768967B2 (ja) | 2003-03-24 | 2003-03-24 | ディスク制御装置及びディスク装置用制御プログラムの更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080749A JP3768967B2 (ja) | 2003-03-24 | 2003-03-24 | ディスク制御装置及びディスク装置用制御プログラムの更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004287979A JP2004287979A (ja) | 2004-10-14 |
JP3768967B2 true JP3768967B2 (ja) | 2006-04-19 |
Family
ID=33294520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003080749A Expired - Fee Related JP3768967B2 (ja) | 2003-03-24 | 2003-03-24 | ディスク制御装置及びディスク装置用制御プログラムの更新方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3768967B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4679943B2 (ja) * | 2005-03-23 | 2011-05-11 | ヒタチグローバルストレージテクノロジーズネザーランドビーブイ | データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法 |
KR100801014B1 (ko) | 2006-08-21 | 2008-02-04 | 삼성전자주식회사 | Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체 |
JP2008217202A (ja) * | 2007-03-01 | 2008-09-18 | Nec Corp | ディスクアレイ装置及びファームウェア更新方法 |
JP2008217326A (ja) * | 2007-03-02 | 2008-09-18 | Nec System Technologies Ltd | ハードディスク組込装置および方法並びにディスクアレイシステム |
US10747437B2 (en) | 2017-05-02 | 2020-08-18 | Quanta Computer Inc. | SAS hard disk drive update via management controller |
JP6913312B2 (ja) * | 2018-02-28 | 2021-08-04 | 日本電信電話株式会社 | データ処理装置及びデータ転送方法 |
US10795746B2 (en) | 2018-12-13 | 2020-10-06 | Micron Technology, Inc. | Automated power down based on state of firmware |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05134877A (ja) * | 1991-11-15 | 1993-06-01 | Fuji Electric Co Ltd | 計算機システムの立ち上げ方式 |
JPH06295238A (ja) * | 1993-04-07 | 1994-10-21 | Nec Ibaraki Ltd | 磁気ディスク制御装置 |
JPH09101887A (ja) * | 1995-10-06 | 1997-04-15 | Nissin Electric Co Ltd | ディスクアレイ装置 |
JPH10260788A (ja) * | 1997-03-19 | 1998-09-29 | Toshiba Corp | ディスクアレイシステム |
JPH11353127A (ja) * | 1998-06-05 | 1999-12-24 | Nec Corp | ディスクアレイ装置 |
-
2003
- 2003-03-24 JP JP2003080749A patent/JP3768967B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004287979A (ja) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678761B2 (en) | Technology for selectively updating memory-resident images | |
JP4668416B2 (ja) | ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護 | |
JP4037605B2 (ja) | 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法 | |
JP4268396B2 (ja) | 1回プログラム可能な不揮発性メモリデバイスのファイル管理 | |
US6560703B1 (en) | Redundant updatable self-booting firmware | |
US7383431B2 (en) | Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory | |
WO2000051003A1 (fr) | Systeme de disques et procede de mise a jour de micrologiciel | |
JPH11161563A (ja) | データの記憶および再生方法 | |
EP1691281A2 (en) | Memory dump program boot method | |
JP3768967B2 (ja) | ディスク制御装置及びディスク装置用制御プログラムの更新方法 | |
US7783824B2 (en) | Data processing device having flash ROM, and a flash ROM data erasing method | |
EP1359500B1 (en) | File management of one-time-programmable nonvolatile memory devices | |
US10120677B2 (en) | Method of rewriting printer firmware, and printer | |
US20070174736A1 (en) | Storage medium management apparatus, storage medium management program, and storage medium management method | |
US20130159642A1 (en) | Method of Writing Firmware, Firmware Storage Medium, and Electronic Device | |
JP2001117779A (ja) | 電子機器、及び、プログラム書き換え方法 | |
JP7246869B2 (ja) | 画像形成装置、画像形成装置の制御方法及びプログラム | |
JPH08161160A (ja) | 光ディスク再生装置のファームウエア更新方法 | |
JP2008217856A (ja) | 制御装置、記憶装置および制御方法 | |
JP2016200861A (ja) | 半導体装置および記憶媒体の制御方法 | |
JP3951808B2 (ja) | ハードディスクドライブサブシステム | |
JP3715631B2 (ja) | 情報処理装置、cpuの周波数制御方法およびプログラム | |
JPH0830450A (ja) | 情報処理装置 | |
JP2004094628A (ja) | フラッシュメモリのメモリ書き換え制御システム、メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム | |
KR100331734B1 (ko) | 제어정보 갱신가능한 디스크 구동장치 및 그 갱신방법 |
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 |