JP3707854B2 - キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法 - Google Patents

キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法 Download PDF

Info

Publication number
JP3707854B2
JP3707854B2 JP04497596A JP4497596A JP3707854B2 JP 3707854 B2 JP3707854 B2 JP 3707854B2 JP 04497596 A JP04497596 A JP 04497596A JP 4497596 A JP4497596 A JP 4497596A JP 3707854 B2 JP3707854 B2 JP 3707854B2
Authority
JP
Japan
Prior art keywords
data
importance
cache
read
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP04497596A
Other languages
English (en)
Other versions
JPH09237225A (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.)
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 JP04497596A priority Critical patent/JP3707854B2/ja
Priority to US08/802,840 priority patent/US5906000A/en
Publication of JPH09237225A publication Critical patent/JPH09237225A/ja
Application granted granted Critical
Publication of JP3707854B2 publication Critical patent/JP3707854B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

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)

Description

【0001】
【発明の属する技術分野】
本発明は、キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法に関する。
【0002】
【従来の技術】
キャッシュとは、コンピュータにおいてCPUから読み出し要求のあったデータ及びこのデータに連続する読み出されることが予想されるデータをCPUの近傍に配したキャッシュメモリ(高価だが高速動作可能なSRAMを用いて構成される)に蓄え、次にCPUがデータを読もうとした時に目的とするデータがキャッシュメモリに存在すれば本来のデータ読出し先からではなく、キャッシュメモリ中に存在するデータから読み出す技術である。このキャッシュ機能により、CPUの読出しウェイトを低減して、コンピュータの総合的な処理速度を向上させることができる。
【0003】
キャッシュメモリの記憶容量は、データ読出し先となる主記憶装置(メインメモリ)や補助記憶装置(ハードディスク装置(HDD)、フロッピーディスク装置(FDD))等の記憶容量に比較して、極めて小さく限られてしまうため、データ読出し先から読出したデータをキャッシュメモリに記憶させようとする場合には、キャッシュメモリに存在する古いデータを消去していく必要がある。
【0004】
従来のキャッシュメモリ制御方法では、キャッシュメモリ中に存在するデータを消去する際、消去の対象となったデータについては、読み込んだ新しいデータのために、キャッシュメモリ上から無条件に消去している。
【0005】
【発明が解決しようとする課題】
ここで、データの読出し頻度に対するキャッシュメモリの高速化の効果について考えてみると、「読み出される頻度が高いデータである程、該当データがキャッシュメモリに記憶されている場合のキャッシュメモリによる高速化の効果は高くなる」ことは明らかである。従って、記憶容量が小さいキャッシュメモリには読出し頻度の高いデータをより長期間保存しておくことが、キャッシュメモリによる高速化の効果を高めることになる。
【0006】
しかしながら、従来のキャッシュでは、新しく読み込んだデータのために単純に古いデータがキャッシュメモリ上から消去されていた。すなわち、新たにキャッシュメモリに書き込もうとする読出し頻度の低いデータのために、読出し頻度の高いデータがキャッシュメモリから消去されていた。
【0007】
本発明は前記のような事情を考慮してなされたもので、読出し頻度の高いデータをより長期間、キャッシュメモリに記憶させておくことが可能なキャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、キャッシュ機能を有するコンピュータにおいて、読み出しの対象となるデータが本来存在する位置を示す出所データと、読み出しの対象となる頻度に応じたデータの重要度を示す重要度データとを対応づけて格納する重要度テーブルと、読み出されたデータと共に、同データに対応する前記重要度テーブルに格納されている重要度データを対応付けて格納するためのキャッシュメモリと、読み出したデータを前記キャッシュメモリに格納しようとする際に、読み出したデータの位置に応じて前記重要度テーブルから得られる第1の重要度データと、前記キャッシュメモリのデータの格納先に存在する先に格納されているデータに対応する第2の重要度データとを比較し、前記第2の重要度データの値の方が高い場合には前記第2の重要度データの値を下げ、前記第2の重要度データの値の方が高くない場合には、読み出したデータを前記第1の重要度データと対応付けて前記キャッシュメモリに格納するキャッシュコントローラとを具備したことを特徴とする。
【0009】
このような構成によれば、重要度の高いデータ、すなわちCPUにより頻繁に読み込みが行なわれるデータがキャッシュメモリに格納されている期間が長くなる。従って、キャッシュヒットする(CPUが読み込もうとしているデータがキャッシュメモリに存在している)可能性が高くなり、主記憶装置や外部記憶装置等からデータを読み出す頻度がより低減される。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。図1は本実施形態に係わるコンピュータの構成を示すブロック図である。図1に示すように、コンピュータには、CPU10、CPUバス12、キャッシュコントローラ14、重要度テーブル16、キャッシュメモリ18、主記憶装置20、バスブリッジ22、PCIバス24、補助記憶装置26、バスブリッジ28、ISAバス30、ROM32を含んで構成されている。
【0011】
CPU10は、CPUバス12と接続され、キャッシュコントローラ14による制御によって実現されるキャッシュを利用してコマンドまたはデータに対してアクセスする。
【0012】
CPUバス12は、バスブリッジ22と、CPU10及びキャッシュコントローラ14とを相互に接続する。
キャッシュコントローラ14は、CPU10からのコマンドまたはデータへのアクセス要求に対して、重要度テーブル16に格納されたデータ(後述する)に基づいて、キャッシュメモリ18についてのキャッシュ動作を制御する。
【0013】
重要度テーブル16は、予め、CPU10によるアクセスの対象となるコマンド(群)またはデータ(群)についての、本来存在する位置を示す「出所」データと、そのコマンド(群)またはデータ(群)の重要度を示す(CPU10によるアクセス対象となる頻度に応じた)「重要度」データとを対応づけて格納する。
【0014】
キャッシュメモリ18は、例えばSRAMによって構成され、キャッシュコントローラ14の制御のもとで、所定の単位(キャッシュブロック)毎にコマンドまたはデータを格納する。キャッシュメモリ18には、コマンドまたはデータを格納するためのデータ領域、データ領域に格納されたコマンドまたはデータを管理するための情報を格納するためのタグ領域が設けられている。
【0015】
主記憶装置20は、例えばDRAMによって構成され、CPU10によるアクセスの対象となるコマンドやデータ等を記憶する。
バスブリッジ22は、CPUバス12とPCIバス24との間を接続する。
【0016】
PCIバス24には、補助記憶装置26の他、周辺装置が接続される。
補助記憶装置26は、ハードディスク装置(HDD)やフロッピーディスク装置(FDD)であり、CPU10によりアクセス対象となるデータ等を格納している。
【0017】
バスブリッジ28は、PCIバス24とISAバス30との間を接続する。
ISAバス30は、バスブリッジ28を介してPCIバス24と接続され、ROM32(BIOS)やその他のデバイスが接続される。
【0018】
ROM32は、ISAバス30に接続され、BIOSなどのCPU10によりアクセス対象となるデータ等を格納している。
図2にはキャッシュメモリ18のタグ領域中に格納されるタグに含まれる情報の一例を示している。図2に示すように、タグには、対応するキャッシュブロックに記憶されたデータが有効であるか否かを示すvalid フラグ40、キャッシュブロック中のデータの重要度を示す重要度データ42、及び本来データが存在している位置を示すアドレス(またはその一部)44が含まれている。なお、図示していないが、キャッシュメモリ(データ領域)に記憶するデータを管理するための他のフラグが設けられていても良い。
【0019】
重要度データは、キャッシュブロックにデータを記憶させる際に、重要度テーブル16に格納された対象とするデータに対応する「重要度」データがキャッシュコントローラ14によって読み出されて、CPU10のアクセス要求の対象であるコマンドまたはデータと共に記憶される。
【0020】
図3にはキャッシュコントローラ14中の重要度テーブル16に格納されるデータの一例を示している。図3に示すように、重要度テーブルは、予め、CPU10によるアクセス対象となる記憶媒体(主記憶装置20、補助記憶装置26、ROM32、その他周辺装置等)に格納されたデータ毎に、データが存在している位置を示す「出所」データと、そのデータの重要度を示す「重要度」データとが対応づけられて登録されている。
【0021】
「出所」データは、例えば主記憶装置20、ROM32、補助記憶装置26等の所定の領域(データ)を示すアドレスである。また、「重要度」データは、例えばデータの重要度を1バイト(256段階)で定義したデータである。
【0022】
重要度テーブル16には、例えばROM32に格納されたBIOS、主記憶装置20の所定の領域に格納されるコマンドやデータ等に対して、CPU10によるデータの読出し頻度に基づいて、任意に重要度が設定される。また、コンピュータにおいて使用されるOS(オペレーティングシステム)やアプリケーションに応じた所定のデータに対して設定することもできる。例えば、動的リンクを行なうシステムにおいては、プログラムあるいは関数のライブラリの優先度が高くなるように重要度を設定することもできる。
【0023】
次に、本実施形態におけるキャッシュコントローラ14の動作について、図4に示すフローチャートを参照しながら説明する。図5はキャッシュコントローラ14がデータを読み込む際の動作を説明するための図、図6はキャッシュコントローラ14のキャッシュメモリ18に対するキャッシュ制御の動作を説明するための図である。
【0024】
キャッシュコントローラ14は、CPUバス12上のデータの流れを監視している。CPU10からアクセス要求がCPUバス12に発行されると、キャッシュコントローラ14は、このCPU10から発行されたアクセス要求を検出する(ステップS1)。
【0025】
キャッシュコントローラ14は、アクセス対象とするコマンドまたはデータのアドレスをもとにキャッシュメモリ18のタグ領域(アドレス部)をチェックし、アクセス要求のあったデータがキャッシュメモリ18のデータ領域中に存在するか否かを判別する(ステップS2)。
【0026】
ここで、キャッシュヒットの(キャッシュメモリ18に要求するデータが存在する)とき、キャッシュコントローラ14は、キャッシュメモリ18中の該当するキャッシュブロック中のデータをCPU10に供給する。
【0027】
一方、キャッシュミスのとき、キャッシュコントローラ14は、アクセス対象とするデータを、主記憶装置20の他、補助記憶装置26、ROM32等から読み込む(ステップS4)。読み込まれた新しいデータがCPU10に出力される一方で、キャッシュコントローラ14は、読み込んだ新しいデータに対し、キャッシングのために、図5に示すように動作する。
【0028】
キャッシュコントローラ14は、読み込んだデータに対応する重要度を重要度テーブル16から参照する(ステップS5)。すなわち、キャッシュコントローラ14は、読み込んだデータに対応するアドレスに基づいて、重要度テーブル16の「出所」データを参照し、読み込んだデータに該当する「重要度」データを求める。ここで、該当する「重要度」データが存在しない場合には、読み込んだデータに対する「重要度」データの値を「0」とする。
【0029】
ここで、キャッシュコントローラ14は、読み込んだデータを格納するための、キャッシュメモリ18のキャッシュブロックを決定する。キャッシュメモリ18のデータ領域中に空きキャッシュブロックがある場合、すなわちキャッシュブロック中のデータのリプレースが不要な場合(ステップS6)、キャッシュコントローラ14は、読み込んだデータを無条件に空きキャッシュブロックに格納(キャッシング)する。
【0030】
例えば、読み込んだデータをdataXとすると、図6(a)に示すように、空いているキャッシュブロックに格納する。その際、キャッシュメモリ18は、dataXに対応する「重要度」データを、該当するキャッシュブロックのタグ領域に書き込む。
【0031】
一方、キャッシュメモリ18のデータ領域中に空きキャッシュブロックがなく、データが書き込まれているキャッシュブロックに新たにデータを書き込もうとする時、すなわちキャッシュブロック中のデータのリプレースが必要な場合(ステップS6)、キャッシュコントローラ14は、リプレースの対象とするキャッシュブロックを決定し(ステップS8)、この対象とするキャッシュブロックのタグ領域に格納されている重要度データと、書き込もうとする新たなデータの「重要度」データ(重要度テーブル16から得られた「重要度」データ)とを比較する(ステップS9)。
【0032】
この結果、タグ領域中の重要度データの値の方が大きい場合、すなわちキャッシュメモリ18に書き込まれているデータの方が重要度が高い場合には、キャッシュコントローラ14は、新たに書き込もうとしていたデータについて、キャッシュブロックへのデータ書き込みを行なわない。
【0033】
この場合、キャッシュコントローラ14は、対象としているキャッシュブロックに対応するタグ中の重要度の値を例えば「1」下げる(ステップS11)。これは、リプレースの対象となったキャッシュブロックであるにも関わらず、重要度の値が高いために、キャッシュメモリ18に格納され続けてしまうことを防ぐためである。
【0034】
一方、タグ領域中の重要度データの値の方が大きくない場合、すなわち新しく読み込んだデータの方が重要度が高い場合には、キャッシュコントローラ14は、キャッシュメモリ18中の該当するキャッシュブロック中のデータを破棄(キャッシュ上で変更されている場合には主記憶装置20等の元の位置に書き戻す)し、読み込んだ新しいデータをキャッシュブロックに書き込む(ステップS12)。その際、新しいデータを書き込んだキャッシュブロックのタグには、新しいデータに対応する重要度テーブル16から得られた「重要度」データをアドレスと共に格納する。
【0035】
例えば、図6(b)に示すように、新たなデータdataXの重要度が高い場合には、古いデータdata1を破棄し、新しいデータに対応する「重要度」データを含むtagXと共に、キャッシュブロックにdataXを格納する。
【0036】
一方で、キャッシュされているデータdata1の重要度の方が高い場合には、新しいデータはキャッシュメモリ18には格納されない。
このようにして、キャッシュコントローラ14によって参照される重要度テーブル16に、CPU10によるアクセスの対象となるコマンド(群)またはデータ(群)についての、本来存在する位置を示す「出所」データと、その重要度を示す(CPU10によるアクセス対象となる頻度に応じた)「重要度」データとを対応づけて格納し、新しく読み込んだデータをキャッシュメモリ18に格納しようとする際に、キャッシュメモリ18上のデータの重要度と比較して、重要度の高い方のデータをキャッシュメモリ18に残す。これにより、CPU10によるアクセス対象となる頻度の高いデータを、より長期間、キャッシュメモリ18に保存させておくことができる。従って、キャッシュヒットする割合が増えて、データリード時のウェイト動作が減るために、プログラム実行速度が高速化され、コンピュータ全体の処理速度の向上が図れる。
【0037】
なお、前述した実施形態においては、キャッシュコントローラ14中の重要度テーブル16に格納される重要度を示す「重要度」データと、データの本来の存在位置を示す「出所」データとを予め格納しておくものとして説明しているが、重要度テーブル中のデータは動的に変更できるようにしても良い。
【0038】
例えば、重要度テーブル16中に格納された「出所」データに対応する元データの位置、例えば主記憶装置20中のデータの位置が変更される場合には、変更後のアドレスに重要度テーブル16の「出所」データを変更する。
【0039】
また、前述した実施形態においては、重要度テーブル16は、キャッシュコントローラ14中に設けられる構成としているが、キャッシュコントローラ14によって直接アクセスできる外部のメモリとしても良い。この場合、ROM32や主記憶装置20等における本来のデータの位置が変更された際、重要度テーブルが記憶されたメモリを交換することによって対処できるようにしても良い。
【0040】
【発明の効果】
以上詳述したように本発明によれば、CPUによって読出しの対象となるデータの「出所」とその「重要度」を記録してある重要度テーブルを設け、その重要度テーブルをもとにキャッシュ動作の制御を行なうことによって、頻繁に読み出されるデータ(重要度の高いデータ)がより長期間キャッシュメモリに保存されるようになるので、「キャッシュヒット率」が向上し、その結果、主記憶装置や補助記憶装置からの読出し回数が低減されて、コンピュータの全体からみたときの動作速度を向上させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係わるコンピュータの構成を示すブロック図。
【図2】本実施形態におけるキャッシュメモリのタグ領域中に格納されるタグに含まれる情報の一例を示す図。
【図3】本実施形態におけるキャッシュコントローラ中の重要度テーブルに格納されるデータの一例を示す図。
【図4】本実施形態におけるキャッシュコントローラの動作を説明するためのフローチャート。
【図5】本実施形態におけるキャッシュコントローラがデータを読み込む際の動作を説明するための図。
【図6】本実施形態におけるキャッシュコントローラのキャッシュメモリに対するキャッシュ制御の動作を説明するための図。
【符号の説明】
10…CPU
12…CPUバス
14…キャッシュコントローラ
16…重要度テーブル
18…キャッシュメモリ
20…主記憶装置
22,28…バスブリッジ
24…PCIバス
26…補助記憶装置
30…ISAバス
32…ROM(BIOS−ROM)

Claims (2)

  1. キャッシュ機能を有するコンピュータにおいて、
    読み出しの対象となるデータが本来存在する位置を示す出所データと、読み出しの対象となる頻度に応じたデータの重要度を示す重要度データとを対応づけて格納する重要度テーブルと、
    読み出されたデータと共に、同データに対応する前記重要度テーブルに格納されている重要度データを対応付けて格納するためのキャッシュメモリと、
    読み出したデータを前記キャッシュメモリに格納しようとする際に、読み出したデータの位置に応じて前記重要度テーブルから得られる第1の重要度データと、前記キャッシュメモリのデータの格納先に存在する先に格納されているデータに対応する第2の重要度データとを比較し、前記第2の重要度データの値の方が高い場合には前記第2の重要度データの値を下げ、前記第2の重要度データの値の方が高くない場合には、読み出したデータを前記第1の重要度データと対応付けて前記キャッシュメモリに格納するキャッシュコントローラと
    を具備したことを特徴とするキャッシュ機能を有するコンピュータ。
  2. キャッシュ機能を有するコンピュータにおいて、
    読み出しの対象となるデータに対して、予め読み出しの対象となる頻度に応じた重要度を示す重要度データを設定し、
    読み出されたデータをキャッシュメモリに格納する際に、同データについて予め設定された重要度データを対応付けて格納するものであって、
    読み出したデータを前記キャッシュメモリに格納しようとする際に、読み出したデータの予め設定された第1の重要度データと、前記キャッシュメモリのデータの格納先に存在する先に格納されているデータに対応する第2の重要度データとを比較し、前記第2の重要度データの値の方が高い場合には前記第2の重要度データの値を下げ、前記第2の重要度データの値の方が高くない場合には、読み出したデータを前記第1の重要度データと対応付けて前記キャッシュメモリに格納することを特徴とするキャッシュメモリ制御方法。
