(57)【要約】【課題】  複数のディスク装置が接続された制御部を複数個有するストレージシステムにおいて、異なった制御部に接続されたディスク装置内のボリュームにレプリケーションを作成する。【解決手段】  レプリケーション作成の初期コピーを行っている時に、レプリケーション元への更新Ｉ／Ｏを受領した場合、レプリケーション先への更新反映を同一Ｉ／Ｏの延長で実施する。コピー完了後、ペアを分割した場合、各制御部に設けた差分ビットマップへ更新位置を保持し、リシンク時に前記差分ビットマップを片側の制御部へマージしてコピー処理を行う。【選択図】      図１５
2005301590.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスク装置が接続された記憶制御装置を複数個備えて構成されるストレージシステムであって、
前記複数の記憶制御装置のそれぞれは、前記ディスク装置内にあるボリュームのデータのレプリケーションを作成するレプリケーション作成部と、レプリケーション元のボリューム及びレプリケーション先のボリュームに関する情報であるペア情報とを備え、
前記複数の記憶制御装置のうち、１つの記憶制御装置内のレプリケーション作成部は、他の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、レプリケーション元のボリュームのデータをレプリケーション先のボリュームに全てコピーしておき、
前記レプリケーション元のボリュームのある記憶制御装置は、前記レプリケーション元のボリュームに対するデータの更新要求を受領したとき、受け取ったデータを前記記憶制御装置のキャッシュメモリに格納し、前記更新要求の処理の延長で、レプリケーション先の記憶制御装置のキャッシュメモリ内にデータを格納し、レプリケーション先へデータの更新を反映させてレプリケーションボリュームを作成することを特徴とするストレージシステム。
【請求項２】
前記記憶制御装置は、前記作成したレプリケーションボリュームを別々の用途で使用する場合、ボリュームをＳｐｌｉｔ状態とし、各ボリュームへの更新要求をそれぞれのボリュームへ反映する場合、前記レプリケーション元ボリューム及び前記レプリケーション先ボリュームのそれぞれに差分ビットマップを設け、各ボリュームの更新位置を保持することを特徴とする請求項１記載のストレージシステム。
【請求項３】
レプリケーションの再同期を行う場合、前記複数の記憶制御装置の１つは、前記Ｓｐｌｉｔ状態としたボリュームのレプリケーション元の記憶制御装置及びレプリケーション先の記憶制御装置のそれぞれに設けられた差分ビットマップのマージを行い、前記マージした差分ビットマップによりコピー処理を行うことを特徴とする請求項２記載のストレージシステム。
【請求項４】
前記差分ビットマップのマージを行う記憶制御装置は、レプリケーション元ボリュームのある記憶制御装置あるいはレプリケーション先ボリュームのある記憶制御装置であることを特徴とする請求項３記載のストレージシステム。
【請求項５】
同一の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、ボリュームのペアに対して１つの差分ビットマップをその記憶制御装置に設け、他の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、ボリュームのペアに対してレプリケーション元の記憶制御装置とレプリケーション先の記憶制御装置とのそれぞれに１つの差分ビットマップを設けることを特徴とする請求項１記載のストレージシステム。
【請求項６】
前記作成したレプリケーションボリュームを別々の用途で使用するためにボリュームをＳｐｌｉｔ状態とする場合、レプリケーション元の記憶制御装置からレプリケーション先の記憶制御装置へ差分ビットマップの内容を転送し、各ボリュームへの更新要求をそれぞれのボリュームへ反映する場合、前記レプリケーション元ボリューム及び前記レプリケーション先ボリュームのそれぞれの第１の差分ビットマップとは別の第２の差分ビットマップをそれぞれの記憶制御装置内に設け、前記第２の差分ビットマップを用いてバックグランドでコピーを実行しつつ、Ｓｐｌｉｔ後に更新されたデータの格納位置を前記第１の差分ビットマップを用いて管理し、前記別の第２の差分ビットマップに各ボリュームの更新位置を保持することを特徴とする請求項１記載のストレージシステム。
【請求項７】
複数のディスク装置が接続された記憶制御装置を複数個備えて構成されるストレージシステムであって、
前記複数の記憶制御装置のそれぞれは、前記ディスク装置内にあるボリュームのデータのレプリケーションを作成するレプリケーション作成部と、レプリケーション元のボリューム及びレプリケーション先のボリュームに関する情報であるペア情報とを備え、
前記複数の記憶制御装置のうち、１つの記憶制御装置内のレプリケーション作成部は、他の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、レプリケーション元のボリュームのデータをレプリケーション先のボリュームに全てコピーしておき、
前記レプリケーション元のボリュームのある記憶制御装置は、前記レプリケーション元のボリュームに対するデータの更新要求を受領したとき、受け取ったデータを前記記憶制御装置のキャッシュメモリに格納し、前記更新要求の処理の延長で、レプリケーション先の記憶制御装置のキャッシュメモリ内にデータを格納し、レプリケーション先へデータの更新を反映させてレプリケーションボリュームを作成し、
前記作成したレプリケーションボリュームを別々の用途で使用する場合、ボリュームをＳｐｌｉｔ状態とし、各ボリュームへの更新要求をそれぞれのボリュームへ反映する場合、前記レプリケーション元ボリューム及び前記レプリケーション先ボリュームのそれぞれに差分ビットマップを設けて各ボリュームの更新位置を保持し、
レプリケーションの再同期を行う場合、前記複数の記憶制御装置の１つは、前記Ｓｐｌｉｔ状態としたボリュームのレプリケーション元の記憶制御装置及びレプリケーション先の記憶制御装置のそれぞれに設けられた差分ビットマップのマージを行い、前記マージした差分ビットマップによりコピー処理を行うことを特徴とするストレージシステム。
【請求項８】
複数のディスク装置が接続された記憶制御装置を複数個備えて構成されるストレージシステムにおけるデータ複製方法であって、
前記複数の記憶制御装置のそれぞれは、前記ディスク装置内にあるボリュームのデータのレプリケーションを作成するレプリケーション作成部と、レプリケーション元のボリューム及びレプリケーション先のボリュームに関する情報であるペア情報とを備え、
前記複数の記憶制御装置のうち、１つの記憶制御装置内のレプリケーション作成部は、他の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、レプリケーション元のボリュームのデータをレプリケーション先のボリュームに全てコピーしておき、
前記レプリケーション元のボリュームのある記憶制御装置は、前記レプリケーション元のボリュームに対するデータの更新要求を受領したとき、受け取ったデータを前記記憶制御装置のキャッシュメモリに格納し、前記更新要求の処理の延長で、レプリケーション先の記憶制御装置のキャッシュメモリ内にデータを格納し、レプリケーション先へデータの更新を反映させてレプリケーションボリュームを作成することを特徴とするデータ複製方法。
【請求項９】
前記記憶制御装置は、前記作成したレプリケーションボリュームを別々の用途で使用する場合、ボリュームをＳｐｌｉｔ状態とし、各ボリュームへの更新要求をそれぞれのボリュームへ反映する場合、前記レプリケーション元ボリューム及び前記レプリケーション先ボリュームのそれぞれに差分ビットマップを設け、各ボリュームの更新位置を保持することを特徴とする請求項８記載のデータ複製方法。
【請求項１０】
レプリケーションの再同期を行う場合、前記複数の記憶制御装置の１つは、前記Ｓｐｌｉｔ状態としたボリュームのレプリケーション元の記憶制御装置及びレプリケーション先の記憶制御装置のそれぞれに設けられた差分ビットマップのマージを行い、前記マージした差分ビットマップによりコピー処理を行うことを特徴とする請求項９記載のストレージシステム。
【請求項１１】
前記差分ビットマップのマージを行う記憶制御装置は、レプリケーション元ボリュームのある記憶制御装置あるいはレプリケーション先ボリュームのある記憶制御装置であることを特徴とする請求項１０記載のデータ複製方法。
【請求項１２】
同一の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、ボリュームのペアに対して１つの差分ビットマップをその記憶制御装置に設け、他の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、ボリュームのペアに対してレプリケーション元の記憶制御装置とレプリケーション先の記憶制御装置とのそれぞれに１つの差分ビットマップを設けることを特徴とする請求項８記載のデータ複製方法。
【請求項１３】
前記作成したレプリケーションボリュームを別々の用途で使用するためにボリュームをＳｐｌｉｔ状態とする場合、レプリケーション元の記憶制御装置からレプリケーション先の記憶制御装置へ差分ビットマップの内容を転送し、各ボリュームへの更新要求をそれぞれのボリュームへ反映する場合、前記レプリケーション元ボリューム及び前記レプリケーション先ボリュームのそれぞれの差分ビットマップとは別の差分ビットマップをそれぞれの記憶制御装置内に設け、前記第２の差分ビットマップを用いてバックグランドでコピーを実行しつつ、Ｓｐｌｉｔ後に更新されたデータの格納位置を前記第１の差分ビットマップを用いて管理し、前記別の第２の差分ビットマップに各ボリュームの更新位置を保持することを特徴とする請求項８記載のデータ複製方法。
【請求項１４】
複数のディスク装置が接続された記憶制御装置を複数個備えて構成されるストレージシステムにおけるデータ複製方法であって、
前記複数の記憶制御装置のそれぞれは、前記ディスク装置内にあるボリュームのデータのレプリケーションを作成するレプリケーション作成部と、レプリケーション元のボリューム及びレプリケーション先のボリュームに関する情報であるペア情報とを備え、
前記複数の記憶制御装置のうち、１つの記憶制御装置内のレプリケーション作成部は、他の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、レプリケーション元のボリュームのデータをレプリケーション先のボリュームに全てコピーしておき、
前記レプリケーション元のボリュームのある記憶制御装置は、前記レプリケーション元のボリュームに対するデータの更新要求を受領したとき、受け取ったデータを前記記憶制御装置のキャッシュメモリに格納し、前記更新要求の処理の延長で、レプリケーション先の記憶制御装置のキャッシュメモリ内にデータを格納し、レプリケーション先へデータの更新を反映させてレプリケーションボリュームを作成し、
前記作成したレプリケーションボリュームを別々の用途で使用する場合、ボリュームをＳｐｌｉｔ状態とし、各ボリュームへの更新要求をそれぞれのボリュームへ反映する場合、前記レプリケーション元ボリューム及び前記レプリケーション先ボリュームのそれぞれに差分ビットマップを設けて各ボリュームの更新位置を保持し、
レプリケーションの再同期を行う場合、前記複数の記憶制御装置の１つは、前記Ｓｐｌｉｔ状態としたボリュームのレプリケーション元の記憶制御装置及びレプリケーション先の記憶制御装置のそれぞれに設けられた差分ビットマップのマージを行い、前記マージした差分ビットマップによりコピー処理を行うことを特徴とするデータ複製方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びデータ複製方法に係り、特に、複数のディスク装置が接続された記憶制御装置を複数個備えて構成されたストレージシステム及びレプリケーションを作成するデータ複製方法に関する。
【背景技術】
【０００２】
近年、企業が保有するストレージシステムの記憶装置に格納されたデータの複製を、別の記憶装置に作成する処理（以下、バックアップという）に要する時間を短縮したいという要求が高まっている。このような要求があるのは、企業が保有する情報量の増加に伴ってバックアップに係る時間が益々増加する一方で、企業の業務時間の延長により、バックアップの処理に割り当てられる時間が短くなっていることが背景にある。
【０００３】
企業における日常の業務処理を停止することなく、記憶装置に格納されたデータをバックアップすることを可能にする従来技術として、例えば、特許文献１、２に記載されているようなスナップショットの技術が提案されている。スナップショットとは、記憶装置と接続される計算機を介することなく、記憶装置が有する記憶領域の特定の時点におけるコピーを記憶装置に作成する機能である。ユーザは、このようなスナップショットの機能を利用することにより、元の記憶領域を業務で使用し、コピーされた記憶領域に格納されたデータをバックアップに使用することができる。
【特許文献１】特開平７−２１０４３９号公報
【特許文献２】特開２００１−３１８８３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ネットワークに接続される記憶装置のスケーラビリティを高めるための技術として、クラスタ構成のストレージシステムが考えられる。クラスタ構成のストレージシステムは、ディスクアレイ装置のような従来の記憶装置システムを１つのクラスタとし、１つのストレージシステムを複数のクラスタから構成したシステムである。
【０００５】
従来、クラスタ構成のストレージシステムにおいて、スナップショットを行っている技術は知られていない。また、クラスタ構成のストレージシステムと前述した従来技術によるスナップショットの技術とを単純に組み合わせた場合、１つのクラスタ内に限って、記憶領域のコピーを実行するものとなる。
【０００６】
前述したように、クラスタ構成のストレージシステムと前述した従来技術によるスナップショットの技術とを組み合わせた場合、異なるクラスタ間で記憶領域のコピーを作成することができないため、１つのクラスタ構成のストレージシステム内で、記憶領域のコピー先として使用することができる記憶領域と使用することができない記憶領域とができてしまい、クラスタ構成のストレージシステムの本来の目的であるスケーラビリティが損なわれるという問題点を生じてしまう。
【０００７】
また、クラスタ構成のストレージシステムにおいて、クラスタ間にまたがった論理ボリューム（以下、ボリュームという）のコピーを作成することを可能にした場合、すなわち、コピー元ボリュームとコピー先ボリュームとが異なるクラスタにある場合、コピー元のボリュームがあるクラスタ（以下、正クラスタという）が、コピー先のボリュームがあるクラスタ（以下、副クラスタという）内の共有メモリを参照することのできない装置構成、または、参照することができてもクラスタ間のアクセス性能が低い装置構成であると、異なるクラスタ間でコピーボリュームを作成する効率が悪くなってしまうという問題点を生じる。このため、このような構成のシステムは、コピー元と同一クラスタ内でコピー先のボリュームを選択するという、使用上の制約が生じるため、従来と装置構成が異なることによるユーザの使い勝手が変更になるという問題点をも生じてしまう。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、複数のディスク装置が接続された記憶制御装置を複数有するクラスタ構成のストレージシステムにおいて、同一の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成するだけでなく、異なった記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合も、異なった記憶制御装置であることを意識することなく記憶領域のコピーを作成することができるストレージシステム及びデータの複製方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明によれば前記目的は、複数のディスク装置が接続された記憶制御装置を複数個備えて構成されるストレージシステム及びそのデータ複製方法において、前記複数の記憶制御装置のそれぞれが、前記ディスク装置内にあるボリュームのデータのレプリケーションを作成するレプリケーション作成部と、レプリケーション元のボリューム及びレプリケーション先のボリュームに関する情報であるペア情報とを備え、前記複数の記憶制御装置のうち、１つの記憶制御装置内のレプリケーション作成部が、他の記憶制御装置に接続されたディスク装置内のボリュームにレプリケーションを作成する場合、レプリケーション元のボリュームのデータをレプリケーション先のボリュームに全てコピーしておき、前記レプリケーション元のボリュームのある記憶制御装置が、前記レプリケーション元のボリュームに対するデータの更新要求を受領したとき、受け取ったデータを前記記憶制御装置のキャッシュメモリに格納し、前記更新要求の処理の延長で、レプリケーション先の記憶制御装置のキャッシュメモリ内にデータを格納し、レプリケーション先へデータの更新を反映させてレプリケーションボリュームを作成することにより達成される。
【発明の効果】
【００１０】
本発明によれば、ディスク装置が接続された記憶制御部を複数有するクラスタ構成のストレージシステムにおいて、異なった記憶制御部に接続されたディスク装置内のボリュームにレプリケーションを作成する場合も、制御部間での制御情報のアクセスを極力減らすことによって性能を落とさずに、記憶領域のコピーを作成することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明によるストレージシステム及びデータ複製方法の実施形態を図面により詳細に説明する。
【００１２】
図１は本発明の第１の実施形態によるストレージシステムを含む計算機システムのハードウェア構成を示すブロック図である。図１において、１０はホスト、２０Ａ、２０Ｂは記憶制御装置、２１Ａ、２１ＢはＣＰＵ、２２Ａ、２２Ｂはメモリ、２３Ａ、２３Ｂはキャッシュ、２４はハブ（Ｈｕｂ）、２５はスイッチ、３１は記憶装置群、４０はＩ／Ｆアダプタ、７０は記憶装置システム、８０は管理端末である。
【００１３】
本発明の第１の実施形態によるストレージシステムを含む計算機システムは、記憶装置システム（ストレージシステム）７０にＩ／Ｆアダプタ４０を介してホスト１０が接続されて構成されている。記憶装置システム７０は、複数の記憶制御装置２０Ａ、２０Ｂと、各記憶制御装置２０Ａ、２０Ｂに接続されたＩ／Ｆアダプタ４０と、各記憶制御装置２０Ａ、２０Ｂに管理用ネットワークを介して接続された管理端末８０とＩ／Ｆアダプタ４０と接続された記憶装置群３１とにより構成される。Ｉ／Ｆアダプタ４０は、記憶制御装置２０Ａ、２０Ｂとは独立したチャネル接続部分である。また、図示ストレージシステムは、記憶装置システム７０とホスト１０あるいは記憶装置群３１とは、図示しない異なるボードを介して接続されている。記憶装置群３１は、磁気ディスク装置等の記憶装置を複数備えて構成される記憶装置の集合である。
【００１４】
記憶制御装置２０Ａ、２０Ｂのそれぞれは、ＣＰＵ２１Ａ、２１Ｂ、メモリ２２Ａ、２２Ｂ、ホスト１０からの入出力データを一時的に格納するキャッシュ２３Ａ、２３Ｂを有し、ＣＰＵ２１Ａ、２１Ｂ、メモリ２２Ａ、２２Ｂ、キャッシュ２３Ａ、２３Ｂは、多重化されており、スイッチ２５により相互に接続されている。また、記憶制御装置２０Ａ、２０Ｂは、自記憶制御装置内にあるＣＰＵが自記憶制御装置内のメモリ及びキャッシュにアクセスすることが可能とされている。
【００１５】
前述したように構成される本発明の第１の実施形態において、Ｉ／Ｆアダプタ４０は、ホスト１０から入出力要求を受け取ると、記憶制御装置２０Ａ、２０Ｂに当該要求を送信する。記憶制御装置２０Ａ、２０Ｂ内のＣＰＵ２１Ａ、２１Ｂは、コマンドを取得して解析し、要求がリードの場合、キャッシュ２３Ａ、２３Ｂ内に対象データがあるか否かの判定を行い、データがあればＩ／Ｆアダプタ４０内のハブ２４を介してホスト１０へそのデータを送信し、キャッシュ２３にデータがなければキャッシュ２３Ａ、２３Ｂ内に領域を確保し、記憶装置群３１からデータを読み出して、確保したキャッシュ２３Ａ、２３Ｂの領域にステージングしてからそのデータをホスト１０へ送信する。
【００１６】
図２は本発明の第２の実施形態によるストレージシステムを含む計算機システムのハードウェア構成を示すブロック図であり、図の符号は図１の場合と同一である。
【００１７】
図２に示す本発明の第２の実施形態によるストレージシステムを含む計算機システムは、記憶制御装置２０Ａ内のスイッチ２５Ａと記憶制御装置２０Ｂ内のスイッチ２５Ｂとを相互に接続して、記憶制御装置２０Ａと、２０Ｂとを相互に接続した構成とした点で図１に示した本発明の第１の実施形態と相違している。このように、第２の実施形態は、記憶制御装置２０Ａ、２０Ｂ間がスイッチ２５Ａ、２５Ｂを介して接続されているため、記憶制御装置２０Ａ、２０Ｂ内の各ＣＰＵは、他方の記憶制御装置内のメモリへアクセスすることができる。
【００１８】
例えば、記憶制御装置２０ＡのＣＰＵ２１Ａは、記憶制御装置２０Ｂ内のメモリ２１Ｂにスイッチ２５を経由してアクセスすることができる。記憶制御装置２０Ａのスイッチ２５Ａと記憶制御装置２０Ｂのスイッチ２５Ｂとの間の接続線６４は、パスまたはネットワークであってよい。但し、図２に示す第２の実施形態は、記憶制御装置相互間で相手側の記憶制御装置内のメモリ及びキャッシュをアクセスする場合、同一の記憶制御装置内のメモリ及びキャッシュをアクセスする場合に比較して、接続線６４（ハードウェアにより構成されるパスまたはネットワーク）の性能上アクセス速度が遅くなる。
【００１９】
図３は本発明の第３の実施形態によるストレージシステムの構成を示すブロック図である。図３において、２５Ｂは記憶装置Ｉ／Ｆ、３２は記憶装置群、５０はプロセッサ、６０〜６３はネットワーク、５１０は構成情報テーブルであり、他の符号は図１の場合と同一である。
【００２０】
図３に示す本発明の第３の実施形態によるストレージシステムを含む計算機システムは、第１の記憶装置システム７０Ａがネットワーク６０を介してホスト１０に接続され、第１の記憶装置システム７０Ａと第２の記憶装置システム７０Ｂとがネットワーク６１を介して接続されて構成されている。管理端末８０は、管理用ネットワーク６２、６３を介して、第１の記憶装置システム７０Ａ内の各部に接続可能とされている。第１、第２の記憶装置システム７０Ａ、７０Ｂは、同様に構成されているが、図３には、第１の記憶装置システム７０Ａだけについてその内部構成を示し、記憶装置システム７０Ｂの内部構成は省略している。なお、ここでは、第２の記憶装置システム７０Ｂが接続されている構成を示しているが、本発明は、第２の記憶装置システム７０Ｂが接続されていない構成であってもよい。
【００２１】
第１、第２の記憶装置システム７０Ａ、７０Ｂは、基本的に、図１、図２に示して説明したと同様な機能構成を備える記憶装置システムである。第１の記憶装置システム７０Ａは、記憶制御装置２０Ａ、２０Ｂとは独立したチャネル接続部分であり、ＬＡＮ（Local Area Network）、公衆回線、専用回線、ＥＳＣＯＮ（Enterprise Systems Connection）に準拠したプロトコル等を扱う複数のＩ／Ｆアダプタ４０を備え、複数のＩ／Ｆアダプタ４０と複数の記憶制御装置２０Ａ、２０Ｂとは、ネットワーク６３を介して接続されている。また、この第３の実施形態では、構成情報テーブル５１０を有するプロセッサ５０がネットワーク６３に接続され、また、記憶装置群３１が記憶装置Ｉ／Ｆ２５Ａを介して記憶制御装置２０Ａに接続されている。
【００２２】
前述したように構成される本発明の第３の実施形態において、Ｉ／Ｆアダプタ４０は、ホスト１０から入出力要求を受け取ると、コマンドを解析してプロトコル変換し、前記コマンドが要求するデータが格納されているＬＵ（Logical Unit）がどの記憶制御装置２０Ａ、２０Ｂの配下に管理されているか、あるいは、記憶装置システム７０Ｂに管理されているかを判断し、判断した箇所にその入出力要求を送信する。前述した要求データを格納しているＬＵがどの装置で管理されているかは、ネットワーク６３で接続されたプロセッサ５０内のメモリ上に格納された構成情報テーブル５１０を参照することにより判断する。
【００２３】
管理端末８０は、ネットワーク６２を介して、第１の記憶装置システム７０Ａ内の各部を認識するものであるが、専用線で直接接続するように構成することもできる。
【００２４】
記憶制御装置２０Ａは、ＣＰＵ２１Ａ、メモリ２２Ａ、ホスト１０からの入出力データを一時的に格納するキャッシュ２３Ａ、ネットワーク６３と接続する部分であるハブ２４、記憶装置群３１との間のデータの送受信を制御する記憶装置Ｉ／Ｆ２５を有し、これらは、内部バスで相互に接続されている。この構成は、記憶制御装置２０Ｂも同様である。
【００２５】
前述までで、本発明の第１〜第３の実施形態によるストレージシステムを備える計算機システムのハードウェア構成の概略を説明したが、次に、各実施形態に共通な各構成要素について説明する。
【００２６】
図４はメモリ２２Ａ（メモリ２２Ｂも同様であり、以下、単にメモリ２２という）内の構成を示す図である。図４において、２００はＲＡＩＤ（Redundant Array of Inexpensive Disks）制御プログラム、２０１はレプリケーション作成プログラム、２１０は管理エージェント、２２０はペア情報テーブル、２３０はボリューム情報テーブル、２４０は差分ビットマップである。
【００２７】
メモリ２２内には、図４に示すように、ＣＰＵ２１で実行される種々のプログラムが格納される。具体的には、記憶装置システム７０、７０Ａ、７０Ｂの動作を制御するためのＲＡＩＤ制御プログラム２００及び記憶装置システムの構成を管理するための管理エージェント２１０である。また、メモリ２２には、各種管理情報も格納される。具体的には、データのコピー元とコピー先とに関する情報を記録するペア情報テーブル２２０、ボリューム情報テーブル２３０、差分ビットマップ２４０、記憶装置システム７０Ｂが記憶装置システム７０Ａに対し自身のＬＵを記憶装置システム７０ＡのＬＵとして提供するための図示しない構成情報テーブルである。
【００２８】
ＲＡＩＤ制御プログラム２００は、記憶装置群３１にコマンドを発行するための図示しない機能部を有し、また、ＲＡＩＤ制御プログラム２００内には、サブプログラムとして、記憶装置システム７０内でデータのレプリケーションを作成するためのレプリケーション作成プログラム２０１が備えられる。なお、データのレプリケーションを実施する際、同期（データのコピーの完了を待って、上位装置に完了を報告する）、非同期（データのコピーの完了を待たずに、上位装置に完了を報告する）といったバリエーションがあるが、本発明の実施形態では、特に、これらを区別しない。管理エージェント２１０は、管理端末８０からの入力を受けて、記憶装置に関する情報（以下、記憶装置情報という）を設定するためと、記憶装置情報を管理端末８０へ出力するためのプログラムである。
【００２９】
図５は管理端末８０の構成を示すブロック図であり、次に、これについて説明する。管理端末８０は、図５に示すように、ＣＰＵ８１、主記憶８２、入力部（キーボード装置等）８３、出力部（ディスプレイ装置等）８４、外部装置と接続するための管理Ｉ／Ｆ８５及び記憶部８６を備えて構成され、これらは、内部バスで相互に接続されている。
【００３０】
ホスト１０は、例えば、パソコンやワークステーション、汎用コンピュータ等であり、外部に接続するためのＦＣインタフェースであるＨＢＡ（Host Bus Adaptor）を備える。ＨＢＡにはＷＷＮが付与されている。
【００３１】
図６はペア情報テーブル２２０の構成例を示す図である。このペア情報テーブル２２０は、記憶装置システム７０（７０Ａ、７０Ｂも同様であり、以下では、必要のない場合、単に７０とする）内の、コピーされたデータを保持するボリュームの対（以下、ペアという）を管理するための情報であり、ペア番号２２１、正ボリューム情報２２２、副ボリューム情報２２４、ペア状態２２６により構成され、図６（ａ）に示すような同一制御記憶制御装置内のレプリケーション作成時の情報テーブルである同一記憶制御装置内のペア情報テーブル２２０Ａと、図６（ｂ）に示すような異なる記憶制御装置内のレプリケーション作成時の情報テーブルである異記憶制御装置ペア情報テーブル２２０Ｂとがある。
【００３２】
テーブル２２０Ａ、２２０Ｂにおいて、ペア番号２２１は、正及び副のボリュームのペアに対して任意に割り当てられた識別子を示す。正ボリューム情報２２２は、テーブル２２０Ａの場合、識別子が与えられたペアのうち、正ボリュームに割り振られたボリューム番号を示し、テーブル２２０Ｂの場合、識別子が与えられたペアのうち、正ボリュームに割り振られた記憶制御装置番号２２７とボリューム番号２２３とを示す。また、副ボリューム情報２２４は、テーブル２２０Ａの場合、識別子が与えられたペアのうち、副ボリュームに割り振られたボリューム番号を示し、テーブル２２０Ｂの場合、識別子が与えられたペアのうち、副ボリュームに割り振られた記憶制御装置番号２２８とボリューム番号２２５とを示す。ペア状態２２６は、ペアの現在の状態を示す。例えば、ペアのそれぞれのボリュームに格納されているデータの同期が取られ、それぞれに格納されたデータの内容が一致している状態（以下、Ｐａｉｒ状態という)、ペア間でデータの同期が取られていない状態（以下、Ｓｐｌｉｔ状態という）等がある。
【００３３】
記憶装置システム７０は、例えば、Ｐａｉｒ状態にあったペアを、任意の時間においてＳｐｌｉｔ状態に変更することができる。このとき、副ボリュームには、任意の時間におけるペアが有するデータが保存される（このような処理を「スナップショットを取る」という）。その後、ホスト１０が副ボリュームからデータを読み出して他の記憶装置、例えば、テープ装置等に書き込むことにより、スナップショットを取った時間におけるペアに格納されたデータのバックアップをとることができる。なお、スナップショットを取った後の副ボリュームそのものをデータのバックアップとして保存しておいてもよい。
【００３４】
記憶制御装置２０Ａにコピー元とコピー先とがあるペアの情報は、記憶制御装置２０Ａ内のメモリ２２Ａに格納され、記憶制御装置２０Ｂにコピー元とコピー先とがあるペアの情報は、記憶制御装置２０Ｂ内のメモリ２２Ｂに格納される。記憶制御装置２０Ａ及び２０Ｂにコピー元とコピー先と異なる記憶制御装置相互間のペアの情報は、記憶制御装置２０Ａ及び２０Ｂのメモリ２２Ａ、２０Ｂ内のペア情報テーブル２２０Ｂに格納される。
【００３５】
例えば、同一記憶制御装置内のペア情報テーブル２２０Ａが記憶制御装置１番にある場合、ペア番号０は、記憶制御装置１番の中のボリューム１００番と１０番とのペアであることがわかる。また、ペア番号１は、記憶制御装置１番のボリューム１１０番と記憶制御装置２番のボリューム１２０番とのペアであることが判る。
【００３６】
図７はボリューム情報テーブル２３０の構成例を示す図である。このボリューム情報テーブル２３０は、記憶制御装置２０Ａ配下のボリュームを管理する情報を登録し、記憶制御装置２０Ａ内のメモリに格納され、ボリューム番号２３１、ボリュームの正副を示す正／副２３２、相手ボリューム番号２３６、ボリューム使用中か否かを示すボリューム使用中２３５により構成される。
【００３７】
ボリューム番号２３１は、ボリュームに対して割り当てられた識別子である。図７に示す例は、自記憶制御装置のボリューム番号０に対してペアを３個組んだ例である。図７に示す例では、第１のペアは、相手ボリュームである副ボリュームが記憶制御装置１番のボリューム２０番であり、第２のペアは、副ボリュームが同一記憶制御装置内（“−”により示す）のボリューム１５８番であることが示されている。また。第３のペアは、副ボリュームが記憶制御装置１番のボリューム４２６番であることが示されている。さらに、自記憶制御装置のボリューム１番は、ペアの副ボリュームとして使用されており、正ボリュームは、記憶制御装置３番のボリューム３７８３番であることが示されている。
【００３８】
相手ボリューム情報２３６の記憶制御装置番号２３３、ボリューム番号２３４は、ペアを組んでいる場合の相手のボリューム情報である。同一記憶制御装置内のペアの場合、副ボリューム番号だけがボリューム番号２３４に登録される。異なる記憶制御装置間のペアの場合、副ボリュームの記憶制御装置番号が記憶制御装置番号２３３に、ボリューム番号がボリューム番号２３４に登録される。ボリューム使用中２３５は、そのボリュームが使用中であるか空いているかを示す情報である。
【００３９】
図８は差分ビットマップ２４０の例について説明する図である。差分ビットマップは、１ビットを予め定めたサイズのデータに対応させ、ペアの一方の予め定めたサイズのデータ内の１ビットでも更新があった場合に値を“１”として、これにより、ペア相互間のコピーが終了しているか否かを予め定めたデータサイズ毎に示すものである。
【００４０】
すなわち、差分ビットマップは、ビットに対して予め決めたデータサイズのデータを対応させて、その値“０”は、コピーが終了した箇所、値“１”はコピーが終了していない箇所を表している。例えば、１ビットに対し６４ＫＢのデータを対応させた場合、６４ＫＢのデータ中の１Ｂでも更新があった場合、ビットを“１”にして、内容がコピー先にも反映されるようにする。本発明の第１〜第３の実施形態の場合、図８（ａ）に示すように、差分ビットマップをＰ１の１つだけ用意すればよく、後述する本発明の第４の実施形態の場合、図８（ｂ）に示すように、１つのペアに対して同じサイズのビットマップをＰ１、Ｐ２の２つ用意する。
【００４１】
図９は本発明の第１〜第３の実施形態における差分ビットマップの設置例を示す図である。
【００４２】
同一の記憶制御装置内にレプリケーションが作成される場合、図９（ａ）に示すように、そのペアは、例えば、記憶制御装置２０Ａに接続される記憶装置群３１内に作成され、差分ビットマップ２４０は、記憶制御装置２０Ａのメモリ２２ＡにＰ１として作成される。また、異なる記憶制御装置内にレプリケーションが作成される場合、図９（ｂ）に示すように、そのペアは、例えば、記憶制御装置２０Ａに接続される記憶装置群３１と記憶制御装置２０Ｂに接続される記憶装置群３１とのそれぞれの内部に作成され、差分ビットマップ２４０は、記憶制御装置２０Ａのメモリ２２ＡにＰ１として、記憶制御装置２０Ｂのメモリ２２ＢにＳ１として作成される。そして、差分ビットマップＰ１、Ｓ１は、両者が一致するように制御される。
【００４３】
次に、本発明の第１〜第３の実施形態によるストレージシステムにおいて、記憶制御装置２０Ａにあるボリュームのコピーボリュームを記憶制御装置２０Ａまたは２０Ｂに作る場合の動作について説明する。
【００４４】
図１０は本発明の第１〜第３の実施形態によるストレージシステムでレプリケーションを作成する際の処理動作を説明するフローチャートであり、次に、これについて説明する。コピーボリュームの作成処理は、レプリケーション作成プログラム２０１が実施する。レプリケーション作成プログラム２０１は、レプリケーションペアの正副ボリュームが同じ記憶制御装置内か、異なる記憶制御装置間かをチェックし、同一の記憶制御装置内のペア、異なる記憶制御装置間ペアのそれぞれについての処理を行う。
【００４５】
（１）まず、空きボリュームの中からコピー先となる副ボリュームを選択し、正副ボリュームをペアとして、ペアを構成する正ボリューム及び副ボリュームの情報をペア情報テーブル２２０に登録する。この場合、同一記憶装置内のペアか否かによりテーブル２２０Ａまたはテーブル２２０Ｂに登録する（ステップ５０１０）。
【００４６】
（２）ペアが同一記憶制御装置２０内にあるか否かを判定し（ステップ５０２０）、同一記憶制御装置２０内にある場合、同一記憶制御装置内のレプリケーション作成処理を行い（ステップ５０３０）、異なる記憶制御装置２０間である場合、異記憶制御装置間のレプリケーション作成処理を行う（ステップ５０４０）。
【００４７】
図１１は前述したステップ５０３０の処理での同一記憶制御装置内のレプリケーション作成の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００４８】
（１）正ボリュームの内容を副ボリュームに全コピーする初期コピー処理を開始する。そして、まず、差分ビットマップＰ１を図９（ａ）に示すように作成し、初期コピーであるので、差分ビットマップ２４０のＰ１の全差分ビットを“１”にする（ステップ６０１０）。
【００４９】
（２）差分ビットマップ上の最初の差分ビットの値が“１”であるか否かを検出し（ステップ６０２０）、“１”を検出したら、そのビットに対応する箇所のデータがキャッシュにあるか否か、すなわち、キャッシュヒットか否かの判定を行う（ステップ６０３０）。
【００５０】
（３）ステップ６０３０の判定で、データがキャッシュになかった場合、キャッシュに領域を確保して（ステップ６０３５）、正ボリュームから対応するデータを読み出して確保したキャッシュの領域にリードする。これをステージングという（ステップ６０４０）。
【００５１】
（４）ステップ６０３０の判定で、データがキャッシュにあった場合、あるいは、ステップ６０４０の処理でステージングを行った場合、そのデータについてキャッシュ内で副ボリュームのデータ用にコピーを作成する。このコピー動作時、データが正しいか否かを判定するための冗長情報も副ボリューム用に新規に作成しデータへ付随させる（ステップ６０５０）。
【００５２】
（５）キャッシュに副ボリュームのデータ用のコピーを作成した後、差分ビットマップの対応する差分ビットを“０”にする（ステップ６０６０）。
【００５３】
（６）ステップ６０２０で、差分ビットの値が“１”でなかった場合、すなわち、差分ビットの値が“０”であった場合、あるいは、ステップ６０６０の処理後、次の差分ビットがあるか否かを判定し、次の差分ビットがあれば、ステップ６０２０からの処理に戻って処理を繰り返し、次の差分ビットが無くなった場合、ここでの処理を終了する（ステップ６０７０）。
【００５４】
（７）一方、前述した処理動作とは非同期で、ステップ６０５０の処理でキャッシュ上にコピーした副ボリューム用データを副ボリュームに格納する（ステップ６０８０）。
【００５５】
前述した処理動作において、正ボリュームからデータをキャッシュにリードする際に、副ボリューム用の冗長情報を作成し直接副ボリューム用のデータとしてキャッシュに格納するようにしてもよい。
【００５６】
図１２は前述したステップ５０４０の処理での異なる記憶制御装置間でのレプリケーション作成の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００５７】
（１）正ボリュームの内容を副ボリュームに全コピーする初期コピー処理を開始する。そして、異なる記憶制御装置間でのレプリケーション作成であるので、まず、差分ビットマップを図９（ｂ）に示すように、記憶制御装置２２Ａ、２２Ｂのメモリ内にＰ１、Ｓ１として作成し、また、初期コピーであるので、差分ビットマップ２４０のＰ１、Ｓ１の全ビットを“１”にする（ステップ８０１０）。
【００５８】
（２）正ボリューム側の差分ビットマップ上の最初の差分ビットの値が“１”であるか否かを検出し（ステップ８０２０）、値“１”を検出したら、そのビットに対応する箇所のデータがキャッシュにあるか否か、すなわち、キャッシュヒットか否かの判定を行う（ステップ８０３０）。
【００５９】
（３）ステップ８０３０の判定で、データがキャッシュになかった場合、キャッシュに領域を確保して（ステップ８０３５）、正ボリュームから対応するデータを読み出して確保したキャッシュの領域にリードする。これをステージングという（ステップ８０４０）。
【００６０】
（４）ステップ８０３０の判定で、データがキャッシュにあった、すなわち、キャッシュヒットであった場合、または、ステップ８０４０の処理の後、正ボリュームのある記憶制御装置２０Ａは、副ボリュームを作成する記憶制御装置２０Ｂにライト要求を発行し（ステップ８０５０）、このライト要求を受け取った副側の記憶制御装置２０Ｂは、ライトデータ格納用にキャッシュを確保して（ステップ８０６０）、キャッシュが確保できたことを正側の記憶制御装置２０Ａへ報告する（ステップ８０７０）。
【００６１】
（６）正側の記憶制御装置２０Ａは、ステップ８０７０でキャッシュが確保できたことの報告を受けた後、ライトデータを副側の記憶制御装置２０Ｂに転送し（ステップ８０８０）、副側の記憶制御装置２０Ｂから転送完了の報告を受け取る（ステップ８０９０）。
【００６２】
（７）正側の記憶制御装置２０Ａは、自装置の差分ビットマップ２４０のＰ１の対応ビットの値を“０”にする（ステップ８１００）。
【００６３】
（８）ステップ８０２０で、差分ビットの値が“１”でなかった場合、すなわち、差分ビットの値が“０”であった場合、あるいは、ステップ８１００の処理後、次の差分ビットがあるか否かを判定し（ステップ８１１０）、次の差分ビットがあれば、ステップ８０２０からの処理に戻って処理を繰り返し、次の差分ビットが無くなった場合、ここでの処理を終了する。
【００６４】
（９）一方、前述した処理動作とは非同期で、副側の記憶制御装置２０Ｂは、キャッシュに格納した副ボリューム用データを副ボリュームに格納する（ステップ８１２０）。
【００６５】
前述した図１１及び図１２のフローを実行することにより初期コピー処理が終了したら、差分ビットマップは、全ての差分ビットの値が“０”となる。
【００６６】
前述した図１１及び図１２のフローによる初期コピーの処理中に通常のリード／ライト要求がくる可能性がある。次に、初期コピーの処理中にライト要求がきた場合の処理について説明する。
【００６７】
図１３は図１１により説明した同一の記憶制御装置内レプリケーション作成の処理中にライト要求があった場合の動作を説明するフローチャートであり、次に、これについて説明する。
【００６８】
（１）ホスト１０からのライト要求を記憶制御装置２０Ａが受け取ると（ステップ９０１０）、記憶制御装置２０Ａは、差分ビットマップ２４０Ｐ１のライト対象データに対応する箇所の差分ビットを“１”にする（ステップ９０２０）。
【００６９】
（２）記憶制御装置２０Ａは、ライトデータ格納用のキャッシュメモリ領域を確保し（ステップ９０３０）、ホスト１０から転送されるライトデータを受領してキャッシュに格納する（ステップ９０４０）。
【００７０】
（３）記憶制御装置２０Ａは、ホスト１０へライト完了報告を返し（ステップ９０５０）、ホスト１０からのライト要求とは非同期にキャッシュ内のライトデータを正ボリュームへ格納する（ステップ９０６０）。
【００７１】
（４）一方、副ボリュームへ前記ライトデータの内容を反映する処理は、差分ビットマップを順次見て、差分ビットの“１”を検出し（ステップ９０７０）、“１”が検出されなかった場合、すなわち、差分ビットマップの全ての差分ビットが“０”であった場合、何もせずにここでの処理を終了する。
【００７２】
（５）ステップ９０７０で、差分ビットに“１”が検出された場合に、図１１に示すフローにより説明したステップ６０３０〜６０６０、６０８０と同様の処理を行って副ボリュームに非同期にデータをライトし（ステップ９０９０）、次の差分ビット、すなわち、次のデータがあるか否かを判定し（ステップ９１１０）、あれば、ステップ９０７０からの処理に戻って処理を繰り返し、なければ、ここでの処理を終了する。
【００７３】
本発明の第１〜第３の実施形態によるストレージシステムは、記憶制御装置間にまたがったペアの場合、初期コピー中のリード／ライトの要求に対しては、差分ビットマップを使用しない方法で行う。そして、異なる記憶制御装置間でのレプリケーション作成のための初期コピー時には、差分ビットマップ２４０Ｐ１の全差分ビットに“１”を登録して前述したと同様な処理を実行する。この処理の途中でライト要求が発生した場合、記憶制御装置２０Ａは、自装置のキャッシュにデータを格納した後、記憶制御装置２０Ｂへのデータ転送を同じライト要求の延長で実施する。
【００７４】
図１４は図１２により説明した異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合の動作を説明するフローチャートであり、次に、これについて説明する。
【００７５】
（１）記憶制御装置２０Ａは、ホスト１０からのライト要求を受け取ると（ステップ１２０１０）、ライトデータ格納用のキャッシュのメモリ領域を確保し（ステップ１２０２０）、ホスト１０からのライトデータを受領して確保したキャッシュの領域に格納する（ステップ１２０３０）。
【００７６】
（２）差分ビットマップのライトデータに対応する差分ビットが“０”（コピー済み）か否かを検出し（ステップ１２０３５）、差分ビットが“０”の場合、記憶制御装置２０Ａは、図１２により説明したステップ８０５０〜８０９０での処理と同様に、副ボリュームのある記憶制御装置２０Ｂへライト要求を発行し、データを転送する（ステップ１２０４０〜１２０８０）。
【００７７】
（３）ステップ１２０３５の検出で、差分ビットが“０”でなかった、すなわち、“１”であった場合、対応するデータが初期コピーが終了していないデータであるため、ライトデータを記憶制御装置２０Ａのキャッシュ内に格納しておき、初期コピー処理時に副側の記憶制御装置２０Ｂへコピーする。その後、記憶制御装置２０Ａは、ホスト１０へ完了報告を行い、ここでの処理を終了する（ステップ１２０９０）。
【００７８】
（４）正側の記憶制御装置２０Ａのキャッシュに格納されたデータは、ステップ６０８０と同様な処理により正ボリュームへ非同期にライト（デステージ）され（ステップ１２１００）、副側の記憶制御装置２０Ｂのキャッシュに格納されたデータは、ステップ８１２０と同様な処理により副ボリュームへ非同期にライト（デステージ）される（ステップ１２１１０）。
【００７９】
図１５は図１４により説明した異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合のデータ転送経路を示す図である。なお、図１５には差分ビットマップの配置も示している。
【００８０】
図１４による説明から判るように、また、図１５に示すデータ転送経路からも判るように、異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合には、ライト要求を受領したときに副ボリュームへの更新の反映を同じＩ／Ｏ処理の延長で実施するすることができる。この場合における副ボリュームへの更新のためのライト要求は、ＣＰＵ２１ＡからＣＰＵ２１Ｂにデータ伝送経路と同一の経路で送られることになる。
【００８１】
異なる記憶制御装置間でペアが組まれていて、初期コピーが終了して正副のボリューム内容の同期がとれている状態からペア状態がＳｐｌｉｔ状態になった場合に、ホスト１０からのライト要求があった場合、記憶制御装置２０Ａは、差分ビットマップＰ１の差分ビットを更新し、記憶制御装置２０Ｂは、差分ビットマップＳ１の差分ビットを更新する。本発明の実施形態は、差分ビットマップを正副１枚ずつ持ち、Ｓｐｌｉｔ状態のとき、各記憶制御装置内の差分ビットマップを更新することによりレプリケーション処理を実現することができる。同一記憶制御装置内のペアにライト要求があった場合には、差分ビットマップＰ１に更新位置を格納すればよい。
【００８２】
図１６は本発明の第１〜第３の実施形態によるストレージシステムでの異なる記憶制御装置間のペアのリシンクの処理動作を説明するフローチャートであり、次に、これについて説明する。リシンク処理（Ｒｅｓｙｎｃ）は、正ボリュームの内容に副ボリュームを再同期する処理、すなわち、その時点の正ボリュームの内容を副ボリュームにコピーする処理である。
【００８３】
（１）記憶制御装置２０Ａは、ホスト１０からリシンク要求を受け取ると（ステップ２００１０）、記憶制御装置２０Ｂへ差分ビットマップのリード要求を発行する（ステップ２００２０）。
【００８４】
（２）記憶制御装置２０Ａは、受け取る差分ビットマップ分のキャッシュメモリを確保し（ステップ２００３０）、記憶制御装置２０Ｂは、差分ビットマップＳ１を記憶制御装置２０Ａへ転送する（ステップ２００４０）。
【００８５】
（３）記憶制御装置２０Ａは、２つの差分ビットマップＰ１、Ｓ１をマージして記憶制御装置２０Ａ側に新規差分ビットマップを作成する。すなわち、記憶制御装置２０Ａは、差分ビットマップＰ１とＳ１との同一位置にあるどちらか一方の差分ビットに“１”が立っているビットは“１”、両方“０”の場合は、“０”として、新しいビットマップをＰ１上に作成する（ステップ２００５０）。
【００８６】
（４）新しいビットマップの作成が終了した後、記憶制御装置２０Ａは、差分ビットマップＰ１を先頭から参照し、ビットに“１”が立っていればコピー処理を行い、ビットが“０”の場合はコピー処理を行わず次のビットを参照しにいくことによりコピー処理を実行する（ステップ２００６０）。
【００８７】
コピー処理は、前述で説明した初期コピーと同様の処理により行われる。前述したステップ２００５０の処理でマージしたビットマップは、記憶制御装置２０Ａ以外においてもよい。また、マージ処理を実行するのは、記憶制御装置２０Ａ以外の装置であってもよい。
【００８８】
前述したようなリシンクの方法によれば、差分ビットマップの容量を増加することなく、リシンクの処理を実現することができる。また、この方法によれば、記憶制御装置２０Ａと２０Ｂとのリンクの管理も簡略化することができる。
【００８９】
前述までで、本発明の第１〜第３の実施形態によるストレージシステムの構成と動作とについて説明したが、次に、本発明の第４の実施形態によるストレージシステムについて説明する。本発明の第４の実施形態は、そのハードウェア的な構成は、前述で説明した本発明の第１〜第３の実施形態の場合と同一であってよく、差分ビットマップを正ボリュームのある記憶制御装置２０Ａと副ボリュームのある記憶制御装置２０Ｂとの両方に２面ずつ設置するようにした点で本発明の第１〜第３の実施形態と相違する。
【００９０】
図１７は本発明の第４の実施形態における差分ビットマップの設置例を示す図である。
【００９１】
同一の記憶制御装置内にレプリケーションが作成される場合、図１７（ａ）に示すように、その正副のペアは、例えば、記憶制御装置２０Ａに接続される記憶装置群３１内に作成され、差分ビットマップ２４０は、記憶制御装置２０Ａのメモリ２２ＡにＰ１、Ｐ２として予め２面作成される。また、異なる記憶制御装置内にレプリケーションが作成される場合、図１７（ｂ）に示すように、その正副のペアは、例えば、記憶制御装置２０Ａに接続される記憶装置群３１と記憶制御装置２０Ｂに接続される記憶装置群３１とのそれぞれの内部に作成され、差分ビットマップ２４０は、記憶制御装置２０Ａのメモリ２２ＡにＰ１、Ｐ２として２面作成され、記憶制御装置２０Ｂのメモリ２２ＢにＳ１、Ｓ２として２面作成される。そして、差分ビットマップＰ１、Ｓ１は、初期コピー時に作成され、差分ビットマップＰ２、Ｓ２は、ペアがＳｐｌｉｔされた後の処理で使用される。
【００９２】
本発明の第４の実施形態において、初期コピーは、図１１及び図１２に示して説明したフローチャートでの処理と同様な処理を行えばよく、また、コピー処理中のライト要求に対する処理は、同一記憶制御装置内ペアの場合、図１３に示して説明したフローチャートでの処理と同様な処理を行えばよい。
【００９３】
図１８は異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合の本発明の第４の実施形態での動作を説明するフローチャートであり、次に、これについて説明する。
【００９４】
（１）記憶制御装置２０Ａは、ホスト１０からのライト要求を受け取った後（ステップ２２０１０）、ライトデータ格納用にキャッシュ内のメモリ領域を確保し（ステップ２２０２０）、ホスト１０から転送されてくるライトデータを受領して確保したキャッシュ内のメモリ領域に格納する（ステップ２２０３０）。
【００９５】
（２）差分ビットマップＰ１のライトデータに対応する差分ビットを“１”にする。差分ビットの値がすでに“１”の場合、この差分ビットに対応する記憶領域にはまだ初期コピーが終了していないので、ライトデータを記憶制御装置２０Ａ内のキャッシュメモリに格納しておき、初期コピー処理時にライトデータを副側へコピーする。ビットが“０”の場合、差分ビットＰ１を繰り返し検索することにより、ビット“１”を検出しコピー処理が実行されたときに副側へコピーされる（ステップ２２０４０）。
【００９６】
（３）その後、記憶制御装置２０Ａは、ホスト１０へ完了報告を行い、一旦、ここでの処理を終了する（ステップ２２０５０）。
【００９７】
（４）各キャッシュに格納したデータは、前述した処理とは非同期に正ボリュームにライト（デステージ）され（ステップ２２０６０）、副ボリュームにライト（デステージ）される（ステップ２２０７０）。
【００９８】
通常Ｓｐｌｉｔは、初期コピーが終了し正ボリューム及び副ボリュームの内容の同期がとれた時点で実行する。これに対し、初期コピー中にＳｐｉｌｔ要求を受け取った場合でも、ホスト１０へは即時にＳｐｌｉｔ完了報告を行って、バックグラウンドで残りのコピーを実行する『高速Ｓｐｌｉｔ』と呼ばれる技術がある。
【００９９】
図１９は本発明の第４の実施形態における高速Ｓｐｌｉｔ処理の動作を説明するフローチャートであり、次に、これについて説明する。
【０１００】
（１）ホスト１０が『高速Ｓｐｌｉｔ』を発行し（ステップ１４０１０）、これを記憶制御装置２０Ａが受け取ると、記憶制御装置２０Ａは、ホスト１０からのライト要求箇所を格納するための差分ビットマップ２４０をＰ１からＰ２に切り替える。すなわち、ビットマップＰ１、Ｐ２のどちらを使用するかを示す１ビットの情報を有していて、ビットマップＰ１、Ｐ２を交代して使用するように切り替える（ステップ１４０２０）。
【０１０１】
（２）記憶制御装置２０Ａは、ペアが異なる記憶制御装置間のペアであるか否かを判定し（ステップ１４０３０）、ペアが異なる記憶制御装置間のペアであった場合、差分ビットマップＰ２を記憶制御装置２０Ｂへ転送し（ステップ１４０４０）、記憶制御装置２０Ｂは、受け取った差分ビットマップＰ２を差分ビットマップＳ２に格納する（ステップ１４０５０）。
【０１０２】
（３）ステップ１４０５０の処理の後、または、ステップ１４０３０の判定で、ペアが異なる記憶制御装置間のペアでなかった場合、記憶制御装置２０Ａは、ペア情報テーブルのペア状態を変更する。これにより、正ボリューム及び副ボリュームは、リード／ライト要求を受け付けることが可能となる。記憶制御装置２０は、ビットマップＰ２に従って、バックグラウンドで副ボリュームへ未反映のデータをコピーする処理を実行する（ステップ１４０６０）。
【０１０３】
（４）副ボリュームへ反映する処理のため、差分ビットマップの差分ビットを順次見てビット“１”が検出されたか否かを判定し（ステップ１４０７０）、差分ビットマップの差分ビットに“１”が検出された場合、同一記憶制御装置内のペアであるか否かを判定する（ステップ１４０８０）。
【０１０４】
（５）ステップ１４０８０の判定で、同一記憶制御装置内のペアであった場合、図１１に示すフローにより説明したステップ６０３０〜６０６０、６０８０と同様の処理を行う（ステップ１４０９０）。
【０１０５】
（６）ステップ１４０８０の判定で、異なる記憶制御装置間のペアであった場合、図１２に示すフローにより説明したステップ８０３０〜８１００（８１００の差分はＰ２）及びステップ８１２０と同様の処理を実行する（ステップ１４１００）。
【０１０６】
（７）ステップ１４１００の処理の中で、ステップ８０９０の完了報告後、差分ビットマップＳ２の対応するビットも“０”にする（ステップ１４１１０）。
【０１０７】
（８）前述までの処理の終了後、差分ビットマップの次の差分ビットを検索するか否かを判定し（ステップ１４１２０）、次の差分ビットを検索する場合、ステップ１４０７０からの処理に戻って処理を繰り返し、そうでなければ、ここでの処理を終了する。
【０１０８】
前述した処理動作において、ステップ１４０７０以降の処理は、バックグランドで残りのコピーを行う処理（正、副ボリュームの内容を同一にするために、Ｓｐｌｉｔ状態になる前に実行されていたコピー処理）である。
【０１０９】
また、前述した処理において、差分ビットマップＰ２とＳ２とは、常に内容に整合性が取れるようにされる。
【０１１０】
図２０は本発明の第４の実施形態で、高速Ｓｐｌｉｔ状態になったときに正ボリュームへのライト処理を行う場合の動作を説明するフローチャートであり、次に、これについて説明する。
【０１１１】
（１）記憶制御装置２０Ａは、ホスト１０からの正ボリュームへのライト要求を受領すると（ステップ１５０１０）、差分ビットマップＰ１のライト対象データに対応する箇所の差分ビットを“１”に設定する（ステップ１５０２０）。
【０１１２】
（２）次に、記憶制御装置２０Ａは、差分ビットマップＰ２のライト対象データに対応する箇所（すなわち、ライトデータによって更新される旧データに対応する箇所）の差分ビットを見てその値が“１”であるかを確認する（ステップ１５０３０）。値“１”を検出した場合、その差分ビットに対応するデータがまだ副ボリュームへコピーし終わっていないことを示しているので、記憶制御装置２０Ａは、ライトする旧データがキャッシュにあるか否かを判定する（ステップ１５０４０）。
【０１１３】
（３）ステップ１５０４０の判定で、旧データがキャッシュになかった場合、記憶制御装置２０Ａは、キャッシュに記憶領域を確保して（ステップ１５０５０）、ライトする旧データを正ボリュームからリードしてステージングする（ステップ１５０６０）。
【０１１４】
（４）ステップ１５０４０の判定で、旧データがキャッシュにあった（キャッシュヒット）場合、または、ステップ１５０６０の処理で旧データをキャッシュにステージングした後、記憶制御装置２０Ａは、副ボリュームのある記憶制御装置２０Ｂに対し、ライト対象の旧データのライト要求を発行する（ステップ１５０７０）。
【０１１５】
（５）記憶制御装置２０Ｂは、記憶制御装置２０Ａからのライト要求を受け取ると、キャッシュ領域を確保し（ステップ１５０８０）、記憶制御装置２０Ａは、記憶制御装置２０Ｂからキャッシュ領域確保の完了報告を受領する（ステップ１５０９０）。
【０１１６】
（６）記憶制御装置２０Ａは、ライトする旧データを記憶制御装置２０Ｂへ転送する（ステップ１５１００）。一方、記憶制御装置２０Ｂは、転送されてきたデータをキャッシュに格納すると共に、差分ビットマップＳ２のライト対象の旧データに対応する差分ビットを“０”に設定する（ステップ１５１１０）。
【０１１７】
（７）記憶制御装置２０Ａは、記憶制御装置２０Ｂからライト対象の旧データのライト完了報告を受領し（ステップ１５１２０）、差分ビットマップＰ２のライト対象の旧データに対応する差分ビットを“０”に設定する（ステップ１５１３０）。
【０１１８】
（８）ステップ１５１３０の処理後、または、ステップ１５０３０ので、差分ビット“１”が検出されず“０”を検出した場合、記憶制御装置２０Ａは、ホスト１０から転送されてくるライトデータを受領し（ステップ１５１４０）、ホスト１０へライト完了報告を返してここでの処理を終了する（ステップ１５１５０）。
【０１１９】
（９）記憶制御装置２０Ｂは、ステップ１５１００の処理で記憶制御装置２０Ａからデータをキャッシュに格納した後、記憶制御装置２０Ａからのコピー処理とは非同期に副ボリュームへデータを格納する（ステップ１５１６０）。
【０１２０】
（10）また、記憶制御装置２０Ａは、ステップ１５１４０の処理でホスト１０がのデータを受領後、ホストからのライト要求とは非同期に正ボリュームへデータを格納する（ステップ１５１７０）。
【０１２１】
図２１は本発明の第４の実施形態で、高速Ｓｐｌｉｔ状態になったときに副ボリュームへのライト処理を行う場合の動作を説明するフローチャートであり、次に、これについて説明する。
【０１２２】
（１）記憶制御装置２０Ｂは、ホスト１０から副ボリュームへのライト要求を受領すると（ステップ１６０１０）、差分ビットマップＳ１のライト対象データに対応する箇所の差分ビットを“１”に設定する（ステップ１６０２０）。
【０１２３】
（２）記憶制御装置２０Ｂは、差分ビットマップＳ２のライト対象データに対応する箇所（すなわち、ライトデータによって更新される旧データに対応する箇所）の差分ビットが“１”であるかを検出し（ステップ１６０３０）、差分ビットが“１”であることを検出できなければ、キャッシュ領域を確保し（ステップ１６０３５）、後述するステップ１６１６０へ進む。
【０１２４】
（３）ステップ１６０３０の検出で、差分ビットに“１”が立っていた場合、そのビットに対応するデータがまだ性ボリュームから副ボリュームへコピーし終わっていないことを示しているので、記憶制御装置２０Ｂは、ライト対象データが差分ビットに対応するデータ全範囲と一致しないか否かを判定する（ステップ１６０４０）。
【０１２５】
（４）ステップ１６０４０の判定で、ライト対象データが差分ビットに対応するデータ全範囲と一致していた場合、正ボリュームからコピーしても全データが書き変わり意味がないため、コピーを省略してもよい。記憶制御装置２０Ｂは、キャッシュ領域を確保し（ステップ１６０８０）、ホストからのデータを受領する（ステップ１６１９０）。
【０１２６】
（５）次に、記憶制御装置２０Ｂは、差分ビットマップＰ２のライト対象の旧データに対応する差分ビットを“０”にし（ステップ１６２００）、差分ビットマップＳ２のライト対象の旧データに対応する差分ビットを“０”にして、後述するステップ１６１７０に進む（ステップ１６２１０）。
【０１２７】
（６）ステップ１６０４０でライト範囲が全一致しない場合、記憶制御装置２０Ｂは、記憶制御装置２０Ａへ被ライト要求を発行する。被ライト要求を発行とは、記憶制御装置２０Ａが記憶制御装置２０Ｂにライト要求を出してもらうことである（ステップ１６０４５）。
【０１２８】
（７）記憶制御装置２０Ａは、キャッシュにライト対象の旧データがヒットするか否か判定し（ステップ１６０５０）、ヒットしなければ、キャッシュを確保し（ステップ１６０６０）、旧データをステージングする（ステップ１６０７０）。
【０１２９】
（８）ステップ１６０５０の判定で、記憶制御装置２０Ａのキャッシュにライト対象の旧データがヒットした場合、または、ステップ１６７０の処理で旧データをステージングした後、記憶制御装置２０Ａは、記憶制御装置２０Ｂへ旧データのライト要求を発行する（ステップ１６０８０）。
【０１３０】
（９）記憶制御装置２０Ｂは、キャッシュ領域を確保し（ステップ１６０９０）、確保できたら記憶制御装置２０Ａへキャッシュ確保完了を報告する（ステップ１６１００）。
【０１３１】
（10）記憶制御装置２０Ａは、記憶制御装置２０Ｂへ旧データを転送し（ステップ１６１１０）、記憶制御装置２０Ｂは、差分ビットマップＳ２の対応するビットを“０”にし（ステップ１６１２０）、記憶制御装置２０Ａに対して完了報告を行う（ステップ１６１３０）。
【０１３２】
（11）記憶制御装置２０Ａは、旧データを転送したので、差分ビットマップＰ２を“０”にし（ステップ１６１４０）、記憶制御装置２０Ｂに被ライト要求完了を報告する（ステップ１６１５０）。
【０１３３】
（12）記憶制御装置２０Ｂは、ホスト１０からライトデータを受領し（ステップ１６１６０）、データの受領後、ホスト１０に完了報告を送信して、ここでの処理を一旦終了する（ステップ１６１７０）。
【０１３４】
（13）記憶制御装置２０Ｂは、ステップ１６１６０の処理で、ホスト１０からライトデータを受領した後、非同期に副ボリュームへデータを格納する（ステップ１６２２０）。
【０１３５】
前述では、副ボリュームへのライト要求の場合の処理を説明したが、副ボリュームへのリード要求の場合、記憶制御装置２０Ｂは、前述と同様に記憶制御装置２０Ａから旧データを受領してホスト１０へ転送する。
【０１３６】
前述で説明した高速Ｓｐｌｉｔ状態になったときにホスト１０から正ボリュームが副ボリュームへ未反映箇所へのライト要求を受け取ったときの処理を『先行コピー処理』と呼び、ホスト１０から副ボリュームが正ボリュームからの未コピー箇所へのリード／ライト要求を受け取ったときの処理を『先取りコピー処理』と呼ぶ。
【０１３７】
本発明の第４の実施形態は、図２１に示すフローにより説明したように、先取りコピー処理を副ボリュームから正ボリュームに対して被ライト要求という形態で実現することにより、先取りコピー処理と先行コピー処理との間の相手方記憶制御装置内のキャッシュメモリ領域確保に伴うデッドロックを回避することができる。すなわち、高速Ｓｐｌｉｔ、先行コピー、先取りコピー間を、コピー対象データのロックを確保した処理により実行することができ、排他制御を行うことが可能となる。
【０１３８】
高速Ｓｐｌｉｔした後は、差分ビットマップをＰ１からＰ２へ切り替えて、ビットマップＰ２を使用してバックグランドでコピーを続けるが、データの更新ではビットマップＰ２を使用せず、ビットマップＰ２のビットをＯＮさせないようにする。また、差分ビットマップＰ１のビットをＯＦＦにする契機を、バックグランドでのコピー、先行コピー、先取りコピーが、コピー対象データを正ボリュームから副ボリュームへコピー終了後とする。これにより、差分ビットマップＰ１のビットが不当にＯＦＦされるケースを排除することができる。また、差分ビットマップＳ２は、Ｓｐｌｉｔ前に全ビット“１”（ＯＮ）とし、『差分ビットマップＳ２のビットはＯＦＦであるが差分ビットマップＰ２のビットはＯＮである』というケースを排除することができる。差分ビットマップＰ２を差分ビットマップＳ２に未コピーの領域については、差分ビットマップＳ２の参照により先取りコピー要と判断し「被ライト要求」を実行するが、差分ビットマップＰ２を参照すると実際はコピー不要というケースが発生する。この場合、差分ビットマップＳ２のビットをＯＦＦとし、副ボリュームの要求を実行してよい。
【０１３９】
さらに、記憶制御装置２０Ｂからのキャッシュ確保の応答時間により、記憶制御装置２０Ａは、送信する頻度を決定して行う。記憶制御装置２０Ａから記憶制御装置２０Ｂまで一連の処理になるため、そもそもの処理の流量を制限する必要があるためである。
【０１４０】
なお、本発明の第４の実施形態でのリシンク処理は、本発明の第１〜第３の実施形態でのリシンク処理と同様に実施することができる。
【０１４１】
図２２は本発明の第４の実施形態により異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合のデータ転送経路を示す図である。なお、図２２には差分ビットマップの配置も示している。
【０１４２】
図２２に示すデータ転送経路から判るように、異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合には、前述で説明した本発明の第１〜第３の実施形態の場合と同様に、ライト要求を受領したときに副ボリュームへの更新の反映を同じＩ／Ｏ処理の延長で実施するすることができる。この場合における副ボリュームへの更新のためのライト要求は、ＣＰＵ２１ＡからＣＰＵ２１Ｂにデータ伝送経路と同一の経路で送られることになり、また、差分ビットマップのマージの際の差分ビットマップも、データ伝送経路と同一の経路で送られる。
【０１４３】
図２３は図２に示した本発明の第２の実施形態で、異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合のデータ転送経路を示す図、図２４は図３に示した本発明の第３の実施形態で、異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合のデータ転送経路を示す図である。
【０１４４】
図２３、図２４に示すデータ転送経路は、ハードウェアも構成の相違により図１５に示す場合と相違するが、それ以外は、図１５のの場合と同様であり、副ボリュームへの更新のためのライト要求は、ＣＰＵ２１ＡからＣＰＵ２１Ｂにデータ伝送経路と同一の経路で送られることになる。また、図２、図３に示した本発明の実施形態に前述で説明した本発明の第４の実施形態が適用された場合、図２２により説明したと同様に、副ボリュームへの更新のためのライト要求は、ＣＰＵ２１ＡからＣＰＵ２１Ｂにデータ伝送経路と同一の経路で送られることになり、また、差分ビットマップのマージの際の差分ビットマップも、データ伝送経路と同一の経路で送られる。
【０１４５】
前述した本発明の第１〜第４の実施形態によれば、複数のディスク装置が接続された記憶制御部を複数個有するストレージシステムにおいて、異なった制御部に接続されたディスク装置内のボリュームにレプリケーションを作成する場合も、制御部間での制御情報のアクセスを極力減らすことによって性能を落とさずに、記憶領域のコピーを作成することができる。また、ペアを分割した場合も、制御部が物理的に分かれており、他の制御部のＩ／Ｏが影響することがないため、性能を落とさずに記憶領域のコピーを作成することができる。
【図面の簡単な説明】
【０１４６】
【図１】本発明の第１の実施形態によるストレージシステムを含む計算機システムの構成を示すブロック図である。
【図２】本発明の第２の実施形態によるストレージシステムを含む計算機システムの構成を示すブロック図である。
【図３】本発明の第３の実施形態によるストレージシステムを含む計算機システムの構成を示すブロック図である。
【図４】メモリ内の構成を示す図である。
【図５】管理端末の構成を示すブロック図である。
【図６】ペア情報テーブルの構成例を示す図である。
【図７】ボリューム情報テーブルの構成例を示す図である。
【図８】差分ビットマップの例について説明する図である。
【図９】本発明の第１〜第３の実施形態における差分ビットマップの設置例を示す図である。
【図１０】本発明の第１〜第３の実施形態によるストレージシステムでレプリケーションを作成する際の処理動作を説明するフローチャートである。
【図１１】図１０に示すステップ５０３０の処理での同一記憶制御装置内のレプリケーション作成の処理動作を説明するフローチャートである。
【図１２】図１０に示すステップ５０４０の処理での異なる記憶制御装置間でのレプリケーション作成の処理動作を説明するフローチャートである。
【図１３】図１１により説明した同一の記憶制御装置内レプリケーション作成の処理中にライト要求があった場合の動作を説明するフローチャートである。
【図１４】図１２により説明した異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合の動作を説明するフローチャートである。
【図１５】図１４により説明した異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合のデータ転送経路を示す図である。
【図１６】本発明の第１〜第３の実施形態によるストレージシステムでの異なる記憶制御装置間のペアのリシンクの処理動作を説明するフローチャートである。
【図１７】本発明の第４の実施形態における差分ビットマップの設置例を示す図である。
【図１８】異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合の本発明の第４の実施形態での動作を説明するフローチャートである。
【図１９】本発明の第４の実施形態における高速Ｓｐｌｉｔ処理の動作を説明するフローチャートである。
【図２０】本発明の第４の実施形態で、高速Ｓｐｌｉｔ状態になったときに正ボリュームへのライト処理を行う場合の動作を説明するフローチャートである。
【図２１】本発明の第４の実施形態で、高速Ｓｐｌｉｔ状態になったときに副ボリュームへのライト処理を行う場合の動作を説明するフローチャートである。
【図２２】本発明の第４の実施形態により異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合のデータ転送経路を示す図である。
【図２３】図２に示した本発明の第２の実施形態で、異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合のデータ転送経路を示す図である。
【図２４】図３に示した本発明の第３の実施形態で、異なる記憶制御装置間でのレプリケーション作成の処理中にライト要求があった場合のデータ転送経路を示す図である。
【符号の説明】
【０１４７】
１０  ホスト
２０Ａ、２０Ｂ  記憶制御装置
２１Ａ、２１Ｂ、８１  ＣＰＵ
２２Ａ、２２Ｂ  メモリ
２３Ａ、２３Ｂ  キャッシュ
２４  ハブ（Ｈｕｂ）
２５  スイッチ
２５Ｂ  記憶装置Ｉ／Ｆ
３１  記憶装置群
４０  Ｉ／Ｆアダプタ
５０  プロセッサ
６０〜６３  ネットワーク
７０  記憶装置システム
８０  管理端末
８２  主記憶
８３  入力部（キーボード装置等）
８４  出力部（ディスプレイ装置等）
８５  管理Ｉ／Ｆ
８６  記憶部
２００  ＲＡＩＤ（Redundant Array of Inexpensive Disks）制御プログラム
２０１  レプリケーション作成プログラム
２１０  管理エージェント
２２０  ペア情報テーブル
２３０  ボリューム情報テーブル
２４０  差分ビットマップ
５１０  構成情報テーブル
【図１】
2005301590.tif 000003
【図２】
2005301590.tif 000004
【図３】
2005301590.tif 000005
【図４】
2005301590.tif 000006
【図５】
2005301590.tif 000007
【図６】
2005301590.tif 000008
【図７】
2005301590.tif 000009
【図８】
2005301590.tif 000010
【図９】
2005301590.tif 000011
【図１０】
2005301590.tif 000012
【図１１】
2005301590.tif 000013
【図１２】
2005301590.tif 000014
【図１３】
2005301590.tif 000015
【図１４】
2005301590.tif 000016
【図１５】
2005301590.tif 000017
【図１６】
2005301590.tif 000018
【図１７】
2005301590.tif 000019
【図１８】
2005301590.tif 000020
【図１９】
2005301590.tif 000021
【図２０】
2005301590.tif 000022
【図２１】
2005301590.tif 000023
【図２２】
2005301590.tif 000024
【図２３】
2005301590.tif 000025
【図２４】
2005301590.tif 000026