JPH10171713A - ディスク記憶装置及び同装置に適用するキャッシュ制御方法 - Google Patents

ディスク記憶装置及び同装置に適用するキャッシュ制御方法

Info

Publication number
JPH10171713A
JPH10171713A JP8328342A JP32834296A JPH10171713A JP H10171713 A JPH10171713 A JP H10171713A JP 8328342 A JP8328342 A JP 8328342A JP 32834296 A JP32834296 A JP 32834296A JP H10171713 A JPH10171713 A JP H10171713A
Authority
JP
Japan
Prior art keywords
data
address
read
cache
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
JP8328342A
Other languages
English (en)
Inventor
Chikashi Igari
史 猪狩
Masayuki Fukuzaki
雅之 福崎
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
Toshiba Computer Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Computer Engineering 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, Toshiba Computer Engineering Corp filed Critical Toshiba Corp
Priority to JP8328342A priority Critical patent/JPH10171713A/ja
Publication of JPH10171713A publication Critical patent/JPH10171713A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】リードキャッシュ機能に必要な各種処理を、C
PUが関与することなく専用のハードウェアにより実行
可能な構成により、結果的にリードキャッシュ処理に要
する処理時間を短縮化を実現して、ディスク記憶装置の
アクセス速度を向上させることにある。 【解決手段】HDC10に設けられたリードキャッシュ
制御装置20は、バッファRAM11に格納されたキャ
ッシュデータ(先読みデータ)をヒット範囲として設定
し、ホストシステムからのリード要求のデータがヒット
範囲に含まれているか否かを判定する。ヒット判定結果
によりリード要求のデータがヒット範囲に含まれている
場合に、要求データに該当するキャッシュデータが格納
されたバッファアドレスを求めて、このバッファアドレ
スからホストシステムに自動的にキャッシュデータを転
送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば磁気ディス
ク装置に適用し、ディスク記録媒体から読出したデータ
をキャッシュデータとして利用するリードキャッシュ機
能を有するディスク記憶装置に関する。
【0002】
【従来の技術】従来、磁気ディスク装置であるハードデ
ィスクドライブ(HDD)などのディスク記憶装置は、
半導体ICメモリと比較して記憶容量は大きいが、デー
タアクセス速度が低速である。このため、ホストシステ
ム(パーソナルコンピュータなどのコンピュータ本体)
がHDDに対して必要なデータを要求(リード要求)し
たときに、HDDのディスク記録媒体(以下単にディス
クと称する)から読出されて転送されるまでの処理時間
が相対的に長時間となる。従って、ホストシステム側の
データ処理効率を向上させる上で、特に外部記憶装置と
して重要な周辺デバイスであるHDDのアクセス速度を
高速化が望ましい。
【0003】このようなアクセスの高速化の技術とし
て、いわゆるリードキャッシュ機能が周知である。リー
ドキャッシュ機能とは、ホストシステムから最初のリー
ド要求によりディスクから読出されたデータをホストシ
ステムに転送した後に、ディスクからの読出し動作を継
続して、リード要求のデータに連続したデータを先読み
処理し、バッファメモリ(バッファRAM)に保存する
処理である。そして、次にホストシステムからのリード
要求があったときに、その要求データがバッファRAM
に保存されている場合には、ディスクからの読出し動作
を実行せずに、ホストシステムに転送する処理を実行す
る。このようなリードキャッシュ機能により、読出し頻
度の高いデータについては、ディスクに対する読出し動
作を行なうことなく、バッファRAMから直接にホスト
システムに転送できるため、結果的にHDDのデータア
クセス動作を高速化できる。
【0004】リードキャッシュ機能の方式としては、最
初のリード要求により読出されたセクタデータのアドレ
ス(ホストシステムからの論理アドレスとする)に連続
したアドレスに対してリード要求があると、バッファR
AM内に先読みしたセクタデータをホストシステムに転
送する処理がある。この連続したアドレスは、シーケン
シャル・データアドレスと呼ばれ、バッファRAMに格
納されているキャッシュデータ(先読みされたセクタデ
ータ)の開始アドレスに相当する。
【0005】一方、最初のリード要求のアドレスに対し
て、不連続なアドレス(ランダムアドレス)のリード要
求が発生した場合には、要求データアドレスがバッファ
RAMに格納されているキャッシュデータのアドレスと
を比較し、該当する要求データがバッファRAMに存在
するか否かを判定する(ヒット判定処理)。即ち、シー
ケンシャル・データアドレスをSA、要求データアドレ
スをA、キャッシュデータの最終アドレス(キャッシュ
・データアドレス)をEAとした場合に、条件式「SA
≦A≦EA」を満足するか否かを判定する。ここで、キ
ャッシュ・データアドレスEAは、シーケンシャル・デ
ータアドレスSA及びバッファRAM内に読出されたセ
クタデータ数(先読みデータ数)から算出される。要求
データアドレスAが前記条件式を満足する場合には、バ
ッファRAMに要求データが存在するため、その要求デ
ータであるキャッシュデータが格納されているバッファ
RAMのアドレスを求めて、このアドレスから読出した
キャッシュデータをホストシステムに転送する。
【0006】HDDでは、ドライブとホストシステムと
のインターフェースを構成するディスクコントローラ
(HDC)が設けられており、このHDCによりディス
クとホストシステム間のデータ転送が実行される。さら
に、ドライブの制御装置を構成するマイクロプロセッサ
(CPU)は、バッファRAMのアドレスを管理し、前
記のリードキャッシュ機能におけるヒット判定処理やバ
ッファRAMのアドレス算出処理を実行している。
【0007】
【発明が解決しようとする課題】前述したように、HD
D等においては、データ転送動作に使用するバッファR
AMを利用して、先読みしたデータをキャッシュデータ
として保存し、ホストシステムからのリード要求にヒッ
トしたキャッシュデータを転送するリードキャッシュ機
能が使用されている。このようなリードキャッシュ機能
により、データの高速アクセス動作を実現することがで
きる。しかしながら、従来のリードキャッシュ機能では
CPUが相当関与し、特にヒット判定処理やバッファR
AMのアドレス算出処理を実行している。通常ではCP
Uは、リードキャッシュ処理以外にもHDCのアクセス
コマンド処理に必要な各種のレジスタ(ステータスレジ
スタなど)の監視や、データ転送動作におけるポーリン
グ処理などを実行している。従って、CPUが大きく関
与したリードキャッシュ機能では、必ずしも効率的では
なく、ヒットした場合でもバッファRAMに存在するキ
ャッシュデータを転送するにはかなりの処理時間を要す
る。
【0008】そこで、本発明の目的は、リードキャッシ
ュ機能に必要な各種処理を、CPUが関与することなく
専用のハードウェアにより実行可能な構成により、結果
的にリードキャッシュ処理に要する処理時間を短縮化を
実現して、ディスク記憶装置のアクセス速度を向上させ
ることにある。
【0009】
【課題を解決するための手段】本発明は、いわゆるリー
ドキャッシュ機能を備えたディスク記憶装置であって、
バッファメモリ手段に格納されたキャッシュデータのヒ
ット範囲を設定するための設定手段と、ホストシステム
からのリード要求のデータがヒット範囲に含まれている
か否かを判定する判定手段と、前記判定手段の判定結果
により前記リード要求のデータが前記ヒット範囲に含ま
れている場合に、バッファメモリ手段のアドレスを決定
するアドレス決定手段と、データ転送手段とを備えた装
置である。ヒット範囲の設定手段とは、具体的にはバッ
ファメモリ手段に格納されたキャッシュデータの先頭ア
ドレスを保持するキャッシュアドレス保持手段と、バッ
ファメモリ手段に格納された前記キャッシュデータの所
定単位毎のデータ数をカウントするデータカウンタ手段
と、先頭アドレスとデータ数とに基づいてキャッシュデ
ータの最終アドレスを算出する手段とを有する。
【0010】このような各処理手段を専用のロジック回
路により構成することにより、リードキャッシュ処理に
必要なドライブのCPUの関与を大幅に削減することが
可能であるため、リードキャッシュ処理の処理時間を短
縮化することができる。
【0011】さらに、本発明は、リードアクセス時にデ
ィスク記録媒体から読出されたデータのアドレスに連続
するアドレスのデータを読出して、バッファメモリ手段
に保存する先読み手段と、バッファメモリ手段に格納さ
れた全データまたは前記先読み手段により読出されたデ
ータのみをキャッシュデータとして設定し、前記キャッ
シュデータの先頭アドレスを保持する先頭アドレス保持
手段と、バッファメモリ手段に格納されたキャッシュデ
ータの所定単位毎のデータ数をカウントするデータカウ
ンタ手段とを備えた装置である。
【0012】前記ヒット範囲の設定手段は先頭アドレス
保持手段とデータカウンタ手段とにより構成されて、キ
ャッシュデータの先頭アドレスとデータ数とに基づいて
ヒット範囲を設定する。また、データカウンタ手段は、
キャッシュデータの所定単位毎のデータ数と共に、キャ
ッシュデータに連続してバッファメモリ手段に格納され
る予定のキャッシュデータのデータ数をカウントする。
データ転送手段は、リード要求のデータアドレスがヒッ
ト範囲に含まれているが、バッファメモリ手段にその要
求データが存在しない場合には、その要求データに該当
するキャッシュデータがバッファメモリ手段に格納され
た時点でホストシステムに転送する。
【0013】従って、キャッシュデータがバッファメモ
リ手段に格納する前に、リードキャッシュ処理に必要な
ヒット判定処理が終了しているため、バッファメモリ手
段に格納した時点で直ちに要求データをホストシステム
に転送することが可能となる。
【0014】
【発明の実施の形態】以下図面を参照して本発明の実施
の形態を説明する。図1は本実施形態に関係するリード
キャッシュ機能を有するディスクコントローラの要部を
示すブロック図であり、図2は本実施形態に関係するH
DDの要部を示すブロック図である。 (HDDのシステム構成)本実施形態のHDDは、図2
に示すように、スピンドルモータ2により回転されるデ
ィスク(記録媒体)1と、ヘッドアクチュエータ4によ
り保持されている。ディスク1上には、同心円状の多数
のトラックが形成されて、各トラックは複数のセクタに
分割されている。HDDではセクタ単位にデータアクセ
スがなされる。ヘッドアクチュエータ4はボイスコイル
モータ(VCM)5により回転駆動し、ヘッド3をディ
スク1の半径方向に移動する。VCM5はダブルドライ
バ6に含まれるVCMドライバ6aにより駆動される。
スピンドルモータ2はスピンドルモータ(SPM)ドラ
イバ6bにより駆動される。
【0015】ヘッドアンプ7とリード/ライト回路8は
記録再生の信号処理系を構成する要素である。なお、本
実施形態では、リードキャッシュ機能に関係する再生動
作であるリード信号処理系のみについて取り扱う。即
ち、ヘッド3により読出されたリード信号は、ヘッドア
ンプ7により増幅された後に、リード/ライト回路8に
送出されてリードデータに再生される。また、リード/
ライト回路8は、リード信号からユーザデータだけでな
く、ヘッド3の位置決め制御に必要なサーボデータも再
生する。サーボ回路11は、リード/ライト回路8から
のサーボデータをディスク制御回路9を介してCPU1
2に送出したり、またCPU12からの制御によりVC
Mドライバ6aを駆動制御して、ヘッド3の位置決め制
御を実行する。ディスク制御回路9はゲートアレイから
構成されており、各種の制御信号やデータの転送制御な
どに必要なインターフェース制御回路である。
【0016】CPU12はドライブの制御装置であり、
ROM13に格納されたプログラムにより動作し、ドラ
イブの動作に必要な各種の制御処理を実行する。EEP
ROM14は電気的に消去可能なPROMであり、CP
U12の動作において不揮発性を要するデータを格納す
る。 (ディスクコントローラの構成)本実施形態のディスク
コントローラ(HDC)10は、図1に示すように、本
実施形態に関係するリードキャッシュ制御装置20を有
する。HDC10は、ドライブとホストシステム(OS
やアプリケーション・プログラムを含むホストコンピュ
ータ)とのインターフェースを構成し、ディスク1側と
のディスクインターフェース10aおよびホストシステ
ム側とのホストインターフェース10bを有する。HD
C10は、バッファRAM11を使用してリード/ライ
トデータの転送動作を実行する。バッファRAM11は
本実施形態に関係するリードキャッシュ処理に使用され
るキャッシュデータを保存するバッファメモリである。 (第1の実施形態)図3は第1の実施形態として、リー
ドキャッシュ制御装置20の具体的なハードウェア構成
を示すブロック図である。即ち、リードキャッシュ制御
装置20は、キャッシュデータの開始アドレスであるシ
ーケンシャル・データアドレス(以下アドレスSAと称
する)を保持するレジスタ21と、バッファRAM11
に格納されたキャッシュデータのデータ数(セクタデー
タ数)をカウントし保持するディスクカウンタ22と、
バッファRAM11に格納されたキャッシュデータの先
頭データのバッファ・ベースアドレス(ベースアドレス
BAと称する)を保持するレジスタ23とを有する。
【0017】さらに、リードキャッシュ制御装置20
は、バッファRAM11に格納されたキャッシュデータ
の最終データアドレス(キャッシュ・エンドアドレス、
以下エンドアドレスEAと称する)を算出する算出回路
24と、ホストシステムからのリード要求の要求データ
アドレスQAを保持するレジスタ25と、ヒット判定回
路26と、バッファアドレス算出回路27と、自動転送
回路28とを備えている。
【0018】ヒット判定回路26は算出回路24の算出
結果(エンドアドレスEA)と要求データアドレスQA
とを比較して、リード要求の要求データがヒットするか
否かを判定する。バッファアドレス算出回路27は、後
述するように、ヒット判定回路26の判定結果がヒット
の場合に、要求データであるキャッシュデータが格納さ
れているバッファRAM11のバッファアドレスを算出
する。自動転送回路28は、バッファアドレス算出回路
27により算出されたバッファRAM11のアドレスか
ら読出したデータをホストシステムに自動的に転送する
回路である。 (第1の実施形態のリードキャッシュ処理)以下同実施
形態のリードキャッシュ処理を、図4乃至図6を参照し
て説明する。
【0019】まず、ホストシステムからリードコマンド
(リード要求)が発行されると、一連のリードコマンド
処理がHDC10及びCPU12により実行されて、ヘ
ッド3を介してディスク1からデータが読出される(ス
テップS1)。具体的には、CPU12は、リードコマ
ンドの論理アドレスに対応するセクタを含むディスク1
上のトラックまで、ヘッドアクチュエータ4を駆動制御
してヘッド3を移動させる。ヘッド3により読出された
リードデータが、ヘッドアンプ7、リード/ライト回路
8およびディスク制御回路9を経由して、HDC10に
転送される。
【0020】ここで、図4(A)に示すように、ホスト
システムのリード要求に従って、ディスク1からセクタ
データS1〜S9がアクセスされたと想定する。これら
のセクタデータS1〜S9はHDC10に転送されて、
同図(B)に示すように、一度バッファRAM11に格
納される。このバッファRAM11から、HDC10の
ホストインターフェース10Bを介してホストシステム
に転送される。このデータ転送動作は、前述したよう
に、図3に示す自動転送回路28によりバッファRAM
11からホストシステムに自動的に転送される。
【0021】最初の要求データであるセクタデータS1
〜S9がホストシステムに転送終了すると、HDC10
とCPU12は通常の先読み処理を実行する(ステップ
S2のYES,S3)。この先読み処理により、アクセ
スしたセクタデータS1〜S9に連続するアドレス(論
理アドレス)のセクタデータS10〜Snをディスク1
から読出し、バッファRAM11に保存する(ステップ
S4)。この先読みされたセクタデータS10〜Snが
キャッシュデータとして、図4(B)に示すように、バ
ッファRAM11に格納される。このとき、当然ながら
バッファRAM11の空き領域に対応するデータ量のキ
ャッシュデータが保存される。
【0022】同実施形態のリードキャッシュ制御装置2
0では、キャッシュデータがバッファRAM11に格納
されるときに、図5(A)に示すように、キャッシュデ
ータの開始アドレスであるアドレスSA(論理アドレ
ス)がレジスタ21にセットされる。さらに、同図
(B)に示すように、ディスクカウンタ22により、バ
ッファRAM11に格納されるときに、キャッシュデー
タのデータ数(セクタデータ数、ここではn−9個とな
る)がカウントされて保持される。また、同図(E)に
示すように、バッファRAM11に格納されたキャッシ
ュデータの先頭データのベースアドレスBA(物理アド
レス)がレジスタ23にセットされる。
【0023】このような状態において、ホストシステム
から新たなリード要求が発行されて、その要求データが
セクタデータS20であり、論理アドレスが「R20」
であると想定する(ステップS5のYES)。リードキ
ャッシュ制御装置20では、図5(D)に示すように、
レジスタ25にはホストシステムからのリード要求の要
求データアドレスQAである論理アドレスR20がセッ
トされる。リードキャッシュ制御装置20では、ヒット
判定回路26は、リード要求の要求データがバッファR
AM11に格納されているキャッシュデータに含まれて
いるか否のヒット判定処理を実行する(ステップS
6)。
【0024】ここで、同実施形態では、ヒット判定回路
26の動作の前に、算出回路24によりバッファRAM
11に格納されたキャッシュデータの最終データアドレ
スであるエンドアドレスEA(論理アドレスRn)が算
出されて保持される(図5(C)を参照)。算出回路2
4は、レジスタ21に格納されたキャッシュデータの開
始アドレスSAとディスクカウンタ22のセクタデータ
数(n−9)とからエンドアドレスEAを算出する。同
実施形態では、図4(B)に示すように、論理アドレス
R10(バッファRAM11の物理アドレスA10)か
ら論理アドレスRn(バッファRAM11の物理アドレ
スAn)までがヒット範囲となる。即ち、ヒット判定回
路26は、条件式「SA≦QA≦EA」に基づいて、リ
ード要求の要求データ(セクタデータS20)がヒット
するか否かを判定する。
【0025】判定結果がヒットしない場合、即ちリード
要求の要求データがバッファRAM11には存在しない
場合には、HDC10とCPU12は前述したような通
常のリード動作を実行して、ディスク1から要求データ
を読出してホストシステムに転送する(ステップS7の
NO,S8)。
【0026】同実施形態では、要求データアドレスQA
が「R20」であるため、ヒット判定回路26は該当す
るキャッシュデータがバッファRAM11に存在すると
判定する(ステップS7のYES)。このヒット判定結
果を受けて、バッファアドレス算出回路27は、要求デ
ータアドレスQA、キャッシュデータの開始アドレスS
A、およびバッファRAM11のベースアドレスBAに
基づいて、要求データ(セクタデータS20)であるキ
ャッシュデータが格納されているバッファRAM11の
バッファアドレス(図5(F)に示すA20)を算出す
る(ステップS9)。自動転送回路28は、バッファR
AM11のバッファアドレスA20が設定されると、そ
のアドレスA20から自動的にデータS20を読出して
ホストシステムに転送する(ステップS10)。
【0027】以上のように同実施形態によれば、ホスト
システムからのリード要求に応じて、リードキャッシュ
制御装置20はCPU12が関与することなく、ヒット
判定回路26のヒット判定処理と、ヒットした場合のバ
ッファRAM11のバッファアドレス(物理アドレス)
を算出する処理を実行する。これにより、バッファRA
M11に先読みしたキャッシュデータの中にリード要求
の要求データが含まれていれば、CPU11の関与およ
びディスク1からの読出し動作もなく、バッファRAM
11からホストシステムに自動的に要求データが転送さ
れることになる。従って、従来のようにCPU12が関
与する方式と比較して、大幅にリードアクセス時間を短
縮化して、アクセス速度の高速化を図ることが可能とな
る。
【0028】なお、同実施形態は、最初にアクセスした
データから先読みしたデータをキャッシュデータとして
バッファRAM11に格納し、そのキャッシュデータを
ヒット範囲として設定する方式を前提としている(図4
(B)を参照)。しかし、バッファRAM11の格納領
域量に従って、最初に読出したデータS1〜S9までを
ヒット範囲として設定してもよい。この場合には、ホス
トシステムが最初にリード要求したデータS1〜S9と
同一のデータ(例えばS1)を要求したときに、リード
キャッシュ制御装置20はバッファRAM11から読出
して自動的にホストシステムに転送することになる。ま
た、ホストシステムのリード要求がヒットしない場合に
は、バッファRAM11の内容は全て更新されて、新た
なにディスク1から読出されたデータおよびその先読み
データがバッファRAM11に保存される。 (第2の実施形態)図7から図10は第2の実施形態に
関係するリードキャッシュ処理を示すものである。第2
の実施形態は、図8に示すように、バッファRAM11
のヒット範囲を格納したキャッシュデータだけでなく、
格納予定のキャッシュデータまで拡大した方式である。
【0029】具体的には、図7に示すように、同実施形
態のリードキャッシュ制御装置20はディスクカウンタ
22の代わりに、バッファRAM11に格納可能なセク
タデータ数をカウントするセグメントサイズ・カウンタ
30を有する。なお、他の構成は図3に示す前述の第1
の実施形態と同様である。
【0030】以下図10のフローチャートを参照して同
実施形態の動作を説明する。まず、ホストシステムから
リード要求が発行されると、一連のリードコマンド処理
がHDC10及びCPU12により実行されて、図8に
示すように、読出されたセクタデータS1〜S9がHD
C10に転送されて、バッファRAM11に格納され
る。そして、最初の要求データであるセクタデータS1
〜S9がホストシステムに転送終了すると、HDC10
とCPU12は通常の先読み処理を実行する(ステップ
S20〜S22)。この先読み処理により、アクセスし
たセクタデータS1〜S9に連続するアドレス(論理ア
ドレス)のセクタデータS10〜Snがディスク1から
読出されて、バッファRAM11に保存される(ステッ
プS23)。ここまでは、前述の第1の実施形態と同様
である。
【0031】次に、ホストシステムから新たなリード要
求が発行されると、リードキャッシュ制御装置20で
は、ヒット判定回路26は、ホストシステムからの要求
データがバッファRAM11に格納されているキャッシ
ュデータに含まれているか否のヒット判定処理を実行す
る(ステップS24,S25)。なお、同実施形態にお
いても、ホストシステムの要求データがセクタデータS
20であり、論理アドレスが「R20」であると想定す
る。従って、レジスタ25には要求データアドレスQA
である論理アドレスR20がセットされる。
【0032】同実施形態では、算出回路24は、レジス
タ21に格納されたキャッシュデータの開始アドレスS
Aと、セグメントサイズ・カウンタ30によりカウント
されたセクタデータ数とからエンドアドレスEAを算出
する。セグメントサイズ・カウンタ30は、バッファR
AM11に格納されるセクタデータ数であり、現時点で
格納されたセクタデータだけでなく、空き領域に従った
格納予定のセクタデータ数もカウントする。ここでは、
図9に示すように、セグメントサイズ・カウンタ30は
セクタデータ数として「m−9」を保持する。「m」
は、図8に示すように、バッファRAM11において、
先読みセクタデータ数nと格納予定のセクタデータ数と
を加算した値である(最終物理アドレスをAmとす
る)。
【0033】ヒット判定回路26の判定結果がヒットし
ない場合、即ちリード要求の要求データがバッファRA
M11には存在しない場合には、HDC10とCPU1
2は前述したような通常のリード動作を実行して、ディ
スク1から要求データを読出してホストシステムに転送
する(ステップS26のNO,S27)。
【0034】同実施形態では、要求データアドレスQA
が「R20」であるため、ヒット判定回路26は該当す
るキャッシュデータがバッファRAM11に存在すると
判定する(ステップS26のYES)。このヒット判定
結果を受けて、バッファアドレス算出回路27は、要求
データアドレスQA、キャッシュデータの開始アドレス
SA、およびバッファRAM11のベースアドレスBA
に基づいて、要求データ(セクタデータS20)である
キャッシュデータが格納されているバッファRAM11
のバッファアドレス(図8に示すA20)を算出する
(ステップS28)。自動転送回路28は、バッファR
AM11のバッファアドレスA20が設定されると、そ
のアドレスA20から自動的にデータS20を読出して
ホストシステムに転送する(ステップS29のYES,
S31)。
【0035】同実施形態では、図8に示すように、ヒッ
ト判定回路26によるバッファRAM11のヒット範囲
は、現時点で格納されたセクタデータ数だけでなく、格
納予定のセクタデータ数まで拡大されている。このた
め、ホストシステムからのリード要求のデータがヒット
した場合でも、現時点ではバッファRAM11に格納さ
れていない状態が発生することがある。この場合には、
自動転送回路28は、ディスク1から読出されてバッフ
ァRAM11に格納されるまで待機し、その要求データ
(キャッシュデータ)が格納された時点でホストシステ
ムに転送する処理を行なう(ステップS29のNO,S
30)。ここで、自動転送回路28は、現時点ではバッ
ファRAM11に格納されていない場合に、所定の条件
(例えば待機時間)により待機するか否かを選択し、待
機しないときにはデータ転送動作を停止する。これによ
り、CPU12は、リードキャッシュ動作から通常のリ
ード動作に切替えて、ディスク1から要求データを読出
すようにしてもよい。
【0036】以上のように同実施形態によれば、先読み
処理時に先読みされたセクタデータがバッファRAM1
1に転送されている期間に、ホストシステムからリード
要求がなされた場合でも、リードキャッシュ機能を発揮
させることが可能となる。即ち、リード要求時にバッフ
ァRAM11に格納されていないが、格納予定のキャッ
シュデータを含めたヒット範囲を設定し、要求データの
ヒット判定処理を実行することができる。従って、格納
予定の先読みデータをバッファRAM11に格納された
時点で、直ちにホストシステムに自動転送することがで
きる。これにより、前述の第1の実施形態の場合と比較
して、さらにリードアクセス処理の効率を向上させるこ
とが可能となる。
【0037】
【発明の効果】以上詳述したように本発明によれば、リ
ードキャッシュ機能を有するディスク記憶装置におい
て、ドライブを制御するためのCPUが関与することな
く専用のハードウェア構成により、バッファメモリに格
納したキャッシュデータを利用したリードキャッシュ処
理の処理時間の短縮化を実現できる。従って、結果的に
低速アクセスのディスクから読出すリード動作を減少さ
せて、バッファメモリからの高速転送により、リードア
クセス速度の高速化を図ることができる。さらに、バッ
ファメモリに格納する予定のキャッシュデータを含むヒ
ット範囲を拡大する方式により、リードキャッシュ処理
におけるヒット率を高めることができる。また、ディス
クからキャッシュデータの先読み処理時に、ホストシス
テムからリード要求が発生しても、要求データに該当す
るキャッシュデータがバッファメモリに格納された時点
で自動的に転送できるため、結果的にリードアクセス処
理の効率を向上させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態に関係するディスクコントロ
ーラの要部を示すブロック図。
【図2】本実施形態に関係するHDDの要部を示すブロ
ック図。
【図3】第1の実施形態に関係するリードキャッシュ制
御装置の要部を示すブロック図。
【図4】第1の実施形態に関係する動作を説明するため
の概念図。
【図5】第1の実施形態に関係する動作を説明するため
の各レジスタの内容を示す概念図。
【図6】第1の実施形態に関係する動作を説明するため
のフローチャート。
【図7】第2の実施形態に関係するリードキャッシュ制
御装置の要部を示すブロック図。
【図8】第2の実施形態に関係する動作を説明するため
のバッファRAMの概念図。
【図9】第2の実施形態に関係する動作を説明するため
のセグメントサイズ・カウンタの内容を示す概念図。
【図10】第2の実施形態に関係する動作を説明するた
めのフローチャート。
【符号の説明】
1…ディスク 2…スピンドルモータ 3…ヘッド 4…ヘッドアクチュエータ 5…ボイスコイルモータ(VCM) 6…ダブルドライバ 6a…VCMドライバ 6b…SPMドライバ 7…ヘッドアンプ 8…リード/ライト回路 9…ディスク制御回路 10…ディスクコントローラ(HDC) 11…バッファRAM(バッファメモリ手段) 12…CPU 13…ROM 14…EEPROM 20…リードキャッシュ制御装置 21…シーケンシャル・データアドレスレジスタ 22…ディスクカウンタ 23…バッファ・ベースアドレスレジスタ 24…キャッシュ・エンドアドレス算出回路 25…要求データアドレスレジスタ 26…ヒット判定回路 27…バッファアドレス算出回路 28…自動転送回路

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 リードアクセス時にディスク記録媒体か
    ら読出されたデータを格納するバッファメモリ手段を有
    し、前記バッファメモリ手段からリード要求のデータを
    読出してホストシステムに転送するリードキャッシュ機
    能を備えたディスク記憶装置であって、 前記バッファメモリ手段に格納されたキャッシュデータ
    のヒット範囲を設定するための設定手段と、 前記ホストシステムからのリード要求のデータが前記ヒ
    ット範囲に含まれているか否かを判定する判定手段と、 前記判定手段の判定結果により前記リード要求のデータ
    が前記ヒット範囲に含まれている場合に、前記リード要
    求に該当するキャッシュデータが格納されている前記バ
    ッファメモリ手段のアドレスを決定するアドレス決定手
    段と、 前記アドレス決定手段により決定されたアドレスのキャ
    ッシュデータを前記バッファメモリ手段から前記ホスト
    システムに転送するデータ転送手段とを具備したことを
    特徴とするディスク記憶装置。
  2. 【請求項2】 前記設定手段は、前記バッファメモリ手
    段に格納された前記キャッシュデータの先頭アドレスを
    保持するキャッシュアドレス保持手段と、 前記バッファメモリ手段に格納された前記キャッシュデ
    ータの所定単位毎のデータ数をカウントするデータカウ
    ンタ手段と、 前記先頭アドレスと前記データ数とに基づいて前記キャ
    ッシュデータの最終アドレスを算出する手段とを有し、 前記先頭アドレスと前記最終アドレスとに基づいて前記
    ヒット範囲を設定することを特徴とする請求項1記載の
    ディスク記憶装置。
  3. 【請求項3】 前記アドレス決定手段は専用のロジック
    回路から構成されていることを特徴とする請求項1記載
    のディスク記憶装置。
  4. 【請求項4】 前記データ転送手段は、前記アドレス決
    定手段により決定されたアドレスのキャッシュデータを
    前記バッファメモリ手段から読出して、自動的に前記ホ
    ストシステムに転送するための自動転送機能を有するこ
    とを特徴とする請求項1記載のディスク記憶装置。
  5. 【請求項5】 リードアクセス時にディスク記録媒体か
    ら読出されたデータを格納するバッファメモリ手段を有
    し、前記バッファメモリ手段からリード要求のデータを
    読出してホストシステムに転送するリードキャッシュ機
    能を備えたディスク記憶装置であって、 前記リードアクセス時に前記ディスク記録媒体から読出
    されたデータのアドレスに連続するアドレスのデータを
    読出して、前記バッファメモリ手段に保存する先読み手
    段と、 前記バッファメモリ手段に格納された全データまたは前
    記先読み手段により読出されたデータのみをキャッシュ
    データとして設定し、前記キャッシュデータの先頭アド
    レスを保持する先頭アドレス保持手段と、 前記バッファメモリ手段に格納された前記キャッシュデ
    ータの所定単位毎のデータ数をカウントするデータカウ
    ンタ手段と、 前記キャッシュデータの先頭アドレスに対応する前記バ
    ッファメモリ手段のベースアドレスを保持するベースア
    ドレス保持手段と、 前記キャッシュデータの先頭アドレスと前記データ数と
    に基づいてヒット範囲を設定し、前記ホストシステムか
    らのリード要求により発行された要求データアドレスが
    前記ヒット範囲に含まれるか否かを判定する判定手段
    と、 前記判定手段により前記要求データアドレスが前記ヒッ
    ト範囲に含まれる場合に、前記ベースアドレス、前記先
    頭アドレスおよび前記要求データアドレスにより前記リ
    ード要求に該当するキャッシュデータが格納されている
    前記バッファメモリ手段のアドレスを算出するアドレス
    決定手段と、 前記アドレス決定手段により決定されたアドレスのキャ
    ッシュデータを前記バッファメモリ手段から前記ホスト
    システムに転送するデータ転送手段とを具備したことを
    特徴とするディスク記憶装置。
  6. 【請求項6】 前記データカウンタ手段は、前記キャッ
    シュデータの所定単位毎のデータ数と共に、前記キャッ
    シュデータに連続して前記バッファメモリ手段に格納さ
    れる予定の前記キャッシュデータのデータ数をカウント
    する手段を有し、 前記データ転送手段は、前記アドレス決定手段により算
    出されたアドレスのキャッシュデータが前記バッファメ
    モリ手段に格納されていない場合に、その格納される予
    定のキャッシュデータが前記バッファメモリ手段に格納
    された時点で前記リード要求に該当する要求データとし
    て前記ホストシステムに転送する手段を有することを特
    徴とする請求項5記載のディスク記憶装置。
  7. 【請求項7】 前記データ転送手段は、前記アドレス決
    定手段により算出されたアドレスのキャッシュデータが
    前記バッファメモリ手段に格納されていない場合に、そ
    の格納される予定のキャッシュデータが前記バッファメ
    モリ手段に格納されるまで待機するか否かを選択する手
    段を有し、 待機した状態で前記予定のキャッシュデータが前記バッ
    ファメモリ手段に格納された時点で前記リード要求に該
    当する要求データとして前記ホストシステムに転送する
    ことを特徴とする請求項6記載のディスク記憶装置。
  8. 【請求項8】 前記アドレス決定手段は、前記先頭アド
    レスと前記要求データアドレスとの差分を算出する手段
    を有し、 算出した差分を前記ベースアドレスに加算して前記リー
    ド要求に該当するキャッシュデータが格納されている前
    記バッファメモリ手段のアドレスを算出する手段を有す
    ることを特徴とする請求項5記載のディスク記憶装置。
  9. 【請求項9】 リードアクセス時にディスク記録媒体か
    ら読出されたデータを格納するバッファメモリ手段を有
    し、前記バッファメモリ手段からリード要求のデータを
    読出してホストシステムに転送するリードキャッシュ機
    能を備えたディスク記憶装置に適用するキャッシュ制御
    方法であって、 前記リードアクセス時に前記ディスク記録媒体から読出
    されたデータのアドレスに連続するアドレスのデータを
    読出して、前記バッファメモリ手段に保存する先読み処
    理と、 前記バッファメモリ手段に格納された全データまたは前
    記先読み処理により読出されたデータのみをキャッシュ
    データとして設定し、前記キャッシュデータの先頭アド
    レスを保持する処理と、 前記キャッシュデータの先頭アドレスと前記バッファメ
    モリ手段に格納されたキャッシュデータのデータ数とに
    基づいてヒット範囲を設定する処理と、 前記ホストシステムからのリード要求により発行された
    要求データアドレスが前記ヒット範囲に含まれるか否か
    を判定する処理と、 前記要求データアドレスが前記ヒット範囲に含まれる場
    合に、前記リード要求に該当するキャッシュデータが格
    納されている前記バッファメモリ手段のアドレスを算出
    するアドレス算出処理と、 前記リード要求に該当するキャッシュデータを、前記ア
    ドレス算出処理により算出された前記バッファメモリ手
    段のアドレスから読出して前記ホストシステムに転送す
    る処理とを有することを特徴とするキャッシュ制御方
    法。
  10. 【請求項10】 リードアクセス時にディスク記録媒体
    から読出されたデータを格納するバッファメモリ手段を
    有し、前記バッファメモリ手段からリード要求のデータ
    を読出してホストシステムに転送するリードキャッシュ
    機能を備えたディスク記憶装置に適用するキャッシュ制
    御方法であって、 前記リードアクセス時に前記ディスク記録媒体から読出
    されたデータのアドレスに連続するアドレスのデータを
    読出して、前記バッファメモリ手段に保存する先読み処
    理と、 前記バッファメモリ手段に格納された全データまたは前
    記先読み処理により読出されたデータのみをキャッシュ
    データとして設定し、前記キャッシュデータの先頭アド
    レスを保持する処理と、 前記バッファメモリ手段に格納された前記キャッシュデ
    ータの所定単位毎のデータ数と共に、前記キャッシュデ
    ータに連続して前記バッファメモリ手段に格納される予
    定の前記キャッシュデータのデータ数をカウントするデ
    ータカウント処理と、 前記キャッシュデータの先頭アドレスと前記データ数と
    に基づいてヒット範囲を設定する処理と、 前記ホストシステムからのリード要求により発行された
    要求データアドレスが前記ヒット範囲に含まれるか否か
    を判定する処理と、 前記要求データアドレスが前記ヒット範囲に含まれる場
    合に、前記リード要求に該当するキャッシュデータが格
    納されている前記バッファメモリ手段のアドレスを算出
    するアドレス算出処理と、 前記リード要求に該当するキャッシュデータを前記アド
    レス算出処理により算出された前記バッファメモリ手段
    のアドレスから読出して前記ホストシステムに転送し、
    当該キャッシュデータが前記バッファメモリ手段に格納
    されていない場合には格納されるまで待機し、前記バッ
    ファメモリ手段に格納された時点で当該キャッシュデー
    タを前記リード要求に該当する要求データとして前記ホ
    ストシステムに転送する処理とを有することを特徴とす
    るキャッシュ制御方法。
