(57)【要約】      （修正有）【課題】ストレージシステムとＳＡＮの構成の設定作業を簡易化する方法を提供する。【解決手段】ストレージコントローラを備えるストレージシステムがホストコンピュータにされている。ストレージコントローラはストレージシステムのディスクドライブから論理デバイスのグループを定義する論理デバイスマネジャを備え、各々の論理デバイスは少なくともディスクドライブの一部を含むストレージエリアが割り当てられている。仮想デバイスマネジャは論理デバイスのグループから仮想デバイスを定義し、論理デバイスと仮想デバイス間の関係の記録を維持する。当該ストレージシステムに以前にアクセスしたことのないホストからのデータオペレーションの要求をそのストレージシステムが受信すると、仮想デバイスマネジャはそのホストによるアクセス用に仮想デバイスを定義し仮想デバイスに対し論理デバイスを割り当てる。【選択図】図１
2007102760.tif 000002
【特許請求の範囲】
【請求項１】
ストレージシステムへの指示に応じてデータを保存する複数の情報ストレージ媒体と、
前記の複数の情報ストレージ媒体と接続し、
前記の複数の情報ストレージ媒体から、少なくとも前記の複数の情報ストレージ媒体の一つの一部を各々が有する複数の論理デバイスを定義し、前記の論理デバイスと前記の情報ストレージ媒体との関係を、論理デバイス構成テーブルを用いて定義し維持する論理デバイスマネジャと、
前記の複数の論理デバイスから、各々が少なくとも1つの論理デバイスの少なくとも一部を含む複数の仮想デバイスを定義し、前記の論理デバイスと前記の仮想デバイスとの関係を、仮想デバイス構成テーブルを用いて定義し維持する仮想デバイスマネジャとを備えるストレージコントローラを備え、
前記のストレージシステムに以前にアクセスしたことのないホストからのデータオペレーションの要求を前記のストレージシステムが受信すると、前記の仮想デバイスマネジャは前記のホストからのアクセスのために少なくとも1つの仮想デバイスを定義し、前記の仮想デバイスを前記の仮想デバイス構成テーブルに登録し、また前記の少なくとも1つの論理デバイスの各々に少なくとも1つの論理ユニット番号を割り当てることを特徴とするストレージシステム。
【請求項２】
論理ユニットマッピングテーブルをさらに備え、前記のテーブルは前記のホスト、前記の仮想デバイスおよび対応する論理デバイスの識別番号を保存することを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記のデータオペレーションが前記の論理デバイスに割り当てられたアドレスへの書き込みオペレーションであった場合は、書き込みが実行され、また前記のアドレスが前記の論理デバイスに対して未割り当てであった場合は、フリーのブロックが選択されて書き込みに対して割り当てられ、前記の仮想デバイス構成テーブルが更新されることを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記のデータオペレーションが読み出しオペレーションであり前記のアドレスが前記の論理デバイスに割り当て済みであった場合は、読み出しが実行され、前記のアドレスが前記の論理デバイスに対して未割り当てであった場合は、ダミーのデータが読み出しに応答して返されることを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記のデータオペレーション要求を前記のストレージシステムに以前にアクセスしたことのないホストから受信したとき、前記の仮想デバイスマネジャが所定の数の仮想デバイスを前記のホストからのアクセスのために定義し、前記の仮想デバイス構成テーブルにこれらの各仮想デバイスを登録し、また論理ユニット番号をこれらの各仮想デバイスに割り当てることを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記の仮想デバイスの使用を停止する要求を前記のホストから前記のストレージシステムが受信したとき、前記の仮想デバイスマネジャが割り当てられた論理ユニットを前記の仮想デバイス構成テーブルから削除し、前記のユニットを使用可能論理ユニットリストに返し、次いで前記の仮想デバイスを削除することを特徴とする請求項１に記載のストレージシステム。
【請求項７】
前記の仮想デバイスが、前記の仮想デバイス構成テーブルに登録されたホストに加えて第２のホストと共有されるものである場合、前記の仮想デバイスマネジャは前記の仮想デバイスを前記の第２のホストからアクセス可能として定義し、前記の仮想デバイスを再度前記の仮想デバイス構成テーブルにさらなるエントリーとして登録し、少なくとも１つの論理ユニット番号を前記の第２のホストに割り当てることを特徴とする請求項１に記載のストレージシステム。
【請求項８】
前記の論理デバイス構成テーブルが論理デバイス番号と前記の論理デバイス番号に割り当てられたディスク識別番号を含むことを特徴とする請求項１に記載のストレージシステム。
【請求項９】
前記の論理デバイス構成テーブルがさらにこの論理デバイスのＲＡＩＤレベルの表示とストライプサイズの指定を含むことを特徴とする請求項８に記載のストレージシステム。
【請求項１０】
前記のストレージコントローラがホストと論理ユニットとの間の関係を定義する論理ユニットマッピングテーブルを保持し、少なくとも１つのワールドワイドネームを使用して前記のホストが以前に前記のストレージシステムにアクセスしたことがあるか否かが判定されることを特徴とする請求項１に記載のストレージシステム。
【請求項１１】
前記のストレージシステムが前記のホストにより以前にアクセスされたことがなかった場合は、論理ユニットマッピングテーブルに前記のホストのために新しいエントリーが作成されることを特徴とする請求項１０に記載のストレージシステム。
【請求項１２】
ストレージシステムに対して与えられた指示に応じてデータを保存する第１と第２の複数の情報ストレージ媒体と、
第１のストレージエリアネットワークコントローラは前記の第１の複数の情報ストレージ媒体と結合し、第２のストレージエリアネットワークコントローラは前記の第２の複数の情報ストレージ媒体と結合しており、第１と第２のストレージエリアネットワークコントローラの各々はホストからのデータオペレーションを受信するために結合しており、前記の第１と第２のストレージエリアネットワークコントローラの各々が、
各々が前記の複数の情報ストレージ媒体の一つの少なくとも一部を含む複数の論理デバイスを、前記の複数の情報ストレージ媒体から定義し、前記の論理デバイスと前記の情報ストレージ媒体との関係を、論理デバイス構成テーブルを用いて定義し維持する論理デバイスマネジャと、
前記の複数の論理デバイスから、各々が少なくとも前記の１つの論理デバイスの少なくとも一部を含む複数の仮想デバイスを定義し、前記の論理デバイスと前記の仮想デバイスの関係を、仮想デバイス構成テーブルを用いて定義して維持し、前記のホストによるアクセスのために少なくとも１つの仮想デバイスを定義して前記の仮想デバイス構成テーブルに登録し、前記の少なくとも１つの論理デバイスの各々に対して少なくとも１つの論理ユニット番号を割り当てる仮想デバイスマネジャとを備えている、第１と第２のストレージエリアネットワークコントローラとを備え、
ホストからのデータオペレーション要求を前記の第１と第２のストレージエリアネットワークコントローラの１つが受信したとき、前記の要求が送られる前記の論理デバイスが前記のストレージエリアコントローラと関連付けられた前記の複数の情報ストレージ媒体の中にあるかが判定され、その中になかった場合は、前記の要求がもう１つのストレージエリアネットワークコントローラに転送されることを特徴とするストレージシステム。
【請求項１３】
ストレージシステムのストレージデバイスをホストコンピュータによるアクセスのために割り当てる方法であって、
複数の情報ストレージ媒体から、各々が少なくとも前記の情報ストレージ媒体の１つの一部を含む複数の論理デバイスを定義するステップと、
前記の論理デバイスと前記の情報ストレージ媒体との関係の記録を維持するステップと、
前記の複数の論理デバイスから、各々が少なくとも前記の論理デバイスの１つの少なくとも一部を含む複数の仮想デバイスを定義するステップと、
前記の仮想デバイスと前記の論理デバイスの関係を維持するステップとを備え、
前記のストレージシステムに以前にアクセスしたことのないホストからのデータオペレーション要求を前記のストレージシステムが受信すると、少なくとも１つの仮想デバイスが前記のホストによるアクセスのために定義され、少なくとも１つの論理ユニット番号が前記の仮想デバイスに対して割り当てられることを特徴とする方法。
【請求項１４】
前記の論理デバイスと前記の情報ストレージ媒体との関係の記録を維持するステップが前記の関係を定義するために論理デバイス構成テーブルを用いるステップを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記の仮想デバイスと前記の論理デバイスとの関係の記録を維持するステップが前記の関係を定義するために仮想デバイス構成テーブルを用いるステップを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記の方法がホストコンピュータ、前記のホストからアクセス可能な前記の仮想デバイス、及び前記の仮想デバイスと関係付けられた論理デバイスの識別情報を論理ユニットマッピングテーブルに保存するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
アドレスへの書き込みオペレーションを実行するとき、前記のアドレスが論理デバイスに対して割り当て済みであるか否かを判定するステップと、
前記のアドレスが論理デバイスに対して未割り当ての場合、ストレージのフリーブロックが選択されデータの保存のために割り当てられ、前記の仮想デバイス構成テーブルが更新されるステップを
さらに備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
アドレスへの読み出しオペレーションを実行するとき、対象アドレスが論理デバイスに割り当て済みであるか否かを判定するステップと、
前記のアドレスが論理アドレスに未割り当てであった場合、ストレージのフリーブロックが選択されダミーデータが前記の読み出しオペレーションへの応答として返されるステップを
さらに備えることを特徴とする請求項１６に記載の方法。
【請求項１９】
前記のストレージシステムに以前にアクセスしたことのないホストからのデータオペレーション要求を前記のストレージシステムが受信する時のステップが更に、
所定の数の仮想デバイスを前記のホストによるアクセスのために定義し、各々のそれらの仮想デバイスを前記の仮想デバイス構成テーブルに登録し、論理ユニット番号を前記の各論理デバイスに割り当てるステップを備えることを特徴とする請求項１３に記載の方法。
【請求項２０】
仮想デバイスの使用を停止する要求に応じて、前記の仮想デバイスに割り当てられた全ての論理ユニットを前記の仮想デバイス構成テーブルから削除するステップと、
前記の論理ユニットを使用可能論理ユニットリストに返すステップと、
前記の仮想デバイス構成テーブルから前記の仮想デバイスを削除するステップとをさらに備えることを特徴とする請求項１５に記載の方法。
【請求項２１】
仮想デバイスが追加のホストと共有される時に、
前記の仮想デバイスを前記の追加のホストからアクセス可能と定義するステップと、
前記の仮想デバイスを前記の仮想デバイス構成テーブルに登録するステップと、
前記の追加のホストに対して少なくとも1つの論理ユニットを前記の仮想デバイスに割り当てるステップをさらに備えることを特徴とする請求項２０に記載の方法。
【請求項２２】
ホストと論理ユニット間の関係を定義する論理ユニットマッピングテーブルを維持するステップと、
少なくとも１つのワールドワイドネームを使用して前記のホストが以前に前記のストレージシステムにアクセスしたことがあるかを判定するステップとをさらに備えることを特徴とする請求項１３に記載の方法。
【請求項２３】
前記のホストが以前に前記のストレージシステムにアクセスしたことがあるかを判定するステップが、アクセスしたことはないという結果だった場合、前記の論理ユニットマッピングテーブルに新しいエントリーを前記のホストのために作成するステップをさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２４】
少なくとも複数のストレージエリアネットワークコントローラを介して複数のストレージシステムに接続する複数のホストコンピュータを備え、各々が、仮想ユニットに割り当てることが可能な論理ユニットに割り当てることが可能である複数のストレージ媒体を備えるストレージシステムのストレージデバイスを割り当てする方法において、
前記の複数のストレージ媒体から、各々が少なくとも１つのストレージ媒体を含む複数の論理デバイスを定義するステップと、
論理デバイス構成テーブルを用いて前記の論理デバイスと前記のストレージ媒体との関係を記録し維持するステップと、
前記の複数の論理デバイスから、各々が少なくとも論理デバイスの１つの少なくとも一部を含む複数の仮想デバイスを定義するステップと、
仮想デバイス構成テーブルを用いて前記の論理デバイスと前記の仮想デバイスの関係を記録し維持するステップと、
ホストからのアクセスのために少なくとも１つの仮想デバイスを定義するステップと、
前記の仮想デバイスを前記の仮想デバイス構成テーブルに登録するステップと、
少なくとも１つの論理ユニット番号を、前記の複数のストレージ媒体から複数の論理デバイスを定義するステップで選択された論理デバイスの各々に割り当てるステップと、
要求された仮想デバイスに対するデータオペレーションの要求をホストから前記のストレージエリアネットワークコントローラの１つが受信したとき、前記の仮想デバイスのために定義された前記の論理デバイスが前記のストレージエリアコントローラに接続されているかを判定し、もし接続されていなかった場合は前記の要求を他のストレージエリアネットワークコントローラへ転送するステップとからなることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明はストレージエリアネットワークにおいて論理デバイスをホストコンピュータへ自動的に割り当てる技術に関する。
【背景技術】
【０００２】
０００２    現在、膨大な量のテキスト、映像、画像、および音声の情報を含むデータ処理に世界中の組織体が携わっている。この種の情報は日々に分類され、保存され、アクセスされ、転送されている。これらの情報の量は急速に増え続けている。これらの膨大な量の情報を管理する１つの技術がストレージシステムを使用することである。ストレージシステムは多数のハードディスクドライブを備え、これらのドライブはこの膨大な量のデータを記録し、バックアップし、再生することを可能とするための様々な制御機構の下で動作している。
【特許文献１】米国特許６，７７９，０８３号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
０００３    通常、ストレージエリアネットワーク（一般にＳＡＮとして知られる）はホストコンピュータとストレージデバイスを互いに接続する相互接続手段を用いて構築される。典型的な相互接続手段はイーサネット（登録商標）あるいはファイバチャネルを用いて提供される。このような手法によって、全てのストレージデバイスが全てのホストコンピュータからアクセス可能になるが、時としてストレージ管理が高度に複雑なものとなってしまう。通常、ユーザが、ストレージデバイスをホストコンピュータに接続されるストレージシステムに備えるとき、それが物理ストレージデバイスあるいは論理ストレージデバイスの特徴付けられるものであっても、様々な構成設定作業が必要となる。例えば、ユーザまたは保守技術者は通常ファイバチャネルスイッチまたはインタネットプロトコルのスイッチとルータを用いて、当該ホストコンピュータによってアクセスされるストレージデバイスが他のホストコンピュータからはアクセスされないように、ストレージネットワークを構築することを必要とする。ストレージ構成が巨大なものであった場合、この構成設定作業は複雑なものとなりうる。ホストコンピュータに割り当てられるストレージデバイスが論理ストレージデバイスである場合、ユーザまたは保守技術者はまず、通常ストレージシステムの管理コンソールを用いて論理ストレージデバイスを構成設定しなければならない。この種の構成設定作業はまた複雑である。少なくとも１つの参照文献、米国特許６，７７９，０８３号には、特定のホストコンピュータグループから論理ユニットあるいは論理デバイスへのアクセスを可能にする方法が論じられている。次に、特定のホストコンピュータを特定の論理ユニットにアクセス可能にするアクセス情報がシステムのユーザから提供される。これは明らかに時間を消耗し、複雑なタスクであり、誤りを起こしやすい。
【０００４】
０００４    ストレージシステムとストレージエリアネットワークの構成を設定し、その構成設定作業を簡単にするように改良された技術が求められている。
【課題を解決するための手段】
【０００５】
０００５    １つの実施例では、本発明によるシステムは複数のホストコンピュータと少なくとも１つのストレージシステムを備えている。各ホストは、通常ファイバチャネルあるいはイーサネット（登録商標）のストレージエリアネットワークを用いてストレージシステムに接続している。ホストコンピュータがストレージエリアネットワークに接続する時はいつも、ストレージシステムはそのホストコンピュータ専用で他のホストからはアクセスできない一式の仮想デバイスを配置する。
【０００６】
０００６    他の実施例では、システムは複数のホストコンピュータと複数のストレージデバイスと少なくとも１台のストレージエリアネットワークコントローラを備えている。各ホスト、各ストレージデバイス及びコントローラはストレージエリアネットワーク内で相互に接続している。ホストコンピュータがストレージエリアネットワークに接続すると、コントローラはそのホストコンピュータ専用の一式の仮想デバイスを配置し、この仮想デバイスは他のホストからアクセスすることはできない。さらに、複数のホストコンピュータがストレージエリアネットワークに接続するとき、複数の論理デバイスが自動的に生成され、これらの各々のデバイスは他のホストからアクセスすることはできない。その結果、ユーザまたはストレージ管理者がストレージシステムの構成を設定して論理デバイスを生成する必要がなくなる。
【０００７】
０００７    好適なる実施例によるストレージシステムは、ストレージシステムに与えられた指示に応えてデータを保存するための一式の情報記憶媒体、通常はハードディスクドライブ、とハードディスクドライブに接続されたストレージコントローラを備えていることが望ましい。ストレージコントローラは複数のハードディスクドライブの中から論理デバイスのグループを定義する論理デバイスマネジャを備えている。各論理デバイス（ＬＤＥＶ）は1台のハードディスクドライブの少なくとも一部を含むストレージ領域を割り当てられ、論理デバイスマネジャは論理デバイスと物理ハードディスクドライブとの関係の記録を、例えばこれらの関係を記録した論理デバイス構成テーブルを用いて保持している。
【０００８】
０００８    本システムはまた論理デバイスのグループから仮想デバイスを定義する仮想デバイスマネジャを備えている。各仮想デバイス（ＶＤＥＶ）は論理デバイスの１つの少なくとも一部を含み、仮想デバイスマネジャは論理デバイスと仮想デバイスとの関係の記録を、例えば仮想デバイス構成テーブルを用いて保持している。以前に当該ストレージシステムにアクセスしたことのないホストからのデータオペレーション要求を、ストレージシステムが受けると、仮想デバイスマネジャは少なくとも１つの仮想デバイスをそのホストからのアクセス用に定義し、その仮想デバイスを仮想デバイス構成テーブルに登録し、すくなとも１つの論理ユニットを仮想デバイスに割り当てる。
【発明を実施するための最良の形態】
【０００９】
００３１    図１は本発明が適用された典型的な情報処理システムの構成を示すブロック図である。図１に示すように、本システムはホストコンピュータ１を備えており、その各々は通常、例えば世界中の多くの供給業者が提供する、従来から入手可能なコンピュータシステムである。これらのコンピュータシステムは中央処理ユニット、メモリ、外部機器と通信するためのホストバスアダプタ、ネットワークインタフェースなどを備えている。示されている実施例では、ホスト１はファイバチャネルスイッチ４を介してまたは直接にストレージシステム２に接続している。図１に示すように、ファイバチャネルスイッチ４はこれらの接続の備えの為には必要ではないが、これらのファイバチャネルスイッチは複数のホストと複数のストレージシステムの複雑な相互接続を実現するためによく使用される。これについては以下に後で論ずる。
【００１０】
００３２    図１に示したストレージシステム２は多種の構成部分を備えており、その多くは公知である。ここでの論議で最も重要なことに、ストレージシステムは通常、ハードディスクドライブ３０の所望のアレイに結合するディスクコントローラ２０を備えている。コントローラとディスクドライブはしばしば各種の“Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ”（ＲＡＩＤ）構成を実現するように構成され、高信頼度のデータストレージを提供している。ディスク３０は通常は小型コンピュータシステムインタフェース（ＳＣＳＩ）ハードディスクドライブまたは、世界中の市場で商業的に入手可能な他の構成のハードディスクドライブとして提供される。
【００１１】
００３３    ディスクコントローラ２０は図１に示すように多種の構成部分を備えている。ディスクコントローラ２０は通常ＣＰＵ２１、ハードディスクドライブへのインタフェース２２、ディスク３０に書き込むデータを一時的に保存するキャッシュメモリを備えている。通常、ディスクコントローラ２０はまた不揮発性メモリ、例えばバッテリでバックアップされたランダムアクセスメモリを備えており、図では不揮発ランダムアクセスメモリ（ＮＶＲＡＭ）２６として示されている。ディスクコントローラはファイバチャネルインタフェース２４を使用して多種のホストおよびファイバチャネルスイッチとインタフェースをとっている。ストレージシステム２へデータが他の形式で送られる場合、もちろん、インタフェース２４はそれらのフォーマットを備えることができ、ホストからのデータが最終的にはハードディスク３０に保存可能となる。これらのストレージシステムにおける他のデータ通信フォーマットの例としてはイーサネット（登録商標）あるいはいわゆるインタネットプロトコルのストレージエリアネットワークがある。管理コンソール５は通常ディスクコントローラ２０と接続し、コントローラ及び関連するハードディスクの構成設定を可能にしている。メモリ２３は通常入出力プロセス２３３、仮想デバイスマネジャ２３２、および論理デバイスマネジャ２３１に対してストレージを提供する。
【００１２】
００３４    ディスクコントローラ２０はハードディスク３０を違った観点から見るように構成されている。特にストレージコントローラ２０はディスクアレイが仮想デバイス、論理デバイスおよび物理デバイスからできているものと認識する。物理デバイスは、図１の参照番号３０で示されているような単一のハードディスクドライブである。論理デバイスは通常は複数の物理デバイスあるいは複数の物理デバイスの部分からなるものとしてディスクコントローラにより構成される。論理デバイスの典型的な実施例を図２に示す。そこに示すように、単一の論理デバイス３１は４つの物理デバイス３０−１、３０−２、３０−３および３０−４よりなっている。各個別の物理デバイス自身が、例えば３０−１が、普通ストライプと呼ばれるものを備えている。ストライプとはＲＡＩＤ構成テーブルにおける所定の長さあるいはディスクブロック領域である。例えば、図２においてディスクユニット３０−１はストライプ１−１、１−２、１−３、および１−５を備えている。典型的なＲＡＩＤ実施例では物理ディスク３０−１の一部を用いてエラー検出及び訂正用のパリティデータが備えられる。このパリティデータはストライプＰ４に保存される。
【００１３】
００３５    上記にて論じた物理および論理デバイスに加えて、ディスクコントローラはそれに関連付けられたデータを仮想デバイスに保存されたものとしても見ることができる。仮想デバイスは1つの論理デバイスの少なくとも一部を含んでいる。ホストコンピュータ１から見ると、これらのコンピュータは仮想デバイスを“見る”だけで、これらの仮想デバイスに基づく論理ブロックアドレス（ＬＢＡ）を用いて入出力要求を発行する。ディスクコントローラ２０はこれらの要求を論理デバイスのＬＢＡに変換して論理デバイスにアクセスし、次に物理ディスクドライブ自体にアクセスする。
【００１４】
００３６    ディスクコントローラ２０のメモリには少なくとも３種類のソフトウェアが存在する。論理デバイスマネジャ２３１は物理ディスク３０の中から論理デバイスを生成することにかかわるソフトウェアである。このソフトウェアにより論理デバイスと物理ディスク３０の間のマッピング、すなわち関係付けが可能となる。図３に、ＲＡＩＤ構成テーブル４００の説明の中でこのマッピングの例を示す。本テーブルは論理デバイスマネジャ２３１により管理される。図３において、テーブル４００の各行は各論理デバイスの情報を含んでいる。示されているように各論理デバイスは自身に固有の番号を備え、論理デバイス（ＬＤＥＶ）番号としてテーブルに記されている。テーブルはまた列４０２を備えている。この列には共に論理デバイスを構築するディスク番号が記載されている。各ディスクには固有の番号が与えられている。例えば、テーブル４００では論理デバイス１は物理ディスク５，６，７及び８から構築されている。テーブルはまたＲＡＩＤレベルの指定４０３も備えている。ＲＡＩＤレベルは、そのディスクがどのＲＡＩＤプロトコルに則っているかを特定する、通常０から６までの数字である。テーブルはまたストライプの大きさを示す列４０４を備えている。好適なる実施例において、ＲＡＩＤレベル、ＲＡＩＤグループを構成するディスクの数およびストライプの大きさは全て所定の数値である。ストレージシステムを使用する前に、ユーザまたは保守技術者がこれらの数値を設定することができる。これらの数値を設定した後、ユーザがディスクを増設すると、ＲＡＩＤグループと論理デバイスの番号が自動的に生成される。他の実施例では、ユーザが各数値、各ＲＡＩＤレベル、各ＲＡＩＤグループのディスクの数およびストライプの大きさを設定し変更することができる。
【００１５】
００３７    ストレージシステム２のメモリ２３はまた仮想デバイスマネジャ２３２を備えている。仮想デバイスマネジャ２３２は論理デバイスから仮想デバイスを生成し、論理デバイスの領域と仮想デバイスの領域とのマッピング（関係）を管理する。代表的な例を図４に示す。図４に示すように、仮想デバイスの各領域は論理デバイスの1つの領域にマッピングされる。２つ以上の論理デバイスを各仮想デバイスにマッピングすることが可能である。例えば、仮想デバイス３５の領域３５１が“ＬＤＥＶ  ０”と指定される論理デバイスの領域３２１にマッピングされているものとして描かれている。同様に、仮想デバイス３５の領域３５２は論理デバイス“ＬＤＥＶ  １”の領域３３１にマッピングされている。仮想デバイスが生成されたとき、任意のＩ／Ｏオペレーションが発生する前には論理デバイスの領域にマッピングされた仮想デバイスの領域は存在しない。しかしながら、ホストがＩ／Ｏ要求を仮想デバイスの領域に発行すると、以下により詳細に説明するように、仮想デバイスマネジャ２３２は論理デバイスの1つからフリー領域を、Ｉ／Ｏ要求が向けられる仮想デバイスの領域に対応するものとして割り当てる。
【００１６】
００３８    図５に好適なる実施例における仮想デバイス構成テーブル４５０を示す。本テーブル４５０は各仮想デバイスに存在する。各行は仮想デバイスの各領域の最初と最後である始点ＬＢＡ４５１と終端ＬＢＡ４５２、論理デバイス番号４５３、及び論理デバイスのデータに対応する始点ＬＢＡ４５４と終端ＬＢＡ４５５を含んでいる。テーブル４５０は仮想デバイスと論理デバイスのマッピングを管理する。各行は、対応する情報で指定される論理デバイスの領域にマッピングされた仮想デバイスのマッピングにおける領域を定義する。始点と終端ＬＢＡ（４５１及び４５２）はデータの論理ブロックアドレスを規定する。ホストからの要求に応じて、論理デバイスの領域を仮想デバイスの対応する領域に割り当てるために、仮想デバイスマネジャは要求された領域をまだマッピングされていない論理デバイスの部分にマッピングする。図６はフリー論理デバイスリスト５００を示す。図６の列５０１は論理デバイス番号を提示し、列５０２と５０３はその論理デバイスのまだどの仮想デバイスにも割り当てられていない領域を示す。
【００１７】
００３９    ファイバチャネルプロトコルではホスト１がストレージシステム２と通信を開始する前にＰＬＯＧＩとして知られるログイン処理手順が実行される。要求者、通常はホストである、はＰＲＯＧＩフレームを受信者に送付し、ストレージシステム、通常は受信者である、は受信したことを通知する。これにより両者間の通信が成立する。ＰＬＯＧＩフレームはホストのワールドワイドネーム（ＷＷＮ）とソースＩＤ（Ｓ＿ＩＤ）を含んでいる。ログイン処理手順の後、入出力オペレーションは小型コンピュータシステムインタフェース（ＳＣＳＩ）プロトコル、あるいはＦＣＰ−ＳＣＳＩプロトコルに準拠したコマンドを使用して実行される。典型的なコマンドとして、Ｗｒｉｔｅ、Ｒｅａｄ，Ｉｎｑｕｉｒｙ，などがある。米国特許番号Ｎｏ．６，７７９，０８３にこの通信プロセスの詳細な説明が記載されている。
【００１８】
００４０    ホストがＩ／Ｏ要求を仮想デバイスに発行するとき、各Ｉ／Ｏ要求は仮想デバイスを指定する識別情報を含んでいる。このデータ送信がファイバチャネルプロトコルに準拠したものである場合、２種類の識別番号がコマンドに含まれる、宛先ＩＤ（Ｄ＿ＩＤ）と論理ユニット番号である。宛先ＩＤは対象となるインタフェース２４（図１を参照）の１つを指定するパラメータである。通常、もしファイバチャネルスイッチが存在するのであれば、スイッチログイン（ファブリックログイン−ＦＬＯＧＩ）オペレーションがストレージシステムとスイッチの間で実行されるとき、このパラメータはファイバチャネルスイッチで決定される。次に論理ユニット番号（ＬＵＮ）を使用して宛先ＩＤの指定によって、対象インタフェース２４からアクセスされるデバイスの１つが指定される。ここで説明する実施例では、各仮想デバイスはどのインタフェース２４からもアクセスできるので、仮想デバイスのそれぞれ１つ毎に論理ユニット番号が割り当てられねばならない。
【００１９】
００４１    次に、ホストが仮想デバイスにアクセスするときの方法について説明する。ホストコンピュータ１がストレージシステム２に接続すると、ＰＬＯＧＩプロセスが実行される。上記のように、これによりホストのワールドワイドネームとソースＩＤが用意され、例えば図７に示すようにＬＵマッピングテーブル５５０にこれらが登録される。ここに示すように、列５５１はホストのワールドワイドネームを、列５５２はソースＩＤを、列５５３は論理ユニット番号を、列５５４は仮想デバイス番号を含んでいる。ここで定義されるデバイスはテーブルで示されるホストによってのみアクセス可能である。ＰＬＯＧＩプロセスの実行後、次にホストは割り当てられた論理ユニット番号を含むＳＣＳＩコマンドを発行して仮想デバイスにアクセスすることができる。インタフェース２４の1つの宛先ＩＤもまたアクセスコマンドに含まれるが、ストレージシステムは仮想デバイスを指定するのに宛先ＩＤを使用することはしない。かわりにストレージシステムはホストから来るＳＣＳＩコマンドに応じて、ソースＩＤと論理ユニット番号を用いて仮想デバイスを特定する。図７に示すＬＵマッピングテーブル５５０は、これらの様々なパラメータの組み合わせを保持し、各々に対して固有の識別を可能にしている。
【００２０】
００４２    図８はホスト１からストレージシステム２に来るＰＬＯＧＩ要求に応じたプロセスのフローを示すフローチャートである。このプロセスはメモリ２３（図１参照）のＩ／Ｏプロセス２３３で実行される。仮想デバイスマネジャ２３２もまた本プロセスから呼び出すことができる。図8に示すように、本プロセスはホストからストレージシステムへのＰＬＯＧＩ要求に応じて開始する。ステップ１００１では、ＬＵマッピングテーブル５５０が検索されて要求に関連するＷＷＮがすでにＬＵマッピングテーブル５５０に存在するか判定される。ステップ１００２に示すように、ＷＷＮが存在すればプロセスは終了する。なければ、プロセスはステップ１００３に進む。このステップで仮想デバイスマネジャ２３２は所定の数の仮想デバイスを定義し、各仮想デバイスにＬＵＮを割り当てる。定義する仮想デバイスの数はシステム設定の際に決定された固定数値である。あるいは、その数値はシステムのユーザが以下に説明する方法であらかじめ定めることができる。最後に、ステップ１００４で仮想デバイスマネジャ２３２は、ＷＷＮ、Ｓ＿ＩＤ、ＬＵＮ及び仮想デバイスの組み合わせをＬＵマッピングテーブル５５０に登録する。このようにして、ホストからストレージシステムへの要求の結果としてこのテーブルに内容が入る。
【００２１】
００４３    ＰＬＯＧＩオペレーションを処理した後にホストは定義された仮想デバイスの数を“見る”、がディスクブロックはまだ各仮想デバイスに割り当てられていない。次にホストが、例えばＲｅａｄあるいはＷｒｉｔｅのＦＣＰ−ＳＣＳＩコマンドを発行するとコマンドで読み出し／書き込みアクセスが要求されている領域にディスクブロックが割り当てられる。
【００２２】
００４４    図９は書き込み要求のプロセスフローを示し、図１０は読み出し要求のプロセスフローを示す。図９に関して、Ｉ／Ｏプロセス２３３がステップ１１０１を実行し、残りのステップは仮想デバイスマネジャ２３２が実行する。ステップ１１０１でストレージシステムがホストからＷＲＩＴＥ要求を受信する。ＦＣＰ−ＳＣＳＩコマンドはホストのソースＩＤとホストがアクセスを要求するＬＵＮを含んでいるので、Ｉ／Ｏプロセス２３３はディスクコントローラ２０がどの仮想デバイスにアクセスしようとしているかを、ＬＵマッピングテーブル５５０を検索して判定することができる。次にＩ／Ｏプロセス２３３は仮想デバイスマネジャ２２０に書き込みオペレーションを処理するよう指示する。  
００４５    次にステップ１１０２で、ステップ１１０１で決定された仮想デバイス番号と、書き込みコマンドに含まれる論理ブロックアドレス（ＬＢＡ）に基づいて、デバイスマネジャ２３２は対応する仮想デバイス構成テーブル４５０（図5参照）を検索して、論理デバイスのブロックが割り当て済みであるかを判定する。ステップ１１０３で、ブロックが割り当て済みであった場合、プロセスはステップ１１０５へ進む。ブロックが割り当て済みでなければ、プロセスはステップ１１０４へ進む。ステップ１１０４でプロセスはフリーＬＤＥＶリスト５００からフリーブロックを割り当て、仮想構成テーブル４５０を更新し、フリーＬＤＥＶリスト５００（図６参照）を更新する。最後にステップ１１０５でプロセスは割り当てられたブロックに書き込みオペレーションを実行する。
【００２３】
００４６    図１０は読み出しプロセスのプロセスフローを示す。ここに示すように、ステップ１２０１では、ステップ１１０１と同じオペレーションが実行される。Ｉ／Ｏプロセッサ２３３はどのＶＤＥＶに向けて読み出し要求が発行されているかを判定し、仮想デバイスマネジャ２３２に読み出しオペレーションを処理するよう指示する。続いてステップ１２０２で仮想デバイス構成テーブル４５０をステップ１１０２と同様な方法で検索する。この方法で論理デバイスが指定されたＬＢＡに割り当てられているかが判定される。ステップ１２０３でブロックが割り当てられているかが判定される。ブロックが割り当て済みであれば、ステップ１２０５に示すようにブロックが読み込まれ、データがホストへ返される。一方、ブロックが割り当て済みでなければ、プロセスはダミーのデータブロック、例えばオールゼロのブロックをホストに返す。
【００２４】
００４７    図９と１０に記述した特定のステップは、好適なる実施例において必ずしも必要ではない。例えば、他の実施例では図８に示すＰＬＯＧＩを実行するとき、ディスクブロックは各仮想デバイスの各論理ブロックアドレスに割り当て可能である。この設定にさらに時間を要するが、ルーチンオペレーションの間において図９と１０のステップを実行する必要がなくなる。
【００２５】
００４８    本発明の1つの利点は、ホストが物理的にあるいは論理的にストレージシステムから切り離され、その後に再接続されても、切り離される前に定義した同じ仮想デバイスにホストがアクセスできることにある。たとえホストが切り離された後に別のインタフェース２４に再接続しても同じである。
【００２６】
００４９    図１１はボリューム削除を説明するフローチャートである。ストレージシステムのユーザが特定の仮想デバイスを使用する必要がないとき、ストレージシステムにその仮想デバイスの使用を停止するよう指示することができる。通常これはコンソール５（図１参照）を使用して実行される。コンソール５から指示を受けると、ＬＵマッピングテーブル５５０を検索して削除すべき仮想デバイスを見つけるステップ１３０１が実行される。例えば、図７では、第１行目のＷＷＮを削除する場合、プロセスは第１行５５５の仮想デバイスを削除すると決定する。
【００２７】
００５０    次に、ステップ１３０２で仮想デバイス構成テーブル４５０を検索し、ステップ１３０１で検出したデバイスに対応するデバイスを見つける。これらのディスクブロックはフリーＬＤＥＶリスト５００に返すことができる。ディスクブロックをこのリスト５００に返した後、仮想デバイス構成テーブル４５０が適切に修正される。最後にステップ１３０３で、プロセスはＷＷＮのエントリーをマッピングテーブル５５０から削除する。
【００２８】
００５１    ここまでに説明した実施例では、１つのホストに対して定義された仮想デバイスは、他のホストから使用することはできない。しかしながらある環境ではストレージシステムのユーザが複数のホスト間でデバイスを共有したい場合がある。これを可能とするために、ストレージシステムは複数のホスト間での共有が可能な仮想デバイスを定義することができる。これらの定義されたデバイスは“共有ＬＵ”と名づけられる。これについて次に論ずる。
【００２９】
００５２    図１２はストレージシステムに保持されるその他の構成テーブル６００を示す。ユーザが行６０３で特定の論理ユニット番号（この例ではＫ−１）を指定すると、ＬＵＮとしてＫ−１を有している仮想デバイスは他のホストと共有できるようになる。ここで、ホストがストレージシステムに接続されるときに図８のＰＬＯＧＩプロセスが実行されると、現在他のホストが使用している共有ＬＵがこのホストの共有ＬＵとして割り当てられる。ホストが接続されていなければ、上記で論じた他の仮想デバイスに対するものと同じプロセスで共有ＬＵに対する仮想デバイス割り当てが実行される。
【００３０】
００５３    さらに、この実施例において、仮想デバイスの大きさ、各ホストに割り当てられた仮想デバイスの数、あるいは共有仮想デバイスのＬＵＮは、全てストレージシステムにより定義される。他の実施例では、これらの要因はストレージシステムのユーザによって、例えばコンソール５を使用してテーブル６００で最大の大きさ、最大のＬＵＮに変更することができる。
【００３１】
００５４    図１３はストレージシステムの他の構成を示すブロック図である。図１３に示すように、一連のホストコンピュータ１は、ＳＡＮコントローラ６のグループを介して一式のストレージシステム３に接続されている。本実施例では、ストレージシステム３は、例えば、ＲＡＩＤ機能を有するディスクアレイ、“ｊｕｓｔ  ａ  ｂｕｃｈ  ｏｆ  ｄｉｓｋｓ”（ＪＢＯＤ）などの典型的なシステムである。ここに記した実施例では、ＳＡＮコントローラ６は、例えばファイバチャネル、イーサネット（登録商標）、あるいは他の適切なプロトコルを用いて、ストレージシステムをホストに相互接続している。
【００３２】
００５５    より詳細に図１４に示されているＳＡＮコントローラ６は、図１と関連して論じたディスクコントローラ２０と同様の機能を提供する。図１のストレージコントローラ２の構成部分と対応する図１４のＳＡＮコントローラの構成部分には同じ参照番号が付してある。他のＳＡＮコントローラ６との通信のために相互接続インタフェース２７が使用される。ＳＡＮコントローラ６で動作するプロセスは、第１の実施例におけるディスクコントローラ２０のプロセスと同様である。しかしながら１つの違いは、各個別のストレージシステムはそのストレージシステム内にＲＡＩＤディスクグループを生成できるが、ＳＡＮコントローラ６では論理デバイスマネジャ２３１’自身はＲＡＩＤディスクグループを生成しないことである。さらにＳＡＮコントローラ６は前に論じたホストコンピュータと同様に機能する。コントローラ６は宛先ＩＤを指定してデバイスの各々とストレージシステム３の各々にＩ／Ｏ要求を発行し、ＬＤＥＶ構成テーブル４００’（図１５参照）を用いてストレージシステム３の全論理デバイスを管理する。図１５に関して、ＬＤＥＶ列４０１’はコントローラ６によるストレージシステム内の全ディスクの発見と各デバイスへのＬＤＥＶ番号の割り当ての結果によるものである。テーブルはまたＷＷＮ４０２’、ＬＵＮ４０３’及び各デバイスの容量を保存する。図１５で容量は、ディスクブロックの数（典型的には１ブロックは５１２バイトである）で１６進法を用いて指定されている。
【００３３】
００５６    図１３で示唆したように、構成によってはデバイスは２つ以上のアクセスパスからアクセス可能である。これらの環境ではＳＡＮコントローラ６はワールドワイドネームと論理ユニット番号との組み合わせのグループを記録する。例えば、図１５に示すように論理デバイス番号が１であるデバイスはそれらのアクセスを示す２つのデータセットを有している。上記と同様の方法でディスク発見プロセスを定期的に、初期設定時に、あるいはユーザがコントローラ６にデバイス発見を指示するときに実行することができる。発見プロセスの完了後、各コントローラ６は発見されたデバイスの情報を他の全てのコントローラ６へ提供する。このようにして全てのコントローラ６は同じＬＤＥＶ構成テーブル４００’を有するようになる。増設コントローラが追加される場合、この情報は増設コントローラ６にコピー可能である。
【００３４】
００５７    図１６はアクセスコントロールテーブルを示す。個別の構成に応じて一部のデバイスは必ずしも常時各コントローラ６に直接接続していなくてもよい。結果として、各ＳＡＮコントローラ６は他のＳＡＮコントローラに接続しているデバイスのマッピング情報を管理する。この情報はここではアクセスコントロールテーブル４１０’と呼ばれ、図１６に示される。本テーブルはＳＡＮコントローラの識別番号を示す列４１１’とそのコントローラに接続するデバイスのＬＤＥＶ番号を示す列４１２’を含む。図１３に示すようなシステムにおける用語では、ＳＡＮコントローラに直接接続している論理デバイスはローカルＬＤＥＶと呼ばれ、リモート（ローカルでない）ＳＡＮコントローラに接続するデバイスはリモートＬＤＥＶと呼ばれる。
【００３５】
００５８    仮想デバイスマネジャ２３２’は第１の実施例のものと同様である。仮想デバイスマネジャ２３２’は仮想デバイス構成テーブル４５０、フリーＬＤＥＶリスト５００及びＬＵマッピングテーブル５５０を保持する。この情報は全コントローラ６で共有される。あるコントローラでテーブルが更新されると、複数のコントローラの内のマスターコントローラと指定された１台が他の全てのコントローラに、マスターコントローラが情報を更新している間、情報を更新しないように通知を送る。マスターコントローラがテーブルの更新を完了した後、更新が完了したことを示す通知を他のコントローラに送り、これにより全てのコントローラが同じ情報を保持できるようになる。
【００３６】
００５９    一般に図１３に示すシステムの動作は図１に示すそれと若干の例外を除いて同じである。図１７は論理デバイスマネジャ２３１’が実行するステップ１１０５の詳細なプロセスフローを示す。ステップ１１０５は図１に示す実施例に関連して図９に示されている。図１７のプロセスステップはホストからＩ／Ｏ要求を受けるのと同じＳＡＮコントローラ６で実行される。ステップ２００１で論理デバイスマネジャ２３１’はＬＤＥＶ構成テーブル４００’を検索して、仮想デバイスマネジャ２３２’により指定されたＬＤＥＶに割り当てられたＷＷＮ４０２’とＬＵＮ４０３’を見つけ出す。ステップ２００２で論理デバイスマネジャ２３１’はアクセスコントロールテーブル４１０’を検索して、仮想デバイスマネジャ２３２’により指定されたＬＤＥＶが現在の要求を処理している同じＳＡＮコントローラ６に接続しているか否かを判定する（すなわち、ＬＤＥＶがローカルＬＤＥＶであるかどうかを確認する）。ＬＤＥＶが同じコントローラ６に接続していた場合、プロセスはステップ２００３へ進み、データが書き込まれる。ＬＤＥＶがローカルＬＤＥＶでない場合、ステップ２００４に示すように、論理デバイスマネジャ２０１’は書き込み要求をＬＤＥＶが接続している適当な場所に送付する。書き込み要求はＷＷＮ４０２とＬＵＮ４０３を伴っている。
【００３７】
００６０    図１の実施例と異なり、図１３の実施例に関して変更が必要な他のオペレーションは図１０のステップ１２０５に関するものである。図１８にこのステップを実行するプロセスフローを示す。このプロセスはホストからＩ／Ｏ要求を受信したのと同じコントローラ６に存在する論理デバイスマネジャ２３１’で実行される。ステップ２１０１では図１７のステップ２００１と同じ動作が実行される。ステップ２１０２ではＬＤＥＶが同じコントローラに接続されているかが判定され、もしそうであるならばデータが読み出され論理デバイスマネジャ２３１’に、次いで仮想デバイスマネジャ２３２’に返される。
【００３８】
００６１    もしも、そうでなくステップ２１０２でＬＤＥＶは同じコントローラに接続してはいないと判定された場合、ステップ２１０４に示すように読み出し要求は適切なＬＤＥＶに対応する対象のコントローラに送付される。書き込み要求と同様、読み出し要求もＷＷＮ４０２’とＬＵＮ４０３’を伴う。最後にステップ２１０５でデータが仮想デバイスマネジャに返される。
【００３９】
００６２    図１３の実施例では性能低下の可能性がある。これは、コントローラ６への極端に多くの要求が、様々なＬＤＥＶの位置に応じて、適切なコントローラに振り向けるように求められた場合に起こり得る。この起こる可能性のある問題を最小にする技術の１つは、ＬＤＥＶのフリーブロックの選択を、Ｉ／Ｏ要求を受信した位置に基づいて行うことである。これは、仮想デバイスマネジャ２３２’に、要求を受信したＳＡＮコントローラ６に接続するＬＤＥＶのフリーブロックを選択させることにより実現される。もしフリーブロックがなければ、別のコントローラ６に関連付けられたＬＤＥＶをかわりに選択することができる。
【００４０】
００６３    図１４はまた移行プロセス２３４を含んでいる。上記のＬＤＥＶ割り当て方法が使用される場合、オーバヘッドが軽減される。しかしながら、もしホストが他のコントローラ６に接続する場合、例えばネットワークを再構成する場合、特定のホストと関連付けられている新しいコントローラに接続する他のＬＤＥＶにデータを移行することが望ましい。この環境ではデータ移行オペレーションは移行プロセス２３４で実行される。
【００４１】
００６４    図１９はこのようなデータ移行プロセスを示すフローチャートである。上記のようにこのプロセスはネットワークを再構成するときに呼び出されるか、コントローラ６の１台が全ての異なるコントローラ６の間で過剰な通信量を検出したときに呼び出される。図１９のプロセスは仮想デバイス構成テーブル４５０の各行を最初の行から最後の行まで検索して、これらの移行すべき領域を見つける。移行される選択された行（すなわち、次いで移行される行と考えられる行）の領域が、ローカルＬＤＥＶにあるか否かを判定するステップ３００１からプロセスが開始される。もしそうであるならば、プロセスはステップ３００６へ進む。選択された行がローカルＬＤＥＶになければ、プロセスはステップ３００２へ進む。その動作中にプロセスはフリーＬＤＥＶリスト５００を検索してローカルＬＤＥＶの中から選択された領域を収容するのに十分に大きいサイズのフリー領域を探し、その領域の割り当てが試みられる。ステップ３００３に示すように、割り当てが成功であればプロセスはステップ３００４へ進みデータが移行される。割り当てが成功でなければプロセスはステップ３００６へ進み構成テーブルが（以下に論ずるように）更新される。
【００４２】
００６５    次にステップ３００４でデータが現在の領域から割り当てられた領域、通常はローカルＬＤＥＶ内にコピーされる。ステップ３００５でフリーＬＤＥＶリスト５００と仮想デバイス構成テーブル４５０がここでなされた変更を反映して更新される。ステップ３００６で、プロセスは次の行が仮想デバイス構成テーブル４５０に存在するかを確認し、もし存在すればプロセスはステップ３００１へ戻る。存在しなければ全てのデータが移行されてプロセスが終了する。
【００４３】
００６６    図２０は移行プロセス中の書き込みオペレーションを示すフローチャートである。ステップ３１０１は、ＬＵマッピングテーブル５５０を検索してコントローラ６がどのＶＤＥＶをアクセスしているかを判定するステップ１１０１と同じである。ステップ３１０２でステップ１１０２と同じ動作が実行される。ステップ３１０１で判定したＶＤＥＶと書き込みコマンドに含まれている論理ブロックアドレスに基づいて、プロセスは対応する仮想デバイス構成テーブル４５０を検索する。ステップ３１０３で、ブロックが仮想デバイスの指定されたＬＢＡに割り当てられているかとそれらがローカルＬＤＥＶにあるか判定される。そうであれば、３１０５に示すようにＩ／Ｏオペレーションが実行される。そうでなければ、プロセスはステップ３１０４へ進む。ここで、フリーＬＤＥＶリスト５００に基づいてフリーブロックが割り当てられる。ローカルＬＤＥＶにないブロックが割り当てられた場合、プロセスはこれらのブロックをフリーＬＤＥＶリスト５００にもどし、フリーＬＤＥＶリスト５００からローカルＬＤＥＶにあるフリーブロックを再割り当てする。割り当ての後、仮想デバイス構成テーブル４５０とフリーＬＤＥＶリスト５００が更新される。ローカルＬＤＥＶに十分なスペースがなかった場合、プロセスは割り当てを行わずにステップ３１０５へ進む。
【００４４】
００６７    図２１は、移行中に読み出しオペレーションが実行された場合に発生するオペレーションを示す図である。図２１のステップは図１０と同様で、ステップ３２０１がステップ１２０１に、ステップ３２０２がステップ１２０２に、ステップ３２０３がステップ１２０３に対応する。仮想デバイスの指定されたＬＢＡ内にブロックが割り当てられていた場合、プロセスはステップ３２０５へ進む。そうでない場合、プロセスはステップ３２０４（ダミーデータを返す）へ進む。ステップ３２０５で、プロセスはローカルブロックが読み出し要求で指定された領域に割り当てられているかを判定する。そうであれば、ステップ３２１０で示すようにデータが読み出され返される。そうでなければ、プロセスは図１９のステップ３００２と対応するステップ３２０６へ移動する。次にステップ３２０７ではステップ３００３と同様の動作が実行される。割り当てが成功したかが判定される。成功であれば、プロセスはステップ３２０８へ移動しデータが移行され、次いでテーブルが更新される。ステップ３２０８はステップ３００４に、ステップ３２０９はステップ３００５に、ステップ３２１０はステップ１２０５に対応する。
【００４５】
００６８    ホストコンピュータの視点からは、ストレージシステムの物理構成、すなわち他のホストと他のストレージシステムの数、の如何にかかわらず、例えば図２２に示すように論理デバイスが共有と定義されていなければ、各ホストは、他のホストと共有されていない論理ユニットを見る。増設あるいは取り外されたホストまたはディスクデバイスの数、またはネットワークトポロジの中の変更にかかわらず、論理的視点は同じままである。ユーザが特定のホストをストレージシステムあるいはストレージネットワークに接続すると、ユーザは直ちに論理デバイスにアクセス可能になり、ストレージシステムあるいはストレージネットワークの設定の変更は必要ない。
【００４６】
００６９    以上は好適なる実施例の説明である。本発明の範囲は付属する請求項により示される。
【図面の簡単な説明】
【００４７】
【図１】０００９    図１は本発明を実施した好適なる情報システムを示すブロック図である。
【図２】００１０    図２は論理デバイスを説明する概念図である。
【図３】００１１    図３はＲＡＩＤ構成テーブルを示す。
【図４】００１２    図４は仮想デバイスの構成例を示す。
【図５】００１３    図５は仮想デバイス構成テーブルを示す。
【図６】００１４    図６はフリー（未使用）論理デバイスリストの例である。
【図７】００１５    図７は論理ユニットマッピングテーブルを示す。
【図８】００１６    図８はログイン処理手順を示すフローチャートである。
【図９】００１７    図９は書き込み要求を示すフローチャートである。
【図１０】００１８    図１０は読み出し要求を示すフローチャートである。
【図１１】００１９    図１１は仮想デバイスの使用が終了するときの動作を示すフローチャートである。
【図１２】００２０    図１２はその他の構成テーブルを示す。
【図１３】００２１    図１３は情報システムの他の実施例のブロック図である。
【図１４】００２２    図１４はストレージエリアネットワークコントローラのブロック図である。
【図１５】００２３    図１５は図１３の実施例における論理デバイス構成テーブルを示す。
【図１６】００２４    図１６は図１３の実施例におけるアクセス制御テーブル示す。
【図１７】００２５    図１７は論理デバイスマネジャの動作を示すフローチャートである。
【図１８】００２６    図１８は論理デバイスマネジャが実行する、さらなるステップのフローチャートである。
【図１９】００２７    図１９はデータ移行を示すフローチャートである。
【図２０】００２８    図２０は移行中の書き込み処理を示すフローチャートである。
【図２１】００２９    図２１は移行中の読み出しオペレーションを示す。
【図２２】００３０    図２２はホストコンピュータと論理デバイスの配置を示す図である。
【図１】
2007102760.tif 000003
【図２】
2007102760.tif 000004
【図３】
2007102760.tif 000005
【図４】
2007102760.tif 000006
【図５】
2007102760.tif 000007
【図６】
2007102760.tif 000008
【図７】
2007102760.tif 000009
【図８】
2007102760.tif 000010
【図９】
2007102760.tif 000011
【図１０】
2007102760.tif 000012
【図１１】
2007102760.tif 000013
【図１２】
2007102760.tif 000014
【図１３】
2007102760.tif 000015
【図１４】
2007102760.tif 000016
【図１５】
2007102760.tif 000017
【図１６】
2007102760.tif 000018
【図１７】
2007102760.tif 000019
【図１８】
2007102760.tif 000020
【図１９】
2007102760.tif 000021
【図２０】
2007102760.tif 000022
【図２１】
2007102760.tif 000023
【図２２】
2007102760.tif 000024
【外国語明細書】
2007102760000001.pdf