(57)【要約】  第１のカラー・ポリシーを有し、主要局における第１のデータ記憶部に主要局の現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのストレージ・コントローラと、第２のカラー・ポリシーを有し、主要局における第２のデータ記憶部に現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのストレージ・コントローラと、カラー境界に渡って従属書き込みの整合性を維持しつつ、各コントローラに新規のカラー情報を提供するように動作するカラー制御ノードとを含む、データ・ストレージ・システム。
2007537519.tif 000002
【特許請求の範囲】
【請求項１】
第１のカラー・ポリシーを有し、主要局における第１のデータ記憶部に前記主要局の現在のカラーの一部としてデータを記憶するように動作する第１のストレージ・コントローラと、第２のカラー・ポリシーを有し、前記主要局における第２のデータ記憶部に前記現在のカラーの一部としてデータを記憶するように動作する第１のストレージ・コントローラと、カラー境界に渡って従属書き込みの整合性を維持しつつ、各前記コントローラに新規のカラー情報を提供するように動作するカラー制御ノードとを備える、データ・ストレージ・システム。
【請求項２】
前記第１のストレージ・コントローラは、フリーズ／解凍ポリシーを有するフリーズ／解凍（Ｆ／Ｔ）ストレージ・コントローラであり、前記第２のストレージ・コントローラは、ポーリング・ポリシーを有するポーリング・ストレージ・コントローラである、請求項１に記載のシステム。
【請求項３】
前記カラー制御ノードは、前記現在のカラーを保持し、かつ、前記ポーリング・ストレージ・コントローラによるポーリング要求に応じて前記現在のカラーを前記ポーリング・ストレージ・コントローラへ報告し、前記Ｆ／Ｔストレージ・コントローラに対して新規のカラーへの変更を行わせるように動作する、請求項２に記載のデータ・ストレージ・システム。
【請求項４】
前記カラー制御ノードは、フリーズ・コマンドを各前記Ｆ／Ｔストレージ・コントローラへ送付するように動作する、請求項３に記載のシステム。
【請求項５】
前記Ｆ／Ｔストレージ・コントローラは、フリーズ・コマンドを受信したことに応じて、前記書き込み動作の要求者からの書き込み動作の受領確認を保留するように動作する、請求項３または４に記載のシステム。
【請求項６】
前記Ｆ／Ｔストレージ・コントローラは、フリーズ・コマンドを受信したことに応じて、書き込み動作を実行するように動作する、請求項５に記載のシステム。
【請求項７】
前記カラー制御ノードは、フリーズ・コマンドを各前記Ｆ／Ｔストレージ・コントローラへ送付した後に、各前記Ｆ／Ｔストレージ・コントローラから前記フリーズ・コマンド受信の受領確認を受信したことに応じて、前記現在のカラーを前記新規のカラーに変更するように動作する、請求項３から６のいずれか１つに記載のシステム。
【請求項８】
前記カラー制御ノードは、前記新規のカラーへ変更した後に、解凍コマンドを前記Ｆ／Ｔストレージ・コントローラへ送付するように動作する、請求項３から７のいずれか１つに記載の方法。
【請求項９】
前記Ｆ／Ｔストレージ・コントローラは、解凍コマンドを受信したことに応じて、書き込み動作を前記書き込み動作の要求者に対して受領確認するように動作し、解凍コマンドが前記Ｆ／Ｔストレージ・コントローラによって受信された後に前記書き込み受領確認が送付された前記書き込み動作はいずれも、前記新規のカラーの一部として書き込まれたとみなされる、請求項３から８のいずれか１つに記載の方法。
【請求項１０】
前記コントローラは、２次局における対応する遠隔ストレージ・コントローラに対して、いずれかの前記カラーの一部として書き込まれたデータを非同期的にコピーするように動作する。請求項３から９のいずれか１つに記載の方法。
【請求項１１】
前記ポーリング・コントローラは、前記カラー制御ノードをポーリングして、前記主要ノードにおける前記第２のデータ記憶部に前記現在のカラーの一部としてデータを記憶する前に、現在のカラーを受信するように動作する、請求項３から１０のいずれか１つに記載の方法。
【請求項１２】
複数の異機種ストレージ・コントローラに渡ってカラーおよびカラー境界を保持するための方法であって、主要データ・ストレージ局における少なくとも１つのＦ／Ｔストレージ・コントローラへフリーズ・コマンドを送付することによって、前記Ｆ／Ｔストレージ・コントローラを、書き込み動作の前記書き込み動作の要求者からの受領確認を保留するように動作させるステップと、各Ｆ／Ｔストレージ・コントローラからの前記フリーズ・コマンドの受領確認を受信すると、前記主要局の現在のカラーを新規のカラーへ変更するステップであって、前記現在のカラーは、前記主要局における少なくとも１つのポーリング・ストレージ・コントローラに対して、前記ポーリング・ストレージ・コントローラによるポーリング要求に応じて提供可能であるステップと、解凍コマンドを前記Ｆ／Ｔストレージ・コントローラへ送付することによって、前記Ｆ／Ｔストレージ・コントローラを、前記要求者に対して前記書き込み動作を受領確認するように動作させるステップであって、前記フリーズ・コマンドが前記Ｆ／Ｔストレージ・コントローラによって受信された後に受領確認が送られた前記書き込み動作はいずれも、前記新規のカラーの一部として書き込まれたとみなされるステップとを含む、方法。
【請求項１３】
データ・ストレージ・システムを実施するための方法であって、第１のカラー・ポリシーを有し、主要局における第１のデータ記憶部に前記主要局の現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのストレージ・コントローラを設置するステップと、第２のカラー・ポリシーを有し、前記主要局における第２のデータ記憶部に前記現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのストレージ・コントローラを設置するステップと、カラー境界に渡って従属書き込みの整合性を維持しつつ、各前記コントローラに新規のカラー情報を提供するように動作するカラー制御ノードを設置するステップとを含む。方法。
【請求項１４】
コンピュータ読み取り可能な媒体上に実施されたコンピュータ・プログラムであって、主要局における第１のデータ記憶部に前記主要局の現在のカラーの一部としてデータを記憶するための第１のカラー・ポリシーを有する少なくとも１つのストレージ・コントローラを制御するように動作する第１のコード・セグメントと、前記主要局における第２のデータ記憶部に前記現在のカラーの一部としてデータを記憶するための第２のカラー・ポリシーを有する少なくとも１つのストレージ・コントローラを制御するように動作する第２のコード・セグメントと、カラー境界に渡って従属書き込みの整合性を維持しつつ、各前記コントローラに新規のカラー情報を提供するためのカラー制御ノードを制御するように動作する第３のコード・セグメントとを備える、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、コンピュータ・システムのための災害復旧戦略に関し、より特定的には、２次ストレージの非同期更新をサポートする書き込みセット境界管理に関する。
【背景技術】
【０００２】
コンピュータシステムのための災害復旧戦略は、典型的には、主要局から幾分離れた場所にある２次局に記憶されたデータをコピーすることを伴う。主要コピーおよび２次コピー間でのコピーは、同期的または非同期的に行われる。コピーが同期的に行われる場合、更新が主要コピーに書き込まれるたびに、当該更新は、２次コピーが書き込まれるべき２次局にも送られる。２次局が主要局に対して２次コピーが更新されたことを通知した後にのみ、主要局は主要コピーに対する更新を受領確認し、次の更新を書き込む準備が整ったことになる。よって、更新は、主要および２次コピーへ同じ順序で書き込まれる。コピーが非同期的に行われる場合、複数の更新が、主要コピーに対して書き込まれて、任意の更新が２次局へ送られる前に、受領確認される場合がある。これは、主要コピーが２次コピーから独立して保持された状態で行われる。更新は、典型的には本明細書において「カラー」と称する書き込みのセットとして、周期的に２次局へ送られて、２次コピーに書き込まれるが、これは、主要コピーに書き込まれたのと必ずしも同じ順序で行われるわけではない。
【０００３】
単一のカラーが主要局における複数のストレージ・コントローラに渡って保持される場合、次のカラーに切り換える際に、すべてのストレージ・コントローラが次のカラーへ同等に切り換えて、カラー境界を渡る「従属書き込み」の整合性を維持することが必要である。例えば、データベース更新トランザクションのための以下の典型的な従属書き込みのシーケンスを考える。
【０００４】
１．データベース更新が生じようとすることを示す、データベース・ログを更新するための書き込みを実行し、その後、
【０００５】
２．データベースを更新するための第２の書き込みを実行し、最後に
【０００６】
３．データベース更新がうまく完了したことを示す、データベース・ログを更新するための第３の書き込みを実行する。
【０００７】
この場合、これらの従属書き込みは、すべて同じ色に属するか、または、カラー境界を越える場合は、前の（複数の）書き込みは古いカラーに属し、後者の（複数の）書き込みは新しいカラーに属することが必須である。この例において書き込み１、２、および３は、それぞれ異なるストレージ・コントローラによって書き込まれると仮定して、書き込み１および３がカラー・グループである「赤」の一部として書き込まれる場合には、書き込み２は、次のカラー・グループである「青」の一部として書き込まれ、「赤」グループが２次コピーに書き込まれた後だが「青」グループが２次コピーに書き込まれる前に主要コピーが失われる場合には、２次コピーのデータベース・ログは、実際にはデータベースは更新されていないのに、２次書き込みが生じたと誤って示すことになる。
【０００８】
主要局における複数のストレージ・コントローラに渡ってカラーとカラー境界とを保持するための手法の一つでは、書き込みをカラーと関連付ける前に、各ストレージ・コントローラは、制御カラーを保持するカラー制御ノードに対してポーリングを行う。カラー制御ノードは、ストレージ・コントローラに対して現在のカラーを通告し、ストレージ・コントローラは、当該カラーの一部として、書き込みを行う。
【０００９】
主要局における複数のストレージ・コントローラに渡ってカラーとカラー境界とを保持するための手法の他の手法では、カラー制御ノードが現在のカラーを保持するが、ストレージ・コントローラは、カラー制御ノードに対して現在のカラーをポーリングしない。それどころか、カラー制御ノードが新規のカラーを形成したい場合には、「フリーズ」コマンドを、新規のカラーを示すすべてのストレージ・コントローラへ送付する。ストレージ・コントローラが「フリーズ」コマンドを受信すると、要求者からの書き込み動作の受領確認を保留する。その後、ストレージ・コントローラは、「フリーズ」コマンドの受領確認をカラー制御ノードへ送付する。カラー制御ノードがすべてのストレージ・コントローラから受領確認を受信すると、「解凍」コマンドをストレージ・コントローラへ送付する。ストレージ・コントローラが「解凍」コマンドを受信すると、要求者に対して書き込み動作の受領確認を行い、「フリーズ」コマンドを受信後に受領確認が送られたすべての書き込み動作は、新規のカラーの一部として書き込まれたものとみなされる。
【００１０】
ストレージ・システムが、システム・スケーリングまたは移行をサポートするなどして、ポーリング・コントローラと、フリーズ／解凍コントローラとの両方を使用すれば有利になる一方で、主要局において複数の異機種ストレージ・コントローラに渡ってカラーとカラー境界とを維持するための方法が必要である。
【発明の開示】
【課題を解決するための手段】
【００１１】
本発明は、２次ストレージの非同期更新をサポートする異機種ストレージ・コントローラのための書き込みセット境界管理を開示する。
【００１２】
本発明の一局面において、データ・ストレージ・システムが提供され、当該データ・ストレージ・システムは、第１のカラー・ポリシーを有し、主要局における第１のデータ記憶部に主要局の現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのストレージ・コントローラと、第２のカラー・ポリシーを有し、主要局における第２のデータ記憶部に現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのストレージ・コントローラと、カラー境界に渡って従属書き込みの整合性を維持しつつ、各コントローラに新規のカラー情報を提供するように動作するカラー制御ノードとを含む。
【００１３】
本発明の他の局面において、第１のカラー・ポリシーは、フリーズ／解凍（Ｆ／Ｔ）ストレージ・コントローラのものであり、第２のカラー・ポリシーは、ポーリング・ストレージ・コントローラのものである。
【００１４】
本発明の他の局面において、主要局における第１のデータ記憶部に主要局における現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのフリーズ／解凍（Ｆ／Ｔ）ストレージ・コントローラと、主要局における第２のデータ記憶部に現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのポーリング・ストレージ・コントローラと、現在のカラーを保持し、かつ、ポーリング・ストレージ・コントローラによるポーリング要求に応じて現在のカラーをポーリング・ストレージ・コントローラへ報告し、Ｆ／Ｔストレージ・コントローラに対して新規のカラーへの変更をおこなわせるように動作するカラー制御ノードとを含む、データ・ストレージ・システムが提供される。
【００１５】
本発明の他の局面において、カラー制御ノードは、フリーズ・コマンドを各Ｆ／Ｔストレージ・コントローラへ送付するように動作する。
【００１６】
本発明の他の局面において、Ｆ／Ｔストレージ・コントローラは、フリーズ・コマンドを受信したことに応じて、書き込み動作の要求者からの書き込み動作の受領確認を保留するように動作する。
【００１７】
本発明の他の局面において、Ｆ／Ｔストレージ・コントローラは、フリーズ・コマンドを受信したことに応じて、書き込み動作を実行するように動作する。
【００１８】
本発明の他の局面において、カラー制御ノードは、フリーズ・コマンドを各Ｆ／Ｔストレージ・コントローラへ送付した後に、各Ｆ／Ｔストレージ・コントローラからフリーズ・コマンド受信の受領確認を受信したことに応じて、現在のカラーを新規のカラーに変更するように動作する。
【００１９】
本発明の他の局面において、カラー制御ノードは、新規のカラーへ変更した後に、解凍コマンドをＦ／Ｔストレージ・コントローラへ送付するように動作する。
【００２０】
本発明の他の局面において、Ｆ／Ｔストレージ・コントローラは、解凍コマンドを受信したことに応じて、書き込み動作を書き込み動作の要求者に対して受領確認するように動作し、解凍コマンドがＦ／Ｔストレージ・コントローラによって受信された後に書き込み受領確認が送付された書き込み動作はいずれも、新規のカラーの一部として書き込まれたとみなされる。
【００２１】
本発明の他の局面において、コントローラは、２次局における対応する遠隔ストレージ・コントローラに対して、いずれかのカラーの一部として書き込まれたデータを非同期的にコピーするように動作する。
【００２２】
本発明の他の局面において、ポーリング・コントローラは、カラー制御ノードをポーリングして、主要ノードにおける第２のデータ記憶部に現在のカラーの一部としてデータを記憶する前に、現在のカラーを受信するように動作する。
【００２３】
本発明の他の局面において、複数の異機種ストレージ・コントローラに渡ってカラーおよびカラー境界を保持するための方法が提供され、当該方法は、主要データ・ストレージ局における少なくとも１つのＦ／Ｔストレージ・コントローラへフリーズ・コマンドを送付することによって、Ｆ／Ｔストレージ・コントローラを、書き込み動作の前記書き込み動作の要求者からの受領確認を保留するように動作させるステップと、各Ｆ／Ｔストレージ・コントローラからのフリーズ・コマンドの受領確認を受信すると、主要局の現在のカラーを新規のカラーへ変更するステップであって、現在のカラーは、主要局における少なくとも１つのポーリング・ストレージ・コントローラに対して、ポーリング・ストレージ・コントローラによるポーリング要求に応じて提供可能であるステップと、解凍コマンドをＦ／Ｔストレージ・コントローラへ送付することによって、Ｆ／Ｔストレージ・コントローラを、要求者に対して書き込み動作を受領確認するように動作させるステップであって、フリーズ・コマンドがＦ／Ｔストレージ・コントローラによって受信された後に受領確認が送られた書き込み動作はいずれも、新規のカラーの一部として書き込まれたとみなされるステップとを含む。
【００２４】
本発明の他の局面において、データ・ストレージ・システムであって、主要局における第１のデータ記憶部に主要局の現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのフリーズ／解凍（Ｆ／Ｔ）ストレージコントローラと、主要局における第２のデータ記憶部に現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのポーリング・ストレージ・コントローラと、ポーリング・ストレージ・コントローラによるポーリング要求に応じて、ポーリング・ストレージ・コントローラに対して現在のカラーを保持および報告するように動作するポーリング・カラー制御ノードと、Ｆ／Ｔストレージ・コントローラおよびポーリング・カラー制御ノードの何れかに対して新規のカラーへの変更をさせるように動作するＦ／Ｔカラー制御ノードとを含む、データ・ストレージ・システムが提供される。
【００２５】
本発明の他の局面において、Ｆ／Ｔカラー制御ノードは、フリーズ・コマンドをＦ／Ｔストレージ・コントローラへ送付するように動作する。
【００２６】
本発明の他の局面において、Ｆ／Ｔストレージ・コントローラは、フリーズ・コマンドを受信したことに応じて、書き込み動作の要求者からの書き込み動作の受領確認を保留するように動作する。
【００２７】
本発明の他の局面において、Ｆ／Ｔカラー制御ノードは、各Ｆ／Ｔストレージ・コントローラからのフリーズ・コマンドの受信の受領確認を受信したことに応じて、現在のカラーを新規のカラーへ変更するためのコマンドをポーリング・カラー制御ノードへ送付するように動作する。
【００２８】
本発明の他の局面において、カラーを変更するコマンドは、フリーズ・コマンドである。
【００２９】
本発明の他の局面において、カラーを変更するコマンドは、解凍コマンドである。
【００３０】
本発明の他の局面において、カラー制御ノードは、カラー変更コマンドの受信に応じて、現在のカラーを新規のカラーへ変更するように動作する。
【００３１】
本発明の他の局面において、カラー制御ノードは、新規の色への変更の後、カラー変更受領確認をＦ／Ｔカラー制御ノードへ送付するように動作する。
【００３２】
本発明の他の局面において、Ｆ／Ｔカラー制御ノードは、カラー変更受領確認を受信したことに応じて、解凍コマンドをＦ／Ｔストレージ・コントローラへ送付するように動作する。
【００３３】
本発明の他の局面において、Ｆ／Ｔストレージ・コントローラは、解凍コマンドを受信したことに応じて、書き込み動作の要求者に対して書き込み動作を受領確認するように動作し、解凍コマンドがＦ／Ｔストレージ・コントローラによって受信された後に書き込み受領確認が送付された任意の書き込み動作は、新規のカラーの一部として書き込まれたとみなされる。
【００３４】
本発明の他の局面において、コントローラは、いずれかのカラーの一部として２次局における対応する遠隔ストレージ・コントローラへ書き込まれたデータを非同期的にコピーするように動作する。
【００３５】
本発明の他の局面において、ポーリング・コントローラは、ポーリング・カラー制御ノードをポーリングして、主要ノードにおける第２のデータ記憶部に現在のカラーの一部としてデータを記憶する前に、現在のカラーを受信するように動作する。
【００３６】
本発明の他の局面において、複数の異機種ストレージ・コントローラに渡ってカラーおよびカラー境界を保持するための方法が提供され、当該方法は、主要データ・ストレージ局における少なくとも１つのＦ／Ｔストレージ・コントローラへフリーズ・コマンドを送付することによって、Ｆ／Ｔストレージ・コントローラを、書き込み動作の要求者からの書き込み動作の受領確認を保留するように動作させるステップと、各Ｆ／Ｔストレージ・コントローラからのフリーズ・コマンドの受領確認を受信すると、主要局におけるポーリング・カラー制御ノードの現在のカラーを新規のカラーへ変更するステップであって、現在のカラーは、ポーリング・ストレージ・コントローラによるポーリング要求に応じて、主要局における少なくとも１つのポーリング・ストレージ・コントローラに対して提供可能であるステップと、カラー変更の受信の受領確認を受信した後に、解凍コマンドをＦ／Ｔストレージ・コントローラへ送付することによって、Ｆ／Ｔストレージ・コントローラが書き込み動作を要求者に対して受領確認するように動作させるステップであって、フリーズ・コマンドがＦ／Ｔストレージ・コントローラによって受信された後に受領確認が送られた書き込み動作はいずれも、新規のカラーの一部として書き込まれたとみなされるステップとを含む。
【００３７】
本発明の他の局面において、変更ステップは、解凍コマンドをポーリング・カラー制御ノードへ送付するステップを含む。
【００３８】
本発明の他の局面において、変更ステップは、解凍コマンドをポーリング・カラー制御ノードへ送付するステップを含む。
【００３９】
本発明の他の局面において、Ｆ／Ｔカラー制御ノードは、解凍コマンドをＦ／Ｔストレージ・コントローラおよびポーリング・カラー制御ノードへ送付するように動作する。
【００４０】
本発明の他の局面において、Ｆ／Ｔカラー制御ノードは、各Ｆ／Ｔストレージ・コントローラおよびポーリング・カラー制御ノードからのフリーズ・コマンドの受信の受領確認を受信したことに応じて、現在のカラーを新規のカラーへ変更するための解凍コマンドをポーリング・カラー制御ノードへ送付するように動作する。
【００４１】
本発明の他の局面において、複数の異機種ストレージ・コントローラに渡ってカラーおよびカラー境界を保持するための方法が提供され、当該方法は、主要データ・ストレージ局における少なくとも１つのＦ／Ｔストレージ・コントローラおよびポーリング・カラー制御ノードへフリーズ・コマンドを送付することによって、Ｆ／Ｔストレージ・コントローラを、書き込み動作の要求者からの書き込み動作の受領確認を保留するように動作させるステップと、各Ｆ／Ｔストレージ・コントローラおよびポーリング・カラー制御ノードからのフリーズ・コマンドの受領確認を受信すると、主要局におけるポーリング・カラー制御ノードの現在のカラーを新規のカラーへ変更するステップであって、現在のカラーは、ポーリング・ストレージ・コントローラによるポーリング要求に応じて、主要局における少なくとも１つのポーリング・ストレージ・コントローラに対して提供可能であるステップと、カラー変更の受信の受領確認を受信した後に、解凍コマンドをＦ／Ｔストレージ・コントローラへ送付することによって、Ｆ／Ｔストレージ・コントローラが書き込み動作を要求者に対して受領確認するように動作させるステップであって、フリーズ・コマンドがＦ／Ｔストレージ・コントローラによって受信された後に受領確認が送られた書き込み動作はいずれも、新規のカラーの一部として書き込まれたとみなされるステップとを含む。
【００４２】
本発明の他の局面において、変更ステップは、解凍コマンドをポーリング・カラー制御ノードへ送付するステップを含む。
【００４３】
本発明の他の局面において、Ｆ／Ｔカラー制御ノードは、ポーリング・カラー制御ノードからのフリーズ・コマンドの受信の受領確認を受信したことに応じて、解凍コマンドをポーリング・カラー制御ノードへ送付するように動作する。
【００４４】
本発明の他の局面において、Ｆ／Ｔカラー制御ノードは、ポーリング・カラー制御ノードからの解凍コマンドの受信の受領確認を受信したことに応じて、解凍コマンドをポーリング・カラー制御ノードへ送付するように動作する。
【００４５】
本発明の他の局面において、ポーリング・カラー制御ノードは、Ｆ／Ｔカラー制御ノードからフリーズコマンドおよび解凍コマンドの何れかを受信したことに応じて、現在のカラーを変更するように動作する。
【００４６】
本発明の他の局面において、複数の異機種ストレージ・コントローラに渡ってカラーおよびカラー境界を保持するための方法が提供され、当該方法は、主要データ・ストレージ局における少なくとも１つのＦ／Ｔストレージ・コントローラへ第１のフリーズ・コマンドを送付することによって、Ｆ／Ｔストレージ・コントローラを、書き込み動作の要求者からの書き込み動作の受領確認を保留するように動作させるステップと、Ｆ／Ｔカラー制御ノードが各Ｆ／Ｔストレージ・コントローラから第１のフリーズ・コマンドの受信の受領確認を受信した後に、ポーリング・カラー制御ノードへ第２のフリーズ・コマンドを送付するステップと、Ｆ／Ｔカラー制御ノードがポーリング・カラー制御ノードから第２のフリーズ・コマンドの受信の受領確認を受信した後に、ポーリング・カラー制御ノードへ第１の解凍コマンドを送付するステップと、第２のフリーズおよび第１の解凍コマンドの何れかに応じて、主要局におけるポーリング・カラー制御ノードの現在のカラーを新規のカラーへ変更するステップと、第１の解凍コマンドの受信の受領確認を受信した後に、Ｔ／Ｔストレージ・コントローラへ第２の解凍コマンドを送付することによって、Ｆ／Ｔストレージ・コントローラが書き込み動作を要求者に対して受領確認するように動作させるステップであって、フリーズ・コマンドがＦ／Ｔストレージ・コントローラによって受信された後に受領確認が送られた書き込み動作いずれもは、新規のカラーの一部として書き込まれたとみなされるステップとを含む。
【００４７】
本発明の他の局面において、データ・ストレージ・システムを実施するための方法が提供され、当該方法は、第１のカラー・ポリシーを有し、主要局における第１のデータ記憶部に主要局の現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのストレージ・コントローラを設置するステップと、第２のカラー・ポリシーを有し、主要局における第２のデータ記憶部に現在のカラーの一部としてデータを記憶するように動作する少なくとも１つのストレージ・コントローラを設置するステップと、カラー境界に渡って従属書き込みの整合性を維持しつつ、各コントローラに新規のカラー情報を提供するように動作するカラー制御ノードを設置するステップとを含む。
【００４８】
本発明の他の局面において、コンピュータ読み取り可能な媒体上に実施されたコンピュータ・プログラムが提供され、当該コンピュータ・プログラムは、主要局における第１のデータ記憶部に主要局の現在のカラーの一部としてデータを記憶するための第１のカラー・ポリシーを有する少なくとも１つのストレージ・コントローラを制御するように動作する第１のコード・セグメントと、主要局における第２のデータ記憶部に現在のカラーの一部としてデータを記憶するための第２のカラー・ポリシーを有する少なくとも１つのストレージ・コントローラを制御するように動作する第２のコード・セグメントと、カラー境界に渡って従属書き込みの整合性を維持しつつ、各コントローラに新規のカラー情報を提供するためのカラー制御ノードを制御するように動作する第３のコード・セグメントとを含む。
【００４９】
本明細書および請求項を全体を通じて、現在の色を受信するためのポーリングについての言及は、任意の既知の情報表現手法を使用してカラー情報を受信することをいい、カラーが、カラーに関連付けられるシリアル番号のような数値形式で表現されることを含むものである。
【００５０】
本発明は、添付の図面と共に以下の詳細な説明から、さらに十分に理解および評価されるだろう。
【発明を実施するための最良の形態】
【００５１】
今から図１を参照する。図１は、本発明の好ましい実施形態に従って構築されかつ動作する、主要および２次データ・ストレージのシステムの簡略ブロック図である。図１のシステムにおいて、主要局１００は、ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃを含み、それぞれ、記憶部１０６ａ，１０６ｂ，および１０６ｃに結合されている。ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃは、ホスト・システム（図示せず）からの記憶部１０６ａ，１０６ｂ，および１０６ｃ内のボリュームに対する入力／出力（Ｉ／Ｏ）アクセスを管理する。ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃは、２次局１０２における対応する遠隔ストレージ・コントローラ１０８ａ，１０８ｂ，および１０８ｃに対して、接続１１２ａ，１１２ｂ，および１１２ｃを介してデータを非同期にコピーするように構成されるのが好ましい。ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃは、本明細書において「カラー」と称されるデータ書き込みのセットを、遠隔ストレージ・コントローラ１０８ａ，１０８ｂ，および１０８ｃに対して、従来の手法に従って周期的に送信する。遠隔ストレージ・コントローラ１０８ａ，１０８ｂ，および１０８ｃは、それぞれに付属した記憶部１１４ａ，１１４ｂ，および１１４ｃにデータを書き込む。図１は、局１００および１０２における一定数の構成要素、例えばそれぞれ３つのストレージ・コントローラおよびストレージを示したが、任意の数のストレージ・コントローラおよび記憶部を使用してもよいことが理解される。
【００５２】
２次局１０２は、主要局１００から数百から数千マイル（１マイルは約１．６キロ）離れていてもよい。ストレージ・コントローラの対の間の接続１１２ａ，１１２ｂ，および１１２ｃは、遠距離電気通信搬送波によって維持される専用光ファイバ・ネットワークまたは接続、チャンネル拡張器を有する長距離光ファイバ接続のような専用回線を備えてもよく、またはストレージ・エリア・ネットワーク（ＳＡＮ）、主要エリア・ネットワーク（ＬＡＮ）、またはインターネットのようなネットワークを介して広がっていてもよい。
【００５３】
主要局１００におけるホスト・システム（図示せず）は、記憶部１０６ａ，１０６ｂ，および１０６ｃ内のボリュームに対して入力／出力（Ｉ／Ｏ）動作を行ってもよい。ホスト・システムは、ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃと、当該技術において周知の任意のネットワークまたは接続を介して通信を行ってもよい。
【００５４】
ストレージ・コントローラ１０４ａ，１０４ｂ，１０４ｃ，１０８ａ，１０８ｂ，および１０８ｃは、好ましくは、プロセッサ集合体を含み、ＩＢＭ社のＥｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ（ＥＳＳ）（ＩＢＭ社の登録商標）、３９９０ストレージ・コントローラのような、当該技術において周知の任意のストレージ・コントローラまたはサーバを備えてもよい。記憶部１０６ａ，１０６ｂ，１０６ｃ，１１４ａ，１１４ｂ，および１１４ｃは、単なるディスクの集合体（ＪＢＯＤ）、または独立ディスクの冗長アレイ（ＲＡＩＤ）アレイなどの記憶装置のアレイを備えてもよい。
【００５５】
主要局１００におけるストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃは、ネットワーク１１８を介して、カラー制御ノード１１０と通信するのが好ましい。カラー制御ノード１１０は、同一のデータ・ストレージ局内で動作する複数のストレージ・コントローラと共に機能するのが好ましいが、同一のデータ・ストレージ局内において、すべてのストレージ・コントローラが同一のカラー・ポリシーを有するわけではない。例えば、カラー制御ノード１１０は、ストレージ・コントローラをポーリングするための、本明細書において「カラー」と称する現在の書き込みセットを識別する識別子を保持する一方で、フリーズ／解凍（Ｆ／Ｔ）ストレージ・コントローラに対して、「フリーズ」コマンドをＦ／Ｔストレージ・コントローラへ発行することによって、次の書き込みセット／カラーへの変更を行わせてもよい。主要局１００において、任意の数および組み合わせのポーリング・ストレージ・コントローラおよびＦ／Ｔストレージ・コントローラを使用してもよく、例えば、ストレージ・コントローラ１０４ａおよび１０４ｂが、カラー制御ノード１１０が「フリーズ」コマンドを発行するまで現在のカラーを保持するＦ／Ｔストレージ・コントローラであってもよいし、ストレージ・コントローラ１０４ｃが、カラー制御ノード１１０をポーリングして、書き込みをカラーに関連付ける前に、現在のカラーを要求するポーリング・ストレージ・コントローラであってもよく、ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃは、従来の手法に従って当該カラーの一部としてストレージに対する書き込みを行っている状態である。
【００５６】
今度は図２を参照する。図２は、本発明の好ましい実施形態に従って動作する、複数の異機種ストレージ・コントローラに渡るカラーおよびカラー境界を保持するための方法の簡略フローチャートである。図２の方法は、図１の主要および２次データ・ストレージ・システムを参照して理解されてもよい。図２の方法は、好ましくは、ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃと、カラー制御ノード１１０とによって実施される。図２の方法において、ポーリング・ストレージ・コントローラ１０４ｃが、現在のカラーについて、当該カラーの一部として書き込みを実行する前にカラー制御ノード１１０に対して現在のカラーについてポーリングする間、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、現在のカラーを保持し、すべての書き込みを当該カラーの一部として実行する。例えば予め定義されたスケジュールに従って新規のカラーに切り換える直前に、カラー制御ノード１１０は、新規のカラーを示す「フリーズ」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂへ発行する。「フリーズ」コマンドを受信すると、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、書き込み動作の実行を継続してもよいが、要求者からの書き込み動作の受領確認を保留するか、または、書き込み動作をまとめて中断してもよい。その後、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、「フリーズ」コマンドの受領確認をカラー制御ノード１１０へ送付する。いったんカラー制御ノード１１０がすべてのＦ／Ｔストレージ・コントローラから受領確認を受信すると、そのカラーを変更する。よって、この時点以降、カラー制御ノード１１０は、新規のカラーを示すことによって、ポーリング・ストレージ・コントローラ１０４ｃから受信するポーリングに応答している。カラー制御ノード１１０は、その後、「解凍」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂへ送付し、「解凍」コマンドを受信すると、中断された書き込み動作がもしあればそれを実行して、「フリーズ」コマンドを受信後に実行された書き込み動作の受領確認を、書き込み動作の要求者に対して送付してもよい。ここで、「フリーズ」コマンドを受信後に受領確認が送付されるすべての書き込み動作は、新規のカラーの一部として書き込まれたものとみなされる。
【００５７】
今度は図３を参照する。本発明の好ましい実施形態に従って構築されかつ動作する、主要および２次データ・ストレージのシステムの簡略ブロック図である。図３のシステムは、図１のシステムと実質的に同様であり、重要な例外は、主要局１００におけるＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、「フリーズ」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂへ発行することによってフリーズ／解凍（Ｆ／Ｔ）ストレージ・コントローラに対して次のカラーへの変更を行わせるＦ／Ｔカラー制御ノード３００と通信するのに対して、ポーリング・ストレージ・コントローラ１０４ｃは、ポーリング・カラー制御ノードとして機能してポーリング・ストレージ・コントローラのために現在の色を保持するポーリング・カラー制御ノード３０２と通信するという点である。
【００５８】
今度は図４を参照する。図４は、本発明の好ましい実施形態に従って動作する、複数の異機種ストレージ・コントローラに渡るカラーおよびカラー境界を保持するための方法の簡略フローチャートである。図４の方法は、図３の主要および２次データ・ストレージ・システムを参照して理解されてもよい。図４の方法は、好ましくは、ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃと、ポーリング・カラー制御ノード３０２と、Ｆ／Ｔカラー制御ノード３００とによって実施される。図４の方法において、ポーリング・ストレージ・コントローラ１０４ｃが、現在のカラーについて、当該カラーの一部として書き込みを実行する前にポーリング・カラー制御ノード３０２に対してポーリングする間、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、現在のカラーを保持する。例えば予め定義されたスケジュールに従って新規のカラーに切り換える直前に、Ｆ／Ｔカラー制御ノード３００は、新規のカラーを示す「フリーズ」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂへ発行する。「フリーズ」コマンドを受信すると、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、書き込み動作の実行を継続してもよいが、要求者からの書き込み動作の受領確認を保留するか、または、書き込み動作をまとめて中断してもよい。その後、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、「フリーズ」コマンドの受領確認をＦ／Ｔカラー制御ノード３００へ送付する。いったんＦ／Ｔカラー制御ノード３００がすべてのＦ／Ｔストレージ・コントローラから「フリーズ」コマンドの受領確認を受信すると、Ｆ／Ｔカラー制御ノード３００は、コマンドをポーリング・カラー制御ノード３０２へ送付して、カラーを変更する。当該コマンドは、標準的な「フリーズ」または「解凍」コマンドの形式であってもよい。いったんポーリング・カラー制御ノード３０２がＦ／Ｔカラー制御ノード３００からコマンドを受信してそのカラーを変更すると、ポーリング・カラー制御ノード３０２はそのカラーを変更して、受領確認をＦ／Ｔカラー制御ノード３００へ送付する。よって、この時点以降、ポーリング・カラー制御ノード３０２は、新規のカラーを示すことによって、ポーリング・ストレージ・コントローラ１０４ｃから受信するポーリングに応答している。いったんＦ／Ｔカラー制御ノード３００がポーリング・カラー制御ノード３０２からカラーを変更した旨を示す受領確認を受信すると、Ｆ／Ｔカラー制御ノード３００は、「解凍」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂへ送付し、「解凍」コマンドを受信すると、中断された書き込み動作がもしあればそれを実行して、「フリーズ」コマンドを受信後に実行された書き込み動作の受領確認を、書き込み動作の要求者に対して送付してもよい。ここで、「フリーズ」コマンドを受信後に受領確認が送付されるすべての書き込み動作は、新規のカラーの一部として書き込まれたものとみなされる。また、Ｆ／Ｔカラー制御ノード３００は、「解凍」コマンドをポーリング・カラー制御ノード３０２へ送付してもよく、それは無視されてもよい。
【００５９】
今度は図５を参照する。図５は、本発明の好ましい実施形態に従って動作する、複数の異機種ストレージ・コントローラに渡るカラーおよびカラー境界を保持するための方法の簡略フローチャートである。図５の方法は、図３の主要および２次データ・ストレージ・システムを参照して理解されてもよい。図５の方法は、好ましくは、ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃと、ポーリング・カラー制御ノード３０２と、Ｆ／Ｔカラー制御ノード３００とによって実施される。図５の方法において、ポーリング・ストレージ・コントローラ１０４ｃが、現在のカラーについて、当該カラーの一部として書き込みを実行する前にポーリング・カラー制御ノード３０２に対してポーリングする間、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、現在のカラーを保持し、すべての書き込みを当該カラーの一部として実行する。例えば予め定義されたスケジュールに従って新規のカラーに切り換える直前に、Ｆ／Ｔカラー制御ノード３００は、新規のカラーを示す「フリーズ」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂと共にポーリング・カラー制御ノード３０２へ発行する。「フリーズ」コマンドを受信すると、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、書き込み動作の実行を継続してもよいが、要求者からの書き込み動作の受領確認を保留するか、または、書き込み動作をまとめて中断してもよい。その後、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂならびにポーリング・カラー制御ノード３０２は、「フリーズ」コマンドの受領確認をＦ／Ｔカラー制御ノード３００へ送付する。いったんＦ／Ｔカラー制御ノード３００がすべてのＦ／Ｔストレージ・コントローラおよびポーリング・カラー制御ノード３０２から受領確認を受信すると、Ｆ／Ｔカラー制御ノード３００は、コマンドをポーリング・カラー制御ノード３０２へ送付して、カラーを変更する。当該コマンドは、標準的な「解凍」コマンドの形式であってもよい。いったんポーリング・カラー制御ノード３０２がＦ／Ｔカラー制御ノード３００からコマンドを受信してそのカラーを変更すると、ポーリング・カラー制御ノード３０２はそのカラーを変更して、受領確認をＦ／Ｔカラー制御ノード３００へ送付する。よって、この時点以降、ポーリング・カラー制御ノード３０２は、新規のカラーを示すことによって、ポーリング・ストレージ・コントローラ１０４ｃから受信するポーリングに応答している。いったんＦ／Ｔカラー制御ノード３００がポーリング・カラー制御ノード３０２からカラーを変更した旨を示す受領確認を受信すると、Ｆ／Ｔカラー制御ノード３００は、「解凍」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂへ送付し、「解凍」コマンドを受信すると、中断された書き込み動作がもしあればそれを実行して、「フリーズ」コマンドを受信後に実行された書き込み動作の受領確認を、書き込み動作の要求者に対して送付してもよい。ここで、「フリーズ」コマンドを受信後に受領確認が送付されるすべての書き込み動作は、新規のカラーの一部として書き込まれたものとみなされる。
【００６０】
今度は図６を参照する。図６は、本発明の好ましい実施形態に従って動作する、複数の異機種ストレージ・コントローラに渡るカラーおよびカラー境界を保持するための方法の簡略フローチャートである。図６の方法は、図３の主要および２次データ・ストレージ・システムを参照して理解されてもよい。図６の方法は、好ましくは、ストレージ・コントローラ１０４ａ，１０４ｂ，および１０４ｃと、ポーリング・カラー制御ノード３０２と、Ｆ／Ｔカラー制御ノード３００とによって実施される。図６の方法において、ポーリング・ストレージ・コントローラ１０４ｃが、現在のカラーについて、当該カラーの一部として書き込みを実行する前にポーリング・カラー制御ノード３０２に対してポーリングする間、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、現在のカラーを保持し、すべての書き込みを当該カラーの一部として実行する。例えば予め定義されたスケジュールに従って新規のカラーに切り換える直前に、Ｆ／Ｔカラー制御ノード３００は、新規のカラーを示す「フリーズ」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂへ発行する。「フリーズ」コマンドを受信すると、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、書き込み動作の実行を継続してもよいが、要求者からの書き込み動作の受領確認を保留するか、または、書き込み動作をまとめて中断してもよい。その後、Ｆ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂは、「フリーズ」コマンドの受領確認をＦ／Ｔカラー制御ノード３００へ送付する。いったんＦ／Ｔカラー制御ノード３００がすべてのＦ／Ｔストレージ・コントローラから受領確認を受信すると、Ｆ／Ｔカラー制御ノード３００は、「フリーズ」コマンドをポーリング・カラー制御ノード３０２へ送付する。いったんポーリング・カラー制御ノード３０２がＦ／Ｔカラー制御ノード３００から「フリーズ」コマンドを受信すると、ポーリング・カラー制御ノード３０２は、そのカラーを変更してもよい。その後、ポーリング・カラー制御ノード３０２は、受領確認をＦ／Ｔカラー制御ノード３００へ送付する。いったんＦ／Ｔカラー制御ノード３００がポーリング・カラー制御ノード３０２から受領確認を受信すると、Ｆ／Ｔカラー制御ノード３００は、「解凍」コマンドをポーリング・カラー制御ノード３０２へ送付する。いったんポーリング・カラー制御ノード３０２がＦ／Ｔカラー制御ノード３００から「解凍」コマンドを受信すると、ポーリング・カラー制御ノード３０２は、そのカラーを変更してもよい。よって、ポーリング・カラー制御ノード３０２は、「フリーズ」または「解凍」コマンドの何れかを受信後にそのカラーを変更してもよい。その後、ポーリング・カラー制御ノード３０２は、「解凍」の受領確認をＦ／Ｔカラー制御ノード３００へ送付する。いったんＦ／Ｔカラー制御ノード３００がポーリング・カラー制御ノード３０２から「解凍」の受領確認を受信すると、Ｆ／Ｔカラー制御ノード３００は、「解凍」コマンドをＦ／Ｔストレージ・コントローラ１０４ａおよび１０４ｂへ送付し、「解凍」コマンドを受信すると、中断された書き込み動作がもしあればそれを実行して、「フリーズ」コマンドを受信後に実行された書き込み動作の受領確認を、書き込み動作の要求者に対して送付してもよい。ここで、「フリーズ」コマンドを受信後に受領確認が送付されるすべての書き込み動作は、新規のカラーの一部として書き込まれたものとみなされる。
【００６１】
本明細書において説明された任意の方法の１つ以上のステップは、本発明の真の精神および範囲を逸脱することなく、省略されてもよく、または、図示の順序とは異なる順序で実行されてもよいことが理解される。
【００６２】
本明細書において開示された方法および装置を、特定のコンピュータ・ハードウェアまたはソフトウェアを参照して説明してきたが、本明細書において説明した方法および装置は、従来の手法を使用して、コンピュータ・ハードウェアまたはソフトウェアにおいて容易に実施されてもよいことが理解される。
【００６３】
本発明を１つ以上の特定の実施形態を参照して説明してきたが、本説明は、本発明を全体として例示することを意図したものであり、本発明を図示の実施形態に限定するように解釈されることを意図したものではない。本明細書において特に図示されていないが、様々な変更が当業者に想起されてもよく、それでもやはり、これらの様々な変更は、本発明の真の精神および範囲内のものであることが理解される。
【図面の簡単な説明】
【００６４】
【図１】本発明の好ましい実施形態に従って構築されかつ動作する、主要および２次データ・ストレージのシステムの簡略ブロック図である。
【図２】本発明の好ましい実施形態に従って動作する、複数の異機種ストレージ・コントローラに渡るカラーおよびカラー境界を保持するための方法の簡略フローチャートである。
【図３】本発明の好ましい実施形態に従って構築されかつ動作する、主要および２次データ・ストレージのシステムの簡略ブロック図である。
【図４】本発明の好ましい実施形態に従って動作する、複数の異機種ストレージ・コントローラに渡るカラーおよびカラー境界を保持するための方法の簡略フローチャートである。
【図５】本発明の好ましい実施形態に従って動作する、複数の異機種ストレージ・コントローラに渡るカラーおよびカラー境界を保持するための方法の簡略フローチャートである。
【図６】本発明の好ましい実施形態に従って動作する、複数の異機種ストレージ・コントローラに渡るカラーおよびカラー境界を保持するための方法の簡略フローチャートである。
【図１】
2007537519.tif 000003
【図２】
2007537519.tif 000004
【図３】
2007537519.tif 000005
【図４】
2007537519.tif 000006
【図５】
2007537519.tif 000007
【図６】
2007537519.tif 000008
【国際調査報告】
2007537519.tif 000009
2007537519.tif 000010
2007537519.tif 000011