(57)【要約】ハードウェア検証用のランタイムエラー訂正コード（「ＥＣＣ」）エラー注入方式のためのシステムおよび方法が、開示される。本システムおよび方法は、読取データを内部で転送するように読取パスを構成することと、読取故障注入論理を介して、少なくとも１つの故障ビットを転送された読取データに注入することとを含む。本システムおよび方法はまた、書込データを内部で転送するように書込パスを構成することと、書込故障注入論理を介して、少なくとも１つの故障ビットを転送された書込データに注入することとを含み得る。
2018511888.tif 000002
【特許請求の範囲】
【請求項１】
ランタイムセルフテスト能力を有する統合周辺デバイスであって、
読取データを内部で転送するように構成された読取パスと、
プログラム制御下で、少なくとも１つの故障ビットを前記転送された読取データに注入するように構成されている、読取故障注入論理と、
プログラム制御下で、故障注入が起こるときにエラーインジケーションをプロセッサに提供するように構成されている、エラーインジケーション論理と
を備える、統合周辺デバイス。
【請求項２】
書込データを内部で転送するように構成された書込パスと、
プログラム制御下で、少なくとも１つの故障ビットを前記転送された書込データに注入するように構成されている、書込故障注入論理と、
プログラム制御下で、前記故障注入と関連付けられる場所がアクセスされるときにエラーインジケーションをプロセッサに提供するように構成されている、エラーインジケーション論理と
をさらに備える、請求項１に記載の統合周辺デバイス。
【請求項３】
前記周辺デバイスは、マイクロコントローラ内のエラー訂正コードモジュールである、請求項１または請求項２に記載の統合周辺デバイス。
【請求項４】
前記読取パスは、１３６ビットの幅を有する、請求項１〜３のうちの１項に記載の統合周辺デバイス。
【請求項５】
前記少なくとも１つの故障ビットは、故障パリティビットを含む、請求項１〜４のうちの１項に記載の統合周辺デバイス。
【請求項６】
前記少なくとも１つの故障ビットは、故障パリティビットを含む、請求項１〜５のうちの１項に記載の統合周辺デバイス。
【請求項７】
前記読取故障注入論理はさらに、ユーザが前記注入を有効にしたとき、および前記読取アドレスがユーザ規定メモリ場所に合致するときに、前記少なくとも１つの故障ビットを前記転送された読取データに注入するように構成されている、請求項１〜６のうちの１項に記載の統合周辺デバイス。
【請求項８】
前記書込故障注入論理はさらに、ユーザが前記注入を有効にしたとき、および前記書込アドレスがユーザ規定メモリ場所に合致するときに、前記少なくとも１つの故障ビットを前記転送された書込データに注入するように構成されている、請求項１〜７のうちの１項に記載の統合周辺デバイス。
【請求項９】
プログラム制御下で、少なくとも前記転送された読取データ内の前記少なくとも１つの故障ビットに基づいて、エラーが存在することをＥＣＣシステムに通知するように構成されている、エラー検出論理をさらに備える、請求項１〜８のうちの１項に記載の統合周辺デバイス。
【請求項１０】
プログラム制御下で、少なくとも前記転送された書込データ内の前記少なくとも１つの故障ビットに基づいて、エラーが存在することをＥＣＣシステムに通知するように構成されている、エラー検出論理をさらに備える、請求項１〜９のうちの１項に記載の統合周辺デバイス。
【請求項１１】
ランタイムセルフテスト能力を有する統合周辺デバイスであって、
書込データを内部で転送するように構成された書込パスと、
プログラム制御下で、少なくとも１つの故障ビットを前記転送された書込データに注入するように構成されている、書込故障注入論理と
を備える、統合周辺デバイス。
【請求項１２】
前記周辺デバイスは、マイクロコントローラ内のエラー訂正コードモジュールである、請求項１１に記載の統合周辺デバイス。
【請求項１３】
前記読取パスは、１３６ビットの幅を有する、請求項１１または請求項１２に記載の統合周辺デバイス。
【請求項１４】
前記少なくとも１つの故障ビットは、故障パリティビットを含む、請求項１１〜１３のうちの１項に記載の統合周辺デバイス。
【請求項１５】
前記書込故障注入論理はさらに、ユーザが前記注入を有効にしたとき、および前記書込アドレスがユーザ規定メモリ場所に合致するときに、前記少なくとも１つの故障ビットを前記転送された書込データに注入するように構成されている、請求項１１〜１４のうちの１項に記載の統合周辺デバイス。
【請求項１６】
プログラム制御下で、少なくとも前記転送された書込データ内の前記少なくとも１つの故障ビットに基づいて、エラーが存在することをＥＣＣシステムに通知するように構成されている、エラー検出論理をさらに備える、請求項１１〜１５のうちの１項に記載の統合周辺デバイス。
【請求項１７】
ハードウェア検証用のランタイムＥＣＣエラー注入方式を実装するための方法であって、
読取データを内部で転送するように読取パスを構成することと、
読取故障注入論理を介して、少なくとも１つの故障ビットを前記転送された読取データに注入することと
を含む、方法。
【請求項１８】
書込データを内部で転送するように書込パスを構成することと、
書込故障注入論理を介して、少なくとも１つの故障ビットを前記転送された書込データに注入することと
をさらに含む、請求項１７に記載の方法。
【請求項１９】
前記周辺デバイスは、マイクロコントローラ内のエラー訂正コードモジュールである、請求項１７または請求項１８に記載の方法。
【請求項２０】
前記少なくとも１つの故障ビットは、故障パリティビットを含む、請求項１７〜１９のうちの１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本出願は、同一出願人の、２０１５年４月２日に出願された米国仮特許出願第６２／１４２，０１９号に対して優先権を主張する。上記文献は、全ての目的のためにここで参照することによって本明細書において援用される。
【０００２】
（技術分野）
本開示は、マイクロコントローラ内の周辺デバイス、具体的には、ハードウェア検証用のランタイムＥＣＣエラー注入方式に関する。
【背景技術】
【０００３】
（背景）
いくつかのマイクロコントローラデバイスは、延長したフラッシュメモリ耐用期間をもたらす、エラーを検出して訂正するエラー訂正コード（「ＥＣＣ」）特徴を組み込む。ＥＣＣは、１２８ビット幅のフラッシュワードまたは４つの３２ビット命令ワードグループで実装されてもよい。結果として、ＥＣＣが採用されるデバイス上のフラッシュメモリをプログラムするとき、プログラミング動作は、最小で４つの命令ワード、または４つの命令ワードのグループ内にあってもよい。
【０００４】
機能的安全性を提供するために、セーフティクリティカルシステムのランタイムチェックおよび故障注入の必要性がある。いくつかの安全性レベルで２つの同時故障をハンドリングするための要件は、時折、故障注入を用いて故障論理自体を試験する必要性を追加する。
【発明の概要】
【課題を解決するための手段】
【０００５】
（要約）
ハードウェア検証用のランタイムエラー訂正コード（「ＥＣＣ」）エラー注入方式のためのシステムおよび方法が、開示される。本システムおよび方法は、読取データを内部で転送するように読取パスを構成することと、読取故障注入論理を介して、少なくとも１つの故障ビットを転送された読取データに注入することとを含む。本システムおよび方法はまた、書込データを内部で転送するように書込パスを構成することと、書込故障注入論理を介して、少なくとも１つの故障ビットを転送された書込データに注入することとを含んでもよい。
【０００６】
種々の実施形態によると、ランタイムセルフテスト能力を有する、統合周辺デバイスは、読取データを内部で転送するように構成される、読取パスと、プログラム制御下で、少なくとも１つの故障ビットを転送された読取データに注入するように構成される、読取故障注入論理とを含んでもよい。他の実施形態では、統合周辺デバイスはまた、書込データを内部で転送するように構成される、書込パスと、プログラム制御下で、少なくとも１つの故障ビットを転送された書込データに注入するように構成される、書込故障注入論理とを含んでもよい。
【０００７】
いくつかの実施形態では、周辺デバイスは、マイクロコントローラ内のエラー訂正コードモジュールである。いくつかの構成では、少なくとも１つの故障ビットは、故障パリティビットを含む。
【０００８】
いくつかの実施形態では、読取故障注入論理はさらに、ユーザが注入を有効にしたとき、および読取アドレスがユーザ規定メモリ場所に合致するときに、少なくとも１つの故障ビットを転送された読取データに注入するように構成される。代替として、または併せて、書込故障注入論理はさらに、ユーザが注入を有効にしたとき、および書込アドレスがユーザ規定メモリ場所に合致するときに、少なくとも１つの故障ビットを転送された書込データに注入するように構成される。
【０００９】
いくつかの実施形態では、周辺デバイスは、プログラム制御下で、少なくとも転送された読取データ内の少なくとも１つの故障ビットに基づいて、エラーが存在することをＥＣＣシステムに通知するように構成される、エラー検出論理を含んでもよい。
【００１０】
種々の実施形態によると、ランタイムセルフテスト能力を有する、統合周辺デバイスが開示される。統合周辺デバイスは、書込データを内部で転送するように構成される、書込パスと、プログラム制御下で、少なくとも１つの故障ビットを転送された書込データに注入するように構成される、書込故障注入論理とを含んでもよい。
【００１１】
種々の実施形態によると、ハードウェア検証用のランタイムＥＣＣエラー注入方式を実装するための方法が開示される。本方法は、読取データを内部で転送するように読取パスを構成することと、読取故障注入論理を介して、少なくとも１つの故障ビットを転送された読取データに注入することとを含んでもよい。同一または代替実施形態では、本方法はまた、書込データを内部で転送するように書込パスを構成することと、書込故障注入論理を介して、少なくとも１つの故障ビットを転送された書込データに注入することとを含んでもよい。
【図面の簡単な説明】
【００１２】
【図１】図１は、本開示のある実施形態による、ハードウェア検証のためにシングルまたはダブルビット故障をＥＣＣモジュールの読取パスに注入するための例示的ＥＣＣ読取パス故障注入論理ブロック図を図示する。
【図２】図２は、本開示のある実施形態による、読取パスのためのランタイムＥＣＣエラー注入方式の例示的ＥＣＣモジュールブロック図を図示する。
【図３】図３は、本開示のある実施形態による、ハードウェア検証のためにシングルまたはダブルビット故障をＥＣＣモジュールの書込パスに注入するための例示的ＥＣＣ書込パス故障注入論理ブロック図を図示する。
【図４】図４は、本開示のある実施形態による、読取パスのためのランタイムＥＣＣエラー注入方式の例示的ＥＣＣモジュールブロック図を図示する。
【図５】図５は、本開示のある実施形態による、ＥＣＣ故障注入システムの例示的レジスタ概要を図示する。
【発明を実施するための形態】
【００１３】
（詳細な説明）
いくつかのマイクロコントローラデバイスは、延長したフラッシュメモリ耐用期間をもたらす、エラーを検出して訂正するエラー訂正コード（「ＥＣＣ」）特徴を組み込む。ＥＣＣは、１２８ビット幅のフラッシュワードまたは４つの３２ビット命令ワードグループで実装されてもよい。結果として、ＥＣＣが採用されるデバイス上のフラッシュメモリをプログラムするとき、プログラミング動作は、最小で４つの命令ワード、または４つの命令ワードのグループ内にあってもよい。これは、クワドワードプログラミングコマンドが存在し、行プログラミングが常に４つの言葉の倍数をプログラムする理由である。所与のソフトウェアアプリケーションに関して、ＥＣＣは、専用制御レジスタを使用して、常に有効にされる、常に無効にされる、または動的に有効にされることができる。ＥＣＣが常に有効にされるとき、専用シングルワードプログラミングコマンドは、機能せず、クワドワードが、プログラムされることができるメモリの最小単位である。ＥＣＣが動的に無効または有効にされるとき、ワードおよびクワドワードプログラミングＮＶＭＯＰコマンドが、両方とも機能的であり、使用されるプログラミング方法は、どのようにしてＥＣＣがハンドリングされるかを判定する。動的ＥＣＣの場合、メモリがワードコマンドを用いてプログラムされた場合、ＥＣＣは、その言葉についてオフにされ、それが読み取られるとき、いかなるエラー訂正も行われない。メモリがクワドワードまたは行プログラミングコマンドを用いてプログラムされた場合、ＥＣＣデータが書き込まれ、読み取られたときにエラーについて試験される（必要であれば訂正される）。ＥＣＣおよびフラッシュプログラミングについてのさらなる情報は、それぞれの参考マニュアル、例えば、本出願者から入手可能な「ＰＩＣ  ３２  Ｒｅｆｅｒｅｎｃｅ  Ｍａｎｕａｌ」、具体的には、参照することによって本明細書に組み込まれる、参考マニュアル「Ｓｅｃｔｉｏｎ  ５２．  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  ｗｉｔｈ  Ｓｕｐｐｏｒｔ  ｆｏｒ  Ｌｉｖｅ  Ｕｐｄａｔｅ」から読み出されることができる。
【００１４】
機能的安全性を提供するために、セーフティクリティカルシステムのランタイムチェックおよび故障注入の必要性がある。いくつかの安全性レベルで２つの同時故障をハンドリングするための要件は、時折、故障注入を用いて故障論理自体を試験する必要性を追加する。例えば、通信モジュールが内蔵巡回冗長検査（「ＣＲＣ」）を有するが、通信モジュールのユーザまたはプログラマが、ＣＲＣ結果値およびＣＲＣ結果値を生成するために使用されるいずれのデータへのアクセスも有していない場合、ユーザまたはプログラマは、ＣＲＣ特徴を使用することが不可能であり得る、および／または使用しようとし得ない。
【００１５】
種々の実施形態によると、ＥＣＣモジュールがエラーをデータに意図的に注入するために、故障注入方式が提供されることができ、ＥＣＣモジュールが稼働していることを安全に試験することを可能にする。加えて、種々の実施形態によると、ＥＣＣモジュールへの生産試験インターフェースは、ＥＣＣモジュールの高速かつ包括的な機能試験を可能にすることによって単純化される。さらに、機能試験は、フラッシュメモリを迂回し、入力データおよびパリティの任意の組み合わせを試験することによって、比較的より高速かつ包括的であり得る。
【００１６】
図１は、本開示のある実施形態による、ハードウェア検証のためにシングルまたはダブルビット故障をＥＣＣモジュールの読取パスに注入するための例示的ＥＣＣ読取パス故障注入論理ブロック図１００を図示する。いくつかの実施形態では、例示的論理ブロック図１００は、複数のビットポインタデコーダ１０２、１０４と、ＯＲゲート１０６と、ＡＮＤゲート１０８、１１０と、ビット順デコーダ１１２と、ＸＯＲゲート１１４、１１６、１１８とを含んでもよい。
【００１７】
いくつかの実施形態では、例示的論理ブロック図１００は、複数のビットポインタデコーダ１０２、１０４を含んでもよい。図１の例証的実施例では、２つのビットポインタデコーダ１０２、１０４が図示されるが、より多い、より少ない、および／または異なるデコーダが、本開示の範囲から逸脱することなく使用されてもよい。いくつかの実施形態では、デコーダ１０２、１０４は、ビットポインタ列をデコードするように動作可能である、論理コンポーネント、不揮発性メモリ上に記憶され、プロセッサによって実行可能であるプログラム命令を含む、ソフトウェアモジュール等を含む、任意の適切な電子コンポーネントであってもよい。例えば、デコーダ１０２、１０４は、最大１３６ビットのデータの中の具体的ビットを選択するために、８ビットポインタ列をワンホット信号にデコードしてもよい。他のデコーダ構成が、本開示の範囲から逸脱することなく、任意の所与の構成に含まれてもよい。
【００１８】
いくつかの実施形態では、各デコーダ１０２、１０４は、故障注入ポインタ列を受信するように動作可能であり得る。例えば、デコーダ１０２は、第１の故障注入ポインタ列（例えば、「ｆｌｔ＿ｉｎｊ＿１＿ｐｔｒ［７：０］」）を受信するように動作可能であり得、デコーダ１０４は、第２の故障注入ポインタ列（例えば、「ｆｌｔ＿ｉｎｊ＿２＿ｐｔｒ［７：０］」）を受信するように動作可能であり得る。さらに、各デコーダ１０２、１０４は、デコードされたポインタ列（例えば、データセット、例えば、１３６ビットデータセットの中の具体的ビットを選択するワンホット信号）を通信するように動作可能であり得る。例えば、デコーダ１０２は、第１のデコードされた故障注入ポインタ列（例えば、「ｆｌｔ＿ｉｎｊ＿ｐｔｒ１＿ｏｎｅｈｏｔ［１３６：０］」）を通信するように動作可能であり得、デコーダ１０４は、第２のデコードされた故障注入ポインタ列（例えば、「ｆｌｔ＿ｉｎｊ＿ｐｔｒ２＿ｏｎｅｈｏｔ［１３６：０］」）を通信するように動作可能であり得る。
【００１９】
いくつかの実施形態では、複数のデコードされた故障注入ポインタ列は、ＯＲゲート１０６に通信されてもよい。ＯＲゲート１０６は、複数の入力信号に論理ＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。いくつかの実施形態では、ＯＲゲート１０６は、複数のデコードされた故障注入ポインタ列にＯＲ演算を行うように動作可能であり得る。
【００２０】
いくつかの実施形態では、例示的論理ブロック図１００はまた、ＡＮＤゲート１０８を含んでもよい。いくつかの実施形態では、ＡＮＤゲート１０８は、複数の入力信号に論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート１０８は、２つの入力信号、すなわち、故障注入イネーブル信号（例えば、「ｆｌｔ＿ｉｎｊ＿ｅｎ」）およびアドレス合致インジケーション信号（例えば、「ｆｌｔ＿ｉｎｊ＿ａｄｄｒ＿ｅｑｕａｌ」）にＡＮＤ演算を行うように動作可能である。いくつかの実施形態では、ＡＮＤゲート１０８から生じる信号は、エラーをＥＣＣシステムに注入することに先立って、ＥＣＣモジュールのユーザおよび／またはプログラマが課すことを所望し得る条件と関連付けられる。例えば、ＥＣＣモジュールは、（１）ＥＣＣモジュールのユーザが故障注入を確動的に有効にした（例えば、故障注入イネーブル信号を設定した）、および（２）読取アドレスがユーザ規定メモリ場所に合致する（例えば、アドレス合致インジケーション信号が合致にとって論理的に適切である）ときのみに、エラーを注入するように設定されてもよい。これは、故障注入がユーザによって選択される時点のみに起こることを確実にし、結果として生じるエラーインタラプトが適切にハンドリングされることを可能にし得る。
【００２１】
いくつかの実施形態では、例示的論理ブロック図１００はまた、ＡＮＤゲート１１０を含んでもよい。いくつかの実施形態では、ＡＮＤゲート１１０は、複数の入力信号にビット単位の論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート１１０は、２つの入力信号、すなわち、ＡＮＤゲート１０８の通信された出力およびＯＲゲート１０６の通信された出力にビット単位のＡＮＤ演算を行うように動作可能である。次いで、本ビット単位の出力は、デコーダ１１２に通信されてもよい。
【００２２】
いくつかの実施形態では、デコーダ１１２は、故障注入ポインタＥＣＣビット順を複数の出力に提供するためにＡＮＤゲート１１０の出力をデコードするように動作可能である、論理コンポーネント、不揮発性メモリ上に記憶され、プロセッサによって実行可能であるプログラム命令を含む、ソフトウェアモジュール等を含む、任意の適切な電子コンポーネントであってもよい。
【００２３】
例証的実施例では、デコーダ１１２は、出力を３つの付加的論理コンポーネントに提供するが、より多い、より少ない、および／または異なるコンポーネントが、本開示の範囲から逸脱することなく使用されてもよい。図示される構成では、デコーダ１１２の出力は、ＸＯＲゲート１１４、１１６、１１８に通信される。
【００２４】
いくつかの実施形態では、ＸＯＲゲート１１４は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート１１４は、２つの入力信号、すなわち、デコーダ１１２の通信された出力および対応するデータビット（例えば、「ｄａｔａ＿ｉｎ［１２７：０］」）にＸＯＲ演算を行うように動作可能である。次いで、関連する出力（例えば、「ｆｌｔ＿ｉｎｊ＿ｄａｔａ＿ｉｎ［１２７：０］」）は、図２を参照して以下でさらに詳細に説明されるように、ＥＣＣモジュールに通信されてもよい。いくつかの実施形態では、ＸＯＲゲート１１４の出力は、試験されるデータセットの一部であるデータビットに注入された故障と関連付けられてもよい。
【００２５】
いくつかの実施形態では、ＸＯＲゲート１１６は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート１１６は、２つの入力信号、すなわち、デコーダ１１２の通信された出力および対応するパリティビット（例えば、「ｓｅｃ＿ｐａｒｉｔｙ＿ｉｎ［７：０］」）にＸＯＲ演算を行うように動作可能である。次いで、関連する出力（例えば、「ｆｌｔ＿ｉｎｊ＿ｓｅｃ＿ｐａｒｉｔｙ＿ｉｎ［７：０］」）は、図２を参照して以下でさらに詳細に説明されるように、ＥＣＣモジュールに通信されてもよい。いくつかの実施形態では、ＸＯＲゲート１１６の出力は、試験されるデータセットと関連付けられるパリティビットに注入された故障と関連付けられてもよい。
【００２６】
いくつかの実施形態では、ＸＯＲゲート１１８は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート１１８は、２つの入力信号、すなわち、デコーダ１１２の通信された出力および対応するパリティビット（例えば、「ｄｅｄ＿ｐａｒｉｔｙ＿ｉｎ［７：０］」）にＸＯＲ演算を行うように動作可能である。次いで、関連する出力（例えば、「ｆｌｔ＿ｉｎｊ＿ｄｅｄ＿ｐａｒｉｔｙ＿ｉｎ［７：０］」）は、図２を参照して以下でさらに詳細に説明されるように、ＥＣＣモジュールに通信されてもよい。いくつかの実施形態では、ＸＯＲゲート１１８の出力は、試験されるデータセットと関連付けられるパリティビットに注入された故障と関連付けられてもよい。
【００２７】
ある論理モジュールおよび構成が、開示を補助するように例証されているが、より多い、少ない、および／または異なる構成が、本開示の範囲から逸脱することなく利用可能であり得る。
【００２８】
図２は、本開示のある実施形態による、読取パスのためのランタイムＥＣＣエラー注入方式の例示的ＥＣＣモジュールブロック図２００を図示する。いくつかの実施形態では、例示的ブロック図２００は、計算ベクトルビット順２０２と、ＸＯＲツリー２０４と、ＡＮＤゲート２０６、２０８、２１０、２１２と、ＸＯＲゲート２１４、２１６、２１８、２２０と、ＯＲゲート２２２と、エラーデコーダ２２４と、シンドロームデコーダ２２６と、ビット合致２２８と、ビット単位のＸＯＲアレイ２３０とを含んでもよい。
【００２９】
いくつかの実施形態では、計算ベクトルビット順２０２は、ＥＣＣモジュールに着信する計算ベクトルビットを順序付けるように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例えば、計算ベクトルビット順２０２は、例示的論理ブロック図１００から１つ以上の入力を受信してもよい。これらの入力は、例えば、故障注入データ出力（例えば、ｆｌｔ＿ｉｎｊ＿ｄａｔａ＿ｉｎ［１２７：０］）を含んでもよい。計算ベクトルビット順２０２はまた、例えば、複数のパリティビット入力（例えば、ｓｅｃ［７：０］，ｄｅｄ）を含む、複数の他の入力を受信してもよい。次いで、計算ベクトルビット順２０２の出力は、ＸＯＲツリー２０４および／またはビット合致２２８への通信であってもよい。
【００３０】
いくつかの実施形態では、ＸＯＲツリー２０４は、それぞれデータセットの一部と関連付けられる、複数のＸＯＲツリーを含んでもよい。例証的実施例では、ＸＯＲツリー２０４は、９つのサブツリーを含む。各サブツリーは、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であり得る、複数のＸＯＲゲートを含んでもよい。ＸＯＲツリー２０４への入力は、計算ベクトルビット順２０２の出力を含んでもよい。
【００３１】
いくつかの実施形態では、例示的ブロック図２００はまた、ＡＮＤゲート２０６を含んでもよい。ＡＮＤゲート２０６は、複数の入力信号に論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート２０６は、例示的論理ブロック図１００の出力のうちの１つ（例えば、ｆｌｔ＿ｉｎｊ＿ｓｅｃ＿ｐａｒｉｔｙ＿ｉｎ［７：０］）ならびにＥＣＣイネーブル信号（例えば、「ｃｆｇ＿ｅｃｃ＿ｅｎ」）に論理ＡＮＤ演算を行う。これは、適切に有効にされたときに、ＥＣＣ論理へのパリティ故障信号の導入を可能にし得る。
【００３２】
いくつかの実施形態では、例示的ブロック図２００はまた、ＡＮＤゲート２０８を含んでもよい。ＡＮＤゲート２０８は、複数の入力信号に論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート２０８は、例示的論理ブロック図１００の出力のうちの１つ（例えば、ｆｌｔ＿ｉｎｊ＿ｄｅｄ＿ｐａｒｉｔｙ＿ｉｎ）ならびにＥＣＣイネーブル信号（例えば、「ｃｆｇ＿ｅｃｃ＿ｅｎ」）に論理ＡＮＤ演算を行う。これは、適切に有効にされたときに、ＥＣＣ論理へのパリティ故障信号の導入を可能にし得る。
【００３３】
いくつかの実施形態では、例示的ブロック図２００はまた、ＡＮＤゲート２１０を含んでもよい。ＡＮＤゲート２１０は、複数の入力信号に論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート２１０は、ＸＯＲツリー２０４の出力のうちの１つならびにＥＣＣイネーブル信号（例えば、「ｃｆｇ＿ｅｃｃ＿ｅｎ」）に論理ＡＮＤ演算を行う。これは、適切に有効にされたときに、ＥＣＣ論理へのデータ故障信号の導入を可能にし得る。
【００３４】
いくつかの実施形態では、例示的ブロック図２００はまた、ＡＮＤゲート２１２を含んでもよい。ＡＮＤゲート２１２は、複数の入力信号にビット単位の論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート２１２は、ＸＯＲツリー２０４の複数の出力ならびにＥＣＣイネーブル信号（例えば、「ｃｆｇ＿ｅｃｃ＿ｅｎ」）にビット単位の論理ＡＮＤ演算を行う。これは、適切に有効にされたときに、ＥＣＣ論理へのデータ故障のビット単位の導入を可能にし得る。
【００３５】
いくつかの実施形態では、例示的ブロック図２００はまた、ＸＯＲゲート２１４を含んでもよい。ＸＯＲゲート２１４は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート２１４は、ＡＮＤゲート２１２の出力のうちの１つならびにＡＮＤゲート２１０の出力に論理ＸＯＲ演算を行う。これは、ＥＣＣ論理へのパリティ信号の出力を可能にし得る。ＸＯＲゲート２１４は、減少関数を入力信号に提供してもよい。
【００３６】
いくつかの実施形態では、例示的ブロック図２００はまた、ＸＯＲゲート２１６を含んでもよい。ＸＯＲゲート２１６は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート２１６は、ＡＮＤゲート２０６の出力のうちの１つならびにＡＮＤゲート２１０の出力に論理ＸＯＲ演算を行う。これは、エラーデコーダ２２４等のさらなるＥＣＣ論理へのパリティ信号の出力を可能にし得る。ＸＯＲゲート２１４は、減少関数を入力信号に提供してもよい。
【００３７】
いくつかの実施形態では、例示的ブロック図２００はまた、ＸＯＲゲート２１８を含んでもよい。ＸＯＲゲート２１８は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート２１８は、ＡＮＤゲート２０８の出力のうちの１つならびにＸＯＲゲート２１６の出力に論理ＸＯＲ演算を行う。これは、エラーデコーダ２２４等のＥＣＣ論理へのパリティ信号の出力を可能にし得る。
【００３８】
いくつかの実施形態では、例示的ブロック図２００はまた、ＸＯＲゲート２２０を含んでもよい。ＸＯＲゲート２２０は、複数の入力信号にビット単位の論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート２２０は、ＡＮＤゲート２０６の出力のうちの１つならびにＡＮＤゲート２１２の出力にビット単位の論理ＸＯＲ演算を行う。これは、エラーデコーダ２２４等のＥＣＣ論理へのパリティ信号の出力を可能にし得る。
【００３９】
いくつかの実施形態では、例示的ブロック図２００はまた、ＯＲゲート２２２を含んでもよい。ＯＲゲート２２２は、複数の入力信号に論理ＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＯＲゲート２２２は、ＸＯＲゲート２２０のビット単位の出力のうちの１つに論理ＯＲ演算を行う。これは、エラーデコーダ２２４等のＥＣＣ論理へのパリティ信号の出力を可能にし得る。
【００４０】
いくつかの実施形態では、例示的ブロック図２００はまた、エラーデコーダ２２４を含んでもよい。エラーデコーダ２２４は、複数の検出されたエラー出力を提供するために複数の入力をデコードするように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの組み合わせであってもよい。例えば、エラーデコーダ２２４は、ＸＯＲゲート２１８およびＯＲゲート２２２の出力を受信するように動作可能であり得る。これらの信号をデコードすることによって、エラーデコーダ２２４は、複数のパリティビットに存在する複数のエラーに対応する出力（例えば、「ｅｃｃ＿ｄｅｒｒ」および「ｅｃｃ＿ｓｅｒｒ」）を提供してもよい。次いで、これらのパリティ出力は、将来の試験のためにＥＣＣモジュールのユーザに出力されてもよい。
【００４１】
いくつかの実施形態では、例示的ブロック図２００はまた、シンドロームデコーダ２２６を含んでもよい。いくつかの実施形態では、シンドローム検出器２２６は、１つ以上のパリティエラー出力をデコードするように動作可能である、任意の適切な組み合わせおよび／またはコンポーネントの組み合わせであってもよい。例えば、シンドローム検出器２２６は、ＸＯＲゲート２２０の出力をデータセットへの着目パリティビットのワンホット識別にデコードするように動作可能であり得る。
【００４２】
いくつかの実施形態では、例示的ブロック図２００はまた、ビット合致２２８を含んでもよい。ビット合致２２８は、入力ビット数を計算ベクトル順に合致させるように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの組み合わせであってもよい。いくつかの実施形態では、ビット合致２２８は、計算ベクトルビット順２０２ならびにシンドローム検出器２２６から出力を受信してもよい。これら２つのモジュールから出力されるビットを合致させた後、ビット合致２２６は、合致したビットをビット単位のＸＯＲアレイ２３０に出力してもよい。ビット単位のＸＯＲアレイ２３０は、複数の入力にビット単位の論理ＸＯＲを行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの組み合わせであってもよい。例証的実施例では、ビット単位のＸＯＲアレイ２３０は、ビット単位のＸＯＲアレイ２３０が、故障注入（例えば、「ｄａｔａ＿ｏｕｔ［１２７：０］」）を含み得るデータセットを出力し得るように、合致したビット数および計算ベクトルビット順にＸＯＲ演算を行うように動作可能であり得る。
【００４３】
そのような構成は、最大２つの同時ハードウェア故障を伴うシステムが検出されることを可能にする様式で、機能的安全性顧客に臨界故障チェック特徴のセルフテストを許可し得る。さらに、そのような構成は、真のＥＣＣ故障に発生するであろう同一のソフトウェアインタラプト／トラップの生成を可能にし得る。ある論理モジュールおよび構成が、開示を補助するように例証されているが、より多い、少ない、および／または異なる構成が、本開示の範囲から逸脱することなく利用可能であり得る。
【００４４】
図３は、本開示のある実施形態による、ハードウェア検証のためにシングルまたはダブルビット故障をＥＣＣモジュールの書込パスに注入するための例示的ＥＣＣ書込パス故障注入論理ブロック図３００を図示する。いくつかの実施形態では、例示的論理ブロック図３００は、複数のビットポインタデコーダ３０２、３０４と、ＯＲゲート３０６と、ＡＮＤゲート３０８、３３０と、ビット順デコーダ３１２と、ＸＯＲゲート３１４、３１６、３１８とを含んでもよい。
【００４５】
いくつかの実施形態では、例示的論理ブロック図３００は、複数のビットポインタデコーダ３０２、３０４を含んでもよい。図３の例証的実施例では、２つのビットポインタデコーダ３０２、３０４が図示されているが、より多い、少ない、および／または異なるデコーダが、本開示の範囲から逸脱することなく使用されてもよい。いくつかの実施形態では、デコーダ３０２、３０４は、ビットポインタ列をデコードするように動作可能である、論理コンポーネント、不揮発性メモリ上に記憶され、プロセッサによって実行可能であるプログラム命令を含む、ソフトウェアモジュール等を含む、任意の適切な電子コンポーネントであってもよい。例えば、デコーダ３０２、３０４は、最大３１６ビットのデータの中の具体的ビットを選択するために、８ビットポインタ列をワンホット信号にデコードしてもよい。他のデコーダ構成が、本開示の範囲から逸脱することなく、任意の所与の構成に含まれてもよい。
【００４６】
いくつかの実施形態では、各デコーダ３０２、３０４は、故障注入ポインタ列を受信するように動作可能であり得る。例えば、デコーダ３０２は、第１の故障注入ポインタ列（例えば、「ｆｌｔ＿ｉｎｊ＿１＿ｐｔｒ［７：０］」）を受信するように動作可能であり得、デコーダ３０４は、第２の故障注入ポインタ列（例えば、「ｆｌｔ＿ｉｎｊ＿２＿ｐｔｒ［７：０］」）を受信するように動作可能であり得る。さらに、各デコーダ３０２、３０４は、デコードされたポインタ列（例えば、データセット、例えば、３１６ビットデータセットの中の具体的ビットを選択するワンホット信号）を通信するように動作可能であり得る。例えば、デコーダ３０２は、第１のデコードされた故障注入ポインタ列（例えば、「ｆｌｔ＿ｉｎｊ＿ｐｔｒ１＿ｏｎｅｈｏｔ［１３６：０］」）を通信するように動作可能であり得、デコーダ３０４は、第２のデコードされた故障注入ポインタ列（例えば、「ｆｌｔ＿ｉｎｊ＿ｐｔｒ２＿ｏｎｅｈｏｔ［１３６：０］」）を通信するように動作可能であり得る。
【００４７】
いくつかの実施形態では、複数のデコードされた故障注入ポインタ列は、ＯＲゲート３０６に通信されてもよい。ＯＲゲート３０６は、複数の入力信号に論理ＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。いくつかの実施形態では、ＯＲゲート３０６は、複数のデコードされた故障注入ポインタ列にＯＲ演算を行うように動作可能であり得る。
【００４８】
いくつかの実施形態では、例示的論理ブロック図３００はまた、ＡＮＤゲート３０８を含んでもよい。いくつかの実施形態では、ＡＮＤゲート３０８は、複数の入力信号に論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート３０８は、２つの入力信号、すなわち、故障注入イネーブル信号（例えば、「ｆｌｔ＿ｉｎｊ＿ｅｎ」）およびアドレス合致インジケーション信号（例えば、「ｆｌｔ＿ｉｎｊ＿ａｄｄｒ＿ｅｑｕａｌ」）にＡＮＤ演算を行うように動作可能である。いくつかの実施形態では、ＡＮＤゲート３０８から生じる信号は、エラーをＥＣＣシステムに注入することに先立って、ＥＣＣモジュールのユーザおよび／またはプログラマが課すことを所望し得る条件と関連付けられる。例えば、ＥＣＣモジュールは、（１）ＥＣＣモジュールのユーザが故障注入を確動的に有効にした（例えば、故障注入イネーブル信号を設定した）、および（２）書込アドレスがユーザ規定メモリ場所に合致する（例えば、アドレス合致インジケーション信号が合致にとって論理的に適切である）ときのみに、エラーを注入するように設定されてもよい。これは、故障注入がユーザによって選択される時点のみに起こることを確実にし、結果として生じるエラーインタラプトが適切にハンドリングされることを可能にし得る。
【００４９】
いくつかの実施形態では、例示的論理ブロック図３００はまた、ＡＮＤゲート３１０を含んでもよい。いくつかの実施形態では、ＡＮＤゲート３１０は、複数の入力信号にビット単位の論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート３１０は、２つの入力信号、すなわち、ＡＮＤゲート３０８の通信された出力およびＯＲゲート３０６の通信された出力にビット単位のＡＮＤ演算を行うように動作可能である。次いで、本ビット単位の出力は、デコーダ３１２に通信されてもよい。
【００５０】
いくつかの実施形態では、デコーダ３１２は、故障注入ポインタＥＣＣビット順を複数の出力に提供するためにＡＮＤゲート３１０の出力をデコードするように動作可能である、論理コンポーネント、不揮発性メモリ上に記憶され、プロセッサによって実行可能であるプログラム命令を含む、ソフトウェアモジュール等を含む、任意の適切な電子コンポーネントであってもよい。
【００５１】
例証的実施例では、デコーダ３１２は、出力を３つの付加的論理コンポーネントに提供するが、より多い、より少ない、および／または異なるコンポーネントが、本開示の範囲から逸脱することなく使用されてもよい。図示される構成では、デコーダ３１２の出力は、ＸＯＲゲート３１４、３１６、３１８に通信される。
【００５２】
いくつかの実施形態では、ＸＯＲゲート３１４は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート３１４は、２つの入力信号、すなわち、デコーダ３１２の通信された出力および対応するデータビット（例えば、「ｄａｔａ＿ｉｎ［１２７：０］」）にＸＯＲ演算を行うように動作可能である。次いで、関連する出力（例えば、「ｄａｔａ＿ｏｕｔ［１２７：０］」）は、図２を参照して以下でさらに詳細に説明されるように、ＥＣＣモジュールに通信されてもよい。いくつかの実施形態では、ＸＯＲゲート３１４の出力は、試験されるデータセットの一部であるデータビットに注入された故障と関連付けられてもよい。
【００５３】
いくつかの実施形態では、ＸＯＲゲート３１６は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート３１６は、２つの入力信号、すなわち、デコーダ３１２の通信された出力および対応するパリティビット（例えば、「ｒａｗ＿ｓｅｃ＿ｐａｒｉｔｙ＿ｏｕｔ［７：０］」）にＸＯＲ演算を行うように動作可能である。次いで、関連する出力（例えば、「ｓｅｃ＿ｐａｒｉｔｙ＿ｏｕｔ［７：０］」）は、図２を参照して以下でさらに詳細に説明されるように、ＥＣＣモジュールに通信されてもよい。いくつかの実施形態では、ＸＯＲゲート３１６の出力は、試験されるデータセットと関連付けられるパリティビットに注入された故障と関連付けられてもよい。
【００５４】
いくつかの実施形態では、ＸＯＲゲート３１８は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート３１８は、２つの入力信号、すなわち、デコーダ３１２の通信された出力および対応するパリティビット（例えば、「ｒａｗ＿ｄｅｄ＿ｐａｒｉｔｙ＿ｏｕｔ［７：０］」）にＸＯＲ演算を行うように動作可能である。次いで、関連する出力（例えば、「ｄｅｄ＿ｐａｒｉｔｙ＿ｏｕｔ［７：０］」）は、図２を参照して以下でさらに詳細に説明されるように、ＥＣＣモジュールに通信されてもよい。いくつかの実施形態では、ＸＯＲゲート３１８の出力は、試験されるデータセットと関連付けられるパリティビットに注入された故障と関連付けられてもよい。
【００５５】
ある論理モジュールおよび構成が、開示を補助するように例証されているが、より多い、少ない、および／または異なる構成が、本開示の範囲から逸脱することなく利用可能であり得る。
【００５６】
図４は、本開示のある実施形態による、読取パスのためのランタイムＥＣＣエラー注入方式の例示的ＥＣＣモジュールブロック図２００を図示する。いくつかの実施形態では、例示的ブロック図２００は、計算ベクトルビット順４０２と、ＸＯＲツリー４０４と、ＡＮＤゲート４０６、４０８、４１０、４１２と、ＸＯＲゲート４１４、４１６、４１８、４２０と、ＯＲゲート４２２と、エラーデコーダ４２４と、シンドロームデコーダ４２６と、ビット合致４２８と、ビット単位のＸＯＲアレイ４３０とを含んでもよい。
【００５７】
いくつかの実施形態では、計算ベクトルビット順４０２は、ＥＣＣモジュールに着信する計算ベクトルビットを順序付けるように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例えば、計算ベクトルビット順４０２は、例示的論理ブロック図１００から１つ以上の入力を受信してもよい。これらの入力は、例えば、故障注入データ出力（例えば、ｄａｔａ＿ｉｎ［１２７：０］）を含んでもよい。計算ベクトルビット順４０２はまた、例えば、複数のパリティビット入力（例えば、ｓｅｃ［７：０］，ｄｅｄ）を含む、複数の他の入力を受信してもよい。次いで、計算ベクトルビット順４０２の出力は、ＸＯＲツリー４０４および／またはビット合致４２８への通信であってもよい。
【００５８】
いくつかの実施形態では、ＸＯＲツリー４０４は、それぞれデータセットの一部と関連付けられる、複数のＸＯＲツリーを含んでもよい。例証的実施例では、ＸＯＲツリー４０４は、９つのサブツリーを含む。各サブツリーは、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であり得る、複数のＸＯＲゲートを含んでもよい。ＸＯＲツリー４０４への入力は、計算ベクトルビット順４０２の出力を含んでもよい。
【００５９】
いくつかの実施形態では、例示的ブロック図２００はまた、ＡＮＤゲート４０６を含んでもよい。ＡＮＤゲート４０６は、複数の入力信号に論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート４０６は、例示的論理ブロック図１００の出力のうちの１つ（例えば、ｓｅｃ＿ｐａｒｉｔｙ＿ｉｎ［７：０］）ならびにＥＣＣイネーブル信号（例えば、「ｃｆｇ＿ｅｃｃ＿ｅｎ」）に論理ＡＮＤ演算を行う。これは、適切に有効にされたときに、ＥＣＣ論理へのパリティ故障信号の導入を可能にし得る。
【００６０】
いくつかの実施形態では、例示的ブロック図２００はまた、ＡＮＤゲート４０８を含んでもよい。ＡＮＤゲート４０８は、複数の入力信号に論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート４０８は、例示的論理ブロック図１００の出力のうちの１つ（例えば、ｄｅｄ＿ｐａｒｉｔｙ＿ｉｎ）ならびにＥＣＣイネーブル信号（例えば、「ｃｆｇ＿ｅｃｃ＿ｅｎ」）に論理ＡＮＤ演算を行う。これは、適切に有効にされたときに、ＥＣＣ論理へのパリティ故障信号の導入を可能にし得る。
【００６１】
いくつかの実施形態では、例示的ブロック図２００はまた、ＡＮＤゲート４１０を含んでもよい。ＡＮＤゲート４１０は、複数の入力信号に論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート４１０は、ＸＯＲツリー４０４の出力のうちの１つならびにＥＣＣイネーブル信号（例えば、「ｃｆｇ＿ｅｃｃ＿ｅｎ」）に論理ＡＮＤ演算を行う。これは、適切に有効にされたときに、ＥＣＣ論理へのデータ故障信号の導入を可能にし得る。
【００６２】
いくつかの実施形態では、例示的ブロック図２００はまた、ＡＮＤゲート４１２を含んでもよい。ＡＮＤゲート４１２は、複数の入力信号にビット単位の論理ＡＮＤ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＡＮＤゲート４１２は、ＸＯＲツリー４０４の複数の出力ならびにＥＣＣイネーブル信号（例えば、「ｃｆｇ＿ｅｃｃ＿ｅｎ」）にビット単位の論理ＡＮＤ演算を行う。これは、適切に有効にされたときに、ＥＣＣ論理へのデータ故障のビット単位の導入を可能にし得る。
【００６３】
いくつかの実施形態では、例示的ブロック図２００はまた、ＸＯＲゲート４１４を含んでもよい。ＸＯＲゲート４１４は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート４１４は、ＡＮＤゲート４１２の出力のうちの１つならびにＡＮＤゲート４１０の出力に論理ＸＯＲ演算を行う。これは、ＥＣＣ論理へのパリティ信号の出力を可能にし得る。ＸＯＲゲート４１４は、減少関数を入力信号に提供してもよい。
【００６４】
いくつかの実施形態では、例示的ブロック図２００はまた、ＸＯＲゲート４１６を含んでもよい。ＸＯＲゲート４１６は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート４１６は、ＡＮＤゲート４０６の出力のうちの１つならびにＡＮＤゲート４１０の出力に論理ＸＯＲ演算を行う。これは、エラーデコーダ４２４等のさらなるＥＣＣ論理へのパリティ信号の出力を可能にし得る。ＸＯＲゲート４１４は、減少関数を入力信号に提供してもよい。
【００６５】
いくつかの実施形態では、例示的ブロック図２００はまた、ＸＯＲゲート４１８を含んでもよい。ＸＯＲゲート４１８は、複数の入力信号に論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート４１８は、ＡＮＤゲート４０８の出力のうちの１つならびにＸＯＲゲート４１６の出力に論理ＸＯＲ演算を行う。これは、エラーデコーダ４２４等のＥＣＣ論理へのパリティ信号の出力を可能にし得る。
【００６６】
いくつかの実施形態では、例示的ブロック図２００はまた、ＸＯＲゲート４２０を含んでもよい。ＸＯＲゲート４２０は、複数の入力信号にビット単位の論理ＸＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＸＯＲゲート４２０は、ＡＮＤゲート４０６の出力のうちの１つならびにＡＮＤゲート４１２の出力にビット単位の論理ＸＯＲ演算を行う。これは、エラーデコーダ４２４等のＥＣＣ論理へのパリティ信号の出力を可能にし得る。
【００６７】
いくつかの実施形態では、例示的ブロック図２００はまた、ＯＲゲート４２２を含んでもよい。ＯＲゲート４２２は、複数の入力信号に論理ＯＲ演算を行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの集合であってもよい。例証的実施例では、ＯＲゲート４２２は、ＸＯＲゲート４２０のビット単位の出力のうちの１つに論理ＯＲ演算を行う。これは、エラーデコーダ４２４等のＥＣＣ論理へのパリティ信号の出力を可能にし得る。
【００６８】
いくつかの実施形態では、例示的ブロック図２００はまた、エラーデコーダ４２４を含んでもよい。エラーデコーダ４２４は、複数の検出されたエラー出力を提供するために複数の入力をデコードするように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの組み合わせであってもよい。例えば、エラーデコーダ４２４は、ＸＯＲゲート４１８およびＯＲゲート４２２の出力を受信するように動作可能であり得る。これらの信号をデコードすることによって、エラーデコーダ４２４は、複数のパリティビットに存在する複数のエラーに対応する出力（例えば、「ｅｃｃ＿ｄｅｒｒ」および「ｅｃｃ＿ｓｅｒｒ」）を提供してもよい。次いで、これらのパリティ出力は、将来の試験のためにＥＣＣモジュールのユーザに出力されてもよい。
【００６９】
いくつかの実施形態では、例示的ブロック図２００はまた、シンドロームデコーダ４２６を含んでもよい。いくつかの実施形態では、シンドローム検出器４２６は、１つ以上のパリティエラー出力をデコードするように動作可能である、任意の適切な組み合わせおよび／またはコンポーネントの組み合わせであってもよい。例えば、シンドローム検出器４２６は、ＸＯＲゲート４２０の出力をデータセットへの着目パリティビットのワンホット識別にデコードするように動作可能であり得る。
【００７０】
いくつかの実施形態では、例示的ブロック図２００はまた、ビット合致４２８を含んでもよい。ビット合致４２８は、入力ビット数を計算ベクトル順に合致させるように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの組み合わせであってもよい。いくつかの実施形態では、ビット合致４２８は、計算ベクトルビット順４０２ならびにシンドローム検出器４２６から出力を受信してもよい。これら２つのモジュールから出力されるビットを合致させた後、ビット合致４２６は、合致したビットをビット単位のＸＯＲアレイ４３０に出力してもよい。ビット単位のＸＯＲアレイ４３０は、複数の入力にビット単位の論理ＸＯＲを行うように動作可能である、任意の適切な電子コンポーネントおよび／またはコンポーネントの組み合わせであってもよい。例証的実施例では、ビット単位のＸＯＲアレイ４３０は、ビット単位のＸＯＲアレイ４３０が、データの訂正されたバージョン（例えば、「ｒａｗ＿ｄａｔａ＿ｏｕｔ［１２７：０］」）を含み得るデータセットを出力し得るように、合致したビット数および計算ベクトルビット順にＸＯＲ演算を行うように動作可能であり得る。そのような信号は、書込パス故障注入を介して故障を意図的に注入するときには使用され得ない。
【００７１】
そのような構成は、最大２つの同時ハードウェア故障を伴うシステムが検出されることを可能にする様式で、機能的安全性顧客に臨界故障チェック特徴のセルフテストを許可し得る。さらに、そのような構成は、真のＥＣＣ故障に発生するであろう同一のソフトウェアインタラプト／トラップの生成を可能にし得る。ある論理モジュールおよび構成が、開示を補助するように例証されているが、より多い、少ない、および／または異なる構成が、本開示の範囲から逸脱することなく利用可能であり得る。
【００７２】
図５は、本開示のある実施形態による、ＥＣＣ故障注入システムの例示的レジスタ概要５００を図示する。例示的レジスタ概要５００は、理解の補助のみのために、図１−４を参照して上記でさらに詳細に説明される関連信号が、マクロレジスタに記憶され得る方法の実施例を提供する。そのような構成は、本開示のある実施形態によると、注入故障と実際の故障とを区別するために、ＥＣＣモジュールのユーザがＥＣＣ故障情報により容易にアクセスすることを可能にし得る。
【００７３】
種々の実施形態によると、種々の実施形態は、（１）データＯＲパリティ内の任意のビット位置において、シングルまたはダブルビットエラーのいずれかを注入する能力、（２）具体的アドレスにおいてエラーを注入する能力、および（３）データパスの読取側または書込側のいずれかでエラーを注入し、多くの異なるユーザ試験アルゴリズムのためのより容易なソフトウェア実装を提供する能力を含む、それをより有用にする、いくつかの特徴を有する。
【図１】
2018511888.tif 000003
【図２】
2018511888.tif 000004
【図３】
2018511888.tif 000005
【図４】
2018511888.tif 000006
【図５】
2018511888.tif 000007
【国際調査報告】
2018511888.tif 000008
2018511888.tif 000009