JP2003518289A - 間欠誤りに耐性のあるソフトウェアシステムおよびそのシステムにおける制御処理 - Google Patents
間欠誤りに耐性のあるソフトウェアシステムおよびそのシステムにおける制御処理Info
- Publication number
- JP2003518289A JP2003518289A JP2001547253A JP2001547253A JP2003518289A JP 2003518289 A JP2003518289 A JP 2003518289A JP 2001547253 A JP2001547253 A JP 2001547253A JP 2001547253 A JP2001547253 A JP 2001547253A JP 2003518289 A JP2003518289 A JP 2003518289A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- processing unit
- context
- software
- error
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
と、そのようなシステムでの制御手順に関する。
放射線や電磁干渉)下にあるコンピュータアーキテクチャの分野である。
品の中で無作為に発生する間欠誤りの極めて代表的なものである。
類の放射線の問題に直面している。これらの放射線の効果の一つは、“混乱(up
set)”あるいは“単一の故障の混乱(Single Event Upset)”と呼ばれるが、
これは、メモリのような電子部品の中でのビットの状態の一時的な、一つ或いは
いくつかの変化のことである。単一の故障により起こる誤りは、欠陥データ(た
とえば、衛星アクチュエータからの間違った命令)ができてしまったり、ソフト
ウェアにおける順序制御の重大な障害(すなわちマイクロプロセッサのクラッシ
ュ)に至る。
射線耐性”と呼ばれる)さらには無反応(“対放射線強化”と呼ばれる)の集積
回路の技術を用いることで解決を図ってきた。そのような技術は、マイクロエレ
クトロニクス産業によって使われず、それゆえ、軍事方面或いは宇宙方面で特に
開発をされてきた。
した全体の費用(開発と保守管理と性能面の継続する進歩)と、これらの部品の
売上原価は非常に大きなものである(超小型電子のど(throat)の開発には約1
0億フランに達した;対放射線耐性あるいは大砲車線強化型のマイクロプロセッ
サの購入費用は数万フランに達した;一方、その民生用のものは数千フランであ
る;強化型と民生用との比は100/1あるいはそれ以上である)。
子部品の使用を停止し、民生用の特性/標準/部品を軍の活動によって購入処理
を促進した。
0%から1995年の1%以下まで鋭く落ち込み(産業による電子部品の使用は
急激に増加し、軍用市場は縮小した)、軍用部品がほどなく消えざるを得なくな
った(いくつかの大きな軍用部品製造会社は、小さくなり回復しようもないこの
市場から撤退した)。
クトと直面するという問題である。宇宙産業においてこの種の部品を使用するこ
とは、以下の利点がある。 −主要な供給側がこの市場から撤退する結果として、“高忠実度”を供給する際
に記録された落ち込みの問題が解決することと、 −費用を削減できる、つまり、“高忠実度の部品”のセットは設備を開発するた
めの総費用の中で無視できるものであり、もう一度繰り返される費用の中で重要
な因子となる。しかし、部品の比重は、考慮すべき対象(プラットフォーム、動
荷重、設備、繰り返しの程度等)によって、非常に変わりやすいことと、
(量/消費/信頼性の最適化)および/または機能性を拡大することと、 −宇宙へさらに反応性の接近ができるプロジェクトを開発する期間の、現在1か
ら2年の“高忠実度”の部品を供給する時間に切り込むこと。
は、これらの部品の放射線への感度であり、特に重イオンへの感度である。かっ
て“部品”レベル(抵抗や強化型技術)で扱われてきた問題が、今や“アーキテ
クチャ”あるいは“システム”のレベルで解決されなくてはならなくなった。
、陽子)によって作られる放射線の環境にさらされるが、これらの粒子は大気に
よって濾過されるので、地上で使用されるシステムはこの環境を知ることができ
ない。
オンからなるものと、
と陽子によって作られる、地球を囲む放射線帯と、 −陽子か重イオンを送り出す態様の噴火と、 −それにより、低エネルギーの陽子とイオンが太陽の重力による引っ張りから逃
れることができる、王冠プラズマ(crown plasma)の蒸発によって作られる太陽
風。
ーの一部を伝搬し、これにより電子部品の正常な動作が阻害される。本明細書で
は、単一の故障の混乱は、重イオンと陽子とによって作られるものとして扱う。
記録と基本的なトリガー回路内のビット誤りの発生に対応し、メモリセルが記憶
した値“0”は、値“1”に変えられ、また逆も起こる。一般的に言って、単一
ビットは、一つの重イオンによって変更される。これらの故障は、破壊的ではな
く、新しいデータが引き続いて書き込まれ、これは誤り無く記憶される(同じセ
ル内の他の単一の故障が発生しなければ)。従って、これらの故障で起きた誤り
は、間欠的である。
性のある解決法は、放射線の下での系統だった試験を用いた、いくつかの民生用
部品を選択することである、なぜならいくつかは当然に放射線に対して(あるい
は少なくともその効果の幾ばくかに対して)無反応であるからである。そのよう
な解決法は、選択するのに非常に費用がかかるだけでなく、単に間に合わせに過
ぎない、なぜなら、後者が放射線に対して反応することが分かれば義務として主
要な産業標準を使用することはさせないからであり、これはしかし望ましい。第
2の解決法は、これらの放射線によって起こる故障を許容する、特に間欠誤りを
許容することであり、すなわち、誤りが検出されるようなアーキテクチャを定義
し、しかる後にその誤りを正しいものにする。間欠誤りを考慮することは、次に
、“部品”レベルから“アーキテクチャ”と“システム”レベルに移る。この解
決は、経済的に有益であり、また部品の選択の制約を減じることから、本発明に
おいて好ましい。
の故障を許容するために、確実ないくつかの機構が地上のシステムにおいて広く
使用されている(例えば、保安システム)。
。いくつかの機構は、単に誤りを検出し、他のものは、誤りを検出してそれを修
正する。さらに、これらの機構は、一時的な誤りあるいは完全は故障あるいは両
方の処理するために適用されてきた。 −欠陥の防止:実際に使用する前に静的データをシステム的にリフレッシュする
(例えばコンフィギュレーションの記録);後者が使用される前に、部品の欠陥
を検出することができる、公称の機能以外の(“オフライン”)自動試験。
IC(Application Specific integrated circuit)あるいはFPGA(Field P
rogrammable Logic)の構築内)に加えられる誤りに対する検出符号あるいは検
出器/訂正器。誤り検出あるいは誤り訂正(EDAC)素子は、メモリ設計(me
mory plan)上の空間で規則正しく使用される。スキャン機能(全メモリ設計を
規則的に再読込する)がこれらの素子に結びつけられ、長期的に見て符号の検出
/訂正能力を損なう可能性のある潜在的な誤りが蓄積するのを防ぐために、バッ
クグラウンドタスクとして実行される。
“3重のモジュール式冗長)として知られる、2重化と比較、あるいは3重化と
多数投票:これらの機構によって、不良な命令を作ることはないが、最初の欠陥
(2重)で停止するようなフェイルセーフなアーキテクチャが得られるか、ある
いは、単一の誤りをリアルタイムに隠して安全なまま実行をする(3重)能力を
持ち、故障(“不良動作”)時に動作を続けるアーキテクチャが得られる。この
種のアーキテクチャは、欧州宇宙カプセルのための安全機能計算上の研究で使用
されたが、本明細書の終わりの参照文献[4]に記載されている。マスター/チ
ェッカーのアーキテクチャも、このクラスに見られるが、そこでは、マイクロプ
ロセッサのみが2重化されており、“マスター”が作ったデータを“チェッカー
”が検査する。TEMIC/THS社のERC−32マイクロプロセッサがこの
機構を受け持っており、参考文献[5]に記載されている。
れにより、ソフトウェア設計上の誤りが検出できる、なぜなら各計算機は、共通
の規格に基づいて特別に開発されたソフトウェアバージョンを持っているからで
ある。
行して命令記録をロードし、それから確認することができるように比較するため
に再読込することのいずれかが含まれ、そのようなある“弾を詰めて、発射する
(arm and fire)”機構が、高度に重大な命令(例えば、ロケット点火装置の要
素の引き金を引くこと)のために、宇宙産業で使用される。
ムは、限られた時間内に実行されなければならない)。さらに、実行時間をより
細かく制御すること(タスクの所要時間の制御や、通信装置からの応答を得るの
に認められた最大時間等)がソフトウェアに追加される。監視の再設定は、キー
を特別に並べることを必要とする(自動車産業で使用される)。
よって、精密でない制御ができる(ハードウェアのクラッシュを検出する)。命
令の流れを精密に制御することは、多かれ少なかれ複雑な監視処理によって可能
となる。署名分析制御は、特に効果的であり、エレクトロニクスにとってそれほ
ど難しくない。 −ページ/セグメントによるアクセス権に基づいた、マイクロプロセッサのため
のアドレシング確認制御。
比較されて可能な異常を検出する、衛星方位と軌道制御システムにおいて使われ
るが、このデータは、前の研究に基づいて予測フィルタのおかげである評価済み
の基準に関する一つのデータか、あるいは予め定めた会員の範囲に関した一つの
データのいずれかのデータである。いわゆる“Algorithm Based Fault Toleranc
e”法は、もっともらしさの制御の副クラスの代表であり、検証は、第2アルゴ
リズム(例えば、もし後者が誤りの無いものなら、得られた結果から始めること
によって、最初のデータを再び見つけることができる、逆アルゴリズム)の実行
に基づいている。
。 −欠陥が訂正できない機構のための、誤り重なりの相補的概念であり、主に、再
開点:通常の文脈の保管と、保管された最後の文脈に基づいた再開。参考文献[
1]から[3]に記載されたCOPRA計算機の開発(1980)は、この原則
に基づいている。
誤り計算機内で健全な文脈を注入することによって、欠陥資源を再挿入する。計
算機内で欠陥ストリングを再挿入することは、危険でない飛行段階に操作者が実
行することができる。
けを2重にして成り、両方のマイクロプロセッサを命令ごとに同期し、規則的に
マイクロプロセッサのバスを、メモリのアクセスの度に比較する(命令とデータ
を)。マイクロプロセッサの中には、バスの比較器と共に、同期機構をチップ上
に直接に集積する:例えば、IBM(登録商標)RH6000,Intel(登
録商標)i960,Intel(登録商標)Pentium(登録商標),TE
MIC/MHS ERC−32マイクロプロセッサなどであり、参考文献[5]
に記載されている。
る。 クロックHとHiは、それぞれ例えば、10MHzと100MHzの周波数で
ある。 図1において、斜線の要素は、“マスター/チェッカー”のアーキテクチャに
特有なものであり、線の引かれた信号は、インアクティブ(inactive)の信号あ
るいは禁止された(inhibited)信号である。
以下の要素を集積する。 −2個のマイクロプロセッサのうち1個を“マスター”に、他を“チェッカー”
に構成することのできるRC記録器と、 −両方のマイクロプロセッサ内のハイ(Hi)の内部クロックの同期と、 −いくつかのCMPバス比較器と、 −バスの絶縁が、読み出しと書き込みのアクセスの種類によって、また、マイク
ロプロセッサが“マスター”か“チェッカー”かによって、内部と外部に位置す
ることのできる論理回路。
たように、機能は以下のようである。2個のマイクロプロセッサ1と2とは、同
時に同じ命令の読み出しと実行とを行う。メモリに書き込む際の各アクセス時に
、両方のマイクロプロセッサのコアCMは、アドレスとデータとを生成する。マ
スターのマイクロプロセッサ1の中にあるバスの絶縁体は、出力に向かっており
、一方、チェッカーのマイクロプロセッサ2の中のバスの絶縁体は、入力に向か
っており、後者からのバスの比較器は、2個のマイクロプロセッサのコアMCか
ら与えられる読み込みデータをビット毎に比較する。異常読み出しの各アクセス
時に、マスターのマイクロプロセッサ1によって与えられるアドレスは、チェッ
カーのマイクロプロセッサ2によって、後者が計算したアドレスと比較され、一
致の故障の際には、両方のマイクロプロセッサ1と2とが同じデータを読む。
クロプロセッサでもって、この種のアーキテクチャを構築する際の問題は、内部
クロックと外部クロックとの間の時間のずれである。実際に、ユーザーは、マイ
クロプロセッサに、比較的低い周波数のクロックを与えるが、より高い周波数(
数百MHz)を得るために、位相ロックループと内部で掛け合わせられる。従っ
て、同じクロックで駆動される2つのマイクロプロセッサは、同じ周波数で動く
が、互いに相手に対して時間のずれがある。この時間のずれの大きさは、ばらば
らで、電源投入時に決まる。このように、バスの直接の比較は、不可能である。
。COPRAアーキテクチャにおいて、メモリは、部品の欠陥に耐性を持たせる
ために、2つ用意されるが、2つの中央ユニットは、同じメモリバンクを使用す
る。
こり易いという性質にも係わらず、使用に大きさ制限のある民生用部品をミッシ
ョン(mission)として使用することができるように、例えば、広い範囲を包括
する衛星において、コンピュータアーキテクチャにおける間欠誤りを処理するこ
とである。
システムを提唱するものであり、以下の特徴を持つ。 ・ 少なくとも2個の処理ユニットを備え、各々は以下のものを含む。 −1個のマイクロプロセッサと、 −誤りの検出と訂正符号を生成し制御する装置によって保護されたメモリと、 −メモリアクセスのための監視装置、これには以下が含まれる。 −メモリをセグメント化し、各セグメントにアクセスするための権利を検証す
るための手段と、 −回復のコンテキスト(context)を保存するメモリセグメントの特別に保護
する手段と、 −処理ユニットと入出力のために、制御装置に訂正要求信号を生成する手段。
以下が含まれる。 −処理ユニットのマクロ同期のための手段と、 −処理ユニットが生成したデータを比較/票決するための手段と、 −メモリアクセス監視装置から送出された訂正要求の手段(信号)と、 −この要求が同時に全ての処理ユニットに送られるようにする、誤り(信号)
の故障時の訂正段階を初期化するような決定を行う手段と、 −入出力を実行することのできる手段。 ・ 処理ユニットと入出力に対して、各処理ユニットを制御装置に繋げるための
リンクを備える。
別な保護から、有利に恩恵を受けており、以下のことができる手段を含んでいる
。 −各タスクに対するメモリ域が区別され、 −現在のタスクに影響されるメモリ域へのアクセスが承認され、 −他のタスクに含まれるメモリ域へのアクセスが禁止される。
クセス監視装置のおかげで、特に安全で特別な保護から、有利に恩恵を受けてお
り、以下のことができる手段を含んでいる。 −このコンテキストは、特別な記憶装置を要せずに、各処理ユニット内の、中
央に置かれた共有のRAM(ランダムアクセスメモリ=“Random Access Memory
”)タイプのメモリの中に記憶されることと、 −各タスクのためのコンテキストを保存するのに必要とされるメモリ域を区別
することと、 −このコンテキストを2重の“古い”そして“新しい”バンク内に記憶するの
に使用する各域を制御することと、 −2重の“古い”そして“新しい”バンクが縦に働くようにすることと、 −2重のバンクを、単に“古い”そして“新しい”索引のセットを反転させる
ことで、行き来することと、 −“古い”域を、書き込みが禁止されている間は、読み出しを認可すること。
できる。
処理ユニットで作られた、以下のことが可能であるという特徴を持つ手続きを提
唱する。 ・ 同時に少なくとも2つの処理ユニット上で、独立且つ非同期に実行される、
同一のソフトウェアプログラムであり、以下の機能に従うもの。 −処理ユニットのメモリを含む間欠誤りは、ソフトウェアのスキャンタスクに
関連するメモリ内に記憶される検出及び生成符号を使用するおかげで、検出及び
訂正されることと、
ッサが正しくアクセス権をメモリの現在のセグメントに与えるように制御するメ
モリアクセス監視に関連した、メモリのセグメンテーションのおかげで、検出及
び訂正がされることと、 −回復のコンテキストを記憶する割り当てがされたメモリセグメントは、欠陥
のあるマイクロプロセッサがこれらの危険な域で誤りを生成できないために、特
定のメモリアクセス監視のおかげで、非常に安全であることと、 −訂正の命令が、処理ユニットのために制御機能と、アクセス権の侵害の故障
内の入出力に送られること。
めること。 −ソフトウェアの、異なる同時実行のマクロ同期と、 −ソフトウェアの、異なる実行によって生成される全てのデータの比較/票決
と、 −誤りの検出に続いて、メモリアクセス監視から送出された訂正命令の受信と
、 −誤りが検出されると、その源が何であれ、訂正状態とこの命令の送信とを、
同時にソフトウェアの異なる実行に送るように決定をすることと、 −ソフトウェアプログラムからの要求による入出力の性能。
処理ユニットと入出力のための制御機能として働くこと。
ち、欠陥のあるマイクロプロセッサは、現在のタスクの変数を乱すことができる
だけで、メモリセグメント制御のおかげで、他からの変数は乱すことはない。
なくても回復は可能である、それは、票決しそしてソフトウェアタスクの先行す
るコンテキストを記憶するおかげであり、また、特別な保護そして安全であると
いう保証をするおかげであるが、前記保護が安全である理由は、たとえ、各処理
ユニット内の分割されたあるいは中央に集められたメモリ内に記憶されるにして
も、“フリップフロップ”内で動作する“古い”あるいは“新しい”2重のバン
ク内の各タスクに特有のメモリ域内のメモリアクセス監視装置によって制御され
る域内に記憶されるからであり、これら2つの2重バンクの“フリップフロップ
”は、現在のコンテキストが先行するコンテキストになるように、“古い”ある
いは“新しい”を単に反転することで実行されるが、それは、“古い”域は、タ
スク内の入力データとして使用するのには読み出しが許されるが、書き込みは禁
止され、また、マイクロプロセッサの不調の故障時でも保護がなされるからであ
る。
コンテキストが安全である、つまり誤りが無いとするインデックスが変更されな
いという事実のおかげで実行される、なぜなら、誤りが検出されないときには、
検出/復元に関する期間の終わりに、規則正しく“フリップフロップ”を経験す
るからであり、それゆえに、復元は、古い状態にするのに固有の現在の/先行す
るコンテキストがはっきりしているインデックスの“フリップフロップ”に限定
され、従って、特別な処理は何もいらない。
理ユニット上で実行されるソフトウェアタスクの各々の制御/命令サイクルであ
り、そこでは、復元は、そのソフトウェアタスクに作用された他のタスクの実行
をすることなく、欠陥のあるソフトウェアタスク上で、行うことができるだけで
ある。
まれており、すなわち、そこで誤りが検出された検出/回復のグラニュラリティ
に対応した期間内の実行を禁止し、通常の実行サイクル内のある期間に“穴”を
作ることが含まれている。
る。 −アプリケーションのソフトウェアが、コンテキストデータに欠陥の無いとき
にのみ記憶をする、すなわち、誤りが無いように、コンテキストデータの分類さ
れた比較/票決を明確に要求し、この要求は検出/回復のグラニュラリティに対
応する期間の終わりに規則的に作られるか、あるいは、 −計算時間の際に、各処理ユニットのためのハードウェアメモリアクセス監視
装置は、コンテキスト域内の書き込みをしようとするのを検出し、規則的にその
正しさを確かめるために比較/票決にかける。
域とソフトウェア域である。 この手続きは、選択されたマイクロプロセッサの種類(汎用のマイクロプロセ
ッサ、信号処理用のマイクロプロセッサ、特別に開発されたマイクロプロセッサ
等)と選択された基準(make,family,reference等)に関係なく、また、民間で
利用可能な全てのマイクロプロセッサで使用することができる。 この手続きは、基板上の電子システムおよび/または宇宙産業で使用すること
ができる。
には、この手続に対して2つのおもしろい点がある。明確な委任を最大化すると
いう推測において、基本的に次の3つの展開がある。 ・ ソフトウェアに関して −タスクの最後に命令を再分類することが可能であり(2重アーキテクチャに
おいて後者が普通である)、 −タスクの最後にコンテキストデータへの認可の引き金を引くことが可能であ
り、 −メモリアクセス監視装置のキーの制御をし、 −訂正のためにコンテキストデータを記憶し、 −上述した特性によって、現在のソフトウェアプログラムをわずか更新する。
・ ハードウェアに関して −メモリアクセス監視機能の展開と、プロセッサと入出力の制御である。
、一つのプロジェクトから他のプロジェクトへと再使用可能であり、その上、マ
イクロプロセッサを変更する際に採らなくてはならない、メモリアクセス監視装
置のためのマイクロプロセッサインターフェイスもそうである。
つのプロジェクトから他のプロジェクトへと再使用可能であり、 −ソフトウェアの展開は非常に少しであり、 −フェイルセーフ(fail safe)システムにより使用される計算のためのエネ
ルギーは低いものであり、 −限りのある構造上の重複化のおかげで、他のフェイルセーフのアーキテクチ
ャに関して繰り返して使われる費用は最小になり、 −訂正様式は、何らかのマイクロプロセッサの負荷を含まず、従って、アプリ
ケーションの実時間機能を妨害せず(これは、例えば、調整の難しさを引き起こ
す)、 −空間域と時間域とソフトウェア域の誤り制限域の、3つのレベルを定義する
ことができ、 −実時間プログラム内に、誤りの検出が作り込まれており、民間の製品が検出
のために余分な費用を要せずに使用することができる。
これは、特に、計算能力の欠如の罰が非常の大きい遠隔通信衛星の分野ではそう
であり、もっとも混雑する通話時間中の送信でいくつかの妨害があると、衛星の
操作者に罰金として1年のチャネル賃貸料に等しい費用がかかる。
起こる率は、メモリセル(レジスタ等)の数のような前提と、ユニットセルの感
度を考慮した値とによって決まる。単一の故障による混乱の頻度は、計算機の実
時間の周期の周波数よりずっと低く、この周期は、本発明の処理に対して選択さ
れた誤り検出/訂正のグラニュラリティに対応しており、これは1月に1回から
数回であろう。
の最大値は、以下のようである。 −参考のためのアーキテクチャ内の全ての部品は、民生用の部品である。 −これらの民生用の部品は、その使用のために前もって必要なものとして、単
一の故障の混乱用に能力を備えていない:従って、それらは、反応性があると考
えられる。
的な基準は、図3で示したものを考える。これには、 −1台の中央ユニット11と、 −1つのマスメモリ12と、 −電源13と動荷重15と火工品16とサーマル(thermal)17と軸受けと
起動制御18の間のデータバス19によりリンクされたインターフェイスと、 −遠隔制御と遠隔測定インターフェイス14と、 −監視と再構成のためのエレクトロニクス機器20と、 −スイッチングさらた交流と永久AP電源を配る、連続−連続変換器21。
。 遠隔制御と遠隔測定インターフェイス14が、送信器/受信器とアンテナ28
と29とに接続される切替器27に接続される。
に接続され、高流シリアルリンク33を通って、遠隔制御と遠隔測定インターフ
ェイス14と同様にマスメモリ12に接続され、また動荷重インターフェイス1
5にも接続される。 火工品インターフェイス16は、配置可能なシステムのいくつかに接続される
。
接続される。 軸受けと軌道制御システム18が、いくつかのセンサC1,C2,...Cnと
,いくつかのアクチュエータA1,A2,...Amと、タンク37のための圧力
センサに接続される。
モジュール)あるいは入出力(取得(acquisition)モジュールや命令モジュー
ル)から成る。入出力モジュール(あるいは取得/命令)には、低レベルのエレ
クトロニクス(アナログ/ディジタルあるいはディジタル/アナログ変換器、デ
ィジタルあるいはアナログパスマルチプレクサ、リレー等)が含まれる。
るいはアビオニクスバスによって接続されるコンプリートボックス(complete b
ox)でよい。どちらの場合も、バスへのインターフェイスは、中央ユニットモジ
ュール上のマスターバス結合器(BC)と、他のモジュール上の専用バス結合器
によって作られている。
例えば、軸受けと軌道制御システムタスク、実時間クロックタスク、基板上の制
御タスク等)から作られており、各タスクは計算機から得なければならない結果
(命令あるいは符号)を生成し、これらの結果は計算された直後に生成される(
すなわち、計算機から離れた直後に)。取得(あるいはAcq)は、時間コヒー
レンス(coherence)によって(例えば、軸受けと軌道制御システム)、実時間
サイクルの開始時に共に分類される。
されている。 これらのタスクの行うことは、実時間のIT−TRサイクルの切替によって引
き金が引かれる実時間のサイクルによって評価される。サイクルによって、ある
サイクルが、サイクル単位に開始することができ、実時間サイクルの周波数ある
いは副周波数のいずれかで動作する。他のタスクは非同期であり、イベントが起
こる際に初期化される。
図5で与えられる。以下は、この図に描かれているものである。中央ユニット4
0と、センサ42に接続される取得エレクトロニクス41と、アクチュエータ4
4に接続される命令エレクトロニクス43と、これら2つの電子装置41と43
は、中央ユニットと同様に、データバス45に接続される。
けと、それらの処理と、命令の発生とは、エレクトロニクス40,41,43の
3つ全ての部分を動作させ、ここで位相Ph2とPh3は内部接続されている。
宇宙の放射線、電磁パルス等)、間欠誤りの制約を考慮した計算機の全ての種類
において使用することができる。 従って、その説明は、特別なアプリケーションを含まない、標準的な参考的ハ
ードウェアとソフトウェアとを用いた。このアーキテクチャのハードウェア的側
面は、単にハードウェア構成とは関係なく機能ブロックに基づいており(構成部
品の選択とは関係なく、また、集積の種類の選択には関係なく等)、従って、特
定の部品の特別な性質と、誤り検出/訂正の分野での可能性は考慮していない。
従って、本発明の手続きは、自足型である。それにもかかわらず、所定の応用分
野のために選択された部品で集積された、可能性のあるフェイルセーフの機構を
使用することで、本発明単独の手続きに関して、誤りの保証範囲を改善すること
ができる。
が行われた。それによって、誤りは、2つの大きな分類ができると分かった。 −データ誤り −順番の誤り、これは、さらに2つの以下の下位分類ができる。
正常に戻り、命令の多かれ少なかれ誤りのある順番で実行する。 ・ “重度の故障”:マイクロプロセッサは、もはや動作不能である。マイクロ
プロセッサは、命令で正常ではいられず、マイクロプロセッサは、命令レコード
にデータをロードし、スタックポインタは、妨害をし、命令の順番には遮断され
たところがあり、不可能な事象のために待たされ、無限ループに落ちる等々。
事項にはアドレス誤りがある。
の外部のハードウェア機構が広く“重度”の故障(例えば、監視)を必要として
いるか、あるいは、後者の場合にはマイクロプロセッサが不安定ではあってもい
くつかのコードを実行し続けるので、ソフトウェア機構が、“重度の故障”を検
出するのに十分であるかのいずれかである。
れは、“狂ったマイクロプロセッサ”は、目的に対して破滅的な結果となる動作
をすることがあるからである。従って、短時間にそれらを検出する努力をし、そ
して/または検出できない誤りによる間違った命令の可能性を最小化するように
、ある種の誤り制限域を作ることが重要である。
組の機構は、検出のための完全な能力を備えている。もし、直接にこれら2つの
分類を検出することがあまりに大変ならば、選択した解決のための保証範囲の全
体の割合を増やすように、一つあるいはいくつかの下位分類、特にアドレス誤り
に特別に適合する機構を使用することは、おそらく興味深いかも知れない。
基本的な実時間サイクル、例えば、衛星のプラットフォーム計算機における軸受
けと軌道の制御タスクである。 さらに正確に言うと、グラニュラリティは、処理ユニットのコアで実行される
ソフトウェアタスクのひとつずつに対する制御/命令サイクルであるが、“実時
間サイクル”という言葉は、単純化のために取っておくべきであろう。
的は、計算機に監視無しで仕事を行わせ、計算機の結果であるはずのデータ(命
令)、あるいは誤り検出/訂正に使用されるデータ(コンテキスト)を承認する
ためだけでよくすることである。
る: −この周波数において、殆どのセンサ/アクチュエータは、取得あるいは命令
のためにアクセスされ、 −実時間サイクルの最後に、“有効な”データが、比較的制限された数におい
て利用可能である(多重中間データが無いか、使用された局所的な変数):
ータは、それゆえ限られたものであり、 ・ 訂正するために、簡単で、良好に検出された回復コンテキストが利用可能で
ある。
キストに必要且つ十分なデータの定義によって起こる複雑さと、それに加えて、
全体の機能を更に複雑にする中間票とを素早く明らかにする。
タスク自身の周波数である、というのは、票決はタスクの最後に行われるからで
ある。従って、もし、タスクが10Hzであり、タスクが1Hzである場合には
、グラニュラリティは前者に対しては10Hzであり、後者には1Hzである。
理論は同じであるが、明らかにするために、以下のように“実時間サイクルによ
るグラニュラリティ”の表現が、“タスクによる”よりむしろ使われる。
並列に実行する2つの同じ物理的ストリングで、出力の比較を行うもの)は、例
外無しに全ての誤りを検出できるので、特におもしろいものであり、そのタイプ
が何であれ(データ中の誤り、アドレス、順番付け、構成等々)そのような解決
の欠点は、構造的な冗長性の比重にある:重量、容量、消費量、そして計算機の
反復費用は全て二倍以上であり、これは受け入れられないアプリケーションが多
い。
“マスター/チェッカー”タイプのアーキテクチャは、非常に魅力的である。し
かし、マスターとチェッカーとのマイクロ同期と、バスの比較とを認可する機構
をチップ内に直接持たないマイクロプロセッサを使用することができるために、
他の解決法を捜すことが必要である。
ター/チェッカー”タイプのアーキテクチャの緻密さに近づくために、本発明の
手続きは、マイクロプロセッサとそのメモリ(ここでは“処理ユニットのコア”
について議論する)のみ2重化し、それらをマクロ同期化することからなり、各
処理ユニットのコア(例えば、命令やコンテキスト)から作り出されるデータは
、外部の部品が使用する前に認可がされる。
なコンテキストを再ロードする;実際に再開は、再ロードコンテキストに基づい
た以下のサイクルの名目的な実行である:実時間サイクルに、あたかも“穴”が
あるように、全ては発生する(“継続”を含む)。
範囲を可能にしているが、これは、これらの種類の誤りは必然的に、2つの処理
ユニットのコアの間の違いに至るからである。
出することができるが、非常に明らかなことに、それらを訂正することができな
いので、通常の方法において後者を扱わなくては成らない。
、データは、命令エレクトロニクス自身と同様に、命令エレクトロニクス(すな
わちデータバス)へと移動する。こうして、誤りのあってはならない重要な命令
は、古典的な機構によって保護されなくてはならない:つまり、データ符号化誤
り保護回路、命令エレクトロニクス計測管理等々である。
ス監視装置と、プロセッサと入出力制御装置である。設計によって、これらは、
古典的な機構、つまり重要な記録の3重化等によって、単一の故障の混乱から保
護される。
。 後者には、同じ要素を含む、第1処理ユニットコア50と、第2処理ユニット
コア51と、プロセッサと、入出力制御装置52が含まれる。
(CS)チップ選択信号を生成する。
クセス監視装置に接続され、また、入出力バス62に接続される。この制御装置
は、メモリアクセス監視装置55と58とからERR#1とERR#2信号を受
信し、外部からのAE(非同期の故障)信号を受信する。この制御装置52は、
IT(割り込み)信号を2つのマイクロプロセッサ54と57とに配信し、ER
R(誤り)信号を2つの処理ユニットコア50と51とに配信する。
と、 ・ 処理ユニットコア50と51のマクロ同期化と、 ・ 誤り検出ができるデータの票決 ・ 入出力制御 −誤り検出/訂正(EDAC)符号による単一の故障の混乱に対して保護され
ている、処理ユニットコア内のいくつかのメモリ平面(53,56)と、 −誤り検出/訂正符号によって、回復コンテキストが共有メモリ内に安全な方
法で記憶され、アドレス誤りを検出するような、アクセス権を制御するハードウ
ェアメモリアクセス監視装置55,58と関連するメモリのセグメンテーション
と、 −再開始コンテキストの特定の制御と、 −誤りの故障での訂正と、 −誤り制限域の3つのレベルと に立脚している。
、図6に示す2つの処理ユニットコアの場合のように、2つの入力のみのときは
、“比較器”の用語を使用するのが、より適切である。しかし、本説明では、よ
り使われている、一般的な“票決”という用語を使用する。
され、すなわち以下の要素である。 −マイクロプロセッサ(54,57)と、 −誤り検出/訂正による単一の故障の混乱に対して保護されたマイクロプロセ
ッサのための(読み出し専用、あるいは読み出しと書きこみの)メモリ(53,
56)と、 −アドレスとメモリアクセス監視のための複合論理回路を集積した、外部メモ
リアクセスハードウェア監視装置。
チャと異なり、また、中央ユニット基板全体と計算機全体まで2重化される今ま
での構造的な2重化とも異なる。
行可能、かつ同一のアプリケーションソフトウェアプログラムを使用することが
でき、これは、同じ入出力(取得/命令)あるいは同じデータ(例えば、コンテ
キスト)を求めるために、処理ユニットコアの上で同時に実行可能であり、また
、命令フローの中の同じ位置で停止が可能(マクロ同期)である。
るハードウェア装置52は、以下の機能を含んでいる。 −処理ユニットコアのマクロ同期と、 −票決と、 −誤りの検出に続く、訂正の初期化と、 −直接メモリアクセスのモード内の処理ユニットコアメモリへのアクセスと、 −入出力の制御と、2つの処理ユニットコアの各一つずつの中の処理ユニット
バス60,61と入出力バス62の間のインターフェイスと、 −割り込み制御器(IT)。
よって、プロセッサと入出力制御装置52と通信する。入出力は、プロセッサと
入出力制御装置52によって、入出力バス62を通して制御される。
ユニットコアの一つが入出力を希望するや否や、すなわち、取得を読みこむか、
命令を生成するかしたときに、以下が機能する。
と、その命令を特定の処理ユニットコア60あるいは61に送り(メッセージに
は、取得に対するアドレス、あるいは命令に対するアドレスとデータの組み合わ
せが含まれる)、 −プロセッサと入出力制御装置52は、その後、他の処理ユニットバス上のメ
ッセージを待つ。
、誤りが決定される。もし、そうでないときは、プロセッサと入出力制御装置は
、2つのメッセージを比較して、完全に同じであれば(長さと内容とが)、プロ
セッサと入出力制御装置52は、入出力バス62によって、命令を転送する。 −一旦、この転送が行われると、取得の場合のデータが、プロセッサと入出力
制御装置によって、直接メモリアクセス(Direct Memory Access)によって、処
理ユニットコアの各一つずつのメモリに書きこまれて、プロセッサと入出力制御
装置は、処理ユニットコアを開放する。
ることができる:従って、本発明は、マイクロプロセッサが1命令ごとにマクロ
同期をする“マスター/チェッカー”アーキテクチャとは異なり、評決が行われ
るとき(入出力、コンテキスト)に限定して、マクロ同期を使用する。
後に、コンテキストデータの承認と同様に、命令の発生を互いにまとめることに
よって減らすことができる。
いて、簡単であるか(1ビット毎の評決の型)、あるいは、より複雑である(閾
値に関係する評決)。第2の推測において、閾値は、各入出力毎に、処理ユニッ
トコアによって評決器に送信されるパラメータであり;閾値は、それ自身、使用
前に一ビットごと承認がされる。
アの評決器の複雑さを制限するように、アプリケーションソフトウェアに委ねら
れる(例えば、直接メモリアクセスによるプロセッサの中の処理ユニットコアと
入出力制御装置との間で評決される複雑なデータの交換と、その後の、処理ユニ
ットコアの各一つずつからの評決の結果の、プロセッサと入出力制御装置による
評決)。
クセス監視装置55,58(メモリアクセスに対する権利の制御)と、プロセッ
サ及び入出力制御装置52との間で、処理ユニットコアの外部で展開される(評
決)。
出力制御装置52とで集中される:メモリアクセス監視装置が誤りを検出したと
きに、それをプロセッサと入出力制御装置(#ERR1と#ERR2)とに報告
し、訂正の状態がそれぞれによって初期化されるように、単一の誤り信号ERR
を2つの処理ユニットコアに対して生成する。
トデータに任意にアクセスするためとに発せられたデータを、処理ユニットコア
のメモリの中にロードするための直接メモリアクセス装置が含まれる。この直接
メモリアクセス制御器は、また、ブロック転送のために処理ユニットバスおよび
/または入出力バスで用いることができる。
各一つずつと単一の入出力バス62との間のインターフェイスを実行し、また、
処理ユニットコアが同一の要求をしたときに、処理ユニットコアに代わって入出
力を制御する。
、IT割り込みを、2台の処理ユニットコア50,51に向けて同じに生成する
。後者は、2台の処理ユニットコアによって開放されるまで、プロセッサと入出
力制御装置の中に記憶される。各マイクロプロセッサは、こうして、自身の内部
割込み論理回路内の、単一の故障の混乱によって作られた寄生割り込みを含んで
いないことを確認することができる。
task)による、単一の故障の混乱に対して、保護されている(符号によって検
出および/または訂正されない、同一の語の中の誤りビットが蓄積するのを防ぐ
べく、潜伏している誤りを検出して訂正するために、全てのメモリ平面のバック
グラウンドタスクを再読み出しする)。
を確かめるために、再開コンテキストデータを記憶するための、信頼性のレベル
を得ることは必須である。
関して、本質的に信頼できるメモリ平面上であり、 −アクセス権監視装置(メモリアクセス監視装置)を使用するおかげで、アド
レスや命令やマイクロプロセッサの故障等による誤りに続く、不正確な書き込み
に関して、信頼性のあるメモリ平面上である。
ットから抜き出したハードウェア装置である。メモリは、セグメントに分割され
、セグメントに分割され、この装置によって、セグメントにアクセスしようとす
るマイクロプロセッサが、実際にアクセス権を持っているかを検査することがで
きる。
、それによって、マイクロプロセッサの故障の非常に大部分が速やかに、すなわ
ち少ない遅れで検出される。実際、“ソフトな”故障に続いて、マイクロプロセ
ッサは、頻繁に認可された領域を離れることがある。こうして、メモリアクセス
監視装置によって、マイクロプロセッサの中の順序制御の誤りが、非常に敏速に
検出されるが、これは深刻な誤りの範疇を表している。
れ、 −あるセグメントは、本発明の処理に特有の意味と機能とをもっており、特に
、再開のコンテキストを記憶するのに使用され、 −アクセスの承認は、メモリアクセス監視装置内の内部レジスタ内に記憶され
るキーをプログラムすることによって実行され、これらのキーの定義は、本発明
の処理に特有のものであり、 −キーの定義は、“アプリケーションソフトウェア”のレベル上にあり、“ハ
ードウェア”のレベル上にでは無い、
わせによって与えられ、セグメントの各一つずつの論理的組み合わせは、本発明
の処理に特有のものであり、 −メモリアクセス監視装置は、特定のセグメントの読み出しあるいは書き込み
時に、特定の機構をトリガーすることができ、 −メモリアクセス監視装置は、特定のセグメントの読み出しあるいは書き込み
時に、特定の機構をトリガーすることができ、 −タスク間のソフトウェア制限を開示するように、ソフトウェアのアプリケー
ションタスクによって、ある領域が影響され、 −“古い”/“新しい”フリップフロップの機能によって特別に保護されるよ
うに、タスクによって、コンテキストの記憶領域が響される。
れる: −後者の改悪を防ぐように、符号を記憶する領域に書き込みをするためのアク
セスを禁止するキー。反対の場合は、誤りが検出されるたび規則的に符号を承認
して再ロードする必要があり、これは特に限定的である。このキーによって、メ
モリへの書き込みは、計算機の初期化時のみに承認され、このとき、読み出し専
用メモリ内の符号は、読み取り書き込みメモリ(read-write memory)に転送さ
れる。
いるソフトウェアのタスクのデータを含むメモリ領域へのアクセスのみを承認す
る。このキーによって、他に関して、タスク内の誤りに対する保証があるフェイ
ルセーフが可能となる。 −キーは、“古い”領域が書き込みを禁止されていることを考慮して、フリッ
プフロップ内で使用される“古い”/“新しい”領域のセットの中で、いずれが
“古い”領域と“新しい”領域かを示す。
の誤りタスク、すなわち、誤りを検出したときの現在のタスクに対する誤り回復
を制限するために、各タスクに対して区別されるが、回復は、影響された他のタ
スクの実行無しに、ソフトウェアタスク上でのみ実行することができる。
決と保存と復元である。
が、正常なコンテキストからはっきりと実行することができるように、特別に保
護される。
リの特定の領域に記憶され、各領域は、フリップフロップ内で動作する2重の“
古い”そして“新しい”バンク内のメモリアクセス監視装置によって制御される
。
て、正常であると考えられるときのみ保存するように、“新しい”領域がプロセ
ッサと入出力制御装置52とによる分類された方法で承認される。この方法は、
コンテキストデータの票決のために必要なマクロ同期の数を減らすという利点を
持っている。
、メモリアクセス監視装置によって検出され、票決のためにプロセッサと入出力
制御装置へと規則的に送られる。もし、票決が正しければ、データは、メモリア
クセス監視装置によって、処理ユニットコア内のメモリに有効に記憶される。
テキスト領域が、“古い”そして“新しい”索引を反転することによって、保存
されフリップフロップされる:現在のコンテキストは、先行するコンテキストと
なる。
が正常であると考えられることを示す索引が変更されなかったおかげで、実行さ
れるが、これは誤りが検出されなかった正常時にフリップフロップされるからで
あり;この“非フリップフロップ”は、誤りが検出されない実時間サイクルの実
行の禁止に固有のものである。
種類に従って実行することができる: −システム再初期化、すなわち、熱い再初期化あるいは冷たい再初期化あるい
は冗長な計算機を承認することであるが、これはもしどれかがあればである: −後方の回復 −前方の回復、すなわち、“純粋の”追跡あるいは保存したコンテキストに基
づく追跡。
手続きを説明した前記説明で使用される解決法である。
生成されない:マイクロプロセッサは、次の実時間サイクルを待っている古いモ
ード(“待機”)に引き渡される。 −次の実時間サイクルN+1が、コンテキストNから実行される(これは安全
ではない)のではなく、前のコンテキストN−1からと、現在のサイクルN+1
内の取得から実行される。
行ではない。これは、単に、現在の実時間サイクルを禁止し、前のサイクルから
のコンテキストを復元するように管理する。誤りの故障時に、マイクロプロセッ
サは、待機モードに入ってしまったので、現在の実時間サイクルに対する命令を
生成しない:実時間サイクル内に“穴”があるかのように、全てが発生する。
後に、待機モードに入ってしまうからであり、現在の実時間サイクルの最後に、
票決の実行をすることあるいは終了することができないからである。システムの
状態が正常であると考えられるときに、承認の最後の時になされた“古い”ある
いは“新しい”コンテキストを交換しないことが、必然的に必要である。従って
、誤り検出に続くコンテキストを復元したり再ロードしたりすることは、本発明
の手続きとして選択された機能固有のものである。
に言って、まとめると、手続きは、再ロードは必要としない、というのは、コン
テキスト領域の“古い”そして“新しい”索引は、誤り検出に続いて切り替えら
れない:実際、再開には、何もしないことから成り、待機に入り、名目的な機能
の残りが自動的に起こる。
テキストの差異のおかげで、現在のタスクに限定することができるが;この場合
、欠陥のあるタスクが中止され、追跡による回復の故障内の実時間サイクルを失
い、他のタスクの実行がこれによって全く影響されない。
コンテキストにまで広がるように、誤りが管理されているためであり、従って、
もはや正常ではないか、永久的な誤りがあることになる。計算機を完全に再初期
化すること、あるいは緊急の冗長な計算機へ転送することが、もしいずれかがあ
れば、必要である。
0は、取得エレクトロニクス41と中央ユニット40とからできており、これは
図7に示され、この図において、図5と同じ参照番号が使用されている。取得エ
レクトロニクスは、いくつかの古典的な機構(たとえば、返答(replication)
)によって保護されている。こうして、取得や処理を妨害する誤りがあり(なぜ
なら、処理に割り当てられる時間は、今まで、統計的に殆どの誤りが発生する処
理状態にあるので、最も重要なものであるので)、この誤りは、命令エレクトロ
ニクスに向かって生成されることはない。従って、誤りは取得エレクトロニクス
あるいは中央ユニット内での、単一の故障の混乱に続いて起こる誤りは、衛星に
対して不良の命令を引き起こすが;これはミッションを妨害することはない。
が出現した後の実時間サイクルは、正しい)、これは、訂正が実時間サイクルの
グラニュラリティに基づいているからである。
ル上の誤りのソフトウェアの制限(一つのタスクから他のタスクへ、誤りは広が
らない)に対応する。
可能な、誤り百分率を表している。
あるなら、命令エレクトロニクス内で生成される誤り命令は、あり得ない。
の範囲内になくてはならず、それは99%以上である。
ている。 −マクロ同期の数を減らすために、実時間サイクルの最後に、命令の生成ある
いはコンテキストデータの票決の再分類をすること、 −単純な票決(1ビット毎の票決タイプ)あるいは、より複雑な票決(いくつ
かの閾値に関する票決タイプ)、 −ブロック転送である、もしくはそうでない、処理ユニットバスおよび/また
は入出力バス、 −訂正モード、 −訂正率を最大化するように、実行可能な実時間における本発明の処理のソフ
トウェア機構を含むこと。
分け合って、誤り保証率を減らすという犠牲を払って、ソフトウェア内で実行す
ることが可能である。 −マクロ同期、 −票決、 −入出力制御。
り除いて、その機能を処理ユニットコア内のハードウェアおよび/またはソフト
ウェアへ広げることもできる。
ニットコアを3重化することも可能であり、それは、プロセッサと入出力制御装
置が、処理ユニットコアに接続されて、多数票決を行うからである。誤りは、実
時間で、マスクされる。メモリのコンテキストは、もしメモリアクセス監視装置
が取り除かれているか、誤りに実時間で実行可能なものが含まれていれば、欠陥
処理ユニットコアのメモリ内に転送されなくてはならない。この転送は、もしメ
モリアクセス監視装置が“タスクによるセメント化”機能を備えていれば、大幅
に減らすことができる。
computers” (米国オハイオ州Dayton 1978年5月16〜18日、IEEE national
Aerospave and Electronics Conference,NAECON ‘78の講演集) [2]F.Browaeyes・J-J.Chevreul・C.Meraud著、”Claculator with an auto
matically reconfigurable parallel organization”(仏国Tregastel 1980
年9月21〜23日、Second International Conferencen on Reliability and
Maintainability) [3]C.Meraud・F.Browaeyes著、”A line of ultra-reliable reconfigurab
le calculators used for onboard aerospace applications”(カナダ・オタワ
1978年5月8〜11日、AGARD Conference proceedings NO.272 “Advances
in Guidance and Control Systems Using Digital techniques”, Guidance an
d Control Panel Symposium)
the Automated Transfer vehicle”(独国ミュンヘン、1998年6月23〜2
5日、第28回Fault Tolerance Computing Symposium) [5]J.Gaisler著、”Concurrent error-detection an modular fault-toler
ance in a 32-bit processing core for embedded space flight applications
”(1994年、第24回Fault Tolerance Computing Symposium)。
る。
る。
。
。
。COPRAアーキテクチャにおいて、メモリは、部品の欠陥に耐性を持たせる
ために、2つ用意されるが、2つの中央ユニットは、同じメモリバンクを使用す
る。 最初の従来技術文書は、米国特許第5 790397号であり、2重モードで 動作する2つのCE(“コンピュータ要素”)計算ユニットが記載されており、 入出力プロセッサは、2個の計算ユニットのマクロ同期と、入出力要求の比較を 実行し、この入出力を遂行する。2個の計算ユニットが、入出力を行おうとする ときは、この要求を述べたメッセージを入出力プロセッサに送る。後者は、2個 の計算ユニットをマクロ同期して、2つのメッセージの“検査合計(checksum) ”を比較し;もし検査合計が同一でなければ、誤り計算ユニットは禁止されるか 停止される。 第2の従来技術文書は、Janus Sosnoski著、”Transient fault tolerance in digital systems”(米国加州Las Alamitas、1994年2月14日、IEEE micro, 8207, No.1)という題の記事であり、ディジタルシステムにおける間欠 誤りの問題が理解でき、その目指すのは、開発されたシステム内のその種の誤り の影響を隠すが除去するために選択される最適の技術である。 第3の従来技術文書の、欧州特許公開第0 442 312号には、異なるメ モリブロックで作られたメモリサブシステム(“メモリアレイ”)にアクセスす る、BPSMP(”Basic Processor Subsystem Modules Primary”)とBPM
SM(”Basic Processor Subsystem Modules Secondary”)から作られる2重
アーキテクチャが記載されている。各BPMSモジュール内のマイクロプロセッ サは、モジュール自身の内部に記憶された命令を実行し、2個のモジュールは、 データにアクセスするやいなや同期と比較をし、データはメモリサブシステム内 に記憶される。
わせによって与えられ、セグメントの各一つずつの論理的組み合わせは、手続き において本 発明に特有のものであり、 −メモリアクセス監視装置は、特定のセグメントの読み出しあるいは書き込み
時に、特定の機構をトリガーすることができ、 −タ スク間のソフトウェア制限を開示するように、ソフトウェアのアプリケー
ションタスクによって、ある領域が影響され、 −“古い”/“新しい”フリップフロップの機能によって特別に保護されるよ
うに、タスクによって、コンテキストの記憶領域が影響される。
Claims (14)
- 【請求項1】 処理ユニットによって作られ、間欠誤りに耐性のあるコンピ
ュータシステムにおいて、該システムは、 少なくとも2個の処理ユニットと、制御ユニットと入出力のための中央に置か
れた制御装置と、各処理ユニットを処理ユニットと入出力制御装置(52)にそ
れぞれ繋げるためのリンク(60,61)とを備え、 前記2個の処理ユニットの各々は、 −マイクロプロセッサ(54,57)と、 −誤りの検出と訂正のための符号を、生成し制御する装置によって保護され
たメモリ(53,56)と、 −メモリをセグメント化し、各セグメント(53,56)へのアクセス権を
検証するための手段と、回復のコンテキストを保存するように割り当てられた、
メモリセグメント(53,56)を特別に保護する手段と、処理ユニットと入出
力を制御するために、装置(52)に訂正要求信号を生成する手段とを含むメモ
リアクセスを監視する装置(55,58)と を含む、少なくとも2個の処理ユニット(50,51)と を含み、 前記制御装置は、 −処理ユニット(50,51)のマクロ同期手段と、 −処理ユニット(50,51)が生成したデータの比較/票決手段と、 −訂正要求手段と、 −メモリアクセス監視装置(55,58)から発生する決定手段と、 −要求を全ての処理ユニット(50,51)に同時に送るようにする、誤り
の故障時の訂正段階を初期化するような決定を行う手段と、 −入出力が実行されるようにする手段と を含むことを特徴とするシステム。 - 【請求項2】 前記メモリアクセス監視装置(55,58)は、 −各タスクに対するメモリ域が区別され、 −現在のタスクに影響されるメモリ域へのアクセスが承認され、 −他のタスクに含まれるメモリ域へのアクセスが禁止される 手段を含むことを特徴とする請求項1記載のシステム。
- 【請求項3】 前記メモリアクセス監視装置(55,58)は、 −このコンテキストは、いかなる特別な記憶装置も必要とせずに、中央に置か
れた共有のメモリ(53,56)の中に記憶され、 −各タスクからのコンテキストを保存するのに必要とされるメモリ域を区別し
、 −このコンテキストを記憶するのに使用される各域が、2重の“古い”そして
“新しい”バンク内で制御され、 −2重の“古い”そして“新しい”バンクが交代に働くようにし、 −2重のバンクを、単に“古い”そして“新しい”索引のセットを反転させる
ことで、交代させ、 −“古い”域を、書き込みが禁止されている間は、読み出しを認可する ことのできる手段を含んでいることを特徴とする請求項1記載のシステム。 - 【請求項4】 基板上の電子システム及び/または宇宙領域で使用すること
を特徴とする請求項1〜3のいずれか一つに記載のシステム。 - 【請求項5】 コンピュータシステムを間欠誤りに耐性のあるものにする方
法において、該方法は、 同一のソフトウェアアプリケーションが同時に少なくとも2つの処理ユニット
(50,51)上で独立且つ非同期に実行されることと、作用群が処理ユニット
と入出力のための制御機能内の中央に集められることと、インターフェイスが、
同時に実行されるソフトウェアプログラムと、処理ユニット及び入出力のための
制御機能との間で作られるという特徴を備えた処理ユニットから作られており、 前記ソフトウェアアプリケーションは、 −処理ユニット(50,51)内のメモリ(53,56)に影響する間欠誤り
は、ソフトウェアのスキャンタスクに関連するメモリ内に記憶される検出及び生
成符号を使用するおかげで、検出及び訂正されることと、 −マイクロプロセッサがメモリ(53,56)の現在のセグメントに対するア
クセス権を実際に持っていることを確かめる、メモリアクセスを監視することに
関連した、メモリのセグメンテーションのおかげで、処理ユニットの(50,5
1)のマイクロプロセッサ(54,57)の正しい機能が確認されることと、 −回復のコンテキストを保存する割り当てがされたメモリセグメントは、欠陥
のあるマイクロプロセッサ(54,57)がこれらの危険な域で誤りを生成でき
ないことを確かめるように、メモリアクセスの特定の監視のおかげで、非常に安
全であることと、 −訂正の要求が、処理ユニットのために制御機能と、アクセス権の侵害の故障
内の入出力に送られること の機能に応じ、 前記作用群には、 −ソフトウェアの、異なる同時実行のマクロ同期と、 −ソフトウェアの、異なる実行によって生成される全てのデータの比較/票決
と、 −誤りの検出に続いて、メモリアクセス監視機能から起こった訂正要求の受信
と、 −誤りが検出されると、その源が何であれ、訂正状態とこの要求の送信とを、
同時にソフトウェアの異なる実行に送るように決定をすることと、 −ソフトウェアアプリケーションからの要求による入出力の実行 とがある ことを特徴とする方法。 - 【請求項6】 欠陥のあるマイクロプロセッサ(54,57)は、現在のタ
スクの変数を乱すことができるだけで、他のタスクの変数は乱すことはないとい
うやり方で、ソフトウェアタスク間の誤りに対する制限域があることを特徴とす
る請求項5記載の方法。 - 【請求項7】 誤りを検出する故障において、票決しそしてソフトウェアタ
スクの先行するコンテキストを記憶するおかげで、また、正常であるという保証
をする特別な保護のおかげで、回復は可能であり、このコンテキストは、各処理
ユニット(50,51)内の共有されたあるいは中央に集められたメモリ(53
,56)内に記憶され、“フリップフロップ”内で動作する“古い”あるいは“
新しい”2重のバンク内の各タスクに特有のいくつかのメモリ域内において、こ
れら2重バンクの“フリップフロップ”は、現在のコンテキストが先行するコン
テキストになるように、“古い”あるいは“新しい”索引を単に反転することで
実行されるが、“古い”域は、タスクの入力データとして使用するのには読み出
しが許されるが、書き込みは禁止され、また、マイクロプロセッサ(54,57
)の不調の故障時でも保護がなされることを特徴とする請求項5記載の方法。 - 【請求項8】 先行するコンテキストの復元に基づいた誤り回復は、索引に
よって、正常であると考えられる先行するコンテキストは変更されないとされた
事実のおかげで、実行され、そのとき、誤りが検出されなければ、検出/復元に
関する期間の終わりに、規則正しく状態を変えることを特徴とする請求項7記載
の方法。 - 【請求項9】 誤りの検出/復元のグラニュラリティは、処理ユニット(5
0,51)上で実行されるソフトウェアタスクの各々の制御/命令サイクルであ
り、そこでは、復元は、そのソフトウェアタスクに作用された他のタスクの実行
をすることなく、欠陥のあるソフトウェアタスク上で、行うことができるだけで
あることを特徴とする請求項5記載の方法。 - 【請求項10】 誤り検出は、マイクロプロセッサが待機モードに入り、そ
れによって通常の実行サイクル内のある期間、“穴”を作り出すことを必要とす
ることを特徴とする請求項5記載の方法。 - 【請求項11】 コンテキストの比較/票決は、 −アプリケーションのソフトウェアが、コンテキストデータが正常と考えられ
るときにのみコンテキストデータの保存をするように、コンテキストデータの分
類された比較/票決を明確に要求し、この要求は検出/回復のグラニュラリティ
に対応する期間の終わりに規則的に作られるか、あるいは、 −計算時間の際に、各処理ユニット(50,51)の中のメモリアクセスを監
視(55,58)するためのハードウェア装置は、コンテキスト域内で書き込み
をしようとするのを検出し、規則的にその正しさを確かめるために比較/票決に
かける、 という、2つの方法から選択的に実行されることを特徴とする請求項5記載の
方法。 - 【請求項12】 空間、時間、ソフトウェアレベルの、3つの誤り制限域の
レベルが定義されることを特徴とする請求項5記載の方法。 - 【請求項13】 マイクロプロセッサの選択には依存せず、また、全ての民
生用マイクロプロセッサを使用できることを特徴とする請求項5〜12のいずれ
か一つに記載の方法。 - 【請求項14】 基板上のエレクトロニクスシステムおよび/または宇宙領
域で使用されることを特徴とする請求項5〜12のいずれか一つに記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR99/16227 | 1999-12-22 | ||
FR9916227A FR2803057B1 (fr) | 1999-12-22 | 1999-12-22 | Systeme informatique tolerant aux erreurs transitoires et procede de gestion dans un tel systeme |
PCT/FR2000/003640 WO2001046805A1 (fr) | 1999-12-22 | 2000-12-21 | Systeme informatique tolerant aux erreurs transitoires et procede de gestion dans un tel systeme |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003518289A true JP2003518289A (ja) | 2003-06-03 |
Family
ID=9553616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001547253A Pending JP2003518289A (ja) | 1999-12-22 | 2000-12-21 | 間欠誤りに耐性のあるソフトウェアシステムおよびそのシステムにおける制御処理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7024594B2 (ja) |
EP (1) | EP1240587B1 (ja) |
JP (1) | JP2003518289A (ja) |
AT (1) | ATE280412T1 (ja) |
DE (1) | DE60015182T2 (ja) |
FR (1) | FR2803057B1 (ja) |
WO (1) | WO2001046805A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10133652A1 (de) * | 2001-07-11 | 2003-01-30 | Siemens Ag | Zentraleinheit für ein redundantes Automatisierungssystem |
US7028225B2 (en) * | 2001-09-25 | 2006-04-11 | Path Communications, Inc. | Application manager for monitoring and recovery of software based application processes |
DE10251912A1 (de) * | 2002-11-07 | 2004-05-19 | Siemens Ag | Synchronisation der Datenverarbeitung in redundanten Datenverarbeitungseinheiten eines Datenverarbeitungssystems |
DE10313318A1 (de) * | 2003-03-25 | 2004-10-21 | Giesecke & Devrient Gmbh | Kontrollierte Ausführung eines für eine virtuelle Maschine vorgesehenen Programms auf einem tragbaren Datenträger |
JP4155088B2 (ja) * | 2003-04-18 | 2008-09-24 | 日本電気株式会社 | 情報処理装置 |
JP4457581B2 (ja) * | 2003-05-28 | 2010-04-28 | 日本電気株式会社 | 耐障害システム、プログラム並列実行方法、耐障害システムの障害検出装置およびプログラム |
DE10328059A1 (de) * | 2003-06-23 | 2005-01-13 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Überwachung eines verteilten Systems |
US7392426B2 (en) * | 2004-06-15 | 2008-06-24 | Honeywell International Inc. | Redundant processing architecture for single fault tolerance |
CN101048755A (zh) * | 2004-10-25 | 2007-10-03 | 罗伯特·博世有限公司 | 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备 |
US20060236168A1 (en) * | 2005-04-01 | 2006-10-19 | Honeywell International Inc. | System and method for dynamically optimizing performance and reliability of redundant processing systems |
US8117490B2 (en) * | 2005-11-30 | 2012-02-14 | Kelsey-Hayes Company | Microprocessor memory management |
US9317628B1 (en) * | 2005-12-29 | 2016-04-19 | The Mathworks, Inc. | Automatic comparison and performance analysis between different implementations |
US8983823B1 (en) | 2005-12-29 | 2015-03-17 | The Mathworks, Inc. | Verification harness for automatically generating a text-based representation of a graphical model |
US8015390B1 (en) * | 2008-03-19 | 2011-09-06 | Rockwell Collins, Inc. | Dissimilar processor synchronization in fly-by-wire high integrity computing platforms and displays |
US8117496B2 (en) * | 2009-06-18 | 2012-02-14 | International Business Machines Corporation | Detecting and recovering from silent data errors in application cloning systems |
US8862934B2 (en) * | 2009-12-02 | 2014-10-14 | Nec Corporation | Redundant computing system and redundant computing method |
EP3172630B1 (de) | 2014-07-22 | 2020-08-26 | TTTech Industrial Automation AG | Fehlertolerantes, wartbares automatisierungssystem |
CN104850530B (zh) * | 2015-05-21 | 2018-05-29 | 西北工业大学 | 一种立方星星载计算机 |
JP2019066983A (ja) * | 2017-09-29 | 2019-04-25 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP7099050B2 (ja) * | 2018-05-29 | 2022-07-12 | セイコーエプソン株式会社 | 回路装置、電子機器及び移動体 |
CN111190774B (zh) * | 2019-12-26 | 2023-04-14 | 北京时代民芯科技有限公司 | 一种多核处理器可配置双模冗余结构 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4541094A (en) * | 1983-03-21 | 1985-09-10 | Sequoia Systems, Inc. | Self-checking computer circuitry |
US4751639A (en) * | 1985-06-24 | 1988-06-14 | Ncr Corporation | Virtual command rollback in a fault tolerant data processing system |
DE3854026D1 (de) * | 1987-09-04 | 1995-07-27 | Digital Equipment Corp | Fehlertolerantes Rechnersystem mit Fehler-Eingrenzung. |
US4907228A (en) * | 1987-09-04 | 1990-03-06 | Digital Equipment Corporation | Dual-rail processor with error checking at single rail interfaces |
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5838894A (en) * | 1992-12-17 | 1998-11-17 | Tandem Computers Incorporated | Logical, fail-functional, dual central processor units formed from three processor units |
DE69435090T2 (de) * | 1993-12-01 | 2009-06-10 | Marathon Technologies Corp., Stow | Rechnersystem mit Steuereinheiten und Rechnerelementen |
US5664093A (en) * | 1994-12-27 | 1997-09-02 | General Electric Company | System and method for managing faults in a distributed system |
FR2737029B1 (fr) * | 1995-07-19 | 1997-09-26 | Sextant Avionique | Dispositif d'interface entre un calculateur a architecture redondante et un moyen de communication |
US5790397A (en) * | 1996-09-17 | 1998-08-04 | Marathon Technologies Corporation | Fault resilient/fault tolerant computing |
-
1999
- 1999-12-22 FR FR9916227A patent/FR2803057B1/fr not_active Expired - Fee Related
-
2000
- 2000-12-21 DE DE60015182T patent/DE60015182T2/de not_active Expired - Lifetime
- 2000-12-21 JP JP2001547253A patent/JP2003518289A/ja active Pending
- 2000-12-21 WO PCT/FR2000/003640 patent/WO2001046805A1/fr active IP Right Grant
- 2000-12-21 EP EP00990096A patent/EP1240587B1/fr not_active Expired - Lifetime
- 2000-12-21 US US10/168,411 patent/US7024594B2/en not_active Expired - Lifetime
- 2000-12-21 AT AT00990096T patent/ATE280412T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE60015182D1 (de) | 2004-11-25 |
EP1240587A1 (fr) | 2002-09-18 |
EP1240587B1 (fr) | 2004-10-20 |
US7024594B2 (en) | 2006-04-04 |
FR2803057B1 (fr) | 2002-11-29 |
DE60015182T2 (de) | 2006-02-02 |
FR2803057A1 (fr) | 2001-06-29 |
WO2001046805A1 (fr) | 2001-06-28 |
US20030135790A1 (en) | 2003-07-17 |
ATE280412T1 (de) | 2004-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003518289A (ja) | 間欠誤りに耐性のあるソフトウェアシステムおよびそのシステムにおける制御処理 | |
JP5283650B2 (ja) | 過渡エラー制約を受ける電子システムのためのメモリアクセス監視装置 | |
US5903717A (en) | Fault tolerant computer system | |
Avizienis | Fault-tolerance: The survival attribute of digital systems | |
US6141770A (en) | Fault tolerant computer system | |
Hopkins et al. | FTMP—A highly reliable fault-tolerant multiprocess for aircraft | |
Powell et al. | GUARDS: A generic upgradable architecture for real-time dependable systems | |
Avizienis | Toward systematic design of fault-tolerant systems | |
Siewiorek | Architecture of fault-tolerant computers: An historical perspective | |
NZ528503A (en) | Method of recovering a flight critical computer after a radiation event | |
Pignol | DMT and DT2: two fault-tolerant architectures developed by CNES for COTS-based spacecraft supercomputers | |
EP1146423B1 (en) | Voted processing system | |
Shernta et al. | Using triple modular redundant (tmr) technique in critical systems operation | |
Li et al. | Transient fault tolerance on multicore processor in amp mode | |
Hiller | Software fault-tolerance techniques from a real-time systems point of view | |
Liu | A study of flight-critical computer system recovery from space radiation-induced error | |
Avizienis | Design methods for fault-tolerant navigation computers | |
Adams et al. | Techniques for transient error recovery and avoidance in redundant processing systems | |
Groshev et al. | Formation of a management strategy for innovation and investment activities of an enterprise | |
Samedov | An approach to the support of the fault-tolerance of the double redundant computer control systems | |
Passot et al. | The Myriade Micro-Satellite Computer and Software: A Reliable System Based on a Low Cost Computer | |
YOSHIDA et al. | Fault Tolerant Computer Systems for Autonomous Spacecraft | |
Sacco et al. | Fault injection campaign for a fault tolerant duplex framework | |
Aidemark et al. | Using Massive Time Redundancy to Achieve Nodelevel Transient Fault Tolerance | |
Powell | Software-Fault Tolerance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090609 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090903 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090910 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091009 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100706 |