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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing 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
能化を図れる読出キャッシュ方式を提供する。 【解決手段】 要求データBが単位記憶領域Aに納まれ
ば(a1)、単位記憶領域の残余部分xへキャッシュデ
ータを入れ(a2)、そして、要求データ転送後に該要
求データのあった単位記憶領域の部分Bへキャッシュデ
ータを入れ、さらに、残りの単位記憶領域Aに対しても
それぞれキャッシュデータを入れる。また、要求データ
Bが単位記憶領域Aを越えていれば(b1)、単位記憶
領域A相当の要求データをディスクから読出して単位記
憶領域Aに入れて転送した後に超過分のデータyを上書
きして転送し(b2)、その上書き後に余る単位記憶領
域の部分A−yへキャッシュデータを入れ、そして、転
送後の前記上書き部分yへキャッシュデータを入れ、さ
らに、残りの単位記憶領域Aに対してもそれぞれキャッ
シュデータを入れる。
Description
ブやハードディスクドライブ(HDD)などのディスク
ドライブに関し、特に、その読出キャッシュ(read cach
e)に関する。
置)における補助記憶装置は、CPUの高性能化に追い
つくべく性能向上が要求されている。補助記憶装置の中
でも現在最も高速なのがHDDである。図1は、HDD
の構成を示したブロック図であって、2枚のディスクの
両面へアクセスする4つのヘッドをもつHDDの例が示
されている。
って回転する。4つの各ヘッド12は、ロータリーボイ
スコイルアクチュエータ30により動作するEブロック
アセンブリ14からディスク10へ伸張したサポートア
ームにそれぞれ設置される。前置増幅器16は、読出動
作のときに、ヘッド12によってピックアップされたア
ナログ読出信号を前置増幅して読出/書込チャンネル回
路18へ提供し、書込動作のときに、読出/書込チャン
ネル回路18から提供される符号化書込データをヘッド
12へ出力する。
幅器16により提供された読出信号からデータパルスを
検出し、デコードしてDDC(Disk Data Controller)2
0へ提供する。また、DDC20から印加される書込デ
ータをデコードして前置増幅器16へ提供する。DDC
20は、ホストコンピュータから受信されるデータを読
出/書込チャンネル回路18から前置増幅器16を通じ
てディスク10へ書込んだり、あるいは、ディスク10
から読出したデータをホストコンピュータへ送信する。
また、DDC20は、ホストコンピュータとマイクロコ
ントローラ24との間の通信をインタフェースする。
タとマイクロンコントローラ24及び読出/書込チャン
ネル回路18との間で伝送されるデータを一時的に記憶
する。マイクロコントローラ24は、ホストコンピュー
タから受信される読出/書込命令に応じてトラックシー
ク及びフォローを制御する。メモリ26は、マイクロコ
ントローラ24の遂行プログラム及び各種の設定値を記
憶するROMである。
ラ24から提供されるヘッド位置制御信号に応じてアク
チュエータ30の駆動電流をボイスコイルへ印加する。
アクチュエータ30は、サーボ駆動部28から印加され
る駆動電流の方向及びレベルに対応してヘッド12をデ
ィスク10上で移動させる。スピンドルモータ駆動部3
2は、マイクロコントローラ24から提供されるディス
ク回転制御値に応じてスピンドルモータ34を駆動し、
ディスク10の回転を制御する。
コンピュータとドライブとの間で単位時間当たりにやり
取り可能なデータ量を示したデータ転送速度(data tran
sferrate)を使用しており、このデータ転送速度に影響
する要素としては、スピンドルモータ34の回転速度、
アクチュエータ30の移動速度、バッファメモリ22の
大きさ、そしてHDDの駆動プログラムの効率性などを
挙げることができる。
スピンドルモータの回転速度、バッファメモリの拡張、
シーク時間などのハードウェア的な面と、書込キャッシ
ュ(write cache) 、読出キャッシュ(read cache)、コマ
ンドレコーディング(commandrecording) などを行うソ
フトウェア的な面との両面からのアプローチが必要であ
る。現在では、与えられたハードウェア環境内でHDD
のデータ転送速度を高めるための方法として、下記のよ
うな技術が用いられている。
Dがホストコンピュータから書込命令を受けたときにホ
ストコンピュータからの書込データをバッファメモリを
利用した記憶領域に受け、これをディスクへ書込む前に
ホストコンピュータには書込命令をすべて遂行したよう
に結果を戻しておき、この後に余裕をもってバッファメ
モリに記憶された書込データを実際にディスクへ書込む
手法である。図2を参照して、通常の書込動作と書込キ
ャッシュ動作との違いについて説明する。図2Aが書込
キャッシュなしの場合、図2Bが書込キャッシュの場合
である。
動作では、ホストコンピュータ40からDDC20へ書
込命令とともに書込データの転送があると、DDC2
0は、転送されてくる書込データをバッファメモリ22
に記憶し、全データを受けると直ちに取り出す。そ
して、これをディスク10に書込み、書込終了後にホ
ストコンピュータ40へデータ書込完了を知らせる。
ホストコンピュータ40から書込命令があると、DD
C20は、ホストコンピュータ40から転送されてくる
書込データをバッファメモリ22に記憶し、全データ
を受けるとホストコンピュータ40へデータ書込完了を
先に知らせる。そしてDDC20は、余裕をもってバ
ッファメモリ22から書込データを取り出し、ディス
ク10へ書込む。
法はread look ahead ともいう読出キャッシュであり、
これは、読出が要求されるであろうデータをバッファメ
モリを利用した記憶領域に読出しておくことにより、次
の読出命令でディスクからの読出時間を省き、高速化を
図る手法である。図3を参照して、通常の読出動作と読
出キャッシュ動作との違いについて説明する。図3Aが
読出キャッシュなしの場合、図3Bが読出キャッシュの
場合である。
ホストコンピュータ40からDDC20へ読出命令があ
ると、DDC20は、ディスク10から該当データを
読出し、バッファメモリ22に記憶する。そして、
これを読出し、ホストコンピュータ40へ転送する
。この〜を、ホストコンピュータ40から読出命
令がある度に繰り返す。
まず最初に図3A同様にして読出命令に応じたデータ読
出を行ったときに、続いて読出される可能性のあるデー
タも一緒に読出してバッファメモリ22へ記憶しておく
(a)。そして、ホストコンピュータ40から読出命令
があると、DDC20は、バッファメモリ22に予め
読出してあるデータがキャッシュヒットであればこれを
読出し、ホストコンピュータ40へ転送する。
図3、図4、図5を参照してさらに詳しく説明する。
メモリ22の記憶領域は、図4に示すような一定の大き
さAをもつ単位記憶領域のセグメント(segment) に分け
られる。すなわち、効率的管理のためにバッファメモリ
22の記憶領域はデータ量Aの単位記憶領域に分けら
れ、その各単位記憶領域がセグメントである。図4の各
例ではバッファメモリ22の記憶領域が全部で512セ
クタであり、図4aは、その記憶領域全部を1つのセグ
メント(セグメント量A=512セクタ)とした例、図
4bは、記憶領域を4つのセグメント(セグメント量A
=128セクタ)に分けた例である。このようなセグメ
ントのとり方によってそれぞれ一長一短がある。
くして1セグメントを大きくとった場合、その長所は、
ホストコンピュータ40から連続した多量のデータの読
出要求があったときでも、一度に該当セグメントへ記憶
できることである。一方この場合の短所は、ホストコン
ピュータ40から少量ずつばらばらのデータの読出要求
があったときに、各要求データすべてを記憶しておくこ
とができないということである。これについて図4aを
参照して具体的に説明する。
の読出要求があった場合、DDC20は、ディスク10
から要求データを読出してバッファメモリ22の1セグ
メント(A=512セクタ)へ記憶するとともに、残り
の112セクタを利用して、その分の後続データについ
て読出キャッシュを実行することができる。つまり、全
部で512セクタまでの多量のデータについて読出キャ
ッシュを行えることになる。
トコンピュータ40から受けた場合でもDDC20は、
ディスク10から要求データを読出してバッファメモリ
22の1セグメント(A=512セクタ)に記憶する。
次いで、これとは異なるデータの読出命令が発生せられ
るとDDC20は、ディスク10から要求データを読出
してセグメントの頭からオーバーライトする。つまり、
セグメント量に余裕があるにもかかわらず、前のデータ
は消されてしまう。
セグメント数を多くした場合は、その長所と短所が図4
aの場合と逆になる。図4bを参照して具体的に説明す
る。
ストコンピュータ40から受けた場合のDDC20は、
ディスク10から要求データを読出してバッファメモリ
22の1番目のセグメント(A=128セクタ)に記憶
するとともに、当該セグメントの残量も利用して読出キ
ャッシュを行う。次いで、これとは異なるデータの読出
命令がホストコンピュータ40から発せられるとDDC
20は、ディスク10から要求データを読出してバッフ
ァメモリ22の2番目のセグメントに記憶するととも
に、当該セグメントの残りの分量も利用して読出キャッ
シュを行う。つまり、全セグメントが使われていない限
り前のデータを残して次のデータのキャッシュを実行で
きるので、前にランダムに読出されたデータに対しても
キャッシュが実行される。
セクタのデータ読出要求があった場合、DDC20は、
ディスク10から要求データを読出してバッファメモリ
22の1セグメント(A=128セクタ)を繰り返し利
用する。つまり、1セグメントを3回ちょっとオーバー
ライトしながら400セクタの要求データを読出してい
く。したがって、要求データのうちのオーバーライトさ
れた部分=128×3=384セクタ分のデータは消さ
れることになるので、該データのキャッシュは実行され
ない。
メント量及びセグメント数は、システムの特性に応じて
適切に設定する必要がある。
図6にバッファメモリ22のセグメント状態についての
説明図を示してさらに説明する。
トSGを3つ(SG1〜3)にしている。そして、
“A”が1セグメントの大きさを、“B”がホストコン
ピュータ40から読出要求された要求データの大きさを
示している。
0からデータ読出命令が入るとDDC20は、502段
階において、読出要求されたデータ量BがセグメントS
Gのセグメント量Aよりも大きいかどうか(B≧A)を
判断する。図6(a1)に示すのがB<Aの場合で、図
6(b1)に示すのがB≧Aの場合である。
B<Aであれば、504段階へ進んで要求データをディ
スク10から読出してバッファメモリ22の1番目のセ
グメントSG1に記憶する。そしてさらに、506段階
へ進んでセグメントSG1の残りの分量(A−B=x)
のデータを続けて読出し、同じセグメントSG1の残余
部分に記憶する。このときに読出キャッシュされるデー
タは、要求データの最終セクタに続くデータである。
7段階でDDC20は、ホストコンピュータ40の読出
タイミングに合わせてセグメントSG1から要求データ
(データ量B)を読出して転送する。図6(a2)は、
要求データ転送後のセグメントSG1におけるデータ記
憶状態を示している。すなわちセグメントSG1には、
ホストコンピュータ40から要求されたデータ量Bの要
求データと読出キャッシュされたデータ量A−B=xの
キャッシュデータとが記憶されている。
ようにB≧Aであれば、508段階へ進んでDDC20
は、要求データ(データ量B)のうち、セグメント量A
だけをディスク10からまず読出して1番目のセグメン
トSG1(空いているもの)に記憶し、ホストコンピュ
ータ40の読出タイミングに合わせて転送する。そして
510段階へ進んでDDC20は、セグメントSG1に
記憶したデータの転送が完了したかどうか判断する。転
送完了を確認すると510段階へ進んで、残りの超過分
の要求データ(B−A=y)をディスク10から読出し
てセグメントSG1に上書きし、これをホストコンピュ
ータ40の読出タイミングにあわせて転送する。
送し終わった後のセグメントSG1の状態を説明してい
る。図示のように、最終的にセグメントSG1へ残るデ
ータは、セグメント量Aを越える部分がオーバーライト
されるために、ホストコンピュータ40によって要求さ
れたデータ量Bのうちのデータ量yの部分のみとなる。
すなわち、オーバーライト前にデータ量y分の領域を占
めていた頭のデータは消されてしまった状態にある。
2,3もセグメントSG1と同様に使用され、ホストコ
ンピュータ40から別の読出命令が入ったときのキャッ
シュ用に使用される。
キャッシュにおいては、ホストコンピュータからの要求
データを、再要求に備えてセグメントに残しておくこと
にしてある。しかし、最近のコンピュータで用いられて
いるOSではHDDよりも大きいキャッシュを設けてあ
るのが普通なので、読出要求のあった同じデータが再び
HDDから読出される確率は、読出命令によりHDDで
読出キャッシュした後続データに比べて低いと言える。
したがって現在では、転送してしまった要求データをH
DD側で残しおいたとしてもあまり意味はなく、かえっ
て読出キャッシュ量を減らすことになるので、性能向上
にはつながらない。また、1セグメント量を越える読出
データの場合に読出キャッシュを実行しなくなるのは、
性能向上に役立っているとは言えない。
は、HDDなどディスクドライブの読出キャッシュ方式
を改善し、データ保管領域を効率的に使用できるように
して読出キャッシュのヒット率を高め、ハードウェア費
用をかけないでデータ転送速度をさらに向上させられる
ようにすることにある。
ンピュータシステムのOSは自分で大きなキャッシュ領
域を保有しているので、要求データに用いた単位記憶領
域(セグメント単位)を、データ転送完了後は読出キャ
ッシュのために利用した方が効果的である。そこで本発
明では、ホストからの要求データをディスクから読出し
て1以上設けた単位記憶領域のいずれかへ入れ、これを
ホストへ転送するディスクドライブの読出キャッシュ方
式において、要求データ以降の1単位記憶領域相当分の
データをディスクから読出して要求データを転送し終わ
った単位記憶領域へ入れ、そして、残りの単位記憶領域
に対してもそれぞれ要求データ以降のデータをディスク
から読出して入れることを特徴とする。
から読出して1以上設けた単位記憶領域のいずれかへ入
れ、これをホストへ転送するディスクドライブの読出キ
ャッシュ方式において、要求データを入れ終わって余る
単位記憶領域の部分へ要求データ以降のデータをディス
クから読出して入れ、そして、要求データ転送後に該要
求データのあった単位記憶領域の部分へ要求データ以降
のデータをディスクから読出して入れ、さらに、残りの
単位記憶領域に対してもそれぞれ要求データ以降のデー
タをディスクから読出して入れることを特徴とする。
ディスクから読出して1以上設けた単位記憶領域のいず
れかへ入れ、これをホストへ転送するディスクドライブ
の読出キャッシュ方式において、1単位記憶領域相当分
の要求データをディスクから読出して単位記憶領域に入
れ転送した後に該要求データの単位記憶領域超過分のデ
ータをディスクから読出し上書きして転送するようにな
っており、その上書き後に余る単位記憶領域の部分へ要
求データ以降のデータをディスクから読出して入れ、そ
して、転送後の前記上書き部分へ要求データ以降のデー
タをディスクから読出して入れることを特徴とする。こ
の場合も、残りの単位記憶領域に対してもそれぞれ要求
データ以降のデータをディスクから読出して入れるよう
にすることができる。
ィスクから読出して1以上設けた単位記憶領域のいずれ
かへ入れ、これをホストへ転送するディスクドライブの
読出キャッシュ方式において、要求データが1単位記憶
領域に納まる場合には、要求データを入れ終わって余る
単位記憶領域の部分へ要求データ以降のデータをディス
クから読出して入れ、そして、要求データ転送後に該要
求データのあった単位記憶領域の部分へ要求データ以降
のデータをディスクから読出して入れ、さらに、残りの
単位記憶領域に対してもそれぞれ要求データ以降のデー
タをディスクから読出して入れるようにし、要求データ
が1単位記憶領域を越えている場合には、1単位記憶領
域相当分の要求データをディスクから読出して単位記憶
領域に入れ転送した後に該要求データの単位記憶領域超
過分のデータをディスクから読出し上書きして転送する
ようになっており、その上書き後に余る単位記憶領域の
部分へ要求データ以降のデータをディスクから読出して
入れ、そして、転送後の前記上書き部分へ要求データ以
降のデータをディスクから読出して入れ、さらに、残り
の単位記憶領域に対してもそれぞれ要求データ以降のデ
ータをディスクから読出して入れることを特徴とする。
し終わったヘッドを要求データの最終セクタから後続セ
クタへ移動させ、読出キャッシュの遂行前に予めヘッド
を位置決めするようにしておくとよい。
つき添付図面を参照して詳細に説明する。
ャートを示し、図8に、そのときのバッファメモリ22
のセグメント状態について説明図を示してある。
用するバッファメモリ22のセグメントSG=単位記録
領域を3つ(SG1〜3)にしている。そして、“A”
は1つのセグメントSGの大きさ、“B”はホストコン
ピュータ40から要求されたデータの大きさである。
データ読出命令がくるとDDC20は、702段階で、
ホストコンピュータ40の要求したデータ量Bがセグメ
ント量Aより大きいかどうか(B≧A)を判断する。図
8(a1)はB<Aの場合を示しており、図8(b1)
はB≧Aの場合を示している。
B<Aであれば、704段階へ進んで要求データ(デー
タ量B)をディスク10から読出して1番目のセグメン
トSG1に記憶する。次いで706段階へ進み、セグメ
ントSG1の残りの分量(A−B=x)のデータを続け
て読出し、セグメントSG1の残余部分に記憶する。つ
まり、データ量xの読出キャッシュが実行される。この
ときに読出キャッシュされるデータは、要求データの最
終セクタから続く一連のデータである。
トコンピュータ40の読出タイミングにあわせて要求デ
ータ(データ量B)をセグメントSG1から読出し、ホ
ストコンピュータ40へ転送する。図8(a2)の上段
は、データ転送時のセグメントSG1の状態を示してい
る。すなわちセグメントSG1には、ホストコンピュー
タ40から要求されたデータ量Bのデータと、読出キャ
ッシュのデータ量A−B=xのデータとが記憶されてい
る。
転送完了を判断し、転送完了が確認されれば709段階
へ進む。この709段階でDDC20は、要求データの
データ量Bに匹敵するデータをディスク10から読出し
てくる。このときにディスク10から読出してくるデー
タは、706段階で読出キャッシュしたデータ(データ
量x)の最終セクタ以降の一連のデータである。続いて
DDC20は、720段階へ進んで他のセグメントSG
2,SG3に対し読出キャッシュを行う。この読出キャ
ッシュによりディスク10からセグメントSG2,SG
3へ記憶されるデータは、709段階で読出キャッシュ
したデータ(データ量B)の最終セクタ以降の一連のデ
ータである。
リ22のすべてのセグメントが読出キャッシュに用いら
れたかどうかを判断し、まだ使用していないセグメント
があれば724段階へ進んで該当セグメントに対し読出
キャッシュを行う。バッファメモリ22の全セグメント
が読出キャッシュに利用されていれば726段階へ進
み、読出キャッシュを終了する。図8(a2)の下段に
示す状態が、バッファメモリ22の全セグメントを読出
キャッシュに使用した状態である。
B≧Aであれば、DDC20は710段階へ進み、要求
データ(データ量B)のうち、セグメント量A分のデー
タをディスク10から先に読出して1番目のセグメント
SG1に記憶する。そして、ホストコンピュータ40の
読出タイミングにあわせて転送し、DDC20は711
段階でセグメントSG1にフル記憶したデータの転送完
了を確認する。
ータのうちの残りのデータ量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の部分に読出キャッシュのデ
ータが記憶されている。
ストコンピュータ40の読出タイミングにあわせて要求
データの残りの分量yをセグメントSG1から転送す
る。続いてDDC20は、716段階へ進んで要求デー
タの転送完了を判断し、転送完了を確認すると718段
階へ進む。この718段階においてDDC20は、デー
タ量yに相当するデータをディスク10から読出して読
出キャッシュを行う。このときにディスク10から読出
してくるデータは、714段階で読出キャッシュしたデ
ータの最終セクタ以降の一連のデータである。
他のセグメントSG2,SG3に対する読出キャッシュ
を行う。この読出キャッシュによってディスク10から
読出されてセグメントSG2,SG3へ記憶されるデー
タは、718段階で読出キャッシュしたデータの最終セ
クタ以降の一連のデータである。
すべてのセグメントが読出キャッシュに用いられたかど
うかを判断し、残りがあれば724段階へ進んで未使用
のセグメントに対して読出キャッシュを行う。バッファ
メモリ22の全セグメントが読出キャッシュに用いられ
ていれば、726段階へ進んで読出キャッシュを終了す
る。図8(b2)の下段に、バッファメモリ22の全セ
グメントが読出キャッシュに用いられた状態を示してあ
る。
ンピュータ40から要求されたデータがバッファメモリ
22に存在するヒット率HR(Hit Ratio) で表される。
このHRは、HR=〔要求データ内でバッファメモリに
存在するデータ〕/〔要求データ〕によって求められ
る。HRが高くなるほどホストコンピュータ40とHD
D間のデータ転送速度は速くなる。すなわち、HRが高
くなるほどバッファメモリ22からの転送が多くなるこ
とを意味するので、ディスク10のアクセス時間をその
分省けるからである。
メントを読出キャッシュに使用する場合のHDDでは、
ディスク10から要求データを読出した後にマイクロコ
ントローラ24は、要求データの最終セクタに続くデー
タを読出すDDC20の指令に備えて、ヘッド12を前
記最終セクタの次の位置へ移動させておく。この場合、
最終セクタの次の位置をシークする必要のある場合には
予めシークも行ってしまう。このようなマイクロコント
ローラ24のサーボ制御は、読出キャッシュによる追加
的なオーバーヘッド(overhead)を減らすことができる。
域の全領域を後続データの読出キャッシュ用にすること
ができるので、ハードウェアの追加費用をかけることな
くデータ転送速度を向上させることができ、ディスクド
ライブの高性能化に貢献する。
して示した説明図。
して示した説明図。
明図。
ト。
の説明図。
ート。
態の説明図。
Claims (6)
- 【請求項1】 ホストからの要求データをディスクから
読出して1以上設けた単位記憶領域のいずれかへ入れ、
これをホストへ転送するディスクドライブの読出キャッ
シュ方式において、 要求データ以降の1単位記憶領域相当分のデータをディ
スクから読出して要求データを転送し終わった単位記憶
領域へ入れ、そして、残りの単位記憶領域に対してもそ
れぞれ要求データ以降のデータをディスクから読出して
入れるようにしたことを特徴とする読出キャッシュ方
式。 - 【請求項2】 ホストからの要求データをディスクから
読出して1以上設けた単位記憶領域のいずれかへ入れ、
これをホストへ転送するディスクドライブの読出キャッ
シュ方式において、 要求データを入れ終わって余る単位記憶領域の部分へ要
求データ以降のデータをディスクから読出して入れ、そ
して、要求データ転送後に該要求データのあった単位記
憶領域の部分へ要求データ以降のデータをディスクから
読出して入れ、さらに、残りの単位記憶領域に対しても
それぞれ要求データ以降のデータをディスクから読出し
て入れるようにしたことを特徴とする読出キャッシュ方
式。 - 【請求項3】 ホストからの要求データをディスクから
読出して1以上設けた単位記憶領域のいずれかへ入れ、
これをホストへ転送するディスクドライブの読出キャッ
シュ方式において、 1単位記憶領域相当分の要求データをディスクから読出
して単位記憶領域に入れ転送した後に該要求データの単
位記憶領域超過分のデータをディスクから読出し上書き
して転送するようになっており、その上書き後に余る単
位記憶領域の部分へ要求データ以降のデータをディスク
から読出して入れ、そして、転送後の前記上書き部分へ
要求データ以降のデータをディスクから読出して入れる
ようにしたことを特徴とする読出キャッシュ方式。 - 【請求項4】 残りの単位記憶領域に対してもそれぞれ
要求データ以降のデータをディスクから読出して入れる
請求項3記載の読出キャッシュ方式。 - 【請求項5】 ホストからの要求データをディスクから
読出して1以上設けた単位記憶領域のいずれかへ入れ、
これをホストへ転送するディスクドライブの読出キャッ
シュ方式において、 要求データが1単位記憶領域に納まる場合には、要求デ
ータを入れ終わって余る単位記憶領域の部分へ要求デー
タ以降のデータをディスクから読出して入れ、そして、
要求データ転送後に該要求データのあった単位記憶領域
の部分へ要求データ以降のデータをディスクから読出し
て入れ、さらに、残りの単位記憶領域に対してもそれぞ
れ要求データ以降のデータをディスクから読出して入れ
るようにし、 要求データが1単位記憶領域を越えている場合には、1
単位記憶領域相当分の要求データをディスクから読出し
て単位記憶領域に入れ転送した後に該要求データの単位
記憶領域超過分のデータをディスクから読出し上書きし
て転送するようになっており、その上書き後に余る単位
記憶領域の部分へ要求データ以降のデータをディスクか
ら読出して入れ、そして、転送後の前記上書き部分へ要
求データ以降のデータをディスクから読出して入れ、さ
らに、残りの単位記憶領域に対してもそれぞれ要求デー
タ以降のデータをディスクから読出して入れるようにし
たことを特徴とする読出キャッシュ方式。 - 【請求項6】 要求データを読出し終わったヘッドを要
求データの最終セクタから後続セクタへ移動させ、読出
キャッシュの遂行前に予めヘッドを位置決めする請求項
1〜5のいずれか1項に記載のディスクドライブ。
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)
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)
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)
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 |
-
1996
- 1996-10-28 KR KR1019960049248A patent/KR19980029917A/ko not_active Application Discontinuation
-
1997
- 1997-10-28 US US08/958,844 patent/US6523086B1/en not_active Expired - Fee Related
- 1997-10-28 JP JP9295812A patent/JPH10149260A/ja active Pending
Cited By (3)
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 |