(57)【要約】【課題】  複数の記憶制御装置に分散された記憶領域を論理的にまとめて仮想的に提供し、特定の処理が一つの記憶制御装置に集中しないようにデータ処理を分散させる。【解決手段】  第１の記憶制御装置１０は、第２の記憶制御装置２００の有する論理ボリュームを自己のボリュームであるかのように見せかける仮想的ＬＵ７２を備える。ホスト装置１から要求されたデータ処理が、例えば負荷の大きな特定の処理（ダイレクトバックアップ、論理ボリュームコピー等）である場合は、機能管理テーブルＴＦに基づいて、要求された処理を第２の記憶制御装置で実行可能か否かを判断する。実行可能な場合は、第２の記憶制御装置にコマンドを送信し、処理を代行させる。【選択図】        図１
2005092424.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶制御装置と第２の記憶制御装置とを通信可能に接続して構成され、上位装置からのリクエストに応じたデータ処理を行う記憶システムであって、
前記第１の記憶制御装置は、
前記上位装置から受信した第１のリクエストに係る所定のデータ処理を前記第２の記憶制御装置が実行可能か否かを判断し、前記第２の記憶制御装置が実行可能と判断した場合は、前記第１のリクエストに対応する第２のリクエストを生成して前記第２の記憶制御装置に送信させる第１の制御手段を有し、
前記第２の記憶制御装置は、
前記第１の記憶制御装置から受信した前記第２のリクエストに基づいて、前記所定のデータ処理を行う第２の制御手段を有する、
ことを特徴とする記憶システム。
【請求項２】
前記第１の記憶制御装置は、前記第２の記憶制御装置が管理する第２の記憶領域を、自己の管理する第１の記憶領域として前記上位装置に仮想的に提供するものであり、
前記第１のリクエストは、前記第１の記憶領域に関するデータ処理を要求するものである請求項１に記載の記憶システム。
【請求項３】
前記第１の記憶制御装置は、前記第１の記憶領域と前記第２の記憶領域との対応関係を示す記憶領域対応情報を保持し、該記憶領域対応情報に基づいて前記上位装置に第１の記憶領域を仮想的に提供するものであり、
前記第１の制御手段は、前記記憶領域対応情報に基づいて、前記第１のリクエストによる前記第１の記憶領域を対象とするデータ処理を実行可能である請求項２に記載の記憶システム。
【請求項４】
前記第２のリクエストは、前記第１のリクエストと同様のデータ構造を有する請求項１に記載の記憶システム。
【請求項５】
前記第１の制御手段は、前記第２のリクエストを前記第２の記憶制御装置に送信する前に、前記第２のリクエストに係る所定のデータ処理を前記第２の記憶制御装置が実行可能か否かを確認する請求項１に記載の記憶システム。
【請求項６】
前記第１の記憶制御装置は、前記第２の記憶制御装置で実行可能なデータ処理機能を示す機能管理情報を保持し、
前記第１の制御手段は、前記機能管理情報に基づいて、前記第２のリクエストに係る所定のデータ処理を前記第２の記憶制御装置で実行可能か否かを判断する請求項１に記載の記憶システム。
【請求項７】
前記機能管理情報は、記憶システムの構成を定義する際に、手動で又は自動的に生成されるものである請求項６に記載の記憶システム。
【請求項８】
前記第１の記憶制御装置及び前記第２の記憶制御装置の両方に通信可能に接続されたバックアップ装置を備え、
前記第１の制御手段は、
前記第１のリクエストに係るデータ処理が前記第１の記憶領域に記憶されている情報を前記バックアップ装置に転送して記憶させるバックアップ処理である場合、前記第２の記憶制御装置が前記バックアップ処理を実行可能か否かを判断し、前記第２の記憶制御装置が前記バックアップ処理を実行可能と判断した場合は、前記第１のリクエストに含まれる前記第１の記憶領域におけるアドレスを前記第２の記憶領域におけるアドレスに変換することにより、前記第２のリクエストを生成して前記第２の記憶制御装置に送信するものであり、
前記第２の制御手段は、
前記第２のリクエストに基づいて、前記第２の記憶領域に記憶されている情報を前記バックアップ装置に転送して記憶させるものである請求項２に記載の記憶システム。
【請求項９】
前記第１の記憶制御装置は、第１の記憶領域とペアを構成する第１のセカンダリ記憶領域をさらに仮想的に提供するものであり、
前記第２の記憶制御装置は、前記第２の記憶領域とペアを構成する第２のセカンダリ記憶領域をさらに有し、
前記第１の制御手段は、
前記第１のリクエストに係る所定のデータ処理が前記第１の記憶領域に記憶されている情報を前記第１のセカンダリ記憶領域にコピーする内部コピー処理である場合、前記第２の記憶制御装置が前記内部コピー処理を実行可能か否かを判断し、前記第２の記憶制御装置が前記内部コピー処理を実行可能と判断した場合は、前記第１のリクエストに含まれる前記第１の記憶領域におけるアドレスを前記第２の記憶領域におけるアドレスに変換することにより、前記第２のリクエストを生成して前記第２の記憶制御装置に送信するものであり、
前記第２の制御手段は、
前記第２のリクエストに基づいて、前記第２の記憶領域に記憶されている情報を前記第２のセカンダリ記憶領域にコピーさせるものである請求項２に記載の記憶システム。
【請求項１０】
前記第１の記憶制御装置及び前記第２の記憶制御装置が設けられる正サイトと対をなし、正サイトと通信可能に接続された副サイトを有し、
前記副サイトは、他の第１の記憶制御装置及び他の第２の記憶制御装置を備え、前記他の第１の記憶制御装置は、前記他の第２の記憶制御装置が管理する他の第２の記憶領域を、自己の管理する他の第１の記憶領域として仮想的に提供するものであり、
前記正サイトの第１の制御手段は、
前記第１のリクエストに係る所定のデータ処理が前記第１の記憶領域に記憶されている情報を前記副サイトの他の第１の記憶領域にコピーする外部コピー処理である場合、前記第２の記憶制御装置及び前記他の第２の記憶制御装置の両方が前記外部コピー処理を実行可能か否かを判断し、前記各第２の記憶制御装置がそれぞれ前記外部コピー処理を実行可能と判断した場合は、前記第１のリクエストに対応する第２のリクエストを生成して前記第２の記憶制御装置に送信させ、
前記第２の制御手段は、前記第２のリクエストに基づいて、前記第２の記憶領域に記憶されている情報を前記他の第２の記憶領域にコピーさせることにより前記外部コピー処理を実行する請求項２に記載の記憶システム。
【請求項１１】
前記他の第１の記憶制御装置は、前記他の第２の記憶制御装置で実行可能なデータ処理機能を示す他の機能管理情報を保持しており、
前記第１の制御手段は、前記第２のリクエストを前記第２の記憶制御装置に送信する前に、前記他の第１の記憶制御装置に問い合わせることにより、前記他の第２の記憶制御装置が前記外部コピー処理を実行可能か否かを判断するものである請求項１０に記載の記憶システム。
【請求項１２】
前記第１の記憶制御装置は、前記第１の記憶領域と前記第２の記憶領域との対応関係を示す記憶領域対応情報を保持し、
前記他の第１の記憶制御装置は、前記他の第１の記憶領域と前記他の第２の記憶領域との対応関係を示す他の記憶領域対応情報を保持し、
前記第１の制御手段は、
前記第２のリクエストを前記第２の記憶制御装置に送信する場合に、前記各記憶領域対応情報を送信する請求項１０に記載の記憶システム。
【請求項１３】
前記第１の記憶制御装置は、前記外部コピー処理中に前記上位装置により更新された前記第１の記憶領域の情報に関する情報を保持する更新位置情報保持手段を備え、
前記第１の制御手段は、前記外部コピー処理が完了した場合に、前記更新位置情報保持手段に基づいて、前記第１の記憶領域において更新された情報を前記他の第１の記憶領域に記憶させるべく、前記第２のリクエストを生成して、前記第２の記憶制御装置から更新された情報を読み出して、前記読み出した情報を送信する請求項１０に記載の記憶システム。
【請求項１４】
第１の記憶制御装置と第２の記憶制御装置とを通信可能に接続して構成され、上位装置からのリクエストに応じたデータ処理を行う記憶システムを制御するための制御方法であって、
前記第１の記憶制御装置は、
前記上位装置から第１のリクエストを受信するステップと、
前記受信した第１のリクエストに係る所定のデータ処理を前記第２の記憶制御装置が実行可能か否かを判断するステップと、
前記第２の記憶制御装置が実行可能と判断した場合は、前記第１のリクエストに対応する第２のリクエストを生成するステップと、
前記生成された第２のリクエストを前記第２の記憶制御装置に送信させるステップとを実行し、
前記第２の記憶制御装置は、
前記第１の記憶制御装置から前記第２のリクエストを受信するステップと、
前記受信した第２のリクエストに基づいて、前記所定のデータ処理を行うステップとを実行する記憶システムの制御方法。
【請求項１５】
第２の記憶制御装置及び上位装置と通信可能に接続され、前記上位装置からのリクエストに応じたデータ処理を行う記憶制御装置であって、
前記上位装置から第１のリクエストを受信する受信手段と、
前記受信した第１のリクエストに係わる所定のデータ処理を前記第２の記憶制御装置が実行可能か否かを判断する判断手段と、
前記第２の記憶制御装置が実行可能と判断した場合は、前記第１のリクエストに対応する第２のリクエストを生成するリクエスト手段と、
前記生成された第２のリクエストを前記第２の記憶制御装置に送信する送信手段と、
を備えて構成される記憶制御装置。
【請求項１６】
第２の記憶制御装置及び上位装置と通信可能に接続され、前記上位装置からのリクエストに応じたデータ処理を行う第１の記憶制御装置を制御するプログラムであって、
前記上位装置から受信した第１のリクエストに係る所定のデータ処理を前記第２の記憶制御装置が実行可能か否かを判断する機能と、
前記第２の記憶制御装置が実行可能と判断した場合は、前記第１のリクエストに対応する第２のリクエストを生成する機能と、
前記生成された第２のリクエストを前記第２の記憶制御装置に送信させる機能とを、
前記第１の記憶制御装置のコンピュータ上に実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システム及び記憶制御装置に関する。
【背景技術】
【０００２】
例えば、データセンタ等のような大規模なデータを取り扱うデータベースシステムでは、ホストコンピュータとは別に構成された記憶システムを用いてデータを管理する。この記憶システムは、例えば、ディスクアレイ装置等から構成される。ディスクアレイ装置は、多数のディスク記憶装置をアレイ状に配設して構成されるもので、例えば、RAID（Redundant Array of Independent Inexpensive Disks）に基づいて構築されている。ディスク装置群が提供する物理的な記憶領域上には少なくとも１つ以上の論理ボリュームが形成され、この論理ボリュームがホストコンピュータ（より詳しくは、ホストコンピュータ上で稼働するデータベースプログラム）に提供される。ホストコンピュータは、所定のコマンドを送信することにより、論理ボリュームに対してデータの書込み、読み出しを行うことができる。
【０００３】
情報化社会の進展等につれて、データベースで管理すべきデータは、日々増大する。このため、より高性能、より大容量の記憶制御装置が求められており、この市場要求に応えるべく、新型の記憶制御装置が開発されている。新型の記憶制御装置を記憶システムを導入する方法としては、２つの方法が考えられる。その一つは、旧型の記憶制御装置と新型の記憶制御装置とを完全に入れ替え、全て新型の記憶制御装置から記憶システムを構成する方法である（特許文献１）。他の一つは、旧型の記憶制御装置からなる記憶システムに新型の記憶制御装置を新たに追加し、新旧の記憶制御装置を併存させる方法である。
【特許文献１】特表平１０−５０８９６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
旧型の記憶制御装置から新型の記憶制御装置に完全に移行する場合（特許文献１）は、新型の記憶制御装置の機能、性能を利用することができるが、旧型の記憶制御装置を有効に利用することができない。他方、旧型の記憶制御装置と新型の記憶制御装置との併存を図る場合は、記憶システムを構成する記憶制御装置の数が増大し、新旧の記憶制御装置を管理し運用する手間が大きい。
【０００５】
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的の一つは、特定の記憶制御装置に負荷が集中するのを防止し、負荷を分散させることができる記憶システム及び記憶制御装置を提供することにある。
本発明の別の目的は、例えば、新旧の記憶制御装置のように異なる記憶制御装置を連携させて、記憶資源の論理的な集中化と負荷の分散とを両立可能な記憶システム及び記憶制御装置を提供することにある。
本発明の他の目的は、例えば、記憶システムの高性能化大容量化を実現しつつ、高機能高性能な記憶制御装置に処理負荷が集中するのを防止し、負荷を分散させることができるようにした記憶システム及び記憶制御装置を提供することにある。
本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００６】
上記課題を解決すべく、本発明に従う記憶システムは、第１の記憶制御装置と第２の記憶制御装置とを通信可能に接続して構成され、上位装置からのリクエストに応じたデータ処理を行う記憶システムであって、第１の記憶制御装置は、上位装置から受信した第１のリクエストに係る所定のデータ処理を第２の記憶制御装置が実行可能か否かを判断し、第２の記憶制御装置が実行可能と判断した場合は、第１のリクエストに対応する第２のリクエストを生成して第２の記憶制御装置に送信させる第１の制御手段を有し、第２の記憶制御装置は、第１の記憶制御装置から受信した第２のリクエストに基づいて、所定のデータ処理を行う第２の制御手段を有する、ことを特徴とする。
【０００７】
記憶制御装置としては、例えば、ディスクアレイ装置やファイバチャネルスイッチ等を挙げることができる。上位装置としては、例えば、パーソナルコンピュータ、メインフレーム等のコンピュータを挙げることができる。第１の記憶制御装置と第２の記憶制御装置とは、通信ネットワークを介して双方向通信可能に接続されており、第１の記憶制御装置と上位装置も通信ネットワークを介して双方向通信可能に接続されている。また、第２の記憶制御装置と上位装置との間も双方向通信可能に接続することができる。通信ネットワークとしては、例えば、ＬＡＮ（Local Area Network）、ＳＡＮ（Storage Area Network）、専用回線、インターネット等を挙げることができる。
【０００８】
上位装置は、第１の記憶制御装置に第１のリクエストを送信する。このリクエストは、例えば、要求内容を特定するためのコマンドコード、対象とするデータのアドレスを特定するアドレス情報等を含んで構成される。第１の記憶制御装置の第１の制御手段は、第１のリクエストを受信すると、第１のリクエストで要求されている所定の処理を、第２の記憶制御装置で実行可能か否かを判断する。ここで、所定の処理としては、種々のデータ処理を挙げることができるが、例えば、単純なデータ入出力以外のサポート機能（付加的機能）を挙げることができる。具体的には、例えば、データのバックアップ、ペアボリューム間のコピー、ミラーリング等のような、比較的処理負荷の大きな処理を所定の処理とすれば、大きな負荷を第１の記憶制御装置以外の装置に分散させることができる。
【０００９】
第１の制御手段は、第２の記憶制御装置が所定の処理を実行できると判定した場合、第１のリクエストに対応する第２のリクエストを生成し、第２の記憶制御装置に送信する。第２のリクエストは、所定の処理を第２の記憶制御装置に行わせることを要求する情報である。第２の記憶制御装置が第２のリクエストを受信すると、第２の制御手段は、第２のリクエストに基づいて、要求された所定のデータ処理を実行する。このように、第１のリクエストによって第１の記憶制御装置に要求されたデータ処理を、第２のリクエストによって第２の記憶制御装置に代行して実行させることができる。
【００１０】
従って、第１の記憶制御装置の処理負荷を第２の記憶制御装置に分散させて、第１の記憶制御装置に過大な負荷が集中するのを防止することができる。そして、第１の記憶制御装置の情報処理資源（ＣＰＵ処理能力やメモリ容量等）を、上位装置へのサービス提供に割り当てることができる。第１の記憶制御装置が新型の記憶制御装置である場合、第１の記憶制御装置が有する高性能なサービスを上位装置に有効に提供することができ、記憶システム全体の効率を向上させることができる。
【００１１】
本発明の一態様では、第１の記憶制御装置は、第２の記憶制御装置が管理する第２の記憶領域を、自己の管理する第１の記憶領域として上位装置に仮想的に提供し、第１のリクエストは、第１の記憶領域に関するデータ処理を要求するものである。
【００１２】
第２の記憶制御装置は、例えば、ディスクドライブ等の記憶装置により提供される現実の記憶領域を備えている。この実際に存在する記憶領域を、本明細書では実記憶領域とも呼ぶ。第１の記憶制御装置は、第２の記憶制御装置の実記憶領域である第２の記憶領域を、あたかも自己の有する記憶領域のように見せかけて、上位装置に仮想的に提供する。従って、第１の記憶制御装置自身は、物理的な記憶領域を備えている必要はなく、マイクロコンピュータシステム等を有するインテリジェント化されたスイッチング機構（ファイバチャネルスイッチ等）を、第１の記憶制御装置として用いることができる。なお、第１の記憶制御装置は、物理的な記憶領域を備えたディスクアレイ装置（ディスクアレイサブシステム）等であってもよい。第１の記憶制御装置をディスクアレイ装置から構成した場合は、第２の記憶制御装置の第２の記憶領域を取り込む結果、実際に有する記憶容量よりも大きな記憶領域を上位装置に対して提供することができる。
【００１３】
上位装置は、第１のリクエストを発行することにより、仮想的に提供された第１の記憶領域に対してデータ操作を要求するが、実際のデータは第２の記憶制御装置の第２の記憶領域に記憶されている。第１のリクエストは、その実体が第２の記憶領域に存在する第１の記憶領域を対象とするため、要求された所定のデータ処理を第２の記憶制御装置に実行させることができる。上位装置からのリクエストが、例えば、第１の記憶制御装置のステータス要求や制御情報のバックアップ処理等のように、第１の記憶制御装置自身で処理すべき（あるいは、処理する方が好ましい）データ処理である場合は、第２の記憶制御装置に任せずに、第１の記憶制御装置自らが処理して上位装置に応答することができる。
【００１４】
本発明の一態様では、第１の記憶制御装置は、第１の記憶領域と第２の記憶領域との対応関係を示す記憶領域対応情報を保持し、該記憶領域対応情報に基づいて上位装置に第１の記憶領域を仮想的に提供するものであり、第１の制御手段は、記憶領域対応情報に基づいて、第１のリクエストによる第１の記憶領域を対象とするデータ処理を実行可能となっている。
記憶領域対応情報は、第１の記憶領域として割り当てられた第２の記憶領域の対応関係を示す情報であり、例えば、マッピングテーブル等として第１の記憶制御装置内の記憶手段（半導体メモリ等）に保持されている。記憶領域対応情報は、例えば、記憶システムの構成を定義等する際に、オペレータの手動操作により、または自動的な処理により、生成して記憶することが可能である。
【００１５】
本発明の一態様では、第２のリクエストは、第１のリクエストと同様のデータ構造を有するように構成されている。
第１のリクエストと第２のリクエストとを同様のデータ構造とすることにより、第２のリクエストを受信した第２の記憶制御装置は、上位装置から直接命令されたと同様にデータ処理を行うことができる。つまり、第２のリクエストを第１のリクエストと異なるデータ構造にすると、第２の記憶制御装置に第２のリクエストを受信し解釈するための機能を追加する必要があるが、第１のリクエストと第２のリクエストとを同様のデータ構造とすることで、第２の記憶制御装置に特別な機能を追加等することなく、第２の記憶制御装置を有効に利用することができる。
【００１６】
本発明の一態様では、第１の制御手段は、第２のリクエストを第２の記憶制御装置に送信する前に、第２のリクエストに係る所定のデータ処理を第２の記憶制御装置が実行可能か否かを確認する。
第２のリクエストを送信する前に、第２のリクエストが要求する所定のデータ処理を第２の記憶制御装置が実行可能か確認することにより、無駄なリクエストを第２の記憶制御装置に送信するのを未然に防止することができる。また、第２の記憶制御装置が所定の処理を行えず、第１の記憶制御装置が実行する場合、無駄なリクエストを送信して第２の記憶制御装置からエラー応答が帰ってくるのを待たずに、直ちに所定の処理を実行することができる。
【００１７】
本発明の一態様では、第１の記憶制御装置は、第２の記憶制御装置で実行可能なデータ処理機能を示す機能管理情報を保持し、第１の制御手段は、機能管理情報に基づいて、第２のリクエストに係る所定のデータ処理を第２の記憶制御装置で実行可能か否かを判断するようになっている。
機能管理情報は、例えば、データのバックアップ、ペアボリューム間のコピー、ミラーリング等の各種機能毎に、その機能を実行可能か否か（利用可能か否か）を示す情報を対応付けることにより構成することができる。あるいは、第２の記憶制御装置で実行可能な機能のみを機能管理情報で管理してもよい。
そして、機能管理情報は、記憶システムの構成を定義する際に、手動で又は自動的に生成することができる。
【００１８】
本発明の一態様では、第１の記憶制御装置及び第２の記憶制御装置の両方に通信可能に接続されたバックアップ装置を備え、第１の制御手段は、第１のリクエストに係るデータ処理が第１の記憶領域に記憶されている情報をバックアップ装置に転送して記憶させるバックアップ処理である場合、第２の記憶制御装置がバックアップ処理を実行可能か否かを判断し、第２の記憶制御装置がバックアップ処理を実行可能と判断した場合は、第１のリクエストに含まれる第１の記憶領域におけるアドレスを第２の記憶領域におけるアドレスに変換することにより、第２のリクエストを生成して第２の記憶制御装置に送信するものであり、第２の制御手段は、第２のリクエストに基づいて、第２の記憶領域に記憶されている情報をバックアップ装置に転送して記憶させる。
【００１９】
記憶システムが、データのバックアップを取るためのバックアップ装置を備えている場合、上位装置は、定期的にまたは不定期に、バックアップ処理を要求する第１のリクエストを第１の記憶制御装置に送信する。第１のリクエストを受信した第１の記憶制御装置（第１の制御手段）は、第２の記憶制御装置がバックアップ処理を実行可能か否かを判断し、実行可能であると判断した場合は、第２のリクエストを生成して第２の記憶制御装置に送信する。第２のリクエストを受信した第２の記憶制御装置は、上位装置から直接命令を受けた如く、第２の記憶領域に記憶されている情報（データや制御情報）を、バックアップ装置に転送して記憶させる。従って、第１の記憶制御装置は、自身が受けたバックアップ要求を第２の記憶制御装置に肩代わりさせることができ、その分、自身の情報処理資源を上位装置への他のサービス提供に使用することができる。
【００２０】
本発明の一態様では、第１の記憶制御装置は、第１の記憶領域とペアを構成する第１のセカンダリ記憶領域を仮想的にさらに提供するものであり、第２の記憶制御装置は、第２の記憶領域とペアを構成する第２のセカンダリ記憶領域をさらに有し、第１の制御手段は、第１のリクエストに係る所定のデータ処理が第１の記憶領域に記憶されている情報を第１のセカンダリ記憶領域にコピーする内部コピー処理である場合、第２の記憶制御装置が内部コピー処理を実行可能か否かを判断し、第２の記憶制御装置が内部コピー処理を実行可能と判断した場合は、第１のリクエストに含まれる第１の記憶領域におけるアドレスを第２の記憶領域におけるアドレスに変換することにより、第２のリクエストを生成して第２の記憶制御装置に送信するものであり、第２の制御手段は、第２のリクエストに基づいて、第２の記憶領域に記憶されている情報を第２のセカンダリ記憶領域にコピーさせるようになっている。
【００２１】
第１の記憶制御装置及び第２の記憶制御装置は、それぞれ記憶領域を２つずつ備えている。一方の記憶領域はプライマリ記憶領域であり、他方の記憶領域はセカンダリ記憶領域である。プライマリ記憶領域とセカンダリ記憶領域とはペアをなし、それぞれ同一のデータを記憶するものである。上位装置が第１の記憶制御装置に対して、プライマリの第１の記憶領域に記憶されている情報をセカンダリの第１の記憶領域にコピーさせる内部コピー処理を要求した場合、第１の制御手段は、内部コピー処理を第２の記憶制御装置が実行可能か否かを判断し、実行可能であると判断した場合は、第１のリクエスト中のアドレスを第２の記憶制御装置用のアドレスに変換して、第２のリクエストを生成する。即ち、第１のリクエストは、第１の記憶制御装置の第１の記憶領域を対象とするため、第１のリクエスト中に含まれるアドレスは、第１の記憶領域における特定の記憶空間を示すアドレスとなっている。そこで、第１の制御手段は、第１の記憶領域におけるアドレスを第２の記憶領域における対応するアドレスに変換することにより、第２のリクエストを生成する。これにより、第２の記憶制御装置は、あたかも自身が直接上位装置から命令を受けた場合のように、実記憶領域であるプライマリの第２の記憶領域に記憶されている情報を、実記憶領域であるセカンダリの第２の記憶領域に記憶させる。従って、第１の記憶制御装置は、内部コピー処理を第２の記憶制御装置に代行させて、自身の情報処理資源を他のサービスに使用することができる。
【００２２】
本発明の一態様では、第１の記憶制御装置及び第２の記憶制御装置が設けられる正サイトと対をなし、正サイトと通信可能に接続された副サイトを有し、該副サイトは、他の第１の記憶制御装置及び他の第２の記憶制御装置を備え、他の第１の記憶制御装置は、他の第２の記憶制御装置が管理する他の第２の記憶領域を、自己の管理する他の第１の記憶領域として仮想的に提供するものであり、正サイトの第１の制御手段は、第１のリクエストに係る所定のデータ処理が第１の記憶領域に記憶されている情報を副サイトの他の第１の記憶領域にコピーする外部コピー処理である場合、第２の記憶制御装置及び他の第２の記憶制御装置の両方が外部コピー処理を実行可能か否かを判断し、各第２の記憶制御装置がそれぞれ外部コピー処理を実行可能と判断した場合は、第１のリクエストに対応する第２のリクエストを生成して第２の記憶制御装置に送信させ、第２の制御手段は、第２のリクエストに基づいて、第２の記憶領域に記憶されている情報を他の第２の記憶領域にコピーさせることにより外部コピー処理を実行する。
【００２３】
記憶システムは、正サイト（プライマリサイト、ローカルサイト）と、正サイトとは離れた場所に設置される副サイト（セカンダリサイト、リモートサイト）との２つのサイトから構成することができる。正サイトは、上位装置と第１の記憶制御装置と第２の記憶制御装置とを備え、副サイトは、他の第１の記憶制御装置及び他の第２の記憶制御装置を備える。副サイトは、正サイトのバックアップ用サイトであり、正サイトの第１の記憶制御装置と副サイトの他の第１の記憶制御装置とはペアを構成する。そして、正副の各サイトにおいて、第１の記憶制御装置（他の第１の記憶制御装置）は、第２の記憶制御装置（他の第２の記憶制御装置）が現実に提供する実際の記憶領域（第２の記憶領域、他の第２の記憶領域）を、自身の記憶領域（第１の記憶領域、他の第１の記憶領域）であるかのように見せかけている。従って、正副の各サイトにおける第２の記憶制御装置と他の第２の記憶制御装置も互いにペアを構成することになる。
【００２４】
正サイトに設置された第１の記憶制御装置が上位装置に仮想的に提供する第１の記憶領域は、プライマリボリュームであり、副サイトに設置された第１の記憶制御装置が仮想的に提供する第１の記憶領域は、プライマリボリュームとペアをなすセカンダリボリュームである。上位装置は、定期的にまたは不定期に、正サイトの第１の記憶制御装置に向けて外部コピー処理を要求する。外部コピー処理とは、正サイトの情報を副サイトにコピーさせる処理である。第１のリクエストにより外部コピー処理が要求されると、正サイトに属する第１の制御手段は、正副両サイトの第２の記憶制御装置が外部コピー処理を実行可能であるか否かを判断する。両サイトにそれぞれ設置された第２の記憶制御装置が外部コピー処理を実行可能である場合、第１のリクエストに対応する第２のリクエストを生成し、この第２のリクエストを正サイトに設置された第２の記憶制御装置に送信させる。これにより、正サイトに設置された第２の記憶制御装置は、第２の記憶領域に記憶されているデータを読み出して、副サイトに設置された第２の記憶制御装置に送信し、副サイトの第２の記憶領域に記憶させる。ここで、第１のリクエスト中で明示されているコピー元アドレスやコピー先アドレスを、正副両サイトの第２の記憶領域におけるアドレスに変換することにより、第２のリクエストが生成される。これにより、実際にデータや制御情報を記憶している正副両サイトの第２の記憶制御装置間で外部コピー処理が行われ、正副両サイトの第１の記憶制御装置は、外部データ処理に直接関与しない。このため、正サイトに設置された第１の記憶制御装置が、外部コピー処理を実行するために情報処理資源を消費することがなく、その分の情報処理資源を用いて上位装置にサービスを提供できる。
【００２５】
ここで、副サイトに置かれる他の第１の記憶制御装置は、他の第２の記憶制御装置で実行可能なデータ処理機能を示す他の機能管理情報を保持しており、正サイトの第１の制御手段は、第２のリクエストを第２の記憶制御装置に送信する前に、副サイトの他の第１の記憶制御装置に問い合わせることにより、他の第２の記憶制御装置が外部コピー処理を実行可能か否かを判断することができる。
【００２６】
つまり、副サイトに設置された他の第２の記憶制御装置が実行可能なデータ処理機能の情報は、副サイト用の機能管理情報として、副サイトに設置された他の第１の記憶制御装置が保持している。そこで、正サイトに設置された第１の記憶制御装置は、第２のリクエストを送信する前に、副サイトに設置された他の第１の記憶制御装置に問合せて、副サイトの他の第２の記憶制御装置が外部コピー処理を実行可能であるか否かを判断する。なお、正サイトに設置された第２の記憶制御装置で実行可能なデータ処理機能の情報は、正サイト用の機能管理情報として、正サイトに設置された第１の記憶制御装置が保持する。
【００２７】
本発明の一態様では、第１の記憶制御装置は、第１の記憶領域と第２の記憶領域との対応関係を示す記憶領域対応情報を保持し、他の第１の記憶制御装置は、他の第１の記憶領域と他の第２の記憶領域との対応関係を示す他の記憶領域対応情報を保持し、第１の制御手段は、第２のリクエストを第２の記憶制御装置に送信する場合に、各記憶領域対応情報を送信する。
これにより、正サイトに設置された第２の記憶制御装置は、コピー元及びコピー先の記憶空間に関する情報を把握して、外部コピー処理を行うことができる。
【００２８】
本発明の一態様では、第１の記憶制御装置は、外部コピー処理中に上位装置により更新された第１の記憶領域の情報に関する情報を保持する更新位置情報保持手段を備え、第１の制御手段は、外部コピー処理が完了した場合に、更新位置情報保持手段に基づいて、第１の記憶領域において更新された情報を他の第１の記憶領域に記憶させるべく、第２のリクエストを生成して、第２の記憶制御装置から更新された情報を読み出して、読み出した情報を送信する。
即ち、正副両サイトにそれぞれ設置された第２の記憶制御装置間で外部コピー処理が行われている間に、上位装置が、正サイトに設置された第１の記憶制御装置にアクセスしてデータを更新させる場合がある。そこで、外部コピー処理中に更新された情報に関する情報（例えば、更新された論理ブロックアドレスの情報等）を更新位置情報保持手段に記憶させておき、外部コピー処理が完了した後で、更新された情報を副サイトの第２の記憶領域に反映させる。
【００２９】
本発明の別の観点に従う制御方法は、第１の記憶制御装置と第２の記憶制御装置とを通信可能に接続して構成され、上位装置からのリクエストに応じたデータ処理を行う記憶システムを制御するための制御方法であって、第１の記憶制御装置は、上位装置から第１のリクエストを受信するステップと、受信した第１のリクエストに係る所定のデータ処理を第２の記憶制御装置が実行可能か否かを判断するステップと、第２の記憶制御装置が実行可能と判断した場合は、第１のリクエストに対応する第２のリクエストを生成するステップと、生成された第２のリクエストを第２の記憶制御装置に送信させるステップとを実行し、第２の記憶制御装置は、第１の記憶制御装置から第２のリクエストを受信するステップと、受信した第２のリクエストに基づいて、所定のデータ処理を行うステップとを実行する。
【００３０】
本発明の更に別の観点に従う記憶制御装置は、第２の記憶制御装置及び上位装置と通信可能に接続され、上位装置からのリクエストに応じたデータ処理を行う記憶制御装置であって、上位装置から第１のリクエストを受信する受信手段と、受信した第１のリクエストに係わる所定のデータ処理を第２の記憶制御装置が実行可能か否かを判断する判断手段と、第２の記憶制御装置が実行可能と判断した場合は、第１のリクエストに対応する第２のリクエストを生成するリクエスト手段と、生成された第２のリクエストを第２の記憶制御装置に送信する送信手段と、を備えて構成される。
【００３１】
本発明に従うプログラムは、第２の記憶制御装置及び上位装置と通信可能に接続され、上位装置からのリクエストに応じたデータ処理を行う第１の記憶制御装置を制御するプログラムであって、上位装置から受信した第１のリクエストに係る所定のデータ処理を第２の記憶制御装置が実行可能か否かを判断する機能と、第２の記憶制御装置が実行可能と判断した場合は、第１のリクエストに対応する第２のリクエストを生成する機能と、生成された第２のリクエストを第２の記憶制御装置に送信させる機能とを、第１の記憶制御装置のコンピュータ上に実現させる。
【発明を実施するための最良の形態】
【００３２】
以下、図１〜図２２に基づき、本発明の実施形態を説明する。
【００３３】
本発明では、以下に詳述するように、第１の記憶制御装置は、第２の記憶制御装置が提供する実記憶領域を、自身の記憶領域のように見せかけてホストコンピュータに仮想的に提供すると共に、第２の記憶制御装置で実行可能な処理については第２の記憶制御装置に任せるようになっている。即ち、本発明では、分散された物理的な記憶資源を第１の記憶制御装置に論理的に集中して管理可能とし、さらに、集中管理可能な状態下で、負荷の大きな特定の処理を分散して実行させる。
【００３４】
ここで、第１の記憶制御装置は、複数種類の動作モードを備えることができる。第１のモードは、本発明に特有なモードであり、ホストコンピュータに対して仮想的な記憶領域を提供すると共に、第２の記憶制御装置で実行可能な処理は第２の記憶制御装置に委ねるモードである。第２のモードは、本発明の前提的な構成におけるモードであり、ホストコンピュータに対して仮想的な記憶領域を提供すると共に、第２の記憶制御装置で実行可能な処理を第１の記憶制御装置で処理するモードである。第３のモードは、従来から知られたモードであり、仮想的な記憶領域を提供せず、実際の記憶領域について第１の記憶制御装置が処理を行うモードである。本発明に従う記憶システムは、少なくとも第１のモードを備える。さらに、第２のモード、第３のモードを備えることもできる。複数種類の動作モードを備える記憶システムは、従来より知られているものではなく、本発明の特徴の一つとなる。
【実施例１】
【００３５】
［全体構成の概要］
まず、図１〜図９に基づいて、本発明に従う実施例の構成を説明する。図１は、本実施例による記憶システムの要部の構成を示すブロック図である。
【００３６】
ホスト装置１は、例えば、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。ホスト装置１は、例えば、キーボードスイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、例えば、モニタディスプレイやスピーカー等の情報出力装置（図示せず）とを備えている。ホスト装置１には、ＲＡＩＤを管理するためのＲＡＩＤマネージャやデータベースマネジメントプログラム等が実装されている。
【００３７】
ホスト装置１は、通信ネットワーク２を介して、後述する第１の記憶制御装置１０及び第２の記憶制御装置２００にそれぞれ双方向通信可能に接続されている。通信ネットワーク２としては、例えば、ＬＡＮ、ＳＡＮ、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。ＬＡＮを介するデータ通信は、例えば、TCP/IP（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。ホスト装置１がＬＡＮを介して第１の記憶制御装置１０等に接続される場合、ホスト装置１は、ファイル名を指定してファイル単位でのデータ入出力を要求する。ホスト装置１がＳＡＮを介して第１の記憶制御装置１０等に接続される場合、ホスト装置１は、ファイバチャネルプロトコルに従って、複数のディスク記憶装置（ディスクドライブ）により提供される記憶領域のデータ管理単位であるブロックを単位としてデータ入出力を要求する。
【００３８】
なお、ホスト装置１と第１の記憶制御装置１０との間、第１の記憶制御装置１０と第２の記憶制御装置２００との間、ホスト装置１と第２の記憶制御装置２００との間は、それぞれ別々の通信ネットワークで接続してもよいし、図示のように共通の通信ネットワーク２で接続してもよい。第１の記憶制御装置１０とホスト装置１との間の通信ネットワークが、第１の記憶制御装置１０と第２の記憶制御装置２００との間の通信ネットワークと相違する場合は、プロトコル変換等を行って第１の記憶制御装置１０から第２の記憶制御装置２００に第２のリクエストを送信すればよい。
【００３９】
第１の記憶制御装置１０は、後述のように、例えば、ディスクアレイ装置やファイバチャネルスイッチとして構成されるコンピュータシステムである。第１の記憶制御装置１０は、第２の記憶制御装置２００が提供する物理的な記憶領域上に設定される論理的な記憶領域（論理ボリューム（Logical Unit））を、第１の記憶制御装置自身が提供するかのように見せかけて、ホスト装置１に仮想的に提供する。
以下の説明では、論理ボリュームをＬＵ、第１の記憶制御装置１０が仮想的に提供するＬＵを仮想的ＬＵと呼ぶ場合がある。また、現実に存在するＬＵを実ＬＵと称する場合がある。図中では、仮想的ＬＵを仮想線（二点鎖線）で示し、実ＬＵを実線で示す。なお、第１の記憶制御装置１０をディスクアレイ装置から構成する場合、第１の記憶制御装置１０は仮想的ＬＵと実ＬＵとの両方を有することになる。第１の記憶制御装置１０内の実ＬＵは、その物理的な実記憶領域が第１の記憶制御装置１０内に、あるいは第１の記憶制御装置１０の直接的な管理下にある仮想的なＬＵであると捉えることもできる。このように考えるならば、記憶領域の実体が第２の記憶制御装置２００側にある仮想的ＬＵを仮想的外部ＬＵと、逆に記憶領域の実体が第１の記憶制御装置１０側にある仮想的ＬＵを仮想的内部ＬＵと称することも可能である。
【００４０】
このように、第１の記憶制御装置１０は、第２の記憶制御装置２００のＬＵを仮想的ＬＵとしてホスト装置１に提供するものであるため、第１の記憶制御装置１０自身は、実ＬＵを備えている必要はない。従って、物理的な記憶領域を提供するディスクドライブを備えないファイバチャネルスイッチであっても、必要な情報処理能力を有する限り、第１の記憶制御装置１０として用いることができる。
【００４１】
第１の記憶制御装置１０は、ホスト装置１や第２の記憶制御装置２００との間で通信を行うためのポート１１，１２と、コマンド制御部２１０を備えている。また、第１の記憶制御装置１０をディスクアレイ装置から構成する場合、第１の記憶制御装置１０は記憶装置７０を備える。記憶装置７０は、例えば、ハードディスク、フレキシブルディスク、磁気テープ、半導体メモリ、光ディスク等のような装置を複数備えて構成され、これら物理的な記憶領域上にＬＵ７１が設定される。また、第１の記憶制御装置１０は、第２の記憶制御装置２００の実ＬＵをマッピングしてなる仮想的ＬＵ７２を提供する。図１中では、説明の便宜上、記憶装置７０内に実ＬＵ７１及び仮想的ＬＵ７２を含めている。記憶装置７０は、第１の記憶制御装置１０と直接的に接続することもできるし、あるいは、通信ネットワークを介して接続してもよい。また、記憶装置７０と第１の記憶制御装置１０とを一体化するすることもできる。
【００４２】
各ポート１１，１２は、データの送受信を行うものである。一方のポート１１は、ホスト装置１からのリクエストを受信するターゲットポート（ＴＰ）であり、他方のポート１２は、第２の記憶制御装置２００にリクエストを送信するイニシエータポート（ＩＰ）である。両ポート１１，１２の構造は同一であり、データ通信上の役割に応じて、ターゲットポートまたはイニシエータポートとなる。
【００４３】
コマンド制御部１００は、第１の記憶制御装置１０が有する情報処理資源（ＣＰＵ、メモリ、入出力回路等）やソフトウェアにより実現される。コマンド制御部１００は、例えば、第１の記憶制御装置１０のメインコントローラ（図示せず）により実現することもできるし、チャネルアダプタやディスクアダプタの連携により実現することもできる。コマンド制御部１００は、コマンド解析部１１０と、判断部１２０と、コマンド生成部１３０と、コマンドテーブルＴＣ、マッピングテーブルＴＭ及び機能管理テーブルＴＦを備えている。
【００４４】
コマンド解析部１１０は、ホスト装置１からポート１１を介して受信したコマンド（リクエスト）をコマンドテーブルＴＣに基づいて解析するものである。コマンドテーブルＴＣには、予め各種のコマンドコードが登録されており、コマンドテーブルＴＣを参照することにより、ホスト装置１からのリクエスト中に含まれるコマンドコードが何を要求する命令であるかを判別できる。
【００４５】
判断部１２０は、ホスト装置１から受信したリクエストに係わるデータ処理を、第２の記憶制御装置２００で実行可能か否かを判断するものである。判断部１２０は、機能管理テーブルＴＦを参照することにより、要求されたデータ処理機能を第２の記憶制御装置２００が備えているか否かを判定する。機能管理テーブルＴＦの詳細は後述するが、機能管理テーブルＴＦは、例えば、記憶システムの構成を定義等する際に生成されるもので、第２の記憶制御装置２００に実装されているサポート機能が登録されている。
【００４６】
コマンド生成部１３０は、ホスト装置１から受信したリクエストを第２の記憶制御装置２００用に変換するものである。コマンド生成部１３０は、コマンドテーブルＴＣ及びマッピングテーブルＴＭを参照することにより、ホスト装置１が要求するデータ処理を第２の記憶制御装置２００が実行できるようにリクエストを生成する。マッピングテーブルＴＭは、第２の記憶制御装置２００のＬＵと第１の記憶制御装置１０の仮想的ＬＵとの対応関係を示すものである。コマンド生成部１３０は、マッピングテーブルＴＭを参照することにより、仮想的ＬＵの記憶空間を対象とするアドレスを実ＬＵの記憶空間を対象とするアドレスに変換する。
【００４７】
このように、コマンド制御部１００は、ホスト装置１から受信した第１のリクエストを解析し、第１のリクエストで要求されたデータ処理（サポート機能）を第２の記憶制御装置２００が実行可能であるか否かを判断する。そして、第２の記憶制御装置２００で実行可能と判断した場合、コマンド制御部１００は、第１のリクエストに対応する第２のリクエストを生成し、この第２のリクエストをポート１２から通信ネットワーク２を介して第２の記憶制御装置２００に送信する。ホスト装置１から要求されたデータ処理を第２の記憶制御装置２００が実行できない場合は、要求されたデータ処理を第１の記憶制御装置１０が実行する。
【００４８】
［第１の記憶制御装置をディスクアレイ装置に適用した場合］
図２は、第１の記憶制御装置１０をディスクアレイ装置として構成した場合の具体例を示すブロック図である。第１の記憶制御装置１０は、それぞれ後述するように、例えば、複数のチャネルアダプタ２０と、キャッシュメモリ４０と、共有メモリ５０と、複数のディスクアダプタ６０と、記憶装置７０等とから構成することができる。また、図示を省略するが、第１の記憶制御装置１０は、例えば、第１の記憶制御装置１０の全体動作を制御するためのＭＰＵ（Micro Processing Unit）と、環境設定を行ったり各種ステータスを管理等するための保守管理用端末とを備えることができる。
【００４９】
チャネルアダプタ（ＣＨＡ）２０は、ホスト装置１との間のデータ通信を行うものである。各チャネルアダプタ２０は、ホスト装置１等と通信を行うための通信ポート２１と、受信データを転送するための転送部２２と、チャネルアダプタ内の動作を制御するマイクロプロセッサ（ＭＰと略記）２３と、メモリ２４とを備えている。マイクロプロセッサ２３等によって、ホスト装置１から受信した各種コマンドを解釈して処理するためのコマンド制御部１００を実現している。あるいは、装置全体を統括するＭＰＵによってコマンド制御部１００を実現してもよく、さらには、ＭＰＵとチャネルアダプタ２０との連携、ＭＰＵとチャネルアダプタ２０及びディスクアダプタ６０との連携、チャネルアダプタ２０とディスクアダプタ６０との連携によってコマンド制御部１００を実現してもよい。
【００５０】
各チャネルアダプタ２０には、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ（World wide Name））が割り当てられており、各チャネルアダプタ２０は、それぞれが個別にＤＡＳ（Direct Attached Storage）として、あるいはＮＡＳ（Network Attached Storage）として振る舞うようになっている。つまり、各チャネルアダプタ２０は、各ホスト装置１からの要求をそれぞれ個別に受け付けることができる。各チャネルアダプタ２０は、ポート２１と、転送部２２と、マイクロプロセッサ２３及びメモリ２４からなる制御回路を複数備えて構成することができる。
【００５１】
各マイクロプロセッサ２３は、ホスト側共有メモリアクセス回路３１を介して共有メモリ５０にそれぞれ接続されており、共有メモリ５０に制御情報を書き込んだり、共有メモリ５０に書き込まれた制御情報を参照する。各転送部２２は、ホスト側キャッシュメモリアクセス回路３２を介してキャッシュメモリ４０にそれぞれ接続されており、ホスト装置１等から受信したデータをキャッシュメモリ４０に記憶させ、また、キャッシュメモリ４０に記憶されたデータを読み出してホスト装置１等に送信するようになっている。キャッシュメモリ４０及び共有メモリ５０は、各チャネルアダプタ２０及び各ディスクアダプタ６０によって共有される記憶手段である。キャッシュメモリ４０には主としてデータが記憶され、共有メモリ５０には主として制御情報やコマンド等が記憶される。また、共有メモリ５０には、ワーク領域も設定される。上述したコマンドテーブルＴＣ、マッピングテーブルＴＭ、機能管理テーブルＴＦは、例えば、共有メモリ５０に記憶させることもできるし、あるいは、キャッシュメモリ４０に記憶させることもできる。
【００５２】
各ディスクアダプタ（ＤＫＡ）６０は、記憶装置７０のディスク装置群７３との間のデータ入出力を管理するものである。ディスクアダプタ６０は、チャネルアダプタ２０がホスト装置１から受信したデータを、ホスト装置１からの書込み要求に従って、ディスク装置群７３の所定のアドレスに書き込む。このとき、各ディスクアダプタ６０は、論理ボリュームにおける論理アドレスを、物理的ディスクにおける物理アドレスに変換する。ディスクアダプタ６０は、ディスク装置群７３がＲＡＩＤにより管理されている場合は、ＲＡＩＤ構成に従ったデータアクセスを行い、ディスク装置群７３に記憶されたデータの複製管理制御やバックアップ制御も行うことができる。さらに、ディスクアダプタ６０は、災害発生時のデータ消失防止等を目的として、プライマリサイトのデータの複製をセカンダリサイトに記憶させる制御（レプリケーション機能またはリモートコピー機能）等も行うことができる。
【００５３】
各ディスクアダプタ６０は、通信ポート６１と、転送部６２と、マイクロプロセッサ６３と、メモリ６４とからなる制御回路をそれぞれ複数組備えることができる。各通信ポート６１は、記憶装置７０のディスク装置群７３との間でデータ通信を行う。各転送部６２は、デバイス側キャッシュメモリアクセス回路３４を介してキャッシュメモリ４０に接続されており、キャッシュメモリ４０に書き込まれたデータをディスク装置群７３に転送したり、ディスク装置群７３から読み出したデータをキャッシュメモリ４０に書き込む。マイクロプロセッサ６３は、デバイス側共有メモリアクセス回路３３を介して共有メモリ５０に接続されており、共有メモリ５０に書き込まれた制御情報やコマンドを参照等できるようになっている。
【００５４】
ホスト側共有メモリアクセス回路３１及びデバイス側共有メモリアクセス回路３３と、ホスト側キャッシュメモリアクセス回路３２及びデバイス側キャッシュメモリアクセス回路３４とは、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
【００５５】
図３は、第１の記憶制御装置１０をホスト装置１から見た場合の論理的な構成の要部を示すブロック図である。第１の記憶制御装置１０は、ホスト装置１に対して、２種類のＬＵを提供する。一つは、第１の記憶制御装置１０が直接的に管理する記憶装置７０の物理的なディスク装置群７３により提供される実ＬＵ７１である。他の一つは、第２の記憶制御装置２００が管理する記憶装置２２０のディスク装置群２２１により提供される実ＬＵを、第１の記憶制御装置１０のＬＵとして提供する仮想的ＬＵ７２である。図３に示すように、実ＬＵ７１及び仮想的ＬＵ７２のいずれも複数設けることができる。各ＬＵ７１，７２は、それぞれ複数のディスク装置群から構成される。
【００５６】
［第１の記憶制御装置をファイバチャネルスイッチに適用した場合］
次に、図４は、第１の記憶制御装置１０をインテリジェント化されたファイバチャネルスイッチとして構成した場合の具体例を示すブロック図である。ディスクアレイ装置として構成する場合と区別するために、図中では、符号１０に（ＳＷ）を付加してある。第１の記憶制御装置１０は、複数のチャネルアダプタ２０と、共有メモリアクセス回路３１，３３と、キャッシュメモリアクセス回路３２，３４と、キャッシュメモリ４０と、共有メモリ５０と、コントローラ８０とを備えて構成される。チャネルアダプタ２０等の詳細は、図２と共に述べたので割愛する。コントローラ８０は、全体の動作を統括して制御するものであり、ＭＰＵやメモリ等を備えている。図２に示すものとの大きな相違点は、ファイバチャネルスイッチとして構成される第１の記憶制御装置１０は、直接的に管理する記憶装置７０を備えていない点である。
【００５７】
図５は、ファイバチャネルスイッチとして構成される第１の記憶制御装置１０をホスト装置１から見たときの論理的な構成の要部を示すブロック図である。図に示すように、第１の記憶制御装置１０は、実ＬＵを有してないが、少なくとも一つ以上の仮想的なＬＵ７２を備えている。上述のように、仮想的ＬＵ７２の実体は、第２の記憶制御装置２００の記憶装置２２０に存在する。
【００５８】
［仮想的ＬＵへのデータアクセス］
次に、図６を参照して、仮想的ＬＵ７２へのデータアクセスについて説明する。図６は、第１の記憶制御装置１０をファイバチャネルスイッチとして構成した場合を示す。
【００５９】
ホスト装置１が仮想的ＬＵ７２に対してデータの書込みまたはデータの読み出しを要求する場合、ホスト装置１は第１の記憶制御装置１０に向けてコマンドＣＨを発行する。このコマンドＣＨには、第１の記憶制御装置１０を特定するための情報（ポートＩＤ、ＷＷＮ等）と、命令の種類を示すコマンドコード（ライト命令、リード命令等）と、対象とするデータの読み出しアドレス（リード命令の場合）等が含まれている。ホスト装置１からのコマンドＣＨは、ＳＡＮ等の通信ネットワーク２を介して、第１の記憶制御装置１０のターゲットポート１１に受信され、コマンド制御部１００に入力される。
【００６０】
コマンド制御部１００は、受領したコマンドＣＨを解析し、マッピングテーブルＴＭを参照することにより、ホスト装置１から要求されたデータ処理を行う。第１の記憶制御装置１０をファイバチャネルスイッチから構成する場合、マッピングテーブルＴＭは、例えば、図９（ａ）に示すように構成できる。マッピングテーブルＴＭは、例えば、仮想的ＬＵ（仮想的な論理ボリューム）７２を識別するためのボリュームＩＤ（Vol ID）と、仮想的ＬＵ７２に設定された論理ブロックアドレス（BLK ADDR）と、仮想的ＬＵ７２に対応付けられる実ＬＵ２２２を有する第２の記憶制御装置２００を識別するための装置ＩＤと、実ＬＵ２２２に対応するポートを識別するためのポートＩＤと、実ＬＵ２２２を識別するためのボリュームＩＤと、仮想的ＬＵ７２の論理ブロックアドレスに対応して実ＬＵ２２２に設定されている論理ブロックアドレスとを、それぞれ対応付けることにより構成することができる。従って、マッピングテーブルＴＭを参照することにより、仮想的ＬＵ７２の特定の論理ブロックアドレスが、いずれの第２の記憶制御装置２００が提供する実ＬＵ２２２のどの論理ブロックアドレス（以下、「アドレス」と略記）に対応するかを把握できる。このマッピングテーブルＴＭは、例えば、記憶システムが構成され、論理ボリュームが登録されるときに、手動または自動的に登録される。
ここで、仮想ＬＵと実ＬＵとの間のマッピングとしては、全てのアドレスについてマッピングテーブルを使用する場合のほか、テーブルの参照に加えて幾らかの計算により対応するアドレスを求める場合とがある。後者の方法では、前者に比べてマッピングテーブルのサイズを小さくすることができる。本発明におけるマッピングでは、テーブル参照及び計算によって、対応するアドレスを求めることができるようになっている。
【００６１】
さて、ホスト装置１が、仮想的ＬＵ７２のアドレスＢｂからＢｃの範囲にデータを書き込ませるためのコマンドＣＨを発行したとする。コマンド制御部１００は、コマンドＣＨを受信すると、指定されたアドレスに基づいてマッピングテーブルＴＭを参照する。これにより、コマンド制御部１００は、仮想的ＬＵ７２とポート２０１（ポートＩＤ＝ＴＰ２）からアクセス可能なボリュームＩＤα２で特定される実ＬＵ２２２とが対応付けられていることを知ると共に、仮想的ＬＵ７２におけるアドレスＢｂ−Ｂｃが実ＬＵ２２２のアドレスＢｂ２−Ｂｃ２に対応していることを把握する。そこで、コマンド制御部１００は、ホスト装置１から受信したコマンドＣＨの内容を一部書き換えることにより、コマンドＣＳを生成する。即ち、コマンド制御部１００は、ホスト装置１から受信したコマンドＣＨに含まれるボリュームＩＤとアドレスとを、マッピングテーブルＴＭに基づいて、実ＬＵ２２２のボリュームＩＤとアドレスに書き換えることにより、コマンドＣＳを生成する（Vol ID α→Vol ID α２、BLK ADDR Ｂｂ−Ｂｃ→BLK ADDR Ｂｂ２−Ｂｃ２）。そして、コマンド制御部１００は、生成したコマンドＣＳをイニシエータポート１２から通信ネットワーク２を介して第２の記憶制御装置２００に送信する。なお、以下の場合も同様であるが、アドレス変換を行う場合は、マッピングテーブルＴＭのみを使用する場合に限らず、マッピングテーブルＴＭの参照に加えて幾らかの演算を行うことにより、対応するアドレスを求めることができる。
【００６２】
第１の記憶制御装置１０から送信されたコマンドＣＳは、第２の記憶制御装置２００のターゲットポート２０１により受信され、コマンド制御部２１０に引き渡される。コマンド制御部２１０は、コマンドＣＳの内容を解析し、物理的に存在する実ＬＵ２２２の指定されたアドレス（Ｂｂ２−Ｂｃ２）にデータを書き込む。データの書込みが完了すると、第２の記憶制御装置２００は、第１の記憶制御装置１０に書込み完了を報告する。なお、ホスト装置１へ書込み完了報告を行うタイミングとしては、例えば、第１の記憶制御装置１０がコマンドＣＨを受信した時点（非同期式）、または第２の記憶制御装置２００から書込み完了報告を受けた時点（同期式）のいずれかで行うことができる。同期式の場合は、第２の記憶制御装置２００からの応答を待つ時間の分だけ遅延が生じるため、第１の記憶制御装置１０と第２の記憶制御装置２００とがあまり離れて設置されていない場合に適している。第１の記憶制御装置１０と第２の記憶制御装置２００とが遠距離で離れている場合は、応答遅延及び伝播遅延の問題から、同期式は一般的に適さず、非同期式が採用される。
【００６３】
ホスト装置１が仮想的ＬＵ７２からデータを読み出す場合も、上述したデータ書込み時と同様の処理が行われる。ホスト装置１が発行したコマンドＣＨ（リードリクエスト）は、第１の記憶制御装置１０のコマンド制御部１００によって解析される。コマンド制御部１００は、マッピングテーブルＴＭを参照して、読み出し対象として指定された仮想的ＬＵ７２のアドレスを実ＬＵ２２２のアドレスに変換してコマンドＣＳを生成し、コマンドＣＳを第２の記憶制御装置２００に送信する。コマンドＣＳは、第２の記憶制御装置２００のターゲットポート２０１に受信され、コマンド制御部２１０により解析される。コマンド制御部２１０は、指定されたアドレスのデータを実ＬＵ２２２（既にキャッシュメモリに読み出されている場合はキャッシュメモリ）から読み出し、読み出したデータを第１の記憶制御装置１０に送信する。第１の記憶制御装置１０は、受信したデータをホスト装置１に送信する。ホスト装置１から指定されたアドレスのデータが、第１の記憶制御装置１０内のキャッシュメモリ４０に既に記憶されている場合は、そのデータをホスト装置１に送信してもよい。
【００６４】
次に、図７は、第１の記憶制御装置１０をディスクアレイ装置として構成した場合を示す。この場合、第１の記憶制御装置１０は、自身が直接的に管理する実ＬＵ７１と、仮想的ＬＵ７２とを備えている。仮想的ＬＵ７２のボリュームＩＤをα、実ＬＵ７１のボリュームＩＤをβとする。
【００６５】
第１の記憶制御装置１０が実ＬＵ７１及び仮想的ＬＵ７２を備える場合、マッピングテーブルＴＭは、例えば、図９（ｂ）に示すように構成することができる。図９（ｂ）に示すテーブルのうち、仮想的ＬＵ７２に関連する部分は図９（ａ）に示すテーブルと同一である。異なる点は、第１の記憶制御装置１０の実ＬＵ７１に関連する部分である。実ＬＵ７１は、第１の記憶制御装置１０自身が有するので、その装置ＩＤは第１の記憶制御装置１０のＩＤとなる（ＳＤ１）。同じ理由から、実ＬＵ７１にアクセスするためのポートＩＤには、内部の論理ボリュームであることを示す情報（INTERNAL）が登録される。また、第２の記憶制御装置２００のＬＵとの対応関係は存在しないので、対応するボリュームＩＤやアドレスについては登録されない。ポートＩＤフィールド及び内外の区別を示す識別子（INTERNAL）を利用することにより、実ＬＵ７１と仮想的ＬＵ７２とを同一構造のマッピングテーブルＴＭで管理することができる。なお、これに限らず、実ＬＵ７１と仮想的ＬＵ７２とを別々のテーブルで管理してもよい。
ホスト装置１から仮想的ＬＵ７２へのデータの書込み及び読み出しは、上述したファイバチャネルスイッチの場合と同様であるので、説明を割愛する。
【００６６】
次に、図８は、第１の記憶制御装置１０をインテリジェント化されたファイバチャネルスイッチとして構成すると共に、第１の記憶制御装置１０の仮想的ＬＵ７２が、第２の記憶制御装置２００Ａ，２００Ｂがそれぞれ提供する実ＬＵ２２２Ａ，２２２Ｂの２つの論理ボリュームから構成される場合を示している。この場合、マッピングテーブルＴＭは、例えば、図９（ｃ）に示すように構成することができる。一方の第２の記憶制御装置２００Ａについて、その装置ＩＤをＳＤ２（１）、ポートＩＤをＴＰ２（１）、ボリュームＩＤをα２Ａとし、同様に、他方の第２の記憶制御装置２００Ｂについては、その装置ＩＤをＳＤ２（２）、ポートＩＤをＴＰ２（２）、ボリュームＩＤをα２Ｂとする。
【００６７】
図９（ｃ）に示すマッピングテーブルＴＭに示すように、第１の記憶制御装置１０がホスト装置１に対して提供する仮想的ＬＵ７２（ボリュームＩＤ＝α）は、ポートＩＤ＝ＴＰ２（１）からアクセス可能なＬＵ２２２Ａ（ボリュームＩＤ＝α２Ａ）と、ポートＩＤ＝ＴＰ２（２）からアクセス可能なＬＵ２２２Ｂ（ボリュームＩＤ＝α２Ｂ）とから構成されていることがわかる。このように、第１の記憶制御装置１０は、分散された複数のＬＵをまとめて一つ又は複数の仮想的ＬＵを構築することができる。従って、例えば、使用効率の低い旧型の記憶制御装置を複数台まとめて、一つ又は複数の仮想的ＬＵを構成し、ホスト装置１に提供することにより、記憶システムの記憶資源を再編成して有効に利用することができる。
【００６８】
［ダイレクトバックアップ１］
次に、ダイレクトバックアップを行う場合の流れを説明する。ダイレクトバックアップとは、ホスト装置１を介在させずに、記憶制御装置とバックアップ装置との間で直接的にデータのバックアップを取る処理をいう。ダイレクトバックアップは、記憶制御装置が提供するサポート機能の一種である。
【００６９】
図１０は、一般的方法と考えられるダイレクトアップの仕組みを簡単に示す説明図である。図１０に示す記憶制御装置１０（Ｎ）は、仮想的ＬＵを構築しない普通の記憶制御装置である。バックアップ装置３は、データの全体または一部の複製を記憶する記憶装置である。バックアップ装置３としては、例えば、ＭＯ（magneto-optic：光磁気型記憶装置）、ＣＤ−Ｒ（CD-Recordable：読み書き可能なコンパクトディスク）、DVD-RAM（Digital Versatile Disk-RAM：読み書き可能なDVD）等のディスク系記憶デバイスや、例えば、ＤＡＴ（Digital Audio Tape）テープ、カセットテープ、オープンテープ、カートリッジテープ等のテープ系記憶デバイス等を用いることができる。図示の例では、テープ系記憶デバイスを想定しているが、これに限定されない。
【００７０】
ダイレクトバックアップにおいて、バックアップ装置へのデータの書込みは、２種類に大別することができる。その一つは、データのバックアップであり、他の一つは、制御情報の書込みである。いずれのバックアップを行うかは、ホスト装置１が発行するコマンド（リクエスト）により決定される。データのバックアップを行う場合は、図１０中の（ａ）に示すようなコピーリクエストをホスト装置１から記憶制御装置１０（Ｎ）に送信する。データのバックアップを行う場合、ホスト装置１から送信されるコマンドＣＨには、コマンドコードにコピーリクエストを示すリクエストＩＤが、コピー元アドレスにはバックアップを取るデータの範囲を示すアドレス及びボリュームＩＤ（アドレスのみ図示）が、コピー先装置ＩＤにはバックアップ装置３を特定するための装置ＩＤが、それぞれ格納される。一方、制御情報のバックアップを行う場合、コマンドＣＨには、コマンドコードに制御情報の書込みリクエストを示すリクエストＩＤが、コピー先装置ＩＤにはバックアップ装置３のＩＤがそれぞれ格納されると共に、コマンドＣＨ内にはコピー対象である制御情報が含まれる。これらのリクエストの実例としては、例えば、ＳＣＳＩ−３にて規定されるExtended Copyコマンドを挙げることができる。
【００７１】
まず先に、データのバックアップを行う場合の動作を説明する。ホスト装置１は、図１０（ａ）に示すようなコマンド（コピーリクエスト）ＣＨを生成し、ＬＵ７１中のバックアップ対象とする論理ブロックのアドレスを指定する。生成されたコマンドＣＨは、ホスト装置１から通信ネットワーク２を介して記憶制御装置１０（Ｎ）に送信される。記憶制御装置１０（Ｎ）は、ターゲットポート１１によってコマンドＣＨを受信する。受信されたコマンドＣＨは、コマンド制御部１００により解析され、データのバックアップを要求するコピーリクエストであることが認識される。コマンド制御部１００は、コマンドＣＨ中のコピー元アドレスを参照することにより、指定された論理ボリュームβのうち指定されたアドレスＢａ−Ｂｄの論理ブロックのデータを読み出す。コマンド制御部１００は、読み出したバックアップ対象のデータをバックアップ装置３に書き込ませるためのコマンド（書込みリクエスト）を生成し、イニシエータポート１２からバックアップ装置３に向けて書込みコマンドを送信する。記憶制御装置１０（Ｎ）から書込みコマンドを受信したバックアップ装置３は、受信データを所定の位置に書込み、書込みが完了した場合は、書込み完了報告を記憶制御装置１０（Ｎ）に送信する。
【００７２】
次に、制御情報の書込みを行う場合の動作を説明する。まず、ホスト装置１は、図１０（ｂ）に示すような制御情報書込みコマンドを生成する。ホスト装置１からのコマンドＣＨを受信した記憶制御装置１０（Ｎ）は、コマンドＣＨを解析して内容を把握し、コマンドＣＨに含まれる制御情報を抽出する。そして、前記同様に、コマンド制御部１００は、抽出した制御情報をバックアップ装置３に書き込ませるための書込みコマンドを生成して、バックアップ装置３に送信する。記憶制御装置１０（Ｎ）から書込みコマンドを受信したバックアップ装置３は、制御情報を所定の位置に書込み、書込み完了報告を記憶制御装置１０（Ｎ）に送信する。
【００７３】
［ダイレクトバックアップ２］
次に、図１１を参照して、ダイレクトバックアップの別の方法を説明する。図１１には、第２の記憶制御装置２００の実記憶領域をあたかも自己の記憶領域であるかのように見せかけて、ホスト装置１に仮想的に提供する構成において、ダイレクトバックアップを行う場合を示している。
【００７４】
図に示すように、例えば、インテリジェント化されたファイバチャネルスイッチから構成される第１の記憶制御装置１０と、第２の記憶制御装置２００と、ホスト装置１と、バックアップ装置３とは、それぞれ通信ネットワーク２を介して相互通信可能に接続されている。そして、上述の通り、第２の記憶制御装置２００が直接管理する実ＬＵ２２２は、マッピングテーブルＴＭによって、第１の記憶制御装置１０の仮想的ＬＵ７２に割り付けられている。これにより、第１の記憶制御装置１０は、第２の記憶制御装置２００の実ＬＵを間接的に支配し、仮想的ＬＵ７２としてホスト装置１に提供している。
【００７５】
先にデータのバックアップを行う場合を説明すると、まず、ホスト装置１は、コピーリクエストを示すリクエストＩＤと、コピー対象のデータを特定するためのボリュームＩＤ（α）及びアドレス（Ｂａ−Ｂｄ）と、コピー先装置を特定するための装置ＩＤ（バックアップ装置の装置ＩＤ）とを含んだコマンドＣＨを生成する。次に、ホスト装置１は、通信ネットワーク２を介してコマンドＣＨを第１の記憶制御装置１０に送信すると、このコマンドＣＨは、第１の記憶制御装置１０のターゲットポート１１により受信される。コマンド制御部１００は、コマンドＣＨを解析し、コマンドＣＨ中のコピー元アドレスとマッピングテーブルＴＭとを参照することにより、コピー対象となっている仮想的ＬＵ７２のアドレスに対応する実ＬＵ２２２のアドレスを検索する。即ち、コマンド制御部１００は、ダイレクトバックアップを指定された仮想的ＬＵ７２に対応する論理ボリュームがターゲットポート２０１からアクセス可能な実ＬＵ２２２であることを知ると共に、ダイレクトバックアップの範囲が実ＬＵ２２２におけるアドレスＢａ２−Ｂｄ２の範囲であることを知る。
【００７６】
次に、コマンド制御部１００は、実ＬＵ２２２のアドレスＢａ２−Ｂｄ２に記憶されているデータを読み出すための読み出しコマンド（読み出しリクエスト）を生成し、読み出しコマンドをイニシエータポート１２から送信する。読み出しコマンドは、通信ネットワーク２を介して、第２の記憶制御装置２００のターゲットポート２０１に受信される。第２の記憶制御装置２００のコマンド制御部２１０は、読み出しコマンドにより要求された範囲のデータを実ＬＵ２２２から読み出して、第１の記憶制御装置１０に送信する。これにより、第１の記憶制御装置１０は、ダイレクトバックアップの対象とされたデータを取得して、データをキャッシュメモリ４０に一時格納する。そして、コマンド制御部１００は、第２の記憶制御装置２００から取得したデータをバックアップ装置３に書き込ませるための書込みコマンド（コピーリクエスト）を生成し、この書込みコマンドをコピー先装置として指定されたバックアップ装置３に向けて送信する。バックアップ装置３は、第１の記憶制御装置１０から受信した書込みコマンドに基づいて、受信したデータを所定の位置に格納する。
【００７７】
制御情報の書込みを行う場合を説明する。この場合は、図１０と共に説明した一般的手法と考えられるダイレクトバックアップと同様の動作となる。即ち、ホスト装置１は、制御情報の書込みリクエストを示すリクエストＩＤと、コピー先の装置を特定する装置ＩＤと、バックアップ対象の制御情報とを含むコマンドＣＨを生成して、第１の記憶制御装置１０に送信する。コマンド制御部１００は、受信したコマンドＣＨを解析し、コマンドＣＨから抽出された制御情報をバックアップ装置３に書き込ませるための書込みコマンドを生成して、バックアップ装置３に送信する。バックアップ装置３は、書込みコマンドを受信すると、制御情報を所定の位置に格納させる。
【００７８】
このように、第２の記憶制御装置２００の実ＬＵ２２２を第１の記憶制御装置１０の記憶領域として仮想的に取り込む構成においては、第１の記憶制御装置１０が記憶システムの動作を主導して、ホスト装置１から要求されたデータ処理を実行する（データのダイレクトバックアップの場合）。従って、例えば、第１の記憶制御装置１０が間接的に支配下におく第２の記憶制御装置２００の数、ホスト装置１から要求される処理内容、通信ネットワーク２の速度等のような諸条件によって相違するが、第１の記憶制御装置１０の処理負担は重くなる。そこで、本発明では、以下に述べるように、第１の記憶制御装置１０で実行可能な処理の全部または一部を、第２の記憶制御装置２００に実行させることにより、負荷分散を図っている。
【００７９】
［ダイレクトバックアップ３］
次に、図１２〜図１４に基づいて、さらに別のダイレクトバックアップの方法を説明する。この方法は、ダイレクトバックアップを第２の記憶制御装置２００で実行可能な場合に、第２の記憶制御装置２００にダイレクトバックアップを行わせる点に特徴がある。
【００８０】
データのダイレクトバックアップを希望する場合、ホスト装置１は、ダイレクトバックアップ用のコマンドＣＨを生成する。このコマンドＣＨは、上述のように、コピーリクエストを示すリクエストＩＤと、コピー元アドレスと、コピー先装置の装置ＩＤとが含まれている。ホスト装置１が通信ネットワーク２を介してコマンドＣＨを送信すると、コマンドＣＨは第１の記憶制御装置１０のターゲットポート１１により受信される。
【００８１】
コマンド制御部１００は、コマンドＣＨを解析し、リクエストＩＤに基づいてコマンドテーブルＴＣ（図示省略）を参照することにより、コピーリクエストを受信したことを認識する。コマンド制御部１００は、コマンドＣＨにより指定されたコピー元アドレスに基づいてマッピングテーブルＴＭを参照し、仮想的ＬＵ７２のアドレスに対応する実ＬＵ２２２のアドレスを検索する。即ち、コマンド制御部１００は、指定された仮想的ＬＵ７２に対応するボリュームのＩＤ（α２）を検出すると共に、仮想的ＬＵ７２の記憶空間におけるアドレス（Ｂａ−Ｂｄ）に対応する実ＬＵ２２２の記憶空間におけるアドレス（Ｂａ２−Ｂｄ２）を検出する。
【００８２】
次に、コマンド制御部１００は、機能管理テーブルＴＦを参照し、第２の記憶制御装置２００で実行可能なサポート機能を確認する。図１３（ａ）は、機能管理テーブルＴＦの一例を示す。図１３（ａ）は、複数の第２の記憶制御装置２００がそれぞれ有する機能を管理する場合を示す。機能管理テーブルＴＦには、例えば、第２の記憶制御装置２００をそれぞれ特定するための装置ＩＤ（ＳＤ２（１）−ＳＤ２（ｎ））と、それぞれの実ＬＵ２２２にアクセスするためのポートＩＤ（ＴＰ２（１）−ＴＰ２（ｎ））と、各サポート機能（Ｆ１−Ｆｎ）を実行可能か否かの判別情報とが対応付けられている。実行可能な機能には「可」と記録され、実行不能な機能には「不可」と記録されている。サポート機能としては、例えば、ダイレクトバックアップ、ペアボリュームのコピー、ミラーリング、リモートコピー等を挙げることができる。この機能管理テーブルＴＦは、例えば、記憶システムが構成されるときに、手動または自動的に登録される。第１の記憶制御装置１０に第２の記憶制御装置２００が１台だけ接続される場合、図１３（ａ）に示す機能管理テーブルＴＦのレコードは一つとなる。
【００８３】
コマンド制御部１００は、機能管理テーブルＴＦを参照して、第２の記憶制御装置２００がダイレクトバックアップ機能をサポートしていることを確認すると、コマンド制御部１００は、第２の記憶制御装置２００にダイレクトバックアップを担当させるべく、第１のコマンドＣＨの一部を書き換えることにより、第２のコマンドＣＳを生成する。具体的には、例えば、図１３（ｂ），（ｃ）に示すように、コマンドＣＨ中の「コピー元アドレス」に格納されているボリュームＩＤ及びアドレスを、マッピングテーブルＴＭを参照して、対応する実ＬＵ２２２のボリュームＩＤ及び対応するアドレスにそれぞれ書き換えることにより、コマンドＣＳが生成される。即ち、リクエストの種類を示すリクエストＩＤ及びコピー先装置ＩＤは、両コマンドＣＨ，ＣＳ間で共通し、ダイレクトバックアップの対象とするデータを特定するための情報のみが、そのデータを実際に記憶している記憶空間のアドレスに変換される。従って、両コマンドＣＨ，ＣＳは、その一部の内容が異なるだけでデータ構造は共通する。
【００８４】
このようにしてコマンド制御部１００により組み立てられたコマンドＣＳは、イニシエータポート１２から通信ネットワーク２を介して第２の記憶制御装置２００のターゲットポート２０１に到達する。第２の記憶制御装置２００のコマンド制御部２１０は、コマンドＣＳを解析し、指定された範囲のデータを実ＬＵ２２２から読み出す。そして、コマンド制御部２１０は、この読み出したデータをバックアップ装置３に書き込ませるための書込みコマンドを生成し、バックアップ装置３に送信する。バックアップ装置３は、第２の記憶制御装置２００からの書込みコマンドを受信すると、受信データを所定の位置に記憶させる。
【００８５】
図１４を参照して第１の記憶制御装置１０の動作を説明する。第１の記憶制御装置１０がホスト装置１からコマンドＣＨを受信すると（Ｓ１）、コマンド制御部１００はコマンドＣＨを解析し（Ｓ２）、機能管理テーブルＴＦを参照する（Ｓ３）。そして、第２の記憶制御装置２００でデータのダイレクトバックアップを実行可能と判断した場合は（S4：YES）、第２の記憶制御装置２００にデータのダイレクトバックアップを肩代わりさせるためのコマンドＣＳを生成し（Ｓ５）、コマンドＣＳを第２の記憶制御装置２００に送信する（Ｓ６）。第２の記憶制御装置２００がダイレクトバックアップ機能をサポートしていない場合は（S4:NO）、コマンド制御部１００は、読み出しコマンドを生成して第２の記憶制御装置２００に送信することにより、第２の記憶制御装置２００の実ＬＵ２２２からバックアップ対象のデータを読み出す（Ｓ７）。コマンド制御部１００は、書込みコマンドを生成してバックアップ装置３に送信することにより（Ｓ８）、読み出したデータをバックアップ装置３に記憶させる。
【００８６】
なお、制御情報の書込みを行う場合は、上述した一般的と考えられる方法で書き込まれる。即ち、コマンド制御部１００は、受信したコマンドＣＨから制御情報を抽出し、この抽出した制御情報をバックアップ装置３に書き込むための書込みコマンドを生成し、バックアップ装置３に送信する。
【００８７】
以上詳述した通り、本実施例によれば、ホスト装置１から要求されたデータ処理（ダイレクトバックアップ）が第２の記憶制御装置２００で実行可能か否かを判定し、第２の記憶制御装置２００で実行できる場合には、要求されたデータ処理を第２の記憶制御装置２００に実行させることができる。従って、第１の記憶制御装置１０に処理が集中するのを防止し、負荷を分散させることができるため、第１の記憶制御装置１０の処理負担を軽減することができる。これにより、第１の記憶制御装置１０の情報処理資源を他のサービス実現のためにホスト装置１に提供することができ、記憶システム全体の有効利用を図ることができる。
【実施例２】
【００８８】
［論理ボリュームコピー１］
次に、図１５に基づいて、論理ボリュームのコピーを説明する。本実施例による論理ボリュームコピーは、それぞれ離れて設置された正サイト（プライマリサイト）と副サイト（セカンダリサイト）との間で、論理ボリュームの内容がコピーされる。
【００８９】
正サイトには、ホスト装置１と、インテリジェント化されたファイバチャネルスイッチから構成された第１の記憶制御装置１０（ＳＷ１）と、第２の記憶制御装置２００（１）とが含まれており、それぞれ通信ネットワーク２（１）によって相互に通信可能に接続されている。副サイトには、インテリジェント化されたファイバチャネルスイッチから構成された第１の記憶制御装置１０（ＳＷ２）と、第２の記憶制御装置２００（２）とが含まれており、通信ネットワーク２（２）により相互に通信可能に接続されている。正サイトの通信ネットワーク２（１）と副サイトの通信ネットワーク２（２）も相互に接続されている。以下、正副いずれのサイトに設置されたものであるかを明示する場合には、プライマリ側を意味する（１）またはセカンダリ側を意味する（２）の符号を追加し、特に区別する必要が無い場合は省略する。
【００９０】
本実施例による論理ボリュームコピーは、コピー元となる正サイトの論理ボリューム（α）とコピー先となる副サイトの論理ボリューム（β）の組（ペアボリューム）を決めて、正サイトの論理ボリューム（α）の記憶内容を副サイトの論理ボリューム（β）にコピーすることを意味し、２つの種類に分けて考えることができる。その一つは、コピー元である正サイトの論理ボリューム（α）の全データを、コピー先である副サイトの論理ボリューム（β）に送信して書き込ませるという、初期コピーである。
他の一つは、初期コピー完了後に、ホスト装置１が正サイトの論理ボリューム（α）に対して行った更新分のデータのみを、副サイトの論理ボリューム（β）に送信して書き込ませるという、更新コピーである。
【００９１】
初期コピーは、コピー元となる論理ボリュームが有する全ての論理ブロックの記憶内容をコピー先の論理ボリュームに転送する処理であり、初期コピーを実行する記憶制御装置にとって処理負荷が大きい。そこで、本実施例では、初期コピー時に、第１の記憶制御装置に過大な負荷がかかるのを防止する手段について説明する。
【００９２】
まず最初に、図に示す前提的な構成において、正サイトの第１の記憶制御装置１０（ＳＷ１）が、論理ボリュームのコピーを実行する場合を説明する。
正副両サイトの第１の記憶制御装置１０（ＳＷ１），１０（ＳＷ２）は、それぞれ対応する第２の記憶制御装置２００（１），２００（２）の論理ボリュームを取り込むためのマッピングテーブルＴＭ１，ＴＭ２を備えている。正サイトに設置される第１の記憶制御装置１０（ＳＷ１）は、例えば、図１６（ａ）に示すようなマッピングテーブルＴＭ１を備えている。副サイトに設置される第１の記憶制御装置１０（ＳＷ２）は、例えば、図１６（ｂ）に示すようなマッピングテーブルＴＭ２を備えている。いずれのマッピングテーブルも、既に述べた通り、対応する第２の記憶制御装置２００（１），２００（２）の実ＬＵ２２２（１），２２２（２）へのアクセスポートＩＤ、ボリュームＩＤ、アドレスを含んでいる。
【００９３】
初期コピーを行う場合、ホスト装置１は、例えば、図１６（ｃ）に示すようなコマンド（初期コピー開始リクエスト）を生成する。このコマンドは、初期コピーの開始を要求するリクエストＩＤと、コピー元の装置を特定する装置ＩＤと、コピー元の論理ボリュームを特定するボリュームＩＤと、コピー先の装置を特定する装置ＩＤと、コピー先の論理ボリュームを特定するボリュームＩＤとを含んでいる。ここで、コピー元の論理ボリュームは、正サイトの第１の記憶制御装置１０（ＳＷ１）が有する仮想的ＬＵ７２（１）のボリューム（α）であり、コピー先の論理ボリュームは、副サイトの第１の記憶制御装置１０（ＳＷ２）が有する仮想的ＬＵ７２（２）のボリューム（β）である。
【００９４】
図１７を参照して処理の流れを説明する。図１７に示す流れ図は、正サイトの第１の記憶制御装置１０（ＳＷ１）のコマンド制御部１００（１）により実行される処理の概略を示している。ホスト装置１が図１６（ｃ）に示すようなコマンドを正サイトの第１の記憶制御装置１０（ＳＷ１）に送信すると、コマンド制御部１００（１）は、受信したコマンドを解析し、データの読み出し位置の初期設定を行う（Ｓ１１）。即ち、コマンド制御部１００（１）は、ホスト装置１から受信したコマンド中のコピー元装置ＩＤ及びコピー元ボリュームＩＤから、正サイトの第１の記憶制御装置１０（ＳＷ１）が提供する仮想的ＬＵ７２（１）（ボリュームＩＤ＝α）を特定し、この仮想的ＬＵ７２（１）の先頭論理ブロックアドレスをデータ読み出し位置として初期設定する。
【００９５】
次に、コマンド制御部１００（１）は、初期設定したデータの読み出し位置から、予め一回分の送信データ量として定められている量のデータを読み出す（Ｓ１２）。ここで、コマンド制御部１００（１）は、マッピングテーブルＴＭ１を参照することにより、仮想的ＬＵ７２（１）に割り当てられている実ＬＵ２２２（１）を検索し、実ＬＵ２２２（１）から１回分のデータを読み出す。
【００９６】
そして、コマンド制御部１００（１）は、ホスト装置１から指定されたコピー先、即ち、副サイトに設置された第１の記憶制御装置１０（ＳＷ２）の仮想的ＬＵ７２（２）（ボリュームＩＤ＝β）に向けて、先ほど読み出したデータを送信し、書き込ませる。即ち、通常の書込みコマンドにより、データの書込みを副サイトの第１の記憶制御装置１０（ＳＷ２）に要求する。この書込みコマンドで指定されるボリュームＩＤはβであり、書込みアドレスは先頭の論理ブロックアドレスである。
【００９７】
正サイトの第１の記憶制御装置１０（ＳＷ１）のイニシエータポート１２（１）から送信された書込みコマンドは、通信ネットワーク２（１），２（２）を経由して副サイトに到達し、副サイトの第１の記憶制御装置１０（ＳＷ２）のターゲットポート１１（２）に受信される。
【００９８】
第１の記憶制御装置１０（ＳＷ２）のコマンド制御部１００（２）は、書込みコマンドを解析し、マッピングテーブルＴＭ２を参照して、仮想的ＬＵ７２（２）（ボリュームＩＤ＝β）に対応する実ＬＵ２２２（２）（ボリュームＩＤ＝β２）を検索する。そして、コマンド制御部１００（２）は、受信したデータを実ＬＵ２２２（２）に書き込ませるべく、データの書込みコマンドを生成し、書込みコマンドをイニシエータポート１２（２）から第２の記憶制御装置２００（２）に送信する（Ｓ１３）。ターゲットポート２０１（２）を介して第２の記憶制御装置２００（２）が書込みコマンドを受信すると、コマンド制御部２１０（２）は、受信したデータを実ＬＵ２２２（２）の先頭論理ブロックアドレスに記憶させる。書込みが完了すると、第２の記憶制御装置２００（２）は、書込み完了報告を第１の記憶制御装置１０（ＳＷ１）に送信する。また、副サイトの第１の記憶制御装置１０（ＳＷ２）は、書込み完了報告を正サイトの第１の記憶制御装置１０（ＳＷ１）に送信する。なお、書込み完了報告の送信タイミングは、場合に応じて同期式でも非同期式でもよい。
【００９９】
１回分の書込みが完了すると、正サイトの第１の記憶制御装置１０（ＳＷ１）のコマンド制御部１００（１）は、前回読み出した位置から一回分のデータ量の分だけ位置を進めて、データ読み出し位置を更新する（Ｓ１４）。コピー元の論理ボリュームの最終論理ブロックアドレスを超えるまで、以上のＳ１２〜Ｓ１４の処理を繰り返すことにより、ペアボリューム間の初期コピーが完了する。
【０１００】
このように、正副両サイト間のペアボリュームの初期コピーでは、主導する第１の記憶制御装置１０（ＳＷ１）は、Ｓ１２〜Ｓ１４の処理を何度も繰り返す必要があり、その負担は大きい。そこで、次に、第１の記憶制御装置１０の負荷を低減すべく、より改善された方法を提案する。
【０１０１】
［論理ボリュームコピー２］
図１８〜図２１に基づいて、第１の記憶制御装置１０の負荷を軽減してペアボリュームの初期コピーを行う場合を説明する。
【０１０２】
上記と同様に、正副両サイトの第１の記憶制御装置１０（ＳＷ１），１０（ＳＷ２）は、それぞれ対応する第２の記憶制御装置２００（１），２００（２）の有する実ＬＵ２２２（１），２２２（２）を自己の仮想的ＬＵ７２（１），７２（２）として利用するために、図１９（ａ），（ｂ）に示すようなマッピングテーブルＴＭ１，ＴＭ２をそれぞれ備えている。このマッピングテーブルＴＭ１，ＴＭ２は、記憶システムを構成する際に登録される。また、図１９（ｃ），（ｄ）に示すように、正副両サイトの第１の記憶制御装置１０（ＳＷ１），１０（ＳＷ２）は、それぞれ対応する第２の記憶制御装置２００（１），２００（２）がサポートしている機能の一覧を管理する機能管理テーブルＴＦ１，ＴＦ２を備えている。即ち、正副両サイトのそれぞれにおいて、第１の記憶制御装置１０（ＳＷ１），１０（ＳＷ２）は、第２の記憶制御装置２００（１），２００（２）の実ＬＵ２２２（１），２２２（２）を間接的に支配下に置くと共に、第２の記憶制御装置２００（１），２００（２）の有するサポート機能を把握している。
【０１０３】
ホスト装置１は、上記と同様に、例えば、図１９（ｅ）に示すような構造の初期コピー開始コマンドを生成し、通信ネットワーク２（１）を介して正サイトの第１の記憶制御装置１０（ＳＷ１）に送信する。この初期コピー開始コマンドが、ターゲットポート１１（１）を介して第１の記憶制御装置１０（ＳＷ１）に受信されると、コマンド制御部１００（１）は、受信したコマンドを解析し、初期コピー処理を開始させる。以下の動作の流れについて、図２０も参照しつつ説明する。図２０は、初期コピー開始コマンドを受信したコマンド制御部１００（１）により実行される処理の概要を示す。
【０１０４】
コマンド制御部１００（１）は、最初に、正副両サイトに設置された第２の記憶制御装置２００（１），２００（２）がサポートする機能の確認を行う（Ｓ２１）。コマンド制御部１００（１）は、図１９（ｃ）に示す機能管理テーブルＴＦ１を参照し、正サイト側の第２の記憶制御装置２００（１）が論理ボリュームコピー機能をサポートしているか否かを確認する。例えば、機能Ｆ１を論理ボリュームコピー機能とすると、「可」が設定されているため、コマンド制御部１００（１）は、正サイト側の第２の記憶制御装置２００（１）に論理ボリュームコピー処理を代行させることが可能であることを知る。
【０１０５】
次に、コマンド制御部１００（１）は、イニシエータポート１２（１）から通信ネットワーク２（１），２（２）を介して、機能管理テーブルＴＦ２の取得を要求するコマンド（テーブル取得リクエスト）を、副サイト側の第１の記憶制御装置１０（ＳＷ２）に送信する。この取得コマンドは、ターゲットポート１１（２）を介してコマンド制御部１００（２）に入力される。コマンド制御部１００（２）は、図１９（ｄ）に示す機能管理テーブルＴＦ２の内容を、取得コマンドに対する応答として正サイト側に返信する。正サイト側のコマンド制御部１００（１）は、副サイト側から取得した機能管理テーブルＴＦ２の内容に基づいて、副サイト側の第２の記憶制御装置２００（２）が論理ボリュームコピー機能を備えていることを把握する。取得された機能管理テーブルＴＦ２の内容は、第１の記憶制御装置１０（ＳＷ１）の共有メモリまたはキャッシュメモリに格納される。なお、機能管理テーブルＴＦ２の全ての内容を副サイト側から正サイト側に送信する場合に限らず、例えば、正サイト側のコマンド制御部１００（１）から副サイト側のコマンド制御部１００（２）に対し、副サイト側の第２の記憶制御装置２００（２）が特定の機能をサポートしているか否かについて問い合わせるようにしてもよい。
【０１０６】
このようにして、コマンド制御部１００（１）は、正サイトと副サイトの両方に設置された第２の記憶制御装置２００（１），２００（２）がそれぞれ論理ボリュームコピー機能を備えているか否かを確認し、両方共に論理ボリュームコピー機能を備えている場合には（S22:YES）、以下に述べるように、第２の記憶制御装置２００（１），２００（２）による直接的な論理ボリュームコピーを開始させる。
【０１０７】
コマンド制御部１００（１）は、ホスト装置１からコピー先ボリュームとして指定された副サイト側の仮想的ＬＵ７２（２）に対応する実ＬＵ２２２（２）の情報を取得すべく、副サイト側の第１の記憶制御装置１０（ＳＷ２）に対して、マッピングテーブルＴＭ２の取得を要求する（Ｓ２３）。このテーブル取得リクエストは、機能管理テーブルＴＦ２の場合と同様に行われるので、詳細を割愛する。
【０１０８】
次に、コマンド制御部１００（１）は、初期コピー開始コマンドを、イニシエータポート１２（１）から通信ネットワーク２（１）を介して第２の記憶制御装置２００（１）のターゲットポート２０１（１）に送信する（Ｓ２４）。この際、コマンド制御部１００（１）は、正サイト側のマッピングテーブルＴＭ１から抽出されたコピー元論理ボリューム（α）に関する情報と、副サイト側のマッピングテーブルＴＭ２から抽出されたコピー先論理ボリューム（β）に関する情報とを合わせて、正サイト側の第２の記憶制御装置２００（１）に送信する。第２の記憶制御装置２００（１）によって初期コピーが行われている間に、ホスト装置１によって仮想的ＬＵ７２（１）の内容が更新された場合は、その更新された論理ブロックに関する情報が差分ビットマップテーブルＴＢに記憶される。
【０１０９】
正サイト側の第２の記憶制御装置２００（１）は、ターゲットポート２０１（１）を介して初期コピー開始コマンドを受信すると、このコマンドはコマンド制御部２１０（１）により解析され、図２１に示す初期コピー処理が開始される。
【０１１０】
図２１は、正サイト側の第２の記憶制御装置２００（１）のコマンド制御部２１０（１）により実行される初期コピー処理を示す。コマンド制御部２１０（１）は、初期コピー開始コマンドで指定されたコピー元ボリュームＩＤと、Ｓ２４で取得した各論理ボリュームの情報とに基づいて、コピー元である仮想的ＬＵ７２（１）（ボリュームＩＤ＝α）の先頭論理ブロックアドレスをデータ読み出し位置として初期設定する（Ｓ３１）。
【０１１１】
次に、コマンド制御部２１０（１）は、設定したデータの読み出し位置から、予め一回分の送信データ量として設定されている量のデータを読み出す（Ｓ３２）。このとき、コマンド制御部２１０（１）は、第１の記憶制御装置１０（ＳＷ１）から先に取得したマッピングテーブルＴＭ１の情報に基づいて、仮想的ＬＵ７２（１）に対応する実ＬＵ２２２（１）を検索し、実ＬＵ２２２（１）（ボリュームＩＤ＝α２）の先頭論理ブロックアドレスから一回の送信分のデータを読み出す。
【０１１２】
そして、コマンド制御部２１０（１）は、初期コピー開始コマンドで指定されたコピー先に対して、読み出したデータを送信し、書き込ませる（Ｓ３３）。この書込みリクエストは、通常の書込みコマンドにより行われる。このとき、コマンド制御部２１０（１）は、第１の記憶制御装置１０（ＳＷ１）から取得したマッピングテーブルＴＭ２の情報に基づいて、書込みコマンド中の書込み先を、副サイト側の仮想的ＬＵ７２（２）に対応する実ＬＵ２２２（２）（ボリュームＩＤ＝β２）に設定する。書込み先のアドレスは、実ＬＵ２２２（１）からデータを読み出す際に指定したアドレスと同一である。
【０１１３】
第２の記憶制御装置２００（１）のイニシエータポート２０２（１）から送信された書込みコマンドは、通信ネットワーク２（１），２（２）を経由して、副サイト側の第２の記憶制御装置２００（２）のターゲットポート２０１（２）に受信される。第２の記憶制御装置２００（２）のコマンド制御部２１０（２）は、受信した書込みコマンドに従って、受信データを実ＬＵ２２２（２）の所定の位置に書込み、書込み完了を正サイト側の第２の記憶制御装置２００（１）に報告する。
【０１１４】
一つの書込みコマンドの処理を完了すると、コマンド制御部２１０（１）は、前回の読み出し位置から一回分の送信データ量の分だけ位置を進めることにより、データ読み出し位置を更新する（Ｓ３４）。コマンド制御部２１０（１）は、実ＬＵ２２２（１）の記憶内容を実ＬＵ２２２（２）に全て移し替えるまで、Ｓ３２〜Ｓ３４の処理を繰り返し実行する（Ｓ３５）。初期コピーが完了すると、コマンド制御部２１０（１）は、第１の記憶制御装置１０（ＳＷ１）に初期コピーの完了を報告する。
【０１１５】
初期コピーが完了した場合は図２０に戻り、第１の記憶制御装置１０（ＳＷ１）のコマンド制御部１００（１）は、差分ビットマップテーブルＴＢを参照する。差分ビットマップテーブルＴＢには、初期コピー中に、ホスト装置１が本来のコピー元である仮想的ＬＵ７２（１）に対して行った新規データの書込みに関する情報、即ち、更新された論理ブロックのアドレス情報が保持されている。
【０１１６】
差分ビットマップテーブルＴＢを参照することにより、初期コピー中に仮想的ＬＵ７２（１）の記憶内容が変更されたことが検出された場合、コマンド制御部１００（１）は、差分ビットマップテーブルＴＢに示された全ての論理ブロックを、コピー先の仮想的ＬＵ７２（２）に書き込ませる処理を実行する（Ｓ２５）。この更新されたデータのコピーは、例えば、［論理ボリュームコピー１］で述べた方法に従って行うことができる。
【０１１７】
このように、初期コピー中に書き込まれた新規データを、副サイト側に書き込む処理を行うのは、次の理由による。第２の記憶制御装置２００（１）中のコマンド制御部２１０（１）によって行われる初期コピーは、論理ブロックアドレスが小さいものから大きいものへと順々に行われる。例えば、初期コピーがほぼ完了に近づく頃になって、論理ボリュームの先頭論理ブロックアドレス付近に新規データの書き込みが行われると、コマンド制御部２１０（１）は、このデータを副サイト側にコピーすることができない。このようにして発生しうる未コピーの論理ブロックをなくすために、差分ビットマップテーブルＴＢに基づいた新規書き込みデータのコピーを行う。
【０１１８】
なお、図２０において、正副両サイトの第２の記憶制御装置２００（１），２００（２）のいずれか一方が、論理ボリュームコピー機能をサポートしていないと判断された場合は（S22:NO）、［論理ボリュームコピー１］で述べたように、正サイト側の第１の記憶制御装置１０（ＳＷ１）が主導して初期コピーを行う（Ｓ２６）。
【０１１９】
このように構成される本実施例によれば、前記実施例と同様に、ホスト装置１から要求されたデータ処理（正サイトと副サイト間の論理ボリュームコピー）を第２の記憶制御装置２００（１），２００（２）に委ねることができ、データ処理の負荷を分散させて、第１の記憶制御装置１０（ＳＷ１），１０（ＳＷ２）の負荷を軽減することができる。従って、第１の記憶制御装置１０（ＳＷ１）の情報処理能力を他のサービス実現のために用いることができ、記憶システムを有効に稼働させることができる。
【実施例３】
【０１２０】
次に、図２２を参照して、本発明の第３実施例を説明する。本実施例の特徴は、第１の記憶制御装置１０が複数の仮想的ＬＵ７２（１），７２（２）を備えており、これら複数の仮想的ＬＵ７２（１），７２（２）の記憶内容を同期化（ミラーリング）する場合に適用した点にある。
【０１２１】
第１の記憶制御装置１０は、例えば、インテリジェント化されたファイバチャネルスイッチから構成され、２個の仮想的ＬＵ７２（１），７２（２）を有している。一方の仮想的ＬＵ７２（１）はプライマリボリューム、他方の仮想的ＬＵ７２（２）はセカンダリボリュームである。各仮想的ＬＵ７２（１），７２（２）の実体は、第２の記憶制御装置２００の実ＬＵ２２２（１），２２２（２）である。
【０１２２】
仮想的ＬＵ７２（１）の記憶内容を仮想的ＬＵ７２（２）にコピーする場合は、実施例２の［論理ボリュームコピー１］または［論理ボリュームコピー２］で述べた方法と同様にして行うことができる。
【０１２３】
例えば、一つの方法によれば、第１の記憶制御装置１０が、第２の記憶制御装置２００の実ＬＵ２２２（１）のデータを先頭論理ブロックアドレスから所定量ずつ読み出し、読み出したデータを第２の記憶制御装置２００の実ＬＵ２２２（２）の所定位置に書き込ませることにより、実ＬＵ２２２（１）の全データを実ＬＵ２２２（２）へコピーすることができる。
【０１２４】
また、別の方法によれば、第２の記憶制御装置２００がミラーリング機能をサポートしているか否かを判別し、ミラーリング機能を有している場合は、第１の記憶制御装置１０から第２の記憶制御装置２００に向けてミラーリング開始コマンドを送信する。このミラーリング開始コマンドには、少なくともコピー元ボリュームＩＤ（α）とコピー先ボリュームＩＤ（β）とが含まれている。この際に、マッピングテーブルＴＭの記憶内容を一緒に送信することができる。あるいは、マッピングテーブルＴＭを参照することにより、コピー元ボリュームＩＤをα２に、コピー先ボリュームＩＤをβ２にそれぞれ変換してミラーリング開始コマンドを送信してもよい。
【０１２５】
第２の記憶制御装置２００は、ミラーリング開始コマンドを受信すると、実ＬＵ２２２（１）の先頭論理ブロックアドレスから最終論理ブロックアドレスまでの全データを、実ＬＵ２２２（２）に所定量ずつコピーする。なお、ミラーリング中に、ホスト装置１によりデータが更新された場合は、前記で述べたと同様に、差分ビットマップテーブルを利用して、更新されたデータを後からコピーすることができる。
【０１２６】
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。前記各実施例では、インテリジェント化されたファイバチャネルスイッチを中心に説明したが、本発明はこれに限らず、ディスクアレイ装置等にも広く適用できる。また、第１の記憶制御装置内に、それぞれ異なる第２の記憶制御装置の実記憶領域に対応する仮想的な記憶領域を設ける場合等にも適用することができる。
【図面の簡単な説明】
【０１２７】
【図１】本発明の第１実施例による記憶システムの要部を概略的に示すブロック図である。
【図２】第１の記憶制御装置をディスクアレイ装置から構成した場合のブロック図である。
【図３】図２に示すディスクアレイ装置をホスト装置から見た場合の論理的な概略構造を示す説明図である。
【図４】第１の記憶制御装置をファイバチャネルスイッチとして構成した場合のブロック図である。
【図５】図４に示すファイバチャネルスイッチをホスト装置から見た場合の論理的な概略構造を示す説明図である。
【図６】第１の記憶制御装置から第２の記憶制御装置に対してデータを読み書きする場合の一例を示す概略ブロック図である。
【図７】第１の記憶制御装置をディスクアレイ装置として構成し、１台の第２の記憶制御装置と接続する場合の概略ブロック図である。
【図８】第１の記憶制御装置をファイバチャネルスイッチとして構成し、仮想的ＬＵを２つの実ＬＵから構成する場合の概略ブロック図である。
【図９】（ａ）は第１の記憶制御装置をファイバチャネルスイッチとして構成した場合のマッピングテーブル、（ｂ）は第１の記憶制御装置をディスクアレイ装置として構成した場合のマッピングテーブル、（ｃ）は複数の実ＬＵから仮想的ＬＵを構成する場合のマッピングテーブルをそれぞれ示す。
【図１０】第１の記憶制御装置が自らダイレクトバックアップを行う場合の説明図である。
【図１１】仮想的ＬＵを備えた第１の記憶制御装置がダイレクトバックアップを行う場合の説明図である。
【図１２】仮想的ＬＵを備えた第１の記憶制御装置が第２の記憶制御装置にダイレクトバックアップを代行させる場合の説明図である。
【図１３】（ａ）は機能管理テーブル、（ｂ）はホスト装置から第１の記憶制御装置に送信されるコマンドのデータ構造、（ｃ）は第１の記憶制御装置から第２の記憶制御装置に送信されるコマンドのデータ構造をそれぞれ示す。
【図１４】データのダイレクトバックアップを行う場合の第１の記憶制御装置における処理の概要を示すフローチャートである。
【図１５】本発明の第２実施例に係る記憶システムの全体を概略的に示すブロック図である。
【図１６】（ａ）は正サイト側のマッピングテーブル、（ｂ）は副サイト側のマッピングテーブル、（ｃ）は初期コピー開始コマンドのデータ構造をそれぞれ示す。
【図１７】初期コピーを行う場合の第１の記憶制御装置における処理の概要を示すフローチャートである。
【図１８】仮想的ＬＵを備える第１の記憶制御装置が、第２の記憶制御装置に論理ボリュームのコピーを行わせる場合の記憶システムの全体概要を示すブロック図である。
【図１９】（ａ）は正サイト側マッピングテーブル、（ｂ）は副サイト側マッピングテーブル、（ｃ）は正サイト側機能管理テーブル、（ｄ）は副サイト側機能管理テーブル、（ｅ）は初期コピー開始コマンドのデータ構造をそれぞれ示す。
【図２０】第１の記憶制御装置により実行される初期コピー処理の概要を示すフローチャートである。
【図２１】第１の記憶制御装置から依頼された初期コピーを行う第２の記憶制御装置の処理概要を示すフローチャートである。
【図２２】本発明の第３実施例に係り、内部ボリュームの同期化を行う場合の構成概要を示すブロック図である。
【符号の説明】
【０１２８】
１…ホスト装置、２…通信ネットワーク、３…バックアップ装置、１０…第１の記憶制御装置、２０…チャネルアダプタ、４０…キャッシュメモリ、５０…共有メモリ、６０…ディスクアダプタ、７０…記憶装置、７１…実論理ボリューム、７２…仮想的論理ボリューム、７３…ディスク装置群、８０…コントローラ、１００…コマンド制御部、１１０…コマンド解析部、１２０…判断部、１３０…コマンド生成部、２００…第２の記憶制御装置、２１０…コマンド制御部、２２０…記憶装置、２２１…ディスク装置群、２２２…実論理ボリューム、ＴＢ…差分ビットマップテーブル、ＴＣ…コマンドテーブル、ＴＭ…マッピングテーブル、ＴＦ…機能管理テーブル、
【図１】
2005092424.tif 000003
【図２】
2005092424.tif 000004
【図３】
2005092424.tif 000005
【図４】
2005092424.tif 000006
【図５】
2005092424.tif 000007
【図６】
2005092424.tif 000008
【図７】
2005092424.tif 000009
【図８】
2005092424.tif 000010
【図９】
2005092424.tif 000011
【図１０】
2005092424.tif 000012
【図１１】
2005092424.tif 000013
【図１２】
2005092424.tif 000014
【図１３】
2005092424.tif 000015
【図１４】
2005092424.tif 000016
【図１５】
2005092424.tif 000017
【図１６】
2005092424.tif 000018
【図１７】
2005092424.tif 000019
【図１８】
2005092424.tif 000020
【図１９】
2005092424.tif 000021
【図２０】
2005092424.tif 000022
【図２１】
2005092424.tif 000023
【図２２】
2005092424.tif 000024