(57)【特許請求の範囲】
【請求項１】
レコード及びレコード更新（以下、単にレコードと略称する）を発生するアプリケーション・プログラム（以下、アプリケーションと略称する）を走行するホスト・プロセッサと、それぞれが一次データ記憶装置及び二次データ記憶装置から成る第１及び第２の少なくとも２つの二重ペアと、前記ホスト・プロセッサ及び前記両二重ペアの間に接続された記憶制御装置とを含み、前記各二重ペアの二重化確立状態においては、レコードを記録目的の下に対応する前記各一次データ記憶装置内に書込み記憶し、該記憶レコードをバックアップ目的の下に対応する前記各二次データ記憶装置内に転送して複写することができるデータ記憶システムにおいて、前記両二次データ記憶装置がシーケンス整合順序で同期されたままであるようにレコードを複写しながら、前記両二重ペアを抑止（即ち、確立状態の中止。以下、同じ）するための方法にして、
前記アプリケーションから前記第１の二重ペアの前記一次データ記憶装置への将来のレコードの書込みを禁止するために前記ホスト・プロセッサからの最初の静止コマンドに応答して前記記憶制御装置によって前記第１の二重ペアを静止（即ち活動休止。以下同じ）させるステップと、
前記アプリケーションから前記第２の二重ペアの前記一次データ記憶装置への将来のレコードの書込みを禁止するために及び前記各二次データ記憶装置へ複写されるレコードをシーケンス整合した順序で同期化するために前記ホスト・プロセッサからのその後の静止コマンドに応答して前記記憶制御装置によって前記第２の二重ペアを静止させるステップと、
前記アプリケーションから前記両二重ペアの前記各一次データ記憶装置へ送られるレコードを前記両二重ペアの前記各二次データ記憶装置へ前記記憶制御装置によって複写することを禁止するために、前記記憶制御装置が前記ホスト・プロセッサから抑止コマンドを順次に受けることによって前記両二重ペアを順次に抑止するステップと、
前記両二重ペアがすべて抑止されていること及びその後のレコードが前記各二次データ記憶装置への複写無しに、前記両二重ペアの前記各一次データ記憶装置へ書込み可能であることを前記記憶制御装置によって前記アプリケーションに通報するステップと、
を含む方法。
【請求項２】
前記静止させるステップは、前記アプリケーションから前記両二重ペアの前記各一次データ記憶装置へのレコードのその後の書込みを禁止するため静止状態が解除されるまでビジー信号を前記記憶制御装置から前記ホスト・プロセッサに発生するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記抑止するステップは、その後に前記ホスト・プロセッサから前記各一次データ記憶装置に転送されたレコードが複写オペレーションの再開のための二重ペアの確立状態への再確立ステップにおいて前記二次データ記憶装置へ複写されるように、前記二重ペアの確立状態を終了するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
記憶されるべきレコードを発生すると共に、二重ペアの静止コマンド及び二重ペアの抑止コマンドを発行するアプリケーション・プログラムを走行するホスト・プロセッサと、前記レコードを記憶するための一次データ記憶装置及び該記憶レコードの複写を記憶するための二次データ記憶装置から成る第１の二重ペアと、前記レコードを記憶するための一次データ記憶装置及び該記憶レコードの複写を記憶するための二次データ記憶装置から成る第２の二重ペアと、前記ホスト・プロセッサ及び前記両二重ペアの間に接続され、前記両二次データ記憶装置がシーケンス整合順序で同期されたままであるよう前記両二重ペアを抑止するための記憶制御装置と、該記憶制御装置内に設けられ前記ホスト・プロセッサ及び前記両二重ペア間でレコードを指向するための記憶装置パスと、該記憶装置パスに接続され、前記二重ペアの前記二次データ記憶装置に複写されるべき前記レコードを記憶するためのメモリとを含む、データ二重化を行うデータ記憶システムにおいて、
前記記憶装置パスは、
前記アプリケーションから前記両二重ペアの前記各一次データ記憶装置への将来のレコードの書込みを禁止するように、前記アプリケーションから前記二重ペア抑止コマンドの発行に先立って発行される前記二重ペア静止コマンドに応答して前記両二重ペアを静止させるための手段と、
前記各記憶レコードが前記両二重ペアの各二次データ記憶装置へシーケンス整合順序で同期されたまま複写され終わるように、前記アプリケーションから前記二重ペア静止コマンドの発行の後に発行される前記二重ペア抑止コマンドに応答して前記両二重ペアを抑止するための手段と、
を含む記憶制御装置。
【請求項５】
前記記憶制御装置は、レコードをシーケンス整合した順序で記憶するための不揮発性記憶装置（ＮＶＳ）を含み、前記レコードはその後前記二重ペアの二次データ記憶装置に複写されることを特徴とする請求項４に記載の記憶制御装置。
【請求項６】
前記記憶装置パスは、前記ホスト・プロセッサから前記二重ペアの一次データ記憶装置に現在書き込まれている前記レコード更新が完了することを可能にするために、及びその後のレコード更新が前記ホスト・プロセッサから前記二重ペアの一次データ記憶装置に書込まれることを禁止するために、前記二重ペア静止コマンドに応答してビジー信号を静止状態が解除されるまで前記ホスト・プロセッサに発生することを特徴とする請求項４に記載の記憶制御装置。
【請求項７】
複数個のレコード更新を発生するアプリケーションを走らせ、及び二重ペア静止コマンド及び二重ペア抑止コマンドを発生するホスト・プロセッサと、
前記ホスト・プロセッサに接続されたチャネルと、
それぞれが一次データ記憶装置及び二次データ記憶装置から成る第１及び第２の二重ペアであって、前記各一次データ記憶装置は複数個のレコード更新を記憶し、前記各二次データ記憶装置は前記複数個のレコード更新の複写を記憶するものと、
前記チャネルを介して前記ホスト・プロセッサに結合され、更に、前記第１及び第２の両二重ペアに結合された記憶制御装置と、
を含み、
前記記憶制御装置は、
前記チャネル及び前記両二重ペア間に接続された記憶装置パスと、
前記記憶装置パスに接続され、前記ホスト・プロセッサから転送された複数個のレコード更新を最初に記憶するためのメモリと、
を含み、
前記記憶装置パスは、
前記ホスト・プロセッサと前記各一次データ記憶装置の間で前記メモリを介して  前記複数個のレコード更新の移動を指向すること、
前記複数個のレコード更新を前記二次データ記憶装置へ複写すること、
更に、
前記アプリケーションから前記両二重ペアの前記一次データ記憶装置への将来の複数個のレコード更新の書込みを禁止するように、前記アプリケーションから前記二重ペア抑止コマンドの発行に先立って発行される前記二重ペア静止コマンドに応答して前記両二重ペアを静止させること、
前記二次データ記憶装置へ複写された前記複数個のレコード更新レコードがシーケンス整合順序で同期されたままであるように、前記アプリケーションから前記二重ペア静止コマンドの発行の後に発行される前記二重ペア抑止コマンドに応答して前記両二重ペアを抑止すること、
を特徴とするデータ記憶システム。
【請求項８】
前記二重ペアの各々の各二次データ記憶装置は前記一次データ記憶装置の各々に対して遠隔の二次サイトに置かれること、及び前記二次サイトは前記一次サイトにおける前記記憶制御装置から前記レコード及びレコード更新を受けるための及び前記各二次データ記憶装置に接続された記憶制御装置を含むことを特徴とする請求項７に記載のデータ記憶システム。
【請求項９】
前記記憶制御装置における前記記憶装置パスは、前記ホスト・プロセッサから前記二重ペアの一次データ記憶装置に現在書き込まれている前記レコード更新が完了することを可能にするために、及びその後のレコード更新が前記ホスト・プロセッサから前記二重ペアの一次データ記憶装置に書込まれることを禁止するために、前記二重ペア静止コマンドに応答してビジー信号を前記静止状態が解除されるまで前記ホスト・プロセッサへ発生することを特徴とする請求項７に記載のデータ記憶システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概して云えば、データ記憶技法に関するものであり、更に詳しく云えば、多数の装置又は装置サブシステムにまたがる二重複写オペレーション或いは遠隔二重複写オペレーションをアトミックに抑止するためのシステムに関するものである。
【０００２】
【従来の技術】
データ処理システムは、処理データと関連して、一般に、大量のデータを記憶する必要がある。そのデータは、効果的にアクセスされ、修正され、そして再記憶され得るものである。データ記憶装置は、一般に、効率的且つコスト効果的なデータ記憶装置を提供するために、幾つかの異なるレベルに或いは階層的に分割される。第１レベルの又は最高レベルのデータ記憶装置は、通常、動的又は静的ランダム・アクセス・メモリ（ＤＲＡＭ又はＳＲＡＭ）と呼ばれる電子的メモリを包含する。電子的メモリは、数百万バイトのデータが各回路上に記憶可能であり且つそのようなデータ・バイトへのアクセスがナノ秒単位で測定されるという半導体集積回路の形式を取る。その電子的メモリは、アクセスが全体的に電子的であるので、データに対する最速のアクセスを与える。
【０００３】
第２レベルのデータ記憶装置は、通常、直接アクセス記憶装置（ＤＡＳＤ）を包含する。ＤＡＳＤは、例えば、データのビットを形成する「１」又は「０」を表すためのディスク表面におけるミクロン単位の大きさの磁気的に又は光学的に変更されたスポットとしてデータのビットを記憶する磁気的又は光学的ディスクより成る。磁気的ＤＡＳＤは、残留磁気材料でもって被覆された１つ又は複数個のディスクを有する。それらのディスクは、保護された環境内で回転可能に装着される。各ディスクは、多くの同心円トラック、即ち、密接した間隔の円に分けられる。データは、各トラックに沿ってビット毎に順次に記憶される。ハード・ディスク・アセンブリ（ＨＤＡ）として知られたアクセス機構は、一般に、１つ又は複数個の読取り／書込みヘッドを有し、ディスクがそれらの読取り／書込みヘッドを通って回転する時、トラックを横切って移動してそれらのディスクの表面との間でデータを転送するように各ＤＡＳＤに設けられる。ＤＡＳＤは数ギガバイトのデータを記憶することができ、そのようなデータへのアクセスは一般にミリ秒単位（電子的メモリよりも数桁の大きさで遅い）で測定される。ＤＡＳＤに記憶されたデータへのアクセスは、ディスク及びＨＤＡを所望のデータ記憶ロケーションに物理的に位置づける必要があるために遅くなる。
【０００４】
第３レベル、即ち低レベルのデータ記憶装置はテープ・ライブラリ、又はテープ及びＤＡＳＤライブラリを含む。データに対するアクセスはライブラリではずっと遅くなる。それは、ロボットがその必要なデータ記憶媒体を選択し及びロードする必要があるためである。利点は、非常に大きいデータ記憶容量、例えば、テラバイトのデータ記憶のためにコストが減少することである。テープ記憶装置はバックアップ目的で使用されることが多い。即ち、第２レベルの階層に記憶されたデータは磁気テープにおいて保護するために複写される。テープ又はライブラリに記憶されたデータへのアクセスは、現在、秒単位のレベルである。
【０００５】
バックアップ・データを複写させることは、多くのビジネスにとって必須のことである。それは、ビジネスにとってデータ喪失が大災害になり得るためである。一次記憶レベルで失われたデータを回復するために必要な時間も重要な回復の考察事項である。テープ又はライブラリ・バックアップにおける速度の改良は二重複写を含んでいる。二重複写の一例は追加のＤＡＳＤを設けて、データがその追加のＤＡＳＤに書き込まれるようにする（ミラーリングとも呼ばれる）。そこで、一次ＤＡＳＤが故障すると、二次ＤＡＳＤがデータに関して頼みにされる。この方法の欠点は、必要なＤＡＳＤの数が２倍になることである。
【０００６】
２倍の記憶装置を設ける必要性を克服するもう１つのデータ・バックアップ方法は、低価格ディスクの冗長配列（ＲＡＩＤ）構成またはディスク・アレイにデータを書き込むことに関連する。この場合、データは、それが多くのＤＡＳＤの間で配分されるように書き込まれる。１つのＤＡＳＤだけが障害を生じた場合、失われたデータは残りのデータ及びエラー訂正手順を使用することによって回復可能である。現在、幾つかの異なるＲＡＩＤ構成が利用可能である。
【０００７】
前述のバックアップ解決法は、一般には、記憶装置又は媒体が障害を生じた場合にデータを回復させるには十分である。これらのバックアップ方法は装置の障害に対しては有用である。それは、二次データが一次データのミラーであるためである。即ち、二次データは一次データと同じボリューム通し番号（ＶＯＬＳＥＲ）を有する。一方、システム障害回復は、ミラーされた二次データを使用して得ることはできない。従って、システム全体或いはその場所を破壊するような災害、例えば、地震、火事、爆発、台風等が発生した場合、データを回復するためには更なる保護が必要である。災害回復は、データの二次複写が一次データから離れたロケーションに保管されることを必要とする。災害保護を行う既知の方法は、日毎又は週毎をベースにデータをテープにバックアップすることである。そこで、そのテープは搬送手段によって取り上げられ、通常、一次データ・ロケーションから数キロメートル離れた安全な保管領域に持って行かれる。このバックアップ方法では、バックアップ・データを検索するのに数日を必要とするという問題、及び数時間又は数日分のデータが失われ或いは不良化している間に、保管ロケーションが同じ災害によって破壊されることがあるという問題が提起されている。わずかに改良されたバックアップ法は、毎晩、データをバックアップ・ロケーションに搬送するものである。これは、更に離れたロケーションにデータを記憶することを可能にする。バックアップが二重複写法におけるように継続的には生じないため、バックアップとバックアップとの間に或データが失われることがある。従って、ユーザにとっては許容し得ないかなりの量のデータが失われることがある。
【０００８】
更に最近紹介されたデータ災害回復法は遠隔二重複写を含む。その方法では、データは遠く離れてバックアップされるのみならず、連続的に（同期的に、或いは非同期的に）もバックアップされる。１つのホスト・プロセッサから他のホスト・プロセッサに、或いは、１つの記憶制御装置から他の記憶制御装置に、或いはそれらの組合せでその二重化されたデータをコミュニケートするためには、そのプロセスを実現するためのかなりの量の制御データが必要である。しかし、高いオーバヘッドは一次サイトの処理を維持するために二次サイトを損なうことがあり、従って、災害が発生した場合、二次サイトが一次サイトを回復させることができるという能力に影響することがある。
【０００９】
二重複写は、ＤＡＳＤサブシステムにおいて二重ペアを形成する一次ボリューム及び二次ボリュームを必然的に伴う。ＤＡＳＤサブシステムにおける複写動作は、複写元ボリュームに対するＩ／Ｏコマンドによって制御される。そのようなＩ／Ｏコマンドは、二重ペアを確立し又は抑止（確立状態を中止）するために、或いは二重ペアのステータスを待ち行列化するために装置の制御を行う。しかし、装置毎の制御がすべての災害回復アプリケーションにとって不可欠であるわけではない。二次ロケーションにおける複写済みデータは、その複写元のデータと時間的整合（順次整合）している限り使用可能である。歴史的には、Ｉ／Ｏコマンドはデータを複写する間その複写元ＤＡＳＤ自体を停止させることによってそのような整合性を確保し、それにより、データの更なる更新を生じる余地を皆無にしていた。この方法に対する改良はＴ０又は同時複写として知られ、それはアプリケーションの実行を停止する時間を減少させるが、依然として二重ペアの抑止を必要としていた。
【００１０】
実時間二重複写、例えば、拡張遠隔複写（ＸＲＣ）又は同格（ピアツーピア）通信遠隔複写（ＰＰＲＣ）は、それらの複写が災害回復にとって使用可能であるように二次ボリューム全体にわたって時間的整合性を保証する。しかし、もう一度云うが、主システムの中断は装置毎の制御にとって必要なことである。これらの中断は或システムおいては受け入れ難い崩壊を生じさせる。ＸＲＣシステムは、ソフトウエア制御のデータ・ムーバを介した解決法を与える。その場合、二次装置が部分的に複写オペレーションの非同期的性質によって時間整合するように、単一のコマンドが二重化複写セッションを停止させる。このデータ・ムーバの解決法は、データをボリューム毎に同期的に複写する二重複写又はＰＰＲＣバックアップ環境においては利用し得ない。各ボリュームは如何なる他のボリュームからも独立した複写であるが、一組のボリュームにおけるデータが各ボリューム相互間で論理的に従属関係にある場合がある。例えば第１のポリームがレコードを記録し、第２のボリュームがそのレーコードのインデックスを記録する場合、これらのボリュームがデータ・シーケンスに関して論理的従属関係にある。
【００１１】
従って、必要なことは、一組の独立した装置に対する複写動作のシーケンス整合の抑止を、システム・オペレーション抑止を必要とすることなく、システム・オペレーションにおける最小の遅延でもって生じさせることができる災害回復システムである。
【００１２】
【発明が解決しようとする課題】
本発明の主な目的は、複数の二次データ記憶装置間の複写済みデータ・シーケンスの論理的従属性を維持しながら、システム・オペレーションを中断することなく多数の同期的二重ペアを静止させるための改良された方法及びシステムを提供することにある。
【００１３】
明細書中で二重ペアに関連して使用する主な用語について簡述する。
静止（即ち休止）又は静止コマンドの機能は、アドレスされた特定の二重ペアの一次記憶装置に関して現在進行中の書込みＩ／Ｏオペレーションを完了させるが、その後の書込み又は読取り動作を禁止すると同時に、これらのＩ／Ｏコマンドを待ち行列内に入れ、これらのすべてのＩ／Ｏオペレーションを遅延させる。この静止状態の解除は抑止コマンドにより行われ、待ち行列内のＩ／Ｏコマンドの各関連動作が一次記憶装置に関して再開可能になるが、二次記憶装置への複写オペレーションは禁止されたままである。
抑止又は抑止コマンドの機能は、アドレスされた特定の二重ペアの確立状態を解除して一次記憶装置から二次記憶装置へのレコードの転送を停止し複写オペレーションを終了するが、その後のレコード及びレコード更新の一次記憶装置への書込みを継続する事も可能である。このように書込まれたレコードは、確立コマンドにより二重ペアが再確立されて複写オペレーションが可能になった時、オプションに応じて、二次記憶装置へ複写される場合もあるし、又は、複写されない場合もある。
【００１４】
【課題を解決するための手段】
本発明の第１実施例によれば、レコード及びレコード更新の複写が進行中である間、第１及び第２二重ペアを抑止するための方法が与えられる。その方法を実行するためのデータ記憶システムは、レコード及びレコード更新を生じさせるアプリケーションを実行するホスト・プロセッサを含む。第１二重ペアは一次データ記憶装置及び二次データ記憶装置を含み、一方、第２二重ペアも一次データ記憶装置及び二次データ記憶装置を含む。ホスト・プロセッサと第１及び第２二重ペアの一次データ記憶装置との間には記憶制御装置が結合される。その方法は、記憶制御装置においてホスト・プロセッサからの初期静止コマンドに応答してアプリケーションから第１二重ペアの一次データ記憶装置へのその後のレコード及びレコード更新の書込みを禁止することによって第１二重ペアを静止させる。
【００１５】
又、その方法は、記憶制御装置においてホスト・プロセッサからのその後の静止コマンドに応答してアプリケーションから第２二重ペアの一次データ記憶装置へのその後のレコード及びレコード更新の書込みを禁止することによって第２二重ペアを静止させる。これは、シーケンス整合した順序で第１及び第２二重ペアの二次データ記憶装置に複写されたレコード及びレコード更新を調整する。そこで、第１及び第２二重ペアはホスト・プロセッサから抑止コマンドを受けた後に記憶制御装置によって抑止され、複写動作は禁止される。そこで、記憶制御装置は、第１及び第２二重ペアが抑止されそして二次データ記憶装置にレコードを複写することなくその後のレコード及びレコード更新が一次データ記憶装置に書き込まれる。しかし、二重ペアは最初に静止させられたので、すべての二次データ記憶装置が特定の時点においてアプリケーションに関してシーケンス整合する。
【００１６】
本発明のもう１つの実施例では、レコード及びレコード更新を第１及び第２二重ペアに複写するための、及びレコード及びレコード更新の複写が進行中である間、各二重ペアを抑止するための記憶制御装置がデータ記憶システムに設けられる。データ記憶システムは、アプリケーションを実行するホスト・プロセッサを含み、各二重ペアは、更に一次データ記憶装置及び二次データ記憶装置を含む。記憶制御装置はホスト・プロセッサと各一次データ記憶装置との間に結合される。アプリケーションはレコード及びレコード更新を発生し、静止二重ペア・コマンド及び抑止二重ペア・コマンドを発生する。レコード及びレコード更新は一次記憶装置に記憶され、一方、それらの各複写は二次記憶装置に記憶される。
【００１７】
記憶制御装置における記憶装置パスは、ホスト・プロセッサと第１及び第２二重ペアとの間のレコード及びレコード更新を指示する。更に、記憶装置パスは、アプリケーションからの静止二重ペア・コマンドに応答して第１及び第２二重ペアを静止させる。レコード及びレコード更新が各二次データ記憶装置に複写され且つシーケンス整合した順序で同期化されるように、アプリケーションからの抑止二重ペア・コマンドに応答して第１及び第２二重ペアが記憶装置パスによって抑止される。二重ペアの前記二次データ記憶装置に複写されるべきレコード及びレコード更新を最初に記憶するためのメモリが設けられる。
【００１８】
【本発明が適用される環境】
代表的なデータ処理システムは、データを計算及び操作するための、例えば、少なくとも１つのＩＢＭ３９９０記憶制御機構を接続されたデータ機能記憶管理サブシステム／多重仮想システム（ＤＦＳＭＳ／ＭＶＳ）ソフトウエアを実行するためのＩＢＭシステム／３７０或いはＩＢＭシステム／３９０のようなホスト・プロセッサの形式を取るものでよい。一般に、記憶制御装置はメモリ・コントローラ及びそれに組み込まれた１つ又は複数個のキャッシュ・メモリ・タイプを含む。記憶制御装置は、更に、ＩＢＭ３３８０又は３３９０のような直接アクセス記憶装置（ＤＡＳＤ）のグループに接続される。ホスト・プロセッサは大きな計算力を与えるけれども、記憶制御装置は効率的に転送するために、ステージ／デステージするために、変換するために、及び一般に大きなデータ・ベースをアクセスするために必要な機能を与える。
【００１９】
データ記憶システムにおいてデータを保護する１つの形式は１つのＤＡＳＤのデータを他のＤＡＳＤ上にバックアップすることである。データ・バックアップを行うためのこの手順は、一般に、二重複写と呼ばれる。データは一次ＤＡＳＤに記憶され、二次ＤＡＳＤに複写される。それらの一次及び二次ＤＡＳＤは二重ペアを形成する。二重複写二重ペアの一次及び二次装置は別個の装置ストリングにグループ分け可能であるが、それらは同じ記憶制御装置に接続されなければならない。その同じ記憶制御装置に接続される要件のために、二重複写は、データ・バックアップのための受け入れ可能な方法であるが、それは災害回復システムにとって実施可能ではない。
【００２０】
一般的なデータ処理システムに対する災害回復保護は、一次ＤＡＳＤに記憶された一次データが二次又は遠隔ロケーションにバックアップされることを必要とする。一次及び二次ロケーションを分ける距離はユーザにとって受け入れ可能なリスクのレベルに依存し、数キロメートルから数千キロメートルまで変わり得るものである。二次又は遠隔ロケーションは、バックアップ・データの複写を行うことに加えて、一次システムがディスエーブルされた場合に一次システムに対する処理を引き継ぐのに十分なシステム情報も持たなければならない。これは、単一の記憶制御装置が一次及び二次サイトにおいて一次及び二次ＤＡＳＤストリングの両方にはデータを書き込まないために、部分的には当然である。代わりに、一次データが一次記憶制御装置に接続された一次ＤＡＳＤストリング上に記憶され、一方、二次データが二次記憶制御装置に接続された二次ＤＡＳＤストリング上に記憶される。
【００２１】
二次サイトは一次サイトから十分に離れていなければならないのみならず、一次データを実時間でバックアップできなければならない。一次データが或最小の遅延で更新される時、二次サイトは一次データをバックアップする必要がある。更に、二次サイトは、一次サイトで走っていてデータ又は更新を発生するアプリケーション・プログラム（例えば、ＩＭＳ、ＤＢ２）に関係なく、一次データをバックアップしなければならない。二次サイトで必要とされる困難なタスクは、二次データが順序整合していなければならないことである。即ち、二次データは一次データと同じ順次順序（順次整合）で複写される。それはかなりのシステム考察を必要とする。順次整合性は、多数の記憶制御装置（その各々がデータ処理システムにおける多数のＤＡＳＤを制御する）の存在によって複雑にされる。順次整合がない場合、一次データと整合しない二次データがその結果として生じ、従って災害回復を不良化するであろう。
【００２２】
遠隔のデータ二重化は２つの一般的なカテゴリ、即ち、同期的なもの及び非同期的なものに分けられる。同期的遠隔複写は、一次データを二次ロケーションに送ること、及び一次ＤＡＳＤ入出力（Ｉ／Ｏ）オペレーションを終了する（一次ホストにチャネル終了（ＣＥ）及び装置終了（ＤＥ）を与える）前にそのようなデータの受信を確認することを含む。従って、二次的確認を待っている間、同期的複写は一次ＤＡＳＤのＩ／Ｏ応答時間を遅らせる。一次Ｉ／Ｏ応答遅延は一次システムと二次システムとの間の距離に比例して増加する（遠隔距離を数十キロメートルに制限する要因）。しかし、同期的複写は、比較的わずかなシステム・オーバヘッドでもって二次サイトにおいて整合したデータを順次に与える。
【００２３】
非同期的遠隔複写は、データが二次サイトにおいて確認される前に一次ＤＡＳＤのＩ／Ｏオペレーションが完了する（一次ホストにチャネル終了（ＣＥ）及び装置終了（ＤＥ）を与える）ので、一次アプリケーション・システムのより良いパフォーマンスを与える。従って、一次ＤＡＳＤのＩ／Ｏ応答時間は二次サイトまでの距離に依存せず、二次サイトは一次サイトから数千キロメートルも離れていてもよい。しかし、二次サイトで受信されるデータは一次更新の順序ではないことがよくあるので、データ・シーケンスの整合性を確実にするためには大量のシステム・オーバヘッドが必要である。一次サイトにおける障害は、一次ロケーションと二次ロケーションとの間で伝送中であったデータが失われるという結果を生じることがある。
【００２４】
（ａ）非同期的遠隔複写
非同期的遠隔データのシャドウィングは、一次サイトと二次サイトを大きな距離によって隔てることによって１つの災害が一次サイト及び二次サイトの両方を不良化させる確率を減少させる必要がある時、或いは一次アプリケーション・パフォーマンスのインパクトを最小にする必要がある時に使用される。一次サイト及び二次サイトの間の距離が地球を横切って延びることができる時、多数の一次サブシステムの背後の多数の二次サブシステムまでの多数のＤＡＳＤボリュームにまたがる書込み更新の同期化は更にかなり複雑になる。レコード書込み更新は、二次記憶装置サブシステムにおけるシャドウィングのために一次記憶制御装置から一次データ・ムーバを介して二次データ・ムーバまで配送可能であるが、それらの間で送られる制御データの量は最小にされなければならない。それは、幾つかの記憶制御装置の背後における多数のＤＡＳＤボリュームにまたがって一次システムで生じるように、幾つかの記憶制御装置にまたがって二次システムにおいて正確な順序のレコード書込み更新を再構成することが依然としてできることを必要とする。
【００２５】
（ｂ）同期的遠隔複写
災害回復のための同期的実時間遠隔複写は、複写されたＤＡＳＤボリュームがセットを形成することを必要とする。そのようなセットの形成は、更に、各セットを構成するボリューム（ＶＯＬＳＥＲ）及び一次サイトの等価物を識別するための十分な量のシステム情報が二次サイトに与えられることを必要とする。重要なこととして、二次サイトは一次サイトと共に「二重ペア」を形成し、二次サイトは、１つ又は複数個のボリュームがそのセットと同期していない時、即ち、「障害ある二重」が生じた時を認識しなければならない。接続障害は、非同期的遠隔複写における接続障害よりも同期的遠隔複写における接続障害の方がずっと可視的である。それは、代わりのパスが再試行される間、一次ＤＡＳＤ  Ｉ／Ｏが遅れるためである。一次サイトは、二次サイトに対する更新が待ち行列化される時、その一次サイトが継続することを可能にするために複写を中止又は抑止することができる。二次サイトを示すために一次サイトがそのような更新をマークすることは同期しない。二次サイトを一次サイトとの同期外れにする例外条件を認識することは、二次サイトが災害回復のためにいつでも使用可能であるためには必要である。エラー状態及び回復アクションは二次サイトを一次サイトと不整合にしてはならない。
【００２６】
しかし、二次ＤＡＳＤが存在し且つアクセス可能である時に二次サイトと一次サイトとの間の接続を維持することはデータ内容の同期状態を保証するものではない。二次サイトは、多くの理由で一次サイトとの同期状態を緩めることが可能である。二重ペアが形成される時、二次サイトは、先ず、同期外れとなり、そして初期データ複写が完了する時に同期に達する。一次サイトは、それが更新されたデータを二次サイトに書き込むことができない場合に二重ペアを解くことが可能であり、その場合、一次サイトは、更新アプリケーションが継続するように、抑止二重ペア状態の下で一次ＤＡＳＤに更新を書き込む。従って、一次サイトは露出状態で、即ち、二重ペアが回復するまで現在の災害保護複写なしで実行しようとする。二重ペアを回復する時、二次サイトは直ちには同期しない。未決の更新を適用した後、二次サイトは同期に戻る。一次サイトは、そのボリュームに対する抑止コマンドを一次ＤＡＳＤに発生することによって二次サイトに同期を失わせることもできる。二次サイトは、抑止コマンドが終了し、二重ペアが再設定され、未決の更新が複写された後に一次サイトと再同期する。オンライン保守は同期化を失わせることもできる。
【００２７】
二次ボリュームが一次ボリュームと同期していない時、二次ボリュームは二次システム回復及び一次アプリケーションのリザンプションに対して使用可能ではない。二次サイトにおける同期外れのボリュームは、そのように識別されなければならず、二次サイト回復引継手順は、アプリケーション・アクセスを否定する（ボリューム・オフラインを強制するか、或いはそれらのＶＯＬＳＥＲを変更する）ための同期外れボリュームを識別する必要がある。二次サイトは、一次サイトのホストがアクセス不能である任意の時間に一次サイトを回復させるよう要求可能であり、従って、二次サイトは、すべてのボリュームの同期状態に関するすべての関連情報を必要とする。二次記憶制御装置である二次記憶装置サブシステムは、一次サイトに一次サイト遭遇の例外による同期化をブレークさせるすべての条件を決定することはできない。例えば、二次サイトが知らない一次Ｉ／Ｏパス又はリンクの障害のために一次サイトが二次ピアをアクセスすることができない場合、一次サイトは二重ペアをブレークすることが可能である。この場合、二重ペアがブレークされることを一次サイトが表す時、二次サイトは同期状態を示す。
【００２８】
同期外れの二重ペア・ボリュームが存在することを、外部コミュニケーションが二次サイトに知らせることがある。これは、ユーザ・システム管理機能を使用することによって実現可能である。一次Ｉ／Ｏオペレーションはチャネル終了／装置終了／ユニット・チェック（ＣＥ／ＤＥ／ＵＣ）状態でもって終了し、センス・データはそのエラーの性質を表す。この形式のＩ／Ｏ構成によって、エラー回復プログラム（ＥＲＰ）はそのエラーを処理し、Ｉ／Ｏが終了したことを一次アプリケーションに知らせる前に適当メッセージを二次プロセッサに送る。そこで、ユーザは、ＥＲＰが二重ペア・メッセージを抑止したことを認識してその情報を二次ロケーションに確保するように応答可能である。二次サイトが一次サイトの場所で動作的になることに依存する時、始動手順は二次ＤＡＳＤオンラインを二次ホストに与える。その場合、二次ＤＡＳＤサブシステムに記憶された同期ステータスは、同期外れボリュームがアプリケーション割当てのためのオンラインにされないことを保証するために検索される。すべてのＥＲＰ抑止二重ペア・メッセージとマージされたこの同期ステータスは二次同期外れボリュームの完全な画像を与える。
【００２９】
図１を参照すると、一次サイト１４及び二次サイト１５を有する災害回復システム１０が示される。この場合、二次サイト１５は、例えば、一次サイト１４から２０キロメートル離れて位置している。一次サイト１４は一次ホスト・プロセッサ１を含み、それはそこで走るアプリケーション及びシステムＩ／Ｏ及びエラー回復プログラム２（以後、Ｉ／Ｏ＆ＥＲＰ２と呼ぶ）を有する。一次プロセッサ１は、例えば、ＤＦＳＭＳ／ＭＶＳオペレーティング・ソフトウエアで走るＩＢＭエンタープライズ・システム／９０００（ＥＳ／９０００）プロセッサでよく、そこで走る幾つかのアプリケーション・プログラムを持つものでよい。一次記憶制御装置３、例えば、ＩＢＭ３９９０モデル６記憶制御機構は、チャネル１２を介して一次プロセッサ１２に接続される。その分野では知られているように、幾つかのそのような記憶制御装置３が一次プロセッサ１に接続可能であり、或いは、幾つかの一次プロセッサ１が一次記憶制御装置３に接続可能である。一次ＤＡＳＤ４、例えば、ＩＢＭ３３９０ＤＡＳＤは一次記憶制御装置３に接続される。幾つかの一次ＤＡＳＤ４が一次記憶制御装置３に接続可能である。一次記憶制御装置３及びそれに接続された一次ＤＡＳＤ４は一次サブ記憶システムを形成する。更に、一次記憶制御装置３及び一次ＤＡＳＤ４は単一の統合ユニットであってもよい。
【００３０】
二次サイト１５は二次ホスト・プロセッサ５、例えば、ＩＢＭ  ＥＳ／９０００を含み、それはチャネル１３を介して二次記憶制御装置６、例えば、ＩＢＭ３９９０モデル６に接続される。更に、ＤＡＳＤ７がその記憶制御装置６に接続される。一次プロセッサ１は少なくとも１つのホスト間コミュニケーション・リンク１１、例えば、チャネル・リンク又は電話Ｔ１／Ｔ３ライン・リンク等によって二次プロセッサ５に接続される。一次プロセッサ１は、例えば、多数のエンタープライズ・システム接続（ＥＳＣＯＭ）リンク９による二次記憶制御装置６との直接接続を持つようにしてもよい。その結果、Ｉ／Ｏ＆ＥＲＰ２は、必要に応じて二次記憶制御装置６とコミュニケートすることができる。一次記憶制御装置３は多数の同格通信リンク８、例えば、多数のＥＳＣＯＭリンクを介して二次記憶制御装置６とコミュニケートする。
【００３１】
書込みＩ／Ｏオペレーションが一次プロセッサ１において走るアプリケーション・プログラムによって実行される時、そのＩ／Ｏオペレーションが成功裏に完了したことを表すハードウエア・ステータスのチャネル終了／装置終了（ＣＥ／ＤＥ）が与えられる。一次プロセッサ１のオペレーティング・システム・ソフトウエアは、Ｉ／Ｏオペレーションの成功した完了時にアプリケーションに書込みＩ／Ｏオペレーションの成功をマークし、従って、アプリケーション・プログラムが、成功裏に完了した第１の又は前の書込みＩ／Ｏオペレーションに従属した次の書込みＩ／Ｏオペレーションに継続することを許容する。一方、その書込みＩ／Ｏオペレーションが不成功であった場合、チャネル終了／装置終了／ユニット・チェック（以後、ＣＥ／ＤＥ／ＵＣと呼ぶ）のＩ／Ｏステータスが一次プロセッサ１のオペレーティング・システム・ソフトウエアに与えられる。ユニット・チェックを与えると、Ｉ／Ｏ＆ＥＲＰ２は、障害のあったＩ／Ｏオペレーションの性質に関する特殊センス情報を一次記憶制御装置３から得る制御を行う。或ボリュームに特有のエラーが生じた場合、そのエラーに関連した特有のステータスがＩ／Ｏ＆ＥＲＰ２に与えられる。しかる後、Ｉ／Ｏ＆ＥＲＰ２は、一次記憶制御装置３及び二次記憶制御装置６との間の、或いは、最悪の場合には、一次プロセッサ１及び二次プロセッサ５との間のデータ整合性を維持するために新しい同格通信同期エラー回復を行うことができる。
【００３２】
図２を参照すると、エラー回復手順が示される。図２において、ステップ２０１は、一次プロセッサ１において走るアプリケーション・プログラムがデータ更新を一次記憶制御装置３に送ることを含む。ステップ２０３において、そのデータ更新が一次ＤＡＳＤ４に書き込まれ、そして、そのデータ更新は二次記憶制御装置６にシャドウされる。ステップ２０５において、一次サイト及び二次サイトが同期しているかどうかを決定するために、二重ペア・ステータスがチェックされる。その二重ペア・ステータスが同期状態にある場合、一次プロセッサ１においてそこで走るアプリケーション・プログラムを介して処理が継続する間、ステップ２０７において、データ更新が二次ＤＡＳＤ７に書き込まれる。
【００３３】
二重ペアが「障害」状態にある場合、ステップ２０９において、一次記憶制御装置３は、その二重ペアが抑止したこと或いは障害を生じたことを一次プロセッサ１に知らせる。その二重ペアは、コミュニケーション・リンク８を介した一次記憶制御装置３及び二次記憶制御装置６の間のコミュニケーション障害のために「障害」となることがある。それとは別に、二重ペアは一次サブシステム或いは二次サブシステムにおけるエラーのために「障害」となることがある。その障害がコミュニケーション・リンク８にある場合、一次記憶制御装置３は、二次記憶制御装置６に直接にその障害をコミュニケートすることができない。ステップ２１１において、一次記憶制御装置３はＩ／ＯステータスＣＥ／ＤＥ／ＵＣを一次プロセッサ１に戻す。Ｉ／Ｏ＆ＥＲＰ２はアプリケーション・プログラムを静止させ、従って、書込みＩ／Ｏオペレーションをリクエストするアプリケーションに制御を戻す前に、エラー回復及びデータ整合性のために、ステップ２１３において、一次プロセッサ１の制御を行う。
【００３４】
図３を参照すると、記憶制御装置３２５、例えば、ＩＢＭ３９９０記憶制御機構は、例えば、データ機能記憶管理サブシステム／多重仮想システム（ＤＦＳＭＳ／ＭＶＳ）を走らせるＩＢＭシステム／３７０或いはＩＢＭエンタープライズ・システム／９０００（ＥＳ／９０００）プロセッサのようなホスト・プロセッサ３１０を含むデータ処理システムに接続されるものとして更に詳細に示される。記憶制御装置３２５は、更に、ＩＢＭ３３８０又は３３９０ＤＡＳＤのような直接アクセス記憶装置（ＤＡＳＤ）３７５に接続される。記憶サブシステムは記憶制御装置３２５及びＤＡＳＤ３７５によって形成される。その記憶サブシステムは、コミュニケーション・リンク３２１を介してホスト・プロセッサ３１０に接続される。そのコミュニケーション・リンク３２１は、ホスト・プロセッサ３１０のチャネル３２０に及び記憶制御装置３２５のポートＡ−Ｄ、Ｅ−Ｈに接続する。コミュニケーション・リンク３２１は、並列又は直列リンク、例えば、エンタープライズ・システム接続（ＥＳＣＯＭ）直列ファイバ光学リンクであってもよい。
【００３５】
記憶制御装置３２５は二重クラスタ３６０、３６１を含む。その二重クラスタ３６０、３６１は別々の電源（図示されていない）を有し、更に、コミュニケーション・インターフェースを与えるためのポートＡ−Ｄ、Ｅ−Ｈ３３０を含む。不揮発性記憶装置（ＮＶＭ）３７０及びキャッシュ３４５の両方が一時的データ記憶装置に与えられ、クラスタ３６０、３６１の両方にアクセス可能である。記憶装置パス０ー３  ３４０がＤＡＳＤ３７５への必要なパスを与える。重要製品データがＶＰＤ３９５及び３９６に維持される。記憶制御装置３２５と同様の記憶制御装置が米国特許第５,０５１,８８７号に開示されている。
【００３６】
図４は記憶制御装置の記憶装置パス４０１を更に詳細に示す。前に図３に示されたように、記憶制御装置は４つの記憶装置パスを有し、各記憶装置パスは他の３つと同じである。従って、１つの記憶装置パスだけを詳細に説明することにする。記憶装置パス４０１は上部のチャネル・ポート４３０によって８×２スイッチ４０２に接続され、下部の装置ポート４３２によって複数個のＤＡＳＤに接続される。記憶装置パス４０１は、そのパス内で生じるすべてのオペレーションを制御するマイクロプロセッサ４１０を含む。マイクロプロセッサ４１０は、ホスト・プロセッサから受け取ったチャネル・コマンドを翻訳することができ、接続されたＤＡＳＤを制御することもできる。マイクロプロセッサ４１０は、外部サポート機構を通して制御メモリ又は制御記憶装置（図示されていない）にロードされたマイクロ命令を実行する。
【００３７】
図４には、共用制御アレイ（ＳＣＡ）４３４も示される。ＳＣＡ４３４はその記憶制御装置の４つの記憶装置パスすべてによって共用される情報を含む。記憶装置パス４０１における各マイクロプロセッサ４１０は共用の情報を得るためにＳＣＡ４３４をアクセスする。一般的な共用の情報は、４つの記憶装置パスすべてのマイクロプロセッサにより使用される外部レジスタ、装置ステータス、及びチャネル再接続データを含む。
【００３８】
記憶装置パス４０１はポート・アダプタ（ＰＡ）４１２を含み、そのポート・アダプタはキャッシュ４２０、不揮発性記憶装置（ＮＶＭ）４２２、及び自動データ転送（ＡＤＴ）バッファの間でデータを転送するためのデータ・パス及び制御ラインを与える。そのＡＤＴバッファはＡＤＴ回路４１４及び速度変更バッファ４１６より成る。速度変更バッファ４１６は、そのＤＡＳＤのデータ転送速度及びチャネルに対するホスト・プロセッサのデータ転送速度の間の差を補償する。一般に、データ処理システムでは、チャネルと記憶制御装置との間のデータ転送速度、又はチャネル転送速度は、ＤＡＳＤと記憶制御装置との間のデータ転送速度又はＤＡＳＤ転送速度よりもずっと高い。
【００３９】
ポート・アダプタ４１２は上位キャッシュ・ポート４２４及び下位キャッシュ・ポート４２６を使用してキャッシュ４２０、ＮＶＳ４２２、及びＡＤＴバッファ（４１４、４１６より成る）の間のデータ・パスを与える。これらの２つのポートは、キャッシュ４２０に関連する２つの同時転送を可能にする。例えば、下位キャッシュ・ポート４２６を使用してデータがＤＡＳＤからキャッシュ４２０に転送されるのと同時に、上位キャッシュ・ポート４２４を使用してデータがキャッシュ４２０からチャネルに転送可能である。データ転送はマイクロプロセッサ４１０によって開始され、そしてそれが一旦開始されると、完了するまでマイクロプロセッサの介入なしにＡＤＴ回路４１４によって制御される。
【００４０】
記憶装置パス４０１は、直接ＤＡＳＤオペレーション時に、又はキャッシュ・オペレーション時に、又は高速書込みオペレーション時に、ホスト・プロセッサから複数個のＤＡＳＤの１つへのデータ・レコードの転送を指示する。直接ＤＡＳＤオペレーションは、データの一時記憶のためにキャッシュ又はＮＶＳを使用することなく、ホスト・プロセッサと複数個のＤＡＳＤの１つとの間のデータの転送を含む。この場合、記憶装置パス４０１はＡＤＴバッファ４１４、４１６を使用して、ＤＡＳＤへ転送するためのデータを一時的に記憶する。
【００４１】
キャッシュ・オペレーション時に、記憶装置パス４０１はデータをキャッシュ・メモリ４２０に記憶し且つそのデータをＤＡＳＤにブランチする。この場合、そのデータは上部のチャネル・ポート４３０を使用してＡＤＴバッファ４１４、４１６転送される。そこで、データは、上位キャッシュ・ポート４２４を使用してＡＤＴバッファ４１４、４１６からキャッシュ・メモリ４２０に転送され、下部の装置ポート４３２を使用してＤＡＳＤに転送される。データは、それがＤＡＳＤにブランチされた後、或時間的期間の間キャッシュ・メモリ４２０に残っている。ホスト・プロセッサがデータを、それが更新される前に読み取るようリクエストする場合、記憶装置パス４０１はそのデータをキャッシュ４２０から読み取るよう指示することができ、それによってデータ処理システムのパフォーマンスを向上させることができる。
【００４２】
高速の書込みオペレーション時に、記憶装置パス４０１は最初にデータをキャッシュ４２０及びＮＶＳ４２２に記憶する。そのデータは、その後、ＮＶＳ４２２からＤＡＳＤにデステージされる。この高速書込みの場合、データは上部のチャネル・ポート４３０を使用してＡＤＴバッファ４１４、４１６に転送される。しかる後、データはＡＤＴバッファ４１４、４１６から上位キャッシュ・ポート４２４を使用してキャッシュ４２０へ及び下位キャッシュ・ポート４２６を使用してＮＶＳ４２２へ転送される。キャッシュ・オペレーションの時のように、ホスト・プロセッサがデータを、それが更新される前に読み取るようリクエストされる場合、記憶装置パス４０１はデータをキャッシュ４２０から読み取るよう指示することができ、それによって、データ処理システムのパフォーマンスを向上させることができる。
【００４３】
【本発明の良好な実施の態様】
図５を参照すると、二重複写災害回復機能及び遠隔二重複写災害回復機能の両方を実施できるデータ処理システムが示される。ホスト・プロセッサ５０１、例えば、ＩＢＭ  ＥＳ／９０００は２つの記憶サブシステム５０２、５０３にコミュニケートする。記憶制御装置５１０、例えば、ＩＢＭ３９９０モデル３は、ＩＢＭ３９９０のようなＤＡＳＤ５１２、５１４、５１６、５２２、５２４及び５２６に接続され、ホスト・プロセッサ５０１と同じ一次サイトに置かれた１つの記憶サブシステム５０２を構成する。この記憶サブシステム５０２は一次ＤＡＳＤ５１２、５１４、及び５１６に書かれたデータを、それぞれ二次ＤＡＳＤ５２２、５２４、及び５２６上にバックアップする二重複写オペレーションを遂行する。ＤＡＳＤ５１２、５２２は１つの二重ペアを形成する。同様に、２つの更なる二重ペアがＤＡＳＤ５１４、５２４及びＤＡＳＤ５１６、５２６によって形成される。
【００４４】
ホスト・プロセッサ５０１において走るアプリケーション・プログラムが記憶サブシステム５０２に書き込まれるべきレコードを発生する時、ホスト・プロセッサ５０１は、先ず、そのレコードを記憶サブシステム５０２の記憶制御装置５１０に転送する。記憶制御装置５１０は、そのレコードを受け取り、転送の成功を信号するチャネル終了（ＣＥ）をホスト・プロセッサに発生する。そこで、記憶制御装置５１０は、そのレコードを一次ＤＡＳＤ５１２へ転送し、一次ＤＡＳＤ５１２へのレコードの書込みの成功を信号する装置終了（ＤＥ）をホスト・プロセッサ５０１に発生する。ホスト・プロセッサ５０１は、今や、その後のレコードを一次ＤＡＳＤ５１２、５１４、５１６の１つに書き込むか、或いは前に書き込まれたデータを一次ＤＡＳＤ５１２、５１４、５１６から読み取るという記憶サブシステム５０２に対する次のオペレーションを遂行することができる。そこで、その記憶制御装置は、一次ＤＡＳＤ５１２に書き込まれたレコードの複写を二次ＤＡＳＤ５２２に転送し、そのレコードのバックアップ・バージョンを与える。
【００４５】
ホスト・プロセッサ５０１は、記憶制御装置５３０、例えば、ＩＢＭ３９９０モデル６、及び幾つかのＤＡＳＤ５３２、５３４、５３６、例えば、ＩＢＭ３３９０或いはＩＢＭ  ＲＡＭＡＣより成る他の記憶サブシステム５０３に接続される。この記憶サブシステム５０３は災害回復システムのための一次サイトを与える。ＤＡＳＤ５３２、５３４、５３６は二重ペアの一次ＤＡＳＤとして働く。一次記憶サブシステム５０３は、災害回復システムを完成するための第２の遠隔サイトにおける二次記憶サブシステム５０４に接続される。一次記憶サブシステム５０３及び二次記憶サブシステム５０４の間の接続５５０は直接コミュニケーション・リンク、例えば、エンタープライズ・システム接続（ＥＳＣＯＭ）リンクを通して行われる。二次記憶サブシステム５０４は、ＩＢＭ３３９０或いはＩＢＭ  ＲＡＭＡＣのような幾つかのＤＡＳＤ５４２、５４４、５４６に接続された記憶制御装置５４０、例えば、ＩＢＭ３９９０モデル６より成る。二次記憶サブシステム５０４におけるＤＡＳＤ５４２、５４４、５４６は遠隔二重複写オペレーションに対する二次ＤＡＳＤとして働く。図５における災害回復システムには、３つの二重ペアが示される。ＤＡＳＤ５３２、５４２は第１二重ペアを形成し、ＤＡＳＤ５３４、５４４は第２二重ペアを形成し、ＤＡＳＤ５３６、５４６は第３二重ペアを形成する。従って、例えば、ホスト・プロセッサ５０１は一次記憶サブシステム５０３の記憶制御装置５３０を通して一次ＤＡＳＤ５３２にレコードを書き込む。このレコードの複写は、その後、一次記憶制御装置５３０によって二次記憶制御装置５４０に転送され、その二重ペアの二次ＤＡＳＤ５４２に記憶される。
【００４６】
ホスト・プロセッサにおいて走る前記災害回復用アプリケーション・プログラムは記憶サブシステムにＩ／Ｏオペレーションを発生する。Ｉ／Ｏオペレーションの例は、ＤＡＳＤからの読取り、ＤＡＳＤへの書込み、及びデータの転送を必要としないＤＡＳＤに対する他のコマンドである。このアプリケーションは、他のＩ／Ｏオペレーションを条件としないＩ／Ｏオペレーション、即ち独立Ｉ／Ｏオペレーション、又は他のＩ／Ｏオペレーションを条件とするＩ／Ｏオペレーション、即ち従属Ｉ／Ｏオペレーション、を発生することができる。従属Ｉ／Ｏの例として、アプリケーションは、一次ＤＡＳＤ５３２（ボリューム、シリンダなど）にレコードを書き込む第１のＩ／Ｏを発生し、しかる後、そのレコード指示のインデックスを他の一次ＤＡＳＤ５３４（ボリューム、シリンダなど）に書き込む第２のＩ／Ｏを発生してもよい。この場合、第２のＩ／Ｏが従属Ｉ／Ｏになる。
【００４７】
従属Ｉ／Ｏは、データ処理システムが多数のサブシステムに亘る多数の二重ペアを抑止、即ち一次ＤＡＳＤ記憶レコードの二次ＤＡＳＤへの複写オペレーションを終了、しようとする時に問題を生じることがある。その問題は、従属Ｉ／Ｏオペレーションである第２Ｉ／Ｏに対する二重ペア５３４、５４４を抑止する前に書込みレコードの指示インデックスがすでに一次ＤＡＳＤ５３４から二次ＤＡＳＤ５４４への複写を完了しているが、書込みレコード自体が未だ一次ＤＡＳＤ５３２から二次ＤＡＳＤ５４２への複写を完了していないのに第１Ｉ／Ｏに対する二重ペア５３２、５４２を抑止する場合に生じる。この例では、二次ＤＡＳＤ５４４及び５４２上の複写済みレコード、即ちインデックス及び前記レコード自体、はシーケンス整合した順序で同期されていないことになる。というのは、書込みレコードの指示インデックスが二次ＤＡＳＤ５４４に複写済みになっているが、書込みレコード自体は二次ＤＡＳＤ５４２に未だ複写されていないからである。従って、装置毎の制御の必要性のために多数の記憶サブシステムにわたるすべての二重ペアを抑止するためには、独立した一次ＤＡＳＤ記憶レコードの二次ＤＡＳＤへの複写オペレーションが完了しいない限り、それに従属関係の一次ＤＡＳＤ記憶レコードの二次ＤＡＳＤへの複写オペレーションが実行できないことを保証することが必要である。
これを満たすために、すべての二重ペアは、抑止する前に、静止状態であることが必要である。この状態は静止コマンドによりもたらされる。
【００４８】
図６を参照すると、二次装置におけるデータがシーケンス整合した順序で同期したままであるように多数の二重ペアを抑止するための方法を説明する流れ図が示される。ステップ６１０において、ホスト・プロセッサは指定の二重ペア、例えば第１の二重ペア、に対する静止二重ペア・コマンドを記憶制御装置に発生する。記憶制御装置はそのコマンドを受け、前記第１の二重ペアを静止させる。前述したように、二重ペアの静止は、進行中の何れの現在のＩ／Ｏオペレーションも完了することを可能にし、前記第１の二重ペアに対する如何なる将来のＩ／Ｏオペレーションも記憶制御装置又はホスト・プロセッサにおいて待ち行列化させる。ステップ６２０は、更なる二重ペア、例えば第２の二重ペア、を静止する必要があるかどうかを決定する。それが肯定される場合、ステップ６１０に戻り、前記第１の二重ペアの場合と同様に、記憶制御装置は静止二重ペア・コマンドを受け、前記第２の二重ペアを静止させる。この静止動作は更なる二重ペアの各々に対して繰り返される。それが否定される場合、ステップ６３０は、すべての二重ペアが静止させられそして二重ペアの二次ＤＡＳＤ間における複写済みデータが一次ＤＡＳＤ間の複写元データに関してシーケンス整合した順序で同期化されることを表す。二次ＤＡＳＤにおけるシーケンス整合性を得る手順の詳細が図７に示される。
【００４９】
ステップ６４０において、ホスト・プロセッサは指定された、例えば第１の、二重ペアに対する抑止二重ペア・コマンドを記憶制御装置に発生する。記憶制御装置はそのコマンドを受け取り、第１の二重ペアを抑止する。第１の二重ペアを抑止することはその二重ペアの静止を解除し、一次システム・アプリケーションの読取り及び書込みが二重ペアの一次ＤＡＳＤに再開することを可能にする。一方、抑止された状態は、これら書込まれたレコード変更を二重ペアの二次ＤＡＳＤに複写することを妨げる。ホスト・プロセッサから一次ＤＡＳＤへのその後の書込みオペレーションは記憶制御装置によって二次ＤＡＳＤに複写されない。代わりに、記憶制御装置は、ホスト・プロセッサからの「二重ペアの終了」コマンドに応答して二重ペアを終了させるか、或いはその後の書込みオペレーションの物理的ＤＡＳＤアドレス、即ち、特定の一次ＤＡＳＤにおける物理的ロケーションをレコードすることができる。二重ペアを終了する場合、その二重ペアが抑止された後に一次ＤＡＳＤに書込まれたレコードは、その二重ペアがその後に再確立される時には二次ＤＡＳＤに複写されないであろう。しかし、二重ペアが変更レコーディングのオプション付きで抑止される場合、その二重ペアが抑止された後に一次ＤＡＳＤに書き込まれたレコードは、その二重ペアがその後に再確立される時、二次ＤＡＳＤに複写されるであろう。
【００５０】
ステップ６５０は、更なる、例えば第２の、二重ペアが抑止される必要があるかどうかを決定する。それが肯定される場合、ステップ６４０に戻り、前記第１の二重ペアの抑止の場合と同様に、第２の二重ペアを抑止する。更なる二重ペアの各々に対して前記抑止動作が繰り返される。それが否定される場合、ステップ６６０は、すべての二重ペアが抑止されそしてその二重ペアの二次ＤＡＳＤにおけるデータがシーケンス整合順序で同期化されることを表し、ホスト・プロセッサにおけるアプリケーションが一次ＤＡＳＤを使用して走ろうとしていることを表す。
【００５１】
図７は、二重ペアを静止させるために取られるステップを表す流れ図を示す。ステップ７１０は、ホスト・プロセッサからの静止二重ペア・コマンドが記憶制御装置において受信されたかどうかを決定する。そのようなコマンドが受信されなかった場合、静止二重ペア・プロセスは終了する。それが肯定された場合、記憶制御装置は静止二重ペア・コマンドに応答してその指定された二重ペアの一次ＤＡＳＤに特有な長いビジー・フラッグをセットする。ステップ７２０は、記憶制御装置が、静止コマンドの前に開始し且つ現在進行中の二重ペアに対する何れの書込みオペレーションを完了させることを表す。ステップ７３０において、長いビジー・フラッグは、ホスト・プロセッサによる二重ペアへのその後のＩ／Ｏリクエストに応答して、ホスト・プロセッサへの長いビジー信号を生じるように記憶制御装置に指示する。従って、その長いビジー信号は、長いビジー・オペレーションが終了するまで、ホスト・プロセッサからのその後のＩ／Ｏオペレーションをホスト・プロセッサにおいて待ち行列化させる。この待ち行列化は記憶制御装置においても生じ得るが、ホスト・プロセッサはよりよい待ち行列プラットフォームを与える。
【００５２】
図６及び図７に示された方法は、図５の構成を使用して説明可能である。ホスト・プロセッサ５０１は、記憶サブシステム５０３の一次ＤＡＳＤ５３４に第１Ｉ／Ｏを書き込み、しかる後、記憶サブシステム５０３の一次ＤＡＳＤ５３２に第２Ｉ／Ｏ、即ち、従属Ｉ／Ｏを書き込む。そこで、ホスト・プロセッサ５０１は、記憶サブシステム５０２、５０３、５０４における６つの二重ペアすべてに対して連続した静止二重ペア・コマンドを発生する。二重ペア５３４、５４４に対するその静止コマンドは、二重ペア５３２、５４２に対する静止コマンドの前に発生される必要はない。
【００５３】
二重ペア５３２、５４２が静止させる時、二重ペア５３４、５４４に対する第１Ｉ／Ｏは次の３つの可能な状態のうちのどれかにある。即ち、
（１）そのＩ／Ｏは、一次ＤＡＳＤ５３４及び二次ＤＡＳＤ５４４の両方に対して完了可能である。
（２）そのＩ／Ｏは、記憶制御装置５１０によって長いビジーに保持可能であり、従って、一次ＤＡＳＤ５３４或いは二次ＤＡＳＤ５４４に未だ転送可能ではない。
（３）そのＩ／Ｏは、一次ＤＡＳＤ５３４に対して進行中であり、記憶制御装置５３０が長いビジーでもってその後のＩ／Ｏを締め出す前に二次ＤＡＳＤ５４４に対して完了可能である。
【００５４】
第１Ｉ／Ｏに対して状態２が生じた場合、二重ペア５３２、５４２に対する第２Ｉ／Ｏは、それが従属Ｉ／Ｏであり且つ第１Ｉ／Ｏの完了を条件とされないので発生されなかったであろう。従って、第１Ｉ／Ｏ及び第２Ｉ／Ｏ共、二重ペアを静止させる前に転送されないであろうし、二次ＤＡＳＤ５３４及び５４２はシーケンス整合性を維持するであろう。
【００５５】
第１Ｉ／Ｏに対して状態１又は３の何れかが生じた場合、第２Ｉ／Ｏは第１Ｉ／Ｏと同様に次の３つの可能な状態のうちのどれかにある。即ち、
（Ａ）そのＩ／Ｏは、一次ＤＡＳＤ５３２及び二次ＤＡＳＤ５４２の両方に対して完了可能である。
（Ｂ）そのＩ／Ｏは、記憶制御装置５３０によって長いビジーに保持可能であり、従って、一次ＤＡＳＤ５３２或いは二次ＤＡＳＤ５４２には未だ転送可能ではない。
（Ｃ）そのＩ／Ｏは、一次ＤＡＳＤ５３２に対して進行中であり、記憶制御装置５３０が長いビジーでもってその後のＩ／Ｏを締め出す前に二次ＤＡＳＤ５４２に対して完了可能である。
従属Ｉ／Ｏに対して状態Ｂが生じた場合、その従属Ｉ／Ｏはそれの静止コマンド前に二重ペア５３２、５４２に転送されないが、第１Ｉ／Ｏはそれの静止コマンドの前に二重ペア５３４、５４４に対して完了する。しかし、これは二次ＤＡＳＤ５４４及び５４２においてシーケンス整合性を維持する。
【００５６】
第１Ｉ／Ｏに対する状態１又は３と関連して状態Ａ又はＣが従属Ｉ／Ｏに対して生じた場合、シーケンス整合性が二次ＤＡＳＤ５４４及び５４２において維持される。何れの組合せにおいても、第１Ｉ／Ｏ及び従属Ｉ／Ｏはそれぞれの二次ＤＡＳＤ５４４及び５４２に対して完了する。その状況は、従属Ｉ／Ｏがそれの二次ＤＡＳＤ５４２に複写され且つ第１Ｉ／Ｏがそれの二次ＤＡＳＤ５４４に複写されない場合には生じない。従って、二次ＤＡＳＤは同期化され、一次ＤＡＳＤが更新されたシーケンスと整合した順序で維持される。
【００５７】
この例は同期的遠隔複写構成における二重ペアを扱ったけれども、その方法はサブシステム５０１のような二重複写構成における二重ペアにも、及び遠隔複写構成或いは二重複写構成における多数の記憶制御装置にまたがる二重ペアにも適用する。
【００５８】
本発明をその好適な実施例に関連して詳しく示し且つ説明したけれども、本発明の精神及び技術範囲を逸脱することなく、形式及び詳細における種々の変更を行うことが可能であることは当業者には明らかなことであろう。例えば、レコード更新のフォーマットは決定的なものではなく、そのようなフォーマットはＣＫＤ、ＥＣＫＤ、固定ブロックアーキテクチャ（ＦＢＡ）等であってもよい。更に、記憶装置はＤＡＳＤ装置に限定されることを意味するものではない。
【００５９】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）レコード及びレコード更新を書き込むこと及びバックアップの目的で前記レコード及びレコード更新を複写することができるデータ記憶システムにおいて、前記データ記憶システムはレコード及びレコード更新を発生するアプリケーションを走らせるホスト・プロセッサと、一次データ記憶装置及び二次データ記憶装置を有する第１二重ペアと、一次データ記憶装置及び二次データ記憶装置を有する第２二重ペアと、前記ホスト・プロセッサと前記第１二重ペア及び第２二重ペアの前記一次データ記憶装置との間に接続された記憶制御装置とを含み、レコード及びレコード更新の複写が進行中である時に第１及び第２二重ペアを抑止するための方法にして、
前記アプリケーションから前記第１二重ペアの一次データ記憶装置への将来のレコード及びレコード更新の書込みを禁止するために前記ホスト・プロセッサからの初期静止コマンドに応答して前記記憶制御装置によって前記第１二重ペアを静止させるステップと、
前記アプリケーションから前記第２二重ペアの一次データ記憶装置への将来のレコード及びレコード更新の書込みを禁止するために及びシーケンス整合した順序における前記第１及び第２二重ペアの前記二次データ記憶装置に複写されたレコード及びレコード更新を同期化するために前記ホスト・プロセッサからのその後の静止コマンドに応答して前記記憶制御装置によって前記第１二重ペアを静止させるステップと、
前記アプリケーションから前記第１及び第２二重ペアの一次データ記憶装置に送られたレコード及びレコード更新を前記第１及び第２二重ペアの二次データ記憶装置に前記記憶制御装置によって複写することを禁止するために、前記記憶制御装置が前記ホスト・プロセッサから抑止コマンドを受けることによって前記第１及び第２二重ペアを抑止するステップと、
前記第１及び第２二重ペアが抑止されること及びその後のレコード及びレコード更新が前記第１及び第２二重ペアの前記二次データ記憶装置に前記レコードを複写することなく前記第１及び第２二重ペアを前記一次データ記憶装置に書込み可能であることを前記記憶制御装置によって前記アプリケーションに信号するステップと、
を含む方法。
（２）前記静止させるステップは前記アプリケーションから前記二重ペアの一次データ記憶装置へのレコード及びレコード更新のその後の書込みを禁止するための長いビジー信号を前記記憶制御装置から前記ホスト・プロセッサに発生するステップを含むことを特徴とする上記（１）に記載の方法。
（３）前記記憶制御装置は、前記二重ペアが再設定される場合、前記ホスト・プロセッサから前記一次データ記憶装置に転送されたその後のレコード及びレコード更新が前記二次データ記憶装置へのその後の複写のためにマークされないように前記二重ペアを終了させることを特徴とする上記（１）に記載の方法。
（４）前記記憶制御装置は、前記二重ペアが再設定される場合、前記レコード及びレコード更新が前記二次データ記憶装置に複写されるように、前記二重ペアの抑止の後に前記ホスト・プロセッサから前記一次データ記憶装置に転送されたレコード及びレコード更新をマークすることを特徴とする上記（１）に記載の方法。
（５）レコード及びレコード更新を第１及び第２二重ペアに複写することができるデータ処理システムにおいてレコード及びレコード更新の複写が進行中である時に各二重ペアを抑止するための記憶制御装置にして、前記データ記憶システムはアプリケーションを走らせるホスト・プロセッサを含み、前記第１及び第２二重ペアの各々は一次データ記憶装置及び二次データ記憶装置を有し、前記記憶制御装置はホスト・プロセッサと前記第１及び第２二重ペアの前記一次データ記憶装置との間に接続され、前記アプリケーションはレコード及びレコード更新を発生し及び静止二重ペア・コマンド及び抑止二重ペア・コマンドを発生し、前記一次データ記憶装置は前記レコード及びレコード更新を記憶し、前記二次データ記憶装置は前記レコード及びレコード更新の複写を記憶するものにおいて、
前記ホスト・プロセッサと前記第１及び第２二重ペアとの間のレコード及びレコード更新を指示するための記憶装置パスであって、前記アプリケーションからの前記静止二重ペア・コマンドに応答して前記第１及び第２二重ペアを静止させ、前記レコード及びレコード更新が前記二重ペアの各々における前記二次データ記憶装置の各々に複写され且つシーケンス整合順序で同期化されるように前記アプリケーションからの前記抑止二重ペア・コマンドに応答して前記第１及び第２二重ペアを抑止する記憶装置パスと、
前記記憶装置パスに接続され、前記二重ペアの二次データ記憶装置に複写されるべき前記レコード及びレコード更新を記憶するためのメモリと、
を含む記憶制御装置。
（６）前記メモリはキャッシュ・メモリであることを特徴とする上記（５）に記載の記憶制御装置。
（７）レコード及びレコード更新をシーケンス整合した順序で記憶するための不揮発性記憶装置（ＮＶＳ）を含み、前記レコード及びレコード更新はその後前記二重ペアの二次データ記憶装置に複写されることを特徴とする上記（５）に記載の記憶制御装置。
（８）前記二重ペアが抑止される時、前記レコード更新を受ける前記二重ペアと関連した物理的アドレスをマークするために前記ＮＶＳにおけるビットマップを含み、前記レコード更新は前記二重ペアが抑止されている時に前記一次データ記憶装置に書き込まれ、一旦前記二重ペアが再設定されると前記二次データ記憶装置に複写されることを特徴とする上記（７）に記載の記憶制御装置。
（９）前記記憶装置パスは、前記ホスト・プロセッサから前記二重ペアの一次データ記憶装置に現在書き込まれている前記レコード更新が完了することを可能にするために、及びその後のレコード更新が前記ホスト・プロセッサから前記二重ペアの一次データ記憶装置に書き込まれることを禁止するために、前記静止二重ペア・コマンドに応答して長いビジー信号を前記ホスト・プロセッサに発生することを特徴とする上記（５）に記載の記憶制御装置。
（１０）複数個のレコード更新を発生するアプリケーションを走らせ、及び静止二重ペア・コマンド及び抑止二重ペア・コマンドを発生するホスト・プロセッサと、
前記ホスト・プロセッサに接続されたチャネルと、
各々が一次データ記憶装置及び二次データ記憶装置を有する第１及び第２二重ペアであって、前記一次データ記憶装置の各々は複数個のレコード更新を記憶し、前記二次データ記憶装置の各々は前記複数個のレコード更新の複写を記憶するものと、
前記チャネルによって前記ホスト・プロセッサに接続され、更に、前記第１及び第２二重ペアの一次データ記憶装置の各々に接続された記憶制御装置と、
を含み、前記記憶制御装置は、
前記ホスト・プロセッサから転送された複数個のレコード更新を最初に記憶するためのメモリと、
前記チャネルと前記一次データ記憶装置の各々との間に接続された記憶装置パスと、
を含み、
前記メモリは前記記憶装置パスに接続されること、及び
前記記憶装置パスは前記ホスト・プロセッサと前記一次データ記憶装置の間で前記メモリを介して前記複数個のレコード更新の移動を指示し、前記ホスト・プロセッサから前記静止二重ペア・コマンド及び前記抑止二重ペア・コマンドを受け取り、前記複数個のレコード更新をシーケンス整合した順序で同期化するために前記複数個のレコード更新の複写を前記二次データ記憶装置に転送すること、
を特徴とするデータ記憶システム。
（１１）前記記憶制御装置におけるメモリはキャッシュ・メモリであることを特徴とする上記（１０）に記載のデータ記憶システム。
（１２）前記記憶制御装置において前記記憶装置パスに接続された不揮発性記憶装置（ＮＶＳ）を含み、前記ＮＶＳはレコード及びレコード更新をシーケンス整合した順序で記憶すること及び前記レコード及びレコード更新は前記二重ペアの二次データ記憶装置に複写されることを特徴とする上記（１０）に記載のデータ記憶システム。
（１３）前記二重ペアの各々の各二次データ記憶装置は前記一次データ記憶装置の各々に対して遠隔の二次サイトに置かれること、及び前記二次サイトは前記一次サイトにおける前記記憶制御装置から前記レコード及びレコード更新を受けるための及び前記各二次データ記憶装置に接続された記憶制御装置を含むことを特徴とする上記（１０）に記載のデータ記憶システム。
（１４）前記二重ペアの各々における前記各二次データ記憶装置は前記一次データ記憶装置の各々に対して遠隔の二次サイトに置かれること、及び前記二次サイトは
ホスト・プロセッサと、
前記ホスト・プロセッサに接続されたチャネルと、
前記チャネルによって前記ホスト・プロセッサに接続され、更に前記各二次データ記憶装置に接続された記憶制御装置と、
を含むことを特徴とする上記（１０）に記載のデータ記憶システム。
（１５）前記記憶制御装置における前記記憶装置パスは、前記ホスト・プロセッサから前記二重ペアの一次データ記憶装置に現在書き込まれている前記レコード更新が完了することを可能にするために、及びその後のレコード更新が前記ホスト・プロセッサから前記二重ペアの一次データ記憶装置に書き込まれることを禁止するために、前記静止二重ペア・コマンドに応答して長いビジー信号を前記ホスト・プロセッサに発生することを特徴とする上記（１０）に記載のデータ記憶システム。
【図面の簡単な説明】
【図１】同期的遠隔データ・シャドウ機能を持った災害回復システムのブロック図である。
【図２】図１の災害回復システムに従って同期的遠隔複写を行うためのフローチャートである。
【図３】データ処理システムにおいて接続される記憶制御装置を更に詳細に示すブロック図である。
【図４】データ処理システムにおける記憶制御装置に接続された記憶装置パスを更に詳細に示すブロック図である。
【図５】多数のデータ記憶装置サブシステムにまたがる多数の二重ペアを示すブロック図である。
【図６】ホスト・アプリケーションから送られたすべてのデータが二次データ記憶装置において同期化されるように多数の二重ペアを抑止するための方法のフローチャートである。
【図７】図６に示された方法の静止ステップを更に詳細に示すフローチャートである。
【符号の説明】
１０  災害回復システム
１４  一次サイト
１５  二次サイト
【図１】
0003655963.tif 000002
【図２】
0003655963.tif 000003
【図３】
0003655963.tif 000004
【図４】
0003655963.tif 000005
【図５】
0003655963.tif 000006
【図６】
0003655963.tif 000007
【図７】
0003655963.tif 000008