JPH10149260A - ディスクドライブにおける読出キャッシュ方式 - Google Patents

ディスクドライブにおける読出キャッシュ方式

Info

Publication number
JPH10149260A
JPH10149260A JP9295812A JP29581297A JPH10149260A JP H10149260 A JPH10149260 A JP H10149260A JP 9295812 A JP9295812 A JP 9295812A JP 29581297 A JP29581297 A JP 29581297A JP H10149260 A JPH10149260 A JP H10149260A
Authority
JP
Japan
Prior art keywords
data
read
disk
unit storage
storage area
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
JP9295812A
Other languages
English (en)
Inventor
Heishun Ri
炳俊 李
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH10149260A publication Critical patent/JPH10149260A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

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

Abstract

(57)【要約】 【課題】 データ転送速度を向上させてドライブの高性
能化を図れる読出キャッシュ方式を提供する。 【解決手段】 要求データBが単位記憶領域Aに納まれ
ば(a1)、単位記憶領域の残余部分xへキャッシュデ
ータを入れ(a2)、そして、要求データ転送後に該要
求データのあった単位記憶領域の部分Bへキャッシュデ
ータを入れ、さらに、残りの単位記憶領域Aに対しても
それぞれキャッシュデータを入れる。また、要求データ
Bが単位記憶領域Aを越えていれば(b1)、単位記憶
領域A相当の要求データをディスクから読出して単位記
憶領域Aに入れて転送した後に超過分のデータyを上書
きして転送し(b2)、その上書き後に余る単位記憶領
域の部分A−yへキャッシュデータを入れ、そして、転
送後の前記上書き部分yへキャッシュデータを入れ、さ
らに、残りの単位記憶領域Aに対してもそれぞれキャッ
シュデータを入れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はCD−ROMドライ
ブやハードディスクドライブ(HDD)などのディスク
ドライブに関し、特に、その読出キャッシュ(read cach
e)に関する。
【0002】
【従来の技術】コンピュータシステム(データ処理装
置)における補助記憶装置は、CPUの高性能化に追い
つくべく性能向上が要求されている。補助記憶装置の中
でも現在最も高速なのがHDDである。図1は、HDD
の構成を示したブロック図であって、2枚のディスクの
両面へアクセスする4つのヘッドをもつHDDの例が示
されている。
【0003】ディスク10はスピンドルモータ34によ
って回転する。4つの各ヘッド12は、ロータリーボイ
スコイルアクチュエータ30により動作するEブロック
アセンブリ14からディスク10へ伸張したサポートア
ームにそれぞれ設置される。前置増幅器16は、読出動
作のときに、ヘッド12によってピックアップされたア
ナログ読出信号を前置増幅して読出/書込チャンネル回
路18へ提供し、書込動作のときに、読出/書込チャン
ネル回路18から提供される符号化書込データをヘッド
12へ出力する。
【0004】読出/書込チャンネル回路18は、前置増
幅器16により提供された読出信号からデータパルスを
検出し、デコードしてDDC(Disk Data Controller)2
0へ提供する。また、DDC20から印加される書込デ
ータをデコードして前置増幅器16へ提供する。DDC
20は、ホストコンピュータから受信されるデータを読
出/書込チャンネル回路18から前置増幅器16を通じ
てディスク10へ書込んだり、あるいは、ディスク10
から読出したデータをホストコンピュータへ送信する。
また、DDC20は、ホストコンピュータとマイクロコ
ントローラ24との間の通信をインタフェースする。
【0005】バッファメモリ22は、ホストコンピュー
タとマイクロンコントローラ24及び読出/書込チャン
ネル回路18との間で伝送されるデータを一時的に記憶
する。マイクロコントローラ24は、ホストコンピュー
タから受信される読出/書込命令に応じてトラックシー
ク及びフォローを制御する。メモリ26は、マイクロコ
ントローラ24の遂行プログラム及び各種の設定値を記
憶するROMである。
【0006】サーボ駆動部28は、マイクロコントロー
ラ24から提供されるヘッド位置制御信号に応じてアク
チュエータ30の駆動電流をボイスコイルへ印加する。
アクチュエータ30は、サーボ駆動部28から印加され
る駆動電流の方向及びレベルに対応してヘッド12をデ
ィスク10上で移動させる。スピンドルモータ駆動部3
2は、マイクロコントローラ24から提供されるディス
ク回転制御値に応じてスピンドルモータ34を駆動し、
ディスク10の回転を制御する。
【0007】HDDは、その性能の基準として、ホスト
コンピュータとドライブとの間で単位時間当たりにやり
取り可能なデータ量を示したデータ転送速度(data tran
sferrate)を使用しており、このデータ転送速度に影響
する要素としては、スピンドルモータ34の回転速度、
アクチュエータ30の移動速度、バッファメモリ22の
大きさ、そしてHDDの駆動プログラムの効率性などを
挙げることができる。
【0008】このようなHDDの高性能化のためには、
スピンドルモータの回転速度、バッファメモリの拡張、
シーク時間などのハードウェア的な面と、書込キャッシ
ュ(write cache) 、読出キャッシュ(read cache)、コマ
ンドレコーディング(commandrecording) などを行うソ
フトウェア的な面との両面からのアプローチが必要であ
る。現在では、与えられたハードウェア環境内でHDD
のデータ転送速度を高めるための方法として、下記のよ
うな技術が用いられている。
【0009】その第1の方法は書込キャッシュで、HD
Dがホストコンピュータから書込命令を受けたときにホ
ストコンピュータからの書込データをバッファメモリを
利用した記憶領域に受け、これをディスクへ書込む前に
ホストコンピュータには書込命令をすべて遂行したよう
に結果を戻しておき、この後に余裕をもってバッファメ
モリに記憶された書込データを実際にディスクへ書込む
手法である。図2を参照して、通常の書込動作と書込キ
ャッシュ動作との違いについて説明する。図2Aが書込
キャッシュなしの場合、図2Bが書込キャッシュの場合
である。
【0010】まず、図2Aの書込キャッシュなしの書込
動作では、ホストコンピュータ40からDDC20へ書
込命令とともに書込データの転送があると、DDC2
0は、転送されてくる書込データをバッファメモリ22
に記憶し、全データを受けると直ちに取り出す。そ
して、これをディスク10に書込み、書込終了後にホ
ストコンピュータ40へデータ書込完了を知らせる。
【0011】一方、図2Bの書込キャッシュ動作では、
ホストコンピュータ40から書込命令があると、DD
C20は、ホストコンピュータ40から転送されてくる
書込データをバッファメモリ22に記憶し、全データ
を受けるとホストコンピュータ40へデータ書込完了を
先に知らせる。そしてDDC20は、余裕をもってバ
ッファメモリ22から書込データを取り出し、ディス
ク10へ書込む。
【0012】HDDのデータ転送速度を高める第2の方
法はread look ahead ともいう読出キャッシュであり、
これは、読出が要求されるであろうデータをバッファメ
モリを利用した記憶領域に読出しておくことにより、次
の読出命令でディスクからの読出時間を省き、高速化を
図る手法である。図3を参照して、通常の読出動作と読
出キャッシュ動作との違いについて説明する。図3Aが
読出キャッシュなしの場合、図3Bが読出キャッシュの
場合である。
【0013】図3Aの読出キャッシュなしの動作では、
ホストコンピュータ40からDDC20へ読出命令があ
ると、DDC20は、ディスク10から該当データを
読出し、バッファメモリ22に記憶する。そして、
これを読出し、ホストコンピュータ40へ転送する
。この〜を、ホストコンピュータ40から読出命
令がある度に繰り返す。
【0014】一方、図3Bの読出キャッシュ動作では、
まず最初に図3A同様にして読出命令に応じたデータ読
出を行ったときに、続いて読出される可能性のあるデー
タも一緒に読出してバッファメモリ22へ記憶しておく
(a)。そして、ホストコンピュータ40から読出命令
があると、DDC20は、バッファメモリ22に予め
読出してあるデータがキャッシュヒットであればこれを
読出し、ホストコンピュータ40へ転送する。
【0015】この読出キャッシュの技法について図1、
図3、図4、図5を参照してさらに詳しく説明する。
【0016】読出キャッシュを遂行する場合、バッファ
メモリ22の記憶領域は、図4に示すような一定の大き
さAをもつ単位記憶領域のセグメント(segment) に分け
られる。すなわち、効率的管理のためにバッファメモリ
22の記憶領域はデータ量Aの単位記憶領域に分けら
れ、その各単位記憶領域がセグメントである。図4の各
例ではバッファメモリ22の記憶領域が全部で512セ
クタであり、図4aは、その記憶領域全部を1つのセグ
メント(セグメント量A=512セクタ)とした例、図
4bは、記憶領域を4つのセグメント(セグメント量A
=128セクタ)に分けた例である。このようなセグメ
ントのとり方によってそれぞれ一長一短がある。
【0017】まず、図4aのようにセグメント数を少な
くして1セグメントを大きくとった場合、その長所は、
ホストコンピュータ40から連続した多量のデータの読
出要求があったときでも、一度に該当セグメントへ記憶
できることである。一方この場合の短所は、ホストコン
ピュータ40から少量ずつばらばらのデータの読出要求
があったときに、各要求データすべてを記憶しておくこ
とができないということである。これについて図4aを
参照して具体的に説明する。
【0018】たとえば400セクタの分量をもつデータ
の読出要求があった場合、DDC20は、ディスク10
から要求データを読出してバッファメモリ22の1セグ
メント(A=512セクタ)へ記憶するとともに、残り
の112セクタを利用して、その分の後続データについ
て読出キャッシュを実行することができる。つまり、全
部で512セクタまでの多量のデータについて読出キャ
ッシュを行えることになる。
【0019】一方、50セクタのデータ読出要求をホス
トコンピュータ40から受けた場合でもDDC20は、
ディスク10から要求データを読出してバッファメモリ
22の1セグメント(A=512セクタ)に記憶する。
次いで、これとは異なるデータの読出命令が発生せられ
るとDDC20は、ディスク10から要求データを読出
してセグメントの頭からオーバーライトする。つまり、
セグメント量に余裕があるにもかかわらず、前のデータ
は消されてしまう。
【0020】図4bのように1セグメントを小さくして
セグメント数を多くした場合は、その長所と短所が図4
aの場合と逆になる。図4bを参照して具体的に説明す
る。
【0021】たとえば50セクタのデータ読出要求をホ
ストコンピュータ40から受けた場合のDDC20は、
ディスク10から要求データを読出してバッファメモリ
22の1番目のセグメント(A=128セクタ)に記憶
するとともに、当該セグメントの残量も利用して読出キ
ャッシュを行う。次いで、これとは異なるデータの読出
命令がホストコンピュータ40から発せられるとDDC
20は、ディスク10から要求データを読出してバッフ
ァメモリ22の2番目のセグメントに記憶するととも
に、当該セグメントの残りの分量も利用して読出キャッ
シュを行う。つまり、全セグメントが使われていない限
り前のデータを残して次のデータのキャッシュを実行で
きるので、前にランダムに読出されたデータに対しても
キャッシュが実行される。
【0022】一方、ホストコンピュータ40から400
セクタのデータ読出要求があった場合、DDC20は、
ディスク10から要求データを読出してバッファメモリ
22の1セグメント(A=128セクタ)を繰り返し利
用する。つまり、1セグメントを3回ちょっとオーバー
ライトしながら400セクタの要求データを読出してい
く。したがって、要求データのうちのオーバーライトさ
れた部分=128×3=384セクタ分のデータは消さ
れることになるので、該データのキャッシュは実行され
ない。
【0023】以上のように、バッファメモリ22のセグ
メント量及びセグメント数は、システムの特性に応じて
適切に設定する必要がある。
【0024】図5に読出キャッシュのフローチャート、
図6にバッファメモリ22のセグメント状態についての
説明図を示してさらに説明する。
【0025】図6では、バッファメモリ22のセグメン
トSGを3つ(SG1〜3)にしている。そして、
“A”が1セグメントの大きさを、“B”がホストコン
ピュータ40から読出要求された要求データの大きさを
示している。
【0026】図5の500段階でホストコンピュータ4
0からデータ読出命令が入るとDDC20は、502段
階において、読出要求されたデータ量BがセグメントS
Gのセグメント量Aよりも大きいかどうか(B≧A)を
判断する。図6(a1)に示すのがB<Aの場合で、図
6(b1)に示すのがB≧Aの場合である。
【0027】502段階の結果、図6(a1)のように
B<Aであれば、504段階へ進んで要求データをディ
スク10から読出してバッファメモリ22の1番目のセ
グメントSG1に記憶する。そしてさらに、506段階
へ進んでセグメントSG1の残りの分量(A−B=x)
のデータを続けて読出し、同じセグメントSG1の残余
部分に記憶する。このときに読出キャッシュされるデー
タは、要求データの最終セクタに続くデータである。
【0028】セグメントSG1にデータを入れると50
7段階でDDC20は、ホストコンピュータ40の読出
タイミングに合わせてセグメントSG1から要求データ
(データ量B)を読出して転送する。図6(a2)は、
要求データ転送後のセグメントSG1におけるデータ記
憶状態を示している。すなわちセグメントSG1には、
ホストコンピュータ40から要求されたデータ量Bの要
求データと読出キャッシュされたデータ量A−B=xの
キャッシュデータとが記憶されている。
【0029】一方、502段階の結果が図6(b1)の
ようにB≧Aであれば、508段階へ進んでDDC20
は、要求データ(データ量B)のうち、セグメント量A
だけをディスク10からまず読出して1番目のセグメン
トSG1(空いているもの)に記憶し、ホストコンピュ
ータ40の読出タイミングに合わせて転送する。そして
510段階へ進んでDDC20は、セグメントSG1に
記憶したデータの転送が完了したかどうか判断する。転
送完了を確認すると510段階へ進んで、残りの超過分
の要求データ(B−A=y)をディスク10から読出し
てセグメントSG1に上書きし、これをホストコンピュ
ータ40の読出タイミングにあわせて転送する。
【0030】図6(b2)には、要求データをすべて転
送し終わった後のセグメントSG1の状態を説明してい
る。図示のように、最終的にセグメントSG1へ残るデ
ータは、セグメント量Aを越える部分がオーバーライト
されるために、ホストコンピュータ40によって要求さ
れたデータ量Bのうちのデータ量yの部分のみとなる。
すなわち、オーバーライト前にデータ量y分の領域を占
めていた頭のデータは消されてしまった状態にある。
【0031】図6の2番目、3番目のセグメントSG
2,3もセグメントSG1と同様に使用され、ホストコ
ンピュータ40から別の読出命令が入ったときのキャッ
シュ用に使用される。
【0032】
【発明が解決しようとする課題】従来技術における読出
キャッシュにおいては、ホストコンピュータからの要求
データを、再要求に備えてセグメントに残しておくこと
にしてある。しかし、最近のコンピュータで用いられて
いるOSではHDDよりも大きいキャッシュを設けてあ
るのが普通なので、読出要求のあった同じデータが再び
HDDから読出される確率は、読出命令によりHDDで
読出キャッシュした後続データに比べて低いと言える。
したがって現在では、転送してしまった要求データをH
DD側で残しおいたとしてもあまり意味はなく、かえっ
て読出キャッシュ量を減らすことになるので、性能向上
にはつながらない。また、1セグメント量を越える読出
データの場合に読出キャッシュを実行しなくなるのは、
性能向上に役立っているとは言えない。
【0033】このような従来技術に鑑みて本発明の目的
は、HDDなどディスクドライブの読出キャッシュ方式
を改善し、データ保管領域を効率的に使用できるように
して読出キャッシュのヒット率を高め、ハードウェア費
用をかけないでデータ転送速度をさらに向上させられる
ようにすることにある。
【0034】
【課題を解決するための手段】上述のように、現在のコ
ンピュータシステムのOSは自分で大きなキャッシュ領
域を保有しているので、要求データに用いた単位記憶領
域(セグメント単位)を、データ転送完了後は読出キャ
ッシュのために利用した方が効果的である。そこで本発
明では、ホストからの要求データをディスクから読出し
て1以上設けた単位記憶領域のいずれかへ入れ、これを
ホストへ転送するディスクドライブの読出キャッシュ方
式において、要求データ以降の1単位記憶領域相当分の
データをディスクから読出して要求データを転送し終わ
った単位記憶領域へ入れ、そして、残りの単位記憶領域
に対してもそれぞれ要求データ以降のデータをディスク
から読出して入れることを特徴とする。
【0035】また、ホストからの要求データをディスク
から読出して1以上設けた単位記憶領域のいずれかへ入
れ、これをホストへ転送するディスクドライブの読出キ
ャッシュ方式において、要求データを入れ終わって余る
単位記憶領域の部分へ要求データ以降のデータをディス
クから読出して入れ、そして、要求データ転送後に該要
求データのあった単位記憶領域の部分へ要求データ以降
のデータをディスクから読出して入れ、さらに、残りの
単位記憶領域に対してもそれぞれ要求データ以降のデー
タをディスクから読出して入れることを特徴とする。
【0036】あるいはまた、ホストからの要求データを
ディスクから読出して1以上設けた単位記憶領域のいず
れかへ入れ、これをホストへ転送するディスクドライブ
の読出キャッシュ方式において、1単位記憶領域相当分
の要求データをディスクから読出して単位記憶領域に入
れ転送した後に該要求データの単位記憶領域超過分のデ
ータをディスクから読出し上書きして転送するようにな
っており、その上書き後に余る単位記憶領域の部分へ要
求データ以降のデータをディスクから読出して入れ、そ
して、転送後の前記上書き部分へ要求データ以降のデー
タをディスクから読出して入れることを特徴とする。こ
の場合も、残りの単位記憶領域に対してもそれぞれ要求
データ以降のデータをディスクから読出して入れるよう
にすることができる。
【0037】さらにまた、ホストからの要求データをデ
ィスクから読出して1以上設けた単位記憶領域のいずれ
かへ入れ、これをホストへ転送するディスクドライブの
読出キャッシュ方式において、要求データが1単位記憶
領域に納まる場合には、要求データを入れ終わって余る
単位記憶領域の部分へ要求データ以降のデータをディス
クから読出して入れ、そして、要求データ転送後に該要
求データのあった単位記憶領域の部分へ要求データ以降
のデータをディスクから読出して入れ、さらに、残りの
単位記憶領域に対してもそれぞれ要求データ以降のデー
タをディスクから読出して入れるようにし、要求データ
が1単位記憶領域を越えている場合には、1単位記憶領
域相当分の要求データをディスクから読出して単位記憶
領域に入れ転送した後に該要求データの単位記憶領域超
過分のデータをディスクから読出し上書きして転送する
ようになっており、その上書き後に余る単位記憶領域の
部分へ要求データ以降のデータをディスクから読出して
入れ、そして、転送後の前記上書き部分へ要求データ以
降のデータをディスクから読出して入れ、さらに、残り
の単位記憶領域に対してもそれぞれ要求データ以降のデ
ータをディスクから読出して入れることを特徴とする。
【0038】このような本発明では、要求データを読出
し終わったヘッドを要求データの最終セクタから後続セ
クタへ移動させ、読出キャッシュの遂行前に予めヘッド
を位置決めするようにしておくとよい。
【0039】
【発明の実施の形態】以下、HDDの場合の実施形態に
つき添付図面を参照して詳細に説明する。
【0040】図7に本発明の読出キャッシュのフローチ
ャートを示し、図8に、そのときのバッファメモリ22
のセグメント状態について説明図を示してある。
【0041】図8では、図6同様に、記憶領域として使
用するバッファメモリ22のセグメントSG=単位記録
領域を3つ(SG1〜3)にしている。そして、“A”
は1つのセグメントSGの大きさ、“B”はホストコン
ピュータ40から要求されたデータの大きさである。
【0042】700段階でホストコンピュータ40から
データ読出命令がくるとDDC20は、702段階で、
ホストコンピュータ40の要求したデータ量Bがセグメ
ント量Aより大きいかどうか(B≧A)を判断する。図
8(a1)はB<Aの場合を示しており、図8(b1)
はB≧Aの場合を示している。
【0043】702段階の結果、図8(a1)のように
B<Aであれば、704段階へ進んで要求データ(デー
タ量B)をディスク10から読出して1番目のセグメン
トSG1に記憶する。次いで706段階へ進み、セグメ
ントSG1の残りの分量(A−B=x)のデータを続け
て読出し、セグメントSG1の残余部分に記憶する。つ
まり、データ量xの読出キャッシュが実行される。この
ときに読出キャッシュされるデータは、要求データの最
終セクタから続く一連のデータである。
【0044】その後にDDC20は、707段階でホス
トコンピュータ40の読出タイミングにあわせて要求デ
ータ(データ量B)をセグメントSG1から読出し、ホ
ストコンピュータ40へ転送する。図8(a2)の上段
は、データ転送時のセグメントSG1の状態を示してい
る。すなわちセグメントSG1には、ホストコンピュー
タ40から要求されたデータ量Bのデータと、読出キャ
ッシュのデータ量A−B=xのデータとが記憶されてい
る。
【0045】DDC20は、708段階で要求データの
転送完了を判断し、転送完了が確認されれば709段階
へ進む。この709段階でDDC20は、要求データの
データ量Bに匹敵するデータをディスク10から読出し
てくる。このときにディスク10から読出してくるデー
タは、706段階で読出キャッシュしたデータ(データ
量x)の最終セクタ以降の一連のデータである。続いて
DDC20は、720段階へ進んで他のセグメントSG
2,SG3に対し読出キャッシュを行う。この読出キャ
ッシュによりディスク10からセグメントSG2,SG
3へ記憶されるデータは、709段階で読出キャッシュ
したデータ(データ量B)の最終セクタ以降の一連のデ
ータである。
【0046】次いで722段階へ進むと、バッファメモ
リ22のすべてのセグメントが読出キャッシュに用いら
れたかどうかを判断し、まだ使用していないセグメント
があれば724段階へ進んで該当セグメントに対し読出
キャッシュを行う。バッファメモリ22の全セグメント
が読出キャッシュに利用されていれば726段階へ進
み、読出キャッシュを終了する。図8(a2)の下段に
示す状態が、バッファメモリ22の全セグメントを読出
キャッシュに使用した状態である。
【0047】一方、702段階で図8(b1)のように
B≧Aであれば、DDC20は710段階へ進み、要求
データ(データ量B)のうち、セグメント量A分のデー
タをディスク10から先に読出して1番目のセグメント
SG1に記憶する。そして、ホストコンピュータ40の
読出タイミングにあわせて転送し、DDC20は711
段階でセグメントSG1にフル記憶したデータの転送完
了を確認する。
【0048】転送完了すれば712段階へ進み、要求デ
ータのうちの残りのデータ量B−A=yの超過データを
ディスク10から読出してセグメントSG1に上書き記
憶する。そして714段階で、上書きされないセグメン
トSG1の残りのセグメント量A−yに読出キャッシュ
を行う。この読出キャッシュによってセグメントSG1
の残余部分(A−y)に記憶されるデータは、ホストコ
ンピュータ40による要求データの最終セクタ以降の一
連のデータである。図8(b2)の中段の状態が、残り
のデータ量yの要求データとともにA−y分の読出キャ
ッシュを行ったセグメントSG1の状態を示している。
すなわちセグメントSG1では、要求データのうちのデ
ータ量B−A=yが頭からオーバーライトされ、そして
残ったセグメント量A−yの部分に読出キャッシュのデ
ータが記憶されている。
【0049】その後にDDC20は、715段階で、ホ
ストコンピュータ40の読出タイミングにあわせて要求
データの残りの分量yをセグメントSG1から転送す
る。続いてDDC20は、716段階へ進んで要求デー
タの転送完了を判断し、転送完了を確認すると718段
階へ進む。この718段階においてDDC20は、デー
タ量yに相当するデータをディスク10から読出して読
出キャッシュを行う。このときにディスク10から読出
してくるデータは、714段階で読出キャッシュしたデ
ータの最終セクタ以降の一連のデータである。
【0050】次いでDDC20は、720段階へ進んで
他のセグメントSG2,SG3に対する読出キャッシュ
を行う。この読出キャッシュによってディスク10から
読出されてセグメントSG2,SG3へ記憶されるデー
タは、718段階で読出キャッシュしたデータの最終セ
クタ以降の一連のデータである。
【0051】722段階へ進むとバッファメモリ22の
すべてのセグメントが読出キャッシュに用いられたかど
うかを判断し、残りがあれば724段階へ進んで未使用
のセグメントに対して読出キャッシュを行う。バッファ
メモリ22の全セグメントが読出キャッシュに用いられ
ていれば、726段階へ進んで読出キャッシュを終了す
る。図8(b2)の下段に、バッファメモリ22の全セ
グメントが読出キャッシュに用いられた状態を示してあ
る。
【0052】HDDの読出キャッシュ効率は、ホストコ
ンピュータ40から要求されたデータがバッファメモリ
22に存在するヒット率HR(Hit Ratio) で表される。
このHRは、HR=〔要求データ内でバッファメモリに
存在するデータ〕/〔要求データ〕によって求められ
る。HRが高くなるほどホストコンピュータ40とHD
D間のデータ転送速度は速くなる。すなわち、HRが高
くなるほどバッファメモリ22からの転送が多くなるこ
とを意味するので、ディスク10のアクセス時間をその
分省けるからである。
【0053】本例のようにバッファメモリ22の全セグ
メントを読出キャッシュに使用する場合のHDDでは、
ディスク10から要求データを読出した後にマイクロコ
ントローラ24は、要求データの最終セクタに続くデー
タを読出すDDC20の指令に備えて、ヘッド12を前
記最終セクタの次の位置へ移動させておく。この場合、
最終セクタの次の位置をシークする必要のある場合には
予めシークも行ってしまう。このようなマイクロコント
ローラ24のサーボ制御は、読出キャッシュによる追加
的なオーバーヘッド(overhead)を減らすことができる。
【0054】
【発明の効果】本発明によれば、データ転送後に記憶領
域の全領域を後続データの読出キャッシュ用にすること
ができるので、ハードウェアの追加費用をかけることな
くデータ転送速度を向上させることができ、ディスクド
ライブの高性能化に貢献する。
【図面の簡単な説明】
【図1】HDDの構成を示したブロック図。
【図2】通常の書込動作と書込キャッシュ動作とを比較
して示した説明図。
【図3】通常の読出動作と読出キャッシュ動作とを比較
して示した説明図。
【図4】バッファメモリのセグメント分割例を示した説
明図。
【図5】従来の読出キャッシュを説明したフローチャー
ト。
【図6】従来のバッファメモリにおけるセグメント状態
の説明図。
【図7】本発明の読出キャッシュを説明したフローチャ
ート。
【図8】本発明のバッファメモリにおけるセグメント状
態の説明図。
【符号の説明】
10 ディスク 12 ヘッド 16 前置増幅器 18 読出/書込チャンネル回路 20 DDC(ディスクデータコントローラ) 22 バッファメモリ(RAM) 24 マイクロコントローラ 28 サーボ駆動部 30 アクチュエータ 32 スピンドルモータ駆動部 34 スピンドルモータ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ホストからの要求データをディスクから
    読出して1以上設けた単位記憶領域のいずれかへ入れ、
    これをホストへ転送するディスクドライブの読出キャッ
    シュ方式において、 要求データ以降の1単位記憶領域相当分のデータをディ
    スクから読出して要求データを転送し終わった単位記憶
    領域へ入れ、そして、残りの単位記憶領域に対してもそ
    れぞれ要求データ以降のデータをディスクから読出して
    入れるようにしたことを特徴とする読出キャッシュ方
    式。
  2. 【請求項2】 ホストからの要求データをディスクから
    読出して1以上設けた単位記憶領域のいずれかへ入れ、
    これをホストへ転送するディスクドライブの読出キャッ
    シュ方式において、 要求データを入れ終わって余る単位記憶領域の部分へ要
    求データ以降のデータをディスクから読出して入れ、そ
    して、要求データ転送後に該要求データのあった単位記
    憶領域の部分へ要求データ以降のデータをディスクから
    読出して入れ、さらに、残りの単位記憶領域に対しても
    それぞれ要求データ以降のデータをディスクから読出し
    て入れるようにしたことを特徴とする読出キャッシュ方
    式。
  3. 【請求項3】 ホストからの要求データをディスクから
    読出して1以上設けた単位記憶領域のいずれかへ入れ、
    これをホストへ転送するディスクドライブの読出キャッ
    シュ方式において、 1単位記憶領域相当分の要求データをディスクから読出
    して単位記憶領域に入れ転送した後に該要求データの単
    位記憶領域超過分のデータをディスクから読出し上書き
    して転送するようになっており、その上書き後に余る単
    位記憶領域の部分へ要求データ以降のデータをディスク
    から読出して入れ、そして、転送後の前記上書き部分へ
    要求データ以降のデータをディスクから読出して入れる
    ようにしたことを特徴とする読出キャッシュ方式。
  4. 【請求項4】 残りの単位記憶領域に対してもそれぞれ
    要求データ以降のデータをディスクから読出して入れる
    請求項3記載の読出キャッシュ方式。
  5. 【請求項5】 ホストからの要求データをディスクから
    読出して1以上設けた単位記憶領域のいずれかへ入れ、
    これをホストへ転送するディスクドライブの読出キャッ
    シュ方式において、 要求データが1単位記憶領域に納まる場合には、要求デ
    ータを入れ終わって余る単位記憶領域の部分へ要求デー
    タ以降のデータをディスクから読出して入れ、そして、
    要求データ転送後に該要求データのあった単位記憶領域
    の部分へ要求データ以降のデータをディスクから読出し
    て入れ、さらに、残りの単位記憶領域に対してもそれぞ
    れ要求データ以降のデータをディスクから読出して入れ
    るようにし、 要求データが1単位記憶領域を越えている場合には、1
    単位記憶領域相当分の要求データをディスクから読出し
    て単位記憶領域に入れ転送した後に該要求データの単位
    記憶領域超過分のデータをディスクから読出し上書きし
    て転送するようになっており、その上書き後に余る単位
    記憶領域の部分へ要求データ以降のデータをディスクか
    ら読出して入れ、そして、転送後の前記上書き部分へ要
    求データ以降のデータをディスクから読出して入れ、さ
    らに、残りの単位記憶領域に対してもそれぞれ要求デー
    タ以降のデータをディスクから読出して入れるようにし
    たことを特徴とする読出キャッシュ方式。
  6. 【請求項6】 要求データを読出し終わったヘッドを要
    求データの最終セクタから後続セクタへ移動させ、読出
    キャッシュの遂行前に予めヘッドを位置決めする請求項
    1〜5のいずれか1項に記載のディスクドライブ。
JP9295812A 1996-10-28 1997-10-28 ディスクドライブにおける読出キャッシュ方式 Pending JPH10149260A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019960049248A KR19980029917A (ko) 1996-10-28 1996-10-28 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법
KR1996P49248 1996-10-28

Publications (1)

Publication Number Publication Date
JPH10149260A true JPH10149260A (ja) 1998-06-02

Family

ID=19479312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9295812A Pending JPH10149260A (ja) 1996-10-28 1997-10-28 ディスクドライブにおける読出キャッシュ方式

Country Status (3)

Country Link
US (1) US6523086B1 (ja)
JP (1) JPH10149260A (ja)
KR (1) KR19980029917A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7258943B2 (en) 2002-10-03 2007-08-21 Honda Giken Kogyo Kabushiki Kaisha Fuel cell
JP2009211217A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4170044B2 (ja) * 2002-08-16 2008-10-22 富士通株式会社 ディスク記憶装置
US20040147955A1 (en) * 2003-01-28 2004-07-29 Scimed Life Systems, Inc. Embolic protection filter having an improved filter frame
CN102568539A (zh) * 2010-12-20 2012-07-11 鸿富锦精密工业(深圳)有限公司 硬盘
CN102543143A (zh) * 2010-12-24 2012-07-04 鸿富锦精密工业(深圳)有限公司 硬盘模组
US9552297B2 (en) 2013-03-04 2017-01-24 Dot Hill Systems Corporation Method and apparatus for efficient cache read ahead
US8930619B2 (en) 2012-05-29 2015-01-06 Dot Hill Systems Corporation Method and apparatus for efficiently destaging sequential I/O streams
US9053038B2 (en) 2013-03-05 2015-06-09 Dot Hill Systems Corporation Method and apparatus for efficient read cache operation
US8886880B2 (en) 2012-05-29 2014-11-11 Dot Hill Systems Corporation Write cache management method and apparatus
US9684455B2 (en) 2013-03-04 2017-06-20 Seagate Technology Llc Method and apparatus for sequential stream I/O processing
US9128854B1 (en) * 2012-09-28 2015-09-08 Emc Corporation System and method for data prediction
US9152563B2 (en) 2013-03-04 2015-10-06 Dot Hill Systems Corporation Method and apparatus for processing slow infrequent streams
US9158687B2 (en) 2013-03-04 2015-10-13 Dot Hill Systems Corporation Method and apparatus for processing fast asynchronous streams
US9465555B2 (en) 2013-08-12 2016-10-11 Seagate Technology Llc Method and apparatus for efficient processing of disparate data storage commands
US9600205B1 (en) * 2014-09-22 2017-03-21 Western Digital Technologies, Inc. Power aware power safe write buffer

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3308554B2 (ja) * 1991-02-20 2002-07-29 株式会社日立製作所 制御装置及び制御装置の制御方法
US5410653A (en) * 1992-06-16 1995-04-25 International Business Machines Corporation Asynchronous read-ahead disk caching using multiple disk I/O processes and dynamically variable prefetch length
JPH07334310A (ja) * 1994-06-06 1995-12-22 Toshiba Corp ディスク装置及び同装置における読み出しデータのバッファ記憶制御方法
US5623608A (en) * 1994-11-14 1997-04-22 International Business Machines Corporation Method and apparatus for adaptive circular predictive buffer management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7258943B2 (en) 2002-10-03 2007-08-21 Honda Giken Kogyo Kabushiki Kaisha Fuel cell
JP2009211217A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8225047B2 (en) 2008-03-01 2012-07-17 Kabushiki Kaisha Toshiba Memory system with pre-fetch operation

Also Published As

Publication number Publication date
US6523086B1 (en) 2003-02-18
KR19980029917A (ko) 1998-07-25

Similar Documents

Publication Publication Date Title
JP3629216B2 (ja) デフラグメンテーション機能を有するディスク記憶システム、及び同システムにおけるデフラグメンテーション方法
US7373460B2 (en) Media drive and command execution method thereof
JPH10149260A (ja) ディスクドライブにおける読出キャッシュ方式
JP4675881B2 (ja) 磁気ディスク装置およびその制御方法
US20060101174A1 (en) Media drive, and power saving method thereof
JPH06236241A (ja) フラッシュメモリを用いたハードディスク装置
JP3823040B2 (ja) データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ
JPH07225715A (ja) キャッシュ内のデータにアクセスする方法およびシステム
US6567886B1 (en) Disk drive apparatus and control method thereof
US6654852B2 (en) Method and system of reading and writing data by a disk drive apparatus
US20040015878A1 (en) Reordering controller, reordering method and storage apparatus
JPH11317000A (ja) ディスク記憶装置及び同装置における電力供給制御方法
JPH04111113A (ja) ハードディスクエミュレータ
US6041392A (en) Disk drive device and method for controlling the same
JP3080758B2 (ja) 磁気ディスク装置
JP2834081B2 (ja) 磁気ディスク制御装置
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
JPH11232037A (ja) ディスクキャッシュライト機能を持った磁気ディスク装置
JP3341094B2 (ja) 記録媒体読出し装置
JP3579395B2 (ja) ディスク記憶装置及びアクセス方法
JP3080416B2 (ja) コントロ−ラにおける内部的動作の実行方法及びコントロ−ラ
JPH10333984A (ja) 記録再生装置
JP2864751B2 (ja) ディスク制御装置の不揮発性メモリ管理方式
JP2704138B2 (ja) 磁気ディスクキャッシュの制御方法
JPH0628779A (ja) ディスク装置におけるデータ記録制御方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040825

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050621