(57)【要約】【課題】レプリケーションにおける再同期処理による応答性能の低下を回避する。【解決手段】ストレージ制御装置４０は、第一のストレージ装置５０から第二のストレージ装置５１へのレプリケーションに関する更新情報４１０を記憶する第一の記憶部４１と、第一及び第二のストレージ装置のデータの差分を表す差分情報４２０を管理する差分管理部４２と、第一の記憶部４１の使用状況に関する所定の事象を検出する検出部４３と、所定の事象が検出された場合に、第一のストレージ装置５０から転送データ４６０を取得するとともに、転送データ４６０の格納領域を更新排他状態に設定する取得部４４と、第二の記憶部４６を介して転送する転送データ４６０を第二の記憶部４６に格納する際に、転送データ４６０に関して、更新排他状態を解除するとともに、差分情報４２０を削除するよう差分管理部４２を制御する制御部４５と、第二の記憶部４６と、を備える。【選択図】      図６
2020149573.tif 000002
【特許請求の範囲】
【請求項１】
第一のストレージ装置に記憶されているデータに対する更新内容を、第二のストレージ装置に記憶されている前記データの複製に適用する場合において、前記更新内容を表す更新情報を記憶する第一の記憶手段と、
前記第一のストレージ装置に記憶されているデータと、前記第二のストレージ装置に記憶されている前記データの複製との差分を表す差分情報を管理する差分管理手段と、
前記第一の記憶手段の使用状況に関する所定の事象を検出する検出手段と、
前記所定の事象が検出された場合に、前記差分情報に基づいて、前記第一のストレージ装置から、前記第二のストレージ装置に対する転送データを取得するとともに、前記第一のストレージ装置における前記転送データの格納領域を、更新排他状態に設定する取得手段と、
第二の記憶手段を介して前記第二のストレージ装置に転送する前記転送データを前記第二の記憶手段に格納する際に、前記更新排他状態を解除するとともに、前記転送データに関する前記差分情報を削除するよう前記差分管理手段を制御する制御手段と、
前記第二の記憶手段と、
を備えるストレージ制御装置。
【請求項２】
前記第一の記憶手段を、前記第二の記憶手段として備える、
請求項１に記載のストレージ制御装置。
【請求項３】
前記差分管理手段は、前記更新情報が前記第一の記憶手段に格納されたときに前記更新情報に関する前記差分情報を削除したのち、前記検出手段によって前記所定の事象が検出された場合に、前記第一の記憶手段に記憶されている前記更新情報に関する前記差分情報を生成し、
前記制御手段は、前記検出手段によって前記所定の事象が検出された場合に、前記第一の記憶手段に記憶されている前記更新情報を削除する、
請求項２に記載のストレージ制御装置。
【請求項４】
前記差分管理手段は、前記第一のストレージ装置に記憶されているデータにおいて前記差分が存在する場所を特定可能な前記差分情報を管理する、
請求項１乃至請求項３のいずれか一項に記載のストレージ制御装置。
【請求項５】
前記検出手段は、前記所定の事象として、前記第一の記憶手段において、新たに前記更新情報を格納可能な記憶領域が不足することを検出する、
請求項１乃至請求項４のいずれか一項に記載のストレージ制御装置。
【請求項６】
前記制御手段は、前記第一のストレージ装置と前記第二のストレージ装置とを通信可能に接続する通信ネットワークの状況を表す情報を外部から受信し、前記通信ネットワークの状況を表す情報と、前記転送データのデータ量とが条件を満たす場合に、前記第一のストレージ装置から前記第二のストレージ装置へ前記転送データを転送する、
請求項１乃至５のいずれか一項に記載のストレージ制御装置。
【請求項７】
前記第一の記憶手段は、前記更新情報が表す更新が発生した順序と関連付けられ、前記順序に従って前記更新内容が前記第二のストレージ装置に記憶されている前記データの複製に適用される前記更新情報を記憶する、
請求項１乃至請求項６のいずれか一項に記載のストレージ制御装置。
【請求項８】
請求項１乃至請求項７のいずれか一項に記載のストレージ制御装置と、
前記第一のストレージ装置と、
前記第二のストレージ装置と、
を有するストレージシステム。
【請求項９】
情報処理装置によって、
第一のストレージ装置に記憶されているデータに対する更新内容を、第二のストレージ装置に記憶されている前記データの複製に適用する場合において、前記更新内容を表す更新情報を第一の記憶手段に記憶し、
前記第一のストレージ装置に記憶されているデータと、前記第二のストレージ装置に記憶されている前記データの複製との差分を表す差分情報を管理し、
前記第一の記憶手段の使用状況に関する所定の事象を検出し、
前記所定の事象が検出された場合に、前記差分情報に基づいて、前記第一のストレージ装置から、前記第二のストレージ装置に対する転送データを取得するとともに、前記第一のストレージ装置における前記転送データの格納領域を、更新排他状態に設定し、
第二の記憶手段を介して前記第二のストレージ装置に転送する前記転送データを前記第二の記憶手段に格納する際に、前記更新排他状態を解除するとともに、前記転送データに関する前記差分情報を削除する、
ストレージ制御方法。
【請求項１０】
第一のストレージ装置に記憶されているデータに対する更新内容を、第二のストレージ装置に記憶されている前記データの複製に適用する場合において、前記更新内容を表す更新情報を記憶する第一の記憶手段と、第二の記憶手段とを備えるコンピュータに、
前記第一のストレージ装置に記憶されているデータと、前記第二のストレージ装置に記憶されている前記データの複製との差分を表す差分情報を管理する差分管理処理と、
前記第一の記憶手段の使用状況に関する所定の事象を検出する検出処理と、
前記所定の事象が検出された場合に、前記差分情報に基づいて、前記第一のストレージ装置から、前記第二のストレージ装置に対する転送データを取得するとともに、前記第一のストレージ装置における前記転送データの格納領域を、更新排他状態に設定する取得処理と、
第二の記憶手段を介して前記第二のストレージ装置に転送する前記転送データを前記第二の記憶手段に格納する際に、前記更新排他状態を解除するとともに、前記転送データに関する前記差分情報を削除するよう前記差分管理処理を制御する制御処理と、
を実行させるためのストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、ストレージ装置に記憶されたデータの複製を別のストレージ装置に格納する技術に関する。
【背景技術】
【０００２】
高度に情報化された現代社会では、社会インフラを構築する様々なコンピュータシステムが稼動している。このようなコンピュータシステムの多くは、高可用性や高信頼性を実現するために、メイン（運用系、常用系、プライマリ）サイトとは別にリモート（待機系、予備系、セカンダリ）サイトを遠隔地に設けている。そしてこのようなコンピュータシステムは、メインサイトのデータをリモートサイトでも多重化して保持することによって、メインサイトが被災した場合であってもリモートサイトにおいてサービスを継続して提供可能とするディザスタリカバリシステムを構築している。
【０００３】
このようなディザスタリカバリシステムは、メインサイトとリモートサイトにそれぞれ設置されているストレージ装置間においてデータを転送する処理であるレプリケーションを実行する。そして、データの転送方式としては、大別して下記の３つの方式がある。
【０００４】
第一のデータ転送方式は、メインサイト側の論理ディスクへの書き込みに同期してリモートサイト側の論理ディスクへも書き込みを行う同期コピー方式である。同期コピー方式では、メインサイト側とリモートサイト側との両方の論理ディスクへの書き込みを完了した後に、その完了報告を、書き込みリクエストを発行したホスト装置へ送信する。同期コピー方式では、リモートサイトへの通信時間分、ホスト装置に対する書き込み応答が遅延する。
【０００５】
第二のデータ転送方式は、メインサイト側の論理ディスクへの書き込みと、リモートサイト側の論理ディスクへの書き込みを非同期に行う非同期コピー方式である。非同期コピー方式では、メインサイトの論理ディスクに対する書き込みが完了した時点で、その完了報告を、書き込みリクエストを発行したホスト装置へ送信する。そして非同期コピー方式では、その後の所定のタイミングに、メインサイトの論理ディスクに対する更新内容を、リモートサイトに送信する。非同期コピー方式は、同期コピー方式と比較して、ホスト装置に対する書き込み応答を改善する一方、リモートサイトにおけるデータの更新順序がメインサイトにおけるデータの更新順序とは必ずしも一致しない。このため、非同期コピー方式では、例えば非同期コピーを実行中に災害が発生した場合に、リモートサイトにおけるデータの整合性が保証されないことになる。
【０００６】
第三のデータ転送方式は、上述した非同期コピー方式において、リモートサイトにおけるデータの更新をメインサイトにおけるデータの更新順序の通りに実行するようにした方式（即ち高機能な非同期コピー方式）であり、本願では以降、非同期順序保証コピー方式と称することとする。非同期順序保証コピー方式では、メインサイトの論理ディスクへの書き込みを行うとともに、その更新内容を表す更新データと更新順序番号とを保存する順序保証バッファを備える。そして非同期順序保証コピー方式では、順序保証バッファに記憶されている更新データを、更新順序番号によって順序保証しながらリモートサイトの論理ディスクに適用する。非同期コピー方式では、災害が発生した時点においてメインサイトからリモートサイトに対してまだ転送されていない順序保証バッファ内の更新データが消失するが、リモートサイトにおけるデータの整合性は確保される。
【０００７】
近年、コンピュータシステムに対する可用性、信頼性、性能等に対する要求レベルは年々高くなってきており、上述したデータ転送方式によるレプリケーションを、効率的かつ確実に実行できるようにする技術への期待が高まってきている。
【０００８】
このような技術に関連する技術として、特許文献１には、ホスト計算機と接続された複製元の記憶装置のデータを、複製先の記憶装置にデータを複製するシステムを制御する制御装置が開示されている。この装置は、書込み順序保証を行う複製元のボリュームと複製先のボリュームとのコピーペアと、当該コピーペアにおけるレプリケーション処理の状態と、を含む情報を記憶する。そしてこの装置は、データ複製時に複数のコピーペアで共有して使用するバッファの使用量が閾値以上である場合、当該バッファを共有している複数のコピーペアのうち、少なくとも一つのコピーペアにおけるレプリケーション処理を停止する。
【０００９】
また、特許文献２には、複数のリモートコピーがそれぞれ非同期で実行される場合でも、ボリューム間の記憶内容を整合させるストレージシステムが開示されている。このシステムは、複数の正記憶制御装置と複数の副記憶制御装置とを、複数の経路により接続し、各第１ボリュームと各第２ボリュームとの間で、それぞれ非同期のリモートコピーを実施する。このシステムは、正記憶制御装置から副記憶制御装置に転送されたライトデータを、ライトデータ記憶部に保管する。このシステムは、ライト時刻やシーケンシャル番号を含む更新順序情報を管理する。そしてこのシステムは、更新順序情報に基づいて各第２ボリュームを更新可能な時点を決定することによって、各第２ボリュームの記憶内容を、更新可能時点までにそれぞれ更新する。
【００１０】
また、特許文献３には、記憶容量が少ないバッファを用いた非同期順序保証コピーを実現するディスクアレイ装置間のリモートコピー処理システムが開示されている。このシステムは、更新データを格納する送信用データバッファを備える。このシステムは、ホストからディスクアレイ装置に更新データの書き込み要求があった場合において、更新データが前回に書き込み要求があってキャッシュに格納されている前回更新データと重複していない場合、その更新データをキャッシュに書き込む。このシステムは、更新データが前回更新データと重複している場合、キャッシュに格納されている前回更新データを送信用データバッファにコピーした後に、その更新データをキャッシュに書き込む。このシステムは、このように、同じ領域に書き込みがあった場合のみ送信用データバッファにデータを書き込む。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１８−１６３５２１号公報
【特許文献２】特開２００７−２６４９４６号公報
【特許文献３】特許第５１７０１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
図８は、メインサイト６０とリモートサイト７０との間でデータの更新とは非同期にデータをコピーする一般的なストレージシステム２の構成を示すブロック図である。即ち、ストレージシステム２は、上述した非同期コピー方式（非同期順序保証コピー方式を含む）によりレプリケーションを実行するシステムである。メインサイト６０は、ストレージ装置６００と、ストレージ装置６００にアクセスするホスト装置６３０とを有する。リモートサイト７０は、ストレージ装置７００と、ストレージ装置７００にアクセスするホスト装置７３０とを有する。
【００１３】
図９は、図８に例示するストレージシステム２によるデータのコピー及び更新動作を示すシーケンス図である。図９に例示する通り、メインサイト６０におけるストレージ装置６００は、所定のタイミングに非同期コピー処理を実行するにあたり、論理ディスク６１０におけるコピー領域６１１を選択する。ストレージ装置６００は、選択したコピー領域６１１を更新排他（禁止）状態に設定した後、コピー領域６１１のコピーデータを、通信ネットワーク８０を介してリモートサイト７０におけるストレージ装置７００に送信する。ストレージ装置７００は、受信したコピーデータを用いて、論理ディスク７１０におけるコピー領域７１１を更新し、更新完了報告を、通信ネットワーク８０を介してストレージ装置６００に送信する。尚、通信ネットワーク８０を介する通信においては、通信状況に依存したある通信遅延時間が発生する。ストレージ装置６００は、ストレージ装置７００から更新完了報告を受信することによって、コピー領域６１１の更新排他状態を解除する。
【００１４】
ここで、ストレージ装置６００が上述したこのコピー領域６１１に関する非同期コピー処理を行っている最中に、ホスト装置６３０がコピー領域６１１と重複する論理ディスク６１０の領域に対する更新命令（書き込み命令）を発行したとする。この場合、当該更新命令による更新は、コピー領域６１１の更新排他状態が解除されるまで待たされるので、図９に例示するような更新応答時間が発生する。
【００１５】
図１０は、非同期順序保証コピーを行うストレージシステム２において、通信ネットワーク８０の障害が発生した場合における順序保証バッファ６２０に記憶されているデータ量の推移を例示する図である。この場合、ストレージ装置６００は、図８に例示する通り、論理ディスク６１０に対する更新内容と更新順序番号とを関連付けて保存する順序保証バッファ６２０を備えている。
【００１６】
図１０に示す例では、通信ネットワーク８０における障害が発生した時刻Ｔ０までは、ストレージ装置６００は、ストレージ装置７００に対する非同期順序保証コピーを例えば定期的に実行するので、順序保証バッファ６２０に記憶されているデータ量はある水準を維持している。しかしながら、障害が発生した時刻Ｔ０以降、順序保証バッファ６２０に記憶されている更新データをストレージ装置６００からストレージ装置７００に転送する処理が滞ることによって、順序保証バッファ６２０に記憶されているデータ量は次第に増加する。そして、そのデータ量は、時刻Ｔ１において順序保証バッファ６２０の上限値に達する（即ち、順序保証バッファ６２０において、更新データを新たに格納可能な記憶領域が無くなる）。
【００１７】
この場合、ストレージ装置６００は、時刻Ｔ１以降、非同期順序保証コピーを行うことができなくなるので、非同期順序保証コピー処理を一時停止したのち、しばらく差分管理のみを行うように（差分管理のみを行うモードに移行）する。但し、差分管理とは、論理ディスク６１０と論理ディスク７１０との間において、どの領域（部分）に差分があるのかを管理することである。
【００１８】
図１０に示す例では、時刻Ｔ２において通信ネットワーク８０における障害が解消したのち、ストレージ装置６００は、再同期処理を実行する。但し、再同期処理とは、差分管理を行った結果に基づいて、論理ディスク６１０から論理ディスク７１０に対するデータ転送（コピー）を行うことによって、論理ディスク６１０に記憶されているデータと論理ディスク７１０に記憶されているデータとを一致させる処理のことである。そして、ストレージ装置６００は、時刻Ｔ３において再同期処理を完了することによって、論理ディスク６１０に記憶されているデータと論理ディスク７１０に記憶されているデータとが一致したのち、一時停止していた非同期順序保証コピー処理を再開する。
【００１９】
ここで、ストレージ装置６００による上述した再同期処理について考える。ストレージ装置６００は、再同期処理において、論理ディスク６１０におけるある領域のデータを論理ディスク７１０にコピーする際に、図９に例示する動作と同様に、コピーする領域を更新排他状態に設定する必要がある。その理由は、ある領域のデータを再同期処理においてコピー中に当該データが更新された場合、当該データの整合性を維持できなくなるからである。
【００２０】
この場合、ホスト装置６３０は、更新排他状態が解除されるまで、コピーする領域に対する更新処理（書き込み処理）を行うことができなくなる。即ち、例えば、コピーする領域のデータ量が大きい場合、あるいは、通信ネットワーク８０における輻輳の発生によって通信遅延時間が長くなる場合などでは、図９に例示するような更新応答時間が大幅に悪化する可能性があり、この場合、メインサイト６０によるサービスの提供に与える影響は非常に大きい。特許文献１乃至３は、このような問題については特に言及していない。本願発明の主たる目的は、この課題を解決するストレージ制御装置等を提供することである。
【課題を解決するための手段】
【００２１】
本願発明の一態様に係るストレージ制御装置は、第一のストレージ装置に記憶されているデータに対する更新内容を、第二のストレージ装置に記憶されている前記データの複製に適用する場合において、前記更新内容を表す更新情報を記憶する第一の記憶手段と、前記第一のストレージ装置に記憶されているデータと、前記第二のストレージ装置に記憶されている前記データの複製との差分を表す差分情報を管理する差分管理手段と、前記第一の記憶手段の使用状況に関する所定の事象を検出する検出手段と、前記所定の事象が検出された場合に、前記差分情報に基づいて、前記第一のストレージ装置から、前記第二のストレージ装置に対する転送データを取得するとともに、前記第一のストレージ装置における前記転送データの格納領域を、更新排他状態に設定する取得手段と、第二の記憶手段を介して前記第二のストレージ装置に転送する前記転送データを前記第二の記憶手段に格納する際に、前記更新排他状態を解除するとともに、前記転送データに関する前記差分情報を削除するよう前記差分管理手段を制御する制御手段と、前記第二の記憶手段と、を備える。
【００２２】
上記目的を達成する他の見地において、本願発明の一態様に係るストレージ制御方法は、情報処理装置によって、第一のストレージ装置に記憶されているデータに対する更新内容を、第二のストレージ装置に記憶されている前記データの複製に適用する場合において、前記更新内容を表す更新情報を第一の記憶手段に記憶し、前記第一のストレージ装置に記憶されているデータと、前記第二のストレージ装置に記憶されている前記データの複製との差分を表す差分情報を管理し、前記第一の記憶手段の使用状況に関する所定の事象を検出し、前記所定の事象が検出された場合に、前記差分情報に基づいて、前記第一のストレージ装置から、前記第二のストレージ装置に対する転送データを取得するとともに、前記第一のストレージ装置における前記転送データの格納領域を、更新排他状態を設定し、第二の記憶手段を介して前記第二のストレージ装置に転送する前記転送データを前記第二の記憶手段に格納する際に、前記更新排他状態を解除するとともに、前記転送データに関する前記差分情報を削除する。
【００２３】
また、上記目的を達成する更なる見地において、本願発明の一態様に係るストレージ制御プログラムは、第一のストレージ装置に記憶されているデータに対する更新内容を、第二のストレージ装置に記憶されている前記データの複製に適用する場合において、前記更新内容を表す更新情報を記憶する第一の記憶手段と、第二の記憶手段とを備えるコンピュータに、前記第一のストレージ装置に記憶されているデータと、前記第二のストレージ装置に記憶されている前記データの複製との差分を表す差分情報を管理する差分管理処理と、前記第一の記憶手段の使用状況に関する所定の事象を検出する検出処理と、前記所定の事象が検出された場合に、前記差分情報に基づいて、前記第一のストレージ装置から、前記第二のストレージ装置に対する転送データを取得するとともに、前記第一のストレージ装置における前記転送データの格納領域を、更新排他状態に設定する取得処理と、第二の記憶手段を介して前記第二のストレージ装置に転送する前記転送データを前記第二の記憶手段に格納する際に、前記更新排他状態を解除するとともに、前記転送データに関する前記差分情報を削除するよう前記差分管理処理を制御する制御処理と、を実行させる。
【００２４】
更に、本願発明は、係るストレージ制御プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００２５】
本願発明は、ストレージ装置間におけるレプリケーションを非同期に行うシステムにおいて、ストレージ装置間における再同期処理を実行する際に応答性能が低下することを回避することを可能とする。
【図面の簡単な説明】
【００２６】
【図１】本願発明の第１の実施形態に係るストレージシステム１の構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係る順序保証バッファ１１０の記憶内容を例示する図である。
【図３Ａ】本願発明の第１の実施形態に係るストレージ装置１００が、ホスト装置１９０から発行された命令に基づいて、論理ディスク１８１あるいは１８２に記憶されているデータを更新する動作を示すフローチャート（１／２）である。
【図３Ｂ】本願発明の第１の実施形態に係るストレージ装置１００が、ホスト装置１９０から発行された命令に基づいて、論理ディスク１８１あるいは１８２に記憶されているデータを更新する動作を示すフローチャート（２／２）である。
【図４】本願発明の第１の実施形態に係るストレージ装置１００が、非同期順序保証コピー処理を実行する動作を示すフローチャートである。
【図５】本願発明の第１の実施形態に係るストレージ装置１００が、再同期処理を実行する動作を示すフローチャートである。
【図６】本願発明の第２の実施形態に係るストレージ制御装置４０の構成を示すブロック図である。
【図７】本願発明の各実施形態に係るストレージ制御装置を実行可能な情報処理装置９００の構成を示すブロック図である。
【図８】メインサイト６０とリモートサイト７０との間でデータの更新とは非同期にデータをコピーする一般的なストレージシステム２の構成を示すブロック図である。
【図９】一般的なストレージシステム２によるデータのコピー及び更新動作を示すシーケンス図である。
【図１０】非同期順序保証コピーを行うストレージシステム２において、通信ネットワーク８０の障害が発生した場合における順序保証バッファ６２０に記憶されるデータ量の推移を例示する図である。
【発明を実施するための形態】
【００２７】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００２８】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係るストレージシステム１の構成を示すブロック図である。ストレージシステム１は、メインサイト１０とリモートサイト２０とが、通信ネットワーク（通信回線）３０を介して通信可能に接続されたディザスタリカバリシステムである。
【００２９】
メインサイト１０は、運用系（常用系）のサイトであり、ストレージ装置（ストレージ制御装置）１００とホスト装置１９０とを含んでいる。ホスト装置１９０は、例えばサーバ装置等の情報処理装置である。ストレージ装置１００は、ホスト装置１９０が使用するデータを記憶している。尚、メインサイト１０は、ストレージ装置１００に対してアクセスする複数のホスト装置１９０を含んでもよい。
【００３０】
リモートサイト２０は、待機系（予備系）のサイトであり、メインサイト１０と同様に、ストレージ装置２００とホスト装置２９０とを含んでいる。
【００３１】
尚、ストレージシステム１は、複数のリモートサイト２０を含んでもよい。また、ストレージシステム１に含まれる複数のサイトの個々は、メインサイトとしての機能とリモートとしての機能との両方を備えてもよい。
【００３２】
メインサイト１０におけるストレージ装置１００は、ストレージ装置１００に記憶されているデータに関して、リモートサイト２０におけるストレージ装置２００に対するレプリケーションを行う。即ち、ストレージ装置２００に記憶されているデータは、ストレージ装置１００に記憶されているデータの複製である。
【００３３】
本実施形態に係るストレージシステム１は、ストレージ装置１００に記憶されているデータに対する更新と同じタイミングでその更新内容をストレージ装置２００に適用（反映）することを行わず、かつ、ストレージ装置２００におけるデータの更新をストレージ装置１００におけるデータの更新順序の通りに実行することとする。即ち、本実施形態に係るストレージシステム１は、レプリケーションの方式として、前述した非同期順序保証コピー方式を採用している。
【００３４】
本実施形態に係るストレージ装置１００は、非同期順序保証コピー方式によるレプリケーションの実行を制御するストレージ制御装置としての機能を備えている。尚、ストレージシステム１は、ストレージ装置１００とは異なる装置として、ストレージ制御装置を備えてもよい。本実施形態では以降、メインサイト１０において、ストレージ制御装置として動作するストレージ装置１００の構成について説明することとする。
【００３５】
本実施形態に係るストレージ装置１００は、順序保証バッファ（第一及び第二の記憶部）１１０、差分管理部１２０、検出部１３０、取得部１４０、制御部１５０、論理ディスクアクセス制御部１６０、キャッシュ１７０、及び、論理ディスク１８１及び１８２を備えている。また、リモートサイト２０におけるストレージ装置２００も、ストレージ装置１００と同様に、順序保証バッファ２１０、キャッシュ２７０、及び、論理ディスク２８１及び２８２を備えている。尚、ストレージ装置２００も、ストレージ装置１００と同様に、差分管理部１２０、検出部１３０、取得部１４０、制御部１５０、論理ディスクアクセス制御部１６０に相当する構成を備えてもよいが、本実施形態では、ストレージ装置２００おける当該構成に関しては、説明の便宜上、省略することとする。また、ストレージ装置２００は、順序保証バッファ２１０を備えない場合もある。
【００３６】
ストレージ装置１００における論理ディスク１８１及び１８２は、例えば磁気ディスク等の記憶デバイスである。尚、ストレージ装置１００が備える論理ディスクの数は２つに限定されない。ストレージ装置１００は、１つあるいは３つ以上の論理ディスクを備えてもよい。論理ディスク１８１及び１８２は、ホスト装置１９０が使用するデータであって、ストレージ装置１００によるレプリケーションの実行対象であるデータを記憶している。
【００３７】
論理ディスクアクセス制御部１６０は、ホスト装置１９０から論理ディスク１８１あるいは１８２に対するアクセスを制御する。論理ディスクアクセス制御部１６０は、論理ディスク１８１及び１８２を、同一の順序保証グループに属するディスクとして管理する。但し、順序保証グループは、更新順序を保証する必要があるデータが複数の論理ディスクに跨って記憶されている場合に、それらの論理ディスクの集合を表す。
【００３８】
論理ディスクアクセス制御部１６０は、論理ディスク１８１とストレージ装置２００における論理ディスク２８１とを、ペア関係を有するディスクとして管理し、論理ディスク１８２とストレージ装置２００における論理ディスク２８２とを、ペア関係を有するディスクとして管理する。即ち、本実施形態に係るストレージ装置１００は、論理ディスク１８１に記憶されているデータを論理ディスク２８１に対してレプリケーションを行い、論理ディスク１８２に記憶されているデータを論理ディスク２８２に対してレプリケーションを行う。尚、ストレージ装置１００は、論理ディスク１８１あるいは１８２に記憶されているデータを、それぞれ２つ以上の論理ディスクにレプリケーションを行うようにしてもよい。
【００３９】
論理ディスクアクセス制御部１６０は、ホスト装置１９０から、論理ディスク１８１あるいは１８２に記憶されているデータに対する更新命令（書き込み命令）を受信した場合、当該更新命令に含まれる書き込みデータを、キャッシュ１７０に格納する。キャッシュ１７０は、論理ディスク１８１あるいは１８２に対する書き込みデータを一時的に記憶する、例えばメモリ等の記憶デバイスである。
【００４０】
論理ディスクアクセス制御部１６０は、当該更新命令が示す、論理ディスク１８１あるいは１８２における更新領域に関して、更新排他（他の命令等による更新を禁止する）状態に設定されているか否かを確認する。論理ディスクアクセス制御部１６０は、論理ディスク１８１あるいは１８２における当該更新領域に対する他の命令等による更新排他状態への設定が行われていない場合に、当該更新領域に対する更新を行うことが可能である。尚、上述した他の命令には、例えば、当該更新領域に対する他の更新命令、あるいは、当該更新領域に関するレプリケーションを行う命令等が含まれる。
【００４１】
論理ディスクアクセス制御部１６０は、当該更新領域に関して、更新排他状態に設定されていない場合、当該更新領域を更新排他状態に設定するとともに、キャッシュ１７０に格納した当該更新命令に含まれる書き込みデータを用いて、当該更新領域に対する更新を実行する。
【００４２】
論理ディスクアクセス制御部１６０は、当該更新領域に対する更新を実行したのち、後述する検出部１３０から、順序保証バッファ１１０において、更新命令による更新内容を表す更新データ１１１を新たに格納可能な記憶領域が不足する事象が発生したことを通知されていない場合に、更新データ１１１を順序保証バッファ１１０に格納する。図１に示す順序保証バッファ１１０は、メモリあるいは磁気ディスク等の記憶デバイスであり、メモリ及び磁気ディスク等が混在する記憶デバイスであってもよい。順序保証バッファ１１０は、論理ディスク１８１あるいは１８２に記憶されているデータに対する複数の更新内容を表す、更新データ１１１−１、更新データ１１１−２等を記憶している。
【００４３】
図２は、本実施形態に係る順序保証バッファ１１０の記憶内容を例示する図である。順序保証バッファ１１０は、図２に例示する項目を関連付けて記憶している。図２に示す更新データ識別子は、各更新に関する更新データを識別可能な識別子である。図２に示す順序保証番号は、更新が行われた順序を表す情報であり、図２に例示する順序保証バッファ１１０は、更新データ１１１−１が表す更新の次に、更新データ１１１−２が表す更新が行われたことを表している。
【００４４】
図２に例示する更新データ１１１−１は、ストレージ装置１００の論理ディスク１８１におけるアドレスが「０００００−００１００」の領域に対して更新が行われ、更新データ１１１−１のレプリケーション先は、ストレージ装置２００の論理ディスク２８１であることを表している。同様に、図２に例示する更新データ１１１−２は、ストレージ装置１００の論理ディスク１８２におけるアドレスが「０３０００−０５０００」の領域に対して更新が行われ、更新データ１１１−２のレプリケーション先は、ストレージ装置２００の論理ディスク２８２であることを表している。
【００４５】
図１に示す差分管理部１２０は、ストレージ装置１００における論理ディスク１８１及び１８２に記憶されているデータと、ストレージ装置２００における論理ディスク２８１及び２８２に記憶されているデータとの差分を表す差分ビットマップ（差分情報）１２１を生成して管理する。但し、差分ビットマップ１２１は、２つのデータの間における差分の有無を所定の粒度により表した情報である。差分管理部１２０は、生成した差分ビットマップ１２１を、例えば、ストレージ装置１００が備えるメモリ等の記憶デバイスに格納する。
【００４６】
尚、差分管理部１２０が管理するデータ（情報）は、論理ディスク１８１及び１８２に記憶されているデータにおいて、論理ディスク２８１及び２８２に記憶されているデータとの差分が存在する場所を特定可能な情報であればよく、差分ビットマップ１２１とは異なる形式のデータであってもよい。
【００４７】
差分管理部１２０は、論理ディスクアクセス制御部１６０が、論理ディスク１８１あるいは１８２における更新対象のデータを更新した際に、その更新対象のデータに関する差分ビットマップ１２１を生成する。差分管理部１２０は、また、論理ディスクアクセス制御部１６０が、更新対象のデータに関する更新データ１１１を順序保証バッファ１１０に格納した際に、更新対象のデータに関する差分ビットマップ１２１を削除する。尚、更新対象のデータに関する更新データ１１１が順序保証バッファ１１０に格納された時点では、更新データ１１１は、まだ論理ディスク２８１あるいは２８２に記憶されているデータの複製に反映されてはいない。しかしながら、差分管理部１２０は、更新データ１１１が順序保証バッファ１１０に格納されることによって、更新データ１１１が更新対象のデータ複製に反映されることが決定したときに、更新データ１１１に関する差分ビットマップ１２１を削除する。
【００４８】
図１に示す検出部１３０は、順序保証バッファ１１０を参照することによって、順序保証バッファ１１０の使用状況に関する所定の事象を検出する。検出部１３０は、より具体的には、順序保証バッファ１１０において、更新命令による更新内容を表す更新データ１１１を新たに格納可能な記憶領域が不足する事象が発生しているか否かを確認する。即ち、本実施形態では、上述した所定の事象は、「順序保証バッファ１１０において、更新データ１１１を新たに格納可能な記憶領域が不足する」ことを表すこととする。そして検出部１３０は、その検出結果を、論理ディスクアクセス制御部１６０、及び、後述する取得部１４０に通知する。
【００４９】
順序保証バッファ１１０の使用率が増加することによって、更新データ１１１を新たに格納可能な記憶領域が不足する事象は、例えば、図１０に関して前述した通り、図１に示す通信ネットワーク３０における障害が発生することなどに起因する。即ち、その障害の発生により、順序保証バッファ１１０に記憶されている更新データ１１１をストレージ装置１００からストレージ装置２００に送信する処理が滞ることによって、順序保証バッファ１１０に記憶されている更新データ１１１のデータ量は次第に増加する。そして、そのデータ量は、順序保証バッファ１１０の上限値に達するので、順序保証バッファ１１０は、更新データ１１１を新たに格納することができなくなる。
【００５０】
論理ディスクアクセス制御部１６０は、論理ディスク１８１あるいは１８２から、論理ディスク２８１あるいは２８２に対する非同期順序保証コピー処理を、例えば、所定のタイミング（例えば定期的）にバックグラウンドで実行する。
【００５１】
論理ディスクアクセス制御部１６０は、順序保証バッファ１１０に更新データ１１１が存在する場合、順序保証バッファ１１０に記憶されている更新データ１１１を、ストレージ装置２００に送信する。ストレージ装置２００は、ストレージ装置１００から受信した更新データ１１１を、順序保証バッファ２１０を介してキャッシュ２７０に格納したのち、キャッシュ２７０に格納した更新データ１１１を論理ディスク２８１あるいは２８２に書き込む。これによりストレージ装置２００は、論理ディスク２８１あるいは２８２に記憶されている、論理ディスク１８１あるいは１８２に記憶されているデータの複製を更新する。
【００５２】
ストレージ装置２００は更新データ１１１が示す更新を完了したことをストレージ装置１００に送信する。ストレージ装置１００における論理ディスクアクセス制御部１６０は、ストレージ装置２００から更新データ１１１が示す更新を完了したことを受信したときに、当該更新データ１１１を、順序保証バッファ１１０から削除する。
【００５３】
論理ディスクアクセス制御部１６０は、また、検出部１３０が、上述の通り、更新命令による更新内容を表す更新データ１１１を新たに格納可能な記憶領域が不足する事象を検出した場合、非同期順序保証コピーによるレプリケーションを行うことを一時停止することを決定する。そして、ストレージ装置１００は、非同期順序保証コピーによるレプリケーションを停止したのちは、差分ビットマップ１２１によって、論理ディスク１８１及び１８２と、論理ディスク２８１及び２８２とに関して、差分管理のみを行うモードに移行することを決定する。このモードは、上述した図１０に例示する時刻Ｔ１乃至Ｔ２における差分管理のみを行うモードに相当する。
【００５４】
ストレージ装置１００が差分ビットマップ１２１による差分管理を行うモードに移行したのち、差分管理部１２０は、順序保証バッファ１１０に記憶されている更新データ１１１に関する差分ビットマップ１２１を生成する。そののち、後述する制御部１５０は、順序保証バッファ１１０に記憶されている更新データ１１１を削除する。
【００５５】
取得部１４０及び制御部１５０は、ストレージ装置１００が差分ビットマップ１２１による差分管理のみを行うモードに移行したのち、論理ディスク１８１及び１８２に記憶されているデータと、論理ディスク２８１及び２８２に記憶されているデータとを一致させる再同期処理を実行する。再同期処理は、上述した図１０に例示する時刻Ｔ２乃至Ｔ３において実行される処理である。取得部１４０及び制御部１５０は、例えば、図１０に例示するように、通信ネットワーク３０における障害が解消したのちに、再同期処理を行えばよい。
【００５６】
取得部１４０は、差分ビットマップ１２１に基づいて、ストレージ装置２００へ転送（送信）する論理ディスク１８１あるいは１８２におけるデータの領域を決定する。取得部１４０は、決定したデータの領域を格納可能な記憶領域が順序保証バッファ１１０に存在する場合に、論理ディスク１８１あるいは１８２における決定したデータの領域から、ストレージ装置２００へ転送するデータ（転送データ）を読み出す。
【００５７】
制御部１５０は、取得部１４０によって読み出された転送データを順序保証バッファ１１０に格納する。尚、ストレージ装置１００が差分ビットマップ１２１による差分管理のみを行うモードに移行する際に、制御部１５０は、順序保証バッファ１１０に記憶されている更新データ１１１を削除するので、取得部１４０及び制御部１５０が再同期処理を開始する時点では、順序保証バッファ１１０は、転送データを格納可能である。
【００５８】
取得部１４０は、論理ディスク１８１あるいは１８２におけるデータの領域を上述の通りに決定したタイミングにおいて当該データの領域を更新排他状態に設定する。制御部１５０は、転送データを順序保証バッファ１１０に格納したタイミングにおいて、当該データの領域に関する差分ビットマップ１２１を削除するように差分管理部１２０を制御するとともに、当該データの領域に関する更新排他状態を解除する。そして制御部１５０は、順序保証バッファ１１０に格納した転送データを、ストレージ装置２００に送信することによって、再同期処理を実行する。
【００５９】
差分管理部１２０は、ある差分ビットマップ１２１が示すデータ領域に関して、取得部１４０によって転送データが順序保証バッファ１１０に格納された場合、制御部１５０による制御を受けることによって当該差分ビットマップ１２１を削除する。そして制御部１５０は、差分管理部１２０において存在する全ての差分ビットマップ１２１に関して、ストレージ装置２００へのデータ転送を行うことによって、再同期処理を完了する。
【００６０】
ストレージ装置１００は、再同期処理を完了したタイミング（上述した図１０に例示する時刻Ｔ３）において、一時停止していた非同期順序保証コピーによるレプリケーションを行うことを再開する。
【００６１】
次に図３Ａ及び３Ｂ、図４、図５のフローチャートを参照して、本実施形態に係るストレージ装置（ストレージ制御装置）１００の動作（処理）について詳細に説明する。
【００６２】
図３Ａ及び３Ｂは、本実施形態に係るストレージ装置１００が、ホスト装置１９０から発行された命令に基づいて、論理ディスク１８１あるいは１８２に記憶されているデータを更新する動作を示すフローチャートである。
【００６３】
論理ディスクアクセス制御部１６０は、ホスト装置１９０から、論理ディスク１８１あるいは１８２に記憶されているデータに対する更新命令を受信する（ステップＳ１０１）。論理ディスクアクセス制御部１６０は、受信した更新命令に含まれる書き込みデータをキャッシュ１７０に格納する（ステップＳ１０２）。論理ディスクアクセス制御部１６０は、当該更新命令が示す更新領域に関して、他の命令等による更新排他状態への設定が行われているか否かを確認する（ステップＳ１０３）。
【００６４】
当該更新領域が更新排他状態に設定されている場合（ステップＳ１０４でＹｅｓ）、処理はステップＳ１０３へ戻る。当該更新領域が更新排他状態に設定されていない場合（ステップＳ１０４でＮｏ）、論理ディスクアクセス制御部１６０は、当該更新領域を更新排他状態に設定する（ステップＳ１０５）。
【００６５】
論理ディスクアクセス制御部１６０は、キャッシュ１７０に格納した更新命令に含まれる書き込みデータを用いて、論理ディスク１８１あるいは１８２における更新対象のデータを更新する（ステップＳ１０６）。差分管理部１２０は、更新対象のデータに関する差分ビットマップ１２１を生成する（ステップＳ１０７）。
【００６６】
検出部１３０は、順序保証バッファ１１０において、更新命令による更新内容を表す更新データ１１１を新たに格納可能な記憶領域が不足する事象が発生しているか否かを確認する（ステップＳ１０８）。更新データ１１１を格納可能な記憶領域が不足する事象が発生していない場合（ステップＳ１０９でＮｏ）、論理ディスクアクセス制御部１６０は、更新データ１１１を、順序保証バッファ１１０に格納する（ステップＳ１１０）。
【００６７】
差分管理部１２０は、更新対象のデータに関する差分ビットマップ１２１を削除する（ステップＳ１１１）。論理ディスクアクセス制御部１６０は、更新領域の更新排他状態を解除し（ステップＳ１１２）、全体の処理は終了する。
【００６８】
更新データ１１１を格納可能な記憶領域が不足する事象が発生している場合（ステップＳ１０９でＹｅｓ）、論理ディスクアクセス制御部１６０は、更新領域の更新排他状態を解除する（ステップＳ１１３）。論理ディスクアクセス制御部１６０は、非同期順序保証コピーによるレプリケーションを行うことを一時停止する（ステップＳ１１４）。
【００６９】
差分管理部１２０は、順序保証バッファ１１０に記憶されている更新データ１１１に関する差分ビットマップ１２１を生成する（ステップＳ１１５）。制御部１５０は、順序保証バッファ１１０に記憶されている更新データ１１１を削除し（ステップＳ１１６）、全体の処理は終了する。
【００７０】
図４は、本実施形態に係るストレージ装置１００が、非同期順序保証コピー処理を実行する動作を示すフローチャートである。
【００７１】
論理ディスクアクセス制御部１６０は、順序保証バッファ１１０に更新データ１１１が存在するか否かを確認する（ステップＳ２０１）。順序保証バッファ１１０に更新データ１１１が存在しない場合（ステップＳ２０２でＮｏ）、処理はステップＳ２０１へ戻る。順序保証バッファ１１０に更新データ１１１が存在する場合（ステップＳ２０２でＹｅｓ）、論理ディスクアクセス制御部１６０は、順序保証バッファ１１０に記憶されている更新データ１１１を、ストレージ装置２００に送信する（ステップＳ２０３）。
【００７２】
論理ディスクアクセス制御部１６０は、ストレージ装置２００から、論理ディスク２８１あるいは２８２に対する更新データ１１１が示す更新を完了したことを受信する（ステップＳ２０４）。論理ディスクアクセス制御部１６０は、ストレージ装置２００に送信した更新データ１１１を、順序保証バッファ１１０から削除し（ステップＳ２０５）、処理はステップＳ２０１へ戻る。
【００７３】
図５は、本実施形態に係るストレージ装置１００が、再同期処理を実行する動作を示すフローチャートである。
【００７４】
差分管理部１２０は、差分ビットマップ１２１が存在するか否かを確認する（ステップＳ３０１）。差分ビットマップ１２１が存在しない場合（ステップＳ３０２でＮｏ）、全体の処理は終了する。差分ビットマップ１２１が存在する場合（ステップＳ３０２でＹｅｓ）、取得部１４０は、差分ビットマップ１２１に基づいて、ストレージ装置２００に対するデータ転送を行う論理ディスク１８１あるいは１８２におけるデータの領域を決定する（ステップＳ３０３）。
【００７５】
取得部１４０は、決定したデータの領域を格納可能な記憶領域が順序保証バッファ１１０に存在するか否かを確認する（ステップＳ３０４）。決定したデータの領域を格納可能な領域が順序保証バッファ１１０に存在しない場合（ステップＳ３０５でＮｏ）、処理はステップＳ３０４へ戻る。決定したデータの領域を格納可能な領域が順序保証バッファ１１０に存在する場合（ステップＳ３０５でＹｅｓ）、取得部１４０は、決定したデータの領域を更新排他状態に設定する（ステップＳ３０６）。
【００７６】
取得部１４０は、論理ディスク１８１あるいは１８２から決定したデータの領域を読み出し、制御部１５０は、読み出した転送データを順序保証バッファ１１０に格納する（ステップＳ３０７）。制御部１５０は、差分管理部１２０を制御することによって、決定したデータの領域に関する差分ビットマップ１２１を削除する（ステップＳ３０８）。制御部１５０は、決定したデータの領域の更新排他状態を解除する（ステップＳ３０９）。制御部１５０は、順序保証バッファ１１０に格納された転送データを、ストレージ装置２００に送信するとともに、当該転送データを順序保証バッファ１１０から削除し（ステップＳ３１０）、処理はステップＳ３０１へ戻る。
【００７７】
本実施形態に係るストレージ装置１００（ストレージ制御装置）は、ストレージ装置間におけるレプリケーションを非同期に行うシステムにおいて、ストレージ装置間における再同期処理を実行する際に応答性能が低下することを回避することができる。その理由は、ストレージ装置１００は、ストレージ装置１００とストレージ装置２００との間の再同期処理に伴うデータ転送を、順序保証バッファ１１０を介して実行し、転送データを順序保証バッファ１１０に格納する際に、当該転送データに関する更新排他状態を解除するとともに、当該転送データに関する差分ビットマップ１２１を削除するからである。
【００７８】
以下に、本実施形態に係るストレージ装置１００によって実現される効果について、詳細に説明する。
【００７９】
例えば図８乃至１０に示す通り、一般的なディザスタリカバリシステム（ストレージシステム２）では、メインサイト６０とリモートサイト７０とを接続する通信ネットワーク８０において障害が発生した場合、その障害が解消したのちに、論理ディスク６１０に記憶されているデータと論理ディスク７１０に記憶されているデータとを一致させる再同期処理が行われる。メインサイト６０におけるストレージ装置６００は、この再同期処理において、論理ディスク６１０におけるある領域のデータを論理ディスク７１０にコピーする際に、データの整合性を保証するために、コピーする領域を更新排他状態に設定する必要がある。この場合、ホスト装置６３０は、更新排他状態が解除されるまで、コピーする領域に対する更新処理（書き込み処理）を行うことができなくなる。即ち、例えば、コピーする領域のデータ量が大きい場合、あるいは、通信ネットワーク８０における輻輳の発生によって通信遅延時間が長くなる場合などでは、図９に例示する更新応答時間が大幅に悪化する可能性がある。
【００８０】
このような課題に対して、本実施形態に係るストレージ装置（ストレージ制御装置）１００は、順序保証バッファ（第一及び第二の記憶部）１１０と、差分管理部１２０と、検出部１３０と、取得部１４０と、制御部１５０と、を備え、例えば図１乃至図５を参照して上述した通り動作する。即ち、順序保証バッファ１１０は、ストレージ装置（第一のストレージ装置）１００に記憶されているデータに対する更新内容を、ストレージ装置（第二のストレージ装置）２００に記憶されている当該データの複製に適用する場合において、当該更新内容を表す更新データ１１１を記憶する。差分管理部１２０は、ストレージ装置１００に記憶されているデータと、ストレージ装置２００に記憶されている当該データの複製との差分を表す差分ビットマップ（差分情報）１２１を管理する。検出部１３０は、順序保証バッファ１１０の使用状況に関する所定の事象を検出する。取得部１４０は、当該所定の事象が検出された場合に、差分ビットマップ１２１に基づいて、ストレージ装置１００から、ストレージ装置２００に対する転送データを取得するとともに、ストレージ装置１００における当該転送データの格納領域を、更新排他状態に設定する。そして、制御部１５０は、順序保証バッファ１１０を介してストレージ装置２００に転送する当該転送データを順序保証バッファ１１０に格納する際に、当該更新排他状態を解除するとともに、当該転送データに関する差分ビットマップ１２１を削除するよう差分管理部１２０を制御する。
【００８１】
即ち、本実施形態に係るストレージ装置１００は、再同期処理において、順序保証バッファ１１０を介したデータ転送を行い、転送データを順序保証バッファ１１０に格納したタイミングで、ストレージ装置１００における転送データの格納領域の更新排他状態を解除するとともに、転送データに関する差分ビットマップ１２１を削除する。したがって、ストレージ装置１００は、転送データを順序保証バッファ１１０に格納してのちに当該転送データの格納領域に対して発生した更新の内容を、新たな差分ビットマップ１２１として管理することによって、データの整合性を維持しつつ、早いタイミングで転送データの格納領域の更新排他状態を解除することを実現する。これにより、本実施形態に係るストレージ装置１００は、再同期処理において転送するデータの格納領域を更新排他状態に設定する期間を短縮することができるので、ストレージ装置間における再同期処理を実行する際に応答性能が低下することを回避することができる。
【００８２】
また、本実施形態に係る差分管理部１２０は、更新データ１１１が順序保証バッファ１１０に格納されたときに更新データ１１１に関する差分ビットマップ１２１を削除したのち、検出部１３０によって所定の事象が検出された場合に、順序保証バッファ１１０に記憶されている更新データ１１１に関する差分ビットマップ１２１を生成する。そして制御部１５０は、検出部１３０によって所定の事象が検出された場合に、順序保証バッファ１１０に記憶されている更新データ１１１を削除する。即ち、本実施形態に係る差分管理部１２０は、必要最小限の差分ビットマップ１２１を管理するとともに、制御部１５０は、再同期処理を行う前に、順序保証バッファ１１０に記憶されている更新データ１１１を速やかに削除する。これにより、本実施形態に係るストレージ装置１００は、上述した順序保証バッファ１１０を介した再同期処理を効率的に行うことができる。
【００８３】
また、上述した本実施形態に係るストレージ装置１００は、更新データ１１１を記憶するための順序保証バッファ１１０（第一の記憶部）を、再同期処理における転送データを格納するバッファ（第二の記憶部）として使用する。即ち、ストレージ装置１００は、第一の記憶部と第二の記憶部とを共用することによってコストを削減した構成を備えているが、ストレージ装置１００は、第二の記憶部として専用のバッファを備えるようにしてもよい。
【００８４】
この場合、ストレージ装置１００は、ホスト装置１９０から発行された更新命令による更新データ１１１の第一の記憶部への登録と、再同期処理の実行による転送データの第二の記憶部への登録とを並列に行うことが可能である。そしてこの場合、ストレージ装置１００は、更新データ１１１と転送データとに関して、共通の順序管理を行えばよい。また、ストレージ装置１００は、第二の記憶部として専用のバッファを備える場合、再同期処理を実行する前に、順序保証バッファ１１０に転送データを格納するための領域を確保するために、順序保証バッファ１１０から更新データ１１１を削除することを行う必要はない。
【００８５】
また、本実施形態に係る制御部１５０は、ストレージ装置１００とストレージ装置２００とを通信可能に接続する通信ネットワーク３０の状況を表す情報を外部から受信する機能を備えてもよい。この場合、制御部１５０は、その通信ネットワーク３０の状況を表す情報と、ストレージ装置１００からストレージ装置２００に対して転送する必要があるデータ量とが条件を満たす場合に、再同期処理におけるデータ転送を実行する。
【００８６】
より具体的には、制御部１５０は、例えば、転送する必要があるデータ量が多い場合、通信ネットワーク３０における輻輳が大きく改善されるまで、再同期処理におけるデータ転送を保留する。そして、制御部１５０は、例えば、転送する必要があるデータ量が少ない場合、通信ネットワーク３０における輻輳がある程度改善された時点において、再同期処理におけるデータ転送を開始してもよい。本実施形態に係るストレージ装置１００は、このように動作する制御部１５０を備えることによって、再同期処理をより効率的に行うことができる。
【００８７】
また、本実施形態に係るストレージシステム１が採用するレプリケーションの方式は、非同期順序保証コピー方式に限定されない。本実施形態に係るストレージ装置１００が備えるストレージ制御装置としての機能は、メインサイトにおけるデータの更新とは非同期でレプリケーションを実行するためのバッファを備えた、例えば順序保証を行わない非同期コピーを実行するシステムなどにおいても利用可能である。
【００８８】
＜第２の実施形態＞
図６は、本願発明の第２の実施形態に係るストレージ制御装置４０の構成を示すブロック図である。
【００８９】
本実施形態に係るストレージ制御装置４０は、第一の記憶部４１、差分管理部４２、検出部４３、取得部４４、制御部４５、及び、第二の記憶部４６を備える。
【００９０】
第一の記憶部４１は、第一のストレージ装置５０に記憶されているデータ５００に対する更新内容を、第二のストレージ装置５１に記憶されているデータ５００の複製５１０に適用する場合において、当該更新内容を表す更新情報４１０を記憶する。
【００９１】
差分管理部４２は、第一のストレージ装置５０に記憶されているデータ５００と、第二のストレージ装置５１に記憶されているデータ５００の複製５１０との差分を表す差分情報４２０を管理する。
【００９２】
検出部４３は、第一の記憶部４１の使用状況に関する所定の事象４３０を検出する。
【００９３】
取得部４４は、所定の事象４３０が検出された場合に、差分情報４２０に基づいて、第一のストレージ装置５０から、第二のストレージ装置５１に対する転送データ４６０を取得するとともに、第一のストレージ装置５０における転送データ４６０の格納領域を、更新排他状態に設定する。
【００９４】
制御部４５は、第二の記憶部４６を介して第二のストレージ装置５１に転送する転送データ４６０を第二の記憶部４６に格納する際に、当該更新排他状態を解除するとともに、転送データ４６０に関する差分情報４２０を削除するよう差分管理部４２を制御する。
【００９５】
本実施形態に係るストレージ制御装置４０は、ストレージ装置間におけるレプリケーションを非同期に行うシステムにおいて、ストレージ装置間における再同期処理を実行する際に応答性能が低下することを回避することができる。その理由は、ストレージ制御装置４０は、第一のストレージ装置５０と第二のストレージ装置５１との間の再同期処理に伴うデータ転送を、第二の記憶部４６を介して実行し、転送データ４６０を第二の記憶部４６に格納する際に、転送データ４６０に関する更新排他状態を解除するとともに、転送データ４６０に関する差分情報４２０を削除するからである。
【００９６】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図６に示したストレージ制御装置（ストレージ装置）における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、及び、図６において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・順序保証バッファ１１０、第一の記憶部４１、第二の記憶部４６における記憶制御機能、
・差分管理部１２０及び４２、
・検出部１３０及び４３、
・取得部１４０及び４４、
・制御部１５０及び４５、
・論理ディスクアクセス制御部１６０。
【００９７】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図７を参照して説明する。
【００９８】
図７は、本願発明の各実施形態に係るストレージ制御装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図７は、図１、及び、図６に示したストレージ制御装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００９９】
図７に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・モニターやスピーカ、キーボード等の入出力インタフェース９０９。
【０１００】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【０１０１】
そして、上述した実施形態を例に説明した本願発明は、図７に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図６）における上述した構成、或いはフローチャート（図３Ａ及び３Ｂ、図４、図５）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【０１０２】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【０１０３】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【０１０４】
１    ストレージシステム
１０    メインサイト
１００    ストレージ装置
１１０    順序保証バッファ
１１１    更新データ
１２０    差分管理部
１２１    差分ビットマップ
１３０    検出部
１４０    取得部
１５０    制御部
１６０    論理ディスクアクセス制御部
１７０    キャッシュ
１８１及び１８２    論理ディスク
１９０    ホスト装置
２０    リモートサイト
２００    ストレージ装置
２１０    順序保証バッファ
２７０    キャッシュ
２８１及び２８２    論理ディスク
３０    通信ネットワーク
４０    ストレージ制御装置
４１    第一の記憶部
４１０    更新情報
４２    差分管理部
４２０    差分情報
４３    検出部
４３０    所定の事象
４４    取得部
４５    制御部
４６    第二の記憶部
４６０    転送データ
５０    第一のストレージ装置
５００    データ
５１    第二のストレージ装置
５１０    複製
２    ストレージシステム
６０    メインサイト
６００    ストレージ装置
６１０    論理ディスク
６１１    コピー領域
６２０    バッファ
７０    リモートサイト
７００    ストレージ装置
７１０    論理ディスク
７１１    コピー領域
８０    通信ネットワーク
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2020149573.tif 000003
【図２】
2020149573.tif 000004
【図３Ａ】
2020149573.tif 000005
【図３Ｂ】
2020149573.tif 000006
【図４】
2020149573.tif 000007
【図５】
2020149573.tif 000008
【図６】
2020149573.tif 000009
【図７】
2020149573.tif 000010
【図８】
2020149573.tif 000011
【図９】
2020149573.tif 000012
【図１０】
2020149573.tif 000013