(57)【要約】      （修正有）【課題】  ソフトエラーを低減するための高信頼性３重冗長ラッチを提供する。【解決手段】  第１〜第３の設定可能メモリ素子ＳＭＥ１，ＳＭＥ２，ＳＭＥ３と、第１〜第３の投票構造ＶＳ１，ＶＳ２，ＶＳ３とを具備し、各設定可能メモリ素子に同一の論理値が設定され、第１〜第３の設定可能メモリ素子と、第１〜第３の設定可能メモリ素子を設定するために使用される制御信号２０４とにより、第１〜第３の投票構造に対して入力が提供される。第１の投票構造の出力２１４は第１〜第３の設定可能メモリ素子が設定された後に第１の設定可能メモリ素子に保持される論理値を確定し、第２の投票構造の出力２１６は第１〜第３の設定可能メモリ素子が設定された後に第２の設定可能メモリ素子に保持される論理値を確定し、第３の投票構造の出力２１８は第１〜第３の設定可能メモリ素子が設定された後に第３の設定可能メモリ素子に保持される論理値を確定する。【選択図】図２
2005341588.tif 000002
【特許請求の範囲】
【請求項１】
ソフトエラーを低減するための３重冗長ラッチであって、
（ａ）  第１の設定可能メモリ素子と、
（ｂ）  第２の設定可能メモリ素子と、
（ｃ）  第３の設定可能メモリ素子と、
（ｄ）  第１の投票構造と、
（ｅ）  第２の投票構造と、
（ｆ）  第３の投票構造と、
を具備し、
（ｇ）  各設定可能メモリ素子に同一の論理値が設定され、
（ｈ）  前記第１の設定可能メモリ素子と、前記第２の設定可能メモリ素子と、前記第３の設定可能メモリ素子と、前記第１，第２及び第３の設定可能メモリ素子を設定するために使用される制御信号とにより、前記第１の投票構造と、前記第２の投票構造と、前記第３の投票構造とに対して入力が提供され、
（ｉ）  前記第１の投票構造の出力は、前記第１の設定可能メモリ素子と、前記第２の設定可能メモリ素子と、前記第３の設定可能メモリ素子とが設定された後に前記第１の設定可能メモリ素子に保持される論理値を確定し、
（ｊ）  前記第２の投票構造の出力は、前記第１の設定可能メモリ素子と、前記第２の設定可能メモリ素子と、前記第３の設定可能メモリ素子とが設定された後に前記第２の設定可能メモリ素子に保持される論理値を確定し、
（ｋ）  前記第３の投票構造の出力は、前記第１の設定可能メモリ素子と、前記第２の設定可能メモリ素子と、前記第３の設定可能メモリ素子とが設定された後に前記第３の設定可能メモリ素子に保持される論理値を確定し、
（ｌ）  前記第３の設定可能メモリ素子を通しての伝播遅延は、前記３重冗長ラッチの唯一の伝播遅延である、
ことを特徴とする３重冗長ラッチ。
【請求項２】
前記第１の設定可能メモリ素子は、
（ａ）  トランスファ・ゲートと、
（ｂ）  ラッチと、
を備えることを特徴とする請求項１に記載の３重冗長ラッチ。
【請求項３】
前記トランスファ・ゲートは、相補型パスゲートから構成されることを特徴とする請求項２に記載の３重冗長ラッチ。
【請求項４】
前記トランスファ・ゲートは、ＮＦＥＴのみのパスゲートから構成されることを特徴とする請求項２に記載の３重冗長ラッチ。
【請求項５】
前記トランスファ・ゲートは、ＰＦＥＴのみのパスゲートから構成されることを特徴とする請求項２に記載の３重冗長ラッチ。
【請求項６】
前記第１の投票構造は、
（ａ）  第１の入力と、
（ｂ）  第２の入力と、
（ｃ）  第３の入力と、
（ｄ）  出力と、
を備え、
（ｅ）  前記第１の入力は、前記第３の設定可能メモリ素子の出力に接続され、
（ｆ）  前記第２の入力は、前記第２の設定可能メモリ素子の出力に接続され、
（ｇ）  前記第３の入力は、前記第１，第２及び第３の設定可能メモリ素子を設定するために使用される制御信号に接続され、
（ｈ）  前記第２の設定可能メモリ素子及び前記第３の設定可能メモリ素子が前記３重冗長ラッチに最初に格納された前記論理値を含む場合には、前記第１の投票構造の前記出力は、前記第１の設定可能メモリ素子を前記３重冗長ラッチに最初に格納された前記論理値にする、
ことを特徴とする請求項１に記載の３重冗長ラッチ。
【請求項７】
ソフトエラーを低減するための３重冗長ラッチであって、
（ａ）  入力と、第１の制御入力と、第２の制御入力と、出力と、を有する第１のトランスファ・ゲートと、
（ｂ）  入力と、第１の制御入力と、第２の制御入力と、出力と、を有する第２のトランスファ・ゲートと、
（ｃ）  入力と、第１の制御入力と、第２の制御入力と、出力と、を有する第３のトランスファ・ゲートと、
（ｄ）  入力と、出力と、を有する第１のラッチと、
（ｅ）  入力と、出力と、を有する第２のラッチと、
（ｆ）  入力と、出力と、を有する第３のラッチと、
（ｇ）  第１の入力と、第２の入力と、第３の入力と、第４の入力と、出力と、を有する第１の投票構造と、
（ｈ）  第１の入力と、第２の入力と、第３の入力と、第４の入力と、出力と、を有する第２の投票構造と、
（ｉ）  第１の入力と、第２の入力と、第３の入力と、第４の入力と、出力と、を有する第３の投票構造と、
を具備し、
（ｊ）  前記３重冗長ラッチの入力は、前記第１のトランスファ・ゲートの入力と、前記第２のトランスファ・ゲートの入力と、前記第３のトランスファ・ゲートの入力と、に接続され、
（ｋ）  前記３重冗長ラッチの出力は、前記第３の投票構造の出力に接続され、
（ｌ）  前記３重冗長ラッチの第１の制御入力は、前記第１のトランスファ・ゲートの第１の制御入力と、前記第２のトランスファ・ゲートの前記第１の制御入力と、前記第３のトランスファ・ゲートの第１の制御入力と、前記第１の投票構造の第３の入力と、前記第２の投票構造の第３の入力と、前記第３の投票構造の第３の入力と、に接続され、
（ｍ）  前記３重冗長ラッチの第２の制御入力は、前記第１のトランスファ・ゲートの第２の制御入力と、前記第２のトランスファ・ゲートの第２の制御入力と、前記第３のトランスファ・ゲートの第２の制御入力と、前記第１の投票構造の第４の入力と、前記第２の投票構造の第４の入力と、前記第３の投票構造の前記第４の入力と、に接続され、
（ｎ）  前記第１のトランスファ・ゲートの出力は、前記第１のラッチの入力に接続され、
（ｏ）  前記第２のトランスファ・ゲートの出力は、前記第２のラッチの入力に接続され、
（ｐ）  前記第３のトランスファ・ゲートの出力は、前記第３のラッチの入力に接続され、
（ｑ）  前記第１のラッチの出力は、前記第３の投票構造の第２の入力と、前記第２の投票構造の第１の入力とに接続され、
（ｒ）  前記第２のラッチの出力は、前記第１の投票構造の第１の入力と前記第３の投票構造の第１の入力とに接続され、
（ｓ）  前記第３のラッチの出力は、前記第１の投票構造の第２の入力と前記第２の投票構造の第２の入力とに接続される、
ことを特徴とする３重冗長ラッチ。
【請求項８】
前記第１のトランスファ・ゲートは、
（ａ）  ゲートと、ドレインと、ソースと、を有するＰＦＥＴと、
（ｂ）  ゲートと、ドレインと、ソースと、を有するＮＦＥＴと、
を備え、
（ｃ）  前記ＰＦＥＴ及び前記ＮＦＥＴのドレインは、前記第１のトランスファ・ゲートの入力に接続され、
（ｄ）  前記ＰＦＥＴ及び前記ＮＦＥＴのソースは、前記第１のトランスファ・ゲートの出力に接続され、
（ｅ）  前記ＮＦＥＴのゲートは、前記第１のトランスファ・ゲートの第１の制御入力に接続され、
（ｆ）  前記ＰＦＥＴのゲートは、前記第１のトランスファ・ゲートの第２の制御入力に接続される、
ことを特徴とする請求項７に記載の３重冗長ラッチ。
【請求項９】
前記第１のラッチは、
（ａ）  ゲートと、ドレインと、ソースと、を有する第１のＰＦＥＴと、
（ｂ）  ゲートと、ドレインと、ソースと、を有する第２のＰＦＥＴと、
（ｃ）  ゲートと、ドレインと、ソースと、を有する第１のＮＦＥＴと、
（ｄ）  ゲートと、ドレインと、ソースと、を有する第２のＮＦＥＴと、
を備え、
（ｅ）  前記第１のＰＦＥＴ及び前記第２のＰＦＥＴのソースは、電圧端子に接続され、
（ｆ）  前記第１のＮＦＥＴ及び前記第２のＮＦＥＴのソースは、アース端子に接続され、
（ｇ）  前記第１のＮＦＥＴのゲートと、前記第１のＰＦＥＴのゲートと、前記第２のＮＦＥＴのドレインと、前記第２のＰＦＥＴのドレインとが、前記第１のラッチの入力であり、
（ｈ）  前記第１のＮＦＥＴのドレインと、前記第１のＰＦＥＴの前記ドレインと、前記第２のＮＦＥＴのゲートと、前記第２のＰＦＥＴのゲートとが、前記第１のラッチの出力である、
ことを特徴とする請求項７に記載の３重冗長ラッチ。
【請求項１０】
前記第１の投票構造は、
（ａ）  ゲートと、ドレインと、ソースと、を有する第１のＰＦＥＴと、
（ｂ）  ゲートと、ドレインと、ソースと、を有する第２のＰＦＥＴと、
（ｃ）  ゲートと、ドレインと、ソースと、を有する第３のＰＦＥＴと、
（ｄ）  ゲートと、ドレインと、ソースと、を有する第１のＮＦＥＴと、
（ｅ）  ゲートと、ドレインと、ソースと、を有する第２のＮＦＥＴと、
（ｆ）  ゲートと、ドレインと、ソースと、を有する第３のＮＦＥＴと、
を備え、
（ｇ）  前記第１のＰＦＥＴのソースは、電圧端子に接続され、
（ｈ）  前記第３のＮＦＥＴのソースは、アース端子に接続され、
（ｉ）  前記第３のＰＦＥＴのドレインと前記第１のＮＦＥＴのドレインと、前記第１の投票構造の出力に接続され、
（ｊ）  前記第２のＰＦＥＴ及び前記第２のＮＦＥＴのゲートは、前記第１の投票構造の第２の入力に接続され、
（ｋ）  前記第１のＰＦＥＴ及び前記第３のＮＦＥＴのゲートは、前記第１の投票構造の第１の入力に接続され、
（ｌ）  前記第３のＰＦＥＴのゲートは、前記第１の投票構造の第３の入力に接続され、
（ｍ）  前記第１のＮＦＥＴのゲートは、前記第１の投票構造の第４の入力に接続され、
（ｎ）  前記第１のＰＦＥＴのドレインと前記第２のＰＦＥＴのソースとが接続され、
（ｏ）  前記第２のＰＦＥＴのドレインと前記第３のＰＦＥＴのソースとが接続され、
（ｐ）  前記第１のＮＦＥＴのソースと前記第２のＮＦＥＴのドレインとが接続され、
（ｑ）  前記第２のＮＦＥＴのソースと前記第３のＮＦＥＴのドレインとが接続される、
ことを特徴とする請求項７に記載の３重冗長ラッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、ラッチ設計に関し、さらに詳しくは、各記憶ノードにおいて投票ロジック（voting logic）を有する高信頼性３重冗長ラッチに関する。また、本発明は、ソフトエラーを低減するための３重冗長ラッチに関し、ラッチにおけるソフトエラー耐性の向上に関する。
【背景技術】
【０００２】
高エネルギー中性子は、主として、二次反応の連鎖をもたらすシリコン核との衝突により、材料のエネルギーを喪失する。これらの反応により、ｐ−ｎ接合を通過する電子・ホール対の稠密なトラック（dense track）が堆積する。堆積した電荷の一部は再び結合し、その一部は接合接点において収集される。粒子がラッチの高感度領域に突き当たると、蓄積される電荷が、ラッチに格納された値を「反転させる」ために必要な最小電荷を超過する可能性があり、それによりソフトエラーがもたらされる。
【０００３】
ソフトエラーをもたらす最小電荷を、ラッチの臨界電荷と呼ぶ。ソフトエラーの発生率（ＳＥＲ）は、通常、ＦＩＴ（Failures In Time）で表される。
【０００４】
ソフトエラーの一般的な原因は、集積回路のパッキング材料に存在する微量の放射性同位元素によって放出される可能性のあるアルファ粒子である。フリップチップパッケージング技法で使用される「バンプ」材料もまた、アルファ粒子の可能性のある原因として特定された。
【０００５】
ソフトエラーの他の原因には、高エネルギー宇宙線と太陽粒子とがある。高エネルギー宇宙線と太陽粒子とは、地球に降り注ぐ高エネルギー陽子及び中性子を生成する上層大気に反応する。中性子は、ほとんどの人工構造物を貫通することができる（中性子は５フィートのコンクリートを容易に通過することができる）ため、特に厄介である可能性がある。この影響は、緯度及び標高によって異なる。ロンドンでは、赤道の２倍の悪影響がある。標高１マイルのコロラド州デンバーでは、海抜ゼロのサンフランシスコに対し３倍の悪影響がある。民間航空機では、海抜レベルの１００〜８００倍の悪影響となる可能性がある。
【０００６】
放射線がもたらすソフトエラーは、マイクロプロセッサ及び他の複雑なＩＣ（集積回路）における故障率の主な原因の１つとなってきている。この種の故障を低減するために、いくつかの手法が提案されてきた。データ経路にＥＣＣ（誤り訂正符号）又はパリティを付加することは、アーキテクチャレベルからこの問題に取り組むものである。データ経路にＥＣＣ又はパリティを付加することは、複雑で費用がかかる可能性がある。
【０００７】
回路レベルでは、ｐ／ｎ接合によって生じる静電容量に対する酸化物によって生じる静電容量の割合を増大させることにより、ＳＥＲを低減することができる。ラッチにおける静電容量には、他の種類もあるが、特に、ｐ／ｎ接合によって生じる静電容量と、酸化物によって生じる静電容量とがある。高エネルギー中性子がｐ／ｎ接合を通過する際に電子／ホール対が生じるため、通常、ラッチのｐ／ｎ接合の面積を低減することによりＳＥＲが低下する。高エネルギー中性子が酸化物を通過する時は、それほど多くの電子／ホール対が生じない。その結果、通常、ＳＲＡＭセルにおけるｐ／ｎ接合静電容量に対する酸化物静電容量の割合を増大させることにより、ＳＥＲを低減させることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
当該技術分野では、ラッチにおけるＳＥＲを低減する必要がある。本発明の一実施形態は、３重冗長ラッチの物理サイズにおいて僅かの増加分を追加するのみで、かつ３重冗長ラッチを通して遅延時間を低減しながら、３重冗長ラッチにおけるＳＥＲを低減する。
【課題を解決するための手段】
【０００９】
好ましい実施形態では、本発明は、信頼性の高い３重冗長ラッチのための回路及び方法を提供する。３つの設定可能メモリ素子が、各設定可能メモリ素子に同一の論理値を設定する。設定可能メモリ素子が設定された後に、第１，第２及び第３の設定可能メモリ素子からの入力と設定可能メモリ素子に対する制御とを有する３つの投票構造（voting structure）が、設定可能メモリ素子に保持される論理値を確定する。１つのラッチを通しての伝播遅延が、３重冗長ラッチの唯一の伝播遅延である。
【００１０】
本発明の他の態様及び利点は、本発明の原理を例として示す添付図面とともに以下の詳細な説明から明らかとなろう。
【発明を実施するための最良の形態】
【００１１】
図１は、３重冗長ラッチの概略図である。３重冗長ラッチへの入力１００は、トランスファ・ゲートＴＧ１，ＴＧ２，ＴＧ３の入力に接続される。制御信号１０２は、トランスファ・ゲートＴＧ１，ＴＧ２，ＴＧ３に接続される。制御信号１０２は、トランスファ・ゲートＴＧ１，ＴＧ２，ＴＧ３の入力における信号がそれぞれトランスファ・ゲートＴＧ１，ＴＧ２，ＴＧ３の出力１０４，１０６，１０８に転送される時を制御する。出力１０４，１０６，１０８に提示される信号は、それぞれラッチＬＡＴＣＨ１，ＬＡＴＣＨ２，ＬＡＴＣＨ３に格納される。
【００１２】
制御信号１０２がオフとなった後に、ラッチＬＡＴＣＨ１の信号は、インバータＩＮＶ１の入力を駆動する。制御信号１０２がオフとなった後に、ラッチＬＡＴＣＨ２の信号は、インバータＩＮＶ２の入力を駆動する。制御信号１０２がオフとなった後に、ラッチＬＡＴＣＨ３の信号は、インバータＩＮＶ３の入力を駆動する。インバータＩＮＶ１の出力１１０は、ＡＮＤゲートＡＮＤ１への入力とＡＮＤゲートＡＮＤ２への入力とを駆動する。インバータＩＮＶ２の出力１１２は、ＡＮＤゲートＡＮＤ１への入力とＡＮＤゲートＡＮＤゲートＡＮＤ３への入力とを駆動する。インバータＩＮＶ３の出力１１４は、ＡＮＤゲートＡＮＤ２への入力とＡＮＤゲートＡＮＤ３への入力とを駆動する。ＡＮＤゲートＡＮＤ１の出力１１６は、ＯＲゲートＯＲ１の入力を駆動する。ＡＮＤゲートＡＮＤ２の出力１１８は、ＯＲゲートＯＲ１の入力を駆動する。ＡＮＤゲートＡＮＤ３の出力１２０は、ＯＲゲートＯＲ１の入力を駆動する。３重冗長ラッチの出力は、ＯＲゲートＯＲ１の出力１２２である。
【００１３】
３重冗長ラッチは、３つの異なるラッチに同じデータを格納することによりソフトエラーを低減する。例えば、制御信号１０２がオンである時に、論理ハイ値（logical high value）が、トランスファ・ゲートＴＧ１，ＴＧ２，ＴＧ３の入力１００からそれぞれトランスファ・ゲートＴＧ１，ＴＧ２，ＴＧ３の出力１０４，１０６，１０８に駆動される場合がある。制御信号１０２がオフになると、論理ハイ値は、ラッチＬＡＴＣＨ１，ＬＡＴＣＨ２，ＬＡＴＣＨ３に格納される。ラッチＬＡＴＣＨ１における格納された論理ハイ値は、インバータＩＮＶ１の入力を駆動し、インバータＩＮＶ１の出力１１０において論理ロー値（logical low value）をもたらす。ラッチＬＡＴＣＨ２における格納された論理ハイ値は、インバータＩＮＶ２の入力を駆動し、インバータＩＮＶ２の出力１１２において論理ロー値をもたらす。ラッチＬＡＴＣＨ３における格納された論理ハイ値は、インバータＩＮＶ３の入力を駆動し、インバータＩＮＶ３の出力１１４において論理ロー値をもたらす。
【００１４】
インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ３それぞれの出力１１０，１１２，１１４がローであるため、ＡＮＤゲートＡＮＤ１，ＡＮＤ２，ＡＮＤ３それぞれに対する入力１１０，１１２，１１４は、すべて、論理ロー値である。ＡＮＤゲートＡＮＤ１，ＡＮＤ２，ＡＮＤ３それぞれに対する入力１１０，１１２，１１４は、すべて、論理ロー値であるため、ＡＮＤゲートＡＮＤ１，ＡＮＤ２，ＡＮＤ３のそれぞれの出力１１６，１１８，１２０は論理ロー値である。ＡＮＤゲートＡＮＤ１，ＡＮＤ２，ＡＮＤ３のそれぞれの出力１１６，１１８，１２０が論理ロー値であるため、ＯＲゲートＯＲ１の入力は、すべて、論理ロー値である。ＯＲゲートＯＲ１に対する入力１１６，１１８，１２０は、すべて、論理ロー値であるため、出力１２２は、論理ロー値である。
【００１５】
ソフトエラーが例えばラッチＬＡＴＣＨ２において発生し、格納された論理値を論理ハイ値から論理ロー値に変化させる場合には、その時に、インバータＩＮＶ２の入力１０６には論理ロー値が提示される。インバータＩＮＶ２の出力１１２は、ＡＮＤゲートＡＮＤ１，ＡＮＤ３の入力に対し論理ハイ値を提示する。この例では、ＡＮＤゲートＡＮＤ１への他方の入力１１０とＡＮＤゲートＡＮＤ３への他方の入力１１４とが論理ロー値であるため、ＡＮＤゲートＡＮＤ１及びＡＮＤ３のそれぞれの出力１１６，１２０は論理ロー値のままであり、出力１２２は変化しない。この例は、１つのラッチにおける単一ソフトエラーにより、３重冗長ラッチにおける元の格納された値がいかに変化しないかを例示する。
【００１６】
さらなる例として、ラッチＬＡＴＣＨ２におけるソフトエラーに加えて、ラッチＬＡＴＣＨ３にさらなるソフトエラーがあるものと想定する。ここで、インバータＩＮＶ３への入力１０８は論理ロー値であり、その結果、インバータＩＮＶ３の出力１１４は論理ハイ値である。ここで、ＡＮＤゲートＡＮＤ２の入力１１４とＡＮＤゲートＡＮＤ３の入力１１４とに対し、論理ハイ値が提示される。ＡＮＤゲートＡＮＤ１の入力には論理ロー値と論理ハイ値とが提示されるため、ＡＮＤゲートＡＮＤ１の出力１１６は依然として論理ロー値である。ＡＮＤゲートＡＮＤ２の入力には論理ロー値と論理ハイ値とが提示されるため、ＡＮＤゲートＡＮＤ２の出力１１８は依然として論理ロー値である。しかしながら、ＡＮＤゲートＡＮＤ３への入力１１２及び１１４が論理ハイ値であるため、出力１２０は論理ハイ値である。ＯＲゲートＯＲ１への入力１２０が論理ハイ値であるため、出力１２２は、論理ロー値から論理ハイ値に変化する。この例は、３重冗長ラッチのうちの２つのラッチにおけるソフトエラーが、いかに３重冗長ラッチの元の格納された値を変化させるかを例示する。
【００１７】
３重冗長ラッチは、単一ソフトエラーがラッチに格納された元の値を変化させないようにする。しかしながら、これにより、回路を追加することになり、ラッチが物理的に大きくなる。さらに、３重冗長により、ラッチの遅延経路に時間遅延がもたらされる。その結果、３重冗長ラッチは、通常、単一ラッチより大きくかつ低速である。
【００１８】
図２は、改良された３重冗長ラッチの一実施形態のブロック図である。この実施形態では、信号２０４を制御することにより、設定可能メモリ素子１（ＳＭＥ１）と、設定可能メモリ素子２（ＳＭＥ２）と、設定可能メモリ素子３（ＳＭＥ３）と、に同一の論理値２１０が設定される。信号２０４を制御することにより設定可能メモリ素子１（ＳＭＥ１）と、設定可能メモリ素子２（ＳＭＥ２）と、設定可能メモリ素子３（ＳＭＥ３）と、に同一の論理値２１０が設定された後に、その同一の論理値は、３つの設定可能メモリ素子ＳＭＥ１，ＳＭＥ２，ＳＭＥ３に保持される。設定可能メモリ素子１（ＳＭＥ１）と、設定可能メモリ素子２（ＳＭＥ２）と、設定可能メモリ素子３（ＳＭＥ３）と、に同一の論理値２１０が設定された後に、投票構造ＶＳ１，ＶＳ２，ＶＳ３が、ノード２０６，２０８，２１２における論理値と制御信号２０４とに基づき、投票構造ＶＳ１，ＶＳ２及びＶＳ３のそれぞれの出力２１４，２１６，２１８に提示される論理値を確定する。
【００１９】
設定可能メモリ素子１（ＳＭＥ１）に格納された論理値２１０がソフトエラーイベントによって乱され、かつ、他の２つの設定可能メモリ素子ＳＭＥ２，ＳＭＥ３がソフトエラーイベントによって乱されない場合には、投票構造１，ＶＳ１が、設定可能メモリ素子１（ＳＭＥ１）に格納された元の論理値を復元する。設定可能メモリ素子２（ＳＭＥ２）に格納された論理値２１０がソフトエラーイベントによって乱され、かつ、他の２つの設定可能メモリ素子ＳＭＥ１，ＳＭＥ３がソフトエラーイベントによって乱されない場合には、投票構造２（ＶＳ２）が、設定可能メモリ素子２（ＳＭＥ２）に格納された元の論理値を復元する。設定可能メモリ素子３（ＳＭＥ３）に格納された論理値２１０がソフトエラーイベントによって乱され、かつ、他の２つの設定可能メモリ素子ＳＭＥ１，ＳＭＥ２がソフトエラーイベントによって乱されない場合には、投票構造３（ＶＳ３）が、設定可能メモリ素子３（ＳＭＥ３）に格納された元の論理値を復元する。
【００２０】
設定可能メモリ素子１（ＳＭＥ１）に格納された論理値がソフトエラーイベントによって乱される場合には、投票構造３（ＶＳ３）は、その出力２１８をトライステート（tri-state）にして、設定可能メモリ素子３（ＳＭＥ３）に元の論理値が格納されたままにすると共に、投票構造２（ＶＳ２）は、その出力２１６をトライステートにして、設定可能メモリ素子２（ＳＭＥ２）に元の論理値が格納されたままにする。設定可能メモリ素子２（ＳＭＥ２）に格納された論理値がソフトエラーイベントによって乱される場合には、投票構造３（ＶＳ３）は、その出力２１８をトライステートにして、設定可能メモリ素子３（ＳＭＥ３）に元の論理値が格納されたままにすると共に、投票構造１（ＶＳ１）は、その出力２１４をトライステートにして、設定可能メモリ素子１（ＳＭＥ１）に元の論理値が格納されたままにする。２つの設定可能メモリ素子ＳＭＥ１，ＳＭＥ２がソフトエラーイベントによってほぼ同時に乱される場合には、３重冗長ラッチに格納された元の論理値は失われる可能性がある。
【００２１】
図２に示す３重冗長ラッチを通しての伝播遅延は、設定可能メモリ素子ＳＭＥ３の伝播遅延によってのみ確定される。本発明のこの実施形態は、３重冗長ラッチの遅延時間を大幅に向上させる。例えば、図１に示す従来技術を通しての遅延時間には、ラッチＬＡＴＣＨ１，ＬＡＴＣＨ２，ＬＡＴＣＨ３間で最も低速のラッチを通しての伝播遅延と、インバータＩＮＶ２を通しての伝播遅延と、ＡＮＤゲートＡＮＤ２を通しての伝播遅延と、ＯＲゲートＯＲゲートＯＲ１を通しての伝播遅延と、が含まれる。
【００２２】
図３は、遅延が改善されかつ信頼性が向上された３重冗長ラッチのブロック図である。この例に示す３重冗長ラッチの入力は、トランスファ・ゲートＴＧ１，ＴＧ２，ＴＧ３の入力３０２に接続されている。さらに、トランスファ・ゲートの代りに、トライステート可能入力インバータと、相互結合ＮＡＮＤゲートと、相互結合ＮＯＲゲートと、を使用してもよい。制御信号３０４，３０６がオンである場合には、トランスファ・ゲートＴＧ１，ＴＧ２，ＴＧ３の入力３０２における信号は、トランスファ・ゲートＴＧ１の出力３０８と、トランスファ・ゲートＴＧ３の出力３１０と、トランスファ・ゲートＴＧ２の出力３１２と、に転送される。トランスファ・ゲートＴＧ１の出力３０８に提示される論理値は、また、ラッチＬＡＴＣＨ１（Ｌ１）への入力でもある。トランスファ・ゲートＴＧ２の出力３１２に提示される論理値は、また、ラッチＬＡＴＣＨ２（Ｌ２）への入力でもある。トランスファ・ゲートＴＧ３の出力３１０に提示される論理値は、また、ラッチＬＡＴＣＨ３（Ｌ３）への入力３１０に接続されている。
【００２３】
ラッチＬＡＴＣＨ１（Ｌ１）の出力３１４は、投票構造ＶＳ３の入力３１４と投票構造ＶＳ２の入力３１４とに接続される。ラッチＬＡＴＣＨ２（Ｌ２）の出力３１６は、投票構造ＶＳ３の入力３１６と投票構造ＶＳ１の入力３１６とに接続される。ラッチＬＡＴＣＨ３（Ｌ３）の出力３１８は、投票構造ＶＳ１の入力３１８と投票構造ＶＳ２の入力３１８とに接続される。
【００２４】
本実施形態に対し冗長性をいかに適用するかの例として、論理ハイ値が格納されるものとする。この例では、記憶ノード３０８，３１０，３１２の各々に論理ハイ値が格納される。ラッチＬＡＴＣＨ１（Ｌ１）の出力３１４は、投票構造２（ＶＳ２）及び投票構造３（ＶＳ）の入力に論理ロー値を提供する。ラッチＬＡＴＣＨ２（Ｌ２）の出力３１６は、投票構造１（ＶＳ１）及び投票構造３（ＶＳ３）の入力に論理ロー値を提供する。制御信号３０４，３０６は、３つの投票構造ＶＳ１，ＶＳ２，ＶＳ３のすべての２つの入力に論理ロー値と論理ハイ値とをそれぞれ提供する。投票構造３（ＶＳ３）に提示される論理値の結果として、投票構造３（ＶＳ３）の出力３１０は、ラッチＬＡＴＣＨ３（Ｌ３）に格納された論理ハイ値に一致するようにハイ（高レベル）に駆動される。
【００２５】
この例において、ソフトエラーイベントが、ラッチＬＡＴＣＨ１（Ｌ１）に格納された論理値を論理ハイ値から論理ロー値に変化させる場合には、ラッチＬＡＴＣＨ３（Ｌ３）が元の論理値を維持する間に、投票構造３（ＶＳ３）の出力３１０がトライステートされるため、ラッチＬＡＴＣＨ３（Ｌ３）に格納された論理値は、その論理ハイ値を保持する。その結果、３重冗長ラッチは、単一ソフトエラーにも係らず格納された元の論理値を保持する。さらに、投票構造１（ＶＳ１）は、ラッチＬＡＴＣＨ１（Ｌ１）に格納された元の論理ハイ値を復元して、３重冗長ラッチをその元の乱されていない状態に復元する。
【００２６】
この例において、ソフトエラーイベントが、ラッチＬＡＴＣＨ２（Ｌ２）に格納された論理値を論理ハイ値から論理ロー値に変化させる場合には、ラッチＬＡＴＣＨ３（Ｌ３）が元の論理値を維持する間に、投票構造３（ＶＳ３）の出力３１０がトライステートされるため、ラッチＬＡＴＣＨ３（Ｌ３）に格納された論理値は、その論理ハイ値を保持する。その結果、３重冗長ラッチは、単一ソフトエラーにも係らず格納された元の論理値を保持する。さらに、投票構造２（ＶＳ２）は、ラッチＬＡＴＣＨ２（Ｌ２）に格納された元の論理ハイ値を復元して、３重冗長ラッチをその元の乱されていない状態に復元する。
【００２７】
この例において、ソフトエラーイベントがラッチＬＡＴＣＨ３ＬＡＴＣＨ（Ｌ３）に格納された論理値を論理ハイ値から論理ロー値に変化させる場合には、投票構造３（ＶＳ３）は、ラッチＬＡＴＣＨ３（Ｌ３）の入力３１０を論理ハイ値に戻るように駆動する。その結果、３重冗長ラッチは、単一ソフトエラーにも係らず格納された元の論理値を保持する。
【００２８】
しかしながら、この例において、ソフトエラーイベントがノード３０８，３１２に格納された値をほぼ同時に変化させる場合には、３重冗長ラッチは、その元の値から変化しない可能性がある。ソフトエラーイベントが、ノード３０８，３１２に格納された論理値を論理ハイ値から論理ロー値に変化させる場合には、投票構造３（ＶＳ３）への入力３１４，３１６は、論理ロー値から論理ハイ値に変化する。入力３１４，３１６に論理ハイ値を有する結果、投票構造３（ＶＳ３）の出力３１０は論理ロー値である。その結果、ノード３１０に格納された論理値は、元の論理ハイ値から論理ロー値に変化する。この例では、３重冗長ラッチに格納された元の値は、論理ハイ値から論理ロー値に変化する。
【００２９】
ラッチのソフトエラーレートを改善することに加えて、図３に示す３重冗長ラッチは、また、論理遅延の数が低減するため３重冗長ラッチを通しての遅延時間も低減させる。１つの設定可能メモリ素子のみが影響を受けたとすると、３重冗長ラッチは、ソフトエラーイベント後に３つの設定可能メモリ素子のすべての元の格納された論理値を復元する。
【００３０】
図４は、改良された３重冗長ラッチの概略図である。図４は、図３が含む基本ブロックと同じ基本ブロック、すなわちトランスファ・ゲート１（ＴＧ１），トランスファ・ゲート２（ＴＧ２），トランスファ・ゲート３（ＴＧ３），ラッチＬＡＴＣＨ１（Ｌ１）、ラッチＬＡＴＣＨ２（Ｌ２），ラッチＬＡＴＣＨ３（Ｌ３），投票構造１（ＶＳ１）、投票構造２（ＶＳ２），投票構造３（ＶＳ３）を含む。
【００３１】
３重冗長ラッチのためのトランスファ・ゲート１（ＴＧ１）の一実施形態は、ＰＦＥＴ（ＰチャネルＦＥＴ）（ＭＰ２）とＮＦＥＴ（ＮチャネルＦＥＴ）（ＭＮ２）とを有する。この実施形態では、ＰＦＥＴ（ＭＰ２）及びＮＦＥＴ（ＭＮ２）のドレインは、トランスファ・ゲート１（ＴＧ１）の入力４０２に接続される。ＰＦＥＴ（ＭＰ２）及びＮＦＥＴ（ＭＮ２）のソースは、トランスファ・ゲート１（ＴＧ１）の出力４０８に接続される。ＰＦＥＴ（ＭＰ２）のゲートは、トランスファ・ゲート１（ＴＧ１）の制御入力４０６に接続される。ＮＦＥＴ（ＭＮ２）のゲートは、トランスファ・ゲート１（ＴＧ１）の制御入力４０４に接続される。
【００３２】
３重冗長ラッチのためのトランスファ・ゲート２（ＴＧ２）の一実施形態は、ＰＦＥＴ（ＭＰ４）とＮＦＥＴ（ＭＮ４）とを有する。この実施形態では、ＰＦＥＴ（ＭＰ４）及びＮＦＥＴ（ＭＮ４）のドレインは、トランスファ・ゲート２（ＴＧ２）の入力４０２に接続される。ＰＦＥＴ（ＭＰ４）及びＮＦＥＴ（ＭＮ４）のソースは、トランスファ・ゲート２（ＴＧ２）の出力４１２に接続される。ＰＦＥＴ（ＭＰ４）のゲートは、トランスファ・ゲート２（ＴＧ２）の制御入力４０６に接続される。ＮＦＥＴ（ＭＮ４）のゲートは、トランスファ・ゲート２（ＴＧ２）の制御入力４０４に接続される。
【００３３】
３重冗長ラッチのためのトランスファ・ゲート３（ＴＧ３）の一実施形態は、ＰＦＥＴ（ＭＰ３）とＮＦＥＴ（ＭＮ３）とを有する。この実施形態では、ＰＦＥＴ（ＭＰ３）及びＮＦＥＴ（ＭＮ３）のドレインは、トランスファ・ゲート３（ＴＧ３）の入力４０２に接続される。ＰＦＥＴ（ＭＰ３）及びＮＦＥＴ（ＭＮ３）のソースは、トランスファ・ゲート３（ＴＧ３）の出力４１６に接続される。ＰＦＥＴ（ＭＰ３）のゲートは、トランスファ・ゲート３（ＴＧ３）の制御入力４０６に接続される。ＮＦＥＴ（ＭＮ３）のゲートは、トランスファ・ゲート３（ＴＧ３）の制御入力４０４に接続される。
【００３４】
３重冗長ラッチのためのラッチＬＡＴＣＨ１（Ｌ１）の一実施形態は、ＰＦＥＴ（ＭＰ５）と、ＮＦＥＴ（ＭＮ５）と、ＰＦＥＴ（ＭＰ６）と、ＮＦＥＴ（ＭＮ６）と、を有する。この実施形態では、ＰＦＥＴ（ＭＰ５）のゲート及びＮＦＥＴ（ＭＮ５）のゲートは、ＰＦＥＴ（ＭＰ６）のドレイン及びＮＦＥＴ（ＭＮ６）のドレイン、すなわち、ラッチＬＡＴＣＨ１（Ｌ１）の入力４０８に接続される。ＰＦＥＴ（ＭＰ５）のドレイン及びＮＦＥＴ（ＭＮ５）のドレインは、ＰＦＥＴ（ＭＰ６）のゲート及びＮＦＥＴ（ＭＮ６）のゲート、すなわち、ラッチＬＡＴＣＨ１（Ｌ１）の出力４１０に接続される。ＰＦＥＴ（ＭＰ５）及びＰＦＥＴ（ＭＰ６）のソースは、ＶＤＤ（電圧端子）に接続される。ＮＦＥＴ（ＭＮ５）及びＮＦＥＴ（ＭＮ６）のソースは、ＧＮＤ（アース端子）に接続される。
【００３５】
３重冗長ラッチのためのラッチＬＡＴＣＨ２（Ｌ２）の一実施形態は、ＰＦＥＴ（ＭＰ７）と、ＮＦＥＴ（ＭＮ７）と、ＰＦＥＴ（ＭＰ８）と、ＮＦＥＴ（ＭＮ８）と、を有する。この実施形態では、ＰＦＥＴ（ＭＰ７）のゲート及びＮＦＥＴ（ＭＮ７）のゲートは、ＰＦＥＴ（ＭＰ８）のドレイン及びＮＦＥＴ（ＭＮ８）のドレイン、すなわち、ラッチＬＡＴＣＨ２（Ｌ２）の入力４１２に接続される。ＰＦＥＴ（ＭＰ７）のドレイン及びＮＦＥＴ（ＭＮ７）のドレインは、ＰＦＥＴ（ＭＰ８）のゲート及びＮＦＥＴ（ＭＮ８）のゲート、すなわち、ラッチＬＡＴＣＨ２（Ｌ２）の出力４１４に接続される。ＰＦＥＴ（ＭＰ７）及びＰＦＥＴ（ＭＰ８）のソースは、ＶＤＤに接続される。ＮＦＥＴ（ＭＮ７）及びＮＦＥＴ（ＭＮ８）のソースは、ＧＮＤに接続される。
【００３６】
３重冗長ラッチのためのラッチＬＡＴＣＨ３（Ｌ３）の一実施形態は、ＰＦＥＴ（ＭＰ９）と、ＮＦＥＴ（ＭＮ９）と、ＰＦＥＴ（ＭＰ１０）と、ＮＦＥＴ（ＭＮ１０）と、を有する。この実施形態では、ＰＦＥＴ（ＭＰ９）のゲート及びＮＦＥＴ（ＭＮ９）のゲートは、ＰＦＥＴ（ＭＰ１０）のドレイン及びＮＦＥＴ（ＭＮ１０）のドレイン、すなわちラッチＬＡＴＣＨ３（Ｌ３）の入力４１６に接続される。ＰＦＥＴ（ＭＰ９）のドレイン及びＮＦＥＴ（ＭＮ９）のドレインは、ＰＦＥＴ（ＭＰ１０）のゲート及びＮＦＥＴ（ＭＮ１０）のゲート、すなわち、ラッチＬＡＴＣＨ３（Ｌ３）の出力４１８に接続される。ＰＦＥＴ（ＭＰ９）及びＰＦＥＴ（ＭＰ１０）のソースは、ＶＤＤに接続される。ＮＦＥＴ（ＭＮ９）及びＮＦＥＴ（ＭＮ１０）のソースは、ＧＮＤに接続される。
【００３７】
３重冗長ラッチのための投票構造１（ＶＳ１）の一実施形態は、ＰＦＥＴ（ＭＰ１１）と、ＰＦＥＴ（ＭＰ１２）と、ＰＦＥＴ（ＭＰ１３）と、ＮＦＥＴ（ＭＮ１１）と、ＮＦＥＴ（ＭＮ１２）と、ＮＦＥＴ（ＭＮ１３）と、を有する。この実施形態では、ＰＦＥＴ（ＭＰ１１）及びＮＦＥＴ（ＭＮ１１）のゲートは、投票構造１（ＶＳ１）の第１の入力４１４に接続される。ＰＦＥＴ（ＭＰ１２）及びＮＦＥＴ（ＭＮ１２）のゲートは、投票構造１（ＶＳ１）の第２の入力４１８に接続される。ＰＦＥＴ（ＭＰ１３）のゲートは、投票構造１（ＶＳ１）の第３の入力４０４に接続される。ＮＦＥＴ（ＭＮ１３）のゲートは、投票構造１（ＶＳ１）の第４の入力４０６に接続される。ＰＦＥＴ（ＭＰ１１）のソースは、ＶＤＤに接続される。ＮＦＥＴ（ＭＮ１１）のソースは、ＧＮＤに接続される。ＰＦＥＴ（ＭＰ１１）のドレイン４２０は、ＰＦＥＴ（ＭＰ１２）のソース４２０に接続される。ＰＦＥＴ（ＭＰ１２）のドレイン４２２は、ＰＦＥＴ（ＭＰ１３）のソース４２２に接続される。ＰＦＥＴ（ＭＰ１３）のドレインは、ＮＦＥＴ（ＭＮ１３）のドレインとラッチＬＡＴＣＨ１（Ｌ１）の入力４０８とに接続される。ＮＦＥＴ（ＭＮ１３）のソース４２４は、ＮＦＥＴ（ＭＮ１２）のドレイン４２４に接続される。ＮＦＥＴ（ＭＮ１２）のソース４２６は、ＮＦＥＴ（ＭＮ１１）のドレイン４２６に接続される。
【００３８】
３重冗長ラッチのための投票構造３（ＶＳ３）の一実施形態は、ＰＦＥＴ（ＭＰ１４）と、ＰＦＥＴ（ＭＰ１５）と、ＰＦＥＴ（ＭＰ１６）と、ＮＦＥＴ（ＭＮ１６）と、ＮＦＥＴ（ＭＮ１５）と、ＮＦＥＴ（ＭＮ１４）と、を有する。この実施形態では、ＰＦＥＴ（ＭＰ１４）及びＮＦＥＴ（ＭＮ１４）のゲートは、投票構造３（ＶＳ３）の第１の入力４１４に接続される。ＰＦＥＴ（ＭＰ１５）及びＮＦＥＴ（ＭＮ１５）のゲートは、投票構造３（ＶＳ３）の第２の入力４１０に接続される。ＰＦＥＴ（ＭＰ１６）のゲートは、投票構造３（ＶＳ３）の第３の入力４０４に接続される。ＮＦＥＴ（ＭＮ１６）のゲートは、投票構造３（ＶＳ３）の第４の入力４０６に接続される。ＰＦＥＴ（ＭＰ１４）のソースは、ＶＤＤに接続される。ＮＦＥＴ（ＭＮ１４）のソースは、ＧＮＤに接続される。ＰＦＥＴ（ＭＰ１４）のドレイン４２８は、ＰＦＥＴ（ＭＰ１５）のソース４２８に接続される。ＰＦＥＴ（ＭＰ１５）のドレイン４３０は、ＰＦＥＴ（ＭＰ１６）のソース４３０に接続される。ＰＦＥＴ（ＭＰ１６）のドレインは、ＮＦＥＴ（ＭＮ１６）のドレインとラッチＬＡＴＣＨ３（Ｌ３）の入力４１６とに接続される。ＮＦＥＴ（ＭＮ１６）のソース４３２は、ＮＦＥＴ（ＭＮ１５）のドレイン４３２に接続される。ＮＦＥＴ（ＭＮ１５）のソース４３４は、ＮＦＥＴ（ＭＮ１４）のドレイン４３４に接続される。
【００３９】
３重冗長ラッチのための投票構造２（ＶＳ２）の一実施形態は、ＰＦＥＴ（ＭＰ１７）と、ＰＦＥＴ（ＭＰ１８）と、ＰＦＥＴ（ＭＰ１９）と、ＮＦＥＴ（ＭＮ１９）と、ＮＦＥＴ（ＭＮ１８）と、ＮＦＥＴ（ＭＮ１７）と、を有する。この実施形態では、ＰＦＥＴ（ＭＰ１７）及びＮＦＥＴ（ＭＮ１７）のゲートは、投票構造２（ＶＳ２）の第１の入力４１０に接続される。ＰＦＥＴ（ＭＰ１８）及びＮＦＥＴ（ＭＮ１８）のゲートは、投票構造２（ＶＳ２）の第２の入力４１８に接続される。ＰＦＥＴ（ＭＰ１９）のゲートは、投票構造２（ＶＳ２）の第３の入力４０４に接続される。ＮＦＥＴ（ＭＮ１９）のゲートは、投票構造２（ＶＳ２）の第４の入力４０６に接続される。ＰＦＥＴ（ＭＰ１７）のソースは、ＶＤＤに接続される。ＮＦＥＴ（ＭＮ１７）のソースは、ＧＮＤに接続される。ＰＦＥＴ（ＭＰ１７）のドレイン４３６は、ＰＦＥＴ（ＭＰ１８）のソース４３６に接続される。ＰＦＥＴ（ＭＰ１８）のドレイン４３８は、ＰＦＥＴ（ＭＰ１９）のソース４３８に接続される。ＰＦＥＴ（ＭＰ１９）のドレインは、ＮＦＥＴ（ＭＮ１９）のドレインとラッチＬＡＴＣＨ２（Ｌ２）の入力４１２とに接続される。ＮＦＥＴ（ＭＮ１９）のソース４４０は、ＮＦＥＴ（ＭＮ１８）のドレイン４４０に接続される。ＮＦＥＴ（ＭＮ１８）のソース４４２は、ＮＦＥＴ（ＭＮ１７）のドレイン４４２に接続される。
【００４０】
図４は、改良された３重冗長ラッチの概略図である。入力信号は、トランスファ・ゲート１（ＴＧ１），トランスファ・ゲート２（ＴＧ２），トランスファ・ゲート３（ＴＧ３）の入力４０２を駆動する。制御信号４０４が論理ハイ値であり、かつ、制御信号４０６が論理ロー値である場合には、トランスファ・ゲート１（ＴＧ１），トランスファ・ゲート２（ＴＧ２），トランスファ・ゲート３（ＴＧ３）の入力４０２における信号は、トランスファ・ゲート１（ＴＧ１）の出力４０８，トランスファ・ゲート２（ＴＧ２）の出力４１２，トランスファ・ゲート３（ＴＧ３）の出力４１６に転送される。
【００４１】
ノード４０８，４１２，４１６に転送される信号は、また、ラッチＬＡＴＣＨ１（Ｌ１）の入力４０８と、ラッチＬＡＴＣＨ２（Ｌ２）の入力４１２と、ラッチＬＡＴＣＨ３（Ｌ３）の入力４１６と、にも提示される。ラッチＬＡＴＣＨ１，２，３（Ｌ１，Ｌ２，Ｌ３）は、同じ論理値を格納する。ラッチＬＡＴＣＨ１，２，３（Ｌ１，Ｌ２，Ｌ３）のそれぞれの出力４１０，４１４，４１８は、格納された論理値とは反対のセンス（opposite sense）を出力する。第１の制御信号４０４及び第２の制御信号４０６とともにラッチＬＡＴＣＨ１，２，３（Ｌ１，Ｌ２，Ｌ３）のそれぞれの出力４１０，４１４，４１８は、投票構造１，２，３（ＶＳ１，ＶＳ２，ＶＳ３）への入力である。投票構造１（ＶＳ１）への入力４０４，４０６，４１４，４１８により、投票構造１（ＶＳ１）の出力４０８が、トランスファ・ゲートがオフである場合にラッチＬＡＴＣＨ１（Ｌ１）の入力４０８に提示される信号を補強する。投票構造２（ＶＳ２）への入力４０４，４０６，４１０，４１８により、投票構造２（ＶＳ２）の出力４１２が、トランスファ・ゲートがオフである場合にラッチＬＡＴＣＨ２（Ｌ２）の入力４１２に提示される信号を補強する。並びに投票構造３（ＶＳ３）への入力４０４，４０６，４１４，４１０により、投票構造３（ＶＳ３）の出力４１６が、トランスファ・ゲートがオフである場合にラッチＬＡＴＣＨ３（Ｌ３）の入力４１６に提示される信号を補強する。
【００４２】
制御入力４０４が論理ロー値に駆動され、制御入力４０６が論理ハイ値に駆動された後に、ラッチＬＡＴＣＨ１（Ｌ１），ラッチＬＡＴＣＨ２（Ｌ２），ラッチＬＡＴＣＨ３（Ｌ３）は、ノード４０８，４１２，４１６のそれぞれに提示される元の論理値を格納する。ノード４０８，４１２，４１６が何れも乱されない場合には、同じセンス（same sense）の信号が３重冗長ラッチの出力４１６に提示される。
【００４３】
例えば、ノード４０８，４１２，４１６に論理ハイ値が格納される場合には、３重冗長ラッチの出力４１６に、論理ハイ値が提示される。ラッチＬＡＴＣＨ１（Ｌ１）の出力４１０における論理ロー値は、投票構造３（ＶＳ３）の第２の入力に与えられる。ラッチＬＡＴＣＨ２（Ｌ２）の出力４１４の論理ロー値は、投票構造３（ＶＳ３）の第１の入力に与えられる。この例では、トランスファ・ゲートがオフにされるため、制御信号４０４はローであり、制御信号４０６はハイである。制御信号４０４がローであるため、投票構造３（ＶＳ３）の第３の入力には論理ロー値が与えられる。制御信号４０６がハイであるため、投票構造３（ＶＳ３）の第４の入力には論理ハイ値が与えられる。これらの論理値が投票構造３（ＶＳ３）に与えられることにより、３重冗長ラッチの出力４１６はハイの論理値のままである。
【００４４】
ノード４０８，４１２，４１６に論理ハイ値が格納されるこの例において、ノード４０８が、ソフトエラーイベントにより論理ロー値に変化する場合には、投票構造３（ＶＳ３）の入力４１０には論理ハイ値が提示される。入力４１４，４０４は論理ロー値のままであり、入力４０６は論理ハイ値のままである。入力４１０がロー論理値からハイ論理値に変化したため、ノード４１６は、投票構造３（ＶＳ３）によりそれ以上アクティブにハイに駆動されない。しかしながら、ラッチＬＡＴＣＨ３（Ｌ３）は乱されなかったため、ラッチＬＡＴＣＨ３（Ｌ３）は、アクティブにノード４１６を論理ハイ値で保持する。その結果、ラッチＬＡＴＣＨ１（Ｌ１）がソフトエラーイベントにより乱されて論理ロー値になるにも係らず、３重冗長ラッチの出力４１６における値は、論理ハイ値のままであり、ラッチＬＡＴＣＨ１（Ｌ１）に格納された元の論理値は、投票構造１（ＶＳ１）によって復元される。
【００４５】
単一ソフトエラーイベントが、ラッチＬＡＴＣＨ３（Ｌ３）に格納された論理値を一時的に変化させる場合には、投票構造３（ＶＳ３）は、ラッチＬＡＴＣＨ３（Ｌ３）における論理値をその元の値に復元する。ラッチＬＡＴＣＨ３（Ｌ３）の論理値が変化した結果、入力４０４，４０６並びに投票構造３（ＶＳ３）への入力４１０，４１４の何れも変化しなかったため、ラッチＬＡＴＣＨ３（Ｌ３）における論理状態は、その元の値に復元される。従って、３重冗長ラッチの出力４１６は、その元の値に戻るように駆動される。
【００４６】
しかしながら、ソフトエラーイベントが、ノード４０８，ノード４１２に格納された値をほぼ同時に変化させる場合には、３重冗長ラッチは、その元の値から変化する。例えば、ノード４０８，４１２，４１６に論理ハイ値が格納される場合には、３重冗長ラッチの出力４１６には論理ハイ値が提示される。ソフトエラーイベントが、ノード４０８，４１２に格納された論理値を論理ハイ値から論理ロー値に変化させる場合には、投票構造３（Ｖ３）への入力４１０，４１４は、論理ロー値から論理ハイ値に変化する。投票構造３、ＶＳ３の入力４１０，４１４が論理ハイ値であり、制御信号４０６が論理ハイ値を維持するため、出力４１６は論理ロー値になる。そして、ラッチＬＡＴＣＨ３（Ｌ３）に格納されたハイ論理値は、論理ロー値に反転される。そして、３重冗長ラッチの出力４１６は、論理ハイ値から論理ロー値に変化する。
【００４７】
以上を要約すると、次の通りである。すなわち、好ましい実施形態においては、本発明は、高信頼性を有する３重冗長ラッチのための回路及び方法を提供する。３つの設定可能なメモリ素子が各設定可能素子に同一の論理値を設定する。これらの設定可能メモリ素子が設定された後に、第１，第２及び第３の設定可能メモリ素子からの入力と設定可能メモリ素子に対する制御とを有する３つの投票構造が、これらの設定可能メモリ素子に保持される論理値を確定する。１つのラッチを通しての伝播遅延が、３重冗長ラッチの唯一の伝播遅延である。
【００４８】
本発明の上述した説明を、例示及び説明の目的で提示した。それは、網羅的であるようにも本発明を開示した厳密な形態に限定するようにも意図されておらず、上記教示に鑑みて他の変更及び変形が可能であり得る。本発明の原理とその実際的な適用を最もよく例示することにより、当業者が、企図された特定の使用に適するよう、本発明を様々な実施形態において及び様々な変更形態で最もよく利用することができるように、実施形態を選択し説明した。添付の特許請求の範囲は、従来技術によって限定されることを除き、本発明の他の代替実施形態を包含するように解釈されることが意図されている。
【図面の簡単な説明】
【００４９】
【図１】従来の３重冗長ラッチの構成を示すブロック図である。
【図２】本発明の一実施形態に係る改良された３重冗長ラッチの構成を示すブロック図である。
【図３】本発明の一実施形態に係る改良された３重冗長ラッチの構成を示すブロック図である。
【図４】本発明の一実施形態に係る改良された３重冗長ラッチの構成を示すブロック図である。
【符号の説明】
【００５０】
２０４  制御信号
２１４，２１６，２１８  出力
３０２  入力
３０４，３０６  制御入力
３０８，３１０，３１２  出力
３１４，３１６，３１８  出力
４０４，４０６  制御入力
４０８，４１２，４１６  ノード
ＬＡＴＣＨ１，ＬＡＴＣＨ２，ＬＡＴＣＨ３  ラッチ
Ｌ１，Ｌ２，Ｌ３  ラッチ
ＭＮ２〜ＭＮ１９  ＮＦＥＴ
ＭＰ２〜ＭＰ１９  ＰＦＥＴ
ＳＭＥ１，ＳＭＥ２，ＳＭＥ３  設定可能メモリ素子
ＴＧ１，ＴＧ２，Ｔ３  トランスファ・ゲート
ＶＳ１，ＶＳ２，ＶＳ３  投票構造
【図１】
2005341588.tif 000003
【図２】
2005341588.tif 000004
【図３】
2005341588.tif 000005
【図４】
2005341588.tif 000006