(57)【要約】      （修正有）【課題】ストレージ環境においてＤＳＵを仮想ＤＳＵにマッピングする装置、システム及び方法を提供する。【解決手段】識別モジュールが、第１のコントローラの定義済みストレージ・ユニットを識別する。検査モジュールは、第１のコントローラの定義済みストレージ・ユニットに対応する第２のコントローラの定義済みストレージ・ユニットについて検査する。フラグ・モジュールは、第１のコントローラの定義済みストレージ・ユニットに対応する第２のコントローラの定義済みストレージ・ユニットがある場合には、第１のコントローラの定義済みストレージ・ユニットにフラグを立てる。モニタ・モジュールは、ストレージ環境内のフラグが立てられていない定義済みストレージ・ユニットの各々の状態を監視する。報告モジュールが、フラグが立てられていない定義済みストレージ・ユニットの各々の状態を報告する。【選択図】図６
2007115250.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ環境をマッピングするための装置であって、
第１のコントローラのＤＳＵを識別するように構成された識別モジュールと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査するように構成された検査モジュールと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵがある場合には、該第１のコントローラのＤＳＵにフラグを立てるように構成されたフラグ・モジュールと
を備える装置。
【請求項２】
フラグが立てられていないＤＳＵの各々の状態を監視するように構成されたモニタ・モジュールをさらに備える、請求項１に記載の装置。
【請求項３】
フラグが立てられていないＤＳＵの各々の状態を報告するように構成された報告モジュールをさらに備える、請求項１に記載の装置。
【請求項４】
前記第１のコントローラがストレージ・コントローラとして構成され、前記第１のストレージ・コントローラのＤＳＵが論理ボリュームとして構成され、前記第２のコントローラがストレージ仮想化システムとして構成され、前記第２のコントローラのＤＳＵが仮想ディスクとして構成される、請求項１に記載の装置。
【請求項５】
前記第１のコントローラのＤＳＵに対応する前記第２のコントローラのＤＳＵについての前記検査が、ストレージ仮想化システムのノードのＨＢＡのＷＷＰＮに割り当てられた論理ボリュームの存在についてのものである、請求項４に記載の装置。
【請求項６】
前記第１のコントローラがストレージ仮想化システムのバックエンド・コントローラとして構成され、前記第１のコントローラのＤＳＵが管理ディスクとして構成され、前記第２のコントローラがストレージ・コントローラとして構成され、前記第２のコントローラのＤＳＵが前記ストレージ・コントローラとして構成される、請求項１に記載の装置。
【請求項７】
ＷＷＰＮへの複数のストレージ・コントローラの論理ボリュームの割り当てを収集するように構成された収集モジュールをさらに備え、前記第１のコントローラのＤＳＵに対応する前記第２のコントローラのＤＳＵについての前記検査が、ストレージ仮想化システムのバックエンド・コントローラのＷＷＰＮに対応するストレージ・コントローラのＷＷＰＮの存在についてのものである、請求項６に記載の装置。
【請求項８】
前記第２のコントローラのＤＳＵが論理ボリュームとして構成され、前記装置は、複数のストレージ・コントローラの論理ボリュームについてのＷＷＰＮを収集するように構成された収集モジュールをさらに備え、前記第１のコントローラのＤＳＵに対応する前記第２のコントローラのＤＳＵについての前記検査が、ストレージ・コントローラの論理ボリュームに割り当てられたストレージ仮想化システムのＷＷＰＮの存在についてのものである、請求項６に記載の装置。
【請求項９】
冗長照会を検知するための装置であって、
第１のコントローラのＤＳＵへの照会を識別するように構成された識別モジュールと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査するように構成された検査モジュールと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵがある場合には、該第１のコントローラのＤＳＵにフラグを立てるように構成されたフラグ・モジュールと
を備える装置。
【請求項１０】
ストレージ環境をマッピングするためのシステムであって、
第１のコントローラ及び第２のコントローラを含み、データを格納するように構成されたストレージ環境と、
第１のコントローラのＤＳＵを識別するように構成された識別モジュールと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査するように構成された検査モジュールと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵがある場合には、該第１のコントローラのＤＳＵにフラグを立てるように構成されたフラグ・モジュールと
を含むデータ処理装置と
を備えるシステム。
【請求項１１】
前記第１のコントローラがストレージ・コントローラとして構成され、前記第１のコントローラのＤＳＵが論理ボリュームとして構成され、前記第２のコントローラがストレージ仮想化システムとして構成され、前記第２のコントローラのＤＳＵが仮想ディスクとして構成され、該第１のコントローラのＤＳＵに対応する該第２のコントローラのＤＳＵについての前記検査が、ストレージ仮想化システムのノードのＨＢＡのＷＷＰＮに割り当てられた論理ボリュームの存在についてのものである、請求項１０に記載のシステム。
【請求項１２】
前記第１のコントローラがストレージ仮想化システムのバックエンド・コントローラとして構成され、前記第１のコントローラのＤＳＵが管理ディスクとして構成され、前記第２のコントローラがストレージ・コントローラとして構成され、前記第２のコントローラのＤＳＵが前記ストレージ・コントローラとして構成され、ＷＷＰＮへの複数のストレージ・コントローラの論理ボリュームの割り当てを収集するように構成された収集モジュールをさらに備え、前記第１のコントローラのＤＳＵに対応する前記第２のコントローラのＤＳＵについての前記検査が、ストレージ仮想化システムのバックエンド・コントローラのＷＷＰＮに対応するストレージ・コントローラのＷＷＰＮの存在についてのものである、請求項１０に記載のシステム。
【請求項１３】
前記第１のコントローラが、ストレージ仮想化システムのバックエンド・コントローラとして構成され、前記第１のコントローラのＤＳＵが管理ディスクとして構成され、前記第２のコントローラがストレージ・コントローラとして構成され、前記第２のコントローラのＤＳＵが前記ストレージ・コントローラとして構成され、前記システムが、複数のストレージ・コントローラの論理ボリュームについてのＷＷＰＮを収集するように構成された収集モジュールをさらに備え、前記第１のコントローラのＤＳＵに対応する前記第２のコントローラのＤＳＵについての前記検査が、ストレージ・コントローラの論理ボリュームに割り当てられたストレージ仮想化システムのＷＷＰＮの存在についてのものである、請求項１０に記載のシステム。
【請求項１４】
前記ストレージ環境がディスクをさらに備える、請求項１０に記載のシステム。
【請求項１５】
前記ストレージ仮想化システムが、ストレージ・エリア・ネットワークの仮想コントローラとして構成される、請求項１１に記載のシステム。
【請求項１６】
ストレージ環境をマッピングするための動作を実行するために、コンピュータに
第１のコントローラのＤＳＵを識別するステップと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査するステップと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵがある場合には、該第１のコントローラのＤＳＵにフラグを立てるステップと
を実行させるプログラム。
【請求項１７】
コンピュータ可読コードをコンピューティング・システムに組み込むステップを含む、コンピュータ・インフラストラクチャを配置する方法であって、前記コンピューティング・システムと組み合わされた前記コードが、
第１のコントローラのＤＳＵを識別するステップと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査するステップと、
前記第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵがある場合には、該第１のコントローラのＤＳＵにフラグを立てるステップと
を実行することが可能な方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ環境をマッピングすることに関し、より特定的には、ストレージ環境の要素の仮想化インスタンス（ｖｉｒｔｕａｌｉｚｅｄ  ｉｎｓｔａｎｃｅｓ）をマッピングすることに関する。
【背景技術】
【０００２】
データ処理システムは、データを格納するためにストレージ環境を用いることが多い。ストレージ環境は、サーバ、メインフレーム・コンピュータ、メディア配信システム、通信システム等のような複数のデータ処理装置についてのデータを格納し、検索することができる。ストレージ環境は、１つ又は複数のストレージ・コントローラを含むことができる。各々のストレージ・コントローラは、ハードディスク・ドライブ、光ストレージ・ドライブ、ソリッド・ステート・メモリ記憶装置等のような１つ又は複数の記憶装置又はディスクを管理することができる。
【０００３】
サーバのようなデータ処理装置は、データをストレージ・コントローラに伝達することによって、データを格納することができる。ストレージ・コントローラは、データをディスクに書き込むことができる。同様に、データ処理装置は、ストレージ・コントローラからデータを要求することによって、データを検索することができる。次に、ストレージ・コントローラは、ディスクからデータを読み取り、該データをデータ処理装置に伝達することができる。特定の実施形態において、ディスクは、ストレージ・コントローラを含む。
【０００４】
各々のディスクは、１つ又は複数の論理パーティションに分割することができる。さらに、１つ又は複数のディスクからの１つ又は複数の論理パーティションを論理的に集約して、論理ボリュームを形成することができる。データ処理装置には、論理ボリュームが単一ディスクのように見える。
【０００５】
ストレージ環境は、データ処理装置とストレージ・コントローラとの間の仲介として、ストレージ仮想化システム（「ｓｔｏｒａｇｅ  ｖｉｒｔｕａｌｉｚｉｎｇ  ｓｙｓｔｅｍ、ＳＶＳ」）を用いることができる。ＳＶＳは、ストレージ・エリア・ネットワーク（「ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＳＡＮ」）のボリューム・コントローラ等とすることができる。一実施形態において、ＳＶＳは、ストレージ・コントローラの１つ又は多数の論理ボリュームから仮想ディスクを作成する。データ処理装置は、仮想ディスクが論理ボリュームであるかのように、該仮想ディスクと通信することができる。
【０００６】
ＳＶＳは、データを仮想ディスクに書き込み、該仮想ディスクからデータを受信する要求をストレージ・コントローラに伝達する。ストレージ・コントローラは、論理ボリュームのディスクへのデータの書き込みを完了するか、又は、論理ボリュームのディスクからのデータの検索を完了する。したがって、ＳＶＳは、データ処理装置には、ストレージ・コントローラのように見えるが、データは、ストレージ・コントローラのディスク上に格納され、ストレージ・コントローラは、ＳＶＳのバックエンド装置として機能する。
【０００７】
ＳＶＳは、管理ディスクをさらに含むことができる。管理ディスクは、ストレージ・コントローラの論理ボリュームと通信することができる。ＳＶＳの管理ディスクに書き込まれたデータが、ストレージ・コントローラの論理ボリュームに伝達され、書き込まれる。さらに、ＳＶＳの管理ディスクから読み取られたデータが、ストレージ・コントローラの論理ボリュームから検索され、次いでＳＶＳから伝達される。データ処理装置は、ＳＶＳがストレージ・コントローラであるかのように、ＳＶＳと通信することができる。さらに、ＳＶＳは、管理ディスクがディスクであるかのように、管理ディスクから仮想ディスクを作成する。
【０００８】
データ処理システムは、データを、ＳＶＳを介して１つ又は複数のストレージ・コントローラ上に格納することができ、或いは、データを直接１つ又は複数のストレージ・コントローラ上に格納することができる。さらに、データ処理システムは、それぞれ、論理ボリュームとディスクのようなストレージ環境要素、及び、仮想ディスクと管理ディスクのようなストレージ環境の要素の仮想化インスタンスを区別することができない。以下、論理ボリューム、仮想ディスク、ディスク及び管理ディスクのようなストレージ環境の要素を、定義済みストレージ・ユニット（「ｄｅｆｉｎｅｄ  ｓｔｏｒａｇｅ  ｕｎｉｔｓ、ＤＳＵ」）と呼ぶ。
【０００９】
データ処理システムは、ストレージ環境についての情報を報告するために、ストレージ監視アプリケーションを用いることが多い。これらのアプリケーションは、次に、ＩＢＭのｃｏｍｍｏｎ  ｉｎｆｏｒｍａｔｉｏｎ  ｍｏｄｅｌ／ｏｂｊｅｃｔ  ｍａｎａｇｅｒ（「ＣＩＭ／ＯＭ」）のようなツールを用いて、ストレージ環境内の特定の要素についての情報を収集することができる。例えば、ＣＩＭ／ＯＭは、ストレージ仮想化システム及びストレージ・サブシステムの記憶容量に関する情報を収集することができる。ストレージ監視アプリケーションは、ＣＩＭ／ＯＭからこの情報を獲得し、次いで、ストレージ環境を示す報告を表示する。
【００１０】
残念なことに、ストレージ環境についての情報を収集する際に、ストレージ監視アプリケーションが、幾つかのストレージ環境のＤＳＵを二重カウントすることがある。例えば、ストレージ監視アプリケーションは、ＣＩＭ／ＯＭからＳＶＳに関する情報を収集することによって、ＳＶＳの仮想ディスクに関する情報を獲得することができ、ＳＶＳの仮想ディスクにマッピングされたその仮想ディスクと関連したストレージ・コントローラの論理ボリュームに関する情報を獲得することもできる。その結果、ストレージ監視アプリケーションは、論理ボリュームのものとしても仮想ディスクのものとしても報告された論理ボリュームの記憶状態を有する、不正確な報告を生成する可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記の説明から、ストレージ環境においてＤＳＵを仮想ＤＳＵにマッピングする装置、システム及び方法に対する必要性が存在することが明らかである。有益なことに、こうした装置、システム及び方法は、ストレージ環境のＤＳＵ及びストレージ環境のＤＳＵの仮想化インスタンスの二重カウントを排除する。
【課題を解決するための手段】
【００１２】
本発明は、当該技術分野の現状に応答して、特に、現在利用可能なストレージ環境のマッピング方法によりまだ十分に解決されていない当該技術分野における問題及び必要性に応答して、開発された。したがって、本発明は、当該技術分野における上述の欠点の多く又は全てを克服する、ストレージ環境をマッピングするための装置、システム及び方法を提供するために開発された。
【００１３】
ストレージ環境をマッピングするための装置には、第１のコントローラのＤＳＵを識別ステップ、第２のコントローラのＤＳＵについて検査するステップ、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵがある場合には、該第１のコントローラのＤＳＵにフラグを立てるステップなどの必要なステップを機能的に実行するように構成された複数のモジュールを含む論理ユニットが設けられている。説明される実施形態におけるこれらのモジュールは、識別モジュール、検査モジュール、及びフラグ・モジュールを含む。
【００１４】
識別モジュールが、第１のコントローラのＤＳＵを識別する。一実施形態において、第１のコントローラのＤＳＵは、論理ボリュームであり、第１のコントローラは、ストレージ・コントローラとして構成される。代替的な実施形態においては、第１のコントローラのＤＳＵは、管理ディスクであり、第１のコントローラは、ＳＶＳのバックエンド・コントローラである。
【００１５】
検査モジュールが、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査する。例えば、検査モジュールは、ＳＶＳのノードのｈｏｓｔ  ｂｕｓ  ａｄａｐｔｏｒ（「ＨＢＡ」）のｗｏｒｌｄ  ｗｉｄｅ  ｐｏｒｔ  ｎａｍｅ（「ＷＷＰＮ」）に割り当てられた論理ボリュームの存在について検査することができる。代替的な例においては、検査モジュールは、ＳＶＳのバックエンド・コントローラのＷＷＰＮに対応するストレージ・コントローラのＷＷＰＮの存在について検査する。ここで用いられる「対応する」という用語は、通信によって関連付けられる要素を指す。
【００１６】
フラグ・モジュールは、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵが存在する場合には、該第１のコントローラのＤＳＵにフラグを立てる。例えば、フラグ・モジュールは、ＳＶＳのノードのＨＢＡのＷＷＰＮに割り当てられた論理ボリュームが存在する場合には、該論理ボリュームにフラグを立てることができる。代替的な例においては、フラグ・モジュールは、ＳＶＳのバックエンド・コントローラのＷＷＰＮに対応するストレージ・コントローラのＷＷＰＮが存在する場合には、ＳＶＳのバックエンド・コントローラの管理ディスクにフラグを立てることができる。この装置は、ストレージ環境のＤＳＵを対応する仮想化されたＤＳＵにマッピングする。
【００１７】
ストレージ環境をマッピングするための本発明のシステムも提供される。このシステムは、データ処理システムにおいて具体化することができる。特定的には、一実施形態において、このシステムは、ストレージ環境と、データ処理装置とを含む。ストレージ環境は、複数のコントローラを含む。一実施形態において、ストレージ環境は、少なくとも１つのストレージ・コントローラと、少なくとも１つのＳＶＳとを含む。データ処理装置は、識別モジュール、検査モジュール、及びフラグ・モジュールを含む。一実施形態において、データ処理装置は、モニタ・モジュール及び報告モジュールをさらに含む。
【００１８】
ストレージ環境は、データ処理システムについてのデータを格納し、検索する。一実施形態において、ＳＶＳは、１つ又は複数のストレージ・コントローラのデータ・ストレージ機能を仮想化する。例えば、ＳＶＳは、ストレージ・コントローラの論理ボリュームを仮想化し、データ処理システムが論理ボリュームを仮想ディスクとして使用できるようにする。仮想ディスクは、論理ボリュームとデータ処理システムを区別できない場合がある。
【００１９】
識別モジュールが、第１のコントローラのＤＳＵを識別する。検査モジュールが、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査する。フラグ・モジュールは、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵが存在する場合には、該第１のコントローラのＤＳＵにフラグを立てる。フラグが立てられたＤＳＵの各々が、ストレージ環境内に対応するＤＳＵのインスタンスを有する。
【００２０】
一実施形態において、モニタ・モジュールが、フラグが立てられたＤＳＵを無視しながら、フラグが立てられていないＤＳＵを含むストレージ環境のＤＳＵの状態を監視する。さらに、報告モジュールが、フラグが立てられたＤＳＵを無視しながら、フラグが立てられていないＤＳＵを含むストレージ環境のＤＳＵの状態を報告することができる。このシステムは、別のＤＳＵのインスタンスであるＤＳＵを相関させることによって、ストレージ環境の情報の収集及び報告をサポートする。
【００２１】
ストレージ環境をマッピングする本発明の方法も提供される。開示される実施形態における方法は、実質的には、説明される装置及びシステムの動作に関して上記に示された機能を実行するのに必要なステップを含む。一実施形態において、この方法は、第１のコントローラのＤＳＵを識別するステップと、第２のコントローラのＤＳＵについて検査するステップと、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵが存在する場合には、該第１のコントローラのＤＳＵにフラグを立てるステップとを含む。
【００２２】
識別モジュールが、第１のコントローラのＤＳＵを識別する。さらに、検査モジュールは、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査する。一実施形態において、第２のコントローラのＤＳＵは、第１のコントローラのＤＳＵの仮想化インスタンスである。代替的な実施形態においては、第１のコントローラのＤＳＵは、第２のコントローラのＤＳＵの仮想化インスタンスである。
【００２３】
フラグ・モジュールは、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵが存在する場合には、該第１のコントローラのＤＳＵにフラグを立てる。一実施形態において、モニタ・モジュールは、ストレージ環境内のフラグが立てられていないＤＳＵの各々の状態を監視する。さらに、報告モジュールは、フラグが立てられていないＤＳＵの各々の状態を報告することができる。この方法は、対応するＤＳＵがある場合にＤＳＵにフラグを立て、ＤＳＵ及びＤＳＵの情報を二重カウントすることなく、ＤＳＵの情報を監視し、報告することを可能にする。
【００２４】
本明細書全体にわたる特徴、利点又は類似した語への言及は、本発明によって実現できる特徴及び利点の全てが本発明のいずれかの単一の実施形態の中に存在すべきであること、又は、存在することを意味するものではない。むしろ、特徴及び利点に言及する語は、ある実施形態と関連して説明される特定の特徴、利点又は特性が、本発明の少なくとも１つの実施形態内に含まれることを意味すると理解される。したがって、本明細書全体にわたる特徴及び利点並びに類似した語の説明が、必ずしもというわけではないが、同じ実施形態を指す場合がある。
【００２５】
さらに、１つ又は複数の実施形態において、本発明の説明される特徴、利点及び特性を、任意の適切な方法で組み合わせることができる。当業者であれば、特定の実施形態の特定の特徴又は利点のうちの１つ又は複数を用いずに本発明を実施できることを認識するであろう。他の場合には、本発明の全ての実施形態内に存在するわけではない特定の実施形態において、付加的な特徴及び利点を認識することができる。
【００２６】
本発明の実施形態は、ＤＳＵのインスタンスを該ＤＳＵの仮想化インスタンスにマッピングし、あるＤＳＵのインスタンスにフラグを立てる。さらに、本発明の実施形態は、フラグが立てられていないＤＳＵについての情報の監視及び報告をサポートし、ＤＳＵの情報の二重カウントを防止することができる。本発明のこれらの特徴及び利点は、次の説明及び添付の特許請求の範囲からより完全に明らかとなり、或いは、以下に述べられる本発明の実施によって学ぶこともできる。
【発明を実施するための最良の形態】
【００２７】
本発明の利点を容易に理解するために、簡潔に上述された本発明のより特定的な説明が、添付の図面に示される特定の実施形態を参照することによって与えられる。これらの図面は、本発明の典型的な実施形態だけを示しており、よって、本発明の範囲を制限するものと考えるべきではないことを理解するとき、本発明は、添付の図面を使用することによって、さらに特定的、且つ、詳細に記載され、説明される。
【００２８】
本明細書内で説明される機能ユニットの多くは、それらの実施の独立性をより著しく強調するために、モジュールと表記された。例えば、モジュールは、カスタムＶＬＳＩ回路又はゲート・アレイを含むハードウェア回路、論理チップ、トランジスタのような市販品の半導体、或いは他の別個のコンポーネントとして実装することができる。モジュールはまた、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル・ロジック・デバイス等のようなプログラム可能なハードウェア装置内に実装することもできる。
【００２９】
モジュールはまた、種々のタイプのプロセッサによって実行するためのソフトウェア内に実装することもできる。例えば、実行可能コードの識別モジュールは、例えば、オブジェクト、手順又は機能として組織化できる、コンピュータ命令の１つ又は複数の物理的ブロック又は論理ブロックを含むことができる。それにもかかわらず、識別モジュールの実行可能ファイルは、物理的に一緒に配置する必要はないが、論理的に一緒に結合されたときに、モジュールを含み、該モジュールのための前述の目的を達成する、異なる場所に格納された異なる命令を含むことができる。
【００３０】
実際に、実行可能コードのモジュールは、単一の命令としても、多くの命令としてもよく、幾つかの異なるコード・セグメント上で、異なるプログラムの間で、及び幾つかの記憶装置にわたって分散させることさえ可能である。同様に、作動データを、モジュール内で識別し、ここに示すことができ、いずれかの適切な形態で具体化し、いずれかの適切なタイプのデータ構造内で組織化することができる。作動データは、単一のデータセットとして収集することができ、又は、異なる記憶装置といった異なる場所上で分散させることができ、単にシステム又はネットワーク上の電子信号として、少なくとも部分的に存在することもできる。
【００３１】
本明細書全体にわたる「一実施形態」、「実施形態」、又は類似した語への言及は、その実施形態と共に説明される特定の特徴、構造又は特性が、本発明の少なくとも１つの実施形態の中に含まれていることを意味する。したがって、本明細書全体にわたる「一実施形態において」、「実施形態において」という句及び類似した語の出現は、必ずしもそうとは限らないが、全てが同じ実施形態を指す可能性がある。
【００３２】
信号支持媒体への言及は、信号を生成することができ、信号を生成させることができ、又は、デジタル処理装置上で機械可読命令のプログラムを実行させることが可能ないずれかの形をとることができる。信号支持媒体は、伝送ライン、コンパクト・ディスク、デジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、パンチ・カード、フラッシュ・メモリ、集積回路、その他のデジタル処理装置の記憶装置によって具体化することができる。
【００３３】
さらに、１つ又は複数の実施形態において、本発明の説明される特徴、構造、又は特性を任意の適切な方法で組み合わせることができる。以下の説明において、本発明の実施形態の完全な理解を提供するために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース照会、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップ等の例のような、多数の特定の詳細が提供される。しかしながら、当業者であれば、特定の詳細の１つ又は複数を用いずに、或いは、他の方法、コンポーネント、材料等を用いて、本発明を実施できることを認識するであろう。他の場合には、本発明の態様を分かりにくくするのを避けるために、公知の構造、材料又は作動は、示されず、又は詳細に説明されていない。
【００３４】
図１は、本発明によるデータ処理システム１００の、一実施形態を示す概略的なブロック図である。このシステム１００は、１つ又は複数のデータ処理装置（「ｄａｔａ  ｐｒｏｃｅｓｓｉｎｇ  ｄｅｖｉｃｅ、ＤＰＤ」）１０５、１つ又は複数の通信モジュール１１０、１つ又は複数のストレージ・コントローラ１１５、及び１つ又は複数のＳＶＳ１２０を含む。簡単にするために、システム１００は、２つのＤＰＤ１０５、２つの通信モジュール１１０、２つのストレージ・コントローラ１１５、及び２つのＳＶＳ１２０を有するものとして示されるが、任意の数のＤＰＤ１０５、通信モジュール１１０、ストレージ・コントローラ１１５、及びＳＶＳ１２０を用いることができる。付加的な装置が、システム１００と通信状態にあってもよい。
【００３５】
一実施形態においては、ストレージ・コントローラ１１５及びＳＶＳ１２０が、ストレージ環境１２５を含む。ストレージ環境１２５は、データ処理システム１００についてのデータを格納し、検索する。ＤＰＤ１０５は、１つ又は複数のソフトウェア・プロセスを実行する。さらに、ＤＰＤ１０５は、データをストレージ環境１２５に格納し、データを該ストレージ環境１２５から検索することができる。
【００３６】
ＤＰＤ１０５は、通信モジュール１１０を介してストレージ環境１２５と通信することができる。通信モジュール１１０は、ルータ、ネットワーク・インタフェース、ストレージ・マネージャ、１つ又は複数のインターネット・ポート等とすることができる。通信モジュール１１０は、ＤＰＤ１０５とストレージ環境１２５との間の通信を伝送する。
【００３７】
ストレージ・コントローラ１１５は、ストレージ環境１２５内でデータを格納し、検索する。例えば、当業者には周知のように、ＤＰＤ１０５は、データを第１のストレージ・コントローラ１１５ａに書き込み、第２のストレージ・コントローラ１１５ｂからデータを読み取ることができる。各々のストレージ・コントローラ１１５は、１つ又は複数のディスクを含むことができる。
【００３８】
一実施形態において、ＳＶＳ１２０は、１つ又は複数のストレージ・コントローラ１１５のデータ・ストレージ機能を仮想化する。例えば、第１のＳＶＳ１２０ａは、第１のストレージ・コントローラ１１５ａの論理ボリュームを仮想化し、データ処理システム１００が、論理ボリュームを仮想ディスクとして使用させることができる。仮想ディスクが、論理ボリュームとデータ処理システム１００を区別できないことがある。一実施形態において、第１のＤＰＤ１０５ａは、第１のＳＶＳ１２０ａの仮想ディスクからデータを読み取るように要求することができる。第２の通信モジュール１１０ｂは、その要求を第１のＳＶＳ１２０ａに伝送することができる。第１のＳＶＳ１２０ａは、その要求されたデータを、第１のＳＶＳ１２０ａの仮想ディスクに対応する第１のストレージ・コントローラ１１５ａの論理ボリュームから検索することができる。代替的な例においては、第１のＳＶＳ１２０ａは、１つ又は複数の論理ボリュームを管理ディスクとして仮想化することができる。
【００３９】
第２のＤＰＤ１０５ｂのようなＤＰＤ１０５は、第１の通信モジュール１１０ａを介して、仮想ディスクの容量について、第１のＳＶＳ１２０ａに照会することができる。第１のＳＶＳ１２０ａは、論理ボリュームの容量について、第１のストレージ・コントローラ１１５ａのような論理ボリュームを含むストレージ・コントローラ１１５に照会し、第１のストレージ・コントローラ１１５ａから受け取ったような容量を第２のＤＰＤ１０５ｂに報告する。ストレージ環境１２５の論理ボリューム、仮想ディスク、ディスク及び管理ディスクは、ＤＳＵを構成する。代替的な実施形態においては、第２のＤＰＤ１０５ｂのようなＤＰＤ１０５が、ＤＳＵの容量について、ＳＶＳ１２０又はストレージ・コントローラ１１５のプロキシ・サーバに照会することができる。特定の実施形態においては、プロキシ・サーバは、ＣＩＭ／ＯＭを含むことができる。
【００４０】
残念なことに、第２のＤＰＤ１０５ｂもまた、論理ボリュームの容量について、第１のストレージ・コントローラ１１５ａに照会した場合には、第１のストレージ・コントローラ１１５ａは、論理ボリュームの容量について再応答する。したがって、ＤＰＤ１０５上で動作しているストレージ監視アプリケーションのソフトウェア・プロセスは、第１のストレージ・コントローラ１１５ａの論理ボリューム及び第１のＳＶＳ１２０ａの仮想ディスクのようなＤＳＵからの情報を二重カウントする可能性がある。
【００４１】
本発明の実施形態は、ストレージ環境１２５をマッピングし、ＤＳＵのインスタンスを識別し、対応するＤＳＵのインスタンスを有するＤＳＵのインスタンスにフラグを立てる。さらに、本発明の実施形態は、フラグが立てられていないＤＳＵのインスタンスだけについての監視及び報告をサポートし、ＤＳＵ情報の二重カウントを防止することができる。
【００４２】
図２は、本発明によるストレージ・コントローラ１１５の、一実施形態を示す概略的なブロック図である。ストレージ・コントローラ１１５は、図１のストレージ・コントローラ１１５である。示されるように、ストレージ・コントローラ１１５は、１つ又は複数のストレージ・コントローラ・ポート（「ＳＣポート」）２０５と、１つ又は複数のディスク２１０とを含む。ディスク２１０は、集まって１つ又は複数の論理ボリューム２１５を形成するように示される。ディスク２１０は、ハードディスク・ドライブ、光記憶装置、磁気テープ・ドライブ、電気機械式記憶装置、半導体式記憶装置等とすることができる。
【００４３】
簡単にするために、各々の論理ボリューム２１５は、ディスク全体２１０を含むものとして示されるが、各々のディスク２１０を１つ又は複数の論理パーティションに区分化することができ、各々の論理ボリューム２１５は、１つ又は複数のディスク２１０からの１つ又は複数の論理パーティションを含むことができる。さらに、ストレージ・コントローラ１１５は、４つのＳＣポート２０５、４つのディスク２１０、及び３つの論理ボリューム２１５を有するものとして示されるが、ストレージ・コントローラ１１５は、任意の数のＳＣポート２０５、ディスク２１０及び論理ボリューム２１５を用いることができる。
【００４４】
一実施形態において、ＳＣポート２０５は、ファイバ・チャネル・ポートとして構成される。代替的な実施形態においては、ＳＣポート２０５は、小型コンピュータ・システム・インタフェース（「ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ、ＳＣＳＩ」）ポート、トークン・リング・ポート等として構成される。図１のＤＰＤ１０５のようなＤＰＤ１０５、又は、ＳＶＳ１２０のようなＳＶＳ１２０は、ＳＣポート２０５を介してディスク２１０又は論理ボリュームと通信することによって、データをディスク２１０又は論理ボリューム２１５に格納し、該ディスク２１０又は該論理ボリューム２１５からデータを検索することができる。各々のストレージ・コントローラ１１５及びＳＣポート２０５は、１つ又は複数のＷＷＰＮによって識別することができる。一実施形態において、論理ボリューム２１５は、１つ又は複数のＳＣポート２０５のＷＷＰＮにマッピングされる。
【００４５】
図３は、本発明によるＳＶＳ１２０の概略的なブロック図である。ＳＶＳ１２０は、図１のＳＶＳ１２０である。示されるように、ＳＶＳ１２０は、１つ又は複数の仮想ディスク３０５、１つ又は複数のバックエンド・コントローラ３１０、１つ又は複数の管理ディスク３１５、及び１つ又は複数のＳＶＳポート３２０を含む。簡単にするために、ＳＶＳ１２０は、４つの仮想ディスク３０５、３つのバックエンド・コントローラ３１０、４つの管理ディスク３１５、及び４つのＳＶＳポート３２０を有するものとして示されるが、ＳＶＳ１２０は、任意の数の仮想ディスク３０５、バックエンド・コントローラ３１０、管理ディスク３１５、及びＳＶＳポート３２０を用いることができる。
【００４６】
図１のＤＰＤ１０５のようなＤＰＤ１０５が、ＳＶＳ１２０と通信し、データを仮想ディスク３０５に格納し、該仮想ディスク３０５からデータを検索することができる。仮想ディスク３０５は、図１及び図２のストレージ・コントローラ１１５並びに図２の論理ボリューム２１５のような、ストレージ・コントローラ１１５の論理ボリューム２１５の仮想インスタンスである。仮想ディスク３０５は、物理的にデータを格納するものではない。その代わりに、仮想ディスク３０５は、１つ又は複数の管理ディスク３１５にマッピングされる。各々の管理ディスクは、ストレージ・コントローラ１１５の論理ボリューム２１５にマッピングされる。バックエンド・コントローラ３１０が、仮想ディスク３０５と論理ボリューム２１５との間の通信を管理する。
【００４７】
仮想ディスク３０５に書き込まれたデータは、ノードを介してバックエンド・コントローラ３１０から伝達される。ノードはＨＢＡを含み、該ＨＢＡにはＷＷＰＮが割り当てられている。データは、ＳＶＳポート３２０及び図２のＳＣポート２０５を介して、ノードから論理ボリューム２１５に伝達される。一実施形態において、ＳＶＳポート３２０は、ファイバ・チャネル・ポートとして構成される。ＳＶＳポート３２０は、トークン・リング・ポート、ＳＣＳＩポート等とすることもできる。
【００４８】
同様に、仮想ディスク３０５から読み取られたデータは、ＳＣポート２０５及びＳＶＳポート３２０を介して、論理ボリューム２１５からバックエンド・コントローラ３１０に伝達される。データはさらに、バックエンド・コントローラ３１０からＤＰＤ１０５に伝達することができる。仮想ディスク３０５は、ＤＰＤ１０５には、論理ボリューム２１５のように見える。
【００４９】
一実施形態において、管理ディスク３１５は、論理ボリューム２１５である。ＤＰＤ１０５は、データを管理ディスク３１５に書き込み、該管理ディスク３１５からデータを読み取ることができる。管理ディスク３１５は、データを格納しない。代わりに、管理ディスク３１５への書き込みは、ＳＶＳポート３２０及びＳＣポート２０５を介して、バックエンド・コントローラ３１０からストレージ・コントローラ１１５の論理ボリューム２１５に伝達される。同様に、管理ディスク３１５からデータを読み取る要求が、ＳＶＳポート３２０及びＳＣポート２０５を介して、論理ボリューム２１５に伝達される。論理ボリューム２１５は、ＳＣポート２０５及びＳＶＳポート３２０を介して、データをバックエンド・コントローラ３１０に伝達し、バックエンド・コントローラ３１０は、検索されたデータを伝達することができる。
【００５０】
図４は、本発明のマッピング装置４００の概略的なブロック図である。この装置４００は、図１のＤＰＤ１０５のようなＤＰＤ１０５によって構成することができる。代替的な実施形態においては、装置４００は、図１及び図２のストレージ・コントローラ１１５のようなストレージ・コントローラ１５５、或いは、図１及び図３のＳＶＳ１２０のようなＳＶＳ１２０によって構成することができる。示されるように、この装置４００は、識別モジュール４０５、検査モジュール４１０、フラグ・モジュール４１５、モニタ・モジュール４２０、報告モジュール４２５、及び収集モジュール４３０を含む。検査モジュール４１０、フラグ・モジュール４１５、モニタ・モジュール４２０、報告モジュール４２５、及び収集モジュール４３０は、１つ又は複数のソフトウェア・プロセスとして構成することができる。ここに参照される要素は、図１〜図３の要素である。
【００５１】
識別モジュール４０５は、第１のコントローラのＤＳＵを識別する。一実施形態において、第１のコントローラのＤＳＵは、論理ボリューム２１５であり、第１のコントローラは、ストレージ・コントローラ１１５として構成される。代替的な実施形態においては、第１のコントローラのＤＳＵは、管理ディスク３１５であり、第１のコントローラは、バックエンド・コントローラ３１０である。
【００５２】
検査モジュール４１０は、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査する。例えば、検査モジュール４１０は、ＳＶＳ１２０のノードのＨＢＡのＷＷＰＮに割り当てられた論理ボリューム２１５の存在について検査することができる。代替的な例においては、検査モジュール４１０は、バックエンド・コントローラ３１０のＷＷＰＮに対応するストレージ・コントローラ１１５のＷＷＰＮの存在について検査する。
【００５３】
フラグ・モジュール４１５は、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵが存在する場合には、該第１のコントローラのＤＳＵにフラグを立てる。例えば、フラグ・モジュール４１５は、ＳＶＳ１２０のノードのＨＢＡのＷＷＰＮに割り当てられた論理ボリューム２１５が存在する場合には、論理ボリューム２１５にフラグを立てることができる。代替的な例においては、フラグ・モジュール４１５は、バックエンド・コントローラ３１０のＷＷＰＮに対応するストレージ・コントローラ１１５のＷＷＰＮが存在する場合には、該バックエンド・コントローラ３１０の管理ディスク３１５にフラグを立てることができる。
【００５４】
代替的な実施形態においては、識別モジュール４０５は、第１のコントローラのＤＳＵへの照会を識別する。識別モジュール４０５は、第１のコントローラによって構成することができる。検査モジュール４１０は、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵについて検査することができる。フラグ・モジュール４１５は、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵが存在する場合には、該第１のコントローラのＤＳＵにフラグを立てる。一実施形態において、第１のコントローラは、第１のコントローラのＤＳＵにフラグが立てられた場合、照会に応答しない。
【００５５】
一実施形態において、収集モジュール４３０は、ストレージ・コントローラ１１５の論理ボリューム２１５の各々について、ＷＷＰＮへの複数の論理ボリュームの割り当てを集めるように構成される。収集モジュール４３０は、論理ボリューム２１５のＷＷＰＮの割り当てについて、各々の論理ボリューム２１５をポーリングすることができる。代替的に、収集モジュール４３０は、各々の論理ボリューム２１５のＷＷＰＮの割り当てについて、構成ファイルを調べることができる。
【００５６】
一実施形態において、モニタ・モジュール４２０は、フラグが立てられたＤＳＵを無視しながら、ストレージ環境１２５内のフラグが立てられていないＤＳＵの状態を監視する。例えば、図２の第１の論理ボリューム２１５ａにフラグが立てられているものの、図２の第２及び第３の論理ボリューム２１５ｂ、２１５ｃにフラグが立てられていない場合には、モニタ・モジュール４２０は、第２及び第３の論理ボリューム２１５ｂ、２１５ｃ並びに図３の仮想ディスク３０５を監視できるが、フラグが立てられた第１の論理ボリューム２１５ａは監視しない。
【００５７】
報告モジュール４２５は、フラグが立てられたＤＳＵを無視しながら、ストレージ環境１２５内のフラグが立てられていないＤＳＵの状態を報告することができる。例えば、図３の第１の管理ディスク３１５ａにフラグが立てられているものの、図３の第２、第３及び第４の管理ディスク３１５ｂ−ｄにフラグが立てられていない場合には、報告モジュール４２５は、第２、第３及び第４の管理ディスク３１５ｂ−ｄ並びに図２のディスク２１０の状態を報告することができるが、第１の管理ディスク３１５ａの状態は報告しない。装置４００は、ストレージ環境１２５のＤＳＵを、対応する仮想ＤＳＵにマッピングする。
【００５８】
図５は、本発明によるＤＰＤ１０５の概略的なブロック図である。ＤＰＤ１０５は、プロセッサ・モジュール５０５、キャッシュ・モジュール５１０、メモリ・モジュール５１５、北側ブリッジ・モジュール５２０、南側ブリッジ・モジュール５２５、グラフィックス・モジュール５３０、ディスプレイ・モジュール５３５、基本入力／出力システム（「ＢＩＯＳ」）モジュール５４０、ネットワーク・モジュール５４５、ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ（「ＰＣＩ」）モジュール５６０、及びストレージ・モジュール５６５を含む。当業者には公知のように、ＤＰＤ１０５は、データを処理することができる。一実施形態において、ＤＰＤ１０５は、図１のＤＰＤ１０５である。
【００５９】
ここにコンポーネントとして言及される、プロセッサ・モジュール５０５、キャッシュ・モジュール５１０、メモリ・モジュール５１５、北側ブリッジ・モジュール５２０、南側ブリッジ・モジュール５２５、グラフィックス・モジュール５３０、ディスプレイ・モジュール５３５、ＢＩＯＳモジュール５４０、ネットワーク・モジュール５４５、ＰＣＩモジュール５６０、及びストレージ・モジュール５６５は、１つ又は複数の半導体基板上の半導体ゲートから製造することができる。各々の半導体基板は、回路カード上にマウントされた１つ又は複数の半導体装置内にパッケージすることができる。コンポーネント間の接続は、半導体金属層、基板と基板の間の配線、或いは半導体装置を接続する回路カード・トレース又はワイヤを介するものにすることができる。
【００６０】
メモリ・モジュール５１５は、ソフトウェア命令及びデータを格納する。当業者には公知のように、プロセッサ・モジュール５０５は、ソフトウェアの命令を実行し、データを操作する。一実施形態において、図４の検査モジュール４１０、フラグ・モジュール４１５、モニタ・モジュール４２０、報告モジュール４２５、及び収集モジュール４３０は、プロセッサ・モジュール５０５上で実行している１つ又は複数のソフトウェア・プロセスを含む。さらに、プロセッサ・モジュール５０５が、北側ブリッジ・モジュール５２０、南側ブリッジ・モジュール５２５、及びネットワーク・モジュール５４５を介して、図１の通信モジュール１１０と通信するので、検査モジュール４１０、フラグ・モジュール４１５、モニタ・モジュール４２０、報告モジュール４２５、及び収集モジュール４３０は、図１及び図３のＳＶＳ１２０、並びに、図１及び図２のストレージ・コントローラ１１５と通信することができる。ネットワーク・モジュール５４５は、イーサネット・インタフェース、トークン・リング・インタフェース等として構成することができる。
【００６１】
次の概略的なフローチャート図が、一般に、論理フローチャート図として述べられる。したがって、示される順序及び表記されるステップは、提示される方法の一実施形態を示すものである。機能、論理若しくは結果が、示される方法の１つ又は複数のステップ或いはその一部と同等の他のステップ及び方法を考えることができる。さらに、用いられる形式及び記号は、この方法の論理ステップを説明するために与えられるものであり、この方法の範囲を制限するものではないことが理解される。フローチャート図には、種々の矢印のタイプ及び線のタイプを用い得るが、これらは、対応する方法の範囲を制限するものではないことが理解される。実際には、幾つかの矢印又は他のコネクタを用いて、この方法の論理フローだけを示すことができる。例えば、矢印は、示された方法のエミュレートされたステップ間の不特定の待ち時間又は監視時間を示すことができる。さらに、特定の方法を行う順序は、示された対応するステップの順序を厳密に順守してもしなくてもよい。
【００６２】
図６は、本発明のストレージ環境のマッピング方法６００の一実施形態を示す概略的なフローチャート図である。この方法６００は、実質的に、図１〜図５の説明された装置２００、３００、４００及び５００、並びにシステム１００の作動に関して上記に示された機能を実行するのに必要なステップを含む。参照された要素は、図１〜図５の要素である。
【００６３】
方法６００が開始し、識別モジュール４０５が、第１のコントローラのＤＳＵを識別する（６０５）。一実施形態において、第１のコントローラのＤＳＵは、論理ボリューム２１５であり、第１のコントローラは、ストレージ・コントローラ１１５である。代替的な実施形態においては、第１のコントローラのＤＳＵは、ディスク２１０であり、第１のコントローラは、ストレージ・コントローラ１１５である。
【００６４】
検査モジュール４１０は、第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵを検査する（６１０）。一実施形態において、第２のコントローラのＤＳＵは、第１のコントローラのＤＳＵの仮想化インスタンスである。例えば、第１のコントローラがストレージ・コントローラ１１５であり、第１のコントローラのＤＳＵが論理ボリューム２１５である場合には、第２のコントローラをＳＶＳ１２０とし、第２のコントローラのＤＳＵを仮想ディスク３０５とすることができる。代替的な実施形態においては、第１のコントローラのＤＳＵは、第２のコントローラのＤＳＵの仮想化インスタンスである。例えば、第１のコントローラがバックエンド・コントローラ３１０であり、第１のコントローラのＤＳＵが管理ディスク３１５である場合には、第２のコントローラをストレージ・コントローラ１１５とし、第２のコントローラのＤＳＵをストレージ・コントローラ１１５として構成することもできる。
【００６５】
第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵが存在すると検査モジュール４１０が判断する場合には、フラグ・モジュール４１５が、第１のコントローラのＤＳＵにフラグを立て（６１５）、方法６００を終了する。第１のコントローラのＤＳＵにフラグを立てること（６１５）は、第１のコントローラのＤＳＵの別のインスタンス、又は、監視し、報告することができる、第１のコントローラのＤＳＵを構成する幾つかのインスタンスがあることを示す。したがって、第１のコントローラのＤＳＵの情報を対応する第２のコントローラのＤＳＵから獲得する際にストレージ環境１２５について監視し、報告する監視動作又は報告動作中、第１のコントローラのＤＳＵを無視することができる。
【００６６】
第１のコントローラのＤＳＵに対応する第２のコントローラのＤＳＵがないと検査モジュール４１０が判断した場合（６１０）には、第１のコントローラのＤＳＵにフラグを立てないまま、方法６００を終了する。第１のコントローラのＤＳＵにフラグを立てないことは、第１のコントローラのＤＳＵに他のインスタンスがないことを示す。したがって、ストレージ環境１２５について監視し、報告するときに、第１のコントローラのＤＳＵを監視し、報告すべきである。方法６００は、第２のコントローラのＤＳＵのインスタンスである第１のコントローラのＤＳＵにフラグを立て、単一のインスタンスだけを監視し、報告することを可能にする。
【００６７】
図７は、本発明のストレージ・コントローラのマッピング方法７００の一実施形態を示す概略的なフローチャート図である。この方法７００は、実質的に、図１〜図６の説明された装置２００、３００、４００、５００、システム１００、及び方法６００の作動に関して上記に示された機能を実行するのに必要なステップを含む。参照された要素は、図１〜図５の要素である。
【００６８】
方法７００が開始し、識別モジュール４０５が、ストレージ・コントローラ１１５の論理ボリューム２１５を識別する（７０５）。一実施形態において、識別モジュール４０５は、ストレージ・コントローラ１１５によって管理される全ての論理ボリューム２１５についてストレージ・コントローラ１１５に照会し、かつ、複数の論理ボリューム２１５から論理ボリューム２１５を選択することによって、論理ボリューム２１５を識別する（７０５）。論理ボリューム２１５は、識別モジュール４０５によって、これまで選択されていない可能性がある。
【００６９】
検査モジュール４１０は、ＳＶＳ１２０のノードのＨＢＡのＷＷＰＮに割り当てられた論理ボリューム２１５が存在するかどうかを検査する（７１０）。論理ボリューム２１５がＳＶＳ１２０のノードＨＢＡのＷＷＰＮに割り当てられた場合には、フラグ・モジュール４１５が論理ボリューム２１５にフラグを立て（７１５）、検査モジュール４１０が、全てのストレージ・コントローラ１１５の論理ボリューム２１５が検査されたかどうかを判断する（７２０）。一実施形態において、フラグ・モジュール４１５は、仮想化されたものとして論理ボリューム２１５にフラグを立てる（７１５）。ＳＶＳ１２０のノードのＨＢＡのＷＷＰＮに割り当てられた論理ボリューム２１５がない場合には、検査モジュール４１０が、全てのストレージ・コントローラ１１５の論理ボリューム２１５が検査されたかどうかを判断する（７２０）。一実施形態において、検査モジュール４１０は、複数のストレージ・コントローラ１１５の全ての論理ボリューム２１５が検査されたかどうかを判断する（７２０）。
【００７０】
検査モジュール４１０が、全てのストレージ・コントローラ１１５の論理ボリューム２１５が検査されていないと判断した場合（７２０）には、方法７００は、論理ボリューム２１５を識別する（７０５）識別モジュール４０５にループする。全てのストレージ・コントローラ１１５の論理ボリューム２１５を検査したと検査モジュール４１０が判断した場合（７２０）、モニタ・モジュール４２０は、ストレージ環境１２５内の全ての仮想ディスク３０５及びフラグが立てられていない論理ボリューム２１５を監視することができる（７２５）。例えば、モニタ・モジュール４２０は、仮想ディスク３０５及びフラグが立てられていない論理ボリューム２１５についての情報を集めることができる。
【００７１】
一実施形態において、報告モジュール４２５は、ストレージ環境１２５内の仮想ディスク３０５及びフラグが立てられていない論理ボリューム２１５の状態を報告するが（７３０）、フラグが立てられた論理ボリューム２１５の状態は報告しないまま、方法７００を終了する。フラグが立てられた論理ボリューム２１５の状態を報告しないことによって、報告モジュール４２５は、フラグが立てられた論理ボリューム２１５と、該フラグが立てられた論理ボリューム２１５に対応する仮想ディスク３０５の両方の状態を二重に報告することが回避される。
【００７２】
図８は、本発明のＳＶＳのマッピング方法８００の一実施形態を示す概略的なフローチャート図である。この方法８００は、実質的に、図１〜図６の説明された装置２００、３００、４００、５００、システム１００、及び方法６００の作動に関して上記に示された機能を実行するのに必要なステップを含む。参照された要素は、図１〜図５の要素である。
【００７３】
方法８００が開始し、一実施形態において、収集モジュール４３０が、１つ又は複数のストレージ・コントローラ１１５についてのＷＷＰＮを収集する（８０５）。特定の実施形態において、収集モジュール４３０は、ＷＷＰＮについてストレージ・コントローラ１１５に照会し、ストレージ・コントローラ１１５が、該ＷＷＰＮを収集モジュール４３０に伝達する。
【００７４】
識別モジュール４０５が、ＳＶＳ１２０のバックエンド・コントローラ３１０を識別する（８１０）。一実施形態において、識別モジュール４０５は、ＳＶＳ１２０が構成する全てのバックエンド・コントローラ３１０についてＳＶＳに照会し、かつ、複数のバックエンド・コントローラ３１０からバックエンド・コントローラ３１０を選択することによって、バックエンド・コントローラ３１０を識別する（８１０）。代替的な実施形態において、ＳＶＳ１２０は、周知の数のバックエンド・コントローラ３１０を有し、識別モジュール４０５は、各々のバックエンド・モジュール３１０を識別し（８１０）、順に選択する。選択されたバックエンド・コントローラ３１０は、識別モジュール４０５によってこれまで選択されていいない可能性がある。
【００７５】
検査モジュール４１０が、バックエンド・コントローラ３１０のＷＷＰＮに対応するストレージ・コントローラ１１５のＷＷＰＮが存在するかどうかを検査する（８１５）。バックエンド・コントローラ３１０のＷＷＰＮに対応する、収集されたＷＷＰＮ（８０５）からのストレージ・コントローラ１１５のＷＷＰＮが存在する場合には、フラグ・モジュール４１５が、管理ディスク３１５にフラグを立てる（８２０）。管理ディスク３１５は、バックエンド・コントローラ３１０によって制御され、固有のＷＷＰＮを有するバックエンド・コントローラ３１０のポートを用いて、ストレージ・コントローラ１１５と通信する。一実施形態においては、フラグ・モジュール４１５が、周知のものとして管理ディスク３１５にフラグを立てる（８２０）。
【００７６】
バックエンド・コントローラ３１０のＷＷＰＮに対応する、収集されたＷＷＰＮ（８０５）からのストレージ・コントローラ１１５のＷＷＰＮが存在しない場合には、全てのバックエンド・コントローラ３１０が検査されたかどうかを検査モジュール４１０が判断する（８２５）。一実施形態において、検査モジュール４１０は、複数のＳＶＳ１２０の全てのバックエンド・コントローラ３１０が検査されたかどうかを判断する（８２５）。
【００７７】
全てのバックエンド・コントローラ３１０が検査されていないと検査モジュール４１０が判断した８２５場合には、方法８００は、バックエンド・コントローラ３１０を識別する（８１０）識別モジュール４０５にループする。全てのバックエンド・コントローラ３１０が検査されたと検査モジュール４１０が判断した場合（８２５）には、モニタ・モジュール４２０は、ストレージ環境１２５内の全てのディスク２１０及びフラグが立てられていない管理ディスク３１５を監視することができる（８３０）。例えば、モニタ・モジュール４２０は、ディスク２１０及びフラグが立てられていない管理ディスク３１５についての情報を集めることができる。
【００７８】
一実施形態において、報告モジュール４２５は、ストレージ環境１２５内のディスク２１０及びフラグが立てられていないディスク３１５の状態を報告するが（８３５）、フラグが立てられた管理ディスク３１５の状態は報告しないまま、方法８００を終了する。フラグが立てられた管理ディスク３１５の状態を報告しないことによって、報告モジュール４２５が、フラグが立てられた管理ディスク３１５と、該管理ディスク３１５に対応するディスク２１０の両方の状態を二重に報告することを回避する。
【００７９】
図９は、本発明のＳＶＳマッピング方法９００の１つの代替的な実施形態を示す概略的なフローチャート図である。この方法９００は、実質的には、図１〜図６の説明された装置２００、３００、４００、５００、システム１００、及び方法６００の作動に関して上記に示された機能を実行するのに必要なステップを含む。参照された要素は、図１〜図５の要素である。
【００８０】
方法９００が開始し、一実施形態において、収集モジュール４３０が、１つ又は複数のストレージ・コントローラ１１５の１つ又は複数の論理ボリューム２１５についてのＷＷＰＮに対する、論理ボリューム２１５の割り当てを収集する（９０５）。特定の実施形態において、収集モジュール４３０は、各々の論理ボリューム２１５のＷＷＰＮの割り当てについて、ストレージ・コントローラ１１５に照会し、ストレージ・コントローラ１１５が、該割り当てを収集モジュール４３０に伝達する。
【００８１】
識別モジュール４０５が、管理ディスク３１５についてのＳＶＳポート３２０を識別する（９１０）。一実施形態において、識別モジュール４０５は、ＳＶＳ１２０に照会して各々のＳＶＳ１２０の管理ディスク３１５を識別し、管理ディスク３１５を選択し、管理ディスク３１５のＳＶＳポート３２０のＷＷＰＮについてＳＶＳ１２０に照会する。選択された管理ディスク３１５のＳＶＳポート３２０は、識別モジュール４０５によってこれまで選択されていない可能性がある。
【００８２】
検査モジュール４１０は、ストレージ・コントローラ１１５の論理ボリューム２１５に割り当てられたＳＶＳポート３２０のＷＷＰＮが存在するかどうかを検査する（９１５）。ストレージ・コントローラ１１５の論理ボリューム２１５に割り当てられたＳＶＳポート３２０のＷＷＰＮが存在する場合には、フラグ・モジュール４１５が、管理ディスク３１５にフラグを立てる（９２０）。一実施形態においては、周知のように、フラグ・モジュール４１５が、管理ディスク３１５にフラグを立てる（９２０）。
【００８３】
ストレージ・コントローラ１１５の論理ボリューム２１５に割り当てられたＳＶＳポート３２０のＷＷＰＮが存在しない場合には、全ての管理ディスク３１５が検査されたかどうかを検査モジュール４１０が判断する(９２５)。一実施形態においては、複数のＳＶＳ１２０の全ての管理ディスク３１５が検査されたかどうかを検査モジュール４１０が判断する（９２５）。
【００８４】
全ての管理ディスク３１５は検査されなかったと検査モジュール４１０が判断した（９２５）場合には、方法９００は、ＳＶＳポート３２０を識別する（９１０）識別モジュール４０５にループする。全ての管理ディスク３１５を検査したと検査モジュール４１０が判断する（９２５）場合には、モニタ・モジュール４２０は、ストレージ環境１２５内の全てのディスク２１０及びフラグが立てられていない管理ディスク３１５を監視することができる（９３０）。
【００８５】
一実施形態において、報告モジュール４２５は、ストレージ環境１２５内のディスク２１０及びフラグが立てられていない管理ディスク３１５の状態を報告するが（９３０）、フラグが立てられた管理ディスク３１５の状態を報告しないまま、方法９００を終了する。
【００８６】
図１０は、本発明の論理ボリューム・マッピング方法１０００の一実施形態を示す概略的なブロック図である。図１及び図２のストレージ・コントローラ１１５のようなストレージ・コントローラ１１５が、図２のディスク２１０のような２つのディスク２１０を含む。第１のディスク２１０ａが、第１及び第２の論理パーティション１０１０ａ、１０１０ｂに分割される。第２のディスク２１０ｂが、単一の第３の論理パーティション１０１０ｃを含む。クロスハッチで示されるように、第２及び第３の論理パーティション１０１０ｂ、１０１０ｃが、論理ボリューム２１５として集約される。
【００８７】
ＳＶＳ１２０は、論理ボリューム２１５を管理ディスク３１５として仮想化する。ＳＶＳ１２０は、１組の管理ディスク３１５を仮想ディスク３０５として提示する。仮想ディスク３０５は、図３のＳＶＳポート３２０及び図２のＳＣポート２０５のようなＳＶＳポート３２０及びＳＣポート２０５を介して、論理ボリューム２１５と通信する。図７の方法７００等によって、論理ボリューム２１５にフラグが立てられた（７２５）場合には、仮想ディスク３０５だけが監視され（７２５）、報告され（７３０）、論理ボリューム２１５及び仮想ディスク３０５の二重カウントを防止する。
【００８８】
図１１は、本発明のディスク・マッピング１１００の一実施形態を示す概略的なブロック図である。図１、図２及び図１０のストレージ・コントローラ１１５のようなストレージ・コントローラ１１５が、図２及び図１０のディスクのような２つのディスク２１０を有するものとして構成される。ディスク２１０は、論理ボリューム２１５を含む。図１、図３及び図１０のＳＶＳ１２０のようなＳＶＳ１２０が、図３及び図１０のバックエンド・コントローラ３１０のようなバックエンド・コントローラ３１０を含む。バックエンド・コントローラ３１０は、論理ボリューム２１５を、図３の管理ディスク３１５のような管理ディスク３１５として仮想化する。バックエンド・コントローラ３１０は、図３及び図１０のＳＶＳポート３２０並びに図２及び図１０のＳＣポート２０５のようなＳＶＳポート３２０及びＳＣポート２０５を介して、管理ディスク３１５に書き込まれたデータを、ディスク２１０上に常駐する論理ボリューム２１５に書き込む。同様に、バックエンド・コントローラ３１０は、ＤＰＤ１０５のようなＤＰＤ１０５が管理ディスク３１５からデータを読み取るとき、論理ボリューム２１５から読み取られたデータを伝達する。
【００８９】
このように、管理ディスク３１５が、論理ボリューム２１５を仮想化する。図８の方法８００又は図９の方法９００等によって、管理ディスク３１５にフラグが立てられた場合（８２０、９２０）には、第１のディスク２１０ａ及び第２のディスク２１０ｂだけが監視され（８３０、９３０）、報告される（８３５、９３５）。管理ディスク３１５を無視することにより、該管理ディスク３１５並びに第１のディスク２１０ａ及び第２のディスク２１０ｂを二重カウントすることが防止される。
【００９０】
本発明の実施形態は、ＤＳＵのインスタンスをＤＳＵの仮想化インスタンスにマッピングし、１つのＤＳＵのインスタンスにフラグを立てるというものである。さらに、本発明の実施形態は、フラグが立てられていないＤＳＵについての情報の監視及び報告をサポートし、ＤＳＵの情報を二重カウントすることを防止することができる。
【００９１】
本発明は、その精神又は本質的な特性から逸脱することなく、他の特定の形態で具体化することができる。説明された実施形態は、あらゆる点で、制限ではなく、例示としてのみ考えるべきである。したがって、本発明の範囲は、上記の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲の均等物の意味及び範囲内に入る全ての変更をその範囲内に含めるべきである。
【図面の簡単な説明】
【００９２】
【図１】本発明によるデータ処理システムの一実施形態を示す概略的なブロック図である。
【図２】本発明によるストレージ・コントローラの一実施形態を示す概略的なブロック図である。
【図３】本発明によるＳＶＳの概略的なブロック図である。
【図４】本発明のマッピング装置の概略的なブロック図である。
【図５】本発明によるデータ処理装置の概略的なブロック図である。
【図６】本発明のストレージ環境のマッピング方法の一実施形態を示す概略的なフローチャート図である。
【図７】本発明のストレージ・コントローラのマッピング方法の一実施形態を示す概略的なフローチャート図である。
【図８】本発明のＳＶＳのマッピング方法の一実施形態を示す概略的なフローチャート図である。
【図９】本発明のＳＶＳのマッピング方法の１つの代替的な実施形態を示す概略的なフローチャート図である。
【図１０】本発明の論理ボリュームのマッピングの一実施形態を示す概略的なブロック図である。
【図１１】本発明のディスクのマッピングの一実施形態を示す概略的なブロック図である。
【符号の説明】
【００９３】
１００：データ処理システム
１０５：データ処理装置
１１０：通信モジュール
１１５：ストレージ・コントローラ
１２０：ストレージ仮想化システム
１２５：ストレージ環境
２１０：ディスク
２１５：論理ボリューム
３０５：仮想ディスク
【図１】
2007115250.tif 000003
【図２】
2007115250.tif 000004
【図３】
2007115250.tif 000005
【図４】
2007115250.tif 000006
【図５】
2007115250.tif 000007
【図６】
2007115250.tif 000008
【図７】
2007115250.tif 000009
【図８】
2007115250.tif 000010
【図９】
2007115250.tif 000011
【図１０】
2007115250.tif 000012
【図１１】
2007115250.tif 000013