(57)【要約】【課題】退避領域の容量を削減する。【解決手段】コピー元領域１２からコピー先領域へのコピーの停止中において、コピー元領域１２のデータの更新が発生した場合に、更新箇所を示す更新箇所情報１３を格納する更新箇所情報格納部１２１と、更新箇所情報１３に基づき、更新箇所に対応するコピー元領域１２のデータをコピー先領域２２へコピーする制御を行なうコピー処理部１１とを備え、更新箇所情報１３が、コピー元領域１２を所定の領域毎に区分し、コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶し、コピー処理部１１が、更新回数が所定数以上の領域についての前記コピーを抑止する。【選択図】図１
2015052844.tif 000002
【特許請求の範囲】
【請求項１】
コピー元領域に格納されたデータをコピー先領域にコピーする制御を行なうコピー制御装置であって、
前記コピー元領域から前記コピー先領域へのコピーの停止中において、前記コピー元領域のデータの更新が発生した場合に、更新箇所を示す更新箇所情報を格納する更新箇所情報格納部と、
前記更新箇所情報に基づき、前記更新箇所に対応する前記コピー元領域のデータを前記コピー先領域へコピーする制御を行なうコピー処理部とを備え、
前記更新箇所情報が、前記コピー元領域を所定の領域毎に区分し、前記コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶し、
前記コピー処理部が、前記更新回数が所定数以上の領域についての前記コピーを抑止することを特徴とするコピー制御装置。
【請求項２】
前記コピー元領域において更新されたデータを更新順に世代毎に格納するコピー元バッファ領域と、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、前記コピー元バッファ領域に格納された複数世代のデータのうち、前記コピー元領域において重複する領域のデータについては、最新のデータ以外の送信を抑止する重複抑止部と
を備えることを特徴とする、請求項１記載のコピー制御装置。
【請求項３】
前記コピー元領域が複数ある場合において、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、
前記コピー処理部が、各コピー元領域に対して設定された優先度に応じたパラメータに従って、各コピー元領域のデータをそれぞれ前記コピー先領域へコピーすることを特徴とする、請求項１又は２記載のコピー制御装置。
【請求項４】
コピー元領域に格納されたデータをコピー先領域にコピーする制御を行なうコピー制御方法であって、
前記コピー元領域から前記コピー先領域へのコピーの停止中において、前記コピー元領域のデータの更新が発生した場合に、前記コピー元領域を所定の領域毎に区分し、前記コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶する更新箇所情報を参照する処理と、
前記更新箇所情報に基づき、前記更新箇所に対応する前記コピー元領域のデータを前記コピー先領域へコピーする処理と、
前記更新回数が所定数以上の領域についての前記コピーを抑止する処理と
を備えることを特徴とするコピー制御方法。
【請求項５】
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、前記コピー元領域において更新されたデータを更新順に世代毎に格納するコピー元バッファ領域に格納された複数世代のデータのうち、前記コピー元領域において重複する領域のデータについては、最新のデータ以外の送信を抑止する処理
を備えることを特徴とする、請求項４記載のコピー制御方法。
【請求項６】
前記コピー元領域が複数ある場合において、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、
各コピー元領域に対して設定された優先度に応じたパラメータに従って、各コピー元領域のデータをそれぞれ前記コピー先領域へコピーすることを特徴とする、請求項４又は５記載のコピー制御方法。
【請求項７】
コピー元領域に格納されたデータをコピー先領域にコピーする制御を行なうコピー制御機能をコンピュータに実行させるコピー制御プログラムであって、
前記コピー元領域から前記コピー先領域へのコピーの停止中において、前記コピー元領域のデータの更新が発生した場合に、前記コピー元領域を所定の領域毎に区分し、前記コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶する更新箇所情報を参照し、
前記更新箇所情報に基づき、前記更新箇所に対応する前記コピー元領域のデータを前記コピー先領域へコピーし、
前記更新回数が所定数以上の領域についての前記コピーを抑止する
処理を前記コンピュータに実行させることを特徴とするコピー制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コピー制御装置，コピー制御方法及びコピー制御プログラムに関する。
【背景技術】
【０００２】
遠隔地にあるストレージ筐体間でデータのコピーをする際、コピー元ＬＵＮ（Logical Unit Number）にライトされたデータの整合性の保証が求められることがある。データベースなどの「その時点でのデータ全体の整合性がとれていないと無意味となるデータ」のコピーがそれにあたる。
例えば、データベースの遠隔地へのバックアップにおいて、更新日時，更新データＡ及び更新データＢで意味のある１セットとなるデータが含まれている場合について考える。コピー元ＬＵＮからコピー先ＬＵＮへ、単純にボリュームの先頭からコピーする場合に、回線の障害等の理由でコピーが中断されてしまった際に、更新日時と更新データＡのみがコピーされ、更新データＢがコピー前のデータで残ってしまう状態となることがある。
【０００３】
この時点でコピー先ＬＵＮに保存されているデータは１セットの整合性が保てず、コピーが再開され完了するまで意味をなさないデータ群となる。そして、この状態で、地震や火災等の災害や、ディスク故障などによりコピー元ＬＵＮが失われてしまえば、最新の状態に更新することも以前の状態に戻すこともできなくなる。すなわち、１セット全部のデータが完全にロストしてしまうこととなる。従って、コピー元において被災や障害などでコピーできない状況となってしまっても、コピー先において、常に整合性のある状態となっているコピー方法が求められている。
【０００４】
そこで、データの整合性を保証する筐体間コピーとして、バッファを用いることでデータの整合性を維持したままで更新順にコピーしていく方法が知られている。
図１８は従来の筐体間コピー手法を示す図であり、バッファを用いた筐体間コピー手法を示している。
この図１８に示すストレージシステム１００においては、コピー元筐体２００とコピー先筐体３００とのそれぞれに備えられた図示しないメモリに、複数のバッファ２１０，３１０がそれぞれ備えられている。コピー元筐体２００のコピー元ＬＵＮ１，２がコピー先筐体３００のコピー先ＬＵＮ１，２にコピーされる。
【０００５】
このようなストレージシステム１００において、コピー元ＬＵＮ１とコピー先ＬＵＮ１とが、又、コピー元ＬＵＮ２とコピー先ＬＵＮ２とがそれぞれ等価状態となっている場合に、コピー元ＬＵＮ１，２で更新されたデータがバッファ２１０に更新順に格納されていく。
このバッファ２１０に格納されたデータは、バッファ２１０の枯渇もしくは一定時間の経過を契機としてバッファ単位でコピー先筐体３００に転送される。それぞれのバッファ２１０にはコピーするデータが更新順に格納されているため、整合性のあるデータのまとまりでコピー先ＬＵＮ１，２にデータが書き込まれることとなり、コピー先筐体３００においては、整合性のあるデータがコピーされていることになる。
【０００６】
なお、コピー処理の開始から終了までのひとまとまりをコピーセッションといい、コピー元先のバッファ２１０，３１０はそれぞれ筐体間コピーのコピーセッションの数だけ用意される。
図１８に示すストレージシステム１００においては、コピー元先の各ＬＵＮ１，２が１つのバッファ２１０，３１０を共用している。そのため、それぞれのＬＵＮ内の整合性だけでなく、ＬＵＮ１とＬＵＮ２との間の整合性も保つことが可能となる。コピー元ＬＵＮ１からコピー先ＬＵＮ１へのコピーと、コピー元ＬＵＮ２からコピー先ＬＵＮ２へのコピーとを合わせて１つのコピーセッションとして設定することにより、コピーセッション内のＬＵＮはコピー元先の筐体２００，３００内で常に整合性のある状態が保たれているということがいえる。
【０００７】
図１９は従来の筐体間コピー手法を示す図であり、差分ビットマップを用いた筐体間コピー手法を示している。
コピーセッション開始直後や回線障害、データ更新の過多などによるバッファ２１０の枯渇（ホルト（HALT）状態）等、バッファ２１０，３１０によるデータの更新順序を保証できなくなる場合がある。このような状態では、コピー元筐体２００においてデータの整合性を保証できなくなる。
【０００８】
そのため、バッファ２１０のホルト状態においては、バッファ２１０を用いずに、バッファ２１０内に記録された更新データ箇所及びコピーセッション復旧までのデータ更新箇所を差分ビットマップ（Bitmap）２１１に記録する手法が知られている。
コピーセッションが復旧されると、図１９に示すように、コピー元先のＬＵＮ１，２が再び等価状態となるまで、差分ビットマップ２１１を参照して、更新された箇所のデータがコピー先のＬＵＮ１，２にコピー（差分コピー）される。この差分コピーにおいては、更新された箇所のデータが順序性を意識することなくコピーされる。
【０００９】
そのため、この差分コピーを実行している間、すなわち、差分コピーが完了するまでの間は、コピー先筐体３００におけるデータは整合性の保証がない状態になる。
従って、この状態でコピー元ＬＵＮ１，２のデータが被災や障害などで失われてしまうと、コピー先ＬＵＮ１，２では整合性のない無意味なデータしか残らず、データロストが発生してしまうこととなる。
【００１０】
図２０は従来の筐体間コピー手法を示す図であり、退避領域を用いることで差分コピー中の整合性を維持する筐体間コピー手法を示している。
図２０に示すストレージシステム１００においては、コピー先筐体３００に、複数の退避領域３１１が備えられている。
コピー先筐体３００においては、差分コピーの実行中に、コピー先ＬＵＮ１，２における、コピー元ＬＵＮ１，２から送信されるデータによって更新される箇所にある更新前のデータを退避領域３１１に退避させる。退避領域３１１は、例えば、メモリ上やパリティトラック、スペアディスクに形成され、差分コピーが終了しコピーセッションの復旧が終わるまで更新前のデータを保持し続ける。
【００１１】
差分コピー中にコピー元ＬＵＮ１，２のデータが被災や障害等で失われても、コピー先筐体３００において、退避領域３１１に退避させておいたデータをコピー先ＬＵＮ１，２に書き戻す。これにより、少なくともコピー先筐体３００において、差分コピー前の整合性のあるデータを復旧することができ、データロストを阻止できる。
このようなストレージシステム１００において、データ退避をする際に行なわれるコピー先ＬＵＮから退避領域３１１へのコピーは、データの更新要求に対して、要求があった部分のみの更新前データを退避領域に退避させる。このため、ＬＵＮ全体をコピーするよりも少ない容量と短い時間でのデータコピーを実現させている。従って、整合性のあるデータを保持するための退避領域３１１としては、１つのＬＵＮに対して、ある程度の大きさのものを用意すればよい。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１０−３９５７４号公報
【特許文献２】特開平１１−１５６０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、図２０に示すような従来のストレージシステム１００において、コピー先ＬＵＮに対して、退避領域３１１の容量以上のデータ更新要求が来た場合は、更新前データの退避及び保持ができないので、コピーセッションがエラー状態となる。
コピー元ＬＵＮのデータ更新頻度が高ければ、それだけ退避領域３１１の容量も多く用意する必要がある。
【００１４】
例えば、バッファ２１０，３１０間のデータ転送が間に合わなくなる頻度のデータ更新が行なわれてホルト状態になり、差分コピー中にもコピー元ＬＵＮに高頻度の更新がかかり続けている場合を考える。
このような場合には、差分コピーが完了するまでにコピー元ＬＵＮのほぼ全領域にデータの更新が来る可能性もあり得るので、退避領域３１１としてコピー元ＬＵＮと同程度の容量が必要となる。つまり、コピー先筐体３００において、退避領域３１１を含めたボリューム容量として現状の２倍の容量を用意する必要があるということになる。
【００１５】
従って、複数の筐体間のコピーセッションでデータの整合性を保とうとした場合には、コピー先筐体３００に多大な容量（例えば、数ＴＢ以上）の退避領域３１１が必要となり、製造コストが増大するという課題がある。
１つの側面では、本発明は、退避領域の容量を削減できるようにすることを目的とする。
【００１６】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１７】
このため、このコピー制御装置は、コピー元領域に格納されたデータをコピー先領域にコピーする制御を行なうコピー制御装置であって、前記コピー元領域から前記コピー先領域へのコピーの停止中において、前記コピー元領域のデータの更新が発生した場合に、更新箇所を示す更新箇所情報を格納する更新箇所情報格納部と、前記更新箇所情報に基づき、前記更新箇所に対応する前記コピー元領域のデータを前記コピー先領域へコピーする制御を行なうコピー処理部とを備え、前記更新箇所情報が、前記コピー元領域を所定の領域毎に区分し、前記コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶し、前記コピー処理部が、前記更新回数が所定数以上の領域についての前記コピーを抑止する。
【発明の効果】
【００１８】
一実施形態によれば、退避領域の容量を抑制することができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態の一例としてのストレージシステムの機能構成を模式的に示す図である。
【図２】実施形態の一例としてのストレージシステムのハードウェア構成を示す図である。
【図３】実施形態の一例としてのストレージシステムにおける差分ビットマップの更新手法を説明する図である。
【図４】（ａ），（ｂ），（ｃ）は実施形態の一例としてのストレージシステムにおける差分コピー手法を説明する図である。
【図５】実施形態の一例としてのストレージシステムにおけるコピー元バッファ枯渇時のコピー元バッファ内のデータの取り扱いを説明する図である。
【図６】実施形態の一例としてのストレージシステムにおける、コピー元バッファ内の各世代の更新記録箇所及び実際に転送される箇所を例示する図である。
【図７】実施形態の一例としてのストレージシステムにおいてコピー先筐体に対して複数のコピー元筐体から差分コピーを行なう例を示す図である。
【図８】実施形態の一例としてのストレージシステムにおける優先度設定テーブルを例示する図である。
【図９】実施形態の一例としてのストレージシステムにおけるホルト発生時の処理を説明するシーケンス図である。
【図１０】実施形態の一例としてのストレージシステムにおけるホルト発生時のコピー元筐体の処理を説明するフローチャートである。
【図１１】実施形態の一例としてのストレージシステムにおける差分ビットマップの更新手法を説明するフローチャートである。
【図１２】実施形態の一例としてのストレージシステムにおけるコピー元筐体における等価処理を説明するフローチャートである。
【図１３】実施形態の一例としてのストレージシステムにおけるバッファ優先処理動作におけるコピー元筐体の処理を説明するフローチャートである。
【図１４】実施形態の一例としてのストレージシステムにおける差分ビットマップ処理動作やバッファ優先処理動作の完了後のコピー先筐体における処理を説明するフローチャートである。
【図１５】実施形態の一例としてのストレージシステムにおけるビット処理を説明するフローチャートである。
【図１６】実施形態の一例としてのストレージシステムにおけるコピー先筐体における等価処理を説明するフローチャートである。
【図１７】実施形態の一例としてのストレージシステムのコピー先筐体における処理を説明するフローチャートである。
【図１８】従来の筐体間コピー手法を示す図である。
【図１９】従来の筐体間コピー手法を示す図である。
【図２０】従来の筐体間コピー手法を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本コピー制御装置，コピー制御方法及びコピー制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００２１】
図１は実施形態の一例としてのストレージシステム１の機能構成を模式的に示す図、図２はそのハードウェア構成を例示する図である。
実施形態の一例としてのストレージシステム１は、図１に示すように、ネットワーク（Network；ＮＷ）５０を介して複数（図１に示す例では４つ）のストレージ装置１０−１，１０−２，１０−３，２０が通信可能に接続されている。なお、図２中においては、便宜上、ストレージ装置１０−１及びストレージ装置２０の構成だけを示している。
【００２２】
ネットワーク５０は、データを通信可能に接続する通信回線であって、例えばＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等のＴＣＰ／ＩＰ等の規格に基づきデータ転送を実現する。
ストレージ装置１０−１，１０−２，１０−３，２０は、ホスト装置２，３に対して記憶領域を提供するものであり、例えば、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置である。ストレージ装置１０−１，１０−２，１０−３，２０は、それぞれ１つ以上の記憶装置１３１，２３１を備え、この記憶装置１３１，２３１にデータやプログラムを格納する。
【００２３】
また、本ストレージシステム１は、ストレージ装置１０−１，１０−２，１０−３のボリューム（論理ボリューム）のデータをストレージ装置２０にデータ転送することによりコピー（移行）する、データコピー機能をそなえる。
本実施形態においては、ストレージ装置１０−１〜１０−３をコピー元筐体（コピー元装置）とし、ストレージ装置２０をコピー先筐体（コピー先装置）とする。以下、データコピーとして、ストレージ装置１０−１，１０−２，１０−３のディスク装置１３１のデータをストレージ装置２０にデータ転送して、ストレージ装置２０のディスク装置２３１に格納する例について説明する。
【００２４】
なお、コピー元筐体であるストレージ装置１０−１，１０−２，１０−３は互いに同様の構成を備える。
以下、コピー元筐体であるストレージ装置を示す符号としては、複数のストレージ装置のうち１つを特定する必要があるときには符号１０−１〜１０−３を用いるが、任意のストレージ装置を指すときには符号１０を用いる。
【００２５】
図１に示す例においては、便宜上、ストレージ装置１０−１の構成だけを図示し、ストレージ装置１０−２，１０−３の構成の図示を省略している。
なお、ストレージ装置１０とストレージ装置２０との間におけるネットワーク５０を介したデータ転送をリモート転送という場合がある。又、以下、ストレージ装置１０をコピー元筐体１０と、又、ストレージ装置２０をコピー先筐体２０とそれぞれいう場合がある。
【００２６】
図２に示す例においては、ストレージ装置１０−１に上位装置としてのホスト装置２が接続され、又、ストレージ装置２０に上位装置としてのホスト装置３が接続されている。
ホスト装置２，３は、情報処理装置であり、例えば、図示しない、ＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory），ＲＯＭ（Read Only Memory）等をそなえたコンピュータである。
【００２７】
ホスト装置２は、接続されたストレージ装置１０のボリュームであるコピー元ＬＵＮ（Logical Unit Number）１２−１，１２−２にデータの書き込みや読み出しを行なう。例えば、ホスト装置２はストレージ装置１０の業務ボリュームであるコピー元ＬＵＮ１２−１，１２−２に対してリードやライトのデータアクセス要求を行なう。ストレージ装置１０は、このデータアクセス要求に応じてコピー元ＬＵＮ１２−１，１２−２に対するデータアクセスを行ない、ホスト装置２に対して応答を行なう。  
【００２８】
また、ホスト装置２は、ストレージ装置１０におけるコピーセッションについてのセッション情報の作成等を行なう。
セッション情報は、コピーセッションに関する情報であって、例えば、セッションＩＤ（Session ID），コピー元のＬＵＮ（Logical Unit Number）及び開始ＬＢＡ（Logical Block Address），コピー先のＬＵＮ及び開始ＬＢＡ及びＢＣ（Block Count）である。セッション情報は既知の手法を用いて作成することができる。
【００２９】
また、ホスト装置２によって作成されたセッション情報は、ストレージ装置１０に送信され、このストレージ装置１０のＲＡＭ１２１等に保持される。
なお、図２中においては、便宜上、ストレージ装置１０−１にホスト装置２が、又、ストレージ装置２０にホスト装置３がそれぞれ接続された状態を示しているが、各ストレージ装置１０，２０に２以上のホスト装置が接続されてもよい。
【００３０】
ストレージ装置１０，２０は、図２に示すように、ＣＭ１１１，２１１及びディスクエンクロージャ１３０，２３０をそなえる。ＣＭ１１１，２１１はストレージ装置１０，２０における種々の制御を行なうものであり、上位装置であるホスト装置２，３からのストレージアクセス要求（アクセス制御信号）に従って、ディスクエンクロージャ１３０，２３０のディスク装置１３１，２３１へのアクセス制御等、各種制御を行なう。
【００３１】
ディスクエンクロージャ１３０，２３０は、１以上のディスク装置１３１，２３１をそなえる。ディスク装置１３１，２３１は、例えば、ＨＤＤ（Hard Disk Drive）である。ストレージ装置１０，２０においては、このＨＤＤ１３１，２３１の記憶領域が論理ボリュームに対して割り当てられる。
図１に示す例においては、コピー元筐体１０−１には、コピー元ＬＵＮ１２−１とコピー元ＬＵＮ１２−２とが論理ボリュームとして備えられている。以下、コピー元ＬＵＮ１２−１をコピー元ＬＵＮ＃１という場合があり、コピー元ＬＵＮ１２−２をコピー元ＬＵＮ＃２という場合がある。
【００３２】
コピー元ＬＵＮ＃１，＃２は、例えば、ホスト装置２の業務データを格納する業務ボリュームであり、ホスト装置２からのディスクアクセス要求に基づき、データの書き込み等の更新が行なわれる。そして、本ストレージシステム１においては、これらのコピー元ＬＵＮ＃１，＃２のデータがコピーが行なわれるバックアップ対象である。すなわち、コピー元ＬＵＮ＃１，＃２は、コピー元データを記憶するコピー元領域として機能する。
【００３３】
一方、コピー先筐体２０には、コピー先ＬＵＮ２２−１，コピー先ＬＵＮ２２−２及びコピー先ＬＵＮ２２−３が論理ボリュームとして備えられている。以下、コピー先ＬＵＮ２２−１をコピー先ＬＵＮ＃１をという場合がある。同様に、コピー先ＬＵＮ２２−２をコピー先ＬＵＮ＃２と、又、コピー先ＬＵＮ２２−３をコピー先ＬＵＮ＃３という場合がある。
【００３４】
コピー先ＬＵＮ＃１は、コピー元ＬＵＮ＃１のコピー先として用いられるボリュームであり、コピー元ＬＵＮ＃１のデータ（コピー元データ）が複写されバックアップデータとして記憶される。すなわち、コピー先ＬＵＮ＃１は、コピー元ＬＵＮ＃１のデータに対応するバックアップデータが記憶されるコピー先領域として機能する。
同様に、コピー先ＬＵＮ＃２は、コピー元ＬＵＮ＃２のコピー先として用いられるボリュームであり、コピー元ＬＵＮ＃２のデータ（コピー元データ）が複写されバックアップデータとして記憶される。すなわち、コピー先ＬＵＮ＃２は、コピー元ＬＵＮ＃２のデータに対応するバックアップデータが記憶されるコピー先領域として機能する。
【００３５】
なお、以下、コピー元ＬＵＮを示す符号としては、複数のコピー元ＬＵＮのうち１つを特定する必要があるときには符号１２−１，１２−２もしくは＃１，＃２を用いるが、任意のコピー元ＬＵＮを指すときには符号１２を用いる。
同様に、以下、コピー先ＬＵＮを示す符号としては、複数のコピー先ＬＵＮのうち１つを特定する必要があるときには符号２２−１，２２−２もしくは＃１，＃２を用いるが、任意のコピー先ＬＵＮを指すときには符号２２を用いる。
【００３６】
コピー元筐体１０内には、コピー先筐体２０にコピーするデータが格納されたコピー元ＬＵＮ１２が１つ以上含まれる。
ＣＭ１１１，２１１は、図２に示すように、ＣＡ（Channel Adapter）１２４，２２４，ネットワークインタフェース（ＮＷ  Ｉ／Ｆ）１２５，２２５，ＣＰＵ１１０，２１０，ＲＯＭ１２２，２２２及びＲＡＭ１２１，２２１をそなえる。なお、図２に示す例においては、各ストレージ装置１０，２０に１つのＣＭ１１１，２１１がそなえられているが、これに限定されるものではなく、それぞれ２以上のＣＭ１１１，２１１をそなえてもよい。
【００３７】
また、ＣＭ１１１，２１１は、ストレージ装置１０とストレージ装置２０との間におけるデータコピーの制御を行なうコピー制御装置として機能する。
ＣＡ１２４，２２４は、ホスト装置２，３と通信可能に接続するインタフェースコントローラであり、例えば、ファイバチャネルアダプタである。
そして、例えばオペレータがホスト装置２から、ストレージ装置１０からストレージ装置２０へのデータコピー指示を入力すると、ＣＡ１２４がデータコピー指示を受信する受信部として機能する。
【００３８】
ネットワークインタフェース１２５，２２５は、ネットワーク５０を介して他のストレージ装置２０，１０と通信可能に接続するインタフェースコントローラであり、例えば、ＬＡＮカードやファイバチャネルアダプタである。
ＲＡＭ１２１，２２１は、種々のデータやプログラムを一時的に格納するメモリ（記憶領域）である。
【００３９】
ＲＡＭ１２１，２２１における所定の領域には、例えば、他のストレージ装置２０，１０に対して送信するデータが一時的に格納され、これによりＲＡＭ１２１，２２１は、ＲＥＣ（Remote Equivalent Copy）バッファ１２１ａ，２２１ａとして機能する。
これらのＲＥＣバッファ１２１ａ，２２１ａは、データの読み書き処理の順序性を保証するため、複数の領域に分割して管理される。分割した個々の領域は世代として管理する。
【００４０】
例えば、図１に示す例においては、ＲＥＣバッファ１２１ａ，２２１ａは、８つの領域を備えており、これらの領域は世代１〜８の各世代にそれぞれ対応する。各世代は時系列で管理される。又、各世代はストレージ装置１０，２０間のコピー処理の完了後に開放される。開放とは、当該世代にデータを格納可能な状態であることである。
以下、ＲＥＣバッファ１２１ａをコピー元バッファ１２１ａという場合があり、ＲＥＣバッファ２２１ａをコピー先バッファ２２１ａという場合がある。
【００４１】
ＲＡＭ１２１内に用意されているＲＥＣバッファ１２１ａ（コピー元バッファ）は、コピー元ＬＵＮ１２に更新されたデータ（更新データ）を一時的に格納する、ＲＥＣバッファ１２１ａは、前述の如く世代と呼ばれる複数に区分けされた領域を有する。
このように、ＲＡＭ１２１，２２１は、リモート転送時に、他のストレージ装置２０，１０に対して転送するデータを一時的に格納する転送データバッファとして機能する。
【００４２】
ホスト装置２等によりコピー元ＬＵＮ１２にデータの更新が行なわれた場合は、ＲＥＣバッファ１２１ａに更新データが格納される。
以下、本ストレージシステム（コピー制御システム）１において、コピー元ＬＵＮ１２からコピー先ＬＵＮ２２へ、コピー元バッファ１２１ａ（ＲＥＣバッファ１２１ａ）及びコピー先バッファ２２１ａ（ＲＥＣバッファ２２１ａ）を介してデータ転送する手法をバッファ転送という。
【００４３】
また、ＲＡＭ１２１，２２１における他の所定の領域には、差分ビットマップ（更新箇所情報）１３−１，１３−２が格納されている。
差分ビットマップ１３−１，１３−２は、ＲＥＣバッファ１２１ａを用いたデータ転送を行なうことができない状態において、コピー元ＬＵＮ＃１，＃２に行なわれた更新箇所を示す。
【００４４】
ＲＥＣバッファ１２１ａを用いたデータ転送を行なうことができない状態とは、例えば、ネットワーク５０の回線障害が生じた場合や、コピー元ＬＵＮ１２に過剰な更新が行なわれＲＥＣバッファ１２１ａの空き容量がなくなった場合である。これらの場合には、ＲＥＣバッファ１２１ａを用いたデータ転送を行なうことができない。
以下、差分ビットマップを示す符号としては、複数の差分ビットマップのうち１つを特定する必要があるときには符号１３−１，１３−２を用いるが、任意の差分ビットマップを指すときには符号１３を用いる。
【００４５】
差分ビットマップ１３は、コピー元ＬＵＮ１２毎に備えられ、差分ビットマップ１３−１はコピー元ＬＵＮ＃１に、又、差分ビットマップ１３−２はコピー元ＬＵＮ＃２に、それぞれ対応して備えられる。
具体的には、コピー元ＬＵＮ１２を予め所定の領域（単位領域）毎に区分し、差分ビットマップ１３においては、これらの単位領域毎に更新状況を示す複数ビット（例えば２ビット）が割り当てられている。
【００４６】
従来のストレージシステムにおいては、単位領域毎に１ビットが割り当てられ、対応する単位領域について「０」もしくは「１」の２種類の状態のみ取ることができる。すなわち更新の有無のみを記録していた。
一方、本ストレージシステム１においては、差分ビットマップ１３において、各単位領域に複数ビット（ビット列）を割り当てることにより、各単位領域に対して、その単位領域に対して何度更新が行なわれたかという情報を記録することを可能とする。
【００４７】
例えば、差分ビットマップ１３において、単位領域に対して２ビットのビット列を割り当てる場合を考えると、各単位領域に対してビット列が取りうる状態は「００」，「０１」，「１０」及び「１１」の４種類となる。
ここで、例えば、単位領域に更新が無かった場合に「００」を、１回更新があった場合に「０１」を、２回更新があった場合に「１０」を、３回以上更新があった場合に「１１」を、それぞれ設定する。すなわち、差分ビットマップ１３は、コピー元ＬＵＮ１２に対して行なわれる更新回数情報を所定の領域毎に記憶する。以下、コピー元ＬＵＮ１２に更新が行なわれることを、更新が入ると表現する場合がある。
【００４８】
このように、本ストレージシステム１においては、従来の差分ビットマップにおいて単位領域毎に対して更新の有無を示す１ビットのフラグを関連付けていた代わりに、２ビットのビット列が関連付けられている。すなわち、本ストレージシステム１においては、差分ビットマップ１３において、コピー元ＬＵＮ１２における更新状況を示す領域を従来の１ビットから２ビットに拡張していると言える。本ストレージシステム１においては、従来手法の差分ビットマップの１ビットのフラグ領域を複数倍（本実施形態においては２倍）に拡張している。この従来手法に対して拡張している割合（本実施形態では２倍（２００％））を拡張倍率という。
【００４９】
従来手法の差分ビットマップのフラグが１ビットであるので、差分ビットマップ１３において、単位領域に対応付けられるビット列のビット数（サイズ）がそのまま拡張倍率として用いることができる。この拡張倍率は、例えば、コピー元筐体１０のＲＡＭ１２１や記憶装置１３１等に予め記憶されている。
差分ビットマップ１３におけるビット列が示す値により、差分ビットマップ１３を１度走査する間に、各単位領域にどれだけの頻度で更新が行なわれたかを知ることができ、これにより、各単位領域に対して行なわれる更新頻度を推測することもできる。すなわち、差分ビットマップ１３を１度走査する間に、多く（所定回数以上）の更新が行なわれた単位領域には、これからも高い頻度で更新が行なわれると推測することができる。
【００５０】
そして、後述するコピースケジューラ１１は、コピー元ＬＵＮ１２における更新状況に応じて、差分ビットマップ１３の対応する単位領域の更新回数情報を更新（計数）する。
また、コピー元ＬＵＮ１２とコピー先ＬＵＮ２２との間で、ＲＥＣバッファ１２１ａを用いたデータ転送を行なうことができるようになると、後述するコピースケジューラ１１は、差分ビットマップ１３を参照して、送信データをキャッシュ１４に格納してコピー先筐体２０に送信する。
【００５１】
ＲＡＭ１２１，２２１における他の所定の領域は、コピー先筐体２０もしくはコピー元筐体１０に送信するデータを格納するキャッシュ１４，２４としても機能する。
キャッシュ１４，２４は、コピー元筐体１０及びコピー先筐体２０のそれぞれに備えられる。コピー元筐体１０のキャッシュ（コピー元キャッシュ）１４はコピー先筐体２０に送信するデータを一時的に格納する。コピー先筐体２０のキャッシュ（コピー先キャッシュ）２４はコピー元筐体１０から送信されるデータを一時的に格納する。
【００５２】
キャッシュ１４には、ＲＥＣバッファ１２１ａから格納されるデータと、コピー元ＬＵＮ１２から差分ビットマップ１３を参照して格納されるデータとが格納される。なお、ＲＥＣバッファ１２１ａを介して送信（バッファ処理）されたデータであるか、差分ビットマップ１３を用いて送信（ビットマップ処理）で送信されたデータであるかをコピー先筐体２０において判定できるよう、送信されるデータは識別情報を備える。この識別情報は、例えば、コピースケジューラ１１によってデータヘッダ等に付される。
【００５３】
コピー元ＬＵＮ１２において更新されたデータ（更新データ）は、ＲＥＣバッファ１２１ａにおける１つの世代に順次格納されていく。一定時間の経過もしくは１つの世代が更新データで全て埋まった場合に、ＲＥＣバッファ１２１ａにおいてデータを格納する世代が変更されるとともに、世代内に格納されたデータ（送信データ）は、キャッシュ１４に格納される。
【００５４】
このキャッシュ１４に格納された送信データがネットワーク５０を介してコピー先筐体２０へ送信され、このコピー先筐体２０のキャッシュ２４に格納された後、ＲＥＣバッファ（コピー先バッファ）２２１ａに格納される。
ＲＥＣバッファ２２１ａも、ＲＥＣバッファ１２１ａと同様に世代で区分けされた領域を持ち、ＲＥＣバッファ１２１ａから送られた同一世代のデータは同じ世代に格納される。コピー元筐体１０とコピー先筐体２０との間においては、世代ごとにデータが転送される。このため、転送データはそれぞれの世代で半端なデータになることなく、コピー先筐体２０においては、整合性のあるデータが保たれることとなる。
【００５５】
ＲＥＣバッファ１２１ａ，２２１ａの数は整合性を保ちたいコピーセッションの数だけ用意される。例えば、コピー元筐体１０に２つのコピー元ＬＵＮ１２があり、これらの２つのコピー元ＬＵＮ１２を合わせて整合性のあるデータを保ちたい場合は、これらの２つのコピー元ＬＵＮ１２で１つのＲＥＣバッファ１２１ａを共有し、同時に整合性を保つこととなる。
【００５６】
ＲＡＭ１２１，２２１における他の所定の領域には、ホスト装置２，３から受信したデータや、ホスト装置２，３に対して送信するデータが一時的に格納され、これによりＲＡＭ１２１，２２１はバッファメモリとしても機能する。
さらに、ＲＡＭ１２１，２２１における他の所定の領域には、後述するＣＰＵ１１０，２１０がプログラムを実行する際に、データやプログラムが一時的に格納・展開される。
【００５７】
また、ＲＡＭ１２１における他の所定の領域には、図示しないリモート転送ビットマップが格納される。リモート転送ビットマップは、コピー元のストレージ装置１０とコピー先のストレージ装置２０との間におけるリモートデータ転送に関して、データ転送対象についてのデータ転送状態を管理する情報である。
ＲＯＭ１２２，２２２は、ＣＰＵ１１０，２１０が実行するプログラムや種々のデータを格納する記憶装置である。
【００５８】
ＣＰＵ１１０，２１０は、種々の制御や演算を行なう処理装置であり、ＲＯＭ１２２等に格納されたプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１１０はコピースケジューラ１１として機能し、ＣＰＵ２１０はコピースケジューラ２１として機能する（図１参照）。
なお、コピースケジューラ１１，２１としての機能を実現するためのコピー制御プログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００５９】
コピースケジューラ１１としての機能を実現する際には、内部記憶装置（本実施形態ではＲＡＭ１２１やＲＯＭ１２２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１１０）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
同様に、コピースケジューラ２１としての機能を実現する際には、内部記憶装置（本実施形態ではＲＡＭ２２１やＲＯＭ２２２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１１０）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００６０】
コピースケジューラ１１は、コピー元ＬＵＮ１２とコピー先ＬＵＮ２２との間のデータ転送（コピー）を制御する。
コピースケジューラ１１は、コピー元ＬＵＮ１２において更新されたデータを、ＲＥＣバッファ１２１ａにおける１つの世代に順次格納させる。一定時間の経過もしくは１つの世代が更新データで全て埋まった場合に、コピースケジューラ１１は、データを格納する世代を変更し、又、世代に格納されたデータをキャッシュ１４に格納させる。
【００６１】
キャッシュ１４に格納された送信データがネットワーク５０を介してコピー先筐体２０に送信される。
また、コピー元筐体１０においてＲＥＣバッファ１２１ａの空き容量が枯渇した場合には、コピースケジューラ１１は、データの更新箇所を、各コピー元ＬＵＮ１２毎に用意されている、差分ビットマップ１３に記録をすることで管理する。
【００６２】
前述の如く、差分ビットマップ１３は、コピー元ＬＵＮ１２の単位領域毎に２つ以上のビットからなるビット列が割り当てられており、コピースケジューラ１１は、コピー元ＬＵＮ１２における単位領域の範囲内に更新があった場合に対応するビット列の状態を変化させる。又、後述の如く、コピースケジューラ１１は、ＲＥＣバッファ１２１ａ内の更新データについてもその更新箇所を差分ビットマップ１３に反映させることもある。
【００６３】
また、コピースケジューラ１１は、差分ビットマップ１３を更新する機能を備える。
図３は実施形態の一例としてのストレージシステム１における差分ビットマップ１３の更新手法を説明する図である。
この図３においては、コピー元ＬＵＮ１２における６箇所（図中の黒丸点参照）で更新が行なわれた例を示している。
【００６４】
コピースケジューラ１１は、ＲＥＣバッファ１２１ａが枯渇等している状態においてコピー元ＬＵＮ１２に変更が入ると、差分ビットマップ１３において、これらの変更箇所に対応する各ビット列の値をインクリメントメントさせる。
すなわち、コピースケジューラ１１は、差分ビットマップ１３における対象の単位領域のビット列が「００」だった場合は「０１」にする。同様に、差分ビットマップ１３における対象のビット列が「０１」だった場合は「１０」にし、「１０」だった場合は「１１」にする。ただし、差分ビットマップ１３における対象のビット列が「１１」だった場合は、コピースケジューラ１１は、ビット列の値を操作（変更）せずに「１１」の状態に維持する。
【００６５】
このように、差分ビットマップ１３において単位領域に対して２ビットのビット列を対応付けることにより、その箇所への更新が１回，２回もしくは３回以上来たことを差分ビットマップ１３に記録することが可能となる。
そして、コピースケジューラ１１は、コピー先筐体２０にデータを転送できる状態になると、差分ビットマップ１３においてビット列の値が「０１」の単位領域についてのみ、コピー元ＬＵＮ１２の更新データをコピー先筐体２０にコピー（データ転送）する。すなわち、差分ビットマップ１３においてビット列の値が「０１」以外の単位領域については、そのデータをコピー先筐体２０へ転送する処理（コピー処理）を行なわない。
【００６６】
また、コピースケジューラ１１は、コピー先筐体２０にデータ転送を行なうと差分ビットマップ１３を更新する。すなわち、差分ビットマップ１３におけるデータ転送を行なった単位領域のビット列が「０１」だった場合は、データ転送処理後、ビット列の値を「００」に戻す。
また、差分ビットマップ１３におけるビット列が「１０」及び「１１」の単位領域については、コピー処理を行なわずにビット列の値をデクリメントして、１つ前の段階の値である「０１」及び「１０」に戻す。なお、差分ビットマップ１３におけるビット列が「００」の単位領域については、コピー処理を行なわず、又、ビット列の値のデクリメントも行なわない。
【００６７】
差分ビットマップ１３におけるビット列の値が所定数（例えば、２）以上である、「１０」又は「１１」の単位領域は、更新が頻繁に行なわれているおそれがある。従って、当該箇所のデータをコピー元ＬＵＮ１２からコピー先ＬＵＮ２２へ転送しても、その後、更に当該箇所のデータが更新され、再度、データ転送を行なう必要が生じる蓋然性が高い。
そこで、本ストレージシステム１においては、コピースケジューラ１１は、すなわち、差分ビットマップ１３におけるデータ転送を行なった単位領域のビット列が「０１」の単位領域についてだけ、当該箇所のデータをコピー元ＬＵＮ１２からコピー先ＬＵＮ２２へ転送させる。
【００６８】
また、コピースケジューラ１１は、差分ビットマップ１３に基づきコピー元ＬＵＮ１２からコピー先ＬＵＮ２２へデータ転送を行なうと、差分ビットマップ１３におけるデータ転送を行なった単位領域に対応するビット列の値の更新も行なう。
具体的には、コピースケジューラ１１は、差分ビットマップ１３におけるデータ転送を行なった単位領域のビット列が「０１」だった場合は、データ転送処理後、ビット列の値を「００」にデクリメントする。又、差分ビットマップ１３におけるビット列が「１０」及び「１１」の単位領域については、データ転送処理は行なわずにビット列の値だけ変更して、１つ前の段階の値である「０１」及び「１０」にデクリメントする。なお、差分ビットマップ１３におけるビット列が「００」の単位領域については、データ転送処理を行なわず、又、ビット列の値のデクリメントも行なわない。
【００６９】
このように、頻繁に更新されるとみなされる箇所については、差分ビットマップ１３における更新された回数（ビット列の値）をデクリメントさせるだけにとどめ、当該箇所のデータ転送を抑止する。これにより、コピー元ＬＵＮ１２からコピー先ＬＵＮ２２に対して、同一の単位領域のデータを何度も送信することを阻止し、差分ビットマップコピーの回数を低減することができ、結果的に差分コピーに要する時間を減らすことができる。
【００７０】
図４（ａ），（ｂ），（ｃ）は実施形態の一例としてのストレージシステム１における差分コピー手法を説明する図であり、図４（ａ）はその１巡目を、図４（ｂ）はその２巡目を、図４（ｃ）はその３巡目を示す。
差分コピーにおいては、コピースケジューラ１１は、差分ビットマップ１３を走査し、そのビット列が「０１」の単位領域を特定し、コピー元ＬＵＮ１２における当該領域のデータをコピー先ＬＵＮ２２に転送する。コピースケジューラ１１はこれらの処理を繰り返し行なう。
【００７１】
図４（ａ）に例示する差分ビットマップ１３の走査の１巡目においては、ビット列の値が「０１」である３箇所の単位領域について、そのコピー元ＬＵＮ１２の対応するデータをコピー先ＬＵＮ２２に転送する。
コピースケジューラ１１は、コピー先筐体２０にデータ転送を行なうと、差分ビットマップ１３を更新する。これにより、図４（ｂ）に示すように、２巡目においては、図４（ａ）に示す１巡目では「０１」であったビット列が「００」に、又、「１０」であったビット列が「０１」に、更に、「１１」であったビット列が「１０」に、それぞれ更新される。
【００７２】
コピースケジューラ１１は、この図４（ｂ）に例示する更新後の差分ビットマップ１３を走査し、そのビット列が「０１」の単位領域を特定し（図４（ｂ）では１箇所）、コピー元ＬＵＮ１２における当該領域のデータをコピー先ＬＵＮ２２に転送する。
コピースケジューラ１１は、コピー先筐体２０にデータ転送を行なうと、差分ビットマップ１３を更新する。これにより、図４（ｃ）に示すように、３巡目においては、例えば、図４（ｂ）において「０１」であったビット列が「００」に、又、「１０」であったビット列が「０１」に、それぞれ更新される。
【００７３】
また、この間にもコピー元ＬＵＮ１２はホスト装置２により更新される。図４（ｃ）に示す例においても、コピー元ＬＵＮ１２に新たに更新が行なわれ、差分ビットマップ１３のビット列がインクリメントされている箇所が存在している。
コピースケジューラ１１は、差分ビットマップ１３の走査と、そのビット列が「０１」の単位領域について、コピー元ＬＵＮ１２における当該領域のデータのコピー先ＬＵＮ２２への転送と、差分ビットマップ１３の更新とを繰り返し行なう。
【００７４】
上述した実施形態においては、差分ビットマップ１３において、各単位領域に対して２ビット（従来手法の２倍）のビット列を用いているが、これに限定されるものではなく、３ビット以上のビット列を用いてもよく、例えば、ＲＡＭ１２１の使用状況等に応じて種々変形して実施することができる。
例えば、差分ビットマップ１３において、各単位領域に対して、従来手法の１ビットを４倍（４ビット）や８倍（８ビット）に拡大にしたビット列を割り当てることで、１つの単位領域につき１５回や２５５回の更新回数まで記録することができる。
【００７５】
すなわち、本ストレージシステム１においては、差分ビットマップ１３において、単位領域に対して、従来の１ビットの領域を複数倍（例えば２倍の２ビット）に拡張したビット列を備え、このビット列に各単位領域の更新回数を記録している。
また、コピースケジューラ１１は、バッファ転送を行なう際に、ホルト発生時点のＲＥＣバッファ１２１ａ内の複数世代における最終データをコピー先筐体２０に転送する機能を備える。これにより、整合性を保証するための退避コピー量を削減し、退避領域２６の容量の削減に寄与する。なお、このＲＥＣバッファ１２１ａ内の最終データの転送は、ＲＥＣバッファ１２１ａの記録量やコピー元ＬＵＮ１２への更新量，ネットワーク５０の伝送速度（回線速度）等に基づいて行なわれる。以下にその詳細を説明する。
【００７６】
本ストレージシステム１においては、コピー元ＬＵＮ１２とコピー先ＬＵＮ２２とを等価にするデータ転送手法は、差分ビットマップ処理動作とバッファ優先処理動作との２種類の動作で実現可能であり、いずれかの動作を選択して実行する。
ここで、差分ビットマップ処理動作においては、ＲＥＣバッファ１２１ａ内の記録領域を差分ビットマップ１３に反映する処理を行なう。一方、バッファ優先処理動作においては、先にＲＥＣバッファ１２１ａ内のデータをコピー先筐体２０に転送した後で（優先して処理した後で）、残りの差分ビットマップ１３によって示されるデータをコピー先筐体２０に転送する処理を行なう。
【００７７】
図５は実施形態の一例としてのストレージシステム１におけるコピー元バッファ１２１ａ枯渇時のコピー元バッファ１２１ａ内のデータの取り扱いを説明する図である。
差分ビットマップ処理動作においては、図５の矢印Ａ１に示すように、ＲＥＣバッファ１２１ａが枯渇した場合に、ＲＥＣバッファ１２１ａに保持されているデータの更新箇所を参照し、それに対応する差分ビットマップ１３を生成する（立てる）。そして、この差分ビットマップ１３に、ＲＥＣバッファ１２１ａ内の更新データの箇所を反映させることで、差分ビットマップ１３を用いた差分ビットマップコピーに切り替える。
【００７８】
なお、本ストレージシステム１においては、前述の如く、差分ビットマップ１３は単位領域に対して、２ビットのビット列が割り当てられている。すなわち、従来手法の差分ビットマップに比べて２倍以上に拡張されているため、差分ビットマップ１３の更新回数を１回増やす処理を行なう。
また、この差分ビットマップ処理動作では、差分ビットマップ１３への反映後にＲＥＣバッファ１２１ａ内のデータは消去され、コピー元ＬＵＮ１２とコピー先ＬＵＮ２２とが等価状態となった段階で再度使用可能となる。
【００７９】
一方、バッファ優先処理動作においては、図５の矢印Ａ２に示すように、コピー元バッファ１２１ａの記録領域を差分ビットマップ１３に反映させずに、コピー元バッファ１２１ａの中身を、キャッシュ１４を介して、先にコピー先筐体２０のコピー先バッファ２２１ａへ送信する。
コピー元バッファ１２１ａ及びコピー先バッファ２２１ａ内のデータは世代ごとに整合性のある状態で管理されているため、バッファ転送によるコピーにおいてはコピー先筐体２０でのデータの退避処理が不要となる。すなわち、退避領域２６を必要としない。そのため、差分ビットマップ１３を用いた差分コピーの転送量を減らすことで退避領域２６の必要な容量を抑制することが可能となる。
【００８０】
ここで、バッファ優先処理動作が差分ビットマップ処理動作に比べて退避領域２６の必要な容量の抑制に有効となる条件としては、例えば以下のようなものがある。
（１）コピー元バッファ１２１ａに記録されている更新箇所が大きい場合
例えば、コピー元バッファ１２１ａの記録データ量が、当該コピー元バッファ１２１ａと差分ビットマップ１３の更新箇所とが重複する領域のデータ量よりも大きい場合である。このような場合には、コピー元バッファ１２１ａから差分ビットマップ１３に書き戻すデータの量が多くなるので、差分ビットマップ１３に登録される領域が増大し、差分ビットマップ処理動作では必要な退避領域２６が増加してしまうからである。
【００８１】
（２）コピー元ＬＵＮ１２への新規更新箇所の増加が小さい場合
例えば、新規更新箇所の増加量がネットワーク５０の回線速度の半分以下である場合である。このような場合には、コピー元バッファ１２１ａのデータ転送中における差分ビットマップ１３に登録されるデータの増分が小さくなり、バッファ転送に時間をかけても退避領域２６の必要量が大きくなりにくい。
【００８２】
（３）ネットワーク５０の回線速度が大きい場合
例えば、ネットワーク５０の回線速度が新規更新箇所の増加量の倍以上である場合である。このような場合には、コピー元バッファ１２１ａからのデータ転送に要する時間が少なくなり、それだけ早く差分コピーに切り替えることができ、退避領域２６の必要量の増加を防ぐことができるからである。
【００８３】
（４）コピー元バッファ１２１ａに記録されている更新箇所と差分ビットマップ１３に記録されている更新箇所との重なりが小さい場合
例えば、コピー元バッファ１２１ａに記録されている更新箇所と差分ビットマップ１３に記録されている更新箇所とが重なった領域部分が、コピー元バッファ１２１ａの記録領域全体の半分以下の場合である。これらの重なりが大きい場合は、コピー元バッファ１２１ａからのバッファ転送時に送られるデータのうち、その後の差分コピーによって上書きされてしまう部分が大きくなる。その一方で、逆に差分ビットマップ１３にコピー元バッファ１２１ａの状態を反映しても差分ビットマップ１３の増加量はあまり大きくならないからである。
【００８４】
なお、差分ビットマップ処理動作とバッファ優先処理動作との２種類の動作のどちらを選択するかは、例えば、オペレータが手動でいずれかを選択してもよく、又、ホルト復帰時に必要なパラメータを採取し、必要とされる退避領域２６の容量が少なくなる方を自動選択してもよく、種々変形して実施することができる。
また、ホルト状態からの復帰時のバッファ転送は、正常時と異なり、早急にコピー元ＬＵＮ１２とコピー先ＬＵＮ２２とを等価にすることが求められる。そのため、転送するデータはコピー元バッファ１２１ａ内の全世代である必要はなく、最新世代を送り終わった時点で反映されるべき更新データのみを転送すればよいこととなる。
【００８５】
図６は実施形態の一例としてのストレージシステム１における、コピー元バッファ１２１ａ内の各世代の更新記録箇所及び実際に転送される箇所を例示する図である。
この図６に示す例においては、0-5000の領域（アドレス）を持つ１つのＬＵＮについて４世代あるコピー元バッファ１２１ａを使用して筐体間コピーを行なう場合を想定している。世代は第１世代が最も古い更新で、第４世代が最も新しい更新を記録している。
【００８６】
また、図中の横線はコピー元ＬＵＮ１２内の更新箇所を示しており、点線はその世代で更新のない箇所を、又、太実線はその世代での更新がある箇所であり、その世代のコピー元バッファ１２１ａ内に保持されているデータの箇所を示している。
例えば、コピー元バッファ１２１ａの第１世代に含まれるデータはＬＵＮ内の1000-2000の位置に更新されたデータであり、第２世代に含まれるデータは第２世代の記録後にＬＵＮ内の1500-3000の位置に更新されたデータとなる。
【００８７】
この図６に示す例では、４つの世代があるが、第１世代と第２世代とでは1500-2000の位置（符号Ｂ１参照）で更新箇所が重なっている（重複更新箇所）。これは２つの世代で1500-2000の箇所に重複して更新があったことを示している。このような重複更新箇所は、第１世代での更新部分のうち1500-2000のデータはその次の第２世代で書き換わってしまうため、コピー元バッファ１２１ａの中身をすべて転送し最新の状態にする場合には送信する必要のないデータとなる。
【００８８】
同様に第３世代や第４世代においても、重複更新箇所については新しい世代の方のデータを優先し、古い世代の方のデータの送信を抑止することで、重複して送信されるデータ量を減らすことができる。
コピースケジューラ１１は、コピー元バッファ１２１ａに格納された複数世代のデータのうち、コピー元ＬＵＮ１２において重複する領域のデータについては、最新のデータ以外の送信を抑止する。
【００８９】
図６中において、転送箇所の行には、全世代の重なり（重複更新箇所）を考慮して最終的に送信されるべき箇所が示されている。又、コピー先バッファ内更新記録箇所の列には、重複更新箇所を考慮して実際にコピー先筐体２０に転送されるべき各世代のデータが示されている。
新しい方の世代で重複のない第４世代、第３世代についてはコピー元バッファ１２１ａに記録されたデータをすべて転送しているが、第３世代との重複がある第２世代については、コピー元バッファ１２１ａに記録された部分の一部（1800-3000）のみの転送でよいことが分かる。又、第１世代においては第２世代及び第３世代との重複を考慮すると、全てのデータが書き換わっていることとなるので、送信されるべきデータは無いとみなすことができる。
【００９０】
なお、正常時のバッファ転送は１世代ごとにデータを転送し、転送が終わり次第、記憶装置２３１にデータを反映させていくが、このバッファ転送方式を用いる際には全世代のデータを転送し、転送が完了した時点で記憶装置２３１にデータを反映させていくこととなる。重複更新箇所のデータを転送しないことで、１つの世代のみではデータの整合性が保てなくなるためである。このバッファ転送においては、退避領域２６は不要である。
【００９１】
また、前述した図１に示す例においては、便宜上、コピー元筐体１０−１に備えられたコピー元ＬＵＮ１２からコピー先筐体２０のコピー先ＬＵＮ２２へのコピーを示しているが、これに限定されるものではない。
すなわち、コピー元筐体１０は１つに限らず、複数のコピー元筐体１０をコピー元としたコピーセッションが１つのコピー先筐体２０に向けて作られている構成も対象としている。その場合は、コピー先筐体２０内に、それぞれのコピー元筐体１０から作られるコピーセッションのコピー元ＬＵＮ１２の合計数に対応したコピー先ＬＵＮ２２を準備する。又、コピー先筐体２０においては、コピーセッション毎に退避領域２６が用意される。
【００９２】
図７は実施形態の一例としてのストレージシステム１においてコピー先筐体２０に対して複数のコピー元筐体１０から差分コピーを行なう例を示す図である。
この図７に示す例では、３つのコピー元筐体１０−１〜１０−３から１つのコピー先筐体２０に向けてそれぞれコピーセッションが張られている状態を示している。
コピー元筐体１０−１とコピー先筐体２０との間では、２つのコピー元ＬＵＮ１２−１，１２−２からのコピーがされており、これらの２つのコピー元ＬＵＮ１２は両方合わせて整合性を保っている。
【００９３】
また、コピー元筐体１０−２，１０−３とコピー先筐体２０との間では、それぞれ１つのコピー元ＬＵＮ１２−３，１２−４からのコピーがされている。
なお、コピー元筐体１０−１〜１０−３の間で整合性の関連はないものとする。すなわち、各コピー元筐体１０からそれぞれ張られたコピーセッションは互いに独立している。
図７に示すように、複数（図７に示す例では３つ）のコピー元筐体１０とコピー先筐体２０との間の各コピーセッションについて同時に差分コピーを実行する際に、各コピー元ＬＵＮ１２への更新量やネットワーク５０の回線速度等から、コピー元筐体１０毎（セッション毎）に優先度（重み）を設定する。
【００９４】
本ストレージシステム１においては、これらの複数のコピー元筐体１０からの差分コピーのうち、優先度が高いコピー元筐体１０からの差分コピーを優先して実行する。具体的には、後述の如く、本ストレージシステム１においては、優先度が高いコピー元筐体１０からの差分コピーについては、優先度が低いコピー元筐体１０からの差分コピーよりもデータ転送量や頻度を大きくすることで、優先して処理を行なわせる。
【００９５】
これにより、早い段階でコピー元筐体１０とコピー先筐体２０とで等価にしておきたい差分コピーを優先して実行させることで、他の差分コピーよりも先に等価にする。
図７に示す例においては、コピー元筐体１０−１においてはコピー元ＬＵＮ１２−１，１２−２に多量の更新がかかっており（更新量大）、コピー元筐体１０−２のコピー元ＬＵＮ１２−３への更新量は少ない（更新量小）。又、コピー元筐体１０−３のコピー元ＬＵＮ１２−４にはその中間程度の更新量がかかっているものとする（更新量中）。
【００９６】
コピー先筐体２０に接続された３つのコピー元筐体１０−１，１０−２，１０−３について、ホルト状態からの復旧時に関して、各更新量に応じて「高」，「低」，「中」の優先度がそれぞれ設定されている。すなわち、３つのコピー元筐体１０−１，１０−２，１０−３に対して、優先度（重み付け）１，３，２がそれぞれ設定されている。
そして、この状態で全てのホルト状態が復旧し、それぞれのコピーセッションで差分コピーが働くと、全てのコピー先ＬＵＮ２２−１〜２２−４について退避領域２６−１〜２６−４が作成される。
【００９７】
コピーセッションが増加すると、これらのコピーセッションに応じて多数の退避領域２６が必要になる。ここで、コピーセッションにおいて、コピー元ＬＵＮ１２への更新量と退避領域２６としての必要な容量とには相関関係が見出せる。
すなわち、コピー元ＬＵＮ１２への更新量が少ないコピーセッションは退避領域２６として必要な容量が増え難いが、更新量が多いコピーセッションは時間をかけるだけ退避領域２６としての必要な容量が増え易い。コピー先筐体２０における退避領域２６として必要な容量は、各コピーセッションで差分コピーのために確保されている退避領域２６の合計であるため、退避領域２６の増加量が大きくなるコピーセッションはできるだけ早く処理することが望ましい。
【００９８】
本ストレージシステム１においては、差分コピーを実行する前に、コピー先筐体２０のコピースケジューラ２１が各コピー元筐体１０から、更新量や回線速度などの情報を取得する。コピースケジューラ２１は、これらの情報から各コピー元筐体１０毎に優先度を決定し、この優先度に応じたデータ転送条件情報をコピー元筐体１０に伝達する。
データ転送条件情報は、データ転送時に用いられるデータ伝送のパラメータであり、例えばデータ転送量と頻度とが含まれる。データ転送量は、データ伝送に使用されるネットワーク５０での使用可能な回線速度を示す値であり、例えば、回線速度の上限である最高回線速度のうち使用可能な割合を示す。すなわち、データ転送量は、コピー元筐体１０からコピー先筐体２０へのデータ転送にネットワーク５０の回線速度の上限値の何割までの使用を許可するかを示す。頻度は、所定期間内にデータ転送が実施される回数である。差分コピーにおいては、コピー元筐体１０からコピー先筐体２０へのデータ転送について、所定期間内にデータ伝送を行なう回数の上限値（最高頻度）が予め設定されている。頻度は、コピー元筐体１０からコピー先筐体２０へのデータ転送に最高頻度の何割までのデータ送信回数を許可するかを示す。
【００９９】
図８は実施形態の一例としてのストレージシステム１における優先度設定テーブルを例示する図である。
コピースケジューラ２１は、この図８に例示するような優先度設定テーブルを参照して、コピーセッションの優先度を決定し、その優先度に応じたデータ送信量と頻度とを読み出す。優先度設定テーブルは、例えば、コピー先筐体２０のＲＡＭ２２１や記憶装置２３１等に予め格納されている。
【０１００】
例えば、自身が備えるコピー元ＬＵＮ１２の更新量が全コピー元筐体１０のうち、上位２割以内にあるような更新量の大きいコピー元筐体１０は、その優先度が高く設定される（優先度；高）。又、コピー先筐体２０とのネットワーク５０を介した回線速度が全コピー元筐体１０中上位２割以内にあるような回線速度が速いコピー元筐体１０も、その優先度が高く設定される（優先度；高）。
【０１０１】
このように優先度が高いコピー元筐体１０については、データ送信量として、コピー元筐体１０とコピー先筐体２０との間のネットワーク５０の回線速度の上限値が設定され、この上限値の回線速度でのデータ送信が許可される。
また、このように優先度が高いコピー元筐体１０については、頻度として、コピー元筐体１０からコピー先筐体２０へのデータ転送について最高頻度の値が設定され、この最高頻度でのデータ送信が許可される。
【０１０２】
コピースケジューラ２１は、優先度テーブルを参照して、各コピー元筐体１０筐体に対するデータ送信量と頻度とを決定し、決定した値をコピー元筐体１０に通知する。
コピー元筐体１０はそれぞれに指定されたデータ送信量及び頻度（データ転送条件情報）で、以降のデータ送信を行なう。
すなわち、本ストレージシステム１においては、優先度の高いコピーセッションは転送量や頻度を大きくして、できる限り高速に差分コピーを実施する。一方、優先度の低いコピーセッションは転送量や頻度を抑えたり、場合によっては等価処理自体を一時停止したりすることで、優先度の高いコピーセッションに回線帯域及び等価コピーを優先的して実行する。
【０１０３】
なお、どのようなバランスで各コピーセッションに優先度を設定するかは、例えば、オペレータ等が手動で各コピーセッションに対する優先度を設定してもよく、又、ホルト復帰時にコピー先筐体２０で必要なパラメータを採取し、よりセッション合計の退避領域２６が少なくなるような優先度付けを設定してもよく、種々変形して実施することができる。
【０１０４】
複数のコピー元筐体１０に対する優先度が予め手動で設定されている場合や、優先度の設定自体がない場合は、予め指定されたデータ送信量及び頻度でデータ転送が行なわれる。例えば、優先度の設定自体がない場合は、デフォルト値である回線速度上限（最高速値）及び最高頻度でデータ転送が行なわれ、優先度とは無関係にどのコピー元筐体１０からも処理速度・回線速度に従った頻度でデータが転送されることとなる。
【０１０５】
上述の如く構成された実施形態の一例としてのストレージシステム１におけるホルト発生時の処理を、図９に示すシーケンス図に従って説明する。この図９においては、コピー元筐体１０とコピー先筐体２０とにおいて、筐体間の整合性を保ったコピーセッションについて、ホルトが発生した際の処理を示す。
コピー元ＬＵＮ１２とコピー先ＬＵＮ２２との間においてコピーセッションが張られ（符号Ｃ１参照）、その後、経路閉塞やＩ／Ｏの過負荷等の理由でコピー元バッファ１２１ａが枯渇しホルトが発生したとする（符号Ｃ２参照）。
【０１０６】
コピー先ＬＵＮ２２は、以降の差分コピーに備えて、退避領域２６にコピー先バッファ２２１ａの現在のデータをコピーする準備をする（符号Ｃ３参照）。以後、ホルト事象が解決されるまでの間、コピー元ＬＵＮ１２の更新箇所は差分ビットマップ１３に記録されていく。
ホルト事象が解決すると（符号Ｃ４参照）、コピースケジューラ１１は、コピー先バッファ２２１ａの中身や差分ビットマップ１３の更新箇所を参照し、差分コピーを実行する。この際、コピー先ＬＵＮ２２内の整合性のあるデータ部分は、コピー元ＬＵＮ１２から送信されたデータによって更新される前に退避領域２６にコピーされる。
【０１０７】
差分コピーが働いている間はコピー先ＬＵＮ２２単体ではデータの整合性がとれないものの、退避領域２６に保持されているコピー前のデータ部分と合わせることで、コピー前の整合性のあるデータを復元することが可能となる。
そのため、差分コピーを実行している間にコピー元ＬＵＮ１２が被災等により失われても、退避領域２６に退避したデータをコピー先ＬＵＮ２２に書き戻すことで整合性のあるデータを復旧することができる。
【０１０８】
差分コピーが完了し、コピーセッションが再開されると（符号Ｃ５参照）、コピー先ＬＵＮ２２においては再び整合性のあるデータが保たれることとなる。そのため、退避領域２６内のコピー前のデータは不要となるため、データの退避処理を終了するとともに退避領域２６内のデータをクリアする。
なお、上記ホルトの発生（符号Ｃ２）からコピーセッションの再開（符号Ｃ５）までの処理は、ホルト事象が発生するたびに繰り返し実行される。
【０１０９】
次に、実施形態の一例としてのストレージシステム１におけるホルト発生時のコピー元筐体１０の処理を、図１０に示すフローチャート（ステップＳ１０１〜Ｓ１０６）に従って説明する。
コピー元バッファ１２１ａが枯渇してホルト状態が発生した場合には、先ず、ステップＳ１０１において、差分ビットマップ１３の更新処理を開始する。なお、この差分ビットマップ１３の更新処理の詳細については図１１を用いて後述する。
【０１１０】
次に、ステップＳ１０２において、コピー元バッファ１２１ａの転送動作の選択を自動で行なう設定になっているか否かを確認する。すなわち、コピー元バッファ１２１ａの転送動作の選択を自動で行なうか手動で行なうかを確認する。なお、コピー元バッファ１２１ａの転送動作の選択を自動で行なうか手動で行なうかは、予め設定され、パラメータとしてＲＡＭ１２１や記憶装置１３１に記憶されている。
【０１１１】
バッファの転送動作の選択を自動設定にしている場合には（ステップＳ１０２のＹＥＳルート参照）、ステップＳ１０３において、コピー元バッファ１２１ａの記録箇所と差分ビットマップ１３の記録箇所との重なり量を計測する。又、ステップＳ１０４において、コピー元ＬＵＮ１２の更新量を計測する。なお、これらのステップＳ１０３，Ｓ１０４の処理の順序はこれに限定されるものではなく、順序を入れ替えて実行してもよく、又、並行して行なってもよい。
【０１１２】
その後、ステップＳ１０６において、ホルト状態から復旧しているか否かを判断し、復旧していない場合には（ステップＳ１０６のＮＯルート参照）、ステップＳ１０１に戻る。なお、ホルト状態から復旧しているか否かは、既知の手法で確認することができ、その説明は省略する。
一方、コピー元バッファ１２１ａの転送動作選択を自動設定にしていない場合には（ステップＳ１０２のＮＯルート参照）、ステップＳ１０５において、複数のコピー元筐体１０での優先度付けを自動で行なう設定になっているか否かを確認する。
【０１１３】
優先度付けを自動で行なう設定になっている場合には（ステップＳ１０５のＹＥＳルート参照）、ステップＳ１０４に移行する。このように、コピー元バッファ１２１ａの転送動作選択を手動で設定している場合でも、複数のコピー元筐体１０での優先度付け自動設定になっている場合は、コピー元ＬＵＮ１２の更新量の計測を行なう。優先度付けを自動で行なう設定になっていない場合には（ステップＳ１０５のＮＯルート参照）、ステップＳ１０６に移行する。
【０１１４】
また、ホルト状態から復旧している場合には（ステップＳ１０６のＹＥＳルート参照）、処理を終了し、図１２のフローチャートに後述する等価処理へ移行する。
次に、実施形態の一例としてのストレージシステム１における差分ビットマップ１３の更新手法を、図１１に示すフローチャート（ステップＳ２０１〜Ｓ２０６）に従って説明する。
【０１１５】
ステップＳ２０１において、コピースケジューラ１１は、ＲＡＭ１２１や記憶装置１３１から差分ビットマップ１３の拡張倍率を読み出して取得する。
ステップＳ２０２において、コピースケジューラ１１は、コピー元ＬＵＮ１２に更新が行なわれたか否かを確認する。コピー元ＬＵＮ１２に更新がある場合には（ステップＳ２０２のＹＥＳルート参照）、コピースケジューラ１１は、ステップＳ２０３において、拡張倍率に従って、差分ビットマップ１３における更新があった単位領域に対応するビット列を選択する（読み出す）。
【０１１６】
その後、ステップＳ２０４において、コピースケジューラ１１は、ステップＳ２０２で読み出した対象領域の更新回数情報を示すビット列において、全て１が立っているか否かを確認する。例えば、拡張倍率が“２”の場合には、コピースケジューラ１１は、差分ビットマップ１３において、更新が行なわれた単位領域のビット列の値が“１１”であるか否かを確認する。
【０１１７】
対象領域の少なくとも１つに０が立っている場合には（ステップＳ２０４のＮＯルート参照）、ステップＳ２０６において、その対象領域のビット列の値（更新回数）を１つインクリメントした後、ステップＳ２０５に移行する。
一方、対象領域に全て１が立っている場合には（ステップＳ２０４のＹＥＳルート参照）、ステップＳ２０５において、差分ビットマップ１３への記録終了の指示があるか否かを確認する。対象領域のビットがすべて立っている場合は、記録された更新回数が上限に達しているためそれ以上インクリメントすることはない。
【０１１８】
また、コピー元ＬＵＮ１２に更新がない場合には（ステップＳ２０２のＮＯルート参照）、ステップＳ２０４〜Ｓ２０４及びＳ２０６をスキップして、ステップＳ２０５に移行する。
差分ビットマップ１３への記録終了の指示がない場合には（ステップＳ２０５のＮＯルート参照）、ステップＳ２０２に戻る。
【０１１９】
差分ビットマップ１３への記録終了の指示がある場合には、（ステップＳ２０５のＹＥＳルート参照）、処理を終了する。すなわち、差分ビットマップ１３の更新処理は、差分コピーが完了する際の差分ビットマップ１３の記録終了の指示があるまで続けられる。
次に、実施形態の一例としてのストレージシステム１におけるコピー元筐体１０における等価処理を、図１２に示すフローチャート（ステップＳ３０１〜Ｓ３０８）に従って説明する。なお、コピー先筐体２０における等価処理は、図１６に示すフローチャートに従って後述する。
【０１２０】
図１０に示したホルト状態から復帰した場合に、ホルト中の動作を終了し、コピー元ＬＵＮ１２とコピー先ＬＵＮ２２との等価処理が開始される。
先ず、ステップＳ３０１において、コピースケジューラ１１は、複数のコピー元筐体１０についての優先度付けが自動で行なう設定になっているか否かを確認する。
複数筐体での優先度付けが自動設定になっている場合は（ステップＳ３０１のＹＥＳルート参照）、コピー元筐体１０とコピー先筐体２０との間で通信が行なわれる。そして、ステップＳ３０２において、コピースケジューラ１１は、コピー先筐体２０に対して、当該コピー元筐体１０におけるコピー元ＬＵＮ１２への更新量やコピー先筐体２０との間の回線速度等の情報を送信する。コピー先筐体２０においては、コピースケジューラ２１が、コピー元筐体１０から受信した情報に基づいて優先度を決定し、この優先度に応じたデータ転送条件情報（データ転送量及び頻度）を決定してコピー元筐体１０に送信する。
【０１２１】
ステップＳ３０３において、コピースケジューラ１１は、コピー先筐体２０から受信したデータ転送量及び頻度を記憶（設定）する。以後、コピー元筐体１０においては、この設定されたデータ転送量及び頻度に従ってコピー先筐体２０に対するデータ送信を行なう。
ステップＳ３０４において、コピースケジューラ１１は、コピー元バッファ１２１ａの転送動作の選択を自動で行なう設定になっているか否かを確認する。
【０１２２】
バッファの転送動作の選択を自動設定にしている場合には（ステップＳ３０４のＹＥＳルート参照）、ステップＳ３０６において、コピー元バッファ１２１ａ内の更新量を採取する。そして、コピースケジューラ１１は、これまでに採取・計測した情報に基づき、予め規定された基準に従って、差分ビットマップ処理動作とバッファ優先処理動作といずれかを選択する。例えば、コピースケジューラ１１は、差分ビットマップ処理動作とバッファ優先処理動作とのうち、必要とされる退避領域２６の容量が少なくなる方の動作を選択する。
【０１２３】
ステップＳ３０６における自動選択の結果がバッファ優先処理動作を選択したものであるかを確認する（ステップＳ３０７）。確認の結果、バッファ優先処理動作が選択されている場合には（ステップＳ３０７のＹＥＳルート参照）、処理を終了して、図１３のフローチャートより後述するバッファ優先処理動作での処理に移行する。又、確認の結果、バッファ優先処理動作が選択されていない場合には（ステップＳ３０７のＮＯルート参照）、処理を終了して、図１４のフローチャートより後述する差分ビットマップ処理モードでの処理に移行する。
【０１２４】
一方、複数筐体での優先度付けが自動設定になっていない場合は（ステップＳ３０１のＮＯルート参照）、ステップＳ３０５において、コピースケジューラ１１は、予め指定されているデータ転送量及び頻度を設定し、ステップＳ３０４に移行する。
また、バッファの転送動作の選択を自動設定にしていない場合には（ステップＳ３０４のＮＯルート参照）、ステップＳ３０８において、バッファ優先処理動作がオペレータ等により手動で選択されているか否かを確認する。
【０１２５】
確認の結果、バッファ優先処理動作が手動で選択されている場合には（ステップＳ３０８のＹＥＳルート参照）、処理を終了して、図１３のフローチャートより後述するバッファ優先処理動作に移行する。一方、確認の結果、バッファ優先処理動作が選択されていない場合には（ステップＳ３０８のＮＯルート参照）、処理を終了して、図１４のフローチャートより後述する差分ビットマップ処理動作に移行する。
【０１２６】
すなわち、バッファ優先処理モードが手動で選択されている場合はバッファ優先処理モードを実行し、自動設定でもバッファ優先処理モードでもない場合は差分ビットマップ処理モードを、それぞれ情報の採取をせずに実行する。
次に、実施形態の一例としてのストレージシステム１におけるバッファ優先処理動作におけるコピー元筐体１０の処理を、図１３に示すフローチャート（ステップＳ４０１〜Ｓ４０８）に従って説明する。
【０１２７】
先ず、ステップＳ４０１において、コピースケジューラ１１は、コピー元バッファ１２１ａの最終世代を選択する。次に、ステップＳ４０２において、コピースケジューラ１１は、ステップＳ４０１で選択した世代に含まれるデータのコピー元ＬＵＮ１２内での位置（更新箇所）を算出して読み出す。
コピースケジューラ１１は、ステップＳ４０２で選択中の世代よりも前の世代の更新箇所を算出して読み出す。そして、ステップＳ４０３において、コピースケジューラ１１は、ステップＳ４０２で選択中の世代更新箇所と、このステップＳ４０２で選択中の世代よりも前の世代の更新箇所とを比較し、重複する部分があるか否かを確認する。
【０１２８】
ステップＳ４０２で選択中の世代更新箇所と、このステップＳ４０２で選択中の世代よりも前の世代の更新箇所とが重複する場合には（ステップＳ４０３のＹＥＳルート参照）、ステップＳ４０４において、更新箇所から重複部分を削除する。具体的には、例えば、ステップＳ４０２で選択した世代以前の更新箇所から重複部分を削除し、それ以降の世代のバッファのデータに重複がないようにする。
【０１２９】
例えば、図６に示した、コピー元バッファ１２１ａ内の各世代の更新記録箇所及び実際に転送される箇所を例示する図において、その左側欄（コピー元バッファ内更新記録箇所）では、第３世代の更新箇所900-1800は、それ以前の第２世代の更新箇所1500-3000や第１世代の更新箇所1000-2000と重複する（重複更新箇所）。
コピースケジューラ１１は、第２世代の更新箇所1500-3000から第３世代の更新箇所900-1800との重複箇所1500-1800を削除して、第２世代のコピー先バッファ内更新記録箇所として、更新箇所1800-3000を生成する。同様に、コピースケジューラ１１は、第１世代の更新箇所1000-2000から第３世代の更新箇所900-1800との重複箇所1500-1800を削除して、第１世代のコピー先バッファ内更新記録箇所として、更新箇所1800-2000を生成する。なお、この第１世代のコピー先バッファ内更新記録箇所として生成された更新箇所1800-2000は、その後、第２世代についてステップＳ４０３，Ｓ４０４の処理を行なう際に、第２世代の更新箇所1500-3000との重複箇所として削除される。
【０１３０】
また、ステップＳ４０２で選択中の世代の更新箇所と、このステップＳ４０２で選択中の世代よりも前の世代の更新箇所とが重複しない場合には（ステップＳ４０３のＮＯルート参照）、ステップＳ４０４をスキップしてステップＳ４０５に移行する。
ステップＳ４０５において、選択されている世代がコピー元バッファ１２１ａにおいて最も古い世代であるか否かを確認する。選択されている世代が最も古い世代でない場合は（ステップＳ４０５のＮＯルート参照）、ステップＳ４０６において、更に１つ前の世代を選択し、ステップＳ４０２に移行して、その世代の更新箇所を読み取る。
【０１３１】
一方、選択されている世代が最も古い世代である場合は（ステップＳ４０５のＹＥＳルート参照）、コピー元バッファ１２１ａ内の複数世代のデータにおいては、世代間における重複更新箇所が無い状態となっている。ステップＳ４０７において、このようにコピー先バッファ２２１ａ内の重複更新箇所がない状態の全世代のデータを、キャッシュ１４を通じてコピー元バッファ１２１ａに送信する。この際、コピースケジューラ１１は、コピー元筐体１０から送信するデータのヘッダ等に、コピー元バッファ１２１ａから送信されたデータであることを示す識別子を挿入して送信する。
【０１３２】
コピー先筐体２０においては、受信したコピー元バッファ１２１ａの各世代のデータを、各世代に対応して設けられたコピー先バッファ１２１ｂの世代にそれぞれ格納していく。コピー先筐体２０において、コピー元筐体１０から送信されたデータがすべてコピー先バッファ１２１ｂに格納されると、コピー先バッファ１２１ｂ内のデータをコピー先ＬＵＮ２２に反映させる。コピー先筐体２０は、コピー先バッファ１２１ｂ内のデータのコピー先ＬＵＮ２２への展開が完了すると、コピー元筐体１０に対してバッファ反映完了通知を送信する。なお、このコピー先筐体２０における処理については、図１７を用いて後述する。
【０１３３】
コピー元筐体１０においては、ステップＳ４０８において、コピースケジューラ１１が、コピー先筐体２０からバッファ反映完了通知を受信したか否かを確認し、受信していない場合には（ステップＳ４０８のＮＯルート参照）、ステップＳ４０７に戻る。コピースケジューラ１１は、コピー先筐体２０からバッファ反映完了通知を受信したことを確認すると（ステップＳ４０８のＹＥＳルート参照）、バッファ処理の完了とみなし、差分ビットマップ１３の転送処理を開始する。
【０１３４】
次に、実施形態の一例としてのストレージシステム１における差分ビットマップ処理動作やバッファ優先処理動作の完了後のコピー先筐体２０における処理を、図１４に示すフローチャート（ステップＳ５０１〜Ｓ５１０）に従って説明する。
差分ビットマップ処理動作が完了した後においては、ステップＳ５０１において、コピースケジューラ１１が、先ず、コピー元バッファ１２１ａ内の情報からデータの更新箇所を差分ビットマップ１３に反映させる。
【０１３５】
一方、バッファ優先処理動作の完了後においては、コピー元バッファ１２１ａの中身のデータを送信し終えた後なので、差分ビットマップ１３への反映は不要であり、ステップＳ５０２に移行する。
ステップＳ５０２において、コピー元バッファ１２１ａの中身を削除してクリアした後、ステップＳ５０３において、拡張倍率に従って差分ビットマップ１３の先頭箇所を選択してする。
【０１３６】
ステップＳ５０４において、選択されている領域のビットを処理する。ここで、このステップＳ５０４における選択された領域のビット処理を、図１５に示すフローチャート（ステップＳ６０１〜Ｓ６０６）に従って説明する。
ステップＳ６０１において、選択されている領域のビットが１つ以上立っているか否かを確認する。選択した領域のビットが１つ以上立っている場合は（ステップＳ６０１のＹＥＳルート参照）、ステップＳ６０２において、コピースケジューラ１１は、ＲＡＭ１２１の所定の領域に周回繰り返しフラグに例えば“１”を設定する。
【０１３７】
ここで、周回繰り返しフラグは、差分ビットマップ１３における更新点の有無を示す情報であり、この周回繰り返しフラグに例えば“１”が設定されている場合には、その時点において、差分ビットマップ１３において少なくとも１か所以上の更新点がることを示している。
コピー元ＬＵＮ１２とコピー先ＬＵＮ２２とが等価になるためには、コピー先ＬＵＮ２２に反映されていない更新点が１つもない状態となるまで、差分ビットマップ１３に示されるデータ転送を続ける必要がある。このため、差分ビットマップ１３における更新点がある場合に、周回繰り返しフラグに“１”を設定する。
【０１３８】
コピースケジューラ１１は、差分ビットマップ１３において選択した領域のビット列が、その末尾のみが１になっているかを確認する。
選択した領域のビット列が、その末尾のみが１になっている場合には（ステップＳ６０３のＹＥＳルート参照）、当該単位領域の更新回数（更新回数情報）が１であり、更新頻度の低い領域としてみなされる。そこで、ステップＳ６０４において、コピースケジューラ１１は、対象領域のデータをコピー元ＬＵＮ１２からキャッシュ１４にコピーし、コピー先筐体２０に送信していく。この際、送信するデータには差分ビットマップ１３に基づいて送信されたデータであることを示す識別子を挿入して送信する。
【０１３９】
コピー先筐体２０においては、受信したデータ内の情報に従ってコピー先ＬＵＮ２２の指定された領域に受信データを更新していく。コピー先筐体２０は、受信したデータのコピー先ＬＵＮ２２への展開が完了すると、コピー元筐体１０に対して反映完了通知を送信する。なお、このコピー先筐体２０における処理については、図１７を用いて後述する。
コピー元筐体１０においては、ステップＳ６０５において、コピースケジューラ１１が、コピー先筐体２０から送信データに対する反映完了通知を受信したか否かを確認し、受信していない場合には（ステップＳ６０５のＮＯルート参照）、ステップＳ６０４に戻る。コピースケジューラ１１は、コピー先筐体２０から送信データに対する反映完了通知を受信したことを確認すると（ステップＳ６０５のＹＥＳルート参照）、ステップＳ６０６において、差分ビットマップ１３における選択されている領域のビット列の値を１つデクリメントする。その後、処理を終了し、図１４のステップＳ５０５に移行する。
【０１４０】
ステップＳ５０５において、コピースケジューラ１１は、差分ビットマップ１３において、選択している領域が末尾であるか否かを確認する。選択されている領域が差分ビットマップ１３の末尾でない場合には（ステップＳ５０５のＮＯルート参照）、ステップＳ５０６において次の領域を選択した後、ステップＳ５０４に戻る。
選択されている領域が差分ビットマップ１３の末尾である場合には（ステップＳ５０５のＹＥＳルート参照）、ステップＳ５０７において、周回繰り返しフラグの確認を行なう。
【０１４１】
周回繰り返しフラグに“１”が設定されている場合には（ステップＳ５０７のＹＥＳルート参照）、ステップＳ５０８において、この周回繰り返しフラグに“０”を設定することで戻し、ステップＳ５０３に戻り、再度、差分ビットマップ１３の先頭からビットの処理を行なう。
周回繰り返しフラグに“１”が設定されていない場合には（ステップＳ５０７のＮＯルート参照）、コピー元ＬＵＮ１２とコピー先ＬＵＮ２２とが等価になったとみなすことができる。ステップＳ５０９において、コピースケジューラ１１は、コピー先筐体２０に対してコピー元ＬＵＮ１２とコピー先ＬＵＮ２２とが等価状態となったことを通知する。そして、ステップＳ５１０において、コピースケジューラ１１は、差分ビットマップ１３への記録を終了し、正常なコピー状態に戻ることとなる。
【０１４２】
なお、コピー先筐体２０においても、又、図１７を用いて後述するように、コピー元筐体１０から等価状態の通知が来た場合は等価処理を終了し、正常なコピー状態に戻る。その際、退避領域２６内のコピー前のデータは不要なものとなるため削除する。
次に、実施形態の一例としてのストレージシステム１におけるコピー先筐体２０における等価処理を、図１６に示すフローチャート（ステップＳ７０１〜Ｓ７０５）に従って説明する。
【０１４３】
ステップＳ７０１において、コピースケジューラ２１は、複数のコピー元筐体１０間における優先度付けが自動設定になっているか否かを確認する。
ここで、複数のコピー元筐体１０間における優先度付けが自動設定になっていない場合には（ステップＳ７０１のＮＯルート参照）、処理を終了する。
複数のコピー元筐体１０間における優先度付けが自動設定になっている場合は（ステップＳ７０１のＹＥＳルート参照）、ステップＳ７０２において、コピー元筐体１０とコピー先筐体２０との間で通信を行ない、コピー先筐体２０は各コピー元筐体１０のデータの更新量及び回線情報を受信する。
【０１４４】
ステップＳ７０３において、必要な情報（例えば、データの更新量及び回線情報）を全てのコピー元筐体１０から受信したかを確認する。全てのコピー元筐体１０からの情報取得が完了していない場合には（ステップＳ７０３のＮＯルート参照）、ステップＳ７０２に戻り、再度、情報収集を行なう。
全てのコピー元筐体１０からの情報取得が完了した場合には（ステップＳ７０３のＹＥＳルート参照）、ステップＳ７０４において、ステップＳ７０２において受信した情報（データの更新量及び回線情報）に基づき、各コピー元筐体１０の各コピーセッションの優先度を決定する。そして、ステップＳ７０５において、コピースケジューラ２１は、決定した優先度に基づいて、上述した優先度設定テーブル（図８参照）を参照して、データ送信量・頻度を決定し、これらのデータ送信量・頻度をコピー元筐体１０に送信し、処理を終了する。コピー元筐体１０においては、それぞれに指定されたデータ転送量及び頻度で以降のデータを処理する。
【０１４５】
次に、実施形態の一例としてのストレージシステム１のコピー先筐体２０における処理を、図１７に示すフローチャート（ステップＳ８０１〜Ｓ８１０）に従って説明する。
先ず、ステップＳ８０１において、コピースケジューラ２１は、コピー元筐体１０からキャッシュ２４にデータを受信したか否かを確認する。
コピー元筐体１０からキャッシュ２４にデータを受信した場合には（ステップＳ８０１のＹＥＳルート参照）、ステップＳ８０２において、コピースケジューラ２１は、次に、受信データの識別子を参照して、その受信データがコピー元バッファ１２１ａを介して送信されたものであるか否かを確認する。
【０１４６】
受信データがコピー元バッファ１２１ａを介して送信されたものである場合には（ステップＳ８０２のＹＥＳルート参照）、ステップＳ８０３において、コピースケジューラ２１は、受信データをコピー先バッファ１２１ｂの指定された世代に格納させる。すなわち、コピースケジューラ２１は、コピー元バッファ１２１ａの各世代に対応するコピー先バッファ２２１ａの各世代にそれぞれ受信データを格納する。
【０１４７】
かかる処理はコピー元バッファ１２１ａのデータがすべてコピー先バッファ１２１ｂに格納されるまで継続される。すなわち、ステップＳ８０４において、コピースケジューラ２１は、コピー元バッファ１２１ａの全てのデータがコピー先バッファ１２１ｂに格納されたかを確認する。
コピー元バッファ１２１ａの全てのデータがコピー先バッファ１２１ｂに格納されていない場合には（ステップＳ８０４のＮＯルート参照）、ステップＳ８０１に戻る。
【０１４８】
一方、コピー元バッファ１２１ａの全てのデータがコピー先バッファ１２１ｂに格納された場合には（ステップＳ８０４のＹＥＳルート参照）、ステップＳ８０５において、コピー先バッファ１２１ｂ内のデータをコピー先ＬＵＮ２２に格納（更新）する。
コピー先バッファ１２１ｂ内の更新データを反映させた後は、コピー先ＬＵＮ２２においては整合性のあるデータが保持される。これにより、コピースケジューラ２１は、退避領域２６への退避処理を行なうことなく、そのままコピー先ＬＵＮ２２に書き込んでいく。そのため、この処理においては退避領域２６の必要な容量が増加することがない。
【０１４９】
コピースケジューラ２１は、コピー先バッファ１２１ｂ内の全てのデータをコピー先ＬＵＮ２２に反映し終えると、ステップＳ８０６において、コピー元筐体１０にバッファ反映完了通知を送信する。
一方、受信データがコピー元バッファ１２１ａを介して送信されたものでない場合には（ステップＳ８０２のＮＯルート参照）、受信データは、差分ビットマップ１３に基づいて送信されたデータである。ステップＳ８０８において、コピースケジューラ２１は、コピー先ＬＵＮ２２における指定された領域に対して受信データを更新する。この際、コピースケジューラ２１は、コピー先ＬＵＮ２２における更新対象の領域のデータを退避領域２６へ退避させる処理も行なう。
【０１５０】
そして、ステップＳ８０９において、コピースケジューラ２１は、コピー元筐体１０に対して、送信データに対する反映完了通知を送信する。
その後、ステップＳ８０７において、コピースケジューラ２１は、コピー元筐体１０から等価状態の通知を受信したか否かを確認する。コピー元筐体１０から等価状態の通知を受信していない場合には（ステップＳ８０７のＮＯルート参照）、ステップＳ８０１に戻る。又、コピー元筐体１０から等価状態の通知を受信した場合には（ステップＳ８０７のＹＥＳルート参照）、ステップＳ８１０において、退避領域２６内のデータを削除して、処理を終了する。
【０１５１】
なお、コピー元筐体１０からキャッシュ２４にデータを受信していない場合には（ステップＳ８０１のＮＯルート参照）、ステップＳ８０７に移行する。
このように、実施形態の一例としてのストレージシステム１によれば、差分ビットマップ１３を２ビット以上のビット列として拡張することにより、差分ビットマップ１３において、各単位領域の更新数を記録することができる。
【０１５２】
そして、コピースケジューラ１１が、この差分ビットマップ１３のビット列が示す更新数を参照して、更新数が所定値以下（例えば１以下）である更新頻度が低い部分のデータだけを、コピー元筐体１０からコピー先筐体２０へ差分コピーで転送する。一方、更新数が所定値よりも大きい、更新頻度が高い部分については、コピー元ＬＵＮ１２からコピー先ＬＵＮ２２へのデータの送信（差分コピーの実行）を抑止し、差分ビットマップ１３における更新回数のデクリメントだけを行なう。
【０１５３】
これにより、差分ビットマップ１３を用いた差分コピーに要する時間を短縮することができ、この間にコピー元ＬＵＮ１２に行なわれる更新量を減らすことで、退避領域２６に退避させるデータを削減する。従って、退避領域２６の容量を削減することができる。
本ストレージシステム１においては、差分ビットマップ１３を用いた差分コピーに際して、差分ビットマップ１３においてビット列が「０１」の単位領域についてのみ、コピー元ＬＵＮ１２における当該領域のデータをコピー先ＬＵＮ２２へ転送する。これにより、筐体間コピーセッション間でコピーされる領域の大きさ（データ量）を削減し、差分コピーに要する時間を短縮することができる。従って、最終的にはコピー先ＬＵＮ２２の整合性を保つための退避領域２６について実際に確保するボリューム容量を減らすことが可能となる。
【０１５４】
差分コピーの時間を短縮することにより、コピー元筐体１０からコピー先筐体２０への筐体間コピーセッションのコピーされる領域の大きさを抑制することができる。これにより、最終的には、コピー先ＬＵＮ２２の整合性を保つための退避領域２６において実際に確保する容量を低減することができる。
また、差分ビットマップ１３を２ビット以上のビット列として拡張することにより、各単位領域に対して管理可能な更新数を増やすことができる。
【０１５５】
さらに、先にコピー元バッファ１２１ａ内のデータをコピー先バッファ２２１ａに転送した後で、残りの差分ビットマップ１３を転送する、バッファ処理優先動作を行なうことで、コピー元バッファ１２１ａ内のデータを差分ビットマップ１３に反映させずに、コピー先バッファ２２１ａへ送信する。
コピー元バッファ１２１ａ内のデータは世代毎に整合性のある状態で管理されているので、バッファ転送によるコピーにおいてはコピー先筐体２０において退避領域２６を用いたデータの退避処理が不要である。従って、差分ビットマップ１３を用いた差分コピーの転送量を低減することができ、退避領域２６の必要な容量を抑制することができる。
【０１５６】
また、コピースケジューラ１１は、ホルト状態からの復帰時における、コピー元バッファ１２１ａからコピー先バッファ２２１ａへのバッファ転送において、反映されるべき更新データのみを送信する。すなわち、コピー元バッファ１２１ａの複数世代における重複更新箇所については、新しい世代のデータだけを送信し、古い世代のデータの転送を抑止する。これにより、送信するデータ量を低減し、バッファ転送に要する時間を短縮することができる。
【０１５７】
さらに、複数のコピー元筐体１０からの差分コピーのうち、優先度が高いコピー元筐体１０からの差分コピーを優先して実行する。これにより、早い段階でコピー元筐体１０とコピー先筐体２０とで等価にしておきたい差分コピーを優先して実行させることで、他の差分コピーよりも先に等価にすることができる。特に、更新量が多いコピーセッションの優先度を高くすることにより、退避領域２６としての必要な容量が削減することができる。
【０１５８】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
上述した実施形態においては、差分ビットマップ１３において、各単位領域に対して更新回数情報として２ビットのビット列を割り当てる例を示しているが、これに限定されるものではなく、更新回数情報として、各単位領域に対して３ビット以上のビット列を割り当ててもよい。
【０１５９】
また、上述した実施形態においては、差分ビットマップ１３におけるビット列の値が所定の閾値である“２”以上の単位領域については、更新が頻繁に行なわれている箇所とみなして、当該箇所のデータのコピー元ＬＵＮ１２からコピー先ＬＵＮ２２への転送を抑止しているが、これに限定されるものではない。すなわち、更新が頻繁に行なわれている箇所としてみなす閾値を“３”以上の他の値としてもよく、種々変形して実施することができる。
【０１６０】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
コピー元領域に格納されたデータをコピー先領域にコピーする制御を行なうコピー制御装置であって、
前記コピー元領域から前記コピー先領域へのコピーの停止中において、前記コピー元領域のデータの更新が発生した場合に、更新箇所を示す更新箇所情報を格納する更新箇所情報格納部と、
前記更新箇所情報に基づき、前記更新箇所に対応する前記コピー元領域のデータを前記コピー先領域へコピーする制御を行なうコピー処理部とを備え、
前記更新箇所情報が、前記コピー元領域を所定の領域毎に区分し、前記コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶し、
前記コピー処理部が、前記更新回数が所定数以上の領域についての前記コピーを抑止することを特徴とするコピー制御装置。
【０１６１】
（付記２）
前記コピー元領域において更新されたデータを更新順に世代毎に格納するコピー元バッファ領域と、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、前記コピー元バッファ領域に格納された複数世代のデータのうち、前記コピー元領域において重複する領域のデータについては、最新のデータ以外の送信を抑止する重複抑止部と
を備えることを特徴とする、付記１記載のコピー制御装置。
【０１６２】
（付記３）
前記コピー元領域が複数ある場合において、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、
前記コピー処理部が、各コピー元領域に対して設定された優先度に応じたパラメータに従って、各コピー元領域のデータをそれぞれ前記コピー先領域へコピーすることを特徴とする、付記１又は２記載のコピー制御装置。
【０１６３】
（付記４）
コピー対象データを格納するコピー元領域と、
前記コピー元領域のコピー対象データを格納するコピー先領域とを備えるコピーシステムであって、
前記コピー元領域から前記コピー先領域へのコピーの停止中において、前記コピー元領域のデータの更新が発生した場合に、更新箇所を示す更新箇所情報を格納する更新箇所情報格納部と、
前記更新箇所情報に基づき、前記更新箇所に対応する前記コピー元領域のデータを前記コピー先領域へコピーする制御を行なうコピー処理部とを備え、
前記更新箇所情報が、前記コピー元領域を所定の領域毎に区分し、前記コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶し、
前記コピー処理部が、前記更新回数が所定数以上の領域についての前記コピーを抑止することを特徴とするコピーシステム。
【０１６４】
（付記５）
前記コピー処理部が前記コピー元領域のデータを前記コピー先領域へコピーする際に、コピーされる前の前記コピー先領域のデータを格納する退避領域を備えることを特徴とする、付記４記載のコピーシステム。
（付記６）
前記コピー元領域において更新されたデータを更新順に世代毎に格納するコピー元バッファ領域と、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、前記コピー元バッファ領域に格納された複数世代のデータのうち、前記コピー元領域において重複する領域のデータについては、最新のデータ以外の送信を抑止する重複抑止部と
を備えることを特徴とする、付記４又は５記載のコピーシステム。
【０１６５】
（付記７）
前記コピー元領域が複数ある場合において、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、
前記コピー処理部が、各コピー元領域に対して設定された優先度に応じたパラメータに従って、各コピー元領域のデータをそれぞれ前記コピー先領域へコピーすることを特徴とする、付記４〜６のいずれか１項に記載のコピーシステム。
【０１６６】
（付記８）
コピー元領域に格納されたデータをコピー先領域にコピーする制御を行なうコピー制御方法であって、
前記コピー元領域から前記コピー先領域へのコピーの停止中において、前記コピー元領域のデータの更新が発生した場合に、前記コピー元領域を所定の領域毎に区分し、前記コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶する更新箇所情報を参照する処理と、
前記更新箇所情報に基づき、前記更新箇所に対応する前記コピー元領域のデータを前記コピー先領域へコピーする処理と、
前記更新回数が所定数以上の領域についての前記コピーを抑止する処理と
を備えることを特徴とするコピー制御方法。
【０１６７】
（付記９）
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、前記コピー元領域において更新されたデータを更新順に世代毎に格納するコピー元バッファ領域に格納された複数世代のデータのうち、前記コピー元領域において重複する領域のデータについては、最新のデータ以外の送信を抑止する処理
を備えることを特徴とする、付記８記載のコピー制御方法。
【０１６８】
（付記１０）
前記コピー元領域が複数ある場合において、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、
各コピー元領域に対して設定された優先度に応じたパラメータに従って、各コピー元領域のデータをそれぞれ前記コピー先領域へコピーすることを特徴とする、付記８又は９記載のコピー制御方法。
【０１６９】
（付記１１）
コピー元領域に格納されたデータをコピー先領域にコピーする制御を行なうコピー制御機能をコンピュータに実行させるコピー制御プログラムであって、
前記コピー元領域から前記コピー先領域へのコピーの停止中において、前記コピー元領域のデータの更新が発生した場合に、前記コピー元領域を所定の領域毎に区分し、前記コピー元領域に対して行なわれる更新回数情報を前記所定の領域毎に記憶する更新箇所情報を参照し、
前記更新箇所情報に基づき、前記更新箇所に対応する前記コピー元領域のデータを前記コピー先領域へコピーし、
前記更新回数が所定数以上の領域についての前記コピーを抑止する
処理を前記コンピュータに実行させることを特徴とするコピー制御プログラム。
【０１７０】
（付記１２）
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、前記コピー元領域において更新されたデータを更新順に世代毎に格納するコピー元バッファ領域に格納された複数世代のデータのうち、前記コピー元領域において重複する領域のデータについては、最新のデータ以外の送信を抑止する
処理を前記コンピュータに実行させることを特徴とする、付記１１記載のコピー制御プログラム。
【０１７１】
（付記１３）
前記コピー元領域が複数ある場合において、
前記コピー元領域から前記コピー先領域へのコピーの停止状態からの復帰時に、
各コピー元領域に対して設定された優先度に応じたパラメータに従って、各コピー元領域のデータをそれぞれ前記コピー先領域へコピーする
処理を前記コンピュータに実行させることを特徴とする、付記１１又は１２記載のコピー制御プログラム。
【符号の説明】
【０１７２】
１    ストレージシステム（コピー制御システム）
２，３    ホスト装置
１０，１０−１，１０−２，１０−３    コピー元筐体（ストレージ装置）
１１，２１    コピースケジューラ
１２，１２−１〜１２−４    コピー元ＬＵＮ
１３，１３−１，１３−２    差分ビットマップ
１４    キャッシュ
２０    コピー先筐体（ストレージ装置）
２２，２２−１〜２２−４    コピー先ＬＵＮ
２６，２６−１〜２６−４    退避領域
５０    ネットワーク
１１０，２１０    ＣＰＵ
１１１，２１１    ＣＭ（コピー制御装置）
１２１，２２１    ＲＡＭ
１２１ａ    コピー元バッファ（ＲＥＣバッファ）
２２１ａ    コピー先バッファ（ＲＥＣバッファ）
１２２，２２２    ＲＯＭ
１２４，２２４    ＣＡ
１２５，２２５    ネットワークインタフェース
１２６，２２６    ＤＡ
１３０，２３０    ディスクエンクロージャ
１３１，２３１    ディスク装置
【図１】
2015052844.tif 000003
【図２】
2015052844.tif 000004
【図３】
2015052844.tif 000005
【図４】
2015052844.tif 000006
【図５】
2015052844.tif 000007
【図６】
2015052844.tif 000008
【図７】
2015052844.tif 000009
【図８】
2015052844.tif 000010
【図９】
2015052844.tif 000011
【図１０】
2015052844.tif 000012
【図１１】
2015052844.tif 000013
【図１２】
2015052844.tif 000014
【図１３】
2015052844.tif 000015
【図１４】
2015052844.tif 000016
【図１５】
2015052844.tif 000017
【図１６】
2015052844.tif 000018
【図１７】
2015052844.tif 000019
【図１８】
2015052844.tif 000020
【図１９】
2015052844.tif 000021
【図２０】
2015052844.tif 000022