JP3535800B2 - ディスクメモリ装置、データ先読み方法、及び記録媒体 - Google Patents

ディスクメモリ装置、データ先読み方法、及び記録媒体

Info

Publication number
JP3535800B2
JP3535800B2 JP2000099040A JP2000099040A JP3535800B2 JP 3535800 B2 JP3535800 B2 JP 3535800B2 JP 2000099040 A JP2000099040 A JP 2000099040A JP 2000099040 A JP2000099040 A JP 2000099040A JP 3535800 B2 JP3535800 B2 JP 3535800B2
Authority
JP
Japan
Prior art keywords
data
read
prefetch
ahead
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.)
Expired - Fee Related
Application number
JP2000099040A
Other languages
English (en)
Other versions
JP2001285805A (ja
Inventor
典昭 高市
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2000099040A priority Critical patent/JP3535800B2/ja
Priority to TW090106939A priority patent/TW550458B/zh
Priority to KR10-2001-7015444A priority patent/KR100466145B1/ko
Priority to PCT/JP2001/002735 priority patent/WO2001073538A1/ja
Priority to US09/980,311 priority patent/US6965967B2/en
Priority to CNB018007791A priority patent/CN1159644C/zh
Publication of JP2001285805A publication Critical patent/JP2001285805A/ja
Application granted granted Critical
Publication of JP3535800B2 publication Critical patent/JP3535800B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1294Increase of the access speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、磁気ディスクや光
ディスク等のディスクメモリ媒体に記録されたデータを
読み出すディスクメモリ装置に関し、特に、ディスクメ
モリ装置のデータの先読み方式に関するものである。
【0002】
【従来の技術】ディスクメモリ装置において、連続的に
配置されたデータに対する読み出し速度を向上させる為
に、読み出し要求のあったデータブロックに続くデータ
ブロックを次の読み出し要求を受ける前に、読み出しを
開始してキャッシュメモリに格納し、連続したデータブ
ロックに対する読み出し要求を受けた場合に、予め読み
出してキャッシュメモリ上に格納した先読みデータを転
送する事により、ディスクの回転待ち時間や読み出しヘ
ッドのシーク時間に影響を受けないでデータ転送を行う
事ができる先読み方式が使用されている。
【0003】このような先読み方式の一例として特開平
9−120617号公報記載の“コンピュータにおける
ディスク・ドライブの電力消費量を削減し、データ転送
を高速化する方法、および、コンピュータに接続される
ディスク・ドライブ”がある。
【0004】
【発明が解決しようとする課題】しかしながら、前記従
来方式による先読み方法では、データブロックが連続す
る方向を一方向(論理ブロックアドレスが大きくなる方
向)に想定しており、負方向(論理ブロックアドレスが
小さくなる方向)に連続してデータを読み出すアクセス
に対して、データを先読みする事が出来ない。
【0005】今日、ディスクメモリ装置に対して、動画
像や音声等のデータを記録・再生する用途が増えてきて
おり、この従来方法では、通常再生に対しては有効な先
読み方式を提供できるが、特殊再生の逆再生時において
は、以前に読み出したデータであって、キャッシュメモ
リに保持されているデータに対しては、逆再生する事が
可能であるが、キャッシュメモリに保持されていないデ
ータは逐次読み出さなければならない。また、特殊再生
の逆再生時には、本来必要でない正方向に連続するデー
タを先読みする矛盾が生じ、先読みによるデータ転送の
向上が図れないという課題があった。
【0006】また、特殊再生の高速再生や高速逆再生時
においては、再生速度に準じた間隔で間引いてデータが
読み出される。このような場合、従来方法では、要求さ
れるデータ以外の不必要なデータもキャッシュメモリに
保存され、キャッシュメモリを有効に利用できない。そ
して、再生速度が速くなると要求されるデータ領域の間
隔が広くなり、同一トラック、同一シリンダ内に、次に
要求されるデータ領域が存在しなくなる。そのような場
合、不必要なデータの読み出しを行っていると、必要と
されるデータの先読みが間に合わなくなり、動画像や音
声の再生が途切れるという問題があった。
【0007】また、前記従来の方式では、先読みしたデ
ータをキャッシュメモリにセットする場合に、先読みし
た順番にキャッシュメモリアドレスが大きくなる方向に
格納するものであったため、逆再生時において、キャッ
シュメモリ内に格納された先読みデータブロックの連続
性が途切れる。このため、先読みデータブロックの連続
性を確保するために、各先読みデータブロック毎にキャ
ッシュメモリへの登録情報であるキャッシュエントリを
作成して、キャッシュリストに登録する必要があり、キ
ャッシュリストの効率的な使用の妨げになるという問題
があった。
【0008】また、近年のビデオテープレコーダのリモ
コンに装備されているような回転ダイヤルの停止角度に
合った再生速度で正逆再生を行えるようなシャトルダイ
ヤル操作での再生においては、再生速度を段階的に切替
える事が可能であり、現在の再生速度から以前の再生速
度に戻る事も頻繁に発生する。このような場合、現在の
再生速度で必要とされるデータのみの先読み方法では、
以前の再生速度での再生で必要とされるデータを先読み
できていないという問題が発生する。
【0009】また、この問題は、前述したシャトルダイ
ヤル操作による再生のみならず、回転ダイヤルを回転さ
せる速度と方向でコマ送り再生から高速再生まで速度を
変更しながら正逆再生を行えるようなジョグダイヤル操
作においても同様に発生する。
【0010】また、再生開始位置を特定したり、再生映
像の期待する位置の静止画出力を行う場合において、前
述のシャトルダイヤル操作やジョグダイヤル操作を用い
て、正方向再生、逆方向再生を頻繁に切替えながら両再
生を繰り返すことが発生する。このような場合、前記従
来の方式では、キャッシュメモリ内から送出されたデー
タをキャッシュメモリが保持していないため、再生方向
の変換直後には、改めてデータをディスクメモリ媒体か
ら読み出さなければならず、先読みによるデータ転送の
向上が図れないという課題があった。
【0011】本発明は、前述した問題点に鑑みてなされ
たものであり、逆再生や、高速再生等の特殊再生を行な
う場合であっても、データの先読みによるデータ転送の
向上を図ることができるディスクメモリ装置を提供する
ことを目的とする。
【0012】
【0013】
【0014】
【課題を解決するための手段】本 発明にかかるディスク
メモリ装置は、上位装置から受け取った、ディスクメモ
リ媒体に記録されたデータを読み出すための情報である
リード命令の履歴情報を記憶する命令履歴情報記憶手段
と、前記命令履歴情報記憶手段に記憶されたリード命令
に基づいて、データの先読み方向、および先読みを行な
うデータの間隔である領域間隔距離を検出する連続性検
出手段と、データの先読みを行なうためのルールである
先読みルールを保持する先読みルール保持手段と、前記
リード命令、及び前記連続性検出手段により検出された
データの先読み方向、領域間隔距離、前記先読みルール
保持手段が保持する先読みルールに基づき、データの先
読みに用いる先読みルールを決定する先読みルール決定
手段と、前記先読みルール決定手段により決定された先
読みルールに基づき、先読みを行なうディスクメモリ媒
体上の位置及びサイズを決定する先読み領域決定手段
と、先読みされたデータを格納するキャッシュメモリ
と、前記先読み領域決定手段により決定された先読みを
行なうデータ領域のデータをディスクメモリ媒体から読
み出して前記キャッシュメモリに格納する先読み起動手
段とを具備するものである。
【0015】また、本発明にかかるディスクメモリ装置
は、前記先読みルール保持手段が、複数個の先読みルー
ルを保持し、前記先読み領域決定手段は、前記先読みル
ール決定手段により決定された先読みルールとその一つ
前に適用されていた先読みルールが存在する場合であっ
て、且つ両先読みルールの先読み方向が一致している場
合には、両先読みルールを併用して、先読みを行うディ
スクメモリ媒体上の位置及びサイズを決定するものであ
る。
【0016】また、本発明にかかるディスクメモリ装置
は、さらに、現在上位装置に送信しているデータの前記
キャッシュメモリ上の位置を示す送出中アドレスと、次
に先読みしたデータを格納すべき前記キャッシュメモリ
上の位置を示す次先読みデータ格納開始アドレスとを保
持するキャッシュメモリポインタ保持手段と、前記キャ
ッシュメモリポインタ保持手段に保持された前記送出中
アドレスと前記次先読みデータ格納開始アドレスとを用
いて、既に上位装置に送出済の少なくとも数ブロックの
データをキャッシュメモリ上に残すために、データの先
読みを行うか否かを判断する先読み起動判断手段とを具
備するものである。
【0017】また、本発明にかかるディスクメモリ装置
は、前記先読み起動部が、負方向に順次読み出した複数
の先読みデータを前記キャッシュメモリ上のアドレス空
間の負方向領域に順次格納するものである。
【0018】
【発明の実施の形態】(実施の形態1)以下に、本発明
の実施の形態1によるディスクメモリ装置について、図
1から図10を用いて説明する。図1は本発明の実施の
形態1によるディスクメモリ装置の構成を示すブロック
図の一例である。図において、上位装置1は、ディスク
メモリ装置に対してディスクメモリ媒体に記録されてい
るデータを読み出す旨のリード命令を出力する。
【0019】また、本発明の実施の形態1によるディス
クメモリ装置は、ホストI/F部2と、キャッシュヒッ
ト判定部3と、連続性検出部4と、命令履歴情報記憶手
段であるリード命令履歴テーブル5と、先読み領域決定
部6と、先読み起動部7と、ディスク転送部8と、ヘッ
ド構造物9と、キャッシュメモリ10と、ホスト転送部
11と、キャッシュリスト12と、アクセス領域情報保
持部13とからなる。
【0020】キャッシュヒット判定部3は、ホストI/
F部2を介して受け取った上位装置1からのリード命令
に対応するデータがキャッシュメモリ10上に存在する
か否かの調査を行なう。
【0021】連続性検出部4は、命令履歴情報記憶手段
であるリード命令履歴テーブル5に記憶してあるリード
命令の履歴を用いて、データの先読みを行なうアクセス
方向を算出する。
【0022】命令履歴情報記憶手段であるリード命令履
歴テーブル5は、上位装置1から送信されたリード命令
の履歴情報を保持する。
【0023】先読み領域決定部6は、リード命令、前記
連続性検出部4により検出された検出結果、及びアクセ
ス領域情報保持部13内に格納されているアクセス領域
情報に基づき、先読みを行なうディスクメモリ媒体上の
位置及びサイズを決定する。
【0024】先読み起動部7は、先読み領域決定部6に
より決定された先読みを行うデータ領域のデータをディ
スクメモリ媒体から読み出してキャッシュメモリ10内
に格納する旨の指示をディスク転送部8に指示する。
【0025】ディスク転送部8は、ディスクメモリ媒体
からヘッド構造物9を介して読み出したデータをキャッ
シュメモリ10に出力する。キャッシュメモリ10は、
先読みされたデータを保持する。
【0026】ホスト転送部11は、ディスクメモリ媒体
11から読み出されたデータをホストI/F2を介して
上位装置1に送信する。
【0027】キャッシュリスト12は、キャッシュメモ
リ10内に格納されているデータのリストを保持する。
【0028】アクセス領域情報保持部13は、前回の先
読みによりアクセスしたディスクメモリ媒体のアクセス
領域に関する情報を保持する。
【0029】次に、本発明の実施の形態1によるディス
クメモリ装置の基本処理について、図2に示すフローチ
ャートを用いて説明する。キャッシュヒット判定部3
は、ホストI/F部2を通して上位装置1からリード命
令を受け取ると、まずリード処理の基本処理として、要
求されたデータがキャッシュメモリ10上に存在するか
どうかをキャッシュリスト12を検索して調べる(ステ
ップS1)。
【0030】キャッシュメモリ10上に要求されたデー
タが存在する場合は、ホスト転送部11によりキャッシ
ュメモリ10上のデータをホストI/F部2を経由して
上位装置1に転送する(ステップS3)。
【0031】キャッシュメモリ10上に要求されたデー
タが存在しない場合は、ディスク転送部8に指示して要
求されたデータをディスク11からヘッド構造物9を経
由して、キャッシュメモリ10上に読み出しながら(ス
テップS2)ホスト転送部11によりデータをホストI
/F部2を経由して上位装置1に要求されたデータを転
送する(ステップS3)。
【0032】次に、ディスクメモリ装置により前述した
基本処理と同時に行われるデータ先読み処理について図
3を用いて説明する。前記図2に示すフローチャートを
用いて説明した基本処理を実行しながら、ホストI/F
部2、キャッシュヒット判定部3を介して上位装置1か
らのリード命令を受け取った連続性検出部4は、命令履
歴情報記憶手段であるリード命令履歴テーブル5に記録
してある前回のリード命令で要求されたデータ領域の位
置と今回のリード命令で要求されたデータ領域の位置か
らアクセス方向を示すアクセス方向値を算出する連続性
検出処理を行なう(ステップS4)。
【0033】次に、先読み領域決定部6は、今回のリー
ド命令で要求されたデータ領域の位置及びサイズと、前
記連続性検出部4により検出されたアクセス方向値に基
づいて、先読みを行なうディスクメモリ媒体上の位置及
びサイズを決定する先読み領域決定処理を行なう(ステ
ップS5)。
【0034】次に、先読み起動部7は、先読み領域決定
部6により決定された先読み領域のデータがキャッシュ
メモリ10上に存在するか否かをキャッシュリスト12
を検索して調べる(ステップS6)。
【0035】先読み領域決定部6により決定された先読
み領域のデータが、キャッシュメモリ10上に存在しな
い場合には、先読み起動部7は、ディスク転送部8に先
読み領域決定部6により決定された先読み領域のデータ
の読み出しを指示して、データの先読みを行なう(ステ
ップS7)。また、先読み起動部7は、データの先読み
後、キャッシュメモリ10に存在するデータの内訳を示
すキャッシュリスト12の更新処理を行う(ステップS
8)。一方、先読み領域決定部6により決定された先読
み領域のデータが、キャッシュメモリ10上に存在する
場合には、当該データの先読み処理を終了する。
【0036】なお、前述したデータの先読み処理による
ステップ5で示した先読み領域を決定する処理以下の処
理(ステップS5からステップS8)は、上位装置1か
らの新たなコマンドを受けるまで繰り返し行い、データ
の先読みを進める(ステップS9)。
【0037】次に、前記図3で示したステップS4の連
続性検出部4による連続性検出処理について図4、図5
を用いて説明する。図4は、本発明の実施の形態1によ
るディスクメモリ装置の連続性検出部4の動作を説明す
るためのフローチャートであり、図5は、リード命令履
歴テーブル5内に格納されているリード命令の一例を示
したものである。
【0038】連続性検出部4は、まず、リード命令履歴
テーブル5の更新処理を行なう。この更新処理は、図5
において、前回リード領域先頭セクターNo.Aを前々
回リード領域先頭セクターNo.Cにセット、前回リー
ド領域サイズBを前々回リード領域サイズDにセット、
今回リード領域先頭セクターNo.Gを前回リード領域
先頭セクターNo.Aにセット、今回リード領域サイズ
Hを前回リード領域サイズBにセット、上位装置1から
受け取ったリード命令のリード領域の先頭セクターN
o.を今回リード領域の先頭セクターNo.Gにセッ
ト、上位装置1から受け取ったリード命令のリード領域
サイズを今回リード領域サイズHにセット、および今回
アクセス方向値Iを前回アクセス方向値Eにセットし
て、リード履歴テーブル5の更新処理を終了する(ステ
ップS11)。
【0039】次に、連続性検出部4は、上位装置1から
受け付けた今回リード領域先頭セクターNo.Gと前記
ステップS46により更新した前回リード領域先頭セク
ターNo.Aを比較する事により(ステップS12)、
アクセス方向を算出する。この時、アクセス方向は2値
の値として正方向であれば1、負方向であれば0、をア
クセス方向を示す値として、図5に示す今回アクセス方
向値Iにセット(ステップS13あるいはステップS1
4)して、連続性検出処理を終了する。
【0040】次に、先読み領域決定部6は、今回のリー
ド命令で要求された今回リード領域先頭セクタNo.と
今回のリード領域サイズ、及び前記連続性検出部4によ
り検出されたアクセス方向値に基づいて、ディスクメモ
リ媒体上の先読みを開始する位置である先読み領域セク
タNo.、及び先読みを行なうデータのサイズである先
読み領域サイズを決定する。
【0041】以下に、前記図3に示したステップS5の
先読み領域決定部6による先読み領域決定処理について
図6、図7を用いて説明する。図6は、本発明の実施の
形態1によるディスクメモリ装置の先読み領域決定部6
の動作を説明するためのフローチャートであり、図7
は、アクセス領域情報保持部13内に格納されているア
クセス領域情報の一例を示したものである。なお、図7
において、アクセス領域情報は、前回の先読みを行った
ディスクメモリ媒体のデータ領域の先頭セクタNo.で
あるアクセス領域先頭セクタNo.Qと、前回の先読み
により読み出されたデータのサイズであるアクセス領域
サイズRとからなる。
【0042】図6において、先読み領域決定部6は、ま
ず、連続性検出部4により検出された先読み方向値が正
方向のアクセスを示す「1」であるか否かを判断する
(ステップS21)。
【0043】先読み方向値が「1」の場合には、アクセ
ス領域先頭セクタNo.Qにアクセス領域サイズRを加
算して、先読み領域セクタNo.を算出する(ステップ
S22)。
【0044】先読み方向値が負方向のアクセスを示す
「0」の場合には、アクセス領域先頭セクターNo.Q
から先読み領域サイズZを減算して、先読み領域セクタ
ーNo.を算出する(ステップS23)。
【0045】先読み領域セクタNo.が算出される(ス
テップS22、ステップS23)と、先読み領域決定部
6は、アクセス情報保持部13内に格納されているアク
セス領域先頭セクタNo.Qを今回算出した先読み領域
セクタNo.に更新するとともに、アクセス領域サイズ
Rを今回のリード領域サイズに更新する(S24)。
【0046】先読み領域決定部6は、算出された先読み
領域セクタNo.および先読み領域サイズとしての今回
のリード領域サイズを先読み起動部7に出力し、先読み
領域決定処理を終了する(S25)。
【0047】先読み起動部7は、先読み領域決定部6か
ら出力された先読み領域セクタNo.および先読み領域
サイズで示されるデータが、キャッシュメモリ10上に
存在するか否かをキャッシュリスト12を検索して調
べ、該当するデータが存在しない場合には、ディスク転
送部8に先読み領域決定部6から出力された先読み領域
セクタNo.および先読み領域サイズで示されるディス
クメモリ媒体に記録されたデータの読み出しを指示し
て、データの先読みを行なう。また、先読み起動部7
は、前記データの先読み後、キャッシュリスト12の更
新を行いデータの先読み処理を終了する。一方、該当す
るデータが存在する場合には、次のデータの先読み処理
を行なう。
【0048】このように、命令履歴情報記憶手段である
リード命令履歴テーブル5内に記憶された直前のリード
でアクセスされた領域と現リード命令で要求された領域
とを比較し、データの先読みを行う方向を決定すること
により、負方向、すなわちアドレスが小さくなる方向に
対して連続してデータが読み出される場合であっても、
それらのデータの先読みをすることが可能となり、負方
向データの連続読み出しを高速に行うことができる。
【0049】次に、本発明の実施の形態1によるディス
クメモリ装置によるディスクメモリ媒体から読み出した
データをキャッシュメモリ10に格納する格納方法につ
いて、図8から図10を用いて説明する。
【0050】図8は、従来の格納方式、及び本発明の格
納方式を用いてデータを格納した場合のキャッシュメモ
リ10の格納状態を表わした図である。図8に示すよう
に、ディスクメモリ装置における先読み領域のデータを
ディスクメモリ媒体から読み出してキャッシュメモリ1
0に格納する方法において、従来のデータ格納方式を用
いて負方向先読みデータをキャッシュメモリに格納した
場合、負方向先読みデータD1、D2、D3、D4をそ
れぞれ正方向キャッシュデータの後方(メモリアドレス
が大きくなる方向)に順次格納する。
【0051】この場合、負方向先読みデータD1(LB
A 4700〜LBA4799)と負方向先読みデータ
D2(LBA4600〜4699)の境界がLBA47
99とLBA4600になりデータの不連続が生じる。
これは、すべての領域間で発生する事になり、この問題
を解決するためにキャッシュメモリへの登録情報である
図9に示すキャッシュエントリを各領域毎に作成し、そ
れぞれのキャッシュリストに登録する必要がある。
【0052】一方、本発明によるデータの格納方式で
は、負方向に順次読み出した複数の先読み領域のデータ
をキャッシュメモリ上のアドレス空間の負方向領域に順
次格納する。すなわち、先読みしたデータを正方向キャ
ッシュデータの前方(メモリアドレスが小さくなる方
向)に、負方向先読みデータD1、D2、D3、D4を
順次、格納する。
【0053】この場合、負方向先読みデータD1(LB
A4700〜LBA4799)と負方向先読みデータD
2(LBA4600〜LBA4699)の境界がLBA
4700とLBA4699になるように格納され、各領
域間のデータの連続性を保持することが可能になる。こ
のため、キャッシュメモリ10内に格納したデータを図
9に示すキャッシュエントリ内の情報である先頭LBA
Kとキャッシュメモリ内先頭アドレスMのみを変更
(図10の状態Aから状態D参照)することにより管理
することができ、新たに図9に示すキャッシュエントリ
を使用することなくキャッシュテーブルを構成する事が
可能になる。
【0054】このように、負方向に順次読み出した複数
の先読み領域のデータを連続性が途切れないようにキャ
ッシュメモリ上のアドレス空間の負方向領域に格納する
ことにより、負方向に順次読み出した複数の先読み領域
のデータがキャッシュメモリ内に連続したアドレッシン
グで配置され、その連続した領域データをキャッシュテ
ーブルにおいて1つのエントリで登録する事を可能にす
る。また、キャッシュメモリ上に存在する先読み領域の
データを上位装置1に返送する場合に、正方向データと
の区別なくキャッシュメモリ上に存在する先読み領域の
データを取り出すことを可能にする。
【0055】なお、図1に示すように、キャッシュヒッ
ト判定部3及び連続性検出部4、先読み領域決定部6、
先読み起動部7の各処理はCPU101によって行わ
れ、リード命令履歴テーブル5、キャッシュリスト1
2、アクセス領域情報保持部13はCPU101から読
み書き可能なRAM100上に配置されている。
【0056】(実施の形態2)以下に、本発明の実施の
形態2によるディスクメモリ装置について、図11から
図20を用いて説明する。図11は本発明の実施の形態
2によるディスクメモリ装置の構成を示すブロック図の
一例である。図において、上位装置1は、ディスクメモ
リ装置に対してディスクメモリ媒体に記録されているデ
ータを読み出す旨のリード命令を出力する。
【0057】また、本発明の実施の形態2によるディス
クメモリ装置は、ホストI/F部2と、キャッシュヒッ
ト判定部3と、連続性検出部16と、命令履歴情報記憶
手段であるリード命令履歴テーブル5と、先読みルール
決定部14と、先読みルール保持手段である先読みルー
ルテーブル15と、先読み領域決定部17と、先読み起
動部7と、ディスク転送部8と、キャッシュメモリ10
と、ホスト転送部11と、キャッシュリスト12と、ア
クセス領域情報保持部13とからなる。
【0058】なお、本発明の実施の形態2によるディス
クメモリ装置は、一定間隔で離散的に位置するデータを
要求する連続的なリード命令を受け取った場合であって
も、効果的にデータの先読みを行うことができる点で、
負方向、すなわちアドレスが小さくなる方向に位置する
データを要求するリード命令の先読みのみを可能とした
前記実施の形態と異なる。そのため、前記実施の形態1
と同じ動作を行なう構成要素には、同一の符号を付し、
説明を省略する。
【0059】連続性検出部16は、命令履歴情報記憶手
段であるリード命令履歴テーブル5に記憶してあるリー
ド命令の履歴を用いて、データの先読みを行なうアクセ
ス方向と、データを読み出す領域間の領域間隔距離を算
出する。
【0060】先読みルール決定部14は、リード命令、
及び連続性検出部16により検出されたデータの先読み
方向、領域間隔距離、先読みルール保持手段である先読
みルールテーブル15が保持する先読みルールに基づ
き、データの先読みに用いる先読みルールを決定する。
【0061】先読みルール保持手段である先読みルール
テーブル15は、先読みルール決定部14により決定さ
れた先読みルールを保持する。
【0062】先読み領域決定部17は、先読みルール決
定部14で決定された先読みルール、及びアクセス領域
情報保持部13内に格納されているアクセス領域情報に
基づいて、先読みを開始するディスクメモリ媒体の領域
の位置と先読み領域のサイズを決定する。
【0063】次に、本発明の実施の形態2によるディス
クメモリ装置の基本処理であるが、図2を用いて説明し
た実施の形態1によるディスクメモリ装置の基本処理と
同様であるため説明を省略する。本発明の実施の形態2
によるディスクメモリ装置は、前述した基本処理を実施
しながら、以下に説明するデータ先読み処理を行なう。
【0064】以下に、本発明の実施の形態2によるディ
スクメモリ装置のデータ先読み処理について図12を用
いて説明する。前記図2を用いて説明した基本処理を実
施しながら、ホストI/F部2を通して上位装置1から
リード命令を受け取った連続性検出部16は、命令履歴
情報記憶手段であるリード命令履歴テーブル5に記録し
てある前回のリード命令で要求されたデータ領域の位置
と今回のリード命令で要求されたデータ領域の位置から
アクセス方向とそれぞれの領域間の領域間隔距離を算出
する連続性検出処理を行なう(ステップS31)。
【0065】次に、先読みルール決定部14は、前記連
続性検出部16により算出されたアクセス方向と領域間
の領域間隔距離及び今回要求されたデータ領域サイズを
用いて、データの先読みに用いる先読みルールを決定す
る先読みルール決定処理を行なう(ステップS32)。
なお、決定された先読みルールは、先読みルール保持手
段である先読みルールテーブル15に保持される。
【0066】先読み領域決定部17は、今回のリード命
令で適用される先読みルールの前に適用されていた先読
みルールである旧ルールを併用してデータの先読みを行
なうか否かの旧ルール適用判断処理を行って、データの
先読みに適用する先読みルールを決定し、決定された先
読みルールに基づいて、先読みを行うディスクメモリ媒
体上の位置及びサイズを決定する先読み領域決定処理を
行なう(ステップS33)。
【0067】次に、先読み起動部7は、先読み領域決定
部17により決定された先読み領域のデータがキャッシ
ュメモリ10上に存在するか否かをキャッシュリスト1
2を検索して調べる(ステップS34)。
【0068】先読み領域決定部17により決定された先
読み領域のデータが、キャッシュメモリ10上に存在し
ない場合には、先読み起動部7は、ディスク転送部8に
先読み領域決定部17により決定された先読み領域のデ
ータの読み出しを指示して、データの先読みを行なう
(ステップS35)。また、先読み起動部7は、データ
の先読み後、キャッシュメモリ10に存在するデータの
内訳を示すキャッシュリスト12の更新処理を行う(ス
テップS36)。
【0069】一方、先読み領域決定部17により決定さ
れた先読み領域のデータが、キャッシュメモリ10上に
存在する場合には、当該データの先読み処理を終了す
る。
【0070】なお、前述したデータの先読み処理による
ステップ33で示した先読み領域を決定する先読み領域
決定処理以下の処理は、上位装置1からの新たなコマン
ドを受けるまで繰り返し行い、データの先読みを進める
(ステップS37)。
【0071】次に、前記図12で示したステップS31
の連続性検出部16による連続性検出処理について図1
3、図14を用いて説明する。
【0072】図13は、本発明の実施の形態2によるデ
ィスクメモリ装置の連続性検出部16の動作を説明する
ためのフローチャートであり、図14は、リード命令履
歴テーブル5内に格納されているリード命令の一例を示
したものである。
【0073】連続性検出部16は、まず、リード命令履
歴テーブル5の更新処理を行なう。この更新処理は、図
14において、前回リード領域先頭セクターNo.Aを
前々回リード領域先頭セクターNo.Cにセット、前回
リード領域サイズBを前々回リード領域サイズDにセッ
ト、今回リード領域先頭セクターNo.Gを前回リード
領域先頭セクターNo.Aにセット、今回リード領域サ
イズHを前回リード領域サイズBにセット、上位装置1
から受け取ったリード命令のリード領域の先頭セクター
No.を今回リード領域の先頭セクターNo.Gにセッ
ト、上位装置1から受け取ったリード命令のリード領域
サイズを今回リード領域サイズHにセット、今回アクセ
ス方向値Iを前回アクセス方向値Eにセット、および今
回領域間隔距離Jを前回領域間隔距離Fにセットしてリ
ード履歴テーブル5の更新処理を終了する(ステップS
46)。
【0074】次に、連続性検出部16は、上位装置1か
ら受け付けた今回リード領域先頭セクターNo.Gと前
記ステップS41により更新した前回リード領域先頭セ
クターNo.Aとを比較する事により(ステップS4
2)、アクセス方向を算出する。この時、アクセス方向
は2値の値として正方向であれば1、負方向であれば
0、をアクセス方向を示す値として、図14に示す今回
アクセス方向値Iにセットする(ステップS43あるい
はステップS44)。
【0075】その後、連続性検出部16は、今回リード
領域先頭セクターNo.Gと前回リード領域先頭セクタ
ーNo.Aとの差分の絶対値を算出し、領域間隔距離と
して今回領域間隔距離Jにセットし(ステップS4
5)、連続性検出処理を終了する。
【0076】次に、前記図12で示したステップS32
の先読みルール決定部14による先読みルール決定処理
について図14から図16を用いて説明する。図15
は、本発明の実施の形態2によるディスクメモリ装置の
先読みルール決定部14の動作を説明するためのフロー
チャートであり、図16は、先読みルールテーブル15
内に格納されている先読みルールの一例を示したもので
ある。
【0077】なお、先読みルールエントリ0から5は、
先読みルールテーブル15内に格納されている先読みル
ールエントリ群であり、各先読みルールエントリは、そ
れぞれ先読み方向値、先読み領域間隔距離、および先読
み領域サイズからなる。また、先読みルール更新フラグ
Tは、先読みルールが更新された旨を示すフラグであ
り、同時に旧ルールが存在する旨を示す。なお、2値の
値として、先読みルールが更新された場合には「1」
が、先読みルールが更新されていない場合には「0」が
セットされているものとする。先読みルールポインタU
は、現在適用している先読みルールエントリを示すもの
である。
【0078】図15のフローチャートにおいて、先読み
ルール決定部14は、まず、現在の先読みルールに対し
て整合性のあるリード命令を上位装置1から受け取った
かどうかを判定する。具体的には、前記連続性検出処理
で算出した今回のアクセス方向値(図13のステップS
43、44参照)と先読みルールテーブル15に記録さ
れている先読みルールポインタUが指し示す現在の先読
みルールの先読み方向X0(図16参照)との一致性
(ステップS51)と、前記連続性検出処理で算出した
今回領域間隔距離(図13のステップS45参照)と先
読みルールテーブル15に記録されている先読みルール
ポインタUが指し示す現在の先読みルールの先読み領域
間隔距離Y0(図16参照)との一致性(ステップS5
2)、及び上位装置1から受け付けた今回リード領域サ
イズと先読みルールテーブル15に記録されている先読
みルールポインタU(図16参照)が指し示す現在の先
読みルールの先読み領域サイズZ0との一致性(ステッ
プS53)をそれぞれ判定する。
【0079】これらの判定(ステップS51からステッ
プS53)の結果、すべてが一致した場合には、現在の
先読みルールが適用できるため、先読みルールの変更を
行わず、現在の先読みルールをそのまま適用する。
【0080】一方、これらの判定(ステップS51から
ステップS53)の結果、現在適用されているルールを
今回のリード命令に適用することができないと判断した
場合には、前回のリード命令と今回のリード命令とを比
較し、新しく先読みルールを決定することができないか
否かの判断を行なう。
【0081】すなわち、前記連続性検出処理で算出した
今回のアクセス方向値(図13のステップS43、44
参照)とリード命令履歴テーブル5に記録されている前
回アクセス方向値E(図14参照)との一致性(ステッ
プS54)、前記連続性検出処理で算出した今回領域間
隔距離(図13のステップS45参照)とリード命令履
歴テーブル5に記録されている前回領域間隔距離F(図
14参照)との一致性(ステップS55)、および上位
装置1から受け付けた今回リード領域サイズとリード命
令履歴テーブル5に記録されている前回リード領域サイ
ズB(図14参照)との一致性(ステップS56)をそ
れぞれ判定する。
【0082】これらの判定(ステップS54からステッ
プS56)の結果、すべてが一致した場合は、新たな先
読みルールとして先読みルールテーブル15の先読みル
ールポインタUを更新して(ステップS57)、先読み
ルールテーブル15の更新された先読みルールポインタ
Uが指し示す先読みルールエントリの先読み方向値X 1
に今回のアクセス方向値を(ステップS58)、先読み
領域間隔距離Y1に今回の領域間隔距離を(ステップS
59)、先読み領域サイズZ1に今回リード領域サイズ
を(ステップS60)、それぞれセットして、先読みル
ールを更新する。
【0083】先読みルールの更新が終了すると、先読み
ルールテーブル15の先読みルール更新フラグTに
「1」をセットして、先読みルール決定処理を終了する
(ステップS65)。
【0084】一方、これらの判定(ステップS54から
ステップS56)の結果、何れか一つでも一致しなかっ
た場合には、新たな先読みルールを適用することができ
ないため、今回のリード領域に対して連続するデータを
先読みする旨の設定を行う。すなわち、先読みルールテ
ーブル15の先読みルールポインタUを更新して(ステ
ップS61)、先読みルールテーブル15の該更新され
た先読みルールポインタUが指し示す先読みルールエン
トリに対して、以下のステップS62からステップS6
4により今回のリード領域に対して連続するデータを先
読みする設定を行なう。すなわち、先読みルールテーブ
15の先読み方向値X1に今回のアクセス方向値(図
13のステップS43、44)を(ステップS62)、
先読み領域間隔距離Y1に領域間隔距離として0を(ス
テップS63)、先読み領域サイズZ1に今回リード領
域サイズをそれぞれセットして先読みルールを更新し、
先読みルール決定処理を終了する(ステップS64)。
なお、この場合には、先読みルールテーブル15の先読
みルール更新フラグTの更新を行わない。
【0085】また、本実施の形態2におけるディスクメ
モリ装置による先読みルール保持部15は、5つの先読
みエントリーを有するものについて説明したが、これに
限定されず、少なくとも一つの先読みエントリーを有す
るものであればよい。
【0086】次に前記図15で示したステップS57及
びS61の先読みルール決定部14による先読みルール
ポインタ更新処理について図16、図17を用いて説明
する。図17は、本発明の実施の形態2によるディスク
メモリ装置の先読みルール決定部14によるルールポイ
ンタ更新処理を説明するためのフローチャートである。
【0087】なお、ステップS57及びS61の先読み
ルールポインタ更新処理は、リングバッファ的に構成さ
れた先読みルールエントリ群の現在の先読みルールエン
トリを指し示す先読みルールポインタを1エントリ進め
る処理であり、どちらも同じ処理である。
【0088】まず、先読みルール決定部14による先読
みルールポインタ更新処理は、先読みルールテーブル1
5の先読みルールポインタUを1加算する(ステップS
571)。
【0089】次に、先読みルールポインタUと最大先読
みルールエントリ番号(図16の場合は、5)を比較し
て(ステップS572)、先読みルールポインタUが最
大先読みルールエントリ番号より大きい場合には、先読
みルールポインタUに0をセットする(ステップS57
3)。
【0090】次に、前記図12で示したステップS33
の先読み領域決定部17による先読み領域決定処理の旧
ルール適用判定処理について図16、図18を用いて説
明する。
【0091】図18は、本発明の実施の形態2によるデ
ィスクメモリ装置の先読み領域決定部17の旧ルール適
用判定処理を説明するためのフローチャートである。
【0092】先読み領域決定部17は、まず、図16に
示す先読みルールテーブル15の先読みルールエントリ
W0〜W5の内、先読みルールポインタUにより指し示
される先読みルールエントリを特定する(ステップS7
1)。なお、先読みルールポインタUにより指し示され
る先読みルールエントリは、W1であるとして以下の説
明を行なう。
【0093】次に、先読み領域決定部17は、ステップ
S71で特定された先読みルールである先読み方向値X
1、先読み領域間隔距離Y1、先読み領域サイズZ1に基
づいて先読みを行なうディスクメモリ媒体上の位置及び
サイズを決定する先読み領域決定処理を行なう(ステッ
プS72)。
【0094】次に、先読み領域決定部17は、図16に
示す先読みルールテーブル15の先読みルール更新フラ
グに「1」がセットされており、かつ、先読みルールポ
インタUが指し示す先読みルールエントリの先読み方向
値X1とその1つ前に登録された先読みルールエントリ
の先読み方向値X0とが一致するか否かにより、現在適
用されている先読みルールの前に適用されていた先読み
ルールである旧ルールが存在しており、且つ先読み方向
が一致するか否かを判断する(ステップS73)。
【0095】旧ルールが存在しており、且つ先読み方向
が一致する場合には、旧ルールを用いたデータの先読み
を行なうため、図16に示す先読みルールテーブル15
の先読みルールポインタUにより指し示される先読みル
ールエントリより、一つ古い先読みルールエントリを特
定する(ステップS74)。
【0096】次に、先読み領域決定部17は、ステップ
S74で特定された先読みルールである先読み方向値X
0、先読み領域間隔距離Y0、先読み領域サイズZ0に基
づいて先読みを行なうディスクメモリ媒体上の位置及び
サイズを決定する先読み領域決定処理を行なう(ステッ
プS75)。
【0097】以下に、前記図18に示したステップS7
2、およびステップS75の先読み領域決定部17によ
る先読み領域決定処理について図7、図16、図19を
用いて説明する。
【0098】図19は、本発明の実施の形態2によるデ
ィスクメモリ装置の先読み領域決定部17の先読み領域
決定処理を説明するためのフローチャートであり、図7
は、アクセス領域情報保持部13内に格納されているア
クセス領域情報の一例を示したものである。なお、図7
において、アクセス領域情報は、前回の先読みを行った
ディスクメモリ媒体のデータ領域の先頭セクタNo.で
あるアクセス領域先頭セクタNo.Qと、前回の先読み
により読み出されたデータのサイズであるアクセス領域
サイズRからなる。
【0099】図19において、先読み領域決定部17
は、前述した旧ルール適用判定処理により特定された図
16に示す先読み方向X、先読み領域間隔距離Z、先読
み領域サイズZ、及び、図7に示すアクセス領域保持部
13内に格納されたアクセス領域先頭セクタNo.Qと
アクセス領域サイズRに基づいて、今回先読みを行なう
先読み領域セクタNo.と、先読み領域サイズZを決定
する。
【0100】まず、先読み領域決定部17は、先読み方
向値Xが正方向のアクセスを示す「1」であるか否かを
判断する(ステップS81)。先読み方向値が「1」の
場合には、アクセス領域先頭セクタNo.Qにアクセス
領域サイズRと先読み領域間隔Yを加算して、先読み領
域セクタNo.を算出する(ステップS82)。
【0101】先読み方向値が負方向のアクセスを示す
「0」の場合には、アクセス領域先頭セクターNo.Q
からアクセス領域サイズRと先読み領域間隔Yを減算し
て、先読み領域セクターNo.を算出する(ステップS
83)。
【0102】先読み領域セクタNo.が算出される(ス
テップS82、ステップS83)と、先読み領域決定部
17は、アクセス情報保持部13内に格納されているア
クセス領域先頭セクタNo.Qを今回算出した先読み領
域セクタNo.に更新するとともに、アクセス領域サイ
ズRに先読み領域サイズZを登録する(S84)。先読
み領域決定部17は、算出された先読み領域セクタN
o.および先読み領域サイズZを先読み起動部7に出力
し、先読み領域決定処理を終了する(S85)。
【0103】先読み起動部7は、先読み領域決定部17
から出力された先読み領域セクタNo.および先読み領
域サイズで示されるデータが、キャッシュメモリ10上
に存在するか否かをキャッシュリスト12を検索して調
べ、該当するデータが存在しない場合には、ディスク転
送部8に先読み領域決定部17から出力された先読み領
域セクタNo.および先読み領域サイズで示されるデー
タの読み出しを指示してデータの先読みを行なう。ま
た、先読み起動部7は、前記データの先読み後、キャッ
シュリスト12の更新を行いデータの先読み処理を終了
する。一方、該当するデータが存在する場合には、次の
データの先読み処理を行なう。
【0104】なお、本発明の実施の形態2によるディス
クメモリ装置によるディスクメモリ媒体から読み出した
データをキャッシュメモリ10に格納する格納方式であ
るが、前述した実施の形態1で図8から図10を用いて
説明したデータ格納方式と同様であるため説明を省略す
る。
【0105】このように、命令履歴情報記憶手段である
リード命令履歴テーブル5内に記憶された直前のリード
でアクセスされた領域と現リード命令で要求された領域
とを比較し、データの先読みを行う方向を決定すること
により、負方向、すなわちアドレスが小さくなる方向に
対して連続してデータが読み出される場合であっても、
それらのデータの先読みをすることが可能となり、負方
向データの連続読み出しを高速に行うことができる。
【0106】また、リード命令の連続性を検出して先読
みルールを決定し、当該先読みルールを用いてデータの
先読みを行なう先読み領域の位置及びサイズを決定する
ことにより、一定間隔で離散的に位置するデータ領域へ
の連続的なリード要求に対してデータの先読みを行うこ
とが可能となる。これにより、ディスクメモリ媒体上に
保存されたデータを高速再生する時のような、一定間隔
で離散的に位置するデータを連続して読み出す場合であ
っても、不必要なデータに先読みを行うことなく、キャ
ッシュメモリ10を有効に利用することができる。
【0107】また、現在適用すべき先読みルールとその
一つ前に適用されていた先読みルールが存在し、且つ両
先読みルールの先読み方向が一致している場合には、両
先読みルールを併用して、データの先読みを行うディス
クメモリ媒体上の位置及びサイズを決定することによ
り、データの再生速度を現在の再生速度から直前の再生
速度に切り替えた場合にも、切り替えられた再生速度で
必要とされるデータが先読みされており、直前の再生速
度に切り替えた後、改めて必要とされるデータをディス
クメモリ媒体から読み出すことなく、上位装置に送出す
ることを可能にする。
【0108】なお、本発明の実施の形態2によるディス
クメモリ装置の先読み領域決定部17は、旧ルールを併
用して先読みを行なうか否かを判断し、旧ルールを併用
して先読みを行う場合には、今回のリード命令に対応す
る今回の先読みルール及び今回の先読みルールの前に適
用されていた旧ルールを共に用いてデータの先読みを行
うものについて説明したが、これに限定されず、先読み
領域決定部17が旧ルール適用判断処理を行わず、単に
今回のリード命令に対応する今回の先読みルールのみを
用いてデータの先読みを行うものであってもよい。
【0109】また、本発明の実施の形態2によるディス
クメモリ装置の連続性検出部16は、データの先読み方
向、及び先読みを行うデータの間隔である領域間隔距離
を検出し、当該検出結果を用いて先読みルール決定部1
4が決定した先読みルールによりデータの先読みを行う
ものについて説明したが、これに限定されず、連続性検
出部16が先読みを行うデータの間隔である領域間隔距
離のみを検出し、当該検出結果を用いて先読みルール決
定部14が決定した先読みルールによりデータの先読み
を行うものであっても、一定間隔で離散的に位置するデ
ータを要求する連続的なリード命令に対して効率よくデ
ータの先読みを行うことができる。
【0110】また、図11に示すように、キャッシュヒ
ット判定部3及び連続性検出部16、先読みルール決定
部14、先読み領域決定部17、先読み起動部7の各処
理はCPU103によって行われ、リード命令履歴テー
ブル5、キャッシュリスト12、アクセス領域情報保持
部13、先読みルールテーブル15は、CPU103ら
読み書き可能なRAM102上に配置されている。
【0111】(実施の形態3)以下に、本発明の実施の
形態3によるディスクメモリ装置について、図20から
図23を用いて説明する。図20は本発明の実施の形態
3によるディスクメモリ装置の構成を示すブロック図の
一例である。図において、上位装置1は、ディスクメモ
リ装置に対してディスクメモリ媒体に記録されているデ
ータを読み出す旨のリード命令を出力する。
【0112】また、本発明の実施の形態3によるディス
クメモリ装置は、ホストI/F部2と、キャッシュヒッ
ト判定部3と、連続性検出部16と、命令履歴情報記憶
手段であるリード命令履歴テーブル5と、先読みルール
決定部14と、先読みルール保持手段である先読みルー
ルテーブル15と、先読み領域決定部17と、先読み起
動部7と、ディスク転送部8と、キャッシュメモリ10
と、ホスト転送部11と、キャッシュリスト12と、ア
クセス領域情報保持部13と、キャッシュメモリポイン
タ保持部18と、先読み起動判断部19とからなる。
【0113】なお、本発明の実施の形態3によるディス
クメモリ装置は、既に上位装置に送出済の少なくとも数
ブロックのデータをキャッシュメモリ上に残すようにプ
ロテクト領域を設ける点で、前記実施の形態2と異な
る。そのため、前記実施に形態2と同じ動作を行なう構
成要素には、同一の符号を付し、説明を省略する。
【0114】キャッシュメモリポインタ保持部18は、
現在上位装置に送信中のデータが位置するキャッシュメ
モリ上の位置を示す送出中アドレスと次に先読みしたデ
ータを格納すべきキャッシュメモリ上の位置を示す次先
読みデータ格納開始アドレスとを保持する。
【0115】先読み起動判断部19は、前記キャッシュ
メモリポインタ保持部に保持された送出中アドレスと次
先読みデータ格納開始アドレスとを用いて、既に上位装
置に送出済の少なくとも数ブロックのデータをキャッシ
ュメモリ上に残すために、データの先読みを行うか否か
を判断する先読み起動判断処理を行う。
【0116】次に、本発明の実施の形態2によるディス
クメモリ装置の基本処理であるが、図2を用いて説明し
た実施の形態1によるディスクメモリ装置の基本処理と
同様であるため説明を省略する。
【0117】次に、本発明の実施の形態3によるディス
クメモリ装置のデータ先読み処理について図21を用い
て説明する。
【0118】前記図2を用いて説明した基本処理を実施
しながら、ホストI/F部2を通して上位装置1からリ
ード命令を受け取った連続性検出部16は、命令履歴情
報記憶手段であるリード命令履歴テーブル5に記録して
ある前回のリード命令で要求されたデータ領域の位置と
今回のリード命令で要求されたデータ領域の位置からア
クセス方向とそれぞれの領域間の領域間隔距離を算出す
る連続性検出処理を行なう(ステップS31)。
【0119】次に、先読みルール決定部14は、前記連
続性検出部16により算出されたアクセス方向と領域間
の領域間隔距離及び今回要求されたデータ領域サイズを
用いて、データの先読みに用いる先読みルールを決定す
る先読みルール決定処理を行なう(ステップS32)。
なお、決定された先読みルールは、先読みルール保持手
段である先読みルールテーブル15に保持される。
【0120】先読み領域決定部17は、今回のリード命
令で適用される先読みルールの前に適用されていた先読
みルールである旧ルールを併用してデータの先読みを行
なうか否かの旧ルール適用判断処理を行って、データの
先読みに適用する先読みルールを決定し、決定された先
読みルールに基づいて、先読みを行うディスクメモリ媒
体上の位置及びサイズを決定する先読み領域決定処理を
行なう(ステップS33)。
【0121】次に、先読み起動判断部は、キャッシュメ
モリポインタ保持部18内に格納されている送出中アド
レスと次先読みデータ格納開始アドレスとを用いて、先
読みを行うか否かを判断する先読み起動判断を行う(ス
テップS91)。
【0122】先読みを行わないと判断した場合は上位装
置1からの新たなコマンドを受けるまで先読み起動判断
処理を継続する(ステップS92)。
【0123】先読みを行うと判断した場合には、先読み
起動部7は、先読み領域決定部17により決定された先
読み領域のデータがキャッシュメモリ10上に存在する
か否かをキャッシュリスト12を検索して調べる(ステ
ップS34)。
【0124】先読み領域決定部17により決定された先
読み領域のデータが、キャッシュメモリ10上に存在し
ない場合には、先読み起動部7は、ディスク転送部8に
先読み領域決定部17により決定された先読み領域のデ
ータの読み出しを指示して、データの先読みを行なう
(ステップS35)。また、先読み起動部7は、データ
の先読み後、キャッシュメモリ10に存在するデータの
内訳を示すキャッシュリスト12の更新処理を行う(ス
テップS36)。
【0125】一方、先読み領域決定部17により決定さ
れた先読み領域のデータが、キャッシュメモリ10上に
存在する場合には、当該データの先読み処理を終了す
る。
【0126】なお、前述したデータの先読み処理による
ステップ33で示した先読み領域を決定する先読み領域
決定処理以下の処理は、上位装置1からの新たなコマン
ドを受けるまで繰り返し行い、データの先読み進める
(ステップS37)。
【0127】次に、前記図21で示したステップS31
の連続性検出部16による連続性検出処理、ステップ3
2の先読みルール決定部14による先読みルール決定処
理、およびステップS33の先読み領域決定部17によ
る先読みルール決定処理は、前述した実施の形態2によ
るものと同様であるため説明を省略する。
【0128】次に、前記図21に示したステップS91
の先読み起動判断部19による先読み起動判断処理につ
いて図22から図24を用いて説明する。
【0129】図22は、本発明の実施の形態3によるデ
ィスクメモリ装置の先読み起動判断部19による先読み
起動判断処理を説明するためのフローチャートであり、
図23は、キャッシュメモリポインタ保持部18に保持
されているキャッシュリストの一例を示した図であり、
図24は、キャッシュメモリ10内に格納されたデータ
の保護されるデータ領域であるプロテクト領域を説明す
るための説明図である。
【0130】なお、図23において、キャッシュメモリ
ポインタ保持部18は、現在上位装置1に送信中のキャ
ッシュメモリ10上のデータブロックの始端アドレスで
あるキャッシュメモリアドレスを示すデータ送出中アド
レスOと、次に先読みしたデータを格納すべきキャッシ
ュメモリ上のキャッシュメモリアドレスである先読みデ
ータ格納アドレスPを保持する。
【0131】先読み起動判断部19は、まず、前記先読
み領域決定処理(ステップS33)の過程で特定された
先読みルールテーブル15内の先読みルールエントリの
先読み方向値Xが「1」、つまり正方向に先読みを行う
ものであるか否かの判断を行なう(ステップS10
1)。
【0132】先読み方向値Xが「1」の場合には、キャ
ッシュメモリポインタ保持部18に保持された、上位装
置1に送出中のデータブロックの始端アドレスである送
出中アドレスOから予め定めたプロテクト領域サイズを
減算して現在送出中のデータに対して負方向のデータを
規定量保護するための境界アドレスであるプロテクト領
域アドレスを算出する(ステップS102)。
【0133】一方、先読み方向値Xが「1」でなく
「0」の場合、つまり負方向に先読みを行っている場合
には、送出中アドレスOに図16に示す先読み領域サイ
ズZと予め定めたプロテクト領域サイズを加算して現在
送出中のデータに対して正方向のデータを規定量保護す
るための境界アドレスであるプロテクト領域アドレスを
算出する(ステップS103)。
【0134】次に、先読み起動判断部19は、キャッシ
ュメモリポインタ保持部18に保持された次先読みデー
タ格納開始アドレスPと図16に示す先読み領域サイズ
Zで決定される次先読みデータを格納する領域に、プロ
テクト領域アドレスが重なるか否かを判断する(ステッ
プS104)。
【0135】次先読みデータを格納する領域にプロテク
ト領域アドレスが重なる場合には、データの先読みを禁
止し、先読み起動判断処理を終了する(ステップS10
5)。
【0136】一方、次先読みデータを格納する領域にプ
ロテクト領域アドレスが重ならない場合には、データの
先読みを許可し、先読み起動判断処理を終了する(ステ
ップS106)。
【0137】前記、先読み起動判断処理によりデータの
先読みが許可されると先読み起動部7は、先読み領域決
定部17から出力された先読み領域セクタNo.および
先読み領域サイズで示されるデータが、キャッシュメモ
リ10上に存在するか否かをキャッシュリスト12を検
索して調べ、該当するデータが存在しない場合には、デ
ィスク転送部8に先読み領域決定部17から出力された
先読み領域セクタNo.および先読み領域サイズで示さ
れるデータの読み出しを指示してデータの先読みを行な
う。また、先読み起動部7は、前記データの先読み後、
キャッシュリスト12の更新を行いデータの先読み処理
を終了する。一方、該当するデータが存在する場合に
は、次のデータの先読み処理を行なう。
【0138】なお、本発明の実施の形態3によるディス
クメモリ装置によるディスクメモリ媒体から読み出した
データをキャッシュメモリ10に格納する格納方式であ
るが、前述した実施の形態1で図8から図10を用いて
説明したデータ格納方式と同様であるため説明を省略す
る。
【0139】このように、現在上位装置1に送信中のデ
ータが位置するキャッシュメモリ上の位置を示す送出中
アドレスと次に先読みしたデータを格納すべきキャッシ
ュメモリ上の位置を示す次先読みデータ格納開始アドレ
スを用いて、既に上位装置1に送出済の少なくとも数ブ
ロックのデータをキャッシュメモリ上に残すようにプロ
テクト領域を設けてデータの先読みを行うことにより、
正方向再生、逆方向再生を頻繁に切替えながらデータの
再生を行う場合であっても、再生方向を切り替えた時点
では、再生方向切り替え直前の上位装置1への送出済デ
ータをキャッシュメモリ内に保存しておくことが可能に
なり、再生方向切り替え直後の再生に必要とされる該再
生方向切り替え直前の送出済データを改めてディスクメ
モリ媒体から読み出すことなく、上位装置1に送出する
ことができる。
【0140】なお、本発明の実施の形態3によるディス
クメモリ装置は、前述した実施の形態2によるディスク
メモリ装置にキャッシュメモリポインタ保持部18と先
読み起動判断部19を設けたものについて説明したが、
これに限定されず、例えば、前述した実施の形態1によ
るディスクメモリ装置にキャッシュメモリポインタ保持
部18と先読み起動判断部19を設けたものであっても
同様の効果を得ることができる。
【0141】また、図20に示すように、キャッシュヒ
ット判定部3及び連続性検出部16、先読みルール決定
部14、先読み領域決定部17、先読み起動判断部1
9、先読み起動部7の各処理はCPU105によって行
われ、リード命令履歴テーブル5、キャッシュリスト1
2、アクセス領域情報保持部13、先読みルールテーブ
ル15、キャッシュメモリポインタ保持部18は、CP
U105から読み書き可能なRAM104上に配置され
ている。
【0142】(実施の形態4)実施の形態1から3で説
明したディスクメモリ装置は、図1、図11、図20に
示すCPU101、103、105が内部に持つROM
内の制御プログラムで制御される。この制御プログラム
を種々の媒体に収めて提供するだけでなく、インターネ
ット、その他のネットワーク等の通信手段を介してプロ
グラムを提供しても、本実施の形態1から3で説明した
効果と同様の効果を得ることができる。
【0143】なお、プログラムを記録する記録媒体とし
ては、例えば、フロッピー(登録商標)ディスク、ハー
ドディスク、光ディスク、磁気ディスク、光磁気ディス
ク、CD−ROM、磁気テープ、パンチカード、不揮発
性のメモリカード等を用いることができる。
【0144】
【発明の効果】以上のように本発明の請求項1に記載の
ディスクメモリ装置によれば、上位装置から受け取っ
た、ディスクメモリ媒体に記録されたデータを読み出す
ための情報であるリード命令の履歴情報を記憶する命令
履歴情報記憶手段と、前記命令履歴情報記憶手段に記憶
されたリード命令に基づいて、データの先読み方向、お
よび先読みを行なうデータの間隔である領域間隔距離を
検出する連続性検出手段と、データの先読みを行なうた
めのルールである先読みルールを保持する先読みルール
保持手段と、前記リード命令、及び前記連続性検出手段
により検出されたデータの先読み方向、領域間隔距離、
前記先読みルール保持手段が保持する先読みルールに基
づき、データの先読みに用いる先読みルールを決定する
先読みルール決定手段と、前記先読みルール決定手段に
より決定された先読みルールに基づき、先読みを行なう
ディスクメモリ媒体上の位置及びサイズを決定する先読
み領域決定手段と、先読みされたデータを格納するキャ
ッシュメモリと、前記先読み領域決定手段により決定さ
れた先読みを行なうデータをディスクメモリ媒体から読
み出して、負方向に先読みしたデータを正方向に先読み
したデータの前記キャッシュメモリの前方に順次格納す
るよう制御する先読み起動手段とを具備することによ
り、一定間隔で離散的に位置するデータの先読みを行な
うことができる。また、先読み起動手段が、負方向に先
読みしたデータを正方向に先読みしたデータの前記キャ
ッシュメモリの前方に順次格納するよう制御することに
より、負方向に順次読み出した複数の先読み領域のデー
タがキャッシュメモリ内に連続したアドレッシングで配
置され、その連続した領域データをキャッシュテーブル
において1つのエントリで登録することを可能にすると
ともに、キャッシュメモリ上に存在する先読み領域のデ
ータを上位装置に返送する場合に、正方向データとの区
別なくキャッシュメモリ上に存在する先読み領域のデー
タを取り出すことが可能になる。
【0145】また、請求項2に記載のディスクメモリ装
置によれば、請求項1に記載のディスクメモリ装置にお
いて、さらに、現在上位装置に送信しているデータの前
記キャッシュメモリ上の位置を示す送出中アドレスと、
次に先読みしたデータを格納すべき前記キャッシュメモ
リ上の位置を示す次先読みデータ格納開始アドレスとを
保持するキャッシュメモリポインタ保持手段と、既に上
位装置に送出済の少なくとも数ブロックのデータをキャ
ッシュメモリ上に残すためのプロテクト領域を、少なく
とも前記送出中アドレス及び予め定めたプロテクト領域
サイズを用いて算出し、前記次先読みデータ格納開始ア
ドレスと先読み領域サイズを用いて算出される先読みデ
ータの格納領域と、前記プロテクト領域とが重なる場合
には、前記先読み起動手段によるデータの先読みを行わ
ないようにする先読み起動判断手段とを備えることによ
り、正方向再生、逆方向再生を頻繁に切替えながらデー
タの再生を行う場合であっても、再生方向を切り替えた
時点では、再生方向切り替え直前の上位装置への送出済
データをキャッシュメモリ内に保存しておくことが可能
になり、再生方向切り替え直後の再生に必要とされる該
再生方向切り替え直前の送出済データを改めてディスク
メモリ媒体から読み出すことなく、上位装置に送出する
ことができる。
【0146】また、請求項3に記載のディスクメモリ装
置によれば、請求項1または請求項2に記載のディスク
メモリ装置において、前記先読みルール保持手段が複数
個の先読みルールを保持し、前記先読み領域決定手段
は、前記先読みルール決定手段により決定された先読み
ルールとその一つ前に適用されていた先読みルールが存
在する場合であって、且つ両先読みルールの先読み方向
が一致している場合には、両先読みルールを併用して、
先読みを行うディスクメモリ媒体上の位置及びサイズを
決定することにより、データの再生速度を現在の再生速
度から直前の再生速度に切替えた場合にも、切り替えら
れた再生速度で必要とされるデータが先読みされてお
り、直前の再生速度に切替えた後、改めて必要とされる
データをディスクメモリ媒体から読み出すことなく、上
位装置に送出することを可能にする。
【0147】また、請求項4に記載のディスクメモリ装
置によれば、上位装置から受け取った、ディスクメモリ
媒体に記録されたデータを読み出すための情報であるリ
ード命令の履歴情報を記憶する命令履歴情報記憶手段
と、前記命令履歴情報記憶手段に記憶されたリード命令
に基づいて、データの先読み方向、および先読みを行な
うデータの間隔である領域間隔距離を検出する連続性検
出手段と、前記リード命令、及び前記連続性検出手段に
より検出されたデータの先読み方向に基づき、先読みを
行なうディスクメモリ媒体上の位置及びサイズを決定す
先読み領域決定手段と、先読みされたデータを格納す
るキャッシュメモリと、前記先読み領域決定手段により
決定された先読みを行なうデータをディスクメモリ媒体
から読み出して、負方向に先読みしたデータを正方向に
先読みしたデータの前記キャッシュメモリの前方に順次
格納するよう制御する先読み起動手段と、現在上位装置
に送信しているデータの前記キャッシュメモリ上の位置
を示す送出中アドレスと、次に先読みしたデータを格納
すべき前記キャッシュメモリ上の位置を示す次先読みデ
ータ格納開始アドレスとを保持するキャッシュメモリポ
インタ保持手段と、既に上位装置に送出済の少なくとも
数ブロックのデータをキャッシュメモリ上に残すための
プロテクト領域を、少なくとも前記送出中アドレス及び
予め定めたプロテクト領域サイズを用いて算出し、前記
次先読みデータ格納開始アドレスと先読み領域サイズを
用いて算出される先読みデータの格納領域と、前記プロ
テクト領域とが重なる場合には、前記先読み起動手段に
よるデータの先読みを行わないようにする先読み起動判
断手段とを備えることにより、正方向再生、逆方向再生
を頻繁に切替えながらデータの再生を行う場合であって
も、再生方向を切り替えた時点では、再生方向切り替え
直前の上位装置への送出済データをキャッシュメモリ内
に保存しておくことが可能になり、再生方向切り替え直
後の再生に必要とされる該再生方向切り替え直前の送出
済データを改めてディスクメモリ媒体から読み出すこと
なく、上位装置に送出することができる。また、先読み
起動手段が、負方向に先読みしたデータを正方向に先読
みしたデータの前記キャッシュメモリの前方に順次格納
するよう制御することにより、負方向に順次読み出した
複数の先読み領域のデータがキャッシュメモリ内に連続
したアドレッシングで配置され、その連続した領域デー
タをキャッシュテーブルにおいて1つのエントリで登録
することを可能にするとともに、キャッシュメモリ上に
存在する先読み領域のデータを上位装置に返送する場合
に、正方向データとの区別なくキャッシュメモリ上に存
在する先読み領域のデータを取り出すことが可能にな
る。
【0148】
【0149】
【図面の簡単な説明】
【図1】本発明の実施の形態1によるディスクメモリ装
置の構成の一例を示すブロック図
【図2】本発明の実施の形態1によるディスクメモリ装
置の基本処理の一例を示すフローチャート
【図3】本発明の実施の形態1によるディスクメモリ装
置の先読み処理の一例を示すフローチャート
【図4】本発明の実施の形態1によるディスクメモリ装
置の連続性検出処理の一例を示すフローチャート
【図5】リード命令履歴テーブル内のデータ構造の一例
を示す図
【図6】本発明の実施の形態1によるディスクメモリ装
置の先読み領域決定処理の一例を示すフローチャート
【図7】アクセス領域情報保持部内に格納されているア
クセス領域情報の一例を示す図
【図8】キャッシュメモリ内のデータ構造の一例を示す
【図9】キャッシュリスト及びキャッシュエントリの一
例を示す図
【図10】キャッシュエントリの状態遷移図
【図11】本発明の実施の形態2によるディスクメモリ
装置の構成の一例を示すブロック図
【図12】本発明の実施の形態2によるディスクメモリ
装置の先読み処理の一例を示すフローチャート
【図13】本発明の実施の形態2によるディスクメモリ
装置の連続性検出処理の一例を示すフローチャート
【図14】リード命令履歴テーブル内のデータ構造の一
例を示す図
【図15】本発明の実施の形態2によるディスクメモリ
装置の先読みルール決定処理の一例を示すフローチャー
【図16】先読みルールテーブル内のデータ構造の一例
を示す図
【図17】本発明の実施の形態2によるディスクメモリ
装置の先読みルールポインタ更新処理の一例を示すフロ
ーチャート
【図18】本発明の実施の形態2によるディスクメモリ
装置の旧ルール適用判定処理の一例を示すフローチャー
【図19】本発明の実施の形態2によるディスクメモリ
装置の先読み領域決定処理の一例を示すフローチャート
【図20】本発明の実施の形態3によるディスクメモリ
装置の構成の一例を示すブロック図
【図21】本発明の実施の形態3によるディスクメモリ
装置の先読み処理の一例を示すフローチャート
【図22】本発明の実施の形態3によるディスクメモリ
装置の先読み起動判断処理の一例を示すフローチャート
【図23】キャッシュメモリポインタ保持部のデータ構
造の一例を示す図
【図24】キャッシュメモリ内のデータ構造を示す図
【符号の説明】
1 上位装置 2 ホストI/F部 3 キャッシュヒット判定部 4、16 連続性検出部 5 リード命令履歴テーブル 6、17 先読み領域決定部 7 先読み起動部 8 ディスク転送部 9 ヘッド構造物 10 キャッシュメモリ 11 ホスト転送部 12 キャッシュリスト 13 アクセス領域情報保持部 14 先読みルール決定部 15 先読みルールテーブル 18 キャッシュメモリポインタ保
持部 19 先読み起動判断部 100、102、104 RAM 101、103、104 CPU A 前回リード領域先頭セクター
No. B 前回リード領域サイズ C 前々回リード領域先頭セクタ
ーNo. D 前々回リード領域サイズ E 前回アクセス方向値 F 前回領域間隔距離 G 今回リード領域先頭セクター
No. H 今回リード領域サイズ I 今回アクセス方向値 J 今回領域間隔距離 K 先頭LBA L 終了LBA M キャッシュメモリ内先頭アド
レス N キャッシュメモリ内終了アド
レス O 送出中アドレス P 次先読みデータ格納開始アド
レス Q アクセス領域先頭セクターN
o. R アクセス領域サイズ T 先読みルール更新フラグ U 先読みルールポインタ W0〜W5 先読みルールエントリ0〜5 X 先読み方向値 Y 先読み領域間隔距離 Z 先読み領域サイズ D1〜D4 負方向先読みデータ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI H04N 5/907 H04N 5/907 B 5/937 5/93 C (58)調査した分野(Int.Cl.7,DB名) G11B 20/10 G06F 12/00 G06F 3/06 - 3/08 H04N 5/93 - 5/95 H04N 5/76 H04N 5/80 - 5/907

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 上位装置から受け取った、ディスクメモ
    リ媒体に記録されたデータを読み出すための情報である
    リード命令の履歴情報を記憶する命令履歴情報記憶手段
    と、 前記命令履歴情報記憶手段に記憶されたリード命令に基
    づいて、データの先読み方向、および先読みを行なうデ
    ータの間隔である領域間隔距離を検出する連続性検出手
    段と、データの先読みを行なうためのルールである先読みルー
    ルを保持する先読みルール保持手段と、 前記リード命令、及び前記連続性検出手段により検出さ
    れたデータの先読み方向、領域間隔距離、前記先読みル
    ール保持手段が保持する先読みルールに基づき、データ
    の先読みに用いる先読みルールを決定する先読みルール
    決定手段と、 前記先読みルール決定手段により決定された先読みルー
    ルに基づき、 先読みを行なうディスクメモリ媒体上の位
    置及びサイズを決定する先読み領域決定手段と、 先読みされたデータを格納するキャッシュメモリと、 前記先読み領域決定手段により決定された先読みを行な
    うデータをディスクメモリ媒体から読み出して、負方向
    に先読みしたデータを正方向に先読みしたデータの前記
    キャッシュメモリの前方に順次格納するよう制御する
    読み起動手段とを具備する、 ことを特徴とするディスクメモリ装置。
  2. 【請求項2】 請求項1に記載のディスクメモリ装置に
    おいて、 さらに、現在上位装置に送信しているデータの前記キャ
    ッシュメモリ上の位置を示す送出中アドレスと、次に先
    読みしたデータを格納すべき前記キャッシュメモリ上の
    位置を示す次先読みデータ格納開始アドレスとを保持す
    るキャッシュメモリポインタ保持手段と、 既に上位装置に送出済の少なくとも数ブロックのデータ
    をキャッシュメモリ上に残すためのプロテクト領域を、
    少なくとも前記送出中アドレス及び予め定めたプロテク
    ト領域サイズを用いて算出し、前記次先読みデータ格納
    開始アドレスと先読み領域サイズを用いて算出される先
    読みデータの格納領域と、前記プロテクト領域とが重な
    る場合には、前記先読み起動手段によるデータの先読み
    を行わないようにする先読み起動判断手段とを備える、 ことを特徴とするディスクメモリ装置。
  3. 【請求項3】 請求項1または請求項2に記載のディス
    クメモリ装置において、 前記先読みルール保持手段が複数個の先読みルールを保
    持し、 前記先読み領域決定手段は、前記先読みルール決定手段
    により決定された先読みルールとその一つ前に適用され
    ていた先読みルールが存在する場合であって、且つ両先
    読みルールの先読み方向が一致している場合には、両先
    読みルールを併用して、先読みを行うディスクメモリ媒
    体上の位置及びサイズを決定する、 ことを特徴とするディスクメモリ装置。
  4. 【請求項4】 上位装置から受け取った、ディスクメモ
    リ媒体に記録されたデータを読み出すための情報である
    リード命令の履歴情報を記憶する命令履歴情報記憶手段
    と、 前記命令履歴情報記憶手段に記憶されたリード命令に基
    づいて、データの先読み方向、 および先読みを行なうデータの間隔である領域間隔距離
    を検出する連続性検出手段と、 前記リード命令、及び前記連続性検出手段により検出さ
    れたデータの先読み方向に基づき、先読みを行なうディ
    スクメモリ媒体上の位置及びサイズを決定する先読み領
    域決定手段と、 先読みされたデータを格納するキャッシュメモリと、 前記先読み領域決定手段により決定された先読みを行な
    うデータをディスクメモリ媒体から読み出して、負方向
    に先読みしたデータを正方向に先読みしたデータの前記
    キャッシュメモリの前方に順次格納するよう制御する先
    読み起動手段と、 現在上位装置に送信しているデータの前記キャッシュメ
    モリ上の位置を示す送出中アドレスと、次に先読みした
    データを格納すべき前記キャッシュメモリ上の位置を示
    す次先読みデータ格納開始アドレスとを保持するキャッ
    シュメモリポインタ保持手段と、 既に上位装置に送出済の少なくとも数ブロックのデータ
    をキャッシュメモリ上に残すた めのプロテクト領域を、
    少なくとも前記送出中アドレス及び予め定めたプロテク
    ト領域サイズを用いて算出し、前記次先読みデータ格納
    開始アドレスと先読み領域サイズを用いて算出される先
    読みデータの格納領域と、前記プロテクト領域とが重な
    る場合には、前記先読み起動手段によるデータの先読み
    を行わないようにする先読み起動判断手段とを備える、 ことを特徴とするディスクメモリ装置。
  5. 【請求項5】 上位装置から受け取った、ディスクメモ
    リ媒体に記録されたデータを読み出すための情報である
    リード命令に基づいて、データの先読み方向、および先
    読みを行なうデータの間隔である領域間隔距離を検出す
    る連続性検出ステップと、 前記リード命令、及び前記連続性検出ステップにより検
    出されたデータの先読み方向、 領域間隔距離、及びデータの先読みを行なうためのルー
    ルである先読みルールを保持する先読みルール保持手段
    により保持されている先読みルールに基づき、データの
    先読みに用いる先読みルールを決定する先読みルール決
    定ステップと、 前記先読みルール決定ステップにより決定されたデータ
    の先読みに用いる先読みルールに基づき、先読みを行な
    うディスクメモリ媒体上の位置及びサイズを決定する先
    読み領域決定ステップと、 前記先読み領域決定ステップにより決定された先読みを
    行なうディスクメモリ媒体上の位置及びサイズのデータ
    をディスクメモリ媒体から読み出して、先読みされたデ
    ータの格納領域であるキャッシュメモリに、負方向に先
    読みしたデータを正方向に先読みしたデータの前方に順
    次格納させる先読み起動ステップとを有する、 ことを特徴とするデータ先読み方法
  6. 【請求項6】 請求項に記載のデータ先読み方法にお
    いて、既に上位装置に送出済の少なくとも数ブロックのデータ
    をキャッシュメモリ上に残すためのプロテクト領域を、
    少なくとも現在上位装置に送信している前記キャッシュ
    メモリ上のデータ位置である送出中アドレスと予め定め
    たプロテクト領域サイズを用いて算出し、次に先読みし
    たデータを格納すべき前記キャッシュメモリ上の位置を
    示す次先読みデータ格納開始アドレスと先読み領域サイ
    ズを用いて算出される先読みデータの格納領域と、前記
    プロテクト領域とが重なる場合には、データの先読みを
    行わないようにする先読み起動判断ステップをさらに有
    する、 ことを特徴とするデータ先読み方法
  7. 【請求項7】 請求項5または請求項6に記載のデータ
    先読み方法において、 前記先読み領域決定ステップは、前記先読みルール決定
    ステップにより決定された先読みルールと、その一つ前
    に適用されていた先読みルールが存在する場合であっ
    て、且つ両先読みルールの先読み方向が一致している場
    合には、両先読みルールを併用して、先読みを行うディ
    スクメモリ媒体上の位置及びサイズを決定する、 ことを
    特徴とするデータ先読み方法。
  8. 【請求項8】 上位装置から受け取った、ディスクメモ
    リ媒体に記録されたデータを読み出すための情報である
    リード命令に基づいてデータの先読み方向を検出する連
    続性検出ステップと、 前記リード命令、及び前記連続性検出ステップにより検
    出されたデータの先読み方向に基づき、先読みを行なう
    ディスクメモリ媒体上の位置及びサイズを決定する先読
    み領域決定ステップと、既に上位装置に送出済の少なくとも数ブロックのデータ
    をキャッシュメモリ上に残すためのプロテクト領域を、
    少なくとも現在上位装置に送信している前記キャッシュ
    メモリ上のデータ位置である送出中アドレスと予め定め
    たプロテクト領域サイズを用いて算出し、次に先読みし
    たデータを格納すべき前記キャッシュメモリ上の位置を
    示す次先読みデータ格納開始アドレスと先読み領域サイ
    ズを用いて算出される先読みデータの格納領域と、前記
    プロテクト領域とが重なる場合には、データの先読みを
    行わないようにする先読み起動判断ステップと、 先読みデータの格納領域と前記プロテクト領域とが重な
    らない場合に、前記先読み領域 決定ステップにより決定
    された先読みを行なうデータをディスクメモリ媒体から
    読み出して、先読みされたデータの格納領域であるキャ
    ッシュメモリに、負方向に先読みしたデータを正方向に
    先読みしたデータの前方に順次格納させる先読み起動ス
    テップとを有する、 ことを特徴とするデータ先読み方
    法。
  9. 【請求項9】 コンピュータ読み取り可能な記録媒体に
    おいて、 上位装置から受け取った、ディスクメモリ媒体に記録さ
    れたデータを読み出すための情報であるリード命令に基
    づいて、データの先読み方向、および先読みを行なうデ
    ータの間隔である領域間隔距離を検出する連続性検出ス
    テップと、 前記リード命令、及び前記連続性検出ステップにより検
    出されたデータの先読み方向、 領域間隔距離、及びデータの先読みを行なうためのルー
    ルである先読みルールを保持する先読みルール保持手段
    により保持されている先読みルールに基づき、データの
    先読みに用いる先読みルールを決定する先読みルール決
    定ステップと、 前記先読みルール決定ステップにより決定されたデータ
    の先読みに用いる先読みルールに基づき、先読みを行な
    うディスクメモリ媒体上の位置及びサイズを決定する先
    読み領域決定ステップと、 前記先読み領域決定ステップにより決定された先読みを
    行なうディスクメモリ媒体上の位置及びサイズのデータ
    をディスクメモリ媒体から読み出して、先読みされたデ
    ータの格納領域であるキャッシュメモリに、負方向に先
    読みしたデータを正方向に先読みしたデータの前方に順
    次格納させる先読み起動ステップとを有するデータ先読
    み方法を、 コンピュータに実行させるためのプログラムを記録した
    ことを特徴とする記録媒体。
  10. 【請求項10】 請求項に記載の記録媒体において、既に上位装置に送出済の少なくとも数ブロックのデータ
    をキャッシュメモリ上に残すためのプロテクト領域を、
    少なくとも現在上位装置に送信している前記キャッシュ
    メモリ上のデータ位置である送出中アドレスと予め定め
    たプロテクト領域サイズを用いて算出し、 次に先読みしたデータを格納すべき前記キャッシュメモ
    リ上の位置を示す次先読みデータ格納開始アドレスと先
    読み領域サイズを用いて算出される先読みデータの格納
    領域と、前記プロテクト領域とが重なる場合には、デー
    タの先読みを行わないようにする先読み起動判断ステッ
    プをさらに有するデータ先読み方法を、 コンピュータに実行させるためのプログラムを記録した
    ことを特徴とする記録媒体。
  11. 【請求項11】 請求項9または請求項10に記載の
    録媒体において、前記先読み領域決定ステップは、前記先読みルール決定
    ステップにより決定された先読みルールと、その一つ前
    に適用されていた先読みルールが存在する場合であっ
    て、且つ両先読みルールの先読み方向が一致している場
    合には、両先読みルールを併用して、先読みを行うディ
    スクメモリ媒体上の位置及びサイズを決定するデータ先
    読み方法を、 コンピュータに実行させるためのプログラムを記録した
    ことを特徴とする記録媒体。
  12. 【請求項12】 コンピュータ読み取り可能な記録媒体
    において、 上位装置から受け取った、ディスクメモリ媒体に記録さ
    れたデータを読み出すための情報であるリード命令に基
    づいてデータの先読み方向を検出する連続性検出ステッ
    プと、 前記リード命令、及び前記連続性検出ステップにより検
    出されたデータの先読み方向に基づき、先読みを行なう
    ディスクメモリ媒体上の位置及びサイズを決定する先読
    み領域決定ステップと、 既に上位装置に送出済の少なくとも数ブロックのデータ
    をキャッシュメモリ上に残すためのプロテクト領域を、
    少なくとも現在上位装置に送信している前記キャッシュ
    メモリ上のデータ位置である送出中アドレスと予め定め
    たプロテクト領域サイズを用いて算出し、 次に先読みしたデータを格納すべき前記キャッシュメモ
    リ上の位置を示す次先読みデータ格納開始アドレスと先
    読み領域サイズを用いて算出される先読みデータの格納
    領域と、前記プロテクト領域とが重なる場合には、デー
    タの先読みを行わないようにする先読み起動判断ステッ
    プと、 先読みデータの格納領域と前記プロテクト領域とが重な
    らない場合に、前記先読み領域決定ステップにより決定
    された先読みを行なうデータをディスクメモリ媒体から
    読み出し て、先読みされたデータの格納領域であるキャ
    ッシュメモリに、負方向に先読みしたデータを正方向に
    先読みしたデータの前方に順次格納させる先読み起動ス
    テップとを有するデータ先読み方法を、 コンピュータに実行させるためのプログラムを記録した
    ことを特徴とする記録媒体。
JP2000099040A 2000-03-31 2000-03-31 ディスクメモリ装置、データ先読み方法、及び記録媒体 Expired - Fee Related JP3535800B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2000099040A JP3535800B2 (ja) 2000-03-31 2000-03-31 ディスクメモリ装置、データ先読み方法、及び記録媒体
TW090106939A TW550458B (en) 2000-03-31 2001-03-23 A magnetic disc memory device, data prior reading method and recording media
KR10-2001-7015444A KR100466145B1 (ko) 2000-03-31 2001-03-30 디스크 메모리 장치, 데이터 선독 방법 및 기록 매체
PCT/JP2001/002735 WO2001073538A1 (fr) 2000-03-31 2001-03-30 Dispositif de memoire de disque, procede de lecture prealable de donnees, et support enregistre
US09/980,311 US6965967B2 (en) 2000-03-31 2001-03-30 Disk memory device, data pre-reading method, and recorded medium
CNB018007791A CN1159644C (zh) 2000-03-31 2001-03-30 盘式存储装置和数据预读方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000099040A JP3535800B2 (ja) 2000-03-31 2000-03-31 ディスクメモリ装置、データ先読み方法、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2001285805A JP2001285805A (ja) 2001-10-12
JP3535800B2 true JP3535800B2 (ja) 2004-06-07

Family

ID=18613440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000099040A Expired - Fee Related JP3535800B2 (ja) 2000-03-31 2000-03-31 ディスクメモリ装置、データ先読み方法、及び記録媒体

Country Status (6)

Country Link
US (1) US6965967B2 (ja)
JP (1) JP3535800B2 (ja)
KR (1) KR100466145B1 (ja)
CN (1) CN1159644C (ja)
TW (1) TW550458B (ja)
WO (1) WO2001073538A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968423B2 (en) * 2002-02-05 2005-11-22 Seagate Technology Llc Dynamic data access pattern detection in a block data storage device
JP2004318940A (ja) * 2003-04-14 2004-11-11 Renesas Technology Corp 記憶装置
JP2005011110A (ja) * 2003-06-19 2005-01-13 Hitachi Ltd 情報処理装置、情報処理装置の制御方法、プログラム、及び情報処理システム
JP4117656B2 (ja) * 2003-11-26 2008-07-16 株式会社日立製作所 アクセスパターンを学習する記憶装置
TWI273402B (en) * 2004-07-30 2007-02-11 Mediatek Inc Data buffering method in disc data reading system and system of the same
US7644224B2 (en) * 2005-11-15 2010-01-05 Sandisk Il Ltd. Flash memory device and method
US7425810B2 (en) * 2006-06-30 2008-09-16 Lenovo (Singapore) Pte., Ltd. Disk drive management
JP4767127B2 (ja) * 2006-08-10 2011-09-07 株式会社日立製作所 ファイルサーバ、計算機システム及びファイルの先読み方法。
JPWO2009050765A1 (ja) * 2007-10-17 2011-02-24 東芝ストレージデバイス株式会社 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
CN102073463B (zh) * 2010-12-28 2012-08-22 创新科存储技术有限公司 流预测方法和装置及预读控制方法和装置
JP6195098B2 (ja) * 2013-06-21 2017-09-13 華為技術有限公司Huawei Technologies Co.,Ltd. ファイル読み取り方法、記憶装置、および読み取りシステム
JP5895918B2 (ja) * 2013-09-30 2016-03-30 日本電気株式会社 ディスク装置、ディスク装置における先読み制御方法およびプログラム
US10824335B2 (en) * 2014-07-14 2020-11-03 Western Digital Technologies, Inc. Device and method to store predicted data at a host memory
US9684459B2 (en) 2014-11-17 2017-06-20 Kabushiki Kaisha Toshiba Memory system
KR20190090268A (ko) * 2018-01-24 2019-08-01 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US10649776B2 (en) * 2018-06-29 2020-05-12 Western Digital Technologies, Inc. System and method for prediction of multiple read commands directed to non-sequential data
US10642502B2 (en) * 2018-06-29 2020-05-05 Western Digital Technologies, Inc. System and method for prediction of read commands to non-sequential data
TWI694463B (zh) * 2019-04-18 2020-05-21 祥碩科技股份有限公司 資料儲存設備及其資料預測方法
US11416263B1 (en) 2021-02-12 2022-08-16 Western Digital Technologies, Inc. Boosted boot procedure by background re-arrangement of read patterns
CN113609093B (zh) * 2021-06-30 2023-12-22 济南浪潮数据技术有限公司 一种分布式文件系统的逆序读方法、系统及相关装置
CN113672176B (zh) * 2021-08-13 2023-12-29 济南浪潮数据技术有限公司 一种数据读取方法、系统、设备及计算机可读存储介质
CN114442948A (zh) * 2022-01-14 2022-05-06 济南浪潮数据技术有限公司 一种存储系统预读方法、装置、设备及存储介质
CN114237518B (zh) * 2022-02-22 2022-05-24 苏州浪潮智能科技有限公司 一种数据读取方法、系统、装置及终端

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2881049B2 (ja) * 1991-07-30 1999-04-12 株式会社日立製作所 プリフェッチバッファ
JP3181705B2 (ja) 1992-08-18 2001-07-03 パイオニア株式会社 記録情報再生装置
JP3104110B2 (ja) 1993-04-26 2000-10-30 ソニー株式会社 再生装置
JP3566319B2 (ja) 1993-06-20 2004-09-15 株式会社リコー 情報記憶装置
US5687347A (en) * 1994-09-19 1997-11-11 Matsushita Electric Industrial Co., Ltd. Data providing device, file server device, and data transfer control method
JPH09166997A (ja) 1995-12-14 1997-06-24 Victor Co Of Japan Ltd 音響信号処理装置
US5752037A (en) * 1996-04-26 1998-05-12 Hewlett-Packard Company Method of prefetching data for references with multiple stride directions
JPH10171713A (ja) 1996-12-09 1998-06-26 Toshiba Corp ディスク記憶装置及び同装置に適用するキャッシュ制御方法
JPH11110139A (ja) 1997-09-26 1999-04-23 Internatl Business Mach Corp <Ibm> データ読み取り方法及びデータ読み取り装置
JPH11212728A (ja) 1998-01-26 1999-08-06 Hitachi Ltd 外部記憶サブシステム

Also Published As

Publication number Publication date
CN1366633A (zh) 2002-08-28
CN1159644C (zh) 2004-07-28
WO2001073538A1 (fr) 2001-10-04
KR100466145B1 (ko) 2005-01-13
JP2001285805A (ja) 2001-10-12
US20030018849A1 (en) 2003-01-23
KR20020020901A (ko) 2002-03-16
TW550458B (en) 2003-09-01
US6965967B2 (en) 2005-11-15

Similar Documents

Publication Publication Date Title
JP3535800B2 (ja) ディスクメモリ装置、データ先読み方法、及び記録媒体
US20030041214A1 (en) Cache control methods and apparatus for hard disk drives
JP3183993B2 (ja) ディスク制御システム
JP4060506B2 (ja) ディスク制御装置
JPH07334310A (ja) ディスク装置及び同装置における読み出しデータのバッファ記憶制御方法
JP2005148868A (ja) ストレージ装置におけるデータのプリフェッチ
JPH08212015A (ja) ドライブ装置
JP3087429B2 (ja) 記憶装置システム
KR19980029917A (ko) 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법
EP1684288B1 (en) Information recorder, information recording method, and recording medium containing program
US6502164B1 (en) Apparatus and method for transmitting data of disk recording medium
JP2003199014A (ja) ディスク記憶装置及びコマンド処理方法
JP3080521B2 (ja) ディスク装置
JP3435176B2 (ja) 磁気ディスク装置
KR100670470B1 (ko) 캐쉬버퍼 운용방법
JP3181705B2 (ja) 記録情報再生装置
JPH03102443A (ja) データ先読み制御方式
JPH11162106A (ja) 記録再生装置
JPH0612328A (ja) キャッシュメモリのデータ蓄積方法
JPH06332628A (ja) 先読みデータ処理装置
JP2002042412A (ja) 記録再生装置
JPH11328029A (ja) 情報記録再生装置
JP2000181798A (ja) ディスク装置のキャッシュ制御方式
JPH1116269A (ja) 光ディスク再生方法及び光ディスク装置
JP2003173294A (ja) ディスク装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080319

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees