(57)【特許請求の範囲】
【請求項１】
データ・ダンプ・リクエストを受取るように構成された通信モジュールと、
前記データ・ダンプ・リクエストを受取るのに応答して少なくとも１個の走査ループを休止するように構成された走査ループ管理モジュールであって、前記少なくとも１個の走査ループを休止解除するように構成された前記走査ループ管理モジュールと、
ダンプ・データをデータ・ダンプ・バッファ空間に転送するように構成されたダンプ・データ転送モジュールと、
前記データ・ダンプ・バッファ空間からストレージにダンプ・データをオフロードするように構成されたダンプ・データ・オフロード・モジュールとを含み、
前記走査ループ管理モジュールは、前記少なくとも１個の走査ループ休止し、走査ループ休止タイマーを初期化し、前記走査ループ休止タイマーの時間切れ前に任意の残りの走査ループを休止するよう試み、かつ、前記走査ループ休止タイマーの時間切れ前に全ての走査ループが休止されていないなら全ての走査ループを休止解除するように更に構成された、
ダンプ・データを収集する装置。
【請求項２】
前記走査ループ管理モジュールが、休止タイマーの時間切れのときに全ての休止ループを休止するように再度試みて、前記走査ループ休止タイマーを再度初期化するように更に構成された、請求項１に記載の装置。
【請求項３】
ダンプ・データが前記データ・ダンプ・バッファ空間に転送される前にダンプ・データを優先順序付けするように構成されたダンプ・データ優先順序付けモジュールを更に含む、請求項１に記載の装置。
【請求項４】
前記ダンプ・データ優先順序付けモジュールが、ダンプ・データ優先順序付けを促進するためにリアルタイムで見込みのダンプ・データを登録しもしくは登録解除するように更に構成された、請求項３に記載の装置。
【請求項５】
前記データ・ダンプ・バッファ空間の個別のセグメントにダンプ・データを同時に転送するように構成された複数の処理スレッドの間でダンプ・データをバランスするように構成されたロード・バランス・モジュールを更に含む、請求項１に記載の装置。
【請求項６】
ダンプ・データ転送タイマーの時間切れまでに前記データ・ダンプ・バッファ空間にダンプ・データを転送するように更に構成された、請求項１に記載の装置。
【請求項７】
前記走査ループ管理モジュールが、不完全なデータ・ダンプにも拘わらず前記少なくとも１個の走査ループを通常の処理のため再スタートするように更に構成された、請求項６に記載の装置。
【請求項８】
前記データ・ダンプ・バッファ空間からストレージへのダンプ・データのオフロードをスケジュールするように構成されたオフロード・スケジューリング・モジュールを更に含む、請求項１に記載の装置。
【請求項９】
データ・ダンプ・リクエストを受取るステップと、
少なくとも１個の走査ループを休止するステップと、
ダンプ・データをデータ・ダンプ・バッファ空間に転送するステップと、
前記少なくとも１個の走査ループを休止解除するステップと、
前記データ・ダンプ・バッファ空間からストレージにダンプ・データをオフロードするステップとを含み、
前記少なくとも１個の走査ループを休止するステップが、
第１の走査ループを休止するステップと、
走査ループ休止タイマーを初期化するステップと、
前記走査ループ休止タイマーの時間切れ前に任意の残りの走査ループを休止させるように試みるステップと、
前記走査ループ休止タイマーの時間切れ前に全ての走査ループが休止していないなら全ての走査ループを休止解除するステップとを含む、
コンピュータ実行可能なプログラム。
【請求項１０】
前記少なくとも１個の走査ループを休止するステップが、
休止タイマーの時間切れの際に走査ループ休止タイマーを休止するよう再度試み、前記走査ループ休止タイマーを再度初期化するステップを更に含む、
請求項９に記載のコンピュータ実行可能なプログラム。
【請求項１１】
前記データ・ダンプ・バッファ空間にダンプ・データを転送する前にダンプ・データを優先順序付けするステップを更に含む、
請求項９に記載のコンピュータ実行可能なプログラム。
【請求項１２】
適正な優先順序付けを促進するために見込みのダンプ・データをリアルタイムで登録しもしくは登録解除するステップを更に含む、
請求項１１に記載のコンピュータ実行可能なプログラム。
【請求項１３】
前記データ・ダンプ・バッファ空間の個別のセグメントにダンプ・データを同時に転送するように構成された複数の処理スレッドの間でダンプ・データをバランスするステップを更に含む、
請求項９に記載のコンピュータ実行可能なプログラム。
【請求項１４】
前記データ・ダンプ・バッファ空間にダンプ・データを転送するステップが、ダンプ・データ転送タイマーの時間切れまでに前記データ・ダンプ・バッファ空間にダンプ・データを転送するステップを含む、請求項９に記載のコンピュータ実行可能なプログラム。
【請求項１５】
不完全なデータ・ダンプにも拘わらず前記少なくとも１個の走査ループを通常の処理のため再スタートするステップを更に含む、請求項１４に記載のコンピュータ実行可能なプログラム。
【請求項１６】
前記データ・ダンプ・バッファ空間からストレージへのダンプ・データのオフロードをスケジュールするステップを更に含む、請求項９に記載のコンピュータ実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ回復のためのシステム、装置および方法に関し、特にダンプ・データを収集するシステム、装置および方法に関する。
【背景技術】
【０００２】
ダンプ・データは処理エラーもしくは故障のときにディジタル・システム（ストレージ・コントローラなど）の揮発性メモリに配置されるデータを多くの場合に含む。ダンプ・データはディジタル・システムのパフォーマンスを評価（アセス）するときに貴重である。ダンプ・データはディジタル・システムの１個もしくはそれ以上のハードウエアおよび／もしくはソフトウエアのコンポーネントのパフォーマンスと直接関連付けられてもよい。ダンプ・データの値はクリアだが、ダンプ・データを収集する今日の解決策は幾つかの欠点を含む。
【０００３】
例えば、多くのダンプ・データ収集策はウォームスタートと一般に呼ばれるディジタル・システムを不適切に再スタートすることを含む。ウォームスタートはダンプ・データを収集するには効率的である。なぜならウォームスタートは揮発性のメモリ・データを収集することができる前にそれが変えられてしまわないよう確保するためにイベント・ループもしくはワーク・ディスパッチャとも呼ばれる走査ループの動作を中断する( suspend）からである。時間を必要とすることに加えて、ディジタル装置をウォームスタートすると、ストレージ・コントローラのビジー信号が多くの場合はその関連するホスト・コンピュータに伝送されてシステム動作を中断する結果となる。システム動作を中断するというのは複数のホスト・コンピュータ、ストレージ・コントローラおよびストレージ装置を含むシステムではもっと厳しいことになる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は今日の技術水準に応じて開発された。特に現在利用できる故障データ収集策によって完全に解決されてはいない従来技術のニーズおよび課題に応じて開発された。従って、本発明はダンプ・データを収集するための装置、システムおよび方法を提供するために開発された。
【課題を解決するための手段】
【０００５】
本発明の一つの側面では、ダンプ・データ収集システムがストレージ・コントローラと通信する１個もしくはそれ以上のホスト・コンピュータを含む。各ストレージ・コントローラはデータ・ダンプ・リクエストを受け取り、１個もしくはそれ以上のストレージ・コントローラ走査ループを休止し、データ・ダンプ・バッファ空間にダンプ・データを転送し、その走査ループを休止解除し（unpause）、そしてそのデータ・ダンプ空間からストレージ装置へのダンプ・データをオフロードしてもよい。
【０００６】
本発明の他の側面では、ダンプ・データ収集装置が、データ・ダンプ・リクエストを受取る通信モジュールと、データ・ダンプ・リクエストに応答して１個もしくはそれ以上の走査ループを休止させる走査ループ管理モジュールと、データ・ダンプ・バッファ空間にダンプ・データを転送するダンプ・データ転送モジュールとを含むことができる。前記走査ループ管理モジュールは、通常の動作を再開するように前記走査ループを能動化するため走査ループを休止解除することもできる。また前記ダンプ・データ転送モジュールは、データ・ダンプ・バッファ空間からストレージにダンプ・データをオフロードすることもできる。
【０００７】
或る実施例では、前記走査ループ管理モジュールは、１個もしくはそれ以上の走査ループを休止し、走査ループ休止タイマーを初期化し、前記走査ループ休止タイマーが時間切れになる前に、残りの走査ループがあればその残りの走査ループを休止しようと試み、そして前記走査ループ休止タイマーが時間切れになる前に全ての走査ループが休止されないなら全ての走査ループを休止解除することもできる。或る実施例では、前記走査ループ管理モジュールは、リセット・タイマーが時間切れになるときに、全ての走査ループを休止するように再度試み、前記走査ループの休止タイマーを再度初期化することもできる。
【０００８】
或る実施例では、前記装置は、ダンプ・データが前記データ・ダンプ・バッファ空間に転送される前にダンプ・データの優先順序付けするダンプ・データ優先順序付けモジュールを含むことができる。或る実施例では、前記ダンプ・データ優先順序付けモジュールは、ダンプ・データ優先順序付けを促進するためにリアルタイムで、見込みのダンプ・データ（perspective dump data）を登録しまた登録解除するように更に構成されてもよい。或る実施例では、前記装置は、前記データ・ダンプ・バッファ空間の個別の（distinct）セグメントにダンプ・データを同時に転送する複数の処理スレッドの間でロード（負荷）をバランスさせるロード・バランス・モジュールを含む。
【０００９】
或る実施例では、前記ダンプ・データ転送モジュールは、ダンプ・データ転送タイマーが時間切れになるまで前記データ・ダンプ・バッファ空間にダンプ・データを転送する。或る実施例では、前記走査ループ管理モジュールは、また不完全なデータのダンプにも係らず、前記走査ループを通常の処理に再始動する。或る実施例では、前記装置は、パフォーマンスを最大化するように前記データ・ダンプ・バッファ空間からストレージへの前記ダンプ・データのオフローディングをスケジュールするオフロード・スケジュール・モジュールを含む。
【００１０】
本発明の方法はまたダンプ・データを収集するために提供される。ここに開示される実施例の方法は、前述のシステムおよび装置に関連して前述した機能を実行する必要のある動作を実質的に含む。一実施例では、この方法は、データ・ダンプ・リクエストを受け取るステップと、１個もしくはそれ以上の走査ループを休止するステップと、ダンプ・データをデータ・ダンプ・バッファ空間に転送するステップと、前記走査ループを休止解除するステップと、前記データ・ダンプ・バッファ空間からストレージにダンプ・データをオフロードするステップとを含む。
【００１１】
更に、本発明の記述された特徴、効果および特性は１個もしくはそれ以上の実施例に任意の適切な態様で組み合わされても良い。当業者は本発明が特定の実施例の１個もしくはそれ以上の特定の特徴および効果を持たずに実施されてもよいことが理解するであろう。他の例において、本発明の全ての実施例には存在しないかもしれない追加的な特徴および効果がある種の実施例に認められてもよい。本発明のこれらの特徴および効果は以下の記述および特許請求の範囲から一層明確になるであろうし、また以下に開示するような本発明の実施によって習得されることもできよう。
【発明を実施するための最良の形態】
【００１２】
この明細書では多くの機能的なユニットをモジュールと名づけているが、これはそれらの実施態様が独立であることを強調するためである。例えば、モジュールは、カスタム仕様（特別注文）のＶＬＳＩ回路やゲート・アレイ、既製品の半導体、例えば論理チップ、トランジスタ、又は他の個別のコンポーネントを含むハードウエア回路として実施できる。モジュールはフィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル論理装置などのプログラム可能なハードウエア装置で実施されてもよい。
【００１３】
モジュールは、いろいろな型のプロセッサによって実行されるソフトウエアで実施されてもよい。実行可能コードからなる識別されたモジュールは、例えば目的、手順、機能として構成される１個若しくはそれ以上の物理的または論理的なブロックであってコンピュータ命令からなるブロックを含むことができる。この識別されたモジュールの実行可能コードは物理的に一緒に位置づけられる必要はなく、異なる離れた箇所に格納された異種の命令を含んでいてもよい。それらの実行可能コードは論理的に互いに結合されるとき、そのモジュールを構成し、その記述した目的を達成する。
【００１４】
実際、実行可能コードからなるモジュールは単一の命令であっても、多数の命令であってもよく、また幾つかの異なるコード・セグメントに亘って、異なるプログラム間に、また幾つかのメモリ装置に亘って分散していてもよい。同様に、操作可能なデータがモジュール中に、ここで明らかにし、また説明するようにして存在し、そして適当な型のデータ構造中に任意の適当な形態で組み込まれ、構成されることが可能である。またその操作可能なデータは、単一のデータ・セットとして集められていても、異なる複数個のストレージ装置を含む異なる箇所に亘って分散していてもよく、少なくとも部分的にシステムやネットワーク上で電子信号としてのみ存在していてもよい。
【００１５】
本明細書中、「一実施例」、「実施例」あるいは同様な用語で言及するものは、その実施例と関連して説明される特定の特徴、構造、特性が本発明の少なくとも一つの実施例に含まれることを意味する。従って、本明細書中の「一実施例に於ける」、「実施例に於ける」という句あるいは同様な用語で表されるものは、必ずしも必要というわけではないが、全て同じ実施例のことであってもよい。
【００１６】
コンピュータ読取り可能媒体については、信号を発生することのできる任意の形態をとることができ、一つの信号を発生させ、或いはマシン読取り可能な命令のプログラムをディジタル処理装置で実行させる。コンピュータ読取り可能媒体は、伝送線、コンパクト・ディスク、ディジタル・ビデオ・ディスク、磁気テープ、ベルヌーイのドライブ、磁気ディスク、ホログラフィック・ディスクもしくはテープ、パンチカード、フラッシュ・メモリ、磁気抵抗メモリ、集積回路、又は他のディジタル処理装置のメモリ装置によって実施されてもよい。
【００１７】
更に、本発明の前述の特徴、構造、特性は一つ以上の実施例に於いて適当な態様で組み合わせることができる。しかし、当業者は、一つ以上の詳細を示さなくても、他の方法、コンポーネント、材料などで、本発明を実施できることを理解できよう。他の実施例では、よく知られた構造や材料、動作を場合により省略しているが、本発明のいろいろな側面が見えにくくなるのを回避するためである。
【００１８】
図１は本発明によるダンプ・データ収集システム１００の一実施例を示す図式的なブロック図である。ここで示すダンプ・データ収集システム１００はホスト・コンピュータ１１０、ストレージ・コントローラ１２０およびデータ・ストレージ装置１３０を含む。ダンプ・データ収集システム１００のこれらのコンポーネントはダンプ・データを収集するように協働する。
【００１９】
或る実施例では、ホスト・コンピュータ１１０が通信し、ストレージ・コントローラ１２０を介してデータ・ストレージ装置１３０に対応する入出力動作を実行する。或る実施例では、ストレージ・コントローラ１２０がデータ・ダンプ・リクエストを受取る。データ・ダンプ・リクエストに応答して、ストレージ・コントローラ１２０がストレージ・コントローラ１２０の不揮発性メモリ中のデータが変らないことを確保するために、ストレージ・コントローラ走査ループがあればそれを休止させてもよい。 
【００２０】
或る実施例では、ストレージ・コントローラ１２０がダンプ・データをОＤＤダンプ・バッファ空間２６０（図２参照）に転送し、通常の動作を実行するためにその走査ループが休止されないようにしてもよい。ストレージ・コントローラ１２０はデータ・ダンプ・バッファ空間２６０からデータ・ストレージ装置１３０へのダンプ・データを長期のストレージ（格納）および分析のためにオフロードしてもよい。こうして、ストレージ・コントローラ２００のコンポーネントは通常のストレージ・コントローラ・プロセスのパフォーマンスを実質的に低減させずにダンプ・データを収集しストア（格納）するように協働する。
【００２１】
図２は本発明によるストレージ・コントローラ２００の実施例の図式的なブロック図である。図示のストレージ・コントローラ２００は、通信モジュール２１０、走査ループ管理モジュール２２０、ダンプ・データ優先順序付けモジュール２３０、ロード・バランス・モジュール２４０、ダンプ・データ転送モジュール２５０、データ・ダンプ・バッファ空間２６０、オフロード・スケジュール・モジュール２７０およびダンプ・データ・オフロード・モジュール２８０を含む。或る実施例では、ストレージ・コントローラ２００が図１のストレージ・コントローラ１２０に対応する。
【００２２】
或る実施例では、通信モジュール２１０がデータ・ダンプ・リクエストを受取る。このデータ・ダンプ・リクエストはユーザー／オペレータ、ホスト・コンピュータ１１０、コンパニオン・ストレージ・コントローラ（図６参照）のようないろいろなソースが発生源であってもよいし、あるいはストレージ・コントローラ１２０により検出される選択された内部環境が引き金になってもよい。このデータ・ダンプ・リクエストに応答して、走査ループ管理モジュール２２０はそのダンプ・データの完全性を保持するためにストレージ・コントローラ２００内の走査ループ動作を休止してもよい。図４の記述は走査ループを休止することについての更なる説明である。或る実施例では、データ・ダンプ・リクエストの時点でストレージ・コントローラ２００の揮発性メモリに置かれた何らかのあるいはすべてのデータをそのダンプ・データが含んでいてもよい。
【００２３】
或る実施例では、ダンプ・データ優先順序付けモジュール２３０がそのダンプ・データの優先順位を決定する。ダンプ・データの優先順序付けは、データ・ダンプ・バッファ空間２６０に最優先のダンプ・データが最初に転送されるのを確保する。図５の記述がダンプ・データ優先順序付けの追加的な説明である。ロード・バランス・モジュール２４０は、データ・ダンプ・バッファ空間２６０へのダンプ・データの効率的な転送を最大化するために、データ・ダンプ・バッファ空間２６０に転送されるべきダンプ・データを複数の処理スレッド間でバランスさせることができる。ダンプ・データ転送モジュール２５０は、ダンプ・データをデータ・ダンプ・バッファ空間２６０に転送させることができる。或る実施例では、不所望に長い期間、走査ループが休止されないよう確保するためにダンプ・データ転送タイマーが時間切れになるまでダンプ・データ転送モジュール２５０がデータ・ダンプ・バッファ空間２６０にダンプ・データを転送する。
【００２４】
データ・ダンプ・バッファ空間２６０は、ダンプ・データを一時的にストアするために、選択されたボリュームの揮発性メモリを含むことができる。走査ループ管理モジュール２２０は、ダンプ・データがデータ・ダンプ・バッファ空間２６０に転送されてしまったので、走査ループを通常の動作を再開するのを可能にするために走査ループを休止解除し再スタートすることができる。データ・ダンプ・バッファ空間２６０を提供することによって、ダンプ・データを一時的にストアするための効率的な再配置が可能となり、そしてダンプ・データ・オフロード・モジュール２８０による変更なしにダンプ・データが不揮発性のストレージに転送されることができるよう確保する。オフロード・スケジュール・モジュール２７０は、ストレージ・コントローラ２００のパフォーマンスへの負担をできるだけ小さくするようにストレージへのダンプ・データの転送をスケジュールすることができる。こうして本発明はデータ・ダンプを行うための効果的な解決策を提供する。
【００２５】
図３は本発明によるダンプ・データ収集方法３００の一実施例を示すフローチャートである。ここに示された方法３００は、データ・ダンプ・リクエストを受取るステップ３１０、走査ループを休止するステップ３２０、ダンプ・データを優先順序付けするステップ３３０、ダンプ・データをロード・バランスするステップ３４０、データ・ダンプ・バッファ空間２６０にダンプ・データを転送するステップ３５０、走査ループを休止解除するステップ３６０、ダンプ・データのオフロードをスケジュールするステップ３７０、およびダンプ・データをオフロードするステップ３８０を含む。この方法３００の動作は、不揮発性ストレージのボリュームにダンプ・データを効率的に収集するように協働する。
【００２６】
データ・ダンプ・リクエストを受取るステップ３１０は、ホスト・コンピュータ１１０もしくはストレージ・コントローラのオペレータからデータ・ダンプ・リクエストを受取るステップを含むことができる。走査ループを休止するステップ３２０は、揮発性メモリに置かれたデータが変更されないようにストレージ・コントローラと協働する１個もしくはそれ以上の走査ループを休止させるステップを含むことができる。ダンプ・データを優先順序付けするステップ３３０は、データ・ダンプ・バッファ空間２６０に最優先のデータが最初に転送されるのを確保するために、選択された優先順位の命令に従って揮発性メモリのボリュームにおいてデータを優先順序付けするステップを含むことができる。ダンプ・データをロード・バランスする方法３４０は、データ転送を効率よく最大化するためにデータ・ダンプ・バッファ空間に転送されるべきダンプ・データをいずれかのもしくは全ての処理スレッド間でバランスするステップを含むことができる。
【００２７】
データ・ダンプ・バッファ空間２６０にダンプ・データを転送するステップ３５０は、ダンプ・データ転送タイマーの期間、ダンプ・データ・バッファとして動作するように特定された、選択された揮発性メモリのボリュームに、もっと汎用的に使用されるように特定された揮発性メモリのボリュームからダンプ・データを転送するステップを含む。或る実施例では、ダンプ・データ転送タイマーを提供することによって、ストレージ・コントローラが受容れ可能な時間内に通常の動作状態に戻されるのを確保する。
【００２８】
走査ループを休止解除するステップ３６０は、通常の動作を再スタートしもしくは再開するように走査ループを能動化（イネーブル）するステップを含む。バッファ空間からストレージへのダンプ・データのオフロードをするスケジュールするステップ３７０は、ストレージ・コントローラの通常の入出力動作中にストレージ・コントローラのパフォーマンスに殆どもしくは全く影響を及ぼさずにダンプ・データのオフロードをスケジュールするステップを含むことができる。ダンプ・データをオフロードするステップ３８０は、データ・ダンプ・バッファ空間から不揮発性ストレージのボリュームへのストレージのためにダンプ・データを転送するステップを含むことができる。
【００２９】
図４は、本発明による１個もしくはそれ以上の走査ループを休止させる方法４００の一実施例のフローチャートを示す。図示の方法４００はデータ・ダンプ・リクエストを受取るステップ４１０、第１の走査ループを休止するステップ４２０、走査ループ休止タイマーを初期化するステップ４３０、何か残りの走査ループがあればそれを休止するよう試みるステップ４３５、残りの走査ループのどれかビジーなものがあるか決定するステップ４４０、すべての走査ループを休止解除するステップ４５０、残りのタイマーを初期化するステップ４５５、残りのタイマーの時間切れを待つステップ４６０、および残りのデータ・ダンプ動作があればそれを実行するステップ４７０を含む。この方法４００の動作は複数の走査ループを休止する一つの解決策を提供する。
【００３０】
データ・ダンプ・リクエストを受取るステップ４１０は、ホスト・コンピュータ、オペレータもしくはストレージ・コントローラからデータ・ダンプ・リクエストを受取るステップを含むことができる。第１の走査ループを休止するステップ４２０は、データ・ダンプ・リクエストの受け取りを処理する走査ループを休止するステップを含むことができる。走査ループ休止タイマーを初期化するステップ４３０は、残りの走査ループを休止するよう試みるためのタイマーを初期化するステップを含むことができる。走査ループ休止タイマーは、このシステムが不所望に長い期間、残りの走査ループを休止しようとする不毛な試みをしないよう確保する。残りの走査ループを休止するよう試みるステップ４３５は、揮発性メモリ中のダンプ・データの完全性を維持するために入出力リクエストの処理を続行しないよう任意の他の走査ループに命令するステップを含むことができる。
【００３１】
いずれかの残りの走査ループがビジーであるか決定するステップ４４０は、ステップ４３５により開始された走査ループ休止タイマーの時間切れのときに、残りの走査ループを休止する試みが成功したか決定するステップを含むことができる。残りの走査ループのうちの少なくとも一つが（おそらくは、優先度の高い命令を走査ループが処理している故に）ビジーであると仮定すると、その休止された走査ループを通常の状態に能動化するために全ての走査ループを休止解除するステップ４５０が入出力動作を再開する。
【００３２】
休止タイマーを初期化するステップ４５５および休止タイマーの時間切れを待つステップ４６０は、第１の走査ループやその他を休止するよう再度試みる前に所与の期間、通常の入出力動作をその走査ループが実行するのを許容するステップを含むことができる。一旦全ての走査ループが成功裡に休止されると、その方法４００は図３に記したような残りのデータ・ダンプ動作を実行するステップ４７０に続く。こうして本発明は揮発性メモリ中にダンプ・データを維持するため複数の走査ループを休止する解決策を提供する。
【００３３】
図５は、本発明によりダンプ・データを優先順序付けする方法５００の一実施例のフローチャートである。この図示された方法５００は、コンポーネントの優先順位を決定するステップ５１０、コンポーネントのバッファ空間の最小量を決定するステップ５２０、フリーなバッファ空間を決定するステップ５３０、およびコンポーネントのバッファ空間の最大量を決定するステップ５４０の動作を含む。この方法５００の動作は、データ・ダンプ・バッファ空間２６０に転送するためにダンプ・データを優先順序付けする解決策の一例を提供する。
【００３４】
コンポーネントの優先順位を決定するステップ５１０は、ユーザー／オペレータからコンポーネント優先順序付け命令を受取るステップを含むことができる。或る実施例では、優先順序付け命令は一つのコンポーネントが他のコンポーネントに対してどのように優先順序付けされるか、そして各コンポーネントに対応するダンプ・データが優先順序付けされるべきかを含むことができる。或る実施例では、オペレータがデータの優先順序付けを促進するためにリアルタイムで見込みのダンプ・データに対応する優先順序付け情報を登録しもしくは登録解除してもよい。これは開発者がその開発サイクルに亘って、異なるタイプのダンプ・データに焦点を絞るのを可能にする。
【００３５】
コンポーネントのバッファ空間の最小量を決定するステップ５２０は、任意のコンポーネントが必要なものよりも多くのバッファ空間を割り当てたか決定するステップを含むことができる。フリーなバッファ空間を決定するステップ５３０は、そのコンポーネントのバッファ空間の最小量に既に割り当てられたバッファ空間を決定するステップを含むことができる。フリーなバッファ空間は、コンポーネントの優先順位に従って、データ・ダンプ・バッファ空間にダンプ・データを転送するときに他のコンポーネントに動的に割り当てられることも可能である。コンポーネントのバッファ空間の最大量を決定するステップ５４０は、最高の優先順位をもつコンポーネントがフリーなバッファ空間の全てには割り当てられないことを確保するために、各コンポーネントが使用してもよいバッファ空間の最大量を決定するステップを含むことができる。
【００３６】
このように、データ・ダンプ・バッファ空間にダンプ・データが転送されるとき、ステップ５１０の動作により決定される優先順序付けに従って、最初はコンポーネントのバッファ空間の最小量について、それからコンポーネントの優先順位およびコンポーネントのバッファ空間の最大量に従うフリーなバッファ空間について、データが転送されることができる。或る実施例において、このもっと一般的な優先順序付け方法５００が、データ・ダンプ・リクエストのソース、データ・ダンプ・リクエスト（ユーザーが特定したテスト・ケース）のタイプ、もしくはストレージ・コントローラにより実行されていた動作のタイプに従って変更されてもよいことは当業者が認めるであろう。
【００３７】
図６は本発明によるダンプ・データ収集システム６００の一実施例を示す図式的なブロック図である。図示のダンプ・データ収集システム６００は、ホスト・コンピュータ６１０、ストレージ・コントローラ６２０およびデータ・ストレージ装置６３０を含む。このダンプ・データ収集システム６００は、図１のホスト・コンピュータ１１０、ストレージ・コントローラ１２０およびデータ・ストレージ装置１３０の夫々に対応付けることができる複数のホスト・コンピュータ６１０、複数のストレージ・コントローラ６２０および複数のデータ・ストレージ装置６３０のために解決策を提供する。
【００３８】
ホスト・コンピュータ６１０はストレージ・コントローラ６２０と通信することができ、これによってデータ・ストレージ装置６３０に関する入出力動作を実行する。ストレージ・コントローラ６２０はホスト・コンピュータ６１０、オペレータ／ユーザー、もしくはストレージ・コントローラ６２０からのデータ・ダンプ・リクエストを受取ることができる。同様に、ストレージ・コントローラは、収集されたダンプ・データをいずれかのデータ・ストレージ装置６３０中にストアすることができる。このようにして、本発明は複数のコンポーネントでもっておよびローカルのもしくは分散されたネットワーク上に導入されることができる。
【００３９】
本発明はその趣旨またはその基本的な特性から逸脱することなく他の特定の形態でも実施できる。ここで説明した実施例は全ての点で説明のためのものであり、本発明を制限するものと理解してはならない。従って、本発明の範囲は、前述の説明によってではなく、特許請求の範囲によって示される。その特許請求の範囲から等価な意味及び範囲内にある全ての変更は本発明の範囲に包含される。
【００４０】
本発明の効果が容易に分るようにするため、前述した本発明のもっと具体的な記述が、添付図面に描かれた特定の実施例を参照することによって得られる。これらの図面が本発明の典型的な実施例だけを示し、従って本発明の範囲を限定するものとは考えられないことを理解した上で、本発明が添付図面を使用することにより一層具体的にそして詳細に記述され説明される。
【図面の簡単な説明】
【００４１】
【図１】本発明によるダンプ・データ収集システムの一実施例を示す図式的ブロック図である。
【図２】本発明によるストレージ・コントローラの一実施例を示す図式的ブロック図である。
【図３】本発明によるダンプ・データ収集システム方法の一実施例を示すフローチャートである。
【図４】本発明による１個もしくはそれ以上の走査ループを休止させるための一実施例の方法のフローチャートである。
【図５】本発明によるダンプ・データに優先順序付けするための一実施例の方法のフローチャートである。
【図６】本発明によるダンプ・データ収集システムの一実施例を示す図式的ブロック図である。
【符号の説明】
【００４２】
１００  ダンプ・データ収集システム
１１０  ホスト・コンピュータ
１２０  ストレージ・コントローラ
１３０  データ・ストレージ装置
２００  ストレージ・コントローラ
２１０  通信（コミュニケーション）モジュール
２２０  走査ループ管理モジュール
２３０  ダンプ・データ優先順序付けモジュール
２４０  ロード・バランス・モジュール
２５０  ダンプ・データ転送モジュール
２６０  データ・ダンプ・バッファ空間
２７０  オフロード・スケジュール・モジュール
２８０  ダンプ・データ・オフロード・モジュール
６００  ダンプ・データ収集システム
６１０  ホスト・コンピュータ
６２０  ストレージ・コントローラ
６３０  データ・ストレージ装置
【図１】
0005224982.tif 000002
【図２】
0005224982.tif 000003
【図３】
0005224982.tif 000004
【図４】
0005224982.tif 000005
【図５】
0005224982.tif 000006
【図６】
0005224982.tif 000007