JP2008546123A - ビット・レベル・エラーの計数に基づくエラー緩和の選択的アクティブ化 - Google Patents

ビット・レベル・エラーの計数に基づくエラー緩和の選択的アクティブ化 Download PDF

Info

Publication number
JP2008546123A
JP2008546123A JP2008517184A JP2008517184A JP2008546123A JP 2008546123 A JP2008546123 A JP 2008546123A JP 2008517184 A JP2008517184 A JP 2008517184A JP 2008517184 A JP2008517184 A JP 2008517184A JP 2008546123 A JP2008546123 A JP 2008546123A
Authority
JP
Japan
Prior art keywords
error
bit level
array
level errors
state elements
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
JP2008517184A
Other languages
English (en)
Inventor
ビスワス,アリジト
ラーシュ,スティーヴン
ムケルジー,シュブヘンドゥ
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2008546123A publication Critical patent/JP2008546123A/ja
Pending 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit

Abstract

ビット・レベル・エラーの計数に基づくエラー緩和の選択的アクティブ化のための装置および方法の実施形態が開示される。ある実施形態では、装置は複数の状態素子、エラー・カウンタおよびアクティブ化論理を含む。エラー・カウンタは状態素子におけるビット・レベル・エラーの数を計数するものである。アクティブ化論理は、ビット・レベル・エラーの数がある閾値を超えたらエラー緩和を強化するものである。

Description

本開示は、データ処理の分野に、より詳細にはデータ処理装置におけるエラー緩和(error mitigation)の分野に関する。
集積回路製造技術の改善がマイクロプロセッサおよびその他のデータ処理装置における小型化およびより低い動作電圧を提供し続けるにつれ、そうしたデバイスのメーカーおよびユーザーはますますソフトエラーの現象を懸念するようになりつつある。ソフトエラーは、アルファ粒子や高エネルギー中性子が集積回路に当たって回路ノードに保存されている電荷を変えるときに発生する。電荷変化が十分大きければ、ノード上の電圧がある論理状態を表すレベルから異なる論理状態を表すレベルに変わってしまうことがありうる。その場合、そのノードに保存されていた情報は壊れてしまう。一般に、回路の大きさが小さくなるにつれてソフトエラー・レート(SER: soft error rate)は上昇する。それは、回路密度が高まると入射粒子が電圧ノードに当たる可能性が大きくなるからである。同様に、動作電圧が下がるにつれて、異なる論理状態を表す電圧レベル間の差が小さくなるので、回路ノードの論理状態を変えるのに必要とされるエネルギーが小さくなり、より多くのソフトエラーが生じる。
ソフトエラーを引き起こす粒子を遮るのはきわめて難しく、データ処理装置はしばしばソフトエラーを検出し、時に訂正する技術を含む。そうしたエラー緩和技術としては、誤り訂正符号(ECC: error-correcting-code)、キャッシュのスクラビング(scrubbing)および複数のプロセッサをロックステップ(lockstep)で走らせることが含まれる。しかしながら、エラー緩和技術の使用はパフォーマンスを低下させ、電力消費を増加させる傾向がある。さらに、エラー緩和を使うことが望ましい必要性は、そのデバイスが使用される時と場所によって変わりうる。高度、磁場強度および方向ならびに太陽活動といった環境的な要因がSERに影響しうるからである。
したがって、エラー緩和の選択的なアクティブ化が望まれることがありうる。
本発明は、限定ではなく例として、付属の図面で図解されている。
以下では、ビット・レベル・エラーの計数に基づくエラー緩和の選択的アクティブ化の実施形態を記述する。以下の記述では、本発明のより包括的な理解を提供するために、要素およびシステム構成といった数多くの個別的詳細が述べられることがあるが、当業者は、そのような個別的な詳細なしでも本発明が実施しうることを認識するであろう。さらに、いくつかのよく知られた構造、回路、技術などは、本発明を無用にかすませることを避けるために述べていない。
ソフトエラーの原因となる粒子束のランダムな性質のため、SERをある程度評価するためには、エラー検出のための比較的大きな領域が必要となることがありうる。本発明は、多くのプロセッサおよびその他のデバイスのダイ・サイズのかなりの部分をすでに占めていることがある、キャッシュ・メモリおよびスキャン・セルといった構造を使ったエラー検出を提供するので、望ましいことがありうる。したがって、本発明は、ダイ・サイズを、よって費用を著しく増すことになりうる追加的な誤り検出構造を必要とすることなく実装されうる。
図1は、プロセッサ100における本発明のある実施形態を図解している。プロセッサ100は、ペンティアム(登録商標)プロセッサ・ファミリー、アイテニアム(登録商標)プロセッサ・ファミリーもしくはインテル・コーポレイションからの他のプロセッサ・ファミリーのプロセッサまたは他の会社からの他のプロセッサといった多様な異なる型のプロセッサのいずれであってもよい。本発明は、メモリ・デバイスなどプロセッサ以外の装置において実施されてもよい。プロセッサ100は、メモリ・アレイ110、メモリ・エラー計数ユニット120およびメモリ・エラー緩和ユニット130を含む。
メモリ・アレイ110は、静的ランダムアクセスメモリ・セルなどいかなる型のメモリ・セルが何行何列あってもよく、キャッシュ・メモリなど、いかなる機能のために使われるものでもよい。メモリ・アレイ110は、メモリ・アレイ110内のビット・レベル・エラーを検出するための誤り検出回路111を含んでいる。これはパリティまたはECCといったいかなる既知の技術を使うものでもよい。プロセッサおよびその他のデバイスの多くの設計は、キャッシュまたはその他のメモリ・アレイのために比較的大きな領域を含んでおり、これらのアレイの多くはすでにパリティまたはECCを含んでいる。したがって、本発明によれば、ダイのかなりの領域が低コストで誤り検出のために利用可能となりうる。
メモリ・エラー計数ユニット120は、アレイ・エラー・カウンタ121、アレイ読み取りカウンタ122およびアレイ計数制御モジュール123を含んでいる。アレイ・エラー・カウンタ121は、計数入力、計数出力およびリセットを有する、同期または非同期のいかなる既知のカウンタ回路であってもよい。アレイ・エラー・カウンタ121の計数入力は誤り検出回路111に結合され、メモリ・アレイ110の読み取りにおいてビット・レベル・エラーが検出されたことを示す信号を受け取る。それにより、アレイ・エラー・カウンタ121の計数出力は、アレイ・エラー・カウンタ121がリセットされて以来、メモリ・アレイ110の読み取りで検出されたビット・レベル・エラーの総数を示す。
アレイ読み取りカウンタ122も、計数入力、計数出力およびリセットを有する、同期または非同期のいかなる既知のカウンタ回路であってもよい。アレイ読み取りカウンタ122の入力は、メモリ・アレイ110が読まれていることを示す信号を受け取るようメモリ・アレイ110に結合されている。それにより、アレイ読み取りカウンタ122の計数出力は、アレイ読み取りカウンタ122がリセットされて以来、メモリ・アレイ110が読まれた総回数を示すようになっている。
本実施形態では、アレイ・エラー・カウンタ121およびアレイ読み取りカウンタ122は、アレイ読み取りカウンタ122によって計数されるメモリ・アレイ110の読み取り回数がある限界に達するたびに、たとえば1000回の読み取りごとにリセットされる。このアレイ読み取り限界値は固定でもよいし、プログラム可能でもよい。適切なアレイ読み取り限界値は、メモリ・アレイ110の大きさ、ビット数および面積、SERのある程度正確な決定のために必要とされる読み取り回数の期待値ならびに他の任意の因子に基づいて選ばれうる。アレイ・エラー・カウンタ121およびアレイ読み取りカウンタ122は、ある時間(たとえば秒単位で測られる)経過後にもリセットされる。それにより、メモリ・アレイ110が比較的不活発であってもSERの変化が検出されうる。他の実施形態では、両カウンタは、追加的または代替的に、他のいかなるイベントまたは信号に基づいてリセットされてもよい。
この実施形態では、アレイ・エラー・カウンタ121の出力はアレイ計数制御モジュール123に結合され、アレイ・エラー・カウンタ121およびアレイ読み取りカウンタ122がリセットされるたびに、アレイ計数制御モジュール123はアレイ読み取り限界値当たりのビット・レベル・エラー数を受け取るようになっている。他の実施形態では、ビット・レベル・エラー数はアレイ計数制御モジュール123に常時利用可能であってもよいし、あるいは他のいかなるイベントまたは信号に基づいてアレイ計数制御モジュール123に送られてもよい。
アレイ計数制御モジュール123はまた、アレイ・エラー閾値レジスタ124をも含む。該アレイ・エラー閾値レジスタ124は、あるアレイ・エラー閾値の値を保持するようプログラムされうる。他の実施形態では、アレイ・エラー閾値の値は固定でもよい。ビット・レベル・エラー数がアレイ・エラー閾値の値を超えている場合には、エラー緩和がアクティブ化される、あるいは増進されることになる。適切なアレイ・エラー閾値の値は、所望のSER閾値に対応する、アレイ読み取り限界値当たりのビット・レベル・エラー数に基づいて選択されうる。他の実施形態は、カウンタ121および122の出力からSERを計算する論理を含んでいてもよい。ビット・レベル・エラー数がアレイ・エラー閾値の値を超えているかどうかの判定は、比較器回路を使うなど、いかなる既知のアプローチを使って実行されてもよい。
アレイ計数制御モジュール123は、メモリ・エラー緩和ユニット130に、ビット・レベル・エラー数がアレイ・エラー閾値の値を超えているかどうかを示す。その指示は、ある信号(「高SER」信号)の状態または遷移に基づいていてもよいし、他の任意の既知のアプローチに基づいていてもよい。アレイ計数制御モジュール123が、アレイ・エラー閾値を超えていることを示す場合、メモリ・エラー緩和ユニット130は、多様な既知のアプローチのうち任意の一つまたは複数を通じて、エラー緩和をアクティブ化または増進する。たとえば、メモリ・エラー緩和ユニット130はメモリ・アレイ110のスクラビングをアクティブ化してもよいし、あるいはメモリ・アレイ110の定期的スクラビングの頻度を増してもよい。
図2に示されるように、本発明は、メモリ・アレイの代わりに誤り検出のための逐次論理(sequential logic)を使って実装されてもよい。図2は、本発明のある実施形態に基づくマルチコア・プロセッサ200を示している。一般に、マルチコア・プロセッサは二つ以上の実行コアを含んでいる単一の集積回路である。実行コアは、命令を実行するための論理を含む。実行コアに加えて、マルチコア・プロセッサは、本発明の範囲内で、専用または共用資源のいかなる組み合わせを含んでいてもよい。専用資源は、専用のレベル1キャッシュなど単一のコア専用の資源であってもよいし、あるいは複数のコアの任意の部分集合に専用の資源であってもよい。共有資源は、共有されるレベル2キャッシュまたはマルチコア・プロセッサと別のコンポーネントとの間のインターフェースをサポートする共有外部バス・ユニットのようなすべてのコアによって共有される資源であってもよいし、あるいは複数のコアの任意の部分集合によって共有される資源であってもよい。
マルチコア・プロセッサ200は、実行コア201および実行コア202を含む。実行コア201はスキャン・チェーン210、逐次エラー計数ユニット220および逐次エラー緩和ユニット230を含む。
スキャン・チェーン210は、任意の数のスキャン・セルが、デージーチェーンまたはシフトレジスタ配置のような直列配置に接続されたものであってよい。スキャン・セルとは、ラッチまたはフリップフロップといった逐次素子であり、多くの集積回路に加えられて、逐次論理の試験およびデバッグのための冗長な状態情報を提供する。スキャン・セルはチェーン内に配置され、データを逐次的にシフトさせてデバイスから出したり、あるいは逐次的にデータをデバイス内に転送することによってデバイスを既知の状態にしたりするために使われうる。典型的には、スキャン・セルは、デバイスが工場から出荷される前に無効にされる。
多くのプロセッサ設計はスキャン・セルを含み、多くは「フルスキャン」機能を含む。これは、プロセッサのすべての逐次状態についてスキャン・セルがあるということを意味している。したがって、プロセッサ・ダイのかなりの領域、可能性としてはプロセッサの逐次回路とほぼ同じくらいの領域が、本発明に基づく誤り検出のために低コストで利用可能となりうる。誤り検出能力をさらに増すため、既存のスキャン・セル設計が、ソフトエラーへの感度を増すよう修正されてもよい。キャパシタンスの追加または除去ならびにチャネル長の増加といったこれらの設計修正は、通常のスキャン動作のための機能性を妨げることなくなされることができ、通常のスキャン動作のためには無効にされてソフトエラー検出のためには有効にされうる仕方でなされてもよい。したがって、プロセッサまたはその他のデバイス上に含まれる、試験およびデバッグのためのスキャン・セルは、追加的または代替的に、ソフトエラー検出のために構成されてもよい。
誤り検出は、常時既知のデータ値をシフトさせてスキャン・チェーン210の入力に入れ、出力を観察することによって実行されうる。誤りは、スキャン・チェーン210の出力に異なる値が出てくることによって示される。たとえば、スキャン・チェーン210の入力が二進0にセットされうる。スキャン・チェーン210の出力に出てくる二進の1のそれぞれが、一つのビット・レベル・エラーを示す。nウェル・プロセス(n-well process)では1から0への遷移ではなく0から1への遷移が望ましいことがありうる。nウェル・プロセスでは0から1への遷移はアルファ粒子と中性子の両方によって引き起こされるが、1から0への遷移は中性子によってしか引き起こされないのである。
逐次エラー計数ユニット220は、逐次エラー・カウンタ221および逐次計数制御モジュール223を含む。逐次エラー・カウンタ221は、計数入力、計数出力およびリセットを有する、同期または非同期のいかなる既知のカウンタ回路であってもよい。逐次エラー・カウンタ221の計数入力はスキャン・チェーン210の出力に結合され、逐次エラー・カウンタ221の計数出力は、逐次エラー・カウンタ221がリセットされて以来、スキャン・チェーン210によって検出されたビット・レベル・エラーの総数を示す。この実施形態では、逐次エラー・カウンタ221は、スキャン・チェーン210のシフト一巡、すなわち入力に注入された値が出力に到達するのに必要とされるクロックサイクル数ごとにリセットされる。他の実施形態では、カウンタは追加的または代替的に、他のいかなるイベントまたは信号に基づいてリセットされてもよい。
この実施形態では、逐次エラー・カウンタ221の出力は逐次計数制御モジュール223に結合され、逐次エラー・カウンタ221がリセットされるたびに、逐次計数制御モジュール223はフルスキャン当たりのビット・レベル・エラー数を受け取るようになっている。他の実施形態では、ビット・レベル・エラー数は逐次計数制御モジュール223に常時利用可能であってもよいし、あるいは他のいかなるイベントまたは信号に基づいて逐次計数制御モジュール223に送られてもよい。
逐次計数制御モジュール223はまた、逐次エラー閾値レジスタ224をも含む。該逐次エラー閾値レジスタ224は、ある逐次エラー閾値の値を保持するようプログラムされうる。他の実施形態では、逐次エラー閾値の値は固定でもよい。ビット・レベル・エラー数が逐次エラー閾値の値を超えている場合には、エラー緩和がアクティブ化される、あるいは増進されることになる。適切な逐次エラー閾値の値は、スキャン・チェーン210内のスキャン・セルの数に基づいて選択されうる。他の実施形態は、部分スキャンまたはフルスキャンの数を計数するスキャン・カウンタと、エラー・カウンタおよびスキャン・カウンタの出力からSERを計算する論理とを含んでいてもよい。ビット・レベル・エラー数が逐次エラー閾値の値を超えているかどうかの判定は、比較器回路を使うなど、いかなる既知のアプローチを使って実行されてもよい。
逐次計数制御モジュール223は、逐次エラー緩和ユニット230に、ビット・レベル・エラー数が逐次エラー閾値の値を超えているかどうかを示す。その指示は、高SER信号の状態または遷移に基づいていてもよいし、他の任意の既知のアプローチに基づいていてもよい。逐次計数制御モジュール223が、逐次エラー閾値を超えていることを示す場合、逐次エラー緩和ユニット230は、多様な既知のアプローチのうち任意の一つまたは複数を通じて、エラー緩和をアクティブ化または増進する。たとえば、逐次エラー緩和ユニット230は、実行コア201とロックステップで走るよう実行コア202をアクティブ化してもよい。
本発明は、メモリ・アレイ、スキャン・チェーンまたはビット・レベル・エラーが検出されうる状態素子を有する他の任意の構造の任意の組み合わせを使った装置で実施されてもよい。たとえば、プロセッサは、それぞれが独自の対応するエラー計数ユニットおよびエラー緩和ユニットを有する二つ以上のメモリ・アレイを含んでいてもよいし、あるいはそれぞれが独自の対応するスキャン・チェーンおよびエラー計数ユニットおよびエラー緩和ユニットを有する二つ以上の実行コアを含んでいてもよい。各エラー計数ユニットは、閾値の値がプロセスまたはアーキテクチャ上の脆弱性といった要因を考慮に入れるために較正されるようにするために、一つまたは複数の閾値レジスタを含みうる。閾値レジスタは、閾値の値の調整を許容するためにプログラム可能であってもよい。
いくつかの実施形態では、単一のエラー計数ユニットが種々のエラー源または種々のエラー種別のために複数のカウンタを含んでいてもよいし、および/または、複数のエラー計数ユニットからの高SER信号を一緒に処理して、エラー緩和がアクティブ化されるかどうか、どんな種別でどんなレベルのエラー緩和がアクティブ化されるかを決定してもよい。そのような一つの実施例では、複数の高SER信号がORで結合されうる。たとえば、アレイ・エラー閾値および逐次エラー閾値の一方または両方を超えた場合にエラー緩和がアクティブ化されうる。別のそのような実施例では、エラー閾値を超えたかどうかの判定は、二つ以上のカウンタからのエラー計数の組み合わせに基づいていてもよい。複数の計数は直接足し合わされてもよいし、あるいはあるエラー種別またはあるエラー源がより大きな信頼性の懸念を表しているため一つの計数が他の計数よりも大きな重みを与えられてもよい。本発明の範囲内で、エラー計数および/または高SER信号の他の形の処理も可能である。たとえば、ある特定の高SER信号が別の特定の高SER信号を否定またはオーバーライドできるようにするといったことである。
これらの実施形態のいずれにおいても、あるいは他のいかなる実施形態においても、高SER信号の源および/または処理に依存して、さまざまなレベルまたは型のエラー緩和がアクティブ化または増進されうる。たとえば、キャッシュおよび逐次論理の両方のための誤り検出をもつ実施形態では、キャッシュのみからの高SER信号はキャッシュのスクラビングをアクティブ化し、逐次論理のみからの高SER信号はロックステップをアクティブ化し、両者からの高SER信号は動作電圧の上昇をアクティブ化してもよい。
さらに、諸実施形態は、単一のエラー計数ユニットのための複数のエラー閾値の値を含んでいてもよい。それにより、エラー緩和の型またはレベルが、検出されたSERの大きさに依存して選択できる。そのような一つの実施例では、たとえば複数段のエラー緩和が利用可能であってもよく、どのエラー閾値を超えたかに基づいてどの段のエラー緩和を選ぶかを示すために複数の異なる高SER信号を使ってもよい。これらの段は、単一の技法の異なるレベルによって、たとえばキャッシュ・スクラビングの頻度を変えることによって区別されてもよいし、あるいはある段ではキャッシュ・スクラビング、別の段では動作電圧上昇などと異なる技法を使って区別されてもよい。段のうちの一つまたは複数において、一つまたは複数のエラー緩和技法が非アクティブあるいはオフ状態であってもよい。残りの段のそれぞれにおいては、同じエラー緩和状態が、単一または複数のレベルのうちの一つにおいて、オンまたはアクティブ化されていてもよい。
本発明の諸実施形態は、上記のいかなる組み合わせを含んでいてもよい。ある実施形態は、複数のエラー・カウンタを含んでいて、それぞれが複数のエラー閾値をもち、エラー緩和の複数の段が複数の高SER信号の処理に基づいて選ばれてもよい。該処理は、あるエラー種別またはあるエラー源により大きな重みを与えるよう実行されてもよい。たとえば、エラー緩和のある段にはいるのは、ある大きなメモリからの高SER信号がアサートされるか、あるいはより小さなメモリ・アレイ二つからの高SER信号がアサートされる場合であってよい。もう一つの例として、あるチェーンからの高SER信号がアサートされる場合にある段のエラー緩和にはいり、メモリ・アレイからの高SER信号がアサートされる場合にエラー緩和のより高いレベルまたは段にはいるのでもよい。これは、メモリ・アレイはスキャン・チェーンよりもダイ領域のより大きな部分を表しているからである。
いくつかの実施形態では、高SER信号、カウンタ出力およびその他の信号のタイミングは決定的に重要ではない。というのも、目標は、短いスパイクではなく持続した期間の高SERを検出することでありうるからである。したがって、信号をパイプラインまたは遅延してもよく、信号が異なるユニットには異なる時刻に到着してもよい。さらに、エラー緩和モードどうしの間のスラッシング(thrashing)を回避するために、エラー緩和をアクティブ化、増進、非アクティブ化または低減する前に、高SER信号における履歴が望まれてもよいし、および/または、誤り検出の数回の反復が実行されてもよい。
図3は、本発明のある実施形態に基づくシステム300を示している。システム300は、プロセッサ310、システム・コントローラ320、持続性メモリ330およびシステム・メモリ340を含んでいる。プロセッサ310は前記したようないかなるプロセッサであってもよく、機能ユニット311およびエラー計数制御ユニット312を含む。機能ユニット311はメモリ・アレイ、逐次論理またはビット・レベル・エラーが検出されうる状態素子を有するその他の任意の構造を含む。エラー計数制御ユニット312は、機能ユニット311でビット・レベル・エラーの数を計数し、機能ユニット311におけるビット・レベル・エラーの数がエラー閾値の値を超えるかどうかを示す。この実施形態では、エラー計数制御ユニット312は、機能ユニット311におけるビット・レベル・エラーの数がエラー閾値の値を超える場合に高SER信号313をアサートする。
システム・コントローラ320は、高SER信号313を受け取るようプロセッサ310に結合されたいかなるチップセット・コンポーネントまたはその他のコンポーネントであってもよい。この実施形態では、高SER信号313がアサートされた場合、システム・コントローラ320はエラー緩和をアクティブ化または増進する。たとえば、システム・コントローラ320は、ソフトエラーを緩和するためにシステム、プロセッサまたは他の電圧レベルを上げる電圧コントローラを含むか、そのような電圧コントローラに結合されているかしていてもよい。
システム・コントローラ320は、高SER信号313の状態を保存するため、あるいは他の仕方で検出されたSERに関する情報を保持するための持続性メモリ330を含むか、そうした持続性メモリ330に結合されるかしていてもよい。持続性メモリ330は、システム300またはプロセッサ310がオフまたは他の非アクティブ状態にある間も情報を保持する機能のあるいかなるメモリであってもよい。たとえば、持続性メモリ330はフラッシュメモリまたは不揮発性もしくはバックアップ電池付きのランダムアクセスメモリであってもよい。したがって、システム300がソフトエラーまたはその他の原因によりクラッシュした場合、システム・コントローラ320はリブートの際に持続性メモリ330を読んで、最も最近検出されたSERが高であったかどうかを判定し、もしそうであればエラー緩和をアクティブ化してシステム300をリブートすることができる。
システム・メモリ340は、スタティックもしくはダイナミック・ランダム・アクセス・メモリまたは磁気もしくは光ディスク・メモリといったいかなる型のメモリであってもよい。システム・メモリ340は、プロセッサ320によって実行されるべき命令および該プロセッサによって操作されるデータ、あるいはオペレーティング・システム・ソフトウェア、アプリケーション・ソフトウェアまたはユーザー・データといったいかなる形のいかなる情報を保存するためにも使用されうる。
プロセッサ310、システム・コントローラ320、持続性メモリ330およびシステム・メモリ340は任意の構成で、任意の組み合わせバスまたは直接もしくはポイントツーポイントの接続を用いて、および任意の他のコンポーネントを通じて、互いに結合されうる。システム300はまた、周辺バス(peripheral bus)のようないかなるバスを含んでいてもよく、また入出力装置のようないかなるコンポーネントを含んでいてもよいが、図3には示していない。
図4は、ビット・レベル・エラーの計数に基づいてエラー緩和を選択的にアクティブ化する方法における本発明のある実施形態を示している。図4の実施形態では、エラー緩和は高または低の二つのモードのうちの一つをとりうる。高モードはオン・モード、低モードはオフ・モードでよいが、あるいは、どちらのモードでもエラー緩和はオンだが高モードでは低モードより高いレベルまたは頻度で動作しているのでもよい。図4の実施形態におけるエラー緩和は、いかなる既知のアプローチを含んでいてもよい。たとえば、高モードはキャッシュのスクラビング、二つ以上のプロセッサ・コアをロックステップで走らせること、あるいはデバイスもしくはデバイスの一部を二つの動作電圧のうちの高いほうの電圧で走らせることを含みうる。低モードは、より低い頻度または全くなしのキャッシュ・スクラビング、単一のプロセッサ・コアのみを走らせること、二つ以上のプロセッサ・コアをロックステップでなしに走らせること、またはデバイスを二つの動作電圧のうちの低いほうで走らせることを含みうる。
ボックス410では、プロセッサまたはその他のデバイス内の機能ブロックのための反復限界が反復限界レジスタにプログラムされる。機能ブロックは、メモリ・アレイ、逐次論理または状態素子をもつ他の任意の構造を含む。反復限界は、機能ブロック中の状態素子の数、機能ブロックの大きさ、面積、構成、アーキテクチャもしくは機能、デバイス製造に使われたプロセス技術、デバイスの使用のための期待される使用もしくは環境または他の任意の要因に基づいていてもよい。
ボックス411では、エラー閾値の値が機能ブロックのためのエラー閾値レジスタにプログラムされる。エラー閾値の値は、前記反復限界と同じ要因に加えて、該反復限界そのものおよび期待されるSERといった追加的な要因に基づいていてもよい。
ボックス420では、機能ブロックが使用されている間、イベントの反復回数が計数される。イベントは、エラー・レートの計算で分母として数えることのできるいかなるイベントでもよい。たとえば、イベントは、メモリ・アレイへの読み取りアクセスまたはスキャン・チェーンのフルスキャンであってもよい。反復回数は、いかなる種類のカウンタを使って計数してもよい。
ボックス421では、機能ブロックが使用されている間、状態素子におけるビット・レベル・エラーの数が計数される。ビット・レベル・エラーは、いかなる既知の技法を使って検出されてもよい。たとえば、メモリ・アレイのためのパリティ、あるいはスキャン・チェーンの入力に既知の値を注入して逐次論理のための出力を観察することなどである。ビット・レベル・エラーの数は、いかなる種類のカウンタを使って計数されてもよい。
ボックス430では、ボックス420で計数された反復数が反復限界に達したかどうかの判定がなされる。判定は、いかなる既知のアプローチにしたがってなされてもよい。たとえば、反復カウンタ出力のある特定のビットに基づいて行う、あるいは反復カウンタ出力を反復限界レジスタの内容と比較するなどである。反復数が反復限界に達したとき、本方法はボックス431に進む。それまでは、本発明はボックス420に進む。
ボックス431では、ボックス421で計数されたエラーの数がエラー閾値の値を超えているかどうかについての判定がなされる。判定は、いかなる既知のアプローチにしたがって行われてもよい。たとえば、エラー・カウンタ出力をエラー閾値レジスタの内容に比較するなどである。計数されたエラーの数が閾値の値を超えている場合、本方法はボックス440に進む。そうでなければ、本方法はボックス441に進む。
ボックス440および441では、エラー緩和が高モードにあるか低モードにあるかについての判定がなされる。低モードにあれば、本方法はボックス440からはボックス450に、ボックス441からはボックス460に進む。高モードにあれば、本方法はボックス441からはボックス451に、ボックス440からはボックス460に進む。
ボックス450では、エラー緩和は低モードから高モードにアクティブ化または増進される。ボックス451では、エラー緩和は非アクティブ化または低減される。ボックス450および451から、本方法はボックス460に進む。ボックス460では、反復計数およびエラー計数はリセットされる。ボックス460から、本方法はボックス420に戻る。
本発明の範囲内で、図4に示された方法は異なる順序で実行されたり、図示されたステップが省略されて実行されたり、追加ステップが加えられて実行されたり、あるいは並べ替え、省略もしくは追加ステップの組み合わせを使って実行されたりしてもよい。たとえば、ボックス410および反復計数へのあらゆる言及は、スキャン・チェーンを通じて一回完全にシフトすることに基づいた閾値とエラー計数を比べる実施形態では省略してもよい。別の例では、エラー緩和が高モードにあるか低モードにあるかについての判定は、高モードに留まる実装と低モードから高モードに移る実装との間に差がない実施形態では省略されてもよい。さらに、本発明は、エラー緩和をアクティブ化するかどうかについての決定が、二つ以上の機能ユニットからの二つ以上のエラー・カウントに基づきうる諸方法において、あるいは二つより多いエラー緩和モードを含む諸方法において実施されてもよい。
プロセッサ100、プロセッサ200または本発明のある実施形態にしたがって設計された他の任意のコンポーネントもしくはコンポーネントの一部は、創造からシミュレーション、そして製造へとさまざまな段階で設計〔デザイン〕されうる。設計を表すデータは設計をいくつかの仕方で表現しうる。第一に、シミュレーションで有用であるように、ハードウェア記述言語または別の機能記述言語を使ってハードウェアを表現してもよい。追加的または代替的に、論理および/またはトランジスタ・ゲートをもつ回路レベル・モデルが設計プロセスの何らかの段階で生成されてもよい。さらに、たいていの設計は、何らかの段階で、さまざまなデバイスの物理的な配置を表すデータを用いてモデル化されうるレベルに達する。通常の半導体製造技法が使われる場合は、デバイス配置モデルを表現するデータは、集積回路を生産するために使用されるマスクのための種々のマスク層上のさまざまな特徴の存在または不在を指定するデータでありうる。
設計のいかなる表現でも、データはいかなる形の機械可読媒体に記憶されてもよい。そのような情報を伝送するために変調されるかその他の仕方で生成されるかした光波または電気的な波、メモリまたはディスクのような磁気もしくは光記憶媒体が前記機械可読媒体でありうる。これらの媒体のいずれも、前記設計を、あるいは本発明の実施形態で使用される、誤り回復ルーチン内の命令といった他の情報を、「担持」または「指示」しうる。情報を指示または担持する電気的搬送波が伝送されるとき、該電気信号のコピー、バッファリングまたは再送信が実行される限りにおいて、新たなコピーが作られてもよい。こうして、通信プロバイダーまたはネットワーク・プロバイダーの動作は、本発明の諸技法を具現する物品、たとえば搬送波のコピーを作成する動作でありうる。
こうして、ビット・レベル・エラーの計数に基づく、エラー緩和の選択的なアクティブ化が開示された。ある種の実施形態を記述し、付属の図面に示してきたが、そのような実施形態が広い本発明を単に解説するものであって制限するものでないこと、そして本発明が図示され記述された個別的な構築および構成に限定されないことは理解しておくべきである。というのも、本開示を研究すれば当業者にはさまざまなその他の修正が思いつくことがありうるからである。たとえば、エラー緩和の増進は、オフ・モードからオン・モードにエラー緩和を増進することを含みうる。また、エラー計数がエラー閾値の値を超えるときにエラー緩和を増進することは、エラー計数がエラー閾値以上になったときにエラー緩和を増進することを含みうる。
成長が速く、さらなる進歩が簡単には予見できないこのような技術の分野では、開示された実施形態は、本開示または付属の特許請求の範囲の原則から外れることなく、実施を可能にする技術的進歩によって容易にされる構成および詳細においてすぐ修正可能でありうる。
プロセッサにおける本発明のある実施形態を示す図である。 本発明のある実施形態に基づくマルチコア・プロセッサを示す図である。 本発明のある実施形態に基づくシステムを示す図である。 ビット・レベル・エラーの計数に基づいて、エラー緩和を選択的にアクティブ化する方法における本発明の実施形態を示す図である。
符号の説明
100 プロセッサ
110 メモリ・アレイ
111 エラー検出回路
120 メモリ・エラー計数ユニット
121 アレイ・エラー・カウンタ
122 アレイ読み取りカウンタ
123 アレイ計数制御モジュール
124 アレイ・エラー閾値レジスタ
130 メモリ・エラー緩和ユニット
200 プロセッサ
201 実行コア
202 実行コア
210 スキャン・チェーン
220 逐次エラー計数ユニット
221 逐次エラー・カウンタ
223 逐次計数制御モジュール
224 逐次エラー閾値レジスタ
230 逐次エラー緩和ユニット
300 システム
310 プロセッサ
311 機能ユニット
312 エラー計数制御ユニット
313 高SER信号
320 システム・コントローラ
330 持続性メモリ
340 システム・メモリ
410 反復限界を設定
411 エラー閾値の値を設定
420 反復を計数
421 ビット・レベル・エラーを計数
430 反復限界に達したか?
431 閾値を超えたか?
440 エラー緩和が高モードか?
441 エラー緩和が高モードか?
450 エラー緩和をアクティブ化
451 エラー緩和を非アクティブ化
460 エラー計数および反復計数をリセット

Claims (25)

  1. 複数の状態素子と;
    前記複数の状態素子におけるビット・レベル・エラーの数を計数するエラー・カウンタと;
    ビット・レベル・エラーの数がある閾値を超えた場合にエラー緩和を増進するアクティブ化論理とを有する装置。
  2. 前記アクティブ化論理がエラー緩和を増進することが、エラー緩和をオフ・モードからオン・モードにすることである、請求項1記載の装置。
  3. 前記閾値を記憶するプログラム可能なレジスタをさらに有する、請求項1記載の装置。
  4. 前記複数の状態素子がメモリ・セルのアレイを含む、請求項1記載の装置。
  5. 前記メモリ・セルのアレイへのアクセスを計数するアクセス・カウンタをさらに有する、請求項4記載の装置。
  6. 前記メモリ・セルのアレイへのアクセス数に基づいて前記エラー・カウンタがリセットされる、請求項5記載の装置。
  7. 前記エラー・カウンタが時間に基づいてもリセットされる、請求項6記載の装置。
  8. 前記メモリ・セルのアレイにおけるビット・レベル・エラーを検出するエラー検出論理をさらに有する、請求項4記載の装置。
  9. 前記エラー検出論理がパリティ検査論理を含む、請求項6記載の装置。
  10. 前記アクティブ化論理が、前記メモリ・セルのアレイのスクラビングを増進する、請求項4記載の装置。
  11. 前記複数の状態素子が複数のスキャン・セルを含む、請求項1記載の装置。
  12. 前記複数のスキャン・セルがソフトエラー検出のために構成されている、請求項11記載の装置。
  13. 前記複数のスキャン・セルがスキャン・チェーン内に配置されている、請求項11記載の装置。
  14. 前記エラー・カウンタが、スキャン・チェーンを通じた一回の完全なシフトに基づいてリセットされる、請求項13記載の装置。
  15. 複数の状態素子を含む第一の実行コアを含む、複数の実行コアと;
    前記複数の状態素子におけるビット・レベル・エラーの数を計数するエラー・カウンタと;
    ビット・レベル・エラーの数がある閾値を超えた場合に、前記複数の実行コアのうちの前記第一の実行コアおよびある第二の実行コアのロックステップ実行をアクティブ化するアクティブ化論理とを有する装置。
  16. 複数の状態素子におけるビット・レベル・エラーの数を計数する段階と;
    ビット・レベル・エラーの数がある閾値を超えた場合にエラー緩和を増進する段階とを有する方法。
  17. エラー緩和を増進する前記段階が、エラー緩和をオフ・モードからオン・モードに増進することを含む、請求項16記載の方法。
  18. 前記閾値をプログラム可能なレジスタに保存する段階をさらに有する、請求項16記載の方法。
  19. 前記複数の状態素子がメモリ・セルのアレイを含む、請求項16記載の方法であって:
    前記メモリ・セルのアレイへのアクセス数を計数する段階と;
    前記メモリ・セルのアレイへのアクセス数に基づいて前記ビット・レベル・エラーの計数をリセットする段階とをさらに有する、請求項16記載の方法。
  20. エラー緩和を増進する前記段階が、前記メモリ・セルのアレイのスクラビングを増進する、請求項19記載の方法。
  21. 前記複数の状態素子がスキャン・セルのチェーンを含み、スキャン・セルのチェーンを通じた一回の完全なシフトごとにビット・レベル・エラーの数の計数をリセットする段階をさらに有する、請求項16記載の方法。
  22. プロセッサおよびシステム・コントローラを有するシステムであって:
    前記プロセッサは:
    複数の状態素子と;
    前記複数の状態素子におけるビット・レベル・エラーの数を計数するエラー・カウンタと;
    ビット・レベル・エラーの数がある閾値を超えたかどうかを指示する制御論理とを含んでおり;
    前記システム・コントローラは、前記制御論理が、ビット・レベル・エラーの数が前記閾値を超えたことを示す場合にエラー緩和を増進する、システム。
  23. アクティブ化論理が、エラー緩和をオフ・モードからオン・モードに増進する、請求項22記載のシステム。
  24. ビット・レベル・エラーの数が前記閾値を超えたかどうかの指示を記憶する持続性メモリをさらに有する、請求項22記載のシステム。
  25. ダイナミック・ランダムアクセスメモリ、プロセッサおよびアクティブ化論理を有するシステムであって:
    前記プロセッサは:
    複数の状態素子と;
    前記複数の状態素子におけるビット・レベル・エラーの数を計数するエラー・カウンタと;
    ビット・レベル・エラーの数がある閾値を超えたかどうかを指示する制御論理とを含んでおり;
    前記アクティブ化論理は、前記制御論理が、ビット・レベル・エラーの数が前記閾値を超えたことを示す場合にエラー緩和を増進する、システム。
JP2008517184A 2005-06-13 2006-06-13 ビット・レベル・エラーの計数に基づくエラー緩和の選択的アクティブ化 Pending JP2008546123A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/151,818 US20070011513A1 (en) 2005-06-13 2005-06-13 Selective activation of error mitigation based on bit level error count
PCT/US2006/023634 WO2006135937A2 (en) 2005-06-13 2006-06-13 Selective activation of error mitigation based on bit level error count

Publications (1)

Publication Number Publication Date
JP2008546123A true JP2008546123A (ja) 2008-12-18

Family

ID=37192294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008517184A Pending JP2008546123A (ja) 2005-06-13 2006-06-13 ビット・レベル・エラーの計数に基づくエラー緩和の選択的アクティブ化

Country Status (6)

Country Link
US (1) US20070011513A1 (ja)
JP (1) JP2008546123A (ja)
KR (1) KR100954730B1 (ja)
CN (1) CN101198935B (ja)
DE (1) DE112006001233T5 (ja)
WO (1) WO2006135937A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011515745A (ja) * 2008-04-23 2011-05-19 インテル・コーポレーション プロセッサリソースのアーキテクチャ脆弱性の検出
US8499206B2 (en) 2010-03-04 2013-07-30 Samsung Electronics Co., Ltd. Memory system and method for preventing system hang
JP2014502452A (ja) * 2010-11-19 2014-01-30 ザイリンクス インコーポレイテッド ソフトエラーのクリティカリティの分類およびクリティカリティに基づくソフトエラーの緩和

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581152B2 (en) * 2004-12-22 2009-08-25 Intel Corporation Fault free store data path for software implementation of redundant multithreading environments
JP4944518B2 (ja) * 2006-05-26 2012-06-06 富士通セミコンダクター株式会社 タスク遷移図表示方法及び表示装置
US8260035B2 (en) * 2006-09-22 2012-09-04 Kla-Tencor Corporation Threshold determination in an inspection system
US8122323B2 (en) * 2007-03-08 2012-02-21 Intel Corporation Method, apparatus, and system for dynamic ECC code rate adjustment
JP5265883B2 (ja) * 2007-05-24 2013-08-14 株式会社メガチップス メモリアクセスシステム
US8327245B2 (en) * 2007-11-21 2012-12-04 Micron Technology, Inc. Memory controller supporting rate-compatible punctured codes
US8271515B2 (en) * 2008-01-29 2012-09-18 Cadence Design Systems, Inc. System and method for providing copyback data integrity in a non-volatile memory system
US7937625B2 (en) * 2008-09-26 2011-05-03 Microsoft Corporation Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors
KR20100102925A (ko) * 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
JP2010237822A (ja) * 2009-03-30 2010-10-21 Toshiba Corp メモリコントローラおよび半導体記憶装置
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
JP5198375B2 (ja) 2009-07-15 2013-05-15 株式会社日立製作所 測定装置及び測定方法
US8448027B2 (en) * 2010-05-27 2013-05-21 International Business Machines Corporation Energy-efficient failure detection and masking
US8719647B2 (en) 2011-12-15 2014-05-06 Micron Technology, Inc. Read bias management to reduce read errors for phase change memory
US9081719B2 (en) 2012-08-17 2015-07-14 Freescale Semiconductor, Inc. Selective memory scrubbing based on data type
US9141451B2 (en) 2013-01-08 2015-09-22 Freescale Semiconductor, Inc. Memory having improved reliability for certain data types
US9081693B2 (en) 2012-08-17 2015-07-14 Freescale Semiconductor, Inc. Data type dependent memory scrubbing
US9141552B2 (en) 2012-08-17 2015-09-22 Freescale Semiconductor, Inc. Memory using voltage to improve reliability for certain data types
US9548135B2 (en) * 2013-03-11 2017-01-17 Macronix International Co., Ltd. Method and apparatus for determining status element total with sequentially coupled counting status circuits
US9280412B2 (en) * 2013-03-12 2016-03-08 Macronix International Co., Ltd. Memory with error correction configured to prevent overcorrection
US9075904B2 (en) 2013-03-13 2015-07-07 Intel Corporation Vulnerability estimation for cache memory
US9032261B2 (en) * 2013-04-24 2015-05-12 Skymedi Corporation System and method of enhancing data reliability
WO2015059804A1 (ja) * 2013-10-24 2015-04-30 株式会社日立製作所 ストレージシステムおよびその制御方法
US9529671B2 (en) * 2014-06-17 2016-12-27 Arm Limited Error detection in stored data values
US9760438B2 (en) * 2014-06-17 2017-09-12 Arm Limited Error detection in stored data values
US20150169441A1 (en) * 2015-02-25 2015-06-18 Caterpillar Inc. Method of managing data of an electronic control module of a machine
US9823962B2 (en) 2015-04-22 2017-11-21 Nxp Usa, Inc. Soft error detection in a memory system
US10013192B2 (en) 2016-08-17 2018-07-03 Nxp Usa, Inc. Soft error detection in a memory system
KR102393427B1 (ko) 2017-12-19 2022-05-03 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10866280B2 (en) 2019-04-01 2020-12-15 Texas Instruments Incorporated Scan chain self-testing of lockstep cores on reset
US11720444B1 (en) * 2021-12-10 2023-08-08 Amazon Technologies, Inc. Increasing of cache reliability lifetime through dynamic invalidation and deactivation of problematic cache lines

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1055320A (ja) * 1996-05-10 1998-02-24 Sun Microsyst Inc オンライン・メモリ監視システム及び装置
JPH10312340A (ja) * 1997-05-12 1998-11-24 Kofu Nippon Denki Kk 半導体記憶装置におけるエラー検出,訂正方式
JP2001325155A (ja) * 2000-05-18 2001-11-22 Nec Eng Ltd データ記憶装置の誤り訂正方法
JP2004152194A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd メモリデータ保護方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3341628A1 (de) * 1983-11-17 1985-05-30 Polygram Gmbh, 2000 Hamburg Geraeteanordnung zur fehlerermittlung bei plattenfoermigen informationstraegern
US5218691A (en) * 1988-07-26 1993-06-08 Disk Emulation Systems, Inc. Disk emulation system
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
JPH07177130A (ja) * 1993-12-21 1995-07-14 Fujitsu Ltd エラーカウント回路
DE19781772T1 (de) * 1996-05-15 1999-04-29 Seagate Technology Lesefehlerbehandlung anhand von Fehlerkorrekturcodes und Lesekanal-Qualitätsindikatoren
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
JP2004186856A (ja) * 2002-12-02 2004-07-02 Pioneer Electronic Corp 誤り訂正方法、装置及びプログラム
US7080305B2 (en) * 2002-12-23 2006-07-18 Sun Microsystems, Inc. System and method for correcting data errors
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
US6704230B1 (en) * 2003-06-12 2004-03-09 International Business Machines Corporation Error detection and correction method and apparatus in a magnetoresistive random access memory
WO2005003962A2 (de) * 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit
US7370260B2 (en) * 2003-12-16 2008-05-06 Freescale Semiconductor, Inc. MRAM having error correction code circuitry and method therefor
US7210077B2 (en) * 2004-01-29 2007-04-24 Hewlett-Packard Development Company, L.P. System and method for configuring a solid-state storage device with error correction coding
US20060075296A1 (en) * 2004-09-30 2006-04-06 Menon Sankaran M Method, apparatus and system for data integrity of state retentive elements under low power modes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1055320A (ja) * 1996-05-10 1998-02-24 Sun Microsyst Inc オンライン・メモリ監視システム及び装置
JPH10312340A (ja) * 1997-05-12 1998-11-24 Kofu Nippon Denki Kk 半導体記憶装置におけるエラー検出,訂正方式
JP2001325155A (ja) * 2000-05-18 2001-11-22 Nec Eng Ltd データ記憶装置の誤り訂正方法
JP2004152194A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd メモリデータ保護方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011515745A (ja) * 2008-04-23 2011-05-19 インテル・コーポレーション プロセッサリソースのアーキテクチャ脆弱性の検出
US8499206B2 (en) 2010-03-04 2013-07-30 Samsung Electronics Co., Ltd. Memory system and method for preventing system hang
JP2014502452A (ja) * 2010-11-19 2014-01-30 ザイリンクス インコーポレイテッド ソフトエラーのクリティカリティの分類およびクリティカリティに基づくソフトエラーの緩和

Also Published As

Publication number Publication date
DE112006001233T5 (de) 2008-04-17
US20070011513A1 (en) 2007-01-11
CN101198935A (zh) 2008-06-11
KR20080011228A (ko) 2008-01-31
KR100954730B1 (ko) 2010-04-23
CN101198935B (zh) 2012-11-07
WO2006135937A2 (en) 2006-12-21
WO2006135937A3 (en) 2007-02-15

Similar Documents

Publication Publication Date Title
JP2008546123A (ja) ビット・レベル・エラーの計数に基づくエラー緩和の選択的アクティブ化
Stoddard et al. A hybrid approach to FPGA configuration scrubbing
Patel et al. The reach profiler (reaper) enabling the mitigation of dram retention failures via profiling at aggressive conditions
Bacha et al. Using ECC feedback to guide voltage speculation in low-voltage processors
Patel et al. Bit-exact ECC recovery (BEER): Determining DRAM on-die ECC functions by exploiting DRAM data retention characteristics
Wilkening et al. Calculating architectural vulnerability factors for spatial multi-bit transient faults
US20090249175A1 (en) Single Event Upset error detection within sequential storage circuitry of an integrated circuit
Suh et al. Soft error benchmarking of L2 caches with PARMA
Barenghi et al. Software-only reverse engineering of physical DRAM mappings for RowHammer attacks
Sridharan et al. Reducing data cache susceptibility to soft errors
Memik et al. Engineering over-clocking: Reliability-performance trade-offs for high-performance register files
Leem et al. Cross-layer error resilience for robust systems
Jones et al. Evaluating the effects of compiler optimisations on AVF
Vera et al. Selective replication: A lightweight technique for soft errors
Dweik et al. Reliability-Aware Exceptions: Tolerating intermittent faults in microprocessor array structures
Valadimas et al. Timing error tolerance in small core designs for SoC applications
Herkersdorf et al. Cross-layer dependability modeling and abstraction in system on chip
Rivers et al. Reliability challenges and system performance at the architecture level
TW201346533A (zh) 透過二進制轉譯之暫存器錯誤保護技術
Wali et al. A hybrid fault-tolerant architecture for highly reliable processing cores
Abid et al. LFTSM: Lightweight and fully testable SEU mitigation system for Xilinx processor-based SoCs
US20060143551A1 (en) Localizing error detection and recovery
Sasan et al. History & Variation Trained Cache (HVT-Cache): A process variation aware and fine grain voltage scalable cache with active access history monitoring
Wali Circuit and system fault tolerance techniques
Jeyapaul et al. Enabling energy efficient reliability in embedded systems through smart cache cleaning

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110511

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120116

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120515