(57)【要約】【課題】複数のディスクコントローラ部を備えるストレージ装置において、ディスクコントローラ部に障害が発生したときの障害復帰に要する時間を短縮する。【解決手段】ストレージ装置１０１は、ｎ個（ｎ＞２、ｎは整数）のディスクコントローラ部１０４１、…、１０４ｎを備える。ディスクコントローラ部１０４１等は、キャッシュメモリ１０７１、…、１０７ｎを含む。キャッシュメモリ１０７１のデータは、他のキャッシュメモリ（例えば、１０７２）に複製されている。ディスクコントローラ部１０４１に障害が発生すると、キャッシュメモリ１０７２に複製されているデータのうちディスクに書き込まれていないデータを、更に他のキャッシュメモリ（例えば、１０７３）に転送する。【選択図】      図１
2005122453.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶媒体を含む記憶装置部と、
計算機装置から前記記憶装置部へのデータの書き込み及び前記記憶装置部から前記計算機装置へのデータの読み出しを制御するプロセッサと、前記データを一時的に保存するキャッシュメモリとを有する複数の制御部と、
前記制御部に発生した障害を検出する管理部と、を備え、
前記記憶装置部と前記制御部との間及び前記制御部相互の間で通信可能に接続されたストレージ装置の制御方法において、
前記計算機装置が前記ストレージ装置にデータを書き込むと、当該データを前記制御部のうち現用制御部のキャッシュメモリに書き込み、当該データを前記現用制御部のキャッシュメモリから待機用制御部のキャッシュメモリに複製し、
前記管理部によって前記現用又は待機用制御部のいずれかに障害が発生したことが検出されると、前記現用又は待機用制御部の障害が発生していない制御部のキャッシュメモリに保存されたデータのうち前記記憶装置部に書き込まれていないデータを、前記現用及び待機用以外の制御部のキャッシュメモリに転送することを特徴とするストレージ装置の制御方法。
【請求項２】
前記現用又は待機用制御部のいずれかに障害が発生すると、前記障害が発生していない制御部のキャッシュメモリに保存されたデータのうち、前記キャッシュメモリに常駐するデータを前記現用及び待機用以外の制御部のキャッシュメモリに転送することを特徴とする請求項１に記載のストレージ装置の制御方法。
【請求項３】
前記キャッシュメモリに書き込まれたデータが、前記現用制御部に関するものか、前記待機用制御部に関するものかを示す識別子と、当該データの複製の相手方となる制御部を示す識別子とを当該キャッシュメモリに書き込み、
前記障害が発生していない制御部のキャッシュメモリから、前記現用及び待機用以外の制御部のキャッシュメモリに転送するデータを、前記識別子によって選択することを特徴とする請求項１に記載のストレージ装置の制御方法。
【請求項４】
前記複数の制御部のキャッシュメモリは、複数の領域に分割され、
前記領域には、前記現用制御部に関するデータが保存されているか、前記待機用制御部に関するデータが保存されているかの属性が付されており、
前記管理部によって前記現用又は待機用制御部のいずれかに障害が発生したことが検出されると、前記現用又は待機用制御部の障害が発生していない制御部に関する領域に保存されたデータのうち前記記憶装置部に書き込まれていないデータを、前記現用及び待機用以外の制御部のキャッシュメモリに転送することを特徴とする請求項１に記載のストレージ装置の制御方法。
【請求項５】
複数の記憶媒体を含む記憶装置部と、
計算機装置から前記記憶装置部へのデータの書き込み及び前記記憶装置部から前記計算機装置へのデータの読み出しを制御するプロセッサと、前記データを一時的に保存するキャッシュメモリとを有する複数の制御部と、
前記制御部の構成を管理する管理部と、を備え、
前記記憶装置部と前記制御部との間及び前記制御部相互の間で通信可能に接続されたストレージ装置の制御方法において、
前記計算機装置が前記ストレージ装置にデータを書き込むと、前記データを前記制御部のうち現用制御部のキャッシュメモリに書き込み、当該データを前記現用制御部のキャッシュメモリから待機用制御部のキャッシュメモリに複製し、
前記管理部が前記制御部の構成変更を指示すると、前記現用又は待機用制御部のキャッシュメモリに保存されたデータを、前記現用及び待機用以外の制御部のキャッシュメモリに転送することを特徴とするストレージ装置の制御方法。
【請求項６】
前記キャッシュメモリに書き込まれたデータが、前記現用制御部に関するものか、前記待機用制御部に関するものかを示す識別子と、当該データの複製の相手方となる制御部を示す識別子とを当該キャッシュメモリに書き込み、
当該現用又は待機用制御部のキャッシュメモリから、前記現用及び待機用以外の制御部のキャッシュメモリに転送するデータを、前記識別子によって選択することを特徴とする請求項５に記載のストレージ装置の制御方法。
【請求項７】
前記複数の制御部のキャッシュメモリは、複数の領域に分割され、
前記領域には、前記現用制御部に関するデータが保存されているか、前記待機用制御部に関するデータが保存されているかの属性が付されており、
前記管理部が前記制御部の構成変更を指示すると、前記現用又は待機用制御部に関する領域に保存されたデータを、前記現用及び待機用以外の制御部のキャッシュメモリに転送することを特徴とする請求項６に記載のストレージ装置の制御方法。
【請求項８】
複数の記憶媒体を含む記憶装置部と、
データを一時的に保存するキャッシュメモリを有する複数の制御部と、を備え、
前記記憶装置部と前記制御部との間及び前記制御部相互の間で通信可能に接続されたストレージ装置において、
計算機装置が前記ストレージ装置に書き込んだデータを、前記制御部のうち現用制御部のキャッシュメモリに書き込む手段と、
当該データを前記現用制御部のキャッシュメモリから待機用制御部のキャッシュメモリに複製する手段と、
前記制御部に障害が発生したことを検出する障害検出手段と、
前記障害検出手段によって前記現用又は待機用制御部のいずれかに障害が発生したことが検出されると、前記現用又は待機用制御部の障害が発生していない制御部のキャッシュメモリに保存されたデータのうち前記記憶装置部に書き込まれていないデータを、前記現用及び待機用以外の制御部のキャッシュメモリに転送する手段と、を備えることを特徴とするストレージ装置。
【請求項９】
前記計算機装置にネットワークスイッチを介して接続されることを特徴とする請求項８に記載のストレージ装置。
【請求項１０】
前記計算機装置を内部に含み、前記計算機装置と前記制御部との間は通信可能に接続されていることを特徴とする請求項８に記載のストレージ装置。
【請求項１１】
複数の記憶媒体を含む記憶装置部と、
データを一時的に保存するキャッシュメモリを有する複数の制御部と、を備え、
前記記憶装置部と前記制御部との間及び前記制御部相互の間で通信可能に接続されたストレージ装置において、
計算機装置が前記ストレージ装置に書き込んだデータを、前記制御部のうち現用制御部のキャッシュメモリに書き込む手段と、
当該データを前記現用制御部のキャッシュメモリから待機用制御部のキャッシュメモリに複製する手段と、
前記複数の制御部の構成変更を指示する手段と、
前記構成変更の指示を受けて、前記現用又は待機用制御部のキャッシュメモリに保存されたデータを、前記現用及び待機用以外の制御部のキャッシュメモリに転送する手段と、を備えることを特徴とするストレージ装置。
【請求項１２】
前記計算機装置にネットワークスイッチを介して接続されることを特徴とする請求項１１に記載のストレージ装置。
【請求項１３】
前記計算機装置を内部に含み、前記計算機装置と前記制御部との間は通信可能に接続されていることを特徴とする請求項１１に記載のストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機装置とストレージ装置との間の通信を制御するディスクコントローラ部を備えるストレージ装置における、そのディスクコントローラ部の制御方式に関し、特に、ディスクコントローラ部をｎ（ｎ＞２、ｎは整数）個持つストレージ装置において、ディスクコントローラ部の構成の変更方法や、ディスクコントローラ部に発生した障害の復帰方法に関する。
【背景技術】
【０００２】
企業やデータセンタ内では、大量のデータを保存するために、複数のディスクを備えたストレージ装置が用いられる。最近では、従来の売上管理、在庫管理、財務管理の業務システムに加え、インターネットを用いた電子商取引システムやＷＥＢサービス向けのシステム等の新しい業務が拡大しており、そこで生まれるデータの保存のために必要なストレージ容量が年々増加している。従って、ストレージ装置には、増加するデータ容量に対応するため、連続的にディスク記憶装置を追加できることが要求される。また、特に企業の基幹業務システム停止は大きな損失につながるため、そこで用いられるストレージ装置には障害を最小限にする高信頼性が要求される。これらの要求を満たすストレージ装置として、ストレージ装置ベンダー各社からは、例えば特許文献１や特許文献２に示すような、様々なディスクアレイ装置が販売されている。
【０００３】
従来のストレージ装置の構成を、図９を参照して説明する。
【０００４】
ストレージ装置９０１は、ストレージ装置９０１に対してデータアクセスを行う計算機装置９０２に接続されている。ストレージ装置９０１は、ディスク記憶装置部９１０と、ディスクコントローラ部９０４１、９０４２とを含む。ディスク記憶装置部９１０は、複数のディスク記憶装置から構成される。
【０００５】
ディスクコントローラ部９０４１等は、計算機装置９０２とディスク記憶装置９１０との間でデータアクセスの制御を行い、キャッシュメモリ９０７１、９０７２及びマイクロプロセッサ（ＭＰ）９０６１、９０６２を含む。キャッシュメモリ９０７１等は、データアクセスを高速化するためにデータを一時的に保存する。マイクロプロセッサ９０６１等は、キャッシュメモリ９０７１等を管理し、計算機装置９０２とディスクコントローラ部９０４１等との間の通信を制御し、ディスクコントローラ部９０４１等とディスク記憶装置部９１０との間の通信を制御し、ディスク記憶装置部９１０へのデータの保存を管理する。
【０００６】
計算機装置９０２とディスクコントローラ部９０４１、９０４２との間は、計算機装置９０２内のインターフェースカード（ＩＯ）９０３とディスクコントローラ部９０４１等のホストアダプタカード（ＨＡ）９０５１、９０５２との間を、光ファイバ又はメタルケーブル９１１１、９１１２で接続し、例えばファイバチャネルやＳＣＳＩ等のプロトコルを用いてデータを送受信する。一方、ディスクコントローラ部９０４１、９０４２とディスク記憶装置部９１０との間は、ディスクアダプタカード（ＤＡ）９０８１、９０８２および光ファイバまたはメタルケーブル９１２１、９１２２を介して、例えばファイバチャネルやＳＣＳＩ等のプロトコルを用いてデータを送受信する。
【０００７】
次に、計算機装置９０２がストレージ装置９０１にアクセスする方法を説明する。計算機装置９０２がストレージ装置９０１に記憶されたデータにアクセス（データ書き込み又はデータ読み出し）するときは、２個のディスクコントローラ部９０４１、９０４２の一方（例えば、９０４１）を選択して、このディスクコントローラ部９０４１を介してディスク記憶装置部９１０にアクセスする。アクセスデータは一時的にキャッシュメモリ９０７１に保存される。計算機装置９０２は、ディスク記憶装置部９１０と比べてデータアクセス速度の速い半導体メモリにアクセスするため、データアクセス速度が向上する。
【０００８】
このとき、もう一方のディスクコントローラ部９０４２のキャッシュメモリ９０７２には、メモリ間通信経路９０９を介してキャッシュメモリ９０７１のデータが複製される（ミラーリング）。このディスクコントローラ部の２重構成によって、一方のディスクコントローラ部に障害が起きた場合でも、もう一方のディスクコントローラ部へのデータアクセスが可能となり、ストレージ装置が高信頼化される。
【特許文献１】米国特許第６４３８６４７号明細書
【特許文献２】米国特許第６３３０６４２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
図１０は、従来のストレージ装置（図９）において、ディスクコントローラ部１（例えば、９０４１）に障害が起きたときの障害復帰手順を示したシーケンス図である。ディスクコントローラ部１に障害が発生する（Ｓ１００１）と、２つのディスクコントローラ部の間では、例えばハートビート等の障害監視方法により、ディスクコントローラ部２（例えば、９０４２）が障害を認識する（Ｓ１００２）。ディスクコントローラ部２は、ディスクコントローラ部１に障害が発生したことを計算機装置９０２に通知し（Ｓ１００４）、新規アクセスを禁止する（Ｓ１００５、Ｓ１００６）。この時点で、ディスクコントローラ部２のキャッシュメモリ上の、ディスク記憶装置部９１０への書き込みが行われていないキャッシュデータ（未書き込みキャッシュデータ）は、２重化されていない。従って、ディスクコントローラ部２にも障害が発生した場合は、未書き込みキャッシュデータを復元することができない。これはデータ喪失という信頼性の面での重大な問題となる。これを防ぐための障害復帰処理として、ディスクコントローラ部２は未書き込みキャッシュデータを直ちにディスク記憶装置部９１０へ書き込む（Ｓ１００７、Ｓ１００８）。
【００１０】
しかし、ディスク記憶装置部９１０への書き込みは、半導体メモリであるキャッシュメモリ９０７１等への書き込みと比較して、時間を要する。このため、記憶装置へのアクセス禁止期間ＦＴが長くなり、業務への影響が大きい。
【００１１】
未書き込みキャッシュデータをディスク記憶装置９１０へ書き込んだ後に、ディスクコントローラ部２は、計算機装置９０２へ新規アクセス許可する（Ｓ１００９）。計算機装置９０２は、ディスクコントローラ部２に対してデータアクセスを開始する（Ｓ１０１１）。一方、障害が発生したディスクコントローラ部１は、リセット又は交換（Ｓ１０１２）することによって障害復帰を行い、ディスクコントローラ部２に障害復帰を通知する（Ｓ１０１３）。
【００１２】
これをディスクコントローラ部２が認識して（Ｓ１０１４）、２台のディスクコントローラ部１及び２による２重系が構成され、通常状態に復帰する（Ｓ１０１５、Ｓ１０１６）。この結果、通常状態に戻り、データ書き込みアクセス時にキャッシュメモリに一時的にデータを保存することによってデータアクセス速度が高速化される。
【００１３】
しかし、新規アクセスが許可（Ｓ１００９）されてから通常状態に復帰する（Ｓ１０１５、Ｓ１０１６）までの期間ＳＴにおいては、障害が発生したディスクコントローラ部１は稼動していないため、ディスクコントローラ部２のみへのデータアクセスとなる。このため、データ書き込みアクセスを行う場合は、アクセスのたびにディスクにデータを書き込んで、データ喪失を防ぐ必要がある。このため、期間ＳＴにおけるデータアクセス速度が大幅に低下する。
【００１４】
また、障害発生時以外においても、保守等のために、装置の構成変更が必要となることがある。しかし、その度にシステムを停止することは、特に企業の基幹業務等においては大きな損失につながる。
【００１５】
本発明は、このような問題点に鑑みてなされたものであり、前記のストレージアクセス停止期間ＦＴが短く、前記障害復帰するまでの期間ＳＴにおいて高信頼かつ高速のデータアクセスが実現でき、システムを停止させることなく保守を行うことができるストレージ装置およびディスクコントローラ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
第１の発明は、複数の記憶媒体を含む記憶装置部と、
計算機装置から前記記憶装置部へのデータの書き込み及び前記記憶装置部から前記計算機装置へのデータの読み出しを制御するプロセッサと、前記データを一時的に保存するキャッシュメモリとを有する複数の制御部と、
前記制御部に発生した障害を検出する管理部と、を備え、
前記記憶装置部と前記制御部との間及び前記制御部相互の間で通信可能に接続されたストレージ装置の制御方法において、
前記計算機装置が前記ストレージ装置にデータを書き込むと、当該データを前記制御部のうち現用制御部のキャッシュメモリに書き込み、当該データを前記現用制御部のキャッシュメモリから待機用制御部のキャッシュメモリに複製し、
前記管理部によって前記現用又は待機用制御部のいずれかに障害が発生したことが検出されると、前記現用又は待機用制御部の障害が発生していない制御部のキャッシュメモリに保存されたデータのうち前記記憶装置部に書き込まれていないデータを、前記現用及び待機用以外の制御部のキャッシュメモリに転送することを特徴とする。
【００１７】
第２の発明は、複数の記憶媒体を含む記憶装置部と、
計算機装置から前記記憶装置部へのデータの書き込み及び前記記憶装置部から前記計算機装置へのデータの読み出しを制御するプロセッサと、前記データを一時的に保存するキャッシュメモリとを有する複数の制御部と、
前記制御部の構成を管理する管理部と、を備え、
前記記憶装置部と前記制御部との間及び前記制御部相互の間で通信可能に接続されたストレージ装置の制御方法において、
前記計算機装置が前記ストレージ装置にデータを書き込むと、前記データを前記制御部のうち現用制御部のキャッシュメモリに書き込み、当該データを前記現用制御部のキャッシュメモリから待機用制御部のキャッシュメモリに複製し、
前記管理部が前記制御部の構成変更を指示すると、前記現用又は待機用制御部のキャッシュメモリに保存されたデータを、前記現用及び待機用以外の制御部のキャッシュメモリに転送することを特徴とする。
【発明の効果】
【００１８】
第１の発明によると、複数のディスクコントローラ部を含むストレージ装置において、ディスクコントローラ部に障害が発生したときに、ディスクコントローラ部のキャッシュメモリ上の未書き込みキャッシュデータを、データアクセス速度が遅いディスク記憶装置に書き込むかわりに、データアクセス速度が速い半導体メモリである別のディスクコントローラ部のキャッシュメモリに複製する。このため、障害復帰手順において、計算機装置がストレージ装置へのデータアクセスを禁止される時間を短縮できる。また、その後、新規データアクセスが許可された時点でキャッシュメモリが２重化されているため、データアクセス速度を低下させることなく稼動することができる。このように、第１の発明によると、データアクセス性能を低下させることなく、ストレージ装置を高信頼化することができる。
【００１９】
第２の発明によると、使用しているディスクコントローラ部のキャッシュメモリのデータを、使用していないディスクコントローラ部のキャッシュメモリに複製することによって、その使用しているディスクコントローラ部を使用しないようにして、保守のために取り外すこと、又は、他の計算機装置のデータアクセス用のディスクコントローラ部として使用することができる。また、新たに追加したディスクコントローラ部を使用することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２１】
図１は、本発明の第１の実施の形態のストレージ装置の構成を示すブロック図である。
【００２２】
図１において、本発明が適用されたストレージ装置１０１は、ストレージ装置１０１のデータにアクセスする計算機装置１０２に接続されている。ストレージ装置１０１には、データを保存するためのディスク記憶装置部１１０が設けられている。
【００２３】
また、ストレージ装置１０１には、従来例（図９）と同様に、計算機装置１０２とディスク記憶装置部１１０との間でデータアクセスの制御を行うｎ個のディスクコントローラ部１０４１、１０４２、１０４３、…、１０４ｎ（ｎ＞２、ｎは整数）が設けられている。ディスクコントローラ部１０４１〜１０４ｎは、キャッシュメモリ１０７１、１０７２、１０７３、…、１０７ｎ及びマイクロプロセッサ（ＭＰ）１０６１、１０６２、１０６３、…、１０６ｎを含んで構成される。キャッシュメモリ１０７１〜１０７ｎは、データアクセスを高速化するために、ディスク記憶装置部１１０に書き込むデータや、ディスク記憶装置部１１０から読み出されたデータを一時的に保存する半導体メモリである。
【００２４】
マイクロプロセッサ１０６１〜１０６ｎは、キャッシュメモリ１０７１〜１０７ｎの管理、計算機装置１０２とディスクコントローラ部１０４１〜１０４ｎとの間の通信制御、ディスクコントローラ部１０４１〜１０４ｎとディスク記憶装置部１１０との間の通信制御、及び、ディスク記憶装置部１１０へのデータの保存の管理等を行う。マイクロプロセッサ１０６１〜１０６ｎの制御によって、例えば、ディスク記憶装置部１１０の複数のディスク記憶装置を１台のディスク記憶装置として使用するＲＡＩＤを構成することができる。
【００２５】
計算機装置１０２とディスクコントローラ部１０４１〜１０４ｎとの間のデータ通信は、計算機装置内のインターフェースカード（ＩＯ）１０３とディスクコントローラ部内のホストアダプタカード（ＨＡ）１０５１、１０５２、１０５３、…、１０５ｎとの間を、光ファイバ又はメタルケーブル１１１１、１１１２、１１１３、…、１１１ｎで接続し、例えば、ファイバチャネルやＳＣＳＩ等のプロトコルを用いて行われる。
【００２６】
一方、ディスクコントローラ部１０４１〜１０４ｎとディスク記憶装置部１１０との間は、インターフェースアダプタ（ＩＡ）１０８１、１０８２、１０８３、…、１０８ｎ、１１７を介して、例えば、InfiniBand等の装置内部ネットワーク１１４を用いて接続され、データが送受信される。ストレージ装置管理部１１２は、インターフェースアダプタ１１３及び装置内部ネットワーク１１４を介してディスクコントローラ部１０４１〜１０４ｎ及びディスク記憶装置部１１０と接続され、これらと通信を行って、ストレージ装置１０１内のディスクコントローラ部１０４１〜１０４ｎ及びディスク記憶装置部１１０の障害を監視し、ストレージ装置１０１の構成情報を管理し、ディスクコントローラ部１０４１〜１０４ｎのデータアクセスの負荷情報やキャッシュメモリ１０７１〜１０７ｎの使用率情報を収集する。
【００２７】
なお、図１においては、動作を簡単に説明するために計算機装置１０２とディスク記憶装置部１１０とをそれぞれ１個しか示していないが、一般に、計算機装置をｍ個（ｍ＞０、ｍは整数）、ディスク記憶装置部をｋ個（ｋ＞０、ｋは整数）として各々複数設けることができる。
【００２８】
次に、計算機装置１０２がストレージ装置１０１にアクセスする方法を説明する。計算機装置１０２がストレージ装置１０１に記憶されたデータにアクセス（データ書き込み又はデータ読み出し）するときは、前記ｎ個のディスクコントローラ部１０４１〜１０４ｎのうち１つを現用系、別の１つを待機系、残りのｎ−２個をデータアクセスに関与しない予備系として割り当てる。例えば、１０４１を現用系、１０４２を待機系、１０４３、…、１０４ｎを予備系として割り当てる。
【００２９】
計算機装置１０２は、現用系のディスクコントローラ部１０４１を介してディスク記憶装置部１１０にアクセスする。このとき、ストレージ管理部１１２から計算機装置１０２内のデバイスドライバ（図示省略）への指示によって、ディスクコントローラ部１０４１へのデータアクセスパス１１１１が選択される。アクセスデータ（ストレージ装置１０１に書き込まれるデータ又はストレージ装置１０１から読み出されるデータ）は一時的にキャッシュメモリ１０７１に保存される。キャッシュメモリ１０７１は、ディスク記憶装置部１１０と比べてデータアクセス速度が速い半導体メモリであるため、計算機装置１０２がディスク記憶装置１１０にアクセスする代わりにキャッシュメモリ１０７１にアクセスすることによって、データアクセス速度が向上する。
【００３０】
このとき、待機系のディスクコントローラ１０４２のキャッシュメモリ１０７２には、例えば、装置内部ネットワーク１１４を経由してキャッシュメモリ１０７１のデータの複製が作成される（ミラーリング）。このように、ディスクコントローラ部１０４１（現用系）及び１０４２（待機系）のキャッシュメモリ１０７１及び１０７２に同じデータが書き込まれていると、一方のディスクコントローラ部に障害が発生しても、もう一方のディスクコントローラ部のキャッシュメモリのデータが残る。計算機装置１０２は、そのデータにアクセスすることができるため、データが喪失せず、ストレージ装置１０１の信頼性が向上する。
【００３１】
なお、ここでは説明を簡単にするためにミラーリングを例示したが、例えば、キャッシュメモリ１０７１に記憶されたキャッシュデータのうち、書き込みデータのみをキャッシュメモリ１０７２に複製してもよい。キャッシュデータのうち読み出しデータは、ディスク記憶装置部１１０から複製されたものであるため、ディスクコントローラ部１０４１に障害が発生してもデータが失われることはないからである。
【００３２】
本発明においては、ディスクコントローラ部１０４１〜１０４ｎのキャッシュデータには、図示しないメタデータが付属する。このメタデータには、そのキャッシュデータの論理アドレス値、そのキャッシュデータが書き込みデータか読み出しデータかを区別するための識別子、ディスクに書き込んだか否かを示す識別子、及び、キャッシュメモリに常駐するキャッシュデータであることを示す識別子等の、従来から用いられているデータに加えて、現用系のキャッシュデータか待機系のキャッシュデータかを示す識別子と、そのキャッシュデータが現用系のときは、そのデータの複製が書き込まれているキャッシュメモリを含むディスクコントローラを示し、そのキャッシュデータが待機系のときは、そのデータを複製する元となったデータが書き込まれているキャッシュメモリを含むディスクコントローラを示す識別子（２重化対象識別子）と、が含まれる。ここで、キャッシュメモリに常駐するキャッシュデータとは、ディスク記憶装置部１１０に書き込んだか否かに関らずキャッシュメモリに常駐することを定められたデータをいう。例えば、アクセス頻度の高いデータをキャッシュメモリに常駐させることによって、データアクセス速度を向上させることができる。
【００３３】
図１において、ディスクコントローラ部の１つに障害が発生したときは、そのディスクコントローラ部とｎ−２個の予備系のディスクコントローラ部のうちの１つとを交換する構成変更を行う。これによって、従来よりも高速な障害復帰が可能となる。この構成変更のときに、前記メタデータを検索することによって、どのキャッシュデータを他のディスクコントローラ部に転送する必要があるかを知ることができる。
【００３４】
次に、この障害復帰手順について、図２及び図３を参照して説明する。
【００３５】
図２は、本発明の第１の実施の形態のストレージ装置において、現用系のディスクコントローラ部に障害が発生したときの処理を示すシーケンス図である。
【００３６】
現用系として稼動中のディスクコントローラ部１（例えば、１０４１）に障害が発生する（Ｓ２０１）と、ストレージ装置管理部１１２が、例えば、ハートビート等の障害監視方法によって、その障害を検出する（Ｓ２０２）。ストレージ装置管理部１１２は、各ディスクコントローラ部と計算機装置１０２とにディスクコントローラ部１で障害が発生したこと及び障害復帰するための構成変更の情報を通知する（Ｓ２０３）。ここでは、ストレージ装置１０１の構成を、待機系のディスクコントローラ部２（例えば、１０４２）を新現用系に、予備系のディスクコントローラ部３（例えば、１０４３）を新待機系に変更する。
【００３７】
ディスクコントローラ部２は、ストレージ装置管理部１１２からの指示（Ｓ２０３）によって、障害を認識すると共に新現用系への変更処理を開始し（Ｓ２０５）、計算機装置１０２による新規アクセスが禁止される（Ｓ２０８）。一方、ディスクコントローラ部３は、ストレージ装置管理部１１２からの指示（Ｓ２０３）によって、障害を認識すると共に新待機系への変更処理を開始し（Ｓ２０４）、計算機装置１０２による新規アクセスが禁止される（Ｓ２０７）。計算機装置１０２は、ストレージ装置管理部１１２からの指示（Ｓ２０３）によって、障害を認識し（Ｓ２０６）、ストレージ装置１０１への新規アクセスを禁止する（Ｓ２０９）。
【００３８】
この時点で、待機系のディスクコントローラ部２のキャッシュメモリ上にあるデータのうち、ディスク記憶装置へ書き込まれていないキャッシュデータ（未書き込みキャッシュデータ）は、２重化されていない。このため、ディスクコントローラ部２にも障害が発生すると、未書き込みキャッシュデータを復元することができない。これを防ぐための障害復帰処理として、従来のようにディスクコントローラ部２の未書き込みキャッシュデータを直ちにディスク記憶装置１１０へ書き込むかわりに、待機系のキャッシュメモリ１０７２に記憶されている未書き込みキャッシュデータを新待機系のディスクコントローラ部３のキャッシュメモリ１０７３に転送する（Ｓ２１０、Ｓ２１１）。キャッシュメモリ１０７３は、ディスク記憶装置部１１０よりデータアクセス速度が速い半導体メモリであるため、障害復帰処理にかかる時間ＦＴを大幅に削減することができる。
【００３９】
このキャッシュデータの転送の終了後、キャッシュデータに付属するメタデータのうち、現用系キャッシュデータか待機系のキャッシュデータかを示す識別子と、２重化対象識別子とを、ディスクコントローラ部の構成変更と整合するように変更する（Ｓ２１２、Ｓ２１３）。これらの処理を行った後に、ディスクコントローラ部２は、ストレージ装置管理部１１２に障害復帰処理の終了を通知する（Ｓ２１４）。
【００４０】
ストレージ装置管理部１１２は、障害復帰処理終了を認識し（Ｓ２１５）、計算機装置１０２、ディスクコントローラ部２及びディスクコントローラ部３に新規アクセスの許可を通知する（Ｓ２１６）。その結果、ディスクコントローラ部２は新現用系として、ディスクコントローラ部３は新待機系として稼動を開始し（Ｓ２１７、Ｓ２１８）、計算機装置１０２は、ストレージ装置１０１への新規アクセスを開始する（Ｓ２１９）。
【００４１】
この時点では、障害が発生したディスクコントローラ部１は稼動していないが、ディスクコントローラ部２（新現用系）とディスクコントローラ部３（新待機系）とでデータが２重化されている。このため、データアクセス時にキャッシュメモリに一時的にデータを保存してデータアクセス速度を高速化する、通常状態に復帰することができる。
【００４２】
障害が発生したディスクコントローラ部１は、再起動又は交換（Ｓ２２０）を行うことによって障害から復帰すると、障害復帰をストレージ装置管理部に通知する（Ｓ２２１）。そして、ストレージ装置管理部１１２は障害復帰を認識する（Ｓ２２２）。これによって、ディスクコントローラ部１は、新予備系としての稼動を開始する（Ｓ２２３）。
【００４３】
図３は、本発明の第１の実施の形態のストレージ装置において、待機系のディスクコントローラ部に障害が発生したときの処理を示すシーケンス図である。図３は、ディスクコントローラ部１を引き続き新現用系として動作させ、ディスクコントローラ部３を新待機系として動作させる点で図２と異なるが、そのための手順は、図２に示すものとほぼ同じである。
【００４４】
待機系として稼動中のディスクコントローラ部２（例えば、１０４２）に障害が発生する（Ｓ３０１）と、ストレージ装置管理部１１２がその障害を検出する（Ｓ３０２）。ストレージ装置管理部１１２は、各ディスクコントローラ部と計算機装置１０２とにディスクコントローラ部２で障害が発生したこと及び障害復帰するための構成変更の情報を通知する（Ｓ３０３）。ここでは、ストレージ装置１０１の構成を、現用系のディスクコントローラ部１（例えば、１０４１）を引き続き新現用系に、予備系のディスクコントローラ部３（例えば、１０４３）を新待機系に変更する。
【００４５】
ディスクコントローラ部１は、ストレージ装置管理部１１２からの指示（Ｓ３０３）によって、障害を認識すると共に新現用系への変更処理を開始し（Ｓ３０５）、計算機装置１０２による新規アクセスが禁止される（Ｓ３０８）。一方、ディスクコントローラ部３は、ストレージ装置管理部１１２からの指示（Ｓ３０３）によって、障害を認識すると共に新待機系への変更処理を開始し（Ｓ３０４）、計算機装置１０２による新規アクセスが禁止される（Ｓ３０７）。計算機装置１０２は、ストレージ装置管理部１１２からの指示（Ｓ３０３）によって、障害を認識し（Ｓ３０６）、ストレージ装置１０１への新規アクセスを禁止する（Ｓ３０９）。
【００４６】
次に、未書き込みキャッシュデータの２重化を行うために、新現用系のディスクコントローラ部１のキャッシュメモリ１０７１の未書き込みキャッシュデータを新待機系のディスクコントローラ部３のキャッシュメモリ１０７３に転送する（Ｓ３１０、Ｓ３１１）。
【００４７】
このキャッシュデータの転送の終了後、キャッシュデータに付属するメタデータのうち、現用系キャッシュデータか待機系のキャッシュデータかを示す識別子と、２重化対象識別子とを、ディスクコントローラ部の構成変更と整合するように変更する（Ｓ３１２、Ｓ３１３）。これらの処理を行った後に、ディスクコントローラ部１は、ストレージ装置管理部１１２に障害復帰処理の終了を通知する（Ｓ３１４）。
【００４８】
ストレージ装置管理部１１２は、障害復帰処理終了を認識し（Ｓ３１５）、計算機装置１０２、ディスクコントローラ部１及びディスクコントローラ部３に新規アクセスの許可を通知する（Ｓ３１６）。その結果、ディスクコントローラ部１は新現用系として、ディスクコントローラ部３は新待機系として稼動を開始し（Ｓ３１７、Ｓ３１８）、計算機装置１０２は、ストレージ装置１０１への新規アクセスを開始し（Ｓ３１９）、通常状態に復帰する。
【００４９】
障害が発生したディスクコントローラ部２は、再起動又は交換（Ｓ３２０）を行うことによって障害から復帰すると、障害復帰をストレージ装置管理部に通知（Ｓ３２１）する。そして、ストレージ装置管理部１１２は障害復帰を認識する（Ｓ３２２）。これによって、ディスクコントローラ部２は、新予備系としての稼動を開始する（Ｓ３２３）。
【００５０】
なお、図２のＳ２１０及びＳ２１１又は図３のＳ３１０及びＳ３１１において、未書き込みキャッシュデータに加えて、キャッシュメモリに常駐するキャッシュデータをコピーしてもよい。そうすると、新規アクセスが許可された時点で、アクセス頻度の高いデータも２重化されているため、未書き込みキャッシュデータのみをコピーした場合と比較して、障害発生前のアクセス速度により近い速度を実現することができる。
【００５１】
次に、本発明の第１の実施の形態のストレージ装置において、ディスクコントローラ部の現用系、待機系の構成を変更する手順を、図４及び図５を参照して説明する。この手順を用いることによって、ストレージ装置が通常の稼動をしているときに、ディスクコントローラ部を追加し、削減し、データアクセス集中を回避するための負荷分散をすることができる。
【００５２】
図４は、本発明の第１の実施の形態のストレージ装置において、現用系のディスクコントローラ部を予備系に、予備系のディスクコントローラ部を現用系に構成変更する処理を示すシーケンス図である。
【００５３】
まず、オペレータ又は管理ソフトウェアの指示により構成変更手順が開始する（Ｓ４０１）。ストレージ装置管理部１１２は、計算機装置１０２および各ディスクコントローラ部に構成変更を指示する（Ｓ４０２）。計算機装置１０２は、指示（Ｓ４０２）によってストレージ装置１０１の構成変更を認識する（Ｓ４０６）。現用系のディスクコントローラ部１は、指示（Ｓ４０２）によって構成変更を認識すると共に新予備系への構成変更処理を開始する（Ｓ４０５）。待機系のディスクコントローラ部２は、指示（Ｓ４０２）によって構成変更を認識すると共に新待機系への構成変更処理を開始する（Ｓ４０４）。予備系のディスクコントローラ部３は、指示（Ｓ４０２）によって構成変更を認識すると共に新現用系への構成変更処理を開始する（Ｓ４０３）。
【００５４】
次に、現用系ディスクコントローラ部１のキャッシュデータを、ディスクコントローラ部３のキャッシュメモリ１０７３に転送する（Ｓ４０７、Ｓ４０８）。このようにして、変更された構成での稼動開始前にあらかじめキャッシュデータを持つことによって、データアクセス速度の遅いディスク記憶装置部１１０へのアクセスが減少し、データアクセス性能が向上する。
【００５５】
キャッシュデータのコピー後、ディスクコントローラ部の構成変更に関係するメタデータを書き換える。ここでは、現用系キャッシュデータか待機系のキャッシュデータかを示す識別子と、２重化対象識別子とを、ディスクコントローラ部の構成変更と整合するように変更する（Ｓ４０９、Ｓ４１０）。
【００５６】
これらの処理を行った後、ディスクコントローラ部１はストレージ装置管理部１１２へ変更処理の終了を通知する（Ｓ４１１）。ストレージ装置管理部１１２は、構成変更処理終了を認識し（Ｓ４１２）、計算機装置１０２および各ディスクコントローラ部へ新しい構成でのデータアクセスを指示する（Ｓ４１３）。その結果、ディスクコントローラ部１は新予備系として、ディスクコントローラ部２は新待機系として、ディスクコントローラ部３は新現用系として稼動を開始する（Ｓ４１４、Ｓ４１５、Ｓ４１６）。また、計算機装置１０２は、構成が変更されたストレージ装置１０１に対して新規アクセスを開始する（Ｓ４１７）。
【００５７】
図５は、本発明の第１の実施の形態のストレージ装置において、待機系のディスクコントローラ部を予備系に、予備系のディスクコントローラ部を待機系に構成変更する処理を示すシーケンス図である。
【００５８】
まず、オペレータ又は管理ソフトウェアの指示により構成変更手順が開始する（Ｓ５０１）。ストレージ装置管理部１１２は、計算機装置１０２および各ディスクコントローラ部に構成変更を指示する（Ｓ５０２）。計算機装置１０２は、指示（Ｓ５０２）によってストレージ装置１０１の構成変更を認識する（Ｓ５０６）。現用系のディスクコントローラ部１は、指示（Ｓ５０２）によって構成変更を認識すると共に新現用系への構成変更処理を開始する（Ｓ５０５）。待機系のディスクコントローラ部２は、指示（Ｓ５０２）によって構成変更を認識すると共に新予備系への構成変更処理を開始する（Ｓ５０４）。予備系のディスクコントローラ部３は、指示（Ｓ５０２）によって構成変更を認識すると共に新待機系への構成変更処理を開始する（Ｓ５０３）。
【００５９】
次に、現用系ディスクコントローラ部１のキャッシュデータを、ディスクコントローラ部３のキャッシュメモリ１０７３に転送する（Ｓ５０７，Ｓ５０８）。このようにして、変更された構成での稼動開始前にあらかじめキャッシュデータを持つことによって、データアクセス速度の遅いディスク記憶装置部１１０へのアクセスが減少し、データアクセス性能が向上する。
【００６０】
キャッシュデータのコピー後、ディスクコントローラ部の構成変更に関係するメタデータを書き換える。ここでは、現用系キャッシュデータか待機系のキャッシュデータかを示す識別子と、２重化対象識別子とを、ディスクコントローラ部の構成変更と整合するように変更する（Ｓ５０９、Ｓ５１０）。
【００６１】
これらの処理を行った後、ディスクコントローラ部２はストレージ装置管理部１１２へ変更処理の終了を通知する（Ｓ５１１）。ストレージ装置管理部１１２は、構成変更処理終了を認識し（Ｓ５１２）、計算機装置１０２および各ディスクコントローラ部へ新しい構成でのデータアクセスを指示する（Ｓ５１３）。その結果、ディスクコントローラ部１は新現用系として、ディスクコントローラ部２は新予備系として、ディスクコントローラ部３は新待機系として稼動を開始する（Ｓ５１４、Ｓ５１５、Ｓ５１６）。また、計算機装置１０２は、構成が変更されたストレージ装置１０１に対して新規アクセスを開始する（Ｓ５１７）。
【００６２】
なお、図２及び図３に示す障害復帰手順では、キャッシュデータの転送の際には、転送元のディスクコントローラ部及び転送先のディスクコントローラ部へのアクセスを禁止したが、図４及び図５に示す構成変更手順においては、キャッシュデータが２重化されているため、転送元のディスクコントローラ部及び転送先のディスクコントローラ部へのアクセスを許可したままキャッシュデータのコピーをすることができる。
【００６３】
図４及び図５に示す手順を用いると、現用系又は待機系として使用しているディスクコントローラ部を予備系に変更して、保守のために取り外すこと、又は他の計算機装置のデータアクセス用のディスクコントローラ部として稼動させることができる。また、新たに追加したディスクコントローラ部を現用系又は待機系として使用することができる。
【００６４】
図６は、本発明の第２の実施の形態のストレージ装置の構成を示すブロック図である。
【００６５】
図６のストレージ装置６０１は、図１に示す第１の実施の形態のストレージ装置１０１と同じ構成であるが、ストレージ装置６０１と計算機装置６０２との間のデータ通信方法が異なる。ストレージ装置６０１には、データを保存するためのディスク記憶装置部６１０が設けられている。ディスクコントローラ部６０４１、６０４２、６０４３、…、６０４ｎ（ｎ＞２、ｎは整数）は、少なくともキャッシュメモリ６０７１、６０７２、６０７３、…、６０７ｎ、及び、マイクロプロセッサ（ＭＰ）６０６１、６０６２、６０６３、…、６０６ｎを含んで構成される。
【００６６】
計算機装置６０２とディスクコントローラ部６０４１〜６０４ｎとの間は、計算機装置内のインターフェースカード（ＩＯ）６０３と、ディスクコントローラ部内のホストアダプタカード（ＨＡ）６０５１、６０５２、６０５３、…、６０５ｎとの間に、ネットワークスイッチ６１６を配置し、計算機装置６０２とネットワークスイッチ６１６との間及びネットワークスイッチ６１６とホストアダプタカード６０５１〜６０５ｎとの間を光ファイバ又はメタルケーブルで接続し、例えば、ファイバチャネル等のプロトコルを用いて、データを送受信する。このような接続方法によって、図６に示すように１台の計算機装置６０１ではなく、複数の計算機装置をネットワークスイッチ６１６に接続することができる。
【００６７】
一方、ディスクコントローラ部６０４１〜６０４ｎとディスク記憶装置部６１０の間は、インターフェースアダプタ（ＩＡ）６０８１、６０８２、６０８３、…、６０８ｎ、６１７を介して、例えば、InfiniBand等の装置内部ネットワーク６１４を用いて接続され、データが送受信される。ストレージ装置管理部６１２は、インターフェースアダプタ６１３及び装置内部ネットワーク６１４を介してディスクコントローラ部６０４１〜６０４ｎ及びディスク記憶装置部６１０と接続され、これらと通信を行って、ストレージ装置６０１内の各部の障害を監視し、構成情報を管理し、ディスクコントローラ部６０４１〜６０４ｎのデータアクセスの負荷情報やキャッシュメモリ６０７１〜６０７ｎの使用率情報を収集する。
【００６８】
本実施の形態においても、ディスクコントローラ部に障害が発生したときは、図２及び図３に示す障害復帰手順を用いることができ、ディスクコントローラ部の構成を変更するときは、図４及び図５に示す構成変更手順を用いることができる。
【００６９】
なお、第２の実施の形態においては、ストレージ装置管理部６１２は、ネットワーク６１５を介してネットワークスイッチ６１６を制御することによって、計算機装置６０２とディスクコントローラ部６０４１〜６０４ｎとの間のデータ通信を制御する。
【００７０】
図７は、本発明の第３の実施の形態のストレージ装置の構成を示すブロック図である。
【００７１】
図７に示すストレージ装置７０１は、図１に示す第１の実施の形態のストレージ装置１０１と異なり、計算機装置１０２の代わりにｍ個（ｍ＞０、ｍは整数）の計算機部７１８１、７１８２、…、７１８ｍをストレージ装置７０１の内部に含む。ストレージ装置７０１には、データを保存するためのディスク記憶装置部７１０が設けられている。ディスクコントローラ部７０４１、７０４２、７０４３、…、７０４ｎ（ｎ＞２、ｎは整数）は、少なくともキャッシュメモリ７０７１、７０７２、７０７３、…、７０７ｎ及びマイクロプロセッサ７０６１、７０６２、７０６３、…、７０６ｎを含んで構成される。
【００７２】
計算機部７１８１〜７１８ｍとディスクコントローラ部７０４１〜７０４ｎとの間は、インターフェースアダプタ（ＩＡ）７０８１、７０８２、７０８３、…、７０８ｎ、７１９１、７１９２、…、７１９ｍを介して、例えばInfiniBand等の装置内部ネットワーク７１４を用いて接続され、データが送受信される。一方、ディスクコントローラ部７０４１〜７０４ｎとディスク記憶装置部７１０との間は、インターフェースアダプタ７０８１〜７０８ｎ及び７１７を介して、例えば前述したと同様にInfiniBand等の装置内部ネットワーク７１４を用いて接続され、データが送受信される。これら２つの装置内部ネットワークは、図７に示すように一つのネットワークを共有してもよいし、別々のネットワークで構成してもよい。
【００７３】
ストレージ装置管理部７１２は、装置内部ネットワーク７１４を介してディスクコントローラ部７０４１〜７０４ｎ及びディスク記憶装置部７１０と接続され、これらと通信を行って、ストレージ装置７０１内の各部の障害を監視し、ストレージ装置７０１の構成情報を管理し、ディスクコントローラ部７０４１等のデータアクセスの負荷情報やキャッシュメモリ７０７１〜７０７ｎの使用率情報を収集する。
【００７４】
以上説明したように構成された第３の実施の形態においても、ディスクコントローラ部に障害が発生したときは、図２及び図３に示す障害復帰手順を用いることができ、ディスクコントローラ部の構成を変更するときは、図４及び図５に示す構成変更手順を用いることができる。
【００７５】
ただし、本実施の形態においては、計算機部７１８１〜７１８ｍがストレージ装置７０１の内部に含まれることから、ストレージ装置管理部７１２は、装置内部ネットワーク７１４を介して各計算機部７１８１〜７１８ｍを制御する。これによって、ストレージ装置管理部７１２は、計算機部７１８１〜７１８ｍとディスクコントローラ部７０４１〜７０４ｎとの間のデータ通信を制御する。
【００７６】
以上の説明においては、各ディスクコントローラ部をそれぞれ現用系、待機系又は予備系のいずれか一つに定めていたが、ディスクコントローラ部のキャッシュメモリ部を複数の領域に分けて、それぞれの領域ごとに現用系、待機系又は予備系のいずれかを割り当ててもよい。例えば、複数台接続された計算機装置ごとに領域を分けてもよいし、使用するアプリケーションごとに領域を分けてもよい。
【００７７】
図８は、ｎ個（ｎ＞２、ｎは整数）のディスクコントローラ部ＤＣ１、ＤＣ２、…、ＤＣｎのキャッシュメモリ８０７１、８０７２、…、８０７ｎ上のキャッシュデータの割り当てを模式的に示したものである。図８において、各ディスクコントローラ部のキャッシュメモリは２×（ｎ−１）＋１個の領域に分られ、他のｎ−１個のディスクコントローラ部に対応して一対の現用系、待機系と、予備系に割り当てられている。つまり、ディスクコントローラ部１のキャッシュメモリ８０７１は、ＤＣ２、ＤＣ３、…、ＤＣｎと一対となる現用系として８３１１２、８３１１３、…、８３１１ｎの領域が割り当てられ、ＤＣ２、ＤＣ３、…、ＤＣｎと一対となる待機系として８３１２２、８３１２３、…、８３１２ｎの領域が割り当てられ、予備系として８４１１の領域が割り当てられている。ディスクコントローラ部２、…、ディスクコントローラ部ｎのキャッシュメモリ８０７２〜８０７ｎについても同様の領域に分けられ、現用系、待機系及び予備系に割り当てられる。
【００７８】
ここで、それぞれの領域に付属するメタデータには、キャッシュデータの論理アドレス値、キャッシュデータが書き込みデータか読み込みデータか区別するための識別子、ディスクに書き込んだか否かを示す識別子、キャッシュメモリに常駐するキャッシュデータであることを示すための識別子、現用系キャッシュデータか待機系のキャッシュデータかを示す識別子、及び、２重化対象識別子等が含まれ、それぞれの値は、それぞれの領域の属性と整合している。
【００７９】
このようなキャッシュメモリの構成であっても、ディスクコントローラ部に障害が発生したときは、図２及び図３に示す障害復帰手順を用いることができ、ディスクコントローラ部の構成を変更するときは、図４及び図５に示す構成変更手順を用いることができる。
【００８０】
例えば、ディスクコントローラ部１に障害が発生したときは、各領域のメタデータのうち、現用系のキャッシュデータか待機系のキャッシュデータかを示す識別子を検索し、現用系のキャッシュメモリ領域８３１１２〜８３１１ｎについては、図２に示す現用系の障害復帰手順を用い、待機系のキャッシュメモリ領域８３１２２〜８３１２ｎについては、図３に示す待機系の障害復帰手順を用いる。その結果、ディスクコントローラ部１が障害から回復する前にキャッシュデータの２重化が回復し、その障害復帰手順においてディスクにアクセスする必要がないため、障害復帰処理時間ＦＴを大幅に削減することができる。
【００８１】
また、例えば、ディスクコントローラ部１を予備系に変更するときは、各領域のメタデータのうち、現用系のキャッシュデータか待機系のキャッシュデータかを示す識別子を検索し、現用系のキャッシュメモリ領域８３１１２〜８３１１ｎについては、図４に示す現用系の構成変更手順を用い、待機系のキャッシュメモリ領域８３１２２〜８３１２ｎについては、図５に示す待機系の構成変更手順を用いる。その結果、ディスクコントローラ部１を保守のために取り外すことができる。また、ディスクコントローラ部１を他の計算機装置のデータアクセスのために稼動させることもできる。
【００８２】
また、例えば、ディスクコントローラ部１にデータアクセスが集中しているときは、各領域のメタデータのうち、現用系のキャッシュデータか待機系のキャッシュデータかを示す識別子を検索し、現用系のキャッシュメモリ領域８３１１２〜８３１１ｎのうちのいくつかについて、図４に示す現用系の構成変更手順を用いる。その結果、集中しているデータアクセスの負荷を他のディスクコントローラ部に分散し、計算機装置１０２等とストレージ装置１０１等との間のデータアクセス速度を向上させることができる。
【００８３】
また、例えば、図示しないディスクコントローラ部ｎ＋１をストレージ装置に追加したときは、各領域のメタデータのうち、現用系のキャッシュデータか待機系のキャッシュデータかを示す識別子を検索し、図４又は図５に示す手順を用いて、他のディスクコントローラ部の現用系又は待機系キャッシュメモリ領域８３１１２〜８３１１ｎ、８３１２２〜８３１２ｎのいくつかを前記ディスクコントローラ部ｎ＋１に移動する構成変更を行う。その結果、新たに追加したディスクコントローラ部ｎ＋１にデータアクセス負荷を分散し、計算機装置１０２等とストレージ装置１０１等との間のデータアクセス速度を向上させることができる。
【産業上の利用可能性】
【００８４】
本発明は、例えば、企業の基幹業務システムのように高い信頼性及び無停止での保守が要求されるシステムを構成するストレージ装置に適用することができ、障害復帰、保守及びデータアクセスの負荷分散時に有効である。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施の形態のストレージ装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態のストレージ装置において、現用系のディスクコントローラ部に障害が発生したときの処理を示すシーケンス図である。
【図３】本発明の第１の実施の形態のストレージ装置において、待機系のディスクコントローラ部に障害が発生したときの処理を示すシーケンス図である。
【図４】本発明の第１の実施の形態のストレージ装置において、現用系のディスクコントローラ部を予備系に、予備系のディスクコントローラ部を現用系に構成変更する処理を示すシーケンス図である。
【図５】本発明の第１の実施の形態のストレージ装置において、待機系のディスクコントローラ部を予備系に、予備系のディスクコントローラ部を待機系に構成変更する処理を示すシーケンス図である。
【図６】本発明の第２の実施の形態のストレージ装置の構成を示すブロック図である。
【図７】本発明の第３の実施の形態のストレージ装置の構成を示すブロック図である。
【図８】１つのディスクコントローラ部に現用系のキャッシュデータと待機系のキャッシュデータを混在させたときのキャッシュメモリの構成の説明図である。
【図９】従来のストレージ装置の構成を示すブロック図である。
【図１０】従来のストレージ装置で現用系のディスクコントローラ部に障害が発生したときの処理を示すシーケンス図である。
【符号の説明】
【００８６】
１０１、６０１、７０１、９０１  ストレージ装置
１０２、６０２、９０２  計算機装置
１０３、６０２、９０３  計算機装置内のインターフェースカード（ＩＯ）
１０４１、…、１０４ｎ、６０４１、…、６０４ｎ、７０４１、…、７０４ｎ、９０４１、９０４２  ディスクコントローラ部
１０５１、…、１０５ｎ、６０５１、…、６０５ｎ、９０５１、９０５２  ディスクコントローラ部内のホストアダプタカード（ＨＡ）
１０６１、…、１０６ｎ、６０６１、…、６０６ｎ、７０６１、…、７０６ｎ、９０６１、９０６２  ディスクコントローラ部内のマイクロプロセッサ（ＭＰ）
１０７１、…、１０７ｎ、６０７１、…、６０７ｎ、７０７１、…、７０７ｎ、９０７１、９０７２  ディスクコントローラ部内のキャッシュメモリ
１０８１、…、１０８ｎ、６０８１、…、６０８ｎ、７０８１、…、７０８ｎ  ディスクコントローラ部内のインターフェースアダプタ（ＩＡ）
９０８１、９０８２  ディスクコントローラ部内のディスクアダプタ（ＤＡ）
９０９  キャッシュメモリ間通信経路
１１０、６１１、７１１、９１１  ディスク記憶装置部
１１１１、…、１１１ｎ、９１１１、９１１２  計算機装置とディスクコントローラ部との間の通信経路
９１２１、９１２２  ディスクコントローラ部とディスク記憶装置部との間の通信経路
１１２、６１２、７１２  ストレージ装置管理部
１１３、６１３、７１３  ストレージ装置管理部のインターフェースアダプタ（ＩＡ）
１１４、６１４、７１４  装置内部ネットワーク
１１５  ストレージ装置管理部と計算機装置との間の通信経路
６１５  ストレージ装置管理部とネットワークスイッチとの間の通信経路
６１６  ネットワークスイッチ
１１７、６１７、７１７  ディスク記憶装置部内のインターフェースアダプタ（ＩＡ）
７１８１、…、７１８ｍ  計算機部
７１９１、…、７１９ｍ  計算機部内のインターフェースアダプタ（ＩＡ）
８０７１、…、８０７ｎ  ディスクコントローラ部内のキャッシュメモリ
８３１１２、…、８３１１ｎ、８３２１１、…、８３２１ｎ、８３ｎ１１、…、８３ｎ１ｎ  現用系として割り当てられたキャッシュメモリ領域
８３１２２、…、８３１２ｎ、８３２２１、…、８３２２ｎ、８３ｎ２１、…、８３ｎ２ｎ  待機系として割り当てられたキャッシュメモリ領域
８４１１、…、８４１ｎ  予備系として割り当てられたキャッシュメモリ領域
ＤＣ１、…、ＤＣｎ  ディスクコントローラ部
【図１】
2005122453.tif 000003
【図２】
2005122453.tif 000004
【図３】
2005122453.tif 000005
【図４】
2005122453.tif 000006
【図５】
2005122453.tif 000007
【図６】
2005122453.tif 000008
【図７】
2005122453.tif 000009
【図８】
2005122453.tif 000010
【図９】
2005122453.tif 000011
【図１０】
2005122453.tif 000012