(57)【要約】【課題】記憶システムを構成する記憶装置相互間でのデータ移行処理を行うことなく、記憶システムに対するアクセス性能の向上を図る。【解決手段】ホストコンピュータ１と記憶システムを構成する記憶装置３とを接続する仮想化制御装置２が、内部の複数のアクセス経路（ポート６−バックプレーン９−ポート６、ポート６−バックプレーン９−ストレージ制御部７−ポート６等の経路）を制御し、管理者による管理装置４からの設定情報と仮想化制御装置自身で検出した各種監視結果に基づき、上記複数のアクセス経路から最適なアクセス経路を選択して切替えるよう制御する。【選択図】      図１
2005078507.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の記憶装置と１または複数のホストコンピュータとに接続される仮想化制御装置において、
前記ホストコンピュータ及び前記記憶装置の一方または両方に接続される複数のポート部と、１または複数のストレージ制御部とを備え、
前記ポート部及びストレージ制御部のそれぞれは、前記ホストコンピュータが前記記憶装置が有する記憶領域に対してアクセスするために使用する第１の識別情報と、前記仮想化制御装置が前記記憶領域を識別する第２の識別情報との対応情報を保持し、該対応情報に基づいてホストコンピュータから受信した第１の識別情報を有するデータを第２の識別情報有するデータに変換して前記記憶領域を有する記憶装置に転送し、前記記憶装置から受信した第２の識別情報を有するデータを第１の識別情報を有するデータに変換してホストコンピュータに転送する仮想化処理部を備えて構成され、
前記記憶装置の記憶領域毎のアクセス経路として、ホストコンピュータに制御される第１のポート部と、前記記憶装置に接続される第２のポート部と、前記仮想化処理部とを登録したアクセス経路管理情報を有し、
前記アクセス経路の変更要求を受領した場合に、前記アクセス経路管理情報を更新し、新たなアクセス経路を用いてホストコンピュータと記憶装置の記憶領域との間でのデータの送受信制御を行うことを特徴とする仮想化制御装置。
【請求項２】
管理装置と接続される第３のポート部を備え、
前記第３のポート部を介して受信した管理装置からのアクセス経路の変更要求を契機として、前記アクセス経路管理情報を更新し、新たなアクセス経路を用いてホストコンピュータと記憶装置の記憶領域との間でのデータの送受信制御を行うことを特徴とする請求項１記載の仮想化制御装置。
【請求項３】
管理装置と接続される第３のポート部を備え、
前記第３のポート部を介して受信した管理装置からのアクセス経路の変更に係る制御情報としてのスケジュール情報を保持し、該スケジュール情報に基づいて前記アクセス経路管理情報を更新し、新たなアクセス経路を用いてホストコンピュータと記憶装置の記憶領域との間でのデータの送受信制御を行うことを特徴とする請求項１記載の仮想化制御装置。
【請求項４】
管理装置と接続される第３のポート部を有し、
前記第３のポート部を介して受信した管理装置からのアクセス経路の変更に係る制御情報としてのアクセス種別毎の管理情報を保持し、ホストコンピュータから記憶装置の記憶領域毎に対する個々のアクセス要求の種別を判別し、該アクセス要求の種別を記憶装置の記憶領域毎のアクセス履歴管理情報として保持管理し、前記アクセス種別毎の管理情報とアクセス履歴管理情報とに基づいて前記アクセス経路管理情報を更新し、新たなアクセス経路を用いてホストコンピュータと記憶装置の記憶領域との間でのデータの送受信制御を行うことを特徴とする請求項１記載の仮想化制御装置。
【請求項５】
管理装置と接続される第３のポート部を有し、
前記第３のポート部を介して受信した管理装置からのアクセス経路の変更に係る制御情報として前記仮想化制御部を構成する各部位の使用率の閾値を保持し、前記仮想化制御部を構成する各部位の使用状況を監視し、前記閾値と使用状況との比較を行い、使用状況が閾値を超過したことを契機に上記アクセス経路管理情報を更新し、新たなアクセス経路を用いてホストコンピュータと記憶装置の記憶領域との間でのデータの送受信制御を行うことを特徴とする請求項１記載の仮想化制御装置。
【請求項６】
前記記憶装置が有する記憶領域毎に、前記仮想化処理の対象とするか否かの情報を仮想化処理制御情報として保持し、前記仮想化処理制御情報に基づいて前記複数の記憶装置が有する記憶領域毎に仮想化処理実施の制御を行うことを特徴とする請求項１記載の仮想化制御装置。
【請求項７】
ホストコンピュータと記憶装置との間で送受信されるデータの識別情報の変換処理を実行し、記憶領域に対して割当てられた前記識別情報の変換処理を行ってアクセス経路の切替得を行う仮想化制御装置におけるアクセス経路制御方法において、
記憶装置が有する記憶領域毎に割当てられた仮想化処理部の切替え処理の起動契機を検出するステップと、
仮想化処理部の切替え処理の対象である記憶領域に対して発行されたアクセス要求の処理状態を監視するステップと、
未完了のアクセス要求がある場合に、新たにホストコンピュータから受信した切替え処理の対象である記憶領域に対するアクセス要求を一時キューイングするステップと、
未完了のアクセス要求が無い場合に、仮想化制御装置を構成し仮想化処理部の切替え処理に関連する各部位に仮想化処理部の変更指示を発行するステップと、
仮想化処理部の変更指示に対する完了報告の受信を契機として、キューイングしたアクセス要求を新たな仮想化処理部に対して発行するステップを有することを特徴とする仮想化処理部の切替え制御方法。
【請求項８】
１または複数の記憶装置と、１または複数のホストコンピュータと、仮想化制御装置とが接続された計算機システムにおいて、
前記仮想化制御装置は、前記ホストコンピュータ及び前記記憶装置の一方または両方に接続される複数のポート部と、１または複数のストレージ制御部とを備えて構成され、
前記ポート部及びストレージ制御部のそれぞれは、前記ホストコンピュータが前記記憶装置が有する記憶領域に対してアクセスするために使用する第１の識別情報と、前記仮想化制御装置が前記記憶領域を識別する第２の識別情報との対応情報を保持し、該対応情報に基づいてホストコンピュータから受信した第１の識別情報を有するデータを第２の識別情報有するデータに変換して前記記憶領域を有する記憶装置に転送し、前記記憶装置から受信した第２の識別情報を有するデータを第１の識別情報を有するデータに変換してホストコンピュータに転送する仮想化処理部を備えて構成され、
前記仮想化制御装置は、前記記憶装置の記憶領域毎のアクセス経路として、ホストコンピュータに接続される第１のポート部と、前記記憶装置に接続される第２のポート部と、前記仮想化処理部とを登録したアクセス経路管理情報を有し、
前記アクセス経路の変更要求を受領した場合に、前記アクセス経路管理情報を更新し、新たなアクセス経路を用いてホストコンピュータと記憶装置の記憶領域との間でのデータの送受信制御を行うことを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化制御装置、アクセス経路制御方法及び計算機システムに係り、特に、ホストコンピュータと複数の記憶装置との間を経路で接続すると共に、ホストコンピュータに対して複数の記憶装置を仮想的なＮ台の記憶装置として提供する仮想化制御装置、仮想化制御装置のアクセス経路制御方法及び計算機システムに関する。
【背景技術】
【０００２】
記憶システムに対するアクセス性能の向上を図ることを可能にした従来技術として、例えば、特許文献１に記載された技術が知られている。この従来技術は、アクセス速度の異なる複数の記憶装置により記憶システムを構成し、複数の記憶装置のそれぞれの記憶装置に対するアクセス頻度に応じて自動的に高速アクセスな記憶装置と低速アクセスな記憶装置との間での再配置を実施するというものである。
【特許文献１】特開平５−１２０７７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前述した従来技術は、データを格納する記憶媒体と、記憶媒体を記憶装置として統括制御（例えば、ホストコンピュータと記憶媒体との間でのデータの転送制御）する制御部とから構成され、ホストコンピュータと記憶媒体とが１つのアクセス経路で接続されるように構成されている。しかし、前述の従来技術は、記憶装置におけるアクセス性能の向上を、制御部内で提供する複数のアクセス経路から最適なアクセス経路を選択して行うことに対する考慮がなされていないため、記憶装置に対するアクセス性能の向上を図ることが困難であるという問題点を有している。すなわち、前述した従来技術には、例えば、ホストコンピュータと記憶媒体とのアクセス経路として複数のアクセス経路を制御部で提供する場合、アクセス経路上に存在する各種資源の使用率を考慮したアクセス経路の最適化によるアクセス性能向上に関する技術は開示されていない。
【０００４】
また、前述した従来技術は、アクセス速度の異なる複数の記憶装置から構成される記憶システムにおいて、複数の記憶装置のそれぞれに対するアクセス頻度に応じてデータを格納する記憶装置の最適化（格納データの最適配置）を実施することによって、記憶システムに対するアクセス性能の向上を図ることができるようにしたものである。しかし、この従来技術は、記憶システムのアクセス性能向上のために記憶装置相互間でのデータ移行（再配置）処理が必要であり、データ移行処理の間、ホストコンピュータからのアクセス要求が、記憶装置において一時保留されるか、データ移行処理と同時に処理されるため、アクセス性能が著しく低下してしまうという問題点を有している。
【０００５】
本発明の目的は、前述した従来技術の問題点を解決し、記憶システムを構成する記憶装置相互間でのデータ移行処理を行うことなく、ホストコンピュータと記憶装置とを接続する複数のアクセス経路から最適なアクセス経路を選択し切替えることにより、記憶システムに対するアクセス性能を向上させることを可能にした仮想化制御装置、仮想化制御装置のアクセス経路制御方法及び計算機システムを提供することにある。
【０００６】
また、本発明の他の目的は、前述のアクセス経路の切替え処理を、仮想化制御装置を構成する各種資源の使用状況に基づいて実施することにより、仮想化制御装置内における処理負荷の分散制御を可能とし、その結果として記憶システムに対するアクセス性能を向上させることを可能にした仮想化制御装置、仮想化制御装置のアクセス経路制御方法及び計算機システムを提供することにある。
【０００７】
さらに、本発明の他の目的は、前述のアクセス経路の切替え処理を、管理者からの設定条件と仮想化制御装置自身で検出した各種結果（資源の使用状況、アクセス傾向、他）に基づいて実施することにより、管理者の負荷を増加させることなく、動的に変化する記憶システムに要求されるアクセス性能に対応することを可能にした仮想化制御装置、仮想化制御装置のアクセス経路制御方法及び計算機システムを提供することにある。
【課題を解決するための手段】
【０００８】
前記目的を達成するため、本発明は、ホストコンピュータと記憶装置との間に置かれる仮想化制御装置が、ホストコンピュータと記憶装置とを接続する複数のアクセス経路を提供し、管理者からのアクセス経路の切替え処理に関する設定条件及び仮想化制御装置自身が検出した各種監視結果（資源の使用状況、アクセス傾向、他）等に基づいて、ホストコンピュータと記憶装置とを接続する複数のアクセス経路から最適なアクセス経路を選択し切替える処理を行うようにしたことを特徴とする。
【０００９】
具体的にいえば、前記目的は、１または複数の記憶装置と１または複数のホストコンピュータとに接続される仮想化制御装置において、前記ホストコンピュータ及び前記記憶装置の一方または両方に接続される複数のポート部と、１または複数のストレージ制御部とを備え、前記ポート部及びストレージ制御部のそれぞれが、前記ホストコンピュータが前記記憶装置が有する記憶領域に対してアクセスするために使用する第１の識別情報と、前記仮想化制御装置が前記記憶領域を識別する第２の識別情報との対応情報を保持し、該対応情報に基づいてホストコンピュータから受信した第１の識別情報を有するデータを第２の識別情報有するデータに変換して前記記憶領域を有する記憶装置に転送し、前記記憶装置から受信した第２の識別情報を有するデータを第１の識別情報を有するデータに変換してホストコンピュータに転送する仮想化処理部を備えて構成され、前記記憶装置の記憶領域毎のアクセス経路として、ホストコンピュータに制御される第１のポート部と、前記記憶装置に接続される第２のポート部と、前記仮想化処理部とを登録したアクセス経路管理情報を有し、前記アクセス経路の変更要求を受領した場合に、前記アクセス経路管理情報を更新し、新たなアクセス経路を用いてホストコンピュータと記憶装置の記憶領域との間でのデータの送受信制御を行うことにより達成される。
【００１０】
また、前記目的は、ホストコンピュータと記憶装置との間で送受信されるデータの識別情報の変換処理を実行し、記憶領域に対して割当てられた前記識別情報の変換処理を行ってアクセス経路の切替得を行う仮想化制御装置におけるアクセス経路制御方法において、記憶装置が有する記憶領域毎に割当てられた仮想化処理部の切替え処理の起動契機を検出するステップと、仮想化処理部の切替え処理の対象である記憶領域に対して発行されたアクセス要求の処理状態を監視するステップと、未完了のアクセス要求がある場合に、新たにホストコンピュータから受信した切替え処理の対象である記憶領域に対するアクセス要求を一時キューイングするステップと、未完了のアクセス要求が無い場合に、仮想化制御装置を構成し仮想化処理部の切替え処理に関連する各部位に仮想化処理部の変更指示を発行するステップと、仮想化処理部の変更指示に対する完了報告の受信を契機として、キューイングしたアクセス要求を新たな仮想化処理部に対して発行するステップを有することにより達成される。
【００１１】
さらに、前記目的は、１または複数の記憶装置と、１または複数のホストコンピュータと、仮想化制御装置とが接続された計算機システムにおいて、前記仮想化制御装置が、前記ホストコンピュータ及び前記記憶装置の一方または両方に接続される複数のポート部と、１または複数のストレージ制御部とを備えて構成され、前記ポート部及びストレージ制御部のそれぞれが、前記ホストコンピュータが前記記憶装置が有する記憶領域に対してアクセスするために使用する第１の識別情報と、前記仮想化制御装置が前記記憶領域を識別する第２の識別情報との対応情報を保持し、該対応情報に基づいてホストコンピュータから受信した第１の識別情報を有するデータを第２の識別情報有するデータに変換して前記記憶領域を有する記憶装置に転送し、前記記憶装置から受信した第２の識別情報を有するデータを第１の識別情報を有するデータに変換してホストコンピュータに転送する仮想化処理部を備えて構成され、前記仮想化制御装置が、前記記憶装置の記憶領域毎のアクセス経路として、ホストコンピュータに接続される第１のポート部と、前記記憶装置に接続される第２のポート部と、前記仮想化処理部とを登録したアクセス経路管理情報を有し、前記アクセス経路の変更要求を受領した場合に、前記アクセス経路管理情報を更新し、新たなアクセス経路を用いてホストコンピュータと記憶装置の記憶領域との間でのデータの送受信制御を行うことにより達成される。
【発明の効果】
【００１２】
本発明によれば、記憶装置システムに対するアクセス性能の向上を図ることができ、また、仮想化制御装置内における処理負荷の分散制御が可能となり、結果として装置システムに対するアクセス性能の向上をはかることが可能となる。さらに、本発明によれば、管理者に対する負担を増加させることなく、動的に変化する記憶装置システムに要求されるアクセス性能を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明による仮想化制御装置、仮想化制御装置のアクセス経路制御方法及び計算機システムの実施形態を図面により詳細に説明する。
【００１４】
図１は本発明の第１の実施形態による計算機システムの構成を示すブロック図である。ここで説明する本発明の第１の実施形態は、管理装置（管理者）からの指示によりアクセスパスの切り替えを行う例である。図１において、１はホストコンピュータ、２は仮想化制御装置、３は記憶装置、４は管理装置、５−１、５−２はネットワーク、６はポート部、７はストレージ制御部、８は管理部、９はバックプレーンである。
【００１５】
本発明の第１の実施形態による計算機システムは、１または複数台のホストコンピュータ１と、１または複数台の記憶装置３と、ホストコンピュータ１と記憶装置３とに接続される仮想化制御装置２と、仮想化制御装置２に接続される管理装置４とを備えて構成される。ホストコンピュータ１及び記憶装置３は、ネットワーク（Storage Network:SN）５−１を介して仮想化制御装置２と接続され、管理装置４は、ネットワーク５−２を介して仮想化制御装置２と接続される。ネットワーク５−１及びネットワーク５−２において使用されるプロトコルは、同一のネットワークプロトコルでも異なるネットワークプロトコルでもよい。また、ネットワーク５−１において使用されるプロトコルも同一のプロトコルに限定されるものではない。例えば、記憶装置と仮想化制御装置との間のネットワークで使用されるプロトコルと、ホストコンピュータと仮想化制御装置との間のネットワークで使用されるプロトコルとが異なるネットワークプロトコルであってもよい。さらに、記憶装置毎、ホストコンピュータ毎に異なるネットワークプロトコルを用いて仮想化制御装置に接続してもよい。
【００１６】
ホストコンピュータ１は、アプリケーションプログラムを実行するＣＰＵ１０、アプリケーションプログラムが格納されるメモリ１１、磁気ディスク等の記録媒体１２、仮想化制御装置２と接続されるネットワーク５−１を制御するインタフェース制御部１３（ＳＮ  Ｉ／Ｆ）を備えて構成される。
【００１７】
管理装置４は、仮想化制御装置２及び仮想化制御装置２に接続される記憶装置３を管理するための管理プログラムを実行するＣＰＵ４０、管理プログラムが格納されるメモリ４１、磁気ディスク等の記録媒体４２、仮想化制御装置２と接続されるネットワーク５−２を制御するインタフェース制御部４３を備えて構成される。
【００１８】
記憶装置３は、仮想化制御装置２に接続されるネットワーク５−１を制御するインタフェース制御部３３（ＳＮ  Ｉ／Ｆ）、ユーザデータを格納する磁気ディスク等の記録媒体３２、ホストコンピュータ１からのアクセス要求に基づき記録媒体３２への個々のアクセスを制御するＣＰＵ３０、ホストコンピュータ１と記録媒体３２との間で転送されるデータを格納するバッファ部３５を備えて構成される。
【００１９】
前述において、複数のディスク装置から構成されるディスク装置群を記憶装置３の記録媒体３２として用いることが可能である。その場合、記憶装置３は、個々のディスク装置とバッファ部３５との間でデータの送受信を行う１つ以上のディスクインタフェース制御部を備えて、ディスク装置群と接続されることが望ましい。
【００２０】
仮想化制御装置２は、ホストコンピュータ１と記憶装置３との間で送受信されるフレームデータを転送するスイッチである。仮想化制御装置２は、１または複数のポート部６と、１または複数のストレージ制御部７と、管理部８とが、バックプレーン９を介して接続されて構成される。
【００２１】
ポート部６は、ホストコンピュータ１あるいは記憶装置３と接続されるネットワーク５−１を制御するインタフェース制御部（ＳＮ  Ｉ／Ｆ）６３と、仮想化制御装置２を構成する各部位間を接続するバックプレーン９を制御するインタフェース制御部（ＢＰ  Ｉ／Ｆ）６４と、後述するプログラムや情報を格納するメモリ６１と、これらの情報を用いてプログラムを実行するＣＰＵ６０とを備えて構成される。
【００２２】
ストレージ制御部７は、バックプレーン９を制御するインタフェース制御部（ＢＰ  Ｉ／Ｆ）７４と、ホストコンピュータ１と記憶装置３との間で転送されるデータを保持するキャッシュ７５と、後述するプログラムや情報を格納するメモリ７１と、これらの情報を用いてプログラムを実行するＣＰＵ７０とを備えて構成される。
【００２３】
管理部８は、管理装置４と接続されるネットワーク５−２を制御するインタフェース制御部（Management Port)８３と、仮想化制御装置２を構成する各部位間を接続するバックプレーン９を制御するインタフェース制御部（ＢＰ  Ｉ／Ｆ）８４と、後述するプログラムや情報を格納するメモリ８１と、これらの情報を用いてプログラムを実行するＣＰＵ８０とを備えて構成される。
【００２４】
図１に示す例において、ホストコンピュータ１、記憶装置３、管理装置４は、それぞれ１つのインタフェース制御部（ＳＮ  Ｉ／Ｆ）を持つものとして示したが、本発明は、これに限定されるものではなく、複数のインタフェース制御部を持つことが可能である。同様に、仮想化制御装置２を構成する各部位は、バックプレーン９を制御するインタフェース制御部（ＢＰ  Ｉ／Ｆ）を複数持つことが可能であり、それぞれ複数のネットワークあるいはバックプレーンを介して接続されることが望ましい。さらに、仮想化制御装置２のポート部６は、異なるネットワークプロトコルに対応可能であることから、後述のプログラムや情報を入れ替えることにより任意のポート部６を管理部８として使用することも可能である。
【００２５】
図２は管理装置４の記録媒体４２に格納されていて、メモリ４１に読み込まれてＣＰＵ４０によって実行されるプログラム及び管理装置４の記録媒体４２に格納される管理情報の例を示す図である。
【００２６】
図２において、ボリューム管理プログラム４１４は、仮想化制御装置２から後述するボリュームマッピング情報５１１を読み出して出力装置に出力し、ボリュームマッピング情報を管理者に通知し、また、ボリュームマッピング情報５１１に新たに登録する情報やボリュームマッピング情報の更新情報を入力装置を介して管理者から受け付けて仮想化制御装置２に送信し、管理者から受け付けた情報をボリュームマッピング情報５１１に設定する処理を実行するためのプログラムである。また、ボリュームマッピング管理情報４１１は、仮想化制御装置２から読み出したボリュームマッピング情報５１１や、管理者から受け付けた登録情報、更新情報を有する。そして、管理装置４のＣＰＵ４０は、ボリュームマッピング管理情報４１１を用いてボリューム管理プログラム４１４を実行することによってボリューム管理部４０１を実現している。
【００２７】
ここでボリュームとは、個々の記憶装置（仮想化された記憶装置も含む）で管理される記憶領域のことであり、１台の記憶装置が複数のボリュームを構成すること、あるいは、複数台の記憶装置で１つのボリュームを構成することも可能である。また、記憶装置３で管理されるボリュームを実ボリューム、仮想化制御装置２で管理されるボリューム、あるいは、仮想化制御装置２を介してホストコンピュータ１に提供するボリュームを仮想ボリュームということとして、これらを以後の説明では、区別して使用することとする。
【００２８】
記憶装置管理プログラム４１５は、仮想化制御装置２から後述する記憶装置状態管理情報５１７を読み出して出力装置に出力し、記憶装置の状態を管理者に通知し、また、管理者から記憶装置状態管理情報５１７への登録情報や更新情報を受け付けて、これらの情報を仮想化制御装置２に設定するために実行されるプログラムである。また、記憶装置管理情報４１２は、仮想化制御装置２から受信した記憶装置状態管理情報５１７や、管理者から受け付けた登録情報、更新情報を有する。そして、管理装置４のＣＰＵ４０が記憶装置管理情報４１２を利用して記憶装置管理プログラム４１５を実行することによって記憶装置管理部４０２が実現される。
【００２９】
図３は仮想化制御装置２を構成する何れかの部位（ポート部６、ストレージ制御部７、管理部８）のＣＰＵによって実行されるプログラムと管理情報との例を示す図である。
【００３０】
図３において、仮想化ルーティング処理部５０１は、仮想化制御装置２を構成する何れかの部位のＣＰＵが、ボリュームマッピング情報５１１及び仮想化ルーティング制御情報５１２に基づいて、仮想化制御装置２を構成する何れかの部位のメモリに読み込まれた仮想化ルーティング処理プログラム５１６、すなわち、ホストコンピュータ１と記憶装置３との間で送受信されるフレームデータのルーティング処理を実行するものであり、仮想化制御装置２を構成するポート部６、ストレージ制御部７のＣＰＵによって実行される。
【００３１】
ここでいうフレームデータとは、ホストコンピュータ１から記憶装置３に対して送信されるアクセス要求情報（コマンド）、記憶装置３からホストコンピュータ１に対して送信されるステータス情報（レスポンス）、及び、アクセス要求情報に基づいてホストコンピュータ１と記憶装置３との間で送受信されるデータ等を含むその他の全ての情報を含むものである。前述した仮想化ルーティング処理プログラム５１６は、フレームデータの種別毎のルーティング処理プログラムであるコマンド転送処理プログラム５１３、レスポンス転送処理プログラム５１４、その他の転送処理プログラム５１５から構成されるものとしている。
【００３２】
なお、ボリュームマッピング情報５１１、仮想化ルーティング制御情報５１２、及び、フレームデータのルーティング処理の詳細については後述する。
【００３３】
記憶装置監視部５０２は、仮想化制御装置２が仮想化制御の対象とする個々の記憶装置３の状態を監視し、監視結果を記憶装置状態管理情報５１７として保持し、記憶装置３の状態の変更を検出したことを契機に管理装置４に対して状態の変更通知し、また、管理装置４から受信した記憶装置管理情報４１２に基づいて自身が保持する記憶装置状態管理情報５１７を更新する処理を実行する。そして、記憶装置監視部５０２は、仮想化制御装置２を構成する何れかの部位のＣＰＵが、記憶装置監視プログラム５１８を実行することにより実現される。
【００３４】
パス切替え処理部５０３は、例えば、管理装置４から受信したボリュームマッピング管理情報４１１に含まれるパスの切替え制御に係る情報をパス切替え制御情報５１９として格納し、パス切替え制御情報５１９に基づいてホストコンピュータ１と記憶装置３との間で送受信されるフレームデータの仮想化制御装置２内の転送経路（以下、アクセスパスという）の切替え処理を実行する。パス切替え処理部５０３は、仮想化制御装置２を構成する何れかの部位のＣＰＵが、パス切替え処理プログラム５２０を実行することにより実現される。なお、パス切替え処理プログラム５２０における処理内容、手順等の詳細は後述する。
【００３５】
前述した図３において、仮想化制御装置２の初期化処理に係るプログラム等の記載を省略しているが、少なくとも電源投入を条件に各種管理情報の初期化処理を実行する初期化処理プログラム、あるいは、管理装置４等からの指示を契機に、初期化処理あるいは診断処理等を実行するプログラム群を有することが望ましい。
【００３６】
図４はホストコンピュータ１と記憶装置３とのアクセスパスのバリエーションを示す図である。なお、図４において、ホストコンピュータ１と接続されるポート部６−１を In Port、記憶装置３と接続されるポート部６−２をOut Portと呼ぶこととする。
【００３７】
第１のアクセスパスは、ホストコンピュータ１と記憶装置３とが、ポート部６−１(In Port）とストレージ制御部７−１(Storage Controller #1）とポート部６−２(Out Port)とを介して接続される経路である。また、ホストコンピュータ１と記憶装置と３が、ポート部６−１(In Port）とストレージ制御部７−２(Storage Controller #2）とポート部６−２(Out Port)とを介して接続される経路もある。
【００３８】
第２のアクセスパスは、ホストコンピュータ１と記憶装置３とが、ポート部６−１(In Port）とポート部６−２(Out Port)とを介して接続される経路である。この経路の変形として、１つのポート部に、複数のインタフェース制御部（ＳＮ  Ｉ／Ｆ）６３を設けて、１つのポート部を In PortとOut Portとに兼用して１つのポート部だけを介してホストコンピュータ１と記憶装置３とを接続する経路もある。
【００３９】
図５は仮想化制御装置２で管理されるボリュームマッピング情報５１１の例を示す図である。
【００４０】
ボリュームマッピング情報５１１は、仮想ボリュームと実ボリュームとのマッピングを示す制御情報であり、仮想ボリューム管理情報５３１、実ボリューム管理情報５３２、仮想化処理部位管理情報５３３、記憶装置接続部位（ポート）管理情報５３４、コマンド処理モード情報５３５により構成される。
【００４１】
仮想ボリューム管理情報５３１は、仮想ボリュームを識別するための情報であり、ネットワークで固有の値を有する Port ID、ポート毎に固有の値を有する Port Name、装置内で固有の情報であるLUN(Logical Unit Number)等が含まれる。実ボリューム管理情報５３２は、仮想ボリュームに対応する実ボリュームを識別するための情報であり、ネットワークで固有の値を有する Port ID、ポート毎に異なる値を有する Port Name、装置内で固有の値を有するLUN 等の情報が含まれる。仮想化処理部位管理情報５３３は、後述する仮想化処理を実行する部位の識別子情報である。記憶装置接続部位（ポート）管理情報５３４は、仮想化処理部位と記憶装置３との間のアクセスパスに介在するポート部６の識別子情報である。また、コマンド処理モード情報５３５は、後述するパス切替え処理時に設定される情報である。
【００４２】
前述において、仮想ボリュームを識別するための情報であるPort ID、Port Nameは、仮想化制御装置２がホストコンピュータ１に対して見せる記憶装置（以下、仮想記憶装置）に割当てられた識別子情報である。例えば、ホストコンピュータ１が仮想ボリューム管理情報５３１に登録されたPort ID とLUN とを指定してフレームデータを送信した場合、実際には仮想化制御装置２の仮想化ルーティング処理部５０１がボリュームマッピング情報５１１及び仮想化ルーティング制御情報５１２に基づいて、前述のPort ID とLUN とが示す仮想ボリュームに対応する実ボリュームを有する記憶装置にフレームデータを転送するよう制御される。しかし、ホストコンピュータ１には、自身が指定したPort IDが示すポートを有する記憶装置にアクセスしているように認識される。
【００４３】
図５に示す例には、Port ID=V_Pid_1/2/3/4、Port Name=V_Pname_1/2/3/4、LUN=0で 識別される仮想ボリュームが、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0/1/2/3 で識別される実ボリュームにマッピングされている（対応付けられている）例を示している。
【００４４】
また、図５には、Port ID=V_Pid_1/2、LUN=0で識別される仮想ボリュームについて、後述の仮想化処理を実行する部位としてストレージ制御部７の識別子情報(Storage Controller #1)が設定され、Port ID=V_Pid_3/4、LUN=0 で識別される仮想ボリュームについて、仮想化処理を実行する部位としてポート部６の識別子情報(Out Port)が設定されている例を示している。
【００４５】
さらに、図５には、仮想化処理を実施する部位と記憶装置３とのアクセスパスに介在するポート部６の識別子情報（Out Port）とが、それぞれ設定されており、また、仮想ボリュームに対するコマンド処理モードの情報として“Normal（通常処理）”が、それぞれ設定されている例を示している。
【００４６】
なお、仮想化制御装置２を構成する各部位において、同一のボリュームマッピング情報５１１持つ必要はなく、各部位において必要な情報のみから構成されるボリュームマッピング情報５１１を保持管理することが望ましい。
【００４７】
また、以下に説明する本発明の実施形態では、Port ID によって仮想ボリュームの識別が可能な場合を例として説明するが、本発明は、これに限定されるものではなく、前述の仮想ボリューム管理情報５３１を構成する各情報の組み合わせで仮想ボリュームの識別が可能であれば何ら問題なく、例えば、１つの Port IDに複数の仮想ボリュームを対応付けることも可能である。
【００４８】
図６は仮想化制御装置２を構成する部位毎に管理される仮想化ルーティング制御情報５１２の例を示す図である。
【００４９】
仮想化ルーティング制御情報５１２は、仮想化制御装置２を構成する各部位が、後述のフレームデータの転送処理を実行する際に、生成、参照、更新する情報であり、送信元管理情報５４１と、送信先管理情報５４２とを有する。送信元管理情報５４１は、送信元の識別情報と送信元指定のコマンド識別情報とにより構成され、送信先管理情報５４２は、送信先識別情報と自身が指定したコマンド識別情報とにより構成される。
【００５０】
前述でのコマンド識別情報は、送信元と送信先との間で送受信される個々のフレームデータがどのコマンドに関連するものかを識別するための情報であり、個々のフレームデータに付加される情報である。
【００５１】
なお、前述のフレームデータの構成についての詳細な説明は省略するが、フレームデータは、少なくとも、フレームデータの送信元／送信先を識別する情報（送信元／送信先識別情報）、フレームデータの種別情報、コマンド識別情報を有するヘッダ情報と、前述のアクセス要求情報、ステータス情報、あるいは、データ等を有するペイロード情報とを有して構成されるものとする。
【００５２】
図６に示す例には、前記ホストコンピュータ１と接続されるポート部６−１(In Port) が保持管理する仮想化ルーティング制御情報５１２の例として、Host_Pid_1で識別されるホストコンピュータからHost_Tag_1/2/3で識別されるコマンドを受信し、それぞれについて自身が指定したコマンド識別子情報InPort_Tag_1/2/3を付加し、ストレージ制御部７(Storage Controller #1）あるいはポート部６−２（Out Port）に転送した状態であることを示している。
【００５３】
図７は仮想化制御装置２を構成するポート部６によって実行されるフレームデータの転送処理の処理動作を説明するフローチャートであり、次に、これについて説明する。この処理は、ホストコンピュータ１あるいは外部記憶装置３からのフレームデータの受信、あるいは、仮想化制御装置２を構成する各部位間でのフレームデータの受信を契機として起動されるポート部６の仮想化ルーティング処理部５０１の仮想化ルーティング処理プログラム５１６によって実現される。
【００５４】
１．コマンドフレームの場合
（１）フレームデータを受信した仮想化制御装置２のポート部６は、受信したフレームデータに含まれるフレームデータの種別情報を用いてフレームデータの種別を検出し、受信したフレームデータがコマンドフレームか否かを判定し、受信したフレームデータがコマンドフレームであった場合、コマンド転送処理プログラム５１３が以下のコマンドフレームの転送処理を実行する（ステップ１１０）。
【００５５】
（２）まず、コマンド転送処理プログラム５１３は、ボリュームマッピング情報５１１のコマンド処理モード５３５を用いて、後述のパス切替え処理時に設定されるペンディングモードか否かを検出する（ステップ１１１）。
【００５６】
（３）ステップ１１１の検出で、コマンド処理モードがペンディングモードに設定されていた場合、さらに、受信したコマンドフレームをキューイング可能か否かを、キューフルであるか否かにより判定し、キューフルであってキューイング不可であった場合、コマンドフレームを受領できないことを示す（例えば、キューフル）ステータス情報を含むレスポンスフレームを生成、発行して一連の処理を終了する（ステップ１１２、１１３）。
【００５７】
（４）ステップ１１２の判定で、キューフルでなくキューイング可であった場合、コマンドフレームをキューイングして一連の処理を中断する。なお、この中断したコマンドフレームの転送処理に関しては、後述するパス切り替え処理の中で再開される（ステップ１１４）。
【００５８】
（５）ステップ１１１の判定で、コマンド処理モードがペンディングモードでなかった場合、すなわち、ノーマルモードに設定されていた場合、受信したフレームデータに含まれるフレームデータの送信先識別情報、及び、必要な場合、受信したフレームデータのペイロードに含まれる各種情報(送信先のLUN等）と、ボリュームマッピング情報５１１とを用いて、後述するコマンド変換処理を自身で実施するか否かを判別する（ステップ１１５）。
【００５９】
判別の一例を説明すると、この判別は、例えば、送信先のPort ID やLUN が、ボリュームマッピング情報５１１の仮想ボリューム管理情報５３１に登録されており、かつ、仮想化処理モジュール管理情報５３３に自身の識別情報が登録されている場合、そのコマンドは自身でのコマンド変換処理が必要なフレームデータであると判定するというように行われる。
【００６０】
（６）ステップ１１５の判別で、自身でのコマンド変換処理が必要と判別された場合、ボリュームマッピング情報５１１の仮想ボリューム管理情報５３１と実ボリューム管理情報５３２とを用いて、受信したコマンドフレームに含まれる送信先識別情報を実ボリュームに対応した識別情報に、送信元識別情報を自身の識別情報に、LUN 等のアクセス要求（コマンド）情報を実ボリュームに対応したLUN 等のアクセス要求情報に置き換える処理を、コマンド変換処理として実施する（ステップ１１６）。
【００６１】
（７）ステップ１１５の判別で、自身でのコマンド変換処理が不要と判別された場合、あるいは、ステップ１１６でのコマンド変換処理を実施した後、ボリュームマッピング情報５１１の仮想化処理モジュール管理情報５３３(In Portの場合）、外部ボリューム接続モジュール管理情報５３４（ストレージ制御装置の場合）あるいは実ボリューム管理情報５３２（Out Portの場合）を用いてコマンドフレームの転送先を検出する（ステップ１１７）。
【００６２】
（８）次に、コマンド転送処理プログラム５１３は、受信したコマンドフレームに含まれる送信元識別情報と、コマンド識別情報と、コマンドフレームの転送先を識別する送信先識別情報と、自身が生成したコマンド識別情報とを、仮想化ルーティング制御情報５１２の送信元管理情報５４１、送信先管理情報５４２として登録する（ステップ１１８）。
【００６３】
（９）さらに、コマンド転送処理プログラム５１３は、受信したコマンドフレームに含まれるコマンド識別情報を自身が生成したコマンド識別情報に置き換え、前述で検出したコマンドフレームの転送先に送信して、一連のコマンドフレーム転送処理を終了する（ステップ１１９）。
【００６４】
２．レスポンスフレームの場合
（10）ステップ１１０の判定で、受信したフレームデータがコマンドフレームでなかった場合、受信したフレームデータがレスポンスフレームであるか否かを判定し、受信したフレームデータがレスポンスフレームであった場合、レスポンス転送処理プログラム５１４が以下のレスポンス転送処理を実行する（ステップ１２０）。
【００６５】
（11）まず、レスポンス転送処理プログラム５１４は、受信したレスポンスフレームに含まれるコマンド識別情報と、ボリュームマッピング情報５１１とを用いて自身でレスポンス生成処理が必要か否かを判別する（ステップ１２１）。
【００６６】
判別の一例を説明すると、この判別は、例えば、受信したレスポンスフレームに含まれる送信元の識別情報が、ボリュームマッピング情報５１１の実ボリューム管理情報５３１に登録されており、かつ、仮想化処理モジュール管理情報５３３に自身の識別情報が登録されている場合に、そのレスポンスフレームは自身でのレスポンス生成処理が必要なフレームデータであると判定するというように行われる。
【００６７】
（12）ステップ１２１の判別で、自身でのレスポンス生成処理が必要と判別された場合、レスポンス生成処理は、ボリュームマッピング情報５１１の仮想ボリューム管理情報５３１を用いて、受信したレスポンスフレームに含まれる送信元識別情報を仮想ボリュームに対応した識別情報に、送信先識別情報を対応するホストコンピュータの識別情報に置き換える処理と、受信したレスポンスフレームに含まれるステータス情報に基づいて、必要な場合には、新たなステータス情報を生成して置き換える処理とを実施する（ステップ１２２）。
【００６８】
（13）ステップ１２１の判別で、自身でのレスポンス生成処理が不要と判別された場合、あるいは、ステップ１２２でのレスポンス生成処理を実施した後、受信したフレームデータに含まれるコマンド識別情報と、仮想化ルーティング制御情報５１２とを用いてレスポンスフレームの転送先を検出する（ステップ１２３）。
【００６９】
転送先検出の一例を説明すると、この転送先の検出は、受信したフレームデータに含まれるコマンド識別情報と一致する仮想化ルーティング制御情報５１５の送信先管理情報５４２のコマンド管理情報を検出し、当該コマンド管理情報に対応する送信元管理情報５４１の送信元識別情報をレスポンスフレームの転送先として検出するというように行われる。
【００７０】
（14）さらに、レスポンス転送処理プログラム５１４は、受信したレスポンスフレームに含まれるコマンド識別情報を、仮想化ルーティング制御情報５１２の送信元管理情報５３１の対応する送信元コマンド識別情報とに置き換えて、前述で検出したレスポンスフレームの転送先に送信する（ステップ１２４）。
【００７１】
（15）さらに、レスポンス転送処理プログラム５１４は、受信したレスポンスフレームに含まれるコマンド識別情報に基づき、仮想化ルーティング制御情報５１２の対応するエントリ（送信先／送信元管理情報）を削除する管理情報の更新を行って一連のレスポンスフレーム転送処理を終了する（ステップ１２５）。
【００７２】
３．前述以外のフレームの場合
（16）ステップ１２０の判定で、受信したフレームデータがレスポンスフレームでなかった場合、すなわち、コマンドフレームでもなく、レスポンスフレームでもなかった場合、その他の転送処理プログラム５１５が以下のフレームデータ転送処理を実行する。
【００７３】
（17）まず、その他の転送処理プログラム５１５は、受信したフレームデータに含まれるフレームデータの送信先／送信元識別情報及びコマンド識別情報と、ボリュームマッピング情報５１１及び仮想化ルーティング制御情報５１２とを用いて、自身での仮想化処理の要否を判別する（ステップ１２６）。
【００７４】
判別の一例を説明すると、この判別は、例えば、送信先識別情報あるいは送信元識別情報が、ボリュームマッピング情報５１１の実ボリューム管理情報５３２あるいは仮想ボリューム管理情報５３１に登録されており、かつ、仮想化処理モジュール管理情報５３３に自身の識別情報が登録されている場合に、自身での仮想化処理が必要なフレームデータであると判定するというように行われる。
【００７５】
（18）ステップ１２６の判別で、自身での仮想化（送信元／送信先識別情報変換）処理が必要と判別した場合、仮想化処理として、ボリュームマッピング情報５１１の仮想ボリューム管理情報５３１と実ボリューム管理情報５３２を用いて、受信したフレームデータに含まれる送信元の識別情報あるいは送信先の識別情報を、仮想ボリュームの識別情報あるいは実ボリュームの識別情報に置き換える処理を実施する（ステップ１２７）。
【００７６】
この処理の一例を説明すると、この処理は、例えば、受信したフレームデータに含まれる送信先の識別情報が仮想ボリュームの識別情報と一致する場合（ホストコンピュータから仮想化制御装置）、送信先の識別情報を実ボリュームの識別情報に、あるいは、受信したフレームデータに含まれる送信元の識別情報が実ボリュームの識別情報と一致する場合（仮想化制御装置からホストコンピュータ）、送信元の識別情報を仮想ボリュームの識別情報に置き換える処理を実施するというように行われる。
【００７７】
（19）ステップ１２６の判別で、自身での仮想化処理が不要と判別された場合、あるいは、ステップ１２７での変換処理を実施した後、その他の転送処理プログラム５１５は、受信したフレームデータに含まれるコマンド識別情報と、仮想化ルーティング制御情報５１２を用いてフレームデータの転送先を検出する（ステップ１２８）。
【００７８】
前述の転送先検出処理の一例を説明すると、転送先検出処理は、例えば、受信したフレームデータに含まれるコマンド識別情報と一致する仮想化ルーティング制御情報５１２の送信元管理情報５４１のコマンド識別情報を検出し、当該コマンド識別情報に対応する送信先管理情報５４２の送信先識別情報をフレームデータの転送先として検出するというように行われる。
【００７９】
（20）さらに、その他の転送処理プログラム５１５は、受信したフレームデータに含まれるコマンド識別情報を、仮想化ルーティング制御情報５１２の送信元管理情報５４１の対応する送信元コマンド識別情報に置き換え、前述で検出したフレームデータの転送先に送信して一連の処理を終了する（ステップ１２９）。
【００８０】
前述したフローの説明において、説明を簡略にするため、ポート部の識別情報を外部（ホストコンピュータあるいは記憶装置との間で用いる識別情報）と内部（仮想化制御装置内の他の部位との間で用いる識別情報）とを同一として説明したが、本発明は、これに限定するものではなく、それぞれが独立した識別情報を持つ場合、それらを関連付ける情報を持てばよい。
【００８１】
図８は仮想化制御装置２を構成するストレージ制御部７によって実行されるフレームデータの転送処理の処理動作を説明するフローチャートであり、次に、これについて説明する。この処理は、ポート部６からのフレームデータの受信を契機として起動されるストレージ制御部７の仮想化ルーティング処理部５０１の仮想化ルーティング処理プログラム５１６によって実現される。
【００８２】
１．コマンドフレームの場合
（１）フレームデータを受信した仮想化制御装置２のストレージ制御部７は、前述のポート部６の場合と同様に、受信したフレームデータに含まれるフレームデータの種別情報を用いてフレームデータの種別を検出し、受信したフレームデータがコマンドフレームか否かを判定し、受信したフレームデータがコマンドフレームであった場合、コマンド転送処理プログラム５１３が以下のコマンドフレームの転送処理を実行する（ステップ１１０）。
【００８３】
（２）まず、受信したフレームデータに含まれるフレームデータの送信先識別情報、及び、必要な場合、受信したフレームデータのペイロードに含まれる各種情報（送信先のLUN 等）と、ボリュームマッピング情報５１１とを用いて、後述するコマンド変換処理を自身で実施するか否かを判別する（ステップ１３１）。
【００８４】
判別の一例を説明すると、この判別は、例えば、送信先のPort ID やLUN が、ボリュームマッピング情報５１１の仮想ボリューム管理情報５３１に登録されいて、かつ、仮想化処理部位管理情報５３３に自身の識別情報が登録されている場合に、そのコマンドは自身でのコマンド変換処理が必要なフレームデータであると判定するというように行われる。
【００８５】
（３）ステップ１３１の判別で、自身でのコマンド変換処理が必要と判別した場合、コマンド変換処理に先立ち、記憶装置３に対するアクセスの要否を判別する（ステップ１３２）。
【００８６】
このアクセスの要否の判別は、例えば、ホストコンピュータ１からのアクセス要求がリードコマンドであり、かつ、リード要求対象のデータが自身のキャッシュ７５に格納されている場合、記憶装置３に対するアクセス（リード処理）を実施することなくホストコンピュータ１からのアクセス要求を処理することが可能と判定するというように行われる。なお、記憶装置３に対するアクセス要否の判別は、前述した例に限定されるものでない。
【００８７】
（４）ステップ１３２の判別で、記憶装置へのアクセスの必要がないと判定した場合、コマンド転送処理プログラム５１３は、自身のキャッシュ７５を用いてホストコンピュータ１との間で実施されるデータ転送処理を実行し、さらに、アクセス要求を実行した結果であるステータス情報を含むレスポンスフレームを生成、発行して一連の処理を終了する（ステップ１３３、１３４）。
【００８８】
（５）ステップ１３２の判別で、記憶装置へのアクセスが必要と判定した場合、コマンド転送処理プログラム５１３は、ボリュームマッピング情報５１１の仮想ボリューム管理情報５３１と実ボリューム管理情報５３２とを用いて、受信したコマンドフレームに含まれる送信先識別情報を実ボリュームに対応した識別情報に、送信元識別情報を自身の識別情報に、LUN 等のアクセス要求（コマンド）情報を実ボリュームに対応したLUN 等のアクセス要求情報に置き換える処理をコマンド変換処理として実施する（ステップ１３５）。
【００８９】
前述したストレージ制御部のコマンド変換処理として、複数の物理的なディスク装置を例えば１つの論理的な記憶装置としてホストコンピュータに見せる制御、また、ホストコンピュータがアクセスするデータに対する冗長データとしてパリティデータを付加して格納し、任意の１台のディスク装置に障害が発生しても、上記パリティデータを用いてホストコンピュータとのデータ転送処理を可能とする一連のパリティ制御等を実行することも可能である。その場合、この制御を実行する処理プログラム、及び、関連する制御情報をストレージ制御部で持つことが必要である。但し、ストレージ制御部における前述したディスクアレイ制御は、本発明とは直接関係がないため、その詳細な説明は省略する。
【００９０】
（６）ステップ１３１の判別で、自身でのコマンド変換処理が不要と判別した場合、あるいは、ステップ１３５でのコマンド変換処理を実施した後、コマンド転送処理プログラム５１３は、ボリュームマッピング情報５１１の記憶装置接続部位管理情報５３４を用いてコマンドフレームの転送先を検出する（ステップ１３６）。
【００９１】
（７）次に、コマンド転送処理プログラム５１３は、受信したコマンドフレームに含まれる送信元識別情報とコマンド識別情報と、コマンドフレームの転送先を識別する送信先識別情報と、自身が生成したコマンド識別情報とを、仮想化ルーティング制御情報５１２の送信元管理情報５４１、送信先管理情報５４２として登録する（ステップ１３７）。
【００９２】
（８）さらに、コマンド転送処理プログラム５１３は、受信したコマンドフレームに含まれるコマンド識別情報を自身が生成したコマンド識別情報に置き換え、前述で検出したコマンドフレームの転送先に送信して一連のコマンドフレーム転送処理を終了する（ステップ１３８）。
【００９３】
２．コマンドフレーム以外の場合
ステップ１１０の判定で、受信したフレームデータがコマンドフレーム以外であった場合の処理は、図７に示すフローにより説明したものと同一であり、その説明を省略する。
【００９４】
また、前述の図８に示すフローの説明において、記憶装置へのアクセスが必要か否の判定処理及び自身のキャッシュ７５を用いてホストコンピュータ１との間で実施されるデータ転送処理の詳細についてはその説明を省略しているが、これらの処理は、従来の記憶装置におけるキャッシュ制御と同等の処理で実現することができるものである。
【００９５】
図９はパス切替え処理の処理動作の例について説明するフローチャートであり、次に、図９を参照して、本発明の実施形態におけるパス切替え処理の一例を説明する。説明している本発明の第１の実施形態は、管理者が管理装置３を用いて仮想化制御装置２に対して発行したアクセスパスの切替え指示を契機として、パス切替え処理を実行するものである。
【００９６】
１．パス切替え指示の生成・発行
（１）まず、管理者は、管理装置３を用いて、任意の仮想ボリュームに対するアクセスパスの切替え指示を生成し、仮想化制御装置２に対してこの切替え指示を発行する（ステップ２００）。
【００９７】
なお、アクセスパスの切替え指示は、前記ボリュームマッピング管理情報４１１を用いて、ボリュームマッピング情報５１１の仮想化処理部位管理情報５３３の変更を指示することにより実現するものとし、管理者は、管理装置３が提供するボリューム管理プログラム４１４を実行させることにより、アクセスパスの切替え指示の生成及び発行を行うものとする。
【００９８】
（２）管理装置３からのアクセスパスの切替え指示は、仮想化制御装置２の管理部８によって受信され、管理部８のパス切替え処理プログラム５２０が起動される。そして、管理部８のパス切替え処理プログラム５２０は、前述のアクセスパスの切替え指示情報（例えば、仮想化処理部位管理情報５３３を変更したボリュームマッピング管理情報４１１）と自身の保持するボリュームマッピング情報５１１とに基づいて、パス切替え処理の統括制御を実施する部位を検出し、検出した部位に対して自身が受信したパス切替え指示と同様のパス切替え指示を生成、発行する（ステップ２１０、２１１）。
【００９９】
なお、ここで説明している例では、ホストコンピュータ１と接続されるポート部６(In Port）で、アクセスパスの切替え処理を統括制御するものとし、前述した管理部８からのパス切替え指示は、ポート部６(In Port）で受信されるものとする。
【０１００】
（３）管理部８からパスの切替え指示を受信したポート部６(In Port）は、自身のパス切替え処理プログラム５２０を起動する。ポート部６(In Port）のパス切替え処理プログラム５２０は、パスの切替え指示と自身が保持するボリュームマッピング情報５１１とに基づいて、パス切替え処理の制御対象となるボリューム及び部位を検出し、検出した制御対象のボリュームに対応するボリュームマッピング情報５１１のコマンド処理モードとして“ペンディングモード”を設定する（ステップ２２０、２２１）。
【０１０１】
以降、当該ボリュームに対するホストコンピュータ１からのアクセス要求（コマンド）は、前述のコマンド転送処理プログラムの処理手順に従って処理される。
【０１０２】
（４）さらに、ポート部６(In Port）のパス切替え処理プログラム５２０は、パス切替え処理の制御対象となるボリュームに対する未完了のコマンドの有無を検出する。この未完了のコマンドの有無の検出は、例えば、仮想化ルーティング制御情報５１２に、パス切替え処理の制御対象となるボリュームが登録されているか否か検索することにより判別することが可能である（ステップ２２２）。
【０１０３】
（５）ステップ２２２の未完了コマンドの有無の検出で、未完了コマンドがあることを検出した場合、未完了のコマンドがなくなるまで個々のコマンド処理の完了を待つ（ステップ２２３）。
【０１０４】
（６）ステップ２２２の未完了コマンドの有無の検出で、未完了コマンドがないことを検出した場合、あるいは、未完了コマンドがなくなったことを検出した場合、ポート部６(In Port）のパス切替え処理プログラム５２０は、関連する（制御対象となる）部位に対してそれぞれが保持管理するボリュームマッピング情報５１１の更新要求を発行する（ステップ２２４）。
【０１０５】
（７）ステップ２２４の処理によるボリュームマッピング情報５１１の更新要求を受信した各部位は、要求に基づきボリュームマッピング情報５１１の更新を行い、ポート部６(In Port）に対して完了報告を発行する（ステップ２３０）。
【０１０６】
（８）ボリュームマッピング情報５１１の更新完了を受信したポート部６(In Port）は、前述した図７のコマンド転送処理プログラムのフローにおけるステップ１１４の処理でコマンドキューイングの後中断されたコマンドフレームを新たなアクセスパス情報に基づいて発行する（ステップ２２５）。
【０１０７】
（９）その後、ポート部６(In Port）のパス切替え処理プログラム５２０は、管理部８に対してパス切替え処理の終了報告を行って一連の処理を終了する（ステップ２２６）。
【０１０８】
（10）ポート部６(In Port）からの終了報告を受信した管理部８は、管理装置４に対してパス切替え処理の終了報告を行って一連の処理を終了する（ステップ２１２）。
【０１０９】
（11）管理部８からの終了報告を受信した管理装置４は、必要であれば、ボリュームマッピング管理情報４１１の更新、あるいは、管理者への終了報告を行って一連の処理を終了する（ステップ２０１）。
【０１１０】
前述した処理によって、第１のアクセスパス（ホストコンピュータ１と記憶装置３とが、ポート部６−１(In Port）、ストレージ制御部７、ポート部６−２(Out Port)を介して接続される経路）と、第２のアクセスパス（ホストコンピュータ１と記憶装置３とが、ポート部６−１(In Port）、ポート部６−２(Out Port)を介して接続される経路）との切替え（最適化）処理を、管理者の指示に基づいて実行することができる。
【０１１１】
前述において、第１のアクセスパスは、ストレージ制御部７のキャッシュ７５を介すアクセスパスであるため、キャッシュ効果が期待されるアクセス特性を持つボリュームへのアクセスパスとして設定され、他方の第２のアクセスパスは、キャッシュ効果が期待され難いアクセス特性を持つボリュームへのアクセスパスとして設定されるようにすることによって、キャッシュ７５の有効活用（キャッシュ資源の浪費防止）、及び、上位装置であるホストコンピュータ１から見た記憶装置のアクセス性能の向上（アクセス頻度の高いボリュームに対するアクセス要求処理の高速化）を図ることが可能となる。
【０１１２】
また、キャッシュ７５の効果を期待しなくてよいデータ転送処理については、ポート部６−１、６−２間（In Port とOut Port間）で直接データ転送処理を実施することにより、バックプレーン９の帯域を有効に使用することができるという効果を得ることができる。この理由は、ストレージ制御部７を介したデータ転送が、２回のバックプレーンを用いたデータ転送であるのに対し、ポート部間でのデータ転送が、バックプレーンを１回しか使用しないためである。
【０１１３】
そこで、本発明は、例えば、現在第２のアクセスパスが設定されているが、今後アクセス頻度の増加が予想されるアプリケーションに割当てられたボリュームへのアクセスパスを、第２のアクセスパスから第１のアクセスパスに切替え、逆に、現在第１のアクセスパスが設定されているが、今後アクセス頻度の減少が予想されるアプリケーションに割当てられたボリュームへのアクセスパスを、第１のアクセスパスから第２のアクセスパスに切替えるというような制御を行うことが可能となる。
【０１１４】
なお、前述した例において、アプリケーション毎に記憶装置のボリュームを割当てることも可能である。また、前述の説明では、管理者からの指示を契機としてホストコンピュータと記憶装置とのアクセスパスの切替え処理を実施する場合を例として、その処理例を説明したが、本発明は、これに限定されるものではない。
【０１１５】
次に、ホストコンピュータと記憶装置とのアクセスパスの切替え処理に関する他の例を第２の実施形態として説明する。ここで説明する本発明の第２の実施形態は、スケジューリング情報に基づいてアクセスパス切替えの制御を行う例である。なお、計算機システムとしての構成は、図１に示したものと同一であってよい。
【０１１６】
図１０は第２の実施形態における管理装置４の記録媒体４２に格納されていて、メモリ４１に読み込まれてＣＰＵ４０によって実行されるプログラム及び管理装置４の記録媒体４２に格納される管理情報の例を示す図である。
【０１１７】
図１０に示す例は、前述した図２に示した例のものに、パス切替え管理情報４１３とパス切替え管理プログラム４１６とを有するパス切替え管理部４０３を新たに設けた点を除いて図２と同一の構成である。
【０１１８】
パス切替え管理プログラム４１６は、仮想化制御装置２からボリュームマッピング情報５１１を読み出し、アクセスパスの情報として出力装置に出力し、あるいは、管理者に通知し、また、管理者からパス切替え管理情報４１３への登録情報や更新情報を受付けて、これらの情報を仮想化制御装置２に設定するために実行されるプログラムである。また、パス切替え管理情報４１３は、仮想化制御装置２から受信したパス切替え制御情報５１９や、管理者から受け付けた登録情報、更新情報を有して構成される。なお、管理装置４のＣＰＵ４０がパス切替え管理情報４１３を利用してパス切替え管理プログラム４１６を実行することによって、パス切替え管理部４０３が実現される。
【０１１９】
前述において、管理者から指示されてパス切替え管理情報４１３に登録される情報には、アクセスパスをどのように切替えるのかを指定する切替えパス情報と、アクセスパスの切替え処理をいつ実行するのかを指定するスケジュール情報とを含むものとする。
【０１２０】
仮想化制御装置２を構成する何れかの部位（ポート部６−１、６−２、ストレージ制御部７、管理部８）のＣＰＵによって実行されるプログラムと管理情報とは、ポート部６(In Port）におけるパス切替え処理部５０３の処理内容が一部異なることを除き、図３に示してすでに説明した第１の実施形態の場合と同一である。
【０１２１】
次に、第２の実施形態におけるポート部６(In Port）におけるパス切替え処理部５０３の構成及び処理の例について説明する。
【０１２２】
パス切替え処理部５０３は、管理部８を介して管理装置４から受信したパス切替え管理情報４１３（切替えパス情報、スケジュール情報）を、パス切替え制御情報５１９として格納する。
【０１２３】
パス切替え処理プログラム５２０は、前述のパス切替え制御情報５１９として保持する切替えパス情報に基づいて前述した実際のアクセスパスの切替え処理を実行するプログラムと、前述のパス切替え制御情報５１９として保持するスケジュール情報に基づいてアクセスパスの切替え処理の起動制御を実行するプログラムとを有する。
【０１２４】
そして、アクセスパスの切替え処理の起動制御を実行するプログラムは、前述した第１の実施形態における管理部８からのパス切替え指示に代るパスの切替え契機を自身で検出することによって、以降のアクセスパスの切替え処理を実行する。
【０１２５】
なお、本発明の第２の実施形態でのアクセスパスの切替え処理は、前述の第１の実施形態とは、アクセスパスの切替え処理の起動制御が異なることを除き、他の処理（アクセスパスの切替え処理：図９における処理ステップ２２４〜２２６、及び、関連部位の処理ステップ２３０）は同一であるため、その説明を省略する。
【０１２６】
本発明の第２の実施形態は、前述したような処理によって、頻繁に発生するアクセスパスの切替え（最適化）処理を、管理者からの指示を契機とすることなく実行することができる。例えば、アプリケーション毎に記憶装置のボリュームを割当てて使用する環境において、アプリケーション毎のアクセス頻度の増減が予想可能な場合、予め前述のスケジュール情報を設定しておくことにより、アクセスパスの切替え処理の起動制御を仮想化制御装置が自律的に実行することが可能となり、管理者の負荷を軽減することができる。
【０１２７】
なお、ここでいうアクセスパスの最適化とは、ホストコンピュータと記憶装置との間で使用可能なアクセスパスが複数存在する場合、記憶装置のボリューム毎のそのボリュームに対するアクセス傾向に基づいて、アクセスパス上に介在する資源（内部ネットワーク（バックプレーン）帯域、キャッシュ、プロセッサ、他）を最大限に有効活用することができるアクセスパスを設定する（必要な場合切替える）ことであり、これにより、資源の有効活用、及び、システム性能の向上を実現することが可能となる。
【０１２８】
また、前述の説明では、管理者からの指示（パス切替え管理情報４１３）が管理装置４から管理部８を介してポート部６に転送される場合を例としたが、本発明は、これに限るものではなく、管理装置４から直接制御対象のポート部６に送信することも可能である。また、前述の説明では、管理者からのパス切替え管理情報４１３に基づいてポート部６でアクセスパスの切替え処理契機を検出する場合を例としたが、本発明は、これに限定されるものではなく、例えば、管理者からの指示を受けた管理装置４が、仮想化制御装置２に対するアクセスパスの切替え処理の起動制御を実行する（管理装置４でアクセスパスの切替え指示を発行する契機を制御する）ことも可能である。この場合、仮想化制御装置２は、第１の実施形態と同一の構成でよい。
【０１２９】
なお、前述した本発明の第２の実施形態は、管理者によるアクセス頻度の増減予測、あるいは、キャッシュの効果が期待されるアクセス頻度の増減予測に基づくアクセスパスの切替え処理を実施する場合を例としたが、本発明は、これに限定されるものではない。
【０１３０】
次に、ホストコンピュータと記憶装置とのアクセスパスの切替え処理に関するさらに他の例を第３の実施形態として説明する。ここで説明する本発明の第３の実施形態は、設定条件と仮想化制御装置によるアクセス頻度の増減予測とに基づいてアクセスパス切替えの制御を行う例である。なお、計算機システムとしての構成は、図１に示したものと同一であってよい。
【０１３１】
図１１は本発明の第３の実施形態における仮想化制御装置２のポート部６(In Port）のＣＰＵによって実行されるプログラムと管理情報との例を示す図である。
【０１３２】
図１１に示す例は、前述した図３に示した例のものに、アクセス履歴管理情報５２３とアクセス傾向検出処理プログラム５２４とを有するアクセス傾向検出処理部５０４を新たに設けた点を除いて図３と同一の構成である。
【０１３３】
前述において、アクセス履歴管理情報５２３は、アクセス傾向検出処理プログラム５２４がホストコンピュータ１と記憶装置３との間で転送されるコマンドフレームを監視することによって生成、保持される情報であり、ボリューム及び後述するアクセス種別毎のアクセス件数を有する。また、アクセス傾向検出処理プログラム５２４は、アクセス履歴管理情報５２３に基づいて、図３に示すパス切替え処理部５０３に対してアクセスパスの切替え指示を発行するものである。
【０１３４】
そして、アクセス傾向検出処理部５０４以外の各処理部において、保持管理される情報及び処理プログラムの内容については、前述の第２の実施形態とほぼ同一であるため、その詳細な説明を省略する。
【０１３５】
図１２はアクセス傾向検出処理プログラム５２４が検出するアクセス種別の例を示すテーブルである。図１２に示すように、アクセス種別情報５５０は、データの読み出しを実行するリード系アクセスとデータの書き込みを実行するライト系アクセスとに分類され、さらに、これらのアクセスをアクセス領域に基づき、近傍アドレスアクセス、同一アドレスアクセス、連続アドレスアクセス、その他のアクセスに分類されるものとしている。
【０１３６】
前述において、その他に分類されるアクセスは、それまでのアクセスと関連付けられない（近傍、連続に分類されない）アクセスである。しかし、その他に分類されるアクセスは、後発のアクセスによって関連付けられる（近傍、連続に分類される）アクセスを含むため、減少する可能性のある履歴情報である。一方、その他以外の履歴情報（アクセス件数）は、初期化等でクリアされる場合を除き減少することのない履歴情報である。
【０１３７】
また、図１２に示しているように、分類された各アクセスは、アクセス種別毎に重み付け係数を設定できるものとしている。この重み付け係数５５１は、後述するパス切替え処理における起動制御の際に優先順位算出の条件として用いられるものであり、図１２に示す例は、キャッシュの効果が期待できるアクセス種別に大きな値、逆にキャッシュの効果が期待できないアクセス種別に小さな値が設定されるとした例である。
【０１３８】
なお、キャッシュの効果が期待できるか否か、及び、アクセス領域のばらつきに対し何処までを近傍アドレスと分類するかは、実際の使用環境等の影響を大きく受けるものであり、前述の重み付け係数は、管理者等から別途任意の値が設定可能であることが望ましい。
【０１３９】
図１３はポート部６(In Port）で管理されるアクセス履歴管理情報５２３の例を示す図である。
【０１４０】
図１３において、アクセス履歴管理情報５２３は、ボリューム毎に任意の時点でのアクセス種別毎のアクセス件数５５２を保持するものである。また、このアクセス履歴管理情報５２３におけるアクセス件数の情報は、アクセス傾向検出処理プログラム５２４がホストコンピュータ１からのアクセス要求情報を解析することによって登録、更新されるものである。図１３には、図４で示した各ボリューム(LUN=0/1/2/3）に対するアクセス件数の例としてそれぞれの値が登録されている例を記載している。
【０１４１】
ここで、図１３に示すアクセス履歴管理情報５２３に示すボリューム毎のアクセスに、図１２に示した重み付け係数に基づいて優先順位算出値（ポイント）を、重み付け係数とアクセス件数との積の和として算出してみると、ＬＵＮ０が３１０ポイント、ＬＵＮ１が１７０ポイント、ＬＵＮ２が−７０ポイント、ＬＵＮ３が−２００ポイントとなり、ＬＵＮ０がで最優先で、以降、ＬＵＮ１、ＬＵＮ２、ＬＵＮ３の優先順位となって、図５で示した現在のアクセスパスの設定（ＬＵＮ０／１が第１のアクセスパスに設定、ＬＵＮ２／３が第２のアクセスパスに設定）が妥当であると判定される。
【０１４２】
なお、前述したような優先順位を検出し現在のアクセスパスでの妥当性を検証する処理は、アクセス傾向検出処理プログラム５２４で実行されるものである。
【０１４３】
図１４は任意の時点でのアクセス履歴管理情報５２３の例を示す図であり、図１３で例示したアクセス傾向に対して、ＬＵＮ０のアクセス傾向における連続アドレスリードの発生頻度が高くなっている場合を例としたものである。
【０１４４】
前述した場合と同様に、図１４に示すアクセス履歴管理情報５２３に示す各ボリュームに対して前述の重み付け係数に基づく優先順位算出値を算出すると、ＬＵＮ０は、−１７０ポイントで第３位の優先順位となり、アクセス傾向検出処理プログラム５２４は、図５に示したアクセスパスの設定が不適当であると判定することになり、その結果として、アクセス傾向検出処理プログラム５２４は、前述のパス切替え処理部５０３に対してアクセスパスの切替え指示（説明している例の場合、ＬＵＮ０のアクセスパスを第１のアクセスパスから第２のアクセスパスに切替える要求）を発行する。
【０１４５】
そして、前述したアクセスパスの切替え要求を受信したパス切替え処理部５０３は、前述のパス切替え処理と同一の処理を実行することにより、アクセスパスの切替え処理を実行することができる。
【０１４６】
また、前述の重み付け係数に基づく優先順位の算出結果で第２位の優先順位となったＬＵＮ２に対するアクセスパスに関しても同様の処理を実行することにより、アクセスパスの切替え処理（ＬＵＮ２のアクセスパスを第２のアクセスパスから第１のアクセスパスに切替える処理）を実現することができる。
【０１４７】
前述の説明では、優先順位の算出結果に基づいたアクセスパスの切替え処理として、優先順位が第２位までのアクセスパスに第１のアクセスパスを、それ以降の優先順位のアクセスパスとして第２のアクセスパスを設定するものとして説明したが、本発明は、これに限られるものではなく、例えば、任意の優先順位で、あるいは、前述した優先順位を決定するための算出ポイントの結果がプラスになるかマイナスになるかでアクセスパスの設定を行うことも可能である。
【０１４８】
本発明の第３の実施形態は、前述したような処理を行うことにより、管理者からの指示を契機とすることなく、また、管理者が予測しがたいアクセス傾向の変化が発生した場合にも、実際のアクセス傾向に基づくアクセスパスの切替え（最適化）処理を実行することができ、管理者の負荷をさらに軽減することができる。
【０１４９】
また、前述した本発明の第３の実施形態は、任意の時点でのアクセス傾向（ボリューム及びアクセス種別毎のアクセス件数）に基づいてアクセスパスの切替え制御を行うものとして説明したが、本発明は、これに限定されるものではなく、例えば、他のアクセスパス切替え処理の条件を有し、これらの条件の組合せでアクセスパスの切替え処理を制御することも可能である。この場合、例えば、ボリューム毎の重み付け情報をパス切替え制御情報５１９として保持し、パス切替え処理プログラム５２０が、総合的に切替え処理の要否を判別するようにすればよい。
【０１５０】
前述したような処理を行うことにより、前述で説明したアクセス傾向のみに依存したアクセスパスの設定を行うのではなく、アクセス傾向のみに依存しないアクセスパスの設定を行うことが可能となる。例えば、任意のボリュームをユーザに提供する際の課金条件をボリューム毎の重み付け情報として、アクセス頻度は高くないが課金の高い特定のボリュームに第１のアクセスパスを設定し、逆に、アクセス頻度は高いが課金の低い特定のボリュームに第２のアクセスパスを設定し、同一課金の場合、前述のアクセス傾向を条件とするアクセスパスの切替え処理を実行する等の制御が可能となる。
【０１５１】
前述した本発明の第３の実施形態は、アクセスパスの切替え処理として第１のアクセスパスと第２のアクセスパスとを切り替える場合を例として説明したが、本発明は、これに限定されるものではなく、例えば、第１のアクセスパスにおいて、アクセスパス上に介在するストレージ制御部を切替えるようにすることも可能である。
【０１５２】
次に、ホストコンピュータと記憶装置とのアクセスパスの切替え処理に関するさらに他の例を第４の実施形態として説明する。ここで説明する本発明の第４の実施形態は、仮想化制御装置２の同一機能を提供する各部位の使用率に基づいて、部位相互間での切替え（変更）を行うアクセスパスの切替えの制御を行う例である。また、ここで説明する本発明の第４の実施形態は、仮想化制御装置２を構成する各部位の資源の使用状況を統括管理し、それらの資源の使用状況に基づくアクセスパスの切替え（最適化）処理を実行することによって、例えば、複数のストレージ制御部７におけるキャッシュ７５、ＣＰＵ７０等の負荷分散を実現し、その結果としてシステム性能の向上を実現するものである。なお、計算機システムとしての構成は、図１に示したものと同一であってよい。
【０１５３】
図１５は本発明の第４の実施形態における仮想化制御装置２を構成する何れかの部位（ポート部６、ストレージ制御部７）におけるプログラムと管理情報との例を示す図である。
【０１５４】
図１５に示す例は、前述した図３に示した例のものに、資源使用率情報５２５と資源使用率検出処理プログラム５２６とを有する資源管理処理部５０５を新たに設けた点を除いて図３と同一の構成である。
【０１５５】
なお、管理部８におけるプログラム及び管理情報は、後述する処理の内容が一部異なることを除き、前述の図３に示すもの同一の構成であるため、図面を省略する。
【０１５６】
資源使用率情報５２５は、資源使用率検出処理プログラム５２６によって自身の資源であるプロセッサ、キャッシュ等についての使用状況（使用率）を監視した結果として収集されて保持される情報である。
【０１５７】
次に、仮想化制御装置２の管理部８において、仮想化制御装置２を構成する複数のストレージ制御部７における資源（キャッシュ）の使用状況を統括管理し、また、それらの資源の使用状況に基づいてアクセスパスの切替え（最適化）処理を実行するものとして、本発明の第４の実施形態におけるパス切替え処理の例を説明する。
【０１５８】
図１６は第４の実施形態における管理部８のパス切替え処理の起動（パス切替え指示の生成、発行）制御の処理動作を説明するフローチャートであり、次に、これについて説明する。
【０１５９】
１．使用率情報の収集（ステップ３００）
先ず、管理部８は、仮想化制御装置２を構成する各ストレージ制御部７に対して資源の使用状況（使用率）の問合せ要求を発行し、各ストレージ制御部７から報告された資源の使用状況をパス切替え制御情報５１９として保持する。
【０１６０】
２．パス切替え処理実施の判別（ステップ３０１）
次に、管理部８は、管理者から管理装置４等を介してパス切替え制御情報５１９として予め設定、保持している資源の使用率に基づくアクセスパスの切替え条件等の情報と、ステップ３００の処理で収集した各資源の使用率等の情報とを用いて、アクセスパスの切替え処理を実行するか否かを判定する。この判定は、例えば、アクセスパスの切替え条件として設定されている資源毎の使用率の上限値に対して、各ストレージ制御部７から報告された資源の使用率が超過しているか否かによりアクセスパスの切替え処理を行う必要があるか否かの要否判別を行い、さらに、特定のストレージ制御部７において資源の使用率が閾値を超過している（アクセスパスの切替え処理が必要である判別した）場合、使用率が閾値を超過しているストレージ制御部７が仮想化処理部位として設定されているボリュームの中で他のストレージ制御部に仮想化処理を移管可能なボリュームの有無及び移管先のストレージ制御部７を各ストレージ制御部７から報告された資源の使用状況に基づいて検出する。
【０１６１】
３．パス切替え指示の生成、発行（ステップ３０２）
管理部８は、アクセスパスの切替え処理を実行する場合、前述したステップ３０１のパス切替え処理実施の判別で検出したアクセスパスの切替え元、切替え先の情報を含むパス切替え制御情報５０５を生成し、ポート部８(In Port）に対してアクセスパスの切替え指示を発行する。
【０１６２】
その後のアクセスパスの切替え処理は、前述した本発明の各実施形態の場合と同一であり、説明を省略する。
【０１６３】
前述した本発明の第４の実施形態は、前述したような処理を実行することにより、管理者からの指示を契機とすることなく、また、管理者に予測しがたいアクセス傾向の変化、特に、仮想化制御装置２を構成する特定部位の資源に対する使用率が過負荷になった場合でも、仮想化制御装置２を構成している資源に余裕のある他の同等部位に処理を移管するアクセスパスの切替え（最適化）処理を仮想化制御装置２内で実行することができる。
【０１６４】
これにより、本発明の第４の実施形態によれば、管理者の負荷軽減、更に、仮想化制御装置２を構成する部位間の負荷分散によるシステム性能の向上を図ることが可能となる。前述したような負荷分散に係る効果は、仮想化制御装置２を構成するポート部６、ストレージ制御部７等の増設時等の際にも期待することができる。
【０１６５】
前述した本発明の第４の実施形態は、仮想化制御装置２を構成する部位の資源としてストレージ制御部７のキャッシュ７５の使用率に基づくアクセスパスの切替え制御を例として説明したが、本発明は、これに限定されるものではなく、例えば、ストレージ制御部７のＣＰＵ７０の使用率に基づくアクセスパスの切替え制御、あるいは、これらの組合せによるアクセスパスの切替え制御を実施するようにすることも可能である。
【０１６６】
さらに、本発明は、ストレージ制御部７の資源の使用率に基づくアクセスパスの切替え制御に限定されるものでもなく、例えば、ポート部６のＣＰＵ６０の使用率、ポート部６のインタフェース制御部６３の使用率、あるいは、これらの組み合わせに基づいてアクセスパスの切替え制御を実現することも可能である。
【０１６７】
さらに、前述した本発明の第４の実施形態は、仮想化制御装置２の管理部８において、仮想化制御装置２を構成する各部位の資源の使用状況を統括管理し、それらの資源の使用状況に基づいてアクセスパスの切替え（最適化）処理を実行するものとして説明したが、本発明は、これに限定されるものではなく、例えば、仮想化制御装置２を構成する個々の部位で、管理部８が実施していた前述の処理を実行するようにすることも可能である。
【０１６８】
その場合、仮想化制御装置２を構成しアクセスパスの切替え（最適化）処理を実行する部位は、予め設定された自身が管理する資源の使用率の閾値と使用状況との比較を行い、閾値に対して現在の使用率が超過している場合に、同等の機能を提供する他の部位における各種資源の使用状況を収集し、収集した他の部位における資源の使用状況に基づいて移管先を検出する。そして、移管先を検出したアクセスパスの切替え（最適化）処理を実行する部位は、さらに、前述した図１６のステップ３０１のパス切替え処理実施の判別の処理で検出したアクセスパスの切替え元、切替え先の情報を含むパス切替え制御情報５０５を生成し、ポート部８(In Port）に対してアクセスパスの切替え指示を発行することにより、一連のアクセスパスの切替え（最適化）処理を起動することが可能である。
【０１６９】
さらに、前述した本発明の第４の実施形態における仮想化制御装置２の管理部８が各部位の資源の使用率情報の収集に係る処理を起動する制御は、任意の間隔で実施することが可能であるが、本発明は、これに限定されるものではなく、例えば、仮想化制御装置２を構成する各部位が、予め設定された自身が管理する資源の使用率の閾値と使用状況との比較を実施し、閾値に対する現在の使用率が超過している場合に、管理部８に対するアクセスパスの切替え要求を発行し、この要求の受信を契機として管理部８が使用率情報の収集すると共に他の処理を起動するようにすることも可能である。
【０１７０】
さらに、前述した本発明の第４の実施形態は、仮想化制御装置２を構成する任意の部位が、資源の使用率に基づくパスの切替え制御に係る制御情報をパス切替え制御情報５１９として予め設定され保持しているものとしたが、本発明は、この制御情報を管理者等から管理装置４のパス切替え処理プログラム４１６を介して登録し、参照、更新することが可能であることが望ましい。
【０１７１】
前述した本発明の各実施形態は、記憶システムを構成する記憶装置相互間でのデータ移行処理を行うことなく、ホストコンピュータと記憶装置とを接続する仮想化制御装置内の複数のアクセス経路から最適なアクセス経路を選択して切替える制御を、管理者からの切替え指示、管理者から設定されたスケジュール情報、ホストコンピュータからのアクセス傾向、仮想化制御装置を構成する各種資源の使用率に基づいて実行するとして説明したが、本発明は、さらに、その他のバリエーションも可能であり、次に、それらの例について説明する。
【０１７２】
（１）仮想ボリュームと実ボリュームとが１対１に対応しない場合
前述までに説明した本発明の各実施形態は、仮想ボリュームと実ボリュームとが１対１に対応する場合を例に説明したが、本発明は、これに限定されるものではなく、例えば、１つの仮想ボリュームが複数の実ボリュームから構成される場合にも、本発明を適用することが可能である。
【０１７３】
図１７は１つの仮想ボリュームが２つの実ボリュームから構成される場合の仮想化制御装置２で管理されるボリュームマッピング情報５１１の例を示す図である。図１７に示す例は、前述した図５に示した例のものにおける仮想ボリューム管理情報５３１の中に、新たにアドレス情報を設けた点を除いて図５と同一の構成である。
【０１７４】
図１７に示すボリュームマッピング情報５１１の例は、仮想ボリューム管理情報５３１における Port ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームにおいて、0h〜98967Fh のアドレス領域がPort ID=P_Pid_1、Port Name=P_Pname_1で識別される記憶装置のLUN=0 で識別されるボリュームにマッピングされ、989680h〜1312CFFh のアドレス領域が同記憶装置のLUN=4 で識別されるボリュームにマッピングされている例を示している。さらに、図１７において、Port ID=V_Pid_1、LUN=0で識別される仮想ボリュームに対する仮想化処理を実行する部位として、同一ストレージ制御部７の識別子情報（図１７においては、Storage Controller #1)が設定されることが望ましいが、これに限定されるものではない。
【０１７５】
前述では、１つの仮想ボリュームが２つの実ボリュームから構成される場合についてセグメントしたが、本発明は、１つの仮想ボリュームが２つ以上の実ボリュームから構成されてもよく、また、複数の仮想ボリュームを１つの実ボリュームに構成してもよい。
【０１７６】
（２）記憶装置の全ての実ボリュームを仮想化制御の対象としない場合
前述までに説明した本発明の各実施形態は、記憶装置の全てのボリュームを仮想化制御対象とする場合を例に説明したが、本発明は、これに限定されるものではなく、例えば、記憶装置の任意のボリュームについて、前述した仮想化処理を実施することなくホストコンピュータに提供する場合にも、本発明を適用することが可能である。
【０１７７】
図１８は記憶装置の１つのボリュームについて仮想化処理を実施することなくホストコンピュータに提供する場合の仮想化制御装置２で管理されるボリュームマッピング情報５１１の例を示す図である。図１８に示す例は、前述した図１７に示した例のものにおける仮想ボリューム管理情報５３１（Port ID、Port Name、LUN)として、実ボリュームの識別情報（実ボリューム管理情報）と同一の情報が設定され、さらに、仮想化処理部位管理情報５３３として“仮想化処理を実施しない(None)”が設定されていることを除き、図１７と同一である。
【０１７８】
なお、図１８において、Port ID=P_Pid_1、LUN=3で識別されるボリュームに対するアクセスパスの切替え制御は、記憶装置接続部位管理情報５３４に設定されているポート部(Out Port)が対象となる。
【０１７９】
（３）仮想化制御装置が記憶装置を内蔵する場合
前述までに説明した本発明の各実施形態は、ストレージ制御部７と記憶装置３とがポート部６を介して接続される場合を例に説明したが、本発明は、これに限定されるものではなく、例えば、ストレージ制御部７と記憶装置とが直接接続される場合にも、本発明を適用することが可能である。
【０１８０】
図１９は仮想化制御装置が記憶装置を内蔵する場合の計算機システムの構成例を示すブロック図である。
【０１８１】
図１９に示す計算機システムは、仮想化制御装置２の内部にもう１つまたは複数の新たな記憶装置３が設けられ、仮想化制御装置２のストレージ制御部７−１、７−２が仮想化制御装置２の内部に設けられる記憶装置３と接続されるネットワークを制御するインタフェース制御部７３(HDD I/F）が新たに設けられ、ストレージ制御部７−１、７−２が仮想化制御装置２内に新たに設けた同一の記憶装置３と接続されていることを除き、図１の場合と同一である。
【０１８２】
そして、図１９に示す例の場合、ストレージ制御部７−１、７−２がストレージ制御部７−１、７−２に接続される記憶装置３へのアクセスパスの切替え制御の対象となる。アクセスパスの切替え制御は、前述までに説明した本発明の各実施形態の場合と同様に実施することができる。
【０１８３】
（４）その他のバリエーション
前述した本発明の各実施形態は、ポート部６(In Port）において未完了のコマンドがなくなったことを契機としてアクセスパスの切り替え処理を行うものとして説明したが、本発明は、これに限定されるものではなく、例えば、パスの切替え指示、要求の受信を契機としてアクセスパスの切替え処理を実施することも可能である。但し、この場合、未完のコマンドと新たに受信したコマンドとで実行順を制御すること（新たに受信したコマンドが未完のコマンドを追い越して実行されることを防ぐ等）が望ましく、仮想化制御装置を構成する各部位間でコマンド処理の同期化制御を行うことが望ましい。
【０１８４】
また、前述した本発明の各実施形態は、ストレージ制御部７あるいはポート部６(Out Port)で仮想化処理を実施する場合を例として説明したが、本発明は、これに限定されるものではなく、例えば、ポート部６(In Port）で仮想化処理を実施することも可能である。
【０１８５】
さらに、前述した本発明の各実施形態は、ホストコンピュータからのアクセス傾向等をソフトウェアで監視する場合を例に説明したが、本発明は、これに限定されるものではなく、例えば、ハードウェアによりアクセス傾向を監視し管理テーブルを更新するようにすることも可能である。
【０１８６】
前述した本発明の各実施形態での各処理は、処理プログラムとして構成することができ、この処理プログラムは、ＨＤ、ＤＡＴ、ＦＤ、ＭＯ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することができる。
【０１８７】
前述した本発明の各実施形態によれば、記憶システムを構成する記憶装置間でのデータ移行処理を行うことなく、ホストコンピュータと記憶装置とを接続する複数のアクセス経路から最適なアクセス経路を選択して切替えることができるので、記憶システムに対するアクセス性能の向上を図ることができる。
【０１８８】
また、本発明の各実施形態によれば、アクセス経路の切替え処理を、仮想化制御装置を構成する各種資源の使用状況に基づいて実施することができるので、仮想化制御装置内における処理負荷の分散制御を可能とし、結果として記憶システムに対するアクセス性能の向上を図ることがが可能となる。
【０１８９】
さらに、本発明の実施形態によれば、記アクセス経路の切替え処理を、管理者からの設定条件と仮想化制御装置自身で検出した各種結果（資源の使用状況、アクセス傾向、他）に基づいて実施することができるので、管理者の負荷を増加させることなく、動的に変化する記憶システムに要求されるアクセス性能を提供することが可能となる。
【図面の簡単な説明】
【０１９０】
【図１】本発明の第１の実施形態による計算機システムの構成を示すブロック図である。
【図２】管理装置の記録媒体に格納されているプログラム及び管理情報の例を示す図である。
【図３】仮想化制御装置を構成する何れかの部位で実行されるプログラムと管理情報との例を示す図である。
【図４】ホストコンピュータと記憶装置とのアクセスパスのバリエーションを示す図である。
【図５】仮想化制御装置で管理されるボリュームマッピング情報の例を示す図である。
【図６】仮想化制御装置を構成する部位毎に管理される仮想化ルーティング制御情報の例を示す図である。
【図７】仮想化制御装置を構成するポート部によって実行されるフレームデータの転送処理の処理動作を説明するフローチャートである。
【図８】仮想化制御装置を構成するストレージ制御部によって実行されるフレームデータの転送処理の処理動作を説明するフローチャートである。
【図９】パス切替え処理の処理動作の例について説明するフローチャートである。
【図１０】第２の実施形態における管理装置の記録媒体に格納されているプログラム及び管理情報の例を示す図である。
【図１１】本発明の第３の実施形態における仮想化制御装置のポート部(In Port）で実行されるプログラムと管理情報との例を示す図である。
【図１２】アクセス傾向検出処理プログラムが検出するアクセス種別の例を示すテーブルである。
【図１３】ポート部(In Port）で管理されるアクセス履歴管理情報の例を示す図である。
【図１４】任意の時点でのアクセス履歴管理情報の例を示す図である。
【図１５】本発明の第４の実施形態における仮想化制御装置を構成する何れかの部位におけるプログラムと管理情報との例を示す図である。
【図１６】第４の実施形態における管理部のパス切替え処理の起動（パス切替え指示の生成、発行）制御の処理動作を説明するフローチャートである。
【図１７】１つの仮想ボリュームが２つの実ボリュームから構成される場合の仮想化制御装置で管理されるボリュームマッピング情報の例を示す図である。
【図１８】記憶装置の１つのボリュームについて仮想化処理を実施することなくホストコンピュータに提供する場合の仮想化制御装置で管理されるボリュームマッピング情報の例を示す図である。
【図１９】仮想化制御装置が記憶装置を内蔵する場合の計算機システムの構成例を示すブロック図である。
【符号の説明】
【０１９１】
１  ホストコンピュータ
２  仮想化制御装置
３  記憶装置
４  管理装置
５−１、５−２  ネットワーク
６  ポート部
７  ストレージ制御部
８  管理部
９  バックプレーン
４０１  ボリューム管理部
４０２  記憶装置管理部
４０３  パス切替え管理部
５０１  仮想化ルーティング処理部
５０２  記憶装置監視部
５０３  パス切替え処理部
５０４  アクセス傾向検出処理部
５０５  資源管理処理部
【図１】
2005078507.tif 000003
【図２】
2005078507.tif 000004
【図３】
2005078507.tif 000005
【図４】
2005078507.tif 000006
【図５】
2005078507.tif 000007
【図６】
2005078507.tif 000008
【図７】
2005078507.tif 000009
【図８】
2005078507.tif 000010
【図９】
2005078507.tif 000011
【図１０】
2005078507.tif 000012
【図１１】
2005078507.tif 000013
【図１２】
2005078507.tif 000014
【図１３】
2005078507.tif 000015
【図１４】
2005078507.tif 000016
【図１５】
2005078507.tif 000017
【図１６】
2005078507.tif 000018
【図１７】
2005078507.tif 000019
【図１８】
2005078507.tif 000020
【図１９】
2005078507.tif 000021