説明

電圧制御

【課題】電子処理装置への電源電圧を最も効率の良い電力点で動作し、処理装置の出力の正確性を犠牲にすることなく、発生するエラーを修正することが可能な電圧制御方法を提供する。
【解決手段】プロセッサ又はメモリ要素を有する電子処理装置2への電源電圧を制御し電子処理装置の出力を受信する装置であって、当該装置は、電子処理装置の出力におけるエラーを検出するエラー検出手段5と、電子処理装置の出力において検出されたエラーの分析に基づいて、電子処理装置への電源電圧を適応的に変化させる手段6とを備える。装置は更に、電子処理装置の出力における検出されたエラーを修正する手段7を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子処理装置に供給される電圧の制御に関する。
【背景技術】
【0002】
電子処理装置の製造者が推奨する動作電圧は、多くの場合、誤作動を最小にするように選択される。典型的には、電源電圧が低くなるほど、電子処理装置の出力におけるエラーの発生率が高くなる。推奨動作電圧は通常、エラーが発生する電圧よりも十分高い電圧に設定される。これは、例えば、電源電圧のエラー、シリコン加工パラメータ、温度の影響、放射の影響及びトランジスタのエージングの影響等、複数の変化する可能性のある要因を考慮に入れるべく、製造者は電圧マージンを含めて設定するからである。
【0003】
システム精度を損なうことなく動作電圧を下げることを目的とした様々な電圧選択方法が知られている。システムを低い電圧で動作させることにより、システム全体の消費電力を低減させることができると考えられる。例えば、クロック速度に基づいて電圧を変化させる方法が知られている。プロセッサの動作状態に基づいて適切なプロセッサ電圧を計算する装置を使用する方法も知られており、計算されるプロセッサ電圧には、製造者によって実装される公称動作電圧と同様な安全マージンが含まれており、それに従ってプロセッサに供給される電圧が制御される。更に、プロセッサキャッシュを、キャッシュの出力にエラーを発生させる程度に低い固定電圧で動作させて、このエラー出力を修正するような電圧にする方法も知られている。他にも、プロセッサ内部の個々の部品に供給される電圧を制御可能に設計されたプロセッサが知られている。
【0004】
宇宙探査機に使用されるデータ処理システムでは、処理タスクを並行して実行するのに、一次処理要素と冗長処理要素とを使用するのが一般的である。システム全体の電力消費は、一次処理要素の消費電力と冗長処理要素の消費電力とを合わせたものとなる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記の点に関してなされたものである。
【課題を解決するための手段】
【0006】
本発明によれば、プロセッサ又はメモリ要素を有する電子処理装置への電源電圧を制御し、電子処理装置の出力を受信する装置であって、電子処理装置の出力におけるエラーを検出するエラー検出手段と、電子処理装置の出力において検出されたエラーの分析に基づいて、電子処理装置への電源電圧を適応的に変化させる手段とを備える装置を提供する。
【0007】
前記装置は、電子処理装置の前記出力における検出されたエラーを修正する手段を更に備えてもよい。
【0008】
本発明によれば、動作の限界にエラー率を維持するように電圧を制御可能となるので、処理装置が最も効率の良い電力点で動作することになる。また、本発明によれば、処理装置の出力の正確性を犠牲に刷ることなく、発生するエラーを修正することが可能となる。
【0009】
電子処理装置は、エラーが存在しない場合に同じ出力値を提供するべく対応する処理タスクを実行する2つの独立したプロセッサを有し、エラー検出手段は、2つのプロセッサのうちの一方の出力と、2つのプロセッサのうちの他方の出力とを比較することによって、電子処理装置の出力におけるエラーを検出する。エラーを修正する手段は、電子処理装置の出力におけるエラーを修正するべく処理タスクを繰り返すように、2つの独立したプロセッサのうちの少なくとも1つに命令してもよい。2つのプロセッサのうちの一方の出力値と他方の出力値とを比較することは、2つの出力値を直接比較すること又は出力値から計算されたチェックサム又はその他の値を比較することを伴ってもよい。
【0010】
電子処理装置は、システムデータ及びシステムデータと関連付けられたエラー管理データを格納する1以上のメモリ要素を有し、電子処理装置の出力は、システムデータ及びエラー管理データを含み、エラー検出手段は、システムデータ及びシステムデータと関連付けられたエラー管理データを分析することにより、システムデータにおけるエラーを検出する。エラーを修正する手段は、システムデータから計算された値と、エラー管理データとを比較してもよい。また、電子処理装置の出力におけるエラーを修正する手段は、エラー管理データに基づいて出力を修正してもよい。1以上のメモリ要素は、エラーが発生しない場合には、通常の動作時に同一のデータを格納する2つのメモリ要素を含んでもよい。エラー修正手段は、一方のメモリ要素からの出力で検出されたエラーを、他方のメモリ要素から対応する正しい値を読み出すことにより、修正してもよい。2つのメモリ要素は、別個のプロセッサに属してもよい。これに替えて、2つのメモリ要素は、同じプロセッサに属してもよい。
【0011】
1以上のメモリ要素は、ランダムアクセスメモリ(RAM)を含んでもよい。エラー管理データは、RAMパリティ情報を含んでもよい。すなわち、RAMはパリティRAMであってもよい。
【0012】
電子処理装置は、1以上のプロセッサ及び/又は1以上のメモリ要素を含んでもよい。電圧を適応的に制御する手段は、1以上のプロセッサ及び/又は1以上のメモリ要素においてシングルイベントラッチアップが発生する可能性が低減されるような適切なレベルに電圧を制御してもよい。
【0013】
装置は、エラー検出手段、電源電圧を適応的に変化させる手段及びエラー修正手段を提供するFPGAのような制御装置又は制御構成を備えてもよい。電圧を適応的に変化させる手段は、電子処理装置に電圧を供給する電源に、電子処理装置への電圧を変化させるよう命令してもよい。
【0014】
電子処理装置は、1以上のプロセッサ又は1以上のメモリ要素を備えてもよく、別個の制御装置は、プロセッサ及びメモリ要素に供給される電圧を制御してもよい。プロセッサは、例えば、計算のような処理タスクを実行し、メモリ要素は、計算及びその他の処理結果を格納するよう構成されてもよい。
【0015】
本発明によれば、電子処理装置と、電子処理装置に供給される電圧を制御する上記の装置とを備えるシステムが提供される。
【0016】
更に、本発明によれば、プロセッサ又はメモリ要素を有する電子処理装置に供給される電源電圧を低減させる方法であって、電子処理装置の出力を受信する段階と、電子処理装置の出力がエラーを含むかを判断する段階と、電子処理装置に供給される電圧に対する調整が必要かを、出力におけるエラーの分析に基づいて判断する段階と、調整が必要であると判断された場合には、電圧の調整を行う段階とを備える方法を提供する。
【0017】
方法は、電子処理装置の出力において検出されたエラーエラーを修正する段階を更に備えてもよい。
【0018】
電子処理装置は、通常動作でエラーが存在しない場合に、同じ出力値を提供するべく対応する処理タスクを実行する2つのプロセッサを有し、電子処理装置の出力がエラーを含むかを判断する段階は、2つのプロセッサの一方の出力と2つのプロセッサの他方の出力とを比較する段階を含み、エラーを修正する段階は、2つのプロセッサのうちの少なくとも1つに、処理タスクを繰り返すように命令する段階を含む。2つのプロセッサのうちの一方の出力値と他方の出力値とを比較することは、2つの出力値を直接比較すること又は出力値から計算されたチェックサム又はその他の値を比較することを伴ってもよい。
【0019】
電子処理装置は、対応するデータを格納するための2つのランダムアクセスメモリ要素を有してもよく、メモリ要素はそれぞれ、システムデータ及び関連するエラー管理データを格納し、電子処理装置の出力は、システムデータ及び関連するエラー管理データを含み、電子処理装置の出力がエラーを含むかを判断する段階は、メモリ要素の出力におけるエラー管理データを分析する段階を含み、エラーを修正する段階は、2つのメモリ要素のうちの一方の出力におけるエラーを、2つのメモリ要素のうちの一方からのエラー管理データに基づいて、又は、2つのメモリ要素のうちの他方から読み出されたデータに基づいて、修正する段階を含む。
【0020】
電圧を制御する段階は、電子処理装置の要素においてシングルイベントラッチアップが発生するのを回避するべく、電圧を制御することを含んでもよい。より詳細には、電圧を制御する段階は、電子処理装置の1以上のプロセッサ及び/又は1以上のメモリ要素でシングルイベントラッチアップが発生するのを回避するべく、電圧を制御することを含んでもよい。
【0021】
本発明によれば、プロセッサによって実行されると、プロセッサに上記の方法を実行させる命令を備えるコンピュータプログラムが提供される。
【図面の簡単な説明】
【0022】
【図1】電子処理装置、電源及び制御装置を備えるシステムの概略的なブロック図である。
【図2】電子処理装置が2つのデジタル信号プロセッサを有する場合の、図1のシステムの一実施形態を示した概略的なブロック図である。
【図3】電子処理装置が2つのランダムアクセスメモリを有する場合の図1のシステムの一実施形態を示した概略的なブロック図である。
【図4】それぞれがメモリ要素を含む2つのデジタル信号プロセッサを有する電子処理装置に供給される電圧を制御するべく、図1のシステムのコンセプトを実装するシステムの構成要素を示した図である。
【図5】電離放射環境に実装される図2の実施形態を示した概略的なブロック図である。
【図6】電子処理装置への電圧を適応的に調整するプロセスを示した図である。
【発明を実施するための形態】
【0023】
本発明の実施形態を例示するべく、添付の図1〜5を参照して説明する。
【0024】
図1に示すように、システム1は、電子処理装置2、電源3及び制御装置4を備える。電子処理装置2は、電源3から電源の供給を受け、制御装置4は、電子処理装置に供給される電圧を調整するべく、電源を制御する。電子処理装置は、以下に詳細に説明するが、1以上の電子処理ユニットを含んでもよい。制御装置は、エラー検出ユニット5、電圧制御ユニット6及びエラー回復ユニット7を含む。
【0025】
エラー検出ユニット5は、電子処理装置2の出力におけるエラーをチェックする。このチェックを実行した後で、エラー検出ユニットは、電子処理装置が出力した情報の検出結果がエラーを含んでも含まなくても、エラー回復ユニット7及び電圧制御ユニット6と通信を行う。電圧制御ユニット6は、エラー検出ユニット5からのエラー情報を分析して、電子処理装置2への供給電圧を変化させるよう電源3に対して命令を出すか否か及びどのような命令を出すかを決定する。電源電圧が低いほど、電子処理装置の出力におけるエラーの発生率は高くなる。電圧制御ユニット6は、許容される数のエラーが発生するようなレベルまで電源電圧を下げるよう決定してもよい。電源電圧は、主に正しい動作が維持されると同時に、時々エラーが発生するような最低限の電圧に維持されてもよい。多数のエラーが検出される場合には、電圧制御ユニット6は、電圧を上げる。反対に、エラー発生率閾値よりも低いエラー発生率が検出された場合には、電圧制御ユニットは、電子処理装置2に供給される電圧を更に下げてもよい。電圧制御ユニット6は、制御の都度に所定の一定量分、電圧を増大及び減少させてもよいし、出力のエラーの特性を分析して決定された可変量分で増大及び減少させてもよい。
【0026】
一例として、エラーの分析は、電圧制御装置が、エラーが発生する都度、一定量分、電圧を増大させることを決定することを伴ってもよいし、所定の期間が経過してもエラーが全く発生しない場合には、一定量分、電圧を減少させることを決定することを伴ってもよい。電圧のステップサイズは、調整を行う都度、同じであってもよい。電圧制御装置は、所定の期間にエラーが発生したかを判断することが可能なように、エラーそれぞれの記録を格納してもよい。これに替えて、エラーが発生した時点でタイマを開始させて、新規のエラーが発生した時点でタイマをリスタートさせてもよい。タイマが開始されてから所定の時間が経過し、その時点でエラーが発生していない場合には、制御装置は電圧を低減させてもよい。所定の時間は、これに限定されないが、数分又は数時間を含む任意の好適な期間であってもよい。
【0027】
これに替えて、分析は、エラーの特定及びエラーが検出された周波数の総合的な分析を伴ってもよい。例えば、電圧制御装置は、一定期間における平均エラー発生率を計算してもよい。この場合、電圧ステップサイズは、固定されていてもよいし、平均エラー発生率に基づいて決定されてもよい。
【0028】
任意の調整方法の電圧調整のステップサイズは、電子処理装置の詳細に基づいて決定されてもよい。電圧調整を行う際の電圧のステップサイズは、安定した動作を可能とするべく十分小さく設定される必要がある。一例として、電子処理装置からの出力におけるエラー率は、平均して5分間の動作毎に1回のエラーが発生するようなエラー率に収束する。数分毎に1回のエラーが発生するようなオーダーのエラー率を、閾値エラー率として、この閾値エラー率に基づいて電圧を増加させるか減少させるかを判断してもよい。しかしながら、これは閾値エラー率の一例に過ぎず、任意の好適な閾値エラー率を使用することができる。
【0029】
少なくともある環境下では、電子処理装置は、電子処理装置の出力が常にエラーを含むように動作させることができる。供給される電圧は、電子処理装置から予測される通常レベルを超えてエラー発生率を増加させるように選択されてもよく、制御装置4がエラーを修正できるようなレベルにエラー率を保ってもよい。供給可能な最小電圧は時間が経過するにつれて及び環境、例えば、温度及び背景放射により変化することが知られている。したがって、制御装置4は、連続してエラー率を分析し、必要に応じて適応的に電圧を調整するように構成される。
【0030】
電子処理装置2の出力にエラーが発生したことが通知されると、エラー回復ユニット7は、電子処理装置と通信を行って、正しい出力を回復する又は回復することを試みる。このようにして、制御装置4は、最終的な出力の精度を損なうことなく、誤作動が生じる限界ぎりぎりにおいて1以上の電子処理ユニットを動作させることにより、これら電子処理ユニットを低電力動作を可能にする。
【0031】
制御装置4は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現されてもよい。制御装置は、コントローラ又は任意の種類の好適な制御装置として提供されてもよい。例えば、制御装置は、集積回路の形態で提供される。より詳細には、制御装置は、フィールドプログラマブルゲートアレイ(FPGA)内で考えられてもよい。エラー検出ユニット5、エラー回復ユニット7及び電圧制御ユニット6を備えるとした制御装置の説明は、機能的な説明にとどまり、制御装置は必ずしも構造的に別個のユニットに分割されていなくてもよい。制御装置は、全ての機能を実行する1つのプロセッサから形成されてもよいし、エラー検出ユニット5、電圧制御ユニット6及びエラー回復ユニット7についてそれぞれ説明された1以上の機能及び機能の一部分をそれぞれ実行する1以上のモジュールとして形成されてもよい。
【0032】
電子処理装置2の1以上の電子処理ユニットは、例えば、デジタル信号プロセッサ(DSP)であるプロセッサ、及び/又は、例えば、ランダムアクセスメモリ要素(RAM)である電子メモリであってもよい。より詳細には、電子処理装置のメモリは、これに限定されないが、パリティメモリ又はエラー訂正符号メモリ(ECCメモリ)を含んでもよい。電子処理装置2が1以上の電子処理ユニットを含む場合には、これら電子処理ユニットは同じ電源を共有しなくてもよい。更に、電子処理ユニットにそれぞれ供給される電圧は、異なって制御されてもよい及び/又は異なる電圧制御ユニットにより制御されてもよい。
【0033】
エラー検出ユニット5は、複数の異なる方法で電子処理装置2からの出力のエラーを検出するように構成可能である。エラー検出ユニットは、好適なエラー検出一貫性チェックを出力に対して実行することにより、出力におけるエラーを検出してもよい。エラー検出ユニットは、出力の分析を実行してもよく、分析には、異なる出力間の直接比較、出力のチェックサム間の直接比較が含まれてもよく、又は、エラー管理データを有する出力から計算された値の比較を含む、出力におけるエラー管理データの分析が含まれてもよい。
【0034】
例えば、電子処理装置2が、システムデータに加えて、メモリ要素を有する場合には、メモリ要素は、例えば、メモリから読み出されたシステムデータにおけるエラーを検出可能とするエラー検出コードを含む、エラー管理データを格納してもよい。エラー管理データまた、システムデータにおけるエラーを修正可能としてもよい。エラー管理データは、これに限定されないが、エラー修正パリティコード(ECCパリティコード)を含む、任意の好適なエラー検出及び修正コードであってもよい。電子処理装置2が1以上のプロセッサを有する場合には、各プロセッサ上で同じタスクを実行してその出力を比較することにより、エラーを検出してもよい。これは、2つ以上の出力の直接比較であってもよいし、例えば、チェックサム値等の2つ以上の出力から計算された値の比較であってもよい。処理ユニットが同一の又は対応する情報を格納することを意図したメモリである場合には、エラー検出ユニットは、異なる処理ユニットからの出力又は出力のチェックサムを比較することにより、エラーを含む出力を特定することができる。電子処理装置2がプロセッサを1つのみ有する場合には、当該処理ユニットに計算を2回実行させて、2つの出力又は当該2つの出力から導出された値を比較して、出力におけるエラーを検出することができる。これに替えて、プロセッサを1つのみ有する電子処理装置の出力におけるエラーは、出力に実装されるエラー検出及び/又は訂正コードを使用して検出することができる。出力を調べるのにチェックサムが使用される場合には、チェックサムの計算はプロセッサ自身によって実行されてもよく、計算結果がエラー検出ユニット5に送られて検査される、又は、チェックサムの計算がエラー検出ユニットによって実行されてもよい。
【0035】
制御装置4は、電子処理装置2の出力をスクリーニングして、エラー検出ユニット5でエラーが検出された場合には、エラー回復ユニットが出力を修正する。電子処理装置2が複数のプロセッサを有する場合には、複数のプロセッサの出力はメモリに書き込まれて、エラー回復ユニットがメモリに格納されたデータを修正してもよい。電子処理装置がメモリ要素を有する場合、メモリに格納されたデータは、プロセッサによってアクセスされてもよく、メモリ要素の出力がエラーを含む場合には、エラー回復ユニットは、メモリ要素に格納されたデータが修復され、必要であれば、プロセッサが更新されたデータ及び正しいデータを受信することを確かにする。電子処理装置の出力は、それが、プロセッサ又はメモリからの出力であるかに関わらず、並行して、メモリ又はプロセッサである出力の受信ユニット及び制御装置に伝達されてもよい。この場合、エラーが検出されると、受信ユニットは最初に正しくないデータを受信していた可能性があるので、当該データが正しくないデータである場合、元々受信したデータを更新した正しいデータで置き換える。受信ユニットがプロセッサである場合、正しくないデータに基づく任意の処理タスクを繰り返す必要がある場合がある。修正されたデータを、プロセッサ又は電子処理装置のメモリ要素、又は、制御装置から受信してもよい。これに替えて、制御装置は、電子処理装置の処理ユニットの出力が受信ユニットに供給される前に、当該出力をチェックすることができる。より詳細には、制御装置は、プロセッサの出力がメモリに格納される前に、プロセッサの出力をチェックすることができる。更に、制御装置は、出力がプロセッサに供給される前に、プロセッサがデータにアクセスを試みることによって生じるメモリの出力をチェックすることができる。
【0036】
図1のシステムは、例えば、衛星のような宇宙探査機で使用されてもよい。しかしながら、制御装置4は、電子処理装置2に供給される電圧を制御する任意のデバイスで使用可能なことは明らかである。更に、図1の制御装置は、エラー回復ユニット7を含むように記載されているが、制御装置4は必ずしも、任意のエラーを修正するように構成されていなくてもよい。例えば、システムは頻度の低いエラーを扱うように設定されていてもよい、及び/又は、エラーが稀に発生するように電圧が保守的に低く設定される適応電圧調整が設定されてもよい。
【0037】
図2及び図3には、2つの別個のプロセッサ及び2つのメモリ要素にそれぞれ供給される電圧を制御する目的で、図1で説明したコンセプトを実装する形態が示されている。図2のシステム1aは、電子処理装置2a、電源3a及び制御装置4aを備える。電子処理装置は、通常の動作の間に、同一の電子処理タスクを並行して実行するべく提供された2つのデジタル信号プロセッサ(DSP)8i及び8iiを備える。プロセッサは、複数のタスクを異なるように実行してもよいが、同じ出力を提供するように構成されてもよい。2つのDSPは、電源3aから電力の供給を受ける。更に、図2に示すように、制御装置は、2つのDSPから出力を受信する。制御装置は、エラー検出回路5a、電圧制御装置6a及びエラー回復回路7aを有する。
【0038】
宇宙探査機の通信システムでは、探査機のプロセッサはそれぞれ、典型的には、信頼性を高めるために同じタスクを実行する冗長プロセッサを備える。図2のシステムでは、以下に詳細に説明するが、この冗長性を利用してエラーの検出を可能にする。しかしながら、制御装置4aは、同じ処理タスクを実行する2つのプロセッサが使用される任意のシステムで使用可能である。
【0039】
DSP8i及び8iiは、その他のシステムからの入力を受信可能である。同じ命令が、両方のDSPに供給されてもよい。これに替えて、2つのDSPが実行すべきタスクに関して当該DSPに供給される命令は、例えば、順番が異なっていてもよい。DSPは、命令に基づいて処理タスクを実行し、メモリ(図2では図示せず)又はその他の好適な受信ユニット、及び、制御装置4aの両方に結果が供給される。図2のエラー検出回路5aは、2つの出力を比較することにより2つのDSPの出力におけるエラーを検出し、両方のDSPの出力が一致しない場合には両方のDSPの出力がエラーを含むと見なされる。出力をチェックした後に、エラー検出回路5aは、エラー回復回路7a及び電圧制御装置6aと通信を行って、出力がエラーを含むとして検出されたか否かを伝達する。電圧制御装置は、受信したエラーについての情報を分析して、図1を参照して説明したように、DSP8i及び8iiに供給される電圧を変化させるべきか及びどのように変化させるかを決定する。電圧調整の程度は、プロセッサ応じて決定されてもよい。電圧制御装置が、例えば、エラー率の計算のようなエラー特性の総合的な分析を実行する場合、電圧制御装置は、新規の情報に基づいて前の分析を更新してもよい。電源電圧が低いほど、出力におけるエラー率は高くなる。多数のエラーが検出される場合には、電圧制御装置は、電圧を適切な量分、増大させる。反対に、エラーが検出されない場合又はエラーが検出される頻度が非常に少ない場合には、制御装置は電圧を下げてもよい。
【0040】
システム1aは、同じ計算を繰り返す必要が生じた場合に計算を簡易にするべく、処理オペレーション各々の前に、DSP8i及び8iiの状態の記録を維持する。エラーが検出された場合には、エラー回復回路7aは、DSPに計算を繰り返し実行させて、エラー検出回路5aによって伝達される次の情報に応答する。DSPは、各処理オペレーションの前にDSPの状態の記録を維持するチェックポイント機能を有してもよい。この機能は、ソフトウェアに実装されてもよく、例えば、DSPのオペレーティングシステムを変更することにより実装されてもよい。これに替えて、エラー回復回路は、処理オペレーション各々の前に、DSPの状態の記録を維持してもよい。
【0041】
DSP8i及び8iiは、エラー検出回路5aがDSP出力にエラーが含まれることを発見するまで、計算を繰り返す。エラーが含まれる出力がメモリに書き込まれた場合には、エラー回復プロセスによってDSPに、メモリ内のエラーが含まれるデータを上書きさせる。このようにして、閉ループの態様で、最終的な出力エラーを起こさずに、目的の低消費電力へと電源電圧が変更される。同様な処理タスクを2回繰り返した後であってもDSP8i及び8iiの出力がエラーを含むと検出される場合には、DSP8i及び8iiは制御装置4aにより強制的にリブートされてもよい。更に、例えば、同じ処理タスクを3回繰り返した後であってもDSP8i及び8iiの出力がエラーを含むと検出される場合には、DSP8i及び8iiの電源を一旦OFFにして、その後再びONとされてもよい。
【0042】
図2に示したシステムが、テキサス・インスツルメンツ(登録商標)社のC6713 DSPプロセッサを2つ使用して、別個のC6713 DSK評価基板上に実装された。評価基板は、高速フーリエ変換及びビットレベルデータ圧縮アルゴリズムを並行して実行するべく実行された。2つのプロセッサの出力のチェックサムの比較を行い、チェックサムが互いに一致するか否かに基づいてプロセッサへの電源電圧が制御された。最大動作クロック周波数では、通常のプロセッサ動作電力と比較して、33%消費電力を削減させることができることが分かった。最大クロック速度の半分で動作する場合、消費電力を71%削減できることが分かった。これは、クロック速度を低減させた場合に標準的に期待できる50%の削減を上回る。
【0043】
上記の2つのプロセッサに供給される電圧の適応的制御の仕方の説明は一例である。上記では、図2のエラー検出回路5aが、2つのDSP8i及び8iiの出力を比較することによってエラーを検出するように説明されたが、これに替えて、エラー検出回路は、例えば、チェックサム値のような、出力から計算された値を比較することにより、2つのDSPの出力におけるエラーを検出してもよい。出力を調べるのにチェックサムが使用される場合には、チェックサム値の計算は、DSP自身によって実行されてもよく、計算結果がエラー検出回路に送られて検査される、又は、チェックサムの計算がエラー検出回路によって実行されてもよい。DSPがメモリ又は別の受信ユニットに、そして制御装置に並行して書き込む替わりに、DSPは、制御装置を介して間接的にメモリ又はその他の受信ユニットに書き込みを行ってもよい。そしてDSPの出力が分析されて、1以上の受信ユニットに供給される前に、制御装置で修正される。
【0044】
出力のうちの1つ又は両方がエラーを含むとして検出されたか否かに関わらずエラー検出回路5aが電圧制御装置6a及びエラー回復回路7aに伝達した構成とは異なり、エラー検出回路は、エラーが検出された場合にのみ電圧制御装置及び/又はエラー回復回路に情報を伝達してもよい。この場合、一定期間にエラー検出回路から通信を受信しない場合には、エラーが検出されなかった信号であると解釈されてもよい。
【0045】
図2において、DSP8i及び8iiが同じ電源3aを共有している。これに替えて、DSPは、同じ電源を共有しなくてもよい。各DSPに供給される電圧は、異なる電圧制御装置によって及び/又は異なるように制御されてもよい。DSPそれぞれに供給される電力を個別に最適化することが可能となり、電子処理装置の消費電力を更に最適化することができる。図2には、DSP8i及び8iiが示されているが、制御装置4を使用してアナログプロセッサを制御してもよい。
【0046】
図3に示すように、図3のシステム1bも、電子処理装置2b、電源3b及び制御装置4bを備える。図3の電子処理装置2bは、2つのランダムアクセスメモリ(RAM)装置9i及び9iiを有し、各メモリは、メモリから読み出されたデータのエラーを検出及び修正可能とするパリティ機能を有する。この機能は、メモリ装置に書き込まれたシステムデータと共にエラー修正パリティコード(ECCパリティコード)を格納することに依存している。図4を参照して以下に詳細に説明するように、各RAM装置は、システムデータ及びエラーを検出及び修正するためのコードを共に格納する2つの要素を有してもよい。これに替えて、RAM装置はそれぞれ、システムデータ及び修正コードの両方を格納する1つの要素であってもよい。各要素は、例えば、モジュール又は独立した集積回路であってもよい。両方のRAMについて同様のオペレーションを伴うRAMに格納されるデータについて、図3に示したシステム1bのオペレーションを参照して以下に詳細に説明する。図3では、複数のRAMが、同じ入力を受信するように示されている。入力は、1つのプロセッサから出力されたメモリアクセス要求であってもよい。これに替えて、複数のプロセッサが対応する同一のタスクを実行し対応するRAMから同一のデータを読み出し同一のデータを書き込む場合には、複数のRAMは、これら複数のプロセッサから個別にアクセスされてもよい。複数のプロセッサは、複数のRAMに並行して書き込み及び読み出しを実行してもよい。RAMから読み出され、制御装置4bによってチェックされた最終的な出力値は、RAMから直接又は制御装置を介して、両方のプロセッサに戻される。制御装置4bは、エラー検出回路5b、電圧制御装置6b及びエラー回復回路7bを有する。電子処理装置2bは、電源3bから電力の供給を受ける。制御装置4bは、2つのRAMから出力を受信する。
【0047】
一例として、1以上のプロセッサがRAM9i、9iiに格納されたデータを読み出す場合、読み出されたデータは、1以上のプロセッサ(図3では図示せず)及び制御装置4bに並行して供給される。図3のエラー検出回路5bは、ECCパリティコードのエラー検出特性を使用して、2つのRAM9i及び9iiの各々の出力におけるエラーをチェックする。ECCパリティコードを含むパリティコードの生成及び使用は、当分野ではよく知られており、本明細書ではその詳細について説明しない。簡単に説明すると、エラー検出回路は、出力におけるシステムデータからパリティデータを計算して、これを出力で受信したパリティコードと比較してもよい。比較の結果、両者が同一でない場合、エラー検出回路は出力にエラーが存在すると判断してもよい。エラーを含むRAM出力は、RAMに格納されたデータのエラーの結果生じたか、RAMから読み出された時データが破損した結果生じたことが考えられる。
【0048】
図3のシステムでは、RAMの出力をチェックした後、エラー検出回路は、エラー回復回路7b及び電圧制御装置6bに対して、RAM出力及びRAM出力の一方又は両方がエラーであると検出されたかに関する情報を出力する。図1及び図2を参照して説明したシステム1及び1aでは、電圧制御装置6bがこの通信に応答して、エラー情報を分析して、RAM9i及び9iiに供給される電圧を変化させるか否か及びどのように変化させるかを決定する。電圧制御装置が、エラー特性の総合的な分析を実行する場合、新規の情報に基づいて前の分析を更新してもよい。電源電圧が低いほど、電子処理装置の出力におけるエラーの発生率は高くなる。多数のエラーが検出される場合には、電圧制御装置は、電圧を適切な量分、増大させる。反対に、検出されるエラーが少なすぎる場合には、電圧を減少させる。上記で述べたように、分析では、エラーが検出される場合には、固定量分、電圧を増加させること、及び、所定の期間が経過した後もエラーが検出されなかった場合には、固定量分、電圧を減少させることを伴う。電源電圧は、主に正しい動作が維持されると同時に、時々エラーが発生するような最低限の電圧に維持されてもよい。
【0049】
エラーが検出された場合には、エラー回復回路7bが、エラーの性質に応じて2つの方法のうちの一方でエラー検出回路5bによって伝達された情報に応答する。ECCパリティコードを使用してエラーを修正可能である場合、エラー回復回路は、この方法による出力の修正を行う。そして、修正された値を使用して、制御装置4bは、エラーを含む出力に関するRAMに格納されたデータを上書き(スクラブ)する。エラーが、ECCパリティコードのエラー修正能力を超え、複数のRAMのうちの1つのみの出力をエラーであると発見した場合には、エラー回復回路は、制御装置に、エラーでないRAMの出力から正しいデータを使用して、エラーを含むRAM出力に関するRAMに格納されたデータを上書きする。そして、制御装置は、以前にメモリから読み出された値は間違っていることをプロセッサに知らせ、プロセッサは、メモリから正しい値を再読み込みする適切な動作を実行する。一例において、プロセッサで実行されるソフトウェアは、以前の値が間違っていることを示す制御装置からの情報に応答して、メモリを再度読み出すように構成されてもよい。プロセッサが既に正しくないデータの使用を開始している場合には、それを破棄して再度開始する。ある実装形態では、制御装置はエラーを検出すると直ちに、プロセッサに、正しくないデータに基づくタスクの処理を停止するように通知を行う。別の実装形態では、制御装置がエラーを確認すると、プロセッサに、メモリに格納されたデータが正しくないということのみを通知する。このようにして、制御装置4bは、RAM9i及び9iiを、最終的な出力における正確性を損なうことがないような限界に非常に近いところで動作させることにより、非常に低い電力での動作を可能とする。
【0050】
宇宙探査機に搭載されるプロセッサで多く見られるように、プロセッサには冗長並行プロセッサが含まれ、プロセッサの各々がキャッシュパリティRAMを有するシステムの場合、図3のシステムを採用して、キャッシュパリティRAMの各々に供給される電圧を低減させることができる。
【0051】
図3を参照して説明したメモリ要素の電圧を適応的に変化させるプロセスは一例に過ぎず、変形例が考えられる。メモリ要素が上記では、パリティRAMメモリ要素として説明されたが、図3のシステム1bは、RAMの特定の種類に限定されず、例えば、DRAM、SDRAM又はSRAMを含むことができる。パリティRAMで使用されるECCパリティコードは、例えば、ハミングコード(Hamming code)又はMDPC(multidimensional parity-check code)であってもよい。これに替えて、それぞれがECCパリティコードを実装する2つのメモリ装置を備える構成とは異なり、電子処理装置2bが2つのECCメモリユニットを備えてもよい。
【0052】
メモリ要素が、プロセッサ及び制御装置に並行して出力を提供する替わりに、任意の出力がプロセッサに供給される前に制御装置においてチェック及び修正されてもよい。
【0053】
また、図3では、RAM9i及び9iiが同じ電源3bを共有している。これに替えて、パリティRAM9i及び9iiは、同じ電源を共有しなくてもよい。パリティRAMの各々に供給される電圧は、異なる態様で制御されてもよい及び/又は異なる電圧制御装置によって制御されてもよい。RAMの各々に供給される電力を独立して最適化可能とすることにより、電子処理装置2bの消費電力を更に最適化することができる。
【0054】
出力の両方又は一方にエラーが含まれることが検出されてもされなくても電圧制御装置6b及びエラー回復回路7bに通知するエラー検出回路5bとは異なり、エラーが検出された場合にのみ、電圧制御装置及び/又はエラー回復回路に通知を行ってもよい。この場合、一定期間にエラー検出回路から通信を受信しない場合には、エラーが検出されなかった信号であると解釈されてもよい。
【0055】
図3には、2つのRAM9i及び9iiを備えるように記載されているが、システムは、1つのRAMに供給される電圧を制御可能であり、1つのRAMのエラーを修正可能であってもよい。エラー修正コード又はその他の代替手段によってエラーが修正可能である限り、正しい出力を回復可能であり、別のRAMから正しいデータを取得する必要はない。
【0056】
図4には、プロセッサ及びメモリの両方に供給される電圧を制御するためのシステムの特定の実装例が示されている。システム1cは、第1DSP10i及び第2DSP10ii、第1DSP電源11i及び第2DSP電源11ii、第1及び第2DSPのための第1一次SDRAM(synchronous dynamic random-access-memory)12i及び第2一次SDRAM12ii、第1及び第2DSPのための第1パリティSDRAM13i及び第2パリティSDRAM13ii、及び、第1SDRAM電源14i及び第2SDRAM電源14iiを備える。システムはまた、共に制御装置又は制御構成を形成する第1制御回路15i及び第2制御回路15iiを備える。回路をそれぞれ、制御装置又は制御構成と見なすこともできる。第1DSP10i及び第2DSP10ii、第1一次SDRAM13i及び第2一次SDRAM13ii、並びに、第1パリティSDRAM14i及び第2パリティ14iiは共に、図1のシステム1の電子処理装置2に対応している。そして、制御構成15i及び15iは共に又はそれ自体で、図1のシステム1の制御装置4に対応していると見なすことができる。第1DSP10i及び第2DSP10iiはそれぞれ、第1DSP電源11i及び第2DSP電源11iiからそれぞれ電力の供給を受ける。第1一次SDRAMユニット12i及び第1パリティSDRAMユニット13i、並びに、第2一次SDRAMユニット12ii及び第1パリティSDRAMユニット13iiは、それぞれ第1SDRAM電源14i及び第2SDRAM電源14iiから電力の供給を受ける。第1制御回路15i及び第2制御回路15iiはそれぞれ、第1DSP10i及び第2DSP10ii、第DSP電源11i及び11ii、一次SDRAM、パリティSDRAM及びSDRAM電源に接続される。第1一次SDRAM12i及び第2一次SDRAM12iiはそれぞれ、第1DSP10i、第2DSP10iiに接続される。第1パリティSDRAM13i及び第2パリティSDRAM13iiは、制御装置15i及び15iiを介して第1DSP10i及び第2DSP10iiに接続される。しかしながら、これらは直接、第1DSP10i及び第2DSP10iiに接続可能である。
【0057】
第1パリティSDRAM13i及び第2パリティSDRAM13iiは、第1一次SDRAM12i及び第2一次SDRAM12iiに関し一次SDRAM情報の再構築のための情報を含むECCパリティコードをそれぞれ含む。使用されるECCパリティコードは、単一誤り修正コード及び二重誤り検出コード、例えば、ハミングコードである。システム情報及びパリティ情報が共に読み出された時に、システム情報における1つのビットが不正確である場合に、パリティ情報がシステム情報を再構築可能な程度に十分であるような態様で、パリティビットが、一次SDRAM12i及び12iiに書き込まれたシステム情報から計算される。パリティ情報におけるデータのみでは、関係するシステム情報を既定するのに十分でない。パリティ情報のみの1つのビットが不正確である場合、システム情報使用してこのビットを修正することができる。一次情報及び/又はパリティ情報にわたる任意の2つのビットが不正確である場合、出力は正しくないと特定されるが、エラービットが特定できないことから、これらを直接修正することができない。システムの他方のプロセッサに対する一次RAM又はパリティRAMの出力を使用して、エラーを修正する必要がある。任意のビットエラーが存在しない場合、又は、一度だけビットエラーが修正された場合、任意の必要な処理又は出力に対して一次情報が使用される。
【0058】
第1制御回路15i及び第2制御回路15iiは、エラーを検出及び修正して、電圧を制御するようプログラムされたフィールドプログラマブルゲートアレイ(FPGA)である。これら回路は、図1を参照して説明したエラー検出ユニット、エラー回復ユニット及び電圧制御ユニット、又は、図2及び図3を参照して説明したエラー検出ユニット、エラー回復ユニット及び電圧制御ユニットの機能にそれぞれ対応する機能を提供する。FPGAはまた、メモリ管理機能(MMU)16i及び16iiを含む。FPGAは、第1DSPからの出力と第2DSPからの出力とを比較して、エラー検出修正コードのようなエラー管理データに基づいて、エラーを検出及び修正する。FPGAは、DSPからの出力についてチェックサムを計算するように構成されてもよい。FPGAは、パリティSDRAMに格納を行うべく、エラー検出修正コードを生成するようプログラムされてもよい。FPGAは、エラー検出修正コード(EDAC)の使用をサポートする別個の回路17i及び17iiを含んでもよい。FPGAは、電圧管理機能を提供する別個の回路18i及び18iiを含んでもよい。DSPによって供給される電圧及びSDRAM電源を独立して変化させるのに、電圧管理機能が使用される。DSPは、それぞれのFPGAを介して別のシステムから入力を受信することができる。FPGAは、外部のシステムから入力を受信してもよく、更に、これらの入力によりFPGAが制御又は再設定されてもよい。
【0059】
第1DSP10i、第1DSP電源11i、第1一次SDRAM12i、第1パリティSDRAM13i、第1SDRAM電源14i及び第1制御システム15iは、マスタシステムとして指定されるシステムを備える。第2DSP10ii、第2DSP電源11ii、第2一次SDRAM12ii、第2パリティSDRAM13ii、第2SDRAM電源14ii及び第2制御システム15iiは、スレーブシステムとして指定されるシステムを備える。マスタシステム及びスレーブシステムは、それぞれのFPGAを介して接続される。ある処理システムで必要とされるように、一次プロセッサ及びメモリで誤作動が起きるのに備えて、スレーブは、冗長プロセッサ及び冗長メモリを提供してもよい。図3のシステムは、DSP各々に供給される電力、及び、一次SDRAM及びパリティSDRAMの各組に供給される電力の、独立した閉ループのエラーに依存する制御を組み込む。
【0060】
第1DSP10i及び第2DSP10iiは、実質的に同じ処理タスクを並行して実行して、それぞれの一次SDRAM12i及び12iiに出力する。DSPはそれぞれ、必要に応じて、同じ計算の繰り返しを簡易にするべく、各処理動作の前にDSPの状態の記録を維持するチェックポイント機能を含む。
【0061】
第1FPGA15i及び第2FPGA15iiは、それぞれ第1一次SDRAM12i及び第2一次SDRAM12iiに対するDSP10i及びDSP10iiの出力を受信し、FPGAはそれぞれ、受信した出力に対してチェックサム計算を実行する。そして、スレーブFPGA15iiは、チェックサム値をマスタFPGA15iに出力して、マスタFPGAはこれらの値を比較して、比較結果をスレーブFPGAに戻す。チェックサム値が一致しない場合には、両DSPの出力はエラーであると考えられる。
【0062】
そして、FPGAはそれぞれ、電圧管理回路18i、18iiを使用して、DSPの出力のエラーの特性の分析を更新する。分析結果に応じて、FPGAはそれぞれ、DSPへの電源電圧を変化させるか否か、及び、どのように変化させるかを決定する。DSPに供給される電圧が低いほど、出力におけるエラー率は高くなる。DSPの出力において検出されるエラーが多すぎる場合には、FPGAは、電源に、DSPに供給される電圧を増大させるように命令し、反対に、検出されるエラーが少なすぎる場合には、電圧を減少させる。電圧は、固定量分、増大又は減少されてもよいし、エラー特性の分析によって決定された量分、増大又は減少されてもよい。エラーが検出された場合には、FPGA15i及び15iiは、それぞれのDSPを計算を繰り返すようにトリガする。FPGAは、それぞれのDSPをトリガして、SDRAMに渡されたエラーを含むデータを新規の値で上書きしてもよい。このプロセスは、2つのDSP10i及び10iiからの出力のチェックサム値が同じであると検出されるまで繰り返される。この時、パリティアルゴリズムを実装した後で、FPGAはそれぞれ、一次SDRAMに書き込まれた情報に関する適切なパリティ情報を、それぞれのパリティSDRAMに書き込む。
【0063】
このようにして、DSP10i及び10iiに対する電源電圧を閉ループの態様で変化させることができ、一次SDRAM12i及び12ii並びにパリティSDRAM13i及び13iiに書き込まれたエラーを含むデータを残すことなく、可能な限りの低消費電力を目指すことができる。
【0064】
通常動作の間にRAMからDSPへとデータが要求される時、一次SDRAM12i及び12iiからFPGA15i及び15iiによってそれぞれデータが供給され、要求された一次SDRAMデータに関するパリティSDRAM13i及び13iiついての関連情報も供給される。両方のFPGAは、読み出された情報についてEDACコードを使用して、エラーについてチェックを行う。そして、FPGA15i及び15iiはそれぞれ、一次SDRAM出力及びパリティSDRAM出力のエラー特性の分析を更新する。分析結果に応じて、FPGAはそれぞれ、一次SDRAM12i及び12ii並びに一次SDRAM13i及び13iiに供給される電圧を変化させるか否か及びどのように変化させるかを決定する。RAMに供給される電圧が低いほど、出力におけるエラー率は高くなる。一次SDRAM及びパリティSDRAMの対の出力において検出されるエラーが多すぎる場合には、FPGAは、電源に、一次SDRAM及びパリティSDRAMの対に供給される電圧を増大させるように命令し、反対に、検出されるエラーが少なすぎる場合には、電圧を減少させる。反対に、エラーが非常に稀に発生する場合には、FPGAは、一次SDRAM及びパリティSDRAMの対に供給される電圧を減少させる。
【0065】
FPGA15i及び15iiは、RAM出力に許容される数のエラーが発生するレベルに電圧が収束するまで、それぞれの一次SDRAM及びパリティSDRAMの対に供給する電圧を独立して減少及び増加させてもよい。例えば、一次及びパリティSDRAM及びDSPに供給される電圧は、システム1c全体のエラー率が許容されるレベルに維持されるように制御されてもよい。
【0066】
エラーを含むRAM出力は、RAMに格納されたデータのエラーの結果生じたか、RAMから読み出された時データが破損した結果生じたことが考えられる。図3を参照して上記したように、一次SDRAMとパリティSDRAMの対から読み出された情報にエラーが検出された場合には、それぞれのFPGAは、エラーの性質に応じて2つの方法のうちの一方で応答する。エラーが、1つのビットであり、エラー修正パリティコード(ECCパリティコード)を使用して修正可能な場合、FPGAが修正を実行する。そして、FPGAは、エラーを含む出力に関する格納された一次及びパリティSDRAMデータを、修正された値で上書きして、DSPを介して書き戻す。エラーが、ECCパリティコードのエラー修正能力を超える場合であって、プライマリSDRAM及びパリティSDRAMの複数の対のうちの1つのみの出力にエラーが発見された場合には、エラーを含むデータを有するFPGAは、DSPに、他方のDSPのSDRAMから正しいデータを読み出させ、この正しいデータを使用して、エラーを含む出力に関する格納された一次及びパリティSDRAMデータを、正しい値で上書きする。DSPは、別のDSPのSDRAMから正しいデータを取得するべく、ソフトウェアレベルにおいて現在実行している処理を一時中断して他方のDSPと通信を行ってもよく、その後で、取得したデータを、エラーを含む出力を生成したSDRAMの対に直接書き込んでもよい。このようにすることで、最終的な出力の正確性を失うことなく又はエラーを含むデータを格納した状態にすることなく、SDRAMをエラーが発生する限界に非常に近いレベルで動作させることにより、SDRAMの対の動作電力を非常に低く設定することができる。
【0067】
上記の図4のシステム1cの説明において、FPGA15i及び15iiは、それぞれのDSP10i及び10iiから受信した出力に対するチェックサム計算を実行するとして説明された。これに替えて、DSP自身が、FPGAにチェックム値を出力する前に、チェックサム値の計算を実行してもよい。DSP出力の各々についてのチェックサム値の比較は、上記では、マスタFPGA15iで説明されたように行われた。これに替えて、マスタFPGAのチェックサム値は、スレーブFPGAのチェックサム値のとの比較のために、スレーブFPGA15iiにルートされてもよい。また、2つのFPGAの間でチェックサム値が交換されて、両方のFPGAによって比較が実行されてもよい。これにより、冗長性を提供できる又は比較のエラーチェックを可能とする。
【0068】
上記では、DSP10i及び10iiが、各処理動作の前に、DSPの状態の記録を一時するチェックポイント機能を有するとして説明した。この機能は、例えば、DSPのオペレーティングシステムを修正することによって、ソフトウェアに実装してもよい。これに替えて、FPGA15i及び15iiの各々は、必要となる同じ計算の繰り返しを簡易にするべく、各処理オペレーションの前に、DSPの状態の記録を維持してもよい。
【0069】
図4のシステム1cの上記の説明において、2つのDSP10i及び10iiからの出力が正しいと判断された場合にのみ、それぞれのFPGAによってパリティSDRAM13i及び13iiに書き込みが行われた。これに替えて、DSPは、FPGAからの入力なしに、ボード上でのパリティ生成を実装可能であってもよい。この場合、DSP10i、10iiは、それぞれのパリティSDRAM13i、13ii、並びに、それぞれのSDRAM12i、12ii及びFPGA15i、15iiにデータを書き込んでもよい。パリティSDRAM及び一次SDRAMでのエラーを含むデータは、DSPがエラーを含む出力値を提供した処理タスクを繰り返すように命令された時に、上書きされる。
【0070】
上記の説明では、一次SDRAMとパリティSDRAMとの対が読み出すデータにおけるエラーが、ECCパリティコードのエラー修正能力を超え、一次SDRAMとパリティSDRAMとの複数の対のうちの1つのみの出力にエラーが含まれると分かった場合には、FPGAは、エラーを含むデータをDSPへ通知して、他方のDSPを介してそのDSPのSDRAMから正しいデータを読み出す。しかしながら、別の実施形態では、エラーを含む出力を生成したSDRAMに属するFPGAは、これに変えて、他方のFPGAを介して別のFPGAと関連付けられたSDRAMから正しいデータを読み出してもよい。
【0071】
上記したように、衛星通信システムのような、宇宙探査機通信システムでは、通常、プロセッサは、バックアップを提供することにより信頼性を高めるべく、同じタスクを実行する冗長プロセッサを備える。多くの場合、宇宙探査機のプロセッサは、それぞれのRAM又はパリティRAMと連動して動作する。構成要素の冗長性を利用することによってエラーを検出可能な態様で、宇宙探査機電子処理装置に供給される電圧を制御するのに、図4のシステム1cが採用されてもよい。
【0072】
図5には、図2のシステム1aが、電離放射環境Aに実装される場合が示されている。図5のシステム1aの構成要素において、図2のシステム1a内の同様な構成要素については、同様な参照番号及び部材名が使用される。電離放射Aの存在及び影響に関係なく、図5のシステムは、上記した図2のシステムと同様に動作する。図5のシステムは、閉ループの態様で、最終的な出力にエラーを発生させることなく、可能な限り低い電力消費を狙って、電子処理装置2aが必要とする電源電圧を変化させる。
【0073】
例えば、現代のCPUにおけるプロセッサのような電子プロセッサは、電離放射環境に晒されると、シングルイベントラッチアップが発生する可能性がある。このようなイベントは、プロセッサにとって負荷が大きく、機能が停止する可能性がある。図5の処理装置2aは、通常動作電圧の範囲の電圧が供給される場合であって電離放射環境に晒されるとシングルイベントラッチアップの影響を受け易い2つのDSP8i及び8iiを備える。例えば、DSPは、商用で市販のプロセッサであってもよい。具体的な例として、プロセッサは、テキサス・インスツルメンツ(登録商標)社のC6727デジタル信号プロセッサ又はその他の同様なプロセッサであってもよく、宇宙環境での使用のために特別に改良されていない限り、シングルイベントラッチアップが発生しやすい。DSP8i及び8iiに供給される電圧を低減させることにより、DSPの、シングルイベントラッチアップの発生リスクを低減させることができると考えられる。
【0074】
プロセッサ集積回路の典型的なシリコン構造は、非常に近接したn−p−n及びp−n−pトランジスタを含んでもよい。電離放射粒子は、このような2つのトランジスタの間に導電経路を作る場合がある。このようなシナリオでは、あるフィードバック状態が存在する場合、この導電経路は自続し、短絡してしまう可能性がある。これは対象のプロセッサに悪影響を及ぼし、ひいては、例えば、地球上で経験するよりも非常に大きな電離放射に晒される宇宙環境では大きな問題となりうる。
【0075】
プロセッサに供給される電圧が特定の量よりも低い場合、"保持電圧"と称され、上記のようなフィードバック状態は存在せず、放射に暴露しても、電源電圧によってラッチアップ状態は維持されない。したがって、プロセッサデバイスのその他のパラメータの全てを維持すると同時にプロセッサの電源電圧を低減させると、プロセッサのシングルイベントラッチアップに対する脆弱性を低減させることができる。DSP8i及び8iiに供給される電圧を適合的に、所定の保持電圧未満に維持及び制御すると同時に、任意のDSP出力エラーを修正するのに、制御装置4aを使用することができる。放射種類及びデバイス温度のような環境要因の変化により、実際の保持電圧が変化する場合がある。制御装置は、環境に変化が生じる都度、保持電圧を再測定することにより環境の変化に対応してもよい。制御装置4aは、シングルイベントラッチアップではなく、図2を参照して説明した"通常の"エラーに基づいて電圧を制御することにより、自動的に電圧を保持電圧未満に維持する。例えば、図2を参照して説明したように、所定の低いエラー率に対応する少ない数のエラーのみが発生するように、プロセッサに供給される電圧を制御するように、制御装置を操作することが考えられ、シングルイベントラッチアップの発生を回避するように電圧を十分低くしてもよい。
【0076】
図5では、2つのプロセッサが示されているが、シングルイベントラッチアップへの脆弱性が少ない1つのプロセッサを含む電子処理装置を構成するのに制御装置が使用されてもよい。これに替えて又はこれに加えて、シングルイベントラッチアップに対する脆弱性を低減させるべく、RAMのようなメモリ要素に供給される電圧を制御するのに、プロセッサの制御、制御装置を使用してもよい。例えば、メモリ要素を含む電子処理装置への電圧を制御するための、図3を参照して説明された制御装置は、電子処理装置への電圧を低減させ、それにより、メモリ要素で発生するシングルイベントラッチアップのリスクを回避又は低減させることができる。エラー回復機能を有さずに実装される制御装置であっても、1以上のプロセッサ及び1以上のメモリ要素をシングルイベントラッチアップが発生しない電圧レベルで動作させるのに適していると考えられる。
【0077】
図6は、システム1、1a、1b及び1cによって実装される電子処理装置へ供給される電圧を低減させる一方法を示したフローチャートである。説明を簡易にするため、図1のシステム1で使用した参照番号が図6の説明でも使用されるが、方法は、図2、3、4及び5のシステムについても適用可能である。処理装置2の出力は先ず、段階6.1において制御装置4によって受信され、制御装置4は段階6.2において出力がエラーを含むか否かを判断する。図1〜5を参照して上記で説明したように、出力は、プロセッサの出力又はメモリ要素からの出力であってもよい。出力がプロセッサの出力である場合には、その出力と別のプロセッサの出力とを比較することによりエラーを検出してもよい。これに替えて、1つのプロセッサが同じ処理タスクを2度実行して、結果を比較してもよい。出力がメモリ要素の出力である場合、メモリ要素の出力内のエラー管理データをチェックすることにより、エラーを検出してもよい。段階6.3は、図1〜4を参照して上記で説明したエラー検出方法の何れも含むことができる。処理装置2の出力でエラーが検出された場合には、制御装置4によって段階6.3においてエラー回復が実装される。エラー回復では、図1〜5を参照して説明したエラー回復方法の何れかが実行されてもよく、プロセさの出力にエラーが発生した場合には処理タスクを再度実行するようプロセッサに命令すること、及び、メモリから読み出されたデータにエラーが存在する場合にはメモリに格納されたデータを修正することを含む。出力がプロセッサに供給された場合には、エラー回復では、受信した値を破棄して、正しい値を使用してエラーを含む値を使用した処理タスクを再実行するようにプロセッサに命令してもよい。プロセッサのエラーを含む出力がメモリに格納されている場合には、エラー回復では、プロセッサにメモリ内のエラーを含むデータを上書きするように命令してもよい。
【0078】
制御装置4は、段階6.4において、電子処理装置2への電圧の調整が必要か否かを判断する。処理装置の出力にエラーが存在しない場合、方法は、段階6.4に移り、電圧調整が必要か否かを判断する。電圧を調整するか否かの判断は、電子処理装置出力のエラー特性の分析に基づいて行われる。エラーが発生した場合には、エラーの記録がつけられ、制御装置は直ぐに電圧を増大させる段階に移ってもよい。エラーが発生しなかった場合には、分析では、最後のエラーが発生してからどの位の時間が経過したかを判断してもよく、最後のエラーを検出してから経過した時間が所定の期間を超える場合には、電圧を低減させてもよい。これに替えて、段階6.4での判断を、平均エラー率の計算又は電圧を調整するか否かの判断を行ったその他の値に基づいて、行ってもよい。制御装置は、エラーが発生する都度又は出力がエラーを含むと発見された都度、電圧調整が必要か否かの判断を行わなくてもよい。例えば、電圧の調整を行うか否かについての判断を、例えば、一定間隔で行う等、所定の時間で行ってもよい。
【0079】
制御装置が、電源電圧を変更するべきであると判断した場合には、段階6.5において、電源に電圧を調整するよう命令することを含めて、電圧を調整する。制御装置4は、調整を実行する前に、電圧をどのように調整するべきかを判断するべく、電子処理装置のエラー特性の分析を使用してもよい。ある実施形態では、調整の度合いは一定であり、調整で電圧を増加させるか減少させるかの判断はエラー特性の分析に基づいて行う。調整の度合いは、可変であってもよく、エラー特性の分析に基づいて決定される。例えば、エラー率が高い場合、制御装置は、エラー率が低い場合と比較して大きな量で電圧を増大させてもよい。これに続いて、又は、制御装置が電源電圧の調整が必要ないと判断した場合、プロセス全体が繰り返されて、制御装置は再び処理装置の次の出力を段階6.1で受信する。ある実装形態では、一連の出力値を並行してチェックすることができ、1つのエラー出力値のエラー回復も並行して制御装置により実行可能である。
【0080】
図6を参照して説明した方法に対応する命令セットを、コンピュータプログラムの一部として格納することができ、制御装置は、方法が実行されるように命令を実行するよう構成されてもよい。
【0081】
図6を参照して説明した方法は一例に過ぎず、様々な変形例が考えられる。例えば、エラーが存在する場合、電圧を調整するか否かの判断が実行され(段階6.4)、必要となる任意の電圧調整(段階6.5)は、エラーが修正される(段階6.3)前に実行されてもよい。更に、エラー回復を実行する段階6.3を含まないプロセスも考え得る。少数のエラーを扱うようにシステムが設定されてもよく、及び/又は、エラーの修正が別の場所で行われてもよく、この場合、制御装置は、エラー回復機能を備える必要がない。
【0082】
本発明の特定の実施例について説明されたが、本発明の範囲は、添付の特許請求の範囲によって既定され、これら実施例に限定されない。したがって、本発明は、当業者にとって明らかな別の態様で実装可能である。
【0083】
例えば、別個の電圧制御装置又は管理ユニットが、制御装置又はFPGAの一部分を構成するように説明がなされたが、電源が、電圧制御装置又は管理ユニットの機能を提供し、電圧を自身で調整するように構成されてもよい。更に、幾つかの実施形態では、エラー解析が電圧制御装置又は制御ユニットで実行されるように説明されたが、エラーの解析は、エラー検出回路又はユニット若しくは別の回路又はユニットで実行されてもよい。
【0084】
更に、電圧が制御されるメモリユニットは、上記の実施形態ではRAMであるとして説明されたが、任意の種類のメモリを使用することができる。また、図4のシステムで説明されたSDRAMを、キャッシュRAMに置き換えてもよい。更に、プロセッサは、電源電圧を低減させることができる任意の種類のプロセッサであってもよい。

【特許請求の範囲】
【請求項1】
プロセッサ又はメモリ要素を有する電子処理装置への電源電圧を制御し、前記電子処理装置の出力を受信する装置であって、
前記電子処理装置の出力におけるエラーを検出するエラー検出手段と、
前記電子処理装置の前記出力において検出されたエラーの分析に基づいて、前記電子処理装置への前記電源電圧を適応的に変化させる手段とを備える装置。
【請求項2】
前記電子処理装置の前記出力における検出されたエラーを修正する手段を更に備える請求項1に記載の装置。
【請求項3】
前記電子処理装置は、同じ出力値を提供するべく対応する処理タスクを実行する2つの独立したプロセッサを有し、
前記エラー検出手段は、前記2つのプロセッサのうちの一方の出力と、前記2つのプロセッサのうちの他方の出力とを比較することによって、前記電子処理装置の前記出力におけるエラーを検出する請求項2に記載の装置。
【請求項4】
前記エラーを修正する手段は、前記電子処理装置の出力におけるエラーを修正するべく処理タスクを繰り返すように、前記2つの独立したプロセッサのうちの少なくとも1つに命令する請求項3に記載の装置。
【請求項5】
前記電子処理装置は、システムデータ及び前記システムデータと関連付けられたエラー管理データを格納する1以上のメモリ要素を有し、
前記電子処理装置の前記出力は、前記システムデータ及びエラー管理データを含み、
前記エラー検出手段は、前記システムデータと関連付けられたエラー管理データを分析することにより、前記システムデータにおけるエラーを検出する請求項2から4の何れか一項に記載の装置。
【請求項6】
前記電子処理装置の前記出力における前記エラーを修正する手段は、前記エラー管理データに基づいて前記出力を修正する請求項5に記載の装置。
【請求項7】
前記1以上のメモリ要素は、同じデータを格納する2つのメモリ要素を含み、
前記エラーを修正する手段は、一方のメモリ要素から正しい値を読み出すことにより、他方のメモリ要素からの出力において検出されたエラーを修正する請求項5又は請求項6に記載の装置。
【請求項8】
前記電子処理装置は、プロセッサ及びメモリ要素のうちの少なくとも一方を有し、
前記電圧を適応的に制御する手段は、プロセッサ及びメモリ要素のうちの前記少なくとも一方においてシングルイベントラッチアップが発生する可能性を低減させるような適切なレベルに前記電圧を制御する請求項1又は2に記載の装置。
【請求項9】
電子処理装置と、
前記電子処理装置に供給される前記電圧を制御する請求項1から8の何れか一項に記載の装置とを備えるシステム。
【請求項10】
プロセッサ又はメモリ要素を有する電子処理装置に供給される電源電圧を低減させる方法であって、
前記電子処理装置の出力を受信する段階と、
前記電子処理装置の前記出力がエラーを含むかを判断する段階と、
前記電子処理装置に供給される前記電圧に対する調整が必要かを、前記出力におけるエラーの分析に基づいて判断する段階と、
調整が必要であると判断された場合には、前記電圧の調整を行う段階とを備える方法。
【請求項11】
前記電子処理装置の前記出力がエラーを含む場合には、前記エラーを修正する段階を更に備える請求項10に記載の方法。
【請求項12】
前記電子処理装置は、同じ出力値を提供するべく対応する処理タスクを実行する2つのプロセッサを有し、
前記電子処理装置の前記出力がエラーを含むかを判断する段階は、前記2つのプロセッサの一方の出力と前記2つのプロセッサの他方の出力とを比較する段階を含み、
前記エラーを修正する段階は、前記2つのプロセッサのうちの少なくとも1つに、前記処理タスクを繰り返すように命令する段階を含む請求項11に記載の方法。
【請求項13】
前記電子処理装置は、対応するデータを格納するための2つのランダムアクセスメモリ要素を有し、
前記メモリ要素はそれぞれ、システムデータ及び関連するエラー管理データを格納し、
前記電子処理装置の前記出力は、システムデータ及び関連するエラー管理データを含み、
前記電子処理装置の前記出力がエラーを含むかを判断する段階は、前記メモリ要素の前記出力におけるエラー管理データを分析する段階を含み、
前記エラーを修正する段階は、前記2つのメモリ要素のうちの一方の前記出力におけるエラーを、前記2つのメモリ要素のうちの前記一方からの前記エラー管理データに基づいて、又は、2つの前記メモリ要素のうちの他方から読み出されたデータに基づいて、修正する段階を含む請求項11に記載の方法。
【請求項14】
前記電子処理装置は、プロセッサ及びメモリ要素のうちの少なくとも一方を有し、
前記電圧を制御する段階は、前記電子処理装置のプロセッサ及びメモリ要素のうちの少なくとも一方でシングルイベントラッチアップが発生するのを回避するべく、前記電圧を制御することを含む請求項10又は11に記載の方法。
【請求項15】
コンピュータに、請求項10から14の何れか一項に記載の方法を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−114685(P2013−114685A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−255546(P2012−255546)
【出願日】平成24年11月21日(2012.11.21)
【出願人】(512276430)アストリアム リミテッド (1)
【Fターム(参考)】