(57)【要約】      （修正有）【課題】システム・リソースの使用を最小限にする、データのマイグレーションのためのシステムおよび方法を提供する。【解決手段】プロセッサは、ローカル・ドメイン内で動作可能である。ＲＡＩＤコントローラは、ソース・デバイスの容量を複数のサブ領域に分割し、サブ領域をストレージ・アクティビティからロックし、書き込みデータ更新のためのミラーリング関係を確立し、データをコピーするためにプロセッサを割り当てる。データをマイグレーションする方法は、ソース・デバイスの容量を複数のサブ領域に分割するステップと、サブ領域をストレージ・アクティビティからロックするステップと、ソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップと、ソース・デバイスから前記ターゲット・デバイスへデータをコピーするためにローカル・プロセッサを割り当てるステップとを含む。【選択図】図１
2008159045.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ・システム内のソース・デバイスからターゲット・デバイスへデータをマイグレーションする方法であって、
ソース・デバイスの容量を複数のサブ領域に分割するステップと、
前記サブ領域をストレージ・アクティビティからロックするステップと、
前記ソース・デバイスと前記ターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップと、
前記ソース・デバイスから前記ターゲット・デバイスへデータをコピーするためにローカル・プロセッサを割り当てるステップと、
前記ローカル・プロセッサによって前記複数のサブ領域のうちの１つからデータを読み取るステップと、
前記ローカル・プロセッサによって前記ターゲット・デバイス上の同一のロケーションにデータを書き込むステップと、
を含む、方法。
【請求項２】
前記ソース・デバイスと前記ターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立する前記ステップと、前記サブ領域をストレージ・アクティビティからロックする前記ステップとが、並行して実行される、請求項１に記載の方法。
【請求項３】
前記ソース・デバイスの容量を複数のサブ領域に分割する前記ステップに続いて、前記複数のサブ領域のうちのいずれがコピーのために割り当てられるかを、ピアＲＡＩＤコントローラに通知するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記ローカル・プロセッサがＳＣＳＩエンクロージャ・サービス・プロセッサ（ＳＥＳＰ）をさらに備える、請求項１に記載の方法。
【請求項５】
前記ローカル・プロセッサが前記ストレージ・システムのローカル・ポート・ドメイン内に常駐する、請求項１に記載の方法。
【請求項６】
前記複数のサブ領域のそれぞれが論理ブロック・アドレス（ＬＢＡ）レンジをさらに備える、請求項１に記載の方法。
【請求項７】
前記ソース・デバイスの容量を複数のサブ領域に分割する前記ステップが、前記ストレージ・システムのローカル・ドメイン内で動作するＲＡＩＤコントローラによって実行される、請求項１に記載の方法。
【請求項８】
ストレージ・システム内のソース・デバイスとターゲット・デバイスとの間でデータをマイグレーションするためのシステムであって、
ストレージ・システムのローカル・ドメイン内で動作可能なプロセッサと、
前記プロセッサに電気的に接続されたＲＡＩＤコントローラとを備え、前記ＲＡＩＤコントローラが、
前記ソース・デバイスの容量を複数のサブ領域に分割し、
前記サブ領域をストレージ・アクティビティからロックし、
前記ソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立し、
前記ソース・デバイスから前記ターゲット・デバイスへデータをコピーするために前記プロセッサを割り当てる、システム。
【請求項９】
前記ソース・デバイスから前記ターゲット・デバイスへデータをコピーするために前記プロセッサを割り当てる操作に続いて、前記プロセッサが、前記複数のサブ領域のうちの１つからデータを読み取り、前記ターゲット・デバイス上の同一ロケーションへ前記データを書き込む、請求項８に記載のシステム。
【請求項１０】
前記コントローラの、前記サブ領域をストレージ・アクティビティからロックする操作と、前記ソース・デバイスと前記ターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立する操作とが、並行して実行される、請求項８に記載のシステム。
【請求項１１】
前記ＲＡＩＤコントローラが、前記複数のサブ領域のうちのいずれがコピーのために割り当てられるかを、ピアＲＡＩＤコントローラに通知する、請求項８に記載のシステム。
【請求項１２】
前記プロセッサが、ＳＣＳＩエンクロージャ・サービス・プロセッサ（ＳＥＳＰ）をさらに備える、請求項８に記載のシステム。
【請求項１３】
前記プロセッサが前記ストレージ・システムのローカル・ポート・ドメイン内に常駐する、請求項８に記載のシステム。
【請求項１４】
前記複数のサブ領域のそれぞれが論理ブロック・アドレス（ＬＢＡ）レンジをさらに備える、請求項８に記載のシステム。
【請求項１５】
ストレージ・システム内のソース・デバイスからターゲット・デバイスへデータをマイグレーションするためのコードを含むプログラムであって、
ソース・デバイスの容量を複数のサブ領域に分割するステップと、
前記サブ領域をストレージ・アクティビティからロックするステップと、
前記ソース・デバイスと前記ターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップと、
前記ソース・デバイスから前記ターゲット・デバイスへデータをコピーするためにローカル・プロセッサを割り当てるステップと、
前記ローカル・プロセッサによって前記複数のサブ領域のうちの１つからデータを読み取るステップと、
前記ローカル・プロセッサによって前記ターゲット・デバイス上の同一のロケーションにデータを書き込むステップと、をコンピュータに実行させるためのプログラム。
【請求項１６】
前記サブ領域をストレージ・アクティビティからロックするステップと、前記ソース・デバイスと前記ターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップとを、並行してコンピュータに実行させる、請求項１５に記載のプログラム。
【請求項１７】
前記ソース・デバイスの容量を複数のサブ領域に分割するステップに続いて、前記複数のサブ領域のうちのいずれがコピーのために割り当てられるかを、ピアＲＡＩＤコントローラに通知するステップをさらにコンピュータに実行させる、請求項１５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータに関し、具体的には、ストレージ・システム内にサポート・プロセッサを備えた、最適化されたデータ・マイグレーションのシステムおよび方法に関する。
【背景技術】
【０００２】
データ・ストレージ・システムは、１つまたは複数のホスト・コンピュータ・システムによって提供される情報を格納するために使用される。こうしたデータ・ストレージ・システムは、複数のデータ・ストレージ・デバイスに情報を書き込むための要求と、その複数のデータ・ストレージ・デバイスから情報を取り出すための要求とを受け取る。当分野では、複数のデータ・ストレージ・デバイスを２つまたはそれ以上のストレージ・アレイに構成することが知られている。
【０００３】
ストレージ・システムは、システムを保護するための冗長性を提供するアーキテクチャ設計の実装を通じて、高い可用性および信頼性特徴を提供する。耐障害性は、システム内で冗長耐障害ハードウェア設計を通じて達成され、ユーザ・データは、ＲＡＩＤ（redundant array of independent disk）スキーム内で構成されたストレージ・デバイスのアレイ内に格納される。従来のＲＡＩＤスキーム（ＲＡＩＤレベル１、２、３、４、５、１０［０＋１，１＋０］）は、単一レベルの冗長保護を提供し、追加障害からのデータ損失にさらされる以前に、単一のデバイス障害に耐える。一般に「ホット・スペアリング」として知られるオンラインＲＡＩＤアレイ修復は、ストレージ・デバイスの障害後に、ＲＡＩＤアレイ冗長性を復元する。
【０００４】
アレイ修復アクション（スペアリング・アクティビティ）の結果、ＲＡＩＤアレイの最適とは言えない構成が生じるシナリオがある。いくつかのケースでは、構成のＲＡＩＤアレイ・メンバ・ストレージ・デバイスの置換／マイグレーションが望ましい場合がある。こうしたケースの例には、結果としてストレージ・デバイス・タイプと最適とは言えない構成との混合が生じる、ＲＡＩＤアレイ修復アクション（スペアリング・アクティビティ）が含まれる。ストレージ・デバイスの混合は、デバイス容量のミスマッチ、速度（ＲＰＭ）およびインターフェース・レートを含むデバイス性能特性、エンタープライズ・クラス、ニアライン・クラス、およびデスクトップ・クラスなどのデバイス信頼特性、ならびに、ストレージ・デバイス・ネットワーク・ポジションなどの、非整合の特性を含むことができる。前述の特性に加えて、マルチストレージ・デバイス・サービス境界は、結果として、受け入れ可能なサービス境界を作成するためのデータ・マイグレーションを発生させる可能性がある。
【０００５】
アクティブなＲＡＩＤアレイ・メンバ（ソース）から新しいターゲット・デバイスへデータをマイグレーションするためには、ＲＡＩＤアレイに新しいデバイスにマイグレーションされることが望ましいデバイスを再構築させるのではなく、データをソースからターゲットへマイグレーションするためのある種のコピー・アクティビティを実行することが望ましい。従来技術には、ソース・デバイスとターゲット・デバイスとの間にＲＡＩＤ  １関係を形成し、ソース・デバイスとターゲット・デバイスとの間でデータを同期化するために再構築されるミラーリングを実行する、ＲＡＩＤコントローラが含まれる。この方法は、重要なＲＡＩＤコントローラおよびストレージ・デバイス・ファブリック・リソースを完了することが必要である。ＲＡＩＤコントローラおよびストレージ・デバイス・ネットワーク・ファブリック（fabric）によって消費されるリソースは、特定のアクティビティの持続期間中、システム性能全体に影響を与える。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、前述のようなシステム・リソースの使用を最小限にする、データのマイグレーションのためのシステムおよび方法が求められている。このシステムおよび方法は、効率の良い、費用対効果の高いソリューションを提供するために、既存のストレージ・デバイスおよびネットワーク・ファブリックを使用するものとする。
【課題を解決するための手段】
【０００７】
一実施形態では、本発明は、ソース・デバイスの容量を複数のサブ領域に分割するステップと、複数のサブ領域をストレージ・アクティビティからロックするステップと、ソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップと、ソース・デバイスからターゲット・デバイスへデータをコピーするためにローカル・プロセッサを割り当てるステップと、ローカル・プロセッサによって複数のサブ領域のうちの１つからデータを読み取るステップと、ローカル・プロセッサによってターゲット・デバイス上の同一のロケーションにデータを書き込むステップと、を含む、ストレージ・システム内のソース・デバイスからターゲット・デバイスへデータをマイグレーションする方法である。
【０００８】
他の実施形態では、本発明は、ストレージ・システムのローカル・ドメイン内で動作可能なプロセッサと、プロセッサに電気的に接続されたＲＡＩＤコントローラとを備え、ＲＡＩＤコントローラが、ソース・デバイスの容量を複数のサブ領域に分割し、サブ領域をストレージ・アクティビティからロックし、ソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立し、ソース・デバイスからターゲット・デバイスへデータをコピーするためにプロセッサを割り当てる、ストレージ・システム内のソース・デバイスとターゲット・デバイスとの間でデータをマイグレーションするためのシステムである。
【０００９】
他の実施形態では、本発明は、ストレージ・システム内のソース・デバイスからターゲット・デバイスへデータをマイグレーションするためのコードを含み、ソース・デバイスの容量を複数のサブ領域に分割するステップと、複数のサブ領域をストレージ・アクティビティからロックするステップと、ソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップと、ソース・デバイスからターゲット・デバイスへデータをコピーするためにローカル・プロセッサを割り当てるステップと、ローカル・プロセッサによって複数のサブ領域のうちの１つからデータを読み取るステップと、ローカル・プロセッサによってターゲット・デバイス上の同一ロケーションにデータを書き込むステップと、をコンピュータに実行させるためのプログラムである。
【００１０】
本発明の利点が容易に理解されるようにするために、添付の図面に示された特定の実施形態を参照しながら、上記で簡単に説明した本発明についてより具体的に説明する。これらの図面が本発明の典型的な実施形態のみを示していること、したがって、その範囲を限定するものとはみなされないことを理解しながら、添付の図面を使用することによって特異性および詳細を追加し、本発明について記述および説明する。
【発明を実施するための最良の形態】
【００１１】
本明細書で説明する機能ユニットのいくつかは、とりわけそれらの実装の独立性を強調するために、モジュールとしてラベル付けされている。たとえばあるモジュールは、カスタムＶＬＳＩ回路またはゲート・アレイ、論理チップなどの市販の半導体、トランジスタ、あるいはその他の離散的コンポーネントを備える、ハードウェア回路として実装することができる。あるモジュールは、フィールド・プログラム可能ゲート・アレイ、プログラム可能アレイ論理、プログラム可能論理デバイスなどの、プログラム可能ハードウェア・デバイス内に実装することもできる。
【００１２】
モジュールは、様々なタイプのプロセッサによって実行するために、ソフトウェア内に実装することもできる。たとえば実行可能コードの識別モジュールは、たとえばオブジェクト、プロシージャ、または関数として編成可能な、コンピュータ命令の１つまたは複数の物理ブロックまたは論理ブロックを備えることができる。それにもかかわらず、識別モジュールの実行可能コードは物理的に一緒に配置される必要はないが、論理的に結合された場合、そのモジュールを備え、モジュールの定められた目的を達成する、異なる場所に格納された離散命令を備えることができる。
【００１３】
実際のところ、実行可能コードのモジュールは、単一の命令または多くの命令とすることが可能であり、いくつかの異なるコード・セグメントにわたって、異なるプログラム間で、さらにはいくつかのメモリ・デバイスにまたがって、分散させることさえも可能である。同様に、本明細書では動作データをモジュール内に識別および図示することが可能であり、任意の好適な形で実現し、任意の好適なタイプのデータ構造で編成することが可能である。動作データは、単一のデータ・セットとしてまとめるか、または異なるストレージ・デバイスにわたることを含む、異なるロケーションにわたって分散させることが可能であり、少なくとも部分的には、システムまたはネットワーク上の単なる電子信号として存在することが可能である。
【００１４】
本明細書全体にわたる「一実施形態」、「ある実施形態」、または同様の言い方への言及は、その実施形態に関連して述べられる特定の機能、構造、または特徴が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって「一実施形態において」、「ある実施形態において」、または同様の言い方の句が現れた場合、すべて同じ実施形態について言及している可能性があるが、必ずしもそうとは限らない。
【００１５】
信号伝送媒体への言及は、デジタル処理装置上で、信号を生成すること、信号を生成させること、またはマシン読み取り可能命令のプログラムを実行させ得ることのうちいずれかの形を取ることができる。信号伝送媒体は、伝送回線、コンパクト・ディスク、デジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、パンチ・カード、フラッシュ・メモリ、集積回路、または他のデジタル処理装置メモリ・デバイスによって、具体化することができる。
【００１６】
含まれる概略流れ図は、一般に、論理流れ図として示される。したがって、記載された順序およびラベル付けされたステップは、本方法の一実施形態を示す。他のステップおよび方法は、例示された方法の１つまたは複数のステップまたはその一部に対する、機能、論理、または効果において同等であると考えることができる。加えて、採用されたフォーマットおよび記号は、方法の論理ステップを説明するために提供され、方法の範囲を限定するものとは考えられない。流れ図では様々なタイプの矢印および線が採用されているが、それらは対応する方法の範囲を限定するものとは考えられない。実際のところ、いくつかの矢印または他のコネクタを使用して、方法の論理流れのみを示すことができる。たとえばある矢印は、記載された方法の列挙されたステップ間での、指定されていない持続時間の待機または監視を示すことができる。加えて、特定の方法が発生する順序は、示された対応する諸ステップの順序を厳守してもしなくてもよい。
【００１７】
さらに、本発明の記載された機能、構造、または特徴は、１つまたは複数の実施形態において、任意の好適な様式で組み合わせることができる。以下の説明では、本発明の諸実施形態を完全に理解するために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース・クエリ、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップの例などの、多数の特定の細部が提供される。しかしながら当業者であれば、本発明が、この特定の細部のうちの１つまたは複数を伴わないか、または他の方法、コンポーネント、材料などを伴って、実施可能であることを理解されよう。他のインスタンスでは、本発明の諸態様を不明瞭にしないために、良く知られた構造、材料、または操作は詳細に図示または説明しない。
【００１８】
ＲＡＩＤストレージ・システムでは、ストレージ・デバイス・ネットワーク・ファブリックは、ネットワークの動作状態を管理および維持するためのサポート・プロセッサが必要なデバイスからなる。モジュラ・ストレージ・システムの場合、サポート・プロセッサは、モジュラ・エンクロージャのエンクロージャ管理サービスを管理するために使用することもできる。エンクロージャ管理サービス・サポート・プロセッサは、ストレージ・デバイス通信ネットワーク内のイニシエータ・デバイスであることが可能な、ＳＣＳＩエンクロージャ・サービス・プロセッサ（ＳＥＳＰ）を含むことができる。非ブロック・スイッチング・アーキテクチャをサポートするストレージ・デバイス通信ネットワーク・ファブリックでは、イニシエータとネットワークに対して非破壊的なターゲット・デバイスとの間に、複数のイニシエータ・ターゲット通信セッションが並列に確立可能なように、ポイント・ツー・ポイント通信セッションを確立することが可能である。
【００１９】
本発明は、この特徴を活用し、ＲＡＩＤアレイ・メンバ・ソースから適格ターゲット・デバイスへのデータ・マイグレーションに、協働的に参加するために、ＳＥＳＰプロセッサなどのローカル・プロセッサを利用する。ＲＡＩＤコントローラの指示で、ＳＥＳＰはＲＡＩＤアレイ・ソース・デバイスからデータを読み取り、そのデータをマイグレーション関係のターゲット・デバイスにコピーする（書き込む）。
【００２０】
ＲＡＩＤソースは、ソースとターゲットのストレージ・デバイス間でのデータ・コピーの進行（マスタ・プロセス）を管理および制御するために使用され、その結果、ストレージ・システムおよびストレージ・システムの様々なサブコンポーネントは、データ・コピー・マイグレーションの下位プロセス中にＳＥＳＰがどこにあるかを認識できる。ＲＡＩＤコントローラ・リソースは、ソースとターゲットのデバイス間でミラーリング関係を確立および維持するためにも使用され、その結果、ＲＡＩＤコントローラがデータ・マイグレーション操作中に新しく修正されたデータで、デバイスを更新する。
【００２１】
図１を参照すると、非ブロックＦＣ−ＡＬスイッチを実装する、ファイバ・チャネル・アービトレーテッド・リンク（ＦＣ−ＡＬ）のストレージ・デバイス相互接続ファブリックを介して、ストレージ・デバイスに接続された、２重ＲＡＩＤコントローラ１２を備えたストレージ・システム１０の例が示されている。ＲＡＩＤコントローラ１２は、コントローラ・エンクロージャ１４によって格納される。コントローラ・エンクロージャ１４には、ＦＣ−ＡＬイニシエータ・デバイス１６を含む、２つのコントローラ・カード０およびコントローラ・カード１が統合される。デバイス１６は、ここではエンクロージャＩＤ  ０としてラベル付けされた、スイッチ・エンクロージャ２２のアップストリーム・ポート２０と通信する、０および１として示されるダウンストリーム・ポート１８を含む。エンクロージャ２２は、ＦＣ−ＡＬスイッチ２６と、ＳＥＳＰプロセッサ２８などのローカル・プロセッサ２８とを格納する、２つのＦＣ−ＡＬカード２４も含み、プロセッサ２８は互いに接続される。次に、エンクロージャ２２のダウンストリーム・ポート３０（ここでは２および３とラベル付け）は、エンクロージャ２２に見られるものと同じサブコンポーネントを格納するエンクロージャ３４の、アップストリーム・ポート３２（０および１とラベル付け）にデイジー・チェーン（daisy chain）接続される。同様に、エンクロージャ３６も、エンクロージャ２２に見られるものと同じサブコンポーネントを含み、アップストリーム・ポート４０（ここでも０および１とラベル付け）がダウンストリーム・ポート３８に接続される。各エンクロージャ（たとえば、２２、３４、３６）は、ＦＣ−ＡＬスイッチ２６と、ＦＣ−ＡＬスイッチ２６を介してＦＣ−ＡＬストレージ・デバイス・ネットワークにアクセス可能であり、これへのアクセス権を有する、ＦＣ−ＡＬイニシエータである、ローカル・プロセッサ２８（たとえばＳＥＳＰ）とを提供する、２つのコントローラ・カード２４を提供する。
【００２２】
図１に示されたようなコントローラ・エンクロージャ１４は、論理構造とすることも可能であることに留意されたい。冗長ＲＡＩＤエンジンを備えたコントローラ機能は、図１に示された単一の物理エンティティに加えて、ストレージ・コントローラ機能内で論理的にまとめて結合された、別々の物理エンティティ内に存在することが可能である。当業者であれば、コントローラ機能および付属のＲＡＩＤ機能が実現可能な、様々な実施形態を理解されよう。
【００２３】
マスタＲＡＩＤコントローラは、ローカル・プロセッサ（たとえばＳＥＳＰ）のコピー（マイグレーション）・プロセスを、以下のように管理する。マスタＲＡＩＤコントローラは、第１に、ソース・ストレージ・デバイス容量（論理ブロック・アドレス、ＬＢＡレンジ）を、複数のサブ領域、またはサブＬＢＡレンジに分割する。マスタＲＡＩＤコントローラは、コピーのためのサブ領域がＳＥＳＰに割り当てられていることを、適用可能であれば、ピアＲＡＩＤコントローラに通知する。次に、ＲＡＩＤコントローラ・イニシエータは、その後のストレージ・アクティビティから、サブ領域をロックする。これと並行して、ＲＡＩＤコントローラは、データ・コピー操作のソース・デバイスとターゲット・デバイスとの間に、書き込みデータ更新に関するミラーリング関係を確立する。ＲＡＩＤコントローラは、すべての書き込みに関するソース・デバイスに対してデータを書き込み、ならびに、データが、コピー・プロセスによってすでにターゲット・デバイスにコピーされているターゲット・デバイスのある領域をターゲットとしている場合、コピー関係のターゲット・デバイスのみに対して、データを書き込む。このようにして更新を完了するために必要なＲＡＩＤコントローラ・リソースを最小限にする。
【００２４】
更新されたデータは、そのサブ・レンジがプロセスによってソースからターゲットにコピーされる場合、コピー・プロセスによってターゲット・デバイスにコピーされることになる。次に、ＲＡＩＤコントローラは、ソース・ストレージ・デバイスのサブ領域からターゲット・ストレージ・デバイスへとデータをコピーするために、ストレージ・デバイス・ファブリック内のＳＥＳＰを割り当てる。ＲＡＩＤコントローラは、ソース・デバイスからターゲット・デバイスにコピーするための特定のサブ領域を有する、１からＮのＳＥＳＰを割り当てる。最適には、ＲＡＩＤコントローラは、コピー操作を完了するために必要なストレージ・デバイス相互接続リソースを最小限にするために、ソースおよびターゲットのストレージ・デバイスに最良の分離および局所性を提供する、ＳＥＳＰを選択することになる。
【００２５】
書き込みデータが、ソースからターゲットのデバイスへとコピーするためにＳＥＳＰに割り当てられたサブ領域内の区域に書き込まれる場合、データは、ソース・デバイス上で更新され、据え置き書き込み（deferred write）としてターゲット・デバイスへと搬送される。ＳＥＳＰが、ＲＡＩＤコントローラによって割り当てられたサブ領域のコピーを完了した旨を報告すると、ＲＡＩＤコントローラは、サブ領域に対して搬送された据え置き書き込みを完了する。
【００２６】
両方のデバイス（ソースおよびターゲットのストレージ・デバイス）ならびにＳＥＳＰデバイスは、できる限り多くのＦＣ−ＡＬファブリックを使用可能にしておくために、ＦＣ−ＡＬスイッチのローカル・ポート・ドメイン内に常駐する。しかしながら、これは必須ではない。開示された構成では、ストレージ・デバイス相互接続ファブリック帯域幅リソースの利用が最適である。ＳＥＳＰプロセッサは、ソース・デバイスのサブＬＢＡレンジからデータを読み取り、そのデータをターゲット・ストレージ・デバイスの同一のロケーションに書き込む。このようにして、ソース・ストレージ・デバイス上のデータ・イメージのコピーをターゲット・ストレージ・デバイス上に作成することになる。
【００２７】
図２は、２重ポート（たとえばアップストリーム・ポート２０、ダウンストリーム・ポート３０）ストレージ・デバイスのうちの単一のポート、または単一ポートのストレージ・デバイス４４をＦＣ−ＡＬスイッチ・ポート（たとえばポート１）に接続するマルチポート多重化デバイスへの、入力ポートに取り付けられた、非ブロックＦＣ−ＡＬスイッチ２６を使用する、本発明に従ったトポロジの実装４２を示す図である。スイッチング・デバイス２６は、非ブロック様式でデバイス・ポート間でポート間接続を確立する機能を提供する。ＳＥＳＰプロセッサ２８は、制御信号伝送媒体を介してデバイス２６に接続されると考えられる。図２は、スイッチ・デバイス２６を格納するＦＣ−ＡＬカード２４（ここではカード０とラベル付け）の例を示す。
【００２８】
図３および図４は、カード２４（カード０とラベル付け）上のＳＥＳＰ  ０プロセッサ２８および別のカード２４（カード１とラベル付け）上のＳＥＳＰ  １プロセッサ２８が、ストレージ・システムの第１の操作の一部として、ＦＣ−ＡＬスイッチ・デバイス２６のポート５に接続されたストレージ・デバイスＡ５からデータを読み取る（破線４８で示される）、本発明に従ったシナリオに関する内部スイッチ接続を示す図である。両方のＳＥＳＰ  ２８（ＳＥＳＰ  ０およびＳＥＳＰ  １）が、同じストレージ・デバイス４４（Ａ５）から読み取るように示されていることに留意されたい。ＳＥＳＰ  １で実行される読み取り操作は、実線５０で示される。それぞれの読み取りアクセスは並列であり、ストレージ・デバイス４４によってシーケンスが管理される。名目上、読み取り要求はインタリーブされ、各ＳＥＳＰ  ２８は交互にデータを読み取ることになる。
【００２９】
図５および図６は、ＳＥＳＰ  ０  ２８が、ＦＣ−ＡＬスイッチ２６のポート５に接続されたストレージ・デバイスＡ５のサブＬＢＡ領域０から読み取られたデータを、ＦＣ−ＡＬスイッチ２６のポート１６に接続されたストレージ・デバイス５６（ここではＳＰ１と示される）へ書き込み（破線５４で示される）、並行して（図６を参照）、ＳＥＳＰ  １が、ＦＣ−ＡＬスイッチ２６のポート５に接続されたストレージ・デバイスＡ５のサブＬＢＡ領域１から読み取られたデータを、ＦＣ−ＡＬスイッチ２６のポート１６に接続されたストレージ・デバイス５６（ここでもＳＰ１と示される）へ書き込む（実線５４で示される）、ストレージ・システムの続く操作５２に関する内部スイッチ接続を示す図である。ここでも、両方のＳＥＳＰ  ２８（ＳＥＳＰ  ０およびＳＥＳＰ  １）が、同じストレージ・デバイス５６に書き込むように示されていることに留意されたい。結果として、書き込みアクセスは再度並列となる。さらにここでも、ストレージ・デバイス５６によってシーケンスが管理される。名目上、書き込み操作もインタリーブされ、各ＳＥＳＰ  ２８は交互にデータを書き込むことになる。
【００３０】
次に図７は、本発明に従ったマイグレーション・プロセス５８の例が示される。特に、プロセス５８は、ＳＥＳＰ  ２８が、ソース・ストレージ・デバイスから、ＲＡＩＤコントローラによって割り当てられたターゲット・ストレージ・デバイスのサブＬＢＡレンジへとデータをコピーするために使用する。ＳＥＳＰ  ０は、ソース・ストレージ・デバイスのサブＬＢＡレンジ０からデータを読み取り、その後、ターゲット・ストレージ・デバイスの等価のサブＬＢＡレンジへとデータを書き込む。各ＳＥＳＰは、ＲＡＩＤコントローラによって割り当てられたストレージ・デバイスの指定されたＬＢＡレンジ（たとえばレンジ６０、６２）内で、ソース・デバイスからはデータを読み取るのみであり、ターゲット・デバイスへはデータを書き込むのみである。
【００３１】
次に図８は、本発明に従ったマイグレーション操作６４の例が示される。操作が開始され（ステップ６６）、マスタＲＡＩＤコントローラは、前述のように、適用可能なソース・ストレージ・デバイスを複数のサブ領域またはサブＬＢＡ領域に分割する（ステップ６８）。続くステップ７０、７２、および７４は、並行して実施することができる。ステップ７０では、適用可能であれば、マスタＲＡＩＤコントローラが、マイグレーション操作のために割り当てられたそれぞれのサブ領域について、ピアＲＡＩＤコントローラに通知する。次のステップとして、ＲＡＩＤコントローラ・イニシエータは、マイグレーション・アクティビティの範囲外であるストレージ・アクティビティのそれぞれのサブ領域をロックする（ステップ７２）。同時に、ＲＡＩＤコントローラは、マイグレーション操作のソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するように動作する（ステップ７４）。次にＲＡＩＤコントローラは、マイグレーション操作を実行するために、それぞれのストレージ・デバイス・ファブリック内で指定されたＳＥＳＰを割り当てる（ステップ７６）。マイグレーション操作を実行するために、ＳＥＳＰは指定されたソース・ストレージ・デバイスのサブ領域からデータを読み取り（ステップ７８）、そのデータをターゲット・ストレージ・デバイス上の同一のロケーションに書き込む（ステップ８０）。その後、方法６４は終了する（ステップ８２）。
【００３２】
前述のマイグレーション操作を実行するためのストレージ・デバイス・ファブリック内でのそれぞれのＳＥＳＰの割り当てなどの、前述の方法６４を実施するためのソフトウェアあるいはハードウェアまたはその両方は、当分野で現在知られているツールを使用して作成することができる。前述のシステムおよび方法の実施には、ＲＡＩＤストレージ・トポロジを利用する標準のコンピューティング環境ですでに使用されている以上の、大幅な追加のリソースの消費、または追加のハードウェアが伴わないため、この実装は費用対効果が高い。
【００３３】
前述のようなシステムおよび方法の例を実施および利用することで、前述のようなストレージ・システムおよびサブシステムを有するコンピューティング環境でのデータ・マイグレーションを提供する単純かつ効果的な方法を提供することが可能であり、ストレージ・システムの性能を最大限にする働きをする。以上、本発明の１つまたは複数の実施形態について詳細に説明してきたが、当業者であれば、添付の特許請求の範囲に示された本発明の範囲を逸脱することなく、これら実施形態への修正および適応が実行可能であることを理解されよう。
【図面の簡単な説明】
【００３４】
【図１】２重ＲＡＩＤコントローラを備えたストレージ・システムの例を示す図である。
【図２】２重ポート・ストレージ・デバイスのうちの単一のポート、または単一ポートのストレージ・デバイスをＦＣ−ＡＬスイッチ・ポートに接続するマルチポート多重化デバイスへの、入力ポートに取り付けられた、非ブロック・ファイバ・チャネル・アービトレーテッド・ループ（ＦＣ−ＡＬ）スイッチを使用した、トポロジの実装を示す図である。
【図３】ストレージ・システムの第１の操作における、本発明に従った内部スイッチ接続を示す図である。
【図４】ストレージ・システムの第１の操作における、本発明に従った内部スイッチ接続を示す図である。
【図５】ストレージ・システムの第２の操作における、本発明に従った内部スイッチ接続を示す図である。
【図６】ストレージ・システムの第２の操作における、本発明に従った内部スイッチ接続を示す図である。
【図７】本発明に従った、ソース・ストレージ・デバイスからターゲット・ストレージ・デバイスへのマイグレーション・プロセスの例を示す図である。
【図８】本発明に従って、ソース・ストレージ・デバイスからターゲット・ストレージ・デバイスへデータをマイグレーションするための、コンピュータ・ストレージ・システムの操作の方法の例を示す図である。
【符号の説明】
【００３５】
１０    ストレージ・システム
１２    ＲＡＩＤコントローラ
１４    コントローラ・エンクロージャ
１６    ＦＣ−ＡＬイニシエータ
１８    ダウンストリーム・ポート
２０    アップストリーム・ポート
２２    エンクロージャ  ＩＤ
２４    カード
２６    ＦＣ−ＡＬスイッチ
２８    ローカル・プロセッサ
３０    ダウンストリーム・ポート
３２    アップストリーム・ポート
３４    エンクロージャ  ＩＤ
３６    エンクロージャ  ＩＤ
３８    ダウンストリーム・ポート
４０    アップストリーム・ポート
【図１】
2008159045.tif 000003
【図２】
2008159045.tif 000004
【図３】
2008159045.tif 000005
【図４】
2008159045.tif 000006
【図５】
2008159045.tif 000007
【図６】
2008159045.tif 000008
【図７】
2008159045.tif 000009
【図８】
2008159045.tif 000010