JPH06187278A - Scsiコントローラ - Google Patents
ScsiコントローラInfo
- Publication number
- JPH06187278A JPH06187278A JP33686892A JP33686892A JPH06187278A JP H06187278 A JPH06187278 A JP H06187278A JP 33686892 A JP33686892 A JP 33686892A JP 33686892 A JP33686892 A JP 33686892A JP H06187278 A JPH06187278 A JP H06187278A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- transfer
- register
- scsi
- 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
Links
Abstract
(57)【要約】
【目的】転送バイト数(データ数)レジスタに設定され
たデータ数だけデータの転送が実行されないでデータ転
送が中断されたときのFIFOレジスタ内のデータの消
失を防止すると共に、データ転送速度で速くする。 【構成】ホストデバイスの指示によりアクティブレベル
のモード制御信号MCを出力するモードレジスタ10を
設ける。モード制御信号MCとSCSI側FIFOレジ
スタ3からのフル信号SR・Fとの論理和をとってSC
SIバス転送制御回路6へのフル信号とする論理ゲート
G1を設ける。これらにより、SCSI側FIFOレジ
スタ3に残っているデータを全てホスト側FIFOレジ
スタ2及びホストバス・インタフェース回路1を介して
ホストデバイスへ供給する。
たデータ数だけデータの転送が実行されないでデータ転
送が中断されたときのFIFOレジスタ内のデータの消
失を防止すると共に、データ転送速度で速くする。 【構成】ホストデバイスの指示によりアクティブレベル
のモード制御信号MCを出力するモードレジスタ10を
設ける。モード制御信号MCとSCSI側FIFOレジ
スタ3からのフル信号SR・Fとの論理和をとってSC
SIバス転送制御回路6へのフル信号とする論理ゲート
G1を設ける。これらにより、SCSI側FIFOレジ
スタ3に残っているデータを全てホスト側FIFOレジ
スタ2及びホストバス・インタフェース回路1を介して
ホストデバイスへ供給する。
Description
【0001】
【産業上の利用分野】本発明はSCSIコントローラに
関し、特に米国規格協会(ANSI)で標準化された中
小型コンピュータ・システム向けのスモール・コンピュ
ータ・システム・インターフェース(SCSI)が適用
されるシステムのデータ転送を制御するSCSIコント
ローラに関する。
関し、特に米国規格協会(ANSI)で標準化された中
小型コンピュータ・システム向けのスモール・コンピュ
ータ・システム・インターフェース(SCSI)が適用
されるシステムのデータ転送を制御するSCSIコント
ローラに関する。
【0002】
【従来の技術】従来のこの種のSCSIコントローラの
一例を図3に示す。
一例を図3に示す。
【0003】このSCSIコントローラは、SCSI側
バス12を介して、スモールコンピュータやその周辺装
置等のスモールコンピュータ・デバイスとのデータの授
受を行うSCSIバス・インタフェース回路4と、この
SCSIバス・インタフェース回路4を介し、第1の書
込み信号SR・Wに従ってスモールコンピュータ・デバ
イスからのデータを所定の単位ごとに受取り記憶し、第
1の読出し信号SR・Rに従って記憶データを上記所定
の単位ごとに順次読出すと共に、内部記憶状態及び動作
状態を示す第1のエンプティ信号SR・E,フル信号S
R・F及びノットレディSR・NR信号を出力するSC
SI側FIFOレジスタ3と、ホスト側バス11及び制
御信号線を介してホストデバイスとのデータ及び制御信
号の授受を行うホストバス・インタフェース回路1と、
第2の書込み信号HR・Wに従ってSCSI側FIFO
レジスタ3の読出しデータを内部データバス13を介し
て受取り記憶し、この記憶したデータを第2の読出し信
号HR・Rに従って順次読出しホストバス・インタフェ
ース回路1を介してホストデバイスへ供給すると共に、
内部記憶状態及び動作状態を示す第2のエンプティ信号
HR・E,フル信号HR・F及びノットレディ信号HR
・NRを出力するホスト側FIFOレジスタ2と、上記
スモールコンピュータ・デバイスから受取るデータ数を
ホストデバイスの指示に従って記憶しホスト側FIFO
レジスタ2からホストデバイスへデータが供給されるご
とに上記データ数をデクリメントする転送バイト数レジ
スタ7と、主制御信号並びに第1のエンプティ信号SR
・E,フル信号SR・F及びノットレディ信号SR・N
Rに従ってSCSI側FIFOレジスタ3のデータ書込
み・読出し動作を制御するSCSIバス転送制御回路6
と、上記主制御信号並びに第2のエンプティ信号HR・
E,フル信号HR・F及びノットレディ信号HR・Fに
従ってホスト側FIFOレジスタ2のデータ書込み・読
出し動作を制御する内部転送制御回路5と、上記主制御
信号を発生しSCSIバス転送制御回路6及び内部転送
制御回路5を含む各部の動作を制御するメインシーケン
ス回路8と、このメインシーケンス回路8及びSCSI
バス転送制御回路6の制御のもとにスモールコンピュー
タ・デバイスの動作を制御するSCSI制御回路9とを
有する構成となっている。
バス12を介して、スモールコンピュータやその周辺装
置等のスモールコンピュータ・デバイスとのデータの授
受を行うSCSIバス・インタフェース回路4と、この
SCSIバス・インタフェース回路4を介し、第1の書
込み信号SR・Wに従ってスモールコンピュータ・デバ
イスからのデータを所定の単位ごとに受取り記憶し、第
1の読出し信号SR・Rに従って記憶データを上記所定
の単位ごとに順次読出すと共に、内部記憶状態及び動作
状態を示す第1のエンプティ信号SR・E,フル信号S
R・F及びノットレディSR・NR信号を出力するSC
SI側FIFOレジスタ3と、ホスト側バス11及び制
御信号線を介してホストデバイスとのデータ及び制御信
号の授受を行うホストバス・インタフェース回路1と、
第2の書込み信号HR・Wに従ってSCSI側FIFO
レジスタ3の読出しデータを内部データバス13を介し
て受取り記憶し、この記憶したデータを第2の読出し信
号HR・Rに従って順次読出しホストバス・インタフェ
ース回路1を介してホストデバイスへ供給すると共に、
内部記憶状態及び動作状態を示す第2のエンプティ信号
HR・E,フル信号HR・F及びノットレディ信号HR
・NRを出力するホスト側FIFOレジスタ2と、上記
スモールコンピュータ・デバイスから受取るデータ数を
ホストデバイスの指示に従って記憶しホスト側FIFO
レジスタ2からホストデバイスへデータが供給されるご
とに上記データ数をデクリメントする転送バイト数レジ
スタ7と、主制御信号並びに第1のエンプティ信号SR
・E,フル信号SR・F及びノットレディ信号SR・N
Rに従ってSCSI側FIFOレジスタ3のデータ書込
み・読出し動作を制御するSCSIバス転送制御回路6
と、上記主制御信号並びに第2のエンプティ信号HR・
E,フル信号HR・F及びノットレディ信号HR・Fに
従ってホスト側FIFOレジスタ2のデータ書込み・読
出し動作を制御する内部転送制御回路5と、上記主制御
信号を発生しSCSIバス転送制御回路6及び内部転送
制御回路5を含む各部の動作を制御するメインシーケン
ス回路8と、このメインシーケンス回路8及びSCSI
バス転送制御回路6の制御のもとにスモールコンピュー
タ・デバイスの動作を制御するSCSI制御回路9とを
有する構成となっている。
【0004】次にこのSCSIコントローラの動作につ
いて説明する。
いて説明する。
【0005】ホストバス・インタフェース回路1は、ホ
スト側バス11及び制御信号線を介してホストデバイス
からのデータ及び制御信号を受取り各部へ供給すると共
に、各部からのデータ及び制御信号をホスト側バス11
及び制御信号線を介してホストデバイスへ供給する。
スト側バス11及び制御信号線を介してホストデバイス
からのデータ及び制御信号を受取り各部へ供給すると共
に、各部からのデータ及び制御信号をホスト側バス11
及び制御信号線を介してホストデバイスへ供給する。
【0006】メインシーケンス回路8は、ホストバス・
インターフェース回路1から制御信号を受取り、これが
データ転送状態を示すとき、転送開始コマンドによって
内部転送制御回路5及びSCSIバス転送制御回路6を
起動する。
インターフェース回路1から制御信号を受取り、これが
データ転送状態を示すとき、転送開始コマンドによって
内部転送制御回路5及びSCSIバス転送制御回路6を
起動する。
【0007】SCSIバス転送制御回路6は、起動され
ると受信の場合、SCSI制御回路9に要求信号REQ
の出力タイミングを決定し、SCSI制御回路9により
アクノリッジ信号ACKがアクティブになったことを検
出すると、SCSI側FIFOレジスタ3に、書込み信
号SR・WをアクティブにしてSCSI側バス12のデ
ータをSCSIバス・インタフェース回路4を経由して
書込む。内部転送制御回路5は、SCSI側FIFOレ
ジスタ3がエンプティ状態で無いことをエンプティ信号
SR・Eによって確認して読出し信号SR・Rをアクテ
ィブにする。SCSI側FIFOレジスタ3のデータ
は、内部データバス13上に出力され、内部転送制御回
路5は、フル信号HR・Fを見て書込み信号HR・Wを
アクティブにすることによって内部データバス13上の
データをホスト側FIFOレジスタ2に書込む。この
時、内部制御回路5は転送バイト数レジスタ7の値をデ
クリメントする。
ると受信の場合、SCSI制御回路9に要求信号REQ
の出力タイミングを決定し、SCSI制御回路9により
アクノリッジ信号ACKがアクティブになったことを検
出すると、SCSI側FIFOレジスタ3に、書込み信
号SR・WをアクティブにしてSCSI側バス12のデ
ータをSCSIバス・インタフェース回路4を経由して
書込む。内部転送制御回路5は、SCSI側FIFOレ
ジスタ3がエンプティ状態で無いことをエンプティ信号
SR・Eによって確認して読出し信号SR・Rをアクテ
ィブにする。SCSI側FIFOレジスタ3のデータ
は、内部データバス13上に出力され、内部転送制御回
路5は、フル信号HR・Fを見て書込み信号HR・Wを
アクティブにすることによって内部データバス13上の
データをホスト側FIFOレジスタ2に書込む。この
時、内部制御回路5は転送バイト数レジスタ7の値をデ
クリメントする。
【0008】ホストバス・インターフェース回路1は、
外部(ホストデバイス)からの読みとり信号によって、
ホスト側FIFOレジスタ2からデータを読みだす動作
となっていた。
外部(ホストデバイス)からの読みとり信号によって、
ホスト側FIFOレジスタ2からデータを読みだす動作
となっていた。
【0009】ホストデバイスが、転送バイト数レジスタ
7に設定されたデータ数のデータを受信していない時
に、スモールコンピュータ・デバイス側がデータの転送
を中止した場合、このホストデバイスは、データの転送
が停止されたことを確認した後、このSCSIコントロ
ーラに対し転送コマンドを停止される命令か、停止させ
ディスコネクトさせる命令を発行するが、この時、SC
SI側FIFOレジスタ3にデータが残っている可能性
があるので、停止命令を発行する場合には、データの転
送が中断してから十分長い時間が経過したのちでなけれ
ばならなかった。
7に設定されたデータ数のデータを受信していない時
に、スモールコンピュータ・デバイス側がデータの転送
を中止した場合、このホストデバイスは、データの転送
が停止されたことを確認した後、このSCSIコントロ
ーラに対し転送コマンドを停止される命令か、停止させ
ディスコネクトさせる命令を発行するが、この時、SC
SI側FIFOレジスタ3にデータが残っている可能性
があるので、停止命令を発行する場合には、データの転
送が中断してから十分長い時間が経過したのちでなけれ
ばならなかった。
【0010】このようなSCSIインタフェースプロト
コルについては、米国規格協会の「ANSI X3.1
31−1986 Small Computer Sy
stem Interface」及び「ANSI X3
T9.2/86−109 Revision 10g
Small Computer System Int
erface−2」に記載されている。
コルについては、米国規格協会の「ANSI X3.1
31−1986 Small Computer Sy
stem Interface」及び「ANSI X3
T9.2/86−109 Revision 10g
Small Computer System Int
erface−2」に記載されている。
【0011】ブロック型のコンピュータシステムにおい
ては、SCSIコントローラは1ブロック単位にデータ
転送を行う。この時、転送バイト数レジスタ7に対して
1ブロック単位にデータ数の設定を行って大量のデータ
を転送しようとすると、1ブロックのデータを転送する
度転送データ数を設定し直さなければならない。
ては、SCSIコントローラは1ブロック単位にデータ
転送を行う。この時、転送バイト数レジスタ7に対して
1ブロック単位にデータ数の設定を行って大量のデータ
を転送しようとすると、1ブロックのデータを転送する
度転送データ数を設定し直さなければならない。
【0012】また、設定する転送バイト数を最大にした
場合、スモールコンピュータ・デバイスが転送を何等か
の理由によってデータ転送を中断した時、ホストデバイ
スはSCSIコントローラに対して転送停止命令を発行
しなければならない。この転送停止命令は通常、転送を
直ちに中断するとともにホスト側FIFOレジスタ2及
びSCSI側FIFOレジスタ3並びに転送バイト数レ
ジスタ7の内容をクリアするため、SCSIコントロー
ラ内部に残ってしまったデータは失われる事態に落ちい
る。このため、ホストデバイスに対してそのデータブロ
ックを再度転送しなければならず、ホストデバイスは転
送バイト数レジスタ7の再設定を行い転送命令を発行す
ることになる。
場合、スモールコンピュータ・デバイスが転送を何等か
の理由によってデータ転送を中断した時、ホストデバイ
スはSCSIコントローラに対して転送停止命令を発行
しなければならない。この転送停止命令は通常、転送を
直ちに中断するとともにホスト側FIFOレジスタ2及
びSCSI側FIFOレジスタ3並びに転送バイト数レ
ジスタ7の内容をクリアするため、SCSIコントロー
ラ内部に残ってしまったデータは失われる事態に落ちい
る。このため、ホストデバイスに対してそのデータブロ
ックを再度転送しなければならず、ホストデバイスは転
送バイト数レジスタ7の再設定を行い転送命令を発行す
ることになる。
【0013】また、キャラクタ型のコンピュータシステ
ムにおいては、転送開始時に転送データ数を決定できな
い場合がある。キャラクタ型は磁気テープに代表される
ように、書込み時の転送データ数はECF(END O
F FILE)を書込もうとした時に決定される。この
場合もSCSIコントローラに転送データ数をあらかじ
め設定することが不可能なこともある。
ムにおいては、転送開始時に転送データ数を決定できな
い場合がある。キャラクタ型は磁気テープに代表される
ように、書込み時の転送データ数はECF(END O
F FILE)を書込もうとした時に決定される。この
場合もSCSIコントローラに転送データ数をあらかじ
め設定することが不可能なこともある。
【0014】従って、あらかじめ転送データ数を設定で
きるデバイスでも、転送速度を上げようとする場合に
は、転送バイト数レジスタ7に、設定できる最大のデー
タ数を設定し、転送コマンドを発行して転送動作を開始
し、転送終了時にはスモールコンピュータ・デバイス側
からのデータの転送が終了したことを確認して、SCS
Iコントローラの転送動作をブレークしなければならな
い。この時、ホストデバイスがSCSIコントローラに
対して発行する転送動作をブレーク命令は、発行するタ
イミングによってはSCSIコントローラ内部に残って
しまったデータを失ってしまうという最悪の状態に到
る。
きるデバイスでも、転送速度を上げようとする場合に
は、転送バイト数レジスタ7に、設定できる最大のデー
タ数を設定し、転送コマンドを発行して転送動作を開始
し、転送終了時にはスモールコンピュータ・デバイス側
からのデータの転送が終了したことを確認して、SCS
Iコントローラの転送動作をブレークしなければならな
い。この時、ホストデバイスがSCSIコントローラに
対して発行する転送動作をブレーク命令は、発行するタ
イミングによってはSCSIコントローラ内部に残って
しまったデータを失ってしまうという最悪の状態に到
る。
【0015】このような状態を回避しようとすれば、転
送バイトレジスタ7に設定するデータ数をできる限り小
さいものにし(ブロック型においては1ブロック)、そ
の設定したデータ数ごとにデータ転送を行わなければな
らない。この方法では、そのデータ数のデータを転送す
るごとにデータ数を設定しなければならない。さらに、
ホスト側でDMA転送を行うとすれば、DMAコントロ
ーラに対しても転送データ数の設定と起動をかけなけれ
ばならない。この場合には、ホストバスの占有時間も長
くなり、システム全体の性能が著しく落ちて、SCSI
コントローラおよびDMAコントローラ自身の真の性能
が発揮できないという事態に陥る。
送バイトレジスタ7に設定するデータ数をできる限り小
さいものにし(ブロック型においては1ブロック)、そ
の設定したデータ数ごとにデータ転送を行わなければな
らない。この方法では、そのデータ数のデータを転送す
るごとにデータ数を設定しなければならない。さらに、
ホスト側でDMA転送を行うとすれば、DMAコントロ
ーラに対しても転送データ数の設定と起動をかけなけれ
ばならない。この場合には、ホストバスの占有時間も長
くなり、システム全体の性能が著しく落ちて、SCSI
コントローラおよびDMAコントローラ自身の真の性能
が発揮できないという事態に陥る。
【0016】上述の転送性能が低下する具体例を以下に
説明する。このSCSIコントローラのSCSI側デー
タバス12(8ビットバス)の転送速度が10Mバイト
/秒であり、DMAコントローラ(8ビットバス)の転
送速度も10Mバイト/秒であるとき、最初のデータを
転送開始するまでの最小時間(初期設定はSCSIコン
トローラ、DMAコントローラともに終了しているもの
とする)は、ホストデバイスのI/Oアクセスの最小サ
イクルが100nsであるとすると、SCSIコントロ
ーラの転送バイト数レジスタ7と、DMAコントローラ
の転送バイト数レジスタおよび転送方向を決定するレジ
スタの設定に300nsかかるものとして全体では90
0ns、SCSIプロトコルに従ってイニシェータがタ
ーゲットとなるSCSIコントローラを選択してくる。
このときターゲットととして選択されたSCSIコント
ローラには選択されたことにより割り込みが発生し、こ
の割り込みによってターゲットであるSCSIコントロ
ーラに対して、メッセージ・アウト・フェーズ、コマン
ド・アウト・フェーズを処理するコマンドを発行する。
ここまでのSCSIプロトコルでの最小時間は、バスフ
リーディレイ(800ns)+アービトレーションディ
レイ(2.4μs)+バスセットディレイ(0ns:m
ax1.8μs)+バスクリアディレイ(0ns:ma
x800ns)+バスセトルディレイ(400ns)+
デスキューディレイ×2(90ns)デスキューディレ
イ×2(90ns)であり、3780nsとなる。
説明する。このSCSIコントローラのSCSI側デー
タバス12(8ビットバス)の転送速度が10Mバイト
/秒であり、DMAコントローラ(8ビットバス)の転
送速度も10Mバイト/秒であるとき、最初のデータを
転送開始するまでの最小時間(初期設定はSCSIコン
トローラ、DMAコントローラともに終了しているもの
とする)は、ホストデバイスのI/Oアクセスの最小サ
イクルが100nsであるとすると、SCSIコントロ
ーラの転送バイト数レジスタ7と、DMAコントローラ
の転送バイト数レジスタおよび転送方向を決定するレジ
スタの設定に300nsかかるものとして全体では90
0ns、SCSIプロトコルに従ってイニシェータがタ
ーゲットとなるSCSIコントローラを選択してくる。
このときターゲットととして選択されたSCSIコント
ローラには選択されたことにより割り込みが発生し、こ
の割り込みによってターゲットであるSCSIコントロ
ーラに対して、メッセージ・アウト・フェーズ、コマン
ド・アウト・フェーズを処理するコマンドを発行する。
ここまでのSCSIプロトコルでの最小時間は、バスフ
リーディレイ(800ns)+アービトレーションディ
レイ(2.4μs)+バスセットディレイ(0ns:m
ax1.8μs)+バスクリアディレイ(0ns:ma
x800ns)+バスセトルディレイ(400ns)+
デスキューディレイ×2(90ns)デスキューディレ
イ×2(90ns)であり、3780nsとなる。
【0017】また、コマンドを発行する時間は100n
sで、メッセージ(1バイト)とコマンド(6バイト)
の転送に必要となる最小時間は、(アサーション時間+
ネゲーション時間)×7で1260nsである。
sで、メッセージ(1バイト)とコマンド(6バイト)
の転送に必要となる最小時間は、(アサーション時間+
ネゲーション時間)×7で1260nsである。
【0018】この後のデータフェーズで1024バイト
転送しようとすると、(ファストアサーション時間+フ
ァストネゲーション時間)×1024、すなわち10
2.4μsが最小でも必要となり、1セクター1024
バイトのディスク・ドライブで20セクターのリード/
ライト動作を行う場合、102.4μs×20、すなわ
ち2.048msが必要となる。以上、SCSIバスの
アービトレーションから問題が発生しないと仮定した場
合に必要となる最小時間は、 900(ns)+1260(ns)+3780(ns)
+2.048(ms)=16.088(ms) となる。この時、1セクターごとにデータ転送をする
と、1セクターを転送するごとにSCSIバスを解放す
る場合は、 (900(ns)+1260(ns)+3780(n
s))×20+2.048(ms)=77.76(m
s)+2.048(ms)=79.808(ms) となる。またSCSIバスを解放せず、続けてデータを
転送する場合は、 900(ns)×20+1260(ns)+3780
(ns)+2.048(ms)=25.088(ms) が最小でも必要となる。以上の時間にはDMAコントロ
ーラのオーバーヘッド時間は考慮されていないため、実
際には上述した数値よりも大きくなる。
転送しようとすると、(ファストアサーション時間+フ
ァストネゲーション時間)×1024、すなわち10
2.4μsが最小でも必要となり、1セクター1024
バイトのディスク・ドライブで20セクターのリード/
ライト動作を行う場合、102.4μs×20、すなわ
ち2.048msが必要となる。以上、SCSIバスの
アービトレーションから問題が発生しないと仮定した場
合に必要となる最小時間は、 900(ns)+1260(ns)+3780(ns)
+2.048(ms)=16.088(ms) となる。この時、1セクターごとにデータ転送をする
と、1セクターを転送するごとにSCSIバスを解放す
る場合は、 (900(ns)+1260(ns)+3780(n
s))×20+2.048(ms)=77.76(m
s)+2.048(ms)=79.808(ms) となる。またSCSIバスを解放せず、続けてデータを
転送する場合は、 900(ns)×20+1260(ns)+3780
(ns)+2.048(ms)=25.088(ms) が最小でも必要となる。以上の時間にはDMAコントロ
ーラのオーバーヘッド時間は考慮されていないため、実
際には上述した数値よりも大きくなる。
【0019】以上の計算から、SCSIバスを1セクタ
ーごとに解放する場合は、問題が発生しないとした場合
の転送時間の約5倍の時間を必要とし、SCSIバスを
解放しない場合でも64%以上の時間がさらに必要とな
り、SCSIコントローラおよびDMAコントローラ本
来の性能を発揮できないという問題が発生する。
ーごとに解放する場合は、問題が発生しないとした場合
の転送時間の約5倍の時間を必要とし、SCSIバスを
解放しない場合でも64%以上の時間がさらに必要とな
り、SCSIコントローラおよびDMAコントローラ本
来の性能を発揮できないという問題が発生する。
【0020】
【発明が解決しようとする課題】この従来のSCSIコ
ントローラでは、ホストデバイスから転送停止命令が発
行されると、直ちにデータ転送を中断すると共に、ホス
ト側FIFOレジスタ2,SCSI側FIFOレジスタ
3及び転送バイ数レジスタ7の内容をクリアする構成と
なっているので、ホスト側FIFOレジスタ2及びSC
SI側FIFOレジスタ3に残っていたデータが消失し
てしまい、再度その部分のデータの再転送が必要になる
という問題点があり、これを回避しようとして転送バイ
ト数レジスタ7に設定するデータ数を最低にするとその
データ数のデータ転送ごとにデータ数を設定しなければ
ならず転送速度が遅くなるという問題点があった。
ントローラでは、ホストデバイスから転送停止命令が発
行されると、直ちにデータ転送を中断すると共に、ホス
ト側FIFOレジスタ2,SCSI側FIFOレジスタ
3及び転送バイ数レジスタ7の内容をクリアする構成と
なっているので、ホスト側FIFOレジスタ2及びSC
SI側FIFOレジスタ3に残っていたデータが消失し
てしまい、再度その部分のデータの再転送が必要になる
という問題点があり、これを回避しようとして転送バイ
ト数レジスタ7に設定するデータ数を最低にするとその
データ数のデータ転送ごとにデータ数を設定しなければ
ならず転送速度が遅くなるという問題点があった。
【0021】本発明の目的は、FIFOレジスタに残っ
たデータを消失することなくそのデータを転送でき、か
つ転送速度を速くすることができるSCSIコントロー
ラを提供することにある。
たデータを消失することなくそのデータを転送でき、か
つ転送速度を速くすることができるSCSIコントロー
ラを提供することにある。
【0022】
【課題を解決するための手段】本発明のSCSIコント
ローラは、第1の書込み信号に従ってスモールコンピュ
ータ・デバイスからのデータを所定の単位ごとに受取り
記憶し、第1の読出し信号に従って記憶データを前記所
定の単位ごとに順次読出すと共に、内部記憶状態及び動
作状態を示す第1のエンプティ信号,フル信号及びノッ
トレディ信号を出力するSCSI側FIFOレジスタ
と、第2の書込み信号に従って前記SCSI側FIFO
レジスタの読出しデータを受取り記憶し、この記憶した
データを第2の読出し信号に従って順次読出しホストデ
バイスへ供給すると共に、内部記憶状態及び動作状態を
示す第2のエンプティ信号,フル信号及びノットレディ
信号を出力するホスト側FIFOレジスタと、前記スモ
ールコンピュータ・デバイスから受取るデータ数を前記
ホストデバイスの指示に従って記憶し前記ホスト側FI
FOレジスタから前記ホストデバイスへデータが供給さ
れるごとに前記データ数をデクリメントする転送データ
数レジスタと、主制御信号並びに前記第1のエンプティ
信号,フル信号及びノットレディ信号に従って前記SC
SI側FIFOレジスタのデータ書込み・読出し動作を
制御する第1の転送制御回路と、前記主制御信号並びに
第2のエンプティ信号,フル信号及びノットレディ信号
に従って前記ホスト側FIFOレジスタのデータ書込み
・読出し動作を制御する第2の転送制御回路と、前記主
制御信号を発生し前記第1及び第2の転送制御回路を含
む各部の動作を制御する主制御回路とを有するSCSI
コントローラにおいて、前記転送データ数レジスタに記
憶されたデータ数だけのデータが前記ホストデバイスに
供給されていないときこのホストデバイスからの転送停
止信号によってアクティブレベルとなるモード制御信号
を出力するモードレジスタと、前記モード制御信号及び
前記SCSI側FIFOレジスタからの第1のフル信号
の論理和をとり前記第1の転送制御回路への第1のフル
信号とする論理ゲートとを設け、前記転送停止信号によ
りこの論理ゲートの出力信号がアクティブレベルとなる
ことにより前記第1の転送制御回路による前記SCSI
側FIFOレジスタへのデータの書込みを停止すると共
に、このSCSI側FIFOレジスタからのデータの読
出し、前記ホスト側FIFOレジスタへのデータの書込
み,このホスト側FIFOレジスタからのデータの読出
しを可能とし構成を有している。
ローラは、第1の書込み信号に従ってスモールコンピュ
ータ・デバイスからのデータを所定の単位ごとに受取り
記憶し、第1の読出し信号に従って記憶データを前記所
定の単位ごとに順次読出すと共に、内部記憶状態及び動
作状態を示す第1のエンプティ信号,フル信号及びノッ
トレディ信号を出力するSCSI側FIFOレジスタ
と、第2の書込み信号に従って前記SCSI側FIFO
レジスタの読出しデータを受取り記憶し、この記憶した
データを第2の読出し信号に従って順次読出しホストデ
バイスへ供給すると共に、内部記憶状態及び動作状態を
示す第2のエンプティ信号,フル信号及びノットレディ
信号を出力するホスト側FIFOレジスタと、前記スモ
ールコンピュータ・デバイスから受取るデータ数を前記
ホストデバイスの指示に従って記憶し前記ホスト側FI
FOレジスタから前記ホストデバイスへデータが供給さ
れるごとに前記データ数をデクリメントする転送データ
数レジスタと、主制御信号並びに前記第1のエンプティ
信号,フル信号及びノットレディ信号に従って前記SC
SI側FIFOレジスタのデータ書込み・読出し動作を
制御する第1の転送制御回路と、前記主制御信号並びに
第2のエンプティ信号,フル信号及びノットレディ信号
に従って前記ホスト側FIFOレジスタのデータ書込み
・読出し動作を制御する第2の転送制御回路と、前記主
制御信号を発生し前記第1及び第2の転送制御回路を含
む各部の動作を制御する主制御回路とを有するSCSI
コントローラにおいて、前記転送データ数レジスタに記
憶されたデータ数だけのデータが前記ホストデバイスに
供給されていないときこのホストデバイスからの転送停
止信号によってアクティブレベルとなるモード制御信号
を出力するモードレジスタと、前記モード制御信号及び
前記SCSI側FIFOレジスタからの第1のフル信号
の論理和をとり前記第1の転送制御回路への第1のフル
信号とする論理ゲートとを設け、前記転送停止信号によ
りこの論理ゲートの出力信号がアクティブレベルとなる
ことにより前記第1の転送制御回路による前記SCSI
側FIFOレジスタへのデータの書込みを停止すると共
に、このSCSI側FIFOレジスタからのデータの読
出し、前記ホスト側FIFOレジスタへのデータの書込
み,このホスト側FIFOレジスタからのデータの読出
しを可能とし構成を有している。
【0023】
【実施例】次に本発明の実施例について図面を参照して
説明する。
説明する。
【0024】図1は本発明の第1の実施例を示すブロッ
ク図である。
ク図である。
【0025】この実施例が図3に示された従来のSCS
Iコントローラと相違する点は、転送バイト数レジスタ
7に記憶されたデータ数だけのデータがホストデバイス
に供給されていないときこのホストデバイスからの転送
停止信号によってアクティブレベルとなるモード制御信
号MCを出力するモードレジスタ10と、モード制御信
号MC及びSCSI側FIFOレジスタ3からの第1の
フル信号SR・Fの論理和をとりSCSIバス転送制御
回路6への第1のフル信号とする論理ゲートG1とを設
け、上記転送停止信号により論理ゲートG1の出力信号
がアクティブレベルとなることにより、SCSIバス転
送制御回路6によるSCSI側FIFOレジスタ3への
データの書込みを停止すると共に、このSCSI側FI
FOレジスタ3からのデータの読出し、ホスト側FIF
Oレジスタ2へのデータの書込み、このホスト側FIF
Oレジスタ2からのデータの読出しを可能とした点にあ
る。
Iコントローラと相違する点は、転送バイト数レジスタ
7に記憶されたデータ数だけのデータがホストデバイス
に供給されていないときこのホストデバイスからの転送
停止信号によってアクティブレベルとなるモード制御信
号MCを出力するモードレジスタ10と、モード制御信
号MC及びSCSI側FIFOレジスタ3からの第1の
フル信号SR・Fの論理和をとりSCSIバス転送制御
回路6への第1のフル信号とする論理ゲートG1とを設
け、上記転送停止信号により論理ゲートG1の出力信号
がアクティブレベルとなることにより、SCSIバス転
送制御回路6によるSCSI側FIFOレジスタ3への
データの書込みを停止すると共に、このSCSI側FI
FOレジスタ3からのデータの読出し、ホスト側FIF
Oレジスタ2へのデータの書込み、このホスト側FIF
Oレジスタ2からのデータの読出しを可能とした点にあ
る。
【0026】次にこの実施例の動作及び効果について説
明する。
明する。
【0027】転送バイト数レジスタ7に設定されたデー
タ数分のデータを受信していない時に、スモールコンピ
ュータ・デバイス側がデータの転送を中止した場合、ホ
ストデバイスは、データの転送が停止されたことを認識
した後、SCSIコントローラに転送コマンドを停止さ
せる命令か、転送を停止させディスコネクトさせる命令
を発行するが、この時SCSI側FIFOレジスタ3,
ホスト側FIFOレジスタ2にデータが残っている可能
性があるため、モードレジスタ10の出力信号(MC)
を“1”に設定する。モードレジスタ10の出力のモー
ド制御信号MCがOR型の論理ゲートG1の入力となっ
ているため、モード制御信号MCが“1”であればSC
SIバス転送制御回路6は、SCSI側FIFOレジス
タ3からのフル信号SR−Fがでている場合と同じ状態
となる。
タ数分のデータを受信していない時に、スモールコンピ
ュータ・デバイス側がデータの転送を中止した場合、ホ
ストデバイスは、データの転送が停止されたことを認識
した後、SCSIコントローラに転送コマンドを停止さ
せる命令か、転送を停止させディスコネクトさせる命令
を発行するが、この時SCSI側FIFOレジスタ3,
ホスト側FIFOレジスタ2にデータが残っている可能
性があるため、モードレジスタ10の出力信号(MC)
を“1”に設定する。モードレジスタ10の出力のモー
ド制御信号MCがOR型の論理ゲートG1の入力となっ
ているため、モード制御信号MCが“1”であればSC
SIバス転送制御回路6は、SCSI側FIFOレジス
タ3からのフル信号SR−Fがでている場合と同じ状態
となる。
【0028】SCSIバス転送制御回路6はSCSI側
FIFOレジスタ3がフル状態であることを検出する
と、SCSI制御回路9とSCSIバス・インタフェー
ス回路4の動作を一時的に停止させる。つまり、SCS
Iコントローラは要求信号REQをアクティブにするこ
とを、SCSIバス転送制御回路6へのフル信号がイン
アクティブに戻るまでやめる。
FIFOレジスタ3がフル状態であることを検出する
と、SCSI制御回路9とSCSIバス・インタフェー
ス回路4の動作を一時的に停止させる。つまり、SCS
Iコントローラは要求信号REQをアクティブにするこ
とを、SCSIバス転送制御回路6へのフル信号がイン
アクティブに戻るまでやめる。
【0029】この時、内部転送制御回路5は、SCSI
側FIFOレジスタ3からデータを読みだしホスト側F
IFOレジスタ2に書込む。ただし、SCSI側FIF
Oレジスタ3のエンプティ信号SR・Eがアクティブで
あるか、ノットレディ信号SR・NRがアクティブであ
れば読みとり動作ができないため内部転送を一時的に停
止し、ホスト側FIFOレジスタ2のフル信号HR・F
かノットレディ信号HR・NRがアクティブであれば書
込み動作ができなため、内部転送を一時的に停止する。
側FIFOレジスタ3からデータを読みだしホスト側F
IFOレジスタ2に書込む。ただし、SCSI側FIF
Oレジスタ3のエンプティ信号SR・Eがアクティブで
あるか、ノットレディ信号SR・NRがアクティブであ
れば読みとり動作ができないため内部転送を一時的に停
止し、ホスト側FIFOレジスタ2のフル信号HR・F
かノットレディ信号HR・NRがアクティブであれば書
込み動作ができなため、内部転送を一時的に停止する。
【0030】これ以外のときは、SCSI側FIFOレ
ジスタ3の読出し、ホスト側FIFOレジスタ2への書
込み、ホスト側FIFOレジスタ2からの読出しができ
るので、内部転送制御回路5は、SCSI側FIFOレ
ジスタ3がエンプティ状態になるまでSCSI側FIF
Oレジスタ3からホスト側FIFOレジスタ2への転送
動作を続けるため、SCSI側バス12からのデータの
転送を停止しても、SCSI側FIFOレジスタ3にデ
ータが残ったままのクリア状態になることはない。ま
た、ホスト側FIFOレジスタ2に書込まれたデータ
は、ホストデバイス側のDMAコントローラがDMA転
送によって引き取る。
ジスタ3の読出し、ホスト側FIFOレジスタ2への書
込み、ホスト側FIFOレジスタ2からの読出しができ
るので、内部転送制御回路5は、SCSI側FIFOレ
ジスタ3がエンプティ状態になるまでSCSI側FIF
Oレジスタ3からホスト側FIFOレジスタ2への転送
動作を続けるため、SCSI側バス12からのデータの
転送を停止しても、SCSI側FIFOレジスタ3にデ
ータが残ったままのクリア状態になることはない。ま
た、ホスト側FIFOレジスタ2に書込まれたデータ
は、ホストデバイス側のDMAコントローラがDMA転
送によって引き取る。
【0031】従って、モードレジスタ10の出力信号
(MC)を“1”にすることによって、SCSIバス転
送を停止して、SCSIコントローラ内のデータを引き
取った後に転送コマンドをブレーク、ディスコネクトす
ると、SCSIコントローラ内でデータが消失すること
が無く、安全にスモールコンピュータ・デバイスからの
データの転送を中止することができる。
(MC)を“1”にすることによって、SCSIバス転
送を停止して、SCSIコントローラ内のデータを引き
取った後に転送コマンドをブレーク、ディスコネクトす
ると、SCSIコントローラ内でデータが消失すること
が無く、安全にスモールコンピュータ・デバイスからの
データの転送を中止することができる。
【0032】モードレジスタ10を設けた場合の転送性
能としてのデータ転送を中断するまでの転送速度は、前
述の問題が発生しないと仮定した理想的な転送動作と同
じになり、1024バイト1セクターのドライブの20
セクター分を転送しようとした場合は、900(ns)
+1260(ns)+3780(ns)+2.048
(ms)、すなわち16.088msとなる。また、S
CSIバスを解放せず、続けてデータを転送する場合
は、900(ns)×20+1260(ns)+378
0(ns)+2.048(ms)、すなわち25.08
8msとなるので、64%以上の時間短縮ができる。
能としてのデータ転送を中断するまでの転送速度は、前
述の問題が発生しないと仮定した理想的な転送動作と同
じになり、1024バイト1セクターのドライブの20
セクター分を転送しようとした場合は、900(ns)
+1260(ns)+3780(ns)+2.048
(ms)、すなわち16.088msとなる。また、S
CSIバスを解放せず、続けてデータを転送する場合
は、900(ns)×20+1260(ns)+378
0(ns)+2.048(ms)、すなわち25.08
8msとなるので、64%以上の時間短縮ができる。
【0033】図2は本発明の第2の実施例を示すブロッ
ク図である。
ク図である。
【0034】この実施例は、第1の実施例に、OR型の
第2の論理ゲートG2を更に設け、モードレジスタ10
からのモード制御信号MCとメインシーケンス回路8か
らの転送一時停止信号ITSTとの論理和をとってから
(第1の)論理ゲートG1の一方の入力端に入力するよ
うにしたものである。
第2の論理ゲートG2を更に設け、モードレジスタ10
からのモード制御信号MCとメインシーケンス回路8か
らの転送一時停止信号ITSTとの論理和をとってから
(第1の)論理ゲートG1の一方の入力端に入力するよ
うにしたものである。
【0035】この実施例は、転送一時停止信号ITST
が“1”のときも、モード制御信号MCが“1”のとき
と同一の動作となる。基本的な動作及び効果は第1の実
施例と同一である。
が“1”のときも、モード制御信号MCが“1”のとき
と同一の動作となる。基本的な動作及び効果は第1の実
施例と同一である。
【0036】
【発明の効果】以上説明したように本発明は、ホストデ
バイスの指示によりモード制御信号をアクティブレベル
とするモードレジスタを設け、モード制御信号及びメイ
ンシーケンス回路からの転送一時停止信号のうちの少な
くともモード制御信号とSCSI側FIFOレジスタか
らのフル信号との論理和をとって第1の転送制御回路へ
のフル信号とする構成とするこにより、転送データ数レ
ジスタに設定したデータ数だけデータが転送されていな
いとき、SCSIバス側の受信を一時的に停止させて、
SCSI側FIFOレジスタの読出し、ホスト側FIF
Oレジスタの書込み,読出しを続行させることができる
ので、データ転送を停止させた時点でSCSIコントロ
ーラに残っていたデータをホスト側FIFOから読み出
すことが可能になり、データを失うことが無くスモール
コンピュータ・デバイス側のデータの転送を中断し、デ
ィスコネクトすることができ、また、データの分割や再
転送をしなくて済むので、データ転送速度を速くするこ
とができる効果がある。
バイスの指示によりモード制御信号をアクティブレベル
とするモードレジスタを設け、モード制御信号及びメイ
ンシーケンス回路からの転送一時停止信号のうちの少な
くともモード制御信号とSCSI側FIFOレジスタか
らのフル信号との論理和をとって第1の転送制御回路へ
のフル信号とする構成とするこにより、転送データ数レ
ジスタに設定したデータ数だけデータが転送されていな
いとき、SCSIバス側の受信を一時的に停止させて、
SCSI側FIFOレジスタの読出し、ホスト側FIF
Oレジスタの書込み,読出しを続行させることができる
ので、データ転送を停止させた時点でSCSIコントロ
ーラに残っていたデータをホスト側FIFOから読み出
すことが可能になり、データを失うことが無くスモール
コンピュータ・デバイス側のデータの転送を中断し、デ
ィスコネクトすることができ、また、データの分割や再
転送をしなくて済むので、データ転送速度を速くするこ
とができる効果がある。
【図1】本発明の第1の実施例を示すブロック図であ
る。
る。
【図2】本発明の第2の実施例を示すブロック図であ
る。
る。
【図3】従来のSCSIコントローラの一例を示すブロ
ック図である。
ック図である。
1 ホストバス・インタフェース回路 2 ホスト側FIFOレジスタ 3 SCSI側FIFOレジスタ 4 SCSIバス・インタフェース回路 5 内部転送制御回路 6 SCSIバス転送制御回路 7 転送バイト数レジスタ 8,8a メインシーケンス回路 9 SCSI制御回路 10 モードレジスタ G1,G2 論理ゲート
Claims (1)
- 【請求項1】 第1の書込み信号に従ってスモールコン
ピュータ・デバイスからのデータを所定の単位ごとに受
取り記憶し、第1の読出し信号に従って記憶データを前
記所定の単位ごとに順次読出すと共に、内部記憶状態及
び動作状態を示す第1のエンプティ信号,フル信号及び
ノットレディ信号を出力するSCSI側FIFOレジス
タと、第2の書込み信号に従って前記SCSI側FIF
Oレジスタの読出しデータを受取り記憶し、この記憶し
たデータを第2の読出し信号に従って順次読出しホスト
デバイスへ供給すると共に、内部記憶状態及び動作状態
を示す第2のエンプティ信号,フル信号及びノットレデ
ィ信号を出力するホスト側FIFOレジスタと、前記ス
モールコンピュータ・デバイスから受取るデータ数を前
記ホストデバイスの指示に従って記憶し前記ホスト側F
IFOレジスタから前記ホストデバイスへデータが供給
されるごとに前記データ数をデクリメントする転送デー
タ数レジスタと、主制御信号並びに前記第1のエンプテ
ィ信号,フル信号及びノットレディ信号に従って前記S
CSI側FIFOレジスタのデータ書込み・読出し動作
を制御する第1の転送制御回路と、前記主制御信号並び
に第2のエンプティ信号,フル信号及びノットレディ信
号に従って前記ホスト側FIFOレジスタのデータ書込
み・読出し動作を制御する第2の転送制御回路と、前記
主制御信号を発生し前記第1及び第2の転送制御回路を
含む各部の動作を制御する主制御回路とを有するSCS
Iコントローラにおいて、前記転送データ数レジスタに
記憶されたデータ数だけのデータが前記ホストデバイス
に供給されていないときこのホストデバイスからの転送
停止信号によってアクティブレベルとなるモード制御信
号を出力するモードレジスタと、前記モード制御信号及
び前記SCSI側FIFOレジスタからの第1のフル信
号の論理和をとり前記第1の転送制御回路への第1のフ
ル信号とする論理ゲートとを設け、前記転送停止信号に
よりこの論理ゲートの出力信号がアクティブレベルとな
ることにより前記第1の転送制御回路による前記SCS
I側FIFOレジスタへのデータの書込みを停止すると
共に、このSCSI側FIFOレジスタからのデータの
読出し、前記ホスト側FIFOレジスタへのデータの書
込み,このホスト側FIFOレジスタからのデータの読
出しを可能としたことを特徴とするSCSIコントロー
ラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33686892A JP2848171B2 (ja) | 1992-12-17 | 1992-12-17 | Scsiコントローラ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33686892A JP2848171B2 (ja) | 1992-12-17 | 1992-12-17 | Scsiコントローラ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06187278A true JPH06187278A (ja) | 1994-07-08 |
| JP2848171B2 JP2848171B2 (ja) | 1999-01-20 |
Family
ID=18303394
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33686892A Expired - Lifetime JP2848171B2 (ja) | 1992-12-17 | 1992-12-17 | Scsiコントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2848171B2 (ja) |
-
1992
- 1992-12-17 JP JP33686892A patent/JP2848171B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2848171B2 (ja) | 1999-01-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0009678B1 (en) | Computer input/output apparatus | |
| US5740466A (en) | Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses | |
| US4271466A (en) | Direct memory access control system with byte/word control of data bus | |
| US5404548A (en) | Data transfer control system transferring command data and status with identifying code for the type of information | |
| JPH0319575B2 (ja) | ||
| JPH04290150A (ja) | Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置 | |
| JP2001521246A (ja) | 異なる周波数で動作するバス間でやりとりされるバッファリングデータ | |
| EP0275157B1 (en) | Direct memory access controlled system | |
| EP0071782B1 (en) | Multi subchannel adapter with a single status/address register | |
| US5717873A (en) | Deadlock avoidance mechanism and method for multiple bus topology | |
| JPH01277928A (ja) | 印刷装置 | |
| US5129072A (en) | System for minimizing initiator processor interrupts by protocol controller in a computer bus system | |
| JP2770901B2 (ja) | ディスク制御方法 | |
| US3961312A (en) | Cycle interleaving during burst mode operation | |
| US4719563A (en) | Data transmission control device for controlling transfer of large amounts of data between two memory units | |
| JP2848171B2 (ja) | Scsiコントローラ | |
| JPS63292356A (ja) | Dma制御装置 | |
| JPH076133A (ja) | データ転送方法及びデータ処理システム | |
| JPH02310649A (ja) | 受信フレーム転送方式および通信制御装置 | |
| JPH0535661A (ja) | Scsiコントロ−ラic | |
| JP3442099B2 (ja) | データ転送記憶装置 | |
| JPH0429101B2 (ja) | ||
| JPS61127025A (ja) | 光デイスク制御装置 | |
| JPH03262063A (ja) | Dma転送のバス制御回路 | |
| JPS6330951A (ja) | 通信制御処理装置におけるデ−タ転送方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19981006 |