JPH10500503A - ディスクドライブシステムのデータバッファ監視装置 - Google Patents

ディスクドライブシステムのデータバッファ監視装置

Info

Publication number
JPH10500503A
JPH10500503A JP7524062A JP52406295A JPH10500503A JP H10500503 A JPH10500503 A JP H10500503A JP 7524062 A JP7524062 A JP 7524062A JP 52406295 A JP52406295 A JP 52406295A JP H10500503 A JPH10500503 A JP H10500503A
Authority
JP
Japan
Prior art keywords
signal
buffer
transfer
count
read
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.)
Ceased
Application number
JP7524062A
Other languages
English (en)
Inventor
スティーヴ アンダーソン
Original Assignee
コナー ペリフェラルズ インコーポレイテッド
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 コナー ペリフェラルズ インコーポレイテッド filed Critical コナー ペリフェラルズ インコーポレイテッド
Publication of JPH10500503A publication Critical patent/JPH10500503A/ja
Ceased 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 書き込みバッファにおけるスペースの利用性と、読み取りバッファにおける転送に使用できるセクタの数とを監視し、そして「転送OK」信号を発生するためのデータバッファ監視装置が提供される。このデータバッファ監視装置は、読み取りバッファモニタと、書き込みバッファモニタと、転送コントローラとを備えている。読み取りバッファモニタは、読み取りバッファに記憶される全セクタ数と、ホストへ転送するのに使用できる読み取りバッファのセクタ数を監視し、そして要求された読み取り動作に対するセクタが読み取りバッファに記憶されている場合に「読み取り転送OK」信号を発生する。書き込みバッファモニタは、書き込みバッファにおける全セクタ数を監視し、要求された書き込み動作を実行できることが書き込みモニタにより決定された場合に「書き込み転送OK」信号を発生する。転送コントローラは、読み取り動作が要求された場合は読み取りバッファモニタにより発生される「読み取り転送OK」信号、又は書き込み動作が要求された場合は書き込みバッファモニタにより発生される「書き込み転送OK」信号に応答して、「転送OK」信号を発生し、これは、ディスクドライブシステムへの及びそこからの要求された読み取り又は書き込みセクタ転送動作がディスクドライブによって実行できることを指示する。

Description

