JP2011175641A - 時間的に分離した冗長プロセッサの実行を使用しての周辺機器への読み書き - Google Patents

時間的に分離した冗長プロセッサの実行を使用しての周辺機器への読み書き Download PDF

Info

Publication number
JP2011175641A
JP2011175641A JP2011036967A JP2011036967A JP2011175641A JP 2011175641 A JP2011175641 A JP 2011175641A JP 2011036967 A JP2011036967 A JP 2011036967A JP 2011036967 A JP2011036967 A JP 2011036967A JP 2011175641 A JP2011175641 A JP 2011175641A
Authority
JP
Japan
Prior art keywords
processor
data
peripheral
register
read
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
JP2011036967A
Other languages
English (en)
Other versions
JP5341928B2 (ja
Inventor
Simon Brewerton
ブルーアートン サイモン
Glenn Ashley Farrall
アシュレイ ファラル グレン
Stuart Hastie Neil
スチュアート ヘイスティー ニール
Richard Knight
ナイト リチャード
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of JP2011175641A publication Critical patent/JP2011175641A/ja
Application granted granted Critical
Publication of JP5341928B2 publication Critical patent/JP5341928B2/ja
Active 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1497Details of time redundant execution on a single processing 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/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

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)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)

Abstract

【課題】時間的に分離した冗長プロセッサの実行を使用して周辺機器への読み書きを高安全に提供する。
【解決手段】第1のプロセッサにより周辺機器からデータを読み取りレジスタにコピーし、時間的に分離した第2のプロセッサによる前記周辺機器からの読み取り試行を前記レジスタに迂回させレジスタから前記データを読み取ることにより、読み取りデータが同じであることが保証される。実施形態を、自動車、銀行金融、航空宇宙、防衛、インターネット決済等に関連する安全が関連する用途に利用することができる。
【選択図】図1

Description

本発明は、一般的には安全システムに関し、特に、高安全性または高信頼性システムに対する適用可能性を有する、時間的に分離した冗長プロセッサ命令の実行に関する。
高信頼性ソフトウェアは、広範囲の様々な用途で一般的になっている。例えば、多くの自動車、銀行、航空宇宙、防衛、インターネット決済、および他の用途が、冗長性、多様性、またはこれら両方によって安全な動作の確認を必要とするあるクリティカルパスを有する。
クリティカルパスの安全な動作を保証する一般的な手法は、2つのアルゴリズムを計算し、独立した比較器を使用して一貫性または妥当性に関して結果を比較する。一般に、これは、2つの異なる方法を介して実施されている。第1に、2つ以上の処理チャネルを有するシステムでは、それ自体の処理チャネルで処理される1つのアルゴリズムで同一のアルゴリズムを同時に計算することができ、一貫性に関して結果を比較する。第2に、1つのアクティブ処理チャネルに制限されるシステムでは、2つ(または3つ以上)の異なったアルゴリズムを時間的に分離して計算することができる。これらの結果を一貫性または妥当性に関してクロスチェックする。いずれの手法でも、各実行で同じ符号実行が同じデータに対して実行されることを保証する必要がある。
これらの実施の両方に問題が存在する。特に、インタフェース周辺機器または共有資源に対する読み書きに伴う問題が存在する。物理的に分離した処理ユニットが使用される場合、トランザクションが同時に発行されるため、読み取りデータのハードウェア比較が可能である。1つだけの処理ユニットが読み取りバストランザクションを駆動し、そして他の冗長プロセッサに対する読み取りデータが、共有周辺機器または共有メモリからマスタプロセッサに転送される際、冗長プロセッサによりバスから監視または「スヌーピング」される。同様に、書き込みデータの場合でも、1つだけの処理ユニットがバス自体に接続され、この処理ユニットからアクチュエータ制御インタフェースへの書き込みが行われる。しかし、バスレベルでのこの単一トランザクションに問題がある。読み取りコマンドおよび書き込みコマンドの両方がバスレベルにおいて単一のトランザクションだけであるため、冗長性チェックはプロセッサだけをカバーし、中間ブリッジまたはオンチップ通信基盤を通るセンササブシステムからの読み取りデータまたは書き込みデータの転送は一切カバーしない。
反対に、単一の処理ユニットが使用され、処理動作をチェックするために符号シーケンスが繰り返される場合、読み取りデータまたは書き込みデータの直接のハードウェアとハードウェアとの比較は不可能である。共有資源からの読み取りまたは書き込みからのデータが、1回目の実行時または実行前に、メモリ内の一時領域にコピーされるように、冗長実行に対する符号をわずかに変更しなければならない。アルゴリズムが完了すると、この一時値を、冗長実行値を含むハードウェアレジスタの値と比較することができる。複数のプロセッサの場合と同じ制限がここでも当てはまり得る。読み取りコマンドおよび書き込みコマンドの両方がバスレベルにおいて単一のトランザクションだけであるため、冗長性チェックはプロセッサだけをカバーし、中間ブリッジまたはオンチップ通信基盤を通るセンササブシステムからのデータの読み取りデータまたは書き込みデータの転送は一切カバーしない。さらに、続く比較のために初期コピーをメモリに記録するために、符号シーケンスを変更しなければならないという要件は、プログラマに対して追加の複雑性を生み出すだけならず、時間的に分離した実行が全く同じ命令を実行することを保証することを難しくもする。
実施形態は、周辺機器に対して読み書きを行うシステムおよび方法に関する。1つの実施形態では、方法は、第1のプロセッサにより周辺機器からデータを読み取ること、データをレジスタにコピーすること、第2のプロセッサによる周辺機器の読み取り試行をレジスタに迂回させること、および第2のプロセッサによりレジスタからデータを読み取ることを含む。
1つの実施形態では、方法は、第1のプロセッサによりデータを周辺機器に書き込むこと、ログ装置により第1のプロセッサによるデータ書き込みをログ記録すること、第2のプロセッサにより周辺機器にデータを書き込むことを試みること、ログ装置により第2のプロセッサによるデータ書き込みをログ記録すること、および出力非生成周辺機器への第2のプロセッサによるデータ書き込みを復号化することを含む。
1つの実施形態では、システムは、少なくとも2つのプロセッサのうちの一方がマスタプロセッサである、少なくとも2つのプロセッサと、少なくとも2つのプロセッサのうちの少なくとも一方により読み書きされるように構成された周辺機器と、マスタプロセッサによる周辺機器のデータ読み取りをコピーし、少なくとも2つのプロセッサのうちの他方による迂回された周辺機器読み取り試行に応答して、データ読み取りを少なくとも2つのプロセッサのうちの他方に提供するように構成されたレジスタと、マスタプロセッサによる周辺機器へのデータ書き込みをログ記録し、そのデータ書き込みを少なくとも2つのプロセッサのうちの他方のデータ書き込みと比較するように構成されたアクセスログ装置と、少なくとも2つのプロセッサのうちの他方からリダイレクトされたデータ書き込みを受信するように構成されたヌル応答周辺機器とを備える。
1つの実施形態では、システムは、第1の実行モードおよび第2の実行モードを有するプロセッサと、第1の実行モード中にプロセッサにより読み書きされるように構成された周辺機器と、第1の実行モードのプロセッサによる周辺機器のデータ読み取りをコピーし、読み取り要求に応答して、第2の実行モードのプロセッサにデータ読み取りを提供するように構成されたレジスタと、第1の実行モードのプロセッサによる周辺機器へのデータ書き込みをログ記録し、そのデータ書き込みを第2の実行モードのプロセッサのデータ書き込みと比較するように構成されたアクセスログ装置と、第2の実行モードのプロセッサからリダイレクトされたデータ書き込みを受信するように構成されたヌル応答周辺機器とを備える。
本発明は、添付図面に関連して本発明の各種実施形態の以下の詳細な説明に鑑みてより完全に理解することができる。
1つの実施形態によるマルチプロセッサ安全システムの読み取りモードのブロック図である。 図1の実施形態に関連するフローチャートである。 1つの実施形態によるシングルプロセッサ安全システムの読み取りモードのブロック図である。 1つの実施形態によるマルチプロセッサ安全システムの書き込みモードのブロック図である。 図4の実施形態に関連するフローチャートである。 1つの実施形態によるシングルプロセッサ安全システムの書き込みモードのブロック図である。
本発明は、様々な変更および代替の形態を受け入れることが可能であるが、その詳細が図面中に例として示され、詳細に説明される。しかし、説明される特定の実施形態に本発明を限定する意図がないことを理解されたい。逆に、すべての変更、均等物、および代替が、添付の特許請求の範囲に定義される本発明の主旨および範囲内にあることが意図される。
実施形態は、時間的に分離した冗長実行を利用するロバスト計算中に、インタフェース周辺機器または他の共有資源に対して読み書きを行うシステムおよび方法に関する。実施形態は、自動車、銀行金融、航空宇宙、防衛、インターネット決済等の安全に関連のある用途で利用することができる。「安全」は、自動車システム等の人の安全または物理的な安全ならびに特に銀行金融システム等のセキュリティの文脈を指すことができる。各種実施形態が、デュアル中央処理ユニット(CPU)または他のマルチCPU構成に対する用途を有し得るが、シングルCPU構成用への適応も意図される。シングルCPU構成またはマルチCPU構成は、実施形態では、1つもしくは複数の集積回路および/または1つもしくは複数の集積回路パッケージに集積し得る。
図1を参照して、安全システム構成100のブロック図を示す。システム100は、第1のCPU102および第2のCPU104を備えるが、他の実施形態では、システム100は、任意の数の並列処理ユニットに拡張し得る。さらに、システム100はシングルCPUを備えてもよく、これについてさらに詳細に後述する。ここで考察されるマルチCPUの例は、図1に示されるように、デュアルCPU実施形態の状況であるが、より多数または少数のCPUを有する実施形態に対する制限はない。
CPU102および104は、共有相互接続およびブリッジ106を介して周辺サブシステムに結合される。周辺サブシステムは、センサ、メモリデータ構造等の1つまたは複数の周辺機器108を含む。システム100は、単一の周辺機器108を有して示されるが、他の実施形態は追加の、かつ/または様々な周辺機器108を備え得る。
システム100は、1つの実施形態では、読み取りスヌープ先入れ先出し(FIFO)装置110も備える。動作に際して、CPU102および104は同一の符号シーケンスを実行する。しかし、1つの実施形態では、CPU104は、周辺機器108に対して別個のバストランザクションを生成する。周辺機器108のアクセスログ構成要素がこれらトランザクションを記録し、FIFO110は、読み取りデータがプロセッサに達した際、周辺サブシステムからCPU102および104への読み取りデータが同一であることを保証する能力を提供する。
図2も参照すると、安全な実行および動作を保証するために、処理シーケンス(すなわち、命令、読み取りデータおよび書き込みデータ)が、CPU102およびCPU104による各冗長実行に対して同一であることが望ましい。しかし、従来のロックステップ手法と異なり、実施形態では、命令実行を時間内で分離することができる。202において、各CPU102および104は、プログラムカウンタをシステム100内のその他のCPUのプログラムカウンタと比較して、CPU102または104のいずれが先に、特定の読み取りトランザクションを実行するかを判断する。次に、第1のプロセッサが、プログラムシーケンスでの「マスタプロセッサ」として指定される。本明細書での例では、CPU102がマスタプロセッサとして指定される。1つの実施形態では、マスタプロセッサは永久的に割り当てられる必要はなく、別のCPUがマスタCPUとしてのステータスを引き継ぐことも可能である。
1つの実施形態では、マスタCPU102は、204において、周辺機器108から直接読み取ることができるが、マスタCPU102によるいかなるデータ読み取りも「スヌーピング」され、206において、FIFO110に自動的に書き込まれる。208において、CPU104等の他のプロセッサが、同じ読み取りトランザクションを後に実行する場合、これらの非マスタCPUは、読み取り値がマスタCPU102が読み取ったものと異なり得るため、周辺機器108からの読み取りが阻止される。例えば、周辺機器108がセンサ装置を含む1つの実施形態では、周辺機器108により感知した特性が、マスタCPU102が読み取ってからCPU104が読み取るまでに経過する時間中に変化し得る。非マスタCPUによる周辺機器108からの直接読み取りの阻止は、1つの実施形態では、マスタCPU識別タグに関連するバスサイドバンド信号のCPUハードウェア変更により達成される。このタグは、トランザクションを、周辺機器108から、FIFO110からスヌーピングされた読み取りデータをその後供給する特別なスレーブ装置に迂回すべきバスアドレス復号器を指す。命令ストリームが各CPU102および104に対して同一であることが望ましいため、FIFO110からスヌーピングされたデータを読み取ることにより、読み取りデータが各CPU102および104に対して同じであることが保証される。1つの実施形態では、各CPU102および104は、読み取り命令シーケンス内の各CPUの現在の位置を示すFIFO110内の読み取りポインタを有する。各冗長プロセッサがデータ値を読み取った後、210において、FIFO110内のデータ値を無効化し上書きすることができる。
1つの実施形態では、上述したマスタCPU識別タグを使用して、特定のCPUが現在、冗長モードで動作中であるか否かを示すこともできる。205において、チェックを行うことができる。特定のCPUが冗長モードで動作中ではない場合、システム100は、冗長実行が必要ないモードに切り替わることができ、それにより、212において、FIFO110および特別なバス動作を無効にし、214において、周辺機器108からデータを直接読み取ることができる。
システム100に対するさらなる適応は、シングルCPU実施形態の状況において、システム100がスヌーピングのオンオフを切り替えることを可能とする。図3では、システム300はシングルCPU102を備える。CPU102は、時間的に分離した冗長実行を行うように動作し、2つの実行モード:実モード112およびチェッカーモード114を有する。実モード112では、CPU102はマスタCPUとして動作し、周辺機器108から読み取る。続く時間的に分離した実行において、CPU102は、FIFO110から読み取るために上述した特別なバス挙動を有する非マスタCPUとして、チェッカーモード114で動作する。モード112および114で実行する符号は同一であり、サイドバンドタグ信号が実施されて、CPU102がモード112で動作中であるか、それともモード114で動作中であるかを示す。したがって、CPU102の読み取りモード112およびチェッカーモード114のそれぞれは、周辺機器108から生じる同じデータを取得し、同じ命令シーケンスが実行される。したがって、図3の実施形態は、安全レベルをあまり犠牲にすることなく、より安価な実施を提供することができる。
マルチプロセッサシステムでの周辺機器へのデータの書き込みを参照すると、従来のシステムは通常、データが書き込まれる周辺機器に1つだけのプロセッサが結合された状態で、ロックステップで複数のプロセッサを実行する。そのような構成では、冗長書き込みデータの比較はそのプロセッサに制限され、中間基盤を通るデータの転送をカバーしない。この理由および他の理由により、複数のプロセッサに影響する共通原因故障のリスク増大が、そのようなシステムに存在する。シングルプロセッサシステムにも、後続実行において書き込みアドレスを変更する必要があるなどの欠点が存在する。
図4を参照すると、実施形態では、従来のシングルプロセッサおよびマルチプロセッサの安全システムに関連する欠点を回避しながら、周辺機器に書き込むことも可能である。システム400は上述したシステム100と同様であり、プロセッサ102および104を備えるが、他の実施形態では、任意の数の並列プロセッサを使用することができる。システム100と同様に、CPU102および104は、動作に際して同一の符号シーケンスを実行する。従来のシステムとは対照的に、CPU104は、周辺機器108に対する別個のバストランザクションを生成し、ログ装置116はこれらトランザクションを記録し、各CPU102および104からのトランザクションが、周辺サブシステムに到着した際に同一であることをチェックする能力を提供する。
システム100と同様に、システム400内のCPU102および104により実行される命令は同一でなければならない。しかし、従来のロックステップ手法とは対照的に、各プロセッサによる命令実行を時間的に分離することができる。システム400では、図5も参照すると、周辺機器108への並列プロセッサによる複数の冗長書き込みは時間的に分離され、1つはバスサイドバンド信号により「マスタトランザクション」として識別される。502において、プロセッサのうちの1つはマスタとして指定される。例では、CPU102がマスタCPU102として指定される。
実施形態では、新しい符号が、フレキシブル周辺機器(FPI)アドレスフェーズと共に送信される既存のFPIマスタ識別タグフィールドに使用される。これらの新しい符号は、CPU番号、およびCPUが、504において判断することができる、シグネチャ解析モードで現在動作中であるか否かを含むことができる。506において、バスアドレス復号器は、シグネチャ解析モードにおいて特定のCPUタグ(すなわち、マスタタグ)を有するデータ書き込みだけが周辺機器108へ対して復号化されるように変更される。他のタグを有するデータ書き込み(すなわち、マスタCPU102以外のCPUから生じるデータ)は、508において、今までどおりログ装置116によりログ記録され、比較されるが、ヌル応答を返す510において、デフォルトスレーブを選択するために復号化される。
別の実施形態では、データ読み取りおよび図1に関連して説明したのと同様に、データ書き込みは、アクセスログ装置116の使用に代えてFIFO110を使用してチェックされる。アクセスログ装置116およびシステム400は、FIFO110を使用する書き込みデータ実施形態と比較して全体の単純性に関する利点を提供し得る。
システム300と同様に、システム400も、ログ装置の機能が有効化および無効化されるように構成することができる。図6を参照すると、これはシングルプロセッサの実施形態を可能にする。システム600において、CPU102は、冗長的に、かつ、時間的に分離して実行する2つの動作モード:実モード112およびチェッカーモード114を有する。実モード112では、CPU112は周辺機器108に書き込み、書き込みデータはログ装置116にログ記録される。チェッカーモード114での続く実行において、CPU102により生成されるか、またはCPU102から生じる書き込みデータが、ログ装置116にログ記録された実モード112からの書き込みデータと突き合わせてチェックされて、一致することを保証する。システム600において、図4を参照して上述した復号化マスキングのオンオフを、シグネチャ解析モードの状態から独立して切り替えることができる。
したがって、実施形態は、冗長実行からの同一の読み取りトランザクションが周辺サブシステムに到着したことを確かめる機会と、CPUに到着した読み取りデータが各冗長実行に対して同一であること(すなわち、読み取りデータが周辺機器の1回の読み取りから導出されること)を保証する機会を含め、いくつかの有益な側面を提供する。書き込み側では、実施形態は、冗長実行からの同一の書き込みトランザクション実行が別の周辺サブシステムに到着したことを確かめる機会と、アクチュエータ周辺機器自体が1つの書き込みトランザクションだけに応答し、冗長書き込みトランザクションが無視されることを保証する機会を提供する。したがって、実施形態では、周辺サブシステムとプロセッサとの間での両方向での全体のデータ読み書きパスの冗長性を介する暗黙的なチェックが、特別な符号を準備する必要なく提供される。
システム、装置、および方法の様々な実施形態を本明細書に説明した。これら実施形態は、単なる例として与えられており、本発明の範囲を限定する意図はない。さらに、説明した実施形態の様々な特徴を様々な方法で組み合わせて、多くの追加の実施形態を生成し得ることを理解されたい。さらに、様々な材料、寸法、形状、実施場所等を、開示された実施形態と併せて使用するものとして説明したが、本発明の範囲を超えずに、開示されるもの以外を利用することも可能である。
本発明が、上述された任意の個々の実施形態に示されるよりも少数の特徴を備えてもよいことを当業者は認識しよう。本明細書に説明された実施形態は、本発明の様々な特徴を組み合わせ得る方法の網羅的な表現であることを意味していない。したがって、実施形態は、特徴の相互に排他的な組み合わせではなく、むしろ、本発明は、当業者に理解されるように、異なる個々の実施形態から選択された異なる個々の特徴の組み合わせを含み得る。
上記において参照により援用されるいかなる文献も、本明細書における明示的な開示とは逆の主旨が援用されないように制限される。上記において参照により援用されるいかなる文献も、その文献に含まれる請求項が参照により本明細書に援用されないようにさらに制限される。上記において参照により援用されるいかなる文献も、その文献で提供されるいかなる定義も、本明細書に明示的に含まれない限り、参照により本明細書に援用されないようにさらに制限される。
本発明の特許請求の範囲を解釈するために、特定の用語「する手段」または「するステップ」が請求項内に記載されない限り、米国特許法第112条第6段落の規定を発動すべきではないことが明白に意図される。
100、300、400、600 システム
102 第1のCPU
104 第2のCPU
106 ブリッジ
108 周辺機器
110 読み取りスヌープ先入れ先出し装置
112 実モード
114 チェッカーモード
116 アクセスログ装置

Claims (25)

  1. 第1のプロセッサにより周辺機器からデータを読み取ること、
    前記データをレジスタにコピーすること、
    第2のプロセッサによる前記周辺機器の読み取り試行を前記レジスタに迂回させること、および、
    前記第2のプロセッサにより前記レジスタから前記データを読み取ること
    を含む、方法。
  2. 前記第1のプロセッサをマスタプロセッサとして識別することをさらに含む、請求項1に記載の方法。
  3. 前記周辺機器の読み取り試行を前記レジスタに迂回させるか否かを、マスタプロセッサタグの有無に基づいて判断することをさらに含む、請求項2に記載の方法。
  4. 前記データをコピーすることは、前記データを先入れ先出し(FIFO)レジスタにコピーすることを含む、請求項1に記載の方法。
  5. 前記第1のプロセッサおよび前記第2のプロセッサにより同一の処理シーケンスを実行することをさらに含む、請求項1に記載の方法。
  6. 前記第1のプロセッサおよび前記第2のプロセッサにより時間的に分離した同一の処理シーケンスを実行することをさらに含む、請求項5に記載の方法。
  7. 前記レジスタにコピーされた前記データを上書きすることをさらに含む、請求項1に記載の方法。
  8. 非冗長モードで動作するため、前記レジスタを無効にすることをさらに含む、請求項1に記載の方法。
  9. 前記第1のプロセッサは、第1の動作モードの処理ユニットを含み、前記第2のプロセッサは、第2の動作モードの前記処理ユニットを含み、前記第1の動作モードおよび前記第2の動作モードは、前記処理ユニットにより時間的に分離して実行される、請求項1に記載の方法。
  10. サイドバンドタグ付け信号に基づいて、前記処理ユニットの前記第1の動作モードまたは前記第2の動作モードを選択することをさらに含む、請求項9に記載の方法。
  11. 前記第1のプロセッサにより前記周辺機器にデータを書き込むこと、
    前記第1のプロセッサにより書き込まれたデータを、ログ装置によりログ記録すること、
    前記第2のプロセッサにより前記周辺機器にデータを書き込むことを試みること、
    前記第2のプロセッサにより書き込まれた前記データを、前記ログ装置によりログ記録すること、および、
    前記第2のプロセッサにより書き込まれた前記データを、出力非生成周辺機器に復号化すること
    をさらに含む、請求項1に記載の方法。
  12. 第1のプロセッサにより周辺機器にデータを書き込むこと、
    前記第1のプロセッサにより書き込まれた前記データを、ログ装置によりログ記録すること、
    第2のプロセッサにより前記周辺機器にデータを書き込むことを試みること、
    前記第2のプロセッサにより書き込まれた前記データを、前記ログ装置によりログ記録すること、および、
    前記第2のプロセッサにより書き込まれた前記データを、出力非生成周辺機器に復号化すること
    を含む、方法。
  13. 前記第1のプロセッサをマスタプロセッサとして識別することをさらに含む、請求項12に記載の方法。
  14. データを前記周辺機器に書き込むか、それとも前記出力非生成周辺機器に書き込むかを、マスタプロセッサタグの有無に基づいて判断することをさらに含む、請求項13に記載の方法。
  15. 前記第1のプロセッサおよび前記第2のプロセッサにより同一の処理シーケンスを実行することをさらに含む、請求項12に記載の方法。
  16. 前記第1のプロセッサおよび前記第2のプロセッサにより時間的に分離した同一の処理シーケンスを実行することをさらに含む、請求項15に記載の方法。
  17. 前記第2のプロセッサからの書き込みデータを前記第1のプロセッサからの書き込みデータと比較することをさらに含む、請求項12に記載の方法。
  18. 前記第1のプロセッサは、第1の動作モードの処理ユニットを含み、前記第2のプロセッサは、第2の動作モードの前記処理ユニットを含み、前記第1の動作モードおよび前記第2の動作モードは、前記処理ユニットにより時間的に分離して実行される、請求項12に記載の方法。
  19. 第1のプロセッサにより周辺機器からデータを読み取ること、
    前記データをレジスタにコピーすること、
    第2のプロセッサによる前記周辺機器の読み取り試行を前記レジスタに迂回させること、および、
    前記第2のプロセッサにより前記レジスタから前記データを読み取ること
    をさらに含む、請求項12に記載の方法。
  20. 少なくとも2つのプロセッサのうちの一方がマスタプロセッサである、少なくとも2つのプロセッサと、
    前記少なくとも2つのプロセッサのうちの少なくとも一方により読み書きされるように構成された周辺機器と、
    前記マスタプロセッサによる前記周辺機器へのデータ読み取りをコピーし、前記少なくとも2つのプロセッサのうちの他方による迂回された周辺機器読み取り試行に応答して、前記データ読み取りを前記少なくとも2つのプロセッサのうちの前記他方のプロセッサに提供するように構成されたレジスタと、
    前記マスタプロセッサによる前記周辺機器へのデータ書き込みをログ記録し、前記データ書き込みを前記少なくとも2つのプロセッサのうちの他方のデータ書き込みと比較するように構成されたアクセスログ装置と、
    前記少なくとも2つのプロセッサのうちの前記他方からリダイレクトされたデータ書き込みを受信するように構成されたヌル応答周辺機器と
    を備える、システム。
  21. 前記周辺機器はセンサまたはメモリ装置を含む、請求項20に記載のシステム。
  22. 前記レジスタは先入れ先出し(FIFO)レジスタを含む、請求項20に記載のシステム。
  23. 第1の実行モードおよび第2の実行モードを有するプロセッサと、
    前記第1の実行モード中に前記プロセッサにより読み書きされるように構成された周辺機器と、
    前記第1の実行モードの前記プロセッサによる前記周辺機器のデータ読み取りをコピーし、読み取り要求に応答して、前記第2の実行モードの前記プロセッサに前記データ読み取りを提供するように構成されたレジスタと、
    前記第1の実行モードの前記プロセッサによる前記周辺機器へのデータ書き込みをログ記録し、前記データ書き込みを前記第2の実行モードの前記プロセッサのデータ書き込みと比較するように構成されたアクセスログ装置と、
    前記第2の実行モードの前記プロセッサからリダイレクトされたデータ書き込みを受信するように構成されたヌル応答周辺機器と
    を備える、システム。
  24. 前記第1および第2の実行モードで実行される命令は同一である、請求項23に記載のシステム。
  25. 前記周辺機器はセンサまたはメモリ装置を含む、請求項23に記載のシステム。
JP2011036967A 2010-02-23 2011-02-23 時間的に分離した冗長プロセッサの実行を使用しての周辺機器への読み書き Active JP5341928B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/710,616 2010-02-23
US12/710,616 US20110208948A1 (en) 2010-02-23 2010-02-23 Reading to and writing from peripherals with temporally separated redundant processor execution

Publications (2)

Publication Number Publication Date
JP2011175641A true JP2011175641A (ja) 2011-09-08
JP5341928B2 JP5341928B2 (ja) 2013-11-13

Family

ID=44356989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011036967A Active JP5341928B2 (ja) 2010-02-23 2011-02-23 時間的に分離した冗長プロセッサの実行を使用しての周辺機器への読み書き

Country Status (3)

Country Link
US (1) US20110208948A1 (ja)
JP (1) JP5341928B2 (ja)
DE (1) DE102011011333B4 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9514087B2 (en) * 2013-11-06 2016-12-06 International Business Machines Corporation Dynamic data collection communication between adapter functions
US9229841B2 (en) 2014-03-10 2016-01-05 Qualcomm Incorporated Systems and methods for detecting errors and recording actions on a bus
JP6083480B1 (ja) * 2016-02-18 2017-02-22 日本電気株式会社 監視装置、フォールトトレラントシステムおよび方法
US10740167B2 (en) * 2016-12-07 2020-08-11 Electronics And Telecommunications Research Institute Multi-core processor and cache management method thereof
JP6786449B2 (ja) * 2017-06-29 2020-11-18 ルネサスエレクトロニクス株式会社 半導体装置
TWI760715B (zh) * 2020-03-19 2022-04-11 瑞昱半導體股份有限公司 藉助於交易辨識碼之屬性來控制資料回應的方法以及系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049501A (ja) * 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法
JP2002269029A (ja) * 2001-03-07 2002-09-20 Nec Corp 高信頼性情報処理装置及びそれに用いる情報処理方法並びにそのプログラム
JP2008262557A (ja) * 2008-03-31 2008-10-30 Hitachi Ltd 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP2010198327A (ja) * 2009-02-25 2010-09-09 Renesas Electronics Corp マイクロコントローラおよび電子制御装置

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS592057B2 (ja) * 1979-02-07 1984-01-17 株式会社日立製作所 エラ−訂正・検出方式
US4799155A (en) * 1986-12-31 1989-01-17 Amdahl Corporation Data processing system having a hierarchy of service computers including a state display
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
US5339261A (en) * 1992-10-22 1994-08-16 Base 10 Systems, Inc. System for operating application software in a safety critical environment
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6223337B1 (en) * 1997-12-12 2001-04-24 Hewlett-Packard Company Random test generation for compiler optimization
FR2784475B1 (fr) * 1998-10-12 2000-12-29 Centre Nat Etd Spatiales Procede de traitement d'un systeme electronique soumis a des contraintes d'erreurs transitoires
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
DE19857154C1 (de) * 1998-12-11 2000-03-16 Daimler Chrysler Ag Verfahren zur Datenübertragung
US6854051B2 (en) * 2000-04-19 2005-02-08 Hewlett-Packard Development Company, L.P. Cycle count replication in a simultaneous and redundantly threaded processor
US20020023202A1 (en) * 2000-04-19 2002-02-21 Mukherjee Shubhendu S. Load value queue input replication in a simultaneous and redundantly threaded processor
US6792525B2 (en) * 2000-04-19 2004-09-14 Hewlett-Packard Development Company, L.P. Input replicator for interrupts in a simultaneous and redundantly threaded processor
US6598122B2 (en) * 2000-04-19 2003-07-22 Hewlett-Packard Development Company, L.P. Active load address buffer
US20030005380A1 (en) * 2001-06-29 2003-01-02 Nguyen Hang T. Method and apparatus for testing multi-core processors
SE0202019D0 (sv) * 2002-06-28 2002-06-28 Abb As Revalidation of a compiler for safety control
US7386839B1 (en) * 2002-11-06 2008-06-10 Valery Golender System and method for troubleshooting software configuration problems using application tracing
US7146530B2 (en) * 2003-07-18 2006-12-05 Hewlett-Packard Development Company, L.P. Targeted fault tolerance by special CPU instructions
US7243262B2 (en) * 2003-08-29 2007-07-10 Intel Corporation Incremental checkpointing in a multi-threaded architecture
US7213168B2 (en) * 2003-09-16 2007-05-01 Rockwell Automation Technologies, Inc. Safety controller providing for execution of standard and safety control programs
US20050138478A1 (en) * 2003-11-14 2005-06-23 Safford Kevin D. Error detection method and system for processors that employ alternating threads
US7584405B2 (en) * 2003-12-03 2009-09-01 Hewlett-Packard Development Company, L.P. Fault-detecting computer system
US7444497B2 (en) * 2003-12-30 2008-10-28 Intel Corporation Managing external memory updates for fault detection in redundant multithreading systems using speculative memory support
US7555703B2 (en) * 2004-06-17 2009-06-30 Intel Corporation Method and apparatus for reducing false error detection in a microprocessor
DE102004062825B4 (de) * 2004-12-27 2006-11-23 Infineon Technologies Ag Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit
FR2881836A1 (fr) * 2005-02-08 2006-08-11 St Microelectronics Sa Securisation du mode de test d'un circuit integre
JP2006260096A (ja) * 2005-03-16 2006-09-28 Matsushita Electric Ind Co Ltd プログラム変換方法およびプログラム変換装置
JP4602246B2 (ja) * 2005-12-28 2010-12-22 株式会社東芝 半導体集積回路
US7444544B2 (en) * 2006-07-14 2008-10-28 International Business Machines Corporation Write filter cache method and apparatus for protecting the microprocessor core from soft errors
US8584109B2 (en) * 2006-10-27 2013-11-12 Microsoft Corporation Virtualization for diversified tamper resistance
US7937620B2 (en) * 2007-05-07 2011-05-03 Intel Corporation Transient fault detection by integrating an SRMT code and a non SRMT code in a single application
KR101418969B1 (ko) * 2008-02-27 2014-08-13 삼성전자주식회사 프로세서 및 컴파일 방법
US20110099439A1 (en) * 2009-10-23 2011-04-28 Infineon Technologies Ag Automatic diverse software generation for use in high integrity systems
US8516356B2 (en) * 2010-07-20 2013-08-20 Infineon Technologies Ag Real-time error detection by inverse processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049501A (ja) * 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法
JP2002269029A (ja) * 2001-03-07 2002-09-20 Nec Corp 高信頼性情報処理装置及びそれに用いる情報処理方法並びにそのプログラム
JP2008262557A (ja) * 2008-03-31 2008-10-30 Hitachi Ltd 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP2010198327A (ja) * 2009-02-25 2010-09-09 Renesas Electronics Corp マイクロコントローラおよび電子制御装置

Also Published As

Publication number Publication date
JP5341928B2 (ja) 2013-11-13
DE102011011333B4 (de) 2022-07-14
DE102011011333A1 (de) 2011-08-25
US20110208948A1 (en) 2011-08-25

Similar Documents

Publication Publication Date Title
CN111164578B (zh) 核内锁步模式的错误恢复
US8412980B2 (en) Fault tolerant stability critical execution checking using redundant execution pipelines
JP5341928B2 (ja) 時間的に分離した冗長プロセッサの実行を使用しての周辺機器への読み書き
US9052887B2 (en) Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode
EP3588309B1 (en) Semiconductor device, control system, and control method of semiconductor device
JP5973196B2 (ja) 1553バス動作の自己検査のためのシステムおよび方法
US9361170B2 (en) Method for checking data consistency in a system on chip
US20090044044A1 (en) Device and method for correcting errors in a system having at least two execution units having registers
EP0227749A1 (en) ERROR-TOLERANT DATA PROCESSING SYSTEM AND METHOD THEREFOR.
JP2008518310A (ja) マルチプロセッサシステム内のメモリユニットを監視する方法および装置
US8255673B2 (en) Monitoring transactions in a data processing apparatus
RU2411570C2 (ru) Способ и устройство для сравнения данных в вычислительной системе, включающей в себя по меньшей мере два исполнительных блока
JP2008518296A (ja) 少なくとも2つの実行ユニットを備えるコンピュータシステムで切換をする方法及び装置
KR20070083776A (ko) 적어도 하나의 외부 신호에 의한 멀티 프로세서 시스템의작동 모드 사이의 스위칭을 위한 방법 및 장치
US20090024908A1 (en) Method for error registration and corresponding register
US20100011183A1 (en) Method and device for establishing an initial state for a computer system having at least two execution units by marking registers
EP2963550B1 (en) Systems and methods for synchronizing microprocessors while ensuring cross-processor state and data integrity
US20120265904A1 (en) Processor system
JP3240660B2 (ja) データ処理装置
US20240201890A1 (en) Data processing method and apparatus
US11645185B2 (en) Detection of faults in performance of micro instructions
JPH03209523A (ja) 命令データエラー検出方式
CN114625577A (zh) 在处理系统中处理任务
CN117640132A (zh) 经由标准互连件的端到端事务完整性
JP2009505187A (ja) 少なくとも2つの命令実行部を備えたコンピュータシステムにおいてレジスタセットの切り替えにより初期状態を設定する方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130808

R150 Certificate of patent or registration of utility model

Ref document number: 5341928

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250