JP3953903B2 - キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法 - Google Patents
キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法 Download PDFInfo
- 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
Links
- 238000001514 detection method Methods 0.000 title claims description 60
- 238000000034 method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement 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
【発明の属する技術分野】
本発明は、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ビット(4C2=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)
- Nウェイ・セット・アソシアティブ方式のキャッシュメモリ装置(Nは2以上の整数)であって、
ウェイ間の勝敗関係を示すビットであって特定の強さの一のウェイを示すように更新される参照履歴に基づいて、前記特定の強さの一のウェイを検出するウェイ検出部と、
前記ウェイ検出部によって特定の強さの一のウェイが検出されない場合に、参照履歴のビット誤りを検出する誤り検出部と、
前記参照履歴のウェイ間の勝敗関係を示すビットの一部に基づいて置換対象のウェイを選択するウェイ選択部と、
を備える、キャッシュメモリ装置。 - 前記参照履歴は、最新に参照又は更新されたウェイが特定の強さの一のウェイであることを示すように更新される、請求項1に記載のキャッシュメモリ装置。
- 前記誤り検出部は、前記ウェイ選択部によって置換対象のウェイが選択された後に、参照履歴のビット誤りを検出する、請求項1に記載のキャッシュメモリ装置。
- 前記ウェイ選択部は、特定のアドレスに対するアクセス要求がいずれのウェイにもヒットしなかった場合に、置換対象のウェイを選択する、請求項1に記載のキャッシュメモリ装置。
- 前記誤り検出部によって参照履歴のビット誤りが検出された場合に、エラーを報告するエラー報告部をさらに備える、請求項1に記載のキャッシュメモリ装置。
- Nウェイ(Nは2以上の整数)・セット・アソシアティブ方式のキャッシュメモリ装置において参照履歴のビット誤りを検出する方法であって、
ウェイ間の勝敗関係を示すビットであって特定の強さの一のウェイを示すように更新される参照履歴に基づいて、前記特定の強さの一のウェイを検出するステップ、
その特定の強さの一のウェイが検出されない場合に、参照履歴のビット誤りを検出するステップと、
前記参照履歴のウェイ間の勝敗関係を示すビットの一部に基づいて置換対象のウェイをず選択するステップと、
を備える参照履歴のビット誤り検出方法。 - 前記参照履歴は、最新に参照又は更新されたウェイが特定の強さの一のウェイであることを示すように更新される、請求項6に記載の参照履歴のビット誤り検出方法。
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)
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)
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故障検出装置 |
-
2002
- 2002-06-28 JP JP2002191018A patent/JP3953903B2/ja not_active Expired - Fee Related
-
2003
- 2003-01-21 US US10/347,369 patent/US7376868B2/en not_active Expired - Fee Related
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 |