JP2013041414A - 記憶制御システムおよび方法、置換方式および方法 - Google Patents

記憶制御システムおよび方法、置換方式および方法 Download PDF

Info

Publication number
JP2013041414A
JP2013041414A JP2011177710A JP2011177710A JP2013041414A JP 2013041414 A JP2013041414 A JP 2013041414A JP 2011177710 A JP2011177710 A JP 2011177710A JP 2011177710 A JP2011177710 A JP 2011177710A JP 2013041414 A JP2013041414 A JP 2013041414A
Authority
JP
Japan
Prior art keywords
data
storage means
address
stored
partial data
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
JP2011177710A
Other languages
English (en)
Other versions
JP5699854B2 (ja
Inventor
Takatsugu Ono
貴継 小野
Takeshi Shimizu
剛 清水
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011177710A priority Critical patent/JP5699854B2/ja
Priority to US13/545,073 priority patent/US9311988B2/en
Publication of JP2013041414A publication Critical patent/JP2013041414A/ja
Application granted granted Critical
Publication of JP5699854B2 publication Critical patent/JP5699854B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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/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
    • 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/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】キャッシュ置換方法に関し、無駄なプリチャージを削減しメモリの消費電力を削減する。
【解決手段】DRAM100内のロウバッファ102は、メモリアレイ101から所定のデータ長を単位とするいずれかのデータを読み出して格納する。LLC206は、ロウバッファ102に記憶されたデータの一部をキャッシュデータとして抽出して記憶するキャッシュメモリである。MAC601において、LLC206の追い出し制御が実施される場合に、MRQ203のキューイング状態に基づいて近い将来ロウバッファ102にどのDIMMアドレスのデータが記憶されるかを予測する。MACにおいて、LLC上の追い出し対象範囲702のキャッシュデータデータの各物理アドレスをDIMMアドレスに変換する。変換された各アドレスと予測されたデータのアドレスとが一致した場合に、その一致アドレスに対応するキャッシュデータを優先してLLCから追い出す。
【選択図】図8

Description

本発明は、キャッシュ機能を有する記憶制御システムおよび方法、ならびに置換方式および方法に関する。
ダイナミックランダムアクセスメモリ(以下、「DRAM」と呼ぶ)にデータを書き込む際には、該当するバンクのロウアドレス(ここでは「ロウアドレスA」と呼ぶ)をロウバッファに読み出し、データをカラムアドレスで指定される内容に書き込む。このとき、一度ロウバッファにロウアドレスを格納すると、同一ロウ内では異なるカラムアドレスにアクセス可能となる。一方、同一バンク内で異なるロウアドレス(ここでは「ロウアドレスB」と呼ぶ)にアクセスする必要が生じた場合、現在ロウバッファにあるロウアドレスAを書き戻し、ロウアドレスBをロウバッファに格納しなければならない。DRAMにおけるこのような書戻し動作は、プリチャージと呼ばれる。
メモリコントローラ内にあるリクエストキューにおいて、原則としてリクエストキュー内で最も長い時間待たされているリクエスト(メモリアクセス要求)から順に、各リクエストが優先的に発行される。上記のDRAMの特性を活かし効率的にアクセスするため、同一のロウアドレスを有する複数のリクエストはまとめて発行されるスケジューリング方式が用いられる。メモリコントローラは、次にどのロウアドレスをロウバッファに格納すべきかを、このアルゴリズムに従って決定する。
DMAによる連続アドレスの予測や過去のアクセス履歴に基づいてキャッシュからの追い出しを行なう方式あるいは主記憶アクセス数を減らす方式なども提案されている。(特許文献1、特許文献2)
特開平9-244957号公報 特開平6-103169号公報 特表2005−518606号公報 特開2005−174342号公報
従来は、キャッシュメモリの置換方式はDRAMのロウバッファにどのロウアドレスが格納されるかの考慮が不十分であった。したがって、近い将来ロウバッファに格納されるロウアドレスがBであったとしても、キャッシュから追い出されるラインはB以外のロウアドレスである可能性が高い。このような場合には、ロウアドレスBを一度プリチャージしたのちに他のロウアドレスをロウバッファに格納することが必要になる。したがって、従来のスケジューリング方式は、キャッシュの追出し制御が、メモリにおけるプリチャージの回数を増加させ、消費電力を増加させる原因となってしまうという問題点を有していた。
そこで、本発明の1つの側面では、プリチャージ数の削減を図ることを目的とする。ひいては、メモリの消費電力を削減することを目的とする。
態様の一例では、所定のデータ長を単位としてデータの読み書きが可能な第1の記憶手段と、第1の記憶手段から所定のデータ長を単位とするいずれかのデータを読み出して格納する第2の記憶手段と、第2の記憶手段に記憶されたいずれかのデータの一部を部分データとして抽出して記憶する第3の記憶手段と、部分データ又は部分データが更新されて得られる更新部分データを第3の記憶手段から削除可能とする際に、第2の記憶手段に部分データの抽出元のデータが記憶されていない場合に、第1の記憶手段から部分データの抽出元のデータを読み出して第2の記憶手段に記憶させて、部分データ又は更新部分データを用いて部分的に上書きしてから第1の記憶手段に書き込み、第2の記憶手段に部分データの抽出元のデータが記憶されている場合に、第2の記憶手段に記憶されている部分データの抽出元のデータについて、部分データ又は更新部分データを用いて部分的に上書きしてから第1の記憶手段に書き込み、第2の記憶手段に抽出元のデータが記憶されている部分データ又は更新部分データを優先して第3の記憶手段から削除する処理を行う制御手段とを備える。
プリチャージ数の削減を図ることができる。
DRAMの構成図である。 一般的なメモリアクセスコントローラの構成図である。 メモリアクセス・スケジューリングアルゴリズム:First−Come First−Serve(FCFS)の説明図である。 メモリアクセス・スケジューリングアルゴリズム:First−Ready First−Come First−Serve(FR−FCFS)の説明図である。 一般的に考えられるキャッシュライン置換方式の説明図である。 本実施形態の第1のブロック図である。 本実施形態のキャッシュライン置換方式の説明図(その1)である。 本実施形態のキャッシュライン置換方式の説明図(その2)である。 本実施形態の第2のブロック図である。 本実施形態のハードウェア構成図である。 キャッシュミスの特性に応じて追い出し対象範囲を決定する方式の説明図である。
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、DRAMの構成図である。
DRAMのメモリアレイ(図中、「Memory Array」と表記。以下の図でも同様。)101には、ロウバッファ(図中、「Row Buffer」と表記。以下の図でも同様。)102が接続される。また、メモリアレイ101には、ロウデコーダ(図中、「Row Decoder」と表記。以下の図でも同様。)103が接続される。また、ロウバッファ102には、カラムデコーダ(図中、「Column Decoder」と表記。以下の図でも同様。)104が接続される。ロウバッファ102は例えば、1024から2048バイト程度の記憶容量を有する。
DRAMアクセス(図中、「Access」と表記。)の読み出しでは、ロウデコーダ103にアクセスして要求ページデータをロウバッファ102に格納する。続いて、カラムデコーダ104にアクセスして、ロウバッファ102内の要求データ(図中、「Data」と表記。)にアクセスする。このアクセス動作は、DRAMアクセスが読出し要求である場合には、ロウバッファ102内の要求データを読み出す動作である。一方、DRAMアクセスが書込み要求である場合には、ロウバッファ102内の要求データに対して、書き込むべきデータを上書きする動作である。
次にDRAMアクセスの書込みでは、ロウバッファ102にアクセスするデータがすでに格納されているデータと同じロウアドレスの場合、ロウバッファ102にあるデータにアクセスして要求データがメモリアレイ101に書き込まれる。一方、ロウバッファ102に格納されているデータアドレス以外のアドレスがアクセスされた場合には、ロウバッファ102にあるデータをメモリアレイ101に書き戻す動作が実行される。この書戻し動作は、プリチャージと呼ばれる。そして、その書戻し動作の後に、必要なページデータをロウバッファ102に格納し、続いてロウバッファ102に格納されたデータにアクセスする。
DRAMを構成する複数のバンク(図中、「Bank0」「Bank1」・・・「BankN」等と表記。)のそれぞれごとに、上述の構成が実装される。すなわち、DRAMでは、各バンクごとのメモリアレイ101に対して、それぞれに対応するロウバッファ102、ロウデコーダ103、およびカラムデコーダ104を介して、並列アクセスが可能である。
図2は、図1のDRAM100にアクセスするためのメモリアクセスコントローラ(図中、「MAC(Memory Access controller)」と表記。以下、「MAC」と呼ぶ)201の一般的な構成図である。MAC201は、インターコネクト(図中、「Interconnect」と表記。)207を介して、LLC(図中、「Last Level Cache」と表記。)206に接続される。LLC206は、プロセッサコア205に接続される最終段(最もDRAM100寄り)のキャッシュメモリであり、例えば256から512バイト程度の記憶容量を有する。MAC201は、PA/DA変換部202、メモリリクエストキュー(図中、「MRQ(Memory Request Que)と表記。以下、「MRQ」と呼ぶ」、およびスケジューラ204(図中、「Scheduler」と表記。)を備える。PA/DA変換部202は、LLC206から発行される物理アドレス(以下、「PA」と略す場合がある)を、DRAM100が解釈できるDIMM(Dual Inline Memory Module)アドレス(以下、「DA」と略す場合がある)に変換する。MRQ203は、PA/DA変換部202から順次出力されるアドレスDAを予め定められた最大複数アドレス分キューイング(一時保持)する。MRQ203にキューイングされたアドレスDA群は、スケジューラ204によって所定の規則で読み出され、その読み出されたアドレスDAによって、DRAM100がアクセスされる。アクセスの方式は、図1で説明した通りである。
図3は、図2のスケジューラ204によって実施されるメモリアクセス・スケジューリングアルゴリズムの第1の方式である、First−Come First−Serve(以下、「FCFS」と略す)方式の説明図である。いま例えば、図2のMRQ203に、図1のロウデコーダ103に与えられるべきロウアドレスとして、図3(a)に示されるように、図2のLLC206からの到着順に、R_E、R_A、R_C、R_Aがキューイングされているとする。この場合、FCFS方式では、スケジューラ204は、ロウアドレスの到着順に、DRAM100にアクセスする。すなわちまず、図3(b)に示されるように、到着が最も早いロウアドレスR_Eが取り出され、DRAM100内のロウデコーダ103(図1参照)に与えられる。この結果、DRAM100内のメモリアレイ101からロウバッファ102(図1参照)には、ロウアドレスR_Eに対応するデータがオープンされ、そのページデータ内の要求アドレスにアクセスされる。その後、MRQ203内の残りのロウアドレス群R_A、R_C、R_Aは、図3(c)に示されるように、順次先頭に詰められる。続いて、図3(d)に示されるように、到着が2番目に早いロウアドレスR_Aが取り出され、DRAM100内のロウデコーダ103に与えられる。この結果、DRAM100内のメモリアレイ101からロウバッファ102には、ロウアドレスR_Aに対応するデータがオープンされ、そのページデータ内の要求アドレスにアクセスされる。その後、MRQ203内の残りのロウアドレス群R_C、R_Aは、図3(e)に示されるように、順次先頭に詰められる。以下、上記と同様の処理が繰り返される。
図4は、図2のスケジューラ204によって実施されるメモリアクセス・スケジューリングアルゴリズムの第2の方式である、First−Ready First−Come First−Serve(以下、「FR−FCFS」と略す)方式の説明図である。いま例えば、図2のMRQ203に、図1のロウデコーダ103に与えられるべきロウアドレスとして、図3(a)と同様に図4(a)に示されるように、図2のLLC206からの到着順に、R_E、R_A、R_C、R_Aがキューイングされているとする。この場合、FR−FCFS方式では、スケジューラ204は、図3で説明したFCFS方式と同様に、ロウアドレスの到着順に、DRAM100にアクセスする。すなわちまず、図4(b)に示されるように、到着が最も早いロウアドレスR_Eが取り出され、DRAM100内のロウデコーダ103に与えられる。この結果、DRAM100内のメモリアレイ101からロウバッファ102には、ロウアドレスR_Eに対応するページデータがオープンされ、そのページデータ内の要求アドレスにアクセスされる。その後、MRQ203内の残りのロウアドレス群R_A、R_C、R_Aは、図4(c)に示されるように、順次先頭に詰められる。続いて、到着が2番目に早いロウアドレスR_Aが取り出されるが、ここで図4(d)に示されるように、MRQ203内に同一のロウアドレスがある場合には、そのロウアドレスR_Aが直後にDRAM100に発行される。そして、1番目のロウアドレスR_AがDRAM100内のロウデコーダ103に発行されることによって、DRAM100内のメモリアレイ101からロウバッファ102には、ロウアドレスR_Aに対応するページデータがオープンされ、そのページデータ内の要求アドレスにアクセスされる。さらに、2番目のロウアドレスR_Aについては、すでにR_Aに対応するページデータがロウバッファ102にオープンされている。このため、R_Aに対応するページデータが再度メモリアレイ101からロウバッファ102にオープンされる動作は実行されず、ロウバッファ102内の要求アドレスに即座にアクセスされる。その後、MRQ203内の残りのロウアドレスR_Cは、図4(e)に示されるように、先頭に詰められる。以下、上記と同様の処理が繰り返される。このように、FR−FCFS方式では、MRQ203内にある同一のロウアドレスがまとめられてDRAM100に発行されることにより、高速なリード/ライト処理が可能となる。
次に、図2のLLC206でのキャッシュラインの置換処理も含めたFR−FCFS方式によるメモリアクセス・スケジューリング処理について説明する。図5は、一般的に考えられるキャッシュライン置換方式の説明図である。まず、LLC206におけるキャッシュラインの置換ポリシとしては、一般的に、LRU(Least Recently Used)ポリシが採用される。LRUポリシでは、現在アクセスされているキャッシュブロック上の各キャッシュウェイのうち、最近最も使われなかったキャッシュウェイのキャッシュデータが置換される。LRUポリシでは、キャッシュメモリ上の各キャッシュウェイが、それぞれのキャッシュデータへのアクセス頻度順にLRUポジションとして管理する。そして、LRUポジションの最もL側の(最も長い時間アクセスがない)キャッシュウェイのキャッシュデータを、LLC206からDRAM100に追い出す。MAC201では、PA/DA変換部202(図2参照)により、追い出された物理アドレスPAが、DIMMアドレスDAに変換され、MRQ203に格納される。図5(a)の例では、ここで初めて、追い出された物理アドレスPA4 に対応するキャッシュデータがロウアドレスR_Bに対応するデータであることが判明する。ここで、図5(b)に示されるように、ロウバッファ102に現在、ロウアドレスR_Aに対応するページデータがオープンされているとする。このような場合には、これから発行しようとするロウアドレスR_Bに対応するページデータは、ロウバッファ102上には無いため、両者が不一致となるいわゆるロウバッファミスを引き起こす。この場合、図5(b)に示されるように、ロウバッファ102上のロウアドレスR_Aに対応するページデータをメモリアレイ101にプリチャージする。その後に、図5(c)に示されるように、メモリアレイ101からロウアドレスR_Bに対応するページデータをロウバッファ102にオープンする操作が必要になる。
このように、キャッシュラインの置換処理は一般的にはFR−FCFS方式によるメモリアクセス・スケジューリング処理と連携していないため、キャッシュラインの追出し制御がDRAM100におけるプリチャージの回数を増加させ、消費電力を増加させる原因となってしまう。
上述の例では、キャッシュラインの置換ポリシとしてLRUが使用される場合の問題について説明したが、LRU以外の置換ポリシが採用された場合にも、その置換処理とメモリアクセス・スケジューリング処理が連携していなければ、同様の問題が引き起こされる。また、上述の例では、LLC206内では、物理アドレスPAを扱い、論理アドレスから物理アドレスへは上位層のキャッシュで変換されているものとするが、これに限定されずに上記と同様の問題が発生し得る。なお、図5中では、物理アドレスPAがLLC206から追い出されるように図示しているが,実際にはPAが示す位置に格納されているデータが追い出される。
このような問題に対して、本発明の実施形態では、キャッシュラインの置換処理とメモリアクセス・スケジューリング処理における次のような連携制御により、プリチャージの削減を実現する。 図6は、上述の問題点を解決する本実施形態の第1のブロック図である。
第1の記憶手段101は、所定のデータ長(例えば1024から2048バイト程度)を単位としてデータの読み書きが可能な記憶手段である。この第1の記憶手段101は、例えばDRAMのメモリアレイである。
第2の記憶手段102は、第1の記憶手段101から上述の所定のデータ長を単位とするいずれかのデータを読み出して格納する。この第2の記憶手段102は、例えばロウバッファである。
第3の記憶手段103は、第2の記憶手段102に記憶されたいずれかのデータの一部を部分データとして抽出して記憶する。この第3の記憶手段103は、例えばLLCなどのキャッシュメモリである。
制御手段104は、以下の動作を実行する。まず、制御手段104は、上述の部分データ又は部分データが更新されて得られる更新部分データを第3の記憶手段103から削除すなわち追い出し可能とする際に、次のような動作を実行する。ここで、データの削除とは、第3の記憶手段103が例えばLLCである場合に、LRU制御下で最も長い時間アクセスがないLLCのキャッシュウェイのキャッシュデータを、LLCから例えばDRAMである第1の記憶手段101に追い出すことをいう。制御手段104は、第2の記憶手段102に部分データの抽出元のデータが記憶されていない場合に、第1の記憶手段101から部分データの抽出元のデータを読み出して第2の記憶手段102に記憶させる。そして、制御手段104は、第3の記憶手段103から削除可能とする部分データ又は更新部分データを用いて第2の記憶手段102に記憶させたデータを部分的に上書きしてから、その第2の記憶手段102上のデータを第1の記憶手段101に書き込む。一方、制御手段104は、第2の記憶手段102に部分データの抽出元のデータが記憶されている場合に、第3の記憶手段103から削除可能とする部分データ又は更新部分データを用いて第2の記憶手段102に記憶されているデータを部分的に上書きする。そして、制御手段104は、その上書きが行われた第2の記憶手段102上のデータを第1の記憶手段101に書き込む。
このとき、制御手段104は、第2の記憶手段102に抽出元のデータが記憶されている部分データ又は更新部分データを優先して第3の記憶手段103から削除する処理を行う。より具体的には例えば、次のように動作する。まず、第3の記憶手段103に、プロセッサなどにより最後に書き込み又は更新されたタイミングが最も古い第1のデータと、2番目に最も古い第2のデータが記憶されているとする。そして、第1のデータの抽出元のデータ又は第2のデータの抽出元のデータのいずれかが第2の記憶手段102に記憶されている場合を考える。この場合、制御手段104は、第1又は第2のデータのうち第2の記憶手段102に記憶されている抽出元のデータに対応するほうのデータを削除可能なデータとして優先的に選択する。
図6の本実施形態の構成で、例えばロウバッファである第2の記憶手段102に記憶されているデータを抽出元とする部分データまたは更新部分データを優先して、例えばキャッシュメモリである第3の記憶手段103から削除することができる。これにより、ロウバッファである第2の記憶手段102上のデータをいったん例えばメモリアレイである第1の記憶手段101に書き戻すことなく、第2の記憶手段102上のデータを第3の記憶手段103から削除可能とするデータですぐに上書きできる。そして、この上書きが行われた第2の記憶手段102上のデータを第1の記憶手段101にすぐに書き戻すことができる。このようにして、例えばメモリアレイである第1の記憶手段101と例えばロウバッファである第2の記憶手段102との間で無駄なデータの授受を削減することが可能となる。これにより、効率的なメモリアクセスが実現され、システムの低消費電力化に貢献することが可能となる。
図7は、本実施形態によるキャッシュライン置換方式の説明図(その1)である。本実施形態では、まず、図2と同様のLLC206におけるLRUポジションの管理において、追い出し対象範囲702という監視範囲を定義する。そして、改良されたMAC701内に追加的に実装される制御部内のPA/DA変換部の機能を用いて、追い出し対象範囲702内の物理アドレス群PA(図7ではPA3 、PA4 )から、それらに対応するDIMMアドレスDA(図7ではロウアドレスR_A、R_B)を判別する。そして、判別されたDAを、ロウバッファ102と比較する。この結果、図7の例では、ロウバッファ102のロウアドレスR_Aと、MAC701内で判別された追い出し対象範囲702内のロウアドレスR_Aが一致することが検出される。この検出結果に基づいて、LLC206の追い出し対象範囲702内にある物理アドレスPA3 に対応するキャッシュラインが追い出される。このようにして、一般的なLRU置換ポリシに従えば最もL側の物理アドレスPA4 が追い出されるところを、現在のロウバッファ102のロウアドレスR_Aに対応する物理アドレスPA3 が追い出される。この結果、追い出された物理アドレスPA3 に対応するロウアドレスR_Aが、Row Decoder102に入力され、ロウアドレスR_Aに対応するアドレス線がチャージされている間に、すなわちアドレスがオープンされている間に、プリチャージをせずにMemory array101にアクセスを行いR_Aで指定されるデータが格納される。
図8は、本実施形態の更に具体的な制御を説明するためのキャッシュライン置換方式の説明図(その2)である。本実施形態の具体的な処理では、改良されたMAC701において、図4(a)〜(c)と同様の手順で、図8(a)および(b)に示されるように、FR−FCFS方式によるメモリアクセス・スケジューリング処理が実行される。この結果、まず図8(d)に示されるように、MRQ203内の先頭のロウアドレスR_Eについてロウバッファ102への対応するページデータに、アクセスが行われた後、MRQ203内で次にアクセスされるロウアドレスがR_Aと予測される。この結果、ロウバッファ102には、図8(e)に示されるように、ロウアドレスR_Aに対応するページデータが入力される。この時点で、改良されたMAC701内に追加的に実装される制御部内のPA/DA変換部の機能を用いて、LLC206内の追い出し対象範囲702内の物理アドレス群PA3 、PA4 に対応するロウアドレスR_A、R_Bが判定される。この結果、ロウアドレスR_Aが、MRQ203内で次にアクセスが予測されるロウアドレスR_Aと一致することが検出される。この検出結果に基づいて、LLC206の追い出し対象範囲702内にある物理アドレスPA3 が追い出される。追い出された物理アドレスPA3 は、MAC701内に元々備わっているPA/DA変換部202(図2参照)によって物理アドレスPA3 からDIMMアドレスであるロウアドレスR_Aに変換され、MRQ203にキューイングされる。このようにして、一般的なLRU置換ポリシに従えば最もL側の物理アドレスPA4 が追い出されるところを、現在のロウバッファ102のロウアドレスR_Aに対応する物理アドレスPA3 が追い出される。この結果、図8(c)に示されるように、MRQ203内にキューイングされた3つのロウアドレスR_Aについて、FR−FCFS処理によりまとめて、ロウアドレスがオープンの間にロウバッファ102に入るデータを順次上書きする。これにより1回プリチャージするだけで3つのロウアドレスR_Aについて順次アクセスを行うことができる。
図9は、図8の制御処理を実現するための本実施形態の第2のブロック図である。図9において、図2のメモリアクセスコントローラの一般的な構成と同じ処理を行う部分には、同じ番号を付してある。図9の改良されたMAC701が図2のMAC201と異なる部分は、制御部901を備える点である。制御部901は、アドレス変換部であるPA/DA変換部902とアドレス比較部903を備える。制御部901はまず、MRQ203から近い将来どのロウバッファ102(図1参照)がオープンになるかを予測する。この予測処理は、前述したFR−FCFSスケジューリングポリシ(図4参照)に基づいて実行される。次に、制御部901内のPA/DA変換部902は、LLC206のLRUポジションの追い出し対象範囲702(図8参照)を監視し、その範囲内にある各物理アドレスPAをDIMMアドレスDAに変換する。この場合例えば、追い出し対象範囲702内にあるLRUポジションのL側の物理アドレスPAから順次、DIMMアドレスDAに変換する。アドレス比較部903は、PA/DA変換部902から変換されたDIMMアドレスDAを一つずつ入力し、入力されたDIMMアドレスDAを、MRQ203上で近い将来オープンされると予測したDIMMアドレスDAと比較する。そして、アドレス比較部903は、DIMMアドレスDAの一致を検出した場合に、LLC206において、そのDIMMアドレスDAに対応するLRUポジションの物理アドレスのキャッシュデータを無効化する。LRUポジションの物理アドレスはたとえばダーティービットが立ったものであって更新されたものであり、やがてDRAM100のアドレスに対応データが書き込まれるものである。これにより、LLC206において、上記一致が検出されたDIMMアドレスDAに対応するLRUポジションの物理アドレスが追い出される。一致が検出されなかった場合には、LLC206において、通常のLRUポリシに基づく追出し制御が行われる。
図9の実施形態の構成により、MRQ203内にキューイングされており近い将来にDRAM100上でロウバッファ102にオープンされる可能性のあるDIMMアドレスDA(ロウアドレス)に対応するLLC206上の物理アドレスが、優先的に追い出される。これにより、LLC206から追い出されてMAC701内のMRQ203にキューイングされたDIMMアドレスDAが、FR−FCFS制御により、MRQ203内の近い将来オープンされるDIMMアドレスDAとともに一括してアクセス処理される。このアクセス処理は将来オープンされるDIMMアドレスDAがオープンされたときそのオープンされている間に順次行われる。すなわち、本実施形態では、ロウバッファ102がオープンしている間に、オープンしているのと同じDIMMアドレスDAを有するデータがLLC206から追い出されてロウバッファ102に上書きされる。この結果、同一のDIMMアドレスDAを有するLLC206から追い出されたデータを含むMRQ203上の複数のデータが一括してロウバッファ102に対してアクセス処理されることで、DRAM100でのプリチャージ回数を削減することが可能となる。
図10は、図9の実施形態の構成を更に具体化したハードウェア構成図である。
図10において、図2および図9の構成と同じ処理を行う部分には、同じ番号を付してある。図10では、制御部901内のPA/DA変換部902とアドレス比較部903のそれぞれの構成を、具体的なハードウェアイメージで示している。まず、PA/DA変換部902は、LLC206の追い出し対象範囲702(図8参照)内の各LRUポジションにアクセスしてそれぞれ32ビットの物理アドレスPAを順次入力する。そして、入力された32ビットのアドレスを、図10の902として示されるように、Rank、Bank、Row、Column、Burstの5つのアドレス種別に分割する。なお、それぞれ分割されるアドレスのビット割当ては、DRAM100の仕様に基づいて決定される。そして、PA/DA変換部902は、上記分割したアドレスのうちDIMMアドレスDAに対応するアドレス部分(例えばRowアドレス部分)を抽出し、アドレス比較部903に出力する。アドレス比較部903は、MRQ203のエントリごとに対応した比較器1001を有する。この比較器1001は、PA/DA変換部902から出力されるDIMMアドレスDAと、MRQ203の1つのエントリから入力されたDIMMアドレスDAとが一致するか否かをビット単位で比較する論理回路群である。ここで、FR−FCFS方式に基づいて近い将来のロウバッファ102でのオープンが予測されたMRQ203のエントリの出力のみが有効になるように設定することができる。また、比較器1001は、制御部901内で将来オープンされると判定されたMRQ203内のエントリに対応する比較器1001のみがオンされるように構成することができる。なお、将来オープンされると判定されるMRQ203内のエントリは、必ずしも一つである必要はなく、オープンされる順に上位複数のエントリの出力が、それぞれに対応する比較器1001に入力して比較されるように構成することができる。そして、いずれかの比較器1001で一致が検出された場合に、その一致出力信号によって、その時点においてLLC206上で指示されているLRUポジションの物理アドレスPAのデータが無効化されて追い出される。この追い出された物理アドレスPAは、既にMRQ203内に格納されているため、MRQ203に新たに格納する必要はない。
図10の構成により、将来ロウバッファ102がオープンされる可能性の高いMRQ203内のエントリのDIMMアドレスDAと同じDIMMアドレスDAを有するLLC206の追い出し対象範囲602内の物理アドレスPAを追い出しPA/DA変換をした後MRQ203に格納できる。これにより、同一のDIMMアドレスDAを有するLLC206から追い出されるデータを含むこれらのデータが一括してロウバッファ102に対してアクセス処理される確率が高まる。
この結果、DRAM100におけるプリチャージ回数を削減でき高速アクセスが可能なキャッシュライン置換処理とメモリアクセス・スケジューリング処理を実現することができる。プリチャージを行うためには、メモリアレイ101に電力を供給しなければならない。従って、本実施形態の構成でプリチャージ回数を削減できることにより、DRAM100の消費電力を抑制することが可能となる。
本実施形態では、LRUに基づく最も利用されていないデータではなく、近い将来アクセスされる可能性のあるM番目データを追い出すことから、キャッシュミス率が上昇する可能性がある(1<M≦N、ただしNはキャッシュの連想度)。ただし,キャッシュミスが生じた後、DRAM100へアクセスしても、プリチャージの回数は本実施形態による制御方式を適用する前と比較して最大でも同数であり、DRAM100の消費電力を削減することが可能となる。
図8の追い出し対象範囲702の設定方法について、以下に説明する。
まず、追い出し対象範囲702を静的に設定する手法が採用可能である。静的手法では、事前にLLC206のキャッシュウェイ数の1/4または1/2または全てというように、追い出し対象範囲702を決定しておき,動作中にこの範囲を変更しない方式である。
追い出し対象範囲702を動的に設定する手法も採用可能である。プログラムによっては、追い出し対象範囲702を1/2とした場合はキャッシュミスを頻繁に引き起こすが、1/4の場合であればミスを引き起こさないなどの違いがある。そこで,プログラムのキャッシュミスの特性に応じて追い出し対象範囲702を決定する。プログラムの振る舞いに応じて実行中に追い出し対象範囲702を動的に変更することで、高い消費電力削減効果を得る一方で,キャッシュミス数増加に伴う性能低下を回避することができる。
ここで、追い出し対象範囲702によりDRAM100の消費電力削減効果およびキャッシュミス数増加(性能低下)に影響が出る。一般に、追い出し対象範囲702が広いと、消費電力削減効果は高いが、キャッシュミス数が増加する可能性が高くなる(性能が低下する可能性が高くなる)。一方、追い出し対象範囲702が狭いと、消費電力削減効果は低いが、キャッシュミス数が増加する可能性は低くなる(性能が低下する可能性が低くなる)。
図11は、キャッシュミスの特性に応じて追い出し対象範囲を決定する方式の説明図である。事前にプログラムを実行して各LRUポジションのどこでキャッシュヒットしているかを調査する手法が採用できる。たとえば、図11に示されるように、キャッシュヒット率が20%以下であれば追い出し対象範囲702とするなど,ヒット率の閾値を設定する手法が考えられる。あるいは、プログラム実行前に事前に調査した結果に基づいて追い出し対象範囲を決定する手法が採用できる。このとき,どこまでを追い出し対象範囲とするかはユーザが指定、コンパイラにより実行コード中で指定するなどの方法が考えられる。
さらに、プログラムを実行しユーザが書いた関数などのある程度大きな粒度の単位で各LRUポジションにおけるキャッシュヒット率を測定し、図11に示されるような手法を用いて追い出し対象範囲702を関数ごとに決定する手法を採用することができる。プログラムを再コンパイルするなどして,実行コードに追い出し対象範囲702を指定するレジスタを操作するコードを挿入することも可能である。プログラム実行時は動的に追い出し対象範囲を維持するレジスタをプログラム自身が変更するようにすれば、追い出し対象範囲702の動的な切り替えが実現される。
100 DRAM(ダイナミックランダムアクセスメモリ)
101 メモリアレイ
102 ロウバッファ
103 ロウデコーダ
104 カラムデコーダ
201、701 MAC(メモリアクセスコントローラ)
202、902 PA/DA変換部
203 MRQ(メモリリクエストキュー)
204 スケジューラ
205 プロセッサコア
206 LLC(ラストレベルキャッシュ)
207 インターコネクト
702 追い出し対象範囲
901 制御部
903 アドレス比較部
1001 比較器

Claims (7)

  1. 所定のデータ長を単位としてデータの読み書きが可能な第1の記憶手段と、
    前記第1の記憶手段から前記所定のデータ長を単位とするいずれかのデータを読み出して格納する第2の記憶手段と、
    該第2の記憶手段に記憶された前記いずれかのデータの一部を部分データとして抽出して記憶する第3の記憶手段と、
    前記部分データ又は前記部分データが更新されて得られる更新部分データを前記第3の記憶手段から削除可能とする際に、前記第2の記憶手段に前記部分データの抽出元のデータが記憶されていない場合に、前記第1の記憶手段から前記部分データの抽出元のデータを読み出して前記第2の記憶手段に記憶させて、前記部分データ又は前記更新部分データを用いて部分的に上書きしてから前記第1の記憶手段に書き込み、前記第2の記憶手段に前記部分データの抽出元のデータが記憶されている場合に、前記第2の記憶手段に記憶されている前記部分データの抽出元のデータについて、前記部分データ又は前記更新部分データを用いて部分的に上書きしてから前記第1の記憶手段に書き込み、前記第2の記憶手段に抽出元のデータが記憶されている前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除する処理を行う制御手段と、
    を備えたことを特徴とする記憶制御システム。
  2. 前記第3の記憶手段に、最後に書き込み又は更新されたタイミングが最も古い第1のデータと、2番目に最も古い第2のデータが記憶されており、前記第1のデータの抽出元のデータ又は前記第2のデータの抽出元のデータのいずれかが前記第2の記憶手段に記憶されている場合には、前記第1又は第2のデータのうち前記第2の記憶手段に記憶されている抽出元のデータに対応するほうのデータが前記削除可能とされるデータとして優先的に選択される、
    ことを特徴とする請求項1に記載の記憶制御システム。
  3. 所定のデータ長を単位としてデータの読み書きが可能な第1の記憶手段と、
    前記第1の記憶手段から前記所定のデータ長を単位とするいずれかのデータを読み出して格納する第2の記憶手段と、
    該第2の記憶手段に記憶された前記いずれかのデータの一部を部分データとして抽出して記憶する第3の記憶手段と、
    前記部分データ又は前記部分データが更新されて得られる更新部分データを前記第3の記憶手段から削除可能とする際に、前記第2の記憶手段に前記第1の記憶手段上のどの記憶アドレスのデータが記憶されるかを予測する制御手段と、
    前記第3の記憶手段から削除可能な1つ以上の前記部分データ又は前記更新部分データの各アドレスを前記第1の記憶手段上の各アドレスに変換するアドレス変換手段と、
    前記変換された各アドレスと前記予測されたデータのアドレスとにより前記所定のデータ長を単位とするアドレス部分の一致を検出し、該一致が検出されたアドレスに対応する前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除させるアドレス比較手段と、
    を備えたことを特徴とする置換方式。
  4. 前記第1の記憶手段から前記第2の記憶手段に読み出されるべきデータのアクセスリクエストを予め定められた複数リクエスト分一時保持するメモリリクエストキューをさらに備え、
    前記制御手段は、前記メモリリクエストキューに一時保持されたリクエストを所定の規則に従って読み出すことにより、該リクエストに対応するデータを前記第1の記憶手段から前記第2の記憶手段に読み出し、前記メモリリクエストキューに一時保持されたリクエストのうち前記所定のデータ長を単位とするアドレスが一致するリクエストをまとめてアクセス処理し、前記メモリリクエストキューから次に読み出されるリクエストを判定することにより前記第2の記憶手段に前記第1の記憶手段上のどの記憶アドレスのデータが記憶されるかを予測し、
  5. 前記アドレス比較手段は、前記一致が検出されたアドレスに対応する前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除し、該部分データ又は更新部分データの前記第1の記憶手段への書き戻しのリクエストを前記メモリリクエストキューに格納する、
    ことを特徴とする請求項4に記載の置換方式。
  6. 第1の記憶手段に対して所定のデータ長を単位としてデータの読み書きを行い、
    前記第1の記憶手段から前記所定のデータ長を単位とするいずれかのデータを読み出して第2の記憶手段に格納し、
    該第2の記憶手段に記憶された前記いずれかのデータの一部を部分データとして抽出して第3の記憶手段に記憶し、
    前記部分データ又は前記部分データが更新されて得られる更新部分データを前記第3の記憶手段から削除可能とする際に、前記第2の記憶手段に前記部分データの抽出元のデータが記憶されていない場合に、前記第1の記憶手段から前記部分データの抽出元のデータを読み出して前記第2の記憶手段に記憶させて、前記部分データ又は前記更新部分データを用いて部分的に上書きしてから前記第1の記憶手段に書き込み、
    前記第2の記憶手段に前記部分データの抽出元のデータが記憶されている場合に、前記第2の記憶手段に記憶されている前記部分データの抽出元のデータについて、前記部分データ又は前記更新部分データを用いて部分的に上書きしてから前記第1の記憶手段に書き込み、
    前記第2の記憶手段に抽出元のデータが記憶されている前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除する、
    ことを特徴とする記憶制御方法。
  7. 第1の記憶手段に対して所定のデータ長を単位としてデータの読み書きを行い、
    前記第1の記憶手段から前記所定のデータ長を単位とするいずれかのデータを読み出して第2の記憶手段に格納し、
    該第2の記憶手段に記憶された前記いずれかのデータの一部を部分データとして抽出して第3の記憶手段に記憶し、
    前記部分データ又は前記部分データが更新されて得られる更新部分データを前記第3の記憶手段から削除可能とする際に、前記第2の記憶手段に前記第1の記憶手段上のどの記憶アドレスのデータが記憶されるかを予測し、
    前記第3の記憶手段から削除可能な前記部分データ又は前記更新部分データの各アドレスを前記第1の記憶手段上の各アドレスに変換し、
    前記変換された各アドレスと前記予測されたデータのアドレスとにより前記所定のデータ長を単位とするアドレス部分の一致を検出し、該一致が検出されたアドレスに対応する前記部分データ又は前記更新部分データを優先して前記第3の記憶手段から削除させる、
    ことを特徴とするキャッシュメモリの置換方法。
JP2011177710A 2011-08-15 2011-08-15 記憶制御システムおよび方法、置換方式および方法 Expired - Fee Related JP5699854B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011177710A JP5699854B2 (ja) 2011-08-15 2011-08-15 記憶制御システムおよび方法、置換方式および方法
US13/545,073 US9311988B2 (en) 2011-08-15 2012-07-10 Storage control system and method, and replacing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011177710A JP5699854B2 (ja) 2011-08-15 2011-08-15 記憶制御システムおよび方法、置換方式および方法

Publications (2)

Publication Number Publication Date
JP2013041414A true JP2013041414A (ja) 2013-02-28
JP5699854B2 JP5699854B2 (ja) 2015-04-15

Family

ID=47713494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011177710A Expired - Fee Related JP5699854B2 (ja) 2011-08-15 2011-08-15 記憶制御システムおよび方法、置換方式および方法

Country Status (2)

Country Link
US (1) US9311988B2 (ja)
JP (1) JP5699854B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811453B1 (en) * 2013-07-31 2017-11-07 Juniper Networks, Inc. Methods and apparatus for a scheduler for memory access
KR20150017526A (ko) * 2013-08-07 2015-02-17 삼성전자주식회사 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법
US10061617B2 (en) * 2016-06-07 2018-08-28 International Business Machines Corporation Smart memory analog DRAM
CN113849455B (zh) * 2021-09-28 2023-09-29 致真存储(北京)科技有限公司 一种基于混合式存储器的mcu及缓存数据的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066946A (ja) * 1998-08-17 2000-03-03 Nec Corp メモリコントローラ
JP2012043202A (ja) * 2010-08-19 2012-03-01 Nec Computertechno Ltd ストアマージ装置、情報処理装置、ストアマージ方法およびプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103169A (ja) 1992-09-18 1994-04-15 Nec Corp 中央演算処理装置のリードデータプリフェッチ機構
US5452440A (en) * 1993-07-16 1995-09-19 Zitel Corporation Method and structure for evaluating and enhancing the performance of cache memory systems
JPH09244957A (ja) 1996-03-08 1997-09-19 Nec Eng Ltd バス接続装置及び方法
US6145065A (en) * 1997-05-02 2000-11-07 Matsushita Electric Industrial Co., Ltd. Memory access buffer and reordering apparatus using priorities
JP3718599B2 (ja) * 1998-12-28 2005-11-24 富士通株式会社 キャッシュ装置、メモリ制御システムおよび方法、記録媒体
US6799257B2 (en) 2002-02-21 2004-09-28 Intel Corporation Method and apparatus to control memory accesses
US20040088472A1 (en) * 2002-10-31 2004-05-06 Nystuen John M. Multi-mode memory controller
US7130967B2 (en) 2003-12-10 2006-10-31 International Business Machines Corporation Method and system for supplier-based memory speculation in a memory subsystem of a data processing system
KR100607987B1 (ko) * 2004-06-24 2006-08-02 삼성전자주식회사 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법
US20090187733A1 (en) * 2006-03-13 2009-07-23 Tarek El-Ghazawi Virtual Configuration Management for Effiicient Use of Reconfigurable Hardwware
US20090198910A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Data processing system, processor and method that support a touch of a partial cache line of data
US8838901B2 (en) * 2010-05-07 2014-09-16 International Business Machines Corporation Coordinated writeback of dirty cachelines
US20120059983A1 (en) * 2010-09-03 2012-03-08 David Wilkins Nellans Predictor-based management of dram row-buffers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066946A (ja) * 1998-08-17 2000-03-03 Nec Corp メモリコントローラ
JP2012043202A (ja) * 2010-08-19 2012-03-01 Nec Computertechno Ltd ストアマージ装置、情報処理装置、ストアマージ方法およびプログラム

Also Published As

Publication number Publication date
JP5699854B2 (ja) 2015-04-15
US9311988B2 (en) 2016-04-12
US20130046943A1 (en) 2013-02-21

Similar Documents

Publication Publication Date Title
JP5417879B2 (ja) キャッシュ装置
US5353426A (en) Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
US7921260B2 (en) Preferred write-mostly data cache replacement policies
JP2554449B2 (ja) キャッシュ・メモリを有するデータ処理システム
CN107479860B (zh) 一种处理器芯片以及指令缓存的预取方法
JP5536658B2 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
JP7340326B2 (ja) メンテナンス動作の実行
US20130205089A1 (en) Cache Device and Methods Thereof
JP4218820B2 (ja) ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体
US20170168957A1 (en) Aware Cache Replacement Policy
US11301250B2 (en) Data prefetching auxiliary circuit, data prefetching method, and microprocessor
WO2010004497A1 (en) Cache management systems and methods
US8151058B2 (en) Vector computer system with cache memory and operation method thereof
US8271732B2 (en) System and method to reduce power consumption by partially disabling cache memory
JP5699854B2 (ja) 記憶制御システムおよび方法、置換方式および方法
US20110167223A1 (en) Buffer memory device, memory system, and data reading method
US10831673B2 (en) Memory address translation
US11036639B2 (en) Cache apparatus and method that facilitates a reduction in energy consumption through use of first and second data arrays
KR102482516B1 (ko) 메모리 어드레스 변환
US8356141B2 (en) Identifying replacement memory pages from three page record lists
CN114398298A (zh) 一种缓存流水线处理方法及装置
US20140082286A1 (en) Prefetching Method and Apparatus
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ
JP6451475B2 (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
US20120102271A1 (en) Cache memory system and cache memory control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150202

R150 Certificate of patent or registration of utility model

Ref document number: 5699854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees