(57)【特許請求の範囲】
【請求項１】
上位装置からの第１のストレージ装置と第２のストレージ装置のいずれか一方への書き込み命令に係るデータを前記第１のストレージ装置および前記第２のストレージ装置に対して書き込む同期書き込み処理と、前記第１のストレージ装置と前記第２のストレージ装置のいずれか一方への前記書き込み命令に係るデータの書き込みを実行した後に、該書き込みデータを読み出して前記書き込み命令が未だ実行されていない他方へのコピーを行なう非同期書き込み処理を実行する書き込み処理部と、
前記書き込み処理部に対して前記同期書き込み処理と前記非同期書き込み処理のいずれか一方の書き込み処理を実行させる処理制御部と、を備え、
前記上位装置から前記第１のストレージ装置と前記第２のストレージ装置のいずれか一方に対する書き込み命令を受け付けた場合に、
前記書き込み処理部は、前記第１のストレージ装置および前記第２のストレージ装置に書き込み命令を送信し、前記第１のストレージ装置および前記第２のストレージ装置からの該書き込み命令についての処理を行える状態であることを示す応答を受け付け、
前記処理制御部は、該応答が受け付けられるまでの時間で定まる応答性能の差が所定閾値以下の場合には、前記書き込み処理部に対して前記同期書き込み処理を実行させ、該応答性能の差が該所定閾値を超えている場合には、前記書き込み処理部に対して、前記第１のストレージ装置および前記第２のストレージ装置のうち、前記応答性能が高い一方のストレージ装置にのみ前記書き込み命令に係るデータを書き込んだ後に、他方のストレージ装置にコピーする前記非同期書き込み処理を実行させる、
ことを特徴とする制御装置。
【請求項２】
前記書き込み処理部は、前記第１のストレージ装置がコピー元である場合に、前記第１のストレージ装置および前記第２のストレージ装置間でデータのコピー処理が行なわれているときに、前記上位装置から前記第１のストレージ装置に対する書き込み命令を受けた際、前記第１のストレージ装置が、前記書き込み命令の対象ではない前記第２のストレージ装置よりも前記応答性能が低い場合には、前記コピー処理と並行して前記同期書き込み処理を実行し、前記コピー処理の完了後に、前記書き込み命令の対象ではない前記第２のストレージ装置にのみ前記書き込み命令に係るデータを書き込むとともに、該データを書き込んだ書き込み位置を記憶部に格納し、該書き込みが終了した後に、前記書き込み命令の対象ではない前記第２のストレージ装置にのみ書き込まれたデータを前記記憶部に記憶された書き込み位置に基づいて読み込み、前記書き込み命令の対象である前記第１のストレージ装置に書き込むことにより前記書き込み命令の対象である前記第１のストレージ装置へコピーすることにより前記非同期書き込み処理を実行する、
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
第１のストレージ装置と、
第２のストレージ装置と、
前記第１および／または第２のストレージ装置に対して、上位装置からの書き込み命令を受けてデータの書き込みを行なう制御装置と
を有し、
前記制御装置は、
前記上位装置からの前記第１のストレージ装置と前記第２のストレージ装置のいずれか一方への書き込み命令に係るデータを前記第１のストレージ装置および前記第２のストレージ装置に対して書き込む同期書き込み処理と、前記第１のストレージ装置と前記第２のストレージ装置のいずれか一方への前記書き込み命令に係るデータの書き込みを実行した後に、該書き込みデータを読み出して前記書き込み命令が未だ実行されていない他方へのコピーを行なう非同期書き込み処理を実行する書き込み処理部と、
前記書き込み処理部に対して前記同期書き込み処理と前記非同期書き込み処理のいずれか一方の書き込み処理を実行させる処理制御部と、を備え、
前記上位装置から前記第１のストレージ装置と前記第２のストレージ装置のいずれか一方に対する書き込み命令を受け付けた場合に、
前記書き込み処理部は、前記第１のストレージ装置および前記第２のストレージ装置に書き込み命令を送信し、前記第１のストレージ装置および前記第２のストレージ装置からの該書き込み命令についての処理を行える状態であることを示す応答を受け付け、
前記処理制御部は、該応答が受け付けられるまでの時間で定まる応答性能の差が所定閾値以下の場合には、前記書き込み処理部に対して前記同期書き込み処理を実行させ、該応答性能の差が該所定閾値を超えている場合には、前記書き込み処理部に対して、前記第１のストレージ装置および前記第２のストレージ装置のうち、前記応答性能が高い一方のストレージ装置にのみ前記書き込み命令に係るデータを書き込んだ後に、他方のストレージ装置にコピーする前記非同期書き込み処理を実行させる、
ことを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置およびストレージシステムに関する。
【背景技術】
【０００２】
従来より、ストレージなどの外部仮想化ＦＣスイッチにおいて記憶資源を有効利用するために、記憶資源を仮想化して利用する仕組みが種々提案されている。例えば、ホストとストレージとを結ぶ高速のネットワークであるＳＡＮ（Storage  Area  Network）を構築する場合に、中継装置として機能するＦＣ（Fibre  Channel）スイッチとしての機能に加え、ストレージ資源を包括して仮想化し新たなストレージ構成としてみせる機能を備える仮想化ＦＣスイッチというものが存在する。
【０００３】
仮想化ＦＣスイッチは、接続された物理ストレージ装置の任意の領域を仮想ディスクとして構成し、仮想ターゲット（ＶＴ：Virtual  Target）を通してホストにみせる機能を持つ。さらに、仮想化ＦＣスイッチは、同様にして構成した他の仮想ディスクに対してデータをコピーする機能を持つ。
【０００４】
図８は、従来技術を説明するための図である。同図に示すように、従来の仮想化ＦＣスイッチは、ストレージ１ｃから仮想ディスク１ｂを作成し、仮想ターゲットＶＴ１ａを通してホストに接続している。同様にストレージ２ｃから仮想ディスク２ｂを作成し、仮想ターゲットＶＴ２ａを通してホストに接続している。仮想化ＦＣスイッチが仮想ディスク１ｂから仮想ディスク２ｂにデータをコピーする場合、仮想化ＦＣスイッチがコピー元となる仮想ディスク１ｂからデータを読み出す。そして、コピー先となる仮想ディスク２ｂにデータを書き出す動作を仮想ディスク１ｂの先頭ＬＢＡ（Logical  Block  Address）から最終ＬＢＡまで繰り返す。
【０００５】
また、仮想化ＦＣスイッチは、コピー動作中にホストから「Ｗｒｉｔｅ  Ｉ／Ｏ」を受け付けた場合でも、仮想ディスク１ｂと仮想ディスク２ｂのデータの等価性を保つため、コピー元仮想ディスクとコピー先仮想ディスクとでミラーディスクを作成する。そして、ホストから受けた「Ｗｒｉｔｅ  Ｉ／Ｏ」を両方の仮想ディスクに書き込む同期書き込みを実行する。
【０００６】
仮想化ＦＣスイッチの同期書き込み動作について簡単に説明する。図９に示すように、仮想化ＦＣスイッチは、ホストから「Write  Command（以下、ライトコマンドと記載する）」を受けると、ライトコマンドをストレージ１ｃおよび２ｃに転送する。ストレージ１ｃおよび２ｃからライトコマンドに対する「Ready」応答（例えば、Ready（１）および（２））を受けると、仮想化ＦＣスイッチは、「Ready」応答をホストに転送する。ホストからライトコマンドに対応するデータを受けると、仮想化ＦＣスイッチは、ホストから受けたデータをストレージ１ｃおよび２ｃに書き込む。ストレージ１ｃおよび２ｃからライト完了のステータス「Status-Good」を受けると、ホストに転送して、同期書き込みを完了する。図９は、従来技術を説明するための図である。
【０００７】
さらに、仮想化ＦＣスイッチは、ホストからの「Ｒｅａｄ  Ｉ／Ｏ」については、コピー元となっている仮想ディスク１ｂからのみ、データを読み出してホストに転送する。
【０００８】
仮想化ＦＣスイッチの読み出し動作について簡単に説明すると、図１０に示すように、図１０に示すように、仮想化ＦＣスイッチは、ホストから「Read  Command（以下、リードコマンドと記載する）」を受けると、リードコマンドをストレージ１ｃに転送する。ストレージ１ｃからリードコマンドに対する「Ready」応答を受けると、仮想化ＦＣスイッチは、「Ready」応答をホストに転送する。続いて、ホストからストレージ１ｃからリード対象データ（Data）を受けると、仮想化ＦＣスイッチは、データをホストに転送する。そして、ストレージ１ｃからリード完了のステータス（Status-Good）を受けると、リード完了のステータス（Status-Good）をホストに転送して、リード動作を完了する。図１０は、従来技術を説明するための図である。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−１２７０２８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、従来の仮想化ＦＣスイッチは、図９を用いて説明した同期書き込み動作において、次のような問題点がある。すなわち、図１１に示すように、コピー先の仮想ディスクを構成しているストレージ２ｃの性能が低い場合、仮想ディスク２ｂから仮想化ＦＣスイッチへのライトコマンドに対する応答（Ready）が遅れる。
【００１１】
仮想化ＦＣスイッチは、コピー元のストレージ１ｃから既に応答を受けていたとしても、ストレージ２ｃからのライトコマンドに対する応答の到達を待って、ホストから書き込み対象のデータを取得する。このように、仮想化ＦＣスイッチのＩ／Ｏ性能は、性能が低い側のストレージ２ｃに引きずられる結果となり、ホストからのＩ／Ｏについての処理性能（ホストからのライトコマンドおよびリードコマンドを処理する性能）が悪くなる。
【００１２】
また、図１３に示すように、コピー元の仮想ディスクを構成しているストレージ１ｃの性能が低い場合には、図１１に示す場合とは逆に、コピー先のストレージ２ｂの性能がコピー元のストレージ１ｂの性能に引きずられ、結果的に、ホストからのＩ／Ｏについての処理性能が悪くなる。
【００１３】
また、マルチプロトコルルータを使い、通信回線を経由して遠隔地にあるストレージで仮想ディスクを構成してコピーを行う場合には、例えば、図１２に示すように、コピー先であるストレージ３ｃからの応答の遅れが発生する場合があり、図１１および図１３に示す場合と同様に、ホストからのＩ／Ｏについての処理性能が悪くなる可能性がある。なお、図１１〜図１３は、従来技術の問題点を説明するための図である。
【００１４】
開示の技術は、上記に鑑みてなされたものであって、データの入出力性能が異なる複数のストレージ装置を有するストレージシステムにおいて、ホストからのＩ／Ｏについての処理性能の低下を防止することが可能なデータ中継装置およびストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本願の開示する技術は、一つの態様において、第１の仮想記憶部から第２の仮想記憶部にデータをコピーするコピーセッション期間内に、上位装置からの書き込み命令がある場合に、入出力性能が高い仮想記憶部に対してだけ前記書き込み命令を実行する第１の書き込み処理部と、前記第１の書き込み処理部によって書き込み命令が実行された仮想記憶部の書き込み位置を記憶する書き込み位置記憶部と、前記第１の書き込み処理部による書き込み処理が終了した後に、前記書き込み位置記憶部に記憶された書き込み位置から決定される前記仮想記憶部のデータを、前記書き込み命令が未だ実行されていない一方の仮想記憶部に対して書き込む第２の書き込み処理部とを有する。
【発明の効果】
【００１６】
本願の開示する技術の一つの態様によれば、データの入出力性能が異なる複数のストレージ装置を有するストレージシステムにおいて、ホストからのＩ／Ｏについての処理性能の低下を防止する。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例１に係るデータ中継装置を説明するための図である。
【図２】図２は、実施例２に係る仮想化ＦＣスイッチの構成を示す図である。
【図３】図３は、実施例２に係る仮想化ＦＣスイッチによる動作を説明するための図である。
【図４】図４は、実施例２に係る仮想化ＦＣスイッチによる動作を説明するための図である。
【図５】図５は、実施例２に係る仮想化ＦＣスイッチを説明するための図である。
【図６】図６は、実施例３に係る仮想化ＦＣスイッチの構成を示す図である。
【図７】図７は、実施例３に係る仮想化ＦＣスイッチによる動作を説明するための図である。
【図８】図８は、従来技術を説明するための図である。
【図９】図９は、従来技術を説明するための図である。
【図１０】図１０は、従来技術を説明するための図である。
【図１１】図１１は、従来技術の問題点を説明するための図である。
【図１２】図１２は、従来技術の問題点を説明するための図である。
【図１３】図１３は、従来技術の問題点を説明するための図である。
【発明を実施するための形態】
【００１８】
以下に、図面を参照しつつ、本願の開示するデータ中継装置およびストレージシステムの一実施形態について詳細に説明する。なお、データ中継装置およびストレージシステムの一実施形態として後述する実施例により、本願が開示する技術が限定されるものではない。
【実施例１】
【００１９】
図１は、実施例１に係るデータ中継装置を説明するための図である。同図に示すように、実施例１に係るデータ中継装置は、第１の書き込み処理部、書き込み位置記憶部および第２の書き込み処理部を有する。
【００２０】
第１の書き込み処理部は、第１の仮想記憶部から第２の仮想記憶部にデータをコピーするコピーセッション期間内に、上位装置からの書き込み命令がある場合に、入出力性能が高い仮想記憶部に対してだけ前記書き込み命令を実行する。
【００２１】
書き込み位置記憶部は、第１の書き込み処理部によって書き込み命令が実行された仮想記憶部の書き込み位置を記憶する。
【００２２】
第２の書き込み処理部は、第１の書き込み処理部による書き込み処理が終了した後に、書き込み位置記憶部に記憶された書き込み位置から決定される仮想記憶部のデータを、書き込み命令が未だ実行されていない一方の仮想記憶部に対して書き込む。
【００２３】
このようなことから、実施例１に係るデータ中継装置は、性能が高い側のストレージ装置の性能を十分に活かしたデータ処理を行って、ホストからのライトＩ／Ｏについての処理性能の低下を防止する。
【実施例２】
【００２４】
以下では、本願の開示するデータ中継装置の一実施形態として、仮想化ＦＣスイッチを例に挙げて説明する。
【００２５】
実施例２に係る仮想化ＦＣスイッチは、接続された複数の物理ストレージ装置の任意の領域から構成された仮想ディスク間でのデータコピー動作中に、ホストからライトＩ／Ｏ（ライトコマンド）を受け付けた場合には、ミラーディスクを介して、ホストからライトＩ／Ｏに同期した書き込みを各仮想ディスクに行うことを概要とする。
【００２６】
そして、実施例２に係る仮想化ＦＣスイッチの骨子は、以下に説明する点にある。
【００２７】
すなわち、仮想化ＦＣスイッチが有する第１の書き込み処理部は、コピー元である第１の仮想記憶部の入出力性能がコピー先である第２の仮想記憶部の入出力性能よりも高い場合には、コピーの処理と並行して、当該第１の仮想記憶部に対してだけ書き込み命令を実行する。仮想化ＦＣスイッチが有する書き込み位置記憶部は、第１の書き込み処理部によって書き込み命令が実行された第１の仮想記憶部の書き込み位置を記憶する。仮想化ＦＣスイッチが有する第２の書き込み処理部は、第１の書き込み処理部による書き込み処理が終了した後に、書き込み位置記憶部に記憶された書き込み位置から決定される第１の仮想記憶部のデータを、第２の仮想記憶部に対して書き込むことで、仮想ディスク間のデータを等価にする。以下、実施例２に係る仮想化ＦＣスイッチについて具体的に説明する。
【００２８】
［仮想化ＦＣスイッチの構成（実施例２）］
図２は、実施例２に係る仮想化ＦＣスイッチの構成を示す図である。なお、同図には、実施例１に係る仮想化ＦＣスイッチを説明する上で必要となる処理機能部のみを図示している。
【００２９】
同図に示すように、実施例１に係る仮想化ＦＣスイッチ２００は、ホストコンピュータ１００、および物理的なストレージ資源であるストレージ装置３００および４００とデータのやり取りが可能な状態に接続される。そして、仮想化ＦＣスイッチ２００は、入出力制御部２１０と、ＶＴ２２０、２３０と、制御部２４０と、ミラーディスク２５０と、仮想ディスク２６０、２７０を有する。
【００３０】
入出力制御部２１０は、ホストコンピュータ１００等との間でやり取りされる各種情報の入出力を制御する。例えば、入出力制御部２１０は、ホスト１００から送出されたライトＩ／ＯやリードＩ／Ｏなどの入力を制御する。
【００３１】
ＶＴ（仮想ターゲット）２２０、２３０は、対応する仮想ディスク２６０、２７０をホスト１００にみせる。すなわち、ホスト１００は、仮想化ＦＣスイッチ２００に設定されたＶＴ（仮想ターゲット）にアクセス要求を送信することで、仮想ディスク２６０、２７０に対するアクセスを実現する。
【００３２】
仮想ディスク２６０は、ストレージ装置４００よりもデータ入出力性能の高いストレージ装置３００に対応し、かつコピー元としての役割を果たす。仮想ディスク２７０は、ストレージ装置４００に対応し、かつコピー先としての役割を果たす。なお、データ入出力性能とは、ホストからのＩ／Ｏについての処理を行える状態でスタンバイできるまでのストレージの応答性能である。例えば、図９に示す場合では、ホストからのライトコマンドをストレージに転送し、ストレージから応答が帰ってくるまでの時間がデータ入出力性能に該当する。
【００３３】
制御部２４０は、ホスト１００からのライトＩ／ＯやリードＩ／Ｏについての処理や、仮想ディスク２６０と仮想ディスク２７０との間のデータコピー動作を制御する。そして、図２に示すように、制御部２４０は、書き込み制御部２４１、ビット設定部２４２およびコピー制御部２４３を有する。
【００３４】
書き込み制御部２４１は、仮想ディスク２６０から仮想ディスク２７０にデータをコピーするコピーセッション期間内に、ホスト１００からの書き込み命令がある場合に、入出力性能が高い仮想ディスクに対してだけ書き込み命令を実行する。
【００３５】
具体的には、書き込み制御部２４１は、コピーセッション期間内にホスト１００からの書き込み命令があった場合には、入出力性能の高いストレージ３００に対応した仮想ディスク２６０側にだけ書き込む。なお、書き込み制御部２４１は、後述するコピー制御部２４３により実行されているコピーセッション内のコピー動作と並行して、書き込みを実行する。書き込み制御部２４１による具体的な動作等については、図３および図４を用いて後述する。
【００３６】
ビット設定部２４２は、コピーセッション期間内に、書き込み制御部２４１によって書き込み命令が実行された仮想ディスク２６０の書き込み位置を記憶する。具体的には、書き込み制御部２４１によってホスト１００からのデータが書き込まれた仮想ディスク２６０内の各領域に対応するビットマップのビットをＯＮに設定することで、書き込み位置を記憶する。なお、ビットマップを用いる場合に限定されるものではなく、ホスト１００からの書き込み命令が実行された仮想ディスク２６０の書き込み位置を後述するコピー制御部２４３が特定さえできれば、どのような情報を用いてもよい。ビット設定部２４２による具体的な動作等については、図３および図４を用いて後述する。
【００３７】
コピー制御部２４３は、ホスト１００からのライトＩ／Ｏに応じて仮想ディスク２６０に書き込まれているデータを仮想ディスク２７０にコピーするコピーセッション期間内におけるコピー動作を制御する。具体的には、コピー先となる仮想ディスク２７０にデータを書き出す動作を仮想ディスク２６０の先頭ＬＢＡ（Logical  Block  Address）から最終ＬＢＡまで繰り返す。
【００３８】
また、コピー制御部２４３は、書き込み制御部２４１による書き込み処理が終了した後に、ビットマップに記憶された書き込み位置から決定される仮想ディスク２６０のデータを、仮想ディスク２７０に対して書き込む。具体的には、仮想ディスク２６０への書き込みが完了した後に、ビットマップを走査して、ビットがＯＮに設定されている仮想ディスク２６０内の領域に書き込まれているデータを仮想ディスク２７０に書き込む。なお、コピー制御部２４３による具体的な動作等については、図３および図４を用いて後述する。
【００３９】
［仮想化ＦＣスイッチによる動作（実施例２）］
図３および図４は、実施例２に係る仮想化ＦＣスイッチの動作を説明するための図である。以下では、仮想ディスク２６０に書き込まれているデータを仮想ディスク２７０にコピーするコピー動作中に、ホスト１００からのライトＩ／Ｏを受け付けた場合の動作を説明する。なお、以下に説明する仮想化ＦＣスイッチ２００による動作は、コピー動作とは排他的、かつ並列に実行されるものとする。
【００４０】
図３に示すように、仮想化ＦＣスイッチ２００の書き込み制御部２４１は、ホスト１００から受け付けたライトＩ／Ｏを各ストレージ装置（ストレージ装置３００および４００）に送る（ステップＳ１）。そして、書き込み制御部２４１は、各ストレージ装置からの「Ready」応答受付が完了するのを待って、「Ready」応答をホスト１００に送る（ステップＳ２）。
【００４１】
ホスト１００からデータが送られてくると、書き込み制御部２４１は、仮想ディスク２６０および仮想ディスク２７０からミラーディスクを生成し、ミラーディスクを介して、ホスト１００から受け付けたデータを仮想ディスク２６０側にだけ書き込む（ステップＳ３）。
【００４２】
書き込み制御部２４１により仮想ディスク２６０へのデータの書込みが完了すると、仮想化ＦＣスイッチのビット設定部２４２は、仮想ディスク２６０にデータを書き込んだ領域に対応するビットマップのビットをＯＮに設定する（ステップＳ４）。
【００４３】
ビットマップのビット設定を終えると、ビット設定部２４２は、ライトＩ／Ｏ完了のステータスをホスト１００に送って（ステップＳ５）、仮想化ＦＣスイッチ２００は、動作を完了する。
【００４４】
次に、図４を用いて、仮想化ＦＣスイッチ２００において、例えば、定期的に行われる、仮想ディスク２６０に書き込まれたデータを仮想ディスク２７０に書き込む非同期書き込みの動作を説明する。
【００４５】
図４に示すように、仮想化ＦＣスイッチ２００のコピー制御部２４３は、ビット設定部２４２が有するビットマップを走査して（ステップＳ１）、ビットがＯＮに設定されている箇所があるか否かを判定する（ステップＳ２）。
【００４６】
判定の結果、ビットマップ上でビットがＯＮに設定されている箇所がある場合には（ステップＳ２肯定）、ビットがＯＮに設定されているビット設定部に対応する仮想ディスク２６０の領域に書き込まれたデータを仮想ディスク２７０に書き込む（ステップＳ３）。そして、仮想化ＦＣスイッチ２００は、動作を完了する。
【００４７】
一方、ビットマップ上でビットがＯＮに設定されている箇所がない場合には（ステップＳ２否定）、仮想化ＦＣスイッチ２００は、そのまま非同期書き込み動作を完了する。
【００４８】
［実施例２による効果］
上述してきたように、実施例２によれば、仮想化ＦＣスイッチ２００は、仮想ディスク２６０に書き込まれたデータを仮想ディスク２７０にコピーしているコピー動作中に、ホスト１００からライトＩ／Ｏを受け付けた場合には、コピー元である仮想ディスク２６０側にのみ、ホスト１００からのデータを書き込む（図５の（１）参照）。
【００４９】
次に、仮想化ＦＣスイッチ２００は、仮想ディスク２６０にデータを書き込んだ領域に対応するビットマップのビットをＯＮに設定する（図５の（２）参照）。続いて、ホスト１００からのデータを仮想ディスク２６０に書き込んだタイミングとは別なタイミングで、すなわち、非同期に、仮想ディスク２６０に書き込まれたデータを仮想ディスク２７０に書き込んで、仮想ディスクを互いに等価にする（図５の（３）参照）。図５は、実施例２に係る仮想化ＦＣスイッチを説明するための図である。
【００５０】
実施例２によれば、従来のように、ホスト１００からのライトＩ／Ｏに同期して、ホストからのデータを仮想ディスク２６０および仮想ディスク２７０の双方に書き込む同期書き込みを行うことはせず、ストレージ装置４００よりもデータ入出力性能の高いストレージ装置３００に対応した仮想ディスク２６０にのみデータを書き込む。
【００５１】
したがって、既にホスト１００からのＩ／Ｏについての処理を行える状態である仮想ディスク２６０側にのみデータを書き込んで、ホスト１００に書き込みの完了を応答する。すなわち、ストレージ装置３００の性能がストレージ装置４００の性能に引きずられることなく、ホストからのＩ／Ｏについての処理する仮想化ＦＣスイッチ２００の性能が悪くなることもない。
【００５２】
このように、実施例２の仮想化ＦＣスイッチ２００によれば、データの入出力性能が異なる複数のストレージ装置を有するストレージシステムにおいて、性能が高い側のストレージ装置の性能を十分に活かしたデータ処理を行って、ホストからのライトＩ／Ｏについての処理性能の低下を防止する。
【実施例３】
【００５３】
上記の実施例２において、ホスト１００からのライトＩ／Ｏに同期して、ホストからのデータを仮想ディスク２６０および仮想ディスク２７０に書き込む同期書き込みと、ホスト１００からのライトＩ／Ｏに応じて仮想ディスク２６０に書き込んだデータを、ライトＩ／Ｏとは非同期なタイミングで仮想ディスク２７０に書き込む非同期書き込みとを切り替えて用いるようにしてもよい。
【００５４】
［仮想化ＦＣスイッチの構成（実施例３）］
図６は、実施例３に係る仮想化ＦＣスイッチの構成を示す図である。実施例３に係る仮想化ＦＣスイッチ２００は、モード切替部制御部２４４を有する点が実施例２に係る仮想化ＦＣスイッチ２００とは異なる。
【００５５】
具体的に説明すると、モード切替部制御部２４４は、書き込み制御部２４１において各ストレージ装置からの「Ready」応答受付が完了すると、書き込み制御部２４１に書き込み動作を一時的に停止させる。そして、モード切替部制御部２４４は、「Ready」応答の受付時間差を算出して、算出された受付時間差を所定の閾値と比較し、比較結果からストレージ装置の入出力性能差を判定する。
【００５６】
各ストレージ装置からの「Ready」応答の受付時間差を所定の閾値と比較した結果、受付時間差が所定の閾値を越えている場合には、モード切替制御部２４４は、例えば、仮に現時点で書き込み制御部２４１に設定されている同期書き込みモードを非同期書き込みモードに切り替える。そして、書き込み制御部２４１に書き込み動作を開始させる。
【００５７】
書き込み制御部２４１は、書き込み動作を再開し、「Ready」応答をホスト１００に送り、モード切替制御部２４４により設定された非同期書き込みモードに従って、ホスト１００から受け付けたデータを仮想ディスク２６０側にだけ書き込む。以降の動作は、上記の実施例２と同様である（例えば、図３のステップＳ２以降および図４参照）。
【００５８】
また、各ストレージ装置からの「Ready」応答の受付時間差を所定の閾値と比較した結果、受付時間差が所定の閾値以下である場合には、モード切替制御部２４４は、例えば、仮に現時点で書き込み制御部２４１に設定されている同期書き込みモードを維持する。そして、書き込み制御部２４１に書き込み動作を開始させる。
【００５９】
書き込み制御部２４１は、書き込み動作を再開し、「Ready」応答をホスト１００に送り、モード切替制御部２４４により設定された同期書き込みモードに従って、ホスト１００から受け付けたデータを仮想ディスク２６０および仮想ディスク２７０の双方に書き込む。書き込み制御部２４１は、データの書込みが完了すると、非同期書き込みモードの場合と同様に、ライトＩ／Ｏ完了のステータスをホスト１００に送る。
【００６０】
［仮想化ＦＣスイッチによる動作（実施例３）］
図７は、実施例３に係る仮想化ＦＣスイッチの動作を説明するための図である。実施例３に係る仮想化ＦＣスイッチの動作は、以下に説明する点が実施例２に係る仮想化ＦＣスイッチの動作とは異なる。なお、以下では、書き込み制御部２４１におけるデータの書込みモードが現時点で同期書き込みモードの設定されている時の動作を説明する。
【００６１】
すなわち、モード切替部制御部２４４は、各ストレージ装置からの「Ready」応答の受付時間差を算出して、算出された受付時間差を所定の閾値と比較し、比較結果からストレージ装置の入出力性能差を判定する（ステップＳ３）。
【００６２】
各ストレージ装置からの「Ready」応答の受付時間差を所定の閾値と比較した結果、受付時間差が所定の閾値を越えている場合には（ステップＳ３肯定）、モード切替制御部２４４は、例えば、仮に現時点で書き込み制御部２４１に設定されている同期書き込みモードを非同期書き込みモードに切り替える（ステップＳ４）。そして、書き込み制御部２４１に書き込み動作を開始させる。
【００６３】
書き込み制御部２４１は、「Ready」応答をホスト１００に送り、モード切替制御部２４４により設定された非同期書き込みモードに従って、ホスト１００から受け付けたデータを仮想ディスク２６０側にだけ書き込む（ステップＳ５）。以降の動作は、上記の実施例２と同様であり（例えば、図４のステップＳ２以降参照）、ライトＩ／Ｏ完了のステータスをホスト１００に送って（ステップＳ７）、書き込み動作を完了する。
【００６４】
ここで、ステップＳ３の説明に戻ると、各ストレージ装置からの「Ready」応答の受付時間差を所定の閾値と比較した結果、受付時間差が所定の閾値以下である場合には（ステップＳ３否定）、モード切替制御部２４４は、書き込み制御部２４１に設定されている同期書き込みモードを維持する（ステップＳ８）。そして、書き込み制御部２４１に書き込み動作を開始させる。
【００６５】
書き込み制御部２４１は、「Ready」応答をホスト１００に送り、モード切替制御部２４４により設定された同期書き込みモードに従って、ホスト１００から受け付けたデータを仮想ディスク２６０および仮想ディスク２７０の双方に書き込む（ステップＳ９）。そして、ライトＩ／Ｏ完了のステータスをホスト１００に送って（ステップＳ７）、書き込み動作を完了する。
【００６６】
仮想化ＦＣスイッチの運用において、仮想ディスク２６０から仮想ディスク２７０への全体コピーが完了すると、２つの仮想ディスクは切り離され、それぞれ別の仮想ディスクとして使用されるようになる。
【００６７】
書き込み制御部２４１が非同期書き込みモードに設定されている場合、仮想ディスク２６０から仮想ディスク２７０への全体コピーが完了しても、ホストからのライトＩ／Ｏがコピー先の仮想ディスク２７０に反映されるまで時間がかかるので、切り離しの操作は待たされることになる。したがって、書き込み制御部２４１を同期書き込みモードに設定しておいて、ホスト１００からのデータを２つの仮想ディスクに同期的に書き込んだ方が都合がよい。
【００６８】
上記の実施例３では、各ストレージ装置からの「Ready」応答の受付時間差を算出して、算出された受付時間差を所定の閾値と比較し、比較結果からストレージ装置の入出力性能差を判定する。そして、ストレージ装置間の入出力性能にそれほど差がない場合には、書き込み制御部２４１を同期書き込みモードに設定して、ホスト１００からのデータを２つの仮想ディスクに同期的に書き込む。
【００６９】
一方、各ストレージ装置間の入出力性能に差がある場合には、書き込み制御部２４１の書き込みモードを非同期書き込みモードに切り替えて書き込みを行うようにして、性能が高い側のストレージ装置の性能が、性能が低いストレージ装置４００の性能に引きずられないようにする。
【００７０】
このようなことから、実施例３によれば、性能が高い側のストレージ装置の性能を十分に活かしたデータ処理を行って、ホストからのライトＩ／Ｏに応じた処理性能の低下を防止するだけでなく、仮想化ＦＣスイッチの運用においてより適切な書き込みモードへの切替を実現する。
【００７１】
また、各ストレージ装置からの「Ready」応答の受付時間差を算出して、ストレージ装置の入出力性能差の判定は、定期的に実行してもよいし、ホスト１００からのライトＩ／Ｏの受付に応じて実行してもよい。
【実施例４】
【００７２】
以下、本願の開示する仮想化ＦＣスイッチおよびストレージシステムの他の実施形態を説明する。
【００７３】
（１）コピー元の仮想ディスクに対応するストレージ装置の性能が低い場合の動作
仮想化ＦＣスイッチ２００においては、ホスト１００からライトＩ／Ｏを受けたら仮想ディスク間のデータコピー動作においてコピー元として機能する仮想ディスク２６０のデータを更新する。さらに、ホスト１００からリードＩ／Ｏを受けたらコピー元として機能する仮想ディスク２６０からデータを読み出す。すなわち、ホスト１００からのＩ／Ｏに対する仮想化ＦＣスイッチ２００の応答性能は、コピー元として機能する仮想ディスクに対応したストレージ装置の入出力性能に依存する。
【００７４】
このようなことから、コピー元として機能する仮想ディスク２６０に対応したストレージ装置３００の方が、コピー先となる仮想ディスク２７０に対応したストレージ装置４００よりも入出力性能が低い場合には、ホスト１００への応答性能は低下する。
【００７５】
コピー元である仮想ディスク２６０に対応したストレージ装置３００の方が、コピー先の仮想ディスク２７０に対応したストレージ装置４００よりも入出力性能が低い場合には、仮想ディスク間のコピー動作中にホストからのライトＩ／Ｏを受けた場合に、コピー元として機能していた仮想ディスク２６０にだけデータを書き込むと、ホストへの応答性能をより低下させる結果となるので同期書き込みを行う。
【００７６】
仮想ディスク間のコピー動作が完了し、仮想ディスク２６０と仮想ディスク２７０との間のデータが等価になった以降（コピー制御部２４３による仮想ディスク間のコピー動作が完了した以降）は、書き込み制御部２４１は、ホスト１００からのライトＩ／Ｏに応じたデータをコピー先である仮想ディスク２７０側にだけ書き込む。なお、書き込み制御部２４１は、例えば、コピー制御部２４３からコピー完了通知を受けることによって、仮想ディスク２６０と仮想ディスク２７０との間のデータが等価になった時点を把握する。
【００７７】
書き込み制御部２４１による仮想ディスク２７０へのデータの書込み、すなわち、仮想ディスク２６０と仮想ディスク２７０との間のデータが等価になった以降の書込みが完了すると、ビット設定部２４２は、仮想ディスク２７０にデータを書き込んだ領域に対応するビットマップのビットをＯＮに設定する。
【００７８】
そして、コピー制御部２４３は、ビット設定部２４２が有するビットマップを走査して、ビットマップ上でビットがＯＮに設定されている箇所に基づいて、仮想ディスク２７０の領域に書き込まれたデータを仮想ディスク２６０に書き込むことで、仮想ディスク２７０と仮想ディスク２６０とを等価にする。
【００７９】
このようにすることで、仮想ディスク間の等価性を維持しつつ、ホストへの応答性能をできる限り向上させることができる。
【００８０】
なお、仮想ディスクの中から、ホスト１００からのライトＩ／Ｏに応じたデータの書き込み先を選択する場合には、ストレージの一時的な負荷増による入出力性能の低下に鑑みて、上記の実施例３で説明したように、各ストレージ装置からの「Ready」応答の受付時間差に基づいて選択することもできる。
【００８１】
（２）仮想ディスクの更新回数に応じた動作
上記の実施例で説明した実施形態により、性能が高い側のストレージ装置の性能を十分に活かしたデータ処理を実現しつつ、ホスト１００からのライトＩ／Ｏに対する応答性能を向上させることができる。
【００８２】
しかしながら、ホスト１００からライトＩ／Ｏが頻出され、ライトＩ／Ｏを受けるたびに仮想ディスクの更新を行う場合には、仮想化ＦＣスイッチ２００において仮想ディスク間のデータコピー動作による処理負荷が増大することとなる。また、仮想化ＦＣスイッチとストレージ装置間をマルチプロトコルルータ経由で接続する場合には、ホスト１００と仮想化ＦＣスイッチ２００との間で、仮想ディスク間のデータコピーに伴うやり取りされるデータのやり取りが増大し、通信のトラフィックへの負荷となる。
【００８３】
そこで、ビット設定部２４２が有するビットマップにビットの更新回数をあわせて記録しておき、ビットマップを操作する場合に、更新頻度の多いビットについては毎回走査しないようにする。このようにすることで、仮想化ＦＣスイッチ２００において仮想ディスク間のデータコピー動作による処理負荷が低減することができる。
【００８４】
（３）装置構成等
図２あるいは図６に示した仮想化ＦＣスイッチ２００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、仮想化ＦＣスイッチ２００の分散・統合の具体的形態は図示のものに限られず、例えば、図２に示すビット設定部２４２とコピー制御部２４３とを機能的あるいは物理的に統合する。あるいは、図６に示す書き込み制御部２４１とモード切替制御部２４４とを機能的あるいは物理的に統合する。
【００８５】
このように、仮想化ＦＣスイッチ２００の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、仮想化ＦＣスイッチ２００にて行なわれる各処理機能（図２、図４等参照）は、その全部または任意の一部が、例えば、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８７】
（付記１）第１の仮想記憶部から第２の仮想記憶部にデータをコピーするコピーセッション期間内に、上位装置からの書き込み命令がある場合に、入出力性能が高いか想起億部に対してだけ前記書き込み命令を実行する第１の書き込み処理部と、
前記第１の書き込み処理部によって書き込み命令が実行された仮想記憶部の書き込み位置を記憶する書き込み位置記憶部と、
前記第１の書き込み処理部による書き込み処理が終了した後に、前記書き込み位置記憶部に記憶された書き込み位置から決定される前記仮想記憶部のデータを、前記書き込み命令が未だ実行されていない一方の仮想記憶部に対して書き込む第２の書き込み処理部と
を有することを特徴とするデータ中継装置。
【００８８】
（付記２）前記第１の書き込み処理部は、コピー元である第１の仮想記憶部の入出力性能がコピー先である第２の仮想記憶部の入出力性能よりも高い場合には、前記コピーの処理と並行して、当該第１の仮想記憶部に対してだけ前記書き込み命令を実行し、
前記書き込み位置記憶部は、前記第１の書き込み処理部によって書き込み命令が実行された前記第１の仮想記憶部の書き込み位置を記憶し、
前記第２の書き込み処理部は、前記第１の書き込み処理部による書き込み処理が終了した後に、前記書き込み位置記憶部に記憶された書き込み位置から決定される前記第１の仮想記憶部のデータを、前記第２の仮想記憶部に対して書き込むことを特徴とする付記１に記載のデータ中継装置。
【００８９】
（付記３）上位装置からの書き込み命令を第１の仮想記憶部から第２の仮想記憶部に転送し、転送した書き込み命令に対して、前記第１および第２の仮想記憶部から受け付けた応答の受付時間差を算出し、算出された受付時間差から前記第１の仮想記憶部と前記第２の仮想記憶部との間の入出力性能差を判定する性能判定部と、
前記性能判定部による入出力性能差の判定結果に応じて、上位装置からの書き込み命令を前記第１または第２の仮想記憶部のいずれか一方にだけ実行する非同期書き込みモード、あるいは上位装置からの書き込み命令を前記第１および第２の仮想記憶部の双方に実行する同期書き込みモードのいずれか一方を設定するモード設定部と
をさらに有し、
前記第１の書き込み処理部は、前記モード設定部により設定されたモードに従って、上位装置からの書き込み命令を実行することを特徴とする付記１に記載のデータ中継装置。
【００９０】
（付記４）前記書き込み位置記憶部は、前記書き込み位置の更新回数を記録する更新回数記録部をさらに有し、
前記第１の書き込み処理部は、前記書き込み位置記憶部に記憶されている更新回数に基づいて、前記書き込み位置記憶部に記憶された書き込み位置から決定される前記仮想記憶部のデータを、前記書き込み命令が未だ実行されていない一方の仮想記憶部に対して書き込むか否かを決定することを特徴とする付記１に記載のデータ中継装置。
【００９１】
（付記５）前記第１の書き込み処理部は、コピー元である第１の仮想記憶部の入出力性能がコピー先である第２の仮想記憶部の入出力性能よりも低い場合には、前記コピーの処理と並行して、前記第１および第２の仮想記憶部に対して前記書き込み命令を実行し、さらに、前記コピーの処理が完了した後は、前記第２の仮想記憶部に対してだけ前記書き込み命令を実行し、
前記書き込み位置記憶部は、前記コピーの処理が完了した後に前記第１の書き込み処理部によって書き込み命令が実行された前記第２の仮想記憶部の書き込み位置を記憶し、
前記第２の書き込み処理部は、前記第１の書き込み処理部による書き込み処理が終了した後に、前記書き込み位置記憶部に記憶された書き込み位置から決定される前記第２の仮想記憶部のデータを、前記第１の仮想記憶部に対して書き込むことを特徴とする付記１に記載のデータ中継装置。
【００９２】
（付記６）前記コピーの処理が完了した後に上位装置からの読み出し命令があった場合には、前記第２の仮想記憶部に対して読み出し命令を実行する読み出し処理部をさらに有することを特徴とする付記５に記載のデータ中継装置。
【００９３】
（付記７）第１のストレージ装置と、
第２のストレージ装置と、
前記第１および／または第２のストレージ装置とのデータのやり取りが可能な状態に接続され、前記第１および／または第２のストレージ装置から作成される仮想記憶部に対して、上位装置からの書き込み命令または読み出し命令を実行するデータ中継装置と
を有し、
前記データ中継装置は、
第１の仮想記憶部から第２の仮想記憶部にデータをコピーするコピーセッション期間内に、上位装置からの書き込み命令がある場合に、入出力性能が高いか想起億部に対してだけ前記書き込み命令を実行する第１の書き込み処理部と、
前記第１の書き込み処理部によって書き込み命令が実行された仮想記憶部の書き込み位置を記憶する書き込み位置記憶部と、
前記第１の書き込み処理部による書き込み処理が終了した後に、前記書き込み位置記憶部に記憶された書き込み位置から決定される前記仮想記憶部のデータを、前記書き込み命令が未だ実行されていない一方の仮想記憶部に対して書き込む第２の書き込み処理部と
を有することを特徴とするストレージシステム。
【符号の説明】
【００９４】
２００  仮想化ＦＣスイッチ
２１０  入出力制御部
２２０，２３０  ＶＴ
２４０  制御部
２４１  書き込み制御部
２４２  ビット設定部
２４３  コピー制御部
２４４  モード切替制御部
２５０  ミラーディスク
２６０，２７０  仮想ディスク
３００，４００  ストレージ装置
【図１】
0005594354.tif 000002
【図２】
0005594354.tif 000003
【図３】
0005594354.tif 000004
【図４】
0005594354.tif 000005
【図５】
0005594354.tif 000006
【図６】
0005594354.tif 000007
【図７】
0005594354.tif 000008
【図８】
0005594354.tif 000009
【図９】
0005594354.tif 000010
【図１０】
0005594354.tif 000011
【図１１】
0005594354.tif 000012
【図１２】
0005594354.tif 000013
【図１３】
0005594354.tif 000014