JPH0519181B2 - - Google Patents

Info

Publication number
JPH0519181B2
JPH0519181B2 JP63508087A JP50808788A JPH0519181B2 JP H0519181 B2 JPH0519181 B2 JP H0519181B2 JP 63508087 A JP63508087 A JP 63508087A JP 50808788 A JP50808788 A JP 50808788A JP H0519181 B2 JPH0519181 B2 JP H0519181B2
Authority
JP
Japan
Prior art keywords
data
peripheral
register
buffer
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63508087A
Other languages
English (en)
Other versions
JPH02503124A (ja
Inventor
Rangasuwamii Paasasarashii Giridaa
Jefurii Toomasu Riibe
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.)
Unisys Corp
Original Assignee
Unisys 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
Priority claimed from US07/099,448 external-priority patent/US4864532A/en
Priority claimed from US07/099,447 external-priority patent/US4905184A/en
Application filed by Unisys Corp filed Critical Unisys Corp
Publication of JPH02503124A publication Critical patent/JPH02503124A/ja
Publication of JPH0519181B2 publication Critical patent/JPH0519181B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • 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/0656Data buffering arrangements

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)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

請求の範囲 1 I/Oデータ転送コマンドを起動するホスト
コンピユータと多数(n個)の周辺端末ユニツト
との間で、多重にI/Oデータ転送サイクルが可
能な周辺装置コントローラであつて、 (a) “n+1”個のアドレス指定可能なページセ
グメントと、このページセグメントの各々にお
いてアドレス指定可能な“m”個のワード位置
とを有するセグメント化されたバツフアメモリ
手段と; (b) 前記セグメント化されたバツフアメモリ手段
内のページセグメントとワード位置とをアドレ
スするためのメモリアドレス手段と、ここでこ
のメモリアドレス手段は(b1)乃至(b3)を
有する、 (b1) 算術論理ユニツトにより制御される周辺装
置アドレスレジスタであつて、前記バツフア
メモリ手段から選択された周辺端末装置へ向
けて転送されるデータを前記バツフアメモリ
手段内において指定するために前記バツフア
メモリ手段の前記“n+1”ページのセグメ
ントと“m”個のワード位置から1つを選択
し、または、1つの選択された周辺端末ユニ
ツトから前記バツフアメモリ手段へ向けて転
送されるデータを前記バツフアメモリ手段に
格納するために前記バツフアメモリ手段の前
記“n+1”ページのセグメントと“m”個
のワード位置から1つを選択するための周辺
装置アドレスレジスタと、 (b2) 前記算術論理ユニツトにより制御されるシ
ステムアドレスレジスタであつて、前記ホス
トコンピユータからバツフアメモリ手段へ向
けて転送されるデータを前記バツフアメモリ
手段内に格納指定するために前記バツフアメ
モリ手段の前記“n+1”ページのセグメン
トと“m”個のワード位置から1つを選択
し、または、前記バツフアメモリ手段から前
記ホストコンピユータへ向けて転送されるデ
ータを前記バツフアメモリ手段ににおいて指
定するために前記バツフアメモリ手段の前記
“n+1”ページのセグメントと“m”個の
ワード位置から1つを選択するためのシステ
ムアドレスレジスタと、 (b3) “n+1”ページ目のセグメントとその
“m”個のワード位置だけを選択するための
スクラツチパツドレジスタ; (c) データ転送の実行を制御し、そして前記周辺
装置アドレスレジスタ、システムアドレスレジ
スタ、スクラツチパツドレジスタを制御する前
記算術論理ユニツトを含むプロセツサ手段; とを具備した周辺装置コントローラ。
2 前記“n”個のページセグメントの各々は2
つのデータブロツクを保持し、一方のデータブロ
ツクは前記ホストコンピユータから選択された1
つの周辺装置に転送されるデータを格納し、他方
のデータブロツクは選択された前記1つの周辺装
置から前記ホストコンピユータに転送されるデー
タを格納する事を特徴とする請求項の第1項に記
載の周辺装置コントローラ。
3 前記データブロツクの各々は512バイトから
なる事を特徴とする請求項の第2項に記載の周辺
装置コントローラ。
4 前記“n+1”番目のページセグメント(ユ
ニツトキユー)は、未終了であるI/Oデータ転
送コマンド各々とその未終了の現在の状態とを、
各々格納するためのメモリ位置を提供する事を特
徴とする請求項の第1項に記載の周辺装置コント
ローラ。
5 前記スクラツチパツドレジスタは、起動され
た現在の各々のI/Oコマンドの未終了状態を格
納するために、前記“n+1”番目のページセグ
メント内の位置を選択する事を特徴とする請求項
の第4項に記載の周辺装置コントローラ。
6 前記n個のページセグメントの各々は前記n
個の周辺装置の1つに専用となつている事を特徴
とする請求項の第1項に記載の周辺装置コントロ
ーラ。
7 前記周辺装置アドレスレジスタにより制御さ
れるブロツクカウンタ手段であつて、前記バツフ
アメモリ手段と選択された1つの周辺装置との間
で転送される夫々が512バイトのブロツクを計数
するためのブロツクカウンタ手段を更に具備する
事を特徴とする請求項の第1項に記載の周辺装置
コントローラ。
8 前記プロセツサ手段は、 起動されたデータ転送コマンドの現在の状態を
知り、この起動されたデータ転送コマンドを次の
可能な時間サイクルにおいて再開するために、前
記n+1番目のページセグメントをスキヤンする
手段を具備する事を特徴とする請求項の第1項に
記載の周辺装置コントローラ。
9 前記周辺装置アドレスレジスタ、システムア
ドレスレジスタ、スクラツチパツドレジスタは、
前記バツフアメモリ手段のためのページセグメン
トアドレスを格納する第1のレジスタ部分と、 前記第1のレジスタ部分によつてアドレスされ
たページセグメント内のワード位置アドレスを格
納するための第2のレジスタ部分を有する事を特
徴とする請求項の第1項に記載の周辺装置コント
ローラ。
10 前記プロセツサ手段は、 前記スクラツチパツドレジスタ内に起動された
データ転送コマンドサイクルで転送されているワ
ードの数状態を格納し、続けて、次の可能な時間
内においてそのデータ転送サイクルを完全な終了
に向けて完了するために前記一状態をアクセスす
る手段を有する事を特徴とする請求項の第1項に
記載の周辺装置コントローラ。
明細書 本開示は、ホストコンピユータシステムと多数
の周辺端末デバイス間でデータを効率よく転送す
るための周辺機器コントローラに関する。
本開示は更に、デジタルモジユール間でデータ
転送が行なわれると共に、ブロツクデータがメモ
リ保持手段内に一時的に格納されるようなデジタ
ル回路にも関連する。
発明の背景 ホストコンピユータと色々な端末デバイス間の
データ転送のスループツト若しくはレートを、こ
のデータ転送動作を統御するのに使われる効率の
よいI/Oコントローラを使うことにより、向上
させることがコンピユータシステムネツトワーク
における定常的な努力である。
従来の多くのI/Oコントローラの特性は、こ
れらのコントローラが2番目のデータ転送コマン
ドサイクルの開始の前までに、1つの特定のデー
タ転送コマンドサイクルしか、実行終了すること
はできないというものであつた。多数の周辺装置
がホストコンピユータコンピユータのアテンシヨ
ンを要求するようなビジーなシステムでは、サー
ビスを要求している周辺装置がホストコンピユー
タのサービスを受けられるまでにしばしば若干の
遅れがあつたり、また、ホストコンピユータが
I/Oコントローラにアクセスしてから選ばれた
周辺装置にデータ転送を実行するまでに遅れたり
していた。小型コンピユータシステムインターフ
エース・データリンクプロセツサ(SMALL
COMPUTER SYSTEM INTERFACE DATA
LINK PROCESSOR)と呼ばれる本I/Oコン
トローラは、従来システムがはらむ、この時間の
遅れを減少させることにより、これらの時間の遅
れを極小化し、スループツトを上げるように動作
する。
ここに述べられるタイプの周辺装置コントロー
ラは、先行の米国特許の種々の特徴を有してい
る。これら特許の例として次のようなものがあ
る。米国特許第4280193号:『磁気テープデータ転
送システムのためのデータリンクプロセツサ』;
米国特許第4613954号:『データ転送を監視するた
めのブロツクカウンタシステム』;米国特許第
4644463号:『データ転送動作を調節するためのシ
ステム』;米国特許第4542457号:『バーストモー
ドのデータブロツク転送システム』;米国特許第
4607348号:『テープ装置から周辺装置コントロー
ラノバツフアメモリへの転送率の制御システム』。
これらの特許は、“データリンクプロセツサ”と
呼ばれるタイプの周辺装置コントローラを形成す
る多くの要素及び動作機能の背景及び説明をなし
ている。そして、これらの文献は、参照されるた
めに本開示に含まれるものとみなされている。
発明の目的 本発明の目的は、ホストコンピユータと複数の
周辺装置との間でデータ転送を制御する周辺装置
コントローラであつて、先行するデータ転送コマ
ンドの処理が途中であつても、後発のデータ転送
コマンドを先発のコマンドの実行にオーバラツプ
させて実行させることの可能な周辺装置コントロ
ーラを提案するものである。
開示の概略 本開示は、メインのホストコンピユータと多数
の周辺装置(それらは7台の周辺装置まで可能)
間のデータの転送制御及び実行のための、しばし
ばデータリンクプロセツサと呼称される周辺装置
コントローラに関する。データリンクプロセツサ
はホストコンピユータから選ばれたターゲツトの
周辺デバイスへ、または、選ばれた周辺デバイス
からメインホストコンピユータシステムへ転送さ
れている大きなブロツクデータを非常に早く転送
することを可能ならしめる。そのシーケンス動作
の一部は、転送中のデータを、それをセグメント
化したRAMバツフアメモリに一時保持すること
により、一時記憶を提供する。
セグメント化されたバツフアメモリは、特定の
グループの周辺装置各々に、又はその各々から転
送されるデータのデータ格納のための別個のセク
シヨンを提供する。
7台の周辺装置とデータ転送が可能なメインの
ホストコンピユータはただ1台だけであるので、
そのメインのホストコンピユータはその7つの周
辺装置の各々と、個別のセグメント化された時間
における可用時間をシエアーしなければならな
い。
一般的なオーバオールなスループツトを上げる
ために、本周辺装置コントローラの好適な実施例
では、選択された周辺装置が自身をそのデータリ
ンクプロセツサから切り離し、その一方で、その
周辺装置は自身の内部処理やサーチ等を実行す
る。かくして、本コントローラーは、ホストシス
テムとデータリンクプロセツサをして、他の周辺
端末装置に“語りかけ”そしてそれとのデータ転
送を開始するのを可能ならしめるように、構成さ
れている。
かくして、周辺装置がデータを受けたり送信す
ることができない間は、その使われない時間は、
他の周辺装置に係わるデータ転送やコマンド指令
に費やされるようになり、このために時間の浪費
がなくなる。
多くの旧式の周辺装置コントローラは、選ばれ
た期間をある特定の周辺装置とのデータ転送に割
り当て、そしてそのデータ転送が終了したあと
に、別の周辺装置のデータ転送にアテンシヨンこ
とができるというものであるけれども、本システ
ムの好適な実施例は、同時的且つ並行的なセツト
動作を可能とし、それにより、データリクプロセ
ツサはホストコンピユータが効果的なデータ転送
チヤネルを共有することを可能にする。そのため
に、前に起動された周辺装置が自身の内部処理に
かかりきりになることによりデータリンクプロセ
ツサとでデータを受信し送信することができない
間に、高速なデータが転送動作が1つまたは別の
周辺装置との間で常に可能となる。
本開示は、多くの周辺端末ユニツトの各々の1
つに対して専用部分を有するセグメント化された
バツフアメモリのためのアドレスコントロールシ
ステムのアーキテクチヤを提供する。好適な実施
例では、多数の端末ユニツトの各々の間で、多数
の転送サイクル動作が同時に終了に向けて実行さ
れる。何故なら、各々の起動された未完のデータ
転送動作は、バツフアメモリ手段の個別のユニツ
トキユーセグメント内にそのステータスがログさ
れ、その結果、ある最適な期間で未完のデータ転
送動作が発見され、未完の転送サイクルになつた
ポイントで再開されるようにすることができるか
らである。それから、選ばれた周辺装置との間で
の1ブロツクデータの転送がその最終的な終了ま
で継続される。
ホストコンピユータと多数の周辺装置ユニツト
の選ばれた1つとの間の遷移データ、バツフアメ
モリ手段の専用セグメント内に一時的に格納され
るので、周辺装置コントローラのマイクロプロセ
ツサは、開始されていた1グループのデータ転送
のいずれか1つを終了するのに最適な瞬間を選ぶ
ことができる。
【図面の簡単な説明】
第1図は小型コンピユータシステム・インター
フエース・データリンクプロセツサの主要部を示
すブロツク図、 第2図はデータリンクプロセツサ内で特化され
たセツトのアドレスレジスタと共に使われるセグ
メント化されたRAMバツフアメモリの詳細図、 第3図はホストコンピユータと選ばれた周辺装
置との間のデータ転送のためのシステム全体を一
般化したブロツク図、 第4図は、1つ以上の周辺装置間でデータ制御
動作とデータ転送動作とがどのようにして同時に
起こり、そのために、いかにしてデータ転送が不
可能のときの無駄な時間をなくすことができるか
を説明するためのフローチヤートに類似の図であ
つて、ここで、第4A図は従前のタイプの周辺装
置コントローラのシーケンシヤル動作を示し、第
4B図は本開示のシステムの下で可能なオーバラ
ツプしている同時動作を示す。
全般的な概観 本開示は、あるタイプの小型コンピユータシス
テム・インターフエース・データリンクプロセツ
サ(SCSI−DLP)、即ち、ホストコンピユータシ
ステムと、例えば磁気デイスクやストリーマテー
プユニツトのような周辺装置の如きのある互換タ
ーゲツト装置との間の情報転送を制御する周辺装
置を説明する。
SCSI−DLPは1つのプリント回路カードに収
めることができ、そして、7台のターゲツト装置
若しくは周辺装置に接続されるSCSIバス上での
通信やホストコンピユータDLP通信を制御する
のに使われる。
以下、SCSIDLPはデータリンクプロセツサ若
しくはDLPと称することとする。また、ターゲ
ツト装置若しくは周辺装置は時々、デイスクユニ
ツトまたはテープユニツトであるとして扱われる
ものとする。
ここで論じられ、小型コンピユータシステム・
インターフエース・データリンクプロセツサと呼
ばれる特殊な周辺装置コントローラは、メツセー
ジレベルインターフエース(即ち、MLI)と呼
ばれる特殊なインターフエースを使うところのバ
ロース(BURROUGHS)のメインフレームに従
うある種のホストシステムと互換性がある。この
MLIは、メインホストコンピユータシステムと
データリンクプロセツサとの間の通信のための特
殊化されたプロトコルを用いる。
データリンクプロセツサは、メツセージレベル
インターフエースを介したホストコンピユータシ
ステムとの通信並びに、SCSIインターフエース
を介したリモート装置若しくは周辺装置との通信
を行なうのに必要な論理及び制御を提供する。
これらのタイプのデータリンクプロセツサを含
む以前の特許に説明されているように、データリ
ンクプロセツサは、ホストコンピユータシステム
から自分に送られてきたI/O記述子(インスト
ラクシヨンコマンド)に基づいて動作する。この
ようにして、第3図に示されているように、ホス
トコンピユータ10はI/O記述子をデータリン
クプロセツサ20に送ることができる。データリ
ングプロセツサ(DLP)はI/O記述子のOPコ
ードによつて特定された動作を解釈し、その動作
を、1つ以上のコマンドを端末装置に発行するこ
とにより実行する。その動作の終了時に、結果記
述子(RESULT DESCRIPTOR)を生成して、
この記述子を、その当該データ転送動作の終了/
未終了の区別若しくはステータスを示す目的でも
つて、ホストコンピユータに返す。
データリングプロセツサ20は、各々の端末ユ
ニツトについて、1つのI/O記述子をキユーす
ることができる多重記述子ユニツトである。ホス
トコンピユータシステム10がデータリンクプロ
セツサ20から切り離される毎に、DLPはシー
ケンシヤル順にキユー処理を開始する。この場合
のキユー処理は、円環状のキユーのように、それ
まで動作処理されていた最後の装置に連続的に続
く装置から始めることとする。
これらのタイプのデータリンクプロセツサの動
作の基本は、類似のタイプのデータ転送動作に関
連したある先行特許に述べられている。これらの
先行特許の1つの例が『磁気テープデータ転送シ
ステムのためのデータリンクプロセツサ』という
米国特許第4280193号であり、ここには、データ
転送動作を制御するための1つのタイプの周辺装
置コントローラ、即ちデータリンクプロセツサが
説明されている。もう1つの先行特許は、『デー
タ転送動作を調節するためのシステム』という米
国特許第4644463号であり、これには、類似のタ
イプのデータリンクプロセツサについてと、メイ
ンホストコンピユータと周辺装置間のデータ転送
動作を制御するために周辺装置アドレスレジスタ
及びシステムアドレスレジスタの使用についてと
が更に説明されている。これらの特許は、共通の
譲り受け人により所有されており、そして、それ
と同じ譲り受け人に所有されている本開示におけ
る参照のためにここに含まれているものである。
3ポートメモリ機構: 本開示に関連する特別のメモリ方式は、SCSI
−DLPにページ当り1024バイトで8ページから
なる3ポートメモリ機構を提供する。これらのペ
ージの各々は、3つの異なるメモリアドレスレジ
スタによりアクセス可能である。これにより効果
的な動作が可能となり、それにより、0乃至6ペ
ージのいずれか1つのページにおいて、Sレジス
タ及びPレジスタ(これらはアドレスレジスタ)
を介したデータ転送を行うことが可能となる。こ
の過程では、どんな転送のステータスも、S、P
レジスタとは独立にふるまうスクラツチパツド
(SPAD30)アドレスレジスタを使つて、ペー
ジ7において更新される。
このアーキテクチヤの考慮すべき特徴は、ホス
トから(ホストへ)の次のデータ転送を始める前
に、バツフアメモリ全体のデータを空にする必要
もなしに、7つまでのデータ転送をある時点で進
行することができるということである。この回路
配置のために、かなり高度なデータスループツト
が可能になる。
1つの動作を開始するために、ホストコンピユ
ータ10はDLP20に、1つのI/O記述子と、
命令されたその特別な動作を識別する記述子リン
クとを送る。I/O記述子自体は実行されるべき
動作を指定する。
I/O記述子リンクを受けた後に、DLP20
は、ホストコンピユータ10に対して、次のメツ
セージレベルインターフエース“状態”の1つに
遷移する。
結果記述子(RESULT DESCRIPTOR): この状態遷移は次のことを示す。即ち、データ
リンクプロセツサが直ちに結果記述子をホストコ
ンピユータに返して、これによりあるサイクルの
終了、未終了、または何等かのエラーが検出され
たということを示す。
切り離し(DISCONNECT): この状態遷移は次のことを示す。即ち、データ
リンクプロセツサがこの時点でこれ以上の動作を
受け入れることができないことを、そして、I/
O記述子と記述子リンクとがパリテイエラーもな
くDLPにより受けられた。
アイドル(IDLE): この状態遷移は次のことを示す。即ち、データ
リンクプロセツサは、その時点では、正当な動作
コマンドをもう1つ受け入れることができること
を、そして、以前のI/O記述子と記述子リンク
とがパリテイエラーもなくDLPにより受けられ
たこと。
1つの指令された動作の終了時点で、DLP2
0は周辺装置から与えられた情報とデーアリンク
プロセツサ内の内部フラグとから、結果記述子を
作る。この情報はDLPによりホストコンピユー
タ10に返される。
本発明に用いられているデータリンクプロセツ
サはセグメント化されたデータバツフアメモリを
使用している。このDLPデータバツフアメモリ
は第2図に関連して説明されるように、15個の部
分に分割されている。最上位の512ワードは、目
的の周辺装置からの照会や、目的の周辺装置への
センスコマンドのための“キユー”情報や、ユニ
ツト関連の情報を格納するためのスクラツチパツ
ドとして使われる。残りの領域は、各々が512ワ
ードの7ページに分割され、そして各々のページ
は各々256ワードの別々の2つのブロツクを有す
る。ページ内のこれらの2つのブロツクは、各々
の目的装置若しくは周辺装置に関連したデータ格
納のために予約されている。
DLP20とホストコンピユータ10間のデー
タ発信に関して、データは一度に、水平パリテイ
ワードを伴なつた1バツフア分(512ワード)だ
け転送される。DLP20は“ワード指向”であ
り、ここで、1ワードとは16ビツト+プラスパリ
テイである。
“読み出し(READ)”動作では、データリン
クプロセツサはバツフアセグメント内の全ての可
能なデータをホストコンピユータシステム10に
送ることになり、それから、自身をホストコンピ
ユータから切り離す。
“書き込み(WRITE)”動作では、複数ブロ
ツクのデータが、メモリバツフア24内における
一時記憶のために、ホストコンピユータ10から
送られ、選択された周辺装置にデータが転送され
る。
DLP・周辺装置間の通信: データリンクプロセツサは選択された周辺装置
との間に、あるタイプのフエーズをSCSIバス上
に設定することによつて、通信する。
(i) バスフリー(Bus Free)フエーズ:このフ
エーズは、いかなる周辺装置もバス44をアク
テイブに使用してはいなく、そしてバス44が
DLP20がそのシーケンスをスタートするの
に使用可能であることを示す。DLPは制御信
号をモニタしバス44が自由に使えるときを決
定することにより、“バスフリー”状態を検出
する。
(ii) 調停(Arbitration)フエーズ:このフエー
ズの間は、DLPは、起動者の役割を引き受け
るために、SCSIバス44の制御を獲得する。
(iii) 選択/再選択(Selection/Reselection)フ
エーズ:このフエーズの間に、DLP20は動
作を起動するために周辺装置を選択する。“再
選択”の間に、周辺装置は、データリンクプロ
セツサにより以前にスタートされてはいたが、
目的の周辺装置により停止させられていた動作
を継続するために、データリンクプロセツサに
再接続する。
(iv) 情報(Information)フエーズ:この情報フ
エーズは次のような4つのフエーズを含むもの
と考えることができる。但し、必ずしもこの順
ではない。
(a) コマンドフエーズ:このフエーズの間に
DLPは目的の周辺装置により実行されるコ
マンドを送る。このコマンドは6または10バ
イトのコマンドブロツクからなる。
(b) データフエーズ:“データ入力”フエーズ
においては、DLP20は周辺装置からデー
タを受ける。“データ出力”フエーズの間の
期間は、データが目的の周辺装置に送られる
ときに、データリンクプロセツサDLPによ
り使われる。
(c) ステータスフエーズ:このフエーズの間
に、DLP20は動作終了時点で、目的の周
辺装置から“ステータスバイト”を受けと
る。
(d) メツセージフエーズ:メツセージ入力”フ
エーズの間は、DLP20は目的の周辺装置
から“メツセージバイト”を受けとる。“メ
ツセージ出力”フエーズ間に、DLP20は
メツセージバイトを目的の周辺装置に送る。
プロトコルコントローラ40はSCSIバス4
4をモニタし、それに接続された周辺装置に対
するスレーブとして振る舞いその特定のフエー
ズを識別するための情報を受ける。フエーズセ
ンスレジスタ40prがこの情報を保持し、プロ
トコルコントローラ40がDLP20にインタ
ラプトをかけて、適当なプロトコルルーチンが
選択されるようにALU32に知らせる。
使用されるI/O記述子指令の典型例は、
“デバイスバツフア読取り“指令及び”DLPバ
ツフア書き込み”指令により説明することがで
きる。
デバイスバツフア読取り: この動作は、DLP20に対し、目的の周辺装
置からホストコンピユータ10に対し、65636バ
イトまでのデータを転送させるものである。デバ
イスバツフア読取りは、周辺装置のデータバツフ
アメモリ及びSCSIバス44の完全さをテストす
るための診断機能として、“デバイスバツフア書
き込み”コマンドと共に使われる。
DLPバツフア書き込み: “DLPバツフア書き込み”動作では、DLPが
ホストコンピユータからの14バツフア(各々
3584MLIワード)分のデータをバツフア単位で
受け容することができる。この動作のためのデー
タ格納領域は、“バツフア読取り”動作で使われ
る領域であつて、ホストコンピユータと目的の周
辺装置間の全てのデータをバツフアリングするた
めにDLPにより使われる領域の等価である。こ
の動作は、ホストコンピユータシステムとデータ
リンクプロセツサとの通信を検証するためのアイ
ソレーシヨン動作として意図されている。
データ書き込み動作: この動作では、データリンクプロセツサが目的
の周辺装置にデータを転送するものであつて、テ
ープドライブについては、現在の媒体上の位置か
ら始めて媒体上にデータを書き込むものである。
デイスク装置ならば、I/O記述子で指定された
アドレスが使われる。その長さフイールドは、書
き込まれるべきデータ量をバイトで指定する。
データ読取り動作: この動作では、DLP20が目的の周辺装置か
らデータを読出し、それをホストコンピユータに
送る。転送データ量はI/O記述子の長さフイー
ルドに(バイト単位で)指定される。デイスク装
置では、I/O記述子にアドレスを有する。
好適な実施例の説明 第1図には、ホストコンピユータ10と1セツ
トの端末装置(例えば、テープ周辺装置50やデ
イスク周辺装置51〜56)との間のデータ転送
動作を扱うための周辺装置コントローラとして基
本的に動作するところの、小型コンピユータシス
テムインターフエース−データリンクプロセツサ
(SCSI−DLP)のブロツク図が示されている。
ホストコンピユータシステム10とドライバ/
レシーバ21との間でのデータ転送がメツセージ
レベルインターフエース(MLI)と呼ばれるバ
ス12を介して行なわれる。このMLIバスはB
5900,B6900,B7900システムや、
Aシリーズや、Vシリーズのシステム等のバロー
ス(Burroughs)のメインホストコンピユータと
互換性のある特別なプロトコルを提供する。
SCSI−DLPからのデータ転送や周辺装置から
のデータ転送は、ドライバ/レシーバ42と端末
周辺装置50〜56間で転送を行なうSCSIバス
と呼ばれるバス44によつて達成される。
米国特許4613954号のような以前に発行された
特許が、データリンクプロセツサの使用法や動作
を開示する。また、転送中のデータが一時的に格
納されるメモリバツフア内の位置やアドレスする
ため、周辺装置アドレスレジスタやシステムアド
レスレジスタ等の使用方法等も開示されている。
例えば、データが周辺装置50−56の1つか
ら転送されているときに、転送データは第1図の
セグメント化されたRAMバツフア24のような
バツフアメモリに一時的に置かれる。このデータ
の格納位置は、データが格納されるべきアドレス
位置を提供する周辺装置レジスタ(例えば、第1
図の26)により決定される。
それから、適当な時点で、このデータはSレジ
スタ28から供給されたアドレスに従つてアクセ
スされ、そのために、データをドライバ/レシー
バ21を通しMLIバス12によつてホストコン
ピユータ10に転送することができる。周辺装置
からメインホストコンピユータに向けてこの方向
のデータの流れを“読出し”動作と呼ぶことがで
きる。Sレジスタ28の主な役割りは、メインホ
ストコンピユータ10への連続的なデータ転送の
ための一時格納に用いられるアドレス位置を与え
ることである。
Sレジスタ28は、データ転送がホストコンピ
ユータ10とSRAMバツフア24間で起こると
きの、バツフア24の内位置アドレスデータを与
えるために使われる。この場合、Sアドレスレジ
スタ28は、ホストコンピユータ10への連続転
送のためにバツフア24内でアクセスされるデー
タのアドレスを与える。同様に、データがホスト
コンピユータ10からバツフア24へ流れている
ときは、Sレジスタ28は、このデータが一時格
納されるアドレス位置を与える。
データがホストコピユータから周辺装置50−
56の1つの最終目的の装置に向けて転送されて
いるときは、この動作は“書き込み”動作と呼ば
れ、そして、データは、Sレジスタ28により指
定された位置のメモリバツフア24に格納されつ
つ、ホストコンピユータから周辺装置に向けて移
動する。
このようにして、第1図に示されているよう
に、SCSI−DLP20は、Pレジスタ26(周辺
装置アドレスレジスタ)、Sレジスタ28(シス
テムアドレスレジスタ)や、さらにSPADレジス
タ30(スクラツチパツドレジスタ)により指定
されたアドレス位置を有するセグメント化された
RAM(SRAM)を使用しているようにみてとれ
る。
算術論理ユニツトALU32は、バス25上で、
メモリバツフア24にデータを送出し、または同
バツフアからデータを受けると共に、同時に、ア
ドレスを3つのレジスタ、即ち、Pレジスタ2
6、Sレジスタ28、SPAD30に与える目的で
動作する。これら3つのレジスタはアドレスデー
タを、セグメント化RAMバツフア24に向けて
アドレスバス31上に送出する。
かくして、“書き込み動作”では、ホストコン
ピユータ10から送出されて一般的にRAMバツ
フア24内に置かれる。それから、データは取出
されて、バス19を通り、(ワードバイト)変
換器23そしてプロトコルコントローラ40に渡
される。プロトコルコントローラ40はデータを
SCSIバス44上を通じて、適当に指定された周
辺装置(テープユニツト50若しくはデイスクユ
ニツト51−56等)に送出することができる。
データが上記とは異なる方向に送出される場
合、即ち、周辺装置からホストコンピユータシス
テムに送出される“読出し動作の場合には、デー
タはSCSIバス44、それからドライバ/レシー
バ42を介し、プロトコルコントローラ40そし
てメモリバツフア24に渡される。しかし、デー
タがメモリバツフア24に転送される前に、デー
タは“ワード構成”回路22を通過する。この回
路は周辺装置から受けたデータバイトを“ワー
ド”に変換するものであり、このワードがホスト
コンピユータ10への連続的な送出のために、バ
ツフア24内に置かれる。
第1図には、ブロツクカウンタ回路36が、バ
ツフア24へ転送される又はバツフア24から取
出されるところのデータのブロツク数を計数する
ために使われる様子が示されている。このブロツ
クカウンタ36はPレジスタ26の制御の下に置
かれ、そのために、計数は、ホストコンピユータ
システム10とメモリバツフア24間で、また
は、メモリバツフア24と選択された周辺端末5
0−56間のいずれかで転送されたデータのブロ
ツク数に対してなされる。
DMA即ち、ダイレクトメモリアクセスロジツ
クユニツト34が、メモリバツフア24内に(ま
たは、そこから)、そのメモリバツフア24の
各々のワード位置をアクセスし、その中に1ワー
ドを置く必要もなくて、データブロツクを高速に
転送することができるように設けられている。む
しろ、全体の一連のアドレスが連続的にアドレス
され、1ワードのデータが連続的にPアドレスレ
ジスタ26を使うことによりメモリ24内に置か
れる。
第2図には、セグメント化されたバツフアメモ
リ24並びにそれと協同する主な要素の詳細な図
が示されている。
第2図により明らかにされるように、セグメン
ト化されたRAM24は、種々のセクシヨンに分
割されている。そのセクシヨンの各々は、全体的
なブロツクユニツト24の右側に示された16進ア
ドレスを有するように示されている。
このバツフアメモリには、ページ0、ページ
1、…ページ6までの、“ページ”と称される7
つの別々のメモリセクシヨンを要するべく、7つ
のセグメントがある。更に、“ユニツトキユー”
若しくはスクラツチパツドと称される8番目のセ
グメントもある。
セグメントバツフア24の特定の位置をアドレ
スするために、1つのアドレスがバス31上に供
給される。そのアドレスデータは、Pレジスタ2
6、またはSレジスタ28、またはSPADレジス
タ30(スクラツチパツド)のいずれかから来
る。
レジスタ26,28,30の各々は、ページを
表わす3ビツトのセグメントと、これに続きオフ
セツトを決定する9ビツトを有する。このオフセ
ツトは、関連する特定のページ内における位置番
号である。クラツチパツドアドレスレジスタ
(SPAD)は、そのページフイールドが常に二進
で“111”であるので、ユニツトキユー(第2図)
だけをアドレスするようになつている。
ブロツク24であるメモリバツフアでは、各々
のページは更に2つのブロツクに分割されてい
る。これらはブロツク1とブロツク2と呼ばれ
る。この特定な実施例では、1つのブロツクは
256ワードのデータに等価である。
RAMバツフア24に入れられる実際のデー
タ、またはRAMバツフア24から除かれる実際
のデータは、第2図に示されるように、バス15
により取り扱われる。データをRAMバツフア2
4に入れるためには、ホストコンピユータ10か
らMLIバス12を通つて、それからバス15を
通つてもよい。また、逆方向では、データは、
RAMバツフア24から取出され、バス15に渡
され、そしてバス12からホストコンピユータ1
0へと渡つていく。
同様に、周辺端末側では、データは、周辺端末
50−57のいずれか1つから、SCSIバス44
を通つて、プロトコルコントローラ40、更に、
バス19、そして、バス15を介してメモリバツ
フア24に送出される。同様に、逆方向では、デ
ータは、メモリバツフア24から取出され、そし
てバス15に送出され、バス19を通つてプロト
コルコントローラ40、そしてSCSIバス44か
ら、要素50−57のグループの指定された周辺
装置に渡される。
第3図には、システムネツトワークの簡略化し
たブロツク図が示されている。ホストコンピユー
タ10が、制御のためとデータ転送のために、複
数の周辺端末50〜56に接続されている。特別
なメツセージレベルインターフエースプロトコル
バス12が、ホストコンピユータを、小型コンピ
ユータシステムインターフエース・データリンク
プロセツサ20に接続する。データリンクプロセ
ツサは、基本的には、ホスト制御ブロツク10
0、メモリ制御ブロツク200、小型コンピユー
タシステムインターフエースバス44により周辺
端末に接続される小型コンピユータシステムイン
ターフエース制御ブロツク300とを供給する。
ホスト制御ブロツク100は(第1図を参照し
て)、バス12、ドライバ/レシーバ21、バス
15、メモリバツフア24とから構成されている
ようになつている。
メモリ制御ブロツク200は、第1図を参照し
て、Pレジスタ26、Sレジスタ28、SPADレ
ジスタ30、アドレスバス31、ALU32とバ
ス25、そしてブロツクカウンタ36とから構成
されているようになつている。
SCSIインターフエース制御ブロツク300は、
SCSIバス44、ドライバ/レシーバ42、プロ
トコルコントローラ40、ダイレクトメモリアク
セスロジツク34、バス35、バス19、並び
に、ワード−バイト変換器とから構成されている
と考えてよい。
第4A図、第4B図には、過去の手法による
I/O処理と本開示に述べられた新規な手法との
間の顕著な差を示タイムログチヤートが示されて
いる。
第4A図には、過去の周辺装置コントローラ
(データリンクプロセツサ)がデータ転送動作を
シーケンシヤルに行なつている様子が示されてい
る。第4A図から読取れるように、ホストに対し
てデータ転送を行なうようにというデイスクに対
する要求があると、デイスクドライブ51は
DLP20から切り離される、そして、適当なセ
クタを見付けるために、いくつかのデータシリン
ダを横断する“シーク”モードに進む。その適切
なセクタが見付かれば、デイスクドライブ51は
データリンクプロセツサ20に再接続を要求し
て、接続がなされるまで待たねばならない。その
後は、要求されたセクタから全てのデータがデー
タリンクプロセツサのバツフアメモリに転送され
てそのI/O動作を終了することができる。この
ようになされたときに始めて、デイスクドライブ
52が、あるデータをサーチし、結果的にそのデ
ータをホストに転送するようにと命令されること
が可能となるだけである。しかし、デイスクドラ
イブ52は、その適当なセクタから要求されたデ
ータを求めてシークし、データリンクプロセツサ
に再接続されるのを待たねばならない。そうして
始めて、バツフアメモリを介してホストへの全て
のデータの転送を継続することが可能となる。か
くして、この動作は、唯一のデイスクドライブが
ある与えられた時刻に活動することができるとい
うシーケンシヤルなものである。
先行のデータリンクプロセツサ(I/Oコント
ローラ)では、複数のデイスクドライブに同時に
“シーク”させることは可能であつた。しかし、
それらにおいては、別のシリンダ境界を超えるこ
とが必要であつたり、データ転送動作が開始され
てから内部処理を行なわなければならなくなつた
とき等においては、それらのデイスクドライブは
切り離すことはできかつた。
さて、第4B図を参照して、本開示の構造的構
成により可能となるシーケンシヤル動作を説明す
る。例えば、ホストがI/O記述子(データ転送
指令)を送り、そして、特定のセクタのデータを
選択するために、デイスクドライブ51にコマン
ドを出力する。すると、デイスクドライブは
DLP20から切り離され、所望のセクタデータ
を得るためのシーク過程を終了する。さて、デイ
スクドライブがデータをシークしている間に、同
時に、ホストはデイスクドライブ52にデータ転
送コマンドを送ることができる。その後で、デイ
スクドライブ52は切り離され、適当なセクタの
要求されたデータをシークする。これらのこと
は、デイスクドライブ51の動作が行なわれてい
るのと同じときに、起こつているのである。
さて、デイスクドライブ51のサイクルに戻る
と、デイスクドライブ51はデータリンクプロセ
ツサ20に再接続され、そのデータを転送し、そ
の後、自身データリンクプロセツサ20から切り
離す。一方、デイスクドライブ51はDLPから
切り離されるや否や、デイスクドライブ52がデ
ータリンクプロセツサに再接続し、そのデータを
転送してI/Oサイクルを終了することが可能で
ある。しかし、同時に、デイスクドライブ52が
データを転送している間に、デイスクドライブ5
1は新たなセクタへシークするためにシリンダを
横断することが可能であり、デイスクドライブ5
2がそのI/O動作を終了するや否や、デイスク
ドライブ51はデータリンクプロセツサに再接続
してデータリンクプロセツサ20にデータを転送
するようになる。
このようにして、デイスクドライブ51と52
の間のように、いくつかの動作が同時に起こるこ
とがあり得ることが分る。同様に、セグメント化
されたバツフアRAM24により、7台の周辺端
末からの7つまでのデータ転送サイクルが同時に
行なうことが可能となる。かくして、いずれのデ
イスクドライブが“シーク”タイム(または、他
のいかなる内部処理、例えば不良セクタ上の再試
行やその再配置や、シリンダ境界の横断等)に関
連しているとしても、この期間は、他のデイスク
ドライブがコマンドを受けたり、ホストコンピユ
ータ10に最終的に転送するためにデータリンク
プロセツサにデータを戻したりするのに有効に使
われる。
かくして、この巧妙な動作により、SCSIバス
44を最適に使用することが可能となる。何故な
ら、SCSIバスは決してアイドルとはならず、
種々の複数の周辺装置との間で、連続的に、デー
タ転送やコマンド転送に使われるからである。
動作機能: ホストシステム10が1つ以上のI/O記述子
(指令)をSCSI−DLP20に送つた後は、DLP
はコマンドを、端末50〜57のグループから選
択された周辺装置に発行する。
もし、例えば、DLP20が“読出し”コマン
ドや“書き込み”コマンドをデイスクドライブ5
1に発行したならば、デイスクドライブ51は、
そのコマンドを受け取り、それからDLP20を
切り離す。何故なら、もしデータがバツフア24
から取出されて周辺端末51に転送されるとした
ならば、要求されたデータにアクセスするために
は、要求されたセクタに“シークするのが許され
るのにある時間が必要となると、デイスクドライ
ブ51は認識するからである。
同様に、もし、データがデイスクドライブ51
からDLP20へ、そしてバツフア24に転送さ
れるならば、そのとき再び、“シーク”タイムが、
要求されたセクタを見付けるために必要となる。
デイスクドライブ51がDLP30から切り離さ
れると、このことがSCSIバス44を自由にする。
SCSI−DLP20は、Sレジスタ28、Pレジ
スタ26のアドレスを、セグメントバツフア24
のユニツトキユー(第2図)領域に格納すること
により、それらのアドレスをセーブする。その間
は、セグメント化されたRAMバツフア24のア
ドレシングを実行するためには、SPADレジスタ
30を使う。
要求されたデータを得るためにデイスクドライ
ブ51は磁気デイスク上で“シーク”しに行つて
しまつており、そして、SCSIバス44は自由で
あるので、DLP(データリンクプロセツサ)20
はもう1つのコマンド(例えば、デイスクドライ
ブ52へのコマンド)を発行することができる。
デイスクドライブ52は、それで、デイスクド
ライブ51のそれと同様な動作を実行する。即
ち、ドライブ52は、DLPからコマンドを受け、
データリンクプロセツサから自身を切り離し、デ
ータリンクプロセツサ20はシステムレジスタ2
8と周辺装置レジスタ26、その他のアドレスを
セーブする。
このようにして、7台のデイスクドライブが同
時にデータをシークするのに忙しくなるまで、こ
の特定のプロセスタイムを何度も繰返すことが全
く容易となる。
結果的に、1つのデイスクドライブは要求され
たデータセクタを捜し出し、自身をSCSI−DLP
20に再接続する。例えば、デイスクドライブ5
1がこの動作を行なつてDLPに再接続し、そし
て、システムレジスタ28と周辺装置レジスタ2
6のセーブされたアドレシ値が、そのアドレツシ
ングのために、SPADアドレスを使つて、バツフ
ア24のキユーから読出される。
DLP20に再接続した後に、デイスクドライ
ブ51はデータを、セグメント化バツフア24の
“ページ1”に、SCSIプロトコルコントローラ4
0を介して転送することを開始する。
周辺装置アドレスレジスタ26は、RAMバツ
フア24をダイレクトメモリアクセスプロセスに
基づいてアドレスするのに使われる。256ワード
(512バイト)が、ページ1のブロツク1に置かれ
た後に、SCSI−DLPは、ブロツク1(第2図)
からデータを転送することを始める。ここで、1
ブロツクのデータは256ワードに等しい。データ
は、システムレジスタ28を使つてRAMバツフ
アをアドレスしつつ、ホストに転送されていく。
一方、デイスクドライブ51はデータをページ
1というセグメントに置いていく。しかし、今
や、ブロツク2に置いていくようになる。このブ
ロツクは、第1のページの、256ワードを保持す
る上位セクシヨンである。この動作は、データの
ホストコンピユータ10への転送と同時に起こ
る。
SPADアドレスレジスタ30は、進行中にI/
O動作の状態を更新するために、セグメント化メ
モリバツフア24のユニツトキユー部分を頻繁に
アドレスする。
スクラツチパツドアドレスレジスタ、SPAD3
0は、データ転送処理におけるクリテイカルな役
割りを受け持つように動作する。SPADレジスタ
30がなくては、Sレジスタ28がセーブされ、
そこにユニツトキユーアドレスがロードされる必
要があるであろうし、また、セグメント化RAM
バツフアメモリ24のキユー部分のデータを更新
する必要もあろうし、また、セーブされた値を再
び再ロードする必要もでてこよう。明らかに、こ
のことはかなりの時間を食つてしまうことにな
る。かくして、第3のレジスタ、SPAD30を無
くしては、必要なコードの複雑さが増大し、シス
テムのパフオーマンスが低下してしまうであろ
う。
デイスクドライブは51は、“シリンダ境界”
を横断したり、時間を食う他のタスクを実行した
りするのに、時間を必要とするかもしれない。そ
れ故に、デイスクドライブ51はSCSI−DLP2
0から離れ、DLP20自身は、現在のデータポ
インタ(SレジスタアドレスとPレジスタアドレ
ス)をセグメント化バツフアメモリ24のキユー
部分にセーブすることになる。このキユー部分は
SPAD30によりアドレスされる。
この切り離しプロセスが起こつた後は、SCSI
−DLP20がデイスクドライブ51,52の
DLP20への再接続を持つている中間、DLP2
0は、ホストコンピユータ10からのさらに多く
のI/O記述子を受けたり、別のデイスクドライ
ブにコマンドを発行したりすることが可能にな
る。
もう1つの例として、もしデイスクドライブ5
2が要求データセクタを見付け、それからDLP
に再接続し(デイスクドライブ51が先にしたよ
うに)、そしてそれから、デイスクドライブ52
がデイスクドライブ51が丁度したように、デー
タ転送を開始するならば、デイスクドライブ52
はデータを、セグメント化バツフアメモリ24の
ページ2というセグメントに転送していることに
なるという点を留意すべきである。
かくして、同時的であつて同じ時刻に処理され
る2つのデータ転送があることが分つた。
ここで、SCSI−DLP20がデイスクドライブ
52のデータ転送を許す前に、その残りのページ
“1”セクシヨンの内容を掃き出す必要はないと
いう点に、注目することができる。これは、デー
タが単純に別のページに置かれたからである。
このようにして、セグメント化バツフアメモリ
24には少なくとも7セグメント若しくは7ペー
ジが使用可能であるので、このようなデータ転送
サイクルを“同時的”に行なうことを、7つの異
なるデイスクドライブに対して拡張することも可
能である。かくして、ホストコンピユータにより
起動された複数のI/Oコマンドの色々な実行ス
テージにおいて、複数のデータ転送サイクルを同
時的に行なうことが可能である。
さて、デイスクドライブ51がデータ転送を行
なつてきている最中に、デイスクドライブ52も
データ転送を行なつているという状態に戻つて説
明すると、デイスクドライブ52はセグメント化
バツフアメモリ24を介して全てのデータを
SCSI−DLP20に転送し、このSCL−DLPが代
りにホストコンピユータにそのデータの転送が可
能になるということが理解できる。
デイスクドライブ52がそのデータ転送動作を
全て終了した後では、デイスクドライブ51が前
述した再接続過程に入り、それのデータをホスト
に転送するという特定のサイクルを終了するよう
になる。
かつての型のデータリンクプロセツサは、一般
的に、1つの連続したバツフアメモリを採用し
た。このメモリは、棚から離れた部分から設けら
れた、1つ若しくは2つのハードウエアレジスタ
によりアドレス可能であつた。この手法に固有な
欠点は、どんなI/O動作コマンドの転送サイク
ルも、次のI/O転送サイクルが始まる前に完全
に終了しなくてはならないということである。
この問題を解消するために、本SCSI−DLPは
その特別なバツフアメモリ24(SRAM)を、
各ページ容量が1キロバイトである8つの別々の
ページ(セグメント)に“セグメント”化してい
る。
このセグメント化は、プログラムアレーロジツ
クユニツト(PAL)を使うことによりハードウ
エア化される。
2つのメモリアドレスレジスタが通常は使われ
る。Sメモリアドレスレジスタ28は、ホストシ
ステムからのデータ転送と、SRAMバツフアメ
モリ24から取出すデータ転送とを制御しモニタ
するのに使われる。周辺装置レジスタ、即ちPレ
ジスタ26は、データ転送動作が周辺装置に関連
するとき、バツフア24へのデータ転送とバツフ
ア24からのデータ転送とを制御しモニタするの
に使われる。かくして、メモリアドレスレジスタ
SとPのいずれかが、8ページのメモリのいずれ
かの1つのワードをアドレスするのに使うことが
できる。かくして、第2図に示されているよう
に、Pレジスタ26は3ビツトと1つのオフセツ
トセグメントからなるページアドレスセグメント
を有する。オフセツトセグメントがページ内のワ
ードアドレスを与える。このオフセツト部分は、
ビツト0乃至ビツト8の全部で9ビツトからな
る。ページセグメントはビツト9乃至ビツト11の
全部で3ビツトを含む。同様に、Sレジスタ28
とSPADレジスタ30も、ページセグメントとオ
フセツトセグメントを有する。
アドレスレジスタの下位の9ビツトはマイクロ
コード若しくはハードウエアにより、ALU32
(第1図)により次アドレスにインクリメントさ
れる。こうして、この9ビツトは、オフセツトセ
グメントのインクリメントに先立つて、1データ
ワードがメモリバツフア24のそのアドレスに転
送されたことを示す。
そのレジスタのセグメント部分(ページアドレ
ス)はインクリメントしない。そして、オフセツ
ト部分はモジユロ512のカウンタとして機能す
る。
もし転送が異なるページに行なわれるのが必要
ならば、適当なアドレスレジスタに所望の値をロ
ードし、全体のレジスタが新しい値でロードされ
たかを見なければならない。このロードの後で、
セグメント部分は、次のロードが行なわれるま
で、無変化のままである。
Sアドレスレジスタ28とPアドレスレジスタ
26とを補助するために、第3若しくは第3位
の、スクラツチパツドアドレスレジスタ、即ち
SPAD30と呼ばれるレジスタがある。この
SPADレジスタ30がメモリの8番目のセグメン
ト(セグメント=111)だけをアドレスする。S
レジスタやPレジスタと同様の動作を行なう
SPADアドレスレジスタは、SやPレジスタのオ
フセツト部分と丁度同じ機能をするオフセツト部
分を有する。しかしながら、SやPレジスタと異
り、SPADレジスタ30はそのアドレスの一部と
してのセグメント部分を含まない。
ここでは、小さなネツトワークのために使われ
るあるタイプのコンピユータにより制御されるネ
ツトワーク内の複数の周辺端末を取り扱うための
I/Oコントローラが述べられてきた。そのI/
Oコントローラ、即ち、データリンクプロセツサ
と時々呼ばれるものは、複数のデータ転送サイク
ルを同時的に実行せしめ、時間を節約して、スル
ープツトを実質的に向上させる。
1つの好適な実施例が述べられてきたが、その
概念は他の具現化をも含むものであり、次に請求
の範囲により表わされる。
発明の効果 以上説明したように本発明によれば、バツフア
メモリ手段内のn+1番目のセグメントをアドレ
スするスクラツチパツドレジスタを具備すること
により、先行するデータ転送コマンドの処理が途
中であつても、そのコマンドの状態をn+1番目
のセグメントに退避することが可能となり、後発
のデータ転送コマンドを先発のコマンドの実行に
オーバラツプさせて実行させることができる。
JP63508087A 1987-09-21 1988-09-12 周辺装置コントローラ Granted JPH02503124A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US07/099,448 US4864532A (en) 1987-09-21 1987-09-21 Small computer systems interface--data link processor
US07/099,447 US4905184A (en) 1987-09-21 1987-09-21 Address control system for segmented buffer memory
US099,448 1987-09-21
US099,447 1987-09-21

Publications (2)

Publication Number Publication Date
JPH02503124A JPH02503124A (ja) 1990-09-27
JPH0519181B2 true JPH0519181B2 (ja) 1993-03-16

Family

ID=26796114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63508087A Granted JPH02503124A (ja) 1987-09-21 1988-09-12 周辺装置コントローラ

Country Status (5)

Country Link
EP (1) EP0331720B1 (ja)
JP (1) JPH02503124A (ja)
KR (1) KR920007949B1 (ja)
DE (1) DE3885266T2 (ja)
WO (1) WO1989002633A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398523A3 (en) * 1989-05-19 1991-08-21 Hitachi, Ltd. A device for data i/o and execution support in digital processors
EP0412269A3 (en) * 1989-08-11 1992-02-26 International Business Machines Corporation Channel and extender unit operable with byte mode or non-byte mode control units
JP4524912B2 (ja) * 2000-12-20 2010-08-18 セイコーエプソン株式会社 端末装置及びその制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4423480A (en) * 1981-03-06 1983-12-27 International Business Machines Corporation Buffered peripheral system with priority queue and preparation for signal transfer in overlapped operations
US4644463A (en) * 1982-12-07 1987-02-17 Burroughs Corporation System for regulating data transfer operations

Also Published As

Publication number Publication date
KR920007949B1 (ko) 1992-09-19
EP0331720A1 (en) 1989-09-13
JPH02503124A (ja) 1990-09-27
DE3885266T2 (de) 1994-02-17
KR890702154A (ko) 1989-12-23
EP0331720B1 (en) 1993-10-27
WO1989002633A1 (en) 1989-03-23
DE3885266D1 (de) 1993-12-02

