JP2005242555A - 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法 - Google Patents
記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法 Download PDFInfo
- Publication number
- JP2005242555A JP2005242555A JP2004049765A JP2004049765A JP2005242555A JP 2005242555 A JP2005242555 A JP 2005242555A JP 2004049765 A JP2004049765 A JP 2004049765A JP 2004049765 A JP2004049765 A JP 2004049765A JP 2005242555 A JP2005242555 A JP 2005242555A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- disk
- read
- storage device
- type storage
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】 複数のディスク型記憶装置から選択されたディスク型記憶装置にファームウェアを効率良く搭載することができる方法及び記憶制御システムを提供する。
【解決手段】 記憶制御システム600は、新たに装着された新ディスク型記憶装置300Aから新バージョンファームウェア325AをCM130のキャッシュ領域130Aに読み出し、新ディスク型記憶装置300Aよりも過去に装着されている複数の稼動中ディスク型記憶装置300Bから選択された1以上のディスク型記憶装置の旧バージョンファームウェア325Bを、上記読み出された新バージョンファームウェア325Aに更新する。
【選択図】図5
【解決手段】 記憶制御システム600は、新たに装着された新ディスク型記憶装置300Aから新バージョンファームウェア325AをCM130のキャッシュ領域130Aに読み出し、新ディスク型記憶装置300Aよりも過去に装着されている複数の稼動中ディスク型記憶装置300Bから選択された1以上のディスク型記憶装置の旧バージョンファームウェア325Bを、上記読み出された新バージョンファームウェア325Aに更新する。
【選択図】図5
Description
本発明は、上位装置に接続される記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを書き込む方法に関する。
例えば、大容量のデータを取り扱う基幹業務用の記憶システムでは、ホスト端末とは別体に構成された記憶制御システムを用いてデータが管理されている。この記憶制御システムは、例えば、ディスクアレイ装置とも呼ばれ、多数のディスク型記憶装置をアレイ状に配置して構成されているRAID(Redundant Array of Independent Inexpensive Disks)である。
一般に、ディスク型記憶装置には、ディスク型記憶装置内のハードウェアを制御するためのファームウェアが搭載されている。例えば、特開平11−134114号公報には、システム運用中にディスク交換が判定されると、予め搭載されている基準ディスク内のファームウェアが、ディスク交換により新たに装着された交換ディスクにコピーされることが開示されている。
特開平11−134114号公報によれば、例えば、基準ディスクに搭載されているファームウェアが旧いバージョンであると、新たに搭載された交換ディスクにも、旧いバージョンのファームウェアがコピーされてしまうことになる。このため、交換ディスクに新しいバージョンのファームウェアをコピーするためには、ファームウェアのバージョンが新しくなる都度に、基準ディスクに搭載されているファームウェアをその新しいバージョンのファームウェアに更新する必要がある。これでは効率が悪い。
従って、本発明の目的は、複数のディスク型記憶装置から選択されたディスク型記憶装置にファームウェアを効率良く搭載することができる方法及び記憶制御システムを提供することにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明の側面に従う記憶制御システムは、上位装置に接続され、前記上位装置からデータを受けるチャネル制御部と、前記チャネル制御部に接続され、前記上位装置との間でやり取りされるデータを保存するキャッシュメモリと、前記上位装置との間でやり取りされるデータに関する制御情報を格納する共有メモリと、前記キャッシュメモリに接続され、前記上位装置との間でやり取りされるデータを、前記キャッシュメモリに格納し又は前記キャッシュメモリから読み出すように制御する複数のディスク制御部と、前記複数のディスク制御部と複数のファイバチャネルループを用いて接続され、前記複数のディスク制御部の制御によって前記上位装置から送られたデータが格納される複数のディスク型記憶装置とを備える。前記複数のディスク型記憶装置には、既に前記記憶制御システムに搭載されている2以上の稼動中ディスク型記憶装置と、前記2以上の稼動中ディスク型記憶装置よりも後に前記記憶制御システムに搭載され、前記2以上の稼動中ディスク型記憶装置から選択された読出し先ディスク型記憶装置に対して転送されるべき転送対象ファームウェアを有する読出し元ディスク型記憶装置とが含まれている。前記複数のディスク制御部のうち、前記読出し元ディスク型記憶装置と同一のファイバチャネルループに接続される読出し元ディスク制御部は、前記読出し元ディスク型記憶装置から転送対象ファームウェアを読み出し、前記キャッシュメモリ(例えば、キャッシュメモリに設けられたファームウェア格納領域)、前記共有メモリ(例えば、共有メモリに設けられた所定の記憶領域)、又は前記複数のディスク制御部に接続され前記記憶制御システムの保守又は管理を行う保守用端末に、前記読み出した転送対象ファームウェアを格納させるものである。前記複数のディスク制御部のうち、前記読出し先ディスク型記憶装置と同一のファイバチャネルループに接続される読出し先ディスク制御部は、前記格納された転送対象ファームウェアを、前記読出し先ディスク制御部に接続されたファイバチャネルループを介して、前記読出し先ディスク型記憶装置に転送し記憶させる。例えば、前記読出し先ディスク型記憶装置は、前記読出し先ディスク制御部から受けた前記転送対象ファームウェアを、前記読出し先ディスク型記憶装置のファームウェアとして設定する。
例えば、転送対象ファームウェアは、ディスク型記憶装置内のどこに保存されても良い。具体的には、例えば、転送対象ファームウェアは、ディスク型記憶装置内のメモリ或いはハードディスクにおける所定の格納領域に格納され、ディスク型記憶装置に搭載されたプロセッサが、その格納された転送対象ファームウェアを読み込むことで、ディスク型記憶装置内の種々のハードウェア資源を制御することができる。
この記憶制御システムの第一の実施態様では、前記読出し元ディスク制御部は、前記読出し元ディスク型記憶装置が前記記憶制御システムに装着されたことが検出された場合に、前記読出し元ディスク型記憶装置から前記転送対象ファームウェアを読み出す。前記転送対象ファームウェアは、前記読出し先ディスク型記憶装置が有する旧バージョンファームウェアよりもバージョンの新しい新バージョンファームウェアである。前記読出し先ディスク型記憶装置は、前記読出し先ディスク型記憶装置が有する旧バージョンファームウェアを、前記転送ディスク制御部から転送されて来た前記新バージョンファームウェアに更新する。具体的には、例えば、前記読出し先ディスク型記憶装置は、前記新バージョンファームウェアが有する更新プログラムに従って、前記旧バージョンファームウェアを前記新バージョンファームウェアに更新し、その後、リブートすることで、前記新バージョンファームウェアを、前記読出し先ディスク型記憶装置のファームウェアとして更新する。
なお、読出し元ディスク型記憶装置が記憶する新バージョンファームウェアは、例えば、旧バージョンファームウェアの情報を全く使用することのない独立したファームウェアであっても良いし、旧バージョンファームウェアの情報を使用することで新バージョンファームウェアとして機能するもの(例えば、旧バージョンファームウェアに対して追加、変更又は削除されるプログラムモジュールの集合)であっても良い。
この記憶制御システムの第二の実施態様では、前記第一の実施態様において、前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶する。前記読出し元ディスク制御部は、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出して、前記キャッシュメモリ上に設けられたファームウェア格納領域に格納する。前記読出し先ディスク制御部は、前記ファームウェア格納領域に格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較して、前記2以上の旧バージョンのうちの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記ファームウェア格納領域内の前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する。前記ファームウェア格納領域は、前記複数のディスク制御部の全てがアクセス可能である。
この記憶制御システムの第三の実施態様では、前記第一の実施態様において、前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶する。前記読出し元ディスク制御部は、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出して、前記共有メモリ上に設けられた読出し先領域に格納する。前記読出し先ディスク制御部は、前記読出し先領域に格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較して、前記2以上の旧バージョンのうちの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記読出し先領域内の前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する。前記読出し先領域は、前記複数のディスク制御部のうちの前記読出し元ディスク制御部及び前記読出し先ディスク制御部のみがアクセス可能である。
この第三の実施態様では、例えば、読出し先ディスク制御部は、ディスクプロセッサ(例えばマイクロプロセッサ)とローカルメモリ(例えば揮発性又は不揮発性のメモリ)とを備える。ディスクプロセッサは、前記ローカルメモリに、前記アクセス可能な読出し先領域から取得した前記新バージョンファームウェア及び前記更新対象旧バージョン情報を格納する。そして、ディスクプロセッサは、前記ローカルメモリに格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較する。
この記憶制御システムの第四の実施態様では、前記第一の実施態様において、前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶する。前記読出し元ディスク制御部は、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出して前記保守用端末に送信する。前記保守用端末は、記憶部(例えば、ハードディスク又はメモリ)を備える。前記保守用端末は、前記読出し元ディスク制御部から受信した前記新バージョンファームウェア及び前記更新対象旧バージョン情報を前記記憶部に格納する。また、前記保守用端末は、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンを、前記読出し先ディスク制御部から受信して前記記憶部に格納する。前記保守用端末は、前記記憶部に格納された更新対象旧バージョン情報と、前記記憶部に格納された2以上の旧バージョンとを比較して、前記2以上の旧バージョンの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択する。前記保守用端末は、前記記憶部から取得された前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置を宛先として前記読出し先ディスク制御部に送信する。前記読出し先ディスク制御部は、前記選択された読出し先ディスク型記憶装置を宛先とした前記新バージョンファームウェアを前記保守用端末から受信して、前記新バージョンファームウェアを前記選択された読出し先ディスク型記憶装置に送信する。
この記憶制御システムの第五の実施態様では、前記読出し元ディスク型記憶装置は、前記転送対象ファームウェアが正常に動作することができる1以上のディスク型記憶装置のディスク属性を含んだディスク属性情報を記憶している。前記読出し元ディスク制御部は、前記読出し元ディスク型記憶装置から前記ディスク属性情報を読出して前記キャッシュメモリ、前記共有メモリ又は前記保守用端末に格納する。前記読出し先ディスク制御部は、前記格納されたディスク属性情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置にそれぞれ対応した2以上のディスク属性とを比較して、前記2以上のディスク属性の少なくとも1つが、前記ディスク属性情報に含まれた1以上のディスク属性の少なくとも1つに適合した場合に、前記適合したディスク属性を有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する。
ここで、ディスク属性とは、例えば、ディスク型記憶装置のメーカ、機種、及びOS情報(例えば、OSの種別又はバージョン)の少なくとも1つである。
この記憶制御システムの第六の実施態様では、読出し先ディスク型記憶装置は、第1と第2のファームウェアのうちの一方を使用して、前記読出し先ディスク制御部との間でデータをやり取し、使用中ではない他方のファームウェアを、前記転送対象ファームウェアに更新し、前記一方のファームウェアの使用が終了した後に、前記一方のファームウェアを前記転送対象ファームウェアに更新する。
この記憶制御システムの第七の実施態様では、前記第一の実施態様において、読出し先ディスク型記憶装置は、前記旧バージョンファームウェアを前記新バージョンファームウェアに更新する場合、前記旧バージョンファームウェアを、前記読出し先ディスク型記憶装置の中に設けられた記憶領域に複製し、前記新バージョンファームウェアを前記読出し先ディスク型記憶装置に転送することに失敗があった場合、前記記憶領域に複製された前記旧バージョンファームウェアを、前記読出し先ディスク型記憶装置のファームウェアとして復帰させる。
この記憶制御システムの第八の実施態様では、前記読出し元ディスク制御部は、前記読み出した転送対象ファームウェアを前記保守用端末に送信する。前記読出し先ディスク制御部は、前記キャッシュメモリ又は前記共有メモリから読み出した転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送することに失敗があった場合、転送失敗があったことを前記保守用端末に通知し、前記転送失敗の通知に応答して、前記保守用端末から前記転送対象ファームウェアを受信した場合に、前記受信した転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送する。
この記憶制御システムの第九の実施態様では、前記複数のディスク型記憶装置には、2以上の読出し元ディスク型制御部が含まれている。同一のRAIDグループを構成する2以上の読出し元ディスク型記憶装置が装着された場合、前記2以上の読出し元ディスク型記憶装置から選択された読出し先ディスク型記憶装置と同一のファイバチャネルループに接続されている読出し先ディスク制御部が、前記選択された読出し先ディスク記憶装置から転送対象ファームウェアを読み出す。
本発明の側面に従う方法は、上位装置に接続された記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法であって、前記記憶制御システムに備えられる複数のディスク型記憶装置のうちの2以上の稼動中ディスク型記憶装置から選択された読出し先ディスク型記憶装置に対して転送されるべき転送対象ファームウェアを、前記2以上の稼動中ディスク型記憶装置よりも後に前記記憶制御システムに搭載された読出し元ディスク型記憶装置から読み出すステップと、前記上位装置との間でやり取りされるデータを保存するキャッシュメモリ、前記上位装置との間でやり取りされるデータに関する制御情報を格納する共有メモリ、又は、前記記憶制御システムの保守又は管理を行う保守用端末に、前記読み出した転送対象ファームウェアを格納させるステップと、前記格納された転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送し記憶させるステップとを有する。
この方法に従う第一の実施態様では、前記読出し元ディスク型記憶装置が前記記憶制御システムに装着されたことを検出するステップを更に有し、前記転送対象ファームウェアは、前記読出し先ディスク型記憶装置が有する旧バージョンファームウェアよりもバージョンの新しい新バージョンファームウェアであり、前記読み出すステップでは、前記読出し元ディスク型記憶装置が前記記憶制御システムに装着されたことが検出された場合に、前記読出し元ディスク型記憶装置から前記新バージョンファームウェアを読み出し、前記記憶させるステップでは、前記読出し先ディスク型記憶装置が有する旧バージョンファームウェアを、前記転送ディスク制御部から転送されて来た前記新バージョンファームウェアに更新する。
この方法に従う第二の実施態様では、前記第一の実施態様において、前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶している。前記読み出すステップでは、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出す。前記格納するステップでは、前記キャッシュメモリ上に設けられた前記ファームウェア格納領域に格納する。前記転送するステップでは、前記ファームウェア格納領域に格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較して、前記2以上の旧バージョンのうちの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記ファームウェア格納領域内の前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する。
この方法に従う第三の実施態様では、前記第一の実施態様において、前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶している。前記読み出すステップでは、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出す。
前記格納するステップでは、前記読み出した新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記共有メモリに設けられた読出し先領域に格納する。
前記転送するステップでは、前記読出し先領域に格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較して、前記2以上の旧バージョンのうちの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記読出し先領域内の前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する、
この方法に従う第四の実施態様では、前記第一の実施態様において、前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶している。前記保守用端末は記憶部を有している。前記読出すステップでは、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出す。前記格納するステップでは、前記読み出した前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記保守用端末に送信して前記保守用端末の前記記憶部に格納し、且つ、前記2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンを前記保守用端末の記憶部に格納する。前記転送するステップでは、前記記憶部に格納された更新対象旧バージョン情報と、前記記憶部に格納された2以上の旧バージョンとを比較して、前記2以上の旧バージョンの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記記憶部から取得された前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する。
この方法に従う第四の実施態様では、前記第一の実施態様において、前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶している。前記保守用端末は記憶部を有している。前記読出すステップでは、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出す。前記格納するステップでは、前記読み出した前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記保守用端末に送信して前記保守用端末の前記記憶部に格納し、且つ、前記2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンを前記保守用端末の記憶部に格納する。前記転送するステップでは、前記記憶部に格納された更新対象旧バージョン情報と、前記記憶部に格納された2以上の旧バージョンとを比較して、前記2以上の旧バージョンの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記記憶部から取得された前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する。
この方法に従う第五の実施態様では、前記読出し元ディスク型記憶装置は、前記転送対象ファームウェアが正常に動作することができる1以上のディスク型記憶装置のディスク属性を含んだディスク属性情報を記憶している。前記読み出すステップでは、前記読出し元ディスク型記憶装置から前記ディスク属性情報を読出す。前記格納するステップでは、前記読み出されたディスク属性情報を、前記キャッシュメモリ、前記共有メモリ又は前記保守用端末に格納する。前記転送するステップでは、前記格納されたディスク属性情報と、2以上の稼動中ディスク型記憶装置にそれぞれ対応した2以上のディスク属性とを比較して、前記2以上のディスク属性の少なくとも1つが、前記ディスク属性情報に含まれた1以上のディスク属性の少なくとも1つに適合した場合に、前記適合したディスク属性を有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する。
この方法に従う第六の実施態様では、前記記憶させるステップでは、読出し先ディスク型記憶装置が、第1と第2のファームウェアのうちの一方を使用して、前記読出し先ディスク制御部との間でデータをやり取している場合、使用中ではない他方のファームウェアを、前記転送対象ファームウェアに更新し、前記一方のファームウェアの使用が終了した後に、前記一方のファームウェアを前記転送対象ファームウェアに更新する。
この方法に従う第七の実施態様では、この方法は、前記旧バージョンファームウェアを前記新バージョンファームウェアに更新する場合、前記旧バージョンファームウェアを、前記読出し先ディスク型記憶装置の中に設けられた記憶領域に複製するステップと、前記新バージョンファームウェアを前記読出し先ディスク型記憶装置に転送することに失敗があった場合、前記記憶領域に複製された前記旧バージョンファームウェアを、前記読出し先ディスク型記憶装置のファームウェアとして復帰させるステップとを更に有する。
この方法に従う第八の実施態様では、この方法は、前記キャッシュメモリ又は前記共有メモリから読み出した転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送することに失敗があった場合、転送失敗を前記保守用端末に通知するステップを更に有する。前記転送するステップでは、前記転送失敗の通知に応答して前記保守用端末から出力された前記転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送する。
この方法に従う第九の実施態様では、前記複数のディスク型記憶装置には、2以上の読出し元ディスク型記憶装置が含まれている。前記読み出すステップでは、同一のRAIDグループを構成する2以上の読出し元ディスク型記憶装置が装着された場合、前記2以上の読出し元ディスク型記憶装置から選択された読出し先ディスク型記憶装置と同一のファイバチャネルループに接続されているディスク制御部が、前記選択された読出し先ディスク型記憶装置から転送対象ファームウェアを読み出す。
本発明の別の観点に従う記憶制御システムは、上位装置に接続される記憶制御システムであって、複数のディスク型記憶装置と、1又は複数のメモリと、記憶制御部とを備える。前記記憶制御部は、前記上位装置と前記複数のディスク型記憶装置との間のデータのやり取りを制御する。前記記憶制御部は、第1ディスク型記憶装置が前記記憶制御システムに装着されたことが検出された場合に、前記第1ディスク型記憶装置が有する新バージョンファームウェアを読み出し、前記メモリ(又は、前記記憶制御システムの保守又は管理を行うための、前記記憶制御部に接続された保守用端末)に格納する。そして、前記記憶制御部は、前記メモリ又は前記保守用端末に格納された新バージョンファームウェアを取得し、前記新バージョンファームウェアを、前記第1ディスク型記憶装置よりも過去に装着された複数の第2ディスク型記憶装置から選択された1以上の第3ディスク型記憶装置に転送する。前記第3ディスク型記憶装置は、前記第3ディスク型記憶装置が有する旧バージョンファームウェア(前記新バージョンファームウェアよりもバージョンの旧いファームウェア)を、前記記憶制御部から受信した新バージョンファームウェアに更新する。
この記憶制御システムの第一の実施態様では、前記メモリ、又は前記保守用端末の記憶部は、前記新バージョンファームウェアの更新対象となるファームウェアの1以上の旧バージョン属性(例えば旧バージョン識別情報)を表す更新対象旧バージョン属性情報を記憶する。前記記憶制御部は、前記複数の第2ディスク型記憶装置がそれぞれ有する複数のファームウェアのバージョン属性を前記複数の第2ディスク型記憶装置から取得し、前記メモリ又は前記保守用端末の記憶部に格納する。前記記憶制御部は、前記格納された複数のバージョン属性と、前記記憶された更新対象旧バージョン属性情報とを比較し、前記格納された複数のバージョン属性の少なくとも1つが、前記記憶された更新対象旧バージョン属性情報が表す1以上の旧バージョン属性の少なくとも1つに適合した場合、前記適合した旧バージョン属性を持つ旧バージョンファームウェアが搭載された第2ディスク型記憶装置を前記第3ディスク型記憶装置として選択する。
この記憶制御システムの第二の実施態様では、前記第一の実施態様において、前記メモリ、又は前記保守用端末の記憶部は、前記新バージョンファームウェアが正常に動作することができるディスク型記憶装置の1以上のディスク属性(例えば、機種、メーカ及びOSの少なくとも1つ)を表すディスク属性情報を記憶する。前記記憶制御部は、前記複数の第2ディスク型記憶装置にそれぞれ対応した複数の第2ディスク属性と、前記ディスク属性情報が表す1以上のディスク属性とを比較し、前記複数の第2ディスク属性の少なくとも1つが、前記1以上のディスク属性の少なくとも1つに適合した場合、前記適合したディスク属性を持つ第2ディスク型記憶装置を前記第3ディスク型記憶装置として選択する。
本発明によれば、複数のディスク型記憶装置から選択されたディスク型記憶装置にファームウェアを効率良く搭載することができる。
以下、図面を参照して本発明の一実施形態を説明する。
まず、本実施形態の概念の一つを簡単に説明する。
本実施形態に係る記憶制御システムは、例えば、新たに装着された第1のディスク型記憶装置から新バージョンファームウェアを読み出し、前記第1のディスク型記憶装置よりも過去に装着されている複数の第2のディスク型記憶装置から選択された1以上の第3のディスク型記憶装置の旧バージョンファームウェア(前記新バージョンファームウェアよりもバージョンの旧いファームウェア)を、前記読み出された新バージョンファームウェアに更新する。これにより、新バージョンファームウェアを備えた第1ディスク型記憶装置を装着しさえすれば、既に装着されている第3ディスク型記憶装置内の旧バージョンファームウェアが新バージョンファームに更新される。
以下、本実施形態について詳述する。
図1は、本発明の一実施形態に係る記憶制御システムの外観の概略を示す。
記憶制御システム600は、例えば、基本筐体10と複数の増設筐体12とから構成することができる(基本筐体11のみで構成されても良い)。
基本筐体10は、記憶制御システム600の最小構成単位である。この基本筐体10には、例えば、複数のディスク型記憶装置(例えばハードディスクドライブ(HDD))300と、複数の制御パッケージ(例えば後述するチャネル制御部又はディスク制御部)105と、複数の電源ユニット400と、複数のバッテリユニット500とがそれぞれ着脱可能に設けられている。また、基本筐体10には、複数の冷却ファン13が設けられている。
各増設筐体12は、記憶制御システム600のオプションであり、例えば、1つの基本筐体10に最大4個の増設筐体12を接続することができる。各増設筐体12には、複数の冷却ファン13が設けられている。また、各増設筐体12には、複数のディスク型記憶装置300と、複数の電源ユニット400と、複数のバッテリユニット500とがそれぞれ着脱可能に設けられており、それらの各々は、例えば、基本筐体10に設けられた制御パッケージ105が有する制御機能により制御される。
図2は、本発明の一実施形態に係る記憶システムの全体構成例を示す。
この記憶システム1の基本的な構成要素は、1又は複数のホスト端末200A〜200Dと、記憶制御システム600である。
ホスト端末(上位装置)200A〜200Dの各々は、例えば、CPU(Central Processing Unit)、不揮発性及び/又は揮発性のメモリ(例えばROM又はRAM)、及びハードディスク等をハードウェア資源として備えたコンピュータシステム(例えば、パーソナルコンピュータ又はワークステーション)である。各ホスト端末200A〜200DのCPUが、メモリに格納された各種コンピュータプログラムを読込んで実行することにより、コンピュータプログラムとハードウェア資源(例えばメモリ)とが協働した処理が行われて、種々の機能が実現される。ホスト端末200A〜200Dの各々は、種々の方法で記憶制御システム600に接続することができる。
例えば、ホスト端末200A〜200Bは、第一通信ネットワーク(例えば、LAN、インターネット又は専用回線、以下、LANであるとする)820を介して記憶制御システム600に接続されている。LAN820を介して行われるホスト端末200A及び200Bと記憶制御システム600との間の通信は、例えばTCP/IPプロトコルに従って行われる。ホスト端末200A及び200Bから記憶制御システム600に対して、ファイル名指定によるデータアクセス要求(ファイル単位でのデータ入出力要求、以下、「ファイルアクセス要求」と言う)が送信される。
また、例えば、ホスト端末200B及び200Cは、第二通信ネットワーク(例えば、SAN(Storage Area Network)、以下、SANであるとする)821を介して記憶制御システム600に接続されている。SAN821を介して行われるホスト端末200B及び200Cと記憶制御システム600との間の通信は、例えばファイバチャネルプロトコルに従って行われる。ホスト端末200B及び200Cから記憶制御システム600に対して、例えば、ブロック単位のデータアクセス要求(以下、「ブロックアクセス要求」と言う)が送信される(なお、ブロック単位とは、後述のディスク型記憶装置300上の記憶領域におけるデータの管理単位であるブロックを単位としたものである)。
また、例えば、ホスト端末200Dは、LAN820やSAN821等のネットワークを介さずに記憶制御システム600に接続されている。ホスト端末200Dは、例えば、メインフレームコンピュータとすることができる。ホスト端末200Dと記憶制御システム600との間の通信は、例えば、FICON(Fibre
Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre
Connection Architecture:登録商標)等の通信プロトコルに従って行われる。ホスト端末200Dから記憶制御システム600に対して、例えば、これらの通信プロトコルのうちのいずれかに従ってブロックアクセス要求が送信される。
Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre
Connection Architecture:登録商標)等の通信プロトコルに従って行われる。ホスト端末200Dから記憶制御システム600に対して、例えば、これらの通信プロトコルのうちのいずれかに従ってブロックアクセス要求が送信される。
LAN820及びSAN821の少なくとも一方には、例えば、バックアップ記憶制御システム910が接続されている。バックアップ記憶制御システム910は、例えば、1又は複数個のディスク系デバイス(例えば、MO、CD−R、又はDVD−RAM)から選択されたディスク系デバイスにデータを格納する記憶制御システムであっても良いし、後に詳述する記憶制御システム600のような記憶制御システムであっても良いし、1又は複数個のテープ系デバイス(例えば、DATテープ、カセットテープ、オープンテープ又はカートリッジテープ)から選択されたテープ系デバイスにデータを格納する記憶制御システムであっても良い。バックアップ記憶制御システム910は、例えば、LAN820或いはSAN821(又は、更に、バックアップ制御システム910に接続されているホスト端末)を介して、記憶制御システム600に記憶されているデータを受信し、自分が備えている記憶装置(例えばテープ系デバイス)にそのデータを格納する。
また、LAN820及びSAN821のうちの少なくともLAN820には、例えば、管理サーバ819が接続されていても良い。管理サーバ819は、例えば、ホスト端末と別のホスト端末との間の通信や、ホスト端末と記憶制御システム600との間の通信の中継を行っても良い。
また、ホスト端末200A〜200Dは、第三通信ネットワーク(例えばLAN)を介して相互に接続されていても良い。
記憶制御システム600は、例えば、RAID((Redundant
Array of Independent Inexpensive Disks))システムである。記憶制御システム600は、ホスト端末200A〜200Dから受信したコマンドに従う制御を行う。記憶制御システム600は、記憶制御サブシステム(ディスクアレイ装置)102と、保守用端末(以下、Service Processorを略して「SVP」と記載)160とを備える。記憶制御サブシステム102は、記憶制御装置100と、記憶装置ユニット101とを備える。記憶制御装置100は、1又は複数のチャネル制御部110A〜110Dと、1又は複数のキャッシュメモリ(以下、Cache Memoryを略して「CM」と記載)130と、1又は複数の共有メモリ(以下、Shared Memoryを略して「SM」と記載)120と、1又は複数のディスク制御部140A〜140Dと、接続部150とを備える。記憶装置ユニット101は、1以上の物理ディスク群5を備える。1以上の物理ディスク群5の各々は、アレイ状に配列された複数のディスク型記憶装置300を有する。
Array of Independent Inexpensive Disks))システムである。記憶制御システム600は、ホスト端末200A〜200Dから受信したコマンドに従う制御を行う。記憶制御システム600は、記憶制御サブシステム(ディスクアレイ装置)102と、保守用端末(以下、Service Processorを略して「SVP」と記載)160とを備える。記憶制御サブシステム102は、記憶制御装置100と、記憶装置ユニット101とを備える。記憶制御装置100は、1又は複数のチャネル制御部110A〜110Dと、1又は複数のキャッシュメモリ(以下、Cache Memoryを略して「CM」と記載)130と、1又は複数の共有メモリ(以下、Shared Memoryを略して「SM」と記載)120と、1又は複数のディスク制御部140A〜140Dと、接続部150とを備える。記憶装置ユニット101は、1以上の物理ディスク群5を備える。1以上の物理ディスク群5の各々は、アレイ状に配列された複数のディスク型記憶装置300を有する。
チャネル制御部110A〜110Dの各々は、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができる。各チャネル制御部110A〜110Dは、記憶制御装置100(例えば基本筐体10)に対して着脱可能であり、チャネルアダプタと呼ばれることがある。各チャネル制御部110A〜110Dは、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラムとをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、所定の機能を実現する。チャネル制御部110A〜110Dの各々は、多重化(例えば二重化)されており、1つのチャネル制御部が破損しても他のチャネル制御部で動作するようになっている。チャネル制御部110A〜110Dは、SM120内の制御情報等(例えば後述のLU−LDEV管理テーブル)を参照しつつ、ホスト端末から受信したコマンドに従う処理を実行する。チャネル制御部110A〜110Dのうち、チャネル制御部110Cを例に採り、ディスク制御部140A〜140Dの動作も含めて先に説明すると、例えば、チャネル制御部110Cは、ホスト端末200A又は200Bから、リード要求を含んだI/O要求(入/出力要求、ここではブロックアクセス要求)を受信すると、読出しコマンドをSM120に記憶させると共に、CM130にキャッシュ領域を確保する。ディスク制御部140A〜140Dは、SM120を随時参照しており、未処理の読出しコマンドを発見すると、ディスク型記憶装置300からデータ(典型的には、ホスト端末200A〜200Dとディスク型記憶装置300との間でやり取りされるユーザデータ)を読み出して、CM130に確保された上記キャッシュ領域に記憶させる。チャネル制御部110Cは、CM130に移されたデータをキャッシュ領域から読み出し、そのデータをリード要求発行元のホスト端末200A又は200Bに送信する。
また、例えば、チャネル制御部110Cは、ホスト端末200B又は200Cから、ライト要求を含んだI/O要求を受信すると、書込みコマンドをSM120に記憶させると共に、CM130にキャッシュ領域を確保し、受信したI/O要求に含まれているデータを、上記確保したキャッシュ領域に記憶させる。その後、チャネル制御部110Cは、ライト要求発行元のホスト端末200B又は200Cに対して書込み完了を報告する。そして、ディスク制御部140A〜140Dは、SM120を随時参照しており、未処理の書込みコマンドを発見すると、その書込みコマンドに従って、CM130に確保された上記キャッシュ領域からデータを読出し、そのデータを所定のディスク型記憶装置300に記憶させる。
上記の処理は、他のチャネル制御部110A〜110B及び110Dも行うことができる。なお、チャネル制御部110A〜110Bは、ファイルアクセス要求をブロックアクセス要求に変換した後に(例えば、自分が持っているファイルシステムに従い、ファイル要求に含まれているファイル名を論理ブロックアドレスに変換した後に)、上記の処理を行う。
ディスク制御部140A〜140Dは、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができる。各チャネル制御部140A〜140Dは、記憶制御装置100(例えば基本筐体10又は増設筐体12)に対して着脱可能であり、ディスクアダプタと呼ばれることがある。ディスク制御部140A〜140Dは、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラムとをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、所定の機能を実現する。ディスク制御部140A〜140Dの各々は、多重化(例えば二重化)されており、1つのディスク制御部が破損しても他のディスク制御部で動作するようになっている。ディスク制御部140A〜140Dは、SM120内の制御情報等(例えば後述のLU−LDEV管理テーブル)を参照しつつ、各物理ディスク群5に含まれる各ディスク型記憶装置300との間のデータ通信を制御するものである。各ディスク制御部140A〜140Dと各ディスク型記憶装置300とは、例えば、SAN等の通信ネットワークを介して接続されており、ファイバチャネルプロトコルに従ってブロック単位のデータ転送を行う。また、ディスク制御部140A〜140Dは、ディスク型記憶装置300の状態を随時監視しており、この監視結果は内部の通信ネットワーク(例えばLAN)151を介してSVP160に送信される。
1又は複数のCM130は、例えば、揮発性又は不揮発性のメモリである。CM130には、キャッシュ領域が確保され、そこに、チャネル制御部110A〜110Dとディスク制御部140A〜140Dとの間で送受されるデータが記憶される。そのデータは、複数のCM130により多重管理されても良い。
1又は複数のSM120は、例えば不揮発性のメモリから構成され、制御情報等を記憶する(例えば、制御情報等は、複数のSM120により多重管理されても良い)。制御情報等には、例えば、チャネル制御部110A〜110Dとディスク制御部140A〜140Dとの間でやり取りされる種々のコマンドや、キャッシュ管理テーブルや、ディスク管理テーブルや、LU−LDEV管理テーブルがある。キャッシュ管理テーブルは、例えば、キャッシュ領域と、後述するLDEVの論理アドレスとの対応関係が書かれたテーブルである。ディスク管理テーブルは、各ディスク型記憶装置300を管理するためのテーブルであり、例えば、各ディスク型記憶装置300毎に、ディスクID、ベンダ、記憶容量、RAIDレベル、使用状況(例えば使用中か未使用か)等を有する。LU−LDEV管理テーブルは、後述するLDEVを管理するためのテーブルであり、例えば、各LDEV毎に、論理パス情報(例えばポート番号、ターゲットID及びLUN)、アドレス管理情報(例えば、ディスク型記憶装置300上の物理アドレスとLDEVにおける論理アドレスとの対応関係)、記憶容量及びRAIDレベルを有する。なお、物理アドレスとは、例えば、ディスク型記憶装置300のID、ディスクヘッド番号、及びセクタ数を含んだアドレス情報である。論理アドレスとは、例えば、LUN(Logical Unit Number)、LDEV番号、及び論理ブロックアドレスを含んだアドレス情報である。
接続部150は、各チャネル制御部110A〜110Dと、各ディスク制御部140A〜140Dと、CM130と、SM120とを相互に接続するものである。チャネル制御部110A〜110D、CM130、SM120及びディスク制御部140A〜140D間でのデータやコマンドの授受は、接続部150を介することにより行われる。接続部150は、例えば、ユーザデータが通過する第1サブ接続部と、制御情報等が通過する第2接続部とを含んでいる。第1サブ接続部には、各チャネル制御部110A〜110D、各ディスク制御部140A〜140D及びCM130が接続され、第2サブ接続部には、各チャネル制御部110A〜110D、各ディスク制御部140A〜140D及びSM120が接続される。第1サブ接続部及び第2サブ接続部のうちの少なくとも第1サブ接続部は、例えば、高速スイッチングによりデータ伝送を行う超高速クロスバスイッチ等の高速バスである。
複数のディスク型記憶装置300の各々は、例えば、ハードディスクドライブ或いは半導体メモリ装置等である。複数のディスク型記憶装置300のうちの2以上の所定数のディスク型記憶装置300によって、RAIDグループ2が構成されている。RAIDグループ2は、例えば、パリティグループ又はエラーコレクショングループとも呼ばれることがあり、RAIDの原理に従ったディスク型記憶装置300のグループである。同じRAIDグループ2に属する2以上のディスク型記憶装置300は、例えば異なるマザーボード上に搭載され、一つのディスク型記憶装置300が故障しても、残りの他のディスク型記憶装置300のデータを用いて、その故障したディスク型記憶装置300のデータを復元できるように構成されている。このRAIDグループ2の提供する物理的な記憶領域上に、論理的な記憶デバイスである複数のLDEV(Logical Device)が設定され、複数のLDEVのうちの1以上のLDEVが、LUN(Logical Unit Number)を持った1つのLU(Logical Unit)310として、記憶制御装置100からホスト端末200A〜200Dに提供される。各LU310は、例えば、プライマリLU(データコピー元LU)として、セカンダリLU(データコピー先LU)である別LU310とペアになる場合があり、その場合、そのLU310内の全部又は一部のデータ(例えば更新前のデータ)が、別LU310にコピーされることがある。また、各LU310は、例えば、セカンダリLUとして、プライマリLUである別LU310とペアになる場合があり、その場合、別LU310内の全部又は一部のデータ(例えば更新前のデータ)が、そのLU310にコピーされることがある。
SVP160は、ストレージシステム600を保守又は管理するためのコンピュータマシンである。SVP160は、例えば、内部LAN等の通信ネットワーク151を介して、記憶制御システム600の各構成要素(例えば、各チャネル制御部110A〜110D及び各ディスク制御部140A〜140D)から情報を収集することができる。具体的には、例えば、記憶制御システム600の各構成要素(例えばチャネル制御部又はディスク制御部)に搭載されているOS(オペレーティングシステム)、アプリケーションプログラム、ドライバソフトウェア等が、その構成要素で発生した障害発生に関する障害発生情報を出力するようになっていて、SVP160が、その障害発生情報を受信することができる。SVP160が受ける情報としては、例えば、装置構成、電源アラーム、温度アラーム、入出力速度(例えば、記憶制御装置100が一定時間当たりに受信したI/O要求の数)等がある。また、例えば、SVP160は、オペレータによる操作に応答して、例えば、ディスク型記憶装置300の設定や、LDEVの設定や、チャネル制御部110A〜110Dにおいて実行されるマイクロプログラムのインストール等を行うことができる。また、SVP160は、例えば、記憶制御システム600の動作状態の確認や故障部位の特定、チャネル制御部110で実行されるオペレーティングシステムのインストール等の作業を行うこともできる。また、例えば、SVP160は、LANや電話回線等の通信ネットワークを介して外部保守センタ(図示せず)と接続されていて、その外部保守センタに、記憶制御システム600の各構成要素から受信した障害発生情報等を通知しても良い。また、SVP160は、記憶制御システム600に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。
以上が、記憶制御システム600についての基本的な説明である。なお、この記憶制御システム600では、例えば、1つのチャネル制御部と1つのディスク制御部とが1つのモジュールとして一体的に構成されて、その1つのモジュールで、チャネル制御部及びディスク制御部の機能を発揮しても良い。また、例えば、SM120とCM130が、一体的に構成されていても良い。また、各チャネル制御部毎に1つのLUNが割当てられても良いし、複数のチャネル制御部に1つのLUNが割当てられても良い。また、記憶制御システム600には、別の記憶制御システムが接続されていても良い。その場合、例えば、記憶制御システム600が有するプライマリLUと、別の記憶制御システムが有するセカンダリLUとがペア状態にされて、記憶制御システム600に接続されているホスト端末200A〜200Dが、記憶制御システム600を介して別の記憶制御システム内のセカンダリLUにアクセスしても良い。また、例えば、記憶制御システム600は、ファイルアクセス要求及びブロックアクセス要求の双方を受けるものであっても良いし、ファイルアクセス要求のみを受けるもの(例えばNAS)であっても良いし、ブロックアクセス要求のみを受けるものであっても良い。
図3は、本実施形態に係るディスク制御部140Aの構成例を示す。ディスク制御部140A〜140Dは実質的にどれも同じ構成なので、ディスク制御部140Aを代表的に例に採り説明する。
ディスク制御部140Aは、ユニット化されたボード(例えばディスクアダプタ)として形成されている。このディスク制御部140Aは、図示しないボード接続用コネクタを備えており、そのボード接続用コネクタが記憶制御装置100の所定コネクタに嵌合することにより、ディスク制御部140Aは記憶制御装置100と電気的に接続される。ディスク制御部140Aには、ディスクインターフェース部(以下、「ディスクI/F」と略記)141、ディスク側メモリ115、1又は複数の入出力制御部591、SVPインターフェース部(以下、「SVPI/F」と略記)50、CMデータ転送回路713及びSMデータ転送回路741が搭載されている。
ディスクI/F711は、ディスク型記憶装置300との間で通信を行うための通信インタフェースであり、例えば、SAN等の通信ネットワークを介してディスク型記憶装置300に接続される。
1又は複数の入出力制御部591の各々は、ホスト端末200A〜200Dから受信したI/O要求に基づいて行われる処理を制御するものであり、例えばマイクロプロセッサユニットである。入出力制御部591には、例えば、DKP(DisK Processor)123やDKPメモリ122が搭載される。
DKP123は、例えば、マイクロプロセッサであり、ディスク制御部140全体の制御を司ると共に、チャネル制御部110A〜110Dや、ディスク型記憶装置300や、SVP160との間の通信を制御する。DKP123は、DKPメモリ122(又はディスク側メモリ115)に格納された各種コンピュータプログラムを実行することにより、ディスク制御部140Aとしての機能を発揮する。ディスク制御部140Aが発揮する機能としては、例えば、RAIDレベルに基づくディスク型記憶装置300へのデータ格納及び読み出し制御や、ディスク型記憶装置300に記憶されたデータの複製及びバックアップ等の制御である。
DKPメモリ122は、揮発性又は不揮発性のメモリ(例えばNVRAM(Non Volatile RAM))であり、例えば、DKP123の制御を司るコンピュータプログラムを格納する。DKPメモリ122に記憶されるプログラムの内容は、例えば、SVP160や、後述するNASマネージャ806からの指示により書き込みや書き換えを行うことができる。
SVPI/F50は、内部LAN150等の通信ネットワークを介してSVP160に接続され、且つ、DKP123に接続される。SVPI/F50は、SVP160とDKP123との間の通信を制御するための通信インタフェース(例えばLANコントローラ)である。
CMデータ転送回路713は、例えば、DKP123の制御の下で、CM130からユーザデータを受信してディスク側メモリ115に転送したり、ディスク型記憶装置300から取得されたユーザデータをCM713に転送したりする。
SMデータ転送回路741は、例えば、DKP123の制御の下で、DKP123からCHP(チャネルプロセッサ)への制御情報(例えばプロセッサ間メッセージ)をSM120に転送したり、SM120から受信した制御情報をDKP123に転送したりする。
ディスク側メモリ115は、揮発性又は不揮発性のメモリである。ディスク型メモリ115には、例えば、DKP123によって、CM130又はSM120から読み出された情報が一時的に格納される。
図4は、1つのディスク制御部と複数のディスク型記憶装置との接続機構を示す。なお、この図では、ディスク制御部140A〜140Dのうちディスク制御部140Aを例に採るが、他のディスク制御部140B〜140Dについても接続機構は同様である。
例えば1つのファイバチャネルループ390に、ディスク制御部140Aと、複数のディスク型記憶制御装置300、300、…が接続されている。ディスク制御部140Aは、同一のファイバチャネルループ390に接続されている複数のディスク型記憶装置300、300、…にアクセスすること(例えば、データを読出す及び書込むこと)ができる。
ファイバチャネルループ390は、例えば、1又は複数のハブ(例えば、1つのファイバチャネルスイッチ、以下、「FC−SW」と表記)311を含んでいる。FC−SW311に1つのディスク制御部140Aと複数のディスク型記憶装置300、300、…が接続されている場合、FC−SW311は、ディスク制御部140Aと各ディスク型記憶装置300との間の通信を制御する。
FC−SW311は、SW制御部313と、SWメモリ315とを備える。SW制御部313は、例えばCPU(Central Processing Unit)であり、FC−SW311の動作(例えば、ディスク制御部140Aと各ディスク型記憶装置300との間の通信)を制御する。SW制御部313は、例えば、記憶制御システム600(例えば基本筐体10又は増設筐体12)の所定の場所(例えばFC−SW311が電気的に接続可能な場所)に、ディスク型記憶装置300が装着されたか否かを監視し、その監視結果(例えば、どの場所にディスク型記憶装置が装着されたか)を、SWメモリ(例えばレジスタ)315に書き込む。
FC−SW311に接続された複数のディスク型記憶装置300、300、…には、例えば、新たに記憶制御システム600に装着された(別の言い方をすれば、新たにFC−SW311に接続された)ディスク型記憶装置(以下、便宜上、「新ディスク型記憶装置」と言う)300Aと、新ディスク型記憶装置300Aよりも過去から既に装着されていた2以上のディスク型記憶装置(以下、便宜上、「稼動中ディスク型記憶装置」と言う)300B、300B、…とが含まれている。
新ディスク型記憶装置300Aと、稼動中ディスク型記憶装置300Bの構成は基本的には同じである。新ディスク型記憶装置300Aを例に採り説明すると、新ディスク型記憶装置300Aは、ディスク情報記憶領域317Aと、ファームウェアグループ記憶領域319Aと、ホストデータ記憶領域321Aと、リードライト制御部323Aとがある。ディスク情報記憶領域317A、ファームウェアグループ記憶領域319A、及びホストデータ記憶領域321Aの少なくとも1つは、同一の記憶媒体(例えばハードディスク又はメモリ)上に設けられても良いし、別々の記憶媒体上に設けられても良い。
ディスク情報記憶領域317Aには、新ディスク型記憶装置300Aに関するディスク情報が記憶される。ディスク情報には、例えば、新ディスク型記憶装置300AのID(以下、「ディスクID」例えば、)が含まれている。
ファームウェアグループ記憶領域319Aには、ファームウェアグループ324が記憶されている。ファームウェアグループ324には、例えば、リードライト制御部323Aに読み込まれて新ディスク型記憶装置300Aを制御するファームウェアが含まれている。そのファームウェアが、バージョンの新しい新バージョンファームウェアの場合、ファームウェアグループ324Aには、新バージョンファームウェアに交換されるべきファームウェアの1以上の旧バージョンが書かれた交換対象バージョンリスト327も含まれている。なお、新バージョンファームウェア325Aとは、後述する旧バージョンファームウェア325Bよりもバージョンの新しいファームウェアである。新バージョンファームウェア325Aは、例えば、補助データと、本体データとを有する。補助データには、例えば、ファームウェアのバージョン(図示の例では、新バージョンであれば「VV1-RR4」、旧バージョンであれば「VV1-RR3」)を表すバージョンコードと、新バージョンファームウェア325Aを稼動中ディスク型記憶装置300Bに設定するためのインストールプログラムとが含まれている。本体データには、例えば、新バージョンファームウェア325Aとして動作するためのコンピュータプログラム等が含まれている。本体データは、例えば、新バージョンファームウェア325Aとして動作するのに必要な全てのコンピュータプログラムが含まれていても良いし、旧バージョンファームウェア325Bとの差分のみが含まれていても良い。
ホストデータ記憶領域321Aには、新ディスク型記憶装置300Aとホスト端末200A〜200Dとの間でやり取りされるデータ(以下、「ホストデータ」と言う)が格納される。
リードライト制御部323Aは、例えば、FC−SW311と通信可能に接続されるファイバチャネルアダプタであり、CPU及びメモリを備えた回路基板である。リードライト制御部323Aは、ファームウェアグループ記憶領域319Aから新バージョンファームウェア325Aを読み出し、その新バージョンファームウェア325Aに含まれる種々のプログラムコードに従って、新ディスク型記憶装置300Aの動作を制御する。例えば、リードライト制御部323Aは、ホスト端末200A〜200Dからディスク制御部140A及びFC−SW311を介して受信したホストデータを、ホストデータ記憶領域321Aに格納したり、ホストデータ格納領域321Aからホストデータを読み出してFC−SW311を介してディスク制御部140Aに送信したりする。また、例えば、リードライト制御部323Aは、ディスク制御部140Aからのファームウェアグループ読出し命令を受け、その命令に応答して、ファームウェアグループ記憶領域319Aからファームウェアグループ324Aを読み出しディスク制御部140Aに転送する。
稼動中ディスク型記憶装置300Bのファームウェアグループ319Bには、新バージョンファームウェア325Aよりもバージョンの旧い旧バージョンファームウェア325Bが含まれている。
前述したように、新バージョンファームウェア325Aにも旧バージョンファームウェア325Bにも、ファームウェアのバージョン(図示の例では、新バージョンであれば「VV1-RR4」、旧バージョンであれば「VV1-RR3」)を表すバージョンコードが含まれている。ファームウェアのバージョンを判別する場合には、そのファームウェアに含まれているバージョンコードを参照することで、そのファームウェアのバージョンを判別することができる。なお、ファームウェアのバージョンコードは、ディスク情報記憶領域317A、317Bに記憶されていて、そのディスク情報記憶領域317A、317Bにアクセスすることにより、ファームウェアのバージョンを判別することができるようになっていても良い。
図5は、ディスク型記憶装置300が記憶制御システム600に新たに装着されたこと場合に行われるファームウェアグループ読出し処理の流れを示す。
FC−SW311のSW制御部313は、記憶制御システム600(例えば基本筐体10又は増設筐体12)の所定の場所(例えばFC−SW311が電気的に接続可能な場所)に、ディスク型記憶装置300が装着されたか否かを監視している(ステップS1)。
新ディスク型記憶装置300Aが記憶制御システム600の所定の場所に装着された場合(S2)、SW制御部313は、新ディスク型記憶装置300Aが記憶制御システム600に電気的に接続されたことを検出して(S3)、新ディスク型記憶装置300Aが装着されたことをSWメモリ315に書く(例えばフラグを立てる)(S4)。
ディスク制御部140A(例えばそれに搭載されているDKP123)は、FC−SW311のSWメモリ315の記憶内容を監視する(S5)。
SWメモリ315に、新ディスク型記憶装置300Aが装着されたことが書かれた場合、ディスク制御部140Aは、そのことを検出する(S6)。その後、新ディスク型記憶装置300A内のファームウェアグループ324Aが、CM130、SM120及びSVP160のうちの少なくとも1つに読み出される。以下、順に説明する。
(1)新ディスク型記憶装置300A内のファームウェアグループ324Aが、CM130に読み出される場合。
ディスク制御部140Aは、CM130上に一時バッファ領域(以下、「キャッシュ領域」と言う)130Aを確保し(S7)、新ディスク型記憶装置300Aに、ファームウェアグループ読出し指示を出す(S8)。
新ディスク型記憶装置300Aのリードライト制御部323Aは、ディスク制御部140Aからのファームウェアグループ読出し指示に応答して、ファームウェアグループ記憶領域319Aからファームウェアグループ324Aを読み出し、それを、ディスク制御部140A及びDRR(Data Recovery Regeneration)回路335を介して、S7で確保されたキャッシュ領域に転送する(S9)。
以上のS7〜S9の処理流れにより、新ディスク型記憶装置300A内のファームウェアグループ324Aが、CM130に読み出される。
(2)新ディスク型記憶装置300A内のファームウェアグループ324Aが、SM120に読み出される場合。
SM120には、複数のディスク制御部140A〜140Dにそれぞれ対応した複数のDKA記憶領域337A〜337Dが用意されている。各DKA記憶領域337A〜337Dは、それに対応したディスク制御部によって定期的にアクセスされるようになっている。なお、各DKA記憶領域337A〜337Dには、図示しないが、そのDKA記憶領域に対応したディスク制御部に搭載されている1又は複数のDKP123にそれぞれ対応した1又は複数のDKPポーリング領域が用意されている。
ディスク制御部140A上のDKP123は、新ディスク型記憶装置300Aに、ファームウェアグループ読出し指示を出し(S8)、それに応答して取得されたファームウェアグループ324Aを(S10)、他のディスク制御部140B〜140D上に対応したDKA記憶領域337B〜337Dに格納する(S11)。
以上のS8及びS10〜S11の処理流れにより、新ディスク型記憶装置300A内のファームウェアグループ324Aが、SM120に読み出される。
(3)新ディスク型記憶装置300A内のファームウェアグループ324Aが、SVP160に読み出される場合。
ディスク制御部140A上のDKP123は、新ディスク型記憶装置300Aに、ファームウェアグループ読出し指示を出し(S8)、それに応答して取得されたファームウェアグループ324Aを(S10)、内部通信ネットワーク(例えばLAN)151を介してSVP160に送信する。SVP160に送信されたファームウェアグループ324Aは、SVP160の内部通信ネットワークインターフェース162を介して、SVP160の記憶部(例えばハードディスク又はメモリ)161に格納される。
以上のS8、S10及びS12の処理流れにより、新ディスク型記憶装置300A内のファームウェアグループ324Aが、SVP160に読み出される。
さて、新ディスク型記憶装置300A内のファームウェアグループ324Aが、CM130、SM120及びSVP160のうちの少なくとも1つに読み出された後、以下に説明する処理流れにより、稼動中ディスク型記憶装置300B内の旧バージョンファームウェア325Bが、新バーションファームウェア325Aに更新される。以下、その処理流れを、ディスク制御部140Cと同一のファイバチャネルループ390に接続されている稼動中ディスク型記憶装置300Bのファームウェアが更新される場合を例に採り説明する(以下に説明する処理流れは、他のディスク制御部140A〜140B及び140Dについても同様である)。
(1)新ディスク型記憶装置300A内のファームウェアグループ324AがCM130に読み出された場合。
図6は、新ディスク型記憶装置300A内のファームウェアグループ324AがCM130に読み出された場合に行われるファームウェア更新処理流れを示す。
チャネル制御部140Cのディスク型メモリ115(又はDKPメモリ122)には、チャネル制御部140Cと同一のファイバチャネルループ390に接続された2以上のディスク型記憶装置300に関するディスク装置情報341が格納される。ディスク装置情報341は、例えば、それら2以上のディスク型記憶装置300にそれぞれ対応した2以上のディスクID及びファームウェアバージョンが含まれている。ディスク装置情報341は、SVP160等を使用するユーザによって予め登録されても良いし、ディスク制御部140CのDKP123によって自動的に取得されたものであっても良い。後者の場合、DKP123が、例えば、SCSIプロトコルに基づくInquiryコマンドを、2以上のディスク型記憶装置300に送信し、それに応答して2以上のディスク型記憶装置300からそれぞれ受信した2以上のディスクID及びファームウェアバージョンを基に、ディスク装置情報341をディスク型メモリ115に登録する。
ファームウェアグループ324AがCM130に読み出された後、ディスク制御部140Aは、ディスク制御部140Cに対応したDKA記憶領域337C(SM120上の記憶領域)に、ファームウェア更新命令を格納する(S21)。
ディスク制御部140C上のDKP123は、DKA記憶領域337Cからファームウェア更新命令を取得した場合(S22)、CM130に確保されたキャッシュ領域130Aからファームウェアグループ324Aを読み出し、そのファームウェアグループ324Aをディスク側メモリ115に登録する(S23)。
DKP123は、ホスト端末200A〜200DからのI/O要求の処理中で無い場合(S24でN)、同一のファイバチャネルループ390に接続された2以上の稼動中ディスク型記憶装置300Bにそれぞれ対応した2以上の旧バージョンファームウェアバージョン(ディスク側メモリ115に登録された2以上の旧バージョンファームウェアバージョン)と、ファームウェアグループ324Aに含まれている交換対象バージョンリスト327に記載の1以上の旧バージョンファームウェアバージョン(以下、「リスト記載旧バージョン」と言う)とを比較する(S25)。
S25の結果、2以上の旧バージョンファームウェアバージョンの少なくとも1つが、1以上のリスト記載旧バージョンの少なくとも1つに適合(例えば一致)した場合(S26でY)、DKP123は、その旧バージョンファームウェアバージョンに対応したディスクIDを持った稼動中ディスク型記憶装置300Bに、ディスク側メモリ115にある新バージョンファームウェア325Aを転送し、且つ、再起動を命令する(S27)。
新バージョンファームウェア325Aを受けた稼動中ディスク型記憶装置300Bのリードライト制御部323Bは、ファームウェアグループ記憶領域319Bにある旧バージョンファームウェア325Bを消去し、その記憶領域319Bに、受信した新バージョンファームウェア325Aを格納する(S28)。その後、DKP123からの再起動命令に従って、リードライト制御部323Bは、再起動を実行する(S29)。それにより、ファームウェアグループ記憶領域319B内の新バージョンファームウェア325Aがリードライト制御部323Bに読み込まれ、その新バージョンファームウェア325Aにより、稼動中ディスク型記憶装置300Bの動作が制御されるようになる。
なお、以上の処理流れにおいて、DKP123は、S24において、I/O要求の処理中(例えば、ホストデータが稼動中ディスク型記憶装置300Bに格納されている最中又は稼動中ディスク型記憶装置300Bからホストデータが読み出されている最中)であれば(S24でY)、S25を開始せずに、I/O要求の処理を優先して行う(S30)。DKP123は、その処理が終了した後に(S24でNになった後に)、S25を実行する。
(2)新ディスク型記憶装置300A内のファームウェアグループ324AがSM120に読み出された場合。
図7は、新ディスク型記憶装置300A内のファームウェアグループ324AがSM120に読み出された場合に行われるファームウェア更新処理流れを示す。以下、ファームウェアグループ324AがCM130に読み出された場合に行われるファームウェア更新処理流れとの相違点を主に説明し、共通点については、説明の重複を避けるために簡略又は省略する。
ディスク制御部140C上のDKP123は、DKA記憶領域337Cからファームウェア更新命令を取得した場合、そのDKA記憶領域337Cからファームウェアグループ324Aを読み出し、そのファームウェアグループ324Aをディスク側メモリ115に登録する(S43)。
以後、上述したS24〜S30の処理が行われる(S44〜S50)。
(3)新ディスク型記憶装置300A内のファームウェアグループ324AがSVP160に読み出された場合。
図8は、新ディスク型記憶装置300A内のファームウェアグループ324AがSVP160に読み出された場合に行われるファームウェア更新処理流れを示す。
SVP160内の制御部(例えばCPU)163は、所定のタイミングに(例えば、ユーザの命令を受けたとき又は起動したとき)、全てのディスク制御部140A〜140Dに対してDKA情報収集命令を送信する(S51)。
SVP160からDKA情報収集命令を受けたディスク制御部140A〜140Dの各々は、自分の管理下にある(例えば同一のファイバチャネルループ390に接続されている)各ディスク型記憶装置300に対して、ディスク情報収集コマンド(例えば、SCSIプロトコルに基づくInquiryコマンド)を送信する(S52)。ディスク情報収集コマンドを受けた各ディスク型記憶装置300のリードライト制御部323A又は323Bは、そのディスク型記憶装置300のディスクID及びファームウェアバージョンを取得し、取得したディスクID及びファームウェアバージョンを、同一のファイバチャネルループ390に接続されているディスク制御部に送信する。ディスク制御部140A〜140Dは、受信したディスクID及びファームウェアバージョンをSVP160に送信する(S53)。
SVP160の制御部163は、受信したディスクID及びファームウェアバージョンを記憶部(例えばメモリ又はハードディスク)161に格納する(S54)。それにより、記憶部161には、例えば、図示のように、記憶制御システム600に搭載されている複数のディスク型記憶装置300にそれぞれ対応した複数のディスクID及びファームウェアバージョンが登録される。なお、制御部163は、受信したディスクID及びファームウェアバージョンの一覧を、SVP160のディスプレイ画面に表示しても良い。
制御部163は、記憶部161に登録されたディスク装置情報341に含まれている複数のファームウェアバージョンと、ファームウェアグループ324Aに含まれている交換対象バージョンリスト327に記載の1以上のリスト記載旧バージョンとを比較する(S55)。
S55の結果、複数のファームウェアバージョンの少なくとも1つが、1以上のリスト記載旧バージョンの少なくとも1つに適合(例えば一致)した場合(S56でY)、制御部163は、その旧バージョンファームウェアバージョンを持った稼動中ディスク型記憶装置300Bを管理しているディスク制御部(例えば140C)に、その稼動中ディスク型記憶装置300BのディスクIDと、記憶部161に登録されている新バージョンファームウェア325Aとを転送する(S57)。
ディスク制御部140Cは、受信したディスクIDを有する稼動中ディスク型記憶装置300Bに、SVP160から受信した新バージョンファームウェア325Aを転送する(S58)。
新バージョンファームウェア325Aを受けた稼動中ディスク型記憶装置300Bのリードライト制御部323Bは、上述したS28及びS29の処理を行う(S59及びS60)。
以上、上述した実施形態によれば、新バージョンファームウェア325A及び交換対象バージョンリスト324Aを有する新ディスク型記憶装置300Aを記憶制御システム600に装着しさえすれば、複数の稼動中ディスク型記憶装置300Bにそれぞれ対応した複数のファームウェアのうち、交換対象バージョンリスト324Aに書かれたリスト記載旧バージョン(例えば「VV1-RR3」)のファームウェア325Bが自動的に新バージョンファームウェア325Aに更新される。もっと抽象的に言えば、新たに装着されたディスク型記憶装置300Aから新バージョンファームウェア325Aが読み出され、既に装着されている稼動中ディスク型記憶装置300B内の旧バージョンファームウェアは、その読み出された新バージョンファームウェア325Aに更新される。これにより、効率的に(例えば、故障したディスク型記憶装置を新品のディスク型記憶装置に交換するのと一緒に)、稼動中ディスク型記憶装置300Bのファームウェアを更新することができる。また、上述した実施形態によれば、ディスク型記憶装置300Aを装着するだけで旧バージョンファームウェアが新バージョンファームに更新されるので、特開平11−134114号公報のように、基準ディスクのファームウェアを新バージョンファームウェアに更新するといった別段の処理は必要無い。
また、上述した(3)のファームウェア更新処理(すなわち、新ディスク型記憶装置300AからSVP160を介して稼動中ディスク型記憶装置300Bに新バージョンファームウェア325Aを格納する処理)に比べて、上述した(1)又は(2)のファームウェア更新処理(すなわち、新ディスク型記憶装置300AからCM130又はSM120を介して稼動中ディスク型記憶装置300Bに新バージョンファームウェア325Aを格納する処理)の方が、より効率的であると考えられる。なぜなら、(3)のファームウェア更新処理では、SVP160を操作する人間を必要とし、また、新ディスク型記憶装置300Aの使用が開始された後はそれを使用しているユーザの承諾を得てからでないとファームウェア更新処理が行えない場合があるが、(1)又は(2)のファームウェア更新処理は、新ディスク型記憶装置300Aを装着した場合に自動的に行なわれるので、(3)のファームウェア更新処理のような煩わしさは無いからである。
ところで、この実施形態には、幾つかの変形例が考えられる。以下、幾つかの変形例について説明する。なお、以下の説明では、上述した実施形態との相違点を主に説明し、共通点については、説明の重複を避けるために、説明を省略又は簡略する。
(A)第1変形例。
図9は、本実施形態の第一変形例に係るディスク型記憶装置の構成を示す。
例えば、稼動中ディスク型記憶装置300Bのディスク情報記憶領域317Bには、その稼動中ディスク型記憶装置300Bに関するディスク属性情報383Bが記憶されている。ディスク属性情報383Bは、例えば、そのディスク型記憶装置300Bのベンダ(又はメーカ)、機種及びOS属性(例えば、OSの種類或いはバージョン)の少なくとも1つを含んでいる。
また、例えば、新ディスク型記憶装置300Aのディスク情報記憶領域317Aには、その新ディスク型記憶装置300Aに関するディスク属性情報383Aが記憶されている。ディスク属性情報383Aは、例えば、その新ディスク型記憶装置300Aのベンダ(又はメーカ)、機種及びOS属性(例えば、OSの種類或いはバージョン)の少なくとも1つを含んでいる。
また、新ディスク型記憶装置300Aのファームウェアグループ324Aには、交換可能ディスク属性情報グループ(以下、「属性グループ」と略記)381が含まれている。属性グループ381は、新バージョンファームウェア325Aが動作することができるディスク型記憶装置300に関する1以上のディスク属性情報を含んでいる。各ディスク属性情報は、例えば、それを有するディスク型記憶装置300のベンダ(又はメーカ)、機種及びOS属性の少なくとも1つである。
以下、この第1変形例において、旧バージョンファームウェア325Bが新バージョンファームウェア325Aに更新される場合の処理流れを説明する。
(A−1)新ディスク型記憶装置300A内のファームウェアグループ324AがCM130に読み出された場合。
図10は、本実施形態の第1変形例において、新ディスク型記憶装置300A内のファームウェアグループ324AがCM130に読み出された場合に行われるファームウェア更新処理流れを示す。
CM130に確保されたキャッシュ領域130Aにファームウェアグループ324Aが読み出されるので、そのキャッシュ領域130Aに、属性グループ381が記憶される。
チャネル制御部140Cのディスク型メモリ115(又はDKPメモリ122)には、チャネル制御部140Cと同一のファイバチャネルループ390に接続された2以上のディスク型記憶装置300に関するディスク装置情報383が格納される。ディスク装置情報383は、例えば、それら2以上のディスク型記憶装置300にそれぞれ対応した2以上のディスクID、ファームウェアバージョン、及びディスク属性情報(ディスク型記憶装置のベンダ、機種及びOS属性の少なくとも1つ)を含んでいる。このディスク装置情報383は、SVP160等を使用するユーザによって予め登録されても良いし、ディスク制御部140CのDKP123によって自動的に取得されたものであっても良い。後者の場合、DKP123が、例えば、SCSIプロトコルに基づくInquiryコマンドを、2以上のディスク型記憶装置300に送信し、それに応答して2以上のディスク型記憶装置300からそれぞれ受信した2以上のディスクID、ファームウェアバージョン及びディスク属性情報を基に、ディスク装置情報383をディスク型メモリ115に登録する。
ディスク制御部140C上のDKP123は、SM120上のDKA記憶領域337Cからファームウェア更新命令を取得した場合、CM130に確保されたキャッシュ領域130Aからファームウェアグループ324Aを読み出し、そのファームウェアグループ324Aをディスク側メモリ115に登録する(S73)。
DKP123は、ホスト端末200A〜200DからのI/O要求の処理中で無い場合(S74でN)、ディスク制御部140Cと同一のファイバチャネルループ390に接続された2以上の稼動中ディスク型記憶装置300Bにそれぞれ対応した2以上の旧バージョンファームウェアバージョン(ディスク側メモリ115に登録された2以上の旧バージョンファームウェアバージョン)と、ファームウェアグループ324Aに含まれている交換対象バージョンリスト327に記載の1以上のリスト記載旧バージョンとを比較する。また、それと共に、DKP123は、2以上の稼動中ディスク型記憶装置300Bにそれぞれ対応した2以上のディスク属性情報(ディスク側メモリ115に登録された2以上のディスク属性情報)と、属性グループ381に含まれる1以上のディスク属性情報とを比較する(S25)。
S25の結果、2以上の旧バージョンファームウェアバージョンの少なくとも1つが、1以上のリスト記載旧バージョンの少なくとも1つに適合し、且つ、その適合した旧バージョンのファームウェアを持つディスク型記憶装置300のディスク属性情報が、属性グループ381に含まれる1以上のディスク属性情報の少なくとも1つに適合した場合(S26でY)、上述したS27〜S29の処理が行われる(S77〜S79)。
(A−2)新ディスク型記憶装置300A内のファームウェアグループ324AがSM120に読み出された場合。
図11は、本実施形態の第1変形例において、新ディスク型記憶装置300A内のファームウェアグループ324AがSM120に読み出された場合に行われるファームウェア更新処理流れを示す。以下、(A−1)のファームウェア更新処理流れとの相違点を主に説明し、共通点については、説明の重複を避けるために簡略又は省略する。
ディスク制御部140C上のDKP123は、DKA記憶領域337Cからファームウェア更新命令を取得した場合、そのDKA記憶領域337Cからファームウェアグループ324Aを読み出し、そのファームウェアグループ324Aをディスク側メモリ115に登録する(S43)。
以後、上述したS74〜S80の処理が行われる(S84〜S90)。
(A−3)新ディスク型記憶装置300A内のファームウェアグループ324AがSVP160に読み出された場合。
図12は、本実施形態の第1変形例において、新ディスク型記憶装置300A内のファームウェアグループ324AがSVP160に読み出された場合に行われるファームウェア更新処理流れを示す。
上述したS51〜S52の処理が行われる(S101〜S102)。ディスク情報収集コマンドを受けた各ディスク型記憶装置300のリードライト制御部323A又は323Bは、そのディスク型記憶装置300のディスクID、ファームウェアバージョン及びディスク属性情報を取得し、取得したディスクID、ファームウェアバージョン及びディスク属性情報を、同一のファイバチャネルループ390に接続されているディスク制御部に送信する。ディスク制御部140A〜140Dは、受信したディスクID、ファームウェアバージョン及びディスク属性情報をSVP160に送信する(S103)。
SVP160の制御部163は、記憶部161上に、受信した各ディスク属性情報毎のサブ記憶領域387、387、…を確保する。そして、制御部163は、各ディスク属性情報毎のサブ記憶領域387に、そのディスク属性情報(例えば、ディスク型記憶装置のベンダ、機種及びOS属性の少なくとも1つ)を有する1以上のディスク型記憶装置のディスクID及びファームウェアバージョンを登録する。また、制御部163は、各ディスク属性情報と、属性グループ381に含まれる1以上のディスク属性情報とを比較し、適合があれば、その適合があったディスク属性情報に対応する1以上のサブ記憶領域387に、交換対象バージョンリスト327及び新バージョンファームウェア325Aを格納する(S104)。
次に、制御部163は、交換対象バージョンリスト327及び新バージョンファームウェア325Aを記憶しているサブ記憶領域387について、そのサブ記憶領域387に登録されている1以上の旧バージョンと、1以上のリスト記載旧バージョンとを比較する(S105)。
S105の結果、1以上の旧バージョンの少なくとも1つが、1以上のリスト記載旧バージョンの少なくとも1つに適合した場合(S56でY)、上述したS57〜S60の処理が行われる(S107〜S110)。
なお、制御部163は、記憶部161に各ディスク属性情報毎のサブ記憶領域387を準備する以外の方法で、更新対象の旧バージョンファームウェアがどれであってそれがどのディスク型記憶装置300Bに格納されているかを判別しても良い。例えば、制御部163は、(A−1)又は(A−2)におけるディスク制御部140CのDKP123と同様の方法で、そのような判別を行っても良い。
以上、上述した第1変形例によれば、旧バージョンがどのようなものであるのかだけでなく、稼動中ディスク型記憶装置300Bのディスク属性情報がどのようなものであるのかに応じて、その稼動中ディスク型記憶装置300Bに新バージョンファームウェア325Aが格納されるか否かが制御される。これにより、記憶制御システム600に、ディスク属性情報(例えば、ベンダ、機種及びOS属性の少なくとも1つ)が異なる複数のディスク型記憶装置300が混在していても、適切に、新バージョンファームウェア325Aを稼動中ディスク型記憶装置300Bに搭載することができる。
(B)第2変形例。
図13は、本実施形態の第2変形例における稼動中ディスク型記憶装置300Bの構成と、その稼動中ディスク型記憶装置300Bのリードライト制御部323Bが行う処理流れを示す。
この第2変形例では、旧バージョンファームウェアが多重化(例えば二重化)されており、1つの旧バージョンファームウェアが動作できなくても別の旧バージョンファームウェアが動作することで、稼動中ディスク型記憶装置300Bが動作するようになっている。
複数の稼動中ディスク型記憶装置300Bの少なくとも1つのリードライト制御部323Bには、複数の旧バージョンファームウェア、例えば、第1旧バージョンファームウェア325B1と、第2旧バージョンファームウェア325B2とがある。これらの旧バージョンファームウェアは、図示のように、ファームウェアグループ記憶領域319Bに記憶されている2つの旧バージョンファームウェア325B1、325B2がそれぞれ読み出されたものであっても良いし、図示しないが、1つのファームウェア325Bから得られたものであっても良い。
リードライト制御部323Bは、例えば、第1旧バージョンファームウェア325B1が動作しない場合は、第2旧バージョンファームウェア325B2を使用して動作することができる。
このような稼動中ディスク型記憶装置300Bに、新バージョンファームウェア325Aが転送されて来た場合、その記憶装置300Bのリードライト制御部323Bは、以下のように動作する。
すなわち、リードライト制御部323Bは、新バージョンファームウェアを取得した場合(S121)、第1の旧バージョンファームウェア325B1が動作中(例えば、I/O要求の処理中)であるならば(S122でY)、動作していない第2の旧バージョンファームウェア325B2(ファームウェアグループ記憶領域319B上の第2旧バージョンファームウェア325B2)を、新バージョンファームウェア325Aに更新する(S123)。そして、第1の旧バージョンファームウェア325B1の動作が終了したならば(S124でY)、リードライト制御部323Bは、その第1の旧バージョンファームウェア325B1(ファームウェアグループ記憶領域319B上の第1旧バージョンファームウェア325B1)も新バージョンファームウェア325Aに更新する(S125)。
S122において、第1と第2の旧バージョンファームウェア325B1、325B2が共に動作中でなければ(S122でN)、リードライト制御部323Bは、ファームウェアグループ記憶領域319B上の第1と第2の旧バージョンファームウェア325B1、325B2を新バージョンファームウェア325Aに更新する(S126)。
S125又はS126の後、リードライト制御部323Bは、再起動を実行する(S127)。それにより、リードライト制御部323Bが使用することになる2つのファームウェアは、いずれも、新バージョンファームウェア325Aである。
この第2変形例によれば、多重化された旧バージョンファームウェアの少なくとも1つが動作中であっても、その旧バージョンファームウェアの動作を妨げることなく、旧バージョンファームウェアを新バージョンファームウェアに更新することができる。
なお、この第2変形例において、例えば、リードライト制御部323Bの2つの旧バージョンファームウェア325B1、325B2が1つの旧バージョンファームウェアから生成された場合、2つの旧バージョンファームウェア325B1,325B2の双方又は一方が動作中でない場合に、ファームウェアグループ記憶領域319B上のその1つの旧バージョンファームウェアが新バージョンファームウェア325Aに更新されても良い。
(C)第3変形例。
図14は、本実施形態の第3変形例に係るリードライト制御部323Bの処理流れを示す。
稼動中ディスク型記憶装置300Bのリードライト制御部323Bは、オリジナルの旧バージョンファームウェア325Bから、旧バージョンファームウェア325Bの複製を作成し(例えば、同一のファームウェアグループ記憶領域319B内に作成し)、オリジナルの旧バージョンファームウェア325Bを、転送されて来る新バージョンファームウェア325Aに更新する処理を開始する(S141)。
リードライト制御部323Bは、オリジナルの旧バージョンファームウェア325Bを新バージョンファームウェア325Aに更新することに成功したならば(S142でN)、旧バージョンファームウェア325Bの複製を破棄して(S143)、再起動を実行する(S145)。
一方、リードライト制御部323は、新バージョンファームウェア325Aの転送に失敗する等の原因により、オリジナルの旧バージョンファームウェア325Bを新バージョンファームウェア325Aに更新することに失敗した場合(S142でY)、旧バージョンファームウェア325Bの複製を用いてオリジナルの旧バージョンファームウェア325Bを復帰して(例えば、旧バージョンファームウェア325Bの複製をオリジナルの旧バージョンファームウェア325Bにして)(S144)、再起動を実行する(S125)。
この第3変形例によれば、オリジナルの旧バージョンファームウェア325Bを新バージョンファームウェア325Aに更新することに失敗があっても、旧バージョンファームウェア325Bの複製を用いて旧バージョンファームウェア325Bが復帰するので、その失敗後も、同一の稼動中ディスク型記憶装置300Bを使用することが可能である。
(D)第4変形例。
図15は、本実施形態の第4変形例に係る処理流れを示す。
本実施形態の第4変形例では、CM130又はSM120に読み出された新バージョンファームウェア325Aを取得して旧バージョンファームウェア325Bを更新することに失敗しても、SVP160から新バージョンファームウェア325Aを取得して旧バージョンファームウェア325Bを更新することができるようになっている。
例えば、稼動中ディスク型記憶装置300Bのリードライト制御部323Bが、受信する新バージョンファームウェア325Aに含まれているデータコード(例えばCRC(Cyclic Redundancy Check)コード)を用いて、新バージョンファームウェア325Aの受信及び更新に成功したか否かを判別する(S151)。
S151の結果、受信及び更新に成功していれば、リードライト制御部323Bは、再起動を実行する(S158)。
一方、S151の結果、受信及び更新の少なくともいずれかで失敗があれば、その稼動中ディスク型記憶装置300Bと同一のファイバチャネルループ390に接続されているディスク制御部が、SVP160に、ファームウェア更新失敗を通知する(S153)。
ファームウェア更新失敗の通知を受けたディスク制御部は、そのディスク制御部に接続された複数のディスク型記憶装置300Bがそれぞれ有する複数の旧バージョンファームウェアバージョンと、交換対象バージョンリスト327に書かれている1以上のリスト記載旧バージョンとを比較する(S154)。その結果、それら複数の旧バージョンファームウェアバージョンの少なくとも1つが、1以上のリスト記載旧バージョンの少なくとも1つに適合すれば、適合した旧バージョンのファームウェアを有するディスク型記憶装置300Bに、ディスク制御部を介して新バージョンファームウェア325Aを転送する(S156、S157)。この後、S151が行われ、S152でNとなれば、稼働中ディスク型記憶装置300Bが再起動を実行し、新バージョンファームウェア325Aを用いて動作する。
この第4変形例によれば、CM130又はSM120に読み出された新バージョンファームウェア325Aを取得して旧バージョンファームウェア325Bを更新することに失敗しても、SVP160から新バージョンファームウェア325Aを取得して旧バージョンファームウェア325Bを更新することができる。
(E)第5変形例。
図16は、本実施形態の第5変形例に係る処理流れを示す。
記憶制御システム600に新ディスク型記憶装置300Aが装着されたことが検出された場合(S171)、装着された新ディスク型記憶装置300Aが複数個でなければ(S172でN)、上述した図5のS8の処理が行われる(S173)。
S172において複数個であれば(S172でY)、それら複数個の新ディスク型記憶装置300Aが、同一のRAIDグループ2を構成するものか否かが、新ディスク型記憶装置300Aの装着を検出したディスク制御部によって判断される(S174)。
S174において、装着された複数個の新ディスク型記憶装置300Aが同一のRAIDグループ2に含まれるものでなければ、装着された全ての新ディスク型記憶装置300Aに対して図5のS8が行われる(S175)。
S174において、装着された複数個の新ディスク型記憶装置300Aが同一のRAIDグループ2に含まれるものであれば、そのRAIDグループ2から選択された1つの新ディスク型記憶装置300Aに対して図5のS8が行われる(S176)。
以上、本発明の実施形態及び変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
1…記憶システム、2…RAIDグループ、10…基本筐体、12…増設筐体、100…記憶制御装置、101…記憶装置ユニット、102…記憶制御サブシステム、110A〜110D…チャネル制御部、120…共有メモリ、130…キャッシュメモリ、140A〜140D…ディスク制御部、160…保守用端末、200A〜200D…ホスト端末、300…ディスク型記憶装置、310…論理ユニット、325A…新バージョンファームウェア、325B…旧バージョンファームウェア、327…交換対象旧バージョンリスト、390…ファイバチャネルループ、600…記憶制御システム
Claims (20)
- 上位装置に接続される記憶制御システムにおいて、
上位装置に接続され、前記上位装置からデータを受けるチャネル制御部と、
前記チャネル制御部に接続され、前記上位装置との間でやり取りされるデータを保存するキャッシュメモリと、
前記上位装置との間でやり取りされるデータに関する制御情報を格納する共有メモリと、
前記キャッシュメモリに接続され、前記上位装置との間でやり取りされるデータを、前記キャッシュメモリに格納し又は前記キャッシュメモリから読み出すように制御する複数のディスク制御部と、
前記複数のディスク制御部と複数のファイバチャネルループを用いて接続され、前記複数のディスク制御部の制御によって前記上位装置から送られたデータが格納される複数のディスク型記憶装置と
を備え、
前記複数のディスク型記憶装置には、既に前記記憶制御システムに搭載されている2以上の稼動中ディスク型記憶装置と、前記2以上の稼動中ディスク型記憶装置よりも後に前記記憶制御システムに搭載され、前記2以上の稼動中ディスク型記憶装置から選択された読出し先ディスク型記憶装置に対して転送されるべき転送対象ファームウェアを有する読出し元ディスク型記憶装置とが含まれており、
前記複数のディスク制御部のうち、前記読出し元ディスク型記憶装置と同一のファイバチャネルループに接続される読出し元ディスク制御部は、前記読出し元ディスク型記憶装置から転送対象ファームウェアを読み出し、前記キャッシュメモリ、前記共有メモリ、又は前記複数のディスク制御部に接続され前記記憶制御システムの保守又は管理を行う保守用端末に、前記読み出した転送対象ファームウェアを格納させるものであり、
前記複数のディスク制御部のうち、前記読出し先ディスク型記憶装置と同一のファイバチャネルループに接続される読出し先ディスク制御部は、前記格納された転送対象ファームウェアを、前記読出し先ディスク制御部に接続されたファイバチャネルループを介して、前記読出し先ディスク型記憶装置に転送し格納させる、
ことを特徴とする記憶制御システム。 - 前記読出し元ディスク制御部は、前記読出し元ディスク型記憶装置が前記記憶制御システムに装着されたことが検出された場合に、前記読出し元ディスク型記憶装置から前記転送対象ファームウェアを読み出し、
前記転送対象ファームウェアは、前記読出し先ディスク型記憶装置が有する旧バージョンファームウェアよりもバージョンの新しい新バージョンファームウェアであり、
前記読出し先ディスク型記憶装置は、前記読出し先ディスク型記憶装置が有する旧バージョンファームウェアを、前記転送ディスク制御部から転送されて来た前記新バージョンファームウェアに更新する、
請求項1記載の記憶制御システム。 - 前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶し、
前記読出し元ディスク制御部は、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出して、前記キャッシュメモリ上に設けられたファームウェア格納領域に格納し、
前記読出し先ディスク制御部は、前記ファームウェア格納領域に格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較して、前記2以上の旧バージョンのうちの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記ファームウェア格納領域内の前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送し、
前記ファームウェア格納領域は、前記複数のディスク制御部の全てがアクセス可能である、
請求項2記載の記憶制御システム。 - 前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶し、
前記読出し元ディスク制御部は、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出して、前記共有メモリ上に設けられた読出し先領域に格納し、
前記読出し先ディスク制御部は、前記読出し先領域に格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較して、前記2以上の旧バージョンのうちの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記読出し先領域内の前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送し、
前記読出し先領域は、前記複数のディスク制御部のうちの前記読出し元ディスク制御部及び前記読出し先ディスク制御部のみがアクセス可能である、
請求項2記載の記憶制御システム。 - 前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶し、
前記読出し元ディスク制御部は、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出して前記保守用端末に送信し、
前記保守用端末は、記憶部を備え、前記読出し元ディスク制御部から受信した前記新バージョンファームウェア及び前記更新対象旧バージョン情報を前記記憶部に格納し、且つ、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンを前記読出し先ディスク制御部から受信して前記記憶部に格納し、前記記憶部に格納された更新対象旧バージョン情報と、前記記憶部に格納された2以上の旧バージョンとを比較して、前記2以上の旧バージョンの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記記憶部から取得された前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置を宛先として前記読出し先ディスク制御部に送信し、
前記読出し先ディスク制御部は、前記選択された読出し先ディスク型記憶装置を宛先とした前記新バージョンファームウェアを前記保守用端末から受信して、前記新バージョンファームウェアを前記選択された読出し先ディスク型記憶装置に転送する、
請求項2記載の記憶制御システム。 - 前記読出し元ディスク型記憶装置は、前記転送対象ファームウェアが正常に動作することができる1以上のディスク型記憶装置のディスク属性を含んだディスク属性情報を記憶しており、
前記読出し元ディスク制御部は、前記読出し元ディスク型記憶装置から前記ディスク属性情報を読出して前記キャッシュメモリ、前記共有メモリ又は前記保守用端末に格納し、
前記読出し先ディスク制御部は、前記格納されたディスク属性情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置にそれぞれ対応した2以上のディスク属性とを比較して、前記2以上のディスク属性の少なくとも1つが、前記ディスク属性情報に含まれた1以上のディスク属性の少なくとも1つに適合した場合に、前記適合したディスク属性を有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する、
請求項1記載の記憶制御システム。 - 読出し先ディスク型記憶装置は、第1と第2のファームウェアのうちの一方を使用して、前記読出し先ディスク制御部との間でデータをやり取し、使用中ではない他方のファームウェアを、前記転送対象ファームウェアに更新し、前記一方のファームウェアの使用が終了した後に、前記一方のファームウェアを前記転送対象ファームウェアに更新する、
請求項1記載の記憶制御システム。 - 読出し先ディスク型記憶装置は、前記旧バージョンファームウェアを前記新バージョンファームウェアに更新する場合、前記旧バージョンファームウェアを、前記読出し先ディスク型記憶装置の中に設けられた記憶領域に複製し、前記新バージョンファームウェアを前記読出し先ディスク型記憶装置に転送することに失敗があった場合、前記記憶領域に複製された前記旧バージョンファームウェアを、前記読出し先ディスク型記憶装置のファームウェアとして復帰させる、
請求項2記載の記憶制御システム。 - 前記読出し元ディスク制御部は、前記読み出した転送対象ファームウェアを前記保守用端末に送信し、
前記読出し先ディスク制御部は、前記キャッシュメモリ又は前記共有メモリから読み出した転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送することに失敗があった場合、転送失敗があったことを前記保守用端末に通知し、前記転送失敗の通知に応答して、前記保守用端末から前記転送対象ファームウェアを受信した場合に、前記受信した転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送する、
請求項1記載の記憶制御システム。 - 前記複数のディスク型記憶装置には、2以上の読出し元ディスク型記憶装置が含まれており、
同一のRAIDグループを構成する2以上の読出し元ディスク型記憶装置が装着された場合、前記2以上の読出し元ディスク型記憶装置から選択された読出し先ディスク型記憶装置と同一のファイバチャネルループに接続されている読出し先ディスク制御部が、前記選択された読出し先ディスク記憶装置から転送対象ファームウェアを読み出す、
請求項1記載の記憶制御システム。 - 上位装置に接続された記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法であって、
前記記憶制御システムに備えられる複数のディスク型記憶装置のうちの2以上の稼動中ディスク型記憶装置から選択された読出し先ディスク型記憶装置に対して転送されるべき転送対象ファームウェアを、前記2以上の稼動中ディスク型記憶装置よりも後に前記記憶制御システムに搭載された読出し元ディスク型記憶装置から読み出すステップと、
前記上位装置との間でやり取りされるデータを保存するキャッシュメモリ、前記上位装置との間でやり取りされるデータに関する制御情報を格納する共有メモリ、又は、前記記憶制御システムの保守又は管理を行う保守用端末に、前記読み出した転送対象ファームウェアを格納させるステップと、
前記格納された転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送し記憶させるステップと
を有する方法。 - 前記読出し元ディスク型記憶装置が前記記憶制御システムに装着されたことを検出するステップを更に有し、
前記転送対象ファームウェアは、前記読出し先ディスク型記憶装置が有する旧バージョンファームウェアよりもバージョンの新しい新バージョンファームウェアであり、
前記読み出すステップでは、前記読出し元ディスク型記憶装置が前記記憶制御システムに装着されたことが検出された場合に、前記読出し元ディスク型記憶装置から前記新バージョンファームウェアを読み出し、
前記記憶させるステップでは、前記読出し先ディスク型記憶装置が有する旧バージョンファームウェアを、前記転送ディスク制御部から転送されて来た前記新バージョンファームウェアに更新する、
請求項11記載の方法。 - 前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶しており、
前記読み出すステップでは、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出し、
前記格納するステップでは、前記キャッシュメモリ上に設けられた前記ファームウェア格納領域に格納し、
前記転送するステップでは、前記ファームウェア格納領域に格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較して、前記2以上の旧バージョンのうちの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記ファームウェア格納領域内の前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する、
請求項12記載の方法。 - 前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶しており、
前記読み出すステップでは、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出し、
前記格納するステップでは、前記読み出した新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記共有メモリに設けられた読出し先領域に格納し、
前記転送するステップでは、前記読出し先領域に格納された更新対象旧バージョン情報と、前記読出し先ディスク制御部と同一のファイバチャネルループに接続された2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンとを比較して、前記2以上の旧バージョンのうちの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記読出し先領域内の前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する、
請求項12記載の方法。 - 前記読出し元ディスク型記憶装置は、前記新バージョンファームウェアに加えて、前記新バージョンファームウェアに更新されるべきファームウェアの1以上の更新対象旧バージョンが書かれた更新対象旧バージョン情報を記憶しており、
前記保守用端末は記憶部を有しており、
前記読出すステップでは、前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記読出し元ディスク型記憶装置から読み出し、
前記格納するステップでは、前記読み出した前記新バージョンファームウェア及び前記更新対象旧バージョン情報を、前記保守用端末に送信して前記保守用端末の前記記憶部に格納し、且つ、前記2以上の稼動中ディスク型記憶装置がそれぞれ有する2以上の旧バージョンファームウェアの旧バージョンを前記保守用端末の記憶部に格納し、
前記転送するステップでは、前記記憶部に格納された更新対象旧バージョン情報と、前記記憶部に格納された2以上の旧バージョンとを比較して、前記2以上の旧バージョンの少なくとも1つが、前記1以上の更新対象旧バージョンの少なくとも1つに適合した場合に、前記適合した旧バージョンの旧バージョンファームウェアを有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記記憶部から取得された前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する、
請求項12記載の方法。 - 前記読出し元ディスク型記憶装置は、前記転送対象ファームウェアが正常に動作することができる1以上のディスク型記憶装置のディスク属性を含んだディスク属性情報を記憶しており、
前記読み出すステップでは、前記読出し元ディスク型記憶装置から前記ディスク属性情報を読出し、
前記格納するステップでは、前記読み出された前記ディスク属性情報を、前記キャッシュメモリ、前記共有メモリ又は前記保守用端末に格納し、
前記転送するステップでは、前記格納されたディスク属性情報と、2以上の稼動中ディスク型記憶装置にそれぞれ対応した2以上のディスク属性とを比較して、前記2以上のディスク属性の少なくとも1つが、前記ディスク属性情報に含まれた1以上のディスク属性の少なくとも1つに適合した場合に、前記適合したディスク属性を有する読出し先ディスク型記憶装置を前記2以上の稼動中ディスク型記憶装置から選択し、前記新バージョンファームウェアを、前記選択された読出し先ディスク型記憶装置に転送する、
請求項11記載の方法。 - 前記記憶させるステップでは、読出し先ディスク型記憶装置が、第1と第2のファームウェアのうちの一方を使用して、前記読出し先ディスク制御部との間でデータをやり取している場合、使用中ではない他方のファームウェアを、前記転送対象ファームウェアに更新し、前記一方のファームウェアの使用が終了した後に、前記一方のファームウェアを前記転送対象ファームウェアに更新する、
請求項11記載の方法。 - 前記旧バージョンファームウェアを前記新バージョンファームウェアに更新する場合、前記旧バージョンファームウェアを、前記読出し先ディスク型記憶装置の中に設けられた記憶領域に複製するステップと、
前記新バージョンファームウェアを前記読出し先ディスク型記憶装置に転送することに失敗があった場合、前記記憶領域に複製された前記旧バージョンファームウェアを、前記読出し先ディスク型記憶装置のファームウェアとして復帰させるステップと
を更に有する請求項12記載の方法。 - 前記キャッシュメモリ又は前記共有メモリから読み出した転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送することに失敗があった場合、転送失敗を前記保守用端末に通知するステップを更に有し、
前記転送するステップでは、前記転送失敗の通知に応答して前記保守用端末から出力された前記転送対象ファームウェアを前記読出し先ディスク型記憶装置に転送する、
請求項11記載の方法。 - 前記複数のディスク型記憶装置には、2以上の読出し元ディスク型記憶装置が含まれており、
前記読み出すステップでは、同一のRAIDグループを構成する2以上の読出し元ディスク型記憶装置が装着された場合、前記2以上の読出し元ディスク型記憶装置から選択された読出し先ディスク型記憶装置と同一のファイバチャネルループに接続されているディスク制御部が、前記選択された読出し先ディスク型記憶装置から転送対象ファームウェアを読み出す、
請求項11記載の方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004049765A JP2005242555A (ja) | 2004-02-25 | 2004-02-25 | 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法 |
| US10/847,920 US7073017B2 (en) | 2004-02-25 | 2004-05-19 | Efficient update of firmware in a disk-type storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004049765A JP2005242555A (ja) | 2004-02-25 | 2004-02-25 | 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005242555A true JP2005242555A (ja) | 2005-09-08 |
Family
ID=34858273
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004049765A Withdrawn JP2005242555A (ja) | 2004-02-25 | 2004-02-25 | 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7073017B2 (ja) |
| JP (1) | JP2005242555A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008217326A (ja) * | 2007-03-02 | 2008-09-18 | Nec System Technologies Ltd | ハードディスク組込装置および方法並びにディスクアレイシステム |
| JP2009282834A (ja) * | 2008-05-23 | 2009-12-03 | Fujitsu Ltd | ディスクアレイ装置,制御ファーム適用方法,及び制御ファーム適用制御部 |
| JP2011221912A (ja) * | 2010-04-13 | 2011-11-04 | Nec Corp | 計算機システム、及び計算機システム管理方法 |
| JP2013161130A (ja) * | 2012-02-01 | 2013-08-19 | Fujitsu Ltd | 制御装置、制御システムおよび制御方法 |
| US8904107B2 (en) | 2012-03-14 | 2014-12-02 | Hitachi, Ltd. | Storage apparatus and program update method |
Families Citing this family (69)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8479189B2 (en) | 2000-11-17 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Pattern detection preprocessor in an electronic device update generation system |
| US7409685B2 (en) | 2002-04-12 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
| US8233893B2 (en) * | 2002-08-22 | 2012-07-31 | Hewlett-Packard Development Company, L.P. | Mobile handset update package generator that employs nodes technique |
| US7904895B1 (en) | 2004-04-21 | 2011-03-08 | Hewlett-Packard Develpment Company, L.P. | Firmware update in electronic devices employing update agent in a flash memory card |
| JP4870915B2 (ja) * | 2004-07-15 | 2012-02-08 | 株式会社日立製作所 | ストレージ装置 |
| US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
| JP5038589B2 (ja) * | 2004-10-04 | 2012-10-03 | 株式会社日立製作所 | ディスクアレイ装置及びその負荷分散方法 |
| US7302521B2 (en) * | 2004-11-01 | 2007-11-27 | Broadcom Corporation | Method and computer program product for combining resources of multiple BIOS ROMS and managing them as a single entity |
| US7747573B2 (en) | 2004-11-18 | 2010-06-29 | International Business Machines Corporation | Updating elements in a data storage facility using a predefined state machine, with serial activation |
| US7827544B2 (en) * | 2004-11-18 | 2010-11-02 | International Business Machines Corporation | Updating elements in a data storage facility using a predefined state machine, with parallel activation |
| US7433998B2 (en) * | 2005-01-14 | 2008-10-07 | Dell Products L.P. | System and method for implementing self-describing RAID configurations |
| JP4679943B2 (ja) * | 2005-03-23 | 2011-05-11 | ヒタチグローバルストレージテクノロジーズネザーランドビーブイ | データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法 |
| US20070055968A1 (en) * | 2005-09-07 | 2007-03-08 | Rader Shawn T | Reliable BIOS updates |
| US7814479B2 (en) * | 2005-12-14 | 2010-10-12 | International Business Machines Corporation | Simultaneous download to multiple targets |
| US8285747B1 (en) * | 2006-03-14 | 2012-10-09 | Netapp, Inc. | Incorporation of client storage into a storage system |
| JP2007293802A (ja) * | 2006-03-31 | 2007-11-08 | Fujitsu Ltd | ディスクアレイ装置、ディスクアレイ装置の制御方法及びディスクアレイ装置の制御プログラム。 |
| EP2025095A2 (en) | 2006-06-08 | 2009-02-18 | Hewlett-Packard Development Company, L.P. | Device management in a network |
| EP2047420A4 (en) | 2006-07-27 | 2009-11-18 | Hewlett Packard Development Co | USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE |
| US20080046710A1 (en) * | 2006-08-17 | 2008-02-21 | Steven Maddocks | Switching firmware images in storage systems |
| US7730295B1 (en) * | 2006-09-05 | 2010-06-01 | Western Digital Technologies, Inc. | Updating firmware of a peripheral device |
| US20090031122A1 (en) * | 2006-11-03 | 2009-01-29 | Wond, Llc | Mechanism for restoring an apparatus to factory default |
| US8271968B2 (en) * | 2006-12-12 | 2012-09-18 | Dell Products L.P. | System and method for transparent hard disk drive update |
| US7761735B2 (en) * | 2007-04-13 | 2010-07-20 | International Business Machines Corporation | Automated firmware restoration to a peer programmable hardware device |
| US7761734B2 (en) * | 2007-04-13 | 2010-07-20 | International Business Machines Corporation | Automated firmware restoration to a peer programmable hardware device |
| JP4430093B2 (ja) * | 2007-08-29 | 2010-03-10 | 富士通株式会社 | 記憶制御装置およびファームウェア更新方法 |
| JP5111129B2 (ja) * | 2008-01-22 | 2012-12-26 | キヤノン株式会社 | 情報処理装置、情報処理システム、情報処理方法、及び、プログラム |
| US8219595B2 (en) * | 2008-02-14 | 2012-07-10 | Hewlett-Packard Development Company, L.P. | System and method for efficient remote data access for server management |
| US9009357B2 (en) | 2008-04-24 | 2015-04-14 | Micron Technology, Inc. | Method and apparatus for field firmware updates in data storage systems |
| JP4959630B2 (ja) * | 2008-05-23 | 2012-06-27 | 株式会社東芝 | データ記憶装置 |
| JP2010152508A (ja) * | 2008-12-24 | 2010-07-08 | Fujitsu Ltd | 制御装置、ディスクアレイ装置および制御方法 |
| US20100299664A1 (en) * | 2009-05-21 | 2010-11-25 | Salesforce.Com, Inc. | System, method and computer program product for pushing an application update between tenants of a multi-tenant on-demand database service |
| CN102014530A (zh) * | 2009-09-04 | 2011-04-13 | 中兴通讯股份有限公司 | 一种配置更新失败后的处理方法和网元设备 |
| EP2369474B1 (en) * | 2009-09-18 | 2017-06-28 | Yamaha Corporation | Firmware update apparatus and program |
| US20110107317A1 (en) * | 2009-10-30 | 2011-05-05 | International Business Machines Corporation | Propagating Firmware Updates In A Raid Array |
| US8793291B2 (en) * | 2010-03-15 | 2014-07-29 | Salesforce.Com, Inc. | System, method and computer program product for deploying an update between environments of a multi-tenant on-demand database system |
| JP5984326B2 (ja) * | 2010-07-07 | 2016-09-06 | キヤノン株式会社 | 情報処理装置、プログラムの更新方法及びプログラム |
| US9146726B2 (en) * | 2010-12-16 | 2015-09-29 | Netapp, Inc. | System and method for firmware update for network connected storage subsystem components |
| US9607006B2 (en) * | 2011-10-06 | 2017-03-28 | General Electric Company | Temporary distributed file persistence |
| US9223564B2 (en) * | 2012-01-26 | 2015-12-29 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Update systems responsive to ongoing processing at a storage system |
| US9116775B2 (en) * | 2013-05-15 | 2015-08-25 | Dell Products L.P. | Relationship-based dynamic firmware management system |
| CN104407689A (zh) * | 2014-11-14 | 2015-03-11 | 英业达科技有限公司 | 计算器系统及其上电方法与更新方法 |
| CN104503786B (zh) * | 2014-12-15 | 2020-10-16 | 小米科技有限责任公司 | 固件刷新方法及装置 |
| US9853873B2 (en) | 2015-01-10 | 2017-12-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
| US9900250B2 (en) | 2015-03-26 | 2018-02-20 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
| US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
| US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
| US20170010874A1 (en) * | 2015-07-06 | 2017-01-12 | Cisco Technology, Inc. | Provisioning storage devices in a data center |
| US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
| CN105260130B (zh) * | 2015-09-18 | 2018-05-04 | 四川效率源信息安全技术股份有限公司 | 一种希捷硬盘系统文件的读写方法 |
| US9892075B2 (en) | 2015-12-10 | 2018-02-13 | Cisco Technology, Inc. | Policy driven storage in a microserver computing environment |
| US10162622B2 (en) * | 2016-02-26 | 2018-12-25 | Ayla Networks, Inc. | Local over the air update of an embedded system |
| JP6394999B2 (ja) * | 2016-02-29 | 2018-09-26 | 京セラドキュメントソリューションズ株式会社 | 電子機器および接続情報管理プログラム |
| US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
| US20170351639A1 (en) | 2016-06-06 | 2017-12-07 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
| US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
| US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
| US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
| US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
| US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
| US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
| US10936299B2 (en) * | 2017-04-28 | 2021-03-02 | Dell Products, L.P. | Automated intra-system persistent memory updates |
| US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
| US10360010B1 (en) * | 2017-07-21 | 2019-07-23 | Jpmorgan Chase Bank, N.A. | Method and system for implementing an ATM management and software policy tool |
| US10409582B1 (en) * | 2017-07-21 | 2019-09-10 | Jpmorgan Chase Bank, N.A. | Method and system for implementing a retail event management tool |
| US10642693B2 (en) * | 2017-09-06 | 2020-05-05 | Western Digital Technologies, Inc. | System and method for switching firmware |
| US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
| US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
| US10613847B2 (en) * | 2018-02-13 | 2020-04-07 | Dell Products, L.P. | Information handling system to treat demoted firmware with replacement firmware |
| WO2021217410A1 (en) * | 2020-04-28 | 2021-11-04 | Arris Enterprises Llc | Electronic device, system, method and program with enhanced detection of potential bricking |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US145130A (en) * | 1873-12-02 | Improvement in paint compounds | ||
| US143828A (en) * | 1873-10-21 | Improvement in car couplings | ||
| US132091A (en) * | 1872-10-08 | Improvement in hubs for vehicle-wheels | ||
| US5781921A (en) * | 1996-05-06 | 1998-07-14 | Ohmeda Inc. | Method and apparatus to effect firmware upgrades using a removable memory device under software control |
| JP3575964B2 (ja) * | 1997-10-30 | 2004-10-13 | 富士通株式会社 | ディスクアレイ装置 |
| US6085333A (en) * | 1997-12-19 | 2000-07-04 | Lsi Logic Corporation | Method and apparatus for synchronization of code in redundant controllers in a swappable environment |
| KR100441171B1 (ko) * | 1998-02-20 | 2004-10-14 | 삼성전자주식회사 | 플래쉬롬과램을이용한펌웨어구현방법 |
| JP2000020398A (ja) | 1998-06-26 | 2000-01-21 | Toshiba Corp | ディスク記憶装置及び同装置に適用するディスクコントローラ |
| US6442067B1 (en) * | 2000-05-23 | 2002-08-27 | Compaq Information Technologies Group, L.P. | Recovery ROM for array controllers |
| JP2002091719A (ja) * | 2000-07-11 | 2002-03-29 | Ricoh Co Ltd | 画像形成装置管理システムおよび画像形成装置管理方法とそれに使用する中央管理装置並びに画像形成装置 |
| US6907602B2 (en) * | 2000-08-10 | 2005-06-14 | Mustek Systems Inc. | Method for updating firmware of computer device |
| US6745324B1 (en) * | 2000-11-16 | 2004-06-01 | International Business Machines Corporation | Dynamic firmware image creation from an object file stored in a reserved area of a data storage device of a redundant array of independent disks (RAID) system |
| US6549978B2 (en) * | 2001-01-17 | 2003-04-15 | International Business Machines Corporation | Method for storage controllers with different data formats to access common storage configuration information |
| JP2002318666A (ja) * | 2001-04-20 | 2002-10-31 | Hitachi Ltd | ディスクアレイ装置に実装されたハードディスクユニットのファームウエアの更新方法およびこの更新方法を実行する機能を備えたディスクアレイ装置 |
| CA2357382A1 (en) * | 2001-09-17 | 2003-03-17 | Soma Networks, Inc. | Software update method, apparatus and system |
| JP3714613B2 (ja) * | 2001-12-12 | 2005-11-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶装置、該記憶装置を含む情報処理装置および情報記憶システムのリカバリ方法 |
| US7028177B2 (en) | 2002-01-31 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Array controller ROM cloning in redundant controllers |
| TWI220962B (en) | 2003-01-20 | 2004-09-11 | Mediatek Inc | Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating |
| US20050033933A1 (en) * | 2003-08-04 | 2005-02-10 | Hetrick William A. | Systems and methods for modifying disk drive firmware in a raid storage system |
| JP4021407B2 (ja) | 2003-12-16 | 2007-12-12 | シャープ株式会社 | 情報処理装置 |
| US7231493B2 (en) * | 2004-01-09 | 2007-06-12 | Dell Products L.P. | System and method for updating firmware of a storage drive in a storage network |
-
2004
- 2004-02-25 JP JP2004049765A patent/JP2005242555A/ja not_active Withdrawn
- 2004-05-19 US US10/847,920 patent/US7073017B2/en not_active Expired - Fee Related
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008217326A (ja) * | 2007-03-02 | 2008-09-18 | Nec System Technologies Ltd | ハードディスク組込装置および方法並びにディスクアレイシステム |
| JP2009282834A (ja) * | 2008-05-23 | 2009-12-03 | Fujitsu Ltd | ディスクアレイ装置,制御ファーム適用方法,及び制御ファーム適用制御部 |
| US8312211B2 (en) | 2008-05-23 | 2012-11-13 | Fujitsu Limited | Disk array apparatus, method for application of control firmware, and controlling unit for controlling application of control firmware |
| JP2011221912A (ja) * | 2010-04-13 | 2011-11-04 | Nec Corp | 計算機システム、及び計算機システム管理方法 |
| JP2013161130A (ja) * | 2012-02-01 | 2013-08-19 | Fujitsu Ltd | 制御装置、制御システムおよび制御方法 |
| US8904107B2 (en) | 2012-03-14 | 2014-12-02 | Hitachi, Ltd. | Storage apparatus and program update method |
Also Published As
| Publication number | Publication date |
|---|---|
| US20050188170A1 (en) | 2005-08-25 |
| US7073017B2 (en) | 2006-07-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2005242555A (ja) | 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法 | |
| JP4723290B2 (ja) | ディスクアレイ装置及びその制御方法 | |
| JP4646526B2 (ja) | 記憶制御システム及び同システムの制御方法 | |
| JP4986045B2 (ja) | 二重アクティブ・コントローラ内のライト・キャッシュ・データのフェイルオーバーおよびフェイルバック | |
| JP4870915B2 (ja) | ストレージ装置 | |
| JP4939102B2 (ja) | ネットワークブート計算機システムの高信頼化方法 | |
| US7028216B2 (en) | Disk array system and a method of avoiding failure of the disk array system | |
| JP4884885B2 (ja) | 記憶制御装置及び記憶制御装置の障害回復方法 | |
| US6968425B2 (en) | Computer systems, disk systems, and method for controlling disk cache | |
| JP4400913B2 (ja) | ディスクアレイ装置 | |
| US7216258B2 (en) | Method and apparatus for recovering from a non-fatal fault during background operations | |
| US7669022B2 (en) | Computer system and data management method using a storage extent for backup processing | |
| JP2002318666A (ja) | ディスクアレイ装置に実装されたハードディスクユニットのファームウエアの更新方法およびこの更新方法を実行する機能を備えたディスクアレイ装置 | |
| US20070130168A1 (en) | Storage control sub-system comprising virtual storage units | |
| US7216210B2 (en) | Data I/O system using a plurality of mirror volumes | |
| JP2006031630A (ja) | ストレージ装置及びストレージ装置の消費電力制御方法 | |
| JP2007086972A (ja) | ストレージシステム、二重化制御方法、及びプログラム | |
| JP2012507788A (ja) | ストレージ・エリア・ネットワークを使用してコンピュータシステムを復旧するための方法およびシステム | |
| JP2008097318A (ja) | ストレージ装置 | |
| JPH11353129A (ja) | 稼働中に磁気ディスク交換可能な磁気ディスク装置及び磁気ディスクの交換方法 | |
| JP2007025933A (ja) | ストレージシステム及びそのファームウェア自動更新方法 | |
| JP5484434B2 (ja) | ネットワークブート計算機システム、管理計算機、及び計算機システムの制御方法 | |
| EP0911722A2 (en) | Disk array device | |
| JP6398727B2 (ja) | 制御装置,ストレージ装置及び制御プログラム | |
| JP2021174208A (ja) | ストレージシステム及びストレージシステムによる情報処理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061225 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20061225 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090525 |