JP2006120098A - キャッシュメモリ装置およびその管理方法 - Google Patents

キャッシュメモリ装置およびその管理方法 Download PDF

Info

Publication number
JP2006120098A
JP2006120098A JP2004310108A JP2004310108A JP2006120098A JP 2006120098 A JP2006120098 A JP 2006120098A JP 2004310108 A JP2004310108 A JP 2004310108A JP 2004310108 A JP2004310108 A JP 2004310108A JP 2006120098 A JP2006120098 A JP 2006120098A
Authority
JP
Japan
Prior art keywords
cache memory
parity
error
parity check
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.)
Withdrawn
Application number
JP2004310108A
Other languages
English (en)
Inventor
Takashi Shinagawa
隆 品川
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
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics 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, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP2004310108A priority Critical patent/JP2006120098A/ja
Publication of JP2006120098A publication Critical patent/JP2006120098A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】 読み出したデータに誤りが発見されたキャッシュメモリのアドレスへのアクセ
スが、永続的に禁止されることのないキャッシュメモリ装置およびその管理方法を提供す
る。
【解決手段】 キャッシュメモリ装置1は、キャッシュメモリ11のキャッシュラインか
ら読み出したデータのパリティチェックを行ってキャッシュメモリ11のタグ部へパリテ
ィチェック結果を書き込むパリティチェック部12と、テストモード時にキャッシュメモ
リ11へ書き込むテストデータ生成部13とを有し、キャッシュメモリ11のタグ部へ書
き込まれたパリティチェック結果に基づいてキャッシュメモリ11のキャッシュラインへ
のアクセスの諾否が管理される。
【選択図】 図1

Description

