JP7204341B2 - 高データインテグリティ処理システム - Google Patents

高データインテグリティ処理システム Download PDF

Info

Publication number
JP7204341B2
JP7204341B2 JP2018092652A JP2018092652A JP7204341B2 JP 7204341 B2 JP7204341 B2 JP 7204341B2 JP 2018092652 A JP2018092652 A JP 2018092652A JP 2018092652 A JP2018092652 A JP 2018092652A JP 7204341 B2 JP7204341 B2 JP 7204341B2
Authority
JP
Japan
Prior art keywords
result
integrity
processing unit
memory
data
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.)
Active
Application number
JP2018092652A
Other languages
English (en)
Other versions
JP2019008781A (ja
Inventor
ブルース エー. ボエットジャー,
メアリアン ドゥーリー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of JP2019008781A publication Critical patent/JP2019008781A/ja
Application granted granted Critical
Publication of JP7204341B2 publication Critical patent/JP7204341B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

[0001]本開示は、シングルイベント効果(「SEE」)が生じる環境で動作する装置、特にSEEの効果を軽減する装置に関する。
[0002]現在、多くのデジタル電子機器の形状サイズはサブミクロンレベルにまで縮小されている。このサイズの縮小の結果、電力消費、スループット、スピード、及びメモリ密度に関する性能が改善した。しかしながら、形状サイズの縮小は、シングルイベント効果(「SEE」)に対する脆弱性の高まりにもつながった。SEEは単一の高エネルギー粒子によって発生し、多数の形態を取りうる。宇宙空間では、SEEは、地球の磁場に捕えられたプロトン、銀河宇宙線、及び太陽粒子現象によって発生する。
[0003]残念なことに、現在の装置の形状を縮小させる傾向により、航空機に関連する地上及び高度におけるSEEの脅威も高まる。これは、銀河宇宙線と太陽の荷電粒子が大気と反応して、高エネルギー中性子を含む粒子の連鎖を発生させた結果である。これらの中性子は半導体材料と反応して、荷電「娘」生成物を生じさせ、これはのちにSEEにつながりうる。さらに、SEEは、装置パッケージ内で自然発生するウラン及びトリウムの劣化から生じるアルファ粒子だけでなく、多くの電子機器の最終処理におけるBPSG(ボロン燐ガラス)にしばしば用いられる硼素10と反応する熱中性子によっても発生する場合がある。一般に、電子機器の中性子照射線量率は、電子機器の高度及び緯度によって変化し、例えば極緯度では海抜から4万3千フィートまでで700倍以上も増加する。
[0004]当業者には当然のことであるが、SEEの影響は無害な故障から「ラッチアップ」又は「バーンアウト」などの破壊的な事象に起因する破滅的不良まで及ぶ。一般に、最も一般的なSEEは、メモリ保存エレメントの論理状態を反転させる、シングルイベントアップセット(「SEU」)である。加えて、SEEには、線形装置(例えばコンパレータ又はオペアンプ)における、例えばパワーオンリセットなどの故障保護又は不足/過剰電圧保護のターンオンにつながりうる、シングルイベントトランジェント(「SET」)も含まれうる。しかしながら、更に懸念されるのが、リセットされるまで装置がもはや意図されるように動作せず、電力が循環する機能妨害(「SEFI」)を引き起こす、あるいはひどい場合には、シングルイベントラッチアップ(「SEL」)を引き起こすSEEである。SELは動作中のSEFIに酷似している場合があるが、寄生構造を介した電子機器の電源から接地への短絡が伴う。ロックアップに加えて、SELの症状には、電子機器の物理的損傷につながりうる電流の急増が含まれうる。他の破壊的なSEEには、例えば金属酸化膜半導体電界効果トランジスタ(「MOSFET」)などのパワーデバイスにおいて最も良く見られるシングルイベントバーンアウト及びシングルイベントゲートラプチャーが含まれる。
[0005]SEEに対処する既知の方法は、特注設計で費用のかかるクロックロックステップ構成の複数のプロセッサを用いて実行される高いデータインテグリティ要件を含むハードウェアを用いることを含む。これらの方法では、特に固定化された回路(つまりハードウェア)において、並行して、形式化された投票結果を計算するロックステップ方式が用いられる。これは、例えば三重の冗長化となる。通常、このハードウェアは、高価で生産性の低い(すなわち、ASICが特注設計であり、特定の使用のために作製されるため、非常にわずかな量しか作られない)一または複数の特定用途向け集積回路(「ASIC」)として実装される。更に、これらのASICは通常、設計誤差のないように、意図しない特徴がないように、あるいはこれら両方ともないように設計され、それを実行するために検証、また認証されなければならず、このため、ASICの製造費用は更に高くなる。したがって、これらの問題を克服し、非特注ハードウェアを用いるシステム及び方法が必要である。
[0006]高データインテグリティ処理システム(「HDIPS」)が開示されている。HDIPSは、第1の処理装置と、第1の処理装置と信号通信している三重投票処理(「TVP」)装置とを含む。第1の処理装置は高い放射線耐性を有し、プロセッサと、キャッシュメモリと、コンピュータ可読媒体(「CRM」)とを含む。CRMは、プロセッサに、TVP装置に送信される第1のインテグリティ結果を生成する定期的な第1のインテグリティチェックを第1の処理装置に対して実行させる、符号化されたコンピュータによって実行可能な命令を有する。TVP装置は、TVP装置に、定期的な第1のインテグリティチェックと同時に、第2のインテグリティ結果を生成する第2のインテグリティチェックを第1の処理装置に対して実行させ、第1のインテグリティ結果を第2のインテグリティ結果と比較させ、第1のインテグリティ結果が第2のインテグリティ結果と一致しない場合に第1の処理装置の電力リセットを行わせる、符号化された機械命令を有するファームウェアを含む。
[0007]工程の実施例では、HDIPSは、高い放射線耐性を有する第1の処理装置に定期的な第1のインテグリティチェックを実行して第1のインテグリティ結果を生成することと、定期的な第1のインテグリティチェックと同時に、TVP装置に第2のインテグリティチェックを実行して第2のインテグリティ結果を生成することとを含む方法を実施する。本方法は次に、第1のインテグリティ結果を第2のインテグリティ結果と比較することと、第1のインテグリティ結果が第2のインテグリティ結果と一致しない場合に第1の処理装置の電力リセットを行うこととを含む。
[0008]本発明の他のデバイス、装置、システム、方法、特徴、及び利点は、下記の図面及び詳細な説明を精査することにより当業者に明らかであるか、または明らかになる。こうした付加的なシステム、方法、特徴、及び利点は全てこの明細書に含まれ、本発明の範囲内であり且つ添付の特許請求の範囲によって保護されることが意図されている。
[0009]本発明は、下記の図面を参照することにより、より深く理解することができる。図面における構成要素は必ずしも正確な縮尺で描かれておらず、むしろ本発明の原理を示すことに重点が置かれている。図面において、同様の参照番号は、異なる図面を通して対応する部品を指すものである。
本開示に係る高データインテグリティ処理システム(「HDIPS」)の実行形態の一実施例のシステムブロック図である。 本開示に係る、図1に示すHDIPSとともに使用されるフレームの実行形態の一実施例のシステムブロック図である。 本開示に係る、図1に示すHDIPSによって実施される方法の実行形態の一実施例のフロー図である。 本開示に係る、図3に示すインテグリティチェックプロセスを実施する方法の実行形態の一実施例のフロー図である。 本開示に係る、図4に示すデータメモリチェックプロセスを実施する方法の実行形態の一実施例のフロー図である。 本開示に係る、図3に示す二重認証プロセスを実施する方法の実行形態の一実施例のフロー図である。
[0016]開示されるのは、高データインテグリティ処理システム(「HDIPS])である。HDIPSは、第1の処理装置と信号通信している第1の処理装置と三重投票処理(「TVP」)装置を含む。第1の処理装置は高い放射線耐性を有し、プロセッサと、キャッシュメモリと、コンピュータ可読媒体(「CRM」)とを含む。CRMは、プロセッサに、TVP装置に送信される第1のインテグリティ結果を生成する定期的な第1のインテグリティチェックを第1の処理装置に対して実行させる、CRMに符号化されたコンピュータによって実行可能な命令を有する。TVP装置は、TVP装置に、定期的な第1のインテグリティチェックと同時に、第2のインテグリティ結果を生成する第2のインテグリティチェックを第1の処理装置に対して実行させ、第1のインテグリティ結果を第2のインテグリティ結果と比較させ、第1のインテグリティ結果が第2のインテグリティ結果と一致しない場合に第1の処理装置の電力リセットを行わせる、符号化された機械命令を有するファームウェアを含む。HDIPSは、前述したシングルイベント効果(「SEE」)に関する問題に対処し、非特注ハードウェアの第1の処理装置がTVPと協力して高インテグリティ(すなわち、SEEに対する高い耐性)を有する出力信号(すなわち、データ信号)を生成することを可能にする。
[0017]一般に、HDIPSは、ビークルの装置にSEEを発生させる高放射線環境を通って移動するビークルの一部となる。ビークルは、例えば宇宙船、航空機(有人及び無人の両方)、又は高い高度を移動する陸上ビークルであってよい。工程において、HDIPSは、例えばSEEの影響が軽減されないと危険となりうる方法で(SEE環境で)ビークルの機能を制御するナビゲーションシステム又は他のシステムの一部でありうる。
[0018]工程の一実施例では、HDIPSは、高い放射線耐性を有する第1の処理装置に定期的な第1のインテグリティチェックを実行して第1のインテグリティ結果を生成することと、定期的な第1のインテグリティチェックと同時に、TVP装置に第2のインテグリティチェックを実行して第2のインテグリティ結果を生成することとを含む方法を実施する。本方法は次に、第1のインテグリティ結果を第2のインテグリティ結果と比較することと、第1のインテグリティ結果が第2のインテグリティ結果と一致しない場合に第1の処理装置の電力リセットを行うこととを含む。
[0019]更に具体的に、図1に、本開示に係るHDIPS100の実行形態の一実施例を示すシステムブロック図を示す。HDIPS100は、高い放射線耐性と、キャッシュメモリ104とを有する第1の処理装置102と、信号経路108を介して第1の処理装置102と信号通信しているTVP装置106とを含む。第1の処理装置102は、プロセッサ110とCRM112とを含む。CRM112は、プロセッサ110に、TVP装置106に送信される第1のインテグリティ結果116を生成する定期的な第1のインテグリティチェックを第1の処理装置102に対して実行させる、符号化されたコンピュータによって実行可能な命令(例えばソフトウェア114等)を有する。TVP装置106は、TVP装置106に、定期的な第1のインテグリティチェックと同時に、第2のインテグリティ結果を生成する第2のインテグリティチェックを第1の処理装置102に対して実行させ、第1のインテグリティ結果を第2のインテグリティ結果と比較させ、第1のインテグリティ結果116が第2のインテグリティ結果と一致しない場合に第1の処理装置102の電力リセットを行わせる、符号化された機械命令を有するファームウェア118を含む。この実施例では、HDIPS100は、信号経路122を介して外部のシステム120と信号通信しうる。
[0020]この実施例では、第1の処理装置102はSEEの影響を最小限に抑えるために高い放射線耐性を有しており、SEEは単一の高エネルギー粒子によって発生し、前述したように多数の形態を取りうる。一例として、第1の処理装置102は、シリコンオンインシュレータ(「SOI」)技術を用いた装置であってよい。第1の処理装置102は、中央処理装置(「CPU」)であってよい。
[0021]TVP装置106は、SEEの影響も最小限に抑えるために、高い放射線耐性も有する。TVP装置106は、SOI技術も用いうる。更に、TVP装置106は例えば、3つのシステムがプロセスを実施し、その結果を多数投票システムによって処理して単一の出力を生成するフォールトトレラントの形態のNモジュラー冗長である三重モード冗長(「TMR」)技術を用いたフィールドプログラマブルゲートアレイ(「FPGA」)であってよい。この方法では、3つのシステムのうちいずれかのシステムが失敗した場合、他の2つのシステムが失敗を訂正して隠すことができる。
[0022]この実施例では、第1の処理装置102はまた、オプションとして第1の処理装置102内に、あるいは第1の処理装置102の外部(HDIPS100内)に位置し、第1の処理装置102と信号通信しているエラー訂正コード(「ECC」)メモリ124も含みうる。当業者には当然のことであるが、ECCメモリ124は、ECCメモリ124内に実際に保存された一または複数のビットが間違った状態に反転していたとしても、各ワードから読み取られるデータ(すなわち固定サイズのデータ片)は常にそれに書き込まれたデータと同じであるため、シングルビットエラーに影響されないエラー検出及び訂正(「EDAC」)メモリである。当業者には当然のことであるが、ECCメモリ124は、TMR技術又はハミングエラー訂正を用いることも可能である。
[0023]CRM112はまた、例えばAvionics Application Standard Software Interface (「ARINC」) 653等の時間、空間、及びパーティショニングオペレーティングシステムであるオペレーティングシステム(「OS」)126も含む。この実施例では、ARINC653により、同じハードウェア上で異なるソフトウェアレベルの複数のアプリケーションを受け入れることが可能になる。各アプリケーションソフトウェアはパーティションと呼ばれ、各アプリケーションはキャッシュメモリ104にそれ自体のメモリ空間と、スケジューラによって割り当てられたそれ自体の専用のタイムスロットを有する。当業者には当然のことであるが、計算において、スケジューリングは作業を完了させるリソースに作業を割り当てる方法である。作業は、例えば、プロセッサ、ネットワークリンク又は拡張カード等のハードウェアリソース上にスケジューリングされたスレッド、プロセス又はデータフローなどの仮想計算エレメントでありうる。上記のように、スケジューラとは、スケジューリング活動を実行するものである。
[0024]当業者には当然のことであるが、キャッシュメモリ104は、データに対する今後の要求に素早く対応しうるようにそのデータを保存する種類のメモリであって、キャッシュメモリ104に保存されたデータは、前の計算、又はどこか他に保存されたデータの複製の結果である場合がある。この実施例では、キャッシュメモリ104は、プロセッサ110に直接組み込まれた、又はプロセッサ110と直接信号通信し、ECCメモリ124よりも高速に動作しうるランダムアクセスメモリ(「RAM」)であってよい。キャッシュメモリ104は、例えば、レベル1(「L1」)キャッシュ、レベル2(「L2」)キャッシュ、及びレベル3(「L3」)キャッシュ等、プロセッサ110への近さ及びアクセス可能性を表すレベルを含みうる。
[0025]この実施例では、プロセッサ110は、ある場合にはシステムバス、データバス、アドレスバス、周辺構成要素相互接続(「PCI」)バス、Mini-PCIバス、及びいずれかの様々なローカルバス、周辺バス、及び/又は独立したバスのうちの一または複数を含みうるバスを含みうる信号経路を介して、CRM112と信号通信している。CRM112に保存されたコンピュータによって実行可能な命令は、例えばOS126、クライアントモジュール(図示せず)、プロファイルモジュール(図示せず)、プロセッサ110によってロード可能及び実行可能なソフトウェア114、及び他のモジュール、プログラム、又はアプリケーションを含みうる。
[0026]CRM112は、コンピュータ記憶媒体及び/又は通信媒体を含みうる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を格納するための任意の方法又は技術において実装される、揮発性メモリ、不揮発性メモリ、及び/又は他の固定及び/又は予備のコンピュータ記憶媒体、取り外し可能な及び取り外しできないコンピュータ記憶媒体のうちの一または複数を含みうる。したがって、コンピュータ記憶媒体は、非限定的にRAM,スタティックランダムアクセスメモリ(「SRAM」)、ダイナミックランダムアクセスメモリ(「DRAM」)、相変化メモリ(「PCM」)、読み取り専用メモリ(「ROM」)、消去可能・プログラム可能型読み取り専用メモリ(「EPROM」)、電気的消去・プログラム可能型読み取り専用メモリ(「EEPROM」)、フラッシュメモリ、磁気ディスク記憶装置、磁気カード又は他の磁気記憶装置又は媒体、ソリッドステートメモリデバイス、又は他のいずれかの記憶装置用メモリ、記憶装置、及び/又はコンピュータ装置によるアクセスのために情報を記憶し維持するのに使用可能な記憶媒体を含む、装置の一部である、あるいは装置の外部にある装置及び/又はハードウェア構成要素に含まれる媒体の有形及び/又は物理的形態を含む。
[0027]コンピュータ記憶媒体とは逆に、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は例えば搬送波等の変調データ信号内の他のデータ、又は他の送信機構を具現化しうる。本書で定義されるコンピュータ記憶媒体は、通信媒体を含まない。つまり、コンピュータ記憶媒体は、例えば変調データ信号、搬送波、又は伝播信号のみからなる通信媒体を含まない。
[0028]当業者には当然のことであるが、HDIPS100の、あるいはHDIPS100に関連付けられた回路、構成要素、モジュール、及び/又は装置は互いに信号通信していると説明したが、信号通信は、回路、構成要素、モジュール、及び/又は装置間での任意の種類の通信及び/又は接続を指し、これにより、回路、構成要素、モジュール、及び/又は装置が別の回路、構成要素、モジュール、及び/又は装置と信号及び/又は情報を送受信することが可能になる。通信及び/又は接続は、1つの回路、構成要素、モジュール、及び/又は装置から別の回路、構成要素、モジュール、及び/又は装置へ信号及び/又は情報を送ることを可能にする回路、構成要素、モジュール、及び/又は装置間での任意の信号経路に沿ったものであってよく、これには無線又は有線信号経路が含まれる。信号経路は例えば、導線、電磁導波、ケーブル、取り付けられた及び/又は電磁的に又は機械的に結合された端子、半導体又は誘電材料又は装置、あるいは他の同様の物理的接続又は結合等の物理的なものであってよい。加えて、信号経路は、直接的な電磁接続を通さない様々なデジタル形式で、通信情報が1つの回路、構成要素、モジュール、及び/又は装置から別の回路、構成要素、モジュール、及び/又は装置へ送られる、デジタル構成要素を通る、自由空間(電磁伝搬の場合)又は情報経路等の非物理的なものであってよい。
[0029]工程例において、HDIPS100は、高い放射線耐性を有する第1の処理装置102に定期的な第1のインテグリティチェックを実行して第1のインテグリティ結果116を生成することと、定期的な第1のインテグリティチェックと同時に、TVP装置106に第2のインテグリティチェックを実行して第2のインテグリティ結果を生成することとを含む方法を実施する。本方法は次に、第1のインテグリティ結果116と第2のインテグリティ結果とを比較することと、第1のインテグリティ結果116が第2のインテグリティ結果と一致しない場合に電力リセット信号128で第1の処理装置102の電力リセットを行うこととを含む。この実施例では、信号経路130を介してTVP装置106から第1の処理装置102に電力リセット信号128が送信される。第1の処理装置102が電力リセット信号128を受信すると、第1の処理装置は、第1の処理装置102の電源を切り、キャッシュメモリ104内の全てのデータを消去して、第1の処理装置内の回路をリセットするコールドスタートを実施する。
[0030]一般に、HDIPS100は、OS126に、メモリのフレームをキャッシュメモリ104内に作成させることによって定期的な第1のインテグリティチェックを実施し、これには確定的な時間がかかる。フレームは、キャッシュメモリ104内にOS126のスケジューラによって割り振られたそれ自体のメモリ空間と、それ自体の専用の時間スロットを有する複数のパーティションに分割される(すなわち、各パーティションはそれ自体のメモリアドレスを有する)。スケジューラは次に、定期的な第1のインテグリティチェック(本願では、インテグリティチェックは第1の処理装置102によって、及び第1の処理装置102において実施されるため、「第1の」インテグリティチェックと称される)を実施するために、フレームの初期のパーティションを割り振る(すなわち、キャッシュメモリ104のフレームのインテグリティパーティションを確立する)。
[0031]プロセッサ110は次に、任意のデータを受信する前に第1の処理装置102の組込み試験(「BIT」)を実行する。BITは予め定められ、第1の処理装置102が確定的に機能しているという高い信頼性を生み出すために、第1の処理装置102を十分働かせるほどに十分正確である。いずれかのエラーが検出された場合、エラーはHDIPS100によって出来る限り忠実に報告される。BITの一例として、プロセッサ110は、第1の処理装置102の複数の操作コードのサブセットを実行することができ、操作コードは、プロセッサ110の動作を制御するために用いられるコードである。第1の処理装置102は次に、ECCメモリ124にデータチェックプロセスを実施しうる。
[0032]データチェックプロセスは、ECCメモリ124からメモリ値を読み取ることと、メモリ値をメモリ値に対応するECCメモリ124のECC値と比較することと、再生成されたECC値を再生成することと、ECC値を再生成されたECC値と比較することとを含みうる。データチェックプロセスは、オプションとして、第1のインテグリティチェックを実施する前に実施することができ、これによりECCメモリ124がBITを実施する前に又は第1のインテグリティの後にSEEの影響を受けていないことが確認される。ECC値を再生成されたECC値と比較して一致していない場合、第1の処理装置102は、ECCメモリ124軽減プロセスを実施することができ、これによりECCメモリ124を適切に使用するための準備をすることができる。ECCメモリ124のデータチェックが完了すると、本方法は第1の処理装置102の関数を適切に取得するために、計算集約型プロセス(すなわち計算が複雑な計算)を実施することを開始しうる。
[0033]この実施例では、データチェックは一般に「メモリスクラブ」としても知られている。ECCメモリ124をスクラビングする目的は、ECCメモリ124に保存されたデータのインテグリティを守るためである。これは、ECCメモリ124が、実行時にHDIPS100がそれ自体の全ての命令及びデータを保存する場所であり、ECCメモリ124は通常SEEの影響を受けやすいためである。一例として、ECCメモリ124は、例えば、倍データレートタイプ3(「DDR3」)SDRAM等のシンクロナスDRAM(「SDRAM」)であってよい。当業者には、SEE環境において、DDR3SDRAMの個々のセルが自発的に、またランダムに(すなわちLogic0からLogic1へ、またその逆へ)状態を変化させるであろうことは周知である。
[0034]一般に、SEEが原因でDDR3 SDRAMのセルがビットを反転させるレートは高度によって決定される。工程において、データがECCメモリ124のDDR3記憶装置に書き込まれると、ECCも同じ場所に自動的に書き込まれる。本開示において、スクラビング(すなわちデータチェックプロセス)は、ECCメモリ124内のメモリ位置のセットを読み取ることと、ECCシンドロームを再計算することと、その結果をメモリ位置から読み取られた元のECCシンドロームと比較することとを含む。この実施例では、第1の処理装置102に含まれるECCシンドローム機構は、単一のエラー訂正、2つのエラー検出(「SECDED」)として知られる付加的なパリティを有する拡張ハミング符号を実施することができる。一般に、第1の処理装置102は1つのエラーを見つけ、第1の処理装置102は訂正されたバージョンのデータをECCメモリ124にライトバックする。2つのビット反転が起きた場合、HDIPS100はデータを回復させることができない場合があり、リセットが必要となる。ECCメモリ124はSEEの影響を受けやすいため、スクラビングの間の時間が長いほど、SEEの影響により、ECCメモリ124内のデータがゆがめて伝えられる可能性が高まる。上記のように、HDIPS100は、2つのビット反転が発生する確率を減らすようなレートで、データチェックプロセスを実行する。このレートは、システム設計者によって予め定められる。
[0035]BITが完了し、エラーが全く検出されなければ、第1の処理装置102及びTVP装置106は第1及び第2のインテグリティチェックの両方に対して計算集約型のプロセスを用いることができ、プロセスでは、第1の処理装置102のリソースのかなりの部分が用いられるほど大量の計算が実行され、これによりSEEの影響を受けているかどうかを知るために第1の処理装置102の回路の状態が包括的にテストされる。この実施例では、計算集約型のプロセスは、第1の処理装置102で第1の線形帰還シフトレジスタ(「LFSR」)を用いて第1の疑似乱数列を生成すること、そして同時に、TVP装置106で第2のLFSRを用いて第2の疑似乱数列を生成することを含みうる。第1のインテグリティチェックを第2のインテグリティチェックと比較することは次に、TVP装置106において第1のインテグリティ結果116の第1の疑似乱数列を第2疑似乱数列と比較することを含む。この実施例では、第1のLFSRと第2のLFSRは、第1の処理装置102とTVP装置106の両方におけるものと同じシードであり、シードとは、第1及び第2のLFSRの両方の初期値である。当業者には当然のことであるが、この実施例では、LFSRがそれ自体の以前の状態の線形関数である入力ビットを有するシフトレジスタであり、シフトレジスタの工程が確定的であるため、レジスタによって生成された値のストリームは、それ自体の現在の(又は以前の)状態によって完全に決まる。更に、シフトレジスタは有限数の可能な状態を有するため、最終的には反復サイクルに入ることになるが、適切なフィードバック関数を有するLFSRは、ランダムに見え、非常に長いサイクルを有するビット列を生成し、これにより、疑似乱数列が生成される。
[0036]第1の処理装置102が第1のインテグリティチェックを完了すると、第1の処理装置102は、二重認証サブプロセスを実施する準備ができる。二重認証プロセスは、次の第1のインテグリティチェックが実施される前に予め定められたM量の計算を実施することを含み、Mの数は、HDIPS100の設計によって、あるいはHDIPS100をプログラミングしうるシステムレベルのユーザによって予め定められる。これらのMの計算は、SEE環境において他のシステム(例:外部のシステム120)がその値を適切に信頼することができるように、その値が高いインテグリティを有することが要求される重要で、危険性のある、あるいは重大な計算でありうる。例えば、オートパイロット、ナビゲーション、又はシステム警報システムを用いる航空機は、SEE環境において問題が生じないように、電気システム及び電子システム及びサブシステムが正確で信頼性の高い値を算出していることを確認する必要がある。その結果、HDIPS100は、HDIPS100からの全ての出力データ132が信頼性の高いものとなり、HDIPS100は出力データ132としていかなる不良データも生成しないことが確実である方法を実施する。サブプロセスは、第1の処理装置102において2回計算を実施するため、「二重認証」プロセスと称される。
[0037]上記のように、HDIPS100は、コンピュータによって実行可能な命令を用いて第1の処理装置102によって実施される定期的な第1のインテグリティチェック間に、M量の計算を実行する。この計算には、第1の処理装置102において第1のデータ134を受信することと、第1の時間値において第1のデータ134の第1の計算を実行して第1の結果を生成することと、第1の計算を実行した後でキャッシュメモリ104をフラッシュすることと、第2の時間値において第1のデータ134の第2の計算を実行して第2の結果を生成することと、第3の時間値において第1の結果を第2の結果と比較することと、第1の結果が第2の結果と一致しない場合にキャッシュメモリ104をフラッシュすることとが含まれる。
[0038]この実施例では、第2の時間値は第1の時間値に続くものであり、第3の時間値は第2の時間値に続くものである。更に、第1の計算を実行することは、キャッシュメモリ104のフレームの第1のパーティションにおいて第1の計算を実行することと、キャッシュメモリ104をフラッシュする前にECCメモリ124内に第1の結果を保存することを含む。第1のパーティションは、キャッシュメモリ104内に第1のメモリアドレスを有する。更に、第2の計算を実行することは、キャッシュメモリ104をフラッシュした後に、キャッシュメモリ104のフレームの第2のパーティションにおいて第2の計算を実行することを含み、第2のパーティションはキャッシュメモリ104内に第2のメモリアドレスを有する。第1及び第2のメモリアドレスは、第1のパーティションからの残りの値が第2のパーティションに影響しないように、異なっている。
[0039]更に具体的には、第1の計算を実行した後にキャッシュメモリ104をフラッシュする目的は、第2の結果を確定的に生成するために、第2の計算を実行する前に既知の構成から開始するためである。この実施例では、OS126は時空的に区分けされたシステムであり、OS126は、第1のタスクが確定的な時間の間実施され、別のタスクも確定的な時間の間実施されるように指示する。このように、これら2つの計算の間でキャッシュメモリ104をフラッシュすることで、第2のパーティションによって生成されたデータ(すなわち第2の結果)は第1のパーティションから残ったいかなる「古くなった」データによっても全く影響をうけなくなる。こうすれば、時空的区分けの「空間」部分により、各タスクエレメントがそれ自体の独自のメモリ空間で実行され且つこれらの空間のコンテンツが有効なパーティション間で変更されないモデルが実施される。この実施例では、フラッシュプロセスはキャッシュメモリ104に限定され、ECCメモリ124はフラッシュされないことを理解すべきである。
[0040]第1の結果が第2の結果と一致する場合、コンピュータによって実行可能な命令114は、第1の処理装置102に、信号経路122を介して第1の結果を外部のシステム120へ送信させ、第1の結果が第2の結果と一致しない場合、第1の処理装置102に、第1のデータ134を受信するステップと、第1及び第2の計算を再計算するステップと、新たな第1の結果を第2の結果と比較するステップを繰り返させる。
[0041]この実施例では、各パーティションはそれ自体の計算結果を、各パーティションに対して割り当てられたメモリアドレス及び範囲とともに、ECCメモリ124内の共通メモリエリア内に格納する。いずれの場合にも、有効なパーティションはそれ自体の計算結果を、キャッシュメモリ104をフラッシュして、次のパーティションに移行する前に、共通メモリエリアに保存する。第1の処理装置102が外部(すなわち外部のシステム120)にデータを出力する準備ができた時に、OS126によって特殊なパーティションタイプがスケジューリングされ実行される。このパーティションは、入出力(「I/O」)パーティションである。
[0042]第1の結果が第2の結果と一致する場合、第1の結果を外部のシステム120へ送信する前に、コンピュータによって実行可能な命令114は、プロセッサ110に、第1の結果を以前の平均値と更に比較させる。第1の結果が以前の平均値と一致しない場合、コンピュータによって実行可能な命令114は、プロセッサ110に、キャッシュメモリ104をフラッシュさせ、第1のデータ134を受信するステップを繰り返させ、第1及び第2の計算を再計算させ、新たな第1及び第2の結果を比較させ、新たな第1の結果を以前の平均値と比較させる。
[0043]第1の結果が以前の平均値と一致する場合、コンピュータによって実行可能な命令114は、プロセッサ110に、第1の結果をエラー限界とさらに比較させて、第1の結果がエラー限界内であるかどうかを決定させる。エラー限界は、プロセッサ110によって実施される所与の計算における可能な値に対応する最大及び最低を有する値のウィンドウである。
[0044]一実施例として、HDIPS100は、所与の速度における航空機の旋回レートの計算を実施しうる。以前の平均値は、予め定められた時間における旋回レートを示す、その予め定められた時間にわたる平均である。第1の処理装置102によって生成された、計算された旋回レートが一致ウィンドウ(以前の平均値とおおよそ等しい予め定められた値の範囲)外である場合、計算された旋回レートがHDIPS100によって航空機の旋回レートの許容可能な値の範囲外であるとみなされ、HDIPS100は計算された旋回レートを却下し、HDIPS100に新たな旋回レートを再計算させて以前の平均値に対してテストさせる。
[0045]同様に、所与のデータパラメータは、予め定められた目的において許容可能な上限及び下限を有していてよく、計算された値がこれらの上限又は下限(すなわち、エラー限界のウィンドウ又は単純に「リミットウィンドウ」)外である場合、計算された値が幾つかの計算の後に一致し、以前の平均値と一致するにも関わらず、HDIPS100によって却下される。航空機の旋回レートを用いる別の実施例として、所与の航空機において、15度を上回る旋回レートを有することが危険であると予め定められた場合、HDIPS100は、たとえ計算が第1の処理装置102を通して確認され、以前の平均値と一致するとしても、15度の旋回レートを超えるように要求する出力データ132を外部のシステム120へ送信しようと試みる計算を却下する(例えば、過去において、航空機にとって危険であったが15度を超える旋回レートを生じさせる操作を航空機が実施せざるを得なかった等)。このように、HDIPS100は、第1の処理装置102が第1のデータ134を受信し、両方の計算結果と一致させ、以前の平均値と一致させ、エラー限界と一致させる二重の計算を実施する場合にのみ、出力データ132を外部のシステム120へ送信する。
[0046]これらの実施例すべてにおいて、HDIPS100は、第1の処理装置102を用いて、第1の処理装置102のリセットが、インテグリティチェック内の不一致を除くBITのエラー、データチェックのエラー、又は二重認証プロセスの第1及び第2の結果の不一致に応じて起こるかどうかを決定する。前述したように、HDIPS100は、HDIPS100がインテグリティチェックをしなかった場合にTVP装置106を用いて第1の処理装置102にリセットさせる。
[0047]本開示に係るHDIPS100とともに使用されるフレーム200の実行形態の一例を示すシステムブロック図である図2を参照する。図示した実施例では、フレーム200は、HDIPS10によって確定的に実施されるパーティションの定期的な繰り返しを含む。図示したフレーム200は、フレーム200の開始において第1のインテグリティパーティション202を有し、フレーム200の終わり近くに第2のインテグリティパーティション204を有する。当業者には当然のことであるが、例示の目的でインテグリティパーティションを2つのみ示したが、インテグリティパーティションは、フレーム200の設計パラメータとタイミングリミットに基づきフレーム200内の任意の数のインテグリティパーティションであってよい。フレーム200はまた、第1の初期のインテグリティパーティション202と第2の初期のインテグリティパーティション204との間にも複数のパーティションを含みうる。例えば、フレーム200は、第1のインテグリティパーティション202の後の、第1の時点(「T」)における第1のパーティション206、第2の時点(「T」)における第2のパーティション208、及び第3の時点(「T」)における第3のパーティション210を含みうる。同様に、フレーム200はまた、第2のインテグリティパーティション204の後の、Tにおける第1のパーティション212、Tにおける第2のパーティション214、及びTにおける第3のパーティション216も含みうる。
[0048]前述したように、第1のインテグリティチェック218は、初期の時点(「T」)で第1の初期のインテグリティパーティション202のタスクとして実施される。第1の計算タスク220は、第1の初期のインテグリティパーティション202の後、Tにおいて第1のパーティション206のタスクとして実行される。第2の計算タスク222は、Tにおける第1の計算220の後、Tにおいて第2のパーティション208のタスクとして実行される。第1の計算220からの第1の結果と第2の計算222からの第2の結果との比較タスク224は、Tにおける第2の計算222の後、Tにおいて第3のパーティション210で実施される。前述したように、第1の計算220と第2の計算222との間に、HDIPS100は、第1の計算220を完了した後に第1のパーティション206をフラッシュする226。HDIPS100はまた、第2の計算222が完了した後に第2のパーティション208もフラッシュしうる228。第1及び第2の計算220及び222の値(すなわち第1と第2の結果)は、第1のパーティション206のキャッシュメモリ104のフラッシュ226と第2のパーティション208のフラッシュ228の前に、ECCメモリ124に保存されうる。HDIPS100はまた、第1のインテグリティチェック218を実施した後に、キャッシュメモリ104もフラッシュしうる230。
[0049]同様に、インテグリティチェックは定期的なものであるため、これらのチェックは確定的な方法で予め定められた時間の後に繰り返され、第1のインテグリティチェック232はTにおいて第1の初期のインテグリティパーティション202のタスクとして実施される。第1の計算タスク234は、第1の初期のインテグリティパーティション204の後、Tにおいて第1のパーティション212のタスクとして実行される。第2の計算タスク236は、Tにおける第1の計算234の後、Tにおいて第2のパーティション214のタスクとして実行される。第1の計算234からの第1の結果と第2の計算236からの第2の結果との比較タスク238は、Tにおける第2の計算236の後、Tにおいて第3のパーティション216で実施される。前述したように、第1の計算234と第2の計算236との間で、HDIPS100は、第1の計算234が完了した後に第1のパーティション212をフラッシュする240。HDIPS100はまた、第2の計算236が完了した後に第2のパーティション214もフラッシュしうる242。第1の計算234と第2の計算236の値(すなわち第1及び第2の結果)は、第1のパーティション212のキャッシュメモリ104のフラッシュ240と第2のパーティション214のフラッシュ242の前に、ECCメモリ124に保存されうる。HDIPS100はまた、第1のインテグリティチェック232を実施した後にもキャッシュメモリ104をフラッシュしうる244。これらの実施例では、キャッシュメモリ104はフラッシュされるが、ECCメモリ124はフラッシュされない。
[0050]本開示に係るHDIPS100によって実施される方法300の実行形態の一例のフロー図を示す図3を参照する。この実施例では、方法300は、前述したように、HDIPS100によって複数のパーティションを有するフレーム200を作成する304ことによって開始される302。複数のパーティションは、Tにおける第1の初期のインテグリティパーティション202と、第1のメモリアドレスにあるTにおける第1のパーティション206と、第2のメモリアドレスにあるTにおける第2のパーティション208と、第3のメモリアドレスにあるTにおける第3のパーティション210とを含む。HDIPS100は次に、前述したように、インテグリティチェック306を実施する。HDIPS100は第1のデータ134を受信し、前述したように、第1のデータ134の二重認証308を実施する。HDIPS100は次に、以前の平均値310を読み出して、その値を二重認証308の結果(第2の結果と一致した第1の結果)と比較して312、一致があるかどうかを決定する。一致がない場合、HDIPS100は次にキャッシュメモリ104をフラッシュし314、プロセスはステップ308へ戻って繰り返す。
[0051]もし一致があれば、プロセスは次にステップ316へ続く。ステップ316において、HDIPS100は、二重認証された第1のデータ134に対応する計算の上限値、下限値、又はこの両方を読み出す。HDIPS100は次に、計算された第1の結果が下限値から上限値までの範囲(すなわちリミットウインドウ)内にあるかどうかを決定する318。第1の結果がリミットウィンドウ内にない場合、HDIPS100はキャッシュメモリ104をフラッシュし314、プロセスはステップ308へ戻って繰り返す。
[0052]第1の結果が制限ウインドウ内にある場合、HDIPS100は第1の結果を外部のシステム120へ送る(すなわち送信する)320。HDIPS100は次に、定期的なインテグリティチェックが実施されるかどうかを決定する322。実施されない場合、プロセスはステップ308へ戻り、プロセスが繰り返される。定期的なインテグリティチェックが実施された場合、プロセスはステップ306へ戻り、プロセスが繰り返される。
[0053]図4に、本開示に係る(図3の)インテグリティチェック306を実施する方法の実行形態の一例のフロー図を示す。この実施例では、HDIPS100は、インテグリティパーティション202としてフレーム200の初期のパーティションを生成(すなわち作成)し400、次にBITを実行する402。HDIPS100は次に、キャッシュメモリ104にデータメモリチェック404を実行し、計算集約型の計算を計算するようにTVP装置106に通知する406。第1の処理装置102は次に、計算集約型の計算を実行し408、それと同時にTVP装置106は計算集約型の計算を実行する410。前述したように、計算集約型の計算は、LFSRを用いて第1の疑似乱数列を生成することを含みうる。第1の処理装置102の結果はTVP装置106へ送られ412、TVP装置106は、第1の処理装置102とTVP装置106からの結果が等しいかどうかを決定する414。結果が等しくない場合、TVP装置106は電力リセット信号128を生成し、この信号を第1の処理装置102へ送る。第1の処理装置102が電力リセット信号128を受信すると、第1の処理装置102はリセットされ416、プロセスはステップ400に戻って、プロセスが繰り返される。
[0054]図5に、本開示に係る(図4の)データメモリチェック404を実施する方法の実行形態の一例のフロー図を示す。この実施例では、前述したように、データチェックプロセス404は、値をECCメモリ124内に保存すること500と、ECCメモリ124から保存されたメモリ値を読み取ること502と、メモリ値をメモリ値に対応するECCメモリ124のECC値と比較すること504と、再生成されたECC値を再生成すること506と、ECC値を再生成されたECC値と比較すること508とを含みうる。ECC値が再生成されたECC値と等しくない(すなわち一致しない)場合、エラーが起きており、HDIPS100は前述したように軽減プロセス510を実施し、プロセスはステップ406へ続く。ECC値が再生成されたECC値と一致する場合、プロセスはステップ406へ続く。
[0055]図6に、本開示に係る(図3の)二重認証プロセス308を実施する方法の実行形態の一例のフロー図を示す。前述したように、二重認証プロセス308において、HDIPS100は第1のデータ134を受信する600。第1の処理装置102のスケジューラは次に、第1の時点(すなわちT)で第1のメモリアドレスを有する第1のパーティション206を作成し602、第2の時点(すなわちT)で第2のメモリアドレスを有する第2のパーティション208を作成し604、第3の時点(すなわちT)で第3のメモリアドレスを有する第3のパーティション210を作成する606。本方法は次に、第1の時間値において第1のデータ134の第1の計算220を実行して第1の結果を生成し608、ECCメモリ124内に第1の結果を保存し610、第1の計算220を実行した後にキャッシュメモリ104をフラッシュする612。本方法は次に、第2の時間値において第1のデータ134の第2の計算222を実行して第2の結果を生成し614、第3の時間値において第1の結果を第2の結果と比較する616。第1の結果が第2の結果と一致しない場合、本方法はキャッシュメモリ104をフラッシュし618、プロセスはステップ600へ進み、ステップ600においてHDIPS100によって新たなデータが新たな第1のデータ134として受信され、プロセスが繰り返される。第1の結果が第2の結果と一致した場合、プロセスはステップ310へ進む。
[0056]実行形態の他の一実施例は、高データインテグリティ処理システム(「HDIPS」)を含む。HDIPS(100)は、高い放射線耐性と、キャッシュメモリ(104)とを有する第1の処理装置(102)と、第1の処理装置(102)と信号通信している三重投票処理(「TVP」)装置(106)とを含む。第1の処理装置(102)は、プロセッサ(110)と、符号化されたコンピュータによって実行可能な命令(114)を有するコンピュータ可読媒体(「CRM」)(112)とを含む。コンピュータによって実行可能な命令(114)は、プロセッサ(110)に、定期的な第1のインテグリティチェックを第1の処理装置(102)に対して実行させて第1のインテグリティ結果(116)を生成させる。TVP装置(106)は、符号化された機械命令を有するファームウェア(118)を含み、機械命令は、TVP装置(106)に、定期的な第1のインテグリティチェックと同時に、第2のインテグリティチェックを第1の処理装置(102)に対して実行させて第2のインテグリティ結果を生成させ、第1のインテグリティ結果を第2のインテグリティ結果と比較させ、第1のインテグリティ結果が第2のインテグリティ結果と一致しない場合に第1の処理装置(102)の電力リセットを行わせる。
[0057]HDIPS(100)は、第1の処理装置(102)がシリコンオンインシュレータ(「SOI」)技術を用い、またTVP装置(106)が三重モード冗長(「TMR」)技術を用いるフィールドプログラマブルゲートアレイ(「FPGA」)である、有益なものである。
[0058]第1の処理装置(102)が、アビオニクスアプリケーションスタンダードソフトウェアインターフェース(「ARINC」)653オペレーティングシステム(「OS」)(126)を用いることが好ましい。
[0059]HDIPS(100)は、CRM(112)が更に、符号化されたコンピュータによって実行可能な命令(114)を含み、この命令は、プロセッサ(110)に、第1の処理装置(102)において第1のデータを受信させ、第1の時間値において第1のデータの第1の計算を実行させて第1の結果を生成させ、第1の計算を実行した後にキャッシュメモリ(104)をフラッシュさせ、第2の時間値において第1のデータの第2の計算を実行させて第2の結果を生成させ、第3の時間値において第1の結果を第2の結果と比較させ、第1の結果が第2の結果と一致しない場合にキャッシュメモリ(104)をフラッシュさせ、第2の時間値は第1の時間値に続くものであり、第3の時間値は第2の時間値に続くものである、有益なものである。
[0060]キャッシュメモリ(104)が、プロセッサに直接組み込まれている、あるいはプロセッサ(110)と直接信号通信しているランダムアクセスメモリ(「RAM」)であることが好ましい。
[0061]第1の計算を実行することが、第1のメモリアドレスを有するキャッシュメモリ(104)のフレームの第1のパーティションにおいて第1の計算を実行することと、キャッシュメモリ(104)をフラッシュする前に第1の処理装置(102)と信号通信しているエラー訂正コード(「ECC」)メモリ(124)に第1の結果を保存することとを含み、第2の計算を実行することが、キャッシュメモリ(104)をフラッシュした後に第2のメモリアドレスを有するキャッシュメモリ(104)のフレームの第2のパーティションにおいて第2の計算を実行することを含むことが好ましい。
[0062]第1の処理装置(102)に定期的な第1のインテグリティチェックを実行することが、第1のパーティションの前にフレームの開始に位置するフレームのインテグリティパーティションを確立することと、第1のデータを受信する前に第1の処理装置(102)の組込み試験(「BIT」)を実行することと、ECCメモリ(124)のデータチェックをすることとを含むことが好ましい。
[0063]ECCメモリ(124)のデータチェックを行うことが、ECCメモリ(124)からメモリ値を読み取ることと、ECCメモリ値をECCメモリ値に対応するECCメモリ(124)のECC値と比較することと、再生成されたECC値を生成することと、ECC値を再生成されたECC値と比較することとを含むことが好ましい。
[0064]第1の処理装置(102)に定期的な第1のインテグリティチェックを実行することが、第1の処理装置(102)内で第1の線形フィードバックシフトレジスタ(「LFSR」)を用いて第1の疑似乱数列を生成することを含み、TVP装置(106)に第2のインテグリティチェックを実行することが、TVP装置(106)内で第2のLFSRを用いて第2の疑似乱数列を生成することを含み、第1のインテグリティ結果を第2のインテグリティ結果と比較することが、第1の疑似乱数列を第2の疑似乱数列と比較することを含むことが好ましい。
[0065]第1のLFSRと第2のLFSRが、両方に共通のシードを含むことが好ましい。
[0066]CRM(112)が更に、符号化されたコンピュータによって実行可能な命令(114)を含み、この命令が、プロセッサ(110)に、第1の結果が第2の結果と一致する場合に第1の結果を第1の処理装置(102)と信号通信している外部のシステム(120)に送信させ、第1の結果が第2の結果と一致しない場合にキャッシュメモリ(104)をフラッシュした後に第1の処理装置(102)において第1のデータを受信するステップを繰り返させることが好ましい。
[0067]実行形態の別の実施例は、外部のシステム(120)と信号通信している高データインテグリティ処理システム(「HDIPS」)(100)で放射線環境内で高データインテグリティ処理を行う方法を含み、本方法は、高い放射線耐性を有する第1の処理装置(102)に定期的な第1のインテグリティチェックを実行して第1のインテグリティ結果を生成することと、定期的な第1のインテグリティチェックと同時に、三重投票処理(「TVP」)装置(106)に第2のインテグリティチェックを実行して第2のインテグリティ結果を生成することと、第1のインテグリティ結果を第2のインテグリティ結果と比較することと、第1のインテグリティ結果が第2のインテグリティ結果と一致しない場合に第1の処理装置(102)の電力リセットを行うこととを含む。
[0068]本方法は更に、第1の処理装置(102)において第1のデータを受信することと、第1の時間値において第1のデータの第1の計算を実行して第1の結果を生成することと、第1の計算を実行した後にキャッシュメモリ(104)をフラッシュすることと、第2の時間値において第1のデータの第2の計算を実行して第2の結果を生成することと、第3の時間値において第1の結果を第2の結果と比較して、第1の結果が第2の結果と一致しない場合にキャッシュメモリ(104)をフラッシュすることと、第1の結果が第2の結果と一致しない場合にキャッシュメモリ(104)をフラッシュした後に第1の処理装置(102)において第1のデータを受信するステップを繰り返すことと、第1の結果が第2の結果と一致する場合に第1の結果を第1の処理装置(102)と信号通信している外部のシステム(120)に送信することとを含み、第2の時間値は第1の時間値に続くものであり、第3の時間値は第2の時間値に続くものであることが有益である。
[0069]第1の計算を実行することが、第1のメモリアドレスを有するキャッシュメモリ(104)のフレームの第1のパーティションにおいて第1の計算を実行することと、キャッシュメモリ(104)をフラッシュする前に第1の処理装置(102)と信号通信しているエラー訂正コード(「ECC」)メモリ(124)に第1の結果を保存することとを含み、第2の計算を実行することが、キャッシュメモリ(104)をフラッシュした後に第2のメモリアドレスを有するキャッシュメモリ(104)のフレームの第2のパーティションにおいて第2の計算を実行することを含むことが好ましい。
[0070]第1の処理装置(102)に定期的な第1のインテグリティチェックを実行することが、第1のパーティションの前にキャッシュメモリ(104)のフレームの開始に位置するフレームのインテグリティパーティションを確立することと、第1のデータを受信する前に第1の処理装置(102)の組込み試験(「BIT」)を実行することと、ECCメモリ(124)のデータチェックを行うこととを含むことが好ましい。
[0071]ECCメモリ(124)のデータチェックを行うことが、ECCメモリ(124)からメモリ値を読み取ることと、メモリ値をメモリ値に対応するECCメモリ(124)のECC値と比較することと、再生成されたECC値を再生成することと、ECC値を再生成されたECC値と比較することとを含むことが好ましい。
[0072]第1の処理装置(102)に定期的な第1のインテグリティチェックを実行することが、第1の処理装置(102)内で第1の線形フィードバックシフトレジスタ(「LFSR」)を用いて第1の疑似乱数列を生成することを含み、TVP装置(106)に第2のインテグリティチェックを実行することが、TVP装置(106)内で第2のLFSRを用いて第2の疑似乱数列を生成することを含み、第1のインテグリティ結果を第2のインテグリティ結果と比較することが、第1の疑似乱数列を第2の疑似乱数列と比較することを含み、第1のLFSRと第2のLFSRが、両方に共通のシードを含むことが好ましい。
[0073]本方法が更に、第1の結果が第2の結果と一致する場合に第1の結果を外部のシステム(120)に送信する前に第1の結果を以前の平均値と比較することと、第1の結果が以前の平均値と一致しない場合にキャッシュメモリ(104)をフラッシュすることと、第1の結果が以前の平均値と一致しない場合にキャッシュメモリ(104)をフラッシュした後に第1の処理装置(102)において第1のデータを受信するステップを繰り返すことと、第1の結果が以前の平均値と一致する場合に第1の結果がエラー限界内であるかどうかを決定することと、第1の結果がエラー限界内でない場合にキャッシュメモリ(104)をフラッシュすることと、第1の結果がエラー限界内でない場合にキャッシュメモリ(104)をフラッシュした後に第1の処理装置(102)において第1のデータを受信するステップを繰り返すこととを含み、第1の結果を外部のシステム(120)に送信することが、第1の結果が第2の結果と一致し、以前の平均値と一致し、エラー限界内である場合に第1の処理装置(102)によって送信することを含むことが好ましい。
[0074]当然ながら、本発明の範囲から逸脱しない限り、本発明の様々な態様又は詳細を変更することが可能である。本発明の様々な態様又は詳細は包括的なものではなく、主張された本発明を開示された正確な形態に限定するものではない。更に、前述の説明は単なる例示のために過ぎず、限定するものではない。修正及び変更は、上述の説明を踏まえた上で可能である、あるいは本発明を実行することによって得ることができる。特許請求の範囲、及びその均等物により、本開示の範囲が規定される。
[0075]図示した異なる実行形態例でのフロー図及びブロック図は、一実施例の装置及び方法の幾つかの可能な実行形態の構造、機能、及び動作を示している。これに関し、フロー図又はブロック図の各ブロックは、1つのモジュール、セグメント、機能、操作又はステップの一部、これらの何らかの組み合わせを表わすことができる。
[0076]幾つかの代替的実行形態例においては、ブロック内に記載された一又は複数の機能が、図中に記載された順序を逸脱して実施されることがある。例えば、あるケースでは、連続して示されている2つのブロックがほぼ同時に実行されてもよく、または時には含まれる機能に応じてブロックが逆順に実施されてもよい。また、フロー図またはブロック図に示されているブロックに加えて、他のブロックが追加されることもある。
[0077]種々の実行形態例の説明は、例示及び説明を目的として提示されており、網羅的な説明であること、又は開示された形態の実施例に限定することを、意図しているわけではない。当業者には、多くの修正形態及び変形形態が自明であるだろう。更に、種々の実行形態例は、他の望ましい例とは異なる特徴を提供しうる。選択された1つ以上の実施例は、実施例の原理と実際的な用途を最もよく説明するため、及び、様々な実施例の開示内容と、検討される特定の用途に適した様々な修正例とを当業者が理解できるようにするために、選択及び記述されている。
[0078]当然ながら、本発明の範囲から逸脱しない限り、本発明の様々な態様又は詳細を変更することが可能である。本発明の様々な態様又は詳細は包括的なものではなく、主張された本発明を開示された正確な形態に限定するものではない。更に、前述の説明は単なる例示のために過ぎず、限定するものではない。修正及び変更は、上述の説明を踏まえた上で可能である、あるいは本発明を実行することによって得ることができる。特許請求の範囲、及びその均等物により、本開示の範囲が規定される。
[0079]図示した異なる実行形態例でのフロー図及びブロック図は、一実施例の装置及び方法の幾つかの可能な実行形態の構造、機能、及び動作を示している。これに関し、フロー図又はブロック図の各ブロックは、1つのモジュール、セグメント、機能、操作又はステップの一部、これらの何らかの組み合わせを表わすことができる。
[0080]いくつかの代替的実行形態例においては、ブロック内に記載された一又は複数の機能が、図中に記載された順序を逸脱して実施されることがある。例えば、あるケースでは、連続して示されている2つのブロックがほぼ同時に実行されてもよく、または時には含まれる機能に応じてブロックが逆順に実施されてもよい。また、フロー図またはブロック図に示されているブロックに加えて、他のブロックが追加されることもある。
[00110]種々の実行形態例の説明は、例示及び説明を目的として提示されており、網羅的な説明であること、又は開示された形態の実施例に限定することを、意図しているわけではない。当業者には、多くの修正形態及び変形形態が自明であるだろう。更に、種々の実行形態例は、他の望ましい例とは異なる特徴を提供しうる。選択された1つ以上の実施例は、実施例の原理と実際的な用途を最もよく説明するため、及び、様々な実施例の開示内容と、検討される特定の用途に適した様々な修正例とを当業者が理解できるようにするために、選択及び記述されている。

Claims (10)

  1. 外部のシステム(120)と信号通信している高データインテグリティ処理システム(「HDIPS」)(100)を用いて放射線環境内で高データインテグリティ処理を行うための方法であって、
    高い放射線耐性を有する第1の処理装置(102)に定期的な第1のインテグリティチェックを実行して第1のインテグリティ結果を生成することと、
    前記定期的な第1のインテグリティチェックと同時に、三重投票処理(「TVP」)装置(106)に第2のインテグリティチェックを実行して第2のインテグリティ結果を生成することと、
    前記第1のインテグリティ結果を前記第2のインテグリティ結果と比較することと、
    前記第1のインテグリティ結果が前記第2のインテグリティ結果と一致しない場合に前記第1の処理装置(102)の電力リセットを行うことと
    を含む方法。
  2. 前記第1の処理装置(102)において第1のデータを受信することと、
    第1の時間値において前記第1のデータの第1の計算を実行して第1の結果を生成することと、
    前記第1の計算を実行した後でキャッシュメモリ(104)をフラッシュすることと、
    第2の時間値において前記第1のデータの第2の計算を実行して第2の結果を生成することと、
    第3の時間値において前記第1の結果を前記第2の結果と比較することと、
    前記第1の結果が前記第2の結果と一致しない場合に前記キャッシュメモリ(104)をフラッシュすることと、
    前記第1の結果が前記第2の結果と一致しない場合に前記キャッシュメモリ(104)をフラッシュした後に前記第1の処理装置(102)において前記第1のデータを受信するステップを繰り返すことと、
    前記第1の結果が前記第2の結果と一致する場合に前記第1の結果を前記第1の処理装置(102)と信号通信している外部のシステム(120)に送信することと
    を更に含み、
    前記第2の時間値は前記第1の時間値に続くものであり、前記第3の時間値は前記第2の時間値に続くものである、請求項1に記載の方法。
  3. 前記第1の計算を実行することが、
    第1のメモリアドレスを有するキャッシュメモリ(104)のフレームの第1のパーティションを用いて前記第1の計算を実行することと、
    前記キャッシュメモリ(104)をフラッシュする前に前記第1の処理装置(102)と信号通信しているエラー訂正コード(「ECC」)メモリ(124)に前記第1の結果を保存することと
    を含み、
    前記第2の計算を実行することが、
    前記キャッシュメモリ(104)をフラッシュした後に第2のメモリアドレスを有する前記キャッシュメモリ(104)の前記フレームの第2のパーティションを用いて前記第2の計算を実行すること
    を含む、請求項2に記載の方法。
  4. 前記第1の処理装置(102)に前記定期的な第1のインテグリティチェックを実行することが、
    記キャッシュメモリ(104)の前記フレームのインテグリティパーティションであって、前記フレームの始まりに位置するインテグリティパーティションを確立することと、
    前記第1のデータを受信する前に前記第1の処理装置(102)の組込み試験(「BIT」)を実行することと、
    前記ECCメモリ(124)のデータチェックを行うことと
    を含む、請求項3に記載の方法。
  5. 前記ECCメモリ(124)のデータチェックを行うことが、
    前記ECCメモリ(124)からメモリ値を読み取ることと、
    前記メモリ値を前記メモリ値に対応する前記ECCメモリ(124)のECC値と比較することと、
    再生成されたECC値を再生成することと、
    前記ECC値を前記再生成されたECC値と比較することと
    を含む、請求項4に記載の方法。
  6. 前記第1の処理装置(102)に前記定期的な第1のインテグリティチェックを実行することが、前記第1の処理装置(102)内で第1の線形フィードバックシフトレジスタ(「LFSR」)を用いて第1の疑似乱数列を生成することを含み、
    前記TVP装置(106)に前記第2のインテグリティチェックを実行することが、前記TVP装置(106)内で第2のLFSRを用いて第2の疑似乱数列を生成することを含み、
    前記第1のインテグリティ結果を前記第2のインテグリティ結果と比較することが、前記第1の疑似乱数列を前記第2の疑似乱数列と比較することを含み、
    前記第1のLFSRと前記第2のLFSRが両方に共通のシードを含む、請求項5に記載の方法。
  7. 前記第1の結果が前記第2の結果と一致する場合に前記第1の結果を前記外部のシステム(120)に送信する前に前記第1の結果を以前の平均値と比較することと、
    前記第1の結果が前記以前の平均値と一致しない場合に前記キャッシュメモリ(104)をフラッシュすることと、
    前記第1の結果が前記以前の平均値と一致しない場合に前記キャッシュメモリ(104)をフラッシュした後に前記第1の処理装置(102)において前記第1のデータを受信するステップを繰り返すことと、
    前記第1の結果が前記以前の平均値と一致する場合に第1の結果がエラー限界内であるかどうかを決定することと、
    前記第1の結果が前記エラー限界内でない場合に前記キャッシュメモリ(104)をフラッシュすることと、
    前記第1の結果が前記エラー限界内でない場合に前記キャッシュメモリ(104)をフラッシュした後に前記第1の処理装置(102)において前記第1のデータを受信するステップを繰り返すことと
    を更に含み、
    前記第1の結果を前記外部のシステム(120)に送信することが、前記第1の結果が前記第2の結果と一致し、前記以前の平均値と一致し、前記エラー限界内である場合に前記第1の処理装置(102)によって送信することを含む、請求項6に記載の方法。
  8. 前記第1の処理装置は、シリコンオンインシュレータ(「SOI」)技術を用いており、
    前記TVP装置は、三重モード冗長(「TMR」)技術を用いたフィールドプログラマブルゲートアレイ(「FPGA」)であり、
    前記第1の処理装置は、Avionics Application Standard Software Interface (「ARINC」) 653オペレーティングシステム(「OS」)を用いる、請求項1に記載の方法。
  9. 高データインテグリティ処理システム(「HDIPS」)であって、
    高い放射線耐性と、キャッシュメモリ(104)とを有する第1の処理装置(102)と、
    前記第1の処理装置(102)と信号通信している三重投票処理(「TVP」)装置(106)と
    を備え、
    前記第1の処理装置(102)は、
    プロセッサ(110)と、
    前記プロセッサによって実行可能な、符号化されたコンピュータによって実行可能な命令(114)を有するコンピュータ可読媒体(「CRM」)(112)と
    を含み、
    前記TVP装置(106)は、前記TVP装置(106)によって実行可能な、符号化された機械命令を有するファームウェア(118)を含み、
    請求項1から8のいずれか一項に記載の方法を実行するように構成されている、高データインテグリティ処理システム(「HDIPS」)(100)。
  10. 請求項9に記載の高データインテグリティ処理システムを備えるビークル。
JP2018092652A 2017-05-15 2018-05-14 高データインテグリティ処理システム Active JP7204341B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/595,844 US10740186B2 (en) 2017-05-15 2017-05-15 High data integrity processing system
US15/595,844 2017-05-15

Publications (2)

Publication Number Publication Date
JP2019008781A JP2019008781A (ja) 2019-01-17
JP7204341B2 true JP7204341B2 (ja) 2023-01-16

Family

ID=62089673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018092652A Active JP7204341B2 (ja) 2017-05-15 2018-05-14 高データインテグリティ処理システム

Country Status (5)

Country Link
US (1) US10740186B2 (ja)
EP (1) EP3404549B1 (ja)
JP (1) JP7204341B2 (ja)
KR (1) KR102658847B1 (ja)
CN (1) CN108874571B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6490316B1 (ja) * 2018-02-28 2019-03-27 三菱電機株式会社 出力判定回路
US11099936B2 (en) * 2018-09-11 2021-08-24 Embraer S.A. Aircraft integrated multi system electronic architecture
CN109828449A (zh) * 2019-01-25 2019-05-31 杭州电子科技大学 一种三模冗余控制计算表决系统及方法
CN109979517A (zh) * 2019-03-07 2019-07-05 中科亿海微电子科技(苏州)有限公司 用于fpga的n模冗余配置存储单元电路
JP6729825B1 (ja) 2020-02-04 2020-07-22 オムロン株式会社 情報処理装置、制御方法およびプログラム
CN111324497B (zh) * 2020-02-20 2023-10-27 杭州涂鸦信息技术有限公司 一种linux系统分区自检方法及系统
US11424865B2 (en) * 2020-12-10 2022-08-23 Fisher-Rosemount Systems, Inc. Variable-level integrity checks for communications in process control environments
FR3118843A1 (fr) * 2021-01-13 2022-07-15 Dassault Aviation Systeme de transfert securise de donnees numeriques d'aeronef comprenant des systemes producteurs de donnees redondants, ensemble et procede associes
FR3120721B1 (fr) * 2021-03-10 2023-02-10 Airbus Helicopters Procédé de test d’un dispositif électroportatif

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209523A (ja) 2005-01-28 2006-08-10 Yokogawa Electric Corp 情報処理装置および情報処理方法
JP2006259935A (ja) 2005-03-15 2006-09-28 Denso Corp 演算異常判断機能付き演算装置

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US5086429A (en) * 1990-04-10 1992-02-04 Honeywell Inc. Fault-tolerant digital computing system with reduced memory redundancy
JP2822932B2 (ja) * 1995-05-29 1998-11-11 日本電気株式会社 ソフトウェア二重化処理装置
US6151336A (en) * 1998-02-11 2000-11-21 Sorrento Networks, Inc. Time division multiplexing expansion subsystem
US6247151B1 (en) * 1998-06-30 2001-06-12 Intel Corporation Method and apparatus for verifying that data stored in a memory has not been corrupted
US6298289B1 (en) * 1999-04-24 2001-10-02 The Boeing Company Integrated spacecraft control system and method
WO2001091438A1 (en) * 2000-05-19 2001-11-29 Synapse Wireless, Inc. Method and apparatus for generating dynamic graphical representations and real-time notification of the status of a remotely monitored system
US7133882B1 (en) * 2002-08-05 2006-11-07 Demandtec, Inc. Method and apparatus for creating and using a master catalog
US7246266B2 (en) * 2002-11-21 2007-07-17 Chris Sneed Method and apparatus for firmware restoration in modems
US7222270B2 (en) * 2003-01-10 2007-05-22 International Business Machines Corporation Method for tagging uncorrectable errors for symmetric multiprocessors
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US7246289B2 (en) * 2003-09-30 2007-07-17 Nortel Networks Limited Memory integrity self checking in VT/TU cross-connect
US7415654B2 (en) * 2004-06-23 2008-08-19 Broadcom Corporation Data integrity checking
JP2007213718A (ja) * 2006-02-10 2007-08-23 Matsushita Electric Ind Co Ltd 半導体集積回路及び半導体集積回路の検査方法
US8020124B2 (en) * 2006-11-20 2011-09-13 Sonics, Inc. Various methods and apparatuses for cycle accurate C-models of components
US7797575B2 (en) * 2007-04-04 2010-09-14 International Business Machines Corporation Triple voting cell processors for single event upset protection
US8155776B2 (en) * 2007-05-22 2012-04-10 Milliken & Company Automated randomized pattern generation using pre-defined design overlays and products produced thereby
US8264953B2 (en) * 2007-09-06 2012-09-11 Harris Stratex Networks, Inc. Resilient data communications with physical layer link aggregation, extended failure detection and load balancing
US8817597B2 (en) * 2007-11-05 2014-08-26 Honeywell International Inc. Efficient triple modular redundancy on a braided ring
KR101515097B1 (ko) * 2008-03-05 2015-04-27 삼성전자주식회사 무결성 확인 코드를 사용하는 패스워드 시스템, 패스워드생성 방법 및 패스워드 확인 방법
KR100998314B1 (ko) * 2009-04-21 2010-12-03 서울대학교산학협력단 Sram 기반의 fpga에서 오류를 검출하고 복구하는 논리회로
US8108721B2 (en) * 2009-11-24 2012-01-31 Honeywell International Inc. Architecture and method for hardware-assisted processor checkpointing and rollback
US8598840B2 (en) * 2010-04-15 2013-12-03 Launchpoint Energy And Power Llc Fault-tolerant battery management system, circuits and methods
US8370689B2 (en) * 2010-05-06 2013-02-05 Utc Fire & Security Americas Corporation, Inc. Methods and system for verifying memory device integrity
US8880460B2 (en) * 2010-12-31 2014-11-04 Neal King Rieffanaugh, Jr. DVIVD match audit system and 5 star event data recorder method thereof
US11582299B2 (en) * 2016-01-26 2023-02-14 Pure Storage, Inc. Allocating cache memory in a dispersed storage network
US8881294B2 (en) * 2011-02-18 2014-11-04 Honeywell International Inc. Methods and systems for securely uploading files onto aircraft
US8887022B2 (en) * 2011-03-04 2014-11-11 Infineon Technologies Austria Ag Reliable data transmission with reduced bit error rate
KR101295770B1 (ko) * 2011-06-10 2013-08-12 김봉택 안전 무결성 확보를 위한 열차제어 시스템
KR101825568B1 (ko) * 2011-06-13 2018-02-05 웨스팅하우스 일렉트릭 컴퍼니 엘엘씨 논리 회로에서의 고장 검출 및 완화
CN102881324B (zh) * 2011-07-11 2015-07-08 澜起科技(上海)有限公司 写入电路、读取电路、内存缓冲器及内存条
WO2013057707A1 (en) * 2011-10-21 2013-04-25 Nelson Mandela Metropolitan University A method and circuit structure for suppressing single event transients or glitches in digital electronic circuits
US8793506B2 (en) * 2012-08-31 2014-07-29 Intel Corporation Mechanism for facilitating encryption-free integrity protection of storage data at computing systems
US9858084B2 (en) * 2013-03-15 2018-01-02 Bitmicro Networks, Inc. Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory
US9589637B1 (en) * 2013-12-18 2017-03-07 Nxp Usa, Inc. Storage element with storage and clock tree monitoring circuit and methods therefor
JP6282482B2 (ja) * 2014-02-18 2018-02-21 株式会社日立製作所 プログラマブル回路装置、コンフィギュレーション情報修復方法
US9318221B2 (en) * 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
US9672880B2 (en) * 2014-06-16 2017-06-06 Honeywell International Inc. Radiation upset detection
US9467144B2 (en) * 2014-07-24 2016-10-11 Arizona Board Of Regents On Behalf Of Arizona State University Radiation hardened digital circuit
KR101621931B1 (ko) * 2014-12-19 2016-05-17 한국인터넷진흥원 스마트 그리드에서의 전력정보 송수신 시스템
CN106295257A (zh) * 2015-06-29 2017-01-04 中兴通讯股份有限公司 一种被加固软件的认证方法及装置
US20170265836A1 (en) * 2015-07-15 2017-09-21 Medic Vision Imaging Solutions Ltd. Computed tomography radiation dose checker
US9678150B2 (en) * 2015-10-27 2017-06-13 Xilinx, Inc. Methods and circuits for debugging circuit designs
CN105550131B (zh) * 2015-12-11 2018-07-03 中国航空工业集团公司西安航空计算技术研究所 一种基于有限状态机和arinc659总线的接口数据处理系统及方法
DE102016200382A1 (de) * 2016-01-14 2017-07-20 Siemens Aktiengesellschaft Verfahren zur Überprüfung einer Sicherheitseinstufung eines ersten Geräts mit Hilfe eines digitalen Zertifikats, ein erstes und zweites Gerät sowie eine Zertifikat-Ausstellungsvorrichtung
DE102016205289A1 (de) * 2016-03-31 2017-10-05 Siemens Aktiengesellschaft Verfahren, Prozessor und Gerät zur Integritätsprüfung von Nutzerdaten
US10242197B2 (en) * 2016-09-23 2019-03-26 Intel Corporation Methods and apparatus to use a security coprocessor for firmware protection
CN106301967B (zh) * 2016-10-25 2019-10-15 杭州华为数字技术有限公司 一种数据同步方法及带外管理设备
CN106776105B (zh) * 2016-11-15 2020-02-21 惠州Tcl移动通信有限公司 一种系统启动文件的校验及编译方法
JP6736456B2 (ja) * 2016-11-17 2020-08-05 キオクシア株式会社 情報処理装置およびプログラム
KR102568514B1 (ko) * 2017-01-17 2023-08-21 삼성전자주식회사 전자 장치와 이의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209523A (ja) 2005-01-28 2006-08-10 Yokogawa Electric Corp 情報処理装置および情報処理方法
JP2006259935A (ja) 2005-03-15 2006-09-28 Denso Corp 演算異常判断機能付き演算装置

Also Published As

Publication number Publication date
US20180329780A1 (en) 2018-11-15
KR20180125406A (ko) 2018-11-23
CN108874571A (zh) 2018-11-23
JP2019008781A (ja) 2019-01-17
EP3404549B1 (en) 2021-10-13
CN108874571B (zh) 2023-03-24
KR102658847B1 (ko) 2024-04-17
US10740186B2 (en) 2020-08-11
EP3404549A1 (en) 2018-11-21

Similar Documents

Publication Publication Date Title
JP7204341B2 (ja) 高データインテグリティ処理システム
Hillier et al. Error detection and correction on-board nanosatellites using hamming codes
US10078565B1 (en) Error recovery for redundant processing circuits
US20100169886A1 (en) Distributed memory synchronized processing architecture
Label et al. Single-event-effect mitigation from a system perspective
CN111338840B (zh) 航天数据保护方法、存储介质、计算机程序、系统、终端
US20160196179A1 (en) Reconfigurable ecc for memory
Cardarilli et al. Fault tolerant solid state mass memory for space applications
WO2010105888A1 (en) Fault tolerance in integrated circuits
Sánchez-Macián et al. Combined SEU and SEFI protection for memories using orthogonal latin square codes
Sogomonyan Self-correction fault-tolerant systems
US8522091B1 (en) Prioritized detection of memory corruption
US9043683B2 (en) Error protection for integrated circuits
US9041428B2 (en) Placement of storage cells on an integrated circuit
Nguyen Repairing FPGA configuration memory errors using dynamic partial reconfiguration
Venkataraman et al. Multi-directional error correction schemes for SRAM-based FPGAs
CN111880961A (zh) 用于透明寄存器数据错误检测和纠正的系统和方法
Guertin et al. Radiation specification and testing of heterogenous microprocessor socs
Khatri Overview of fault tolerance techniques and the proposed TMR generator tool for FPGA designs
Bentoutou A real time low complexity codec for use in low Earth orbit small satellite missions
Aydos et al. Empirical results on parity-based soft error detection with software-based retry
Nguyen et al. Reconfiguration control networks for FPGA-based TMR systems with modular error recovery
US20140201599A1 (en) Error protection for integrated circuits in an insensitive direction
Kustov et al. Efficiency Estimation of Single Error Correction, Double Error Detection and Double-Adjacent-Error Correction Codes
Vera et al. Fast local scrubbing for field-programmable gate array's configuration memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221228

R150 Certificate of patent or registration of utility model

Ref document number: 7204341

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150