説明

制御装置、ディスクアレイ装置および制御方法

【課題】サーバとのインタフェース制御を担う装置のファームウェアに変更が生じてもサーバの動作に影響を与えずにファームウェアの交換を行う。
【解決手段】制御装置3は、データの転送先をチャネルアダプタ部20−1〜2に切り替え可能な経路を用いてチャネルアダプタ部20−1にデータを転送するパス切替部12と、チャネルアダプタ部20−1に転送されたデータに対してチャネルアダプタ部20−1を制御するファームウェアによる処理が終了したか否かを判定する仕掛入出力完了判定部314と、データの処理が終了したとき、パス切替部12におけるデータの転送先をチャネルアダプタ部20−2に切り替えさせるパス切替要求部315と、パス切替要求部315がパス切替部12におけるデータの転送先をチャネルアダプタ部20−2に切り替えさせた後、チャネルアダプタ部20−1を制御するファームウェアを更新するFW交換制御部317と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、ディスクアレイ装置および制御方法に関する。
【背景技術】
【0002】
ディスクアレイ装置には、信頼性を向上させるために、内部構成が冗長化されているものがある。このようなディスクアレイ装置とサーバとを備えるディスクアレイシステムは、今日の可用性の要求にしたがって、停止することなく運用されることが強く求められている。そして、ディスクアレイ装置の内部構成の一部を動作させるファームウェアの更新(バージョンアップ等)が行われる場合であっても、ディスクアレイシステムは、継続して運用されることが望ましい。ここで、ディスクアレイシステムを停止することなくファームウェアを更新することは、「ファームウェアの活性交換」といわれる。
【0003】
ディスクアレイシステムにおいてファームウェアの活性交換を実現するために、サーバの例として、複数のブレードサーバから構成されるディスクアレイシステムは、1つのブレードサーバのBIOS(Basic Input/Output System)を更新するとき、そのブレードサーバで提供されているサービスを他のブレードサーバに移行して、移行後サービスが提供されていない状態でBIOSを更新することがある。
【0004】
また、ディスクアレイ装置の例として、ディスクアレイ装置に含まれる複数のハードディスク装置から構成されるディスクアレイシステムは、1つのハードディスク装置のファームウェアを更新するとき、ハードディスク装置に記憶されているデータを他のハードディスク装置に複写した後、複写先の他のハードディスク装置に入出力処理を代行させて、代行させている間にハードディスク装置のファームウェアを更新することがある。
【0005】
ここで、ディスクアレイ装置では、ハードディスク装置のファームウェアではなくサーバとのインタフェース制御を担うチャネルアダプタ(CA:Channel Adaptor)のファームウェアが更新される場合がある。
【0006】
この場合、ディスクアレイシステムは、接続パスの使用を無効にする等してサーバからディスクアレイ装置へのアクセスを全て停止させた後、チャネルアダプタのファームウェアをインストールし、インストール後リブート(再起動)する。その後、ディスクアレイシステムは、接続パスの使用を有効にする等してサーバからディスクアレイ装置へのアクセスを許可して、チャネルアダプタのファームウェアの活性交換を完了する。
【0007】
特に、サーバとディスクアレイ装置とが冗長な2つの接続パスで接続されているディスクアレイシステムでは、2つの接続パスがすべて正常の場合に、保守者が、サーバからの一方の接続パスへのアクセスを停止し、停止されている間にこの接続パスに接続されたチャネルアダプタのファームウェアを交換する。その後、保守者は、アクセスが停止されていた接続パスへのアクセスを許可して、チャネルアダプタのファームウェアの活性交換を完了させる。
【0008】
【特許文献1】特開2006−31312号公報
【特許文献2】特開2002−318666号公報
【特許文献3】特開2008−186296号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、サーバとのインタフェース制御を担うチャネルアダプタのファームウェアの活性交換を行う従来の技術では、ファームウェアの更新中にサーバの動作に影響を与えてしまうという問題がある。
【0010】
例えば、サーバからディスクアレイ装置への全てのアクセスを停止させてからファームウェアが更新される従来技術では、ファームウェアの更新中に、サーバからディスクアレイ装置へのアクセスが全て停止されるため、サーバは、入出力処理を行おうとしても入出力処理を正常に終了することができず、サーバによって行われる処理が滞ってしまう。
【0011】
また、保守者の操作によってファームウェアが更新される従来技術では、例えば保守者の操作ミスにより、ファームウェアを更新しない側のアクセスを無効にしてファームウェアを更新する側のアクセスを有効にしてファームウェアを更新すると、ディスクアレイ装置は、ファームウェアの更新中にサーバからの入出力処理をすることができず、結果的にサーバの処理が滞ってしまう。
【0012】
本発明は、上記に鑑みてなされたものであって、サーバとのインタフェース制御を担う装置のファームウェアに変更が生じてもサーバの動作に影響を与えずにファームウェアの交換を行う制御装置、ディスクアレイ装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
上述した問題を解決し、目的を達成するために、制御装置は、データの転送先を第1の装置または第2の装置に切り替え可能な経路を用いて前記第1の装置にデータを転送する転送手段と、前記転送手段によって前記第1の装置に転送されたデータに対して前記第1の装置を制御するファームウェアによる処理が終了したか否かを判定する判定手段と、前記判定手段によってデータの処理が終了したと判定されたとき、前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせる切替制御手段と、前記切替制御手段が前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせた後、前記第1の装置を制御するファームウェアを更新する更新手段と、を備えた構成を採る。
【0014】
かかる構成によれば、制御装置は、転送先を第1の装置から第2の装置に切り替えた後には、第2の装置が第1の装置の代わりにデータを処理するため、データを第1の装置または第2の装置に転送する上位装置の動作に影響を与えない。
【発明の効果】
【0015】
以上により、制御装置、ディスクアレイ装置および制御方法は、上位装置とのインタフェース制御を担う下位装置のファームウェアに変更が生じても上位装置の動作に影響を与えずにファームウェアの交換を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【0016】
以下に、本発明に係る制御装置、ディスクアレイ装置および制御方法の実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。
【実施例】
【0017】
図1は、実施例に係るディスクアレイ装置の全体構成の一例を示す図である。図1に示すように、ディスクアレイ装置2は、スイッチ部10−1〜2とコントローラモジュール部30とを有する制御装置3と、チャネルアダプタ部20−1〜2と、ディスク制御部40と、ディスク装置50と、を備える。実施例に係るディスクアレイ装置2では、スイッチ部10−1およびチャネルアダプタ部20−1とスイッチ部10−2およびチャネルアダプタ部20−2とが冗長構成となっている。なお、本実施例では、スイッチ部10−1〜2がサーバ1と接続されているものとしたが、各スイッチ部10−1〜2がそれぞれ異なるサーバと接続されているものとしても良い。また、本実施例では、ディスクアレイ装置2とサーバ1との間の経路が複数あるマルチパスの構成の場合を説明する。
【0018】
スイッチ部10−1〜2は、サーバ1とチャネルアダプタ部20−1〜2との間に配置され、2つのチャネルアダプタ部20−1〜2に接続されている。例えばスイッチ部10−1は、チャネルアダプタ部20−1〜2に接続された2本の経路のうち、あらかじめ定められた一方の経路(主経路)を用いてサーバ1とチャネルアダプタ部20−1との間のデータのやりとりを仲介し、他方の経路を一方の経路の交替経路としている。図1の例では、スイッチ部10−1の主経路はチャネルアダプタ部20−1と接続され、交替経路はチャネルアダプタ部20−2と接続されている。
【0019】
スイッチ部10−1は、サーバ1からの入出力要求を、主経路を介してチャネルアダプタ部20−1に出力する。そして、スイッチ部10−1は、チャネルアダプタ部20−1のファームウェア交換が行われる際、主経路から交替経路に経路を切り替える旨の要求をコントローラモジュール部30から取得すると、スイッチの切り替えによって経路を主経路から交替経路に切り替える。また、スイッチ部10−1は、チャネルアダプタ部20−1のファームウェア交換が行われた後、経路を主経路に戻すために、交替経路から主経路に経路を切り替える旨の要求をコントローラモジュール部30から取得すると、スイッチの切り替えによって経路を主経路から交替経路に切り替える。ここで、入出力要求とは、サーバ1からディスク装置50に対する書き込み依頼または読み込み依頼の要求である。なお、スイッチ部10−1の動作の詳細については、後述する。また、スイッチ部10−2は、スイッチ部10−1と同様であるため、説明を省略する。
【0020】
チャネルアダプタ部20−1〜2は、ディスクアレイ装置2がサーバ1と接続するための内部装置であり、搭載されたポートによってスイッチ部10−1〜2と接続している。チャネルアダプタ部20−1〜2は、サーバ1から出力された入出力要求をスイッチ部10−1〜2からポートを介して取得して、取得された入出力要求をコントローラモジュール部30に出力する。チャネルアダプタ部20−1〜2は、チャネルアダプタ部20−1〜2内部に保持されたファームウェアによって制御されている。このファームウェアは、例えばバージョンアップの時またはファームウェアに異常がみつかった時等にコントローラモジュール部30によって更新される。なお、チャネルアダプタ部20−1およびチャネルアダプタ部20−2は、ディスク装置50に割り当てられたLUN(Logical Unit Number)のマッピングを同一にしている。このため、チャネルアダプタ部20−1の動作をチャネルアダプタ部20−2が行なっても良いことになる。
【0021】
コントローラモジュール部30は、スイッチ部10−1〜2の経路の切り替えを制御して、チャネルアダプタ部20−1〜2のファームウェアを交換する。例えば、コントローラモジュール部30は、保守用端末4からチャネルアダプタ部20−1のファームウェアの交換要求を取得すると、当該交換要求が取得される以前にチャネルアダプタ部20−1によって受け取られている全ての入出力要求の処理が完了したか否かを判定する。チャネルアダプタ部20−1によって既に受け取られている全ての入出力要求の処理が完了しないままチャネルアダプタ部20−1と接続される主経路と異なる交替経路に経路を切り替えると、当該処理が滞ってしまうからである。そして、コントローラモジュール部30は、チャネルアダプタ部20−1によって受け取られている全ての入出力要求の処理が完了したとき、チャネルアダプタ部20−1のファームウェアを新しいファームウェアに交換する。そして、コントローラモジュール部30は、ファームウェアの交換を終了した後、交替経路から主経路に経路を切り替えるために、主経路から交替経路に経路を切り替えたときと同様の処理をスイッチ部10−1との間で行う。コントローラモジュール部30が行うこれらの処理を、以降「ファームウェア交換処理」という。なお、コントローラモジュール部30の動作については、後に詳述する。また、コントローラモジュール部30は、チャネルアダプタ部20−2のファームウェアの交換要求を保守用端末4から受け取った後チャネルアダプタ部20−2のファームウェアの交換を行っても良いし、チャネルアダプタ部20−1のファームウェアの交換後引き続き自動的にチャネルアダプタ部20−2のファームウェアの交換を行っても良い。また、チャネルアダプタ部20−2のファームウェアを交換する場合の動作もチャネルアダプタ部20−1のファームウェアを交換する場合の動作と同様であるため、説明を省略する。
【0022】
また、コントローラモジュール部30は、チャネルアダプタ部20−1〜2から入出力要求を取得すると、取得された入出力要求を解析し、解析した結果、ディスク装置50への書き込み依頼の場合には書き込まれるデータを、書き込まれる位置を示すアドレスとともにディスク制御部40に出力し、ディスク装置50からの読み出し依頼の場合には読み出されるデータのアドレスをディスク制御部40に出力する。
【0023】
ディスク制御部40は、コントローラモジュール部30とディスク装置50とのインタフェースとしての機能を有する。例えば、ディスク制御部40は、書き込まれるデータと書き込まれるアドレスをともにコントローラモジュール部30から取得すると、当該データをディスク装置50上の当該アドレスに書き込む。また、ディスク制御部40は、読み出されるデータのアドレスをコントローラモジュール部30から取得すると、当該アドレスに保持されたデータをディスク装置50から読み出し、コントローラモジュール部30に出力する。
【0024】
ディスク装置50は、複数のハードディスクから構成され、各ハードディスクにデータを記憶している。
【0025】
次に、実施例に係る「ファームウェア交換処理」の概要について、図2を参照して説明する。図2に示すように、「ファームウェア交換処理」は、(1)〜(4)の順序で行われ、チャネルアダプタ部20−1のファームウェアを交換した後、チャネルアダプタ部20−2のファームウェアを交換する。
【0026】
(1)チャネルアダプタ部20−1によって受け取られていた入出力要求の処理が完了した後、主経路から交替経路に経路を切り替える旨の要求をコントローラモジュール部30から取得したスイッチ部10−1は、チャネルアダプタ部20−1と接続されている主経路からチャネルアダプタ部20−2と接続されている交替経路に経路を切り替える。そして、チャネルアダプタ部20−1に入出力要求が出力されなくなったため、コントローラモジュール部30は、チャネルアダプタ部20−1のファームウェアを交換する。
【0027】
(2)チャネルアダプタ部20−1のファームウェアが交換され、チャネルアダプタ部20−2によって受け付けられていた入出力要求の処理が完了した後、コントローラモジュール部30から出力された交替経路から主経路に経路を切り替える旨の要求を取得したスイッチ部10−1は、経路を交替経路から主経路に切り替える。これにより、コントローラモジュール部30は、チャネルアダプタ部20−1のファームウェアの交換を終了することができる。
【0028】
(3)次に、コントローラモジュール部30は、チャネルアダプタ部20−1のファームウェア交換処理と同様に、チャネルアダプタ部20−2のファームウェアを交換する。すなわち、チャネルアダプタ部20−2と主経路で接続されるスイッチ部10−2は、主経路から交替経路に経路を切り替える旨の要求をコントローラモジュール部30から取得すると、経路を主経路から交替経路に切り替える。そして、コントローラモジュール部30は、チャネルアダプタ部20−2のファームウェアを交換する。
【0029】
(4)コントローラモジュール部30から出力された交替経路から主経路に経路を切り替える旨の要求を取得したスイッチ部10−2は、経路を交替経路から主経路に切り替える。これにより、コントローラモジュール部30は、チャネルアダプタ部20−2のファームウェアの交換を終了することができる。
【0030】
次に、図3は、実施例に係る制御装置の構成を示す機能ブロック図である。図3に示すように、制御装置3は、スイッチ部10−1とコントローラモジュール部30とを備える。まず、スイッチ部10−1について説明し、次に、コントローラモジュール部30について説明する。なお、図3では、チャネルアダプタ部20−1のファームウェアを交換する場合について説明する。また、スイッチ部10−2は、スイッチ部10−1と同様の構成であるため、説明を省略する。
【0031】
スイッチ部10−1は、インタフェース部11と、パス切替部12と、制御部13と、記憶部14と、インタフェース部15−1〜2と、を備える。
【0032】
インタフェース部11は、サスペンド実行部131からサスペンド要求を取得し、サスペンド要求の取得後にサーバ1から入出力要求を取得したとき、例えば入出力要求が過多であることを示すビジー応答をサーバ1に出力する。これは、インタフェース部11が新たにサーバ1から入出力要求を受け付けると、チャネルアダプタ部20−1に当該入出力要求が出力されてしまい、このままチャネルアダプタ部20−1のファームウェアが交換されると当該入出力要求の処理が滞ってしまうためである。また、インタフェース部11は、サスペンド解除部132からサスペンド解除要求を取得すると、サスペンドを解除し、サスペンド解除後にサーバ1から入出力要求を取得したとき、取得された入出力要求をパス切替部12に出力する。なお、サスペンドとは、処理を中断することをいう。
【0033】
パス切替部12は、パス切替制御部133の指示に応じて交替経路(交替パス)と主経路(主パス)のどちらか一方に経路を切り替えるスイッチである。具体的に、パス切替部12は、パス切替制御部133によって主経路から交替経路(または交替経路から主経路)に経路を切り替える旨の指示を取得すると、経路を主経路から交替経路(交替経路から主経路)に切り替える。また、パス切替部12は、インタフェース部11から入出力要求を取得すると、パス切替部12によって経路が切り替えられた結果開通している経路に対応するインタフェース部15−1(またはインタフェース部15−2)に対して入出力要求を出力する。
【0034】
制御部13は、サスペンド実行部131と、サスペンド解除部132と、パス切替制御部133と、を備える。サスペンド実行部131は、サスペンド実行要求部313からサスペンド要求を取得すると、取得されたサスペンド要求をインタフェース部11に出力する。
【0035】
サスペンド解除部132は、サスペンド解除要求部316からサスペンド解除要求を取得すると、取得されたサスペンド解除要求をインタフェース部11に出力する。
【0036】
パス切替制御部133は、主経路から交替経路(または交替経路から主経路)に経路を切り替える旨の要求をパス切替要求部315から取得すると、ログインテーブル141を用いて、交替経路(または主経路)と接続されるチャネルアダプタ部20−1(またはチャネルアダプタ部20−2)に対してログアウトする。そして、パス切替制御部133は、交替経路(または主経路)と接続されるチャネルアダプタ部20−2(またはチャネルアダプタ部20−1)に対してログインする。さらに、パス切替制御部133は、チャネルアダプタ部20−2(またはチャネルアダプタ部20−1)に正常にログインできたとき、主経路から交替経路(または交替経路から主経路)に経路を切り替える旨の指示をパス切替部12に出力する。このように、パス切替制御部133が切り替え元の経路に接続されるチャネルアダプタ部20−1に対してログアウトして、切り替え先の経路に接続されるチャネルアダプタ部20−2に対してログインするのは、例えば、ログインするチャネルアダプタ部20−2に対する認証を行ってセキュリティを保障するためである。
【0037】
記憶部14は、ログインテーブル141を備える。ログインテーブル141には、例えば、サーバ1とチャネルアダプタ部20−1〜2との間でデータが転送される際のパラメータが保持されている。図3の例では、1つのレコードには、主経路に接続されたチャネルアダプタ部20−1の識別子と転送されるデータの最大フレーム長と監視時間とが保持される。また、他のレコードには、交替経路に接続されたチャネルアダプタ部20−2の識別子と転送されるデータの最大フレーム長と監視時間とが保持される。
【0038】
インタフェース部15−1は、主経路が開通しているとき、パス切替部12から入出力要求を取得すると、取得された入出力要求をチャネルアダプタ部20−1に出力する。
【0039】
インタフェース部15−2は、交替経路が開通しているとき、パス切替部12から入出力要求を取得すると、取得された入出力要求をチャネルアダプタ部20−2に出力する。
【0040】
コントローラモジュール部30は、制御部31と、記憶部32と、を備える。制御部31は、ファームウェア(以降、「FW」と略する)交換要求取得部311と、スイッチ判定部312と、サスペンド実行要求部313と、仕掛入出力完了判定部314と、パス切替要求部315と、サスペンド解除要求部316と、FW交換制御部317と、を備える。
【0041】
FW交換要求取得部311は、保守用端末4からチャネルアダプタ部20−1のファームウェアを交換する旨の要求を取得すると、取得されたチャネルアダプタ部20−1の識別子をスイッチ判定部312に出力する。
【0042】
スイッチ判定部312は、FW交換要求取得部311からチャネルアダプタ部20−1の識別子を取得すると、チャネルアダプタ部20−1、20−2がそれぞれ主経路として接続されているスイッチ部10−1〜2の識別子を保持するスイッチ構成テーブル321からチャネルアダプタ部20−1の識別子に対応するスイッチの識別子を取得する。そして、スイッチ判定部312は、取得されたスイッチの識別子をサスペンド実行要求部313および仕掛入出力完了判定部314に出力する。
【0043】
サスペンド実行要求部313は、スイッチ判定部312からスイッチの識別子を取得すると、取得されたスイッチの識別子に対応するスイッチ部10−1のサスペンド実行部131に対してサスペンド要求を出力する。また、サスペンド実行要求部313は、FW交換制御部317からファームウェアの交換が終了した旨を取得すると、スイッチ部10−1のサスペンド実行部131に対してサスペンド要求を出力する。そして、サスペンド実行要求部313は、サスペンド要求を出力した後、サスペンド実行中である旨を仕掛入出力完了判定部314に出力する。
【0044】
仕掛入出力完了判定部314は、スイッチ判定部312から取得されたスイッチの識別子を取得する。また、仕掛入出力完了判定部314は、サスペンド実行要求部313からサスペンド実行中である旨を取得すると、サスペンドされる以前にチャネルアダプタ部20−1によって受け付けられた入出力要求の処理が完了したか否かを判定する。例えば、仕掛入出力完了判定部314は、スイッチ部10−1と接続された各チャネルアダプタ部20−1〜2のポートに既に入力されている入出力要求の処理状況を後述する入出力制御テーブル322から読み出す。そして、仕掛入出力完了判定部314は、入出力要求の処理が全て終了しているか否かを判定する。ここで、入出力制御テーブル322とは、チャネルアダプタ部20−1〜2にそれぞれ搭載されたポートであってスイッチ部10−1と接続されたポートにそれぞれ入力された入出力要求の処理状況を保持している。なお、スイッチ部10−1の2つの経路(主経路、交替経路)とそれぞれ接続されるチャネルアダプタ部20−1〜2に搭載されるポートの番号は、同一の番号であるものとする。
【0045】
そして、仕掛入出力完了判定部314は、入出力要求の処理が全て終了していないとき、入出力要求の処理が全て終了するまで、同様の判定処理を繰り返す。一方、仕掛入出力完了判定部314は、入出力要求の処理が全て終了したとき、入出力要求が全て完了した旨をパス切替要求部315に出力する。
【0046】
パス切替要求部315は、仕掛入出力完了判定部314から入出力要求が全て完了した旨を取得すると、主経路から交替経路(または交替経路から主経路)に経路を切り替える旨の要求をパス切替制御部133に出力する。その後、パス切替要求部315は、主経路から交替経路(または交替経路から主経路)に経路が切り替えられた旨をサスペンド解除要求部316に出力する。
【0047】
サスペンド解除要求部316は、主経路から交替経路(または交替経路から主経路)に経路が切り替えられた旨を取得すると、サスペンド解除要求をサスペンド解除部132に出力する。その後、サスペンド解除要求部316は、主経路から交替経路に経路が切り替えられた場合には、サスペンドが解除された旨をFW交換制御部317に出力する。なお、サスペンド解除要求部316は、交替経路から主経路に経路が切り替えられた場合には、チャネルアダプタ部20−1のファームウェアの交換を既に終了しているため、チャネルアダプタ部20−1の「ファームウェア交換処理」を終了する。
【0048】
FW交換制御部317は、サスペンドが解除された旨をサスペンド解除要求部316から取得すると、主経路に接続されたチャネルアダプタ部20−1のファームウェアを交換する。例えば、FW交換制御部317は、新ファームウェア記憶部323に含まれたチャネルアダプタ部20−1用の新ファームウェアを記憶部32から読み出し、チャネルアダプタ部20−1に対してアップロードする。そして、FW交換制御部317は、アップロードされた新ファームウェアをチャネルアダプタ部20−1にインストールする。さらに、FW交換制御部317は、インストール後にチャネルアダプタ部20−1を再起動(リブート)する。そして、FW交換制御部317は、ファームウェアの交換が終了した旨をサスペンド実行要求部313に出力する。
【0049】
記憶部32は、スイッチ構成テーブル321と、入出力制御テーブル322と、新ファームウェア記憶部323と、を備える。スイッチ構成テーブル321は、スイッチ部10−1〜2とチャネルアダプタ部20−1〜2との接続構成を保持する。例えば、スイッチ構成テーブル321は、チャネルアダプタ部20−1〜2の識別子と、チャネルアダプタ部20−1〜2が主経路として接続されているスイッチ部10−1〜2の識別子と、を対にして保持する。
【0050】
入出力制御テーブル322は、チャネルアダプタ部20−1〜2に搭載されたポートによって入力された入出力要求の処理状況をポートごとに保持する。例えば、入出力制御テーブル322は、チャネルアダプタ部20−1〜2の識別子と、ポート番号と、入出力要求に一意に表される入出力要求番号と、入出力要求番号に対応する処理状態と、を入出力要求番号ごとに保持する。処理状態には、例えば、入出力要求の処理が実行されていることを示す「実行中」、入出力要求の処理が待機されていることを示す「待機中」および入出力要求の処理が終了されたことを示す「終了」がある。なお、入出力制御テーブル322には、図示しない処理状況書込部がチャネルアダプタ部20−1〜2のポートごとに入力された入出力要求の処理状況を書き込む。
【0051】
新ファームウェア記憶部323は、チャネルアダプタ部20−1用およびチャネルアダプタ部20−2用の新しいファームウェアを保持する。
【0052】
次に、実施例に係るファームウェア交換処理を、図4を参照して説明する。図4は、実施例に係るファームウェア交換処理の動作を示すフローチャートを示す図である。なお、図4の例では、チャネルアダプタ部20−1のファームウェアを交換する場合のファームウェア交換処理について説明し、スイッチ部10−1がチャネルアダプタ部20−1と主経路で接続され、チャネルアダプタ部20−2と交替経路で接続されているものとする。
【0053】
まず、FW交換要求取得部311は、保守用端末4からチャネルアダプタ部20−1のファームウェアを交換する旨の指示を取得する(S110)。
【0054】
すると、サスペンド実行要求部313は、主経路から交替経路に切り替わるまでサーバ1から入出力要求を受け付けないようにするために、チャネルアダプタ部20−1と主経路で接続されているスイッチ部10−1に対してサスペンド要求を出力して、サスペンド実行中である旨を仕掛入出力完了判定部314に出力する。すると、サスペンド要求を取得したスイッチ部10−1のサスペンド実行部131は、サーバ1から取得された入出力要求に対してサスペンドの実行を行う(S120)。例えば、サスペンド実行部131は、サーバ1から取得された入出力要求に対してビジー応答を、インタフェース部11を介してサーバ1に出力する。
【0055】
次に、サスペンド実行要求部313からサスペンド実行中である旨を取得した仕掛入出力完了判定部314は、サスペンドされる以前にチャネルアダプタ部20−1によって受け付けられた入出力要求の処理が全て完了したか否かを判定する(S130)。
【0056】
入出力要求の処理が全て完了していないと判定されたとき(S130No)、引き続き、入出力要求の処理が全て完了するまで、同様の判定処理を繰り返す。
【0057】
一方、入出力要求の処理が全て完了したと判定されたとき(S130Yes)、パス切替要求部315は、スイッチ部10−1のパス切替制御部133によって主経路を交替経路に切り替えさせる。そして、パス切替制御部133が、主経路と接続されるチャネルアダプタ部20−1に対してログアウトして、交替経路と接続されるチャネルアダプタ部20−2に対してログインして、パス切替部12の主経路を交替経路に切り替える(S140)。
【0058】
そして、サスペンド解除要求部316は、主経路から交替経路に切り替わったため、スイッチ部10−1に対してサスペンド解除要求を出力して、サスペンドが解除された旨をFW交換制御部317に出力する。そして、サスペンド解除要求を取得したスイッチ部10−1のサスペンド解除部132は、サスペンドの解除を行う(S150)。例えば、サスペンド解除部132は、サーバ1から取得された入出力要求に対するビジー応答を解除する。これにより、チャネルアダプタ部20−1のファームウェアがその後に交換されている間、チャネルアダプタ部20−1の代わりにチャネルアダプタ部20−2がサーバ1から受け付けられた入出力要求を処理することになる。
【0059】
引き続き、サスペンドが解除された旨を取得したFW交換制御部317は、チャネルアダプタ部20−1には入出力要求の処理がないため、チャネルアダプタ部20−1のファームウェアを交換する(S160)。そして、FW交換制御部317は、ファームウェアを交換した後、チャネルアダプタ部20−1を再起動(リブート)して(S170)、再起動が終了するまで待ち(S180)、再起動が終了した後(S180Yes)、サスペンド実行要求部にファームウェアの交換が終了した旨を出力する。
【0060】
サスペンド実行要求部313は、交替経路から主経路に経路が切り替わるまでサーバ1から入出力要求を受け付けないようにするために、スイッチ部10−1に対してサスペンド要求を出力して、サスペンド実行中である旨を仕掛入出力完了判定部314に出力する。すると、サスペンド要求を取得したサスペンド実行部131は、サーバ1から取得された入出力要求に対してサスペンドの実行を行う(S190)。例えば、サスペンド実行部131は、サーバ1から取得された入出力要求に対してビジー応答を、インタフェース部11を介してサーバ1に出力する。
【0061】
次に、サスペンド実行要求部313からサスペンド実行中である旨を取得した仕掛入出力完了判定部314は、サスペンドされる以前にチャネルアダプタ部20−2によって受け付けられた入出力要求の処理が全て完了したか否かを判定する(S200)。
【0062】
入出力要求の処理が全て完了していないと判定されたとき(S200No)、引き続き、入出力要求の処理が全て完了するまで、同様の判定処理を繰り返す。
【0063】
一方、入出力要求の処理が全て完了したと判定されたとき(S200Yes)、パス切替要求部315は、パス切替制御部133によって交替経路を主経路に切り替えさせる。そして、パス切替制御部133が、交替経路と接続されるチャネルアダプタ部20−2に対してログアウトして、主経路と接続されるチャネルアダプタ部20−1に対してログインして、パス切替部12の交替経路を主経路に切り替える(S210)。
【0064】
そして、サスペンド解除要求部316は、交替経路から主経路に切り替わったため、スイッチ部10−1に対してサスペンド解除要求を出力する。そして、サスペンド解除要求を取得したスイッチ部10−1のサスペンド解除部132は、サスペンドの解除を行う(S220)。例えば、サスペンド解除部132は、サーバ1から取得された入出力要求に対するビジー応答を解除する。これにより、スイッチ部10−1と主経路で接続されるチャネルアダプタ部20−1がサーバ1から受け付けられる入出力要求を処理することになる。
【0065】
ところで、上記の実施例では、ディスクアレイ装置2とサーバ1との間の経路が複数あるマルチパスの構成の場合を説明した。本発明はこれに限定されるものではなく、ディスクアレイ装置5とサーバ1との間の経路が1本であるシングルパスの構成であっても良い。
【0066】
そこで、実施例の変形例として、ディスクアレイ装置5とサーバ1との間の経路が1本であるシングルパスの構成の場合について説明する。まず、図5を用いて、実施例に係るディスクアレイ装置の全体構成について説明する。図5に示すように、ディスクアレイ装置5は、実施例に係るディスクアレイ装置2(図1)からスイッチ部10−2が削除されている。なお、図5において、図1と同じ部分には同じ符号を付し、詳しい説明を省略する。
【0067】
また、実施例の変形例としてのディスクアレイ装置5の動作については、ディスクアレイ装置2と同様であるため、説明を省略する。
【0068】
以上のように本実施例によれば、制御装置3に含まれるスイッチ部10−1は、チャネルアダプタ部20−1およびチャネルアダプタ部20−2にそれぞれ接続された経路(主経路、交替経路)のいずれか一方に切り替え可能であって、切り替えられた経路がチャネルアダプタ部20−1に接続された主経路のとき、チャネルアダプタ部20−1に接続された主経路を用いてチャネルアダプタ部20−1にデータを転送する。また、制御装置3に含まれるコントローラモジュール部30は、チャネルアダプタ部20−1において転送されたデータの処理が終了したか否かを判定する。そして、コントローラモジュール部30は、データの処理が終了したと判定されたとき、スイッチ部10−1によってチャネルアダプタ部20−1に接続された主経路をチャネルアダプタ部20−2に接続された交替経路に切り替えさせる。そして、コントローラモジュール部30は、スイッチ部10−1によってチャネルアダプタ部20−1に接続された主経路をチャネルアダプタ部20−2に接続された交替経路に切り替えさせたとき、チャネルアダプタ部20−1を制御するファームウェアを更新する。
【0069】
このようにして、制御装置3は、転送先をチャネルアダプタ部20−1からチャネルアダプタ部20−2に切り替えた後には、チャネルアダプタ部20−2がチャネルアダプタ部20−1の代わりにデータを処理するため、データをチャネルアダプタ部20−1またはチャネルアダプタ部20−2に転送するサーバ1の動作に影響を与えずにチャネルアダプタ部20−1のファームウェアを交換することができる。また、制御装置3が、チャネルアダプタ部20−1〜2のファームウェアを自動的に交換するため、保守者の操作によって発生する場合がある作業ミスを防止することができる。
【0070】
なお、制御装置3、ディスクアレイ装置2およびディスクアレイ装置5にて行われる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。
【0071】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【0072】
(付記1)データの転送先を第1の装置または第2の装置に切り替え可能な経路を用いて前記第1の装置にデータを転送する転送手段と、
前記転送手段によって前記第1の装置に転送されたデータに対して前記第1の装置を制御するファームウェアによる処理が終了したか否かを判定する判定手段と、
前記判定手段によってデータの処理が終了したと判定されたとき、前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせる切替制御手段と、
前記切替制御手段が前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせた後、前記第1の装置を制御するファームウェアを更新する更新手段と、
を備えることを特徴とする制御装置。
【0073】
(付記2)前記第1の装置のファームウェアを更新する旨の要求を、前記第1の装置または前記第2の装置にデータを転送する上位装置以外から取得する取得手段をさらに備えることを特徴とする付記1に記載の制御装置。
【0074】
(付記3)前記取得手段によって前記要求が取得されたとき、前記上位装置から転送されるデータの受け取りを拒否する拒否手段をさらに備えることを特徴とする付記2に記載の制御装置。
【0075】
(付記4)前記拒否手段は、
データが過多であることを示すビジー応答を前記上位装置に対して出力することによって、前記上位装置から転送されるデータの受け取りを拒否することを特徴とする付記3に記載の制御装置。
【0076】
(付記5)前記切替制御手段がデータの転送先を前記第2の装置に切り替えさせたとき、前記拒否手段によるデータの受け取り拒否を解除する拒否解除手段をさらに備えることを特徴とする付記3または付記4に記載の制御装置。
【0077】
(付記6)前記切替制御手段は、
前記更新手段によって前記第1の装置のファームウェアが更新された後、前記転送手段におけるデータの転送先を前記第1の装置に切り替えさせることを特徴とする付記1から付記5のいずれか1つに記載の制御装置。
【0078】
(付記7)データを記憶する記憶装置と、
上位装置から転送されるデータであって前記記憶装置に対する入出力のデータを処理する第1の装置および第2の装置と、
データの転送先を第1の装置または第2の装置に切り替え可能な経路を用いて前記第1の装置にデータを転送する転送手段と、
前記転送手段によって前記第1の装置に転送されたデータに対して前記第1の装置を制御するファームウェアによる処理が終了したか否かを判定する判定手段と、
前記判定手段によってデータの処理が終了したと判定されたとき、前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせる切替制御手段と、
前記切替制御手段が前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせた後、前記第1の装置を制御するファームウェアを更新する更新手段と、
を備えることを特徴とするディスクアレイ装置。
【0079】
(付記8)データの転送先を第1の装置または第2の装置に切り替え可能な経路を用いて前記第1の装置にデータを転送する転送ステップと、
前記転送ステップによって前記第1の装置に転送されたデータに対して前記第1の装置を制御するファームウェアによる処理が終了したか否かを判定する判定ステップと、
前記判定ステップによってデータの処理が終了したと判定されたとき、前記転送ステップにおけるデータの転送先を前記第2の装置に切り替えさせる切替制御ステップと、
前記切替制御ステップが前記転送ステップにおけるデータの転送先を前記第2の装置に切り替えさせた後、前記第1の装置を制御するファームウェアを更新する更新ステップと、
を含むことを特徴とする制御方法。
【図面の簡単な説明】
【0080】
【図1】実施例に係るディスクアレイ装置の全体構成の一例を示す図である。
【図2】実施例に係るファームウェア変換処理の概要を示す図である。
【図3】実施例に係る制御装置の構成を示す機能ブロック図である。
【図4】実施例に係るファームウェア変換処理の動作を示すフローチャートである。
【図5】実施例に係るディスクアレイ装置の全体構成の変形例を示す図である。
【符号の説明】
【0081】
1 サーバ
3 制御装置
10−1 スイッチ部
11 インタフェース部
12 パス切替部
13 制御部
14 記憶部
15−1 インタフェース部
15−2 インタフェース部
131 サスペンド実行部
132 サスペンド解除部
133 パス切替制御部
30 コントローラモジュール部
31 制御部
32 記憶部
311 FW交換要求取得部
312 スイッチ判定部
313 サスペンド実行要求部
314 仕掛入出力完了判定部
315 パス切替要求部
316 サスペンド解除要求部
317 FW交換制御部
321 スイッチ構成テーブル
322 入出力制御テーブル
323 新ファームウェア記憶部

