JP4273101B2 - テスト機能と各ラッチに対する投票構造が組み込まれた高信頼性3重冗長メモリ素子 - Google Patents

テスト機能と各ラッチに対する投票構造が組み込まれた高信頼性3重冗長メモリ素子 Download PDF

Info

Publication number
JP4273101B2
JP4273101B2 JP2005230446A JP2005230446A JP4273101B2 JP 4273101 B2 JP4273101 B2 JP 4273101B2 JP 2005230446 A JP2005230446 A JP 2005230446A JP 2005230446 A JP2005230446 A JP 2005230446A JP 4273101 B2 JP4273101 B2 JP 4273101B2
Authority
JP
Japan
Prior art keywords
memory element
configurable memory
latch
input
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005230446A
Other languages
English (en)
Other versions
JP2006073180A (ja
Inventor
ジョン・ティー・ピーターセン
ハッサン・ネイサー
ジョナサン・ピー・ロッツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2006073180A publication Critical patent/JP2006073180A/ja
Application granted granted Critical
Publication of JP4273101B2 publication Critical patent/JP4273101B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • G11C11/4125Cells incorporating circuit means for protecting against loss of information

Description

本発明は概してラッチ設計に関する。詳しくは、本発明はラッチのソフトエラー耐性を向上させることに関する。
高エネルギーの中性子は、主としてシリコン原子核との衝突により物質中でエネルギーを失い、一連の二次反応を引き起こす。電子−正孔対がp−n接合を通過する際には、そのような反応により、電子−正孔対の高密度の軌跡が堆積される。堆積した電荷の一部は再結合し、一部は接合接点に収集される。粒子がラッチの脆弱な部分に衝突すると、蓄積された電荷が、ラッチに記憶された値を「反転」させるのに必要とされる最小電荷よりも大きくなり、ソフトエラーが発生することがある。
ソフトエラーを発生させる最小電荷は、ラッチの臨界電荷と呼ばれる。ソフトエラーの発生率(SER)は一般に、故障率(FIT)で表現される。
ソフトエラーの一般的原因は、集積回路のパッケージ材料に含まれる微量の放射性同位元素から放出されるα粒子である。フリップチップパッケージング技術で使用される「バンプ」材料も、α粒子の発生源になり得ることが判明している。
ソフトエラーの他の原因には、高エネルギーの宇宙線や太陽粒子がある。高エネルギーの宇宙線や太陽粒子は、高層大気と反応して高エネルギーの陽子および中性子を生成し、それらが地球に降り注ぐ。中性子はほとんどの人工構造物を貫通するので、特に厄介である(中性子は5フィートのコンクリートを容易に通過する)。この影響は緯度や高度によって変わる。ロンドンでは、その影響が赤道上に比べて2倍にまで悪化する。海抜1マイルのコロラド州デンバーでは、海抜ゼロのサンフランシスコに比べて、3倍にまで悪化する。民間航空機では、その影響が海抜ゼロの場合に比べて100〜800倍にまで悪化することがある。
放射線により発生するソフトエラーは、マイクロプロセッサや他の複雑なIC(集積回路)の故障率を増大させる主な原因の1つになりつつある。この種の故障を減らすために、いくつかの手法が提案されている。ECC(誤り訂正符号)やパリティのデータパスへの追加は、この問題にアーキテクチャレベルで対処しようとするものである。しかしながら、ECCやパリティのデータパスへの追加は、複雑でコストがかかる可能性がある。
回路レベルでは、p/n接合によって生成されるキャパシタンスに対する酸化物によって生成されるキャパシタンスの比を増大させることにより、SERを減らすことができる。ラッチのキャパシタンスは、特に、p/n接合によって生成されるキャパシタンスと酸化物によって生成されるキャパシタンスとを含む。電子/正孔対は、高エネルギーの中性子がp/n接合を通過するときに発生するので、ラッチのp/n接合の面積を小さくすればSERは一般に減少する。高エネルギーの中性子が酸化物を通過しても、あまり多くの電子/正孔対は生成されない。従って、SRAMセル内のp/n接合キャパシタンスに対する酸化物キャパシタンスの比を大きくすると、SERは一般に減少する。
当該技術分野では、ラッチのSERの低減が必要とされている。
本発明の一実施形態は、3重冗長ラッチの物理サイズを僅かに増加させるだけで、3重冗長ラッチ内の遅延時間を短縮するとともに、3重冗長ラッチのSERを低減する。さらに、2つの冗長ラッチを使用して、データを3重冗長ラッチに読み込ませたり、3重冗長ラッチからデータを読み出したりすることができる。
好ましい実施形態において、本発明はテスト機能が組み込まれた高信頼性3重冗長ラッチに関する回路および方法を提供する。3つの設定可能メモリ素子は、各設定可能メモリ素子に同じ論理値が設定される。設定可能メモリ素子が設定された後、第1、第2および第3の設定可能メモリ素子からの入力を有する3つの投票構造により、各設定可能メモリ素子に保持される論理値が決定される。第2の設定可能メモリ素子にデータを読み込ませたり、第2の設定可能メモリ素子からデータを読み出したりすることもできる。データはバッファを通して第3の設定可能メモリ素子に伝送される。第3の設定可能メモリ素子を使用して、3重冗長ラッチからデータを読み出すことができる。ラッチ内の伝送遅延は、3重冗長ラッチの伝送遅延のみである。
本発明の他の態様および利点は、本発明の原理を例として示す添付の図面とともに、以下に記載された詳細な説明から明らかになるであろう。
図1は3重冗長ラッチの概略図である。3重冗長ラッチの入力100は、転送ゲートTG1、TG2およびTG3の入力に接続される。制御信号102が転送ゲートTG1、TG2およびTG3に接続される。制御信号102は、転送ゲートTG1、TG2およびTG3の入力の信号が転送ゲートTG1、TG2およびTG3の出力104、106および108にそれぞれ転送されるタイミングを制御する。出力104、106および108に出力された信号は、LATCH1、LATCH2およびLATCH3にそれぞれ記憶される。
制御信号102をオフに切り換えた後、LATCH1に記憶された信号がインバータINV1の入力を駆動する。制御信号102をオフに切り替えた後、LATCH2に記憶された信号がインバータINV2の入力を駆動する。制御信号102をオフに切り替えた後、LATCH3に記憶された信号がインバータINV3の入力を駆動する。インバータINV1の出力110は、AND1の入力およびAND2の入力を駆動する。インバータINV2の出力112は、AND1の入力およびAND3の入力を駆動する。インバータINV3の出力114は、AND2の入力およびAND3の入力を駆動する。AND1の出力116はOR1の入力を駆動する。AND2の出力118はOR1の入力を駆動する。AND3の出力120はOR1の入力を駆動する。3重冗長ラッチの出力はOR1の出力122である。
3重冗長ラッチは、同じデータを3つの異なるラッチに記憶することによりソフトエラーを減少させる。例えば、制御信号102をオンにすると、転送ゲートTG1、TG2およびTG3の各入力から転送ゲートTG1、TG2およびTG3の各出力104、106および108へ高の論理値がそれぞれ駆動される。制御信号102をオフに切り替えた後、高の論理値がラッチLATCH1、LATCH2およびLATCH3に記憶される。LATCH1に記憶された高の論理値はインバータINV1の入力を駆動し、インバータINV1の出力110に低の論理値を生成する。LATCH2上に記憶された高の論理値はインバータINV2の入力を駆動し、インバータINV2の出力112に低の論理値を生成する。LATCH3上に記憶された高の論理値はインバータINV3の入力を駆動し、インバータINV3の出力114に低の論理値を生成する。
各インバータINV1、INV2およびINV3の出力110、112および114がそれぞれ低であるから、AND1、AND2およびAND3への入力110、112および114は全て低の論理値になる。AND1、AND2およびAND3への各入力110、112および114が全て低の論理値であるから、AND1、AND2およびAND3の各出力116、118および120はいずれも低の論理値になる。AND1、AND2およびAND3の各出力116、118および120が低の論理値であるから、OR1の入力は全て低の論理値になる。OR1への入力116、118および120が全て低の論理値であるから、出力122は低の論理値になる。
例えばLATCH2にソフトエラーが発生し、そこに記憶された論理値が高の論理値から低の論理値に変化した場合、今度は、低の論理値がインバータINV2の入力106に供給される。インバータINV2の出力112は、高の論理値をAND1およびAND3の入力に供給する。この例では、AND1のもう一方の入力110およびAND3のもう一方の入力114が低の論理値であるから、AND1およびAND3の各出力116および120は低の論理値のまま変化せず、出力122は変化しない。この例は、1つのラッチに単一のソフトエラーが発生しても、3重冗長ラッチに最初に記憶された値が変化しない仕組みを示している。
他の例として、LATCH2のソフトエラーに加えて、さらにLATCH3にもソフトエラーがあるものと仮定する。今度はインバータINV3への入力108が低の論理値であるから、インバータINV3の出力114は高の論理値になる。そして、AND2の入力114とAND3の入力114に、高の論理値が供給される。低の論理値と高の論理値がAND1の入力に供給されるので、AND1の出力116は、低の論理値のまま変化しない。また、低の論理値と高の論理値がAND2の入力に供給されるので、AND2の出力118も、低の論理値のまま変化しない。しかしながら、AND3への2つの入力112および114はいずれも高の論理値であるから、出力120は高の論理値になる。OR1への入力120が高の論理値であるから、出力122は低の論理値から高の論理値へ変化する。この例は、3重冗長ラッチのうちの2つのラッチにソフトエラーが発生すると、3重冗長ラッチに最初に記憶された値が変化することを示している。
3重冗長ラッチは、ラッチに記憶された元の値が単一のソフトエラーにより変化することを防止することができる。しかしながら、これは回路の追加を代償とするものであるから、ラッチの物理的サイズは大きくなる。さらに、3重の冗長性は、ラッチの遅延経路に時間遅延を発生させることがある。そのため、3重冗長ラッチは一般に、単一のラッチよりも大きく、遅いものとなる。
図2は、改良型重冗長ラッチの一実施形態を示すブロック図である。この実施形態では、信号SETを制御することにより、設定可能メモリ素子1(SME1)、設定可能メモリ素子2(SME2)、および設定可能メモリ素子3(SME3)に、同じ論理値のデータ入力DINを設定する。信号SETを制御することにより、設定可能メモリ素子1(SME1)、設定可能メモリ素子2(SME2)および設定可能メモリ素子3(SME3)に同じ論理値DINを設定した後、その同じ論理値は、3つの設定可能メモリ素子SME1、SME2およびSME3に保持される。設定可能メモリ素子1(SME1)、設定可能メモリ素子2(SME2)および設定可能メモリ素子3(SME3)に同じ論理値DINが設定された後、投票構造1(VS1)は、ノードNOUT2およびNOUT3上の論理値に基づいて、投票構造1(VS1)の出力VS1OUTに出力される論理値を判定する。設定可能メモリ素子1(SME1)、設定可能メモリ素子2(SME2)および設定可能メモリ素子3(SME3)に同じ論理値DINが設定された後、投票構造2(VS2)は、ノードDOUTおよびSOUT上の論理値に基づいて、投票構造2(VS2)の出力VS2OUTに出力される論理値を判定する。設定可能メモリ素子1(SME1)、設定可能メモリ素子2(SME2)および設定可能メモリ素子3(SME3)に同じ論理値DINが設定された後、投票構造3(VS3)は、ノードDOUTおよびOUT2上の論理値に基づいて、投票構造3(VS3)の出力VS3OUTに出力される論理値を判定する。
設定可能メモリ素子1(SME1)に記憶された論理値DINがソフトエラー事象によって変更され、他の2つの設定可能メモリ素子SME2およびSME3がソフトエラー事象の影響を受けなかった場合は、投票構造1(VS1)が、設定可能メモリ素子1(SME1)に記憶されていた元の論理値を復元する。
設定可能メモリ素子2(SME2)に記憶された論理値DINがソフトエラー事象によって変化し、他の2つの設定可能メモリ素子SME1およびSME3がソフトエラー事象の影響を受けなかった場合は、投票構造2(VS2)が、設定可能メモリ素子2(SME2)に記憶されていた元の論理値を復元する。
設定可能メモリ素子3(SME3)に記憶された論理値DINがソフトエラー事象によって変化し、他の2つの設定可能メモリ素子SME1およびSME2がソフトエラー事象の影響を受けなかった場合は、投票構造3(VS3)が、設定可能メモリ素子3(SME3)に記憶されていた元の論理値を復元する。
設定可能メモリ素子2(SME2)に記憶された論理値がソフトエラー事象によって変化した場合、投票構造VS1およびVS3は、設定可能メモリ素子SME1およびSME3に記憶されていた元の論理値をそのまま残して、それぞれの出力VS1OUTおよびVS3OUTをトライステートにする。2つの設定可能メモリ素子、例えばSME2およびSME3が、ソフトエラー事象によってほぼ同時に変化した場合、3重冗長ラッチに最初に記憶されていた論理値は、破壊されることがある。3重冗長ラッチは、2以上のソフトエラー事象がほぼ同時に発生しない限り、ほとんど故障しないであろう。単一のソフトエラー事象が発生し、ある設定可能メモリ素子の論理値が変化した場合は、その設定可能メモリ素子に対応する投票構造が、正しい値をその設定可能メモリ素子上に復元する。
テストの目的で、3重冗長ラッチに記憶されている元の論理値を3重冗長ラッチから読み出すこともできる。設定可能メモリ2(SME2)に保持されている論理値DINは、バッファ1(BUF1)の入力OUT2に供給される。そして、バッファ1(BUF1)の出力BOUTは転送ゲートTG9の入力に供給される。システムクロックを停止させた状態で制御信号NSHIFTをアクティブにすると、BOUTに現れる論理値を出力SOUTに伝送することができる。そして、SOUTの論理値をテスタに読み込み、評価することができる。
また、スキャンデータSINを3重冗長ラッチに読み込ませることもできる。制御信号SHIFTをアクティブにし、制御信号SETが非アクティブにし、システムクロックを停止させると、スキャンデータSINを設定可能メモリ素子2(SME2)に読み込ませることができる。次に、制御信号SETを非アクティブにしたまま、制御信号SHIFTを非アクティブにし、制御信号NSHIFTをアクティブにすると、そのスキャンデータを設定可能メモリ素子3(SME3)に読み込ませることができる。制御信号TEST2が高で、制御信号NTEST2が低であれば、設定可能メモリ素子SME2およびSME3に読み込まれた論理値を設定可能メモリ素子1(SME1)にも強制的に読み込ませることができる。投票構造1(VS1)の出力VS1OUTは設定可能メモリ素子SME2およびSME3に読み込まれたのと同じ論理値を生成するので、設定可能メモリ素子SME2およびSME3に読み込まれたのと同じ論理値を、設定可能メモリ素子1(SME1)にも強制的に読み込ませることができる。
オンザフライでサンプリング中に、システムクロックを動作させた状態でテストモードに切り替えることができる。設定可能メモリ素子SME2およびSME3に記憶された初期の論理値は、設定可能メモリ素子1(SME1)に記憶された論理値と同じになるであろう。システムクロックが動作しているので、設定可能メモリ素子1(SME1)の論理値は変化する可能性がある。任意の後続のシステムクロックサイクルにおいて信号SAMPLEをアクティブにすると、設定可能メモリ素子1(SME1)から設定可能メモリ素子SME2およびSME3に最新の値をロードすることができる。最新の論理値を設定可能メモリ素子SME2およびSME3にロードした後、この論理値は、制御信号SHIFTおよびNSHIFTを用いて読み出すことができる。
図2に示す3重冗長ラッチ内の伝送遅延は、設定可能メモリ素子1(SME1)の伝送遅延によってのみ決まる。本発明のこの実施形態は、3重冗長ラッチの遅延時間を大幅に改善する。例えば、図1に示す従来技術の3重冗長ラッチの遅延時間は、ラッチLATCH1、LATCH2およびLATCH3の中で最も遅いラッチ内の伝送遅延、インバータ(INV2)内の伝送遅延、ANDゲート(AND2)内の伝送遅延、およびORゲート(OR1)内の伝送遅延を含む。
図3は、遅延を改善し、信頼性を高め、テスト機能を組み込んだ3重冗長ラッチを示すブロック図である。この例に示す3重冗長ラッチの入力は、転送ゲートTG1およびTG3の入力DINに接続される。さらに、転送ゲートの代わりに、トライステート可能な入力インバータ、交差接続されたNANDゲートおよび交差接続されたNORゲートを使用してもよい。制御信号SETをオンにすると、転送ゲートTG1およびTG3の入力DINの信号が、転送ゲート1(TG1)の出力DOUTおよび転送ゲート3(TG3)の出力300に転送される。転送ゲート1(TG1)の出力DOUTに現れる論理値は、ラッチ1(L1)への入力でもある。転送ゲート3(TG3)の出力300上に現れる論理値は、転送ゲート4(TG4)への入力でもある。転送ゲート4(TG4)を作動させると、入力300の論理値が、ラッチ2(L2)の入力に供給される。転送ゲート8(TG8)および転送ゲート9(TG9)の出力SOUTに現れる論理値は、ラッチ3(L3)の入力SOUTにも接続される。
ラッチ2(L2)の出力NOUT2は、投票構造1(VS1)の入力および転送ゲート7(TG7)の出力に接続される。ラッチ3(L3)の出力NOUT3は、投票構造1(VS1)の入力および転送ゲート10(TG10)の出力に接続される。
ラッチ1(L1)の入力DOUTは、投票構造2(VS2)の入力、投票構造3(VS3)の入力、転送ゲート2(TG2)の出力、および転送ゲート6(TG6)の入力に接続される。ラッチ2(L2)の入力OUT2は、投票構造3(VS3)の入力、転送ゲート5(TG5)の出力、バッファ1(BUF1)の入力、および転送ゲート6(TG6)の出力に接続される。ラッチ3(L3)の入力SOUTは、投票構造2(VS2)の入力、転送ゲート8(TG8)の出力、および転送ゲート9(TG9)の出力に接続される。
この実施形態がどの程度の冗長性を備えているかの一例として、高の論理値が記憶されるものと仮定する。すなわち、この例において、記憶ノードDOUT、OUT2およびSOUTのそれぞれに高の論理値が記憶されるものと仮定する。ラッチ2(L2)の出力NOUT2は、低の論理値を投票構造1(VS1)の入力に供給する。ラッチ3(L3)の出力NOUT3は、低の論理値を投票構造1(VS1)の入力に供給する。投票構造1(VS1)に対する入力が両方とも低の論理値であるから、その出力は高の論理値になる。制御信号TEST2をアクティブにすると、VS1OUTの高の論理値がDOUTに転送される。
この例において、ラッチ1(L1)に記憶された高の論理値がソフトエラー事象により低の論理値に変化した場合、投票構造1(VS1)は、ラッチ1(L1)に記憶されていた元の高の論理値を復元し、3重冗長ラッチを変化前の元の状態に復元する。従って、3重冗長ラッチは、単一のソフトエラーが発生しても、そこに記憶されていた元の論理値を維持することができる。
この例において、ラッチ2(L2)に記憶された高の論理値がソフトエラー事象により低の論理値に変化した場合、投票構造1(VS1)はトライステートされ、ラッチ1(L1)に記憶されていた元の値は高の論理値のまま維持される。従って、3重冗長ラッチは、単一のソフトエラーが発生しても、そこに記憶されていた元の論理値を維持することができる。
この例において、ラッチ3(L3)に記憶された高の論理値がソフトエラー事象により低の論理値に変化した場合、投票構造1(VS1)はトライステートされ、ラッチ1(L1)に記憶されていた元の値は高の論理値のまま維持される。従って、3重冗長ラッチは、単一のソフトエラーが発生しても、そこに記憶されていた元の論理値を維持することができる。
しかしながら、この例において、ノードOUT2に記憶された値とノードSOUTに記憶された値がソフトエラー事象によりほぼ同時に変化した場合、3重冗長ラッチの論理値は、元の値から変化する場合がある。ノードOUT2に記憶された論理値とノードOUT3に記憶された論理値が、ソフトエラー事象によりほぼ同時に高の論理値から低の論理値に変化した場合、投票構造1(VS1)に対する入力NOUT2およびSOUTは、低の論理値から高の論理値に変化する。入力NOUT2およびSOUTが高の論理値になると、投票構造1(VS1)の出力VS1OUTは低の論理値になる。その結果、DOUTに記憶されていた元の高の論理値は、低の論理値に変化する。この例では、3重冗長ラッチに記憶された値が、元の高の論理値から低の論理値に変化する。3重冗長ラッチは、2以上のソフトエラー事象がほぼ同時に発生しない限り、故障することはない。単一のソフトエラー事象が発生し、ある設定可能メモリ素子に記憶された論理値が変化した場合でも、その設定可能メモリ素子に対応する投票構造が、正しい値をその設定可能メモリ素子に復元する。
テストの目的で、3重冗長ラッチに記憶されている元の論理値を3重冗長ラッチから読み出すこともできる。ラッチ2(L2)に保持されている論理値は、バッファ1(BUF1)の入力OUT2に供給される。そして、バッファ1(BUF1)の出力BOUTは、転送ゲート9(TG9)の入力に供給される。制御信号NSHIFTをアクティブにすると、BOUTに現れる論理値を出力SOUTに伝送し、ラッチ3(L3)に記憶することができる。そして、SOUTの論理値をテスタに読み込み、評価することができる。
また、スキャンデータSINを3重冗長ラッチに読み込ませることもできる。制御信号SHIFTをアクティブにし、制御信号SETを非アクティブにすると、スキャンデータSINを転送ゲート5(TG5)を通してラッチ2(L2)に転送することができる。次に、そのスキャンデータは、バッファ1(BUF1)を通して伝送され、転送ゲート9(TG9)の入力に供給される。制御信号SETを非アクティブにしたまま、制御信号SHIFTを非アクティブにし、制御信号NSHIFTをアクティブにすると、そのスキャンデータをラッチ3(L3)に読み込ませることができる。そして、制御信号TEST2をアクティブにすると、ラッチL2およびL3に読み込まれた論理値をラッチ1(L1)にも強制的に入力することができる。投票構造1(VS1)の出力VS1OUTはラッチL2およびL3に読み込まれたのと同じ論理値を生成するので、ラッチL2およびL3に読み込まれたのと同じ論理値をラッチ1(L1)にも強制的に入力することができる。
オンザフライでサンプリング中に、システムクロックを動作させた状態でテストモードに切り替えることができる。ラッチL2およびラッチL3に記憶された初期の論理値は、ラッチ1(L1)に記憶された論理値と同じになるであろう。システムクロックが動作しているので、ラッチ1(L1)の論理値は変化する可能性がある。任意の後続のシステムクロックサイクルにおいて信号SAMPLEをアクティブにすると、ラッチ1(L1)からラッチL2およびL3に最新の値をロードすることができる。最新の論理値をラッチL2およびL3にロードした後、この論理値は、制御信号SHIFTおよびNSHIFTを用いて読み出すことができる。
図3に示す3重冗長ラッチは、ラッチのソフトエラー率を改善するだけでなく、論理遅延の数が少ないので、3重冗長ラッチ内の遅延時間も短縮する。
図4は、改良型3重冗長ラッチを示す概略図である。図4は、図3に含まれる基本ブロックと同じ基本ブロック、すなわち、転送ゲート1(TG1)、転送ゲート2(TG2)、転送ゲート3(TG3)、転送ゲート4(TG4)、転送ゲート5(TG5)、転送ゲート6(TG6)、転送ゲート7(TG7)、転送ゲート8(TG8)、転送ゲート9(TG9)、転送ゲート10(TG10)、ラッチ1(L1)、ラッチ2(L2)、ラッチ3(L3)、投票構造1(VS1)、投票構造2(VS2)、投票構造3(VS3)、およびバッファ1(BUF1)を含む。
3重冗長ラッチの転送ゲート1(TG1)の一実施形態は、PFET(MP2)とNFET(MN2)を含む。この実施形態では、PFET(MP2)のドレインとNFET(MN2)のドレインが、転送ゲート1(TG1)の入力DINに接続される。PFET(MP2)のソースとNFET(MN2)のソースは、転送ゲート1(TG1)の出力DOUTに接続される。PFET(MP2)のゲートは、転送ゲート1(TG1)の制御入力NSETに接続される。NFET(MN2)のゲートは、転送ゲート1(TG1)の制御入力SETに接続される。
3重冗長ラッチの転送ゲート3(TG3)の一実施形態は、PFET(MP1)とNFET(MN1)を含む。この実施形態では、PFET(MP1)のドレインとNFET(MN1)のドレインが、転送ゲート3(TG3)の入力DINに接続される。PFET(MP1)のソースとNFET(MN1)のソースは、転送ゲート3(TG3)のノード400に接続される。PFET(MP1)のゲートは、転送ゲート3(TG3)の制御入力TEST1に接続される。NFET(MN1)のゲートは、転送ゲート3(TG3)の制御入力NTEST1に接続される。
3重冗長ラッチの転送ゲート2(TG2)の一実施形態は、PFET(MP1)とNFET(MN12)を含む。この実施形態では、PFET(MP12)のドレインとNFET(MN12)のドレインが、転送ゲート2(TG2)のVS1OUTに接続される。PFET(MP12)のソースとNFET(MN12)のソースは、転送ゲート2(TG2)の出力DOUTに接続される。PFET(MP12)のゲートは、転送ゲート2(TG2)の制御入力NTEST2に接続される。NFET(MN12)のゲートは、転送ゲート2(TG2)の制御入力TEST2に接続される。
3重冗長ラッチの転送ゲート4(TG4)の一実施形態は、PFET(MP3)とNFET(MN3)を含む。この実施形態では、PFET(MP3)のドレインとNFET(MN3)のドレインが、転送ゲート4(TG4)の入力400に接続される。PFET(MP3)のソースとNFET(MN3)のソースは、転送ゲート4(TG4)の出力OUT2に接続される。PFET(MP3)のゲートは、転送ゲート4(TG4)の制御入力NSETに接続される。NFET(MN3)のゲートは、転送ゲート4(TG4)の制御入力SETに接続される。
3重冗長ラッチの転送ゲート7(TG7)の一実施形態は、PFET(MP13)とNFET(MN13)を含む。この実施形態では、PFET(MP13)のドレインとNFET(MN13)のドレインが、転送ゲート7(TG7)のVS2OUTに接続される。PFET(MP13)のソースとNFET(MN13)のソースは、転送ゲート7(TG7)の出力NOUT2に接続される。PFET(MP13)のゲートは、転送ゲート7(TG7)の制御入力TEST1に接続される。NFET(MN13)のゲートは、転送ゲート7(TG7)の制御入力NTEST1に接続される。
3重冗長ラッチの転送ゲート10(TG10)の一実施形態は、PFET(MP14)とNFET(MN14)を含む。この実施形態では、PFET(MP14)のドレインとNFET(MN14)のドレインが、転送ゲート10(TG10)の入力VS3OUTに接続される。PFET(MP14)のソースとNFET(MN14)のソースは、転送ゲート10(TG10)の出力NOUT3に接続される。PFET(MP14)のゲートは、転送ゲート10(TG10)の制御入力TEST1に接続される。NFET(MN14)のゲートは、転送ゲート10(TG10)の制御入力NTEST1に接続される。
3重冗長ラッチの転送ゲート5(TG5)の一実施形態は、NFET(MN21)を含む。この実施形態では、NFET(MN21)のドレインが、転送ゲート5(TG5)の入力SINに接続される。NFET(MN21)のソースは、転送ゲート5(TG5)の出力OUT2に接続される。NFET(MN21)のゲートは、転送ゲート5(TG5)の制御入力SHIFTに接続される。
3重冗長ラッチの転送ゲート6(TG6)の一実施形態は、NFET(MN24)を含む。この実施形態では、NFET(MN24)のドレインが、転送ゲート6(TG6)の入力DOUTに接続される。NFET(MN24)のソースは、転送ゲート6(TG6)の出力OUT2に接続される。NFET(MN24)のゲートは、転送ゲート6(TG6)の制御入力SAMPLEに接続される。
3重冗長ラッチの転送ゲート8(TG8)の一実施形態は、NFET(MN22)を含む。この実施形態では、NFET(MN22)のドレインが、転送ゲート8(TG8)の入力BOUTに接続される。NFET(MN22)のソースは、転送ゲート8(TG8)の出力SOUTに接続される。NFET(MN22)のゲートは、転送ゲート8(TG8)の制御入力SAMPLEに接続される。
3重冗長ラッチの転送ゲート9(TG9)の一実施形態は、NFET(MN23)を含む。この実施形態では、NFET(MN23)のドレインが、転送ゲート9(TG9)の入力BOUTに接続される。NFET(MN23)のソースは、転送ゲート9(TG9)の出力SOUTに接続される。NFET(MN23)のゲートは、転送ゲート9(TG9)の制御入力NSHIFTに接続される。
3重冗長ラッチのラッチ1(L1)の一実施形態は、PFET(MP6)、NFET(MN6)、PFET(MP7)、およびNFET(MN7)を含む。この実施形態では、PFET(MP6)のゲートとNFET(MN6)のゲートが、PFET(MP7)のドレイン、NFET(MN7)のドレイン、およびラッチ1(L1)の入力DOUTに接続される。PFET(MP6)のドレインとNFET(MN6)のドレインは、PFET(MP7)のゲート、NFET(MN7)のゲート、およびラッチ1(L1)の出力401に接続される。PFET(MP6)のソースとPFET(MP7)のソースは、VDDに接続される。NFET(MN6)のソースとNFET(MN7)のソースは、GNDに接続される。
3重冗長ラッチのラッチ2(L2)の一実施形態は、PFET(MP8)、NFET(MN8)、PFET(MP9)、およびNFET(MN9)を含む。この実施形態では、PFET(MP8)のゲートとNFET(MN8)のゲートが、PFET(MP9)のドレイン、NFET(MN9)のドレイン、およびラッチ2(L2)の入力OUT2に接続される。PFET(MP8)のドレインとNFET(MN8)のドレインは、PFET(MP9)のゲート、NFET(MN9)のゲート、およびラッチ2(L2)の出力NOUT2に接続される。PFET(MP8)のソースとPFET(MP9)のソースは、VDDに接続される。NFET(MN8)のソースとNFET(MN9)のソースは、GNDに接続される。
3重冗長ラッチのラッチ3(L3)の一実施形態は、PFET(MP10)、NFET(MN10)、PFET(MP11)、およびNFET(MN11)を含む。この実施形態では、PFET(MP10)のゲートとNFET(MN10)のゲートが、PFET(MP11)のドレイン、NFET(MN11)のドレイン、およびラッチ3(L3)の入力SOUTに接続される。PFET(MP10)のドレインとNFET(MN10)のドレインは、PFET(MP11)のゲート、NFET(MN11)のゲート、およびラッチ3(L3)の出力NOUT3に接続される。PFET(MP10)のソースとPFET(MP11)のソースは、VDDに接続される。NFET(MN10)のソースとNFET(MN11)のソースは、GNDに接続される。
3重冗長ラッチの投票構造1(VS1)の一実施形態は、PFET(MP15)、PFET(MP16)、NFET(MN15)、およびNFET(MN16)を含む。この実施形態では、PFET(MP15)のゲートとNFET(MN15)のゲートが、投票構造1(VS1)の第1の入力NOUT2に接続される。PFET(MP16)のゲートとNFET(MN16)のゲートは、投票構造1(VS1)の第2の入力NOUT3に接続される。PFET(MP15)のソースは、VDDに接続される。NFET(MN15)のソースは、GNDに接続される。PFET(MP15)のドレイン403は、PFET(MP16)のソース403に接続される。PFET(MP16)のドレインVS1OUTは、NFET(MN16)のドレインおよびVS1OUTに接続される。NFET(MN16)のソース404は、NFET(MN15)のドレイン404に接続される。
3重冗長ラッチの投票構造2(VS2)の一実施形態は、PFET(MP17)、PFET(MP18)、NFET(MN17)、およびNFET(MN18)を含む。この実施形態では、PFET(MP17)のゲートとNFET(MN17)のゲートが、投票構造2(VS2)の第1の入力DOUTに接続される。PFET(MP18)のゲートとNFET(MN18)のゲートは、投票構造2(VS2)の第2の入力SOUTに接続される。PFET(MP17)のソースは、VDDに接続される。NFET(MN17)のソースは、GNDに接続される。PFET(MP17)のドレイン405は、PFET(MP18)のソース405に接続される。PFET(MP18)のドレインVS2OUTは、NFET(MN18)のドレインおよびVS2OUTに接続される。NFET(MN18)のソース406は、NFET(MN17)のドレイン406に接続される。
3重冗長ラッチの投票構造3(VS3)の一実施形態は、PFET(MP19)、PFET(MP20)、NFET(MN19)、およびNFET(MN20)を含む。この実施形態では、PFET(MP19)のゲートとNFET(MN19)のゲートが、投票構造3(VS3)の第1の入力OUT2に接続される。PFET(MP20)のゲートとNFET(MN20)のゲートは、投票構造3(VS3)の第2の入力DOUTに接続される。PFET(MP19)のソースは、VDDに接続される。NFET(MN19)のソースは、GNDに接続される。PFET(MP17)のドレイン407は、PFET(MP18)のソース407に接続される。PFET(MP20)のドレインVS3OUTは、NFET(MN20)のドレインおよびVS3OUTに接続される。NFET(MN20)のソース408は、NFET(MN19)のドレイン408に接続される。
3重冗長ラッチのバッファ1(BUF1)の一実施形態は、PFET(MP4)、NFET(MN4)、PFET(MP5)、およびNFET(MN5)を含む。この実施形態では、PFET(MP4)のゲートとNFET(MN4)のゲートが、バッファ1(BUF1)の入力OUT2に接続される。PFET(MP4)のドレインとNFET(MN4)のドレインは、PFET(MP5)のゲートおよびNFET(MN5)のゲート402に接続される。PFET(MP5)のドレインとNFET(MN5)のドレインは、バッファ1(BUF1)の出力BOUTに接続される。PFET(MP4)のソースとPFET(MP50のソースは、VDDに接続される。NFET(MN4)のソースとNFET(MN5)のソースは、GNDに接続される。
図4は、改良型3重冗長ラッチの概略図である。入力信号が、転送ゲート1(TG1)および転送ゲート3(TG3)の入力DINを駆動する。制御信号SETを高の論理値にし、制御信号NSETを低の論理値にし、転送ゲート3(TG3)をアクティブにすると、転送ゲート1(TG1)および転送ゲート3(TG3)の入力DINの信号が、転送ゲート1(TG1)の出力DOUTおよび転送ゲート4(TG4)の出力OUT2に転送される。
ノードDOUT、OUT2およびSOUTに転送された信号は、ラッチ1(L1)の入力DOUT、ラッチ2(L2)の入力OUT2、およびラッチ3(L3)の入力SOUTにも供給される。ラッチL1、L2およびL3は同じ論理値を記憶する。ラッチL1、L2およびL3の各出力401、NOUT2およびNOUT3は、そこに記憶された論理値の反対の意味の論理値を出力する。ラッチL2およびL3の各出力NOUT2およびNOUT3が投票構造1(VS1)に入力されると、投票構造1(VS1)から出力VS1OUTが出力される。転送ゲート1(TG1)がオフで、転送ゲート2(TG2)がオンである場合、出力VS1OUTは、ラッチ1(L1)の入力DOUTに供給される信号を強める。
入力OUT2およびDOUTが投票構造3(VS3)に入力されると、投票構造3(VS3)から出力VS3OUTが出力される。転送ゲート8(TG8)および転送ゲート9(TG9)がオフで、転送ゲート10(TG10)がオンである場合、出力VS3OUTは、ラッチ3(L3)の出力SOUTに現れる信号を強める。
入力SOUTおよびDOUTが投票構造2(VS2)に入力されると、投票構造2(VS2)から出力VS2OUTが出力される。転送ゲート4(TG4)および転送ゲート5(TG5)がオフで、転送ゲート10(TG10)がオンである場合、出力VS2OUTは、ラッチ2(L2)の入力OUT2に供給される信号を強める。
制御入力SETが低の論理値に駆動され、制御入力NSETが高の論理値に駆動された後、ラッチ1(L1)、ラッチ2(L2)およびラッチ3(L3)は、ノードDOUT、OUT2およびSOUTに現れた元の論理値をそれぞれ記憶する。ノードDOUT、OUT2およびSOUTがいずれも変化していない場合は、同じ意味の信号が、3重冗長ラッチの出力DOUTに出力される。
例えば、ノードDOUT、OUT2およびSOUTに高の論理値を記憶した場合、高の論理値が、3重冗長ラッチの出力DOUTに出力される。ラッチ2(L2)の出力NOUT2における低の論理値は、投票構造1(VS1)の第1の入力に供給される。ラッチ3(L3)の出力NOUT3における低の論理値は、投票構造1(VS1)の第2の入力に供給される。制御信号NTEST2が低で、制御信号TEST2が高であるから、高の論理値が、第2の転送ゲート2(TG2)の入力VS1OUTからラッチ1(L1)の入力に転送される。これらの論理値を投票構造1(VS1)に供給すると、3重冗長ラッチの出力DOUTは高の論理値に維持される。
高の論理値がノードDOUT、OUT2およびSOUTに記憶されるこの例の場合、ノードDOUTの論理値がソフトエラー事象により低の論理値に変化した場合でも、投票構造1(VS1)の出力VS1OUTが高のままであるから、DOUTは高の論理値に戻されることになる。TEST2が高の論理値であり、NTEST2が低の論理値であるから、VS1OUTにおける高の論理値は、DOUTに転送される。
単一のソフトエラー事象によりラッチ3(L3)に記憶された論理値が変化した場合、投票構造1(VS1)はトライステートし、DOUT上の正しい値は変化しない。単一のソフトエラー事象によりラッチ2(L2)に記憶された論理値が変化した場合、投票構造1(VS1)はトライステートし、DOUT上の正しい値は変化しない。
しかしながら、ノードOUT2に記憶された値とノードSOUTに記憶された論理値が、単一のソフトエラー事象によりほぼ同時に変化した場合、3重冗長ラッチの論理値は、元の値から変化する場合がある。例えば、ノードDOUT、OUT2およびSOUTに高の論理値を記憶した場合、3重冗長ラッチの出力DOUTには、高の論理値が出力される。ノードOUT2に記憶された論理値とノードSOUTに記憶された論理値が、単一のソフトエラー事象によりほぼ同時に高の論理値から低の論理値に変化した場合、投票構造1(VS1)に対する入力NOUT2およびNOUT3は低の論理値から高の論理値に変化する。投票構造1(VS1)の入力NOUT2およびNOUT3が高の論理値であるから、出力VS1OUTは低の論理値に引き下げられる。そして、転送ゲート2(TG2)がオンであるから、ラッチ1(L1)に記憶された高の論理値は低の論理値に反転される。そして、3重冗長ラッチの出力DOUTは、高の論理値から低の論理値に変化する。3重冗長ラッチは、2以上のソフトエラー事象がほぼ同時に発生しない限り、故障することはない。単一のソフトエラー事象が発生し、ある設定可能メモリ素子に記憶された論理値が変化した場合でも、その設定可能メモリ素子に対応する投票構造が、正しい値をその設定可能メモリ素子に復元する。
テストの目的で、3重冗長ラッチに記憶されている元の論理値を3重冗長ラッチから読み出すこともできる。ラッチ2(L2)に保持されている論理値は、バッファ1(BUF1)の入力OUT2に供給される。そして、バッファ1(BUF1)の出力BOUTは、転送ゲート9(TG9)の入力に供給される。制御信号NSHIFTを高に駆動し、制御信号SHIFTを低に駆動すると、BOUT上に現れる論理値を出力SOUTに伝送し、ラッチ3(L3)に記憶することができる。そして、SOUTの論理値をテスタに読み込み、評価することができる。
また、スキャンデータSINを3重冗長ラッチに読み込ませることもできる。制御信号SHIFTを高に駆動し、NSHIFTが低に駆動し、制御信号SETを低に駆動すると、スキャンデータSINを転送ゲート5(TG5)を通してラッチ2(L2)に転送することができる。次に、スキャンデータは、バッファ1(BUF1)を通して伝送され、転送ゲート9(TG9)の入力に供給される。制御信号SETを低にしたまま、制御信号SHIFTを低に駆動し、制御信号NSHIFTを高に駆動すると、そのスキャンデータをラッチ3(L3)に読み込ませることができる。ラッチ2(L2)とラッチ3(L3)が同じ論理値を有するとき、投票構造1(VS1)の出力VS1OUTには同じ論理値が生成されるので、ラッチ2(L2)およびラッチ3(L3)に読み込まれる論理値は、ラッチ1(L1)にも強制的に入力される。
オンザフライでサンプリング中に、システムクロックを動作させた状態でテストモードに切り替えることができる。ラッチ2(L2)およびラッチ3(L3)に記憶された初期の論理値は、ラッチ1(L1)に記憶された論理値と同じ値になるであろう。システムクロックが動作しているので、ラッチ1(L1)の論理値は変化する可能性がある。任意の後続のシステムクロックサイクルにおいて信号SAMPLEをアクティブにすると、ラッチ1(L1)からラッチ2(L2)およびラッチ3(L3)に最新の値をロードすることができる。最新の論理値をラッチ2(L2)およびラッチ3(L3)にロードした後、この論理値は、制御信号SHIFTおよびNSHIFTを用いて読み出すことができる。
図4に示す3重冗長ラッチは、ラッチのソフトエラー率を改善するだけでなく、論理遅延の数が少ないので、3重冗長ラッチ内の遅延時間も短縮する。
本発明に関する上記の説明は図示説明の目的で提供している。その説明は、発明の形態を網羅するものでもなければ、本発明を開示した実施形態に厳密に制限するためのものでもない。上記の教示に鑑みて他にも変更や変形は可能である。実施例は、本発明の原理とその実際の応用形態を最も分かりやすく説明し、当業者が意図する用途に合わせて本発明を様々な実施形態または変形形態で実施できるようなものを選択して記載している。特許請求の範囲は、従来技術によって制限される範囲を除き、本発明の代替実施形態も含むものとして解釈しなければならない。
従来技術による3重冗長ラッチを示す概略図である。 テスト機能が組み込まれた改良型3重冗長ラッチの一実施形態を示すブロック図である。 テスト機能が組み込まれた改良型3重冗長ラッチを示すブロック図である。 テスト機能が組み込まれた改良型3重冗長ラッチを示す概略図である。

Claims (9)

  1. ソフトエラーを低減する3重冗長ラッチであって、
    a)第1の設定可能メモリ素子(SME1)と、
    b)第2の設定可能メモリ素子(SME2)と、
    c)第3の設定可能メモリ素子(SME3)と、
    d)第1の投票構造(VS1)と、
    e)第2の投票構造(VS2)と、
    f)第3の投票構造(VS3)と、
    g)第1のバッファ(BUF1)とを備え、
    h)前記設定可能メモリ素子のそれぞれに同じ論理値が設定され、
    i)前記第1の投票構造(VS1)への入力(NOUT2およびNOUT3)が、前記第2の設定可能メモリ素子(SME2)および前記第3の設定可能メモリ素子(SME3)によって供給され、
    j)前記第2の投票構造(VS2)への入力(DOUTおよびSOUT)が、前記第1の設定可能メモリ素子(SME1)および前記第3の設定可能メモリ素子(SME3)によって供給され、
    k)前記第3の投票構造(VS3)への入力(DOUTおよびOUT2)が、前記第2の設定可能メモリ素子(SME2)および前記第1の設定可能メモリ素子(SME1)によって供給され、
    l)前記第1の設定可能メモリ素子(SME1)、前記第2の設定可能メモリ素子(SME2)および前記第3の設定可能メモリ素子(SME3)が設定された後、前記第1の設定可能メモリ素子(SME1)に保持される論理値が、前記第1の投票構造(VS1)の出力(VS1OUT)によって決定され、
    m)前記第1の設定可能メモリ素子(SME1)、前記第2の設定可能メモリ素子(SME2)および前記第3の設定可能メモリ素子(SME3)が設定された後、前記第2の設定可能メモリ素子(SME2)に保持される論理値が、前記第2の投票構造(VS2)の出力(VS2OUT)によって決定され、
    n)前記第1の設定可能メモリ素子(SME1)、前記第2の設定可能メモリ素子(SME2)および前記第3の設定可能メモリ素子(SME3)が設定された後、前記第3の設定可能メモリ素子(SME3)に保持される論理値が、前記第3の投票構造(VS3)の出力(VS3OUT)によって決定され、
    o)前記第2の設定可能メモリ素子(SME2)にスキャンデータを読み込ませることができ、
    p)前記第2の設定可能メモリ素子(SME2)から前記バッファ(BUF1)にデータを読み出すことができ、
    q)前記バッファ(BUF1)から前記第3の設定可能メモリ素子(SME3)にデータを読み込ませることができ、
    r)前記第3の設定可能メモリ素子(SME3)からデータを読み出すことができ、
    s)前記第1の設定可能メモリ素子(SME1)内の伝送遅延が該3重冗長ラッチの唯一の伝送遅延である、3重冗長ラッチ。
  2. 前記スキャンデータは、システムクロックを停止させた状態で読み込ませることができる、請求項1に記載の3重冗長ラッチ。
  3. 前記スキャンデータは、システムクロックを動作させた状態で読み込ませることができる、請求項1に記載の3重冗長ラッチ。
  4. 前記第1の設定可能メモリ素子(SME1)は、
    a)第1の転送ゲート(TG1)と、
    b)第2の転送ゲート(TG2)と、
    c)ラッチ(L1)と
    を含む、請求項1に記載の3重冗長ラッチ。
  5. 前記第2の設定可能メモリ素子(SME2)は、
    a)第1の転送ゲート(TG3)と、
    b)第2の転送ゲート(TG4)と、
    c)第3の転送ゲート(TG5)と、
    d)第4の転送ゲート(TG6)と、
    e)第5の転送ゲート(TG7)と、
    f)ラッチ(L2)と
    を含む、請求項1に記載の3重冗長ラッチ。
  6. 前記第3の設定可能メモリ素子(SME3)は、
    a)第1の転送ゲート(TG8)と、
    b)第2の転送ゲート(TG9)と、
    c)第3の転送ゲート(TG10)と、
    d)ラッチ(L3)と
    を含む、請求項1に記載の3重冗長ラッチ。
  7. 前記第1の投票構造(VS1)は、
    a)第1の入力(NOUT2)と、
    b)第2の入力(NOUT3)と、
    c)出力(VS1OUT)と
    を含み、
    d)前記第1の入力(NOUT2)は前記第2の設定可能メモリ素子(SME2)の出力(NOUT2)に接続され、
    e)前記第2の入力(NOUT3)は前記第3の設定可能メモリ素子(SME3)の出力(NOUT3)に接続され、
    f)前記第2の設定可能メモリ素子(SME2)と前記第3の設定可能メモリ素子(SME3)が該3重冗長ラッチに最初に記憶された論理値を有する場合、前記第1の投票構造(VS1)の前記出力(VS1OUT)は、該3重冗長ラッチに最初に記憶された論理値を前記第1の設定可能メモリ素子(SME1)に強制的に設定する、請求項1に記載の3重冗長ラッチ。
  8. 前記第2の投票構造(VS2)は、
    a)第1の入力(DOUT)と、
    b)第2の入力(SOUT)と、
    c)出力(VS2OUT)と
    を含み、
    d)前記第1の入力(DOUT)は前記第1の設定可能メモリ素子(SME1)の出力(DOUT)に接続され、
    e)前記第2の入力(SOUT)は前記第3の設定可能メモリ素子(SME3)の出力(SOUT)に接続され、
    f)前記第1の設定可能メモリ素子(SME1)と前記第3の設定可能メモリ素子(SME3)が該3重冗長ラッチに最初に記憶された論理値を有する場合、前記第2の投票構造(VS2)の前記出力(VS2OUT)は、該3重冗長ラッチに最初に記憶された論理値を前記第2の設定可能メモリ素子(SME2)に強制的に設定する、請求項1に記載の3重冗長ラッチ。
  9. 前記第3の投票構造(VS2)は、
    a)第1の入力(DOUT)と、
    b)第2の入力(OUT2)と、
    c)出力(VS3OUT)と
    を含み、
    d)前記第1の入力(OUT2)は前記第2の設定可能メモリ素子(SME2)の出力(OUT2)に接続され、
    e)前記第2の入力(DOUT)は前記第1の設定可能メモリ素子(SME1)の出力(DOUT)に接続され、
    f)前記第2の設定可能メモリ素子(SME2)と前記第1の設定可能メモリ素子(SME1)が該3重冗長ラッチに最初に記憶された論理値を有する場合、前記第3の投票構造(VS3)の前記出力(VS3OUT)は、前記3重冗長ラッチに最初に記憶された論理値を前記第3の設定可能メモリ素子(SME3)に強制的に設定する、請求項1に記載の3重冗長ラッチ。

