JP3953903B2 - キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法 - Google Patents

キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法 Download PDF

Info

Publication number
JP3953903B2
JP3953903B2 JP2002191018A JP2002191018A JP3953903B2 JP 3953903 B2 JP3953903 B2 JP 3953903B2 JP 2002191018 A JP2002191018 A JP 2002191018A JP 2002191018 A JP2002191018 A JP 2002191018A JP 3953903 B2 JP3953903 B2 JP 3953903B2
Authority
JP
Japan
Prior art keywords
way
reference history
memory device
cache memory
detection unit
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
JP2002191018A
Other languages
English (en)
Other versions
JP2004038299A (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.)
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 JP2002191018A priority Critical patent/JP3953903B2/ja
Priority to US10/347,369 priority patent/US7376868B2/en
Publication of JP2004038299A publication Critical patent/JP2004038299A/ja
Application granted granted Critical
Publication of JP3953903B2 publication Critical patent/JP3953903B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置、特に、参照履歴のビット誤りをパリティビット等の冗長ビットを用いることなく検出できるキャッシュメモリ装置、及び、参照履歴のビット誤り検出方法に関する。
【0002】
【従来の技術】
従来、Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置においては、同一セット内でLRU(Least Recently Used)アルゴリズムによって示される、最後に参照(又は更新)された時刻が最も古いウェイの情報を主記憶装置(メインメモリ)へ書き戻すのが、性能上有利であることが知られている。
【0003】
従来のキャッシュメモリ装置の動作について図面を参照しながら説明する。図8は、従来のキャッシュメモリ装置の動作を説明するためのフローチャートである。
【0004】
メインメモリのアドレス空間の特定のアドレスに対するアクセス要求があった場合には(S200)、まず、そのアドレスがマッチアドレス(match address)とラインアドレス(line address)に分離される。各ウェイのタグRAMがラインアドレスで検索され、タグRAMから読み出されたエントリアドレスとマッチアドレスとが比較される(S201)。エントリアドレスとマッチアドレスが同じであれば、そのウェイにヒットしたことになる(S202:Yes)。この場合には、ヒットしたウェイが返され、そのウェイのデータRAMが保持しているメインメモリのコピーに対してアクセスされる(S203)。
【0005】
一方、マッチアドレスがどのウェイのエントリアドレスにもヒットしなかった場合には(S202:No)、あるウェイの情報を書き戻して(又は無効にして)タグRAMのエントリから追い出し、アクセス要求のあったアドレスのメインメモリのコピーをキャッシュに読み込む。この追い出しウェイ(置換対象のウェイ)の選択のために参照履歴が読み出される(S204)。次に、参照履歴に1ビット誤りが検出されたか否かが判定される(S205)。この誤り検出は、読み出された参照履歴に付加されている冗長ビットに基づいて行われる(例えばパリティチェック)。そして、パリティエラーが起こった場合には(S205:Yes)、その参照履歴に誤りがあるとみなし、エラー報告を行い(S206)、有効なウェイのうち最若番のものを返す(S207)。また、参照履歴で勝敗を決定する際に、参照時刻の関係に矛盾が生じるような場合には、ウェイのゼロセレクトやダブルセレクトを防ぐためにパリティエラーが起きたときと同じ処理を行っていた。
【0006】
メインメモリへの書き戻しを行うには、タグメモリ(あるいはそれと同等のセットで引くことのできるメモリ領域)内に、同一セット内での参照時刻の新旧を比較できる参照履歴(LRUビットともいう)を保持しておく必要がある。また、特に信頼性が要求される装置では、参照履歴を保護するために、パリティビットやECC(Error Correcting Code)等の冗長ビットが参照履歴に付加されることがある。
【0007】
しかしながら、システムが巨大になりアドレス空間が増えると、キャッシュしなければならないアドレス空間も増大する。キャッシュのブロックサイズが同じであれば、キャッシュ可能なアドレス空間が2倍になるごとに、タグ・メモリのエントリアドレスの情報量が1ビット増えることになる。このとき、タグメモリの情報量の制約等により、参照履歴のエラー検出のための冗長ビットを充分に確保できない場合がある。
【0008】
【発明が解決しようとする課題】
本発明の課題は、Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置において、参照履歴に冗長ビットを付加することなく、参照履歴のビットエラーを検出することにある。
【0009】
【課題を解決するための手段】
本発明は、上記の課題を解決するために、Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置(Nは2以上の整数)であって、ウェイ間の勝敗関係を示すビットであって特定の強さの一のウェイを示すように更新される参照履歴に基づいて、前記特定の強さの一のウェイを検出するウェイ検出部と、前記ウェイ検出部によって特定の強さの一のウェイが検出されない場合に、参照履歴のビット誤りを検出する誤り検出部とを備える、キャッシュメモリ装置。
【0010】
本発明によれば、特定の強さの一のウェイを示すように更新されるようになっている参照履歴に基づいてビット誤りを検出する。したがって、Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置において、参照履歴に冗長ビットを付加することなく、参照履歴のビットエラーを検出することが可能となる。
【0011】
上記のNウェイ・セット・アソシアティブ方式のキャッシュメモリ装置においては、例えば、前記参照履歴は、最新に参照又は更新されたウェイが特定の強さの一のウェイであることを示すように更新される。
【0012】
上記のNウェイ・セット・アソシアティブ方式のキャッシュメモリ装置においては、例えば、前記特定の強さの一のウェイは、Nウェイの中で最も強いウェイである。また、前記特定の強さの一のウェイは、Nウェイの中で最も弱いウェイであってもよい。
【0013】
上記のNウェイ・セット・アソシアティブ方式のキャッシュメモリ装置においては、例えば、前記参照履歴に基づいて置換対象のウェイを選択するウェイ選択部をさらに備える。
【0014】
上記のNウェイ・セット・アソシアティブ方式のキャッシュメモリ装置においては、例えば、前記ウェイ選択部は、置換対象のウェイとしてNウェイの中で最も弱いウェイを選択する。
【0015】
上記のNウェイ・セット・アソシアティブ方式のキャッシュメモリ装置においては、例えば、前記誤り検出部は、前記ウェイ選択部によって置換対象のウェイが選択された後に、参照履歴のビット誤りを検出する。
【0016】
上記のNウェイ・セット・アソシアティブ方式のキャッシュメモリ装置においては、例えば、前記ウェイ選択部は、特定のアドレスに対するアクセス要求がいずれのウェイにもヒットしなかった場合に、置換対象のウェイを選択する。
【0017】
上記のNウェイ・セット・アソシアティブ方式のキャッシュメモリ装置においては、例えば、前記誤り検出部によって参照履歴のビット誤りが検出された場合に、エラーを報告するエラー報告部をさらに備える。例えば、特定アプリケーションやユニット等に報告することが考えられる。
【0018】
本発明は、方法の発明として次のように特定できる。Nウェイ(Nは2以上の整数)・セット・アソシアティブ方式のキャッシュメモリ装置において参照履歴のビット誤りを検出する方法であって、ウェイ間の勝敗関係を示すビットであって特定の強さの一のウェイを示すように更新される参照履歴に基づいて、前記特定の強さの一のウェイを検出するステップ、その特定の強さの一のウェイが検出されない場合に、参照履歴のビット誤りを検出するステップとを備える参照履歴のビット誤り検出方法。
【0019】
【発明の実施の形態】
以下、本発明の実施形態であるNウェイ・セット・アソシアティブ方式のキャッシュメモリ装置について図面を参照しながら説明する。Nは、2、4、8、16、32・・・等の2以上の整数である。本実施形態においてはN=4の4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置について説明する。
【0020】
図1は、4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置の概略構成を説明するための図である。キャッシュメモリ装置100は、ウェイ(タグRAM)101aから101d、メインメモリの内容がコピーされるウェイ(データRAM)102aから102d、及び、置換ウェイ選択部103等を備えている。
【0021】
ウェイ101aは参照履歴を格納している。参照履歴は、ウェイ間の勝敗関係(参照又は更新時刻の新旧関係ともいえる)を示すビット0からビット5(以下、#0から#5と呼ぶ)の合計6ビット(42=6)である。参照履歴は、特定の強さの一のウェイを示すように更新される。例えば、参照履歴は、最新に参照又は更新されたウェイが特定の強さの一のウェイであることを示すように更新される。参照履歴はウェイ101aに、セットごとに格納されている。
【0022】
図2は、参照履歴の意味を説明するための図である。#5は、ウェイ0とウェイ1間の勝敗関係を示す。例えば、#5=1であれば、ウェイ1がウェイ0に勝っている(即ち、ウェイ1の方がウェイ0より参照時刻が新しい)ことを示す。#5と排反関係にある[#5]=1であれば、ウェイ0がウェイ1に勝っていることを示す。
【0023】
#4は、ウェイ0とウェイ2間の勝敗関係を示す。例えば、#4=1であれば、ウェイ2がウェイ0に勝っている(即ち、ウェイ2の方がウェイ0より参照時刻が新しい)ことを示す。#4と排反関係にある[#4]=1であれば、ウェイ0がウェイ2に勝っていることを示す。
【0024】
#3は、ウェイ0とウェイ3間の勝敗関係を示す。例えば、#3=1であれば、ウェイ3がウェイ0に勝っている(即ち、ウェイ3の方がウェイ0より参照時刻が新しい)ことを示す。#3と排反関係にある[#3]=1であれば、ウェイ0がウェイ3に勝っていることを示す。
【0025】
#2は、ウェイ1とウェイ2間の勝敗関係を示す。例えば、#2=1であれば、ウェイ2がウェイ1に勝っている(即ち、ウェイ2の方がウェイ1より参照時刻が新しい)ことを示す。#2と排反関係にある[#2]=1であれば、ウェイ1がウェイ2に勝っていることを示す。
【0026】
#1は、ウェイ1とウェイ3間の勝敗関係を示す。例えば、#1=1であれば、ウェイ3がウェイ1に勝っている(即ち、ウェイ3の方がウェイ1より参照時刻が新しい)ことを示す。#1と排反関係にある[#1]=1であれば、ウェイ1がウェイ3に勝っていることを示す。
【0027】
#0は、ウェイ2とウェイ3間の勝敗関係を示す。例えば、#0=「1」であれば、ウェイ3がウェイ2に勝っている(即ち、ウェイ3の方がウェイ2より参照時刻が新しいこと)を示す。#0と排反関係にある[#0]=「1」であれば、ウェイ2がウェイ3に勝っていることを示す。
【0028】
図3は、置換ウェイ選択部103の概略構成を説明するための図である。置換ウェイ選択部103は、主に、ウェイ検出部103a、誤り検出部103b、及び、ウェイ選択部103cを含む。
【0029】
ウェイ検出部103aは、参照履歴に基づいて、4ウェイの中で最も強いウェイを検出するための論理回路である。ウェイ検出部103aは、各ウェイごとにそのウェイが他の3つのウェイよりも強いか(即ちそのウェイが4ウェイの中で最も強いウェイか)どうかを検出するためのNAND演算回路C70からC73を含む。
【0030】
NAND演算回路C70は、ウェイ0が他の3つのウェイよりも強いかどうかを検出する。ウェイ0が他の3つのウェイよりも強ければ(即ちウェイ0が4ウェイの中で最も強い一のウェイであれば)、NAND演算回路C70はWAY0_WIN=”0”を出力する。一方、ウェイ0が他の3つのウェイのいずれかに負けていれば(即ちウェイ0よりも強いウェイが存在すれば)、NAND演算回路C70はWAY0_WIN=”1”を出力する。同様に、NAND演算回路C71は、ウェイ1が他の3つのウェイよりも強いかどうかを検出する。NAND演算回路C72は、ウェイ2が他の3つのウェイよりも強いかどうかを検出する。NAND演算回路C73は、ウェイ3が他の3つのウェイよりも強いかどうかを検出する。
【0031】
参照履歴は、最新に参照(又は更新)されたウェイが特定の強さのウェイであることを示すように更新される。本実施形態においては、参照履歴は、最新に参照又は更新されたウェイが4ウェイの中で最も強いウェイであることを示すように更新されるものとする。即ち、ウェイが参照(又は更新)された場合には、参照履歴は、その参照されたウェイが4つのウェイの中で最も強いウェイであることを示すように更新される。このため、ウェイ検出部103aは通常、4つのウェイの中で最も強いウェイを検出する。
【0032】
例えば、図4に示すように、参照履歴が111111である場合には、縦に3つの1が並んでいるウェイ3が最も強い(他の全てのウェイに勝っている)ことを示す。この参照履歴111111がウェイ検出部103aに入力された場合には、図3から明らかなように、NAND演算回路C73はWAY3_WIN=”0”を出力し、その他のNAND演算回路C70からC72はそれぞれ”1”を出力する。これは、ウェイ検出部103aが4つのウェイの中で最も強いウェイとしてウェイ3を検出したことを示す。
【0033】
ここで、ウェイ2が参照(又は更新)されたとする。この場合、参照履歴は、その最新に参照(又は更新)されたウェイ2が4つのウェイの中で最も強いウェイであることを示すように更新される。図5は、ウェイ2が最も強い一のウェイであることを示すように更新されたことを示している。この参照履歴は、図4に示す参照履歴のうち、[#0」を1に、[#0]と排反関係にある#0を0にそれぞれ更新したものである。この更新後の参照履歴011111がウェイ検出部103aに入力された場合には、図3から明らかなように、NAND演算回路C72はWAY2_WIN=”0”を出力し、その他のNAND演算回路C70、C71、及び、C73はそれぞれ”1”を出力する。これは、ウェイ検出部103aが4つのウェイの中で最も強いウェイとしてウェイ2を検出したことを示す。
【0034】
このように、参照履歴は、最新に参照(又は更新)されたウェイが4ウェイの中で最も強いウェイであることを示すように更新される。このため、ウェイ検出部103aは通常、4つのウェイの中で最も強い一のウェイを検出する。
【0035】
一方、図6は、上記のルールで更新した場合には出現し得ない参照履歴のパターンを示している。この参照履歴111011は、縦に2つの1が並んでいるウェイ2及び3が強いが、最も強いウェイが存在しないことを示す。
この参照履歴111011がウェイ検出部103aに入力された場合には、図3から明らかなように、NAND演算回路C70からC73はそれぞれ”1”を出力する。”0”は出力されない。これは、ウェイ検出部103aによって4つのウェイの中で最も強いウェイが検出されないことを示す。
【0036】
誤り検出部103bは、ウェイ検出部103aによって4つのウェイの中で最も強い一のウェイが検出されない場合に、参照履歴のビット誤りを検出するための論理回路である。
【0037】
図3に示すように、誤り検出部103bは、ウェイ検出部103a(各NAND演算回路C70からC73)からの出力に基づいて参照履歴のビット誤りを検出するNOR演算回路を含む。例えば、図4に示す参照履歴111111がウェイ検出部103aに入力された場合には、図3から明らかなように、NAND演算回路C73は”0”を出力し、その他のNAND演算回路C70からC72はそれぞれ”1”を出力し、ビット誤り検出部103bはLRU_SBE=0を出力する。LRU_SBE=0は、ビット誤り検出部103bが参照履歴のビット誤りを検出しなかったことを示す。同様に、図5に示す参照履歴011111がウェイ検出部103aに入力された場合も、ビット誤り検出部103bはLRU_SBE=0を出力する。
【0038】
一方、上記ルールで更新した場合には出現し得ない参照履歴111011がウェイ検出部103aに入力された場合には、図3から明らかなように、NAND演算回路C70からC73はそれぞれ”1”を出力し、ビット誤り検出部103bはLRU_SBE=”1”を出力する。LRU_SBE=”1”は、誤り検出部103bが参照履歴のビット誤りが検出されたことを示す。
【0039】
ウェイ選択部103cは、参照履歴に基づいて置換対象のウェイ(Nウェイの中で最も弱いウェイ)を選択するための論理回路である。例えば、ウェイ0とウェイ1の勝敗とウェイ2とウェイ3の勝敗をとり、その敗者同士の比較で最も負けたウェイを置換対象のウェイとする。図3に示すように、ウェイ選択部102cは、NAND演算回路C00からC31と、OR演算回路C02からC32とを含む。例えば、NAND演算回路C00は、ウェイ0がウェイ1に負け(ウェイ1よりも古く)かつウェイ2がウェイ3に負けた(ウェイ3よりも古い)場合、ウェイ0がウェイ2に負けていれば(ウェイ2よりも古ければ)、最も負けた(古い)ウェイ0を置換対象とすることを示す。ここでは、それ以外の関係には着目していないため、参照履歴がいかなる状態にあっても必ず1つのウェイが選択される。
【0040】
次に、上記構成のキャッシュメモリ装置100の動作について、図面を参照しながら説明する。図7は、キャッシュメモリ装置100の動作を説明するためのフローチャートである。
【0041】
メインメモリのアドレス空間の特定のアドレスに対するアクセス要求があった場合には(S100)、まず、そのアドレスがマッチアドレス(match address)とラインアドレス(line address)に分離される。各ウェイ101aから101d(タグRAM)がラインアドレスで検索され、各ウェイから読み出されたエントリアドレスとマッチアドレスとが比較される(S101)。エントリアドレスとマッチアドレスが同じであれば、そのウェイにヒットしたことになる(S102:Yes)。この場合には、ヒットしたウェイが返され、そのウェイのデータRAMが保持しているメインメモリのコピーに対してアクセスされる(S103)。
【0042】
一方、マッチアドレスがどのウェイのエントリアドレスにもヒットしなかった場合には(S102:No)、あるウェイの情報を書き戻して(又は無効にして)タグRAMのエントリから追い出し、アクセス要求のあったアドレスのメインメモリのコピーをキャッシュに読み込む。この追い出しウェイ(置換対象のウェイ)の選択のために参照履歴が読み出される(S104)。ここでは、参照履歴として111111が読み出されたとする。ウェイ選択部102cは、その読み出された参照履歴に基づいて置換対象のウェイを選択する。
【0043】
ここでは参照履歴として111111が読み出されたので、図3から明らかなように、OR演算回路C02は”1”を出力し、その他のOR演算回路C12、C22、及び、C32はそれぞれ=”0”を出力する。これは、ウェイ選択部102cがその読み出された参照履歴111111に基づいて置換対象のウェイとしてウェイ0を選択したことを示す。
【0044】
次に、参照履歴に1ビット誤りが検出されたか否かが判定される(S106)。ここでは参照履歴として111111が読み出されたので、図3から明らかなように、NAND演算回路C73はWAY3_WIN=”0”を出力し、その他のNAND演算回路C70からC72はそれぞれ”1”を出力する。これは、ウェイ検出部102aがその読み出された参照履歴111111に基づいて4つのウェイの中で最も強い一のウェイとしてウェイ3を検出したことを示す。誤り検出部102bは、ウェイ検出部102aによって最も強いウェイを検出できなかった場合に、参照履歴のビット誤りを検出する。ここでは、ウェイ検出部102aによって最も強いウェイ(ウェイ3)が検出されるため、誤り検出部102bは、参照履歴のビット誤りを検出しない(S106:No)。この場合、エラー報告がなされることなく、追い出しウェイが返される(S107)。例えば、データRAMに置換対象ウェイが通知される。
【0045】
参照履歴は、最新に参照(又は更新)されたウェイが4つのウェイの中で最も強いウェイであることを示すように更新される。このルールで参照履歴を更新する限り、ウェイ検出部103aによって通常、4つのウェイの中で最も強いウェイが検出されるため、誤り検出部103bは、参照履歴のビット誤りを検出しない(S106:No)。
【0046】
一方、S104において、参照履歴として111011が読み出されたとする。この参照履歴111011は、上記のルールで更新する限り、出現し得ないものである。ウェイ選択部103cは、その読み出された参照履歴に基づいて置換対象のウェイを選択する。
【0047】
ここでは参照履歴として111011が読み出されたので、図3から明らかなように、OR演算回路C02は”1”を出力し、その他のOR演算回路C12、C22、及び、C32はそれぞれれぞれ”0”を出力する。これは、ウェイ選択部103cがその読み出された参照履歴111011に基づいて置換対象のウェイとしてウェイ0を選択したことを示す。このように、本実施形態のウェイ選択部103cによれば、必ず一の置換対象のウェイが選択される。
【0048】
次に、参照履歴に1ビット誤りが検出されたか否かが判定される(S106)。ここでは参照履歴として111011が読み出されたので、図3から明らかなように、NAND演算回路C70からC73はそれぞれ”1”を出力する。”0”は出力されない。これは、ウェイ検出部103aがその読み出された参照履歴111011に基づいて最も強いウェイが検出されなかったことを示す。誤り検出部103bは、ウェイ検出部103aによって最も強いウェイを検出できなかった場合に、参照履歴のビット誤りを検出する。ここでは、ウェイ検出部103aによって最も強いウェイが検出されなかったため、誤り検出部103bは、参照履歴のビット誤りを検出する(S106:Yes)。この場合、特定のアプリケーション等へエラー報告がなされ(S108)、追い出しウェイが返される(S107)。例えば、データRAMに置換対象ウェイが通知される。
【0049】
以上説明したように、本実施形態においては、Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置100において、参照履歴に冗長ビットを付加することなく、誤り検出部103bの出力により、参照履歴のビットエラーを検出することが可能となる。
【0050】
[その他] 本発明は、以下のように特定することができる。
(付記1) Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置(Nは2以上の整数)であって、ウェイ間の勝敗関係を示すビットであって特定の強さの一のウェイを示すように更新される参照履歴に基づいて、前記特定の強さの一のウェイを検出するウェイ検出部と、前記ウェイ検出部によって特定の強さの一のウェイが検出されない場合に、参照履歴のビット誤りを検出する誤り検出部とを備える、キャッシュメモリ装置。(1)
(付記2) 前記参照履歴は、最新に参照又は更新されたウェイが特定の強さの一のウェイであることを示すように更新される、付記1に記載のキャッシュメモリ装置。(2)
(付記3) 前記特定の強さの一のウェイは、Nウェイの中で最も強いウェイである、付記2に記載のキャッシュメモリ装置。(3)
(付記4) 前記参照履歴に基づいて置換対象のウェイを選択するウェイ選択部をさらに備える、付記3に記載のキャッシュメモリ装置。(4)
(付記5) 前記ウェイ選択部は、置換対象のウェイとしてNウェイの中で最も弱いウェイを選択する、付記4に記載のキャッシュメモリ装置。(5)
(付記6) 前記誤り検出部は、前記ウェイ選択部によって置換対象のウェイが選択された後に、参照履歴のビット誤りを検出する、付記5に記載のキャッシュメモリ装置。(6)
(付記7) 前記ウェイ選択部は、特定のアドレスに対するアクセス要求がいずれのウェイにもヒットしなかった場合に、置換対象のウェイを選択する、付記4に記載のキャッシュメモリ装置。(7)
(付記8) 前記誤り検出部によって参照履歴のビット誤りが検出された場合に、エラーを報告するエラー報告部をさらに備える、付記1に記載のキャッシュメモリ装置。(8)
(付記9) Nウェイ(Nは2以上の整数)・セット・アソシアティブ方式のキャッシュメモリ装置において参照履歴のビット誤りを検出する方法であって、ウェイ間の勝敗関係を示すビットであって特定の強さの一のウェイを示すように更新される参照履歴に基づいて、前記特定の強さの一のウェイを検出するステップ、その特定の強さの一のウェイが検出されない場合に、参照履歴のビット誤りを検出するステップとを備える参照履歴のビット誤り検出方法。(9)
(付記10) 前記参照履歴は、最新に参照又は更新されたウェイが特定の強さの一のウェイであることを示すように更新される、付記9に記載の参照履歴のビット誤り検出方法。(10)
【0051】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態は、あらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
【0052】
【発明の効果】
以上説明したように、本発明によれば、Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置において、参照履歴に冗長ビットを付加することなく、参照履歴のビットエラーを検出することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施形態である4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置の概略構成を説明するための図である。
【図2】本発明の実施形態である4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置における参照履歴の意味を説明するための図である。
【図3】本発明の実施形態である4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置における置換ウェイ選択部103の概略構成を説明するための図である。
【図4】本発明の実施形態である4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置における参照履歴の例である。
【図5】本発明の実施形態である4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置における参照履歴の例である。
【図6】本発明の実施形態である4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置における参照履歴の例である。
【図7】本発明の実施形態である4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置の動作を説明するためのフローチャートである。
【図8】本発明の実施形態である4ウェイ・セット・アソシアティブ方式のキャッシュメモリ装置の従来例の動作を説明するためのフローチャートである。
【符号の説明】
100 キャッシュメモリ装置
101 ウェイ(タグRAM)
102 ウェイ(データRAM)
103 置換ウェイ選択部
103a ウェイ検出部
103b 誤り検出部
103c ウェイ選択部

Claims (7)

  1. Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置(Nは2以上の整数)であって、
    ウェイ間の勝敗関係を示すビットであって特定の強さの一のウェイを示すように更新される参照履歴に基づいて、前記特定の強さの一のウェイを検出するウェイ検出部と、
    前記ウェイ検出部によって特定の強さの一のウェイが検出されない場合に、参照履歴のビット誤りを検出する誤り検出部と
    前記参照履歴のウェイ間の勝敗関係を示すビットの一部に基づいて置換対象のウェイを選択するウェイ選択部と、
    を備える、キャッシュメモリ装置。
  2. 前記参照履歴は、最新に参照又は更新されたウェイが特定の強さの一のウェイであることを示すように更新される、請求項1に記載のキャッシュメモリ装置。
  3. 前記誤り検出部は、前記ウェイ選択部によって置換対象のウェイが選択された後に、参照履歴のビット誤りを検出する、請求項1に記載のキャッシュメモリ装置。
  4. 前記ウェイ選択部は、特定のアドレスに対するアクセス要求がいずれのウェイにもヒットしなかった場合に、置換対象のウェイを選択する、請求項1に記載のキャッシュメモリ装置。
  5. 前記誤り検出部によって参照履歴のビット誤りが検出された場合に、エラーを報告するエラー報告部をさらに備える、請求項1に記載のキャッシュメモリ装置。
  6. Nウェイ(Nは2以上の整数)・セット・アソシアティブ方式のキャッシュメモリ装置において参照履歴のビット誤りを検出する方法であって、
    ウェイ間の勝敗関係を示すビットであって特定の強さの一のウェイを示すように更新される参照履歴に基づいて、前記特定の強さの一のウェイを検出するステップ、
    その特定の強さの一のウェイが検出されない場合に、参照履歴のビット誤りを検出するステップと、
    前記参照履歴のウェイ間の勝敗関係を示すビットの一部に基づいて置換対象のウェイをず選択するステップと、
    を備える参照履歴のビット誤り検出方法。
  7. 前記参照履歴は、最新に参照又は更新されたウェイが特定の強さの一のウェイであることを示すように更新される、請求項6に記載の参照履歴のビット誤り検出方法。
JP2002191018A 2002-06-28 2002-06-28 キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法 Expired - Fee Related JP3953903B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002191018A JP3953903B2 (ja) 2002-06-28 2002-06-28 キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法
US10/347,369 US7376868B2 (en) 2002-06-28 2003-01-21 Cache memory device and reference history bit error detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002191018A JP3953903B2 (ja) 2002-06-28 2002-06-28 キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法

Publications (2)

Publication Number Publication Date
JP2004038299A JP2004038299A (ja) 2004-02-05
JP3953903B2 true JP3953903B2 (ja) 2007-08-08

Family

ID=31700763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002191018A Expired - Fee Related JP3953903B2 (ja) 2002-06-28 2002-06-28 キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法

Country Status (2)

Country Link
US (1) US7376868B2 (ja)
JP (1) JP3953903B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901532B2 (en) * 2002-03-28 2005-05-31 Honeywell International Inc. System and method for recovering from radiation induced memory errors
WO2007088591A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited メモリアクセス制御装置およびメモリアクセス制御方法
US7856576B2 (en) * 2007-04-25 2010-12-21 Hewlett-Packard Development Company, L.P. Method and system for managing memory transactions for memory repair
US7809980B2 (en) * 2007-12-06 2010-10-05 Jehoda Refaeli Error detector in a cache memory using configurable way redundancy
US8183888B2 (en) * 2010-05-03 2012-05-22 Elpida Memory, Inc. Parity unit using 3-input NANDs
US9690649B2 (en) 2015-05-08 2017-06-27 International Business Machines Corporation Memory device error history bit
US10176096B2 (en) * 2016-02-22 2019-01-08 Qualcomm Incorporated Providing scalable dynamic random access memory (DRAM) cache management using DRAM cache indicator caches

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5214321A (en) 1975-07-25 1977-02-03 Hitachi Ltd Reference order decision circuit
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
JPS5850694A (ja) 1981-09-18 1983-03-25 Fujitsu Ltd バツフア記憶装置におけるリプレイス・ウエイ制御方式
US4530055A (en) * 1982-03-03 1985-07-16 Sperry Corporation Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory
US4811203A (en) * 1982-03-03 1989-03-07 Unisys Corporation Hierarchial memory system with separate criteria for replacement and writeback without replacement
US4607331A (en) * 1983-05-13 1986-08-19 Motorola, Inc. Method and apparatus for implementing an algorithm associated with stored information
JPS60142759A (ja) 1983-12-29 1985-07-27 Fujitsu Ltd Lru決定用記憶装置のエラ−検出方式
US4783735A (en) * 1985-12-19 1988-11-08 Honeywell Bull Inc. Least recently used replacement level generating apparatus
JPH0679297B2 (ja) 1987-02-09 1994-10-05 日本電気アイシーマイコンシステム株式会社 順序記憶制御回路
US5140690A (en) * 1988-06-14 1992-08-18 Mitsubishi Denki Kabushiki Kaisha Least-recently-used circuit
US4967414A (en) * 1989-01-06 1990-10-30 International Business Machines Corp. LRU error detection using the collection of read and written LRU bits
US5222224A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system
US5125085A (en) * 1989-09-01 1992-06-23 Bull Hn Information Systems Inc. Least recently used replacement level generating apparatus and method
DE69127773T2 (de) * 1990-06-15 1998-04-02 Compaq Computer Corp Vorrichtung zur echten LRU-Ersetzung
US5325504A (en) * 1991-08-30 1994-06-28 Compaq Computer Corporation Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
EP0675436B1 (en) * 1994-03-31 1999-10-27 STMicroelectronics, Inc. Recoverable set associative cache
US5845320A (en) * 1996-04-29 1998-12-01 Micron Technology, Inc. Circuit and method to implement a least recently used cache set replacement technique
JPH103427A (ja) 1996-06-19 1998-01-06 Kofu Nippon Denki Kk Lru故障検出装置

Also Published As

Publication number Publication date
US20040078702A1 (en) 2004-04-22
US7376868B2 (en) 2008-05-20
JP2004038299A (ja) 2004-02-05

Similar Documents

Publication Publication Date Title
US10884940B2 (en) Method and apparatus for using compression to improve performance of low voltage caches
US7552286B2 (en) Performance of a cache by detecting cache lines that have been reused
US7805574B2 (en) Method and cache system with soft I-MRU member protection scheme during make MRU allocation
US6480975B1 (en) ECC mechanism for set associative cache array
TWI533201B (zh) 縮減交易回復的快取控制
US7343455B2 (en) Cache mechanism and method for avoiding cast out on bad victim select and recycling victim select operation
US7321954B2 (en) Method for software controllable dynamically lockable cache line replacement system
KR20000069836A (ko) 로킹을 사용한 캐시 대체방법
US11210186B2 (en) Error recovery storage for non-associative memory
US9720847B2 (en) Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed
US20080229011A1 (en) Cache memory unit and processing apparatus having cache memory unit, information processing apparatus and control method
CN107015922B (zh) 缓存存储器
JP2681398B2 (ja) 記憶装置
US7716423B2 (en) Pseudo LRU algorithm for hint-locking during software and hardware address translation cache miss handling modes
EP0073666B1 (en) Error processing system for buffer store
US6868484B2 (en) Replacement data error detector
JP2013196393A (ja) 演算処理装置及び演算処理装置の制御方法
JP2005302027A (ja) 自律的エラー回復方法、システム、キャッシュ、およびプログラム・ストレージ装置(メモリ装置のための自律的エラー回復のための方法、システム、およびプログラム)
US5953747A (en) Apparatus and method for serialized set prediction
JP3953903B2 (ja) キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法
US6408364B1 (en) Apparatus and method for implementing a least recently used cache replacement algorithm
US7010649B2 (en) Performance of a cache by including a tag that stores an indication of a previously requested address by the processor not stored in the cache
JP4009304B2 (ja) キャッシュメモリおよびキャッシュメモリ制御方法
US7007135B2 (en) Multi-level cache system with simplified miss/replacement control
US7987320B2 (en) Cache mechanism and method for avoiding cast out on bad victim select and recycling victim select operation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees