説明

ミラー・ボリューム内の不一致を検出するための装置、システム、および方法(メタデータを使用して連続リモート・コピー内の不一致を検出するための装置、システム、および方法)

ミラー・ボリューム内の不一致を検出するための装置、システム、および方法が開示される。受信モジュールは1次記憶システムからの開始標識を受信する。開始標識は2次記憶システム内のトラック上で変更すべき第1のブロックの開始位置を含む。第1のブロックは1次記憶システム内の変更済みレコードの同一位置の第1のブロックに対応する。1次記憶システムおよび2次記憶システム上のトラックはそれぞれ不正規カウント・キー・データ(「CKD」)トラックを含む。比較モジュールは、開始標識によって示された第1のブロック位置をトラック・メタデータ内にリストされたブロック位置と比較する。トラック・メタデータは2次記憶システムの不正規CKDトラック上のユーザ・レコードを記述する。警報モジュールは、第1のブロックが2次記憶システム上のあるレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ミラー・ボリューム内の不一致を検出することに関し、詳細には、可変長レコードを有するカウント・キー・データ(「CKD:count key data」)トラックを含むデータ記憶装置のミラー・ボリューム内の不一致を検出することに関する。
【背景技術】
【0002】
多くの場合、機密データは、高度の信頼性を有するデータ記憶システムを必要とする。コンピューティング・システムは、ホストからのデータを保管するための1次システムと、1次記憶システムのデータのバックアップ・コピーを含む2次システムとを含む場合が多い。ミラー・ボリュームは、典型的には、1次ボリュームのデータと同一になる予定のデータのバックアップ・コピーを提供し、障害の場合に1次ボリュームの代わりに使用するか、またはバックアップ・データで1次ボリュームを最初期設定するためのデータのソースとして使用することができる。ピアツーピア・リモート・コピー(「PPRC:peer-to-peer remote copy」)は、典型的には、リモート・サイトの2次記憶ボリューム上のデータをミラーリングするために使用されるプロトコルである。IBM(R)のGlobal Mirror、Global Copy、およびMetro Mirrorの製品は、ピアツーピア・リモート・コピー・プロトコルの例である。(IBMは、米国、その他の国、またはその両方におけるインターナショナル・ビジネス・マシーンズ社の登録商標である。)
【0003】
PPRCまたはその他のミラー・ボリュームが初期設定されると、システムは、2次記憶システムがミラーリングすべき1次ボリュームの現行コピーを収容しているとシステム管理者が確信しているときに2次記憶システム上のデータの初期コピーの作成を迂回するオプションを含むことができる。2次記憶システム上のミラー・ボリュームが1次記憶システム上の1次ボリュームの完全なコピーである場合、システムが初期設定された後、ミラー・ボリュームは、更新が1次にコピーされた通りに更新を2次にコピーすることにより、最新状態を保持することができる。しかし、1次ボリュームの初期コピーを受信せずにミラー・ボリュームが初期設定され、ミラー・ボリュームが1次ボリュームの同一コピーではない場合、ミラー・ボリュームへの更新により、データ破損およびその他のシステム・エラーが発生する可能性がある。1つの更新は、1つまたは複数のファイルを含む場合もあれば、変更された1つまたは複数のファイルの一部分のみを含む場合もある。1つのファイルまたは更新は1つまたは複数のレコードを含むことができる。
【0004】
破損データは、更新がミラー・ボリューム上のデータ・トラックにコピーされ、その更新がレコード境界に位置合わせしていない場合に、問題になる可能性がある。たとえば、コンピューティング・システムが可変長レコードを有するCKDトラックを使用してフォーマットされたトラックを含み、1次ボリュームとミラー・ボリュームが同一ではない場合、1次ボリューム上の特定のレコードまたはレコード・グループへの更新は、ミラー・ボリューム上のレコードに位置合わせしない可能性がある。ミラー・ボリュームに更新をコピーすると、その更新によってコピーされたミラー・ボリューム上のレコードを破損する恐れがあり、エラーを引き起こす恐れがある。1次ボリュームおよびミラー・ボリューム上のデータの不一致によって引き起こされたエラーは、重大である可能性があり、2次システムが使用不能になるかまたはリブートすることを要求する可能性があり、高い信頼性を必要とするシステムでは非常に望ましくないものである。
【0005】
IBMによるTotalStorage(R)のDS8000(TM)シリーズ(モデル2107)、DS6000(TM)シリーズ(モデル1750)、およびEnterprise Storage Server(TM)(「ESS」)(モデル2105)記憶システムは、いずれも、可変長レコードを有するCKDトラックを使用してフォーマットされた、ハード・ディスク・ドライブなどのデータ記憶装置を有するシステムの例である。IBMのFiber Connectivity(「FICON」(TM))およびEnterprise System Connection(「ESCON」(TM))プロトコルは、可変長レコードを有するCKDトラックを使用するプロトコルの例である。IBMのシステムz(TM)およびシステム/390(R)コンピュータは、可変長レコードを有するCKDトラックに対して対話するためにFICONおよびESCONプロトコルを使用するプロセッサの例である。CKDトラックを有するハード・ディスク・ドライブは、CKDトラックがユーザによって定義された長さのレコードを有する可能性があるという点で、現在、一般的に使用されている典型的な固定ブロック長トラックとは異なる。各レコードは、カウント・フィールドと、任意選択のキー・フィールドと、任意選択のデータ・フィールドとを含む。カウント・フィールドは、レコードのキー・フィールドおよびデータ・フィールドの長さに関する情報を含む。(TotalStorage、システムz、およびシステム/390は、米国、その他の国、またはその両方におけるインターナショナル・ビジネス・マシーンズ社の商標(TM)または登録商標(R)である。)
【0006】
CKDトラックは、正規の場合もあれば、不正規の場合もある。正規トラックを有するディスクは、トラック上の各レコードについて同じ長さであるCKDフィールドを有するレコードを含む。正規トラックは、特定のトラックに割り当てられたCKDフィールド長を記述するTrack Format Descriptor(「TFD」)メタデータによって記述することができる。TFDメタデータは、トラック上の特定のレコードの位置を突き止めるために使用することができる。また、1次記憶システムおよび2次記憶システム上のデータ・フォーマットの不一致が存在するかどうかを判別するために、TFDを更新とともに送信し、2次データ・システム上のTFDと比較することもできる。典型的には、1つのレコードは、整数個のセクタを占有する。
【0007】
不正規トラックは、トラック上で可変長のCKDフィールドを有するレコードを含む。たとえば、不正規CKDトラックは、6つのセクタからなる他のレコードに隣接する、4つのセクタからなる1つのレコードを含むことができる。不正規CKDトラック内の各レコードは異なる長さになる可能性があり、1つのTFDは1つのキー・フィールド長と1つのデータ・フィールド長のみを記述するので、すべてのレコードを記述するには1つのTFDでは不十分である。正規CKDトラックの場合、トラック上のすべてのキー・フィールドが同じ長さであり、トラック上のすべてのデータ・フィールドが同じ長さであるので、1つのTFDで十分である。不正規CKDトラックの場合、各レコードのフィールド・サイズを記述するメタデータを使用して、レコード位置およびサイズを記述する。このメタデータは、不正規CKDトラックを有するディスクの各トラックのセクタ0にキャッシュ・レコード制御ブロック(「CRCB:cache record control block」)が置かれる形になる可能性がある。典型的には、レコード0は、固定長、通常は48バイトであり、各トラックのセクタ0の一部分を占有する。CRCBは、典型的には、セクタ0の未使用部分を占有するテーブルであり、トラック上の各レコードのキー・フィールドおよびデータ・フィールドの開始セクタおよびサイズなどの情報を含む。
【発明の概要】
【発明が解決しようとする課題】
【0008】
CRCBは、1次ボリューム上のレコードがミラー・ボリューム上のレコードに位置合わせしているかどうかを検出するために十分な情報を含む。しかし、ミラー・ボリュームを含む2次記憶システムに対して更新とともにCRCBを送信することは、CRCBのサイズならびにCRCBの送信によって引き起こされる関連パフォーマンスの低下のために望ましくないことである。加えて、CRCBを送信すると、たとえば、2次記憶システムがCRCBを予期しておらず、更新とともにCRCBを受信した場合に、互換性の問題を引き起こす可能性もある。
【課題を解決するための手段】
【0009】
第1の態様によれば、ミラー・ボリューム内の不一致を検出するための装置が提供され、この装置は、1次記憶システムからの開始標識(start indicator)を2次記憶システムで受信するように構成された受信モジュールであって、開始標識が2次記憶システム内のデータ記憶装置のトラック上で変更すべき第1のブロックの位置の表示を含み、2次記憶システムの第1のブロックが1次記憶システム内のデータ記憶装置のトラック上の少なくとも1つの変更済みレコードの同一位置の第1のブロックに対応し、1次記憶システムおよび2次記憶システム上のトラックがそれぞれ不正規カウント・キー・データ(「CKD」)トラックを含む受信モジュールと、開始標識によって示された第1のブロック位置をトラック・メタデータ内にリストされたブロック位置と比較するように構成された比較モジュールであって、トラック・メタデータが2次記憶システムの不正規CKDトラック上のユーザ・レコードの長さおよび位置を記述する比較モジュールと、トラック・メタデータ内に示される、開始標識によって示された第1のブロックが2次記憶システム上のレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生するように構成された警報モジュールとを含む。
【0010】
好ましくは、不正規データ・トラックを有する1次記憶システムおよび2次記憶システムに関するデータ・ボリューム不一致を検出するための装置、システム、および方法が提供される。有利なことに、このような装置、システム、および方法は、好ましくは、1次記憶システムから2次記憶システムに送信された更新に含まれるレコードが、その更新が2次記憶システムにコピーされる位置にあるレコードと互換性があるかどうかを判別する効率的な手段を提供することになるであろう。
【0011】
好ましくは、当技術分野の上述の短所の多くまたは全部を克服する、ミラー・ボリューム内の不一致を検出するための装置、システム、および方法が提供される。
【0012】
ミラー・ボリューム内の不一致を検出するためのこの装置には、好ましくは、データ不一致を識別し、警報を発生するという必要なステップを機能的に実行するように構成された複数のモジュールが提供される。上記の諸実施形態におけるこれらのモジュールは、1次記憶システムからの開始標識を2次記憶システムで受信する受信モジュールを含む。開始標識は、好ましくは、2次記憶システム内のデータ記憶装置のトラック上で変更すべき第1のブロックの位置の表示を含む。2次記憶システムの第1のブロックは、好ましくは、1次記憶システム内のデータ記憶装置のトラック上の少なくとも1つの変更済みレコードの同一位置の第1のブロックに対応する。1次記憶システムおよび2次記憶システム上のトラックはそれぞれ、好ましくは、不正規カウント・キー・データ(「CKD」)トラックを含む。
【0013】
この装置は、好ましくは、開始標識によって示された第1のブロック位置をトラック・メタデータ内にリストされたブロック位置と比較する比較モジュールであって、トラック・メタデータが、好ましくは、2次記憶システムの不正規CKDトラック上のユーザ・レコードの長さおよび位置を記述する比較モジュールを含む。この装置は、好ましくは、トラック・メタデータ内に示される、開始標識によって示された第1のブロックが2次記憶システム上のレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生する警報モジュールを含む。
【0014】
一実施形態では、受信モジュールは、1次記憶システムからブロック標識も受信する。この実施形態のブロック標識は、変更すべき2次記憶システム上の同一位置のブロックに対応する1次記憶システムの少なくとも1つの変更済みレコードによって占有されたブロックの量を含む。この実施形態では、比較モジュールはさらに、開始標識およびブロック標識によって示される、2次記憶システム上で変更すべきブロックを、トラック・メタデータ内にリストされたブロック位置と比較する。また、この実施形態では、警報モジュールはさらに、開始標識およびブロック標識によって示される、2次記憶システム上で変更すべきブロックのうちの終了ブロックが、トラック・メタデータ内に示される、2次記憶システム上のレコードの終了ブロックに位置合わせしていないことに応答して、警報を発生する。
【0015】
一実施形態では、開始標識およびブロック標識はビットマップに含まれる。他の実施形態では、ブロック標識によって示されるブロックの量はさらに、変更済みレコードが非順次である場合に、2次記憶システムにコピーすべき1次記憶システム上の複数の変更済みレコードに関するブロック位置に対応する2次記憶システムのデータ記憶装置のトラック上の非連続ブロックの位置および量を表す。他の実施形態では、警報モジュールが変更済みレコードに対応する受信された開始標識に関する警報を発生しなかったことに応答して、1次記憶システム上の少なくとも1つの変更済みレコードを2次記憶システム上の同一位置にコピーするためのコピー・モジュールが含まれる。
【0016】
一実施形態では、1つのブロックは、1つのセクタ、複数セクタのクラスタ、複数バイトのグループ、または複数ビットのグループである。他の実施形態では、トラック・メタデータはキャッシュ・レコード制御ブロック(「CRCB」)を含む。この装置はさらに、一実施形態では、警報モジュールによって発生された警報に応答して、2次記憶システム内のデータ記憶装置へのレコードのコピーを停止するコピー停止モジュールを含むように構成される。他の一実施形態では、この装置は、警報に応答して1次記憶システムに通知を送信する通知モジュールを含むように構成することができる。この通知は、2次記憶システムへのレコードの送信を停止するためのメッセージを含む。
【0017】
ミラー・ボリューム内の不一致を検出するための本発明のシステムも提示される。このシステムは、好ましくは、コンピュータ・ネットワークと、不正規CKDトラックによって構成された少なくとも1つのデータ記憶装置を有する1次記憶システムと、コンピュータ・ネットワークにより1次記憶システムと通信状態にある2次記憶システムによって実施される。2次記憶システムは、好ましくは、1次記憶システムのデータ記憶装置上のデータのミラー・コピーを保管するように構成される。また、2次記憶システムは、好ましくは、不正規CKDトラックによって構成された少なくとも1つのデータ記憶装置も含む。
【0018】
特に、2次記憶システムは、一実施形態では、1次記憶システムからの開始標識を2次記憶システムで受信する受信モジュールを含む。開始標識は、好ましくは、2次記憶システム内の不正規CKDトラックを有するデータ記憶装置のトラック上で変更すべき第1のブロックの位置の表示を含む。2次記憶システムの第1のブロックは、好ましくは、1次記憶システム内の不正規CKDトラックを有するデータ記憶装置のトラック上の少なくとも1つの変更済みレコードの同一位置の第1のブロックに対応する。
【0019】
2次システムは、好ましくは、開始標識によって示された第1のブロック位置をトラック・メタデータ内にリストされたブロック位置と比較する比較モジュールを含む。トラック・メタデータは、好ましくは、2次記憶システムの不正規CKDトラック上のユーザ・レコードの長さおよび位置を記述する。2次システムは、好ましくは、トラック・メタデータ内に示される、開始標識によって示された第1のブロックが2次記憶システム上のレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生する警報モジュールを含む。
【0020】
一実施形態では、受信モジュールは、1次記憶システムからブロック標識も受信する。この実施形態のブロック標識は、変更すべき2次記憶システム上の同一位置のブロックに対応する1次記憶システムの少なくとも1つの変更済みレコードによって占有されたブロックの量を含む。この実施形態では、比較モジュールはさらに、開始標識およびブロック標識によって示される、2次記憶システム上で変更すべきブロックを、トラック・メタデータ内にリストされたブロック位置と比較する。この実施形態では、警報モジュールはさらに、開始標識およびブロック標識によって示される、2次記憶システム上で変更すべきブロックのうちの終了ブロックが、トラック・メタデータ内に示される、2次記憶システム上のレコードの終了ブロックに位置合わせしていないことに応答して、警報を発生する。一実施形態では、1次記憶システムおよび2次記憶システムは、ピアツーピア・リモート・コピー(「PPRC」)システムの一部である。
【0021】
また、ミラー・ボリューム内の不一致を検出するための本発明の方法も提示される。開示された諸実施形態の方法は、実質的に、上記の装置およびシステムの動作に関して上記で提示された諸機能を実行するために必要なステップを含む。一実施形態では、この方法は、1次記憶システムからのビットマップを2次記憶システムで受信するステップを含む。ビットマップは、好ましくは、1次記憶システム上の不正規CKDトラック上の少なくとも1つの変更済みレコードのセクタに相関するビットを含む。この少なくとも1つの変更済みレコードは、好ましくは、2次記憶システム上の対応する不正規CKDトラック上の同一位置にコピーする予定のものである。
【0022】
この方法は、好ましくは、ビットマップ内に示されたセクタ位置を、2次記憶システム上のCRCB内にリストされた対応するセクタ位置と比較するステップを含む。この方法は、好ましくは、ビットマップ内に示される、少なくとも1つのレコードの開始セクタが、CRCB内に示される、2次記憶システム上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生するステップを含む。一実施形態では、この方法は、ビットマップ内に示される、少なくとも1つのレコードの終了セクタが、CRCB内に示される、2次記憶システム上のレコードの終了セクタに位置合わせしていないことに応答して、警報を発生するステップを含む。
【0023】
一実施形態では、この方法は、開始セクタからそのトラックの終わりまでのデータを消去する書き込みフォーマット・コマンドの一部として、不正規CKDトラック内の開始セクタ位置およびゼロを含むビットマップを受信するステップを含む。また、ビットマップ内に示されたセクタ位置を、CRCB内にリストされた対応するセクタ位置と比較するステップは、好ましくは、開始セクタ位置をCRCB内の対応するセクタ位置と比較するステップを含む。加えて、警報を発生するステップは、好ましくは、CRCB内に示される、開始セクタが2次記憶システム上のレコードの開始位置に位置合わせしていないことに応答して、警報を発生するステップを含む。他の実施形態では、この方法は、警報に応答してエラーを生成するステップを含む。
【0024】
また、ミラー・ボリューム内の不一致を検出するための本発明の他の方法も提示される。開示された諸実施形態の方法は、実質的に、上記の装置およびシステムの動作に関して上記で提示された諸機能を実行するために必要なステップを含む。一実施形態では、この方法は、1次記憶システム上の不正規CKDトラック上の少なくとも1つのレコードによって占有されたセクタに相関するビットを含むビットマップを生成するステップを含む。この少なくとも1つのレコードは、この実施形態では、2次記憶システムの不正規CKDトラック上の同一位置にコピーする予定のものである。この方法は、好ましくは、ビットマップを2次記憶システムに送信するステップを含む。
【0025】
2次記憶システムは、好ましくは、ビットマップ内に示されたセクタ位置を、2次記憶システム上のCRCB内にリストされた対応するセクタ位置と比較し、ビットマップ内に示される、少なくとも1つのレコードの開始セクタが、CRCB内に示される、2次記憶システム上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生するように構成される。一実施形態では、2次システムは、ビットマップ内に示される、少なくとも1つのレコードの終了セクタが、CRCB内に示される、2次記憶システム上のレコードの終了セクタに位置合わせしていないことに応答して、警報を発生するように構成される。他の実施形態では、この方法は、2次記憶システムからレコード不一致通知を受信したことに応答して、2次記憶システムへのレコードのコピーの送信を停止するステップを含む。
【0026】
本明細書全体を通して特徴、利点、または同様の言語に言及する場合、本発明によって実現可能な特徴および利点のすべてが本発明の任意の単一実施形態に存在しなければならないかまたは存在していることを意味するわけではない。むしろ、特徴および利点に言及する言語は、一実施形態に関連して記載した具体的な特徴、利点、または特性が本発明の少なくとも1つの実施形態に含まれることを意味するものと理解される。したがって、本明細書全体を通して特徴、利点、および同様の言語を考察する場合、同じ実施形態に言及する可能性があるが、必ずしも同じ実施形態に言及しているわけではない。
【0027】
さらに、本発明の上記の特徴、利点、および特性は、任意の適切な方法で1つまたは複数の実施形態に組み合わせることができる。当業者であれば、特定の一実施形態の具体的な特徴または利点のうちの1つまたは複数がなくても、本発明を実施可能であることを認識するであろう。その他の事例では、本発明のすべての実施形態に存在できるわけではない追加の特徴および利点が特定の諸実施形態で認識することができる。
【0028】
第2の態様によれば、ミラー・ボリューム内の不一致を検出するためのシステムが提供され、このシステムは、コンピュータ・ネットワークと、不正規カウント・キー・データ(「CKD」)トラックによって構成された少なくとも1つのデータ記憶装置を含む1次記憶システムと、コンピュータ・ネットワークにより1次記憶システムと通信状態にある2次記憶システムとを含み、2次記憶システムは、1次記憶システムのデータ記憶装置上のデータのミラー・コピーを保管するように構成され、不正規CKDトラックによって構成された少なくとも1つのデータ記憶装置を含み、2次記憶システムは、1次記憶システムからの開始標識を2次記憶システムで受信するように構成された受信モジュールであって、開始標識が2次記憶システム内の不正規CKDトラックを有するデータ記憶装置のトラック上で変更すべき第1のブロックの位置の表示を含み、2次記憶システムの第1のブロックが1次記憶システム内の不正規CKDトラックを有するデータ記憶装置のトラック上の少なくとも1つの変更済みレコードの同一位置の第1のブロックに対応する受信モジュールと、開始標識によって示された第1のブロック位置をトラック・メタデータ内にリストされたブロック位置と比較するように構成された比較モジュールであって、トラック・メタデータが2次記憶システムの不正規CKDトラック上のユーザ・レコードの長さおよび位置を記述する比較モジュールと、トラック・メタデータ内に示される、開始標識によって示された第1のブロックが2次記憶システム上のレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生するように構成された警報モジュールとを含む。
【0029】
第3の態様によれば、ミラー・ボリューム内の不一致を検出するためにプログラミングされたコンピュータ使用可能プログラム・コードを有するコンピュータ可読媒体を含むコンピュータ・プログラム(computerprogram product)が提供され、このコンピュータ・プログラムの動作は、1次記憶システムからのビットマップを2次記憶システムで受信するステップであって、ビットマップが1次記憶システム上の不正規カウント・キー・データ(「CKD」)トラック上の少なくとも1つの変更済みレコードのセクタに相関するビットを含み、少なくとも1つの変更済みレコードが2次記憶システム上の対応する不正規CKDトラック上の同一位置にコピーする予定のものであるステップと、ビットマップ内に示されたセクタ位置を、2次記憶システム上のキャッシュ・レコード制御ブロック(「CRCB」)内にリストされた対応するセクタ位置と比較するステップと、ビットマップ内に示される、少なくとも1つのレコードの開始セクタが、CRCB内に示される、2次記憶システム上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生するステップとを含む。
【0030】
第4の態様によれば、ミラー・ボリューム内の不一致を検出するための方法が提供され、この方法は、1次記憶システム上の不正規カウント・キー・データ(「CKD」)トラック上の少なくとも1つのレコードによって占有されたセクタに相関するビットを含むビットマップを生成するステップであって、少なくとも1つのレコードが2次記憶システムの不正規CKDトラック上の同一位置にコピーする予定のものであるステップと、ビットマップを2次記憶システムに送信するステップとを含み、2次記憶システムは、ビットマップ内に示されたセクタ位置を、2次記憶システム上のキャッシュ・レコード制御ブロック(「CRCB」)内にリストされた対応するセクタ位置と比較し、ビットマップ内に示される、少なくとも1つのレコードの開始セクタが、CRCB内に示される、2次記憶システム上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生するように構成される。
【0031】
本発明のこれらの特徴および利点は、以下の説明および特許請求の範囲からより完全に明らかになるか、または以下に示す本発明の実施によって学習することができる。
【0032】
次に、一例としてのみ、添付図面に関連して、本発明の諸実施形態について説明する。
【図面の簡単な説明】
【0033】
【図1】ミラー・ボリューム内のデータ不一致を検出するためのシステムの一実施形態を例示する概略ブロック図である。
【図2】ミラー・ボリューム内のデータ不一致を検出するための2次記憶システムに関連する装置の一実施形態を例示する概略ブロック図である。
【図3】ミラー・ボリューム内のデータ不一致を検出するための2次記憶システムに関連する装置の他の実施形態を例示する概略ブロック図である。
【図4】ミラー・ボリューム内のデータ不一致を検出するための1次記憶システムに関連する装置の一実施形態を例示する概略ブロック図である。
【図5】ミラー・ボリューム内のデータ不一致を検出するための2次記憶システムに関連する方法の一実施形態を例示する概略流れ図である。
【図6】ミラー・ボリューム内のデータ不一致を検出するための1次記憶システムに関連する方法の一実施形態を例示する概略流れ図である。
【図7】ミラー・ボリューム内のデータ不一致を検出するための2次記憶システムに関連する方法の特定の一実施形態を例示する概略流れ図である。
【図8】本発明の一実施形態により、1次記憶システムから送信されたコピー済みレコードおよび関連ビットマップと、2次記憶システムの対応するセクタおよび関連CRCBの一例とを例示するブロック図である。
【図9】本発明の一実施形態により、1次記憶システムから送信されたコピー済みレコードおよび関連ビットマップと、2次記憶システムの対応するセクタおよび関連CRCBの第2の例とを例示するブロック図である。
【発明を実施するための形態】
【0034】
本明細書に記載された機能ユニットの多くは、それぞれの実装の独立性を詳細に強調するために、モジュールとして示されている。たとえば、モジュールは、論理チップ、トランジスタ、またはその他の個別コンポーネントなど、カスタムVLSI回路またはゲート・アレイ、既製の半導体を含む、ハードウェア回路として実装することができる。また、モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル論理デバイスなどのプログラマブル・ハードウェア・デバイスに実装することもできる。
【0035】
また、モジュールは、様々なタイプのプロセッサによって実行するためのソフトウェアに実装することもできる。たとえば、実行可能コードの識別されたモジュールは、たとえば、オブジェクト、プロシージャ、または関数として編成することができるコンピュータ命令からなる1つまたは複数の物理ブロックまたは論理ブロックを含むことができる。それにもかかわらず、識別されたモジュールの実行可能プログラムは、物理的に一緒に位置する必要はないが、論理的に一緒に結合されたときに、そのモジュールを含み、そのモジュールについて規定された目的を達成する、異なる位置に保管された異種命令を含むことができる。
【0036】
実際に、実行可能コードのモジュールは、単一命令または多くの命令である可能性があり、複数の異なるコード・セグメント間、異なるプログラム間、および複数のメモリ・デバイス間に分散させることもできる。同様に、動作データは、モジュール内で識別し、本明細書に例示することができ、任意の適切な形で実施し、任意の適切なタイプのデータ構造内に編成することができる。動作データは、単一データ・セットとして収集するか、または異なる記憶装置間を含む異なる位置間に分散させることができ、少なくとも部分的には、単にシステムまたはネットワーク上の電子信号として存在することができる。
【0037】
本明細書全体を通して「一実施形態」、「ある実施形態」、または同様の言語に言及する場合、その実施形態に関して記載された特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して「一実施形態では」、「ある実施形態では」、および同様の言語の表現が現れた場合、いずれも同じ実施形態に言及する可能性があるが、必ずしも同じ実施形態に言及しているわけではない。
【0038】
信号伝送媒体に言及する場合、これは、信号を発生するか、信号を発生させるか、またはデジタル処理装置上で複数の機械可読命令からなるプログラムを実行させることができる任意の形を取ることができる。信号伝送媒体は、伝送線、コンパクト・ディスク、デジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、パンチ・カード、フラッシュ・メモリ、集積回路、またはその他のデジタル処理装置メモリ・デバイスによって実施することができる。
【0039】
さらに、本発明の上記の特徴、構造、または特性は、任意の適切な方法で1つまたは複数の実施形態に組み合わせることができる。以下の説明では、本発明の諸実施形態を完全に理解するために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース照会、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップなどの例など、多数の具体的な詳細が提供される。しかし、当業者であれば、具体的な詳細のうちの1つまたは複数がないか、あるいはその他の方法、コンポーネント、材料などを使用しても、本発明を実施可能であることを認識するであろう。その他の事例では、本発明の諸態様を不明瞭にすることを回避するために、周知の構造、材料、または動作が示されないか、または詳細に記載されない。
【0040】
本明細書に含まれる概略流れ図は、一般に、論理流れ図として示されている。このため、描写された順序および表示されたステップは、提示された方法の一実施形態を示すものである。機能、論理、または効果の点で、例示された方法の1つまたは複数のステップあるいはその一部分と同等であるその他のステップおよび方法を考案することもできる。さらに、使用されるフォーマットおよび記号は、その方法の論理ステップを説明するために提供されており、その方法の範囲を制限しないものと理解される。流れ図では様々な矢印タイプおよび線種を使用することができるが、それらは対応する方法の範囲を制限しないものと理解される。実際に、いくつかの矢印またはその他のコネクタを使用して、その方法の論理流れのみを示すこともできる。たとえば、ある矢印は、描写された方法の列挙されたステップ間の未指定の持続期間のうちの待機期間またはモニター期間を示すことができる。さらに、特定の方法が行われる順序は、示されている対応する諸ステップの順序を厳密に固守する場合もあれば、固守しない場合もある。
【0041】
図1は、本発明の一実施形態により、ミラー・ボリューム内のデータ不一致を検出するためのシステム100の一実施形態を描写している。このシステムは、ストレージ・エリア・ネットワーク110により、ミラー・ボリューム108を有する2次記憶システム106と通信状態にある、1次ボリューム104を有する1次記憶システム102を含む。1次記憶システム102は1次記憶コントローラ112を含み、2次記憶システム106は2次記憶コントローラ114を含む。1次ボリューム104は1つまたは複数のデータ記憶装置116を含み、ミラー・ボリューム108は1つまたは複数のデータ記憶装置118を含む。システム100は、コンピュータ・ネットワーク128により、1次記憶コントローラ112と通信状態にある、ワークステーション120、ラップトップ・コンピュータ122、携帯情報端末(「PDA」)124、または携帯電話126を含むことができる。システム100のデバイスおよびコンポーネントについては以下に説明する。
【0042】
ストレージ・エリア・ネットワーク(「SAN」)110は、ローカル・エリア・ネットワーク(「LAN」)、広域ネットワーク(「WAN」)、光ファイバ・ネットワーク、インターネットなどを含むことができ、複数ネットワークの組み合わせを含むこともできる。SAN110は、一実施形態では、同期接続を含み、何らかの形の書き込み動作について成功を登録する前に1次ボリューム104とミラー・ボリューム108に更新が保管される。他の実施形態では、SAN110は、非同期接続を含み、更新は1次ボリューム104に保管され、その後、ミラー・ボリューム108にコピーされる。一実施形態では、SAN110は、ホスト・デバイスと通信状態にあるコンピュータ・ネットワーク128とマージされる。当業者であれば、1次記憶システム102が2次記憶システム106に対して更新を伝達し送信するための他の方法を認識するであろう。
【0043】
1次記憶システム102は、可変長レコードを含むCKDトラックを有する1つまたは複数のデータ記憶装置116を含む1次ボリューム104を含む。典型的には、1つまたは複数のデータ記憶装置116が結合されて、1次論理ボリューム104を形成する。1次記憶システム102は任意の数の論理ボリュームを含むことができ、各論理ボリュームは1つまたは複数のデータ記憶装置116を含むことができる。一実施形態では、1次ボリューム104は単一データ記憶装置116aを含む。他の実施形態では、1次記憶ボリューム104は2つ以上のデータ記憶装置116a、116b、・・・116nを含む。さらに他の実施形態では、1次記憶ボリューム104は、新磁気ディスク制御機構(「RAID:redundant array of inexpensive/independent disks」)として構成された2つ以上のデータ記憶装置116a、116b、・・・116nを含む。1次記憶システム102の1次ボリューム104のデータ記憶装置116は、1次記憶コントローラ112またはその他のコンピュータの外部にある場合もあれば、内部にある場合もある。データ記憶装置116は、SAN110によるかまたは他のコンピュータ・ネットワークにより1次記憶コントローラ112に接続することができる。内部データ記憶装置116は、シリアルATAバス、小型コンピュータ・システム・インターフェース(「SCSI」)などにより1次記憶コントローラ112に接続することができる。当業者であれば、更新を受信できる1次ボリューム104の他の構成を認識するであろう。
【0044】
1次記憶システム102は、ホストからの更新を1次ボリューム104に保管する、1次記憶コントローラ112、サーバ、コンピュータなどを含む。典型的には、1次記憶コントローラ112は、コンピュータ・ネットワーク128によりホストから更新を受信する。ホストは、サーバ(図示せず)、ワークステーション120、ラップトップ・コンピュータ122、PDA124、携帯電話126などにすることができる。典型的には、1次記憶コントローラ112は、2次記憶システム106の2次記憶コントローラ114と通信して、受信された更新をミラー・ボリューム108にコピーする。1次記憶コントローラ112は、データ・ムーバ、書き込みキャッシュ、ランダム・アクセス・メモリ(「RAM」)の形の内部キャッシュ、または1次記憶システム102のデータを管理するためのその他のデバイスを含むことができる。当業者であれば、更新を受信し、1次ボリューム104に更新をコピーし、ミラー・ボリューム108に更新をコピーする、他の1次記憶コントローラ112の構成を認識するであろう。
【0045】
2次記憶システム106は、可変長レコードを有するCKDトラックを含む1つまたは複数のデータ記憶装置118を含む論理ボリュームとして構成されたミラー・ボリューム108を含む。ミラー・ボリューム108は、そのボリュームを形成する1つまたは複数のデータ記憶装置118により構成され、典型的には、1次ボリューム104の構成と一致する。また、2次記憶システム106は、他の論理ボリュームとして構成された他のデータ記憶装置118も含むことができる。2次記憶システム106は、1次記憶システム102から受信された更新をミラー・ボリューム108に保管するように構成された2次記憶コントローラ114、サーバ、コンピュータなどを含む。2次記憶コントローラ114は、データ・ムーバ、書き込みキャッシュ、RAMの形の内部キャッシュ、または2次記憶システム106のデータを管理するためのその他のデバイスを含むことができる。当業者であれば、更新を受信し、ミラー・ボリューム108に更新をコピーする、他の2次記憶コントローラ114の構成を認識するであろう。
【0046】
図2は、本発明の一実施形態によりミラー・ボリューム108内のデータ不一致を検出するための2次記憶システム106に関連する装置200の一実施形態を描写している。装置200は、以下に記載する受信モジュール202と、比較モジュール204と、警報モジュール206とを含む、2次記憶システム106を含む。一実施形態では、受信モジュール202、比較モジュール204、および警報モジュール206は、2次記憶コントローラ114内に位置する。他の実施形態では、受信モジュール202、比較モジュール204、および警報モジュール206は、2次記憶システム106の一部ではないコンピュータ内に位置する。さらに他の実施形態では、装置200のこれらのモジュール202、204、206またはモジュールの一部分は、2次記憶システム106内の様々な位置に保管される。当業者であれば、モジュール202、204、206が位置することができる他の位置を認識するであろう。
【0047】
2次記憶システム106は、一実施形態では、1次記憶システム102からの開始標識を2次記憶システム106で受信する受信モジュール202を含む。開始標識は、典型的には、2次記憶システム106内のデータ記憶装置118aのトラック上で変更すべき第1のブロックの位置の表示を含む。2次記憶システム106の第1のブロックは、1次記憶システム102内のデータ記憶装置116aのトラック上の少なくとも1つの変更済みレコードの同一位置の第1のブロックに対応する。1次記憶システム102および2次記憶システム106上のトラックはそれぞれ、不正規CKDトラックを含む。
【0048】
一実施形態では、受信モジュール202は、1次記憶システム102からブロック標識も受信する。このブロック標識は、変更すべき2次記憶システム106上の同一位置のブロックに対応する1次記憶システム102の少なくとも1つの変更済みレコードによって占有されたブロックの量を含む。一実施形態では、開始標識はビットマップ内の1つのビットである。他の実施形態では、開始標識はビットマップとは別に受信される。ブロック標識は、他の実施形態では、ビットマップ内の複数ビットによって表される。他の例では、ブロック標識は、1つまたは複数の整数、1つのテーブル、あるいはブロックの量を伝達可能なその他のデータ構造の形にすることができる。
【0049】
好ましい一実施形態では、開始標識およびブロック標識はビットマップ内に含まれる。たとえば、ビットマップ内のビットが不正規CKDトラックのブロックを表す場合、特定のビットは、2次記憶システム106にコピーする予定になっている、1次記憶システム102の不正規CKDトラック上の1つまたは複数のレコードの位置を表すことができる。コピーすべきレコードの第1のブロックに対応するビットマップの第1のビットは、開始標識として働くことができる。2次記憶システム106にコピーすべき1つまたは複数のレコードによって占有されたセクタに対応するビットマップのビットは、ブロック標識として働くことができる。
【0050】
開始標識およびブロック標識のビットマップまたはその他の形式は、2次記憶システム106にコピーする予定になっている、あるトラックの非連続レコードを表すことができる。たとえば、ビットマップは送信すべきレコードに対応しないブロックに関する「0(ゼロ)」を含むことができ、ビットマップ内の「1(イチ)」は2次記憶システム106にコピーすべきレコードのブロック位置を表すことができる。送信すべきレコードとしては、たとえば、レコード1およびレコード3を含むことができる。レコード2はレコード1とレコード3の間に位置することができる。送信すべきレコードを表すビットマップは、「1」のグループと、それに続く「0」のグループと、それに続く「1」のグループとを有することができる。「1」はレコード1およびレコード3によって占有された1次記憶システム102上のブロックを表すことができる。
【0051】
典型的には、レコードはトラック上で連続的に番号が付けられるが、任意の都合の良い方法によって番号を付けることができる。加えて、典型的には、1つのレコードは、不正規CKDトラック上の複数ブロックまたは複数セクタからなる連続グループにまたがっている。好ましい一実施形態では、1つのブロックは1つのセクタであり、これらの用語は本明細書では区別なく使用される。しかし、他の諸実施形態では、1つのブロックは、複数セクタのグループ、複数バイトのグループ、複数ビットのグループなどにすることができる。開始標識は、トラック上でレコードが始まる場所を伝達するための任意の都合の良い方法にすることができる。同様に、ブロック標識は、1つまたは複数のレコードによって占有された標準単位の量を伝達する任意の度量法(measurement)にすることができる。当業者であれば、開始標識およびブロック標識がトラック内の任意の都合の良いグループを表すことができ、本明細書に記載された装置、システム、および方法がブロックまたはセクタの特定の一実施形態に限定されないことを認識するであろう。
【0052】
変更済みレコードは、一般に、1次ボリューム104に保管するために1次記憶システム102で受信された更新の一部であり、ミラー・ボリューム108に対して同期的または非同期的に2次記憶システム106にコピーされる。更新は、新しいレコード、レコードの削除、または既存のレコードに対する変更である可能性がある。当業者であれば、変更済みレコードまたはレコードに対する変更を、1次ボリューム104のミラー・ボリューム108になる予定の2次記憶システム106からコピー、変更、または削除できる場合に、1次ボリューム104上の変更済みレコードのその他の形式を認識するであろう。
【0053】
典型的には、ビットマップは、1次記憶システム102上の1つまたは複数の変更済みレコードによって占有されたセクタに相関するビットを含む。たとえば、ミラー・ボリューム108にコピーすべき変更済みレコードがあるトラック上のセクタ3〜7にまたがる場合、そのレコードに付随するビットマップは、ビット3〜7の「1」と、ビット0〜2ならびにビット8〜nの「0」とを有することになり、nはトラック上のセクタの数である。他の例では、あるグループの変更済みレコードがセクタ8〜22にまたがる場合、そのレコードに付随するビットマップは、ビット8〜22の1と、ビット0〜7および23〜nの0とを有することになるであろう。さらに他の例では、ビットマップは、受信されたファイルに対応するビットの「0」と、ビットマップの他のビットの「1」とを含むように反転される。
【0054】
一実施形態では、受信モジュール202は、開始標識とともに、単一の変更済みレコードまたは単一グループの変更済みレコードを受信する。他の実施形態では、受信モジュールは、対応するビットマップを受信することに加えて、そのレコード(複数も可)を受信する。他の実施形態では、受信モジュール202は、それぞれが対応するビットマップまたは開始/ブロック標識を有する、複数のレコードまたはレコード・グループを含む更新を受信する。一実施形態では、ビットマップは、2つ以上のトラックを表す複数ビットを含む。このビットマップはテーブルの形にすることができる。このテーブルは、ディスク上のトラックの一部分またはディスク上のトラックのすべてを含むことができる。他の実施形態では、受信モジュール202は、複数のトラック上のレコードに関する複数の開始標識およびブロック標識を受信する。当業者であれば、受信モジュール202によって受信可能な他のビットマップ、開始標識、ブロック標識、および対応するレコードを認識するであろう。
【0055】
2次記憶システム106は、一実施形態では、開始標識によって示された第1のブロック位置をトラック・メタデータ内にリストされたブロック位置と比較する比較モジュール204を含む。トラック・メタデータは、2次記憶システム106の不正規CKDトラック上のユーザ・レコードの長さおよび位置を記述する。たとえば、受信された開始標識は、1次ボリューム104の変更済みレコードがブロック3から始まることを示すことができ、トラック・メタデータは、ミラー・ボリューム108上のレコードもブロック2から始まり、ブロック4に及ぶことを示すことができる。この場合、1次ボリューム104上の変更済みレコードは、ミラー・ボリューム108上のレコードに位置合わせしていない。
【0056】
好ましい一実施形態では、トラック・メタデータは、2次記憶システム106上のキャッシュ・レコード制御ブロック(「CRCB」)に含まれる。比較モジュール204は、他の実施形態では、ビットマップ内に示されたセクタ位置を、CRCB内にリストされた対応するセクタ位置と比較する。たとえば、1次ボリューム104上の変更済みレコードに対応する受信モジュール202によって受信されたビットマップは、変更済みレコードがセクタ3〜7を含むことを示すことができる。比較モジュール204は、そのビットマップを、レコードがコピーされる予定になっているトラックのCRCBと比較する。CRCBは、たとえば、トラックのレコード1がセクタ1および2を占有し、レコード2がセクタ3〜7を占有し、レコード3がセクタ8〜10を占有することを示すことができる。この場合、CRCBと比較されたビットマップからの情報は、受信されたレコードの開始セクタおよび終了セクタがレコード2の開始セクタおよび終了セクタに位置合わせしていることを示す。
【0057】
他の例では、CRCBは、そのトラックのレコード1がセクタ1〜4を占有し、レコード2がセクタ5〜10を占有することを示すことができる。この場合、ビットマップをCRCBと比較すると、受信されたレコードがレコード1の途中から始まり、レコード2の途中で終わることが明らかになる。受信されたレコードがそのトラックにコピーされた場合、ミラー・ボリューム108のレコード1および2を占有することになるであろう。
【0058】
他の例では、受信モジュールは、1次ボリューム104上の非連続変更済みレコードを表すビットマップを受信する。たとえば、受信されたビットマップは、1つの変更済みレコードがセクタ3〜7を占有し、もう1つの変更済みレコードがセクタ8〜10を占有することを示すことができる。そのビットマップによって表された1次ボリューム104の不正規CKDトラックに対応するCRCBは、対応するミラー・ボリューム108の不正規CKDトラック上のレコード1がセクタ2〜7を占有し、レコード2がセクタ8〜12を占有することを示すことができる。この例では、比較モジュール204はそのビットマップとCRCBを比較し、1次ボリューム104上の両方の変更済みレコードの始まりがミラー・ボリューム108上のレコードに位置合わせしていない。一実施形態では、比較モジュール204は、ビットマップ内に示された第1のレコードのみをCRCBと比較する。他の実施形態では、比較モジュール204は、ビットマップ内に示された両方のレコードをCRCBと比較する。
【0059】
比較モジュール204は、一実施形態では、開始標識およびブロック標識によって示される、2次記憶システム106上の変更すべきブロックを、トラック・メタデータ内にリストされたブロック位置と比較する。たとえば、比較モジュール204は、開始ブロックを決定するための開始標識と、オフセットとしてのブロック標識とを使用して、レコードまたはレコード・グループの終了ブロックを決定することができる。たとえば、1次ボリューム104上の変更済みレコードがブロック2から始まることを開始標識が示し、そのレコードが4つのブロックにまたがることをブロック標識が示す場合、比較モジュール204は、そのレコードの終了ブロックがブロック5であると決定することができる。ミラー・ボリューム108上のレコードがブロック3〜6にまたがることをトラック・メタデータが示す場合、1次ボリューム104からの変更済みレコードの終了ブロックはミラー・ボリューム108上のレコードの終了ブロックに位置合わせしていない。一実施形態では、比較モジュール204は、ビットマップ内の複数ビットを使用して、変更済みレコードの終了ブロックまたはセクタを決定する。
【0060】
2次記憶システム106は、一実施形態では、トラック・メタデータ内に示される、開始標識によって示された第1のブロックが2次記憶システム106上のレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生する警報モジュール206を含む。上記でリストされた例では、開始標識が2次記憶システム106のミラー・ボリューム108上のレコードの開始ブロックに位置合わせしていない場合、警報モジュールが警報を発生する。レコードがブロック3から始まることを開始標識が示し、ミラー・ボリューム108上のレコードがブロック2〜4にまたがることをトラック・メタデータが示すという上記の例では、警報モジュール206は警報を発生することになるであろう。
【0061】
他の実施形態では、警報モジュール206は、ビットマップ内に示される、1つまたは複数の変更され受信されたレコードの開始セクタが、CRCB内に示される、2次記憶システム106上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生する。受信されたレコードがセクタ3〜7を含むことをそのレコードとともに送信されたビットマップが示し、そのレコードがコピーされる予定になっているトラックのCRCBがレコード1がセクタ1〜4を占有することを示す上記の例では、警報モジュール206は、受信されたレコードがレコード1またはレコード2の始まりに対応しないことを認識し、警報を発生する。これに対して、ミラー・ボリューム108上のトラックのレコード1がセクタ1および2を占有し、レコード2がセクタ3から始まる場合、警報モジュール206は、受信されたレコードの開始セクタがレコード2の開始セクタに対応することを検出し、警報モジュール206は警報を発生しない。
【0062】
一実施形態では、警報モジュール206は、開始標識およびブロック標識によって示される、2次記憶システム106上で変更すべきブロックのうちの終了ブロックが、トラック・メタデータ内に示される、2次記憶システム106上のレコードの終了ブロックに位置合わせしていないことに応答して、警報を発生する。比較モジュール204が開始標識とブロック標識を使用して、変更済みレコードが1次ボリューム104のブロック5で終了すると決定し、ミラー・ボリューム108上のレコードがブロック3〜6にまたがることをトラック・メタデータが示す上記の例では、警報モジュール206は警報を発生することになるであろう。
【0063】
一実施形態では、警報モジュール206は、ビットマップ内に示される、少なくとも1つのレコードの終了セクタが、CRCB内に示される、2次記憶システム106上のレコードの終了セクタに位置合わせしていないことに応答して、警報を発生する。受信されたレコードがセクタ3〜7を含むことをそのレコードとともに送信されたビットマップが示し、そのレコードがコピーされる予定になっているトラックのCRCBがレコード2がセクタ5〜10を占有することを示す上記の例では、警報モジュール206は、受信されたレコードがレコード2の終わりに対応しないことを認識し、警報を発生する。これに対して、ミラー・ボリューム108上のトラックのレコード2がセクタ3から始まり、セクタ7で終了する場合、警報モジュール206は、受信されたレコードの終了セクタがレコード2の終了セクタに対応することを検出し、警報モジュール206は警報を発生しない。
【0064】
典型的な書き込みコマンドまたは同様のコマンドの場合、警報モジュール206は、典型的には、1つの変更済みレコードまたはレコード・グループの始まりおよび終わりの位置合わせ不良について警報を発生することになるであろう。書き込みフォーマット・コマンドまたは同様のコマンドの場合、そのコマンドはミラー・ボリューム108上のレコードの長さを変更することができ、警報モジュール206は、典型的には、変更済みレコードの始まりの位置合わせ不良について警報を発生することになるであろう。典型的には、受信モジュール202は、開始標識およびブロック標識(またはビットマップ)とともに、書き込みコマンド、書き込みフォーマット・コマンド、または同様のコマンドに対応する命令またはその他のコンピュータ・コードを受信する。受信モジュール202は、一実施形態では、その変更済みレコードまたはレコード・グループなどの更新も受信することができる。受信モジュール202は、他の実施形態では、1つのレコードの一部分の形で更新を受信することもできる。
【0065】
一実施形態では、受信モジュール202は、1つまたは複数の変更済みレコードがミラー・ボリューム108にコピーされ、その変更済みレコードがコピーされる予定になっている位置より上のブロックまたはセクタが書き込みフォーマット・コマンドによって消去されるように、書き込みフォーマット・コマンドを受信するか、または他のコマンドと組み合わせて書き込みフォーマット・コマンドを受信することができる。たとえば、変更済みレコードをセクタ3〜7にコピーし、セクタ10から不正規CKDトラックの終わりまでを消去することができる。この場合、受信モジュール202は、変更済みレコードの始まりがセクタ3から始まることを伝達する開始標識とともに、変更済みレコードが5つのセクタを占有することを伝達するブロック標識を受信することができる。加えて、ブロック標識は、セクタ10からそのトラックの終わりまでを消去する予定であることを伝達する。一実施形態では、開始標識およびブロック標識はビットマップの形にすることができ、書き込みフォーマット・コマンドは消去すべきセクタを伝達することができる。次に、警報モジュール206は、開始標識、ブロック標識、またはビットマップ、あるいはこれらの組み合わせと、比較モジュール204からの入力とに基づいて、警報が適切であるかどうかを判別することができる。当業者であれば、ブロックまたはセクタを消去するとともに適切な警報を発生するために、書き込みフォーマット・コマンドに併せてビットマップ、開始標識、またはブロック標識を使用するための他の方法を認識することになるであろう。
【0066】
1次ボリューム104がミラー・ボリューム108とは異なる場合、1次ボリューム104の単一の変更済みレコードがミラー・ボリューム108の複数のレコードにまたがる可能性があり、変更済みレコードの始まりおよび終わりがスパン・レコード(spanned record)の始まりおよび終わりに位置合わせする可能性があることに留意されたい。また、1次ボリューム104上の1つの変更済みレコード・グループは、ミラー・ボリューム108上の異なるレコード・グループに位置合わせする可能性がある。このような場合、警報モジュール206は警報を発生しない可能性がある。しかし、典型的には、少数の変更済みレコードが警報を発生しない場合でも、受信モジュール202によって開始標識およびブロック標識(またはビットマップ)が受信される何らかの変更済みレコードに関する位置合わせ不良によって警報が発生されることになる。有利なことに、装置200は、好ましくは、1次ボリューム104がミラー・ボリューム108と同一ではないことによって引き起こされた不一致レコードについて効率よく警報を発生する。
【0067】
図3は、本発明の一実施形態により、ミラー・ボリューム108内のデータ不一致を検出するための2次記憶システム106に関連する装置300の他の実施形態を描写している。装置300は、図2に描写された装置200に関して記載したモジュールと実質的に同様の受信モジュール202、比較モジュール204、および警報モジュール206を含む、2次記憶システム106を含む。また、2次記憶システム106は、一実施形態では、以下に記載するコピー停止モジュール302、コピー・モジュール304、および通知モジュール306も含む。
【0068】
2次記憶システム106は、一実施形態では、警報モジュール206によって発生された警報に応答して、2次記憶システム106内のデータ記憶装置118へのレコードのコピーを停止するコピー停止モジュール302を含む。たとえば、警報モジュール206が不一致を検出し、警報を発生した場合、コピー停止モジュール302は、ミラー・ボリューム108への変更済みレコードのコピーを停止する。2次記憶システム106は、一実施形態では、1次記憶システム102から受信されたレコードを2次記憶システム106内のデータ記憶システム118にコピーするコピー・モジュール304を含む。たとえば、警報モジュール206が受信モジュール202によって受信された開始標識またはブロック標識に対応する変更済みレコードに関する不一致を検出しなかった場合、コピー・モジュール304は、変更済みレコードに付随する開始標識、ビットマップ、またはその他のメタデータによって指定された位置にあるミラー・ボリューム108に変更済みレコードをコピーする。コピー・モジュール304が変更済みレコードをコピーするミラー・ボリューム108上の位置は、典型的には、1次ボリューム104上の対応する位置に位置合わせする。
【0069】
一実施形態では、2次記憶システム106は、警報モジュール206によって発生された警報に応答して1次記憶システム102に通知を送信する通知モジュール306を含む。通知モジュール306によって送信された通知は、2次記憶システム106へのレコードの送信を停止するためのメッセージを含む。一実施形態では、通知モジュール306は、1次記憶コントローラ112に通知を送信する。他の実施形態では、通知モジュール306は、PPRCまたはその他のミラー・データ・プロセスを制御するサーバまたはその他のコンピュータに通知を送信する。
【0070】
他の実施形態では、通知モジュール306はエラー・メッセージを発生する。エラー・メッセージは、2次記憶システム106内の2次記憶コントローラ114、データ・ムーバ、またはその他の装置に送信することができ、動作を停止するか、管理者に警報を出すか、装置を遮断するか、ミラー・ボリューム108に関するすべての読み取りコマンド、書き込みコマンド、コピー・コマンド、またはその他のコマンドを停止するなどのために、2次記憶コントローラ114またはその他の装置内でアクションを引き起こすことができる。当業者であれば、警報モジュール206からの警報によって発生される可能性のあるその他の通知およびエラーを認識することになるであろう。
【0071】
図4は、本発明により、ミラー・ボリューム108内のデータ不一致を検出するための1次記憶システム102に関連する装置400の一実施形態を描写している。装置400は、一実施形態では、以下に記載するビットマップ・モジュール402および送信モジュール404を含む、1次記憶コントローラ112を含む。他の諸実施形態では、装置400は、1次記憶システム102内の他の装置またはコンピュータ内あるいは1次記憶システム102と通信状態にあるコンピュータまたは装置内に含まれる。
【0072】
1次記憶コントローラ112は、一実施形態では、2次記憶システム106にコピーされるかまたは書き込まれる予定の少なくとも1つの変更済みレコードについて1次記憶システム102上で占有されたセクタに相関するビットを含むビットマップを生成するビットマップ・モジュール402を含む。1次記憶システム102および2次記憶システム106はそれぞれ、不正規CKDトラックによって構成された少なくとも1つのデータ記憶装置を含む。典型的には、ビットマップ・モジュール402は、トラック内の各セクタごとに1つのビットを有するビットマップを生成する。他の実施形態では、ビットマップ・モジュール402は、各行が1つのトラックに対応し、各列が1つのトラックの1つのセクタに対応する、ビットマップ・テーブルを生成する。他の実施形態では、ビットマップ・モジュール402は、1次記憶システム102上の変更済みレコードに対応する開始標識およびブロック標識を生成する。
【0073】
一実施形態では、ビットマップ・モジュール402は、ミラー・ボリューム108にコピーすべきレコードによって占有されたセクタに対応するビットのそれぞれに「1」を有し、ビットマップの他のすべてのビットについて「0」を有するビットマップを生成する。他の実施形態では、ビットマップ・モジュール402は、ミラー・ボリューム108にコピーすべきレコードによって占有されたセクタに対応するビットのそれぞれに「0」を有し、ビットマップの他のすべてのビットについて「1」を有するビットマップを生成する。他の実施形態では、ビットマップ・モジュール402は、メタデータを含むビットマップを生成する。メタデータは、トラック番号、シリンダ番号、ボリューム情報などを含むことができる。当業者であれば、レコードとともに送信され、1次ボリューム104上のレコードによって占有されたトラックのセクタを識別するために使用される可能性のあるビットマップをビットマップ・モジュール402が生成できる他の方法を認識することになるであろう。他の実施形態では、ビットマップ・モジュール402は、変更済みレコードの開始ブロックを示す開始標識を生成する。他の実施形態では、ビットマップ・モジュール402は、変更済みレコードによって占有されたブロックの数を示すブロック標識を生成する。
【0074】
一実施形態では、1次記憶コントローラ112は、2次記憶システム106にビットマップを送信する送信モジュール404を含む。他の実施形態では、送信モジュール404は、対応する変更済みレコードのコピー、メタデータ、書き込みコマンド、書き込みフォーマット・コマンド、またはその他の情報をビットマップとともに送信する。2次記憶システム106の比較モジュール204は、ビットマップ内に示されたセクタ位置を、2次記憶システム106上のCRCB内にリストされた対応するセクタ位置と比較する。他の実施形態では、比較モジュール404は、開始標識およびブロック標識をトラック・メタデータと比較する。
【0075】
2次記憶システム106の警報モジュール206は、ビットマップ内に示されているように、変更済みレコードの開始セクタが、CRCB内に示されているように、2次記憶システム106上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生する。一実施形態では、警報モジュール206は、ビットマップ内に示される、少なくとも1つのレコードの終了セクタが、CRCB内に示される、2次記憶システム106上のレコードの終了セクタに位置合わせしていないことに応答して、警報を発生する。他の実施形態では、警報モジュール206は、トラック・メタデータ内に示される、開始標識によって示された第1のブロックが2次記憶システム上のレコードの開始ブロックに位置合わせしていないことに応答して、あるいは、開始標識およびブロック標識によって示される、2次記憶システム106上で変更すべきブロックのうちの終了ブロックが、トラック・メタデータ内に示される、2次記憶システム106上のレコードの終了ブロックに位置合わせしていないことに応答して、警報を発生する。他の実施形態では、1次記憶システム102は、2次記憶システム106内の通知モジュール306からレコード不一致通知を受信したことに応答して、2次記憶システム106へのレコードのコピーの送信を停止する。
【0076】
図5は、本発明の一実施形態により、ミラー・ボリューム108内のデータ不一致を検出するための2次記憶システム106に関連する方法500の一実施形態を例示する概略流れ図である。方法500は502から始まり、受信モジュール202は504で、1次記憶システム102からのビットマップを2次記憶システム106で受信する。このビットマップは、変更済みレコードについて1次記憶システム102上で占有されたセクタに相関するビットを含む。1次記憶システム102および2次記憶システム106はそれぞれ、不正規CKDトラックによって構成された少なくとも1つのデータ記憶装置を含む。
【0077】
比較モジュール204は506で、ビットマップ内に示されたセクタ位置を、2次記憶システム106上のCRCB内にリストされた対応するセクタ位置と比較する。CRCBは、1つまたは複数の変更済みレコードがコピーされるトラックを記述する。警報モジュール206は508で、ビットマップ内に示される、変更済みレコードの開始セクタが、CRCB内に示される、2次記憶システム106上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生し、方法500は510で終了する。他の実施形態では、警報モジュール206は508で、ビットマップ内に示される、変更済みレコードの終了セクタが、CRCB内に示される、2次記憶システム上のレコードの終了セクタに位置合わせしていないことに応答して、警報を発生し、方法500は510で終了する。
【0078】
図6は、本発明の一実施形態により、ミラー・ボリューム108内のデータ不一致を検出するための1次記憶システム102に関連する方法600の一実施形態を例示する概略流れ図である。方法600は602から始まり、ビットマップ・モジュール402は604で、2次記憶システム106にコピーされる予定の少なくとも1つのレコードについて1次記憶システム102上で占有されたセクタに相関するビットを含むビットマップを生成する。他の実施形態では、ビットマップ・モジュール402は604で、開始標識またはブロック標識あるいはその両方を生成する。1次記憶システム102および2次記憶システム106はそれぞれ、不正規CKDトラックによって構成された少なくとも1つのデータ記憶装置を含む。送信モジュール404は606で、ビットマップまたは開始標識/ブロック標識を2次記憶システム106に送信し、方法600は608で終了する。一実施形態では、送信モジュール404は606で、変更済みレコード(複数も可)のコピーも送信する。
【0079】
図7は、本発明の一実施形態により、ミラー・ボリューム108内のデータ不一致を検出するための2次記憶システム106に関連する方法700の特定の一実施形態を例示する概略流れ図である。方法700は702から始まり、受信モジュール202は704で1次記憶システム102からビットマップを受信する。このビットマップは、1次記憶システム102上の変更済みレコードの占有セクタに対応する。また、受信モジュール202は704で、変更済みレコードを保管するよう、ミラー・ボリューム108および関連2次記憶コントローラ114に指示するコマンドも受信する。また、受信モジュール202は704で、1つまたは複数の変更済みレコードを受信することもできる。
【0080】
比較モジュール204は706で、ビットマップ内に示されたセクタ位置を、変更済みレコードがコピーされる予定の2次記憶システム106のミラー・ボリューム108上のトラックに関連するCRCB内にリストされた対応するセクタ位置と比較する。警報モジュール206は708で、ビットマップ内に示される、変更済みレコードの開始セクタが2次記憶システム106のミラー・ボリューム108内のレコードの開始セクタに位置合わせしているかどうかを判別する。開始セクタが位置合わせしていないと警報モジュール206が708で判別した場合、警報モジュール206は710で警報を発生し、方法700は718で終了する。
【0081】
開始セクタが位置合わせしていると警報モジュール206が708で判別した場合、警報モジュール206は712で、受信モジュール202によって受信され、受信されたビットマップおよびレコード(複数も可)に関連するコマンドが書き込みフォーマット・コマンドまたは同様のコマンドであるかどうかを判別する。受信されたコマンドが書き込みフォーマット・コマンドまたは同様のコマンドであると警報モジュール206が712で判別した場合、コピー・モジュール304は716で、レコード(複数も可)を2次記憶システム106のミラー・ボリューム108に保管し、方法700は718で終了する。書き込みフォーマット・コマンドが受信されたレコードに関連する場合、書き込みフォーマット・コマンドは、終了セクタが位置合わせしているかどうかをチェックする必要がないように、ミラー・ボリューム108上の関連レコード(複数も可)のサイズを変更することができる。
【0082】
受信モジュール202によって受信されたコマンドが書き込みフォーマット・コマンドではないと警報モジュール206が712で判別した場合、警報モジュール206は714で、ビットマップ内に示される、変更済みレコード(複数も可)の終了セクタが2次記憶システム106のミラー・ボリューム108内のレコードの終了セクタに位置合わせしているかどうかを判別する。セクタが位置合わせしていると警報モジュール206が714で判別した場合、コピー・モジュール304は716でレコード(複数も可)を保管し、方法700は718で終了する。終了セクタが位置合わせしていないと警報モジュール206が714で判別した場合、警報モジュール206は710で警報を発生し、方法700は718で終了する。方法700は、ビットマップの代わりに開始標識およびブロック標識を使用するか、セクタの代わりにブロックを使用するか、あるいはその両方を使用して、実施することもできることに留意されたい。
【0083】
図8は、本発明の一実施形態により、1次記憶システム102から送信されたコピー済みレコードおよび関連ビットマップと、2次記憶システム106の対応するセクタおよび関連CRCBの一例とを例示するブロック図である。1次記憶システム102の1次ボリューム104からの1次トラック802は、レコード806によって占有されたセクタ804に分割された状態で示されている。セクタが示されているが、当業者であれば、複数セクタのグループ、複数バイトのグループなど、他のブロックを使用してトラックを分割できることを理解するであろう。1次トラック802は、可変長レコード806を有する不正規CKDトラックを描写するためのものである。レコード0 808は、典型的には、セクタ0から始まり、単一セクタを占有する。レコード0は、典型的には、48バイトであり、セクタ0に常駐する。セクタ0は、CRCBを保管するために使用できるもののうちの未使用部分を含む。レコード1 810は、セクタ1および2を占有している状態で描写されている。レコード2 812は、セクタ3〜6を占有している状態で描写されており、ミラー・ボリューム108にコピーすべきレコードとして指定されている。レコード3 814は、セクタ7〜10を占有している状態で描写されている。ミラー・ボリューム108にコピーされるレコード2 812に対応するビットマップ816が示されている。ビットマップ816は、レコード2 812によって1次ボリューム104上で占有されたセクタに対応するビット3〜6以外のすべてのビットについてゼロを有する。
【0084】
例1は、2次記憶システム106のミラー・ボリューム108の一部であるデータ記憶装置118上に含まれる2次トラック818を描写している。2次トラック818は不正規CKDトラックである。2次トラック818は、レコード822を含むセクタ820に分割されている。レコード0 824は部分セクタ0を占有する。セクタ0の未使用部分は、2次トラック818に関するCRCBを保管するために使用される。レコード1 826はセクタ1〜3を占有し、レコード2 828はセクタ4〜8を占有し、レコード3 830はセクタ9および10を占有する。ビットマップ816とともに受信モジュール202によって受信された1次トラック802からのレコード2 812は、レコード2 812がコピーされる予定のセクタ3〜6の上に示されている。2次トラック818に関するCRCB832はテーブルの形で描写されている。CRCB832は、不正規CKDトラック内のレコードに関するレコード位置およびフィールド・サイズを示す任意のフォーマットにすることができる。CRCB832は、レコード1 826からn番目のレコード834まで順番にレコードを含む。レコード0 824は、典型的には、セクタ0のみを占有するので含まれない。CRCB832は、開始セクタ836、キー・フィールド・サイズ838、およびデータ・フィールド・サイズ840を含む。便宜上、2次トラック818のレコードはキー・フィールドをまったく含まず、データ・フィールド・サイズ840はセクタの数として描写されている。レコード1〜3 826、828、830は含まれ、2次トラック818の例証に対応する。
【0085】
受信モジュール202が1次記憶システム102からビットマップ816を受信すると、比較モジュール204はビットマップ816をCRCB832と比較する。例1では、変更済みレコード2 812は、レコード1 826の途中である2次トラック818のセクタ3から始まる。変更済みレコード2 812の終わりは、2次トラック818のレコード2 828の途中であるセクタ6にある。変更済みレコード2 812が書き込みフォーマット・コマンドの一部としてコピーされる予定である場合、変更済みレコード2 812の始まりにより、警報モジュール206が警報を発生することになるであろう。変更済みレコード2 812が書き込みコマンドまたは同様のコマンドの一部としてコピーされる予定である場合、変更済みレコード2 812の始まりおよび終わりにより、警報モジュール206が警報を発生することになるであろう。
【0086】
図9は、本発明の一実施形態により、1次記憶システム102から送信されたコピー済みレコードおよび関連ビットマップと、2次記憶システム106の対応するセクタおよび関連CRCBのもう1つの例とを例示するブロック図である。例2は、図8に例示されているものと同じであるレコード2 812および関連ビットマップ816を含む。例2は、レコード906によって占有されたセクタ904に分割された異なる2次トラック902を含む。この場合も、レコード0 908はセクタ0を占有する。レコード1 910はセクタ1および2を占有し、レコード2 912はセクタ3および4を占有し、レコード3 914はセクタ5および6を占有し、レコード4 916はセクタ7〜10を占有する。2次トラック902に関する対応するCRCB918が示されており、これはレコード1 910からトラック内の最後のレコードであるレコードn 920までを含む。CRCB918は、レコード1〜4 910、912、914、916に関する項目を描写しており、開始セクタ922、キー・フィールド・サイズ924、およびデータ・フィールド・サイズ926を示している。この場合も、レコードのキー・フィールド・サイズ924はゼロであり、データ・フィールド・サイズ926は占有されたセクタの数として示されている。
【0087】
例2では、変更済みレコード2 812の始まりはセクタ3にあり、2次トラック902のレコード2 912の始まりに位置合わせしている。加えて、変更済みレコード2 812の終わりはセクタ6にあり、2次トラック902のレコード3 914の終わりに位置合わせしている。この例では、受信されたビットマップ816と2次トラック902のCRCB918を比較しても、警報を発生しないであろう。しかし、例2は、典型的には、1次ボリューム104とミラー・ボリューム108との不一致の場合に非常に頻繁に発生するわけではなく、1次記憶システム102から送信された他のレコードは警報を発生する可能性があるであろう。
【0088】
有利なことに、1次ボリューム104と対応するミラー・ボリューム108のデータ間の不一致を検出するための方法が提供され、ボリューム104、108は可変長レコードを有する不正規CKDトラックを含む。本発明は、好ましい一実施形態によれば、CRCBの送信など、不一致を検出するための他に可能な方法より効率的である。有利なことに、本発明によって発生された警報は、1次ボリュームの正確なコピーではないミラー・ボリューム108へのコピーを停止するために使用することができ、データ破損ならびに時間のかかる重大なエラーを防止することができる。
【0089】
本発明は、その精神または本質的な特徴から逸脱せずに他の具体的な形で実施することができる。上記の諸実施形態は、すべての点において、制限的なものではなく、例示的なものと見なすべきである。したがって、本発明の範囲は、上記の説明ではなく、特許請求の範囲によって示される。特許請求の範囲と同等の意味および範囲に該当するすべての変更は、その範囲内に包含すべきものである。

【特許請求の範囲】
【請求項1】
ミラー・ボリューム内の不一致を検出するための装置であって、
1次記憶システムからの開始標識を2次記憶システムで受信するように構成された受信モジュールであって、前記開始標識が前記2次記憶システム内のデータ記憶装置のトラック上で変更すべき第1のブロックの位置の表示を含み、前記2次記憶システムの前記第1のブロックが前記1次記憶システム内のデータ記憶装置のトラック上の少なくとも1つの変更済みレコードの同一位置の第1のブロックに対応し、前記1次記憶システムおよび前記2次記憶システム上の前記トラックがそれぞれ不正規カウント・キー・データ(「CKD」)トラックを含む、受信モジュールと、
前記開始標識によって示された前記第1のブロックの位置をトラック・メタデータ内にリストされたブロック位置と比較するように構成された比較モジュールであって、前記トラック・メタデータが前記2次記憶システムの前記不正規CKDトラック上のユーザ・レコードの長さおよび位置を記述する、比較モジュールと、
前記トラック・メタデータ内に示される、前記開始標識によって示された前記第1のブロックが前記2次記憶システム上のレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生するように構成された警報モジュールと、
を含む前記装置。
【請求項2】
前記受信モジュールがさらに前記1次記憶システムからブロック標識を受信し、前記ブロック標識が変更すべき前記2次記憶システム上の同一位置のブロックに対応する前記1次記憶システムの前記少なくとも1つの変更済みレコードによって占有されたブロックの量を含み、
前記比較モジュールがさらに、前記開始標識および前記ブロック標識によって示される、前記2次記憶システム上で変更すべきブロックを、前記トラック・メタデータ内にリストされたブロック位置と比較し、
前記警報モジュールがさらに、前記開始標識および前記ブロック標識によって示される、前記2次記憶システム上で変更すべき前記ブロックのうちの終了ブロックが、前記トラック・メタデータ内に示される、前記2次記憶システム上のレコードの終了ブロックに位置合わせしていないことに応答して、警報を発生する、請求項1記載の装置。
【請求項3】
前記開始標識および前記ブロック標識がビットマップを含む、請求項2記載の装置。
【請求項4】
前記ブロック標識によって示される前記ブロックの量がさらに、前記変更済みレコードが非順次である場合に、前記2次記憶システムにコピーすべき前記1次記憶システム上の複数の変更済みレコードに関するブロック位置に対応する前記2次記憶システムの前記データ記憶装置の前記トラック上の非連続ブロックの位置および量を表す、請求項2または3記載の装置。
【請求項5】
前記警報モジュールが前記変更済みレコードに対応する受信された開始標識に関する警報を発生しなかったことに応答して、前記1次記憶システム上の前記少なくとも1つの変更済みレコードを前記2次記憶システム上の同一位置にコピーするように構成されたコピー・モジュールをさらに含む、請求項1、2、3、または4記載の装置。
【請求項6】
1つのブロックが、1つのセクタ、複数セクタのクラスタ、複数バイトのグループ、および複数ビットのグループのうちの1つを含む、請求項1ないし5のいずれかに記載の装置。
【請求項7】
前記トラック・メタデータがキャッシュ・レコード制御ブロック(「CRCB」)を含む、請求項1ないし6のいずれかに記載の装置。
【請求項8】
前記警報モジュールによって発生された警報に応答して、前記2次記憶システム内の前記データ記憶装置へのレコードのコピーを停止するように構成されたコピー停止モジュールをさらに含む、請求項1ないし7のいずれかに記載の装置。
【請求項9】
前記警報に応答して前記1次記憶システムに通知を送信するように構成された通知モジュールであって、前記通知が前記2次記憶システムへのレコードの送信を停止するためのメッセージを含む通知モジュールをさらに含む、請求項1ないし8のいずれかに記載の装置。
【請求項10】
前記2次記憶システムが、前記1次記憶システムのデータ記憶装置上のデータのミラー・コピーを保管するように構成される、請求項1ないし9のいずれかに記載の装置。
【請求項11】
ミラー・ボリューム内の不一致を検出するためのシステムであって、
コンピュータ・ネットワークと、
不正規カウント・キー・データ(「CKD」)トラックによって構成された少なくとも1つのデータ記憶装置を有する1次記憶システムと、
前記コンピュータ・ネットワークにより前記1次記憶システムと通信状態にある2次記憶システムであって、前記1次記憶システムのデータ記憶装置上のデータのミラー・コピーを保管するように構成され、不正規CKDトラックによって構成された少なくとも1つのデータ記憶装置を含む2次記憶システムとを含み、前記2次記憶システムが、
前記1次記憶システムからの開始標識を前記2次記憶システムで受信するように構成された受信モジュールであって、前記開始標識が前記2次記憶システム内の不正規CKDトラックを有するデータ記憶装置のトラック上で変更すべき第1のブロックの位置の表示を含み、前記2次記憶システムの前記第1のブロックが前記1次記憶システム内の不正規CKDトラックを有するデータ記憶装置のトラック上の少なくとも1つの変更済みレコードの同一位置の第1のブロックに対応する、受信モジュールと、
前記開始標識によって示された前記第1のブロックの位置をトラック・メタデータ内にリストされたブロック位置と比較するように構成された比較モジュールであって、前記トラック・メタデータが前記2次記憶システムの前記不正規CKDトラック上のユーザ・レコードの長さおよび位置を記述する、比較モジュールと、
前記トラック・メタデータ内に示される、前記開始標識によって示された前記第1のブロックが前記2次記憶システム上のレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生するように構成された警報モジュールと、
を含む、前記システム。
【請求項12】
前記受信モジュールがさらに前記1次記憶システムからブロック標識を受信し、前記ブロック標識が変更すべき前記2次記憶システム上の同一位置のブロックに対応する前記1次記憶システムの前記少なくとも1つの変更済みレコードによって占有されたブロックの量を含み、
前記比較モジュールがさらに、前記開始標識および前記ブロック標識によって示される、前記2次記憶システム上で変更すべきブロックを、前記トラック・メタデータ内にリストされたブロック位置と比較し、
前記警報モジュールがさらに、前記開始標識および前記ブロック標識によって示される、前記2次記憶システム上で変更すべき前記ブロックのうちの終了ブロックが、前記トラック・メタデータ内に示される、前記2次記憶システム上のレコードの終了ブロックに位置合わせしていないことに応答して、警報を発生する、請求項11記載のシステム。
【請求項13】
前記1次記憶システムおよび前記2次記憶システムがピアツーピア・リモート・コピー(「PPRC」)システムの一部である、請求項11または12記載のシステム。
【請求項14】
ミラー・ボリューム内の不一致を検出するための方法であって、
1次記憶システムからの開始標識を2次記憶システムで受信するステップであって、前記開始標識が前記2次記憶システム内のデータ記憶装置のトラック上で変更すべき第1のブロックの位置の表示を含み、前記2次記憶システムの前記第1のブロックが前記1次記憶システム内のデータ記憶装置のトラック上の少なくとも1つの変更済みレコードの同一位置の第1のブロックに対応し、前記1次記憶システムおよび前記2次記憶システム上の前記トラックがそれぞれ不正規カウント・キー・データ(「CKD」)トラックを含む前記受信するステップと、
前記開始標識によって示された前記第1のブロックの位置をトラック・メタデータ内にリストされたブロック位置と比較するステップであって、前記トラック・メタデータが前記2次記憶システムの前記不正規CKDトラック上のユーザ・レコードの長さおよび位置を記述するステップと、
前記トラック・メタデータ内に示される、前記開始標識によって示された前記第1のブロックが前記2次記憶システム上のレコードの開始ブロックに位置合わせしていないことに応答して、警報を発生するステップと、
を含む前記方法。
【請求項15】
前記1次記憶システムからブロック標識を受信するステップであって、前記ブロック標識が変更すべき前記2次記憶システム上の同一位置のブロックに対応する前記1次記憶システムの前記少なくとも1つの変更済みレコードによって占有されたブロックの量を含む前記受信するステップと、
前記開始標識および前記ブロック標識によって示される、前記2次記憶システム上で変更すべきブロックを、前記トラック・メタデータ内にリストされたブロック位置と比較するステップと、
前記開始標識および前記ブロック標識によって示される、前記2次記憶システム上で変更すべき前記ブロックのうちの終了ブロックが、前記トラック・メタデータ内に示される、前記2次記憶システム上のレコードの終了ブロックに位置合わせしていないことに応答して、警報を発生するステップと、
をさらに含む、請求項14記載の方法。
【請求項16】
前記開始標識および前記ブロック標識がビットマップを含む、請求項15記載の方法。
【請求項17】
前記ブロック標識によって示される前記ブロックの量がさらに、前記変更済みレコードが非順次である場合に、前記2次記憶システムにコピーすべき前記1次記憶システム上の複数の変更済みレコードに関するブロック位置に対応する前記2次記憶システムの前記データ記憶装置の前記トラック上の非連続ブロックの位置および量を表す、請求項15または16記載の方法。
【請求項18】
前記変更済みレコードに対応する受信された開始標識に関する警報が発生されなかったことに応答して、前記1次記憶システム上の前記少なくとも1つの変更済みレコードを前記2次記憶システム上の同一位置にコピーするステップ
をさらに含む、請求項14、15、16、または17記載の方法。
【請求項19】
1つのブロックが、1つのセクタ、複数セクタのクラスタ、複数バイトのグループ、および複数ビットのグループのうちの1つを含む、請求項14ないし18のいずれかに記載の方法。
【請求項20】
前記トラック・メタデータがキャッシュ・レコード制御ブロック(「CRCB」)を含む、請求項14ないし19のいずれかに記載の方法。
【請求項21】
発生された警報に応答して、前記2次記憶システム内の前記データ記憶装置へのレコードのコピーを停止するステップ
をさらに含む、請求項14ないし20のいずれかに記載の方法。
【請求項22】
前記警報に応答して前記1次記憶システムに通知を送信するステップであって、前記通知が前記2次記憶システムへのレコードの送信を停止するためのメッセージを含むステップ
をさらに含む、請求項14ないし21のいずれかに記載の方法。
【請求項23】
前記2次記憶システムが、前記1次記憶システムのデータ記憶装置上のデータのミラー・コピーを保管するように構成される、請求項14ないし22のいずれかに記載の方法。
【請求項24】
ミラー・ボリューム内の不一致を検出するためにプログラミングされたコンピュータ使用可能プログラム・コードを有するコンピュータ可読媒体を含むコンピュータ・プログラムであって、前記コンピュータ・プログラムの動作が、
1次記憶システムからのビットマップを2次記憶システムで受信するステップであって、前記ビットマップが前記1次記憶システム上の不正規カウント・キー・データ(「CKD」)トラック上の少なくとも1つの変更済みレコードのセクタに相関するビットを含み、前記少なくとも1つの変更済みレコードが前記2次記憶システム上の対応する不正規CKDトラック上の同一位置にコピーする予定のものである前記受信するステップと、
前記ビットマップ内に示されたセクタ位置を、前記2次記憶システム上のキャッシュ・レコード制御ブロック(「CRCB」)内にリストされた対応するセクタ位置と比較するステップと、
前記ビットマップ内に示される、前記少なくとも1つのレコードの開始セクタが、前記CRCB内に示される、前記2次記憶システム上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生するステップと、
を含む、前記コンピュータ・プログラム。
【請求項25】
前記ビットマップ内に示される、前記少なくとも1つのレコードの終了セクタが、前記CRCB内に示される、前記2次記憶システム上のレコードの終了セクタに位置合わせしていないことに応答して、警報を発生するステップをさらに含む、請求項24記載のコンピュータ・プログラム。
【請求項26】
開始セクタからそのトラックの終わりまでのデータを消去する書き込みフォーマット・コマンドの一部として、不正規CKDトラック内の開始セクタ位置およびゼロを含むビットマップを受信するステップをさらに含み、前記ビットマップ内に示された前記セクタ位置を、前記CRCB内にリストされた対応するセクタ位置と比較する前記ステップが、前記開始セクタ位置を前記CRCB内の対応するセクタ位置と比較するステップを含み、警報を発生する前記ステップが、前記CRCB内に示される、前記開始セクタが前記2次記憶システム上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生するステップを含む、請求項24または25記載のコンピュータ・プログラム。
【請求項27】
前記警報に応答してエラーを生成するステップをさらに含む、請求項24、25、または26記載のコンピュータ・プログラム。
【請求項28】
ミラー・ボリューム内の不一致を検出するための方法であって、
1次記憶システム上の不正規カウント・キー・データ(「CKD」)トラック上の少なくとも1つのレコードによって占有されたセクタに相関するビットを含むビットマップを生成するステップであって、前記少なくとも1つのレコードが2次記憶システムの不正規CKDトラック上の同一位置にコピーする予定のものである前記生成するステップと、
前記ビットマップを前記2次記憶システムに送信するステップとを含み、
前記2次記憶システムが、前記ビットマップ内に示されたセクタ位置を、前記2次記憶システム上のキャッシュ・レコード制御ブロック(「CRCB」)内にリストされた対応するセクタ位置と比較するように構成され、
さらに、前記ビットマップ内に示される、前記少なくとも1つのレコードの開始セクタが、前記CRCB内に示される、前記2次記憶システム上のレコードの開始セクタに位置合わせしていないことに応答して、警報を発生するように構成される、
前記方法。
【請求項29】
前記2次記憶システムがさらに、前記ビットマップ内に示される、前記少なくとも1つのレコードの終了セクタが、前記CRCB内に示される、前記2次記憶システム上のレコードの終了セクタに位置合わせしていないことに応答して、警報を発生するように構成される、請求項28記載の方法。
【請求項30】
前記2次記憶システムから警報を受信したことに応答して、前記2次記憶システムへのレコードのコピーの送信を停止するステップをさらに含む、請求項28または29記載の方法。
【請求項31】
コンピュータ上で実行されたときに請求項14ないし23または請求項28ないし30のいずれかに記載の方法を実行するように適合されたプログラム・コード手段を含む、コンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2010−510564(P2010−510564A)
【公表日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2009−536717(P2009−536717)
【出願日】平成19年11月13日(2007.11.13)
【国際出願番号】PCT/EP2007/062260
【国際公開番号】WO2008/058954
【国際公開日】平成20年5月22日(2008.5.22)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】