JP2005230446A 2004-09-03 2005-08-09 テスト機能と各ラッチに対する投票構造が組み込まれた高信頼性3重冗長メモリ素子 Active JP4273101B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/934,035 US7027333B2 (en) 2004-09-03 2004-09-03 High reliability triple redundant memory element with integrated testability and voting structures on each latch

Publications (2)

Publication Number Publication Date
JP2006073180A JP2006073180A (ja) 2006-03-16
JP4273101B2 true JP4273101B2 (ja) 2009-06-03

Family

ID=35996030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005230446A Active JP4273101B2 (ja) 2004-09-03 2005-08-09 テスト機能と各ラッチに対する投票構造が組み込まれた高信頼性3重冗長メモリ素子

Country Status (2)

Country Link
US (1) US7027333B2 (ja)
JP (1) JP4273101B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185812B2 (en) * 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
US8650470B2 (en) * 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
US7215581B2 (en) * 2004-04-14 2007-05-08 Hewlett-Packard Development Company, L.P. Triple redundant latch design with low delay time
US8493120B2 (en) * 2011-03-10 2013-07-23 Arm Limited Storage circuitry and method with increased resilience to single event upsets
JP5699057B2 (ja) * 2011-08-24 2015-04-08 株式会社日立製作所 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス
US9780788B2 (en) * 2015-10-23 2017-10-03 Arizona Board Of Regents On Behalf Of Arizona State University Muller C-element as majority gate for self-correcting triple modular redundant logic with low-overhead modes
US10579536B2 (en) * 2016-08-09 2020-03-03 Arizona Board Of Regents On Behalf Of Arizona State University Multi-mode radiation hardened multi-core microprocessors
US11848672B2 (en) * 2022-04-12 2023-12-19 Stmicroelectronics International N.V. Redundancy circuit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023235B2 (en) * 2003-12-12 2006-04-04 Universities Research Association, Inc. Redundant single event upset supression system
US7215581B2 (en) * 2004-04-14 2007-05-08 Hewlett-Packard Development Company, L.P. Triple redundant latch design with low delay time
US6937527B1 (en) * 2004-05-27 2005-08-30 Hewlett-Packard Development Company, L.P. High reliability triple redundant latch with voting logic on each storage node

Also Published As

Publication number Publication date
US20060050550A1 (en) 2006-03-09
JP2006073180A (ja) 2006-03-16
US7027333B2 (en) 2006-04-11

Similar Documents

Publication Publication Date Title
JP4098312B2 (ja) 3重冗長ラッチ
JP4273101B2 (ja) テスト機能と各ラッチに対する投票構造が組み込まれた高信頼性3重冗長メモリ素子
Calin et al. Upset hardened memory design for submicron CMOS technology
US7539931B2 (en) Storage element for mitigating soft errors in logic
JP4184362B2 (ja) テスト機能が組み込まれた高信頼性三重冗長ラッチ
JP4249739B2 (ja) ラッチのソフトエラー率の改善
US6930527B1 (en) Triple redundant latch design with storage node recovery
CN1638282B (zh) 使用带备份的故障克服机制的三重冗余锁存器设计
US6549443B1 (en) Single event upset resistant semiconductor circuit element
Yamamoto et al. Construction of latch design with complete double node upset tolerant capability using C-element
US7215581B2 (en) Triple redundant latch design with low delay time
US7323920B2 (en) Soft-error rate improvement in a latch using low-pass filtering
US20060236158A1 (en) Memory element for mitigating soft errors in logic
US7562273B2 (en) Register file cell with soft error detection and circuits and methods using the cell
US7054203B2 (en) High reliability memory element with improved delay time
Verducci et al. Fault-tolerant finite state machine quasi delay insensitive in commercial FPGA devices
She et al. Tunable SEU-tolerant latch
US20060103442A1 (en) Memory element with improved soft-error rate
Ueno et al. Construction of a soft error (SEU) hardened latch with high critical charge
Kim et al. Radiation-hard design principles utilized in CMOS 8085 microprocessor family
Jain et al. Single phase clock based radiation tolerant D flip-flop circuit
CN111181545B (zh) 一种流水结构的软错误自检电路
US10896081B2 (en) Implementing SEU detection method and circuit
Baloch et al. Design of a novel soft error mitigation technique for reconfigurable architectures
Tian et al. An Architecture of a Single-Event Tolerant D Flip-flop Using Full-Custom Design in 28nm Process

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080630

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090302

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4