本発明は、CPUとともに半導体集積回路に内蔵されるキャッシュメモリ装置およびそ
の管理方法に関する。
マイクロプロセッサなどの半導体集積回路にCPUとともにキャッシュメモリを内蔵す
ることが行われ、高速なメモリアクセスによりマイクロプロセッサなどの半導体集積回路
の動作速度向上に寄与している。
このようなキャッシュメモリには、CPUが実行する命令、あるいはCPUが使用する
データなどが記憶される。したがって、半導体集積回路の不良や故障などにより、キャッ
シュメモリから読み出したデータに誤りがあると、CPUの動作が異常になり、最悪の場
合、暴走状態となる。
そこで、従来、キャッシュメモリから読み出したデータをチェックし、誤りが発見され
た場合には、その誤りの発生したデータが格納されていたアドレスへは永続的にアクセス
できないようにするすることが行われていた(例えば、特許文献1参照。)。
ところで、キャッシュメモリからの誤ったデータの読み出しは、半導体集積回路に恒久
的な不良や故障が生じたときのみならず、ノイズなどの偶発的な事象によりキャッシュメ
モリに誤ったデータが書き込まれた場合などにも起こり得る。しかし、上述した方法では
、ノイズなどの偶発的に発生した事象による場合でも、キャッシュメモリから読み出した
データに一旦誤りが発見されると、キャッシュメモリ自体には不良がなくても誤りが発見
されたたアドレスには永続的にアクセスできなくなり、キャッシュメモリの容量が減少す
るという問題があった。
特開平7−121439号公報(第5ページ、図2)
そこで、本発明の目的は、キャッシュメモリから読み出したデータに誤りが発見された
ときでも、誤りが発見されたアドレスへのアクセスが永続的に禁止されることのないキャ
ッシュメモリ装置およびその管理方法を提供することにある。
本発明の一態様によれば、パリティビット付きのデータが書き込まれるキャッシュライ
ンと、エラービット領域を有して前記キャッシュラインのアドレスが格納されるタグ部と
を備えるキャッシュメモリと、前記キャッシュメモリから読み出されたキャッシュライン
のパリティチェックを行い、前記パリティチェックの結果を前記エラービット領域に書き
込むパリティチェック部と、テストモード時に前記キャッシュメモリへ書き込むパリティ
ビット付きのテストデータを生成するテストデータ生成部とを具備し、前記エラービット
領域に書き込まれた前記パリティチェックの結果に基づいて前記キャッシュラインへのア
クセスの諾否が管理されることを特徴とするキャッシュメモリ装置が提供される。
また、本発明の一態様によれば、キャッシュメモリのキャッシュラインからパリティビ
ット付きのデータを読み出してパリティチェックを行うステップと、前記パリティチェッ
クでパリティエラーの発生した前記キャッシュラインへのアクセスを禁止するステップと
、テストモードを設定して前記パリティエラーの発生した前記キャッシュラインへパリテ
ィビット付きのテストデータを書き込むステップと、前記パリティエラーの発生した前記
キャッシュラインから前記テストデータを読み出して再度のパリティチェックを行うステ
ップと、前記再度のパリティチェックでパリティエラーの発生がなくなったときは、前記
キャッシュラインへのアクセスの禁止を解除するステップとを有することを特徴とするキ
ャッシュメモリ装置の管理方法が提供される。
本発明によれば、パリティエラーが発生して一旦アクセスが禁止されたアドレスであっ
ても、そのパリティエラーが偶発的に発生したものであれば、一旦禁止されたアクセスを
改めて許可することができるので、キャッシュメモリの容量のむだな減少を防止すること
ができる。
以下、本発明の実施例を図面を参照して説明する。
図1は、本発明の第1の実施例に係るキャッシュメモリ装置の構成の例を示すブロック
図である。
キャッシュメモリ装置1は、キャッシュメモリ11と、パリティチェック部12と、テ
ストデータ生成部13とを有する。
図2に、キャッシュメモリ11の構成の例を示す。
本実施例のキャッシュメモリ11も、一般的なキャッシュメモリと同様、キャッシュラ
イン11Aとタグ部11Bで構成される。
キャッシュライン11Aは、本来のデータとこのデータに対するパリティチェックを行
うためのパリティビットPが格納されている。
タグ部11Bには、一般的なキャッシュメモリと同様、キャッシュライン11Aのアド
レスデータを格納するアドレスデータ領域と、キャッシュライン11Aが有効なデータを
持っているかどうかを示すバリッドビットVを格納する領域を有する。
このほかに、タグ部11Bは、後述するパリティチェック部12におけるパリティチェ
ックの結果を示すエラービットEを格納する領域を有する。
図1に戻って、パリティチェック部12は、有効なデータを持っているキャッシュライ
ン11AへCPU100からのアクセスがあった場合、そのキャッシュライン11Aのデ
ータとパリティビットを読み出してパリティチェックを行う。そして、その結果をキャッ
シュメモリ11のタグ部11BへエラービットEとして書き込む。
例えば、パリティチェック部12でパリティエラーが検出された場合には、エラービッ
トEとして‘1’を書き込み、パリティエラーが検出されなかった場合には、エラービッ
トEとして‘0’を書き込む。
このエラービットEは、キャッシュメモリ装置1へCPU100からのアクセスがあっ
たときに、エラー判定情報としてCPU100へ出力される。エラー判定情報がエラー検
出を示す場合には、CPU100は、キャッシュメモリ11のエラーが検出されたアドレ
スへの以降のアクセスを禁止する。一方、エラー判定情報がエラー非検出を示す場合には
、CPU100からキャッシュメモリ11へのアクセスが継続して許可される。
テストデータ生成部3は、CPU100からテストモードが設定されたときに、キャッ
シュメモリ11のキャッシュライン11Aに与えるテストデータを生成する。このテスト
データ生成部3で生成されるテストデータは、例えば予めメモリなどに記憶された複数の
データのデータ群であってもよく、キャッシュライン11Aのパリティチェックを効率よ
く行うのに適したパリティティビット付きのデータのデータ群である。
CPU100は、キャッシュメモリ装置からのエラー判定情報がエラー検出を示す場合
、プログラム実行のアイドル期間など、CPU100が通常の動作を停止しているときに
テストモードを設定する。
このテストモードが設定されると、テストデータ生成部3はテストデータを生成する。
生成されたテストデータは、キャッシュメモリ11のタグ部11BのエラービットEに例
えば‘1’というエラー発生を示すデータが書き込まれているアドレスのキャッシュライ
ン11Aに書き込まれる。キャッシュライン11Aに書き込まれたテストデータは、パリ
ティチェック部12へ読み出され、改めてパリティチェックが行われる。
これにより、最初に行ったパリティチェックで検出されたパリティエラーが、偶発的に
発生したものかどうかを確認することができる。
もし、このパリティチェックでエラーが検出されなかったら、最初のパリティチェック
で発生したパリティエラーは偶発的なものと判断され、キャッシュメモリ11のタグ部1
1BのエラービットEを‘0’に書き換える。これにより、CPU100からのアクセス
の禁止が解除され、このキャッシュライン11AへのCPU100からのアクセスが復活
する。
次に、本実施例のキャッシュメモリ装置1のキャッシュメモリ11へのアクセスの諾否
を管理する方法について説明する。
図3は、本実施例のキャッシュメモリ装置1のキャッシュメモリ11へのアクセスの諾
否を管理する方法の例を示すフロー図である。
有効なデータを持っているキャッシュライン11AへCPU100からのアクセスがあ
ると、パリティチェック部12はキャッシュライン11Aのデータとパリティビットを読
み出して(ステップS1)、パリティチェックを行い(ステップS2)、パリティエラー
が発生したかどうかの判定を行う(ステップS3)。
パリティエラーが発生しなかった場合(NO)は、キャッシュメモリ11のタグ部11
BのエラービットEに‘0’を書き込む(ステップS4)。
キャッシュメモリ11のタグ部11Bは、このエラービットEの値‘0’をエラー判定
情報としてCPU100へ出力する。これを受けて、CPU100は、このキャッシュラ
イン11Aへのアクセスを許可し、通常の処理を続行する(ステップS5)。
一方、ステップS3の判定でパリティエラーが発生した場合(YES)は、キャッシュ
メモリ11のタグ部11BのエラービットEに‘1’を書き込む(ステップS6)。
キャッシュメモリ11のタグ部11Bは、このエラービットEの値‘1’をエラー判定
情報としてCPU100へ出力する。これを受けて、CPU100は、このキャッシュラ
イン11Aへの以降のアクセスを禁止し、キャッシュ動作の対象から外す。
その後、CPU100がアイドル期間になったときなどにテストモードが設定されると
(ステップS7)、テストデータ生成部13は、テストデータ(データ+パリティビット
)の生成を行い(ステップS8)、パリティエラーが発生した(タグ部11Bのエラービ
ットEが‘1’である)キャッシュライン11Aへ、このテストデータを書き込む(ステ
ップS9)。
続いて、パリティチェック部12が、キャッシュライン11Aからテストデータ(デー
タ+パリティビット)を読み出して(ステップS10)、パリティチェックを行い(ステ
ップS11)、パリティエラーが発生したかどうかの判定を行う(ステップS12)。
ここで、パリティエラーが発生しなかった場合(NO)は、ステップS2のパリティチ
ェックで発生したパリティエラーは、キャッシュメモリ11の不良などによるものではな
く、ノイズなどの偶発的要因で発生したものと判断する。そこで、この場合は、キャッシ
ュメモリ11のタグ部11BのエラービットEに‘0’を書き込む(ステップS4)。
キャッシュメモリ11のタグ部11Bは、このエラービットEの値‘0’をエラー判定
情報としてCPU100へ出力する。これを受けて、CPU100は、このキャッシュラ
イン11Aへのアクセスの禁止を解除し、キャッシュ動作の対象に復活させる。
一方、ステップS12の判定でもパリティエラーが発生した場合(YES)は、このパ
リティエラーは、キャッシュメモリ11の不良などにより発生したものと判断される。し
たがって、この場合は、このキャッシュラインへのアクセスの禁止を継続する。
このような本実施例のキャッシュメモリ装置およびその管理方法によれば、パリティエ
ラーが発生してアクセスが禁止されたキャッシュラインであっても、テストデータを用い
た再度のパリティチェックでパリティエラーが発生しなければ、アクセスの禁止を解除す
ることができる。これにより、偶発的原因によりパリティエラーが発生したキャッシュラ
インへのアクセスが永続的に禁止されることを防止することができ、キャッシュメモリの
容量のむだな減少を防止することができる。
図4は、本発明の第2の実施例に係るキャッシュメモリ装置の構成の例を示すブロック
図である。
本実施例のキャッシュメモリ装置10の構成は、基本的に第1の実施例のキャッシュメ
モリ装置1と同じである。そこで、図4において、図1に示した第1の実施例と同一の機
能を有するブロックには図1と同一の符号を付し、ここではその詳細な説明を省略する。
本実施例のキャッシュメモリ装置10は、第1の実施例のキャッシュメモリ装置1にさ
らにテスト端子20を設けたものである。
このテスト端子20は、テストデータ生成部130に接続されてテストモードの設定に
使用される。これにより、テストデータ生成部130に対して、実施例1と同様のCPU
100によるテストモードの設定のほかに、テスト端子20によるテストモードの設定が
可能となる。
ユーザは、このテスト端子20を用いて、任意の時間にテストデータ生成部130にテ
ストモードを設定できる。
本実施例のキャッシュメモリ装置10へのアクセスの諾否を管理する方法も第1の実施
例のキャッシュメモリ装置1と同じであり、図3のフロー図に従って行うことができる。
ただし、ステップS7のテストモードの設定は、CPU100またはテスト端子20によ
って行われる。
また、電源投入時にテスト端子20を用いてテストモードを設定することにより、キャ
ッシュメモリ11の機能確認をCPU100の動作前に行うことができる。この場合、テ
スト端子20でテストモードを設定してテストデータ生成部130で生成したテストデー
タをキャッシュメモリ11へ与え、このテストデータをキャッシュライン11Aから読み
出してパリティチェック部12でパリティチェックを行う。これにより、電源投入時にキ
ャッシュメモリ11の機能確認を行うことができる。
このような本実施例のキャッシュメモリ装置によれば、キャッシュメモリのテストを任
意の時間に行うことができる。
本発明の第1の実施例に係るキャッシュメモリ装置の構成の例を示すブロック図。 本発明の実施例に係るキャッシュメモリ装置に含まれるキャッシュメモリの構成の例を示す図。 本発明の第1の実施例に係るキャッシュメモリ装置の管理方法の例を示すフロー図。 本発明の第2の実施例に係るキャッシュメモリ装置の構成の例を示すブロック図。
符号の説明
1、10 キャッシュメモリ装置
11 キャッシュメモリ
11A タグ部
11B キャッシュライン
12 パリティチェック部
13、130 テストデータ生成部
20 テスト端子

Claims (4)

  1. パリティビット付きのデータが書き込まれるキャッシュラインと、エラービット領域を
    有して前記キャッシュラインのアドレスが格納されるタグ部とを備えるキャッシュメモリ
    と、
    前記キャッシュメモリから読み出されたキャッシュラインのパリティチェックを行い、前
    記パリティチェックの結果を前記エラービット領域に書き込むパリティチェック部と、
    テストモード時に前記キャッシュメモリへ書き込むパリティビット付きのテストデータを
    生成するテストデータ生成部と
    を具備し、
    前記エラービット領域に書き込まれた前記パリティチェックの結果に基づいて前記キャッ
    シュラインへのアクセスの諾否が管理されることを特徴とするキャッシュメモリ装置。
  2. 前記テストモードが、前記テストデータ生成部に接続されるCPUにより設定されるこ
    とを特徴とする請求項1に記載のキャッシュメモリ装置。
  3. 前記テストモードが、前記テストデータ生成部に接続される外部端子により設定される
    ことを特徴とする請求項2に記載のキャッシュメモリ装置。
  4. キャッシュメモリのキャッシュラインからパリティビット付きのデータを読み出してパ
    リティチェックを行うステップと、
    前記パリティチェックでパリティエラーの発生した前記キャッシュラインへのアクセスを
    禁止するステップと、
    テストモードを設定して前記パリティエラーの発生した前記キャッシュラインへパリティ
    ビット付きのテストデータを書き込むステップと、
    前記パリティエラーの発生した前記キャッシュラインから前記テストデータを読み出して
    再度のパリティチェックを行うステップと、
    前記再度のパリティチェックでパリティエラーの発生がなくなったときは、前記キャッシ
    ュラインへのアクセスの禁止を解除するステップと
    を有することを特徴とするキャッシュメモリ装置の管理方法。
