(57)【特許請求の範囲】
【請求項１】
複数のディスクドライブと前記複数のディスクドライブの少なくとも一部に対応づけられる複数の論理記憶領域の各々へのアクセスを制御するプロセッサとを各々に有する複数の記憶装置と、少なくとも１つのホストコンピュータと、に接続された仮想化装置であって、
前記複数の記憶装置に接続される複数の第１のポートと、
前記ホストコンピュータに接続される少なくとも１つの第２のポートと、
複数の制御回路と、
複数のメモリと、を有し、
前記複数の制御回路は、前記複数の第１のポート又は／及び前記第２のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリには、少なくとも1つ以上の第１のメモリが含まれ、前記仮想化装置が有する仮想記憶領域と前記複数の記憶装置が有する論理記憶領域とが対応付けられており少なくとも１つの前記複数の制御回路におけるデータ転送制御に利用されるマッピング情報、を格納するものであり、
前記複数の制御回路のうちの第１の制御回路は、前記仮想記憶領域と前記複数の記憶装置に含まれる第１の記憶装置が有する第１の論理記憶領域とが対応付けられる第１の前記マッピング情報に基づいて、前記仮想記憶領域に宛てて前記ホストコンピュータから送信されるデータを、前記第１の論理記憶領域に宛てて送信するように制御するものであり、
前記仮想化装置は、
前記第１の論理記憶領域に格納されたデータを、前記複数の記憶装置に含まれる第２の記憶装置が有する第２の論理記憶領域へ移行するように制御し、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行中に前記仮想記憶領域に宛てて前記ホストコンピュータから送信されるデータを受信して一時的に保持し、
前記第１のマッピング情報を、前記仮想記憶領域と前記第２の論理記憶領域とが対応付けられる第２の前記マッピング情報へ更新し、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行後に、前記仮想記憶領域に宛てて前記ホストコンピュータからデータを受信する場合には、前記第２のマッピング情報に基づいて、前記データ移行後に受信されるデータを、前記第２の論理記憶領域に宛てて送信するものであり、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行中に受信され前記仮想化装置に一時的に保持される前記データは、前記第１の論理記憶領域から読み出される必要なく、前記第２の論理記憶領域に格納されるものであり、
前記仮想化装置は、さらに、前記第１のマッピング情報を含む複数のマッピング情報の更新を制御するとともに少なくとも１つの前記複数のマッピング情報に関する情報を外部の装置との間で通信する制御部と、前記複数のマッピング情報が格納され前記制御部に利用される第２のメモリと、を有し、
前記制御部は、少なくとも１つ以上の前記複数の制御回路によって実行される前記第１の論理記憶領域から前記第２の論理記憶領域への前記データ移行に応じて、前記第２のメモリに格納される前記複数のマッピング情報に含まれる前記第１のマッピング情報が前記第２のマッピング情報へ更新されるように制御し、さらに、前記第１のメモリに格納される前記第１のマッピング情報が前記第２のマッピング情報へ更新されるように制御する、
ことを特徴とする仮想化装置。
【請求項２】
複数のディスクドライブと前記複数のディスクドライブの少なくとも一部に対応づけられる複数の論理記憶領域の各々へのアクセスを制御するプロセッサとを各々に有する複数の記憶装置と、少なくとも１つのホストコンピュータと、に接続された仮想化装置であって、
前記複数の記憶装置に接続される複数の第１のポートと、
前記ホストコンピュータに接続される少なくとも１つの第２のポートと、
複数の制御回路と、
複数のメモリと、を有し、
前記複数の制御回路は、前記複数の第１のポート又は／及び前記第２のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリには、少なくとも１つ以上の第１のメモリが含まれ、前記仮想化装置が有する仮想記憶領域と前記複数の記憶装置が有する論理記憶領域とが対応付けられており前記複数の制御回路のうちの少なくとも１つ以上の制御回路におけるデータ転送制御に利用されるマッピング情報、が格納され、
前記複数の制御回路のうちの少なくとも１つの第１の制御回路は、前記仮想記憶領域を識別するために用いられる第１の記憶領域識別情報と、前記複数の記憶装置に含まれる第１の記憶装置が有する第１の論理記憶領域を識別するために用いられる第２の記憶領域識別情報と、の対応関係を示す第１の前記マッピング情報に基づいて、前記ホストコンピュータから受信するデータの宛先に関する前記第１の記憶領域識別情報を前記第２の記憶領域識別情報に変換した後に、前記変換によって前記第２の記憶領域識別情報に関連付けられたデータを前記第１の記憶装置に送信するように制御するものであり、
前記仮想化装置は、
前記第１の論理記憶領域に格納されたデータを、前記複数の記憶装置に含まれる第２の記憶装置が有する第２の論理記憶領域へ移行するように制御し、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行中に、前記第１の記憶領域識別情報に関連するデータを前記ホストコンピュータから受信して一時的に保持し、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行に応じて、前記第１のマッピング情報を、前記第１の記憶領域識別情報と、前記第２の論理記憶領域を識別するために用いられる第３の記憶領域識別情報と、の対応関係を示す第２の前記マッピング情報に更新し、
前記第１のマッピング情報を前記第２のマッピング情報へ更新した後に、前記第１の記憶領域識別情報に関連するデータを前記ホストコンピュータから受信した場合は、前記第２のマッピング情報に基づいて、前記更新後に受信した前記データの宛先に関する前記第１の記憶領域識別情報を前記第３の記憶領域識別情報に変換した後に、前記変換によって前記第３の記憶領域識別情報に関連付けられたデータを前記第２の記憶装置に送信するものであり、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行中に受信され一時的に保持される前記データは、前記第１の論理記憶領域から読み出される必要なく、前記第２の論理記憶領域に格納されるように制御されるものであり、
前記仮想化装置は、さらに、前記第１のマッピング情報を含む複数のマッピング情報の更新を制御するとともに少なくとも１つの前記複数のマッピング情報に関する情報を外部の装置との間で通信する制御部と、前記制御部に利用され前記複数のマッピング情報が格納される少なくとも１つ以上の第２のメモリと、を有し、
前記制御部は、少なくとも１つの前記複数の制御回路によって実行される前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行に応じて、前記第２のメモリに格納される前記複数のマッピング情報に含まれる前記第１のマッピング情報が前記第２のマッピング情報へ更新されるように制御し、さらに、前記第１のメモリに格納される前記第１のマッピング情報が前記第２のマッピング情報へ更新されるように制御するものである、ことを特徴とする仮想化装置。
【請求項３】
請求項１に記載の仮想化装置であって、
前記複数のメモリのうちの第３のメモリは、前記第１のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも１つの前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものである、ことを特徴とする仮想化装置。
【請求項４】
請求項１に記載の仮想化装置であって、
前記第１の制御回路は、前記複数の第１のポート及び前記第２のポートのうちの少なくとも１つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第２の制御回路は、前記複数の第１のポート及び前記第２のポートのうち、前記第１の制御回路がデータの転送を制御する前記ポートと異なる少なくとも１つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第３のメモリは、前記第１のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも１つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものである、ことを特徴とする仮想化装置。
【請求項５】
請求項１乃至４のいずれかに記載の仮想化装置であって、
前記仮想化装置は、前記ホストコンピュータから送信されるフレームの受信に応じて、前記フレームを前記複数の記憶装置に転送することなく、前記フレームに対する応答を前記フレームを送信したホストコンピュータに対して送信する手段があることを特徴とする仮想化装置。
【請求項６】
請求項１乃至４のいずれかに記載の仮想化装置であって、
前記仮想化装置は、前記ホストコンピュータから送信されるフレームに対応するフレームを前記複数の記憶装置のうちの少なくとも１つの又は複数の記憶装置に転送する、又は、前記ホストコンピュータから送信されるフレームに対する応答を、前記フレームを送信したホストコンピュータに送信する、のいずれかを実行する、ことを特徴とする仮想化装置。
【請求項７】
請求項１乃至６のいずれかに記載の仮想化装置であって、
前記第２のマッピング情報への更新は、前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行が完了した場合に実行されるものである、ことを特徴とする仮想化装置。
【請求項８】
請求項１乃至７のいずれかに記載の仮想化装置であって、
前記第１の論理記憶領域の識別には、前記第１の記憶装置のポート識別情報及び前記第１の論理記憶領域を識別するロジカルユニットナンバー（LUN）が用いられる、ことを特徴とする仮想化装置。
【請求項９】
請求項１乃至３のいずれかに記載の仮想化装置であって、
前記仮想化装置が有する他の仮想記憶領域と前記複数の記憶装置に含まれる第３の記憶装置が有する第３の論理記憶領域とが対応付けられる第３の前記マッピング情報に基づいて、前記他の仮想記憶領域に宛てて前記ホストコンピュータから受信されるデータを前記第３の記憶装置に送信するように制御する第２の制御回路と、を有することを特徴とする仮想化装置。
【請求項１０】
請求項１乃至３のいずれかに記載の仮想化装置であって、
前記仮想化装置が有する他の仮想記憶領域と対応付けられる前記複数の記憶装置内の第３の論理記憶領域に格納されたデータを前記複数の記憶装置内の第４の論理記憶領域に移行するように制御する第３の制御回路と、を有し、
前記第３の論理記憶領域から前記第４の論理記憶領域へのデータの移行に応じて、前記他の仮想記憶領域と前記第４の論理記憶領域とが対応付けられる第４の前記マッピング情報が生成される、ことを特徴とする仮想化装置。
【請求項１１】
請求項１乃至１０のいずれかに記載の仮想化装置であって、
前記仮想記憶領域の識別には、前記仮想記憶領域のロジカルユニットナンバー（LUN）及び前記仮想化装置の仮想ポート識別情報が用いられる、ことを特徴とする仮想化装置。
【請求項１２】
請求項１乃至１１のいずれかに記載の仮想化装置であって、
前記仮想化装置は、スイッチ装置である、ことを特徴とする仮想化装置。
【請求項１３】
少なくとも１つのホストコンピュータに接続される少なくとも１つの第１のポートと、複数のディスクドライブと前記複数のディスクドライブの少なくとも一部に対応付けられる複数の論理記憶領域の各々へのアクセスを制御するプロセッサとを各々に有する複数の記憶装置に接続される複数の第２のポートと、前記第１のポート又は／及び前記複数の第２のポートで送受信されるデータの転送を制御する複数の制御回路と、仮想記憶領域と前記複数の記憶装置が有する論理記憶領域とが対応付けられており少なくとも１つの前記複数の制御回路におけるデータ転送制御に利用されるマッピング情報を格納する少なくとも１つの第１のメモリを有する複数のメモリと、複数の前記マッピング情報の更新を制御するとともに少なくとも１つの前記複数のマッピング情報に関する情報を外部の装置との間で通信する制御部と、前記複数のマッピング情報が格納され前記制御部に利用される第２のメモリと、を有する仮想化装置におけるデータ移行制御方法であって、
前記複数の制御回路のうちの第１の制御回路の制御により、前記仮想記憶領域と前記複数の記憶装置に含まれる第１の記憶装置が有する第１の論理記憶領域とが対応付けられる第１の前記マッピング情報に基づいて、前記仮想記憶領域に宛てて前記ホストコンピュータから送信されるデータを、前記第１の論理記憶領域に宛てて送信するステップと、
前記第１の論理記憶領域に格納されているデータを、前記複数の記憶装置に含まれる第２の記憶装置が有する第２の論理記憶領域へ移行するステップと、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行中に、前記仮想記憶領域に宛てて前記ホストコンピュータから送信されるデータを受信して一時的に保持するステップと、
少なくとも１つの前記複数の制御回路によって実行される前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行に応じて、前記制御部により、前記第２のメモリに格納される前記複数のマッピング情報に含まれる前記第１のマッピング情報を前記仮想記憶領域と前記第２の論理記憶領域とが対応付けられる第２の前記マッピング情報へ更新するように制御し、さらに、前記第１のメモリに格納される前記第１のマッピング情報を前記第２のマッピング情報へ更新するように制御するステップと、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行後に、前記仮想記憶領域に宛てて前記ホストコンピュータからデータを受信する場合には、前記第２のマッピング情報に基づいて、前記データ移行後に受信されるデータを、前記第２の論理記憶領域に宛てて送信するステップと、を有し、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行中に受信され一時的に保持される前記データは、前記第１の論理記憶領域から読み出される必要なく、前記第２の論理記憶領域に格納されるものである、ことを特徴とするデータ移行制御方法。
【請求項１４】
少なくとも１つのホストコンピュータに接続される少なくとも１つの第１のポートと、複数のディスクドライブと前記複数のディスクドライブの少なくとも一部に対応付けられる複数の論理記憶領域の各々へのアクセスを制御するプロセッサとを各々に有する複数の記憶装置に接続される複数の第２のポートと、前記第１のポート又は／及び前記複数の第２のポートで送受信されるデータの転送を制御する複数の制御回路と、仮想記憶領域と前記複数の記憶装置が有する論理記憶領域とが対応付けられており前記複数の制御回路のうちの少なくとも１つの制御回路におけるデータ転送制御に利用されるマッピング情報を格納する少なくとも１つの第１のメモリを有する複数のメモリと、複数の前記マッピング情報の更新を制御するとともに少なくとも１つの前記複数のマッピング情報に関する情報を外部の装置との間で通信する制御部と、前記制御部に利用され前記複数のマッピング情報が格納される第２のメモリと、を有する仮想化装置におけるデータ移行制御方法であって、
前記複数の制御回路のうちの第１の制御回路の制御により、前記仮想化装置が有する仮想記憶領域を識別するために用いられる第１の記憶領域識別情報と、前記複数の記憶装置に含まれる第１の記憶装置が有する第１の論理記憶領域を識別するために用いられる第２の記憶領域識別情報と、の対応関係を示す前記第１の前記マッピング情報に基づいて、前記ホストコンピュータから受信するデータの宛先に関する前記第１の記憶領域識別情報を前記第２の記憶領域識別情報に変換して、前記変換によって前記第２の記憶領域識別情報に関連付けられたデータを、前記第１の論理記憶領域に送信するステップと、
前記第１の論理記憶領域に格納されているデータを前記複数の記憶装置に含まれる第２の記憶装置が有する第２の論理記憶領域へ移行するステップと、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行中に、前記ホストコンピュータから送信される前記第１の記憶領域識別情報に関連付けられたデータを受信して一時的に保持するステップと、
少なくとも１つの前記複数の制御回路によって実行される前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行に応じて、前記制御部により、前記第２のメモリに格納される前記複数のマッピング情報に含まれる前記第１のマッピング情報が前記第１の記憶領域識別情報と前記第２の論理記憶領域を識別するために用いられる第３の記憶領域識別情報との対応関係を示す第２の前記マッピング情報へ更新されるように制御し、さらに、前記第１のメモリに格納される前記第１のマッピング情報が前記第２のマッピング情報へ更新されるように制御するステップと、
前記第２のマッピング情報へ更新された後は、前記第２のマッピング情報に基づいて、前記ホストコンピュータから受信するデータの宛先に関する前記第１の記憶領域識別情報を前記第３の記憶領域識別情報に変換して、前記第３の記憶領域識別情報と関連付けられたデータを前記第２の論理記憶領域に送るステップと、を有し、
前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行中に受信され一時的に保持される前記データは、前記第１の論理記憶領域から読み出される必要なく、前記第２の論理記憶領域に格納されるものである、
ことを特徴とするデータ移行制御方法。
【請求項１５】
請求項１４に記載のデータ移行制御方法であって、
前記複数のメモリのうちの第３のメモリは、前記第１のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも１つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであることを特徴とするデータ移行制御方法。
【請求項１６】
請求項１４に記載のデータ移行制御方法であって、
前記第１の制御回路は、前記第１のポート及び前記複数の第２のポートのうちの少なくとも１つのポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第２の制御回路は、前記第１のポート及び前記複数の第２のポートのうち、前記第１の制御回路がデータの転送を制御する前記ポートと異なる少なくとも１つのポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第３のメモリは、前記第１のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも１つの前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものである、
ことを特徴とするデータ移行制御方法。
【請求項１７】
請求項１３乃至１６のいずれかに記載のデータ移行制御方法であって、
前記ホストコンピュータから送信されるフレームの受信に応じて、前記フレームを前記複数の記憶装置に転送することなく、前記フレームに対する応答を前記フレームを送信したホストコンピュータに対して送信するステップを有することを特徴とするデータ移行制御方法。
【請求項１８】
請求項１３乃至１６のいずれかに記載のデータ移行制御方法であって、
前記ホストコンピュータから送信されるフレームに対応するフレームを前記複数の記憶装置のうちの少なくとも１つの又は複数の記憶装置に転送するステップ、又は前記ホストコンピュータから送信されるフレームに対する応答を前記フレームを送信したホストコンピュータに送信するステップ、のいずれかを実行する、ことを特徴とするデータ移行制御方法。
【請求項１９】
請求項１３乃至１８のいずれかに記載のデータ移行制御方法であって、
前記第２のマッピング情報への更新は、前記第１の論理記憶領域から前記第２の論理記憶領域へのデータの移行が完了した場合に実行される、ことを特徴とするデータ移行制御方法。
【請求項２０】
請求項１３乃至１９のいずれかに記載のデータ移行制御方法であって、
前記仮想記憶領域を識別するために用いられる情報は、前記仮想化装置の仮想ポートを識別するために用いられる仮想ポート識別情報と関連付けられている、ことを特徴とするデータ移行制御方法。
【請求項２１】
請求項１３乃至１９のいずれかに記載のデータ移行制御方法であって、
前記仮想記憶領域の識別には、前記仮想化装置の仮想ポート識別情報が用いられる、ことを特徴とするデータ移行制御方法。
【請求項２２】
請求項１３乃至１９のいずれかに記載データ移行制御方法であって、
前記仮想記憶領域の識別には、前記仮想記憶領域のロジカルユニットナンバー（LUN）及び前記仮想化装置の仮想ポート識別情報が用いられる、ことを特徴とするデータ移行制御方法。
【請求項２３】
請求項１３乃至２２のいずれかに記載のデータ移行制御方法であって、
前記仮想化装置はスイッチ装置である、ことを特徴とするデータ移行制御方法。
【請求項２４】
請求項１３乃至２３のいずれかに記載のデータ移行制御方法であって、
前記ホストコンピュータから前記仮想記憶領域に宛てて送信される第１のリード要求を前記仮想化装置で受信するステップと、
前記第１の制御回路の制御により、前記第２のマッピング情報に基づいて、前記第１のリード要求を前記第２の記憶装置に送信するステップと、
前記複数の記憶装置に含まれる第３の記憶装置が有する第３の論理記憶領域と関連付けられた他の仮想記憶領域に宛てて前記ホストコンピュータまたは他のホストコンピュータから送信される第２のリード要求を、前記仮想化装置で受信するステップと、
前記複数の制御回路のうちの第２の制御回路の制御により、前記他の仮想記憶領域と前記第３の論理記憶領域の対応関係に基づき、前記第２のリード要求を前記第３の記憶装置に送信するステップと、を有することを特徴とするデータ移行制御方法。
【請求項２５】
請求項１に記載の仮想化装置であって、
前記複数のメモリのうちの第３のメモリは、前記第１のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも１つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記制御部は、前記第１のメモリ、前記第２のメモリ及び前記第３のメモリのうちの少なくとも２つ以上のメモリに格納される前記マッピング情報を、同期して更新するように制御する、ことを特徴とする仮想化装置。
【請求項２６】
請求項１に記載の仮想化装置であって、
前記第１の制御回路は、前記複数の第１のポート及び前記第２のポートのうちの少なくとも１つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第２の制御回路は、前記複数の第１のポート及び前記第２のポートのうち、前記第１の制御回路がデータの転送を制御する前記ポートと異なる少なくとも１つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第３のメモリは、前記第１のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも１つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記第２のマッピング情報への更新は、前記制御部が、前記第１の論理記憶領域から前記第２の論理記憶領域への前記データ移行に応じて、前記第１のメモリ、前記第２のメモリ及び前記第３のメモリのうちの少なくとも２つ以上のメモリに格納される前記第１のマッピング情報が前記第２のマッピング情報へ更新されるように制御する処理を含む、ことを特徴とする仮想
化装置。
【請求項２７】
請求項１４に記載のデータ移行制御方法であって、
前記複数のメモリのうちの第３のメモリは、前記第１のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも１つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記第１のマッピング情報を前記第２のマッピング情報へ更新するステップは、前記制御部が、前記第１のメモリ、前記第２のメモリ及び前記第３のメモリのうちの少なくとも２つ以上のメモリに格納される前記マッピング情報を同期して更新するように制御するステップを有する、ことを特徴とするデータ移行制御方法。
【請求項２８】
請求項１４に記載のデータ移行制御方法であって、
前記第１の制御回路は、前記複数の第１のポート及び前記第２のポートのうちの少なくとも１つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第２の制御回路は、前記複数の第１のポート及び前記第２のポートのうち、前記第１の制御回路がデータの転送を制御する前記ポートと異なる少なくとも１つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第３のメモリは、前記第２の制御回路を含む少なくとも１つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記第１のマッピング情報を前記第２のマッピング情報へ更新するステップは、前記制御部が、前記第１の論理記憶領域から前記第２の論理記憶領域へのデータ移行に関連し前記第１のメモリ及び前記第３のメモリに格納される前記マッピング情報を、更新するように制御するステップを有する、ことを特徴とするデータ移行制御方法。
【請求項２９】
請求項１４に記載のデータ移行制御方法であって、
前記第１の制御回路は、前記複数の第１のポート及び前記第２のポートのうちの少なくとも１つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第２の制御回路は、前記複数の第１のポート及び前記第２のポートのうち、前記第１の制御回路がデータの転送を制御する前記ポートと異なる少なくとも１つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第３のメモリは、前記第２の制御回路を含む少なくとも１つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記第１のマッピング情報を前記第２のマッピング情報へ更新するステップは、前記制御部が、前記第１の論理記憶領域から前記第２の論理記憶領域へのデータ移行に応じて、前記第１のメモリ、前記第２のメモリ及び前記第３のメモリのうちの少なくとも２つ以上のメモリに格納される前記第１のマッピング情報が前記第２のマッピング情報に更新されるように制御するステップを有する、ことを特徴とするデータ移行制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の記憶装置間でデータ移行処理を実行する方法及び装置に関する。特に、記憶装置に対してアクセス要求を発行するホストコンピュータにデータ移行処理を意識させることなく、複数の記憶装置間でデータを移行する方法及び装置に関する。
【０００２】
【従来の技術】
データ移行制御技術として、ディスクアレイサブシステムの様に複数のボリュームが一つの制御装置によって制御される記憶装置サブシステム内において、アクセス頻度の高いデータはアクセス速度の速いボリュームへ、アクセス頻度の低いデータはアクセス速度の遅いボリュームへ移行する技術がある。また、あるアプリケーションによって使用されるボリュームが各々異なる制御装置によって制御される複数の記憶領域にまたがって設けられるシステムにおいて、特定のアプリケーションによって使用されるボリューム内のデータを優先的に移行することにより、効率的なデータ移行を実現する技術が特許文献１に開示されている。
【０００３】
【特許文献１】
米国特許出願公開第２００１/００５４１３３号明細書
【０００４】
【発明が解決しようとする課題】
記憶装置サブシステム内におけるデータ移行は、記憶装置サブシステムを制御する制御装置によって実行され、制御装置は、制御装置に接続するホストコンピュータに対してデータ移行処理を隠すことができる。しかし、記憶装置サブシステムをまたいだデータ移行については考慮されていない。従って、ある記憶装置サブシステム内に格納されているデータを他の記憶装置サブシステムに移行する場合は、制御装置はデータ移行処理に伴ってアクセス先の記憶装置サブシステムが変わる旨をホストコンピュータに通知する必要があり、データ移行処理をホストコンピュータに隠すことはできない。また、特許文献１にもデータ移行処理をホストコンピュータに対して隠しこむ技術は開示されていない。従ってホストコンピュータは、データ移行処理を契機として一旦自身の処理を中断しアクセス対象の記憶装置やボリュームを指定しなおす必要がある。
【０００５】
近年企業データが爆発的に増加し、また記憶装置に対する２４時間連続アクセスの要求が高まっていること考慮すると、複数の記憶装置を跨いだデータ移行処理は今後頻繁に発生すると予想され、ホストコンピュータの処理を中断することなく記憶装置を跨いだデータ移行が可能な技術が必要とされる。
【０００６】
また、記憶装置内の記憶領域を管理し、ホストコンピュータから記憶領域へのアクセス要求を転送する制御装置が交換されたり、新たな制御装置が導入された場合には、ホストコンピュータにはアクセス先の記憶領域が変更されたものと認識されてしまうので、複数の記憶装置間でデータ移行処理が実行された場合と同様、ホストコンピュータは一旦処理を中断してアクセス対象を指定しなおす必要がある。尚、ここでいう中断とは、アクセス対象の記憶装置やボリュームの識別情報の再設定のために発生するホストコンピュータの再起動処理等による、ホストコンピュータにおける通常の処理の中断を意味する。
【０００７】
本発明の目的は、記憶装置間を跨いだデータ移行処理を、ホストコンピュータに意識させることなく実行することができる制御装置及びデータ移行方法を提供することである。
【０００８】
また、本発明の他の目的は、制御装置の交換や新たな制御装置の導入を、ホストコンピュータに意識させることなく行うことができる制御装置及びデータ移行方法を提供することである。
【０００９】
【課題を解決するための手段】
本発明では、複数の記憶装置と接続される仮想化制御装置が、複数の記憶装置間でのデータ移行を制御する。仮想化制御装置は、ホストコンピュータがデータ移行元のボリュームを識別するために使用していた識別情報と同じ識別情報を用いて、データ移行先のボリュームを識別できるよう制御する。
【００１０】
また、仮想化制御装置が交換された場合や、仮想化制御装置が新たに導入された場合には、新しい仮想化制御装置は、仮想化制御装置の交換や導入以前にホストコンピュータがアクセス先のボリュームを識別するために使用していた識別情報と同じ識別情報を用いて、仮想化制御装置の交換や導入後もホストコンピュータが同じボリュームにアクセスできるよう、フレームの転送を制御する。
【００１１】
【発明の実施の形態】
本発明の実施形態を以下に説明する。尚、これにより本発明が限定されるものではない。
［第一の実施形態］本発明の第一の実施形態を、図１〜１２を用いて説明する。
【００１２】
図１は、本発明が適用される計算機システムの一例を示す図である。計算機システムは、複数台のホストコンピュータ１と、複数台の記憶装置３と、ホストコンピュータ１と記憶装置３とに接続される仮想化制御装置２と、仮想化制御装置２に接続される管理装置４とを有する。尚、ホストコンピュータ１および記憶装置３はネットワーク５を介して仮想化制御装置２と接続され、管理装置４はネットワーク６を介して仮想化制御装置２と接続される。ネットワーク５及びネットワーク６において使用されるプロトコルは同一のネットワークプロトコルでも異なるネットワークプロトコルでも良い。また、ネットワーク５において使用されるプロトコルも同一のプロトコルに限定されるものではなく、記憶装置と仮想化制御装置間のネットワークで使用されるプロトコルと、ホストコンピュータと仮想化制御装置間のネットワークで使用されるプロトコルは異なるネットワークプロトコルであっても良い。また記憶装置毎、ホストコンピュータ毎に異なるネットワークプロトコルを用いて仮想化制御装置に接続しても良い。
【００１３】
ホストコンピュータ１は、アプリケーションプログラムを実行するCPU１０、アプリケーションプログラムが格納されるメモリ１１、記録媒体１２、ネットワーク５に接続してデータを送受信するポート１３を有する。
【００１４】
管理装置４は、仮想化制御装置２を管理するための管理プログラムを実行するCPU４０、管理プログラムが格納されるメモリ４１、ネットワーク６に接続してデータを送受信するポート４３、記録媒体４２を有する。
【００１５】
記憶装置３は、ネットワーク５に接続してデータを送受信するポート３３と、複数のディスク装置３５から構成されるディスク装置群３４と、個々のディスク装置３５との間でデータの転送処理を行うディスクインタフェース制御部（図１ではHDD I/Fとして示す。）３２と、ホストコンピュータ１からのアクセス要求に基づきディスク装置３５への個々のアクセスを制御するCPU３０と、ホストコンピュータ１とディスク装置３５との間で転送されるデータを格納するバッファ部３１を有する。
【００１６】
仮想化制御装置２はホストコンピュータ１と記憶装置３との間で送受信されるフレームを転送するスイッチである。仮想化制御装置２は、ホストコンピュータ１或いは記憶装置３との間でデータの転送処理を行う複数のポート２３と、複数のポート２３間のパス選択を制御するパス制御部２２と、管理装置４との間でデータの転送処理を行う管理ポート２５と、パス制御部２２を制御し、又管理装置４との間で送受信されたデータに基づき仮想化制御装置を制御するメイン制御部２０を有する。尚、メイン制御部２０は、後述するプログラムや情報が格納されるメモリ５１や記録媒体５２と、これらの情報を用いてプログラムを実行するCPU５０を有する。又、図1においてはパス制御部２２とメイン制御部２０が有するCPU50、メモリ５１、記憶媒体５２とは直接バスで接続されている例を示したが、パス制御部２２とメイン制御部２０がブリッジを介して接続される構成であっても良い。
【００１７】
図１には、ホストコンピュータ１、記憶装置３、管理装置４はそれぞれ１つのポートを持つ例を示したが、これに限定されるものではなく、複数のポートを持つことも可能である。更に仮想化制御装置のポート２３は、異なるネットワークプロトコルに対応可能であることから、ポート２３を管理用ポートとして使用することも可能である。
【００１８】
また記憶装置３は少なくともネットワーク５に接続してデータを送受信するポート３３と、ホストコンピュータ１からアクセスされるデータを格納する記憶部を有すれば良く、例えば単体のディスク装置等であっても良い。
【００１９】
図２は、管理装置４の記録媒体４２に格納されており、メモリ４１に読み込まれてCPU４０によって実行されるプログラム、及び管理装置４の記録媒体４２に格納される管理情報の一例を示す。
【００２０】
ボリューム管理プログラム４１４は、仮想化制御装置２から後述するボリュームマッピング情報５１５を読み出して出力装置に出力し、ボリュームマッピング情報を管理者に通知し、又ボリュームマッピング情報５１５に新たに登録する情報やボリュームマッピング情報の更新情報を入力装置を介して管理者から受け付けて仮想化制御装置２に送信し、管理者から受け付けた情報をボリュームマッピング情報５１５に設定する処理を実行するためのプログラムである。また、ボリュームマッピング管理情報４１１は、仮想化制御装置２から読み出したボリュームマッピング情報５１５や、管理者から受け付けた登録情報、更新情報を有する。尚、管理装置４のCPU４０がボリュームマッピング管理情報４１１を用いてボリューム管理プログラム４１４を実行することによってボリューム管理部４０１が実現される。
【００２１】
ここでボリュームとは、個々の記憶装置（仮想化された記憶装置も含む）で管理される記憶領域のことであり、一台の記憶装置が複数のボリュームを管理することも可能である。更に、記憶装置３で管理されるボリュームを実ボリューム、仮想化制御装置２で管理されるボリュームを仮想ボリュームとして、以後区別するものとする。
【００２２】
記憶装置管理プログラム４１５は、仮想化制御装置２から後述する記憶装置状態管理情報５１２を読み出して出力装置に出力し、記憶装置の状態を管理者に通知し、又管理者から記憶装置状態管理情報５１２への登録情報や更新情報を受け付けて、これらの情報を仮想化制御装置２に設定するために実行されるプログラムである。また記憶装置管理情報４１２は、仮想化制御装置２から受信した記憶装置状態管理情報５１２や、管理者から受け付けた登録情報、更新情報を有する。尚、管理装置４のCPU40が記憶装置管理情報４１２を利用して記憶装置管理プログラム４１５を実行することによって、記憶装置管理部４０２が実現される。
【００２３】
データ移行管理プログラム４１６は、仮想化制御装置２が管理する複数のボリューム間でデータ移行を実行するためにデータ移行制御情報４１３を生成し、データ移行制御情報４１３を有するデータ移行要求を仮想化制御装置２に対して発行し、仮想化制御装置２からデータ移行処理の結果を受信して、これを管理者に通知するために実行されるプログラムである。尚、管理装置４のCPU40がデータ移行管理プログラム４１６を実行することによって、データ移行管理部４０３が実現される。
【００２４】
図３は、仮想化制御装置２の記録媒体５２に格納されており、メモリ５１に読み込まれてCPU５０によって実行されるプログラムと、仮想化制御装置２の記録媒体５２に格納されている管理情報の一例を示す図である。
【００２５】
ルーティング処理部５０１は，ホストコンピュータ１と記憶装置３との間で送受信されるフレームデータのルーティング処理として，以下の二通りのルーティング処理を実行する。
【００２６】
尚ここでいうフレームデータとは、ホストコンピュータ１から記憶装置３に対して送信されるアクセス要求情報、記憶装置３からホストコンピュータ１に対して送信されるステータス情報、及びアクセス要求情報に基づきホストコンピュータ１と記憶装置３との間で送受信されるデータ等の全ての情報を含むものとする。
【００２７】
まず実ルーティング処理部５０４は、ネットワーク５に接続された装置の結線情報であるルーティング情報５１４に基づき、ホストコンピュータ１と記憶装置３との間で直接送受信されるフレームデータのルーティング処理を制御する。即ち、実ルーティング処理部５０４は、パス制御部２２にフレームデータの転送に使用するパスを指示する。パス制御部２２は、実ルーティング処理部５０４の指示に基づいて、フレームデータを転送する。尚実ルーティング処理部５０４は、仮想化制御装置２のCPU５０が、ルーティング情報５１４に基づいてメモリ５１に読み込まれたルーティングプログラム５１６を実行することによって実現される。
【００２８】
次に仮想化ルーティング処理部（以下、仮想化処理部と称する。）５０５は、後述のボリュームマッピング情報５１５に基づき、ホストコンピュータ１から受信したフレームデータに対し後述の加工を施して記憶装置３に対して転送し、又、記憶装置３から受信したフレームデータに対し後述の加工を実施して、ホストコンピュータ１に転送する処理を実行する。尚、仮想化処理部５０５は、仮想化制御装置２のCPU５０が、ボリュームマッピング情報５１５に基づいて、メモリ５１に読み込まれた仮想化ルーティングプログラム５１７を実行することによって実現される。
【００２９】
尚、図１及び図２においては、仮想化制御装置２がメイン制御部２０を１つ有し、このメイン制御部２０において仮想化処理を含むルーティング処理を実施する場合を示している。しかし本発明はこれに限られるものではなく、例えば各ポート２３毎にプロセッサを設け、このプロセッサがルーティング処理を実行することとしても良い。これによって、ルーティング処理をポート毎に並列に実施することができるので、仮想化制御装置２の性能を向上することができる。また、ルーティング処理部は、ハードウェアのみで構成されるものとすることもできる。
【００３０】
記憶装置監視部５０２は、仮想化制御装置２が仮想化制御の対象とする個々の記憶装置３の状態を監視し、監視結果を記憶装置状態管理情報５１２として保持し、記憶装置３の状態の変更を検出したことを契機に管理装置４に対して状態の変更通知し、又管理装置４から受信した記憶装置管理情報４１２に基づき自身が保持する記憶装置状態管理情報５１２を更新する処理を実行する。尚、記憶装置監視部５０２は、仮想化制御装置２のCPU５０が、記憶装置監視プログラム５１８を実行することにより実現される。
【００３１】
データ移行処理部５０３は、管理装置４から受信したデータ移行要求に含まれるデータ移行制御情報４１３を、仮想化制御装置２のメモリ５１若しくは記憶媒体５２にデータ移行制御情報５１３として格納し、データ移行制御情報５１３に基づき、仮想化制御装置２が管理する複数のボリューム間でのデータ移行処理を実行する。データ移行処理部５０３は、仮想化制御装置２のＣＰＵ５０が、データ移行処理プログラム５１９を実行することにより実現される。尚、データ移行処理の手順の詳細は、後述する。
【００３２】
図４は、仮想化制御装置２で管理されるボリュームマッピング情報５１５の一例を示す図である。ボリュームマッピング情報５１５は、仮想ボリュームと実ボリュームとのマッピングを示す制御情報である。仮想ボリューム管理情報５２０としては、仮想ボリュームを識別するための情報と、仮想ボリュームの状態を表す情報とが含まれる。仮想ボリュームを識別するための情報としては、ネットワークで固有の値を有するPort ID、ポート毎に固有の値を有するPort Name、装置内で固有の情報であるLUN (Logical Unit Number)等が含まれる。仮想ボリュームの状態を表す情報には、仮想ボリュームの容量を表すSize、仮想ボリュームのステータス情報等が含まれる。実ボリューム管理情報５２１には、仮想ボリュームに対応する実ボリュームを識別するための情報と、実ボリュームの状態を表す情報とが含まれる。実ボリュームを識別するための情報には、ネットワークで固有の値を有するPort ID、ポート毎に異なる値を有するPort Name、装置内で固有の値を有するLUN 等の情報が含まれる。また、実ボリュームの状態を表す情報には、実ボリュームの容量を表すSize、実ボリュームのステータス情報等が含まれる。
【００３３】
ここで仮想ボリュームを識別するための情報であるPort ID、Port Nameは、仮想化制御装置２がホストコンピュータ１に対して仮想的に見せる記憶装置（以下、仮想記憶装置）の仮想的なポート（以下、仮想ポート）に割当てられた識別子情報である。例えば、ホストコンピュータが仮想ポートのPort IDと仮想ボリュームのLUNを指定してフレームデータを送信した場合、実際には仮想化制御装置２の仮想化処理部５０５がボリュームマッピング情報５１５に基づいて、Port IDとLUNが示す仮想ボリュームに対応する実ボリュームを有する記憶装置にフレームデータを転送するよう制御する。しかしホストコンピュータには、自身が指定したPort IDが示すポートを有する記憶装置にアクセスしているように認識される。
【００３４】
尚図４においては、Port ID=V_Pid_1、Port Name=V_Pname_1で識別される仮想ポートからアクセスされるLUN=0で識別される仮想ボリュームが、Port ID=P_Pid_1、Port Name=P_Pname_1で識別される実ポートからアクセスされるLUN=0で識別される実ボリュームにマッピングされている（対応付けられている）例を示している。
【００３５】
仮想ポートが複数の仮想ボリュームを持つことも可能である。図４においては、Port ID=V_Pid_2、Port Name=V_Pname_2で識別される仮想ポートは、LUN=0(5GB)、LUN=1(5GB)の2つの仮想ボリュームを持ち、それぞれ，Port ID=P_Pid_2、Port Name=P_Pname_2、LUN=0(5GB)及びPort ID=P_Pid_1、Port Name=P_Pname_1、LUN=1(5GB)で識別される実ボリュームにマッピングされている例を示している。
【００３６】
尚、ステータス情報を用いた制御例については後述する。
【００３７】
図５は、仮想化制御装置２で管理される記憶装置状態管理情報５１２の一例を示す図である。記憶装置状態管理情報５１２は、記憶装置監視部５０２によって検出された記憶装置及びこの記憶装置が管理する実ボリュームの、識別情報等を有する。具体的には、記憶装置のポートに対して割当てられるネットワークで固有のPort ID、各ポート毎に固有の値を有するPort Name、記憶装置毎に固有の値を有するNode Name、記憶装置内の各実ボリュームに割り当てられる記憶装置内で固有のLUN 等の識別情報と、実ボリュームのSize等の実ボリュームの状態情報が、記憶装置状態管理情報５１２に含まれる。尚図５では、記憶装置状態管理情報５１２として、Port ID、Port Name、Node Name、LUN 、Size情報を例示しているが、記憶装置状態管理情報５１２は、これに限定されるものではない。例えば実ボリュームに接続される仮想化制御装置２のポート情報を、記憶装置状態管理情報５１２として登録することも可能である。
【００３８】
図５においては、Port ID=P_Pid_1、Port Name=P_Pname_1、Node Name=P_Nname_1で識別されるポートが、LUN=0(10GB)、LUN=1(5GB)で識別される実ボリュームを、Port ID=P_Pid_2、Port Name=P_Pname_2、Node Name=P_Nname_2で識別されるポートが、LUN=0(5GB)で識別される実ボリュームを、更にPort ID=P_Pid_3、Port Name=P_Pname_3、Node Name=P_Nname_3で識別されるポートが、LUN=1(10GB)で識別される実ボリュームを持つことを示している。
【００３９】
ここで、実ボリュームの識別情報（LUN）や、実ボリュームを持つ各ポートの識別情報（Port ID、Port Name、Node Name）は、ボリュームマッピング情報５１５の実ボリューム管理情報５２１のエントリ、或いはルーティング情報５１４のエントリとして使用することができる。更に、記憶装置状態管理情報５１２は管理装置４から設定できるようにしておくことが望ましい。本発明においては上述のように、管理装置４のＣＰＵ４０が記憶装置管理プログラム４１５を実行することによって、管理装置４が記憶装置状態管理情報５１２を設定することができる。
【００４０】
また、新たな記憶装置が仮想化制御装置２に接続された場合、仮想化制御装置２のCPU５０は、記憶装置監視プログラム５１８を実行することにより、新たに接続された記憶装置からPort ID、Port Name、Node Name、LUN、Size情報等を取得し記憶装置状態管理情報５１２に登録すると共に、管理装置４に新たな装置の検出を通知する。尚、管理装置４においてボリューム管理プログラム４１４が実行され、管理装置４がボリュームマッピング情報５１５の仮想ボリューム管理情報５２０のステータス情報を設定するまでは、仮想化制御装置２は新たに接続された装置へのルーティング処理を実施しない（ルーティング情報５１４のエントリに登録しない）ことが望ましい。
【００４１】
また既に仮想化制御装置２に接続されている記憶装置との接続が遮断された場合、或いは記憶装置からの応答がないなどの障害を仮想化制御装置２が検出した場合には、仮想化制御装置２は記憶装置状態管理情報５１２に登録されている情報を更新すると共に、管理装置４に記憶装置の状態の変化を通知する。この際、仮想化制御装置２は、ボリュームマッピング情報５１５の仮想ボリューム管理情報５２０を参照し、ステータス情報がある条件を満たす場合にのみ（例えば、ステータス情報がActiveに設定された装置の状態が変化した場合のみ等）状態の変化を通知することが望ましい。
【００４２】
尚、図５においては省略しているが、一台の記憶装置が複数のポートを持つ場合もある。
【００４３】
図６は、ホストコンピュータ１が仮想化制御装置２において仮想化された記憶装置（仮想記憶装置）にアクセスする場合の、アクセス要求の処理の概要を示す。図６では、ホストコンピュータ１は、仮想化制御装置２において仮想化された複数の仮想ボリュームから構成される仮想ボリューム群６０のうち、Port ID=V_Pid_1、Port Name=V_Pname_1で識別される仮想ポートの仮想ボリュームLUN=0(10GB)に対するアクセス要求を発行する。
【００４４】
ホストコンピュータ１から発行される仮想ボリュームに対するアクセス要求は、ルーティング処理部５０１によって、仮想記憶装置に対するアクセス要求であることが検出される。具体的には、ルーティング処理部が、アクセス要求に含まれるPort IDがボリュームマッピング情報５１５の仮想ボリューム管理情報に含まれることを検出することによって、仮想記憶装置に対するアクセス要求であることが分かる。すると、仮想化処理部５０５によってアクセス要求に含まれるPort ID、LUNが参照され、このPort ID、LUNと対応付けられてボリュームマッピング情報５１５に登録されている実ボリュームに対するアクセス要求にアクセス要求が変換された後、変換後のアクセス要求が記憶装置３に対して発行される。尚、アクセス要求の変換は、ホストコンピュータ１が発行したアクセス要求に含まれるPort ID、LUNを、このPort ID、LUNと対応付けられてボリュームマッピング情報５１５に登録されている実ボリュームのPort ID、LUNに、仮想化処理部５０５が変換することによって行われる。
【００４５】
以降ホストコンピュータ１から受信したアクセス要求に基づく、ホストコンピュータ１と記憶装置３間のデータの送受信、並びにステータス情報の送信等、一連の処理は、仮想化制御装置２を介して実行される。尚、データの送受信処理、或いはステータス情報の送信処理等において、ホストコンピュータ１と記憶装置３との間で送受信されるデータも、仮想化処理部５０５によってフレームデータの変換処理が実施される。但し、ここで言う変換処理とは、データそのものの変換ではなく、データに付加された情報である送信先識別子情報(D_ID)、送信元識別子情報(S_ID)、エラー検出コードであるCRC（Cyclic Redundancy Check）等の変換処理である。例えばホストコンピュータ１からD_ID=V_Pid_1が設定されたアクセス要求を仮想化制御装置２が受信した場合には、ルーティング処理部501がボリュームマッピング情報を用いてD_IDをP_Pid_1に変換し、新たにCRCを生成してフレームデータに付与して、記憶装置３に変換後のフレームデータを送信する。逆に記憶装置３からS_ID=P_Pid_1が設定されたフレームデータを仮想化制御装置２が受信した場合には、ルーティング処理部501がS_IDをV_Pid_1に変換し、フレームデータ中のCRCを新たに生成したCRCに置換えて、ホストコンピュータにフレームデータを送信する。
【００４６】
図７は、仮想化制御装置２がホストコンピュータに提供している仮想ボリュームに対応付けられる記憶装置３の実ボリュームを、他の異なる記憶装置の実ボリュームに変更し、仮想ボリュームと実ボリュームのマッピングを変更する際の処理の概要を示す図である。この際、今まで仮想ボリュームに対応付けられてきた旧実ボリュームから、新たにこの仮想ボリュームに対応付けられることになった新実ボリュームへ、データの移行処理が実行される。
【００４７】
図７は、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリュームに格納されていたデータを、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリュームに格納する（移行する）要求が何らかの条件を契機として発生し、管理者が管理装置４を介して仮想化制御装置２にデータ移行要求を発行した場合の処理を示している。管理装置から発行されるデータ移行要求は、データ移行元及びデータ移行先の実ボリュームを識別するための情報（Port ID、Port Name、LUN等）を含むデータ移行制御情報４１３を有する。
【００４８】
データ移行要求を受信した仮想化制御装置２では、メイン制御部２０のデータ移行処理部５０３がデータ移行制御情報を解析し、解析結果に基づいてデータ移行処理を実行する。即ち、図７に示す例においては、データ移行処理部５０３の制御によって、仮想化制御装置２からPort ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリュームを持つ記憶装置３に対し、データ移行(copy)要求が発行される。このデータ移行要求には、データ移行先の実ボリュームを識別する情報（図7に示す例においては、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1）が含まれる。データ移行要求を受信したP_Pid_1で識別されるポートを持つ記憶装置は、LUN=0で識別される実ボリュームに格納されているデータを、P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリュームに宛てて送信する。P_Pid_3で識別されるポートを持つ記憶装置はP_Pid_1で識別されるポートを持つ記憶装置から受信したフレームデータをLUN=1で識別される実ボリュームに格納する。このように、P_Pid_1で識別されるポートを持つ記憶装置とP_Pid_3で識別されるポートを持つ記憶装置との間でデータのコピーを行うことによって、データ移行処理が実現される。
【００４９】
データ移行処理の完了後、データ移行処理部５０３はボリュームマッピング情報５１５にデータ移行先の実ボリュームを登録するとともに、仮想ボリューム管理情報５２０の仮想ボリュームのステータス情報を更新、登録する。係る情報の更新、登録がされた後のボリュームマッピング情報５１５の一例を図８に示す。
【００５０】
図８は、図７に示すデータ移行に伴い、Port ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームにマッピングされる（対応付けられている）実ボリュームが、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリューム（データ移行元の実ボリューム）から、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリューム（データ移行先の実ボリューム）に変更された場合の、変更後のボリュームマッピング情報５１５の一例を示す図である。
【００５１】
図８では、Port ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームにマッピングされる（対応する）実ボリュームとして、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリューム（データ移行元の実ボリューム）と、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリューム(データ移行先の実ボリューム)が登録されている。更に仮想ボリューム管理情報５２０のステータス情報は、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリュームがActiveであり、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリュームがInactiveであることを示している。仮想ボリュームに対するアクセス要求は、ステータス情報がactiveである実ボリュームに対して実行される。例えば図８に示すボリュームマッピング情報５１５に従ってルーティング処理部がアクセス要求やフレームデータを転送する場合、Port ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームに対するアクセス要求、或いはこのアクセス要求に基づくデータの転送処理は、仮想ボリューム管理情報５２０のステータス情報に基づき、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で認識される実ボリュームに対して実行される。
【００５２】
このように、ある記憶装置が有する実ボリューム内のデータが、他の記憶装置が有する実ボリュームに移行された場合、本実施形態においては仮想ボリュームと実ボリュームとの間のマッピング（対応関係）がデータ移行処理部５０３によって変更される。しかし、ホストコンピュータがボリュームにアクセスするために使用する識別情報は、仮想ボリュームの識別情報（仮想ポートのPort ID、Port Name、及び仮想ボリュームのLUN）であり、この識別情報はデータ移行が実行されても変化しない。例えば図７に示すデータ移行が実行される場合について考える。ホストコンピュータがPort ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームに対するアクセス要求を発行した場合、データ移行前は、仮想化処理部５０５は図４に示すボリュームマッピング情報５１５に基づいて、このアクセス要求をPort ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリュームに宛てて送信する。データ移行後は、仮想化処理部５０５は図８に示すボリュームマッピング情報５１５に基づいて、このアクセス要求をPort ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で認識される実ボリュームに宛てて送信する。したがって、本実施例によれば、ホストコンピュータがアクセス対象として認識するボリュームの識別情報を変更することなく、複数の記憶装置間でのデータ移行を実行することができる。
【００５３】
図８に示すボリュームマッピング情報５１５には、実ボリュームに対して発行された未完了のコマンドを識別する情報も登録される。図８では、P_Pid_1、P_Pname_1、LUN=0で識別されるデータ移行元の実ボリュームには、未完了のコマンドとしてC_id_0、C_id_1、C_id_2が、P_Pid_3、P_Pname_3、LUN=1で識別されるデータ移行先の実ボリュームには、未完了のコマンド（データ移行処理部５０３がデータ移行元の実ボリュームにデータ移行要求を送信した後に、仮想化制御装置２がホストコンピュータから受信したデータ移行対象となっている仮想ボリュームへのコマンド）としてC_id_3、C_id_4が登録されている。コマンドは、仮想化制御装置２がホストコンピュータからコマンドを受信したのを契機に仮想化制御装置２によってボリュームマッピング情報に登録され、仮想化制御装置２が記憶装置からコマンドに応じた処理の終了を通知する終了ステータス等を受信した場合に削除される。但し仮想化制御装置２は、データ移行要求をデータ移行元の実ボリュームに送信したことを契機に、ホストコンピュータ１から受信したデータ移行対象の仮想ボリュームに対するコマンドを、データ移行先の実ボリュームのエントリに登録する。また仮想化制御装置２は、データ移行元の実ボリュームにデータ移行要求を送信した後に、データ移行元の記憶装置３からデータライト系コマンドの終了ステータスを受信した場合には、未完了コマンドの登録を削除せずコマンドが完了したことのみをボリュームマッピング情報５１５に設定する。尚、図８では省略しているが、ボリュームマッピング情報５１５は、未完了のコマンドを識別するための情報以外に、コマンド情報を保持することも可能である。
【００５４】
尚、図７及び図８では、データ移行の単位としてボリュームを用い、ボリューム単位でデータ移行を実行する例を示したが、本発明はこれに限られるものではない。ボリュームマッピング情報５１５が、データ移行元の記憶装置の開始／終了アドレス情報とデータ移行先の記憶装置の開始／終了アドレス情報を保持すれば、ブロックアドレス単位でデータ移行を実行することも可能である。
また図７及び図８では、データ移行処理部５０３が一台の記憶装置に対してデータ移行要求を発行することにより、データ移行が実行される例を示したが、これに限られるものではない。例えばデータ移行処理部５０３がデータ移行元の記憶装置にはリード要求を、データ移行先の記憶装置にはライト要求をそれぞれ発行することによって、データ移行を実行することも可能である。
【００５５】
尚、仮想ボリューム管理情報５２０のステータス情報は、管理装置４のボリューム管理部４０１によって設定・更新が可能であることが望ましい。
【００５６】
図９は、仮想化制御装置２のルーティング処理部５０１によって実行される、フレームデータの転送処理の一例を示す図である。本処理は、ホストコンピュータ１或いは記憶装置３から仮想化記憶装置２がフレームデータを受信したことを契機として開始される(100)。フレームデータを受信したルーティング処理部５０１は、フレームデータに含まれるフレームデータの送信元／送信先の識別情報（送信元のPort ID、送信先のPort ID等）、及び必要な場合はフレームデータに含まれるフレームデータの種別情報、及びフレームのペイロードに含まれる各種情報（送信先のLUN等）を用いて、仮想化処理が必要か否かを判別する(101)。具体的には、送信先のPort IDやLUNが、ボリュームマッピング情報５１５の仮想ボリューム管理情報５２０に登録されている場合には、そのフレームデータは仮想化処理が必要なフレームデータであると判定される。
【００５７】
仮想化処理が必要な場合、以下に示す仮想化処理(102)を仮想化処理部５０５が実行する。
１．受信したフレームデータが、ホストコンピュータから仮想記憶装置へのフレームデータである場合
仮想化処理部５０５は、ボリュームマッピング情報５１５に基づきフレームデータ中の送信先識別情報が示す仮想記憶装置に対応する記憶装置を検出する。そしてホストコンピュータから受信したフレームデータをこの記憶装置宛てのフレームデータに変換する為、フレームデータに含まれるフレームデータの送信先識別情報(D_ID)をこの記憶装置のPort IDに変換する。また受信したフレームデータ中のCRCを新たな送信先識別情報に基づくCRCに変換する。そして変換後のフレームデータは、ポート２３を介して記憶装置３に向けて送信される。
２．受信したフレームデータが、仮想記憶装置にマッピングされた（対応づけられた）記憶装置からホストコンピュータに対するフレームデータである場合
仮想化処理部５０５は、ボリュームマッピング情報５１５に基づきフレームデータ送信元の記憶装置に対応する仮想記憶装置を検出する。そして記憶装置から受信したフレームデータを、この仮想記憶装置からのフレームデータに変換する為、フレームデータ内の送信元識別情報(S_ID)を仮想記憶装置のPort IDに置き換える。又、フレームデータ内のCRCを、新たな送信元識別情報に基づくCRCに置換える。そして、送信元識別情報とCRCが置き換えられたフレームデータは、ポート２３を介してホストコンピュータ１に対して送信される。
【００５８】
図９に示す仮想化処理要否の判別において(101)、ルーティング処理部５０１が仮想化処理は不要と判別した場合、実ルーティング処理部５０４がルーティング情報５１４に基づいて、受信したフレームデータのルーティング処理を実行する(103)。
【００５９】
図１０は、仮想化制御装置２のデータ移行処理部５０３が実行する、データ移行処理の一例を示す図である。
【００６０】
データ移行処理は、管理装置４から仮想化制御装置２がデータ移行要求を受信した場合に開始される(110)。データ移行要求を受信したデータ移行処理部５０３は、データ移行要求が有するデータ移行元及びデータ移行先の実ボリュームを示す情報に基づいて、データ移行制御情報５１３を生成する。尚、データ移行制御情報は、少なくともデータ移行元及びデータ移行先の実ボリュームを識別するための情報（Port ID、 LUN等）を有する。そしてデータ移行処理部５０３は、データ移行制御情報５１３に基づき、データ移行元の実ボリュームを有する記憶装置３に対して、アクセス要求（データ移行要求）を発行する(111)。
【００６１】
データ移行要求の発行後データ移行処理部５０３は、アクセス要求を発行した個々の記憶装置３から終了報告を受信するのを待つ(112)。そして、データ移行処理部５０３は、データ移行要求を発行した記憶装置３からの終了報告が、全て正常終了を通知する終了報告であるかを確認する(113)。尚、データ移行処理部５０３が異常終了を通知する終了報告を受信した場合には、データ移行処理部５０３が、この終了報告の発行元の記憶装置に対して、個別にアクセス要求（データ移行要求）の発行処理(111)から終了報告の確認処理（113）までの処理を再実行することが望ましい。
【００６２】
データ移行処理部５０３が、データ移行要求の発行先記憶装置３全てから正常終了を示す終了報告を受信した場合は、データ移行処理部５０３は仮想ボリューム管理情報５２０に、データ移行先の実ボリュームを登録すると共に、仮想ボリューム管理情報のステータス情報を更新し(114)、データ移行処理の終了を管理装置４に対して報告する(115)。
【００６３】
尚、図１０に示すデータ移行処理においては、仮想化制御装置２からデータ移行要求を受信するデータ移行元の記憶装置３が以下の様な機能を有することによって、仮想ボリューム管理情報５２０のステータス情報が更新される時点で、移行元の実ボリュームに対するアクセス要求は全て完了していることが保証される。
【００６４】
データ移行元の記憶装置３は、データ移行処理中にホストコンピュータ１からライトコマンドを受信した場合、ライトコマンドに従って記憶媒体３５にデータを書き込むと共に、ライトデータを一時的に保持するための記憶領域（退避ボリューム）に、書き込まれたライトデータを格納する。尚退避ボリュームは、記憶装置３が有する記憶媒体中の記憶領域である。そして、データ移行処理の一環としてデータ移行元の記憶装置３は、退避ボリュームに格納されたデータを、データ移行先の記憶装置３に送信する。従って、データ移行元の記憶装置３が仮想化制御装置２のデータ移行処理部５０３に終了報告を送信する際には、データ移行元の実ボリュームに対する未完了のコマンドは存在せず、かつデータ移行処理中に実行されたライト処理によって変更されたデータは、データ移行先の記憶装置にも既に送信されていることとなる。このため、データ移行処理部５０３が仮想ボリューム管理情報５２０を更新する時点で、データ移行元の実ボリュームに対するアクセス要求は全て処理済みであることが保証される。従って、実ボリューム間でデータを移行し、仮想ボリュームにマッピングされる実ボリュームをデータ移行元の実ボリュームからデータ移行先の実ボリュームに変更する際に、データの整合性を保証することができる。
【００６５】
以上に説明したデータ移行処理により、複数の記憶装置間におけるデータ移行処理を制御する仮想化制御装置は、個々の記憶装置の持つ機能を活用することによって、データ移行処理に要する処理負荷を軽減することができる。
【００６６】
尚、データの整合性を保証するための他の方法として、以下の方法を用いることもできる。仮想化制御装置２のボリュームマッピング情報５１５に、実ボリューム毎に受信したコマンドを登録するためのエントリを持たせる。仮想化制御装置２のルーティング処理部５０１は、ホストコンピュータから記憶装置３宛てのコマンドを受信する度に、このコマンドの転送先の実ボリュームに対応するエントリにコマンドの内容を登録する。また、仮想化制御装置２が記憶装置からコマンドに応じた処理の終了報告を受信した際には、ルーティング処理部５０１は、ボリュームマッピング情報５１５に登録したコマンドを削除する。この様に、仮想化制御装置２が未完了なコマンドの存在を把握できるよう、ボリュームマッピング情報５１５を構成した上で、仮想化制御装置２のデータ移行処理部５０３が記憶装置３にデータ移行要求を送信した後は、ホストコンピュータ１からデータ移行対象の仮想ボリュームに対するコマンドを受信した仮想化制御装置２のルーティング処理部５０１は、このコマンドを仮想化制御装置２が有する記憶媒体５２に一時的に格納する。そして、仮想化制御装置２がデータ移行元の記憶装置３からデータ移行完了報告を受信した場合には、仮想化制御装置２のルーティング処理部は、記憶媒体５２に格納していたコマンドを、データ移行先の実ボリュームに対して転送する。係る方法を用いることによって、仮想化制御装置２がデータ移行元の記憶装置３にデータ移行要求を送信してから、この記憶装置３から終了報告を受信するまでの時間を短縮することができる。
【００６７】
尚、前述の通り、データ移行処理部５０３が仮想ボリューム管理情報５２０のステータス情報を更新した後は、仮想ボリュームに対するアクセス要求或いはアクセス要求に基づくデータの転送等は、仮想ボリューム管理情報５２０のステータス情報に基づき、Activeな実ボリュームに対して実行される。
【００６８】
以上に説明したように、仮想化制御対象の記憶装置間でデータ移行を実行する場合、仮想化制御装置２がボリュームマッピング情報５１５を更新することによって、ホストコンピュータ１がアクセス対象として認識する仮想ボリュームの識別情報を変更することなく，仮想ボリュームにマッピングされる実ボリュームをダイナミックに変更することができる。従って、ホストコンピュータ１は、記憶装置（実ボリューム）間でデータ移行が実行されたことを意識することなく、仮想ボリュームに対するアクセス処理を継続することができる。
【００６９】
ところで、上述の実施形態では、仮想化制御装置２からデータ移行要求を受信した記憶装置３（データ移行元）の機能を用いてデータの整合性（仮想ボリューム管理情報５２０の更新時に、変更前の実ボリュームに対する全てのアクセス要求が完了していること）を保証している。しかし、本発明はこれに限定されるものではない。
【００７０】
以下に、データ移行処理の他のバリエーションとして、仮想化制御装置２が有する機能のみを用いて、変更前の実ボリュームに対するアクセス要求が全て完了したことを検出する方法を説明する。
【００７１】
この方法においては、仮想化制御装置２のボリュームマッピング情報５１５に、実ボリューム毎に受信したコマンドを登録するためのエントリを持たせる。仮想化制御装置２は、ホストコンピュータから仮想ボリューム若しくは実ボリューム宛てのコマンドを受信する度に、このコマンドの転送先の実ボリュームに対応するエントリにコマンドの内容を登録する。また、仮想化制御装置２が記憶装置からコマンドに応じた処理の終了ステータスを受信した際には、ボリュームマッピング情報５１５に登録したコマンドを削除する。尚、エントリに登録されているコマンド自体は、仮想化制御装置２が記憶媒体５２内に保持する。
【００７２】
仮想化制御装置２は、データ移行要求を記憶装置３に送信したことを契機に、ホストコンピュータ１から受信したデータ移行対象の仮想ボリュームに対するコマンドを、データ移行先の実ボリュームに対応するエントリに登録する。更に仮想化制御装置２は、データ移行要求を送信した後に，データ移行元の記憶装置３からデータライト系コマンドの終了ステータスの報告を検出した場合は、ボリュームマッピング情報に登録されているコマンドを削除せず、コマンドに対する処理が完了したことのみをボリュームマッピング情報に登録する。
【００７３】
仮想化制御装置２は、データ移行元の実ボリュームに対する未完了のコマンドが無くなったことを条件として（データ移行元の実ボリュームに対応付けられてボリュームマッピング情報５１５に登録されているコマンド全てについて、処理済みを示す情報が登録されていることを条件として）、仮想化制御装置２が一時的に保持しているデータライト系コマンド（ボリュームマッピング情報５１５に完了を示す情報が登録され、未削除のコマンド）に基づき、データ移行元の実ボリュームとデータ移行先の実ボリュームとの間でのデータの更新処理を実行する。
即ち、データ移行要求送信後にライト系コマンドに基づいてデータ移行元の実ボリュームで実行されたデータの更新を、データ移行先の実ボリュームにも反映するため、仮想化制御装置２は、データ移行元の実ボリュームで更新されたデータをデータ移行先の実ボリュームに書き込むようデータ移行元及びデータ移行先の記憶装置を制御する。
【００７４】
更に仮想化制御装置２は、データ移行元の実ボリュームとデータ移行先の実ボリューム間でデータ更新処理が完了したのを契機に、ボリュームマッピング情報５１５に登録されている、データ移行要求送信後に受信した仮想ボリュームに対するコマンドを、データ移行先の実ボリュームに対して送信する。
【００７５】
尚、データ移行処理において、仮想化制御装置２がデータライト系コマンドの処理状態を監視することとしても良い。例えば仮想化制御装置２は、データ移行要求発行前にデータ移行元の実ボリュームに対して発行されたライト系コマンドに基づくライト処理が、データ移行処理開始後にも未だ実行されていない場合（データ移行元の記憶装置と仮想化制御装置２との間でのライトコマンドに基づくライトデータ転送が開始されていない場合）は、データ移行元に対してライト処理のアボート処理を実行する。即ち、仮想化制御装置２は、データ移行元の実ボリュームに対して発行されたライトコマンドをキャンセルする要求をこの実ボリュームに対して発行し、キャンセルされたライトコマンドと同一のライトコマンドをデータ移行処理完了後にデータ移行先の実ボリュームに対して発行する。係る処理により、オーバヘッドの少ないデータ移行処理を実現することができる。
【００７６】
以上の処理により、仮想ボリュームにマッピングされる実ボリュームを変更した場合にも、変更前の実ボリュームと変更後の実ボリュームとの間でデータの整合性を保証することができる。
【００７７】
図１１は、仮想化制御装置２の記憶装置監視処理部５０２によって実行される記憶装置の接続状態監視処理の一例を示す図である。仮想化制御装置２の記憶装置監視処理部５０２は、ポート２３に接続される記憶装置の接続状態を監視し、接続状態の変化を検出した際に図１１に示す処理を開始する(120)。
【００７８】
尚、仮想化制御装置２に接続される記憶装置３は各々自己の状態を仮想化制御装置に通知するためのソフトウェアを記憶装置３が有するメモリに格納している。このソフトウェアが記憶装置のCPU30によって実行されることによって、記憶装置は仮想化制御装置の記憶装置監視処理部５０２に記憶装置のNode Name、Port Name、Port ID、記憶装置が有する実ボリュームのLUN、サイズ等の管理情報を送信する。従って、記憶装置監視処理部５０２は、記憶装置から受信する管理情報から接続状態を検出することができる。また、仮想化制御装置２は、ポート２３に記憶装置が接続されている場合にはその旨を検出することができ、又ポート２３から記憶装置が切り離された場合にもその旨を検出することができる。従って、記憶装置監視処理部５０２は、ポートと記憶装置との接続状態を自身で検出することによっても、接続状態の変化を検出することができる。
【００７９】
接続状態の変化を検出した記憶装置監視部５０２は、先ず接続状態の変化が、新たな記憶装置の追加によるものなのか、それ以外の変化、例えばポート２３と記憶装置との間の接続が切断されることによるものなのかを判別する(121)。
【００８０】
新たな記憶装置が追加された場合には、記憶装置監視部５０２はこの記憶装置から記憶装置のポートの識別情報としてNode Name（装置毎に固有）情報、Port ID（ネットワークで固有）情報、Port Name（ポート毎に固有）情報を、また更に記憶装置が管理する実ボリュームの管理情報としてLUN (Logical Unit Number：装置内で固有)情報等の情報を取得する。そして記憶装置監視部５０２は、記憶装置ごとに固有の情報であるNode Nameや、記憶装置のポートに固有の識別子情報であるPort Nameが既に記憶装置状態管理情報５１２に登録済みであるか否かを判別し(122)、判別結果に基づき以下の処理を実行する。
【００８１】
取得したNode NameやPort Nameが既に記憶装置状態管理情報５１２に登録されている場合は、記憶装置監視部５０２が登録済みの記憶装置が接続されたことを管理装置４に対して報告し(123)、一連の記憶装置監視処理を終了する。尚、記憶装置から取得したNode NameやPort Nameに対応付けられたPort ID（ネットワークで固有）情報が既に管理装置４によって記憶装置状態管理情報５１２に登録されている場合には、仮想化制御装置２が記憶装置にこの登録済みのPort IDを設定することが望ましい。またPort IDが登録されていない場合は、仮想化制御装置がPort IDを記憶装置に割当ててこの記憶装置に設定し、記憶装置状態管理情報５１２に記憶装置に設定したPort IDを登録すると共に、管理装置４にこのPort IDを報告することが望ましい。更に、記憶装置から記憶装置監視処理部５０２が取得した実ボリュームの管理情報と、記憶装置状態管理情報５１２に登録済みの管理情報とが異なる場合は、記憶装置監視部５０２が記憶装置状態管理情報５１２を取得した管理情報を用いて更新し，管理装置４に報告することが望ましい。
【００８２】
記憶装置から記憶装置監視処理部５０２が取得したNode NameやPort Name情報が、記憶装置状態管理情報５１２に登録されていない場合、記憶装置監視処理部５０２は取得した情報を記憶装置状態管理情報５１２に登録し(124)、管理装置４に報告し(123)、一連の記憶装置監視処理を終了する。
【００８３】
ステップ１２１において、新たな記憶装置の追加以外（例えば，記憶装置の削除等）による接続状態の変化であると記憶装置監視部５０２が判断した場合には、記憶装置監視部５０２が、接続状態が変化した記憶装置が仮想化制御の対象であるか否かを判別し(125)、判別結果に基づき以下の処理を実行する。
【００８４】
仮想化制御の対象となる記憶装置である場合は、記憶装置監視部５０２は検出した接続状態の変化を管理装置４に対して報告し(123)、一連の記憶装置監視処理を終了する。仮想化制御の対象外の記憶装置である場合には、記憶装置監視部５０２は，ネットワークプロトコルの規定に基づいた処理（例えば，Fibre ChannelにおけるRSCN (Registered State Change Notification)の通知）を実施し(126)、一連の記憶装置監視処理を終了する。
【００８５】
以上の処理によって、仮想化制御装置２に接続される記憶装置３各々について、仮想化制御装置２が接続状態を監視し、接続状態が変化した場合には変化を管理装置に通知するよう制御することができる。また、仮想化制御装置２に接続される各記憶装置３について、記憶装置３が仮想化制御対象であるか否かに基づき、接続状態の変更通知を制御することができる。
［第二の実施形態］（パーソナル情報を用いた記憶装置の識別）
第一の実施形態においては、記憶装置３のポート３３を識別する情報として、Port ID、Port Nameが用いられる。しかし、本発明はこれに限られるものでは無く、記憶装置３のポート３３を識別することができる情報であれば他の情報であっても良い。第一の実施形態においては、記憶装置３を識別する情報としてNode Nameが用いられたが、これも記憶装置３を識別することができる情報であれば他の情報でも良い。例えば記憶装置３を識別するための情報として、SCSI (Small Computer System Interface)で規定するVital product dataのDevice Identification page (83h)で用いられる識別子情報を用いることもできる。また、任意のボリュームを識別するための情報として、ベンダ独自の識別子情報（以下，パーソナル情報）を用いることもできる。
【００８６】
以下、パーソナル情報によって、記憶装置３が有する実ボリュームや、仮想化制御装置がホストコンピュータに提供する仮想ボリュームが識別される場合における、データ移行方法について、図１２〜１４を用いて説明する。
【００８７】
図１２は、パーソナル情報を登録するためのエントリを有するボリュームマッピング情報５１５の一例を示す図である。図１２は、P_Pid_1 (LUN=0/1)、P_Pid_2 (LUN=0)、P_Pid_3 (LUN=0)で識別される各実ボリューム各々がパーソナル情報を保持する例であり、仮想ボリュームも実ボリュームと同様に、パーソナル情報を保持している。
【００８８】
ここで仮想ボリュームにつけられたパーソナル情報は、V_Pid_2 (LUN=0)で識別される仮想ボリュームに付けられているパーソナル情報“DDD_01”のように、対応する実ボリュームのパーソナル情報“BBB_01”と一致する必要は無い。仮想ボリュームに割り当てられるパーソナル情報は、仮想化制御装置２が生成し、仮想ボリュームを識別するための情報としてボリュームマッピング情報５１５に登録されることとしてもよい。又、実ボリュームがパーソナル情報を持たない場合にも、仮想化制御装置２が仮想ボリュームに対するパーソナル情報を生成してボリュームマッピング情報５１５に登録することができる。尚、V_Pid_2 (LUN=1)で識別される仮想ボリュームに付けられているパーソナル情報“AAA_00”のように、対応する実ボリュームのパーソナル情報“AAA_00”と同じパーソナル情報を仮想ボリュームに割り当てることもできる。
【００８９】
更に、仮想ボリュームにつけられるパーソナル情報は、仮想ボリュームに対応付けられている実ボリュームが変更され、データ移行が実行されても、変更する必要はない。従って、例えばV_Pid_1 (LUN=0、 Active)に付けられているパーソナル情報“AAA_01”は、対応する実ボリュームのパーソナル情報“CCC_01”には一致しないが、データ移行前の実ボリュームのパーソナル情報“AAA_01”とは一致している。これは、V_Pid_1 (LUN=0、 Active)で識別される仮想ボリュームが、データ移行前は対応する実ボリュームと同じパーソナル情報を有していおり、データ移行後もパーソナル情報を変更することなくデータ移行元の実ボリュームと同一のパーソナル情報を引き継いでいるからである。
【００９０】
図１３は、パーソナル情報を用いてボリュームを識別するホストコンピュータ１が、仮想化制御装置２を介してボリュームにアクセスする際に実行される処理の一例を示す。
【００９１】
尚、第二の実施形態におけるホストコンピュータ１は、第一の実施形態における構成に加え更に記憶装置識別処理部１５を有する。記憶装置識別処理部１５は、ホストコンピュータのメモリ１１に格納されているプログラムがCPU１０に実行されることによって実現され、パーソナル情報を用いてホストコンピュータがアクセスするボリューム及び記憶装置を識別する。即ち、記憶装置識別処理部１５は、記憶装置にアクセスする際にまず、ホストコンピュータとネットワークを介して接続される記憶装置各々に対して、記憶装置内の実ボリュームを識別するためのパーソナル情報を送信するよう要求し、各記憶装置からパーソナル情報を受信する。そして記憶装置識別処理部１５は、ホストコンピュータのメモリ１１に格納されているアクセス対象の実ボリュームのパーソナル情報と、各記憶装置から受信したパーソナル情報を照合する。記憶装置識別処理部１５は、アクセス対象の実ボリュームのパーソナル情報と同一のパーソナル情報を送信した記憶装置を、アクセス対象の記憶装置であると判別する。以上の記憶装置識別処理によって、アクセス対象の記憶装置が特定されると、ホストコンピュータは特定された記憶装置に対してアクセス要求を発行する。
【００９２】
図１３では、ホストコンピュータ１がパーソナル情報“AAA_01”で識別される実ボリュームにアクセスする例を示す。
【００９３】
まず、ホストコンピュータ１が記憶装置３と仮想化制御装置２を介さずに接続している場合を考える。図１３においては、Port ID=P_Pid_1、Port Name=P_Pname_1で識別される記憶装置３のポートから、パーソナル情報“AAA_01”を有する実ボリュームにアクセスすることができる。従って記憶装置識別処理部１４は、このポートを有する記憶装置３からパーソナル情報“AAA_01”を受信することとなり、この記憶装置３をアクセス対象として特定する。すると、ホストコンピュータは、パーソナル情報“AAA_01”を受信した際受信フレームに含まれている送信元のアドレス情報（Port ID=P_Pid_1）や実ボリュームの識別情報（LUN=0）を用いて、アクセス対象の記憶装置３にアクセス要求を発行する。以降、このアクセス要求に基づくホストコンピュータから記憶装置とへのデータの送信は、Port ID=P_Pid_1、LUN=0の識別情報を有するフレームによって行われる。
【００９４】
次に図１３に示すように、ホストコンピュータ１と記憶装置３とが仮想化制御装置２を介して接続され、且、記憶装置３が仮想化制御対象である場合を考える。仮想化制御装置２の仮想化処理部５０５は、記憶装置３が有する実ボリュームに仮想ボリュームを割り当て、（ボリュームマッピング情報５１５に実ボリュームと対応付けて仮想ボリュームの識別情報を登録し）、実ボリュームのパーソナル情報“AAA_01”と同一のパーソナル情報を仮想ボリュームのパーソナル情報としてボリュームマッピング情報５１５に設定する。
【００９５】
仮想化処理部５０５が係る処理を実行することによって、ホストコンピュータ１の記憶装置識別処理部１５が、ネットワークを介して接続する装置に対してパーソナル情報を送信するよう要求すると、仮想化制御装置２がパーソナル情報“AAA_01”をホストコンピュータ１に送信することになる。従って、ホストコンピュータの記憶装置識別処理部１５は、仮想化制御装置２からパーソナル情報“AAA_01”を受信した際、受信フレームに含まれている送信元のアドレス情報（Port ID=V_Pid_1）及び仮想ボリュームの識別情報（LUN=0）で識別される仮想記憶装置の仮想ボリュームをアクセス対象のボリュームと判別する。そして、ホストコンピュータは、Port ID=V_Pid_1、LUN=0の識別情報を有するフレームを送信することによって、アクセス対象の仮想ボリュームへアクセス要求やデータを送信する。Port ID=V_Pid_1、LUN=0の識別情報を有するフレームは、仮想化制御装置２の仮想化ルーティング処理部５０５によって、Port ID=P_Pid_1、LUN=0で識別される実ボリューム宛のフレームに変換された後、Port ID=P_Pid_1で識別されるポートを有する記憶装置３に向けて送信される。尚、ホストコンピュータがアクセス対象の記憶装置を検出（判別）した後の処理については、第一の実施形態と同一であるので詳細な説明は省略する。
【００９６】
以上に示したように、ホストコンピュータ１の記憶装置識別処理部１５は、記憶装置３が仮想化制御装置２の仮想化制御対象下に置かれた場合でも、Port ID=V_Pid_1、Port Name=V_Pname_1で識別される仮想ポートが持つ仮想ボリュームに設定されたパーソナル情報“AAA_01”を用いて、アクセス対象の記憶装置やボリュームを検出することができる。
【００９７】
尚、図１３において、ホストコンピュータ１と記憶装置３との間にルーティング処理のみを行うスィッチ（仮想化ルーティング処理部５０５を備えていないスイッチ）が介在しても上述の処理と同様の処理によって、ホストコンピュータは仮想ボリュームをアクセス対象のボリュームであると認識することができ、仮想化制御装置２はホストコンピュータからのフレームデータを仮想ボリュームに対応付けられている実ボリュームに転送することができる。
【００９８】
また、図１３においては、実ボリュームに対応するPort ID (P_Pid_1)と仮想ボリュームに対応するPort ID (V_Pid_1)とは異なる値を有する。しかし本発明はこれに限定されるものではなく、仮想ポートのPort IDは仮想化制御装置２が割り当てることができる情報であるから、例えば仮想ボリュームに対応するPort IDをこの仮想ボリュームに対応する実ボリュームにアクセスするために用いられる実ポートのPort IDと同じ値（即ちPort ID=P_Pid_1）となるよう設定することもできる。
【００９９】
図１４は、仮想化制御対象である記憶装置間でデータ移行が実施される時の、パーソナル情報の制御例を示す図である。
【０１００】
図１４は、Port ID=P_Pid_1、パーソナル情報“AAA_01”で識別される実ボリュームに格納されているデータを、Port ID=P_Pid_3、パーソナル情報“CCC_01”で識別される実ボリュームに移行する場合を示している。図１４においては、仮想ボリュームのパーソナル情報として、この仮想ボリュームに対応づけられている実ボリュームのパーソナル情報と同一の情報（AAA_01）を用いている。そして、データ移行が実行された場合には、仮想化制御装置２の仮想化処理部５０５はデータ移行によって仮想ボリュームに対応づけられている実ボリュームが変更されても仮想ボリュームのパーソナル情報は変更することなく、仮想ボリュームのパーソナル情報としてデータ移行元の実ボリュームのパーソナル情報“AAA_01”を引き継ぐ。
【０１０１】
以上の処理、即ちデータ移行処理前に仮想ボリュームに設定したパーソナル情報をデータ移行処理後も引き継ぐことによって，ホストコンピュータ１がパーソナル情報を用いてボリュームを識別する場合でも、記憶装置間でのデータ移行処理をホストコンピュータに対して隠蔽することができ、ホストコンピュータは、データ移行前にホストコンピュータが使用していたアクセス先ボリュームの識別情報を用いてデータ移行後のアクセス先ボリュームを識別することができる。この結果、ホストコンピュータは記憶装置間でデータ移行処理が実行されても、ホストコンピュータで実行されている処理を中断することなく、処理を継続することができる。尚、仮想ボリュームに設定したパーソナル情報の引継ぎ処理以外については、第一の実施形態と同一であるので説明は省略する。
【０１０２】
更に、仮想ボリュームに設定したパーソナル情報を、複数の仮想化制御装置間で引き継ぐことができるようにすれば、ホストコンピュータ１がパーソナル情報を用いてボリュームの識別を行う場合、仮想化制御装置の交換をホストコンピュータに対して隠蔽することができる。この結果、ホストコンピュータは自身が実行する処理を中断することなく継続することが可能となる。仮想ボリュームのパーソナル情報は、ボリュームマッピング情報５１５の一部として仮想化制御装置２のルーティング処理部５０１が管理装置４のボリューム管理部４０１に通知し、管理装置４にボリュームマッピング管理情報４１１として保存されている。従って、仮想化制御装置が交換される場合には、管理装置４のボリューム管理部４０１が新たな仮想化制御装置２に対して、旧仮想化制御装置２のボリュームマッピング管理情報４１１を通知し、これを新たな仮想化制御装置２のボリュームマッピング情報５１５に設定すれば、複数の仮想化制御装置間でパーソナル情報を引き継ぐことができる。
【０１０３】
尚仮想化制御装置を交換する場合には、仮想化制御装置が管理する仮想ポートの識別子情報も交換後の仮想化制御装置に引継げるように構成することが望ましい。また、仮想化制御装置２が、仮想ボリュームに設定されたパーソナル情報をデータ移行処理後も変更せず、従前のパーソナル情報を引継ぐか否か（データ移行元のパーソナル情報を用いる）、或いは新たなパーソナル情報を設定するか否か等について、管理者が管理装置４を介して仮想化制御装置２に設定できるよう構成することが望ましい。
【０１０４】
尚第二の実施形態では、記憶装置３や仮想化制御装置２がボリューム毎にパーソナル情報を保持する（即ち、ボリュームごとにパーソナル情報が割り当てられる）ものとしているが、これに限定されるものではない。例えば記憶装置３や仮想化制御装置２がパーソナル情報を記憶装置単位で保持することも可能である。更に第二の実施形態では、Port ID、Port Nameと、パーソナル情報とからポートを識別するものとしているが、これに限られるものではない。ポートを一意に識別できる方法であればどのような情報を用いても良く、更に各識別情報のうち任意の情報の組合せでポートを識別するものとしても良い。
【０１０５】
図１７に、ホストコンピュータと記憶装置が各々複数のポートを有する場合の計算機システムの構成を示す。図１７に示すホストコンピュータ１は、図１３に示すホストコンピュータ１に、更に複数のポート１３（Hid_1、Hid_2）を備えた構成を有している。また、図１７に示す記憶装置３は、図１３に示す記憶装置３に更に複数のポート３３（P_Pid1、P_Pid2）を備えた構成を有している。
【０１０６】
記憶装置が複数のポートを有するので、ホストコンピュータ１の記憶装置識別処理部１５が記憶装置３にパーソナル情報を送信するよう要求すると、複数のポートから同じ値のパーソナル情報が送信されることとなる。そこで記憶装置識別情報処理部１５は同じパーソナル情報を送信した複数のポートをボリューム管理情報としてメモリ１１に格納して管理する。
【０１０７】
図１８は、ホストコンピュータ１のメモリ１１に格納されるボリューム管理情報の一例を示す図である。ボリューム管理情報はホストコンピュータが各記憶装置からパーソナル情報を受信した際に記憶装置識別処理部１５によって作成される。ボリューム管理情報は、記憶装置毎に作成され、記憶装置が有する実ボリュームのボリューム番号、実ボリュームのパーソナル情報、ホストコンピュータ１から実ボリュームをアクセスする際に使用されるパス、及び実ボリュームのステータス情報が登録される。ここで、パス情報としては、プライマリパスとセカンダリパスの2つの情報が登録される。ホストコンピュータは通常はプライマリパスを用いて実ボリュームにアクセスするが、プライマリパスに障害が生じたり、プライマリパスが切断された場合には、ホストコンピュータはパスを切り替え、セカンダリパスを用いて実ボリュームにアクセスすることができる。
【０１０８】
図１７を用いて、ホストコンピュータと記憶装置とが仮想化制御装置を介さずに接続している計算機システムにおいて、ホストコンピュータが実行している処理を中断することなくホストコンピュータと記憶装置の間に仮想化制御装置を接続し、記憶装置の実ボリュームを仮想化制御装置が仮想化してホストコンピュータに提供するよう計算機システムを変更するために実行される処理を説明する。
【０１０９】
まず、ホストコンピュータ１のポートHid_1と記憶装置３のポートP_Pid_1とがパス5-aで接続されており、ホストコンピュータのポートHid_2と記憶装置１のポートP_Pid_2がパス5-bで接続されている場合を考える。ホストコンピュータ１のメモリ１１には図１８に示すボリューム管理情報が記憶されており、このボリューム管理情報に従って、ホストコンピュータはパーソナル情報AAA_01で識別される実ボリュームをアクセスする場合にはポートHid_1とポートP_Pid_1を経由するプライマリパス5-aを使用し、パーソナル情報AAA_02で識別される実ボリュームをアクセスする場合にはポートHid_2とポートP_Pid_2を経由するプライマリパス5-bを使用する。
【０１１０】
次に上述の様な計算機システムにおいて、パス5-bを切断して、仮想化制御装置２を導入する場合に実行される処理を説明する。
１．パス5-bは切断されるので、ホストコンピュータはAAA_02で識別される実ボリュームをアクセスするために用いるパスをパス5-bからパス5-aに変更する必要がある。そこで記憶装置識別処理部１５は、一時的にAAA_02で識別される実ボリュームへのアクセスを中止するため、ボリューム管理情報中のこの実ボリュームのステータス情報にInactiveを登録する。そして、ホストコンピュータのCPU10の制御により、ボリューム管理情報にセカンダリパスとして登録されているパス5-aを用いてAAA_02で識別される実ボリュームにアクセスするようパスを変更する。パスの変更後、記憶装置識別処理部１５はボリューム管理情報中のAAA_02で識別される実ボリュームのステータス情報をactiveに戻す。尚、以上の処理は、ホストコンピュータが、キーボード等の入力装置を介してホストコンピュータのユーザからの指示を受け付け、この指示に基づいてCPU10が実行する。また、記憶装置識別処理部１５が自動的に係る処理を実行することとしても良い。即ち、記憶装置処理部１５が、ボリューム管理情報を参照して、自動的にプライマリパスからセカンダリパスへの変更を実行しても良い。
２．次に、パス5-bを切断し、ホストコンピュータ１と記憶装置３との間に仮想化制御装置２を接続する。具体的にはホストコンピュータのポートHid_2と仮想化制御装置２のポート２３をパス5-cで接続し、記憶装置３のポートP_Pid_2と仮想化制御装置２のポート２３をパス5-dで接続する。
３．仮想化制御装置２が計算機システムに接続されたら、仮想化制御装置のボリュームマッピング情報５１５を設定する。具体的には、仮想化制御装置２の仮想化処理部５０５が、記憶装置３が有するAAA_02で識別される実ボリュームに対応する仮想ボリュームを設定するため、この実ボリュームに対応付けて仮想Port ID（Port ID=V_Pid_1）、仮想Port Name(Pname=V_Pname_1)をボリュームマッピング情報５１５に登録する。また、この仮想ボリュームには、対応する実ボリュームのパーソナル情報AAA_02と同一のパーソナル情報が仮想化処理部５０５によって割り当てられ、ボリュームマッピング情報５１５に登録される。尚、ボリュームマッピング情報の設定は、管理装置４がユーザから受け付けた入力情報に従って行われる。即ち、管理情報４がユーザから受け付けた情報は、ボリューム管理部４０１の制御により仮想化制御装置２の仮想化処理部５０５に送信され、この入力情報に基づいて仮想化処理部５０５がボリュームマッピング情報を設定する。
４．ボリュームマッピング情報５１５が設定された後、ホストコンピュータ１はユーザからの指示を受け付けて、自装置が接続する他の装置に対してパーソナル情報を送信するよう要求する。すると、この要求を受信した仮想化制御装置２は、パーソナル情報AAA_02をホストコンピュータに送信する。
５．パーソナル情報AAA_02を仮想化制御装置２から受信したホストコンピュータ１は、受信フレームに含まれている送信元アドレス（Port ID=V_Pid_1等）から、新しい装置からパーソナル情報を受信したことを検出する。すると、記憶装置識別処理部１５は、再度AAA_02で識別される実ボリュームのステータス情報をInactiveに変更する。そして、記憶装置識別処理部１５は、ボリューム管理情報に登録されているAAA_02で識別される実ボリュームにアクセスするためのプライマリパスを、受信フレームに含まれる送信元アドレスに基づいて、ポートHid_2及びポートP_Pid_2経由のパスから、ポートHid_2及びポートV_Pid_1（仮想ポート）経由のパスに変更する。そして、ホストコンピュータのCPU10の制御により、プライマリパスを用いてAAA_02で識別される実ボリュームにアクセスするよう、アクセス用パスを変更する。パスの変更後、記憶装置識別処理部１５は、AAA_02で識別される実ボリュームのステータス情報をActiveに戻す。
【０１１１】
上記ボリューム管理情報の一例として，ボリューム毎のステータス情報を保持する場合を例に説明したがこれに限定されるものではない。例えば，プライマリパス・セカンダリパス等のアクセスパス毎に，実ボリュームへのアクセス可否を示すステータス情報を保持し，ホストコンピュータの記憶装置識別処理部がどのアクセスパスを用いて実ボリュームへのアクセスを行うかの制御を実行することも可能である。尚，上記実ボリュームへのアクセス可否を示すステータス情報は，ホストコンピュータが前述の管理装置における記憶装置管理部と同等の機能を持つことによって実現可能である。
【０１１２】
以上の処理が実行されることによって、ホストコンピュータ１は仮想化制御装置２が接続された後も、記憶装置３の実ボリュームを、仮想化制御装置２が接続される前と同じパーソナル情報（AAA_02）を用いて識別することができる。従って、新たに仮想化制御装置２が計算機システムに導入され、ホストコンピュータが仮想ボリュームに対しアクセス要求を発行する場合にも、パーソナル情報をホストコンピュータに設定しなおす必要がない。このため、ホストコンピュータが実行している処理を中断する必要がない。
［第三の実施形態］（複数の記憶装置から一つの仮想ボリュームを構成）
第一の実施形態及び第二の実施形態では、一つの実ボリュームから一つの仮想ボリュームを構成する例を説明したが、本発明はこれに限られるものでは無く、複数の実ボリュームから一つの仮想ボリュームが構成される場合にも適用することができる。
【０１１３】
複数の実ボリュームから一つの仮想ボリュームが構成される場合について、図１５、図１６を用いて説明する。
【０１１４】
図１５は、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=3(5GB)で識別される実ボリュームと、Port ID=P_Pid_2、Port Name=P_Pname_2、LUN=1(5GB)で識別される実ボリュームから、Port ID=V_Pid_3、Port Name=V_Pname_3、LUN=0(10GB)で識別される一つの仮想ボリュームを構成する場合の、ボリュームマッピング情報５１５の一構成例を示す図である。図１５に示すボリューム管理テーブルは、図１２に示すボリューム管理テーブルと比べて、一つの仮想ボリュームに対して二つの実ボリュームが割当てられていること、仮想ボリューム管理情報５２０のエントリとして実ボリュームに対応するアドレス情報が追加されていることが異なるのみで、他は同一である。また図１５においては、Port ID=V_Pid_3、Port Name=V_Pname_3、LUN=0で識別される仮想ボリュームのパーソナル情報としてPort ID=P_Pid_1、Port Name=P_Pname_1、LUN=3で識別される実ボリュームのパーソナル情報を用いている。
【０１１５】
図１６は、二つの実ボリュームから一つの仮想ボリュームが構成される計算機システムの一例を示す図である。図１６に示す計算機システムにおいても、仮想化制御装置２において実行される、データ移行処理、並びに記憶装置監視処理については、実施形態１及び実施形態２に記載した処理と同一の処理によって実行できるので、以下ルーティング処理について説明する。
（ルーティング処理）
ルーティング処理は、仮想化制御装置２がホストコンピュータ１或いは記憶装置３からのフレームデータを受信した場合に開始される。フレームデータを受信したルーティング処理部５０１は、フレームデータを構成する送信元／送信先の識別情報、更に必要な場合はフレームデータの種別情報及びフレーム中のペイロードを構成する各種情報（LUN等）を用いて、仮想化処理が必要か否かの判別を行う。具体的には、送信元/送信先の識別情報（Port ID等）やフレームのペイロードに含まれる情報(LUN)がボリュームマッピング情報５１５の仮想ボリューム管理情報５２０に登録されている場合には、ルーティング処理部５０１は仮想化処理が必要であると判断する。
【０１１６】
ルーティング処理部５０１が仮想化処理が必要であると判別した場合、以下の仮想化処理を仮想化処理部５０５が実行する。
１．受信したフレームデータが、ホストコンピュータから仮想記憶装置に対するフレームデータである場合
先ず受信したフレームデータがリード／ライト系のアクセス要求情報か否かを仮想化処理部５０５が判断する。フレームデータがリード／ライト系のアクセス要求情報である場合、ボリュームマッピング情報５１５と、アクセス要求情報（特に受信フレームのペイロード）に含まれるアドレス情報及びデータ転送長情報に基づき、仮想化処理部５０５は、フレームデータ送信先の仮想記憶装置に対応する記憶装置を特定する。そして受信したフレームを特定された記憶装置に対するフレームに変換する為、フレームデータを構成する送信先識別情報(D_ID)と、CRC情報を、特定された記憶装置のポートを示す送信先識別情報と、新しい送信先識別情報に基づくCRCとに置き換える。更に必要な場合、アクセス要求情報を構成する新たなアドレス情報及びデータ転送長情報を生成する。そして変換後のフレームは、仮想化制御装置のポート２３を介して記憶装置３に送信される。尚、アクセス要求が二台の記憶装置に対して送信されるもの（アドレス989680hを跨いでのアクセス要求）である場合には、仮想化処理部５０５が、個々の記憶装置に対するアクセス要求を生成し個々の記憶装置にこのアクセス要求を送信する。
【０１１７】
仮想化制御装置２が受信したフレームデータが、リード／ライト系のアクセス要求情報以外のデータである（ライトデータである）場合、ボリュームマッピング情報５１５と、必要な場合にはライトデータ受信前に仮想化制御装置が受信したライトアクセス要求情報を構成するアドレス情報及びデータ転送長情報と、ライトデータのオフセット情報とに基づき、仮想化処理部５０５がフレームデータ送信先の仮想記憶装置に対応する記憶装置を検出する。そして受信したフレームを、検出された記憶装置に対するフレームに変換する為、仮想化処理５０５は、フレームデータを構成する送信先識別情報(D_ID)とCRCを、検出された記憶装置を特定するための識別情報とこの識別情報に基づく新たなCRCとに置き換える。そして仮想化制御装置２は、ポート２３を介して検出された記憶装置３に対してフレームを送信する。
２．受信したフレームが、仮想記憶装置にマッピングされた記憶装置からホストコンピュータに対するフレームである場合
先ず受信したフレームデータがリードデータか否かを判別し、フレームデータの種類に応じた処理を仮想化処理部５０５が実行する。例えばフレームデータがリードデータである場合、仮想化処理部５０５は、フレームデータ送信元の記憶装置に対応する仮想記憶装置を特定する。そして、受信したフレームを特定された仮想記憶装置からのフレームに変換する為、仮想化処理部５０５は、フレームデータの送信元識別情報(S_ID)とCRCを、仮想記憶装置の識別情報と、新たな送信先識別情報に基づくCRCに置き換える。そして、仮想化制御装置２はポート２３を介してフレームデータをホストコンピュータ１に送信する。
【０１１８】
一つのリード系アクセス要求に基づくリードデータの送信処理が、二台の記憶装置で同時に実行される場合には、仮想化制御装置２は、一方の記憶装置から受信するリードデータをホストコンピュータに転送する処理が完了するまで、他方の記憶装置から受信したリードデータの転送処理を保留させることが望ましい。例えば、P_Pid_1，P_Pname_1，LUN=3(5GB)で識別される実ボリュームを持つ記憶装置と、P_Pid_2，P_Pname_2，LUN=1(5GB)で識別される実ボリュームを持つ記憶装置からリードデータを受信した場合には、仮想化制御装置２がP_Pid_2，P_Pname_2，LUN=1(5GB)で識別される実ボリュームを持つ記憶装置からのリードデータを一時的に保存することで、リードデータの転送処理を保留できる。
【０１１９】
また，一つのリード系アクセス要求に基づくレスポンスデータの送信処理が、二台の記憶装置で並列に実行される場合には、仮想化制御装置２は、二台の記憶装置から受信したレスポンスデータを用いてホストコンピュータに対する一つのレスポンスデータを生成し送信するものである。
【０１２０】
尚、上述のような、複数の実ボリュームから一つの仮想ボリュームが構成される計算機システムにおいても、第一の実施形態及び第二の実施形態と同様、ホストコンピュータがアクセス対象として認識するボリュームの識別情報を変更することなく、仮想化制御対象の記憶装置間でデータ移行処理を実行することができる。即ち、記憶装置間でデータ移行処理が実行された場合には、第一の実施形態若しくは第二の実施形態と同様、仮想化制御装置２がボリュームマッピング情報５１５を更新し、仮想ボリュームに対応付けられている実ボリュームをデータ移行元の実ボリュームからデータ移行先の実ボリュームに変更することによって、ホストコンピュータ１がアクセス対象として認識するボリュームの識別情報を変更することなく、仮想ボリュームにマッピングされる実ボリュームをダイナミックに変更することができる。従ってホストコンピュータ１は、記憶装置（実ボリューム）間で実行されるデータ移行を意識することなく処理を継続することができる。
［第四の実施形態］（Intelligent Portでの仮想化制御、Storage機能提供）
上述の各実施形態では、スイッチとしての機能を提供する仮想化制御装置２のメイン制御部２０において，本発明に係る各処理を一括して実施する例を説明したが、本発明はこれに限られるものではなく、ポート２３毎にプロセッサを設け、このプロセッサがルーティング処理を実施することが可能である。
【０１２１】
更に仮想化制御装置２は、ポート２３とパス制御部２２とメイン制御部２０とからのみ構成されるものに限られるものではない。例えばディスクアレイ装置が有するディスクアレイ制御装置のように、複数の物理的なディスク装置を例えば一つの論理的な記憶装置としてホストコンピュータに見せる制御や、ホストコンピュータがアクセスするデータに対して冗長データとしてパリティデータを付加してディスクに格納し、任意の一台のディスク装置に障害が発生してもパリティデータを用いてホストコンピュータとの間のデータ転送処理を可能とする一連のパリティ制御等を実行するストレージ制御部を仮想化制御装置２が有し、仮想化制御装置２がストレージ制御機能を一機能として有していても良い。更には、ストレージ制御部と、ディスク装置等の複数の記憶装置から構成される記憶装置群とを仮想化制御装置2が有することによって、仮想化制御装置２がストレージ装置自体の機能（ストレージ機能）を一機能として有していても良い。
【０１２２】
以下、ストレージ制御部と記憶装置群とを有し、ストレージ機能も提供する仮想化制御装置が、各処理を夫々の構成部位で分担して処理する場合について、図１９〜図２２を用いて説明する。
【０１２３】
図１９は、本発明が適用される計算機システムの一例を示す図である。尚、同図において，仮想化制御装置２以外は図１と同様の構成を有する。
【０１２４】
仮想化制御装置２においては、一つ以上のポート部８と、一つ以上のストレージ制御部７−１／２と、メイン制御部２０とが、バックプレーン９を介して接続され，更にストレージ制御部７−１は、複数のディスク装置３５と接続される。
【０１２５】
ポート部８は、ホストコンピュータ１或いは記憶装置３と接続されるネットワーク５を制御するインタフェース制御部８１（図中，SN I/F）と、仮想化制御装置２内の他の部位とを接続するバックプレーン９を制御するインタフェース制御部８２（図中，BP I/F）と、後述するプログラムや情報を格納するメモリ８５と、これらの情報を用いてプログラムを実行するCPU８４とを有する。
【０１２６】
ストレージ制御部７−１は、バックプレーン９を制御するインタフェース制御部７３（以下、BP I/Fと呼ぶ。）と，複数のディスク装置３５との間でのデータ転送処理を行うインタフェース制御部７２（以下、HDD I/Fと呼ぶ）と、ディスク装置３５或いは記憶装置３との間で転送されるデータを格納するキャッシュ７１と、各処理及び後述のプログラムを実行するCPU７０とを有する。
【０１２７】
ストレージ制御部７−２は、ディスク装置３５との間でのデータ転送処理を行うインタフェース制御部７２を有さないことを除いて，上記ストレージ制御部７−１と同様の構成を有する。
【０１２８】
メイン制御部２０は、管理用ポート２５を含み、バックプレーン９を制御するインタフェース制御部５３を有すること以外は、図１のメイン制御部２０と同様の構成を有する。尚、CPU５０で実行されるプログラムについては後述する。
【０１２９】
図１９では、ホストコンピュータ１、記憶装置３、管理装置４，仮想化制御装置２のポート部８は、それぞれ１つのポートを持つ例を示したが、これに限定されるものではなく、複数のポートを持つことも可能である。
【０１３０】
同様に仮想化制御装置２を構成する各部位は，バックプレーン９を制御するインタフェース制御部８２（図中，BP I/F）を複数持つことが可能であり、各構成部位は複数のバックプレーンを介して相互に接続されることが望ましい。
【０１３１】
更に，仮想化制御装置２のポート部８は、異なる複数のネットワークプロトコルに対応可能であることから、ポート部８を管理用ポートとして使用することも可能である。
【０１３２】
図２０は、仮想化制御装置２が有する何れかの部位のCPUによって実行されるプログラムと、管理情報の一例を示す図であり、仮想化処理部５０５が仮想化ルーティング制御情報５３０を新たに有すること、仮想化ルーティング処理プログラム５１７がコマンドフレームの転送処理を実行するプログラム（図中，コマンド転送処理プログラム）５３１、レスポンスフレームの転送処理を実行するプログラム（図中，レスポンス転送処理プログラム）５３２、及び上記以外のフレームデータの転送処理を実行するプログラム（その他の転送処理プログラム）５３３とを有すること、更に装置内記憶装置アクセス処理部506を仮想化制御装置2が新たに有し、装置内記憶装置アクセス処理部506として、仮想化制御装置２が有する記憶装置３５の構成情報を保持する装置内記憶装置構成管理情報５０８と実際にフレームデータの転送処理を実行するための装置内記憶装置アクセス制御処理プログラム５０７とを有すること以外は、プログラム及び管理情報は図３と同様である。
【０１３３】
尚、装置内記憶装置アクセス処理部５０６では，複数の物理的なディスク装置を例えば一つの論理的な記憶装置としてホストコンピュータに見せる制御、更にホストコンピュータがアクセスするデータに冗長データとしてパリティデータを付加してディスク装置に格納し、任意の一台のディスク装置に障害が発生してもパリティデータを用いてホストコンピュータとの間でのデータ転送処理を可能とする一連のパリティ制御等を実行することが望ましい。但し本発明とは直接関係が無いことからその詳細な説明は省略する。
【０１３４】
尚、仮想化ルーティング制御情報５３０、コマンド転送処理プログラム５３１、レスポンス転送処理プログラム５３２、その他の転送処理プログラム５３３の詳細については後述する。
【０１３５】
更に図３及び図２０においては、仮想化制御装置２の初期化処理に係るプログラム等の記載を省略しているが、少なくとも電源投入を条件に各種管理情報の初期化処理を実行する初期化処理プログラム、或いは管理装置４等からの指示を契機に初期化処理あるいは診断処理等を実行するプログラム群を、仮想化制御装置が有していても良い。
【０１３６】
図２１は、本実施形態におけるホストコンピュータと記憶装置との間のアクセス経路の主な三つのバリエーションを示す図である。
【０１３７】
尚、図２１において仮想化制御装置２を構成する記憶装置群３４を内部記憶装置、仮想化制御装置２とネットワーク５を介して接続される記憶装置３を外部記憶装置と呼ぶこととし、更にホストコンピュータ１と接続されるポート部８をIn Port、外部ストレージ３と接続されるポート部８をOut Portと呼ぶこととする。
【０１３８】
第一のアクセス経路のタイプは、ホストコンピュータ１と内部記憶装置３４がポート部８(In Port)とストレージ制御部７−１とを介して接続される経路である。
【０１３９】
第二のアクセス経路のタイプは、ホストコンピュータ１と外部記憶装置３がポート部８(In Port)とストレージ制御部７−２とポート部８(Out Port)とを介して接続される経路である。
【０１４０】
第三のアクセス経路のタイプは、ホストコンピュータ１と外部記憶装置３がポート部８(In Port)とポート部８(Out Port)とを介して接続される経路である。
【０１４１】
図２２は、本実施形態で用いられるボリュームマッピング情報５１５の一例を示す図である。前述の図４の構成に対し、後述の仮想化処理を実行する部位の識別子情報を管理する仮想化処理モジュール管理情報５２３と、実ボリュームが外部記憶装置３内に存在する場合に当該外部記憶装置３と接続するためのポートの識別子を管理する外部ボリューム接続モジュール管理情報２５４を新たに有する構成としている。尚、図22中Storage Control part #1は図19におけるストレージ制御部7-1の識別情報であり、Storage Control Part #2は図19におけるストレージ制御部7-2の識別情報である。
【０１４２】
同２２においては、ボリュームの状態を示すSizeやステータスの情報は省略しているが、これらの情報も管理することが望ましく、更に内部記憶装置３４に関する実ボリューム管理情報は装置内記憶装置構成管理情報５０７にその詳細が登録されているものとして，ここでの説明は省略するものとする。
【０１４３】
尚本実施形態においては、ボリュームマッピング情報５１５を構成する各情報を仮想化制御装置２を構成する全ての部位各々で保持管理する必要は無く、各部位毎に当該部位が実行する処理において必要となる情報のみを保持管理することが望ましい。
【０１４４】
図２３は、仮想化制御装置２を構成する部位毎に管理される仮想化ルーティング制御情報５３０の一例を示す図である。仮想化ルーティング制御情報５３０は、仮想化制御装置２を構成する各部位が後述のフレームデータの転送処理を実行する際に、生成、参照、又は更新される情報であり、送信元管理情報５３４として送信元の識別情報と送信元指定のコマンド識別情報、送信先管理情報５３５として送信先識別情報と自身が指定したコマンド識別情報とを有する。
【０１４５】
尚コマンド識別情報とは、送信元と送信先との間で送受信されるフレームデータがどのコマンドに関連するものかを識別する為、個々のフレームデータに付加される情報である。またフレームデータの構成についての詳細な説明は省略しているが、少なくともフレームデータの送信元／送信先を識別する情報（送信元／送信先識別情報）と、フレームデータの種別を示す種別情報と、コマンド識別情報とを有するヘッダ情報と、アクセス要求情報或いはステータス情報或いはデータ等を有するペイロード情報とを、フレームデータは有するものとする。
【０１４６】
尚図２３においては、ホストコンピュータ１と接続されるポート部８(In Port)が保持管理する仮想化ルーティング制御情報５３０の一例として、Host_Pid_1で識別されるホストコンピュータからポート部8がHost_Tag_1、Host_Tag_2、及びHost_Tag_3で識別される3つのコマンドを受信し、夫々について自身が指定したコマンド識別子情報InPort_Tag_1、InPort_Tag_2、InPort_Tag_3を付加し、これら各々を夫夫ストレージ制御部７−１（図23ではSC#1と記載。）、ストレージ制御部７−２（図23ではSC#2と記載。）、ポート部８（図23ではOut Portと記載）に転送した状態であることを示している。
【０１４７】
図２４は、仮想化制御装置２を構成する任意の構成部位によって実行されるフレームデータの転送処理の一例を示す図である。従って本処理は、ポート部8、ストレージ制御部7-1、ストレージ制御部7-2のいずれにおいても実行され得る。尚本処理は、ホストコンピュータ１或いは内部記憶装置３４或いは外部記憶装置３からのフレームデータの受信、又は、仮想化制御装置２を構成する各部位間においてのフレームデータの受信を契機として開始される。以下、図24を用いて本実施形態におけるフレームデータの転送処理の一例を説明する。
【０１４８】
フレームデータを受信した仮想化制御装置２の部位は先ず、後述の仮想化処理が必要か否かの判別を実施する(130)。以下に、仮想化処理が必要なフレームデータであると判定される具体的な条件の一例を示す。
（１）フレームデータに含まれる送信先識別情報が、ボリュームマッピング情報５１５の仮想ボリューム管理情報５２０に登録されている。
（２）フレームデータに含まれる送信元識別情報が、ボリュームマッピング情報５１５の実ボリューム管理情報５２１に登録されている。
（３）フレームデータに含まれるコマンド識別情報が、仮想化ルーティング制御情報５３０の送信元管理情報５３４或いは送信先管理情報５３５に登録されている。
【０１４９】
尚、上記仮想化処理要否の判定条件は一例でありこれに限定されるものではない。また、仮想化処理が不要と判別した場合の実ルーティング処理(131)については図９に示す処理と同様であることから説明を省略する。
【０１５０】
次に、仮想化処理が必要と判別された場合には、当該部位は受信したフレームデータに含まれるフレームデータの種別情報を用いてフレームデータの種別を検出する。
［コマンドフレームの場合］
受信したフレームデータがコマンドフレームであることを検出した場合(132)、コマンド転送処理プログラム５３１が以下のコマンドフレームの転送処理を実行する。
１．コマンド変換処理要否の判定(133)
受信したフレームデータに含まれるフレームデータの送信先識別情報、及び必要な場合は受信したフレームデータのペイロードに含まれる各種情報（送信先のLUN等）とボリュームマッピング情報５１５とを用いて、コマンド転送処理プログラム５３１は後述のコマンド変換処理を自身で実施するか否かを判別する。判別方法の一例としては、例えば送信先のPort IDやLUNが、ボリュームマッピング情報５１５の仮想ボリューム管理情報５２０に登録され、且つ仮想化処理モジュール管理情報５２３に自身の識別情報が登録されている場合には、そのコマンドは自身でのコマンド変換処理が必要なフレームデータであると判定される。
２．コマンド変換処理(134)
自身でのコマンド変換処理が必要と判別された場合、コマンド転送処理プログラム５３１は、ボリュームマッピング情報５１５の仮想ボリューム管理情報５２０と実ボリューム管理情報５２１とを用いて、受信したコマンドフレームに含まれる送信先識別情報を実ボリュームに対応した識別情報に、送信元識別情報を自身の識別情報に、LUN等のアクセス要求（コマンド）情報を実ボリュームに対応したLUN等のアクセス要求情報に置き換える処理をコマンド変換処理として実施する。
【０１５１】
尚、ステップ１３３において自身でコマンド変換処理を実行する必要がないと判別された場合には、コマンド変換処理（１３４）は実行されることなく、ステップ１３５に進む。
３．コマンドフレーム転送先検出(135)
自身でのコマンド変換処理が不要と判別された場合、或いは上記コマンド処理を実行した後、コマンド転送処理プログラム５３１は、ボリュームマッピング情報５１５の仮想化処理モジュール管理情報５２３（In Portの場合）或いは外部ボリューム接続モジュール管理情報５２４（ストレージ制御装置の場合）或いは実ボリューム管理情報５２１（Out Portの場合）を用いてコマンドフレームの転送先を検出する。
４．仮想化ルーティング制御情報登録(136)
次にコマンド転送処理プログラム５３１は、受信したコマンドフレームに含まれる送信元識別情報とコマンド識別情報と、コマンドフレームの転送先を識別する送信先識別情報と、自身が生成したコマンド識別情報とを仮想化ルーティング制御情報５３０の送信元管理情報５３４、送信先管理情報５３５として登録する。
５．コマンド転送(137)
更にコマンド転送処理プログラム５３１は、受信したコマンドフレームに含まれるコマンド識別情報を自身が生成したコマンド識別情報に置き換え、上記検出したコマンドフレームの転送先に送信することで一連のコマンドフレーム転送処理を終了する(137)。
［レスポンスフレームの場合］
ステップ132において受信したフレームデータがコマンドフレームでないことを検出し，更に受信したフレームデータがレスポンスフレームであることを検出した場合(138)、レスポンス転送処理プログラム５３２が以下のレスポンス転送処理を実行する。
１．レスポンス生成処理要否の判定(139)
レスポンス転送処理プログラム５３２は、受信したレスポンスフレームに含まれるコマンド識別情報とボリュームマッピング情報５１５とを用いて、自身でのレスポンス生成処理が必要か否かを判別する。判別の方法の一例としては、例えば受信したレスポンスフレームに含まれる送信元の識別情報が、ボリュームマッピング情報５１５の実ボリューム管理情報５２１に登録され、且つ仮想化処理モジュール管理情報５２３に自身の識別情報が登録されている場合には、そのレスポンスフレームは自身でのレスポンス生成処理が必要なフレームデータであると判定される。
２．レスポンス生成処理(140)
自身でのレスポンス生成処理が必要と判別された場合、レスポンス転送処理プログラム５３２は、ボリュームマッピング情報５１５の仮想ボリューム管理情報５２０を用いて、受信したレスポンスフレームに含まれる送信元識別情報を仮想ボリュームに対応した識別情報に、送信先識別情報を対応するホストコンピュータの識別情報に置き換える処理と、受信したレスポンスフレームに含まれるステータス情報に基づき必要な場合には新たなステータス情報を生成し置き換える処理とをレスポンス生成処理として実施する。
３．レスポンスフレーム転送先検出(141)
更に、レスポンス転送処理プログラム５３２は、受信したフレームデータに含まれるコマンド識別情報と仮想化ルーティング制御情報５３０を用いて、レスポンスフレームの転送先を検出する。検出方法の一例としては、受信したフレームデータに含まれるコマンド識別情報と一致する仮想化ルーティング制御情報５３０の送信先管理情報５３５のコマンド管理情報を検出し，当該コマンド管理情報に対応する送信元管理情報５３４の送信元識別情報をレスポンスフレームの転送先として検出する。
４．レスポンス転送(142)
次にレスポンス転送処理プログラム５３２は、受信したレスポンスフレームに含まれるコマンド識別情報を、仮想化ルーティング制御情報５３０の送信元管理情報５３４の対応する送信元コマンド識別情報とに置き換え、ステップ１４１において検出したレスポンスフレームの転送先に送信する。
５．仮想化ルーティング制御情報更新(143)
更にレスポンス転送処理プログラム５３２は、受信したレスポンスフレームに含まれるコマンド識別情報に基づき、仮想化ルーティング制御情報５３０の対応するエントリ（送信先／送信元管理情報）を削除して一連のレスポンスフレーム転送処理を終了する。
［上記以外のフレームの場合］
受信したフレームデータが上記（コマンド、レスポンス）以外のフレームデータ（例えば，データ）である場合、その他の転送処理プログラム５３３が以下のフレームデータ転送処理を実行する。
１．自身での仮想化処理要否の判定(144)
受信したフレームデータに含まれるフレームデータの送信先／送信元識別情報及びコマンド識別情報と、ボリュームマッピング情報５１５及び仮想化ルーティング制御情報５３０とを用いて、その他の転送処理プログラム５３３は自身での仮想化処理の要否を判別する。判別の一例としては、例えば送信先識別情報或いは送信元識別情報が、ボリュームマッピング情報５１５の実ボリューム管理情報５２１或いは仮想ボリューム管理情報５２０に登録され、且つ仮想化処理モジュール管理情報５２３に自身の識別情報が登録されている場合に、その他の転送処理プログラム５３３は自身での仮想化処理が必要なフレームデータであると判定
する。
２．仮想化（送信元／送信先識別情報変換）処理(145)
自身での仮想化（送信元／送信先識別情報変換）処理が必要と判別した場合、ボリュームマッピング情報５１５の仮想ボリューム管理情報５２０と実ボリューム管理情報５２１を用いて、その他の転送処理プログラム５３３は受信したフレームデータに含まれる送信元の識別情報或いは送信先の識別情報を仮想ボリュームの識別情報或いは実ボリュームの識別情報に置き換える処理を仮想化処理として実施する。処理の一例としては、受信したフレームデータに含まれる送信先の識別情報が仮想ボリュームの識別情報と一致する場合（ホストコンピュータから仮想化制御装置）、送信先の識別情報を実ボリュームの識別情報に、受信したフレームデータに含まれる送信元の識別情報が実ボリュームの識別情報と一致する場合（仮想化制御装置からホストコンピュータ）、送信元の識別情報を仮想ボリュームの識別情報に置き換える処理を、その他の転送処理プログラム５３３は実施する。
３．その他のフレームデータ転送先検出(146)
更にその他の転送処理プログラム５３３は、受信したフレームデータに含まれるコマンド識別情報と、仮想化ルーティング制御情報５３０を用いてフレームデータの転送先を検出する。
【０１５２】
検出処理の一例としては、受信したフレームデータに含まれるコマンド識別情報と一致する仮想化ルーティング制御情報５３０の送信元管理情報５３４のコマンド管理情報をその他の転送処理プログラム５３３が検出し、当該コマンド管理情報に対応する送信先管理情報５３５の送信先識別情報をフレームデータの転送先とすることが考えられる。
４．フレームデータ転送(147)
次にその他の転送処理プログラム５３３は、受信したフレームデータに含まれるコマンド識別情報を仮想化ルーティング制御情報５３０の送信元管理情報５３４の対応する送信元コマンド識別情報に置き換え、ステップ１５６で検出したフレームデータの転送先に送信することで一連の処理を終了する。
【０１５３】
尚上記説明においては説明を簡略にする為、ポート部の識別情報を外部（ホストコンピュータ或いは記憶装置との間で用いる識別情報）と内部（仮想化制御装置内の他の部位との間で用いる識別情報）とを同一であるものとして説明したが、本発明はこれに限定されるものではない。ポートの識別情報が外部と内部とで異なる場合には、それらを関連付ける情報を仮想化制御装置２が持てば良いことは言うまでも無い。
【０１５４】
次に，ホストコンピュータと実ボリュームを提供する記憶装置とのアクセス経路として複数のバリエーションを持つ本実施形態におけるデータ移行処理について説明する。本実施形態においては、ポート部８、ストレージ制御部７-１、ストレージ制御部７-２のいずれかがデータ移行処理を実行し、データ移行に伴いボリュームマッピング情報の更新を実行する。いずれの部位がこれらの処理を実行するかは、ボリュームマッピング情報５１５の仮想化処理モジュール管理情報に基づいて決定される。即ち、仮想化処理モジュールとして仮想化処理モジュール管理情報５２３に登録されている部位が、対応する仮想ボリュームに関するデータ移行処理を実行し、ボリュームマッピング情報を更新する。例えば図２２に示すボリュームマッピング情報５１５であれば、Port ID = V_Pid_2、 Port Name = V_Pname_2、LUN＝０で識別される仮想ボリュームに関するデータ移行処理及びボリュームマッピングテーブルの更新は、ストレージ制御部7-2によって実行される。尚、本実施形態におけるデータ移行処理やボリュームマッピングテーブルの更新方法は、前述の第一の実施形態と同様の方法である。
【０１５５】
本実施形態では、更に、仮想化処理モジュールが変更される場合がある。そこで仮想化処理モジュールの変更を伴うデータ移行処理について以下に説明する。
【０１５６】
尚仮想化処理モジュールの変更を伴うデータ移行としては、アクセス経路（第一／第二／第三のアクセス経路）のタイプが変更される場合と、アクセス経路のタイプは同一であっても仮想化処理モジュールが変更される場合とが有る。以下アクセス経路のタイプが第二のアクセス経路のタイプから第三のアクセス経路のタイプに変更される場合を例に説明する。
【０１５７】
図２５はデータ移行処理が実行される前に、仮想化制御装置２のポート部８(In Port)とが有する実ボリュームマッピング情報５１５の一例、図２６はデータ移行処理が実行される前にストレージ制御装置７−２が有する実ボリュームマッピング情報５１５の一例、図２７はデータ移行処理が実行される前にポート部８(Out Port)が有する実ボリュームマッピング情報５１５の一例を示す図である。
【０１５８】
図２５にはポート部8（In port）が管理する仮想化ボリューム管理情報として、V_Pid_1、V_Pid_2、及びV_Pid_3が登録されている。これは、ポート部８(In Port)が、仮想化制御装置2がホストコンピュータに対して提供する三つの仮想ボリューム(V_Pid_1、V_Pid_2、及びV_Pid_3)のアクセス経路を構成していることを示している。同様に図26によれば、ストレージ制御部７−２は、仮想ボリュームV_Pid_2に対するアクセス経路を構成し、図２７によればポート部８(Out Port)は二つの仮想ボリューム(V_Pid_2及びV_Pid_3)に対するアクセス経路を構成していることを示している。
【０１５９】
更に図２５、図２６及び図２７の仮想化処理モジュール管理情報によれば、V_Pid_1で識別される仮想ボリュームの仮想化処理はストレージ制御部7-1、仮想ボリュームV_Pid_2に対する仮想化処理はストレージ制御部７−２(SC #2)、仮想ボリュームV_Pid_3に対する仮想化処理はOut Portで実施されることが分る。
【０１６０】
従って、仮想ボリュームV_Pid_1とホスト間のアクセスパスは、In Portからバックプレーン9を経由してストレージ制御部7-1に到達し、ストレージ制御部7-1にて仮想化処理が実行される第一のタイプであり、仮想ボリュームV_Pid_2とホスト間のアクセスパスはIn Portからバックプレーン9を経由してストレージ制御部7-2に到達し、ストレージ制御部7-2にて仮想化処理が実行された後更にOut Portを通って外部記憶装置に到達する第二のタイプであり、仮想ボリュームV_Pid_3とホスト間のアクセスパスはIn Portからバックプレーンを経由してストレージ制御部を経由することなくOut Portに到達し、Out Portにて仮想化処理が実行された後外部記憶装置に到達する第三のタイプであることが分る。
【０１６１】
図２８から図３０は図２５から図２７で示した仮想ボリューム(V_Pid_2)へのアクセス経路を、第二のタイプのアクセス経路から第三のタイプのアクセス経路に変更し、更に外部記憶装置３間でのデータ移行処理（P_Pid_2 及び LUN0で識別される実ボリュームからP_Pid_3 及び LUN1で識別される実ボリュームへデータを移行する処理）を実施した後に、仮想化制御装置２のポート部８(In Port)、ストレージ制御装置７−２、ポート部８(Out Port)各々が有するボリュームマッピング情報５１５の一例を示す図である。
【０１６２】
図２８はポート部8（In Port）、図30はポート部8（Out Port）が有するボリュームマッピング情報である。図28及び図30では、V_Pid_2で識別される仮想ボリュームに対応する実ボリュームの識別情報がデータ移行先の実ボリュームの識別情報であるP_Pid_3、P_Pname_3、LUN1に書き換えられ、更に仮想化処理モジュール管理情報が、新たなアクセス経路（第三のタイプのアクセス経路）において仮想化処理を実行するOut Portに書き換えられている。また図29はストレージ制御部７−２が有するボリュームマッピング情報であるが、第三のタイプのアクセス経路においては、ストレージ制御部はホストコンピュータに仮想ボリュームを提供する際のアクセス経路を構成しないことから、V_Pid_2で識別される仮想ボリュームに関するエントリーが削除される。
【０１６３】
尚本実施形態におけるデータ移行処理は、仮想化制御装置２の適当な部位（例えば本実施形態においてデータ移行処理前に仮想化処理を実施している部位）で前述の実施形態におけるデータ移行処理を実施することによって実現可能であることからその詳細説明は省略する。
【０１６４】
ここで、ボリュームマッピング情報５１５の更新に関しては、仮想化制御装置２を構成する部位間で同期して実施されることが望ましいことから、前述の実施形態と同様に記憶装置間でのデータ移行処理の完了を契機として仮想化制御装置２のメイン制御部２０を介して実施されることが望ましい。
【０１６５】
即ち記憶装置間でのデータ移行処理を実施する部位は、データ移行処理の完了をメイン制御部２０に通知し、該通知を受けたメイン制御部２０によって関連する部位のボリュームマッピング情報５１５が更新されることが望ましい。
【０１６６】
尚アクセス経路のみが変更され、記憶装置間でのデータ移行処理を伴わない場合のボリュームマッピング情報５１５の更新に関しても同様である。
【０１６７】
尚、上述の説明においては、ホストコンピュータ１と接続されるポート部(In Port)と外部ストレージ３と接続されるポート部(Out Port)を、異なるポート部で実現する場合を例に説明を行ってきたが、本発明はこれに限定されるものではなく、例えば同一のポート部８においてホストコンピュータ１と外部ストレージ３との接続を同時に実現することも可能である。
【０１６８】
更に上述の説明において仮想ボリュームを識別するための情報であるPort ID、Port Nameは、仮想化制御装置２がホストコンピュータ１に対して提供する仮想的なポートに割当てた識別子情報として説明してきたが，これに限定されるものではなく、特に本実施形態においては、仮想化制御装置２のポート部８に割当てられた実際の識別子情報を仮想ボリュームの管理情報として用いることが可能である。
【０１６９】
【発明の効果】
本発明によれば、ホストコンピュータがアクセス対象のボリュームを識別するために用いる識別情報を変更することなく、複数の記憶装置間でのデータ移行処理を実行することができる。この結果、ホストコンピュータの処理を中断することなくデータ移行処理を実行することができる。
【０１７０】
また、本発明においては、計算機システムに仮想化制御装置が新たに導入されたり、仮想化制御装置が交換された場合にも、ホストコンピュータはアクセス対象のボリュームを識別するために用いる識別情報を変更することなく、データにアクセスすることができる。この結果、ホストコンピュータの処理を中断することなく、仮想化制御装置を計算機システムに導入したり、仮想化制御装置を交換することができる。
【図面の簡単な説明】
【図１】本発明を適用する計算機システムの一例を示す図である。
【図２】管理装置の記憶媒体に格納されているプログラム及び情報の一例を示す図である。
【図３】仮想化制御装置の記憶媒体に格納されているプログラム及び情報の一例を示す図である。
【図４】第一の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図５】第一の実施形態における、仮想化制御装置で管理される記憶装置状態管理情報の一例を示す図である。
【図６】第一の実施形態における、ホストコンピュータから仮想記憶装置に対するアクセス要求の処理の概要を示す図である。
【図７】第一の実施形態における、記憶装置間でのデータ移行処理の概要を示す図である。
【図８】第一の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の他の一例を示す図である。
【図９】第一の実施形態における、仮想化制御装置のルーティング処理部が実行する処理の一例を示す図である。
【図１０】第一の実施形態における、仮想化制御装置のデータ移行処理部が実行する処理の一例を示す図である。
【図１１】第一の実施形態における、仮想化制御装置の記憶装置監視処理部が実行する処理の一例を示す図である。
【図１２】第二の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図１３】第二の実施形態における、ホストコンピュータから仮想記憶装置に対するアクセス処理の概要を示す図である。
【図１４】第二の実施形態における、記憶装置間でのデータ移行処理の概要を示す図である。
【図１５】第三の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図１６】第三の実施形態における、仮想ボリュームの構成の一例を示す図である。
【図１７】第二の実施形態における、計算機システムに仮想化制御装置を導入する場合に実行される処理の一例を示す図である。
【図１８】第二の実施形態における、ホストコンピュータが管理するボリューム管理情報の一例を示す図である。
【図１９】第四の実施形態における計算機システムの一例を示す図である。
【図２０】第四の実施形態における、仮想化制御装置の記憶媒体に格納されているプログラム及び情報の一例を示す図である。
【図２１】第四の実施形態における、ホストコンピュータと記憶装置とのアクセス経路のバリエーションを示す図である。
【図２２】第四の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図２３】第四の実施形態における、仮想化制御装置で管理されるルーティング制御情報の一例を示す図である。
【図２４】第四の実施形態における、フレームデータのルーティング処理の一例を示す図である。
【図２５】第四の実施形態における、ポート部(In Port)で管理されるボリュームマッピング情報の一例を示す図である。
【図２６】第四の実施形態における、ストレージ制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図２７】第四の実施形態における、ポート部(Out Port)で管理されるボリュームマッピング情報の一例を示す図である。
【図２８】第四の実施形態における、ポート部(In Port)で管理されるボリュームマッピング情報の一例を示す図である。
【図２９】第四の実施形態における、ストレージ制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図３０】第四の実施形態における、ポート部(Out Port)で管理されるボリュームマッピング情報の一例を示す図である。
【符号の説明】
１…ホストコンピュータ
２…仮想化制御装置
３…記憶装置
４…管理装置
５…ネットワーク
２０…メイン制御部
５０１…ルーティング処理部
５０２…記憶装置監視部
５０３…データ移行処理部
５０４…実ルーティング処理部
５０５…仮想ルーティング処理部
【図１】
0004606711.tif 000002
【図２】
0004606711.tif 000003
【図３】
0004606711.tif 000004
【図４】
0004606711.tif 000005
【図５】
0004606711.tif 000006
【図６】
0004606711.tif 000007
【図７】
0004606711.tif 000008
【図８】
0004606711.tif 000009
【図９】
0004606711.tif 000010
【図１０】
0004606711.tif 000011
【図１１】
0004606711.tif 000012
【図１２】
0004606711.tif 000013
【図１３】
0004606711.tif 000014
【図１４】
0004606711.tif 000015
【図１５】
0004606711.tif 000016
【図１６】
0004606711.tif 000017
【図１７】
0004606711.tif 000018
【図１８】
0004606711.tif 000019
【図１９】
0004606711.tif 000020
【図２０】
0004606711.tif 000021
【図２１】
0004606711.tif 000022
【図２２】
0004606711.tif 000023
【図２３】
0004606711.tif 000024
【図２４】
0004606711.tif 000025
【図２５】
0004606711.tif 000026
【図２６】
0004606711.tif 000027
【図２７】
0004606711.tif 000028
【図２８】
0004606711.tif 000029
【図２９】
0004606711.tif 000030
【図３０】
0004606711.tif 000031