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

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

Info

Publication number
JP3080827B2
JP3080827B2 JP06007363A JP736394A JP3080827B2 JP 3080827 B2 JP3080827 B2 JP 3080827B2 JP 06007363 A JP06007363 A JP 06007363A JP 736394 A JP736394 A JP 736394A JP 3080827 B2 JP3080827 B2 JP 3080827B2
Authority
JP
Japan
Prior art keywords
bus
controller
identification code
input
data
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.)
Expired - Fee Related
Application number
JP06007363A
Other languages
English (en)
Other versions
JPH07210320A (ja
Inventor
欽一 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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

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バスの状態をモニタ可能な識別コードデコ
ーダを搭載したディスクインタフェースコントローラ
と、前記識別コードをデコードし前記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バ
スの入出力処理の識別に使用する識別コードを生成す
る。識別コードは、図3に示すように送信デバイスID
81、受信デバイスID82、乱数値83から構成され
る。これらのうち送信デバイスID81、受信デバイス
ID82はあらかじめ固定的に割り当てられたデバイス
IDを使用して生成する。例えばSCSIインタフェー
スANSIX3/131−1986のデバイスIDのよ
うに、機器を識別するアドレス情報は予め割り付けるも
のとする。乱数値83については後述する。書き込み動
作の場合は送信デバイスであるホストインタフェースコ
ントローラ2と受信デバイスであるディスクインタフェ
ースコントローラ3に対してメッセージサイクルを使用
して識別コードを通知する。読みだし動作の場合も同様
に受信デバイスであるホストインタフェースコントロー
ラ2と送信デバイスであるディスクインタフェースコン
トローラ3に対してメッセージサイクルを使用して識別
コードを通知する。ホストインタフェースコントローラ
2およびディスクインタフェースコントローラ3は通知
された識別コードを、各々の識別コードデコーダ(21
および31)に設定する。バスコントローラ6は、バス
コントローラ6内に登録されている識別コードに基づき
順次各入出力処理に対してI/Oバス5を割り付ける。
各I/Oバスサイクルの始めには識別コードを通知を行
った上で転送を行う。I/Oバス上のデバイスは、その
I/Oバスサイクルが自分に対するサイクルであるか
を、識別コードデコーダがバスをモニタし、識別コード
内のデバイスIDに自分のデバイスIDが指定されてい
るか否かにより自分に対する入出力であるかを判定す
る。もし自分に対する入力あるいは出力である場合は、
バスコントローラ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のようにデバ
イスIDを2つの部分に分け、一部をグループコード8
11、一部をデバイスコード812として使用する。こ
こで、各I/Oデバイスに対して割り振られるデバイス
コード812としては、グループ内で割り振られた重複
しない0以外の番号を割り振るが、複数デバイスを示す
グループを指定する場合はデバイスコード812として
はゼロを指定する。デバイスコード812は例えばデバ
イスIDが8ビットで構成される場合は、上位4ビット
をグループコード811とし下位4ビットをデバイスコ
ード812とすればよい。またこのデバイスIDはデー
タサイクル動作時の受信デバイスIDとして登録され、
受信デバイスID82に含まれるグループコード811
は識別コードデコーダに参照され、使用される。識別コ
ードデコーダ31は、グループコードのみを比較して、
自分の属するグループが転送先であるかを判断する。よ
って、各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)

    (57)【特許請求の範囲】
  1. 【請求項1】コンピュータのファイル装置用多重化イン
    タフェースにおいて、複数のディスク装置を接続するた
    めのI/Oバスと、前記I/Oバス上で同時に複数実行
    する入出力処理の送受信デバイスに予め割り付けられた
    デバイスIDを含んだ識別コードを割り付ける識別コー
    ド発生機構と、前記識別コード発生機構が生成した前記
    識別コードを登録するための識別コードテーブルと、前
    記識別コード発生機構及び前記識別コードテーブルを内
    蔵し、ホストインタフェースコントローラからの入出力
    処理要求に対して、識別コードを付加しバス割り当てを
    実行するバスコントローラと、前記バスコントローラが
    生成した識別コードをデコードし該デバイスIDが識別
    コードに含まれているか否かの判定と前記I/Oバスの
    状態をモニタ可能な識別コードデコーダを搭載したディ
    スクインタフェースコントローラと、前記識別コードデ
    コーダを搭載したホストインタフェースコントローラか
    らなるファイル装置用多重化インタフェース。
  2. 【請求項2】コンピュータのファイル装置用多重化イン
    タフェースの制御方法において、ホストインタフェース
    コントローラからバスコントローラに対して入出力処理
    を要求するステップと、前記バスコントローラが要求の
    あった入出力処理に対して送受信デバイスのデバイスI
    Dを含んだ識別コードを生成し、入出力処理に関連する
    ディスクインタフェースコントローラ及びホストインタ
    フェースコントローラに通知するステップと、前記バス
    コントローラが前記入出力処理に順に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 JPH07210320A (ja) 1995-08-11
JP3080827B2 true 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)

Families Citing this family (4)

* 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
JP4405277B2 (ja) 2004-02-16 2010-01-27 株式会社日立製作所 ディスク制御装置
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
JPH07210320A (ja) 1995-08-11

Similar Documents

Publication Publication Date Title
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
US4868742A (en) Input/output bus for system which generates a new header parcel when an interrupted data block transfer between a computer and peripherals is resumed
JPH06266650A (ja) データを転送する方法と装置及びデータ転送をインタリーブする装置
JPH04230557A (ja) 直接メモリアクセス・コントローラ
JPH06266649A (ja) 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ
JPH0865334A (ja) マルチメディア通信装置及び方法
EP0293860B1 (en) Peripheral controller and adapter interface
JPH04312160A (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
JP2002055947A (ja) バスシステム及びそのバス仲裁方法
JP3080827B2 (ja) ファイル装置用多重化インタフェース及びその制御方法
US5911152A (en) Computer system and method for storing data in a buffer which crosses page boundaries utilizing beginning and ending buffer pointers
US7017180B1 (en) Logged-in device and log-in device
US7346714B2 (en) Notification of completion of communication with a plurality of data storage areas
JP3261715B2 (ja) 入出力データ転送処理装置
JP2005316781A (ja) 記憶媒体のマルチホスト切替え方法
JP4362199B2 (ja) データ伝送装置
JPH0689257A (ja) バスブリッジの調停装置
JP3678537B2 (ja) データ転送方法及び装置
JPH09204311A (ja) 情報処理システム
JP2002033739A (ja) 通信制御装置および方法
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization
JP2576934B2 (ja) メモリ−マップド割込み方式
JPH10207832A (ja) Scsiシステム
JP3050131B2 (ja) アービトレーション方式

Legal Events

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