JP04497596A 1996-03-01 1996-03-01 キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法 Expired - Fee Related JP3707854B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP04497596A JP3707854B2 (ja) 1996-03-01 1996-03-01 キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法
US08/802,840 US5906000A (en) 1996-03-01 1997-02-18 Computer with a cache controller and cache memory with a priority table and priority levels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04497596A JP3707854B2 (ja) 1996-03-01 1996-03-01 キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法

Publications (2)

Publication Number Publication Date
JPH09237225A JPH09237225A (ja) 1997-09-09
JP3707854B2 true JP3707854B2 (ja) 2005-10-19

Family

ID=12706483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04497596A Expired - Fee Related JP3707854B2 (ja) 1996-03-01 1996-03-01 キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法

Country Status (2)

Country Link
US (1) US5906000A (ja)
JP (1) JP3707854B2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6330643B1 (en) * 1998-02-17 2001-12-11 International Business Machines Corporation Cache coherency protocols with global and local posted operations
US6301627B1 (en) * 1998-12-18 2001-10-09 International Business Machines Corporation Method/system for identifying delayed predetermined information transfer request as bypassable by subsequently-generated information transfer request using bypass enable bit in bridge translation control entry
US6260090B1 (en) * 1999-03-03 2001-07-10 International Business Machines Corporation Circuit arrangement and method incorporating data buffer with priority-based data storage
US6658462B1 (en) 1999-08-26 2003-12-02 International Business Machines Corporation System, method, and program for balancing cache space requirements with retrieval access time for large documents on the internet
EP1182551B1 (en) * 2000-08-21 2017-04-05 Texas Instruments France Address space priority arbitration
JP2002207620A (ja) * 2001-01-10 2002-07-26 Toshiba Corp ファイルシステム及び該システムにおけるデータキャッシング方法
US7383387B2 (en) * 2002-12-13 2008-06-03 Sap Ag Document transformation tool
JP4066833B2 (ja) * 2003-02-18 2008-03-26 日本電気株式会社 ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム
KR100562906B1 (ko) * 2003-10-08 2006-03-21 삼성전자주식회사 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20050188158A1 (en) * 2004-02-25 2005-08-25 Schubert Richard P. Cache memory with improved replacement policy
US7177984B1 (en) * 2004-04-16 2007-02-13 Apple Computer, Inc. Cache management using historical access information
JP4753549B2 (ja) * 2004-05-31 2011-08-24 パナソニック株式会社 キャッシュメモリおよびシステム
WO2007001518A1 (en) * 2005-06-14 2007-01-04 Broadband Royalty Corporation Media stream distribution system
US7529876B2 (en) * 2006-02-07 2009-05-05 International Business Machines Corporation Tag allocation method
US20080086599A1 (en) * 2006-10-10 2008-04-10 Maron William A Method to retain critical data in a cache in order to increase application performance
US20080086598A1 (en) * 2006-10-10 2008-04-10 Maron William A System and method for establishing cache priority for critical data structures of an application
US7627595B2 (en) * 2006-12-06 2009-12-01 Verizon Data Services Inc. Apparatus, method, and computer program product for synchronizing data sources
KR100922389B1 (ko) * 2007-07-04 2009-10-19 삼성전자주식회사 플래시 메모리를 위한 색인 스킴
JP2009151457A (ja) * 2007-12-19 2009-07-09 Nec Corp キャッシュメモリシステムおよびキャッシュメモリ制御方法
JPWO2012102002A1 (ja) * 2011-01-24 2014-06-30 パナソニック株式会社 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、記録媒体、及び集積回路
WO2013095636A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Address range priority mechanism
KR101436049B1 (ko) * 2012-06-01 2014-09-01 에스케이텔레콤 주식회사 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US9372811B2 (en) 2012-12-13 2016-06-21 Arm Limited Retention priority based cache replacement policy
KR102147356B1 (ko) * 2013-09-30 2020-08-24 삼성전자 주식회사 캐시 메모리 시스템 및 그 동작방법
JP6131818B2 (ja) * 2013-10-10 2017-05-24 富士通株式会社 キャッシュ方法、キャッシュ装置、およびコンピュータプログラム
KR20160148952A (ko) * 2015-06-17 2016-12-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10126985B2 (en) * 2015-06-24 2018-11-13 Intel Corporation Application driven hardware cache management
US10169235B2 (en) 2015-12-15 2019-01-01 Apple Inc. Methods of overriding a resource retry
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
CN112148640B (zh) * 2019-06-26 2024-08-27 深圳市航顺芯片技术研发有限公司 一种高速缓冲存储器的替换方法、高速缓冲存储器及计算机系统
JP2023125196A (ja) * 2022-02-28 2023-09-07 株式会社東芝 データ記録装置、および、データ記録方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
JPH0358252A (ja) * 1989-07-27 1991-03-13 Nec Corp キャッシュメモリ制御装置
JPH07271672A (ja) * 1994-03-30 1995-10-20 Toshiba Corp マルチウェイセットアソシアティブキャッシュシステム
EP0735487B1 (en) * 1995-03-31 2001-10-31 Sun Microsystems, Inc. A fast, dual ported cache controller for data processors in a packet switched cache coherent multiprocessor system

Also Published As

Publication number Publication date
JPH09237225A (ja) 1997-09-09
US5906000A (en) 1999-05-18

Similar Documents

Publication Publication Date Title
JP3707854B2 (ja) キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法
JP3944504B2 (ja) 変換索引バッファのレイジー・フラッシング
US8214595B2 (en) Storage system which utilizes two kinds of memory devices as its cache memory and method of controlling the storage system
US7055000B1 (en) Disk drive employing enhanced instruction cache management to facilitate non-sequential immediate operands
US7613870B2 (en) Efficient memory usage in systems including volatile and high-density memories
JP5434738B2 (ja) ディスク装置
JP3898782B2 (ja) 情報記録再生装置
RU2427892C2 (ru) Способ и устройство для установки политики кэширования в процессоре
US20100088459A1 (en) Improved Hybrid Drive
JPH037978B2 (ja)
JP2003216491A (ja) 階層キャッシュ制御方法
JP2011238175A (ja) 情報処理装置およびドライバ
KR20100132244A (ko) 메모리 시스템 및 메모리 시스템 관리 방법
JP2005301591A (ja) 不揮発性メモリを備えた装置及びメモリコントロ−ラ
JP3568110B2 (ja) キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置
US7913029B2 (en) Information recording apparatus and control method thereof
CN110716887B (zh) 一种支持写暗示的硬件高速缓存数据装入方法
JP2001147855A (ja) 不揮発性メモリへのデータ書き込み方法および情報処理装置ならびに記録媒体
JP2003036204A (ja) フラッシュ型メモリの更新方法
JP3710351B2 (ja) データ処理装置
JP2000047942A (ja) キャッシュメモリ制御装置及びその制御方法
JP3200252B2 (ja) ディスクキャッシュ制御方法
JPS603224B2 (ja) ペ−ジ・バツフア・メモリにおけるペ−ジ格納域数調整用デ−タ作成方式
JP2002108704A (ja) ディスクキャッシュ制御システム
JP4724289B2 (ja) データ処理装置およびデータ処理装置のメモリアクセス制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050706

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050802

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

Free format text: PAYMENT UNTIL: 20090812

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees