JPH07210320A - ファイル装置用多重化インタフェース及びその制御方法 - Google Patents

ファイル装置用多重化インタフェース及びその制御方法

Info

Publication number
JPH07210320A
JPH07210320A JP736394A JP736394A JPH07210320A JP H07210320 A JPH07210320 A JP H07210320A JP 736394 A JP736394 A JP 736394A JP 736394 A JP736394 A JP 736394A JP H07210320 A JPH07210320 A JP H07210320A
Authority
JP
Japan
Prior art keywords
bus
controller
identification code
data
input
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.)
Granted
Application number
JP736394A
Other languages
English (en)
Other versions
JP3080827B2 (ja
Inventor
Kinichi Sugimoto
欽一 杉本
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP06007363A priority Critical patent/JP3080827B2/ja
Publication of JPH07210320A publication Critical patent/JPH07210320A/ja
Application granted granted Critical
Publication of JP3080827B2 publication Critical patent/JP3080827B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ディスク装置のインタフェースを多重化する
ことにより、レスポンスの良いファイル装置を実現する
ことを目的とする。 【構成】 複数のディスク装置4を接続するためのI/
Oバス5と、前記I/Oバス5上で同時に複数実行する
入出力処理の識別コードを割り付ける識別コード発生機
構と、前記識別コード発生機構が生成した前記識別コー
ドを登録するための識別コードテーブルと、前記識別コ
ード発生機構及び前記識別コードテーブルを内蔵したバ
スコントローラ6と、前記識別コードをデコードしバス
の状態をモニタ可能な識別コードデコーダ31を搭載し
たディスクインタフェースコントローラ3と、前記識別
コードデコーダ21を搭載したホストインタフェースコ
ントローラ2からなるファイル装置用多重化インタフェ
ース。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータの二次記憶
装置にかかわり、特にホストコンピュータと二次記憶装
置の間のインタフェース方法に関する。
【0002】
【従来の技術】コンピュータシステムの高度化・複雑化
にともない、周辺装置とのインタフェースに関しても高
度のメッセージのやりとりを行うインテリジェントなも
のが増加してきている。一例として、SCSIインタフ
ェースANSI X3/131−1986 スモールコ
ンピュータシステムインタフェース(Small Co
mputer System Interface)を
示す。図16にそのシステムの構成図を、図17にデー
タ転送タイムシーケンスの例を示す。このように高機能
なディスクインタフェースは、各周辺装置において細か
なハードウェアの制御を行い、ホストコンピュータ側に
負担をかけないように制御を行うことが可能であるが、
その制御を行うためにはホストアダプタ13や、ディス
クコントローラ14のようなバスインタフェースを介し
てデータの転送を行う必要が生じる。また、SCSIバ
スにおいては図16に示したようにバスコントローラは
存在せず、アービトレーションフェースにおいてバスコ
ントローラがデバイスの優先度に基づいてSCSIバス
の調停を行うのみである。よって、特定のデバイスがS
CSIバスを獲得した後そのデバイスがSCSIバスを
開放しない限り他のデバイスはSCSIバスを使用する
ことができず、データ転送も不可能となる。図17に示
したように、そのデータ転送において2つの入出力処理
を行おうとした場合、入出力処理1が終了し、SCSI
バスを開放した後に入出力処理2を実行することにな
り、入出力処理2の応答が悪くなる可能性が高い。ま
た、SCSIバスでは図17に示したようにデータ転送
の前後においてSCSIバスのバスプロトコルの処理期
間を伴うが、これは転送を行うデータの長さによらず必
要な処理である。よって、比較的データ量が少ない転送
であっても、それが頻繁に行われた場合には、複数の入
出力処理によるバスの競合の頻度が高くなり転送能力の
低下やレスポンスの悪化を生じていた。
【0003】
【発明が解決しようとする課題】従来ディスクファイル
装置用に用いられているインタフェースにおいては、デ
ィスクに対する入出力要求は、I/Oバスのアービトレ
ーションと入出力処理要求を含んだコマンドパケットの
やり取り及びステータスのやり取りを行い、必要に応じ
てデータの転送を行う形態をとる。よって、実際に転送
するデータ長によらず同様のバス調停を含めたバスのプ
ロトコル制御を行う必要があった。そのため、バスのオ
ーバーヘッドが増大し、I/Oバスの仕様上のデータ転
送性能に比較して十分なバスの転送バンド幅を確保する
ことが出来なかった。一方ディスクのデータ転送性能及
びI/Oバスの転送性能を生かそうとした場合、ディス
クに対するアクセス単位を長くするのが効果的である
が、その場合にはバスを占有する時間が長くなってしま
う。その結果、システムの他のプロセスの処理速度を低
下させる原因ともなっていた。
【0004】本発明は、ファイル装置のバスインタフェ
ースにバスコントローラを設けることにより、複数の入
出力要求を受け付けることを可能とし、各I/Oデバイ
スのバスの占有時間の短縮を実現する。また、ディスク
の性能を生かすアクセス単位の長いデータ転送を行う場
合もレスポンスを向上し、システム全体のスループット
の向上を図ることを目的とする。
【0005】
【課題を解決するための手段】本発明は、コンピュータ
のファイル装置用多重化インタフェースにおいて、複数
のディスク装置を接続するためのI/Oバスと、前記I
/Oバス上で同時に複数実行する入出力処理の識別コー
ドを割り付ける識別コード発生機構と、前記識別コード
発生機構が生成した前記識別コードを登録するための識
別コードテーブルと、前記識別コード発生機構及び前記
識別コードテーブルを内蔵したバスコントローラと、前
記識別コードをデコードし前記I/Oバスの状態をモニ
タ可能な識別コードデコーダを搭載したディスクインタ
フェースコントローラと、前記識別コードデコーダを搭
載したホストインタフェースコントローラからなるファ
イル装置用多重化インタフェースである。
【0006】また、コンピュータのファイル装置用多重
化インタフェースの制御方法において、ホストインタフ
ェースコントローラからバスコントローラに対して入出
力処理を要求するステップと、前記バスコントローラは
要求のあった入出力処理に対して識別コードを生成し、
入出力処理に関連するディスクインタフェースコントロ
ーラ及びホストインタフェースコンピュータに通知する
ステップと、前記バスコントローラが前記入出力処理に
順にI/Oバスを割り付けデータ転送サイクルを実行
し、バスサイクルの先頭に含まれる識別コードにより、
前記I/Oバスに接続された前記ホストインタフェース
コントローラおよび前記ディスクインタフェースコント
ローラなどのI/OデバイスはI/Oバス調停に伴うオ
ーバーヘッド無しにデータを送受信するステップとから
なることを特徴とするファイル装置用多重化インタフェ
ースの制御方法である。
【0007】また、ファイル装置用多重化インタフェー
スの制御方法において、I/Oバスに接続されたホスト
インタフェースコントローラおよびディスクインタフェ
ースコントローラなどのI/Oデバイスからバスコント
ローラに対して、入出力要求を行うステップと、前記入
出力要求を発行したデバイスから前記バスコントローラ
に対してバス使用メッセージを送出するステップと、前
記バスコントローラが、前記バス使用メッセージ内に含
まれるデータ転送サイクルにおける最大転送ブロック数
および最少ブロック数により規定される転送条件より、
前記I/Oバスの割付頻度を設定するステップと、前記
バスコントローラにより設定された前記I/Oバス割付
頻度に基づいて前記バスコントローラが順次前記I/O
バスの割り付けを行いデータの転送を実行するステップ
と、前記入出力要求を発行した前記I/Oデバイスに対
して入出力処理状況をステータスとして送出するステッ
プからなり、前記バスコントローラの前記I/Oバスの
割付頻度により各入出力処理のデータ転送速度を制御す
ることを特徴とするファイル装置用多重化インタフェー
スの制御方法である。
【0008】また、ファイル装置用多重化インタフェー
スの制御方法において、I/Oバスに接続されたホスト
インタフェースコントローラあるいはディスクインタフ
ェースコントローラなどのI/Oデバイスに対して、予
めグループ分けした複数のI/Oデバイスに同一の受信
デバイスIDの割り付けを行うステップと、I/Oバス
に接続された前記I/Oデバイスから、前記受信デバイ
スIDを用いたコマンドをバスコントローラに送出する
ステップと、前記入出力要求を発行した前記I/Oデバ
イスから前記バスコントローラに対してバス使用メッセ
ージを送出するステップと、前記コマンドで指定された
送信デバイスから、前記受信デバイスIDを割り付けら
れた前記複数のI/Oデバイスへ入出力処理に対して、
前記バスコントローラが前記I/Oバスを割り付けるこ
とによりデータ転送を実行するステップと、前記入出力
要求を発行した前記I/Oデバイスに対して入出力処理
状況をステータスとして送出するステップからなり、一
回のデータ入出力処理により一つのI/Oデバイスから
複数のI/Oデバイスに対して同一データを転送するこ
とを特徴とするファイル装置用多重化インタフェースの
制御方法である。
【0009】また、ファイル装置用多重化インタフェー
スの制御方法において、I/Oバスに接続されたホスト
インタフェースコントローラあるいはディスクインタフ
ェースコントローラなどのI/Oデバイスに対して、予
めグループ分けした複数のI/Oデバイスに同一の受信
デバイスIDの割り付けを行うステップと、前記I/O
バスに接続された前記I/Oデバイスから、前記受信デ
バイスIDを用いたコマンドをバスコントローラに送出
するステップと、前記入出力要求を発行した前記I/O
デバイスから前記バスコントローラに対してバス使用メ
ッセージを送出するステップと、前記コマンドで指定さ
れた送信デバイスから、前記受信デバイスIDを割り付
けられた前記複数のI/Oデバイスへの入出力処理に対
して、前記バスコントローラがブロックサイズ単位で順
にI/Oバスを割り付けることによりデータ転送を実行
するステップと、前記入出力要求を発行した前記I/O
デバイスに対して入出力処理状況をステータスとして送
出するステップからなり、一回のデータ入出力処理によ
り一つのI/Oデバイスから複数のI/Oデバイスに対
してデータをブロック単位に分割し転送することを特徴
とするファイル装置用多重化インタフェースの制御方法
である。
【0010】また、ファイル装置用多重化インタフェー
スの制御方法において、I/Oバスに接続されたホスト
インタフェースコントローラあるいはディスクインタフ
ェースコントローラなどのI/Oデバイスから、コマン
ドをバスコントローラに送出するステップと、前記入出
力要求を発行した前記I/Oデバイスから前記バスコン
トローラに対してバス使用メッセージを送出するステッ
プと、前記コマンドで指定された送信デバイスから、受
信デバイスへのデータの転送を、前記バスコントローラ
がブロックサイズ単位で順に前記I/Oバスを割り付け
ることによりデータ転送を実行するステップと、前記入
出力要求を発行した前記I/Oデバイスに対して入出力
処理状況をステータスとして送出するステップと、前記
受信デバイスが転送実行時の前記識別コードに基づき、
データの順序の入れ替えを行うステップからなり、一回
のデータ入出力処理により複数のI/Oデバイスから一
つのI/Oデバイスに対してデータを転送することを特
徴とするファイル装置用多重化インタフェースの制御方
法である。
【0011】
【作用】本発明は、コンピュータの二次記憶装置に多重
処理可能な汎用バスインタフェースを導入することによ
り、ホストコンピュータのリアルタイムの入出力要求を
I/Oバスの転送バンド幅に応じて時分割処理すること
により、I/Oバスの処理能力を生かした転送を実現す
る。
【0012】また、ディスク装置のI/Oバスに対する
アクセスにおいて、リアルタイムの処理を行うために重
要であるI/Oバス獲得までに要する時間は、バス調停
処理にともなうI/Oバスのオーバーヘッドの大きさ
と、複数のI/Oデバイスのバス要求の競合の頻度によ
り決定される。よって、I/Oバスのオーバーヘッドの
低減と同時にI/Oバスの占有時間の短縮、ディスクの
入出力性能を生かす長いディスクアクセス単位の入出力
を同時に満足させる必要がある。これを、I/Oバス上
のデータの入出力の多重化とバスコントローラによる効
果的なI/Oバスの割り当てを行うことにより、I/O
バス調停のオーバーヘッドの低減及び入出力回数の低減
により実現する。
【0013】
【実施例】請求項1にかかわる発明の一実施例を説明す
る。図1がブロック構成図であり、図2がバスコントロ
ーラの詳細図である。ここでは二次記憶装置としてファ
イル装置を2台示したが、3台以上混在する場合におい
ても、同様に適用が可能である。
【0014】本発明のインタフェースにおいては、ホス
トコンピュータ1からの入出力要求を受けたホストイン
タフェースコントローラ2は一旦ホストバスインタフェ
ース23を経由して、制御CPU24に要求を受け取
り、その要求をI/Oバスインタフェース22を介し
て、I/Oバスにコマンドを出力する。I/Oバスに送
出されたコマンドはバスコントローラ6に引き取られ
る。バスコントローラ6の動作の詳細は後述する。バス
コントローラ6は引き取った入出力要求を、現在のバス
の利用状況によりI/Oバスを割り当てた上でI/Oバ
スの入出力処理の識別に使用する識別コードを生成す
る。書き込み動作の場合は送信デバイスであるホストイ
ンタフェースコントローラ2と受信デバイスであるディ
スクインタフェースコントローラ3に対してメッセージ
サイクルを使用して識別コードを通知する。読みだし動
作の場合も同様に受信デバイスであるホストインタフェ
ースコントローラ2と送信デバイスであるディスクイン
タフェースコントローラ3に対してメッセージサイクル
を使用して識別コードを通知する。ホストインタフェー
スコントローラ2およびディスクインタフェースコント
ローラ3は通知された識別コードを、各々の識別コード
デコーダ(21および31)に設定する。バスコントロ
ーラ6は、バスコントローラ6内に登録されている識別
コードに基づき順次各入出力処理に対してI/Oバス5
を割り付ける。各I/Oバスサイクルの始めには識別コ
ードを通知を行った上で転送を行う。I/Oバス上のデ
バイスは、そのI/Oバスサイクルが自分に対するサイ
クルであるかを識別コードデコーダにより判定し、もし
自分に対する入力あるいは出力である場合は、バスコン
トローラ6が出力するI/Oバスのクロックに同期して
データの出力あるいは入力を実行する。ディスクインタ
フェースコントローラ3はディスクインタフェース33
を介してディスク装置4との間のデータの入出力を実行
するが、前記ディスクの入出力に対して、ディスク装置
4の処理が間に合わない時には、バスコントローラに対
して該当する識別コードの入出力処理の実行を一時停止
するようにコマンドの発行を行う。
【0015】次に図2を使用してバスコントローラ6の
動作について説明する。バスプロトコルコントローラ6
2は、I/Oバス5のバスサイクルを生成するが、動作
はすべてブロック単位のI/Oバスサイクルの生成を行
う。I/Oバス5がフリーである場合を除いて、I/O
バスはI/Oデバイスからバスコントローラ6への処理
要求の送受信を行うかあるいは識別コードで識別される
デバイス間の入出力処理に割り振る。その割り振りは、
コマンドサイクルのコマンドブロックをバスリクエスト
モニタ63が参照し、I/Oトランザクション生成機構
64に送る。I/Oトランザクション生成機構64はそ
の時点でバスの分配状況を識別コードテーブル61を参
照し、要求のあったI/Oバスの割り振りが可能である
かを判定し、処理可能である場合はI/Oトランザクシ
ョンディスク生成機構65で生成されたデータに入出力
処理を一意に決定するためのコードを付加して識別コー
ドテーブル61に登録を行う。ここで入出力処理を一意
に決定するコードとしては乱数発生機構66によって生
成されるコードを使用しているが、他の入出力処理と競
合しないコードを生成可能な他の方法も適用可能であ
る。バススケジューラ67は識別コードテーブル61に
登録された各入出力処理の動作状態を参照し、I/Oバ
スの使用条件にあわせて順次I/Oバスを割り振り、I
/Oバスサイクルの生成をバスプロトコルコントローラ
62に対して要求する。バスプロトコルコントローラは
各入出力処理のI/Oバスサイクルを順次生成する。
【0016】次に請求項2にかかわる発明の一実施例を
説明する。図3は本発明にかかわるデータのフォーマッ
トを示す説明図であり、図4,図5,図6,図7が本発
明にかかわるバスインタフェースの各バスサイクルのタ
イムチャートであり、図8が一連の入出力における入出
力処理の処理シーケンスを示す説明図である。
【0017】本発明のディスク装置用バスインタフェー
スの制御方法は、すべてブロック単位のI/Oバスサイ
クルから構成され、そのI/Oバス使用の割り振りは図
1のバスコントローラ6により管理される。このバスコ
ントローラが管理するI/Oバスサイクルは、コマンド
サイクル、データサイクル、メッセージサイクル、ステ
ータスサイクルからなる。図4にはコマンドサイクルを
示す。図5にはデータサイクルを示す。図6はメッセー
ジサイクルを示す。図7にはステータスサイクルを示
す。各I/Oサイクルはブロック転送サイクルを基本と
し、ディスク装置などのブロック単位での入出力を行う
場合のブロックサイズに合わせ適用する。他のコマンド
サイクル、メッセージサイクル、ステータスサイクルな
ども同様にブロック単位の転送を行うが、データサイク
ルとは異なったブロックの長さを適用可能である。
【0018】まず、本発明のディスク装置用インタフェ
ースの制御方法において使用される、データのフォーマ
ットおよびその生成手順を説明する。本発明のディスク
装置用バスインタフェースにおいては前記のバスコント
ローラ6の制御において、これらのデータを使用する。
まずコマンド10はI/Oバス5上のデバイスからバス
プロトコルコントローラ62に対して渡されるデータで
ある。コマンド10は一般的にディスク装置の入出力に
使用されるコマンドコード101,論理アドレス10
2,論理ブロック長さ103に加えそのデータ転送の際
の送信デバイスID104,受信デバイスID105、
およびバス使用メッセージ9から成る。このデータをも
とにしてI/Oトランザクション生成機構64がバス使
用メッセージ9を生成する。また、同時に乱数発生機構
66で生成した乱数値75とコマンド10を使用し識別
コードテーブルデータ7を生成する。またこの識別コー
ドテーブルデータ7は識別コードテーブル61に登録さ
れ、識別コード8を生成する際に使用される。
【0019】次に、これらのデータを使用して実行され
る各I/Oバスサイクルについて説明する。まずコマン
ドサイクルについて説明する。図4において、I/Oバ
ス5に接続されたデバイスは、バスコントローラ6に対
してバス要求信号を発行し、コマンドサイクルが始まる
のを待つ。バスコントローラ6はコマンドサイクルの始
めのサイクルにおいてI/Oバスを要求したI/Oデバ
イスがデータバス上に出力するデバイスIDをモニタ
し、優先度の高いデバイスに対してバスの使用権を与え
次のサイクルでI/Oバスの使用権を与えたデバイスの
デバイスIDをデータバス上に送出する。自分のデバイ
スIDを受け取ったデバイスは次のサイクルからコマン
ド10をI/Oバス上に送出する。
【0020】次にメッセージサイクルについて説明す
る。図6において、バスコントローラ6はバスサイクル
の始めに識別コード8をバス上に流し、I/Oバス5に
接続されたデバイスはそれを取得し識別コードデコーダ
(21又は31)に送る。その識別コードデコーダ(2
1又は31)において、識別コード8自身の関連するサ
イクルであると判断した場合には以降のメッセージデー
タをサンプルする。メッセージサイクルではバス使用メ
ッセージに含まれる、データサイクルの最少転送ブロッ
ク数91、最大転送ブロック数92あるいは転送モード
93からI/Oバスサイクルの動作条件を取得し、必要
に応じてディスク装置などの接続デバイスの制御パラメ
ータの決定に使用する。
【0021】次にデータサイクルについて説明する。図
5において、バスコントローラ6はI/Oバスサイクル
の始めに識別コード8をI/Oバス上に流し、I/Oバ
ス5に接続されたデバイスはそれを取得し識別コードデ
コーダ(21又は31)に送る。その識別コードデコー
ダ(21又は31)において、識別コード8が、自身の
関連するサイクルであると判断した場合には以降のデー
タをサンプルする。データサイクルではメッセージサイ
クルにおいて受信されたI/Oバスサイクルの動作条件
よりI/Oバスの割り振り頻度の制御を行うことが可能
である。
【0022】次にステータスサイクルについて説明す
る。図7において、バスコントローラ6はI/Oバスサ
イクルの始めに識別コード8をバス上に流し、I/Oバ
ス5に接続されたデバイスはそれを取得し識別コードデ
コーダ(21又は31)に送る。その識別コードデコー
ダ(21又は31)において、識別コード8および送信
デバイスIDおよび受信デバイスIDが、自身の関連す
るサイクルであると判断した場合には以降のステータス
データをサンプルする。
【0023】これらのI/Oバスサイクルを図8のよう
に順次実行することによりデータのブロック転送を実行
する。その際に各I/OバスサイクルがI/Oバス5の
上での最少実行単位となるため、I/Oバス5に接続さ
れた他のI/Oデバイスのデータ転送サイクルが各I/
Oバスサイクルの間に実行される可能性がある。また、
I/Oバスサイクルのうちフリーサイクルとデータサイ
クルに関しては、複数の入出力処理に対して順に割り振
られることにより、I/Oバス5がI/Oバスサイクル
単位で時分割使用される。
【0024】次に請求項3にかかわる一実施例を示す。
図9に本発明のデータ転送サイクルのタイムチャートを
示す。本発明は請求項2にかかわる前記の実施例の各I
/Oバスサイクルを使用し、I/Oバス転送シーケンス
を構成することにより、I/Oバスの転送速度の制御を
行うものである。本発明の転送制御方法は、前記のメッ
セージサイクルにおいて受け渡されるバス使用メッセー
ジ9を使用しI/Oバスの使用方法を制御するものであ
る。よって、バス使用メッセージ9に含まれるデータサ
イクルの最少転送ブロック数91および最大転送ブロッ
ク数92を基準として、バスコントローラ6がバスサイ
クルを割り振る。ここで、転送ブロック数は100バス
サイクル程度の特定のサイクル数を単位時間と定め、そ
の単位時間あたりのバスサイクルが割り振られる頻度を
示すものである。よって、この頻度条件を満足するよう
にI/Oバス5の割り付けを実行することにより、I/
Oバスのデータ転送は単位時間あたりで適当な転送速度
範囲のデータ転送を実行可能となる。ここで図9のタイ
ムチャートは、3つの入出力処理が時分割で実行されて
いる。ここで入出力処理識別コードは各I/Oバスサイ
クルにおいて通知される識別コードを示す。またここ
で、識別コード1は入出力処理1の識別コードを、識別
コード2は入出力処理2の識別コードを、識別コード3
は入出力処理3の識別コードをそれぞれ示す。また、こ
のタイムチャートでわかるように、入出力処理1、入出
力処理2、入出力処理3はそれぞれ請求項2にかかわる
転送方法で入出力処理を実行し、互いにそれらはオーバ
ーラップし転送を行うことが可能である。
【0025】次に請求項4にかかわる一実施例を示す。
図10に本発明のデータ転送サイクルのタイムチャート
を示す。本発明は請求項2にかかわる前記の実施例の各
I/Oバスサイクルを使用し、I/Oバス転送シーケン
スを構成することにより、I/Oバスの転送制御を行う
ものである。はじめに、前記のメッセージサイクルにお
いて受け渡されるバス使用メッセージ9内の識別コード
に含まれる受信デバイスIDを複数デバイスのグループ
IDを設定する。グループIDは図3のような構造をと
り、一種のI/OデバイスIDとして使用される。また
このデバイスIDはデータサイクル動作時の受信デバイ
スIDとして登録され、受信デバイスID82に含まれ
るグループコード811は識別コードデコーダに参照さ
れ、使用される。ここで、デバイスコード812として
はゼロを指定する。そして、各I/Oデバイスのインタ
フェースコントローラに含まれる識別コードデコーダ
に、グループIDを設定することにより、同時に複数の
デバイスに対してデータの転送を行う。
【0026】図10に本実施例の制御方法のタイムチャ
ートを示す。ここで入出力処理識別コードは各I/Oバ
スサイクルにおいて通知される識別コードを示し、それ
らはタイムチャートに示したグループコードおよびデバ
イスコードから構成される識別コードを使用する。ここ
では転送先の複数の受信デバイスのグループIDとし
て、グループコード1およびデバイスコード0を使用し
た例であり、グループコード1に登録された複数の受信
デバイスに対しデータ転送を行った例である。
【0027】次に請求項5にかかわる一実施例を示す。
図11に本発明のデータ転送サイクルのタイムチャート
を示す。本発明は請求項2にかかわる前記の実施例の各
I/Oバスサイクルを使用し、バス転送シーケンスを構
成することにより、I/Oバスの転送制御を行うもので
ある。はじめに前記のメッセージサイクルにおいて受け
渡されるバス使用メッセージ9内の識別コードに含まれ
る受信デバイスIDを複数デバイスのグループIDを設
定する。グループIDは図3のような構造をとり、一種
のI/OデバイスIDとして使用される。またこのデバ
イスIDはデータサイクル動作時の受信デバイスIDと
して登録され、受信デバイスID82に含まれるグルー
プコード811が識別コードデコーダに参照され、使用
される。ここで、デバイスコード812としては、グル
ープ内で割り振られた通し番号を1から順に割り振る。
そして、各デバイスのインタフェースコントローラに含
まれる識別コードデコーダに、グループIDを設定する
ことにより、順次I/Oバスサイクルを割り振ることに
より複数のI/Oデバイスからのデータの転送を行うこ
とが可能となる。
【0028】図11に本実施例の制御方法のタイムチャ
ートを示す。ここで入出力処理識別コードは各I/Oバ
スサイクルにおいて通知される識別コードを示し、それ
らはタイムチャートに示したグループコードおよびデバ
イスコードから構成される識別コードを使用する。ここ
では転送先の複数の受信デバイスのグループIDとし
て、グループコード1を使用し、そのグループに属する
3個のI/Oデバイスに対してそれぞれ1〜3のデバイ
スコードを割り振り実行した例であり、グループコード
1に登録された3個の受信デバイスに対し順次データ転
送を実行した例である。
【0029】次に請求項6にかかわる一実施例を示す。
図12には本発明のブロック構成図を、図13および図
14には、分配・再配列機構11の構成例を2例、図1
5に本発明のデータ転送サイクルのタイムチャートを示
す。図12の本発明のブロック構成図の中のデータ分配
・再配列機構11を追加することにより複数のファイル
装置からホストコンピュータ1に対するデータの転送を
可能とする。また、本発明は請求項2にかかわる前記の
実施例の各I/Oバスサイクルを使用し、バス転送シー
ケンスを構成することにより、バスの転送制御を行うも
のである。はじめに、前記のメッセージサイクルにおい
て受け渡されるバス使用メッセージ9内の識別コードに
含まれる送信デバイスIDを複数デバイスのグループI
Dを設定する。グループIDは図3のような構造をと
り、一種のI/OデバイスIDとして使用される。また
このデバイスIDはデータサイクル動作時の送信デバイ
スIDとして登録され、送信デバイスID81に含まれ
るグループコード811が識別コードデコーダに参照さ
れ、使用される。ここで、デバイスコード812として
は、グループ内で割り振られた通し番号を1から順に割
り振る。そして、各デバイスのインタフェースコントロ
ーラに含まれる識別コードデコーダに、グループIDを
設定し、順次I/Oバスサイクルを割り振ることにより
複数のデバイスからのデータの転送を行うことを可能と
する。しかし、バスコントローラ6はI/Oバス5の上
のディスク装置などのデバイスで管理されるデータの分
配順序を知らないため、データを受信したホストインタ
フェースコントローラ2でデータの順序を整列し、読み
出しを実行する必要がある。よって、ホストインタフェ
ースコントローラ2内のデータ分配・再配列機構11が
識別コード8に登録されたグループIDおよびデバイス
コード812を参照しデータの再配列を実行することに
より、複数のI/Oデバイスから一つのホストコンピュ
ータへのデータ転送を実現する。
【0030】データ分配・再配列機構の一実施例の説明
図を図13に示す。ここで、データ分配・再配列機構1
1は識別コードデコーダ21の識別コード8に登録され
たグループIDおよびデバイスコード812を参照し、
送信元のデバイス毎に別々に用意されたFIFOバッフ
ァ113に書き込み処理を実行することにより、各デバ
イスの読みだし順序の整列を行う。また、FIFOバッ
ファ113内のシーケンシャルデータが読みだし可能に
なった時点でダイレクトメモリアクセスデバイス114
がデータをホストインタフェース115経由でデータを
送出する。
【0031】また、他の方法によるデータ分配・再配列
機構の一実施例の説明図を図14に示す。ここで、デー
タ分配・再配列機構11は識別コードデコーダ21から
の送信デバイスIDを使用し、バッファの制御を行う
が、本方法ではバッファセレクタはブロックバッファに
対してはデータの転送順に順次ブロックバッファに対し
て書き込み動作を行い、識別コードに応じた書き込み先
バッファの位置の制御は行わない。その代わり、識別コ
ードデコーダ21で獲得した識別コード8に登録された
グループIDおよびデバイスコード812がIDフラグ
124に記録される。一方データは各ブロックバッファ
123に記録される。このIDフラグ124は、ホスト
コンピュータ1からの読みだしを実行する際に読みだす
べき位置を示すポインタビットも保持する。このポイン
タビットは、ホストコンピュータ側からの読みだしの際
の読みだし位置を示しホストコンピュータ側のインタフ
ェースで読みだすべき位置の割り出しに使用される。こ
のビットはID比較器内のポインタビット設定機構が管
理を行い、該当するブロックバッファ123のデータが
読みだされるたびに、次の読み出しを実行するデバイス
コード812を保持しているIDフラグに移動させる。
その結果はIDフラグテーブルに管理され、ホスト側の
インタフェースのバッファメモリに対するアクセス制御
がなされる。ホストコンピュータ1からのアクセス要求
は、バッファアクセスリクエスト信号127によりなさ
れ、その結果はバッファアクノリッジ信号128を介し
てホストコンピュータ1に通知される。アクノリッジを
受け取ったホストインタフェースは通常のメモリアクセ
スとしてブロックバッファ123に対してアクセスを行
う。
【0032】図15に本実施例の制御方法のタイムチャ
ートを示す。ここで入出力処理識別コードは各I/Oバ
スサイクルにおいて通知される識別コードを示し、それ
らはタイムチャートに示したグループコードおよびデバ
イスコードから構成される識別コードを使用する。ここ
では転送元の複数の送信デバイスのグループIDとし
て、グループコード1を使用し、そのグループに属する
3個のI/Oデバイスに対してそれぞれ1〜3のデバイ
スコードを割り振り実行した例であり、グループコード
1に登録された3個の送信デバイスから順次データ転送
を実行した例である。
【0033】
【発明の効果】本発明は、コンピュータのディスク装置
に多重化インタフェースを導入することにより、転送速
度が大幅に異なるデバイスが混在する場合においても、
I/Oバスの使用効率とレスポンスの良いディスク装置
を実現する。このようなファイル装置を使用することに
より、ディジタル動画のようなリアルタイム処理が必要
なアプリケーションにおいて、有効なディスク装置を構
成することが可能となる。また、従来の大容量のファイ
ル装置を管理するファイルサービスなどの用途において
も、サービスを受けるシステムに対する処理待ち時間を
削減し、コンピュータシステム全体の処理効率の向上が
図れる。
【図面の簡単な説明】
【図1】請求項1にかかわる、ディスク装置用インタフ
ェースの一実施例を説明するためのブロック図である。
【図2】請求項1にかかわる、ディスク装置用インタフ
ェースのバスコントローラの一実施例を説明するための
ブロック図である。
【図3】請求項2にかかわる、ディスク装置用インタフ
ェースの制御方法の一実施例を説明するためのデータフ
ォーマットを示す説明図である。
【図4】請求項2にかかわる、ディスク装置用インタフ
ェースの制御方法の一実施例を説明するためのコマンド
サイクルのタイムチャートを示す説明図である。
【図5】請求項2にかかわる、ディスク装置用インタフ
ェースの制御方法の一実施例を説明するためのデータサ
イクルのタイムチャートを示す説明図である。
【図6】請求項2にかかわる、ディスク装置用インタフ
ェースの制御方法の一実施例を説明するためのメッセー
ジサイクルのタイムチャートを示す説明図である。
【図7】請求項2にかかわる、ディスク装置用インタフ
ェースの制御方法の一実施例を説明するためのステータ
スサイクルのタイムチャートを示す説明図である。
【図8】請求項2にかかわる、ディスク装置用インタフ
ェースの制御方法の一実施例を説明するためのバスサイ
クルのシーケンスを示す説明図である。
【図9】請求項3にかかわる、ディスク装置用インタフ
ェースの制御方法の一実施例を説明するためのバスサイ
クルのタイムチャートを示す説明図である。
【図10】請求項4にかかわる、ディスク装置用インタ
フェースの制御方法の一実施例を説明するためのバスサ
イクルのタイムチャートを示す説明図である。
【図11】請求項5にかかわる、ディスク装置用インタ
フェースの制御方法の一実施例を説明するためのバスサ
イクルのタイムチャートを示す説明図である。
【図12】請求項6にかかわる、ディスク装置用インタ
フェースの一実施例を説明するためのブロック図であ
る。
【図13】請求項6にかかわる、ディスク装置用インタ
フェースのデータ再配列機構の一実施例を説明するため
のブロック図である。
【図14】請求項6にかかわる、ディスク装置用インタ
フェースのデータ再配列機構の一実施例を説明するため
のブロック図である。
【図15】請求項6にかかわる、ディスク装置用インタ
フェースの制御方法の一実施例を説明するためのタイム
チャートである。
【図16】従来技術を説明するためのブロック構成図で
ある。
【図17】従来技術を説明するためのタイムチャートで
ある。
【符号の説明】
1 ホストコンピュータ 2 ホストインタフェースコントローラ 21 識別コードデコーダ 22 I/Oバスインタフェース 23 ホストバスインタフェース 24 制御CPU 3 ディスクインタフェースコントローラ 31 識別コードデコーダ 32 I/Oバスインタフェース 33 ディスクインタフェース 4 ディスク装置 5 I/Oバス 6 バスコントローラ 61 識別コードテーブル 62 バスプロトコルコントローラ 63 ホストバスインタフェース 64 I/Oトランザクション生成機構 65 I/Oトランザクションデータ生成機構 66 乱数発生機構 67 バススケジューラ 68 識別コード生成機構 7 識別コードテーブルデータフォーマット 71 送信デバイスID 72 受信デバイスID 73 バス使用メッセージ 74 データ転送長 75 乱数値 8 識別コード 81 送信デバイスID 82 受信デバイスID 83 乱数値 811 グループコード 812 デバイスコード 9 バス使用メッセージ 91 データサイクルの最少転送ブロック数 92 データサイクルの最大転送ブロック数 93 転送モード 10 コマンド 11 データ分配・再配列機構 111 識別コードデコーダ 112 バッファセレクタ 113 FIFOバッファ 114 ダイレクトメモリアクセスデバイス 115 ホストインタフェースコントローラ 121 識別コードデコーダ 122 バッファセレクタ 123 ブロックバッファ 124 IDフラグ 125 ID比較器 126 IDフラグテーブル 127 ホストインタフェースリクエスト信号 128 ホストインタフェースアクノリッジ信号 13 ホストアダプタ 14 ディスクコントローラ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】コンピュータのファイル装置用多重化イン
    タフェースにおいて、複数のディスク装置を接続するた
    めのI/Oバスと、前記I/Oバス上で同時に複数実行
    する入出力処理の識別コードを割り付ける識別コード発
    生機構と、前記識別コード発生機構が生成した前記識別
    コードを登録するための識別コードテーブルと、前記識
    別コード発生機構及び前記識別コードテーブルを内蔵し
    たバスコントローラと、前記識別コードをデコードし前
    記I/Oバスの状態をモニタ可能な識別コードデコーダ
    を搭載したディスクインタフェースコントローラと、前
    記識別コードデコーダを搭載したホストインタフェース
    コントローラからなるファイル装置用多重化インタフェ
    ース。
  2. 【請求項2】コンピュータのファイル装置用多重化イン
    タフェースの制御方法において、ホストインタフェース
    コントローラからバスコントローラに対して入出力処理
    を要求するステップと、前記バスコントローラが要求の
    あった入出力処理に対して識別コードを生成し、入出力
    処理に関連するディスクインタフェースコントローラ及
    びホストインタフェースコンピュータに通知するステッ
    プと、前記バスコントローラが前記入出力処理に順にI
    /Oバスを割り付けデータ転送サイクルを実行し、バス
    サイクルの先頭に含まれる識別コードにより、前記I/
    Oバスに接続された前記ホストインタフェースコントロ
    ーラおよび前記ディスクインタフェースコントローラな
    どのI/OデバイスはI/Oバス調停に伴うオーバーヘ
    ッド無しにデータを送受信するステップとからなること
    を特徴とするファイル装置用多重化インタフェースの制
    御方法。
  3. 【請求項3】請求項2記載のファイル装置用多重化イン
    タフェースの制御方法において、I/Oバスに接続され
    たホストインタフェースコントローラおよびディスクイ
    ンタフェースコントローラなどのI/Oデバイスからバ
    スコントローラに対して、入出力要求を行うステップ
    と、前記入出力要求を発行したデバイスから前記バスコ
    ントローラに対してバス使用メッセージを送出するステ
    ップと、前記バスコントローラが、前記バス使用メッセ
    ージ内に含まれるデータ転送サイクルにおける最大転送
    ブロック数および最少ブロック数により規定される転送
    条件より、バスの割付頻度を設定するステップと、前記
    バスコントローラにより設定された前記バス割付頻度に
    基づいて前記バスコントローラが順次I/Oバスの割り
    付けを行いデータの転送を実行するステップと、前記入
    出力要求を発行した前記I/Oデバイスに対して入出力
    処理状況をステータスとして送出するステップからな
    り、前記バスコントローラの前記I/Oバスの割付頻度
    により各入出力処理のデータ転送速度を制御することを
    特徴とするファイル装置用多重化インタフェースの制御
    方法。
  4. 【請求項4】請求項2記載のファイル装置用多重化イン
    タフェースの制御方法において、I/Oバスに接続され
    たホストインタフェースコントローラあるいはディスク
    インタフェースコントローラなどのI/Oデバイスに対
    して、予めグループ分けした複数のI/Oデバイスに同
    一の受信デバイスIDの割り付けを行うステップと、I
    /Oバスに接続された前記I/Oデバイスから、前記受
    信デバイスIDを用いたコマンドをバスコントローラに
    送出するステップと、前記入出力要求を発行した前記I
    /Oデバイスから前記バスコントローラに対してバス使
    用メッセージを送出するステップと、前記コマンドで指
    定された送信デバイスから、前記受信デバイスIDを割
    り付けられた前記複数のI/Oデバイスへ入出力処理に
    対して、前記バスコントローラが前記I/Oバスを割り
    付けることによりデータ転送を実行するステップと、前
    記入出力要求を発行した前記I/Oデバイスに対して入
    出力処理状況をステータスとして送出するステップから
    なり、一回のデータ入出力処理により一つのI/Oデバ
    イスから複数のI/Oデバイスに対して同一データを転
    送することを特徴とするファイル装置用多重化インタフ
    ェースの制御方法。
  5. 【請求項5】請求項2記載のファイル装置用多重化イン
    タフェースの制御方法において、I/Oバスに接続され
    たホストインタフェースコントローラあるいはディスク
    インタフェースコントローラなどのI/Oデバイスに対
    して、予めグループ分けした複数のI/Oデバイスに同
    一の受信デバイスIDの割り付けを行うステップと、前
    記I/Oバスに接続された前記I/Oデバイスから、前
    記受信デバイスIDを用いたコマンドをバスコントロー
    ラに送出するステップと、前記入出力要求を発行した前
    記I/Oデバイスから前記バスコントローラに対してバ
    ス使用メッセージを送出するステップと、前記コマンド
    で指定された送信デバイスから、前記受信デバイスID
    を割り付けられた前記複数のI/Oデバイスへの入出力
    処理に対して、前記バスコントローラがブロックサイズ
    単位で順に前記I/Oバスを割り付けることによりデー
    タ転送を実行するステップと、前記入出力要求を発行し
    た前記I/Oデバイスに対して入出力処理状況をステー
    タスとして送出するステップからなり、一回のデータ入
    出力処理により一つのI/Oデバイスから複数のI/O
    デバイスに対してデータをブロック単位に分割し転送す
    ることを特徴とするファイル装置用多重化インタフェー
    スの制御方法。
  6. 【請求項6】請求項2記載のファイル装置用多重化イン
    タフェースの制御方法において、I/Oバスに接続され
    たホストインタフェースコントローラあるいはディスク
    インタフェースコントローラなどのI/Oデバイスか
    ら、コマンドをバスコントローラに送出するステップ
    と、前記入出力要求を発行した前記I/Oデバイスから
    前記バスコントローラに対してバス使用メッセージを送
    出するステップと、前記コマンドで指定された送信デバ
    イスから受信デバイスへのデータの転送を、前記バスコ
    ントローラがブロックサイズ単位で順に前記I/Oバス
    を割り付けることによりデータ転送を実行するステップ
    と、前記入出力要求を発行した前記I/Oデバイスに対
    して入出力処理状況をステータスとして送出するステッ
    プと、前記受信デバイスが転送実行時の前記識別コード
    に基づき、データの順序の入れ替えを行うステップから
    なり、一回のデータ入出力処理により複数のI/Oデバ
    イスから一つのI/Oデバイスに対してデータを転送す
    ることを特徴とするファイル装置用多重化インタフェー
    スの制御方法。
JP06007363A 1994-01-27 1994-01-27 ファイル装置用多重化インタフェース及びその制御方法 Expired - Fee Related JP3080827B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06007363A JP3080827B2 (ja) 1994-01-27 1994-01-27 ファイル装置用多重化インタフェース及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06007363A JP3080827B2 (ja) 1994-01-27 1994-01-27 ファイル装置用多重化インタフェース及びその制御方法

Publications (2)

Publication Number Publication Date
JPH07210320A true JPH07210320A (ja) 1995-08-11
JP3080827B2 JP3080827B2 (ja) 2000-08-28

Family

ID=11663891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06007363A Expired - Fee Related JP3080827B2 (ja) 1994-01-27 1994-01-27 ファイル装置用多重化インタフェース及びその制御方法

Country Status (1)

Country Link
JP (1) JP3080827B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231469B2 (en) 2004-02-16 2007-06-12 Hitachi, Ltd. Disk controller
JP2007183757A (ja) * 2006-01-05 2007-07-19 Brother Ind Ltd 記憶制御装置
US7467238B2 (en) 2004-02-10 2008-12-16 Hitachi, Ltd. Disk controller and storage system
JP2013061795A (ja) * 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、コントローラ、およびリードコマンド実行方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467238B2 (en) 2004-02-10 2008-12-16 Hitachi, Ltd. Disk controller and storage system
US7917668B2 (en) 2004-02-10 2011-03-29 Hitachi, Ltd. Disk controller
US7231469B2 (en) 2004-02-16 2007-06-12 Hitachi, Ltd. Disk controller
US7469307B2 (en) 2004-02-16 2008-12-23 Hitachi, Ltd. Storage system with DMA controller which controls multiplex communication protocol
JP2007183757A (ja) * 2006-01-05 2007-07-19 Brother Ind Ltd 記憶制御装置
JP4539864B2 (ja) * 2006-01-05 2010-09-08 ブラザー工業株式会社 記憶制御装置
JP2013061795A (ja) * 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、コントローラ、およびリードコマンド実行方法

Also Published As

Publication number Publication date
JP3080827B2 (ja) 2000-08-28

Similar Documents

Publication Publication Date Title
EP0706137B1 (en) Queued arbitration mechanism for data processing system
US5832492A (en) Method of scheduling interrupts to the linked lists of transfer descriptors scheduled at intervals on a serial bus
EP0877983B1 (en) Application programming interface for data transfer and bus management over a bus structure
JPH06266650A (ja) データを転送する方法と装置及びデータ転送をインタリーブする装置
US20100131681A1 (en) Bus Based Communications Between A Processor And A Peripheral Controller In A Digital Processing System
JPH06266649A (ja) 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ
US7225281B2 (en) Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
JPH01142963A (ja) バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法
EP0293860B1 (en) Peripheral controller and adapter interface
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
JPH04312160A (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
JPH04257054A (ja) チャネル間接続装置
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
JP3080827B2 (ja) ファイル装置用多重化インタフェース及びその制御方法
CN115840621A (zh) 一种多核系统的交互方法及相关装置
JPH0844662A (ja) 情報処理装置
JPH0689257A (ja) バスブリッジの調停装置
JP2007241922A (ja) 共有資源利用のための調停方法及びその調停装置
JPH08278953A (ja) 計算機システムにおける排他制御方式
JPH0844661A (ja) 情報処理装置
US6681260B1 (en) Data transfer method in function expansion system
JP3050131B2 (ja) アービトレーション方式
US20050165988A1 (en) Bus communication system
JP3678537B2 (ja) データ転送方法及び装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees