JPH03134732A - バッファ制御装置 - Google Patents

バッファ制御装置

Info

Publication number
JPH03134732A
JPH03134732A JP26798689A JP26798689A JPH03134732A JP H03134732 A JPH03134732 A JP H03134732A JP 26798689 A JP26798689 A JP 26798689A JP 26798689 A JP26798689 A JP 26798689A JP H03134732 A JPH03134732 A JP H03134732A
Authority
JP
Japan
Prior art keywords
pointer
buffer
read
write
value
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.)
Pending
Application number
JP26798689A
Other languages
English (en)
Inventor
Tsutomu Numata
勉 沼田
Kazutaka Ogaki
大垣 一隆
Mario Yamaguchi
真理夫 山口
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP26798689A priority Critical patent/JPH03134732A/ja
Priority to EP19900311377 priority patent/EP0424116A3/en
Publication of JPH03134732A publication Critical patent/JPH03134732A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、例えばハードディスク装置に使用されるバッ
ファにおけるデータの読出し及び書込みのタイミング制
御を行うバッファ制御装置に関する。
(従来の技術) 一般に、ハードディスク装置のデータ転送には、■数の
バッファが使用されており、ノ1−ドディスクコントロ
ーラが制御プログラムに基づきこれらバッファの切替え
やデータ転送の停止、再開等を行う。
第7図はこうした制御プログラムに基づきドライブから
ホストに対しデータの読出しを行う例を示す図である。
まず、ドライブからバッファへのデータ転送を開始させ
る(同図■)。この後、ドライブよる1セクタ分のデー
タ転送を待ち(同図■)、転送が終了すると(同図■)
、ドライブからデータ転送の転送されるバッファを次の
バッファに切替えさせる。そして、バッファからホスト
へのデータ転送を開始させる(同図■)とともにドライ
ブからバッファへのデータ転送を再開させる(同図■)
。
この後、ホストへの1セクタ分のデータ転送の終了を待
つ(同図■)。以下、各データ転送の終了の監視、バッ
ファの切替え、転送、再開が繰返される。
ところが、このように制御プログラムによりデータ転送
を制御する方法では、各データ転送の終了の監視がCP
Uにとって大きな負担となり、それ以外の例えばアクチ
ュエータの制御やホストからのコマンドの処理か困難に
なるという問題がある。また、プログラムによる制御で
あるため、処理速度に限界があるという問題もある。特
に、/\−ドディスク装置のような規模の小さなシステ
ムでは、単一のCPUによりアクチュエータの制御等も
行う必要があるので、バッファ切替え等の処理中にこれ
らの処理が割込み、この結果として処理時間が非常に長
くなる場合がある。
このため、ハードディスクコントロー911本か制御プ
ログラムによらず独立に上述した一連の処理をすること
が望まれる。
ところが、その場合、バッファへのデータの書込みとバ
ッファからのデータの読出しのタイミング制御をプログ
ラムによる監視によらないで行う技術が要求される。即
ち、プログラムの監視によらないで、データが未だ満さ
れていないバッファからの読出しやデータが未だ読出さ
れていないバッファに対するデータの上書きを防り卜す
る必要かある。
そこで、例えば特開昭61−60124号公報に記載さ
れた技術を適用することで、こうしたタイミング制御を
実現することが考えられる。
即ち、特開昭0f−130124号に示された技術によ
れば、第8図に示すように、バッファの書込みアドレス
を指定する書込みポインタと、バッファの読出しアドレ
スを指定する読出しポインタとを設け、書込みポインタ
の値と読出しポインタの値とを常に比較し、書込みポイ
ンタの値が読出しポインタの値より大きいときのみバッ
ファからの読出しが可能な構成とし、書込みポインタが
バッファのアドレス0,1.2および3を順次指定し、
これらのアドレスにデータを書込み(第8図(a)参照
)、その後、読出しポインタがバッファのアドレス0゜
1.2および3を順次指定し、これらのアドレスからデ
ータを読出す(第8図(b)参照)。なお、第8図中、
バッファの斜線の付された領域は、ブタが存在している
領域である。
(発明が解決しようとする課題) 上記特開昭61−60124号に開示された技術によれ
ば、書込みポインタの値が読出しポインタの値より大き
くないと読出しを行えなくなってしまうので、例えば第
8図のバッファのアドレス0および1が読出し完了によ
り空になっても、書込みポインタの値をアドレス0およ
び1にしてこれらのアドレスにデータを書込むことがで
きない。すなわち、例えば、読出しポインタがアドレス
2を指定しているときに、書込みポインタがアドレス0
を指定すると、読出しポインタの値が書込みポインタの
値より大きくなってしまい、アドレス2がらの読出しが
不可能になってしまう。
このように、特開昭81−60124号に開示された技
術に従うと、読出しポインタの値より小さな値のアドレ
スの領域には書込みを行えず、バッファの使用効率が悪
く、データ転送速度が低下してしまう。
本発明は、書込みポインタの値と読出しポインタの値の
大小関係にかかわらず、データの記憶されていない領域
にデータの書込みを行うことができ、従ってバッファの
使用効率の高いバッファ制御装置および方法を提供する
ことを目的とする。
[発明の構成コ (課題を解決するための手段) かかる課題を解決するために、本発明は、2つのデータ
バス間に設けられたバッファの書込み及び読出しのタイ
ミング制御を行うバッファ制御装置において、前記バッ
ファの書込みアドレスを指定する書込みポインタと、前
記バッファの読出しアドレスを指定する読出しポインタ
と、前記書込みポインタの値と前記読出しポインタの値
とを比較する比較器と、この比較器から一致信号が出力
されたとき、前記書込みポインタまたは読出しポインタ
のうち後から追付いたポインタを判別する判別手段と、
この判別手段により書込みポインタが後から追付いたと
判別されたとき、前記バッファへの書込みを禁止し、前
記判別手段により読出しポインタが後から追付いたと判
別されたとき、前記バッファからの読出しを禁止する書
込み・読出し規制手段とを具備するものである。
また、書込みアドレスを指定する書込みポインタと読出
しアドレスを指定する読出しポインタとを使用してバッ
ファの書込み及び読出しを行う方法において、前記書込
みポインタの値と前記読出しポインタの値とが一致した
とき、これら書込みポインタまたは読出しポインタのう
ち後から追付いたポインタに対応する書込みまたは読出
しの動作を停止させるものである。
更に、書込みアドレスを指定する書込みポインタと読出
しアドレスを指定する読出しポインタとを使用してバッ
ファの書込み及び読出しを行う方法において、前記書込
みポインタの値を変更せずに前記読出しポインタの値を
変更させることで、前記書込みポインタの値と前記読出
しポインタの値とが一致したとき、読出しポインタに対
応する読出しの動作を禁止し、前記読出しポインタの値
を変更せずに前記書込みポインタの値を変更させること
で、前記書込みポインタの値と前記読出しポインタの値
とが一致したとき、書込みポインタに対応する書込みの
動作を禁止するものである。
(作 用) 本発明によれば、例えば、第1図(a)に示されている
ように、書込みポインタがバッファのアドレス0,1.
2および3を順次指定し、これらのアドレスにデータを
書込む。これに続いて、読出しポインタがバッファのア
ドレス0,1.2および3を順次指定してこれらのアド
レスからデータが読出される。ここで、例えば、バッフ
ァのアドレス0,1および2からのデータの読出しが完
了したとする。このような状態において、従来は、書込
みポインタの値が読出しポインタの値より大きくないと
読出しを行えないように(l■成していたので、アドレ
ス3からの読出しを可能にするために、書込みポインタ
がアドレス0を指定してこのアドレスに書込みを行えな
かった。しがし、本発明では、後から追いついた方のポ
インタの動作を止めるように構成しているので、第1図
(b)に示すように、書込みポインタはバッファのアド
レス0を指定でき、このアドレスにデータを書込むこと
ができる。そして、書込みポインタの値は読出しポイン
タの値に一致するまで増加させることができる。第1図
(C)に示されているように、読出しポインタがアドレ
ス3を指定していたとすると、書込みポインタの値がア
ドレス3を示す値となったとき、書込み側の動作を停止
させる。これは、バッファのアドレス3の読出し動作が
完了する前に、このアドレスに新たなデータか書込まれ
るのを防止するためである。なお、第1図中、斜線はバ
ッファにデータが記憶されていることを示す。
(実施例) 以下、本発明の実施例の詳細を図面に基づいて説明する
。
本実施例に係るバッファ制御装置は、基本的には、ホス
ト側やドライブ側によるバッファの書込みや読出しデー
タが複数セクタ分に亘る場合であっても、各セクタ間の
監視は行わないで、連続的に書込みや読出しを行うよう
にしている。
ただし、このような方式にすると、データが未だ満され
ていないバッファからの読出しやデータが未だ読出され
ていないバッファに対するデータの上書きがなされる虞
れがあるので、第2図及び第3図に示す回路を備える。
第2図において、1はドライブ側のポインタ部、2はホ
スト側のポインタ部を示している。 これらポインタ部
1.2は、11ビツトのレジスタからなり、インクリメ
ント可能なレジスタとして働く。
インクリメントは、■セクタ分のデータ転送か終了した
ときドライブ側、ホスト側から出力される信号が端子3
.4を介しポインタ部1.2のインクリメント端子に人
力されたときに起こる。尚、DO〜D7端子は、ホスト
側からのアドレス・データが人力される端子である。ま
た、オーバーフローのときは  0”にリセットされ、
オーバーフローの起こる値は他に設けられたレジスタに
よって設定可能とされている。
5はポインタ部1のPO〜P7端子のいずれかの端子か
ら出力されるドライブ側ポインタの値とポインタ部2の
QO〜Q7端子のいずれかの端子から出力されるホスト
(IIIJポインタの値とを比較し、これらの値が一致
したとき一致信号を出力する比較器である。
6は比較器5から一致信号が出力されたとき、ドライブ
側ポインタまたはホスト側ポインタのうち後から追付い
たポインタを判別する判別回路である。この判別回路6
は、比較器5からの一致信号と端子3から入力されるド
ライブ側インクリメント信号との論理積をとることで、
ドライブ側ポインタが後から追付いたことを示す信号を
出力するアンド回路7と、比較器5からの一致信号と端
子4から人力されるホスト側インクリメント信号との論
理積をとることで、ホスト側ポインタが後から追付いた
ことを示す信号を出力するアンド回路8とから構成され
る。
アンド回路7から出力される信号は、オア回路9を介し
端子10よりドライブ側のデータ転送(バッファからの
データ読出しまたはバッファへのデータ書込み)を禁止
する信号として出力される。一方、アンド回路8から出
力される信号は、オア回路11を介し端子12よりホス
ト側のデータ転送(バッファからのデータ読出しまたは
バッファへのデータ書込み)を禁止する信号として出力
される。
13はドライブ側とホスト側の双方がデータ転送を開始
する前に、比較器5から一致信号か出力されたとき即ち
ドライブ側ポインタの値とホスト側ポインタの値とが一
致しているとき、ドライブ側、ホスト側のうち後からデ
ータ転送を始めようとした方を、後から追付いたポイン
タとみなす補助判別回路である。この補助判別回路13
は、比較器5からの一致信号と端子14から人力される
ドライブ側データ転送開始信号と端子15から入力され
るホスト側動作中信号との論理積をとることで、ドライ
ブ側ポインタが後から追付いたとみなす信号を出力する
アンド回路16と、比較器5からの一致信号と端子17
から入力されるホスト側データ転送開始信号と端子18
から人力されるドライブ側動作中信号との論理積をとる
ことで、ホスト側ポインタが後から追付いたとみなす信
号を出力するアンド回路19とから構成される。
アンド回路16から出力される信号は、オア回路9を介
し端子10よりドライブ側のデータ転送を禁止する信号
として出力される。一方、アンド回路19から出力され
る信号は、オア回路11を介し端子12よりホスト側の
データ転送を禁止する信号として出力される。
第3図は、第2図に示した回路によりデータ転送を禁止
すべきとされたドライブ側またはホスト側のデータ転送
を中断させるとともに、いずれか一方のポインタの値の
更新によりドライブ側ポインタの呟とホスト側ポインタ
の値とが不一致となったとき、データ転送を再開させる
回路を示している。
同図に示す回路は、端子10から人力されるドライブ側
データ転送禁止信号によりセットされ、端子21から入
力されるホスト側のデータ転送完了を示すホスト側イン
クリメント信号によりリセットされるラッチ回路22と
、端子12から入力されるホスト側データ転送禁止信号
によりセットされ、端子24から入力されるドライブ側
のブタ転送完了を示すドライブ側インクリメント信号に
よりリセットされるラッチ回路25とから構成される。
ラッチ回路22からの信号は、ドライブ側のデータ転送
を中断または再開させるものとして端子26から出力さ
れる。一方、ラッチ回路25からの信号は、ホスト側の
データ転送を中断または再開させるものとして端子27
から出力される。
以上のように構成されたバッファ制御装置は、次のよう
なデータ転送制御規則を持つことになる。
規則1 第1のポインタがデータ転送を行う途中で第2のポイン
タに追付いたとき、追付いた方の第1のポインタ側のデ
ータ転送は中断される。そして、第2のポインタがイン
クリメントされると、中断されていた第1のポインタ側
のデータ転送は再開される。
規則2 第1のポインタと第2のポインタの双方のデータ転送が
始まる前に、第1のポインタと第2のポインタが一致し
ているとき、後からデータ転送を開始しようとしたポイ
ンタ側のデータ転送は延期される。
次に、本実施例のバッファ制御装置による動作例を説明
する。
第4図は第1の動作例を示している。
第4図において、破線の矢印PIはドライブ側のポイン
タを示し、矢印の到達点がポインタの値を示す。すなわ
ち、ポインタptは、期間DI。
D 2.D 3.D 4.D 5.D B、D 7.D
 8.D 9.D 10.およびDllにおいてそれぞ
れバッファ(1) 、 (2) 、 (3)、 (4)
 。
(5) 、 (6) 、 (7) 、 (8) 、 (
9) 、 (10)および(11)を指定する。
破線の矢印P2はホスト側のポインタを示し、矢印の到
達点かポインタの値を示す。すなわち、ポインタP2は
、期間Hl、H2,H3,H7,H8,およびH9にお
いてそれぞれバッファ(1)、 (2)、 <3) 、
 (7) 。
(8)および(9)を指定する。第4図の■で示された
時点でディスクのセクタ(1)乃至(11)に記憶され
ているデータをバッファへ転送せよとのコマンドが発せ
られ、続いて■で示された時点でセクタ(1) 、 (
2)および(3)に記憶されたデータをホストに転送せ
よとのコマンドが発せられたとする。まず、ドライブ側
から動作が始まり、ドライブ側ポインタP1が示すバッ
ファ(1)にディスクのセクタ(1)のデータが転送さ
れる。続いてホスト側の動作が始まり、ホスト側のポイ
ンタP2がディスク側のポインタP1と同じバッファ(
1)を指定するが、アンド回路1つがホスト側ポインタ
が後から追いついたとみなす信号を出力し、オア回路1
1からホスト側データ転送禁止信号が出力されラッチ回
路25からホスト側データ転送中断信号か発生するので
、バッファ(1)からのホスト側へのデータ読出しが禁
止される。
ドライブ側からバッファ(1)へのデータ転送が完了し
てドライブ側のポインタPLが2にインクリメントする
と、オア回路11からホスト側データ転送禁止信号が出
力されなくなりラッチ回路25からホスト側データ転送
再開信号が出力され、バッファ(1)のデータがホスト
側に転送される。
すなわちバッファ(1)のデータがホスト側に転送され
るのは、期間DIと期間H1の非重複期間である。
また、ドライブ側のポインタP1が2にインクリメント
しバッファ(2)を示すと、ドライブ側からセクタ(2
)のデータがバッファ(2)に転送される。一方、バッ
ファ(1)からホスト側へのデータ転送が完了すると、
ホスト側のポインタP2もドライブ側のポインタP1と
同様にセクタ(2)を指定するようになるが、オア回路
11からホスト側データ転送禁止信号が出力されラッチ
回路25からホスト側データ転送゛中断信号が発生する
ので、バッファ(2)からホスト側へのデータ読出しか
禁止される。ドライブ側からバッファ(2)へのデータ
転送が完了してドライブ側のポインタP1が3にインク
リメントすると、オフ回路11からホスト側データ転送
禁止信号が出力されなくなり、ラッチ回路25からホス
ト側データ転送再開信号が出力され、バッファ(2)の
データがホスト側に転送される。すなわち、バッファ(
2)のデータがホスト側に転送されるのは、期間D2と
期間H2の非重複期間である。
同様に、期間D3と期間H3の非重複期間に、バッファ
(3)にS己憶されたセクタ(3)のデータがホスト側
に転送される。
その後、ドライブ側のポインタP1はインクリメントさ
れ、セクタ(4) 、 (5) 、 (6) 、 (7
)および(8)に記憶されているデータが、期間D 4
.D 5.D B、DIおよびD8の間にバッファD 
4.D 5.D 6.D 7およびD8に転送される。
第4図の■で示された時点でセクタ(7)、 (8) 
。
(9)に記憶されているデータをホストへ転送せよとの
コマンドが発せられたとする。そうすると、ホスト側の
ポインタP2が7にセットされてバッファ(7)を指定
する。このときドライブ側のポインタPlはバッファ(
9)を指定しているので、両ポインタの値は一致せず、
したがって、オア回路11からホスト側データ転送禁止
信号は出力されないから、バッファ(7)からホスト側
へのデータ転送が即時にされる。
バッファ(7)からホスト側へのデータ転送が完了する
と、ホスト側ポインタP2はバッファ(8)を指定する
ようにインクリメントされるが、このときドライブ側の
ポインタPLはバッファ(10)を指定しているので、
バッファ(7)からのデータ転送と同様にバッファ(8
)からのホスト側へのデータ転送も即時に開始される。
バッファ(9)からホスト側へのデータ転送も、ホスト
側ポインタP2が9になると同時に開始される。
第5図は第2の動作例を示している。
第5図の■で示された時点で、ドライブ側とディスクの
セクタ(1)乃至(6)に記憶されているデータをバッ
ファへ転送せよとのコマンドが発せられたとする。この
とき、ホスト側は動作していないので、アンド回路16
からはドライブ側ポインタが後から追い付いたとみなす
信号は出力されず、またポインタ(1)と2の値は一致
しているものの端子3にドライブ側インクリメント信号
が入力されないので、アンド回路7がドライブ側ポイン
タが後から追いついたことを示す信号を出力せす、オア
回路9からドライブ側データ転送禁止信号は出力されな
い。従って、ドライブ側ポインタP1がバッファ(1)
を指定しているとき、セクタ(1)のデータがバッファ
(1)に転送される。続いてドライブ側ポインタPIが
順次バッファ(2) 、 (3) 。
(4)および(5)を指定するが、このとき両ポインタ
の値は一致しないので、セクタ(2) 、 (3) 、
 (4)および(5)のデータかバッファ(2) 、 
(3) 、 (4)および(5)にそれぞれ転送される
。図中、ドライブ側ポインタPlがセクタ(5)を指定
している期間D5が長くなっているのは、本来セクタ(
5)に割当てられるべき物理セクタに欠陥があって隣り
のセクタにセクタ(5)が割当てられているため、ヘッ
ドがセクタ(5)に到達するのに長い時間を要したため
である。
第5図の■で示された時点で、セクタ(3) 、 (4
)および(5)に記憶されているデータをホスト側へ転
送せよとのコマンドが発せられたとする。これに応じて
、ホスト側ポインタP2がバッファ(3)を指定する。
このときドライブ側ポインタPIはバッファ(5)を指
定しているので、両ポインタの値は一致しておらず、従
ってオア回路11からホスト側データ転送禁止信号が出
力されないから、バッファ(3)からセクタ(3)のデ
ータかホスト側に転送される。この転送が完了するとホ
スト側のポインタP2はバッファ(4)を指定するが、
このときドライブ側ポインタP1はバッファ(5)を指
定しているので、両ポインタの値は一致せず、バッファ
(3)と同様にバッファ(4)からセクタ(4)へのデ
ータがホスト側に転送される。
この転送が完了すると、ホスト側のポインタP2はバッ
ファ(5)を指定するようにインクリメントされ、ポイ
ンタP1とP2の値か一致する。従って、この場合、ア
ンド回路8か、ホスト側がドライブ側に後から追付いた
ことを示す信号を出力し、オア回路11がホストデータ
転送禁止信号が出力され、バッファ(5)からホスト側
への読出しが禁止される。その後、ドライブ側からバッ
ファ(5)に対するデータ転送が完了しドライブ側ポイ
ンタP1が6にインクリメントされることにより、ホス
ト側ポインタP2とドライブ側ポインタP1とが一致し
なくなると、比較器5は一致信号を出力しなくなり、ラ
ッチ回路25がホスト側データ転送再開信号を出力する
のでセクタ(5)のデータがバッファからホスト側に転
送される。
従って、データが未だ満されていないバッファからの読
出しが防止されることがこの例から分る。
第6図はバッファを環状に使用した場合を示している。
同図■に示す時点でドライブ側からセクタ(1)からセ
クタ(4)の4セクタ分をバッファに転送せよとのコマ
ンドが発せられたとする。
そうすると、第5図に示された例と同様に、ディスクの
セクタ(1)、(2)および(3)に記憶されているデ
ータがそれぞれバッファm、(2)および(3)に転送
される。
第6図の■で示された時点でセクタ(1)、 (2) 
。
(3)および(4)に記憶されているデータをホストへ
転送せよとのコマンドが発せられたとする。これに応じ
て、ホスト側ポインタP2がバッファ(1)を指定する
。このとき、ドライブ側ポインタP1はバッファ(3)
を指定しているので、両ポインタの値は一致しておらず
、従ってオア回路11からホスト側データ転送禁止信号
が出力されないから、バッファ(1)からセクタ(1)
のデータがホスト側に転送される。
このデータ転送中に、ドライブ側ポインタP1の値がイ
ンクリメントされ、このポインタptはバッファ(1)
を指定するようになる。そうすると、比較器5は一致信
号を出力し、端子3にはドライブ側インクリメント信号
か印加されるので、アンド回路7がドライブ側ポインタ
が後から追いついたことを示す信号を出力し、オア回路
9からドライブ側データ転送禁止信号か出力される。従
って、この時点では、セクタ(4)のデータがバッファ
(1)に転送されることはない。
ホスト側へのバッファ(1)からのデータ転送が完了す
ると、ホスト側ポインタP2がインクリメントされてバ
ッファ(2)を指定するようになり、比較器5は一致信
号を出力しなくなってオア回路9からドライブ側データ
転送禁止信号が出力されなくなり、ラッチ回路22がド
ライブ側データ転送再開信号を出力する。これによりセ
クタ(4)のデータがバッファ(1)に書込まれる。従
来では、書込みポインタPiの値が読出しポインタP2
の値より大きいときのみ読出し可能としていたため、読
出し中のアドレスより小さなアドレスに書込みを行えな
かったが、本発明の実施例では、上述のように読出し中
のバッファ(2)よりアドレスか小さいバッファ(1)
に書込みが行え、バッファの有効利用が可能となる。
バッファ(1)へのセクタ(4)のデータの書込み中に
もバッファ(2)に記憶されたセクタ(2)のデータの
ホスト側への転送が行われる。これは、両ポインタpt
とP2の値が一致していないから当然である。バッファ
(2)からホスト側へのデータ転送完了後、ポインタP
2は順次バッファ(3)および(1)を指定し、これら
のバッファからホスト側へのデータ転送が行われる。
尚、本発明は上述した実施例に限定されない。
例えば、上述した実施例では、書込み側かドライブで読
込み側がホストであったが、その逆であってもfMわな
い。
また、上述した実施例は、本発明をハードディスク装置
に適用したものであったか、バッファを有する他の装置
にも本発明を適用できる。
更に、本発明は、その技術的思想の範囲内て挿々の変形
が可能であり、勿論その範囲を含む。
[発明の効果] 以上説明したように本発明によれば、書込みアドレスを
指定する書込みポインタと、読出しアドレスを指定する
読出しポインタと設け、書込みポインタの値と読出しポ
インタの値とを常に比較するるとともに、書込みポイン
タの値と読出しポインタの値とが一致したとき、後から
追付いたポインタを判別し、書込みポインタか後から追
付いたと判別したときバッファへの書込みを禁止し、逆
に読出しポインタが後から追付いたと判別したときバッ
ファからの読出しを禁止するようにしたので、バッファ
へのデータの書込みとバッファからのデータの読出しの
タイミング制御をプログラムによらないで行え、しかも
極めて効率のよい処理が行える。
【図面の簡単な説明】
第1図は本発明の特徴的動作を示す図、第2図及び第3
図は本発明の一実施例に係るバッファ制御装置の構成を
示す図、第4図及び第5図はこの実施例の動作例を示す
図、第6図はバッファが環状である場合の動作例を示す
図、第7図は従来のタイミング制御をプログラムによっ
た場合の動作例を示す図、第8図は従来のタイミング制
御をプログラムによらない場合の動作例を示す図である
。 1・・・ドライブ側のポインタ部、2・・・ホスト側の
ポインタ部、5・・・比較器、6・・・判別回路、13
・・・補助判別回路。

Claims (3)

    【特許請求の範囲】
  1. (1)2つのデータバス間に設けられたバッファの書込
    み及び読出しのタイミング制御を行うバッファ制御装置
    において、 前記バッファの書込みアドレスを指定する書込みポイン
    タと、 前記バッファの読出しアドレスを指定する読出しポイン
    タと、 前記書込みポインタの値と前記読出しポインタの値とを
    比較する比較器と、 この比較器から一致信号が出力されたとき、前記書込み
    ポインタまたは前記読出しポインタのうち後から追付い
    たポインタを判別する判別手段と、この判別手段により
    書込みポインタが後から追付いたと判別されたとき、前
    記バッファへの書込みを禁止し、前記判別手段により読
    出しポインタが後から追付いたと判別されたとき、前記
    バッファからの読出しを禁止する書込み・読出し規制手
    段と を具備することを特徴とするバッファ制御装置。
  2. (2)書込みアドレスを指定する書込みポインタと読出
    しアドレスを指定する読出しポインタとを使用してバッ
    ファの書込み及び読出しを行う方法において、 前記書込みポインタの値と前記読出しポインタの値とが
    一致したとき、これら書込みポインタまたは読出しポイ
    ンタのうち後から追付いたポインタに対応する書込みま
    たは読出しの動作を停止させることを特徴とするバッフ
    ァ書込み・読出し方法。
  3. (3)書込みアドレスを指定する書込みポインタと読出
    しアドレスを指定する読出しポインタとを使用してバッ
    ファの書込み及び読出しを行う方法において、 前記書込みポインタの値を変更せずに前記読出しポイン
    タの値を変更させることで、前記書込みポインタの値と
    前記読出しポインタの値とが一致したとき、読出しポイ
    ンタに対応する読出しの動作を禁止し、 前記読出しポインタの値を変更せずに前記書込みポイン
    タの値を変更させることで、前記書込みポインタの値と
    前記読出しポインタの値とが一致したとき、書込みポイ
    ンタに対応する書込みの動作を禁止することを特徴とす
    るバッファ書込み・読出し方法。
JP26798689A 1989-10-17 1989-10-17 バッファ制御装置 Pending JPH03134732A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP26798689A JPH03134732A (ja) 1989-10-17 1989-10-17 バッファ制御装置
EP19900311377 EP0424116A3 (en) 1989-10-17 1990-10-17 Buffer control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26798689A JPH03134732A (ja) 1989-10-17 1989-10-17 バッファ制御装置

Publications (1)

Publication Number Publication Date
JPH03134732A true JPH03134732A (ja) 1991-06-07

Family

ID=17452326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26798689A Pending JPH03134732A (ja) 1989-10-17 1989-10-17 バッファ制御装置

Country Status (2)

Country Link
EP (1) EP0424116A3 (ja)
JP (1) JPH03134732A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076043A (ja) * 1993-03-05 1995-01-10 Mitsubishi Electric Corp マルチスレッド・サーバ

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6325506B1 (en) * 2000-10-18 2001-12-04 George F. Cooper Interchangeable eyeglass lens system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694426A (en) * 1985-12-20 1987-09-15 Ncr Corporation Asynchronous FIFO status circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076043A (ja) * 1993-03-05 1995-01-10 Mitsubishi Electric Corp マルチスレッド・サーバ

Also Published As

Publication number Publication date
EP0424116A3 (en) 1992-09-30
EP0424116A2 (en) 1991-04-24

Similar Documents

Publication Publication Date Title
US5794072A (en) Timing method and apparatus for interleaving PIO and DMA data transfers
US20020161941A1 (en) System and method for efficiently performing a data transfer operation
US20040230784A1 (en) Concurrent program loading and execution
JPH01277928A (ja) 印刷装置
US6560657B1 (en) System and method for controlling peripheral devices
US6732198B1 (en) Methods and apparatus for saving and restoring scatter/gather list processing context in intelligent controllers
EP0597512B1 (en) Interface circuit for controlling data transfers
JPH05233513A (ja) データ転送制御用インタフェース回路
JPS60114947A (ja) デイスクキヤツシユ装置
JP2723847B2 (ja) マイクロプロセッサ
JPH01258163A (ja) ダイレクトメモリアクセス制御装置
JPH06195230A (ja) データ処理システムにおいてレジスタをアンスタッキングする方法および装置
JPH11212904A (ja) データ転送システム
EP0424116A2 (en) Buffer control apparatus
JPH0388018A (ja) ディスク制御装置
JPS59144955A (ja) 情報処理装置
JP2501393B2 (ja) 直接メモリアクセス装置
JPH0736820A (ja) I/o制御装置
JPH0519181B2 (ja)
JPH0355642A (ja) メモリー制御方式
JP3153429B2 (ja) 磁気ディスク装置の制御方法
JPH0635834A (ja) チャネル装置
JPS63158653A (ja) Dma転送制御方式
JPH10171670A (ja) タスク切り替え装置及びタスク切り替えプログラムを記録した媒体
JPS5836373B2 (ja) アクセスタイム可変装置