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
Application number
JP2001547253A
Other languages
English (en)
Inventor
ミシェル・ピニョル
Original Assignee
センタ・ナショナル・デチュード・スパティアレ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by センタ・ナショナル・デチュード・スパティアレ filed Critical センタ・ナショナル・デチュード・スパティアレ
Publication of JP2003518289A publication Critical patent/JP2003518289A/ja
Pending legal-status Critical Current

Links

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/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 処理ユニットにより作られる間欠誤りに耐性のあるソフトウェアシステムにおいて、マイクロプロセッサと、誤りの検出と訂正のための符号を生成しかつ制御する装置により保護されるメモリと、メモリアクセスを監視する装置とを、各々含む少なくとも2個の処理ユニット、および、マクロ同期手段と、データ比較/票決手段と、訂正要求手段と、決定手段と、入出力を起こさせる手段とを含む、処理ユニットと入出力ようの中央制御装置、および、各処理ユニットと、処理ユニットと入出力の制御のための装置とをそれぞれ繋ぐリンク、を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、間欠誤り(transient error)に耐性のあるコンピュータシステム
と、そのようなシステムでの制御手順に関する。
【0002】 本発明の分野は、例えば、 −特に、その環境が重イオンから成る宇宙産業、原子力産業、航空機産業や −厳しい電磁環境になりやすい自動車産業 などの分野において、間欠誤りを起こしやすい、電子部品にとっての敵対環境(
放射線や電磁干渉)下にあるコンピュータアーキテクチャの分野である。
【0003】 本明細書の残りの部分で、宇宙領域の例が取り上げられるが、これは、電子部
品の中で無作為に発生する間欠誤りの極めて代表的なものである。
【0004】
【従来の技術および発明が解決しようとする課題】
衛星用のコンピュータアーキテクチャの設計者達は、宇宙に存在する異なる種
類の放射線の問題に直面している。これらの放射線の効果の一つは、“混乱(up
set)”あるいは“単一の故障の混乱(Single Event Upset)”と呼ばれるが、
これは、メモリのような電子部品の中でのビットの状態の一時的な、一つ或いは
いくつかの変化のことである。単一の故障により起こる誤りは、欠陥データ(た
とえば、衛星アクチュエータからの間違った命令)ができてしまったり、ソフト
ウェアにおける順序制御の重大な障害(すなわちマイクロプロセッサのクラッシ
ュ)に至る。
【0005】 今まで、単一の故障のようなものの誤りは、この故障に対する低反応(“対放
射線耐性”と呼ばれる)さらには無反応(“対放射線強化”と呼ばれる)の集積
回路の技術を用いることで解決を図ってきた。そのような技術は、マイクロエレ
クトロニクス産業によって使われず、それゆえ、軍事方面或いは宇宙方面で特に
開発をされてきた。
【0006】 そのようなマイクロエレクトロニクスの技術および後者の部品の開発に関連
した全体の費用(開発と保守管理と性能面の継続する進歩)と、これらの部品の
売上原価は非常に大きなものである(超小型電子のど(throat)の開発には約1
0億フランに達した;対放射線耐性あるいは大砲車線強化型のマイクロプロセッ
サの購入費用は数万フランに達した;一方、その民生用のものは数千フランであ
る;強化型と民生用との比は100/1あるいはそれ以上である)。
【0007】 米国防省(The American Ministry of Defence)は、その応用のために軍用電
子部品の使用を停止し、民生用の特性/標準/部品を軍の活動によって購入処理
を促進した。
【0008】 “高忠実度”と呼ばれる、軍用部品の市場の市場占有率は、1960年代の8
0%から1995年の1%以下まで鋭く落ち込み(産業による電子部品の使用は
急激に増加し、軍用市場は縮小した)、軍用部品がほどなく消えざるを得なくな
った(いくつかの大きな軍用部品製造会社は、小さくなり回復しようもないこの
市場から撤退した)。
【0009】 宇宙分野で民生用部品を使用する可能性は、何か新しく作り出されたプロジェ
クトと直面するという問題である。宇宙産業においてこの種の部品を使用するこ
とは、以下の利点がある。 −主要な供給側がこの市場から撤退する結果として、“高忠実度”を供給する際
に記録された落ち込みの問題が解決することと、 −費用を削減できる、つまり、“高忠実度の部品”のセットは設備を開発するた
めの総費用の中で無視できるものであり、もう一度繰り返される費用の中で重要
な因子となる。しかし、部品の比重は、考慮すべき対象(プラットフォーム、動
荷重、設備、繰り返しの程度等)によって、非常に変わりやすいことと、
【0010】 −より高性能の機能/部品を使用することで、エレクトロニクスの総量を節減し
(量/消費/信頼性の最適化)および/または機能性を拡大することと、 −宇宙へさらに反応性の接近ができるプロジェクトを開発する期間の、現在1か
ら2年の“高忠実度”の部品を供給する時間に切り込むこと。
【0011】 それでもやはり、コンピュータアーキテクチャの設計者が直面する大きな問題
は、これらの部品の放射線への感度であり、特に重イオンへの感度である。かっ
て“部品”レベル(抵抗や強化型技術)で扱われてきた問題が、今や“アーキテ
クチャ”あるいは“システム”のレベルで解決されなくてはならなくなった。
【0012】 衛星は、従って、基板上のエレクトロニクスは、異なる粒子(電子、重イオン
、陽子)によって作られる放射線の環境にさらされるが、これらの粒子は大気に
よって濾過されるので、地上で使用されるシステムはこの環境を知ることができ
ない。
【0013】 これらの粒子の発生源は、4つの部品に分類でき、互いにつながっている。 −部分的に銀河系外の宇宙放射線と部分的に銀河系が発生源の、非常に強力なイ
オンからなるものと、
【0014】 −地球の大気と太陽粒子の間の相互作用の結果として生まれた、捕捉された電子
と陽子によって作られる、地球を囲む放射線帯と、 −陽子か重イオンを送り出す態様の噴火と、 −それにより、低エネルギーの陽子とイオンが太陽の重力による引っ張りから逃
れることができる、王冠プラズマ(crown plasma)の蒸発によって作られる太陽
風。
【0015】 これらのエネルギー粒子は、崩壊して電子部品を通り抜けるときに、エネルギ
ーの一部を伝搬し、これにより電子部品の正常な動作が阻害される。本明細書で
は、単一の故障の混乱は、重イオンと陽子とによって作られるものとして扱う。
【0016】 これらの単一の故障の混乱は、二進値を記憶するセル、すなわちメモリセルと
記録と基本的なトリガー回路内のビット誤りの発生に対応し、メモリセルが記憶
した値“0”は、値“1”に変えられ、また逆も起こる。一般的に言って、単一
ビットは、一つの重イオンによって変更される。これらの故障は、破壊的ではな
く、新しいデータが引き続いて書き込まれ、これは誤り無く記憶される(同じセ
ル内の他の単一の故障が発生しなければ)。従って、これらの故障で起きた誤り
は、間欠的である。
【0017】 民生用の部品を宇宙産業で大規模に使用することができるために、第1の可能
性のある解決法は、放射線の下での系統だった試験を用いた、いくつかの民生用
部品を選択することである、なぜならいくつかは当然に放射線に対して(あるい
は少なくともその効果の幾ばくかに対して)無反応であるからである。そのよう
な解決法は、選択するのに非常に費用がかかるだけでなく、単に間に合わせに過
ぎない、なぜなら、後者が放射線に対して反応することが分かれば義務として主
要な産業標準を使用することはさせないからであり、これはしかし望ましい。第
2の解決法は、これらの放射線によって起こる故障を許容する、特に間欠誤りを
許容することであり、すなわち、誤りが検出されるようなアーキテクチャを定義
し、しかる後にその誤りを正しいものにする。間欠誤りを考慮することは、次に
、“部品”レベルから“アーキテクチャ”と“システム”レベルに移る。この解
決は、経済的に有益であり、また部品の選択の制約を減じることから、本発明に
おいて好ましい。
【0018】 故障と欠陥に対する許容の分野は、多くの研究論文の主題であり、例えば部品
の故障を許容するために、確実ないくつかの機構が地上のシステムにおいて広く
使用されている(例えば、保安システム)。
【0019】 欠陥の検出と分離と復旧のための多くの機構が、専門家には良く知られている
。いくつかの機構は、単に誤りを検出し、他のものは、誤りを検出してそれを修
正する。さらに、これらの機構は、一時的な誤りあるいは完全は故障あるいは両
方の処理するために適用されてきた。 −欠陥の防止:実際に使用する前に静的データをシステム的にリフレッシュする
(例えばコンフィギュレーションの記録);後者が使用される前に、部品の欠陥
を検出することができる、公称の機能以外の(“オフライン”)自動試験。
【0020】 −メモリと通信とおそらく論理回路(基本的に、“集積制御”と呼ばれる、AS
IC(Application Specific integrated circuit)あるいはFPGA(Field P
rogrammable Logic)の構築内)に加えられる誤りに対する検出符号あるいは検
出器/訂正器。誤り検出あるいは誤り訂正(EDAC)素子は、メモリ設計(me
mory plan)上の空間で規則正しく使用される。スキャン機能(全メモリ設計を
規則的に再読込する)がこれらの素子に結びつけられ、長期的に見て符号の検出
/訂正能力を損なう可能性のある潜在的な誤りが蓄積するのを防ぐために、バッ
クグラウンドタスクとして実行される。
【0021】 −英語でNMR(“N個のモジュール式冗長”)あるいは特別な場合のTMR(
“3重のモジュール式冗長)として知られる、2重化と比較、あるいは3重化と
多数投票:これらの機構によって、不良な命令を作ることはないが、最初の欠陥
(2重)で停止するようなフェイルセーフなアーキテクチャが得られるか、ある
いは、単一の誤りをリアルタイムに隠して安全なまま実行をする(3重)能力を
持ち、故障(“不良動作”)時に動作を続けるアーキテクチャが得られる。この
種のアーキテクチャは、欧州宇宙カプセルのための安全機能計算上の研究で使用
されたが、本明細書の終わりの参照文献[4]に記載されている。マスター/チ
ェッカーのアーキテクチャも、このクラスに見られるが、そこでは、マイクロプ
ロセッサのみが2重化されており、“マスター”が作ったデータを“チェッカー
”が検査する。TEMIC/THS社のERC−32マイクロプロセッサがこの
機構を受け持っており、参考文献[5]に記載されている。
【0022】 −NMRに関した多重プログラミング(“Nバージョンのプログミング”)、こ
れにより、ソフトウェア設計上の誤りが検出できる、なぜなら各計算機は、共通
の規格に基づいて特別に開発されたソフトウェアバージョンを持っているからで
ある。
【0023】 −一時的な冗長性:この中には、2度実行して比較することか、あるいは1度実
行して命令記録をロードし、それから確認することができるように比較するため
に再読込することのいずれかが含まれ、そのようなある“弾を詰めて、発射する
(arm and fire)”機構が、高度に重大な命令(例えば、ロケット点火装置の要
素の引き金を引くこと)のために、宇宙産業で使用される。
【0024】 −実行時間制御:“監視タイマー”が全ての宇宙計算機で使用される(プログラ
ムは、限られた時間内に実行されなければならない)。さらに、実行時間をより
細かく制御すること(タスクの所要時間の制御や、通信装置からの応答を得るの
に認められた最大時間等)がソフトウェアに追加される。監視の再設定は、キー
を特別に並べることを必要とする(自動車産業で使用される)。
【0025】 −流れ制御の検査(例えば、マイクロプロセッサの順序制御):監視タイマーに
よって、精密でない制御ができる(ハードウェアのクラッシュを検出する)。命
令の流れを精密に制御することは、多かれ少なかれ複雑な監視処理によって可能
となる。署名分析制御は、特に効果的であり、エレクトロニクスにとってそれほ
ど難しくない。 −ページ/セグメントによるアクセス権に基づいた、マイクロプロセッサのため
のアドレシング確認制御。
【0026】 −もっともらしさの制御:この原則は、いくつかの種類のセンサからのデータが
比較されて可能な異常を検出する、衛星方位と軌道制御システムにおいて使われ
るが、このデータは、前の研究に基づいて予測フィルタのおかげである評価済み
の基準に関する一つのデータか、あるいは予め定めた会員の範囲に関した一つの
データのいずれかのデータである。いわゆる“Algorithm Based Fault Toleranc
e”法は、もっともらしさの制御の副クラスの代表であり、検証は、第2アルゴ
リズム(例えば、もし後者が誤りの無いものなら、得られた結果から始めること
によって、最初のデータを再び見つけることができる、逆アルゴリズム)の実行
に基づいている。
【0027】 −比較的複雑なデータ構造を要求する、構造的な、あるいは意味的なデータ制御
。 −欠陥が訂正できない機構のための、誤り重なりの相補的概念であり、主に、再
開点:通常の文脈の保管と、保管された最後の文脈に基づいた再開。参考文献[
1]から[3]に記載されたCOPRA計算機の開発(1980)は、この原則
に基づいている。
【0028】 −確かなアーキテクチャに対して再び検出/訂正の初期能力を見つけるために、
誤り計算機内で健全な文脈を注入することによって、欠陥資源を再挿入する。計
算機内で欠陥ストリングを再挿入することは、危険でない飛行段階に操作者が実
行することができる。
【0029】 “マスター/チェッカー”のようなアーキテクチャは、マイクロプロセッサだ
けを2重にして成り、両方のマイクロプロセッサを命令ごとに同期し、規則的に
マイクロプロセッサのバスを、メモリのアクセスの度に比較する(命令とデータ
を)。マイクロプロセッサの中には、バスの比較器と共に、同期機構をチップ上
に直接に集積する:例えば、IBM(登録商標)RH6000,Intel(登
録商標)i960,Intel(登録商標)Pentium(登録商標),TE
MIC/MHS ERC−32マイクロプロセッサなどであり、参考文献[5]
に記載されている。
【0030】 こうして、図1に示されるシノプティック(synoptic)には、 ・マイクロプロセッサのコア(CM) ・クロック発生器(GH) ・クロック同期回路(SH) ・構成記録器(RC) ・バス比較器(CMP) ・一つあるいは二つの指向性絶縁体 を含んだ −マスター1プロセッサと、 同じ要素である、 ・マイクロプロセッサのコア(CM) ・クロック発生器(GH) ・クロック同期回路(SH) ・構成記録器(RC) ・バス比較器(CMP) ・一つあるいは二つの指向性絶縁体 を含んだ −チェッカー2マイクロプロセッサと −メモリ3 とが含まれる。
【0031】 信号CとAとDは、それぞれ内部の制御バスとアドレスバスとデータバスであ
る。 クロックHとHiは、それぞれ例えば、10MHzと100MHzの周波数で
ある。 図1において、斜線の要素は、“マスター/チェッカー”のアーキテクチャに
特有なものであり、線の引かれた信号は、インアクティブ(inactive)の信号あ
るいは禁止された(inhibited)信号である。
【0032】 マイクロプロセッサは、“マスター/チェッカー”のアーキテクチャに特有な
以下の要素を集積する。 −2個のマイクロプロセッサのうち1個を“マスター”に、他を“チェッカー”
に構成することのできるRC記録器と、 −両方のマイクロプロセッサ内のハイ(Hi)の内部クロックの同期と、 −いくつかのCMPバス比較器と、 −バスの絶縁が、読み出しと書き込みのアクセスの種類によって、また、マイク
ロプロセッサが“マスター”か“チェッカー”かによって、内部と外部に位置す
ることのできる論理回路。
【0033】 それぞれメモリの書き込み状態と読み出し状態を表す、図2Aと図2Bに示し
たように、機能は以下のようである。2個のマイクロプロセッサ1と2とは、同
時に同じ命令の読み出しと実行とを行う。メモリに書き込む際の各アクセス時に
、両方のマイクロプロセッサのコアCMは、アドレスとデータとを生成する。マ
スターのマイクロプロセッサ1の中にあるバスの絶縁体は、出力に向かっており
、一方、チェッカーのマイクロプロセッサ2の中のバスの絶縁体は、入力に向か
っており、後者からのバスの比較器は、2個のマイクロプロセッサのコアMCか
ら与えられる読み込みデータをビット毎に比較する。異常読み出しの各アクセス
時に、マスターのマイクロプロセッサ1によって与えられるアドレスは、チェッ
カーのマイクロプロセッサ2によって、後者が計算したアドレスと比較され、一
致の故障の際には、両方のマイクロプロセッサ1と2とが同じデータを読む。
【0034】 そのために設計されておらず、従って、上述した機構を組み込んでいないマイ
クロプロセッサでもって、この種のアーキテクチャを構築する際の問題は、内部
クロックと外部クロックとの間の時間のずれである。実際に、ユーザーは、マイ
クロプロセッサに、比較的低い周波数のクロックを与えるが、より高い周波数(
数百MHz)を得るために、位相ロックループと内部で掛け合わせられる。従っ
て、同じクロックで駆動される2つのマイクロプロセッサは、同じ周波数で動く
が、互いに相手に対して時間のずれがある。この時間のずれの大きさは、ばらば
らで、電源投入時に決まる。このように、バスの直接の比較は、不可能である。
【0035】 “マスター/チェッカー”のアーキテクチャにおいて、メモリは、2つは無い
。COPRAアーキテクチャにおいて、メモリは、部品の欠陥に耐性を持たせる
ために、2つ用意されるが、2つの中央ユニットは、同じメモリバンクを使用す
る。
【0036】 本発明の処理の目的は、放射線によって引き起こされる単一の故障の混乱が起
こり易いという性質にも係わらず、使用に大きさ制限のある民生用部品をミッシ
ョン(mission)として使用することができるように、例えば、広い範囲を包括
する衛星において、コンピュータアーキテクチャにおける間欠誤りを処理するこ
とである。
【0037】
【課題を解決するための手段】
本発明は、処理ユニットからできており、間欠誤りに耐性のあるコンピュータ
システムを提唱するものであり、以下の特徴を持つ。 ・ 少なくとも2個の処理ユニットを備え、各々は以下のものを含む。 −1個のマイクロプロセッサと、 −誤りの検出と訂正符号を生成し制御する装置によって保護されたメモリと、 −メモリアクセスのための監視装置、これには以下が含まれる。 −メモリをセグメント化し、各セグメントにアクセスするための権利を検証す
るための手段と、 −回復のコンテキスト(context)を保存するメモリセグメントの特別に保護
する手段と、 −処理ユニットと入出力のために、制御装置に訂正要求信号を生成する手段。
【0038】 ・ 制御ユニットと入出力のための、中央におかれた制御装置を備え、これには
以下が含まれる。 −処理ユニットのマクロ同期のための手段と、 −処理ユニットが生成したデータを比較/票決するための手段と、 −メモリアクセス監視装置から送出された訂正要求の手段(信号)と、 −この要求が同時に全ての処理ユニットに送られるようにする、誤り(信号)
の故障時の訂正段階を初期化するような決定を行う手段と、 −入出力を実行することのできる手段。 ・ 処理ユニットと入出力に対して、各処理ユニットを制御装置に繋げるための
リンクを備える。
【0039】 ソフトウェアのタスクは、メモリアクセス監視装置のおかげで、特に安全で特
別な保護から、有利に恩恵を受けており、以下のことができる手段を含んでいる
。 −各タスクに対するメモリ域が区別され、 −現在のタスクに影響されるメモリ域へのアクセスが承認され、 −他のタスクに含まれるメモリ域へのアクセスが禁止される。
【0040】 ソフトウェアのタスクの先行するコンテキストを記憶することは、メモリア
クセス監視装置のおかげで、特に安全で特別な保護から、有利に恩恵を受けてお
り、以下のことができる手段を含んでいる。 −このコンテキストは、特別な記憶装置を要せずに、各処理ユニット内の、中
央に置かれた共有のRAM(ランダムアクセスメモリ=“Random Access Memory
”)タイプのメモリの中に記憶されることと、 −各タスクのためのコンテキストを保存するのに必要とされるメモリ域を区別
することと、 −このコンテキストを2重の“古い”そして“新しい”バンク内に記憶するの
に使用する各域を制御することと、 −2重の“古い”そして“新しい”バンクが縦に働くようにすることと、 −2重のバンクを、単に“古い”そして“新しい”索引のセットを反転させる
ことで、行き来することと、 −“古い”域を、書き込みが禁止されている間は、読み出しを認可すること。
【0041】 この装置は、基板上の電子システム及び/または宇宙領域で使用することが
できる。
【0042】 本発明は、また、コンピュータシステムを間欠誤りに対して耐性を持たせ、
処理ユニットで作られた、以下のことが可能であるという特徴を持つ手続きを提
唱する。 ・ 同時に少なくとも2つの処理ユニット上で、独立且つ非同期に実行される、
同一のソフトウェアプログラムであり、以下の機能に従うもの。 −処理ユニットのメモリを含む間欠誤りは、ソフトウェアのスキャンタスクに
関連するメモリ内に記憶される検出及び生成符号を使用するおかげで、検出及び
訂正されることと、
【0043】 −処理ユニットのためのマイクロプロセッサの正しい機能が、マイクロプロセ
ッサが正しくアクセス権をメモリの現在のセグメントに与えるように制御するメ
モリアクセス監視に関連した、メモリのセグメンテーションのおかげで、検出及
び訂正がされることと、 −回復のコンテキストを記憶する割り当てがされたメモリセグメントは、欠陥
のあるマイクロプロセッサがこれらの危険な域で誤りを生成できないために、特
定のメモリアクセス監視のおかげで、非常に安全であることと、 −訂正の命令が、処理ユニットのために制御機能と、アクセス権の侵害の故障
内の入出力に送られること。
【0044】 ・ および、処理ユニットと入出力のための制御機能内の以下の作用を中央に集
めること。 −ソフトウェアの、異なる同時実行のマクロ同期と、 −ソフトウェアの、異なる実行によって生成される全てのデータの比較/票決
と、 −誤りの検出に続いて、メモリアクセス監視から送出された訂正命令の受信と
、 −誤りが検出されると、その源が何であれ、訂正状態とこの命令の送信とを、
同時にソフトウェアの異なる実行に送るように決定をすることと、 −ソフトウェアプログラムからの要求による入出力の性能。
【0045】 ・そして、同時に実行されるソフトウェアプログラム間のインターフェイスと、
処理ユニットと入出力のための制御機能として働くこと。
【0046】 有利なことに、ソフトウェアタスク間に誤り制限域があるが、これは、すなわ
ち、欠陥のあるマイクロプロセッサは、現在のタスクの変数を乱すことができる
だけで、メモリセグメント制御のおかげで、他からの変数は乱すことはない。
【0047】 有利なことに、誤りを検出する故障において、たとえ2つの処理ユニットしか
なくても回復は可能である、それは、票決しそしてソフトウェアタスクの先行す
るコンテキストを記憶するおかげであり、また、特別な保護そして安全であると
いう保証をするおかげであるが、前記保護が安全である理由は、たとえ、各処理
ユニット内の分割されたあるいは中央に集められたメモリ内に記憶されるにして
も、“フリップフロップ”内で動作する“古い”あるいは“新しい”2重のバン
ク内の各タスクに特有のメモリ域内のメモリアクセス監視装置によって制御され
る域内に記憶されるからであり、これら2つの2重バンクの“フリップフロップ
”は、現在のコンテキストが先行するコンテキストになるように、“古い”ある
いは“新しい”を単に反転することで実行されるが、それは、“古い”域は、タ
スク内の入力データとして使用するのには読み出しが許されるが、書き込みは禁
止され、また、マイクロプロセッサの不調の故障時でも保護がなされるからであ
る。
【0048】 有利なことに、先行するコンテキストの復元に基づいた誤り回復は、先行する
コンテキストが安全である、つまり誤りが無いとするインデックスが変更されな
いという事実のおかげで実行される、なぜなら、誤りが検出されないときには、
検出/復元に関する期間の終わりに、規則正しく“フリップフロップ”を経験す
るからであり、それゆえに、復元は、古い状態にするのに固有の現在の/先行す
るコンテキストがはっきりしているインデックスの“フリップフロップ”に限定
され、従って、特別な処理は何もいらない。
【0049】 有利なことに、誤りの検出/復元のグラニュラリティ(granularity)は、処
理ユニット上で実行されるソフトウェアタスクの各々の制御/命令サイクルであ
り、そこでは、復元は、そのソフトウェアタスクに作用された他のタスクの実行
をすることなく、欠陥のあるソフトウェアタスク上で、行うことができるだけで
ある。
【0050】 有利なことに、誤り検出には、マイクロプロセッサを古い状態にすることが含
まれており、すなわち、そこで誤りが検出された検出/回復のグラニュラリティ
に対応した期間内の実行を禁止し、通常の実行サイクル内のある期間に“穴”を
作ることが含まれている。
【0051】 有利なことに、コンテキストの比較/票決は、選択的に2つの方法で実行され
る。 −アプリケーションのソフトウェアが、コンテキストデータに欠陥の無いとき
にのみ記憶をする、すなわち、誤りが無いように、コンテキストデータの分類さ
れた比較/票決を明確に要求し、この要求は検出/回復のグラニュラリティに対
応する期間の終わりに規則的に作られるか、あるいは、 −計算時間の際に、各処理ユニットのためのハードウェアメモリアクセス監視
装置は、コンテキスト域内の書き込みをしようとするのを検出し、規則的にその
正しさを確かめるために比較/票決にかける。
【0052】 この手続きにおいて、誤り制限域の3つのレベルが定義される:空間域と時間
域とソフトウェア域である。 この手続きは、選択されたマイクロプロセッサの種類(汎用のマイクロプロセ
ッサ、信号処理用のマイクロプロセッサ、特別に開発されたマイクロプロセッサ
等)と選択された基準(make,family,reference等)に関係なく、また、民間で
利用可能な全てのマイクロプロセッサで使用することができる。 この手続きは、基板上の電子システムおよび/または宇宙産業で使用すること
ができる。
【0053】 誤りの適用範囲の広さと同様に、本発明の手続き特有の開発を最小化すること
には、この手続に対して2つのおもしろい点がある。明確な委任を最大化すると
いう推測において、基本的に次の3つの展開がある。 ・ ソフトウェアに関して −タスクの最後に命令を再分類することが可能であり(2重アーキテクチャに
おいて後者が普通である)、 −タスクの最後にコンテキストデータへの認可の引き金を引くことが可能であ
り、 −メモリアクセス監視装置のキーの制御をし、 −訂正のためにコンテキストデータを記憶し、 −上述した特性によって、現在のソフトウェアプログラムをわずか更新する。
・ ハードウェアに関して −メモリアクセス監視機能の展開と、プロセッサと入出力の制御である。
【0054】 さらに、以下の要素が利用可能である。 −民間のソフトウェアライブラリを制約無しに利用することができ、 −メモリアクセス監視機能とプロセッサおよび入出力の制御は、一般的であり
、一つのプロジェクトから他のプロジェクトへと再使用可能であり、その上、マ
イクロプロセッサを変更する際に採らなくてはならない、メモリアクセス監視装
置のためのマイクロプロセッサインターフェイスもそうである。
【0055】 まとめると、本発明による手続の利点は、以下のようになる。 −ハードウェアの展開は、無限ではなく、一般的なものであり、それゆえに一
つのプロジェクトから他のプロジェクトへと再使用可能であり、 −ソフトウェアの展開は非常に少しであり、 −フェイルセーフ(fail safe)システムにより使用される計算のためのエネ
ルギーは低いものであり、 −限りのある構造上の重複化のおかげで、他のフェイルセーフのアーキテクチ
ャに関して繰り返して使われる費用は最小になり、 −訂正様式は、何らかのマイクロプロセッサの負荷を含まず、従って、アプリ
ケーションの実時間機能を妨害せず(これは、例えば、調整の難しさを引き起こ
す)、 −空間域と時間域とソフトウェア域の誤り制限域の、3つのレベルを定義する
ことができ、 −実時間プログラム内に、誤りの検出が作り込まれており、民間の製品が検出
のために余分な費用を要せずに使用することができる。
【0056】
【発明の実施の形態】
ある数のスペースミッションにおいて、非常の高度の計算能力が要求される。
これは、特に、計算能力の欠如の罰が非常の大きい遠隔通信衛星の分野ではそう
であり、もっとも混雑する通話時間中の送信でいくつかの妨害があると、衛星の
操作者に罰金として1年のチャネル賃貸料に等しい費用がかかる。
【0057】 さらに、全て民生用の部品で組まれた計算機において単一の故障による混乱の
起こる率は、メモリセル(レジスタ等)の数のような前提と、ユニットセルの感
度を考慮した値とによって決まる。単一の故障による混乱の頻度は、計算機の実
時間の周期の周波数よりずっと低く、この周期は、本発明の処理に対して選択さ
れた誤り検出/訂正のグラニュラリティに対応しており、これは1月に1回から
数回であろう。
【0058】 本発明による間欠誤りのためのフェイルセーフの定義のために選択された前提
の最大値は、以下のようである。 −参考のためのアーキテクチャ内の全ての部品は、民生用の部品である。 −これらの民生用の部品は、その使用のために前もって必要なものとして、単
一の故障の混乱用に能力を備えていない:従って、それらは、反応性があると考
えられる。
【0059】 本発明の処理の説明の基盤として、宇宙で使用される計算機の標準的且つ一般
的な基準は、図3で示したものを考える。これには、 −1台の中央ユニット11と、 −1つのマスメモリ12と、 −電源13と動荷重15と火工品16とサーマル(thermal)17と軸受けと
起動制御18の間のデータバス19によりリンクされたインターフェイスと、 −遠隔制御と遠隔測定インターフェイス14と、 −監視と再構成のためのエレクトロニクス機器20と、 −スイッチングさらた交流と永久AP電源を配る、連続−連続変換器21。
【0060】 電力インターフェイス13が、太陽発電機25と電池26とに接続されている
。 遠隔制御と遠隔測定インターフェイス14が、送信器/受信器とアンテナ28
と29とに接続される切替器27に接続される。
【0061】 動荷重31が、アビオニクス(avionic)バス32を通って中央ユニット11
に接続され、高流シリアルリンク33を通って、遠隔制御と遠隔測定インターフ
ェイス14と同様にマスメモリ12に接続され、また動荷重インターフェイス1
5にも接続される。 火工品インターフェイス16は、配置可能なシステムのいくつかに接続される
【0062】 サーマルインターフェイス17がいくつかの電気加熱器とサーミスタ36とに
接続される。 軸受けと軌道制御システム18が、いくつかのセンサC1,C2,...Cn
,いくつかのアクチュエータA1,A2,...Amと、タンク37のための圧力
センサに接続される。
【0063】 従って、そのようなアーキテクチャは、異なる処理モジュール(中央ユニット
モジュール)あるいは入出力(取得(acquisition)モジュールや命令モジュー
ル)から成る。入出力モジュール(あるいは取得/命令)には、低レベルのエレ
クトロニクス(アナログ/ディジタルあるいはディジタル/アナログ変換器、デ
ィジタルあるいはアナログパスマルチプレクサ、リレー等)が含まれる。
【0064】 これらのモジュールは、明確にではないが、マザーボードで接続される基板あ
るいはアビオニクスバスによって接続されるコンプリートボックス(complete b
ox)でよい。どちらの場合も、バスへのインターフェイスは、中央ユニットモジ
ュール上のマスターバス結合器(BC)と、他のモジュール上の専用バス結合器
によって作られている。
【0065】 図4に図示される参考としてのソフトウェアアーキテクチャは、処理タスク(
例えば、軸受けと軌道制御システムタスク、実時間クロックタスク、基板上の制
御タスク等)から作られており、各タスクは計算機から得なければならない結果
(命令あるいは符号)を生成し、これらの結果は計算された直後に生成される(
すなわち、計算機から離れた直後に)。取得(あるいはAcq)は、時間コヒー
レンス(coherence)によって(例えば、軸受けと軌道制御システム)、実時間
サイクルの開始時に共に分類される。
【0066】 図4において、説明を明瞭にするために、タスクA,B,Cが同じ周波数で示
されている。 これらのタスクの行うことは、実時間のIT−TRサイクルの切替によって引
き金が引かれる実時間のサイクルによって評価される。サイクルによって、ある
サイクルが、サイクル単位に開始することができ、実時間サイクルの周波数ある
いは副周波数のいずれかで動作する。他のタスクは非同期であり、イベントが起
こる際に初期化される。
【0067】 参考のハードウェアとソフトウェアのアーキテクチャが描かれている図面が、
図5で与えられる。以下は、この図に描かれているものである。中央ユニット4
0と、センサ42に接続される取得エレクトロニクス41と、アクチュエータ4
4に接続される命令エレクトロニクス43と、これら2つの電子装置41と43
は、中央ユニットと同様に、データバス45に接続される。
【0068】 データ取得である、3つの主要な位相であるPh1,Ph2,Ph3の順番付
けと、それらの処理と、命令の発生とは、エレクトロニクス40,41,43の
3つ全ての部分を動作させ、ここで位相Ph2とPh3は内部接続されている。
【0069】 本発明の処理は、一般的なものを目指しており、その誤りの原因が何であれ(
宇宙の放射線、電磁パルス等)、間欠誤りの制約を考慮した計算機の全ての種類
において使用することができる。 従って、その説明は、特別なアプリケーションを含まない、標準的な参考的ハ
ードウェアとソフトウェアとを用いた。このアーキテクチャのハードウェア的側
面は、単にハードウェア構成とは関係なく機能ブロックに基づいており(構成部
品の選択とは関係なく、また、集積の種類の選択には関係なく等)、従って、特
定の部品の特別な性質と、誤り検出/訂正の分野での可能性は考慮していない。
従って、本発明の手続きは、自足型である。それにもかかわらず、所定の応用分
野のために選択された部品で集積された、可能性のあるフェイルセーフの機構を
使用することで、本発明単独の手続きに関して、誤りの保証範囲を改善すること
ができる。
【0070】 単一の故障の混乱にる、参考のアーキテクチャ内での潜在的な偽筆署名の試験
が行われた。それによって、誤りは、2つの大きな分類ができると分かった。 −データ誤り −順番の誤り、これは、さらに2つの以下の下位分類ができる。
【0071】 ・ “軽度の故障”:誤り分岐であるが、マイクロプロセッサは、命令によって
正常に戻り、命令の多かれ少なかれ誤りのある順番で実行する。 ・ “重度の故障”:マイクロプロセッサは、もはや動作不能である。マイクロ
プロセッサは、命令で正常ではいられず、マイクロプロセッサは、命令レコード
にデータをロードし、スタックポインタは、妨害をし、命令の順番には遮断され
たところがあり、不可能な事象のために待たされ、無限ループに落ちる等々。
【0072】 これら2つの分類は、それ自身、いくつかの下位分類に分けられ、その最重要
事項にはアドレス誤りがある。
【0073】 故障において“軽度”と“重度”の区別は、重要である:マイクロプロセッサ
の外部のハードウェア機構が広く“重度”の故障(例えば、監視)を必要として
いるか、あるいは、後者の場合にはマイクロプロセッサが不安定ではあってもい
くつかのコードを実行し続けるので、ソフトウェア機構が、“重度の故障”を検
出するのに十分であるかのいずれかである。
【0074】 さらに、マイクロプロセッサの故障は、ある種の重大な誤りを表しており、こ
れは、“狂ったマイクロプロセッサ”は、目的に対して破滅的な結果となる動作
をすることがあるからである。従って、短時間にそれらを検出する努力をし、そ
して/または検出できない誤りによる間違った命令の可能性を最小化するように
、ある種の誤り制限域を作ることが重要である。
【0075】 上記の両方の分類の誤りに属する故障を直接に検出する一つの機構あるいは一
組の機構は、検出のための完全な能力を備えている。もし、直接にこれら2つの
分類を検出することがあまりに大変ならば、選択した解決のための保証範囲の全
体の割合を増やすように、一つあるいはいくつかの下位分類、特にアドレス誤り
に特別に適合する機構を使用することは、おそらく興味深いかも知れない。
【0076】検出/訂正のグラニュラリティの選択 全体に、本発明で検出/訂正のために提案するグラニュラリティは、計算機の
基本的な実時間サイクル、例えば、衛星のプラットフォーム計算機における軸受
けと軌道の制御タスクである。 さらに正確に言うと、グラニュラリティは、処理ユニットのコアで実行される
ソフトウェアタスクのひとつずつに対する制御/命令サイクルであるが、“実時
間サイクル”という言葉は、単純化のために取っておくべきであろう。
【0077】 実際、完全に“古典的な”二重構造における、本発明の処理において、その目
的は、計算機に監視無しで仕事を行わせ、計算機の結果であるはずのデータ(命
令)、あるいは誤り検出/訂正に使用されるデータ(コンテキスト)を承認する
ためだけでよくすることである。
【0078】 グラニュラリティに対する実時間サイクルを選択することは、非常に有利であ
る: −この周波数において、殆どのセンサ/アクチュエータは、取得あるいは命令
のためにアクセスされ、 −実時間サイクルの最後に、“有効な”データが、比較的制限された数におい
て利用可能である(多重中間データが無いか、使用された局所的な変数):
【0079】 ・ 検出するために、認可されなくてはならない“コンテキスト”のタイプのデ
ータは、それゆえ限られたものであり、 ・ 訂正するために、簡単で、良好に検出された回復コンテキストが利用可能で
ある。
【0080】 特に訂正のために、非常に細かいグラニュラリティを捜すことは、回復コンテ
キストに必要且つ十分なデータの定義によって起こる複雑さと、それに加えて、
全体の機能を更に複雑にする中間票とを素早く明らかにする。
【0081】 さらに正確に言うと、所定のタスクの検出/訂正のグラニュラリティは、この
タスク自身の周波数である、というのは、票決はタスクの最後に行われるからで
ある。従って、もし、タスクが10Hzであり、タスクが1Hzである場合には
、グラニュラリティは前者に対しては10Hzであり、後者には1Hzである。
理論は同じであるが、明らかにするために、以下のように“実時間サイクルによ
るグラニュラリティ”の表現が、“タスクによる”よりむしろ使われる。
【0082】全体的な説明 一般的に言って、“2重式”のタイプのアーキテクチャ(同じソフトウェアを
並列に実行する2つの同じ物理的ストリングで、出力の比較を行うもの)は、例
外無しに全ての誤りを検出できるので、特におもしろいものであり、そのタイプ
が何であれ(データ中の誤り、アドレス、順番付け、構成等々)そのような解決
の欠点は、構造的な冗長性の比重にある:重量、容量、消費量、そして計算機の
反復費用は全て二倍以上であり、これは受け入れられないアプリケーションが多
い。
【0083】 誤り検出/訂正に関連する困難の大部分は、マイクロプロセッサにあるので、
“マスター/チェッカー”タイプのアーキテクチャは、非常に魅力的である。し
かし、マスターとチェッカーとのマイクロ同期と、バスの比較とを認可する機構
をチップ内に直接持たないマイクロプロセッサを使用することができるために、
他の解決法を捜すことが必要である。
【0084】 構造的な冗長性を最小化しつつ、2重式の効率に利するために、そして“マス
ター/チェッカー”タイプのアーキテクチャの緻密さに近づくために、本発明の
手続きは、マイクロプロセッサとそのメモリ(ここでは“処理ユニットのコア”
について議論する)のみ2重化し、それらをマクロ同期化することからなり、各
処理ユニットのコア(例えば、命令やコンテキスト)から作り出されるデータは
、外部の部品が使用する前に認可がされる。
【0085】 検出に続く訂正では、実行中の実時間サイクルを禁止し、再開するための正常
なコンテキストを再ロードする;実際に再開は、再ロードコンテキストに基づい
た以下のサイクルの名目的な実行である:実時間サイクルに、あたかも“穴”が
あるように、全ては発生する(“継続”を含む)。
【0086】 本発明の処理では、処理ユニットのコア内の間欠誤りに関して、高い誤り保証
範囲を可能にしているが、これは、これらの種類の誤りは必然的に、2つの処理
ユニットのコアの間の違いに至るからである。
【0087】 本発明の処理では、また、恒久的な誤りをいずれかの処理ユニットのコアで検
出することができるが、非常に明らかなことに、それらを訂正することができな
いので、通常の方法において後者を扱わなくては成らない。
【0088】 いずれの場合も、本発明の処理は、票決から遡る動作は保護しない、すなわち
、データは、命令エレクトロニクス自身と同様に、命令エレクトロニクス(すな
わちデータバス)へと移動する。こうして、誤りのあってはならない重要な命令
は、古典的な機構によって保護されなくてはならない:つまり、データ符号化誤
り保護回路、命令エレクトロニクス計測管理等々である。
【0089】 本発明の処理の実行は、2つの特定の部品を要求する;それは、メモリアクセ
ス監視装置と、プロセッサと入出力制御装置である。設計によって、これらは、
古典的な機構、つまり重要な記録の3重化等によって、単一の故障の混乱から保
護される。
【0090】詳細な説明 主要部 図6は、本発明の手続きのための、ハードウェアアーキテクチャを示している
。 後者には、同じ要素を含む、第1処理ユニットコア50と、第2処理ユニット
コア51と、プロセッサと、入出力制御装置52が含まれる。
【0091】 第1処理ユニットコアには、以下が含まれる。 −誤り保護と訂正符号(EDAC)で保護されたメモリ53と、 −マイクロプロセッサ54と、 −メモリアクセス監視装置55。
【0092】 第2処理ユニットコアには、以下が含まれる。 −誤り保護と訂正符号(EDAC)で保護されたメモリ56と、 −マイクロプロセッサ57と、 −メモリアクセス監視装置58。
【0093】 各メモリアクセス監視装置55,58は、メモリ53,56との交信のための
(CS)チップ選択信号を生成する。
【0094】 プロセッサと入出力の制御装置52は、バス60,61によって、各メモリア
クセス監視装置に接続され、また、入出力バス62に接続される。この制御装置
は、メモリアクセス監視装置55と58とからERR#1とERR#2信号を受
信し、外部からのAE(非同期の故障)信号を受信する。この制御装置52は、
IT(割り込み)信号を2つのマイクロプロセッサ54と57とに配信し、ER
R(誤り)信号を2つの処理ユニットコア50と51とに配信する。
【0095】 本発明は、こうして −処理ユニットコアの構造的な2重の50と51と、 −主に、以下の3つの機能を実行する、処理ユニットコアから外部の部品52
と、 ・ 処理ユニットコア50と51のマクロ同期化と、 ・ 誤り検出ができるデータの票決 ・ 入出力制御 −誤り検出/訂正(EDAC)符号による単一の故障の混乱に対して保護され
ている、処理ユニットコア内のいくつかのメモリ平面(53,56)と、 −誤り検出/訂正符号によって、回復コンテキストが共有メモリ内に安全な方
法で記憶され、アドレス誤りを検出するような、アクセス権を制御するハードウ
ェアメモリアクセス監視装置55,58と関連するメモリのセグメンテーション
と、 −再開始コンテキストの特定の制御と、 −誤りの故障での訂正と、 −誤り制限域の3つのレベルと に立脚している。
【0096】 “多数の票決”は、少なくとも3つの入力を考慮し、本発明の手続きにおいて
、図6に示す2つの処理ユニットコアの場合のように、2つの入力のみのときは
、“比較器”の用語を使用するのが、より適切である。しかし、本説明では、よ
り使われている、一般的な“票決”という用語を使用する。
【0097】構造的な2重化 本発明による手続きにおいて、構造的な2重化は、処理ユニットのコアに制限
され、すなわち以下の要素である。 −マイクロプロセッサ(54,57)と、 −誤り検出/訂正による単一の故障の混乱に対して保護されたマイクロプロセ
ッサのための(読み出し専用、あるいは読み出しと書きこみの)メモリ(53,
56)と、 −アドレスとメモリアクセス監視のための複合論理回路を集積した、外部メモ
リアクセスハードウェア監視装置。
【0098】 マイクロプロセッサのみが2重化される“マスター/チェッカー”アーキテク
チャと異なり、また、中央ユニット基板全体と計算機全体まで2重化される今ま
での構造的な2重化とも異なる。
【0099】 処理ユニットコアの、この構造的な2重化によって、実時間が変更されずに実
行可能、かつ同一のアプリケーションソフトウェアプログラムを使用することが
でき、これは、同じ入出力(取得/命令)あるいは同じデータ(例えば、コンテ
キスト)を求めるために、処理ユニットコアの上で同時に実行可能であり、また
、命令フローの中の同じ位置で停止が可能(マクロ同期)である。
【0100】同期/評決/入出力 処理ユニットコア50,51の外部に合って、プロセッサと入出力の制御をす
るハードウェア装置52は、以下の機能を含んでいる。 −処理ユニットコアのマクロ同期と、 −票決と、 −誤りの検出に続く、訂正の初期化と、 −直接メモリアクセスのモード内の処理ユニットコアメモリへのアクセスと、 −入出力の制御と、2つの処理ユニットコアの各一つずつの中の処理ユニット
バス60,61と入出力バス62の間のインターフェイスと、 −割り込み制御器(IT)。
【0101】 処理ユニットコア50,51の各一つずつは、処理ユニットバス60,61に
よって、プロセッサと入出力制御装置52と通信する。入出力は、プロセッサと
入出力制御装置52によって、入出力バス62を通して制御される。
【0102】マクロ同期 処理ユニットコア50,51の各一つずつは、他から独立して動作する。処理
ユニットコアの一つが入出力を希望するや否や、すなわち、取得を読みこむか、
命令を生成するかしたときに、以下が機能する。
【0103】 −前期処理ユニットコアは、メッセージをプロセッサと入出力制御装置52へ
と、その命令を特定の処理ユニットコア60あるいは61に送り(メッセージに
は、取得に対するアドレス、あるいは命令に対するアドレスとデータの組み合わ
せが含まれる)、 −プロセッサと入出力制御装置52は、その後、他の処理ユニットバス上のメ
ッセージを待つ。
【0104】 −もし、第2の処理ユニットバスが、所定の時間の間の最後に変化しなければ
、誤りが決定される。もし、そうでないときは、プロセッサと入出力制御装置は
、2つのメッセージを比較して、完全に同じであれば(長さと内容とが)、プロ
セッサと入出力制御装置52は、入出力バス62によって、命令を転送する。 −一旦、この転送が行われると、取得の場合のデータが、プロセッサと入出力
制御装置によって、直接メモリアクセス(Direct Memory Access)によって、処
理ユニットコアの各一つずつのメモリに書きこまれて、プロセッサと入出力制御
装置は、処理ユニットコアを開放する。
【0105】 その後、処理ユニットコアの各一つずつは、その処理を独立して再び取り上げ
ることができる:従って、本発明は、マイクロプロセッサが1命令ごとにマクロ
同期をする“マスター/チェッカー”アーキテクチャとは異なり、評決が行われ
るとき(入出力、コンテキスト)に限定して、マクロ同期を使用する。
【0106】 マクロ同期の数は、参考ソフトウェアの構造とは異なり、実時間サイクルの最
後に、コンテキストデータの承認と同様に、命令の発生を互いにまとめることに
よって減らすことができる。
【0107】評決 プロセッサと入出力制御装置52とで実行される評決は、選択された開始に続
いて、簡単であるか(1ビット毎の評決の型)、あるいは、より複雑である(閾
値に関係する評決)。第2の推測において、閾値は、各入出力毎に、処理ユニッ
トコアによって評決器に送信されるパラメータであり;閾値は、それ自身、使用
前に一ビットごと承認がされる。
【0108】 もし複雑な評決が制限のされた数で行われるならば、その評決は、ハードウェ
アの評決器の複雑さを制限するように、アプリケーションソフトウェアに委ねら
れる(例えば、直接メモリアクセスによるプロセッサの中の処理ユニットコアと
入出力制御装置との間で評決される複雑なデータの交換と、その後の、処理ユニ
ットコアの各一つずつからの評決の結果の、プロセッサと入出力制御装置による
評決)。
【0109】訂正の初期化 誤りの基本的な検出は、処理ユニットコア50,51の中に含まれるメモリア
クセス監視装置55,58(メモリアクセスに対する権利の制御)と、プロセッ
サ及び入出力制御装置52との間で、処理ユニットコアの外部で展開される(評
決)。
【0110】 他方、誤りが検出されたかを検討するための全体的な決定は、プロセッサと入
出力制御装置52とで集中される:メモリアクセス監視装置が誤りを検出したと
きに、それをプロセッサと入出力制御装置(#ERR1と#ERR2)とに報告
し、訂正の状態がそれぞれによって初期化されるように、単一の誤り信号ERR
を2つの処理ユニットコアに対して生成する。
【0111】直接メモリアクセス制御器 プロセッサと入出力制御装置52には、取得のためと、評決すべきコンテキス
トデータに任意にアクセスするためとに発せられたデータを、処理ユニットコア
のメモリの中にロードするための直接メモリアクセス装置が含まれる。この直接
メモリアクセス制御器は、また、ブロック転送のために処理ユニットバスおよび
/または入出力バスで用いることができる。
【0112】入出力制御 プロセッサと入出力制御装置52とは、2つの処理ユニットコア50,51の
各一つずつと単一の入出力バス62との間のインターフェイスを実行し、また、
処理ユニットコアが同一の要求をしたときに、処理ユニットコアに代わって入出
力を制御する。
【0113】割り込みの制御器 プロセッサと入出力制御装置52は、全ての外部非同期の故障AEを受信して
、IT割り込みを、2台の処理ユニットコア50,51に向けて同じに生成する
。後者は、2台の処理ユニットコアによって開放されるまで、プロセッサと入出
力制御装置の中に記憶される。各マイクロプロセッサは、こうして、自身の内部
割込み論理回路内の、単一の故障の混乱によって作られた寄生割り込みを含んで
いないことを確認することができる。
【0114】メモリ平面の保護 メモリ平面は、元々、訂正符号(EDAC)とスキャニングタスク(scanning
task)による、単一の故障の混乱に対して、保護されている(符号によって検
出および/または訂正されない、同一の語の中の誤りビットが蓄積するのを防ぐ
べく、潜伏している誤りを検出して訂正するために、全てのメモリ平面のバック
グラウンドタスクを再読み出しする)。
【0115】 この特徴は、本発明の処理にとって重要である。実際、訂正が効果があること
を確かめるために、再開コンテキストデータを記憶するための、信頼性のレベル
を得ることは必須である。
【0116】 従って、本発明の処理は、2重に保護されるメモリ平面に依っている: −誤り検出と訂正(EDAC)装置を使用するおかげで、単一の故障の混乱に
関して、本質的に信頼できるメモリ平面上であり、 −アクセス権監視装置(メモリアクセス監視装置)を使用するおかげで、アド
レスや命令やマイクロプロセッサの故障等による誤りに続く、不正確な書き込み
に関して、信頼性のあるメモリ平面上である。
【0117】メモリアクセス監視装置 各メモリアクセス監視装置55,56は、従来からのブロックメモリ保護ユニ
ットから抜き出したハードウェア装置である。メモリは、セグメントに分割され
、セグメントに分割され、この装置によって、セグメントにアクセスしようとす
るマイクロプロセッサが、実際にアクセス権を持っているかを検査することがで
きる。
【0118】 メモリアクセス監視装置によって、アドレス誤りの大部分が検出される。特に
、それによって、マイクロプロセッサの故障の非常に大部分が速やかに、すなわ
ち少ない遅れで検出される。実際、“ソフトな”故障に続いて、マイクロプロセ
ッサは、頻繁に認可された領域を離れることがある。こうして、メモリアクセス
監視装置によって、マイクロプロセッサの中の順序制御の誤りが、非常に敏速に
検出されるが、これは深刻な誤りの範疇を表している。
【0119】 メモリアクセス監視装置は、いくつかの特徴を持っている。 −セグメントの大きさは、いずれでもよく、アプリケーションによって決めら
れ、 −あるセグメントは、本発明の処理に特有の意味と機能とをもっており、特に
、再開のコンテキストを記憶するのに使用され、 −アクセスの承認は、メモリアクセス監視装置内の内部レジスタ内に記憶され
るキーをプログラムすることによって実行され、これらのキーの定義は、本発明
の処理に特有のものであり、 −キーの定義は、“アプリケーションソフトウェア”のレベル上にあり、“ハ
ードウェア”のレベル上にでは無い、
【0120】 −セグメントへのアクセスの承認は、全てあるいは一部のキーの論理的組み合
わせによって与えられ、セグメントの各一つずつの論理的組み合わせは、本発明
の処理に特有のものであり、 −メモリアクセス監視装置は、特定のセグメントの読み出しあるいは書き込み
時に、特定の機構をトリガーすることができ、 −メモリアクセス監視装置は、特定のセグメントの読み出しあるいは書き込み
時に、特定の機構をトリガーすることができ、 −タスク間のソフトウェア制限を開示するように、ソフトウェアのアプリケー
ションタスクによって、ある領域が影響され、 −“古い”/“新しい”フリップフロップの機能によって特別に保護されるよ
うに、タスクによって、コンテキストの記憶領域が響される。
【0121】 メモリアクセス監視装置内に集積されたキーの一覧表は、以下のように与えら
れる: −後者の改悪を防ぐように、符号を記憶する領域に書き込みをするためのアク
セスを禁止するキー。反対の場合は、誤りが検出されるたび規則的に符号を承認
して再ロードする必要があり、これは特に限定的である。このキーによって、メ
モリへの書き込みは、計算機の初期化時のみに承認され、このとき、読み出し専
用メモリ内の符号は、読み取り書き込みメモリ(read-write memory)に転送さ
れる。
【0122】 −キーは、現在のタスクが何であるかを示し、マイクロプロセッサに、走って
いるソフトウェアのタスクのデータを含むメモリ領域へのアクセスのみを承認す
る。このキーによって、他に関して、タスク内の誤りに対する保証があるフェイ
ルセーフが可能となる。 −キーは、“古い”領域が書き込みを禁止されていることを考慮して、フリッ
プフロップ内で使用される“古い”/“新しい”領域のセットの中で、いずれが
“古い”領域と“新しい”領域かを示す。
【0123】再開コンテキストの機能 回復あるいは再開コンテキストを保存することに関係するメモリ領域は、単一
の誤りタスク、すなわち、誤りを検出したときの現在のタスクに対する誤り回復
を制限するために、各タスクに対して区別されるが、回復は、影響された他のタ
スクの実行無しに、ソフトウェアタスク上でのみ実行することができる。
【0124】 再開コンテキストの機能は、4つの異なる状態に関連する:それは、記憶と票
決と保存と復元である。
【0125】 “回復“タイプの訂正モードに対して、再開モードを構成するデータは、再開
が、正常なコンテキストからはっきりと実行することができるように、特別に保
護される。
【0126】 そうすることによって、データは、処理ユニットコア(53,56)内のメモ
リの特定の領域に記憶され、各領域は、フリップフロップ内で動作する2重の“
古い”そして“新しい”バンク内のメモリアクセス監視装置によって制御される
【0127】 承認を実行するのに、いくつかの方法を使用することができる。 −実時間サイクルの最後に、アプリケーションソフトウェアからの要求によっ
て、正常であると考えられるときのみ保存するように、“新しい”領域がプロセ
ッサと入出力制御装置52とによる分類された方法で承認される。この方法は、
コンテキストデータの票決のために必要なマクロ同期の数を減らすという利点を
持っている。
【0128】 −実時間サイクルが進むにつれて、コンテキスト領域の一つに書き込む試みが
、メモリアクセス監視装置によって検出され、票決のためにプロセッサと入出力
制御装置へと規則的に送られる。もし、票決が正しければ、データは、メモリア
クセス監視装置によって、処理ユニットコア内のメモリに有効に記憶される。
【0129】 実時間サイクルの最後に、そして、第1の方法による票決の後に、現在のコン
テキスト領域が、“古い”そして“新しい”索引を反転することによって、保存
されフリップフロップされる:現在のコンテキストは、先行するコンテキストと
なる。
【0130】 誤り訂正の時に作動する“コンテキスト再開”機能は、先行するコンテキスト
が正常であると考えられることを示す索引が変更されなかったおかげで、実行さ
れるが、これは誤りが検出されなかった正常時にフリップフロップされるからで
あり;この“非フリップフロップ”は、誤りが検出されない実時間サイクルの実
行の禁止に固有のものである。
【0131】回復あるいは訂正 異なる、多くのあるいは少ない複雑な訂正モードは、実行されるミッションの
種類に従って実行することができる: −システム再初期化、すなわち、熱い再初期化あるいは冷たい再初期化あるい
は冗長な計算機を承認することであるが、これはもしどれかがあればである: −後方の回復 −前方の回復、すなわち、“純粋の”追跡あるいは保存したコンテキストに基
づく追跡。
【0132】 最後の解決法は、複雑な制御命令システムに優先的に選択され、本発明による
手続きを説明した前記説明で使用される解決法である。
【0133】 訂正は、以下の順番に従って、実行される。 −誤りが検出されると、現在の実時間サイクル(数N)は、禁止され、命令は
生成されない:マイクロプロセッサは、次の実時間サイクルを待っている古いモ
ード(“待機”)に引き渡される。 −次の実時間サイクルN+1が、コンテキストNから実行される(これは安全
ではない)のではなく、前のコンテキストN−1からと、現在のサイクルN+1
内の取得から実行される。
【0134】 実際に、欠陥のある実時間サイクルが加えられる。これは、厳密に言って再試
行ではない。これは、単に、現在の実時間サイクルを禁止し、前のサイクルから
のコンテキストを復元するように管理する。誤りの故障時に、マイクロプロセッ
サは、待機モードに入ってしまったので、現在の実時間サイクルに対する命令を
生成しない:実時間サイクル内に“穴”があるかのように、全てが発生する。
【0135】 訂正は、特別な動作を必要としない:それは、マイクロプロセッサが、検出の
後に、待機モードに入ってしまうからであり、現在の実時間サイクルの最後に、
票決の実行をすることあるいは終了することができないからである。システムの
状態が正常であると考えられるときに、承認の最後の時になされた“古い”ある
いは“新しい”コンテキストを交換しないことが、必然的に必要である。従って
、誤り検出に続くコンテキストを復元したり再ロードしたりすることは、本発明
の手続きとして選択された機能固有のものである。
【0136】 再開時に、“コンテキストの再ロード”という用語がしばしば使われる。厳密
に言って、まとめると、手続きは、再ロードは必要としない、というのは、コン
テキスト領域の“古い”そして“新しい”索引は、誤り検出に続いて切り替えら
れない:実際、再開には、何もしないことから成り、待機に入り、名目的な機能
の残りが自動的に起こる。
【0137】 さらに、訂正の回復あるいは訂正は、タスク間の制限と、各タスクの再開コン
テキストの差異のおかげで、現在のタスクに限定することができるが;この場合
、欠陥のあるタスクが中止され、追跡による回復の故障内の実時間サイクルを失
い、他のタスクの実行がこれによって全く影響されない。
【0138】 単一の再開の試みが行われる。もしうまく行かなければ、例えば、誤りが再開
コンテキストにまで広がるように、誤りが管理されているためであり、従って、
もはや正常ではないか、永久的な誤りがあることになる。計算機を完全に再初期
化すること、あるいは緊急の冗長な計算機へ転送することが、もしいずれかがあ
れば、必要である。
【0139】制限領域 制限領域は、本発明の処理内で定義されるものである。 第1の領域は、空間的な制限に対応する。誤りに対するこの主要な制限領域7
0は、取得エレクトロニクス41と中央ユニット40とからできており、これは
図7に示され、この図において、図5と同じ参照番号が使用されている。取得エ
レクトロニクスは、いくつかの古典的な機構(たとえば、返答(replication)
)によって保護されている。こうして、取得や処理を妨害する誤りがあり(なぜ
なら、処理に割り当てられる時間は、今まで、統計的に殆どの誤りが発生する処
理状態にあるので、最も重要なものであるので)、この誤りは、命令エレクトロ
ニクスに向かって生成されることはない。従って、誤りは取得エレクトロニクス
あるいは中央ユニット内での、単一の故障の混乱に続いて起こる誤りは、衛星に
対して不良の命令を引き起こすが;これはミッションを妨害することはない。
【0140】 第2の領域は、実時間サイクルレベルの誤りの、一時的な制限に対応し(誤り
が出現した後の実時間サイクルは、正しい)、これは、訂正が実時間サイクルの
グラニュラリティに基づいているからである。
【0141】 第3の領域は、メモリアクセス監視装置のおかげで、ソフトウェアタスクレベ
ル上の誤りのソフトウェアの制限(一つのタスクから他のタスクへ、誤りは広が
らない)に対応する。
【0142】処理に対する誤り保証率 フェイルセーフ機構の誤り保証率は、発生しような全ての誤りに関して処理が
可能な、誤り百分率を表している。
【0143】 さらに、本発明の処理において、空間制限領域が、誤りを受け付けないもので
あるなら、命令エレクトロニクス内で生成される誤り命令は、あり得ない。
【0144】 誤り保証率は、本発明の処理において、構造的な2重化に対する通常の保証率
の範囲内になくてはならず、それは99%以上である。
【0145】変種 本発明の処理のいくつかの変種が考えられる。そのいくつかは、既に述べられ
ている。 −マクロ同期の数を減らすために、実時間サイクルの最後に、命令の生成ある
いはコンテキストデータの票決の再分類をすること、 −単純な票決(1ビット毎の票決タイプ)あるいは、より複雑な票決(いくつ
かの閾値に関する票決タイプ)、 −ブロック転送である、もしくはそうでない、処理ユニットバスおよび/また
は入出力バス、 −訂正モード、 −訂正率を最大化するように、実行可能な実時間における本発明の処理のソフ
トウェア機構を含むこと。
【0146】 さらに、処理ユニットコア内の、プロセッサと入出力制御装置の以下の機能を
分け合って、誤り保証率を減らすという犠牲を払って、ソフトウェア内で実行す
ることが可能である。 −マクロ同期、 −票決、 −入出力制御。
【0147】 同期/票決/入出力のための、プロセッサと入出力制御装置52は、また、取
り除いて、その機能を処理ユニットコア内のハードウェアおよび/またはソフト
ウェアへ広げることもできる。
【0148】 最後に、あるいはメモリアクセス監視装置を単純化するか取り除いて、処理ユ
ニットコアを3重化することも可能であり、それは、プロセッサと入出力制御装
置が、処理ユニットコアに接続されて、多数票決を行うからである。誤りは、実
時間で、マスクされる。メモリのコンテキストは、もしメモリアクセス監視装置
が取り除かれているか、誤りに実時間で実行可能なものが含まれていれば、欠陥
処理ユニットコアのメモリ内に転送されなくてはならない。この転送は、もしメ
モリアクセス監視装置が“タスクによるセメント化”機能を備えていれば、大幅
に減らすことができる。
【0149】参考文献 [1]C.Meraud・P.Loret著、”COPRA:a modular family of reconfigurable
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)
【0150】 [4]R.Roques,・A.Correge・C.Boleat著、”Fault-tolerant computer for
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)。
【図面の簡単な説明】
【図1】 “マスター/チェッカー”アーキテクチャの概要を示した図であ
る。
【図2】 “マスター/チェッカー”アーキテクチャの機能を示した図であ
る。
【図3】 参照するハードウェアのアーキテクチャの概要を示した図である
【図4】 参照するソフトウェアのタイムチャートを示した図である。
【図5】 参照するアーキテクチャのシークエンスを示した図である。
【図6】 本発明のシステムのアーキテクチャを示した図である。
【図7】 本発明のシステムの空間レベル上の誤り制限域を示した図である
【符号の説明】
40…中央ユニット 41…取得用電子装置 42…センサ 44…アクチュエータ 50…第1処理ユニットコア 51…第2処理ユニットコア 52…制御装置 54,57…マイクロプロセッサ 55,58…メモリアクセス監視装置 60,61…バス 62…入出力バス
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成14年2月5日(2002.2.5)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0035
【補正方法】変更
【補正の内容】
【0035】 “マスター/チェッカー”のアーキテクチャにおいて、メモリは、2つは無い
。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個のモジュールは、 データにアクセスするやいなや同期と比較をし、データはメモリサブシステム内 に記憶される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0120
【補正方法】変更
【補正の内容】
【0120】 −セグメントへのアクセスの承認は、全てあるいは一部のキーの論理的組み合
わせによって与えられ、セグメントの各一つずつの論理的組み合わせは、手続き において本 発明に特有のものであり、 −メモリアクセス監視装置は、特定のセグメントの読み出しあるいは書き込み
時に、特定の機構をトリガーすることができ、 −タ スク間のソフトウェア制限を開示するように、ソフトウェアのアプリケー
ションタスクによって、ある領域が影響され、 −“古い”/“新しい”フリップフロップの機能によって特別に保護されるよ
うに、タスクによって、コンテキストの記憶領域が影響される。

Claims (14)

    【特許請求の範囲】
  1. 【請求項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. 【請求項2】 前記メモリアクセス監視装置(55,58)は、 −各タスクに対するメモリ域が区別され、 −現在のタスクに影響されるメモリ域へのアクセスが承認され、 −他のタスクに含まれるメモリ域へのアクセスが禁止される 手段を含むことを特徴とする請求項1記載のシステム。
  3. 【請求項3】 前記メモリアクセス監視装置(55,58)は、 −このコンテキストは、いかなる特別な記憶装置も必要とせずに、中央に置か
    れた共有のメモリ(53,56)の中に記憶され、 −各タスクからのコンテキストを保存するのに必要とされるメモリ域を区別し
    、 −このコンテキストを記憶するのに使用される各域が、2重の“古い”そして
    “新しい”バンク内で制御され、 −2重の“古い”そして“新しい”バンクが交代に働くようにし、 −2重のバンクを、単に“古い”そして“新しい”索引のセットを反転させる
    ことで、交代させ、 −“古い”域を、書き込みが禁止されている間は、読み出しを認可する ことのできる手段を含んでいることを特徴とする請求項1記載のシステム。
  4. 【請求項4】 基板上の電子システム及び/または宇宙領域で使用すること
    を特徴とする請求項1〜3のいずれか一つに記載のシステム。
  5. 【請求項5】 コンピュータシステムを間欠誤りに耐性のあるものにする方
    法において、該方法は、 同一のソフトウェアアプリケーションが同時に少なくとも2つの処理ユニット
    (50,51)上で独立且つ非同期に実行されることと、作用群が処理ユニット
    と入出力のための制御機能内の中央に集められることと、インターフェイスが、
    同時に実行されるソフトウェアプログラムと、処理ユニット及び入出力のための
    制御機能との間で作られるという特徴を備えた処理ユニットから作られており、 前記ソフトウェアアプリケーションは、 −処理ユニット(50,51)内のメモリ(53,56)に影響する間欠誤り
    は、ソフトウェアのスキャンタスクに関連するメモリ内に記憶される検出及び生
    成符号を使用するおかげで、検出及び訂正されることと、 −マイクロプロセッサがメモリ(53,56)の現在のセグメントに対するア
    クセス権を実際に持っていることを確かめる、メモリアクセスを監視することに
    関連した、メモリのセグメンテーションのおかげで、処理ユニットの(50,5
    1)のマイクロプロセッサ(54,57)の正しい機能が確認されることと、 −回復のコンテキストを保存する割り当てがされたメモリセグメントは、欠陥
    のあるマイクロプロセッサ(54,57)がこれらの危険な域で誤りを生成でき
    ないことを確かめるように、メモリアクセスの特定の監視のおかげで、非常に安
    全であることと、 −訂正の要求が、処理ユニットのために制御機能と、アクセス権の侵害の故障
    内の入出力に送られること の機能に応じ、 前記作用群には、 −ソフトウェアの、異なる同時実行のマクロ同期と、 −ソフトウェアの、異なる実行によって生成される全てのデータの比較/票決
    と、 −誤りの検出に続いて、メモリアクセス監視機能から起こった訂正要求の受信
    と、 −誤りが検出されると、その源が何であれ、訂正状態とこの要求の送信とを、
    同時にソフトウェアの異なる実行に送るように決定をすることと、 −ソフトウェアアプリケーションからの要求による入出力の実行 とがある ことを特徴とする方法。
  6. 【請求項6】 欠陥のあるマイクロプロセッサ(54,57)は、現在のタ
    スクの変数を乱すことができるだけで、他のタスクの変数は乱すことはないとい
    うやり方で、ソフトウェアタスク間の誤りに対する制限域があることを特徴とす
    る請求項5記載の方法。
  7. 【請求項7】 誤りを検出する故障において、票決しそしてソフトウェアタ
    スクの先行するコンテキストを記憶するおかげで、また、正常であるという保証
    をする特別な保護のおかげで、回復は可能であり、このコンテキストは、各処理
    ユニット(50,51)内の共有されたあるいは中央に集められたメモリ(53
    ,56)内に記憶され、“フリップフロップ”内で動作する“古い”あるいは“
    新しい”2重のバンク内の各タスクに特有のいくつかのメモリ域内において、こ
    れら2重バンクの“フリップフロップ”は、現在のコンテキストが先行するコン
    テキストになるように、“古い”あるいは“新しい”索引を単に反転することで
    実行されるが、“古い”域は、タスクの入力データとして使用するのには読み出
    しが許されるが、書き込みは禁止され、また、マイクロプロセッサ(54,57
    )の不調の故障時でも保護がなされることを特徴とする請求項5記載の方法。
  8. 【請求項8】 先行するコンテキストの復元に基づいた誤り回復は、索引に
    よって、正常であると考えられる先行するコンテキストは変更されないとされた
    事実のおかげで、実行され、そのとき、誤りが検出されなければ、検出/復元に
    関する期間の終わりに、規則正しく状態を変えることを特徴とする請求項7記載
    の方法。
  9. 【請求項9】 誤りの検出/復元のグラニュラリティは、処理ユニット(5
    0,51)上で実行されるソフトウェアタスクの各々の制御/命令サイクルであ
    り、そこでは、復元は、そのソフトウェアタスクに作用された他のタスクの実行
    をすることなく、欠陥のあるソフトウェアタスク上で、行うことができるだけで
    あることを特徴とする請求項5記載の方法。
  10. 【請求項10】 誤り検出は、マイクロプロセッサが待機モードに入り、そ
    れによって通常の実行サイクル内のある期間、“穴”を作り出すことを必要とす
    ることを特徴とする請求項5記載の方法。
  11. 【請求項11】 コンテキストの比較/票決は、 −アプリケーションのソフトウェアが、コンテキストデータが正常と考えられ
    るときにのみコンテキストデータの保存をするように、コンテキストデータの分
    類された比較/票決を明確に要求し、この要求は検出/回復のグラニュラリティ
    に対応する期間の終わりに規則的に作られるか、あるいは、 −計算時間の際に、各処理ユニット(50,51)の中のメモリアクセスを監
    視(55,58)するためのハードウェア装置は、コンテキスト域内で書き込み
    をしようとするのを検出し、規則的にその正しさを確かめるために比較/票決に
    かける、 という、2つの方法から選択的に実行されることを特徴とする請求項5記載の
    方法。
  12. 【請求項12】 空間、時間、ソフトウェアレベルの、3つの誤り制限域の
    レベルが定義されることを特徴とする請求項5記載の方法。
  13. 【請求項13】 マイクロプロセッサの選択には依存せず、また、全ての民
    生用マイクロプロセッサを使用できることを特徴とする請求項5〜12のいずれ
    か一つに記載の方法。
  14. 【請求項14】 基板上のエレクトロニクスシステムおよび/または宇宙領
    域で使用されることを特徴とする請求項5〜12のいずれか一つに記載の方法。
JP2001547253A 1999-12-22 2000-12-21 間欠誤りに耐性のあるソフトウェアシステムおよびそのシステムにおける制御処理 Pending JP2003518289A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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