JP2848171B2 - SCSI controller - Google Patents

SCSI controller

Info

Publication number
JP2848171B2
JP2848171B2 JP33686892A JP33686892A JP2848171B2 JP 2848171 B2 JP2848171 B2 JP 2848171B2 JP 33686892 A JP33686892 A JP 33686892A JP 33686892 A JP33686892 A JP 33686892A JP 2848171 B2 JP2848171 B2 JP 2848171B2
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.)
Expired - Lifetime
Application number
JP33686892A
Other languages
Japanese (ja)
Other versions
JPH06187278A (en
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP33686892A priority Critical patent/JP2848171B2/en
Publication of JPH06187278A publication Critical patent/JPH06187278A/en
Application granted granted Critical
Publication of JP2848171B2 publication Critical patent/JP2848171B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明はSCSIコントローラに
関し、特に米国規格協会(ANSI)で標準化された中
小型コンピュータ・システム向けのスモール・コンピュ
ータ・システム・インターフェース(SCSI)が適用
されるシステムのデータ転送を制御するSCSIコント
ローラに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a SCSI controller, and more particularly to data transfer in a system to which a small computer system interface (SCSI) for small and medium computer systems standardized by the American National Standards Institute (ANSI) is applied. For controlling the SCSI controller.

【0002】[0002]

【従来の技術】従来のこの種のSCSIコントローラの
一例を図3に示す。
2. Description of the Related Art FIG. 3 shows an example of a conventional SCSI controller of this kind.

【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とを
有する構成となっている。
The SCSI controller includes a SCSI bus interface circuit 4 for transmitting and receiving data to and from a small computer device such as a small computer and its peripheral devices via a SCSI side bus 12. , Receives and stores data from the small computer device in predetermined units in accordance with a first write signal SR.W, and sequentially reads out stored data in units of the predetermined unit in accordance with a first read signal SR.R And a first empty signal SR · E and a full signal S indicating an internal storage state and an operation state.
SC for outputting R / F and not-ready SR / NR signals
An SI-side FIFO register 3, a host bus interface circuit 1 for transmitting and receiving data and control signals to and from a host device via a host-side bus 11 and a control signal line,
SCSI side FIFO according to second write signal HR / W
The read data of the register 3 is received and stored via the internal data bus 13, and the stored data is sequentially read in accordance with the second read signal HR · R and supplied to the host device via the host bus interface circuit 1.
A second empty signal HR.E, a full signal HR.F, and a not-ready signal HR indicating an internal storage state and an operation state.
A host-side FIFO register 2 for outputting NR, and the number of data received from the small computer device are stored in accordance with an instruction from the host device, and are stored in the host-side FIFO register.
A transfer byte number register 7 for decrementing the data number each time data is supplied from the register 2 to the host device; a main control signal and a first empty signal SR
.E, full signal SR.F and not-ready signal SR.N
SCSI bus transfer control circuit 6 for controlling data write / read operation of SCSI side FIFO register 3 according to R
And the main control signal and the second empty signal HR
E, an internal transfer control circuit 5 for controlling the data write / read operation of the host side FIFO register 2 in accordance with the full signal HR.F and the not ready signal HR.F, a SCSI bus transfer control circuit 6 for generating the main control signal and A main sequence circuit 8 for controlling the operation of each unit including the internal transfer control circuit 5;
A SCSI control circuit 9 for controlling the operation of the small computer device under the control of the bus transfer control circuit 6 is provided.

【0004】次にこのSCSIコントローラの動作につ
いて説明する。
Next, the operation of the SCSI controller will be described.

【0005】ホストバス・インタフェース回路1は、ホ
スト側バス11及び制御信号線を介してホストデバイス
からのデータ及び制御信号を受取り各部へ供給すると共
に、各部からのデータ及び制御信号をホスト側バス11
及び制御信号線を介してホストデバイスへ供給する。
The host bus interface circuit 1 receives data and control signals from a host device via a host bus 11 and control signal lines, and supplies the data and control signals from each unit to the host bus 11.
And to a host device via a control signal line.

【0006】メインシーケンス回路8は、ホストバス・
インターフェース回路1から制御信号を受取り、これが
データ転送状態を示すとき、転送開始コマンドによって
内部転送制御回路5及びSCSIバス転送制御回路6を
起動する。
The main sequence circuit 8 includes a host bus
When a control signal is received from the interface circuit 1 and indicates a data transfer state, the internal transfer control circuit 5 and the SCSI bus transfer control circuit 6 are activated by a transfer start command.

【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の値をデ
クリメントする。
When the SCSI bus transfer control circuit 6 is activated and receives a signal, it sends a request signal REQ to the SCSI control circuit 9.
When the SCSI control circuit 9 detects that the acknowledgment signal ACK has become active, the SCSI-side FIFO register 3 activates the write signal SR · W to transfer the data of the SCSI-side bus 12 to the SCSI bus. Writing via the interface circuit 4 The internal transfer control circuit 5 activates the read signal SR / R after confirming that the SCSI side FIFO register 3 is not in the empty state by the empty signal SR · E. The data of the SCSI-side FIFO register 3 is output onto the internal data bus 13, and the internal transfer control circuit 5 activates the write signal HR · W upon seeing the full signal HR · F, thereby The data is written into the FIFO register 2 on the host side. At this time, the internal control circuit 5 decrements the value of the transfer byte number register 7.

【0008】ホストバス・インターフェース回路1は、
外部(ホストデバイス)からの読みとり信号によって、
ホスト側FIFOレジスタ2からデータを読みだす動作
となっていた。
The host bus interface circuit 1 comprises:
By a read signal from the outside (host device),
The operation was to read data from the host-side FIFO register 2.

【0009】ホストデバイスが、転送バイト数レジスタ
7に設定されたデータ数のデータを受信していない時
に、スモールコンピュータ・デバイス側がデータの転送
を中止した場合、このホストデバイスは、データの転送
が停止されたことを確認した後、このSCSIコントロ
ーラに対し転送コマンドを停止される命令か、停止させ
ディスコネクトさせる命令を発行するが、この時、SC
SI側FIFOレジスタ3にデータが残っている可能性
があるので、停止命令を発行する場合には、データの転
送が中断してから十分長い時間が経過したのちでなけれ
ばならなかった。
When the host computer does not receive the data of the number of data set in the transfer byte number register 7 and the small computer device stops the data transfer, the host device stops the data transfer. After confirming that the transfer has been performed, an instruction to stop the transfer command or an instruction to stop and disconnect the transfer command is issued to the SCSI controller.
Since there is a possibility that data may remain in the SI-side FIFO register 3, when issuing a stop instruction, it is necessary to wait a sufficiently long time after the data transfer is interrupted.

【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」に記載されている。
Regarding such a SCSI interface protocol, "ANSI X3.1" of the American National Standards Institute.
31-1986 Small Computer Sy
"Stem Interface" and "ANSI X3
T9.2 / 86-109 Revision 10g
Small Computer System Int
surface-2 ".

【0011】ブロック型のコンピュータシステムにおい
ては、SCSIコントローラは1ブロック単位にデータ
転送を行う。この時、転送バイト数レジスタ7に対して
1ブロック単位にデータ数の設定を行って大量のデータ
を転送しようとすると、1ブロックのデータを転送する
度転送データ数を設定し直さなければならない。
In a block type computer system, the SCSI controller transfers data in units of one block. At this time, if the number of data is set in the transfer byte number register 7 in units of one block to transfer a large amount of data, the transfer data number must be reset every time one block of data is transferred.

【0012】また、設定する転送バイト数を最大にした
場合、スモールコンピュータ・デバイスが転送を何等か
の理由によってデータ転送を中断した時、ホストデバイ
スはSCSIコントローラに対して転送停止命令を発行
しなければならない。この転送停止命令は通常、転送を
直ちに中断するとともにホスト側FIFOレジスタ2及
びSCSI側FIFOレジスタ3並びに転送バイト数レ
ジスタ7の内容をクリアするため、SCSIコントロー
ラ内部に残ってしまったデータは失われる事態に落ちい
る。このため、ホストデバイスに対してそのデータブロ
ックを再度転送しなければならず、ホストデバイスは転
送バイト数レジスタ7の再設定を行い転送命令を発行す
ることになる。
When the number of transfer bytes to be set is maximized, when the small computer device interrupts the data transfer for some reason, the host device must issue a transfer stop instruction to the SCSI controller. Must. This transfer stop instruction normally interrupts the transfer immediately and clears the contents of the host-side FIFO register 2, the SCSI-side FIFO register 3, and the transfer byte number register 7, so that the data remaining in the SCSI controller is lost. Is falling. Therefore, the data block must be transferred to the host device again, and the host device resets the transfer byte number register 7 and issues a transfer command.

【0013】また、キャラクタ型のコンピュータシステ
ムにおいては、転送開始時に転送データ数を決定できな
い場合がある。キャラクタ型は磁気テープに代表される
ように、書込み時の転送データ数はECF(END O
F FILE)を書込もうとした時に決定される。この
場合もSCSIコントローラに転送データ数をあらかじ
め設定することが不可能なこともある。
In a character-type computer system, the number of data to be transferred may not be determined at the start of transfer. As the character type is represented by a magnetic tape, the number of transfer data at the time of writing is ECF (END O).
F FILE) is determined. Also in this case, it may not be possible to set the number of transfer data in the SCSI controller in advance.

【0014】従って、あらかじめ転送データ数を設定で
きるデバイスでも、転送速度を上げようとする場合に
は、転送バイト数レジスタ7に、設定できる最大のデー
タ数を設定し、転送コマンドを発行して転送動作を開始
し、転送終了時にはスモールコンピュータ・デバイス側
からのデータの転送が終了したことを確認して、SCS
Iコントローラの転送動作をブレークしなければならな
い。この時、ホストデバイスがSCSIコントローラに
対して発行する転送動作をブレーク命令は、発行するタ
イミングによってはSCSIコントローラ内部に残って
しまったデータを失ってしまうという最悪の状態に到
る。
Therefore, even if a device can set the number of data to be transferred in advance, if the transfer speed is to be increased, the maximum number of data that can be set is set in the transfer byte number register 7 and a transfer command is issued to transfer the data. The operation is started, and when the transfer is completed, it is confirmed that the data transfer from the small computer device has been completed.
The transfer operation of the I controller must be broken. At this time, a worst case occurs in which a break instruction for a transfer operation issued by the host device to the SCSI controller loses data remaining inside the SCSI controller depending on the timing of issuing the instruction.

【0015】このような状態を回避しようとすれば、転
送バイトレジスタ7に設定するデータ数をできる限り小
さいものにし(ブロック型においては1ブロック)、そ
の設定したデータ数ごとにデータ転送を行わなければな
らない。この方法では、そのデータ数のデータを転送す
るごとにデータ数を設定しなければならない。さらに、
ホスト側でDMA転送を行うとすれば、DMAコントロ
ーラに対しても転送データ数の設定と起動をかけなけれ
ばならない。この場合には、ホストバスの占有時間も長
くなり、システム全体の性能が著しく落ちて、SCSI
コントローラおよびDMAコントローラ自身の真の性能
が発揮できないという事態に陥る。
In order to avoid such a situation, the number of data set in the transfer byte register 7 must be as small as possible (one block in the case of a block type), and data transfer must be performed for each set number of data. Must. In this method, the number of data must be set every time the data of the number of data is transferred. further,
If the host performs the DMA transfer, the DMA controller must also set and activate the number of transfer data. In this case, the occupation time of the host bus becomes longer, and the performance of the entire system is significantly reduced.
The situation is that the true performance of the controller and the DMA controller itself cannot be exhibited.

【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となる。
A specific example in which the transfer performance is reduced will be described below. When the transfer speed of the SCSI-side data bus 12 (8-bit bus) of this SCSI controller is 10 Mbytes / sec and the transfer speed of the DMA controller (8-bit bus) is also 10 Mbytes / sec, the transfer of the first data starts. The minimum time required for the transfer (initial setting is assumed to be completed for both the SCSI controller and the DMA controller) is as follows: If the minimum cycle of I / O access of the host device is 100 ns, the transfer byte number register 7 of the SCSI controller It takes 90 ns to set the transfer byte number register and the register for determining the transfer direction of the DMA controller in a total of 90 ns.
At 0 ns, the initiator selects a target SCSI controller according to the SCSI protocol.
At this time, the SCSI controller selected as the target generates an interrupt due to the selection, and the interrupt causes a command to process the message-out phase and the command-out phase to the target SCSI controller. Issue.
The minimum time in the SCSI protocol so far is bus-free delay (800 ns) + arbitration delay (2.4 μs) + bus set delay (0 ns: m)
ax 1.8 μs) + bus clear delay (0 ns: ma)
x800ns) + Bus settle delay (400ns) +
Deskew delay × 2 (90 ns) Deskew delay × 2 (90 ns), which is 3780 ns.

【0017】また、コマンドを発行する時間は100n
sで、メッセージ(1バイト)とコマンド(6バイト)
の転送に必要となる最小時間は、(アサーション時間+
ネゲーション時間)×7で1260nsである。
The time for issuing a command is 100n.
s, message (1 byte) and command (6 bytes)
The minimum time required to transfer is (assertion time +
Negation time) × 7, which is 1260 ns.

【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コントロ
ーラのオーバーヘッド時間は考慮されていないため、実
際には上述した数値よりも大きくなる。
If it is attempted to transfer 1024 bytes in the subsequent data phase, (fast assertion time + fast negation time) × 1024, ie, 10
2.4 μs is required even at the minimum, and one sector 1024
Read / sector 20 bytes with byte disk drive
When performing a write operation, 102.4 μs × 20, that is, 2.048 ms is required. As described above, if it is assumed that no problem occurs from the arbitration of the SCSI bus, the minimum time required is 900 (ns) +1260 (ns) +3780 (ns)
+2.048 (ms) = 16.088 (ms). At this time, if data is transferred one sector at a time, and the SCSI bus is released every time one sector is transferred, then (900 (ns) +1260 (ns) +3780 (n
s)) × 20 + 2.048 (ms) = 77.76 (m
s) +2.048 (ms) = 79.808 (ms). When transferring data continuously without releasing the SCSI bus, 900 (ns) × 20 + 1260 (ns) +3780
(Ns) +2.048 (ms) = 25.088 (ms) Since the overhead time of the DMA controller is not taken into account in the above time, it is actually larger than the above value.

【0019】以上の計算から、SCSIバスを1セクタ
ーごとに解放する場合は、問題が発生しないとした場合
の転送時間の約5倍の時間を必要とし、SCSIバスを
解放しない場合でも64%以上の時間がさらに必要とな
り、SCSIコントローラおよびDMAコントローラ本
来の性能を発揮できないという問題が発生する。
From the above calculation, when the SCSI bus is released for each sector, it takes about five times as long as the transfer time when no problem occurs, and even when the SCSI bus is not released, it is 64% or more. This time is further required, which causes a problem that the original performance of the SCSI controller and the DMA controller cannot be exhibited.

【0020】[0020]

【発明が解決しようとする課題】この従来のSCSIコ
ントローラでは、ホストデバイスから転送停止命令が発
行されると、直ちにデータ転送を中断すると共に、ホス
ト側FIFOレジスタ2,SCSI側FIFOレジスタ
3及び転送バイ数レジスタ7の内容をクリアする構成と
なっているので、ホスト側FIFOレジスタ2及びSC
SI側FIFOレジスタ3に残っていたデータが消失し
てしまい、再度その部分のデータの再転送が必要になる
という問題点があり、これを回避しようとして転送バイ
ト数レジスタ7に設定するデータ数を最低にするとその
データ数のデータ転送ごとにデータ数を設定しなければ
ならず転送速度が遅くなるという問題点があった。
In the conventional SCSI controller, when a transfer stop command is issued from the host device, the data transfer is immediately interrupted, and the host-side FIFO register 2, SCSI-side FIFO register 3, and transfer buffer are transferred. Since the contents of the number register 7 are cleared, the host-side FIFO register 2 and SC
There is a problem that the data remaining in the SI-side FIFO register 3 is lost, and it is necessary to re-transfer the data of that part again. To avoid this, the number of data set in the transfer byte number register 7 is reduced. If it is minimized, the number of data must be set for each data transfer, and the transfer speed is reduced.

