(57)【要約】  電子デバイスにおいて、イミュニティモードを有効に実施するシステム及び方法は、該電子デバイスのための処理タスクを実行するプロセッサモジュールを含む。該プロセッサモジュールは、該処理タスクを実行するための、プロセッサ状態及びプロセッサデータ等のプロセッサ情報を含む。また、該電子デバイスは、最も有利に確実な方法で電子情報を格納するための保護されたメモリも含む。その結果、イミュニティマネージャは、アイドル状態に入る該プロセッサモジュール等のイミュニティモードトリガイベントに応じて、保護処理手順を実行し、脆弱なプロセッサ情報の少なくとも一部を、該保護されたメモリに格納することができる。
2008530696.tif 000002
【特許請求の範囲】
【請求項１】
電子デバイスにおいてイミュニティモードを実施するシステムであって、
前記電子デバイスの処理タスクを実行し、前記処理タスクを実行するためのプロセッサ情報を含むプロセッサモジュールと、
前記電子デバイスに結合されており、前記プロセッサモジュール内に格納された場合よりもより安全であるように電子情報を格納する保護されたメモリと、
イミュニティモードトリガイベントに応答して、１つあるいは複数の保護処理手順を実行して、前記プロセッサ情報の少なくとも一部を前記保護されたメモリに格納するイミュニティマネージャと、
を備えるシステム。
【請求項２】
前記電子デバイスは、最適なパフォーマンス信頼特性を必要とする宇宙作動環境で実施される、請求項１に記載のシステム。
【請求項３】
前記プロセッサ情報は、周囲の宇宙放射線によるシングルイベントアップセットに対して脆弱であり、前記シングルイベントアップセットは、前記プロセッサ情報が前記保護されたメモリに格納されていない場合は常に前記プロセッサ情報における１つあるいは複数のデジタルビットを破損する、請求項１に記載のシステム。
【請求項４】
前記プロセッサ情報は、プロセッサ状態、プロセッサデータ、および前記処理タスク及び前記電子デバイスのための関連する機能を実行するデバイスデータを含む、請求項１に記載のシステム。
【請求項５】
前記保護されたメモリは、前記プロセッサ情報を格納するための高められた信頼性をもたらすように設計かつ製造され、前記保護されたメモリは、エラー訂正モジュールと共に作動して、前記プロセッサ情報が、前記保護されたメモリから取り出された場合に、より低い誤りの可能性を有することを実現する、請求項１に記載のシステム。
【請求項６】
前記プロセッサモジュールは、前記イミュニティモードの前記１つあるいは複数の保護処理手順の間、前記プロセッサ情報を前記保護されたメモリに転送するコントローラに、前記プロセッサ情報を提供する、請求項１に記載のシステム。
【請求項７】
前記イミュニティモードトリガイベントは、前記プロセッサモジュールのアイドル状態によって生成され、その間、前記プロセッサモジュールは、前記処理タスクの全ての現在のインスタンスの実行を完了している、請求項１に記載のシステム。
【請求項８】
前記イミュニティマネージャは、前記処理タスクの全てが現時点で実行されている場合には常に、前記プロセッサモジュールのアイドル状態を検出して、前記１つあるいは複数の保護処理手順を実行し、前記イミュニティマネージャは、前記処理タスクのいずれかの実行されていないもののより高い優先レベルを、保護タスクの最低の優先レベルと比較することにより、前記プロセッサモジュールの前記アイドル状態を検出する、請求項１に記載のシステム。
【請求項９】
前記イミュニティモードトリガは、前記電子デバイスに対する所定の危険な作動のうちの少なくとも１つの発生を検出することにより生成される、請求項１に記載のシステム。
【請求項１０】
前記プロセッサモジュールは、正確な同期で作動してそれぞれのプロセッサ出力信号を生成する複数の余分のプロセッサデバイスを含み、前記それぞれのプロセッサ出力信号は、投票モジュールによって比較されて、過半数出力信号が生成され、前記電子デバイスは、前記それぞれのプロセッサ出力信号が前記過半数出力信号と異なる場合にはいつでも前記余分のプロセッサデバイスのための再同期処理手順を開始するエラー検出モジュールを含む、請求項１に記載のシステム。
【請求項１１】
前記イミュニティモジュールは、前記イミュニティモードのためのレイテンシレベルを決定し、前記レイテンシレベルは、前記イミュニティモード中に所望される保護レベルに相当し、前記レイテンシレベルは、また、前記イミュニティモード中に許容可能な処理混乱の量に相当する、請求項１に記載のシステム。
【請求項１２】
前記イミュニティモジュールは、低いレイテンシレベルを選択して、最小限の量の前記プロセッサ情報のみを前記保護されたメモリに格納し、前記プロセッサモジュールは、前記処理タスクを実行し続け、前記プロセッサモジュールは、必要に応じて、前記保護されたメモリから前記最小限の量のプロセッサ情報を取り出す、請求項１１に記載のシステム。
【請求項１３】
前記最小限の量の前記プロセッサ情報は、前記プロセッサモジュールのプロセッサキャッシュからのプロセッサデータを含む、請求項１２に記載のシステム。
【請求項１４】
前記イミュニティモジュールは、中程度のレイテンシレベルを選択して、中程度の量の前記プロセッサ情報を前記保護されたメモリに格納し、前記プロセッサモジュールは、前記処理タスクを実行し続け、前記プロセッサモジュールは、必要に応じて、前記中程度の量の前記プロセッサ情報を前記保護されたメモリから取り出す、請求項１１に記載のシステム。
【請求項１５】
前記イミュニティモジュールは、前記イミュニティモードのための高いレイテンシレベルを選択し、そして、前記イミュニティモジュールは、応答して前記プロセッサ情報の全てのための完全な保護処理手順を調整する、請求項１１に記載のシステム。
【請求項１６】
前記イミュニティマネージャは、前記イミュニティモードトリガイベントに応答して、前記保護されたメモリに対する前記プロセッサ情報の全ての完全なフラッシュを実行し、そして、前記電子デバイスは、前記プロセッサモジュールをリセット状態にする、請求項１に記載のシステム。
【請求項１７】
前記電子デバイスは、前記プロセッサモジュールをポーズモードに保持し、その間、前記プロセッサ情報は、前記保護されたメモリに安全に格納されている、請求項１６に記載のシステム。
【請求項１８】
前記イミュニティモジュールは、前記処理モジュールの前記イミュニティモードを終了させるためにリスタートトリガイベントを検出し、前記リスタートトリガイベントは、前記処理タスクのうちの新たな実行されていないものを検出することにより生成され、そのため前記プロセッサモジュールは、もはやアイドル状態ではなくなり、前記保護されたメモリは、通常の処理モードを再開して前記処理タスクを実行するために前記プロセッサ情報を前記プロセッサモジュールに戻す、請求項１７に記載のシステム。
【請求項１９】
前記プロセッサモジュールは、前記イミュニティモードトリガイベントの後、電源が切られ、前記プロセッサモジュールは、追加的な処理タスクが必要になったときに、電源を入れ戻す、請求項１に記載のシステム。
【請求項２０】
電子デバイスにおいてイミュニティモードを実施する方法であって、
処理タスクを実行するためのプロセッサ情報を含むプロセッサモジュールを用いて、前記電子デバイスの前記処理タスクを実行すること、
前記電子デバイスに結合されており、前記プロセッサモジュールに格納された場合よりもより安全であるように電子情報を格納する、保護されたメモリを設けること、
イミュニティモードトリガイベントに応答して、イミュニティマネージャを用いて１つあるいは複数の保護処理手順を実行して、前記プロセッサ情報の少なくとも一部を前記保護されたメモリに格納すること、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般に、電子デバイスを有効に実施する技術に関し、またより具体的には、電子デバイスにおいて、イミュニティモードを有効に実施するシステム及び方法に関する。
【背景技術】
【０００２】
電子デバイスを有効に実施する技術を開発することは、最新の電子システムの設計者及び製造者にとっては考慮すべき事柄である。しかし、電子システムを有効に実施することは、システム設計者に対して深刻な課題を生む可能性がある。例えば、高められたシステム機能及び性能に対して強まった要求は、さらなるシステム処理能力を必要とし、また、追加的なハードウェアリソースを要する可能性がある。処理要件またはハードウェア要件の増加もまた、増加した製造コスト及び作動上の効率の悪さによる、付随する不利な経済的影響をもたらす可能性がある。
【０００３】
さらに、様々な進化した動作を実行する強化されたシステム能力は、システムユーザに対して追加的な利点を提供する可能性があるが、様々なシステムコンポーネントの制御及び管理に対して高度な要求を出す可能性もある。例えば、危険な作動環境で機能する電子システムは、システム異常の有害な影響のため、有効かつロバストな実施から恩恵を受けることができる。
【０００４】
特定の作動環境では、電子デバイスが極度に信頼性のあることを必要とする。一つのこのような環境は、宇宙環境である。宇宙、例えば、地球軌道に配置される可能性のある電子デバイスは、典型的には、定期的なメンテナンスが不可能であり、またそのため、宇宙船の寿命の間は、機能することを保証しなければならない。従って、宇宙船内または宇宙船上に設けられたコンピュータ等の電子デバイスは、好ましくは、外部または内部の故障に対する許容度に関し信頼性が高く、ロバストでなければならない。
【０００５】
さらに、宇宙環境における物体は、一部の機器コンポーネントに害を及ぼす可能性がある様々な種類の放射に曝される。例えば、単一の放射元素は、電子デバイスのプロセッサ、メモリ、または、他のコンポーネントのいずれかにおいて、情報の乱れ（シングルイベントアップセット（ｓｉｎｇｌｅ−ｅｖｅｎｔ  ｕｐｓｅｔ；ＳＥＵ）と呼ばれる）を引き起こす可能性がある。ＳＥＵは、典型的には、該電子デバイス内の１つ以上のデジタルビットの状態を“反転”または変化させ得る。宇宙環境内のコンピュータは、好ましくは、このようなシングルイベントアップセットに対してロバストでなければならない。
【０００６】
システムリソースに対する高まる要求、かなり増加したデータの大きさ、および特定の重要なまたは危険な環境により、電子デバイスを有効に実施する新たな技術を開発することが、関連する電子技術に対する重要問題であることは明白である。従って、上記の全ての理由により、電子デバイスを実装して利用する有効なシステムを開発することは、最新の電子システムの設計者、製造者及びユーザにとって依然として考慮すべき事柄である。
【発明の開示】
【０００７】
本発明によれば、電子デバイスにおいて、イミュニティモードを有効に実施するシステム及び方法が開示される。本発明の一実施形態によれば、該電子デバイスのプロセッサモジュールは当初、通常の処理モードで機能する。また、該プロセッサモジュールは、イミュニティモードトリガが、何らかの適当な技術を用いることによって発生したか否かを監視する。
【０００８】
上記のイミュニティモードトリガは、何らかの所望の発生、状態またはイベントに応答して生成され得る。例えば、イミュニティモードトリガは、アイドル状態に入るプロセッサモジュールに起因する。別法として、該イミュニティモードトリガは、ある所定の状況が発生した場合、例えば、該電子デバイスの非常に危険な作動環境またはとても敏感な使用の検出時に生成することができる。加えて、特定の実施形態においては、該イミュニティモードトリガは、該電子デバイスのシステムユーザによって積極的に生成することもできる。
【０００９】
イミュニティモードトリガが検出されない場合は、該プロセッサモジュールは、通常の処理を続けてもよい。しかし、イミュニティモードトリガが検出された場合には、本発明に従って、該プロセッサモジュールは、イミュニティマネージャを用いてイミュニティモードに入ることができ、その間、１つあるいは複数の保護処理手順を実行して、脆弱なプロセッサ状態及びプロセッサデータの一部または全てを該プロセッサモジュールから、保護されたメモリへ一時的にフラッシュすることができる。
【００１０】
該イミュニティマネージャは、何らかの有効な方法を用いることにより、現在のイミュニティモードにとって適切なレイテンシレベルを決定する。例えば、特定の実施形態においては、特定の種類のイミュニティモードを所定の対応するレイテンシレベルと関連付けることができる。別法として、レイテンシレベルは、イミュニティモードトリガの発生時の現在の状態によって動的に決めることができる。
【００１１】
典型的には、所与のレイテンシレベルは、特定のイミュニティモードの間に所望される保護のレベルに相当し、最大限の保護を実行できる高いレイテンシレベルと、最小限の保護を実行できる低いレイテンシレベルとを備えている。加えて、所与のレイテンシレベルは、特定のイミュニティモードの間に許容可能な処理混乱の量にも相関し、最大限の混乱を有する高いレイテンシレベルと、最小限の混乱を有する低いレイテンシレベルとを備えている。
【００１２】
該イミュニティマネージャが、低いレイテンシレベルが現在の保護処理手順にとって適切であると判断した場合には、該イミュニティマネージャは、最低限のフラッシュ処理手順を調整して、最小限の量のプロセッサ情報を該プロセッサモジュールから保護されたメモリへ転送する。この結果、該プロセッサモジュールは、通常の処理モードで様々な処理タスクを続けることができ、また、必要に応じて、保護された情報を該保護されたメモリから取り出すことができる。
【００１３】
該イミュニティマネージャが、現在の保護処理手順にとって、中間のレイテンシが適切であると判断した場合には、該イミュニティマネージャは、部分的フラッシュ処理手順を調整して、中程度の量のプロセッサ情報を該プロセッサモジュールから該保護されたメモリへ転送する。
【００１４】
この結果、該プロセッサモジュールは、通常の処理モードで様々な処理タスクを続けることができ、また、必要に応じて、該保護されたメモリから保護された情報を取り出すことができる。
【００１５】
該イミュニティマネージャが、現在の保護処理手順にとって高いレイテンシレベルが適切であると判断した場合、該イミュニティマネージャは、完全な保護処理手順を調整して、全てのプロセッサ情報を該プロセッサモジュールから該保護されたメモリへ転送する。例えば、該イミュニティマネージャは当初、全てのプロセッサ状態及びプロセッサデータの完全なフラッシュ処理手順を該プロセッサモジュールから、該保護されたメモリに対して調整する。次に、該電子デバイスは、該プロセッサモジュールのプロセッサをリセットする。この結果、本発明によれば、該プロセッサモジュールは、ポーズモードに入ることができ、その間、処理タスクは実行されず、保護された全てのプロセッサ情報（プロセッサ状態及びプロセッサデータ）は、該保護されたメモリ内で安全な状態のままである。
【００１６】
該イミュニティマネージャは、リスタートトリガイベントが、何らかの有効な手段を用いることによって発生したか否かを監視する。上記のリスタートトリガイベントは、何らかの所望の発生、状態またはイベントに応じて生成することができる。例えば、リスタートトリガイベントは、１つあるいは複数の新たな実行されていないタスクが処理を要求するため、該プロセッサモジュールがアイドル状態をやめる場合に生じる可能性がある。別法として、該リスタートトリガイベントは、特定の所定の危険な作動状態がもはや存在しない場合に生じ得る。加えて、特定の実施形態においては、該リスタートトリガイベントは、該電子デバイスのシステムユーザによって積極的に生成することもできる。
【００１７】
該イミュニティマネージャが、リスタートトリガイベントを検出できなかった場合には、該プロセッサモジュールは、上記のポーズモードを維持してもよい。しかし、該イミュニティマネージャがリスタートトリガイベントを検出した場合には、該イミュニティマネージャはプロセッサ回復処理手順を調整し、その間、該保護されたプロセッサ情報（例えば、プロセッサ状態及びプロセッサデータ）が、該保護されたメモリから該プロセッサモジュールへ戻されて、通常の処理機能を再開する。従って、少なくとも上記の理由により、本発明は、電子デバイスにおいてイミュニティモードを有効に実施する改善されたシステム及び方法を実現できる。
【発明を実施するための最良の形態】
【００１８】
本発明は、電子デバイスを実施する際の改良に関する。以下の説明は、当業者が本発明を実行しかつ利用できるようにするためにあり、特許出願及びその要件との関連で記載されている。当業者には、開示された実施形態に対する様々な変形例が容易にはっきりと理解できるであろうし、また、本明細書における包括的原理を他の実施形態に適用してもよい。従って、本発明は、説明した実施形態に限定することを意図しておらず、本明細書に記載した原理及び特徴に一致する最も広い範囲を認めるべきである。
【００１９】
本発明は、電子デバイスにおいてイミュニティモードを有効に実施するシステム及び方法として記載されており、該電子デバイスのために処理タスクを実行するプロセッサモジュールを含む。該プロセッサモジュールは、処理タスクを実行するためのプロセッサ状態及びプロセッサデータ等のプロセッサ情報を含む。また、該電子デバイスは、最適な安全な方法で電子情報を格納するための保護されたメモリも含む。その結果、イミュニティマネージャは、アイドル状態に入るプロセッサモジュール等のイミュニティモードトリガイベントに応じて保護処理手順を実行し、脆弱なプロセッサ情報の少なくとも一部を該保護されたメモリに格納することができる。
【００２０】
次に、図１について説明すると、本発明の一実施形態による電子デバイス１１２のブロック図が示されている。図１の実施形態において、電子デバイス１１２は、限定するものではないが、プロセッサモジュール１１６と、コントローラ１２０と、デバイスメモリ１２８とを含むことができる。代替的実施形態においては、電子デバイス１１２は、図１の実施形態に関して議論したコンポーネント及び構成のいくつかに加えて、またはそれらに代わるコンポーネント及び構成を用いて実施することができる。
【００２１】
図１の実施形態において、プロセッサモジュール１１６は、電子デバイス１１２の動作を制御及び管理するためのソフトウェア命令を実行する何らかの適当で互換性のあるプロセッサデバイスを含むように実施することができる。プロセッサモジュール１１６については、図２と共に以下でさらに議論する。図１の実施形態において、電子デバイス１１２は、プロセッサモジュール１１６及びデバイスメモリ１２８の両方のための通信を双方向で調整するためにコントローラ１２０を用いることができる。また、電子デバイス１１２は、入力／出力（Ｉ／Ｏ）バス１４０を介して様々な種類の外部エンティティ１３６と通信するために、コントローラ１２０を用いることもできる。コントローラ１２０については、図３と共に以下でさらに議論する。図１の実施形態において、デバイスメモリ１２８は、限定するものではないが、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および様々な種類の揮発性及び不揮発性メモリを含む所望のストレージデバイスのいずれかの組合せを含むように実施することができる。図１の実施形態において、デバイスメモリ１２８は、様々な種類の情報及びデータのロバストで信頼できる記憶を最も有利に実行できるような方法で実施する保護されたメモリを含むことができる。
【００２２】
デバイスメモリ１２８については、図４と共に以下でさらに議論する。
【００２３】
特定の実施形態においては、電子デバイス１１２は、特別で厳しい動作環境で用いることもできる。例えば、電子デバイス１１２は、宇宙動作環境中で、宇宙船または他の物体の一部として用いることができる。宇宙動作環境中の市販のプロセッサは、宇宙放射線または他の要因によるビットアップセット脆弱性を経験する可能性がある。この脆弱性は、プロセッサ内のデジタルビットが放射アップセットの影響を受けやすい時間の割合として定義することができる、脆弱性のデューティサイクルを含む様々な要因に基づいている。従来のシステムにおいては、（一定期間、アクティブな処理タスクがない状態で）オペレーティングシステムがアイドル状態である場合、該プロセッサはそれでも、現在のプロセッサの要素、状態及びデータのほとんどを維持し、それに伴って、これらの要素、状態及びデータは、処理演算が現在、実行されていない場合でも、アップセットの影響を受けやすくなる。
【００２４】
本発明によれば、電子デバイス１１２は、イミュニティモードに有利に入ることができ、その間、保護処理手順が実行されて、プロセッサモジュール１１６の脆弱なプロセッサ状態及びプロセッサデータの一部または全てが、保護された、より免疫のあるメモリデバイス１２８に格納され、この時プロセッサモジュール１１６はアイドル状態である。一つの実施例において、プロセッサモジュール１１６がアイドル状態である場合、該保護処理手順を実行して、プロセッサモジュール１１６のプロセッサ状態及びプロセッサデータを、デバイスメモリ１２８のロバストで保護された部分にフラッシュすることができる。
【００２５】
イミュニティモードの一実施形態において、電子デバイス１１２はその後、プロセッサモジュール１１６をリセット状態に保持してもよく、その結果この期間中、該プロセッサ状態及びプロセッサデータは、アップセットまたは他の破損の影響を受けない。このため、所定のリスタートトリガイベントが生じた場合に（さらなる処理計算等のような必要性）、該保護されたプロセッサ状態及びプロセッサデータを回復することができ、またプロセッサモジュール１１６は、通常モードで処理を再開することができる。
【００２６】
上記の技術は、いくつかの利点をもたらす。プロセッサモジュール１１６はリセットに保持され、かつ処理は何も実行されていないため、電子デバイス１１２は、より低消費電力特性を示すことができる。しかし、特定の実施形態においては、プロセッサモジュール１１６は、プロセッサモジュール１１６をリセット状態に保持する低電力消費を有する低電力モードにすることができる。加えて、プロセッサ状態及びプロセッサデータは、デバイスメモリ１２８内に安全に保護されているため、プロセッサモジュール１１６は、該プロセッサデータ及びプロセッサレジスタにおけるビットエラーの可能性が著しく低い。
【００２７】
特定の実施形態において、上記の技術のサブセットを代替的に実施してもよい。例えば、特定の所定の状況下で、プロセッサモジュール１１６のプロセッサキャッシュメモリからのキャッシュに格納されたデータのみをデバイスメモリ１２８にフラッシュすることができ、その後、プロセッサモジュール１１６は、通常に機能し続けると共に、必要に応じて、デバイスメモリ１２８からローカルプロセッサキャッシュにプロセッサデータを取り出すことができる。プロセッサキャッシュは、典型的にはビットアップセットの顕著な場所であるため、この技術はアップセット率を有利に低下させることができ、かつプロセッサモジュール１１６を大幅にロバストかつ信頼できるものとすることができる。
【００２８】
従って、図１の実施形態において、電子デバイス１１２は、プロセッサモジュール１１６に対してプロセッサ状態及びプロセッサデータをフラッシュし、リセットし、その後、回復することができる。しかし、本発明の一実施形態によれば、電子デバイス１１２は、上述したリセットの後、追加的な処理タスクを要求され、または他の所定のリスタートトリガイベントが発生するまで、ポーズモードに入っていてもよい。図１の電子デバイス１１２の実施及び利用については、図２〜図７と共に以下でさらに議論する。
【００２９】
次に、図２について説明すると、本発明による図１のプロセッサモジュール１１６の一実施形態の場合のブロック図が示されている。図２の実施形態において、プロセッサモジュール１１６は、キャッシュＡ  ２１２（ａ）を有するプロセッサＡ  １１６（ａ）と、キャッシュＢ  ２１２（ｂ）を有するプロセッサＢ  １１６（ｂ）と、キャッシュＣ  ２１２（ｃ）を有するプロセッサＣ  １１６（ｃ）とを含むことができる。
【００３０】
代替的実施形態においては、プロセッサモジュール１１６は、図２の実施形態と共に議論したコンポーネント及び構成のいくつかに加えて、またはそれらに代わるコンポーネント及び構成を用いて容易に実施することができる。例えば、他の実施形態においては、プロセッサモジュール１１６は、対応するキャッシュ２１２を有する所望数のプロセッサ１１６と共に実施することができる。特定の実施形態においてプロセッサモジュール１１６は、付随するキャッシュ２１２を有する単一のプロセッサ１１６と共に実施することができる。
【００３１】
図２の実施形態において、プロセッサモジュール１１６は、三重の重複実施を用いて実施することができ、プロセッサ１１６（ａ〜ｃ）は、正確に同時に同一のプログラム命令を実行することにより、ロックステップ同期で作動する。そのため各プロセッサ１１６は、同一の出力信号及び他の作動パラメータを、それぞれの出力パス１２４（ａ〜ｃ）に生成することができる。いずれかのプロセッサ１１６（ａ〜ｃ）の出力信号が他の２つのプロセッサの出力信号と異なる場合には、電子デバイス１１２は、該異なっているプロセッサを停止し、再同期処理手順を実行して、他の２つのプロセッサと同期して該停止されたプロセッサをリスタートさせることができる。
【００３２】
プロセッサ１１６（ａ〜ｃ）はそれぞれ、典型的には、本明細書においてプロセッサ状態と呼ぶ相当量のデジタル情報を含む。加えて、各プロセッサ１１６（ａ〜ｃ）は、典型的には本明細書においてプロセッサデータと呼ぶデジタル情報を含む対応するプロセッサキャッシュ２１２と関連付けることができる。図１と共に上述したイミュニティモード及び保護処理手順のため、特定の実施形態において、プロセッサ１１６（ａ〜ｃ）は、一般的に入手可能なプロセッサデバイスを用いて経済的に実施することができる。
【００３３】
特定の実施形態においては、メモリにフラッシュされた後、プロセッサ状態の一部のみが回復される。プロセッサモジュール１１６が作動する際、該プロセッサモジュールは、該キャッシュのリロードを開始する。プロセッサモジュール１１６は、より長い時間の割合だけ、イミュニティモードに入っていることができるように、比較的高速（例えば、８００ＭＨｚ）で作動して、より迅速にタスクを実行することができる。プロセッサモジュール１１６の動作については、図６及び図７と共に以下でさらに議論する。
【００３４】
次に、図３について説明すると、本発明による図１のコントローラ１２０の一実施形態の場合のブロック図が示されている。図３の実施形態において、コントローラ１２０は、限定するものではないが、イミュニティモジュール３１０と、投票モジュール３１２と、エラー検出器３１６とを含む。代替的実施形態においては、コントローラ１２０は、図３の実施形態と共に議論したコンポーネントのいくつかに加えて、またはそれらに代わって、他のコンポーネントを容易に含むことができる。
【００３５】
図３の実施形態において、コントローラ１２０は、イミュニティモジュール３１０を用いて、特定の転送機能及び図１と共に上述したイミュニティモード及び保護処理手順のための他のタスクを調整することができる。図３の実施形態において、コントローラ１２０は、投票モジュール３１２を用いて、図２に関して上述した３つのプロセッサ１１６（ａ〜ｃ）からの出力信号を解析することができる。この結果、投票モジュール３１２は、プロセッサモジュール１１６からの３つの出力信号から過半数信号を決定することができ、また、該過半数信号を、パス１３２を介してデバイスメモリ１２８に格納することができる。
【００３６】
図３の実施形態において、コントローラ１２０は、エラー検出器３１６を用いて、その出力信号が上記の過半数信号と同じではない非同期プロセッサを識別することができる。該非同期プロセッサの出力信号が他の２つのプロセッサの出力信号と異なる場合には、電子デバイス１１２は、該非同期プロセッサを停止することができ、また、再同期処理手順を実行して、該他の２つのプロセッサの過半数信号からの回復されたプロセッサ状態及びプロセッサデータを用いて、該停止されたプロセッサをリスタートさせることができる。
【００３７】
コントローラ１２０の利用は、図６及び図７と共に以下でさらに議論する。
【００３８】
次に、図４について説明すると、本発明による図１のデバイスメモリ１２８の一実施形態の場合のブロック図が示されている。図４の実施形態において、デバイスメモリ１２８は、限定するものではないが、デバイスソフトウェア４１２と、イミュニティマネージャ４１６と、保護されたメモリ４２０と、エラー訂正モジュール４２４とを含む。代替的実施形態においては、デバイスメモリ１２８は、図４の実施形態と共に議論したコンポーネントのいくつかに加えて、またはそれらに代わって、他のコンポーネントを容易に含むことができる。
【００３９】
図４の実施形態において、デバイスソフトウェア４１２は、電子デバイス１１２のための様々な機能及び動作を実行するために、プロセッサモジュール１１６（図１）によって実行されるプログラム命令を含むことができる。デバイスソフトウェア４１２の特定の性質及び機能性は、典型的には、対応する電子デバイス１１２の特定の型式及び特定の機能等の要因により変化する。図４の実施形態において、デバイスソフトウェア４１２は、電子デバイス１１２の低レベルの機能性を制御及び調整するオペレーティングシステムを含むことができる。
【００４０】
本発明の特定の実施形態によれば、電子デバイス１１２は、有利にはイミュニティマネージャ４１６を用いて、図１と共に上述したように、イミュニティモード及び対応する保護処理手順を調整及び管理することができる。図４の実施形態において、保護されたメモリ４２０は、電子デバイス１１２のための様々な種類の情報及びデータのロバストで安全な格納を最適に実行できるように、何らかの有効かつ適切な方法で実施することができる。例えば、保護されたメモリ４２０は、宇宙放射線の影響によるデータ破損及びデータアップセットに対する高レベルの信頼性および安全性を提供する向上されたデザイン及び製造技術を利用することにより実施することができる。
【００４１】
加えて、保護されたメモリ４２０に格納された情報は、保護されたメモリ４２０から取り出された全てのデータ及び他の情報が破損せず、エラーがないことを実現する何らかの有効な技術を利用することにより、エラー訂正モジュール４２４によって処理することができる。エラー訂正モジュール４２４は、限定するものではないが、様々な種類のリード・ソロモン誤り訂正符号処理手順を含む何らかの所望のエラー訂正処理手順を実行するように実施することができる。イミュニティモード及び対応する保護処理手順中の保護されたメモリ４２０の利用については、図６及び図７と共に以下でさらに議論する。
【００４２】
次に、図５について説明すると、本発明の実施形態による図１のプロセッサモジュール１１６の処理タスク５１０の場合のブロック図が示されている。図５の実施例は、例示であり、代替的実施形態においては、処理タスク５１０は、図５の実施形態と共に議論したコンポーネント及び構成のいくつかに加えて、または、それらの代わりに、コンポーネント及び構成を用いて容易に実施することができる。
【００４３】
図５の実施形態において、処理タスク５１０は、各々が、対応する優先レベル５１４（ａ）〜５１４（ｃ）を有する一連の通常タスク５１２（ａ）〜５１２（ｃ）を含む。図５の実施形態において、処理タスク５１０は、図１と共に上述したイミュニティモード及び対応する保護処理手順に相当する保護タスク５１６も含む。図５の実施形態において、保護タスク５１６は、通常タスク５１２のための他の優先レベル５１４のいずれよりも低いレベルになるように予め設定されている最低の優先レベル５２０と関連付けられている。
【００４４】
特定の実施形態においては、処理モジュール１１６は、より高い優先レベルをより低い優先レベルの前に実行するようにして、それぞれの優先レベルに従って処理タスク５１０を実行する。そのため、図５の実施形態において、全てのより高い優先度のタスク５１２（ａ）〜５１２（ｃ）が実行された場合、プロセッサモジュール１１６は、アイドル状態になるように規定することができる。
【００４５】
この結果、プロセッサモジュール１１６は、本発明に従って、イミュニティモードに入ることができ、また、適切な保護処理手順を実行して、プロセッサモジュール１１６からのプロセッサ状態及びプロセッサデータを保護されたメモリ４２０にフラッシュするために保護タスク５１６を実行することができる。特定の実施形態においては、プロセッサ状態の部分的フラッシュを実行してもよい。
【００４６】
次に図６について説明すると、本発明の一実施形態による、イミュニティモードを実施する方法ステップのフローチャートが示されている。図６の実施例は、例示であり、代替的実施形態においては、本発明は、図６の実施形態と共に議論したステップ及びシーケンスのいくつか以外のステップ及びシーケンスを容易に用いることができる。
【００４７】
図６の実施形態においては、ステップ６１２において、電子デバイス１１２のプロセッサモジュール１１６は当初、通常処理モードで機能する。ステップ６１６において、プロセッサモジュール１１６は、何らかの適当な技術を利用することにより、イミュニティモードトリガが生じたか否かを判断する。上記のイミュニティモードトリガは、何らかの所望の発生、状態またはイベントに応答して生成することができる。例えば、イミュニティモードトリガは、図５と共に上述したように、アイドル状態に入るプロセッサモジュール１１６によって生じる。別法として、該イミュニティモードトリガは、非常に危険な作動環境の検知または電子デバイス１１２の高敏感使用等の特定の所定の状況が発生した場合に生じ得る。加えて、特定の実施形態においては、該イミュニティモードトリガは、電子デバイス１１２のシステムユーザによって積極的に生成することもできる。
【００４８】
ステップ６１６において、イミュニティモードトリガが検出されない場合には、図６のプロセスは、ステップ６１２に戻って、通常処理を続けることができる。しかし、イミュニティモードトリガが検出された場合には、本発明に従って、プロセッサモジュール１１６は、イミュニティマネージャ４１６（図４）を用いてイミュニティモードを調整し、その間、保護処理手順を実行して、プロセッサモジュール１１６からの脆弱なプロセッサ状態及びプロセッサデータの一部あるいは全部を保護されたメモリ４２０（図４）に一時的にフラッシュすることができる。
【００４９】
ステップ６２０において、イミュニティマネージャ４１６は、何らかの有効な技術を利用することにより、現在のイミュニティモードのための適切なレイテンシレベルを決定する。
【００５０】
例えば、特定の実施形態において、特定の種類のイミュニティモードは、予め設定された対応するレイテンシレベルに関連付けることができる。別法として、レイテンシレベルは、該イミュニティモードトリガの発生時の現在の状況によって、動的に決めてもよい。
【００５１】
図６の実施形態において、所与のレイテンシレベルは、典型的には、最大限の保護を実行できる高いレイテンシレベルと、最小限の保護を実行できる低いレイテンシレベルとを有する特定のイミュニティモード中に所望される保護のレベルに相当する。加えて、所与のレイテンシレベルは、最大限の混乱を有する高いレイテンシレベルと、最小限の混乱を有する低いレイテンシレベルとを有する特定のイミュニティモード中に許容可能な混乱の処理量にも関連する。
【００５２】
図６の実施形態において、イミュニティマネージャ４１６が、現在の保護処理手順にとって、低いレイテンシレベルが適切であると判断した場合には、ステップ６２４において、イミュニティマネージャ４１６は、最小限のフラッシュ処理手順を調整して、最小限の量のプロセッサ情報をプロセッサモジュール１１６から保護されたメモリ４２０へ転送する。この結果、図６のプロセスは、ステップ６１２に戻ることができ、この場合、プロセッサモジュール１１６は、通常処理を続けることができ、また必要に応じて、保護されたプロセッサ情報を保護されたメモリ４２０から取り出すことができる。
【００５３】
図６の実施形態において、イミュニティマネージャ４１６が、現在の保護処理手順にとって、中程度のレイテンシレベルが適切であると判断した場合には、ステップ６２８において、イミュニティマネージャ４１６は、部分的フラッシュ処理手順を調整して、中程度の量の情報をプロセッサモジュール１１６から保護されたメモリ４２０へ転送する。この結果、図６のプロセスはステップ６１２に戻ることができ、この場合、プロセッサモジュール１１６は、通常処理を続けることができ、また必要に応じて、保護されたプロセッサ情報を保護されたメモリ４２０から取り出すことができる。
【００５４】
図６の実施形態において、イミュニティマネージャ４１６が、現在の保護処理手順にとって、高いレイテンシレベルが適切であると判断した場合には、ステップ６３２において、イミュニティマネージャ４１６は完全な保護処理手順を調整して、全ての情報をプロセッサモジュール１１６から保護されたメモリ４２０へ転送する。この完全な保護処理手順を実行する一つの実施形態については、図７と共に以下で議論する。該完全な保護処理手順に続いて、図６のプロセスはステップ６１２に戻ることができ、この場合、プロセッサモジュール１１６は通常の処理モードで処理を再開することができる。従って、少なくとも上記の理由により、本発明は、電子デバイスにおいてイミュニティモードを有効に実施する改善されたシステム及び方法を実現できる。
【００５５】
次に、図７について説明すると、本発明の一実施形態による、完全な保護処理手順を実行する方法ステップのフローチャートが示されている。図７に関して開示されたプロセス及び方法は、図６の実施形態のステップ６３２で説明した完全な保護処理手順を実行する一実施形態に相当する。図７の実施例は例示のために示されており、代替的実施形態においては、本発明は、図７の実施形態に関して議論したステップ及びシーケンスのいくつか以外のステップ及びシーケンスを容易に用いることができる。
【００５６】
図７の実施形態においては、ステップ７１２において、イミュニティマネージャ４１６は完全なフラッシュ処理手順を調整して、全てのプロセッサ状態及びプロセッサデータをプロセッサモジュール１１６から保護されたメモリ４２０へ転送する。この結果、ステップ７１６において、電子デバイス１１２は、プロセッサモジュール１１６のプロセッサをリセットする。ステップ７２０において、本発明に従って、プロセッサモジュール１１６はポーズモードに入ることができ、その間、処理タスクは全く実行されず、また、全ての保護されたプロセッサ情報（プロセッサ状態及びプロセッサデータ）は、保護されたメモリ４２０において安全なままである。特定の実施形態において、プロセッサモジュール１１６は、イミュニティモードの間、電力を節約するために電源を切ってもよく、また、追加的な処理が必要になったときに電源を入れ戻してもよい。
【００５７】
ステップ７２４において、イミュニティマネージャ４１６は、何らかの有効な手段を用いることによって、リスタートトリガイベントが生じたか否かを判断する。このリスタートトリガイベントは、何らかの所望の発生、状態またはイベントに応答して生成することができる。例えば、リスタートトリガイベントは、図５に関して上述したように、１つあるいは複数の新たな実行されていないタスクが処理を要求するため、プロセッサモジュール１１６がアイドル状態から出た場合に生じ得る。別法として、リスタートトリガイベントは、特定の所定の状況がもはや存在しない場合に生じ得る。加えて、特定の実施形態においては、該リスタートトリガイベントは、電子デバイス１１２のシステムユーザによって積極的に生成することもできる。
【００５８】
ステップ７２４において、イミュニティマネージャ４１６が、リスタートトリガイベントを検出できなかった場合には、図７のプロセスは、ステップ７２０のポーズモードのままでいることができる。しかし、イミュニティマネージャ４１６がリスタートトリガイベントを検出した場合には、ステップ７２８において、イミュニティマネージャ４１６は、プロセッサ回復処理手順を調整して、その間、保護されたプロセッサ情報（例えば、プロセッサ状態及びプロセッサデータ）は、保護されたメモリ４２０からプロセッサモジュール１１６へ戻され、通常の処理機能を再開する。この結果、図７の完全な保護処理手順を終了することができる。
【００５９】
本発明を特定の実施形態を参照して説明してきた。当業者には、この開示を踏まえて、他の実施形態をはっきりと理解できるであろう。例えば、本発明は、上記の実施形態で説明したもの以外の構成及び方法を用いて、容易に実施することができる。また、本発明は、上述したもの以外のシステムを共に効果的に用いることができる。従って、開示した実施形態に対するこれら及び他の変形例は、本発明によってカバーされることが意図されており、本発明は、添付請求項によってのみ限定される。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施形態による電子デバイスのブロック図である。
【図２】本発明による図１のプロセッサモジュールの一実施形態の場合のブロック図である。
【図３】本発明による図１のコントローラの一実施形態の場合のブロック図である。
【図４】本発明による図１のデバイスメモリの一実施形態の場合のブロック図である。
【図５】本発明による処理タスクの一実施形態の場合のブロック図である。
【図６】本発明の一実施形態による、イミュニティモードを実施する方法ステップのフローチャートである。
【図７】本発明の一実施形態による、完全な保護処理手順を実行する方法ステップのフローチャートである。
【図１】
2008530696.tif 000003
【図２】
2008530696.tif 000004
【図３】
2008530696.tif 000005
【図４】
2008530696.tif 000006
【図５】
2008530696.tif 000007
【図６】
2008530696.tif 000008
【図７】
2008530696.tif 000009
【国際調査報告】
2008530696.tif 000010
2008530696.tif 000011