(57)【要約】【課題】回路における故障検出システムは、二重化回路を使用せずに同回路における故障を検出することができる。【解決手段】テスト信号は、入力信号に基づいて生成されてもよく、入力信号およびテスト信号は、回路を通して送信されてもよく、結果として生じる信号は、何らかの故障があるか判断するために比較することができる。一実施形態において、テストされる処理ブロックを通過後に信号が比較された場合に、信号間の変化が所定量を上回る場合は故障が起きたと判断することができるように、入力信号のビットおよびテスト信号のビットに関数を適用することができる。その他の実施形態において、第１関数を入力信号に適用することができ、第２関数をテスト信号に適用することができ、結果として生じる出力を比較することができる。
2020515833.tif 000002
【特許請求の範囲】
【請求項１】
入力信号に基づくテスト信号を生成し、前記テスト信号を前記入力信号に関連付けられた回路に印加する信号発生器と、
第１関数を前記テスト信号に適用し、第２関数を前記入力信号に適用して、それぞれ第１信号および第２信号にし、前記第２関数は前記第１関数に基づいている関数ブロックと、
前記第１信号および前記第２信号がテストされる処理ブロックを通過した後に前記第１信号および前記第２信号を受信し、前記第１信号および前記第２信号を比較して前記処理ブロックが故障を有するかどうかを判断する故障検出ブロックと、
を備える故障検出装置。
【請求項２】
請求項１に記載の故障検出装置において、
前記故障検出ブロックは、前記第１信号および前記第２信号の比較の結果がゼロになる場合、故障が起きていないと判断する故障検出装置。
【請求項３】
請求項１に記載の故障検出装置において、
前記故障検出ブロックは、前記第１信号および前記第２信号の加算の結果が所定の範囲の数に等しい合計となる場合、故障が起きていないと判断する故障検出装置。
【請求項４】
請求項１に記載の故障検出装置において、
前記故障検出ブロックは、前記第１信号および前記第２信号の加算の結果が所定の範囲外の合計となる場合、故障が起きていると判断する故障検出装置。
【請求項５】
請求項１に記載の故障検出装置において、
前記関数ブロックは、前記第１信号に対して前記第２信号を反転するデジタルロジックを備える故障検出装置。
【請求項６】
請求項５に記載の故障検出装置において、
前記デジタルロジックは、前記第２信号を生成するために前記入力信号の２の補数をとる故障検出装置。
【請求項７】
請求項１に記載の故障検出装置において、
前記関数ブロックは、前記第２信号を生成するために前記入力信号の１の補数をとるデジタルロジックを備える故障検出装置。
【請求項８】
請求項１に記載の故障検出装置において、
前記テスト信号は前記入力信号から派生する故障検出装置。
【請求項９】
請求項１に記載の故障検出装置において、
前記信号発生器は、複数の入力から複数の入力信号にそれぞれ対応するテスト信号を生成することができる故障検出装置。
【請求項１０】
請求項１に記載の故障検出装置において、
前記第２信号が受信されるまで前記第１信号に関連する情報を格納するメモリをさらに備える故障検出装置。
【請求項１１】
請求項１に記載の故障検出装置において、
前記テスト信号および前記入力信号は、時間多重化されている故障検出装置。
【請求項１２】
請求項１に記載の故障検出装置において、
前記信号発生器は、前記入力信号が前記回路に印加された後に続いて前記テスト信号を前記回路に印加する故障検出装置。
【請求項１３】
テスト信号を回路に印加し、前記テスト信号は前記回路に印加された入力信号から派生し、
前記テスト信号および前記入力信号を処理ブロックに印加し、
前記処理ブロックを通過後の前記テスト信号および前記入力信号の受信に応じて、ゼロにならない前記テスト信号および前記入力信号の前記ビットの合計に対して前記処理ブロックが故障を含むと判断する故障検出方法。
【請求項１４】
請求項１３に記載の故障検出方法において、
前記処理ブロックが故障を含むという前記判断は、前記ビットの前記合計がゼロの周囲の所定の範囲外にあると判断することを含む故障検出方法。
【請求項１５】
請求項１３に記載の故障検出方法において、
デジタル加算器により前記入力信号の２の補数をとることにより前記入力信号に対して前記テスト信号を反転することをさらに含む故障検出方法。
【請求項１６】
請求項１３に記載の故障検出方法において、
前記入力信号の１の補数をとることにより前記入力信号に対して前記テスト信号を反転することをさらに含む故障検出方法。
【請求項１７】
請求項１３に記載の故障検出方法において、
前記入力信号およびテスト信号を時間多重することをさらに含む故障検出方法。
【請求項１８】
請求項１３に記載の故障検出方法において、
前記入力信号を前記回路に印加した後に続いて前記テスト信号を前記回路に印加することをさらに含む故障検出方法。
【請求項１９】
コンピュータ実行可能な命令を格納するメモリと、
動作を行うためにコンピュータ実行可能な命令を実行するプロセッサとを備え、
前記動作は、
入力信号に基づくテスト信号を生成し、前記テスト信号を前記入力信号に関連付けられたプログラム機能に適用し、
第１関数を前記テスト信号に適用し、第２関数を前記入力信号に適用して、それぞれ第１信号および第２信号にし、前記第１関数は前記第２関数に基づき、
処理ブロックを通過後の前記第１信号および前記第２信号の受信に応じて、ゼロにならない前記第１信号および前記第２信号の合計に基づいて前記処理ブロックが故障を有すると判断することを含む、故障検出システム。
【請求項２０】
請求項１９に記載の故障検出システムにおいて、
前記第１信号および前記第２信号の前記合計がゼロの周囲の所定の範囲外である故障検出システム。
【請求項２１】
請求項１９に記載の故障検出システムにおいて、
前記第１関数および前記第２関数の前記適用は、前記入力信号の１の補数または２の補数をとるデジタルロジックを介して前記第１信号に対して前記第２信号を反転することを含む故障検出システム。
【請求項２２】
請求項１９に記載の故障検出システムにおいて、
前記動作は、複数の入力から受信された各入力信号に基づいた複数のテスト信号を生成することをさらに含む故障検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１７年３月２８日に出願され「単一回路故障検出」と題された非仮米国特許出願第１５／４７１，５３９号の優先権の利益を主張し、その全内容は参照により本明細書に組み込まれる。
【０００２】
本開示は、故障検出システムに関する。
【背景技術】
【０００３】
故障検出回路は、短絡回路、故障のあるプロセッサ、および／または故障のある回路構成要素などの故障があるかどうかを判断するために使用される。その他の故障は、縮退故障、ブリッジ故障、トランジスタ故障またはオープン故障、最終的には機能性故障を引き起こす可能性のある放射によるフリッピング論理状態を含んでいてもよい。従来、完全な補償は、故障検出回路により達成され、この故障検出回路は、結果として生じる回路出力を比較するために二重化回路を使用している。２つの回路出力間の差が事前に定義された閾値を上回る場合、故障が起きたと判断することができる。しかしながら、これらの二重化回路は、コスト面およびシリコン面積の双方が高くつく。代替技術は、既知のテスト信号の挿入に基づくが、検出が遅く（長い検出時間）および／または１００％のロジック故障検出を達成できない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下は、明細書の複数の態様の基本的な理解を提供するために、明細書の簡単化した概要を示す。この概要は、明細書の広範囲の概要ではない。明細書の鍵となる、または、重要な要素を特定することも、明細書のいずれかの実施形態または請求項のいずれかの範囲に特有の何らかの範囲を記述することも意図していない。その唯一の目的は、後述のより詳細な説明の前置きとして、明細書の複数のコンセプトを簡単化して示すことである。
【課題を解決するための手段】
【０００５】
非限定的な例において、故障検出装置は、入力信号自体に基づくテスト信号を生成し、テスト信号を入力信号に関連付けられた回路に印加する信号発生器を含んでいてもよい。この装置は、関数ブロックをさらに含んでいてもよい。関数ブロックは、第１関数をテスト信号に適用し、第２関数を入力信号に適用して、それぞれ第１信号および第２信号にし、第２関数は第１関数に基づいている。この装置は、第１信号および第２信号がテストされる処理ブロックを通過した後に第１信号および第２信号を受信し、第１信号および第２信号を比較して処理ブロックが故障を有しているかどうかを判断する故障検出ブロックをさらに含んでいてもよい。
【０００６】
別の非限定的な例において、故障検出方法は、テスト信号を回路に印加することを含んでいてもよく、このテスト信号は、回路に印加された入力信号から派生している。本方法は、テスト信号および入力信号を処理ブロックに印加することをさらに含んでいてもよい。本方法は、処理ブロックを通過後のテスト信号および入力信号の受信に応じて、ゼロにならないテスト信号および入力信号のビットの合計に対して、処理ブロックが故障を含むと判断することをさらに含んでいてもよい。
【０００７】
さらに別の非限定的な例において、故障検出システムは、コンピュータ実行可能な命令を格納するメモリと、動作を行うためにコンピュータ実行可能な命令を実行するプロセッサとを備えていてもよい。この動作は、入力信号に基づくテスト信号を生成し、テスト信号を入力信号に関連付けられたプログラム機能に適用することを含んでいてもよい。この動作は、第１関数をテスト信号に適用し、第２関数を入力信号に適用して、それぞれ第１信号および第２信号にし、第１関数は第２関数に基づいていることをさらに含んでいてもよい。この動作は、処理ブロックを通過後の第１信号および第２信号の受信に応じて、ゼロにならない第１信号および第２信号の合計に基づいて処理ブロックが故障を有すると判断することをさらに含んでいてもよい。
【０００８】
以下の説明および図面は、明細書の特定の説明的な態様を含む。これらの態様は叙述的であるが、明細書の原理が採用されてもよい様々な方法の一部である。明細書の他の利点および新規の特徴は、図面に関連して考察される場合に明細書の以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【０００９】
本発明の複数の態様、実施形態、目的、および利点は、全体を通して同様の参照符号が同様の部材を表す添付の図面に関連して以下の詳細な説明を検討すると明らかになる。
【図１】図１は、本開示の様々な非限定的態様に係る故障検出システムの非限定的ブロック図である。
【図２】図２は、本開示の様々な非限定的態様に係る故障検出システムの非限定的ブロック図である。
【図３】図３は、本開示の様々な非限定的態様に係る時間多重化を使用する故障検出システムの非限定的ブロック図である。
【図４】図４は、本開示の様々な非限定的態様に係る故障検出装置の非限定的概略図である。
【図５】図５は、開示された主題の様々な非限定的態様に係る単一回路における故障検出に関連付けられた非限定的方法の例示的フローチャートを示す図である。
【図６】図６は、本開示の特定の実施形態に係る演算環境についての例示的概略ブロック図である。
【発明を実施するための形態】
【００１０】
（概要）
簡単な概要が提供される一方で、本開示の特定の態様は、限定ではなく説明を目的としてここに記載すなわち描写される。したがって、開示された装置、システム、および手法によって示唆されるような開示された実施形態の変形例は、ここに開示される主題の範囲内に含まれるものとする。例えば、本開示の装置、技術、および方法の様々な実施形態は、ＭＥＭＳセンサーおよびセンサーにおける故障検出システムの文脈において説明される。特に、ＭＥＭＳセンサーから取得されたセンサーデータは、一連の処理構成要素を用いて処理され得るものであり、ここに開示される故障検出装置は、センサーデータ信号の故障検出に関連していてもよい。しかしながら、以下でさらに詳述するように、様々な例示的実施は、他のタイプの回路および他のタイプの信号における故障検出に適用され得る。ここで開示される原理は、ここに記載の主題から逸脱することなく、ソフトウエア処理における故障検出、プログラミング論理における故障検出に適用することもできる。
【００１１】
ここで、ＭＥＭＳセンサー、ＭＥＭＳ加速度計、ＭＥＭＳジャイロスコープ、ＭＥＭＳ慣性センサー、１つまたは複数のＭＥＭＳ音響センサー、および１つまたは複数のＭＥＭＳ音声センサー等の用語は、文脈からこれらの用語を特に区別できない限り、互換可能に使用されている。例えば、これらの用語は、加速度、回転率、近接の測定、音響特性の判断、もしくは音響信号の生成などが可能な構成要素またはＭＥＭＳデバイスのことを指していてもよい。
【００１２】
さらに、「同じ時間に」、「共通の時間」、「同時の」、「同時に」、「並行して」、「実質的に同時に」、「即時の」などの用語は、文脈からこれらの用語を特に区別できない限り、全体を通して互換可能に採用されている。なお、このような用語は、互いに相対的な時間のことを指していてもよく、１つまたは複数の動きを正確に同時に指していない場合があると理解されるものとする。例えば、システム制限（例えばダウンロード速度、プロセッサ速度、メモリアクセス速度など）は、遅延または非同期化された動きの原因となり得る。その他の実施形態において、このような用語は時間量の所定の閾値を上回らない期間内に起こる作動または動きを指していてもよい。
【００１３】
様々な実施形態は、回路に故障検出システムを提供し、この回路は二重化回路を使用せずに同回路における故障を検出する。テスト信号は入力信号に基づいて生成されてもよく、入力信号およびテスト信号は回路を通して送信されてもよく、結果として生じる信号は何らかの故障があるか判断するために比較されてもよい。一実施形態において、テストされる処理ブロックを通過後に信号が比較された場合に、信号間の変化が所定量を上回る場合は故障が起きたと判断することができるように、入力信号のビットおよびテスト信号のビットに関数を適用してもよい。その他の実施形態において、第１関数を入力信号に適用してもよく、第２関数をテスト信号に適用してもよく、結果として生じる出力を比較してもよい。さらに他の実施形態において、入力信号およびテスト信号は時間多重化されて、故障の存在を判断するために使用できる第２出力信号が生成され得る。
【００１４】
様々な他の構成または配置をここで説明する。なお、様々な実施形態は、他の構成要素および／または機能性を含んでいてもよい。また、様々な実施形態は、多機能テレビ、スマートフォンまたはその他のセルラーフォン、ウェアラブル（例えば時計、ヘッドフォンなど）、タブレットコンピュータ、電子ブックデバイス（すなわち電子書籍リーダー）、ラップトップコンピュータ、デスクトップコンピュータ、モニター、デジタルレコーディングデバイス、電気器具、家庭用電気器具、携帯ゲームデバイス、リモートコントローラ（例えばビデオゲームコントローラ、テレビコントローラなど）、自動車デバイス、個人用電子機器、医療デバイス、工業システム、カメラ、および様々な他のデバイスを含む比較的大きいシステムまたは分野に含まれていてもよい。
【００１５】
（例示的実施形態）
本開示の様々な態様または特徴は、図面を参照して説明され、全体を通して、同様の参照番号は同様の要素を指すために使用される。この明細書において、多数の具体的詳細は、本開示の完全な理解を提供するために定義される。しかしながら、開示の特定の態様は、これらの具体的詳細無しで、または、他の方法、構成要素、パラメータなどと共に実践されてもよいものとする。その他の事例において、周知の構造およびデバイスは、様々な実施形態の記載および説明を簡単化するためにブロック図の形態で示されている。
【００１６】
図１は、本開示の様々な非限定的態様に係る故障検出システムの例示的な非限定的ブロック図１００を示す。一実施形態において、信号１０２は、処理ブロック１１２による１つまたは複数の機能および／または動作を簡単化するために、回路に印加されてもよい。処理ブロック１１２は、入力信号１０２に基づく動作を行う任意のプロセッサ、チップ、またはハードウエアロジックを含んでいてもよい。この動作は、メモリからの命令を実行すること、または、演算を行うこと、またはその他の動作を含んでいてもよい。
【００１７】
様々な実施形態において、縮退故障、ブリッジ故障、トランジスタ故障またはオープン故障、短絡回路、および最終的に機能性破壊を引き起こす可能性のあるその他の故障などの故障を第２信号、すなわちテスト信号１０４を用いて検出することができる。従来のシステムでは、テスト信号は、テストされる処理ブロック１１２においてテスト済回路と重複する分離回路を用いて適用される。しかしながら、ここに記載の実施形態では、回路の二重化の必要性、ならびに、不要なシリコン面積およびコストの増加を回避するために、テスト信号１０４を同じ回路に印加してもよい。
【００１８】
テスト信号１０４は、複数の実施形態においては信号発生器により生成されてもよく、または、信号１０２の変更版および／または修正版であってもよい。これは、図１において「ｘ」である信号１０２、および、「ｇ（ｘ）」であるテスト信号１０４として表されており、テスト信号１０４は、ｘの何らかの関数ｇである。
【００１９】
テスト信号１０４および信号１０２は、それぞれ関数ブロック１０６を通過することができる。関数ブロック１０６は、第１関数を一次信号１０２に適用し、第２関数をテスト信号１０４に適用して、ｘの関数である修正済信号１０８およびｘのｇの別の関数である修正済テスト信号１１０にする。修正済テスト信号１１０におけるハッシュ記号は、信号に適用された機能が異なる機能であることを示していてもよい。しかしながら、その他の実施形態では、同じ関数を一次信号１０２およびテスト信号１０４の双方に適用することができる。その他の実施形態において、テスト信号１０４に適用される第２関数は、一次信号１０２に適用される第１関数の逆関数であってもよい。
【００２０】
ここではデジタル回路が参照されるが、この原理は、ソフトウエア機能だけではなく、アナログ回路にも適用可能であると理解されるものとする。例えば、テスト信号１０４は一次信号１０２に基づいて生成され、テスト信号１０４に対応するデジタルビットは一次信号１０２を表すデジタルビットに基づいている。同様に、関数ブロック１０６は、信号１０２およびテスト信号１０４を表すデジタルビットに対して修正を行う。例えば、信号発生器または関数ブロック１０６は、デジタルロジックまたはデジタル加算器を含んでいてもよく、デジタルロジックまたはデジタル加算器は、入力信号１０２に対してテスト信号１０４を反転させることができるか、または、修正済信号１０８および１１０となる一次信号１０２およびテスト信号のビットの２の補数または１の補数をとることができる。アナログ回路実施形態において、テスト信号発生器または関数ブロックは、信号のデジタルビットの修正を含まない信号のアナログ変換（例えば、反転など）を行うことができる。
【００２１】
一実施形態において、修正済入力信号１０８および修正済テスト信号１１０の双方は、処理ブロック１１２を通過することができ、故障検出システムは、故障１１４が起きたかどうかを処理ブロック１１２の出力に基づいて判断することができる。出力信号１０８および１１０が所定値外である場合、処理ブロック１１２に故障１１４があると判断することができる。例えば、関数ブロック１０６は、修正済信号１０８および１１０が処理ブロック１１２を通過した場合、出力が互いに打ち消すか、または互いに加算または組み合わせられた場合、ある具体的な結果（例えば、一例示的実施形態においてはヌル値またはその他の実施形態においては別の値）を提供するように、修正済信号１０８および１１０となる信号１０２および１０４に関数を適用してもよい。例えば、出力信号のデジタルビットが互いに加算され所定値になる場合、処理ブロック１１２が機能的であり検出可能な故障が無いと判断してもよい。しかしながら、比較の値が所定の範囲外であれば、故障検出システムは、処理ブロック１１２が何らかの種類の故障を有すると判断することができる。
【００２２】
一実施形態において、１０６において入力信号１０２およびテスト信号１０４に適用される関数は、故障が存在するかどうかを判断するために行われる入力信号に対するテスト信号の比較を簡単化するため、処理ブロック１１２のタイプ、または、処理ブロック１１２において行われる変換のタイプに基づいていてもよい。その他の実施形態において、故障検出は、適用される関数と処理ブロック１１２とに基づいて変更されてもよい。
【００２３】
処理ブロック１１２を通過後の信号１０８および１１０の出力の加算が比較される一実施形態では、故障が存在するかどうかを、結果として生じる値の範囲に基づいて判断することができる。処理ブロック１１２を通した値の何らかの自然な切り上げおよび切り下げがあってもよく、目標値前後の所定の範囲は、丸め値を構成していてもよい。
【００２４】
一実施形態において、テスト信号１０４は、入力信号１０２が回路に印加された後に回路に導入してもよい。テスト信号は、各入力信号の後、連続的テストを提供するために、続いて、回路に印加されてもよく、または、テスト信号は、様々な所定の周期（例えばマイクロ秒毎、ミリ秒毎など）で、先行の入力信号をテスト信号のための基礎として用いて印加されてもよい。回路は、信号の比較を行うために対応する信号が受信されるまで入力信号またはテスト信号の記録を保持するために、１つまたは複数のメモリ（例えば、フラッシュ、ＥＥＰＲＯＭ（登録商標）、ＲＡＭ、ＤＲＡＭ、およびＳＲＡＭなど）を含んでいてもよい。
【００２５】
その他の実施形態では、テスト信号１０４を、入力信号１０２と実質的に同じ時間に回路に印加してもよく、これらの信号は、入力信号１０２およびテスト信号１０４の双方を実質的に同じ時間に伝送するために、時間領域多重化もしくは周波数領域多重化されてもよく、または、多重化の形態であってもよい。
【００２６】
一実施形態において、入力信号１０２は、複数の入力信号の１つであってもよく、入力信号の１つまたは複数に対応する１つまたは複数のテスト信号があってもよい。したがって、回路は、複数の入力信号と対応するテスト信号との間を比較することによって故障をテストすることができる。
【００２７】
次に、図２を参照して、本開示の様々な非限定的態様に係る故障検出システムの非限定的ブロック図を説明する。
【００２８】
図２に示す実施形態では、テスト信号２０４は、入力信号２０２の逆数であってもよい。関数ブロック２０６は、同じ関数を入力信号２０２およびテスト信号２０４の双方に適用して、ｆ（ｘ）である修正済入力信号２０８と−ｆ（ｘ）である修正済テスト信号２１０にしてもよい。関数ブロック２０６は、デジタルロジックを含んでいてもよく、デジタルロジックは、入力信号２０２に対してテスト信号２０４を反転することができるか、または、修正済信号２０８および２１０になる入力信号２０２およびテスト信号２０４のビットの２の補数または１の補数をとることができる。アナログ回路実施形態において、テスト信号発生器または関数ブロックは、前記信号のデジタルビットの修正を含まない信号のアナログ変換（例えば、反転など）を行うことができる。
【００２９】
修正済信号２０８および２１０は、これら信号のデジタルビットを合計するデジタルロジック２１２によって比較されてもよい。エラーが無い場合、デジタルロジック２１２の結果は、０付近の出力２１４となるはずである。故障検出システムは、非ゼロ値が０の所定の範囲内である限り、非ゼロ値を故障無しとして受け入れることもできる。この所定の範囲は、回路において行われてもよい許容可能な丸めおよび概算のレベルからなる。しかしながら、出力２１４の値がゼロの周囲の所定の範囲外である場合、回路は故障を有していると判断されてもよい。
【００３０】
図２に示すこの実施形態において、この実施は、ｘの関数の結果は負のｘ入力については負であり、ｘの関数の結果は正のｘ入力については正である、奇関数に適していてもよい。その他の実施形態において、偶関数を異なる実施と共に使用することができる。
【００３１】
図１における前記実施形態でのように、故障検出システム２００は、単一回路上に含まれていてもよい。テスト信号２０４は、連続したテストを提供するため、各入力信号の後に、続いて、回路に印加されてもよく、または、テスト信号は、先行の入力信号をテスト信号のための基礎として用いて、様々な所定の周期（例えば、マイクロ秒毎、ミリ秒毎など）で印加されてもよい。回路は、信号の比較を行うために対応する信号が受信されるまで入力信号またはテスト信号の記録を保持するために、１つまたは複数のメモリ（例えば、フラッシュ、ＥＥＰＲＯＭ（登録商標）、ＲＡＭ、ＤＲＡＭ、およびＳＲＡＭなど）を含んでいてもよい。
【００３２】
一実施形態において、入力信号２０２は、複数の入力信号の１つであってもよく、入力信号の１つまたは複数に対応する１つまたは複数のテスト信号があってもよい。したがって、回路は、複数の入力信号と対応するテスト信号との間を比較することによって故障をテストすることができる。
【００３３】
次に、図３を参照して、本開示の様々な非限定的態様に係る時間多重化を用いる故障検出システムの非限定的ブロック図３００を説明する。ここに示すこの実施形態において、３０２において複数の入力（例えばＸ、Ｙ、Ｚ、ならびにテスト信号−Ｘ、−Ｙ、および−Ｚ）があってもよい。これらの入力およびテスト信号は、多重化されてもよく、３０４および３０６において１つまたは複数の関数が入力およびテスト信号に実施されてもよい。その後、３０８において、入力信号は、追加段階の間に続いてテスト信号と比較されて、３１０においてそれらの値が決定されてもよい。結果が所定値、例えば、３１２における２つの最下位ビットよりも大きい場合、３１４において回路に故障がある可能性があると判断することができる。
【００３４】
一実施形態において、ここに開示される故障検出システムは、故障検出を含むａ×ｘ＋ｂを含む関数を実施する。
【００３５】
次に、図４を参照して、本開示の様々な非限定的態様に係る故障検出装置４０２の非限定的概略図４００を説明する。故障検出装置４０２は、信号発生器４０４を含んでいてもよく、信号発生器４０４は、入力信号に基づいたテスト信号を生成し、テスト信号を入力信号に関連付けられた回路へ印加する。関数ブロック４０６が含まれていてもよく、関数ブロック４０６は、第１関数をテスト信号に適用し、第２関数を入力信号に適用して、それぞれ第１信号および第２信号にし、第２関数は第１関数に基づいている。故障検出ブロック４０８が含まれていてもよく、故障検出ブロック４０８は、第１信号および第２信号がテストされる処理ブロックを通過した後に第１信号および第２信号を受信し、第１信号と第２信号とを比較して処理ブロックが故障を有しているかどうかを判断する。第２信号が受信されるまで第１信号に関連する記憶情報を格納するために、メモリ４１０がさらに含まれていてもよい。
【００３６】
信号発生器は、入力信号の変更版および／または修正版に基づいてテスト信号を生成することができる。テスト信号および信号は、それぞれ関数ブロック４０６を通過することができ、関数ブロック４０６は、第１関数を一次信号に適用し、第２関数をテスト信号に適用して、ｘの関数である修正済信号およびｘの別の関数である修正済テスト信号にすることができる。しかしながら、その他の実施形態において、関数ブロック４０６は、同じ関数を入力信号とテスト信号との双方に適用してもよい。その他の実施形態において、テスト信号に適用される第２関数は、入力信号に適用される第１関数の逆関数であってもよい。
【００３７】
ここではデジタル回路が参照されるが、この原理は、ソフトウエア機能だけではなく、アナログ回路にも適用可能であると理解されるものとする。例えば、テスト信号は、一次信号に基づいて生成され、この場合、テスト信号のビットは、一次信号のビットに基づいている。同様に、関数ブロック４０６は、信号およびテスト信号のビットに対する修正を行う。例えば、信号発生器４０４または関数ブロック４０６は、デジタルロジックまたはデジタル加算器を含んでいてもよく、デジタルロジックまたはデジタル加算器は、入力信号に対してテスト信号を反転することができるか、または、修正済信号となる一次信号およびテスト信号のビットの２の補数または１の補数をとることができる。アナログ回路実施形態において、信号発生器４０４または関数ブロック４０６は、前記信号のビットの修正を含まない信号のアナログ変換（例えば、反転など）を行うことができる。
【００３８】
一実施形態において、信号発生器４０４は、入力信号が回路に印加された後に回路へテスト信号を導入することができる。テスト信号は、連続したテストを提供するため、各入力信号の後に、回路に印加されてもよく、または、テスト信号は、先行の入力信号をテスト信号のための基礎として用いて、様々な所定の周期（例えば、マイクロ秒毎、ミリ秒毎など）で印加されてもよい。回路は、信号の比較を行うために対応の信号が受信されるまで、入力信号またはテスト信号の記録を保持するために１つまたは複数のメモリ（例えばメモリ４１０）を含んでいてもよい。
【００３９】
故障検出ブロック４０８は、テストされるチップまたはロジックを通過した後の信号の出力を比較してもよい。信号の値を比較することにより、故障検出ブロック４０８は、値の合計が所定値の周囲の所定の範囲外にある場合は故障が起きたと判断することができる。テスト信号が入力信号の逆数であり、信号の組み合わせがゼロで（または、ゼロの所定の範囲内で）はない場合、故障検出ブロック４０８は、チップまたはロジックが故障を含むと判断することができる。
【００４０】
（例示的方法）
上記主題を考慮し、本開示にしたがって実施され得る方法は、図５のフローチャートを参照してよりよく理解される。説明を簡単化するため、本方法は、一連のブロックとして示され記載されるが、このような図および対応の記載は、ブロックの順によって限定されず、複数のブロックは異なる順で起きても、および／または、ここに描写され記載される他のブロックと並行して行われてもよいこと理解されるものとする。フローチャートにより示される任意の非連続的な、または分岐したフローは、同じまたは同様の結果を達成する様々なその他の分枝、フロー経路、およびブロックの順番を実施することができるということを指すと理解されるものとする。また、以下に記載の本方法を実施するために全ての図示されたブロックが必要とされるわけではない場合もある。
【００４１】
図５は、開示された主題の様々な非限定的態様に係る単一回路における故障検出に関連付けられた非限定的方法の例示的フローチャートを示す。非限定的な例として、例示的方法５００は、入力信号と同じ回路に印加されるテスト信号に基づいてチップまたはデジタルロジックにおける故障を回路が有しているかどうかを判断することを簡単化することができる。本方法５００は、５０２から開始することができ、本方法は、５０２において、テスト信号を回路に印加することを含み、この場合、テスト信号は、回路に印加された入力信号から派生するものである。
【００４２】
本方法は、５０４において、テスト信号および入力信号を処理ブロックに印加することを含む。
【００４３】
本方法は、５０６において、処理ブロックを通過後のテスト信号および入力信号の受信に応じて、ゼロにならないテスト信号および入力信号のビットの合計に対して処理ブロックが故障を含むと判断することを含む。
【００４４】
（例示的動作環境）
ここに記載のシステムおよび処理は、単一の集積回路（ＩＣ）チップ、複数のＩＣ、またはＡＳＩＣなどのハードウエア内において具体化され得る。さらに、各処理において処理ブロックの一部または全てが現れる順序は限定的ではないとみなされるものとする。むしろ、処理ブロックの一部は、様々な順序で実行され得るものであり、その全てがここに明確に説明されているわけではない場合もある。
【００４５】
図６を参照して、請求される主題の様々な態様を実施するのに適した環境６００は、コンピュータ６０２を含む。コンピュータ６０２は、処理ユニット６０４、システムメモリ６０６、１つまたは複数のセンサー６３５、およびシステムバス６０８を含む。システムバス６０８は、システムメモリ６０６を含むがこれに限定されないシステム構成要素を処理ユニット６０４に連結する。処理ユニット６０４は、様々な利用可能なプロセッサのいずれかであってもよい。デュアルマイクロプロセッサおよびその他のマルチプロセッサアーキテクチャも処理ユニット６０４として採用され得る。
【００４６】
システムバス６０８は、任意の種々の利用可能なバスアーキテクチャを用いるメモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および／またはローカルバスを含む複数のタイプの１つまたは複数のバス構造のいずれかであってもよく、バスアーキテクチャは、インダストリスタンダードアーキテクチャ（ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＳＡ）、拡張されたＩＳＡ（ＥＩＳＡ）、インテリジェントドライブエレクトロニクス（ＩＤＥ）、ＶＥＳＡローカルバス（ＶＬＢ）、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）、カードバス、ユニバーサルシリアルバス（ＵＳＢ）、アドバンストグラフィックスポート（ＡＧＰ）、パーソナルコンピュータメモリカードインターナショナルアソシエーションバス（ＰＣＭＣＩＡ）、ファイヤーワイヤー（ＩＥＥＥ１３９４）、およびスモールコンピュータシステムインターフェース（ＳＣＳＩ）を含むがこれらに限定されない。
【００４７】
システムメモリ６０６は、揮発性メモリ６１０および不揮発性メモリ６１２を含む。スタートアップ中などにコンピュータ６０２内の要素間で情報を伝送するためにベーシックルーチンを含むベーシックインプット／アウトプットシステム（ＢＩＯＳ）は、不揮発性メモリ６１２に格納されている。一実施形態において、処理ユニット６０４および／またはシステムメモリは、センサー６３５から受信したデジタル信号を処理および／または受信してもよい。その他の実施形態において、処理ユニット６０４は、センサー６３５から受信したクロック信号を用いてセンサー６３５（例えばセンサー３０８）から受信したアナログ信号にサンプリングを行ってもよい。限定ではなく例示として、不揮発性メモリ６１２は、読み出し専用メモリ（ＲＯＭ）、プログラム可能なＲＯＭ（ＰＲＯＭ）、電気的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能なＲＯＭ（ＥＥＰＲＯＭ（登録商標））、またはフラッシュメモリを含んでいてもよい。揮発性メモリ６１０は、外部キャッシュメモリとして機能するランダムアクセスメモリ（ＲＡＭ）を含む。本態様によれば、揮発性メモリは、書き込み動作再試行ロジック（図６に図示せず）などを格納してもよい。限定ではなく例示として、ＲＡＭは、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、倍速ＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、および拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）などの複数の形態で利用可能である。
【００４８】
コンピュータ６０２は、取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体も含んでいてもよい。図６は、例えば、ディスクストレージ６１４を示す。ディスクストレージ６１４は、磁気ディスクドライブ、ソリッドステートディスク（ＳＳＤ）フロッピーディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、またはメモリスティックのようなデバイスを含むがこれらに限定されない。さらに、ディスクストレージ６１４は、記憶媒体を個別に、または、コンパクトディスクＲＯＭデバイス（ＣＤ−ＲＯＭ）、ＣＤ追記型ドライブ（ＣＤ−ＲＤｒｉｖｅ）、ＣＤ書き換え可能なドライブ（ＣＤ−ＲＷＤｒｉｖｅ）またはデジタルヴァーサタイルディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ）などの光学ディスクドライブを含むがこれらに限定されない他の記憶媒体と組み合わせられて含んでいてもよい。システムバス６０８に対するディスクストレージデバイス６１４の接続を簡単化するために、インターフェース６１６などの取り外し可能な、または、取り外し不可能なインターフェースが典型的には使用される。ストレージデバイス６１４はユーザーに関連する情報を格納することができると理解されるものとする。このような情報は、サーバーへ、またはユーザーデバイスにおいて動作するアプリケーションへ格納または提供される可能性がある。一実施形態において、ディスクストレージ６１４に格納され、および／または、サーバーもしくはアプリケーションへ伝送される情報のタイプが（例えば、１つまたは複数の出力デバイス６３６を用いて）ユーザー通知されてもよい。ユーザーには、収集された、および／または（例えば、１つまたは複数の入力デバイス６２８からの入力によって）サーバーもしくはアプリケーションと共有されたこのような情報を有することを制御する機会が提供され得る。
【００４９】
図６は、ソフトウエアを説明し、このソフトウエアは、ユーザーと適した動作環境６００において説明されたベーシックコンピュータリソースとの間の仲介として機能すると理解されるものとする。このようなソフトウエアは、オペレーティングシステム６１８を含む。ディスクストレージ６１４に格納され得るオペレーティングシステム６１８は、コンピュータシステム６０２のリソースを制御し、かつ、配分する役割を果たす。アプリケーション６２０は、システムメモリ６０６またはディスクストレージ６１４のどちらかに格納された、プログラムモジュール６２４、および、ブート／シャットダウントランザクションテーブルなどのプログラムデータ６２６を介したオペレーティングシステム６１８によるリソースの管理を利用する。請求された主題は、様々なオペレーティングシステムまたはオペレーティングシステムの組み合わせで実施され得ると理解されるものとする。
【００５０】
ユーザーは、１つまたは複数の入力デバイス６２８を介してコンピュータ６０２へコマンドまたは情報を入力する。しかしながら、入力デバイス６２８は、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイク、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナー、ＴＶチューナーカード、デジタルカメラ、デジタルビデオカメラ、およびウェブカメラなどのポインティングデバイスに限定されない。これらおよび他の入力デバイスは、１つまたは複数のインターフェースポート６３０を介してシステムバス６０８を通して処理ユニット６０４と接続する。１つまたは複数のインターフェースポート６３０は、例えば、シリアルポート、パラレルポート、ゲームポート、およびユニバーサルシリアルバス（ＵＳＢ）を含む。１つまたは複数の出力デバイス６３６は、１つまたは複数の入力デバイス６２８と同じタイプのポートの一部を使用する。したがって、例えば、ＵＳＢポートは、入力をコンピュータ６０２に提供するため、および、コンピュータ６０２から出力デバイス６３６へ情報を出力するために使用されてもよい。出力アダプタ６３４は、他の出力デバイス６３６のうちモニター、スピーカー、およびプリンターのような特別なアダプタを必要とする複数の出力デバイス６３６があることを示すために提供されている。出力アダプタ６３４は、限定ではなく例示として、出力デバイス６３６とシステムバス６０８との間の接続の手段を提供するビデオおよびサウンドカードを含む。なお、他のデバイスおよび／またはデバイスのシステムは、１つまたは複数のリモートコンピュータ６３８などの入力および出力の双方の能力を提供する。
【００５１】
コンピュータ６０２は、１つまたは複数のリモートコンピュータ６３８などの１つまたは複数のリモートコンピュータに対する論理接続を用いるネットワーク環境において動作することができる。１つまたは複数のリモートコンピュータ６３８は、パーソナルコンピュータ、サーバー、ルーター、ネットワークＰＣ、ワークステーション、器具に基づくマイクロプロセッサ、ピアデバイス、スマートフォン、タブレット、または他のネットワークノードであってもよく、コンピュータ６０２に関連して説明された要素の多くを典型的には含む。簡潔化のため、メモリストレージデバイス６４０のみが１つまたは複数のリモートコンピュータ６３８と共に説明される。１つまたは複数のリモートコンピュータ６３８は、ネットワークインターフェース６４２を介してコンピュータ６０２と論理的に接続され、その後、１つまたは複数の通信接続６４４を介して接続される。ネットワークインターフェース６４２は、ローカルエリアネットワーク（ＬＡＮ）およびワイドエリアネットワーク（ＷＡＮ）およびセルラーネットワークなどの有線および／または無線通信ネットワークを含む。ＬＡＮテクノロジーは、ファイバー分散データインターフェース（ＦＤＤＩ）、銅線分散データインターフェース（ＣＤＤＩ）、イーサネット（登録商標）、およびトークンリングなどを含む。ＷＡＮテクノロジーは、ポイント・ツー・ポイントリンク、サービス総合デジタル網（ＩＳＤＮ）およびそれについての変形例のような回路スイッチングネットワーク、パケットスイッチングネットワーク、およびデジタル加入者線（ＤＳＬ）を含むがこれらに限定されない。
【００５２】
１つまたは複数の通信接続６４４は、ネットワークインターフェース６４２をバス６０８に接続するために採用されるハードウエア／ソフトウエアを指す。通信接続６４４は、説明の明確さのためにコンピュータ６０２の内部に示されているが、コンピュータ６０２の外側にあってもよい。ネットワークインターフェース６４２への接続に必要なハードウエア／ソフトウエアは、単に例示の目的で、一般電話グレードモデム、ケーブルモデムおよびＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、および有線および無線イーサネット（登録商標）カード、ハブ、およびルーターなどの内部および外部テクノロジーを含む。
【００５３】
コンピュータ６０２は、図４を参照して上記で説明した故障検出装置４０２と関連付けられた機能を実施する故障検出エンジン６４６およびコントローラ６４８も含んでいてもよい。
【００５４】
本開示の説明された態様は、通信ネットワークを介してリンクされたリモート処理デバイスによって特定のタスクが行われる分散型の演算環境において実践されてもよい。分散された演算環境において、プログラムモジュールは、ローカルおよびリモート双方のメモリストレージデバイスに位置していてもよい。
【００５５】
ここで説明した様々な構成要素が１つまたは複数の電気回路を含んでいてもよいことが認められ、１つまたは複数の電気回路は、１つまたは複数の本イノベーションの実施形態を実施するために、適切な値の構成要素および回路要素を含んでいてもよい。さらに、様々な構成要素の多くが１つまたは複数の集積回路（ＩＣ）チップにおいて実施され得ることが認められる。例えば、一実施形態において、１セットの構成要素は、単一ＩＣチップにおいて実施され得る。他の実施形態において、構成要素の１つまたは複数は、分離したＩＣチップにおいて製造または実施される。
【００５６】
上記で説明されたことは、本開示の実施形態の例を含む。請求される主題を説明する目的で構成要素または手法の考えられるあらゆる組み合わせを説明することは当然ながら不可能であるが、本イノベーションの多くのさらなる組み合わせおよび置換が可能であることが認められる。したがって、請求される主題は、添付の請求項の趣旨および範囲に含まれる変更、修正、および変形例などの全てを含むものとする。また、要約において記載されたものを含む本開示の説明された実施形態の上記記載は、包括的であることを意図しておらず、また、開示された実施形態を開示した正確な形態に限定することも意図していない。具体的な実施形態および例がここで説明を目的として記載されたが、当業者が認識できるように、このような実施形態および例の範囲内と考えられる様々な修正が可能である。また、全体を通して「ある実施形態」または「一実施形態」という用語の使用は、正確に具体的に記載されない限り、同じ実施形態を意図しない。
【００５７】
特に、上記構成要素、デバイス、回路、およびシステムなどにより行われる様々な機能に関し、このような構成要素を説明するために使用される用語は、特記されない限り、請求された主題のここに説明された例示の態様における機能を行う、開示された構造に対する構造的等価物でないにもかかわらず、説明された構成要素の特定の機能を行う任意の構成要素（例えば、機能的等価物）に対応することを意図する。この点に関し、本イノベーションが、請求される主題の様々な方法の作動および／または事象を実行するためのコンピュータ実行可能な命令を有するコンピュータ読み取り可能な記憶媒体だけではなく、システムも含むことも認識される。
【００５８】
前記図／システム／回路／モジュールは、複数の構成要素／ブロック間の相互動きに関して説明された。このようなシステム／回路および構成要素／ブロックは、これらの構成要素または特定されたサブ構成要素、特定された構成要素またはサブ構成要素の一部、および／または追加の構成要素を含んでいてもよく、これらの様々な置換および組み合わせに従っていることが認められる。サブ構成要素は、親構成要素内に含まれる（階層的）よりは、他の構成要素と通信可能に連結された構成要素として実施されてもよい。さらに、１つまたは複数の構成要素は、集合体機能性を提供する単一の構成要素に統合されるか、または、複数の分離したサブ構成要素に分割されてもよく、管理層などの任意の１つまたは複数の中間層が、集積された機能性を提供するためにこのようなサブ構成要素と通信可能に連結するために設けられていてもよい。ここで説明された任意の構成要素は、ここでは具体的に説明はされなかったが当業者には知られている１つまたは複数の他の構成要素と相互動きしてもよい。
【００５９】
さらに、本イノベーションの特別な特徴は複数の実施の１つのみに関して説明されたかもしれないが、このような特徴は、他の実施の１つまたは複数の他の特徴と任意のまたは特別なアプリケーションにとって望ましく、かつ、有利なように組み合わされてもよい。さらに、用語「含む」、「含んでいる」、「有する」、「含有する」、これらの変化形、および他の同様の語が詳細な説明または請求項のいずれかで使用される限り、これらの用語は、「備える」と同様にオープンな移行句として、何らかの追加の、または他の要素を排除しないことを意図する。
【００６０】
本願において、用語「構成要素」、「モジュール」、または「システム」などは、一般的に、コンピュータ関連の実体、ハードウエア（例えば回路）、ハードウエアとソフトウエアとの組み合わせ、ソフトウエア、または、１つまたは複数の特定の機能性を有するオペレーション機械に関する実体のいずれかを指すことを意図する。例えば、構成要素は、プロセッサ（例えば、デジタル信号プロセッサ）において動作する処理、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および／またはコンピュータであってもよいがこれらに限定されない。例示として、コントローラにおいて動作するアプリケーションおよびコントローラの双方が１つの構成要素であってもよい。１つまたは複数の構成要素は、プロセスおよび／または実行スレッド内に存在してもよく、構成要素は、１つのコンピュータに集約されても、および／または、２つまたはそれ以上のコンピュータ間に分散されてもよい。さらに、「デバイス」は、特別に設計されたハードウエア；ハードウエアが特定の機能を実施できるようになるソフトウエアを同ハードウエア上で実行することにより特別化された汎用ハードウエア；コンピュータにより読み取り可能な媒体に格納されたソフトウエア；またはこれらの組み合わせの形態で提供されてもよい。
【００６１】
また、「例」または「例示の」という語は、ここでは、例、実例、または説明として機能することを意味するために使用される。「例示の」としてここで説明された任意の観点または設計は、他の態様または設計よりも好ましい、または有利であるとは必ずしも解釈されない。むしろ、「例」または「例示の」という語の使用は、コンセプトを具体的に提示することが意図されている。本願では、「または」という用語は、排他的な「または」ではなく包含的な「または」を意味することが意図されている。つまり、特記されない限り、または文脈から明らかでない限り、「ＸはＡまたはＢを使用する」は、自然な包含的な置換のいずれかを意味することが意図されている。すなわち、「ＸはＡを使用する」、「ＸはＢを使用する」、または、「ＸはＡおよびＢの双方を使用する」ならば、「ＸはＡまたはＢを採用する」は、上記の実例のいずれかの下で満たされる。また、本願および添付の特許請求の範囲において使用される場合の冠詞「ａ」および「ａｎ」は、特記されない限り、または単数を指すことが文脈から明らかでない限り、一般に、「１つまたは複数の」を意味するものとする。
【図１】
2020515833.tif 000003
【図２】
2020515833.tif 000004
【図３】
2020515833.tif 000005
【図４】
2020515833.tif 000006
【図５】
2020515833.tif 000007
【図６】
2020515833.tif 000008
【国際調査報告】
2020515833.tif 000009
2020515833.tif 000010