WO2001001262A1 - Controleur de peripherique et systeme d'entree/sortie - Google Patents

Controleur de peripherique et systeme d'entree/sortie Download PDF

Info

Publication number
WO2001001262A1
WO2001001262A1 PCT/JP1999/003366 JP9903366W WO0101262A1 WO 2001001262 A1 WO2001001262 A1 WO 2001001262A1 JP 9903366 W JP9903366 W JP 9903366W WO 0101262 A1 WO0101262 A1 WO 0101262A1
Authority
WO
WIPO (PCT)
Prior art keywords
host
input
path
output
command
Prior art date
Application number
PCT/JP1999/003366
Other languages
English (en)
French (fr)
Inventor
Sawao Iwatani
Sanae Kamakura
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP1999/003366 priority Critical patent/WO2001001262A1/ja
Publication of WO2001001262A1 publication Critical patent/WO2001001262A1/ja
Priority to US09/930,158 priority patent/US6792482B2/en
Priority to US10/914,335 priority patent/US7409472B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Description

明 紺 書 デバイス制御装置及び入出力システム 技術分野
本発明は、 メインフレームやオープン系ホスト等の^多様なホストからディ スクァレイ等の物理デバィスに文 る入出力 ^^を するデバイス制御装 g¾ び入出力システムに関し、 特に、 入出; ¾ ^の ±i» ^"るキューイング、 パス えに伴なうシーケンシャルルアクセスの対応、 ^^^時の待 a¾への え、 更にチャネル轄 !r^Tる レートの確保の各々を S ^はるデバイス制 御装 M¾び入出力システムに默る。 背景技術'
現在、 ディ
Figure imgf000003_0001
御装置は、 ^能、高 高 fi l性ィ匕が進み、 の 計 からだけでな く、 UN I Xやパーソナルコンピュータなど様々な分野のホストシステムに接統 できることか"^視されている。
し力、し、 デバイス制御装置を多够数のホストに接続するには、 いくつかの解 決しなければならない があった。 第 1の は、 多^数のホストから i¾ にデバイス制御装置に入出力魏 (I ZOュマンド) が発行されるため、 ホスト からの入出力 ^を して する待ち f W®リソースに負荷が^ Φし、 ボ トルネックとなっている。 デバイス制御装置は、 腿のホストを物理的 ir¾続す るポート毎のチャネルアダプタと、 ホストからの入出^^^括して する リソースマネージャと、 各物理デバイス〖 *fし U御を行うデバイスァダプダを 備える。 ホストからの入出力要求は、 チャネルアダプタで入出力要求の内容が解 析さォ その^^はそのままリソースマネージャに渡される。 リソースマネージ ャは、 チヤネノレアダプタからの入出力^^リソースマネージャ內のキュー制御 部に設けたキューテーブル (待ち f^ij) 納し、 その中より mr次入出力要求を 対象となるデバイスアダプタに発行する。 デバィズアダプタは、 その入出力要求 をデノ ィスに発行し応答をリソース^一ジャに返答する。 リソース^一ジャ は、 デバイス制御装置 動 ί^Ψの入出力の排他 や、 デバイス ^する入出 力要求のキュー ®、 デバイス制御装置がアレイディスクの場合はアレイ制御を 行う。 このようにホストからの入出^ は、 チャネルアダプ^^ ¾容が 解析され、 その要求はそのままリソース^ージャに^れている。 したがって
、 複数醜に入出力魏を発行してくるホストが増えてきている現状では、 リソ —スマネージャ内のキュ一制 «5の中にホストの入出 力 '積み重なつてしま い、 リソースマネージャで行うキュー制 ®K オーバ"^ッドが、 デバイス制御装 置 はボトルネックとなっている。
従って本発明の巨的は、 チャネルアダプタにキュー制御部を設け、 ホストから の要求はチャネルアダプタで一旦格納され、 その のいくつかがリソース 一 ジャに送られることによりリソ一ス^ージャ力く制御するキューの数を減らすよ うにしたデバイス制御装置を提^^ることにある。
また本発明のデバイス制御装置にあっては、 各種のホストとしてオープン系ホ ストと接続する 、 ホストアプリケーションからの入出力 ^を ドラ ィバにより複数パスに分けてロードバランスをとり、 ^のパスがボトルネット とならないような環境を構築することか望ましい。 オープン系ホストのホストァ プリケーシヨンからの入出力 は、 散ドラィバによつ T¾数のパスの各 デバイスドライバに振り分けられ、更に各ホストアダプタから入出力要求をデバ イス制御装置に発行する。 このようにして: St分散ドライバ ^数パスを構築す ることにより、 ホストとデバィス制御 がるパスのボトルネックを減らす ο
しかし、 ここで カ つ生じている。 それは入出力 を分散させることに より、 デバイス制御装置 mr従 作していたシーケンシヤノレ ができなくな つてしまうことである。 ^のシーケンシャル入出力要求は、 入出 のアド レスを確保し、 前回のコマンド <Lft較し、 アドレスに連緣 があつだときシ一ケ ンシャル入出方^^と判断している。 シーケンシャル入出ノ 求 eある t ^バイ ス制御装置が判断すると、 プリフェツチ動作や複数領域^リード'ライトなど シーケンシャル入出力要求に効果的な動 "ドを できる。 しかし、 入出力 要求が処理分散ドライバによるロードパランスをとるため、 複数パス 通してバ ラバラに発行されると、 シーケンシャル入出力^の検出機構力働作しなくなつ てしまう。
従って本発明の他の目的は、 ホストアプリケーションからのシーケンシャル入 出力要求がロートバランスを取るためにパラバラに分けて発行されても、 デバイ ス制御装置側でシーケンシャルカ、 か!^できるようにしたデバィス制御装置を 提^ることにある。
デノ ィス制御装置をオープン系ホストに接続して入出力システムを構築する場 合、 システムの 性を向上するためにパス ¾ ^^パスと待 パスに ィ匕 する。 例えばオープン系ホストに設け ストアプリケーション入出力魏は、 パス ドライバによって運用系パスのデバイスドライバに発行され、 デバイス 制御装置のホストアダプタに送られる。 この: ϋ ^のデバイスドライバの IfTに 繋がるパスに轄力く し 合は、 パス備ドライバにより轄カ ¾ ^し^ 用系パスの を停止し、 待 に設定されているデバイスドライバに入出力要 求の発行を移行する。
しかしながら、 待;^デバイスドライバの S 〖 がるパス力 長時 使用し ていない間に壌れてしまい、
Figure imgf000005_0001
待 縣が動作しない轄が姓している可 fgfe^ある 0
従って本発明の他の目的は、 パスから待 パスに を移行した際に に動作するようにした入出力システムを提^ ることにある。
オープン系ホストのホストアプリケーションによる入出方^^を パスと 待匿ノ、。スにより 5¾化してデノ <ィス制御装置に発 る場合、 ヽ。スを使 用して特定のデバイスをリザーブ状態に確保しているときに、 運^ mノ スに轄 が ¾^して待縣ノ、°スに移行し d#合、 デ / <ィス制御装置と懇したリザ一プの リリース処理の対処カ^ Wである。
即ち、 オープン系ホス卜に設け^ストアプリケーションからの入出力要求は 、 パス 替ドライバによって運用系のデバイスドライバに発行される。 このデバ イスドライバの ΙΪΤΊ^がる パスに轄が ¾ ^した場合、 パス ドライ バは のパスの使用を停止し、 入出 の発行を待 ^^パ 設定されて いるデバイスドライバに移行する。
しかし、 この時、 既にホストアプリケーション力^^のデバイスドライバよ り特定のデ スをリザーブしていた場合、 デバィス制御装置はパス毎にリザ一 ブを制御しているため、 他パ ある待縣デバイスドラ 1ίΤのパスに対し ては、 処理リザべーシヨン,コンフリクトを応答せざるを得なくなり、 パスの冗 長化が阻まれてる。
従つて本発明の他の目的は、 デバイスのリザ一フが Hiされてる状 で他パス に移行しても、 リザ一ブ状態を再構築できるようにした入出力システムを提^ r ることにある。
オープン系ホストでは、 分散ドライバによりホストアプリケーションから の入出力要求を複数 スに分散してロードバランスをとつている。 ま†:デノ <ィス ドライバの 1パスが故障した場合、残りのパスを使用して処理分散ドライバによ りホストアプリケーションからの入出力^ ^分散して ドバランスをとるこ とができる。
し力、し、 パスに故障を起し^スト系は、 他の正^:ホスト系に比較すると故 障によつて ¾5®分散の対象となるパスの数が減つているため、 システム全体から みた場合に入出力 のパスボトルネックとなり、 か ¾ちてしまう があ る o
従って本発明の他の巨的は、 S分散のパスが ¾l しても、故障前と同等の口 一ドバランスを^^して ttt^T を抑えるようにした入出力システムを提^ る
」と Iしめる。
デバイス制御装置によりホス卜からの物理デバイス〖:^ る入出
する入出力システムにおいて、 ホスト側のホストアダプタの レートとデバイ ス制御装置側のチャネルアダプタの レートとの間に差があると、 どちら力、遅 い方の レートに引っ張られてしまう^ がある。
従って本発明の他の目的は、 ホストとデバイス制御装 のチャネル^!レー トに相違があつても高 L、方の レ一ト ¾tmrきるようにした入出力システム を提 W "る。 発明の開示-
(分散キュー制御)
本発明は、 多種多様な複数のホストが接続され、 ホストからデバイスに対する 入出力要求を処理するデバイス制御装置であって、 ホストからの入出力要求を受 付ける複数のチャネルアダプタと、 デバイスに入出力^を発行する複数のデバ イスアダプタと、 複数のチャネルアダプタと複数のデバイス了ダフタの間でホス 卜からの全 ί»¾入出力制御を斤うリソースマネージャとを備える。
このようなデバイス装置につき本発明にあっては、 複数のチャネルアダプタの 各々に設けられ、 ホストからの入出 を格 IfrTる第 1キューテーブルと、 複 数のチャネルアダプタの各々に設けられ、 第 1キ —テーブルに格納したホスト からの入出力要求をリソースマネージャに発 ίϊ "る第 1キュー制 と、 リソー スマネージャに設けられ、 複数のチャネルダプタカ 行し:^ストからの入出力 要求を複 る第 2キューテーブルと、 リソース^一ジャに設けられ、 第 2キューテーブルに格納し ス卜からの入出力^^デバイスアダプタに発行 する第 2キュー制»とを設けたことを mとする。
このため複数のホストから複数 |¾に入出力^ ¾受けても、 これらのホスト からの入出力要求はチャネルアダプタに一旦格納され、 その中のいくつかがリソ ースマネージャに送られるため、 リソ一ス^ージャのキュー制御で扱う入出力 数を実節 に低減することができ、 リソース^ジャで行うキュー制御のオーバ へッドがデノくィス制御装置 のボトルネックとなってしまうことを防ぎ、 処理 ¾ を高めることができる。
ここで各チャネルァタプタの第 1キュー制 Mは、 第 1キユーテーブルに格納 したホストからの入出力^^の中から、 1 Xは複数個単位に入出 を取り 出してリソースマネージャに Sを依 る。 また各チャネルァ夕プ夕の第 1キ ユー制»は、 入出力要求のタイミングとして、 リソースマネージャから に 発行した入出力要求の終 告を受けた際に、 第 1キューテーブルに格納したホ ストからの入出力 を取り出し ntf記リソースマネージャに処理を依 i る。 また各チャネルァ夕プタの第 1キュー制 TOは、一 ¾ ^間毎にソ一ス τ^、ージャ に入出力要求力受け付けられるか否かを問 t、合わせ、 受付け可能応答を得て第 1 キューテーブルに格納し;/ ス卜からの入出力^^を取り出してリソースマネ一 ジャに処理を依頼するようによしてもよい。
リソースマネージャに設けた第 2キュー制御部は、 第 2キューテーブルに格納 できるホス卜の入出力の数に制限を設け、 制 1¾未満のチャネルアダプタからの 入出力要求を受け付けて第 2キューテーブルに格納し、制限数以上のチャネルァ ダブ夕からの入出 は受け付けを ig^し、 チャネルアダプ^ ϊの第 1キュー テ一ブルに格納させる。 この場合、 リソース 、一ジャに設けた第 2キュー制御 部は、 第 2キューテーブルのビジィ率を計算し、 ビジィ率か葛くなづ はキ ュ一ィンク 能な入出力要求の を ϋ¾Πさせ、 ビジィ率が低くなった場合は キューイング可能な入出力^の を減少させる。 ここでビジィ率は、 , 点でキューィングしている全入出力^の数を、 キューィング可能な ¾ ^数出割 つた値である。 これにより各チャネルアダプタからリソースマネージャにキュー ィングできる入出方要求の数を、 リソースマネージャでの入出力 の の度 合に応じ τ¾的に変化させることができ、 チヤネノレアダプタ側でのキューイング がフルとホス卜からの入出力 がオーバ一タイムすることを回避する。
また本発明のデバイス制御装置では、 チャネルアダプタの第 1キュー制御部と リソースマネージャの第 2キュー制御部は、 チャネルアダプタの第 1キューテー ブルとリソース^一ジャの第 2キューテーブルを、 物理デバイス単位に分けて 制御する。
本発明は、 更に、 多種多様な複数のホストとデバイスの間をデバイス制御装置 で接続し、 このデバイス制御装置に、 ホストからの入出力魏を受付ける複数の チャネルアダプタと、 デバイスに入出力^ ¾発行するネ复数のデバイスアダプタ と、 複数のチャネルアダプタと複数のデバイ ダ 7夕の間で寸ス卜からの全体 的な入出力制御を行うリソース^ージャとを 、 複数のホス卜から物理デバ イスに対する入出力要求を処理するデバイス制御方法を るものであり、 複数のチャネルァダプダで受け付けたホス卜からの入出方要求を、 各チャネル アダプタに設けた第 1キューテーブルに格納し、 第 1キューイングテーブルに格 納しているホストからの入出力^^をリソース^—ジャに発 る第 1キュー 制御過程と; チャネルダプタ力く発行したホストからの入出力 をリソースマネージャの第 2キューテーブルに格納し、 第 2キューテーブルに格納したホス卜からの入出力 要求を デバイスアダプタに発行する第 2キュー制御過程と;
を備えたことを特徵とする。
(シ一ゲンシャル入出力^ ^の検出)
本発明は、 ホストのアプリケーションによる入出力^^力く S "分散ドライバに よって負荷バランスをとるために複数のデバイスドライバに振り分けられ、 各デ バイスドラ が割り当てられた入出 を発 る環^ elr作するデバイ ス制御装置であって、 ホストから受領した入出^^ ドレスとデータ長を格 るシーケンシャル検出用テーブルと、新たな入出力^ ¾受けた際に、 シ一 ゲンシャノレ検出用テーブルに既に登録している入出力 の了ドレスとデータ長 からシーケンシャル入出力^ あつ ^合の次のァドレスを予測し、 新たな入 出力要求のアドレス <Lt匕較してシーケンシャル を するシーケンシャル 検出部とを設けたことを特徵とする。
このためホストアプリケーションのシーケンシャノレ入出力要求カ^9"分散ドラ ィパ、による複数 スのロードバランスを取るための分散 Sによりバラバラにな つてデバイス制御装置に発行されても、 デバイス制御装置側でシ一ケンシャルな 入出方要 あることか でき、 プリフェツチ動作や複数領域,リード.ラ ィトなどシーケンシャル入出力 ^^に効 J¾Sr ^~ドを颠できる。
ここでシーケンシャル検 は、 入出方 がシーケンシャルであつた場合の 次の予測ァドレスとして、 シーケンシャル検出用テーブルに既に登録している入 出力要求のァドレスにデータ長を した予測ァドレスを求め、予測ァドレス力 新たな入出力要求のァドレスと同一と半衝された場合、 シーケンシャル入出力要 求と I ^する。
またシーケンシャル検出部は、 シーケンシャル入出方^の次の予測ァドレス として、 ホストとの間のチャネルバスの数を n個とした場合、 シーケンシャル検 出用テーブルに既に登録している入出力^ CTTドレスに、 そのデータ長に 1か ら前記チャネルパス数 nまでの値を) li^®け合わせ Ttn算した予測ァドレス、 即 ち、 予測アドレス =アドレス +データ長 x ( l〜n) を複数求め、 い かの予測ァドレスが f ^な入出力要求のァドレスと同一と判 断された場台、 シーケンシャル入出方要求と することを特徵とする。 これは シーケンシャル入出力要求力く処理分散ドライバにより ^のチャネルアダプタに 振り分けられずに、 他のチャネルアダプタに振り分けられてしまっている場合、 1つチャネルアダプタからすると、 必ずしも次の入出力^^がシーケンシャルに なる訳でなく、 例えば次の次の入出 が自分のチャネルに回ってくることを 考慮している。
またシーケンシャル入出力を語識する各チャネルアダプタは、 ホストの環境下 で、 複数のシーケンシャル入出力^ ¾カ1¾に^ Pfしてホストアプリケーション 作している場合、各チャネルアダプタのシ一ゲンシャル検出用テーブルを複 数のシーケンシャル入出力要求に対応し 数設け、 シーケンシャル検出部は、 複数のシーケンシャル検出用テーブルを)!^照してシーケンシャル多 Sfl作を 検出する。 この場合、 シーケンシャル検出部は、 複数のシーケンシャル検出用テ 一ブルのいずれかの参照で新たな入出力 のシーケンシャルを認識した場合、 シーケンシャルの に使用したシーケンシャル検出用テーブルに新たな入出力 要求のァドレスとデータ長を格 Ifrする。 このため複数のシーケンシャル入出力要 求が同時に複数のホストアプリケーションで動作している場合でも、 各シーゲン シ.ャル入出力要求に対応して複数のシ一ゲンシャル検出用テーブルを各チャネル アダプタにもつことで、 テーブル分のシーケンシャル入出: の多 認 識できる。
本発明のデバイス制御装置は、 ホス卜の各デバイスドライバが発行した入出力 要求を受^ tる複数のチャネルアダプタの各々に、 シ一ケンシャル検出用テープ ルとシ一ゲンシャル検出部を設けることを基本とする。
また別の形態として本発明のデバイス制御装置は、 複数のチャネルアダプタか ら参照できる共通領域に、 ホストからの入出力 のァドレスとデータの組^ ~ 括して格納したシ一ゲンシャノレ検出 通テーブルを設け、 各チャネルアダプタ のシーケンシャル検出部はシーケンシャル検出^通テーブルを参照し たな 入出力 のシーケンシャルの を語識する。 更に、 シーケンシャル検出部は、 入出力^がシーケンシャルであった場合の 次の予測ァドレスとして、 シーケンシャル検出用テーブルに既に登録している入 出力要求のアドレスにデータ長を [JD^した予測ァドレスを求め、予測ァドレスが 新たな入出力要求のアドレスと同一と判断されなくとも近似値であれば、 シーケ ンシャル入出力^^と IT識する。 このためホストアプリケーションで ί«するシ 一ゲンシャルデータのデータ長か^ r変である場合を考慮し、 if こな入出力要求の ァドレスとシーケンシャル検出用テーブルのァドレス及びデータ長から算出した 予測アドレス力く でなくとも、近似値であればシーケンシャルと する。 例 えば予測アドレスが
予測ァドレス =ァドレス 2 0 0 0 +データ長 5 = 2 0 0 5
の場台、新たな入出力要求の了ドレスが
2 0 0 0 <新ァドレス < 2 0 0 5
の近似値であれば、 シーケンシャル入出力魏と ^する。 (パスの 7CM{h)
本発明は、 ホストにデバイス制御装置を介し バイスを接続し、 ホスト内の ホストアプリケーションの入出力要求をパス 潜ドライバによって通常は パスのデバイスドライバに発行し、 パスに轄が し 合は、 パス切 替ドライバにより^ パスの使用を停止し r ^^パスのデバイスドライ バに入出力要求の発行を移行させる 7^性をもった入出力システムについて、 ホ スト内に、 ita^パスカ^ IE常に動作するかどうかを iteするため、 待^ ¾パスの デバイスドライバの 1STにパス確認コマンドを発 ffTる待縣パス ¾n部を設け たことを特徴とする。 このため パスに入出; ¾¾¾発行している通^^に あっても、 待縣パスにコマンドか 行されて待縣パス力く正常に動作するかど うかを ¾ でき、 万一、 待 パスに!^力 しても、 この か It できる ので^ の適切な対応がとられ、 ^力故障し T^ ^に Sか 行した際 の待 の動 ί 保証することができる。
待縣パス 5S 部は、 パス ίΙ コマンドとして、一定の時 で、 待 ¾¾パ スのリード ^のデータ とライト: ¾^のデータ ¾1を含むパ; «能を全て確 認するコマンドを発行する。 このように待 ®¾パスの機能の全てを確認するコマ ンドを発行することで、 待 の動作を m に^ IEする。
また待 ¾パス確認部は、 パス コマンドとして、 デバイス制御装置の制御 情報の忧態を確保するコマンドを発行してもよい。 このデバイス制御装置の制御 情報の状態を確保するコマンドとしては、 例えば状 通知ユマンドを発行してデ バイス制御装置から 知コマンドを)^させる。 このようにシステムエラ一 に^ る状^!知コマンドを待^^パスにパス 51^コマンドとして発行すること で、 待 パスの動作確認に加え、 本来システ ラ"^ パスで発行し ていた状態通知コマンドを待縣パスに させることができ、 その分、 珊系 パスの 率を低 きるメリットがある。
また待麟パス確認部は、 パス廳コマンドとして、運用系パスに発行する通 常コマンドの"^を待縣パスに発行するようにしてもよい。 例えば 1 0 0回に 1回は待«パスにコマンドを発行することで、 待 パスの動作力 ¾ できる 。 この場合、 待 パスに発 i tるコマンドは、 どのようなコマンドであっても よい。 このように 系の通常コマンドの" ^をノヽ。ス確認の: ^ ^ ^に発行 することで、 待観パスの廳に使用されるコマンドが、 待縣パスに対し専用 のパス misコマンドを発行した場合に比べ、 デバイス制御 ¾Sの^ I†なオーバへ ッドにならないメリットがある。
また待 パス ^は、一 ¾^ 曰 Iで、 パス «込んだデータが待 パス! ^めるか、 もしくは待 パスで書込んだデータが運用系パスで^ るかどうかをチエツするクロスチヱツクユマンドを発行してシステム整合性を確 認する。 このように一 で、 で書き込んだデータ力待 m¾で読め るカヽ、 逆に待 ヽたデータ力 めるかどうかをクロスチヱックす ることで、待 a¾パスの動作 ¾ に加え、 データ のシステム亩体の整合性を ¾ 、することも可能である。
(リザーブ制御と隨パス體ぇ)
本発明は、 ホストにデバイス制御装置を介して物理デバイスを接続し、 ホスト 内のホストアプリケーションの入出力 ^^パス爐ドライバによって通常は運 用系パスのデバイスドライバに発行し、 ^^パスに^が ¾ ^した場合は、 パ ス¾ ^ドライバにより^ パスの使用を停止し r^a^パスのデバイスド ラィバに入出力要求の発行を移行させる入出力システムについて、 リザーブ制御 との連携を適切にする。
このためホスト内に設けられたリザーブ制 »により、 待 パスに入出力要 求の発行を移行させた際に、 ホストアプリケーション力 に パスより物理 デバイスをリザーブしていた場合は、 リザーブを)^ るコマンドを待 パス より発 る。 このホスト側のザープ制 に対応し バイス制御 に設け られたリザーブ制 «5により、 待 パスからリザーブを^^するコマンドを受 領した際に、 既に M¾パスより確保されている物理デバイスのリザーブ状態を する。 このため パスの^ パスに移行した際に既にホストァ プリケーシヨンが パスにより特定の物理デバイスをリザーブしていても、 移行先の待 パスからのリザーブ コマンドにより既存の M¾パスによる 物理デバィスのリザーブ状態を解除でき、 以降後の待機系パスにより改めて特定 の物理デバイスのリザーブ状態を蒲築できる。
またホスト に S分散ドラィバを設け T¾数パスのロードバランスをとつて いる場合にも、 同様にデバイスのリザ一フ状態か¾¾されてる状態で他パスに移 行しても、 リザーブ状態を再構築できるようする。 ま 発明の入出力システム は、 ホストにデバイス制御装置を介し r i理デバイ^接続し、 ホストアプリケ ーシヨン入出力 ^^を、 ホスト内の処 M 散ドライバによってロードバランスを とるように複数パスに分散し、 特定のパスに轄が発生し/ 合は、 鍵分散ド ライバにより隨パスの使用を停止し他パスに入出力魏を分散し、更に、 ホストアプリケーションよりリザーブコマンドカ^ 分散ドライバに発行された 場合に、 処理分散ドライバの分 ¾ 理を停止し r ¾®他パスのデバイスドライ バにリザーブコマンドを発行し、 その後に ホストアプリケーションよりリザ —ブ翻徐コマンドを発行した場合に、 S分散ドライバの分散処理を!?^する。 このような入出力システムにっき本発明にあっては、 ホスト内に設けられたリザ ーブ制御部により、 I ^パスの使用を停止して他パスに移行した際に、 ホストア プリケーシヨン力 ¾に パスより物理デバイスをリザーブしてい ?y 合は、 こ のリザ一ブを解除するコマンドを他パスより発行する。 このザーブ制 に対応 してデバイス制御装置にリザーブ; 部を設け、 他パスからリザーブを する コマンドを受領した際に、 既に TOパスより確保されている物理デバイスのリザ ーブ状態を^^る。
(複数パスに财る瘦分散のパス故障対策)
本発明は、 ホストにデバイス制御装置を介し バイスを接続し、 ホスト内に ホストアプリケーションの入出:^^を、 分散ドライバにより複数パスの運 用系のデバイスドライバに分散してロードバランス !^する入出力システムを 対象とする。 このように入出力システムにっき本発 は、 ホストにおいて、 分散ドライバに待; ^のデバイスドライバを接続し、 3^のデバイスドライバ の 1パス が した際に、 待,のデバイスドライバを使用して^ 前と同等の複数パスのデバイスドライバによるロードバランスを H¾する。 また デバイス制御装置おいては、 の パスのチャネルアダプタと待 の 1 パスのチャネルアダプタの各々に特定の物理デバイスと関連付けた I Dを設定し 、 各チャネルアダプタはホストから設定 I Dと同じ I Dをもつ入出力要求に して I Dで関連付けた物理デバイスにアクセスする。 このため運 M¾のデバイス ドライバの 1パスか!^を起こした場合は、 ^^のデバイスドライバが ff こな パスとして故障パスの借りに使用でき、 故^ と同じパス数を確保して同等の口 ードバランスカ^^でき、 パスボトルネックが しない。
また本発明は、 少くとも 2系統のホストにデバイス制御装置を介して物理デバ イスを接続し、 各ホスト内にホストアプリケーションの入出力^^を、 複数パス の^^のデバイスドライバに分散してロードバランスを する処理分散ドラ ィバを各々設けた入出力システムを対象とする。
この場合、 本発明にあっては、 各ホストについて、 S分散ドライバに待 のデバイスドライバを接続し、 :TO系のデバイスドライバの 1パスで ^力 した際に、 待 のデバイスドライバを し r^¾¾ ^前と同等の複数パスの デバイスドライバによるロードバランスを^する。 またデバイス制御装置につ いては、 ホストの 統毎に ¾¾¾の複数パスのチャネルアダプタを設けると共 に、 各ホス卜の待機系 2パスを共用待機チャネルの 1パスで受付ける待機系のチ ャネルアダプタを設け、 運用系のチャネルアダプタに各系統毎に特定の物理デバ イスと関連付けた I Dを設定し、 待 のチヤネノレ了グプタには 統の物理デ バイスに関連付けた 2つの I Dを設定し、各チャネルアダプタはホストから設定 I Dと同じ I Dをもつ入出力要求に応答して I DIT 連付けた物理デバイスにァ クセスする。 このため各ホスト系統は、 ^^のデバイスドライバの 1パスが障 害を起こし;^合、待 のデバイスドライバのパスを^ ¾す¾ことで、 故障前 と同じパス数を確保して同等のロードバランス力 ^できる。 さらに、 デバイス 制御 ¾Sの待縣のチャネルアダプタが各ホスト赚の待縣 2パス i ¾し 1パ スで共潘化されるため、 ^^のチャネルアダプタの数が減り、 リソース GJ i力 利用を^するメリットがある。
(チヤネル^!レートの ¾@化)
本発明は、 ホスト側の 1つのホストアダプタとデバイス制御装置の複数のチヤ ネルァダブダをフアイバチヤネルで^^する^ Fで動作する入出力システムに ついて、 チャネルアダプタの レートがホストアダプタの ¾1レートを Μる 時に、 ホスト側の複数のオペレーション^を S"分散ドライバによって複数の チャネルアダプタに分散させることを特徵とする。 このためデバイス制御装置側 のチャネルアダプタの レートか"? Kくても、 これに引きずられることなく、 ホスト側のホストアダプタの高い^ §レートを^ im?きる。
また本発明は、 ホスト側の複数のホストアダプタとデバイス制御装置の 1つの チャネルァダプダをファイバチャネルで する^ m 作する入出力システ ムついて、 ホストアダプタの レートがチャネルアダプタの レートを Ιϋ る時に、 ホスト側の謙のオペレーション魏を S5散ドライバによって繊 のホストアダプタに分散させ、 複数のホストアダプタより 1つのチャネルァダプ 夕にアクセスすることを特徵とする。 このためホスト側のホストアダプタの^! レートが引くても、 これに引きずられることなく、 デバイス制御装置側のチヤネ ルアダプタの高い^!レートを維持できる。
また本発明は、 ホスト側の複数のホストアダプタとデバイス制御装置の 1つの チャネルアダプタをファイバチヤネルで接続する環境下で動作する入出力システ ムについて、 現在どのホストアダプタとチャネルアダプタが使用 τあるかを管 理するテーブルを持ち、 分散 ドライバ又はデバイスドライバは、 コマンド処 理中はテーブルのリソースに対し ^用中をセッ卜し、 コマンド処理を終了した 場合は空きをセットし、 ^¾分散ドライバは、 テーブルから空きであるホストァ ダブ夕とチャネルアダプタの組み合わせを し使用することにより物理デバィ スに対しアクセスするコマンドを発 ること特徴とする。 このようにホスト側 ホストアダプタ及びデバイス制御装置側チャネルアダプタの空き状況を管理する ことによって、 柔軟にデバイス制御装置に^"るホストからのパスを選択し、 リ ソースの効率的な活用を行うことができ、體の向上にも貢 i る。
更に、 本発明は、 ホスト側の複数のホストアダプタとデバイス制御装置の 1つ のチャネルアダプタをファイバチャネルで接^ 下で動作する入出力シス テムについて、 現在どのホストアダプタとチャネルアダプタ力使用中であるかを するテーブルを持ち、 分散 ドライバ又はデバイスドライバは、 コマンド 処理中はテーブルのリソース し TOT中及び各リソース毎に設けたキューテ 一ブルのキュ "^をセットし、 コマンド ^了し ^合は空き又は 1つ減ら したキュー数をセットし、 ドライバは、 テーブルから空きであるホスト アダプタとチャネルアダプタの組み合わせを^し することにより物理デバ イスに対しアクセスするコマンドを発行し、 テ一ブルから空きがない場合は、一 番キュー数の少ないホストアダプタとチャネルアダプタの組み合わせを検索し使 用することにより、 物理デバイスに対しアクセスするコマンドを発行することを 特徴とする。 このように分散 ドライバが^ TTるテーブル内の情報を『使用 中』 と 『空き』 だけではなく、 各リソース毎に設けたキューテーブルの ューの 数を入れることにより、 分散処理ドライバは一 ^ユー数の少ないリソースに対 してコマンドを実 fi^るように Sし、 リソースの効率„ と ftfgの向上を 図る。
1βの簡単な説明
図 1は分散キュー制御を行う本発明のデノくィス制御装置を用 L、た前半部分のブ口 ック図;
図 2は図 1の後半部分のブロック図;
図 3は図 1, 2のチャネルアダプタに設けたキューテーブルの説明図; 図 4は図 1 , 2のリソースマネージャに設けたキューテーブルの説明図; 図 5は図 1, 2のリソースマネージャに設けたキューフル報告テーブルの説 図 6は図 1 , 2のデバイス制御処理のタイムチャート;
図 7は図 1, 2のチャネルアダプタの制御処理のフローチャート ;
図 8は図 1, 2のチャネルアダプタの他の制御処理のフローチャート; 図 9は図 1, 2のリソースマネージャの制御処理のフローチャート ; 図 1 0は図 9のキューテーブル格納判 ¾¾ のフローチャート ;
図 1 1はビジィ率に基づく 9のキューテーブル ί:¾Τる!^納判 ^理のフロー チャート ;
図 1 2は複数パスに分散されるシーケンシャル入出力要求を する本発明のデ バイス制御装置の前半部分のプロック図;
図 1 3は図 1 2の後半部分のブロック図; .
図 1 4は図 1 2 , 1 3のチャネルアダプタによるシ一ケシンャル検出処理のフロ 一チヤ一ト ;
図 1 5は複数パスに分散された複数のシーケンシャル入出方を する本発明の デバイス制御装置^半部分のブロック図;
図 1 6は図 1 5の^^部分のブロック図;
図 1 7はシ一ゲンシャル検出テーブルを共通化した本発明のデバイス制御装置の 前半部分のブロック図;
図 1 8は図 1 7の後半部分のブロック図;
図 1 9は図 1 7, 1 8のシーケンシャノレ検出用共通テーブルの説 «; 図 2 0はパスに冗長性を持たせた塲合の待機系パスの動 する本発明の入 出力システムのブロック図;
図 2 1はパス切替ドライバにより ¾¾¾パスの障 ¾ ^に待機系パスに移行した際 のリ'ザーブ制御の機能プロック図; 図 2 2は図 2 1のデバイス制御装置に設けたリザーブリリース管理テーブルに説 曜;
図 2 3は図 2 1の障害パス 潜えとリザーブ制御 のタイムチャート ; 図 2 4は 分散ドライバを用いた場合のリザーブ制御の機能プロック図; 図 2 5は図 2 4の隨パス ^えとリザーブ制御のタイムチャート ;
図 2 6は処理分散ドライバに待機系のデバイスドライバを設けた本発明の入出力 システムの前半部分のプロック図;
図 2 7は図 2 6の»部分のプロック図;
図 2 8は図 2 6, 2了のデバイス制御装置に設けた I D管理テーブルの説 TO ; 図 2 9は 2纖のホストについて 分散ドライバに待疆のデバイスドライバ を設けた本発明の入出力システムの前半部分のプロック図;
図 3 0は図 2 9の^部分のブロック図;
図 3 1はホスト側の レ一トか くデバイス制御装置側が低い場合のパス Si レートを ¾ϋί [^"る本発明の入出力システムの前半部分のプロック図; 図 3 2は Hi3 1の ^^部分のブロック図;
図 3 3は 1ί3 1, 3 2の讓分散ドライノ 及びデバイスドライバに設ける テ 一ブルの説明図;
図 3 4はホスト側の レ一卜が低くデバイス制 ¾¾«か い場合のパス レートを最適ィ る本発明の入出力システムの前半部分のプロック図; 図 3 5は図 3 4の »部分のブロック図;
図 3 6は図 3 4, 3 5の 分散ドライバに設ける管理テーブルの説明図; 図 3 7はホスト側ホストアダプタとデバイス制 ©^g^チャネルアダプタの空き 状態を し τ®^Πこノ、°ス» ^する本発明の入出力システムの前半部分のブ口ッ ク図;
図 3 8は図 3 7の後半部分のプロック図;
図 3 9は図 3 7, 3 8の 分散ドライバに設けるパス テーブルの説画; 図 4 0はホスト側ホストアダプタとデバイス制御 ¾S側チャネルアダプタの空き 状 ^¾びキュ" ¾を し ¾的にゾ、。ス選択する本発明の入出力システムの前半 部分のブロック図; 図 4 1は図 4◦の後半部分のブロック図;
図 4 2は図 4 0, 4 1の! ¾5®分散ドライバに設けるパス テーブルの説明図; 発明を実施するための最良の形態
<目 次〉
1. 分!^ユー制御
2. シーケンシャル入出方要求の検出
3. パスの^化
4. リザーブ制御と パスの體ぇ
5. 複数パスに る «I "分散のパス故障対策
6. チャネル ¾ レートの 化
1. 分散キュー制御
図 1 , 2は。 分 ュ一制御が行なわれる本発 のデバイス制御装置を備えた コンピュータシステムのブロック図である。
図 1 , 2において、本発明のデバイス制御装置 1 0に対してはメインフレーム 1 2、各種のホスト 1 4、更にオープン系ホスト 1 6力接続さ†U デバイス制御 装置 1 0に接続されている物理航デバイス 1 8— 1〜1 8— m ¾ る入出力 ^^のためのコマンドを受付けて旨する。 デバイス制御装置 1 0は、 チャネル アダプタ 2 0— 1〜2 0— n、 リソース^—ジャ 22及びデバイスアダプタ 2 4 _ 1〜2 4— mで構成される。即ち、 デバイス制御装置 1 0は、 メインフレー ム 1 2、 ホスト 1 4及びオープン系ホスト 1 6の各ホス卜からの物理的に皿さ れるポート毎にチャネルアダプタ 2 0— 1〜2 0— nを設けており、 各ホストか らの要求はチャネルアダプタ 2 0—:!〜 2 0— nで入出力 のコマンドが さ そのコマンドを必要に応じてキューィングした後にリソース^ージャ 2 2に^。 リソースマネージャ 22は、 チャネルアダプタ 2 0— 1〜2 0— n側 からの入出力 のコマンドをキューィングした後に、 キューィングした中より 欠デバイスアダプタ 2 4—1〜2 4—m側にコマンドを発行する。 デバイスァ ダプタ 2 4—1〜2 4— mは、 リソース^—ジャ 22からの入出力^^のコマ ンドを対応するデバイス 1 8— 1〜1 8—m側に発行し、 をリソースマネー ジャ 2 2に返す。 このリソース^ージャ 22による制御動作は、 装 SS;作中の 制御における入出力の排他^ S、 デバイス側 i;r* "るコマンドのキュー^ Sであ り、 更にデバイス 1 8— 1〜丄 8— mがディスグアレイの場合はアレイ制御を行 なう。
このようなデバイス制御装置 1 0にっき本発明にあっては、 チャネルアダプタ 2 0—1〜2 0— 11のそれぞれにキュー制御部 (第 1キュー制御部) 2 6— 1〜 2 6— nを設け、 それぞれキューテーブル (第 1キューテーブル) 2 8— 1〜2 8— nを設けている。 またリソース^—ジャ 2 2には ί¾と同様、 キュー制御 部 (第 2キュー制 3 0、 キューテーブル (第 2キューテーブル) 3 2カ けられ、更 ( 翻でチャネルアダプタ 2 0—1〜2 0— η側にキュー制御部 2 6— 1〜2 6— ηを設けたことに対応してキューフル報告テーブル 3 4を設けて いる。
このよう ί^φ:発明のデバイス制御装置 1 0は、 リソース^ rネージャ 2 2のキュ 一制御に加え、 各チャネルアダプタ 2 0— 1〜2 0— ηにもキュー制御の機能を 分散し Τ¾けたことで、 各ホス卜からの入出力 のコマンドは一旦チャネルァ グプタ 2 0— 1〜2 0— η側に格納さ その後にその中の幾つかのコマンドが リソースマネージャ 2 2に送られ、 キュ一制御の元にデバイスアダプタ 2 4 - 1 〜2 4— mに ¾ "る:!マン
Figure imgf000020_0001
これによつて同時に 複数のホス卜からデバイス制御^ g l 0に入出力^^のコマンドが発行された場 合にも、 リソースマネージャ 2 2のキューィングでォ一バータイムとなつて制御 処理のボトルネックになることを殿肖できる。
ここでオープン系ホスト 1 6にあっては、 ホストアプリケーション 5 0に続い て処理分散ドライバ 5 2を設けており、 処理分散ドライバ 5 2でホストアプリケ ーシヨン 5 0からの入出力要求に対し、 ロードバランスを取るように下位に位置 するデバイスドライバ 5 4— 1〜5 4— iの複数パスに分散したコマンド発行を 行う。 デバイスドライバ 5 4— 1〜5 4— iに続いては、 ホストアダプタ 5 6— 丄〜 5 6— i力設けられ、 デバイス制御 ¾S 1 0のチャネルアダプタ 2 0 - 3 - 2 0— nとの^ 複数のチャネルパス している。 図 3は、 図 1 , 2のデバイス制御装置 1 0に設けたチャネルアダプタ 2 0—1 のキューテーブル 2 8— 1の構成である。 このチャネルアダプタ 2 0— 1に設け る第 1キューテーブルとしてのキューテーブル 2 8— 1は、 物理的なデバイス 1 8— 1〜1 8— mに対応してテーブル領域 3 6— 1〜3 6— mに分けられている 。 テーブル領域 3 6— 1〜 3 6—mには、 例えば先頭のデバイス 1 8— 1に対応 したテーブル領域 3 6—1を例にとると、 ホストからの複数のユマンドを格納す ることができ、 默で のようにコマンド 3 8— 1 1〜 3 8— 1 8の 8假を格 ることができる。 この点はデバイス 1 8— 2〜1 8— m ( 寸応したテーブル 領域 3 8— 2 8〜3 8— m 8についても同様である。
図 4は、 図 1, 2のリソースマネージャ 2 2に設けている第 2キューテーブル としてのキューテーブル 3 2の構 ある。 このリソースマネージャ 2 2のキュ 一テーブル 3 2についても、 図 3のチャネルアダプタのキューテーブル 2 6—1 と同様、 物理的なデバイス 1 8— 1〜1 8—m( 寸応してテーブル領域 4 0—1 〜4 0— mに分けられている。 またテーブル領域 4 0 - 1 - 4 0— mは先頭のテ 一ブル 4 0—1を例にとると、 ホストからの入出 求となる: irrンドが最 大で のようにコマンド 4 2—1 1から 4 2— 1, 2 5 6の駄2 5 6個を格 Wることができる。 この点は残りのテーブル領域 4 0— 2〜4 0— mについて も同様である。
図 5は、 図 1, 2のリソース^ージャ 2 2に設 i: tキュー 7ル報^—ブル 3 4の構成である。 このキューフル^テーブル 3 4は、 チャネルアダプタ 2 0 — 1〜 2 0— n側からキューイングしているコマンドの発 れた際に、 リ ソースマネージャ 2 2側でキューフルとなって受付けをキ g¾し fel 合、 コマンド 受付け f巨否を行つたチャネルアダプタに対するキューフル報告の 了を示す「キ ユーフル報告済み」 の情報カ登録される。 このためキューフル報 一ブル 3 4 は、 図 1の物理 δ½デバイス 1 8— 1〜1 8— mに対応し 一ブル領域 4 4一 1〜4 4— mに分けられている。 このテーブル領域 4 4一 1〜4 4一 mの內、 先 頭のデバイス 1 8— 1に対応した領^例にとると、 図 1, 2のチャネルァダプ タ 2 0— 1 ~ 2 0— nのそれぞれに対応したチャネルアダプタ^ 4 6— ; L 1〜 4 6—1 nに対応してデータ領域 4 8— 1 1〜4 8— 1 n力 <設けられる。 そして 例えばリソースマネージャ 2 2より図 1, 2のチャネルアダプタ 2 0— 2に対し 、 コマンド発行に财る受付け ig¾を行ってい^合には、 そのデータ領域 4 8 - 2 1にキューフル報告力 if ?れたことを^ f報として、 例えば「キューフル 報告済み」 を格納している。 ¾、 このデータ領域 4 4— 1 1〜 4 4— 1 nに格 納される情報「キューフル ^済み」 はフラグなどのオン -ォ7?も良いし、 キ ユーフル報告済みを示す のコ一ドであつても良い。 このようなテーブル領域 4 4 - 1の構成は、残りのテーブル領域 44一 2〜 44一 mについても同様であ る。 図 6は、 図 1, 2のデバイス制御装置 1 0に設けたチャネルアダプタとリ ソ一スマネ一ジャの間の制御処理のタイムチャートであり、 説明を簡単にするた めチャネルアダプタ 2 0—1とリソース^ージャ 2 2の間の制御 を例にと つている。
図 6において、 いまチャネルアダプタ 2 0— 1においてステップ S 1でホスト からのコマンドを受付けると、 受付けたュマンドを苣己のキューテーブル 2 8— 1に格納するキューイングをキュー制 6—1で行なう。 続いてチャネルァ ダプ夕 2 0—1のキュー制 «52 6—1はステップ S 3でリソースマネージャ 2 2にコマンドを発行し、 リソースマネージャ 22側でホス卜からのコマンドを受 付け可能か否か 合わせる。 このリソース^ージャ 2 2側でのコマンド受付け 可能かどうかの問合わせのタイミングは、 後の説明で明らかにするように一定時 あるいはリソース^ージャ 2 2から 1に発行した:^ンドの終 Tfg告が あった場合に行なう。
チャネルアダプタ 2 0—1のステップ S 3によるュマンド発行を受けたリソー スマネージャ 2 2は、 ステップ S 1 0 1のようにコマンド 付け可能か否かチェ ックし、 コマンド受付け可能であれば、 ステップ S 1 0 8に進み、 コマンドを受 付けて受付けたコマンドをキューテーブル 3 2【 納して処理を行なう。 これに 対し、 キューテーブル 3 2に格納している未 Sコマンドか 定の条件を満足し てコマンド受付けができない場合には、 ステップ S 1 0 2に進み、 要求元のチヤ ネルアダプタ 2 0— Ι ί: ^し、 キュー 7ルを ¾ ^する。 このリソース^—ジャ 2 2からのキューフルの報告を受けてチャネルアダプタ 2 0—1はステップ S 4 でそのコマンドを再びキューテーブル 2 8 - 1に再度キューィングする。 リソー スマネージャ 2 2はステップ S 1 0 3でチャネルアダプタ 2 0—1に対しキュー フル報告を行なった後、 ステップ S 1 0 3でキュー 7ル報告テーブル 3 4を更新 する。 即ち図 5のキューフル報告テーブル 3 4において、 そのコマンドが対象と する、 例えばデバイス 1 8—111 {^応したテーブル領域4 4—111のチャネルァダ プ夕番号 4 6 -m lのデータ領域 4 8— m 1に「キューフノレ報告済み」 を書込む 更新処理を行なう。
次にステップ S 1 0 4でキューテーブル 3 2に保持している受付け済みのコマ ンドの中から順次取り出して対象 のデバイスアダプタ 2 4—1 ~2 4— mの いずれかに '^T=rマンド ½iSを行なう。 このコマンドのデバイスアダプタ側への 発行によりキューテーブル 3 2は、 ステップ S 1 0 5の様に新たにコマンドか受 付けられる状態となる。 そこでステップ S 1 0 6でリソース^—ジャ 2 2はキ ユーフル報告テーブル 3 4をサーチし、 キューフル報告済みのチャネルアダプタ を i¾Rする。 この時、 キューフル報告 のチヤネノレアダプタ力^ 例えばチヤネ ルアダプタ 2 0— 1のみであった場合には、 チャネルアダプタ 2 0— 1をキュー フル報告済みのチャネルアダプタとして ¾Rし、 ステップ S 1 0 7で皿したチ ャネルアダプタ 2 0—1に対し、 キュ け可能:^ンドを発 る。 リソー スマネージャ 2 2からのキュ一受付け可能コマンドを受領したチャネルアダプタ 2 0—1はステップ S 5でキューイングしていた該当コマンドを再度リソースマ ネ一ジャ 22に発 f fる。 この^行されたュマンドをリソース^ r、一ジャ 2 2 はステップ S 1 0 8で受付け、 受付【 ュマンドをキューテーブル 3 2に格納し てデバイス ί^¾·Τる入出力 の処 ®に回す。 ここでステップ S 1 0 6における キューフル報告テーブル 3 4のサーチで、複数のキューフル報告済みチャネルァ ダブ夕が同じデバイス領^ 選択され ^^合には、 的に最も古いキューフル 報告済みのチャネルアダプタを;^してキュ" ^付け可能コマンドを発行する。 図 7は、 図 6のようなリソース"^ージャ 22との間の讓を実 Tる図 1, 2のチャネルアダプタ 2 0— 1〜2 0—11のそれぞれにおけるチャネルアダプタ 処理のフローチャートである。 図 7において、 チャネルアダプタは、 まずステツ プ S 1でホストからのコマンド¾1の有無をチエックしており、 ホストからコマ ンドを受信するとステップ S 2で自己のキュ一テーブル る。 ¾コマン ド受信がなければステップ S 2の処理をスキップしてステップ S 3に進む。 ステ ップ S 3にあつては予め定めた一 ¾^間の ¾ϋをチエックしており、 一定時間を 経過するとステップ S 4に進み、 キューテーブルに格納しているコマンドを取出 しリソースマネージャに発行して受付げ可能か否かを問合わせる。 この場合のキ ユーテーブルからのコマンドの取り出しは、 1假単位にコマンドを取り出して発 行する場合と、 予め定めた複数個のコマンドを に取り出して発 "る場合の いずれかとすることができる。
ステップ S 4のコマンド発行によるリソ一ス^ージャへの問合わせに対し、 ステップ S 5でキューフノレ報告の ¾^エックする。 キューフノレ^がなけれ ばコマンドを受付け可能であることから、 ステップ S 8に進みキューテーブルに 格納していたコマンドをリソースマネージャ 2 2に発行する。 ステップ S 5でリ ソース"^ージャから受付け ig¾のキューフル報^ ¾受けると、 ステップ S 6で 該当コマンドを再びキューテーブルに る。 そしてステップ S了でリソース マネージャよりコマンド受付け可能を^ キュ "^付け可能コマンドの有曹をチ ヱックする。 もしキューテーブルに H S^した後 ί^ζテツプ S 7でリソース^ ージャからのキュー受付け可能コマンドが半 iJSijされるとステップ S 8に進み、 キ ユーテーブル i ¾納していたコマンドを再度リソ一ス^ージャに発行して引き -o のステップ s i〜s 8の処葡まステップ s 指 あるまで所 定のタイムサイクルによる割込み^り返される。
図 8は、 図 1, 2のチャネルアダプタ制御処理の他の実施形態のフローチヤ一 トであり、 gprのチャネルアダプタ処理にあっては、 ステップ s 3で一 間毎 にリソースマネージャ側にコマンド受付けを問合わせているカ^ 図 8の ¾5®にあ つては、 リソースマネージャから既に発行したコマンドの終了報告を受けたタイ ミングで新たなコマンドをリソースマネージャに発斤するようにしたことを特徵 とする。
図 8において、 ステップ S 1でホストからのコマンドを受信するとステップ S 2で受信したコマンドをキューテーブル^ frTる。 続いてステップ S 3でリソ —スマネージャからのキューフル^^の ヱックし、 ューフル報告がな ければステップ S 6に進み、 キューィングテーブルに格納していたコマンドを 1 または^ ¾単位にリソースマネージャに発行する。一方、 ステップ S 3でキュー フル報告があった場合には、 ステップ S 4でリソースマネージャのキュー受付け 可能コマンドの チェックする。 リソースマネージャにあっては、 デバイス アダプタ側に既に受付け ^ストからのコマンドを発行すると、 キューテーブル 力 つまたは複 いてコマンド受付け可能^ になり、 キュー 7ル報告テープ ルの参照 fg告済みのチャネルアダプタ〖^し、 キュー受付け可能コマンドを発 行してくる。 従ってステップ S 4でキュー受付け可能コマンドがあれば、 既に発 行済みのコマンドの終了報告と認識でき、 ステップ S 5に進んでキューテーブル に格納していたコマンドを 1または複数単位にリソース ^一ジャに発行する。 このようなステップ S 1〜S 5の はステップ S 6 ^了指 ^あるまで所定 のタイムサイクルなどによる割込み作り返される。
図 9は、 図 1, 2のリソース^—ジャ 2 2の制御謹のフローチャートであ る。 図 9において、 リソースマネージャ 2 2は、 ステップ S 1でチャネルァダプ タ側からのコマンド受領の をチェックしており、 ュマンドを受 るとステ ップ S 2でキューテーブルの格 を Hf Tる。 この格納判 ®Μは、 後 の説明 に明らかにする。 漏判 ¾OTの!^、 ステップ S 3でキュー 7ル でなければステップ S 4に進み、 受付けたュマンドをキューテーブル 3 2に格納 する。 ステップ S 3でキューフルであれば、 ステップ S 5に進み、 発行元のチヤ ネルアダプタにキューフルを報告してキューフル^^—ブル 3 4を ¾fする。 続いてステップ S 6でデバイスアダプタ側に空きがあれば、 ステップ S 7で、空 きとなつたデバイスアダプタに対しキューテーブル 3 2のコマンドを発行する。 このデバィスアダプタ側 (;=*f^るコマン ¾行でチャネルアダプタからのコマン ド受付け可能状態になることから、 ステップ S 8でキューフノレ幸^ プル 3 4 をサーチし、 ステップ S 9でキューフル^ 5feがある場合には、 ステップ S 1 0 でその報告先のチャネルアダプタにキュー受付け可能コマンドを発行する。 この ようなステップ S 1〜S 1 0の ½醒をステップ S 1 1で終了指 があるまで繰り 返す。 図 1 0は、 図 9のステップ S 2におけるキューテーブル格納判 ¾ ®の フローチャートである。 このキューテーブル^判 にあっては、 ステップ S 1で該当デバイスのキューテーブル してい^処理のュマンド数を歸 366
2 4 し、 ステップ S 2で したコマンド数は、 予め^ όた制限値 J:か否かチェッ クする。 未処理のコマンド数が Φ服値未満であれば、 ステップ S 3でキュー格納 可能を判定する。 一方、 ステップ S 2で未^ Sのコマンド数が制限値 J:であれ ばステップ S 4でキューフルを判定する。
図 1 1は、 図 9のステップ S 2のキューテーブル格納判定処理の他の実施形態 であり、 この判定処理にあってはリソース T^、ージャ 2 2のキューテーブル 3 2 にホストを受付ける制限数を、 キューテーブル 3 2のビジィ率に基づいて動的に 変更するようにしたことを特徴とする。
図 1 1において、 ステップ S 1で該当デバイスのキューテープノレ (c¾納してい る未処理のコマンド数を^"すると、 ステップ S 2に進み未 Sの コマンド 数をキューテーブル {^¾納可能なコマンド数の つて、 ビジィ率を計算 する。 続いてステップ S 3でビジィ率が iSTしたか否かチェックする。 ビジィ率 が ® していれば、 コマンドの受付けに があることからステップ S 4でキュ 一イングするコマンドの を ϋ¾Πさせる。 逆にビジィ率力 <±t¾Dしている場合 には、 キュ一イングに余裕がないことからステップ S 5でキューイングするユマ ンドの Φ を減少させる。 この様にビジィ率に基づいてステップ S 4で it¾ま たはステップ S 4で減少されたコマンドの «値を ¾ ^にステップ S 6で、 この B¾付けたコマンドからの未讓のコマンド数カ謹値 か否か^エツクし 、 謹値未蔬であればステップ S 7でキュ 可能を^ mし、 謹値 iiであ ればステップ S 8でキューフルを判定する。 この結果、 キューテーブル 3 2の実 際の格納状況を^ τΤビジィ率に基づいて、 チャネルアダプタ 2 0— 1〜2 0— η のキューテーブル 2 8— 1〜2 8— ηから受け取るコマンド数の制限値を変化さ せることで、 »[を固定的に設定し に比べ、 より効率^ J¾コマンドの処 理ができる。 特にリソース^—ジャ 2 2からデバイス側に文 る:^ンドの発 効率良く行なわれて、 リソースマネージャ 2 2のキューテーブル ^¾きが減 つてビジィ率が ®Τしている場合には、 制限数 的に itJtrさせることでチヤネ ルアダプタ 2 0— 1〜2 0— n側にキューイングしているコマンドを効率良く リ ソースマネージャのキューテーブル 3 2に き、 チャネルアダプタ 2 0— 1 〜2 0— n側のキューィングがオーバ一タイムによるボトルネックとなる;!犬況を 未然に防止できる。
2. シーケンシャル入出方要求の
図 1, 2に示したように、 本発明のデバイス制御装置 1 0は、 各種ホストのう ち、 オープン系ホスト 1 6に対しても接続される。
図 1 2, 1 3は、 図 1 , 2のオープン系ホスト 1 6に対し本発明のデバイス制 御装置 1 0を接続し 合のブロック図である。 オープン系ホスト 1 6に設けら れたホストアプリケーション 5 0— 1, 5 0— 2による入出 求は、 分散 S ドライバ 5 2によりデバイスドライバ 5 4— 1〜 5 4— nにロードバランスをと るように振り分けら それぞれのホストアダプタ 5 6— 1〜5 6— nよりデバ イス制御装置 1 0のチャネルアダプタ 2 0—1〜2 0— nに振り分けられた入出 力要求のコマンドを発行している。 このような分 ドライバ 5 2によるホス トアプリケーションからの入出力要求の振り分けにより、 オープン系ホスト 1 6 とデバイス制御装置 1 0を接続するパスのボトルネットを減ら とること ができる。 しかしながら、 このような入出力要^^散 ドライバ 5 2 "« 数パスに振り分ける場合、 ^が 1つ生じている。 その は、 入出力要求を分 散させることによつてデバイス制 ® ^置 1 0 m ½^作していたシ一ケンシャ
Figure imgf000027_0001
ことである。 従来のシーケン シャル入出力要求は、 入出方^^のアドレスをデバイス制御装置 1 0側に確保 し、 前回のコマンドのァドレス^ Jt較し、 ァドレスに連緣性があつたときシーケ ンシャル入出方^^と判断している。 デバイス制御装置 1 0でシーケンシャル入 出力要求と判断すると、 プリフェツ^^数領域同時リードライトなどのシーケ ンシャル入出力要求に効果 0 r¾動 p ~ドが額できる。 し力、し、 図 1, 2のよ うにオープン系ホスト 1 6に分散 ドライバ 52を設けてシーケンシャル入出 力要求を複数パスにばらばらに振り分けて発 ると、 デバイス制御装置 1 0に おける従来のシ一ケンシャル入出力^^の ¾ώ機構か Teきず、 シ―ケンシャ ル入出力^^か ϋできなくなる。
そこで本発明にあっては、 オープン系ホスト 1 6より複数パス り分けられ て発行されてくるシーケンシャル入出力^ ¾を するため、 図1 2, 1 3の実 態にあっては、 チャネルアダプタ 2 0—1〜2 0— nのそれぞれにシーゲン シャル検出部 6 0— 1〜6 0— nとシーケンシャル検出用テーブル 6 2 - 1〜6 2— nをそれぞれ設けている。 シーケンシャル検出用テーブル 6 2 - 1〜6 2 _ nには、 それぞれのチャネルアダプタ 2 0—1〜2 0— nで受領したオープン系 ホスト 1 6からの入出力要求についているアドレスとデータ長を格納する。 例え ばオープン系ホスト 1 6のホストアプリケーション 5 0— 1, 5 0— 2力く、 アド レス及びデータ長に示すようなシ一ケンシャル入出力^ ^分散 ドラィバ 5 2で振り分けながらデバイス制御装置 1 0に発行すると、 チャネルアダプタ 2 0 — 1〜2 0— nのシーケンシャル検^—ブル 6 2— 1〜6 2— nのように、 各 チャネルアダプタか 領した入出力^^についているァドレスとデータ長力く格納 される。 尚、 データ長は、 例えばキロバイトを単位としている。
チャネルアダプタ 2 0—1〜2 0— nに設けているシーケンシャル検出部 6 0 — 1〜6 0— nは、 オープン系ホスト 1 6から新たな入出力 を受けた際に、 シーケンシャノレ検出用テーブル 6 2— 1〜6 2— nに登録しているァドレス 一夕長から次のアドレスを予測し、新たな入出 のアドレスと比較してシー ゲンシャル入出力要求の する。 例えばチャネルアダプタ 2 0—1でホ ストアプリケーション 5 0—2から な入出^^として、 アドレス 「2 0 1 0」でデータ長 Γ5」 のコマンドを受けつ i ^d 合、 そのときシーケンシャル検 出用テーブル 6 2—1に既に登録している入出力^ Tドレスにそのデータ長を 加算した予測ァドレスを求め、 この予測ァドレスが新たな入出方^^のァドレス と同一と判断され d 合、 シーケンシャル入出力^ あると する。 例えば 、 シーケンシャル検出用テーブル 6 2—1の最¾1^ドレスは 「1 0 0 0」であ り、 そのデータ長は 「1 0」であることから、
予測ァドレス = 1 0 0 0 + 10 = 1010
を求め、 これを f Ttな入出^^のアドレス 「2 0 1 0」 <Li 較する。 この場合 には不一致となる。不一致の場合には次の入出力 のァドレス 「2 0 0 5」 と データ長「5」 を 出し、
予測アドレス = 2 0 0 5 + 5 = 2 0 1 0
を求め、 新たな入出力要求のァドレス 「2 0 1 0」 と比較する。 この場合には予 測ァドレスと新たな入出力^のァドレス力 であることから。 今回受け取つ た入出力要求はシーケンシャル入出^^あること力 できる。
更にシーケンシャル検出部 6 0 - 1〜6 0— nは、 シーケンシャル検出用テー ブル 6 2— 1〜 6 2— nに登録しているそれ以前の入出力要求のァドレスとデー タ長から求めた予測ァドレス力 な入出力^^のァドレスと同一になるシ一ケ ンシャルァクセスでな L、と^し ^合には、 シーケンシャル検出用テ一ブルの ァドレスに加えるデータ長をオープン系ホスト 1 6との間のパスの数 nまで 1か ら順次 Jf¾Dさせて予測ァドレスを複 め、新たな入出方要求のァドレス ϋ匕較 して同一か否か判断し、 同一であればシーケンシャル入出方^と する。 こ れはホストアプリケーション 5 0— 1, 5 0— 2からのシーケンシャル入出力要 求の 1つであり、 それぞれの入出力^^が分散処理ドライバ 5 2による振り分け で、 必ずしも同じチャネルアダプタに発^れないことを^している。 例えば チャネルアダプタ 2 0— 2のシーケンシャル検出用テーブル 6 2— 2の先頭には 既に受けつけた入出力^のァドレス 「2 0 0 0」 タ長「5」 を格納して いる。 この灘" eff こな入出力要求として、 例えばアドレス 「2 0 1 0」 — タ長「5」 を受けつけたとすると、予測アドレスは
予測アドレス = 2 0 0 0 + 5 = 2 0 0 5 となり、新たな入出力 のァドレス 2 0 1 0と同一にはならない。 この場合シ 一ゲンシャル検出部 6 0— 2は
予測ァドレス =ァドレス +データ長 X i の式を用い、 i = l〜nとオープン系ホスト 1 6との^パ η ^Γ とつず つ iを変化させながら予測ァドレスを複 出する。
この場合 i = 2のとき、
予測ァドレス = 2 0 0 0 +5 x 2 = 2 0 1 0
となり、 新たな入出方^^のアドレス 「2 0 1 0」 と同一となり、 これによつて チャネルアダプタ 2 0— 2力く新たに受けた入出方 はシーケンシャルアクセス であることを^ ¾できる。
図 1 4は、 図 1 2 , . 1 3の実施形態におけるデバイス制御装置 1 0にも受けた チャネルアダプタ 2 0 - 1 - 2 0— nのひとつについてのシーケンシャル検出処 理のフローチャートである。 このシーケンシャル検出 ま、 例え ( 定のタイ ムサイクルの割り込み 行される。 シーケンシャノレ検出 Sが開始されると、 ステップ S 1でオープン系ホスト 1 6からのコマンドの受領の をチヱックし 、 受領していればステップ S 2でシーケンシャル検出用テーブルにコマンドのァ ドレスとデータ長を格frTる。 続いてステップ S 3でシーケンシャル検出用テー ブルに書かれている前のコマンドのァドレス Ao i d とそのデータ長 L Dから i = 1とし T¾D算値 (A o i d + i - L D) を予測アドレスとして求め、
Figure imgf000030_0001
けたコマンドの新アドレス Anew と一致を判定する。 ステップ S 4 TTドレス一 致が判別されれば、 ステップ S 1 0に進み、 新コマンドはシーケンシャルァクセ スと判定し、 シーケンシャル騰籠能^ IrTる。一方、 ステップ S 4でアド レス不一致力"^別され/ d#合には、 ステップ S 5に進み、 iはオープン系ホスト 1 6との間の ¾ ^:パ ¾ riに足し 否かチャックする。 ; R^:パ ¾ ηに足して いなければ、 ステップ S 6で iをひとつインクリメントし、 再びステップ S 3に 戻り i = 2とし" OJO^値で与えられる予測ァドレ; ^求め、 新アドレスと一致判 定を行う。 このようなステップ S 3〜S 6の を i = l〜«^パス数 11に射 るま^りかえす。 M≠ nに i力達してもァドレス一致とならない場合に は、 ステップ S 7 2進み、 シーケンシャル検出用テーブルの全コマンドを Sし たか否かチェックし、未 ^であればステップ S 8に進み、 次のコマンドを参照 してステップ S たなコマンドのァドレス Ao i d とデータ長 L Dから加算値 としての予測ァドレスを求め新ァドレス A n e¥ との一致判定を斤う。 このような ステップ S 3〜S 8の処理により、 シーケンシャル検出用テーブルに登録されて レ、るすべてのコマンドについての Mが終了してもァドレス一致が得られない場 合にはステップ S 9に進み、 新コマンドはシーケンシャルアクセスでないと判定 する。 図 1 5, 1 6は、 オープン系ホスト 1 6に設けているホストアプリケー シヨン、 例えば 2つのホストアプリケーション 5 0— 1, 5 0— 2力洞時 行 し τϋτ作することで 2つのシーケンシャル入出方^^同時に発行している場合 のデバイス制御装置 1 0の 態である。 このようにオープン系ホスト 1 6に 設けている 2つのホストアプリケーション 5 0— 1 , 5 0— 2が同時に 2つのシ 一ゲンシャル入出方要求を出している場合には、 デバイス制御装置 1 0のチヤネ ルアダプタ 2 0— 1〜2 0— nには、 オープン系ホスト 1 6の同時に ¥ίϊし Τ» 作するホストアプリケーション 5 0— 1 , 5 0— 2の数、即ち、 2つのアプリケ —ションに対応した数のシーケンシャル検出用テーブル 6 2— 1 1と 6 2— 1 2 , 6 2— 2 1と 6 2— 2 2, · · ·、 6 2— η 1と 6 2— η 2のように、 2つず つシーケンシャル検出用テーブルを設け、 多重テーブル構成としている。 シーケ ンシャル検出部 6 0— 1〜6 0— ηは、 図 1 4の実 態と同じである力く、 2つ のシーケンシャル検出テーブルのう ¾~方でシ一ケンシャルアクセスか ¾(ϋでき なかった場合には、 別のテーブルに切り替えて同様にシーケンシャルアクセスを する。 またシーケンシャル検出部 6 0—1〜6 0—ηは、一方のシーケンシ ャル検出用テーブルの参照で、 シーケンシャルアクセス した場合は、 その シーケンシャルァクセスを するために参照したシーケンシャル検出テーブル に新たに受領している入出^ *のァドレス タ長を格 II ^る。
この場合のシーケンシャル入出力 の認識のための ¾Ε®は、 図 1 2, 1 3の 態と同様、 テーブルのァドレスにデータ長を TOした予測ァドレスと新ァ ドレスが ""であればシーケンシャル入出力 ^と する。更にテーブルのァ ドレスに、 データ長 L Dにオープン系ホスト 1 6とのパ tS [を l〜nの^ ffl とつずつ it¾nし T¾け合わ"^値を した複数 測ァドレスとの比較も行う 。 即ちシーケンシャル検出 ^iSそのものは図 1 4のフローチャートと同じである が、 ステップ S とつのシ一ゲンシャノレ検出用テーブルの全コマンドについ て処理を行ってもアドレス一致が得られなかっ^合には、 次のテーブルに切り 替えて同様な りかえす点が異なる。
尚、 図 1 5, 1 6の 態はオープン系ホスト 1 6で 2つのホストアプリケ ーシヨン 5 0— 1 , 5 0— 2か!^並行して入出 を発行する場合を例にと つている力 2£(±の任意の数のホストアプリケーションの^ 並行動 T もよ く、 この同時並 ίϊ¾?'ί^Τるホストアプリケーションの数に応じてチャネルァダプ タ 2 0— 1〜2 0— ηに設けるシ一ケンシャノレ検出用テーブルの数力く if¾nする。 図 1 7, 1 8は、 オープン系ホスト 1 6からのホストアプリケーションによる シーケンシャル入出力要求が分散 ドライバ 5 2によりばらばらに振り分けら れてデバイス制御装置 1 0に発斤される の他の Hffi形態である。 この 態にあっては、 チャネルアダプタ 2 0— 1〜2 0— nに、 図 1 2, 1 3の実施形 態と同じシーケンシャル検出部 6 0— 1〜6 0— nを設けているが、 シーケンシ ャル検出用テーブルについては各チャネルアダプタ 2 0— ;!〜 2 0— 11には設け ず、 チヤネルアダプタ 2 0— l〜2 0— nの総てが了クセス可能な共通の領域に シーケンシャル検出用共通テーブル 6 4として J¾¾けている。 このシーケンシ ャル検出用共通テーブル 6 4には、 チャネルアダプタ 2 0— 1〜2 0— nで受け 付けたオープン系ホスト 1 6からの入出 の了ドレスとデータ長力格納され 、 例えば図 1 9のようなテーブル内容を持つ。 このようにシーケンシャル検出用 共通テーブル 6 4を共通領域に一 してまとめておくことで、 チャネルアダプタ 2 0— 1〜2 0— nに に設け に比べ、 共通テーブルのメモリ領域を節 ^きる。 逆にチャネルアダプタ 2 0— 1〜2 0— nに分散し T¾けた場合に比 ベると、 複数のチャネルアダプタの参照が競合し^ ^i^他制御する必要があ るため、 その分シーケンシャルァ
Figure imgf000032_0001
かかる場合がある。
3. 冗長化パス
図 2 0は、 ホストからデバイス制御装置に射るパ ¾r%M化し/ の待機 系ノ スの動' m¾確認する本発明の入出力システムのブロック図である。
図 2 0において、 オープン系ホスト 1 6にあっては、 デバイス制御装置 1 0に 文 するパスを J ^化するため、 ホストアプリケーション 5 0に続いてパス ド ライバ 7 0を設け、 パス¾]¾ドラィバ7 0の¾"^に^¾パス7 4としてホスト ドライバ 5 4— 1を設け、 また待縣パス了 6— 1〜了 6— (n— 1 ) としてデ バイスドライバ 5 4— 2〜5 4— nを設けている。
デバイスドライバ 5 4— l〜5 4— iiに続いては、 ホストアダプタ 5 6— 1〜 5 6— IIカ けられ、 それぞれデバイス制御装置 1 0のチャネルアダプタ 2 0— 1 ~ 2 0— nを接続している。 デバイ 置 1 0には、 デバイス制御を行な うリソースマネージャ 2 2か けられ、 リソースマネージャ 2 2に続いてデバイ スアダプタ 2 4— 1〜2 4— nを設け、 これ し物理的なデバイス 1 8— 1〜 1 8— nを接続している。 この様な 系パス 74と待縣パス 76—1〜76— (n-1) によりパス を冗長化した場合、 通常時にあっては、 ホストアプリケーション 50の入出力要 求はパス 潜ドライバ 70によって TO系パス 74のデバイスドライバ 54—1 に発行され、 ホストアダプタ 56—1を介してデバイス制御装置 10のチャネル アダプタ 20— 1で入出力要求力受領され、 リソースマネージャ 22によるデバ ィス制御の元に対応する領域の、 例えばデバイス 18— 1に対し入出力要求が発 行されて Sされる。
—方、 待縣パス 76— 1〜了 6— (n-1) けているデバイスドライバ
54_2〜54— nにあっては、 通^^にあっては使用されていない。 デバイス ドライバ 54— 1の につながる パス 74に^ ¾力 し^合、 パス 切替ドライバ 70は パス 74の麵を停止し、 例えば待 パス 76— 1 として設定されているデバイスドライバ 54— 2にホストアプリケーション 50 からの入出力^^移行させ、 待縣パス了 6— 1の麵に漏える。
しかしながら、 待¾^パス 76— 1は通1^は使用されていないことから、長 時間^ していない間に壌れてしまっている場合には、正常に動作しない場合が の
そこで本発明にあっては、 オープン系ホスト 16 に待 パス を 設けている。 待縣パス確認 ¾ 72は、 パス了 6— 1〜76— (n-1) 力く正常に動作するかどうかを確認するため、 通 に待縣パス 76— 1〜 76 一 (n-1)のデバイスドライバ 54— 2〜54— nの 1E にパス コマンド を発行する。 この待 ¾^パス ¾ ¾ΓΤ2によるパス 、コマンドの発行による待 縣パスの確認 は、 次のパス 1〜 4の 4つがある。
(1)待縣パス廳処理 1
このパス薦讓は、 ^^パス ϋ¾¾Γ 2カ 定の^ ^p ^ ^パス 7 6— 1〜76— (n-1) のデバイスドライバ 54— 2〜54— nの ¾ にパス の機能がすべて 5ΙΜできるようなコマンドを発^る。 待縣パス 76— 1〜 7
6— (n-1) の全てのパス機能か ΊΕ常に動作するかどうかを ¾Mできるュマン ドとしては、 リード: TOのデータ を確認するリードコマンドとライト方向の データ ¾1を確認するライトコマンドがある。 例えばインタ一フェースが SCS Iの場合には、 パス確認コマンドとして「Te s t Uni t Ready」 を 使用することで、 例えば物理的なデバイス 18— 1の CEエリアに対するテスト リードとテストライトを実 ίϊ^ることができる。
(2)待縣パス 5t 麵 2
この は、待驅パス 76— 1〜了 6— (n-1) に発行するパス廳 コマンドとしてデバイス制 ® ^置 10の制御',の状態を確保するコマンドを用 いる。 デバイス制御装置 10の制御 ft¾の状態を確保するコマンドとしては、 例 えばシステ ラーに文 る忧^ ¾ユマンドを発 る。 この 4犬 知ユマン ドに対し、 デバイス制御装置 10は ^通知コマンドを ίϋ^することになる。 このようなデバイス制御装置 10に ¾·τる状態通知コマンドは、 通常はパス切 替ドライバ 70による パス 74のテストドライバ 54— 1ί るコマン ド発行で している。 この Sffi^パス了 4に発行している状態通知コマンドを 本発明にあっては、 待縣パス了 6—1〜了 6— (n-1) のパス ¾ コマンド に することで、 待 パスかE常に動^Tるかどうかを確認すると同時に、 運縣パス 74i ¾"Tる状^¾1^コマンドの発 く機無くなった分、 パ ス 74の觀率を低 きるメリットがある。
(3)待縣パス廳処理 3
この は、 OT¾パス 74に通常発行しているコマンドの "^を待 パス 76— 1〜76— (n-1) に発 る。 この^^パスの ¾ に使用する 通常のコマンドとしては、 パス 74に発行しているどのようなコマンドで あっても良い。 パス 74の~^のュマンドの^^に¾ "る発行は、 例え ば パス 74にコマンドを 100 ¾-行したら 1回待 パス ίταマンドを 発 fi ^るようにすれば良い。 このように パス了 4に発行しているコマンド の ~ ^を待 ¾ ^パス 76— 1〜了 6— (n-1)のパス確認のためのコマンドに 使用す ¾ことで、 待縣パス ¾M処理 用のノ ¾t コマンドを発行してい る場合に比べ、通常コマンドの を侍 パスの ¾ に使用していることから 、 デバイス制御装置 10からみてパス ¾ コマンドを発行しても^ If "なオーバー へッ ドにならないメリットがある。
(4)待娠パス鹂麵 4 この確認麵は、 一誘»1で¾^パス7 4で書込んだデ一タカ ^W パス 7 6— 1〜了 6— (n— 1 ) めるか、 あるいは逆に待 ^パス 7 6—1 7 6— (η— 1 ) で書込んだデータが、 ¾¾¾パス 7 4で るかどうかのク ロスチェックのコマンドを発 ff "る。 この様な ffl^パスと待 パスを用いた 書込みと読出しのクロスチェックによって、 待^ ¾パス 7 6— 1〜了 6— (n— 1 ) の正 作の有無の確認と 1¾に 31 、。スと待 «¾、。スによるデータ共用 のシステム自体の整合性を 、できるメリットもある。
この様な待;) パス ¾i¾rai 4のいずれか、 もしくはその組合わせによつ て、 待縣カ長時間使用されていない状 にあっても、万一、 待縣パスに故障 があった場合には、 待; (^パスの 5I により が検知され速やかな 、 などの対策ができる。 その結果、 テストドライバ 5 4— 1の 1ETにつながる運用 系パス 7 4に隨力 ¾ ^し d 合には、 パス爐ドライバ 7 0はデバイスドライ 、 5 4—1の使用を停止し、 待縣パス T 6— 1〜了 6— (n- 1 ) の丙、 例え ば待;^パス 7 6—1のデバイスドライバ 5 4— 2にホストアプリケーション 5 0からの入出力^^を発行させる に移行し、 この„ パス ¾Μ¾Γ 2に より待縣パス 7 6— 1か ΊΕ常に動作することか できているため、 待縣パ ス 7 6— 1に入出力^^の発行を移行しても正常に待 パス 7 6— 1か 作し 、 ホストアプリケーション 5 0からの入出力^^続し バイス制御装置 1 0側で ることができ、 高い fi l性が得られる。
尚、 図 1 9の実施形態にあっては、 パス爾ドライバ丁 0に対し複数の待縣 パス 7 6— 1 7 6— (n - 1) を設けている力、 待縣は^に応じて 1 あれば良い。
4. リザーブ制御と障害時のパス切替
図 2 1は、 ホスト内のパス切替ドライバにより パスの障 ¾ ^に待機系パ スに移行した際のリザーブ制御 の機能ブロック図である。
図 2 1において、 オープン系ホスト 1 6のホストアプリケーション 5 0は、 通 常時にあってはパス 潜ドライバ 7 0により ^ ^パス 7 4のデバイスドライバ 5 4— 1の に入出力要求のコマンドを発行している。 この: TO¾パスに 力く起きると、 パス體ドライバ了 0はデバイスドライバ 5 4— 1の使用を停止し 、 待機系パス 7 6— 1〜7 6— (n— 1 ) の内、 例えば待機系パス 7 6— 1のデ バイスドライバ 5 4— 2にホストアプリケーション 5 0からの入出力要求のユマ ンド発行を移行させる。
一方、 ホストアプリケーション 5 0の 1つの機能としてリザーブ制 «8 0が 設けられている。 リザーブ制 0は、 パス 7 4のデバイスドライバ 5 4一 1よりリザーブコマンドを発 fi^ る。 デバイス制御装置 1 0にはリザープ処 理部 8 2力《設けられ、 オープン系ホスト 1 6のリザーブ制 0より発行され たリザーブコマンドで^:された デバイス、 例えばデバイス 1 8— 1のリ ザープ処理を実行し、 ホストアプリケーション 5 0からの入出力^^をデバイス 1 8 - :U *fしてのみ固定するようになる。 このリザーブ S部 8 2によるデバ ィス毎のリザーブ権の管理を行なうため、 リソ一スマネージャ 2 2には、 リザ一 ブ^ ¾テーブル 8 4か けられている。
図 2 2は、 リザーブ テーブル 8 4の説■である。 リザーブ テーブル 8 4には、 デバイス 1 8— 1〜1 8— m毎にテーブル領域 8 6— 1, 8 6 - 2. • · · 8 6— mカ壞保されている。 各テーブル領域 8 6—1 ~ 8 6— mには、 リ ザーブ Stf¾として、 リザーブ中か否かを^"情報、 リザーブコマンドを受付 けたチャネルアダプタ番号、 リザーブ を行なつ 7 ^スト番号が される。 例えばデバイス 1 8— 1に対応したテーブル領域 8 6— 1には、デバイス 1 8が リザーブ状態に設定されていたとすると、 リザーブ中か否かを示 "Tit報として「 リザーブ中」 力登録され、 チャネルアダプタ番号として「2 0— 1」 が格納され 、 更にホスト番号として 「1」 力《登録されている。 次のデバイス 1 8— 2のテ一 ブル領域 8 6— 2にあっては、 このデバイス 1 8— 2がリザーブ中でないことか ら、 リザーブ中力、否かを示 "T f報として「リザーブ無」 が格納され、 チャネルァ ダブ夕番号及びホスト番号は空きとなっている。
再び図 2 1を参照するに、 オープン系ホスト 1 6に設けたリザーブ制御部 8 0 は、 パス 7 4の により待縣パス 7 6— 1に入出: のコマンド発 行を移行さ 場合、 このとき既に パス 7 4 i ^Tるリザーブコマンドの 発行で、例えばデバイス 1 8— 1がリザーブ状態となってい^合、 移行先の待 機系パス 7 6— 1のデバイスドライバ 5 4— 2より運用系パス Ί 4により既にリ ザーブ状態となつているデバイス 1 8— 1のリザーブを解除するためのリザーブ 賺コマンドを発 ^ることができる。 リザーブ騰コマンドは、 待縣パス 7 6一 1の配下にあるデバィス制御装置 1 0のチャネルアダプタ 2 0— 2で受付け られ、 リソース ^、一ジャ 2 2に設けたリザーブ; Μ¾58 2で ^ ffi パス 7 4に よるデバイス 1 8—1のリザーブ状態の^ ^を行なうことができる。 このときリ サーブ 部 8 2は、 HT2 2のリサーブ テーブル 8 4を参照し、 そのテープ ル領域 8 6— 1からデバイス 1 8— 1がリザ一ブ ttSにあることを^^し、 且つ そのリザ一ブが パス Ί 4の にあるチャネルアダプタ 2 0— 1で行なわ れたことを し、 リザーブ を^ Tることができる。 この移 ίϊ の運 パス 7 4によるデバイス 1 8のリザーブ状態の^^できることで、 ホストァプ リケーシヨン 5 0のリザ一ブ制 0 行後の待縣パス 6— 1 ί:^し改 めてデバイス 1 8— 1を したリザーブコマンドを発行しても、 デバイス制御 装置 1 0で Sリザべーシヨン ·コンフリクトとならずに、 藏待縣パス 7 6 によるリザーブコマンドで、 デバイス 1 8をリザーブ に設定することができ る。
一方、 ホストアプリケーション 5 0のリザ一ブ制御部 8 0よりリザ一ブ状 除のためのリリースコマンドが発行されると、 デバイス制御装置 1 0のリソース マネージャ 2 2に設けているリザーブ 部 8 2は、 リザーブ テーブル 8 4 を参照して指定されたリリースコマンドの対象デバイスを し、 そのデバイス のリザ一ブ を库3^することになる。
図 2 3は、 図 2 1の¾«5態におけるリザーブ制御 <h¾作パスで障害が し た場合のリザ一ブ賺、更にリザーブ伏態のリリース讀のフロ一チャートであ る。 いま図 2 1のオープン系ホスト 1 6において、 パス爐ドライバ 7 0力 ¾TO 系パス 7 4によりホストアプリケーション 5 0からの入出力^^をデバイス制御 装置 1 0側に発行して入出力 を行なっている状 ^で、 例えばステップ S 1の 様にホストアプリケーション 5 0からリザープ^^が行なわれたとする。 このリ ザ一ブ要求を受けて、. 系パス 7 4のデバイスドライバ 5 4— 1は、デバイス 制郾装置 1 0にホストアダプタ 5 6— 1 由してリザーブコマンドを発行する 。 このオープン系ホスト 1 6からのリザーブコマンドはデバイス制御装置 1 0の チャネルアダプタ 2 0—1で受付けられ、 リソース^—ジャ 2 2のリザーブ処 理部 8 2により、 例えばデバイス 1 8—1について要求パスのリザーブ権を確保 し、 それ I»のホストアプリケーション 5 0からの入出力^は、 パス 7 4からデバイス 1 8— 1に対しデバイス制御装置 1 0を ¾ώして固定的なパスで 行なわれる。
このようにデバイス 1 8— 1 ¾ ^^パス 7 4でリザーブした状態で、 m ^ パス 7 4のいずれか 力 ^すると、 オープン系ホスト 1 6のパス ¾J¾ドラ ィバ 7 0は、 隨を起こした パス了 4から例えば ^パス了 6— 1のデ 《イスドライバ 5 4— 2 i ¾し、 入出 のコマンド発行を^1させる。 この 運用系パス了 4から待;^パス 7 6— 1への入出力要求のコマンド発行の移行に ともない、 ステップ S 4でリザーブ制 0は移行先の待 ¾ ^パス 7 6— 1の デバイスドライバ 5 4— 2よりデバイス制 ®¾置 1 0に対し π也パスリザーブ権 賺コマンド」 を発 る。 この 「他パスリザーブ « Ι^コマンド」 は、 デバイ ス制御装置 1 0のチャネルアダプタ 2 0—2で受付けられ、 リソース^ージャ 2 2のリザ一ブ^ 3^8 2に与えられる。 リザーブ Μ¾58 2は、 ステップ S 1 0 2で図 2 2のリザーブ テーブル 8 4を参照し、現在リザーブ状態にあるデ バイスがデバイス 1 8—1であり、 そのパスがチャネルアダプタ番号「2 0— 1 」及びホスト番号「1」 から パス 7 4であることを ¾し、 Γ他パスリザ 一ブ権纖コマンド」 に基づき、 この ϋ¾¾パス了 4のリザーブ権を賺する。 ^¾ステップ S 3で動作パスとしての パス Ί 4に が ¾ ^しなければ、 ステップ S 4の 「他パスリザ一ブ¾ ^コマンド」 の発行はスキップする。
次にステップ S 4でホストアプリケーション 5 0より入出力^ ^行後のパス となる待縣パス 7 6— 1のデバイスドライバ 5 4— 2より 「リザ一ブコマンド 」 をデバイス制御 ¾S 1 0に発 る。 このデバイスドライバ 5 4— 2からの 「 リザーブコマンド」 は、 デバイス制御装置 1 0のチャネルアダプタ 2 0— 2で受 付けられ、 リソースマネージャ 2 2のリザーブ 2により同じデバイス 1 8—1について、 チャネルアダプタ番号「2 0— 2」 とホスト番号「1」 の設定 により新しいパスのリザーブ権を確保する。 続いてステップ S 6でホストアプリケーション 5 0からのリザーブ 解除を 受けると、 最後にリザーブコマンドを発行したパスのデバイスドライバ、 即ち待 機系パス 7 6— 1のデバイスドライバ 5 4— 2から 「リリースコマンド」 をデバ イス制御装置 1 0に発 fi^る。 この 「リリースコマンド」 を受付けたデバイス制 御装置 1 0のリザ一プ処理部 8 2は、 リサーブ管理テーブル 8 4の参照で待機系 パス 7 6— 1に設定されたリザープ権 ¾ ϋして、 そのリザ一ブ権を引き渡すリ リース を実行する。
図 2 4は、 本発明によるデバイス制御と のパス えの他の実»態の ブロック図であり、 この HIS形態にあってはオープン系ホストに口ードバランス を確保するために複数のパスを える 分散ドライバを設け 合を例にと つている。
図 2 4において、 オープン系ホスト 1 6のホストアプリケーション 5 0に続い ては、 S分散ドライバ 5 2力く設けられ、 デバイスドライバ 5 4— 1〜5 4— n の ¾Tとなる複数のパス 7 8—1〜7 8—!!に対し、 ホストアプリケーション 5 0からの入出 虔求のロードバランスを保つようにパス えを行っている。 このような画分散ドライバ 52を設け^一プン系ホスト 1 6のリザーブ制 御処理のため、 リザーブ制御部 8 0がホスト内に設けられ、 またデバイス制御装 置 1 0のリソースマネージャ 2 2にはリザーブ S¾U8 2とリサーブ テープ ル 8 4か 15けられている。 このリザーブ テーブル 8 4は 2 2と同じもので ある。 オープン系ホスト 1 6に設けたリザ一ブ制御部 8 0は、 ホストアプリケー シヨン 5 0からリザ一ブ^^があると、 ドライバ 5 2の分 MSを中止 し、 特定のパスのデバイスドライバ、 例えばデバイスドライバ 5 4—1から 「リ ザーブコマンド」 をデバイス制 置 1 0に発行し、 デバイス制御装置 1 0のリ ソースマネージャ 2 2に設けたリザーブ 部 8 2により^^パスのリザーブ権 を確保し、且つリザーブ テ一プル 8 4にリザーブ状 としたデバイスについ て「リザーブ中」、チャネルアダプタ番号、 ホスト番 ^設定する。
このような処理分散ドライバ 5 2の分散 を中止して特定パスのデバィスド ライバで入出 を発行させるリザーブ 確保状態で、 このパスに障害力く発 るとリザーブ制 » 8 0は 1^パスのデバイスドライバ 5 4— 1の使用を停 止し、 正^ f他のパス、 例えばパス 7 8—1のデバイスドライバ 5 4— 2に入出 力^^のコマンド発行を移 ίϊ "る。 このとき!^を起こしたパス 7 8— 1につい てリザーブ権力 ¾保されていることから、 リザーブ制 »8 0は、 移行した他の パス 5 4— 2のデバイスドライバ 5 4— 2より 「他パスリザーブ コマンド 」 を発行し、 デバイス制御装置 1 0で既にリザーブ権を確保した I ^パスについ てのリザーブ権を,させる。 この様にして パスのリザーブ権が できる と、 ^により ¾/ えた先のパス 7 8— 2のデバイスドライバ 5 4— 2より 「リ ザ一ブコマンド」 を発行しても、 デバイス制御装置 1 0側で処理リザべーシヨン •コンフリクトとならずに新しいパス了 8— 2でのリザーブ権を確保することが できる。 また新しいパス了 8— 2に體えた後、 ホストアプリケーション 5 0よ りリサーブ要求解除があれば、 リザーブ制御部 8 0は最後にリザーブコマンドを 発行したパスのデバイスドライノく、 即ちデバイスドライバ 5 4— 2から 「リリー スコマンド」 をデバイス制御装置 1 0に発行し、 パス 7 8— 2のリザーブ権を解 除するリリ一ス処 を行なう。 この様にしてリザーブ権のリリ一ス が済むと 、 リザーブ権の確保状態 ^止していた 分散ドライバ 5 2による分 iicOTが 欄され、 ロードバランスを保つようなパス T 8—1〜了 8—nのデバイスドラ ィバ 5 4— 1〜5 4— n ( る入出力^^の発行の分散が行なわれる。
図 2 5は、 図 2 4の処¾ "分散ドライバを甩い^合のリザーブ制御と轄魅 時のパス騰のフ口"^ 一トである。 この 2 5のフロ ~ "ャ一トにあっては 、 オープン系ホスト 1 6がステップ S 1でホスト T リケ一シヨン 5 0からリザ 一ブ^^を行なった際に、 処理分散ドライバ 5 2の分散処理を中止し、 ステップ S 3 ? 定パスのデバイスドライバから 「リザーブコマンド」 を発行する点力図 2 1のパス ドライバ了 0の場合と異なる。 またステップ S 5, S 6で 「他パ スリザーブ; コマンド」 の発行で、 他パスのリザーブ権を し、 ステップ S 6で「リザーブコマンド」 を発行し T ?しいパスのリザーブ権を確保した後に 、 ステップ S 7でホストアプリケーション 5 0からリザーブ"^^^あり、 こ れに基づきステップ S 8で「リリースコマンド」を発行してリザーブ権のリリ一 ス処理を行なつた後、.それまで中止していた 分散ドライバ 5 2の分散処理を する点か 1のパス ドライバ 7 0と異なる。 5. 複数パス〖 る処理分散のパス聽対策
図 26, 27は、 オープン系ホストの 分散ドライバに待機系のデバイスド ライバを設けた本発明の入出力システムのブロック図である。
図 26, 27において、 この実請態にあっては、 オープン系ホスト 16—1 , 16— 2の 2系統について、 デバイ ^®I¾S10を介して物理的なデバイス 18— 1〜18— mを接続している。 オープン系ホスト 16— 1, 16— 2は、 それぞれホストアプリケーション 50— 1, 50— 2の入出力要求 (^し、 S 分散ドライバ 52— 1, 52— 2によりデバイスドライバ 54—11〜54—1 n及びデバイスドライバ 54-21〜54— 2nのそれぞれの 系パス 90— 11〜90— In及び 90-21〜90— 2 nに讓を分散してロードバランス を! ^している。 オープン系ホスト 16— 1, 16— 2のデバイスドライバ 54 —11〜54—1 n及びデバイスドライバ 54_21〜 54— 2 nに続いては、 ホストアダプタ 56— 11〜 56— 1 n及びホストアダプタ 56— 21〜 56— 2 n力く設けられ、 それぞ 用のパスによつ バイス制御装置 10のチャネル アダプタ 20— 11〜20— 1 n及びチャネルアダプタ 20— 21〜20-2 n に接続している。 デバイス制御装置 10はチヤネノレアダプタ 20—11〜20— 2 nに続いて、 リソースマネージャ 22を設けており、 リソースマネージャ 22 にはデバイスアダプタ 24—1〜24— nのそれぞれを介して物理的なデバイス 18— 1〜18— mを接続している。
このようなオープン系ホスト 16— 1, 16— 2におけるホストアプリケーシ ヨン 50— 1, 50— 2からの入出力要^^ TO分散ドライバ 52— 1, 52- 2で、運縣パスのデバイスドライバ 54— 11〜54—1 n, 54-21〜5 4一 2nに分散してロードバランスを保つ構成に加え、 本発明にあっては、更に 処理分散ドライバ 52— 1, .52— 2に対し、 待縣パス 92— 1、 92— 2を 構築するデバイスドライバ 54— 01, 54— 02のそれぞれを新たに設けてい る。 待縣のデバイスドライバ 54— 01, 54— 02の ί 寸しては、 ホストァ グプタ 56— 01, 56— 02力 けられ、 デバイス制御装置 10側にも、 これ に対応して待;^のチャネルアダプタ 20-01, 20— 02を設けている。 ここでデバイス制御装置 10のリソースマネージャ 22には、 I D^Sテープ ル 94力- けられている。 I テーブル 94は、 オープン系ホスト 16—1 , 16— 2の ごとに分け バイス制御装置 10に設けているチャネルァ ダプタ 20— 11〜20— 2ηに IDを設定している。 即ち、 オープン系ホスト 16—1の M¾パス 90—11〜90—1 nに対応したデバイス制御装置 10 のチャネルアダプタ 20— 11〜20— 1 nには、 デバイス 18— 1に関連付け る 「ID1」 を設定している。一方、 オープン系ホスト 16— 2の パス 9 0-21〜90— 2 nに対応したデバイス制御装置 10のチャネルアダプタ 20 -21〜20— 2 nには、 デバイス 18— 2との関連付けを行なう 「ID2」 を 設定している。 この I Dの設定は、 パス 92— 1, 92— 2に対応し バイス制御装置 10に設けている待 のチャネルアダプタ 20— 01, 20- 02についても同様であり、 オープン系ホスト 16— 1の系^待 »パス 92 —1に設けたチャネルアダプタ 20— 01には、 運用系のチャネルアダプタ 20 一 ll〜20— lnと同じ、 デバイス 18— 1に TO付ける 「I D1」 を設定し ている。一方、 オープン系ホスト 16— 2の待機系パス 92— 2に設けているデ ノ イス制御装置 10の^^のチャネルアダプタ 20— 02については、 のチャネルアダプタ 20— 21〜20— 2 ηと同じ、 デバイス 18— 2に^!付 けた 「I D2Jを設定している。
図 28は、 デバイス制御装置 10のリソースマネージャに設けている テーブル 94の説画である。 この I ϋ テーブル 94は、 デバイス 18—1 〜18— mに対応してテーブル領域 96— 1〜96— τπを設けている。 デバイス 18— 1に対応したテーブル領域 96—1には、 IDとして「1」 が設定され、 またチャネルアダプタ番号として の 「20— l l〜20— ln」 に加え、 待機系の 「20— 01」力設定される。更にホスト^としてオープン系ホスト 16— 1を^ "T「1」 が設定されている。 次のデバイス 18— 2に対応したテ一 ブル領域 96— 2については、 IDとして「2」 か 定され、 チャネルアダプタ 番号として の 「20-21〜20— 2n」及び の 「20— 02」 が 設定され、更にホスト番号としてオープン系ホスト 16— 2を^ 「2」 カ 定 されている。 次に図 26, 27の入出力システムの処 SSJ作を説明する。通常の 状態に あっては、 オープン系ホスト 16— 1, 16— 2のホストアプリケーション 50 —1, 50— 2のそれぞれが、 入出力要求を処 散ドライバ 52— 1, 52- 2に対し行なっており、 分散ドライバ 52— 1, 52— 2はロードバランス を保つように M¾パス 90—11〜90—1 nのデバイスドライバ 54—11 〜54— 1 n
Figure imgf000043_0001
90-21〜90— 2 nのデバイスドライバ 54— 21〜54— 2 nも対象に口一ドバランスを類するように擁を分散している o
ここでオープン系ホスト 16—1の ドライバ 52— 1を例にとると、 ホストアプリケーション 50—1より入出^^を受けた際に、 ロードバランス を保つように、 例えば S ^パス 90—11を使用して入出力魏 ί:^応したコ マンドを発^るが、 このユマンドにはチャネルアダプタ 20— 11に設定され ている 「ID1」 を付けて発行する。 このためデバイス制御装置 10のチャネル アダプタ 20— 11は、 ホストアダプタ 56— 11を介し バイスドライバ 5 4-11より発行されたコマンドの 「ID1」が自分に設定された I Dと同じで あることからコマンド 2として受付け、 リソースマネージャ 22に受けとつたコ マンドを引き渡し、 リソース^ージャ 22よりその I D 1で閲連付けられたデ バイス 18—1に対しコマンドを発行し TTクセスを行なう。
この点はオープン系ホスト 16— 2側の 散ドライバ 52— 2による処理 分散についても同 あり、 入出力魏を受けた際に、 讓分散ドライバ 52— 2は運用系のデバイスドライバ 54— 21〜54— 2 nのいずれか 1つを口一ド バランスを難するように麵して のチャネルアダプタ 20-21-20 一 2ηに設定されている 「ID2」 を付けたコマンドを発行し、 デバイス制御装 置 10側で「I D2」 に関連付けたデバイス 18— 2 ¾"Tるアクセス 行なわ せる。
次に ^の 1パ 故^^起き^合の^ Sを説明する。 いまオープン系ホ スト 16—1の S"分散ドライバ 52—1に接続し 、るデバイスドライバ 54 -11及びその 1Ξ のパスとなる パス 90— 11で故障が ¾ ^したとする 。 この パス 90— 11におけるお偉¾^{ 寸し、 分散ドライバ 52— 1はデバイスドライバ 54—11を使用したコマンドの発行を停止し、新たに待 縣パス 92—1に設けているデバイスドライバ 54— 0 パスの故障 パスに変えるパスに含める。 このため故 Ittiiと同じパス数のデバイスドライバ 5
4一 01, 54— 12〜54— 1 nを対象に、 ホストアプリケーション 50— 1 からの入出方要求に る S分散を行なってロードバランスを保つ。 このため 系ノ、。スの 1パスに故障が起きても、 «^/ スによる で故,と同等の ロードバランスが類でき、 ¾ ^の 1パスに故^^起きても他のオープン系ホ スト 16— 2の麵分散に比べ、 パスボトルネックとなる事なく故^ と同等な 入出力処理の する事ができる。 この様な TO¾パスの故障は、 オーブ ン系ホスト 16— 2側の S ^の 1パ 7TC故^^起き 合にも同様に、 待匿 パス 90— 2のデバイスドライバ 56-02の^^故障パスの変わりに行なわ れ、 故,と同等なロードバランスを^できる。
図 29, 30は、 図 26, 2了の実觸態について、 2系統のホストについて 麵 Uに設けている待 のデバイス制御装置 10のチャネルアダプタを共用化し たことを特徴とする。 HT29, 30において、 オープン系ホスト 16— 1, 16 一 2における処理分散ドライバ 52— 1, 52-2.運用系のデバイスドライバ 54— 11〜 54— In, 54— 21〜54一 2n、 ^^のデバイスドライバ
54— 01, 54— 02、更にホストアダプタ 56—11〜56—1 n, 56— 01, 56-02, 56—21〜56— 211は、 図26, 27の実藤態と同じ である。 これ ( ¾しデバイス制御装置 10に設けている待 のチャネルァダプ 夕を、 図 26, 27の絲統ごとのチャネルアダプタ 20— 01, 20— 02の 代わり【^一のチャネルアダプタ 20— 00としている。 この待 ^の共用チヤ ネルアダプタ 20— 00に対しては、 オープン系ホスト 16— 1, 16— 2に設 けている待i¾パス 92— 1, 92— 2のホストアダプタ 56— 01, 56-0 2より共通待機パス 98の 1パス 镜している。 また共用待機用のチャネルァ ダプタ 20-00に対する IDの設定は、 チャネルアダプタ 20— 00がオーブ ン系ホスト 16— 1における待縣のデバイスドライバ 54— 01からの I D 1 のコマンドとオープン系ホスト 16— 2の待縣のデバイスドライバ 54— 02 の I D 2のコマンドの両方を 力に受付け ΤΤΐ^する があることから、 ォ一 プン系ホスト 16— 1, 16— 2の両方に it ^するための 2つの 「I D 1」 と 「 ID 2」 を設定している。 このため 待機用のチャネルアダプタ 20— 00は オープン系ホスト 16—1のデバイスドライバ 54— 01から I D 2のコマンド を受領した場合には、 リソースマネージャ 22及びデバィスアダプタ 24 _ 1を 介して 「I D 1」 連付けられたデバイス 18— 1にアクセスする。 またォー プン系ホスト 16— 2のデバイスドライバ 54— 02から 「I D2」 のコマンド を受付けた場合には、 リソースマネージャ 22及びデバイスアダプタ 24— 2を 介して 「I D2」 連付けたデバイス 18— 2にアクセスする。 このようにォ 一プン系ホスト 16— 1, 16— 2の異なる待縣パス 92— 1. 92— 2から の 「ID1」 または 「ID2」付きのコマンドを受付け、 Γ番号で関連付けられ るデバイス 18— 1または 18— 2にアクセスする機能を、 例えば「Sha r e d i na c t i ve pa s s」 と呼ぶことができる。 このようにデバイス制 御装置 10に設けている 2つのホスト系の待^ ^パスを 1パスとしてコマンドに 応答する共用待機用のチャネルアダプタ 20— 00を設けた点以外は、 図 26, 27の 態と同じになる。
尚、 図 26, 27¾び図 29, 30の実 態にあっては、 オープン系ホスト 16— 1, 16— 2の 2系統の入出力 ^^を ¾ 分散によりロードバランスを実 現してデバイス制御装置 10にコマンドを発 fi^る場合を例にとっている力 デ バイス制御装置 10に接^ Tるオープン系ホス卜の数は^ に応じて 意の数と することができる。 また、 図 29, 30にあっては、 2系統のオープン系ホスト 16— 1, 16— 2からの待縣パスについてデバイス制御装置 10のチャネル アダプタを共用化しているカ^更にオープン系ホストが i ¾0し :^合には、 ォー プン系ホストの系 寸応した I Dを設定することで、 複数の待 パスを共 通の 1パスとして 1つの共用待機用のチャネルアダプタ" Cし、 待 のチヤ ネルァダブ^:を減らす事でリソースの ¾ iJ用が できる。
6. チャネル^!レートの ¾®化
図 31, 32は、 ホスト側の レートか く、 デバイス制御装置側の ¾¾レ 一ト力低 L、場合のチヤネル間のパス^!レートを る本発明の入出力シス テムのブロック図である。
図 31, 32において、 オープン系ホスト 16 ^バイス制御装置 10との間 のチャネルパスとして、 ファイバチャネル ·アビトレーテツ ドル一プ 98を^ している。 このファイバチャネル ·アビトレーテッ ドループ 98は、 オープン系 ホスト 16とデバイス制御装置 10との間のデータ^単位を 2 Kバイ ト以内の フレームに分割して行なっている。 このため従来のパラレル S C S Iと異なり、 同時に複数 のオペレーションの実 ff^可能である o
オープン系ホスト 16の麵分散ドライノ 、 52は、 ホストアプリケーション 5 0より、 例えばオペレーション単位に入出力要求を受け、 デバイスドライバ 54 _1~54— 4から入出力^^ ^¾応したコマンドを発行し、 ホストアダプタ 5 6— 1〜56— 4からファイバチャネル ·アビトレ一テツ ドループ 98を介して デバイス制御装置 10のチャネルアダプタ 20— 1〜20— 4側 i rrマンドを転 送している。 デバイス制御装置 10は、 チャネルアダプタ 20— 1〜20— 4に 続いてリソースマネージャ 22を備え、 リソース τ^—ジャ 22に対しては、 デ バイスアダプタ 24— 1, 24— 2を介して、 例えばデバイス 18— 1, 18— 2を接続している。
ここでオープン系ホスト 16側に設けているホストアダプタ 56— 1〜56— 4のデータの gitレー卜が 10 OMB/sであり、 これに対しデバイス制御装置 10に設けているチャネルアダプタ 20— 1〜20— 4のデータの レー卜が 、 その半分の 5 OMBZsであったとする。 このようにホスト側のホストァダプ 夕 56_1〜56— 4【 ¾しデバイス制御装置 10側のチャネルアダプタ 20— 1〜20— 4の^!レートが低い場合には、 ホストアダプタとチャネルアダプタ の 1対 1のチャネルパスによるデ一タ^ iにあつては、 必 f¾iレートの低い方 の 5 OMBZsに引っ張られ、 ホストアダプタ 56— 1〜56— 4は、 本来は 1 0 OMB/ sの^!レートを出すことができる力 実際は半分の ¾ ^しか発揮す ることができない。
そこで本発明にあっては、 オープン系ホスト 16側のホストアダプタ 56—1 とデバイス制御装置 10のチャネルアダプタ 20— 1, 20— 2について示すよ うに、 ホストアダプタ 56— 1からパス 100— 1によりチャネルアダプタ 20 一 1をアクセスすると同時に、 ホストアダプタ 5 6—1からパス 1 0 0— 2によ り他のチャネルアダプタ 2 0— 2もァクセ きるようにする。 このようにホス トアダプタ 5 6—1によって 2台のチャネルアダプタ 2 0 - 1 , 2 0— 2をァク セスできるようにするための機能は、 オープン系ホスト 1 6側の ί¾ί1Ι分散ドライ バ 5 2にチャネルアダプタ管理テーブル 1 0 4を設け、 同時にデバイスドライバ 5 4— 1にも同じ P¾ を^ チャネルアダプタ ^テーブル 1 0 4— 1を設ける ο
図 3 3は、 図 3 1, 3 2の処理分散ドライバ 5 2及びデバイスドライバ 5 4— 1に設けたチャネルアダプタ テーブル 1 0 4, 1 0 4— 1の説 ^I である。 このチャネルアダプタ テーブル 1 0 4, 1 0 4— 1にあっては、 2つのオペ レーシヨン 1, 2がどこまで進んでいるかを している。
図 3 1, 3 2のホス卜アダプタ 5 6—1によって 2つのチャネルアダプタ 2 0 — 1, 2 0— 2に 1¾に 2つの のデ一タ^!を行なう場合の «1®作を説明 すると、 次のようになる。 オープン系ホスト 1 6のホストアプリケーション 5 0 は、 処理分散ドライバ 5 2 ( しデバイス 1 8— 1 ί¾·Τる入出力魏として、 オペレーション 1とオペレーション 2を出しており、 オペレーション 1について 図 3 3のチャネルアダプタ管理テーブル 1 0 4, 1 0 4— 1のように、 チャネル アダプタ 2 0— 1にオペレーション 1カ 当てられ、 チャネルアダプタ 2 0 - 2 にオペレーション 2力割当てられる。 ここで、 デバイスドライバ 5 4—1により オペレーション 1, 2を割当てるチャネルアダプタは、 チャネルアダプタ 2 0— 1〜2 0— 4のいずれに対しても自由に行なうことができるが、 この場合にはチ ャネルアダプタ 2 0— 1 , 2 0—.2に割当て^合を例にとっている。
続いて讀分散ドライバ 5 2は、 2つのオペレーション 1とオペレーション 2 のデータをデバイスドライバ 5 4— 1及びホストアダプタ 5 6— 1によりパス 1 0 0による 1 0 0 MB/ sの^ レート 分割で 2つのチャネルアダプタ 2 0 ー1と 2 0— 2に ¾Sのパス 1 0 0— 1, 1 0 0— 2に分けて する麵 り返す。 このためチャネルアダプタ 2 0— 1 , 2 0— 2側から見ると、 パス 1 0 0 - 1 , 1 0 0— 2によるホストアダプタ 5 6— 1から 5 O MBZ sの^レー 卜でオペレーション 1とオペレーション 2のそれぞれのデータ^ ¾されているこ とになる。
このとき ί¾Ε®分散ドライバ 5 2及びデバイスドライバ 5 4— 1は、 図 3 3に示 したチャネルアダプタ テーブルを参照して、 チャネルアダプタ 2 0— 1に対 するオペレーション 1のデータ^!がどこまで進んだか、 同じくチャネルァダプ 夕 2 0— 2に文 るオペレーション 2のデ一タ^!がどこまで進んだかを し ながら、 オペレーション 1及びオペレ一シヨン 2の,^ 理を行なう。 ここで、 図 3 1 , 3 2の 形態にあっては、 ホストアダプタ 5 6— 1で 2つ のオペレーションを 2つに分けてチャネルアダプタ 2 0— 1 , 2 0— 2に分けて fe¾しているが、 1つのオペレーションのデータ^!を 2つに分け TStするこ とも可能である。 しかしながら、 ファイバチャネル ·アビトレーテッドループ 9 8より 1つのオペレーションを 2つに分けて ることは、 ファイバチャネル の技術的な があることから、 2つ £しヒのオペレ一シ 3ンをオペレーション単
Figure imgf000048_0001
にあっては、 ホストアダプタ 5 6— 1からのデータ転送を例にとっているが、 他のデバイスド ライバ 5 4— 2 ~ 5 4— 4についても同様に、 デバイス制御装置 1 0側に設けて いるチャネルアダプタ 2 0— 1〜2 0— 4の中から 2つのチャネルアダプタを選 択して、 に 2つのオペレーション^^ることができる。
このようにデバイス制御装置 1 0側のチャネルアダプタ 2 0— 1〜2 0— 4の レートに対し、 ホスト側のホストアダプタ 5 6—1〜5 6—4側の^ ¾レー トカ くても、 低い方の ¾1レートに引きずられる事なく、 高い方のホストァダ プ夕 5 6— 1〜5 6— 4の^ gレートによつ バイス制御 ¾M 1 0に対するデ 一タ を行なうことができる。
図 3 4, 3 5は、 図 3 1, 3 2の 態とは逆に、 ホスト側の ^レートが 低く、 デバイス制御装觀„ レートか い場合のパス レートを最適^ る本発明の入出力システムのプロック ある。
図 3 4, 3 5において、 オープン系ホスト 1 6及びデバイス制御装置 1◦側の 構成は図 3 1, 3 2の H»態と同じであるが、 ホスト側のホストアダプタ 5 6 — 1〜5 6— 4の ^^レートが 5 O MBZ sと低く、 これに対しデバイス制御装 置 1 0側のチャネルアダプタ 2 0— 1〜2 0— 4の^ iレートが 1 0 O MBZ s と高くなつている。 このような場合にも、 ホストアダプタとチャネルアダプタの 1対 1のチャネルパスによるデータ SI は、 低いホスト側のホストアダプタの
¾¾ii^5 0 MB Z sに引きずられ、 s¾ ^^'erする。
そこで本発明にあっては、 ホストアダプタ 5 6— 2からチャネルアダプタ 2 0 一 3をアクセスすると同時にホストアダプタ 5 6— 3からも同じチャネルァダプ 夕 2 0— 3をアクセスできるようにする。 この 2つのホストアダプタ 5 6— 2, 5 6— 3から 1つのチャネルアダプタ 2 0— 3をパス 1 0 2— 1 , 1 0 2— 2に より同時にァクセ ττϋきる難は、 鍵 ドライバ 5 2及びデバイスドライバ 5 4— 2, 5 4— 3によって行なわれる。 このため ^分散ドライバ 5 2には、 ホストアダプタ テーブル 1 0 6カ けられ、 またデバイスドライバ 5 4— 2 , 5 4— 3にも同じテーブル内容を^^ホストアダプタ テーブル 1 0 6— 2 , 1 0 6— 3を設けている。 これによつて 分散ドライバ 5 2は 2つ J:の処 理、 具 にはホストアプリケーション 5 0による 2つのオペレーションをデバ イスドライバ 5 4— 2, 5 4— 3に対し、 同時に行なわれるように構成している 図 3 6は、 図 3 4, 3 5のホストアダプタ雜テーブル 1 0 6, 1 0 6— 2, 1 0 6— 3の説 TOであり、 ホストアダプタ 5 6— 2, 5 6— 3に対応して、 そ れぞれのオペレーシヨン 1と 2がどこまで進んでいるかをテーブル上に して いる。 図 3 4, 3 5において、 ホストアプリケーション 5 0よりオペレーショ ン 1とオペレーション 2の入出力 ¾ ^か 1¾にあると、 S分散ドライノ、 5 2は ホストアダプタ テーブル 1 0 6を参照して、 オペレーション 1の入出力要求 をデバイスドライバ 5 4— 2に行ない、 醜にオペレーション 2の入出 求を デバイスドライバ 5 4— 3に行ない、 それぞれ入出方 に対応したコマンドを 発行し、 ホストアダプタ 5 6— 2, 5 6— 3よりパス 1 0 2— 1, 1 0 2に分け て各々 5 O MBZ sの^!レー卜で送って合成し、 1 0 O MBZ sの レート のチャネルパス 1 0 2としてデバ、イス制御装置 1 0のチャネルアダプタ 2 0 - 3 に送る。 チャネルアダプタ 2 0— 3は、 オペレーション 1のデータ^ びオペ レーシヨン 2のデータ^!について、 同じデバイス 1 8— 2に対しアクセスを行 なう。 この^にも、 ホスト側で 1つのオペレーションを 2つに分けてホスト アダプタ 56— 2, 56— 3からチャネルアダプタ 20— 3に送ることは、 ファ ィバチャネル ·アビトレーテツドル一プ 98を使用し^合の技術上の,があ ることから、 2つのオペレーションを 分散ドライバ 52によりデバイスドラ ィバ 54— 2, 54— 3に分散し、 ホストアダプタ 56— 2, 56— 3から同じ チャネルアダプタ 20— 3に し、 チャネルアダプタ 20— 3側の高い ¾¾レ ート 10 OMBZsを確保している。
図 37, 38は、 ホスト側のホストアダプタとデバイス制御装置側のチャネル アダプタの空き状態を^ Sし TSf的にチャネルパス 択する本発西の入出力シ ステムのブロック図である。
図 37, 38において、 オープン系ホスト 16 バイ ¾fJ御 ¾S10は、 図 31, 32の実匿態と同様、 ファイバチャネル ·アビトレ一テッドループ 98 により接続されている。 ここでオープン系ホスト 16側のホストアダプタ 56— 1の レートは、 lOOMB/sであり、 ホストアダプタ 56— 2, 56-3 の ¾1レートは、 その半分の 5 OMBZsとなっている。一方、 デバイス制御装 置 10にあっては、 チャネルアダプタ 20— 1, 20— 2の^!レートが 50M BZsであり、 チャネルアダプタ 20— 3, 20—4の ¾ϋレートが 100MB Zsとなっている。 そしてホストアダプタ 56— 1とチャネルアダプタ 20-1 , 20— 2の間については、 図 31, 32の実:^態に従った 2つのオペレーシ ヨン 1, 2をホスト側から,〖¾¾し" バイス制御装置 10側で 2つのチヤ ネルアダプタ 20— 1, 20— 2に分けるチャネル^を行ない、 ホストァダプ タ 56—1の高い ¾ϋレート 10 OMBZsを確保している。 ま^ストァダブ タ 56— 2, 56— 3とチャネルアダプタ 20— 3の間では、 HT34, 35の実 施形態に従ってホスト側で が分散された 2つのオペレーション 1, 2をホス トアダプタ 56-2, 56— 3のそれぞれ して 1つのパスに合成してチヤ ネルアダプタ 20— 3に送っており、 これによつて、 チャネルアダプタ 20— 3 の高い^ έレート 10 OMBZsの動作を確保している。更に、 ホストアダプタ 56— 4とチャネルアダプタ 20—4は、 空き状態にある。
このようなオープン系ホスト 16におけるホストアダプタ 56— 1〜56— 4 とデバイス制御装置 10におけるチャネルアダプタ 20— 1〜20— 4の使用状 態及び空き状態は、 処理分散ドライバ 5 2に設けたパス管理テーブル 1 0 8で管 理されている。
図 3 9は、 図 3了, 3 8のパス管理テーブル 1 0 8の説■である。 パス テーブル 1 0 8には、 デバイスドライバ管理テーブル 1 1 0とチャネルアダプタ TOテーブル 1 1 2カ けられている。 デバイスドライバ テーブル 1 1 0に は、 デバイスドライバ 5 4— 1〜5 4— 4ごとに纏状況がセッ卜されており、 図 3 7, 3 8におい バイスドライバ 5 4—1〜5 4— 3はオペレーションの 入出力要求によるデータ ¾¾ あることから、 用中」がセッ卜され、 デバ イスドライバ 5 4— 4には「空き」 がセットされている。 同様にチャネルァダプ タ管理テーブル 1 1 2についても、 チャネルアダプタ 2 0—1〜2 0— 3の使用 状況としては 「使用中」 がセットされ、 チャネルアダプタ 2 0— 4には「空き」 がセッ 卜されている。 このため^ S分散ドライバ 52は、 ホストアプリケーショ ン 5 0から新たな入出方^^受けた際には、 HF3 9のパス テ一プル 1 0 8 を参照し、 デバイスドライバ テーブル 1 1 0からデバイスドライバ 5 4— 4 力く空きであり、 またチャネルアダプタ テーブル 1 1 2からチヤネゾレアダプタ 2 0— 4力 きであることを し、
Figure imgf000051_0001
トアダプタ 5 6— 4とチヤネルアダプタ 2 0— 4の組合わせを見つけ出し、 見つけ出したホストア ダプタ 5 6— 4とチャネルアダプタ 2 0— 4を使用して、 例えばデバイス 1 8— 2に対しアクセスできるようにデバイスドライバ 5 4— 4からコマンドを発 ίϊ^Τ る。 このように処理分散ドライバ 5 2で寸スト Μ¾びデバイス側のパス^き状 態を することにより、 柔軟にデバイス制!^置 1 0とのパスを選択すること ができ、 リソースの効率^ を可能にして、 入出力 ¾ ^も向上する事ができ る。
図 4 0, 4 1は、 図 3 7, 3 8のデバイス制御装画 空き状態に加え、 キ ユー数を し Τ®的にパスを選択するようにした本発朋の入出力システムのブ ロック図である。
図 4 0, 4 1において、 オープン系ホスト 1 6側の構成は、 3 7, 3 8の実 態と同じであるが、 デバイス制御装置 1 0側にあっては、 チャネルアダプタ 2 0—1〜2 0— 4のそれぞれにキューテ一ブル 2 8— 1〜2 8— 4を設けてお り、 更にリソース T、一ジャ 2 2に本来のキューテーブル 3 2を設けている。 こ のキューテーブルをチャネルアダプタ 2 0— 1〜2 0— 4と、 リソースマネージ ャ 2 2に分 tffi する構成は、 図 1, 2の ¾| ^態と同じである。 このようにチ ャネルアダプタ 2 0— 1〜2 0— 4側に分散してキューテーブル 2 8— 1〜2 8 一 4を設けた場合、. S分散ドライバ 5 2のパス管理テ一プル 1 0 8にチャネル アダプタ 2 0 _ 1〜2 0— 4のキューテーブル 2 8—1〜2 8— 4におけるキュ 一数をセットする。
図 4 2は、 図 4 0, 4 1の処理分散ドライバ 5 2に設けたパス管理テーブル 1 0 8の説 である。 このパス テ一プル 1 0 8にあっては、 デバイスドライ バ管理テーブル 1 1 0については図 3 9のテーブルと同じであるが、 チャネルァ ダプタ管理テーブル 1 1 4については使用状況に加え、 それぞれのキューテ一ブ ル 2 8— 1〜2 8— 4に^^している未 のコマンドの!^あるキュー数をセ ットしている。
このようにチャネルアダプタ管理テ一プル 1 1 4にキュ一テーブルのキュー数 をセッ卜しておくことで、 分散ドライバ 52力f こな入出力要求を受けた際 に、 図 4 2のように、 チャネルアダプタ管理テーブル 1 1 4のセット内容からチ ャネルアダプタ 2 0— 1〜2 0— 4のすべてが使用状,にある場合、空きの^^ だけではチャネルアダプタ ¾g ^できない。 この i ^にはキュー数を参照するこ とで、最もキュ" ^の少ないチャネルアダプタ 2 0— 4 ¾¾択し、 空き状態にあ るデバイスドライバ 5 4— 4との組合わせを見つけ出し、 このデバイスドライノく 5 4— 4とチャネルアダプタ 2 0— 4の糸且合わせを使用して、 デバイスドライバ 5 4— 4に対し、 アクセスできるように入出力要^行なってュマンドを発行さ せる。
このように ドライバ 5 2はデノくィス制 1 0側のチヤネルァダブ 夕 2 0—1〜2 0— 4のすべてが使用 あっても、 その内の 1 ユー数の少 ないリソースに対してコマンドを実 るように ることで、 リソースの効 率的な活用ができ、 入出力雌の をはかることができる。
尚、 本発明は上記の実施形態に限定されず、 その目的と利点を損なわない ϋ [ の変形を含む。 また本発明は、 ±15の Hi©^態に示した数値による限定は受けな い。
産業上の利用の可 «
本発明は、 チャネルアダプタでもキューイングできるようにしたことで、複数 のホストから^:]^に入出力 ^を受けても、 ホストからの入出力^^はチヤ ネルアダプタで一旦格納され、 その中のいくつかがリソース^、ージャに送られ るため、 リソースマネージャのキュー制 扱う入出 ¾を低 Μ ·き、 リソース マネジャで斤うキュー制御のオーバへッドがデバイス制御装 gm?のボトルネッ トクとなってしまうことを防ぎ、 !¾5¾1¾を高める。
また本発明は、 ホストのシーケンシャ 入出力 ¾*が複数パスへの分 twsに よりバラバラになっても、 デバイス制 でシーケンシャルな入出力要^ あることを!^して対応ができる。
また本発明は、 オープン系ホストからデバイス制御装置へのパスを 7 ^化した 場合、 パスに入出力 を発行している通常時 i; ¾>つても、 待 m¾パスに コマンドが発行され ^パス力 ¾E常に動 "るかどうかを觀でき、万一、 待;^パスに が ¾ ^しても、 この!^か ¾Μできるので ϋ¾等の適切な対応 がとら ra^が^し ^に か 行した際の待»の動 ^^nEす ることができる。
また本発明は、 ホストぉのパス J ドライバにより J!TOパスの障害で待機系 パスに移行した際に既にホストアプリケーションが ^パスにより ^の物理 デバイスをリザーブしていても、 以^ feの待 パスからのリザープ^^コマン ドにより既存の パスによる物理デバイスのリザーブ を■でき、 以降 後の待^^パスにより改め ^物理デバイスのリザ一ブ状態を^^できる 。 ホスト内に ドライバを設けた場 も同様である。
また本発明は、 ホスト のデバイスドライバの 1パスか!^を起こし た場合、待縣のデバイスドライバのパスを^ することで、故随と同じパス 数を確保して同等のロードバランスを Ι»Τる。
更に本発明は、 ホストとデバイス制御装 のチャネル^!レート ί 違があ つても高い方の^!レートを難できる。

Claims

請 求 の 範 囲
1. 複数のホスト力く接続され、 ホストからデバイスに文 る入出力要求を処理す るデバイス制御装置に於 t、て、
前記ホストからの入出力要求を受付ける複数のチャネルアダプタと、 前記デバイスに入出方^ ^を る複数のデバイスアダプタと、
前記複数のチヤネルアダプタと複数のデバイス了ダフタの間でホストからの入 出力要求を isするリソ一スマネ一ジャと、
前記複数のチャネルアダプタの各々 (^けられ、 ホストからの入出力^^複 る第 1キューテーブルと、
前記複数のチャネルアダプタの各々 ίこ設けられ、 前記第 1キューテーブルに格 納したホストからの入出力 リソース^一ジャに発行する第 1キュー 制 »と、
リソースマネージャに設けられ、 複数のチャネルダブ夕力発行し ストからの入出 求を格 る第 2キューテーブルと、
前記リソースマネージャに設けられ、前 ΙΞΒ2 ューテーブルに■したホス トからの入出方要^^ Sデバイスアダプタに発 る第 2キュー制 と、 を備えたことを特徵とするデバイス制 «Μ。 2. 請求の^ ffi lのデバイス制御装置 (:^いて、 前記各チャネルア^タの第 1 キュー制御部は、 ΙΞ Ιキューテーブル ic^ ftし ス卜からの入出力要求の 中から、 1 Xは複数個単位に入出 取り出し Τΐ記リソース^ージャ に処理を依頼することを特徴とするデバィス制御 3. 請求の ^ffi lのデバイス制 置【:^いて、 ΜΙΞ各チャネルア^^タの第 1 キュー制 ¾Ι¾ϋは、 Ξリソース^ージャから に発行した入出 の終了 IS^を受けた際に、 キューテ一プルに格納したホストからの入出力要求 を取り出し 記リソースマネージャに Mを依 ir ることを特徵とするデバイ ス制御装置。
4. 請求の範囲 1のデバイス制御装置に於いて、 前記各チャネルアダプタの第 1 キュー制 «5は、一 間毎に前記ソ一ス^—ジャに入出力要求力 け付けら れるか否かを問い合わせ、 受付け可能 を得 xmiキューテーブルに格納した ホストからの入出力要求を取り出して Bリソースマネージャに Sを依頼する ことを特徴とするデバィス制 置。
5. 請求の のデバイス制御装置に於いて、 ΙΐίΙΕリソースマネージャに設け た第 2キュー制 «Iは、 キューテ一ブルに ^ fr きるホス卜の入出力の 数に »を設け、 ΞΦΙΜ未 前記チャネルアダプタからの入出力^^を受 け付け ΤΐίίΙΞΒ2キューテ一ブルに欄し、 ΞΦί隱 2 ±の前記チャネルァダ プ夕からの入出方^^は受け付けを ¾5し、 m ^ャネルァグプタ内の第 1キュ 一テーブル〖 ¾納させることを特徴とするデバィス制御装置。
6. 請求の觀 1のデバイス制御装置 i ¾いて、前記リソ一ス^ージャに設け た第 2キュー制御部は、 第 2キューテーブルのビジィ率を計算し、 ビジィ率が くなつ /d 合はキューィンク^ T能な入出 の «mを増加させ、 ビジィ率が 低くなつナ d 合はキューィンク^ r能な入出方 を減少させることを特 徴とするデバイス制御装置。 τ. 請求の範囲 1のデバイス制御 ¾sに於いて、 iieチャネルアダプタの第 1キ ユー制 と ΙΞリソース^一ジャの第 2キュー制御は、前記チャネルァダプ 夕の第 1キューテーブルと前記リソースマネージャの第 2キューテーブルを、 前 記物理デバィス単位に分けて制御することを特徵とするデバイス制御装置。
8. 複数のホストとデバイスの間を接^るデバイス制御装置に、 ホストからの 入出力^^を受付ける複数のチャネルアダプタと、前記デノくィスに入出力要求を 発行する複数のデバイスアダプタと、 S複数のチャネルアダプタと複数のデバ イスァダフ夕の間でホス卜からの全体 な入出力制御を行うリソースマネージャ とを設け、 前記複数のホス卜からデバイスに^ る入出力要求を sするデバイ ス制御方法に於いて、
前記複数のチャネルアダプタで受け付けたホス卜からの入出力要求を、 各チヤ ネルアダプタに設け 第 1キューテーブルに格納し、 前記第 1キューテーブルに 格納しているホストからの入出力 を iifBリソースマネ一ジャに発 ίϊΐ"る第 1 キュー制御過程と、
前記チャネルダプ夕が発行し ストからの入出^^ ^ίίΙΞリソース^一 ジャの第 2キューテーブル ¾納し、前 15^2キューテーブル【 納し スト からの入出方^^を デバイスアダプタに発 fr "る第 2キュー制御 iigと、 を備えたことを特徴とするデバイス制 m ^法。
9. ホストに設けたアプリケーションの入出力^ ¾が、 ホスト内の S"分散ドラ ィバによって負荷バランスをとるため ί¾¾のデバイスドライバ【切り分けられ
、 各デバイスドライバが割り当てられた入出力^ ¾発 作する デバイス制卸 ¾Sに於いて、
fiilSホストから受領した入出力^の 1^を^ ~るシ一ケンシャル検出用テ —プルと、
新たな入出: ¾^を受けた際に、 シ一ケンシャル検出用テ一ブル に登 録している入出方^^の體からシーゲンシャル入出力^ あつ ^合の次の ァドレスを予測し、新たな入出 のァドレス cLth較してシーケンシャルの有 無を識するシーケンシャル検出部と、
を設けたことを特徴とするデバイス制御装置。
1 0. 請求の■ 9のデバイス制御装置に於いて、前記シーケンシャル検出部は 、 入出力要求がシ一ゲンシャルであつ ^合の次の予測ァドレスとして、 MISシ 一ゲンシャノレ検出用テーブルに既に^している入出力^^のァドレスにデータ 長を加算した予測ァドレスを求め、 S^測アドレスが新たな入出方要求のァド レスと同一と判断され ?y 合、 シーケンシャル入出方^^と することを特徴 とするデバイス制御装置。
1 1. 請求の■ 9のデバイス制御装置に於いて、前記シーケンシャル検出部は 、 前記シーケンシャル入出力要求の次の予測アドレスとして、 ホストとの間のチ ャネルバスの数を n假とした場合、 前記シーケンシャル検出用テーブルに既に登 録している入出 のアドレスに、 そのデータ長に 1から前記チャネルパ^ ηまでの値を »¾け合わせ Τ¾Π算した値の予測ァドレスを複 め、 い か の予測ァドレスが ff^な入出力^のァドレスと同一と 浙され 合、 シーケ ンシャル入出力 と することを :とするデバイス制御装置。 1 2. 請求の範囲 9のデバイス制御装置に於いて、
前記各チャネルアダプタは、 前記ホストの で、 複数のシーケンシャル入 出力要求を斤うホストアプリケーションか 1¾に し T¾作している場合、 各 チャネルアダプタのシーケンシャル検出用テープルを前記複数のシーケンシャル 入出力要求に対応し„ け、
ΙΞシ一ゲンシャル検出部は、 mte複数のシ一ケンシャル検出用テーブルを順 照してシ一ケンシャル多 S¾作を検出することを特徴とするデバィス制^
1 3. 請求の OT1 2のデバイス制御装置に於いて、前記シーケンシャル検出部 は、 複数のシーケンシャル検出用テーブルのいずれかの参照で新たな入出方^ のシーケンシャル¾^した場合、 該シ一ゲンシャル検出用テーブルに新たな入 出力要求のァドレスとデータ長を格frTることを とするデバイス制御 ¾§。
1 4. 請求の ,9のデバイス制御^ 〖:ι5Η、て、 IBホストの各デバイスドラ ィバが発行した入出 ¾^を受 t る^^のチャネルアダプタの各々に、前記シ 一ゲンシャル検出用テーブルとシ一ケンシャル検出部を設けたことを特徵とする デバイス制御装置。
1 5. 請求の^ のデバイス制御装置に於いて、 ホストの各デバイスドラ ィ, が発行した入出力要求を受領する複数のチャネルアダプタの各々に、前記シ ーケンシャノレ検出部を設け、 前記複数のチャネルアダプタから参照できる共 域に、 ΙΞホス卜からの入出力要求のアドレス t ^一夕の組^ H¾して格納した シーケンシャル検出用共通テーブルを設け、 各チャネルアダプタのシーケンシャ ノレ検出部 記シ一ケンシャル検出 通テーブルを参照し T fたな入出 のシ一ゲンシャルの^を することを :とするデバィス制御装置。
1 6. 請求の画 9のデバイス制御装置に於いて、 ifBシーケンシャル検出部は 、 入出力要求がシ一ゲンシャルであつ の次の予測ァドレスとして、前記シ 一ゲンシャル検出用テーブルに既に登録している入出力^^のァドレスにデータ 長を加算した予測ァドレスを求め、 前 !E?MTドレス力新たな入出力要求のァド レスと ί~と判断されなくとも近似値であれば、 シーケンシャル入出 と認 識することを特徵とするデバイス制御装置。
1 7. ホストにデバイス制御装置を介し T ®デバイスを接続し、 5ホスト内 のホストアプリケーションの入出力^^ パス體ドライバによって通常は運 縣パスのデバイスドライノ に発行し、 tiiia^ ^パスに隨が ¾ ^し^合は
、前記パス ドライバにより IWOT^パスの使用を停止し ^パスのデ バイスドライバに入出方魏の発行を移行させる入出力システムに於いて、 前記ホスト内に、 ΜΙΞ待縣パス力 ¾Ε ^に動作するかどうかを磁するため、 待 パスのデバイスドライバの ¾fにパス^コマンドを発 iffる侍 パス ϊ¾ 部を設けたことを特徴とする入出力システム。
1 8. 請求の醒 1 7の入出力システムに於いて、 iffS待縣パス ϊΙΜ部は、前 記パス misコマンドとして、一定の時 で、 ^^パスのリ一ド^のデ— タ^ iとライト: TOのデータ^ ¾を含むパス を全て確認するコマンドを発行 することを特徵とする入出力システム。
1 9. 請求の画 1 7の入出力システムに於いて、 ΜΙΞ^縣パス 部は、前 記パス ¾ コマンドとして、 前記デバイス制御装置の制御情報の状態を確保する コマンドを発行することを特徴とする入出力システム。
2 0. ft^の誦 1 9の入出力システムに於いて、前 IE待縣パス は、前 記デバイス制御装置の制 ¾PW¾の状態を確保するコマンドとして、 状 知コマ ンドを発行し T 5デバイス制御 ¾Sから T^«¾Jュマンドを応答させることを 特徴とする入出力システム。
2 1. 請求の画 7の入出力システムに於いて、前記待縣パス觀部は、 前記 パス ¾ コマンドとして、 前 ISTO^パスに発 る通常コマンドの "^を前記 待 ^^ スに発行することを特徴とする入出力システム。
2 2. 請求の の入出力システムに於いて、 MIB^ ^パス 部は、 一定 時^ MP!で M¾パ; *込んだデータが待^^パ;^5読めるか、 もしくは待機 系、。ス ¾込んだデータが ^Wsbるかどうかをチエツするクロスチェ ックコマンドを発行してシステム^ ftを iS することを特徵とする入出力シス テム。
2 3. ホストにデバイス制御装置を介し バイ ¾接続し、前記ホスト のホ ストアプリケーションの入出 を、 パス 潜ドライバによって通常は パスのデバイスドライバに発行し、 前 13 ^パスに轄が し 合は、 前 記パス ドライバにより パスの^ を停止し T^«¾パスのデバイ スドライバに入出 の発行を移行させる入出力システム ¾H、て、
前記ホスト内に設けられ、 ifS待,パスに入出力要求の発行を移行さ 際 に、 Bホストアプリケーションか に前 IS^m パスよりデバイスをリザーブ していた場合は、 ift己リザーブを^^るコマンドを mi2待縣パスに発 る リザーブ制 と
前記デバィス制御装置に設けられ、前記待 パスからリザ一ブを するコ マンドを受領した際に、 既に前 ISOT^パスより確保されている前論理デバィ スのリザーブ状態を■するリサーブ ;M部と、
を設けたことを特徴とする入出力システム。
2 4. ホストにデバイス制御装置を介して物理デバイスを接続し、 ホストアプリ ケ一シヨン入出^^を^ S分散ドライバによってロードバランスをとるように 複数パスに分散し、 特定のパスに隨が胜し^合は、 前讓理分散ドライノ により パスの使用を停止し他パスに入出力^^散し、更に、上位ホスト アプリケーションからリザーブコマンドが前 IB ®分散ドライバに発行され^ 合に、 前 分散ドライバの分散讓を停止し 定の他パスのデバイスドラ ィバにリザーブコマンドを発行し、 その後に ±ίίホストアプリケーションよりリ ザ一ブ騰コマンドを発行し^合に、 前 S S分散ドライバの分散擁を欄 させる入出力システムに於いて、
ホスト内に設けられ、 前記パスの使用を^^より停止した際に、 前記ホ ストアプリケーションか に ΐΞΙ^害パスにより mtffMデバイスをリザーブし ていた場合は、 ΙΞリザーブを^ Tるコマンドを他パスより発 るリザーブ 制 と、
デバイス制御装置に設けら ti Ιΐί¾パスからリザーブを■するコマン ドを受領した際に、 既に Ιΐί Ι^パスより確保されている 物理デバィスのリ ザーブ状態を皿するリザーブ S部と、
を設けたことを特徴とする入出力システム。
2 5. ホストにデバイス制御装置を介し バイ ¾接続し、前記ホスト にホ ストアプリケーションの入出力要求を、 ドライバにより■パスの 系のデバイスドライバに分散してロードバランスを^する入出力システムに於 いて、
前記ホストは、 fSra分散ドライバに待 amのデバイスドライバを接続し、 運用系のデバイスドライバの 1パスで!^か した際に、 1?15待^¾のデバイ スドライバを使用して ^前と!^の複数パスのデバイスドライバによる口 ードバランスを^し、 前記デバィス制御装置は、 S¾系の複数パスのチャネルアダプタと待機系の 1 パスのチャネルアダプタの各々に特定"のデバイスと関連付けた I Dを設定し、前 記チャネルアダプタは ホス卜から設定 I Dと同じ I Dをもつ入出力要求に応 答して I DtT 連付けた物理デバイスにアクセスすることを特徵とする入出力シ ステム。
2 6. 少くとも 2 のホストにデバイス制御^ S¾介して物理デバイスを接続 し、 前記各ホスト内に設け^ストアプリケーションの入出^^を、 S分散 ドライバによりロードバランスを難するように複数パスの のデパイスド ライバに 5 ¾してロードバランスを ¾Sする入出力システムに於いて、
前記各ホストは、 前 分散ドライバに待縣のデバイスドライバを接続し 、 のデバイスドライバの 1パ ^か ¾ ^した際に、 E^a^のデバ イスドライバを し T1^¾¾¾前と同等の パスのデバイスドライバによる ロードバランスを!^し、
前記デバイス制御装置は、 前記ホストの^ ¾毎 i^TO^の複数パスのチヤネ ルアダプタを設けると共に、 記各ホストの^^ 2パスを共 待機チャネルの 1 パスで受付ける待^ ¾のチャネルアダプ^^設け、 ^^のチャネルア^ 夕に 統毎に特定の物理デバィスと 1¾付けた Γ Όを設定し、前 1¾«¾のチ ャネルアダプタには 統の物理デバイスに∞付けた 2つの I Dを設定し、前 記チャネルアダプタは 2ホストカ、ら設定 I Dと同じ I Dをもつ入出力^ ^に応 答して I 連津けた物理デバイスにアクセスすることを特徴とする入出力シ ステム。
2 7. ホスト側の 1つのホストアダプタ バイス制御装置の複数のチャネルァ ダプタをファイバチャネル ¾続した^ "Tea作する入出力システムに於いて 前記チャネルアダプタの ¾ レ一ト力 Sホストアダプタのおレ一トを る時に、 ホスト側の複数のオペ一レーヨンによる入出力^^を処理^ mドライバ によつ τ¾数のチャネルアダプタに分散させることを特徵とする入出力システム
2 8. ホスト側の複数のホストアダプタとデバイス制御装置の 1つのチャネルァ グプタをファイバチヤネルで接続する^ Τ 3&作する入出力システムに於いて 前記ホストアダプタの レートカ^ ίΙΞチャネルアダプタの レートを る時に、 ホスト側の複数のオペレーションによる入出方要求を処理分散ドライバ によって複数のホストアダプタに分 せ、 IH複数のホストアダプタより 1つ のチャネルアダプタにアクセスすることを特徴とする入出力システム。
2 9. ホスト側の複数のホストアダプタとデバイス制御装置の 1つのチャネルァ ダプタをファイバチャネルで接続する環境下で動作する入出力システムに於いて 現在どのホストアダプタとチャネルアダプタ力'使用 あるかを するテー プルを持ち、
前 ΙΞ3 ¾ ®ドラ Χはデバイスドライ Ίま、 コマンド処理中は前記テープ ルのリソースに対して使用中をセットし、 IT ^ンド を終了した場合は空きを セッ卜し、
ΐίΙΞ 理分散ドライバは、前記テーブルから空きであるホストアダプタとチヤ ネルアダプタの組み合わせを; ^し^ Μすることにより、 物理デバイスに対しァ クセスするコマンドを発 frTること特徴とする入出力システム。
3 0. ホスト側の複数のホストアダプタとデバイス制御装置の 1つのチャネルァ グプタをファイバチャネル る焉^ r 3&作する入出力システムに於いて 、 現在どのホストアダプタとチャネルアダプタ力使 であるかを管理するテ 一ブルを持ち、
前 ΙΒ5散処理ドラ '又はデバイスドラ Ίま、 コマンド処理中は前記テープ ルのリソースに対して使用中及び各リソース毎に設けたキューテーブルのキュー 数をセットし、 コマンド讀を終了した場合は空き又は 1つ減らしたキュー数を セッ卜し、
処理分散ドライバは、 前記テーブルから空きであるホストアダプタとチャネル アダプタの組み台わせを酵し使用することにより物理デバイスに対しアクセス するコマンドを発行し、 前記テーブルに空きがない it^は、一番キュー数の少な いホストアダプタとチャネルアダプタの組み合わせを^^し使用することにより 、 物理デバイスに対しアクセスするコマンドを発 i "ることを特徵とする入出力 システム。
PCT/JP1999/003366 1999-06-24 1999-06-24 Controleur de peripherique et systeme d'entree/sortie WO2001001262A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP1999/003366 WO2001001262A1 (fr) 1999-06-24 1999-06-24 Controleur de peripherique et systeme d'entree/sortie
US09/930,158 US6792482B2 (en) 1999-06-24 2001-08-16 Device controller and input/output system
US10/914,335 US7409472B2 (en) 1999-06-24 2004-08-10 Device controller and input/output system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/003366 WO2001001262A1 (fr) 1999-06-24 1999-06-24 Controleur de peripherique et systeme d'entree/sortie

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/930,158 Continuation US6792482B2 (en) 1999-06-24 2001-08-16 Device controller and input/output system

Publications (1)

Publication Number Publication Date
WO2001001262A1 true WO2001001262A1 (fr) 2001-01-04

Family

ID=14236046

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/003366 WO2001001262A1 (fr) 1999-06-24 1999-06-24 Controleur de peripherique et systeme d'entree/sortie

Country Status (2)

Country Link
US (2) US6792482B2 (ja)
WO (1) WO2001001262A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131815A (ja) * 2001-10-22 2003-05-09 Fujitsu Media Device Kk シリアルインタフェースのデータ転送システム
JP2004318357A (ja) * 2003-04-15 2004-11-11 Hitachi Ltd チャネルアダプタ
JP2005190479A (ja) * 2003-12-25 2005-07-14 Chi Yucho エラー終了とロード・バランス機能を有するディスク・アレイ・システム
JP2006504186A (ja) * 2002-10-21 2006-02-02 エミュレックス・デザイン・アンド・マニュファクチュアリング・コーポレーション 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム
JP2006244016A (ja) * 2005-03-02 2006-09-14 Nec Corp コンピュータシステム及びアクセスパスの管理方法
JP2007172172A (ja) * 2005-12-20 2007-07-05 Fujitsu Ltd ファイバーチャネルスイッチおよびそれを用いたコンピュータシステム
JP2009075753A (ja) * 2007-09-19 2009-04-09 Fujitsu Ltd データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2009258978A (ja) * 2008-04-16 2009-11-05 Hitachi Ltd 計算機システム及び通信経路の監視方法
US9921924B2 (en) 2013-07-16 2018-03-20 Fujitsu Limited Information processing device, port control method, and computer-readable recording medium
JP2018511112A (ja) * 2015-03-27 2018-04-19 インテル・コーポレーション シーケンシャル書き込みストリーム管理
JP2020135155A (ja) * 2019-02-14 2020-08-31 株式会社日立製作所 分散ストレージシステム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3683211B2 (ja) * 2001-12-10 2005-08-17 エヌイーシーコンピュータテクノ株式会社 ノード間データ転送方法及びノード間データ転送装置
US7421710B2 (en) * 2003-10-08 2008-09-02 Lsi Corporation System and method of creating virtual data paths using a multiple-path driver
US7870565B2 (en) * 2005-06-30 2011-01-11 Intel Corporation Systems and methods for secure host resource management
US8839450B2 (en) 2007-08-02 2014-09-16 Intel Corporation Secure vault service for software components within an execution environment
US7953980B2 (en) 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
US7853825B2 (en) * 2005-08-16 2010-12-14 Hewlett-Packard Development Company, L.P. Methods and apparatus for recovering from fatal errors in a system
JP2007108950A (ja) * 2005-10-12 2007-04-26 Nec Corp I/o処理装置及び方法
US7802050B2 (en) * 2006-09-29 2010-09-21 Intel Corporation Monitoring a target agent execution pattern on a VT-enabled system
US7882318B2 (en) * 2006-09-29 2011-02-01 Intel Corporation Tamper protection of software agents operating in a vitual technology environment methods and apparatuses
US8099718B2 (en) * 2007-11-13 2012-01-17 Intel Corporation Method and system for whitelisting software components
US9110597B2 (en) * 2007-12-10 2015-08-18 Hewlett-Packard Development Company, L.P. Data processing method and system
US7770054B2 (en) * 2008-01-03 2010-08-03 International Business Machines Corporation Apparatus, system, and method to prevent queue stalling
US20100036981A1 (en) * 2008-08-08 2010-02-11 Raghavendra Ganesh Finding Hot Call Paths
US8364601B2 (en) * 2008-12-31 2013-01-29 Intel Corporation Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain
JP5535128B2 (ja) * 2010-12-16 2014-07-02 株式会社東芝 メモリシステム
US8787212B2 (en) * 2010-12-28 2014-07-22 Motorola Solutions, Inc. Methods for reducing set-up signaling in a long term evolution system
JP6361390B2 (ja) * 2014-09-10 2018-07-25 富士通株式会社 ストレージ制御装置および制御プログラム
WO2016068903A1 (en) * 2014-10-29 2016-05-06 Hewlett Packard Enterprise Development Lp Trans-fabric instruction set for a communication fabric
JP6462116B2 (ja) * 2015-04-30 2019-01-30 株式会社日立製作所 管理装置および管理方法
DE112015007104T5 (de) * 2015-12-10 2018-08-02 Mitsubishi Electric Corporation Datenverarbeitungsvorrichtung, Datenverarbeitungsverfahren und Datenverarbeitungsprogramm
US10496285B1 (en) * 2018-01-18 2019-12-03 EMC IP Holding Company LLC Techniques for increased I/O performance
US20190303037A1 (en) * 2018-03-30 2019-10-03 Ca, Inc. Using sequential read intention to increase data buffer reuse
CN113407466B (zh) * 2021-08-18 2021-11-09 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5178956A (en) * 1974-12-30 1976-07-09 Fujitsu Ltd Kyoyofuairuno kyoseirizaabu reriizuhoshiki
JPS595359A (ja) * 1982-07-01 1984-01-12 Fujitsu Ltd 入出力命令のキユ−イング方法
JPS60183660A (ja) * 1984-03-02 1985-09-19 Hitachi Ltd 入出力処理装置
JPH03233744A (ja) * 1990-02-09 1991-10-17 Fujitsu Ltd 予備系ルート試験方式
JPH0520250A (ja) * 1991-07-17 1993-01-29 Shikoku Nippon Denki Software Kk データ処理装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2645433B2 (ja) 1986-04-30 1997-08-25 富士通株式会社 計算機システム
US5253351A (en) * 1988-08-11 1993-10-12 Hitachi, Ltd. Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values
JPH0283757A (ja) 1988-09-21 1990-03-23 Hitachi Ltd 通信制御システム
US5341493A (en) * 1990-09-21 1994-08-23 Emc Corporation Disk storage system with write preservation during power failure
US5231485A (en) * 1991-11-19 1993-07-27 Scientific-Atlanta, Inc. Method and apparatus for transforming between fixed-rate vector quantized data and variable rate vector quantized data
US5640596A (en) * 1992-03-10 1997-06-17 Hitachi, Ltd. Input output control system for transferring control programs collectively as one transfer unit designated by plurality of input output requests to be executed
JPH0697940A (ja) 1992-05-21 1994-04-08 Nec Corp Lan接続処理装置
JPH064453A (ja) 1992-06-17 1994-01-14 Fujitsu Ltd 計算機サブシステム
IT1259599B (it) 1992-07-01 1996-03-20 Firestone Int Dev Spa Metodo per la realizzazione di pneumatici di veicoli stradali.
JP2972501B2 (ja) * 1993-09-20 1999-11-08 富士通株式会社 I/oサブシステム及びi/oサブシステムにおける排他制御方法
JPH07147599A (ja) 1993-11-24 1995-06-06 Fuji Facom Corp データ伝送装置
EP0737335A1 (en) * 1993-12-30 1996-10-16 International Business Machines Corporation Queue management in a data processing link
US5761531A (en) * 1995-06-30 1998-06-02 Fujitsu Limited Input/output control apparatus and method for transfering track data from cache module to channel unit during the staging of the data track from device adapter
US6453356B1 (en) * 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US6425023B1 (en) * 1999-03-24 2002-07-23 International Business Machines Corporation Method and system for gathering and buffering sequential data for a transaction comprising multiple data access requests

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5178956A (en) * 1974-12-30 1976-07-09 Fujitsu Ltd Kyoyofuairuno kyoseirizaabu reriizuhoshiki
JPS595359A (ja) * 1982-07-01 1984-01-12 Fujitsu Ltd 入出力命令のキユ−イング方法
JPS60183660A (ja) * 1984-03-02 1985-09-19 Hitachi Ltd 入出力処理装置
JPH03233744A (ja) * 1990-02-09 1991-10-17 Fujitsu Ltd 予備系ルート試験方式
JPH0520250A (ja) * 1991-07-17 1993-01-29 Shikoku Nippon Denki Software Kk データ処理装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131815A (ja) * 2001-10-22 2003-05-09 Fujitsu Media Device Kk シリアルインタフェースのデータ転送システム
JP2006504186A (ja) * 2002-10-21 2006-02-02 エミュレックス・デザイン・アンド・マニュファクチュアリング・コーポレーション 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム
JP2004318357A (ja) * 2003-04-15 2004-11-11 Hitachi Ltd チャネルアダプタ
JP2005190479A (ja) * 2003-12-25 2005-07-14 Chi Yucho エラー終了とロード・バランス機能を有するディスク・アレイ・システム
JP2006244016A (ja) * 2005-03-02 2006-09-14 Nec Corp コンピュータシステム及びアクセスパスの管理方法
JP2007172172A (ja) * 2005-12-20 2007-07-05 Fujitsu Ltd ファイバーチャネルスイッチおよびそれを用いたコンピュータシステム
JP4511455B2 (ja) * 2005-12-20 2010-07-28 富士通株式会社 ファイバーチャネルスイッチおよびそれを用いたコンピュータシステム
JP2009075753A (ja) * 2007-09-19 2009-04-09 Fujitsu Ltd データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2009258978A (ja) * 2008-04-16 2009-11-05 Hitachi Ltd 計算機システム及び通信経路の監視方法
US9921924B2 (en) 2013-07-16 2018-03-20 Fujitsu Limited Information processing device, port control method, and computer-readable recording medium
JP2018511112A (ja) * 2015-03-27 2018-04-19 インテル・コーポレーション シーケンシャル書き込みストリーム管理
JP2020135155A (ja) * 2019-02-14 2020-08-31 株式会社日立製作所 分散ストレージシステム

Also Published As

Publication number Publication date
US20050021878A1 (en) 2005-01-27
US20020040411A1 (en) 2002-04-04
US6792482B2 (en) 2004-09-14
US7409472B2 (en) 2008-08-05

Similar Documents

Publication Publication Date Title
WO2001001262A1 (fr) Controleur de peripherique et systeme d&#39;entree/sortie
JP3726484B2 (ja) 記憶サブシステム
US20080059602A1 (en) Load balancing method for data I/O paths between groups in which multi-path management is employed
US7260663B2 (en) System and method for presenting interrupts
CN106133676B (zh) 存储系统
US8051262B2 (en) Storage system storing golden image of a server or a physical/virtual machine execution environment
JP4818395B2 (ja) ストレージ装置及びデータコピー方法
US20040103254A1 (en) Storage apparatus system and data reproduction method
EP1351125A2 (en) Computer system having plural storage systems
US6260109B1 (en) Method and apparatus for providing logical devices spanning several physical volumes
JP4672282B2 (ja) 情報処理装置、及び情報処理装置の制御方法
JP2003208267A (ja) クラスタ型ディスク制御装置および負荷分散方法
GB2535558A (en) Computer system and data control method
JPH09251437A (ja) 計算機装置及び連続データサーバ装置
US7343451B2 (en) Disk array device and remote copying control method for disk array device
US7380004B2 (en) Storage system, computer system, and method of configuring storage system
US7543121B2 (en) Computer system allowing any computer to copy any storage area within a storage system
US20090248916A1 (en) Storage system and control method of storage system
US9727259B2 (en) Dispatching of service requests in redundant storage virtualization subsystems
US20180052715A1 (en) Computer system including server storage system
US9047122B2 (en) Integrating server and storage via integrated tenant in vertically integrated computer system
US11144242B2 (en) Distributed storage system
JP2005301880A (ja) 計算機システムにおけるデータ入出力処理方法、ストレージ装置、ホスト計算機、および計算機システム、
JP2005258983A (ja) 複数のクラスタシステムを有するコンピュータシステム、および、コンピュータシステムの制御方法
US11880589B2 (en) Storage system and control method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 507205

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 09930158

Country of ref document: US