(57)【特許請求の範囲】
【請求項１】
ホストがアクセス可能な１次ストレージ・サブシステムと、該一次ストレージ・サブシステムに記憶されるデータのコピーを記憶する２次ストレージ・サブシステムとを含むシステムにおいて、要求に優先順位を割り当てる方法であって、
データを操作するための要求を受け取るステップと、
要求のタイプを特定するステップと、
要求のタイプに基づいて、優先順位を要求に割り当てるステップと、
要求および割り当てられた優先順位を含むコマンドを１次ストレージ・サブシステムから２次ストレージ・サブシステムに送信するステップと、
２次ストレージ・サブシステムで、要求に割り当てられた優先順位を使用して、要求を処理するステップと
を含み、
前記優先順位を要求に割り当てるステップは、複数の優先順位範囲のうちの要求に応じた特定の優先順位範囲内の１つの優先順位を割り当てる、
方法。
【請求項２】
要求が同期対等遠隔コピー・コマンドで発行され、
該要求に高い優先順位を割り当てるステップをさらに含む、請求項１に記載の方法。
【請求項３】
要求が非同期対等遠隔コピー・コマンドで発行され、
該要求に中間の優先順位を割り当てるステップをさらに含む、請求項１に記載の方法。
【請求項４】
要求が拡張距離対等遠隔コピー・コマンドで発行され、
該要求に中間の優先順位を割り当てるステップをさらに含む、請求項１に記載の方法。
【請求項５】
要求がコピー設定コマンドで発行され、
該要求に低い優先順位を割り当てるステップをさらに含む、請求項１に記載の方法。
【請求項６】
要求が同期対等遠隔コピー・コマンドにより発行され、
要求と共にホストが割り当てたホスト優先順位を受信するステップと、
ホスト優先順位を高優先順位範囲内の優先順位にマップするステップと
をさらに含む、請求項１に記載の方法。
【請求項７】
保留になっている要求および使用可能な資源のうちの少なくとも１つに基づいて、ホスト優先順位をマップするステップをさらに含む、請求項６に記載の方法。
【請求項８】
保留になっている要求に対する優先順位を更新するステップをさらに含む、請求項１に記載の方法。
【請求項９】
ホストがアクセス可能な１次ストレージ・サブシステムと、該一次ストレージ・サブシステムに記憶されるデータのコピーを記憶する２次ストレージ・サブシステムとを含むシステムにおいて、要求に優先順位を割り当てるためのプログラムであって、
データを操作するための要求を受け取る手順と、
要求のタイプを特定する手順と、
要求のタイプに基づいて、優先順位を要求に割り当てる手順と、
要求および割り当てられた優先順位を含むコマンドを１次ストレージ・サブシステムから２次ストレージ・サブシステムに送信する手順と、
を１次ストレージ・サブシステムのコンピュータに実行させ、
要求に割り当てられた優先順位を使用して、要求を処理する手順を２次ストレージ・サブシステムのコンピュータに実行させ、
前記優先順位を要求に割り当てる手順は、複数の優先順位範囲のうちの要求に応じた特定の優先順位範囲内の１つの優先順位を割り当てる、
プログラム。
【請求項１０】
ホストがアクセス可能な１次ストレージ・サブシステムと、該一次ストレージ・サブシステムに記憶されるデータのコピーを記憶する２次ストレージ・サブシステムとを含むシステムにおいて、要求に優先順位を割り当てるために、
１次ストレージ・サブシステムが、
データを操作するための要求を受け取るための手段と、
要求のタイプを特定するための手段と、
要求のタイプに基づいて、優先順位を要求に割り当てるための手段と、
要求および割り当てられた優先順位を含むコマンドを１次ストレージ・サブシステムから２次ストレージ・サブシステムに送信する手段と
を含み、
２次ストレージ・サブシステムが、要求に割り当てられた優先順位を使用して、要求を処理するための手段を含み、
前記優先順位を要求に割り当てるための手段は、複数の優先順位範囲のうちの要求に応じた特定の優先順位範囲内の１つの優先順位を割り当てる、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを操作する（例えば、更新またはコピーする）要求に対して優先順位を割り当てることを対象とする。
【背景技術】
【０００２】
災害時回復システムは、通常、１時点における突発的な破壊的故障と、ある期間にわたるデータ喪失という、２種類の障害に対処する。第２のタイプの漸次障害では、データ・ストレージのボリュームに対する更新が失われる可能性がある。データ更新の回復を支援するために、遠隔位置でデータのコピーを提供することができる。このような二重またはシャドー・コピーは、通常、アプリケーション・システムが、１次ストレージ・サブシステムで新しいデータを１次ストレージ・デバイスに書き込む際に行われる。これらコピーは、２次ストレージ・サブシステムの２次ストレージ・デバイスに記憶される。
【０００３】
通常、１次ストレージ・デバイスに記憶されたボリューム内のデータを操作（例えば、更新またはコピー）する要求に、優先順位が割り当てられる。この要求は、入出力要求とも称される。要求を実行するために資源（例えば、入出力要求を処理するためのプロセッサ能力、データを記憶するためのメモリ、およびデータ移動を実行するためのハードウェア）をどのように割り当てるべきかを管理するために、各要求に割り当てられた優先順位が１次ストレージ・サブシステムと２次ストレージ・サブシステムで資源マネージャにより使用されるので、同じ要求が、異なる優先順位で１次ストレージ・サブシステムと２次ストレージ・サブシステムで処理される場合、１次ストレージ・サブシステムと２次ストレージ・サブシステムの両方の資源が有効に管理されることはなく、資源の制約を招く可能性がある。
【０００４】
例えば、１次ストレージ・サブシステムは、ある要求を高い優先順位で処理し、２次ストレージ・サブシステムは、同じ要求を低い優先順位で処理する場合、これらの要求は、２次ストレージ・サブシステムが、より優先順位の高い要求を完了するまで待たなければならないとすると、これらの要求を妥当な時間内に終了できない可能性がある。このように、１次ストレージ・サブシステムの資源の大部分が、専らこれらの要求を処理するとしても、これらの要求は２次ストレージ・サブシステムでは別の扱いを受ける。
【０００５】
一方、１次ストレージ・サブシステムが要求を低い優先順位で処理し、２次ストレージ・サブシステムが同じ要求を高い優先順位で処理する場合、２次ストレージ・サブシステムには、妥当な時間内に１次ストレージ・サブシステムからの高い優先順位の要求を終了するのに十分な資源がない場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、当技術分野では、入出力応答時間を低減し、全体的なシステム・スループットを高めるために、ストレージ・サブシステムがその資源を有効に管理することが求められる。
【課題を解決するための手段】
【０００７】
優先順位を割り当てる方法、システム、およびプログラムが提供される。データを操作するための要求が受信される。要求のタイプが特定される。要求のタイプに基づいて、要求に優先順位が割り当てられる。
【発明を実施するための最良の形態】
【０００８】
以下の説明では、本発明のいくつかの実施態様を示す添付図面を参照する。本発明の範囲を逸脱せずに、他の実施態様を使用することができ、構造上および動作上の変更を行うことができることが理解されよう。
【０００９】
本発明の実施態様は、１次制御装置と２次制御装置（例えば、ストレージ・サブシステム）の両方で入出力要求に一貫した優先順位を適用する。
【００１０】
図１は、本発明の特定の実施態様による、コンピューティング環境を示すブロック図である。１次制御装置１００は、１つまたは複数のホスト（例えば、ホスト１１４）に、直接アクセスストレージ（ＤＡＳＤ）のような１次ストレージ１１２へのアクセスを提供する。１次ストレージ１１２は、データ・ブロックを含む複数のストレージ・ブロックに分割することができ、それらのストレージ・ブロックは、データ・サブブロックを含む複数のストレージ・サブブロックにさらに分割される。特定の実施態様では、データ・ブロックはトラックの内容であり、データ・サブブロックはトラックのセクタの内容である。参照し易くするために、本明細書では、データ・ブロックおよびデータ・サブブロックの例としてトラックおよびセクタという用語を使用するが、これらの用語を使用しても、本発明の技術をトラックおよびセクタに限定することは意味しない。本発明の技術は、任意のタイプのストレージ、任意の方法で分割されたストレージ・ブロックまたはデータ・ブロックにも適用可能である。
【００１１】
１次制御装置１００は、１次ストレージ１１２のデータ・ブロックへの更新が、１次ストレージ１１２に書き込まれる（例えば、トラックがデステージされる）まで維持される１次キャッシュ１１６を含む。１次キャッシュ１１６は、いかなるタイプのストレージでもよく、キャッシュという名称は特定の実施態様を例示しているだけである。さらに、１次制御装置１００は、不揮発性キャッシュ１１８を含む。不揮発性キャッシュ１１８は、例えば、データ更新の不揮発性コピーを維持するための、バッテリー・バックアップ揮発性メモリであってよい。
【００１２】
１次制御装置１００は、（例えば、コピー設定コマンドを実行するための）１つまたは複数のコピー・プロセス１０２、（例えば、対等遠隔コピー（ＰＰＲＣ）拡張距離または非同期ＰＰＲＣコピー・コマンドを実行するための）１つまたは複数の非同期プロセス、および（例えば、同期ＰＰＲＣコピー・コマンドを実行するための）１つまたは複数の同期プロセス１０６を含むことができる。プロセス１０２、１０４、および１０６のそれぞれは、１次制御装置１００から、２次制御装置１２０にあるストレージのような遠隔ストレージにデータを転送する。特定の実施態様では、非同期プロセス１０４は、ＰＰＲＣ拡張距離および非同期ＰＰＲＣコマンドに対して連続的に実行され、同期プロセス１０６は同期ＰＰＲＣコマンドに対して起動し、完了する。非同期ＰＰＲＣおよびＰＰＲＣ拡張距離に対して、異なる非同期プロセス１０４を設けてもよい。
【００１３】
本出願人は、例えば、同期ＰＰＲＣサービス、非同期ＰＰＲＣサービス、ＰＰＲＣ拡張距離サービス、またはコピー設定コマンドを含む複数の遠隔ミラーリング・システムを、Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ（ＥＳＳ）システムに提供する。参照の便宜上、同期対等遠隔コピー（ＰＰＲＣ）サービス、非同期ＰＰＲＣサービス、およびＰＰＲＣ拡張距離サービスは、同期ＰＰＲＣ、非同期ＰＰＲＣ、およびＰＰＲＣ拡張距離コマンドを提供するものとして説明する。
【００１４】
同期ＰＰＲＣサービスは、同期ＰＰＲＣコマンドにより最後の安全なバックアップとシステム障害の間で行われる、データ更新を回復するための技術を提供する。このようなデータ・シャドーイング・システムは、遠隔の場所でのローカル・アクセスのような、回復を目的としない追加の遠隔コピーも提供することができる。同期ＰＰＲＣサービスにより、１次ストレージ・サブシステムは、２次ストレージ・サブシステムで事前定義されたデータセットのコピーを維持する。このコピーは、障害回復に使用することができる。アプリケーションがデータを更新する際、データに対する変更が２次ストレージ・サブシステムにコピーされる。したがって、劣化故障もしくは間欠的故障またはその両方があろうがなかろうが、このコピーを使用することができる。このコピーは、同期ＰＰＲＣデータセットへの書き込み命令をインターセプトし、１次ストレージ・システムから２次ストレージ・システムへの適切な書き込み命令を生成することにより維持される。この書き込み命令は、データを更新し、新しいデータを書き込み、または同じデータを再度書き込むことができる。
【００１５】
同期ＰＰＲＣサービスは、１次ストレージ・サブシステムとのデータ同期を保つために、２次ストレージ・サブシステムにデータをコピーする。すなわち、アプリケーション・システムは、データをボリュームに書き込み、次いでその更新されたデータを、エンタープライズ・システム接続（ＥＳＣＯＮ）ファイバ・チャネルなどを介して、２次ストレージ・サブシステムに転送する。２次ストレージ・サブシステムは、データを対応するボリュームに書き込む。データが１次ストレージ・サブシステムと２次ストレージ・サブシステムの両方でボリュームに安全に書き込まれた場合にのみ、アプリケーション・システムは、そのボリュームの更新が完了したという確認を受け取る。
【００１６】
したがって、同期ＰＰＲＣコマンドを使用して、２次ストレージ・サブシステムでのコピーは、１次ストレージ・サブシステムのデータセットへの書き込み命令をインターセプトし、１次ストレージ・システムから２次ストレージ・システムへの適切な書き込み命令を生成することにより維持される。
【００１７】
同期ＰＰＲＣの場合、一連のトラックを１次制御装置１００に書き込むときホスト１１４が書き込みプロセス完了の確認通知を受け取る前に、その一連のトラックすべては、同期プロセス１０６により２次制御装置１２０にも転送される。
【００１８】
非同期ＰＰＲＣおよびＰＰＲＣ拡張距離コマンドは、１次ストレージ・サブシステムへの書き込みの確認通知の前には２次ストレージ・サブシステムに書き込まない。その代わり、ＰＰＲＣ拡張距離サービスの場合、データ・ブロックが書き込まれたとき、そのデータ・ブロックが後で２次ストレージ・サブシステムに転送されるべきことを示す情報が記憶される。非同期プロセスは、１次ストレージ・サブシステムでの更新を収集し、その更新を２次ストレージ・サブシステムに送信する。
【００１９】
ＰＰＲＣ拡張距離の場合、ホスト１１４は、予めトラックを２次制御装置１２０に送信せずに、そのトラックの１次制御装置１００への書き込みを完了することができる。トラックが１次制御装置１００に書き込まれた後、同期プロセス１０６は、そのトラックに対応するインジケータが、そのトラックが２次制御装置１２０で対応するトラックとの同期が外れていることを示すよう設定されていることを認識し、そのトラックを２次制御装置１２０に送信する。すなわち、そのトラックは、ホストによって書き込まれたトラックに関して非同期に送信される。
【００２０】
コピー設定コマンドにより、１次ストレージ・サブシステムのボリュームのコピーが、初期コピー関係中に２次ストレージ・サブシステムで作成される。この後、１次ストレージ・サブシステムのボリュームに行われた更新は、ボリュームのコピーの同期を保つために、２次ストレージ・サブシステムでボリュームの対応するコピーにコピーすることができる。
【００２１】
１次制御装置１００は、資源を管理するための１つまたは複数の資源管理プロセス１０８と、優先順位を入出力要求に割り当てるための優先順位割り当てプロセス１１０も含む。
【００２２】
特定の実施態様では、プロセス１０２、１０４、１０６、１０８、および１１０は、ファームウェアとして実施される。特定の実施態様では、プロセス１０２、１０４、１０６、１０８、および１１０は、ファームウェアとソフトウェアの組み合わせで実施される。特定の実施態様では、プロセス１０２、１０４、１０６、１０８、および１１０は、プロセス１０２、１０４、１０６、１０８、および１１０のそれぞれに対する別個のソフトウェア・プログラムとして実施される。特定の実施態様では、プロセス１０２、１０４、１０６、１０８、および１１０は、相互に、または他のソフトウェア・プログラムと組み合わせることができる（例えば、非同期プロセス１０４および同期プロセス１０６を相互に組み合わせることができる）。
【００２３】
チャネル・アダプタ１４０Ａ・・・１４０Ｎは、１次制御装置１００がチャネルにインターフェースすることを可能にする。参照の便宜上、Ａ・・・Ｎで複数の構成要素を表すものとする（例えば、１４０Ａ・・・１４０Ｎ）。特定の実施態様では、チャネル・アダプタ１４０Ａ・・・１４０Ｎはファイバー・チャネル・アダプタであってよい。
【００２４】
２次制御装置１２０は、１次ストレージ１１２のボリュームの１つまたはすべてのサブセットのバックアップ・コピーを維持する、２次ストレージ１２２のようなディスク・ストレージへのアクセスを可能にする。２次ストレージは、直接アクセスストレージ（ＤＡＳＤ）であってよい。２次ストレージ１２２も、データ・ブロックを含む複数のストレージ・ブロックに分割され、ストレージ・ブロックは、データ・サブブロックを含む複数のストレージ・サブブロックにさらに分割される。特定の実施態様では、データ・ブロックはトラックであり、データ・サブブロックはトラックのセクタである。参照の便宜上、本明細書では、データ・ブロックおよびデータ・サブブロックの例としてトラックおよびセクタという用語を使用するが、これらの用語を使用することは、本発明の技術をトラックおよびセクタに限定することを意味するものではない。本発明の技術は、いかなるタイプのストレージ、ストレージ・ブロック、または任意の方法で分割されたデータ・ブロックにも適用可能である。
【００２５】
２次制御装置１２０は、資源を管理するための１つまたは複数の資源管理プロセス１２８、および優先順位を入出力要求に割り当てる優先順位割り当てプロセス１３０も含む。特定の実施態様では、プロセス１２８および１３０は、ファームウェアとして実施される。特定の実施態様では、プロセス１２８および１３０は、ファームウェアとソフトウェアの組み合わせで実施される。特定の実施態様では、プロセス１２８および１３０は、プロセス１２８および１３０のそれぞれに対する別個のソフトウェア・プログラムとして実施される。特定の実施態様では、プロセス１２８および１３０は、相互に、または他のソフトウェア・プログラムと組み合わせることができる。
【００２６】
チャネル・アダプタ１５０Ａ・・・１５０Ｎは、２次制御装置１２０がチャネルにインターフェースすることを可能にする。参照の便宜上、Ａ・・・Ｎで複数の構成要素を表すものとする（例えば、１５０Ａ・・・１５０Ｎ）。特定の実施態様では、チャネル・アダプタ１５０Ａ・・・１５０Ｎはファイバー・チャネル・アダプタであってよい。
【００２７】
図面を簡略化するために、通信パス１７０および１７２しか示さないが、ホスト１１４と各チャネル・アダプタ１４０Ａ・・・１４０Ｎの間、およびチャネル・アダプタ１４０Ａ・・・１４０Ｎとチャネル・アダプタ１５０Ａ・・・１５０Ｎの間に通信パスがあってよい。
【００２８】
特定の実施態様では、チャネル・アダプタ１４０Ｎと１５０Ａの間の通信パス１７２は双方向であってよい。同様に、ある種のコマンドに対して、制御装置１００または１２０を１次制御装置に指定し、他の制御装置を２次制御装置に指定することができる。例えば、制御装置１００は、非同期ＰＰＲＣコマンドに対して１次制御装置１２０に指定することができ、制御装置１２０は、（例えば、ボリュームの初期コピーを作るために）コピー設定コマンドに対して１次制御装置１２０として指定することができる。
【００２９】
このように、チャネル・アダプタ１４０Ａ・・・１４０Ｎは、通信パス１７０または通信パス１７２から入出力要求を受け取ることができる。特定の実施態様では、入出力要求は、例えば、ホスト入出力コマンド、非同期ＰＰＲＣコマンド、拡張距離ＰＰＲＣコマンド、同期ＰＰＲＣコマンド、およびコピー設定コマンドを含むことができる。本発明の実施態様は、優先順位割り当てプロセス１１０および１３０によりそれら入出力要求のそれぞれに優先順位を割り当てる。
【００３０】
優先順位割り当てプロセス１１０および１３０は、入出力要求の入出力タイプに基づいて、優先順位を各入出力要求に割り当てる。特定の実施態様では、入出力タイプは、入出力要求がホスト入出力コマンドか、非同期ＰＰＲＣコマンドか、拡張距離ＰＰＲＣコマンドか、同期ＰＰＲＣコマンドか、コピー設定コマンドかを示す。しかし、いかなるタイプの入出力要求でも、本発明の範囲に含まれる。
【００３１】
特定の実施態様では、１次制御装置１００および２次制御装置１２０は、直接高速伝送回線（例えば、ＥＳＣＯＮリンク）のような通信パスを介して通信する。しかし、通信パスは、１次制御装置１００と２次制御装置１２０が相互に通信可能な限り、ネットワーク伝送回線、光ファイバー・ケーブルなどを含めて、当技術分野で周知のいかなる他の通信手段からでも構成することができる。
【００３２】
特定の実施態様では、１次制御装置１００および２次制御装置１２０は、１次制御装置１００および２次制御装置１２０が相互に通信可能な限り、ＩＢＭ３９９０モデル６ストレージ・コントローラ、エンタープライズ・ストレージ・サーバ、または当技術分野で周知のいかなる他の制御装置からでも構成することができる。
【００３３】
特定の実施態様では、１次制御装置１００もしくは２次制御装置１２０またはその両方は、メインフレーム、サーバ、パーソナル・コンピュータ、ワークステーション、ラップトップ、ハンドヘルド・コンピュータ、テレフォニー装置、ネットワーク機器、仮想化装置、ストレージ・コントローラなどのような、当技術分野で周知のいかなるコンピューティング・デバイスをも含むことができる。
【００３４】
１次サイトは、複数の１次制御装置、１次ストレージ、およびホスト・コンピュータを含むことができる。２次サイトは、複数の２次制御装置および２次ストレージを含むことができる。
【００３５】
本発明の特定の実施態様では、データはボリューム対で維持される。ボリューム対は、１次ストレージ（例えば、１次ストレージ１１２）のボリュームと、１次ボリュームで維持されるデータの一貫したコピーを含む２次ストレージ（例えば、２次ストレージ１２２）の対応するボリュームから構成される。例えば、１次ストレージ１１２は、ボリュームＡおよびボリュームＢを含むことができ、２次ストレージ１２２は、対応するボリュームＸおよびボリュームＹをそれぞれ含むことができる。
【００３６】
特定の実施態様では、１次ストレージ１１２のすべてまたはその一部のバックアップ・コピーを維持するために、（２次ストレージ１２２のような遠隔ストレージの代わりに、またはこれに加えて）取り外し可能なもしくは取り外し不可能な、またはその両方のストレージを使用することができ、本発明の技術は、データを、遠隔ストレージではなく、そのようなストレージに転送する。このストレージは、１次制御装置１００にあってもよい。
【００３７】
図２、３、および４は、本発明の特定の実施態様により、１次制御装置１００で優先順位割り当てプロセス１１０に実装される論理を示す。１次ストレージ・サブシステムの各ボリュームに対して、２次ストレージ・サブシステムには対応するボリュームがある。いかなる所与の時点でも、同期コピー・コマンド、非同期コピー・コマンド、およびコピー設定コマンドを、同時に実行することができる。優先順位割り当てプロセス１１０は、入出力要求の入出力タイプに基づいて優先順位を割り当てる。優先順位は、ホスト入出力応答時間が、コピー設定入出力要求による影響を受けないよう保証するために使用される。優先順位は、高優先順位の同期および非同期ＰＰＲＣ入出力要求が、低優先順位のコピー設定入出力要求を締め出さないようにするためにも使用される。
【００３８】
図２で、制御は、優先順位割り当てプロセス１１０が入出力要求を受信するブロック２００から開始する。ブロック２０２で、優先順位割り当てプロセス１１０は、同期ＰＰＲＣコマンドで入出力要求が発行されたか否かを判定する。発行された場合、処理はブロック２０４に進み、さもなければブロック２１０に進む。
【００３９】
ブロック２０４で、優先順位割り当てプロセス１１０は、ホスト１１４が優先順位を入出力要求に割り当てたか否かを判定する。割り当てた場合、処理はブロック２０６に進み、さもなければブロック２０８に進む。すなわち、ホスト１１４は、各入出力要求に、同期ＰＰＲＣに対するホストのターゲットに適用されるべき優先順位を割り当てることができる。
【００４０】
ホスト１１４は、優先順位の範囲から１つの優先順位を割り当てる。図５は、本発明の特定の実施態様による、ホスト１１４により使用される優先順位の範囲を示す。範囲３００は、ホスト１１４が入出力要求に割り当てることのできる可能な優先順位値を示す。この実施例では、値は、１を最高の優先順位として、１から４の範囲である。図６は、本発明の特定の実施態様による、１次制御装置１００により使用される優先順位の範囲を示す。範囲３１０は、優先順位割り当てプロセス１１０が入出力要求に割り当てることのできる可能な優先順位値を表す。この実施例では、優先順位１、２、および３は、高優先順位範囲にあり、優先順位４および５は中間優先順位範囲にあり、優先順位６および７は低優先順範囲にある。優先順位の範囲は、図６のものに限らず、適宜決めることができる。図７は、優先順位の範囲が図６とは異なっている例を示す。
【００４１】
ブロック２０６で、優先順位割り当てプロセス１１０は、ホスト優先順位を、高優先順位範囲内の１つの優先順位にマップする。図６の例を参照すると、優先順位割り当てプロセス１１０は、ホスト１１４からのいかなる入出力要求も高優先順位範囲内にマップするが、特定の優先値（例えば、１、２、または３）にマッピングする場合、優先順位割り当てプロセス１１０は、ホスト優先順位と、例えば、１次制御装置１００における保留中の入出力要求および資源を考慮する。例えば、コピー設定コマンドが、ホスト入出力要求が更新を試みたデータに対して実行される場合、そのコマンドは、ホスト入出力要求が処理される前に完了される必要がある。したがって、この場合、ホスト入出力要求に優先順位３を割り当てることができる。さらに、必要に応じ、コピー設定コマンドがより早く終了するように、コピー設定コマンドの優先順位を高くすることができる（ブロック２１８）。
【００４２】
ブロック２０８で、優先順位割り当てプロセス１１０は、高優先順位範囲からの優先順位を入出力要求に割り当てる。ブロック２１０で、優先順位割り当てプロセス１１０は、その入出力要求が、コピー設定コマンドで発行された入出力要求であるか否かを判定する。そうである場合、処理はブロック２１２に進み、さもなければブロック２１４に進む。ブロック２１２で、優先順位割り当てプロセス１１０は、入出力要求に、例えば、１次制御装置１００における保留中の入出力要求および使用可能な資源に基づいて、低優先順位範囲からの優先順位を割り当てる。
【００４３】
ブロック２１４で、非同期ＰＰＲＣコマンドもしくは拡張距離ＰＰＲＣコマンドまたはその両方で発行された要求に対して、優先順位割り当てプロセス１１０は、入出力要求に、例えば、１次制御装置１００における保留中の入出力要求および使用可能な資源に基づいて、中間優先順位範囲からの優先順位を割り当てる。
【００４４】
ブロック２１６で、優先順位割り当てプロセス１１０は、入出力要求と、それに割り当てられた優先順位と、ホスト優先順位（入出力要求に対して存在するならば）を２次制御装置１２０に送信する。特定の実施態様では、優先順位割り当てプロセス１１０は、自身が割り当てた優先順位およびホスト優先順位（入出力要求に対して存在するならば）を、２次制御装置１２０に送信されるべきファイバー・チャネル・プロトコル（ＦＣＰ）コマンドに埋め込まれたコマンド・デスクリプタ・ブロック（ＣＤＢ）の拡張部分に格納する。
【００４５】
ブロック２１８で、優先順位割り当てプロセス１１０は、必要に応じ、保留中の入出力要求の優先順位を適宜更新する。ブロック２２０で、優先順位割り当てプロセス１１０は他の処理を実行する。
【００４６】
１次制御装置１００および２次制御装置１２０は、ホスト優先順位および１次制御装置１００により割り当てられた優先順位に基づいて、要求を処理するために資源を割り当てる。
【００４７】
図８は、本発明の特定の実施態様により、２次制御装置１２０で実施される論理を示す。制御は、ブロック４００から開始し、２次制御装置１２０が、１次制御装置１００で優先順位割り当てプロセス１１０により優先順位が割り当てられた入出力要求を、ホスト優先順位があれば、それと共に受け取る。ブロック４０２で、２次制御装置１２０は、１次制御装置で優先順位割り当てプロセス１１０により割り当てられた優先順位を使用して、入出力要求を処理する。
【００４８】
このように、本発明の実施態様は、少なくとも入出力要求の入出力タイプに基づいて、優先順位を割り当てることにより、１次制御装置１１０と２次制御装置１２０で入出力要求を処理するための一貫した優先順位を適用する技術を提供する。また、同期ＰＰＲＣの場合、一貫した優先順位が、ホスト１１４およびターゲット（例えば、１次ストレージ１１２の１つまたは複数のデータ・ブロック）に適用されるので、１次制御装置１１０および２次制御装置１２０は、ホスト１１４により割り当てられた優先順位を、入出力要求の処理に組み込む。すべての関与する制御装置１１０および１２０に一貫した優先順位を適用することにより、入出力応答時間は低減され、システム全体のスループットは高まる。
【００４９】
ＩＢＭ、Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ、およびＥＳＣＯＮは、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの米国およびその他の国における商標である。
【００５０】
実施形態の追加説明
優先順位の割り当てに関して説明した技術は、ソフトウェア、ファームウェア、ハードウェア、またはこれらのいかなる組み合わせをも提供するために、標準のプログラミング技術もしくはエンジニアリング技術またはその両方を使用して、１つの方法、装置、またはプログラムとして実施することができる。例えば、本発明は、ハードウェア論理（例えば、ＩＣチップ、プログラム可能なゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）で実施することも、磁気記録媒体（例えば、ハードディスク・ドライブ、フレキシブル・ディスク、テープなど）、光ストレージ（ＣＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性メモリ・デバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラム可能論理など）のようなコンピュータ可読媒体に記録可能なプログラムとして実施することもできる。コンピュータ可読媒体に記録されたプログラムは、プロセッサによりアクセスされ、実行される。プログラムは、さらに、伝送媒体を介して、またはネットワーク経由でファイル・サーバからアクセスすることができる。このような場合、ネットワーク伝送回線、無線伝送媒体、空中を伝播する信号、電波、赤外線信号などのような伝送媒体はプログラム記録媒体と考えられる。
【００５１】
図２、３、４、および８の論理は、特定の順序で行われる具体的な動作を説明する。代替態様では、特定の論理動作を別の順序で実行したり、修正したり、削除したりすることができる。さらに、上記の論理に複数の動作を追加し、それでも尚、上記の実施態様に準拠することができる。また、本明細書に記載の動作は連続して実行することができ、また特定の動作は並列に処理することができ、さらに単一処理で実行されるものとして記載した動作は、分散処理により実行することもできる。
【００５２】
図２、３、４、および８に示す論理は、ソフトウェア、ハードウェア、プログラム可能な、およびプログラム可能でないゲート・アレイ論理、またはハードウェア、ソフトウェア、ゲート・アレイ論理の組み合わせで実施することができる。
【００５３】
図９は、ホスト１１４、１次制御装置１００、２次制御装置１２０に適用可能なコンピュータ・システムのアーキテクチャ５００を示す。コンピュータ・アーキテクチャ５００は、プロセッサ５０２（例えば、マイクロプロセッサ）、メモリ５０４（例えば、揮発性メモリ・デバイス）、およびストレージ５１０（例えば、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどのような不揮発性ストレージ）を実装することができる。オペレーティング・システム５０５は、メモリ５０４で実行することができる。ストレージ５１０は、内部ストレージ・デバイス、またはネットワーク接続型もしくはネットワーク・アクセス可能なストレージを含むことができる。ストレージ５１０のコンピュータ・プログラム５０６を、当技術分野で周知の方法で、メモリ５０４にロードし、プロセッサ５０２により実行することができる。アーキテクチャは、ネットワークとの通信を可能にするためにネットワーク・カード５０８をさらに含む。入力装置５１２は、ユーザにプロセッサ５０２への入力を提供するために使用され、キーボード、マウス、ペンスタイラス、マイクロフォン、タッチセンシティブ表示画面、または当技術分野で周知のいかなる他の入力機構も含むことができる。出力装置５１４は、プロセッサ５０２または他のコンポーネントからの情報を出力することができる、表示モニタ、プリンタ、ストレージなどを含む。コンピュータ・システムのコンピュータ・アーキテクチャ５００は、本明細書の図面よりコンポーネントが少なくても、図面にない追加コンポーネントを含んでも、図面のコンポーネントと追加コンポーネントの組み合わせを含んでもよい。
【００５４】
コンピュータ・アーキテクチャ５００は、メインフレーム、サーバ、パーソナル・コンピュータ、ワークステーション、ラップトップ、ハンドヘルド・コンピュータ、テレフォニー装置、ネットワーク機器、仮想化装置、ストレージ・コントローラなどのような、当技術分野で周知のいかなるコンピューティング装置でも含むことができる。当技術分野で周知のいかなるプロセッサ５０２およびオペレーティング・システム５０５でも使用することができる。
【００５５】
本発明の実施態様の上記の説明は、例示および説明の目的で示されたものである。上記の説明が本発明のすべてではなく、また本発明はこれに限定されるものでもない。上記教示に照らして、多くの修正形態および変形形態が可能である。本発明の範囲は、この詳細な説明によってではなく、特許請求の範囲によって限定されるものである。上記の仕様、例示、およびデータは、本発明の構成の製造および使用の完全な説明を提供する。本発明の多くの実施態様は、本発明の趣旨および範囲を逸脱せずに行うことができる。
【図面の簡単な説明】
【００５６】
【図１】本発明の特定の実施態様によるコンピューティング環境を示すブロック図である。
【図２】本発明の特定の実施態様により１次制御装置で優先順位割り当てプロセスに実施される論理を示す図である。
【図３】本発明の特定の実施態様により１次制御装置で優先順位割り当てプロセスに実施される論理を示す図である。
【図４】本発明の特定の実施態様により１次制御装置で優先順位割り当てプロセスに実施される論理を示す図である。
【図５】本発明の特定の実施態様による優先順位の範囲を示す図である。
【図６】本発明の特定の実施態様による優先順位の範囲を示す図である。
【図７】本発明の特定の実施態様による優先順位の範囲を示す図である。
【図８】本発明の特定の実施態様により２次制御装置で実施される論理を示す図である。
【図９】本発明の特定の実施態様によるコンピュータ・システムのアーキテクチャの一例を示す図である。
【図１】
0004629413.tif 000002
【図２】
0004629413.tif 000003
【図３】
0004629413.tif 000004
【図４】
0004629413.tif 000005
【図５】
0004629413.tif 000006
【図６】
0004629413.tif 000007
【図７】
0004629413.tif 000008
【図８】
0004629413.tif 000009
【図９】
0004629413.tif 000010