JP2001142652A - データのキャッシュ方法 - Google Patents

データのキャッシュ方法

Info

Publication number
JP2001142652A
JP2001142652A JP32744099A JP32744099A JP2001142652A JP 2001142652 A JP2001142652 A JP 2001142652A JP 32744099 A JP32744099 A JP 32744099A JP 32744099 A JP32744099 A JP 32744099A JP 2001142652 A JP2001142652 A JP 2001142652A
Authority
JP
Japan
Prior art keywords
data
read
buffer
cache
read buffer
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
JP32744099A
Other languages
English (en)
Inventor
Toyokatsu Uemura
豊克 植村
Tatsuya Sakanashi
達也 坂梨
Fumitoshi Saito
文俊 斎藤
Hiromi Matsuki
広美 松木
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP32744099A priority Critical patent/JP2001142652A/ja
Priority to US09/889,385 priority patent/US6766415B1/en
Priority to PCT/JP2000/008072 priority patent/WO2001037074A1/ja
Priority to IDW00200101803A priority patent/ID30285A/id
Priority to TW089124240A priority patent/TW582026B/zh
Priority to KR10-2001-7008916A priority patent/KR100449111B1/ko
Priority to CN00802862A priority patent/CN1337019A/zh
Publication of JP2001142652A publication Critical patent/JP2001142652A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • 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/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 キャッシュデータを効率よく有効に活用する
ことができるデータのキャッシュ方法を提供する。 【解決手段】 記憶媒体に格納されているデータを、計
算機がリード要求する際に、リード要求されたデータの
それぞれが、リードバッファに格納されているデータと
キャッシュヒットするかを判断し、リード要求されたデ
ータのうちキャッシュヒットしないデータのみを前記記
憶媒体から読み出し、前記リードバッファにバッファリ
ングし、前記リード要求されたデータをリードバッファ
より計算機に転送し、前記記憶媒体から前記リード要求
されたデータに続く番地のデータを先読みして、前記バ
ッファリングされたリードデータと連続になるようにリ
ードバッファにバッファリングする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リードバッファを
用いてデータをキャッシュする、データのキャッシュ方
法に関するものである。
【0002】
【従来の技術】まず、従来のデータのキャッシュ方法に
ついて図を用いて説明する。図6は従来のデータのキャ
ッシュ方法を適用する装置の一例を示す構成図である。
図6において、61は記憶媒体、62はリ−ドバッフ
ァ、63は計算機である。
【0003】図7は従来のデータのキャッシュ方法にお
けるキャッシュデータの変化の一例を示す説明図であ
る。リードバッファに格納されているデータ、すなわち
キャッシュデータは、(a)、(b)、(c)、(d)
の順に変化し、その構成は、62はリードバッファ、7
2はリードデータ、73は先読みデータ、74はリード
データ、75は先読みデータである。
【0004】次に、従来のデータのキャッシュ方法の動
作について、図6、図7を用いて説明する。ホストコン
ピュータ等の計算機63がCD−ROM、DVD等の記
憶媒体61の50〜52番地のデータをリード要求した
場合には、図示していない読み出し装置が、記憶媒体6
1の50〜52番地のデータを読み出し、図7(a)に
示すように、読み出したリードデータ72をリードバッ
ファ62の先頭にバッファリングしてから計算機63に
転送する。その後、記憶媒体61の53番地以降のデー
タをリードバッファ62の空き部分に書き込めるだけ先
読みし、図7(b)に示すように、先読みした53〜1
01番地のデータである先読みデータ73をリードデー
タ72と連続になるようにリードバッファ62の終端位
置までバッファリングする。
【0005】次に、計算機63が記憶媒体61の48〜
50番地をリード要求した場合には、リード開始位置の
データである48番地のデータがリードバッファ62に
格納されているかどうかでキャッシュヒットしているか
を判断する。48番地のデータは、リードバッファに格
納されているリードデータ72と先読みデータ73には
存在しないため、キャッシュヒットしていない。そこ
で、記憶媒体61の48〜50番地のデータを再度読み
出し、図7(c)に示すように読み出したリードデータ
74をリードバッファ62の先頭にバッファリングして
から、計算機63に転送する。その後、記憶媒体61の
50番地以降のデータをリードバッファ62の空き部分
に書き込めるだけ先読みし、図7(d)に示すように、
その51〜99番地のデータである先読みデータ75を
リードデータ74と連続となるようにリードバッファ6
2の終端位置までバッファリングする。
【0006】
【発明が解決しようとする課題】以上のように、計算機
63がリード要求されたデータの一部が、リードバッフ
ァ61に予め格納されていても、リード開始位置のデー
タが格納されていない場合はキャッシュヒットしていな
いと判断され、記憶媒体61から再度読み出しが行わ
れ、リードバッファ62内のデータがすべて書き換えら
れるので、効率が悪いという問題がある。
【0007】また、リードバッファ62に格納されてい
ないデータを計算機63がリード要求した場合、そのデ
ータの番地が、リードバッファ62に格納されているデ
ータの少し前の番地であり、上書き前と、上書き後のデ
ータに、あまり変化がない場合でも、リードバッファ6
2内のデータはすべて書き換えられてしまう。このた
め、効率が悪いという問題がある。
【0008】本発明は、かかる事情に鑑みてなされたも
のであり、その目的はキャッシュデータを効率よく有効
に活用することができる、データのキャッシュ方法を提
供するものである。
【0009】
【課題を解決するための手段】前記課題を解決するた
め、請求項1に記載の発明に係るデータのキャッシュ方
法は、記憶媒体に格納されているデータを、計算機がリ
ード要求する際に、リードバッファを用いてデータをキ
ャッシュするデータのキャッシュ方法において、前記記
憶媒体に格納されているデータで、リード要求されたデ
ータが、前記リードバッファに既にバッファリングされ
ているデータとキャッシュヒットするか否かを判断する
ステップと、前記キャッシュヒット判断において、リー
ド要求されたデータ又はその一部がキャッシュヒットし
ていない場合は、前記リード要求されたデータのうちキ
ャッシュヒットしていないもののみを前記記憶媒体から
読み出し、前記リードバッファにキャッシュヒットして
いるデータと連続となるようにバッファリングするバッ
ファリングステップと、前記バッファリングを行った
後、前記リードバッファにある前記リード要求されたデ
ータを前記計算機に転送するステップと、前記リード要
求されたデータを前記リードバッファから前記計算機へ
転送後、前記記憶媒体から、該記憶媒体に前記リード要
求されたデータに続いて格納されているデータを先読み
して、前記リードバッファにある前記リード要求された
データに続くように前記リードバッファにバッファリン
グする先読みステップとを備えたことを特徴とする。
【0010】また、請求項2に記載の発明に係るデータ
のキャッシュ方法は、請求項1に記載のデータのキャッ
シュ方法において、前記先読みステップは、前記リード
バッファにある前記リード要求されたデータと連続とな
るように前記リードバッファにデータが既に格納されて
いる場合は、該先読みを行わないものであることを特徴
とする。
【0011】また、請求項3に記載の発明に係るデータ
のキャッシュ方法は、請求項2に記載のデータのキャッ
シュ方法において、前記バッファリングステップは、前
記キャッシュヒット判断において、前記リード要求され
たデータのうち少なくとも最後尾のデータがキャッシュ
ヒットすると判断した場合は、前記リード要求されたデ
ータのうちキャッシュヒットしないもののみを前記記憶
媒体から読み出し、これを、これに前記リードバッファ
に既にバッファリングされているキャッシュヒットして
いるデータが続くように、該キャッシュヒットしている
データの手前にバッファリングすることを特徴とする。
【0012】また、請求項4に記載の発明に係るデータ
のキャッシュ方法は、請求項3に記載のデータのキャッ
シュ方法において、前記リードバッファの終端位置に、
前記先読みしたデータを記録しない任意の大きさのマー
ジンを設け、前記リード要求されたデータのうちキャッ
シュヒットしないデータのサイズが前記マージンのサイ
ズ以下であれば、前記リードバッファにあるデータと連
続となるように、前記キャッシュヒットしないデータを
前記記憶媒体から読み出し、前記マージンにバッファリ
ングすることを特徴とする。
【0013】また、請求項5に記載の発明に係るデータ
のキャッシュ方法は、請求項4に記載のデータのキャッ
シュ方法において、前記先読みステップの後に、前記リ
ード要求されたデータの直前に前記マージンを再設定す
ることを特徴とする。
【0014】また、請求項6に記載の発明に係るデータ
のキャッシュ方法は、請求項5に記載のデータのキャッ
シュ方法において、前記マージンのサイズが、過去のバ
ッファリングの状況に基づいて任意の大きさに変更する
ことができることを特徴とする。
【0015】
【発明の実施の形態】(実施の形態1)以下に、本発明
の実施の形態1によるデータのキャッシュ方法について
図を用いて説明する。本発明の実施の形態1によるデー
タのキャッシュ方法を適用する装置の構成は、図6に示
す従来のデータのキャッシュ方法を適用する装置の構成
と同じであるので、説明を省略する。
【0016】本発明の実施の形態1によるデータのキャ
ッシュ方法におけるリードバッファのバッファリングの
動作について図1を用いて説明する。図1は、本発明の
実施の形態1に係るデータのキャッシュ方法におけるリ
ードバッファのバッファリング手順を示すフローチャー
トである。
【0017】まず、計算機63が記憶媒体61に格納さ
れているデータをリード要求する。ステップS1で、前
記リード要求されたデータのうち先頭のデータ(以下リ
ード開始位置のデータとする)がキャッシュヒットして
いるかを判断し、キャッシュヒットしている場合は記憶
媒体61からデータを読み出さずに処理を抜け、キャッ
シュヒットしていない場合はステップS2に進む。ステ
ップS2で、前記リード要求されたデータのうち最後尾
のデータ(以下リード終了位置のデータとする)がキャ
ッシュヒットしているかを判断し、キャッシュヒットし
ていない場合はステップS6に進み記憶媒体61から前
記リード要求されたデータをすべて読み出し、リードバ
ッファ62の先頭位置にバッファリングし、キャッシュ
ヒットしている場合はステップS3に進む。ステップS
3で、前記リード要求されたデータのうちキャッシュヒ
ットしていないデータのサイズと、前記リード要求され
たデータのうちキャッシュヒットしているデータをリー
ドバッファ62から除いた残りのバッファサイズを比較
し、前記キャッシュヒットしていないデータのサイズ
が、前記残りのバッファサイズよりも大きければステッ
プS6に、前記残りのバッファサイズ以下であればステ
ップS4に進む。ステップS4で、前記リード要求され
たデータのうちキャッシュヒットしていないデータを記
憶媒体61から読み出してきてリードバッファ62に、
前記キャッシュヒットしているデータと連続になるよう
にバッファリングする。ステップS5で、リードバッフ
ァ62に格納されている、計算機63がリード要求され
たデータの先頭位置をリードバッファの先頭位置として
再設定し、前記リード要求されたデータのバッファリン
グ処理を終了する。
【0018】次に、本発明の実施の形態1に係るデータ
のキャッシュ方法についてリードバッファ62内のデー
タの変化を見ながら図を用いて説明する。図2は本発明
の実施の形態1に係るデータのキャッシュ方法における
キャッシュデータの変化の一例を示す説明図である。キ
ャッシュデータは、(a)、(b)、(c)の順に変化
し、その構成は、62はリードバッファ、22はリード
データ、23は先読みデータ、24はリードデータであ
る。
【0019】計算機63が記憶媒体61の50〜52番
地のデータをリード要求した場合にはステップS1で、
50番地のデータがリードバッファ62に格納されてい
るか判別し、格納されていないのでステップS2に進
み、ステップS2で52番地のデータがリードバッファ
62に格納されているか判別し、格納されていないので
ステップS6に進み、ステップS6で、図示しない読み
出し装置が記憶媒体61の50〜52番地のデータを読
み出し、図2(a)に示すように読み出したリードデー
タ22をリードバッファ62の先頭にバッファリングし
てからデータのバッファリング処理を終了し、前記リー
ド要求されたデータをリードバッファ62から計算機6
3に転送する。その後、記憶媒体61の53番地以降の
データをリードバッファ62の空き部分に書き込めるだ
け先読みし、図2(b)に示すように、先読みした53
〜101番地のデータである先読みデータ23をリード
データ22と連続となるようにリードバッファ62の終
端位置までバッファリングする。
【0020】次に、計算機63が記憶媒体61の48〜
50番地のデータをリード要求した場合には、ステップ
S1でリード開始位置のデータである48番地のデータ
がリードバッファ62に格納されているか判別し、48
番地のデータは格納されていないのでステップS2に進
み、ステップS2でリード終了位置のデータである50
番地のデータがリードバッファ62に格納されているか
判別し、50番地のデータはすでにリードバッファ62
に格納されているためステップS3に進む。ステップS
3で、リードバッファ62に格納されていない48、4
9番地のデータが、リードバッファ62にバッファリン
グすることは可能であると判断したので、ステップS4
に進む。ステップS4で記憶媒体61からリードバッフ
ァ62に格納されていない48、49番地のデータを読
み出し、図2(c)に示すように、該読み出した48、
49番地のリードデータ24を50番地以降のデータと
連続となるようにバッファリングする。ここで、リード
バッファ62はリング構造になっている。そして、前記
リード要求されたデータを計算機63に転送する。その
後、ステップS5で、リード開始位置のデータである4
8番地のデータが格納されている部分を、リードバッフ
ァ62の先頭位置として再設定する。
【0021】このように本発明の実施の形態1に記載の
データのキャッシュ方法によれば、リード要求されたデ
ータの一部が、すでにリードバッファに格納されている
場合には、リードバッファに格納されていないデータの
みを記憶媒体より読み出し、すでにリードバッファに格
納されているデータと連続となるようにバッファリング
するので、リードバッファ内のデータをすべて書き換え
る必要が無く、キャッシュデータを効率よく有効に活用
できる効果を有する。
【0022】(実施の形態2)以下に、本発明の実施の
形態2によるデータのキャッシュ方法について図を用い
て説明する。本発明の実施の形態2によるデータのキャ
ッシュ方法を適用する装置の構成は、図6に示す従来の
データのキャッシュ方法を適用する装置の構成と同じで
あるので、説明を省略する。
【0023】本発明の実施の形態2に係るデータのキャ
ッシュ方法についてリードバッファ62内のデータの変
化を見ながら図を用いて説明する。図3は本発明の実施
の形態2に係るデータのキャッシュ方法におけるキャッ
シュデータの変化の一例を示す説明図である。キャッシ
ュデータは、(a)、(b)、(c)、(d)の順に変
化し、その構成は、62はリードバッファ、32はリー
ドデータ、33は先読みデータ、34はマージン、35
は先読みデータ、36はマージン、37はキャッシュデ
ータ、38はキャッシュデータである。
【0024】次に本発明の実施の形態2によるデータの
キャッシュ方法の動作について図3を用いて説明する。
計算機63が記憶媒体61の50〜52番地のデータを
リード要求した場合には、図示しない読み出し装置が記
憶媒体61の50〜52番地のデータを読み出し、図3
(a)に示すように読み出したリードデータ32をリー
ドバッファ62の先頭にバッファリングしてから計算機
63に転送する。その後、記憶媒体61の53番地以降
のデータを、リードバッファ62の終端位置に五番地分
設定されていて、先読みデータは記録しないマージン3
4を除いたリードバッファ62の空き部分に書き込める
だけ記憶媒体61から先読みし、図3(b)に示すよう
に、先読みした53〜100番地のデータである先読み
データ33をリードデータ32に続けてマージン34の
手前までバッファリングする。
【0025】次に、計算機63が記憶媒体61の56〜
61番地のデータをリード要求されたとする。56〜6
1番地のデータのすべてがリードバッファ62内にあ
り、キャッシュヒットしているので、リードバッファ6
2からそのキャッシュデータ37は計算機63に転送さ
れる。その後、図3(c)に示すように、キャッシュデ
ータ37の先頭位置がリードバッファ62の先頭位置
に、リードバッファ62の先頭位置の一番地前がリード
バッファ62の終端位置に設定され、マージン36はマ
ージン34と同じサイズである五番地分リードバッファ
62の終端位置に設定される。その後、記憶媒体61の
101番地以降のデータを先読みし、マージン34の先
頭位置からマージン36の手前まで書き込めるだけ先読
みする。図3(c)に示すように先読みした101〜1
06番地のデータである先読みデータ35をバッファリ
ングする。ここで、リードバッファ62はリング構造に
なっている。
【0026】次に、計算機63が前回リード要求された
記憶媒体61の56〜61番地のデータより前の番地の
51〜53番地のデータをリード要求した場合には、図
3(d)に示すように、51〜53番地のデータはリー
ドバッファ62内にあり、キャッシュヒットしているの
で、リードバッファ62からそのキャッシュデータ38
は計算機63に転送される。また、リード開始位置のデ
ータである51番地のデータは、マージン36の先頭位
置のデータなのでデータの先読みを行う必要はない。
【0027】このように本発明の実施の形態2によるデ
ータのキャッシュ方法によれば、リードバッファの終端
位置に先読みデータによって上書きされない任意のサイ
ズのマージンが設定してあることとしたので、前回リー
ド要求された際のデータがリードバッファ内に残ること
になり、キャッシュデータを効率よく有効に活用できる
効果を有する。
【0028】また、リード要求されたすべてのデータが
キャッシュヒットした場合には、キャッシュデータの先
頭位置がリードバッファの先頭位置に、リードバッファ
の先頭位置の一番地前がバッファの終端位置に設定変更
し、バッファの終端位置に設けているマージンの位置も
変更するので、前回リード要求された際のデータがリー
ドバッファ内に残ることになり、キャッシュデータを効
率よく有効に活用できる効果を有する。
【0029】(実施の形態3)以下に、本発明の実施の
形態3によるデータのキャッシュ方法について図を用い
て説明する。本発明の実施の形態3によるデータのキャ
ッシュ方法を適用する装置の構成は、図6に示す従来の
データのキャッシュ方法を適用する装置の構成と同じで
あるので、説明を省略する。
【0030】本発明の実施の形態3に係るデータのキャ
ッシュ方法についてリードバッファ62内のデータの変
化を見ながら図を用いて説明する。図4は本発明の実施
の形態3に係るデータのキャッシュ方法におけるキャッ
シュデータの変化の一例を示す説明図である。キャッシ
ュデータは、(a)、(b)、(c)の順に変化し、そ
の構成は、62はリードバッファ、32はリードデー
タ、33は先読みデータ、34はマージン、44はリー
ドデータである。
【0031】次に本発明の実施の形態3によるデータの
キャッシュ方法の動作について、図4を用いて説明す
る。計算機63が記憶媒体61の50〜52番地のデー
タをリード要求した場合には、図示しない読み出し装置
が記憶媒体61の50〜52番地のデータを読み出し、
図4(a)に示すように、読み出したリードデータ32
をリードバッファ62の先頭位置にバッファリングして
からデータのバッファリング処理を終了し、前記リード
要求されたデータをリードバッファ62から計算機63
に転送する。その後、記憶媒体61の53番地以降のデ
ータを、リードバッファ62の終端位置に五番地分設定
されているマージン34を除いた、リードバッファ62
の空き部分に書き込めるだけ先読みし、図4(b)に示
すように、先読みした53〜100番地のデータである
先読みデータ33を、リードデータ32に続けてマージ
ン34の手前までバッファリングする。
【0032】次に、計算機63が記憶媒体61の48〜
52番地のデータをリード要求されたとする。50〜5
2番地のデータはすでにリードバッファ62に格納され
ている。48、49番地のデータはリードバッファ62
に格納されていない。さらに前記格納されていないデー
タのサイズが、マージン34よりも小さい。この場合
は、記憶媒体61から48、49番地のデータを読み出
す。図4(c)に示すように読み出したリードデータ4
4をリードバッファ62内のデータが連続となるように
マージン34の終端位置にバッファリングする。そし
て、記憶媒体61の48〜52番地のデータを計算機6
3に転送する。ここで、リードバッファ62はリング構
造になっている。
【0033】このように本実施の形態3によるデータの
キャッシュ方法によれば、リードバッファの終端位置に
先読みデータによって上書きされないマージンを設定
し、リード要求されたデータの一部がリードバッファに
格納されている場合に、リードバッファに格納されてい
ないデータのみを記憶媒体から読み出して、マージンの
終端位置にバッファリングし、計算機に転送するので、
リードバッファ内のすべてのデータを書き換える必要が
ないので、キャッシュデータを効率よく有効に活用でき
る効果を有する。
【0034】(実施の形態4)以下に、本発明の実施の
形態4によるデータのキャッシュ方法について図を用い
て説明する。本発明の実施の形態4によるデータのキャ
ッシュ方法を適用する装置の構成は、図6に示す従来の
データのキャッシュ方法を適用する装置の構成と同じで
あるので、説明を省略する。
【0035】本発明の実施の形態4に係るデータのキャ
ッシュ方法についてリードバッファ62内のデータの変
化を見ながら図を用いて説明する。図5は本発明の実施
の形態4に係るデータのキャッシュ方法におけるキャッ
シュデータの変化の一例を示す説明図である。キャッシ
ュデータは、(a)、(b)、(c)、(d)、(e)
の順に変化し、その構成は、62はリードバッファ、3
2はリードデータ、33は先読みデータ、34はマージ
ン、44はリードデータ、54はリードデータ、55は
マージンの増加分、56はマージン、57は先読みデー
タ、58はリードデータ、59はマージンである。
【0036】次に、本発明の実施の形態4によるデータ
のキャッシュ方法の動作について、図5を用いて説明す
る。計算機63が記憶媒体61の50〜52番地のデー
タをリード要求した場合には、図示しない読み出し装置
が記憶媒体61の50〜52番地のデータを読み出し、
図5(a)に示すように、読み出したリードデータ32
をリードバッファ62の先頭にバッファリングしてデー
タのバッファリング処理を終了し、前記リード要求され
たデータをリードバッファ62から計算機63に転送す
る。その後、記憶媒体61の53番地以降のデータを、
リードバッファ62の終端位置に五番地分設定されてい
るマージン34を除いた、リードバッファ62の空き部
分に書き込めるだけ先読みし、図5(b)に示すよう
に、先読みした53〜100番地のデータである先読み
データ33をリードデータ32に続けてマージン34の
手前までバッファリングする。
【0037】次に、計算機63が記憶媒体61の44〜
52番地のデータをリード要求されたとする。50〜5
2番地のデータはすでにリードバッファ62に格納され
ている。44〜49番地のデータはリードバッファ62
に格納されていない。さらに、前記格納されていないデ
ータのサイズが、マージン34よりも大きい。この場合
は、記憶媒体61の44〜52番地のデータを再度読み
出し、図5(c)に示すように、再度読み出したリード
データ54をリードバッファ62の先頭にバッファリン
グしてから計算機63に転送する。そして、前記格納さ
れていなかったデータのサイズと同じサイズにマージン
のサイズを変更する。バッファリングされていなかった
データのサイズは六番地分であり、マージン34のサイ
ズは五番地分なので、マージン増加分55は一番地分で
あり新しく六番地分のマージン56を、リードバッファ
62の終端部分に設定しなおす。その後、記憶媒体61
の53番地以降のデータをリードバッファ62のマージ
ン56を除いた空き部分に書き込めるだけ記憶媒体61
から先読みし、図5(d)に示すように、先読みした5
3〜93番地のデータである先読みデータ57をリード
データ54に続けてマージン56の手前までバッファリ
ングする。
【0038】次に、計算機63が記憶媒体61の38〜
46番地のデータをリード要求されたとする。44〜4
6番地のデータはすでにリードバッファ62に格納され
ている。38〜43番地のデータはリードバッファ62
に格納されていない。さらに、前記格納されていないデ
ータのサイズが、マージン56と同じサイズである。こ
の場合は、記憶媒体61から38〜43番地のデータを
読み出す。図5(e)に示すように、読み出したリード
データ58をマージン56の先頭からバッファリングす
る。ここで、リードバッファ62はリング構造になって
いる。そして、前記リード要求されたデータを計算機6
3に転送する。その後、リードデータ58の先頭位置が
リードバッファ62の先頭位置に、リードバッファ62
の先頭位置の一番地手前がリードバッファの終端位置に
設定され、マージン59はマージン56と同じサイズで
ある六番地分リードバッファ62の終端位置に設定しな
おされる。
【0039】このように本発明の実施の形態4に記載の
データのキャッシュ方法によれば、リードバッファの終
端位置に先読みデータによって上書きされないマージン
を設定し、リード要求されたデータの一部がリードバッ
ファに格納されている場合に、リードバッファに格納さ
れていないデータのサイズがマージンのサイズよりも大
きい場合は、マージンのサイズを、該格納されていない
データのサイズに再設定するので、マージンが常に最適
なサイズとなり、キャッシュデータを効率よく有効に活
用できる効果を有する。
【0040】
【発明の効果】以上のように、本発明の請求項1に記載
のデータのキャッシュ方法によれば、記憶媒体に格納さ
れているデータを、計算機がリード要求する際に、リー
ドバッファを用いてデータをキャッシュするデータのキ
ャッシュ方法において、前記記憶媒体に格納されている
前記リード要求されたデータのそれぞれが、前記リード
バッファに既にバッファリングされているデータとキャ
ッシュヒットするか否かを判断するステップと、前記キ
ャッシュヒット判断において、リード要求されたデータ
又はその一部がキャッシュヒットしていない場合は、前
記リード要求されたデータのうちキャッシュヒットしな
いもののみを前記記憶媒体から読み出し、前記リードバ
ッファにキャッシュヒットしているデータと続くように
バッファリングするステップと、前記バッファリングを
行った後、前記リードバッファにある前記リード要求さ
れたデータを前記計算機に転送するステップと、前記リ
ード要求されたデータを前記リードバッファから前記計
算機へ転送後、前記記憶媒体から、該記憶媒体に前記リ
ード要求されたデータに続いて格納されているデータを
先読みして、前記リードバッファにある前記リード要求
されたデータに続くように前記リードバッファにバッフ
ァリングするステップとを備えたので、計算機がリード
要求したデータのすべてのデータについてキャッシュヒ
ットしているかを判断し、キャッシュヒットしていない
データのみを記憶媒体から読み出して、前記リードバッ
ファにバッファリングするようにしたので、前記リード
バッファ内のデータをすべて書き換える必要が無く、キ
ャッシュデータを効率よく有効に活用することができる
効果を有する。
【0041】また、本発明の請求項2に記載のデータの
キャッシュ方法によれば、請求項1に記載のデータのキ
ャッシュ方法において、前記リードバッファにある前記
リード要求されたデータと連続となるように前記リード
バッファにデータが既に格納されている場合は、前記先
読みステップは行わないようにしたので、前記リードバ
ッファに既にあるデータを上書きする必要が無く、キャ
ッシュデータを効率よく有効に活用することができる。
【0042】また、本発明の請求項3に記載のデータの
キャッシュ方法によれば、請求項2に記載のデータのキ
ャッシュ方法において、前記キャッシュヒット判断にお
いて、前記リード要求されたデータのうち少なくとも最
後尾のデータがキャッシュヒットすると判断した場合に
は、前記リード要求されたデータのうちキャッシュヒッ
トしないもののみを前記記憶媒体から読み出し、これ
を、前記リードバッファに既にバッファリングされてい
るキャッシュヒットしているデータがこれに続くよう
に、該キャッシュヒットしているデータの手前にバッフ
ァリングするようにしたので、前回、計算機がリード要
求されたデータより前の番地をリード要求した場合で
も、リード要求されたすべてのデータを前記記憶媒体か
ら再度読み出す必要がなく、前記リードバッファより計
算機に転送でき、キャッシュデータを効率よく有効に活
用できる効果を有する。
【0043】また、本発明の請求項4に記載のデータの
キャッシュ方法によれば、請求項3に記載のデータのキ
ャッシュ方法において、前記リードバッファの終端位置
に、前記先読みしたデータを記録しない任意の大きさの
マージンを設け、前記リード要求されたデータのうちキ
ャッシュヒットしないデータのサイズが前記マージンの
サイズ以下であれば、前記リードバッファにあるデータ
と連続となるように、前記キャッシュヒットしないデー
タを前記記憶媒体から読み出し、前記マージンにバッフ
ァリングするようにしたので、リードバッファ内のすべ
てのデータを書き換える必要が無く、キャッシュデータ
を効率よく有効に活用できる効果を有する。
【0044】また、本発明の請求項5に記載のデータの
キャッシュ方法によれば、請求項4に記載のデータのキ
ャッシュ方法において、前記先読みしたデータのバッフ
ァリングの後に、前記リード要求されたデータの直前に
前記マージンを再設定するようにしたので、前記マージ
ンが常時、前記リードバッファ内のデータの終端部分に
設定されていることとなり、キャッシュデータを効率よ
く有効に活用できる効果を有する。
【0045】また、本発明の請求項6に記載のデータの
キャッシュ方法によれば、請求項5に記載のデータのキ
ャッシュ方法において、前記マージンのサイズが、過去
のバッファリングの状況に基づいて任意のサイズに変更
することができるものとしたので、マージンが常に最適
なサイズとなり、キャッシュデータを効率よく有効に活
用できる効果を有する。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るデータのキャッシ
ュ方法におけるリードバッファのバッファリング手順を
示すフローチャートである。
【図2】本発明の実施の形態1に係るデータのキャッシ
ュ方法におけるキャッシュデータの変化の一例を示す説
明図である。
【図3】本発明の実施の形態2に係るデータのキャッシ
ュ方法においてリード要求されたデータの全てがキャッ
シュヒットする場合にキャッシュデータの変化の一例を
示す説明図である。
【図4】本発明の実施の形態3に係るデータのキャッシ
ュ方法においてリード要求されたデータの一部がキャッ
シュヒットする場合にキャッシュデータの変化の一例を
示す説明図である。
【図5】本発明の実施の形態4に係るデータのキャッシ
ュ方法においてマージンのサイズを再設定する場合にキ
ャッシュデータの変化の一例を示す説明図である。
【図6】従来のデータのキャッシュ方法を適用する装置
の一例を示す構成図である。
【図7】従来のデータのキャッシュ方法におけるキャッ
シュデータの変化の一例を示す説明図である。
【符号の説明】
22 リードデータ(50〜52番地) 23 先読みデータ(53〜101番地) 24 リードデータ(48〜49番地) 32 リードデータ(50〜52番地) 33 先読みデータ(53〜101番地) 34 先読みデータ33をバッファリングする際のマー
ジン 35 先読みデータ(101〜106番地) 36 先読みデータ35をバッファリングする際のマー
ジン 37 キャッシュヒットしたキャッシュデータ(56〜
61番地) 38 キャッシュヒットしたキャッシュデータ(51〜
53番地) 44 リードデータ(48〜49番地) 54 リードデータ(44〜52番地) 55 マージン増加分 56 先読みデータ57をバッファリングする際のマー
ジン 57 先読みデータ(53〜93番地) 58 リードデータ(38〜43番地) 59 リードデータ58のリード後に設定されたマージ
ン 61 記憶媒体 62 リードバッファ 63 計算機 72 リードデータ(50〜52番地) 73 先読みデータ(53〜101番地) 74 リードデータ(48〜50番地) 75 先読みデータ(51〜99番地)
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成13年1月12日(2001.1.1
2)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項5
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】また、請求項5に記載の発明に係るデータ
のキャッシュ方法は、請求項4に記載のデータのキャッ
シュ方法において、前記先読みステップのに、前記リ
ード要求されたデータの直前に前記マージンを再設定す
ることを特徴とする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0044
【補正方法】変更
【補正内容】
【0044】また、本発明の請求項5に記載のデータの
キャッシュ方法によれば、請求項4に記載のデータのキ
ャッシュ方法において、前記先読みしたデータのバッフ
ァリングのに、前記リード要求されたデータの直前に
前記マージンを再設定するようにしたので、前記マージ
ンが常時、前記リードバッファ内のデータの終端部分に
設定されていることとなり、キャッシュデータを効率よ
く有効に活用できる効果を有する。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/08 320 G06F 12/08 320 12/12 12/12 A (72)発明者 斎藤 文俊 香川県高松市古新町8番地の1 松下寿電 子工業株式会社内 (72)発明者 松木 広美 香川県高松市古新町8番地の1 松下寿電 子工業株式会社内 Fターム(参考) 5B005 JJ13 MM03 NN12 QQ06 UU43 5B065 BA03 CE12 CE14 CH02 CH05 5B082 FA12

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 記憶媒体に格納されているデータを、計
    算機がリード要求する際に、リードバッファを用いてデ
    ータをキャッシュするデータのキャッシュ方法におい
    て、 前記記憶媒体に格納されているデータで、リード要求さ
    れたデータが、前記リードバッファに既にバッファリン
    グされているデータとキャッシュヒットするか否かを判
    断するステップと、 前記キャッシュヒット判断において、リード要求された
    データ又はその一部がキャッシュヒットしていない場合
    は、前記リード要求されたデータのうちキャッシュヒッ
    トしていないもののみを前記記憶媒体から読み出し、前
    記リードバッファにキャッシュヒットしているデータと
    連続となるようにバッファリングするバッファリングス
    テップと、 前記バッファリングを行った後、前記リードバッファに
    ある前記リード要求されたデータを前記計算機に転送す
    るステップと、 前記リード要求されたデータを前記リードバッファから
    前記計算機へ転送後、前記記憶媒体から、該記憶媒体に
    前記リード要求されたデータに続いて格納されているデ
    ータを先読みして、前記リードバッファにある前記リー
    ド要求されたデータに続くように前記リードバッファに
    バッファリングする先読みステップとを備えた、 ことを特徴とするデータのキャッシュ方法。
  2. 【請求項2】 請求項1に記載のデータのキャッシュ方
    法において、 前記先読みステップは、前記リードバッファにある前記
    リード要求されたデータと連続となるように前記リード
    バッファにデータが既に格納されている場合は、該先読
    みを行わないものである、 ことを特徴とするデータのキャッシュ方法。
  3. 【請求項3】 請求項2に記載のデータのキャッシュ方
    法において、 前記バッファリングステップは、前記キャッシュヒット
    判断において、前記リード要求されたデータのうち少な
    くとも最後尾のデータがキャッシュヒットすると判断し
    た場合は、前記リード要求されたデータのうちキャッシ
    ュヒットしないもののみを前記記憶媒体から読み出し、
    これを、これに前記リードバッファに既にバッファリン
    グされているキャッシュヒットしているデータが続くよ
    うに、該キャッシュヒットしているデータの手前にバッ
    ファリングする、 ことを特徴とするデータのキャッシュ方法。
  4. 【請求項4】 請求項3に記載のデータのキャッシュ方
    法において、 前記リードバッファの終端位置に、前記先読みしたデー
    タを記録しない任意の大きさのマージンを設け、 前記リード要求されたデータのうちキャッシュヒットし
    ないデータのサイズが前記マージンのサイズ以下であれ
    ば、前記リードバッファにあるデータと連続となるよう
    に、前記キャッシュヒットしないデータを前記記憶媒体
    から読み出し、前記マージンにバッファリングする、 ことを特徴とするデータのキャッシュ方法。
  5. 【請求項5】 請求項4に記載のデータのキャッシュ方
    法において、 前記先読みステップの後に、前記リード要求されたデー
    タの直前に前記マージンを再設定する、 ことを特徴とするデータのキャッシュ方法。
  6. 【請求項6】 請求項5に記載のデータのキャッシュ方
    法において、 前記マージンのサイズが、過去のバッファリングの状況
    に基づいて任意の大きさに変更することができる、 ことを特徴とするデータのキャッシュ方法。