【発明の詳細な説明】 ディスクドライブシステムのデータバッファ監視装置発明の分野 本発明は、ディスクドライブシステムに係り、より詳細には、書き込み動作に 対し書き込みデータバッファにスペースがあるかかどうかそして読み取り動作に 対して読み取りデータバッファに転送のためのセクタがあるかどうかを決定する 装置に係る。先行技術の説明 現在の幾つかのディスクドライブシステムにおいては、ホストとディスクとの 間に転送されるデータをバッファするのに読み取りバッファ及び書き込みバッフ ァが使用される。これらのバッファは、個別のRAMであってもよいし、或いは 2つの個別のバッファに仕切られた単一のRAMであってもよい。読み取り及び 書き込みバッファを使用すると、ディスクドライブシステムは、ホストからデー タを受け取って書き込みバッファに記憶できると同時に、ディスクからデータを 検索して読み取りバッファに記憶することができ、或いは書き込みバッファから ディスクへデータを転送すると同時に、読み取りバッファからホストへデータを 転送することができる。 読み取り及び書き込みバッファを用いるディスクドライブシステムでは、要求 された読み取り動作に対して読み取りバッファに得られるデータの量と、要求さ れた書き込み動作に対して書き込みバッファに得られるスペースの量とを監視す ることが必要になる。データのセクタ、即ち512バイトのデータが、多くのデ ィスクドライブシステムにおける基本的なデータ転送単位である。読み取り及び 書き込み動作においては、2つ以上のセクタが転送され得るので、ホストは、デ ィスクドライブシステムに、転送されるべきセクタの数を与える。各バッファが 2000ないし3000セクタまで記憶できる場合には、データがセクタとして 読み取り及び書き込みバッファに記憶される。 ディスクドライブシステムは、そのディスクドライブシステムの全動作をプロ グラム制御のもとで制御するマイクロプロセッサを有している。マイクロプロセ ッサにより実行される1つの機能は、要求された書き込み動作を実行できるかど うか、即ち要求された書き込み動作に対し書き込みバッファ内のスペースを利用 できるかどうか決定することである。要求された読み取り動作を実行することが でき、即ち要求された読み取り動作に対し読み取りバッファのセクタを利用する ことができ、そして読み取り又は書き込み動作を実行できる場合には、それを指 示する「転送OK」信号がディスクドライブシステムに発生される。この機能を 実行するためのマイクロプロセッサの処理オーバーヘッドは、ディスクドライブ システムの全性能及び効率特性を低下するに足るほど大きなものとなる。発明の要旨 従って、本発明の目的は、書き込みバッファにおけるスペースの利用性及び読 み取りバッファにおいて転送に利用できるスペースの数を監視し、そしてホスト から要求された読み取り又は書き込み動作をディスクドライブシステムによって 処理できるときに「転送OK」信号を発生するデータバッファ監視装置を提供す ることである。 本発明の別の目的は、マイクロプロセッサの処理オーバーヘッドを減少し、そ れにより、ディスクドライブシステムの全性能及び効率特性を増加する読み取り 及び書き込みバッファ監視装置を提供することである。 本発明の更に別の目的は、読み取り及び書き込みバッファとホスト及びディス クとの間のデータセクタの転送を連続的に監視する読み取り及び書き込みバッフ ァ監視装置を提供することである。 簡単に説明すると、データバッファ監視装置は、読み取りバッファモニタと、 書き込みバッファモニタと、転送コントローラとを備えている。読み取りバッフ ァモニタは、読み取りバッファに記憶されるセクタの全数と、ホストへ転送する のに利用できる読み取りバッファのセクタの数とを監視し、そして要求された読 み取り動作に対するセクタが読み取りバッファに記憶されてホストへ転送できる ことが読み取りモニタで決定された場合には「読み取り転送OK」信号を発生す る。読み取りバッファは、ホストへ転送するのに利用できるセクタと、セクタが ホストへ転送された後に読み取りバッファに保持されるセクタとの両方を記憶す る。読み取りバッファモニタは、又、読み取りバッファがいっぱいになったとき にディスクドライブによる読み取りバッファへのセクタのオーバーライトを防止 するために、読み取りバッファがいっぱいであって「バッファ・フル」信号を発 生するかどうかも決定する。書き込みバッファは、書き込みバッファにおけるセ クタの全数を監視し、そして要求された書き込み動作をディスクドライブシステ ムで実行できることが書き込みモニタにより決定された場合には「書き込み転送 OK」信号を発生する。書き込みバッファは、ディスクへ転送されるべく解放さ れたセクタと、処理される書き込み要求に対し書き込みバッファに蓄積されてい る未解放のセクタであって、書き込み動作のための全てのセクタが書き込みバッ ファへ転送された後に解放されるセクタとを記憶する。転送コントローラは、読 み取り動作が要求された場合に読み取りバッファモニタにより発生される「読み 取り転送OK」信号、又は書き込み動作が要求された場合に書き込みバッファモ ニタにより発生される「書き込み転送OK」信号に応答して、ディスクドライブ システムへ及びそこから要求されたセクタの読み取り又は書き込み転送動作をデ ィスクドライブにより実行できることを指示する「転送OK」信号を発生する。 ハードウェアデータバッファ監視装置の効果は、マイクロプロセッサの処理オ ーバーヘッドが減少されることである。 ハードウェアデータバッファ監視装置の別の効果は、読み取り及び書き込みバ ッファの状態の最新の記録を維持することができ、これにより、所与のブロック サイズのセクタについて要求された読み取り又は書き込み動作を、ディスクドラ イブシステムへの及びそこからのセクタの転送に対してディスクドライブシステ ムによりいつ実行できるかに関しての判断を効率的に且つ迅速に行えることであ る。図面の簡単な説明 以下、添付図面を参照し、本発明の特定の実施形態を詳細に説明する。 図1は、読み取りバッファモニタ、書き込みバッファモニタ及び転送コントロ ーラを備えたデータバッファ監視装置を含むディスクドライブシステムを示す図 である。 図2は、転送コントローラのロジック図である。 図3は、書き込みバッファモニタのロジック図である。 図4は、読み取りバッファモニタのロジック図である。好ましい実施形態の詳細な説明 図1は、本発明によるディスクドライブシステムの全体的ブロック図である。 ホストは、データ及び制御信号をディスクドライブシステムのバス25を経てホ ストインターフェイス2と交換する。ディスクは、データ及び制御信号をバス2 6を経てディスクインターフェイス3と交換する。マイクロプロセッサ5は、バ ス16を経てホストインターフェイス2と通信し、読み取りバッファ1からバス 10を経てホストインターフェイス2へ至るデータの転送を制御すると共に、ホ ストインターフェイス2からバス12を経て書き込みバッファ4へ至るデータの 転送を制御する。マイクロプロセッサ5は、バス17を経てディスクインターフ ェイス3と通信し、書き込みバッファ4からバス13を経てディスクインターフ ェイス3へ至るデータの転送を制御すると共に、ディスクインターフェイス3か らバス11を経て読み取りバッファ1へ至るデータの転送を制御する。 ホストインターフェイス2は、ディスクドライブシステムのホストから書き込 みバッファ4へセクタが転送されるたびに「ホストからのセクタ転送」信号をラ イン14を経て書き込みバッファモニタ6へ発生し、そしてディスクドライブシ ステムの読み取りバッファ1からホストへセクタが転送されるたびに「ホストへ のセクタ転送」信号をライン15を経て読み取りバッファモニタ8へ発生する。 ディスクインターフェイス3は、書き込みバッファ4からディスクへセクタが 転送されるたびに「ディスクへのセクタ転送」信号をライン18を経て書き込み バッファモニタ6へ発生し、そしてディスクから読み取りバッファ1へセクタが 転送されるたびに「ディスクからのセクタ転送」信号をライン19を経て読み取 りバッファモニタ8へ発生する。 マイクロプロセッサ5は、バス21を経て書き込みバッファモニタ6、読み取 りバッファモニタ8及び転送コントローラ7と制御信号を通信する。バス21の 制御信号は、ディスクへ転送するための書き込み動作中に書き込みバッファ4に 累積されたセクタを解放するライン21−3上の「書き込みブロック」信号と、 要求された読み取り又は書き込み動作中に転送するよう要求されたセクタの数で あるバス21−5上の「ブロックカウント」信号と、タイミングを制御するため のライン21−4上の「クロック」信号と、読み取りモニタ8に対して読み取り 保持モード又は読み取りリンクモードの動作を指示しそして読み取り保持モード から退出した後に読み取りバッファモニタ8における保持セクタの位置を解放す るライン21−6上の「読み取りブロック」信号と、読み取り動作中に転送する ために1つ以上のセクタが要求されたかどうか読み取りバッファモニタ8に指示 するライン21−7上の「多ブロック」信号と、要求された動作が読み取り動作 であるか書き込み動作であるかを指示するための転送コントローラ7へのライン 21−1上の「読み取りモード」信号とを備えている。 書き込みバッファモニタ6は、書き込みバッファ4に記憶されたセクタの全数 と、ディスクへ転送するために解放される記憶されたセクタの数と、ディスクへ 転送するように解放されない記憶されたセクタの数とを維持する。書き込みバッ ファモニタ6は、書き込みバッファ4が、保留中の動作に対し「ブロックカウン ト」信号により指示されたセクタの数を受け取るに充分なスペースを有する場合 には、転送コントローラ7へのライン23に「書き込み転送OK」信号を発生す る。 読み取りバッファモニタ8は、読み取りバッファ1に記憶されたセクタの全数 と、ホストへ転送するのに利用できる記憶されたセクタの数と、ホストに転送さ れた後に読み取りバッファ1に保持されるセクタの数とを維持する。読み取りバ ッファモニタ8は、読み取りバッファ1が、保留中の読み取り動作に対し「ブロ ックカウント」信号で指示されるようにホストへ転送するのに利用できる充分な 数のセクタを有する場合には、転送コントローラ7へのライン24に「読み取り 転送OK」信号を発生する。読み取りバッファモニタ8は、読み取りバッファ1 がいっぱいであるときにディスクが読み取りバッファ1にセクタをオーバーライ トするのを防止するためにディスクインターフェイス3へのライン20に「バッ ファ・フル」信号を発生する。 転送コントローラ7は、動作が読み取り動作であって、読み取りバッファモニ タ8から「読み取り転送OK」信号が受け取られた場合、又は動作が書き込み動 作であって、書き込みバッファモニタ6から「書き込み転送OK」信号が受け取 られた場合に、ホストインターフェイス2へのライン22に「転送OK」信号を 発生する。 転送コントローラ 図2を参照すれば、転送コントローラ7は、アンド回路31、アンド回路32 及びオア回路33を備えている。アンド31は、バス21のライン21−1を経 てマイクロプロセッサ5から送られる読み取りモードを指示する高レベルの「読 み取りモード」信号と、読み取りバッファモニタ8からライン24を経て送られ る高レベルの「読み取り転送OK」信号との一致によりコンディショニングされ る。アンド31は、このようにコンディショニングされると、オア33に接続さ れたライン37上で「転送OK」信号を高レベルにさせる。アンド32は、バス 21のライン21−1を経てマイクロプロセッサ5から送られる書き込みモード を指示する低レベルの「読み取りモード」信号と、書き込みバッファモニタ6か らライン23を経て送られる高レベルの「書き込み転送OK」信号との一致によ ってコンディショニングされ、そしてこのようにコンディショニングされると、 オア33に接続されたライン38上で「転送OK」信号を高レベルにさせる。オ ア33は、「転送OK」信号がライン37又は38のいずれかに存在するときに ホストインターフェイス2へのライン22上で「転送OK」信号を高レベルにさ せ、これにより、ホストから要求された読み取り又は書き込み動作に対し要求さ れたセクタの転送をディスクドライブシステムにより処理できることを示す。 書き込みバッファモニタ 図3を参照すれば、アンド40、41及び43と、繰り返しカウンタ42は、 バス21のライン21−3上の高レベルの「書き込みブロック」信号と、ゼロ検 出器44によりライン51に送られる高レベルの「非ゼロ」信号との間に一致が あったときに、一連の解放信号をライン57に発生するための状態マシンを形成 する。 アンド40は、バス21のライン21−3の高レベルの「書き込みブロック」 信号と、ゼロ検出器44によりライン51に送られる高レベルの「非ゼロ」信号 との一致によってコンディショニングされる。「書き込みブロック」信号は、デ ィスクに転送するために書き込みバッファ4に保持されたセクタを解放するよう に上昇される。「非ゼロ」信号は、保持カウンタ45のカウントがゼロより大き くて、セクタが書き込みバッファ4に保持されることをゼロ検出器44が検出す るときにライン51において高レベルとなる。アンド41は、アンド40がコン ディショニングされたときにライン21−4のクロック信号を繰り返しカウンタ 42へゲート通過する。繰り返しカウンタ42は、次のシーケンスでカウントす る。 000 001 011 010 110 111 101 100 000. この繰り返しカウンタ42は、上記のシーケンスでカウントする3段カウンタで あって、クロック信号に応答して1段のみが状態を変え、これにより、繰り返し カウンタ42をクロック信号の周波数で歩進できるように繰り返しカウンタ42 の安定化時間を改善する。繰り返しカウンタ42のカウントは、アンド43によ って監視される。アンド43は、繰り返しカウンタ42がライン54、55及び 56上で各々指示されるように001のカウントを含む時間中にライン57の解 放信号を上昇させる。ライン57は、保持カウンタ45のダウン入力と、解放カ ウンタ47のアップ入力とに接続されている。 ホストインターフェイス2からライン14に送られる「ホストからのセクタ転 送」信号は、保持カウンタ45のアップ入力に接続される。保持カウンタ45の カウント出力は、バス58によりゼロ検出器44及び加算器46に接続される。 ディスクインターフェイス3からライン18に送られる「ディスクへのセクタ転 送」信号は、解放カウンタ47のダウン入力に接続され、そして「ディスクへの セクタ転送」信号が解放カウンタ47により受け取られるたびに1だけカウント を減少する。解放カウンタ47のカウント出力は、バス59により加算器46へ 接続される。加算器46は、保持カウンタ45及び解放カウンタ47からのカウ ントを合成して、サブ合計カウント出力をバス60に形成し、これは、書き込み バッファ4に現在使用されているセクタの数を指示する。加算器46のサブ合計 カウント出力は、ライン60を経て加算器48に接続される。バス21−5上の 「ブロックカウント」信号は、加算器48に接続される。加算器48は、「ブロ ックカウント」信号により表された転送されるべきセクタの数と、加算器46か らのサブ合計カウントとを合成し、比較器50のB入力へのバス62に合計セク タカウント出力を形成する。 バッファサイズレジスタ49は、書き込みバッファ4に記憶することのできる セクタの最大数のカウントを含む。バッファサイズレジスタ49のカウント値は ライン63を経て比較器50のA入力に接続される。ライン62の合計カウント がバッファサイズレジスタ49のカウント以下であるときは、比較器50が、転 送コントローラ7に接続されたライン23上の「書き込み転送OK」信号を上昇 させる。 書き込みバッファモニタ6の動作を以下の例によって説明する。先ず、次のよ うな1組の条件を仮定する。即ち、バッファサイズレジスタ49のカウントは、 2000であり、解放カウンタ47のカウントは、500であり、保持カウンタ 45のカウントは0であり、「ブロックカウント」信号の値は、100であり、 書き込み動作がホストによって要求され、そしてライン21−3の「書き込みブ ロック」信号が低レベルである。これらの条件のもとで、加算器46のサブ合計 カウントは500であり、そして加算器48の合計カウントは600である。比 較器50の出力、即ち転送コントローラ7に接続されたライン23上の「書き込 み転送OK」信号は、加算器48からの合計カウント600がバッファサイズカ ウント2000よりも小さいので、高レベルである。アンド32は、転送コント ローラ7においてコンディショニングされ、「転送OK」信号をホストプロセッ サ2へのライン22において高レベルにさせる。ホストプロセッサ2は、「転送 OK」信号を受け取ると、書き込み要求に対してホストからディスクドライブへ セクタを転送するプロセスを開始する。ホストからディスクドライブシステムへ セクタが転送されるたびに、ホストインターフェイス2は、ライン14に「ホス トからのセクタ転送」信号を発生し、これは、保持カウンタ45のカウントを1 だけ増加させる。書き込み要求の最後の100個のセクタが転送された後に、保 持カウンタ45のカウントは100となり、解放カウンタ47のカウントは50 0となる。マイクロプロセッサ5は、ライン21−3上の「書き込みブロック」 信号を上昇させる。ライン51の「非ゼロ」信号は、保持カウンタ45のカウン トがゼロに等しくないので、高レベルとなる。それによりアンド40がコンディ ショニングされて、クロック信号を繰り返しカウンタ42へゲート通過させる。 繰り返しカウンタ42が001のカウントをもつたびに、ライン57に解放信号 が発生され、これは、保持カウンタ45のカウントを減少すると共に、解放カウ ンタ47のカウントを増加させる。保持カウンタ45がカウント0まで減少され ると、ライン51の非ゼロ信号が低レベルとなり、アンド40をコンディショニ ング解除し、それ以上のクロック信号が繰り返しカウンタ42へゲート通過され ないようにする。このとき、保持カウンタ45のカウントは0となり、解放カウ ンタ47のカウントは600となる。 更に、解放カウンタ47は、該カウンタに同時に送られる解放信号及び「ディ スクへのセクタ転送」信号の状態を取り扱う裁定回路を備えている。この裁定回 路は、先ず、解放信号を、次いで、「ディスクへのセクタ転送」信号を処理し、 その後に、次の解放信号が発生される。繰り返しカウンタ42は、保持カウンタ 45及び解放カウンタ47が変化した後にそれが安定する時間を許すように使用 される。 次いで、以下の1組の条件を仮定する。即ち、バッファサイズレジスタ49の カウントは2000であり、解放カウンタ47のカウントは1500であり、保 持カウンタ45のカウントは0であり、「ブロックカウント」信号の値は600 であり、そして書き込み動作がホストによって要求される。これらの条件のもと では、加算器46のサブ合計カウントが1500であり、そして加算器48の合 計カウントが2100である。比較器50からのライン23上の「書き込み転送 OK」信号は、加算器48からの合計カウント2100がバッファサイズ200 0より大きいので、低レベルとなる。セクタがディスクに転送されるたびに、デ ィスクインターフェイス3は、「ディスクへのセクタ転送」信号を発生し、これ は、解放カウンタ47のカウントを1だけ減少させる。この例では、100個の セクタが書き込みバッファ4からディスクへ転送されると、比較器50は、「書 き込み転送OK」信号を上昇させる。というのは、加算器48からの合計カウン ト2000がバッファサイズ2000に等しいからである。従って、保留中の書 き込み要求に関連した600個のセクタを記憶するに充分な余裕が今や書き込み バッファ4にあるから、保留中の書き込み要求を処理することができる。 読み取りバッファモニタ8 読み取り動作は、2つのモード、即ち保持モード及びリングモードを有する。 保持モードにおいては、セクタが読み取りバッファ1からホストへ転送され、そ して解放されるまで読み取りバッファ1に維持される。保持により読み取り動作 を完了することができる一方、転送される全てのセクタは、ホストがセクタの再 転送を必要とする場合にはホストへ転送するように読み取りバッファ1において 依然使用することができる。従って、このモードは、ディスクから読み取りバッ ファ1へこれらの同じセクタを検索する時間を節約する。セクタを解放できるこ とが決定されると、読み取りバッファ1におけるこれらセクタの位置が、ディス クから検索された新たなセクタの記憶に使用される。リンクモードにおいては、 セクタがディスクに転送され、そして読み取りバッファ1におけるセクタの位置 が、ディスクから検索された新たなセクタの記憶に直ちに使用される。保持モー ドは、低レベルの「読み取りブロック」信号により指示され、そしてリングモー ドは、高レベルの「読み取りブロック」信号により指示される。 図4を参照すれば、アンド70、71、74及び75と、繰り返しカウンタ7 2は、バス21のライン21−6上の高レベルの「読み取りブロック」信号と、 ライン92の高レベルの非ゼロ信号と、ライン102の高レベルの非ゼロ信号と の間に一致があったときにライン99に一連の解放信号を発生するための状態マ シンを形成する。 アンド70は、バス21のライン21−6の高レベルの「読み取りブロック」 信号と、ライン92の高レベルの非ゼロ信号との一致によってコンディショニン グされる。「読み取りブロック」信号は、読み取りバッファ1に保持されていた セクタが解放されたときに保持カウンタ78のカウントをセクタカウンタ80へ 加算しそしてリングモード動作を指示するために上昇される。ライン92の非ゼ ロ信号は、セクタが読み取りバッファ1に保持されていることが、ゼロより大き なカウントを有する保持カウンタ78により指示されたときに高レベルとなる。 アンド70がコンディショニングされたときは、アンド71がライン21−4の クロック信号をゲート通過させ、繰り返しカウンタ72を歩進させる。繰り返し カウンタ72は、次のシーケンスでカウントする。 000 001 011 010 110 111 101 100 000. この繰り返しカウンタ72は3段カウンタであって、上記のシーケンスでカウン トし、クロック信号に応答して1段のみが状態を変える。このカウント方法は、 繰り返しカウンタ72をクロック信号の周波数で歩進できるように繰り返しカウ ンタ72の安定化時間を改善する。繰り返しカウンタ72のカウントは、アンド 74により監視され、該アンド74は、ライン95、96及び97において各々 指示されるように繰り返しカウンタ72が011のカウントを含む時間中にライ ン98に解放信号を発生する。アンド75は、セクタカウンタ80がゼロより大 きなカウントを有し、これにより、ライン102のゼロ検出器76の非ゼロ出力 信号が高レベルとなって、アンド75をコンディショニングするときに、ライン 98の解放信号をライン99にゲート通過させる。ライン99は、アンド75の 出力を保持カウンタ78のダウン入力及びセクタカウンタ80のダウン入力に接 続する。 ホストインターフェイス2からライン15を経て送られる「ホストへのセクタ 転送」信号は、保持カウンタ78のアップ入力に接続される。保持カウンタ78 のカウント出力は、バス100により、ゼロ検出器73、比較器77のB入力、 及び加算器81のA入力に接続される。ゼロ検出器73は、保持カウンタ78の カウントがゼロより大きいときにライン92の非ゼロ信号を上昇させる。 ディスクインターフェイス3からライン19に送られる「ディスクからのセク タ転送」信号は、セクタカウンタ80のアップ入力に接続され、そしてセクタカ ウンタ80から「ディスクからのセクタ転送」信号が受け取られるたびに1だけ カウントを増加する。セクタカウンタ80のカウントは、読み取りバッファ1に 記憶されたセクタの全数であり、即ち既に転送されたが読み取りバッファ1に保 持されているセクタの数と、読み取りバッファ1から転送されるべく待機してい るセクタの数との和である。セクタカウンタ80の出力は、バス102により、 比較器77のA入力、比較器79のA入力、ゼロ検出器76、比較器85のA入 力、及び比較器91のB入力に接続される。バス21−5上の「ブロックカウン ト」は、加算器81のB入力に接続される。加算器81は、ブロックカウント信 号により表された転送されるべきセクタの数と、保持カウンタ78により指示さ れた読み取りバッファ1に保持されたセクタの数とを合成し、保持カウントを形 成する。バス104上の加算器81の保持カウント出力は、比較器79のB入力 に接続される。ライン21−7上の「多ブロック」信号は、高レベルであるとき は、アンド82を部分的にコンディショニングして、保留中の読み取り要求によ り2つ以上のセクタが転送されるべきであることを指示し、そして低レベルであ るときは、アンド83を部分的にコンディショニングして、保留中の読み取り要 求により1つのセクタのみが転送されるべきであることを指示する。 バッファサイズレジスタ90は、読み取りバッファ1に記憶することのできる 最大セクタ数のカウントを含む。バッファサイズレジスタ90のカウント出力は バス110を経て比較器91のA入力に接続される。ライン102上のセクタカ ウンタ80のカウント出力がバッファサイズレジスタ49のカウント出力に等し いときは、比較器91は、ディスクインターフェイス3へのライン20の「バッ ファ・フル」信号を上昇させる。この「バッファ・フル」信号が高レベルである と、ディスクから読み取りバッファ1へのセクタの転送を禁止し、これにより、 読み取りバッファ1に記憶されたセクタがオーバーライトされるのを防止する。 比較器77は、ライン100上のカウント(保持カウンタ78に保持されたセ クタ数)がライン102上のカウント(セクタカウンタ80のセクタ数又は読み 取りバッファ1のセクタ数)より小さいかどうかを決定し、そしてもしそうであ れば、比較器77からライン101に送られる出力信号は、高レベルとなる。ア ンド83の「保持単一転送OK」出力信号は、ライン101の出力信号が高レベ ルとなり且つ「多ブロック」信号がライン21−7において低レベルとなって、 保持モードにおいて1つのセクタのみを転送すべきであり且つ読み取りバッファ 1において転送のために少なくとも1つのセクタが得られることを指示するとき に、高レベルとなる。ライン106の「保持単一転送OK」信号は、オア84に 接続される。 比較器79は、ライン104上の加算器81のカウント出力であって、保持カ ウンタ78に保持されたセクタ数と、転送されたカウントであるとして要求され たセクタ数との和を表すカウント出力が、読み取りバッファ1のセクタ数を指示 するライン102上のセクタカウンタ80のカウント出力以下であるかどうかを 決定する。もしそうであれば、比較器79からの出力信号は、ライン103にお いて高レベルとなる。アンド82のライン105上の「保持多数転送OK」出力 信号は、ライン103の出力信号が高レベルであり且つライン21−7の「多ブ ロック」信号が高レベルであって、2つ以上のセクタを転送すべきであり且つ少 なくとも転送のために要求されたセクタの数が読み取りバッファ1において転送 に使用できることを指示するときに、高レベルとなる。ライン105上の「保持 多数転送OK」信号は、オア84に接続される。 オア84の「保持転送OK」出力信号は、ライン107を経てアンド88に接 続され、そして「保持単一転送OK」信号が高レベルであるか又は「保持多数転 送OK」信号が高レベルであるときに高レベルになる。ライン107上の「保持 転送OK」信号は、ライン21−6上の「読み取りブロック」信号が低レベルで あるときにアンド88をゲート通過され、ライン112を経てオア89へ送られ る。 比較器85は、保留中の読み取り要求により転送されるべきセクタの数であっ て、バス21−5の「ブロックカウント」信号により指示されるセクタの数が、 ライン102上の読み取りバッファ1のカウントのセクタ数以下であるかどうか 決定し、そしてもしそうであれば、ライン109における比較器85からの出力 信号は、高レベルとなる。アンド86の「リング転送OK」出力信号は、ライン 109上の比較器85の出力が高レベルであって、読み取りバッファ1のセクタ 数が読み取りバッファ1から転送されるべき要求されたセクタ数より大きいこと を指示するとき、及びライン93上のゼロ信号が高レベルとなって、読み取りバ ッファ1にセクタが保持されず且つ読み取りバッファ1の全てのセクタが転送に 使用できることを指示するときの両方において高レベルとなる。ライン108上 の「リング転送OK」信号は、ライン21−6の「読み取りブロック」信号が高 レベルであるときに、アンド87をゲート通過され、ライン111を経てオア8 9へ送られる。 ライン24上のオア89の「読み取り転送OK」出力信号は、ライン111上 の「リング転送OK」信号が高レベルであるか又はライン112上の「保持転送 OK」が高レベルであるときに、高レベルとなる。 読み取りバッファモニタ8の動作を、次の例により説明する。先ず、読み取り バッファ1からホストへ保持モードにおいて1セクタを転送するための読み取り 要求がなされ、「ブロックカウント」信号は1に等しく、保持カウンタ78のカ ウントは0であり、セクタカウンタ80のカウントは0であり、そして「多ブロ ック」信号は低レベルであると仮定する。これらの条件のもとで、比較器77、 79及び85の出力は低レベルとなり、そしてライン24上の「読み取り転送O K」信号は低レベルとなる。ディスクがディスクから次のセクタを検索しそして そのセクタを読み取りバッファ1に記憶するときには、ディスクインターフェイ ス3がライン19に「ディスクからのセクタ転送」信号を発生し、これは、セク タカウンタのカウントを1に歩進させる。ここで、比較器77、79及び85の 出力が全て高レベルとなり、ライン106上の「保持単一転送OK」信号を高レ ベルにし、ライン107上の「保持転送OK」信号を高レベルにし、そしてライ ン108上の「リング転送OK」信号を高レベルにする。ライン24上の「読み 取り転送OK」信号は、高レベルになる。というのは、アンド88がライン21 −6上の低レベルの読み取りブロック信号と、ライン107上の高レベルの「保 持転送OK」信号とによってコンディショニングされるからである。転送コント ローラ7は、転送コントローラ7からホストインターフェイス2へのライン22 上で「転送OK」信号を高レベルに上昇させる。 次いで、ホストインターフェイス2は、読み取り要求の処理を開始し、1つの セクタが読み取りバッファ1からホストへ転送される。ホストインターフェイス 2は、ライン14に「ホストからのセクタ転送」信号を発生し、これは保持カウ ンタを1に増加する。このとき、保持カウンタ45のカウントは1であり、そし て解放カウンタ47のカウントは1であり、これは、読み取りバッファ1のセク タがホストに転送されており且つホストへ転送するのに使用できる他のセクタが 読み取りバッファ1にないことを指示する。 次いで、読み取りバッファ1からホストへ5つのセクタを転送するためにホス トが別の読み取り要求を保持モードで発生すると仮定する。これらの状態のもと では、比較器77、79及び85に対して出力が低レベルとなり、これにより、 ライン24上の「読み取り転送OK」信号を低レベルにする。ホストインターフ ェイス2は、読み取りバッファ1からホストへセクタを転送するよう試みない。 セクタがディスクから検索されそして読み取りバッファ1に記憶されると、ディ スクインターフェイス3は、各セクタがライン19に転送された後に「ディスク からのセクタ転送」信号を発生し、これは、セクタカウンタ80のカウントを1 だけ増加する。セクタカウンタがカウント2に達するや否や、比較器77のライ ン101の出力信号は高レベルになる。というのは、セクタレジスタ80のカウ ント2が保持カウンタ78のカウント1より大きいからである。多数のセクタが 転送されるので、アンド83の出力は低レベルとなり、それ故、ライン21−7 の「多ブロック」信号が高レベルとなる。それ故、ライン24の「読み取り転送 OK」信号は、低レベルのままとなる。 セクタカウンタ80がカウント6に達すると、比較器79の出力信号が高レベ ルとなり、従って、ライン107の「保持転送OK」信号が高レベルになる。保 持モードが使用されるので、バス21のライン21−6の「読み取りブロック」 信号は低レベルであり、これは、「保持転送OK」信号をアンド88を経てオア 89へゲート通過させる。「読み取り転送OK」信号は、ライン24において高 レベルとなり、そしてホストインターフェイス2へのライン22の「転送OK」 信号は、高レベルとなる。 ホストインターフェイス2は、ホストからの読み取り要求の処理を開始し、そ して読み取りバッファ1からホストへ5つのセクタが転送される。ホストインタ ーフェイス2は、各セクタがホストへ転送された後に「ホストへのセクタ転送」 信号をライン15に発生し、保持カウンタ78を増加する。読み取り要求がマイ クロプロセッサ5によって処理された後に、保持カウンタ78は、カウント6を 有し、そしてセクタカウンタは、カウント6を有し、これにより、読み取りバッ ファ1の全てのセクタがホストへ転送され、そしてホストへ転送するのに使用で きるセクタが読み取りバッファ1にないことを指示する。 次いで、ホストは、リングモードにおいて10個のセクタの読み取り要求を発 生すると仮定する。この読み取り要求が受け取られると、ライン21−6の「読 み取りブロック」信号が高レベルになり、ライン21−5上の「ブロックカウン ト」信号の値が10になり、そして「多ブロック」信号が高レベルになる。とい うのは、2つ以上のセクタをホストへ転送することが要求されるからである。こ れらの条件のもとでは、セクタカウンタのカウントが10未満であり、従って、 ライン24の「読み取り転送OK」信号が低レベルでありそしてライン22上の 「転送OK」信号が低レベルであるから、比較器77、79及び85の出力が全 て低レベルである。ホストインターフェイス2は、ホストから読み取りバッファ 1からのセクタの転送を開始しない。ディスクインターフェイス3は、ディスク から要求されたセクタの検索を開始し、そして要求された10個のセクタを読み 取りバッファ1に記憶する。 ライン21−6上の「読み取りブロック」信号は高レベルでありそしてライン 92上の「非ゼロ」信号は高レベルであって、保持カウンタ78のカウントが1 より大きいので、アンド70がコンディショニングされ、クロック信号で繰り返 しカウンタ72を歩進できるようにする。繰り返しカウンタがカウント011に 達するたびに、ライン98の解放信号はアンド75を経てゲート通過される。と いうのは、非ゼロ信号がライン102上で高レベルとなって、セクタカウンタ8 0のカウントが0より大きいことを指示するからである。ライン99上の各解放 信号は、保持カウンタ78及びセクタカウンタ80のカウントを減少する。保 持カウンタが0に達すると、アンド70はコンディショニング解除され、従って 、クロック信号が繰り返しカウンタ72を歩進するのを阻止する。セクタカウン タ80が0に達すると、アンド75がコンディショニング解除され、従って、解 放信号が保持カウンタ78及びセクタカウンタ80を減少するのを阻止する。こ れは、保持カウンタ78がカウント0を有し、そしてセクタカウンタのカウント が6回減少されるようにする。 セクタがディスクから読み取りバッファ1へ転送された後に、ディスクインタ ーフェイス3は、ライン19に「ディスクからのセクタ転送」信号を発生し、こ れは、セクタカウンタ80を増加させる。セクタカウンタ80は、該セクタカウ ンタに同時に与えられる「解放」信号及び「ディスクからのセクタ転送」信号の 状態を取り扱う裁定回路を備えている。この裁定回路は、先ず、解放信号を処理 し、次いで、「ディスクからのセクタ転送」信号を処理した後に、次の解放信号 を発生する。繰り返しカウンタ72は、保持カウンタ78及びセクタカウンタ8 0が変更された後にこれらが安定化する時間を許すのに用いられる。 セクタカウンタ80のカウントが保持カウンタ78のカウントより大きいとき は、比較器77の「保持単一転送OK」信号が高レベルとなるが、ライン21− 7の「多ブロック」信号が高レベルであるために、アンド83をゲート通過され ない。セクタカウントがカウント10に達しそして保持カウンタがカウント0に なると、比較器79の「保持多数転送OK」信号が高レベルとなり、ライン10 7の「保持転送OK」信号が高レベルとなる。「保持転送OK」信号は、アンド 88によって阻止される。というのは、「読み取りブロック」信号が高レベルで あって、リングモード動作を指示するからである。セクタカウントがカウント0 に達しそして保持カウンタがカウント0になると、比較器85のライン109の 出力信号が高レベルとなり、ライン108の「リング転送OK」信号が高レベル となり、そしてそしてライン111の「読み取り転送OK」信号が高レベルとな る。オア89からのライン24の「読み取り転送OK」信号は高レベルとなり、 そしてホストインターフェイス2へのライン22の「転送OK」信号は高レベル となる。 このとき、保持カウンタ78はカウント0であり、そしてセクタカウンタ80 はカウント10である。ホストインターフェイス2は、読み取りバッファ1から ホストへの10個のセクタの転送を開始する。各セクタが読み取りバッファ1か らホストへ転送された後に、ホストインターフェイス2は、保持カウンタ78へ のライン15に「ホストへのセクタ転送」信号を発生する。「ホストへのセクタ 転送」信号は、保持カウンタを1に増加し、これにより、ライン92上の非ゼロ 信号を上昇させ、アンド70がコンディショニングされるようにする。アンド7 0がコンディショニングされると、繰り返しカウンタ72をクロック信号により 歩進させることができる。繰り返しカウンタがカウント011に達すると、解放 信号が高レベルとなり、アンド75をゲート通過される。解放信号は、セクタカ ウンタ80のカウントを1だけ減少し、そして保持カウンタ78のカウントを0 に減少する。保持カウンタ78がカウント0になると、アンド70がコンディシ ョニング解除され、クロック信号が繰り返しカウンタ72から除去される。それ 故、読み取りバッファ1からホストへセクタが転送される間の読み取りリングモ ード動作中にライン15を経て各「ホストへのセクタ転送」信号が受け取られる たびに、保持カウンタ78は0から1へ増加され、次いで、1から0へ減少され る。10個のセクタ全部が読み取りバッファ1からホストへ転送された後に、保 持カウンタ78はカウント0となり、そしてセクタカウンタ80はカウント0と なる。 以上、本発明は、好ましい実施形態について詳細に説明したが、本発明の精神 及び範囲から逸脱せずに、その形態及び細部に種々の変更がなされ得ることが当 業者に明らかであろう。本発明の一般的概念及び特定の実施形態の上記開示に鑑 み、保護されるべき範囲を以下の請求の範囲に限定する。
───────────────────────────────────────────────────── 【要約の続き】 「転送OK」信号を発生し、これは、ディスクドライブ システムへの及びそこからの要求された読み取り又は書 き込みセクタ転送動作がディスクドライブによって実行 できることを指示する。