JP8328342A 1996-12-09 1996-12-09 ディスク記憶装置及び同装置に適用するキャッシュ制御方法 Pending JPH10171713A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8328342A JPH10171713A (ja) 1996-12-09 1996-12-09 ディスク記憶装置及び同装置に適用するキャッシュ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8328342A JPH10171713A (ja) 1996-12-09 1996-12-09 ディスク記憶装置及び同装置に適用するキャッシュ制御方法

Publications (1)

Publication Number Publication Date
JPH10171713A true JPH10171713A (ja) 1998-06-26

Family

ID=18209173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8328342A Pending JPH10171713A (ja) 1996-12-09 1996-12-09 ディスク記憶装置及び同装置に適用するキャッシュ制御方法

Country Status (1)

Country Link
JP (1) JPH10171713A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904509B2 (en) * 2001-11-02 2005-06-07 Lite-On It Corporation Method for data reproducing from an optical storage device
US6965967B2 (en) 2000-03-31 2005-11-15 Matsushita Electric Industrial Co., Ltd. Disk memory device, data pre-reading method, and recorded medium
US7177530B1 (en) 1999-08-30 2007-02-13 Matsushita Electric Industrial Co., Ltd. Recording/reproducing apparatus
US7359996B2 (en) 2002-04-19 2008-04-15 Seiko Epson Corporation Data transfer control device, electronic equipment, and data transfer control method
JP2012038262A (ja) * 2010-08-11 2012-02-23 Fujitsu Ltd キャッシュメモリおよびデータ処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177530B1 (en) 1999-08-30 2007-02-13 Matsushita Electric Industrial Co., Ltd. Recording/reproducing apparatus
US6965967B2 (en) 2000-03-31 2005-11-15 Matsushita Electric Industrial Co., Ltd. Disk memory device, data pre-reading method, and recorded medium
US6904509B2 (en) * 2001-11-02 2005-06-07 Lite-On It Corporation Method for data reproducing from an optical storage device
US7359996B2 (en) 2002-04-19 2008-04-15 Seiko Epson Corporation Data transfer control device, electronic equipment, and data transfer control method
JP2012038262A (ja) * 2010-08-11 2012-02-23 Fujitsu Ltd キャッシュメモリおよびデータ処理装置

Similar Documents

Publication Publication Date Title
JP3183993B2 (ja) ディスク制御システム
JPH1063578A (ja) 情報記録再生装置
JP3568110B2 (ja) キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置
US6523142B1 (en) Apparatus and method of performing in a disk drive commands issued from a host system
JPH06236241A (ja) フラッシュメモリを用いたハードディスク装置
JPH11110139A (ja) データ読み取り方法及びデータ読み取り装置
JPH10149260A (ja) ディスクドライブにおける読出キャッシュ方式
US20060218361A1 (en) Electronic storage device with rapid data availability
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
US6957300B2 (en) Reducing delay of command completion due to overlap condition
JP2845658B2 (ja) データ記録再生装置のアクセス制御装置
US7370153B1 (en) System and method of pre-fetching using an extended data structure including required data and a pre-fetch flag
JPH0944315A (ja) 記憶装置及びその方法
JPH03290873A (ja) ディスク型記憶装置、ディスク型記憶装置の制御装置、及びディスク型記憶装置の制御方法
JP3080758B2 (ja) 磁気ディスク装置
JPH04251421A (ja) ディスク・ドライブのヘッド/アームの径方向移動回数を低減する方法
JP2002342038A (ja) コマンドの実行順序を制御するディスク装置
JPH10275425A (ja) ディスク装置及び同装置における欠陥による再配置データの高速ホスト転送方法
JP2914834B2 (ja) 磁気ディスク装置
JP2000222137A (ja) ディスク記憶装置及び同装置におけるバッファ制御方法
JP2704138B2 (ja) 磁気ディスクキャッシュの制御方法
JPH11232037A (ja) ディスクキャッシュライト機能を持った磁気ディスク装置
JP2003256145A (ja) データ転送システムおよびデータ転送方法
JPH064225A (ja) 予備セクタを先読みするディスク制御装置
JPH04111015A (ja) 情報記録装置