JP3276147B2 - 計算機バスとディスクドライブ間のデータの複数のセクタの自動読み出し及び自動書き込みインテリジェントハードウェア - Google Patents

計算機バスとディスクドライブ間のデータの複数のセクタの自動読み出し及び自動書き込みインテリジェントハードウェア

Info

Publication number
JP3276147B2
JP3276147B2 JP50375593A JP50375593A JP3276147B2 JP 3276147 B2 JP3276147 B2 JP 3276147B2 JP 50375593 A JP50375593 A JP 50375593A JP 50375593 A JP50375593 A JP 50375593A JP 3276147 B2 JP3276147 B2 JP 3276147B2
Authority
JP
Japan
Prior art keywords
host computer
signal
circuit
sector
disk drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP50375593A
Other languages
English (en)
Other versions
JPH06502271A (ja
Inventor
リウ、アンディ・ジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Steel Excel Inc
Original Assignee
Adaptec Inc
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 Adaptec Inc filed Critical Adaptec Inc
Publication of JPH06502271A publication Critical patent/JPH06502271A/ja
Application granted granted Critical
Publication of JP3276147B2 publication Critical patent/JP3276147B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1258Formatting, e.g. arrangement of data block or words on the record carriers on discs where blocks are arranged within multiple radial zones, e.g. Zone Bit Recording or Constant Density Recording discs, MCAV discs, MCLV discs

Description

【発明の詳細な説明】 発明の背景 産業上の利用分野 本発明は、ハードディスクドライブと計算機データバ
スとのインターフェースに関し、特に、ディスクドライ
ブへのマイクロプロセッサの介入なしに、ハードディス
クドライブと計算機間のデータの複数のセクタの読み出
し及び書き込みを制御する、自動化された読み出し及び
書き込み用ハードウェアシーケンサに関する。
従来の技術 マイクロコンピュータと呼ばれることもあるパーソナ
ルコンピュータは、主に、安価であり、かつ電子計算機
の集約的なユーザアプリケーションを処理するために充
分な能力を有するために、近年、広範囲に亘るユーザを
獲得してきた。パーソナルコンピュータのデータ記憶及
びデータ共用機能は、概ね1個または複数のハードディ
スクドライブを有する。
ハードディスクドライブ120(第1図)は、その上方
に位置する読み出し/書き込みヘッド141によって、あ
るパターンに磁化された、ディスクである回転磁気媒体
140を有する。書き込み動作中、ヘッド141は回転磁気媒
体140の磁気被膜にデータを表現するデータパターンを
生みだし、読み出し動作中には、ヘッドは書き込み動作
中に生み出されたデータパターンを読み出す。
多くの大容量のディスクドライブでは、複数のディス
クが、共通のスピンドルを中心として互いに積み重ねら
れている。各ディスクは、ディスクの表面毎に少なくと
も1個の読み出し/書き込みヘッドを有する。データ
は、ディスク表面の同中心の複数の円からなるトラック
に書き込まれる。複数のディスクが共通のスピンドル上
で用いられるとき、ディスクのトラックには、隣接する
ディスクのトラック1の真上若しくは真下の、あるディ
スクのトラック1である各ディスクの相対的な等しい半
径方向の位置に、書き込みが行われる。積み重ねられた
ディスクの各ディスクのトラック1の位置は、ディスク
表面に垂直に延在するシリンダを形成するので、トラッ
クの位置は一般にシリンダの位置と呼ばれる。
ハードディスクに記憶されたデータは、概ね、複数の
ファイルに分類される。各ファイルは、計算機110によ
って処理されるデータの単位を表している。複数のファ
イルは、回転ディスク140の複数のセクタに記憶され
る。ディスクの一回転中に書き込まれるセクタ数は、1
トラックからなる。従って、ディスクの表面の任意のあ
るデータの位置を特定するために、ヘッドアドレス、シ
リンダアドレス、及びセクタアドレスが必要となる。ヘ
ッドアドレス、シリンダアドレス、及びセクタアドレス
は、幾何学的アドレスと呼ばれることがある。
計算機110内で実行されるプログラムからの要求に応
答して、ディスクドライブ120に対する読み出しまたは
書き込みを行うために、計算機によって実行される動作
は、当業者にはよく知られている。概ね、この動作中
に、ディスクドライブ120の電子回路130は、ドライブ12
0の1つのディスクのデータのあるセクタのための要求
を受け取る。即ち、電子回路130は、セクタの幾何学的
アドレスを提供される。
ディスクドライブ120の電子回路は、概ね、米国カリ
フォルニア州サニーベールのインテル社によって販売さ
れているマイクロプロセッサNo.8080/8085のような第1
世代のマイクロプロセッサであるマイクロプロセッサ12
1と、マイクロプロセッサ121をインタフェースする記憶
制御集積回路130と、ドライブ電子回路123と、計算機デ
ータバス115と、ランダムアクセスメモリ122とを含む。
ドライブ電子回路123は、読み出し/書き込みヘッド141
からのアナログ信号を記憶制御回路130にへのデジタル
信号に変換し、かつディスクドライブ120の機械的な動
作を制御する。
例えば、計算機データバス115は、IBM ATパーソナル
コンピュータまたは、そのようなパーソナルコンピュー
タの互換機であるパーソナルコンピュータのデータバス
である。それらのパーソナルコンピュータの構造及び動
作は、当業者にはよく知られている。
記憶制御集積回路130は、マイクロプロセッサインタ
フェース回路131と、ディスク制御回路132と、バッファ
制御133と、計算機バスインタフェース回路134とを含
む。例えば、カリフォルニア州フレモント(Fremont)
のCirrus Logicは、そのような集積回路をモデルNo.SH2
60として提供している。カリフォルニア州サンノゼのCh
ips and Technologyは、そのような集積回路をモデルN
o.82C5059として提供している。カリフォルニア州ミル
ピタスのAdaptec Corporationは、モデルNo.AIC−6060
及びモデルNo.AIC−7160を提供している。
マイクロプロセッサ121によって実行される動作は、
概ね、ディスクドライブ120が作動しているときに、不
揮発性メモリからマイクロプロセッサ121にロードされ
るプログラム命令によって決定される。計算機110は、
制御バス(図示されていない)を通して、読み出し/書
き込みリクエストを回路130に提供し、幾何学的アドレ
ス即ち、ヘッドアドレス、シリンダアドレス、及びセク
タアドレスが、データバス115を通して非同期に提供さ
れる。この情報は、インタフェース回路134を通り、回
路130内のレジスタに直接記憶される。概ね、回路130
は、IBMタスクファイルをエミュレートするために必要
なレジスタとカウンタとを含む。IBMタスクファイル
は、IBMから入手可能なIBM PC/AT Technical Reference
に定義されており、この文献はここで言及したことによ
って、本出願の一部とされたい。(代わりに、ATA仕様
書に定義されている命令ブロックレジスタが使用される
こともある。
読み出し/書き込みリクエスト及び幾何学的アドレス
を受け付けたとき、マイクロプロセッサ121は、リクエ
ストされた読み出しまたは書き込み動作のために、計算
機バスインタフェース回路134、ディスク制御回路132及
びバッファ制御回路133を初期化するために必要な動作
を実行する。初期化信号は、マイクロプロセッサ121か
ら、マイクロプロセッサインタフェース回路131を通っ
て、マイクロプロセッサ制御バス136上を他の回路へ向
けて通過する。図を明瞭にするために、ディスク制御回
路132、バッファ制御回路133、及び計算機バスインタフ
ェース回路134とRAM122との間の制御信号ラインと同様
に、マイクロプロセッサ121とマイクロプロセッサイン
タフェース回路131との間の制御信号ラインは、第1図
には描かれていない。
読み出し動作のための初期化の後に、データはドライ
ブ電子回路123から、ディスク制御回路132へ通過し、デ
ィスク制御回路132は、そのデータをバッファ制御回路1
33へ送る。バッファ制御回路133はデータをRAM122に記
憶する。データの1セクタが、RAM122に完全に記憶され
たとき、マイクロプロセッサ121は、RAM122から計算機
バスインタフェース回路134内のFIFO(ファーストイン
ファーストアウト)メモリへのデータの転送を開始す
る。FIFOメモリがほぼいっぱいになったとき、回路134
は、データのセクタが作動可能であることを表すため
に、ホスト計算機に対する割り込みを開始する。
セクタの転送が完了したとき、マイクロプロセッサ
は、次のセクタの転送を開始するために、ホスト計算機
110と対話する。従って、データの複数のセクタがディ
スクドライブ120から計算機バス115へ転送されるにもか
かわらず、マイクロプロセッサ121は、各セクタを個々
に送るために、動作速度が低下する。マイクロプロセッ
サ121は、複数のセクタを送ることができないので、1
つのセクタのみの処理そして介入による時間的な限界
は、回路130によって決定される。
発明の概要 本発明の原理に基づけば、ハードディスクドライブと
計算機データバスとの間の複数のセクタの転送が、ハー
ドディスクドライブ内の記憶制御集積回路の計算機バッ
ファインタフェース回路内のハードウェアによって制御
される。データの複数のセクタは、ハードディスクドラ
イブの動作を制御するマイクロプロセッサの介入なしに
転送される。本発明の計算機バスインタフェース回路
は、計算機データバスとインタフェース回路との間のデ
ータを自動的に転送するだけでなく、状態情報を生みだ
し、ホスト計算機への割り込みを生みだし、かつタスク
ファイルレジスタを更新する。
本発明のディスクドライブ記憶制御集積回路は、タイ
マ開始信号に応答するタイマ手段を含み、タイマ開始信
号がタイマ手段に受け取られるとき、タイマ手段がスタ
ートする。タイマ開始信号は、イネーブル信号とも呼ば
れる。予め決められた時間間隔の後、タイマ手段はホス
ト計算機割り込みタイムアウト信号を発生するホスト計
算機割り込みタイムアウト信号に応答して、ハードウェ
ア割り込み発生手段は、ホスト計算機割り込み信号を発
生する。ホスト計算機が、ディスクドライブ記憶制御を
含むディスクドライブの状態を読み出すとき、読み出し
動作の間、タイマ開始信号が発生させられる。概ね、デ
ィスクドライブの基板上にある、ディスクドライブを制
御するマイクロプロセッサによる介入なしに、ハードウ
ェアがこれらの動作の全てを実行する。
他の実施例では、ディスクドライブ記憶制御集積回路
は、ホスト計算機からの単一書き込みセクタ命令に応答
したディスクドライブに書き込まれた最初のデータのセ
クタを、それに続くデータのセクタから区別する手段を
含む。ディスクドライブ記憶制御集積回路は更に、ディ
スクドライブの動作を制御するマイクロプロセッサによ
る介入なしに、最初のデータのセクタの後に各データの
セクタの転送を開始するためのホスト計算機割り込み信
号を発生する手段を含む。
ディスクドライブの動作を制御するマイクロプロセッ
サの介入なしに、ホスト計算機へ、またはホスト計算機
から、データの複数のセクタを転送するための、本発明
のハードウェアの能力は、ディスクドライブのデータ処
理速度を非常に高める。マイクロプロセッサが、各セク
タの転送を個々に制御する必要が解消され、そのため
に、そのような制御に関連するオーバヘッドもまた解消
された。
ある実施例では、本発明の自動読み出しシーケンサ
と、自動書き込みシーケンサとが、記憶制御集積回路の
計算機バスインタフェース回路内に含まれている。自動
読み出しシーケンサと、自動書き込みシーケンサとが、
ホスト計算機の計算機データバスをインタフェースす
る。自動読み出しシーケンサは、ホスト計算機と対話
し、マイクロプロセッサの介入なしに、ホスト計算機へ
のデータの複数のセクタの転送のための要求されるホス
ト計算機割り込み信号を発生する。同様に、自動書き込
みシーケンサは、ホスト計算機と対話し、マイクロプロ
セッサの介入なしに、ホスト計算機からのデータの複数
のセクタの転送のためのホスト計算機割り込み信号を発
生する。ある実施例では、記憶制御集積回路もまた、バ
ッファ制御回路と、ディスク制御回路と、マイクロプロ
セッサインタフェース回路とを含む。バッファ制御回路
と、ディスク制御回路と、マイクロプロセッサインタフ
ェース回路とは、従来技術の記憶制御回路内で用いられ
ているものと等しい。
新規なタイマが、本発明の自動読み出しシーケンサと
自動書き込みシーケンサと共に用いられる。タイマは、
2つの独自なタイマとして機能する。特に、タイマは、
第1の予め決められた値と第2の予め決められた値とを
記憶する手段を含む。タイマは、予め決められた値の各
々に関連するイネーブル信号を有する。予め決められた
値の内の一方のためのイネーブル信号を受け付けたと
き、その値がプログラム可能なタイマにロードされ、そ
のプログラム可能なタイマがスタートする。プログラム
可能なタイマは、予め決められた値によって決定されて
た時間間隔の後に、タイムアウトを起こす。即ち、本発
明のタイマは、ホスト割り込みタイムアウトタイマ、及
びビジータイムアウトタイマとして機能するので、本発
明のシーケンサに必要なハードウェアを減少する。
本発明の自動読み出しシーケンサは、ディスクドライ
ブからホスト計算機へデータを自動的に転送するため
に、新規な過程を用いる。この過程では、自動読み出し
シーケンサは、最初に、ホスト計算機からの読み出しセ
クタ命令に応答して転送されるセクタの個数を減少す
る。続いて、ディスクドライブの状態が更新され、バッ
ファ制御メモリから自動読み出しシーケンサのメモリ
へ、データが先取りされる。自動読み出しシーケンサが
ほぼいっぱいになったとき、データを自動読み出しシー
ケンサから転送する準備が整ったことを知らせる割り込
みが、ホスト計算機に送られる。
ホスト計算機割り込みに応答して、ホスト計算機は、
データを読み出すか、またはディスクドライブの状態を
読み出す。もし状態が読み出されたならば、ホスト計算
機割り込みはリセットされ、ホスト計算機タイムアウト
タイマがスタートする。もし、タイマがタイムアウトす
る前に、ホスト計算機がデータを読み出せなければ、他
の割り込みがホスト計算機に送られる。
計算機がデータの読み出しを開始したとき、自動読み
出しシーケンサは、データの転送が完了することを待
つ。データの転送が完了したとき、転送されるべきデー
タのセクタが残っているかどうかを確かめるために、セ
クタの個数がチェックされる。もし全てのデータのセク
タが転送されたならば、動作は終了する。
もし、転送されるべき更なるセクタが存在するなら
ば、自動読み出しシーケンサは、ビジータイムアウトタ
イマをスタートさせる。タイマがタイムアウトした後、
自動読み出しシーケンサは、バッファ制御メモリの状態
をチェックする。バッファ制御メモリの、次の動作のた
めの準備が整ったとき、自動読み出しシーケンサは、デ
ータ転送の状態を定義するタスクファイルを更新し、転
送されるべきセクタの個数を減少するステップへ分岐す
る。
同様に、本発明の自動書き込みシーケンサは、ホスト
計算機からディスクドライブへの、データの複数のセク
タを自動的に転送するための、新規な過程を用いる。こ
の過程では、自動書き込みシーケンサは、最初に、ディ
スクドライブの状態を更新し、そしてデータの第1のセ
クタが転送されるかどうかを決定する。もし、第1のセ
クタが転送されるならば、自動書き込みシーケンサは、
転送の完了を待つ。もし次のセクタが転送されるなら
ば、自動書き込みシーケンサは、ディスクドライブがデ
ータを受け付ける準備の整ったことを表すために、ホス
ト計算機へのホスト計算機割り込みを発生する。自動書
き込みシーケンサは再び、データの転送が完了するのを
待つ。即ち、自動書き込みシーケンサは、ホスト計算機
からの単一の書き込み命令に応答してマイクロプロセッ
サの介入なしに転送される、データの第1のセクタと次
のセクタとを弁別する。
データの転送が完了したとき、自動書き込みシーケン
サは、転送されるべき残りのセクタの個数と、次のセク
タのために利用可能なバッファメモリのメモリ空間とを
更新する。次に、更新された利用可能なメモリ空間は、
データの次のセクタのために充分な空間が存在するかど
うかを決定するためにチェックされる。もし充分な空間
が存在しなければ、自動書き込み動作は終了する。
もし次のセクタのために充分な空間が存在するなら
ば、転送されるべき残りのセクタの個数がチェックされ
る。もし転送されるべきセクタがもはや存在しなけれ
ば、動作は終了する。しかし、もし転送されるべき更な
るセクタが存在するならば、自動書き込みシーケンサは
ビジータイムアウトタイマをスタートさせる。タイマが
タイムアウトした後、シーケンサは、バッファ制御メモ
リの状態をチェックする。バッファ制御メモリが、次の
動作に対する準備を整えたとき、自動書き込みシーケン
サは、データ転送の状態を定義するタスクファイルを更
新し、ディスクドライブの状態を更新するステップへ分
岐する。
この全体の過程は、自動書き込みシーケンサのハード
ウェアによって制御されるので、ディスクドライブの動
作を制御するマイクロプロセッサによる介入は、必要な
い。従って、マイクロプロセッサのプログラミングオー
バヘッドは減少し、マイクロプロセッサは、計算機デー
タバス上のデータの転送を制御する代わりに、他のタス
クを実行することができる。
図の簡単な説明 第1図は、計算機とハードディスクドライブとを含
む、従来技術の計算機システムのブロック図である。
第2図は、本発明に基づく、自動ハードウェア読み出
しシーケンサと自動ハードウェア書き込みシーケンサと
を含む記憶制御集積回路を有する、ハードディスクドラ
イブと、計算機とを含む計算機システムのブロック図で
ある。
第3図は、本発明のハードウェアシーケンサのより詳
細なブロック図である。
第4図は、本発明の自動ハードウェア読み出しシーケ
ンサによって実行される動作のプロセス流れ図である。
第5図は、本発明の自動ハードウェアの書き込みシー
ケンサのプロセス流れ図である。
第6図は、本発明のハードウェアシーケンサで使用さ
れることに適したカウンタの概略のブロック図である。
第7A図及び第7B図は、本発明の自動読み出し及び自動
書き込みシーケンサで使用される、論理回路、カウン
タ、レジスタ、及びメモリ装置のより詳細なブロック図
である。
第8図は、本発明のセクタ数カウンタの一実施例のブ
ロック図である。
第9図は、第8図の要素SUCL8RAのより詳細な模式図
である。
第10図は、第8図の要素CMP8のより詳細な模式図であ
る。
第11図は、本発明のヘッド数カウンタの詳細なブロッ
ク図である。
第12図は、第11図の要素SUCLT4RBの詳細な模式図であ
る。
第13図は、第11図の要素CMP4の詳細な模式図である。
第14図は、本発明のシリンダ数カウンタのより詳細な
模式図である。
第15図は、第14図の要素SUCL8RBのより詳細な模式図
である。
第16図は、本発明のセクタカウンタの詳細な模式図で
ある。
第17図は、第16図の要素SDCL8RBのより詳細な模式図
である。
第18図は、本発明のセクタカウント減少回路の詳細な
模式図である。
第19A図及び第19B図は、本発明のホスト計算機割り込
み発生回路の詳細な模式図である。
第20図は、本発明の自動シーケンサ回路の詳細な模式
図である。
第21図は、本発明のタイマの模式図である。
第22図は、第21図の要素SDCL8Rの模式図である。
第23図は、同一な回路である、ラッチ回路LATCH8A及
びLATCH8Bのより詳細な模式図である。
第24図は、第22図の要素MUX21X8のより詳細なブロッ
ク図である。
第25図は、同期ホスト計算機読み出しデータ信号を発
生する回路の模式図である。
第26図は、本発明のビジータイマ制御回路の模式図で
ある。
第27図は、本発明の更新制御回路770の模式図であ
る。
第28図は、本発明の自動書き込みセクタカウンタの詳
細なブロック図である。
第29図は、第28図の自動書き込みセクタカウンタの要
素SDCL8Sの詳細な模式図である。
第30図は、本発明の自動書き込みセクタカウント減少
回路の模式図である。
発明の詳細な説明 本発明の原理に基づけば、ハードディスクドライブと
ホスト計算機の計算機データバスとの間のデータの複数
セクタの転送が、ハードディスクドライブ内の記憶制御
集積回路の計算機バスインターフェース内のハードウェ
アによって制御される。データの複数のセクタは、ディ
スクドライブの動作を制御するマイクロプロセッサの介
入なしに転送される。概ね、そのようなマイクロプロセ
ッサは、ハードディスクドライブ内に配置されている。
本発明の計算機バスインタフェース回路は、以下により
詳しく説明されるように、ホスト計算機データバスと計
算機バスインタフェース回路との間で自動的にデータを
転送するばかりでなく、状態情報を生みだし、ホスト計
算機への割り込みを生みだし、タスクファイルレジスタ
を更新する。
ある実施例では、本発明の自動読み出しシーケンサ25
0と自動書き込みシーケンサ260(第2図)とが、記憶制
御集積回路230の計算機バスインタフェース回路234内に
含まれている。シーケンサ250、及び260は、ホスト計算
機210の計算機データバス215とインタフェースする。ホ
スト計算機210は、“ATパーソナルコンピュータ”と呼
ばれているIBMパーソナルコンピュータか、そのような
計算機の互換機であることが好ましい。
この実施例では、記憶制御集積回路230は更に、バッ
ファ制御回路233、ディスク制御回路232、マイクロプロ
セッサインタフェース回路231、及びバッファクロック2
70を含む。バッファクロック270と同様に、回路231、23
2、及び233は、従来技術の記憶制御回路130のそれらの
回路と等しく、当業者にはよく知られている。以下の詳
細な開示内容を考慮して、本発明のシーケンサ250及び2
60に使用するための従来技術の回路の変更は、当業者に
取って明らかである。
既に説明したように、ディスクインタフェース回路23
2は、(1)ディスク240への書き込み時のエラー補正コ
ードの発生、及び(2)ディスク240からの読み出し時
のエラーの検出と補正ばかりでなく、ディスク240へ
の、及びディスク240からのシリアルデータの転送を行
う。
ディスクインタフェース回路232は、この実施例では
8ビットバスであるバス237上で、バッファ制御回路233
への、及びバッファ制御回路233からの、データの転送
を行う。バッファ制御回路233は、数本のシリアル制御
ライン(図示されていない)に沿ったアドレスバス224
及びデータバス225によって、概ねスタティックランダ
ムアクセスメモリであるランダムアクセスメモリ(RA
M)222に連結されている。バッファ制御回路233によっ
て、ディスクインタフェース回路232へ送られる、及び
ディスクインタフェース回路232から受け取られる、デ
ータは、RAM222から検索され、及びRAM222へ記憶され
る。
バッファ制御回路233はまた、計算機バスインタフェ
ース回路234へデータを送り、かつ計算機バスインタフ
ェース回路234からデータを受け付ける。再び、バッフ
ァ制御回路233によって、計算機バスインタフェース回
路に送られるデータ、及び計算機バスインタフェース回
路から受け付けられたデータは、RAM222から検索され、
及びRAM222へ記憶される。データは、計算機バスインタ
フェース回路234内のFIFOメモリに連結されたバス238を
通して送られ、及び受け付けられる。この実施例では、
バス238もまた8ビットバスである。
バッファ制御回路233は、HFAVAIL、AUTOWRGO、AUTORD
GO、HPEN、HPWRT及びBNRDYFHラインを含む幾つかのライ
ンによって、計算機バスインタフェース回路234内のシ
ーケンサ250及び260に連結されている。ディスクドライ
ブマイクロプロセッサ221の介入なしに、データの複数
のセクタを自動的に転送する、これらのライン上の信号
の順序が、以下により詳しく説明される。
マイクロプロセッサインタフェース回路231は、記憶
制御回路230の状態をマイクロプロセッサ221へ戻すレジ
スタからの読み出しと同様に、記憶制御回路230内のレ
ジスタへのアクセス、及び特定の動作のために記憶制御
回路230を構成するレジスタへの書き込みのために、マ
イクロプロセッサ221への割り込みを許可する。データ
バス235は、マイクロプロセッサ221、マイクロプロセッ
サインタフェース回路231、計算機バスインタフェース
回路234、バッファ制御回路233、及びディスクインタフ
ェース回路232を接続する。更に、マイクロプロセッサ
制御バス236は、記憶制御回路230内の各回路231、232、
233、及び234を接続する。通常、マイクロプロセッサ22
1は、ディスクドライブ220内に配置されている。しかし
ながら、マイクロプロセッサ221の位置は、本発明の重
要な技術的視点ではない。重要な技術的視点は、マイク
ロプロセッサ221がディスクドライブ220の動作を制御す
るようにプログラムされていることである。
計算機バスインタフェース回路内の自動読み出しシー
ケンサ250及び自動書き込みシーケンサ260は、マイクロ
プロセッサ221の介入なしに、データの複数のセクタを
バッファRAM222へ転送し(書き込み動作)、及びバッフ
ァRAM222から転送する(読み出し動作)ので、上述され
た従来技術のディスクドライブ120と比較して、シーケ
ンサ250及び260は、計算機210とディスクドライブ220と
の間のデータの転送に必要な時間を非常に減少する。
読み出し動作中、ホスト計算機210からの読み出し命
令を受け付けた後、読み出しシーケンサ250は、読み出
し動作を開始するべく、ホスト計算機210への割り込み
信号(割り込み)を発生する。割り込み信号に応答し
て、ホスト計算機210は、データの読み出しを開始する
か、またはディスクドライブ220の状態をチェックす
る。もしディスクドライブの状態がチェックされるなら
ば、ホスト計算機割り込みはリセットされる。
読み出し命令を受け付け、かつホスト計算機割り込み
を発生した後、読み出しシーケンサ150は、ホスト計算
機120への割り込み信号が、データ転送の開始に先立っ
て、クリアされたかどうかを決定するために、チェック
を行う。もしホスト計算機割り込みがクリア即ちリセッ
トされているならば、ホスト割り込みタイムアウト間隔
と呼ばれる、第1の予め決められた時間間隔の後、自動
読み出しシーケンサ250は、ホスト計算機割り込みを再
び発生する。第1の予め決められた時間間隔の後の、自
動読み出しシーケンサ250によるホスト計算機割り込み
の再発生は、本発明のシーケンサ250を伴ったディスク
ドライブを含む計算機システムの性能を高める。
従来技術のシステム(第1図)では、ホスト計算機割
り込みがクリアされたとき、マイクロプロセッサ121が
割り込みを再発生することを要求される。即ち、ホスト
計算機割り込み状態をポーリングする命令と、割り込み
を再発生する命令とは、ディスクドライブ120の電源投
入時に、マイクロプロセッサに提供される命令に含まれ
ていなければならない。更に、この命令の集合は、マイ
クロプロセッサ121からの処理時間を要求するので、マ
イクロプロセッサは他のタスクのためには利用可能では
ない。もしマイクロプロセッサ121が、割り込みの再発
生に失敗したならば、概ねホスト計算機110がタイムア
ウトし、かつエラーを報告する。この場合、ユーザはデ
ィスクアクセスを再試行するか、読み出し過程を打ち切
ることを要求される。従って、性能は更に低下する。こ
れら性能低下の全ては、本発明の自動読み出しシーケン
サ250によって取り除かれる。
ホスト計算機割り込み過程に関連する性能低下を取り
除くことに加えて、ホスト計算機210は最初に、ヘッド
数、シリンダアドレス、セクタアドレス、及び計算機バ
スインタフェース回路234のタスクファイルレジスタに
転送されるべきセクタ数をセットする。データの1セク
タがホスト計算機210に転送された後、本発明の自動読
み出しシーケンサ250が、ヘッド数、シリンダアドレ
ス、セクタアドレス、及び計算機バスインタフェース回
路234のタスクファイルレジスタ内に転送されるべき残
りのセクタ数を更新する。一方、従来技術のシステム
は、マイクロプロセッサ121(第1図)が個々に各タス
クファイルレジスタを更新することを要求する。結果的
に、マイクロプロセッサ221の処理オーバヘッドは、マ
イクロプロセッサ121よりも減少される。
タスクファイルレジスタが更新された後、自動読み出
しシーケンサ250は、自動的にホスト計算機割り込みを
再発生し、かつデータの次のセクタを転送する。ホスト
計算機割り込み信号及びタスクファイルレジスタの制御
は、マイクロプロセッサ221からの援助または介入なし
に完全に実行される。
即ち、従来技術のシステムとは異なり、マイクロプロ
セッサ221が自動読み出しシーケンサの割り込みを許可
した後、シーケンサ250はホスト計算機210に関連する動
作を制御し、そしてマイクロプロセッサ221はディスク
ドライブ220の動作に関連する他の機能を実行するため
に利用可能である。即ち、シーケンサ250は更に、従来
技術のドライブ120よりもディスクドライブ220の動作を
改良する。
以下により詳しく説明されるように、自動書き込みシ
ーケンサ260の動作は、データの複数のセクタが、マイ
クロプロセッサ221の介入なしに、データバス215からRA
M220へ転送されることを除き、自動読み出しシーケンサ
250の動作と等しい。最初に、ホスト計算機210は、ヘッ
ド数、シリンダアドレス、セクタアドレス、及び計算機
バスインタフェース回路234のタスクファイルレジスタ
へ転送されるセクタ数をセットする。データの1セクタ
が、ホスト計算機210から転送された後、自動書き込み
シーケンサ260は、シリンダアドレス、セクタアドレ
ス、及び計算機バスインタフェース回路234のタスクフ
ァイルレジスタへ転送されるべき残りのセクタ数を自動
的に更新する。
タスクファイルレジスタを更新した後、自動書き込み
シーケンサ260は、ホスト計算機210からディスクドライ
ブ220への次のセクタの転送を開始するべく、ホスト計
算機210へ割り込みを送る。ホスト計算機割り込みが、
データの第1のセクタの転送に先だって送られることは
なく、ホスト計算機割り込みは、データの第2のセクタ
の転送に先立って送られるということに注意するべきで
ある。自動書き込みシーケンサ260は、ホスト計算機210
からの単一の書き込み命令に応答して転送される、デー
タの第1のセクタとそれに続くセクタとを弁別する。
従来技術のシステムとは異なり、マイクロプロセッサ
221がシーケンサ260を割り込み許可した後、シーケンサ
260がホスト計算機210に関する動作を制御するので、マ
イクロプロセッサ221は、ディスクドライブ220の動作に
関連した他の機能を実行するために利用可能である。即
ち、自動書き込みシーケンサ260は更に、従来技術のデ
ィスクドライブ120よりもディスクドライブ220の動作を
改良する。
ある実施例では、本発明のハードウェアシーケンサ25
0及び260は、多くの共通な回路を共有するので、余分の
構成要素及びまたは回路が取り除かれる。特に、ハード
ウェアシーケンサ250及び260は、共通のFIFOメモリ回路
340、共通のセクタカウンタ330、及び共通のタイミング
回路310を有する。自動読み出し制御回路350は、自動読
み出しシーケンサ250によって要求される機能を実行
し、一方自動書き込み制御回路360は、自動書き込みシ
ーケンサ260によって要求される機能を実行する。第3
図では、種々の回路を接続するラインは単なる例示に過
ぎない。実際の接続は以下により詳しく説明される。
電源が最初にディスクドライブ220へ加えられたと
き、マイクロプロセッサ221は、トラック内のセクタの
最大数と、レジスタ320内のヘッド数の最大値をセット
する。更に、プログラマブルタイマ310は、2つの予め
決められた値をロードされる。第1の予め決められた値
が選択され、かつタイマ310がスタートしたとき、タイ
マ310は、第1の予め決められた時間間隔の後にタイム
アウトする。ここで、“タイムアウト”は、タイマ310
がスタートした後の予め決められた時間間隔の経過を意
味し、予め決められた時間間隔の後に、タイマ310は出
力信号を発生する。
第2の予め決められた値が選択され、かつタイマ310
がスタートしたとき、タイマ310は、第2の予め決めら
れた時間間隔の後にタイムアウトする。即ち、タイマ31
0は、ディスクドライブ220の電源投入時に、2つのタイ
ムアウト期間を決定する2つの値をロードされる二重機
能のプログラマブルタイマである。時間の値は、ディス
クドライブ220が用いられている計算機システムに基づ
いて、ユーザによって選択される。即ち、タイムアウト
の時間間隔は、特定のコンピュータシステムの工場では
なく、ユーザの立場から決定することができるので、タ
イマ310は更に、記憶コントローラ230の動作を向上させ
る。更に、単一のタイミング回路が実際に2つの独立し
たタイマとして機能するので、集積回路230の複雑さ及
び大きさを減少させる。
自動読み出しシーケンサ250を割り込み可能にするた
めに、マイクロプロセッサ221は、複数のセクタの転送
を割り込み許可するための信号ENMULXFR、自動読み出し
シーケンスを割り込み許可するための信号ENAUTORD、及
びホスト計算機割り込みを割り込み許可するための信号
ENAHINTをセットする。ある実施例では、信号ENMULXF
R、ENAUTORD、及びENAHINTは、マイクロプロセッサ221
によってセットされた、レジスタ内のビットによって駆
動される。
自動読み出しシーケンスを開始するために、ホスト計
算機210は、データバス215を通して、1)セクタカウン
トレジスタ330にロードされる、転送されるべきデータ
のセクタ数、2)セクタ数レジスタに記憶される、転送
されるべきデータの第1のセクタのセクタ数、3)ドラ
イブ/ヘッドレジスタに記憶される、ドライブ及びヘッ
ド数、4)シリンダローレジスタに記憶される、スター
トシリンダアドレスの、概ね8ビットである下位ビッ
ト、及び5)シリンダハイレジスタに記憶される、スタ
ートシリンダアドレスの概ね8ビットである上位ビット
を、送ることによって自動読み出しシーケンサ250を初
期化する。これらのレジスタはレジスタ320に含まれて
いる。ここで、“下位ビット”は、アドレスの最も重要
でない複数のビットを表し、“上位ビット”は、アドレ
スの最も重要な複数のビットを表す。計算機バスインタ
フェース回路234を通しての、ホストコンピュータ210に
よる、レジスタ320へのロード、及びセクタカウンタ330
の初期化は、当業者にはよく知られている。
読み出し動作のために、ホスト計算機210がレジスタ
を初期化した後、ホスト計算機210は、計算機バスイン
タフェース回路234への読み出しセクタ命令を発生す
る。読み出しセクタ命令は、タスクファイルレジスタ32
0内のホスト命令レジスタに記憶される。
ホスト計算機210が読み出しセクタ命令を発生したと
き、リクエストされたセクタは、既にバッファメモリ22
2内に存在しても良い。概ね、データの複数のセクタ
は、マイクロプロセッサ221が、“リードアヘッド(rea
d a head)”を実行するべくプログラムされているの
で、バッファメモリ220内にロードされている。これ
は、先の読み出しセクタ命令に応答して、マイクロプロ
セッサ221が、次の読み出し動作でリクエストされるセ
クタが、現在読み出されているセクタに隣接するセクタ
になるであろうことを予測して、要求されたセクタに隣
接する1個若しくは複数のセクタをメモリ220内へロー
ドすることを意味する。“リードアヘッド”過程の結果
として、バッファメモリ222へロードされた第1のセク
タの幾何学的アドレス、即ちセクタアドレス、シリンダ
アドレス、及びヘッド数は、レジスタ“START"に記憶さ
れる。
自動読み出し制御回路350は、レジスタSTARTに記録さ
れた値と、レジスタ320のセクタ数、シリンダアドレ
ス、及びヘッド数を比較する。もしそれらの数値が等し
ければ、一致が存在し、比較器の出力信号は、計算機バ
スインタフェース回路234からバッファ制御回路233への
ラインAUTORDGO上のパルスの発生となって現れる。ライ
ンAUTORDGO上のパルスは、バッファ制御回路233に、自
動読み出しシーケンサ250へのホストポートイネーブル
ラインHPEN上の論理高の信号を発生させる。
もし一致が存在しなければ、マイクロプロセッサ221
は信号ENAUTORDを論理低の値にリセットし、ディスク24
0からバッファメモリ220へのデータのリクエストされた
セクタの転送を開始する。ある実施例では、一致が存在
するかどうかを検知するように、ユーザがマイクロプロ
セッサ221をプログラムする。特に、もし一致が存在す
るならば状態ビットAUTORDSTがセットされる。ユーザ
は、一致が存在するかどうかを決定するために、状態ビ
ットAUTORDSTをポーリングするようにマイクロプロセッ
サ221をプログラムすることができる。代わりに、ビッ
トAUTORDSTがセット状態の時、割り込みがマイクロプロ
セッサ221へ送られるように、回路234がユーザによって
構成されても良い。割り込みに応答して、マイクロプロ
セッサ221は、一致が発生したかどうかを確かめるため
にビットAUTORDSTを読み込む。もし一致が存在しなけれ
ば、マイクロプロセッサ221に応答したディスク240から
バッファメモリ220へのデータの転送は、当業者にはよ
く知られている。
データのリクエストされたセクタが、バッファメモリ
222内に存在するとき、バッファ制御回路233から計算機
バスインタフェース回路234へのバッファノットレディ
ラインBNRDYFH上の信号は、論理低になり、マイクロプ
ロセッサ221はレジスタBPOTCTLのビットHPENを論理高に
し、一方論理高になったビットHPENは、バッファ制御回
路233から計算機バスインタフェース回路234へのホスト
ポートイネーブルラインHPEN上の信号を論理高にする。
ラインHPEN上の論理高の信号は、自動読み出しシーケン
スを開始する。ラインHPEN上の論理高の信号は、ハード
ウェアによって自動化された読み出し過程400のスター
トステップ401である。
ラインHPEN上の信号に応答して、自動読み出し制御回
路350は、セクタカウンタ330を減少させ、即ちセクタカ
ウンタ更新ステップ402を実行する。即ち、本発明の原
理に基づいて、自動読み出しシーケンサ250は、タスク
ファイルのこの部分を自動的に更新する。
次に、回路350が状態更新ステップ403を実行する。状
態更新ステップ403は、(1)ディスクドライブがビジ
ーでないことを表示するために、信号BUSYをリセットす
ることによって、及び(2)ディスクドライブ220が、
ホスト計算機210とディスクドライブ220との間の1ワー
ド(2バイト)または1バイト(8ビット)の転送に対
して準備が整っていることを表示するために、信号DRQ
をセットすることによって、ドライブ状態レジスタを更
新する。この実施例では、信号BUSYは、信号DRQの補数
である。
イネーブル信号、即ちホストポートイネーブルライン
HPEN上の論理高の信号は、RAM220からFIFO回路340への
データのリクエストされたセクタの転送を開始する。こ
の過程は、状態更新ステップ403に含まれる。FIFO回路3
40は、FIFOメモリがほぼいっぱいであることを表す、自
動読み出し制御回路350へのFIFOニアリーフル信号を発
生する。ある実施例では、FIFOメモリは16バイトの大き
さであり、ニアリーフル信号は、FIFO回路340内のFIFO
メモリが約88%満たされたとき、即ちメモリ内の14バイ
トがロードされた後に発生する。
FIFOニアリーフル信号に応答して、動作はホスト割り
込みセットステップ404へ遷移する。ホスト割り込みセ
ットステップ404は、自動読み出し制御回路350に、ホス
ト計算機210への割り込みを送らせる。即ち、回路350
は、マイクロプロセッサ221の介入なしに、ホスト計算
機210へ割り込みを送る。割り込みに応答して、ホスト
計算機210は、FIFO回路340からのデータの読み出しを開
始するか、またはレジスタ320からのディスクドライブ
状態の読み出しを開始する。
ホストアクションチェックステップ405では、自動読
み出し制御回路350は、ホスト計算機210がデータを読み
出すか、ディスクドライブ状態をチェックするかを決定
する。もしホスト計算機210が、ディスクドライブ状態
をチェックするならば、回路350は、ホスト計算機割り
込みをリセットし、割り込みタイマ開始ステップ406へ
遷移する。
割り込みタイマ開始ステップ406では、回路350は、タ
イマ310へ第1の予め決められた値HINTTIMEをロード
し、かつタイマ310をスタートする。値HINTTIMEによっ
て初期化された第1の予め決められた時間間隔の後、タ
イマ310は、ホスト割り込みタイムアウト信号を発生す
る。概ね、この予め決められた時間間隔は、約10マイク
ロ秒(μsec)から約500マイクロ秒の範囲内にある。上
述されたように、実際の値は、計算機210内へのドライ
ブ210のインストール時に、ユーザによって選択され
る。
タイマ310がスタートした後、動作はタイムアウト/
読み出しチェックステップ407に遷移する。もし、タイ
マ310が第1の予め決められた時間間隔をカウントダウ
ンし、かつ割り込みタイムアウト信号を発生する前に、
ホスト計算機210がFIFO回路340内のデータを読み出すな
らば、動作は転送完了チェックステップ408へ遷移す
る。この場合、タイマ310からの次のホスト割り込みタ
イムアウト信号は、ホスト計算機210のFIFO340からのデ
ータの読み出しの開始に応答して回路350から発生した
信号によってマスクされる。
もしホスト計算機210が、第1の予め決められた時間
間隔の完了の前に、FIFO回路304内のデータの読み出し
ができなければ、タイマ310は、ホスト割り込みタイム
アウト信号を発生する。ホスト割り込みタイムアウト信
号に応答して、自動読み出し制御回路350は、他のホス
ト計算機割り込みを発生するホスト割り込みセットステ
ップ404へ動作を戻す。上述したように、自動読み出し
制御回路350によるホスト計算機割り込みの発生は、ホ
スト計算機210が、読み出しセクタ命令によってタイム
アウトすること、及びユーザの、ディスクドライブ220
へのデータへのアクセスの打ち切り、失敗、または再試
行をリクエストすることを妨げる。
ホスト計算機割り込みがステップ404でセットされた
とき、ステップの以前のシーケンスにであい、続いてホ
スト計算機210は、ディスクドライブ220の状態をチェッ
クする。代わりに、ステップ405で、ホスト計算機210が
FIFO回路340のデータの読込みを開始しても良い。この
場合、動作は、転送完了チェックステップ408に直接遷
移する。
転送完了チェックステップ408は、いつデータのセク
タがホスト計算機210へ転送されたかを決定するため
に、FIFO回路340からの信号を連続的にポーリングす
る。ここで、FIFO回路340は、FIFOメモリ、及びFIFOメ
モリの動作を監視しかつ制御するためのそのようなメモ
リに関連した回路を意味する。FIFO回路は、異なったバ
ス速度を伴った複数の回路をインタフェースするために
用いられ、かつそのためにFIFOメモリの制御、利用、及
び監視は、当業者にはよく知られている。これまで言及
された従来技術の各記憶コントローラは、FIFOメモリ
と、関連する回路とを含む。例えば、Adaptecによって
販売されている、部品番号AIC−6060及びAIC−7160の記
憶制御回路は、本発明の自動シーケンサに用いるのに適
したFIFOメモリ及び回路を含む。
データのセクタが計算機210に転送されたとき、FIFO
回路340は信号EMPTYDONEを発生する。信号DRQがリセッ
トされ、信号BUSYがセットされる。とはいえ、もし最後
のセクタが送られたならば、ユーザによって特定された
状態に対して、信号DRQは、リセットされ、かつ信号BUS
Yがセットされる。もし、ホスト計算機210が、データを
直接読み出し、そのためにホスト計算機割り込みがリセ
ットされないならば、ホスト計算機割り込みは、自動的
にリセットされる。とはいえ、初期化の過程に於いて、
ビットENHINTRSTLがセットされ、そのビットがホスト計
算機割り込みの自動的なクリアを禁止するように、ユー
ザがマイクロプロセッサをプログラムしても良い。
データの転送、及び種々の信号の更新が完了した後、
動作はセクタ数チェックステップ409に遷移する。もし
セクタカウンタ330が0の値を持つならば、全てのセク
タが転送され、動作は終了する。さもなければ、動作
は、第2の予め決められた間隔を持つステップ410へ遷
移する。
第2の予め決められた期間を持つステップ410は、タ
イマ310へ第2の予め決められたタイマ数値BUSYTIMEを
ロードし、タイマ310をスタートさせる。第2の予め決
められた時間間隔は、約1マイクロ秒から約270マイク
ロ秒の範囲内にあり、好ましくは約35マイクロ秒であ
る。従来技術の記憶制御回路とは異なり、本発明の自動
読み出しシーケンサ250は、マイクロプロセッサ221の処
理時間を必要としない。従って、マイクロプロセッサ22
1は他の動作を行うことができ、第2の予め決められた
タイムアウト間隔を確立する必要もなければ、タスクフ
ァイルレジスタを更新する必要もない。
第2の予め決められたタイムアウト間隔の後、動作は
バッファレディチェックステップ411に遷移する。バッ
ファ制御回路233が、データの他のセクタがバッファRAM
222に含まれていることを示すための、ラインBNRDYFH上
のバッファノットレディ信号を論理低にセットするま
で、バッファレディチェックステップ411は動作を遅延
する。
自動読み出し制御回路350によって、ラインBNRDYFH上
の論理低の信号が受け付けられたとき、動作は幾何学的
アドレス更新ステップ412へ遷移する。幾何学的アドレ
ス更新ステップ412は、レジスタ320内のセクタ数、シリ
ンダアドレス、及びヘッド数を更新する。結果的に、制
御回路350は、読み出し動作に関連したタスクファイル
内の残りのレジスタを自動的に更新する。そして、制御
回路350は、動作をセクタカウンタ更新ステップ402へ遷
移することによって、自動的にデータの次のセクタの転
送を開始する。
従来技術のシステムよりも大幅に性能を改良する本発
明の重要な特徴は、セクタカウンタチェックステップ40
9が、ホスト計算機210が1個以上のセンタの転送をリク
エストしたことを判定するときに、動作が、マイクロプ
ロセッサの介入なしに自動的に継続するということであ
る。上述されたように、従来技術のシステムは、マイク
ロプロセッサとホスト計算機とのハンド・シェイクを必
要とし、各セクタの転送を独立した事象として処理し
た。
自動書き込みシーケンサ260の動作は、データの転送
の方向が異なること、即ちデータがホスト計算機210か
らディスクドライブ220へ転送されることを考慮すれ
ば、自動読み出しシーケンサ250の動作と概ね等しい。
更に、ある実施例では、後により詳しく説明されるよう
に、自動書き込み制御回路360は、自動読み出し制御回
路350で用いられている回路と等しい回路を含む。従っ
て、自動読み出し制御回路350と自動書き込み制御回路3
60を使用することは、本発明の原理の単なる例示であっ
て、本発明を、2つの異なった制御回路に限定すること
を意図するものではない。更に、自動読み出しシーケン
サ250または自動書き込みシーケンサ260の何れかが、計
算機バスインタフェース回路内に独自に用いられても良
い。
電源投入時のリセット動作の間、自動書き込みセクタ
カウンタは、その最大値であるFFhがセットされる。ホ
スト計算機210による書き込み命令の開始に先立って、
マイクロプロセッサ221は、ある特定数のセクタのため
に利用可能なスペースをRAM222内に割り当て、スペース
が割り当てられたセクタの個数に、自動書き込みセクタ
カウンタを初期化する。書き込みオートメーション過程
のスタートステップ501の前に、ホスト計算機210は再
び、計算機データバス215からの幾何学的アドレスをレ
ジスタ320内の適切なレジスタにロードする。同様に、
セクタカウンタ320は、計算機210からディスクドライブ
220へ転送されるセクタの個数をロードされる。
幾何学的アドレスがロードされた後に、ホスト計算機
221が書き込みセクタ命令を発生させ、かつ信号ENMULXF
Rが論理高のとき、書き込みセクタ命令は、タスクファ
イルレジスタ320内のホスト命令レジスタに記憶され、
書き込み制御回路360は、バッファ制御回路233へのライ
ンAUTOWRGO上にパルスを発生させる。
ラインAUTOWRGO上の論理高の信号に応答して、バッフ
ァ制御回路233は、書き込み制御回路360へのホストポー
トイネーブルラインHPEN上の信号と、ホストポート書き
込みラインHRPRT上の信号とを論理高にセットする。こ
れが、本発明のハードウェア書き込みオートメーション
過程500のスタートステップ501である。ラインHPEN及び
HRWRT上の信号に応答して、制御回路360の動作は、状態
更新ステップ502へ遷移する。
自動書き込み初期化に応答して、ステップ502の自動
書き込み制御回路は、レジスタ320内の状態レジスタ内
のビットBRQをセットし、かつビットBUSYをリセットす
るので、それらのビットは、ホスト計算機によって読み
出されることが可能である。次に、ステップ503では、
自動書き込み制御回路360は、以下により詳しく説明さ
れるように、これが、この書き込みリクエストに応答し
て、ディスクドライブ220へ書き込まれるべき第1のセ
クタであるかどうかを決定する。
もしこれが、転送された第1のセクタならば、動作
は、第1セクタチェックステップ503からセクタ転送完
了チェックステップ505へ遷移する。しかしながら、も
しこれが転送されるべき第1のセクタでなければ、動作
は、ホスト割り込みセットステップ504へ遷移する。ホ
スト割り込みセットステップ504は、データの他のセク
タの転送の開始を表示するべく、ホスト計算機210へ割
り込みを送る。再び、この割り込みが、マイクロプロセ
ッサ221による介入なしに送られる。割り込みを受け付
けた後に、ホスト計算機210は、データの次のセクタの
転送を開始し、動作はステップ505に遷移する。
データのセクタが、FIFO回路340を通して転送された
とき、FIFO回路340は再び信号EMPTYDONEを発生する。信
号EMPTYDONEに応答して、動作はカウンタ更新ステップ5
06へ遷移する。カウンタ更新ステップ506では、セクタ
カウンタ330及び自動書き込みセクタカウンタが減少さ
せられる。
カウンタが減少させられた後、自動書き込みセクタカ
ウンタチェックステップ507は、自動書き込み制御回路3
60の自動書き込みセクタカウンタの値が0の値を有する
かどうかを判定する。もし自動書き込みセクタカウンタ
が0でないならば、チェックステップ507は動作をセク
タカウンタ0チェックステップ501へ遷移させる。
反対に、もし自動書き込みセクタカウンタが値0を有
し、かつ転送されるべき更なるデータが残っているなら
ば、ハードウェア自動書き込み過程500のためのバッフ
ァメモリ222の割り当ては、充分ではない。従って、自
動書き込みシーケンサ260の動作は終了する。レジスタ
状態ビットXFRDONEがセットされ、かつ動作は、チェッ
クステップ507から、書き込み動作の制御がマイクロプ
ロセッサ221へ戻されるステップ508へ遷移する。
マイクロプロセッサ221は、ステップ508に於て、バッ
ファメモリ222へより以上をスペースを割り当てること
ができる。もしマイクロプロセッサ221がメモリ222へ更
なるスペースを割り当てるならば、オートメーション継
続チェックステップ509は、マイクロプロセッサ221がレ
ジスタ状態ビットXFRDONEをクリアするステップ510へ動
作を遷移し、更新ステップ514への遷移によって、オー
トメーションは再び開始される。もしマイクロプロセッ
サ221が更なるスペースの割り当てに失敗したならば、
マイクロプロセッサ221は、従来技術のマニュアル方法
を用いることによって書き込み動作を完了させなければ
ならない。
もし自動書き込みセクタカウンタチェックステップ50
7が、値0を検知しなければ、動作は、セクタカウント
チェックステップ511、タイマ開始ステップ512、及びバ
ッファレディステップ513、及び更新ステップ514という
ステップを順番に継続する。セクタカウントチェックス
テップ511、タイマ開始ステップ512、バッファレディス
テップ513、及び更新ステップ514は、各々、上述された
ステップ409、410、411及び412と等しい。唯一の相違点
は、バッファレディステップ513が、スペース内にデー
タがロードされることを待つのではなく、バッファメモ
リ内のスペースが利用可能になることを待つということ
である。
上述された開示内容を鑑みて、自動読み出しシーケン
サ250と、自動書き込みシーケンサ260のためのハードウ
ェア回路は、当業者によって様々な異なる方法で実施さ
れてもよい。従って、自動読み出しシーケンサ250及び
自動書き込みシーケンサ260のある実施例の以下のより
詳細な説明は、本発明の原理の例示であって、本発明
を、説明された特定の実施例に限定することを意図する
ものではない。
この実施例では、タスクファイル内のシリンダレジス
タ、ヘッドレジスタ、及びセクタ数レジスタは、各々、
アップカウンタであり、セクタカウンタ330、及び自動
書き込みセクタカウンタは、各々、ダウンカウンタであ
る。とりわけ、第6図は、シリンダレジスタ、ヘッドレ
ジスタ、及びセクタ数レジスタとして使用することに適
した、アップカウンタ600の実施例のブロック図であ
る。以下により詳しく説明されるように、カウンタは更
なる特徴を有するが、しかし基本的な動作はカウンタ60
0によって例示されている。カウンタは、シーケンサ25
0、及び260の動作中にホスト計算機210によって駆動さ
れる、“n"本の入力バスDと、入力ラインUPDATE、入力
ラインCLK、入力ラインRST、及び入力ラインLOADを有す
る。カウンタ600からの出力ラインは、“n"本の出力バ
スOUTを含む。
ホスト計算機210は、カウンタ600に書き込まれるべき
データを、非同期に、バス215、及びバスDに提供する
ので、ホスト計算機210は、ラインLOAD上に信号を提供
する。ラインLOAD上の信号は、ホストコンピュータ210
によって、論理高レベルから論理低レベルへ駆動され、
かつ再び論理高レベルへ戻される。カウンタ600は、ラ
インLOAD上のアクティブローの信号に応答するので、ラ
インLOAD上の信号は、バスD上のデータをカウンタ600
にロードする、カウンタ600への同期した1クロックの
幅を有するパルスを発生する。
ラインUPDATE上の1クロックの幅を有するパルス信号
は、ラインCLK上の次のクロックパルスによって、カウ
ンタの値を1増加させることを可能にする。ラインUPDA
TE上のパルスが発生し、かつカウンタ600がその最大値
であるならば、カウンタ600は、予め決められた値にリ
セットされる。ラインCLKはクロック信号を提供し、ラ
インRSTはカウンタ600へのリセット信号を提供する。カ
ウンタ600の値は、常にバスOUT上で使用可能である。
セクタ数カウンタ710(第7A図)は、上述されたカウ
ンタ600の各入力ラインを有するプログラム可能な8ビ
ットアップカウンタであり、ここでカウンタ600のライ
ンLOADは、ラインWRSECNUM−である。更に、セクタ数カ
ウンタ710は、セクタ数カウンタ710に、1トラック内の
最大のセクタ数を表すプログラム可能な値を提供する8
ビット入力バスMAXSECを含む。ある実施例では、1トラ
ックの最大のセクタ数は、ディスクドライブ220の電源
投入時に、レジスタへ記憶される。
比較器は、記憶された1トラック内の最大値を、セク
タ数カウンタ710と比較し、それによってトラック内の
最大のセクタ数が処理されたときを決定する。従って、
セクタ数カウンタ710が、1トラック内の最大のセクタ
数を表す値に到達したとき、比較器からのSECEQMAX上の
信号は論理高になる。
ラインUPDATE上にパルスが加えられ、かつセクタ数カ
ウンタ710が、1トラック当たりの最大のセクタ数を表
す値を有するとき、セクタ数カウンタ710はそのような
状態に於て、上位7ビットがクリアされ、最下位ビット
がセットされるように構成されているので、セクタ数カ
ウンタ710は値1にリセットされる。セクタ数カウンタ7
10のある実施例のより詳細な模式図が第8図、第9図、
及び第10図に表されている。要素MUX21(第9図)は、
2対1マルチプレクサである。
ヘッド数レジスタの下位4ビットは、上述されたカウ
ンタ600の各入力ラインを含むプログラム可能な4ビッ
トアップカウンタであるヘッド数カウンタ(第7図)で
あり、ここでカウンタ600のラインLOADはラインWRHEAT
−である。更に、ヘッド数カウンタ720は、ヘッド数カ
ウンタ720に最大のヘッド数を表すプログラム可能な値
を提供する4ビット入力ラインMAXHEADを含む。概ね、
最大のヘッド数を表すプログラム可能な値は、ディスク
ドライブの製造業者によって決められ、ディスクドライ
ブ220の電源投入時にレジスタにロードされる。
比較器は、記憶されたヘッド数の最大値を、ヘッド数
カウンタ720の値と比較するために用いられ、それによ
っていつ最大のヘッド数が達成されたかを決定する。従
って、ヘッド数カウンタ710が最大のヘッド数を表す値
に到達したとき、比較器からのラインHEADEQMAX上の信
号は論理高になる。
セクタ数カウンタ710からのラインSECEQMAXは、ヘッ
ド数カウンタ720への入力ラインである。ラインUPDATE
上にパルスが存在し、かつラインSECEQMAX上の信号が論
理高であるとき、ヘッド数カウンタ720は、その値を1
増加する。ラインUPDATE上にパルスが存在し、ラインSE
CEQMAX上の信号が論理高であって、かつヘッド数カウン
タが最大のヘッド数であるために、ラインHEADEQMAX上
の信号が論理高であるとき、ヘッド数カウンタはその値
を0にリセットする。ヘッド数カウンタ720のある実施
例のより詳細な模式図が、第11図、第12図、及び第13図
に表されている。
シリンダ数レジスタ730(第7A図)は、ある実施例で
は2個の8ビットシリンダ数アップカウンタからなる、
16ビットアップカウンタを含む。各8ビットカウンタ
は、カウンタ600のための上述された各入力ラインを含
み、ここでカウンタ600のラインLOADは、シリンダアド
レスの上位ビットのためのラインWRCYLNHI−、及びシリ
ンダアドレスの下位ビットのためのラインWRCYLNLO−で
ある。もちろん、ラインCLK、D、RST、及びUPDATEの単
一の集合が、シリンダ数カウンタ730の両方のカウンタ
を駆動するために用いられる。セクタ数カウンタ710か
らのラインSECEQMAXは、ヘッド数カウンタ720からのラ
インHEADEQMAXのように、シリンダ数カウンタ730の入力
ラインとなっている。シリンダ数カウンタ730からの2
個の8ビット出力バスは、各々、シリンダアドレスの上
位ビットと、下位ビットとを提供する。ラインSECEQMAX
上の信号とラインHEADEQMAX上の信号とが論理高であっ
て、かつラインUPDATE上にパルスが発生するとき、シリ
ンダ数カウンタ730は減少する。カウンタ730のある実施
例のより詳細な模式図が、第14図及び第15図に表されて
いる。
この実施例では減少カウンタである、セクタカウンタ
330のより詳細な模式図が、第7B図に表されている。セ
クタカウンタ330は、カウンタ600に対して説明されたよ
うな方法で、ディスクドライブ220とホスト計算機210と
の間で転送されるべきセクタの個数をロードされる。ラ
インWRSECCNTは、ホスト計算機とディスクドライブとの
間で転送されるべきセクタの個数をカウンタ330にロー
ドするために用いられる。カウンタ330の動作は、ライ
ンUPDATE上にパルスが発生したときに、カウンタ300が
1だけ減少すること以外は、上述された動作と等しい。
セクタカウンタ330のある実施例のより詳細な模式図
が、第16図及び第17図に表されている。
上述されたように、1トラック当たりの最大のセクタ
数と、最大のヘッド数とがディスクドライブ220の電源
投入時に、マイクロプロセッサ221によって各々、最大
セクタ数レジスタ内と、最大ヘッド数レジスタ内とにプ
ログラムされる。本発明の計算機バスインタフェース回
路234は、ホスト割り込み時間レジスタHINTTIMEと、ビ
ジー時間レジスタBSYTIMEとを含む。電源投入時、マイ
クロプロセッサ221は、レジスタHINTTIMEに第1の予め
決められた時間の値をロードし、レジスタBUSYTIMEに第
2の予め決められた時間の値をロードする。
計算機バスインタフェース回路234は、ホストFIFOカ
ウントレジスタHFCT(第7A図)をも含み、そのレジスタ
は、タスクファイル内のホスト命令レジスタが書き込み
セクタ命令を記憶していることを表示するために、1に
セットされるビットWRCMDを含む。ホスト命令レジスタ
が読み出しセクタ命令を記憶しているとき、もう1つの
ビットRDCMDが1にセットされる。タスクファイル内の
ホスト命令レジスタは、ホスト計算機によって記憶制御
回路230に対して発生させられた最後の命令を保持す
る。レジスタHFCDの5個のビットHFCNTは、16バイトFIF
O回路340内に残っているバイト数を表示する。ビットHF
CNT内の値0は、FIFOメモリが空であることを表示し、
値10hは、FIFOメモリがいっぱいであることを表示して
いる。
自動化された読み出し動作のための初期化過程に於
て、第1の予め決められた値を第2の予め決められた値
とが、タイマ310に登録される。続いて、自動読み出し
サイクル400のための初期化プロセスに於て、マイクロ
プロセッサ221は、ラインENMULXFR上の信号を駆動す
る、ホストモード制御レジスタHMODECTLのビットENMULT
FRと、ラインENAUTORD上の信号を駆動する、レジスタHM
ODECTLのビットENAUTORDとを論理高にセットする。ホス
ト計算機210は、セクタカウンタ303及び上述された他の
カウンタと同様に、タスクファイル内のレジスタ、即ち
セクタ数カウンタ710、ヘッド数カウンタ720、及びシリ
ンダ数カウンタ730へのロードを行う。
計算機210による読み出しセクタ命令の発生時に、そ
の命令は、タスクファイル内のホスト命令レジスタに記
憶され、続いて、レジスタHFCT内のビットRDCMDが1に
セットされる。上述されたそして本出願の一部とされた
引用文献に説明されているように、記憶制御回路230
は、予見する特徴を有し、RAM222にデータを記憶するこ
とができる。RAM222内のデータの最初の幾何学的アドレ
スは、レジスタSTART内に記憶される。回路234の比較器
は、レジスタSTART内の信号を、計算機バスインタフェ
ース回路234の幾何学的アドレスタスクファイル内にロ
ードされた値と比較する。もし値が一致するならば、自
動化された読み出しシーケンスを開始する信号が発生す
る。とりわけ、計算機バスインタフェース回路234と、
バッファ制御回路233との間のラインAUTORDGT上にパル
スが発生する。ラインAUTORDGT上のパルスに応答して、
バッファ制御回路233は、ホストポートイネーブルライ
ンHPEN上の信号を論理高にセットし、ホストポート書き
込みラインHPWT上の信号を論理低にセットする。ライン
HPEN上の論理高の信号は、スタートステップ401であ
る。
もし、レジスタSTART内の値と、幾何学的アドレスタ
スクファイル内の値とが一致しなければ、マイクロプロ
セッサ221は、信号ENAUTORDを禁止し、ディスク240から
バッファメモリ222へのデータのリクエストされたセク
タの転送を開始する。バッファメモリ222がデータの複
数のセクタを含んでいるとき、マイクロプロセッサ221
は、ラインHPEN上の信号を論理高にセットする。
ラインHPEN上の論理高の信号もまた、ラインBTRNS上
の信号を論理高にする。ラインWOR上の信号及びラインH
PWRT上の信号は、論理低である。ラインRDOP上の信号
は、ラインHPWRT上の信号の補数である。即ち、ラインR
DOP上の信号は、論理高である。セクタカウント減少回
路740へのラインBTRNS、ENMULXFR、及びRDOP(第7B図)
上の信号は全て論理高なので、バッファされたバッファ
クロック信号である。ラインBCLKC上の次のクロックパ
ルスが、セクタカウント減少回路740によるラインSECCN
TDECP上にパルスを発生させ、そのパルスがセクタカウ
ンタ300の値を減少する。即ち、ハードウェア自動化読
み出し過程400が完了する。
セクタカウント減少回路740のより詳細な模式図が、
第18図に表されている。簡単に言えば、入力ラインENMU
LXFR上の信号が、自動的な複数のセクタの転送を可能に
するために論理高になる。入力ラインBTRNS上の信号
は、最初の読み出し動作のために、ラインHPEN上の信号
によって論理高に駆動され、そして次のセクタのため
に、FIFO回路340内でデータの転送の準備が整っている
とき、論理高である。ラインRDOP上の信号は、自動的な
読み出し動作が実行されているとき論理高であり、ライ
ンWOP上の信号は、自動的な書き込み動作が実行されて
いるとき論理高である。ラインEMPTYDONE上の信号は、F
IFO回路340が空で、かつセクタの転送が完了したときに
論理高になる。ラインEMPTYDONE上の信号は、読み出し
動作及び書き込み動作の両方で用いられるが、セクタカ
ウント減少回路740は、その信号を自動的な書き込み動
作内でしか用いない。ラインBCLKCは、バッファされた
バッファクロック信号を伝える。出力ラインSECCNTDECP
は、セクタカウント減少パルスを提供し、ラインSECCNT
DECPDは、遅延されたセクタカウント減少パルスを提供
する。
ラインBTRNS上の論理高になった信号と、かつFIFO回
路340からのホストFIFOアベイラブルラインHFAVAIL上の
論理高である信号とに応答して、データはRAM222からFI
FO回路340に転送、即ちFIFO回路340に先取りされる。ビ
ットDRQは、データがFIFO回路340へ転送されるとき常に
セットされている。ビットBUSYはビットDRQの補数なの
で、ビットBUSYはリセットされている。そして、ハード
ウェア自動読み出しシーケンスのステップ403が完了す
る。
ホスト計算機割り込み発生回路745への入力ラインDXF
RL、HXFREN、及びAFULLH上の信号は、入力ラインENAHIN
T上の論理高の信号を、フリップフロップU23(第19B
図)を通してクロックするクロックパルスを発生させ、
そのフリップフロップU23は、ラインXFRIRQ(第7B図及
び第19B図)上の信号を論理高に駆動する。更に、入力
ラインENHINDHI上の論理高の信号は、エクスクルーシブ
ORゲート1901の第1入力端子を駆動する。フリップフロ
ップU23からの信号は、NORゲートU17(第19B図)を駆動
し、そのNORゲートU17は、エクスクルーシブORゲート19
01の第2入力端子を駆動する。エクスクルーシブORゲー
ト1901の論理高の出力信号は、出力ラインHINT(第7B図
及び第19B図)上の信号を論理高に駆動する。
ホスト計算機割り込み発生回路745(第7B図)のより
詳細な模式図が、第19A図及び第19B図に描かれている。
入力ラインAUTORDSTは、自動読み出し開始ラインであ
る。ラインAUTORDGO上にパルスが発生すると同時に、ラ
インAUTORDST上に論理高の信号がセットされる。ライン
AUTORDST上の信号は状態信号である。ホスト計算機マス
タリセットラインATMRSTLは、アクティブローである。
ラインBTRNS上の信号は、これまでに説明されている。
読み出し/書き込み開始入力ラインRWSTART上の信号
は、1クロックの幅を有するパルスであって、読み出し
セクタ転送または書き込みセクタ転送の開始時に、転送
される。ホスト計算機221がディスクドライブ220への書
き込み命令を発生するとき、セットオートロー入力ライ
ンSETAUTOL上の信号は論理低になる。ラインHXFREN上の
入力信号は、ホストポートイネーブルラインHPEN上の信
号のバッファされた信号である。ラインBCLK上の信号は
バッファクロック信号である。
オールモストフル入力ラインAFULLHは、FIFO回路340
からのラインからなる。ラインAFULLH上の信号は、FIFO
メモリがほぼいっぱいであることを表示する。FIFOメモ
リが16バイトFIFOメモリからなる実施例では、FIFOメモ
リ内の14バイトがロードされたとき、ラインAFULLH上の
信号が論理高になる。入力ラインADONEBは、バッファメ
モリ222からFIFO回路340へのセクタの転送がほぼ完了し
たことを意味するオールモストダン信号を伝える。512
バイトの内ほぼ511バイトのセクタがバッファメモリ222
からFIFO回路340へ転送されたとき、ラインADONEB上の
信号は概ね、論理高状態になる。入力ラインDXFRLは、
バッファ制御回路233からのラインである。ラインDXFRL
上の信号はアクティブローであり、RAM222からFIFO回路
340へ1バイトのデータが転送される毎に、バッファ制
御回路233によって、ラインDXFRL上に、パルスが発生さ
れる。入力ラインATDMAENは、本発明では使用されてい
ない。ラインATDMAEN上の信号は、ここで説明された動
作の間は論理低である。ラインRDOP上の信号は、既に説
明された。
この実施例では、ビットENHINDHIは論理高にセットさ
れている。アクティブローである入力ラインSETATINTL
は、本発明では使用されていない。しかしながら、もし
マイクロプロセッサ221がホスト計算機割り込みを送る
ことが必要になったならば、このライン上の信号は、論
理低にセットされ、次に論理高にセットされる。ライン
SETXFRIRQ−は、自動シーケンサ750によって駆動され、
以下により詳しく説明される。ラインENAHINT上の信号
は、マイクロプロセッサ221によって制御されているレ
ジスタの内の1つのレジスタのあるビットによって駆動
される。このビットは、ホスト計算機割り込みの割り込
みを許可するために用いられる。ラインATCNDWRL上の信
号は、アクティブローであり、ホスト計算機が読み出し
命令または書き込み命令を発生したときに論理低とな
る。ラインATMRSTLは、既に説明されている。入力ライ
ンATBUSYLAT上の信号は、上述されたBUSY信号をも駆動
するビジーレジスタによって駆動される、ラッチされた
信号である。ラインEMPTYDONEX上の信号は、FIFO回路34
0が空であって、かつセクタの転送が完了したときに、
論理高になる。
入力ラインENHINTRSTL上の信号は、マイクロプロセッ
サ221によってプログラムされた1つのビットによって
駆動される。もしそのビットが論理高にセットされたな
らば、データのセクタの転送の最後でのホスト計算機割
り込みのクリアは禁止される。もしそのビットが論理低
にセットされたとき、即ちラインENHINTRSTL上の信号が
論理低であるならば、ホスト計算機割り込みは、データ
のセクタの転送の最後で自動的にクリアされる。入力ラ
インATDMAENは既に説明されている。ホスト計算機210が
状態を読み出したとき、入力ラインATRDSTATL上の信号
は論理低となり、その論理低の信号はラインHINT上の信
号の論理低にリセットする。出力ラインHINTは、ホスト
計算機割り込み信号をホスト計算機210へ伝える。出力
ラインXFRIRQは、計算機バスインタフェース回路234の
ための内部割り込み信号である。
従って、とりわけステップ404では、入力ラインSETAU
TOL(第19A図)上の信号と、ラインATMRSTL(第19B図)
上の信号とが両方とも論理高となる。ホスト計算機210
が読み出し命令を発生したとき、ラインATCMDWRL上の信
号は論理低となり続いて論理高に戻る。その結果とし
て、2個のNANDゲートU1及びU2(第19A図)によって形
成されたラッチは、論理高の出力信号を有する。NANDゲ
ートU1及びU2によって形成されたラッチからの出力信号
は、フリップフロップU4の入力端子Dを駆動する。従っ
て、ラインHPEN上の信号が論理高になり、その結果ライ
ンHXFREN上の信号が論理高になったとき、フリップフロ
ップU4はクロックされ、端子NQ上の出力信号は論理低と
なる。
フリップフロップU4からの論理低の出力信号は、NAND
ゲートU5からの出力信号を論理高に駆動する。2個のク
ロックがラインBCLKを通過した後、NANDゲートU5からの
論理高の信号が、フリップフロップU6及びフリップフロ
ップU7を通してクロックされ、その結果フリップフロッ
プU7の出力端子Q上に論理高の信号が現れる。NANDゲー
トU13からの出力信号は、読み出し動作の間、論理高に
保持される。NANDゲートU12からの出力信号は、ラインA
TDMAEN上お論理低の信号によって、論理高に保持され
る。
フリップフロップU7の論理高の出力信号は、NANDゲー
トU12の5番目の入力端子に印加される。ラインATDMAEN
上の信号の論理低の信号は反転され、かつNANDゲートU1
2の4番目の入力端子を論理高に保持し、入力ラインRDO
P上の信号はNANDゲートU12の3番目の入力端子を論理高
に保持する。バッファRAM222からFIFO回路340へ1バイ
トが転送されたとき、ラインDXFRL上の信号は論理低と
なる。この論理低の信号は反転され、反転された信号
は、NANDゲートU12の第2の入力端子を論理高に保持す
る。ORゲートU9からの出力信号によって駆動される、NA
NDゲートU12の1番目の入力端子は、FIFO回路340からの
ラインAFULLH上の信号が論理高となったとき、論理高と
なる。
NANDゲートU12への全ての入力信号が論理高となった
とき、出力信号は論理低となる。ANDゲートU14及びU15
への入力信号は、最初に全て理論高である。しかし、NA
NDゲートU12からの信号が論理低になったとき、ANDゲー
トU14及びU15からの出力信号は論理低となる。従って、
フリップフロップU23(第19B図)へのクロックライン上
の信号は論理低となる。
ANDゲートU14からの論理低の信号は、フリップフロッ
プU4をリセットし、フリップフロップU4の出力端子NQの
信号を論理高に駆動する。フリップフロップU4からの論
理高の信号は、NANDゲートU5の出力信号を論理低に駆動
する。その結果、既に説明されたパスと同様のパスに従
って、論理低の信号がフリップフロップU6及びU7を通し
てクロックされ、論理低の信号がNANDゲートU12の5番
目の入力端子に印加され、NANDゲートU12の出力信号を
論理高に駆動する。従って、ANDゲートU14及びU15から
の出力信号は論理高になる。ANDゲートU15からの論理高
の信号が、フリップフロップU23をクロックし、そして
ラインENAHINT上の論理高の信号が、ORゲート1902及びN
ORゲートU17に印加される。その結果、既に説明された
ように及び引用文献で説明されているように、ラインHI
NT上に割り込みが発生させられる。ラインHINT上のその
論理高の信号は、ハードウェア自動化読み出しシーケン
ス400のステップ404を完了する。
回路745から自動シーケンサ回路750(第7A図)へのラ
インXFRIRQ上の信号は、ハードウェア自動読み出しシー
ケンス400のステップ405を開始する。自動シーケンサ回
路750のある実施例のより詳細な模式図が、第20図に提
供されている。回路750への入力ラインXFRIRQが、内部
ホスト割り込み信号を伝える。入力ラインATMRSTL上の
信号は、アクティブローであり、入力ラインATMRSTLはA
Tブロックマスタリセットラインである。入力ラインRDO
Pは既に説明されている。入力ラインRST−上の信号はア
クティブローであり、入力RST−はパワーオンリセット
ラインである。入力ラインATCMDWRLはATコマンドライト
シグナルラインであり、入力ラインATCMDWRL上の信号は
アクティブローである。入力ラインHRDDATAPは、ホスト
リードデータ同期パルスである。入力ラインXTIMEOUT上
の信号は、タイマ310からのホストインタラプトタイム
アウトパルスである。ラインEMPTYDONEは、既に説明さ
れたものと同じである。入力ラインCLEARAUTO3−上の信
号はアクティブローであり、ラインAUTO3上の信号をク
リアするために用いられる。入力ラインLASTSECT上の信
号は、最後のセクタの転送を表示する。入力ラインBCLK
Cは既に説明されている。出力ラインENXTIMERは、タイ
マ310を使用可能にし、かつ第1の予め決められた値を
タイマにロードする。ラインSETXFRIRQ−上の信号は、
アクティブローであり、かつ回路745(第19B図)内にホ
スト計算機割り込みをセットする。ラインAUTO3上の信
号は、以下に更に詳しく説明されるようにビジータイマ
を使用可能にするために用いられる。
回路745(第7B図)から自動シーケンサ回路750(第7A
図)へのラインXFRIRQ上の信号の立ち上がりエッジは、
自動読み出しシーケンスのステップ405を開始し、かつ
フリップフロップUD1(第20図)をクロックし、その結
果、ラインAUTO1上の信号が論理高になる。既に説明し
たように、ホスト計算機210は、ドライブ220の状態をチ
ェックしても良いし、またはFIFO回路340からのデータ
の読み出しを開始しても良い。
もしホスト計算機210が状態を読み出すならば、ホス
ト計算機割り込み発生回路745(第7B図及び第19B図)へ
のラインATRDSTATL上には、論理低となり、次に論理高
となるパルスが発生する。ラインATRDSTATL上の信号の
立ち下がりエッジは、要素U25及びU24をラッチし、立ち
上がりエッジはフリップフロップU26及び27をクロック
する。フリップフロップU27からの出力信号は、フリッ
プフロップU23をリセットし、フリップフロップU23は、
ラインXFRIRQ上の信号を論理低に駆動する。同様に、フ
リップフロップU26からの出力信号は、フリップフロッ
プU22をリセットする。フリップフロップU22及びU23か
らの論理低の信号は、NORゲートU17の出力信号を論理高
に駆動し、NORゲートU17は、エクスクルーシブORゲート
1901の出力信号を論理低に駆動する。結果として、ライ
ンHINT上のホスト計算機割り込み信号はリセットされ
る。
ラインXFRIRQ上の信号が論理低になったとき、自動シ
ーケンス回路750は、ラインENXTIMER上に論理高の信号
を発生する。とりわけ、ラインXFRIRQ上の論理低の信号
は、NORゲートU2(第20図)の出力信号を論理高に駆動
する。ラインCLKCを通過する次の2つのクロック信号
が、各々フリップフロップUD2とUD3とを通してNORゲー
トU2の出力信号をクロックする。フリップフロップUD3
の出力信号は、ラインENXTIMER上の信号を論理高に駆動
する。
ラインENXTIMER上の論理高の信号は、タイマ310(第7
A図及び第21図)の入力ラインXTIMEENを駆動する。ライ
ンXTIMEEN上の論理高の信号は、タイマ310へ第1の予め
決められた値をロードし、かつタイマ310をスタートさ
せる。タイマ310のより詳細な模式図が、第21図、第22
図、第23図及び第24図に表されている。
タイマ310(第21図)へのクロック入力信号は、入力
ラインCLK上に提供され、リセット信号は、ラインRST上
に提供されている。入力ラインDは、マイクロプロセッ
サデータバスである。ラインWRYTIMER−上の信号はアク
ティブローであり、かつ第2の予め決められた値をラッ
チLATCH8Aにロードするために用いられる。入力ラインW
RXTIMER−上の信号もまたアクティブローであり、かつ
第1の予め決められた値をラッチLATCH8Bにロードする
ために用いられる。ラッチLATCH8A及びLATCH8Bは、第23
図の回路LATCHである。
自動シーケンサ回路750(第7A図)の出力ラインENXTI
MERによって駆動されるラインXTIMEENは、ホスト割り込
みタイムアウトカウンタイネーブル信号を伝える。ビジ
ータイマ制御回路760のENYTIMERによって駆動される入
力ラインYTIMEENは、ビジータイマカウントイネーブル
信号を伝える。
出力バスQは、タイマ値出力バスである。ラインYTIM
EOUTP上の信号はビジータイムアウトパルスであり、一
方出力ラインXTIMEOUT上の信号はホスト割り込みタイム
アウトパルスである。ラインYTIMEOUT上の信号はラッチ
されたビジータイムアウト信号である。
ラインXTIMEEN上の論理高の信号は、8ビット2対1
マルチプレクサMUX21X8(第21図及び第24図)を通し
て、予め決められた値を8ビットラッチLATCH8B(第21
図及び第23図)へ送り、かつプログラマブルカウンタSD
CL8R(第21図及び第22図)のラインLDP上の信号を発生
させるので、第1の予め決められた値がプログラマブル
カウンタSDCL8Rにロードされる。第1の予め決められた
タイムアウト期間、即ちホスト割り込みタイムアウト期
間は、レジスタHINTTIME内の値の32倍の値に等しく、か
つバッファクロックのためにクロックのタイミングをと
る。これは、読み出しオートメーション過程のステップ
406を完了する。
ステップ405に戻ると、ホスト計算機210は、FIFO回路
340内のデータの読み出しを開始するか、またはディス
クドライブ220の状態の読み出しを開始する。ステップ4
06に達するために、ホスト計算機210は状態を読み出
す。そして、ステップ406の後に、2つの事柄が可能で
ある。タイマ310がタイムアウトするか、またはホスト
計算機がFIFO回路340内のデータの読み出しを開始す
る。
もしホスト計算機210が、FIFO回路340内のデータの読
み出しに失敗したならば、ホスト割り込みタイムアウト
タイマとして機能するタイマ310は、タイムアウトし、
続いて自動シーケンサ回路750のラインXTIMEOUTに連結
されている出力ラインXTIMEOUTP上の信号を発生させ
る。ラインXTIMEOUT上の論理高の信号は、NANDゲートU5
(第20図)の出力信号を論理低に駆動する。NANDゲート
U5からの論理低の信号は、アクティブローである、出力
ラインSETXFRIRQ−(第7A図及び第20図)を駆動する。
ラインSETXFRIRQ−上の論理低の信号は、ホスト計算機
割り込み発生回路745(第7B図及び第19図)への入力信
号である。
ラインSETXFRIRQ−上の論理低の信号は、フリップフ
ロップU23(第19B図)をセットする。フリップフロップ
U23は、論理高の信号をORゲート1902及びNORゲートU17
に供給する。ORゲート1902への論理高の信号は、ライン
XFRIRQ上の信号を論理高に駆動する。NORゲートU17への
論理高の信号は、エクスクルーシブORゲート1901への論
理低の信号を発生し、エクスクルーシブORゲート1901は
ラインHINT上に論理高の信号を発生する。結果的に、も
う1つの割り込み信号がホスト計算機210へ送られる。
しかしながら、これらの動作は、ハードウェア自動読み
出しシーケンス400のステップ404での動作である。した
がって、自動シーケンサ750とタイマ310はステップ406
及び407を実行し、ステップ404へ戻り、ステップ404が
完了した後、ステップ405が再び開始される。
ステップ405またはステップ407の何れかで、ホスト計
算機210は、FIFO回路340からのデータの読み出しを開始
しても良い。どちらの場合でも、自動読み出しシーケン
サ250の動作は等しいので、2つのステップを別々に説
明することはしない。ただ、ステップ407の違いを簡単
に指摘する。
ホスト計算機210がFIFO回路340からの読み出しを開始
したとき、ホスト計算機210は、ラインATFRDL(第25
図)上の信号を論理高レベルから論理低レベルへ駆動
し、そして論理高レベルへ戻す信号を発生する。ライン
ATFRDL上の信号の立ち上がりエッジは、フリップフロッ
プ2501(第25図)をクロックする。1つのクロックがラ
インBCLKCを通過した後、正のパルスが出力ラインHRDDA
TAP上に発生させられる。
ラインHRDDATAP上のパルスは、データのセクタが転送
されるまで自動シーケンサ750をウェイトモードに置
く、自動シーケンサ750(第7A図及び第20図)への入力
信号である。しかしながら、自動シーケンサ回路750の
状態は、読み出しがステップ405から開始されたかまた
はステップ407から開始されたかによって異なる。ステ
ップ405から開始された場合、ラインHRDDATAP上の論理
高の信号が、NANDゲートU7からの出力信号を論理低に駆
動する。NANDゲートU7からの論理低の信号は、ANDゲー
トU8の出力信号を論理低に駆動し、ANDゲートU8は、NAN
DゲートU10の出力信号を論理高に駆動する。ゲートU10
からの論理高の信号は、フリップフロップUD4を通して
クロックされる。フリップフロップUD4の端子NQ上の出
力信号は、フリップフロップUD1をリセットする。これ
は、自動シーケンサ750を動作のウェイトモードに置
く。
ステップ407からの場合、ラインHRDDATAP上の論理高
の信号は、NANDゲートU6からの出力信号を論理低に駆動
する。NANDゲートU6からの論理低の信号は、ANDゲートU
8の出力信号を論理低に駆動し、ANDゲートU8の出力信号
は、NANDゲートU10の出力信号を論理高に駆動する。ゲ
ートU10からの論理高の信号は、フリップフロップUD4を
通してクロックされる。フリップフロップUD4の端子NQ
上の出力信号は、フリップフロップUD1をリセットす
る。これは、自動シーケンサ750を動作のウェイトモー
ドに置く。
FIFO回路340を通して、RAM222内のデータのセクタの
転送が完了し、回路340内のFIFOメモリが空になったと
き、FIFO回路340は、ラインEMPTYDONE上の信号を論理高
に駆動する。また、FIFO回路340にデータが存在しない
とき、ラインDRQ上の信号は論理低になる。結果とし
て、ラインBUSY上の信号が論理高になる。ラインBUSY上
の信号が論理高になったとき、ラインATBUSYLAT上の信
号もまた論理高になる(第19B図)。同様に、ラインEMP
TYDONE上の信号は論理高になったとき、ラインEMPTYDON
EX上の信号もまた論理高になる。ラインENHINTRSTL上の
信号は、ホスト計算機割り込みの自動的なクリアを許可
するために論理低にセットされている。ラインENHINDRS
TL上の信号の反転された信号は論理高である。したがっ
て、NANDゲートU32の出力信号は論理低に駆動される。
NANDゲートU32からの論理低の出力信号は、NANDゲー
トU33からの出力信号を論理高に駆動し、NANDゲートU33
からの出力信号は、インバータU29からの出力信号を論
理低に駆動する。インバータU29からの論理低の出力信
号は、ANDゲートU30の出力信号を論理低に駆動し、AND
ゲートU30の出力信号は、フリップフロップU23をリセッ
トする。もしホスト計算機割り込み信号が、ディスクド
ライブの状態を読み出したホスト計算機210によって予
めリセットされていなければ、フリップフロップU23の
リセットによって、ホスト計算機割り込みがリセットさ
れる。
FIFO回路340が空で、かつセクタの転送が完了したと
き、ステップ408は完了する。もし最後のセクタが転送
されていなければ、動作はステップ409を通って遷移
し、自動シーケンサ750(第7A図)へのラインEMPTYDONE
上の論理高の信号が、ステップ410を開始するラインAUT
O3上の信号を論理高に駆動する。
とりわけ、ラインEMPTYDONE上の論理高の信号が反転
され、かつNANDゲートU9(第20図)に印加される。即
ち、NANDゲートU9の出力が論理高に駆動される。ANDゲ
ートU8の出力信号もまた論理高である。従って、NANDゲ
ートU10の出力信号が論理低に駆動される。フリップフ
ロップUD4への論理低の入力信号が、フリップフロップU
D4でクロックされるとき、端子NQ上の信号は論理高にな
る。端子NQからの信号の立ち上がりエッジは、フリップ
フロップUD5をクロックするので、以下により詳しく説
明するように、出力ラインAUTO3は、論理高に駆動さ
れ、ステップ410をスタートする。
しかし、もし最後のセクタが転送されたならば、セク
タカウンタ330からのラインCNTEQ0上の信号は論理高で
あり、ステップ409は動作を終了する。とりわけ、ライ
ンCNTEQ0上の信号は、自動シーケンサ750のラインLASTS
ECTを駆動する。ラインLASTSECT上の論理高の信号は、
フリップフロップUD5(第20図)をリセットモードに保
持し、従ってラインEMPTYDONE上の信号を無効にする。
結果として、ラインAUTO3上の信号は論理低に留まり、
動作は終了する。
入力ラインAUTO3の論理高の信号に応答して、ビジー
タイマ制御回路760(第7A図)は、出力ラインENYIMER上
に論理高の信号を発生する。しかし、もし最後のセクタ
が処理され、従ってセクタカウンタ330からビジータイ
マ制御回路760のラインLASTSECTまでのラインCNTEQ0上
の信号が論理高であるならば、ラインENYTIMER上の信号
が論理低に保たれる。
ビジータイマ制御回路760のある実施例のより詳細な
模式図が、第26図に表されている。自動シーケンサ回路
750からのラインAUTO3上の信号は、チェックイネーブル
信号である。ラインRDOP、LASTSECT、AUTO3、WOP、SECC
NTDECPD、RST−、ATCMDWRL、及びBCLKC上の信号は、上
述された信号と等しい。ラインRESTARTEN−上の信号は
アクティブローであり、かつ以下により詳しく説明され
る書き込みオートメーションシーケンス内で用いられる
リスタートイネーブル信号である。ラインYTIMEOUT−上
の信号もまたアクティブローであり、かつタイマ310か
らのラッチされたビジータイムアウト信号である。出力
ラインENYTIMERは、タイマ310のビジータイマ機能を可
能にするための信号を伝える。出力ラインCLEARAUTO3−
上の信号はアクティブローであり、ラインAUTO3上の信
号をクリアする自動シーケンス回路750への信号であ
る。
第26図では、ラインRDOP上の信号は論理高であり、そ
のためラインAUTO3上の論理高の信号は、NANDゲート260
1の出力信号を論理低に駆動し、NANDゲート2601の出力
信号は、ANDゲート2602の出力信号を論理低に駆動す
る。ANDゲートからの論理低の出力信号は、NANDゲート2
603の出力信号を論理高に駆動する。論理高の信号は、
ラインBCLKCを通過する次のクロックによってフリップ
フロップ2604を通してクロックされる。フリップフロッ
プ2604からの論理高の信号は、出力ラインENYTIMER上の
信号を論理高に駆動する。
ビジータイマ制御回路760のラインENYTIMER上の論理
高の信号は、タイマ310のラインYTIMEENを駆動する。タ
イマ310のラインYTIMEEN上の論理高の信号は、回路LATC
H8A(第21図及び第23図)にラッチされた第2の予め決
められた値を、2対1マルチプレクサMUX21X8(第21図
及び第24図)を通してプログラマブルカウンタSDCL8R
(第21図及び第22図)に送り、かつプログラマブルカウ
ンタSDCL8R(第21図及び第22図)のラインLDP上に信号
を発生させるので、第2の予め決められた値は、プログ
ラマブルカウンタSDCL8Rにロードされる。
ラインの予め決められた時間間隔は、レジスタBUSYTI
MEに記憶された値、即ち第2の予め決められた値の32倍
であり、バッファクロックのための通過するクロックの
タイミングをとる。第2の予め決められた時間間隔は、
データのあるセクタの転送の完了と、データのもう1つ
のセクタの転送の開始との間の時間間隔である。
ビジータイム間隔の後、カウンタ310は、ラインYTIME
OUTP上にパルスを発生し、ラインYTIMEOUT上にラッチさ
れた論理高の信号を発生させる。即ち、ステップ410が
完了する。ラインYTIMEOUT上の論理高の信号は、ライン
YTIMEOUT−(第26図)の信号を論理低に駆動する。
バッファ制御回路233がデータの他のセクタを有する
とき、論理低の信号が、制御回路770を更新するため
に、ラインBNRDYFH上に発生される。この信号は、ライ
ンYTIMEOUT、ENMULXFR上の論理高の信号と協働して、セ
クタ数カウンタ710、シリンダアドレスカウンタ730、及
びヘッド数カウンタ720への、更新制御回路770の出力ラ
インUPDATE上に1クロックパルスの幅を有するパルスを
発生する。
更新制御回路770のある実施例の詳細な模式図が、第2
7図に表されている。入力ラインBNRDYFH上の信号は、RA
Mバッファ222が作動可能でないときに論理高である。入
力ラインENMULXFRは、自動複数セクタ転送が望まれると
きに論理高である。入力ラインYTIMEOUTは、タイマ310
からのラッチされたビジータイムアウト出力信号を伝え
る。ラインPCDONEは、複数のセクタの転送が行われたと
き、論理高の信号を伝える。ラインPCDONE上の信号は、
ラインXFRDONE上の信号と等しい。ラインRESTARTEM−
は、アクティブローであり、既に説明されている。ライ
ンHXFRENは、バッファされたホストポートイネーブル信
号を伝える。出力ラインUPDATEは、既に説明されたよう
にタスクレジスタファイルを更新するために用いられる
パルスを伝える。
回路770からのラインUPDATE上のパルスの発生の後
に、次のクロックパルスによって、これらのタスクレジ
スタは、更新、即ちそれらの値が1だけ増加される。RA
M222内にデータの他のセクタが保持されているので、本
発明の自動化ハードウェアは、いままで説明されたプロ
セスを繰り返すことによって、データの次のセクタの読
み出しを開始する。
本発明の自動書き込み過程のための初期化過程は、既
に説明されており、その説明はここで言及したことによ
って本出願の一部とされたい。簡単に言えば、電源投入
時のリセット時に、自動書き込みセクタカウンタ790
が、FFhにセットされる。マイクロプロセッサ221は、複
数のセクタの各々のために、RAM222の512バイトのメモ
リを割り当てる。そしてマイクロプロセッサ221は、ラ
インLWR5CL上の論理低の信号を提供することによって、
メモリが自動書き込みセクタカウンタ790(第7B図)に
割り当てられている、セクタの個数をロードする。とり
わけ、セクタの個数は8ビットラッチAWSCNT(第28図)
にラッチされる。ホスト計算機210は、これまで説明さ
れたように、セクタ数カウンタ710、ヘッド数カウンタ7
20、及びシリンダ数カウンタ730を初期化する。同様
に、セクタカウンタ330もまた、ホスト計算機210からデ
ィスクドライブ220へ書き込まれるべきセクタの個数を
ロードされる。
計算機210による書き込みセクタ命令の発生に応答し
て、計算機バスインタフェース回路234は、バッファ制
御回路233へのラインAUTOWRGO上のパルスを発生する。
ラインAUTOWRGO上のパルスは、ラッチAWSCNT内の値を、
プログラマブルカウンタSDCL8S(第28図及び第29図)へ
ロードする。
ラインAUTOWRGO上に信号に応答して、バッファ制御回
路233は、ラインHPEN及びラインHPWRT上の信号を論理高
にセットする。ラインWOP上の信号は、ラインHPWRT上の
信号のバッファされた信号なので、ラインHPWRT上の信
号は、ラインWOP上の信号を論理高に駆動する。これ
は、ハードウェア自動書き込み過程500のスタートステ
ップ501である。
ハードウェア自動書き込み過程500に於て、信号DRQは
状態信号であって、かつ(1)ホストポートイネーブル
ラインHPEN上の信号が論理高であり、かつ(2)FIFO回
路340のFIFOメモリ内に空間が存在するとき、論理高に
セットされる。既に説明されたように、信号BUSYは、信
号DRQの補数なので、信号DRQがセットされたとき、信号
BUSYはリセットされる。信号DRQのセットと、信号BUSY
のリセットは、ハードウェア自動書き込み過程500のス
テップ502を完了する。
始めのセクタチェックステップ503とホスト計算機割
り込みセットステップ504とは、ホスト計算機割り込み
発生回路745(第7B図、第19A図、及び第19B図)によっ
て実行される。始めに、NANDゲートU5(第19A図)の3
つの入力端子のうちの任意の1つに論理低の信号が存在
するときはいつも、ANDゲートU15の入力端子に、アクテ
ィブローのパルスが提供され、ANDゲートU15がフリップ
フロップU23(第19B図)をクロックするので、フリップ
フロップU23への入力ラインENHINT上の信号がフリップ
フロップを通してクロックされ、そして既に説明された
ように出力ラインHINT上に論理高の信号を発生する。
ハードウェア自動書き込み動作500の間、ホスト計算
機割り込み発生回路745へのラインBTRNS及びラインRWST
ART上の信号は、ホスト計算機割り込みがラインHINT上
に発生させられるかどうかを決定するキー信号である。
書き込み動作に於て、データの最初のセクタの転送のた
めに、ホストポートイネーブルラインHPEN上の信号は、
ラインBTRNS上の信号を論理高に駆動する。しかしなが
ら、データの次のセクタの転送のために、ラインHPEN上
の信号は変化せず、そのためラインBTRNS上の信号に影
響を与えない。
第2の及びそれに続くセクタの転送のために、ライン
BTRNS上の信号は、ラインRWSTART上のパルスによって論
理高に駆動される。従って、計算機210からバッファメ
モリ222へのデータの第2の自動的な転送のために、ラ
インRWSTART上の信号が論理高になったとき、ラインBTR
NS上の信号は最初に論理低である。以下により詳しく説
明されるように、ラインRWSTART上の信号レベルに対す
る、ラインBTRNS上の信号のレベルは、ホスト計算機割
り込み信号が発生させられるかどうかを決定する。即
ち、ハードウェア回路は、ホスト計算機からの単一の書
き込み命令に応答して、ディスクドライブ220に書き込
まれる、データの第1のセクタと、データの引き続くセ
クタとを弁別する。
上述されたように、ハードウェア自動読み出し動作40
0に於て、NANDゲートU1及びU2からなるラッチからの出
力信号は普段は論理高である。しかし、ハードウェア自
動書き込みシーケンス500の開始時には、ラインSETAUTO
L上の信号が、ホスト計算機210からの書き込み命令に応
答してリセットされるとき、そのラッチの出力信号は論
理低に駆動される。この論理低の信号は、フリップフロ
ップU4内で、ラインHXFREN上の信号によってクロックさ
れる。フリップフロップU4の端子のN9からの結果として
の論理高の信号は、NANDゲートU5への最初の論理高の信
号である。既に説明されたように、最初のセクタの転送
時に、ラインRWSTART上の信号は、ラインBTRNS上の信号
が論理高になった後に論理高になる。従って、ラインRW
START上の信号の立ち上がりエッジは、ラインBTRNS上の
論理高の信号をフリップフロップU3を通してクロックす
るので、NANDゲートU5の第2の端子は論理高の入力信号
を得る。最後に、ハードウェア自動書き込み過程500に
於て、ラインAUTORDST上の信号は論理低に留まるので、
NANDゲートU5の3番目の入力端子は常に論理高に留ま
る。
NANDゲートU5への全ての入力信号が論理高なので、そ
の出力信号は論理低である。その論理低の信号は、ライ
ンBCLKを通過する2つのクロックパルスによってフリッ
プフロップU6及びU7を通してクロックされる。フリップ
フロップU7からの論理低の出力信号は、NANDゲートU13
の出力信号を論理高に駆動するので、ANDゲートU15及び
U14からの出力信号は論理高に留まる。結果として、ホ
スト計算機割り込みは、データの最初のセクタの転送に
先だって発生されることはない。書き込み動作に於て、
NANDゲートU12及びU12Aからの出力信号は論理高である
ことに注意するべきである。
第2のセクタ及びそれに続くセクタの転送中に、ライ
ンRWSTART上の信号は、BTRNS上の信号が論理高に駆動さ
れる前に論理高になる。従って、論理低の信号はフリッ
プフロップU3を通してクロックされ、かつNANDゲートU5
に提供される。この論理低の信号はNANDゲートU5の出力
信号を論理高に駆動する。その論理高の信号は、ライン
BCLKを通過する2個のクロックパルスによってフリップ
フロップU6及びU7を通してクロックされる。
フリップフロップU7からの論理高の出力信号は、NAND
ゲートU13の出力信号を論理低に駆動し、NANDゲートU13
の論理低の出力信号は、ANDゲートU14及びU15の出力信
号を論理低に駆動する。ANDゲートU14からの論理低の出
力信号は、フリップフロップU4をリセットし、かつフリ
ップフロップU3をセットする。
従って、NANDゲートU5は、その全ての入力信号が論理
高であるので、その出力信号は論理低になる。その論理
低の出力信号は、フリップフロップU6及びU7を通してク
ロックされ、かつNANDゲートU13の出力信号を論理高に
駆動するので、ANDゲートU14及びU15からの出力信号は
論理高になる。ANDゲートU15からの出力信号の立ち上が
りエッジは、フリップフロップU23をクロックし、フリ
ップフロップU23は、データの第2のセクタの転送に先
立って、かつ後続の各セクタの転送に先立って、ホスト
計算機割り込み信号を発生する。ホスト計算機への割り
込み信号は、ディスクドライブ220がデータの次のセク
タを受け付ける準備ができていることを表示する。
即ち、第1のセクタに対しては、ステップ503のみが
実行され、動作はステップ505を通って遷移する。第2
のセクタ及び後続のセクタに対しては、動作は、第1セ
クタチェックステップ503を通してホスト割り込みセッ
トステップ504へ遷移し、そして次にセクタ転送完了ス
テップ505に遷移する。より重要なことは、ハードウェ
アが、これら全てのプロセスステップを、マイクロプロ
セッサ221による介入なしに制御するということであ
る。
ホスト計算機割り込みの発生の後に、データは、デー
タバス215からFIFO回路340を通してRAM222へ転送され
る。セクタの転送が完了したとき、ラインEMPTYDONE上
の信号は論理高になる。
既に述べたように、セクタカウント減少回路740(第7
B図)へのラインWOP及びラインENMULXFR上の信号は全て
論理高であり、従って、セクタカウンタ330のラインUPD
ATAへのラインSECCNTDECP上のラインに減少パルスが発
生させられる。結果として、セクタカウンタ330は1減
少される。セクタカウント減少回路740から自動書き込
みセクタカウント減少回路780へのラインSECCNTDECP上
のパルスは、自動書き込みセクタカウント減少回路780
へのラインWOP上の論理高の信号と協働して、自動書き
込みセクタカウンタ790へのラインAWSCTRDEC上にパルス
を発生する。これは、ステップ506の第1の部分を完了
する。
自動書き込みセクタカウント減少回路780は、第30図
により詳細に描かれている。入力ラインWOP、SECCNTDEC
P、UPDATE、BCLKC、ATCMDWRL、及びATMRSTLは、既に説
明されている。入力ラインAWSCTREQ0は、自動書き込み
セクタカウンタイコール0ラインであり、自動書き込み
セクタカウンタが値0を有するとき論理高になる。出力
信号AWSCTRDECは、自動書き込みセクタカウンタを減少
することに用いられるパルスを伝える。
ラインAWSCTRDEC上のパルスの発生の後に、自動書き
込みセクタカウンタ790(第7B図)へのラインBCLK上の
次のクロックパルスによって、カウンタ790は、減少す
る。即ち、ステップ506が完了する。自動書き込みセク
タカウンタ790は、第28図に更に詳細に示されている。
入力ラインDは、8ビットマイクロプロセッサデータバ
スである。ラインRST、BCLK、AWSCTRDEC、及びAUTORDGO
上の信号は既に説明されている。8ビットバス出力ライ
ンAWSCTRは、自動書き込みセクタカウンタ出力信号を含
む。自動書き込みセクタカウンタの値が0に等しいと
き、出力ラインAWSCTREQ0は、論理高の信号を有する。
第29図は、第28図の要素SDCL8Sのより詳細な模式図であ
る。
もし自動書き込みセクタカウンタ790が値0に到達し
たならば、自動書き込みセクタカウンタ790からのライ
ンAWSCTREQ0上の信号は論理高である。ラインAWSCTREQ0
上の論理高の信号は、自動書き込みセクタカウント減少
回路780の入力信号であり、その信号は、自動書き込み
セクタカウント減少回路780からのラインAWSCTRDEC上の
信号を論理低に保ち、かつラインRESTARTEN−上の信号
を論理高に駆動し、そのラインRESTARTEN−上の論理高
の信号は、自動読み出しシーケンスを終了する。従っ
て、自動書き込み過程のステップ507は、完了する。
残りのステップは、既に説明されたステップと等し
く、その説明内容はここで言及したことによって本出願
の一部とされたい。
これまで説明された、本発明の自動読み出し及び書き
込みシーケンサは、単一の命令に応答してデータの複数
のセクタを転送するためにマイクロプロセッサからの介
入を必要としない。従って、そのような複数のセクタの
転送を行うために、従来技術の装置で必要とされたプロ
グラム命令を取り除くことができる。更に、マイクロプ
ロセッサが複数のセクタの転送を行う必要がないため、
転送が、本発明のシーケンサによって実行されている間
に、マイクロプロセッサは他の動作を実行することがで
きる。こうして、自動読み出し及び書き込みシーケンサ
は、ディスクドライブの性能を非常に向上させる。
本発明の1つの実施例がこれまで説明されてきた。こ
の開示内容の観点から、本発明の他の実施例が、当業者
にとっては明かであろう。従って、これまでの説明は、
本発明の原理の単なる例示であって、本発明をこれまで
説明された特定の実施例に限定することを意図するもの
ではない。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−157361(JP,A) 特開 平4−184525(JP,A) 特開 昭64−13651(JP,A) 特開 昭60−73033(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 301 G06F 13/10 340

Claims (41)

    (57)【特許請求の範囲】
  1. 【請求項1】ディスクドライブ用マイクロプロセッサと
    連結可能なディスクドライブ記憶制御用集積回路内の回
    路であって、 ホスト計算機からの読み出し命令に応答して、前記ホス
    ト計算機へデータの複数のセクタを転送するために、前
    記ホスト計算機の計算機バスに機能的に連結可能であっ
    て、かつ前記ディスクドライブ用マイクロプロセッサに
    よる介入なしに、データの各セクタの転送の開始時に、
    ホスト計算機割り込み信号を発生する自動読み出しシー
    ケンサと、 前記ホスト計算機からの書き込み命令に応答して、前記
    ホスト計算機からデータの複数のセクタを受け付けるた
    めに、前記ホスト計算機の前記計算機バスに機能的に連
    結可能であって、かつ前記ディスクドライブ用マイクロ
    プロセッサの介入なしに、データの2番目のセクタの転
    送の開始時と、後続の各セクタの転送の開始時とに、ホ
    スト計算機割り込み信号を発生する自動書き込みシーケ
    ンサとを有することを特徴とする回路。
  2. 【請求項2】前記自動読み出しシーケンサが更に、 使用可能にされてから、予め決められた時間間隔の後
    に、タイムアウト信号を発生するためのタイマ手段を有
    し、 前記読み出し命令が発生した後に、前記ホスト計算機
    が、前記自動読み出しシーケンサを含む前記ディスクド
    ライブの状態を読み出したときに、前記自動読み出しシ
    ーケンサが、前記タイマ手段を使用可能にすることを特
    徴とする請求項1に記載の回路。
  3. 【請求項3】前記自動読み出しシーケンサが更に、 前記ホスト計算機に機能的に連結可能であって、かつ前
    記ホスト計算機割り込み信号をリセットするためのハー
    ドウェア手段を有し、 前記ホスト計算機が、前記ディスクドライブの状態を読
    み込むときに、前記リセットするためのハードウェア手
    段が、前記ディスクドライブ用マイクロプロセッサによ
    る介入なしに、前記ホスト計算機割り込み信号をリセッ
    トすることを特徴とする請求項2に記載の回路。
  4. 【請求項4】前記ハードウェア手段が更に、 前記タイマ手段に機能的に連結されていて、かつ前記タ
    イマ手段を使用可能にするイネーブル信号を発生するた
    めの手段を有することを特徴とする請求項3に記載の回
    路。
  5. 【請求項5】前記ハードウェア手段が更に、 前記タイマ手段に機能的に連結されていて、かつ前記デ
    ィスクドライブ用マイクロプロセッサの介入なしに、前
    記ホスト計算機割り込み信号をセットするための手段を
    有し、 前記タイマ手段からの前記タイムアウト信号を受け付け
    たときに、前記セットするための手段が、前記ホスト計
    算機割り込み信号をセットし、それによって、ディスク
    ドライブ−ホスト計算機システムの性能が改良されるこ
    とを特徴とする請求項3に記載の回路。
  6. 【請求項6】前記タイマ手段が更に、 少なくとも1つの入力ラインと1つの出力ラインとを備
    えたプログラム可能なカウンタ手段を有することを特徴
    とする請求項2に記載の回路。
  7. 【請求項7】前記タイマ手段が更に、 前記プログラム可能なカウンタ手段の少なくとも1つの
    入力ラインに機能的に連結されたラッチを有し、 前記自動読み出しシーケンサの初期化の時に、予め決め
    られた値が前記ラッチ内にラッチされ、 前記タイマ手段が使用可能にされるとき、前記ラッチさ
    れた値が、前記プログラム可能なカウンタ手段にロード
    されることを特徴とする請求項6に記載の回路。
  8. 【請求項8】前記自動書き込みシーケンサが更に、 前記ホスト計算機に機能的に連結可能であって、かつ前
    記ディスクドライブ記憶制御回路に書き込まれるデータ
    の1番目のセクタと、前記ディスクドライブマイクロプ
    ロセッサによる介入なしに、前記ホスト計算機からの前
    記書き込み命令に応答して、前記ディスクドライブ記憶
    制御回路に書き込まれる後続のセクタとを弁別するため
    のハードウェア手段を有することを特徴とする請求項1
    に記載の回路。
  9. 【請求項9】前記ハードウェア手段が更に、 前記セクタ弁別手段に機能的に連結されていて、かつ前
    記ホスト計算機に機能的に連結可能であって、かつ前記
    ホスト計算機割り込み信号を発生するための手段を有
    し、 前記ディスクドライブ用マイクロプロセッサによる介入
    なしに転送される、前記第2のセクタ及び各接続のセク
    タの転送の前に、前記ホスト計算機割り込み信号が、発
    生させられることを特徴とする請求項8に記載の回路。
  10. 【請求項10】タスクファイルレジスタを更に有し、 前記ディスクドライブマイクロプロセッサによる介入な
    しに、データの各セクタが転送された後に、前記自動読
    み出しシーケンサ及び自動書き込みシーケンサのうちの
    1つが、前記タスクファイルレジスタを更新することを
    特徴とする請求項1に記載の回路。
  11. 【請求項11】前記タスクファイルレジスタが、セクタ
    数レジスタを含むことを特徴とする請求項10に記載の回
    路。
  12. 【請求項12】前記セクタ数レジスタがカウンタを有す
    ることを特徴とする請求項11に記載の回路。
  13. 【請求項13】前記タスクファイルレジスタがヘッド数
    レジスタを含むことを特徴とする請求項10に記載の回
    路。
  14. 【請求項14】前記ヘッド数レジスタがカウンタを有す
    ることを特徴とする請求項13に記載の回路。
  15. 【請求項15】前記タスクファイルレジスタがシリンダ
    数レジスタを含むことを特徴とする請求項10に記載の回
    路。
  16. 【請求項16】前記シリンダ数レジスタがカウンタを有
    することを特徴とする請求項15に記載の回路。
  17. 【請求項17】前記タスクファイルレジスタが、転送さ
    れるべきセクタの個数のレジスタを含むことを特徴とす
    る請求項10に記載の回路。
  18. 【請求項18】転送されるべきセクタの個数の前記レジ
    スタがカウンタを有することを特徴とする請求項17に記
    載の回路。
  19. 【請求項19】前記タイマ手段が使用可能にされてから
    予め決められた時間間隔の後に、タイムアウト信号を発
    生するためのタイマ手段を更に有し、 前記自動読み出しシーケンサと自動書き込みシーケンサ
    のうちの1つが、前記タイマ手段を使用可能にすること
    を特徴とする請求項1に記載の回路。
  20. 【請求項20】前記タイマ手段が更に、 少なくとも1つの入力ラインと1つの出力ラインとを備
    えたプログラム可能なカウンタ手段を有することを特徴
    とする請求項19に記載の回路。
  21. 【請求項21】前記タイマ手段が更に、 前記プログラム可能なカウンタ手段の少なくとも1つの
    入力ラインに機能的に連結された第1ラッチを有し、 前記回路の初期化の時に、第1の予め決められた値が前
    記第1ラッチ内にラッチされ、 第1のイネーブル信号を受け付けたとき、前記ラッチさ
    れた値が前記プログラム可能なカウンタ手段にロードさ
    れることを特徴とする請求項20に記載の回路。
  22. 【請求項22】前記タイマ手段が更に、 前記プログラム可能なカウンタ手段の少なくとも1つの
    入力ラインに機能的に連結された第2ラッチを有し、 前記回路の初期化の時に、第2の予め決められた値が前
    記第2ラッチ内にラッチされ、 前記第1のイネーブル信号とは異なる第2のイネーブル
    信号を受け付けたとき、前記ラッチされた値が前記プロ
    グラム可能なカウンタにロードされることを特徴とする
    請求項21に記載の回路。
  23. 【請求項23】読み出し命令の発生の後に、前記ホスト
    計算機がディスクドライブの状態を読み込むことに応答
    してリセットされたときに、前記ホスト計算機割り込み
    信号が、前記自動読込みシーケンサが前記第1のイネー
    ブル信号を発生することを特徴とする請求項21に記載の
    回路。
  24. 【請求項24】データのセクタの転送が完了し、かつ転
    送されるべき更なるセクタが残っているとき、前記自動
    読み出しシーケンサ及び前記自動書き込みシーケンサの
    うちの1つが、前記第2のイネーブル信号を発生するこ
    とを特徴とする請求項21に記載の回路。
  25. 【請求項25】ディスクドライブに備えられ、かつ該デ
    ィスクドライブと、ホスト計算機のバスとの間で、デー
    タの複数のセクタを自動的に転送するための、自動読み
    出しシーケンサ回路であって、 前記ディスクドライブがマイクロプロセッサによって制
    御され、 前記自動読み出しシーケンサ回路が、 ホスト計算機と機能的に連結可能であって、かつホスト
    計算機割り込み信号をリセットするための、第1ハード
    ウェア手段と、 前記第1ハードウェア手段と機能的に連結された、プロ
    グラム可能なタイマ手段と、 前記プログラム可能なタイマ手段に機能的に連結されて
    いて、かつ前記ディスクドライブ用マイクロプロセッサ
    の介入なしに前記割り込み信号をセットするための、第
    2ハードウェア手段とを有し、 読み出し命令の発生の後に、ホスト計算機がディスクド
    ライブの状態を読み出したとき、前記第1ハードウェア
    手段が、前記ディスクドライブ用マイクロプロセッサに
    よる介入なしに、前記ホスト計算機割り込み信号をリセ
    ットし、 前記第1ハードウェア手段が前記ホスト計算機割り込み
    信号をリセットしたとき、前記プログラム可能なタイマ
    手段がスタートされ、かつ予め決められた時間間隔の後
    にタイムアウト信号を発生し、 前記プログラム可能なタイマ手段からの前記タイムアウ
    ト信号を受け付けたとき、前記第2ハードウェア手段が
    前記割り込み信号をセットすることを特徴とする自動読
    み出しシーケンサ回路。
  26. 【請求項26】ディスクドライブ用マイクロプロセッサ
    と連結可能な、ディスクドライブ制御用集積回路内の自
    動読み出しシーケンサ回路であって、 第1の状態と第2の状態とを有する信号に応答するタイ
    マ手段と、 前記タイマ手段に機能的に連結されていて、かつ計算機
    割り込み信号をセットするための、ハードウェア割り込
    み発生手段とを有し、 前記信号が状態を変化させたとき、前記タイマ手段がス
    タートされ、かつ予め決められた時間間隔の後にタイム
    アウト信号を発生し、 前記プログラム可能なタイマ手段からの前記タイムアウ
    ト信号を受け付けたとき、前記ハードウェア割り込み発
    生手段が、ディスクドライブ用マイクロプロセッサによ
    る介入なしに、前記計算機割り込み信号をセットし、そ
    れによって、データの他のセクタが、前記割り込み信号
    を受け付けた前記計算機によって読み出される準備が整
    っていることを表示することを特徴とする自動読み出し
    シーケンサ回路。
  27. 【請求項27】ディスクドライブ用マイクロプロセッサ
    に連結可能なディスクドライブ記憶制御集積回路内の、
    自動書き込みシーケンサ回路であって、 ホスト計算機に機能的に連結可能であって、かつ前記デ
    ィスクドライブ用マイクロプロセッサによる介入なし
    に、ホスト計算機からの書き込み命令に応答して、前記
    ディスクドライブ記憶制御回路へ書き込まれるデータの
    1番目のセクタと、前記ディスクドライブ記憶制御回路
    へ書き込まれる後続のセクタとを弁別するための、第1
    ハードウェア手段と、 前記第1ハードウェア手段に機能的に連結されていて、
    かつ前記ホスト計算機に機能的に連結可能であって、か
    つホスト計算機割り込み信号を発生するための、第2ハ
    ードウェア手段とを有し、 前記ホスト計算機割り込み信号が、前記2番目のセクタ
    と、前記ディスクドライブ用マイクロプロセッサによる
    介入なしに転送される各後続のセクタとの転送に先立っ
    て発生させられることを特徴とする自動書き込みシーケ
    ンサ回路。
  28. 【請求項28】ディスクドライブ用マイクロプロセッサ
    に連結可能なディスクドライブ記憶制御集積回路内の、
    二重機能タイマであって、 少なくとも1本の入力ラインと1本の出力ラインとを備
    えたプログラム可能なカウンタ手段と、 前記プログラム可能なカウンタ手段の少なくとも1本の
    入力ラインに機能的に連結された第1ラッチと、 前記プログラム可能なカウンタ手段の少なくとも1本の
    入力ラインに機能的に連結された第2ラッチとを有し、 前記タイマの初期化時に、第1の予め決められた値が、
    前記第1ラッチ内にラッチされ、第1イネーブル信号を
    受け付けたときに、前記ラッチされた値が、前記プログ
    ラム可能なカウンタ手段にロードされ、それによって、
    前記タイマが第1の機能を実行し、 前記タイマの初期化時に、第2の予め決められた値が、
    前記第2ラッチ内にラッチされ、第1イネーブル信号と
    は異なる第2イネーブル信号を受け付けたときに、前記
    ラッチされた値が、前記プログラム可能なカウンタ手段
    にロードされ、それによって、前記タイマが第2の機能
    を実行することを特徴とする二重機能タイマ。
  29. 【請求項29】ホスト計算機からの単一の読み出し命令
    に応答して、前記ホスト計算機と、マイクロプロセッサ
    によって制御された、ディスクドライブ内の記憶制御集
    積回路の計算機バスインタフェース回路との間で、デー
    タのセクタの個数を自動的に転送する方法であって、 a)ホスト計算機割り込み信号を発生する過程と、 b)前記ホスト計算機が、前記ディスクドライブの状態
    をチェックするか、またはデータのセクタを読み出すか
    を決定する過程と、 c)前記ホスト計算機が前記ディスクドライブの状態を
    チェックするときに、 ホスト計算機タイムアウトタイマをスタートさせる過程
    と、 d)前記ホスト計算機タイムアウトタイマが、タイムア
    ウトするときに、タイムアウト信号を発生する過程と、 e)前記ホスト計算機が前記データの読み出しを開始す
    るまでは、前記過程a)から前記過程d)を繰り返す過
    程とを有し、 前記各ステップが、前記マイクロプロセッサによる介入
    なしに、前記計算機バスインタフェース回路によって実
    行されることを特徴とする転送方法。
  30. 【請求項30】前記過程a)が実行される前に、転送さ
    れるべきセクタの前記個数を減少する過程を更に有し、 前記減少過程が、前記マイクロプロセッサの介入なし
    に、前記計算機バスインタフェース回路内のハードウェ
    アによって実行されることを特徴とする請求項29に記載
    の方法。
  31. 【請求項31】前記ホスト計算機がデータの読み出しを
    開始した後に、データの前記セクタの前記転送の完了を
    待機する過程を更に有し、 前記待機過程が、前記マイクロプロセッサの介入なし
    に、前記計算機バスインタフェース回路内のハードウェ
    アによって実行されることを特徴とする請求項30に記載
    の方法。
  32. 【請求項32】データの前記セクタの前記転送が完了し
    たとき、転送されるべき残りのセクタの前記個数をチェ
    ックする過程を更に有し、 もし、残りのセクタの個数が0ならば動作は終了し、 前記チェック過程が、前記マイクロプロセッサの介入な
    しに、前記計算機バスインタフェース回路内のハードウ
    ェアによって実行されることを特徴とする請求項31に記
    載の方法。
  33. 【請求項33】前記チェック過程が、転送されるべきデ
    ータのセクタが残っていることを決定したときに、予め
    決められた時間間隔の間、待機する過程を更に有し、 前記待機過程が、前記マイクロプロセッサの介入なし
    に、前記計算機バスインタフェース回路内のハードウェ
    アによって実行されることを特徴とする請求項32に記載
    の方法。
  34. 【請求項34】前記予め決められた時間間隔の後に、タ
    スクファイルレジスタを更新する過程を更に有し、 前記更新過程が、前記マイクロプロセッサの介入なし
    に、前記計算機バスインタフェース回路内のハードウェ
    アによって実行されることを特徴とする請求項33に記載
    の方法。
  35. 【請求項35】前記減少過程から始まる方法の各過程を
    繰り返す過程を有し、 前記繰り返し過程が、前記マイクロプロセッサの介入な
    しに、前記計算機バスインタフェース回路内のハードウ
    ェアによって実行されることを特徴とする請求項34に記
    載の方法。
  36. 【請求項36】ホスト計算機からの単一の読み出し命令
    に応答して、前記ホスト計算機と、マイクロプロセッサ
    によって制御された、ディスクドライブ内の記憶制御集
    積回路の計算機バスインタフェース回路との間で、デー
    タのセクタの個数を自動的に転送する方法であって、 a)データの1番目のセクタまたはデータの後続のセク
    タのどちらかが転送されるべきかを決定する過程と、 b)データの各セクタの前記転送の開始に先立って、ホ
    スト計算機割り込み信号を発生する過程とを有し、 前記各過程が、前記マイクロプロセッサの介入なしに、
    前記計算機バスインタフェース回路内のハードウェアに
    よって実行されることを特徴とする転送方法。
  37. 【請求項37】c)セクタの転送の前記完了の後に、転
    送されるべきセクタの前記個数を減少する過程を更に有
    し、 前記減少過程が、前記マイクロプロセッサの介入なし
    に、前記計算機バスインタフェース回路内のハードウェ
    アによって実行されることを特徴とする請求項36に記載
    の方法。
  38. 【請求項38】セクタの前記個数を減少したときに、転
    送されるべき残りのセクタの前記個数をチェックする過
    程を更に有し、 もしセクタの前記個数が0ならば、動作が終了し、 前記チェック過程が、前記マイクロプロセッサの介入な
    しに、前記計算機バスインタフェース回路内のハードウ
    ェアによって実行されることを特徴とする請求項37に記
    載の方法。
  39. 【請求項39】前記チェック過程が、転送されるべきデ
    ータのセクタが残っていることを決定したとき、予め決
    められた時間間隔の間、待機する過程を更に有し、 前記待機過程が、前記マイクロプロセッサの介入なし
    に、前記計算機バスインタフェース回路内のハードウェ
    アによって実行されることを特徴とする請求項38に記載
    の方法。
  40. 【請求項40】前記予め決められた時間間隔の後に、タ
    スクファイルレジスタを更新する過程を更に有し、 前記更新過程が、前記マイクロプロセッサの介入なし
    に、前記計算機バスインタフェース回路内のハードウェ
    アによって実行されることを特徴とする請求項39に記載
    の方法。
  41. 【請求項41】前記方法の前記各過程を繰り返す過程を
    有し、 前記繰り返された複数の過程が、前記マイクロプロセッ
    サの介入なしに、前記計算機バスインタフェース回路内
    のハードウェアによって実行されることを特徴とする請
    求項40に記載の方法。
JP50375593A 1991-08-07 1992-08-05 計算機バスとディスクドライブ間のデータの複数のセクタの自動読み出し及び自動書き込みインテリジェントハードウェア Expired - Fee Related JP3276147B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US74187291A 1991-08-07 1991-08-07
US741872 1991-08-07
PCT/US1992/006377 WO1993003438A1 (en) 1991-08-07 1992-08-05 Intelligent hardware for automatically reading and writing multiple sectors of data between a computer bus and a disk drive

Publications (2)

Publication Number Publication Date
JPH06502271A JPH06502271A (ja) 1994-03-10
JP3276147B2 true JP3276147B2 (ja) 2002-04-22

Family

ID=24982562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50375593A Expired - Fee Related JP3276147B2 (ja) 1991-08-07 1992-08-05 計算機バスとディスクドライブ間のデータの複数のセクタの自動読み出し及び自動書き込みインテリジェントハードウェア

Country Status (5)

Country Link
US (1) US5768617A (ja)
EP (1) EP0551494A4 (ja)
JP (1) JP3276147B2 (ja)
AU (1) AU2418492A (ja)
WO (1) WO1993003438A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5465343A (en) * 1993-04-30 1995-11-07 Quantum Corporation Shared memory array for data block and control program storage in disk drive
US5465338A (en) * 1993-08-24 1995-11-07 Conner Peripherals, Inc. Disk drive system interface architecture employing state machines
US5935220A (en) * 1996-08-09 1999-08-10 Motorola Inc. Apparatus and method for high speed data and command transfer over an interface
US6553476B1 (en) 1997-02-10 2003-04-22 Matsushita Electric Industrial Co., Ltd. Storage management based on predicted I/O execution times
US6282045B1 (en) * 1997-09-15 2001-08-28 Texas Instruments Incorporated Server hard disk drive integrated circuit and method of operation
US6141728A (en) * 1997-09-29 2000-10-31 Quantum Corporation Embedded cache manager
US6366980B1 (en) * 1999-06-04 2002-04-02 Seagate Technology Llc Disc drive for achieving improved audio and visual data transfer
US7457896B1 (en) * 1999-08-25 2008-11-25 Seagate Technology Llc Automated register data transfer to reduce processing burden on a processing device
JP2001101787A (ja) * 1999-09-27 2001-04-13 Internatl Business Mach Corp <Ibm> ディスクドライブ装置、ディスクドライブコントローラ、ディスク装置の制御方法
US6594780B1 (en) 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
US7054790B1 (en) * 2000-05-18 2006-05-30 Maxtor Corporation Method and apparatus for storage device performance measurement
US6691186B2 (en) * 2001-10-09 2004-02-10 Texas Instruments Incorporated Dual sequencer based disk formatter
US20030172229A1 (en) * 2002-03-08 2003-09-11 Takasugi Robin Alexis Systems and methods for detecting and compensating for runt block data transfers
EP1484667A1 (en) * 2003-06-05 2004-12-08 Deutsche Thomson-Brandt Gmbh Method for fast verification of sector addresses
EP1484669A1 (en) * 2003-06-05 2004-12-08 Thomson Licensing S.A. Method for fast verification of sector addresses
JPWO2005069152A1 (ja) * 2004-01-13 2007-12-27 セイコーインスツル株式会社 メモリインタフェース装置、メモリインタフェース方法、およびモデム装置
JP4153882B2 (ja) * 2004-02-17 2008-09-24 株式会社東芝 半導体集積回路装置
JP4794269B2 (ja) * 2004-11-08 2011-10-19 パナソニック株式会社 セキュアデバイスおよび中継端末
US20060112218A1 (en) * 2004-11-23 2006-05-25 Steven Bress Systems and methods for an improved computer long-term memory comparing device
WO2007147443A1 (en) * 2006-06-23 2007-12-27 Freescale Semiconductor, Inc. Interrupt response control apparatus and method therefor
US8037468B2 (en) * 2006-08-02 2011-10-11 Sandisk Il Ltd. Methods for synchronous code retrieval from an asynchronous source
US8230198B2 (en) * 2006-08-02 2012-07-24 Sandisk Il Ltd. System for synchronous code retrieval from an asynchronous source
KR102398201B1 (ko) * 2017-06-30 2022-05-17 삼성전자주식회사 프로세서의 개입 없이 단순 작업을 관리하는 스토리지 장치
US11386947B2 (en) * 2019-10-31 2022-07-12 SK Hynix Inc. Arithmetic devices conducting auto-load operation for writing the activation functions
US11915125B2 (en) 2019-10-31 2024-02-27 SK Hynix Inc. Arithmetic devices for neural network
US11676651B2 (en) * 2019-10-31 2023-06-13 SK Hynix Inc. Arithmetic devices conducting auto-load operation

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3646520A (en) * 1970-05-25 1972-02-29 Bell Telephone Labor Inc Adaptive reading circuit for a disk memory
US3673576A (en) * 1970-07-13 1972-06-27 Eg & G Inc Programmable computer-peripheral interface
US4200928A (en) * 1978-01-23 1980-04-29 Sperry Rand Corporation Method and apparatus for weighting the priority of access to variable length data blocks in a multiple-disk drive data storage system having an auxiliary processing device
US4357657A (en) * 1979-08-24 1982-11-02 Monolithic Systems, Corp. Floppy-disk interface controller
JPS5717049A (en) * 1980-07-04 1982-01-28 Hitachi Ltd Direct memory access controlling circuit and data processing system
US4414664A (en) * 1981-02-23 1983-11-08 Genrad, Inc. Wait circuitry for interfacing between field maintenance processor and device specific adaptor circuit
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
US4517641A (en) * 1982-04-30 1985-05-14 International Business Machines Corporation Lookahead I/O device control subsystem
US4513392A (en) * 1982-05-25 1985-04-23 Honeywell Information Systems Inc. Method and apparatus for generating a repetitive serial pattern using a recirculating shift register
US4612613A (en) * 1983-05-16 1986-09-16 Data General Corporation Digital data bus system for connecting a controller and disk drives
US4649474A (en) * 1983-09-23 1987-03-10 Western Digital Corporation Chip topography for a MOS disk memory controller circuit
JPS60106073A (ja) * 1983-11-14 1985-06-11 Toshiba Corp 記録再生装置
JPS60235269A (ja) * 1984-05-08 1985-11-21 Toshiba Corp デ−タ転送制御装置
US4843544A (en) * 1987-09-25 1989-06-27 Ncr Corporation Method and apparatus for controlling data transfers through multiple buffers
US4888691A (en) * 1988-03-09 1989-12-19 Prime Computer, Inc. Method for disk I/O transfer
US5150465A (en) * 1988-11-30 1992-09-22 Compaq Computer Corporation Mode-selectable integrated disk drive for computer
EP0494999B1 (en) * 1989-10-10 1998-01-21 Storage Technology Corporation Multiple step data read apparatus
US5249279A (en) * 1989-11-03 1993-09-28 Compaq Computer Corporation Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands
CA2029179A1 (en) * 1989-11-03 1991-05-04 Stephen M. Schultz Method for data distribution in a disk array
US5125093A (en) * 1990-08-14 1992-06-23 Nexgen Microsystems Interrupt control for multiprocessor computer system
US5420730A (en) * 1990-08-17 1995-05-30 Moon; Ronald R. Servo data recovery circuit for disk drive having digital embedded sector servo
US5394527A (en) * 1991-05-17 1995-02-28 Zenith Data Systems Corporation Method and apparatus facilitating use of a hard disk drive in a computer system having suspend/resume capability

