(57)【特許請求の範囲】
【請求項１】
ストレージ装置であって、
複数の計算機より第一のネットワークを介してコマンドを受ける制御装置と、
前記制御装置に接続されるディスク装置と、を有し、
前記制御装置は、前記ディスク装置から構成される記憶領域に対して、指定した複数の記憶領域をまとめるためのグループ情報を保持し、
前記グループは、サブグループの集合として構成され、
前記一のサブグループは、前記一の計算機に割り当てられる記憶領域が属する構成であり、
前記いずれか一の計算機より前記グループを指定する情報を含むコマンドを受け、前記指定されるグループに該当する記憶領域に関して第二のネットワークを介して接続される他のストレージシステムヘのコピー処理を実行することを特徴とするストレージ装置。
【請求項２】
前記グループ単位でデータ更新順序の整合性の保証レベルを定めていることを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記サブグループ単位でデータ更新順序の整合性が保証されることを特徴とする請求項１記載のストレージ装置。
【請求項４】
前記制御装置は、さらに、前記ディスク装置を構成する記憶領域に対して、前記グループと前記サブグループを設定する手段とを有することを特徴とする請求項１記載のストレージ装置。
【請求項５】
計算機よりＩＯアクセスを受ける制御部と前記制御部に接続されるディスク装置とを有するストレージ装置の制御方法において、
前記ディスク装置が構成する記憶領域に対して、指定した複数の記憶領域をまとめてグループが定義され、
前記グループは、サブグループの集合として構成され、前記サブグループは、前記記憶領域にアクセスする計算機ごとに定義され、
前記ディスク装置が構成する記憶領域に対して、コピー先記憶領域とコピー元記憶領域を定義するステップと、
前記計算機が、前記グループを指定して前記ストレージ装置に対して指定されるグループに該当する記憶領域に関して他のストレージ装置へのコピー処理を開始する指示を与えるステップと、
前記ストレージ装置は、前記クループの定義に従い、前記コピー先記憶領域とコピー元記憶領域の定義を参照し、コピー元の計算機資源のデータをコピー先の計算機資源にコピーを実施するステップとを有することを特徴とするストレージ装置の制御方法。
【請求項６】
前記サブグループ単位で、コピー種別として同期・非同期が定義されていることを特徴とする請求項５記載のストレージ装置の制御方法。
【請求項７】
前記サブグループ単位で、コピー状態が把握できることを特徴とする請求項５記載のストレージ装置の制御方法。
【請求項８】
計算機と、前記計算機よりＩＯアクセスを受ける制御部と前記制御部に接続されるディスク装置とを備えるストレージ装置とを有する計算機システムにおいて、
第一のストレージ装置は、
前記ディスク装置により構成される記憶領域に対して、指定した複数の記憶領域をまとめてグループを定義するテーブルを保持する手段と、
前記グループの構成要素として、前記計算機資源にアクセスする計算機ごとに定義されるサブグループを定義するテーブルを保持する手段とを有し、
前記第一のストレージ装置は、
前記計算機よりグループを指定したコピー処理のコマンドを受け、
前記グループを定義するテーブルとサブグループを定義するテーブルとの定義情報に従って、前記第一のストレージ装置と前記第一のストレージ装置にネットワークを介して接続される第二のストレージ装置がそれぞれ有する前記記憶領域間のコピー処理を実行することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置およびその制御方法に係り、特に、複数の計算機、複数のストレージ装置を有する大規模システムのディザスタリカバリのためのコピー処理に用いて好適なストレージ装置およびその制御方法に関する。
【背景技術】
【０００２】
昨今、データ量の増加に伴い、計算機システム内のホスト計算機の数とストレージ装置の容量は増加傾向にある。また、大規模データを処理するため、複数のホスト計算機が連携して処理をおこなうことも多く見られる。
【０００３】
さらに、業務が情報処理システムの依存性を高め、データ喪失のときの被害が甚大なものになるにつれ、当該データのディザスタリカバリの重要性も高まる一方である。
【０００４】
従来技術で、計算機システムのディザスタリカバリを実施する場合は、各ホスト計算機が自計算機制御下の記憶領域に保存されているデータをコピーしていた。
【０００５】
以下の非特許文献１には、大規模システムでコピーする機能について詳細に述べられている。
【０００６】
【非特許文献１】“IBM TotalStorage Enterprise Storage Server Implementing ESS Copy Services with IBM zSeries”，[online]，[2003年8月6日検索]，インターネット<URL:http://www.redbooks.ibm.com/redbooks/pdfs/sg245680.pdf>
【発明の開示】
【発明が解決しようとする課題】
【０００７】
複数ホスト計算機が連携して処理している計算機システムで、各ホスト計算機が制御するストレージ装置内の記憶領域にあるデータすべてを一括してコピーしようとしても、それぞれのホスト計算機でコピーを実施できるのは自ホスト計算機制御下の記憶領域内データに限られていた。これは、一ホスト計算機からは、他ホスト計算機の記憶領域を操作することができなかったことが原因である。
【０００８】
本発明は、上記問題点を解決するためになされもので、その目的は、複数のホスト計算機とストレージ装置を有した計算機システムにおいて、一ホスト計算機がストレージ装置内の任意または全体の記憶領域に対し、一括してコピー操作を可能にすることにある。
【課題を解決するための手段】
【０００９】
本発明のストレージ装置では、ディスク装置が提供する記憶領域に対して、指定した複数の記憶領域をまとめてグループを定義しておき、グループを指定することによりコピー処理を実施できるようにする。
【００１０】
グループは、サブグループの集合として構成されており、サブグループは、ホスト計算機ごとに定義されている。
【００１１】
また、グループ単位、サブグループでの更新の整合性を保証できるようにする。
【発明の効果】
【００１２】
本発明によれば、複数のホスト計算機とストレージ装置を有した計算機システムにおいて、一ホスト計算機がストレージ装置内の任意または全体の記憶領域に対し、一括してバックアップ操作をおこなうことができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明に係る一実施形態を、図１ないし図１３を用いて説明する。
０．システム構成：
先ず、図１を用いて本発明に係るストレージ装置を使用した計算機システムの構成について説明する。
図１は、本発明に係るストレージ装置を使用した計算機システムの構成図である。
【００１４】
計算機システムは、複数のホスト１０，１００（１００ａ，１００ｂ）、正制御装置１０００、正制御装置１０００に接続されたディスク装置１６００（１６００ａ，１６００ｂ）、副制御装置２０００、副制御装置２０００に接続されたディスク装置２６００（２６００ｃ，２６００ｄ）により構成される。
【００１５】
ここで、正制御装置１０００と副制御装置２０００は、一つの場合もあり、複数の場合もある。また、それらに接続されたディスク装置も一つの場合もあり、複数の場合もありうる。
【００１６】
なお、本明細書中では、制御装置とディスク装置を接続した装置を「ストレージ装置」ということにする。
【００１７】
正制御装置１０００は、ホスト１０と、ホスト１００ａ，１００ｂと通信路を介して接続されている。本実施形態の説明では、正制御装置１０００から副制御装置２０００にディザスタリカバリのためにコピーする処理について説明する。
【００１８】
正制御装置１０００は、共有メモリ１４００、キャッシュメモリ１２００、クロスバスイッチ１３００、ポートアダプタ１１００（１１００ａ，１１００ｂ，１１００ｃ）、ディスクアダプタ１５００（１５００ａ，１５００ｂ）を有する。
【００１９】
また、共有メモリ１４００、キャッシュメモリ１２００、ポートアダプタ１１００（１１００ａ，１１００ｂ，１１００ｃ）、ディスクアダプタ１５００（１５００ａ，１５００ｂ）はクロスバスイッチ１３００で互いに接続されている。 
ディスクアダプタ１５００は、ポート１５３０を介してディスク装置１６００に接続されている。ディスクアダプタは、ディスク装置内のデータを管理し、必要に応じ他装置との転送処理をおこなう。
【００２０】
ポートアダプタ１１００は、プロセッサ１１１０、メモリ１１３０、ＩＯポート１１２０を有する。ポートアダプタは、ホストからのＩＯ要求を受け、必要に応じ副制御装置２０００へのリモートコピー操作をおこなう。
【００２１】
副制御装置２０００も正制御装置１０００同様に、共有メモリ２４００、キャッシュメモリ２２００、クロスバスイッチ２３００、ポートアダプタ２１００、ディスクアダプタ２５００（２５００ａ，２５００ｂ）を有する。
【００２２】
ホスト１００は、プロセッサ１２０、メモリ１３０、ＩＯポート１１０を有する。図示していないが、プロセッサ、メモリ、ＩＯポートは、内部バスなどの通信路で接続されている。各ホスト上で動作するＯＳが異なっていてもよいし、また、ホストと制御装置間のＩＯ通信方式が異なっていてもよい。図示していないがホスト１０も、プロセッサ、メモリ、ＩＯポートを有し、それぞれは内部バスなどの通信路で接続されているる。
【００２３】
１．制御装置におけるコピーグループ作成の手続き：
ここでは、制御装置１０００におけるコピーグループおよびサブコピーグループの作成の手順を説明する。
【００２４】
１．１  コピーグループとサブコピーグループの概念
始めに、本発明で導入するコピーグループとサブコピーグループの概念について説明する。
【００２５】
本発明は、複数のホスト１００が扱う正制御装置１０００上の複数の記憶領域を一括してコピー操作が可能になる。記憶領域は、システムにより様々な表現がされるが、本実施形態では、論理ディスク装置として取り扱うことにする。この論理ディスク装置（また、単に「論理ディスク」ともいう）は、単数または複数のディスク装置から構成される論理的な記憶領域である。具体的には、論理ディスクは、一つのディスク装置の全部または一部の記憶領域で定義されたり、複数のディスク装置の個々の記憶領域（一部でも全てでも構わない）の集合として定義される場合もある。
【００２６】
このコピー操作の実現のため、正制御装置では「コピーグループ」と「サブコピーグループ」により、論理ディスク装置を管理し操作する。
【００２７】
「コピーグループ」は、一括コピーで対象となる記憶領域をまとめたグループであり、サブコピーグループの集合として定義される。「サブコピーグループ」は、一括コピーの対象に該当する記憶領域の中で、各ホストがコピー対象として指定する記憶領域である。
【００２８】
コピーグループの指定は、システム管理者が一括コピーをしたい対象を指定する。例えば、記憶領域の課金単位、一回のコピーでおこなうことのできる適切なデータ量として分割された記憶領域の集合、あるいは、記憶領域の管理部署により分類する例が考えられる。
【００２９】
正制御装置１０００では、コピーグループおよびサブコピーグループを、それぞれコピーグループリスト１４２０、サブコピーグループリスト１４５０、論理ディスクリスト１４３０の三つのリストを用いて管理する。これらのリストは、正制御装置１０００内の共有メモリ１４００に置かれる。
【００３０】
以下、図２ないし図５を用いてこれらのリストの詳細について説明する。
図２は、コピーグループリストを表す図である。
図３は、サブコピーグループリストを表す図である。
図４は、論理ディスクリストを表す図である。
図５は、コピーグループリスト、サブコピーグループリスト、論理ディスクリストの関係を表す図である。
【００３１】
図２に示されるように、コピーグループリストは、正制御装置１０００で定義された全てのコピーグループの一覧である。コピーグループリストは、コピーグループ番号、コンシステンシ保障レベル、サブグループリストポインタ、および、状態の情報を持つ。
【００３２】
「コピーグループ番号」は、このコピーグループを一意に識別する番号が入る。
【００３３】
「コンシステンシ保障レベル」とはコピー操作時および障害時のコピー動作を規定する基準である。ここで、コンシステンシとは、ホストからのデータの到着順序どおりに、ストレージ装置内のデータ更新をおこなうことを意味し、コンシステンシ保障レベルが、「完全保障」の場合はコピーグループに登録された全論理ディスクの整合性（副制御装置２０００に接続されたディスク装置への更新順序）を保障する、「サブグループ」の場合はサブコピーグループレベルで整合性を保障する、「未保障」の場合は、整合性の保障をしないことを意味する。
【００３４】
「サブグループリストポインタ」は、サブグループリストへの共有メモリ内のアドレスを示す。「状態」はコピーグループの現状の状態を示す。コンシステンシ保障レベルおよび状態の詳細は後述する。
【００３５】
サブコピーグループリストは、図３に示されるようにコピーグループを構成するサブコピーグループの一覧である。
【００３６】
コピーグループ毎にサブコピーグループリストは存在する。すなわち、図２に示したコピーグループリストでは、三つのエントリがあるが、この場合には、サブコピーグループリストも三つ存在することになる。
【００３７】
サブコピーグループリストは、サブコピーグループ番号、ホストＩＤ、コピー種別、サブコピーグループ有無、サブグループ番号・論理ディスク番号、および、状態の情報を持つ。
【００３８】
「サブコピーグループ番号」は、このサブコピーグループを一意に識別する番号が入る。
【００３９】
「ホストＩＤ」とは、正制御装置１０００および副制御装置２０００がホスト１００を一意に識別するための情報である。「コピー種別」とは非同期リモートコピー、同期リモートコピーといったコピー機能の種別を表す。
【００４０】
「非同期リモートコピー」とは、ホストがコピーのＩＯ命令を出したときに、正制御装置１０００が、コピーの終了を待たずに、ＩＯ終了の報告をする手順のコピー処理である。
【００４１】
「同期リモートコピー」とは、ホストがコピー対象のＩＯ命令を出したときに、ホストＩＯの単位ごとに、正制御装置１０００が、副制御装置２０００に対してコピーをおこなったことを確認して、ＩＯ終了の報告をする手順のコピー処理である。
【００４２】
「論理ディスクリスト有無」は、正制御装置における当該サブコピーグループが複数の論理ディスクで構成されていて、それがリスト表現されているか否かを示す。「有り」の場合は、そのサブコピーグループが論理ディスクリストにより表現されることを、「なし」の場合は、サブコピーグループが単一の論理ディスクにより表現されることを示している。
【００４３】
なお、本発明のサブコピーグループは、コピー種別が非同期リモートコピーのときに、複数の論理ディスクのコピーの更新順序の整合性が保証され、障害停止の保証をおこなうことを発想して導入されたものである。
【００４４】
したがって、コピー種別が同期リモートコピーのときには、必ず、論理ディスクリスト有無の値は、「なし」でサブコピーグループが単一の論理ディスクにより構成されているものとする。
【００４５】
「論理ディスクリスト番号・論理ディスク番号」は、論理ディスクリストサブグループ番号か、論理ディスク番号を示している。論理ディスクリスト番号を示すときは、前述の論理ディスクリスト有無の値が「有り」の場合であり、論理ディスク番号を示すときは、前述の論理ディスクリスト有無の値が「なし」の場合である。ここで、論理ディスク番号とは制御装置が制御単位として扱う固定サイズの論理ディスクの番号である。制御装置内の記憶領域は論理ディスクの集合として扱われ、それぞれには論理ディスク番号が振られている。
【００４６】
また、ホストが扱う記憶領域は、論理ディスクと１対１のサイズであっても良いし、１対１でなくても良い。状態はサブコピーグループの現状の状態を示す。状態の詳細は後述する。
【００４７】
論理ディスクリストは、図４に示されるようにサブコピーグループの論理ディスクをリスト上に表現するものである。論理ディスクリストは正制御装置が提供するコピー機能のうちで、論理ディスクリスト有無が「有り」のもの、それぞれに、一つ存在する。論理ディスクリストは、サブコピーグループにおける論理ディスクの構成を示しており、例えば、７Ａでは、サブコピーグループ番号が「１」のサブコピーグループは、三つの論理ディスクグループ（論理ディスク１，５，７）により構成されていることを示している。
【００４８】
これらの三つのリストの関係を示すと、図５のようになる。
【００４９】
この図５に示される例では、正制御装置内に三つのコピーグループが存在している場合を表している。コピーグループリストには三つのコピーグループが登録されており、当該コピーグループリスト内の各エントリ５Ａ，５Ｂ，５Ｃはサブコピーグループリストポインタでサブコピーグループリスト（１４５０ａ，１４５０ｂ，１４５０ｃ）の場所(共有メモリ上のアドレス)をそれぞれ指している。サブコピーグループリストはコピーグループの登録数分存在し、例では、三つ存在する。また、サブコピーグループリストで論理ディスクリスト有無欄が「有り」を示しているもの（６Ａ，６Ｄ，６Ｆ）は、さらに論理ディスクリストを論理ディスクリスト番号・論理ディスク番号欄を用いて参照する。
【００５０】
１．２  コピーグループとサブコピーグループの作成手順
次に、図６、図８および図９を用いてコピーグループ、サブコピーグループの作成手順について説明する。
図６は、副論理ディスク番号表を表す図である。
図８は、コピーグループ作成手順を示すフローチャートである。
図９は、サブコピーグループ作成手順を示すフローチャートである。
【００５１】
作成手順は、はじめにコピーグループの作成からおこなう。
【００５２】
ホスト１００が発行したコピーグループ作成指示を正制御装置が受信すると、ホストアダプタ１１００内ではＩＯポート１１２０が当該コピーグループ作成指示を受け、プロセッサ１１１０にコピーグループ作成指示を受けたことを通知する。なお、ホスト１００が発行するコピーグループ作成を指示するコマンドについては、後に詳細に説明する。
【００５３】
当該プロセッサは共有メモリ１４００内にコピーグループリスト１４２０が存在しているかを確認し、確認の結果、コピーグループリストが存在していないならば（ステップ２１０ＮＯ）、コピーグループリストを作成する（ステップ２２０）。
【００５４】
次に、コピーグループリスト内に新規エントリを追加する（ステップ２３０）。当該エントリ中の状態欄は「停止」として設定する。ステップ２３０の後は、前述のプロセッサが当該指示が成功したことを示すメッセージを作成し、作成指示発行元であるホスト１００に応答する（ステップ２３５）。
【００５５】
次に、サブコピーグループ作成に移る。
【００５６】
ホスト１００が発行したサブコピーグループ登録指示を正制御装置が受信すると、ホストアダプタ１１００内ではＩＯポート１１２０が当該サブコピーグループ登録指示を受け、プロセッサ１１１０にサブコピーグループ登録指示を受けたことを通知する。なお、ホスト１００が発行するコピーグループ登録を指示するコマンドについては、後に詳細に説明する。
【００５７】
当該プロセッサは共有メモリ１４００内のコピーグループリスト１４２０のエントリにサブコピーグループ登録指示が登録を要求するコピーグループが存在しているかを、コピーグループ番号を比較することで確認する。確認の結果、該当エントリがコピーグループリストに存在していないならば、該当コピーグループが存在していないことを示すエラーメッセージを作成し、当該登録指示の発行元に返す（ステップ２５５）。該当エントリがコピーグループリストに存在しているならば（ステップ２５０ＹＥＳ）、指示されたサブコピーグループリストが共有メモリにあることを確認する。この確認処理はコピーグループリストの該当エントリ内サブコピーグループリストポインタ欄の値の有無で確認する。
【００５８】
サブコピーグループリストが共有メモリ内に存在していない場合には（ステップ２６０ＮＯ）、前述のプロセッサがサブコピーグループリストを作成する（ステップ２７０）。
【００５９】
サブコピーグループリストが共有メモリ内に存在している場合には（ステップ２６０ＹＥＳ）、前述のプロセッサが登録指示の内容に従って、サブコピーグループリストにエントリを追加する（ステップ２８０）。サブコピーグループリストへのエントリ追加後、当該登録指示のコピー操作の論理ディスクが複数ある場合（ステップ２９０ＹＥＳ）は、さらに共有メモリ内の論理ディスクリスト１４３０の有無を確認する。論理ディスクリストが存在しない場合には（ステップ３００ＮＯ）、論理ディスクリストを前述のプロセッサが作成する（ステップ３１０）。
【００６０】
論理ディスクリストがある場合には、論理ディスクリスト内に前述の登録指示の内容に従って、前述のプロセッサがエントリを作成または更新をする（ステップ３２０）。
【００６１】
ステップ３２０の後は、副論理ディスク番号表１４４０にエントリを更新する（ステップ３３０）。
【００６２】
ここで、副論理ディスク番号表１４４０とは、図６に示すように制御装置内の全論理ディスクに対応するコピー先である副制御装置内の論理ディスク情報を格納する表である。この副論理ディスク番号表１４４０を参照することにより、正制御装置１０００の論理ディスクが、副制御装置２０００のどの論理ディスクにコピーすればよいかを求めることができる。したがって、当該表は常に制御装置内に存在する。コピー操作対象に該当しない論理ディスクのエントリはコピー先制御装置ＩＤ、コピー先論理ディスク欄が「なし」になる。
【００６３】
なお、コピー種別とコンテンシ保障レベルは、上述のコピーグループリスト１４２０と、サブコピーグループリスト１４５０にある情報なので、必ずしも必要ではないが、副論理ディスク番号表に冗長化しておいておけば、アクセスの高速性に寄与する。
【００６４】
コピーグループ番号とサブコピーグループ番号は、障害がおこって現在の状態を、コピーグループリスト１４２０と、サブコピーグループリスト１４５０から求めるときに利用される。
【００６５】
最後に、前述のプロセッサはコピーグループリストの該当エントリ内サブコピーグループリストポインタに前述のサブコピーグループリストが保存されるアドレスを書き込み、プロセッサからの登録指示が成功したことを示すメッセージを作成し、登録指示発行元に当該メッセージを返送する（ステップ３４０）。メッセージ返送後、記憶領域をグループにより指定するコピー処理を開始することができる。
【００６６】
２．制御装置におけるコピー処理動作：
ここでは、図７、図１０ないし図１２を用いて制御装置１０００におけるコピー処理動作について通常動作時と障害動作時に分けて順次説明する。
図７は、ライトデータ管理情報を表す図である。
図１０は、正制御装置および副制御装置のコピー中の動作を示すフローチャートである。
図１１は、コピー方式を決定する手順を示すフローチャートである。
図１２は、コピー処理の状態遷移表である。
２．１  通常動作
（１）コピー処理中の動作
前述した「制御装置におけるコピーグループ作成の手続き」を終えると、コピーグループ単位のコピー処理を開始することができるようになる。
【００６７】
以下、当該コピー処理中の正制御装置および副制御装置の動作について説明する。
【００６８】
先ず、図７により正制御装置１０００、副制御装置２０００間のコピー処理で使用する情報であるライトデータ管理情報１４１０，２４１０について説明する。
【００６９】
図７に示されるライトデータ管理情報１４１０，２４１０は、正制御装置、副制御装置の双方で持っている。
【００７０】
ライトアドレス９Ｂは、対応するライトデータを書き込む論理ディスク内のアドレスを示す情報（例えば、論理ディスクの先頭から２ＭＢの領域といった情報）で、ライトデータ長９Ｃは、対応するライトデータの長さをあらわす情報であり、ＩＯ要求に含まれる情報である。９Ａ，９Ｂ，９Ｃはいずれも書き込みＩＯ要求に含まれる情報である。ライト時刻は、連続する書き込み要求間のコピー順序を保障するために利用する時刻情報である。ライト時刻はコピー方式やＩＯ発行元のホスト１００が付与するものと付与しないもので扱いが異なる。ライト時刻の扱いは、後述する。ライトデータポインタ９Ｅは、対応するライトデータへのキャッシュ内のポインタである。副制御装置転送必要ビット９Ｆは、副制御装置２０００に、対応するライトデータの転送が必要であることを示す情報である。副制御装置のライトデータ管理情報２４１０では、当該副制御装置転送必要ビットは０になる。ライトデータの転送の必要性の判定は副論理ディスク番号表１４４０の該当エントリにおける副論理ディスク欄の有無を確認することでおこなう。すなわち、副論理ディスクが設定されている場合、当該必要ビットを「必要」を示すように設定する。
【００７１】
次に、コピー処理中の動作について図１０を用いて説明する。
【００７２】
ホスト１００から発行されたＩＯ要求１５０は、正制御装置１０００ではＩＯポート１１２０ａで受信する。ＩＯ要求を受信するとポートアダプタ内のプロセッサ１１１０は当該ＩＯ要求の解析をおこなう。書き込み要求である場合、ライトデータをキャッシュメモリに格納する（ステップ４００）。次に、プロセッサ１１１０は、共有メモリ内のライトデータ管理情報１４１０を作成する（ステップ４１０）。
【００７３】
さらに、前述のＩＯ要求からライトアドレスなどを取得し、前述のライトデータ管理情報に格納し、必要があれば正制御装置が有するタイマ値をライト時刻として設定し、ライトデータポインタ９Ｅ、副制御装置転送必要ビット９Ｆに情報の設定をおこなう（ステップ４２０）。
【００７４】
ライト時刻は、ここでは正制御装置内のタイマを用いるが、ホスト１００が有するタイマを用いる方法もある。最後に、当該ＩＯ要求送信元のホスト１００に完了報告を送信する。
【００７５】
次に、正制御装置がコピー送信をおこなうまでの手続きについて説明する。正制御装置１０００で、送信手続きをする場合には、先ずどのコピー方式でおこなうかを決定する必要がある。
【００７６】
始めに、副制御装置に通信路を介して接続されるポートアダプタ１１００ｃのプロセッサ１１１０ｃが、共有メモリ１４００のライトデータ管理情報を参照し、ライト時刻がもっとも過去のものをメモリ１１２０ｃに取得する。取得したライトデータ管理情報の論理ディスク番号９Ａを参照する。得られた論理ディスク番号をもとに、共有メモリ内の副論理ディスク番号表１４４０を参照し、論理ディスク番号が当該表内の論理ディスク欄と一致するエントリを取得し、メモリ１１３０ｃに保存する（ステップ５００）。プロセッサ１１１０ｃは得られたエントリ内のコピー種別欄を参照する（ステップ５１０）。ステップ５１０の参照の結果、非同期リモートコピーである場合（ステップ５２０ＹＥＳ）、プロセッサ１１１０ｃは、保存されたエントリのコンシステンシ保障レベル欄を参照する（ステップ５３０）。ここで、当該保障レベル欄が完全保証である場合（ステップ５４０ＹＥＳ）、非同期リモートコピーで使用するコンシステンシグループ番号として上位桁に番号を、下位桁を０の値を設定する（ステップ５６０）。
【００７７】
当該保障レベル欄がサブグループである場合（５４０ＹＥＳ）、コンシステンシグループ番号として上位桁に０を、下位桁にサブグループ番号の値を設定する（ステップ５７０）。ここで、コンシステンシグループとは非同期リモートコピーで正制御装置から副制御装置へのコピー順序を保障する範囲を表している。すなわち、上記のステップ５６０の操作は、コピーグループ単位での更新順序が保障され、ステップ５７０の操作ではサブコピーグループ単位での更新順序が保障されることになる。このコンシステンシグループ番号の情報は、正制御装置から副制御装置に送信されるデータのフレームに書き込まれ、副制御装置にて当該フレームを受信した各フレームの番号を参照して比較することにより、コピーするデータの更新順序を保証することができる。
【００７８】
ステップ５６０もしくは５７０終了後、または、前述の保障レベルが未保証の場合には、非同期コピー送信処理に移る（ステップ５８０）。この処理自体は正制御装置１０００の通常のコピー動作である。
【００７９】
一方、ステップ５１０の参照の結果、非同期リモートコピーでない場合（ステップ５２０ＮＯ）、同期コピー送信処理をおこなう（ステップ５９０）。この処理自体も正制御装置１０００の通常の動作である。
（２）コピー開始時の動作
コピーグループ単位のコピー処理の開始は前述した「制御装置におけるコピーグループ作成の手続き」を完了した場合におこなうことができる。
【００８０】
ホスト１００が発行したコピー開始指示を正制御装置１０００が受信すると、プロセッサ１１１０にコピー開始指示を受けたことが通知され、プロセッサ１１１０は、コピーリスト１４２０、サブコピーグループリスト１４３０、論理ディスクリスト１４３０、副論理ディスク番号表１４４０を参照して、副制御装置２０００にコピーを開始する。なお、ホスト１００が発行するコピー開始を指示するコマンドについては、後に詳細に説明する。
【００８１】
追加でコピーグループにサブコピーグループを登録したい場合は随時、コピーグループにサブグループの追加登録手続きをおこなう。追加手続き自体は図９に示した手続きをおこなうことで実現できる。ただし、コピーグループリスト１４２０で指定したコンシステンシ保障レベルが完全である場合に同一コピーグループ内のサブグループ間で異なるコピー種別を登録した場合は、コンシステンシレベルを保障しない。
（３）コピー一時停止時の動作
コピー一時停止の処理を開始するときには、ホスト１００がコピー一時停止時の指示を正制御装置１０００に対しておこなう。正制御装置１０００は、ホスト１００がコピー一時停止時のコマンドを受信するとコピー一時停止の処理を開始する。
【００８２】
コピーグループ単位の一時停止動作はコピーグループリスト１４２０で指定したコンシステンシ保障レベルを参照し、その内容により動作を変える。すなわち、「完全保障」の場合はコピーグループに登録された全論理ディスクの整合性（副ディスク装置への更新順序）を保障する、「サブグループ」の場合はサブコピーグループレベルで整合性を保障する、「未保障」の場合は整合性の保障をしないといった一時停止動作をおこなう。
【００８３】
「完全保障」の動作は、次のように実現する。
【００８４】
非同期リモートコピーの一時停止動作の場合は、上述のようにコンシステンシグループがコピーグループの範囲で設定されているため、従来の非同期リモートコピーの一時停止操作をおこなうことで、コピーグループレベルの整合性が保障される。この一時停止処理自体は、通常の正制御装置１０００の動作である。
【００８５】
同期リモートコピーの場合は、キャッシュ１２００に登録されたライトデータの副制御装置２０００へのコピーを一時的に停止させる処理を利用することで実現する。同期リモートコピーは、ホストからのＩＯ命令は、先ず、キャッシュ１２００に蓄えられ、順次実行されるからである。すなわち、同期リモートコピーの一時停止指示を正制御装置１０００が受け付けると、当該指示を受け取ったプロセッサ１１１０がキャッシュ１２００内の該当ライトデータのコピー処理への移行を停止させる。その間に、当該プロセッサはコピーグループ内の対象論理ディスクにコピー処理の停止手続きをおこなう。
【００８６】
コピー処理停止手続きは複数の論理ディスクに対しておこなうため時間がかかるが、その前にキャッシュ内のライトデータのコピー処理への移行を停止させる手続きをおこなっているため、停止処理をすり抜けてコピー処理がおこなわれることはない。コピー処理の停止手続きを一時停止後、キャッシュ内のライトデータのコピー処理への移行を停止させる手続きを解除する。
【００８７】
「サブグループの動作」は次のように実現する。
【００８８】
非同期リモートコピーの一時停止動作の場合は、上述のようにコンシステンシグループがサブコピーグループの範囲で設定されているため、サブコピーグループごとに従来の非同期リモートコピーの一時停止操作をおこなうことで、サブコピーグループレベルでの整合性が保障される。この一時停止処理自体は通常の正制御装置１０００のコピー処理である。
【００８９】
同期リモートコピーの場合は、サブコピーグループは、常に単一の論理ディスクに設定されるため、コピーグループに登録された全論理ディスクに対し、停止処理を実施する。停止処理自体は停止指示を受け付けたポートアダプタ内のプロセッサ１１１０が実施する。
【００９０】
「未保障」の動作は次のように実現する。未保障の場合は同期リモートコピー、非同期リモートコピーともに、サブグループの手続きと同じになる。結果として、サブグループのコンシステンシ保障と同じ整合性の状態（すなわち、サブコピーグループレベルで副側のコピー対象ボリュームの整合性を保障）になる。未保障の動作とサブグループの動作の違いは後述の障害動作にある。
（４）コピーグループの状態管理の動作
コピー動作は、同一コピーグループ内の論理ディスクであっても、処理にずれが生じる。そのため、論理ディスク毎にコピー動作の状態が異なることがある。これら状態に相違があるコピーグループ内論理ディスクの状態を管理するため、正制御装置１０００では状態監視をおこなう。
【００９１】
以下、コピーグループの状態管理動作を説明する。
【００９２】
始めに、正制御装置はサブコピーグループ単位で、論理ディスクの状態を監視する。状態監視の方針は、図１２のコピー処理の状態遷移表に示すように、すべての論理ディスクが同一状態でない場合は移行中（定常状態移行中、一時停止移行中、停止移行中）に、すべての論理ディスクが同一状態（停止６５０、定常６６０、一時停止６７０）である場合は当該状態を「状態」として正制御装置１０００内のサブコピーグループリストの状態欄に書き込む。当該書き込み動作は副制御装置に接続されたポートアダプタ１１００ｃ内のプロセッサ１１１０ｃが実施する。次に、正制御装置１０００は、コピーグループに登録されるすべてのサブコピーグループの状態をまとめ、コピーグループの「状態」とする。このコピーグループの状態決定の方針はサブコピーグループの状態決定方針と同一である。その「状態」は、正制御装置内コピーグループリストの状態欄に書き込まれる。
【００９３】
例えば、図７を用いて状態の決定の手順を示すと以下のようになる。
【００９４】
サブコピーグループリストの６Ｆを見ると、サブコピーグループ３に登録された論理ディスク４，９（論理ディスクリストの７Ｃ）がすべて定常状態であるため６Ｆの状態も「定常」になる。また、６Ｅ，６Ｆがすべて定常であるため、コピーグループリスト１４２０の５Ｃの状態も「定常」になる。
【００９５】
ホスト１００からの指示でコピーグループの状態を通知する場合は、コピーグループリストの該当するエントリ内の状態を用いる。
２．２  障害動作
コピー処理中の障害動作は、コピーグループリスト１４２０で指定したコンシステンシ保障レベルで、その動作が異なる。すなわち、「完全保障」の場合はコピーグループに登録された全ボリュームを一括停止させる。「サブグループ」の場合は該当するサブコピーグループを停止させる。「未保障」の場合は該当する論理ディスクを停止させる。
【００９６】
「完全保障」の動作は次のように実現する。非同期リモートコピーの障害停止操作は、コンシステンシグループがコピーグループの範囲で設定されているため、従来の非同期リモートコピーの障害停止操作をおこなうことで、実現できる。この一時停止処理自体は通常の正制御装置の動作である。
【００９７】
同期リモートコピーの障害停止操作は、前述のキャッシュ１２００に登録されたライトデータを一時的に停止させる処理を利用することで実現する。このようにするのは、同期リモートコピーは、ホストからのＩＯ命令は、先ず、キャッシュ１２００に蓄えられ、順次実行されるからである。すなわち、同期リモートコピーの障害を正制御装置で検出すると、当該障害を検出したプロセッサ１１１０がキャッシュ１２００内の該当ライトデータのコピー処理への移行を停止させる。その間に、当該プロセッサはコピーグループ内の対象論理ディスクにコピー処理の障害停止手続きをおこなう。コピー処理の障害停止手続き一時停止後、キャッシュ内のライトデータのコピー処理への移行を停止させる手続きを解除する。
【００９８】
「サブグループ」の動作は次のように実現する。非同期リモートコピーの障害一時停止動作の場合は、コンシステンシグループがサブコピーグループの範囲で設定されているため、障害が発生したサブコピーグループに対し、従来の非同期リモートコピーの障害一時停止操作をおこなう。この障害一時停止処理自体は通常の正制御装置の動作である。
【００９９】
同期リモートコピーの場合は、サブコピーグループは、常に単一の論理ディスクに設定されるため、コピーグループに登録された障害発生論理ディスクのペアに対し、障害停止処理を実施する。停止処理自体は障害を検出したポートアダプタ内のプロセッサ１１１０が実施する。
【０１００】
「未保障の動作」は次のように実現する。未保障の場合は同期リモートコピーではサブグループの手続きと同じになる。非同期リモートコピーでは、サブコピーグループの故障した論理ディスクに対して停止指示を出す。これを実現するためには、サブコピーグループ作成時にコンシステンシグループの整合性保障を無視する指定をする必要がある。
【０１０１】
３．制御装置の外部インタフェースとシステム管理ホストとの連携：
３．１  制御装置の外部インタフェース
制御装置は、外部インタフェースとして、ホスト１００から制御装置におけるコピーグループを設定および操作するためのコマンドが規定されている。
【０１０２】
このコマンドは設定系コマンドと指示系コマンドの２種類に大別できる。
【０１０３】
設定系コマンドはホスト１００が記憶領域（ボリューム）に対して、コピーグループ、サブコピーグループを指定して管理情報として設定をするコマンドであり、指示系コマンドは記憶領域のコピーグループに対して操作をするコマンドである。
【０１０４】
以下、図１３ａ，１３ｂを用いてこれらのコマンドについて説明する。
図１３ａは、設定系コマンドの形式を示す図である。
図１３ｂは、操作系コマンドの形式を示す図である。
【０１０５】
（１）設定系コマンド
設定系コマンドとしては、図１３ａに示されるコピーグループ作成・削除指示６００とサブコピーグループ登録・解除指示６１０がある。コピーグループ作成・解除指示６００とサブコピーグループ登録・解除指示６１０では形式が異なる。
【０１０６】
「オペコード」は操作指示の内容を示す欄である。「コピー元記憶領域情報およびコピー先記憶領域情報」は装置とそのボリュームを識別するための情報で、制御装置ＩＤ、論理ディスク番号である。「オプション」は、例えば、コンシステンシ保障レベルなどを指定する。オプションは複数指定してもよい。
【０１０７】
例えば、コピーグループ作成のときには、「オペコード」の欄には、「コピーグループ作成」を表すコードが入り、図２のコピーグループリスト１４２０の５Ａの例では、「コピーグループ番号」には、「１」、「オプション」には、コンシステンシ保証レベルとして、「サブグループ」が指定される。
【０１０８】
ホストからコピーグループ作成コマンドが発行されたときには、正制御装置１０００内の共有メモリ１４００に保持されているコピーグループリスト１４２０にエントリが追加される。
【０１０９】
逆にホストからコピーグループ削除のコマンドが発行されたときには、「コピーグループ番号」に該当するコピーグループリスト１４２０のエントリが削除される。
【０１１０】
また、サブコピーグループ登録のときには、「オペコード」の欄には、「サブコピーグループ登録」を表すコードが入り、図３のサブコピーグループリスト１４５０の６Ａの例では、「コピーグループ番号」には、「１」、「サブコピーグループ番号」には、「１」、「コピー元記憶領域情報」の制御装置ＩＤとしては、「制御装置Ｂ」、論理ディスク番号には、「１，５，７」、「コピー先記憶領域情報」の論理ディスク番号には、コピー元の論理ディスク番号「１，５，７」のデータがコピーされるコピー先の論理ディスク番号が入る。「オプション」には、コピー種別として、「非同期リモートコピー」が指定される。
【０１１１】
なお、ホストＩＤは、コマンドを受け取ったときのプロトコル情報により取得できる。
【０１１２】
正制御装置１０００がホストからサブコピーグループ登録コマンドを受け取ったときには、サブコピーグループリスト１４５０のエントリを追加し値を設定する。また、「コピー先記憶領域情報」の論理ディスク番号が複数あるときには、論理ディスクリスト１４３０にエントリを追加し値を設定する。
【０１１３】
そして、副論理ディスク番号表１４４０にエントリを追加し値を設定する。副論理ディスク番号表１４４０の「論理ディスク」の欄には、「コピー元記憶領域情報」の論理ディスク番号が入り、「副論理ディスク」の欄には、「コピー先記憶領域情報」の論理ディスク番号が入る。
【０１１４】
また、正制御装置１０００がホストからサブコピーグループ解除コマンドを受け取ったときには、サブコピーグループリスト１４５０、論理ディスクリスト１４３０、副論理ディスク番号表１４４０の該当するエントリから削除する。
【０１１５】
（２）操作系コマンド
操作系コマンド６２０は、コピーグループ指定で当該指示を実現する。「オプション」には、例えば一時停止指示で副制御装置のボリュームへの未コピーデータの扱いなどを指定する。オプションは複数指定してもよい。例えば、「オペコード」に「コピー開始」のコードを入れれば、指定したコピーグループに対して、コピーが開始される。また、「コピー一時停止」のコードを入れると、コピー処理は一時停止される。
【０１１６】
例えば、図４のコピーグループリスト１４２０の５Ａの例では、「コピーグループ番号」には、「１」が入り、コピーグループ番号１に関してコピーが開始される。そして、図５の構造に従いコピーグループ番号１に属するサブコピーグループ番号１，２，３の「論理ディスクリスト番号・論理ディスク番号」に指定されている論理ディスクがコピー元の論理ディスクとなる。
【０１１７】
この例では、サブコピーグループ番号１の論理ディスクリスト１から、論理ディスク１、論理ディスク５、論理ディスク７がコピー元の論理ディスクとなり、サブコピーグループ番号２の論理ディスク番号から、論理ディスク３がコピー元の論理ディスクとなり、サブコピーグループ番号３の論理ディスク番号から、論理ディスク１１がコピー元の論理ディスクとなる。
【０１１８】
コピー元の論理ディスクに対応する副制御装置２０００におけるコピー先の論理ディスクは、図６の副論理ディスク番号表１４４０により求め、対応する論理ディスクにコピーを開始する。
【０１１９】
３．２  システム管理ホストとの連携
ここでは、ホスト１０、１００を動作するソフトウェアにより区別する。計算機システム全体を管理するソフトウェア（ここでは、「システム管理ソフト」とよぶことにする）が動作するホストをシステム管理ホスト１０とよび、運用アプリケーションが動作するホストを、単にホスト１００ａ，１００ｂとよぶことにする。
【０１２０】
以下、システム管理ホストとホストおよび制御装置の連携方法について図１を用いて説明する。
【０１２１】
ホスト１００は、ストレージ制御ソフト１８０、アプリケーション１４０、エージェント１６０などのソフトウェアを有する。
【０１２２】
ストレージ制御ソフト１８０は、ユーザの要求を前述の制御装置の外部インタフェース用コマンドに変換する機能、および、システム管理ホストが送信するストレージ制御プログラムを実行する機能を持つ。エージェント１６０は、システム管理ホスト１０上のシステム管理ソフト１５の指示に従って、当該ホスト１００上のソフトウェアを操作する機能を持つ。システム管理ホスト１０はシステム管理ソフト１５などのソフトウェアを有する。システム管理ソフトは、計算機システム内の全要素（ホスト、正制御装置）を管理する機能を有する。また、計算機システム内の全要素を管理するために、システム管理ホストは通信路１７によりホスト、正制御装置に接続される。
【０１２３】
正制御装置、副制御装置のコピー操作は、以下のようにおこなわれる。
【０１２４】
始めに、システム管理ホスト上のシステム管理ソフトは正制御装置から当該制御装置内のすべての論理ディスクの情報を取得する。また、各ホストから各ホスト制御下の記憶領域情報、および、すべてのコピーグループとサブコピーグループを取得する。副制御装置内の論理ディスクの情報はシステム管理ソフトがホストを介し正制御装置に指示を出し、正制御装置は、副制御装置と通信し当該論理ディスクの情報を取得し、当該情報を含んだ応答を正制御装置から得ることで取得するか、または、正制御装置のみでなく、副制御装置にも通信路１７を延長することで、直接システム管理ソフトが副制御装置から取得する。これらの情報をもとに、コピーグループ、サブコピーグループ、各ホストのボリューム、および、論理ディスクの関係を構築する。構築した結果ユーザが示したポリシーを基にしたコピープログラムを作成する。ここで言うポリシーとはたとえば、特定時間単位にディザスタリカマバリ用コピーをおこなうといったものが該当する。プログラム自体の作成はユーザが直接行っても構わない。作成したプログラムはシステム管理ソフトがエージェント１６０を介し特定のホストに送信し、格納させる。当該プログラムを受信したホストでは、エージェントの指示を契機として、当該プログラムを実行する。プログラムの実行は主にストレージ制御ソフトに対して働く。当該ストレージ制御ソフトは当該プログラムの指示に従って、正制御装置に外部インタフェースを用いたコピー指示をおこなう。
【０１２５】
また、コピー処理をする際、各ホストのアプリケーションのデータの更新を止める必要が生じる場合がある。そのために、システム管理ソフトは、各ホストのアプリケーションと連携をとり、適切なタイミングにシステム管理ソフトが該当するホスト上のエージェントにアプリケーション静止化などの指示を出す。
【０１２６】
当該エージェントは指示に従いアプリケーションと連携をとり静止化処理手続きをおこなう。手続き完了後当該エージェントはシステム管理ソフトに対し終了応答を出す。
【０１２７】
また、システム管理ソフトは、ストレージ装置の制御のために、ストレージ制御ソフトとも連携を取る必要がある。これは、適切なタイミングでコピー処理をおこない、処理が終わったときには、他のストレージ制御ソフトに制御権を譲るためである。
【０１２８】
システム管理ソフトは、その終了応答を契機にプログラムを格納したホストのエージェントに対し、必要ならばその他のＩＯの処理開始の指示を出す。当該エージェントはその指示に従い、ストレージ制御ソフトまたは直接プログラムにその他のＩＯの処理開始の指示を出す。
【図面の簡単な説明】
【０１２９】
【図１】本発明に係るストレージ装置を使用した計算機システムの構成図である。
【図２】コピーグループリストを表す図である。
【図３】サブコピーグループリストを表す図である。
【図４】論理ディスクリストを表す図である。
【図５】コピーグループリスト、サブコピーグループリスト、論理ディスクリストの関係を表す図である。
【図６】副論理ディスク番号表を表す図である。
【図７】ライトデータ管理情報を表す図である。
【図８】コピーグループ作成手順を示すフローチャートである。
【図９】サブコピーグループ作成手順を示すフローチャートである。
【図１０】正制御装置および副制御装置のコピー中の動作を示すフローチャートである。
【図１１】コピー方式を決定する手順を示すフローチャートである。
【図１２】コピー処理の状態遷移表である。
【図１３ａ】設定系コマンドの形式を示す図である。
【図１３ｂ】操作系コマンドの形式を示す図である。
【符号の説明】
【０１３０】
１０…システム管理ホスト
１００ａ，１００ｂ…ホスト
１０００…正制御装置
１６００，２６００…ディスク装置
１１００…ポートアダプタ
１２００，２２００…キャッシュ
１３００，２３００…クロスバスイッチ
１４００，２４００…キャッシュ
１４１０，２４１０…ライトデータ管理情報
１４２０…コピーグループリスト
１４３０…論理ディスクリスト
１４４０…副論理ディスク番号
１４５０…サブコピーグループリスト
１５００ａ，１５００ｂ，２５００ａ，２５００ｂ…ディスクアダプタ
【図１】
0004629342.tif 000002
【図２】
0004629342.tif 000003
【図３】
0004629342.tif 000004
【図４】
0004629342.tif 000005
【図５】
0004629342.tif 000006
【図６】
0004629342.tif 000007
【図７】
0004629342.tif 000008
【図８】
0004629342.tif 000009
【図９】
0004629342.tif 000010
【図１０】
0004629342.tif 000011
【図１１】
0004629342.tif 000012
【図１２】
0004629342.tif 000013
【図１３ａ】
0004629342.tif 000014
【図１３ｂ】
0004629342.tif 000015