(57)【要約】【課題】ポイント・イン・タイム・コピー関係に於けるボリューム・アドレス関連付けを切換える装置、システム及び方法が開示される。【解決手段】マイグレーション・モジュール３２０がソース・ボリューム２０５からターゲット・ボリューム２１０にデータをコピーする。検出モジュール３１０がソース・ボリューム２０５のデータ破損を検出する。切換えモジュール３１５が、データ破損の検出に応答して、ソース・ボリューム２０５のソース・ボリューム・アドレスから論理ボリューム・アドレスをターゲット・ボリューム２１０のターゲット・ボリューム・アドレスに切換え、ターゲット・ボリューム２１０へのデータの読み書きをリダイレクトする。一実施例では、追跡モジュール３２５が、ソース・ボリューム・データの、現在のターゲット・ボリューム・コピーを追跡し、ソース・ボリュームへの現在のターゲット・ボリュームのコピーなしに、ソース・ボリューム・データのためのアクセスをリダイレクトする。【選択図】図３
2007220112.tif 000002
【特許請求の範囲】
【請求項１】
ポイント・イン・タイム・コピー関係に於けるボリューム・アドレス関連付けを切換える装置であって、
ソース・ボリュームのポイント・イン・タイム・コピー構造をターゲット・ボリュームに作成するように構成されたコピー・モジュールと、
前記ソース・ボリュームから前記ターゲット・ボリュームにデータをコピーするように構成されたマイグレーション・モジュールと、
前記ソース・ボリューム中のデータ破損を検出するように構成された検出モジュールと、
前記データ破損を検出するのに応答して、前記ソース・ボリュームのソース・ボリューム・アドレスから論理ボリューム・アドレスを前記ターゲット・ボリュームのターゲット・ボリューム・アドレスに切換えるように構成された切換えモジュールと
を含む装置。
【請求項２】
ソース・ボリューム・データの現在のターゲット・ボリュームのコピーを追跡し、前記現在のターゲット・ボリュームのコピーなしに、ソース・ボリューム・データのための前記ソース・ボリュームへのアクセスをリダイレクトするように構成された追跡モジュールを更に含む、請求項１に記載の装置。
【請求項３】
前記追跡モジュールが、複数のソース・ボリューム・データのための現在のターゲット・ボリューム・コピーを追跡するよう構成されたビット・マップを含む、請求項２に記載の装置。
【請求項４】
前記マイグレーション・モジュールが、現在のターゲット・ボリュームのコピーなしに、ターゲット・ボリュームにソース・ボリューム・データを、マイグレートするように構成された、請求項１に記載の装置。
【請求項５】
前記検出モジュールをソフトウエア・アプリケーションが含む、請求項１に記載の装置。
【請求項６】
前記検出モジュールをオペレーティング・システムが含む、請求項１に記載の装置。
【請求項７】
ポイント・イン・タイム・コピー関係に於けるボリューム・アドレス関連付けを切換えるためのプログラムであって、
ソース・ボリュームのポイント・イン・タイム・コピー構造をターゲット・ボリュームに作成するステップと、
前記ソース・ボリュームから前記ターゲット・ボリュームにデータをコピーするステップと、
前記ソース・ボリューム中のデータ破損を検出するステップと、
前記データ破損を検出するのに応答して、前記ソース・ボリュームのソース・ボリューム・アドレスから論理ボリューム・アドレスを前記ターゲット・ボリュームのターゲット・ボリューム・アドレスに切換えるステップと
を含む諸ステップをコンピュータに実行させるプログラム。
【請求項８】
ポイント・イン・タイム・コピー関係に於けるボリューム・アドレス関連付けを切換えるシステムであって、
データを記憶するように構成されたソース・ボリュームと、データを記憶するように構成されたターゲット・ボリュームと、
前記ソース・ボリューム中のデータ破損を検出するように構成された検出モジュールと、
前記ソース・ボリューム及び前記ターゲット・ボリュームを管理するように構成された記憶コントローラとを含み、更に
前記ソース・ボリュームのポイント・イン・タイム・コピー構造を前記ターゲット・ボリュームに作成するように構成されたコピー・モジュールと、
前記ソース・ボリュームから前記ターゲット・ボリュームのポイント・イン・タイム・コピー構造に、データをコピーするように構成されたマイグレーション・モジュールと、
前記データ破損を検出するのに応答して、前記ソース・ボリュームのソース・ボリュ
ーム・アドレスから論理ボリューム・アドレスを前記ターゲット・ボリュームのターゲット・ボリューム・アドレスに切換えるように構成された切換えモジュールと、
ソース・ボリューム・データの現在のターゲット・ボリュームのコピーを追跡し、前記現在のターゲット・ボリュームのコピーなしに、ソース・ボリューム・データのための前記ソース・ボリュームへのアクセスをリダイレクトするように構成された追跡モジュールと
を含むシステム。
【請求項９】
前記マイグレーション・モジュールが、ターゲット・ボリュームのコピーなしに、前記ターゲット・ボリュームに各ソース・ボリューム・データ・ブロックをマイグレートするように構成された、請求項８に記載のシステム。
【請求項１０】
記憶コントローラが前記検出モジュールを含む、請求項８に記載のシステム。
【請求項１１】
ソース・ボリュームのポイント・イン・タイム・コピー構造をターゲット・ボリュームに作成するステップと、
前記ターゲット・ボリュームのポイント・イン・タイム・コピー構造に前記ソース・ボリュームからデータをコピーするステップと、
前記ソース・ボリューム中でデータ破損を検出するステップと、
前記データ破損の検出に応答して前記ターゲット・ボリュームのターゲット・ボリューム・アドレスへ前記ソース・ボリュームのソース・ボリューム・アドレスから論理ボリューム・アドレスを切換えるステップと、
ソース・ボリューム・データの現在のターゲット・ボリュームのコピーを追跡し、現在のターゲット・ボリュームのコピーなしに、前記ソース・ボリュームへのソース・ボリューム・データのためのアクセスをリダイレクトするステップと、
各ソース・ボリューム・データ・ブロックを、ターゲット・ボリューム・コピーなしに、ターゲット・ボリュームにマイグレートするステップと、
マイグレートされたデータを追跡するステップと
を含む、前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ボリューム・アドレス関連付けの切換えに関し、特にポイント・イン・タイム・コピー（point-in-time copy）関係に於けるボリューム・アドレス関連付けの切換えに関する。
【背景技術】
【０００２】
メインフレーム・コンピュータ、サーバー、コンピュータ・ワークステーション、ラップトップ・コンピュータ、ポータブル・ディジタル・アシスタント（ＰＤＡ）、埋込み処理ノードなどのデータ処理装置（ＤＰＤ）は、しばしば記憶装置にデータを記憶したり、そこからデータを取出したりする。記憶装置は、ハード・ディスク・ドライブ、光記憶装置、マイクロメカニカル記憶装置、半導体記憶装置などでよい。複数個の記憶装置が一つの記憶装置システムとして構成されてもよい。
【０００３】
ＤＰＤは、記憶システム及び記憶装置のいずれか一方若しくは両方の論理ボリュームにデータを記憶したり取出したりすることができる。更に、この論理ボリュームは１個若しくは複数個の記憶装置からなっていても良い。更にこの論理ボリュームは、ＤＰＤには単一の論理記憶装置に見えてもよい。例えば、記憶装置システムの４個のハード・ディスク・ドライブとして構成され、サーバーには単一の記憶装置と見える一つの論理ボリュームからサーバーＤＰＤはデータをアクセスすることができる。
【０００４】
論理ボリュームに記憶されるデータはしばしば非常に重要である。残念ながらデータは破損により喪失することがある。記憶装置の故障、無効な取引、書込みエラー、及びソフトウエアのウイルスがデータを破損させることがあるかもしれない。その結果、そのデータを保護するために、ＤＰＤ及び記憶装置の一方又は両方がその論理ボリュームのデータを頻繁にバックアップしてもよい。例えば、ここではソース・ボリュームと呼ぶソースの論理ボリュームのデータは、ここではターゲット・ボリュームと呼ぶターゲットの論理ボリュームにコピーされることができる。例えば、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションから入手できるＦｌａｓｈＣｏｐｙ（登録商標）Ｓｏｌｕｔｉｏｎｓというソフトウエアを用いるなどして、フラッシュ・コピーとしてコピーされる。このフラッシュ・コピーは、ソース・ボリューム・データのポイント・イン・タイム・インスタンスである。
【０００５】
もしソース・ボリュームからターゲット・ボリュームに完全にコピーされないうちにそのソース・ボリュームが破損されてしまうと、ターゲット・ボリュームへのコピーはデータがソース・ボリュームに回復される前に完了していなければならない。残念ながら、ソース・ボリュームからターゲット・ボリュームへのデータのコピーによるデータの回復は、特にかなり多い量のデータを記憶するソース・ボリュームの場合、長く掛かるかもしれない。ターゲット・ボリュームへのコピーを完了する間に、ソース・ボリューム・データのポイント・イン・タイム・バージョンはソース・ボリュームでは利用できない。データ回復手順は何時間も要することがあるが、その間中、必要なデータにＤＰＤ及び記憶装置システムの一方又は両方がアクセスできないことがある。データ・アクセスできないというのは、特に取引の場合やデータを集中利用するアプリケーションの場合、高価につく。
【０００６】
代替例として、管理者はターゲット・ボリュームをアクセスするＤＰＤ構成を変更することがあるが、これは時間が掛かりまたエラーを起こしやすい傾向がある。全てのデータをターゲット・ボリュームにコピーし、ソース・ボリュームにもう一回フラッシュ・コピーして戻した後は、ＤＰＤがソース・ボリュームへ正しいデータでもってアクセスし、その間にターゲット・ボリュームからソース・ボリュームへのフラッシュ・コピーが完了する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前記の説明から、データのポイント・イン・タイム・コピーへの迅速なアクセスをサポートする装置、システム及び方法が必要とされていることが明らかである。
【０００８】
本発明は、従来技術に応じて、特に今日利用できるデータ回復方法によって完全には解決されていない課題及び必要性に応じて開発された。従って、本発明は、従来の前述の欠点の多く又は全てを克服するような、ボリューム・アドレス関連付けを切換える装置、システム及び方法を提供することにある。
【課題を解決するための手段】
【０００９】
ポイント・イン・タイム・コピー関係に於けるボリューム・アドレス関連付けを切換える装置には、ポイント・イン・タイム・コピー構造を生じ、データをコピーし、データの破損を検出し、論理ボリュームのアドレスを切換えるといった必要な諸ステップを機能的に実行するように構成された複数のモジュールが設けられる。以下の実施例におけるこれらのモジュールはコピー・モジュール、マイグレーション・モジュール、検出モジュール及び切換えモジュールを含む。
【００１０】
コピー・モジュールはターゲット・ボリュームでポイント・イン・タイム・コピー構造を作成する。このポイント・イン・タイム・コピー構造はフラッシュ・コピーのためであってよい。このポイント・イン・タイム・コピー構造はソース・ボリュームと一つの構成を共有することができる。マイグレーション・モジュールがソース・ボリュームからターゲット・ボリュームにデータをコピーする。一実施例では、そのマイグレーション・モジュールがそのデータ・ブロックをそのポイント・イン・タイム・コピー構造にコピーする。
【００１１】
この検出モジュールはソース・ボリュームでのデータの破損を検出する。この検出モジュールはＤＰＤソフトウエア・アプリケーションで具体化されていてもよい。更に、この検出モジュールはオペレーティング・システムで具体化されてもよい。切換えモジュールはデータ破損を検出するのに応答して、ソース・ボリュームのソース・ボリューム・アドレスからターゲット・ボリュームのターゲット・ボリューム・アドレスに論理ボリューム・アドレスを切換える。論理ボリューム・アドレスの切換えはソース・ボリュームからターゲット・ボリュームへの読み書きなどのアクセスをリダイレクト（出力先変更）する。従って、その装置はソース・ボリュームからターゲット・ボリュームへの全てのデータのコピーが完了せずに、ポイント・イン・タイム・コピーを含むターゲット・ボリュームのデータへの迅速なアクセスを許容することができ、ソース・ボリュームからターゲット・ボリュームへのフラッシュ・コピー関係を完了し、ターゲット・ボリュームからソース・ボリュームへの新しいフラッシュ・コピー関係を作成する。
【００１２】
本発明のシステムはポイント・イン・タイム・コピー関係に於けるボリューム・アドレス関連付けを切換えるのにも提供される。このシステムは記憶システム中で具体化できる。特に、このシステムは、一実施例では、ソース・ボリューム、ターゲット・ボリューム、検出モジュール及び記憶コントローラを含む。この記憶コントローラは、コピー・モジュール、マイグレーション・モジュール、切換えモジュール、及び追跡モジュールを含むことができる。
【００１３】
ソース・ボリューム及びターゲット・ボリュームは論理ボリュームである。各々は１個若しくは複数個の記憶装置の一部を含んでもよい。この記憶コントローラはソース・ボリューム及びターゲット・ボリュームを管理する。更にこの記憶コントローラはソース・ボリューム及びターゲット・ボリュームとＤＰＤへのデータの記憶及び取出しを行うことができる。
【００１４】
ソース・ボリュームはＤＰＤのためにデータを記憶する。コピー・モジュールはソース・ボリュームのポイント・イン・タイム・コピー構造をターゲット・ボリュームのところで作成する。マイグレーション・モジュールはソース・ボリュームからのデータをターゲット・ボリュームのポイント・イン・タイム・コピー構造にコピーする。検出モジュールはソース・ボリューム中のデータ破損を検出する。一実施例では、記憶コントローラが検出モジュールを含む。
【００１５】
切換えモジュールは、ソース・ボリュームのソース・ボリューム・アドレスから論理ボリューム・アドレスを、データ破損の検出に応答して、ターゲット・ボリュームのターゲット・ボリューム・アドレスに切換える。追跡モジュールはソース・ボリューム・データの現在のターゲット・ボリューム・コピーを追跡し、そのソース・ボリュームへの現在のターゲット・ボリューム・コピーなしに、ソース・ボリューム・データのためのアクセスをリダイレクトすることができる。
【００１６】
一実施例では、マイグレーション・モジュールが各ソース・ボリュームのデータ・ブロックを、ターゲット・ボリュームへのターゲット・ボリュームのコピーなしにマイグレートする。このシステムは、ソース・ボリュームからターゲット・ボリュームへのデータをアクセスするための論理ボリューム・アドレスを切換えることによってデータを復元し、ポイント・イン・タイム・コピーを含むバックアップ・データへの迅速なアクセスをサポートする。
【００１７】
本発明の方法はポイント・イン・タイム・コピー関係に於けるボリューム・アドレス関連付けを切換えるのにも提供される。開示された実施例の方法は前述の装置及びシステムの動作に関連してこれまで説明した機能を実行するのに必要なステップを含む。一実施例では、この方法はポイント・イン・タイム・コピー構造を作成し、データをコピーし、データ破損を検出し、論理ボリューム・アドレスを切換えることを含む。
【００１８】
コピー・モジュールは、ターゲット・ボリュームのところで、ソース・ボリュームのポイント・イン・タイム・コピー構造を作成する。マイグレーション・モジュールはソース・ボリュームからターゲット・ボリュームにデータをコピーする。検出モジュールはソース・ボリューム中のデータ破損を検出する。切換えモジュールはデータ破損を検出するのに応答して、ソース・ボリュームのソース・ボリューム・アドレスから論理ボリューム・アドレスをターゲット・ボリュームのターゲット・ボリューム・アドレスに切換える。一実施例では、追跡モジュールはソース・ボリューム・データの現在のターゲット・ボリューム・コピーを追跡し、ソース・ボリューム・データのアクセスを、ソース・ボリュームへの現在のターゲット・ボリュームのコピーなしに、リダイレクトする。この方法は、ソース・ボリューム・アドレスからターゲット・ボリューム・アドレスへの論理ボリューム・アドレスの切換えによって、ターゲット・ボリュームへのデータのアクセスを迅速にする。
【００１９】
本明細書中、特徴、利点又は同様の言葉について言及するが、本発明で実現され得るその特徴や利点の全てが本発明の単一の実施例に於いて実現され或いは実現されてしかるべきということを暗示するものではない。むしろその特徴や利点に言及する言葉は、ある実施例に関連して説明する特定の特徴、利点又は特性が本発明の少なくとも一つの実施例に含まれることを意味すると理解される。従って、この明細書に亘って記された本発明の特徴、利点及び同様な言葉が、必ずしも同じ実施例を指さないことがある。
【００２０】
更に、本発明について示された特徴、利点及び特性は一つ若しくはそれ以上の実施例で任意の態様で組み合わせることができる。当業者は特定の実施例の特定の特徴や利点のうちの１個若しくはそれ以上を持たずに本発明が実施できることを認識する。他の例や追加的な特徴及び利点が、ある実施例では認識されるが、本発明の全ての実施例には存在しないかもしれない。
【００２１】
本発明の実施例は、データへの迅速なアクセスを提供するために、データの破損に応答してポイント・イン・タイム・コピー関係に関連するボリューム・アドレス関連付けを切換える。更に、本発明の実施例はそのようなデータをシームレスに復元することができるかもしれない。本発明のこれらの特徴や利点は以下の説明及び特許請求の範囲から一層明らかになり、また以下で開示する本発明を実施することで学ぶことできる。
【００２２】
明細書で説明する機能ユニットの多くはモジュールと名づけている。これはそれらの実施が独立に行えることを一層強調するためである。例えば、一つのモジュールを、カスタムＶＬＳＩ回路、ゲート・アレイ、又は既製品の半導体、例えば論理チップ、トランジスタ、もしくは他の個別のコンポーネントを含むハードウエア回路として導入してもよい。モジュールは、フィールド・プログラマブル・ゲートアレイ、プログラマブル・アレイ論理、プログラマブル論理装置等のプログラマブル・ハードウエア装置で導入してもよい。
【００２３】
モジュールを、種々の型のプロセッサで実行されるようなソフトウエアで導入してもよい。実行可能コードからなる或る識別されたモジュールは、例えば１個若しくは複数個の物理的な若しくは論理的なコンピュータ命令のブロックを含んでいてもよく、これらは、例えばオブジェクト、プロシージャ又は機能として組まれていてもよい。また前記に係わらず、識別されたモジュールの実行可能(executables)コードが互いに物理的に一緒の場所に位置づけられる必要はなく、異なる場所に記憶される個別の命令であってよく、そのモジュールを含み、互いに論理的に結合されるときそのモジュールのために記述された目的を達成するものを含んでいてもよい。
【００２４】
実際、実行可能コードのモジュールは単一の命令であっても複数の命令であってもよく、また幾つかの異なるコード・セグメントに亘り、異なるプログラム間に亘り、また幾つかのメモリ装置に亘って分散されていてもよい。同様に、動作データがモジュール内で識別され、示されてもよく、任意の適当な形態で実施され、任意の適当な型のデータ構造の中で組織されてもよい。その動作データは唯一のデータ・セットとして集められても、あるいは異なる記憶装置を含む異なる記憶装置上に分配されてもよいし、またシステム又はネットワーク上の単なる電子信号として少なくとも部分的に存在していてもよい。
【００２５】
本明細書中、「一実施例」、「実施例」或いは同様な用語で言及するものは、その実施例と関連して説明される特定の特徴、構造又は特性が本発明の少なくとも一つの実施例に含まれることを意味する。従って、本明細書中の「一実施例に於ける」、「実施例に於ける」という句あるいは同様な用語で表されるものは、同じ実施例のことかもしれないが、全て同じ実施例のこととは必ずしも言えない。
【００２６】
信号担持媒体については、信号を発生することのできる任意の形態をとることができ、一つの信号を発生させ、或いはマシン読み取り可能な命令のプログラムをディジタル・プロセシング装置で実行させる。信号担持媒体は、伝送線、コンパクト・ディスク、ディジタル・ビデオ・ディスク、磁気テープ、ベルヌーイのドライブ、磁気ディスク、パンチカード、フラッシュ・メモリ、集積回路、又は他のディジタル処理装置のメモリ装置によって実施されてもよい。
【００２７】
更に、本発明の前述の特徴、構造又は特性は一つ以上の実施例に於いて適当な態様で組み合わせることができる。以下の説明ではプログラミング、ソフトウエア・モジュール、ユーザー・オプション、ネットワーク取引、データベース問い合わせ、データベース構造、ハードウエア・モジュール、ハードウエア回路、ハードウエア・チップなど、本発明を一層理解できるようにするための幾つかの具体例を示す。しかし、当業者には、一つ以上の詳細例を示さなくても、他の方法、コンポーネンツ、材料などで、本発明が実施できることは理解できよう。他の実施例では、よく知られた構造や材料、動作を示していないが、本発明のいろいろな側面が見えにくくなるのを回避するためである。
【発明を実施するための最良の形態】
【００２８】
本発明の利点を容易に理解できるようにするため、前記で簡単に説明した本発明の更に詳細な説明は、以下の図に示されるような特定の実施例を参照しながら行われる。これらの図面が本発明の典型的な実施例を示すだけであることを理解すれば、それはその発明の範囲を制限するものと考えるべきではない。本発明を添付の図面の使用を通じて追加的に且つ詳細に説明する。
【００２９】
図１は本発明によるデータ処理システム１００の一実施例を示す図式的なブロック図である。このシステム１００は１個又はそれ以上のＤＰＤ１０５ａ乃至１０５ｄ（以下、１０５と総称する。）、ネットワーク１１０、記憶サーバー１１５、記憶ネットワーク１２０及び記憶システム１３０を含む。記憶システム１３０は、１個以上の記憶装置１４５ａ乃至１４５ｄ（以下、１４５と総称する。）と通信線１３５を介してコミュニケーションする記憶コントローラ１２５を含む。簡単のため、システム１００は４個のＤＰＤ１０５、一個のネットワーク１１０、１個の記憶サーバー１１５、１個の記憶ネットワーク１２０及び１個の記憶システム１３０しか示していないが、任意の数のＤＰＤ１０５、ネットワーク１１０、記憶サーバー１１５、記憶ネットワーク１２０及び記憶システム１３０を用いることができる。
【００３０】
各ＤＰＤ１０５は、記憶サーバー１１５を介して、記憶システム１３０にデータを記憶し、或いはデータを取出すことができる。記憶サーバー１１５は、記憶装置１４５にデータを記憶し、また記憶装置１４５からデータを取出すために記憶コントローラ１２５をアクセスする。記憶コントローラ１２５は記憶装置１４５を管理することができる。例えば、記憶コントローラ１２５は記憶装置１４５を初期化し、記憶装置１４５を結合したり切り離したりすることができる。記憶コントローラ１２５はまた１個以上の記憶装置１４５の部分を論理ボリュームとして構成することもできる。一実施例ではＤＰＤ１０５が論理ボリュームにデータを記憶したり、そこからデータを取出したりすることができる。
【００３１】
図２は、本発明によるデータ処理システム２００の代替実施例を示す図式的ブロック図である。このシステム２００は図１の構成要素を含み、同様の構成要素には同様の参照番号を付す。更に、このシステム２００は図１のシステム１００により具現される。
【００３２】
ＤＰＤ１０５は、データをソース・ボリューム２０５に記憶する。ソース・ボリューム２０５は、一個以上の記憶装置１４５の部分を含んでいてもよい。ターゲット・ボリューム２１０はまた一個以上の記憶装置１４５の部分を含んでいてもよい。一実施例に於いて、ソース・ボリューム２０５のデータは、フラッシュ・コピーのようなポイント・イン・タイム・コピーとして、ターゲット・ボリュームにコピーされる。このポイント・イン・タイム・コピーは、ポイント・イン・タイム・コピーが作成される時点でのソース・ボリューム２０５のデータのインスタンスを表す。
【００３３】
ソース・ボリューム２０５及びターゲット・ボリューム２１０は夫々、論理ボリューム・アドレスをもつことができる。ＤＰＤ１０５は、ソース・ボリュームやターゲット・ボリュームの論理ボリューム・アドレスを用いて、ソース・ボリューム２０５やターゲット・ボリューム２１０にアクセスすることができる。一実施例に於いて、記憶コントローラ１２５は、論理ボリューム・アドレスを一つ以上の物理アドレスに変換することができる。たとえば、記憶コントローラ１２５は、ソース・ボリューム２０５の論理ボリューム・アドレスを「１９６」といったような、記憶装置１４５の物理アドレスに変換することができる。
【００３４】
一実施例では、ターゲット・ボリューム２１０がソース・ボリューム２０５の構造と組み合わされる。例えば、ターゲット・ボリューム２１０はソース・ボリューム２０５のディレクトリ構造と組み合わせることができる。代わりに、ターゲット・ボリューム２１０及びソース・ボリューム２０５が共通の内部アドレス・スキームを有することもできる。
【００３５】
図３は本発明のボリューム切換え装置３００の一実施例のブロック図である。このボリューム切換え装置３００は図１及び図２の記憶コントローラ１２５、ＤＰＤ１０５及び記憶サーバー１１５のいずれかに組み込んでもよい。更に、ボリューム切換え装置３００を説明する際、図１及び図２の要素にも、同様な参照番号は同様な要素を示すようにして言及する。ボリューム切換え装置３００は、コピー・モジュール３０５、検出モジュール３１０、切換えモジュール３１５、マイグレーション・モジュール３２０及び追跡モジュール３２５を含む。
【００３６】
コピー・モジュール３０５は、ターゲット・ボリューム２１０のところでソース・ボリューム２０５のポイント・イン・タイム・コピー構造を作成する。ポイント・イン・タイム・コピーは、構成をソース・ボリューム２０５と共有することができる。たとえば、ポイント・イン・タイム・コピーは、ソース・ボリューム２０５のファイル構造を複製（replicate）することができる。
【００３７】
マイグレーション・モジュール３２０は、ソース・ボリューム２０５からのデータをターゲット・ボリューム２１０にコピーする。一実施例に於いて、マイグレーション・モジュール３２０は、ターゲット・ボリューム２１０のポイント・イン・タイム・コピー構造中にソース・ボリューム２０５のポイント・イン・タイム・コピーを作成するために、データをコピーする。
【００３８】
検出モジュール３１０は、ソース・ボリューム２０５中のデータの破損を検出する。一実施例に於いて、検出モジュール３１０は、記憶コントローラ１２５に含まれる。検出モジュール３１０は、ＤＰＤ１０５上で実行するソフトウェア・アプリケーションやオペレーティング・システムに含まれてもよい。
【００３９】
切換えモジュール３１５は、データの破損を検出するのに応答して、ソース・ボリューム２０５のソース・ボリューム・アドレスから、ターゲット・ボリューム２１０のターゲット・ボリューム・アドレスに、論理ボリューム・アドレスを切換える。論理ボリューム・アドレスを切換えると、ソース・ボリューム２０５へのアクセスをターゲット・ボリューム２１０にリダイレクトする。ＤＰＤ１０５は、ソース・ボリューム２０５の論理ボリューム・アドレスをアクセスし続けるが、実際はＤＰＤに必要とされる動作はなしに、ターゲット・ボリューム２１０をアクセスしている。
【００４０】
追跡モジュール３２５は、ソース・ボリュームのデータの、現在のターゲット・ボリュームのコピーを追跡する。たとえば、追跡モジュール３２５は、複数のデータ・ブロックの、ターゲット・ボリュームの複数のコピーを追跡するビット・マップを維持することができる。データ・ブロックは、５１２バイトなど特定の数のデータ・バイトを含んでいてもよい。そのビット・マップは、ソース・ボリュームのデータ・ブロックの、現在のターゲット・ボリュームのコピーが存在するかどうか記録してもよい。代わりに、追跡モジュール３２５が、ソース・ボリューム２０５の各々のディレクトリやファイルのためのエントリとリンクされたリストを維持することができる。そのリンクされたリストはディレクトリやファイルの現在のコピーがターゲット・ボリューム２１０にあるかどうかを記録することができる。
【００４１】
図４は、本発明の記憶コントローラ１２５の一実施例の装置４００を示す図式的なブロック図である。記憶コントローラ１２５は、図１及び図２の記憶コントローラ１２５であってもよい。更に、記憶コントローラ１２５の説明は、図１及び図２の構成要素を参照するが、同様な要素は同様な参照番号を付す。
【００４２】
記憶コントローラ１２５は、プロセッサ・モジュール４０５、メモリ・モジュール４１０、ブリッジ・モジュール４１５、ネットワーク・インターフェース・モジュール４２０及び記憶インターフェース・モジュール４２５を含む。図示するように、ネットワーク・インターフェース・モジュール４２０は記憶サーバー１１５と通信し、また記憶インターフェース・モジュールは１個以上の記憶装置１４５と通信する。
【００４３】
プロセッサ・モジュール４０５、メモリ・モジュール４１０、ブリッジ・モジュール４１５、ネットワーク・インターフェース・モジュール４２０及び記憶インターフェース・モジュール４２５は、一個以上の半導体基板上の半導体ゲートから製造されてもよい。各半導体基板は、回路カードに取付けられる一個以上の半導体装置にパッケージされてもよい。プロセッサ・モジュール４０５、メモリ・モジュール４１０、ブリッジ・モジュール４１５、ネットワーク・インターフェース・モジュール４２０及び記憶インターフェース・モジュール４２５相互間が、半導体金属層の貫通を介し、基板から基板への配線を介し、或いは半導体装置を結合する回路カードのトレース又は配線を介して、接続されることができる。
【００４４】
メモリ・モジュール４１０は、ソフトウエア命令及びデータを記憶する。当業者によく知られているように、プロセッサ・モジュール４０５はソフトウエア命令を実行して、データを操作する。そのプロセッサ・モジュール４０５は、ブリッジ・モジュール４１５によってネットワーク・インターフェース・モジュール４２０及び記憶インターフェース・モジュール４２５と通信する。一実施例に於いて、図３のコピー・モジュール３０５、検出モジュール３１０、切換えモジュール３１５、マイグレーション・モジュール３２０及び追跡モジュール３２５を具体化するための１個以上のソフトウェア・プロセスをメモリ・モジュール４１０が記憶していて、プロセッサ・モジュール４０５が実行する。
【００４５】
このあとの図式的なフローチャートは、論理フローチャートとして概略的に開示する。このように、ここで示した命令とラベルをつけたステップは、ここで提示する方法の1つの実施例を示す。ここで例示する方法の一つ若しくはそれ以上のステップまたはその部分と機能的に、論理的に或いは効果の上で等価な他のステップや方法も考えられる。更に、ここで用いるフォーマット及び記号は、方法の論理的ステップを説明するために提供されており、その方法の範囲を制限しないものと理解されたい。いろいろな矢印の型と線の型がフローチャートの中で使用されるかもしれないけれども、それらはその対応する方法の範囲を制限しないと考えられる。実際、何本かの矢印または他のコネクタは、その方法の論理的フローだけを示すのに使用される。たとえば、矢印はここで示した方法の列挙されたステップ相互間の特定しない間隔の待機している期間またはモニターしている期間を示すことがある。更に、特定の方法が起こる順序は、ここで示す対応するステップの順序を厳密に守っていることもいないこともある。
【００４６】
図５は、本発明のボリューム・アドレス切換え方法５００の一実施例を示す図式的なフローチャートである。この方法５００は、図１乃至図４のシステム１００、２００及び前述の装置３００、４００の動作に関しこれまで提示した機能を実行するステップを含む。更に、その方法５００は図１乃至図４の要素を参照し、同様の参照番号は同様の要素を示す。
【００４７】
その方法５００が開始し、コピー・モジュール３０５がソース・ボリューム２０５のポイント・イン・タイム・コピー構造をターゲット・ボリューム２１０のところで作成する（ステップ５０５）。例えば、コピー・モジュール３０５は、ターゲット・ボリューム２１０のディレクトリ構造及びファイル構成がソース・ボリューム２０５のディレクトリ構造及びファイル構成とほぼ同じになるように、ソース・ボリューム２０５からターゲット・ボリューム２１０に１個若しくはそれ以上のディレクトリやファイル・テーブルをコピーすることができる。
【００４８】
代替実施例に於いて、コピー・モジュール３０５は、ソース・ボリューム２０５の各データ・ブロックのアドレスが、対応するターゲット・ボリューム２１０のデータ・ブロックのアドレスを有するように、ターゲット・ボリューム２１０にデータ・ブロック・アドレスを割当てる。従って、１６進数のアドレス「Ａ１Ｂ７７８Ｅ３２９０」を有するターゲット・ボリュームのデータ・ブロックは、アドレス「Ａ１Ｂ７７８Ｅ３２９０」を有するソース・ボリューム２０５のデータ・ブロックに対応する。
【００４９】
代替実施例に於いて、コピー・モジュール３０５は、ソース・ボリューム２０５中のデータ・ブロックとほぼ同じ構成を有するターゲット・ボリューム２１０中のデータ・ブロックを構成することができる。例えば、ターゲット・ボリューム２１０中のデータ・ブロックは、ソース・ボリュームのデータ・ブロックと下位のアドレスを共有することができる。もしもソース・ボリュームのデータ・ブロックのブロック・アドレスが１６進数の「Ａ１Ｂ７７８Ｅ３２９０」なら、その対応するターゲット・ボリュームのデータ・ブロックは１６進数の「８３２４７８Ｅ３２９０」を有する。ソース・ボリュームのデータ・ブロックとターゲット・ボリュームの下位のアドレス値「７８Ｅ３２９０」を共有しているのである。
【００５０】
一実施例では、ステップ５１０に於いて、マイグレーション・モジュール３２０が、ソース・ボリューム２０５からのデータ・ブロックをターゲット・ボリューム２１０にコピーする。そのマイグレーション・モジュール３２０は、ソース・ボリューム２０５のポイント・イン・タイム・コピーを作成するためにそのポイント・イン・タイム・コピー構造にそのデータ・ブロックをコピーすることができる。
【００５１】
一実施例では、ステップ５１０に於いて、ソース・ボリューム２０５を含む第１の記憶装置１４５ａ（図４）からデータの一部を読取ることによって、マイグレーション・モジュール３２０がソース・ボリューム２０５からターゲット・ボリューム２１０にデータをコピーすることができる。更に、マイグレーション・モジュール３２０はメモリ・モジュール４１０中のデータの一部を記憶し、メモリ・モジュール４１０からのデータの一部を、ターゲット・ボリューム２１０を含む第２の記憶装置１４５ｂ（図４）に書込むことができる。こうして、ソース・ボリューム２０５のジャスト・イン・タイムのコピーをステップ５０５で作成するようにデータの部分を反復的にコピーすることによって、マイグレーション・モジュール３２０はソース・ボリューム２０５からターゲット・ボリューム２１０にデータをコピーすることができる（ステップ５１０）。
【００５２】
一実施例では、ステップ５１５に於いて、追跡モジュール３２５がソース・ボリューム２０５のデータの、ターゲット・ボリューム２１０中のコピーを追跡する。例えば、追跡モジュール３２５はソース・ボリューム２０５の各データ・ブロックを識別することができる。更に、追跡モジュール３２５はそのデータ・ブロックの現在のコピーがターゲット・ボリューム２１０にあるか調べることができる。
【００５３】
例えば、ポイント・イン・タイム・コピー構造を作成する（ステップ５０５）に続き、ソース・ボリューム２０５のデータ・ブロックのコピーがターゲット・ボリューム２１０中にないかもしれない。マイグレーション・モジュール３２０がソース・ボリューム２０５の第１のデータ・ブロックをターゲット・ボリューム２１０にコピーするとき、追跡モジュール３２５は第１のデータ・ブロックが現在のターゲット・ボリューム２１０のコピーを有することを認識するかもしれない。
【００５４】
一実施例では、追跡モジュール３２５がソース・ボリューム２０５中の各データ・ブロックのビット・マップを維持する。代わりに、追跡モジュール３２５は各データ・ブロックのためのアレイとともにリンクされたアレイ群からなるアレイを維持することができる。
【００５５】
代替実施例では、ステップ５１５に於いて、追跡モジュール３２５が、ソース・ボリューム２０５の各々のディレクトリやファイルを、ターゲット・ボリューム２１０の現在のコピーなしに、追跡する。追跡モジュール３２５は、ソース・ボリューム２０５のディレクトリやファイルを、ターゲット・ボリューム２１０中の現在のコピーとともに認識することができる。
【００５６】
ステップ５２０に於いて、検出モジュール３１０がソース・ボリューム２０５中のデータ破損を検出する。一実施例では、管理者がウイルスの活動や不正な取引をソフトウエア・アプリケーションに知らせる。そのソフトウエア・アプリケーションはデータが破損していることを宣言し、検出モジュール３１０がデータの破損の知らせを受ける。
【００５７】
一実施例では、ステップ５２０に於いて、検出モジュール３１０が、ソース・ボリューム２０５にデータをアクセスする際、データの破損を読取りエラー又は書込みエラー又はその両方として検出する。例えば、オペレーティング・システムは検出モジュール３１０を含むことができる。オペレーティング・システムは、データをアクセスする際読取りエラー又は書込みエラー又はその両方が生じるなら、エラー・メッセージを受取ることができる。ステップ５２０で、この検出モジュール３１０はそのエラーに応答してデータ破損を検出する。
【００５８】
一実施例では、ステップ５２０に於いて、検出モジュール３１０がデータ破損を不正データとして検出する。例えば、データベース・アプリケーションなどのソフトウエア・アプリケーションが検出モジュール３１０を含んでもよい。もしもソフトウエア・アプリケーションがソース・ボリューム２０５から不正データを読出すなら、検出モジュール３１０がデータ破損を検出することができる（ステップ５２０）。
【００５９】
もしもステップ５２０に於いて検出モジュール３１０がデータ破損を検出しないなら、マイグレーション・モジュール３２０はソース・ボリューム２０５からターゲット・ボリューム２１０にデータをコピーし続ける。もしもステップ５２０に於いて検出モジュール３１０がデータ破損を検出するなら、ステップ５２５に於いて切換えモジュール３１５がソース・ボリューム２０５のソース・ボリューム・アドレスから論理ボリューム・アドレスをターゲット・ボリューム２１０のターゲット・ボリューム・アドレスに切換える。
【００６０】
一実施例に於いて、論理ボリューム・アドレスがソース・ボリューム２０５へのデータ・アクセスを指向するように初期的に構成される。切換えモジュール３１５は論理ボリューム・アドレスがターゲット・ボリューム２１０へのデータ・アクセスを指向するように論理ボリューム・アドレスを変更する。例えば、記憶コントローラ１２５は、ソース・ボリューム２０５にデータを書込め或いはデータを読出せと言ったデータ・アクセス要求を受取ることができる。各要求は論理ボリューム・アドレスを含むことができる。初期に、論理ボリューム・アドレスはそのソース・ボリューム２０５に相関するソース・ボリューム・アドレスであってもよい。
【００６１】
例えば、記憶コントローラ１２５は、「１９６」というソース・ボリューム・アドレスを有するソース・ボリューム２０５と相関させ、一方で記憶コントローラ１２５は「１９７」というターゲット・ボリューム・アドレスを有するターゲット・ボリューム２１０と相関させることができる。ソース・ボリューム・アドレスは記憶装置１４５のアドレスであってもよい。ある種の実施例では、記憶コントローラ１２５がソース・ボリューム２０５及びターゲット・ボリューム２１０の一方又は両方を複数の記憶装置アドレスと相関させる。ソース・ボリューム・アドレスから論理ボリューム・アドレスをターゲット・ボリューム・アドレスにステップ５２５で切換える切換えモジュール３１５は、ソース・ボリューム２０５からターゲット・ボリューム２１０にリダイレクトされる論理ボリューム・アドレスを「１９６」から「１９７」に変更することができる。
【００６２】
一実施例では、ステップ５３０に於いて、追跡モジュール３２５が、ターゲット・ボリューム２１０をソース・ボリューム２０５にコピーせずに、データへのアクセスをリダイレクトする。例えば、追跡モジュール３２５は、ソース・ボリューム２０５の第１のデータ・ブロックがターゲット・ボリューム２１０に現在のコピーがないことを認識してもよい。もしもＤＰＤ１０５が第１のデータ・ブロックのためのアクセスを試み、切換えモジュール３１５がソース・ボリューム・アドレスから論理ボリューム・アドレスをターゲット・ボリューム・アドレスに切換える（ステップ５２５）ならば、追跡モジュール３２５はソース・ボリューム２０５への第１のデータ・ブロックのためのアクセスをリダイレクトする。
【００６３】
一実施例では、追跡モジュール３２５が現在のコピーなしにデータへの各々のアクセスを遮断する。例えば、ターゲット・ボリューム２１０中でデータ・ブロックを現在のコピーで追跡するのがビット・マップであるが、そのビット・マップに対する各々のデータ・ブロックのアクセスの試みを追跡モジュール３２５がチェックすることができる。もしもアクセスを試みたデータ・ブロックが現在のコピー無し、と追跡モジュール３２５が認識するなら、追跡モジュール３２５はアクセスを遮断しそのアクセスを修正する。前述の例に戻ると、もしも論理ボリューム・アドレスが「１９６」というソース・ボリューム・アドレスから「１９７」というターゲット・ボリューム・アドレスに切換えられるなら、追跡モジュール３２５は、「１９６」という論理ボリューム・アドレスへのアクセスをリダイレクトするというように、現在のコピーなしに、データ・ブロックへのアクセスを修正することができる。
【００６４】
一実施例では、ステップ５３５に於いて、マイグレーション・モジュール３２０が、ターゲット・ボリューム２１０へターゲット・ボリューム２１０に於ける現在のコピーなしに、データをマイグレートする。例えば、マイグレーション・モジュール３２０は現在のターゲット・ボリューム・コピーなしに、データ・ブロックやディレクトリ、ファイルなど全てのデータについて追跡モジュール３２５に質問することができる。マイグレーション・モジュール３２０はターゲット・ボリューム２１０へターゲット・ボリューム２１０に於ける現在のコピーなしに、更に全てのデータをコピーする。
【００６５】
一実施例では、ステップ５４０に於いて、追跡モジュール３２５がデータをマイグレートする。例えば、追跡モジュール３２５は、ソース・ボリューム２０５からターゲット・ボリューム２１０にマイグレートされた各データ・ブロックごとにビット・マップ・エントリを変更することができる。更に、ステップ５４５に於いて、追跡モジュール３２５は、全てのデータの現在のコピーがターゲット・ボリューム２１０にマイグレートされたか調べることができる。もし追跡モジュール３２５が、全てのデータはマイグレートされていないと判定するなら（ステップ５４５）、マイグレーション・モジュール３２０はターゲット・ボリューム２１０へターゲット・ボリューム２１０に於ける現在のコピーなしにデータをマイグレートする（ステップ５３５）。この方法５００は、ソース・ボリューム・アドレスからターゲット・ボリューム・アドレスへの論理ボリューム・アドレスを切換えることによって、ターゲット・ボリューム２１０のデータへの迅速なアクセスを提供する。
【００６６】
図６は本発明のボリューム・アドレス・データ６００の一実施例を示す図式的なブロック図である。図１乃至図５の要素については、同様な参照番号を同様な要素に付す。１個若しくはそれ以上のフィールド６０５ａ及び６０５ｂ（以下、６０５と総称する。）及び１個若しくはそれ以上のボリューム・アドレス・フィールド６１０ａ及び６１０ｂ（以下、６１０と総称する。）が図示されている。論理ボリューム・フィールド６０５及び論理ボリューム・アドレス・フィールド６１０は図４の記憶コントローラ１２５のメモリ・モジュール４１０のデータ・フィールドであってもよい。
【００６７】
ボリューム・アドレス・データ６００は、論理ボリュームを論理ボリューム・アドレスに関係付ける。各論理ボリューム・フィールド６０５は論理ボリューム名を記憶する。論理ボリューム名はＤＰＤ１０５が論理ボリュームをアドレスするのに使用してもよい。ボリューム・アドレス・フィールド６１０はソース・ボリューム２０５やターゲット・ボリューム２１０のような論理ボリュームのアドレスを記憶する。この論理ボリューム・アドレスは１個若しくはそれ以上の装置１４５に対する物理的アドレスの範囲を含んでもよい。
【００６８】
一実施例では、ＤＰＤ１０５はデータ・ブロック若しくはファイルなどのデータを、論理ボリューム名「論理ボリュームＡ」で以って論理ボリュームをアドレスするようにして、アドレスすることができる。記憶コントローラ１２５は「論理ボリュームＡ」のデータをアクセスする要求を受取り、第１の論理ボリューム・フィールド６０５ａが論理ボリューム名「論理ボリュームＡ」を記憶すると判定し、第１の論理ボリューム・アドレス・フィールド６１０ａから論理ボリューム・アドレス「１９６」を取出すことができる。更に、記憶コントローラ１２５は論理ボリューム・アドレス「１９６」をＤＰＤ１０５のためのデータをアクセスするのに利用できる。一実施例では、論理ボリューム・アドレス「１９６」はソース・ボリューム２０５の論理ボリューム・アドレスである。
【００６９】
図７は図式的なブロック図であり、本発明のボリューム・アドレス・データ６００の一実施例を更に示す。図６の論理ボリューム・フィールド６０５及び論理ボリューム・アドレス・フィールド６１０を参照する。更に、図１乃至図５の要素も、同様な参照番号が同様な要素を示すようにして、参照する。
【００７０】
ステップ５２５に於いて、切替えモジュール３１５は、ソース・ボリューム２０５のソース・ボリューム・アドレス「１９６」から第１の論理ボリューム・アドレス・フィールド６１０ａの値を、ターゲット・ボリューム２１０のターゲット・ボリューム・アドレス「１９７」に切換える。もしＤＰＤ１０５が「論理ボリュームＡ」をアクセスするなら、記憶コントローラ１２５はターゲット・ボリューム２１０及びターゲット・ボリューム・アドレス「１９７」へのアクセスを指向する。その切換えはＤＰＤ１０５にはトランスペアレントであり、データへのＤＰＤ１０５のアクセスを遮断せずにその切換えが行われる。ステップ５２５に於いて、ソース・ボリューム・アドレスからの論理ボリューム・アドレスのターゲット・ボリューム・アドレスへの切換えはターゲット・ボリューム２１０にバックアップされたデータへの迅速なアクセスを支持する。
【００７１】
本発明の実施例は、データヘの迅速なアクセスを提供するためにデータの破損に応答し、ポイント・イン・タイム・コピー関係でボリューム・アドレスの関連付けを切換える。更に、本発明の実施例は、データをシームレスに復元することが可能である。本発明はその趣旨及び必須の特性から逸脱しない範囲で他の特定の形態で実施することができる。ここで説明した実施例は全ての点で説明のためのものであって、制限するものと考えてはならない。従って、本発明の範囲は前述の説明によってというよりは、特許請求の範囲によって示される。特許請求の範囲の意味するところ及びそれと均等の範囲内になる全ての変更は本発明の範囲に包含される。
【図面の簡単な説明】
【００７２】
【図１】本発明によるデータ処理システムの一例を示すブロック図である。
【図２】本発明によるデータ処理システムの代替実施例を示すブロック図である。
【図３】本発明のボリューム切替え装置の一実施例を示すブロック図である。
【図４】本発明の記憶コントローラの一実施例を示すブロック図である。
【図５】本発明のボリューム・アドレス切替え方法の一実施例を示すフローチャートである。
【図６】本発明のボリューム・アドレス・データの一実施例を示すブロック図である。
【図７】本発明のボリューム・アドレス・データの一実施例を示すブロック図である。
【符号の説明】
【００７３】
１００  データ処理システム
１０５ａ―１０５ｄ  ＤＰＤ（データ処理装置）
１１０  ネットワーク
１１５  記憶サーバー
１２０  記憶ネットワーク
１２５  記憶コントローラ
１３０  記憶システム
１３５  通信線
１４５ａ―１４５ｄ  記憶装置
２００  データ処理システム
２０５  ソース・ボリューム
２１０  ターゲット・ボリューム
３００  ボリューム切換え装置
３０５  コピー・モジュール
３１０  検出モジュール
３１５  切換えモジュール
３２０  マイグレーション・モジュール
３２５  追跡モジュール
４０５  プロセッサ・モジュール
４１０  メモリ・モジュール
４１５  ブリッジ・モジュール
４２０  ネットワーク・インターフェース・モジュール
４２５  記憶インターフェース・モジュール
【図１】
2007220112.tif 000003
【図２】
2007220112.tif 000004
【図３】
2007220112.tif 000005
【図４】
2007220112.tif 000006
【図５】
2007220112.tif 000007
【図６】
2007220112.tif 000008
【図７】
2007220112.tif 000009