(57)【要約】【課題】ストレージネットワークにおいて、複数のストレージサイト間でのデータ一貫性の確保との間の競合する要求をバランスさせる巧みな資源管理を実現する。【解決手段】  本発明にかかるストレージネットワークは、第１のロケーションにおいて、物理ストレージ媒体と、ストレージ媒体とのデータ転送オペレーションを制御するストレージコントローラとを含む第１のストレージセルと、第２のロケーションにおいて、物理ストレージ媒体と、ストレージ媒体とのデータ転送オペレーションを制御するストレージコントローラとを含む第２のストレージセルと、第３のロケーションにおいて、第３のストレージセルであって、物理ストレージ媒体と、ストレージ媒体とのデータ転送オペレーションを制御するストレージ媒体コントローラとを含む第３のストレージセルとを備える。【選択図】図９
2006092535.tif 000002
【特許請求の範囲】
【請求項１】
第１のロケーションにおける第１のストレージセル（９１０）であって、
物理ストレージ媒体（９１２）と、
前記ストレージ媒体（９１２）とのデータ転送オペレーションを制御するストレージコントローラと
を含む第１のストレージセル（９１０）と、
第２のロケーションにおける第２のストレージセル（９２０）であって、
物理ストレージ媒体（９２２、９２６）と、
前記ストレージ媒体（９２２、９２６）とのデータ転送オペレーションを制御するストレージコントローラと
を含む第２のストレージセル（９２０）と、
第３のロケーションにおける第３のストレージセル（９３０）であって、
物理ストレージ媒体（９３２）と、
前記ストレージ媒体（９３２）とのデータ転送オペレーションを制御するストレージ媒体コントローラと
を含む第３のストレージセル（９３０）と、
を備え、
前記第１のストレージセル（９１０）において実行された書き込みオペレーションは、前記第２のストレージセル（９２０）のキャッシュメモリ（９２４）へ、順序付けられたシーケンスでリモートでコピーされ、
前記キャッシュメモリ（９２４）の書き込みオペレーションは、前記第２のストレージセル（９２０）の１次ストレージ媒体（９２２）および２次ストレージ媒体（９２６）へミラーリングされ、
前記第２のストレージ媒体へミラーリングされた書き込みオペレーションは、前記第３のストレージセル（９３０）へリモートでコピーされる
ストレージネットワーク（２００）。
【請求項２】
前記第１のストレージセル（９１０）と、前記第２のストレージセル（９２０）と、前記第３のストレージセル（９３０）とは、地理的に分散されている
請求項１に記載のストレージネットワーク。
【請求項３】
前記第２のストレージセル（９２０）は、１次ストレージ媒体および２次ストレージ媒体
を備える
請求項１に記載のストレージネットワーク。
【請求項４】
前記第２のストレージセル（９２０）は、
１次キャッシュメモリおよび２次キャッシュメモリ
を備える請求項３に記載のストレージネットワーク。
【請求項５】
前記第１のストレージセル（９１０）において実行された書き込みオペレーションは、前記第２のストレージセル（９２０）のキャッシュメモリへ同期してコピーされる、
請求項１に記載のストレージネットワーク。
【請求項６】
前記第２のストレージセル（９２０）のキャッシュメモリへコピーされた書き込みオペレーションは、ストレージ媒体へ書き込まれる
請求項５に記載のストレージネットワーク。
【請求項７】
前記第２のストレージ媒体（９２２、９２６）へ書き込まれた書き込みオペレーションは、前記第３のストレージセル（９３０）のキャッシュへ非同期にコピーされる
請求項６に記載のストレージネットワーク。
【請求項８】
前記第２のストレージセル（９２０）のキャッシュメモリ（９２４）へコピーされた書き込みオペレーションは、ストレージ媒体へ書き込まれる
請求項７に記載のストレージネットワーク。
【請求項９】
前記キャッシュメモリ（９２４）からの書き込みオペレーションは、前記第１のストレージサイト（９１０）において実行された順序で、前記ストレージ媒体へ書き込まれる
請求項１に記載のストレージネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
説明する主題は、電子計算に関し、より詳細には、電子計算システムのストレージを管理するシステムおよび方法に関する。
【背景技術】
【０００２】
情報の効果的な収集、管理、および制御は、現代の業務プロセスの中心的な構成要素となっている。
この目的のため、大小双方の様々な業務は、今やコンピュータベースの情報管理システムを実施する。
【０００３】
データ管理は、コンピュータベースの情報管理システムの重要な構成要素である。
多くのユーザは、ストレージネットワークを実施して、コンピュータベースの情報管理システムのデータオペレーションを管理する。
ストレージネットワークは、広い地理的エリアにわたって分散させることができる高度な信頼性を有する管理されたストレージソリューションを提供するように、計算能力および複雑度が向上してきた。
【０００４】
データ冗長性は、ストレージネットワークの信頼性の一側面である。
データのコピーが単一であると、そのデータは、そのデータが存在するネットワーク要素が故障した場合に被害を受けやすい。
被害を受けやすいデータ、または、そのようなデータが存在するネットワーク要素を復旧できる場合には、損失は一時的なものとなる場合がある。
しかしながら、そのデータもネットワーク要素も復旧できない場合には、その被害を受けやすいデータは、永久に失われるおそれがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ストレージネットワークは、１つまたは複数のネットワーク要素が故障した場合に、リモートコピープロシージャを実施してデータ冗長性を提供し、フェイルオーバプロシージャを実施してデータ一貫性を提供する。
リモートコピープロシージャは、存在する１つまたは複数のデータセットを第１のストレージサイトから少なくとも第２のストレージサイトに複製し、多くの場合、第３のストレージサイトにも複製する。
ホストの応答時間の削減と、複数のストレージサイト間でのデータ一貫性の確保との間の競合する要求をバランスさせるために、巧みな資源管理が望まれている。
【課題を解決するための手段】
【０００６】
例示的なインプリメンテーションでは、ストレージネットワークが提供される。
ストレージネットワークは、第１のロケーションにおける第１のストレージセルであって、物理ストレージ媒体と、ストレージ媒体とのデータ転送オペレーションを制御するストレージコントローラとを含む、第１のストレージセルと、第２のロケーションにおける第２のストレージセルであって、物理ストレージ媒体と、ストレージ媒体とのデータ転送オペレーションを制御するストレージコントローラとを含む、第２のストレージセルと、第３のロケーションにおける第３のストレージセルであって、物理ストレージ媒体と、ストレージ媒体とのデータ転送オペレーションを制御するストレージ媒体コントローラとを含む、第３のストレージセルと、を備える。
動作中に、第１のストレージセルにおいて実行された書き込みオペレーションは、第２のストレージセルのキャッシュメモリへ、順序付けられたシーケンスでリモートでコピーされ、キャッシュメモリの書き込みオペレーションは、第２のストレージセルの１次ストレージ媒体および２次ストレージ媒体へミラーリングされ、第２のストレージ媒体へミラーリングされた書き込みオペレーションは、第３のストレージセルへリモートでコピーされる。
【発明を実施するための最良の形態】
【０００７】
本明細書では、例示のストレージネットワークアーキテクチャ、および、ストレージネットワークにおいて内部ミラーリングオペレーションを実行する方法を説明する。
本明細書で説明する方法は、例えばプロセッサで実行可能なファームウェア等のコンピュータ可読媒体上の論理命令として実施することができる。
これらの論理命令は、プロセッサで実行されると、説明する方法を実施する専用マシンとしてプロセッサがプログラミングされる。
【０００８】
［例示のネットワークアーキテクチャ］
図１は、ストレージネットワークを利用するネットワーク化された計算システム１００の例示のインプリメンテーションの概略図である。
このストレージネットワークはストレージプール１１０を備える。
ストレージプール１１０は、任意の大きさのストレージ空間を備える。
実際には、ストレージプール１１０は、当該ストレージプール１１０を実施するのに使用される特定のハードウェアによって決まる有限サイズの上限を有する。
しかしながら、ストレージプール１１０において利用可能なストレージ空間には理論的限界はほとんどない。
【０００９】
複数の論理ディスク（論理ユニットまたはＬＵとも呼ばれる）１１２ａ、１１２ｂをストレージプール１１０内に割り当てることができる。
各ＬＵ１１２ａ、１１２ｂは、ホストデバイス１２０、１２２、１２４、および１２８がアドレス指定することができる連続した範囲の論理アドレスを備える。
このアドレス指定は、ホストデバイスが使用する接続プロトコルからの要求を一意に特定されたＬＵ１１２へマッピングすることにより行われる。
本明細書で使用するように、用語「ホスト」には、自身のために、または、当該ホストに接続されたシステムのためにストレージを利用する計算システム（複数可）が含まれる。
例えば、ホストは、大規模データベースを処理するスーパーコンピュータであってもよいし、トランザクションレコードを保持するトランザクション処理サーバであってもよい。
あるいは、ホストは、企業用のストレージサービスを提供するローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）のファイルサーバであってもよい。
ファイルサーバは、複数のディスクドライブを管理するように構成された１つまたは複数のディスクコントローラおよび／またはＲＡＩＤコントローラを備えることができる。
或るホストは、例えばファイバチャネル（ＦＣ）接続等の通信接続を介してストレージネットワークに接続される。
【００１０】
サーバ１２８等のホストは、他の計算システムもしくは計算デバイス、または、他のデータ処理システムもしくはデータ処理デバイスへサービスを提供することができる。
例えば、クライアントコンピュータ１２６は、サーバ１２８等のホストを介してストレージプール１１０にアクセスすることができる。
サーバ１２８は、ファイルサービスをクライアント１２６に提供することができ、トランザクション処理サービス、電子メールサービス等の他のサービスを提供することができる。
したがって、クライアントデバイス１２６は、ホスト１２８が消費するストレージを直接使用することもあれば使用しないこともある。
【００１１】
ホストでもある無線デバイス１２０やコンピュータ１２２、１２４等のデバイスは、ＬＵ１１２ａ、１１２ｂに論理的に直接接続することができる。
ホスト１２０〜１２８は、複数のＬＵ１１２ａ、１１２ｂに接続でき、ＬＵ１１２ａ、１１２ｂは、複数のホスト間で共有することができる。
図１に示すデバイスのそれぞれは、メモリ、マスストレージ、およびネットワーク接続を管理するのに十分な一定のデータ処理能力を含むことができる。
【００１２】
図２は、ストレージプール１１０等のストレージプールを実施するのに使用できる例示のストレージネットワーク２００の概略図である。
ストレージネットワーク２００は、通信ネットワーク２１２によって接続された複数のストレージセル２１０ａ、２１０ｂ、２１０ｃを備える。
ストレージセル２１０ａ、２１０ｂ、２１０ｃは、通信接続された１つまたは複数のストレージデバイスとして実施することができる。
例示のストレージデバイスには、米国カリフォルニア州パロアルトのHewlett-Packard社から市販されているＳＴＯＲＡＧＥＷＯＲＫＳラインのストレージデバイスが含まれる。
通信ネットワーク２１２は、例えばファイバチャネル（ＦＣ）スイッチングファブリック等のプライベート専用ネットワークとして実施することができる。
あるいは、通信ネットワーク２１２の一部は、例えばインターネット小型コンピュータ用周辺機器インターフェース（ｉＳＣＳＩ）プロトコル等の適切な通信プロトコルに従った公衆通信ネットワークを使用して実施することもできる。
【００１３】
クライアントコンピュータ２１４ａ、２１４ｂ、２１４ｃは、サーバ２１６、２２０、２３０等のホストを通じてストレージセル２１０ａ、２１０ｂ、２１０ｃにアクセスすることができる。
クライアント２１４ａ、２１４ｂ、２１４ｃは、ファイルサーバ２１６に直接接続することもできるし、ローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）等のネットワーク２１８を介して接続することもできる。
任意のストレージネットワークに含めることができるストレージセル２１０ａ、２１０ｂ、２１０ｃの個数は、主として、通信ネットワーク２１２に実施された接続能力によって制限される。
単一のＦＣスイッチを備えるスイッチングファブリックは、２５６個またはそれより多くのポートを相互接続することができ、単一のストレージネットワークに数百個のストレージセル２１０ａ、２１０ｂ、２１０ｃの可能性を提供する。
【００１４】
数百、さらには数千個のホストコンピュータ２１６、２２０は、ストレージネットワーク２００に接続して、ストレージセル２１０ａ、２１０ｂ、２１０ｃに記憶されたデータにアクセスすることができる。
ホスト２１６、２２０は、サーバコンピュータとして実施することができる。
図３は、ホストを実施するのに利用できる例示の計算デバイス３３０の概略図である。
計算デバイス３３０は、１つまたは複数のプロセッサまたは処理ユニット３３２、システムメモリ３３４、およびバス３３６を含む。
バス３３６は、システムメモリ３３４を含むさまざまなシステムコンポーネントをプロセッサ３３２に接続する。
バス３３６は、メモリバスまたはメモリコントローラを含むいくつかのタイプのバス構造のいずれか、周辺バス、高速化グラフィックスポート、および、さまざまなバスアーキテクチャのいずれかを使用したプロセッサバスまたはローカルバスのうちの１つまたは複数を表す。
システムメモリ３３４は、読み出し専用メモリ（ＲＯＭ）３３８およびランダムアクセスメモリ（ＲＡＭ）３４０を含む。
ＲＯＭ３３８には、基本入出力システム（ＢＩＯＳ）３４２が記憶される。
ＢＩＯＳ３４２は、立ち上げ期間中等に、計算デバイス３３０内の要素間で情報を転送するのを援助する基本ルーチンを含む。
【００１５】
計算デバイス３３０は、ハードディスク（図示せず）からの読み出しおよびハードディスクへの書き込み用のハードディスクドライブ３４４をさらに含み、リムーバブル磁気ディスク３４８からの読み出しおよびリムーバブル磁気ディスク３４８への書き込み用の磁気ディスクドライブ３４６、ならびに、ＣＤ−ＲＯＭや他の光媒体等のリムーバブル光ディスク３５２からの読み出しおよびリムーバブル光ディスク３５２への書き込み用の光ディスクドライブ３５０を含むことがある。
ハードディスクドライブ３４４、磁気ディスクドライブ３４６、および光ディスクドライブ３５０は、ＳＣＳＩインターフェース３５４または他の或る適切なインターフェースによってバス３３６に接続される。
それらのドライブおよびそれらドライブに関連したコンピュータ可読媒体は、計算デバイス３３０用のコンピュータ可読命令、データ構造体、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。
本明細書で説明する例示の環境はハードディスク、リムーバブル磁気ディスク３４８、およびリムーバブル光ディスク３５２を使用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）等の他のタイプのコンピュータ可読媒体も、この例示の動作環境で使用することができる。
【００１６】
オペレーティングシステム３５８、１つまたは複数のアプリケーションプログラム３６０、他のプログラムモジュール３６２、およびプログラムデータ３６４を含めて、複数のプログラムモジュールをハードディスク３４４、磁気ディスク３４８、光ディスク３５２、ＲＯＭ３３８、またはＲＡＭ３４０に記憶することができる。
ユーザは、キーボード３６６やポインティングデバイス３６８等の入力デバイスを通じて計算デバイス３３０にコマンドおよび情報を入力することができる。
他の入力デバイス（図示せず）には、マイク、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等が含まれ得る。
これらの入力デバイスおよび他の入力デバイスは、バス３３６に接続されたインターフェース３７０を通じて処理ユニット３３２に接続される。
モニタ３７２または他のタイプの表示デバイスも、ビデオアダプタ３７４等のインターフェースを介してバス３３６に接続される。
【００１７】
計算デバイス３３０は、リモートコンピュータ３７６等の１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。
リモートコンピュータ３７６は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常、計算デバイス３３０に関して上述した要素の多くまたはすべてを含む。
ただし、図３には、メモリストレージデバイス３７８のみが示されている。
図３に示す論理接続は、ＬＡＮ３８０およびＷＡＮ３８２を含む。
【００１８】
計算デバイス３３０は、ＬＡＮネットワーキング環境で使用される場合、ネットワークインターフェースまたはアダプタ３８４を通じてローカルネットワーク３８０に接続される。
計算デバイス３３０は、ＷＡＮネットワーキング環境で使用される場合、通常、モデム３８６、または、インターネット等のワイドエリアネットワーク３８２を介した通信を確立する他の手段を含む。
モデム３８６は、内部の場合もあれば外部の場合もあり、シリアルポートインターフェース３５６を介してバス３３６に接続される。
ネットワーク化された環境では、計算デバイス３３０に関して示したプログラムモジュール、または、その一部をリモートメモリストレージデバイスに記憶することができる。
図示したネットワーク接続は例示であって、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されよう。
【００１９】
ホスト２１６、２２０は、通信ネットワーク２１２への接続を可能にするホストアダプタハードウェアおよびソフトウェアを含むことができる。
通信ネットワーク２１２への接続は、帯域幅の要件に応じて、光結合の通じたものとすることもできるし、従来の導体ケーブル接続を通じたものとすることもできる。
ホストアダプタは、計算デバイス３３０のプラグインカードとして実施することができる。
ホスト２１６、２２０は、任意の個数のホストアダプタを実施して、ハードウェアおよびソフトウェアのサポートと同数の通信ネットワーク２１２への接続を提供することができる。
【００２０】
一般に、計算デバイス３３０のデータプロセッサは、コンピュータのさまざまなコンピュータ可読ストレージ媒体に異なる時刻に記憶された命令によってプログラミングされる。
プログラムおよびオペレーティングシステムは、例えば、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、または電子的に分散され、コンピュータの２次メモリにインストールまたはロードされる。
実行時に、プログラムは、コンピュータの１次電子メモリに少なくとも部分的にロードされる。
【００２１】
図４は、ストレージセル２１０等のストレージセル４００の例示のインプリメンテーションの概略図である。
図４を参照して、ストレージセル４００は、データのオペレーション、ならびに、１つまたは複数のディスクアレイ４４０、４４２へのデータの転送およびそれらディスクアレイからのデータの転送を管理するディスクコントローラ４１０ａ、４１０ｂとも呼ばれる２つのネットワークストレージコントローラ（ＮＳＣ）を含む。
ＮＳＣ４１０ａ、４１０ｂは、マイクロプロセッサ４１６ａ、４１６ｂおよびメモリ４１８ａ、４１８ｂを有するプラグインカードとして実施することができる。
各ＮＳＣ４１０ａ、４１０ｂは、すなわち、スイッチングファブリック等の通信ネットワークを通じて、ホストへインターフェースを提供するデュアルホストアダプタポート４１２ａ、４１４ａ、４１２ｂ、４１４ｂを含む。
ファイバチャネルのインプリメンテーションでは、ホストアダプタポート４１２ａ、４１２ｂ、４１４ａ、４１４ｂは、ＦＣ  Ｎ＿Ｐｏｒｔｓとして実施することができる。
各ホストアダプタポート４１２ａ、４１２ｂ、４１４ａ、４１４ｂは、スイッチングファブリックへのログインおよびスイッチングファブリックとのインターフェースを管理し、ログインプロセスにおいて、ファブリックに一意のポートＩＤを割り当てられる。
図４に示すアーキテクチャは、十分に冗長なストレージセルを提供する。
単一ＮＳＣのみがストレージセル２１０を実施するのに必要とされる。
【００２２】
各ＮＳＣ４１０ａ、４１０ｂは、ＮＳＣ４１０ａ、４１０ｂ間の通信接続４３８を可能にする通信ポート４２８ａ、４２８ｂをさらに含む。
この通信接続４３８は、ＦＣポイントツーポイント接続として実施することもできるし、他の任意の適切な通信プロトコルに従うこともできる。
【００２３】
例示のインプリメンテーションでは、ＮＳＣ４１０ａ、４１０ｂは、複数のファイバチャネルアービトレーティッドループ（ＦＣＡＬ（Fiber Channel Arbitrated Loop））ポート４２０ａ〜４２６ａ、４２０ｂ〜４２６ｂをさらに含む。
これらのＦＣＡＬポートは、例えばディスクドライブアレイ４４０、４４２といった複数のストレージデバイスとのＦＣＡＬ通信接続を実施する。
図示した実施の形態は、ディスクドライブアレイ４４０、４４２とのＦＣＡＬ接続を実施するが、ディスクドライブアレイ４４０、４４２との通信接続は、他の通信プロトコルを使用しても実施できることが理解されよう。
例えば、ＦＣＡＬ構成ではなく、ＦＣスイッチングファブリックを使用することもできる。
【００２４】
［例示のオペレーション］
例示のストレージネットワークのさまざまなコンポーネントを説明してきたが、次に、ストレージネットワーク２００のオペレーションおよびそのコンポーネントのオペレーションに注目する。
【００２５】
動作中に、ストレージセル２１０ａ、２１０ｂ、２１０ｃのディスクドライブアレイ４４０、４４２によって提供されたストレージ容量を、ストレージプール１１０に追加することができる。
或るアプリケーションがストレージ容量を必要とすると、ホストコンピュータ１２８の論理命令は、１つまたは複数のストレージセル２１０ａ、２１０ｂ、２１０ｃで利用可能なディスクドライブアレイ４４０、４４２において利用可能なストレージ容量からＬＵを確立することができる。
ＬＵは論理ユニットであって、物理ユニットではないので、ＬＵを構成する物理ストレージ空間は、複数のストレージセル２１０ａ、２１０ｂ、２１０ｃにわたって分散されることがあることを理解されたい。
アプリケーションのデータは、ストレージネットワークの１つまたは複数のＬＵに記憶することができる。
【００２６】
ストレージネットワークのデータにアクセスする必要のあるアプリケーションは、ホストコンピュータに読み出し照会を送り出すことができる。
読み出し照会に応答して、ホストコンピュータは、要求されたデータが存在する１つまたは複数のストレージセルのＮＳＣ（複数可）に照会する。
ＮＳＣ（複数可）は、要求されたデータを、そのデータが存在するストレージ媒体から取り出し、そのデータをホストコンピュータへ転送する。
ホストコンピュータは、次に、データを要求側デバイスへ転送することができる。
【００２７】
ストレージネットワーク２００は、リモートコピープロシージャを実施して、ストレージセル２１０ａ、２１０ｂ、２１０ｃに記憶されたデータのデータ冗長性を提供することができる。
例として、図９は、スリーサイト（three-site）データ冗長性の例示のネットワークアーキテクチャの概略図である。
図９を参照して、第１のストレージサイト９１０の１つまたは複数のディスクアレイ９１２に存在するＬＵは、第２のストレージサイト９２０のディスクアレイ９２２に存在するリモートコピーと同期複製を実施することができる。
第２のストレージサイト９２０は、例えば、ディスクアレイ９２２または第２のディスクアレイ９２６のいずれかにディスクアレイ９２２の内部ミラーを保持することができる。
第２のストレージサイト９２０は、第３のストレージサイト９３０のディスクアレイ９３２との非同期複製を実施することができる。
図２を手短に参照して、ストレージサイト９１０、９２０、および９３０は、各ストレージセル２１０ａ、２１０ｂ、および２１０ｃに対応することができる。
リモートコピープロセス中、ＬＵの情報は、スイッチングファブリックをわたってその宛先ストレージセルへ送信される。
スイッチングファブリックは、時に、「ネットワーククラウド」と呼ばれる。
【００２８】
［書き込みオペレーション］
アプリケーションは、ホストコンピュータ２１６、２２０へ書き込み要求を送り出すことによって、ストレージネットワーク２００へデータを書き込むことができる。
書き込み要求に応答して、ホストコンピュータ２１６、２２０は、要求されたデータが存在する１つまたは複数のストレージセル２１０ａ、２１０ｂ、２１０ｃのＮＳＣ（複数可）４１０ａ、４１０ｂへ書き込みコマンドを送り出す。
書き込みコマンドは、ストレージネットワーク２００へ書き込まれるデータを含む。
書き込みコマンドに応答して、ＮＳＣ（複数可）４１０ａ、４１０ｂはストレージ媒体にデータを書き込む。
図９を再び参照して、ストレージネットワーク２００が、スリーサイトデータ複製を実施するように構成されている場合、書き込みオペレーションからのデータは、通常は同期形式でストレージネットワークの第２のストレージサイト９２０へ書き込まれる。
内部ミラー書き込みオペレーションは、第１のディスクアレイ９２２における１次コピーと、２次コピーとの間で実行される。
この２次コピーは、第２のサイト９２０の第１のディスクアレイ９２２におけるものであってもよいし、第２のサイト９２０の第２のディスクアレイ９２６におけるものであってもよい。
次に、書き込みオペレーションは、２次コピーから第３のストレージサイト９３０へ書き込まれる。
【００２９】
図５〜図８は、ストレージアレイにおいて内部ミラーリングオペレーションを実行する例示の方法を示すフローチャートである。
例示のインプリメンテーションでは、図５〜図８に示す方法は、例えば、スリーサイトストレージアーキテクチャの第２のストレージサイト９２０等のストレージセルのストレージコントローラにおける等、適切なプロセッサにおけるファームウェアとして実施することができる。
しかしながら、図５〜図８に示す方法は、他のネットワークアーキテクチャにおいて適切なアプリケーションを見つけることもできる。
【００３０】
図５は、１次キャッシュおよび２次キャッシュを有するストレージデバイスにおいて、ミラーリングされた書き込みオペレーションを同期して実行する第１の例示のインプリメンテーションのオペレーション５００を示すフローチャートである。
オペレーション５１０において、ストレージコントローラは、例えば通信ネットワーク２１２を介してホストコンピュータから書き込み要求を受信する。
オペレーション５１２において、ストレージコントローラは、書き込みオペレーションを開始して、１次キャッシュへ要求を書き込む。
オペレーション５１４において、ストレージコントローラは、同じストレージデバイス内の２次キャッシュへ書き込みオペレーションを転送する。
オペレーション５１６において、ストレージコントローラは、同じストレージデバイス内の２次キャッシュにおいて書き込みオペレーションを開始する。
例示のインプリメンテーションでは、書き込みオペレーションは、書き込みオペレーションの実行順序に対応する順序付けられた待ち行列で各キャッシュへ書き込まれる。
書き込みオペレーションが２次キャッシュへコミットされた後、ストレージコントローラは、書き込みオペレーションが完了したことを示す書き込みオペレーション肯定応答を受信する（オペレーション５１８）。
オペレーション５２０において、ストレージコントローラは、書き込みオペレーションが完了したことを示す肯定応答をホストコンピュータへ送信する。
オペレーション５２２において、ストレージコントローラは、１次キャッシュおよび２次キャッシュから同じストレージデバイス内のそれぞれ第１のＬＵおよび第２のＬＵへ書き込みデータをコピーする。
【００３１】
図６は、統一された（すなわち、共有）キャッシュを有するストレージデバイスにおいて書き込みオペレーションを同期して実行する第２の例示のインプリメンテーションのオペレーション６００を示すフローチャートである。
オペレーション６１０において、ストレージコントローラは、例えば通信ネットワーク２１２を介してホストコンピュータから書き込み要求を受信する。
オペレーション６１２において、ストレージコントローラは、書き込みオペレーションを開始して、要求を共有キャッシュへ書き込む。
オペレーション６１４において、ストレージコントローラは、書き込みオペレーションが完了したことを示す肯定応答をホストコンピュータへ送信する。
オペレーション６１６において、ストレージコントローラは、入来する書き込みオペレーションをブロックする。
オペレーション６１８において、ストレージコントローラは、１次キャッシュおよび２次キャッシュからそれぞれ第１のディスクアレイまたはＬＵおよび第２のディスクアレイまたはＬＵへ書き込みデータをコピーする。
オペレーション６２０において、ストレージコントローラは、書き込みのブロックを終了し、それによって、その後の書き込み要求がストレージコントローラによって処理されることが可能になる。
【００３２】
図７は、統一された（すなわち、共有）キャッシュを有するストレージデバイスにおいて書き込みオペレーションを非同期に実行する第３の例示のインプリメンテーションのオペレーション７００を示すフローチャートである。
オペレーション７１０において、ストレージコントローラは、例えば通信ネットワーク２１２を介してホストコンピュータから書き込み要求を受信する。
オペレーション７１２において、ストレージコントローラは、書き込みオペレーションを開始して、要求を共有キャッシュへ書き込む。
例示のインプリメンテーションでは、書き込みオペレーションは順序付けられた待ち行列でキャッシュへ書き込まれる。
オペレーション７１４において、ストレージコントローラは、書き込みオペレーションが完了したことを示す肯定応答をホストコンピュータへ送信する。
オペレーション７１６において、ストレージコントローラは、共有キャッシュから各第１のＬＵおよび第２のＬＵへ書き込みデータをコピーする。
【００３３】
図８は、統一された（すなわち、共有）キャッシュを有するストレージデバイスにおいて書き込みオペレーションを非同期に実行する第４の例示のインプリメンテーションのオペレーション８００を示すフローチャートである。
オペレーション８１０において、ストレージコントローラは、例えば通信ネットワーク２１２を介してホストコンピュータから書き込み要求を受信する。
オペレーション８１２において、ストレージコントローラは、ストレージセルの１次キャッシュに書き込み要求の待ち行列を作る。
オペレーション８１４において、ストレージコントローラは、書き込みオペレーションが完了したことを示す肯定応答をホストコンピュータへ送信する。
オペレーション８１６において、ストレージコントローラは、１次キャッシュから２次キャッシュへ書き込み要求をコピーする。
書き込みオペレーションが同じストレージデバイス内の２次キャッシュへコミットされた後、ストレージコントローラは、書き込みオペレーションが完了したことを示す書き込みオペレーション肯定応答を受信する（オペレーション８１８）。
オペレーション８２０において、ストレージコントローラは、１次キャッシュおよび２次キャッシュから同じストレージデバイス内のそれぞれ第１のＬＵおよび第２のＬＵへ書き込みデータをコピーする。
【００３４】
一用途では、図５〜図８に示すオペレーションによって、スリーサイトデータ複製アーキテクチャにおける第２のストレージサイト９２０の位置のストレージセルは、内部データミラーリングオペレーションを実行することが可能になる。
これによって、完全に同期したスリーサイトデータ復旧アーキテクチャが可能になる。
このアーキテクチャでは、第２のサイトおよび第３のサイトの双方に設定されたデータは、１次データサイトに設定されたデータと一貫したものとなる。
さらに、これによって、第２のデータサイト内の内部ミラーは、１次データサイトとこれまで通り一貫性を有することが可能になると同時に、完全なデータ一貫性を有することが可能になる。
【００３５】
別の用途では、図５〜図８のオペレーションによって、リモートミラーサイトは、引き続き、第１のストレージサイトから地理的に離れていることが可能になると同時に、内部対の２次コピーを含むことが可能になる。
Cochranに対する米国特許出願第２００４／００２４８３８号は、リモートコピーオペレーションにおいて支配的ＬＵＮおよび従属的ＬＵＮを保持するネットワークアーキテクチャおよびオペレーションを記載している。
この米国特許出願の開示は、その全内容が本明細書に援用される。
図５〜図８のオペレーションによって、従属的ＬＵＮは、内部対としてデータの２次コピーを保持することが可能になる。
この２次コピーは、引き続き、データ一貫性を維持し、必要に応じてデータ復旧用に利用可能な状態にある。
【００３６】
本明細書で明示的に述べた特定の実施の形態に加えて、ここに開示した明細書を考慮することにより、当業者には、本発明の他の態様および実施の形態が明らかとなろう。
明細書および図示した実施の形態は、例示としてみなされるにすぎず、本発明の真の範囲および精神は、添付した特許請求の範囲によって示される。
【図面の簡単な説明】
【００３７】
【図１】ストレージネットワークを利用するネットワーク接続された計算システムの例示のインプリメンテーションの概略図である。
【図２】ストレージネットワークの例示のインプリメンテーションの概略図である。
【図３】ホストを実施するのに利用できる計算デバイスの例示のインプリメンテーションの概略図である。
【図４】ストレージセルの例示のインプリメンテーションの概略図である。
【図５】ストレージネットワークにおいて書き込みオペレーションを実行する第１の例示のインプリメンテーションのオペレーションを示すフローチャートである。
【図６】ストレージネットワークにおいて書き込みオペレーションを実行する第２の例示のインプリメンテーションのオペレーションを示すフローチャートである。
【図７】ストレージネットワークにおいて書き込みオペレーションを実行する第３の例示のインプリメンテーションのオペレーションを示すフローチャートである。
【図８】ストレージネットワークにおいて書き込みオペレーションを実行する第４の例示のインプリメンテーションのオペレーションを示すフローチャートである。
【図９】スリーサイトデータ複製アーキテクチャの例示のインプリメンテーションの概略図である。
【符号の説明】
【００３８】
１００・・・計算システム，
１１０・・・ストレージプール，
１１２・・・論理ディスク（ＬＵ），
１２０〜１２８・・・ホストデバイス，
（１２６・・・クライアントコンピュータ，１２８・・・サーバ）
２１２・・・通信ネットワーク，
２１８・・・ネットワーク，
３３２・・・処理ユニット，
３３４・・・システムメモリ，
３３６・・・バス，
３５４・・・ＳＣＳＩインターフェース，
３５６・・・シリアルポート，
３５８・・・オペレーティングシステム，
３６０・・・アプリケーションプログラム，
３６２・・・他のプログラムモジュール，
３６４・・・プログラムデータ，
３７０・・・キーボード／マウスインターフェース，
３７４・・・ビデオアダプタ，
３８４・・・ネットワークインターフェース，
３８６・・・モデム，
４１２，４１４・・・ホストポート，
４１６・・・マイクロプロセッサ，
４１８・・・メモリ，
９１０，９２０，９３０・・・サイト１〜サイト３，
９１２，９２２，９２６，９３２・・・ディスクアレイ，
９１４，９２４，９３４・・・キャッシュ，
【図１】
2006092535.tif 000003
【図２】
2006092535.tif 000004
【図３】
2006092535.tif 000005
【図４】
2006092535.tif 000006
【図５】
2006092535.tif 000007
【図６】
2006092535.tif 000008
【図７】
2006092535.tif 000009
【図８】
2006092535.tif 000010
【図９】
2006092535.tif 000011