【0021】本発明の目的は、FIFOレジスタに残っ
たデータを消失することなくそのデータを転送でき、か
つ転送速度を速くすることができるSCSIコントロー
ラを提供することにある。
An object of the present invention is to provide a SCSI controller that can transfer data remaining in a FIFO register without losing the data and can increase the transfer speed.

【0022】[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レジスタからのデータの読出
しを可能とし構成を有している。
A SCSI controller according to the present invention receives and stores data from a small computer device in predetermined units according to a first write signal, and stores the stored data in accordance with the first read signal. And a SCSI-side FIFO register for outputting a first empty signal, a full signal, and a not-ready signal indicating an internal storage state and an operation state, and the SCSI-side FIFO register according to a second write signal.
Receives and stores the read data of the register, sequentially supplies the stored data to a host device in accordance with a second read signal, and outputs a second empty signal, a full signal, and a not-ready signal indicating an internal storage state and an operation state. The host-side FIFO register for outputting and the number of data received from the small computer device are stored in accordance with an instruction of the host device, and the host-side FIFO register is stored.
A transfer data number register for decrementing the number of data each time data is supplied from the FO register to the host device; and the SC according to a main control signal and the first empty signal, full signal and not ready signal.
A first transfer control circuit for controlling a data write / read operation of the SI side FIFO register, and a data write / read operation of the host side FIFO register in accordance with the main control signal and the second empty signal, full signal and not ready signal And a main control circuit for generating the main control signal and controlling the operation of each unit including the first and second transfer control circuits.
In the controller, a mode register that outputs a mode control signal that becomes an active level by a transfer stop signal from the host device when data corresponding to the number of data stored in the transfer data number register is not supplied to the host device, A logic gate for taking a logical sum of the mode control signal and a first full signal from the SCSI-side FIFO register and using the logical sum as a first full signal to the first transfer control circuit; When the output signal of the logic gate becomes an active level, the SCSI by the first transfer control circuit
In addition to stopping writing data to the FIFO register on the side, reading data from the FIFO register on the SCSI side, writing data to the FIFO register on the host side, and reading data from the FIFO register on the host side are enabled. Have.

【0023】[0023]

【実施例】次に本発明の実施例について図面を参照して
説明する。
Next, an embodiment of the present invention will be described with reference to the drawings.

【0024】図1は本発明の第1の実施例を示すブロッ
ク図である。
FIG. 1 is a block diagram showing a first embodiment of the present invention.

【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からのデータの読出しを可能とした点にあ
る。
This embodiment is similar to the conventional SCS shown in FIG.
The difference from the I controller is that when the data of the number of data stored in the transfer byte number register 7 is not supplied to the host device, the mode control signal MC which becomes active level by the transfer stop signal from the host device is output. A logical register G1 that takes the logical sum of the mode control signal MC and the first full signal SR · F from the SCSI-side FIFO register 3 to generate a first full signal to the SCSI bus transfer control circuit 6; When the output signal of the logic gate G1 becomes active level by the transfer stop signal, the writing of data to the SCSI side FIFO register 3 by the SCSI bus transfer control circuit 6 is stopped, and the SCSI side FIFO
Read data from FO register 3, host-side FIFO
Write data to O-register 2, this host-side FIF
The point is that data can be read from the O register 2.

【0026】次にこの実施例の動作及び効果について説
明する。
Next, the operation and effect of this embodiment will be described.

【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がでている場合と同じ状態
となる。
If the small computer device has stopped transferring data while the data of the number set in the transfer byte number register 7 has not been received, the host device determines that the data transfer has been stopped. After the recognition, the SCSI controller issues a command to stop the transfer command or a command to stop and disconnect the transfer. At this time, the SCSI side FIFO register 3,
Since data may possibly remain in the host-side FIFO register 2, the output signal (MC) of the mode register 10
Is set to “1”. Since the mode control signal MC output from the mode register 10 is an input to the OR-type logic gate G1, if the mode control signal MC is "1", SC
The SI bus transfer control circuit 6 is in the same state as when the full signal SR-F from the SCSI side FIFO register 3 is output.

【0028】SCSIバス転送制御回路6はSCSI側
FIFOレジスタ3がフル状態であることを検出する
と、SCSI制御回路9とSCSIバス・インタフェー
ス回路4の動作を一時的に停止させる。つまり、SCS
Iコントローラは要求信号REQをアクティブにするこ
とを、SCSIバス転送制御回路6へのフル信号がイン
アクティブに戻るまでやめる。
When the SCSI bus transfer control circuit 6 detects that the SCSI side FIFO register 3 is full, the operation of the SCSI control circuit 9 and the operation of the SCSI bus interface circuit 4 are temporarily stopped. That is, SCS
The I controller stops activating the request signal REQ until the full signal to the SCSI bus transfer control circuit 6 returns to inactive.

【0029】この時、内部転送制御回路5は、SCSI
側FIFOレジスタ3からデータを読みだしホスト側F
IFOレジスタ2に書込む。ただし、SCSI側FIF
Oレジスタ3のエンプティ信号SR・Eがアクティブで
あるか、ノットレディ信号SR・NRがアクティブであ
れば読みとり動作ができないため内部転送を一時的に停
止し、ホスト側FIFOレジスタ2のフル信号HR・F
かノットレディ信号HR・NRがアクティブであれば書
込み動作ができなため、内部転送を一時的に停止する。
At this time, the internal transfer control circuit 5
Reads data from the FIFO register 3 of the host
Write to IFO register 2. However, the SCSI side FIF
If the empty signal SR · E of the O register 3 is active or the not-ready signal SR · NR is active, the reading operation cannot be performed, so that the internal transfer is temporarily stopped, and the full signal HR · F
If the not-ready signal HR / NR is active, the write operation cannot be performed, and the internal transfer is temporarily stopped.

【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転
送によって引き取る。
In other cases, reading from the FIFO register 3 on the SCSI side, writing into the FIFO register 2 on the host side, and reading from the FIFO register 2 on the host side can be performed. Until the device becomes empty
Since the transfer operation from the O-register 3 to the host-side FIFO register 2 is continued, even if the transfer of data from the SCSI-side bus 12 is stopped, the clear state where the data remains in the SCSI-side FIFO register 3 will not occur. Absent. The data written in the host-side FIFO register 2 is picked up by the DMA controller of the host device by DMA transfer.

【0031】従って、モードレジスタ10の出力信号
(MC)を“1”にすることによって、SCSIバス転
送を停止して、SCSIコントローラ内のデータを引き
取った後に転送コマンドをブレーク、ディスコネクトす
ると、SCSIコントローラ内でデータが消失すること
が無く、安全にスモールコンピュータ・デバイスからの
データの転送を中止することができる。
Therefore, when the output signal (MC) of the mode register 10 is set to "1", the SCSI bus transfer is stopped, and after the data in the SCSI controller is taken, the transfer command is broken and disconnected. The data transfer from the small computer device can be safely stopped without data loss in the controller.

【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%以上の時間短縮ができる。
When the mode register 10 is provided, the transfer speed as the transfer performance until the data transfer is interrupted is the same as the ideal transfer operation assuming that the above-mentioned problem does not occur, and it is 1024 bytes per sector. Drive 20
900 (ns) when trying to transfer sectors
+1260 (ns) +3780 (ns) +2.048
(Ms), that is, 16.88 ms. Also, S
To transfer data continuously without releasing the CSI bus, 900 (ns) × 20 + 1260 (ns) +378
0 (ns) +2.048 (ms), that is, 25.08
Since this is 8 ms, the time can be reduced by 64% or more.

【0033】図2は本発明の第2の実施例を示すブロッ
ク図である。
FIG. 2 is a block diagram showing a second embodiment of the present invention.

【0034】この実施例は、第1の実施例に、OR型の
第2の論理ゲートG2を更に設け、モードレジスタ10
からのモード制御信号MCとメインシーケンス回路8か
らの転送一時停止信号ITSTとの論理和をとってから
(第1の)論理ゲートG1の一方の入力端に入力するよ
うにしたものである。
In this embodiment, an OR type second logic gate G2 is further provided in the first embodiment, and the mode register 10
The logical sum of the mode control signal MC from the main control circuit 8 and the transfer temporary stop signal ITST from the main sequence circuit 8 is calculated and then input to one input terminal of the (first) logic gate G1.

【0035】この実施例は、転送一時停止信号ITST
が“1”のときも、モード制御信号MCが“1”のとき
と同一の動作となる。基本的な動作及び効果は第1の実
施例と同一である。
In this embodiment, the transfer temporary stop signal ITST
Is "1", the operation is the same as when the mode control signal MC is "1". Basic operations and effects are the same as those of the first embodiment.

【0036】[0036]

【発明の効果】以上説明したように本発明は、ホストデ
バイスの指示によりモード制御信号をアクティブレベル
とするモードレジスタを設け、モード制御信号及びメイ
ンシーケンス回路からの転送一時停止信号のうちの少な
くともモード制御信号とSCSI側FIFOレジスタか
らのフル信号との論理和をとって第1の転送制御回路へ
のフル信号とする構成とするこにより、転送データ数レ
ジスタに設定したデータ数だけデータが転送されていな
いとき、SCSIバス側の受信を一時的に停止させて、
SCSI側FIFOレジスタの読出し、ホスト側FIF
Oレジスタの書込み,読出しを続行させることができる
ので、データ転送を停止させた時点でSCSIコントロ
ーラに残っていたデータをホスト側FIFOから読み出
すことが可能になり、データを失うことが無くスモール
コンピュータ・デバイス側のデータの転送を中断し、デ
ィスコネクトすることができ、また、データの分割や再
転送をしなくて済むので、データ転送速度を速くするこ
とができる効果がある。
As described above, according to the present invention, a mode register for setting a mode control signal to an active level in accordance with an instruction from a host device is provided, and at least one of the mode control signal and the transfer temporary stop signal from the main sequence circuit is provided. The logical sum of the control signal and the full signal from the SCSI-side FIFO register is taken to be a full signal to the first transfer control circuit, so that the data is transferred by the number of data set in the transfer data number register. If not, temporarily stop the reception on the SCSI bus side,
Read FIFO register on SCSI side, FIFO on host side
Since the writing and reading of the O register can be continued, the data remaining in the SCSI controller at the time of stopping the data transfer can be read from the host-side FIFO, and the data can be read from the small computer without losing the data. There is an effect that the data transfer on the device side can be interrupted and disconnected, and the data transfer speed can be increased because the data need not be divided or retransmitted.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例を示すブロック図であ
る。
FIG. 1 is a block diagram showing a first embodiment of the present invention.

【図2】本発明の第2の実施例を示すブロック図であ
る。
FIG. 2 is a block diagram showing a second embodiment of the present invention.

【図3】従来のSCSIコントローラの一例を示すブロ
ック図である。
FIG. 3 is a block diagram illustrating an example of a conventional SCSI controller.

【符号の説明】[Explanation of symbols]

1 ホストバス・インタフェース回路 2 ホスト側FIFOレジスタ 3 SCSI側FIFOレジスタ 4 SCSIバス・インタフェース回路 5 内部転送制御回路 6 SCSIバス転送制御回路 7 転送バイト数レジスタ 8,8a メインシーケンス回路 9 SCSI制御回路 10 モードレジスタ G1,G2 論理ゲート DESCRIPTION OF SYMBOLS 1 Host bus interface circuit 2 Host side FIFO register 3 SCSI side FIFO register 4 SCSI bus interface circuit 5 Internal transfer control circuit 6 SCSI bus transfer control circuit 7 Transfer byte number register 8, 8a Main sequence circuit 9 SCSI control circuit 10 Mode Register G1, G2 Logic gate

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項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コントロー
ラ。
1. A method for receiving and storing data from a small computer device in predetermined units in accordance with a first write signal, sequentially reading stored data in units of the predetermined unit in accordance with a first read signal, and storing the data in an internal storage. A SCSI-side FIFO register for outputting a first empty signal, a full signal, and a not-ready signal indicating a state and an operation state; and the SCSI-side FIFO register according to a second write signal.
The read data of the O register is received and stored, and the stored data is sequentially supplied to the read host device in accordance with a second read signal. In addition, a second empty signal, a full signal, and a not ready signal indicating an internal storage state and an operation state are provided. And the number of data received from the small computer device is stored in accordance with an instruction from the host device.
A transfer data number register for decrementing the number of data each time data is supplied from the IFO register to the host device; and a transfer control register for controlling the main control signal and the first empty signal, the full signal and the not ready signal.
A first transfer control circuit for controlling a data write / read operation of a CSI-side FIFO register, and a data write / read operation of the host-side FIFO register in accordance with the main control signal and a second empty signal, a full signal and a not-ready signal And a main control circuit that generates the main control signal and controls the operation of each unit including the first and second transfer control circuits.
A mode register for outputting a mode control signal which becomes an active level in response to a transfer stop signal from the host device when the data corresponding to the number of data stored in the transfer data number register is not supplied to the host device; A logic gate for taking a logical sum of the mode control signal and a first full signal from the SCSI-side FIFO register and using the logical sum as a first full signal to the first transfer control circuit; When the output signal of the logic gate becomes an active level, the SCS by the first transfer control circuit is changed.
Writing of data to the I-side FIFO register is stopped, and data can be read from the SCSI-side FIFO register, data can be written to the host-side FIFO register, and data can be read from the host-side FIFO register. A SCSI controller, characterized in that:
JP33686892A 1992-12-17 1992-12-17 SCSI controller Expired - Lifetime JP2848171B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33686892A JP2848171B2 (en) 1992-12-17 1992-12-17 SCSI controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33686892A JP2848171B2 (en) 1992-12-17 1992-12-17 SCSI controller

Publications (2)

Publication Number Publication Date
JPH06187278A JPH06187278A (en) 1994-07-08
JP2848171B2 true JP2848171B2 (en) 1999-01-20

Family

ID=18303394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33686892A Expired - Lifetime JP2848171B2 (en) 1992-12-17 1992-12-17 SCSI controller

Country Status (1)

Country Link
JP (1) JP2848171B2 (en)

Also Published As

Publication number Publication date
JPH06187278A (en) 1994-07-08

Similar Documents

Publication Publication Date Title
EP0009678B1 (en) Computer input/output apparatus
US5014186A (en) Data-processing system having a packet transfer type input/output system
US5613162A (en) Method and apparatus for performing efficient direct memory access data transfers
US5740466A (en) Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses
US5404548A (en) Data transfer control system transferring command data and status with identifying code for the type of information
JP2770901B2 (en) Disk control method
JPH05282241A (en) Method and device for burst data transfer
JPS6122333B2 (en)
US5129072A (en) System for minimizing initiator processor interrupts by protocol controller in a computer bus system
US3961312A (en) Cycle interleaving during burst mode operation
EP0358424B1 (en) Data transfer method
EP0255593B1 (en) Data package communication systems
JP2848171B2 (en) SCSI controller
US5418744A (en) Data transfer apparatus
US6968409B1 (en) Method and apparatus of establishing a dynamically adjustable loop of delayed read commands for completion in a queue buffer
US5954806A (en) Method to handle SCSI messages as a target
JPS63292356A (en) Dma controller
JP3395762B2 (en) Data processing system and data transmission method
JPS63245755A (en) Input/output device controller
JPH0535661A (en) Scsi controller ic
JP3442099B2 (en) Data transfer storage device
JPS60193044A (en) Data buffer device
JPH10214247A (en) External storage device interface
JPH076133A (en) Data transfer method and data- processing system
JPS6252342B2 (en)

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