(57)【要約】      （修正有）【課題】電子処理装置への電源電圧を最も効率の良い電力点で動作し、処理装置の出力の正確性を犠牲にすることなく、発生するエラーを修正することが可能な電圧制御方法を提供する。【解決手段】プロセッサ又はメモリ要素を有する電子処理装置２への電源電圧を制御し電子処理装置の出力を受信する装置であって、当該装置は、電子処理装置の出力におけるエラーを検出するエラー検出手段５と、電子処理装置の出力において検出されたエラーの分析に基づいて、電子処理装置への電源電圧を適応的に変化させる手段６とを備える。装置は更に、電子処理装置の出力における検出されたエラーを修正する手段７を備える。【選択図】図１
2013114685.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ又はメモリ要素を有する電子処理装置への電源電圧を制御し、前記電子処理装置の出力を受信する装置であって、
前記電子処理装置の出力におけるエラーを検出するエラー検出手段と、
前記電子処理装置の前記出力において検出されたエラーの分析に基づいて、前記電子処理装置への前記電源電圧を適応的に変化させる手段とを備える装置。
【請求項２】
前記電子処理装置の前記出力における検出されたエラーを修正する手段を更に備える請求項１に記載の装置。
【請求項３】
前記電子処理装置は、同じ出力値を提供するべく対応する処理タスクを実行する２つの独立したプロセッサを有し、
前記エラー検出手段は、前記２つのプロセッサのうちの一方の出力と、前記２つのプロセッサのうちの他方の出力とを比較することによって、前記電子処理装置の前記出力におけるエラーを検出する請求項２に記載の装置。
【請求項４】
前記エラーを修正する手段は、前記電子処理装置の出力におけるエラーを修正するべく処理タスクを繰り返すように、前記２つの独立したプロセッサのうちの少なくとも１つに命令する請求項３に記載の装置。
【請求項５】
前記電子処理装置は、システムデータ及び前記システムデータと関連付けられたエラー管理データを格納する１以上のメモリ要素を有し、
前記電子処理装置の前記出力は、前記システムデータ及びエラー管理データを含み、
前記エラー検出手段は、前記システムデータと関連付けられたエラー管理データを分析することにより、前記システムデータにおけるエラーを検出する請求項２から４の何れか一項に記載の装置。
【請求項６】
前記電子処理装置の前記出力における前記エラーを修正する手段は、前記エラー管理データに基づいて前記出力を修正する請求項５に記載の装置。
【請求項７】
前記１以上のメモリ要素は、同じデータを格納する２つのメモリ要素を含み、
前記エラーを修正する手段は、一方のメモリ要素から正しい値を読み出すことにより、他方のメモリ要素からの出力において検出されたエラーを修正する請求項５又は請求項６に記載の装置。
【請求項８】
前記電子処理装置は、プロセッサ及びメモリ要素のうちの少なくとも一方を有し、
前記電圧を適応的に制御する手段は、プロセッサ及びメモリ要素のうちの前記少なくとも一方においてシングルイベントラッチアップが発生する可能性を低減させるような適切なレベルに前記電圧を制御する請求項１又は２に記載の装置。
【請求項９】
電子処理装置と、
前記電子処理装置に供給される前記電圧を制御する請求項１から８の何れか一項に記載の装置とを備えるシステム。
【請求項１０】
プロセッサ又はメモリ要素を有する電子処理装置に供給される電源電圧を低減させる方法であって、
前記電子処理装置の出力を受信する段階と、
前記電子処理装置の前記出力がエラーを含むかを判断する段階と、
前記電子処理装置に供給される前記電圧に対する調整が必要かを、前記出力におけるエラーの分析に基づいて判断する段階と、
調整が必要であると判断された場合には、前記電圧の調整を行う段階とを備える方法。
【請求項１１】
前記電子処理装置の前記出力がエラーを含む場合には、前記エラーを修正する段階を更に備える請求項１０に記載の方法。
【請求項１２】
前記電子処理装置は、同じ出力値を提供するべく対応する処理タスクを実行する２つのプロセッサを有し、
前記電子処理装置の前記出力がエラーを含むかを判断する段階は、前記２つのプロセッサの一方の出力と前記２つのプロセッサの他方の出力とを比較する段階を含み、
前記エラーを修正する段階は、前記２つのプロセッサのうちの少なくとも１つに、前記処理タスクを繰り返すように命令する段階を含む請求項１１に記載の方法。
【請求項１３】
前記電子処理装置は、対応するデータを格納するための２つのランダムアクセスメモリ要素を有し、
前記メモリ要素はそれぞれ、システムデータ及び関連するエラー管理データを格納し、
前記電子処理装置の前記出力は、システムデータ及び関連するエラー管理データを含み、
前記電子処理装置の前記出力がエラーを含むかを判断する段階は、前記メモリ要素の前記出力におけるエラー管理データを分析する段階を含み、
前記エラーを修正する段階は、前記２つのメモリ要素のうちの一方の前記出力におけるエラーを、前記２つのメモリ要素のうちの前記一方からの前記エラー管理データに基づいて、又は、２つの前記メモリ要素のうちの他方から読み出されたデータに基づいて、修正する段階を含む請求項１１に記載の方法。
【請求項１４】
前記電子処理装置は、プロセッサ及びメモリ要素のうちの少なくとも一方を有し、
前記電圧を制御する段階は、前記電子処理装置のプロセッサ及びメモリ要素のうちの少なくとも一方でシングルイベントラッチアップが発生するのを回避するべく、前記電圧を制御することを含む請求項１０又は１１に記載の方法。
【請求項１５】
コンピュータに、請求項１０から１４の何れか一項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子処理装置に供給される電圧の制御に関する。
【背景技術】
【０００２】
電子処理装置の製造者が推奨する動作電圧は、多くの場合、誤作動を最小にするように選択される。典型的には、電源電圧が低くなるほど、電子処理装置の出力におけるエラーの発生率が高くなる。推奨動作電圧は通常、エラーが発生する電圧よりも十分高い電圧に設定される。これは、例えば、電源電圧のエラー、シリコン加工パラメータ、温度の影響、放射の影響及びトランジスタのエージングの影響等、複数の変化する可能性のある要因を考慮に入れるべく、製造者は電圧マージンを含めて設定するからである。
【０００３】
システム精度を損なうことなく動作電圧を下げることを目的とした様々な電圧選択方法が知られている。システムを低い電圧で動作させることにより、システム全体の消費電力を低減させることができると考えられる。例えば、クロック速度に基づいて電圧を変化させる方法が知られている。プロセッサの動作状態に基づいて適切なプロセッサ電圧を計算する装置を使用する方法も知られており、計算されるプロセッサ電圧には、製造者によって実装される公称動作電圧と同様な安全マージンが含まれており、それに従ってプロセッサに供給される電圧が制御される。更に、プロセッサキャッシュを、キャッシュの出力にエラーを発生させる程度に低い固定電圧で動作させて、このエラー出力を修正するような電圧にする方法も知られている。他にも、プロセッサ内部の個々の部品に供給される電圧を制御可能に設計されたプロセッサが知られている。
【０００４】
宇宙探査機に使用されるデータ処理システムでは、処理タスクを並行して実行するのに、一次処理要素と冗長処理要素とを使用するのが一般的である。システム全体の電力消費は、一次処理要素の消費電力と冗長処理要素の消費電力とを合わせたものとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の点に関してなされたものである。
【課題を解決するための手段】
【０００６】
本発明によれば、プロセッサ又はメモリ要素を有する電子処理装置への電源電圧を制御し、電子処理装置の出力を受信する装置であって、電子処理装置の出力におけるエラーを検出するエラー検出手段と、電子処理装置の出力において検出されたエラーの分析に基づいて、電子処理装置への電源電圧を適応的に変化させる手段とを備える装置を提供する。
【０００７】
前記装置は、電子処理装置の前記出力における検出されたエラーを修正する手段を更に備えてもよい。
【０００８】
本発明によれば、動作の限界にエラー率を維持するように電圧を制御可能となるので、処理装置が最も効率の良い電力点で動作することになる。また、本発明によれば、処理装置の出力の正確性を犠牲に刷ることなく、発生するエラーを修正することが可能となる。
【０００９】
電子処理装置は、エラーが存在しない場合に同じ出力値を提供するべく対応する処理タスクを実行する２つの独立したプロセッサを有し、エラー検出手段は、２つのプロセッサのうちの一方の出力と、２つのプロセッサのうちの他方の出力とを比較することによって、電子処理装置の出力におけるエラーを検出する。エラーを修正する手段は、電子処理装置の出力におけるエラーを修正するべく処理タスクを繰り返すように、２つの独立したプロセッサのうちの少なくとも１つに命令してもよい。２つのプロセッサのうちの一方の出力値と他方の出力値とを比較することは、２つの出力値を直接比較すること又は出力値から計算されたチェックサム又はその他の値を比較することを伴ってもよい。
【００１０】
電子処理装置は、システムデータ及びシステムデータと関連付けられたエラー管理データを格納する１以上のメモリ要素を有し、電子処理装置の出力は、システムデータ及びエラー管理データを含み、エラー検出手段は、システムデータ及びシステムデータと関連付けられたエラー管理データを分析することにより、システムデータにおけるエラーを検出する。エラーを修正する手段は、システムデータから計算された値と、エラー管理データとを比較してもよい。また、電子処理装置の出力におけるエラーを修正する手段は、エラー管理データに基づいて出力を修正してもよい。１以上のメモリ要素は、エラーが発生しない場合には、通常の動作時に同一のデータを格納する２つのメモリ要素を含んでもよい。エラー修正手段は、一方のメモリ要素からの出力で検出されたエラーを、他方のメモリ要素から対応する正しい値を読み出すことにより、修正してもよい。２つのメモリ要素は、別個のプロセッサに属してもよい。これに替えて、２つのメモリ要素は、同じプロセッサに属してもよい。
【００１１】
１以上のメモリ要素は、ランダムアクセスメモリ（ＲＡＭ）を含んでもよい。エラー管理データは、ＲＡＭパリティ情報を含んでもよい。すなわち、ＲＡＭはパリティＲＡＭであってもよい。
【００１２】
電子処理装置は、１以上のプロセッサ及び／又は１以上のメモリ要素を含んでもよい。電圧を適応的に制御する手段は、１以上のプロセッサ及び／又は１以上のメモリ要素においてシングルイベントラッチアップが発生する可能性が低減されるような適切なレベルに電圧を制御してもよい。
【００１３】
装置は、エラー検出手段、電源電圧を適応的に変化させる手段及びエラー修正手段を提供するＦＰＧＡのような制御装置又は制御構成を備えてもよい。電圧を適応的に変化させる手段は、電子処理装置に電圧を供給する電源に、電子処理装置への電圧を変化させるよう命令してもよい。
【００１４】
電子処理装置は、１以上のプロセッサ又は１以上のメモリ要素を備えてもよく、別個の制御装置は、プロセッサ及びメモリ要素に供給される電圧を制御してもよい。プロセッサは、例えば、計算のような処理タスクを実行し、メモリ要素は、計算及びその他の処理結果を格納するよう構成されてもよい。
【００１５】
本発明によれば、電子処理装置と、電子処理装置に供給される電圧を制御する上記の装置とを備えるシステムが提供される。
【００１６】
更に、本発明によれば、プロセッサ又はメモリ要素を有する電子処理装置に供給される電源電圧を低減させる方法であって、電子処理装置の出力を受信する段階と、電子処理装置の出力がエラーを含むかを判断する段階と、電子処理装置に供給される電圧に対する調整が必要かを、出力におけるエラーの分析に基づいて判断する段階と、調整が必要であると判断された場合には、電圧の調整を行う段階とを備える方法を提供する。
【００１７】
方法は、電子処理装置の出力において検出されたエラーエラーを修正する段階を更に備えてもよい。
【００１８】
電子処理装置は、通常動作でエラーが存在しない場合に、同じ出力値を提供するべく対応する処理タスクを実行する２つのプロセッサを有し、電子処理装置の出力がエラーを含むかを判断する段階は、２つのプロセッサの一方の出力と２つのプロセッサの他方の出力とを比較する段階を含み、エラーを修正する段階は、２つのプロセッサのうちの少なくとも１つに、処理タスクを繰り返すように命令する段階を含む。２つのプロセッサのうちの一方の出力値と他方の出力値とを比較することは、２つの出力値を直接比較すること又は出力値から計算されたチェックサム又はその他の値を比較することを伴ってもよい。
【００１９】
電子処理装置は、対応するデータを格納するための２つのランダムアクセスメモリ要素を有してもよく、メモリ要素はそれぞれ、システムデータ及び関連するエラー管理データを格納し、電子処理装置の出力は、システムデータ及び関連するエラー管理データを含み、電子処理装置の出力がエラーを含むかを判断する段階は、メモリ要素の出力におけるエラー管理データを分析する段階を含み、エラーを修正する段階は、２つのメモリ要素のうちの一方の出力におけるエラーを、２つのメモリ要素のうちの一方からのエラー管理データに基づいて、又は、２つのメモリ要素のうちの他方から読み出されたデータに基づいて、修正する段階を含む。
【００２０】
電圧を制御する段階は、電子処理装置の要素においてシングルイベントラッチアップが発生するのを回避するべく、電圧を制御することを含んでもよい。より詳細には、電圧を制御する段階は、電子処理装置の１以上のプロセッサ及び／又は１以上のメモリ要素でシングルイベントラッチアップが発生するのを回避するべく、電圧を制御することを含んでもよい。
【００２１】
本発明によれば、プロセッサによって実行されると、プロセッサに上記の方法を実行させる命令を備えるコンピュータプログラムが提供される。
【図面の簡単な説明】
【００２２】
【図１】電子処理装置、電源及び制御装置を備えるシステムの概略的なブロック図である。
【図２】電子処理装置が２つのデジタル信号プロセッサを有する場合の、図１のシステムの一実施形態を示した概略的なブロック図である。
【図３】電子処理装置が２つのランダムアクセスメモリを有する場合の図１のシステムの一実施形態を示した概略的なブロック図である。
【図４】それぞれがメモリ要素を含む２つのデジタル信号プロセッサを有する電子処理装置に供給される電圧を制御するべく、図１のシステムのコンセプトを実装するシステムの構成要素を示した図である。
【図５】電離放射環境に実装される図２の実施形態を示した概略的なブロック図である。
【図６】電子処理装置への電圧を適応的に調整するプロセスを示した図である。
【発明を実施するための形態】
【００２３】
本発明の実施形態を例示するべく、添付の図１〜５を参照して説明する。
【００２４】
図１に示すように、システム１は、電子処理装置２、電源３及び制御装置４を備える。電子処理装置２は、電源３から電源の供給を受け、制御装置４は、電子処理装置に供給される電圧を調整するべく、電源を制御する。電子処理装置は、以下に詳細に説明するが、１以上の電子処理ユニットを含んでもよい。制御装置は、エラー検出ユニット５、電圧制御ユニット６及びエラー回復ユニット７を含む。
【００２５】
エラー検出ユニット５は、電子処理装置２の出力におけるエラーをチェックする。このチェックを実行した後で、エラー検出ユニットは、電子処理装置が出力した情報の検出結果がエラーを含んでも含まなくても、エラー回復ユニット７及び電圧制御ユニット６と通信を行う。電圧制御ユニット６は、エラー検出ユニット５からのエラー情報を分析して、電子処理装置２への供給電圧を変化させるよう電源３に対して命令を出すか否か及びどのような命令を出すかを決定する。電源電圧が低いほど、電子処理装置の出力におけるエラーの発生率は高くなる。電圧制御ユニット６は、許容される数のエラーが発生するようなレベルまで電源電圧を下げるよう決定してもよい。電源電圧は、主に正しい動作が維持されると同時に、時々エラーが発生するような最低限の電圧に維持されてもよい。多数のエラーが検出される場合には、電圧制御ユニット６は、電圧を上げる。反対に、エラー発生率閾値よりも低いエラー発生率が検出された場合には、電圧制御ユニットは、電子処理装置２に供給される電圧を更に下げてもよい。電圧制御ユニット６は、制御の都度に所定の一定量分、電圧を増大及び減少させてもよいし、出力のエラーの特性を分析して決定された可変量分で増大及び減少させてもよい。
【００２６】
一例として、エラーの分析は、電圧制御装置が、エラーが発生する都度、一定量分、電圧を増大させることを決定することを伴ってもよいし、所定の期間が経過してもエラーが全く発生しない場合には、一定量分、電圧を減少させることを決定することを伴ってもよい。電圧のステップサイズは、調整を行う都度、同じであってもよい。電圧制御装置は、所定の期間にエラーが発生したかを判断することが可能なように、エラーそれぞれの記録を格納してもよい。これに替えて、エラーが発生した時点でタイマを開始させて、新規のエラーが発生した時点でタイマをリスタートさせてもよい。タイマが開始されてから所定の時間が経過し、その時点でエラーが発生していない場合には、制御装置は電圧を低減させてもよい。所定の時間は、これに限定されないが、数分又は数時間を含む任意の好適な期間であってもよい。
【００２７】
これに替えて、分析は、エラーの特定及びエラーが検出された周波数の総合的な分析を伴ってもよい。例えば、電圧制御装置は、一定期間における平均エラー発生率を計算してもよい。この場合、電圧ステップサイズは、固定されていてもよいし、平均エラー発生率に基づいて決定されてもよい。
【００２８】
任意の調整方法の電圧調整のステップサイズは、電子処理装置の詳細に基づいて決定されてもよい。電圧調整を行う際の電圧のステップサイズは、安定した動作を可能とするべく十分小さく設定される必要がある。一例として、電子処理装置からの出力におけるエラー率は、平均して５分間の動作毎に１回のエラーが発生するようなエラー率に収束する。数分毎に１回のエラーが発生するようなオーダーのエラー率を、閾値エラー率として、この閾値エラー率に基づいて電圧を増加させるか減少させるかを判断してもよい。しかしながら、これは閾値エラー率の一例に過ぎず、任意の好適な閾値エラー率を使用することができる。
【００２９】
少なくともある環境下では、電子処理装置は、電子処理装置の出力が常にエラーを含むように動作させることができる。供給される電圧は、電子処理装置から予測される通常レベルを超えてエラー発生率を増加させるように選択されてもよく、制御装置４がエラーを修正できるようなレベルにエラー率を保ってもよい。供給可能な最小電圧は時間が経過するにつれて及び環境、例えば、温度及び背景放射により変化することが知られている。したがって、制御装置４は、連続してエラー率を分析し、必要に応じて適応的に電圧を調整するように構成される。
【００３０】
電子処理装置２の出力にエラーが発生したことが通知されると、エラー回復ユニット７は、電子処理装置と通信を行って、正しい出力を回復する又は回復することを試みる。このようにして、制御装置４は、最終的な出力の精度を損なうことなく、誤作動が生じる限界ぎりぎりにおいて１以上の電子処理ユニットを動作させることにより、これら電子処理ユニットを低電力動作を可能にする。
【００３１】
制御装置４は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現されてもよい。制御装置は、コントローラ又は任意の種類の好適な制御装置として提供されてもよい。例えば、制御装置は、集積回路の形態で提供される。より詳細には、制御装置は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）内で考えられてもよい。エラー検出ユニット５、エラー回復ユニット７及び電圧制御ユニット６を備えるとした制御装置の説明は、機能的な説明にとどまり、制御装置は必ずしも構造的に別個のユニットに分割されていなくてもよい。制御装置は、全ての機能を実行する１つのプロセッサから形成されてもよいし、エラー検出ユニット５、電圧制御ユニット６及びエラー回復ユニット７についてそれぞれ説明された１以上の機能及び機能の一部分をそれぞれ実行する１以上のモジュールとして形成されてもよい。
【００３２】
電子処理装置２の１以上の電子処理ユニットは、例えば、デジタル信号プロセッサ（ＤＳＰ）であるプロセッサ、及び／又は、例えば、ランダムアクセスメモリ要素（ＲＡＭ）である電子メモリであってもよい。より詳細には、電子処理装置のメモリは、これに限定されないが、パリティメモリ又はエラー訂正符号メモリ（ＥＣＣメモリ）を含んでもよい。電子処理装置２が１以上の電子処理ユニットを含む場合には、これら電子処理ユニットは同じ電源を共有しなくてもよい。更に、電子処理ユニットにそれぞれ供給される電圧は、異なって制御されてもよい及び／又は異なる電圧制御ユニットにより制御されてもよい。
【００３３】
エラー検出ユニット５は、複数の異なる方法で電子処理装置２からの出力のエラーを検出するように構成可能である。エラー検出ユニットは、好適なエラー検出一貫性チェックを出力に対して実行することにより、出力におけるエラーを検出してもよい。エラー検出ユニットは、出力の分析を実行してもよく、分析には、異なる出力間の直接比較、出力のチェックサム間の直接比較が含まれてもよく、又は、エラー管理データを有する出力から計算された値の比較を含む、出力におけるエラー管理データの分析が含まれてもよい。
【００３４】
例えば、電子処理装置２が、システムデータに加えて、メモリ要素を有する場合には、メモリ要素は、例えば、メモリから読み出されたシステムデータにおけるエラーを検出可能とするエラー検出コードを含む、エラー管理データを格納してもよい。エラー管理データまた、システムデータにおけるエラーを修正可能としてもよい。エラー管理データは、これに限定されないが、エラー修正パリティコード（ＥＣＣパリティコード）を含む、任意の好適なエラー検出及び修正コードであってもよい。電子処理装置２が１以上のプロセッサを有する場合には、各プロセッサ上で同じタスクを実行してその出力を比較することにより、エラーを検出してもよい。これは、２つ以上の出力の直接比較であってもよいし、例えば、チェックサム値等の２つ以上の出力から計算された値の比較であってもよい。処理ユニットが同一の又は対応する情報を格納することを意図したメモリである場合には、エラー検出ユニットは、異なる処理ユニットからの出力又は出力のチェックサムを比較することにより、エラーを含む出力を特定することができる。電子処理装置２がプロセッサを１つのみ有する場合には、当該処理ユニットに計算を２回実行させて、２つの出力又は当該２つの出力から導出された値を比較して、出力におけるエラーを検出することができる。これに替えて、プロセッサを１つのみ有する電子処理装置の出力におけるエラーは、出力に実装されるエラー検出及び／又は訂正コードを使用して検出することができる。出力を調べるのにチェックサムが使用される場合には、チェックサムの計算はプロセッサ自身によって実行されてもよく、計算結果がエラー検出ユニット５に送られて検査される、又は、チェックサムの計算がエラー検出ユニットによって実行されてもよい。
【００３５】
制御装置４は、電子処理装置２の出力をスクリーニングして、エラー検出ユニット５でエラーが検出された場合には、エラー回復ユニットが出力を修正する。電子処理装置２が複数のプロセッサを有する場合には、複数のプロセッサの出力はメモリに書き込まれて、エラー回復ユニットがメモリに格納されたデータを修正してもよい。電子処理装置がメモリ要素を有する場合、メモリに格納されたデータは、プロセッサによってアクセスされてもよく、メモリ要素の出力がエラーを含む場合には、エラー回復ユニットは、メモリ要素に格納されたデータが修復され、必要であれば、プロセッサが更新されたデータ及び正しいデータを受信することを確かにする。電子処理装置の出力は、それが、プロセッサ又はメモリからの出力であるかに関わらず、並行して、メモリ又はプロセッサである出力の受信ユニット及び制御装置に伝達されてもよい。この場合、エラーが検出されると、受信ユニットは最初に正しくないデータを受信していた可能性があるので、当該データが正しくないデータである場合、元々受信したデータを更新した正しいデータで置き換える。受信ユニットがプロセッサである場合、正しくないデータに基づく任意の処理タスクを繰り返す必要がある場合がある。修正されたデータを、プロセッサ又は電子処理装置のメモリ要素、又は、制御装置から受信してもよい。これに替えて、制御装置は、電子処理装置の処理ユニットの出力が受信ユニットに供給される前に、当該出力をチェックすることができる。より詳細には、制御装置は、プロセッサの出力がメモリに格納される前に、プロセッサの出力をチェックすることができる。更に、制御装置は、出力がプロセッサに供給される前に、プロセッサがデータにアクセスを試みることによって生じるメモリの出力をチェックすることができる。
【００３６】
図１のシステムは、例えば、衛星のような宇宙探査機で使用されてもよい。しかしながら、制御装置４は、電子処理装置２に供給される電圧を制御する任意のデバイスで使用可能なことは明らかである。更に、図１の制御装置は、エラー回復ユニット７を含むように記載されているが、制御装置４は必ずしも、任意のエラーを修正するように構成されていなくてもよい。例えば、システムは頻度の低いエラーを扱うように設定されていてもよい、及び／又は、エラーが稀に発生するように電圧が保守的に低く設定される適応電圧調整が設定されてもよい。
【００３７】
図２及び図３には、２つの別個のプロセッサ及び２つのメモリ要素にそれぞれ供給される電圧を制御する目的で、図１で説明したコンセプトを実装する形態が示されている。図２のシステム１ａは、電子処理装置２ａ、電源３ａ及び制御装置４ａを備える。電子処理装置は、通常の動作の間に、同一の電子処理タスクを並行して実行するべく提供された２つのデジタル信号プロセッサ（ＤＳＰ）８ｉ及び８ｉｉを備える。プロセッサは、複数のタスクを異なるように実行してもよいが、同じ出力を提供するように構成されてもよい。２つのＤＳＰは、電源３ａから電力の供給を受ける。更に、図２に示すように、制御装置は、２つのＤＳＰから出力を受信する。制御装置は、エラー検出回路５ａ、電圧制御装置６ａ及びエラー回復回路７ａを有する。
【００３８】
宇宙探査機の通信システムでは、探査機のプロセッサはそれぞれ、典型的には、信頼性を高めるために同じタスクを実行する冗長プロセッサを備える。図２のシステムでは、以下に詳細に説明するが、この冗長性を利用してエラーの検出を可能にする。しかしながら、制御装置４ａは、同じ処理タスクを実行する２つのプロセッサが使用される任意のシステムで使用可能である。
【００３９】
ＤＳＰ８ｉ及び８ｉｉは、その他のシステムからの入力を受信可能である。同じ命令が、両方のＤＳＰに供給されてもよい。これに替えて、２つのＤＳＰが実行すべきタスクに関して当該ＤＳＰに供給される命令は、例えば、順番が異なっていてもよい。ＤＳＰは、命令に基づいて処理タスクを実行し、メモリ（図２では図示せず）又はその他の好適な受信ユニット、及び、制御装置４ａの両方に結果が供給される。図２のエラー検出回路５ａは、２つの出力を比較することにより２つのＤＳＰの出力におけるエラーを検出し、両方のＤＳＰの出力が一致しない場合には両方のＤＳＰの出力がエラーを含むと見なされる。出力をチェックした後に、エラー検出回路５ａは、エラー回復回路７ａ及び電圧制御装置６ａと通信を行って、出力がエラーを含むとして検出されたか否かを伝達する。電圧制御装置は、受信したエラーについての情報を分析して、図１を参照して説明したように、ＤＳＰ８ｉ及び８ｉｉに供給される電圧を変化させるべきか及びどのように変化させるかを決定する。電圧調整の程度は、プロセッサ応じて決定されてもよい。電圧制御装置が、例えば、エラー率の計算のようなエラー特性の総合的な分析を実行する場合、電圧制御装置は、新規の情報に基づいて前の分析を更新してもよい。電源電圧が低いほど、出力におけるエラー率は高くなる。多数のエラーが検出される場合には、電圧制御装置は、電圧を適切な量分、増大させる。反対に、エラーが検出されない場合又はエラーが検出される頻度が非常に少ない場合には、制御装置は電圧を下げてもよい。
【００４０】
システム１ａは、同じ計算を繰り返す必要が生じた場合に計算を簡易にするべく、処理オペレーション各々の前に、ＤＳＰ８ｉ及び８ｉｉの状態の記録を維持する。エラーが検出された場合には、エラー回復回路７ａは、ＤＳＰに計算を繰り返し実行させて、エラー検出回路５ａによって伝達される次の情報に応答する。ＤＳＰは、各処理オペレーションの前にＤＳＰの状態の記録を維持するチェックポイント機能を有してもよい。この機能は、ソフトウェアに実装されてもよく、例えば、ＤＳＰのオペレーティングシステムを変更することにより実装されてもよい。これに替えて、エラー回復回路は、処理オペレーション各々の前に、ＤＳＰの状態の記録を維持してもよい。
【００４１】
ＤＳＰ８ｉ及び８ｉｉは、エラー検出回路５ａがＤＳＰ出力にエラーが含まれることを発見するまで、計算を繰り返す。エラーが含まれる出力がメモリに書き込まれた場合には、エラー回復プロセスによってＤＳＰに、メモリ内のエラーが含まれるデータを上書きさせる。このようにして、閉ループの態様で、最終的な出力エラーを起こさずに、目的の低消費電力へと電源電圧が変更される。同様な処理タスクを２回繰り返した後であってもＤＳＰ８ｉ及び８ｉｉの出力がエラーを含むと検出される場合には、ＤＳＰ８ｉ及び８ｉｉは制御装置４ａにより強制的にリブートされてもよい。更に、例えば、同じ処理タスクを３回繰り返した後であってもＤＳＰ８ｉ及び８ｉｉの出力がエラーを含むと検出される場合には、ＤＳＰ８ｉ及び８ｉｉの電源を一旦ＯＦＦにして、その後再びＯＮとされてもよい。
【００４２】
図２に示したシステムが、テキサス・インスツルメンツ（登録商標）社のＣ６７１３  ＤＳＰプロセッサを２つ使用して、別個のＣ６７１３  ＤＳＫ評価基板上に実装された。評価基板は、高速フーリエ変換及びビットレベルデータ圧縮アルゴリズムを並行して実行するべく実行された。２つのプロセッサの出力のチェックサムの比較を行い、チェックサムが互いに一致するか否かに基づいてプロセッサへの電源電圧が制御された。最大動作クロック周波数では、通常のプロセッサ動作電力と比較して、３３％消費電力を削減させることができることが分かった。最大クロック速度の半分で動作する場合、消費電力を７１％削減できることが分かった。これは、クロック速度を低減させた場合に標準的に期待できる５０％の削減を上回る。
【００４３】
上記の２つのプロセッサに供給される電圧の適応的制御の仕方の説明は一例である。上記では、図２のエラー検出回路５ａが、２つのＤＳＰ８ｉ及び８ｉｉの出力を比較することによってエラーを検出するように説明されたが、これに替えて、エラー検出回路は、例えば、チェックサム値のような、出力から計算された値を比較することにより、２つのＤＳＰの出力におけるエラーを検出してもよい。出力を調べるのにチェックサムが使用される場合には、チェックサム値の計算は、ＤＳＰ自身によって実行されてもよく、計算結果がエラー検出回路に送られて検査される、又は、チェックサムの計算がエラー検出回路によって実行されてもよい。ＤＳＰがメモリ又は別の受信ユニットに、そして制御装置に並行して書き込む替わりに、ＤＳＰは、制御装置を介して間接的にメモリ又はその他の受信ユニットに書き込みを行ってもよい。そしてＤＳＰの出力が分析されて、１以上の受信ユニットに供給される前に、制御装置で修正される。
【００４４】
出力のうちの１つ又は両方がエラーを含むとして検出されたか否かに関わらずエラー検出回路５ａが電圧制御装置６ａ及びエラー回復回路７ａに伝達した構成とは異なり、エラー検出回路は、エラーが検出された場合にのみ電圧制御装置及び／又はエラー回復回路に情報を伝達してもよい。この場合、一定期間にエラー検出回路から通信を受信しない場合には、エラーが検出されなかった信号であると解釈されてもよい。
【００４５】
図２において、ＤＳＰ８ｉ及び８ｉｉが同じ電源３ａを共有している。これに替えて、ＤＳＰは、同じ電源を共有しなくてもよい。各ＤＳＰに供給される電圧は、異なる電圧制御装置によって及び／又は異なるように制御されてもよい。ＤＳＰそれぞれに供給される電力を個別に最適化することが可能となり、電子処理装置の消費電力を更に最適化することができる。図２には、ＤＳＰ８ｉ及び８ｉｉが示されているが、制御装置４を使用してアナログプロセッサを制御してもよい。
【００４６】
図３に示すように、図３のシステム１ｂも、電子処理装置２ｂ、電源３ｂ及び制御装置４ｂを備える。図３の電子処理装置２ｂは、２つのランダムアクセスメモリ（ＲＡＭ）装置９ｉ及び９ｉｉを有し、各メモリは、メモリから読み出されたデータのエラーを検出及び修正可能とするパリティ機能を有する。この機能は、メモリ装置に書き込まれたシステムデータと共にエラー修正パリティコード（ＥＣＣパリティコード）を格納することに依存している。図４を参照して以下に詳細に説明するように、各ＲＡＭ装置は、システムデータ及びエラーを検出及び修正するためのコードを共に格納する２つの要素を有してもよい。これに替えて、ＲＡＭ装置はそれぞれ、システムデータ及び修正コードの両方を格納する１つの要素であってもよい。各要素は、例えば、モジュール又は独立した集積回路であってもよい。両方のＲＡＭについて同様のオペレーションを伴うＲＡＭに格納されるデータについて、図３に示したシステム１ｂのオペレーションを参照して以下に詳細に説明する。図３では、複数のＲＡＭが、同じ入力を受信するように示されている。入力は、１つのプロセッサから出力されたメモリアクセス要求であってもよい。これに替えて、複数のプロセッサが対応する同一のタスクを実行し対応するＲＡＭから同一のデータを読み出し同一のデータを書き込む場合には、複数のＲＡＭは、これら複数のプロセッサから個別にアクセスされてもよい。複数のプロセッサは、複数のＲＡＭに並行して書き込み及び読み出しを実行してもよい。ＲＡＭから読み出され、制御装置４ｂによってチェックされた最終的な出力値は、ＲＡＭから直接又は制御装置を介して、両方のプロセッサに戻される。制御装置４ｂは、エラー検出回路５ｂ、電圧制御装置６ｂ及びエラー回復回路７ｂを有する。電子処理装置２ｂは、電源３ｂから電力の供給を受ける。制御装置４ｂは、２つのＲＡＭから出力を受信する。
【００４７】
一例として、１以上のプロセッサがＲＡＭ９ｉ、９ｉｉに格納されたデータを読み出す場合、読み出されたデータは、１以上のプロセッサ（図３では図示せず）及び制御装置４ｂに並行して供給される。図３のエラー検出回路５ｂは、ＥＣＣパリティコードのエラー検出特性を使用して、２つのＲＡＭ９ｉ及び９ｉｉの各々の出力におけるエラーをチェックする。ＥＣＣパリティコードを含むパリティコードの生成及び使用は、当分野ではよく知られており、本明細書ではその詳細について説明しない。簡単に説明すると、エラー検出回路は、出力におけるシステムデータからパリティデータを計算して、これを出力で受信したパリティコードと比較してもよい。比較の結果、両者が同一でない場合、エラー検出回路は出力にエラーが存在すると判断してもよい。エラーを含むＲＡＭ出力は、ＲＡＭに格納されたデータのエラーの結果生じたか、ＲＡＭから読み出された時データが破損した結果生じたことが考えられる。
【００４８】
図３のシステムでは、ＲＡＭの出力をチェックした後、エラー検出回路は、エラー回復回路７ｂ及び電圧制御装置６ｂに対して、ＲＡＭ出力及びＲＡＭ出力の一方又は両方がエラーであると検出されたかに関する情報を出力する。図１及び図２を参照して説明したシステム１及び１ａでは、電圧制御装置６ｂがこの通信に応答して、エラー情報を分析して、ＲＡＭ９ｉ及び９ｉｉに供給される電圧を変化させるか否か及びどのように変化させるかを決定する。電圧制御装置が、エラー特性の総合的な分析を実行する場合、新規の情報に基づいて前の分析を更新してもよい。電源電圧が低いほど、電子処理装置の出力におけるエラーの発生率は高くなる。多数のエラーが検出される場合には、電圧制御装置は、電圧を適切な量分、増大させる。反対に、検出されるエラーが少なすぎる場合には、電圧を減少させる。上記で述べたように、分析では、エラーが検出される場合には、固定量分、電圧を増加させること、及び、所定の期間が経過した後もエラーが検出されなかった場合には、固定量分、電圧を減少させることを伴う。電源電圧は、主に正しい動作が維持されると同時に、時々エラーが発生するような最低限の電圧に維持されてもよい。
【００４９】
エラーが検出された場合には、エラー回復回路７ｂが、エラーの性質に応じて２つの方法のうちの一方でエラー検出回路５ｂによって伝達された情報に応答する。ＥＣＣパリティコードを使用してエラーを修正可能である場合、エラー回復回路は、この方法による出力の修正を行う。そして、修正された値を使用して、制御装置４ｂは、エラーを含む出力に関するＲＡＭに格納されたデータを上書き（スクラブ）する。エラーが、ＥＣＣパリティコードのエラー修正能力を超え、複数のＲＡＭのうちの１つのみの出力をエラーであると発見した場合には、エラー回復回路は、制御装置に、エラーでないＲＡＭの出力から正しいデータを使用して、エラーを含むＲＡＭ出力に関するＲＡＭに格納されたデータを上書きする。そして、制御装置は、以前にメモリから読み出された値は間違っていることをプロセッサに知らせ、プロセッサは、メモリから正しい値を再読み込みする適切な動作を実行する。一例において、プロセッサで実行されるソフトウェアは、以前の値が間違っていることを示す制御装置からの情報に応答して、メモリを再度読み出すように構成されてもよい。プロセッサが既に正しくないデータの使用を開始している場合には、それを破棄して再度開始する。ある実装形態では、制御装置はエラーを検出すると直ちに、プロセッサに、正しくないデータに基づくタスクの処理を停止するように通知を行う。別の実装形態では、制御装置がエラーを確認すると、プロセッサに、メモリに格納されたデータが正しくないということのみを通知する。このようにして、制御装置４ｂは、ＲＡＭ９ｉ及び９ｉｉを、最終的な出力における正確性を損なうことがないような限界に非常に近いところで動作させることにより、非常に低い電力での動作を可能とする。
【００５０】
宇宙探査機に搭載されるプロセッサで多く見られるように、プロセッサには冗長並行プロセッサが含まれ、プロセッサの各々がキャッシュパリティＲＡＭを有するシステムの場合、図３のシステムを採用して、キャッシュパリティＲＡＭの各々に供給される電圧を低減させることができる。
【００５１】
図３を参照して説明したメモリ要素の電圧を適応的に変化させるプロセスは一例に過ぎず、変形例が考えられる。メモリ要素が上記では、パリティＲＡＭメモリ要素として説明されたが、図３のシステム１ｂは、ＲＡＭの特定の種類に限定されず、例えば、ＤＲＡＭ、ＳＤＲＡＭ又はＳＲＡＭを含むことができる。パリティＲＡＭで使用されるＥＣＣパリティコードは、例えば、ハミングコード（Hamming code）又はＭＤＰＣ（multidimensional parity-check code）であってもよい。これに替えて、それぞれがＥＣＣパリティコードを実装する２つのメモリ装置を備える構成とは異なり、電子処理装置２ｂが２つのＥＣＣメモリユニットを備えてもよい。
【００５２】
メモリ要素が、プロセッサ及び制御装置に並行して出力を提供する替わりに、任意の出力がプロセッサに供給される前に制御装置においてチェック及び修正されてもよい。
【００５３】
また、図３では、ＲＡＭ９ｉ及び９ｉｉが同じ電源３ｂを共有している。これに替えて、パリティＲＡＭ９ｉ及び９ｉｉは、同じ電源を共有しなくてもよい。パリティＲＡＭの各々に供給される電圧は、異なる態様で制御されてもよい及び／又は異なる電圧制御装置によって制御されてもよい。ＲＡＭの各々に供給される電力を独立して最適化可能とすることにより、電子処理装置２ｂの消費電力を更に最適化することができる。
【００５４】
出力の両方又は一方にエラーが含まれることが検出されてもされなくても電圧制御装置６ｂ及びエラー回復回路７ｂに通知するエラー検出回路５ｂとは異なり、エラーが検出された場合にのみ、電圧制御装置及び／又はエラー回復回路に通知を行ってもよい。この場合、一定期間にエラー検出回路から通信を受信しない場合には、エラーが検出されなかった信号であると解釈されてもよい。
【００５５】
図３には、２つのＲＡＭ９ｉ及び９ｉｉを備えるように記載されているが、システムは、１つのＲＡＭに供給される電圧を制御可能であり、１つのＲＡＭのエラーを修正可能であってもよい。エラー修正コード又はその他の代替手段によってエラーが修正可能である限り、正しい出力を回復可能であり、別のＲＡＭから正しいデータを取得する必要はない。
【００５６】
図４には、プロセッサ及びメモリの両方に供給される電圧を制御するためのシステムの特定の実装例が示されている。システム１ｃは、第１ＤＳＰ１０ｉ及び第２ＤＳＰ１０ｉｉ、第１ＤＳＰ電源１１ｉ及び第２ＤＳＰ電源１１ｉｉ、第１及び第２ＤＳＰのための第１一次ＳＤＲＡＭ（synchronous dynamic random-access-memory）１２ｉ及び第２一次ＳＤＲＡＭ１２ｉｉ、第１及び第２ＤＳＰのための第１パリティＳＤＲＡＭ１３ｉ及び第２パリティＳＤＲＡＭ１３ｉｉ、及び、第１ＳＤＲＡＭ電源１４ｉ及び第２ＳＤＲＡＭ電源１４ｉｉを備える。システムはまた、共に制御装置又は制御構成を形成する第１制御回路１５ｉ及び第２制御回路１５ｉｉを備える。回路をそれぞれ、制御装置又は制御構成と見なすこともできる。第１ＤＳＰ１０ｉ及び第２ＤＳＰ１０ｉｉ、第１一次ＳＤＲＡＭ１３ｉ及び第２一次ＳＤＲＡＭ１３ｉｉ、並びに、第１パリティＳＤＲＡＭ１４ｉ及び第２パリティ14ｉｉは共に、図１のシステム１の電子処理装置２に対応している。そして、制御構成１５ｉ及び１５ｉは共に又はそれ自体で、図１のシステム１の制御装置４に対応していると見なすことができる。第１ＤＳＰ１０ｉ及び第２ＤＳＰ１０ｉｉはそれぞれ、第１ＤＳＰ電源１１ｉ及び第２ＤＳＰ電源１１ｉｉからそれぞれ電力の供給を受ける。第１一次ＳＤＲＡＭユニット１２ｉ及び第１パリティＳＤＲＡＭユニット１３ｉ、並びに、第２一次ＳＤＲＡＭユニット１２ｉｉ及び第１パリティＳＤＲＡＭユニット１３ｉｉは、それぞれ第１ＳＤＲＡＭ電源１４ｉ及び第２ＳＤＲＡＭ電源１４ｉｉから電力の供給を受ける。第１制御回路１５ｉ及び第２制御回路１５ｉｉはそれぞれ、第１ＤＳＰ１０ｉ及び第２ＤＳＰ１０ｉｉ、第ＤＳＰ電源１１ｉ及び１１ｉｉ、一次ＳＤＲＡＭ、パリティＳＤＲＡＭ及びＳＤＲＡＭ電源に接続される。第１一次ＳＤＲＡＭ１２ｉ及び第２一次ＳＤＲＡＭ１２ｉｉはそれぞれ、第１ＤＳＰ１０ｉ、第２ＤＳＰ１０ｉｉに接続される。第１パリティＳＤＲＡＭ１３ｉ及び第２パリティＳＤＲＡＭ１３ｉｉは、制御装置１５ｉ及び１５ｉｉを介して第１ＤＳＰ１０ｉ及び第２ＤＳＰ１０ｉｉに接続される。しかしながら、これらは直接、第１ＤＳＰ１０ｉ及び第２ＤＳＰ１０ｉｉに接続可能である。
【００５７】
第１パリティＳＤＲＡＭ１３ｉ及び第２パリティＳＤＲＡＭ１３ｉｉは、第１一次ＳＤＲＡＭ１２ｉ及び第２一次ＳＤＲＡＭ１２ｉｉに関し一次ＳＤＲＡＭ情報の再構築のための情報を含むＥＣＣパリティコードをそれぞれ含む。使用されるＥＣＣパリティコードは、単一誤り修正コード及び二重誤り検出コード、例えば、ハミングコードである。システム情報及びパリティ情報が共に読み出された時に、システム情報における１つのビットが不正確である場合に、パリティ情報がシステム情報を再構築可能な程度に十分であるような態様で、パリティビットが、一次ＳＤＲＡＭ１２ｉ及び１２ｉｉに書き込まれたシステム情報から計算される。パリティ情報におけるデータのみでは、関係するシステム情報を既定するのに十分でない。パリティ情報のみの１つのビットが不正確である場合、システム情報使用してこのビットを修正することができる。一次情報及び／又はパリティ情報にわたる任意の２つのビットが不正確である場合、出力は正しくないと特定されるが、エラービットが特定できないことから、これらを直接修正することができない。システムの他方のプロセッサに対する一次ＲＡＭ又はパリティＲＡＭの出力を使用して、エラーを修正する必要がある。任意のビットエラーが存在しない場合、又は、一度だけビットエラーが修正された場合、任意の必要な処理又は出力に対して一次情報が使用される。
【００５８】
第１制御回路１５ｉ及び第２制御回路１５ｉｉは、エラーを検出及び修正して、電圧を制御するようプログラムされたフィールドプログラマブルゲートアレイ（ＦＰＧＡ）である。これら回路は、図１を参照して説明したエラー検出ユニット、エラー回復ユニット及び電圧制御ユニット、又は、図２及び図３を参照して説明したエラー検出ユニット、エラー回復ユニット及び電圧制御ユニットの機能にそれぞれ対応する機能を提供する。ＦＰＧＡはまた、メモリ管理機能（ＭＭＵ）１６ｉ及び１６ｉｉを含む。ＦＰＧＡは、第１ＤＳＰからの出力と第２ＤＳＰからの出力とを比較して、エラー検出修正コードのようなエラー管理データに基づいて、エラーを検出及び修正する。ＦＰＧＡは、ＤＳＰからの出力についてチェックサムを計算するように構成されてもよい。ＦＰＧＡは、パリティＳＤＲＡＭに格納を行うべく、エラー検出修正コードを生成するようプログラムされてもよい。ＦＰＧＡは、エラー検出修正コード（ＥＤＡＣ）の使用をサポートする別個の回路１７ｉ及び１７ｉｉを含んでもよい。ＦＰＧＡは、電圧管理機能を提供する別個の回路１８ｉ及び１８ｉｉを含んでもよい。ＤＳＰによって供給される電圧及びＳＤＲＡＭ電源を独立して変化させるのに、電圧管理機能が使用される。ＤＳＰは、それぞれのＦＰＧＡを介して別のシステムから入力を受信することができる。ＦＰＧＡは、外部のシステムから入力を受信してもよく、更に、これらの入力によりＦＰＧＡが制御又は再設定されてもよい。
【００５９】
第１ＤＳＰ１０ｉ、第１ＤＳＰ電源１１ｉ、第１一次ＳＤＲＡＭ１２ｉ、第１パリティＳＤＲＡＭ１３ｉ、第１ＳＤＲＡＭ電源１４ｉ及び第１制御システム１５ｉは、マスタシステムとして指定されるシステムを備える。第２ＤＳＰ１０ｉｉ、第２ＤＳＰ電源１１ｉｉ、第２一次ＳＤＲＡＭ１２ｉｉ、第２パリティＳＤＲＡＭ１３ｉｉ、第２ＳＤＲＡＭ電源１４ｉｉ及び第２制御システム１５ｉｉは、スレーブシステムとして指定されるシステムを備える。マスタシステム及びスレーブシステムは、それぞれのＦＰＧＡを介して接続される。ある処理システムで必要とされるように、一次プロセッサ及びメモリで誤作動が起きるのに備えて、スレーブは、冗長プロセッサ及び冗長メモリを提供してもよい。図３のシステムは、ＤＳＰ各々に供給される電力、及び、一次ＳＤＲＡＭ及びパリティＳＤＲＡＭの各組に供給される電力の、独立した閉ループのエラーに依存する制御を組み込む。
【００６０】
第１ＤＳＰ１０ｉ及び第２ＤＳＰ１０ｉｉは、実質的に同じ処理タスクを並行して実行して、それぞれの一次ＳＤＲＡＭ１２ｉ及び１２ｉｉに出力する。ＤＳＰはそれぞれ、必要に応じて、同じ計算の繰り返しを簡易にするべく、各処理動作の前にＤＳＰの状態の記録を維持するチェックポイント機能を含む。
【００６１】
第１ＦＰＧＡ１５ｉ及び第２ＦＰＧＡ１５ｉｉは、それぞれ第１一次ＳＤＲＡＭ１２ｉ及び第２一次ＳＤＲＡＭ１２ｉｉに対するＤＳＰ１０ｉ及びＤＳＰ１０ｉｉの出力を受信し、ＦＰＧＡはそれぞれ、受信した出力に対してチェックサム計算を実行する。そして、スレーブＦＰＧＡ１５ｉｉは、チェックサム値をマスタＦＰＧＡ１５ｉに出力して、マスタＦＰＧＡはこれらの値を比較して、比較結果をスレーブＦＰＧＡに戻す。チェックサム値が一致しない場合には、両ＤＳＰの出力はエラーであると考えられる。
【００６２】
そして、ＦＰＧＡはそれぞれ、電圧管理回路１８ｉ、１８ｉｉを使用して、ＤＳＰの出力のエラーの特性の分析を更新する。分析結果に応じて、ＦＰＧＡはそれぞれ、ＤＳＰへの電源電圧を変化させるか否か、及び、どのように変化させるかを決定する。ＤＳＰに供給される電圧が低いほど、出力におけるエラー率は高くなる。ＤＳＰの出力において検出されるエラーが多すぎる場合には、ＦＰＧＡは、電源に、ＤＳＰに供給される電圧を増大させるように命令し、反対に、検出されるエラーが少なすぎる場合には、電圧を減少させる。電圧は、固定量分、増大又は減少されてもよいし、エラー特性の分析によって決定された量分、増大又は減少されてもよい。エラーが検出された場合には、ＦＰＧＡ１５ｉ及び１５ｉｉは、それぞれのＤＳＰを計算を繰り返すようにトリガする。ＦＰＧＡは、それぞれのＤＳＰをトリガして、ＳＤＲＡＭに渡されたエラーを含むデータを新規の値で上書きしてもよい。このプロセスは、２つのＤＳＰ１０ｉ及び１０ｉｉからの出力のチェックサム値が同じであると検出されるまで繰り返される。この時、パリティアルゴリズムを実装した後で、ＦＰＧＡはそれぞれ、一次ＳＤＲＡＭに書き込まれた情報に関する適切なパリティ情報を、それぞれのパリティＳＤＲＡＭに書き込む。
【００６３】
このようにして、ＤＳＰ１０ｉ及び１０ｉｉに対する電源電圧を閉ループの態様で変化させることができ、一次ＳＤＲＡＭ１２ｉ及び１２ｉｉ並びにパリティＳＤＲＡＭ１３ｉ及び１３ｉｉに書き込まれたエラーを含むデータを残すことなく、可能な限りの低消費電力を目指すことができる。
【００６４】
通常動作の間にＲＡＭからＤＳＰへとデータが要求される時、一次ＳＤＲＡＭ１２ｉ及び１２ｉｉからＦＰＧＡ１５ｉ及び１５ｉｉによってそれぞれデータが供給され、要求された一次ＳＤＲＡＭデータに関するパリティＳＤＲＡＭ１３ｉ及び１３ｉｉついての関連情報も供給される。両方のＦＰＧＡは、読み出された情報についてＥＤＡＣコードを使用して、エラーについてチェックを行う。そして、ＦＰＧＡ１５ｉ及び１５ｉｉはそれぞれ、一次ＳＤＲＡＭ出力及びパリティＳＤＲＡＭ出力のエラー特性の分析を更新する。分析結果に応じて、ＦＰＧＡはそれぞれ、一次ＳＤＲＡＭ１２ｉ及び１２ｉｉ並びに一次ＳＤＲＡＭ１３ｉ及び１３ｉｉに供給される電圧を変化させるか否か及びどのように変化させるかを決定する。ＲＡＭに供給される電圧が低いほど、出力におけるエラー率は高くなる。一次ＳＤＲＡＭ及びパリティＳＤＲＡＭの対の出力において検出されるエラーが多すぎる場合には、ＦＰＧＡは、電源に、一次ＳＤＲＡＭ及びパリティＳＤＲＡＭの対に供給される電圧を増大させるように命令し、反対に、検出されるエラーが少なすぎる場合には、電圧を減少させる。反対に、エラーが非常に稀に発生する場合には、ＦＰＧＡは、一次ＳＤＲＡＭ及びパリティＳＤＲＡＭの対に供給される電圧を減少させる。
【００６５】
ＦＰＧＡ１５ｉ及び１５ｉｉは、ＲＡＭ出力に許容される数のエラーが発生するレベルに電圧が収束するまで、それぞれの一次ＳＤＲＡＭ及びパリティＳＤＲＡＭの対に供給する電圧を独立して減少及び増加させてもよい。例えば、一次及びパリティＳＤＲＡＭ及びＤＳＰに供給される電圧は、システム１ｃ全体のエラー率が許容されるレベルに維持されるように制御されてもよい。
【００６６】
エラーを含むＲＡＭ出力は、ＲＡＭに格納されたデータのエラーの結果生じたか、ＲＡＭから読み出された時データが破損した結果生じたことが考えられる。図３を参照して上記したように、一次ＳＤＲＡＭとパリティＳＤＲＡＭの対から読み出された情報にエラーが検出された場合には、それぞれのＦＰＧＡは、エラーの性質に応じて２つの方法のうちの一方で応答する。エラーが、１つのビットであり、エラー修正パリティコード（ＥＣＣパリティコード）を使用して修正可能な場合、ＦＰＧＡが修正を実行する。そして、ＦＰＧＡは、エラーを含む出力に関する格納された一次及びパリティＳＤＲＡＭデータを、修正された値で上書きして、ＤＳＰを介して書き戻す。エラーが、ＥＣＣパリティコードのエラー修正能力を超える場合であって、プライマリＳＤＲＡＭ及びパリティＳＤＲＡＭの複数の対のうちの１つのみの出力にエラーが発見された場合には、エラーを含むデータを有するＦＰＧＡは、ＤＳＰに、他方のＤＳＰのＳＤＲＡＭから正しいデータを読み出させ、この正しいデータを使用して、エラーを含む出力に関する格納された一次及びパリティＳＤＲＡＭデータを、正しい値で上書きする。ＤＳＰは、別のＤＳＰのＳＤＲＡＭから正しいデータを取得するべく、ソフトウェアレベルにおいて現在実行している処理を一時中断して他方のＤＳＰと通信を行ってもよく、その後で、取得したデータを、エラーを含む出力を生成したＳＤＲＡＭの対に直接書き込んでもよい。このようにすることで、最終的な出力の正確性を失うことなく又はエラーを含むデータを格納した状態にすることなく、ＳＤＲＡＭをエラーが発生する限界に非常に近いレベルで動作させることにより、ＳＤＲＡＭの対の動作電力を非常に低く設定することができる。
【００６７】
上記の図４のシステム１ｃの説明において、ＦＰＧＡ１５ｉ及び１５ｉｉは、それぞれのＤＳＰ１０ｉ及び１０ｉｉから受信した出力に対するチェックサム計算を実行するとして説明された。これに替えて、ＤＳＰ自身が、ＦＰＧＡにチェックム値を出力する前に、チェックサム値の計算を実行してもよい。ＤＳＰ出力の各々についてのチェックサム値の比較は、上記では、マスタＦＰＧＡ１５ｉで説明されたように行われた。これに替えて、マスタＦＰＧＡのチェックサム値は、スレーブＦＰＧＡのチェックサム値のとの比較のために、スレーブＦＰＧＡ１５ｉｉにルートされてもよい。また、２つのＦＰＧＡの間でチェックサム値が交換されて、両方のＦＰＧＡによって比較が実行されてもよい。これにより、冗長性を提供できる又は比較のエラーチェックを可能とする。
【００６８】
上記では、ＤＳＰ１０ｉ及び１０ｉｉが、各処理動作の前に、ＤＳＰの状態の記録を一時するチェックポイント機能を有するとして説明した。この機能は、例えば、ＤＳＰのオペレーティングシステムを修正することによって、ソフトウェアに実装してもよい。これに替えて、ＦＰＧＡ１５ｉ及び１５ｉｉの各々は、必要となる同じ計算の繰り返しを簡易にするべく、各処理オペレーションの前に、ＤＳＰの状態の記録を維持してもよい。
【００６９】
図４のシステム１ｃの上記の説明において、２つのＤＳＰ１０ｉ及び１０ｉｉからの出力が正しいと判断された場合にのみ、それぞれのＦＰＧＡによってパリティＳＤＲＡＭ１３ｉ及び１３ｉｉに書き込みが行われた。これに替えて、ＤＳＰは、ＦＰＧＡからの入力なしに、ボード上でのパリティ生成を実装可能であってもよい。この場合、ＤＳＰ１０ｉ、１０ｉｉは、それぞれのパリティＳＤＲＡＭ１３ｉ、１３ｉｉ、並びに、それぞれのＳＤＲＡＭ１２ｉ、１２ｉｉ及びＦＰＧＡ１５ｉ、１５ｉｉにデータを書き込んでもよい。パリティＳＤＲＡＭ及び一次ＳＤＲＡＭでのエラーを含むデータは、ＤＳＰがエラーを含む出力値を提供した処理タスクを繰り返すように命令された時に、上書きされる。
【００７０】
上記の説明では、一次ＳＤＲＡＭとパリティＳＤＲＡＭとの対が読み出すデータにおけるエラーが、ＥＣＣパリティコードのエラー修正能力を超え、一次ＳＤＲＡＭとパリティＳＤＲＡＭとの複数の対のうちの１つのみの出力にエラーが含まれると分かった場合には、ＦＰＧＡは、エラーを含むデータをＤＳＰへ通知して、他方のＤＳＰを介してそのＤＳＰのＳＤＲＡＭから正しいデータを読み出す。しかしながら、別の実施形態では、エラーを含む出力を生成したＳＤＲＡＭに属するＦＰＧＡは、これに変えて、他方のＦＰＧＡを介して別のＦＰＧＡと関連付けられたＳＤＲＡＭから正しいデータを読み出してもよい。
【００７１】
上記したように、衛星通信システムのような、宇宙探査機通信システムでは、通常、プロセッサは、バックアップを提供することにより信頼性を高めるべく、同じタスクを実行する冗長プロセッサを備える。多くの場合、宇宙探査機のプロセッサは、それぞれのＲＡＭ又はパリティＲＡＭと連動して動作する。構成要素の冗長性を利用することによってエラーを検出可能な態様で、宇宙探査機電子処理装置に供給される電圧を制御するのに、図４のシステム１ｃが採用されてもよい。
【００７２】
図５には、図２のシステム１ａが、電離放射環境Ａに実装される場合が示されている。図５のシステム１ａの構成要素において、図２のシステム１ａ内の同様な構成要素については、同様な参照番号及び部材名が使用される。電離放射Ａの存在及び影響に関係なく、図５のシステムは、上記した図２のシステムと同様に動作する。図５のシステムは、閉ループの態様で、最終的な出力にエラーを発生させることなく、可能な限り低い電力消費を狙って、電子処理装置２ａが必要とする電源電圧を変化させる。
【００７３】
例えば、現代のＣＰＵにおけるプロセッサのような電子プロセッサは、電離放射環境に晒されると、シングルイベントラッチアップが発生する可能性がある。このようなイベントは、プロセッサにとって負荷が大きく、機能が停止する可能性がある。図５の処理装置２ａは、通常動作電圧の範囲の電圧が供給される場合であって電離放射環境に晒されるとシングルイベントラッチアップの影響を受け易い２つのＤＳＰ８ｉ及び８ｉｉを備える。例えば、ＤＳＰは、商用で市販のプロセッサであってもよい。具体的な例として、プロセッサは、テキサス・インスツルメンツ（登録商標）社のＣ６７２７デジタル信号プロセッサ又はその他の同様なプロセッサであってもよく、宇宙環境での使用のために特別に改良されていない限り、シングルイベントラッチアップが発生しやすい。ＤＳＰ８ｉ及び８ｉｉに供給される電圧を低減させることにより、ＤＳＰの、シングルイベントラッチアップの発生リスクを低減させることができると考えられる。
【００７４】
プロセッサ集積回路の典型的なシリコン構造は、非常に近接したｎ−ｐ−ｎ及びｐ−ｎ−ｐトランジスタを含んでもよい。電離放射粒子は、このような２つのトランジスタの間に導電経路を作る場合がある。このようなシナリオでは、あるフィードバック状態が存在する場合、この導電経路は自続し、短絡してしまう可能性がある。これは対象のプロセッサに悪影響を及ぼし、ひいては、例えば、地球上で経験するよりも非常に大きな電離放射に晒される宇宙環境では大きな問題となりうる。
【００７５】
プロセッサに供給される電圧が特定の量よりも低い場合、"保持電圧"と称され、上記のようなフィードバック状態は存在せず、放射に暴露しても、電源電圧によってラッチアップ状態は維持されない。したがって、プロセッサデバイスのその他のパラメータの全てを維持すると同時にプロセッサの電源電圧を低減させると、プロセッサのシングルイベントラッチアップに対する脆弱性を低減させることができる。ＤＳＰ８ｉ及び８ｉｉに供給される電圧を適合的に、所定の保持電圧未満に維持及び制御すると同時に、任意のＤＳＰ出力エラーを修正するのに、制御装置４ａを使用することができる。放射種類及びデバイス温度のような環境要因の変化により、実際の保持電圧が変化する場合がある。制御装置は、環境に変化が生じる都度、保持電圧を再測定することにより環境の変化に対応してもよい。制御装置４ａは、シングルイベントラッチアップではなく、図２を参照して説明した"通常の"エラーに基づいて電圧を制御することにより、自動的に電圧を保持電圧未満に維持する。例えば、図２を参照して説明したように、所定の低いエラー率に対応する少ない数のエラーのみが発生するように、プロセッサに供給される電圧を制御するように、制御装置を操作することが考えられ、シングルイベントラッチアップの発生を回避するように電圧を十分低くしてもよい。
【００７６】
図５では、２つのプロセッサが示されているが、シングルイベントラッチアップへの脆弱性が少ない１つのプロセッサを含む電子処理装置を構成するのに制御装置が使用されてもよい。これに替えて又はこれに加えて、シングルイベントラッチアップに対する脆弱性を低減させるべく、ＲＡＭのようなメモリ要素に供給される電圧を制御するのに、プロセッサの制御、制御装置を使用してもよい。例えば、メモリ要素を含む電子処理装置への電圧を制御するための、図３を参照して説明された制御装置は、電子処理装置への電圧を低減させ、それにより、メモリ要素で発生するシングルイベントラッチアップのリスクを回避又は低減させることができる。エラー回復機能を有さずに実装される制御装置であっても、１以上のプロセッサ及び１以上のメモリ要素をシングルイベントラッチアップが発生しない電圧レベルで動作させるのに適していると考えられる。
【００７７】
図６は、システム１、１ａ、１ｂ及び１ｃによって実装される電子処理装置へ供給される電圧を低減させる一方法を示したフローチャートである。説明を簡易にするため、図１のシステム１で使用した参照番号が図６の説明でも使用されるが、方法は、図２、３、４及び５のシステムについても適用可能である。処理装置２の出力は先ず、段階６．１において制御装置４によって受信され、制御装置４は段階６．２において出力がエラーを含むか否かを判断する。図１〜５を参照して上記で説明したように、出力は、プロセッサの出力又はメモリ要素からの出力であってもよい。出力がプロセッサの出力である場合には、その出力と別のプロセッサの出力とを比較することによりエラーを検出してもよい。これに替えて、１つのプロセッサが同じ処理タスクを２度実行して、結果を比較してもよい。出力がメモリ要素の出力である場合、メモリ要素の出力内のエラー管理データをチェックすることにより、エラーを検出してもよい。段階６．３は、図１〜４を参照して上記で説明したエラー検出方法の何れも含むことができる。処理装置２の出力でエラーが検出された場合には、制御装置４によって段階６．３においてエラー回復が実装される。エラー回復では、図１〜５を参照して説明したエラー回復方法の何れかが実行されてもよく、プロセさの出力にエラーが発生した場合には処理タスクを再度実行するようプロセッサに命令すること、及び、メモリから読み出されたデータにエラーが存在する場合にはメモリに格納されたデータを修正することを含む。出力がプロセッサに供給された場合には、エラー回復では、受信した値を破棄して、正しい値を使用してエラーを含む値を使用した処理タスクを再実行するようにプロセッサに命令してもよい。プロセッサのエラーを含む出力がメモリに格納されている場合には、エラー回復では、プロセッサにメモリ内のエラーを含むデータを上書きするように命令してもよい。
【００７８】
制御装置４は、段階６．４において、電子処理装置２への電圧の調整が必要か否かを判断する。処理装置の出力にエラーが存在しない場合、方法は、段階６．４に移り、電圧調整が必要か否かを判断する。電圧を調整するか否かの判断は、電子処理装置出力のエラー特性の分析に基づいて行われる。エラーが発生した場合には、エラーの記録がつけられ、制御装置は直ぐに電圧を増大させる段階に移ってもよい。エラーが発生しなかった場合には、分析では、最後のエラーが発生してからどの位の時間が経過したかを判断してもよく、最後のエラーを検出してから経過した時間が所定の期間を超える場合には、電圧を低減させてもよい。これに替えて、段階６．４での判断を、平均エラー率の計算又は電圧を調整するか否かの判断を行ったその他の値に基づいて、行ってもよい。制御装置は、エラーが発生する都度又は出力がエラーを含むと発見された都度、電圧調整が必要か否かの判断を行わなくてもよい。例えば、電圧の調整を行うか否かについての判断を、例えば、一定間隔で行う等、所定の時間で行ってもよい。
【００７９】
制御装置が、電源電圧を変更するべきであると判断した場合には、段階６．５において、電源に電圧を調整するよう命令することを含めて、電圧を調整する。制御装置４は、調整を実行する前に、電圧をどのように調整するべきかを判断するべく、電子処理装置のエラー特性の分析を使用してもよい。ある実施形態では、調整の度合いは一定であり、調整で電圧を増加させるか減少させるかの判断はエラー特性の分析に基づいて行う。調整の度合いは、可変であってもよく、エラー特性の分析に基づいて決定される。例えば、エラー率が高い場合、制御装置は、エラー率が低い場合と比較して大きな量で電圧を増大させてもよい。これに続いて、又は、制御装置が電源電圧の調整が必要ないと判断した場合、プロセス全体が繰り返されて、制御装置は再び処理装置の次の出力を段階６．１で受信する。ある実装形態では、一連の出力値を並行してチェックすることができ、１つのエラー出力値のエラー回復も並行して制御装置により実行可能である。
【００８０】
図６を参照して説明した方法に対応する命令セットを、コンピュータプログラムの一部として格納することができ、制御装置は、方法が実行されるように命令を実行するよう構成されてもよい。
【００８１】
図６を参照して説明した方法は一例に過ぎず、様々な変形例が考えられる。例えば、エラーが存在する場合、電圧を調整するか否かの判断が実行され（段階６．４）、必要となる任意の電圧調整（段階６．５）は、エラーが修正される（段階６．３）前に実行されてもよい。更に、エラー回復を実行する段階６．３を含まないプロセスも考え得る。少数のエラーを扱うようにシステムが設定されてもよく、及び／又は、エラーの修正が別の場所で行われてもよく、この場合、制御装置は、エラー回復機能を備える必要がない。
【００８２】
本発明の特定の実施例について説明されたが、本発明の範囲は、添付の特許請求の範囲によって既定され、これら実施例に限定されない。したがって、本発明は、当業者にとって明らかな別の態様で実装可能である。
【００８３】
例えば、別個の電圧制御装置又は管理ユニットが、制御装置又はＦＰＧＡの一部分を構成するように説明がなされたが、電源が、電圧制御装置又は管理ユニットの機能を提供し、電圧を自身で調整するように構成されてもよい。更に、幾つかの実施形態では、エラー解析が電圧制御装置又は制御ユニットで実行されるように説明されたが、エラーの解析は、エラー検出回路又はユニット若しくは別の回路又はユニットで実行されてもよい。
【００８４】
更に、電圧が制御されるメモリユニットは、上記の実施形態ではＲＡＭであるとして説明されたが、任意の種類のメモリを使用することができる。また、図４のシステムで説明されたＳＤＲＡＭを、キャッシュＲＡＭに置き換えてもよい。更に、プロセッサは、電源電圧を低減させることができる任意の種類のプロセッサであってもよい。
【図１】
2013114685.tif 000003
【図２】
2013114685.tif 000004
【図３】
2013114685.tif 000005
【図４】
2013114685.tif 000006
【図５】
2013114685.tif 000007
【図６】
2013114685.tif 000008
【外国語明細書】
2013114685000001.pdf