【特許請求の範囲】
【請求項1】
データの転送先を第1の装置または第2の装置に切り替え可能な経路を用いて前記第1の装置にデータを転送する転送手段と、
前記転送手段によって前記第1の装置に転送されたデータに対して前記第1の装置を制御するファームウェアによる処理が終了したか否かを判定する判定手段と、
前記判定手段によってデータの処理が終了したと判定されたとき、前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせる切替制御手段と、
前記切替制御手段が前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせた後、前記第1の装置を制御するファームウェアを更新する更新手段と、
を備えることを特徴とする制御装置。
【請求項2】
前記第1の装置のファームウェアを更新する旨の要求を、前記第1の装置または前記第2の装置にデータを転送する上位装置以外から取得する取得手段をさらに備えることを特徴とする請求項1に記載の制御装置。
【請求項3】
前記取得手段によって前記要求が取得されたとき、前記上位装置から転送されるデータの受け取りを拒否する拒否手段をさらに備えることを特徴とする請求項2に記載の制御装置。
【請求項4】
前記切替制御手段がデータの転送先を前記第2の装置に切り替えさせたとき、前記拒否手段によるデータの受け取り拒否を解除する拒否解除手段をさらに備えることを特徴とする請求項3に記載の制御装置。
【請求項5】
前記切替制御手段は、
前記更新手段によって前記第1の装置のファームウェアが更新された後、前記転送手段におけるデータの転送先を前記第1の装置に切り替えさせることを特徴とする請求項1から請求項4のいずれか1つに記載の制御装置。
【請求項6】
データを記憶する記憶装置と、
上位装置から転送されるデータであって前記記憶装置に対する入出力のデータを処理する第1の装置および第2の装置と、
データの転送先を第1の装置または第2の装置に切り替え可能な経路を用いて前記第1の装置にデータを転送する転送手段と、
前記転送手段によって前記第1の装置に転送されたデータに対して前記第1の装置を制御するファームウェアによる処理が終了したか否かを判定する判定手段と、
前記判定手段によってデータの処理が終了したと判定されたとき、前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせる切替制御手段と、
前記切替制御手段が前記転送手段におけるデータの転送先を前記第2の装置に切り替えさせた後、前記第1の装置を制御するファームウェアを更新する更新手段と、
を備えることを特徴とするディスクアレイ装置。
【請求項7】
データの転送先を第1の装置または第2の装置に切り替え可能な経路を用いて前記第1の装置にデータを転送する転送ステップと、
前記転送ステップによって前記第1の装置に転送されたデータに対して前記第1の装置を制御するファームウェアによる処理が終了したか否かを判定する判定ステップと、
前記判定ステップによってデータの処理が終了したと判定されたとき、前記転送ステップにおけるデータの転送先を前記第2の装置に切り替えさせる切替制御ステップと、
前記切替制御ステップが前記転送ステップにおけるデータの転送先を前記第2の装置に切り替えさせた後、前記第1の装置を制御するファームウェアを更新する更新ステップと、
を含むことを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate