(57)【要約】【課題】  ストレージ装置において、リモートコピーを行う際の正ディスク制御装置から副ディスク制御装置への転送データのデータ量を低減させ、データの整合性も保証することができるストレージ装置を提供する。【解決手段】  ストレージ装置において、正ディスク制御装置１００では、キャッシュメモリ１０３の第２の領域に格納された副ディスク制御装置２００に転送すべき更新データに対して、予め設定された第１の基点と第２の基点間の規定時間の間は同一レコードの更新データを上書きし、副ディスク制御装置２００では、第１の基点と前記第２の基点間の更新データを一貫性の取れた実データとして扱うものである。【選択図】  図１ 
2005275582.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリおよび制御メモリを含み、ホストコンピュータが接続される正ディスク制御装置と、前記正ディスク制御装置に接続されたディスク装置と、キャッシュメモリおよび制御メモリを含む副ディスク制御装置と、前記副ディスク制御装置に接続されたディスク装置とを備え、
前記正ディスク制御装置のキャッシュメモリは、前記ディスク装置へ書き込まれる更新データを格納する第１の領域と前記副ディスク制御装置に転送すべき更新データを格納する第２の領域を有し、
前記正ディスク制御装置は、前記ホストコンピュータからの更新データにタイムスタンプおよび受領番号を付与して、前記副ディスク制御装置に転送すべき更新データとして、前記キャッシュメモリの前記第２の領域に格納し、その格納された更新データを前記副ディスク制御装置に転送して、前記副ディスク制御装置へのリモートコピーを行うストレージ装置であって、
前記正ディスク制御装置では、前記キャッシュメモリの前記第２の領域に格納された前記副ディスク制御装置に転送すべき更新データに対して、予め設定された第１の基点と第２の基点間の規定時間の間は同一レコードの更新データを上書きし、
前記副ディスク制御装置では、前記第１の基点と前記第２の基点間の更新データを一貫性の取れた実データとして扱うことを特徴とするストレージ装置。
【請求項２】
請求項１記載のストレージ装置において、
前記タイムスタンプは、前記ホストコンピュータまたは前記正ディスク制御装置により付与され、前記受領番号は、前記正ディスク制御装置により前記ホストコンピュータからの更新データの受領情報に基づいて付与され、これらの情報は、前記制御メモリ内に格納されることを特徴とするストレージ装置。
【請求項３】
請求項１記載のストレージ装置において、
前記正ディスク制御装置と前記副ディスク制御装置との間で、前記第１の基点および前記第２の基点を同期させることを特徴とするストレージ装置。
【請求項４】
請求項１記載のストレージ装置において、
前記正ディスク制御装置のキャッシュメモリに格納された更新データに対して、同一レコードの更新データを上書きした際、その更新データに対する上書き回数の情報を前記制御メモリ内に格納し、前記副ディスク制御装置では、前記タイムスタンプ、前記受領番号および前記上書き回数の情報に基づいて、前記更新データの確認を行うことを特徴とするストレージ装置。
【請求項５】
請求項１記載のストレージ装置において、
前記第２の基点は前記正ディスク制御装置で同期ポイントとして、前記正ディスク制御装置のキャッシュメモリに格納し、
前記副ディスク制御装置では、前記第１の基点と前記同期ポイント間の更新データを一貫性の取れた実データとして扱うことを特徴とするストレージ装置。
【請求項６】
請求項５記載のストレージ装置において、
前記同期ポイントは、前記ホストコンピュータからの同期要求により前記正ディスク制御装置のキャッシュメモリに格納されることを特徴とするストレージ装置。
【請求項７】
請求項１記載のストレージ装置において、
前記正ディスク制御装置は、前記第１の基点と前記第２の基点間の更新データを一括して、前記副ディスク制御装置に転送することを特徴とするストレージ装置。
【請求項８】
請求項１記載のストレージ装置において、
前記正ディスク制御装置のキャッシュメモリに格納された更新データに対して、同一レコードの更新データを上書きするモードおよび上書きしないモードを設け、前記ホストコンピュータからモード切替の指示があると、前記正ディスク制御装置のキャッシュメモリにモード切替の情報を格納して、前記モード切替の情報を前記副ディスク制御装置に転送し、
前記副ディスク制御装置では、前記正ディスク制御装置から転送された前記モード切替の情報に基づいて、動作モードを変更することを特徴とするストレージ装置。
【請求項９】
請求項８記載のストレージ装置において、
前記正ディスク制御装置を複数設け、前記複数の正ディスク制御装置から、それぞれ前記モード切替の情報を前記副ディスク制御装置に転送し、
前記副ディスク制御装置では、前記複数の正ディスク制御装置から転送された前記モード切替の情報が全て一致したときに、動作モードを変更することを特徴とするストレージ装置。
【請求項１０】
請求項８記載のストレージ装置において、
前記正ディスク制御装置内での前記更新データの処理状態に基づいて、前記モード切替の情報を、前記正ディスク制御装置のキャッシュメモリに格納することを特徴とするストレージ装置。
【請求項１１】
キャッシュメモリ、制御メモリ、正ライトデータ受領部、正ライトデータ送信部およびディスクデータ送受信部を含み、ホストコンピュータが接続される正ディスク制御装置と、前記正ディスク制御装置のディスクデータ送受信部に接続されたディスク装置と、キャッシュメモリ、制御メモリ、副ライトデータ受領部およびディスクデータ送受信部を含む副ディスク制御装置と、前記副ディスク制御装置のディスクデータ送受信部に接続されたディスク装置とを備え、
前記正ディスク制御装置のキャッシュメモリは、前記ディスクデータ送受信部により前記ディスク装置へ書き込まれる更新データを格納する第１の領域と前記副ディスク制御装置に転送すべき更新データを格納する第２の領域を有し、
前記正ディスク制御装置は、前記ホストコンピュータからの更新データを前記正ライトデータ受領部により受領し、受領した更新データにタイムスタンプおよび受領番号を付与して、前記副ディスク制御装置に転送すべき更新データとして、前記キャッシュメモリの前記第２の領域に格納し、その格納された更新データを、前記正ライトデータ送信部により、前記副ディスク制御装置に転送して、前記副ディスク制御装置へのリモートコピーを行うストレージ装置であって、
前記正ディスク制御装置では、前記キャッシュメモリの前記第２の領域に格納された前記副ディスク制御装置に転送すべき更新データに対して、予め設定された第１の基点と第２の基点間の規定時間の間は同一レコードの更新データを上書きし、前記第２の基点を同期ポイントとして、前記正ディスク制御装置のキャッシュメモリに格納し、
前記副ディスク制御装置では、前記副ライトデータ受領部により前記正ライトデータ送信部から転送された更新データを受領し、その受領した更新データを前記副ディスク制御装置の前記キャッシュメモリに格納し、その格納された前記第１の基点と前記同期ポイント間の更新データを一貫性の取れた実データとして扱うことを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、正副ディスク制御装置間で非同期のリモートコピーを行うストレージ装置に関し、特に、更新データの転送に適用して有効な技術に関するものである。
【背景技術】
【０００２】
従来、ストレージ装置の正ディスク制御装置と副ディスク制御装置との間で非同期によるリモートコピーを行う際、正ディスク制御装置から副ディスク制御装置への更新データの転送としては、正ディスク制御装置へのライトデータを全て更新データとして転送していた。
【０００３】
また、制御装置間の距離が拡大しても、性能の劣化を微小に抑えるために、正ディスク制御装置から、ライトデータの完了報告を返した後、直接副ディスク制御装置に送り、副ディスク制御装置は、受け取ったライトデータを不揮発メモリに格納することで、データ保証を行い、さらに、ある基準となる時刻を設け、この時刻以前の全てのライトデータを保証し、この時刻より後のライトデータは全て破棄できるようにした記憶制御装置があった（例えば、特許文献１参照）。
【特許文献１】特開２００３−２０２９６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のストレージ装置では、リモートコピーを行う際の正ディスク制御装置から副ディスク制御装置への更新データの転送は、正ディスク制御装置へのライトデータを全て更新データとして転送していたため、同一レコードに対して繰り返し上書きするアクセスパターンの場合には、転送データが増大し、ＩＯ遅延などが発生してしまうという問題があった。
【０００５】
また、特許文献１記載のものも、同様に正ディスク制御装置へのライトデータを、副ディスク制御装置へ送り副ディスク制御装置の不揮発メモリに格納しているので、同一レコードに対して繰り返し上書きするアクセスパターンの場合には、転送データが増大し、ＩＯ遅延などが発生してしまうという問題があった。
【０００６】
本発明の目的は、ストレージ装置において、リモートコピーを行う際の正ディスク制御装置から副ディスク制御装置への転送データのデータ量を低減させ、データの整合性も保証することができるストレージ装置を提供することにある。
【０００７】
また、データの整合性も保証する際の中断点の検出を副ディスク制御装置で容易に検出することのできるストレージ装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明によるストレージ装置は、キャッシュメモリおよび制御メモリを含む正ディスク制御装置と、正ディスク制御装置に接続されたディスク装置と、キャッシュメモリおよび制御メモリを含む副ディスク制御装置と、副ディスク制御装置に接続されたディスク装置とを備え、正ディスク制御装置のキャッシュメモリは、ディスク装置へ書き込まれる更新データを格納する第１の領域と副ディスク制御装置に転送すべき更新データを格納する第２の領域を有し、正ディスク制御装置に接続されたホストコンピュータからの更新データにタイムスタンプおよび受領番号を付与して、副ディスク制御装置に転送すべき更新データとして、キャッシュメモリの第２の領域に格納し、その格納された更新データを副ディスク制御装置に転送して、副ディスク制御装置へのリモートコピーを行うストレージ装置であって、正ディスク制御装置では、キャッシュメモリの第２の領域に格納された副ディスク制御装置に転送すべき更新データに対して、予め設定された第１の基点と第２の基点間の規定時間の間は同一レコードの更新データを上書きし、副ディスク制御装置では、第１の基点と第２の基点間の更新データを一貫性の取れた実データとして扱うものである。
【０００９】
また、本発明によるストレージ装置は、正ディスク制御装置のキャッシュメモリに格納された更新データに対して、同一レコードの更新データを上書きするモードおよび上書きしないモードを設け、ホストコンピュータからモード切替の指示があると、正ディスク制御装置のキャッシュメモリにモード切替の情報を格納して、モード切替の情報を前記副ディスク制御装置に転送し、副ディスク制御装置では、正ディスク制御装置から転送されたモード切替の情報に基づいて、動作モードを変更するものである。
【発明の効果】
【００１０】
本発明によれば、更新レコード単位の時系列にデータ整合性を取る非同期リモートコピーを行う際、同一レコードへの上書きＩＯにおいても、データの整合性を保証しつつ転送データ量の削減と処理オーバーヘッドの削減を図ることができる。
【００１１】
また、本発明によれば、正ディスク制御装置で同期ポイントを用いるので、副ディスク制御装置では同期ポイントを検出するだけで、中断点の検出を行うことができ、自由に同期ポイントを制御することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１３】
（実施の形態１）
＜ストレージ装置の構成＞
図１により、本発明の実施の形態１によるストレージ装置の構成について説明する。図１は本発明の実施の形態１によるストレージ装置の構成を示す構成図である。
【００１４】
図１において、ストレージ装置は、ホストコンピュータ１２０が接続された正ディスク制御装置（以下、正ＤＫＣという）１００、正ＤＫＣ１００に接続されるディスク装置１１０、副ディスク制御装置（以下、副ＤＫＣという）２００、副ＤＫＣ２００に接続されるディスク装置２１０から構成されている。
【００１５】
正ＤＫＣ１００は、正ライトデータ受領部１０１、正ライトデータ送信部１０２、キャッシュメモリ１０３、制御メモリ１０４、ディスクデータ送受信部１０８を含んでいる。
【００１６】
キャッシュメモリ１０３には、正ライトデータ受領部１０１で受領された、ホストコンピュータ１２０からのライトデータ１５１が格納されている。キャッシュメモリ１０３に格納されたライトデータ１５１はその後ディスク装置１１０に書き込まれる。
【００１７】
制御メモリ１０４には、ライトデータ１５１を管理するライトデータ管理情報１０５、ライトデータ１５１の受領番号（ＳＥＱ＃）を管理するためのＳＥＱ＃マスタ１０６、正ＤＫＣ１００と副ＤＫＣ２００との間での基準点を管理するための基準点管理情報１０７が格納されている。
【００１８】
ディスクデータ送受信部１０８は、ディスク装置１１０との間でデータの送受信を行う。
【００１９】
正ライトデータ受領部１０１、正ライトデータ送信部１０２、キャッシュメモリ１０３、制御メモリ１０４およびディスクデータ送受信部１０８は、バスやスイッチなどにより接続されている。
【００２０】
副ＤＫＣ２００は、副ライトデータ受領部２０１、キャッシュメモリ２０２、制御メモリ２０３、副ライトデータ一貫性保持部２０４、ディスクデータ送受信部２０８を含んでいる。
【００２１】
キャッシュメモリ２０２には、正ＤＫＣ１００の正ライトデータ送信部１０２から送信され、副ライトデータ受領部２０１で受領された、ライトデータ１５１が格納されている。キャッシュメモリ２０２に格納されたライトデータ１５１はその後ディスク装置２１０に書き込まれる。
【００２２】
制御メモリ２０３には、ライトデータ１５１を管理するライトデータ管理情報１０５、正ＤＫＣ１００と副ＤＫＣ２００との間での基準点を管理するための基準点管理情報１０７が格納されている。
【００２３】
ディスクデータ送受信部２０８は、ディスク装置２１０との間でデータの送受信を行う。
【００２４】
副ライトデータ受領部２０１、キャッシュメモリ２０２、制御メモリ２０３、副ライトデータ一貫性保持部２０４およびディスクデータ送受信部２０８は、バスやスイッチなどにより接続されている。
【００２５】
本実施の形態では、このストレージ装置により、正ＤＫＣ１００と副ＤＫＣ２００との間で更新レコード単位のデータ整合性と取るリモートコピーを行っている。
【００２６】
＜ライトデータ管理情報＞
次に、図２により、制御メモリ１０４，２０３内に格納されるライトデータ管理情報１０５について説明する。図２はライトデータ管理情報の一例を示す図である。
【００２７】
図２において、ライトデータ管理情報１０５は、ライトデータ１５１に対応して作成され、ディスク装置アドレス１３０、ライトアドレス１３１、ライト時刻１３２、受領番号１３３、ライトデータポインタ１３４、転送必要ビット１３５から構成されている。
【００２８】
ディスク装置アドレス１３０およびライトアドレス１３１は、ディスク装置１１０，２１０上でのライトデータの位置を特定する情報であり、ホストコンピュータ１２０からライト要求１５０により指示される情報である。
【００２９】
ライト時刻１３２の情報は、ホストコンピュータ１２０からのライト要求１５０内でライトデータ１５１に対してライト時刻のタイムスタンプ（Ｔ／Ｓ）１５２として付与された情報であり、ホストコンピュータ１２０がタイムスタンプ１５２を付与しない場合は、正ＤＫＣ１００内のタイマを正ＤＫＣ１００が付与する。
【００３０】
受領番号１３３の情報は、正ＤＫＣ１００がＳＥＱ＃マスタ１０６を参照して、ライトデータ１５１の受領順にライトデータ１５１に対して付与する情報である。
【００３１】
ライトデータポインタ１３４は、対応するライトデータ１５１へのポインタの情報である。
【００３２】
これらの情報はライトデータ１５１と共に、キャッシュメモリ１０３，２０２にも格納され、ディスク装置１１０，２１０へのライトデータ１５１の書き込み、正ＤＫＣ１００から副ＤＫＣ２００へのライトデータ１５１の転送、副ＤＫＣ２００内でのライトデータ１５１の並び替えやライトデータ１５１に抜けがないかのチェックなどに利用される。
【００３３】
転送必要ビット１３５は、正ＤＫＣ１００から副ＤＫＣ２００へライトデータ１５１を転送する必要があるかを示す情報であり、例えば、転送必要ビット１３５が‘ＯＮ’の場合は、そのライトデータ１５１は正ＤＫＣ１００から副ＤＫＣ２００への転送が必要であるとして正ＤＫＣ１００から副ＤＫＣ２００へ転送し、転送した後に、そのライトデータ１５１に対する転送必要ビット１３５を‘ＯＦＦ’にする。
【００３４】
＜正ＤＫＣから副ＤＫＣへのライトデータの転送動作＞
次に、本発明の実施の形態１によるストレージ装置の正ＤＫＣ１００から副ＤＫＣ２００へのライトデータの転送動作について説明する。図３は一般的なライトデータの転送動作を説明するための説明図、図４は実施の形態１によるストレージ装置のライトデータの転送動作を説明するための説明図、図５は正ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャート、図６は正ＤＫＣ側の非同期周期処理の動作を示すフローチャート、図７は副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【００３５】
まず、本実施の形態の正ＤＫＣから副ＤＫＣへのライトデータの転送動作を説明する前に、一般的なライトデータの転送動作を説明する。
【００３６】
一般的なライトデータの転送動作としては、図３に示すように、正ＤＫＣ１００側では、ホストコンピュータ１２０からの更新ＩＯ（図３の（１），（２），（３），（４），（５），（６），（７））に対しホストコンピュータ１２０が付与したタイムスタンプ１５２と正ＤＫＣ１００が付与する受領番号１３３とを更新データのライトデータ１５１と一緒に、副ＤＫＣ２００へ転送すべき更新データ（以下、ＳｉｄｅＦｉｌｅという）としてディスク装置１１０に書き込むデータとは別にキャッシュメモリ１０３に格納し、副ＤＫＣ２００へ転送する前に更新ＩＯを完結させる。その後、正ＤＫＣ１００は副ＤＫＣ２００へホストＩＯとは非同期にＳｉｄｅＦｉｌｅを転送する。
【００３７】
副ＤＫＣ２００では受領したＳｉｄｅＦｉｌｅからライト時刻１３２、受領番号１３３を元に時系列並び替えを行い、確定時刻（中断点）（例えば、図３の副ＤＫＣ側のＢ’まで）までのデータ一貫性を保証する。
【００３８】
この動作では、正ＤＫＣ１００において同一レコードに対し繰り返し上書きするようなアクセスパターン（例えば、図３のＡ、Ａ’、Ａ'"など）においても、全て更新ＩＯとして、ＳｉｄｅＦｉｌｅに格納し、副ＤＫＣ２００へ転送している。
【００３９】
本実施の形態では、図４に示すように、基点１から基点２までの規定時間の間で、正ＤＫＣ１００のキャッシュメモリ１０３のＳｉｄｅＦｉｌｅ上の副ＤＫＣ２００への未転送データのレコードに対する同一レコードの上書きを可能としている（例えば、図４のＢレコードに対するＢ’の更新データ）。
【００４０】
このように、規定時間の間、ＳｉｄｅＦｉｌｅ上のレコードに対する上書きを可能とすることで、転送データ量の削減と処理オーバヘッドの削減が可能となる。
【００４１】
正ＤＫＣ１００ではＳｉｄｅＦｉｌｅを順次副ＤＫＣ２００へ転送してもよいが、未転送のＳｉｄｅＦｉｌｅ上のレコードに更新ＩＯがあった場合、上書きを行う。副ＤＫＣ２００で受領したＳｉｄｅＦｉｌｅは規定時間内はキャッシュメモリ２０２上に保留しておき、規定時間内の全てのデータを受領したら、当該ＳｉｄｅＦｉｌｅを実データとして扱う。
【００４２】
なお、正ＤＫＣ１００と副ＤＫＣ２００での基点は、正ＤＫＣ１００と副ＤＫＣ２００との間でリモートペアを作成する際の最初の動作で決定される。
【００４３】
この正ＤＫＣ１００側の動作としては、図５に示すように、まず、ホストコンピュータ１２０からの更新ＩＯがあると、更新ＩＯのタイムスタンプ１５２が現在の基点２（基点１＋規定時間）よりも大きいか否かを判断する（Ｓ１００）。そして、Ｓ１００で基点２よりも大きいと判断されると規定時間内ではないので、更新ＩＯの更新データをＳｉｄｅＦｉｌｅへ追加し（Ｓ１０３）、Ｓ１００で基点２以下と判断されるとＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在するか否かを判断する（Ｓ１０１）。
【００４４】
そして、Ｓ１０１でＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在しないと判断されると上書きするレコードがないので更新ＩＯの更新データをＳｉｄｅＦｉｌｅへ追加し（Ｓ１０３）、Ｓ１０１でＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在すると判断される、とそのＳｉｄｅＦｉｌｅのレコードのデータに対して更新ＩＯの更新データを上書きする（Ｓ１０２）。
【００４５】
また、正ＤＫＣ１００側では、図６に示すように、非同期周期処理として、ＳｉｄｅＦｉｌｅの先頭から副ＤＫＣ２００へデータ転送処理を行っている（Ｓ１１０）。
【００４６】
また、副ＤＫＣ２００側の動作としては、図７に示すように、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納した後、タイムスタンプ１５２が現在の基点２（基点１＋規定時間）よりも大きいか否かを判断する（Ｓ１２０）。そして、Ｓ１２０で基点２よりも大きいと判断されるまで正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、Ｓ１２０で基点２よりも大きいと判断されると、基点１から基点２の間の更新データについてその受領番号１３３にもれがないかを判断する（Ｓ１２１）。
【００４７】
そして、Ｓ１２１で受領番号１３３にもれがあった場合は基点１から基点２の間の全ての更新データを正ＤＫＣ１００から受領していないので、再度、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納する。
【００４８】
そして、Ｓ１２１で受領番号１３３にもれがないと判断されると、基点１から基点２のデータを一貫性の取れた実データとして、キャッシュメモリ２０２内で通常キャッシュに移す（Ｓ１２２）。その後通常キャッシュのデータはディスク装置２１０に書き込まれ、一貫性の取れた実データとなる。
【００４９】
＜受領番号の確認動作＞
次に、図８により、図７のＳ１２１での受領番号１３３の確認動作について説明する。図８は受領番号の確認動作を説明するための説明図である。
【００５０】
正ＤＫＣ１００のキャッシュメモリ１０３のＳｉｄｅＦｉｌｅ上の同一レコードを更新データで上書きすると、副ＤＫＣ２００側で全てのＳｉｄｅＦｉｌｅを受領したかどうか判断が難しい。
【００５１】
そこで、本実施の形態では、ＳｉｄｅＦｉｌｅの管理情報として、タイムスタンプ１５２、受領番号１３３に加えて、レコードに対する上書き回数の情報を追加する。
【００５２】
例えば、図８に示す例では、ホストコンピュータ１２０からの更新ＩＯ（図８の（１），（２），（３），（４），（５））の内、図８の（４）に示す更新ＩＯ（Ｂ’）はＢレコードと同一レコードのデータなので、Ｂ’の更新データをＢレコードに上書きする。この際、Ｂレコードの受領番号１３３はＢ’のものではなく、Ｂレコードの受領番号のままとし、Ｂレコードに対する上書き回数の情報として“１”を追加する。
【００５３】
副ＤＫＣ２００側では、基点１から基点２までの規定時間内の到着レコード数（図８に示す例では３個）を、受領番号１３３で確認する際、上書き回数の情報（図８に示す例では１）を参照し、次の規定時間のＳｉｄｅＦｉｌｅの最初の受領番号１３３（図８に示す例では５）と比較することにより、全てのＳｉｄｅＦｉｌｅを受領したかどうかを確認することができる。すなわち、受領番号１３３による到着レコード数の情報と、各レコードの上書き回数の情報を加算した情報により、更新データが上書きされなかった場合の到着レコード数が確認できるので、その到着レコード数と次の規定時間のＳｉｄｅＦｉｌｅの最初の受領番号１３３により、全てのＳｉｄｅＦｉｌｅを受領したかどうかを確認することができる。
【００５４】
本実施の形態では、基点１から基点２までの規定時間の間で、正ＤＫＣ１００のキャッシュメモリ１０３のＳｉｄｅＦｉｌｅ上の副ＤＫＣ２００への未転送データの同一レコードに対する上書きをしているので、更新レコード単位の時系列にデータ整合性を取る非同期リモートコピーを行う際、同一レコードへの上書きＩＯにおいても、データの整合性を保証しつつ転送データ量の削減と処理オーバーヘッドの削減を図ることができる。
【００５５】
例えば、ホストコンピュータ１２０から４ＫＢ／レコードの同一レコードに対し１，０００ｉｏｐｓの更新がある場合、従来では４ＫＢ／レコード×１，０００ｉｏｐｓ＝４ＭＢの転送が必要であったものが、本実施の形態では、最大４ＫＢに削減可能である。
【００５６】
（実施の形態２）
本実施の形態は、実施の形態１において正ＤＫＣ１００と副ＤＫＣ２００の両方で管理する基点１，基点２の代わりに、正ＤＫＣ１００から上書きを中止したタイミングを示す同期ポイントを副ＤＫＣ２００へ転送することにより、副ＤＫＣ２００側では、基点の管理は行わないようにしたものである。
【００５７】
本実施の形態のストレージ装置の構成は実施の形態１と同じ構成である。
【００５８】
＜正ＤＫＣから副ＤＫＣへのライトデータの転送動作＞
次に、本発明の実施の形態２によるストレージ装置の正ＤＫＣ１００から副ＤＫＣ２００へのライトデータの転送動作について説明する。図９は実施の形態２によるストレージ装置のライトデータの転送動作を説明するための説明図、図１０は正ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャート、図１１は正ＤＫＣ側の非同期周期処理の動作を示すフローチャート、図１２はホストコンピュータからの同期ポイント指示の動作を示すフローチャート、図１３は副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【００５９】
本実施の形態では、図９に示すように、基点１から同期ポイント（図９のＳのレコード）までの時間の間で、正ＤＫＣ１００のキャッシュメモリ１０３のＳｉｄｅＦｉｌｅ上の副ＤＫＣ２００への未転送データのレコードに対する同一レコードの上書きを可能としている（例えば、図９のＢレコードに対するＢ’の更新データ）。
【００６０】
このように、ある一定時間の間、ＳｉｄｅＦｉｌｅ上のレコードに対する上書きを可能とすることで、転送データ量の削減と処理オーバヘッドの削減が可能となる。
【００６１】
正ＤＫＣ１００ではＳｉｄｅＦｉｌｅを順次副ＤＫＣ２００へ転送してもよいが、未転送のＳｉｄｅＦｉｌｅ上のレコードに更新ＩＯがあった場合、上書きを行う。副ＤＫＣ２００で受領したＳｉｄｅＦｉｌｅは、同期ポイントが転送されるまではキャッシュメモリ２０２上に保留しておき、同期ポイントが転送されるまでの全てのデータを受領したら、当該ＳｉｄｅＦｉｌｅを実データとして扱う。
【００６２】
なお、正ＤＫＣ１００と副ＤＫＣ２００での基点１は、正ＤＫＣ１００と副ＤＫＣ２００との間でリモートペアを作成する際の最初の動作で決定され、その後、正ＤＫＣ１００では、実施の形態１と同様な規定時間により、基点２の管理を行っており、基点２付近での同期ポイントが副ＤＫＣ２００へ転送されるようになっている。また、ホストコンピュータ１２０から任意に同期ポイントを指示することもでき、ユーザが自由に非同期コピーの同期を制御することも可能である。
【００６３】
この正ＤＫＣ１００側の動作としては、図１０に示すように、まず、ホストコンピュータ１２０からの更新ＩＯがあると、更新ＩＯのタイムスタンプ１５２が現在の基点２（基点１＋規定時間）よりも大きいか否かを判断する（Ｓ１３０）。そして、Ｓ１３０で基点２よりも大きいと判断されると同期ポイントの転送時期として、ＳｉｄｅＦｉｌｅに同期ポイントを指示し（Ｓ１３３）、更新ＩＯの更新データをＳｉｄｅＦｉｌｅへ追加し（Ｓ１３４）、Ｓ１３０で基点２以下と判断されるとＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在するか否かを判断する（Ｓ１３１）。
【００６４】
そして、Ｓ１３１でＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在しないと判断されると上書きするレコードがないので更新ＩＯの更新データをＳｉｄｅＦｉｌｅへ追加し（Ｓ１３４）、Ｓ１３１でＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在すると判断されるとそのＳｉｄｅＦｉｌｅのレコードのデータに対して更新ＩＯの更新データを上書きする（Ｓ１３２）。
【００６５】
また、正ＤＫＣ１００側では、図１１に示すように、非同期周期処理として、ＳｉｄｅＦｉｌｅの先頭から副ＤＫＣ２００へデータ転送処理を行っている（Ｓ１４０）。また、非同期周期処理として、現在時刻が現在の基点２（基点１＋規定時間）よりも大きいか否かを判断し（Ｓ１４１）、現在時刻が現在の基点２（基点１＋規定時間）よりも大きい場合は、ＳｉｄｅＦｉｌｅに同期ポイントを指示している（Ｓ１４２）。
【００６６】
なお、図１０のＳ１３３と、図１１のＳ１４２での同期ポイントの指示は、正ＤＫＣ１００で管理している基点２の時間付近で動作するものであり、どちらかの指示により同期ポイントが指示され、同期ポイントが指示された後は、そのポイントが基点１として管理されるため２重に同期ポイントが指示されないようになっている。
【００６７】
また、ホストコンピュータ１２０からの同期要求があった際の動作としては、図１２に示すように、ホストコンピュータ１２０からの同期要求があると、その時点でＳｉｄｅＦｉｌｅに同期ポイントを指示する（Ｓ１５０）。
【００６８】
また、副ＤＫＣ２００側の動作としては、図１３に示すように、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納した後、同期ポイントのＳｉｄｅＦｉｌｅか否かを判断する（Ｓ１６０）。そして、Ｓ１６０で同期ポイントのＳｉｄｅＦｉｌｅと判断されるまで正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、Ｓ１６０で同期ポイントのＳｉｄｅＦｉｌｅと判断されると、基点１から同期ポイントの間の更新データの受領番号１３３を全て受領したか否かを判断する（Ｓ１６１）。
【００６９】
そして、Ｓ１６１で受領番号１３３を全て受領していないと判断されると、再度正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納する（Ｓ１６２）。
【００７０】
そして、Ｓ１６１で受領番号１３３を全て受領したと判断されると、基点１から同期ポイントのデータを一貫性の取れた実データとして、キャッシュメモリ２０２内で通常キャッシュに移す（Ｓ１６３）。その後通常キャッシュのデータはディスク装置２１０に書き込まれ、一貫性の取れた実データとなる。
【００７１】
本実施の形態では、基点１から同期ポイントまでの時間の間で、正ＤＫＣ１００のキャッシュメモリ１０３のＳｉｄｅＦｉｌｅ上の副ＤＫＣ２００への未転送データの同一レコードに対する上書きをしているので、更新レコード単位の時系列にデータ整合性を取る非同期リモートコピーを行う際、同一レコードへの上書きＩＯにおいても、データの整合性を保証しつつ転送データ量の削減と処理オーバーヘッドの削減を図ることができる。
【００７２】
例えば、ホストコンピュータ１２０から４ＫＢ／レコードの同一レコードに対し１，０００ｉｏｐｓの更新がある場合、従来では４ＫＢ／レコード×１，０００ｉｏｐｓ＝４ＭＢの転送が必要であったものが、本実施の形態では、最大４ＫＢに削減可能である。
【００７３】
さらに、副ＤＫＣ２００では基点を管理することなく同期ポイントを検出するだけで、中断点の検出を行うことができ、ユーザがホストコンピュータ１２０から自由に同期ポイントを制御することが可能となり、例えばＤＢＭＳ（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）のコミット(ディスク書き込み)直後に同期ポイント指示を行えば、当該コミットが副ＤＫＣ２００へ確実に到着したことを確認できる。
【００７４】
（実施の形態３）
本実施の形態は、実施の形態１において非同期での正ＤＫＣ１００から副ＤＫＣ２００への更新データの転送は行わずに、基点１〜基点２までの規定時間内はＳｉｄｅＦｉｌｅを副ＤＫＣ２００へ転送せず、規定時間を超過した地点で当該ＳｉｄｅＦｉｌｅを副ＤＫＣ２００へ一括転送するようにしたものである。
【００７５】
本実施の形態のストレージ装置の構成は実施の形態１と同じ構成である。
【００７６】
＜正ＤＫＣから副ＤＫＣへのライトデータの転送動作＞
次に、本発明の実施の形態３によるストレージ装置の正ＤＫＣ１００から副ＤＫＣ２００へのライトデータの転送動作について説明する。図１４は実施の形態３によるストレージ装置のライトデータの転送動作を説明するための説明図、図１５は正ＤＫＣ側のライトデータをキャッシュメモリに格納する動作およびデータ転送動作を示すフローチャート、図１６は副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【００７７】
本実施の形態では、図１４に示すように、基点１から基点２までの規定時間の間で、正ＤＫＣ１００のキャッシュメモリ１０３のＳｉｄｅＦｉｌｅ上の副ＤＫＣ２００への未転送データのレコードに対する同一レコードの上書きを可能としている（例えば、図１４のＢレコードに対するＢ’の更新データ）。
【００７８】
このように、規定時間の間、ＳｉｄｅＦｉｌｅ上のレコードに対する上書きを可能とすることで、転送データ量の削減と処理オーバヘッドの削減が可能となる。
【００７９】
そして、正ＤＫＣ１００ではＳｉｄｅＦｉｌｅを基点１から基点２までの規定時間の間は副ＤＫＣ２００へ転送せずに、ＳｉｄｅＦｉｌｅ上のレコードに更新ＩＯがあった場合、上書きを行う。副ＤＫＣ２００で受領したＳｉｄｅＦｉｌｅは規定時間内はキャッシュメモリ２０２上に保留しておき、規定時間内の全てのデータを受領したら、当該ＳｉｄｅＦｉｌｅを実データとして扱う。
【００８０】
なお、正ＤＫＣ１００と副ＤＫＣ２００での基点は、正ＤＫＣ１００と副ＤＫＣ２００との間でリモートペアを作成する際の最初の動作で決定される。
【００８１】
この正ＤＫＣ１００側の動作としては、図１５に示すように、まず、ホストコンピュータ１２０からの更新ＩＯがあると、更新ＩＯのタイムスタンプ１５２が現在の基点２（基点１＋規定時間）よりも大きいか否かを判断し（Ｓ１７０）、Ｓ１７０で基点２以下と判断されるとＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在するか否かを判断する（Ｓ１７１）。
【００８２】
そして、Ｓ１７１でＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在しないと判断されると上書きするレコードがないので更新ＩＯの更新データをＳｉｄｅＦｉｌｅへ追加し（Ｓ１７３）、Ｓ１７１でＳｉｄｅＦｉｌｅに更新ＩＯのレコードが存在すると判断されるとそのＳｉｄｅＦｉｌｅのレコードのデータに対して更新ＩＯの更新データを上書きする（Ｓ１７２）。
【００８３】
また、Ｓ１７０で基点２よりも大きいと判断されると規定時間内ではないので、更新ＩＯの更新データをＳｉｄｅＦｉｌｅへ追加し（Ｓ１７４）、基点１〜基点２のＳｉｄｅＦｉｌｅを一括して副ＤＫＣ２００へデータ転送する（Ｓ１７５）。
【００８４】
また、正ＤＫＣ１００側では、図１６に示すように、正ＤＫＣ１００から基点１〜基点２のＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納した後、基点１から基点２の間の更新データについてその受領番号１３３にもれがないかを判断する（Ｓ１８０）。
【００８５】
そして、Ｓ１８０で受領番号１３３にもれが有った場合は基点１から基点２の間の全ての更新データを正ＤＫＣ１００から受領していないので、再度、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納する。
【００８６】
そして、Ｓ１８０で受領番号１３３にもれがないと判断されると、基点１から基点２のデータを一貫性の取れた実データとして、キャッシュメモリ２０２内で通常キャッシュに移す（Ｓ１８１）。その後通常キャッシュのデータはディスク装置２１０に書き込まれ、一貫性の取れた実データとなる。
【００８７】
本実施の形態では、基点１から基点２までの規定時間の間で、正ＤＫＣ１００のキャッシュメモリ１０３のＳｉｄｅＦｉｌｅ上の副ＤＫＣ２００への未転送データの同一レコードに対する上書きをしているので、更新レコード単位の時系列にデータ整合性を取る非同期リモートコピーを行う際、同一レコードへの上書きＩＯにおいても、データの整合性を保証しつつ転送データ量の削減と処理オーバーヘッドの削減を図ることができる。
【００８８】
例えば、ホストコンピュータ１２０から４ＫＢ／レコードの同一レコードに対し１，０００ｉｏｐｓの更新がある場合、従来では４ＫＢ／レコード×１，０００ｉｏｐｓ＝４ＭＢの転送が必要であったものが、本実施の形態では、最大４ＫＢに削減可能である。
【００８９】
さらに、ＳｉｄｅＦｉｌｅを正ＤＫＣ１００から非同期で順次転送すると、同一レコードに更新ＩＯがあっても、当該データが既に転送済みである場合が想定され、規定時間内であっても再度更新データを転送しなければならないが、基点１〜基点２までの規定時間内の更新データを一括して転送することにより、ＳｉｄｅＦｉｌｅへの上書き効率が向上し、転送データのさらなる削減が可能となる。
【００９０】
また、副ＤＫＣ２００では規定時間内データを一括受領することで、規定時間を意識することなく受領データを実データとして扱うことができる。
【００９１】
（実施の形態４）
本実施の形態は実施の形態１〜実施の形態３において、通信経路障害などで正ＤＫＣ１００と副ＤＫＣ２００との間の通信ができなくなり、リモートペアを一時停止した場合でもデータの整合性を保証できるようにしたものである。
【００９２】
本実施の形態のストレージ装置の構成は実施の形態１と同じ構成である。
【００９３】
＜通信経路障害時の動作＞
次に、本発明の実施の形態４によるストレージ装置の通信経路障害時の動作について説明する。
【００９４】
通信経路障害等で正ＤＫＣ１００と副ＤＫＣ２００との間での通信ができなくなると当該リモートコピーペアを一時停止する必要がある。一時停止においても副ＤＫＣ２００におけるデータ整合性は保証する必要があり、一時停止解除後は一時停止期間中の更新データも漏れなく副ＤＫＣ２００に反映させなければならない。
【００９５】
この場合、ＳｉｄｅＦｉｌｅ転送中かつ、規定時間内のＳｉｄｅＦｉｌｅを全て副ＤＫＣ２００に転送できなかった場合（通信経路の障害等）、その期間内のデータは副ＤＫＣ２００では破棄してよいが、正ＤＫＣ１００では副ＤＫＣ２００に送信してしまったデータを含めて未転送データとして扱う必要がある。
【００９６】
そこで、本実施の形態では、図２に示すようなライトデータ管理情報１０５の転送必要ビット１３５を用いて、通信経路障害時の動作を制御する。
【００９７】
まず、正ＤＫＣ１００で更新データをＳｉｄｅＦｉｌｅとして格納した際、図２の転送必要ビット１３５を‘ＯＮ’とし、副ＤＫＣ２００への転送が完了すると転送必要ビット１３５を‘ＯＦＦ’として、規定時間内のＳｉｄｅＦｉｌｅデータ全てを正常に副ＤＫＣ２００へ転送完了した場合、当該規定時間内のＳｉｄｅＦｉｌｅは正ＤＫＣ１００から消去可能とする。
【００９８】
しかし、規定時間内のＳｉｄｅＦｉｌｅを全て送信できず、途中で転送に失敗した（通信経路障害等)場合、ＳｉｄｅＦｉｌｅ内の転送必要ビット１３５の‘ＯＮ’、‘ＯＦＦ’の状態にかかわらず、ＳｉｄｅＦｉｌｅ内のデータ全てを副ＤＫＣ２００へ転送する必要のある差分データとして管理する。
【００９９】
また、一時的な障害で即座に復旧できた場合は一時停止とはならず、転送必要ビット１３５の状態に従ってデータ転送を継続する。
【０１００】
本実施の形態では、通常時は、ライトデータ管理情報１０５の転送必要ビット１３５を用いて、データ転送を行い、通信経路障害時には、転送必要ビット１３５の状態にかかわらずＳｉｄｅＦｉｌｅ内のデータ全てを副ＤＫＣ２００へ転送する必要のある差分データとして管理するので、リモートコピーペアが停止しなければならない状態（通信経路障害等）となった場合、規定時間内のＳｉｄｅＦｉｌｅにおいて、副ＤＫＣ２００へ転送完了したデータも、差分データとして管理することが可能である。
【０１０１】
（実施の形態５）
本実施の形態は実施の形態１〜実施の形態３において、ＳｉｄｅＦｉｌｅの格納モードとして、ＳｉｄｅＦｉｌｅを上書きする上書きモードと、ＳｉｄｅＦｉｌｅを上書きしない従来モードを切り替えるようにしたものである。
【０１０２】
本実施の形態のストレージ装置の構成は実施の形態１と同じ構成である。
【０１０３】
＜モード切替の動作＞
次に、本発明の実施の形態５によるストレージ装置のモード切替の動作について説明する。
【０１０４】
図１７は実施の形態５によるストレージ装置のモード切替の動作を説明するための説明図、図１８は正ＤＫＣ側のモード切替の動作を示すフローチャート、図１９は副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【０１０５】
本実施の形態では、図１７に示すように、基点１から基点２までの規定時間の間で、ホストコンピュータ１２０からのモード切替指示の指定を可能としている（例えば、図１７の（５）に示すホストコンピュータ１２０からのデータ）。
【０１０６】
このように、正ＤＫＣ１００側でモード切替指示の指定を可能とすることで、上書きモードと従来モードでの動作を自由に切り替えることが可能となる。
【０１０７】
そして、正ＤＫＣ１００ではモード切替を指示されたら、副ＤＫＣ２００へそれを通知し、その時刻以降にモード切替を行い、副ＤＫＣ２００では、正ＤＫＣ１００からのモード切替指示により、モード切替を行う。
【０１０８】
この正ＤＫＣ１００側の動作としては、図１８に示すように、まず、ホストコンピュータ１２０からのＩＯがあると、ＩＯがモード切替指示か否かを判断する（Ｓ１９０）。そして、Ｓ１９０でモード切替指示でないと判断されると、通常のＩＯ処理を行う（Ｓ１９１）。
【０１０９】
また、Ｓ１９０でモード切替指示であると判断されると、モード切替指示をＳｉｄｅＦｉｌｅに格納し、ＳｉｄｅＦｉｌｅを副ＤＫＣ２００へ転送することにより、モード切替指示を副ＤＫＣ２００へ通知し（Ｓ１９２）、モード切替を行う（Ｓ１９３）。
【０１１０】
また、副ＤＫＣ２００側の動作としては、図１９に示すように、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納した後、タイムスタンプ１５２が現在の基点２（基点１＋規定時間）よりも大きいか否かを判断する（Ｓ２００）。そして、Ｓ２００で基点２よりも大きいと判断されるまで正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、Ｓ２００で基点２よりも大きいと判断されると、ＳｉｄｅＦｉｌｅ内にモード切替指示があるかを確認しモード切替か否かを判断する（Ｓ２０１）。
【０１１１】
そして、Ｓ２０１でモード切替と判断されると、当該ＤＫＣのモード切替を行い（Ｓ２０２）、Ｓ２０１でモード切替でないと判断されると、基点１から基点２の間の更新データについてその受領番号１３３にもれがないかを判断する（Ｓ２０３）。
【０１１２】
そして、Ｓ２０３で受領番号１３３にもれが有った場合は基点１から基点２の間の全ての更新データを正ＤＫＣ１００から受領していないので、再度、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納する。
【０１１３】
そして、Ｓ２０３で受領番号１３３にもれがないと判断されると、基点１から基点２のデータを一貫性の取れた実データとして、キャッシュメモリ２０２内で通常キャッシュに移す（Ｓ２０４）。その後通常キャッシュのデータはディスク装置２１０に書き込まれ、一貫性の取れた実データとなる。
【０１１４】
本実施の形態では、ＳｉｄｅＦｉｌｅの格納モードとして、ＳｉｄｅＦｉｌｅを上書きする上書きモードの場合は、副ＤＫＣ２００側で実データとして扱われるまで基点２や同期ポイントまで待つ必要があり、正ＤＫＣ１００とのタイムラグが長くなるが、正ＤＫＣ１００と副ＤＫＣ２００の一致性を優先したい場合には、ＳｉｄｅＦｉｌｅを上書きしない従来モードに変更するように、ＳｉｄｅＦｉｌｅの格納モードを動作中に変更することができるので、正ＤＫＣ１００と副ＤＫＣ２００のデータの一致性や正ＤＫＣ１００被災時の副ＤＫＣ２００でのデータ破棄量を調整することができる。
【０１１５】
なお、本実施の形態では、ホストコンピュータ１２０からのモード切替指示の例で説明したが、正ＤＫＣ１００の判断(例えば、更新ＩＯ過多によりＳｉｄｅＦｉｌｅ満杯等)により上書きモード、従来モードの切替指示を行うようにしてもよい。
【０１１６】
（実施の形態６）
本実施の形態は、実施の形態５において、複数の正ＤＫＣ１００と単一の副ＤＫＣ２００とで構成しデータ整合性を保証する場合に、副ＤＫＣで正ＤＫＣごとの動作モードを管理するものである。
【０１１７】
本実施の形態のストレージ装置の構成は実施の形態１と同じ構成であり、複数の正ＤＫＣ１００と単一の副ＤＫＣ２００とが接続された構成となっている。
【０１１８】
＜複数の正ＤＫＣからのモード切替＞
次に、本発明の実施の形態６によるストレージ装置のモード切替の動作について説明する。
【０１１９】
図２０は実施の形態６によるストレージ装置のモード切替の動作を説明するための説明図、図２１は副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【０１２０】
本実施の形態では、図２０に示すように、複数の正ＤＫＣ１００からのモード切替指示を副ＤＫＣ２００側で管理している。副ＤＫＣ２００側では、全ての正ＤＫＣ１００の動作モードが一致するまで、副ＤＫＣ２００側でＳｉｄｅＦｉｌｅの実データ化する動作モードを変えず、全ての正ＤＫＣ１００の動作モードが一致したとき、副ＤＫＣ２００側での動作モードを変更するようになっている。また、上書きモード、従来モード（同期モード）が混在するときは、副ＤＫＣ２００では全て上書きモードとしてＳｉｄｅＦｉｌｅを扱っている。
【０１２１】
この正ＤＫＣ１００側の動作としては、図１８に示す実施の形態５の動作と同様に、まず、ホストコンピュータ１２０からのＩＯがあると、ＩＯがモード切替指示か否かを判断する（Ｓ１９０）。そして、Ｓ１９０でモード切替指示でないと判断されると、通常のＩＯ処理を行う（Ｓ１９１）。
【０１２２】
また、Ｓ１９０でモード切替指示であると判断されると、モード切替指示をＳｉｄｅＦｉｌｅに格納し、ＳｉｄｅＦｉｌｅを副ＤＫＣ２００へ転送することにより、モード切替指示を副ＤＫＣ２００へ通知し（Ｓ１９２）、モード切替を行う（Ｓ１９３）。
【０１２３】
また、副ＤＫＣ２００側の動作としては、図２１に示すように、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納した後、ＳｉｄｅＦｉｌｅ内にモード切替指示があるかを確認しモード切替か否かを判断する（Ｓ２１０）。
【０１２４】
そして、Ｓ２１０でモード切替と判断されると、当該ＤＫＣのモード切替を行い（Ｓ２１１）、Ｓ２１０でモード切替でないと判断されると、一時停止指示か否かを判断する（Ｓ２１２）。そして、Ｓ２１２で一時停止指示と判断されると正ＤＫＣ１００と副ＤＫＣ２００とのペアを一時停止する（Ｓ２１３）。
【０１２５】
また、Ｓ２１２で一時停止指示ではないと判断されると、現状は上書きモードか否かを判断し（Ｓ２１４）、Ｓ２１４で現状は上書きモードでないと判断されると従来モードである同期モードとして動作し、当該ＳｉｄｅＦｉｌｅ以前のデータ到着が確認できれば実データとして扱う（Ｓ２１５）。
【０１２６】
また、Ｓ２１４で現状は上書きモードであると判断されると、タイムスタンプ１５２が現在の基点２（基点１＋規定時間）よりも大きいか否かを判断する（Ｓ２１６）。そして、Ｓ２１６で基点２よりも大きいと判断されるまで正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、Ｓ２１６で基点２よりも大きいと判断されると、基点１から基点２の間の更新データについてその受領番号１３３にもれがないかを判断する（Ｓ２１７）。
【０１２７】
そして、Ｓ２１７で受領番号１３３にもれがあった場合は基点１から基点２の間の全ての更新データを正ＤＫＣ１００から受領していないので、再度、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納する。
【０１２８】
そして、Ｓ２１７で受領番号１３３にもれがないと判断されると、当該正ＤＫＣ１００のＳｉｄｅＦｉｌｅ完了フラグを‘ＯＮ’とし、他の正ＤＫＣ１００のＳｉｄｅＦｉｌｅが全て完了か否かを判断し（Ｓ２１９）、Ｓ２１９で他の正ＤＫＣ１００のＳｉｄｅＦｉｌｅが全て完了していないと判断されると、正ＤＫＣ１００からＳｉｄｅＦｉｌｅを受領し、副ＤＫＣ２００側のＳｉｄｅＦｉｌｅとして格納する。
【０１２９】
また、Ｓ２１９で他の正ＤＫＣ１００のＳｉｄｅＦｉｌｅが全て完了したと判断されると、全正ＤＫＣ１００の指示モードは従来モードである同期モードか否かを判断し（Ｓ２２０）、Ｓ２２０で全正ＤＫＣ１００の指示モードは同期モードであると判断されると、全ＤＫＣ１００の実行モードを同期モードに変更し（Ｓ２２１）、基点１から基点２のデータを一貫性の取れた実データとして扱う。また、Ｓ２２０で全正ＤＫＣ１００の指示モードは同期モードでないと判断されると、全正ＤＫＣ１００の実行モードはそのまま変更せずに、基点１から基点２のデータを一貫性の取れた実データとして扱う。
【０１３０】
本実施の形態では、複数の正ＤＫＣ１００と単一の副ＤＫＣ２００との間で動作モードを変更する際、副ＤＫＣ２００側で動作モードを管理し、複数の正ＤＫＣ１００の動作モードが一致したときに副ＤＫＣ２００側の動作モードを変更するので、複数の正ＤＫＣ１００間で新たな通信手段を用いなくても副ＤＫＣ２００の制御で動作モードの不一致を許容することができる。また、動作モード変更を複数の正ＤＫＣ１００の環境に容易に実装することができる。
【０１３１】
なお、この実施の形態では、ホストコンピュータ１２０からのモード切替指示の例で説明したが、実施の形態５と同様に正ＤＫＣ１００の判断(例えば、更新ＩＯ過多によりＳｉｄｅＦｉｌｅ満杯等)により上書きモード、従来モードの切替指示を行うようにしてもよい。
【図面の簡単な説明】
【０１３２】
【図１】本発明の実施の形態１によるストレージ装置の構成を示す構成図である。
【図２】本発明の実施の形態１によるストレージ装置のライトデータ管理情報の一例を示す図である。
【図３】一般的なライトデータの転送動作を説明するための説明図である。
【図４】実施の形態１によるストレージ装置のライトデータの転送動作を説明するための説明図である。
【図５】本発明の実施の形態１によるストレージ装置の正ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【図６】本発明の実施の形態１によるストレージ装置の正ＤＫＣ側の非同期周期処理の動作を示すフローチャートである。
【図７】本発明の実施の形態１によるストレージ装置の副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【図８】本発明の実施の形態１によるストレージ装置の受領番号の確認動作を説明するための説明図である。
【図９】本発明の実施の形態２によるストレージ装置のライトデータの転送動作を説明するための説明図である。
【図１０】本発明の実施の形態２によるストレージ装置の正ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【図１１】本発明の実施の形態２によるストレージ装置の正ＤＫＣ側の非同期周期処理の動作を示すフローチャートである。
【図１２】本発明の実施の形態２によるストレージ装置のホストコンピュータからの同期ポイント指示の動作を示すフローチャートである。
【図１３】本発明の実施の形態２によるストレージ装置の副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【図１４】本発明の実施の形態３によるストレージ装置のライトデータの転送動作を説明するための説明図である。
【図１５】本発明の実施の形態３によるストレージ装置の正ＤＫＣ側のライトデータをキャッシュメモリに格納する動作およびデータ転送動作を示すフローチャートである。
【図１６】本発明の実施の形態３によるストレージ装置の副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【図１７】本発明の実施の形態５によるストレージ装置のモード切替の動作を説明するための説明図である。
【図１８】本発明の実施の形態５によるストレージ装置の正ＤＫＣ側のモード切替の動作を示すフローチャートである。
【図１９】本発明の実施の形態５によるストレージ装置の副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【図２０】本発明の実施の形態６によるストレージ装置のモード切替の動作を説明するための説明図である。
【図２１】本発明の実施の形態６によるストレージ装置の副ＤＫＣ側のライトデータをキャッシュメモリに格納する動作を示すフローチャートである。
【符号の説明】
【０１３３】
１００…正ディスク制御装置（正ＤＫＣ）、１０１…正ライトデータ受領部、１０２…正ライトデータ送信部、１０３…キャッシュメモリ、１０４…制御メモリ、１５１…ライトデータ、１０５…ライトデータ管理情報、１０６…ＳＥＱ＃マスタ、１０７…基準点管理情報、１０８…ディスクデータ送受信部、１１０…ディスク装置、１３０…ディスク装置アドレス、１３１…ライトアドレス、１３２…ライト時刻、１３３…受領番号、１３４…ライトデータポインタ、１３５…転送必要ビット、２００…副ディスク制御装置（副ＤＫＣ）、２０１…副ライトデータ受領部、２０２…キャッシュメモリ、２０３…制御メモリ、２０４…副ライトデータ一貫性保持部、２０８…ディスクデータ送受信部、２１０…ディスク装置。
【図１】
2005275582.tif 000003
【図２】
2005275582.tif 000004
【図３】
2005275582.tif 000005
【図４】
2005275582.tif 000006
【図５】
2005275582.tif 000007
【図６】
2005275582.tif 000008
【図７】
2005275582.tif 000009
【図８】
2005275582.tif 000010
【図９】
2005275582.tif 000011
【図１０】
2005275582.tif 000012
【図１１】
2005275582.tif 000013
【図１２】
2005275582.tif 000014
【図１３】
2005275582.tif 000015
【図１４】
2005275582.tif 000016
【図１５】
2005275582.tif 000017
【図１６】
2005275582.tif 000018
【図１７】
2005275582.tif 000019
【図１８】
2005275582.tif 000020
【図１９】
2005275582.tif 000021
【図２０】
2005275582.tif 000022
【図２１】
2005275582.tif 000023