(57)【要約】      （修正有）【課題】エイリアス・アドレスをベース・アドレスに割り当てる方法、システム、及び製造物品を提供する。【解決手段】装置へのベース・アドレスの割り当てが提供され、該ベース・アドレスは、該ベース・アドレスに割り当てられた該装置にアクセスするために使われる。エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てが提供される。該エイリアス・アドレス・プール内のエイリアス・アドレスは、該装置に対するＩ／Ｏリクエストにサービスするために該装置に動的に割り当てられ得る。該装置のうちの１つを構成する１つのターゲット装置にアクセスするための入力／出力（Ｉ／Ｏ）リクエストが処理される。該ターゲット装置に割り当てられている該ベース・アドレスが使用可能であるか否かが判断される。該ベース・アドレスが使用可能ではないという判断に応じて１つのエイリアス・アドレスが該ターゲット装置に割り当てられる。【選択図】図１
2008134858.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・システムに装置へのアクセスを管理する制御ユニットと通信させ、また動作を行わせるためのプログラムであって、前記動作が、
前記装置へのベース・アドレスの割り当てを提供し、前記ベース・アドレスが前記ベース・アドレスに割り当てられた前記装置にアクセスするために使用されるものである動作と、
エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てを提供し、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが、前記装置へのＩ／Ｏリクエストにサービスするために前記装置に動的に割り当てられ得るものである動作と、
前記装置のうちの１つを含む１つのターゲット装置にアクセスするための入力／出力（Ｉ／Ｏ）リクエストを処理する動作と、
前記ターゲット装置に割り当てられた前記ベース・アドレスが使用可能か否か判断する動作と、
前記ベース・アドレスが使用可能ではないという判断に応じて１つのエイリアス・アドレスを前記ターゲット装置に割り当てる動作と、
前記Ｉ／Ｏリクエストを前記ターゲット装置に伝えるために、前記Ｉ／Ｏリクエストを前記割り当てられたエイリアス・アドレスに対して発する動作と、
を含むプログラム。
【請求項２】
前記動作が、
前記Ｉ／Ｏリクエストの完了に応じて、前記ターゲット装置への前記エイリアス・アドレスを割り当て解除する動作と、
前記装置のうちの１つに対する後続のＩ／Ｏリクエストに使用されるように、前記割り当て解除されたエイリアス・アドレスを前記エイリアス・アドレス・プールに戻す動作と、
を更に含む、請求項１に記載のプログラム。
【請求項３】
１つのエイリアス・アドレスを前記ターゲット装置に割り当てる動作は、前記エイリアス・アドレスを前記ターゲット装置の前記ベース・アドレスと関連付ける動作を含む、請求項１に記載のプログラム。
【請求項４】
１つのエイリアス・アドレスを前記ターゲット装置に割り当てる動作は、前記装置へのアクセスを管理する制御ユニットに前記エイリアス・アドレスを前記ターゲット装置に割り当てるようにコマンドを発する動作を含み、前記制御ユニットは、前記ターゲット装置への前記エイリアス・アドレスの前記割り当てを表すように内部データ構造を更新する、請求項１に記載のプログラム。
【請求項５】
前記装置は論理サブシステムの中に構成されたボリュームを含み、前記プログラムは前記コンピュータ・システムに複数の独立の処理システムと通信させ、各処理システムは前記ボリュームへのアクセスを管理する制御ユニットとの別々の接続を維持し、各処理システムは、ボリュームへのベース・アドレスの割り当てと記憶プールへのエイリアス・アドレスの割り当てとを表すデータ構造を維持し、前記処理システムによって使用される前記記憶プールは前記ボリュームにアクセスするための同じエイリアス・アドレスを有する、請求項１に記載のプログラム。
【請求項６】
前記割り当てられたエイリアス・アドレスに前記Ｉ／Ｏリクエストが発せられたことに応じて、前記ターゲット装置がリザーブされていることを示すステータスを受け取る動作と、
前記ステータスを受け取ったことに応じて前記ターゲット装置への後続のＩ／Ｏリクエストを待ち行列に入れる動作と、
を更に含む、請求項１に記載のプログラム。
【請求項７】
前記ターゲット装置が使用可能であることを示すステータスを受け取る動作と、
前記ターゲット装置が最早リザーブされていないというステータスを受け取ったことに応じて、前記ターゲット装置のための待ち行列に入れられているＩ／Ｏリクエストに用いられるようにエイリアス・アドレスを前記プールから前記ターゲット装置に割り当てる動作と、
を更に含む、請求項６に記載のプログラム。
【請求項８】
前記ターゲット装置が使用可能であることを示す前記ステータスは、前記ターゲット装置のための前記ベース・アドレスが使用可能であることを示すステータスを含み、
更に、前記ターゲット装置が最早リザーブされていないという前記ステータスを受け取ったことに応じて遅らされた前記ベース・アドレス及び前記エイリアス・アドレスに対する前記Ｉ／Ｏリクエストを再び発する動作を含む、請求項６に記載のプログラム。
【請求項９】
エイリアス・アドレス及びベース・アドレスのエイリアス・アドレス・プールとの前記関連付けは、各ベース・アドレス又はエイリアス・アドレスのためのエイリアス割り当てグループ番号の前記制御ユニットからの割り当てにより決定され、同じ前記エイリアス割り当てグループ番号と関連付けられているベース・アドレス及びエイリアス・アドレスは同じ前記エイリアス・アドレス・プールと関連付けられる、請求項１に記載のプログラム。
【請求項１０】
前記動作は更に、
前記制御ユニットによって特定される前記エイリアス管理グループ番号を、複数のエイリアス・アドレス・プールを作るように前記エイリアス管理グループ番号のサブセットの複数のサブセットに細分する動作を更に含む、請求項９に記載のプログラム。
【請求項１１】
コンピュータ・システムに、ホスト・システム及び装置と通信させ、また動作を行わせるためのプログラムであって、前記動作は、
前記装置にベース・アドレスを割り当てる動作であって、前記ベース・アドレスが前記ベース・アドレスに割り当てられた前記装置にアクセスするために前記ホスト・システムによって使用される動作と、
複数のエイリアス・アドレスをエイリアス・アドレス・プールに割り当てる動作であって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが、前記装置に対するＩ／Ｏリクエストにサービスするために前記装置に動的に割り当てられ得る動作と、
前記ターゲット装置へのベース・アドレスの前記割り当てと前記エイリアス・アドレス・プールへの前記エイリアス・アドレスの前記割り当てとを前記ホスト・システムに伝える動作と、
前記装置のうちの１つを含むターゲット装置に１つのエイリアス・アドレスを割り当てるためのリクエストを前記ホスト・システムから受け取る動作と、
前記リクエストに応じて、前記リクエストにおいて示されている前記エイリアス・アドレスを前記ターゲット装置に割り当てる動作と、
前記ターゲット装置のために割り当てられた前記エイリアス・アドレスに対するＩ／Ｏリクエストを受け取る動作と、
前記エイリアス・アドレスが割り当てられた前記ターゲット装置に対して前記Ｉ／Ｏリクエストを実行する動作と、
を含む、プログラム。
【請求項１２】
前記ホスト・システムは、前記装置への別々の接続を各々維持する独立の処理システムを含み、前記エイリアス・アドレス記憶プールへの前記エイリアス・アドレスの割り当ては、更に、
前記ホスト・システム内の各処理システムに前記記憶プール内のエイリアス・アドレスのセットを割り当てる動作であって、異なる処理システムのためのエイリアス・アドレスの前記セットが同じ前記エイリアス・アドレスを有する動作と、
各処理システムに、当該処理システムに割り当てられたエイリアス・アドレスの前記セットを伝える動作と、
を含む、請求項１１に記載のプログラム。
【請求項１３】
前記記憶プール内のエイリアス・アドレスの異なるセットの中の１つの同じ又は複数の異なるエイリアス・アドレスを、１つの装置又は複数の異なる装置にアクセスする、それらのセットと関連付けられた前記処理システムに割り当てることができる、請求項１２に記載のプログラム。
【請求項１４】
前記装置は論理サブシステム内に構成されたボリュームを含み、各処理システムは、経路グループ識別子により特定される前記論理サブシステムとの複数の接続を維持し、１つの処理システムへのエイリアス・アドレスの１つのセットの割り当ては、エイリアス・アドレスの前記セットを前記論理サブシステム及び処理システムの前記経路グループ識別子と関連付ける動作を含む、請求項１２に記載のプログラム。
【請求項１５】
前記動作は、
１つのターゲット装置がアクセス不可能であるか否かを、前記ターゲット装置に割り当てられている前記エイリアス・アドレスへの１つのＩ／Ｏリクエストを受け取ったことに応じて判断する動作と、
受け取られた前記Ｉ／Ｏリクエストを前記エイリアス・アドレスに対してイニシエートした前記ホスト・システムに、前記ターゲット装置がアクセス不可能であることを明示するステータスを戻す動作と、
を更に含む、請求項１１に記載のプログラム。
【請求項１６】
装置へのアクセスを管理する制御ユニットと通信するシステムであって、
前記システムはプロセッサを含み、
前記システムはコンピュータ可読媒体を含み、この媒体は、前記システムに、
装置へのベース・アドレスの割り当てであって、前記ベース・アドレスに割り当てられている前記装置にアクセスするために前記ベース・アドレスが使用される割り当てと、
エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てであって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが、前記装置へのＩ／Ｏリクエストにサービスするために前記装置に動的に割り当てられ得る割り当てと、をを実行させるためのものであり、
前記コンピュータ可読媒体は、更に前記システムに、
前記装置のうちの１つを含む１つのターゲット装置にアクセスするための入力／出力（Ｉ／Ｏ）リクエストを処理する動作と、
前記ターゲット装置に割り当てられた前記ベース・アドレスが使用可能であるか否かを判断する動作と、
前記ベース・アドレスが使用可能ではないという判断に応じて１つのエイリアス・アドレスを前記ターゲット装置に割り当てる動作と、
前記ターゲット装置に対して実行するように前記Ｉ／Ｏリクエストを前記制御ユニットに送るために、割り当てられた前記エイリアス・アドレスへの前記Ｉ／Ｏリクエストを発する動作と、
を実行させるためのものである、システム。
【請求項１７】
装置へのアクセスを管理し、ホスト・システムと通信するシステムであって、
プロセッサと、
前記システムに動作を実行させるためのコンピュータ可読媒体と、
を含んでおり、前記動作は、
ターゲット装置にベース・アドレスを割り当てる動作であって、前記ベース・アドレスが前記ベース・アドレスに割り当てられた前記装置にアクセスするために前記ホスト・システムによって使用される、動作と、
エイリアス・アドレス・プールに複数のエイリアス・アドレスを割り当てる動作であって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスは、前記装置に対するＩ／Ｏリクエストにサービスするために前記装置に動的に割り当てられ得る、動作と、
前記ターゲット装置へのベース・アドレスの前記割り当てと前記エイリアス・アドレス・プールへの前記エイリアス・アドレスの前記割り当てとを前記ホスト・システムに伝える動作と、
前記装置のうちの１つを含むターゲット装置に１つのエイリアス・アドレスを割り当てるためのリクエストを前記ホスト・システムから受け取る動作と、
前記リクエストに応じて前記リクエストで示された前記エイリアス・アドレスを前記ターゲット装置に割り当てる動作と、
前記ターゲット装置のために割り当てられた前記エイリアス・アドレスに対するＩ／Ｏリクエストを受け取る動作と、
前記エイリアス・アドレスが割り当てられている前記ターゲット装置に対して前記Ｉ／Ｏリクエストを実行する動作と、
を含む、システム。
【請求項１８】
装置へのベース・アドレスの割り当てを提供するステップであって、前記ベース・アドレスが前記ベース・アドレスに割り当てられた前記装置にアクセスするためにホスト・システムによって使用されるステップと、
エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てを提供するステップであって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが前記装置に対するＩ／Ｏリクエストにサービスするために前記装置に動的に割り当てられ得るステップと、
前記装置のうちの１つを含む１つのターゲット装置にアクセスするための入力／出力（Ｉ／Ｏ）リクエストを処理するステップと、
前記ターゲット装置に割り当てられている前記ベース・アドレスが使用可能か否か判断するステップと、
前記ベース・アドレスが使用可能ではないという判断に応じて１つのエイリアス・アドレスを前記ターゲット装置に割り当てるステップと、
前記Ｉ／Ｏリクエストを、前記リクエストを前記ターゲット装置に送るために、割り当てられた前記エイリアス・アドレスに対して発するステップと、
を含む方法。
【請求項１９】
装置にベース・アドレスを割り当てるステップであって、前記ベース・アドレスに割り当てられた前記装置にアクセスするためにホスト・システムによって前記ベース・アドレスが使用されるステップと、
複数のエイリアス・アドレスをエイリアス・アドレス・プールに割り当てる動作であって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが、前記装置に対するＩ／Ｏリクエストにサービスするために前記装置に動的に割り当てられ得るステップと、
ターゲット装置へのベース・アドレスの前記割り当てと前記エイリアス・アドレス・プールへの前記エイリアス・アドレスの前記割り当てとを前記ホスト・システムに伝えるシステムと、
前記装置のうちの１つを含むターゲット装置に１つのエイリアス・アドレスを割り当てるためのリクエストを前記ホスト・システムから受け取るステップと、
前記リクエストに応じて、前記リクエストにおいて明示されている前記エイリアス・アドレスを前記ターゲット装置に割り当てるステップと、
前記ターゲット装置のために割り当てられた前記エイリアス・アドレスに対するＩ／Ｏリクエストを受け取るステップと、
前記エイリアス・アドレスが割り当てられた前記ターゲット装置に対して前記Ｉ／Ｏリクエストを実行するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベース・アドレスにエイリアス・アドレスを割り当てるための方法、システム及びプログラムに関する。
【背景技術】
【０００２】
或る計算環境では、複数のホスト・システムが、１つ以上の論理パスを通して、相互に接続されているハード・ディスク・ドライブのような記憶装置へのアクセスを提供する複数の制御ユニット（ＣＵ）（記憶装置コントローラ、記憶装置サブシステム、企業記憶装置サーバなどとしても知られている）と通信することができる。その相互に接続されているドライブは、直接アクセス記憶装置（ＤＡＳＤ）、リダンダント・アレイ・オブ・インディペンデント・ディスクス（ＲＡＩＤ）、ジャスト・ア・バンチ・オブ・ディスク（ＪＢＯＤ）などとして構成され得る。制御ユニットは、１つ以上の論理サブシステム（ＬＳＳ）を構成することができ、その各ＬＳＳは複数のボリュームを含むように構成される。
【０００３】
ホスト・システムは、制御ユニットからＬＳＳ内のボリュームにアクセスするための情報を維持するチャネル・サブシステムを含むことができる。チャネル・サブシステムはサブチャネルを含み、これはチャネル・サブシステムのためのＩ／Ｏ動作の実行のための状態トラッキングを提供し、また、ホストをＬＳＳのボリュームに接続する経路に関する情報を提供する。ホスト・オペレーティング・システムは、１つのボリュームに割り当てられたベース・ユニット・アドレスと、該チャネル・サブシステムがベース装置上のボリュームにアクセスするために使用するサブチャネルとに関する情報を提供するユニット制御ブロック（ＵＣＢ）を維持する。該チャネル・サブシステムは、個々のサブチャネルと、それらが有する経路とを知っている。カスタマーは、初めにＣＵへの外部ツールを介してベースにエイリアス（ａｌｉａｓ）を割り当てる。オペレーティング・システムは、作業負荷要件が変更されるとベースへのエイリアスの結合を動的に変化させることができる。更に、制御ユニットは、ボリュームのためのベース・アドレスにエイリアス・アドレスを割り当てることができ、該エイリアス・アドレスは、共存する複数のＩ／Ｏリクエストを同じボリュームに向けることを可能にするために使われる。ベース・ボリュームのためのＵＣＢは、そのボリュームに割り当てられたエイリアス・アドレスに関する情報を維持する。ホストは、１つのボリュームへのＩ／Ｏ動作をアドレス指定するためにＵＣＢ内の情報を処理する。特に、ホストは、サブチャネルにおいて、一連のチャネル指令語（ＣＣＷ）のような一連のＩ／Ｏ命令から成るチャネル・プログラムをイニシエートすることによってボリュームへのＩ／Ｏ動作をイニシエートする。
【０００４】
制御ユニットは、システムの異なるビューを維持する。制御ユニットには、各装置（ボリューム）のためのベース・ユニット・アドレスと、各ベース・ユニット・アドレスのためのゼロ個以上のエイリアス・ユニット・アドレスとが提供される。各ボリューム（装置）にベース・アドレスを割り当てた後、残りのアドレスをエイリアス・アドレスとして該ベース・アドレスに割り当てることができる。制御ユニットは、該ユニット・アドレスを使用して該ボリュームに物理的にアクセスする。
【０００５】
１つのＩ／Ｏ動作又は一連のＣＣＷコマンドは、該論理ボリュームのための別々のベース・ユニット・アドレス及びエイリアス・ユニット・アドレスを用いて同じ論理ボリュームに向けて、同時に実行され得る。この様に、実行されるＣＣＷコマンドは全て、異なるアドレスを用いて同じ論理ボリュームの方に向けられ、各アドレスは、単一の論理ボリュームに到達するために複数のチャネル経路のうちの１つを使用する。これは、単一のホストが単一のボリュームに対して複数のＩ／Ｏ動作を同時に実行することを可能にする。１つのベースのために提供されるエイリアスの数は、ボリュームのサイズと、並列ユーザの数とに応じてセットされ得る。或る場合には、１つのボリュームのための特定のベース・アドレスのためにネットワーク・トラフィックに配慮するために少数のエイリアスだけが必要とされ得る。更に、１つの論理ボリュームに関連付けられるエイリアスの数は、ワーク・ロード・マネージャ（ＷＬＭ）によって作業負荷の目標に基いて動的に変更され得る。
【０００６】
ホストは初めに、そのボリュームのためのベースＵＣＢを通して該ボリューム（Ｉ／Ｏ装置）にアクセスしようと試みる。もしベースＵＣＢが利用できなければ、すなわち同時に他のＩ／Ｏ動作にサービスしているならば、ホストは、そのボリュームに同時にアクセスするためにそのベースＵＣＢに割り当てられている利用可能なエイリアスＵＣＢのうちの１つを使用することができる。ホスト・システムは、そのとき、該ＵＣＢに関連付けられているサブチャネルと、そのサブチャネルのために提供されるチャネル経路とを通してＩ／Ｏ動作を実行する。エイリアス・アドレスの使用と、異なるベース・アドレスへのエイリアス・アドレスの再割り当てとは特許文献１、２及び３に記載されている。
【０００７】
【特許文献１】米国特許第６，１８５，６３８号
【特許文献２】米国特許第６，１７０，０２３号
【特許文献３】米国特許第６，１６７，４５９号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、ベース・アドレスにエイリアス・アドレスを割り当てるための方法、システム及びプログラムを提供することである。
【課題を解決するための手段】
【０００９】
エイリアス・アドレスをベース・アドレスに割り当てるための方法、システム及びプログラムが提供される。装置へのベース・アドレスの割り当てが提供され、該ベース・アドレスは、該ベース・アドレスに割り当てられている装置にアクセスするために使用される。エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てが提供される。該エイリアス・アドレス・プールに存するエイリアス・アドレスは、該装置へのＩ／Ｏリクエストにサービスするために該装置に動的に割り当てられ得る。該装置のうちの１つを含む１つのターゲット装置にアクセスするための入力／出力（Ｉ／Ｏ）リクエストが処理される。そのターゲット装置に割り当てられているベース・アドレスが使用可能か否か判断される。該ベース・アドレスが使用可能ではないという判断に応じて１つのエイリアス・アドレスが該ターゲット装置に割り当てられる。該Ｉ／Ｏリクエストは、該リクエストを該ターゲット装置に送るように、その割り当てられたエイリアス・アドレスに対して発せられる。
【００１０】
別の実施態様では、ターゲット装置に割り当てられたエイリアス・アドレスは該Ｉ／Ｏリクエストの完了に応じて割り当て解除され、この割り当て解除されたエイリアス・アドレスは、該装置のうちの１つに対する後続のＩ／Ｏリクエストに使用されるように該エイリアス・アドレス・プールに戻される。
【００１１】
別の実施態様では、１つのエイリアス・アドレスをターゲット装置に割り当てることは、該エイリアス・アドレスを該ターゲット装置のベース・アドレスと関連付けることを含む。
【００１２】
別の実施態様では、ターゲット装置への１つのエイリアス・アドレスの割り当ては、該装置へのアクセスを管理する制御ユニットに対して該エイリアス・アドレスを該ターゲット装置に割り当てるコマンドを発することを含む。該制御ユニットは、該ターゲット装置への該エイリアス・アドレスの割り当てを明示するように内部データ構造を更新する。
【００１３】
別の実施態様では、該装置は、論理サブシステム内に構成されるボリュームを含む。ホスト・システムは複数の独立処理システムを含む。各処理システムは該ボリュームへのアクセスを管理する制御ユニットとの複数の別々の接続を維持し、各処理システムは、ボリュームへのベース・アドレスの割り当てと記憶プールへのエイリアス・アドレスの割り当てとを明示するデータ構造を維持する。該処理システムによって使われる該記憶プールは該ボリュームにアクセスすするために同じエイリアス・アドレスを有する。
【００１４】
別の実施態様では、割り当てられたエイリアス・アドレスへのＩ／Ｏリクエストを発したことに応じて該ターゲット装置がリザーブされていることを明示するステータスが受け取られる。該ステータスを受け取ったことに応じて、該ターゲット装置に対する後続のＩ／Ｏリクエストは待ち行列に入れられる。
【００１５】
別の実施態様では、ターゲット装置が使用可能であることを明示するステータスが受け取られ、また、該ターゲット装置がもはやリザーブされていないというステータスを受け取ったことに応じて、該ターゲット装置についての待ち行列に入れられているＩ／Ｏリクエストのために使用されるように該記憶プールからエイリアス・アドレスが該ターゲット装置に割り当てられる。
【００１６】
別の実施態様では、ターゲット装置が使用可能であることを明示するステータスは、そのターゲット装置のためのベース・アドレスが使用可能であることを明示するステータスを含む。該ターゲット装置がもはやリザーブされていないというステータスを受け取ったことに応じて遅延させられたベース・アドレス及びエイリアス・アドレスに対するＩ／Ｏリクエストは再発行される。
【００１７】
別の実施態様では、エイリアス・アドレス及びベース・アドレスとエイリアス・アドレス・プールとの関連は、各ベース・アドレス又はエイリアス・アドレスについてのエイリアス割り当てグループ番号の制御ユニットからの割り当てによって決定される。同じエイリアス管理グループ番号と関連付けられたベース・アドレス及びエイリアス・アドレスは、同じエイリアス・アドレス・プールと関連付けられる。
【００１８】
別の実施態様では、該制御ユニットによって特定されるエイリアス管理グループ番号は、複数のエイリアス・アドレス・プールを作るようにエイリアス管理グループ番号の複数のサブセットに細分される。
【００１９】
更に、エイリアス・アドレスをベース・アドレスに割り当てるための方法、システム、及びプログラムが提供される。ベース・アドレスは装置に割り当てられ、ベース・アドレスは、ホスト・システムによって、該ベース・アドレスに割り当てられた装置にアクセスするために使用される。１つのエイリアス・アドレス・プールに複数のエイリアス・アドレスが割り当てられ、該エイリアス・アドレス・プール内のエイリアス・アドレスは、装置に対するＩ／Ｏリクエストにサービスするために該装置に動的に割り当てられ得る。ターゲット装置へのベース・アドレスの割り当てとエイリアス・アドレス記憶プールへのエイリアス・アドレスの割り当てとはホスト・システムに伝えられる。該装置のうちの１つを含むターゲット装置に１つのエイリアス・アドレスを割り当てるリクエストがホスト・システムから受け取られる。該リクエストにおいて明示されたエイリアス・アドレスは、該リクエストに応じて該ターゲット装置に割り当てられる。該ターゲット装置のために割り当てられたエイリアス・アドレスに対するＩ／Ｏリクエストが受け取られ、該Ｉ／Ｏリクエストは、該エイリアス・アドレスが割り当てられている該ターゲット装置に対して実行される。
【００２０】
別の実施態様では、ホスト・システムは、装置への別々の接続を各々維持する複数の独立処理システムを含む。エイリアス・アドレス記憶プールにエイリアス・アドレスを割り当てることは、該ホスト・システム内の各処理システムに該記憶プール中のエイリアス・アドレスのセットを割り当てることを更に含む。異なる処理システムのためのエイリアス・アドレスのセットは同じエイリアス・アドレスを有する。更に、各処理システムに割り当てられたエイリアス・アドレスのセットは各処理システムに伝えられる。
【００２１】
別の実施態様では、該記憶プール内のエイリアス・アドレスの異なるセットの中の１つの同じ又は複数の異なるエイリアス・アドレスを、これらのセットに関連付けられている処理システムに、１つの装置又は複数の異なる装置にアクセスするために、割り当てることができる。
【００２２】
別の実施態様では、装置は論理サブシステム内に構成されたボリュームを含む。各処理システムは、経路グループ識別子により特定される該論理サブシステムとの複数の接続を維持する。１つの処理システムにエイリアス・アドレスの１つのセットを割り当てる動作は、該エイリアス・アドレスのセットを該論理サブシステム及び処理システムの経路グループ識別子と関連付けることを含む。
【００２３】
別の実施態様では、１つのターゲット装置に割り当てられたエイリアス・アドレスへの１つのＩ／Ｏリクエストを受け取ったことに応じてそのターゲット装置がアクセス不可能であるか否かが判断される。該エイリアス・アドレスに対して該受け取られたＩ／Ｏリクエストをイニシエートしたホストシステムに、そのターゲット装置がアクセス不可能であることを明示するステータスが戻される。
【発明を実施するための最良の形態】
【００２４】
図面を参照する。図面全体において、同様な参照番号は、対応する部分を表す。
【００２５】
以下の記述において、本書の一部を形成して本発明の実施態様を示す添付図面を参照する。本発明の範囲から逸脱せずに他の実施態様を利用し得ること、並びに構造及び動作を変更しうることが分かる。
【００２６】
図１は、本発明の異なる側面が実現されている計算環境を示す。１つ以上のホスト２（１つだけ示されている）は、複数の論理経路を制御ユニット６に提供するチャネル・サブシステム８を通して入力／出力（Ｉ／Ｏ）リクエストを制御ユニット６に伝える１つ以上の処理システム４ａ，４ｂ．．．４ｎを含む。各処理システム４ａ，４ｂ．．．４ｎは、経路関連動作を管理するオペレーティング・システム５を含む。チャネル・サブシステム８は、アダプタ１２を通って延びる論理経路１０を管理する。アダプタは物理層を提供し、該物理層を通って論理経路１０は制御ユニット６に延び或いはスイッチ（図示されていない）を通って複数の制御ユニットに延びる。オペレーティング・システム５は更に複数の論理経路１０を１つの経路グループと関連付けることができ、その場合、１つの経路グループ内の全ての経路が、１つの処理システム４ａ，４ｂ．．．４ｎによって、制御ユニット６との通信のために使用され得る。１つの処理システム４ａ，４ｂ．．．４ｎによって使用される経路グループは、経路グループ識別子（ＰＧＩＤ）によって特定され得る。オペレーティング・システム５は、世界的なユニークな識別子（ＰＧＩＤ）を用いて該装置のための各経路にＩ／Ｏコマンド（セット・パス・グループＩＤ  ＣＣＷのような）を発することができる。制御ユニット６は、同じ識別子を有する１つの装置のための経路のセットから１つの経路グループを作る。
【００２７】
各処理システム４ａ，４ｂ．．．４ｎはオペレーティング・システム５とチャネル・サブシステム８コードとを含む複数のプログラムを実行する中央処理ユニット（ＣＰＵ）を含むことができる。或いは、各処理システム４ａ，４ｂ．．．４ｎは、独立のシステムとして各々動作して自分自身のオペレーティング・システム５を実行する複数の論理パーティション（ＬＰＡＲ）のうちの１つを含むことができ、チャネル・サブシステム８コードを共有することができる。別の実施態様では、各処理システムは１つのプロセッサの１つの論理パーティションを含むことができる。この様に、ホスト２内の１つ以上のプロセッサが複数の論理パーティション（ＬＰＡＲ）を実現することができる。複数の処理システム４ａ，４ｂ．．．４ｎが単一の論理チャネル・サブシステム１６を共有することができ、或いは別々の処理システム４ａ，４ｂ．．．４ｎが別々の論理チャネル・サブシステムを使用することができる。論理経路を実現するチャネル・サブシステムの詳細は次の刊行物に記載されている：  “ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅ：  Ｒｅｆｅｒｅｎｃｅ  Ｓｕｍｍａｒｙ”，ＩＢＭ  ｄｏｃｕｍｅｎｔ  ｎｏ．ＳＡ２２−７８７１−０２（著作権  ＩＢＭ、２００５年９月）。
【００２８】
チャネル・サブシステム８は、Ｉ／Ｏリクエストを処理システム４ａ，４ｂ．．．４ｎから制御ユニット６に伝える動作を実行するチャネル・サブシステム・プログラム１６を含む。オペレーティング・システム５は、ＵＣＢを使用し、Ｉ／Ｏリクエストを管理する。チャネル・サブシステム・プログラム１６は、チャネル・サブシステム８からＩ／Ｏリクエストを得る。１つ以上の記憶装置から成るメモリー１７は、Ｉ／Ｏリクエストを管理するためにチャネル・サブシステム・プログラム１６により使用される情報を含む。各処理システム４ａ，４ｂ．．．４ｎは、各処理システム４ａ，４ｂ．．．４ｎのためのＵＣＢチェーンに関する情報を提供する自分自身のＵＣＢ及びエイリアス記憶プール情報を維持する。異なる処理システム４ａ，４ｂ．．．４ｎは、特定の処理システムのためのベース・アドレスに割り当てられた異なるエイリアス・アドレスを有する異なるＵＣＢチェーンを有することができる。
【００２９】
異なる処理システム４ａ，４ｂ．．．４ｎが異なる使用可能のエイリアス・アドレスを使用し且つ有することができるように、ホスト・メモリー１７は、処理システム４ａ，４ｂ．．．４ｎのための異なる論理サブシステム（ＬＳＳ）のための使用可能なエイリアス・アドレスの割り当てに関する情報を提供するエイリアス記憶プール情報２２を更に含む。更に、異なる処理システム４ａ，４ｂ．．．４ｎは、同じエイリアス・アドレスを使用することができるけれども、それらを別々の仕方で使用することができる、すなわち、それらを別々の構成でボリューム及びエイリアス記憶プールに割り当てることができる。一実施態様では、メモリー１７は、全ての処理システム４ａ，４ｂ．．．４ｎ及びＬＳＳのためにＵＣＢ情報２０及びエイリアス記憶プール情報２２を維持することができ、それは同時に全ての処理システム動作のために共有される。別の実施態様では、各処理システムは、その処理システム４ａ，４ｂ．．．４ｎのためのＵＣＢ情報２０及びエイリアス記憶プール情報２２を自分自身のメモリーにおいて維持することができる。
【００３０】
制御ユニット６は、トラック、パーティション、論理装置、論理ボリューム、論理ユニット番号（ＬＵＮ）、論理サブシステム（ＬＳＳ）又は他の論理的若しくは物理的記憶ユニットのような記憶システム１８ａ，１８ｂ．．．１８ｎにアクセスするための処理システム４ａ，４ｂ．．．４ｎからのリクエストを管理する。記憶装置１８ａは１つ以上のＬＳＳ３２を含む構成を示し、各ＬＳＳ３２において１つ以上のボリューム３４が構成されている。該ボリュームは複数の記憶装置にわたって広がることができる。この“装置”という用語は、物理的トラック、ＬＳＳ、パーティション、論理ボリューム、ボリュームなどのような任意の物理的又は論理的データ記憶ユニットを指す。制御ユニット６は、記憶装置１８ａ，１８ｂ．．．１８ｎと、その中に構成された例えばボリューム、ＬＳＳなどの論理的及び物理的コンポーネントとへのＩ／Ｏリクエストを処理するＩ／Ｏマネージャ・プログラム２４を含む。制御ユニット６は１つ以上の装置から構成される制御ユニット・メモリー２６を有し、その中に、Ｉ／Ｏマネージャ２４は論理サブシステム（ＬＳＳ）内のボリュームのような、定められた記憶ユニットのためのベース・アドレス及びエイリアス・アドレスの割り当てを有する制御ユニット・アドレス情報２８を維持する。メモリー２６は、処理システム４ａ，４ｂ．．．４ｎのために使用し得るエイリアス・アドレスに関する情報を有する制御ユニット・エイリアス記憶プール情報３０を更に含む。
【００３１】
ホスト２は、ワークステーション、メインフレーム、サーバなどのような、当該技術において知られている計算装置を含むことができる。制御ユニット６は、企業記憶サーバ、記憶コントローラなどのような記憶サブシステム又はサーバ、或いは、付加されているボリュームへのＩ／Ｏリクエストを管理するために使用される他の装置を含むことができる。記憶装置１８ａ，１８ｂ．．．１８ｎは、相互に接続されたハード・ディスク・ドライブ（例えば、ＤＡＳＤ、ＲＡＩＤ、ＪＢＯＤ、仮想化装置（ｖｉｒｔｕａｌｉｚｅｄ  ｄｅｖｉｃｅｓ）など）、磁気テープ、電子メモリー、フラッシュ・メモリー、光ディスクなどのような、当該技術において知られている記憶装置を含むことができる。ホスト２は、ローカル・エリア・ネットワーク（ＬＡＮ）、ストレージ・エリア・ネットワーク（ＳＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、対等型ネットワーク、無線ネットワークなどのようなネットワークを通して延びることのできる論理経路１０を介して制御ユニット６と通信することができる。或いは、ホスト２はペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バスまたはシリアル・インターフェースのようなバス・インターフェースを介して記憶装置コントローラ６と通信することができる。
【００３２】
図２は、１つの処理システム４ａ，４ｂ．．．４ｎ及びＬＳＳ３２のためのボリュームへのベース・アドレス及びエイリアス・アドレスの割り当てに関する情報を有するホスト／処理システムＵＣＢ情報５０を示す。各々の別々の処理システム４ａ，４ｂ．．．４ｎとＬＳＳ３２との対について情報５０のインスタンスがホスト２において維持される。ＵＣＢ情報５０のインスタンスはＵＣＢ情報２０を含む。情報５０は１つの処理システム４ａ，４ｂ．．．４ｎのためのＵＣＢエントリー５２ａ，５２ｂ．．．５２ｎを含んでおり、これは、チェーン内の各ＵＣＢについて次の情報：
記憶装置１８，１８ｂ．．．１８ｎにおいて構成されている１つのボリュームにアクセスするための情報を提供するＵＣＢのＵＣＢ識別子５４；
ボリューム３４が中に構成されているＬＳＳ３２を特定する論理サブシステム（ＬＳＳ）５６；
そのために該情報が提供されるフィールド５６で特定されるＬＳＳ３２内のボリューム５８；
サブチャネル番号、該ボリュームに関する情報を提供するインデックス又はポインタを含むチャネル・サブシステム８のサブチャネル６０；
該サブチャネルのためのベース・アドレス６２；
該ボリュームを付加的にアドレス指定するために使用される１つ以上のエイリアス・アドレス６４ａ．．．６４ｎ（もし割り当てられているならば）；及び
該ボリュームのステータスに関する情報を提供するボリューム・ステータス６６；
を含む。或る実施態様では、エイリアス・アドレスは、そのベース（ボリューム）についてＩ／Ｏ動作がアクティブであるときに特定のベース・アドレス６２に関連付けられるだけである。他の場合にはエイリアスは、特定のどのベース（ボリューム）とも関連付けられていない使用可能なエイリアスのプールに存在する。
【００３３】
一実施態様では、エイリアス・アドレスは初めに制御ユニット６の記憶サブシステム（ＬＳＳ）においてベースと関連付けられ得る。もし記憶サブシステムがエイリアス・アドレス・プーリングをサポートするならば、オペレーティング・システム５は、エイリアス・アドレスがプールされて必要なときだけ割り当てられるように動作するように制御ユニット６に命じる“サブシステム特性をセットするコマンド（ｓｅｔ  ｓｕｂｓｙｓｔｅｍ  ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ  ｃｏｍｍａｎｄ）”を発する。このコマンドは、その処理システム４ａ，４ｂ．．．４ｎのための特定のベース・アドレス６２にエイリアス・アドレスをもはや関連付けさせない。処理システム４ａ，４ｂ．．．４ｎ内の各オペレーティング・システムは、自分のエイリアス・アドレス指定モードを自主的に変更することができる。この段階で、エイリアス・アドレスは、Ｉ／Ｏ動作が開始されるときにベース・アドレス６２に割り当てられ、動作が完了したときにプールに戻されるように使用可能である。同様に、ＬＳＳ内の装置は、カスタマーにより、エイリアスがベース・アドレスに静的に割り当てられる元の動作モードに切り替えられ得る。この様に、オペレーティング・システムは、エイリアス・アドレスが動的に割り当てられ使用されるモードに遷移したり、該モードからエイリアス・アドレスが静的に割り当てられ使用されるモードに遷移したりすることができる。
【００３４】
図２に示されている実施態様では、ＵＣＢ情報５０は、１つの処理システム４ａ，４ｂ．．．４ｎと、記憶装置１８ａ，１８ｂ．．．１８ｎにおいて構成されている１つのＬＳＳ３２とのためのＵＣＢ５２ａ，５２ｂ．．．５２ｎのチェーンを提供し、各ＵＣＢ５２ａ，５２ｂ．．．５２ｎは１つのボリュームについての情報を含む。代わりの実施態様では、ＵＣＢ５０は、記憶装置１８ａ，１８ｂ．．．１８ｎにおいて構成されているボリュームに割り当てられたベース・アドレス及びエイリアス・アドレスに関する情報を提供するように異なる記憶システム及び環境に関する異なる情報を含むことができる。更に、もし該システムがチャネル・サブシステム技術を実施していなければ、フィールド６０のようなサブチャネルに関する情報は包含され得ない。
【００３５】
図３は、１つの処理システム４ａ，４ｂ．．．４ｎと、記憶装置１８ａ，１８ｂ．．．１８ｎにおいて構成されている論理サブシステム３２とのためのベース・アドレス及びエイリアス・アドレスの割り当てに関する情報を有する制御ユニット・アドレス情報８０の実施態様を示す。各々の別々の処理システム４ａ，４ｂ．．．４ｎと、処理システム４ａ，４ｂ．．．４ｎがアクセスすることのできる各論理サブシステム（ＬＳＳ）とのために情報５０のインスタンスが維持される。該アドレス情報８０は、そのために該情報８０が維持される論理サブシステム（ＬＳＳ）３２において構成されている各ボリューム３４について１つのエントリー８２ａ．．．８２ｎを含む。制御ユニット・アドレス情報８０のインスタンスは制御ユニット・アドレス情報２８を含む。各エントリー８２ａ，８２ｂ．．．８２ｎ（図３）は、ボリューム識別子８４と、該ボリュームに割り当てられているベース・アドレス８６と、該ボリュームにアクセスするために付加的に使用するようにベース・アドレス８４に割り当てられ得るゼロ個以上のエイリアス・アドレス８６ａ．．．８６ｎとを含む。
【００３６】
図４は、１つの処理システム４ａ，４ｂ．．．４ｎと１つの論理サブシステム（ＬＳＳ）３２とのために維持される処理システム記憶プール情報９０の実施態様を示す。処理システム記憶プール情報９０の該インスタンスは、１つの処理システム４ａ，４ｂ．．．４ｎについて、該情報が当てはまる論理サブシステム（ＬＳＳ）９２と、該ＬＳＳ９２内に構成されているボリュームに割り当てられ得る使用可能なエイリアス・アドレス９４とを含む。処理システム４ａ，４ｂ．．．４ｎがアクセスし得る各ＬＳＳ３２についての処理システム記憶プール情報のインスタンス９０は、エイリアス記憶プール情報２２を含む。
【００３７】
図５は、１つの論理サブシステム（ＬＳＳ）３２と１つの処理システム４ａ，４ｂ．．．４ｎとのために維持される制御ユニット記憶プール情報１００の実施態様を示す。制御ユニット・システム記憶プール情報９０のインスタンスは、１つの処理システム４ａ，４ｂ．．．４ｎ及び論理サブシステム３２のために、論理サブシステム（ＬＳＳ）１０２と、該情報が適用される処理システム１０４と、処理システム１０４のためにＬＳＳ１０２内に構成されたボリューム３４に割り当てられ得る使用可能なエイリアス・アドレス１０６とを含む。代わりの実施態様では、記憶プール情報９０は、記憶装置１８ａ，１８ｂ．．．１８ｎにおいて構成されているボリュームに割り当てられたベース・アドレス及びエイリアス・アドレスに関する情報を提供するために異なる記憶システム及び環境についての異なる情報を含むことができる。処理システムがアクセスすることのできる各ＬＳＳについての処理システム記憶プール情報のインスタンス１００は、制御ユニット・エイリアス記憶プール情報３０を含む。
【００３８】
図６は、ボリュームへのベース・アドレスの初期割り当てと記憶プールへのエイリアス・アドレスの初期割り当てとに関する情報を維持する処理システム４ａ，４ｂ．．．４ｎ及び制御ユニット６の例を示す。制御ユニット６は、この初期構成を作り、その情報を処理システム４ａ，４ｂ．．．４ｎに伝えることができる。各処理システム４ａ，４ｂは、ベース・ユニット・アドレス００，０１及び０２が割り当てられているボリューム０，１及び２に関する情報を有する複数のＵＣＢ１１０ａ，１１２ａ，１１４ａ及び１１０ｂ，１１２ｂ，１１４ｂを含む。各処理システム４ａ，４ｂは、更に、そのＬＳＳ３２内のボリューム３４についてベース・アドレスに割り当てられ得る使用可能なエイリアス・アドレス、例えば、Ａ２０７Ａ．．．Ａ２０７Ｎ、を有する各ＬＳＳ３２のための１つのエイリアス記憶プール１１６ａ，１１６ｂを維持する。記載されている実施態様では、各処理システム４ａ，４ｂ記憶プール１１６ａ，１１６ｂは、使用するべき同じエイリアス・アドレスを有する。代わりの実施態様では、異なる処理システム４ａ，４ｂ．．．４ｎにエイリアス・アドレスの異なるセットを割り当てることができる。制御ユニット６も、論理サブシステム（ＬＳＳ）３２内の各ボリューム０，１及び２についてのベース・ユニット・アドレス情報１２０ａ，１２０ｂ，１２０ｃと、各処理システム４ａ，４ｂ及びＬＳＳ３２のためのエイリアス・アドレスのセット１２２ａ，１２２ｂとを維持する。前述したように、制御ユニット６は別々の処理システム４ａ，４ｂのために同じエイリアス・アドレス番号を使用することができ、或いは代りに別々の処理システム４ａ，４ｂのために幾つか又は全部異なるエイリアス・アドレスを有することができる。２つの処理システム４ａ，４ｂのみについての情報が示されているけれども、制御ユニット６は、記憶装置１８ａ，１８ｂ．．．１８ｎと、論理サブシステム３２と、その中に構成されているボリューム３４とへのアクセスを有する全てのホスト・システム内の全ての処理システムについての情報を維持することができる。
【００３９】
図７は、実行時にベース・アドレスにエイリアス・アドレスを割り当てる方法の例を示す。エイリアス・アドレスは、必要に応じて割り当てられ得（Ｉ／Ｏ動作が到着して、開始する必要があるときに）、そのＩ／Ｏ動作完了後直ちにリリースされ得る。処理システム４ａでは、夫々ボリューム０及び１のためのベース・アドレス１１０ａ及び１１２ａにエイリアス・アドレスが割り当てられ、処理システム４ｂでは、処理システム４ａのための割り当てとは異なるボリューム１及び２に同じエイリアス・アドレス領域が割り当てられる。制御ユニット６は、異なる処理システム４ａ，４ｂのための同じエイリアス・アドレスのこの新しい割り当てに関する情報を維持するとして示されている。
【００４０】
図８は、処理システム・エイリアス動作を実行する（ブロック２００で）ためにオペレーティング・システム５で実行される動作の実施態様を示し、ここでホスト２は１つ以上の処理システムを含むことができる。ボリュームなどの装置５８（図２）へのＵＣＢ５２ａ，５２ｂ．．．５２ｎのためのベース・アドレス６２の割り当てが維持され（ブロック２０２で）、該ベース・アドレスは、処理システム４ａ，４ｂ．．．４ｎによって、記憶装置１８ａ，１８ｂ．．．１８ｎに構成されているボリューム３４にアクセスするために使用される。例えば、１つの処理システム４ａ，４ｂ．．．４ｎと、エイリアス・アドレス９４を用いることによりアクセスされ得るボリューム３４を含むＬＳＳ３２とのためのエイリアス記憶プール情報２２などの、エイリアス・アドレス・プールへの複数のエイリアス・アドレス９４の割り当ても維持される（ブロック２０４で）。例えばボリューム３４などの１つのターゲット装置にアクセスするための入力／出力（Ｉ／Ｏ）リクエストを処理するとき（ブロック２０６で）、もし（ブロック２０８で）該ターゲット装置（ボリューム）５８に割り当てられているベース・アドレス６２が使用可能ならば、そのＩ／Ｏリクエストは該ターゲット装置（ボリューム）５８に対して発せられる（ブロック２１０で）。そうでない場合、もし（ブロック２０８で）ベース・アドレス６２が使用可能でなければ、処理システム４ａ，４ｂと、ターゲット・ボリューム５８を含むＬＳＳ３４とのための記憶プール内の１つの使用可能なエイリアス・アドレス９４が、例えば６４ａ．．．６４ｎなどの使用可能なエイリアス・アドレスをターゲット・ボリューム５８のためのベース・アドレス６２と関連付けるためにターゲット装置（ボリューム）５８に割り当てられる（ブロック２１２で）。オペレーティング・システム５は、該エイリアス・アドレスが割り当てられるべきベース・ユニット・アドレスを示すために、例えばチャネル・プログラム・プレフィックス・コマンドなどのコマンドを例えばＩ／ＯチェーンなどのアプリケーションＩ／Ｏリクエストに付加する（ブロック２１４で）。該Ｉ／Ｏリクエストは、該リクエストを制御ユニット６に送って例えばボリュームなどのターゲット装置に対して実行させるように、割り当てられたエイリアス・アドレスに（ブロック２１６で）発せられる。１つの実施態様では、ブロック２１４及び２１６の動作は１つの動作として実行され得る。ＣＣＷ実施態様では、オペレーティング・システム５がディスクに対してＩ／Ｏ動作を開始するとき、ＣＣＷチェーンの頭に、セキュリティー（該ＣＣＷチェーンがアクセスすることを許される許容エクステント範囲）、キャッシュ・ヒント、非同期遠隔コピー（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＸＲＣ））のためのオプショナル・タイムスタンプなどを提供するコマンドが付けられる。該ベースのユニット・アドレスは、該動作に関連付けられている論理ボリューム／ベース・アドレスを制御ユニット６に知らせるために、エイリアスへのプレフィックス・コマンドにセットされ得る。従って、プレフィックスＣＣＷコマンドはベース・アドレスへのエイリアス・アドレスの割り当てを提供��ることができる。
【００４１】
一実施態様では、ホスト・オペレーティング・システム５は、制御ユニット６が逆にチャネル・サブシステム８に信号する前に初期コマンドとそのデータとを受け取ることを可能にすることができる。従って、制御ユニット６は、該エイリアスを関連付けなければならないボリューム（ベース）を判断することができる。もし該ボリューム（ベース）が他の例えばＬＰＡＲなどの処理システムにリザーブされているならば、装置ビジー・ステータスを戻すことができ、さもなければ該動作を開始することができる。該ベースがアクセス不可能であるとき、Ｉ／Ｏリクエスト・アプリケーションを発したアプリケーションがエイリアス・アドレスを用いるＩ／Ｏリクエストのストリーミングを許容するならば、オペレーティング・システムはエイリアス・アドレスを選ぶことを選択し得るに過ぎない。
【００４２】
図９は、制御ユニット６からのＩ／Ｏリクエスト完了メッセージを処理するためにオペレーティング・システム５において実行される動作の実施態様を示す。該完了メッセージに応じて（ブロック２３０で）、チャネル・サブシステム・プログラム１６は、それに対して該リクエストが完了したターゲット装置すなわちボリューム５８に割り当てられていたエイリアス・アドレス６４ａ．．．６４ｎを割り当て解除する（ブロック２３２で）。その割り当て解除されたエイリアスは、（ターゲット・ボリューム３４を含むＬＳＳ３２と、該リクエストを発した処理システム４ａ，４ｂ．．．４ｎとのための）エイリアス・アドレス・プール９４に、該装置のうちの１つ（例えばそのＬＳＳ３２内のボリューム３４など）への該処理システムからの後続のＩ／Ｏリクエストに使用されるように、戻される（ブロック２３４で）。
【００４３】
図１０は、アクセス不可能なベースを有するエイリアス・アドレスへのＩ／Ｏリクエストに応答して例えばボリュームなどのターゲット装置がアクセス不可能であるというメッセージを（ブロック２５０で）受け取ったことに応答してオペレーティング・システム５によって実行される動作の実施態様を示す。ボリュームは、もしそれが他のホスト又は処理システムによってリザーブされているか又は該ボリュームに対して“ロング・ビジー（ｌｏｎｇ  ｂｕｓｙ”（“介入が必要（ｉｎｔｅｒｖｅｎｔｉｏｎ  ｒｅｑｕｉｒｅｄ）”を示すユニット・チェック及びセンス・データを示す装置ステータス）が存在するならば、アクセス不可能である。アクセス不可能性を示すこのメッセージに応答して、ターゲット装置（ボリューム）への後続のＩ／Ｏリクエストを待ち行列に入れるようにセッティングが示される（ブロック２５２で）。それについてアクセス不可能（例えばリザーブされているか或いはロング・ビジーである）ステータスが受け取られたベース・アドレスへのリクエスト完了を後に受け取ると（ブロック２５４で）、オペレーティング・システム５は、待ち行列に入れられているＩ／Ｏリクエストを初めにベース・アドレスに、次にエイリアス・アドレスに、再駆動する（ブロック２５６で）。
【００４４】
図１１は、エイリアス・アドレスを管理するためにＩ／Ｏマネージャ２４コードで実行される制御ユニット６の動作の実施態様を示す。これらの動作の一部として（ブロック２７０で）、初期化時にＩ／Ｏマネージャ２４は、ベース・アドレス８４を装置８２ａ，８２ｂ．．．８２ｎ（図３）に割り当て（ブロック２７２で）、そして各々の処理システム４ａ，４ｂ（図５のフィールド１０４に示されている）と、記憶装置１８ａ，１８ｂ．．．１８ｎに構成されているＬＳＳ３２（図５のフィールド１０２に示されている）とのためにセットされた複数のエイリアス・アドレス１０６をエイリアス・アドレス・プール１００（図５）に割り当てる（ブロック２７４で）。その後、Ｉ／Ｏマネージャ２４は、処理システム・チャネル・サブシステム・プログラム１６に、ターゲット装置８２ａ，８２ｂ．．．８２ｎへのベース・アドレス８４の割り当てと、エイリアス・アドレス記憶プール１００においてそれらに割り当てられているエイリアス・アドレス１０６のセットとを伝える（ブロック２７６で）。
【００４５】
一実施態様では、プールに対するエイリアスの関係とエイリアス・プールに対するベースの関係とは、各ユニット・アドレスについて制御ユニット６からオペレーティング・システム５に送られる自己記述情報を通して達成される。該情報は、エイリアス管理グループ識別子から成る。同じエイリアス管理グループ識別子を提供するエイリアス・アドレスは同じエイリアス・プール中に存在することを許され、同じエイリアス管理グループ識別子を有するベース・ユニット・アドレスは、そのエイリアス・プールからエイリアスを割り当ててもらうことを許される。別の実施態様では、オペレーティング・システムは、制御ユニットにより明示されたエイリアス管理グループのサブセットをとることができて、より小さなサブセットを形成することができる。
【００４６】
図１２は、記憶プールからエイリアス・アドレスが動的に割り当てられて使用されるときにホスト・チャネル・サブシステム８からの特定のリクエストを処理するためにＩ／Ｏマネージャ２４で実行される動作の実施態様を示す。例えばＬＳＳ３２内のボリューム３４などのターゲット装置に１つのエイリアス・アドレスを割り当てるリクエストを処理システム４ａ，４ｂ．．．４ｎから（ブロック３００で）受け取ったことに応答して、Ｉ／Ｏマネージャ２４は、該ベース・アドレスによりアドレス指定されるターゲット装置（ボリューム）が他のシステムにリザーブされていないか（或いは別の原因でアクセス不可能であるか）判断する（ブロック３０２で）。もしリザーブされていなければ、Ｉ／Ｏマネージャ３２は（ブロック３０４で）コマンドが実行を開始することを明示するステータスを返し、その後に該Ｉ／Ｏリクエストを実行する（ブロック３０６で）。ＩＢＭ  ＥＳＳ環境では、前記返しはゼロ初期ステータスを伴なうステータスを含むことができる（これは、初期コマンド応答（Ｉｎｉｔｉａｌ  Ｃｏｍｍａｎｄ  Ｒｅｓｐｏｎｓｅ  （ＣＭＲ））フレームで与えられ得る）。もし（ブロック３０２で）ターゲット・ボリュームが他の処理システム／ホストにリザーブされているならば（或いは別の原因で使用不可能であるならば）、Ｉ／Ｏマネージャ２４は、受け取られたＩ／Ｏリクエストをエイリアス・アドレスに対してイニシエートしたホスト／処理システムに、該ターゲット装置（例えば、ボリューム）が他のホスト／処理システムにリザーブされていることを明示するステータスを戻す（ブロック３０８で）。ＩＢＭ  ＥＳＳ環境では、ブロック３０８のこの戻されるステータスは、ステータス・フレームで送られるｘＤ５ステータスを含むことができる。Ｉ／Ｏマネージャは、その後、該リクエストで明示されている例えば８６ａ．．．８６ｎ（図３）などのエイリアス・アドレスを例えばボリューム８２ａ．．．８２ｎなどのターゲット装置に割り当てる（ブロック３１０で）。その割り当てられたエイリアス・アドレスは、特定されたＬＳＳ１０２及び処理システム１０４についてエイリアス記憶プール１００で明示されている使用可能なエイリアス・アドレス１０６から除去され得る。Ｉ／Ｏマネージャ２４は、ここで、例えばボリュームなどのターゲット装置のために割り当てられたエイリアス・アドレスに対するＩ／Ｏリクエストを受け取ることができる（ブロック３１２で）。
【００４７】
一実施態様では、ホスト・オペレーティング・システム５は、制御ユニット６が逆にチャネル・サブシステム８に信号する前に該初期コマンドとそのデータとを受け取ることを可能にする。従って、制御ユニット６は、エイリアスが関連付けられなければならないボリューム（ベース）を決定することができる。もしそのボリュームが例えばＬＰＡＲなどの他の処理システムにリザーブされているならば、装置ビジー・ステータスを戻すことができ、或いは該動作を開始することができる。
【００４８】
記載されている実施態様は、必要に応じて種々のボリューム／ベース・アドレスに使用しうるようにエイリアス・アドレスを維持する技術を提供する。１つのボリュームに関して１つのエイリアス・アドレスに対する１つのＩ／Ｏリクエストが完了した後、そのエイリアス・アドレスは１つの処理システムのためのＬＳＳ内の他のボリュームに使用されるようにエイリアス・アドレス記憶プールに戻される。更に、特定の実施態様では、１つのＬＳＳのために、異なる処理システムが同じ又は異なるエイリアス・アドレスを異なるボリュームに割り当て得るように、エイリアス・アドレスの別々のプールを各処理システム及びＬＳＳのために設けることができる。これは、１つのエイリアス・アドレスが異なる処理システムにより同じ又は異なるボリュームにアクセスするために使用されることを可能にすることによって、エイリアス・アドレスの浪費を防ぐ。記載されている実施態様は、エイリアス・アドレス資源の浪費を防ぎ、実行時動作中にそれらを動的に割り当て、また再使用することを可能にする。
【００４９】
付加的な実施態様詳細
記載されている動作は、ソフトウェア、ファームウェア、ハードウェア又はこれらの任意の組み合わせを作り出す標準的なプログラミング又は工学技術或いはその両方を用いて方法、装置又はプログラムとして実現され得る。記載されている動作は“コンピュータ可読媒体”に維持されるコードとして実現され得、この場合、プロセッサが該コンピュータ可読媒体から該コードを読み取って実行することができる。コンピュータ可読媒体は、磁気記憶媒体（例えば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープなど）、光学的記憶装置（ＣＤ−ＲＯＭ、ＤＶＤ、光ディスクなど）、揮発性記憶装置及び不揮発性記憶装置（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ・メモリー、ファームウェア、プログラマブル・ロジックなど）、などのような媒体を含むことができる。記載されている動作を実現するコードは、更にハードウェア論理（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）で実現され得る。更に、記載されている動作を実現するコードは“伝送信号”で実現され得、伝送信号は、空間を通って又は光ファイバ、銅線のような伝送媒体を通って伝播することができる。コード又は論理が符号化されている伝送信号は、更に、無線信号、衛星通信、電波、赤外線信号、Ｂｌｕｅｔｏｏｔｈ（登録商標）などを含むことができる。コード又は論理が符号化されている伝送信号は、送信局から送信されて受信局に受信され得、該伝送信号に符号化されているコード又は論理は、それらの受信及び送信をする局又は装置において復号されてハードウェア又はコンピュータ可読媒体に格納され得る。“プログラム”は、コンピュータ可読媒体、ハードウェア論理、並びに、コードがそれで実現され得る伝送信号、或いはこれらのいずれかを含み得る。もちろん、本発明の範囲から逸脱せずにこの機器構成に多くの変更を加え得ること、また、該プログラムが当該技術分野で知られている適切な情報担持媒体を含み得ることを当業者は認めるであろう。
【００５０】
単数形又は複数形などの“実施態様”という用語は、明示的に別様に述べられていない限り、“本発明の１つ以上の（けれども全部ではない）実施態様”を意味する。
【００５１】
“含む”、“有する”という用語及びこれらの変化形は、明示的に別様に述べられていない限り、“含むけれどもそれに限定はされない”ことを意味する。
【００５２】
列挙されている項目のリスティングは、明示的に別様に述べられていない限り、それらの項目のいずれか又は全部が相互に排他的であることを示唆しない。
【００５３】
“１つの”及び“該”或いは“前記”という用語は、明示的に別様に述べられていない限り、“１つ以上の”を意味する。
【００５４】
互いに通信する装置同士は、明示的に別様に述べられていない限り、連続的に互いに通信していなくても良い。更に、互いに通信する装置同士は、直接に、又は１つ以上の媒介物を通して間接的に通信することができる。
【００５５】
互いに通信する複数のコンポーネントを有する実施態様についての記述は、その様なコンポーネントの全てが必要とされることを示唆するものではない。逆に、本発明の多様な実現可能な実施態様を具体的に説明するために異なる随意のコンポーネントが記載されている。
【００５６】
更に、プロセス・ステップ、方法ステップ、アルゴリズムなどは順次に記載され得るが、その様なプロセス、方法及びアルゴリズムは代わる代わるに働くように構成され得る。換言すれば、記載され得るステップのどのシーケンス或いは順序も、必ずしもそれらのステップがその順序で実行されなければならない必要性を示すものではない。本書に記載されているプロセスのステップは、如何なる実際的順序で実行されても良い。更に、幾つかのステップは同時に実行され得る。
【００５７】
本書において単一の装置又は物品が記載されているとき、単一の装置／物品の代りに２つ以上の装置／物品（それらが協力してもしなくても）を使用し得ることはまったく明らかであろう。同様に、本書において２つ以上の装置又は物品が記載されている場合（それらが協力してもしなくても）、その２つ以上の装置又は物品の代りに単一の装置／物品を使用することができ、或いは示された数の装置またはプログラムの代りに異なる数の装置／物品を使用し得ることも全く明らかであろう。１つの装置の機能性又は特徴或いはその両方は、その様な機能性／特徴を有すると明示的に記載されてはいない１つ以上の他の代わりの装置によっても具体化され得る。従って、本発明の他の実施態様は、その装置自体を含んでいなくても良い。
【００５８】
更に、特定の数のアイテムを表示するために“ａ”、“ｂ”、又は“ｎ”のような参照文字が使用されるとき、異なるエレメントに使用されるそれらの参照符号は同じ又は異なる数のその様なエレメントを示すことができる。
【００５９】
図２，３，４、及び５は、特定のフォーマットで維持される情報を示している。代わりの実施態様では、これらの図に示されている情報は、代わりのデータ構造及びフォーマットで、異なる組み合わせで、維持され得る。
【００６０】
図８，９，１０，１１、及び１２に示されている動作は、特定の順序で起こる特定のイベントを示す。代わりの実施態様では、或る動作は、異なる順序で実行され、改変され或いは除去されても良い。更に、上記の論理にステップを付け加えることができ、それでもなお上記実施態様と同様になることができる。更に、本書に記載されている動作は順次に行われ得、或いは特定の複数の動作は並行して処理され得る。更に、複数の動作が、単一の処理ユニットによって、或いは分散されている複数の処理ユニットによって、実行され得る。
【００６１】
本発明の種々の実施態様についての前の記述は、例示及び説明を目的として呈示されている。網羅的であることや、発明を開示されている正確な形に限定することは意図されていない。上の教示を考慮すれば、多くの改変及び変形が可能である。本発明の範囲は、この詳細な説明に限定されるのではなくて、本書に添えられている請求項によって限定されるべきことが意図されている。上記の明細書、実例及びデータは、本発明の構成の製造及び使用方法についての完全な説明を提供する。本発明の範囲から逸脱せずに本発明の多くの実施態様又は具体例を作ることができるので、本発明は、添付されている請求項に存在する。
【図面の簡単な説明】
【００６２】
【図１】計算環境の実施態様を示す。
【図２】ボリュームにアクセスするためにホストが維持する情報の実施態様を示す。
【図３】ホストが制御ユニットによって管理されるボリュームにアクセスすることを可能にするために制御ユニットが維持する情報の実施態様を示す。
【図４】ボリュームにアクセスするためにホストが維持する情報の実施態様を示す。
【図５】ホストが制御ユニットによって管理されるボリュームにアクセスすることを可能にするために制御ユニットが維持する情報の実施態様を示す。
【図６】ホスト処理システム及び制御ユニット内のボリュームにベース・アドレス及びエイリアス・アドレスを割り当てる方法の例を示す。
【図７】ホスト処理システム及び制御ユニット内のボリュームにベース・アドレス及びエイリアス・アドレスを割り当てる方法の例を示す。
【図８】ボリュームにアクセスするためにベース・アドレス及びエイリアス・アドレスを使用するホスト動作の実施態様を示す。
【図９】ボリュームにアクセスするためにベース・アドレス及びエイリアス・アドレスを使用するホスト動作の実施態様を示す。
【図１０】ボリュームにアクセスするためにベース・アドレス及びエイリアス・アドレスを使用するホスト動作の実施態様を示す。
【図１１】ホストが制御ユニットにより管理されるボリュームにアクセスすることを可能にする制御ユニット動作の実施態様を示す。
【図１２】ホストが制御ユニットにより管理されるボリュームにアクセスすることを可能にする制御ユニット動作の実施態様を示す。
【符号の説明】
【００６３】
２  ホスト
４ａ，４ｂ，４ｎ  処理システム
５  オペレーティング・システム
６  制御ユニット
８  チャネル・サブシステム
１０  論理経路
１２  アダプタ
１６  チャネル・サブシステム・プログラム
１７、２６  メモリー
１８ａ，１８ｂ，１８ｎ  記憶装置
２０  ＵＣＢ情報
２２  エイリアス記憶プール情報
２４  Ｉ／Ｏマネージャ
２８  制御ユニット・アドレス情報
３０  制御ユニット・エイリアス記憶プール情報
３２  ＬＳＳ
３４  ボリューム
５０  ホスト／処理システムＵＣＢ情報
５２ａ，５２ｂ，５２ｎ  ＵＣＢ
５４  ＵＣＢ
５６  ＬＳＳ
５８  ボリューム
６０  サブチャネル
６２  ベース・アドレス
６６  ボリューム・ステータス
６４ａ  ・・・  ６４ｎ  エイリアス・アドレス
８０  制御ユニット・アドレス情報
８２ｂ、８２ｎ  ボリューム
８４  ベース・ユニット・アドレス
８６ａ，８６ｎ  エイリアス・ユニット・アドレス
９０  処理システム記憶プール情報
９２  ＬＳＳ
９４  使用可能なエイリアス・アドレス
１００  制御ユニット記憶プール情報
１０２  ＬＳＳ
１０４  処理システム
１０６  使用可能なエイリアス・ユニット・アドレス
【図１】
2008134858.tif 000003
【図２】
2008134858.tif 000004
【図３】
2008134858.tif 000005
【図４】
2008134858.tif 000006
【図５】
2008134858.tif 000007
【図６】
2008134858.tif 000008
【図７】
2008134858.tif 000009
【図８】
2008134858.tif 000010
【図９】
2008134858.tif 000011
【図１０】
2008134858.tif 000012
【図１１】
2008134858.tif 000013
【図１２】
2008134858.tif 000014