Also Published As

Publication number Publication date
EP0551494A4 (en) 1995-03-01
US5768617A (en) 1998-06-16
JPH06502271A (ja) 1994-03-10
EP0551494A1 (en) 1993-07-21
WO1993003438A1 (en) 1993-02-18
AU2418492A (en) 1993-03-02

Similar Documents

Publication Publication Date Title
JP3276147B2 (ja) 計算機バスとディスクドライブ間のデータの複数のセクタの自動読み出し及び自動書き込みインテリジェントハードウェア
US5740466A (en) Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses
JP3137293B2 (ja) ステートマシンを利用するataインターフェースアーキテクチャ
US20030009607A1 (en) Method and system for programming a peripheral flash memory via an ide bus
JP2004005613A (ja) 専用フラッシュコントローラを使用してフラッシュベースストレージシステムの性能を改善するための方法
US5555437A (en) Read-write state machine in a host interface for controlling read and write operations in a disk drive
WO2003083662A2 (en) Memory system with burst length shorter than prefetch length
JP2770901B2 (ja) ディスク制御方法
US5996045A (en) IDE disk drive arrangement that combines the capacity of a master drive and slave drive while hiding the presence of slave drive to a host computer
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
JPH06231075A (ja) ゼロ潜伏性ループアービトレーションの方法及び装置
US6035384A (en) Solid state disk drive address generator with multiplier circuit
US5455954A (en) Host interrupt signal generation circuit for controlling an auto read operation in a disk drive controller
US6105107A (en) ATAPI state machine controlled by a microcontroller for interfacing a DVD controller with an ATA host bus
KR19980022357A (ko) 시리얼 인터페이스 회로
US5457787A (en) Interface circuit for controlling data transfers
JPH1063442A (ja) 半導体ディスク装置
KR20080014303A (ko) 고속 아이.디.이. 인터페이스 장치 및 그 방법
US5459870A (en) Interface circuit for controlling data transfers
EP0434688B1 (en) Seeking multitasking disk controller
US6618790B1 (en) Burst suspend and resume with computer memory
JP2530113B2 (ja) デ―タ転送制御用インタ―フェ―ス回路及び磁気ディスク装置
US7571266B2 (en) Peripheral device in a computerized system and method
US5754889A (en) Auto write counter for controlling a multi-sector write operation in a disk drive controller
TW426851B (en) Method and system for Flash ROM programming

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080208

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090208

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090208

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100208

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110208

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees