(57)【要約】【課題】  書込み順序を保証するために用いるバッファを、複数のコピーペアで共有している際にも、動作を継続すること【解決手段】  本発明の制御装置は、ホスト計算機と接続された複製元の記憶装置のデータを複製先の記憶装置にデータを複製するシステムを制御する制御装置であって、書込み順序保証を行う複製元のボリュームと複製先のボリュームとのコピーペアと、当該コピーペアにおけるレプリケーション処理の状態と、を含む情報を記憶する記憶部と、データ複製時に複数の前記コピーペアで共有して使用するバッファと、前記バッファの使用量が閾値以上である場合、前記バッファを共有している複数の前記コピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止する制御部と、を備えることを特徴とする。【選択図】      図１
2018163521.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と接続された複製元の記憶装置のデータを複製先の記憶装置にデータを複製するシステムを制御する制御装置であって、
書込み順序保証を行う複製元のボリュームと複製先のボリュームとのコピーペアと、当該コピーペアにおけるレプリケーション処理の状態と、を含む情報を記憶する記憶部と、
データ複製時に複数の前記コピーペアで共有して使用するバッファと、
前記バッファの使用量が閾値以上である場合、前記バッファを共有している複数の前記コピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止する制御部と、
を備える制御装置。
【請求項２】
前記制御部は、レプリケーション処理を停止した前記コピーペアのデータを、前記バッファから削除する
請求項１に記載の制御装置。
【請求項３】
前記制御部は、前記コピーペアの転送速度に基づいてレプリケーション処理を停止するコピーペアを決定する
請求項１に記載の制御装置。
【請求項４】
前記コピーペアごとの前記バッファの使用量に基づいてレプリケーション処理を停止するコピーペアを決定する
請求項３に記載の制御装置。
【請求項５】
複数の前記コピーペアを含む書込み順序保証を行うグループごとに、前記レプリケーション処理を停止する
請求項１に記載の制御装置。
【請求項６】
ホスト計算機と接続された複製元の記憶装置のデータを複製先の記憶装置にデータを複製するシステムを制御する制御方法であって、
書込み順序保証を行う複製元のボリュームと複製先のボリュームとのコピーペアで共有して使用するバッファの使用量が閾値以上である場合、前記バッファを共有している複数の前記コピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止するステップ
を備える制御方法。
【請求項７】
ホスト計算機と接続された複製元の記憶装置と、
前記複製元の記憶装置のデータを複製する複製先の記憶装置と、
を備えたシステムであって
前記複製元の記憶装置は、
書込み順序保証を行う複製元のボリュームと複製先のボリュームとのコピーペアと、当該コピーペアにおけるレプリケーション処理の状態と、を含む情報を記憶する記憶部と、
データ複製時に複数の前記コピーペアで共有して使用するバッファと、
前記バッファの使用量が閾値以上である場合、前記バッファを共有している複数の前記コピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止する制御部と、
を備えるレプリケーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、及びレプリケーションシステムに関する。
【背景技術】
【０００２】
複数の記憶装置間の書込み順序を保証しつつ、非同期でレプリケーションを作成する技術として、書込み順序保証用のメモリを利用する技術がある。
【０００３】
例えば、特許文献１は、論理ディスクのグループ毎に複数の格納バッファを有し、書込み要求に同期してキャッシュに書き込まれた更新データを、順にパッキングするようにバッファにコピーし、バッファに複数の更新データがパッキングされた段階でバッファのパッキングデータをセカンダリサイトのディスクアレイ装置に転送することを開示している。
【０００４】
特許文献２は、正ディスク装置及び副ディスク装置のコピーペアにおけるサイドファイルの使用率、システムのキャッシュファイルの使用率、システムへの平均書込み量等の情報を収集し、１又は複数のコピーペアから成るグループ間の優先度の設定を行い、当該優先度に従って、ディスク記憶装置間のデータ反映速度を変更することを開示している。
【０００５】
特許文献３は、直列に接続された少なくとも三つの記憶サブシステムのバッファの使用量を監視し、所定の閾値を超えた場合、上位の記憶サブシステムの書込み処理を制限することを開示している。
【０００６】
特許文献４は、第１の記憶装置から第２の記憶装置にデータを転送するリモートコピーシステムにおいて、サイドファイルへ滞留するデータ量が第２の閾値を超えた場合、ログデータ以外の論理ボリュームのグループのデータ転送を中断することを開示している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１６７６８４号公報
【特許文献２】特開２００７−１４０６５１号公報
【特許文献３】特開２００７−０１８２３６号公報
【特許文献４】特開２００６−１３４２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献２は、グループごとにサイドファイルの使用率等によって、ディスク記憶装置間の優先度を変更することを開示しているが、処理しきれない書込み要求が発生した場合に、キャッシュやサイドファイルのオーバーフローが発生し、すべてのレプリケーション処理が停止してしまう可能性がある。
【０００９】
また、特許文献１は、論理グループごとにバッファを有し、書込み要求のデータをパッキングして転送することを開示しているだけであって、キャッシュやバッファの状態に関しては考慮されていない。
【００１０】
特許文献３及び特許文献４は、バッファやサイドファイルの使用量を監視し、閾値を超えた場合に、書込み処理の制限やログデータ以外のデータ転送を停止することを開示しているが、複数の書込み順序を保証するグループでバッファやサイドファイルを共有する場合における制御については開示されていない。
【００１１】
そこで、本発明は、複数の書込み順序を保証するために用いるバッファを、複数のコピーペアで共有している際にも、レプリケーション処理全てを停止させることなく継続して動作できる制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明における制御装置は、ホスト計算機と接続された複製元の記憶装置のデータを複製先の記憶装置にデータを複製するシステムを制御する制御装置であって、書込み順序保証を行う複製元のボリュームと複製先のボリュームとのコピーペアと、当該コピーペアにおけるレプリケーション処理の状態と、を含む情報を記憶する記憶部と、データ複製時に複数の前記コピーペアで共有して使用するバッファと、前記バッファの使用量が閾値以上である場合、前記バッファを共有している複数の前記コピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止する制御部と、を備える。
【００１３】
本発明における制御方法は、ホスト計算機と接続された複製元の記憶装置のデータを複製先の記憶装置にデータを複製するシステムを制御する制御方法であって、書込み順序保証を行う複製元のボリュームと複製先のボリュームとのコピーペアで共有して使用するバッファの使用量が閾値以上である場合、前記バッファを共有している複数の前記コピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止するステップを備える。
【００１４】
本発明におけるレプリケーションシステムは、ホスト計算機と接続された複製元の記憶装置と、前記複製元の記憶装置のデータを複製する複製先の記憶装置と、を備えたシステムであって、前記複製元の記憶装置は、書込み順序保証を行う複製元のボリュームと複製先のボリュームとのコピーペアと、当該コピーペアにおけるレプリケーション処理の状態と、を含む情報を記憶する記憶部と、データ複製時に複数の前記コピーペアで共有して使用するバッファと、前記バッファの使用量が閾値以上である場合、前記バッファを共有している複数の前記コピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止する制御部と、を備える。
【発明の効果】
【００１５】
本発明の効果は、書込み順序を保証するために用いるバッファを、複数のコピーペアで共有している際にも、レプリケーション処理全てを停止させることなく継続して動作できることにある。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態における、構成を示すブロック図である。
【図２】本発明の第１の実施形態における、動作を示すフローチャートである。
【図３】本発明の第２の実施形態における、構成を示すブロック図である。
【図４】本発明の第２の実施形態における、ペア管理情報１０３１の一例を示す図である。
【図５】本発明の第２の実施形態における、グループ管理情報１０３２の一例を示す図である。
【図６】本発明の第２の実施形態における、閾値情報１０３３の一例を示す図である。
【図７】本発明の第２の実施形態における、バッファ管理情報１０３４の一例を示す図である。
【図８】本発明の第２の実施形態における、コピー性能情報１０３５の一例を示す図である。
【図９】本発明の第２の実施形態における、制御部１０２のハードウェア構成の一例を示すブロック図である。
【図１０】本発明の第２の実施形態における、ホスト計算機２から書込み要求が発生した時の動作を示すフローチャートである。
【図１１】本発明の第２の実施形態における、バッファ１０１の使用量を監視する動作を示すフローチャートである。
【図１２】本発明第２の実施形態における、バッファ１０１を削除する動作を示すフローチャートである
【図１３】本発明の第２の実施形態におけるバッファ削除通知を受信した時の動作を示すフローチャートである。
【図１４】本発明の第２の実施形態における変形例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
（第１の実施形態）
本発明の第１の実施形態について説明する。まず、本発明の第１の実施形態の構成について説明する。図１は、本発明の第１の実施形態における、構成を示すブロック図である。
【００１８】
図１を参照すると、レプリケーションシステム１０００は、複製元記憶装置１と、ホスト計算機２と、複製先記憶装置３と、を備える。
【００１９】
複製元記憶装置１は、制御装置１０及びボリューム１１を備える。複製元記憶装置１は、ホスト計算機２と接続する。
【００２０】
また、複製元記憶装置１は、ネットワーク４を介してボリューム３１を有する複製先記憶装置３と接続される。複製元記憶装置１とネットワーク４間、複製先記憶装置３とネットワーク４間は、例えばレプリケーションリンクで接続される。
【００２１】
制御装置１０は、ホスト計算機２から発行された書込み要求を受け付けて、ボリューム１１に記憶する。
【００２２】
ボリューム１１は、例えば、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）などの記憶媒体で構成される。ボリューム１１は、ＨＤＤなどの物理ディスク単位の物理ボリュームでもよいし、複数の物理ディスクを論理的に分割した論理ボリュームでもよい。ボリューム１１と、当該ボリューム１１のデータをコピーする複製先記憶装置３が有するボリューム３１と、でコピーペアを形成する。
【００２３】
制御装置１０は、バッファ１０１、制御部１０２、記憶部１０３を備える。制御装置１０は、複製元記憶装置１から複製先記憶装置３へのレプリケーション処理を制御する。レプリケーション処理を制御するとは、複製元記憶装置１のデータを複製先記憶装置３にコピー処理を実行している状態を示す「レプリケート」状態、複製元記憶装置１と複製先記憶装置３間のコピー処理を切り離した状態を示す「セパレート」状態、複製先記憶装置３から複製元記憶装置１へコピー処理を実行している状態を示す「リストア」状態となるように制御することを意味する。
【００２４】
また、レプリケーション処理を行うとは、複製元記憶装置１のデータを複製先記憶装置３にコピー処理を行い、「レプリケート」状態にすることを示し、レプリケーション処理を停止するとは、複製元記憶装置１のデータを複製先記憶装置３にコピーするコピー処理を停止し、「セパレート」状態にすることを意味する。
【００２５】
バッファ１０１は、ホスト計算機２から受け付けた書込み要求が、書込み順序保証を行うボリューム１１に対するデータであった場合、当該データを一時的に格納する格納領域である。すなわち、バッファ１０１は、書込み順序保証を行うために用いられる。また、バッファ１０１は、複数のコピーペアで共有される。バッファ１０１は、例えばメモリなどによって実現される。
【００２６】
制御部１０２は、バッファ１０１の使用量が閾値以上である場合、バッファ１０１を共有している複数のコピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止する。なお、制御部１０２はマイクロプロセッサやハードウェアプロセッサなどによって構成される。
【００２７】
例えば、制御部１０２は、バッファ１０１の使用量を監視し、記憶部１０３に記憶されたコピーペア情報１０３０１に基づいて、レプリケーション処理を停止するコピーペアを決定する。
【００２８】
記憶部１０３は、書込み順序保証を行うボリューム１１と複製先記憶装置３が有するボリューム３１のコピーペア情報１０３０１と、そのコピーペアにおけるレプリケーション状態情報１０３０２を記憶する。
【００２９】
コピーペア情報１０３０１は、複製元記憶装置１が有するボリューム１１と、複製先記憶装置３が有するボリューム３０１とのコピーペアである。また、コピーペア情報１０３０１は、書込み順序保証が必要な複数のコピーペアでグループであってもよい。
【００３０】
このコピーペア情報１０３０１に基づいて、制御装置１０は、複製元記憶装置１が有するボリューム１１のデータを複製先記憶装置３が有するボリューム３１にデータを複製する。
【００３１】
レプリケーション状態情報１０３０２は、コピーペア情報１０３０１におけるコピーペアそれぞれ対応するレプリケーションの状態を示す。例えば、レプリケーション情報１０３０２は、「レプリケート」、「セパレート」、「リストア」などの、ボリューム１１とボリューム３１間のコピー状態を意味する。
【００３２】
複製先記憶装置３は、複製元記憶装置１のバッファ１０１内のデータを受信し、ボリューム３１に格納する。ボリューム３１は、例えば、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）などの記憶媒体である。
【００３３】
次に、本発明の第１の実施形態における動作について説明する。図２は、本発明の第１の実施形態における、動作を示すフローチャートである。
【００３４】
まず、制御部１０２は、バッファ１０１の使用量を監視し、バッファ１０１の使用量が閾値以上か判断する（ステップＳ１００１）。例えば、閾値がバッファ１０１全体の容量の９０％であるとすると、制御部１０２は、バッファ１０１の使用量がバッファ１０１全体の容量の９０％を超えた場合、閾値以上であると判断する。
【００３５】
制御部１０２は、バッファ１０１の使用量が閾値以上でないと判断した場合（ステップＳ１００１：ＮＯ）、複製元記憶装置１と複製先記憶装置３間のレプリケーション処理が継続して行うことができると判断し、本動作を終了する。
【００３６】
制御部１０２は、バッファ１０１の使用量が閾値以上と判断した場合（ステップＳ１００１：ＹＥＳ）、バッファ１０１を共有している複数のコピーペアのうち、レプリケーション処理を停止させるコピーペアを決定する（ステップＳ１００２）。例えば、制御部１０２は、コピーペア情報１０３０１を参照して、レプリケーション処理を停止させるコピーペアを決定する。
【００３７】
制御部１０２は、ステップＳ１００２で決定したコピーペアにおけるレプリケーション処理を停止する（ステップＳ１００３）。そして本動作を終了する。
【００３８】
以上により、本発明の第１の実施形態における動作が終了する。
【００３９】
上記実施形態では、制御部１０２は、バッファ１０１の使用量が閾値以上と判断した場合、バッファ１０１を共有している複数のコピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止した後、動作を終了した例を示したがそれに限らない。ステップＳ１００１に戻り、制御部１０２は、再度バッファ１０１の使用量が閾値以上か判断して、バッファ１０１の使用量が閾値以下となるまで、複数のコピーペアのレプリケーション処理を停止させるように構成してもよい。
【００４０】
このように構成することで、制御部１０２がバッファ１０１の使用量が閾値以下になったか否かを確認するため、確実にバッファ１０１があふれることを防ぐことができる。
【００４１】
また、本動作を開始するタイミングとしては、制御部１０２がバッファ１０１を定期的にポーリングし、バッファ１０１の使用量に応じて行ってもよいし、バッファ１０１への書込み通知を検知したタイミングで本動作を行うようにしてもよい。
【００４２】
以上により、本発明の第１の実施形態における動作が終了する。
【００４３】
本発明の第１の実施形態は、書込み順序を保証するために用いるバッファ１０１を、複数のコピーペアで共有している際にも一部のコピーペアのレプリケーション処理を停止することでその他のコピーペアのレプリケーション処理を継続して動作できることにある。その理由は、バッファ１０１の使用量が閾値以上である場合、バッファ１０１を共有している複数のコピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止するためである。
【００４４】
制御部１０２は、バッファ１０１の使用量が多くなったことを検知し、バッファ１０１が溢れる前に、少なくとも一部のコピーペアについてレプリケーション処理を停止させるため、バッファ１０１へのデータの書き込みが抑制される。これにより、バッファ１０１が溢れるのを防ぎ、他のコピーペアはレプリケーション処理を継続することができる。
【００４５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
【００４６】
まず、本発明の第２の実施形態の構成について説明する。図３は、本発明の第２の実施形態における、構成を示すブロック図である。
【００４７】
図３を参照すると、レプリケーションシステム１０００は、複製元記憶装置１、ホスト計算機２、複製先記憶装置３−Ａ、複製先記憶装置３−Ｂ、ネットワーク４、管理コンソール５を備える。複製元記憶装置１、ホスト計算機２と及び管理コンソール５は例えば、稼働中のシステムであるプライマリサイトに設けられ、複製先記憶装置３−Ａ、複製先記憶装置３−Ｂは、プライマリサイトから離れた位置に設けられたリモートサイトＡ、リモートサイトＢに設けられる。なお、複製先記憶装置３−Ａ、複製先記憶装置３−Ｂを区別しない場合、複製先記憶装置３と表す。リモートサイトＡ、リモートサイトＢを区別しない場合、リモートサイトと表す。
【００４８】
レプリケーションシステム１０００は、プライマリサイトに設けられた複製元記憶装置１のデータを、リモートサイトに設けられた複製先記憶装置３にレプリケーションを行うシステムである。なお、本実施形態では、データの一貫性を保証するために、データの書き込み順序を保証しつつ、非同期でレプリケーションを行う場合について説明する。
【００４９】
複製元記憶装置１は、ホスト計算機２、管理コンソール５と接続する。また、複製元記憶装置１は、ネットワーク４を介して複製先記憶装置３と接続する。複製元記憶装置１は、複製元記憶装置１のデータを、ネットワーク４を介して複製先記憶装置３に転送することによりレプリケーションを行う。
【００５０】
複製元記憶装置１は、ホスト計算機２とＳＡＮ（Ｓｔｏｒａｇｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）によって接続する。また、複製元記憶装置１及び複製先記憶装置３は、それぞれデータの転送時に出入り口となるレプリケーションポートを有し、複製元記憶装置１とネットワーク４間、及び複製先記憶装置３とネットワーク４間は、レプリケーションリンクで接続される。レプリケーションリンクは、異なる記憶装置間、すなわち筐体間レプリケーションを行う際のデータ転送経路を提供する。
【００５１】
また、複製元記憶装置１と管理コンソール５は、ＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）で接続される。
【００５２】
続いて、プライマリサイトにおける構成を説明する。
【００５３】
ホスト計算機２は、ＳＡＮのネットワークを介して複製元記憶装置１を利用する装置である。具体的には、複製元記憶装置１に対して書込み要求や読取り要求を発行し、複製元記憶装置１から要求結果を受け取る。例えば、ホスト計算機２はユーザが利用する端末やＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｕｐｕｔｅｒ）、サーバ装置等である。
【００５４】
管理コンソール５は、レプリケーション設定部５１を有する。
レプリケーション設定部５１は、複製元記憶装置１に対して、レプリケーションに関する設定要求を発行し、要求結果を受信する。具体的には、レプリケーション設定部５１は、複製元記憶装置１に対して、書込み順序保証が必要な複数のコピーペアを、グループとして登録するための要求を発行する。さらに、レプリケーション設定部５１は、複製元記憶装置１が有するバッファ１０１の閾値を設定するための要求を発行する。すなわち、レプリケーション設定部５１は、レプリケーションに関する各種設定要求を発行する。
【００５５】
複製元記憶装置１は、制御装置１０とボリューム１１―１〜ボリューム１１−８を含んで構成される。複製元記憶装置１は、ホスト計算機２から発行された書込み要求や読取り要求を受け付けてデータの入出力を行うストレージ装置である。さらに、複製元記憶装置１は、管理コンソール５からのレプリケーションに関する設定要求を受け付けて設定を行う。
【００５６】
制御装置１０は、キャッシュ１００、バッファ１０１、制御部１０２、記憶部１０３を含んで構成される。
【００５７】
キャッシュ１００は、ホスト計算機２から発行された書込み要求のデータを格納する。また、キャッシュ１００は、ホスト計算機２にて頻繁に用いられるデータを格納する。
【００５８】
バッファ１０１は、ホスト計算機２から受け付けた書込み要求が、レプリケーション設定部５１によって設定された書込み順序保証を行うコピーペアに対するデータであった場合、キャッシュ１００から当該データをコピーして、一時的に格納する格納領域である。バッファ１０１は、ホスト計算機２から書込み順序保証を行うコピーペアに対する書込み要求が来た順番で前詰めにデータを格納する。そして、バッファ１０１のデータは、複製先記憶装置３へのデータ送信が完了した場合に、当該データは削除される。よって、バッファ１０１は、書込み順序保証を行うデータであって複製先記憶装置３に未送信のデータが、書込み要求を受け付けた順番に時系列で格納される。すなわち、バッファ１０１は、複数のコピーペアで共有して使用される。バッファ１０１は、例えばメモリなどによって実現される。
【００５９】
制御部１０２は、ホストＩ／Ｏ制御部１０２１、登録部１０２２、レプリケーション監視部１０２３、性能監視部１０２４、バッファ制御部１０２５を備える。
【００６０】
ホストＩ／Ｏ制御部１０２１は、ホスト計算機２から発行された書込み要求や読取り要求を受け付けて、キャッシュ１００にデータを格納する機能と、処理要求に対する処理結果をホスト計算機２に通知する機能を有する。
【００６１】
登録部１０２２は、管理コンソール５から発行された書込み順序保証が必要なコピーペアに関するグループ登録要求を受け付ける。例えば、登録部１０２２は、複製元記憶装置１のボリューム１１と、当該ボリューム１１のデータをコピーする複製先記憶装置３が有するボリューム３１のコピーペアに関する登録要求や、書込み順序保証が必要な１又は複数のコピーペアを含むグループに関する登録要求を受け付ける。そして、登録部１０２２は、グループ登録要求に基づいて、ボリューム１１とボリューム３１のコピーペア及びレプリケーションに関する情報を含むペア管理情報１０３１や、書込み順序保証が必要な１又は複数のコピーペアを含むグループに関するグループ管理情報１０３２を作成する。ペア管理情報１０３１及びグループ管理情報１０３２の詳細は後述する。
【００６２】
さらに、登録部１０２２は、バッファ１０１への閾値の設定要求を受け付けて、要求内容に基づいて、バッファ１０１の閾値に関する閾値情報１０３３を作成する。そして、登録部１０２２は、ペア管理情報１０３１、グループ管理情報１０３２及び閾値情報１０３３が作成された後に設定要求に対する結果を管理コンソール５に送信する。
【００６３】
レプリケーション管理部１０２３は、ペア管理情報１０３１を参照し、ホストＩ／Ｏ制御部１０２１がキャッシュ１００に書き込んだ書込み要求によるデータが、書込み順序保証が必要なコピーペアと対応するボリューム１１に対する書込み要求か確認する。レプリケーション管理部１０２３は、キャッシュ１００に書き込まれたデータが、書込み順序保証が必要なコピーペアと対応するボリューム１１へのデータである場合、バッファ１０１に書き込みデータをコピーする。そしてレプリケーション管理部１０２３は、バッファ制御部１０２５に書き込み通知を通知する。
【００６４】
また、レプリケーション管理部１０２３は、バッファ制御部１０２５から、後述するレプリケーション処理を停止する複製先記憶装置３やグループのバッファを削除した旨を示すバッファ削除通知を受信した場合、当該グループに対してレプリケーション処理を停止し、セパレート処理を実行する。そして、レプリケーション管理部１０２３は、当該グループのレプリケーション状態を更新する。
【００６５】
性能監視部１０２４は、複製元記憶装置１と複製先記憶装置３間のコピー性能を監視し、コピー性能情報１０３５を定期的に登録する。コピー性能情報１０３５とは例えば、転送レートなどが含まれる。
【００６６】
バッファ制御部１０２５は、レプリケーション管理部１０２３からバッファ１０１に対する書込み通知を受信した場合、バッファ１０１の使用量が閾値を超えているか否かを判断する。そして、バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上である場合、レプリケーション処理を停止する複製先記憶装置３や、グループを決定する。例えば、複製元記憶装置１と複製先記憶装置３間のコピー性能情報１０３５に基づき、バッファ制御部１０２５は、レプリケーション処理を停止する複製元記憶装置３やグループを決定する。
【００６７】
また、バッファ制御部１０２５は、バッファ１０１に記憶されたデータの情報を示すバッファ管理情報１０３４から、当該レプリケーション処理を停止する複製元記憶装置３やグループのレコードを削除する。そしてバッファ制御部１０２５は、レプリケーション管理部１０２３にレプリケーション処理を停止するグループのバッファが削除された旨を示すバッファ削除通知を通知する。
【００６８】
送信部１０２６は、書込みが行われた順序を維持した形でバッファ１０１からデータを読み出し、複製先記憶装置３にデータを送信する。具体的なデータの送受信方法に関しては例えば、「特開２００３−１６７６８４」に開示されているため、詳細は省略する。送信部１０２６は、複製先記憶装置３にバッファ１０１のデータを送信した後、当該データをバッファ１０１から削除する。
【００６９】
記憶部１０３は、レプリケーションを行う際に用いる各種データを記憶する記憶媒体である。例えば、メモリや、ＨＤＤやＳＳＤ等で構成される。記憶部１０３は、ペア管理情報１０３１と、グループ管理情報１０３２、閾値情報１０３３、バッファ管理情報１０３４、コピー性能情報１０３５を含む。
【００７０】
ペア管理情報１０３１は、ボリューム１１ごとのコピーペアに関する情報やレプリケーションに関する情報である。ペア管理情報１０３１は、レプリケーション設定部５１のグループ登録要求に基づいて、登録部１０２２によって登録される。また、ペア管理情報１０３１は、レプリケーション管理部１０２３によって更新される。
【００７１】
ペア管理情報１０３１は、ボリューム１１ごとに、書込み順序保証が必要か否かの情報や、ボリューム１１と対応するボリューム３１のコピーペアの情報や、レプリケーション処理の状態や、ボリューム１１の属するグループの情報を含む。
【００７２】
図４は、本発明の第２の実施形態における、ペア管理情報１０３１の一例を示す図である。ペア管理情報１０３１は、例えば、ＩＤ１０３１０、複製元ボリューム名１０３１１、複製元記憶装置名１０３１２、複製先ボリューム名１０３１３、複製先記憶装置名１０３１４、ペア状態１０３１５、ペア種別１０３１６、書込み順序保証有無フラグ１０３１７、複製元グループ名１０３１８、複製元グループ名１０３１８、複製先グループ名１０３１９を含むテーブルである。
【００７３】
ＩＤ１０３１０は、主キーであって、テーブル内のレコードを識別するためのフィールドである。
【００７４】
複製元ボリューム１０３１１は、複製元記憶装置１が有するボリューム１１のボリュームを特定する識別子である。
【００７５】
複製元記憶装置名１０３１２は、複製元のボリューム１１が属する記憶装置を特定する識別子である。
【００７６】
複製先ボリューム名１０３１３は、複製先記憶装置３が有するボリューム３１を特定する識別子である。
【００７７】
複製先記憶装置名１０３１４は、複製先のボリューム３１が属する記憶装置を特定する識別子である。
【００７８】
ペア状態１０３１５は、レプリケーションを行う複製元のボリューム１１と複製先のボリューム３１の状態を表す。複製元のボリューム１１から複製先ボリューム３１へコピー中の状態を意味する「レプリケート」、複製元のボリューム１１と複製先のボリューム３１間のコピー動作を切り離した状態を意味する「セパレート」、複製先ボリューム１１から複製元のボリューム３１へのコピー中の状態を意味する「リストア」などの状態値である。
【００７９】
ペア種別１０３１６は、コピーペアとなる複製元のボリューム１１と複製先のボリューム３１が同一の記憶装置内にあるか、あるいは異なる記憶装置間であるかを示す。すなわち、ペア種別１０３１６は、筐体内ペアであるか、筐体間ペアであるかを示す情報である。ペア種別１０３１６は、筐体内ペアの場合は「ローカル」、筐体間ペアの場合は「リモート」の値を持つ。
【００８０】
書き込み順序保証有無フラグ１０３１７は、複数のコピーペア間で書き込み順序保証が必要かどうかを表すフラグである。書込み順序保証が必要な場合、書込み順序保証有無フラグ１０３１７は、「ＹＥＳ」、書込み順序保証が不要の場合、書込み順序保証有無フラグ１０３１７は、「ＮＯ」の値を持つ。
【００８１】
複製元グループ名１０３１８は、複数のボリューム１１間の書き込み順序保証が必要な場合に、複数のボリューム１１を束ねたグループを複製元記憶装置１で特定する識別子である。複数のボリューム１１間の書き込み順序保証が不要な場合は、「−」の値を持つ。
【００８２】
複製先グループ名１０３１９は、複数のボリューム３１間の書き込み順序保証が必要な場合に、複数のボリューム３１を束ねたグループを複製先記憶装置３で特定する識別子である。複数のボリューム３１間の書き込み順序保証が不要な場合は、「−」の値を持つ。
【００８３】
例えば、図４を参照すると、ＩＤ１０３１０が「１」のレコードは、複製元記憶装置１に属するボリューム１１「ＭＶ１」は、複製先記憶装置３−Ａに属するボリューム３１「ＲＶ１」とコピーペアを形成することを示す。このコピーペアのペア状態は、「レプリケート」であり、複製元のボリューム１１「ＭＶ１」から複製先ボリューム３１「ＲＶ１」へコピー中の状態を意味する。ＩＤ１０３１０が「２」「３」のレコードも同様に、複製元記憶装置１に属するボリューム１１「ＭＶ２」「ＭＶ３」は、複製先記憶装置３−Ａに属するボリューム３１「ＲＶ２」「ＲＶ３」へコピー処理中の「レプリケート」状態を意味している。
【００８４】
さらに、ＩＤ「１」「２」「３」の書込み順序保証有無フラグ１０３１７は「ＹＥＳ」となっているため、ボリューム１１「ＭＶ１」「ＭＶ２」「ＭＶ３」に対する書込み要求は書込み順序保証が必要なボリュームである。また、ＩＤ１０３１０「１」「２」「３」の複製元グループ名１０３１８は、「グループ１」を示しており、ボリューム１１「ＭＶ１」「ＭＶ２」「ＭＶ３」間で書込み順序保証が必要であることを示している。また、ＩＤ「１」「２」「３」の複製先グループ名１０３１９は「グループ１‘」を示しており、ボリューム３１「ＲＶ１」「ＲＶ２」「ＲＶ３」間で書込み順序保証が必要であることを示している。
【００８５】
グループ管理情報１０３２は、複数のコピーペアで書込み順序保証が必要となるグループに関する情報である。グループ管理情報１０３２は、レプリケーション設定部５１からの設定要求に基づいて、登録部１０２２により登録される。また、グループ管理情報１０３２は、レプリケーション管理部１０２３によって更新される。
【００８６】
実施形態１におけるコピーペア情報１０３０１やレプリケーション状態情報１０３０２は、例えばペア管理情報１０３１やグループ管理情報１０３２に該当する。
【００８７】
図５は、本発明の第２の実施形態における、グループ管理情報１０３２の一例を示す図である。グループ管理情報１０３２は、例えば、ＩＤ１０３２０、複製元グループ名１０３２１、ペア数１０３２３、複製先グループ名１０３２４、レプリケーション状態１０３２５を含むテーブルである。
【００８８】
ＩＤ１０３２０は、主キーであって、テーブル内のレコードを識別するためのフィールドである。
【００８９】
複製元グループ名１０３２１は、複数のボリューム１１を束ねたグループを複製元記憶装置１で特定する識別子である。
【００９０】
ペア数１０３２２は、グループに含まれるコピーペアの数を表す。
【００９１】
複製先記憶装置名１０３２３は、複製先記憶装置を特定する識別子である。
【００９２】
複製先グループ名１０３２４は、複数のボリューム３１を束ねたグループを複製先記憶装置で特定する識別子である。
【００９３】
レプリケーション状態１０３２５は、複製元グループ名１０３２１と複製先グループ名１０３２４間のレプリケーション状態を表す。レプリケーション状態１０３２５は、グループ内の全コピーペアに対して、複製元のボリューム１１から複製先のボリューム３１へコピー処理中の状態を意味する「レプリケート」、グループ内の全コピーペアに対して、複製元のボリューム１１と複製先のボリューム３１間のコピー処理を切り離した状態を意味する「セパレート」、グループ内の全コピーペアに対して、複製先のボリューム３１から複製元のボリューム１１へのコピー処理の状態を意味する「リストア」などの状態値を持つ。
【００９４】
例えば、図５を参照すると、ＩＤ１０３２０が「１」のレコードは、複製元グループ名１０３２１の「グループ１」内には３つのコピーペアが存在し、複製先グループ名１０３２４は「グループ１’」であり、当該グループはレプリケート状態であることが分かる。
【００９５】
閾値情報１０３３は、バッファ１０１の使用量の閾値に関する情報である。閾値情報１０３３は、レプリケーション設定部５１の設定要求に基づいて、登録部１０２２が登録する。
【００９６】
図６は、本発明の第２の実施形態における、閾値情報１０３３の一例を示す図である。
【００９７】
閾値情報１０３３は、閾値１０３３０を含む。閾値１０３３０は、レプリケーション処理を停止させる制御を行うタイミングを示す値である。例えば閾値１０３３０は、バッファ１０１全体の容量の内の使用量の割合を示す。例えば、図６を参照すると、バッファ１０１の使用量が９０％を超えた場合、レプリケーション処理を停止させる処理を開始する。図６ではバッファ１０１の全体の容量の内の使用量の割合を示しているが、バッファ１０１の使用容量であってもよい。
【００９８】
バッファ管理情報１０３４は、バッファ１０１に記憶されている、書込み順序保証を行うデータであって、複製先記憶装置３に未送信のデータに関する情報である。
【００９９】
図７は、本発明の第２の実施形態における、バッファ管理情報１０３４の一例を示す図である。バッファ管理情報１０３４は、ＩＤ１０３４０、複製元グループ名１０３４１、複製元ボリューム名１０３４２、サイズ１０３４３、オフセットアドレス１０３４４、複製先記憶装置名１０３４５、複製先グループ名１０３４６、複製先ボリューム名１０３４７を含むテーブルである。
【０１００】
ＩＤ１０３４０は主キーであって、テーブル内のレコードを識別するためのフィールドである。
【０１０１】
複製元グループ名１０３４１は、複数のボリューム１１を束ねたグループを複製元記憶装置で特定する識別子である。
【０１０２】
複製元ボリューム名１０３４２は、複製元のボリューム１１を特定する識別子である。
【０１０３】
サイズ１０３４３は、書込み要求のデータサイズである。
【０１０４】
オフセットアドレス１０３４４は、バッファ１０１の先頭アドレスから、当該書込み要求のデータの先頭アドレスへのオフセットである。
【０１０５】
複製先記憶装置名１０３４５は、複製先記憶装置３を特定する識別子である。
【０１０６】
複製先グループ名１０３４６は、複製先の複数のボリューム３１を束ねたグループを複製先記憶装置で一意に特定する識別子である。
【０１０７】
複製先ボリューム名１０３４７は、複製先のボリューム３１を特定する識別子である。
【０１０８】
図７を参照すると、ＩＤ１０３４０「１」において、複製元グループである「グループ１」のボリューム１１「ＭＶ１」に対する、６４ＫＢの書込み要求データが存在し、バッファ１０１のオフセットアドレス「０ｘ００００００００」（つまり先頭アドレス）から「６４ＫＢ」分に格納されており、複製先記憶装置３−Ａ上の「グループ１’」に属する複製先のボリューム３１「ＲＶ１」へコピーするデータであることが分かる。
【０１０９】
コピー性能情報１０３３は、複製元記憶装置１と複製先記憶装置３との間のコピー性能を示す情報である。
【０１１０】
図８は、本発明の第２の実施形態における、コピー性能情報１０３５の一例を示す図である。コピー性能情報１０３５は、ＩＤ１０３５０、複製元記憶装置名１０３５１、複製先記憶装置名１０３５２、平均転送レート１０３５３を含むテーブルである。
【０１１１】
ＩＤ１０３５０は主キーであって、テーブル内のレコードを識別するためのフィールドである。
【０１１２】
複製元記憶装置名１０３５１は、複製元記憶装置１を特定する識別子である。
【０１１３】
複製先記憶装置名１０３５１２は、複製先記憶装置３を特定する識別子である。
【０１１４】
平均転送レート１０３５３は、複製元記憶装置１と複製先記憶装置３間のコピー性能を表す情報であり、１秒当たりの平均転送レート（スループット）の値である。
【０１１５】
図８を参照すると、複製元記憶装置１と複製先記憶装置３−Ａとの間では平均転送レート１０３５３として、２５．５（ＭＢ／ｓ）のコピー性能が得られていることが分かる。
【０１１６】
ボリューム１１は、ボリューム１１−１〜ボリューム１１−８を備える。
【０１１７】
ボリューム１１は、例えば、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）などの記憶媒体で構成される。ボリューム１１は、ＨＤＤなどの物理ディスク単位の物理ボリュームでもよいし、複数の物理ディスクを論理的に分割した論理ボリュームでもよい。
【０１１８】
また、ボリューム１１は、ペア管理情報１０３１に基づいて書込み順序保証を行う複数のグループを構成している。例えば、図３はボリューム１１―１〜ボリューム１１−３はグループ１を構成し、ボリューム１１―４、ボリューム１１−５はグループ２を構成し、ボリューム１１−６〜ボリューム１１−８はグループ３を構成している。
【０１１９】
以上で、プライマリサイトに設けられた複製元記憶装置１、ホスト計算機２、管理コンソール５の構成について説明した。
【０１２０】
次にリモートサイトにおける構成を説明する。
【０１２１】
リモートサイトＡには複製先記憶装置３−Ａが設けられ、リモートサイトＢには複製先記憶装置３−Ｂが設けられている。複製元記憶装置３−Ａ及び複製先記憶装置３−Ｂは、それぞれネットワーク４を介して複製元記憶装置１と接続する。
【０１２２】
複製元記憶装置３−Ａは、複製元記憶装置３−Ａを制御する制御装置３０−Ａとボリューム３１−Ａを備える。
【０１２３】
制御装置３０ーＡは、受信部３０１ーＡ、バッファ３０２ーＡ、キャッシュ３０３ーＡを備える。
【０１２４】
受信部３０１ーＡは、送信部１０２６から受信したデータをバッファ３０２ーＡにコピーする。そして、コピーが完了すると、受信部３０１ーＡは、コピー完了通知を送信部１０２６に通知する。
【０１２５】
また、受信部３０１ーＡは、バッファ３０２ーＡ上のデータをキャッシュ３０３ーＡにコピーする。そして、受信部３０１ーＡは当該データに対応するボリューム３１に書き込む。
【０１２６】
バッファ３０２ーＡは、受信部３０１ーＡが受信したデータを格納する格納領域である。例えばメモリなどによって実現される。
【０１２７】
キャッシュ３０３ーＡは、バッファ３０２ーＡのデータを格納する格納領域である。例えばメモリなどによって実現される。
【０１２８】
なお、具体的なデータの送受信方法に関しては、例えば特開２００３−１６７６８４に詳細が記載されているため、ここでは説明は省略する。
【０１２９】
ボリューム３１ーＡは、ボリューム３１−１〜３１−５を備える。
【０１３０】
ボリューム３１−Ａは、例えば、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）などの記憶媒体で構成される。ボリューム３１―Ａは、ＨＤＤなどの物理ディスク単位の物理ボリュームでもよいし、複数の物理ディスクを論理的に分割した論理ボリュームでもよい。
【０１３１】
また、ボリューム３１−Ａは、ペア管理情報１０３１に基づいて書込み順序保証を行う複数のグループを構成している。例えば、図３はボリューム３１―１〜ボリューム３１−３はグループ１‘を構成し、ボリューム３１―４及びボリューム３１−５はグループ２’を構成している。
【０１３２】
複製先記憶装置３−Ｂは、複製元記憶装置３−Ｂを制御する制御装置３０−Ｂとボリューム３１−Ｂを備える。制御装置３０−Ｂに関しては制御装置３０−Ａと同様であるため、説明は省略する。
【０１３３】
ボリューム３１−Ｂは、ボリューム３１−６〜３１−８を備える。
【０１３４】
また、ボリューム３１−Ｂは、ボリューム３１−Ａと同様に、ペア管理情報１０３１に基づいて、書込み順序保証を行うグループを構成している。例えば、図３はボリューム３１―６〜ボリューム３１−８はグループ３’を構成している。
【０１３５】
以上で、本発明の第２の実施形態における構成を説明した。
【０１３６】
図９は、本発明の第２の実施形態における、制御部１０２のハードウェア構成の一例を示すブロック図である。
【０１３７】
制御部１０２は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）６１、メモリ６２、補助記憶装置６３を含み、各構成要素は、互いにバス６７によって接続される。
【０１３８】
ＣＰＵ６１は、制御部１０２を制御するプログラムを実行する中央演算処理装置である。ＣＰＵ６１は、補助記憶装置６３に格納されたプログラムに基づいて所定の処理を実行して、制御部１０２の動作を制御する。例えば、ＣＰＵ６１は、補助記憶装置６３に格納されたプログラムに基づいて、ホストＩ／Ｏ制御部１０２１、登録部１０２２、レプリケーション管理部１０３３、性能監視部１０２４、バッファ制御部１０２５、送信部１０２６の機能を実現する。
【０１３９】
メモリ６２は、プログラムが展開される主記憶装置である。
【０１４０】
補助記憶装置６３はホストＩ／Ｏ制御部１０２１、登録部１０２２、レプリケーション管理部１０３３、性能監視部１０２４、バッファ制御部１０２５、送信部１０２６の動作を制御するプログラムを格納する。
【０１４１】
本実施形態では、ＣＰＵ６１は、補助記憶装置６３に格納されたプログラムを読み出して実行するものとして説明したが、当該プログラムをＣＤＲＯＭ（Ｃｏｍｐａｃｔ Ｄｉｓｃ Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）等の記憶媒体に格納してＣＰＵ６１に提供することも可能である。
【０１４２】
なお、本発明の第２の実施形態における、受信部３０１−Ａ、３０１−Ｂのハードウェア構成については、制御部１０２と同様に構成すればよいため、詳細な説明は省略する。受信部３０１―Ａ、３０１−Ｂの機能は、上述の制御部１０２と同様に、ＣＰＵ６１が補助記憶装置６３に格納されたプログラムに基づいて所定の処理を実行することにより実現することができる。
【０１４３】
次に、本発明の第２の実施形態における動作について説明する。
【０１４４】
図１０は、本発明の第２の実施形態における、ホスト計算機２から書込み要求が発生した時の動作を示すフローチャートである。
【０１４５】
まず、ホスト計算機２は、複製元記憶装置１に対して、書き込み要求を発行する。そして、ホストＩ／Ｏ制御部１０２１は、ホスト計算機２から書込み要求を受信する（ステップＳ２００１）。
【０１４６】
ホストＩ／Ｏ制御手段１０２１は、書込み要求を受信すると、当該書込み要求のデータをキャッシュ１００に書き込む（ステップＳ２００２）。そして、ホストＩ／Ｏ制御部１０２１は、書込み要求が発生した旨をレプリケーション管理部１０２３に通知する。
【０１４７】
レプリケーション管理部１０２３は、キャッシュ１００に書き込まれたデータが書込み順序保証を行うボリューム１１に対する書込み要求であるか判断する（ステップＳ２００３）。
【０１４８】
例えば、レプリケーション管理部１０２３は、ペア管理情報１０３１を参照し、書込み要求の対象となるボリューム１１の書込み順序保証有無フラグ１０３１７が「ＹＥＳ」となっている場合、書込み順序保証を行うコピーペアに対応するボリューム１１に対する書込み要求であると判断する。
【０１４９】
レプリケーション管理部１０２３は、書込み順序保証を行うコピーペアに対応するボリューム１１に対する書込み要求でないと判断した場合（ステップＳ２００３：ＮＯ）、終了する。
【０１５０】
レプリケーション管理部１０２３は、書込み順序保証を行うコピーペアに対応するボリューム１１に対する書込み要求であると判断した場合（ステップＳ２００３：ＹＥＳ）、レプリケーション管理部１０２３は、キャッシュ１００に書き込んだデータをバッファ１０１に書き込む（ステップＳ２００４）。
【０１５１】
そして、レプリケーション管理部１０２３は、バッファ制御部１０２５に対して、レプリケーション管理部１０２３がバッファ１０１へデータを書込んだ旨を通知する（ステップＳ２００５）。そしてレプリケーション管理部１０２３は、ホストＩ／Ｏ制御部１０２１に対して、処理完了を通知する。
【０１５２】
ホストＩ／Ｏ制御部１０２１は、ホスト計算機２へ書込み要求の処理結果を通知する（ステップＳ２００６）。すなわち、ホストＩ／Ｏ制御部１０２１は、書込み要求の処理が完了した旨を、ホスト計算機２に通知する。
【０１５３】
以上により、本発明の第２の実施形態における、ホスト計算機２から書込み要求が発生した時の制御装置１０の動作が完了する。
【０１５４】
次に、バッファ１０１の使用量を監視する動作を説明する。
【０１５５】
図１１は、本発明の第２の実施形態における、バッファ１０１の使用量を監視する動作を示すフローチャートである。
【０１５６】
バッファ制御部１０２５は、レプリケーション管理部１０２３からステップＳ２００５に示すデータ書き込み通知を受信すると（ステップＳ３００１）、バッファ制御部１０２５は、閾値情報１０３３を取得する（ステップＳ３００２）。例えば、図３を参照すると、閾値１０３３０は９０％であることがわかる。
【０１５７】
バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上か否か判断する（ステップＳ３００３）。
【０１５８】
例えば、バッファ１０１の全体容量が１ＧＢであって、閾値１０３３０は９０％である場合、使用量の閾値は１ＧＢ×９０％＝０．９ＧＢとなる。バッファ制御部１０２５は、バッファ管理情報１０３４を取得し、最終レコードのオフセットアドレス１０３４４と最終レコードのサイズ１０３４３の値を合算した値と、０．９ＧＢのオフセットアドレスとを比較することによって、バッファ１０１の使用量が閾値０．９ＧＢ超えたか否かを判断すれば良い。バッファ管理情報１０３４の最終レコードのオフセットアドレス１０３４４と最終レコードのサイズ１０３４３の値を合算した値が、０．９ＧＢのオフセットアドレスよりも大きい場合、バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上である判断する。
【０１５９】
なお、バッファ１０１の全体容量に関しては、記憶装置起動時にグローバル変数や共有メモリ等を介して、制御部１０２から参照可能に構成されるようにしてもよい。
【０１６０】
バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上でないと判断した場合、（ステップＳ３００３：ＮＯ）、本動作を終了する。
【０１６１】
バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上であると判断した場合、バッファ制御部１０２５は、コピー性能情報１０３５を取得する。バッファ制御部１０２５は、コピー性能情報１０３５を参照し、最もコピー性能が低い複製先記憶装置３を選択する（ステップＳ３００４）。例えば、図８を参照すると、平均転送レート１０３５３は、複製先記憶装置３−Ａより複製先記憶装置３−Ｂが低いため、複製先記憶装置３−Ｂを最もコピー性能が低いと判断する。
【０１６２】
次に、バッファ制御部１０２５は、レプリケーション処理を停止させるグループがあるか否か判断する（ステップＳ３００５）。具体的には、バッファ制御部１０２５は、「レプリケート」状態のグループがあるか否か判断する。例えば、バッファ制御部１０２５は、グループ管理情報１０３２を参照し、複製先記憶装置名１０３２３がステップＳ３００４で確認したコピー性能が最も低い複製先記憶装置３であって、レプリケーション状態１０３２５が「レプリケート」となっているグループがあるか否か判断する。
【０１６３】
例えば、複製先記憶装置名１０３２３が「複製先記憶装置３−Ｂ」であって、レプリケーション状態１０３２５が「レプリケート」となっているグループがあるか確認する。図５を参照すると、複製元グループ名１０３２１「グループ３」「グループ４」が該当することがわかる。
【０１６４】
バッファ制御部１０２５は、レプリケーション処理を停止させるグループがない場合（ステップＳ３００５：ＮＯ）、ステップＳ３００７に進む。
【０１６５】
バッファ制御部１０２５は、次にコピー性能が低い複製先記憶装置３を選択する（ステップＳ３００７）。そして、ステップＳ３００５に戻る。
【０１６６】
バッファ制御部１０２５は、レプリケーション処理を停止させるグループがあると判断した場合、レプリケーション処理を停止させるグループに対してバッファ削除処理を行う（ステップＳ３００６）。ステップＳ３００６の詳細に関しては図１２及び図１３で説明する。バッファ削除処理が終了した後、ステップＳ３００３に戻り、バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上であるか判断し、バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上である場合（ステップＳ３００４：ＹＥＳ）、ステップＳ３００４に進み、動作を継続する。その際に、ステップＳ３００４において、バッファ制御部１０２５は、コピー性能が低い順番に、前回の動作時とは異なる複製先記憶装置３を選択するように構成する。
【０１６７】
バッファ制御部１０２５は、バッファ１０１の使用量が閾値以下である場合（ステップＳ３００３：ＮＯ）、本動作を終了する。
なお、本実施形態では、ステップＳ３００１にて、バッファ制御部１０２５が、レプリケーション管理部１０２３からステップＳ２００５に示すデータ書き込み通知を受信した場合に、動作を開始する例を説明したが、バッファ制御部１０２５が定期的にバッファ１０１をポーリングする形でも構わない。
【０１６８】
また、本実施形態では、ステップＳ３００５において、バッファ制御部１０２５は、レプリケーション処理を停止させるグループがない場合、本動作を終了してもよい。例えば、レプリケーション状態１０３２５が「レプリケート」となっているグループがない場合、動作を終了するように構成してもよい。また、バッファ制御部１０２５は、すべての複製先記憶装置３が選択された後であって、バッファ制御部１０２５がレプリケーション処理を停止するグループがないと判断した場合、本動作を終了するように構成してもよい。
【０１６９】
また、ステップＳ３００４及びステップＳ３００５では、コピー性能情報１０３５を参照し、一番コピー性能が低い複製先記憶装置３を確認して、コピー性能が低い複製先記憶装置３の中からレプリケーション処理を停止させるグループを選択したが、それに限られない。
【０１７０】
例えば、複製先記憶装置３ごと優先度を設定し、優先度が高いものに関しては、複製先記憶装置３へのコピー性能が低い場合であっても、バッファ制御部１０２５は、レプリケーション処理を停止させないようしてもよい。その場合は、優先度が低い複製先記憶装置３が、優先度が高い複製先記憶装置３よりもコピー性能が高い場合であっても、バッファ制御部１０２５は、優先度が低い複製先記憶装置３のレプリケーション処理を停止させるようにしてもよい。このように構成することにより、優先度の高い複製先記憶装置３に対するレプリケーション処理を継続することができる。
【０１７１】
また、グループごとに優先度を設定し、複製先記憶装置３内に複数のグループが存在する場合、バッファ制御部１０２５は、優先度の低いグループを、レプリケーション処理を停止するグループとして選択するようにしてもよい。
【０１７２】
このように構成することにより、複製先記憶装置３内に複数のグループが存在する場合にも、バッファ制御部１０２５は適切にレプリケーション処理を停止させるグループを選択することができる。
【０１７３】
さらに、ステップＳ３００５において、バッファ制御部１０２５は、グループ管理情報１０３２を参照し、複製先記憶装置名１０３２３がステップＳ３００４で確認したコピー性能が低い記憶装置であって、レプリケーション状態１０３２５が「レプリケート」となっているグループがあるか否か判断していたが、これに限られない。
【０１７４】
例えば、バッファ制御部１０２５は、グループ管理情報１０３２の中からレプリケーション状態１０３２５が「レプリケート」となっているグループの中からコピー性能が低いものを、レプリケーション処理を停止させるグループとして選択するようにしてもよい。
【０１７５】
このように構成することにより、現時点でレプリケートとなっているグループからレプリケーション処理を停止させるグループを選択するため、確実にバッファ１０１の使用量を減らすことができ、バッファ１０１が溢れるのを抑制することができる。
以上により、バッファ１０１の使用量を監視する動作が完了する。
【０１７６】
次に、ステップＳ３００６におけるバッファ削除処理の詳細について説明する。
【０１７７】
図１２及び図１３は、本発明の第２の実施形態における、バッファ削除処理を示すフローチャートである。
【０１７８】
図１２は、本発明第２の実施形態における、バッファ１０１を削除する動作を示すフローチャートである
バッファ制御部１０２５は、内部変数として持つバッファ削除通知フラグをＯＦＦに設定する（ステップＳ４００１）。バッファ削除通知フラグとは、例えばレプリケーション管理部１０２３にバッファ１０１が削除された旨を通知するためのフラグである。
【０１７９】
次に、バッファ制御部１０２５は、バッファ管理情報１０３４を参照して、ステップＳ３００５にて決定したレプリケーション処理を停止させるグループのレコードがあるか確認する（ステップＳ４００２）。例えば、レプリケーション処理を停止させるグループが、グループ３である場合、バッファ制御部１０２５は、複製元グループ名１０３４１が「グループ３」のレコードが存在するか確認する。
【０１８０】
図７を参照すると、ＩＤ１０３４０が「３」、「５」、「７」の各行に「グループ３」のレコードがあることが分かる。
【０１８１】
バッファ制御部１０２５は、ステップＳ３００５にて決定したレプリケーション処理を停止させるグループのレコードがない場合（ステップＳ４００２：ＮＯ）、削除するデータがないと判断して本動作を終了する。
【０１８２】
バッファ制御部１０２５は、ステップＳ３００５にて決定したレプリケーション処理を停止させるグループのレコードがある場合（ステップＳ４００２：ＹＥＳ）、バッファ１０１から当該レコードに対応するデータを削除する。例えば、バッファ制御部１０２５は、複製元グループ名１０３４１が「グループ３」となっているレコードに対応するデータを削除する例を説明する。バッファ制御部１０２５は、バッファ管理情報１０３４を参照し、ＩＤ１０３４０「３」のレコード情報からオフセットアドレス１０３４４「０ｘ０００００１４０」とサイズ１０３４３「１６ＫＢ」を取得し、バッファ１０１上の当該領域のデータを削除する。なお、削除したバッファ１０１の領域は後続するデータで前詰めされる。
【０１８３】
次に、バッファ制御部１０２５は、バッファ管理情報１０２５のレコードを削除すると共に、オフセットアドレス１０３４４を再計算して、バッファ管理情報１０２５を更新する（ステップＳ４００４）。
【０１８４】
そして、バッファ制御部１０２５は、バッファ削除通知フラグをＯＮに設定する（ステップＳ４００５）。その後、ステップＳ４００２に戻り、バッファ制御部１０２５は、バッファ管理情報１０２５から、レプリケーション処理を停止させるグループのレコードが無くなるまで上記の処理を繰り返す。
【０１８５】
バッファ制御部１０２５は、ステップＳ３００５にて決定したレプリケーション処理を停止させるグループのレコードがないと判断した場合（ステップＳ４００２：ＮＯ）、バッファ監視手段１４０は、バッファ削除通知フラグがＯＮかどうか確認する（ステップＳ４００６）
バッファ制御部１０２５は、バッファ削除フラグがＯＦＦであった場合、処理を終了する（ステップＳ４００６：ＮＯ）。
【０１８６】
バッファ制御部１０２５は、バッファ削除フラグがＯＮであった場合（ステップＳ４００６：ＹＥＳ）、レプリケーション管理部１０２３３にバッファ１０１のバッファ削除を通知する（ステップＳ４００７）。この時、バッファ１０１を削除したレプリケーション処理を停止するグループの情報を一緒に通知する。
【０１８７】
以上により、ステップＳ３００６のバッファ削除処理が完了する。
【０１８８】
次に、レプリケーション管理手段１３０がバッファ１０１のバッファ削除通知を受信した時の動作について説明する。
【０１８９】
図１３は、本発明の第２の実施形態におけるバッファ削除通知を受信した時の動作を示すフローチャートである。
【０１９０】
レプリケーション管理部１０２３は、バッファ制御部１０２５からバッファ１０１を削除した旨を示すバッファ削除通知及びバッファ１０１を削除したレプリケーション処理を停止するグループの情報を受信する（ステップＳ５００１）。
【０１９１】
レプリケーション管理部１０２３は、ペア管理情報１０３１を参照して、レプリケーション処理を停止するグループと複製元グループ名１０３１８とが一致するペア管理情報１０３１を取得する（ステップＳ５００２）。
【０１９２】
図４を参照すると、ＩＤ１０３１０「６」「７」「８」の３つのペア管理情報１０３１が該当することが分かる。
【０１９３】
レプリケーション管理部１０２３は、ステップＳ５００２で取得したペア管理情報１０３１のペア状態１０３１５が「レプリケート」になっているコピーペアがあるか否か判断する（ステップＳ５００３）。
【０１９４】
レプリケーション管理部１０２３は、ペア状態１０３１５が「レプリケート」になっているコピーペアがある場合（ステップＳ５００３：ＹＥＳ）、当該コピーペアのセパレート処理を行う（ステップＳ５００４）。
【０１９５】
レプリケーション管理部１０２３は、セパレート処理を行ったコピーペアに対応するペア管理情報１０２３のペア状態１０３１５を「セパレート」に変更する。具体的には、ＩＤが１０３１０「６」のレコードに治して、ペア状態１０３１５を「レプリケート」から「セパレート」に変更する。
【０１９６】
そしてステップＳ５００２に戻る。レプリケーション管理手部１０２３は、ペア管理情報１０３１から、レプリケーション処理を停止するグループで、ペア状態１０３１５が「レプリケート」のレコードが無くなるまで上記の処理を繰り返す。
【０１９７】
レプリケーション管理部１０２３は、ペア状態１０３１５が「レプリケート」になっているコピーペアがない場合（ステップＳ５００３：ＮＯ）、グループ管理情報１０３２におけるバッファ１０１を削除したグループのペア状態１０３２５を「セパレート」に変更する（ステップＳ５００６）。そして本動作を終了する。
図１２、図１３により、図１１のステップＳ３００６のバッファ削除処理が完了する。
【０１９８】
バッファ削除処理が完了した場合（ステップＳ３００６）、ステップＳ３００３に戻り、バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上か否か判断する（ステップＳ３００３）。
【０１９９】
バッファ制御部１０２５は、バッファ１０１の使用量が閾値以下である場合（ステップＳ３００３：ＮＯ）本動作を終了する。
【０２００】
バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上である場合（ステップＳ３００３：ＹＥＳ）、ステップＳ３００４からステップＳ３００６の動作を繰り返す。
【０２０１】
バッファ制御部１０２５は、グループ管理情報１０３２内から、コピー性能が低い複製先記憶装置３であって、かつレプリケーション状態１０３２５が「レプリケート」のグループのレコードが無くなった場合（ステップＳ３００６：ＮＯ）本動作を終了する。
【０２０２】
以上で、本発明の第２の実施形態における、動作が完了する。
【０２０３】
本発明の第２の実施形態は、複数の書込み順序を保証するコピーペアでバッファを共有している際にもすべてのレプリケーション処理を止めることなく動作できることにある。その理由は、バッファ１０１の使用量が閾値以上である場合、当該バッファ１０１を共有している複数のグループのうち、少なくとも一つのグループにおけるレプリケーション処理を停止するためである。
【０２０４】
また、本発明の第２の実施形態は、複数の複製先記憶装置３の中からレプリケーションを停止されるグループを適切に決定できることにある。その理由は、バッファ制御部１０２５が、コピー性能情報１０３５に基づき、コピー性能が低い複製先記憶装置３に対するレプリケーション処理を停止し、セパレート状態に変更するためである。
（第２の実施形態の変形例）
次に、第２の実施形態の変形例を説明する。第２の実施形態では、ステップＳ３００３〜３００５においてバッファ制御部１０２５は、バッファ１０１の使用量が閾値以上であった場合に、コピー性能情報１０３５に基づいて、コピー性能が低い複製先記憶装置３との間のグループのレプリケーション処理を停止させているがこれに限られない。例えば、バッファ制御部１０２５は、バッファ１０１上のデータが複製先記憶装置３にコピー完了となるまでの時間、すなわちバッファ１０１上のデータのコピー処理時間に基づいて、レプリケーション処理を停止させるグループを決定するようにしてもよい。
【０２０５】
図１４は、本発明の第２の実施形態の変形例を示すフローチャートである。
【０２０６】
ステップＳ３００１〜ステップＳ３００３、ステップＳ３００６は第２の実施形態と同様であるため、説明は省略する。
【０２０７】
バッファ制御部１０２５は、バッファ１０１の使用量が閾値以上であると判断した場合（ステップＳ３００３：ＹＥＳ）、バッファ制御部１０２５は、コピー性能情報１０３５及びバッファ管理情報１０３４を取得し、コピー完了時間を算出する（ステップＳ６００１）。
【０２０８】
例えば、バッファ１０１上のデータが複製先記憶装置３にコピー完了となるまでのコピー完了時間は、複製先記憶装置３ごとにバッファ１０１の使用量の合計値を算出し、当該合計値を複製先記憶装置３のコピー性能で除算することにより求められる。
【０２０９】
例えば、図４を参照すると、複製先記憶装置名１０３４５が複製先記憶装置３−Ａであるデータの合計は７６８ＫＢ、複製先記憶装置名１０３４５が複製先記憶装置３−Ｂであるデータの合計は５６０ＫＢであることがわかる。
【０２１０】
また、図１０より、複製元記憶装置３−１への平均転送レート１０３５３は、２５．５ＭＢ／Ｓ、複製元記憶装置３−２への平均転送レート１０３５３は、９．６ＭＢ／Ｓであることがわかる。よって、バッファ１０１上のデータが複製先記憶装置３にコピー完了となるまでの時間は、複製元記憶装置３−１は、０．０３０１２秒、複製元記憶装置３−２は、０．０５８３３秒かかることがわかる。
【０２１１】
バッファ制御部１０２５は、ステップＳ６００２で算出したコピー完了時間の中で、コピー完了時間が長いグループを選択する（ステップＳ６００３）。図１０の例では、複製先記憶装置３−Ｂのグループを選択する。
【０２１２】
次に、バッファ制御部１０２５は、レプリケーション処理を停止させるグループがあるか否か判断する（ステップＳ６００１）。具体的には、バッファ制御部１０２５は、グループ管理情報１０３２を参照し、ステップＳ６００２で選択した複製先記憶装置３−Ｂのグループの中で「レプリケート」状態のグループがあるか否か判断する。
【０２１３】
バッファ制御部１０２５は、レプリケーション処理を停止させるグループがあると判断した場合（ステップＳ６００３：ＹＥＳ）、ステップＳ３００６のバッファ削除処理に進む。
【０２１４】
バッファ制御部１０２５は、レプリケーション処理を停止させるグループがないと判断した場合（ステップＳ６００３：ＮＯ）、コピー処理時間が次に長い複製先記憶装置３を選択する（ステップＳ６００４）。そして、ステップＳ６００３に戻る。
【０２１５】
以上で、本発明の第２の実施形態の変形例の動作が完了する。
【０２１６】
本発明の第２の実施形態の変形例は、バッファ１０１の使用量を圧迫しているグループを適切に抽出できることにある。その理由は、バッファ１０１上のデータ量を考慮して、バッファ制御部１０２５はレプリケーション処理を停止するグループを決定するように構成したためである。
【０２１７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０２１８】
１０００    レプリケーションシステム
１    複製元記憶装置
１０    制御装置
１００    キャッシュ
１０１    バッファ
１０２    制御部
１０２１    ホストＩ／Ｏ制御部
１０２２    登録部
１０２３    レプリケーション管理部
１０２４    性能監視部
１０２５    バッファ制御部
１０２６  送信部
１０３    記憶部
１０３０１    コピーペア情報
１０３０２    レプリケーション状態情報
１０３１    ペア管理情報
１０３２    グループ管理情報
１０３３    閾値情報
１０３４    バッファ管理情報
１０３５    コピー性能情報
１１    ボリューム
２    ホスト計算機
３    複製先記憶装置
３０    制御装置
３０１    受信部
３０２    バッファ
３０３    キャッシュ
３１    ボリューム
４    ネットワーク
５    管理コンソール
５１    レプリケーション設定部
６１    ＣＰＵ
６２    メモリ
６３    補助記憶装置
６７  バス
【図１】
2018163521.tif 000003
【図２】
2018163521.tif 000004
【図３】
2018163521.tif 000005
【図４】
2018163521.tif 000006
【図５】
2018163521.tif 000007
【図６】
2018163521.tif 000008
【図７】
2018163521.tif 000009
【図８】
2018163521.tif 000010
【図９】
2018163521.tif 000011
【図１０】
2018163521.tif 000012
【図１１】
2018163521.tif 000013
【図１２】
2018163521.tif 000014
【図１３】
2018163521.tif 000015
【図１４】
2018163521.tif 000016