JP2004310108A 2004-10-25 2004-10-25 キャッシュメモリ装置およびその管理方法 Withdrawn JP2006120098A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004310108A JP2006120098A (ja) 2004-10-25 2004-10-25 キャッシュメモリ装置およびその管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004310108A JP2006120098A (ja) 2004-10-25 2004-10-25 キャッシュメモリ装置およびその管理方法

Publications (1)

Publication Number Publication Date
JP2006120098A true JP2006120098A (ja) 2006-05-11

Family

ID=36537899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004310108A Withdrawn JP2006120098A (ja) 2004-10-25 2004-10-25 キャッシュメモリ装置およびその管理方法

Country Status (1)

Country Link
JP (1) JP2006120098A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012503263A (ja) * 2008-09-30 2012-02-02 インテル・コーポレーション 低電圧動作時のキャッシュ部分のディセーブル
CN102346711A (zh) * 2010-07-23 2012-02-08 台湾积体电路制造股份有限公司 内存组件及其制造方法
WO2014080646A1 (ja) * 2012-11-22 2014-05-30 株式会社 東芝 キャッシュ管理装置及びキャッシュ管理方法
US9678878B2 (en) 2008-09-30 2017-06-13 Intel Corporation Disabling cache portions during low voltage operations

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012503263A (ja) * 2008-09-30 2012-02-02 インテル・コーポレーション 低電圧動作時のキャッシュ部分のディセーブル
JP2014041647A (ja) * 2008-09-30 2014-03-06 Intel Corp 低電圧動作時のキャッシュ部分のディセーブル
US9678878B2 (en) 2008-09-30 2017-06-13 Intel Corporation Disabling cache portions during low voltage operations
US10528473B2 (en) 2008-09-30 2020-01-07 Intel Corporation Disabling cache portions during low voltage operations
CN102346711A (zh) * 2010-07-23 2012-02-08 台湾积体电路制造股份有限公司 内存组件及其制造方法
KR101200821B1 (ko) 2010-07-23 2012-11-13 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 태그 캐시 메모리의 패리티 선-검사 기법
WO2014080646A1 (ja) * 2012-11-22 2014-05-30 株式会社 東芝 キャッシュ管理装置及びキャッシュ管理方法

Similar Documents

Publication Publication Date Title
JP5535547B2 (ja) セキュアメモリインターフェース
JP4534498B2 (ja) 半導体装置およびその起動処理方法
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
US20060239086A1 (en) Nonvolatile memory system
JPH05324489A (ja) 記憶装置
US20080126905A1 (en) Memory control device, computer system and data reproducing and recording device
JP2008009721A (ja) 評価システム及びその評価方法
KR101449231B1 (ko) 어드레스 변환 검사 장치, 중앙 처리 연산 장치, 및 어드레스 변환 검사 방법
JP2006120098A (ja) キャッシュメモリ装置およびその管理方法
JP2005292959A (ja) 不揮発性メモリモジュール及び不揮発性メモリシステム
JP2007064762A (ja) 半導体装置、テストモード制御回路
KR100525537B1 (ko) 인터럽트를 이용한 응용 프로그램의 에러검출장치 및 방법.
JP2008287727A (ja) 記憶装置
US20070239959A1 (en) Device for testing the Structural Coverage of a Software Program and a Method Implementing the Device
JP2007323167A (ja) メモリテスト方法
JP3882628B2 (ja) メモリ制御装置及びシリアルメモリ
JP2006155735A (ja) 記憶装置
JP2007052481A (ja) Icカード用lsi
JP2006221483A (ja) ディジタル形保護継電装置
JP2008234358A (ja) 記憶装置、情報処理装置及び不正書込検出方法
JP2009163863A (ja) メモリデバイス及びそのメモリデバイスからのデータ読み取り方法
JPS6329859A (ja) 記憶保護装置
JP3110222B2 (ja) マイクロコンピュータ
JP2006085868A (ja) 書換え制限方法及び半導体装置
JPH0667988A (ja) Ras機能付半導体記憶装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080108