JP32744099A 1999-11-17 1999-11-17 データのキャッシュ方法 Pending JP2001142652A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP32744099A JP2001142652A (ja) 1999-11-17 1999-11-17 データのキャッシュ方法
US09/889,385 US6766415B1 (en) 1999-11-17 2000-11-16 Data caching method
PCT/JP2000/008072 WO2001037074A1 (fr) 1999-11-17 2000-11-16 Gestion en antememoire des donnees
IDW00200101803A ID30285A (id) 1999-11-17 2000-11-16 Metoda peng-cache-an data
TW089124240A TW582026B (en) 1999-11-17 2000-11-16 Cache method for data
KR10-2001-7008916A KR100449111B1 (ko) 1999-11-17 2000-11-16 데이터 캐싱 방법
CN00802862A CN1337019A (zh) 1999-11-17 2000-11-16 数据的高速缓冲存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32744099A JP2001142652A (ja) 1999-11-17 1999-11-17 データのキャッシュ方法

Publications (1)

Publication Number Publication Date
JP2001142652A true JP2001142652A (ja) 2001-05-25

Family

ID=18199203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32744099A Pending JP2001142652A (ja) 1999-11-17 1999-11-17 データのキャッシュ方法

Country Status (7)

Country Link
US (1) US6766415B1 (ja)
JP (1) JP2001142652A (ja)
KR (1) KR100449111B1 (ja)
CN (1) CN1337019A (ja)
ID (1) ID30285A (ja)
TW (1) TW582026B (ja)
WO (1) WO2001037074A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156677A (zh) * 2011-04-19 2011-08-17 威盛电子股份有限公司 快取存储器存取方法及***

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155166A1 (en) * 2006-12-22 2008-06-26 Fujitsu Limited Application specific processor for controlling data buffer manager
CN102567222A (zh) * 2010-12-15 2012-07-11 北京兆易创新科技有限公司 一种数据的存取方法和装置
CN112363677B (zh) * 2020-12-01 2023-03-31 浙江华忆芯科技有限公司 读请求的处理方法、装置和存储介质及电子装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594885A (en) * 1991-03-05 1997-01-14 Zitel Corporation Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry
JPH06110613A (ja) 1992-09-26 1994-04-22 Ricoh Co Ltd 情報記憶装置コントローラ
JP2576775B2 (ja) * 1993-10-08 1997-01-29 日本電気株式会社 磁気テープ先読み制御装置
JPH07319630A (ja) * 1994-05-27 1995-12-08 Nec Corp バッファ容量決定方式
JP2900801B2 (ja) * 1994-10-27 1999-06-02 ティアック株式会社 光ディスク再生装置
JPH10208255A (ja) 1997-01-24 1998-08-07 Matsushita Electric Ind Co Ltd 光ディスク再生方法及び光ディスク装置
US6092149A (en) * 1997-05-28 2000-07-18 Western Digital Corporation Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses
US6141728A (en) * 1997-09-29 2000-10-31 Quantum Corporation Embedded cache manager
JP3412498B2 (ja) * 1998-03-11 2003-06-03 ティアック株式会社 光ディスク再生装置
JPH11296309A (ja) * 1998-04-08 1999-10-29 Sony Corp 再生装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156677A (zh) * 2011-04-19 2011-08-17 威盛电子股份有限公司 快取存储器存取方法及***
CN102156677B (zh) * 2011-04-19 2014-04-02 威盛电子股份有限公司 快取存储器存取方法及***

Also Published As

Publication number Publication date
KR100449111B1 (ko) 2004-09-16
ID30285A (id) 2001-11-15
US6766415B1 (en) 2004-07-20
WO2001037074A1 (fr) 2001-05-25
TW582026B (en) 2004-04-01
KR20010101533A (ko) 2001-11-14
CN1337019A (zh) 2002-02-20

Similar Documents

Publication Publication Date Title
JP3016575B2 (ja) 複数キャッシュ・メモリ・アクセス方法
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
JP3183993B2 (ja) ディスク制御システム
JP3289661B2 (ja) キャッシュメモリシステム
US20050268046A1 (en) Compressed cache lines incorporating embedded prefetch history data
JP2007011523A (ja) データの先読み方法及び計算機システム
TW200842572A (en) Method and apparatus for setting cache policies in a processor
JP2001188706A (ja) ディスク制御装置
KR20080014402A (ko) 컴퓨터 그래픽스 데이터 처리방법과 데이터 처리장치
US11645209B2 (en) Method of cache prefetching that increases the hit rate of a next faster cache
JP3920931B2 (ja) キャッシュされたデータを読出しおよび書込む方法ならびにデータをキャッシングする装置
JP2001142652A (ja) データのキャッシュ方法
CN110716887B (zh) 一种支持写暗示的硬件高速缓存数据装入方法
JP2943896B2 (ja) 計算機システム及びディスク・データの制御方法
JP7170093B2 (ja) 記憶デバイスのための改良された先読み能力
JP2002108705A (ja) キャッシュ汚染減少方法および装置
JPH06103169A (ja) 中央演算処理装置のリードデータプリフェッチ機構
US7055005B2 (en) Methods and apparatus used to retrieve data from memory into a RAM controller before such data is requested
TWI243999B (en) Apparatus and related method for maintaining read caching data of south bridge with north bridge
JP2004240616A (ja) メモリコントローラ及びメモリアクセス制御方法
JPH04340637A (ja) キャッシュ制御方式
JP5816987B2 (ja) メモリ格納情報読出し方法及びメモリインターフェース
JP3221409B2 (ja) キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体
US7051162B2 (en) Methods and apparatus used to retrieve data from memory before such data is requested
JPH06266618A (ja) エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置