JPH10269027A - ディスク装置及び同装置におけるバッファ管理制御方法 - Google Patents

ディスク装置及び同装置におけるバッファ管理制御方法

Info

Publication number
JPH10269027A
JPH10269027A JP9073430A JP7343097A JPH10269027A JP H10269027 A JPH10269027 A JP H10269027A JP 9073430 A JP9073430 A JP 9073430A JP 7343097 A JP7343097 A JP 7343097A JP H10269027 A JPH10269027 A JP H10269027A
Authority
JP
Japan
Prior art keywords
disk
data
read
buffer
buffer memory
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
JP9073430A
Other languages
English (en)
Inventor
Yasuhiko Ichikawa
靖彦 市川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9073430A priority Critical patent/JPH10269027A/ja
Priority to US08/925,333 priority patent/US6018788A/en
Publication of JPH10269027A publication Critical patent/JPH10269027A/ja
Pending 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】シーケンシャルアクセス及びリピートアクセス
が混在する読み出し要求に対するデータ読み出し処理の
高速化を図る。 【解決手段】HDC1では、ホスト装置200からの読
み出し要求コマンドで要求されたデータaをディスク1
0からバッファ2のエリア20aに読み出し、更に後続
のデータをエリア20bに読み出す動作21を行う。こ
こでバッファ2に読み出されるデータ量はディスクカウ
ンタ1aによりカウントされる。次に、ホスト装置20
0からリピートアクセスが要求された場合、リミット設
定レジスタ1bにエリア20a+エリア20bのサイズ
が設定され、リミット許可/禁止フラグ1cが一時停止
機能の許可状態に設定される。この状態では、ディスク
10からバッファ2への読み出し動作は継続され、ディ
スクカウンタ1aの値がリミット設定レジスタ1bの設
定値に一致した段階で、当該動作は一時停止される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスクからの読
み出しデータ及びディスクへの書き込みデータを一時記
憶するバッファメモリを備えたディスク装置に係り、特
に当該バッファメモリに目的データが存在する確率を高
めるのに好適なディスク装置及び同装置におけるバッフ
ァ管理制御方法に関する。
【0002】
【従来の技術】一般に、磁気ディスク装置に代表される
ディスク装置では、当該ディスク装置を補助記憶装置と
して利用するホスト装置(ホストシステム)よりデータ
の読み出し要求コマンドが発行されると、ホスト装置か
らの要求データ(ホスト要求データ)が保存されている
ディスク(記録媒体)上のトラックへヘッドを移動する
シーク・位置決め制御がCPUにより行われる。すると
ディスクコントローラ(HDC)は、目的データの記録
位置までの回転待ちを行って、要求データを読み出す。
【0003】HDCにより読み出されたデータは、RA
M(Random Access Memory)等で構成されるバッファメ
モリ(以下、単にバッファと称する)に一時格納され
る。そして、バッファに一定量のデータが読み出される
と、ホスト装置へのデータ転送が開始される。
【0004】このように、ホスト装置がディスク装置に
対して読み出しを要求してから、実際にホスト装置にデ
ータを転送できるまでには時間を必要とする。そこでデ
ィスク装置では、以前のホスト要求により、既にバッフ
ァに読み出されているデータに対して読み出し要求があ
った場合には、ディスクからの読み出しは行わずにバッ
ファに読み出されているデータをホスト装置に転送する
ことで処理時間を短縮している。このような処理をキャ
ッシュ処理といい、ホスト装置から要求されたデータが
バッファに存在することを、ヒット(キャッシュヒッ
ト)という。
【0005】ディスク装置のキャッシュ処理には、主な
ものとして連続するアドレスに対して読み出しが要求さ
れた(シーケンシャルアクセスの)場合に対応したシー
ケンシャルキャッシュ処理(ルックアヘッドキャッシュ
処理)と、同一アドレスに対して繰り返す読み出しが要
求された(リピートアクセスの)場合に対応したリピー
トキャッシュ処理がある。
【0006】バッファの空き状況の管理はHDCが行
う。HDCは、ディスクからの読み出し(ディスク読み
出し)にてバッファが満杯になった場合、読み出しを一
時停止し、バッファに空きができるのを待つ。空きがで
きるとディスク読み出しを再開する。
【0007】ホスト装置との間の転送(ホスト転送)に
おけるバッファ管理も同様にHDCが行う。HDCは、
バッファにデータがない場合、ホスト転送を一時停止
し、データが溜まるのを待つ。一定量のデータが溜まっ
た後、ホスト転送を開始する。ここで、一定量には、ホ
スト装置からの読み出し要求の最小単位量(通常はセク
タ)が用いられるのが一般的である。
【0008】ここで、HDCにおける従来のバッファ管
理について、図5の動作説明図と図6及び図7のフロー
チャートを参照して説明する。まず、ホスト装置51か
ら読み出し要求コマンドが発行されると、ディスク装置
50内のCPU(図示せず)は、前のホスト装置51か
らのディスク読み出し要求に対してシーケンシャルアク
セスでもリピートアクセスでもなく、しかもバッファ5
3にホスト装置51からの要求データ(ホスト要求デー
タ)aが存在しない(ミスヒットの)場合には(ステッ
プS21〜S23)、ホスト要求データaが保存されて
いるディスク52上のトラックへヘッドを移動する制御
を行った後、ホスト要求データa及び(シーケンシャル
アクセスに対応するために)それに続くデータをバッフ
ァ53に読み出すようにHDCに対して指示する。また
CPUはHDCに対し、ホスト要求データaのうちの一
定量がバッファ53に溜まった場合、ホス卜転送を開始
するように指示する。
【0009】上記指示を受けたHDCは、ディスク52
からホスト要求データaとそれに続くデータを、バッフ
ァ53に空きがある限り読み出す動作、即ちバッファ5
3のサイズに到達するまで読み出す動作531を開始す
る(ステップS24)。ここでは、バッファ53のエリ
ア530aにホスト要求データaが読み出され(格納さ
れ)、残りのエリア530bに後続のデータbが読み出
されるものとする。
【0010】またHDCは、上記ステップS24におい
て、一定量のデータがバッファ53に溜まると、ホスト
転送532を開始する。やがて、ホスト要求データaが
全てホスト装置51に転送されると、CPUはホスト装
置からの要求コマンドを終了させる(ステップS2
5)。
【0011】さてHDCは、ホスト転送532により、
バッファ53のエリア530aのデータaを全てホスト
装置に転送し終えると、そのエリア530aが空にな
り、したがって上記データbの読み出しの後には、それ
に続くデータをディスク52から当該エリア530aに
読み出す動作533が許可されたものと判断する。
【0012】このような状態で、ホスト装置51から再
び読み出し要求コマンドが発行され、そのコマンドがそ
の直前に発行されたコマンドに対し連続するアドレスの
読み出し要求、即ちシーケンシャルアクセス要求(シー
ケンシャル要求)であったものとする(ステップS2
1)。この場合、ホスト要求データはバッファ53のエ
リ530bに読み出し済みであるか、或いは読み出し中
であるため、新たにディスク読み出しの指示は必要な
い。このためCPUはHDCにホスト転送開始のみ指示
し、これを受けてHDCはホスト要求データがバッファ
53のエリア530b側に溜まったのを確認した後(シ
ーケンシャルヒット)、当該ホスト要求データをバッフ
ァ53のエリア530bからホスト装置51へ転送する
(ステップS30)。その後ホスト装置51から発行さ
れる読み出し要求コマンドがシーケンシャルアクセス要
求であれば、以上の動作が繰り返される。
【0013】これに対し、ホスト装置51から発行され
た読み出し要求コマンドが、その直前のコマンドと同一
アドレスに対する読み出し要求、即ちリピートアクセス
要求であった場合の動作は、以下に述べるように上記し
たシーケンシャルアクセス要求の場合と異なる。
【0014】まず、この時点では、直前のコマンド処理
にてバッファ53のエリア530aにホスト装置51の
要求するデータaが読み出されている。しかし、直前の
コマンド処理にて上記バッファ53のエリア530aの
データをホスト装置51に転送し終えた時点で、当該エ
リア530aは空きエリアとなったと判断され、データ
bに続くデータを当該エリア530aに読み出す動作5
33が許可されている。このため、バッファ53のエリ
ア530aのデータaがデータbに続くデータ(連続デ
ータ)で上書きされる可能性がある。
【0015】そこでCPUは、リピートアクセス要求の
場合、HDCに対して直ちにディスク読み出しの中止を
指示する(ステップS21,S22,S27)。もし、
連続データでバッファ53のエリア530aのデータa
が上書きされる前にディスク読み出しが中止できた場合
には(ステップ28)、HDCは当該エリア530aの
データをホスト装置51に転送する(ステップS2
9)。これに対し、連続データによる上書きが行われて
エリア530aのデータaが消滅していた場合、CPU
はHDCに対し再度ディスク読み出しを指示する。これ
によりHDCは、ディスク52からホスト要求データと
それに続くデータを、バッファ53に空きがある限り読
み出す動作を行う(ステップS24)。
【0016】
【発明が解決しようとする課題】上記したように従来の
ディスク装置のバッファ管理制御技術では、リピートア
クセスが行われると、連続データによる上書きが行われ
るのを極力防ぐために、シーケンシャルアクセスを前提
とするディスク読み出しを直ちに中止させていた。この
ため、それ以後にホスト装置から発行される読み出し要
求コマンドでシーケンシャルアクセスが要求された場
合、バッファにはホスト要求データが存在しないミスヒ
ットとなり、再度ディスクからバッファへの読み出しを
指示する必要があった。
【0017】さて、ディスクからバッファへは、ホスト
装置から要求されたデータと、それに続くデータ(後続
データ)が当該バッファに空きエリアがある限り読み出
される。バッファに読み出された後続データ(またはそ
の一部)は、以後のホスト装置からの読み出し要求時
に、その要求データに一致するキャッシュヒットの場合
には、ホスト装置に直ちに転送される。
【0018】ところが上記従来技術では、リピートアク
セスが行われると直ちにディスクアクセスを停止させて
いることから、ホスト装置のディスクアクセス要求のコ
マンドの発行間隔により、バッファへの連続データ(後
続データ)読み出し量が異なってくる。例えば、ホスト
装置のコマンド発行間隔が短い場合には、バッファに溜
まる後続データ量は少なくなり、コマンド発行間隔が長
い場合には、バッファに溜まる後続データ量は多くな
る。
【0019】このため、コマンド発行間隔の短いホスト
装置、即ち高速なホスト装置になるほど、バッファに溜
まる後続データ量は少なくなり、以後のホスト装置から
の読み出し要求に対してキャッシュヒット率が低下する
問題があった。
【0020】本発明は上記事情を考慮してなされたもの
でその目的は、リピートアクセス時にバッファ内の指定
サイズまではディスク読み出しを継続させた後にディス
ク読み出しを一時停止させることで以後のディスク読み
出し要求コマンドに対するキャッシュヒット率を向上さ
せ、高速なデータ読み出し処理が実現できるディスク装
置及び同装置におけるバッファ管理制御方法を提供する
ことにある。
【0021】
【課題を解決するための手段】本発明は、ディスクから
の読み出しデータ及びディスクへの書き込みデータを一
時記憶するバッファメモリと、ディスク及びバッファメ
モリ間のデータ転送とバッファメモリ及びホスト装置間
のデータ転送を制御し、ホスト装置から要求されたデー
タを上記ディスクから上記バッファメモリに読み出した
後も、当該バッファメモリに空きがある場合には後続の
データを当該バッファメモリに読み出すディスク読み出
し動作を続けるディスクコントローラとを備えたディス
ク装置において、上記ディスクコントローラ内に、上記
ディスクから上記バッファメモリに読み出されたデータ
量をカウントするディスクカウンタ手段と、上記ディス
ク読み出し動作を一時停止させるタイミングを決定する
ためのデータ量のリミット値が設定されるリミット設定
レジスタ手段と、上記ディスクカウンタ手段のカウント
値が上記リミット設定レジスタ手段の設定値に一致した
場合に、上記ディスクコントローラでのディスク読み出
し動作を一時停止させるバッファ管理制御手段とを設け
たことを特徴とする。
【0022】このような構成のディスク装置において
は、ディスク読み出し動作でバッファメモリが満杯にな
らなくても、リミット設定レジスタ手段に設定されたリ
ミット値に一致するデータ量のデータがディスクからバ
ッファメモリに読み出された時点で、ディスク読み出し
動作を一時停止させることができる。このため、リピー
トアクセス時に、上記のリミット値を設定して上記一時
停止機能を働かせることで、従来のように直ちにディス
ク読み出し動作を停止させるのと異なり、上記リミット
値で示されるデータ量だけはバッファメモリ内に溜めて
からディスク読み出し動作を一時停止でき、しかもリミ
ット値の設定により、リピートアクセスの対象となるデ
ータ(リピートデータ)がディスク読み出し動作で消失
する(破壊される)ことが防止される。
【0023】但し、上記の一時停止機能をシーケンシャ
ルアクセス時にも働かせたのでは、シーケンシャルアク
セスの効率が悪くなる。そこで、上記ディスクコントロ
ーラ内に、上記バッファ管理制御手段によるリミット設
定レジスタ手段の設定値に従うディスク読み出し動作の
一時停止機能の許可または禁止を選択指定するリミット
許可/禁止指定手段を設け、リピートアクセス時だけ上
記一時停止機能が許可され、シーケンシャルアクセス時
には上記一時停止機能が禁止されるようにするとよい。
ここでは、上記一時停止機能が許可されている状態でシ
ーケンシャルアクセスが要求された場合には、直ちに上
記一時停止機能の許可状態を解除して禁止状態とし、デ
ィスク読み出しが再開される構成とするとよい。また、
上記リミット値としては、バッファ(内でディスクデー
タの格納に利用可能な最大)のサイズに設定するのが最
も効率的である。
【0024】
【発明の実施の形態】以下、本発明を磁気ディスク装置
に適用した実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る磁気ディスク装置の構
成を示すブロック図である。
【0025】図1において、100は磁気ディスク装置
である。この磁気ディスク装置100は、当該磁気ディ
スク装置100を補助記憶装置として利用するホスト装
置(ホストシステム)と接続されている。磁気ディスク
装置100は、ホスト装置200の筐体内、筐体外のい
ずれに設けられていても構わない。
【0026】磁気ディスク装置100において、10は
データが記録される媒体であるディスク(磁気ディス
ク)、7はディスク10へのデータ書き込み(データ記
録)及びディスク10からのデータ読み出し(データ再
生)に用いられるヘッド(磁気ヘッド)である。このヘ
ッド7は、ディスク10の各データ面に対応してそれぞ
れ設けられているものとする。なおディスク10は、本
実施形態では単一枚であるとするが、複数枚積層して設
けられることもある。
【0027】ディスク10の両面には同心円状の多数の
トラックが形成され、各トラックには、位置決め制御等
に用いられる(シリンダ番号を示すシリンダコード、当
該シリンダコードの示すシリンダ内の位置誤差を波形の
振幅で示すためのバーストデータを含む)サーボデータ
が記録された複数のサーボエリアが等間隔で配置されて
いる。これらのサーボエリアは、ディスク10上では中
心から各トラックを渡って放射状に配置されている。サ
ーボエリア間はデータエリア(ユーザエリア)となって
おり、当該データエリアには複数のデータセクタが設定
される。
【0028】ディスク10はスピンドルモータ(SP
M)11により高速に回転する。ヘッド7はキャリッジ
機構9と称するヘッド移動機構に取り付けられて、この
キャリッジ機構9の移動によりディスク10の半径方向
に移動する。キャリッジ機構9は、ボイスコイルモータ
(VCM)13により駆動される。
【0029】SPM11は、当該SPM11に制御電流
を流して当該SPM11を駆動するためのSPMドライ
バ12に接続され、VCM13は、当該VCM13制御
電流を流して当該VCM13を駆動するためのVCMド
ライバ14に接続されている。上記制御電流の値(制御
量)は、CPU(マイクロプロセッサ)3の計算処理で
決定される。
【0030】ヘッド7は例えばフレキシブルプリント配
線板(FPC)に実装されたヘッドアンプ回路8と接続
されている。ヘッドアンプ回路8は、ヘッド7の切り替
え、ヘッド7との間のリード/ライト信号の入出力等を
司るもので、ヘッド7で読み取られたアナログ出力を増
幅するヘッドアンプ(プリアンプ)、及びR/W回路6
から送られてくる書き込みデータに従いヘッド7にライ
ト信号(ライト電流)を出力するライトドライバ(いず
れも図示せず)を有している。
【0031】R/W回路(リード/ライト回路)6は、
ヘッド7によりディスク10から読み取られてヘッドア
ンプ回路8(内のヘッドアンプ)により増幅されたアナ
ログ出力(ヘッド7のリード信号)を入力してデータ再
生動作に必要な信号処理を行うデコード機能(リードチ
ャネル)と、ディスク10へのデータ記録に必要な信号
処理を行うエンコード機能(ライトチャネル)と、ヘッ
ド位置決め制御等のサーボ処理に必要なサーボデータ中
のバーストデータを抽出する処理を行う信号処理機能と
を有する。
【0032】サーボ処理回路15は、R/W回路6で再
生されたデータを受けてサーボ処理に必要な信号処理を
実行する。即ちサーボ処理回路15は、R/W回路6で
再生されたデータからサーボエリアの期間だけ有効
(真)となる周知のタイミング信号であるサーボゲート
等のタイミング生成機能、サーボエリアに記録されてい
るサーボデータ中のシリンダコードを抽出・復号するデ
コード機能を有する。
【0033】GA(ゲートアレイ)5は、R/W回路6
及びサーボ処理回路15とHDC1及びCPU3との間
の情報の受け渡しを行う他、サーボ処理回路15で生成
されたサーボゲートのタイミングの監視、該当するサー
ボエリアに後続するデータエリアに配置されるデータセ
クタの位置情報をHDC1に通知するなどの機能を有す
る。
【0034】CPU3は、例えばワンチップのマイクロ
プロセッサである。このCPU3は、ROM4に格納さ
れている制御プログラム(FW)に従って磁気ディスク
装置内の各部を制御する。即ちCPU3は、サーボ処理
回路15により抽出されたサーボデータ中のシリンダコ
ード及びR/W回路6により抽出されたサーボデータ中
のバーストデータに従ってVCMドライバ14を駆動制
御することでヘッド7を目標シリンダ(トラック)位置
に移動させるためのシーク・位置決め制御、HDC1を
制御することによるリード/ライトデータの転送制御な
どの制御を行う。
【0035】CPU3には、磁気ディスク装置全体を制
御するための制御プログラム(FW)等が格納されてい
るROM(Read Only Memory)4と、HDC(ディスク
コントローラ)1とが接続されている。
【0036】HDC1は、ホストインタフェースの規格
に従ってホスト装置200との間のコマンド、データの
通信を制御するホストインタフェース機能と、バッファ
2の管理を行うバッファ管理制御機能と、R/W回路
6、ヘッドアンプ回路8を介して行われるディスク10
を対象とするリードとライトのタイミングを制御するデ
ィスク制御機能を有する。
【0037】HDC1は、上記バッファ管理制御機能と
して、ディスク読み出しにてバッファ2が満杯になった
場合に、ディスク読み出しを一時停止して、バッファ2
に空きができるのを待つ機能と、バッファ2に空きがで
きるとディスク読み出しを再開する機能を持つ。HDC
1はまた、ホスト転送に関連するバッファ管理制御機能
として、バッファ2にホスト要求データ(ホスト装置2
00から要求されたデータ)がない場合、ホスト転送を
一時停止し、データが溜まるのを待つ機能と、予め定め
られた一定量のデータ(例えば1セクタ分のデータ)が
バッファ2に溜まった段階でホスト転送を開始する機能
を持つ。
【0038】HDC1は、以上に述べた周知のバッファ
管理制御機能の他に、以下に述べるキャッシュ制御用の
新規なバッファ管理制御機能を持ち、その管理制御機能
の実現のために、1セクタのディスク読み出し(ディス
クアクセス)が完了する度に1アップデートするディス
クカウンタ1a、ディスク読み出しの一時停止、ディス
ク読み出しの再開のタイミングを設定するためのディス
クカウントリミット設定レジスタ(以下、リミット設定
レジスタと称する)1b、及びリミット設定レジスタ1
bによるディスク読み出しの一時停止機能の許可/禁止
を設定するディスクカウントリミット許可/禁止フラグ
(以下、リミット許可/禁止フラグと称する)1cを有
する。ディスクカウンタ1aは、ホスト転送には影響さ
れない。
【0039】HDC1は、リミット許可/禁止フラグ1
cが許可状態にある場合に、ディスクカウンタ1aの値
がリミット設定レジスタ1bの設定値に達すると、バッ
ファ2が満杯になったときの従来のバッファ管理制御機
能と同様にディスク読み出しを一時停止する。またHD
C1は、ディスク読み出しの一時停止状態でリミット許
可/禁止フラグが禁止状態に設定された場合と、リミッ
ト設定レジスタ1bにディスクカウンタ1aの値より大
きな値が設定された場合に、ディスクアクセスを再開す
る。またHDC1は、リミット許可/禁止フラグが禁止
状態に設定されている場合にはリミット設定レジスタ1
bの設定値を無視し、ディスクカウンタ1aの値がリミ
ット設定レジスタ1bの設定値と一致してもディスクア
クセスを一時停止しない。
【0040】バッファ2は例えばRAM構成のバッファ
メモリであり、ディスク10から読み出したデータ、及
びホスト装置200から転送されたディスク10への書
き込みデータを一時格納するのに用いられる。
【0041】次に、図1の構成の磁気ディスク装置10
0の動作について、ホスト装置からの読み出し要求コマ
ンドに対する処理(リード処理)を例に、図2の動作説
明図と、図3及び図4のフローチャートを参照して説明
する。
【0042】まず、ホスト装置200から読み出し要求
コマンドが発行されると、ディスク装置100内のCP
U3は、前のホスト装置200からの読み出し要求に対
してシーケンシャルアクセスでもリピートアクセスでも
なく、しかもバッファ2にホスト装置200からの要求
データ(ホスト要求データ)aが存在しない(ミスヒッ
トの)場合には(ステップS1〜S3)、ホスト要求デ
ータaが保存されているディスク10上のトラックへヘ
ッド7を移動させる制御を、サーボ処理回路15、VC
Mドライバ14を介してVCM13を駆動することで行
う。
【0043】次にCPU3は、HDC1内のディスクカ
ウンタ1aを初期化(0を設定)すると共に、リミット
許可/禁止フラグ1cをディスクカウントリミットによ
るディスクアクセスの一時停止機能の禁止状態に設定し
た後、即ちディスクカウントリミットを解除した後、ホ
スト要求データ(ホスト装置200の要求するデータ)
aと、シーケンシャルアクセスに対応するために(シー
ケンシャルアクセスを予測し)それに続くデータをバッ
ファ2に読み出すようにHDC1に対して指示する(ス
テップS4)。またCPU3はHDC1に対し、ホスト
要求データaのうちの一定量がバッファ2に溜まった場
合、ホス卜転送を開始するように指示する。
【0044】CPU3からの指示を受けたHDC1は、
上記ステップS4において、ディスク10からホスト要
求データaとそれに続くデータをバッファ2に空きがあ
る限り読み出す動作、即ちバッファ2のサイズに到達す
るまで読み出す動作21を開始する。ここでは、バッフ
ァ2のエリア20aにホスト要求データaが読み出され
(格納され)、残りのエリア20bに後続のデータbが
読み出されるものとする。
【0045】またHDC1は、上記ステップS4におい
て、一定量(ここでは1セクタ分)のデータがバッファ
2に溜まると、そのデータをホスト装置200に転送す
るホスト転送22を開始する。
【0046】やがて、上記のホスト転送22により、ホ
スト要求データaがバッファ2のエリア20aからホス
ト装置200に全て転送されると、CPU3はホスト装
置200からの読み出し要求コマンドを終了させる(ス
テップS5)。
【0047】さてHDC1は、ホスト転送22により、
バッファ2内のエリア20aのデータaを全てホスト装
置200に転送し終えると、そのエリア20aが空にな
り、したがって上記データbの読み出しの後には、それ
に続くデータをディスク10から当該エリア20aに読
み出す動作23が許可されたものと判断する。
【0048】このような状態で、ホスト装置200から
再び読み出し要求コマンドが発行され、そのコマンドが
その直前に発行されたコマンドと同一アドレスに対する
読み出し要求、即ちリピートアクセス要求であったもの
とする(ステップS1,S2)。
【0049】この時点では、直前のコマンド処理にてバ
ッファ2のエリア20aにホスト装置200の要求する
データaが読み出されている。しかし、直前のコマンド
処理にて上記バッファ2のエリア20aのデータをホス
ト装置200に転送し終えた時点で、当該エリア20a
は空きエリアとなったとして、データbに続くデータを
当該エリア20aに読み出す動作23が許可されてい
る。したがって、ディスク10からバッファ2内のエリ
ア20bへのデータbの読み出しが終わった後に、上記
動作23が実行されるならば、バッファ2のエリア20
a内のホスト要求データaは、データbに続くデータの
読み出し(連続データの読み出し)で上書きされて消滅
してしまうことになる。
【0050】そこでCPU3は、リピートアクセス要求
の場合、HDC1内のリミット許可/禁止フラグ1cが
禁止状態にあるならば(ステップS7)、リミット設定
レジスタ1bにディスクカウントリミット値、例えばバ
ッファ2のサイズ(エリア20aのサイズ+エリア20
bのサイズ)を設定し、しかる後にリミット許可/禁止
フラグ1cをディスクカウントリミットによるディスク
読み出しの一時停止機能の許可状態(以下、単にディス
クカウントリミットの許可状態と称する)に設定する
(ステップS8)。
【0051】するとHDC1は、ディスクカウンタ1a
の値がリミット設定レジスタ1bの設定値に一致するま
でディスク10からバッファ2へのデータ読み出しを行
った段階で、即ちディスク10からバッファ2のエリア
20a+エリア20bのサイズまでディスク読み出しを
行った段階で、バッファ2に空きがない状態と同様にデ
ィスク読み出し(シーケンシャルアクセスを考慮したデ
ィスク10からの先読み)を一時停止(待ち状態と)す
る。
【0052】このように本実施形態では、リピートアク
セス要求時には、バッファ2のサイズ一杯までディスク
読み出しが終了した時点で当該ディスク読み出しを一時
停止するため、連続データでバッファ2のエリア20a
のデータaが上書きされる前にステップS8の処理が行
われる限り、エリア20aのデータa、即ちリピートア
クセスの対象となるデータaは消滅することがない。
【0053】そこでCPU3は、連続データでバッファ
2のエリア20aのデータaが上書きされる前にディス
クカウントリミットが設定できた場合には(ステップS
9)、上記したようにリピートアクセス要求での要求デ
ータは消滅しないことから、直ちにHDC1により当該
エリア20aのデータをホスト装置200に転送させる
(ステップS10)。
【0054】このように本実施形態においては、バッフ
ァ2には常にバッファサイズ一杯までディスク10から
先読みデータが読み出された状態で、ディスク読み出し
が一時停止されるため、以後にホスト装置200から発
行されるコマンドの要求するデータがバッファ2のエリ
ア20a内のデータa或いはエリア20b内のデータb
の範囲内であれば必ずヒットすることになり、ヒット率
が高くなる。
【0055】次に、ディスクカウントリミットによるデ
ィスク読み出しの一時停止状態で、ホスト装置200か
ら読み出し要求コマンドが発行され、当該コマンドがそ
の直前に発行されたコマンドに対し連続するアドレスの
読み出し要求、即ちシーケンシャルアクセス要求(シー
ケンシャル要求)であった場合について説明する。
【0056】CPU3は、ホスト装置200からの読み
出し要求コマンドがシーケンシャルアクセス要求の場合
(ステップS1)、リミット許可/禁止フラグ1cの状
態からディスクカウントリミットが許可されているか否
かをチェックし(ステップS11)、この例のように許
可されているならば、リミット許可/禁止フラグ1cを
禁止状態として、ディスクカウントリミットを解除する
(ステップS12)。
【0057】するとHDC1は、ディスク読み出しの一
時停止状態から解放されて、ディスク読み出し(ディス
ク10からの先読み)を自動的に再開し、バッファ2に
空きがある限りディスク読み出しを続ける状態(シーケ
ンシャルアクセスの状態)に戻る。このように本実施形
態ではリミット許可/禁止フラグ1cを禁止状態に設定
するするだけで、ディスク読み出しが再開でき、従来の
ように(ディスク読み出しの中止状態からディスク読み
出しを再開するために)再度のディスク読み出し開始処
理を必要としなくなる。このためCPU3はHDC1に
ホスト転送開始のみ指示し、これを受けてHDC1はホ
スト要求データをバッファ2のエリア20bからホスト
装置200へ転送する(ステップS13)。
【0058】以上に述べた実施形態では磁気ディスク装
置について説明したが、本発明は、ディスクからの読み
出しデータ、及びディスクへの書き込みデータを一時記
憶するバッファメモリを備えたディスク装置であれば、
光磁気ディスク装置など、磁気ディスク装置以外のディ
スク装置にも適用可能である。
【0059】
【発明の効果】以上詳述したように本発明によれば、リ
ピートアクセス時にバッファメモリ内の指定サイズまで
はディスク読み出しを継続させた後にディスク読み出し
を一時停止させることで、ディスク読み出しの継続によ
りリピートアクセスの対象データが消滅するのを防止し
ながら、後続データを極力バッファメモリ内に溜めてお
くことができるため、以後のディスク読み出し要求コマ
ンドに対するキャッシュヒット率の向上が図れ、シーケ
ンシャルアクセス及びリピートアクセスが混在する読み
出し要求に対するデータ読み出し処理の高速化を実現す
ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る磁気ディスク装置の
構成を示すブロック図。
【図2】同実施形態におけるホスト装置からの読み出し
要求コマンドに対する処理時の動作説明図。
【図3】同実施形態におけるホスト装置からの読み出し
要求コマンドに対する処理手順を説明するためのフロー
チャートの一部を示す図。
【図4】同実施形態におけるホスト装置からの読み出し
要求コマンドに対する処理手順を説明するためのフロー
チャートの残りを示す図。
【図5】従来のホスト装置からの読み出し要求コマンド
に対する処理時の動作説明図。
【図6】従来のホスト装置からの読み出し要求コマンド
に対する処理手順を説明するためのフローチャートの一
部を示す図。
【図7】従来のホスト装置からの読み出し要求コマンド
に対する処理手順を説明するためのフローチャートの残
りを示す図。
【符号の説明】
1…HDC(ディスクコントローラ、バッファ管理制御
手段) 1a…ディスクカウンタ 1b…ディスクカウントリミット設定レジスタ 1c…ディスクカウントリミット許可/禁止フラグ 2…バッファ(バッファメモリ) 3…CPU(主制御手段) 10…ディスク 100…磁気ディスク装置 200…ホスト装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ディスクからの読み出しデータ及び前記
    ディスクへの書き込みデータを一時記憶するバッファメ
    モリと、前記ディスク及び前記バッファメモリ間のデー
    タ転送と前記バッファメモリ及びホスト装置間のデータ
    転送を制御し、前記ホスト装置から要求されたデータを
    前記ディスクから前記バッファメモリに読み出した後
    も、前記バッファメモリに空きがある場合には後続のデ
    ータを前記バッファメモリに読み出すディスク読み出し
    動作を続けるディスクコントローラとを備えたディスク
    装置において、 前記ディスクコントローラに、 前記ディスクから前記バッファメモリに読み出されたデ
    ータ量をカウントするディスクカウンタ手段と、 前記ディスク読み出し動作を一時停止させるタイミング
    を決定するためのデータ量のリミット値が設定されるリ
    ミット設定レジスタ手段と、 前記ディスクカウンタ手段のカウント値が前記リミット
    設定レジスタ手段の設定値に一致した場合に、前記ディ
    スクコントローラでの前記ディスク読み出し動作を一時
    停止させるバッファ管理制御手段とを備えたことを特徴
    とするディスク装置。
  2. 【請求項2】 前記ディスクコントローラに、前記バッ
    ファ管理制御手段による前記リミット設定レジスタ手段
    の設定値に従う前記ディスク読み出し動作の一時停止機
    能の許可または禁止を選択指定するリミット許可/禁止
    指定手段を備えたことを特徴とする請求項1記載のディ
    スク装置。
  3. 【請求項3】 前記ホスト装置からディスク読み出し要
    求コマンドが与えられた場合、当該コマンドが前の前記
    ホスト装置からのディスク読み出し要求に対してシーケ
    ンシャルアクセスまたはリピートアクセス以外のディス
    クアクセスを要求し、且つ要求されたデータが前記バッ
    ファメモリに読み出されていないならば、前記ディスク
    カウンタ手段のカウント値をリセットすると共に、前記
    リミット許可/禁止指定手段を前記一時停止機能の禁止
    指定状態に設定して、前記ディスクコントローラに対し
    てディスク読み出し動作を指示し、当該コマンドが前記
    リピートアクセスを要求し、且つ前記リミット許可/禁
    止指定手段が前記一時停止機能の禁止指定状態にあるな
    らば、前記リミット設定レジスタ手段に前記リミット値
    を設定すると共に、前記リミット許可/禁止指定手段を
    前記一時停止機能の許可指定状態に切り替え設定し、当
    該コマンドが前記シーケンシャルアクセスを要求し、且
    つ前記リミット許可/禁止指定手段が前記一時停止機能
    の許可指定状態にあるならば、前記リミット許可/禁止
    指定手段を前記一時停止機能の禁止指定状態に切り替え
    て前記ディスクコントローラでの前記ディスク読み出し
    動作を再開させる主制御手段を更に具備することを特徴
    とする請求項2記載のディスク装置。
  4. 【請求項4】 ディスクからの読み出しデータ及び前記
    ディスクへの書き込みデータを一時記憶するバッファメ
    モリと、前記ディスク及び前記バッファメモリ間のデー
    タ転送と前記バッファメモリ及びホスト装置間のデータ
    転送を制御し、前記ホスト装置から要求されたデータを
    前記ディスクから前記バッファメモリに読み出した後
    も、前記バッファメモリに空きがある場合には後続のデ
    ータを前記バッファメモリに読み出すディスク読み出し
    動作を続けるディスクコントローラとを備えたディスク
    装置におけるバッファ管理制御方法であって、 前記ホスト装置からディスク読み出し要求コマンドが与
    えられた場合、当該コマンドが前の前記ホスト装置から
    のディスク読み出し要求に対してシーケンシャルアクセ
    スまたはリピートアクセス以外のディスクアクセスを要
    求し、且つ要求されたデータが前記バッファメモリに読
    み出されていないならば、前記要求されたデータ及びそ
    れ以降のデータを前記ディスクから前記バッファに読み
    出すディスク読み出し動作を開始すると共に、前記ディ
    スクから前記バッファに読み出されるデータ量のカウン
    トを開始し、 前記ホスト装置からディスク読み出し要求コマンドが与
    えられた場合、当該コマンドがリピートアクセスを要求
    しているならば、前記ディスク読み出し動作を一時停止
    させるタイミングを決定するためのデータ量のリミット
    値を設定し、前記ディスクから前記バッファに読み出さ
    れるデータ量のカウント値が前記設定したリミット値に
    一致したならば、前記ディスク読み出し動作を一時停止
    するようにしたことを特徴とするディスク装置における
    バッファ管理制御方法。
  5. 【請求項5】 前記ホスト装置からディスク読み出し要
    求コマンドが与えられた場合、当該コマンドがシーケン
    シャルアクセスを要求しているならば、前記データ量の
    リミット値に従う一時停止機能を禁止して、前記ディス
    ク読み出し動作を再開することを特徴とする請求項4記
    載のディスク装置におけるバッファ管理制御方法。
  6. 【請求項6】 ディスクからの読み出しデータ及び前記
    ディスクへの書き込みデータを一時記憶するバッファメ
    モリと、前記ディスク及び前記バッファメモリ間のデー
    タ転送と前記バッファメモリ及びホスト装置間のデータ
    転送を制御し、前記ホスト装置から要求されたデータを
    前記ディスクから前記バッファメモリに読み出した後
    も、前記バッファメモリに空きがある場合には後続のデ
    ータを前記バッファメモリに読み出すディスク読み出し
    動作を続けるディスクコントローラとを備えたディスク
    装置におけるバッファ管理制御方法であって、 前記ホスト装置からリピートアクセスを要求するディス
    ク読み出し要求コマンドが与えられた場合に、前記バッ
    ファメモリ内の指定サイズまでは前記ディスク読み出し
    を継続させた後にディスク読み出しを一時停止させ、そ
    の後前記ホスト装置からシーケンシャルアクセスを要求
    するディスク読み出し要求コマンドが与えられた場合
    に、前記ディスク読み出し動作を再開させることを特徴
    とするディスク装置におけるバッファ管理制御方法。
JP9073430A 1997-03-26 1997-03-26 ディスク装置及び同装置におけるバッファ管理制御方法 Pending JPH10269027A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9073430A JPH10269027A (ja) 1997-03-26 1997-03-26 ディスク装置及び同装置におけるバッファ管理制御方法
US08/925,333 US6018788A (en) 1997-03-26 1997-09-08 Data access control for disk system using a limit value and count value to optimize sequential and repeat access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9073430A JPH10269027A (ja) 1997-03-26 1997-03-26 ディスク装置及び同装置におけるバッファ管理制御方法

Publications (1)

Publication Number Publication Date
JPH10269027A true JPH10269027A (ja) 1998-10-09

Family

ID=13518032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9073430A Pending JPH10269027A (ja) 1997-03-26 1997-03-26 ディスク装置及び同装置におけるバッファ管理制御方法

Country Status (2)

Country Link
US (1) US6018788A (ja)
JP (1) JPH10269027A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137631A (ja) * 1998-10-29 2000-05-16 Square Co Ltd コンピュータ読取可能な記録媒体および情報処理装置
US6324599B1 (en) * 1999-01-11 2001-11-27 Oak Technology Computer system and method for tracking DMA transferred data within a read-ahead local buffer without interrupting the host processor
JP3255887B2 (ja) * 1999-02-15 2002-02-12 松下電器産業株式会社 磁気ディスク装置およびそのディスクアクセス方法
JP3758886B2 (ja) * 1999-03-30 2006-03-22 富士通株式会社 データ処理装置及びそのアクセス制御方法
ES2311756T3 (es) * 2002-12-18 2009-02-16 Algorx Administracion de la capsiacina.
US7739451B1 (en) * 2002-12-27 2010-06-15 Unisys Corporation Method and apparatus for stacked address, bus to memory data transfer
DE102005058878B4 (de) * 2005-12-09 2007-08-09 Infineon Technologies Ag Datentransfervorrichtung und Verfahren zum Senden von Daten
US7711894B1 (en) 2007-02-12 2010-05-04 Juniper Networks, Inc. Dynamic disk throttling in a wide area network optimization device
WO2009132157A2 (en) * 2008-04-24 2009-10-29 Churchill Downs Technology Initiatives Company Personalized transaction management and media delivery system
US8639872B1 (en) * 2010-08-13 2014-01-28 Western Digital Technologies, Inc. Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk
US8713261B1 (en) * 2011-03-11 2014-04-29 Emc Corporation Caching techniques
US8782352B2 (en) 2011-09-29 2014-07-15 Oracle International Corporation System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment
US9213852B2 (en) * 2012-12-12 2015-12-15 Vmware, Inc. Limiting access to a digital item

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5833767A (ja) * 1981-08-21 1983-02-28 Canon Inc デイスク制御装置
US5150472A (en) * 1989-10-20 1992-09-22 International Business Machines Corp. Cache management method and apparatus for shared, sequentially-accessed, data
US5276662A (en) * 1992-10-01 1994-01-04 Seagate Technology, Inc. Disc drive with improved data transfer management apparatus
JPH07334310A (ja) * 1994-06-06 1995-12-22 Toshiba Corp ディスク装置及び同装置における読み出しデータのバッファ記憶制御方法
JP3586887B2 (ja) * 1994-06-10 2004-11-10 松下電器産業株式会社 情報記録再生装置およびデータキャッシュ方法
JPH08137754A (ja) * 1994-11-10 1996-05-31 Fuji Xerox Co Ltd ディスクキャッシュ装置
US5623608A (en) * 1994-11-14 1997-04-22 International Business Machines Corporation Method and apparatus for adaptive circular predictive buffer management
US5577224A (en) * 1994-12-13 1996-11-19 Microsoft Corporation Method and system for caching data
JP3078204B2 (ja) * 1995-06-01 2000-08-21 株式会社東芝 磁気ディスク装置及び磁気ディスク装置におけるバッファ管理方法

Also Published As

Publication number Publication date
US6018788A (en) 2000-01-25

Similar Documents

Publication Publication Date Title
JP3046529B2 (ja) 磁気記録装置
JPH10269027A (ja) ディスク装置及び同装置におけるバッファ管理制御方法
JP2005215729A (ja) データ伝送制御方法及び記憶装置
US6523086B1 (en) Method for improving performance of read cache of magnetic disk drive
US6332196B1 (en) Disk storage apparatus and power supply control method for the same
JP2001014109A (ja) 記憶装置
JP2005025829A (ja) ディスク記憶装置及びデータストリーム制御方法
JP2845658B2 (ja) データ記録再生装置のアクセス制御装置
JP3847888B2 (ja) ディスク装置及び同装置における欠陥による再配置データの高速ホスト転送方法
JPH1011878A (ja) ディスク装置及び同装置におけるモニター値保存制御方法
JP3579395B2 (ja) ディスク記憶装置及びアクセス方法
JP2001014111A (ja) 回転形記憶装置の制御方法
JP2914834B2 (ja) 磁気ディスク装置
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
JP3080758B2 (ja) 磁気ディスク装置
JP2000222137A (ja) ディスク記憶装置及び同装置におけるバッファ制御方法
JPH07141785A (ja) データ記録装置及び欠陥セクタの代替処理方法
KR100383638B1 (ko) 컴퓨터바이러스 방지를 위한 자기디스크 기록장치의바이러스백업프로그램을자기디스크에기록하는방법
KR0183294B1 (ko) 전력소비를 감소시키기 위한 스핀들 모터 제어방법
JPH0695808A (ja) 磁気ディスク装置
JPH05135483A (ja) 情報記録再生装置
JP2005190613A (ja) データの並列的記録再生方法、シーク動作の制御方法及びこれを用いた磁気ディスク装置
JP2000187938A (ja) 情報記録再生装置および情報記録再生方法
JP2001101786A (ja) 情報記録再生装置と情報記録再生方法と情報記録再生プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH1092101A (ja) 磁気ディスク装置及びその駆動方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070515