Claims (1)

  1. 【特許請求の範囲】 1.ディスクドライブシステムのデータバッファ監視システムであって、上記デ ィスクドライブシステムは、そのディスクドライブシステムのディスクに記憶す るためにホストから受け取った複数のデータセクタを記憶する書き込みバッファ と、上記ホストへ転送するために上記ディスクからの複数のデータセクタを記憶 する読み取りバッファと、上記ホストにより上記ディスクドライブシステムへ発 生された1つ以上のデータセクタの転送のための読み取り及び書き込み要求に応 答して、上記ホストと上記ディスクドライブシステムとの間のデータセクタの転 送を制御するための複数の制御信号を発生する制御手段とを備え、上記データバ ッファ監視システムは、 上記書き込みバッファが、上記ホストにより発生された上記読み取り又は書 き込み要求により要求された数のセクタを記憶するのに使用できる充分なスペー スを有するときに、「書き込み転送OK」信号を発生するための書き込みバッフ ァモニタと; 上記読み取りバッファが、上記ホストにより発生された上記読み取り又は書 き込み要求により転送のために要求された上記ホストへ転送するのに使用できる 数のデータセクタを記憶しているときに、「読み取り転送OK」信号を発生する ための読み取りバッファモニタと; 上記書き込みバッファモニタが上記「書き込み転送OK」信号を発生しそし て上記ホストが書き込み要求を発生しているとき、又は上記読み取りバッファモ ニタが上記「読み取り転送OK」信号を発生しそして上記ホストが読み取り要求 を発生しているときに、上記ディスクドライブシステムの上記制御手段に「転送 OK」信号を発生するための転送コントローラとを備え; これにより、上記制御手段は、上記「転送OK」信号に応答して、上記ホス トにより書き込み要求が発生された場合には上記ホストから上記書き込みバッフ ァへ、又は上記ホストにより読み取り要求が発生された場合には上記読み取りバ ッファから上記ホストへの上記数のデータセクタの転送を制御することを特徴と するデータバッファ監視システム。 2.上記読み取りバッファモニタは、上記読み取りバッファがデータセクタでい っぱいであって、上記制御手段により上記読み取りバッファに別のデータセクタ を記憶すると、上記ホストへ転送するのに使用されるデータセクタにオーバーラ イトすることになるときは、上記ディスクドライブシステムの上記制御手段へ「 バッファ・フル」信号を発生し、 これにより、上記制御手段は、上記「バッファ・フル」信号に応答して、こ の「バッファ・フル」信号が上記読み取りバッファモニタ手段によって不作動に されるまで、上記ディスクから上記読み取りバッファへの上記データセクタのそ れ以上の転送を禁止する請求項1に記載のデータバッファ監視装置。 3.上記データバッファ監視装置は、上記ディスクドライブシステムの上記制御 手段から、 上記転送コントローラに接続される読み取りモード信号であって、高レベル のときに上記ホストからの読み取り要求を指示しそして低レベルのときに上記ホ ストからの書き込み要求を指示する読み取りモード信号と; 上記書き込みバッファモニタに接続される書き込みブロック信号であって、 高レベルのときに、上記書き込みバッファに記憶されたデータセクタを上記ディ スクへ転送するために解放できることを指示する書き込みブロック信号と; 上記読み取りバッファモニタ及び上記書き込みバッファモニタの両方に接続 されるクロック信号と; 上記読み取りバッファモニタ及び上記書き込みバッファモニタの両方に接続 されるブロックカウント信号であって、上記ホストにより発生される読み取り又 は書き込み要求により転送のために要求されるデータセクタの数を指示するブロ ックカウント信号と; 上記書き込みバッファモニタに接続された「ホストからのセクタ転送」信号 であって、各データセクタが上記ホストから上記書き込みバッファに転送された 後に発生される「ホストからのセクタ転送」信号と; 上記読み取りバッファモニタに接続された「ホストへのセクタ転送」信号で あって、各データセクタが読み取りバッファから上記ホストへ転送された後に発 生される「ホストへのセクタ転送」信号と; 上記読み取りバッファモニタに接続された「ディスクからのセクタ転送」信 号であって、各データセクタが上記ディスクから上記読み取りバッファへ転送さ れた後に発生される「ディスクからのセクタ転送」信号と; 上記書き込みバッファモニタに接続された「ディスクへのセクタ転送」信号 であって、各データセクタが上記書き込みバッファから上記ディスクへ転送され た後に発生される「ディスクへのセクタ転送」信号と; 上記読み取りバッファモニタに接続された多ブロック信号であって、高レベ ルであるときは、上記ホストによって発生された読み取り又は書き込み要求によ り2つ以上のデータセクタを転送することが要求されることを指示し、そして低 レベルであるときは、上記ホストによって発生された読み取り又は書き込み要求 により1つのセクタのみを転送することが要求されることを指示する多ブロック 信号と; 上記読み取りバッファモニタに接続された読み取りブロック信号であって、 高レベルであるときは、上記読み取りバッファの位置におけるデータセクタが読 み取りバッファから上記ホストへ転送された後に新たなデータセクタの記憶のた めに上記位置が直ちに解放されるようなリングモード動作を指示し、そして低レ ベルであるときは、データセクタが上記読み取りバッファから上記ホストへ転送 された後に上記データセクタが上記読み取りバッファに維持されるような保持モ ード動作を指示する読み取りブロック信号と、 を受け取る請求項1に記載のデータバッファ監視装置。 4.上記書き込みバッファモニタは、 上記書き込みバッファに記憶されたデータセクタであって、上記ディスクへ の転送に対して解放されなかったデータセクタの数のカウントを維持するための 保持カウンタと、 上記書き込みバッファに記憶されたデータセクタであって、上記ディスクへ の転送に対して解放されたデータセクタの数のカウントを維持するための解放カ ウンタと、 上記書き込みバッファに記憶することのできるデータセクタの最大数のカウ ントを記憶するためのバッファサイズレジスタと、 上記保持レジスタの上記カウントと、上記ブロックカウント信号のカウント との和が上記バッファサイズレジスタのカウント以下であるときに、上記「書き 込み転送OK」信号を発生するための転送手段と、 を備えた請求項3に記載のデータバッファ監視装置。 5.上記書き込みバッファモニタは、更に、 上記保持カウンタの上記カウントを上記解放カウンタの上記カウントに加算 すると共に、上記ディスクへの転送に対して解放されなかった上記書き込みバッ ファのデータセクタが上記ディスクへの転送に対して解放されたときに上記保持 カウンタのカウントをゼロに等しくするための状態マシンを備えた請求項4に記 載のデータバッファ監視装置。 6.上記状態マシンは、上記書き込みブロック信号が低レベルから高レベルへ変 化したときに上記保持カウンタのカウントに等しい一連の解放信号を発生し、 上記保持カウンタは、上記解放信号を受け取り、そして各々の上記解放信号 が受け取られるたびに1カウントだけ減少され、そして 上記解放カウンタは、上記解放信号を受け取り、そして各々の上記解放信号 が受け取られるたびに1カウントだけ増加される請求項5に記載のデータバッフ ァ監視装置。 7.上記保持カウンタは、上記「ホストからのセクタ転送」信号を受け取り、そ して各々の上記「ホストからのセクタ転送」信号を受け取るたびに1カウントだ け増加され、そして 上記解放カウンタは、上記「ディスクへのセクタ転送」信号を受け取り、そ して各々の上記「ディスクへのセクタ転送」信号を受け取るたびに1カウントだ け減少される請求項4に記載のデータバッファ監視装置。 8.上記読み取りバッファモニタは、 上記読み取りバッファに記憶されたデータセクタであって、上記ホストへ転 送するために解放されそして上記読み取りバッファに保持されているデータセク タの数のカウントを維持するための保持カウンタと、 上記読み取りバッファに記憶されたデータセクタの数のカウントを維持する セクタカウンタであって、上記カウントは、上記読み取りバッファに保持された データセクタの数と、上記ホストへ転送するために使用できる上記読み取り バッファに記憶されたデータセクタの数とを含むようなセクタカウンタと、 上記読み取りバッファに記憶できるデータセクタの最大数のカウントを記憶 するためのバッファサイズレジスタと、 上記保持レジスタの上記カウントと上記ブロックカウント信号のカウントと の和に等しい加算カウントを発生するための加算器と、 上記ホストにより発生された読み取り要求により上記ホストへ転送するため に要求されるデータセクタの数が、上記ホストへ転送するために使用できる上記 読み取りバッファのデータセクタ数以下であるときに、上記「読み取り転送OK 」信号を発生するための転送手段と、 を備えた請求項1に記載のデータバッファ監視システム。 9.上記読み取りバッファモニタは、更に、 上記セクタカウンタの上記カウントを上記保持カウンタのカウントだけ減少 すると共に、上記読み取りバッファの上記保持されたデータセクタが解放された ときに上記保持カウンタのカウントをゼロに等しく減少し、それにより、上記保 持されたデータセクタにより占有された位置であって上記読み取りバッファに新 たなデータセクタを記憶するために使用できる位置を与えるための状態マシンを 備えた請求項8に記載のデータバッファ監視装置。 10.上記状態マシンは、上記読み取りブロック信号が低レベルから高レベルへ変 化するときに、上記保持カウンタのカウントに等しい一連の解放信号を発生し、 上記保持カウンタは、上記解放信号を受け取り、そして各々の上記解放信号 を受け取るたびに1カウントだけ減少され、そして 上記セクタカウンタは、上記解放信号を受け取り、そして各々の上記解放信 号を受け取るたびに1カウントだけ減少される請求項9に記載のデータバッファ 監視装置。 11.上記保持カウンタは、上記「ホストへのセクタ転送」信号を受け取り、そし て各々の上記「ホストへのセクタ転送」信号を受け取るたびに1カウントだけ増 加され、そして 上記セクタカウンタは、上記「ディスクからのセクタ転送」信号を受け取り 、そして上記「ディスクからのセクタ転送」信号を受け取るたびに1カウントだ け増加される請求項8に記載のデータバッファ監視装置。 12.上記転送手段は、 上記セクタカウンタのカウントが上記保持カウンタのカウントより大きく且 つ上記多ブロック信号が低レベルであるときに「保持単一転送OK」信号を発生 するための第1手段と、 上記セクタカウンタのカウントが上記加算器の上記加算カウント以上であり 且つ上記多ブロック信号が高レベルであるときに「保持多数転送OK」信号を発 生するための第2手段と、 上記第1手段が上記「保持単一転送OK」信号を発生するか又は上記第2手 段が上記「保持多数転送OK」信号を発生するときに「保持転送OK」信号を発 生するための第3手段と、 上記セクタカウンタのカウントが上記ブロックカウント信号のカウント以上 であり且つ上記保持カウンタの上記カウントがゼロに等しいときに「リング転送 OK」信号を発生するための第4手段と、 上記第3手段が上記「保持転送OK」信号を発生し且つ上記読み取りブロッ ク信号が低レベルであるか、或いは上記第4手段が上記「リング転送OK」信号 を発生し且つ上記読み取りブロック信号が高レベルであるときに、「読み取り転 送OK」信号を発生するための第5手段と、 を備えている請求項8に記載のデータバッファ監視装置。 13.上記転送手段は、更に、 上記セクタカウンタの上記カウントが上記バッファサイズレジスタの上記カ ウントに等しく、上記制御手段により上記読み取りバッファに別のデータセクタ を記憶すると、上記ホストへ転送するのに使用されるデータセクタにオーバーラ イトしてしまうことを指示するときに、「バッファ・フル」信号を発生するため の第8手段を備え、 これにより、上記制御手段は、上記「バッファ・フル」信号に応答して、こ の「バッファ・フル」信号が上記読み取りバッファモニタ手段により不作動にさ れるまで、上記ディスクから上記読み取りバッファへの上記データセクタの更な る転送を禁止する請求項8に記載のデータバッファ監視システム。 14.上記書き込みバッファモニタは、 上記書き込みバッファに記憶されたデータセクタであって、上記ディスクへ の転送に対して解放されなかったデータセクタの数のカウントを維持するための 保持カウンタと、 上記書き込みバッファに記憶されたデータセクタであって、上記ディスクへ の転送に対して解放されたデータセクタの数のカウントを維持するための解放カ ウンタと、 上記書き込みバッファに記憶することのできるデータセクタの最大数のカウ ントを記憶するためのバッファサイズレジスタと、 上記保持レジスタの上記カウントと、上記ブロックカウント信号のカウント との和が上記バッファサイズレジスタのカウント以下であるときに、上記「書き 込み転送OK」信号を発生するための転送手段と、 を備え、そして上記読み取りバッファモニタは、 上記読み取りバッファに記憶されたデータセクタであって、上記ホストへ転 送するために解放されそして上記読み取りバッファに保持されているデータセク タの数のカウントを維持するための保持カウンタと、 上記読み取りバッファに記憶されたデータセクタの数のカウントを維持する セクタカウンタであって、上記カウントは、上記読み取りバッファに保持された データセクタの数と、上記ホストへ転送するために使用できる上記読み取りバッ ファに記憶されたデータセクタの数とを含むようなセクタカウンタと、 上記読み取りバッファに記憶できるデータセクタの最大数のカウントを記憶 するためのバッファサイズレジスタと、 上記保持レジスタの上記カウントと上記ブロックカウント信号のカウントと の和に等しい加算カウントを発生するための加算器と、 上記ホストにより発生された読み取り要求により上記ホストへ転送するため に要求されるデータセクタの数が、上記ホストへ転送するために使用できる上記 読み取りバッファのデータセクタ数以下であるときに、上記「読み取り転送OK 」信号を発生するための転送手段と、 を備えた請求項3に記載のデータバッファ監視システム。 15.上記書き込みバッファモニタは、更に、 上記保持カウンタの上記カウントを上記解放カウンタの上記カウントに加算 すると共に、上記ディスクへの転送に対して解放されなかった上記書き込みバッ ファのデータセクタが上記ディスクへの転送に対して解放されたときに上記保持 カウンタのカウントをゼロに等しくするための状態マシンを備えた請求項14に 記載のデータバッファ監視装置。 16.上記状態マシンは、上記書き込みブロック信号が低レベルから高レベルへ変 化したとき上記保持カウンタのカウントに等しい一連の解放信号を発生し、 上記保持カウンタは、上記解放信号を受け取り、そして各々の上記解放信号 が受け取られるたびに1カウントだけ減少され、そして 上記解放カウンタは、上記解放信号を受け取り、そして各々の上記解放信号 が受け取られるたびに1カウントだけ増加される請求項15に記載のデータバッ ファ監視装置。 17.上記保持カウンタは上記「ホストからのセクタ転送」信号を受け取り、そし て各々の上記「ホストからのセクタ転送」信号を受け取るたびに1カウントだけ 増加され、そして 上記解放カウンタは、上記「ディスクへのセクタ転送」信号を受け取り、そ して各々の上記「ディスクへのセクタ転送」信号を受け取るたびに1カウントだ け減少される請求項14に記載のデータバッファ監視システムの書き込みバッフ ァモニタ。 18.上記読み取りバッファモニタは、更に、 上記セクタカウンタの上記カウントを上記保持カウンタのカウントだけ減少 すると共に、上記読み取りバッファの上記保持されたデータセクタが解放された ときに上記保持カウンタのカウントをゼロに等しく減少し、それにより、上記保 持されたデータセクタにより占有された位置であって上記読み取りバッファに新 たなデータセクタを記憶するために使用できる位置を与えるための状態マシンを 備えた請求項14に記載のデータバッファ監視装置。 19.上記状態マシンは、上記読み取りブロック信号が低レベルから高レベルへ変 化するときに、上記保持カウンタのカウントに等しい一連の解放信号を発生し、 上記保持カウンタは、上記解放信号を受け取り、そして各々の上記解放信号 を受け取るたびに1カウントだけ減少され、そして 上記セクタカウンタは、上記解放信号を受け取り、そして各々の上記解放信 号を受け取るたびに1カウントだけ減少される請求項18に記載のデータバッフ ァ監視装置。 20.上記保持カウンタは、上記「ホストへのセクタ転送」信号を受け取り、そし て各々の上記「ホストへのセクタ転送」信号を受け取るたびに1カウントだけ増 加され、そして 上記セクタカウンタは、上記「ディスクからのセクタ転送」信号を受け取り 、そして上記「ディスクからのセクタ転送」信号を受け取るたびに1カウントだ け増加される請求項14に記載のデータバッファ監視装置の読み取りバッファモ ニタ。 21.上記読み取りバッファモニタの上記転送手段は、 上記セクタカウンタのカウントが上記保持カウンタのカウントより大きく且 つ上記多ブロック信号が低レベルであるときに「保持単一転送OK」信号を発生 するための第1手段と、 上記セクタカウンタのカウントが上記加算器の上記加算カウント以上であり 且つ上記多ブロック信号が高レベルであるときに「保持多数転送OK」信号を発 生するための第2手段と、 上記第1手段が上記「保持単一転送OK」信号を発生するか又は上記第2手 段が上記「保持多数転送OK」信号を発生するときに「保持転送OK」信号を発 生するための第3手段と、 上記セクタカウンタのカウントが上記ブロックカウント信号のカウント以上 であり且つ上記保持カウンタの上記カウントがゼロに等しいときに「リング転送 OK」信号を発生するための第4手段と、 上記第3手段が上記「保持転送OK」信号を発生し且つ上記読み取りブロッ ク信号が低レベルであるか、或いは上記第4手段が上記「リング転送OK」信号 を発生し且つ上記読み取りブロック信号が高レベルであるときに、「読み取り転 送OK」信号を発生するための第5手段と、 を備えている請求項14に記載のデータバッファ監視装置。 22.上記読み取りバッファモニタの上記転送手段は、更に、 上記セクタカウンタの上記カウントが上記バッファサイズレジスタの上記カ ウントに等しく、上記制御手段により上記読み取りバッファに別のデータセクタ を記憶すると、上記ホストへ転送するのに使用されるデータセクタにオーバーラ イトしてしまうことを指示するときに、「バッファ・フル」信号を発生するため の第8手段を備え、 これにより、上記制御手段は、上記「バッファ・フル」信号に応答して、こ の「バッファ・フル」信号が上記読み取りバッファモニタ手段により不作動にさ れるまで、上記ディスクから上記読み取りバッファへの上記データセクタの更な る転送を禁止する請求項14に記載のデータバッファ監視システム。
JP7524062A 1994-03-14 1995-03-10 ディスクドライブシステムのデータバッファ監視装置 Ceased JPH10500503A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US213,173 1980-12-04
US08/213,173 US5561823A (en) 1994-03-14 1994-03-14 Monitor system for determining the available capacity of a READ buffer and a WRITE buffer in a disk drive system
PCT/US1995/002773 WO1995025298A1 (en) 1994-03-14 1995-03-10 Data buffer monitoring apparatus in a disk drive system

Publications (1)

Publication Number Publication Date
JPH10500503A true JPH10500503A (ja) 1998-01-13

Family

ID=22794008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7524062A Ceased JPH10500503A (ja) 1994-03-14 1995-03-10 ディスクドライブシステムのデータバッファ監視装置

Country Status (7)

Country Link
US (1) US5561823A (ja)
EP (1) EP0750761B1 (ja)
JP (1) JPH10500503A (ja)
CA (1) CA2185468A1 (ja)
DE (1) DE69507290T2 (ja)
HK (1) HK1006370A1 (ja)
WO (1) WO1995025298A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546411B2 (en) 2001-09-14 2009-06-09 Bruner Curtis H Digital device configuration and method
US7551382B2 (en) 2001-09-14 2009-06-23 Bruner Curtis H Digital device configuration and method

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3290321B2 (ja) * 1994-12-20 2002-06-10 富士通株式会社 バッファ監視方法およびそのための装置
US5729713A (en) * 1995-03-27 1998-03-17 Texas Instruments Incorporated Data processing with first level cache bypassing after a data transfer becomes excessively long
US5717954A (en) * 1995-10-13 1998-02-10 Compaq Computer Corporation Locked exchange FIFO
US6279077B1 (en) * 1996-03-22 2001-08-21 Texas Instruments Incorporated Bus interface buffer control in a microprocessor
JPH09330179A (ja) * 1996-06-13 1997-12-22 Hitachi Telecom Technol Ltd 情報書込方法およびこの方法を利用した電話交換装置
US5935220A (en) * 1996-08-09 1999-08-10 Motorola Inc. Apparatus and method for high speed data and command transfer over an interface
US6189080B1 (en) * 1996-09-20 2001-02-13 Emc Corporation Minimum read rate throughput in a disk cache system
US5974571A (en) * 1997-09-30 1999-10-26 Intel Corporation Method and apparatus for avoiding deadlock in the issuance of commands that are reordered and require data movement according to an original command order
US6256685B1 (en) * 1998-11-23 2001-07-03 Adaptec, Inc. Delay data block release system in a disk drive
JP2001312373A (ja) * 2000-04-21 2001-11-09 Internatl Business Mach Corp <Ibm> データの書き込み方法およびディスクドライブ装置
US7389374B1 (en) 2000-05-17 2008-06-17 Marvell International Ltd. High latency interface between hardware components
US7281065B1 (en) 2000-08-17 2007-10-09 Marvell International Ltd. Long latency interface protocol
US7080169B2 (en) * 2001-12-11 2006-07-18 Emulex Design & Manufacturing Corporation Receiving data from interleaved multiple concurrent transactions in a FIFO memory having programmable buffer zones
US7500055B1 (en) * 2003-06-27 2009-03-03 Beach Unlimited Llc Adaptable cache for dynamic digital media
US7912954B1 (en) 2003-06-27 2011-03-22 Oesterreicher Richard T System and method for digital media server load balancing
US7054987B1 (en) * 2003-12-19 2006-05-30 Nvidia Corporation Apparatus, system, and method for avoiding data writes that stall transactions in a bus interface
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
KR100578143B1 (ko) * 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
US7539815B2 (en) * 2004-12-29 2009-05-26 International Business Machines Corporation Method, system and circuit for managing task queues in a disk device controller
JP4847036B2 (ja) * 2005-03-30 2011-12-28 キヤノン株式会社 バスアクセスを調停する制御装置およびデータ処理装置の制御方法
US8938561B2 (en) * 2013-01-10 2015-01-20 Skymedi Corporation Time-sharing buffer access system
JP6398309B2 (ja) * 2013-11-27 2018-10-03 株式会社リコー 情報処理装置、および情報処理方法
US10152237B2 (en) 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
KR20190099879A (ko) * 2018-02-20 2019-08-28 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10782916B2 (en) 2018-08-08 2020-09-22 Micron Technology, Inc. Proactive return of write credits in a memory system
US11409436B2 (en) * 2018-08-08 2022-08-09 Micron Technology, Inc. Buffer management in memory systems for read and write requests

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3999163A (en) * 1974-01-10 1976-12-21 Digital Equipment Corporation Secondary storage facility for data processing systems
US4423480A (en) * 1981-03-06 1983-12-27 International Business Machines Corporation Buffered peripheral system with priority queue and preparation for signal transfer in overlapped operations
US5163132A (en) * 1987-09-24 1992-11-10 Ncr Corporation Integrated controller using alternately filled and emptied buffers for controlling bi-directional data transfer between a processor and a data storage device
US5121480A (en) * 1988-07-18 1992-06-09 Western Digital Corporation Data recording system buffer management and multiple host interface control
US5249271A (en) * 1990-06-04 1993-09-28 Emulex Corporation Buffer memory data flow controller
US5155814A (en) * 1990-08-31 1992-10-13 International Business Machines Corporation Nonsynchronous channel/dasd communication system
US5274773A (en) * 1990-11-09 1993-12-28 Conner Peripherals, Inc. Flexible host interface controller architecture
DE69230204T2 (de) * 1991-08-16 2000-02-10 Fujitsu Ltd Pufferspeicher und Verwaltungsverfahren dafür
US5276662A (en) * 1992-10-01 1994-01-04 Seagate Technology, Inc. Disc drive with improved data transfer management apparatus

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546411B2 (en) 2001-09-14 2009-06-09 Bruner Curtis H Digital device configuration and method
US7551382B2 (en) 2001-09-14 2009-06-23 Bruner Curtis H Digital device configuration and method
US7689785B2 (en) 2001-09-14 2010-03-30 Bruner Curtis H Digital device configuration and method
US7702847B2 (en) 2001-09-14 2010-04-20 Bruner Curtis H Digital device configuration and method
US8001321B2 (en) 2001-09-14 2011-08-16 Benhov Gmbh, Llc Digital device configuration and method
US9396746B2 (en) 2001-09-14 2016-07-19 Benhov Gmbh, Llc Digital device configuration and method
US9940025B2 (en) 2001-09-14 2018-04-10 Benhov Gmbh, Llc Digital device configuration and method

