(58)【調査した分野】(Int.Cl.,DB名)
前記エラー検出回路は、前記センスアンプの一対の出力信号の電圧が、前記センスアンプにより相補的レベルに設定される前の電圧の変化に基づいてエラーを検出する、ことを特徴とする請求項1に記載の論理回路。
前記エラー検出回路は、前記センスアンプの一対の出力信号の電圧が、予め定められた電圧関係の状態を経過したことに基づいてエラーを検出する、ことを特徴とする請求項1又は2に記載の論理回路。
前記エラー検出回路は、前記センスアンプの一対の出力信号の電圧が、予め定められた中間電圧に停滞したことに基づいてエラーを検出する、ことを特徴とする請求項1乃至3の何れか1項に記載の論理回路。
前記エラー検出回路は、前記センスアンプの一対の出力信号の電圧が、正常状態では取りえない電圧を経過したことに基づいてエラーを検出する、ことを特徴とする請求項1乃至4の何れか1項に記載の論理回路。
前記信号出力回路による相補的信号の出力に先立ち、前記一対の信号ラインを充電するプリチャージ回路を備える、ことを特徴とする請求項1乃至5の何れか1項に記載の論理回路。
前記信号出力回路は、外部から供給されたデータに従って、前記一対の信号ラインと前記一対の可変抵抗性記憶素子との接続を制御することにより、外部から供給されたデータと前記一対の可変抵抗性記憶素子に記憶されているデータとの演算を実行する演算回路から構成される、ことを特徴とする請求項1乃至6の何れか1項に記載の論理回路。
前記信号出力回路は、前記一対の可変抵抗性記憶素子に記憶されているデータに対応する電圧レベルの相補的信号を前記一対の信号ラインに出力する記憶回路から構成される、ことを特徴とする請求項1乃至6の何れか1項に記載の論理回路。
前記論理回路は複数配置されており、各論理回路は、前段の論理回路の出力信号とエラー検出信号を受信し、前段の論理回路のエラー検出回路が出力したエラー検出信号と、自己のエラー検出回路が出力したエラー検出信号との論理を取って、次段の論理回路にエラー検出信号として供給する回路を備える、ことを特徴とする請求項1乃至8の何れか1項に記載の論理回路。
【発明の概要】
【発明が解決しようとする課題】
【0007】
材料的見地とは別に、回路的見地からエラー検出が望まれる。ここで、特許文献4の回路は、ラッチ回路の安定状態にある入力と安定状態にある出力とを比較し、一致する場合に、記憶データが正しいと判別する。遷移状態では、データが変化し、また不安定であるため、データが正しいにもかかわらず、エラーと判別する虞があるからである。
【0008】
可変抵抗性記憶素子を用いるロジックセルやメモリセルでは、出力電圧振幅を確保するため、或いは、レベル判定の基準を設定するため、2つの可変抵抗性記憶素子にデータを相補的に記憶させ、その出力をセンスアンプにより増幅して出力する回路が採用されることが多い。このような構成の場合、センスアップにより、一対の出力データの信号レベルに仮に異常性がある(例えば、センスアンプが無いとした場合の出力電圧のレベルが異常である)としても、相補データに強引に設定されてしまう。このため、安定状態でデータを比較するだけでは、エラー発生の有無を正しく判別することは困難である。
同様の問題は、可変抵抗性記憶素子とセンスアンプとを使用する論理回路(記憶回路等を含む)でも発生する。
【0009】
本発明は、このような現状に鑑みてなされたものであり、可変抵抗性記憶素子とセンスアンプとを備える論理回路のエラーを正確に検出可能とすることを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明の論理回路は、
データを相補的に記憶する一対の可変抵抗性記憶素子を備え一対の信号ラインに相補的信号を出力する信号出力回路と、
前記一対の信号ラインに接続され、前記一対の信号ラインの信号レベルを増幅し、一対の出力信号を出力するセンスアンプと、
前記センスアンプの一対の出力信号の信号レベルの履歴に基づいてエラーを検出するエラー検出回路と、
から構成される。
【0011】
前記エラー検出回路は、例えば、前記センスアンプの一対の出力信号の電圧が、前記センスアンプにより相補的レベルに設定される前の電圧の変化に基づいてエラーを検出する。
【0012】
前記エラー検出回路は、例えば、前記センスアンプの一対の出力信号の電圧が、予め定められた電圧関係の状態を経過したことに基づいてエラーを検出する。
【0013】
前記エラー検出回路は、例えば、前記センスアンプの一対の出力信号の電圧が、予め定められた中間電圧に停滞したことに基づいてエラーを検出する。
【0014】
前記エラー検出回路は、例えば、前記センスアンプの一対の出力信号の電圧が、正常状態では取りえない電圧を経過したことに基づいてエラーを検出する。
【0015】
前記信号出力回路による相補的信号の出力に先立ち、前記一対の信号ラインを充電するプリチャージ回路を備えてもよい。
【0016】
前記信号出力回路は、例えば、外部から供給されたデータに従って、前記一対の信号ラインと前記一対の可変抵抗性記憶素子との接続を制御することにより、外部から供給されたデータと前記一対の可変抵抗性記憶素子に記憶されているデータとの演算を実行する演算回路から構成される。
【0017】
前記信号出力回路は、例えば、前記一対の可変抵抗性記憶素子に記憶されているデータに対応する電圧レベルの相補的信号を前記一対の信号ラインに出力する記憶回路から構成される。
【0018】
例えば、前記論理回路は複数配置されており、各論理回路は、前段の論理回路の出力信号とエラー検出信号を受信し、前段の論理回路のエラー検出回路が出力したエラー検出信号と、自己のエラー検出回路が出力したエラー検出信号との論理を取って、次段の論理回路にエラー検出信号として供給する回路を備える。
【発明の効果】
【0019】
本発明によれば、可変抵抗性記憶素子とセンスアンプとを備える回路のエラーを正確に検出することができる。
【発明を実施するための形態】
【0021】
以下、図面を参照しながら本発明の実施の形態に係る、エラー検出機能を備える論理回路について説明する。
【0022】
(実施の形態1)
発明の実施の形態1に係る論理回路は、オペアンプとエラー検出機能とを備え、入力データベクトルXと予め記憶しているデータベクトルYとの間で演算f(X,Y)を実行し、演算結果であるデータベクトルZを生成すると共に演算結果Zのエラーを検出する機能を有するエラー検出機能付論理演算回路100である。簡単のため出力値は1種類のZとしている。/Zは、Zの相補信号である。
エラー検出機能付論理演算回路100は、記憶回路10と、書込回路20と、演算回路30と、センスアンプ40と、エラー検出回路50と、インバータ回路60a,60bと、を備える。
【0023】
記憶回路10は、MTJ(Magnetic Tunnel Junction)素子、ReRAM(Resistance Random Access Memory)素子等の抵抗値の大小でデータを記憶する可変抵抗性記憶素子を使用した記憶回路である。以下では、可変抵抗性記憶素子として、MTJ素子を使った例を説明するが、ReRAM素子等を使用する場合も基本構成は同様である。本実施の形態においては、記憶回路10は、
図2に詳細に示すように、互いに同一特性を有する一対のMTJ素子11と12とから構成されている。MTJ素子11と12は、ピン層とフリー層とを備え、書き込み電流又は書き込み磁界に応じて、フリー層の磁化の向きが変化する。MTJ素子11と12は、ピン層とフリー層の磁化の向きが揃ったときに、低抵抗となり、ピン層とフリー層の磁化の向きが反対となったときに、高抵抗となる。高抵抗と低抵抗にビットデータ「1」又は「0」を割り当てることにより、MTJ素子11と12にビットデータを記憶させることができる。各層の磁化の向きが横方向の面内方式と縦方向の縦方式がある。
【0024】
本実施形態においては、MTJ素子11と12は、一端が接地され、他端が演算回路30との接続ノードN1、N2に接続されている。
【0025】
MTJ素子11と12は相補的にデータを記憶する。即ち、MTJ素子11は、ビットデータY(「1」又は「0」)を記憶し、MTJ素子12は、ビットデータYの反転データ/Y(「0」又は「1」)を記憶する。
【0026】
書込回路20は、MTJ素子11と12の両端に個別に接続され、ビットデータYとその反転データ/YをMTJ素子11と12に書き込む。書込回路が電流書込み方式の場合、必要に応じてMTJ素子11と12の接地を切離すスイッチ用のMOSトランジスタを挿入する。
【0027】
図1に示す演算回路30は、記憶回路10に記憶されている相補的データに基づいて一対の信号ラインであるビットラインBLと/BLに相補的なレベルの信号を出力する回路の一例であり、実施する演算の内容に応じて適宜設計される。
図3は、演算回路30が3入力XOR回路の2入力部分の例を示す。
この演算回路30は、転送ゲート31と、XOR演算部32とを備える。
転送ゲート31は、クロック信号CLKに応答して、記憶回路10とXOR演算部32とを遮断し、又は、記憶回路10の記憶データY、/YをXOR演算部32に供給する。
【0028】
より具体的には、転送ゲート31は、NチャネルMOSトランジスタ311と312とから構成される。NチャネルMOSトランジスタ311は、その電流路の一端が接続ノードN1を介してMTJ素子11の他端に接続され、電流路の他端がXOR演算部32に接続され、ゲートにクロック信号CLKが印加され、クロック信号CLKがハイレベルのときにオンして、MTJ素子11が記憶しているビットデータYをXOR演算部32に供給する。
【0029】
NチャネルMOSトランジスタ312は、その電流路の一端が接続ノードN2を介してMTJ素子12の他端に接続され、電流路の他端がXOR演算部32に接続され、ゲートにクロック信号CLKが印加され、クロック信号CLKがハイレベルのときにオンして、MTJ素子12が記憶しているビットデータ/YをXOR演算部32に供給する。
【0030】
XOR演算部32は、外部から入力されたビットデータaとbとに対応して、ビットラインBL、/BLとMTJ素子11、12とを接続する経路の導通・非導通を制御することにより、最終的に、外部から入力されたビットデータaとbと記憶回路10から転送ゲート31を介して供給されたビットデータYとの排他的論理和a^b^Yとを求めるための演算回路である。
【0031】
一方、
図4は、演算回路30としての多数決ゲートの例を示す。
この多数決回路は、転送ゲート31と、多数決演算部33とを備える。
転送ゲート31は、
図3に示す転送ゲート31と同一の構成である。
多数決演算部33は、外部より入力されたビットデータaとbとに対応して、ビットラインBL、/BLとMTJ素子11、12とを接続する経路の導通・非導通を制御することにより、最終的に、外部から入力されたビットデータaとbと記憶回路10から転送ゲート31を介して供給されたビットデータYとのab+bY+Yaに相当する値を求めるための演算回路である。
【0032】
図1に示すセンスアンプ40は、一対の信号ラインであるビットラインBLと/BLに接続され、ビットラインBLと/BL間の電位差を増幅し、対応するビットデータZとその反転データ/Zを出力する。センスアンプ40の回路構成は任意であるが、
図5にその一例を示す。
【0033】
このセンスアンプ40は、NチャネルMOSトランジスタ411と、PチャネルMOSトランジスタ412と、NチャネルMOSトランジスタ413と、PチャネルMOSトランジスタ414とを備える。
【0034】
NチャネルMOSトランジスタ411は、ビットラインBLに電流路の一端が接続され、電流路の他端がPチャネルMOSトランジスタ412の電流路の一端に接続されている。PチャネルMOSトランジスタ412は、電流路の一端がNチャネルMOSトランジスタ411の電流路の他端に接続され、電流路の他端が電源ライン415に接続されている。
【0035】
NチャネルMOSトランジスタ413は、ビットラインバー/BLに電流路の一端が接続され、電流路の他端がPチャネルMOSトランジスタ414の電流路の一端に接続されている。PチャネルMOSトランジスタ414は、電流路の一端がNチャネルMOSトランジスタ413の電流路の他端に接続され、電流路の他端が電源ライン415に接続されている。
【0036】
NチャネルMOSトランジスタ411とPチャネルMOSトランジスタ412のゲートは、NチャネルMOSトランジスタ413とPチャネルMOSトランジスタ414との接続点N4に接続されている。また、NチャネルMOSトランジスタ413とPチャネルMOSトランジスタ414とのゲートは、NチャネルMOSトランジスタ411とPチャネルMOSトランジスタ412との接続点N3に接続されている。
【0037】
NチャネルMOSトランジスタ411とPチャネルMOSトランジスタ412との接続ノードN3が、演算結果/Zの出力ノードとなる。NチャネルMOSトランジスタ413とPチャネルMOSトランジスタ414との接続ノードN4が、演算結果の反転出力Zの出力ノードとなる。
【0038】
電源ライン415と出力ノードN3との間には、クロック信号clkがゲートに印加されたプリチャージ用PチャネルMOSトランジスタ416が接続され、電源ライン415と反転出力ノードN4との間には、クロック信号CLKがゲートに印加されたプリチャージ用PチャネルMOSトランジスタ417が接続されている。
【0039】
図1に示すエラー検出回路50は、センスアンプ40の一対の出力信号の信号レベルの履歴、より具体的には、センスアンプ40が一対の出力信号の信号レベルが相補的レベルに最終的に設定される前の電圧の変化、例えば、予め定められた電圧関係の状態を経過したこと、予め定められた中間電圧に停滞したこと、センスアンプ40の一対の出力信号の電圧が正常状態では取りえない電圧を経過したこと、等に基づいてエラーを検出するものである。本実施形態では、エラー検出回路50は、
図6に示すように、出力データZの誤りを検出するエラー検出部51と、出力データ/Zの誤りを検出するエラー検出部52と、AND回路53とから構成される。
【0040】
エラー検出部51は、チェック対象の出力ビットデータZが入力するインバータ回路511と512と、AND回路513とを備え、論理回路の形態を取りつつ、ある一定範囲にある中間電位の発生を検出する回路である。より具体的には、インバータ回路511は、
図7(b)に示すように、閾値が電源電圧VDDの1/3に設定された反転出力回路である。従って、インバータ回路511は、入力信号dinの電圧がVDD/3未満のときにはハイレベルの出力信号out1を出力し、入力信号dinの電圧がVDD/3より大きいときにはローレベルの信号out1を出力する。
【0041】
一方、インバータ回路512は、
図7(c)に示すように、閾値が電源電圧VDDの2/3に設定された反転出力回路である。従って、インバータ回路512、入力信号dinの電圧が2・VDD/3未満のときにはハイレベルの出力信号out2を出力し、入力信号dinの電圧が2・VDD/3より大きいときにはローレベルの信号out2を出力する。
【0042】
このように閾値の異なるインバータ回路は、例えば、インバータ回路を構成するMOSトランジスタのチャネル幅を異なるサイズとすること、或いは、インバータ回路を構成するMOSトランジスタのチャネルの不純物濃度を調整すること等により達成可能である。
【0043】
AND回路513は、インバータ回路511の出力信号out1がローレベルで、且つ、インバータ回路512の出力信号out2がハイレベルのときに、ハイレベルとなり、その他の期間はローレベルとなる出力信号doutを出力する回路である。この結果、インバータ入力付きAND回路513は、
図7(d)に示すように、入力信号dinがVDD/3より大きく2・VDD/3より小さいときに、ハイレベル、その他のときにローレベルとなる信号doutを出力する。
【0044】
エラー検出部52は、エラー検出部51と実質的に同一の構成と特性を有する。
【0045】
AND回路53は、エラー検出部51と52の出力信号dout1とdout2との論理積を取って検出信doutを出力する。
エラー検出部51と52とが上記の構成及び特性を有するため、エラー検出回路50は、センスアンプ40の出力ノードN3が出力するデータZ、出力ノードN4が出力するデータ/Zが共に中間レベルの電圧であるときに、エラーを検出したことを示すハイレベルの検出信号detを出力する。
【0046】
後述するように、記憶回路10及び演算回路30が正常な状態では、出力データZ及び/Zが中間電位に停留することはない。従って、出力データの電位が中間電位に一定時間以上停留する場合には、何らかの異常があるとみなすことができる。一方、出力データは、最終的には、センスアンプ40の作用により、一方がハイレベル、他方がローレベルに設定される。この状態となってしまってからでは、エラーの検出は困難である。エラー検出回路50は、この過渡期における出力信号の個々の電圧レベルとその組み合わせの異常状態を経過したことを検出するものである。
【0047】
図1に示すインバータ回路61と62は、それぞれ、センスアンプ40の出力データZと/Zを反転して、このエラー検出機能付論理演算回路100の出力データ/Z、Zとして出力する回路である。
【0048】
次に、上記構成を有するエラー検出機能付論理演算回路100の動作を説明する。
【0049】
まず、正常時の動作について、
図8(a)〜(d)を参照して説明する。
予め、書込回路20は、記憶回路10を構成するMTJ素子11にビットデータYを、MTJ素子12にビットデータ/Yを記憶しておく。
【0050】
続いて、
図8(a)に示すように、クロック信号clkがローレベルの状態で、データXが演算回路30に入力される。
図3,4の回路であれば、ビットデータaとbがそれぞれ、XOR演算部32または多数決演算部33に供給される。このとき、クロック信号clkがローレベルであるため、転送ゲート31を構成するNチャネルMOSトランジスタ311と312は共にオフしており、演算部はまだ演算を行わない。
【0051】
また、クロック信号clkがローレベルであるため、プリチャージ用PチャネルMOSトランジスタ416と417が共にオンし、出力ノードN3,N4をほぼ電源電圧VDDとする。従って、
図8(b)に示すように、出力データZ、/Zは共にハイレベルにプリチャージされる。このときNチャネルMOSトランジスタ411および413がオンする。しかしながら転送ゲート31を構成するNチャネルMOSトランジスタ311と312は共にオフしており、MTJ素子11と12を介した放電は始まらない。
【0052】
クロック信号clkがハイレベルとなり評価期間(図ではEvaluate)が始まると、プリチャージ用PチャネルMOSトランジスタ416および417がオフする。さらに転送ゲート31を構成するNチャネルMOSトランジスタ311と312は共にオンとなり、ビットラインBLと反転ビットライン/BLの両方に接地への経路が構成される。ビットラインBLと反転ビットライン/BLの接地への抵抗差に応じて放電時間に差が生じる。
図8(b)では反転ビットライン/BL側(MTJ素子12)が低抵抗、ビットラインBL側(MTJ素子11)が高抵抗の場合の例を示している。反転ビットライン/BL側が低抵抗であるため放電が速く、ローレベルまで達する。一方、ビットラインBL側は放電が遅い。さらに、PチャネルMOSトランジスタ414とNチャネルMOSトランジスタ413のインバータ入力となるN3がローレベルであるためインバータ出力に当たるN4がVDD側に引き上げられる。
【0053】
この状態では、第1の検出部51を構成するインバータ回路511と512の入力din(=Z)は、共にハイレベルとなる。
図8(c)に示すように、AND回路513の出力dout1は入力Zがローレベルへの放電動作のため、電源電位の中間レベル、すなわちVDDの1/3と2/3を通過するのでパルス状に一瞬オンとなる。一方、入力/Zは中間電位まで放電されることなくVDDに引き上げられるため、第2の検出部52の出力dout2はローレベル固定となる。
【0054】
信号dout1とdout2が共にハイレベルになることがないので、
図8(d)に示すように、エラー検出回路50の出力detはローレベルを維持する。即ち、エラーは検出されない。
【0055】
次に、異常時の動作を説明する。
まず、MTJ素子11,12の破損、書込回路20の書き込みエラーなどの為に、MTJ素子11,12が高抵抗と低抵抗の組み合わせにならず、高抵抗と高抵抗または低抵抗と低抵抗の組合せになってしまったと仮定する。この場合、記憶データYと/Yが(0,1)または(1,0)の正しい値とならない。このため、演算回路30の演算結果も不良となってしまう。
その結果、センスアンプ40のノードN3とN4の電圧(データZ,/Z)が相補的にならず、
図9(a)に示すように、共に中間電圧(2・VDD/3>Z,/Z>VDD/3)になって停留し、正常状態では取りえ来あり得ない組み合わせの電圧関係状態になったと仮定する。
この場合、
図9(b)に示すように、第1の検出部51の出力dout1と第2の検出部52の出力dout2は共にハイレベルとなる。このため、
図9(c)に示すように、エラー検出回路50の出力detはハイレベルとなる。これにより、エラーが発生していることを検出することができる。この場合も、時間の経過により、出力データZと/Zは、センスアンプ40の働きにより、一方がハイレベル、他方がローレベルに設定される。
【0056】
また、同様の理由或いは他の理由により、例えば、
図10(a)に示すように、データZの変化が遅く、或いは、データ/Zの電圧の落ち込みが大きくなったと仮定する。この場合も、センスアンプ40のノードN3とN4の電圧(データZ,/Z)が相補的にならず、
図10(a)に示すように、共に中間電圧(2・VDD/3>Z,/Z>VDD/3)になってしまう期間が生じる。即ち、センスアンプ40の出力信号Zと/Zとが、中間電圧停留し、正常状態では取りえない組み合わせの電圧関係状態になってしまう。
【0057】
この場合、
図10(b)に示すように、第1の検出部51の出力dout1と第2の検出部52の出力dout2は共にハイレベルとなる期間が発生する。このため、
図10(c)に示すように、エラー検出回路50の出力detは一時的にハイレベルとなる。これにより、エラーが発生していることを検出することができる。この場合も、出力データZと/Zは、最終的には、センスアンプ40の働きにより、一方がハイレベルと他方がローレベルに設定される。
【0058】
以上説明したように、この実施の形態によれば、センスアンプ40の最終出力としてのデータZと/Zの一致不一致ではなく、センスアンプ40の出力ノードN3とN4の電圧の変化履歴(データZと/Zの電圧の変化履歴)を検知して、共に中間レベルになるという正常状態では取りえない不適切な変化をしたときに、エラーを検出している。従って、センスアンプ40が正常で、データの最終出力が相補的な出力となる場合でも、エラーを検出することができる。
【0059】
また、エラー検出回路50は、インバータ回路とAND回路で構成可能である。中間電位を検出するために、コンパレータ等を使用すると、エラー検出回路が膨大なサイズとなってしまうが、本実施形態の構成により、シンプル構成で且つ小さいハードウエアでエラーを検出することが可能となる。
【0060】
上記実施の形態では、1つの演算回路について説明したが、多くの場合には、複数の演算回路が相互に組み合わされて組み合わせ回路として使用される。また、D(Data)フリップフロップ(FF)等の記憶素子を配置することにより順序回路として使用されることも多い。
例えば、
図11(a)の例では、演算回路1が入力データaとbと記憶データYを演算して、データZを出力し、演算回路2が演算回路1の出力Zと入力データcとを演算して、データQを出力し、演算回路3が入力データdとeと記憶データUを演算して、データRを出力し、演算回路4が演算回路2の出力Qと演算回路3の出力Rと記憶データVとを演算してデータSを出力することにより、演算回路1〜4が1つの組み合わせ回路として動作する例を示す。さらに、このデータSをエッジトリガD−FFで適宜のタイミングで記憶し、何れかの演算回路に供給することにより、順序回路を構成するようにしてもよい。
【0061】
このような構成の場合、演算回路1〜演算回路4にそれぞれエラー検出回路を配置し、その出力det1〜4の論理和をOR回路で取ってフリップフロップでラッチするようにすればよい。本例では、フリップフロップとして、
図11(b)に示すRSフリップフロップを使用している。
【0062】
この例では、演算回路1〜演算回路4の何れかでエラーが検出されると、OR回路の出力がハイレベルとなり、これがRSラッチに供給されることで、RSラッチのQ出力はハイレベルとなる。回路動作の開始時等に、RSラッチをリセットすることにより、何れかのタイミングで、何れかの演算回路でエラーが検出されたときに、RSラッチのQ出力がハイレベルとなり、演算結果に誤りが含まれている可能性があることがわかる。
【0063】
なお、
図11(a)の複数の演算回路のエラー検出の結果をOR回路に供給した。このような構成では、大規模回路の場合、エラー伝達するための配線が多くなり、ハードウエア構成が大がかりなものとなってしまう虞がある。このような事態を避けるため、例えば、
図12(a)に示すように、中間段階の演算回路については、前段の演算回路からのエラー信号(図では、a_errとb_err)と、この演算回路のエラー検出信号det_inとの論理和を取って、次段に供給するように構成すればよい。
このような構成とすれば、
図11(a)に示す回路は、
図12(b)に示すように改良でき、回路配線をより簡単なものとすることができる。
【0064】
以上の説明では、演算回路に本願発明を適用する実施の形態について説明したが、本願発明に係る論理回路はこれに限定されず、種々の変形が可能である。
以下、本願発明を論理回路としてのメモリ回路に適用した例を
図13を参照して説明する。
【0065】
図13に示す例では、一対の可変抵抗性記憶素子61,62にセンスアンプ63が接続され、これらが、選択トランジスタをT1,T2を介してビット線BLと/BLに接続されている。選択トランジスタT1とT2は、ワード線WL上のワード信号により、オン・オフされる。
【0066】
このような構成おいて、
図13(a)に示すように、ビット線BLと/BLの電圧をエラー検出回路50に供給すること、或いは、
図13(b)に示すように、可変抵抗記憶素子61、62とセンスアンプ63との一対の接続ライン上の接続ノードN5とN6の電圧をエラー検出回路50に供給すること、実施形態1と同様にエラーを検出することが可能である。なお、
図13はMRAM(Magnetoresistive Random Access Memory)を例示するが、通常のSRAM(Static Random Access Memory)等にも適用可能である。
【0067】
図13(a)に示す構成では、例えば、ワードラインWLの電圧がハイレベルとなって、選択トランジスタT1,T2がオンしてから、プリチャージされているビットラインBL、/BLの電圧の変化を検出することにより、異常を検出することができる。
また、
図13(b)に示す構成では、例えば、パワーゲーティング用の電圧PGとソースライン電圧VSLが印加され、両者間に電圧が印加されてからの接続ノードN5、N6の電圧の変化を検出することにより、異常を検出することができる。
【0068】
以上、本発明の実施の形態を説明したが、本発明の構成はこれらに限定されず、種々の変形が可能である。
【0069】
例えば、上記実施の形態においては、エラーを検出するためにインバータ回路の閾値を2VDD/3とVDD/3に設定したが、これらは任意である。検出対象のノードの電圧について、正常な状態では同時には出現しないような電圧関係を求めておき、その組み合わせを検出できるように閾値を設定しておけばよい。
【0070】
また、上記実施の形態においては、2つのノードの出力が同時に中間電位となったときに、エラーを検出したが、例えば、
図9(a)、10(a)の電圧変化で、Z或いは/Zが異常に低い電圧、例えば、VDD/2以下となったときに、エラーを検出する等してもよい。即ち、エラー検出回路50は、センスアンプ40の一対の出力信号の一方又は両方の電圧が、正常状態では取りえない電圧、例えば、基準値以下の電圧、基準値以上の電圧等を経過したことに基づいてエラーを検出してもよい。
【0071】
また、回路構成なども、同様の機能が実現できるならば、任意に変更可能である。