Similar Documents

Publication Publication Date Title
US4864532A (en) Small computer systems interface--data link processor
US4905184A (en) Address control system for segmented buffer memory
US5664145A (en) Apparatus and method for transferring data in a data storage subsystems wherein a multi-sector data transfer order is executed while a subsequent order is issued
US5555390A (en) Data storage method and subsystem including a device controller for respecifying an amended start address
US4639862A (en) Computer system
US5611056A (en) Method for controlling the expansion of connections to a SCSI bus
US5613141A (en) Data storage subsystem having dedicated links connecting a host adapter, controller and direct access storage devices
JP3481308B2 (ja) インターフェース装置、データ転送システム及びデータ転送方法
JP2003288317A (ja) 端数ブロックデータ転送を検出し補償するシステムおよび方法
JPH0519181B2 (ja)
US6233628B1 (en) System and method for transferring data using separate pipes for command and data
JP3283928B2 (ja) ディスク制御装置
KR100272684B1 (ko) 디스크 드라이브 장치 및 그 제어 방법
JP2544039B2 (ja) ディスクドライブ並列操作方法
US7032054B1 (en) Method and apparatus for increasing the device count on a single ATA bus
JPS60116061A (ja) 入出力処理方式
JP2748056B2 (ja) ディスクコントローラ
JPH10214247A (ja) 外部記憶装置インタフェース
JPH0578859B2 (ja)
WO1992015058A1 (en) Data storage subsystem
JPH10269138A (ja) キャッシュメモリ制御及びそれを用いたデータ処理装置
JPH07281994A (ja) バス中継装置
JPS6229831B2 (ja)
JPH01142962A (ja) データ転送制御方式
JPH0836542A (ja) Dmaコントローラ