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

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

Info

Publication number
JP2012190359A
JP2012190359A JP2011054757A JP2011054757A JP2012190359A JP 2012190359 A JP2012190359 A JP 2012190359A JP 2011054757 A JP2011054757 A JP 2011054757A JP 2011054757 A JP2011054757 A JP 2011054757A JP 2012190359 A JP2012190359 A JP 2012190359A
Authority
JP
Japan
Prior art keywords
cache memory
data
volatile
memory
nonvolatile
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.)
Abandoned
Application number
JP2011054757A
Other languages
English (en)
Inventor
Kumiko Nomura
久美子 野村
Keiko Abe
恵子 安部
Shinobu Fujita
忍 藤田
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 JP2011054757A priority Critical patent/JP2012190359A/ja
Priority to US13/234,221 priority patent/US20120233377A1/en
Publication of JP2012190359A publication Critical patent/JP2012190359A/ja
Abandoned 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/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
    • 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)

Abstract

【課題】 消費電力を削減するとともに、動作速度が速いキャッシュシステムおよび処理装置を提供すること。
【解決手段】 本発明の実施形態によるキャッシュシステムは、揮発性キャッシュメモリーと、前記揮発性キャッシュメモリーと同容量の不揮発性キャッシュメモリーと、前記揮発性キャッシュメモリーと前記不揮発性キャッシュメモリーとに対して同じラインを指定するアドレスデコーダと、前記揮発性キャッシュメモリーから入力されるデータを記憶し、記憶したデータを前記揮発性キャッシュメモリーへ出力する退避領域とを有することを特徴とする。
【選択図】 図2

Description

本発明の実施形態はキャッシュシステムおよび処理装置に関する。
近年、回路システム全体の低消費電力化が課題となっている。特にプロセッサ部分は、動作させている最中にも使用されていないことが頻繁に発生しているため、プロセッサ部分の消費電力削減によって、回路システム全体の消費電力を低減することができる。そこで、プロセッサが使用されていない時には、動作周波数を下げることでプロセッサ部分の消費電力を削減する方法が取られてきた。しかしこの方法では、プロセッサのスタンバイ時であっても動作電源そのものを切ることはできない。そのため、更なる消費電力削減が求められている。これに対して、プロセッサに含まれるキャッシュを不揮発性メモリーで構成し、プロセッサがスタンバイの時に動作電源を切断することも考えられるが、不揮発性メモリーは揮発性メモリーに比べて書き込み速度が遅いため、プロセッサ性能の悪化が生じる。
米国特許第7093089号
そこで本発明は、消費電力を削減するとともに、動作速度が速いキャッシュシステムおよび処理装置を提供することを目的とする。
上記目的を達成するために、本発明の実施形態によるキャッシュシステムは、揮発性キャッシュメモリーと、前記揮発性キャッシュメモリーと同容量の不揮発性キャッシュメモリーと、前記揮発性キャッシュメモリーと前記不揮発性キャッシュメモリーとに対して同じラインを指定するアドレスデコーダと、前記揮発性キャッシュメモリーから入力されるデータを記憶し、記憶したデータを前記揮発性キャッシュメモリーへ出力する退避領域とを有することを特徴としている。
本発明の実施形態に係る情報処理装置の構成を示すブロック図。 本発明の実施形態に係る情報処理装置のキャッシュの構成を示すブロック図。 本発明の実施形態に係る情報処理装置のキャッシュの第3の動作モード時の動作を示すフローチャートである。 本発明の実施形態に係る情報処理装置のキャッシュの第3の動作モード時の動作を示すフローチャートである。 本発明の実施形態に係る情報処理装置のキャッシュの変形例の構成を示すブロック図。 本発明の実施形態に係る情報処理装置のキャッシュの変形例の第2の動作モード時の動作を示すフローチャートである。
以下、本発明の実施形態について図面を参照して説明する。
図1は、本発明の実施形態に係る情報処理装置を示す構成図である。この情報処理装置は、例えば通信機器やPCやテレビなどであり、プロセッサ10、メインメモリー20、ハードディスク30、入出力装置40が内部インタフェースで接続されている。また、メインメモリー20には不揮発性メモリー50が接続されている。
プロセッサ10は、プロセッサエレメント(PE)11とキャッシュ12とを含み、プロセッサエレメント11には、演算を行うコア111やL1キャッシュと呼ばれる高速な記憶装置などが含まれる。本実施形態に係るプロセッサ10は、プロセッサ10の稼働状況に応じてプロセッサ電源のオン・オフを繰り返すことによって、プロセッサ10の消費電力削減を行う。
キャッシュ12は、揮発性メモリーを有する揮発性キャッシュ部121と、不揮発性メモリーを有する不揮発性キャッシュ部122を含む。揮発性メモリーは、例えばSRAM(Static Random Access Memory)などである。不揮発性メモリーは、例えば磁気抵抗メモリー(MRAM:Megnetoresistive Random Access Memory)、強誘電体メモリー(FeRAM:Ferroelectric Random Access Memory)、抵抗変化型メモリー(ReRAM:Resistance Random Access Memory)、相変化メモリー(PRAM:Phase change RAM)などである。不揮発性メモリーとしてMRAMを用いた場合、他の不揮発性メモリーと比較して、書き換え耐性が高く、書き込みスピードも速い。また、FeRAMを不揮発性メモリーとして用いた場合は、FeRAMは、MRAMとほぼ同じ程度の書き換え耐性を有し、既存の集積回路の作成プロセスと相性が良いため、製造が容易である。
仮に、キャッシュ12を揮発性メモリーだけで構成したとすると、プロセッサ10の電源をオフにした時に、キャッシュ12に保存されていたデータが全て消去されてしまい、プロセッサ10が再度動作した時に、上位の記憶媒体(メインメモリー20やハードディスク30)からデータの読み出しを行う必要が生じ、演算処理時間の悪化を引き起こす。また、仮にキャッシュ12を不揮発性メモリーだけで構成したとすると、不揮発性メモリーは揮発性メモリーに比べて書き込み速度が遅いため、プロセッサ10の性能の悪化が生じる。
それに対して、キャッシュ12は揮発性キャッシュ部121と不揮発性キャッシュ部122とを組み合わせたハイブリッドキャッシュ構造を用いる。キャッシュ12は、一時的にプロセッサ電源をオフにする際には、揮発性キャッシュ部121に記憶されているデータを不揮発性キャッシュ部122に退避させてデータの消失を防ぎ、プロセッサ電源を再度立ち上げた直後には、不揮発性キャッシュ部122に保存されているデータを使用して動作する。
図2は、キャッシュ12の構成を示すブロック図である。キャッシュ12は、前述の揮発性キャッシュ部121、不揮発性キャッシュ部122のほかに、アドレスデコーダ123、退避領域124、マルチプレクサ125、126、制御部127を有する。
揮発性キャッシュ部121のメモリーは、プロセッサエレメント11からキャッシュ12への書き込み要求がなされているデータかメインメモリー20から取り出されたデータと、不揮発性キャッシュ部122のメモリーに記憶されたデータと、退避領域124に記憶されたデータのいずれかをメモリーに格納することができる。プロセッサエレメント11からの書き込み要求がなされるデータは、例えば、メインメモリー20に含まれるデータやプロセッサエレメント11のL1キャッシュに含まれるデータのうち、プロセッサエレメント11で演算処理に使用されたデータである。
不揮発性キャッシュ部122のメモリーは、揮発性キャッシュ部121の揮発性メモリーと同じ容量の不揮発性メモリーである。不揮発性キャッシュ部122は、揮発性キャッシュ部121のメモリーに記憶されたデータをメモリーに格納することができる。
アドレスデコーダ123は、プロセッサエレメント11から出力されるアドレスデータに応じて、揮発性キャッシュ部121内のメモリーと不揮発性キャッシュ部122内のメモリーのラインを指定する。揮発性キャッシュ部121と不揮発性キャッシュ部122とでライン指定に使用するアドレスデコーダ123を共有することで、キャッシュ12の面積を削減することができる。ただし、アドレスデコーダ123の共有化によって、揮発性キャッシュ部121内のメモリーと不揮発性キャッシュ部122内のメモリーの一方から他方へデータをコピーする場合には、同じライン上へのコピーとなる。
退避領域124は、揮発性キャッシュ部121に接続されている。退避領域124は、一時的にデータを記憶するものであって、フリップフロップ(FF)やSRAMなどのメモリーから成り、揮発性キャッシュ部121内のメモリーの1ライン分のデータを保存することができる。
アドレスデコーダ123の共有化によって、不揮発性キャッシュ部122内のメモリーから揮発性キャッシュ部121内のメモリーへデータをコピーする場合には、同じライン上へのコピーとなるため、書き込み先に既に他のデータが存在している場合、そのデータが上書きされてしまう。上書きされたデータが最近使用されたものであるとき、このデータの再要求確率は高い。そのため、このデータを上書きすることによって、キャッシュミスを起こす確率が上がってしまう。これを回避するために、退避領域124が用いられる。不揮発性キャッシュ部122内のメモリーから揮発性キャッシュ部121内のメモリーへデータをコピーするときに、アドレスデコーダ123によって指定されているライン上に既にデータが格納されている場合、このデータを一時的に退避領域124へ退避させる。そして、不揮発性キャッシュ部122内のメモリーから揮発性キャッシュ部121内のメモリーへのデータコピー完了後に、アドレスデコーダ123によって揮発性キャッシュ部121内のメモリーの他のラインを指定させ、その場所に退避領域124に格納されているデータを保存する。これによって、キャッシュミスの確率が上がるようなデータの上書きを減らすことができる。
マルチプレクサ125は、制御部127の制御に応じて、揮発性キャッシュ部121から出力されるデータと不揮発性キャッシュ部122から出力されるデータのいずれか一方をプロセッサエレメント11へ出力する。
マルチプレクサ126は、制御部127の制御に応じて、プロセッサエレメント11からキャッシュ12への書き込み要求がなされたデータと、不揮発性キャッシュ部122のメモリーに記憶されたデータと、退避領域124に記憶されたデータのいずれかを揮発性キャッシュ部121へ入力する。
制御部127は、揮発性キャッシュ部121、不揮発性キャッシュ部122、アドレスデコーダ123の制御を行う。また、制御部127は、揮発性キャッシュ部121、不揮発性キャッシュ部122から取得したアドレスヒットの状態とプロセッサエレメント11から出力された要求の種類に応じて、マルチプレクサ125、126の出力を制御する。
このような構成を有するキャッシュ12の動作について説明する。キャッシュ12には、3通りの動作モードがある。第1の動作モードは、揮発性キャッシュ部121のみをキャッシュとして用いる動作モードである。つまり、第1の動作モードのとき、キャッシュ12は、プロセッサエレメント11の要求に基づいて、揮発性キャッシュ部121からデータを出力したり、メインメモリー20に含まれるデータやプロセッサエレメント11のL1キャッシュに含まれるデータを揮発性キャッシュ部121へ格納したりする。
第2の動作モードは、プロセッサ10の電源をオフにしてパワーゲーティングを行う場合の動作モードである。このとき、アドレスデコーダ123が揮発性キャッシュ部121と不揮発性キャッシュ部122のメモリーの1ラインずつを指定し、揮発性メモリーのデータを1ラインずつ不揮発性メモリーの同じラインに書き込む。そして、このコピー作業が終了すると同時に、キャッシュ12の電源をオフにする。
第3の動作モードは、プロセッサ10がパワーゲーティングの状態から復帰した直後から第1の動作モードへ移行するまでの間の動作モードである。第2の動作モードにて、キャッシュ12の電源をオフにするため、揮発性キャッシュ部121に記憶されたデータは消える。その後、プロセッサ10がパワーゲーティングの状態から復帰すると、揮発性キャッシュ部121と不揮発性キャッシュ部122の両方の電源がオンになる。このとき、不揮発性キャッシュ部122にはパワーゲーティング前に揮発性キャッシュ部121からコピーされたデータが格納されているが、揮発性キャッシュ部121にはデータが格納されていない。
そこで、パワーゲーティングから復帰した直後は、プロセッサエレメント11が処理を行うために必要なデータを不揮発性キャッシュ部122やメインメモリー20からデータを読み込む。そして、この読み込んだデータを揮発性キャッシュ部121へ格納する。ここで、不揮発性キャッシュ部122よりも書き込み速度の速い揮発性キャッシュ部121へデータの書き込みを行うため、プロセッサ動作性能の悪化を防ぐことができる。ただし、揮発性キャッシュ部121に記憶されるデータは、不揮発性キャッシュ部122から参照したデータに限らず、揮発性キャッシュ部121と不揮発性キャッシュ部122の同じラインに記憶されるデータは必ずしも同じデータではないことになる。
そのため、パワーゲーティングの状態から復帰してからある程度の時間が経過すると、不揮発性キャッシュ部122のデータを揮発性キャッシュ部121のメモリー上に記憶するとき、アドレスデコーダ123によって指定されている揮発性キャッシュ部121のラインには既にデータが格納されている状況が発生し得る。そこで、当該ライン上の揮発性キャッシュ部121のデータを退避領域124へ一時的に退避させ、不揮発性キャッシュ部122から揮発性キャッシュ部121へデータをコピーした後に、退避しておいたデータを揮発性キャッシュ部121のメモリーの他のライン上に記憶させる。これによって、最近揮発性キャッシュ部121に格納されたデータが上書きされることを防ぐことができる。
その後、さらに時間が経過すると、揮発性キャッシュ部121のメモリーに空き領域が無くなる。不揮発性キャッシュ部122の電源をオフにして、第1の動作モードに移行し、キャッシュ12では揮発性キャッシュ部121をキャッシュとして用いる。
図3と図4は、第3の動作モード時のキャッシュ12の動作を示すフローチャートである。プロセッサ10がパワーゲーティングの状態から復帰し、キャッシュ12がプロセッサエレメント11から要求を取得すると(S10のYes)、揮発性キャッシュ部121のメモリー上に指定されたアドレスのデータが存在するか否かを確認する(S11)。指定されたアドレスのデータが揮発性キャッシュ部121のメモリーに存在し(S11のYes)、プロセッサエレメント11からの要求が参照要求(Read Request)であるならば(S12のYes)、揮発性キャッシュ部121の当該データをプロセッサエレメント11に転送する(S13)。また、プロセッサエレメント11からの要求が、書き込み要求(Write Request)であって、指定されたアドレスのデータが揮発性キャッシュ部121のメモリーに存在するならば(S12のNo)、揮発性キャッシュ部121のメモリーの指定されたアドレスのデータが書き込まれている部分に、データを書き込む(S14)。
一方、キャッシュ12はプロセッサエレメント11からの要求取得に基づいて、不揮発性キャッシュ部122のメモリーに指定されたアドレスのデータが存在するか否かも確認する(S15)。この不揮発性キャッシュ部122の確認は、揮発性キャッシュ部121の確認と並行して行っても良い。指定されたアドレスのデータが揮発性キャッシュ部121のメモリーにも不揮発性キャッシュ部122のメモリーにも存在せず(S15のNo)、プロセッサエレメント11からの要求が参照要求であったならば(S16のYes)、上位の記憶媒体(例えばメインメモリー20)に参照要求を出し、取得したデータを揮発性キャッシュ部121のメモリーに書き込みするとともに、そのデータをプロセッサエレメント11に送る(S17)。指定されたアドレスのデータが揮発性キャッシュ部121のメモリーにも不揮発性キャッシュ部122のメモリーにも存在せず(S15のNo)、プロセッサエレメント11からの要求が書き込み要求であるならば(S16のNo)、揮発性キャッシュ部121のメモリーにデータを格納する(S18)。なお、データを書き込む際、揮発性キャッシュ部121のメモリーに空きが無ければ、いずれかのラインのデータを追い出して空きを作り、そのラインに書き込む。揮発性キャッシュ部121のメモリーから追い出したデータは、もし必要があればメインメモリー20に書き込み要求を送出し、メインメモリー20にこのデータを書き込む。どのラインのデータを追い出すかは、例えばLRU(Least Recently Used)等の方法を用いる。
プロセッサエレメント11から指定されたアドレスのデータが揮発性キャッシュ部121のメモリーに存在せず、不揮発性キャッシュ部122のメモリーに存在する場合(S15のYes)、アドレスデコーダ123が不揮発性キャッシュ部122の当該データが格納されているラインを指定する。すると、揮発性キャッシュ部121についてもメモリーの同じラインを指定することになる。そして、揮発性キャッシュ部121のメモリーの当該ライン上に既に他のデータが格納されているか否かを確認する(S19)。
ステップS19において、アドレスデコーダ123によって指定された揮発性キャッシュ部121のメモリーのライン上にデータが格納されていない場合(S19のNo)、プロセッサエレメント11から出された要求が参照要求であれば(S20のYes)、その不揮発性キャッシュ部121のメモリーのライン上のデータをプロセッサエレメント11へ転送し(S21)、アドレスデコーダ123が指定する不揮発性キャッシュ部122のメモリーのラインに記憶されたデータを、揮発性キャッシュ部121のメモリーの同じラインに書き込む(S22)。プロセッサエレメント11から出された要求が書き込み要求であれば(S20のNo)、プロセッサエレメント11への転送を行なわず、アドレスデコーダ123が指定するライン上にプロセッサエレメント11に指示されたデータを書き込む(S23)。
一方、ステップS19において、アドレスデコーダ123によって指定された揮発性キャッシュ部121のメモリーのライン上に既にデータが格納されている場合(S19のYes)、不揮発性キャッシュ部122の指定ライン上のデータを揮発性キャッシュ部121のメモリーにコピーすると、当該ラインに格納されているデータが上書きされるため、既存のデータを一時的に退避させる必要がある。
そこでまず、アドレスデコーダ123によって指定された揮発性キャッシュ部121のメモリーのライン上に記憶されたデータを退避領域124へ転送する(S24)。
そして、プロセッサエレメント11からの要求が参照要求であれば(S25のYes)、アドレスデコーダ123によって指定されている不揮発キャッシュ部122のデータをプロセッサエレメント11へ転送する(S26)。その後、不揮発性キャッシュ部122の指定ライン上のデータを揮発性キャッシュ部121の同じライン上に書き込む(S27)。プロセッサエレメント11からの要求が参照要求でないならば(S25のNo)、アドレスデコーダ123によって指定された揮発性キャッシュ部のライン上にプロセッサエレメント11から指示されたデータを書き込む(S28)
その後、アドレスデコーダ123によって指定するラインを例えば揮発性キャッシュ部121の空き領域に変更したうえで、退避領域124に格納したデータを揮発性キャッシュ部121に書き込む(S29)。
このようなステップS24〜S29の手順によって、揮発性キャッシュ部121のメモリーに格納されているデータが上書きされることを防ぎ、揮発性キャッシュ部121のヒット率低下を防ぐことができる。
図3、図4のステップS13、S14、S17、S18、S22、S23、S29終了後には、揮発性キャッシュ部121のメモリーに空き領域が有るか否かを確認する(S30)。ステップS14、S17、S18、S22、S23、S29によって揮発性キャッシュ部121へデータが書き込まれて、揮発性キャッシュ部121のメモリーに空き領域が無くなったような場合(S30のYes)、不揮発性キャッシュ部122の電源を落とし(S31)、それ以降は第1の動作モードでキャッシュ12を動作させる。
なお、図4のフローチャートでは、揮発性キャッシュ部121のメモリーに空き領域が無くなった場合に、第1の動作モードに移行するとして説明したが、第1の動作モードへの移行のタイミングはこれに限らない。例えば、プロセッサ10に計時手段を更に有し、パワーゲーティング後の経過時間が所定の時間を超えた場合に、第1の動作モードへ移行しても良い。
このような実施形態をとることで、アドレスデコーダ共通化による面積削減とともに、プロセッサ10の動作時には不揮発性メモリーよりも動作速度の速い揮発性メモリーへ書き込むことができるため、揮発性メモリーのみを用いたプロセッサと同等の動作速度を保つことができる。また、揮発性メモリーを含むプロセッサ10の電源がオフされることによって揮発性メモリー内のデータは消えるが、揮発性メモリーの電源がオフになる前に、揮発性メモリー内のデータを不揮発性メモリーに記憶させることにより、プロセッサ10の電源がオンされたときに、不揮発性メモリーからデータの読み出しを行うことができるため、演算処理時間の悪化を防ぐことができる。

(変形例)
図5は、本発明の実施形態に係る情報処理装置のキャッシュの変形例を示すブロック図である。図5では、図2に示したキャッシュ12と同じ構成要素については同じ記号を付し、詳細な説明を省略する。
図5に示すキャッシュ12aの揮発性キャッシュ部129は、不揮発性キャッシュ部122のメモリーと同容量の揮発性メモリーと、揮発性キャッシュ部129のメモリーの各ラインが不揮発性キャッシュ部122からコピーされたデータであるかどうかを示すフラグを格納する記憶領域を有する。この記憶領域に格納されたフラグは、不揮発性キャッシュ部122から揮発性キャッシュ部129へデータをコピーするとき(例えば、図4のステップS22、S26にてデータを記憶する場合)に、設定する。そして、この記憶領域を揮発性メモリーで構成することにより、設定されたフラグは、プロセッサ10の電源をオフにするときにリセットすることができる。
また、キャッシュ12aはコピー制御部128を有する。コピー制御部128は、揮発性キャッシュ部129の記憶領域から、各ラインに記憶されたデータが不揮発性キャッシュ部122からコピーされたデータであるかどうかを示すフラグを受け取り、パワーゲーティング時に不揮発性キャッシュ部122のメモリーのラインごとに揮発性キャッシュ部129のメモリーのデータをコピーするか否かを制御する。
図6は、キャッシュ12aの第2の動作モード時の動作を示すフローチャートである。第1の動作モードまたは第3の動作モードで動作中に(S50)、プロセッサ10の稼働状況に基づいてプロセッサエレメント11がプロセッサ10の電源を一時的にオフにしてパワーゲーティングを行うと判断した場合(S51のYes)、アドレスデコーダ123が、揮発性キャッシュ部129と不揮発性キャッシュ部122のメモリーのアドレスラインの1つを指定する(S52)。すると、コピー制御部128が揮発性キャッシュ部129の記憶領域を確認し、揮発性キャッシュ部129のメモリーのアドレスデコーダ123に指定されたラインに記憶されたデータが不揮発性キャッシュ部122からコピーされたデータか否かを判断する(S53)。
揮発性キャッシュ部129のメモリーに記憶されているデータが不揮発性キャッシュ部122からコピーされたデータならば(S53のYes)、揮発性キャッシュ部129のメモリーの当該ラインに記憶されたデータと不揮発性キャッシュ部122のメモリーの当該ラインに記憶されたデータとは同じデータである。そのため、当該ラインのデータについては、揮発性キャッシュ部のメモリーから不揮発性キャッシュ部のメモリーへデータをコピーする必要が無い。
一方、揮発性キャッシュ部129のメモリーに記憶されているデータが、例えばメインメモリー20からコピーされたデータの場合(例えば、図3のステップS17、S18にて記憶されたデータの場合)には、不揮発性キャッシュ部122のメモリーにはそのデータが記憶されていない。そこで、揮発性キャッシュ部129のメモリーの当該ラインに記憶されたデータを不揮発性キャッシュ部のメモリーの同じラインにコピーする(S54)。
ステップS52〜S54の処理を繰り返し、アドレスデコーダ123が揮発性キャッシュ部129、不揮発性キャッシュ部122のメモリーの全てのラインを指定し終えると(S55のYes)、キャッシュ12aの電源を落とし(S56)、第2のモードを終了する。
この変形例によれば、揮発性キャッシュ部129と不揮発性キャッシュ部122のメモリーのラインに格納されているデータが同じ場合には、揮発性キャッシュ部129から不揮発性キャッシュ部122へそのラインのデータをコピーしないため、早くキャッシュ12の電源を落とすことができる。
なお、キャッシュ12がNウェイセットアソシアティブ方式にてマッピングされる場合、揮発性キャッシュ部129と不揮発性キャッシュ部122とで、同じデータは同じライン上の同じウェイ内にのみ記憶される。この場合、退避領域124は、揮発性キャッシュ部129の1ウェイ分のデータを記憶する。また、揮発性キャッシュ部129のメモリーの1ラインにつき、ウェイ数分(N個)のフラグを記憶する。このようにN個のフラグを持つことで、揮発性キャッシュ部129のメモリーのラインに記憶されたN個のデータのうちで、不揮発性キャッシュ部122のメモリーからコピーされたデータだけを特定できる。そして、フラグにて不揮発性キャッシュ部122からコピーしたと確認されるデータ(例えば、これをデータAとする)は、揮発性キャッシュ部129から不揮発性キャッシュ部122へコピーせず、不揮発性キャッシュ部122からコピーしたのではないデータは、不揮発性キャッシュ部122のデータAが格納されているライン以外のラインに記憶すれば良い。
本発明の実施形態は、上記実施形態とその変形例に限定されることはなく、本発明の要旨を逸脱しない範囲において、適宜変更しても良い。
10…プロセッサ、11…プロセッサエレメント、12,12a…キャッシュ、20…メインメモリー、30…ハードディスク、40…入出力装置、50…不揮発性メモリー、111…コア、121,129…揮発性キャッシュ部、122…不揮発性キャッシュ部、123…アドレスデコーダ、124…退避領域、125,126…マルチプレクサ、127…制御部、128…コピー制御部

Claims (9)

  1. 揮発性キャッシュメモリーと、
    前記揮発性キャッシュメモリーと同容量の不揮発性キャッシュメモリーと、
    前記揮発性キャッシュメモリーと前記不揮発性キャッシュメモリーとに対して同じラインを指定するアドレスデコーダと、
    前記揮発性キャッシュメモリーから入力されるデータを記憶し、記憶したデータを前記揮発性キャッシュメモリーへ出力する退避領域とを有することを特徴とするキャッシュシステム。
  2. 前記不揮発性キャッシュメモリーに記憶されたデータに対する要求を受けると、前記アドレスデコーダにて指定される前記不揮発性キャッシュメモリーに記憶されたラインと同じ前記揮発性キャッシュメモリーのライン上に前記不揮発性キャッシュメモリーに記憶されたデータを記憶するよう制御する制御部をさらに有することを特徴とする請求項1に記載のキャッシュシステム。
  3. 前記制御部は、前記不揮発性キャッシュメモリーに記憶されたデータを前記揮発性キャッシュメモリーに記憶させるときに、前記アドレスデコーダによって指定される前記揮発性キャッシュメモリーのライン上にデータが記憶されていれば、その前記揮発性キャッシュメモリーに記憶されているデータを前記退避領域に記憶させた後に、前記不揮発性キャッシュメモリーに記憶されたデータを前記揮発性キャッシュメモリーに記憶させ、その後、前記退避領域に記憶させたデータを前記揮発性キャッシュメモリーに記憶させることを特徴とする請求項2に記載のキャッシュシステム。
  4. 前記制御部は、前記揮発性キャッシュメモリーの電源をオフにする場合、前記揮発性キャッシュメモリーに記憶されたデータを前記不揮発性キャッシュメモリーに記憶させた後に前記揮発性キャッシュメモリーの電源をオフにすることを特徴とする請求項3に記載のキャッシュシステム。
  5. 前記揮発性キャッシュメモリーのライン毎に、前記揮発性キャッシュメモリーのラインに記憶されているデータが前記不揮発性キャッシュメモリーのデータから複製されたデータであるかどうかを示すフラグを格納する記憶部をさらに有し、
    前記制御部は、前記揮発性キャッシュメモリーに記憶されたデータを前記不揮発性キャッシュメモリーに記憶させるときに、前記記憶部の前記不揮発性キャッシュメモリーのデータから複製されたデータでないことを示すフラグと対応付けられた前記揮発性キャッシュメモリーのラインに記憶されたデータを、前記不揮発性キャッシュメモリーにコピーすることを特徴とする請求項4に記載のキャッシュシステム。
  6. 前記揮発性キャッシュメモリーのラインに対して、前記揮発性キャッシュメモリーのラインに記憶されているデータが前記不揮発性キャッシュメモリーのデータから複製されたデータであるかどうかを示すフラグをウェイ毎に格納する記憶部をさらに有し、
    前記制御部は、前記揮発性キャッシュメモリーに記憶されたデータを前記不揮発性キャッシュメモリーに記憶させるときに、前記記憶部に記憶されたウェイ毎のフラグが前記不揮発性キャッシュメモリーのデータから複製されたデータでないことを示す前記揮発性キャッシュメモリーのラインのウェイに記憶されたデータを、前記不揮発性キャッシュメモリーにコピーすることを特徴とする請求項4に記載のキャッシュシステム。
  7. 前記制御部は、前記揮発性キャッシュメモリーに空き領域が無いときに前記不揮発性キャッシュメモリーの電源をオフにすることを特徴とする請求項1乃至6のいずれか1項に記載のキャッシュシステム。
  8. 前記揮発性キャッシュメモリーは、磁気抵抗メモリーまたは強誘電体メモリーであることを特徴とする請求項1乃至7のいずれか1項に記載のキャッシュシステム。
  9. 請求項1乃至8のいずれか1項に記載のキャッシュシステムと、
    前記キャッシュシステムから出力されるデータを用いた演算を行うプロセッサエレメントを有することを特徴とする処理装置。
JP2011054757A 2011-03-11 2011-03-11 キャッシュシステムおよび処理装置 Abandoned JP2012190359A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011054757A JP2012190359A (ja) 2011-03-11 2011-03-11 キャッシュシステムおよび処理装置
US13/234,221 US20120233377A1 (en) 2011-03-11 2011-09-16 Cache System and Processing Apparatus

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2012190359A true JP2012190359A (ja) 2012-10-04

Family

ID=46797113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011054757A Abandoned JP2012190359A (ja) 2011-03-11 2011-03-11 キャッシュシステムおよび処理装置

Country Status (2)

Country Link
US (1) US20120233377A1 (ja)
JP (1) JP2012190359A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015007896A (ja) * 2013-06-25 2015-01-15 株式会社東芝 プロセッサ
US9734061B2 (en) 2013-07-16 2017-08-15 Kabushiki Kaisha Toshiba Memory control circuit and processor
JP2017151664A (ja) * 2016-02-24 2017-08-31 日本電気株式会社 プロセッサ、キャッシュシステム、制御方法及びプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5458132B2 (ja) 2012-03-13 2014-04-02 株式会社東芝 キャッシュ装置
US10318171B1 (en) * 2012-06-29 2019-06-11 EMC IP Holding Company LLC Accessing fast memory in a data storage array
US10216652B1 (en) * 2012-06-29 2019-02-26 EMC IP Holding Company LLC Split target data transfer
US9183144B2 (en) * 2012-12-14 2015-11-10 Intel Corporation Power gating a portion of a cache memory
US9304913B2 (en) * 2013-03-15 2016-04-05 Qualcomm Incorporated Mixed memory type hybrid cache
JP6030085B2 (ja) * 2014-03-20 2016-11-24 株式会社東芝 キャッシュメモリおよびプロセッサシステム
US9859013B2 (en) * 2014-05-06 2018-01-02 Sandisk Technologies Llc Data operations in non-volatile memory
WO2015186243A1 (ja) * 2014-06-06 2015-12-10 株式会社日立製作所 ストレージ装置
KR102292217B1 (ko) * 2015-02-06 2021-08-24 삼성전자주식회사 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템
CN108388524A (zh) * 2016-12-21 2018-08-10 伊姆西Ip控股有限责任公司 用于缓存数据的方法和设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343437A (en) * 1993-02-19 1994-08-30 Motorola Inc. Memory having nonvolatile and volatile memory banks
US5526510A (en) * 1994-02-28 1996-06-11 Intel Corporation Method and apparatus for implementing a single clock cycle line replacement in a data cache unit
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
JP3640802B2 (ja) * 1998-06-08 2005-04-20 富士通株式会社 データバックアップ方式
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
US7269707B2 (en) * 2003-01-10 2007-09-11 Texas Instruments Incorporated Multiple patches to on-chip ROM in a processor with a multilevel memory system without affecting performance
TW591372B (en) * 2003-05-15 2004-06-11 High Tech Comp Corp Power control method of portable electronic device, portable electronic device and electronic system
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
JP2008276646A (ja) * 2007-05-02 2008-11-13 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法
US9003118B2 (en) * 2009-01-09 2015-04-07 Dell Products L.P. Systems and methods for non-volatile cache control
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015007896A (ja) * 2013-06-25 2015-01-15 株式会社東芝 プロセッサ
US10236062B2 (en) 2013-06-25 2019-03-19 Kabushiki Kaisha Toshiba Processor
US9734061B2 (en) 2013-07-16 2017-08-15 Kabushiki Kaisha Toshiba Memory control circuit and processor
JP2017151664A (ja) * 2016-02-24 2017-08-31 日本電気株式会社 プロセッサ、キャッシュシステム、制御方法及びプログラム

Also Published As

Publication number Publication date
US20120233377A1 (en) 2012-09-13

Similar Documents

Publication Publication Date Title
JP2012190359A (ja) キャッシュシステムおよび処理装置
US11200176B2 (en) Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
US9817758B2 (en) Instructions to mark beginning and end of non transactional code region requiring write back to persistent storage
US20190251023A1 (en) Host controlled hybrid storage device
JP6030085B2 (ja) キャッシュメモリおよびプロセッサシステム
US7814276B2 (en) Data cache architecture and cache algorithm used therein
US8966181B2 (en) Memory hierarchy with non-volatile filter and victim caches
JP2011198133A (ja) メモリシステムおよびコントローラ
US9208101B2 (en) Virtual NAND capacity extension in a hybrid drive
WO2011107882A2 (en) Cache with reload capability after power restoration
US9009407B2 (en) System and method for performing system memory save in tiered/cached storage
JP2009294982A (ja) ディスク装置及びその制御方法
JP2017527023A (ja) 不揮発性メモリへの書き込み操作
US20210056030A1 (en) Multi-level system memory with near memory capable of storing compressed cache lines
JP5627521B2 (ja) キャッシュシステムおよび処理装置
US10152410B2 (en) Magnetoresistive random-access memory cache write management
US10997064B2 (en) Ordering updates for nonvolatile memory accesses
US20190286367A1 (en) Management device and information processing device
WO2015186243A1 (ja) ストレージ装置
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
KR101502998B1 (ko) 메모리 시스템 및 그 관리 방법
JP6093322B2 (ja) キャッシュメモリおよびプロセッサシステム
US10503645B1 (en) Data protection
JP6784033B2 (ja) 方法、キャッシュシステム及びデータ監視部
JP5352811B2 (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

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20140521