JP4857092B2 - エイリアス・アドレスをベース・アドレスに割り当てるプログラム、システム及び方法 - Google Patents

エイリアス・アドレスをベース・アドレスに割り当てるプログラム、システム及び方法 Download PDF

Info

Publication number
JP4857092B2
JP4857092B2 JP2006320915A JP2006320915A JP4857092B2 JP 4857092 B2 JP4857092 B2 JP 4857092B2 JP 2006320915 A JP2006320915 A JP 2006320915A JP 2006320915 A JP2006320915 A JP 2006320915A JP 4857092 B2 JP4857092 B2 JP 4857092B2
Authority
JP
Japan
Prior art keywords
alias
address
target device
assigned
alias address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006320915A
Other languages
English (en)
Other versions
JP2008134858A (ja
Inventor
ハリー・モリス・ユーデンフレンド
リチャード・アンソニー・リップバーガー
デール・フランシス・リーディ・ジュニア
マシュー・ジョセフ・カロス
ケネス・ミシェル・トローウェル
ホアン・アロンソ・コロナド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006320915A priority Critical patent/JP4857092B2/ja
Publication of JP2008134858A publication Critical patent/JP2008134858A/ja
Application granted granted Critical
Publication of JP4857092B2 publication Critical patent/JP4857092B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ベース・アドレスにエイリアス・アドレスを割り当てるための方法、システム及びプログラムに関する。
或る計算環境では、複数のホスト・システムが、1つ以上の論理パスを通して、相互に接続されているハード・ディスク・ドライブのような記憶装置へのアクセスを提供する複数の制御ユニット(CU)(記憶装置コントローラ、記憶装置サブシステム、企業記憶装置サーバなどとしても知られている)と通信することができる。その相互に接続されているドライブは、直接アクセス記憶装置(DASD)、リダンダント・アレイ・オブ・インディペンデント・ディスクス(RAID)、ジャスト・ア・バンチ・オブ・ディスク(JBOD)などとして構成され得る。制御ユニットは、1つ以上の論理サブシステム(LSS)を構成することができ、その各LSSは複数のボリュームを含むように構成される。
ホスト・システムは、制御ユニットからLSS内のボリュームにアクセスするための情報を維持するチャネル・サブシステムを含むことができる。チャネル・サブシステムはサブチャネルを含み、これはチャネル・サブシステムのためのI/O動作の実行のための状態トラッキングを提供し、また、ホストをLSSのボリュームに接続する経路に関する情報を提供する。ホスト・オペレーティング・システムは、1つのボリュームに割り当てられたベース・ユニット・アドレスと、該チャネル・サブシステムがベース装置上のボリュームにアクセスするために使用するサブチャネルとに関する情報を提供するユニット制御ブロック(UCB)を維持する。該チャネル・サブシステムは、個々のサブチャネルと、それらが有する経路とを知っている。カスタマーは、初めにCUへの外部ツールを介してベースにエイリアス(alias)を割り当てる。オペレーティング・システムは、作業負荷要件が変更されるとベースへのエイリアスの結合を動的に変化させることができる。更に、制御ユニットは、ボリュームのためのベース・アドレスにエイリアス・アドレスを割り当てることができ、該エイリアス・アドレスは、共存する複数のI/Oリクエストを同じボリュームに向けることを可能にするために使われる。ベース・ボリュームのためのUCBは、そのボリュームに割り当てられたエイリアス・アドレスに関する情報を維持する。ホストは、1つのボリュームへのI/O動作をアドレス指定するためにUCB内の情報を処理する。特に、ホストは、サブチャネルにおいて、一連のチャネル指令語(CCW)のような一連のI/O命令から成るチャネル・プログラムをイニシエートすることによってボリュームへのI/O動作をイニシエートする。
制御ユニットは、システムの異なるビューを維持する。制御ユニットには、各装置(ボリューム)のためのベース・ユニット・アドレスと、各ベース・ユニット・アドレスのためのゼロ個以上のエイリアス・ユニット・アドレスとが提供される。各ボリューム(装置)にベース・アドレスを割り当てた後、残りのアドレスをエイリアス・アドレスとして該ベース・アドレスに割り当てることができる。制御ユニットは、該ユニット・アドレスを使用して該ボリュームに物理的にアクセスする。
1つのI/O動作又は一連のCCWコマンドは、該論理ボリュームのための別々のベース・ユニット・アドレス及びエイリアス・ユニット・アドレスを用いて同じ論理ボリュームに向けて、同時に実行され得る。この様に、実行されるCCWコマンドは全て、異なるアドレスを用いて同じ論理ボリュームの方に向けられ、各アドレスは、単一の論理ボリュームに到達するために複数のチャネル経路のうちの1つを使用する。これは、単一のホストが単一のボリュームに対して複数のI/O動作を同時に実行することを可能にする。1つのベースのために提供されるエイリアスの数は、ボリュームのサイズと、並列ユーザの数とに応じてセットされ得る。或る場合には、1つのボリュームのための特定のベース・アドレスのためにネットワーク・トラフィックに配慮するために少数のエイリアスだけが必要とされ得る。更に、1つの論理ボリュームに関連付けられるエイリアスの数は、ワーク・ロード・マネージャ(WLM)によって作業負荷の目標に基いて動的に変更され得る。
ホストは初めに、そのボリュームのためのベースUCBを通して該ボリューム(I/O装置)にアクセスしようと試みる。もしベースUCBが利用できなければ、すなわち同時に他のI/O動作にサービスしているならば、ホストは、そのボリュームに同時にアクセスするためにそのベースUCBに割り当てられている利用可能なエイリアスUCBのうちの1つを使用することができる。ホスト・システムは、そのとき、該UCBに関連付けられているサブチャネルと、そのサブチャネルのために提供されるチャネル経路とを通してI/O動作を実行する。エイリアス・アドレスの使用と、異なるベース・アドレスへのエイリアス・アドレスの再割り当てとは特許文献1、2及び3に記載されている。
米国特許第6,185,638号 米国特許第6,170,023号 米国特許第6,167,459号
本発明の目的は、ベース・アドレスにエイリアス・アドレスを割り当てるための方法、システム及びプログラムを提供することである。
エイリアス・アドレスをベース・アドレスに割り当てるための方法、システム及びプログラムが提供される。装置へのベース・アドレスの割り当てが提供され、該ベース・アドレスは、該ベース・アドレスに割り当てられている装置にアクセスするために使用される。エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てが提供される。該エイリアス・アドレス・プールに存するエイリアス・アドレスは、該装置へのI/Oリクエストにサービスするために該装置に動的に割り当てられ得る。該装置のうちの1つを含む1つのターゲット装置にアクセスするための入力/出力(I/O)リクエストが処理される。そのターゲット装置に割り当てられているベース・アドレスが使用可能か否か判断される。該ベース・アドレスが使用可能ではないという判断に応じて1つのエイリアス・アドレスが該ターゲット装置に割り当てられる。該I/Oリクエストは、該リクエストを該ターゲット装置に送るように、その割り当てられたエイリアス・アドレスに対して発せられる。
別の実施態様では、ターゲット装置に割り当てられたエイリアス・アドレスは該I/Oリクエストの完了に応じて割り当て解除され、この割り当て解除されたエイリアス・アドレスは、該装置のうちの1つに対する後続のI/Oリクエストに使用されるように該エイリアス・アドレス・プールに戻される。
別の実施態様では、1つのエイリアス・アドレスをターゲット装置に割り当てることは、該エイリアス・アドレスを該ターゲット装置のベース・アドレスと関連付けることを含む。
別の実施態様では、ターゲット装置への1つのエイリアス・アドレスの割り当ては、該装置へのアクセスを管理する制御ユニットに対して該エイリアス・アドレスを該ターゲット装置に割り当てるコマンドを発することを含む。該制御ユニットは、該ターゲット装置への該エイリアス・アドレスの割り当てを明示するように内部データ構造を更新する。
別の実施態様では、該装置は、論理サブシステム内に構成されるボリュームを含む。ホスト・システムは複数の独立処理システムを含む。各処理システムは該ボリュームへのアクセスを管理する制御ユニットとの複数の別々の接続を維持し、各処理システムは、ボリュームへのベース・アドレスの割り当てと記憶プールへのエイリアス・アドレスの割り当てとを明示するデータ構造を維持する。該処理システムによって使われる該記憶プールは該ボリュームにアクセスすするために同じエイリアス・アドレスを有する。
別の実施態様では、割り当てられたエイリアス・アドレスへのI/Oリクエストを発したことに応じて該ターゲット装置がリザーブされていることを明示するステータスが受け取られる。該ステータスを受け取ったことに応じて、該ターゲット装置に対する後続のI/Oリクエストは待ち行列に入れられる。
別の実施態様では、ターゲット装置が使用可能であることを明示するステータスが受け取られ、また、該ターゲット装置がもはやリザーブされていないというステータスを受け取ったことに応じて、該ターゲット装置についての待ち行列に入れられているI/Oリクエストのために使用されるように該記憶プールからエイリアス・アドレスが該ターゲット装置に割り当てられる。
別の実施態様では、ターゲット装置が使用可能であることを明示するステータスは、そのターゲット装置のためのベース・アドレスが使用可能であることを明示するステータスを含む。該ターゲット装置がもはやリザーブされていないというステータスを受け取ったことに応じて遅延させられたベース・アドレス及びエイリアス・アドレスに対するI/Oリクエストは再発行される。
別の実施態様では、エイリアス・アドレス及びベース・アドレスとエイリアス・アドレス・プールとの関連は、各ベース・アドレス又はエイリアス・アドレスについてのエイリアス割り当てグループ番号の制御ユニットからの割り当てによって決定される。同じエイリアス管理グループ番号と関連付けられたベース・アドレス及びエイリアス・アドレスは、同じエイリアス・アドレス・プールと関連付けられる。
別の実施態様では、該制御ユニットによって特定されるエイリアス管理グループ番号は、複数のエイリアス・アドレス・プールを作るようにエイリアス管理グループ番号の複数のサブセットに細分される。
更に、エイリアス・アドレスをベース・アドレスに割り当てるための方法、システム、及びプログラムが提供される。ベース・アドレスは装置に割り当てられ、ベース・アドレスは、ホスト・システムによって、該ベース・アドレスに割り当てられた装置にアクセスするために使用される。1つのエイリアス・アドレス・プールに複数のエイリアス・アドレスが割り当てられ、該エイリアス・アドレス・プール内のエイリアス・アドレスは、装置に対するI/Oリクエストにサービスするために該装置に動的に割り当てられ得る。ターゲット装置へのベース・アドレスの割り当てとエイリアス・アドレス記憶プールへのエイリアス・アドレスの割り当てとはホスト・システムに伝えられる。該装置のうちの1つを含むターゲット装置に1つのエイリアス・アドレスを割り当てるリクエストがホスト・システムから受け取られる。該リクエストにおいて明示されたエイリアス・アドレスは、該リクエストに応じて該ターゲット装置に割り当てられる。該ターゲット装置のために割り当てられたエイリアス・アドレスに対するI/Oリクエストが受け取られ、該I/Oリクエストは、該エイリアス・アドレスが割り当てられている該ターゲット装置に対して実行される。
別の実施態様では、ホスト・システムは、装置への別々の接続を各々維持する複数の独立処理システムを含む。エイリアス・アドレス記憶プールにエイリアス・アドレスを割り当てることは、該ホスト・システム内の各処理システムに該記憶プール中のエイリアス・アドレスのセットを割り当てることを更に含む。異なる処理システムのためのエイリアス・アドレスのセットは同じエイリアス・アドレスを有する。更に、各処理システムに割り当てられたエイリアス・アドレスのセットは各処理システムに伝えられる。
別の実施態様では、該記憶プール内のエイリアス・アドレスの異なるセットの中の1つの同じ又は複数の異なるエイリアス・アドレスを、これらのセットに関連付けられている処理システムに、1つの装置又は複数の異なる装置にアクセスするために、割り当てることができる。
別の実施態様では、装置は論理サブシステム内に構成されたボリュームを含む。各処理システムは、経路グループ識別子により特定される該論理サブシステムとの複数の接続を維持する。1つの処理システムにエイリアス・アドレスの1つのセットを割り当てる動作は、該エイリアス・アドレスのセットを該論理サブシステム及び処理システムの経路グループ識別子と関連付けることを含む。
別の実施態様では、1つのターゲット装置に割り当てられたエイリアス・アドレスへの1つのI/Oリクエストを受け取ったことに応じてそのターゲット装置がアクセス不可能であるか否かが判断される。該エイリアス・アドレスに対して該受け取られたI/Oリクエストをイニシエートしたホストシステムに、そのターゲット装置がアクセス不可能であることを明示するステータスが戻される。
図面を参照する。図面全体において、同様な参照番号は、対応する部分を表す。
以下の記述において、本書の一部を形成して本発明の実施態様を示す添付図面を参照する。本発明の範囲から逸脱せずに他の実施態様を利用し得ること、並びに構造及び動作を変更しうることが分かる。
図1は、本発明の異なる側面が実現されている計算環境を示す。1つ以上のホスト2(1つだけ示されている)は、複数の論理経路を制御ユニット6に提供するチャネル・サブシステム8を通して入力/出力(I/O)リクエストを制御ユニット6に伝える1つ以上の処理システム4a,4b...4nを含む。各処理システム4a,4b...4nは、経路関連動作を管理するオペレーティング・システム5を含む。チャネル・サブシステム8は、アダプタ12を通って延びる論理経路10を管理する。アダプタは物理層を提供し、該物理層を通って論理経路10は制御ユニット6に延び或いはスイッチ(図示されていない)を通って複数の制御ユニットに延びる。オペレーティング・システム5は更に複数の論理経路10を1つの経路グループと関連付けることができ、その場合、1つの経路グループ内の全ての経路が、1つの処理システム4a,4b...4nによって、制御ユニット6との通信のために使用され得る。1つの処理システム4a,4b...4nによって使用される経路グループは、経路グループ識別子(PGID)によって特定され得る。オペレーティング・システム5は、世界的なユニークな識別子(PGID)を用いて該装置のための各経路にI/Oコマンド(セット・パス・グループID CCWのような)を発することができる。制御ユニット6は、同じ識別子を有する1つの装置のための経路のセットから1つの経路グループを作る。
各処理システム4a,4b...4nはオペレーティング・システム5とチャネル・サブシステム8コードとを含む複数のプログラムを実行する中央処理ユニット(CPU)を含むことができる。或いは、各処理システム4a,4b...4nは、独立のシステムとして各々動作して自分自身のオペレーティング・システム5を実行する複数の論理パーティション(LPAR)のうちの1つを含むことができ、チャネル・サブシステム8コードを共有することができる。別の実施態様では、各処理システムは1つのプロセッサの1つの論理パーティションを含むことができる。この様に、ホスト2内の1つ以上のプロセッサが複数の論理パーティション(LPAR)を実現することができる。複数の処理システム4a,4b...4nが単一の論理チャネル・サブシステム16を共有することができ、或いは別々の処理システム4a,4b...4nが別々の論理チャネル・サブシステムを使用することができる。論理経路を実現するチャネル・サブシステムの詳細は次の刊行物に記載されている: “z/Architecture: Reference Summary”,IBM document no.SA22−7871−02(著作権 IBM、2005年9月)。
チャネル・サブシステム8は、I/Oリクエストを処理システム4a,4b...4nから制御ユニット6に伝える動作を実行するチャネル・サブシステム・プログラム16を含む。オペレーティング・システム5は、UCBを使用し、I/Oリクエストを管理する。チャネル・サブシステム・プログラム16は、チャネル・サブシステム8からI/Oリクエストを得る。1つ以上の記憶装置から成るメモリー17は、I/Oリクエストを管理するためにチャネル・サブシステム・プログラム16により使用される情報を含む。各処理システム4a,4b...4nは、各処理システム4a,4b...4nのためのUCBチェーンに関する情報を提供する自分自身のUCB及びエイリアス記憶プール情報を維持する。異なる処理システム4a,4b...4nは、特定の処理システムのためのベース・アドレスに割り当てられた異なるエイリアス・アドレスを有する異なるUCBチェーンを有することができる。
異なる処理システム4a,4b...4nが異なる使用可能のエイリアス・アドレスを使用し且つ有することができるように、ホスト・メモリー17は、処理システム4a,4b...4nのための異なる論理サブシステム(LSS)のための使用可能なエイリアス・アドレスの割り当てに関する情報を提供するエイリアス記憶プール情報22を更に含む。更に、異なる処理システム4a,4b...4nは、同じエイリアス・アドレスを使用することができるけれども、それらを別々の仕方で使用することができる、すなわち、それらを別々の構成でボリューム及びエイリアス記憶プールに割り当てることができる。一実施態様では、メモリー17は、全ての処理システム4a,4b...4n及びLSSのためにUCB情報20及びエイリアス記憶プール情報22を維持することができ、それは同時に全ての処理システム動作のために共有される。別の実施態様では、各処理システムは、その処理システム4a,4b...4nのためのUCB情報20及びエイリアス記憶プール情報22を自分自身のメモリーにおいて維持することができる。
制御ユニット6は、トラック、パーティション、論理装置、論理ボリューム、論理ユニット番号(LUN)、論理サブシステム(LSS)又は他の論理的若しくは物理的記憶ユニットのような記憶システム18a,18b...18nにアクセスするための処理システム4a,4b...4nからのリクエストを管理する。記憶装置18aは1つ以上のLSS32を含む構成を示し、各LSS32において1つ以上のボリューム34が構成されている。該ボリュームは複数の記憶装置にわたって広がることができる。この“装置”という用語は、物理的トラック、LSS、パーティション、論理ボリューム、ボリュームなどのような任意の物理的又は論理的データ記憶ユニットを指す。制御ユニット6は、記憶装置18a,18b...18nと、その中に構成された例えばボリューム、LSSなどの論理的及び物理的コンポーネントとへのI/Oリクエストを処理するI/Oマネージャ・プログラム24を含む。制御ユニット6は1つ以上の装置から構成される制御ユニット・メモリー26を有し、その中に、I/Oマネージャ24は論理サブシステム(LSS)内のボリュームのような、定められた記憶ユニットのためのベース・アドレス及びエイリアス・アドレスの割り当てを有する制御ユニット・アドレス情報28を維持する。メモリー26は、処理システム4a,4b...4nのために使用し得るエイリアス・アドレスに関する情報を有する制御ユニット・エイリアス記憶プール情報30を更に含む。
ホスト2は、ワークステーション、メインフレーム、サーバなどのような、当該技術において知られている計算装置を含むことができる。制御ユニット6は、企業記憶サーバ、記憶コントローラなどのような記憶サブシステム又はサーバ、或いは、付加されているボリュームへのI/Oリクエストを管理するために使用される他の装置を含むことができる。記憶装置18a,18b...18nは、相互に接続されたハード・ディスク・ドライブ(例えば、DASD、RAID、JBOD、仮想化装置(virtualized devices)など)、磁気テープ、電子メモリー、フラッシュ・メモリー、光ディスクなどのような、当該技術において知られている記憶装置を含むことができる。ホスト2は、ローカル・エリア・ネットワーク(LAN)、ストレージ・エリア・ネットワーク(SAN)、ワイド・エリア・ネットワーク(WAN)、対等型ネットワーク、無線ネットワークなどのようなネットワークを通して延びることのできる論理経路10を介して制御ユニット6と通信することができる。或いは、ホスト2はペリフェラル・コンポーネント・インターコネクト(PCI)バスまたはシリアル・インターフェースのようなバス・インターフェースを介して記憶装置コントローラ6と通信することができる。
図2は、1つの処理システム4a,4b...4n及びLSS32のためのボリュームへのベース・アドレス及びエイリアス・アドレスの割り当てに関する情報を有するホスト/処理システムUCB情報50を示す。各々の別々の処理システム4a,4b...4nとLSS32との対について情報50のインスタンスがホスト2において維持される。UCB情報50のインスタンスはUCB情報20を含む。情報50は1つの処理システム4a,4b...4nのためのUCBエントリー52a,52b...52nを含んでおり、これは、チェーン内の各UCBについて次の情報:
記憶装置18,18b...18nにおいて構成されている1つのボリュームにアクセスするための情報を提供するUCBのUCB識別子54;
ボリューム34が中に構成されているLSS32を特定する論理サブシステム(LSS)56;
そのために該情報が提供されるフィールド56で特定されるLSS32内のボリューム58;
サブチャネル番号、該ボリュームに関する情報を提供するインデックス又はポインタを含むチャネル・サブシステム8のサブチャネル60;
該サブチャネルのためのベース・アドレス62;
該ボリュームを付加的にアドレス指定するために使用される1つ以上のエイリアス・アドレス64a...64n(もし割り当てられているならば);及び
該ボリュームのステータスに関する情報を提供するボリューム・ステータス66;
を含む。或る実施態様では、エイリアス・アドレスは、そのベース(ボリューム)についてI/O動作がアクティブであるときに特定のベース・アドレス62に関連付けられるだけである。他の場合にはエイリアスは、特定のどのベース(ボリューム)とも関連付けられていない使用可能なエイリアスのプールに存在する。
一実施態様では、エイリアス・アドレスは初めに制御ユニット6の記憶サブシステム(LSS)においてベースと関連付けられ得る。もし記憶サブシステムがエイリアス・アドレス・プーリングをサポートするならば、オペレーティング・システム5は、エイリアス・アドレスがプールされて必要なときだけ割り当てられるように動作するように制御ユニット6に命じる“サブシステム特性をセットするコマンド(set subsystem characteristics command)”を発する。このコマンドは、その処理システム4a,4b...4nのための特定のベース・アドレス62にエイリアス・アドレスをもはや関連付けさせない。処理システム4a,4b...4n内の各オペレーティング・システムは、自分のエイリアス・アドレス指定モードを自主的に変更することができる。この段階で、エイリアス・アドレスは、I/O動作が開始されるときにベース・アドレス62に割り当てられ、動作が完了したときにプールに戻されるように使用可能である。同様に、LSS内の装置は、カスタマーにより、エイリアスがベース・アドレスに静的に割り当てられる元の動作モードに切り替えられ得る。この様に、オペレーティング・システムは、エイリアス・アドレスが動的に割り当てられ使用されるモードに遷移したり、該モードからエイリアス・アドレスが静的に割り当てられ使用されるモードに遷移したりすることができる。
図2に示されている実施態様では、UCB情報50は、1つの処理システム4a,4b...4nと、記憶装置18a,18b...18nにおいて構成されている1つのLSS32とのためのUCB52a,52b...52nのチェーンを提供し、各UCB52a,52b...52nは1つのボリュームについての情報を含む。代わりの実施態様では、UCB50は、記憶装置18a,18b...18nにおいて構成されているボリュームに割り当てられたベース・アドレス及びエイリアス・アドレスに関する情報を提供するように異なる記憶システム及び環境に関する異なる情報を含むことができる。更に、もし該システムがチャネル・サブシステム技術を実施していなければ、フィールド60のようなサブチャネルに関する情報は包含され得ない。
図3は、1つの処理システム4a,4b...4nと、記憶装置18a,18b...18nにおいて構成されている論理サブシステム32とのためのベース・アドレス及びエイリアス・アドレスの割り当てに関する情報を有する制御ユニット・アドレス情報80の実施態様を示す。各々の別々の処理システム4a,4b...4nと、処理システム4a,4b...4nがアクセスすることのできる各論理サブシステム(LSS)とのために情報50のインスタンスが維持される。該アドレス情報80は、そのために該情報80が維持される論理サブシステム(LSS)32において構成されている各ボリューム34について1つのエントリー82a...82nを含む。制御ユニット・アドレス情報80のインスタンスは制御ユニット・アドレス情報28を含む。各エントリー82a,82b...82n(図3)は、ボリューム識別子84と、該ボリュームに割り当てられているベース・アドレス86と、該ボリュームにアクセスするために付加的に使用するようにベース・アドレス84に割り当てられ得るゼロ個以上のエイリアス・アドレス86a...86nとを含む。
図4は、1つの処理システム4a,4b...4nと1つの論理サブシステム(LSS)32とのために維持される処理システム記憶プール情報90の実施態様を示す。処理システム記憶プール情報90の該インスタンスは、1つの処理システム4a,4b...4nについて、該情報が当てはまる論理サブシステム(LSS)92と、該LSS92内に構成されているボリュームに割り当てられ得る使用可能なエイリアス・アドレス94とを含む。処理システム4a,4b...4nがアクセスし得る各LSS32についての処理システム記憶プール情報のインスタンス90は、エイリアス記憶プール情報22を含む。
図5は、1つの論理サブシステム(LSS)32と1つの処理システム4a,4b...4nとのために維持される制御ユニット記憶プール情報100の実施態様を示す。制御ユニット・システム記憶プール情報90のインスタンスは、1つの処理システム4a,4b...4n及び論理サブシステム32のために、論理サブシステム(LSS)102と、該情報が適用される処理システム104と、処理システム104のためにLSS102内に構成されたボリューム34に割り当てられ得る使用可能なエイリアス・アドレス106とを含む。代わりの実施態様では、記憶プール情報90は、記憶装置18a,18b...18nにおいて構成されているボリュームに割り当てられたベース・アドレス及びエイリアス・アドレスに関する情報を提供するために異なる記憶システム及び環境についての異なる情報を含むことができる。処理システムがアクセスすることのできる各LSSについての処理システム記憶プール情報のインスタンス100は、制御ユニット・エイリアス記憶プール情報30を含む。
図6は、ボリュームへのベース・アドレスの初期割り当てと記憶プールへのエイリアス・アドレスの初期割り当てとに関する情報を維持する処理システム4a,4b...4n及び制御ユニット6の例を示す。制御ユニット6は、この初期構成を作り、その情報を処理システム4a,4b...4nに伝えることができる。各処理システム4a,4bは、ベース・ユニット・アドレス00,01及び02が割り当てられているボリューム0,1及び2に関する情報を有する複数のUCB110a,112a,114a及び110b,112b,114bを含む。各処理システム4a,4bは、更に、そのLSS32内のボリューム34についてベース・アドレスに割り当てられ得る使用可能なエイリアス・アドレス、例えば、A207A...A207N、を有する各LSS32のための1つのエイリアス記憶プール116a,116bを維持する。記載されている実施態様では、各処理システム4a,4b記憶プール116a,116bは、使用するべき同じエイリアス・アドレスを有する。代わりの実施態様では、異なる処理システム4a,4b...4nにエイリアス・アドレスの異なるセットを割り当てることができる。制御ユニット6も、論理サブシステム(LSS)32内の各ボリューム0,1及び2についてのベース・ユニット・アドレス情報120a,120b,120cと、各処理システム4a,4b及びLSS32のためのエイリアス・アドレスのセット122a,122bとを維持する。前述したように、制御ユニット6は別々の処理システム4a,4bのために同じエイリアス・アドレス番号を使用することができ、或いは代りに別々の処理システム4a,4bのために幾つか又は全部異なるエイリアス・アドレスを有することができる。2つの処理システム4a,4bのみについての情報が示されているけれども、制御ユニット6は、記憶装置18a,18b...18nと、論理サブシステム32と、その中に構成されているボリューム34とへのアクセスを有する全てのホスト・システム内の全ての処理システムについての情報を維持することができる。
図7は、実行時にベース・アドレスにエイリアス・アドレスを割り当てる方法の例を示す。エイリアス・アドレスは、必要に応じて割り当てられ得(I/O動作が到着して、開始する必要があるときに)、そのI/O動作完了後直ちにリリースされ得る。処理システム4aでは、夫々ボリューム0及び1のためのベース・アドレス110a及び112aにエイリアス・アドレスが割り当てられ、処理システム4bでは、処理システム4aのための割り当てとは異なるボリューム1及び2に同じエイリアス・アドレス領域が割り当てられる。制御ユニット6は、異なる処理システム4a,4bのための同じエイリアス・アドレスのこの新しい割り当てに関する情報を維持するとして示されている。
図8は、処理システム・エイリアス動作を実行する(ブロック200で)ためにオペレーティング・システム5で実行される動作の実施態様を示し、ここでホスト2は1つ以上の処理システムを含むことができる。ボリュームなどの装置58(図2)へのUCB52a,52b...52nのためのベース・アドレス62の割り当てが維持され(ブロック202で)、該ベース・アドレスは、処理システム4a,4b...4nによって、記憶装置18a,18b...18nに構成されているボリューム34にアクセスするために使用される。例えば、1つの処理システム4a,4b...4nと、エイリアス・アドレス94を用いることによりアクセスされ得るボリューム34を含むLSS32とのためのエイリアス記憶プール情報22などの、エイリアス・アドレス・プールへの複数のエイリアス・アドレス94の割り当ても維持される(ブロック204で)。例えばボリューム34などの1つのターゲット装置にアクセスするための入力/出力(I/O)リクエストを処理するとき(ブロック206で)、もし(ブロック208で)該ターゲット装置(ボリューム)58に割り当てられているベース・アドレス62が使用可能ならば、そのI/Oリクエストは該ターゲット装置(ボリューム)58に対して発せられる(ブロック210で)。そうでない場合、もし(ブロック208で)ベース・アドレス62が使用可能でなければ、処理システム4a,4bと、ターゲット・ボリューム58を含むLSS34とのための記憶プール内の1つの使用可能なエイリアス・アドレス94が、例えば64a...64nなどの使用可能なエイリアス・アドレスをターゲット・ボリューム58のためのベース・アドレス62と関連付けるためにターゲット装置(ボリューム)58に割り当てられる(ブロック212で)。オペレーティング・システム5は、該エイリアス・アドレスが割り当てられるべきベース・ユニット・アドレスを示すために、例えばチャネル・プログラム・プレフィックス・コマンドなどのコマンドを例えばI/OチェーンなどのアプリケーションI/Oリクエストに付加する(ブロック214で)。該I/Oリクエストは、該リクエストを制御ユニット6に送って例えばボリュームなどのターゲット装置に対して実行させるように、割り当てられたエイリアス・アドレスに(ブロック216で)発せられる。1つの実施態様では、ブロック214及び216の動作は1つの動作として実行され得る。CCW実施態様では、オペレーティング・システム5がディスクに対してI/O動作を開始するとき、CCWチェーンの頭に、セキュリティー(該CCWチェーンがアクセスすることを許される許容エクステント範囲)、キャッシュ・ヒント、非同期遠隔コピー(Asynchronous Remote Copy(XRC))のためのオプショナル・タイムスタンプなどを提供するコマンドが付けられる。該ベースのユニット・アドレスは、該動作に関連付けられている論理ボリューム/ベース・アドレスを制御ユニット6に知らせるために、エイリアスへのプレフィックス・コマンドにセットされ得る。従って、プレフィックスCCWコマンドはベース・アドレスへのエイリアス・アドレスの割り当てを提供することができる。
一実施態様では、ホスト・オペレーティング・システム5は、制御ユニット6が逆にチャネル・サブシステム8に信号する前に初期コマンドとそのデータとを受け取ることを可能にすることができる。従って、制御ユニット6は、該エイリアスを関連付けなければならないボリューム(ベース)を判断することができる。もし該ボリューム(ベース)が他の例えばLPARなどの処理システムにリザーブされているならば、装置ビジー・ステータスを戻すことができ、さもなければ該動作を開始することができる。該ベースがアクセス不可能であるとき、I/Oリクエスト・アプリケーションを発したアプリケーションがエイリアス・アドレスを用いるI/Oリクエストのストリーミングを許容するならば、オペレーティング・システムはエイリアス・アドレスを選ぶことを選択し得るに過ぎない。
図9は、制御ユニット6からのI/Oリクエスト完了メッセージを処理するためにオペレーティング・システム5において実行される動作の実施態様を示す。該完了メッセージに応じて(ブロック230で)、チャネル・サブシステム・プログラム16は、それに対して該リクエストが完了したターゲット装置すなわちボリューム58に割り当てられていたエイリアス・アドレス64a...64nを割り当て解除する(ブロック232で)。その割り当て解除されたエイリアスは、(ターゲット・ボリューム34を含むLSS32と、該リクエストを発した処理システム4a,4b...4nとのための)エイリアス・アドレス・プール94に、該装置のうちの1つ(例えばそのLSS32内のボリューム34など)への該処理システムからの後続のI/Oリクエストに使用されるように、戻される(ブロック234で)。
図10は、アクセス不可能なベースを有するエイリアス・アドレスへのI/Oリクエストに応答して例えばボリュームなどのターゲット装置がアクセス不可能であるというメッセージを(ブロック250で)受け取ったことに応答してオペレーティング・システム5によって実行される動作の実施態様を示す。ボリュームは、もしそれが他のホスト又は処理システムによってリザーブされているか又は該ボリュームに対して“ロング・ビジー(long busy”(“介入が必要(intervention required)”を示すユニット・チェック及びセンス・データを示す装置ステータス)が存在するならば、アクセス不可能である。アクセス不可能性を示すこのメッセージに応答して、ターゲット装置(ボリューム)への後続のI/Oリクエストを待ち行列に入れるようにセッティングが示される(ブロック252で)。それについてアクセス不可能(例えばリザーブされているか或いはロング・ビジーである)ステータスが受け取られたベース・アドレスへのリクエスト完了を後に受け取ると(ブロック254で)、オペレーティング・システム5は、待ち行列に入れられているI/Oリクエストを初めにベース・アドレスに、次にエイリアス・アドレスに、再駆動する(ブロック256で)。
図11は、エイリアス・アドレスを管理するためにI/Oマネージャ24コードで実行される制御ユニット6の動作の実施態様を示す。これらの動作の一部として(ブロック270で)、初期化時にI/Oマネージャ24は、ベース・アドレス84を装置82a,82b...82n(図3)に割り当て(ブロック272で)、そして各々の処理システム4a,4b(図5のフィールド104に示されている)と、記憶装置18a,18b...18nに構成されているLSS32(図5のフィールド102に示されている)とのためにセットされた複数のエイリアス・アドレス106をエイリアス・アドレス・プール100(図5)に割り当てる(ブロック274で)。その後、I/Oマネージャ24は、処理システム・チャネル・サブシステム・プログラム16に、ターゲット装置82a,82b...82nへのベース・アドレス84の割り当てと、エイリアス・アドレス記憶プール100においてそれらに割り当てられているエイリアス・アドレス106のセットとを伝える(ブロック276で)。
一実施態様では、プールに対するエイリアスの関係とエイリアス・プールに対するベースの関係とは、各ユニット・アドレスについて制御ユニット6からオペレーティング・システム5に送られる自己記述情報を通して達成される。該情報は、エイリアス管理グループ識別子から成る。同じエイリアス管理グループ識別子を提供するエイリアス・アドレスは同じエイリアス・プール中に存在することを許され、同じエイリアス管理グループ識別子を有するベース・ユニット・アドレスは、そのエイリアス・プールからエイリアスを割り当ててもらうことを許される。別の実施態様では、オペレーティング・システムは、制御ユニットにより明示されたエイリアス管理グループのサブセットをとることができて、より小さなサブセットを形成することができる。
図12は、記憶プールからエイリアス・アドレスが動的に割り当てられて使用されるときにホスト・チャネル・サブシステム8からの特定のリクエストを処理するためにI/Oマネージャ24で実行される動作の実施態様を示す。例えばLSS32内のボリューム34などのターゲット装置に1つのエイリアス・アドレスを割り当てるリクエストを処理システム4a,4b...4nから(ブロック300で)受け取ったことに応答して、I/Oマネージャ24は、該ベース・アドレスによりアドレス指定されるターゲット装置(ボリューム)が他のシステムにリザーブされていないか(或いは別の原因でアクセス不可能であるか)判断する(ブロック302で)。もしリザーブされていなければ、I/Oマネージャ32は(ブロック304で)コマンドが実行を開始することを明示するステータスを返し、その後に該I/Oリクエストを実行する(ブロック306で)。IBM ESS環境では、前記返しはゼロ初期ステータスを伴なうステータスを含むことができる(これは、初期コマンド応答(Initial Command Response (CMR))フレームで与えられ得る)。もし(ブロック302で)ターゲット・ボリュームが他の処理システム/ホストにリザーブされているならば(或いは別の原因で使用不可能であるならば)、I/Oマネージャ24は、受け取られたI/Oリクエストをエイリアス・アドレスに対してイニシエートしたホスト/処理システムに、該ターゲット装置(例えば、ボリューム)が他のホスト/処理システムにリザーブされていることを明示するステータスを戻す(ブロック308で)。IBM ESS環境では、ブロック308のこの戻されるステータスは、ステータス・フレームで送られるxD5ステータスを含むことができる。I/Oマネージャは、その後、該リクエストで明示されている例えば86a...86n(図3)などのエイリアス・アドレスを例えばボリューム82a...82nなどのターゲット装置に割り当てる(ブロック310で)。その割り当てられたエイリアス・アドレスは、特定されたLSS102及び処理システム104についてエイリアス記憶プール100で明示されている使用可能なエイリアス・アドレス106から除去され得る。I/Oマネージャ24は、ここで、例えばボリュームなどのターゲット装置のために割り当てられたエイリアス・アドレスに対するI/Oリクエストを受け取ることができる(ブロック312で)。
一実施態様では、ホスト・オペレーティング・システム5は、制御ユニット6が逆にチャネル・サブシステム8に信号する前に該初期コマンドとそのデータとを受け取ることを可能にする。従って、制御ユニット6は、エイリアスが関連付けられなければならないボリューム(ベース)を決定することができる。もしそのボリュームが例えばLPARなどの他の処理システムにリザーブされているならば、装置ビジー・ステータスを戻すことができ、或いは該動作を開始することができる。
記載されている実施態様は、必要に応じて種々のボリューム/ベース・アドレスに使用しうるようにエイリアス・アドレスを維持する技術を提供する。1つのボリュームに関して1つのエイリアス・アドレスに対する1つのI/Oリクエストが完了した後、そのエイリアス・アドレスは1つの処理システムのためのLSS内の他のボリュームに使用されるようにエイリアス・アドレス記憶プールに戻される。更に、特定の実施態様では、1つのLSSのために、異なる処理システムが同じ又は異なるエイリアス・アドレスを異なるボリュームに割り当て得るように、エイリアス・アドレスの別々のプールを各処理システム及びLSSのために設けることができる。これは、1つのエイリアス・アドレスが異なる処理システムにより同じ又は異なるボリュームにアクセスするために使用されることを可能にすることによって、エイリアス・アドレスの浪費を防ぐ。記載されている実施態様は、エイリアス・アドレス資源の浪費を防ぎ、実行時動作中にそれらを動的に割り当て、また再使用することを可能にする。
付加的な実施態様詳細
記載されている動作は、ソフトウェア、ファームウェア、ハードウェア又はこれらの任意の組み合わせを作り出す標準的なプログラミング又は工学技術或いはその両方を用いて方法、装置又はプログラムとして実現され得る。記載されている動作は“コンピュータ可読媒体”に維持されるコードとして実現され得、この場合、プロセッサが該コンピュータ可読媒体から該コードを読み取って実行することができる。コンピュータ可読媒体は、磁気記憶媒体(例えば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープなど)、光学的記憶装置(CD−ROM、DVD、光ディスクなど)、揮発性記憶装置及び不揮発性記憶装置(例えば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ・メモリー、ファームウェア、プログラマブル・ロジックなど)、などのような媒体を含むことができる。記載されている動作を実現するコードは、更にハードウェア論理(例えば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)で実現され得る。更に、記載されている動作を実現するコードは“伝送信号”で実現され得、伝送信号は、空間を通って又は光ファイバ、銅線のような伝送媒体を通って伝播することができる。コード又は論理が符号化されている伝送信号は、更に、無線信号、衛星通信、電波、赤外線信号、Bluetooth(登録商標)などを含むことができる。コード又は論理が符号化されている伝送信号は、送信局から送信されて受信局に受信され得、該伝送信号に符号化されているコード又は論理は、それらの受信及び送信をする局又は装置において復号されてハードウェア又はコンピュータ可読媒体に格納され得る。“プログラム”は、コンピュータ可読媒体、ハードウェア論理、並びに、コードがそれで実現され得る伝送信号、或いはこれらのいずれかを含み得る。もちろん、本発明の範囲から逸脱せずにこの機器構成に多くの変更を加え得ること、また、該プログラムが当該技術分野で知られている適切な情報担持媒体を含み得ることを当業者は認めるであろう。
単数形又は複数形などの“実施態様”という用語は、明示的に別様に述べられていない限り、“本発明の1つ以上の(けれども全部ではない)実施態様”を意味する。
“含む”、“有する”という用語及びこれらの変化形は、明示的に別様に述べられていない限り、“含むけれどもそれに限定はされない”ことを意味する。
列挙されている項目のリスティングは、明示的に別様に述べられていない限り、それらの項目のいずれか又は全部が相互に排他的であることを示唆しない。
“1つの”及び“該”或いは“前記”という用語は、明示的に別様に述べられていない限り、“1つ以上の”を意味する。
互いに通信する装置同士は、明示的に別様に述べられていない限り、連続的に互いに通信していなくても良い。更に、互いに通信する装置同士は、直接に、又は1つ以上の媒介物を通して間接的に通信することができる。
互いに通信する複数のコンポーネントを有する実施態様についての記述は、その様なコンポーネントの全てが必要とされることを示唆するものではない。逆に、本発明の多様な実現可能な実施態様を具体的に説明するために異なる随意のコンポーネントが記載されている。
更に、プロセス・ステップ、方法ステップ、アルゴリズムなどは順次に記載され得るが、その様なプロセス、方法及びアルゴリズムは代わる代わるに働くように構成され得る。換言すれば、記載され得るステップのどのシーケンス或いは順序も、必ずしもそれらのステップがその順序で実行されなければならない必要性を示すものではない。本書に記載されているプロセスのステップは、如何なる実際的順序で実行されても良い。更に、幾つかのステップは同時に実行され得る。
本書において単一の装置又は物品が記載されているとき、単一の装置/物品の代りに2つ以上の装置/物品(それらが協力してもしなくても)を使用し得ることはまったく明らかであろう。同様に、本書において2つ以上の装置又は物品が記載されている場合(それらが協力してもしなくても)、その2つ以上の装置又は物品の代りに単一の装置/物品を使用することができ、或いは示された数の装置またはプログラムの代りに異なる数の装置/物品を使用し得ることも全く明らかであろう。1つの装置の機能性又は特徴或いはその両方は、その様な機能性/特徴を有すると明示的に記載されてはいない1つ以上の他の代わりの装置によっても具体化され得る。従って、本発明の他の実施態様は、その装置自体を含んでいなくても良い。
更に、特定の数のアイテムを表示するために“a”、“b”、又は“n”のような参照文字が使用されるとき、異なるエレメントに使用されるそれらの参照符号は同じ又は異なる数のその様なエレメントを示すことができる。
図2,3,4、及び5は、特定のフォーマットで維持される情報を示している。代わりの実施態様では、これらの図に示されている情報は、代わりのデータ構造及びフォーマットで、異なる組み合わせで、維持され得る。
図8,9,10,11、及び12に示されている動作は、特定の順序で起こる特定のイベントを示す。代わりの実施態様では、或る動作は、異なる順序で実行され、改変され或いは除去されても良い。更に、上記の論理にステップを付け加えることができ、それでもなお上記実施態様と同様になることができる。更に、本書に記載されている動作は順次に行われ得、或いは特定の複数の動作は並行して処理され得る。更に、複数の動作が、単一の処理ユニットによって、或いは分散されている複数の処理ユニットによって、実行され得る。
本発明の種々の実施態様についての前の記述は、例示及び説明を目的として呈示されている。網羅的であることや、発明を開示されている正確な形に限定することは意図されていない。上の教示を考慮すれば、多くの改変及び変形が可能である。本発明の範囲は、この詳細な説明に限定されるのではなくて、本書に添えられている請求項によって限定されるべきことが意図されている。上記の明細書、実例及びデータは、本発明の構成の製造及び使用方法についての完全な説明を提供する。本発明の範囲から逸脱せずに本発明の多くの実施態様又は具体例を作ることができるので、本発明は、添付されている請求項に存在する。
計算環境の実施態様を示す。 ボリュームにアクセスするためにホストが維持する情報の実施態様を示す。 ホストが制御ユニットによって管理されるボリュームにアクセスすることを可能にするために制御ユニットが維持する情報の実施態様を示す。 ボリュームにアクセスするためにホストが維持する情報の実施態様を示す。 ホストが制御ユニットによって管理されるボリュームにアクセスすることを可能にするために制御ユニットが維持する情報の実施態様を示す。 ホスト処理システム及び制御ユニット内のボリュームにベース・アドレス及びエイリアス・アドレスを割り当てる方法の例を示す。 ホスト処理システム及び制御ユニット内のボリュームにベース・アドレス及びエイリアス・アドレスを割り当てる方法の例を示す。 ボリュームにアクセスするためにベース・アドレス及びエイリアス・アドレスを使用するホスト動作の実施態様を示す。 ボリュームにアクセスするためにベース・アドレス及びエイリアス・アドレスを使用するホスト動作の実施態様を示す。 ボリュームにアクセスするためにベース・アドレス及びエイリアス・アドレスを使用するホスト動作の実施態様を示す。 ホストが制御ユニットにより管理されるボリュームにアクセスすることを可能にする制御ユニット動作の実施態様を示す。 ホストが制御ユニットにより管理されるボリュームにアクセスすることを可能にする制御ユニット動作の実施態様を示す。
符号の説明
2 ホスト
4a,4b,4n 処理システム
5 オペレーティング・システム
6 制御ユニット
8 チャネル・サブシステム
10 論理経路
12 アダプタ
16 チャネル・サブシステム・プログラム
17、26 メモリー
18a,18b,18n 記憶装置
20 UCB情報
22 エイリアス記憶プール情報
24 I/Oマネージャ
28 制御ユニット・アドレス情報
30 制御ユニット・エイリアス記憶プール情報
32 LSS
34 ボリューム
50 ホスト/処理システムUCB情報
52a,52b,52n UCB
54 UCB
56 LSS
58 ボリューム
60 サブチャネル
62 ベース・アドレス
66 ボリューム・ステータス
64a ・・・ 64n エイリアス・アドレス
80 制御ユニット・アドレス情報
82b、82n ボリューム
84 ベース・ユニット・アドレス
86a,86n エイリアス・ユニット・アドレス
90 処理システム記憶プール情報
92 LSS
94 使用可能なエイリアス・アドレス
100 制御ユニット記憶プール情報
102 LSS
104 処理システム
106 使用可能なエイリアス・ユニット・アドレス

Claims (19)

  1. コンピュータ・システムに装置へのアクセスを管理する制御ユニットと通信させ、また動作を行わせるためのプログラムであって、前記動作が、
    前記装置へのベース・アドレスの割り当てを提供し、前記ベース・アドレスが前記ベース・アドレスに割り当てられた前記装置にアクセスするために使用されるものである動作と、
    エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てを提供し、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが、前記装置へのI/Oリクエストにサービスするために前記装置に動的に割り当てられ得るものである動作と、
    前記装置のうちの1つを含む1つのターゲット装置にアクセスするための入力/出力(I/O)リクエストを処理する動作と、
    前記ターゲット装置に割り当てられた前記ベース・アドレスが使用可能か否か判断する動作と、
    前記ベース・アドレスが使用可能ではないという判断に応じて1つのエイリアス・アドレスを前記ターゲット装置に割り当てる動作と、
    前記I/Oリクエストを前記ターゲット装置に伝えるために、前記I/Oリクエストを前記割り当てられたエイリアス・アドレスに対して発する動作と、
    を含むプログラム。
  2. 前記動作が、
    前記I/Oリクエストの完了に応じて、前記ターゲット装置への前記エイリアス・アドレスを割り当て解除する動作と、
    前記装置のうちの1つに対する後続のI/Oリクエストに使用されるように、前記割り当て解除されたエイリアス・アドレスを前記エイリアス・アドレス・プールに戻す動作と、
    を更に含む、請求項1に記載のプログラム。
  3. 1つのエイリアス・アドレスを前記ターゲット装置に割り当てる動作は、前記エイリアス・アドレスを前記ターゲット装置の前記ベース・アドレスと関連付ける動作を含む、請求項1に記載のプログラム。
  4. 1つのエイリアス・アドレスを前記ターゲット装置に割り当てる動作は、前記装置へのアクセスを管理する制御ユニットに前記エイリアス・アドレスを前記ターゲット装置に割り当てるようにコマンドを発する動作を含み、前記制御ユニットは、前記ターゲット装置への前記エイリアス・アドレスの前記割り当てを表すように内部データ構造を更新する、請求項1に記載のプログラム。
  5. 前記装置は論理サブシステムの中に構成されたボリュームを含み、前記プログラムは前記コンピュータ・システムに複数の独立の処理システムと通信させ、各処理システムは前記ボリュームへのアクセスを管理する制御ユニットとの別々の接続を維持し、各処理システムは、ボリュームへのベース・アドレスの割り当てと記憶プールへのエイリアス・アドレスの割り当てとを表すデータ構造を維持し、前記処理システムによって使用される前記記憶プールは前記ボリュームにアクセスするための同じエイリアス・アドレスを有する、請求項1に記載のプログラム。
  6. 前記割り当てられたエイリアス・アドレスに前記I/Oリクエストが発せられたことに応じて、前記ターゲット装置がリザーブされていることを示すステータスを受け取る動作と、
    前記ステータスを受け取ったことに応じて前記ターゲット装置への後続のI/Oリクエストを待ち行列に入れる動作と、
    を更に含む、請求項1に記載のプログラム。
  7. 前記ターゲット装置が使用可能であることを示すステータスを受け取る動作と、
    前記ターゲット装置が最早リザーブされていないというステータスを受け取ったことに応じて、前記ターゲット装置のための待ち行列に入れられているI/Oリクエストに用いられるようにエイリアス・アドレスを前記プールから前記ターゲット装置に割り当てる動作と、
    を更に含む、請求項6に記載のプログラム。
  8. 前記ターゲット装置が使用可能であることを示す前記ステータスは、前記ターゲット装置のための前記ベース・アドレスが使用可能であることを示すステータスを含み、
    更に、前記ターゲット装置が最早リザーブされていないという前記ステータスを受け取ったことに応じて遅らされた前記ベース・アドレス及び前記エイリアス・アドレスに対する前記I/Oリクエストを再び発する動作を含む、請求項6に記載のプログラム。
  9. エイリアス・アドレス及びベース・アドレスのエイリアス・アドレス・プールとの前記関連付けは、各ベース・アドレス又はエイリアス・アドレスのためのエイリアス割り当てグループ番号の前記制御ユニットからの割り当てにより決定され、同じ前記エイリアス割り当てグループ番号と関連付けられているベース・アドレス及びエイリアス・アドレスは同じ前記エイリアス・アドレス・プールと関連付けられる、請求項1に記載のプログラム。
  10. 前記動作は更に、
    前記制御ユニットによって特定される前記エイリアス管理グループ番号を、複数のエイリアス・アドレス・プールを作るように前記エイリアス管理グループ番号のサブセットの複数のサブセットに細分する動作を更に含む、請求項9に記載のプログラム。
  11. コンピュータ・システムに、ホスト・システム及び装置と通信させ、また動作を行わせるためのプログラムであって、前記動作は、
    前記装置にベース・アドレスを割り当てる動作であって、前記ベース・アドレスが前記ベース・アドレスに割り当てられた前記装置にアクセスするために前記ホスト・システムによって使用される動作と、
    複数のエイリアス・アドレスをエイリアス・アドレス・プールに割り当てる動作であって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが、前記装置に対するI/Oリクエストにサービスするために前記装置に動的に割り当てられ得る動作と、
    前記ターゲット装置へのベース・アドレスの前記割り当てと前記エイリアス・アドレス・プールへの前記エイリアス・アドレスの前記割り当てとを前記ホスト・システムに伝える動作と、
    前記装置のうちの1つを含むターゲット装置に1つのエイリアス・アドレスを割り当てるためのリクエストを前記ホスト・システムから受け取る動作と、
    前記リクエストに応じて、前記リクエストにおいて示されている前記エイリアス・アドレスを前記ターゲット装置に割り当てる動作と、
    前記ターゲット装置のために割り当てられた前記エイリアス・アドレスに対するI/Oリクエストを受け取る動作と、
    前記エイリアス・アドレスが割り当てられた前記ターゲット装置に対して前記I/Oリクエストを実行する動作と、
    を含む、プログラム。
  12. 前記ホスト・システムは、前記装置への別々の接続を各々維持する独立の処理システムを含み、前記エイリアス・アドレス記憶プールへの前記エイリアス・アドレスの割り当ては、更に、
    前記ホスト・システム内の各処理システムに前記記憶プール内のエイリアス・アドレスのセットを割り当てる動作であって、異なる処理システムのためのエイリアス・アドレスの前記セットが同じ前記エイリアス・アドレスを有する動作と、
    各処理システムに、当該処理システムに割り当てられたエイリアス・アドレスの前記セットを伝える動作と、
    を含む、請求項11に記載のプログラム。
  13. 前記記憶プール内のエイリアス・アドレスの異なるセットの中の1つの同じ又は複数の異なるエイリアス・アドレスを、1つの装置又は複数の異なる装置にアクセスする、それらのセットと関連付けられた前記処理システムに割り当てることができる、請求項12に記載のプログラム。
  14. 前記装置は論理サブシステム内に構成されたボリュームを含み、各処理システムは、経路グループ識別子により特定される前記論理サブシステムとの複数の接続を維持し、1つの処理システムへのエイリアス・アドレスの1つのセットの割り当ては、エイリアス・アドレスの前記セットを前記論理サブシステム及び処理システムの前記経路グループ識別子と関連付ける動作を含む、請求項12に記載のプログラム。
  15. 前記動作は、
    1つのターゲット装置がアクセス不可能であるか否かを、前記ターゲット装置に割り当てられている前記エイリアス・アドレスへの1つのI/Oリクエストを受け取ったことに応じて判断する動作と、
    受け取られた前記I/Oリクエストを前記エイリアス・アドレスに対してイニシエートした前記ホスト・システムに、前記ターゲット装置がアクセス不可能であることを明示するステータスを戻す動作と、
    を更に含む、請求項11に記載のプログラム。
  16. 装置へのアクセスを管理する制御ユニットと通信するシステムであって、
    前記システムはプロセッサを含み、
    前記システムはコンピュータ可読媒体を含み、この媒体は、前記システムに、
    装置へのベース・アドレスの割り当てであって、前記ベース・アドレスに割り当てられている前記装置にアクセスするために前記ベース・アドレスが使用される割り当てと、
    エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てであって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが、前記装置へのI/Oリクエストにサービスするために前記装置に動的に割り当てられ得る割り当てと、をを実行させるためのものであり、
    前記コンピュータ可読媒体は、更に前記システムに、
    前記装置のうちの1つを含む1つのターゲット装置にアクセスするための入力/出力(I/O)リクエストを処理する動作と、
    前記ターゲット装置に割り当てられた前記ベース・アドレスが使用可能であるか否かを判断する動作と、
    前記ベース・アドレスが使用可能ではないという判断に応じて1つのエイリアス・アドレスを前記ターゲット装置に割り当てる動作と、
    前記ターゲット装置に対して実行するように前記I/Oリクエストを前記制御ユニットに送るために、割り当てられた前記エイリアス・アドレスへの前記I/Oリクエストを発する動作と、
    を実行させるためのものである、システム。
  17. 装置へのアクセスを管理し、ホスト・システムと通信するシステムであって、
    プロセッサと、
    前記システムに動作を実行させるためのコンピュータ可読媒体と、
    を含んでおり、前記動作は、
    ターゲット装置にベース・アドレスを割り当てる動作であって、前記ベース・アドレスが前記ベース・アドレスに割り当てられた前記装置にアクセスするために前記ホスト・システムによって使用される、動作と、
    エイリアス・アドレス・プールに複数のエイリアス・アドレスを割り当てる動作であって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスは、前記装置に対するI/Oリクエストにサービスするために前記装置に動的に割り当てられ得る、動作と、
    前記ターゲット装置へのベース・アドレスの前記割り当てと前記エイリアス・アドレス・プールへの前記エイリアス・アドレスの前記割り当てとを前記ホスト・システムに伝える動作と、
    前記装置のうちの1つを含むターゲット装置に1つのエイリアス・アドレスを割り当てるためのリクエストを前記ホスト・システムから受け取る動作と、
    前記リクエストに応じて前記リクエストで示された前記エイリアス・アドレスを前記ターゲット装置に割り当てる動作と、
    前記ターゲット装置のために割り当てられた前記エイリアス・アドレスに対するI/Oリクエストを受け取る動作と、
    前記エイリアス・アドレスが割り当てられている前記ターゲット装置に対して前記I/Oリクエストを実行する動作と、
    を含む、システム。
  18. 装置へのベース・アドレスの割り当てを提供するステップであって、前記ベース・アドレスが前記ベース・アドレスに割り当てられた前記装置にアクセスするためにホスト・システムによって使用されるステップと、
    エイリアス・アドレス・プールへの複数のエイリアス・アドレスの割り当てを提供するステップであって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが前記装置に対するI/Oリクエストにサービスするために前記装置に動的に割り当てられ得るステップと、
    前記装置のうちの1つを含む1つのターゲット装置にアクセスするための入力/出力(I/O)リクエストを処理するステップと、
    前記ターゲット装置に割り当てられている前記ベース・アドレスが使用可能か否か判断するステップと、
    前記ベース・アドレスが使用可能ではないという判断に応じて1つのエイリアス・アドレスを前記ターゲット装置に割り当てるステップと、
    前記I/Oリクエストを、前記リクエストを前記ターゲット装置に送るために、割り当てられた前記エイリアス・アドレスに対して発するステップと、
    を含む方法。
  19. 装置にベース・アドレスを割り当てるステップであって、前記ベース・アドレスに割り当てられた前記装置にアクセスするためにホスト・システムによって前記ベース・アドレスが使用されるステップと、
    複数のエイリアス・アドレスをエイリアス・アドレス・プールに割り当てる動作であって、前記エイリアス・アドレス・プール内の前記エイリアス・アドレスが、前記装置に対するI/Oリクエストにサービスするために前記装置に動的に割り当てられ得るステップと、
    ターゲット装置へのベース・アドレスの前記割り当てと前記エイリアス・アドレス・プールへの前記エイリアス・アドレスの前記割り当てとを前記ホスト・システムに伝えるシステムと、
    前記装置のうちの1つを含むターゲット装置に1つのエイリアス・アドレスを割り当てるためのリクエストを前記ホスト・システムから受け取るステップと、
    前記リクエストに応じて、前記リクエストにおいて明示されている前記エイリアス・アドレスを前記ターゲット装置に割り当てるステップと、
    前記ターゲット装置のために割り当てられた前記エイリアス・アドレスに対するI/Oリクエストを受け取るステップと、
    前記エイリアス・アドレスが割り当てられた前記ターゲット装置に対して前記I/Oリクエストを実行するステップと、
    を含む、方法。
JP2006320915A 2006-11-28 2006-11-28 エイリアス・アドレスをベース・アドレスに割り当てるプログラム、システム及び方法 Active JP4857092B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006320915A JP4857092B2 (ja) 2006-11-28 2006-11-28 エイリアス・アドレスをベース・アドレスに割り当てるプログラム、システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006320915A JP4857092B2 (ja) 2006-11-28 2006-11-28 エイリアス・アドレスをベース・アドレスに割り当てるプログラム、システム及び方法

Publications (2)

Publication Number Publication Date
JP2008134858A JP2008134858A (ja) 2008-06-12
JP4857092B2 true JP4857092B2 (ja) 2012-01-18

Family

ID=39559672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006320915A Active JP4857092B2 (ja) 2006-11-28 2006-11-28 エイリアス・アドレスをベース・アドレスに割り当てるプログラム、システム及び方法

Country Status (1)

Country Link
JP (1) JP4857092B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4083404B2 (ja) * 2001-09-21 2008-04-30 株式会社日立製作所 データ処理システム及びこれに用いる記憶制御装置
US7171514B2 (en) * 2003-11-20 2007-01-30 International Business Machines Corporation Apparatus and method to control access to logical volumes using parallel access volumes

Also Published As

Publication number Publication date
JP2008134858A (ja) 2008-06-12

Similar Documents

Publication Publication Date Title
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
US7702879B2 (en) Assigning alias addresses to base addresses
US6240467B1 (en) Input/output operation request handling in a multi-host system
US6185638B1 (en) Method and system for dynamically assigning addresses to an input/output device
US6167459A (en) System for reassigning alias addresses to an input/output device
US20080005146A1 (en) Updating metadata in a logical volume associated with a storage controller
US6170023B1 (en) System for accessing an input/output device using multiple addresses
JP4219602B2 (ja) 記憶制御装置および記憶制御装置の制御方法
KR20200017363A (ko) 호스트 스토리지 서비스들을 제공하기 위한 NVMe 프로토콜에 근거하는 하나 이상의 호스트들과 솔리드 스테이트 드라이브(SSD)들 간의 관리되는 스위칭
US8640138B2 (en) Authenticating a processing system accessing a resource via a resource alias address
JP4906917B2 (ja) 異なるサイズのアドレス空間をアドレス指定するために使用される異なるアドレス指定形式と互換性のあるアドレス形式を提供すること
JP2005284343A (ja) ストレージ装置
US9760314B2 (en) Methods for sharing NVM SSD across a cluster group and devices thereof
JP2013531283A (ja) ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
JP6068676B2 (ja) 計算機システム及び計算機システムの制御方法
JP2003345631A (ja) 計算機システム及び記憶領域の割当方法
JP2010271808A (ja) ストレージ装置及びデータコピー方法
US10983708B2 (en) Sharing alias addresses among logical devices
US7856540B2 (en) System and article of manufacture for removing alias addresses from an alias address pool
JP4857092B2 (ja) エイリアス・アドレスをベース・アドレスに割り当てるプログラム、システム及び方法
US8234651B2 (en) Information processing method and apparatus using the same
US8103827B2 (en) Managing processing systems access to control blocks providing information on storage resources
US11544013B2 (en) Array-based copy mechanism utilizing logical addresses pointing to same data block
JPWO2018173300A1 (ja) I/o制御方法およびi/o制御システム
JP2004272349A (ja) データ処理システムおよびデータ処理システムの制御方法ならびに外部記憶装置および外部記憶装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4857092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150