JPH06100998B2 - データ転送制御用インターフェース回路 - Google Patents
データ転送制御用インターフェース回路Info
- Publication number
- JPH06100998B2 JPH06100998B2 JP4264371A JP26437192A JPH06100998B2 JP H06100998 B2 JPH06100998 B2 JP H06100998B2 JP 4264371 A JP4264371 A JP 4264371A JP 26437192 A JP26437192 A JP 26437192A JP H06100998 B2 JPH06100998 B2 JP H06100998B2
- Authority
- JP
- Japan
- Prior art keywords
- host
- flip
- flop
- data
- register
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
Description
【0001】
【産業上の利用分野】本発明はデータ転送制御用インタ
ーフェース回路に係り、特にハード・ディスク・ドライ
ブ(HDD)のような周辺装置からホストに割込みをか
けて、それらの間でデータ転送を行うインターフェース
回路に係る。
ーフェース回路に係り、特にハード・ディスク・ドライ
ブ(HDD)のような周辺装置からホストに割込みをか
けて、それらの間でデータ転送を行うインターフェース
回路に係る。
【0002】
【従来の技術】パーソナル・コンピュータ・システムに
おいて、ホストとその周辺装置を接続するのにいわゆる
ATインターフェースが広く採用されている。HDDは
代表的な周辺装置の一つである。周辺装置のメーカーか
らすれば、ATインターフェースを介するホストとのや
りとりは統一されているのが望ましいが、コマンドによ
っては幾つかの動作シーケンスが可能になっているもの
がある。例えば、HDDに対する読取りコマンドは、ホ
ストがHDDの状況レジスタをいつ読むかに応じて、2
つの動作シーケンスの何れかで実行される。その第1の
動作シーケンスは次のようになっている。
おいて、ホストとその周辺装置を接続するのにいわゆる
ATインターフェースが広く採用されている。HDDは
代表的な周辺装置の一つである。周辺装置のメーカーか
らすれば、ATインターフェースを介するホストとのや
りとりは統一されているのが望ましいが、コマンドによ
っては幾つかの動作シーケンスが可能になっているもの
がある。例えば、HDDに対する読取りコマンドは、ホ
ストがHDDの状況レジスタをいつ読むかに応じて、2
つの動作シーケンスの何れかで実行される。その第1の
動作シーケンスは次のようになっている。
【0003】1.HDDは、ホストに転送するデータ
(通常は1セクタ分のデータ)が準備できた時、状況レ
ジスタのデータ要求(DRQ)ビットをハイにし、同時
にホストに対して割込み要求IRQをアサートする。 2.HDDからIRQを受け取ると、ホストはまず、H
DDの状況レジスタを読み(この時IRQはリセットす
なわち落される。IRQは、ホストが状況レジスタを読
むと必ずリセットされる)、それからデータ転送を始め
る。 3.1セクタ分のデータの転送が終ると、HDDは一度
DRQビットをリセットする。 4.ステップ1〜3を必要なセクタ数だけ繰り返す。 上述のシーケンスでは、データ転送を始める前にホスト
が状況レジスタを読んでいるので、以下このシーケンス
を「前読み」ということにする。しかし、ホストによっ
ては次のように読取りコマンドを処理しているものもあ
る。
(通常は1セクタ分のデータ)が準備できた時、状況レ
ジスタのデータ要求(DRQ)ビットをハイにし、同時
にホストに対して割込み要求IRQをアサートする。 2.HDDからIRQを受け取ると、ホストはまず、H
DDの状況レジスタを読み(この時IRQはリセットす
なわち落される。IRQは、ホストが状況レジスタを読
むと必ずリセットされる)、それからデータ転送を始め
る。 3.1セクタ分のデータの転送が終ると、HDDは一度
DRQビットをリセットする。 4.ステップ1〜3を必要なセクタ数だけ繰り返す。 上述のシーケンスでは、データ転送を始める前にホスト
が状況レジスタを読んでいるので、以下このシーケンス
を「前読み」ということにする。しかし、ホストによっ
ては次のように読取りコマンドを処理しているものもあ
る。
【0004】1.前読みのステップ1と同じ。 2.HDDからIRQを受け取ると、ホストはまずデー
タ転送を始め、そのセクタの終りまで転送する。 3.前読みのステップ3と同じ。 4.ホストはHDDの状況レジスタを読む(これにより
IRQがリセットされる)。 5.ステップ1〜4を必要なセクタ数だけ繰り返す。 この2番目のシーケンスでは、1セクタ分のデータの転
送が終った後でホストが状況レジスタを読んでいるの
で、以下これを「後読み」ということにする。ホストが
後読みモードで動作する場合、次のような時に誤動作が
生じることがあった。すなわち、ホストが現在のセクタ
の状況を知ろうとしてHDDの状況レジスタを読むタイ
ミング(後読みのステップ4)が、HDDにおいて次の
セクタの準備ができるタイミング(ステップ4の後のス
テップ1)より遅い時である。この場合には、前のセク
タ転送に対する状況レジスタ読取りによって次のセクタ
のIRQがリセットされてしまい、その結果ホストは次
のセクタのIRQを待ち続け、HDDはデータ転送を待
ち続けるという異常事態が生じる。実際、次のセクタの
IRQはセクタ・データの準備ができ次第ハードウェア
によってアサートされるので、このような事態が発生し
た。
タ転送を始め、そのセクタの終りまで転送する。 3.前読みのステップ3と同じ。 4.ホストはHDDの状況レジスタを読む(これにより
IRQがリセットされる)。 5.ステップ1〜4を必要なセクタ数だけ繰り返す。 この2番目のシーケンスでは、1セクタ分のデータの転
送が終った後でホストが状況レジスタを読んでいるの
で、以下これを「後読み」ということにする。ホストが
後読みモードで動作する場合、次のような時に誤動作が
生じることがあった。すなわち、ホストが現在のセクタ
の状況を知ろうとしてHDDの状況レジスタを読むタイ
ミング(後読みのステップ4)が、HDDにおいて次の
セクタの準備ができるタイミング(ステップ4の後のス
テップ1)より遅い時である。この場合には、前のセク
タ転送に対する状況レジスタ読取りによって次のセクタ
のIRQがリセットされてしまい、その結果ホストは次
のセクタのIRQを待ち続け、HDDはデータ転送を待
ち続けるという異常事態が生じる。実際、次のセクタの
IRQはセクタ・データの準備ができ次第ハードウェア
によってアサートされるので、このような事態が発生し
た。
【0005】上述のような異常事態を避けるためには、
ホストが状況レジスタを読んだ後に、次のセクタのIR
Qをアサートするようにする必要がある。しかし、ホス
トが前読みモードの場合は上のような異常事態は発生し
ないので、単純にIRQを遅らせる方法をとると、ホス
トが前読みモードのときにデータ転送のパフォーマンス
が悪くなるという問題がある。従って従来は、ホストが
前読みモードか後読みモードかに応じてスイッチを設定
し、後読みの場合は、IRQを遅らせるのではなく、状
況レジスタが読まれた時に直ちにIRQを再度アサート
するという方式をとっていた。これは、後読みの場合で
もパフォーマンスを悪くしないためである。しかし、最
近のホストには、オペレーティング・システム(OS)
によって前読みになったり後読みになったりする場合が
多々あり(例えば、OS/2では前読みになり、通常の
DOSでは後読みになる)、その場合はモードが変わる
度にスイッチを設定し直さなければならない。
ホストが状況レジスタを読んだ後に、次のセクタのIR
Qをアサートするようにする必要がある。しかし、ホス
トが前読みモードの場合は上のような異常事態は発生し
ないので、単純にIRQを遅らせる方法をとると、ホス
トが前読みモードのときにデータ転送のパフォーマンス
が悪くなるという問題がある。従って従来は、ホストが
前読みモードか後読みモードかに応じてスイッチを設定
し、後読みの場合は、IRQを遅らせるのではなく、状
況レジスタが読まれた時に直ちにIRQを再度アサート
するという方式をとっていた。これは、後読みの場合で
もパフォーマンスを悪くしないためである。しかし、最
近のホストには、オペレーティング・システム(OS)
によって前読みになったり後読みになったりする場合が
多々あり(例えば、OS/2では前読みになり、通常の
DOSでは後読みになる)、その場合はモードが変わる
度にスイッチを設定し直さなければならない。
【0006】IRQの制御をすべてマイクロコードで行
うようにした方式もある。この方式によると、IRQが
アサートされるタイミングがいつも遅いため、前読み及
び後読みの両モードとも正常に動作するが、ハードウェ
アでの制御に比べてパフォーマンスが悪い。
うようにした方式もある。この方式によると、IRQが
アサートされるタイミングがいつも遅いため、前読み及
び後読みの両モードとも正常に動作するが、ハードウェ
アでの制御に比べてパフォーマンスが悪い。
【0007】以上のような問題を解決するため、本出願
人の先願である特願平3−337995号は、ホストの
モードが前読みか後読みかを自動的に検出するインター
フェース回路を提案している。このインターフェース回
路は、HDDのコントローラからのデータ要求信号DR
Q及びホストへ送られる割込み要求信号IRQの状態に
応じて、ホストのモードを自動的に検出するモード検出
回路、ホストが後読みモードの場合にDRQを所定時間
だけ遅らせる遅延回路、及び該遅延回路の出力(被制御
DRQ)に応答してホストへのIRQを発生する割込み
要求発生回路を含む。ホストが前読みモードであること
をモード検出回路が検出した場合は、遅延回路は働か
ず、DRQは遅延なしに被制御DRQとして割込み要求
発生回路へ供給される。
人の先願である特願平3−337995号は、ホストの
モードが前読みか後読みかを自動的に検出するインター
フェース回路を提案している。このインターフェース回
路は、HDDのコントローラからのデータ要求信号DR
Q及びホストへ送られる割込み要求信号IRQの状態に
応じて、ホストのモードを自動的に検出するモード検出
回路、ホストが後読みモードの場合にDRQを所定時間
だけ遅らせる遅延回路、及び該遅延回路の出力(被制御
DRQ)に応答してホストへのIRQを発生する割込み
要求発生回路を含む。ホストが前読みモードであること
をモード検出回路が検出した場合は、遅延回路は働か
ず、DRQは遅延なしに被制御DRQとして割込み要求
発生回路へ供給される。
【0008】
【発明が解決しようとする課題】上述のインターフェー
ス回路を用いると、従来のスイッチで切り替える方法及
びマイクロコードで制御する方法に比べてパフォーマン
スは上がるが、DRQの遅延時間を予め決めてしまうた
め、設定した遅延時間が経過するよりも前にホストによ
る状況読取りが完了したとしても、直ちにIRQを出せ
ないという問題があった。
ス回路を用いると、従来のスイッチで切り替える方法及
びマイクロコードで制御する方法に比べてパフォーマン
スは上がるが、DRQの遅延時間を予め決めてしまうた
め、設定した遅延時間が経過するよりも前にホストによ
る状況読取りが完了したとしても、直ちにIRQを出せ
ないという問題があった。
【0009】従って本発明の目的は、同一のハードウェ
アで前読み及び後読みの何れにも誤りなく対応できると
共に、ホストが後読みモードの場合に、状況読取りがあ
ると直ちに次の割込み要求を出せるインターフェース回
路を提供することにある。
アで前読み及び後読みの何れにも誤りなく対応できると
共に、ホストが後読みモードの場合に、状況読取りがあ
ると直ちに次の割込み要求を出せるインターフェース回
路を提供することにある。
【0010】
【課題を解決するための手段】本発明は、割込みに基づ
いて周辺装置とホストとの間でデータを転送するコンピ
ュータ・システムにおいて、ホストが何れのモードであ
っても誤りなくデータ転送を実行するインターフェース
回路に係る。このようなコンピュータ・システムでは、
周辺装置は1ブロックのデータの転送準備ができた時に
データ要求を発生してホストに割込み要求を送る。ホス
トは、この割込み要求に応答して周辺装置の状況を読み
取ってからブロック・データ転送を開始する第1のモー
ド、又はブロック・データ転送が終了してから周辺装置
の状況を読み取る第2のモードで動作する。本発明に従
うインターフェース回路は、周辺装置からのデータ要求
に応答してホストへの割込み要求を発生し、ホストによ
る状況読取りがあると割込み要求を落す割込み手段と、
次のデータ要求が発生されても周辺装置の状況がまだ読
み取られていなければホストが第2モードにあることを
検出するモード検出手段と、該モード検出手段からの第
2モード検出信号及びホストによる状況読取りに応答し
て前記割込み手段にホストへの割込み要求を再び発生さ
せる手段とを具備している。
いて周辺装置とホストとの間でデータを転送するコンピ
ュータ・システムにおいて、ホストが何れのモードであ
っても誤りなくデータ転送を実行するインターフェース
回路に係る。このようなコンピュータ・システムでは、
周辺装置は1ブロックのデータの転送準備ができた時に
データ要求を発生してホストに割込み要求を送る。ホス
トは、この割込み要求に応答して周辺装置の状況を読み
取ってからブロック・データ転送を開始する第1のモー
ド、又はブロック・データ転送が終了してから周辺装置
の状況を読み取る第2のモードで動作する。本発明に従
うインターフェース回路は、周辺装置からのデータ要求
に応答してホストへの割込み要求を発生し、ホストによ
る状況読取りがあると割込み要求を落す割込み手段と、
次のデータ要求が発生されても周辺装置の状況がまだ読
み取られていなければホストが第2モードにあることを
検出するモード検出手段と、該モード検出手段からの第
2モード検出信号及びホストによる状況読取りに応答し
て前記割込み手段にホストへの割込み要求を再び発生さ
せる手段とを具備している。
【0011】
【実施例】本発明に従うインターフェース回路を含む全
体のシステム構成を図1に示す。本実施例では、周辺装
置としてHDDを想定しているが、本発明は前述のよう
な前読み及び後読みの問題がある周辺装置であればどの
ようなものにも適用できる。
体のシステム構成を図1に示す。本実施例では、周辺装
置としてHDDを想定しているが、本発明は前述のよう
な前読み及び後読みの問題がある周辺装置であればどの
ようなものにも適用できる。
【0012】図1において、破線で囲んだHDD10は
インターフェース回路14及びシステム・バス(ATバ
ス)16を介してホスト12に接続される。ホスト12
はi80386等のマイクロプロセッサを含んでおり、
HDD10及び図示していない他の周辺装置(キーボー
ドやディスプレイ等)と共に、本出願人のパーソナル・
コンピュータATシステム或はその互換システムを構成
している。
インターフェース回路14及びシステム・バス(ATバ
ス)16を介してホスト12に接続される。ホスト12
はi80386等のマイクロプロセッサを含んでおり、
HDD10及び図示していない他の周辺装置(キーボー
ドやディスプレイ等)と共に、本出願人のパーソナル・
コンピュータATシステム或はその互換システムを構成
している。
【0013】HDD10は、HDD全体の制御を司るマ
イクロプロセッサ制御のデバイス・コントローラ18を
含む。デバイス・コントローラ18の主な機能は3つあ
る。すなわち、ヘッド20を用いる読取り及び書込みの
制御、ヘッド20を移動させるためのボイス・コイル・
モータ(VCM)22の制御、並びにディスク(図示せ
ず)を回転させるためのスピンドル・モータ24の制御
である。ヘッド20による読取り及び書込みは、セクタ
・バッファ26及び読取り/書込み(R/W)回路28
を用いて行われる。セクタ・バッファ26は、本実施例
では64セクタ分のデータ(32Kバイト)を記憶する
ことができる。R/W回路28は周知の構成であって、
読取り及び書込みに必要な各種回路、すなわち増幅器、
ピーク検出器、可変周波数発振器(VFO)、符号器、
復号器、サーボ論理、アナログ・ディジタル変換器、デ
ィジタル・アナログ変換器などを含んでいる。VCM2
2及びスピンドル・モータ24の制御は、それぞれVC
Mドライバ30及びスピンドル・ドライバ32を介して
行われる。図1に示した各システム要素は、インターフ
ェース回路14を除くと通常のものでよく、またそれら
の構成は既に周知であるから、それらの詳細については
省略する。
イクロプロセッサ制御のデバイス・コントローラ18を
含む。デバイス・コントローラ18の主な機能は3つあ
る。すなわち、ヘッド20を用いる読取り及び書込みの
制御、ヘッド20を移動させるためのボイス・コイル・
モータ(VCM)22の制御、並びにディスク(図示せ
ず)を回転させるためのスピンドル・モータ24の制御
である。ヘッド20による読取り及び書込みは、セクタ
・バッファ26及び読取り/書込み(R/W)回路28
を用いて行われる。セクタ・バッファ26は、本実施例
では64セクタ分のデータ(32Kバイト)を記憶する
ことができる。R/W回路28は周知の構成であって、
読取り及び書込みに必要な各種回路、すなわち増幅器、
ピーク検出器、可変周波数発振器(VFO)、符号器、
復号器、サーボ論理、アナログ・ディジタル変換器、デ
ィジタル・アナログ変換器などを含んでいる。VCM2
2及びスピンドル・モータ24の制御は、それぞれVC
Mドライバ30及びスピンドル・ドライバ32を介して
行われる。図1に示した各システム要素は、インターフ
ェース回路14を除くと通常のものでよく、またそれら
の構成は既に周知であるから、それらの詳細については
省略する。
【0014】インターフェース回路14の入出力部の構
成を図2に示す。これは、レジスタ選択器40によって
選択される複数のレジスタ、すなわちセクタ・カウント
・レジスタ42、アドレス・レジスタ44、コマンド・
レジスタ46、データ・レジスタ48及び状況レジスタ
50を含む。アドレス・レジスタ44は、実際には4つ
のレジスタ(2つのシリンダ・アドレス・レジスタ、1
つのセクタ・アドレス・レジスタ及び1つのドライブ/
ヘッド・アドレス・レジスタ)から成っているが、ここ
では便宜上、それらを1つのレジスタにまとめて取り扱
うことにする。
成を図2に示す。これは、レジスタ選択器40によって
選択される複数のレジスタ、すなわちセクタ・カウント
・レジスタ42、アドレス・レジスタ44、コマンド・
レジスタ46、データ・レジスタ48及び状況レジスタ
50を含む。アドレス・レジスタ44は、実際には4つ
のレジスタ(2つのシリンダ・アドレス・レジスタ、1
つのセクタ・アドレス・レジスタ及び1つのドライブ/
ヘッド・アドレス・レジスタ)から成っているが、ここ
では便宜上、それらを1つのレジスタにまとめて取り扱
うことにする。
【0015】セクタ・カウント・レジスタ42は読取り
又は書込みが行われるセクタの数を保持し、アドレス・
レジスタ44はその開始アドレスを保持し、コマンド・
レジスタ46はコマンド・コードを保持し、データ・レ
ジスタはホスト12からHDD10に書込むデータ又は
HDD10からホスト12に読み出すデータを保持し、
状況レジスタ50はHDDの状況を示す複数のビットを
含む(詳細については、ATインターフェースの規格案
であるATアタッチメントを参照されたい)。これらの
レジスタは、ホスト12からシステム・バス16を介し
てレジスタ選択器40に供給される情報により選択され
る。その時レジスタ選択器40は、特定のレジスタを選
択する信号Si(i=1、2、3・・)を発生する。図
2には、本発明の理解に必要な5つのレジスタしか示し
ていないが、実際にはもっと多くのレジスタが設けられ
ている。
又は書込みが行われるセクタの数を保持し、アドレス・
レジスタ44はその開始アドレスを保持し、コマンド・
レジスタ46はコマンド・コードを保持し、データ・レ
ジスタはホスト12からHDD10に書込むデータ又は
HDD10からホスト12に読み出すデータを保持し、
状況レジスタ50はHDDの状況を示す複数のビットを
含む(詳細については、ATインターフェースの規格案
であるATアタッチメントを参照されたい)。これらの
レジスタは、ホスト12からシステム・バス16を介し
てレジスタ選択器40に供給される情報により選択され
る。その時レジスタ選択器40は、特定のレジスタを選
択する信号Si(i=1、2、3・・)を発生する。図
2には、本発明の理解に必要な5つのレジスタしか示し
ていないが、実際にはもっと多くのレジスタが設けられ
ている。
【0016】ホスト12は、インターフェース回路14
にコマンドを送る場合、特定のレジスタを選択するアド
レス及び入出力書込み信号(−IOW)をバス16Aに
乗せ、そして選択したレジスタに書込むべき情報をバス
16Bに乗せる。バス16Aおよび16Bはシステム・
バス16の一部である。読取りコマンドを例にとると、
ホスト12はまず、セクタ・カウント・レジスタ42へ
の書込みを指示する信号、すなわちセクタ・カウント・
レジスタ42のアドレス及び入出力書込み信号をバス1
6Aに乗せ、そしてセクタ・カウントをバス16Bに乗
せる。レジスタ選択器40は、バス16A上の信号に応
答して、セクタ・カウント・レジスタ42を選択する信
号S1を発生し、バス16B上のセクタ・カウントをレ
ジスタ42にロードさせる。次にホスト12は、アドレ
ス・レジスタ44への書込みを指示する信号及び開始ア
ドレスをそれぞれバス16A及び16Bに乗せる。レジ
スタ選択器40はこれにより信号S2を発生してアドレ
ス・レジスタ44を選択し、バス16B上の開始アドレ
スをレジスタ44にロードさせる。最後にホスト12
は、コマンド・レジスタ46への書込みを指示する信号
及び読取りコマンド・コードをそれぞれバス16A及び
16Bに乗せ、かくして読取りコマンド・コードがコマ
ンド・レジスタ46にロードされる。
にコマンドを送る場合、特定のレジスタを選択するアド
レス及び入出力書込み信号(−IOW)をバス16Aに
乗せ、そして選択したレジスタに書込むべき情報をバス
16Bに乗せる。バス16Aおよび16Bはシステム・
バス16の一部である。読取りコマンドを例にとると、
ホスト12はまず、セクタ・カウント・レジスタ42へ
の書込みを指示する信号、すなわちセクタ・カウント・
レジスタ42のアドレス及び入出力書込み信号をバス1
6Aに乗せ、そしてセクタ・カウントをバス16Bに乗
せる。レジスタ選択器40は、バス16A上の信号に応
答して、セクタ・カウント・レジスタ42を選択する信
号S1を発生し、バス16B上のセクタ・カウントをレ
ジスタ42にロードさせる。次にホスト12は、アドレ
ス・レジスタ44への書込みを指示する信号及び開始ア
ドレスをそれぞれバス16A及び16Bに乗せる。レジ
スタ選択器40はこれにより信号S2を発生してアドレ
ス・レジスタ44を選択し、バス16B上の開始アドレ
スをレジスタ44にロードさせる。最後にホスト12
は、コマンド・レジスタ46への書込みを指示する信号
及び読取りコマンド・コードをそれぞれバス16A及び
16Bに乗せ、かくして読取りコマンド・コードがコマ
ンド・レジスタ46にロードされる。
【0017】レジスタ42、44及び46のロードが終
ると、コントローラ18はそれらの内容によって指定さ
れた読取り動作を実行し、ディスク(図示せず)から読
み取ったデータをセクタ・バッファ26に書込む。書込
みコマンドの場合は、上述に加えて、ディスクに書込む
べきデータがバス16Bからデータ・レジスタ48に送
られる。なお、書込み動作においては、前述の前読み及
び後読みの問題が生じないので、ここでは書込みについ
ては触れないことにする。
ると、コントローラ18はそれらの内容によって指定さ
れた読取り動作を実行し、ディスク(図示せず)から読
み取ったデータをセクタ・バッファ26に書込む。書込
みコマンドの場合は、上述に加えて、ディスクに書込む
べきデータがバス16Bからデータ・レジスタ48に送
られる。なお、書込み動作においては、前述の前読み及
び後読みの問題が生じないので、ここでは書込みについ
ては触れないことにする。
【0018】読取り動作中のHDD10からホスト12
へのデータ転送は割込みに基づいて行われる。前述のよ
うに、HDD10は、所定数のセクタのデータ(例えば
1セクタ分のデータ)がディスクからセクタ・バッファ
26に書込まれて、ホストへのデータ転送の準備ができ
ると、インターフェース回路14にデータ要求信号DR
Qを送る。インターフェース回路14はそれに応答し
て、セクタ・バッファ26からホスト12へのデータ転
送を開始させるため、ホスト12に割込みをかける。ホ
スト12が前読みモード及び後読みモードの何れであっ
ても、割込みによるデータ転送を効率よく行えるように
したインターフェース回路の割込み制御部の構成を図3
に示す。
へのデータ転送は割込みに基づいて行われる。前述のよ
うに、HDD10は、所定数のセクタのデータ(例えば
1セクタ分のデータ)がディスクからセクタ・バッファ
26に書込まれて、ホストへのデータ転送の準備ができ
ると、インターフェース回路14にデータ要求信号DR
Qを送る。インターフェース回路14はそれに応答し
て、セクタ・バッファ26からホスト12へのデータ転
送を開始させるため、ホスト12に割込みをかける。ホ
スト12が前読みモード及び後読みモードの何れであっ
ても、割込みによるデータ転送を効率よく行えるように
したインターフェース回路の割込み制御部の構成を図3
に示す。
【0019】図3の割込み制御部は、コントローラ18
からのDRQに応答してホスト12への割込み要求IR
Qを発生する割込み要求発生回路60を含む。この回路
60は、ホスト12による状況読取りがあると、IRQ
を落す。DRQ及びIRQは後読みモード検出回路62
にも供給される。後読みモード検出回路62は、次のD
RQが発生されたときに、ホスト12がまだ状況読取り
を行っていなければ、すなわち前のIRQがまだ発生さ
れたままであれば、ホスト12が後読みモードであるこ
とを示す後読み信号を発生する。この後読み信号は割込
み付勢回路64に供給される。割込み付勢回路64は、
後読み信号及びホスト12の状況読取りに応答して割込
み要求発生回路60を付勢し、新しいIRQを発生させ
る。
からのDRQに応答してホスト12への割込み要求IR
Qを発生する割込み要求発生回路60を含む。この回路
60は、ホスト12による状況読取りがあると、IRQ
を落す。DRQ及びIRQは後読みモード検出回路62
にも供給される。後読みモード検出回路62は、次のD
RQが発生されたときに、ホスト12がまだ状況読取り
を行っていなければ、すなわち前のIRQがまだ発生さ
れたままであれば、ホスト12が後読みモードであるこ
とを示す後読み信号を発生する。この後読み信号は割込
み付勢回路64に供給される。割込み付勢回路64は、
後読み信号及びホスト12の状況読取りに応答して割込
み要求発生回路60を付勢し、新しいIRQを発生させ
る。
【0020】図4は、割込み制御部の詳細な回路図を示
したものである。割込み制御部は、割込み要求発生回路
60として働く第1フリップフロップ70、及び後読み
モード検出回路60として働く第2フリップフロップ7
2を含む。第3フリップフロップ74、カウンタ76、
遅延値レジスタ78及び比較器80は図3の割込み付勢
回路62を構成している。第1フリップフロップ70の
データ端子Dは常時ハイに保たれ、クロック端子CKは
コントローラ18からのデータ要求信号DRQを受け取
る。負セット端子−Sは比較器80の出力に接続され、
負リセット端子−RはNORゲート82の出力に接続さ
れる。NORゲート82の2つの入力はいずれも反転入
力であって、NANDゲート84の出力及び電源投入等
の初期リセット時に発生される負リセット信号−RST
を受け取る。NANDゲート84の一方の入力は図2の
レジスタ選択器40からの信号S5を受取り、他方の入
力はホスト12からの入出力読取り信号−IORを受け
取る。第1フリップフロップ70のQ出力は第2フリッ
プフロップ72のデータ端子Dに接続され、更に図示し
ないバスドライバを介してホスト12へのバスラインに
も接続される。
したものである。割込み制御部は、割込み要求発生回路
60として働く第1フリップフロップ70、及び後読み
モード検出回路60として働く第2フリップフロップ7
2を含む。第3フリップフロップ74、カウンタ76、
遅延値レジスタ78及び比較器80は図3の割込み付勢
回路62を構成している。第1フリップフロップ70の
データ端子Dは常時ハイに保たれ、クロック端子CKは
コントローラ18からのデータ要求信号DRQを受け取
る。負セット端子−Sは比較器80の出力に接続され、
負リセット端子−RはNORゲート82の出力に接続さ
れる。NORゲート82の2つの入力はいずれも反転入
力であって、NANDゲート84の出力及び電源投入等
の初期リセット時に発生される負リセット信号−RST
を受け取る。NANDゲート84の一方の入力は図2の
レジスタ選択器40からの信号S5を受取り、他方の入
力はホスト12からの入出力読取り信号−IORを受け
取る。第1フリップフロップ70のQ出力は第2フリッ
プフロップ72のデータ端子Dに接続され、更に図示し
ないバスドライバを介してホスト12へのバスラインに
も接続される。
【0021】第2フリップフロップ72のクロック端子
CKもDRQを受け取る。第2フリップフロップ72の
Q出力は第3フリップフロップ74のデータ端子Dに接
続され、負リセット端子−RはNORゲート86の出力
に接続される。NORゲート86は前述のリセット信号
−RST及び比較器80の出力を受け取る。
CKもDRQを受け取る。第2フリップフロップ72の
Q出力は第3フリップフロップ74のデータ端子Dに接
続され、負リセット端子−RはNORゲート86の出力
に接続される。NORゲート86は前述のリセット信号
−RST及び比較器80の出力を受け取る。
【0022】データ端子Dが第2フリップフロップ72
のQ出力に接続されている第3フリップフロップ74の
クロック端子CKはNANDゲート84の出力に接続さ
れ、負リセット端子−RはNORゲート88の出力に接
続され、Q出力はカウンタ76の負リセット端子−Rに
接続される。カウンタ76は、負リセット端子−Rへの
負入力によりリセット状態を解除され、クロックに応答
してカウントを始める。カウンタ76のカウント値は比
較器80の第1入力Aに供給される。比較器80の第2
入力Bには、遅延レジスタ78に設定されている遅延値
が供給される。遅延レジスタ78は、パワーオンの度に
コントローラ18のマイクロプロセッサ(図示せず)か
ら所定の遅延値をロードされる。比較器80の反転出力
は第2フリップフロップ72の負セット端子−S及びN
ORゲート86の一方の反転入力に接続される。
のQ出力に接続されている第3フリップフロップ74の
クロック端子CKはNANDゲート84の出力に接続さ
れ、負リセット端子−RはNORゲート88の出力に接
続され、Q出力はカウンタ76の負リセット端子−Rに
接続される。カウンタ76は、負リセット端子−Rへの
負入力によりリセット状態を解除され、クロックに応答
してカウントを始める。カウンタ76のカウント値は比
較器80の第1入力Aに供給される。比較器80の第2
入力Bには、遅延レジスタ78に設定されている遅延値
が供給される。遅延レジスタ78は、パワーオンの度に
コントローラ18のマイクロプロセッサ(図示せず)か
ら所定の遅延値をロードされる。比較器80の反転出力
は第2フリップフロップ72の負セット端子−S及びN
ORゲート86の一方の反転入力に接続される。
【0023】なお、図4の実施例におけるフリップフロ
ップ70、72及び74はいずれもクロック端子CKに
おける正遷移に応答してデータ端子Dの状態にセットさ
れ、リセット端子−Rがローレベルになるとリセットさ
れるようになっている。フリップフロップ70の場合
は、セット端子Sがローレベルになるとセットされる。
但し本発明に関する限り、各フリップフロップは負遷移
応答型でもよく、またセット及びリセットがハイレベル
の信号で行われるものでもよい。更に、論理に関して
も、NAND及びNORという負論理の替りに、AND
及びORの正論理を使用することも可能である。
ップ70、72及び74はいずれもクロック端子CKに
おける正遷移に応答してデータ端子Dの状態にセットさ
れ、リセット端子−Rがローレベルになるとリセットさ
れるようになっている。フリップフロップ70の場合
は、セット端子Sがローレベルになるとセットされる。
但し本発明に関する限り、各フリップフロップは負遷移
応答型でもよく、またセット及びリセットがハイレベル
の信号で行われるものでもよい。更に、論理に関して
も、NAND及びNORという負論理の替りに、AND
及びORの正論理を使用することも可能である。
【0024】次に、前読みのタイミング・チャートを示
す図5及び後読みのタイミング・チャートを示す図6を
参照しながら、本発明に従うインターフェース回路の動
作の詳細を説明する。
す図5及び後読みのタイミング・チャートを示す図6を
参照しながら、本発明に従うインターフェース回路の動
作の詳細を説明する。
【0025】1.前読み 前述のように、読取りコマンドは、読み取るべきセクタ
の数を指定するセクタ・カウント、開始アドレス、及び
コマンド・コードを含んでおり、これらが図2のレジス
タ42、44及び46にそれぞれ受け取られると、コン
トローラ18はディスクからセクタ・バッファ26への
読取りを開始する。セクタ・バッファ26に1セクタ分
のデータが書込まれると、コントローラ18はデータ要
求信号DRQを発生して、インターフェース回路14の
割込み制御部(図3)に送る。このDRQはフリップフ
ロップ70及び72のクロック端子CKに印加される。
フリップフロップ70のデータ端子Dは常時ハイであ
り、従ってDRQの正遷移によりフリップフロップ70
はセットされて、そのQ出力すなわち割込み要求IRQ
がハイになり、ホスト12に割込みをかける。DRQは
第2フリップフロップ72のクロック端子CKにも印加
されるが、DRQがローからハイに変わる時点では第1
フリップフロップ70のQ出力はまだハイになっていな
いので、フリップフロップ72はリセットされたままで
ある。
の数を指定するセクタ・カウント、開始アドレス、及び
コマンド・コードを含んでおり、これらが図2のレジス
タ42、44及び46にそれぞれ受け取られると、コン
トローラ18はディスクからセクタ・バッファ26への
読取りを開始する。セクタ・バッファ26に1セクタ分
のデータが書込まれると、コントローラ18はデータ要
求信号DRQを発生して、インターフェース回路14の
割込み制御部(図3)に送る。このDRQはフリップフ
ロップ70及び72のクロック端子CKに印加される。
フリップフロップ70のデータ端子Dは常時ハイであ
り、従ってDRQの正遷移によりフリップフロップ70
はセットされて、そのQ出力すなわち割込み要求IRQ
がハイになり、ホスト12に割込みをかける。DRQは
第2フリップフロップ72のクロック端子CKにも印加
されるが、DRQがローからハイに変わる時点では第1
フリップフロップ70のQ出力はまだハイになっていな
いので、フリップフロップ72はリセットされたままで
ある。
【0026】前読みモードのホスト12は、データ転送
を開始する前にHDD10の状況を知るため、HDD1
0からの割込み要求IRQに応答して、インターフェー
ス回路14にある状況レジスタ50を読む。そのため、
ホスト12は状況レジスタ50の読取りを指示する信
号、すなわち状況レジスタ50のアドレス及び入出力読
取り信号−IORをバス16Aに乗せる。レジスタ選択
器40はこの信号に応答して、状況レジスタ50を選択
する信号S5を発生し、その内容をバス16Bの方へゲ
ートする。状況レジスタ50は、前述のDRQビットの
他に、HDD10がビジーであることを示すビジー・ビ
ット、コマンド実行中にエラーが生じたことを示すエラ
ー・ビットなどの、HDD10の状況を示す複数の状況
ビットを含んでいる。
を開始する前にHDD10の状況を知るため、HDD1
0からの割込み要求IRQに応答して、インターフェー
ス回路14にある状況レジスタ50を読む。そのため、
ホスト12は状況レジスタ50の読取りを指示する信
号、すなわち状況レジスタ50のアドレス及び入出力読
取り信号−IORをバス16Aに乗せる。レジスタ選択
器40はこの信号に応答して、状況レジスタ50を選択
する信号S5を発生し、その内容をバス16Bの方へゲ
ートする。状況レジスタ50は、前述のDRQビットの
他に、HDD10がビジーであることを示すビジー・ビ
ット、コマンド実行中にエラーが生じたことを示すエラ
ー・ビットなどの、HDD10の状況を示す複数の状況
ビットを含んでいる。
【0027】状況レジスタ選択信号S5はNANDゲー
ト84の第1入力にも印加される。NANDゲート84
の第2入力には、ホスト12からの入出力読取り信号−
IORが印加される。この信号は、インターフェース回
路14にある各種入出力レジスタ(図2参照)の読取り
を示す信号であり、ATインターフェースにおいては、
ローレベルが活動状態を表すように決められている。N
ANDゲート84は活動状態のS5及び−IORにより
条件付けられると、ホスト12による状況読取りを示す
出力−STATRDをローにする。この出力−STAT
RDはNORゲート82を介して第1フリップフロップ
70の負リセット端子−Rに供給され、フリップフロッ
プ70をリセットする。この結果、ホスト12への割込
み要求IRQは落される(図5のIRQの波形参照)。
出力−STATRDは第3フリップフロップ74のクロ
ック端子CKにも印加されるが、この時データ端子D
(フリップフロップ72のQ出力)はローに保たれてい
るから、−STATRDがローからハイに遷移してもフ
リップフロップ74はリセットされたままである。
ト84の第1入力にも印加される。NANDゲート84
の第2入力には、ホスト12からの入出力読取り信号−
IORが印加される。この信号は、インターフェース回
路14にある各種入出力レジスタ(図2参照)の読取り
を示す信号であり、ATインターフェースにおいては、
ローレベルが活動状態を表すように決められている。N
ANDゲート84は活動状態のS5及び−IORにより
条件付けられると、ホスト12による状況読取りを示す
出力−STATRDをローにする。この出力−STAT
RDはNORゲート82を介して第1フリップフロップ
70の負リセット端子−Rに供給され、フリップフロッ
プ70をリセットする。この結果、ホスト12への割込
み要求IRQは落される(図5のIRQの波形参照)。
出力−STATRDは第3フリップフロップ74のクロ
ック端子CKにも印加されるが、この時データ端子D
(フリップフロップ72のQ出力)はローに保たれてい
るから、−STATRDがローからハイに遷移してもフ
リップフロップ74はリセットされたままである。
【0028】ホスト12はセクタ・バッファ26に書き
込まれたデータを読み取るため、状況レジスタ50の読
取りに続いてデータ・レジスタ48の読取りを指示する
信号をバス16Aに乗せる。データ・レジスタ48のビ
ット幅を16ビット、1セクタを512バイトとする
と、ホスト12は1セクタにつきデータ・レジスタ48
の読取りを256回行う必要がある。データ・レジスタ
48はラッチ型及びゲート型の何れでもよい。データ・
レジスタ48がラッチ型の場合、コントローラ18は、
最初の16ビット・ワードをセクタ・バッファ26から
データ・レジスタ48にロードした後データ要求信号D
RQを発生し、以後ホスト12がデータ・レジスタ48
を読み取る度に、セクタ・バッファ26から16ビット
・ワードを順次に取り出してデータ・レジスタ48にロ
ードする。データ・レジスタ48がゲート型の場合は、
コントローラ18は1セクタ分のデータをセクタ・バッ
ファ26に書込んだ時点でDRQを発生し、以後ホスト
12がデータ・レジスタ48の読取りを指示する度に、
セクタ・バッファ26から16ビット・ワードを順次に
取り出して、バス16Bの方へゲートする。何れの場合
も、コントローラ18はホスト12からの読取り信号−
IORをカウントしており、それが256に達するとD
RQを落す。
込まれたデータを読み取るため、状況レジスタ50の読
取りに続いてデータ・レジスタ48の読取りを指示する
信号をバス16Aに乗せる。データ・レジスタ48のビ
ット幅を16ビット、1セクタを512バイトとする
と、ホスト12は1セクタにつきデータ・レジスタ48
の読取りを256回行う必要がある。データ・レジスタ
48はラッチ型及びゲート型の何れでもよい。データ・
レジスタ48がラッチ型の場合、コントローラ18は、
最初の16ビット・ワードをセクタ・バッファ26から
データ・レジスタ48にロードした後データ要求信号D
RQを発生し、以後ホスト12がデータ・レジスタ48
を読み取る度に、セクタ・バッファ26から16ビット
・ワードを順次に取り出してデータ・レジスタ48にロ
ードする。データ・レジスタ48がゲート型の場合は、
コントローラ18は1セクタ分のデータをセクタ・バッ
ファ26に書込んだ時点でDRQを発生し、以後ホスト
12がデータ・レジスタ48の読取りを指示する度に、
セクタ・バッファ26から16ビット・ワードを順次に
取り出して、バス16Bの方へゲートする。何れの場合
も、コントローラ18はホスト12からの読取り信号−
IORをカウントしており、それが256に達するとD
RQを落す。
【0029】この後、次のセクタ・データの転送準備が
できると、コントローラ18は再びDRQをハイにし、
上述の動作を繰り返す。なお、ホスト12が最初のセク
タ・データを読み取ってから、次のセクタ・データをデ
ィスクから読み出してセクタ・バッファ26に書込むよ
うにすると、読取りコマンドの実行完了までの時間が長
くなるので、セクタ・バッファ26からホスト12への
読出しと、ディスクからセクタ・バッファ26への書込
みを並行して行うのが好ましい。その場合、セクタ・バ
ッファ26から読み出したデータをホスト12へ転送し
ている間に、すなわちセクタ・バッファ26の読取りが
行われていない間に、ディスクからのデータがセクタ・
バッファ26に書込まれる。これは、次の後読みモード
の場合も同じである。セクタ・カウント・レジスタ42
にロードされたセクタ・カウントの数だけセクタ・デー
タがホスト12へ転送されると、読取りコマンドの実行
が完了する。
できると、コントローラ18は再びDRQをハイにし、
上述の動作を繰り返す。なお、ホスト12が最初のセク
タ・データを読み取ってから、次のセクタ・データをデ
ィスクから読み出してセクタ・バッファ26に書込むよ
うにすると、読取りコマンドの実行完了までの時間が長
くなるので、セクタ・バッファ26からホスト12への
読出しと、ディスクからセクタ・バッファ26への書込
みを並行して行うのが好ましい。その場合、セクタ・バ
ッファ26から読み出したデータをホスト12へ転送し
ている間に、すなわちセクタ・バッファ26の読取りが
行われていない間に、ディスクからのデータがセクタ・
バッファ26に書込まれる。これは、次の後読みモード
の場合も同じである。セクタ・カウント・レジスタ42
にロードされたセクタ・カウントの数だけセクタ・デー
タがホスト12へ転送されると、読取りコマンドの実行
が完了する。
【0030】2.後読み ホスト12が後読みモードの場合の動作は、割込み要求
IRQが発生される迄は前読みモードの時と同じであ
る。後読みモードにおいては、ホスト12は割込み要求
IRQに応答して、まずデータ・レジスタ48の読取り
を指示することによって、セクタ・バッファ26からホ
スト12へのデータ転送を開始する。そして1セクタ分
のデータを読み取った後、状況レジスタ50の読取りを
指示する。インターフェース回路14においては、前読
みの場合と同様に、ホスト12が512バイトのセクタ
・データを読み取るとDRQがローになる。しかし図6
に示すように、DRQがローになっても、状況レジスタ
50はまだ読み取られていないので、フリップフロップ
70はリセットされず、割込み要求IRQはハイのまま
である。この状態で、次のセクタ・データの転送準備が
できて、DRQが再びハイになると、今度は第1フリッ
プフロップ70が既にセットされているため、第2フリ
ップフロップ72もセットされ、そのQ出力をハイにす
る。これは、ホスト12が後読みモードにあることを示
す。
IRQが発生される迄は前読みモードの時と同じであ
る。後読みモードにおいては、ホスト12は割込み要求
IRQに応答して、まずデータ・レジスタ48の読取り
を指示することによって、セクタ・バッファ26からホ
スト12へのデータ転送を開始する。そして1セクタ分
のデータを読み取った後、状況レジスタ50の読取りを
指示する。インターフェース回路14においては、前読
みの場合と同様に、ホスト12が512バイトのセクタ
・データを読み取るとDRQがローになる。しかし図6
に示すように、DRQがローになっても、状況レジスタ
50はまだ読み取られていないので、フリップフロップ
70はリセットされず、割込み要求IRQはハイのまま
である。この状態で、次のセクタ・データの転送準備が
できて、DRQが再びハイになると、今度は第1フリッ
プフロップ70が既にセットされているため、第2フリ
ップフロップ72もセットされ、そのQ出力をハイにす
る。これは、ホスト12が後読みモードにあることを示
す。
【0031】フリップフロップ72がセットされている
状態でホスト12が状況レジスタ50を読み取ると、N
ANDゲート84の出力(−STATRD)に負のパル
スが現れ、第3フリップフロップ74をセットすると共
に、NORゲート82を介して第1フリップフロップ7
0をリセットし、IRQをローレベルにする。フリップ
フロップ74のハイのQ出力はカウンタ76のリセット
状態を解除する。カウンタ76は、フリップフロップ7
4がリセットされていて、カウンタ76の負リセット端
子−Rがローに保たれている限り、リセット状態にあ
る。カウンタ76は、リセット状態を解除されるとカウ
ントを開始し、クロック・パルスの印加の度に1ずつ増
分する。カウンタ76の内容は比較器80に供給され、
そこで遅延レジスタ78の内容と比較される。
状態でホスト12が状況レジスタ50を読み取ると、N
ANDゲート84の出力(−STATRD)に負のパル
スが現れ、第3フリップフロップ74をセットすると共
に、NORゲート82を介して第1フリップフロップ7
0をリセットし、IRQをローレベルにする。フリップ
フロップ74のハイのQ出力はカウンタ76のリセット
状態を解除する。カウンタ76は、フリップフロップ7
4がリセットされていて、カウンタ76の負リセット端
子−Rがローに保たれている限り、リセット状態にあ
る。カウンタ76は、リセット状態を解除されるとカウ
ントを開始し、クロック・パルスの印加の度に1ずつ増
分する。カウンタ76の内容は比較器80に供給され、
そこで遅延レジスタ78の内容と比較される。
【0032】遅延レジスタ78には、パワーオンの時に
所定の遅延値がコントローラ18のマイクロプロセッサ
(図示せず)からロードされている。この遅延値はプロ
グラマブルであり、ホスト12の割込み応答に支障を来
さないように、予め設定される。一般に、レジスタ78
にロードされる遅延値の長さはHDD10が接続される
ホストによって異なり、状況読取り後にIRQがいつハ
イになってもよいホスト、すなわち状況レジスタ読取り
コマンドを出した後直ぐに次のコマンド(今の場合はデ
ータ・レジスタ読取りコマンド)を出せるホストであれ
ば、1に設定しておけばよい。遅延値が0だと、カウン
タ76がリセットされている限り比較器80の出力が常
に活動状態(ロー)になるため、フリップフロップ70
をうまくセットできない。いずれにしても、IRQが一
旦ローになってから次にホストによる応答(コマンド発
行)が可能になるまでの時間を考慮して遅延値を設定し
ておく必要がある。そうすれば、ホストが応答可能にな
った瞬間にIRQをハイにすることができ、無駄な待ち
時間がなくなる。
所定の遅延値がコントローラ18のマイクロプロセッサ
(図示せず)からロードされている。この遅延値はプロ
グラマブルであり、ホスト12の割込み応答に支障を来
さないように、予め設定される。一般に、レジスタ78
にロードされる遅延値の長さはHDD10が接続される
ホストによって異なり、状況読取り後にIRQがいつハ
イになってもよいホスト、すなわち状況レジスタ読取り
コマンドを出した後直ぐに次のコマンド(今の場合はデ
ータ・レジスタ読取りコマンド)を出せるホストであれ
ば、1に設定しておけばよい。遅延値が0だと、カウン
タ76がリセットされている限り比較器80の出力が常
に活動状態(ロー)になるため、フリップフロップ70
をうまくセットできない。いずれにしても、IRQが一
旦ローになってから次にホストによる応答(コマンド発
行)が可能になるまでの時間を考慮して遅延値を設定し
ておく必要がある。そうすれば、ホストが応答可能にな
った瞬間にIRQをハイにすることができ、無駄な待ち
時間がなくなる。
【0033】カウンタ76のカウント値が遅延レジスタ
78の内容に等しくなると、比較器80の出力がローに
なり、フリップフロップ70をセットすると共に、NO
Rゲート86を介してフリップフロップ72及び74を
リセットする。フリップフロップ70がセットされると
IRQが再びハイになり、ホスト12に割込みを要求す
る。このように、本発明によれば、2回目以降のセクタ
・データ転送においてDRQが立ち上がった時にIRQ
がまだリセットされていなくても、次のセクタ・データ
転送に対するIRQを確実に且つ待ち時間なしに発生す
ることができる。指定された数のセクタ・データがホス
ト12に読み取られると、読取りコマンドの実行が完了
する。
78の内容に等しくなると、比較器80の出力がローに
なり、フリップフロップ70をセットすると共に、NO
Rゲート86を介してフリップフロップ72及び74を
リセットする。フリップフロップ70がセットされると
IRQが再びハイになり、ホスト12に割込みを要求す
る。このように、本発明によれば、2回目以降のセクタ
・データ転送においてDRQが立ち上がった時にIRQ
がまだリセットされていなくても、次のセクタ・データ
転送に対するIRQを確実に且つ待ち時間なしに発生す
ることができる。指定された数のセクタ・データがホス
ト12に読み取られると、読取りコマンドの実行が完了
する。
【0034】後読みモードで動作するホストの中には、
1回のセクタ・データ転送に対して状況読取りを複数回
行うものがあるが、図4の回路はそのようなホストに対
しても良好に動作する。但しその場合は、遅延レジスタ
78に設定する遅延値を、少なくとも最初の状況読取り
から最後の状況読取りまでの時間プラス最後の状況読取
りからホストが応答可能になるまでの時間に等しくなる
ように決めておく必要がある。図4の回路の動作自体
は、比較器80からの一致出力の発生、従ってIRQの
立上り及びフリップフロップ72のリセットが図6のも
のより遅れる点を除くと、上述と同じである。1回目の
状況読取りはフリップフロップ70をリセットするが、
2回目以降の状況読取りは図4の回路にいかなる影響も
及ぼさない。
1回のセクタ・データ転送に対して状況読取りを複数回
行うものがあるが、図4の回路はそのようなホストに対
しても良好に動作する。但しその場合は、遅延レジスタ
78に設定する遅延値を、少なくとも最初の状況読取り
から最後の状況読取りまでの時間プラス最後の状況読取
りからホストが応答可能になるまでの時間に等しくなる
ように決めておく必要がある。図4の回路の動作自体
は、比較器80からの一致出力の発生、従ってIRQの
立上り及びフリップフロップ72のリセットが図6のも
のより遅れる点を除くと、上述と同じである。1回目の
状況読取りはフリップフロップ70をリセットするが、
2回目以降の状況読取りは図4の回路にいかなる影響も
及ぼさない。
【0035】以上、本発明の良好な実施例を説明してき
たが、本発明はそれらに限定されることなく様々な変更
が可能である。例えば、実施例では512バイトのセク
タを単位ブロックとしてDRQ及びIRQを制御してい
たが、単位ブロックの大きさは512バイトに限らず、
適当な範囲で任意に決めることができる。また既に述べ
たように、図4の回路における各フリップフロップは負
遷移応答型でもよく、基本論理をAND、OR等の正論
理にすることも可能である。
たが、本発明はそれらに限定されることなく様々な変更
が可能である。例えば、実施例では512バイトのセク
タを単位ブロックとしてDRQ及びIRQを制御してい
たが、単位ブロックの大きさは512バイトに限らず、
適当な範囲で任意に決めることができる。また既に述べ
たように、図4の回路における各フリップフロップは負
遷移応答型でもよく、基本論理をAND、OR等の正論
理にすることも可能である。
【0036】
【発明の効果】本発明によれば、ホストが前読みモード
か後読みモードかには関係なく、同じハードウェアで何
れのホストにも誤りなく対処することができ、後読みモ
ードの場合には、実質的に待ち時間なしにホストに割込
み要求を送ることができる。
か後読みモードかには関係なく、同じハードウェアで何
れのホストにも誤りなく対処することができ、後読みモ
ードの場合には、実質的に待ち時間なしにホストに割込
み要求を送ることができる。
【図1】本発明に従うインターフェース回路を含むコン
ピュータ・システムの一構成例を示すブロック図。
ピュータ・システムの一構成例を示すブロック図。
【図2】インターフェース回路におけるホストに対する
入出力部の構成を示すブロック図。
入出力部の構成を示すブロック図。
【図3】インターフェース回路における割込み制御部の
構成を示すブロック図。
構成を示すブロック図。
【図4】図3に示した割込み制御部の詳細な回路図。
【図5】ホストが前読みモードの場合の動作のタイミン
グ・チャート。
グ・チャート。
【図6】ホストが後読みモードの場合の動作のタイミン
グ・チャート。
グ・チャート。
10 ハード・ディスク・ドライブ(HDD) 12 ホスト 14 インターフェース回路 18 デバイス・コントローラ 26 セクタ・バッファ 60 割込み要求発生回路 62 後読みモード検出回路 64 割込み付勢回路
Claims (6)
- 【請求項1】周辺装置でブロック・データの転送準備が
できた時にデータ要求を発生してホストに割込み要求を
送り、該ホストは、前記割込み要求に応答して前記周辺
装置の状況を読み取ってからブロック・データ転送を開
始する第1のモード、又は前記ブロック・データ転送が
終了してから前記状況を読み取る第2のモードで動作す
るコンピュータ・システムにおいて、 前記データ要求に応答して前記割込み要求を発生し、前
記状況の読取りに応答して該割込み要求を落す割込み手
段と、 前記ホストが前記第2モードで動作していることを検出
するモード検出手段と、 前記モード検出手段からの第2モード検出信号及び前記
状況の読取りに応答して前記割込み手段を付勢すること
により、前記割込み要求を再び発生させる割込み付勢手
段と、 を具備するデータ転送制御用インターフェース回路。 - 【請求項2】前記データ要求は前記ブロック・データの
読取りが終ると落され、次のブロック・データの転送準
備ができると再び発生される、請求項1に記載のインタ
ーフェース回路。 - 【請求項3】前記割込み手段は、前記データ要求の発生
に応答してセットされる第1フリップフロップを含み、
該フリップフロップの出力が前記割込み要求になる、請
求項2に記載のインターフェース回路。 - 【請求項4】前記モード検出手段は、前記データ要求に
応答して前記第1フリップフロップと同じ状態を呈する
第2フリップフロップを含む、請求項3に記載のインタ
ーフェース回路。 - 【請求項5】前記割込み付勢手段は、前記状況の読取り
に応答して前記第2フリップフロップと同じ状態を呈す
る第3フリップフロップと、該第3フリップフロップが
セットされたことに応答してカウントを開始するカウン
タと、所定の遅延値をロードされるレジスタと、前記カ
ウンタ及び前記レジスタの内容を比較してそれらが一致
した時に前記第1フリップフロップをセットし且つ前記
第2フリップフロップ及び前記第3フリップフロップを
リセットする比較器とを含む、請求項4に記載のインタ
ーフェース回路。 - 【請求項6】前記遅延値は、前記ホストが応答可能にな
ったときに前記割込み要求が発生されるように設定され
る、請求項5に記載のインターフェース回路。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4264371A JPH06100998B2 (ja) | 1992-10-02 | 1992-10-02 | データ転送制御用インターフェース回路 |
KR1019930020071A KR970005742B1 (ko) | 1992-10-02 | 1993-09-28 | 데이타 전송 제어용 인터페이스 회로 |
CN93118170A CN1050918C (zh) | 1992-10-02 | 1993-09-29 | 控制数据传送的接口电路 |
DE69316323T DE69316323D1 (de) | 1992-10-02 | 1993-10-04 | Schnittstellenschaltung zur Steuerung von Datenübertragung |
EP93202826A EP0597512B1 (en) | 1992-10-02 | 1993-10-04 | Interface circuit for controlling data transfers |
US08/130,951 US5457787A (en) | 1992-10-02 | 1993-10-04 | Interface circuit for controlling data transfers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4264371A JPH06100998B2 (ja) | 1992-10-02 | 1992-10-02 | データ転送制御用インターフェース回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06139176A JPH06139176A (ja) | 1994-05-20 |
JPH06100998B2 true JPH06100998B2 (ja) | 1994-12-12 |
Family
ID=17402228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4264371A Expired - Lifetime JPH06100998B2 (ja) | 1992-10-02 | 1992-10-02 | データ転送制御用インターフェース回路 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5457787A (ja) |
EP (1) | EP0597512B1 (ja) |
JP (1) | JPH06100998B2 (ja) |
KR (1) | KR970005742B1 (ja) |
CN (1) | CN1050918C (ja) |
DE (1) | DE69316323D1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2530113B2 (ja) * | 1994-06-29 | 1996-09-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デ―タ転送制御用インタ―フェ―ス回路及び磁気ディスク装置 |
US7457896B1 (en) * | 1999-08-25 | 2008-11-25 | Seagate Technology Llc | Automated register data transfer to reduce processing burden on a processing device |
JP3389920B2 (ja) | 2000-07-10 | 2003-03-24 | 日本電気株式会社 | ディスクアレイ装置およびディスクアレイ装置の割り込み実行方法 |
US7966445B2 (en) * | 2007-12-24 | 2011-06-21 | Telefonaktiebolaget L M Ericsson (Publ) | Read status controller |
JP4645670B2 (ja) | 2008-03-27 | 2011-03-09 | ブラザー工業株式会社 | 画像形成装置 |
US9959078B2 (en) | 2015-01-30 | 2018-05-01 | Sandisk Technologies Llc | Multi-die rolling status mode for non-volatile storage |
US10114690B2 (en) | 2015-02-13 | 2018-10-30 | Sandisk Technologies Llc | Multi-die status mode for non-volatile storage |
CN107273198B (zh) * | 2017-06-16 | 2018-12-18 | 北京得瑞领新科技有限公司 | 一种ssd控制芯片的中断控制方法、装置及ssd设备 |
CN112596438B (zh) * | 2020-12-14 | 2022-06-21 | 武汉第二船舶设计研究所(中国船舶重工集团公司第七一九研究所) | 一种fpga与微控制器间实时可靠的波形数据传输电路 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5833770A (ja) * | 1981-08-24 | 1983-02-28 | Sony Corp | デジタルデ−タのプログラム転送方法 |
JPS5835627A (ja) * | 1981-08-26 | 1983-03-02 | Toshiba Corp | メモリデ−タ先取り制御方式 |
US4509113A (en) * | 1982-02-02 | 1985-04-02 | International Business Machines Corporation | Peripheral interface adapter circuit for use in I/O controller card having multiple modes of operation |
JPS5947625A (ja) * | 1982-09-13 | 1984-03-17 | Fujitsu Ltd | 入出力割り込み方式 |
EP0104545A3 (en) * | 1982-09-27 | 1985-12-04 | Kabushiki Kaisha Toshiba | Input and output port control unit |
JPS619748A (ja) * | 1984-06-25 | 1986-01-17 | Nec Corp | 入出力制御装置 |
JPS61107456A (ja) * | 1984-10-30 | 1986-05-26 | Toshiba Corp | 割込制御方式 |
EP0266800B1 (en) * | 1986-11-07 | 1995-03-15 | Nec Corporation | Data processor having different interrupt processing modes |
US4947366A (en) * | 1987-10-02 | 1990-08-07 | Advanced Micro Devices, Inc. | Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities |
US5014237A (en) * | 1988-10-31 | 1991-05-07 | Tandon Corporation | Disk drive controller system with enhanced communications interface |
-
1992
- 1992-10-02 JP JP4264371A patent/JPH06100998B2/ja not_active Expired - Lifetime
-
1993
- 1993-09-28 KR KR1019930020071A patent/KR970005742B1/ko not_active IP Right Cessation
- 1993-09-29 CN CN93118170A patent/CN1050918C/zh not_active Expired - Fee Related
- 1993-10-04 US US08/130,951 patent/US5457787A/en not_active Expired - Fee Related
- 1993-10-04 DE DE69316323T patent/DE69316323D1/de not_active Expired - Lifetime
- 1993-10-04 EP EP93202826A patent/EP0597512B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69316323D1 (de) | 1998-02-19 |
KR940010580A (ko) | 1994-05-26 |
CN1086329A (zh) | 1994-05-04 |
EP0597512B1 (en) | 1998-01-14 |
KR970005742B1 (ko) | 1997-04-19 |
JPH06139176A (ja) | 1994-05-20 |
CN1050918C (zh) | 2000-03-29 |
US5457787A (en) | 1995-10-10 |
EP0597512A1 (en) | 1994-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5524268A (en) | Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases | |
JP3137293B2 (ja) | ステートマシンを利用するataインターフェースアーキテクチャ | |
JP3276147B2 (ja) | 計算機バスとディスクドライブ間のデータの複数のセクタの自動読み出し及び自動書き込みインテリジェントハードウェア | |
JP2770901B2 (ja) | ディスク制御方法 | |
US5687389A (en) | System for controlling an automatic read operation of read cache control circuit in a disk drive controller utilizing a start counter, a working counter, and a sector counter | |
JPH06100998B2 (ja) | データ転送制御用インターフェース回路 | |
KR100212084B1 (ko) | 시리얼 인터페이스 회로 | |
JPH087662B2 (ja) | データ転送制御方法 | |
JP2530113B2 (ja) | デ―タ転送制御用インタ―フェ―ス回路及び磁気ディスク装置 | |
US4584617A (en) | Method and apparatus for improving the transfer time in rotating data storage systems | |
JPS5832417B2 (ja) | デ−タ転送制御方式 | |
US5459870A (en) | Interface circuit for controlling data transfers | |
US5455954A (en) | Host interrupt signal generation circuit for controlling an auto read operation in a disk drive controller | |
US5875458A (en) | Disk storage device | |
KR0185186B1 (ko) | 최소 리셋 타임 홀드 회로 | |
JPH07200192A (ja) | 光ディスク装置 | |
US5606673A (en) | Small computer system interface (SCSI) controller | |
KR19980025485A (ko) | 시리얼 인터페이스 리드백 구동회로 | |
JPS6253864B2 (ja) | ||
JPS6343831B2 (ja) | ||
JPH11184635A (ja) | 記録媒体再生装置 | |
JPS62154153A (ja) | 外部記憶制御方式 | |
JPH0619827A (ja) | 周辺制御装置 | |
JPS6118032A (ja) | 外部メモリ制御装置 | |
JP2001134383A (ja) | コンピュータシステム及びディスク装置に対するデータ書き込み制御方法 |