Also Published As

Publication number Publication date
HK1006370A1 (en) 1999-02-26
EP0750761B1 (en) 1999-01-13
CA2185468A1 (en) 1995-09-21
DE69507290D1 (de) 1999-02-25
WO1995025298A1 (en) 1995-09-21
DE69507290T2 (de) 1999-08-19
EP0750761A1 (en) 1997-01-02
US5561823A (en) 1996-10-01

Similar Documents

Publication Publication Date Title
JPH10500503A (ja) ディスクドライブシステムのデータバッファ監視装置
US6181705B1 (en) System and method for management a communications buffer
US5920893A (en) Storage control and computer system using the same
EP0848321A2 (en) Method of data migration
JP2003501746A (ja) ホスト・システムとホスト・アダプタとの間でi/oブロックを自動的に転送するための方法および装置
JP2000181773A (ja) 記憶装置システム
JPH06175786A (ja) ディスクアレイ装置
JP2943710B2 (ja) バッファのビジー制御方式
EP1118942A2 (en) Method of and system for managing reselection on a scsi bus
JPH02310649A (ja) 受信フレーム転送方式および通信制御装置
JP3477056B2 (ja) データ転送装置
US5860087A (en) Data search method wherein the court-key-data (CKD) storage subsystem disconnects from the central processing unit when searching
US6822967B1 (en) Relay unit and frame tracing method
KR920007949B1 (ko) 컴퓨터 주변장치 제어기
JPH05173933A (ja) ダイレクトメモリアクセス転送方式
JPH03127157A (ja) 記憶装置の負荷バランス制御方式
JP2784520B2 (ja) ファイル転送装置
JPH0231225A (ja) 緩衝記憶のデータ管理規則試験方式
JPH03296841A (ja) キャッシュ制御方式
JPS6022243A (ja) 内容検索処理方式
JP2969752B2 (ja) 情報処理装置、データ転送方法、および再試行データ転送方法
JP3364751B2 (ja) データ転送システム
JPH0410652B2 (ja)
JPH04148247A (ja) ランダムアクセス可能な記憶装置の自動ファイル最適化処理方式
JPH10320351A (ja) バッファ方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040817

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041117

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050107

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20050404

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607