JP5627521B2 - キャッシュシステムおよび処理装置 - Google Patents

キャッシュシステムおよび処理装置 Download PDF

Info

Publication number
JP5627521B2
JP5627521B2 JP2011065271A JP2011065271A JP5627521B2 JP 5627521 B2 JP5627521 B2 JP 5627521B2 JP 2011065271 A JP2011065271 A JP 2011065271A JP 2011065271 A JP2011065271 A JP 2011065271A JP 5627521 B2 JP5627521 B2 JP 5627521B2
Authority
JP
Japan
Prior art keywords
data
cache memory
stored
data stored
volatile
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
JP2011065271A
Other languages
English (en)
Other versions
JP2012203487A (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 JP2011065271A priority Critical patent/JP5627521B2/ja
Priority to US13/234,837 priority patent/US9003128B2/en
Publication of JP2012203487A publication Critical patent/JP2012203487A/ja
Application granted granted Critical
Publication of JP5627521B2 publication Critical patent/JP5627521B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/225Hybrid cache memory, e.g. having both volatile and non-volatile portions
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明の実施形態はキャッシュシステムおよび処理装置に関する。
近年、回路システム全体の低消費電力化が課題となっている。プロセッサ部分は、動作させている最中にも使用されていないことが頻繁に発生するため、プロセッサ部分の消費電力削減によって、回路システム全体の消費電力を低減することができる。そこで、プロセッサが使用されていない時には、動作周波数を下げることでプロセッサ部分の消費電力を削減する方法が取られてきた。しかしこの方法では、プロセッサのスタンバイ時であっても動作電源そのものを切ることはできない。そのため、更なる消費電力削減が求められている。これに対して、プロセッサに含まれるキャッシュを不揮発性メモリーで構成し、プロセッサがスタンバイの時に動作電源を切断することも考えられるが、不揮発性メモリーは揮発性メモリーに比べて書き込み速度が遅いため、プロセッサ性能の悪化が生じる。
米国特許第7093089号
そこで本発明は、動作速度が速い低消費電力キャッシュシステムおよび処理装置を提供することを目的とする。
上記目的を達成するために、本発明の実施形態によるキャッシュシステムは、
揮発性キャッシュメモリーと、不揮発性キャッシュメモリーと、前記揮発性キャッシュメモリーに記憶される各データに対応付けて、その揮発性キャッシュメモリーに記憶されるデータよりも未使用時間の長いデータが前記不揮発性キャッシュメモリーに記憶されている数、もしくは、その揮発性キャッシュメモリーに記憶されるデータよりも未使用時間の短いデータが前記不揮発性キャッシュメモリーに記憶されている数に応じたデータを記憶する順序保存部と、前記揮発性キャッシュメモリーに記憶された第1のデータを他のアドレスを有する第2のデータで上書きするときに、前記第1のデータと対応付けて前記順序保存部に記憶されたデータに基づいて、前記第1のデータの未使用時間が前記不揮発性キャッシュメモリーに記憶されているいずれかのデータの未使用時間よりも短いと判断できる場合、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させる制御部を有することを特徴としている。
本発明の実施形態に係る情報処理装置の構成を示すブロック図。 本発明の第1の実施形態に係る情報処理装置のキャッシュの構成を示すブロック図。 本発明の第1の実施形態に係る情報処理装置のキャッシュがプロセッサエレメントから参照要求を受けたときの処理を示すフローチャート 本発明の第1の実施形態に係る情報処理装置のキャッシュが揮発性メモリーへの書き込み要求を受けたときの処理を示すフローチャート 本発明の第1の実施形態に係る情報処理装置のキャッシュのLRU領域と順序保存領域とが記憶するデータの例。 本発明の第1の実施形態に係る情報処理装置のプロセッサの電源をオフにするときのキャッシュの処理を示すフローチャート。 本発明の第2の実施形態に係る情報処理装置のキャッシュを示すブロック図。 本発明の第2の実施形態に係る情報処理装置のキャッシュが揮発性メモリーへの書き込み要求を受けたときの処理を示すフローチャート 本発明の第2の実施形態に係る情報処理装置のプロセッサの電源をオフにするときのキャッシュの処理を示すフローチャート。 順序保存領域を持たないキャッシュの4ウェイの揮発性メモリーと6ウェイの不揮発性メモリーに対応づけられたLRU領域が記憶するデータの例。
まず、本発明に至った経緯について説明する。例えば、揮発性メモリーと揮発性メモリーよりも容量の多い不揮発性メモリーを有するキャッシュシステムを考える。この揮発性メモリーと不揮発性メモリーはいずれもセットアソシアティブ(Set Associative)キャ
ッシュであって、双方のライン数は同じで、ウェイ数が異なるとする。このキャッシュシステムでは、不揮発性メモリーの書き込み速度による性能劣化を抑えるために、書き込み要求を受け取った場合には揮発性メモリーに書き込む。そして、参照要求を受け取った場合には揮発性メモリーと不揮発性メモリーのいずれか、該当するデータが格納されている方からデータを読み出す。
ただし、このキャッシュシステムに書き込み要求がなされたときに、書き込み要求がなされたデータを書き込むべき揮発性メモリーのライン上に空きが無い場合がある。そこで、この場合には、揮発性メモリーに記憶されているデータの中で未使用時間が最も長いデータ(データAと称する)を不揮発性メモリーに記憶させ、データAが格納されていた揮発性メモリーの領域上に書き込み要求がなされたデータを格納する。
しかしながら、不揮発性メモリーにデータを格納しようとしたときに、不揮発性メモリーの同一ラインにも空きが無い場合がある。このとき、不揮発性メモリーに記憶されているデータの中で、未使用時間が最も長いデータ(データBと称する)が格納されている領域上にデータAを上書きすることが考えられる。しかしながら、不揮発性メモリーに記憶されているデータBは、揮発性メモリーに記憶されていたデータAよりも未使用時間が短い場合がある。
図10に一例を示す。図10では、4ウェイの揮発性メモリーと6ウェイの不揮発性メモリーの同一ラインを例示している。ここで、図10の丸括弧で表す数字が大きいもの程、未使用時間の長いデータであるとする。揮発性メモリーと不揮発性メモリーの各ウェイに対応づけて図10に示すようにLRU(Least Recently Used)を記憶している。その
ため、揮発性メモリーと不揮発性メモリーは、LRUを確認することによって、それぞれのメモリーごとに、1ライン中に記憶されたデータの未使用時間の長さの順番を知ることができる。しかし、このキャッシュシステムでは、揮発性メモリーに記憶されたデータと不揮発性メモリーデータに記憶されたデータの未使用時間のいずれが長いかを知ることができない。
図10に示すようにLRUが記憶された状態で、キャッシュシステムが書き込み要求を受けると、揮発性メモリーに空きが無いため、揮発性メモリーに記憶されているデータの中で未使用時間が最も長いデータ(図10中では(10)と示されているデータ)を不揮発性メモリーに記憶されているデータの中で未使用時間が最も長いデータ(図10中では(8)と示されているデータ。(10)のデータよりも未使用時間が短い)に上書きしてしまう。このように、不揮発性メモリーに格納されているデータを、より未使用時間の長い揮発性メモリーに格納されているデータで上書きすることによって、このキャッシュシステムのヒット率が低下し、処理時間の増大につながる。そこで、以下に示す実施形態では、揮発性メモリーに記憶された各データに対応付けて不揮発性メモリーデータに記憶されたデータと比較した未使用時間の長短を記憶するための保存領域を設ける。
(第1の実施形態)
図1は、本発明の実施形態に係る情報処理装置を示す構成図である。この情報処理装置は、例えば通信機器やPCやテレビなどであり、プロセッサ10、メインメモリー20、ハードディスク30、入出力装置40が内部インタフェースで接続されている。また、メインメモリー20には不揮発性メモリー50が接続されている。
プロセッサ10は、プロセッサエレメント(PE)11とキャッシュ12とを含み、プロセッサエレメント11には、演算を行うコア13やL1キャッシュと呼ばれる高速な記憶装置などが含まれる。本実施形態に係るプロセッサ10は、プロセッサ10の稼働状況に応じてプロセッサ電源のオン・オフを繰り返すことによって、プロセッサ10の消費電力削減を行う。
キャッシュ12は、揮発性メモリーを有する揮発性キャッシュ部14と、不揮発性メモリーを有する不揮発性キャッシュ部15を含む。キャッシュ12は、一時的にプロセッサ電源をオフにする際には、揮発性キャッシュ部14の揮発性メモリーに記憶されているデータを不揮発性キャッシュ部15の不揮発性メモリーに退避させてデータの消失を防ぎ、プロセッサ電源を再度立ち上げた直後には、不揮発性キャッシュ部15の不揮発性メモリーに保存されているデータを使用して動作する。なお、以下の説明では、揮発性キャッシュ部14と不揮発性キャッシュ部15は、いずれもセットアソシアティブキャッシュであるとして説明する。
図2は、キャッシュ12の構成を示すブロック図である。キャッシュ12は、前述の揮発性キャッシュ部14、不揮発性キャッシュ部15のほかに、マルチプレクサ121と制御部122を有する。
揮発性キャッシュ部14は、揮発性メモリー141、LRU領域142、LRU更新回路143、順序保存領域144、更新演算回路145を含む。
揮発性メモリー141は、例えばSRAM(Static Random Access Memory)などであ
る。揮発性メモリー141には、プロセッサエレメント11からキャッシュ12への書き込み要求がなされているデータかメインメモリー20等、上位の記憶媒体から取り出されたデータを格納することができる。プロセッサエレメント11からの書き込み要求がなされるデータは、例えば、プロセッサエレメント11で演算処理に使用されたデータである。
LRU領域142は、揮発性メモリー141に記憶された各データに対応付けて、同一ラインに記憶されたウェイ数分のデータの中での未使用時間の長短に関する順番を表すデータを記憶する。以降では、LRU領域142の各データが、未使用時間が短いデータから順に数字”1”、”2”、”3”、・・・が設定されるとして説明する。LRU更新回路143は、揮発性メモリー141に記憶されたデータが参照または書き込みされたときに、LRU領域142に記憶されたデータの更新を行う。
順序保存領域144は、揮発性メモリー141に記憶された各データに対応付けられており、不揮発性キャッシュ部15の不揮発性メモリー151に記憶されたデータの未使用時間と揮発性メモリー141に記憶されたデータの未使用時間の関係を示すデータを記憶する。具体的には、順序保存領域144は、揮発性メモリー141の各データに対して、それぞれのデータが使用(参照または書き込み)された後に使用(参照)された、不揮発性メモリー151に記憶されているデータの数に応じたデータを記憶する。
更新演算回路145は、揮発性メモリー141に記憶されたデータが使用された場合と、不揮発性メモリー151に記憶されたデータが使用されたことを示す信号を不揮発性キャッシュ部15から受けた場合に、順序保存領域144に記憶されたデータの更新を行う。
不揮発性キャッシュ部15は、不揮発性メモリー151、LRU領域152、LRU更新回路153を含む。
不揮発性メモリー151は、例えば磁気抵抗メモリー(MRAM:Megnetoresistive Random Access Memory)、強誘電体メモリー(FeRAM:Ferroelectric Random Access Memory)、抵抗変化型メモリー(ReRAM:Resistance Random Access Memory)、相変化メモリー(PRAM:Phase change RAM)などである。不揮発性メモリー151としてMRAMを用いた場合、他の不揮発性メモリーと比較して、書き換え耐性が高く、書き込みスピードも速い。また、FeRAMを不揮発性メモリー151として用いた場合は、FeRAMは、MRAMとほぼ同じ程度の書き換え耐性を有し、既存の集積回路の作成プロセスと相性が良いため、製造が容易である。不揮発性メモリー151は、揮発性メモリー141と同じライン数を有し、揮発性メモリー141よりもウェイ数が多い。不揮発性メモリー151には、揮発性キャッシュ部14から出力されたデータを格納することができる。
LRU領域152は、不揮発性メモリー151に記憶された各データに対応付けて、同一ラインに記憶されたウェイ数分のデータの中での未使用時間の長短に関する順番を表すデータを記憶する。以降では、LRU領域152の各データが、未使用時間が短いデータから順に数字”1”、”2”、”3”、・・・が設定されるとして説明する。LRU更新回路153は、不揮発性メモリー151に記憶されたデータが参照または書き込みされたときに、LRU領域152に記憶されたデータの更新を行う。
マルチプレクサ121は、制御部122の制御に応じて、揮発性キャッシュ部14から出力されるデータと不揮発性キャッシュ部15から出力されるデータのいずれか一方をプロセッサエレメント11へ出力する。
制御部122は、揮発性キャッシュ部14、不揮発性キャッシュ部15の制御を行う。
また、制御部122は、揮発性キャッシュ部14、不揮発性キャッシュ部15から取得したアドレスヒットの状態とプロセッサエレメント11から出力された要求の種類に応じて、マルチプレクサ121の出力を制御する。
図3は、キャッシュ12がプロセッサエレメント11から参照要求を受けたときの処理を示すフローチャートである。キャッシュ12がプロセッサエレメント11から参照要求を受けると(S10)、参照が要求されたアドレスのデータが揮発性メモリー141に存在するか否かを確認する(S11)。
当該データが揮発性メモリー141に格納されている場合(S11のYes)、そのデータを揮発性メモリー141から読み出してマルチプレクサ121へ送る(S12)。そして、揮発性キャッシュ部14から制御部122に対して、揮発性メモリー141のデータを使用したことを示す信号(Cash Use信号”1”)を出力する(S13)。制御部122は、揮発性メモリー141から受け取ったCash Use信号に基づいてマルチプレクサ121を制御し、揮発性メモリー141から読み出したデータをマルチプレクサ121から出力させる。
また、揮発性キャッシュ部14では、更新演算回路145が、参照された揮発性メモリー141のデータに対応する順序保存領域144のデータをリセットする(S14)。なお、本実施形態では、順序保存領域144のデータを”1”にすることがリセットに該当するとして説明する。
さらに、LRU更新回路143が、LRU領域142に記憶されたデータを更新する(S15)。具体的には、ステップS12で参照されたデータに対応するLRU領域142のデータを、最も未使用時間が短いことを示すデータ”1”とし、それ以外のLRU領域142のデータは、更新前のデータに基づいて未使用時間が短いものから順に”2”、”3”、・・・となるように更新する。
一方、キャッシュ12がプロセッサエレメント11から参照要求を受けたときに、当該データが揮発性メモリー141に格納されておらず、さらに不揮発性メモリー151にも格納されていない場合(S16のNo)、キャッシュ12よりも上位の記憶媒体(例えば、上位キャッシュやメインメモリー20)に対してデータを要求する(S17)。そして、上位の記憶媒体から得られたデータを揮発性メモリー141へ書き込むための処理を行う(S18)。揮発性メモリー141へデータを書き込むための処理については、後ほど図4を用いて説明する。
キャッシュ12がプロセッサエレメント11から参照要求を受けたときに、当該データが揮発性メモリー141に格納されておらず、不揮発性メモリー151に格納されている場合(S16のYes)、そのデータを不揮発性メモリー151から読み出してマルチプレクサ121へ送る(S19)。そして、不揮発性キャッシュ部15から制御部122および揮発性キャッシュ部14に対して、不揮発性メモリー151のデータを使用したことを示す信号(Cash Use信号”1”)を出力する(S20)。またこの時、不揮発性メモリー151から読み出したデータと対応づけてLRU領域152に記憶されているデータを揮発性キャッシュ部14へ出力する。
制御部122は、不揮発性メモリー151から受け取ったCash Use信号に基づいてマルチプレクサ121を制御し、不揮発性メモリー151から読み出したデータをマルチプレクサ121から出力させる。
不揮発性キャッシュ部15からCash Use信号とLRU領域152に記憶されたデータを受け取った揮発性キャッシュ部14では、更新演算回路145が、順序保存領域144に記憶されたデータを更新する(S21)。具体的には、データが参照された不揮発性メモリー151のラインと同じラインの揮発性メモリー141のデータに対応付けられた順序保存領域144の各データのうち、不揮発性メモリー151から読み出したデータに対応付けられたLRU領域152の値以下のデータに対して、1を加える。
ステップS21の処理の意味は、以下のとおりである。順序保存領域144に記憶されたデータが、不揮発性メモリー151から読み出したデータに対応付けられたLRU領域152の値以下のデータであるということは、その不揮発性メモリー151から読み出したデータが、ステップS19開始前には、順序保存領域144に対応付けられた揮発性メモリー141のデータよりも未使用時間が長かったことを示す。ステップS19で、この不揮発性メモリー151のデータが参照され、揮発性メモリー141に記憶されたデータよりも未使用時間が短くなる。順序保存領域144のデータは、揮発性メモリー141のデータよりも未使用時間が短い不揮発性メモリー151のデータの数(本実施形態では、ウェイ数)を表している。そのため、揮発性メモリー141のデータに対応付けたLRU領域152のデータに1を加える。
不揮発性キャッシュ部15のLRU更新回路153は、LRU領域152に記憶されたデータを更新する(S22)。具体的には、ステップS19で参照されたデータに対応するLRU領域152のデータを、最も未使用時間が短いことを示すデータ”1”とし、それ以外のLRU領域152のデータは、更新前のデータに基づいて未使用時間が短いものから順に”2”、”3”、・・・となるように更新する。
図4は、キャッシュ12が揮発性メモリー141への書き込み要求を受けたときの処理を示すフローチャートである。揮発性メモリー141への書き込みが発生する場合とは、プロセッサエレメント11から書き込み要求を受けた場合や、図3のステップS18で説明したように、上位の記憶媒体のデータを参照した場合である。
キャッシュ12が揮発性メモリー141への書き込み要求を受けると(S50)、書き込みが要求されたデータのアドレスに基づいて揮発性メモリー141を検索し、そのアドレスのデータが揮発性メモリー141にすでに格納されているか否かを判断する(S51)。
当該データが揮発性メモリー141にすでに格納されている場合(S51のYes)、書き込み要求されたデータを揮発性メモリー141に書き込む(S52)。なお、ステップS51にて揮発性メモリー141にデータが格納されていることが確認された場合、書き込み要求されたデータは、ステップS51にて検索された揮発性メモリー141のデータに上書きする。
そして、揮発性キャッシュ部14から制御部122に対して、揮発性メモリー141のデータを使用したことを示す信号(Cash Use信号”1”)を出力する(S53)。また、揮発性メモリー141に書き込まれたデータに対応する順序保存領域144のデータをリセットする(S54)。
さらに、LRU更新回路143が、LRU領域142に記憶されたデータを更新する(S55)。具体的には、ステップS52で書き込まれたデータに対応するLRU領域142のデータを、最も未使用時間が短いことを示すデータ”1”とし、それ以外のLRU領域142のデータは、更新前のデータに基づいて未使用時間が短いものから順に”2”、”3”、・・・となるように更新する。
書き込みが要求されたときに、書き込み要求されたデータと同じアドレスを有するデータが揮発性メモリー141に記憶されていない場合であっても(S51のNo)、揮発性メモリー141に空きがあれば(S56のNo)、ステップS52〜S55に示す揮発性メモリー141へのデータの書き込みに関する処理を行う。なお、書き込みが要求されたデータと同じアドレスを有するデータが記憶されておらず、揮発性メモリー141に空きがある場合、ステップS52でのデータの書き込み先は、揮発性メモリー141の空き領域である。
一方、書き込みが要求されたときに、書き込み要求されたデータと同じアドレスを有するデータが揮発性メモリー141に記憶されておらず(S51のNo)、揮発性メモリー141に空きが無い場合(S56のYes)、要求されたデータを揮発性メモリー141に書き込むと、既に揮発性メモリー141に記憶されているデータのいずれかが上書きされる。そこで、ステップS52〜S55によって、揮発メモリー141への書き込みに関する処理を行う前に、ステップS57〜S63の処理を行う。
ステップS57では、不揮発性メモリー151に、揮発性メモリー141内に記憶されているデータの中で未使用時間が最も長いデータ(データAと称する)と同じアドレスを有するデータが記憶されているか否かを確認する。もし、データAと同じアドレスを有するデータが不揮発性メモリー151に記憶されていれば(S57のYes)、不揮発性メモリー151に、データAを書き込む(S58)。なお、このように不揮発性メモリー151にデータAと同じアドレスを有するデータが記憶されている場合には、そのデータにデータAを上書きする。
そして、LRU更新回路153がLRU領域152に記憶されたデータを更新する(S59)。このとき、データAに対応づけて順序保存領域144に記憶されたデータを用いてLRU領域152の更新を行う。つまり、ステップS58で書き込まれたデータに対応するLRU領域152のデータを、データAに対応づけて順序保存領域144に記憶された値とし、データAに対応づけて順序保存領域144に記憶された値以上のLRU領域152に格納されている値に対して1を加算する。なお、このLRU領域152の更新方法は、順序保存領域144に記憶されるデータとLRU領域152に記憶されるデータの初期値が同じ数字であるため、ステップS58で書き込まれたデータに対応するLRU領域152のデータを、データAに対応づけて順序保存領域144に記憶された値としている。しかし、それぞれの初期値が異なっていても、データAに対応づけて順序保存領域144に記憶された値に基づいてLRU領域152のデータを更新することができる。
このように、不揮発性メモリー151へ書き込みに関する処理が実行された後に、ステップS52〜S55によって、揮発性メモリー141への書き込み処理を行う。なお、ステップS58〜S59終了後にステップS52にて揮発性メモリー141への書き込みを行う際には、不揮発性メモリー151へ記憶させたデータAに対して、揮発性メモリー141への書き込み要求されたデータを上書きする。
一方、ステップS57にて、不揮発性メモリー151に、データAと同じアドレスを有するデータが記憶されていない場合、データAを不揮発性メモリー151に書き込むと、既に不揮発性メモリー151に記憶されているデータのいずれかが上書きされてしまう可能性がある。そこで、ステップS60〜S63の処理を行う。
ステップS60では、データAに対応付けて順序保存領域144が記憶しているデータが、不揮発性メモリー151に保存可能なキャッシュデータ数よりも大きいか否かを判断する。上述のとおり、揮発性メモリー141の各データに対応づけて保存される順序保存領域144の各データは、揮発性メモリー141のデータが参照された場合もしくは書き込みされた場合にリセットされる。また、揮発性メモリー141のデータよりも未使用時間が長い不揮発性メモリー151のデータが参照されると、その揮発性メモリー141のデータに対応付けられた順序保存領域144のデータに1が加算される。つまり、順序保存領域144のデータは、対応する揮発性メモリー141のデータよりも未使用時間が短い不揮発性メモリー151のデータの数を、順序保存領域144のデータの初期値に加算した数を記憶する。
そのため、順序保存領域144のデータの初期値を1とすると、順序保存領域144に記憶されたデータが不揮発性メモリー151に保存可能なキャッシュデータ数よりも大きいことは、その順序保存領域144のデータに対応付けられた揮発性メモリー141のデータが、不揮発性メモリー151のいずれのデータよりも未使用時間が長いことを意味する。
そこで、データAに対応付けて順序保存領域144が記憶しているデータが、不揮発性メモリー151に保存可能なキャッシュデータ数よりも大きい場合(S60のYes)、不揮発性メモリー151にデータAを格納せずに、キャッシュ12よりも上位の記憶媒体(上位のキャッシュやメインメモリー20等)のデータを、データAを用いて更新する(S61)。そして、ステップS52にて、揮発性メモリー141のデータAが格納されている領域に書き込み要求されたデータを書き込み、ステップS53〜S54の処理を実行する。
ステップS60で、データAに対応付けて順序保存領域144が記憶しているデータが、不揮発性メモリー151に保存可能なキャッシュデータ数よりも小さい場合(S60のNo)、不揮発性メモリー151に格納されたデータのうち、最も未使用時間の長いデータの未使用時間よりも、データAの未使用時間の方が短い。そこで、不揮発性メモリー151にデータAを格納する。このとき、不揮発性メモリー151に空きがある場合には(S62のNo)、不揮発性メモリー151の空いている領域に揮発性メモリー141から出力されたデータAを格納し(S58)、LRU更新回路153がLRU領域152に格納されているデータを更新する(S59)。つまり、ステップS58で書き込まれたデータに対応するLRU領域152のデータを、データAに対応づけて順序保存領域144に記憶された値とし、データAに対応づけて順序保存領域144に記憶された値以上のLRU領域152に格納されている値に対して1を加算する。
一方、ステップS62にて、不揮発性メモリー151に空きが無いことが確認された場合(S62のYes)、LRU領域152に格納されたデータを用いて不揮発性メモリー151に記憶されているデータの中で最も未使用時間が長いデータ(データBと称する)を特定し、データBを用いて、キャッシュ12よりも上位の記憶媒体(上位のキャッシュやメインメモリー20等)のデータを更新する(S63)。そして、不揮発性メモリー151のデータBが格納されている領域に揮発性メモリー141から出力されたデータAを格納し(S58)、LRU更新回路153がLRU領域152に格納されているデータを更新する(S59)。そして、ステップS52にて、揮発性メモリー141のデータAが格納されている領域に書き込み要求されたデータを書き込み、ステップS53〜S55の処理を実行する。
以上説明したように、揮発性メモリー141の各データに対して、それぞれのデータが使用された後に、不揮発性メモリー151に記憶されるいずれかのデータが使用された回数に応じたデータを記憶する順序保存領域144を設ける。そして、揮発性メモリー141に記憶されたデータのいずれかを揮発性メモリー141から読み出せない状態にする時(例えば異なるアドレスのデータを上書きする時)に、順序保存領域144に記憶したデータを用いて、揮発性メモリー141から読み出せない状態にするデータを不揮発性メモリー151へコピーする必要があるか否かを判断する。
例えば、図5に示すように4ウェイの揮発性メモリーと6ウェイの不揮発性メモリーに、丸括弧で表す数字が大きいものから順にデータを使用したとする。このとき、揮発性メモリーのデータに対応付けられた順序保存領域の値が、不揮発性メモリーのウェイ数”6”よりも大きい値”7”であるデータは、不揮発性メモリーに記憶されたいずれのデータよりも未使用時間が長いと判断することができる。このように、順序保存領域に記憶するデータを用いることで、不揮発性メモリー151に記憶されていたデータが、揮発性メモリー141に記憶されていた未使用時間の長いデータによって上書きされることを防ぐことができる。そのため、キャッシュ12のヒット率低下を抑制することができる。
次に、図6を参照してプロセッサ10の電源をオフにするときのキャッシュ12の処理について説明する。プロセッサ10の電源をオフにすると、揮発性メモリー141内に記憶されたデータが消える。そこで、揮発性メモリー141に記憶されたデータを不揮発性メモリー151や上位の記憶装置へ記憶させる。
まず、揮発性メモリー141のいずれかのデータを参照した状態で、参照したデータと同じアドレスを有するデータが不揮発性メモリー151中にあるか否かを確認する(S101)。不揮発性メモリー151中に当該データが存在すれば(S101のYes)、不揮発性メモリー151のそのデータに揮発性メモリー141の参照データを上書きする(S106)。そして、LRU更新回路153が、LRU領域152のデータを更新する(S107)。このとき、参照された揮発性メモリー141のデータと対応づけて順序保存領域144に記憶されたデータを用いてLRU領域152の更新を行う。つまり、ステップS106で書き込まれたデータに対応するLRU領域152のデータを、参照された揮発性メモリー141のデータと対応づけて順序保存領域144に記憶された値とし、順序保存領域144に記憶された値以上のLRU領域152に格納されている値に対して1を加算する。
ステップS101にて不揮発性メモリー151中に揮発性メモリー141の参照データと同じアドレスを有するデータが無いと判断された場合(S101のNo)、参照データに対応づけて順序保存領域144に記憶された値を読み出し、その値が不揮発性メモリー151の保存可能データ数よりも大きいか否かを判断する(S102)。
順序保存領域144に記憶された値が不揮発性メモリー151の保存可能データ数よりも大きい場合(S102のYes)、参照されている揮発性メモリー141のデータは、不揮発性メモリー151に記憶されたどのデータよりも未使用時間が長いデータである。
そこで、メインメモリー20など上位の記憶媒体に、参照されている揮発性メモリー141のデータを記憶する(S103)。
一方、順序保存領域144に記憶された値が不揮発性メモリー151の保存可能データ数以下の場合(S102のNo)、不揮発性メモリー151に空きがあれば(S104のNo)、不揮発性メモリー151の空き領域にデータを書き込む(S106)。そして、前述のとおり、LRU更新回路153が、LRU領域152のデータを変更する(S107)。
また一方、ステップS104で不揮発性メモリー151に空きが無いと判断された場合(S104のYes)、不揮発性メモリー151に記憶されたデータ中最も未使用時間の長いデータを選出して、このデータを上位の記憶媒体に記憶させ(S105)、このデータ上に揮発性メモリーのデータを書き込む(S106)。そして、前述のとおり、LRU更新回路153が、LRU領域152のデータを変更する(S107)。
ステップS103またはステップS107の処理が終了すると、揮発性メモリー141の全てのデータを参照し終えたか否かを判断する(S108)。
揮発性メモリー141の全てのデータを参照し終えていない場合(S108のNo)、揮発性メモリー141の次のデータに参照先を移動し(S109)、ステップS101からステップS108の処理を行う。ステップS108で、揮発性メモリー141の全てのデータを参照し終えた場合(S108のYes)、キャッシュ12の電源をオフにする(S110)。
このように、プロセッサ10の電源をオフにするときに、揮発性メモリー141に記憶されたデータの中で、不揮発性メモリー151よりも未使用時間が短いものを不揮発性メモリー151に記憶させることで、次にプロセッサ10の電源をオンにしたときに、キャッシュ12のヒット率が低減することを抑制することができる。
(第2の実施形態)
図7は、本発明の第2の実施形態に係る情報処理装置のキャッシュを示すブロック図である。図7では、図2に示したキャッシュ12と同じ構成要素については同じ記号を付し、詳細な説明を省略する。
図7に示すキャッシュ12aの揮発性キャッシュ部14aは、コピー済み記憶領域146を有する。通常動作中、プロセッサエレメント11からキャッシュ12aに対する要求は、常に発生しているわけではない。頻繁に要求が発生する時と要求が発生しない時とが交互に生じる。そこで、要求が発生しないときに、キャッシュ12a内で揮発性メモリー141に格納されたデータを不揮発性メモリー151にコピーする。
コピー済み記憶領域146は、揮発性メモリー141の各データに対して、そのデータがすでに不揮発性メモリー151へコピーされたか否かを示すフラグを記憶する。コピー済み記憶領域146に記憶するフラグは、不揮発性メモリー151へ揮発性メモリー141のデータをコピーしたときに、コピーしたデータに対応づけられたコピー済み記憶領域146の記憶データをコピー済みであることを示すフラグに変更する。
また、メインメモリー20など上位の記憶装置から取得されたデータや、プロセッサエレメント11から書き込み要求されたデータを、揮発性メモリー141に対して書き込んだときに、書き込んだデータに対応して記憶されるコピー済み記憶領域146のデータをリセットする。
このように設定されるコピー済み記憶領域146の値は、揮発性メモリー141に記憶されたデータが消える状況が発生するときに、揮発性メモリー141に記憶されたデータを不揮発性メモリー151へコピーする処理を行うか否かを判断するために用いる。
第2の実施形態に係るキャッシュ12aがプロセッサエレメント11から参照要求を受けたときの処理フローは、第1の実施形態に係るキャッシュ12にて説明した処理(図3参照)と同様である。
図8は、キャッシュ12aが揮発性メモリー141への書き込み要求を受けたときの処理フローチャートである。図8中、図4と同じステップは同じ記号を付す。揮発性メモリー141への書き込み要求があり、そのデータと同じアドレスを有するデータが揮発性メモリー141に記憶されておらず(S51のNo)、揮発性メモリー141に空きが無い場合(S56のYes)、揮発性メモリー141が記憶しているデータの中で最も未使用時間が長いデータAを選出する。そして、選出したデータAに対応付けられてコピー済み記憶領域146に記憶されたフラグが、コピー済みであることを示すフラグである場合には(S203のYes)、不揮発性メモリー151や上位の記憶媒体にデータAを改めて記憶させる処理を行う必要が無いため、ステップS52〜S202の処理を行う。一方、データAに対応付けられてコピー済み記憶領域146に記憶されたフラグが、コピー済みであることを示すフラグでない場合には(S203のNo)、ステップS52〜S202の処理を行う前に、ステップS57〜S61の処理を実行する。
図9は、プロセッサ10の電源をオフにするときのキャッシュ12aの処理を示すフローチャートである。図9中、図6と同じステップは同じ記号を付す。キャッシュ12aでは、揮発性メモリー141のデータに対応づけて記憶されているコピー済み記憶領域146のフラグが、コピー済みであることを示すフラグである場合には(S204のYes)、ステップS101〜S107の処理を行わず、次のデータに参照先を移動させるか(S109)、キャッシュ12aの電源をオフにする(S110)。
このように、プロセッサエレメント11からの要求が発生しないときに、キャッシュ12a内で揮発性メモリー141に格納されたデータを不揮発性メモリー151にコピーし、揮発性メモリー141のデータが不揮発性メモリー151へのコピー済みであるか否かを記憶するフラグを設けることで、プロセッサエレメント11からの要求が発生したときに揮発性メモリー141から不揮発性メモリー151へデータをコピーする頻度が減り、処理時間を短縮することができる。また、プロセッサ10の電源をオフにするまでにかかる実行時間が短くなり、より長いパワーゲーティング時間を確保することによる低消費電力化が可能となる。
本発明の実施形態は、上記実施形態とその変形例に限定されることはなく、本発明の要旨を逸脱しない範囲において、適宜変更しても良い。
例えば、上記実施形態では、揮発性メモリーが不揮発性メモリーよりも容量が小さいとして説明したが、双方の容量は同じでも良いし、不揮発性メモリーの方が揮発性メモリーよりも容量が小さくても良い。
また、上記実施形態では、キャッシュがセットアソシアティブキャッシュであるとして説明したが、フルアソシアティブ方式やダイレクトマップ方式のキャッシュにも適用することができる。
また、上記実施形態では、順序保存領域144のデータは、揮発性メモリー141のデータよりも未使用時間が短い不揮発性メモリー151のデータの数を表しているとして説明したが、揮発性メモリー141のデータよりも未使用時間が長い不揮発性メモリー151のデータの数を表しても良い。例えば、順序保存領域の初期値を不揮発性メモリー151の保存可能データ数とし、揮発性メモリー141のデータよりも未使用時間が長い不揮発性メモリー151のデータが参照されると順序保存領域のデータから1を減算すれば、このようなキャッシュシステムを実現することができる。このキャッシュシステムでは、順序保存領域のデータが1以上であれば、揮発性メモリー141のデータを不揮発性メモリー151へ記憶させることができる。
10…プロセッサ、 11…プロセッサエレメント、 12,12a…キャッシュ、 20…メインメモリー、 30…ハードディスク、 40…入出力装置、 50…不揮発性メモリー、 13…コア、 14,14a…揮発性キャッシュ部、 15…不揮発性キャッシュ部、 121…マルチプレクサ、 122…制御部、 141…揮発性メモリー、 142…LRU領域、 143…LRU更新回路、 144…順序保存領域、 145…更新演算回路、 146…コピー済み記憶領域、 151…不揮発性メモリー、 152…LRU領域、 153…LRU更新回路

Claims (9)

  1. 揮発性キャッシュメモリーと、
    不揮発性キャッシュメモリーと、
    前記揮発性キャッシュメモリーに記憶される各データに対応付けて、その揮発性キャッシュメモリーに記憶されるデータよりも未使用時間の長いデータが前記不揮発性キャッシュメモリーに記憶されている数、もしくは、その揮発性キャッシュメモリーに記憶されるデータよりも未使用時間の短いデータが前記不揮発性キャッシュメモリーに記憶されている数に応じたデータを記憶する順序保存部と、
    前記揮発性キャッシュメモリーに記憶された第1のデータを他のアドレスを有する第2のデータで上書きするときに、前記第1のデータと対応付けて前記順序保存部に記憶されたデータに基づいて、前記第1のデータの未使用時間が前記不揮発性キャッシュメモリーに記憶されているいずれかのデータの未使用時間よりも短いと判断できる場合、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させる制御部とを有し、
    前記制御部は、前記揮発性キャッシュメモリーの電源を切るときに、前記揮発性キャッシュメモリーに記憶された前記第1のデータと対応付けて前記順序保存部に記憶されたデータに基づいて、前記第1のデータの未使用時間が前記不揮発性キャッシュメモリーに記憶されているいずれかのデータの未使用時間よりも短いと判断できる場合、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させキャッシュシステム。
  2. 揮発性キャッシュメモリーと、
    不揮発性キャッシュメモリーと、
    前記揮発性キャッシュメモリーに記憶される各データに対応付けて、その揮発性キャッシュメモリーに記憶されるデータよりも未使用時間の長いデータが前記不揮発性キャッシュメモリーに記憶されている数、もしくは、その揮発性キャッシュメモリーに記憶されるデータよりも未使用時間の短いデータが前記不揮発性キャッシュメモリーに記憶されている数に応じたデータを記憶する順序保存部と、
    前記揮発性キャッシュメモリーに記憶された第1のデータを他のアドレスを有する第2のデータで上書きするときに、前記第1のデータと対応付けて前記順序保存部に記憶されたデータに基づいて、前記第1のデータの未使用時間が前記不揮発性キャッシュメモリーに記憶されているいずれかのデータの未使用時間よりも短いと判断できる場合、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させる制御部とを有し、
    前記制御部は、前記揮発性キャッシュメモリーに記憶された第1のデータを他のアドレスを有する第2のデータで上書きするとき、もしくは前記揮発性キャッシュメモリーの電源を切るときに、前記第1のデータに対応付けて前記順序保存部に記憶されたデータに基づいて、前記第1のデータの未使用時間が前記不揮発性キャッシュメモリーに記憶されている全てのデータの未使用時間よりも長いと判断できる場合、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させずに、上位の記憶装置に記憶させキャッシュシステム。
  3. 揮発性キャッシュメモリーと、
    不揮発性キャッシュメモリーと、
    前記揮発性キャッシュメモリーに記憶される各データに対応付けて、その揮発性キャッシュメモリーに記憶されるデータよりも未使用時間の長いデータが前記不揮発性キャッシュメモリーに記憶されている数、もしくは、その揮発性キャッシュメモリーに記憶されるデータよりも未使用時間の短いデータが前記不揮発性キャッシュメモリーに記憶されている数に応じたデータを記憶する順序保存部と、
    前記揮発性キャッシュメモリーに記憶された第1のデータを他のアドレスを有する第2のデータで上書きするときに、前記第1のデータと対応付けて前記順序保存部に記憶されたデータに基づいて、前記第1のデータの未使用時間が前記不揮発性キャッシュメモリーに記憶されているいずれかのデータの未使用時間よりも短いと判断できる場合、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させる制御部とを有し、
    前記揮発性キャッシュメモリーの各データに対応付けてそれらのデータと同一のデータが前記不揮発性キャッシュメモリーに記憶されているか否かを示すコピー済み情報を記憶するコピー済み記憶領域を更に有し、
    前記制御部は、前記揮発性キャッシュメモリーに記憶された第1のデータを他のアドレスを有する第2のデータで上書きするとき、もしくは前記揮発性キャッシュメモリーの電源を切るときに、前記第1のデータと対応付けてこのデータと同一のデータが前記不揮発性キャッシュメモリーに記憶されていないことを示すコピー済み情報が記憶されている場合であって、前記第1のデータと対応付けて前記順序保存部に記憶されたデータに基づいて、前記第1のデータの未使用時間が前記不揮発性キャッシュメモリーに記憶されているいずれかのデータの未使用時間よりも短いと判断できる場合、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させキャッシュシステム。
  4. 前記制御部は、前記揮発性キャッシュメモリーに記憶された第1のデータを他のアドレスを有する第2のデータで上書きするとき、もしくは前記揮発性キャッシュメモリーの電源を切るときに、前記第1のデータに対応付けて前記順序保存部に記憶されたデータに基づいて、前記第1のデータの未使用時間が前記不揮発性キャッシュメモリーに記憶されている全てのデータの未使用時間よりも長いと判断できる場合、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させずに、上位の記憶装置に記憶させる請求項1または3に記載のキャッシュシステム。
  5. 前記不揮発性キャッシュメモリーに記憶された各データに対応付けて、前記不揮発性キャッシュメモリーに記憶されたデータの中で未使用時間の長さの順序を示すデータを記憶するLRU記憶部と、
    前記制御部が、前記第1のデータを前記不揮発性キャッシュメモリーに記憶させると、前記第1のデータに対応付けて前記順序保存部に記憶されたデータを用いて前記LRU記憶部を更新するLRU更新部とを更に有す請求項1乃至4のいずれかに記載のキャッシュシステム。
  6. 前記不揮発性キャッシュメモリーのデータが使用された時に、このデータと対応付けて前記LRU記憶部に記憶されたデータを用いて前記順序保存部の値を更新することを特徴とする更新演算部を更に有す請求項に記載のキャッシュシステム。
  7. 前記揮発性キャッシュメモリーのライン数と前記不揮発性キャッシュメモリーのライン数とは同じであ請求項1乃至6のいずれか1項に記載のキャッシュシステム。
  8. 前記不揮発性キャッシュメモリーは、磁気抵抗メモリーであ請求項1乃至7のいずれか1項に記載のキャッシュシステム。
  9. 請求項1乃至8のいずれか1項に記載のキャッシュシステムと、
    前記キャッシュシステムから出力されるデータを用いた演算を行うプロセッサエレメントを有す処理装置。
JP2011065271A 2011-03-24 2011-03-24 キャッシュシステムおよび処理装置 Expired - Fee Related JP5627521B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011065271A JP5627521B2 (ja) 2011-03-24 2011-03-24 キャッシュシステムおよび処理装置
US13/234,837 US9003128B2 (en) 2011-03-24 2011-09-16 Cache system and processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011065271A JP5627521B2 (ja) 2011-03-24 2011-03-24 キャッシュシステムおよび処理装置

Publications (2)

Publication Number Publication Date
JP2012203487A JP2012203487A (ja) 2012-10-22
JP5627521B2 true JP5627521B2 (ja) 2014-11-19

Family

ID=46878310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011065271A Expired - Fee Related JP5627521B2 (ja) 2011-03-24 2011-03-24 キャッシュシステムおよび処理装置

Country Status (2)

Country Link
US (1) US9003128B2 (ja)
JP (1) JP5627521B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152423B2 (en) * 2011-10-31 2018-12-11 International Business Machines Corporation Selective population of secondary cache employing heat metrics
JP5458132B2 (ja) 2012-03-13 2014-04-02 株式会社東芝 キャッシュ装置
US9304913B2 (en) 2013-03-15 2016-04-05 Qualcomm Incorporated Mixed memory type hybrid cache
JP6130750B2 (ja) 2013-07-16 2017-05-17 株式会社東芝 メモリ制御回路およびプロセッサ
JP6130758B2 (ja) * 2013-09-06 2017-05-17 株式会社東芝 メモリ制御回路およびキャッシュメモリ

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
US4437155A (en) * 1980-11-14 1984-03-13 Sperry Corporation Cache/disk subsystem with dual aging of cache entries
US5432919A (en) * 1989-07-06 1995-07-11 Digital Equipment Corporation Sequential reference management for cache memories
US5386536A (en) * 1991-03-28 1995-01-31 Courts; Howard R. Apparatus and method for managing memory allocation
JP2618149B2 (ja) * 1991-04-22 1997-06-11 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ内のデータ記憶スペースを管理する方法及びキャッシュ内でページ置換を行う装置
US5343437A (en) * 1993-02-19 1994-08-30 Motorola Inc. Memory having nonvolatile and volatile memory banks
JPH08171515A (ja) * 1994-12-19 1996-07-02 Nec Corp ディスクキャッシュにおけるメモリ管理方式
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
US6141731A (en) * 1998-08-19 2000-10-31 International Business Machines Corporation Method and system for managing data in cache using multiple data structures
US6480929B1 (en) * 1998-10-31 2002-11-12 Advanced Micro Devices Inc. Pseudo-concurrency between a volatile memory and a non-volatile memory on a same data bus
US6823427B1 (en) * 2001-05-16 2004-11-23 Advanced Micro Devices, Inc. Sectored least-recently-used cache replacement
US7103718B2 (en) * 2002-09-03 2006-09-05 Hewlett-Packard Development Company, L.P. Non-volatile memory module for use in a computer system
US7076609B2 (en) * 2002-09-20 2006-07-11 Intel Corporation Cache sharing for a chip multiprocessor or multiprocessing system
US7085896B2 (en) * 2003-04-30 2006-08-01 International Business Machines Corporation Method and apparatus which implements a multi-ported LRU in a multiple-clock system
US7093089B2 (en) 2003-08-18 2006-08-15 Hewlett-Packard Development Company, Lp. Systems and methods for storing data on computer systems
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US20070118695A1 (en) * 2005-11-18 2007-05-24 International Business Machines Corporation Decoupling storage controller cache read replacement from write retirement
WO2007097028A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited Lru制御装置、lru制御方法およびlru制御プログラム
US7822932B2 (en) * 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
US7568068B2 (en) * 2006-11-13 2009-07-28 Hitachi Global Storage Technologies Netherlands B. V. Disk drive with cache having volatile and nonvolatile memory
GB2459047B (en) * 2006-11-30 2011-08-17 Fujitsu Ltd Cache system
JP2008276646A (ja) * 2007-05-02 2008-11-13 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法
JP5224800B2 (ja) * 2007-12-21 2013-07-03 株式会社東芝 情報処理装置およびデータ復旧方法
JP2009205335A (ja) * 2008-02-27 2009-09-10 Hitachi Ltd 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法
US8341382B2 (en) * 2010-09-30 2012-12-25 Nxp B.V. Memory accelerator buffer replacement method and system
US9703706B2 (en) * 2011-02-28 2017-07-11 Oracle International Corporation Universal cache management system

Also Published As

Publication number Publication date
US9003128B2 (en) 2015-04-07
US20120246412A1 (en) 2012-09-27
JP2012203487A (ja) 2012-10-22

Similar Documents

Publication Publication Date Title
JP2012190359A (ja) キャッシュシステムおよび処理装置
US8495481B2 (en) Non-volatile memory with extended error correction protection
KR101437123B1 (ko) 메모리 시스템 및 그것의 마모도 관리 방법
CN107784121B (zh) 一种基于非易失内存的日志文件系统的小写优化方法
US9208101B2 (en) Virtual NAND capacity extension in a hybrid drive
US20110231598A1 (en) Memory system and controller
JP5627521B2 (ja) キャッシュシステムおよび処理装置
JP5631938B2 (ja) 半導体記憶装置
JP2008033788A (ja) 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
JP2005301591A (ja) 不揮発性メモリを備えた装置及びメモリコントロ−ラ
TW201828068A (zh) 在邏輯位址和物理位址之間執行散列式轉譯的儲存裝置
JP2009211153A (ja) メモリ装置、情報処理装置及び電力制御方法
JP5073402B2 (ja) メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム
US20110167224A1 (en) Cache memory, memory system, data copying method, and data rewriting method
US20210056030A1 (en) Multi-level system memory with near memory capable of storing compressed cache lines
JP4297961B2 (ja) メモリアクセス制御装置およびメモリアクセス制御方法
US20140219041A1 (en) Storage device and data processing method thereof
JP6538741B2 (ja) 管理装置、情報処理装置および管理方法
KR20200004119A (ko) 메모리 시스템 및 그의 동작 방법
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
US20190286367A1 (en) Management device and information processing device
US9846647B2 (en) Cache device and control method threreof
JP2008197981A (ja) 半導体記憶装置
KR101502998B1 (ko) 메모리 시스템 및 그 관리 방법
JP6631513B2 (ja) メモリ制御装置、メモリ装置およびメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140930

R151 Written notification of patent or utility model registration

Ref document number: 5627521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees