JP2009501367A - ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートの低減 - Google Patents

ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートの低減 Download PDF

Info

Publication number
JP2009501367A
JP2009501367A JP2008519683A JP2008519683A JP2009501367A JP 2009501367 A JP2009501367 A JP 2009501367A JP 2008519683 A JP2008519683 A JP 2008519683A JP 2008519683 A JP2008519683 A JP 2008519683A JP 2009501367 A JP2009501367 A JP 2009501367A
Authority
JP
Japan
Prior art keywords
value
core
detects
box
microchecker
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.)
Granted
Application number
JP2008519683A
Other languages
English (en)
Other versions
JP4795433B2 (ja
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 JP2009501367A publication Critical patent/JP2009501367A/ja
Application granted granted Critical
Publication of JP4795433B2 publication Critical patent/JP4795433B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

ロックステップ式二重化モジュール冗長システムにおいて訂正不能エラーレートを低減させる装置および方法の諸実施形態が開示される。ある実施形態では、装置は二つのプロセッサ・コア、マイクロチェッカー、グローバルチェッカーおよびフォールト論理を含む。マイクロチェッカーは、一方のコア内の構造からの値が他方のコアにおける対応する構造からの値に一致するかどうかを検出する。グローバルチェッカーは、二つのコアの間のロックステップ障害を検出する。フォールト論理は、ロックステップ・エラーがあるがマイクロチェッカーが不一致を検出した場合には、二つのコアを再同期させる。

Description

本開示は、データ処理の分野に、より詳細にはデータ処理装置におけるエラー緩和(error mitigation)の分野に係る。
集積回路製造技術の改善がマイクロプロセッサおよびその他のデータ処理装置における小型化およびより低い動作電圧を提供し続けるにつれ、そうしたデバイスのメーカーおよびユーザーはますますソフトエラーの現象を懸念するようになりつつある。ソフトエラーは、アルファ粒子や高エネルギー中性子が集積回路に当たって回路ノードに保存されている電荷を変えるときに発生する。電荷変化が十分大きければ、ノード上の電圧がある論理状態を表すレベルから異なる論理状態を表すレベルに変わってしまうことがありうる。その場合、そのノードに保存されていた情報は壊れてしまう。一般に、回路の大きさが小さくなるにつれてソフトエラー・レート(soft error rate)は上昇する。それは、回路密度が高まると入射粒子が電圧ノードに当たる可能性が大きくなるからである。同様に、動作電圧が下がるにつれて、異なる論理状態を表す電圧レベル間の差が小さくなるので、回路ノードの論理状態を変えるのに必要とされるエネルギーが小さくなり、より多くのソフトエラーが生じる。
ソフトエラーを引き起こす粒子を遮るのはきわめて難しく、データ処理装置はしばしばソフトエラーを検出し、時に訂正する技術を含む。そうしたエラー緩和技術としては、二重化モジュール冗長性(DMR: dual-modular redundancy)および三重化モジュール冗長性(TMR: triple-modular redundancy)が含まれる。DMRでは、二つの同一のプロセッサまたはプロセッサ・コアが同じプログラムをロックステップ(lockstep)で実行し、それらの結果が比較される。TMRでは三つの同一のプロセッサがロックステップで走らされる。
いかなる一つのプロセッサにおけるエラーもDMRまたはTMRを使って検出できる。それはエラーのために結果が異なってくるからである。TMRは、三つのプロセッサのうちの二つの一致した結果が正しい結果であると想定することによってエラーからの回復が達成されうるという利点を提供する。
DMRシステムにおける回復も可能である。それには、すべての結果を、レジスタに託されるか、他の仕方でシステムのアーキテクチャ状態(architectural state)に影響することが許容される前にチェックすることによる。そうすれば、エラーが検出された場合に最後のチェックポイント以降のすべての命令を再実行することによって回復が達成されうる。しかしながら、この手法は、遅延やその他の設計上の制約のため実際的ではないかもしれない。もう一つの手法は、エラーが検出された場合に古いアーキテクチャ状態が回復されることを許すロールバック機構を加えることである。この手法も、設計の複雑さのため非実際的となるかもしれず、以前の状態からの再実行の結果が、非同期割り込みのような非決定論的なイベントの発生または等能(idempotent)でない出力動作の再実行のために、元の結果と異なるかもしれないという問題に悩まされることがある。
さらに、DMRおよびTMRは実際にはエラーレートを上げてしまうことがありうる。その実装がソフトエラーを受ける追加的な回路を必要とするため、そして普通なら検出されずにすまされるがシステム障害には至らなかったようなエラーをも検出しうるためである。たとえば、プログラムのどの分枝が投機的に実行されるべきかを予測するのに使われる構造にエラーがあると誤った予測になりうるが、プロセッサは分岐条件が最終的に評価されるときに自動的に回復するはずである。
本発明は、付属の図面において限定ではなく例として図解されている。
以下では、ロックステップ式二重化モジュール冗長システム(lockstepped dual-modular redundancy system)における訂正不能エラーレートを低減させる装置および方法の実施形態を記述する。以下の記述では、本発明のより包括的な理解を提供するために、要素およびシステム構成といった数多くの個別的詳細が述べられることがあるが、当業者は、そのような個別的な詳細なしでも本発明が実施しうることを認識するであろう。さらに、いくつかのよく知られた構造、回路、技術などは、本発明を無用にかすませることを避けるために述べていない。
DMRはエラーの検出および訂正を与えるために使用されうる。しかしながら、システム障害にはつながらないようなエラーを検出することによってエラーレートを上げてしまうこともある。本発明の諸実施形態は、マイクロチェッカーを使ってそのような「誤った」エラーを検出して、そのようなエラーが無視されうるようにすることによって、DMRシステムにおけるエラーレートの低減を提供しうる。他の諸実施形態は、キャッシュのようなある構造のためのマイクロチェッカーを使うことによってDMRシステムにおけるエラーレートの低減を提供しうる。該構造について値が再生成され、元の値と比較されて、二つのプロセッサのうちのどちらを相手プロセッサの状態に同期させるべきかが決定され、それにより完全なロールバック機構のコストが回避されるのである。本発明のそのような諸実施形態は、DMRの恩恵のいくつか(たとえば、エラー検出および訂正機能)を提供しつつ、欠点のいくつか(たとえば、誤ったエラー、完全な回復機能のコスト)を低減するために望ましいことがありうる。
さらに、本発明の諸実施形態は、パリティーまたは誤り訂正符号機構をもってある種の構造を保護することを回避するために望ましいことがありうる。そうした保護は、コストがかかりうるばかりでなく、アーキテクチャ状態を壊すことのできない構造にとっては不要でもありうる。本発明のある実施形態に基づいてこれらの構造をマイクロチェッカーに接続することは、二つのDMRコアのどちらでエラーが起こったかをパリティーを通じてまたはその他の仕方で決定する必要なく、エラーから回復する機能を提供しうる。
図1は、マルチコア・プロセッサ100における本発明のある実施形態を示している。一般に、マルチコア・プロセッサは二つ以上の実行コアを含んでいる単一の集積回路である。実行コアは、命令を実行するための論理を含む。実行コアに加えて、マルチコア・プロセッサは、本発明の範囲内で、専用または共用資源のいかなる組み合わせを含んでいてもよい。専用資源は、専用のレベル1キャッシュなど単一のコア専用の資源であってもよいし、あるいは複数のコアの任意の部分集合に専用の資源であってもよい。共有資源は、共有されるレベル2キャッシュまたはマルチコア・プロセッサと別のコンポーネントとの間のインターフェースをサポートする共有外部バス・ユニットのようなすべてのコアによって共有される資源であってもよいし、あるいは複数のコアの任意の部分集合によって共有される資源であってもよい。本発明は、マルチコア・プロセッサ以外の装置において、たとえばそれぞれが少なくとも一つのコアをもつ少なくとも二つのプロセッサを有するマルチプロセッサ・システムにおいて具現されてもよい。
マルチコア・プロセッサ100は、コア110およびコア120を含む。コア110および120は、ペンティアム(登録商標)プロセッサ・ファミリー、アイテニアム(登録商標)プロセッサ・ファミリーもしくはインテル・コーポレイションからの他のプロセッサ・ファミリーのプロセッサまたは他の会社からの他のプロセッサといった多様な異なる型のプロセッサのいずれの設計に基づいていてもよい。プロセッサ100は、グローバルチェッカー130およびマイクロチェッカー140をも含む。
グローバルチェッカー130は、比較器回路を用いるなど、DMRシステムにおけるロックステップ・フォールト検出するための任意の既知の技法に基づいて、コア110からの出力をコア120からの出力と比較する。たとえば、コア110および120の出力は、コア110および120があるプログラムの同一のコピーを、同一の入力をもって、同期的に走らせているときに、比較されうる。
コア110は構造111を含む。構造111は、コア110および120がロックステップで動作しているとき、コア120に含まれる対応する構造121からの対応する値に一致すべき値を生成または保持するいかなる回路、論理、機能ブロック、モジュール、ユニットまたはその他の構造であってもよい。
ある実施形態では、構造111および121は、プロセッサ100またはプロセッサ100を含むシステムのアーキテクチャ状態を変更できない構造でありうる。たとえば、構造111および121は、条件分岐予測手段、ジャンプ予測手段、戻りアドレス予測手段またはメモリ依存性予測手段といった予測構造であってもよい。
もう一つの実施形態では、構造111および121は、プロセッサ100を含むシステム中の他のどこかに内容が複製されているか、内容が再生成されうる構造でありうる。たとえば、構造111および121はキャッシュ構造であってもよい。修正されていない各キャッシュ・ラインまたはキャッシュ項目は、より高いレベルのキャッシュまたはシステム内の他のメモリからそのキャッシュ・ラインまたはキャッシュ項目をロードし直すことによって再生成されうる。
マイクロチェッカー140は、構造111からの値を構造121からの対応する値と比較する。種々の実施形態では、比較される値は、構造111および121の性質に依存して変わってよく、たとえば、条件分岐がされるべきかどうかもしくはジャンプが発生すべきかどうかを示す単一のビット、複数ビットの予測された戻りアドレスまたは複数ビットのキャッシュ・ラインまたはキャッシュ項目であってもよい。したがって、マイクロチェッカー140の性質は種々の実施形態において多様でありえ、比較は、排他的論理和ゲートまたは比較器回路など、いかなる既知の技法に基づいて実行されてもよい。
ある実施形態では、マイクロチェッカー140はその比較結果の保持を、少なくともロックステップされたプログラム実行が進んで、グローバルチェッカー130によって検出されたロックステップ・フォールトが、マイクロチェッカー140によって比較された値の間の不一致に帰着され得ない点に達するまで、続けるように構成される。マイクロチェッカー140のこの構成は、たとえばマイクロチェッカーが組み合わせ論理であり、比較された値が少なくとも各ロックステップ・フォールト検出点に達するまで静的なままである場合には、いかなる特別な記憶素子もなしに達成されうる。あるいはマイクロチェッカー140のこの構成は、マイクロチェッカー140の結果を記憶するためのレジスタまたはその他の記憶素子を用いて達成されてもよい。他の実施形態では、マイクロチェッカーは、その比較の結果を保持するよう構成される必要はない。
プロセッサ100は、フォールト論理150をも含む。フォールト論理150はいかなるハードウェア、マイクロコード、プログラム可能論理、プロセッサ抽象化層(processor abstraction layer)、ファームウェア、ソフトウェアまたはグローバルチェッカー130によるロックステップ・フォールトの検出に対するプロセッサ100の応答を支配するその他の論理であってもよい。グローバルチェッカー130によってロックステップ・フォールトが検出されたとき、マイクロチェッカー140が構造111からの値と構造121からの対応する値との間に不一致を検出していた場合には、フォールト論理150はコア110とコア120を、のちに述べるように再同期させる。しかしながら、マイクロチェッカー140が構造111からの値と構造121からの対応する値との間に不一致を検出していなかった場合には、フォールト論理150は、フォールト・コードを報告して動作を止めるなど、システム障害を示すための任意の既知の手法に従って訂正不能エラーの検出を示す。
図1はコア110内の構造111およびコア120内の構造121だけをマイクロチェッカー140に入力を与えるものとして示しているが、本発明の範囲内で、構造およびマイクロチェッカーはいくつ使用されてもよい。たとえば、図2は、コアごとに複数の構造、単一のマイクロチェッカーおよびコアをまたがる(cross-core)帯域幅を減らすためのフィンガープリント論理を使う、本発明の実施形態を示している。
図2では、プロセッサ200は、コア210および220、グローバルチェッカー230、マイクロチェッカー240およびフォールト論理250を含む。コア210は構造211、213および215を含み、プロセッサ・コア220は構造221、223および225を含む。
構造211は、構造213および215からの値に基づくフィンガープリントを生成するためのフィンガープリント論理212を含んでいる。ここで、構造213および215は、図1の構造111に関して上記したいかなる構造であってもよい。同様に、構造221は、構造223および225からの値に基づくフィンガープリントを、フィンガープリント論理212によって使用されるのと同じ手法に従って生成するためのフィンガープリント論理222を含んでいる。
フィンガープリント論理212およびフィンガープリント論理222は、巡回冗長検査手段を使ったチェックサムの生成など、二つ以上の値を単一の値に組み合わせるいかなる既知の手法で実装されてもよい。フィンガープリント論理212およびフィンガープリント論理222は、構造213と223のために一つのマイクロチェッカー、構造215と225のために別のマイクロチェッカーを使う代わりに、マイクロチェッカー240が構造213と223の間および構造215と225の間の不一致を検出しうるよう、使用されうる。
フィンガープリント論理212およびフィンガープリント論理222はまた、コアをまたがる帯域幅を減らすためにも使用されうる。たとえば、フィンガープリント論理212は、構造213と215からの値を、フィンガープリント論理212の出力におけるビット数が二つの値のビット数の合計より小さくなるように組み合わせるために使用されうる。いくつかの実施形態では、フィンガープリント論理212が入力のあらゆる組み合わせについて一意的な値を出力することが望ましいことがありうるものの、他の実施形態では、マイクロチェッカー240の各入力に接続されるビット数の低減と引き換えに、マイクロチェッカー240からの精度が100%に満たなくても受け容れることが望ましいことがありうる。マイクロチェッカー240の100%に満たない精度を受け容れ可能なのは、マイクロチェッカー240が訂正可能なロックステップ障害を検出しそこなうことは、訂正不能なロックステップ障害と解釈されることになり、正しいロックステップ動作と解釈されるわけではないからである。正しいロックステップ動作と解釈されてしまうと、システムの腐敗につながりうる。
図3は、図1のプロセッサ100を含むロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートを低減させるための方法300における、本発明のある実施形態を示している。ここでは、構造111および121は、アーキテクチャ状態を変更できない構造、たとえば予測構造である。
ボックス310では、コア110および120はロックステップで動作している。ボックス311では、構造111が第一の値を生成し、構造121が第二の値を生成する。第一の値は第二の値に一致していても、一致していなくてもよい。ボックス320では、マイクロチェッカー140が構造111および121からの値を比較する。ボックス330では、ボックス320における比較の結果が保存される。
ボックス331では、コア110は、構造111によって生成された値に基づいて第一の命令を実行し、コア120は、構造121によって生成された値に基づいて第二の命令を実行する。第一および第二の命令は同じ命令であってもよいし、なくてもよい。第一および第二の値は、条件分岐予測、ジャンプ予測、戻りアドレス予測、メモリ依存性予測またはアーキテクチャ状態を変更できない他の任意の予測の結果を示すことによって、どの命令(単数または複数)が実行されるかを決定するための基礎となりうる。
ボックス331から、方法300はボックス340に直接進むか、あるいはコア110および120が任意個の追加的な命令を実行したのちにボックス340に進む。
ボックス340では、グローバルチェッカー130がコア110および120からの出力を比較する。出力が一致すれば、コア110および120のロックステップ動作は、ボックス330で保存された結果に関わりなく、いかなるエラー訂正、回復または通知技法によっても影響されずに、ボックス310で続けられる。しかしながら、グローバルチェッカー130がボックス340でロックステップ・フォールトを検出する場合、方法300はボックス350に続く。
ボックス350から、ボックス330で保存された結果が、構造111からの値が構造121からの値に一致することを示している場合には、方法300はボックス360に進む。ボックス360では、フォールト論理150は、たとえばフォールト・コードを報告してシステムを停止させることによって、訂正不能エラーの検出を示す。
ボックス350から、ボックス330で保存された結果が、構造111および121からの値の間の不一致を示している場合には、方法300はボックス370に進む。ボックス370では、フォールト論理150は、コア110および120の再同期を引き起こす。この再同期は、コア110のアーキテクチャ状態をコア120のアーキテクチャ状態に一致するよう変えるか、逆にコア120のアーキテクチャ状態をコア110のアーキテクチャ状態に一致するよう変えることによって達成されうる。
図4は、図1のプロセッサ100を含むロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートを低減させるための方法400における、本発明のある実施形態を示している。ここでは、構造111および121は、内容がシステム内の他のどこかに複製されている、あるいは内容が再生成されうる、キャッシュなどの構造である。
ボックス410では、コア110および120はロックステップで動作している。ボックス411では、構造111内の修正されていないキャッシュ・ラインへのロードを引き起こす命令がコア110によって実行され、構造121内の修正されていないキャッシュ・ラインへは第二の値を生成する。ボックス411から、方法400はボックス420に直接進むか、あるいはコア110および120が任意個の追加的な命令を実行したのちにボックス420に進む。
ボックス420では、マイクロチェッカー140が構造111からの値、たとえばボックス411でロードされたキャッシュ・ラインを、構造121からの値、たとえばボックス411でロードされたキャッシュ・ラインと比較する。ボックス430では、ボックス420における比較結果が保存される。
ボックス430から、方法400はボックス440に直接進むか、あるいはコア110および120が任意個の追加的な命令を実行したのちにボックス440に進む。
ボックス440では、グローバルチェッカー130がコア110および120からの出力を比較する。出力が一致すれば、コア110および120のロックステップ動作は、ボックス430で保存された結果に関わりなく、いかなるエラー訂正、回復または通知技法によっても影響されずに、ボックス410で続けられる。しかしながら、グローバルチェッカー130がボックス440でロックステップ・フォールトを検出する場合、方法400はボックス450に続く。
ボックス450から、ボックス430で保存された結果が、構造111からの値が構造121からの値に一致することを示している場合には、方法400はボックス460に進む。ボックス460では、フォールト論理150は、たとえばフォールト・コードを報告してシステムを停止させることによって、訂正不能エラーの検出を示す。
ボックス450から、ボックス430で保存された結果が、構造111および121からの値の間の不一致を示している場合には、方法400はボックス470に進む。ボックス470では、フォールト論理150は、コア110および120の再同期を引き起こす。
ボックス470では、構造111および121からの値がシステム中の他のどこかでみつけられ、あるいは他の仕方で、たとえばボックス411でロードされたキャッシュ・ラインを再ロードすることによって再生成される。再生成された単数の値(たとえば、その値の単一のコピーがシステム内で複製されている場所から得られる場合)または複数の値(たとえば、構造ごとにその値の一つのコピーが、システム内で複製されて得られる場合)は、単数または複数のレジスタに、あるいは単数または複数の他の位置にロードされうる。そうした場所は、構造111および121からの値との比較のために設けられる。あるいはまた、構造111および121からの値が、たとえばボックス411で実行された命令を再実行することによって得られることがありうる再生成された単数または複数の値との比較のために設けられたレジスタまたはその他の位置に移されてもよい。
ボックス471では、再生成された単数または複数の値が、構造111および121からの値と比較される。再生成された値が構造111からの値に一致すれば、ボックス472で、コア120がコア110に同期させられる。それはたとえば、コア120のアーキテクチャ状態をコア110のアーキテクチャ状態に一致するように変えることによってできる。再生成された値が構造121からの値に一致すれば、ボックス473で、コア110がコア120に同期させられる。それはたとえば、コア110のアーキテクチャ状態をコア120のアーキテクチャ状態に一致するように変えることによってできる。ボックス472およびボックス473から、方法400はボックス410に戻る。
図5は、図2のプロセッサ200を含むロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートを低減させるための方法500における、本発明のある実施形態を示している。
ボックス510では、コア210および220はロックステップで動作している。ボックス511では、構造213がある値を生成し、構造223がある値を生成する。構造213からの値は構造223からの値に一致していても、一致していなくてもよい。ボックス512では、構造215がある値を生成し、構造225がある値を生成する。構造215からの値は構造225からの値に一致していても、一致していなくてもよい。
ボックス513では、構造211は、構造213および215からの値に基づいてフィンガープリント値を生成し、構造221は、構造223および225からの値に基づいてフィンガープリント値を生成する。フィンガープリント値は、巡回冗長検査手段を使ったチェックサムの生成など、値を組み合わせるいかなる既知の技法に従って生成されてもよい。
ボックス520では、マイクロチェッカー240は構造211および221からのフィンガープリント値を比較する。ボックス530では、ボックス520での比較結果が保存される。
ボックス540では、グローバルチェッカー230はコア210および220からの出力を比較する。出力が一致すれば、コア210および220のロックステップ動作は、ボックス530で保存された結果に関わりなく、いかなるエラー訂正、回復または通知技法によっても影響されずに、ボックス510で続けられる。しかしながら、グローバルチェッカー230がボックス540でロックステップ・フォールトを検出する場合、方法500はボックス550に続く。
ボックス550から、ボックス530で保存された結果が、構造211からのフィンガープリント値が構造221からのフィンガープリント値に一致することを示している場合には、方法500はボックス560に進む。ボックス560では、フォールト論理250は、たとえばフォールト・コードを報告してシステムを停止させることによって、訂正不能エラーの検出を示す。
ボックス550から、ボックス530で保存された結果が、構造211および221からの値の間の不一致を示している場合には、方法500はボックス570に進む。ボックス570では、フォールト論理250は、コア210および220の再同期を引き起こす。この再同期は、コア210のアーキテクチャ状態をコア220のアーキテクチャ状態に一致するよう変えるか、逆にコア220のアーキテクチャ状態をコア210のアーキテクチャ状態に一致するよう変えることによって達成されうる。
本発明の範囲内で、図3、図4および図5に示された方法は、異なる順序で実行されたり、図示されたステップが省略されて実行されたり、追加ステップが加えられて実行されたり、あるいは並べ替え、組み合わせ、省略もしくは追加ステップの組み合わせを使って実行されたりしてもよい。たとえば、ボックス330、430または530(マイクロチェッカーの比較の結果を保存)は、それぞれボックス350、450または550(マイクロチェッカーの比較の結果を調べる)が実行されるまでマイクロチェッカーの出力が静的のままであるなら省略されてもよい。
ボックス330(マイクロチェッカーの比較の結果を保存)を省略してもよい方法の他の例は、マイクロチェッカーの出力が保持される必要のない本発明の実施形態である。一つのそのような実施形態では、方法は、ボックス320のマクロチェッカー比較から、マイクロチェッカー比較に基づくボックス350の判断へ進みうる(あるいは、ボックス320と350を合体させてもよい)。この実施形態では、マイクロチェッカーが(320か350で)不一致を検出する場合、プロセッサの既存の分岐誤予測回復機構が使われ、投機的な状態を捨て(flush)、よってボックス370でコアを非投機的な状態に同期させる。マイクロチェッカーが不一致を検出しない場合、この実施形態の方法は、予測に基づいて命令を実行するためにボックス331に進み、次いでグローバルチェッカーがロックステップ・フォールトがあるかどうかチェックするためにボックス340に進み、次いでロックステップ・フォールトが検出された場合、回復不能エラーを示すためにボックス360に進みうる。
図6は、ロックステップ式二重化モジュール冗長システム600における本発明の実施形態を示している。システム600は、マルチコア・プロセッサ610およびシステム・メモリ620を含んでいる。プロセッサ610は図1および図2について前記したようないかなるプロセッサであってもよい。システム・メモリ620は、半導体ベースのスタティックもしくはダイナミック・ランダム・アクセス・メモリ、半導体ベースのフラッシュメモリもしくは読み出し専用メモリまたは磁気もしくは光ディスク・メモリといったいかなる型のメモリであってもよい。プロセッサ610とシステム・メモリ620は、いかなる配置で、いかなる組み合わせのバスまたは直接もしくはポイントツーポイント接続を用いて、他のいかなるコンポーネントを通じて互いに結合されていてもよい。システム600はまた、周辺バス(peripheral bus)のようないかなるバスを含んでいてもよく、入出力デバイスのような図6に示されないコンポーネントを含んでいてもよい。
システム600では、システム・メモリ620は、上記のように、構造111、121、213、215、223および225といった構造にロードされうる値を保存するために使用されうる。したがって、システム・メモリ620は、たとえば図4のボックス470に示されるような本発明の方法実施形態に基づく複製または再生成された値のソースであってもよい。
プロセッサ100、プロセッサ200または本発明のある実施形態にしたがって設計された他の任意のコンポーネントもしくはコンポーネントの一部は、創造からシミュレーション、そして製造へとさまざまな段階で設計〔デザイン〕されうる。設計を表すデータは設計をいくつかの仕方で表現しうる。第一に、シミュレーションで有用であるように、ハードウェア記述言語または別の機能記述言語を使ってハードウェアを表現してもよい。追加的または代替的に、論理および/またはトランジスタ・ゲートをもつ回路レベル・モデルが設計プロセスの何らかの段階で生成されてもよい。さらに、たいていの設計は、何らかの段階で、さまざまなデバイスの物理的な配置を表すデータを用いてモデル化されうるレベルに達する。通常の半導体製造技法が使われる場合は、デバイス配置モデルを表現するデータは、集積回路を生産するために使用されるマスクのための種々のマスク層上のさまざまな特徴の存在または不在を指定するデータでありうる。
設計のいかなる表現でも、データはいかなる形の機械可読媒体に記憶されてもよい。そのような情報を伝送するために変調されるかその他の仕方で生成されるかした光波または電気的な波、メモリまたはディスクのような磁気もしくは光記憶媒体が前記機械可読媒体でありうる。これらの媒体のいずれも、前記設計を、あるいは本発明の実施形態で使用される、誤り回復ルーチン内の命令といった他の情報を、「担持」または「指示」しうる。情報を指示または担持する電気的搬送波が伝送されるとき、該電気信号のコピー、バッファリングまたは再送信が実行される限りにおいて、新たなコピーが作られる。こうして、通信プロバイダーまたはネットワーク・プロバイダーの動作は、本発明の諸技法を具現する物品、たとえば搬送波のコピーを作成する動作でありうる。
こうして、ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートを低減させる装置および方法が開示された。ある種の実施形態を記述し、付属の図面に示してきたが、そのような実施形態が広い本発明を単に解説するものであって制限するものでないこと、そして本発明が図示され記述された個別的な構築および構成に限定されないことは理解しておくべきである。というのも、本開示を研究すれば当業者にはさまざまなその他の修正が思いつくことがありうるからである。成長が速く、さらなる進歩が簡単には予見できないこのような技術の分野では、開示された実施形態は、本開示の原則や付属の特許請求の範囲から外れることなく、実施を可能にする技術的進歩によって容易にされるように、構成および詳細においてすぐ修正可能でありうる。
マルチコア・プロセッサにおける本発明のある実施形態を示す図である。 コアをまたがる帯域幅を減らすためにマイクロチェック・フィンガープリント論理を使う、本発明のある実施形態を示す図である。 ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートを低減させるための方法における、本発明のある実施形態を示す図である。 ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートを低減させるための方法における、本発明のもう一つの実施形態を示す図である。 ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートを低減させるための方法における、本発明のもう一つの実施形態を示す図である。 ロックステップ式二重化モジュール冗長システムにおける本発明のある実施形態を示す図である。

Claims (19)

  1. 第一の構造を含む第一のコアと;
    第二の構造を含む第二のコアと;
    第一の構造からの第一の値が第二の構造からの第二の値に一致するかどうかを検出するマイクロチェッカーと;
    第一のコアと第二のコアの間のロックステップ障害を検出するグローバルチェッカーと;
    グローバルチェッカーがロックステップ障害を検出し、かつマイクロチェッカーが第一の値と第二の値の間の不一致を検出する場合には、第一のコアと第二のコアを再同期させるフォールト論理とを有する装置。
  2. 前記マイクロチェッカーが前記第一の値と前記第二の値を比較する比較器を含む、請求項1記載の装置。
  3. 前記グローバルチェッカーが前記第一のコアの第一の出力と前記第二のコアの第二の出力を比較する比較器を含む、請求項1記載の装置。
  4. 前記フォールト論理がさらに、前記グローバルチェッカーがロックステップ障害を検出し、かつ前記マイクロチェッカーが前記第一の値が前記第二の値に一致することを検出する場合に、訂正不能エラーの検出を示す、請求項1記載の装置。
  5. 前記第一のコアが第三の構造および第四の構造をも含んでおり;
    前記第二のコアが第五の構造および第六の構造をも含んでおり;
    前記第一の構造が、前記第三の構造からの第三の値および前記第四の構造からの第四の値に基づいて前記第一の値を生成する第一のフィンガープリント論理を含んでおり;
    前記第二の構造が、前記第五の構造からの第五の値および前記第六の構造からの第六の値に基づいて前記第二の値を生成する第二のフィンガープリント論理を含んでいる、
    請求項1記載の装置。
  6. 前記第一のコアのアーキテクチャ状態は前記第一の値とは独立であり;
    前記第二のコアのアーキテクチャ状態は前記第二の値とは独立である、
    請求項1記載の装置。
  7. 前記第一の構造が第一の予測構造であり;
    前記第二の構造が第二の予測構造である、
    請求項6記載の装置。
  8. 前記フォールト論理がさらに、前記グローバルチェッカーがロックステップ障害を検出し、かつ前記マイクロチェッカーが不一致を検出する場合に、前記第一の値と前記第二の値を再生成させる、請求項1記載の装置。
  9. 前記第一の構造が第一のキャッシュであり;
    前記第一の結果が第一のキャッシュ項目であり;
    前記第二の構造が第二のキャッシュであり;
    前記第二の結果が第二のキャッシュ項目である、
    請求項8記載の装置。
  10. 前記フォールト論理がさらに、前記グローバルチェッカーがロックステップ障害を検出し、かつ前記マイクロチェッカーが不一致を検出する場合に、前記第一のキャッシュ項目と前記第二のキャッシュ項目を再ロードさせる、請求項9記載の装置。
  11. 第一のコア内の第一の構造からの第一の値が第二のコア内の第二の構造からの第二の値に一致するかどうかを検査する段階と;
    第一のコアと第二のコアの間のロックステップ障害を検出する段階と;
    前記第一の値と前記第二の値の間に不一致が検出される場合には、前記第一のコアと前記第二のコアを再同期させる段階とを有する方法。
  12. 前記第一の値が前記第二の値に一致する場合には、訂正不能エラーの検出を示すことをさらに含む、請求項11記載の方法。
  13. 前記第一のコア内の第三の構造からの第三の値および前記第一のコア内の第四の構造からの第四の値に基づいて前記第一の値を生成する段階と;
    前記第二のコア内の第五の構造からの第五の値および前記第二のコア内の第六の構造からの第六の値に基づいて前記第二の値を生成する段階をさらに有する、
    請求項12記載の方法。
  14. 前記第一の値を生成する段階が、前記第三の値および前記第四の値に基づいてチェックサムを生成することを含んでおり;
    前記第二の値を生成する段階が、前記第五の値および前記第六の値に基づいてチェックサムを生成することを含んでいる、
    請求項13記載の方法。
  15. ある第一の命令が前記第一のコアによって実行されるべきかどうかを前記第一の値に基づいて予測する段階と;
    ある第二の命令が前記第二のコアによって実行されるべきかどうかを前記第二の値に基づいて予測する段階とを有する、請求項11記載の方法。
  16. 前記不一致が検出される場合、前記第一の値および前記第二の値を再生成することをさらに含む、請求項11記載の方法。
  17. 前記第一の値を前記再生成された第一の値と比較し;
    前記第二の値を前記再生成された第二の値と比較し;
    前記第二の値が前記再生成された第二の値に一致する場合、前記第一のコアを前記第二のコアに同期させ;
    前記第一の値が前記再生成された第一の値に一致する場合、前記第二のコアを前記第一のコアに同期させる、
    ことを含む、請求項16記載の方法。
  18. 前記第一の構造が第一のキャッシュであり、前記第一の値が第一のキャッシュ項目であり、前記第二の構造が第二のキャッシュであり、前記第二の値が第二のキャッシュ項目であり、前記第一の値および前記第二の値を再生成する段階が、前記第一のキャッシュ項目および前記第二のキャッシュ項目を再ロードすることを含む、請求項16記載の方法。
  19. ダイナミック・ランダム・アクセス・メモリと;
    第一の構造を含む第一のコアと;
    第二の構造を含む第二のコアと;
    第一の構造からの第一の値が第二の構造からの第二の値に一致するかどうかを検出するマイクロチェッカーと;
    第一のコアと第二のコアの間のロックステップ障害を検出するグローバルチェッカーと;
    グローバルチェッカーがロックステップ障害を検出し、かつマイクロチェッカーが第一の値と第二の値の間の不一致を検出する場合には、第一のコアと第二のコアを再同期させるフォールト論理とを有するシステム。
JP2008519683A 2005-06-30 2006-06-29 ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートの低減 Expired - Fee Related JP4795433B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/173,835 2005-06-30
US11/173,835 US7747932B2 (en) 2005-06-30 2005-06-30 Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system
PCT/US2006/025959 WO2007005818A2 (en) 2005-06-30 2006-06-29 Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system

Publications (2)

Publication Number Publication Date
JP2009501367A true JP2009501367A (ja) 2009-01-15
JP4795433B2 JP4795433B2 (ja) 2011-10-19

Family

ID=37605123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008519683A Expired - Fee Related JP4795433B2 (ja) 2005-06-30 2006-06-29 ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートの低減

Country Status (6)

Country Link
US (1) US7747932B2 (ja)
JP (1) JP4795433B2 (ja)
CN (1) CN100578462C (ja)
DE (1) DE112006001652T5 (ja)
RU (1) RU2385484C2 (ja)
WO (1) WO2007005818A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023503990A (ja) * 2019-11-26 2023-02-01 シーメンス インダストリー ソフトウェア インコーポレイテッド ロックステップで動作するプロセッサのモニタリング

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1807760B1 (de) * 2004-10-25 2008-09-17 Robert Bosch Gmbh Datenverarbeitungssystem mit variabler taktrate
US7581152B2 (en) * 2004-12-22 2009-08-25 Intel Corporation Fault free store data path for software implementation of redundant multithreading environments
US7743285B1 (en) * 2007-04-17 2010-06-22 Hewlett-Packard Development Company, L.P. Chip multiprocessor with configurable fault isolation
US8817597B2 (en) * 2007-11-05 2014-08-26 Honeywell International Inc. Efficient triple modular redundancy on a braided ring
US8117512B2 (en) * 2008-02-06 2012-02-14 Westinghouse Electric Company Llc Failure detection and mitigation in logic circuits
US8037350B1 (en) * 2008-04-30 2011-10-11 Hewlett-Packard Development Company, L.P. Altering a degree of redundancy used during execution of an application
US8171328B2 (en) * 2008-12-31 2012-05-01 Intel Corporation State history storage for synchronizing redundant processors
US8745440B1 (en) * 2010-09-21 2014-06-03 F5 Networks, Inc. Computer-implemented system and method for providing software fault tolerance
GB2507202B (en) 2011-04-11 2014-11-19 Bluecava Inc Thick client and thin client integration
EP2533154B1 (en) 2011-06-09 2015-08-12 Westinghouse Electric Company LLC Failure detection and mitigation in logic circuits
US9500705B2 (en) * 2013-08-28 2016-11-22 Wisconsin Alumni Research Foundation Integrated circuit providing fault prediction
CN104731666B (zh) * 2013-12-23 2017-12-08 深圳市国微电子有限公司 一种抗单粒子翻转的自纠错集成电路及其纠错方法
US10761925B2 (en) * 2015-03-24 2020-09-01 Nxp Usa, Inc. Multi-channel network-on-a-chip
EP3085596B1 (en) * 2015-04-20 2017-11-29 Autoliv Development AB A vehicle safety electronic control system
FR3037158B1 (fr) * 2015-06-05 2018-06-01 Thales Surveillance de trajectoire
EP3118694A1 (de) * 2015-07-13 2017-01-18 Siemens Aktiengesellschaft Verfahren zum betreiben eines redundanten automatisierungssystems und redundantes automatisierungssystem
KR101651370B1 (ko) * 2015-08-26 2016-08-26 한국항공우주연구원 추력기의 구동 제어방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
DE102015218898A1 (de) * 2015-09-30 2017-03-30 Robert Bosch Gmbh Verfahren zur redundanten Verarbeitung von Daten
CN105630732B (zh) * 2015-12-17 2018-09-14 西北工业大学 一种双模冗余微处理器的热切换方法
US10089194B2 (en) * 2016-06-08 2018-10-02 Qualcomm Incorporated System and method for false pass detection in lockstep dual core or triple modular redundancy (TMR) systems
KR101923778B1 (ko) * 2016-11-22 2018-11-29 연세대학교 산학협력단 듀얼 모듈러 리던던시 및 오류 예측을 이용한 고성능 컴퓨팅 장치 및 그 방법
US10740167B2 (en) * 2016-12-07 2020-08-11 Electronics And Telecommunications Research Institute Multi-core processor and cache management method thereof
KR102376396B1 (ko) * 2016-12-07 2022-03-21 한국전자통신연구원 멀티 코어 프로세서 및 그것의 캐시 관리 방법
KR102377729B1 (ko) * 2016-12-08 2022-03-24 한국전자통신연구원 멀티 코어 프로세서 및 그것의 동작 방법
US10429919B2 (en) 2017-06-28 2019-10-01 Intel Corporation System, apparatus and method for loose lock-step redundancy power management
US10303566B2 (en) * 2017-07-10 2019-05-28 Arm Limited Apparatus and method for checking output data during redundant execution of instructions
WO2020016964A1 (ja) * 2018-07-18 2020-01-23 サンケン電気株式会社 マルチコアシステム
US10831628B2 (en) 2018-12-12 2020-11-10 Intel Corporation Hardware lockstep checking within a fault detection interval in a system on chip
CN111104243B (zh) * 2019-12-26 2021-05-28 江南大学 一种低延迟的双模lockstep容软错误处理器系统
EP3869338A1 (en) 2020-02-18 2021-08-25 Veoneer Sweden AB A vehicle safety electronic control system
US11733972B2 (en) 2020-10-06 2023-08-22 Ventana Micro Systems Inc. Processor that mitigates side channel attacks by providing random load data as a result of execution of a load operation that does not have permission to access a load address
US11797673B2 (en) 2020-08-27 2023-10-24 Ventana Micro Systems Inc. Processor that mitigates side channel attacks by expeditiously initiating flushing of instructions dependent upon a load instruction that causes a need for an architectural exception
US11868469B2 (en) * 2020-08-27 2024-01-09 Ventana Micro Systems Inc. Processor that mitigates side channel attacks by preventing all dependent instructions from consuming architectural register result produced by instruction that causes a need for an architectural exception
US11907369B2 (en) 2020-08-27 2024-02-20 Ventana Micro Systems Inc. Processor that mitigates side channel attacks by preventing cache memory state from being affected by a missing load operation by inhibiting or canceling a fill request of the load operation if an older load generates a need for an architectural exception
US11853424B2 (en) 2020-10-06 2023-12-26 Ventana Micro Systems Inc. Processor that mitigates side channel attacks by refraining from allocating an entry in a data TLB for a missing load address when the load address misses both in a data cache memory and in the data TLB and the load address specifies a location without a valid address translation or without permission to read from the location
US11734426B2 (en) 2020-10-06 2023-08-22 Ventana Micro Systems Inc. Processor that mitigates side channel attacks by prevents cache line data implicated by a missing load address from being filled into a data cache memory when the load address specifies a location with no valid address translation or no permission to read from the location
CA3136322A1 (en) 2020-12-02 2022-06-02 The Boeing Company Debug trace streams for core synchronization
US11892505B1 (en) 2022-09-15 2024-02-06 Stmicroelectronics International N.V. Debug and trace circuit in lockstep architectures, associated method, processing system, and apparatus
CN118035006B (zh) * 2024-04-12 2024-06-18 西北工业大学 一种三核处理器独立和锁步运行可动态配置的控制系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748873A (en) * 1992-09-17 1998-05-05 Hitachi,Ltd. Fault recovering system provided in highly reliable computer system having duplicated processors
JP3156429B2 (ja) * 1993-03-17 2001-04-16 株式会社日立製作所 高信頼型計算機用システム制御lsi及びそれを用いたコンピュータシステム
US5790776A (en) * 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements
US5604754A (en) * 1995-02-27 1997-02-18 International Business Machines Corporation Validating the synchronization of lock step operated circuits
CA2240932C (en) * 1995-12-18 2002-03-26 Elsag International N.V. Processor independent error checking arrangement
JPH10261762A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd メモリを内蔵した多重化マイクロコントローラ
US6115365A (en) * 1998-07-30 2000-09-05 Motorola, Inc. Method and apparatus for queuing and transmitting messages
JP2000298594A (ja) * 1999-04-13 2000-10-24 Nec Corp フォールトトレラント制御方法および冗長コンピュータシステム
US6615366B1 (en) 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6604177B1 (en) * 2000-09-29 2003-08-05 Hewlett-Packard Development Company, L.P. Communication of dissimilar data between lock-stepped processors
US6772368B2 (en) 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
US6938183B2 (en) * 2001-09-21 2005-08-30 The Boeing Company Fault tolerant processing architecture
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US7055060B2 (en) 2002-12-19 2006-05-30 Intel Corporation On-die mechanism for high-reliability processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023503990A (ja) * 2019-11-26 2023-02-01 シーメンス インダストリー ソフトウェア インコーポレイテッド ロックステップで動作するプロセッサのモニタリング
JP7381752B2 (ja) 2019-11-26 2023-11-15 シーメンス インダストリー ソフトウェア インコーポレイテッド ロックステップで動作するプロセッサのモニタリング
US11928007B2 (en) 2019-11-26 2024-03-12 Siemens Industry Software Inc. Monitoring processors operating in lockstep

Also Published As

Publication number Publication date
CN101213522A (zh) 2008-07-02
CN100578462C (zh) 2010-01-06
RU2007147000A (ru) 2009-08-10
DE112006001652T5 (de) 2008-05-08
RU2385484C2 (ru) 2010-03-27
WO2007005818A3 (en) 2007-05-10
WO2007005818A2 (en) 2007-01-11
JP4795433B2 (ja) 2011-10-19
US20070022348A1 (en) 2007-01-25
US7747932B2 (en) 2010-06-29

Similar Documents

Publication Publication Date Title
JP4795433B2 (ja) ロックステップ式二重化モジュール冗長システムにおける訂正不能エラーレートの低減
CN111164578B (zh) 核内锁步模式的错误恢复
KR101546033B1 (ko) Smt 기계에서 비교 및 전달 명령어를 사용한 안정적 실행
US20060156177A1 (en) Method and apparatus for recovering from soft errors in register files
US20070168768A1 (en) ECC coding for high speed implementation
US8484508B2 (en) Data processing apparatus and method for providing fault tolerance when executing a sequence of data processing operations
JP2011509490A (ja) 論理エラー保護のためのハイブリッド冗長性を備えたプロセッサ
US20170337047A1 (en) Methods, Apparatuses, and Systems for Zero Silent Data Corruption (ZDC) Compiler Technique
US9594648B2 (en) Controlling non-redundant execution in a redundant multithreading (RMT) processor
Anjankar et al. FPGA based multiple fault tolerant and recoverable technique using triple modular redundancy (FRTMR)
US20090249174A1 (en) Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage
Nathan et al. Nostradamus: Low-cost hardware-only error detection for processor cores
US10185635B2 (en) Targeted recovery process
Walker et al. Static typing for a faulty lambda calculus
US10002057B2 (en) Method and apparatus for managing mismatches within a multi-threaded lockstep processing system
Ding et al. More: Model-based redundancy for simulink
CN115080315A (zh) 故障检测及处理方法、装置、处理器及电子设备
Nezzari et al. ACEDR: Automatic compiler error detection and recovery for COTS CPU and caches
Nezzari et al. Modelling processor reliability using LLVM compiler fault injection
Singh et al. Single event upset detection and correction
CN115698953A (zh) 用于锁步处理器中的自动恢复的系统和方法
Haas Fault-tolerant execution of parallel applications on x86 multi-core processors with hardware transactional memory
Reis III Software modulated fault tolerance
Lisboa et al. Online hardening of programs against SEUs and SETs
Briggs et al. FailAmp: Relativization transformation for soft error detection in structured address generation

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

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110727

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees