(57)【特許請求の範囲】
【請求項１】
動作モード設定用レジスタ内蔵型DRAMが接続されるデータバスラインの論理値の反転信号を該データバスラインに供給し、データバスラインの論理値が反転するか否かを検出することによって、データバスラインがハイインピーダンス状態であるか否かを判定することを特徴とするハイインピーダンス検出回路。
【請求項２】
動作モード設定用レジスタ内蔵型DRAMに接続されたデータバスラインがハイインピーダンス状態であるか否かを判定するハイインピーダンス検出回路であって、
前記データバスラインの論理値を反転して該データバスラインに供給し、かつ前記DRAMおよび該DRAMに対する読み書き回路の駆動力より弱い駆動力のデータ反転回路と、
前記データ反転回路による前記データバスラインの論理値の負論理から正論理および正論理から負論理への反転結果をそれぞれ保持する第１のフリップフロップと、
前記第１のフリップフロップの出力から前記データバスラインの論理値の反転を検出する論理反転検出回路と、
前記論理反転検出回路の出力に基づいてハイインピーダンス判定信号を外部へ出力するハイインピーダンス判定回路と、
該ハイインピーダンス検出動作を開始させるための開始信号が供給されると、前記各回路を起動する起動回路とを有することを特徴とするハイインピーダンス検出回路。
【請求項３】
動作モード設定用レジスタ内蔵型DRAMおよびプルアップ抵抗に接続されたデータバスラインがハイインピーダンス状態であるか否かを判定するハイインピーダンス検出回路であって、
前記データバスラインの論理値を反転しているインバータ回路と、
前記インバータ回路の出力により前記データバスラインを駆動するバッファ回路と、
前記DRAMおよびDRAMに対する読み書き回路の駆動力が前記バッファ回路の駆動力より強い関係となるように前記バッファ回路の駆動力を制限する抵抗と、
前記インバータ回路の出力の立上りでハイレベルを出力する第１フリップフロップ回路と、
前記インバータ回路の出力の立下りでハイレベルを出力する第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力と前記第２フリップフロップ回路の出力を論理積し、その反転信号である論理反転信号を出力するＮＡＮＤ回路と、
前記論理反転信号の立下りでハイレベルを出力することにより前記論理反転信号を保持する第３フリップフロップ回路と、
外部からハイインピーダンス比較信号が入力すると、イネーブル信号を前記バッファ回路および前記第１，第２フリップフロップ回路へ出力して、前記インバータ回路の出力を前記バッファ回路から前記データバスラインへ供給させることによりハイインピーダンス比較動作を開始させ、また前記第１フリップフロップ回路および前記第２フリップフロップ回路を前記イネーブル信号の立下りでリセットする第４フリップフロップ回路と、
前記ハイインピーダンス比較信号の立下りで前記第３フリップフロップ回路の保持レベルをハイインピーダンス判定信号として外部へ出力する第５フリップフロップ回路とで構成されることを特徴とするハイインピーダンス検出回路。
【請求項４】
前記開始信号または前記ハイインピーダンス比較信号は、前記DRAMに対するコマンド状況により、前記データバスラインがハイインピーダンス状態であるべき時点、またはハイインピーダンス状態であるべきでない時点で供給され、前記ハイインピーダンス判定回路は、それぞれの時点に対応して、ハイインピーダンス状態でないこと、またはハイインピーダンス状態であることの検出を含む前記判定信号を外部へ出力することを特徴とする請求項２または請求項３に記載のハイインピーダンス検出回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハイインピーダンス検出回路、特にレジスタ内蔵型DRAMのソフトエラー対策に好適なハイインピーダンス検出回路に関する。
【０００２】
【従来の技術】
外部から飛来する粒子（放射線）により、DRAMで発生するソフトエラーに対しては、これまでにも多くの対策が考案されている。その典型例は、周知のように、冗長ビットを付加したECC（Error Correcting Code）手法の採用によって、エラー訂正を行うというものである。
【０００３】
また、本来必要な作動回路を二重化し、各作動回路の出力信号を比較することによってソフトエラーを検出する「故障検出回路」（特開平06-103099）や、書込みデータから演算されるパリティと、読出しデータから演算されるパリティとを比較し、不一致の場合にはそのアドレスがソフトエラーを引き起こしたアドレスとする「エラー検出装置」（特開平04-285800）も知られている。
【０００４】
【発明が解決しようとする課題】
これらの技術によれば、DRAMのメモリ素子におけるソフトエラーの検出は訂正できる。しかし、近年のDRAMでは、動作モードの設定をプログラム化し、そのためのレジスタを備えているものが少なくないが、そのようなDRAMにおいて、レジスタが外部から飛来する粒子（放射線）によりソフトエラーを招いた場合に対しては言及していない。
【０００５】
動作モード設定用のレジスタにソフトエラーが発生すると、DRAMデータバス系の回路では、バスファイト状態を招くことになり、この状態が長く続くと回路のデバイスにダメージを与えることになる。これは、 レジスタ動作の異常が、書き読み動作も反転させてしまう可能性があることから、バス制御回路側の出力状態とDRAMの出力状態がかち合うバスファイトを招くためである。この状態は、短い時間であれば影響は少ないが長くなると、デバイスの不良となる可能性が高くなり、恒久的な故障引き起こすに到る。
【０００６】
本発明の目的は、バスファイトの早期検出とその解除が早急にできるハイインピーダンス検出回路を提供することにある。
【０００７】
【課題を解決するための手段】
本発明のハイインピーダンス検出回路は、動作モード設定用レジスタ内蔵型DRAMが接続されるデータバスラインの論理値の反転信号を該データバスラインに供給し、データバスラインの論理値が反転するか否かを検出することによって、データバスラインがハイインピーダンス状態であるか否かを判定することを特徴とするものである。
【０００８】
より具体的には、本発明のハイインピーダンス検出回路は、動作モード設定用レジスタ内蔵型DRAMに接続されたデータバスライン（図１の１１）がハイインピーダンス状態であるか否かを判定するハイインピーダンス検出回路であって、データバスラインの論理値を反転して該データバスラインに供給し、かつDRAMおよび該DRAMに対する読み書き回路の駆動力より弱い駆動力のデータ反転回路（図１の１，２，９）と、データ反転回路によるデータバスラインの論理値の負論理から正論理および正論理から負論理への反転結果をそれぞれ保持する第１のフリップフロップ（図１の３，４）と、第１のフリップフロップの出力からデータバスラインの論理値の反転を検出する論理反転検出回路（図１の８，５）と、論理反転検出回路の出力に基づいてハイインピーダンス判定信号（図１の１５）を外部へ出力するハイインピーダンス判定回路（図１の６）と、該ハイインピーダンス検出動作を開始させるための開始信号（図１の１４）が供給されると、各回路を起動する起動回路（図１の７）とを有することを特徴とする。
【０００９】
本発明では、DRAMはリード／ライト中には、データバスラインはハイインピーダンスであり、また、リード／ライト中にはデータバスラインはローインピーダンスである筈なので、このことを次のようにして確認する。リード／ライト期間外を示す信号の存在する間に、データバスラインの論理レベルを強制的に反転した論理レベルをデータバスラインに加え、データバスラインの論理レベルが反転すればデータバスラインはハイインピーダンスでると判定する。また、リード／ライト期間中を示す信号の存在する間に、データバスラインの論理レベルを強制的に反転した論理レベルをデータバスラインに加え、データバスラインの論理レベルが反転しなければデータバスラインはロウインピーダンスでると判定する。
【００１０】
すなわち、ハイインピーダンスの状態を検出する回路は、現状の論理と反転するような駆動を強制的に行い、この駆動の結果、反転すればハイインピーダンス状態にあると判断するが、反転しなければハイインピーダンス状態にないと判断する方法で行う。このとき、論理を強制的に反転させるバッファの駆動能力は、DRAMあるいはDRAMに対する読み書き回路の駆動力より十分弱く、プルアップ抵抗には影響されない中間の駆動能力であることが必要とされる。
【００１１】
異常の検出は、上述のバスラインのハイインピーダンスの判定結果と、ハイインピーダンス状態の有無の期待値との比較で行い、期待と違う場合に異常が発生したと判断するものである。
【００１２】
本発明は、このように、データバスラインのハイインピーダンスの検出によりデータバスラインの異常を検出する構成としたため、DRAMが内蔵する動作設定用レジスタにソフトエラーが発生して動作モードが変化しても、バスファイトの早期検出とその解除が早急にできるようになる。なお、DRAMの書込みコマンドは、復旧させたいスピード要求とバスファイトのダメージの大きさにより、適宜設定することが可能であり、これによって異常動作の検出を適切な間隔に設定することが可能である。
【００１３】
更に、動作異常を検出した場合には、DRAMへのデータ再書込みを図ったり、デバイスのストレス軽減のために設定を適切にすなどの処置を行うことを可能にするものである。
【００１４】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して詳細に説明する。
【００１５】
［実施例の構成］
図１は本発明のHi-z検出回路を例示するブロック図である。この回路は、DRAMのデータバスラインの状態が、ハイインピーダンス（以下、「Hi-z」と記す）であるかどうかを判定するものである。したがって、Hi-z状態であることを検出するケースとHi-z状態でないことを検出するケースの両方で使用できる。この回路では、Hi-z状態の判定によりデータバスラインの異常を検出すると、所定のタイミングでハイレベルとなるHi-z判定信号を外部へ出力するように構成している。
【００１６】
本Hi-z検出回路は、DRAM動作に関わる異常を検出することから、DRAMすべてのバスラインに必要とはしていないが、データバスラインのビット幅がDRAMのビット幅のｎ倍で構成される場合、ｎ個のDRAM毎に最低１回路は必要となる。
【００１７】
図１を参照すると、このHi-z検出回路は、インバータ回路１，バッファ回路２，５つのＤタイプのフリップフロップ回路３〜７，ＮＡＮＤ回路８および２つの抵抗９，１０から構成されている。インバータ回路１の入力端子と抵抗９の一方の端子はデータバスライン１１に接続され、データバスライン１１は中間レベルを避けるために抵抗１０で電源にプルアップされている。データバスライン１１の一方はDRAMが接続され、他方にはDRAMに対する読み書き回路が接続されている。
【００１８】
インバータ回路１はデータバスライン１１の論理値を反転している。バッファ回路２は、フリップフロップ回路７の出力であるイネーブル信号１２の立上りにより活性化されると、インバータ回路１の出力により抵抗９を経由してデータバスライン１１を駆動する。抵抗９は、バッファ回路２の駆動力を制限し、その値は、DRAMあるいはコントローラ側の駆動力がバッファ回路２による駆動力より強い関係となるように設定される。
【００１９】
フリップフロップ回路３はインバータ回路１の出力の立上りでハイレベルを出力し、フリップフロップ回路４はインバータ回路１の出力の立下りでハイレベルを出力する。これにより、フリップフロップ回路３はデータバスライン１１の負論理から正論理への切替りを検出し、フリップフロップ回路４はデータバスライン１１の正論理から負論理への切替りを検出する。フリップフロップ回路３およびフリップフロップ回路４はイネーブル信号１２の立下りでリセットされる。
【００２０】
ＮＡＮＤ回路８は、フリップフロップ回路３の出力とフリップフロップ回路４の出力を論理積し、その反転信号であるた論理反転信号１３を出力する。フリップフロップ回路５は、論理反転信号１３の立下りでハイレベルを出力することにより論理反転信号１３を保持する。フリップフロップ回路６は、Hi-z比較信号１４の立下りで、フリップフロップ回路５の保持レベルをHi-z判定信号１５として外部へ出力する。フリップフロップ回路５とフリップフロップ回路６は、診断回路等外部からのリセット信号１６によりリセットされる。
【００２１】
フリップフロップ回路７は、診断回路等外部からHi-z比較信号１４が入力すると、イネーブル信号１２をバッファ回路２およびフリップフロップ回路３，４へ出力して、インバータ回路１によるデータバスライン１１上のデータの論理値の反転出力をバッファ回路２からデータバスライン１１へ供給させることにより、Hi-z比較動作を開始させる。
【００２２】
［実施例の動作］
次に、以上のように構成された本実施例の動作について説明する。
【００２３】
データバスライン１１は、DRAMのライト時には読み書き回路側、リード時にはDRAM側によって駆動され、DRAMがライトもリードもされていない場合にはHi-z状態を維持する。そこで、この例は、本来、データバスライン１１がHi-z状態であるべき場合にHi-z状態でないことの異常を検出すること、その逆にHi-z状態でない場合にHi-z状態にあることの異常を検出することによって、DRAM動作のソフトエラーによる異常を認識しようとするものである。
【００２４】
データバスライン１１上のデータの論理値は、常にインバータ１によって反転され、バッファ回路２とフリップフロップ３，４に供給されている。しかし、図１に示したHi-z検出回路によるHi-z判定の開始は、Hi-z比較信号１４の入力まで留保される。
【００２５】
図２は正常なSDRAMのライト／リード動作のタイムチャートを示す。この動作例では、ライトコマンドに続くリードコマンドによって４つの連続するバーストリード動作が、２のレイテンシをもってライト動作の２クロック後に行われている。バーストリードの１つ目（クロックT4）にHi-z比較信号１４が入力している。
【００２６】
フリップフロップ７にHi-z比較信号１４が入力すると、バッファ２はインバータ１の出力をバスライン１１に供給する。しかし、この場合は、SDRAMは正常にリード動作をしているため、前述のように、SDRAMの駆動能力がバッファ２の駆動能力より強いことから、バスライン１１上の論理値は、SDRAMからの読出しデータによって定まる論理値となり、インバータ１およびバッファ２によって反転することはない。従って、論理反転信号１３はハイレベルを維持し、Hi-z判定信号１５はロウレベルを維持する。
【００２７】
Hi-z判定信号１５を受け取った診断回路は、このコマンド状態とHi-z比較信号１４の出力時点（クロックT4のタイミング）からして、Hi-z状態であるべきでない場合にHi-z状態でないことを検出できたので、バスライン１１の正常を検証することができる。
【００２８】
次に、SDRAMの動作モード設定用レジスタにソフトエラーが発生した場合について、図３に示すタイムチャートを参照して説明する。
【００２９】
図３では、バースト長を４に設定したライト動作において、クロックT2でソフトエラーが発生し、SDRAM内蔵の動作モード設定用レジスタがリード動作モードになったケースを示している。Hi-z比較信号１４が、クロックT4でハイレベルになっているが、クロックT4ではバーストライト中であるため、データバスライン１１はHi-z状態でない筈である。しかし、ソフトエラーに伴なってリードモードに切り替わり、その結果、SDRAMからデータが読み出されてくる読出しデータと読み書き回路側からの書込みデータが衝突してバスファイトが発生し、データバスライン１１はHi-z状態となる。
【００３０】
この場合は、フリップフロップ７にHi-z比較信号１４が入力すると、インバータ回路１およびバッファ２により、バスライン１１の論理値は反転される。従って、フリップフロップ３およびフリップフロップ４の両者からハイレベルがＮＡＮＤ回路８に入力し、論理反転信号１３が出力される。このため、フリップフロップ５はハイレベルを出力し、フリップフロップ６からはHi-z判定信号１５が出力される。
【００３１】
Hi-z判定信号１５を受け取った診断回路側は、このコマンド状態とHi-z比較信号１４の出力時点（クロックT4のタイミング）からして、Hi-z状態であるべきでないのにHi-z状態が検出されたため、これによってソフトエラーに伴うリード状態への切替りが発生しHi-z状態が現出したことによるバスライン１１の異常を検証することができる。
【００３２】
図４のタイムチャートは、図３に示した動作例とは逆に、Hi-Z状態であるべき場合にHi-Z状態でないことを検出するケースを示す。
【００３３】
図４では、２つの４バーストライトが１クロック（クロックT5）を空けて行われている。１つめのバーストライトのクロックT2でSDRAMの動作モード設定用レジスタにソフトエラーが発生し、リードモードに切り替わったものとする。この場合は、図３に示した場合とは異なり、クロックT5においてはライト動作と重複していないため、クロックT3からのリード状態が持続しているだけであり、バスファイトは発生しない。なお、このリード状態は、２つめの４バイトバーストライトによってクリアされる。
【００３４】
従って、データバスライン１１は、正しくはHi-z状態であるべきであるのにHi-z状態とはならない。これは、前述のように、SDRAMの駆動能力がバッファ２の駆動能力より強いことから、バスライン１１上の論理値は、SDRAMからの読出しデータによって定まる論理値となり、インバータ１およびバッファ２によって反転することはないからである。よって、論理反転信号１３はハイレベルを維持し、Hi-z判定信号１５はロウレベルを維持する。
【００３５】
Hi-z判定信号１５を受け取った診断回路は、このコマンド状態とHi-z比較信号１４の出力時点（クロックT4のタイミング）からして、Hi-z状態であるべきで場合にHi-z状態でないことを検出したので、バスライン１１の異常を検証することができる。
【００３６】
このような場合、Hi-z状態が検出されなかったため、リード状態に切り替わったと判断して、その直前のライトデータを書き直すようにした実施例が考えられる。すなわち、読み書き回路側では、書込みデータをバッファに保持しているので、そのデータを再書込みするのである。図４の右端に示したライトコマンドは、再書込みのためのものを示している。
【００３７】
また、図４ではバースト長が４であるが、バスファイトの期間を短くする制約をつける場合には、バースト長を少なくすることにより異常の検出スピードを速くすることができる。
【００３８】
以上に説明した実施例では、ライト中にリード状態に変わる場合について説明したが、リード中にライト状態に変わる場合についても、同様にリード中のデータバスラインについてHi-z状態にないか否かチェックすることにより、その正常／異常の検証が可能となる。
【００３９】
【発明の効果】
本発明の第１の効果は、データバスラインのハイインピーダンスの検出によりデータバスラインの異常を検出する構成としたため、DRAMが内蔵する動作設定用レジスタにソフトエラーが発生して動作モードが変化しても、バスファイトの早期検出とその解除が早急にできるということである。DRAMの書込みコマンドは、復旧させたいスピード要求とバスファイトのダメージの大きさにより、適宜設定することが可能であり、これによって異常動作の検出を適切な間隔に設定することが可能である。
【００４０】
また、上述のように、異常の検出がタイミング書込み直後に可能であるため、読み書き回路側のバッファ機能と併用することにより、データの書直しをすることが容易に可能となるという効果も得られる。
【図面の簡単な説明】
【図１】本発明のハイインピーダンス検出回路の一実施例を示す回路図
【図２】図１に示した実施例における正常なSDRAMライト／リード動作を示すタイムチャート
【図３】図１に示した実施例におけるライト中にソフトエラーが発生した場合のタイムチャート
【図４】図１に示した実施例におけるライト中にソフトエラーが発生した他の場合のタイムチャート
【符号の説明】
１            インバータ回路
２            バッファ回路
３〜７        フリップフロップ回路
８            ＮＡＮＤ回路
９，１０      抵抗
１１          データバスライン
【図１】
0004079676.tif 000002
【図２】
0004079676.tif 000003
【図３】
0004079676.tif 000004
【図４】
0004079676.tif 000005