(57)【要約】複数のデータ・パーティションを含むオペレーショナル・プログラムの複数のバージョンを実行すること（ステップ３３〜３４）によってリアルタイム・コンピュータ・システムを回復する方法および装置が記載されている。複数のデータ・パーティションのそれぞれが、オペレーショナル・プログラムの１つのバージョンに関連付けられ、オペレーショナル・プログラムの複数あるバージョンのうちの１つが、「コントローラ」プログラムであり、他のバージョンが、「アイデンティティ・オブザーバー」プログラムである。コントローラメモリ・パーティションが損傷を受けると（ステップ３５）、損傷を受けたメモリは、無傷のデータで上書きされる（ステップ３７）。
2004528637.tif 000002
【特許請求の範囲】
【請求項１】
メモリ・モジュールを有するコンピュータのリアルタイム回復方法であって、
各メモリ・モジュールを複数のメモリ・パーティションに分割するステップであって、各メモリ・パーティションが、コンピュータのハードウェア・デバイスに対応する、ステップと、
コンピュータに対するオペレーショナル・プログラムの１つのバージョンを前記メモリ・パーティションのそれぞれにダウンロードするステップであって、１つのパーティションの１つのバージョンが、コントローラに指定されており、他のパーティションの残りのバージョンが、オブザーバーに指定されている、ステップと、
前記コントローラ・プログラムと前記オブザーバー・プログラムを実行するステップと、
前記コントローラ・プログラムを含んでいるメモリ・パーティションが損傷を受けているか否かを判定するステップであって、そのように判定された場合、前記オブザーバー・プログラムのうちの１つを新しいコントローラ・プログラムに指定するステップと、
損傷を受けたパーティションを無傷のデータで上書きするステップと、
を含む方法。
【請求項２】
請求項１に記載の方法であって、該方法はさらに、前記損傷を受けたパーティションの前記コントローラ・プログラムをオブザーバー・プログラムに再指定するステップを含む方法。
【請求項３】
フライト・コンピュータのリアルタイム自己回復方法であって、
プログラム・メモリ空間を複数のメモリ・パーティションに分割するステップであって、各メモリ・パーティションが、フライト・コンピュータのハードウェア・デバイスに対応する、ステップと、
オペレーショナル・フライト・プログラムの１つのバージョンを前記メモリ・パーティションのそれぞれにダウンロードするステップであって、オペレーショナル・フライト・プログラムの１つのバージョンが、コントローラに指定されており、オペレーショナル・フライト・プログラムの残りのバージョンが、オブザーバーに指定されている、ステップと、
コントローラ・オペレーショナル・フライト・プログラムを実行するステップと、
前記オブザーバー・オペレーショナル・フライト・プログラムのそれぞれを連続的に実行するステップと、
前記コントローラ・オペレーショナル・プログラムを含んでいるメモリ・パーティションが損傷を受けているか否かを判定するステップであって、そのように判定された場合、前記複数のオブザーバー・オペレーショナル・フライト・プログラムのうちの１つをコントローラ・オペレーショナル・フライト・プログラムに割り当てるステップと、
損傷を受けたメモリ・パーティションを無傷のデータで上書きするステップと、
を含む方法。
【請求項４】
請求項３に記載の方法であって、コントローラ・オペレーショナル・フライト・プログラムを実行する前記ステップ、および、前記オブザーバー・オペレーショナル・フライト・プログラムのそれぞれを連続的に実行する前記ステップが、専用ハードウェア・タイマーによって、それぞれに開始される、方法。
【請求項５】
請求項３に記載の方法であって、前記オブザーバー・オペレーショナル・フライト・プログラムのそれぞれを連続的に実行する前記ステップがさらに、
前記メモリ・パーティションのそれぞれに含まれているデータに関して多数決を実行するステップと、
前記多数決の結果と一致しない各メモリ・パーティション内のデータをマーク付けするステップと、
前記コントローラ・オペレーショナル・フライト・プログラムを含んでいるメモリ・パーティション内のデータが損傷を受けている場合にフラグをセットするステップと、
を含む、方法。
【請求項６】
請求項３に記載の方法であって、損傷を受けたメモリ・パーティションを無傷のデータで上書きする前記ステップがさらに、
複数の前記メモリ・パーティションが損傷を受けているか否かを判定するステップであって、そのように判定された場合、
複数のメモリ・パーティションが損傷を受けていることを示すフラグをセットするステップと、
前記第２のフラグがセットされていない場合、損傷を受けたメモリ・パーティションのデータを上書するステップと、
を含む、方法。
【請求項７】
請求項６に記載の方法であって、該方法はさらに、損傷を受けたデータが前記損傷を受けたメモリ・パーティションのコードセグメント内にあるか否かを判定するステップであって、そのように判定された場合、コード・ファームウェアを無傷のデータで上書するステップを含む、方法。
【請求項８】
請求項６に記載の方法であって、複数のメモリ・パーティションが損傷を受けていることを示す前記フラグがセットされている場合、該方法はさらに、
オペレーショナル・フライト・プログラムの１つのバージョンをクロス・チャネル・データ・リンクから前記メモリ・パーティションのそれぞれにダウンロードするステップと、
前記メモリ・パーティションのそれぞれに含まれているデータに関して多数決を実行するステップと、
前記多数決の結果と一致しない各メモリ・パーティション内のデータを、損傷を受けているとマーク付けするステップと、
複数の前記メモリ・パーティション内のデータが損傷を受けている場合、第２のフラグをセットするステップと、
を含む方法。
【請求項９】
請求項３に記載の方法であって、前記コントローラ・オペレーショナル・フライト・プログラムを含んでいるメモリ・パーティションが損傷を受けている場合、該方法はさらに、
前記コントローラ・オペレーショナル・フライト・プログラムをオブザーバー・オペレーショナル・フライト・プログラムに再指定するステップを
含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイム・コンピュータ・システムに関し、より詳細には、過渡的放射現象（例えば、半導体素子内のトレースに宇宙線が衝突することによって生じるような過渡的放射現象）後に、リアルタイム・コンピュータ・システムを回復する方法に関する。
【背景技術】
【０００２】
いくつかの種類の放射線は、マイクロ電子デバイス内で悪影響を誘発することが知られている。陽子および重イオンを含む宇宙放射線の高エネルギー粒子は、例えばフライト・クリティカル・コンピュータ、搭載衛星、高高度飛行する宇宙船および航空機などの電子装置の異常を引き起こす恐れがあることが良く知られている。単一の高エネルギー粒子は、内部の記憶素子の状態を変化させるのに十分な電荷を集積回路に蓄積する可能性があり、またさらに、複雑な内部動作の原因となる場合もある。可観測な状態の変化は、ビット・フリップ、ラッチした出力状態、および短絡を含むことができる。例えばロジック「０」からロジック「１」へというようなビット・フリップは、シングル・イベント・アップセット（ＳＥＵ：Ｓｉｎｇｌｅ  Ｅｖｅｎｔ  Ｕｐｓｅｔ）として周知の過渡的故障モードの一例である。ラッチした出力状態は、シングル・イベント・ラッチアップ（ＳＥＬ：Ｓｉｎｇｌｅ  Ｅｖｅｎｔ  Ｌａｔｃｈ−ｕｐ）として周知の潜在的な突発的故障モードの一例である。集積回路内の短絡は、冗長回路構成によって一般に軽減されるハード障害を一般に生じる。宇宙船をシングル・フライト・クリティカル・コンピュータ障害から保護するには、一般に冗長コンピュータが使用される。
【０００３】
図１は、一般に宇宙船に搭載して使用することのできる三重冗長フライト・クリティカル・コンピュータのアーキテクチャを示している。冗長センサ１５は、第１のコンピュータ１１、第２のコンピュータ１２、および第３のコンピュータ１３に、入力を供給する。各コンピュータは、入力１７、プロセッシング１８、および出力１９を含む。冗長コンピュータ１１〜１３のそれぞれからの出力は、冗長センサ１６に送られる。さらに冗長コンピュータ１１〜１３は、コンピュータにデータ交換を可能にするクロス・チャネル・データ・リンク（ＣＣＤＬ：Ｃｒｏｓｓ−Ｃｈａｎｎｅｌ  Ｄａｔａ  Ｌｉｎｋ）１４と相互接続されている。
【０００４】
未検出の過渡的故障は、ハード障害に発展する危険性があるので、例えば宇宙船航行コンピュータのような各フライト・クリティカル・コンピュータは、ＳＥＵおよびＳＥＬの両方を検出し、これらの両方から回復することができるということが重要である。当技術分野では、例えば電源をサイクル動作（オン、オフ、オン）することによるなどの再初期化方式によって、フライト・クリティカル・コンピュータを回復するということが知られている。コンピュータに対して電源をサイクル動作することは、エラーを誘発したＳＥＵまたはＳＥＬを取り除くが、このことは、宇宙船を安定化させるようなタスクのために、コンピュータが使用不可能となる期間が生じる原因ともなる。
【０００５】
図２は、宇宙船に搭載されていることが見られるような一般的なフライト・クリティカル・コンピュータのブロック図を示す。コンピュータは、中央処理装置（ＣＰＵ）２１を含み、中央処理装置（ＣＰＵ）２１は、アドレス・バス２２とデータ・バス２３とによって、不揮発性メモリ（ＮＶＭ：ＮｏｎＶｏｌａｔｉｌｅ  Ｍｏｍｏｒｙ）２４と、メモリ・マップされた入出力コントローラ２５と、ランダム・アクセス・メモリ（ＲＡＭ）ハードウェア・モジュール２６〜２８と、に接続されている。入出力コントローラ２５は、例えばアナログ／デジタル変換器を使用して、入力１７に接続されており、また、例えばリレー・ドライバを使用して、出力１９に接続されている。オペレーショナル・フライト・プログラム（ＯＦＰ：Ｏｐｅｒａｔｉｏｎａｌ  Ｆｌｉｇｈｔ  Ｐｒｏｇｒａｍ）は、初期化シーケンス中にランダム・メモリ・モジュール２６〜２８にロードされ、次いで実行される。
【０００６】
ＣＣＤＬ１４を介して別のコンピュータにアクセスせず、再初期化せずに、放射線環境でフライト・クリティカル・コンピュータを回復する周知の方法は、ランダム・アクセス・メモリ（ＲＡＭ）２６〜２８に記憶されているコンピュータの状態データを、オペレーショナル・フライト・プログラム（ＯＦＰ）の実行中に、放射線硬化した一時記憶装置に保存するというものである。例えばパリティ・チェックによるなどしてシングル・イベント・アップセット（ＳＥＵ）が検出された場合、データは、その一時記憶装置からランダム・アクセス・メモリ（ＲＡＭ）２６〜２８に、ダンプされ戻される。しかしこの従来技術による方式は、一時記憶装置内におけるデータの完全性を保証することができず、また冗長コンピュータ１１〜１３に、同期を失わせる危険性もある。さらに、回復したコンピュータは、次のＳＥＵが発生する前に再度承認される必要があり、また、例えば軌道離脱燃焼の初期化など、再初期化がその期間中に実用的ではないミッションの重要な局面が、ある場合がある。
【０００７】
最近では、耐故障性制御システムの研究・設計に、多大な努力が払われている。この研究の初期の関心は、制御システムに対する、故障検出、識別、および再構成（ＦＤＩＲ：Ｆａｕｌｔ  Ｄｅｔｅｃｔｉｏｎ,  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｒｅｃｏｎｆｉｇｕｒａｔｉｏｎ）の適用である。飛行制御システムでのＦＤＩＲの共通目的は、欠陥のあるセンサ、欠陥のあるアクチュエータ、および制御表面設備破損による、輸送手段の損害を防止することである。一般的なＦＤＩＲの設計は、フライト・クリティカル・コンピュータ１１が、欠陥のあるセンサ１５からの誤ったデータの使用することと、欠陥のあるアクチュエータ１６に対する不適切な制御の送出することと、を防止することを目指している。一般的なフライト・クリティカル・コンピュータは、故障検出／識別アルゴリズムと故障対処／再構成アルゴリズムとの両方を含む。故障検出／識別アルゴリズムは、一般に、制御法則に組み込まれているが、様々な制御ループの欠陥のあるコンポーネントを検出するように考案されている。再構成アルゴリズムは、一般に、例えば「ハードオーバー（ｈａｒｄ−ｏｖｅｒ）」アクチュエータのような欠陥のあるコンポーネントによって生じる悪影響を取り消す、輸送手段専用の適応性のある機構である。
【０００８】
フライト・クリティカル・コンピュータを放射線イベントから自律的に高速で回復する機構が、長い間求められてきた。そのような機構は、当業者で既に使用可能な物理的冗長性と、故障の検出、識別、および再構成（ＦＤＩＲ）とを強化すべきものである。
【発明の開示】
【課題を解決するための手段】
【０００９】
（発明の概要）
リアルタイムの自己回復機能は、フライト・クリティカル・コンピュータシステムでは現在使用されていない。考慮すべき事柄の１つは、デバイスのＳＥＵ率を正確に予測することが困難であるということである。さらに、自律的回復も、考慮すべき事柄を引き起こす原因となっている。何故ならば、無支援の、すなわち命令を受けていないコンピュータの回復は、フライト・クリティカル・コンピュータが、擬似警報によってシステム・リセットを実行し得ることを意味するからである。
【００１０】
フライト・クリティカル・コンピュータのリアルタイムの自己回復に関する本発明は、アプリケーション・ソフトウェアでそれを実現することができるように、解析冗長性の概念に基づいていており、各フライト・クリティカル・コンピュータのサバイバビリティを高めるために、追加の放射線硬化したデバイスまたは他の独自開発の回路構成を必要としない。本発明の方法は、現在使用可能なリアルタイム・オペレーティングシステム（ＲＴＯＳ：Ｒｅａｌ−Ｔｉｍｅ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）ソフトウェア又は従来技術で使用可能なオペレーショナル・フライト・プログラム（ＯＦＰ）に対する大幅な変更を必要とせず、より高速な中央処理装置（ＣＰＵ）およびより大きな記憶容量を有するハードウェア・メモリ・モジュールを使用することが有利である。
【００１１】
解析冗長性は、物理的冗長性からの出力に相当する合成出力を生成するために、オペレーショナル・フライト・プログラム（ＯＦＰ）で処理されるシステム変数間の関数関係を使用する。これらの合成出力は、フライト・クリティカル・コンピュータ１１〜１３のそれぞれの中央処理装置（ＣＰＵ）２１で同一または類似のオペレーショナル・フライト・プログラム（ＯＦＰ）の複数のバージョンを連続的に実行して、それらの結果を比較することによって、作成される。このようにして、本発明者の発明の一態様によれば、同一または類似のコンピュータプログラムの複数のバージョンは、あらかじめ１つのコピーを実行するために必要な時間枠内において、同一プロセッサ上で実行される。本発明者の発明の一態様は、それら複数のＯＦＰのそれぞれが、別個のハードウェア・ランダム・アクセス・メモリ（ＲＡＭ）モジュールに配置された専用メモリ・パーティションに関連付けられるというものである。
【００１２】
例えば図２に示す一般的なフライト・クリティカル・コンピュータは、ＯＦＰの３つのバージョンを有する場合があるが、その場合、各バージョンは、ＲＡＭモジュール２６、２７、および２８に、それぞれ配置される。本発明者の発明によれば、例えば宇宙線イベントによって生じるようなシングル・イベント・アップセット（ＳＥＵ）の影響は、１つのメモリ・パーティションに含まれるデータ値で顕在化する。
【００１３】
オペレーショナル・フライト・プログラム（ＯＦＰ）のうちの１つは、「コントローラ」ＯＦＰに指定されており、その他のＯＦＰは、「オブザーバー」ＯＦＰに指定されている。コントローラＯＦＰは、フライト・クリティカル・コンピュータに取り付けられたデバイスの制御を担当している。オブザーバーＯＦＰは、コントローラＯＦＰのコピーであってもよく、或いは、コントローラのすべての状態を複製する代替設計であってもよい。
【００１４】
各ＯＦＰは、故障検出／分離アルゴリズムを含み、そのＯＦＰから生じたデータが、他のＯＦＰから生じたデータと比較される。コントローラＯＦＰが、無効であると宣言されている場合、オブザーバーのうちの１つが、コントローラに指定される。本発明者の発明の別の態様において、有効なＯＦＰに関連付けられたメモリ・パーティションのデータ・イメージをコピーすることによって、それぞれの無効なＯＦＰが回復される。コントローラＯＦＰは、データセット回復後に、オブザーバーＯＦＰになる。
なお、本発明者の発明は、図面を検討することによって、完全に理解することができる。
【発明を実施するための最良の形態】
【００１５】
（本発明を実現するモード）
アイデンティティ・オブザーバーは、メモリ・モジュールの別個のデータ・パーティションにおけるコントローラのオペレーショナル・フライト・プログラムの状態データを複製する。本発明者の発明の一態様によれば、欠陥のあるコントローラは、欠陥のあるデータ・パーティションのデータ・イメージを正常なデータ・パーティションのデータ・イメージで置き換えることによって、回復することができる。耐故障性制御の見地から見たそのような方式を適用する方法を、以下で説明する。
【００１６】
図１を再度参照すると、本発明者の発明を使用することができる汎用輸送手段管理システム（ＶＭＳ：Ｖｅｈｉｃｌｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）の機能コンポーネントが示されており、汎用輸送手段管理システム（ＶＭＳ）は、数レーンの冗長輸送手段管理コンピュータ（ＶＭＣ：Ｖｅｈｉｃｌｅ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｍｐｕｔｅｒ）１１〜１３と、冗長入力センサ１５と、冗長出力アクチュエータ１６と、を含んでいる。冗長なシステムのすべてのレーンで、同一のハードウェアおよびソフトウェアを使用することができる。ＶＭＣは、例えば、飛行モード・ロジックおよび制御法則を実行し、入力信号と出力信号を管理するフライト・クリティカル・コンピュータであってよい。一般に、ＶＭＣは、以下のタスクの一部またはすべてを実行することができる：
・航行および誘導
・飛行管制
・推力制御
・火器管制
・武器庫管理
・ミッション管理。
【００１７】
冗長フライト・クリティカル・コンピュータ１１〜１３は、冗長性管理システム（ＲＭＳ：Ｒｅｄｕｎｄａｎｃｙ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）によって管理される。ＲＭＳは、入力信号と出力信号で起こり得る故障を検出してこれに対処する耐故障性機構である。一実施形態では、ＲＭＳは、故障検出に関して多数決を使用する。冗長コンピュータは、専用クロス・チャネル・データ・リンク（ＣＣＤＬ）１４を使用して相互に通信するが、そのリンクでＲＭＳは、各レーンから選択されたデータを投票用に分配する。一般に、冗長性管理システム（ＲＭＳ）は、以下のタスクの一部またはすべてを実行することができる：
・故障検出／分離
・故障への対処
・冗長コンポーネントの再構成
・欠陥のあるコンポーネントの回復
・レーンの再承認。
【００１８】
アイデンティティ・オブザーバーが元のシステムに対する解析冗長性という特徴を有していると仮定するならば、アイデンティティ・オブザーバーは、元のシステムの状態ベクトルを回復するように設計することができる。ＶＭＳ機能を元のシステムと想定し、本明細書で使用する「コントローラ」という用語が一般にＶＭＳ機能を示すと想定すると、アイデンティティ・オブザーバーは、コントローラの状態データを追跡するように、構築することができる。
【００１９】
アイデンティティ・オブザーバーは、コントローラに直列に接続されているが、これはコントローラの計算とオブザーバーの計算とを連続して実行することができるということを意味している。これによって、本発明者らは、本発明者らの単一オブザーバーの概念を一連のオブザーバーの概念に拡大することが可能になる。アレイのアイデンティティ・オブザーバーを、相応に設計することができる。これによって、コントローラと一連のオブザーバーの両方で、データの回復が可能となる。
【００２０】
再度図２を参照すると、それぞれの分割されたランダム・アクセス・メモリ（ＲＡＭ）ハードウェア・モジュール２６〜２８は、専用データ・メモリ・パーティション・マネージャによって、操作される。同様に、プログラム・メモリに常駐しているプログラム・コードも、専用プログラム・パーティション・マネージャによって、操作される。入力信号管理（ＩＳＭ：Ｉｎｐｕｔ  Ｓｉｇｎａｌ  Ｍａｎａｇｅｍｅｎｔ）ブロックに接続されているハードウェア・タイマーは、実行時オペレーショナル・フライト・プログラム（ＯＦＰ）の実行をスケジュール設定するように、考案されている。故障検出、識別、および回復（ＦＤＩＲ）手順の起動を調整するために、別のハードウェア・タイマーが、ＦＤＩＲブロックに接続されている。
【００２１】
本発明者の発明の一実施形態の方法ステップを示す図３と、コンピュータ・メモリ割り振り方式を示す図７とを次に参照する。まずメモリ・ブロックを分離して、空間冗長性を提供するために、プログラム・メモリ空間（ソフトウェア）は、システムＲＡＭ２６〜２８のバンク（ハードウェア）に従って分割されるが（ステップ３１）、この場合、各メモリ・パーティションは、飛行コンピュータのハードウェア・メモリ・デバイスに対応している。図７に示すようにプログラム・メモリ・データ・セグメント７１とプログラム・メモリ・コード・セグメント７３とを含むハードウェア分離メモリ・ブロック７０は、オペレーショナル・フライト・プログラム（ＯＦＰ）の状態データに対処するように、割り振られている。本発明者の発明の一態様において、ハードウェア分離メモリ・ブロックは、コントローラ・オペレーショナル・フライト・プログラム（ＯＦＰ）に割り当てられており、別個のハードウェア分離メモリ・ブロックは、オブザーバー・オペレーショナル・フライト・プログラム（ＯＦＰ）のそれぞれに割り当てられている。本発明者の発明の別の態様において、各ＯＦＰの実行時部分は、その割り当てられたパーティション内のＲＡＭにのみアクセスするように、カプセル化されている。
【００２２】
実行可能なオペレーショナル・フライト・プログラム（ＯＦＰ）の１つのバージョンは、フライト・クリティカル・コンピュータの不揮発性メモリ（ＮＶＭ）２４から、それぞれのハードウェア分離メモリ・ブロック７０にダウンロードされ（ステップ３２）、各ハードウェア分離メモリ・ブロックは、システムＲＡＭ２６〜２８のそれぞれのバンクに含まれている。ＯＦＰの各バージョンは、他の各バージョンの「アイデンティティ・オブザーバー」だが、これは、すべての状態変数が、ＯＦＰの反復の終わりにおいて、対応する値を有していることを意味している。
【００２３】
時間冗長性を提供するために、コントローラ・オペレーショナル・フライト・プログラム（ＯＦＰ）が実行され（ステップ３３）、次いで、各オブザーバーＯＦＰが、所定の順番で実行される（ステップ３４）。本発明者の発明の好ましい一実施形態では、各ＯＦＰの順序付けられた実行は、専用のハードウェア・タイマーによって、スケジュール設定される。
【００２４】
コントローラＯＦＰメモリ・パーティションが損傷を受けているか否かを判定するために、コントローラＯＦＰの出力に、故障検出／分離（ＦＤＩ：Ｆａｕｌｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｉｓｏｌａｔｉｏｎ）手順が、実行される（ステップ３５）。現在「コントローラ」ＯＦＰであるメモリ・パーティションが損傷を受けていると判定されると、別のメモリ・パーティションが、「コントローラ」になるように、割り当てられる（ステップ３６）。
【００２５】
一実施形態では、図４に示すように、コントローラＯＦＰメモリ・パーティション内のデータは、他の「オブザーバー」メモリ・パーティションの対応するデータに対してコントローラＯＦＰメモリ・パーティション内のデータの多数決を実行（ステップ３５１）することによって、チェックされる。パーティション内のデータが、多数決の結果と一致しない場合、それは、損傷を受けているものとマーク付けされる（ステップ３５２）。コントローラＯＦＰパーティション内のデータが、損傷を受けている場合、「新しいコントローラを割り当てよ」を、設定することができる（ステップ３５３）。他の実施形態では、異なる故障検出／分離方式（例えば、パリティ・チェックまたはクロス・チャネル比較）が、多数決の代わりに、または、多数決に加えて使用される。
【００２６】
図３を参照すると、メモリ・パーティションのうちの１つで、エラーのあるデータが検出された場合、そのデータは、損傷を受けていないメモリ・パーティションからの無傷のデータで、上書きされる（ステップ３７）。これによって、フライト・クリティカル・コンピュータは、１回の反復（時間枠）内にシングル・イベント・アップセット（ＳＥＵ）から回復することが可能になることが有利である。
【００２７】
図５は、データを上書きする方法ステップ（ステップ３７）のサブステップを詳述している。複数のシングル・イベント・アップセット（ＳＥＵ）が発生していることを示す、複数のメモリ・パーティションが損傷を受けているか否かがまず判定される（ステップ３７１）。例えば、複数のメモリ・パーティションが損傷を受けている場合、「クロス・チャネル・データ・リンクを使用せよ」フラグを設定することができ（ステップ３７２）、メモリ・パーティションが損傷を受けているコンピュータをリセットして、当業者には周知の方法を使用して、クロス・チャネル・データ・リンク１４を介してそのメモリ・パーティションを再構成することができる。
【００２８】
シングル・イベント・アップセット（ＳＥＵ）に対応して１つのメモリ・パーティションで、損傷を受けたデータが発生した場合、その損傷を受けたデータは、上述した故障検出、識別、および再構成（ＦＤＩＲ）機能によって判定されたように、無傷のデータで上書きされる（ステップ３７３）。好ましい実施形態では、損傷を受けたデータが、図７に示すようにコードセグメント７２に配置されている場合、無傷のデータは、不揮発性メモリ（ＮＶＭ）２４に含まれるコード・ファームウェアに上書きされ（ステップ３７４）、これによって、ＮＶＭにある可能性のあるデータ・エラーが排除される。
【００２９】
本発明は、フライト・クリティカル・コンピュータをＣＰＵ、プログラム・メモリ・データ・セグメント７１、およびプログラム・メモリ・コード・セグメント７３内のＳＥＵ誘発エラーから、回復されることが有利である。正常なメモリ・パーティション内のデータ・イメージを複製することによって、欠陥のあるコンピュータは、最低回数のＯＦＰ反復で、回復することができる。
【００３０】
図６は、損傷を受けたメモリ・パーティションが損傷を受けた後、飛行コンピュータの動作を続行するか否かを判定するステップ（ステップ３８）のサブステップを詳述している。損傷を受けたメモリ・パーティションを再検証するために各パーティションに含まれるデータに関する多数決がまず実行される（ステップ３８１）。損傷を受けていると判定された（ステップ３８２）メモリ・パーティションごとに、オペレーショナル・フライト・プログラムおよびデータが、クロス・チャネル・データ・リンク（ＣＣＤＬ）１４から、各損傷を受けたメモリ・パーティションに、ダウンロードされる（ステップ３８３）。各パーティションに含まれるデータに関して、別の多数決が実行され（ステップ３８５）、複数のメモリ・パーティションが損傷を受けたままであるか否かが判定される（ステップ３８５）。複数のメモリ・パーティションが損傷を受けている場合、飛行コンピュータがオフラインで取られるべきであるということを示す「続行を止められたし」フラグが設定される（ステップ３８６）。
【００３１】
（アイデンティティ・オブザーバー）
ルーエンバーガー（Ｌｕｅｎｂｅｒｇｅｒ）のアイデンティティ・オブザーバー定理に従って構成されたアイデンティティ・オブザーバーのブロック図を示す図８を次に参照する。完全に観測可能な有限次元の時間不変動的システムを、以下の線形定係数微分方程式によって説明する。
【００３２】
【数１】
2004528637.tif 000003
【００３３】
上式でｘc（ｋ）∈Ｒnは、システム状態のベクトルであり、ｘc（０）およびｙc（０）は、システムの初期状態のベクトルであり、ｕ（ｋ）∈Ｒmは、システム入力のベクトルであり、ｙc（ｋ）∈Ｒpは、システム出力のベクトルである。Ａ、Ｂ、Ｃ、およびＤは、適切に大きさを示した実数の定数行列である。
【００３４】
上記方程式のどのコンポーネントのデータの摂動も、出力の異常ｙ（ｔ）を生じる。外乱がどのコンポーネントの大きさを変更したかを識別するために、元のシステムの数学的記述で構築されたオブザーバーを、元のシステムの状態を追跡するために、使用することができる。複数ある周知のオブザーバー設計のうち、元のシステムに対して高度の冗長性を所有するものが、アイデンティティ・オブザーバーである。アイデンティティ・オブザーバーは、元のシステムのすべての状態変数を再構成する。
【００３５】
本発明者の発明で使用するのに適したシステムは、コントローラＯＦＰとオブザーバーＯＦＰとを含む。システムＲＡＭは、ＯＦＰごとに分割されている。パーティションのサイズは、メモリ・アドレスの直接マッピングを可能にするように、均等に割り振られている。各ＯＦＰのプログラム・コードは、冗長プログラム・メモリに常駐している。実行時ＯＦＰブロック、ＦＤＩＲブロック、データ回復アルゴリズムのブロック、およびプログラム回復アルゴリズムのブロックは、リアルタイム・プログラム実行を表す方法で、配置されている。このアーキテクチャは、例えば入力信号管理（ＩＳＭ）および出力信号管理（ＯＳＭ）のような他の必須の機能ブロックを含む。
【００３６】
図８に示すルーエンバーガーのアイデンティティ・オブザーバーは、以下の線形定係数微分方程式に従って、構成される。
【００３７】
【数２】
2004528637.tif 000004
【００３８】
【数３】
2004528637.tif 000005
【００３９】
上式で、ｘo（ｋ）∈Ｒnは、オブザーバー状態のベクトルであり、ｙo（ｋ）∈Ｒpは、オブザーバー出力のベクトルであり、Ｋ∈Ｒnxpは、元のシステムの状態ベクトルを近似するためにオブザーバーの状態ベクトルを動かす係数行列である。他のコンポーネントは、元のシステムで指定されたコンポーネントと同一である。
【００４０】
オブザーバーの状態ベクトルｘo（０）の初期状態が、元のシステムの状態ベクトルｘc（０）の初期状態に等しい場合、アイデンティティ・オブザーバーは、元のシステムの解析的に冗長なシステムである。他の場合は、適切に指定されたＫ行列が、オブザーバーと元のシステムの間のエラーベクトルを０に動かすことができる。
【００４１】
（実施形態の一例）
本節では、回復のためのコントローラ・オブザーバー設計で、本発明者の発明に従い、Ｋ行列例を使用して、システム・アーキテクチャの一例を示すために、高度保持自動操縦コントローラを取り上げる。ピッチ軸に沿った航空機力学の数学的表現例は、この全状態フィードバック制御システムのプラントとして、機能する。プラントは、ｓドメインの状態空間方程式と出力方程式によって、方程式４に記述した連続系である。
【００４２】
【数４】
2004528637.tif 000006
【００４３】
プラントは、入力ｈrefとｚ0（ｔ）および出力ｐ0（ｔ）を使用して、第１のメモリ・パーティションＭＰ0で、コントローラＨにより安定化される。プラントの表現を方程式５に示す。
【００４４】
【数５】
2004528637.tif 000007
【００４５】
図１７は、本発明者の発明の一例である実施形態を実施する制御システムのブロック図を示している。このブロック図は、マスター・スケジューラ１７１、実行時コントローラ１７２、オブザーバー１７３〜１７４、ＦＤＩＲモジュール１７６、および特定の他の機能ブロックから構成されている。航空機力学ピッチ軸のような航空機プラント１８０は、連続的に接続されたコントローラ１７２とオブザーバー１７３〜１７４によって制御される。コントローラとオブザーバーの間で初期状態を等しく保つ機構が、マスター・スケジューラ１７１に常駐している。一実施形態では、第１のオブザーバー１７３と第２のオブザーバー１７４は、コントローラ１７２と同じアーキテクチャおよびセッティングを使用する。さらに一対ごとの比較を使用する故障検出（ＦＤ）プロセスは、出力間の誤差を生成し、これは、方程式６に示すように、第２のメモリ・パーティションＭＰ1で、第１のオブザーバーに追加される。
【００４６】
【数６】
2004528637.tif 000008
【００４７】
第３のメモリ・パーティションＭＰ2の第２のオブザーバーは、第１のオブザーバーと同様の方法で、構成されている。方程式７は、第２のオブザーバーの表現を示している。
【００４８】
【数７】
2004528637.tif 000009
【００４９】
各パーティションの故障モードＭＰi,statusは、当業者に周知の故障分離プロセスによって評価される。メモリ・パーティションのうちの１つで異常が検出されると、まず出力優先Ｔｏｋｅｎoutputが、故障対処に関して評価され、次いで、欠陥のあるメモリ・パーティションを回復するために、データ・イメージ複製プロセスＭＲが開始される。コントローラが出力優先を保持するので、欠陥のあるコントローラの場合は出力優先のトークンが変更する。出力優先のトークンは、メモリ・パーティションの故障モードに従って割り当てられる。トークンを取得するメモリ・パーティションのデータ・イメージは、欠陥のあるメモリ・パーティションのデータ・イメージに取って替わるベースラインとして機能する。一般化されたプロセスが、方程式８で数学的に示される。
【００５０】
【数８】
2004528637.tif 000010
【００５１】
さらに図２を参照すると、システムＲＡＭ２６〜２８はコントローラ１７２とオブザーバー１７３〜１７４の動作に対処するために、分割される。十分なメモリも、ＦＤＩＲ機能に割り当てられる。任意の所与の２つのパーティション間でメモリ・アドレスを直接的にマッピングすることを可能にするために、パーティションのサイズは、コントローラとオブザーバーの間で、均等に割り振られる。各メモリ・パーティションは、透視メモリ・パーティションを構成するために、専用メモリ・パーティション・マネージャによって操作される。メモリ・マネージャは、コントローラ１７２とオブザーバー１７３〜１７４の初期状態を、等しく保つ。マスター・スケジューラブロックは、初期状態を保持しながら、事前定義された時間枠内で実行時コントローラとオブザーバーを起動するように、考案されている。故障検出プロセスは、コントローラ１７２およびオブザーバー１７３〜１７４からの出力の準備に従って、進行する。最後のＦＤＩＲ手順は、プラント１８０に対する制御の出力の前に、トリガされる。さらに、ＦＤＩＲプロセスは、欠陥のあるコントローラまたは欠陥のあるオブザーバーでメモリ回復手順を開始するように、メモリ回復マネージャ１８２〜１８４に命令する。
【００５２】
基準入力ｈref＝１０００．０が与えられると、６０秒の非実時間シミュレーションが、Ｍａｔｈｗｏｒｋｓ社製のＳＩＭＵＬＩＮＫ（商標）によって実行された。ＳＥＵが、１５．０秒間に５．０秒間隔で発生すると想定した場合、それらのイベントをシミュレーションするために、データ・エラーが注入された。図９〜図１３は、検出されたシングル・イベント・アップセット（ＳＥＵ）の順番を示している。図９に示すように、ＳＥＵは、第１のメモリ・パーティションのコントローラで、１０．０秒の時点で検出されている。図１０は、ＳＥＵが第２のメモリ・パーティションのオブザーバーで、１５．０秒の時点で検出されていることを示しており、図１１は、ＳＥＵが第３のメモリ・パーティションのオブザーバーで、２０．０秒の時点で検出されていることを示している。図１４〜図１５は、各ＳＥＵの検出後にトリガされたメモリ回復の試みの順番および継続時間を示している。図１６は、そのようなシナリオにおける制御システムの時間応答を示している。
【００５３】
本発明者の発明は、放射線によって生じたシングル・イベント・アップセット後のフライト・クリティカル・コンピュータの実時間の回復を提供することが有利である。例示の実施形態に示すように、コントローラの性能は、ＳＥＵが連続して発生した後で、劣化しない。
【００５４】
（代替実施形態）
本発明の趣旨または範囲を逸脱せずに代替実施形態を考案することができる。
【００５５】
（本明細書で使用した略語リスト）
本明細書で使用した略語のリストをアルファベット順で以下に示す。
ＣＣＡ      回路カードアセンブリ
ＣＣＤＬ    クロス・チャネル・データ・リンク
ＣＰＵ      中央処理装置
ＦＤＩＲ    故障検出、識別、および再構成
Ｉ／Ｏ      入出力
ＩＳＭ      入力信号管理
ＮＶＭ      不揮発性メモリ
ＯＦＰ      オペレーショナル・フライト・プログラム
ＯＳＭ      出力信号管理
ＰＩＤ      比例、積分および導関数（コントローラ）
ＲＡＭ      ランダム・アクセス・メモリ
ＲＭＳ      冗長性管理システム
ＲＴＯＳ    リアルタイム・オペレーティングシステム（ソフトウェア）
ＳＥＬ      シングル・イベント・ラッチアップ
ＳＥＵ      シングル・イベント・アップセット
ＶＭＣ      輸送手段管理コンピュータ
ＣＰＵ      中央処理装置
ＣＰＵ      中央処理装置
【図面の簡単な説明】
【００５６】
【図１】従来技術に見られるような一組の三重冗長フライト・クリティカル・コンピュータを示す図である。
【図２】メモリ・マップされた入力と出力を含む一般的なフライト・クリティカル・コンピュータの内部ブロック図である。
【図３】本発明の一例である実施形態によるフライト・クリティカル・コンピュータを回復する手順を示す流れ図である。
【図４】本発明による、図３の手順の具体的な詳細を示す図である。
【図５】本発明による、図３の手順の具体的な詳細を示す図である。
【図６】本発明による、図３の手順の具体的な詳細を示す図である。
【図７】メモリ・マップされた入力と出力を含む一般的なフライト・クリティカル・コンピュータの内部ブロック図を示す別個のハードウェア・モジュールに含まれるメモリ・パーティションのレイアウトを示す図である。
【図８】本発明者の発明で使用するのに適したルーエンバーガーのアイデンティティ・オブザーバー定理に従って構成されたアイデンティティ・オブザーバーのブロック図である。
【図９】本発明者の発明の一例である一実施形態に関する出力優先のトークンを示す図である。
【図１０】本発明者の発明の一例である実施形態に関するメモリ・パーティション１に対するエラー検出フラグを示す図である。
【図１１】本発明者の発明の一例である実施形態に関するメモリ・パーティション２に対するエラー検出フラグを示す図である。
【図１２】本発明者の発明の一例である実施形態に関するメモリ・パーティション３に対するエラー検出フラグを示す図である。
【図１３】本発明者の発明の一例である実施形態に関するメモリ・パーティション１におけるメモリ回復フラグを示す図である。
【図１４】本発明者の発明の一例である実施形態に関するメモリ・パーティション２におけるメモリ回復フラグを示す図である。
【図１５】本発明者の発明の一例である実施形態に関するメモリ・パーティション３におけるメモリ回復フラグを示す図である。
【図１６】本発明者の発明の一例である実施形態に関する「高度」対「高度基準」の時間応答を示す図である。
【図１７】本発明者の発明の一例である実施形態のシステム・アーキテクチャを示す図である。
【図１】
2004528637.tif 000011
【図２】
2004528637.tif 000012
【図３】
2004528637.tif 000013
【図４】
2004528637.tif 000014
【図５】
2004528637.tif 000015
【図６】
2004528637.tif 000016
【図７】
2004528637.tif 000017
【図８】
2004528637.tif 000018
【図９】
2004528637.tif 000019
【図１０】
2004528637.tif 000020
【図１１】
2004528637.tif 000021
【図１２】
2004528637.tif 000022
【図１３】
2004528637.tif 000023
【図１４】
2004528637.tif 000024
【図１５】
2004528637.tif 000025
【図１６】
2004528637.tif 000026
【図１７】
2004528637.tif 000027
【国際公開パンフレット】
2004528637.tif 000028
2004528637.tif 000029
2004528637.tif 000030
2004528637.tif 000031
2004528637.tif 000032
2004528637.tif 000033
2004528637.tif 000034
2004528637.tif 000035
2004528637.tif 000036
2004528637.tif 000037
2004528637.tif 000038
2004528637.tif 000039
2004528637.tif 000040
2004528637.tif 000041
2004528637.tif 000042
2004528637.tif 000043
2004528637.tif 000044
2004528637.tif 000045
2004528637.tif 000046
2004528637.tif 000047
2004528637.tif 000048
2004528637.tif 000049
2004528637.tif 000050
2004528637.tif 000051
2004528637.tif 000052
2004528637.tif 000053
2004528637.tif 000054
2004528637.tif 000055
2004528637.tif 000056
2004528637.tif 000057
2004528637.tif 000058
2004528637.tif 000059
2004528637.tif 000060
2004528637.tif 000061
2004528637.tif 000062
【国際調査報告】
2004528637.tif 000063