JP2001188706A - ディスク制御装置 - Google Patents

ディスク制御装置

Info

Publication number
JP2001188706A
JP2001188706A JP37307299A JP37307299A JP2001188706A JP 2001188706 A JP2001188706 A JP 2001188706A JP 37307299 A JP37307299 A JP 37307299A JP 37307299 A JP37307299 A JP 37307299A JP 2001188706 A JP2001188706 A JP 2001188706A
Authority
JP
Japan
Prior art keywords
read request
request
history element
history
read
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.)
Granted
Application number
JP37307299A
Other languages
English (en)
Other versions
JP4060506B2 (ja
Inventor
Ikuo Uchibori
郁夫 内堀
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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Priority to JP37307299A priority Critical patent/JP4060506B2/ja
Priority to US09/663,714 priority patent/US6516389B1/en
Publication of JP2001188706A publication Critical patent/JP2001188706A/ja
Application granted granted Critical
Publication of JP4060506B2 publication Critical patent/JP4060506B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6024History based prefetching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】データ読み出し時にアクセスの履歴を利用して
より有効にプリフェッチを行うことで、ディスクキャッ
シュのヒット率の向上を図る。 【解決手段】ホスト装置20から与えられた読み出し要
求の履歴を記憶するプリフェッチ予測テーブル122を
設ける。ディスク制御装置12内のコントローラ123
は、ホスト装置20から与えられた読み出し要求の要求
先を示す領域アドレスbを予測アドレスbとして、前回
要求時の要求先を示す領域アドレスaと当該予測アドレ
スbとの組を含むエントリ情報を、プリフェッチ予測テ
ーブル122の対応エントリに登録する。その後、当該
エントリ情報中の領域アドレスaに一致する領域アドレ
スaを指定する読み出し要求がホスト装置20から与え
られた場合、コントローラ123は当該エントリ情報中
の予測アドレスbに従ってHDD11からディスクキャ
ッシュ121へのプリフェッチを行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システムに
おいて使用される、ディスクキャッシュ機構を備えたデ
ィスク制御装置に係り、特にデータ読み出し要求に先立
って、ディスクキャッシュへのプリフェッチを効率的に
行うことによって、データ読み出し時のディスクキャッ
シュヒット率の向上を図ったディスク制御装置に関す
る。
【0002】
【従来の技術】磁気ディスク装置等を用いて構成される
ディスク記憶装置は、読み出し/書き込みを高速化する
ために、半導体メモリで構成された(ディスクキャッシ
ュメモリを含む)ディスクキャッシュ機構(ディスクキ
ャッシュ)を備えるのが一般的である。特に複数のディ
スク装置(ディスクドライブ)を使用したRAID(Re
dundant Arrays of Inexpensive Disks)装置において
は、大容量のキャッシュメモリを搭載する例が多い。
【0003】しかし多くの場合、ディスクキャッシュ
は、データ書き込み用のバッファとして、ホストコンピ
ュータ(ホスト装置)からの書き込みを見かけ上高速化
する効果は大きいが、データ読み出しにおいては、高速
化の効果は小さい。これは、ディスク記憶装置への読み
出し要求には局所性がない場合が多いため、キャッシュ
のヒット率が低いことによる。
【0004】データ読み出し要求に先立って、ディスク
装置からディスクキャッシュへのプリフェッチを行え
ば、ヒット率を改善することができる。ところが、実際
には、どこからプリフェッチを行えばよいのかが確定で
きない。そこで従来は、シーケンシャルな読み出しを想
定してプリフェッチを行っていた。
【0005】
【発明が解決しようとする課題】上記したようにディス
クキャッシュを備えた従来のディスク記憶装置では、シ
ーケンシャルな読み出しを想定してディスクキャッシュ
へのプリフェッチを行っていた。
【0006】しかし、ホストコンピュータからディスク
記憶装置へのデータ読み出し要求は、実際にはシーケン
シャルであるとは限らない。ホストコンピュータ側から
みると、実はファイル単位であったり、テーブルサーチ
であったり、或いは複数のファイルをセットで読み出し
たり、といった相関があっても、ディスク記憶装置側で
はそのようなパターンを知ることはできないので、単に
ランダムなアクセスとしてしか捉えられない。
【0007】このため従来は、ディスクキャッシュへの
プリフェッチは限られた場合にしか効果がなく、場合に
よっては全く効果がないこともあった。
【0008】本発明は上記事情を考慮してなされたもの
でその目的は、データ読み出し要求の受け付け時に、ア
クセスの履歴を利用して有効にプリフェッチを行うこと
で、ディスクキャッシュのヒット率の向上を図ることが
できるディスク制御装置を提供することにある。
【0009】
【課題を解決するための手段】本発明は、ディスク装置
上の一部のデータを一時記憶するためのディスクキャッ
シュを備えたディスクキャッシュ制御装置において、ホ
スト装置から与えられた読み出し要求の履歴が記憶され
る読み出し要求履歴記憶手段と、ホスト装置から読み出
し要求が与えられた場合に、要求されたデータを上記デ
ィスクキャッシュを利用してホスト装置に転送する読み
出し要求実行手段と、ホスト装置から与えられた読み出
し要求に基づき、対応する読み出し要求履歴要素を先行
する読み出し要求履歴要素にリンクさせて上記読み出し
要求履歴記憶手段に登録するための登録手段と、ホスト
装置から与えられた読み出し要求と上記読み出し要求履
歴記憶手段に記憶されている読み出し要求履歴とから、
次の読み出し要求の内容を予測し、該当するデータがデ
ィスクキャッシュに存在しない場合には、当該データを
ディスク装置からディスクキャッシュにプリフェッチす
るプリフェッチ手段とを備えたことを特徴とする。
【0010】このような構成においては、読み出し要求
履歴記憶手段にデータ読み出し要求の履歴を記録し、デ
ータ読み出し要求の受け付け時には、当該読み出し要求
の履歴を利用して次の要求を予測することで有効にプリ
フェッチを行うことができ、ディスクキャッシュのヒッ
ト率の向上を図ることが可能となる。
【0011】ここで、ホスト装置から与えられた読み出
し要求により要求されたデータに後続するデータをシー
ケンシャルプリフェッチする周知のシーケンシャルプリ
フェッチ手段を付加し、このシーケンシャルプリフェッ
チ手段によるプリフェッチと、上記プリフェッチ手段に
よる新規なプリフェッチとを併用するならば、ディスク
キャッシュのヒット率を一層向上することが可能とな
る。
【0012】また、上記読み出し要求履歴記憶手段のデ
ータ構造としては、各読み出し要求について、対応す読
み出し要求履歴要素を第1の読み出し要求履歴要素と
し、後続する読み出し要求の読み出し要求履歴要素を第
2の読み出し要求履歴要素として含む履歴要素組の形式
で記憶するデータ構造を適用するとよい。この場合、上
記プリフェッチ手段は、ホスト装置から与えられた読み
出し要求に対応する読み出し要求履歴要素を第1の読み
出し要求履歴要素とする履歴要素組中の第2の読み出し
要求履歴要素に従ってプリフェッチを行えばよい。ここ
で、読み出し要求に対応する読み出し要求履歴要素に
は、要求先を示す要求先アドレス情報を用いるとよい。
この場合の読み出し要求履歴記憶手段のデータ構造を第
1のデータ構造と呼ぶ。
【0013】また、上記の構成において、上記登録手段
に新規登録手段と変更登録手段とを持たせ、ホスト装置
から読み出し要求が与えられ、且つ先行する読み出し要
求に対応する第1の読み出し要求履歴要素を含む履歴要
素組が読み出し要求履歴記憶手段に存在しない場合に、
上記先行する読み出し要求に対応する第1の読み出し要
求履歴要素と、与えられた読み出し要求に対応する第2
の読み出し要求履歴要素とを含む履歴要素組を読み出し
要求履歴記憶手段に新規登録し、先行する読み出し要求
に対応する第1の読み出し要求履歴要素を含む履歴要素
組が読み出し要求履歴記憶手段に存在する場合で、少な
くとも、与えられた読み出し要求に対応する第2の読み
出し要求履歴要素が当該履歴要素組に含まれない場合
に、当該履歴要素組中の第2の読み出し要求履歴要素を
与えられた読み出し要求に対応する第2の読み出し要求
履歴要素に変更する構成を適用するとよい。
【0014】また、読み出し要求履歴記憶手段のデータ
構造として、上記第1のデータ構造に代えて、各読み出
し要求について、当該要求の示す要求先アドレス情報に
おける所定の単位領域が指定可能な所定アドレス部分を
第1の読み出し要求履歴要素とし、当該要求の後に当該
要求とは上記所定アドレス部分が異なる要求先アドレス
情報を最初に示した読み出し要求の当該要求先アドレス
情報を第2の読み出し要求履歴要素として含む履歴要素
組の形式で記憶する第2のデータ構造を適用するとよ
い。この場合、上記プリフェッチ手段は、ホスト装置か
ら与えられた読み出し要求の示す要求先アドレス情報の
所定アドレス部分を第1の読み出し要求履歴要素とする
履歴要素組中の第2の読み出し要求履歴要素に従ってプ
リフェッチを行えばよい。
【0015】ここでは、ホスト装置から要求先アドレス
情報の所定アドレス部分が前回とは異なる読み出し要求
が与えられ、且つ前回の読み出し要求に対応する第1の
読み出し要求履歴要素を含む履歴要素組が存在しない場
合に、上記前回の読み出し要求に対応する第1の読み出
し要求履歴要素と、与えられた読み出し要求に対応する
第2の読み出し要求履歴要素とを含む履歴要素組を新規
登録し、前回の読み出し要求に対応する第1の読み出し
要求履歴要素を含む履歴要素組が存在する場合で、少な
くとも、与えられた読み出し要求に対応する第2の読み
出し要求履歴要素が当該履歴要素組に含まれない場合
に、当該履歴要素組中の第2の読み出し要求履歴要素を
与えられた読み出し要求に対応する第2の読み出し要求
履歴要素に変更する構成を適用するとよい。
【0016】上記第2のデータ構造の読み出し要求履歴
記憶手段を用いた構成では、先行する読み出し要求に対
してシーケンシャルな読み出しとなる読み出し要求につ
いては、読み出し要求履歴記憶手段への登録が抑止され
るため、読み出し要求履歴記憶手段のサイズを圧縮する
ことができる。
【0017】また、読み出し要求履歴記憶手段のデータ
構造として、各読み出し要求について、当該要求の示す
要求先アドレス情報を第1の読み出し要求履歴要素と
し、当該要求の後に当該要求の示す要求先アドレス情報
から始まるシーケンシャルな読み出しから最初に外れる
読み出し要求の示す要求先アドレス情報を第2の読み出
し要求履歴要素とする履歴要素組であって、上記シーケ
ンシャルな読み出しでの連続アクセス数の情報を含む履
歴要素組の形式で記憶する第3のデータ構造を適用する
と、なおよい。この場合、上記プリフェッチ手段は、ホ
スト装置から与えられた読み出し要求の示す要求先アド
レス情報を第1の読み出し要求履歴要素とする履歴要素
組中の第2の読み出し要求履歴要素と対応する連続アク
セス数とに従ってプリフェッチを行えばよい。
【0018】ここでは、ホスト装置からシーケンシャル
な読み出しから外れる読み出し要求が与えられ、且つ当
該シーケンシャルな読み出しの要求先アドレス情報を示
す読み出し要求である前回読み出し要求に対応する第1
の読み出し要求履歴要素を含む履歴要素組が読み出し要
求履歴記憶手段に存在しない場合に、上記前回の読み出
し要求に対応する第1の読み出し要求履歴要素と、与え
られた読み出し要求に対応する第2の読み出し要求履歴
要素と、当該シーケンシャルな読み出しでの連続アクセ
ス数の情報とを含む履歴要素組を新規登録し、前回の読
み出し要求に対応する第1の読み出し要求履歴要素を含
む履歴要素組が存在する場合で、少なくとも、与えられ
た読み出し要求に対応する第2の読み出し要求履歴要素
が当該履歴要素組に含まれない場合に、当該履歴要素組
中の第2の読み出し要求履歴要素を与えられた読み出し
要求に対応する第2の読み出し要求履歴要素に変更する
と共に、当該履歴要素組中の連続アクセス数の情報を当
該シーケンシャルな読み出しの連続アクセス数の情報に
変更する構成を適用するとよい。
【0019】上記第3のデータ構造の読み出し要求履歴
記憶手段を用いた構成では、プリフェッチ手段によるプ
リフェッチを、ホスト装置から与えられた読み出し要求
の示す要求先アドレス情報を第1の読み出し要求履歴要
素とする履歴要素組中の第2の読み出し要求履歴要素
と、対応する連続アクセス数とに従って行うことができ
るため、無駄なプリフェッチの発生を抑え、効率的なプ
リフェッチが実現可能となる。また、シーケンシャルプ
リフェッチを併用する場合も、ホスト装置から与えられ
た読み出し要求により要求されたデータに後続するデー
タを、当該読み出し要求に対応する第1の読み出し要求
履歴要素と組をなして読み出し要求履歴記憶手段に記憶
されている連続アクセス数情報に従ってシーケンシャル
プリフェッチできるため、効率的なシーケンシャルプリ
フェッチが実現可能となる。
【0020】また、上記第3のデータ構造に代えて、第
1の読み出し要求履歴要素に対応させて、複数の第2の
読み出し要求履歴要素を登録可能とした第4のデータ構
造を適用するならば、第1の読み出し履歴要素に対応す
る読み出し要求が与えられた場合に、複数の第2の読み
出し要求履歴要素と対応する連続アクセス数とに従っ
て、それぞれプリフェッチが行えることから、ディスク
キャッシュのヒット率をより一層向上することが可能と
なる。
【0021】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。 [第1の実施形態]図1は本発明の第1の実施形態に係
るディスク記憶装置を備えた計算機システムのブロック
構成図を示す。
【0022】図1において、ディスク記憶装置10は、
ホストコンピュータ(ホスト)20と所定のインタフェ
ース、例えばSCSI(Small Computer System Interf
ace)30により接続されている。なお、SCSI30
に代えて、Fibre Channel、IEEE1394等のチャネルイン
タフェース、或いはカードRAIDを想定すると、PC
I(Peripheral Component Interconnect Bus)等のホ
ストコンピュータ20の内部I/Oバスインタフェース
を用いることも可能である。
【0023】ディスク記憶装置10は、少なくとも1つ
のディスク装置、例えばRAIDに代表されるディスク
アレイをなす複数の磁気ディスク装置(以下、HDDと
称する)11と、SCSI30を介して送られるホスト
コンピュータ20からの要求に応じてディスク記憶装置
10全体を制御するディスク制御装置12とから構成さ
れる。
【0024】ディスク制御装置12は、半導体メモリで
構成された(ディスクキャッシュメモリを有する)ディ
スクキャッシュ(ディスクキャッシュ機構)121と、
プリフェッチ予測テーブル122と、これら各部を制御
するコントローラ123とを備えている。このディスク
制御装置12が従来の(ディスク記憶装置に設けられ
る)ディスク制御装置と大きく異なるのは、プリフェッ
チ予測テーブル122が付加されている点にある。な
お、プリフェッチ予測テーブル122が付加されたこと
で、コントローラ123の制御内容も従来と一部異な
る。またコントローラ123には、ホストコンピュータ
20からの前回のデータ読み出し要求で指定される領域
アドレスの情報を保持する保持手段としてのレジスタ
(以下、前回要求レジスタと称する)123aを有して
いる。このレジスタ123aはハードウェアレジスタ
(物理的なレジスタ)であっても、或いはコントローラ
123のメモリ上に確保されるソフトウェアレジスタ
(論理的なレジスタ)であっても構わない。
【0025】プリフェッチ予測テーブル122は、ホス
トコンピュータ20から送られたデータ読み出し要求の
指定する要求先ディスクアドレス(以下、領域アドレス
と称する)に基づき次に要求されるデータ、つまりディ
スクキャッシュ12へのプリフェッチの対象となるデー
タを予測するのに用いられる。
【0026】このプリフェッチ予測テーブル122の詳
細を説明する前に、当該テーブル122を付加するに至
った技術的背景について述べる。まず、ホストコンピュ
ータ20からディスク記憶装置10に対してデータ読み
だし要求があった場合、当該ディスク記憶装置10のデ
ィスク制御装置12に設けられたコントローラ123
は、ディスクキャッシュ121(内の図示せぬタグメモ
リ)を参照する。
【0027】もし、要求されたデータがディスクキャッ
シュ121に存在しないミスヒット時には、コントロー
ラ123はHDD11から該当するデータを読み出して
ディスクキャッシュ121に格納すると共に、当該デー
タをホストコンピュータ20に転送する。
【0028】これに対し、要求されたデータがディスク
キャッシュ121に存在するヒット時には、コントロー
ラ123はHDD11にはアクセスせずに、当該ディス
クキャッシュ121から該当するデータを読み出してホ
ストコンピュータ20に転送する。ここでディスクキャ
ッシュ121は半導体メモリで構成されているため、H
DD11よりも高速にアクセスできる。したがって、ホ
ストコンピュータ20からみると、ディスクキャッシュ
121にヒットした場合には、HDD11にアクセスし
ない分、高速にデータが読み出せることになる。つまり
ディスクキャッシュ121のヒット率が上がれば、ディ
スク記憶装置10は高速になるといえる。
【0029】さて、ディスクキャッシュ121のヒット
率を向上するには、ホストコンピュータ20からのデー
タ読み出し要求を上記の如く実行した場合に、当該要求
から次に要求されるデータを予測して、その予測したデ
ータを、ホストコンピュータ20による次の読み出し要
求の送出に先立って、HDD11からディスクキャッシ
ュ121にプリフェッチ(先読み)しておけばよい。こ
のようにすると、その後ホストコンピュータ20が、実
際に次のデータ読み出しを要求した場合には、該当デー
タは既にディスクキャッシュ121にあるので、高速に
データを読み出すことができる。
【0030】ここで問題となるのは、ホストコンピュー
タ20から次に要求されるデータをコントローラ123
が予測する手法である。従来技術では、単に前のデータ
に連続するデータが要求されると予測して、つまりシー
ケンシャルな読み出しを想定してプリフェッチを行って
いた。ところが、ホストコンピュータ20からディスク
記憶装置10へのデータ読み出し要求は[発明が解決し
ようとする課題]の欄でも述べたように、実際にはシー
ケンシャルであるとは限らないため、ディスクキャッシ
ュへのプリフェッチは限られた場合にしか効果がなく、
場合によっては全く効果がないこともあった。
【0031】そこで本実施形態では、ディスク制御装置
12内にアクセス(読み出し要求)の履歴が記録される
プリフェッチ予測テーブル122を付加し、当該テーブ
ル122を利用することでホストコンピュータ20から
要求されるデータを従来技術に比べて効果的に予測でき
るようにしている。
【0032】図1の構成では、プリフェッチ予測テーブ
ル122はコントローラ123に接続されていて、当該
テーブル122が専用のハードウェアとして用意されて
いるように示されている。しかし、プリフェッチ予測テ
ーブル122は、コントローラ123のメモリ(図示せ
ず)、或いはディスクキャッシュ121の一部の領域
に、論理的に構成されたものであっても構わない。ま
た、プリフェッチ予測テーブル122の構成としては、
ダイレクトマッピング、セットアソシアティブ、或いは
フルアソシアティブのいずれの方式を適用してもよい。
ここではフルアソシアティブ方式を適用するものとす
る。
【0033】プリフェッチ予測テーブル122の各エン
トリは、HDD11上の領域アドレスが(第1の読み出
し要求履歴要素として)設定されるフィールド(領域ア
ドレスフィールド)と、当該領域アドレスを用いたデー
タ読み出し要求の次にホストコンピュータ20から要求
された領域アドレスが予測アドレス(第2の読み出し要
求履歴要素)として設定されるフィールド(予測アドレ
スフィールド)と、該当するエントリの内容が有効であ
るか否かを示すフラグ情報(Vフラグ)が設定されるフ
ィールド(Vフィールド)とを有している。なお、プリ
フェッチ予測テーブル122をダイレクトマッピングま
たはセットアソシアティブ方式で構成する場合には、領
域アドレスの下位ビットで指定されるエントリの領域ア
ドレスフィールドに、当該領域アドレスの上位ビットを
設定して用いる。
【0034】次に、第1の実施形態におけるディスク記
憶装置10の動作について、ホストコンピュータ20か
らデータ読み出し要求を受け付けた場合の処理(読み出
し要求時処理)を例に、図2及び図3のフローチャート
を適宜参照して説明する。
【0035】まず、ホストコンピュータ20からディス
ク記憶装置10に対してデータ読み出し要求が出された
ものとする。ディスク記憶装置10のディスク制御装置
12に設けられたコントローラ123は、ホストコンピ
ュータ20からのデータ読み出し要求を受け付けると、
当該要求の指定する領域アドレスでディスクキャッシュ
121を参照することにより、要求されたデータがディ
スクキャッシュ121に存在するか否かをチェックする
(ステップS1)。
【0036】もし、要求されたデータがディスクキャッ
シュ121に存在しないミスヒット時には、コントロー
ラ123はHDD11から該当するデータを読み出して
ディスクキャッシュ121に格納すると共に(ステップ
S2)、当該データをホストコンピュータ20に転送す
る(ステップS3)。また、要求されたデータがディス
クキャッシュ121に存在するヒット時には、コントロ
ーラ123はHDD11にはアクセスせずに、当該ディ
スクキャッシュ121から該当するデータを読み出して
ホストコンピュータ20に転送する(ステップS3)。
【0037】次にコントローラ123は、以下に述べる
予測テーブル登録処理(ステップS4)を行う。まずコ
ントローラ123は、前回要求レジスタ123aに保持
されている、前回のデータ読み出し要求で指定された領
域アドレス、つまり前回要求時の領域アドレスを取り出
して、当該領域アドレスでプリフェッチ予測テーブル1
22を参照する(ステップS11)。そしてコントロー
ラ123は、前回要求時の領域アドレスを持つ有効なエ
ントリ、つまり前回要求時の領域アドレスに対応し、且
つVフラグが例えば1(ON状態)となっているエント
リ(有効な対応エントリ)が存在するか否かをチェック
する(ステップS12)。
【0038】もし、有効な対応エントリが存在しないな
らば、コントローラ123はプリフェッチ予測テーブル
122上で、登録用のエントリ、例えば空きエントリを
1つ確保し、今回要求時の領域アドレスを予測アドレス
として、前回要求時の領域アドレスと当該予測アドレス
との組を含むエントリ情報(履歴要素組)を、この確保
したエントリに登録する(ステップS13)。この際、
Vフラグを1(ON状態)に設定する。なお、空きエン
トリがない場合には、例えばLRU(Least Recently U
sed)法で決まるエントリ、つまり最も以前に参照され
たエントリを登録用エントリとすればよい。そしてコン
トローラ123は、前回要求レジスタ123aの内容を
今回要求時の領域アドレスに変更して(ステップS1
6)、一連の予測テーブル登録処理(ステップS4)を
終了する。
【0039】以上の処理により、前回要求時の領域アド
レスに対応するプリフェッチ予測テーブル122内のエ
ントリには、当該前回要求時の領域アドレスと予測アド
レスとしての今回要求時の領域アドレスとの組を含むエ
ントリ情報が登録される。
【0040】一方、上記ステップS12で有効な対応エ
ントリが存在すると判定された場合、コントローラ12
3は当該エントリ中の予測アドレスフィールドの内容が
今回要求時の領域アドレスに一致するか否かをチェック
する(ステップS14)。もし、一致しない場合には、
コントローラ123は、当該予測アドレスフィールドの
内容を今回要求時の領域アドレスに変更する(ステップ
S15)。そしてコントローラ123は、前回要求レジ
スタ123aの内容を今回要求時の領域アドレスに変更
して(ステップS16)、予測テーブル登録処理(ステ
ップS4)を終了する。これに対し、一致する場合に
は、コントローラ123は、前回要求レジスタ123a
の内容を今回要求時の領域アドレスに変更するだけで
(ステップS16)、予測テーブル登録処理(ステップ
S4)を終了する。なお、有効な対応エントリが存在す
る場合、ステップS14の判定を行わずに、当該エント
リの予測アドレスフィールドの内容を今回要求時の領域
アドレスに変更するようにしても構わない。
【0041】以上は、プリフェッチ予測テーブル122
がフルアソシアティブ方式の場合である。もし、ダイレ
クトマッピングまたはセットアソシアティブ方式の場合
には、上記ステップS11,S12に相当する処理とし
て、領域アドレスの所定の下位ビットの指定するプリフ
ェッチ予測テーブル122内エントリを参照し、そのエ
ントリの領域アドレスフィールドの内容が、当該領域ア
ドレスの所定の上位フィールドの値に一致する有効なエ
ントリであるか否かにより、有効な対応エントリが存在
するか否かをチェックすればよい。
【0042】さてコントローラ123は予測テーブル登
録処理(ステップS4)を終了すると、今回要求時の領
域アドレスの次のアドレスのデータがディスクキャッシ
ュ121に存在するか否かをチェックする(ステップS
5)。もし、存在しないならば、つまりディスクキャッ
シュ121にヒットしないならば、今回要求時の領域ア
ドレスの次のアドレスのデータをHDD11からディス
クキャッシュ121にプリフェッチする、いわゆるシー
ケンシャルプリフェッチを行い(ステップS6)、しか
る後にステップS7に進む。これに対し、ヒット時に
は、そのままステップS7に進む。
【0043】コントローラ123はステップS7におい
て、今回要求時の領域アドレスでプリフェッチ予測テー
ブル122内の対応エントリを参照することで、当該領
域アドレスと組をなす予測アドレスを取り出す。この予
測アドレスは、今回要求時の領域アドレスに一致するア
ドレスの指定するデータ読み出し要求が最も最近に出さ
れた場合に、その要求に続いて出されたデータ読み出し
要求の指定した領域アドレスである。
【0044】次にコントローラ123は、取り出した予
測アドレスでディスクキャッシュ121を参照すること
で、当該予測アドレスのデータがディスクキャッシュ1
21に存在するか否かをチェックする(ステップS
8)。もし、存在するならば、コントローラ123は一
連の読み出し要求時処理を終了し、次のデータ読み出し
要求を待つ。また、既に次のデータ読み出し要求が出さ
れているならば、当該次のデータ読み出し要求に対する
新たな読み出し要求時処理を行う。これに対し、予測ア
ドレスのデータがディスクキャッシュ121に存在しな
いならば、コントローラ123は当該予測アドレスのデ
ータをHDD11からディスクキャッシュ121にプリ
フェッチして(ステップS9)、一連の読み出し要求時
処理を終了する。
【0045】なお、以上の説明では、フローチャートの
作図の都合上、ホストコンピュータ20から要求された
データをホストコンピュータ20に転送してから、シー
ケンシャルプリフェッチを行い、このシーケンシャルプ
リフェッチの後に予測アドレスに基づくプリフェッチを
行うものとしたが、並行して行うようにして構わない。
特に本実施形態のように、ディスクアレイをなす複数の
HDD11を備えた構成では、プリフェッチの並行動作
が効率的に行える。
【0046】次に、以上に述べた読み出し要求時処理の
具体例について、図4を参照して説明する。まず、図4
に示すように、領域アドレスa(で且つサイズ1、ここ
ではセクタ単位のサイズ)を対象とするデータ読み出し
要求があり、次に領域アドレスb(で且つサイズ1)を
対象とする読み出し要求があったとする。この場合、プ
リフェッチ予測テーブル122のaに対応するエントリ
には、図4中の矢印41で示すように、領域アドレスa
(またはaの指定する所定単位のディスク領域を特定す
るのに十分な部分アドレス)と予測アドレスbとの組が
登録される。更にその次に、領域アドレスcを対象とす
る要求があると、今度はプリフェッチ予測テーブル12
2のbに対応するエントリに、図4中の矢印42で示す
ように、領域アドレスb(またはbの指定する所定単位
のディスク領域を特定するのに十分な部分アドレス)と
予測アドレスcとの組が登録される。同様に、更にその
次に、領域アドレスdを対象とする要求があると、今度
はプリフェッチ予測テーブル122のcに対応するエン
トリに、図4中の矢印43で示すように、領域アドレス
c(またはcの指定する所定単位のディスク領域を特定
するの十分な部分アドレス)と予測アドレスdとの組が
登録される。このように連鎖して、プリフェッチ予測テ
ーブル122内エントリの登録がなされていく。
【0047】このような状態で、再び領域アドレスaを
対象とする読み出し要求があった場合、ディスク記憶装
置10のコントローラ123は、当該領域アドレスaに
関しては、HDD11またはディスクキャッシュ121
から該当するデータを読み出してホストコンピュータ2
0に返す。
【0048】その後、或いは並行して、コントローラ1
23は領域アドレスaによりプリフェッチ予測テーブル
122を参照し、当該領域アドレスaと組をなす予測ア
ドレスbを取り出す。そしてコントローラ123は、取
り出した予測アドレスbのデータがディスクキャッシュ
121に存在しないディスクキャッシュミスヒットの場
合には、当該予測アドレスbのデータをディスクキャッ
シュ121にプリフェッチする。つまりコントローラ1
23は、ホストコンピュータ20から前回と同じ順序で
読み出し要求があると予測してプリフェッチを行う。
【0049】以上のプリフェッチの結果、領域アドレス
aを対象とする読み出し要求の次に、ホストコンピュー
タ20が領域アドレスbを対象とするデータ読み出し要
求を行った場合には、必ずディスクキャッシュ121に
ヒットする。この場合、領域アドレスbのデータの高速
読み出しが可能となる。
【0050】ここで注目すべきなのは、予測が完全には
当たらない場合、例えば、領域アドレスaを対象とする
読み出し要求の次の次に領域アドレスbを対象とする読
み出し要求があったような場合でも、ディスクキャッシ
ュ121にヒットする可能性が高いということである。
【0051】このように本実施形態においては、ホスト
コンピュータ20からのデータ読み出し要求毎に、要求
された領域アドレスを予測アドレスとして前回要求時の
領域アドレスと組にしてプリフェッチ予測テーブル12
2に登録することで、ホストコンピュータ20から要求
された領域アドレスの履歴、つまりホストコンピュータ
20からのデータ読み出し要求のパターンがプリフェッ
チ予測テーブル122に記録されるようにすると共に、
ホストコンピュータ20から新たにデータ読み出しが要
求された場合に、要求された領域アドレスと組をなす予
測アドレスを用いて当該予測アドレスのデータをHDD
11からディスクキャッシュ121にプリフェッチする
ようにしているので、プリフェッチ予測テーブル122
に記録されている読み出し要求のパターンがホストコン
ピュータ20からの読み出しの順序に完全に同一でなく
ても、ある程度の相関があれば、ディスクキャッシュ1
21にヒットする確率は向上する。
【0052】また本実施形態では、従来のシーケンシャ
ルなプリフェッチ動作を併用しており、例えば領域アド
レスaを対象とするデータ読み出しが要求された場合、
次の領域アドレスa+1のデータもプリフェッチされ
る。このため、予測アドレスだけを用いたプリフェッチ
動作を適用する場合より、ディスクキャッシュ121の
ヒット率が一層向上する。但し、シーケンシャルなプリ
フェッチは必ずしも必須条件ではない。
【0053】[第2の実施形態]次に本発明の第2の実
施形態について説明する。本実施形態の特徴は、前記第
1の実施形態で適用したプリフェッチ予測テーブル12
2のエントリ情報登録方法に工夫を加えた点にある。こ
れに伴い、コントローラ123の制御内容も第1の実施
形態とは一部異なるが、便宜的に図1のブロック図、図
2のフローチャートを援用する。
【0054】一般にホストコンピュータ20からのデー
タの読み出し単位は、ファイルの構造等に依存するの
で、ディスク記憶装置10側の最小アクセス単位(例え
ばセクタ)より大きい。この場合、ディスク記憶装置1
0側からみると、ある程度はシーケンシャルなアクセス
が続くのが一般的なパターンとなる。このような場合、
前記第1の実施形態のようにホストコンピュータ20か
らの読み出し単位(読み出し要求)毎に、図3のフロー
チャートの予測テーブル登録処理に従って図4の構造の
プリフェッチ予測テーブル122への登録動作を行った
のでは、シーケンシャルなパターン部分が登録される可
能性があり、無駄な情報が多くなる。
【0055】そこで、シーケンシャルな読み出し、例え
ば前回要求時の領域アドレスがa、サイズが1(セク
タ)、今回要求時の領域アドレスがa+1、サイズが1
といった組や、前回要求時の領域アドレスがa、サイズ
がkで、今回要求時の領域アドレスがa+k、サイズが
n+1−kといった組については登録せず、次に領域ア
ドレスbといった不連続な読み出し要求があった場合
に、このシーケンシャルな読み出しの先頭のアドレス
a,bの組を登録することが考えられる。しかし、その
後、領域アドレスa+1を対象とする読み出し要求が送
られることも想定される。そのため本実施形態では、H
DD11の領域を一定の単位で区切り、領域アドレスを
当該一定の単位を示す所定の上位アドレス部分(以下、
先頭アドレスと称する)とオフセット(offset)とに分
解し、その先頭アドレスと不連続な領域アドレスである
予測アドレスとの組をプリフェッチ予測テーブル122
に登録する予測テーブル登録処理を適用する。
【0056】この本実施形態で適用する予測テーブル登
録処理の手順を図5のフローチャートに、具体例を図6
に示し、前記第1の実施形態と異なる部分について具体
的に説明する。
【0057】まず、要求された領域アドレスが、図6に
示すa,a+1,…a+nのように先行する読み出し要
求により要求された領域アドレスに連続する場合、つま
りシーケンシャル読み出しとなる場合(ステップS2
1)、コントローラ123はプリフェッチ予測テーブル
122へのエントリ情報登録と、前回要求レジスタ12
3aの内容の変更を行わず、そのまま一連の予測テーブ
ル登録処理(ステップS4)を終了する。
【0058】したがって、図6の例のようにa,a+
1,…a+nの読み出し要求が続き、次に不連続な読み
出し要求bが続いた段階、つまりaから始まるシーケン
シャルな読み出しから最初に外れる読み出し要求bが与
えられた段階では、前回要求レジスタ123aには領域
アドレスaが保持されていることになる。なお、シーケ
ンシャルな読み出しとなるのは、上記a,a+1,…a
+nの例のように領域アドレスが連続する1セクタ単位
の読み出し要求の列の場合とは限らず、例えば領域アド
レスがa、サイズがkのデータの読み出しを指定する読
み出し要求と、領域アドレスがa+k、サイズがn+1
−kのデータの読み出しを指定する読み出し要求とが続
く場合にも、シーケンシャルな読み出しとなる。これ
は、後述するで第3及び第4の実施形態でも同様であ
る。
【0059】さてホストコンピュータ20から、a+n
を対象とする読み出し要求の次に、bを対象とする読み
出し要求が出された場合、つまりシーケンシャルな読み
出し要求でなくなった場合(ステップS21)、コント
ローラ123は、前回要求レジスタ123aに設定され
ている領域アドレスaを、図6中の矢印61で示すよう
に、先頭アドレスa′とオフセットとに分解する(ステ
ップS22)。そしてコントローラ123は、先頭アド
レスa′(をプリフェッチ予測テーブル122上での領
域アドレスとして、当該領域アドレス)によりプリフェ
ッチ予測テーブル122を参照し、対応する有効なエン
トリが存在しない場合、図6において矢印62で示すよ
うに、a′とbとの組を含むエントリ情報をプリフェッ
チ予測テーブル122に登録する(ステップS23〜S
25)。また、a′に対応する有効なエントリが存在
し、且つ当該エントリにa′と組をなして登録されてい
る予測アドレスがb(今回要求時の領域アドレス)でな
ければ、当該エントリ中の予測アドレスをbに変更する
(ステップS23,S24,S26,S27)。なお、
有効な対応エントリが存在する場合、当該エントリに
a′と組をなして登録されている予測アドレスがbであ
るか否かに無関係に、当該エントリの予測アドレスフィ
ールドの内容を今回要求時の領域アドレスに変更するよ
うにしても構わない。
【0060】そしてコントローラ123は、前回要求レ
ジスタ123aの内容を今回要求時の領域アドレスに変
更して(ステップS28)、一連の予測テーブル登録処
理(ステップS4)を終了する。
【0061】このような予測テーブル登録処理を適用し
た本実施形態では、その後ホストコンピュータ20から
領域アドレスaを対象とするデータ読み出しが要求され
た場合、a+1からのデータを例えば予め設定されてい
るサイズ分だけシーケンシャルプリフェッチする動作
(ステップS6)と、(プリフェッチ予測テーブル12
2内に領域アドレスaの先頭アドレスa′と組をなして
予測アドレスとして登録されている)bからのデータを
例えば予め設定されているサイズ分だけプリフェッチ
(シーケンシャルプリフェッチ)する動作(ステップS
9)とが、順にまたは並列に行われる。
【0062】このように、領域アドレスが連続する読み
出し要求に対してはプリフェッチ予測テーブル122へ
の登録を行わない構成とすることにより、プリフェッチ
予測テーブル122のサイズを圧縮することができる。
この構成を適用した場合、ディスクキャッシュ121の
ヒット率を考慮すると、シーケンシャルプリフェッチを
併用することが好ましい。
【0063】[第3の実施形態]次に本発明の第3の実
施形態について説明する。本実施形態の特徴は、前記第
1の実施形態で適用したプリフェッチ予測テーブル12
2のエントリ情報登録方法に工夫を加えた点にある。こ
れに伴い、コントローラ123の制御内容も第1の実施
形態とは一部異なるが、便宜的に図1のブロック図を援
用する。
【0064】既に述べたように、ホストコンピュータ2
0からのデータの読み出し要求は、ディスク記憶装置1
0側からみると、ある程度はシーケンシャルなアクセス
が続くのが一般的なパターンとなる。このような場合、
前記第2の実施形態では、次に不連続な読み出し要求が
あった段階で、領域アドレスとしての先頭アドレスと予
測アドレスとの組を含むエントリ情報を登録していた。
しかし、第2の実施形態では、プリフェッチ予測テーブ
ル122からはシーケンシャルな読み出し要求が続いた
数は予測できず、無駄なシーケンシャルプリフェッチが
発生する可能性がある。そこで本実施形態では、プリフ
ェッチ予測テーブル122の各エントリに、図9に示す
ように、シーケンシャルな読み出し要求が続いた数(例
えばセクタ数)を示す情報(以下、連続アクセス数と称
する)が登録されるフィールド(連続アクセス数フィー
ルド)を追加し、不連続な読み出し要求があった段階
で、前記第1の実施形態と同様の領域アドレス(前回要
求時の領域アドレス)と予測アドレス(今回要求時の領
域アドレス)との組に連続アクセス数を付加したエント
リ情報(履歴組)を登録する予測テーブル登録処理を適
用する。
【0065】この予測テーブル登録処理を適用する読み
出し要求時処理の手順を図7のフローチャートに、当該
予測テーブル登録処理の手順を図8のフローチャート
に、そして具体例を図9に示し、前記第1の実施形態と
異なる部分について具体的に説明する。
【0066】まず、ホストコンピュータ20からデータ
読み出しが要求された場合、図2中のステップS1〜S
3と同様の処理S31〜S33が行われた後、予測テー
ブル登録処理(ステップS34)に進む。この予測テー
ブル登録処理(ステップS34)では、図9の例のよう
にa,a+1,…a+nの読み出し要求が続いている間
は、つまりシーケンシャルな読み出しの場合には(ステ
ップS51)、プリフェッチ予測テーブル122へのエ
ントリ情報登録を行わない。この場合、コントローラ1
23は以下に述べるステップS59の前回要求レジスタ
更新処理を行って、一連の予測テーブル登録処理(ステ
ップS34)を終了する。
【0067】本実施形態では、前回要求レジスタ123
aには、前記第1の実施形態と異なって、前回要求時の
領域アドレスと連続アクセス数との組が保持されるよう
になっている。コントローラ123は、ステップS59
の更新処理で、前回要求レジスタ123a中の連続アク
セス数を今回要求時のサイズだけインクリメントする。
ここでは、領域アドレスは変更しない。
【0068】したがって、図9の例のようにa,a+
1,…a+nの読み出し要求が続いた直後では、前回要
求レジスタ123aの内容は領域アドレス=a,(aか
ら始まる)連続アクセス数=n+1となる。つまり本実
施形態において、前回要求レジスタ123aの示す前回
要求時の領域アドレスは、一連のシーケンシャルな読み
出し要求を1つの読み出し要求とみなした場合の先頭の
領域アドレスを指す。
【0069】さてホストコンピュータ20から、a+n
を対象とする読み出し要求の次に、これとは不連続なb
を対象とする読み出し要求が出されたものとする。この
場合、コントローラ123はシーケンシャルな読み出し
でないことから(ステップS51)、前回要求レジスタ
123aに保持されている前回要求時領域アドレスでプ
リフェッチ予測テーブル122を参照する(ステップS
52)。このとき前回要求レジスタ123aには(前回
要求時の)領域アドレス=a,(前回要求時の)連続ア
クセス数=n+1が保持されていることから、領域アド
レスaでプリフェッチ予測テーブル122が参照され
る。
【0070】コントローラ123は、領域アドレスaに
対応する有効なエントリが存在しない場合(ステップS
53)、今回要求時の領域アドレスbを予測アドレスと
して、図9において矢印91で示すように、前回要求レ
ジスタ123aに保持されている領域アドレスa、即ち
前回要求時(a,a+1,…a+nのシーケンシャルな
読み出し要求の最初の要求時)の領域アドレスaと、当
該予測アドレスbと、前回要求レジスタ123aに保持
されている連続アクセス数−1の値で示される、a+1
から始まる連続アクセス数(これを前回要求時連続アク
セス数と称する)nとの組を含むエントリ情報をプリフ
ェッチ予測テーブル122に登録する(ステップS5
4)。
【0071】また、aに対応する有効なエントリが存在
し、且つそのエントリにaと組をなして登録されている
予測アドレスがb(今回要求時の領域アドレス)でなけ
れば、そのエントリ中の現連続アクセス数、現予測アド
レスを、それぞれn,bに変更する(ステップS53,
S55,S56)。
【0072】また、aに対応する有効なエントリが存在
し、且つそのエントリにaと組をなして登録されている
予測アドレスがb(今回要求時の領域アドレス)であれ
ば、そのエントリ中の現連続アクセス数をnに変更する
(ステップS53,S55,S57)。なお、有効な対
応エントリが存在する場合、当該エントリにaと組をな
して登録されている予測アドレスがbであるか否かに無
関係に、ステップS56の処理を行うようにしても構わ
ない。
【0073】そしてコントローラ123は、前回要求レ
ジスタ123a中の領域アドレスaを今回要求時の領域
アドレスbに、連続アクセス数n+1を今回要求時の
(bから始まる)連続アクセス数(サイズ)に、それぞ
れ変更して(ステップS58)、一連の予測テーブル登
録処理(ステップS34)を終了する。
【0074】同様に、図9の例のように、bの次に更に
b+1,…b+mの読み出し要求が続き、その次にcを
対象とする読み出し要求が続いた場合、bに対応するプ
リフェッチ予測テーブル122のエントリには、矢印9
2で示すように、領域アドレス=b,連続アクセス数=
m,予測アドレス=cを含むエントリ情報が登録され
る。
【0075】このような予測テーブル登録処理を適用し
た本実施形態では、その後ホストコンピュータ20から
領域アドレスaを対象とするデータ読み出しが要求され
た場合、図7のフローチャートに示すように、当該領域
アドレスaに対応するプリフェッチ予測テーブル122
内のエントリの情報に基づき、次のa+1から連続アク
セス数nのデータだけ、つまりa+1〜a+nのデータ
だけ、シーケンシャルプリフェッチが行われる(ステッ
プS36,S37)。また、このシーケンシャルプリフ
ェッチに続いて、または、このシーケンシャルプリフェ
ッチと並行して、プリフェッチ予測テーブル122内に
領域アドレスaと組をなして予測アドレスとして登録さ
れているbからのプリフェッチが行われる(ステップS
38〜S40)。このプリフェッチは、領域アドレスa
と組をなして予測アドレスとして登録されているbによ
りプリフェッチ予測テーブル122を参照し、当該bを
領域アドレスとするエントリ情報中の連続アクセス数と
予測アドレス(ここでは、連続アクセス数=m,予測ア
ドレス=c)を取り出すことで行われ、bから連続アク
セス数m+1のデータだけ、つまりb〜b+mのデータ
だけプリフェッチされる。
【0076】このように本実施形態においては、aのデ
ータが読み出された後、次のa+1からa+nまでのシ
ーケンシャルなデータが読み出され、次にbのデータが
読み出され、更に次のb+1からb+mまでのシーケン
シャルなデータが読み出された状態で、その後再びaか
らの読み出しが要求された場合、領域アドレス、連続ア
クセス数、予測アドレスの組を含むプリフェッチ予測テ
ーブル122のエントリ情報に従い、aに対応する
(a,n,b)のエントリ情報からは、a,nで決まる
a+1からa+nまでのシーケンシャルプリフェッチが
行われ、(a,n,b)中のbに対応する(b,m,
c)のエントリ情報からは、b,mで決まるbからb+
mまでのシーケンシャルプリフェッチが行われる。これ
により、無駄なシーケンシャルプリフェッチが発生する
確率を低く抑えることができる。
【0077】なお、以上の説明では、プリフェッチ予測
テーブル122内の各エントリ中の連続アクセス数が、
領域アドレス側の連続アクセス数、つまり領域アドレス
に続くシーケンシャルな読み出しアクセスの数を示すも
のとしたが、これに限るものではない。例えば、予測ア
ドレス側の連続アクセス数、つまり予測アドレスに続く
シーケンシャルな読み出しアクセスの数を示すものであ
っても構わない。この場合、図9の例であれば、cの読
み出しが要求された段階で、(a,m,b)のエントリ
情報を登録すればよい。但し、そのためには、前回要求
レジスタ123aには、前々回の要求時の領域アドレス
(前々回のシーケンシャルな読み出し時の最初の領域ア
ドレス)と、そこからの連続アクセス数と、前回の要求
時の領域アドレス(前回のシーケンシャルな読み出し時
の最初の領域アドレス)とを保持する必要がある。
【0078】[第4の実施形態]次に本発明の第4の実
施形態について説明する。本実施形態の特徴は、前記第
3の実施形態で適用したプリフェッチ予測テーブル12
2のエントリ情報登録方法に工夫を加えた点にある。具
体的には、プリフェッチ予測テーブル122の各エント
リに、複数の予測アドレスを登録可能としたこと、つま
り複数の予測アドレスフィールドを設けたことである。
これに伴い、コントローラ123の制御内容も第3の実
施形態とは一部異なるが、便宜的に当該第3の実施形態
と同様に図1のブロック図を援用する。
【0079】ここで、本実施形態で適用する読み出し要
求時処理の手順を第10のフローチャートに、当該読み
出し要求時処理中の予測テーブル登録処理の手順を図1
1のフローチャートに、そして具体例を図12に示し、
前記第3の実施形態と異なる部分について具体的に説明
する。
【0080】まず、ホストコンピュータ20からデータ
読み出しが要求された場合、図7中のステップS31〜
S33と同様の処理S61〜S63が行われた後、予測
テーブル登録処理(ステップS64)に進む。この予測
テーブル登録処理(ステップS64)では、図12の例
のようにa,a+1,…a+nの読み出し要求の次に、
これとは不連続な読み出し要求bが出された際、或いは
a,a+1,…a+nの読み出し要求の次に、これとは
不連続な読み出し要求dが出された際、つまりシーケン
シャルな読み出しでなくなった場合に(ステップS8
1)、前記第3の実施形態と同様にプリフェッチ予測テ
ーブル122へのエントリ情報登録が行われる。但し、
その登録方法は第3の実施形態と一部異なる。
【0081】ここでは、a,a+1,…a+nの読み出
し要求の次にbに対する読み出し要求があった結果、プ
リフェッチ予測テーブル122内のエントリには、予測
テーブル登録処理(ステップS64)により、前記第3
の実施形態と同様にして、図12に示すように、領域ア
ドレスaと連続アクセス数nと矢印12Aで示す予測ア
ドレスbを含むエントリ情報、つまり(a,n,b)の
組を含むエントリ情報が登録されたものとする。
【0082】その後、a,a+1,…a+nの読み出し
要求の次に、今度は図12に示すように、dに対する読
み出し要求があったものとする。この場合、前記第3の
実施形態であれば、プリフェッチ予測テーブル122の
対応エントリ中の(a,n,b)が(a,n,d)に変
更される、即ち予測アドレスがbからdに変更されるこ
とになる。しかし、このようにすると、次にa,a+
1,…a+nの読み出し要求に続いてbに対する要求が
あった場合には、ディスクキャッシュ121にヒットし
ない可能性が高い。
【0083】そこで本実施形態では、a,a+1,…a
+nの読み出し要求の次に、dに対する読み出し要求が
あった場合にも、現予測アドレスbを変更せずに、以下
に述べるように、別途dを予測アドレスdとして追加登
録するようにしている。
【0084】即ち、プリフェッチ予測テーブル122中
に前回要求時の領域アドレスaに対応する有効なエント
リが存在し、且つそのエントリにaと組をなして登録さ
れている予測アドレスが今回要求時の領域アドレスdに
一致しない場合(ステップS83,S85)、コントロ
ーラ123は当該エントリ中に空きの予測アドレスフィ
ールドがあるか否かを調べる(ステップS86)。もし
空きの予測アドレスフィールドがないならば、全予測ア
ドレスフィールド(図12の例ではx個の予測アドレス
フィールド)のうち、最も優先度の低い予測アドレスフ
ィールドを空きフィールドとして確保する(ステップS
87)。そのため、プリフェッチ予測テーブル122の
各エントリには、当該エントリ中のx個の予測アドレス
フィールド(に設定されている予測アドレス)について
の優先度情報が登録されるフィールド(優先度フィール
ド)が設けられている。この優先度は、例えばLRUと
して知られているアルゴリズムにより決定すればよい。
【0085】コントローラ123は、既に空きの予測ア
ドレスフィールドがある場合には、そのうちの任意の予
測アドレスフィールドに、空きの予測アドレスフィール
ドがなかった場合には、ステップS87で予測アドレス
フィールドを確保して、今回要求時の領域アドレスdを
図12中の矢印12Bで示すように、予測アドレスとし
て追加登録する(ステップS88)。
【0086】このようにして、プリフェッチ予測テーブ
ル122のエントリには、aから始まる一連の同一のシ
ーケンシャル読み出し要求に続いて出された、それぞれ
異なる領域アドレスを対象とする読み出し要求の履歴
が、一定個数(x個)を上限に登録される。
【0087】なお、シーケンシャル読み出しの場合には
(ステップS81)、前記第3の実施形態におけるステ
ップS59と同様の前回要求レジスタ更新処理(ステッ
プS91)が行われる。また、ステップS88での予測
アドレス追加登録処理を行った場合と、前回要求時の領
域アドレスaに対応する有効なエントリが存在し、且つ
当該エントリにaと組をなして登録されている予測アド
レスがb(今回要求時の領域アドレス)でない場合は、
前記第3の実施形態におけるステップS57,S58と
同様の処理、即ち当該エントリ中の連続アクセス数を前
回要求時連続アクセス数(前回要求レジスタ123aの
示す連続アクセス数−1の値)に変更する処理(ステッ
プS89)と、前回要求レジスタ123aの内容を今回
要求時の領域アドレスとアクセス数(サイズ)とに変更
する前回要求レジスタ更新処理(ステップS90)とが
行われる。また、ステップS84のエントリ情報登録処
理の後は、ステップS90の処理が行われる。
【0088】このような予測テーブル登録処理を適用し
た本実施形態では、その後ホストコンピュータ20から
領域アドレスaを対象とするデータ読み出しが要求され
た場合、コントローラ123は、図10のフローチャー
トに示すように、当該領域アドレスaに対応するプリフ
ェッチ予測テーブル122内のエントリの情報に基づ
き、当該領域アドレスaと対をなす連続アクセス数(図
12の例ではn)、及び全ての予測アドレス(図12の
例では、b,d,…)を取り出す(ステップS65)。
次にコントローラ123は、次のa+1から連続アクセ
ス数nのデータだけ、つまりa+1〜a+nのデータだ
け、シーケンシャルプリフェッチを行う(ステップS6
6,S67)。
【0089】またコントローラ123は、ステップS6
5で取り出した全ての予測アドレス(b,d,…)につ
いて、当該予測アドレス(b,d,…)を領域アドレス
としてプリフェッチ予測テーブル122内の対応エント
リを参照し、その領域アドレス(b,d,…)と対をな
す連続アクセス数(図12の例では、m,p,…)を取
り出す(ステップS68)。そしてコントローラ123
は、領域アドレス(b,d,…)と連続アクセス数(図
12の例では、m,p,…)とに基づき、当該領域アド
レス(予測アドレス)から始まる連続アクセス数+1の
データだけ、シーケンシャルプリフェッチを行う(ステ
ップS69〜S71)。
【0090】このように本実施形態においては、過去の
読み出しの履歴をプリフェッチ予測テーブル122に複
数登録し、この複数の履歴を利用して、それぞれプリフ
ェッチを行うようにしたので、ディスクキャッシュ12
1のヒット率を更に向上させることができる。
【0091】なお、本実施形態では、プリフェッチ予測
テーブル122の同一エントリに登録されている予測ア
ドレスの全てについて、当該予測アドレスに基づくプリ
フェッチを行うものとして説明したが、これに限るもの
ではない。例えば優先度の高いものから所定数(2つ
等)の予測アドレスを選択し、その選択した予測アドレ
スに基づくプリフェッチを行う構成としてもよい。
【0092】
【発明の効果】以上詳述したように本発明によれば、デ
ータ読み出し時に、アクセスの履歴を利用して有効にプ
リフェッチを行うようにしたので、ディスクキャッシュ
のヒット率を高めることができ、データ読み出しの高速
化を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るディスク記憶装
置を備えた計算機システムのブロック構成図。
【図2】上記第1の実施形態における読み出し要求時処
理の手順を示すフローチャート。
【図3】図2中の予測テーブル登録処理(ステップS
4)の手順を示すフローチャート。
【図4】上記第1の実施形態における予測テーブル登録
処理の具体例を説明するための図。
【図5】本発明の第2の実施形態における予測テーブル
登録処理の手順を示すフローチャート。
【図6】上記第2の実施形態における予測テーブル登録
処理の具体例を説明するための図。
【図7】本発明の第3の実施形態における読み出し要求
時処理の手順を示すフローチャート。
【図8】図7中の予測テーブル登録処理(ステップS3
4)の手順を示すフローチャート。
【図9】上記第3の実施形態における予測テーブル登録
処理の具体例を説明するための図。
【図10】本発明の第4の実施形態における読み出し要
求時処理の手順を示すフローチャート。
【図11】図10中の予測テーブル登録処理(ステップ
S64)の手順を示すフローチャート。
【図12】上記第4の実施形態における予測テーブル登
録処理の具体例を説明するための図。
【符号の説明】
10…ディスク記憶装置 11…HDD(ディスク装置) 12…ディスク制御装置 20…ホストコンピュータ(ホスト装置) 30…SCSI(インタフェース) 121…ディスクキャッシュ 122…プリフェッチ予測テーブル(読み出し要求履歴
記憶手段) 123…コントローラ(読み出し要求実行手段、登録手
段、プリフェッチ手段、新規登録手段、変更登録手段、
追加・変更登録手段) 123a…前回要求レジスタ

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 ディスク装置上の一部のデータを一時記
    憶するためのディスクキャッシュを備えたディスク制御
    装置において、 ホスト装置から与えられた読み出し要求の履歴が記憶さ
    れる読み出し要求履歴記憶手段と、 前記ホスト装置から読み出し要求が与えられた場合に、
    要求されたデータを前記ディスクキャッシュを利用して
    前記ホスト装置に転送する読み出し要求実行手段と、 前記ホスト装置から与えられた読み出し要求に基づき、
    対応する読み出し要求履歴要素を先行する読み出し要求
    履歴要素にリンクさせて前記読み出し要求履歴記憶手段
    に登録するための登録手段と、 前記ホスト装置から与えられた読み出し要求と前記読み
    出し要求履歴記憶手段に記憶されている読み出し要求履
    歴とから、次の読み出し要求の内容を予測し、該当する
    データが前記ディスクキャッシュに存在しない場合に
    は、当該データを前記ディスク装置から前記ディスクキ
    ャッシュにプリフェッチするプリフェッチ手段とを具備
    することを特徴とするディスク制御装置。
  2. 【請求項2】 前記読み出し要求履歴記憶手段は、各読
    み出し要求について、対応する前記読み出し要求履歴要
    素を第1の読み出し要求履歴要素とし、後続する読み出
    し要求の読み出し要求履歴要素を第2の読み出し要求履
    歴要素として含む履歴要素組の形式で記憶するデータ構
    造を有し、 前記プリフェッチ手段は、前記ホスト装置から与えられ
    た読み出し要求に対応する前記読み出し要求履歴要素を
    前記第1の読み出し要求履歴要素とする前記履歴要素組
    中の前記第2の読み出し要求履歴要素に従って前記プリ
    フェッチを行うことを特徴とする請求項1記載のディス
    ク制御装置。
  3. 【請求項3】 前記読み出し要求履歴記憶手段は、各読
    み出し要求について、当該要求の示す要求先アドレス情
    報を第1の読み出し要求履歴要素とし、後続する読み出
    し要求の示す要求先アドレス情報を第2の読み出し要求
    履歴要素として含む履歴要素組の形式で記憶するデータ
    構造を有し、 前記プリフェッチ手段は、前記ホスト装置から与えられ
    た読み出し要求に対応する前記読み出し要求履歴要素を
    前記第1の読み出し要求履歴要素とする前記履歴要素組
    中の前記第2の読み出し要求履歴要素に従って前記プリ
    フェッチを行うことを特徴とする請求項1記載のディス
    ク制御装置。
  4. 【請求項4】 前記登録手段は、前記ホスト装置から読
    み出し要求が与えられ、且つ先行する読み出し要求に対
    応する前記第1の読み出し要求履歴要素を含む履歴要素
    組が前記読み出し要求履歴記憶手段に存在しない場合
    に、前記先行する読み出し要求に対応する前記第1の読
    み出し要求履歴要素と、前記与えられた読み出し要求に
    対応する前記第2の読み出し要求履歴要素とを含む履歴
    要素組を前記読み出し要求履歴記憶手段に新規登録する
    新規登録手段を備えていることを特徴とする請求項2ま
    たは請求項3記載のディスク制御装置。
  5. 【請求項5】 前記登録手段は、前記ホスト装置から読
    み出し要求が与えられ、且つ先行する読み出し要求に対
    応する前記第1の読み出し要求履歴要素を含む履歴要素
    組が前記読み出し要求履歴記憶手段に存在する場合で、
    少なくとも、前記与えられた読み出し要求に対応する前
    記第2の読み出し要求履歴要素が当該履歴要素組に含ま
    れない場合に、当該履歴要素組中の前記第2の読み出し
    要求履歴要素を前記与えられた読み出し要求に対応する
    第2の読み出し要求履歴要素に変更する変更登録手段を
    備えていることを特徴とする請求項2または請求項3記
    載のディスク制御装置。
  6. 【請求項6】 前記読み出し要求履歴記憶手段は、各読
    み出し要求について、当該要求の示す要求先アドレス情
    報における所定の単位領域が指定可能な所定アドレス部
    分を第1の読み出し要求履歴要素とし、当該要求の後に
    当該要求とは前記所定アドレス部分が異なる要求先アド
    レス情報を最初に示した読み出し要求の当該要求先アド
    レス情報を第2の読み出し要求履歴要素として含む履歴
    要素組の形式で記憶するデータ構造を有し、 前記プリフェッチ手段は、前記ホスト装置から与えられ
    た読み出し要求の示す要求先アドレス情報の前記所定ア
    ドレス部分を前記第1の読み出し要求履歴要素とする前
    記履歴要素組中の前記第2の読み出し要求履歴要素に従
    って前記プリフェッチを行うことを特徴とする請求項1
    記載のディスク制御装置。
  7. 【請求項7】 前記登録手段は、前記ホスト装置から要
    求先アドレス情報の前記所定アドレス部分が前回とは異
    なる読み出し要求が与えられ、且つ前回の読み出し要求
    に対応する前記第1の読み出し要求履歴要素を含む履歴
    要素組が前記読み出し要求履歴記憶手段に存在しない場
    合に、前記前回の読み出し要求に対応する前記第1の読
    み出し要求履歴要素と、前記与えられた読み出し要求に
    対応する前記第2の読み出し要求履歴要素とを含む履歴
    要素組を前記読み出し要求履歴記憶手段に新規登録する
    新規登録手段を備えていることを特徴とする請求項6記
    載のディスク制御装置。
  8. 【請求項8】 前記登録手段は、前記ホスト装置から要
    求先アドレス情報の前記所定アドレス部分が前回とは異
    なる読み出し要求が与えられ、且つ前回の読み出し要求
    に対応する前記第1の読み出し要求履歴要素を含む履歴
    要素組が前記読み出し要求履歴記憶手段に存在する場合
    で、少なくとも、前記与えられた読み出し要求に対応す
    る前記第2の読み出し要求履歴要素が当該履歴要素組に
    含まれない場合に、当該履歴要素組中の前記第2の読み
    出し要求履歴要素を前記与えられた読み出し要求に対応
    する第2の読み出し要求履歴要素に変更する変更登録手
    段を備えていることを特徴とする請求項6記載のディス
    ク制御装置。
  9. 【請求項9】 前記ホスト装置から与えられた読み出し
    要求により要求されたデータに後続するデータをプリフ
    ェッチするシーケンシャルプリフェッチ手段を更に具備
    することを特徴とする請求項1記載のディスク制御装
    置。
  10. 【請求項10】 前記読み出し要求履歴記憶手段は、各
    読み出し要求について、当該要求の示す要求先アドレス
    情報を第1の読み出し要求履歴要素とし、当該要求の後
    に当該要求の示す前記要求先アドレス情報から始まるシ
    ーケンシャルな読み出しから最初に外れる読み出し要求
    の示す要求先アドレス情報を第2の読み出し要求履歴要
    素とする履歴要素組であって、前記シーケンシャルな読
    み出しでの連続アクセス数の情報を含む履歴要素組の形
    式で記憶するデータ構造を有し、 前記プリフェッチ手段は、前記ホスト装置から与えられ
    た読み出し要求の示す要求先アドレス情報を前記第1の
    読み出し要求履歴要素とする前記履歴要素組中の前記第
    2の読み出し要求履歴要素と対応する前記連続アクセス
    数情報とに従って前記プリフェッチを行うことを特徴と
    する請求項1記載のディスク制御装置。
  11. 【請求項11】 前記読み出し要求履歴記憶手段は、各
    読み出し要求について、当該要求の示す要求先アドレス
    情報を第1の読み出し要求履歴要素として保持すると共
    に、当該要求が与えられる毎に当該要求の後に取得され
    る、当該要求の示す前記要求先アドレス情報から始まる
    シーケンシャルな読み出しから最初に外れる読み出し要
    求の示す要求先アドレス情報を所定個数を上限にそれぞ
    れ第2の読み出し要求履歴要素として保持する履歴要素
    組であって、前記シーケンシャルな読み出しでの連続ア
    クセス数の情報を含む履歴要素組の形式で記憶するデー
    タ構造を有し、 前記プリフェッチ手段は、前記ホスト装置から与えられ
    た読み出し要求の示す要求先アドレス情報を前記第1の
    読み出し要求履歴要素とする前記履歴要素組中の全ての
    前記第2の読み出し要求履歴要素と対応する前記連続ア
    クセス数情報とに従って前記プリフェッチを行うことを
    特徴とする請求項1記載のディスク制御装置。
  12. 【請求項12】 前記登録手段は、前記ホスト装置から
    シーケンシャルな読み出しから外れる読み出し要求が与
    えられ、且つ当該シーケンシャルな読み出しの先頭の要
    求先アドレス情報を示す読み出し要求である前回読み出
    し要求に対応する前記第1の読み出し要求履歴要素を含
    む履歴要素組が前記読み出し要求履歴記憶手段に存在し
    ない場合に、前記前回読み出し要求に対応する前記第1
    の読み出し要求履歴要素と、前記与えられた読み出し要
    求に対応する前記第2の読み出し要求履歴要素と、当該
    シーケンシャルな読み出しでの連続アクセス数の情報と
    を含む履歴要素組を前記読み出し要求履歴記憶手段に新
    規登録する新規登録手段を備えていることを特徴とする
    請求項10または請求項11記載のディスク制御装置。
  13. 【請求項13】 前記登録手段は、前記ホスト装置から
    シーケンシャルな読み出しから外れる読み出し要求が与
    えられ、且つ当該シーケンシャルな読み出しの要求先ア
    ドレス情報を示す読み出し要求である前回読み出し要求
    に対応する前記第1の読み出し要求履歴要素を含む履歴
    要素組が前記読み出し要求履歴記憶手段に存在する場合
    で、少なくとも、前記与えられた読み出し要求に対応す
    る前記第2の読み出し要求履歴要素が当該履歴要素組に
    含まれない場合に、当該履歴要素組中の前記第2の読み
    出し要求履歴要素を前記与えられた読み出し要求に対応
    する第2の読み出し要求履歴要素に変更すると共に、当
    該履歴要素組中の連続アクセス数の情報を当該シーケン
    シャルな読み出しの連続アクセス数の情報に変更する変
    更登録手段を備えていることを特徴とする請求項10記
    載のディスク制御装置。
  14. 【請求項14】 前記登録手段は、前記ホスト装置から
    シーケンシャルな読み出しから外れる読み出し要求が与
    えられ、且つ当該シーケンシャルな読み出しの要求先ア
    ドレス情報を示す読み出し要求である前回読み出し要求
    に対応する前記第1の読み出し要求履歴要素を含む履歴
    要素組が前記読み出し要求履歴記憶手段に存在する場合
    で、少なくとも、前記与えられた読み出し要求に対応す
    る前記第2の読み出し要求履歴要素が当該履歴要素組に
    含まれない場合、当該履歴要素組に含まれている前記第
    2の読み出し要求履歴要素の数が前記所定個数に達して
    いないならば、当該履歴要素組中に前記与えられた読み
    出し要求に対応する前記第2の読み出し要求履歴要素を
    追加登録し、前記所定個数に達しているならば、当該履
    歴要素組中のいずれか1つの前記第2の読み出し要求履
    歴要素の1つを前記与えられた読み出し要求に対応する
    前記第2の読み出し要求履歴要素に変更する追加・変更
    登録手段を備えていることを特徴とする請求項11記載
    のディスク制御装置。
  15. 【請求項15】 前記ホスト装置から与えられた読み出
    し要求により要求されたデータに後続するデータを、当
    該読み出し要求に対応する前記第1の読み出し要求履歴
    要素と組をなして前記読み出し要求履歴記憶手段に記憶
    されている前記連続アクセス数情報に従ってプリフェッ
    チするシーケンシャルプリフェッチ手段を更に具備する
    ことを特徴とする請求項9または請求項10記載のディ
    スク制御装置。
JP37307299A 1999-12-28 1999-12-28 ディスク制御装置 Expired - Fee Related JP4060506B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP37307299A JP4060506B2 (ja) 1999-12-28 1999-12-28 ディスク制御装置
US09/663,714 US6516389B1 (en) 1999-12-28 2000-09-18 Disk control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37307299A JP4060506B2 (ja) 1999-12-28 1999-12-28 ディスク制御装置

Publications (2)

Publication Number Publication Date
JP2001188706A true JP2001188706A (ja) 2001-07-10
JP4060506B2 JP4060506B2 (ja) 2008-03-12

Family

ID=18501534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37307299A Expired - Fee Related JP4060506B2 (ja) 1999-12-28 1999-12-28 ディスク制御装置

Country Status (2)

Country Link
US (1) US6516389B1 (ja)
JP (1) JP4060506B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008191824A (ja) * 2007-02-02 2008-08-21 Nec Electronics Corp プリフェッチ方法、及びキャッシュ機構用ユニット
JP2012064158A (ja) * 2010-09-17 2012-03-29 Toshiba Corp メモリ管理装置及びメモリ管理方法
US10713053B2 (en) * 2018-04-06 2020-07-14 Intel Corporation Adaptive spatial access prefetcher apparatus and method

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931490B2 (en) * 2000-12-15 2005-08-16 Intel Corporation Set address correlation address predictors for long memory latencies
EP1345113A3 (en) * 2002-03-13 2008-02-06 Hitachi, Ltd. Management server
US6934802B2 (en) * 2002-04-19 2005-08-23 Seagate Technology Llc Band detection and performance optimization for a data storage device
JP4116413B2 (ja) * 2002-12-11 2008-07-09 株式会社日立製作所 プリフェッチアプライアンスサーバ
US7284014B2 (en) 2003-04-07 2007-10-16 Hitachi, Ltd. Pre-fetch computer system
JP2004318940A (ja) * 2003-04-14 2004-11-11 Renesas Technology Corp 記憶装置
US7240161B1 (en) * 2003-07-31 2007-07-03 Western Digital Technologies, Inc. Instruction prefetch caching for remote memory
US7099995B2 (en) * 2004-02-17 2006-08-29 International Business Machines Corporation Metadata access during error handling routines
US7487296B1 (en) * 2004-02-19 2009-02-03 Sun Microsystems, Inc. Multi-stride prefetcher with a recurring prefetch table
US7263579B2 (en) * 2004-03-24 2007-08-28 Intel Corporation Integrated circuit capable of pre-fetching data
US7313656B1 (en) * 2004-12-27 2007-12-25 Emc Corporation Pre-fetch prediction method for disk drives
US20070276989A1 (en) * 2006-05-29 2007-11-29 Sandisk Il Ltd. Predictive data-loader
KR101032050B1 (ko) 2007-06-19 2011-05-02 후지쯔 가부시끼가이샤 정보 처리 장치 및 캐시 제어 방법
TWI365456B (en) * 2008-01-07 2012-06-01 Realtek Semiconductor Corp Apparatus for predicting memory access and method thereof
JP4643667B2 (ja) * 2008-03-01 2011-03-02 株式会社東芝 メモリシステム
US8966185B2 (en) * 2012-06-14 2015-02-24 International Business Machines Corporation Cache memory prefetching
US10642513B2 (en) 2015-09-11 2020-05-05 Sandisk Technologies Llc Partially de-centralized latch management architectures for storage devices
US10025532B2 (en) * 2015-09-11 2018-07-17 Sandisk Technologies Llc Preserving read look ahead data in auxiliary latches
US11061591B2 (en) 2018-11-02 2021-07-13 Samsung Electronics Co., Ltd. Storage device processing stream data, system including the same, and operation method thereof
KR20210065605A (ko) * 2019-11-27 2021-06-04 한국전자통신연구원 선인출 정보를 이용한 메모리 제어 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769811B2 (ja) * 1988-12-21 1995-07-31 松下電器産業株式会社 データ処理装置
US5761706A (en) * 1994-11-01 1998-06-02 Cray Research, Inc. Stream buffers for high-performance computer memory system
US5694571A (en) * 1995-10-31 1997-12-02 Sun Microsystems, Inc. Utilizing a rotating randomly accessible mass storage medium as a caching device for another rotating mass storage medium
US5765213A (en) * 1995-12-08 1998-06-09 Emc Corporation Method providing for the flexible prefetching of data from a data storage system
US6055622A (en) * 1997-02-03 2000-04-25 Intel Corporation Global stride prefetching apparatus and method for a high-performance processor
JP3175675B2 (ja) * 1997-12-04 2001-06-11 日本電気株式会社 プリフェッチ制御装置
US6012106A (en) * 1997-11-03 2000-01-04 Digital Equipment Corporation Prefetch management for DMA read transactions depending upon past history of actual transfer lengths
US5941981A (en) * 1997-11-03 1999-08-24 Advanced Micro Devices, Inc. System for using a data history table to select among multiple data prefetch algorithms
US6134643A (en) * 1997-11-26 2000-10-17 Intel Corporation Method and apparatus for cache line prediction and prefetching using a prefetch controller and buffer and access history
US6253289B1 (en) * 1998-05-29 2001-06-26 Compaq Computer Corporation Maximizing sequential read streams while minimizing the impact on cache and other applications

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008191824A (ja) * 2007-02-02 2008-08-21 Nec Electronics Corp プリフェッチ方法、及びキャッシュ機構用ユニット
JP2012064158A (ja) * 2010-09-17 2012-03-29 Toshiba Corp メモリ管理装置及びメモリ管理方法
US9081661B2 (en) 2010-09-17 2015-07-14 Kabushiki Kaisha Toshiba Memory management device and method for managing access to a nonvolatile semiconductor memory
US10713053B2 (en) * 2018-04-06 2020-07-14 Intel Corporation Adaptive spatial access prefetcher apparatus and method

Also Published As

Publication number Publication date
JP4060506B2 (ja) 2008-03-12
US6516389B1 (en) 2003-02-04

Similar Documents

Publication Publication Date Title
JP4060506B2 (ja) ディスク制御装置
US7203815B2 (en) Multi-level page cache for enhanced file system performance via read ahead
US6782454B1 (en) System and method for pre-fetching for pointer linked data structures
JP3183993B2 (ja) ディスク制御システム
US20070005904A1 (en) Read ahead method for data retrieval and computer system
JPS60500187A (ja) データ処理システム
KR930002945A (ko) 프리페치버퍼 및 프리페치버퍼를 적용한 정보처리장치
KR20050034127A (ko) 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
JPH09237225A (ja) キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法
US7047362B2 (en) Cache system and method for controlling the cache system comprising direct-mapped cache and fully-associative buffer
JP2005533295A5 (ja)
WO2011049051A1 (ja) キャッシュメモリおよびその制御方法
JPH06168119A (ja) データ先読み制御装置
JP3149856B2 (ja) 磁気ディスク制御装置
JPH08263380A (ja) ディスクキャッシュ制御方式
WO2002027498A2 (en) System and method for identifying and managing streaming-data
CN110941565A (zh) 用于芯片存储访问的内存管理方法和装置
JPH11232171A (ja) 情報処理システム
JPH0773107A (ja) ディスク・システムの制御方法
JP3555523B2 (ja) メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体
CN100587676C (zh) 探测标记的控制装置
JP2786886B2 (ja) プリフェッチ制御方法およびプリフェッチ制御装置
JP2006285727A (ja) キャッシュメモリ装置
JP2000047942A (ja) キャッシュメモリ制御装置及びその制御方法
JP2000347941A (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071207

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: 20071218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071220

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

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees