JP2006343851A - キャッシュメモリおよびマイクロプロセッサ - Google Patents

キャッシュメモリおよびマイクロプロセッサ Download PDF

Info

Publication number
JP2006343851A
JP2006343851A JP2005167221A JP2005167221A JP2006343851A JP 2006343851 A JP2006343851 A JP 2006343851A JP 2005167221 A JP2005167221 A JP 2005167221A JP 2005167221 A JP2005167221 A JP 2005167221A JP 2006343851 A JP2006343851 A JP 2006343851A
Authority
JP
Japan
Prior art keywords
data
circuit
read
write
cache
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.)
Pending
Application number
JP2005167221A
Other languages
English (en)
Inventor
Naoki Oshima
島 直 樹 大
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 JP2005167221A priority Critical patent/JP2006343851A/ja
Publication of JP2006343851A publication Critical patent/JP2006343851A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 チップ面積の増大を可及的に防ぎつつ、信頼性を向上させたキャッシュメモリおよびこれを備えたマイクロプロセッサを提供する。
【解決手段】 本発明の一態様としてのキャッシュメモリは、複数のキャッシュラインを有するメモリセルと、データ比較バッファと、書き込み要求を受けた場合は、前記書き込み要求に基づくデータを、該当するキャッシュライン及び前記データ比較バッファへ書き込む書き込み回路と、前記書き込み回路によって前記キャッシュライン及び前記データ比較バッファへ書き込まれたデータを読み出し、これらのデータを比較して、両者に相違が存在するか否かを判断する比較回路と、前記相違が存在する場合は、前記キャッシュラインに書き込まれたデータを無効に設定する設定回路と、を備える。
【選択図】 図1

Description

本発明は、キャッシュメモリおよびマイクロプロセッサに関する。
近年における動作周波数の高速化、組込みメモリ容量の増大およびプロセスの微細化などにより、LSIテスタによる内蔵キャッシュメモリの故障検出では完全にスクリーニングすることが厳しくなってきている。万一、キャッシュメモリに不良ビットを持ったマイクロプロセッサが実システム上で稼動した場合、ハードウェア起因によるソフトウェアの異常動作でシステムダウンが発生することも予想される。そこで、このような問題を防ぐべく、近年のキャッシュメモリの中にはエラーを検出または訂正する機能を備えているものもある。
以下、従来におけるキャッシュメモリのエラー検出または訂正の技術についてその一例を説明する。
キャッシュメモリへのデータ書き込みは、まず演算回路(CPU)によってアドレスが指定され、アドレスセレクタによってキャッシュメモリのラインが一意に決定される。キャッシュメモリは、タグ部、制御部、データ部および冗長部からなる。
キャッシュメモリの決定されたラインに対し、タグ部へはアドレスを、制御部へはデータ有効のフラグを、データ部へは外部メモリのデータを書き込む。この際、その書き込むデータに対してパリティ計算またはECC計算を行い、当該ラインの冗長部にその計算結果を書き込む。エラーを検出する機能のみを持つキャッシュメモリであればこの冗長部にパリティビットの1ビット(または1バイト毎にパリティを1ビット持つ構成も多い)を、またエラーを訂正する機能を持つキャッシュメモリであれば冗長部に複数のビットからなるECCデータ (一般的には計算方法によるが、2ビットのデータに対し2nビットまたはn+2ビットのECCデータが必要であり、この場合1ビットのエラーは訂正が可能、2ビットエラーは検出までが可能)をライン毎に持つ。
キャッシュメモリからのデータ読み出しは、書き込み時と同様に、まず演算回路によってアドレスが指定され、アドレスセレクタによってキャッシュメモリのラインが一意に決定される。
その決定されたラインにおけるタグ部、制御部およびデータ部からそれぞれデータを取り出し、タグ部からのデータと演算回路によって指定されたアドレスとに基づいてタグ比較器でキャッシュヒットの判定を行い、制御部からのデータに基づき制御比較器で当該ラインの有効または無効の判定を行う。
キャッシュヒット且つ有効の判定の場合は、データ部からのデータをデータ比較器において取り出し、取り出されたデータを用いて、パリティ/ECCデータ演算回路で冗長データを算出する。一方、上述のキャッシュラインにおける冗長部からもデータが取り出され、冗長部からのデータと、パリティ/ECCデータ演算回路によって算出された冗長データとを冗長データ比較回路で比較することで、データ比較器によって取り出されたデータに誤りがあるか否かを確認する。
誤りがあり且つ誤りを訂正可能な場合は、データ訂正回路でデータを訂正して出力し、誤りがあり且つ訂正不能な場合はデータ訂正回路からキャッシュミス信号を出力する。
上述のタグ比較器においてミスヒットの判定が行われた場合または制御比較器で無効の判定が行われた場合も同様にキャッシュミス信号を出力する。
上述の通り、既存のエラー検出およびエラー訂正技術では、キャッシュメモリ上のライン毎にパリティビットやECCデータなどの冗長データを持つため、データ量が多くなり、マイクロプロセッサのチップ面積が増大する問題があった。また、エラー訂正においても一般的にECCデータはキャッシュライン単位で持つため、エラー訂正できるビット数には限りがある。
特開平07−73106公報
本発明は、チップ面積の増大を可及的に防ぎつつ、信頼性を向上させたキャッシュメモリおよびこれを備えたマイクロプロセッサを提供する。
本発明の第1の態様としてのキャッシュメモリは、複数のキャッシュラインを有するメモリセルと、データ比較バッファと、書き込み要求を受けた場合は、前記書き込み要求に基づくデータを、該当するキャッシュライン及び前記データ比較バッファへ書き込む書き込み回路と、前記書き込み回路によって前記キャッシュライン及び前記データ比較バッファへ書き込まれたデータを読み出し、これらのデータを比較して、両者に相違が存在するか否かを判断する比較回路と、前記相違が存在する場合は、前記キャッシュラインに書き込まれたデータを無効に設定する設定回路と、を備える。
本発明の一態様としてのマイクロプロセッサは、第1の態様のキャッシュメモリと、性能重視モード及び信頼性重視モードのいずれかのモードを選択する値を格納する制御レジスタとを備えたマイクロプロセッサであって、前記制御レジスタに前記性能重視モードを選択する値が格納されている場合は、前記書き込み回路は、前記書き込み要求を受けた場合は、前記該当するキャッシュラインへ前記データを書き込み、一方、前記制御レジスタに前記信頼性重視モードを選択する値が格納されている場合は、前記書き込み回路は、前記書き込み要求を受けた場合は、前記該当するキャッシュライン及び前記データ比較バッファへ前記データを書き込み、前記比較回路は前記キャッシュライン及び前記データ比較バッファからそれぞれデータを読み出し、これらのデータを比較して、両者に相違が存在するか否かを判断し、前記設定回路は、前記相違が存在する場合は前記キャッシュラインに書き込まれたデータを無効に設定する、ことを特徴とする。
本発明の第2の態様としてのキャッシュメモリは、複数のキャッシュラインを有するメモリセルと、データ比較バッファと、書き込み要求を受けた場合は、前記書き込み要求に基づくデータを、前記書き込み要求に対応するインデックスのキャッシュライン及び前記データ比較バッファへ書き込む書き込み回路と、前記書き込み回路によって前記キャッシュライン及び前記データ比較バッファへ書き込まれたデータをそれぞれ第1データ及び第2データとして読み出し、これら第1及び第2データを比較して、両者に相違が存在するか否かを判断する比較回路と、前記相違が存在する場合は、前記エラー設定回路によって、前記相違するビット位置と前記相違するビット位置における第2データの値とを、エラー訂正情報として、前記第1データを読み出したキャッシュラインのインデックスと関連づけて登録される不良ビット管理テーブルと、読み出し要求を受けた場合は、前記読み出し要求に対応するインデックスのキャッシュラインからデータを読み出す読み出し回路と、前記読み出し要求に対応するインデックスが前記不良ビット管理テーブルに登録されているか否かを検査する検査部と、前記インデックスが登録されている場合は、前記インデックスに対応するエラー訂正情報を用いて前記読み出し回路によって読み出されたデータを訂正する訂正回路と、を備える。
本発明の一態様としてのマイクロプロセッサは、第2の態様のキャッシュメモリと、性能重視モード及び信頼性重視モードのいずれかのモードを選択する値を格納する制御レジスタとを備えたマイクロプロセッサであって、前記制御レジスタに前記性能重視モードを選択する値が格納されている場合は、前記書き込み回路は、前記書き込み要求を受けた場合は、前記書き込み要求に対応するインデックスのキャッシュラインへ前記データを書き込み、前記読み出し回路は、前記読み出し要求を受けた場合は、前記読み出し要求に対応するインデックスのキャッシュラインからデータを読み出し、一方、前記制御レジスタに前記信頼性重視モードを選択する値が格納されている場合は、前記書き込み回路は、前記書き込み要求を受けた場合は、前記書き込み要求に対応するインデックスのキャッシュライン及び前記データ比較バッファへ前記データを書き込み、前記比較回路は、前記キャッシュライン及び前記データ比較バッファから前記第1及び第2データを読み出し、これら第1及び第2データを比較して、両者に相違が存在するか否かを判断し、前記相違が存在する場合は、前記エラー設定回路は、前記不良ビット管理テーブルに前記エラー訂正情報を、前記キャッシュラインのインデックスと関連づけて登録し、前記読み出し要求を受けた場合は、前記キャッシュメモリにおける前記読み出し回路は、前記読み出し要求に対応するインデックスのキャッシュラインからデータを読み出し、前記検査部は、前記読み出し要求に対応するインデックスが前記不良ビット管理テーブルに登録されているか否かを検査し、前記訂正回路は、前記インデックスが登録されている場合は、前記インデックスに対応するエラー訂正情報を用いて、前記読み出し回路によって読み出されたデータを訂正する、ことを特徴とする。
本発明の一態様としてのマイクロプロセッサは、キャッシュメモリと、前記キャッシュメモリへアクセスする演算回路と、不揮発性メモリとを備えたマイクロプロセッサであって、前記キャッシュメモリは、複数のキャッシュラインを有するメモリセルと、データ比較バッファと、前記演算回路から書き込み要求を受けた場合は、前記書き込み要求に基づくデータを、前記書き込み要求に対応するインデックスのキャッシュライン及び前記データ比較バッファへ書き込む書き込み回路と、前記書き込み回路によって前記キャッシュライン及び前記データ比較バッファへ書き込まれたデータをそれぞれ第1データ及び第2データとして読み出し、これら第1及び第2データを比較して、両者に相違が存在するか否かを判断する比較回路と、前記相違が存在する場合は、前記相違するビット位置と前記相違するビット位置における第2データの値とを、エラー訂正情報として、前記第1データを読み出したキャッシュラインのインデックスと関連づけて前記不揮発性メモリの不良ビット管理テーブルに登録するエラー設定回路と、前記演算回路から読み出し要求を受けた場合は、前記読み出し要求に対応するインデックスのキャッシュラインからデータを読み出す読み出し回路と、前記読み出し要求に対応するインデックスが前記不揮発性メモリの前記不良ビット管理テーブルに登録されているか否かを検査する検査部と、前記インデックスが登録されている場合は、前記インデックスに対応するエラー訂正情報を用いて、前記読み出し回路によって読み出されたデータを訂正する訂正回路と、を備える。
本発明により、チップ面積の増大を可及的に防ぎつつ、信頼性を向上させたキャッシュメモリおよびこれを備えたマイクロプロセッサを提供できる。
(第1の実施の形態)
図1は、本発明の第1の実施の形態としてのキャッシュメモリの構成を概念的に示すブロック図である。このキャッシュメモリは、例えばマイクロプロセッサの一部として組み込まれる(図2参照)。
このキャッシュメモリは、キャッシュ制御方式として、ダイレクトマップ方式を採用している。但し、本発明は、セットアソシアティブ方式にも適用可能であり、セットアソシアティブ方式を用いる場合は、点線の大枠で囲んだ箇所112をウェイ数分、設ければよい。
このキャッシュメモリは、メモリセル105に加え、メモリセル105の1ラインと同じビット数のデータを格納するデータ比較バッファ103を有する。なお、このデータ比較バッファ103には、データ比較バッファ103における不良ビットの位置情報または不良ビットの位置情報と代替ビットを有する冗長部103aが設けられる。この不良ビットの位置情報は、ECC回路110によって計算される。
より詳細には、マイクロプロセッサの起動時に、テストデータをデータ比較バッファ103に書き込み、同時にECC回路110によって第1のECCデータを算出し、データ比較バッファの冗長部103aに書き込む。そして、ECC回路110はデータ比較バッファ103からこのテストデータを読み出し、第2のECCデータを算出して、第1のECCデータと比較する。相違がある場合は、データ比較バッファ103およびその冗長部103aのデータに基づき不良ビットの位置情報を求める。ECC回路110は、求めた不良ビットの位置情報を冗長部103aに書き込む。また、不良ビットに対応する代替ビットを冗長部に設けた場合は、不良ビットの位置情報毎に代替ビットの1ビットを設ける。
なお、ここで算出した不良ビット数全ての位置情報を冗長部103aに書き込めない場合は、動作モード(後述)を性能重視モードに切替えて実行する。また、システムによってはここで不良ビットが存在すると判定した場合、その位置情報を冗長部103aに書き込めるか否かに関らず、即ち1ビットでも不良ビットが存在する場合は動作モード(後述)を性能重視モードに切替えて実行してもよい。
本キャッシュメモリは、2つの動作モードを実行可能である。一方は、動作速度を重視する性能重視モードであり、他方は、信頼性を重視する信頼性重視モードである。
後者の信頼性重視モードにおけるメモリセル105へのデータ書き込みは、まず演算回路(図2参照)によってアドレス101が指定される。アドレス101はアドレスセレクタおよび書き込み回路102に入力される。
アドレスセレクタおよび書き込み回路102は、入力されたアドレス101の全部又は一部のデータ(インデックス情報105n)に基づきメモリセル105のラインを一意に決定する。その決定したラインに対し、タグ部105aへはアドレスの全部または一部をタグとして、制御部105bへは有効フラグを、データ部105cへは外部メモリ(図2参照)からのデータを書き込む。さらに、タグ部105a、制御部105bおよびデータ部105cへ書き込んだデータと同じデータをデータ比較バッファ103にも書き込む。この時、データ比較バッファ103に不良ビットが存在し、かつ冗長部103aにその不良ビットの代替ビットを設けている場合は、ECC回路110によりこの代替ビットにもデータを書き込む。
書き込みデータ比較器108は、書き込みが行われたラインにおけるタグ部105a、制御部105bおよびデータ部105cからそれぞれデータを読み出し、さらにデータ比較バッファ103からデータを読み出す。書き込みデータ比較器108は、タグ部105a、制御部105bおよびデータ部105cから読み出したデータと、データ比較バッファ103またはデータ比較バッファ103とその冗長部103aにある代替ビットから読み出したデータとを比較し、両データが同一である場合は何もしない。一方、両データに相違がある場合は、相違するビット位置が、冗長部103aに格納された不良ビットの位置情報に全て含まれるか否かを判断し、全て含まれる場合はメモリセル105における当該ラインは正常であると判断し何もしない。一方、両データに相違がある場合において、両データの相違するビット位置のうち、冗長部103aに格納された不良ビットの位置情報に含まれない部分がある場合は、その位置に対応するメモリセル105におけるビットは不良ビットであると判断し、書き込みデータ比較器108は、エラー設定回路109に対し、当該ラインの制御部105bに無効フラグを設定することを指示する。
エラー設定回路109は、書き込みデータ比較器108の指示に従って、メモリセル105内の当該ラインの制御部105bに無効フラグを設定する。
一方、メモリセル105からのデータ読み出しは、書き込み時と同様にまず演算回路によってアドレス101が指定される。当該アドレス101は、アドレスセレクタおよび書き込み回路102およびタグ比較器107aに入力される。
アドレス101が入力されたアドレスセレクタおよび書き込み回路102は、アドレス101の全部又は一部のデータ(インデックス情報105n)を元に、メモリセル105のラインを一意に決定する。
ここで、メモリセル105におけるタグ部105a、制御部105bおよびデータ部105cに対応して選択タグ部106a、選択制御部106bおよび選択データ部106cが配置される。
選択タグ部106aは、アドレスセレクタおよび書き込み回路102によって決定されたラインにおけるタグ部105aからタグを取り出してタグ比較器107aに渡す。選択制御部106bは、アドレスセレクタおよび書き込み回路102によって決定されたラインにおける制御部105bからデータ(有効フラグまたは無効フラグ)を取り出して制御比較器107bに渡す。選択データ部106cは、アドレスセレクタおよび書き込み回路102によって決定されたラインにおけるデータ部105cからデータを取り出して読み出しデータ比較器107cに渡す。
タグ比較器107aは、入力されたアドレス101と、選択タグ部106aから受け取ったタグを比較してキャッシュヒットの判定を行い、ヒットした場合(例えば両者が一致した場合)はヒット信号を、ヒットしない場合は、ミスヒット信号を出力する。
制御比較器107bは、選択制御部106から受け取ったデータが有効フラグであり、且つ、タグ比較器107aからヒット信号が入力された場合は、有効判定信号を出力する。一方、制御比較器107bは、選択制御部106から受け取ったデータが無効フラグである場合、または、タグ比較器107aからミスヒット信号が入力された場合は、無効判定信号を出力する。
読み出しデータ比較器107cは、制御比較器107bから有効判定信号が入力された場合は、選択データ部106cから受け取ったデータを出力データ111として出力する。一方、読み出しデータ比較器107cは、制御比較器107bから無効判定信号が入力された場合は、キャッシュミス信号を出力データ111として出力する。
読み出しデータ比較器107cからキャッシュミス信号が出力された場合、マイクロプロセッサにおける演算回路は、例えば、外部メモリにおける該当アドレスにアクセスしてデータを取得すると共に、当該データをキャッシュメモリにリフィルする。
一方、性能重視モード時におけるメモリセル105へのデータ書き込みは、まず演算回路によってアドレス101が指定される。アドレス101はアドレスセレクタおよび書き込み回路102に入力される。アドレスセレクタおよび書き込み回路102は、入力されたアドレス101の全部又は一部のデータ(インデックス情報105n)に基づきメモリセル105のラインを一意に決定する。その決定したラインに対し、タグ部105aへはアドレスの全部または一部を、制御部105bへは有効フラグを、データ部105cへは外部メモリからのデータを書き込む。
メモリセル105からのデータ読み出しは、信頼性重視モード時と同じであるため説明を省略する。
図2は、本実施の形態に係わるマイクロプロセッサ201の構成を概略的に示したブロック図である。
マイクロプロセッサ201は、演算回路(CPU)202、制御レジスタ203、キャッシュメモリ204および外部インターフェース205を有する。キャッシュメモリ204は、図1に示した構成と同一の構成を有する。
演算回路202は、キャッシュメモリ204にアクセスし、キャッシュヒットの場合はキャッシュメモリ204からデータを取得し、キャッシュミスの場合は、外部インターフェース205を介して外部メモリ206にアクセスし、外部メモリ206からデータを取得する。この際、演算回路202は、例えば外部メモリ206から読み出されたデータをメモリセルに格納するリフィル処理を行う。
制御レジスタ203は、キャッシュメモリ204の動作モードを規定するデータを格納する。キャッシュメモリ204の動作モードは、制御レジスタ203に格納されたデータによって決定される。一般に動作モードの初期値は、設定した外部信号によって与えられ、その内容が制御レジスタ203へ反映される。キャッシュメモリ204は、上述したように、2つの動作モード、即ち、性能重視モードおよび信頼性重視モードを有する。
図3は、キャッシュメモリ204に対する動作モードの設定例を説明する図である。
演算回路202は、マイクロプロセッサ201の起動時(S301)、制御レジスタ203からデータを読み込む(S302)。制御レジスタ203の値が、性能重視モードを表す第1の値である場合は、制御レジスタ203の値をそのまま維持し、この結果、キャッシュメモリ204は、性能重視モードで動作する(S303)。
一方、制御レジスタ203の値が、信頼性重視モードを表す第2の値である場合は、演算回路202は、データ比較バッファ204aが使用可能であるか否かをチェックする(S304)。
より詳細には、上述したように、ECC回路は、起動時に、テストデータを用いて第1および第2のECCデータを算出する。演算回路202は、これら第1および第2のECCデータを冗長部にアクセスするなどして取得し、第1および第2のECCデータに基づいてデータ比較バッファ204aにおける不良ビットの数が不良箇所の位置情報として、その冗長部に格納できる範囲にあるか否かを判断する。不良ビットがないまたは不良ビットの位置情報が冗長部に格納できる範囲にある場合は、演算回路202は、データ比較バッファ204aは使用可能であると判断し、制御レジスタ203の値をそのまま維持する。または、前述したように不良ビットが全くない場合のみ、データ比較バッファ204aを使用可能であると判断してもよい。この結果、キャッシュメモリ204は、信頼性重視モードで動作する(S305)。
一方、不良ビットの数がその位置情報を格納できる冗長部の範囲を超える場合(システムによっては不良ビットが1ビットでも存在する場合としてもよい)は、演算回路202は、データ比較バッファ204aは使用可能でないと判断し、制御レジスタ203の値を第1の値に変更する(S306)。この結果、キャッシュメモリ204は性能重視モードに設定される(S303)。
以上に説明した本実施の形態では、データ比較バッファにおける不良ビットの位置を求めるためにECCデータを生成したが、これ以外の方法を用いてもよい。例えばテストデータをデータ比較バッファに書き込み、データ比較バッファからテストデータを読み出し、読み出したテストデータと、書き込みの対象となったテストデータとを比較することで不良ビットの位置を求めてもよい。この時、不良ビットが1ビットでも存在する場合は、データ比較バッファを使用不可能と判断するのであれば、冗長部を省略することができる。
以上のように本実施の形態によれば、不良ビットを含むラインを検出するために用意するメモリ容量を大きく削減できるため、チップ面積を縮小できる。
例えば、キャッシュメモリが32KByte(256bit x 1024line)の場合に必要な冗長データ用メモリ容量は、
従来:1bit (パリティビット) x 1024line = 128Byte
本実施の形態:256bit (データ比較バッファ)+ 16bit (冗長部) = 34Byte
となる。
また、本実施の形態によれば、不良ビットを含むラインを検出できるため、キャッシュメモリの不良によるシステムの不正動作を回避できる。
また、上述した実施の形態では、メモリセルにおける1ラインのデータを全て比較の対象としたが、データの比較する長さを変更する(例えばラインにおけるデータ部のデータのみを比較する)ことで、システムの仕様に応じて、キャッシュメモリの信頼性レベルを変更できる。
また、データ比較バッファとして不良ビットを有さないものを用いることで、冗長部を無くし、これによりさらなるチップ面積の減縮を図ることができる。
(第2の実施の形態)
図4は、本発明の第2の実施の形態に従ったキャッシュメモリの構成を概略的に示すブロック図である。このキャッシュメモリは、例えばマイクロプロセッサの一部として組み込まれる。
第1の実施の形態と同様に、このキャッシュメモリは、キャッシュ制御方式として、ダイレクトマップ方式を用いているが、本発明は、セットアソシアティブ方式に対しても適用可能であり、この場合は、点線の大枠で囲んだ箇所413をウェイ数分、設ければよい。
また、第1の実施の形態と同様に、このキャッシュメモリには、メモリセル405の1ラインと同じビット数のデータを格納するデータ比較バッファ403と、データ比較バッファ403における不良ビットの位置情報または不良ビットの位置情報と代替ビットを有する冗長部403aとが設けられている。
さらに、本実施の形態においては、メモリセル405において不良ビットが含まれるラインに関し、当該ラインの位置情報を示すインデックス情報405n、当該ラインにおける不良ビットの位置と不良ビットの真値(0あるいは1)とを登録するための不良ビット管理テーブル404が設けられる。この不良ビット管理テーブル404は、さらに本不良ビット管理テーブル404の空き状況(利用可能か否か)を示すフラグ情報も含む。不良ビット管理テーブル404のビット幅(ライン幅)は、メモリセル405におけるライン幅(ビット数)と同じであっても同じでなくとも良いが、本例では同じであるとする。不良ビット管理テーブル404は、単数または複数のラインからなる。
さらに、不良ビット管理テーブル404における不良ビットの位置情報または不良ビットの位置情報と代替ビットを有する冗長部404aが設けられる。不良ビットの位置情報は、マイクロプロセッサの起動時に、ECC回路412によって生成される。
より詳細には、マイクロプロセッサの起動時に、データ比較バッファ403および不良ビット管理テーブル404の各ラインにテストデータが書き込まれ、同時にECC回路412によって第1のECCデータが算出され、各々の冗長部に書き込まれる。そして、ECC回路412はデータ比較バッファ403および不良ビット管理テーブル404の各ラインからこのテストデータを読み出し、第2のECCデータを算出して、各第1のECCデータとを比較する。これらに相違がある場合は、データ比較バッファ403、不良ビット管理テーブル404および各々の冗長部に基づいてECC回路412は各ラインの不良ビットの位置情報を求め、その結果を各ラインの冗長部403aまたは404aに書き込む。また、不良ビットに対応する代替ビットを冗長部に設けた場合は、不良ビットの位置情報毎に代替ビットの1ビットを設ける。
なお、データ比較バッファ403において、ここで算出した不良ビット数全ての位置情報を冗長部403aに書き込めない場合は、動作モード(後述)を性能重視モードに切替えて実行する。また、不良ビット管理テーブル404において、不良ビット数全ての位置情報を冗長部404aに書き込めない場合は、動作モード(後述)を性能重視モードに切替えるか、または不良ビット管理テーブルを使用しない第1の実施の形態と同じ動作に切替えて実行してもよい。また、システムによっては、ここで不良ビットが存在すると判定した場合、その位置情報を冗長部103aに書き込めるか否かに関らず、即ち1ビットでも不良ビットが存在する場合は動作モード(後述)を性能重視モードに切替えて実行してもよい。
本キャッシュメモリは、第1の実施の形態と同様に、性能重視モードと、信頼性重視モードとを有する。
信頼性重視モード時におけるメモリセル405へのデータ書き込みは、まず演算回路によってアドレス401が指定される。アドレス401はアドレスセレクタおよび書き込み回路402に入力される。
アドレスセレクタおよび書き込み回路402は、入力されたアドレス401の全部又は一部のデータ(インデックス情報405n)に基づきメモリセル405のラインを一意に決定する。その決定したラインに対し、タグ部405aへはアドレスの全部または一部をタグとして、制御部405bへは有効フラグを、データ部405cへは外部メモリからのデータを書き込む。この時、インデックス情報405nが不良ビット管理テーブル404に登録されているか否かを検索し、登録されている場合は外部メモリからのデータの内、不良ビット位置に相当するビットを、不良ビット管理テーブル404に真値として登録する。また、不良ビット管理テーブル404に不良ビットが存在し、かつ冗長部404aにその不良ビットの代替ビットを設けている場合は、ECC回路412によりこの代替ビットにもデータを書き込む。さらに、タグ部405a、制御部405bおよびデータ部405cへ書き込んだデータと同じデータをデータ比較バッファ403にも書き込む。この時、データ比較バッファ403に不良ビットが存在し、かつ冗長部403aにその不良ビットの代替ビットを設けている場合は、ECC回路412によりこの代替ビットにもデータを書き込む。
書き込みデータ比較器408は、書き込みが行われたラインにおけるタグ部405a、制御部405bおよびデータ部405cからそれぞれデータを読み出し、さらにデータ比較バッファ403からデータを読み出す。書き込みデータ比較器408は、タグ部405a、制御部405bおよびデータ部405cから読み出したデータと、データ比較バッファ403またはデータ比較バッファ403とその冗長部403aにある代替ビットから読み出したデータとを比較する。比較は、当該ラインのデータ部分についてのみ行っても良い。両データに相違がある場合において、両データの相違するビット位置のうち、冗長部403aに格納された不良ビットの位置情報に含まれない部分がある場合は、その部分に対応するメモリセル405におけるビットは不良ビットであると判断し、当該ラインの位置情報を含む選択インデックス情報406d、不良ビットの位置および不良ビットの真値(0あるいは1)を不良ビット管理テーブル404に登録することをエラー設定回路409aに対し指示する。
指示を受けたエラー設定回路409aは、これらの3種類の情報を不良ビット管理テーブル404に登録する。但し、エラー設定回路409aは、これらの情報と同じものが既に不良ビット管理テーブル404に登録されていれば何もしない。また不良ビット管理テーブル404がフル状態であることを示すフラグ情報が不良ビット管理テーブル404に格納されている場合は、エラー設定回路409aは、エラー出力回路409bに対しその旨を出力し、エラー出力回路409bは、異常を示す信号409cを出力する。エラー出力回路409bから信号409cが出力された場合は、例えば、第1の実施の形態を用いて、制御部405bに無効フラグを設定してもよい。エラー設定回路409aによる上記3種類の情報の登録により不良ビット管理テーブル404がフル状態になった場合は、不良ビット管理テーブル404がフル状態である(利用可能でない)ことを示すフラグ情報を不良ビット管理テーブル404の内部に設定する。
一方、比較の結果、両データが同一である場合、または、両データに相違がある場合において、相違するビット位置が、冗長部403aに格納された不良ビットの位置情報に全て含まれる場合は、書き込みデータ比較器408は、メモリセル405における当該ラインは正常であると判断し(みなし)何もしない。この際、当該ラインの位置情報を含む選択インデックス情報406dが不良ビット管理テーブル404に含まれる場合は、更新する目的でこの情報を消去することをエラー設定回路409aに指示してもよい。
一方、信頼性重視モード時におけるメモリセル405からのデータ読み出しは、書き込み時と同様にまず演算回路によりアドレス401が指定される。当該アドレス401は、アドレスセレクタおよび書き込み回路402およびタグ比較器407aに入力される。
アドレス401が入力されたアドレスセレクタおよび書き込み回路402は、メモリセル405のラインを、アドレス401の全部又は一部のデータ(インデックス情報405n)を元に一意に決定する。
メモリセル405におけるタグ部405aに対応して配置された選択タグ部406aは、アドレスセレクタおよび書き込み回路402によって決定されたラインにおけるタグ部405aからタグを取り出してタグ比較器407aに渡す。制御部405bに対応して配置された選択制御部406bは、その決定されたラインにおける制御部405bからデータ(有効フラグまたは無効フラグ)を取り出して制御比較器407bに渡す。データ部405cに対応して配置された選択データ部406cは、その決定されたラインにおけるデータ部405cからデータを取り出して読み出しデータ比較器407cに渡す。
インデックス比較器407dは、メモリセルのラインを示す選択インデックス情報406dを元に、不良ビット管理テーブル404内に決定されたラインのインデックスが存在するか否かを検索し、存在する場合は、不良ビットの位置および真値を示す不良ビット存在情報をタグ比較器407a、制御比較器407b及びデータ訂正回路410に出力する。
タグ比較器407aは、入力されたアドレス401と、選択タグ部406aから受け取ったタグとを比較してヒット/ミスヒットの判定を行う。インデックス比較器407dから不良ビット存在情報が入力された場合は、この入力データから受け取ったタグに誤りが存在するか否かを判断し、誤りが存在する場合はタグを訂正した上でヒット/ミスヒットの判定を行う。ヒットの場合はヒット信号を、ヒットでない場合はミスヒット信号を出力する。
制御比較器407bは、選択制御部406から受け取ったデータが有効フラグであり、且つ、タグ比較器407aからヒット信号が入力された場合は、有効判定信号を出力する。一方、制御比較器407bは、選択制御部406から受け取ったデータが無効フラグである場合、または、タグ比較器407aからミスヒット信号が入力された場合は、無効判定信号を出力する。ここで、インデックス比較器407dから不良ビット存在情報が入力された場合は、この入力データを元に選択制御部406bから受け取ったデータに誤りが存在するか否かを判断し、誤りが存在する場合は当該データを訂正した上で、前述の有効か無効かの判定を行い対応する信号を出力する。
読み出しデータ比較器407cは、制御比較器407bから有効判定信号が入力された場合は、選択データ部406cから受け取ったデータをデータ訂正回路410に出力する。一方、読み出しデータ比較器407cは、制御比較器407bから無効判定信号が入力された場合は、キャッシュミス信号をデータ訂正回路410に出力する。
データ訂正回路410は、読み出しデータ比較器407cから入力されたデータに誤りが存在するか否かを、インデックス比較器407dから入力された不良ビット存在情報を元に判断し、訂正する必要がある場合は当該データを訂正した後、出力データ411として出力する。
一方、データ訂正回路410は、読み出しデータ比較器407cからデータが入力され、且つ、インデックス比較器407dから不良ビット存在情報が入力されなかった場合は、このデータをそのまま出力データ411として出力する。また、データ訂正回路410は、読み出しデータ比較器407cからキャッシュミス信号が入力された場合は、このキャッシュミス信号をそのまま出力データ411として出力する。
データ訂正回路410がキャッシュミス信号を出力した場合、マイクロプロセッサにおける演算回路(図5参照)は、例えば、外部メモリにおける該当アドレスにアクセスしてデータを取得すると共に、当該データをキャッシュメモリにリフィルする。
一方、性能重視モード時におけるメモリセル405へのデータ書き込みは、まず演算回路(図5参照)によってアドレス401が指定される。アドレス401はアドレスセレクタおよび書き込み回路402に入力される。アドレスセレクタおよび書き込み回路402は、入力されたアドレス401の全部又は一部のデータ(インデックス情報405n)に基づきメモリセル405のラインを一意に決定する。決定したラインに対し、タグ部405aへはアドレスの全部または一部をタグとして、制御部405bへは有効フラグを、データ部405cへは外部メモリからのデータを書き込む。
メモリセル405からのデータ読み出しは、書き込み時と同様にまず演算回路(図5参照)によってアドレス401が指定される。当該アドレス401は、アドレスセレクタおよび書き込み回路402およびタグ比較器407aに入力される。
アドレス401が入力されたアドレスセレクタおよび書き込み回路402は、メモリセル405のラインを、アドレス401の全部又は一部のデータ(インデックス情報405n)を元に一意に決定する。
選択タグ部406aは、その決定されたラインにおけるタグ部405aからタグを取り出してタグ比較器407aに渡す。選択制御部406bは、その決定されたラインにおける制御部405bからデータ(有効フラグまたは無効フラグ)を取り出して制御比較器407bに渡す。選択データ部406cは、その決定されたラインにおけるデータ部405cからデータを取り出して読み出しデータ比較器407cに渡す。
タグ比較器407aは、入力されたアドレス401と、選択タグ部406aから受け取ったタグとを比較してキャッシュヒットの判定を行い、ヒットした場合はヒット信号を、ヒットしない場合は、ミスヒット信号を出力する。
制御比較器407bは、選択制御部406から受け取ったデータが有効フラグであり、且つ、タグ比較器407aからヒット信号が入力された場合は、有効判定信号を出力する。一方、制御比較器407bは、選択制御部406から受け取ったデータが無効フラグである場合、または、タグ比較器407aからミスヒット信号が入力された場合は、無効判定信号を出力する。
読み出しデータ比較器407cは、制御比較器407bから有効判定信号が入力された場合は、選択データ部406cから受け取ったデータを出力データ411としてデータ訂正回路410を介して出力する。一方、読み出しデータ比較器407cは、制御比較器407bから無効判定信号が入力された場合は、キャッシュミス信号を出力データ411としてデータ訂正回路410を介して出力する。
読み出しデータ比較器407cがキャッシュミス信号を出力した場合、マイクロプロセッサにおける演算回路(図5参照)は、例えば外部メモリにおける該当アドレスにアクセスしてデータを取得すると共に、当該データをキャッシュメモリにリフィルする。
図5は、本実施の形態に係わるマイクロプロセッサ501の構成を概略的に示したブロック図である。
マイクロプロセッサ501は、演算回路502、制御レジスタ503、キャッシュメモリ504および外部インターフェース505を有する。キャッシュメモリ504は、図4に示した構成と同一の構成を有する。
制御レジスタ503は、キャッシュメモリ504の動作モードを規定するデータを格納する。
キャッシュメモリ504の動作モードは、この制御レジスタ503に設定されたデータの内容に基づいて決定される。一般に動作モードの初期値は、設定した外部信号によって与えられ、その内容が制御レジスタ503へ反映される。キャッシュメモリ504は、上述したように、2つの動作モード、即ち、性能重視モードおよび信頼性重視モードを有する。
図6は、キャッシュメモリ504に対する動作モードの設定例を説明する図である。
演算回路502は、マイクロプロセッサ501の起動時(S601)、制御レジスタ503からデータを読み込む(S602)。制御レジスタ503の値が、性能重視モードを表す第1の値である場合は、制御レジスタ503の値をそのまま維持し、この結果、キャッシュメモリ504は、性能重視モードで動作する(S603)。
一方、制御レジスタ503の値が、信頼性重視モードを表す第2の値である場合は、演算回路502は、データ比較バッファ504aおよび不良ビット管理テーブル504bが使用可能であるか否かをチェックする(S604)。使用可能であるか否かは第1の実施の形態と同様の手法を用いて判断すればよい。
チェックの結果、演算回路502は、データ比較バッファ504aおよび不良ビット管理テーブル504bが使用可能であると判断した場合は、制御レジスタ503の値をそのまま維持し、この結果、キャッシュメモリ504は、信頼性重視モードで動作する(S605)。
一方、データ比較バッファ504aおよび不良ビット管理テーブル504bの少なくとも一方が使用可能でないと判断した場合は、演算回路502は、制御レジスタ503の値を第1の値に変更して(S606)、キャッシュメモリ504を強制的に性能重視モードに設定する(S603)。
ところで、図4または図5に示した不良ビット管理テーブルの配置箇所を、揮発性メモリではなく、図7に示すように、マイクロプロセッサ701内蔵の不揮発性メモリ707または外部の不揮発性メモリとしても良い。これにより、マイクロプロセッサがリセット(電源切断)されることによって不良ビットの情報が消去されることを防ぐことができる。具体的には、メモリセルへのデータ書込み時に、予め不良ビットの存在が分かっているので、その不良ビットへの書込みを回避でき、不良ビットの検出および不良ビット管理テーブルへの登録の処理を省略できる。
以上のように、本実施の形態によれば、メモリセルにおける同一ラインのエラー情報を全て不良ビット管理テーブルに登録し、メモリセルから読み出したデータをこの登録したエラー情報に基づいて訂正するため、メモリセルの同一ラインにおけるエラービット数に拘わらず(同一ラインに2ビット以上の不良ビットがある場合でも対応可能。これは不良ビット管理テーブルの容量に依存する)、エラー訂正を行うことができる。これにより、キャッシュメモリ不良によるシステムの不正動作を回避できると共に、リフィル回数を減らすことができ、よって、システムの性能劣化を最小限に抑制できる。
また、本実施の形態によれば、キャッシュメモリ不良の検出に使うメモリ容量を大きく削減できるため、チップ面積を縮小できる。
例えば、キャッシュメモリが32KByte(256bit x 1024line)の場合に必要な冗長データ用メモリ容量は、
従来 :16bit(ECCデータ) x 1024line = 2048Byte
本実施の形態:34Byte (256bit(データ比較バッファ)+ 16bit(冗長部))
+ 68Byte{2(2ラインの場合)×(256bit(不良ビット管理テーブル)+ 16bit(冗長部))} = 102Byte
となる。
また、不良ビット管理テーブルやデータ比較バッファの大きさを変更することで、システムの仕様に応じて、キャッシュメモリの信頼性レベルを変更できる。
また、不良ビット管理テーブル又はデータ比較バッファとして不良ビットを有さないものを用いることにより、冗長部を削減でき、これによりさらなるチップ面積の減縮を図ることができる。
本発明の第1の実施の形態に従ったキャッシュメモリの構成を概念的に示すブロック図である。 本発明の第1の実施の形態に係わるマイクロプロセッサの構成を概略的に示したブロック図である。 図1のキャッシュメモリに対する動作モードの設定例を説明する図である。 本発明の第2の実施の形態に従ったキャッシュメモリの構成を概略的に示すブロック図である。 本発明の第2の実施の形態に係わるマイクロプロセッサの構成を概略的に示したブロック図である。 図4のキャッシュメモリに対する動作モードの設定例を説明する図である。 不良ビット管理テーブルを不揮発性メモリ内に含むプロセッサの構成を示すブロック図である。
符号の説明
101,401 アドレス
102,402 アドレスセレクタおよび書き込み回路
105,405 メモリセル
105a,405a タグ部
105b,405b 制御部
105c,405c データ部
105n,405n インデックス情報
106a,406a 選択タグ部
106b,406b 選択制御部
106c,406c 選択データ部
406d 選択インデックス情報
107a,407a タグ比較器
107b,407b 制御比較器
107c,407c 読み出しデータ比較器
407 インデックス比較器
110,412 ECC回路
111,411 出力データ
112,413 1ウェイ分を構成するメモリセルや回路
103,403 データ比較バッファ
108,408 書き込みデータ比較器
109a,409a エラー設定回路
404 不良ビット管理テーブル
409b エラー出力部
409c 信号
410 データ訂正回路
201,501 マイクロプロセッサ
202,502 演算回路
203,503 制御レジスタ
204,504 キャッシュメモリ
204a,504a データ比較バッファ
504b,707b 不良ビット管理テーブル
205,505外部インターフェース
206,506 外部メモリ
S301,S601 マイクロプロセッサ起動
S302,S602 制御レジスタ読み込み
S303,S603 性能重視モード
S304 データ比較バッファの不良チェック
S604 データ比較バッファ/不良ビット管理テーブルの不良チェック
S305,S605 信頼性重視モード
S306,S606 制御レジスタ設定
707 不揮発性メモリ

Claims (5)

  1. 複数のキャッシュラインを有するメモリセルと、
    データ比較バッファと、
    書き込み要求を受けた場合は、前記書き込み要求に基づくデータを、該当するキャッシュライン及び前記データ比較バッファへ書き込む書き込み回路と、
    前記書き込み回路によって前記キャッシュライン及び前記データ比較バッファへ書き込まれたデータを読み出し、これらのデータを比較して、両者に相違が存在するか否かを判断する比較回路と、
    前記相違が存在する場合は、前記キャッシュラインに書き込まれたデータを無効に設定する設定回路と、
    を備えたキャッシュメモリ。
  2. 請求項1に記載のキャッシュメモリと、性能重視モード及び信頼性重視モードのいずれかのモードを選択する値を格納する制御レジスタとを備えたマイクロプロセッサであって、
    前記制御レジスタに前記性能重視モードを選択する値が格納されている場合は、
    前記書き込み回路は、前記書き込み要求を受けた場合は、前記該当するキャッシュラインへ前記データを書き込み、
    一方、前記制御レジスタに前記信頼性重視モードを選択する値が格納されている場合は、
    前記書き込み回路は、前記書き込み要求を受けた場合は、前記該当するキャッシュライン及び前記データ比較バッファへ前記データを書き込み、
    前記比較回路は前記キャッシュライン及び前記データ比較バッファからそれぞれデータを読み出し、これらのデータを比較して、両者に相違が存在するか否かを判断し、
    前記設定回路は、前記相違が存在する場合は前記キャッシュラインに書き込まれたデータを無効に設定する、
    ことを特徴とするマイクロプロセッサ。
  3. 複数のキャッシュラインを有するメモリセルと、
    データ比較バッファと、
    書き込み要求を受けた場合は、前記書き込み要求に基づくデータを、前記書き込み要求に対応するインデックスのキャッシュライン及び前記データ比較バッファへ書き込む書き込み回路と、
    前記書き込み回路によって前記キャッシュライン及び前記データ比較バッファへ書き込まれたデータをそれぞれ第1データ及び第2データとして読み出し、これら第1及び第2データを比較して、両者に相違が存在するか否かを判断する比較回路と、
    前記相違が存在する場合は、エラー設定回路によって、前記相違するビット位置と前記相違するビット位置における第2データの値とを、エラー訂正情報として、前記第1データを読み出したキャッシュラインのインデックスと関連づけて登録される不良ビット管理テーブルと、
    読み出し要求を受けた場合は、前記読み出し要求に対応するインデックスのキャッシュラインからデータを読み出す読み出し回路と、
    前記読み出し要求に対応するインデックスが前記不良ビット管理テーブルに登録されているか否かを検査する検査部と、
    前記インデックスが登録されている場合は、前記インデックスに対応するエラー訂正情報を用いて前記読み出し回路によって読み出されたデータを訂正する訂正回路と、
    を備えたキャッシュメモリ。
  4. 請求項3に記載のキャッシュメモリと、性能重視モード及び信頼性重視モードのいずれかのモードを選択する値を格納する制御レジスタとを備えたマイクロプロセッサであって、
    前記制御レジスタに前記性能重視モードを選択する値が格納されている場合は、
    前記書き込み回路は、前記書き込み要求を受けた場合は、前記書き込み要求に対応するインデックスのキャッシュラインへ前記データを書き込み、
    前記読み出し回路は、前記読み出し要求を受けた場合は、前記読み出し要求に対応するインデックスのキャッシュラインからデータを読み出し、
    一方、前記制御レジスタに前記信頼性重視モードを選択する値が格納されている場合は、
    前記書き込み回路は、前記書き込み要求を受けた場合は、前記書き込み要求に対応するインデックスのキャッシュライン及び前記データ比較バッファへ前記データを書き込み、
    前記比較回路は、前記キャッシュライン及び前記データ比較バッファから前記第1及び第2データを読み出し、これら第1及び第2データを比較して、両者に相違が存在するか否かを判断し、
    前記相違が存在する場合は、前記エラー設定回路は前記不良ビット管理テーブルに、前記エラー訂正情報を、前記キャッシュラインのインデックスと関連づけて登録し、
    前記読み出し要求を受けた場合は、前記キャッシュメモリにおける前記読み出し回路は、前記読み出し要求に対応するインデックスのキャッシュラインからデータを読み出し、
    前記検査部は、前記読み出し要求に対応するインデックスが前記不良ビット管理テーブルに登録されているか否かを検査し、
    前記訂正回路は、前記インデックスが登録されている場合は、前記インデックスに対応するエラー訂正情報を用いて、前記読み出し回路によって読み出されたデータを訂正する、
    ことを特徴とするマイクロプロセッサ。
  5. キャッシュメモリと、前記キャッシュメモリへアクセスする演算回路と、不揮発性メモリとを備えたマイクロプロセッサであって、
    前記キャッシュメモリは、
    複数のキャッシュラインを有するメモリセルと、
    データ比較バッファと、
    前記演算回路から書き込み要求を受けた場合は、前記書き込み要求に基づくデータを、前記書き込み要求に対応するインデックスのキャッシュライン及び前記データ比較バッファへ書き込む書き込み回路と、
    前記書き込み回路によって前記キャッシュライン及び前記データ比較バッファへ書き込まれたデータをそれぞれ第1データ及び第2データとして読み出し、これら第1及び第2データを比較して、両者に相違が存在するか否かを判断する比較回路と、
    前記相違が存在する場合は、前記相違するビット位置と前記相違するビット位置における第2データの値とを、エラー訂正情報として、前記第1データを読み出したキャッシュラインのインデックスと関連づけて前記不揮発性メモリの不良ビット管理テーブルに登録するエラー設定回路と、
    前記演算回路から読み出し要求を受けた場合は、前記読み出し要求に対応するインデックスのキャッシュラインからデータを読み出す読み出し回路と、
    前記読み出し要求に対応するインデックスが前記不揮発性メモリの前記不良ビット管理テーブルに登録されているか否かを検査する検査部と、
    前記インデックスが登録されている場合は、前記インデックスに対応するエラー訂正情報を用いて、前記読み出し回路によって読み出されたデータを訂正する訂正回路と、
    を備えたマイクロプロセッサ。
JP2005167221A 2005-06-07 2005-06-07 キャッシュメモリおよびマイクロプロセッサ Pending JP2006343851A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005167221A JP2006343851A (ja) 2005-06-07 2005-06-07 キャッシュメモリおよびマイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005167221A JP2006343851A (ja) 2005-06-07 2005-06-07 キャッシュメモリおよびマイクロプロセッサ

Publications (1)

Publication Number Publication Date
JP2006343851A true JP2006343851A (ja) 2006-12-21

Family

ID=37640801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005167221A Pending JP2006343851A (ja) 2005-06-07 2005-06-07 キャッシュメモリおよびマイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP2006343851A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155805A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited キャッシュメモリ装置、演算処理装置及びその制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155805A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited キャッシュメモリ装置、演算処理装置及びその制御方法
JPWO2008155805A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 キャッシュメモリ装置、演算処理装置及びその制御方法
JP4595029B2 (ja) * 2007-06-20 2010-12-08 富士通株式会社 キャッシュメモリ装置、演算処理装置及びその制御方法
KR101077513B1 (ko) 2007-06-20 2011-10-28 후지쯔 가부시끼가이샤 캐시 메모리 장치, 연산 처리 장치 및 그 제어 방법
US8700947B2 (en) 2007-06-20 2014-04-15 Fujitsu Limited Cache memory apparatus, execution processing apparatus and control method thereof

Similar Documents

Publication Publication Date Title
US8589763B2 (en) Cache memory system
US8205136B2 (en) Fault tolerant encoding of directory states for stuck bits
US7900084B2 (en) Reliable memory for memory controller with multiple channels
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
US20090164727A1 (en) Handling of hard errors in a cache of a data processing apparatus
JPWO2007097019A1 (ja) キャッシュ制御装置およびキャッシュ制御方法
JP2007133986A (ja) 半導体記憶装置
JP2008186460A (ja) ダイナミックに修復可能なメモリに関する方法及びシステム
JPH07134663A (ja) 情報処理装置のキャッシュメモリテスト方法
US9710375B2 (en) Writing an address conversion table for nonvolatile memory wear leveling
KR100972807B1 (ko) 에러 정정 코드 생성 방법 및 메모리 관리 장치
US7689891B2 (en) Method and system for handling stuck bits in cache directories
JPH09146836A (ja) キャッシュ索引の障害訂正装置
US8533560B2 (en) Controller, data storage device and program product
JPH11102599A (ja) 半導体記憶装置
CN1310132C (zh) 用寄存器文件中的冗余字代替故障字的方法和计算机系统
JP2006343851A (ja) キャッシュメモリおよびマイクロプロセッサ
US6567952B1 (en) Method and apparatus for set associative cache tag error detection
US6948112B2 (en) System and method for performing backward error recovery in a computer
US7062611B2 (en) Dirty data protection for cache memories
US20210294691A1 (en) Data processing device and data processing method
US20060026469A1 (en) Branch prediction device, control method thereof and information processing device
JP4260805B2 (ja) Cam装置およびcam制御方法
JPS60142759A (ja) Lru決定用記憶装置のエラ−検出方式
JP2009116978A (ja) 半導体記憶装置