(57)【要約】  一対の抵抗変化型記憶素子の非相補状態を利用することで、回路規模を大きくすることなく機能の高度化を実現する不揮発性論理回路を提供する。不揮発性論理回路（１０）は、一対の抵抗変化型記憶素子（一対のＭＴＪ素子）（Ｍ１及びＭ２）を有する記憶部（１２）と、記憶部（１２）に接続され、入力信号（ｉｎ１及びｉｎ２）と、一対のＭＴＪ素子（Ｍ１及びＭ２）の抵抗に対応する論理値とに基づく演算を実行する演算部（１１）と、一対のＭＴＪ素子（Ｍ１及びＭ２）の抵抗が相補状態にあるか非相補状態にあるかを判別する判別回路（３）と、演算部（１１）及び判別回路（３）に接続され、演算部（１１）による演算結果に対応する信号（ｏｕｔ１及びｏｕｔ２）又は判別回路（３）による判別結果に対応する信号（ｏｕｔ１及びｏｕｔ２）を出力する出力回路（２）と、を備える。
2020137341.tif 000002
【特許請求の範囲】
【請求項１】
一対の抵抗変化型記憶素子を有する記憶部と、
前記記憶部に接続され、入力信号と、前記一対の抵抗変化型記憶素子の抵抗に対応する論理値とに基づく演算を実行する演算部と、
前記一対の抵抗変化型記憶素子の抵抗が相補状態にあるか非相補状態にあるかを判別する判別回路と、
前記演算部及び前記判別回路に接続され、前記演算部による演算結果に対応する信号又は前記判別回路による判別結果に対応する信号を出力する出力回路と、
を備える不揮発性論理回路。
【請求項２】
前記一対の抵抗変化型記憶素子の抵抗が相補状態にあるとき、
前記演算部は、前記入力信号と、相補状態に対応する論理値とを用いた演算を実行し、
前記出力回路は、前記演算部による演算結果に対応する信号を出力する、請求項１に記載の不揮発性論理回路。
【請求項３】
前記一対の抵抗変化型記憶素子の抵抗が非相補状態にあるとき、
前記出力回路は、前記一対の抵抗変化型記憶素子の抵抗が非相補状態にあることを示す信号を出力する、請求項１又は２に記載の不揮発性論理回路。
【請求項４】
前記一対の抵抗変化型記憶素子の抵抗が非相補状態にあるとき、
前記演算部は、前記入力信号と、非相補状態に対応する論理値とを用いた演算を実行し、
前記出力回路は、前記演算部による演算結果に対応する信号を出力する、請求項１又は２に記載の不揮発性論理回路。
【請求項５】
前記出力回路は、前記一対の抵抗変化型記憶素子の抵抗に応じて電位が変化する一対のノードを有し、
前記判別回路は、前記一対のノードの電位を検知して、前記一対の抵抗変化型記憶素子の抵抗が相補状態にあるか非相補状態にあるかを判別する、請求項１〜４の何れか１項に記載の不揮発性論理回路。
【請求項６】
前記一対の抵抗変化型記憶素子の抵抗が非相補状態にあるとき、
前記判別回路は、前記一対のノードの電位が閾値よりも下がると、当該一対のノードをチャージさせる、請求項５に記載の不揮発性論理回路。
【請求項７】
前記一対の抵抗変化型記憶素子の各々は磁気トンネル接合素子である、請求項１〜６の何れか１項に記載の不揮発性論理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性論理回路に関する。
【背景技術】
【０００２】
ビッグデータの活用とともに人工知能（ＡＩ）技術又は深層学習（Deep Learning）技術の開発は急速に進んでおり、画像認識、音声認識、文章生成、ゲームに至るまで、様々な分野に適用されている。しかしながら、その応用範囲を広げるためには、膨大な計算及びハードウェアコストの問題を解決する必要がある。これらのコストを削減するための技術として、近年、量子化が注目されている。これは、通常浮動小数点又は固定小数点表現の数値を対象とした乗算及び加算といったディープニューラルネットワーク（ＤＮＮ）における主要な処理を、量子化された数値を対象としたより省コストな演算に置き換え、計算コストの削減を図るものである。特に、３値表現を用いる３値化ニューラルネットワーク（Ternary Neural Network：ＴＮＮ）は、ニューラルネットワークにおける積和演算を論理演算に置き換えられ、且つ十分な認識性能が得られることが示されており、ハードウェア化における有効な技術として特に注目されている。【０００３】
また、近年、抵抗変化型記憶素子として磁気トンネル接合素子（ＭＴＪ素子）を有する不揮発性論理回路が提案されている。従来の不揮発性論理回路は、一対のＭＴＪ素子の相補状態（（低抵抗、高抵抗）及び（高抵抗、低抵抗））に論理値（“０”及び“１”）を割り当てることで１ビットの情報を表現している（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】W. Zhao, et al., “High speed, high stability and low power sensing amplifier for MTJ/CMOS hybrid logic circuits,” IEEE Transactions on Magnetics, Vol. 45, No. 10, pp. 3784-3787, 2009.
【非特許文献２】Rajendra Bishnoi et al., “Read disturb fault detection in STT-MRAM,” in Proceedings of International Test Conference (ITC), IEEE, pp. 1-7, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の不揮発性論理回路では、一対のＭＴＪ素子の相補状態のみが用いられ、非相補状態（（低抵抗、低抵抗）又は（高抵抗、高抵抗））は、動作の不安定性などの理由により、利用されていなかった。そのため、従来の不揮発性論理回路を用いて３値表現（例えば、−１、０、＋１）をとるＴＮＮを構築する場合、４つのＭＴＪ素子によって３値情報（２ビット）を表現する必要があり、回路規模が大きく且つ冗長になるという問題が生じる。【０００６】
また、ＭＴＪ素子を有する不揮発性論理回路に関連して、近年、誤り検出機構が提案されている。例えば、非特許文献２には、Spin Transfer Torque Magnetic Random Access Memory（ＳＴＴ−ＭＲＡＭ）におけるリードディスターブ(read disturb)を検出する回路（Fig. 5）が開示されている。非特許文献２の回路では、１つのＭＴＪ素子に対し、当該ＭＴＪ素子が取り得る値の中間の抵抗値を有するリファレンス抵抗と、当該ＭＴＪ素子の抵抗とリファレンス抵抗とを比較する比較回路及び制御回路が最低限必要となるため、オーバーヘッドが大きい。非特許文献２の回路を２つ組み合わせると、一対のＭＴＪ素子が相補状態にあるか非相補状態にあるかを判別することが可能にはなるものの、回路規模が一層大きくなってしまうという問題が生じる。【０００７】
本発明は、上記課題に鑑みてなされたものであり、一対の抵抗変化型記憶素子の非相補状態を利用することで、回路規模を大きくすることなく機能の高度化を実現する不揮発性論理回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施形態に係る不揮発性論理回路は、一対の抵抗変化型記憶素子を有する記憶部と、前記記憶部に接続され、入力信号と、前記一対の抵抗変化型記憶素子の抵抗に対応する論理値とに基づく演算を実行する演算部と、前記一対の抵抗変化型記憶素子の抵抗が相補状態にあるか非相補状態にあるかを判別する判別回路と、前記演算部及び前記判別回路に接続され、前記演算部による演算結果に対応する信号又は前記判別回路による判別結果に対応する信号を出力する出力回路と、を備える。
【発明の効果】
【０００９】
本発明によれば、一対の抵抗変化型記憶素子の抵抗が相補状態にあるか非相補状態にあるかを判別し、判別結果に対応する信号を出力可能としたことにより、回路規模を大きくすることなく機能の高度化を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る不揮発性論理回路の機能ブロック図である。
【図２Ａ】不揮発性論理回路の記憶部を構成する各ＭＴＪ素子の構造を示す模式図である。
【図２Ｂ】ＭＴＪ素子のスイッチングを説明する模式図である。
【図２Ｃ】ＭＴＪ素子の電流−抵抗特性を表すグラフである。
【図３】本実施形態の不揮発性論理回路により実行される処理を示すフローチャートである。
【図４】本実施形態の不揮発性論理回路の構成を示す図である。
【図５】図４の不揮発性論理回路の一例として、ＸＮＯＲ演算をする不揮発性論理回路の構成を示す図である。
【図６】一対のＭＴＪ素子が相補状態にあるときの不揮発性論理回路の動作波形を示す図である。
【図７】一対のＭＴＪ素子が非相補状態にあるときの不揮発性論理回路の動作波形を示す図である。
【図８Ａ】一対のＭＴＪ素子が相補状態にあるときのプリチャージ期間における不揮発性論理回路の動作を説明する図である。
【図８Ｂ】一対のＭＴＪ素子が相補状態にあるときのプリチャージ期間における不揮発性論理回路の動作を説明する図である。
【図８Ｃ】一対のＭＴＪ素子が相補状態にあるときの評価期間における不揮発性論理回路の動作を説明する図である。
【図８Ｄ】一対のＭＴＪ素子が相補状態にあるときの評価期間における不揮発性論理回路の動作を説明する図である。
【図９】一対のＭＴＪ素子が非相補状態であるときの不揮発性論理回路の動作を説明する図である。
【図１０】本実施形態の実施例１に係る演算装置の構成を示すブロック図である。
【図１１】実施例１の演算装置を構成する各不揮発性論理回路で実行される演算に関わる信号を説明する模式図である。
【図１２】図１１の各信号に対する情報の割り当てを示す表である。
【図１３】実施例１の演算装置を構成する各不揮発性論理回路での演算機能を示す真理値表である。
【図１４】本実施形態の実施例２に係る誤り検出装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を説明する。図面全体を通して、同一又は同様の構成要素には同一の符号を付している。
【００１２】
まず、本発明の実施形態に係る不揮発性論理回路１０の構成について説明する。
図１に、不揮発性論理回路１０の機能ブロック図を示す。不揮発性論理回路１０は、不揮発性のロジックインメモリ（logic-in-memory）回路であり、図１に示すように、演算回路１と、出力回路２と、判別回路３と、を備える。
【００１３】
演算回路１は、ロジック部としての演算部１１と、一対の抵抗変化型記憶素子を有するメモリとしての記憶部１２と、を備える。記憶部１２は、一対の抵抗変化型記憶素子として、一対の磁気トンネル接合素子（ＭＴＪ素子）Ｍ１及びＭ２を有する。
【００１４】
演算部１１は、記憶部１２に接続され、入力信号（ｉｎ１及びｉｎ２）と、ＭＴＪ素子Ｍ１及びＭ２の抵抗（相補状態、非相補状態）に対応する論理値とに基づく演算を実行する。ここで、相補状態とは、一対のＭＴＪ素子Ｍ１及びＭ２の抵抗が、それぞれ、（低抵抗、高抵抗）又は（高抵抗、低抵抗）であることを表し、非相補状態とは、一対のＭＴＪ素子Ｍ１及びＭ２の抵抗が、それぞれ、（低抵抗、低抵抗）又は（高抵抗、高抵抗）であることを表す。
【００１５】
判別回路３は、記憶部１２及び出力回路２に接続され、一対のＭＴＪ素子Ｍ１及びＭ２が相補状態にあるか非相補状態にあるかを判別する。
【００１６】
出力回路２は、演算部１１及び判別回路３に接続され、出力信号（ｏｕｔ１及びｏｕｔ２）として、演算部１１による演算結果に対応する信号又は判別回路３による判別結果に対応する信号を出力する。
【００１７】
不揮発性論理回路１０の構成の詳細については、後で説明する（図４及び図５参照）。
【００１８】
記憶部１２を構成するＭＴＪ素子Ｍ１及びＭ２の各々は、図２Ａに示すように、フリー層１２ａ、バリア層１２ｂ及び固定層１２ｃが積層されている。フリー層１２ａ及び固定層１２ｃは、ＣｏＦｅＢ等の強磁性体からなり、バリア層１２ｂは、ＭｇＯ等の絶縁体の薄膜である。
【００１９】
図２Ｂに示すように、固定層１２ｃの磁化とフリー層１２ａの磁化が同じ向きのとき（平行状態）、ＭＴＪ素子は低抵抗状態ＲＰにあり、固定層１２ｃの磁化とフリー層１２ａの磁化が互いに逆向きのとき（反平行状態）、ＭＴＪ素子は高抵抗状態ＲＡＰにある。
【００２０】
図２Ｂ及び図２Ｃに示すように、ＭＴＪ素子が高抵抗状態ＲＡＰ（反平行状態）にあるときに、固定層１２ｃからフリー層１２ａへ向かう電流Ｉを流すと、電流Ｉが増加するにつれて、ＭＴＪ素子は高抵抗状態ＲＡＰを維持したまま次第に低下する。電流Ｉが閾値ＩＣＨ２を超えると（Ｉ＞ＩＣＨ２）、フリー層１２ａの磁化が反転し、ＭＴＪ素子は低抵抗状態ＲＰ（平行状態）に遷移する。その低抵抗状態ＲＰから電流Ｉを減少させると、ＭＴＪ素子は低抵抗状態ＲＰを維持し、さらに電流Ｉの向きを変えて増大させて、電流Ｉの絶対値が閾値ＩＣＨ１の絶対値を超えると（｜Ｉ｜＞｜ＩＣＨ１｜又はＩ＜ＩＣＨ１）、フリー層１２ａの磁化が反転し、ＭＴＪ素子は高抵抗状態ＲＡＰ（反平行状態）に遷移する。
【００２１】
例えば、一対のＭＴＪ素子Ｍ１及びＭ２の相補状態（ＲＰ、ＲＡＰ）及び（ＲＡＰ、ＲＰ）に、それぞれ、論理値“０”及び“１”を割り当てることで、１ビットの情報を表現することができる。非相補状態（例えば、(ＲＰ、ＲＰ))も情報表現の１つとして用いると、２ビットの情報を表現することができる（図１０〜図１３参照）。
【００２２】
次に、図３のフローチャートを参照して、不揮発性論理回路１０により実行される処理の流れを説明する。
【００２３】
演算部１１が入力信号ｉｎ１及びｉｎ２を受け付けると（ステップＳ１０１）、判別回路３は、記憶部１２を構成する一対のＭＴＪ素子Ｍ１及びＭ２の抵抗に応じて変化する、出力回路２の一対のノード（後述のノードＡ及びＢ）の電位を検知して、一対のＭＴＪ素子Ｍ１及びＭ２が相補状態にあるか非相補状態にあるかを判別する（ステップＳ１０３）。
【００２４】
一対のＭＴＪ素子Ｍ１及びＭ２が相補状態にあるとき（ステップＳ１０３：ＹＥＳ）、演算部１１は、入力信号ｉｎ１及びｉｎ２と、相補状態に対応する論理値とを用いた演算を実行し、出力回路２は、演算部１１による演算結果に対応する信号ｏｕｔ１及びｏｕｔ２を出力する（ステップＳ１０５）。
【００２５】
一対のＭＴＪ素子Ｍ１及びＭ２が非相補状態にあるとき（ステップＳ１０３：ＮＯ）、出力回路２は、一対のＭＴＪ素子Ｍ１及びＭ２が非相補状態にあることを示す信号ｏｕｔ１及びｏｕｔ２を出力する（ステップＳ１０７）。
【００２６】
演算部１１が、一対のＭＴＪ素子Ｍ１及びＭ２の非相補状態を演算に使用する回路構成（例えば、後述の図５の回路構成）である場合、ステップＳ１０７において演算部１１は、入力信号ｉｎ１及びｉｎ２と、非相補状態に対応する論理値とを用いた演算を実行し、出力回路２は、演算部１１による演算結果に対応する信号ｏｕｔ１及びｏｕｔ２を出力する。
【００２７】
次に、不揮発性論理回路１０の構成を詳細に説明する。図４に、不揮発性論理回路１０の構成を示す。
【００２８】
出力回路２は、プリチャージ・センスアンプ（ＰＣＳＡ）であり（非特許文献１参照）、ＣＭＯＳ（Complementary Metal-Oxide Semiconductor）インバータ２３、２４、２５及び２６と、ＰＭＯＳ（P-channel MOS）トランジスタ２１及び２２と、を有する。ＣＭＯＳインバータ２３の入力端子は、ＣＭＯＳインバータ２４の出力端子に接続され、ＣＭＯＳインバータ２４の入力端子は、ＣＭＯＳインバータ２３の出力端子に接続されている。ＣＭＯＳインバータ２３の出力端子は、ＣＭＯＳインバータ２５の入力端子及びＰＭＯＳトランジスタ２１のドレインに接続され、ＣＭＯＳインバータ２４の出力端子は、ＣＭＯＳインバータ２６の入力端子及びＰＭＯＳトランジスタ２２のドレインに接続されている。ＰＭＯＳトランジスタ２１及び２２のソースは電源ＶＤＤに接続され、ＰＭＯＳトランジスタ２１及び２２のゲートにはクロックｃｌｋが入力される。
【００２９】
以下、ＰＭＯＳトランジスタ２１のドレインと、ＣＭＯＳインバータ２３の出力端子と、ＣＭＯＳインバータ２５の入力端子との接続点を「ノードＡ」と呼び、ＰＭＯＳトランジスタ２２のドレインと、ＣＭＯＳインバータ２４の出力端子と、ＣＭＯＳインバータ２６の入力端子との接続点を「ノードＢ」と呼ぶ。
【００３０】
判別回路３は、ＮＭＯＳ（N-channel MOS）トランジスタ１３、３１及び３２と、ＰＭＯＳトランジスタ３３ａと、ＮＭＯＳトランジスタ３３ｂと、ＰＭＯＳトランジスタ３４ａと、ＮＭＯＳトランジスタ３４ｂと、インバータ３５と、インバータ３６と、ＰＭＯＳトランジスタ３７と、ＰＭＯＳトランジスタ３８と、を有する。
【００３１】
ＰＭＯＳトランジスタ３３ａのソースは電源ＶＤＤに接続され、ゲートにはクロックｃｌｋが入力される。ＰＭＯＳトランジスタ３３ａのドレインとＮＭＯＳトランジスタ３３ｂのドレインとは接続されている。ＮＭＯＳトランジスタ３３ｂのソースは接地されており、ゲートには、インバータ３５の出力端子が接続されている。インバータ３５の入力端子はノードＢに接続されている。以下、ＰＭＯＳトランジスタ３３ａとＮＭＯＳトランジスタ３３ｂとの接続点を「ノードＣ」と呼ぶ。
【００３２】
ＰＭＯＳトランジスタ３４ａのソースは電源ＶＤＤに接続され、ゲートにはクロックｃｌｋが入力される。ＰＭＯＳトランジスタ３４ａのドレインとＮＭＯＳトランジスタ３４ｂのドレインとは接続されている。ＮＭＯＳトランジスタ３４ｂのソースは接地されており、ゲートには、インバータ３６の出力端子が接続されている。インバータ３６の入力端子はノードＡに接続されている。以下、ＰＭＯＳトランジスタ３４ａとＮＭＯＳトランジスタ３４ｂとの接続点を「ノードＤ」と呼ぶ。
【００３３】
ＮＭＯＳトランジスタ３１のドレインとＮＭＯＳトランジスタ３２のドレインは、ＭＴＪ素子Ｍ１及びＭ２に接続されており、ＮＭＯＳトランジスタ３１のソースとＮＭＯＳトランジスタ３２のソースは、ＮＭＯＳトランジスタ１３のドレインに接続されている。ＮＭＯＳトランジスタ３１のゲートはノードＣに接続されている。ＮＭＯＳトランジスタ３２のゲートはノードＤに接続されている。ＮＭＯＳトランジスタ１３は、ソースが接地されており、ゲートにはクロックｃｌｋが入力される。
【００３４】
ＰＭＯＳトランジスタ３７は、ソースが電源ＶＤＤに接続され、ドレインがノードＡに接続され、ゲートがノードＣに接続されている。ＰＭＯＳトランジスタ３８は、ソースが電源ＶＤＤに接続され、ドレインがノードＢに接続され、ゲートがノードＤに接続されている。
【００３５】
図４の演算部１１は、論理演算の種類によって回路構成が異なる。図５には、図４の不揮発性論理回路１０の一例として、ＸＮＯＲ演算をする演算部１１Ａを備える不揮発性論理回路１０Ａの回路構成を示す。演算部１１Ａは、パストランジスタの構造を有し、ＮＭＯＳトランジスタ１１ａ、１１ｂ、１１ｃ及び１１ｄを有する。
【００３６】
ＮＭＯＳトランジスタ１１ａのドレインとＮＭＯＳトランジスタ１１ｂのドレインは、ＣＭＯＳインバータ２３を構成するＮＭＯＳトランジスタのソースに接続されている。ＮＭＯＳトランジスタ１１ａのソースはＭＴＪ素子Ｍ１に接続され、ＮＭＯＳトランジスタ１１ｂのソースはＭＴＪ素子Ｍ２に接続されている。ＮＭＯＳトランジスタ１１ａのゲートには信号ｉｎ２が入力され、ＮＭＯＳトランジスタ１１ｂのゲートには信号ｉｎ１が入力される。
【００３７】
ＮＭＯＳトランジスタ１１ｃのドレインとＮＭＯＳトランジスタ１１ｄのドレインは、ＣＭＯＳインバータ２４を構成するＮＭＯＳトランジスタのソースに接続されている。ＮＭＯＳトランジスタ１１ｃのソースはＭＴＪ素子Ｍ２に接続され、ＮＭＯＳトランジスタ１１ｄのソースはＭＴＪ素子Ｍ１に接続されている。ＮＭＯＳトランジスタ１１ｃのゲートには信号ｉｎ２が入力され、ＮＭＯＳトランジスタ１１ｄのゲートには信号ｉｎ１が入力される。
【００３８】
次に、図６〜図９を参照して、図５の不揮発性論理回路１０Ａの動作について説明する。図８Ａ〜図８Ｄでは、動作に直接的に関与しない要素及び配線については、図示しないか又は点線で表している。
【００３９】
不揮発性論理回路１０Ａは、図６及び図７の動作波形に示すように、クロックｃｌｋに応じてプリチャージ（Pre-charge）と評価（Evaluate）の２相をとるダイナミック回路方式で動作する（非特許文献１参照）。
【００４０】
まず、図６及び図８Ａ〜図８Ｄを参照して、一対のＭＴＪ素子Ｍ１及びＭ２が相補状態にあるときの不揮発性論理回路１０Ａの動作について説明する。ここでは、ＭＴＪ素子Ｍ１及びＭ２が、それぞれ、高抵抗状態ＲＡＰ及び低抵抗状態ＲＰにあるものとする。また、入力信号ｉｎ１及びｉｎ２は、それぞれ、Ｌレベル及びＨレベルであるものとする。また、以下では、Ｌレベルを０[Ｖ]（“０”）、Ｈレベルを電源電圧[Ｖ]（“１”）とする。
【００４１】
プリチャージ期間（ｃｌｋ＝０）では、図８Ａに示すように、ＰＭＯＳトランジスタ２１及び２２がオンとなり、電源ＶＤＤからＰＭＯＳトランジスタ２１及び２２を経由して、それぞれ、ノードＡ及びＢがチャージされる。これにより、図８Ｂに示すように、ノードＡには電荷Ｑ１が蓄積され、ノードＢには電荷Ｑ２が蓄積され、ノードＡとノードＢはともにＨレベルとなり、ＣＭＯＳインバータ２５の出力信号ｏｕｔ１と、ＣＭＯＳインバータ２６の出力信号ｏｕｔ２は、ともにＬレベルを示す。プリチャージ期間（ｃｌｋ＝０）では、ＰＭＯＳトランジスタ３３ａ及び３４ａもオンとなるため、ノードＣ及びＤもチャージされてＨレベルとなる。
【００４２】
このようにノードＡ及びＢがＨレベルになると、ＣＭＯＳインバータ２４のＮＭＯＳトランジスタがオンになるとともに、ＣＭＯＳインバータ２３のＮＭＯＳトランジスタがオンとなる。また、ノードＣ及びＤがＨレベルになると、ＮＭＯＳトランジスタ３１及び３２もオンとなる。
【００４３】
評価期間（ｃｌｋ＝１）では、ＮＭＯＳトランジスタ１３がオンとなる。入力信号ｉｎ２＝１により、ＮＭＯＳトランジスタ１１ａ及び１１ｃがオン状態であることから、図８Ｃに示すように、ノードＡに蓄積された電荷Ｑ１がＮＭＯＳトランジスタ１１ａ、ＭＴＪ素子Ｍ１及びＮＭＯＳトランジスタ１３を経由してＧＮＤに流れ出すとともに、ノードＢに蓄積された電荷Ｑ２がＮＭＯＳトランジスタ１１ｃ、ＭＴＪ素子Ｍ２及びＮＭＯＳトランジスタ１３を経由してＧＮＤに流れ出す。
【００４４】
このとき、一対のＭＴＪ素子Ｍ１及びＭ２は相補状態にあるため、ノードＡに蓄積された電荷Ｑ１が流れ出す速度と、ノードＢに蓄積された電荷Ｑ２が流れ出す速度に差が生じる。具体的には、高抵抗状態ＲＡＰにあるＭＴＪ素子Ｍ１は電流が流れ難いのでゆっくり流れ、低抵抗状態ＲＰにあるＭＴＪ素子Ｍ２は電流が流れやすいので早く流れることから、図６に示すように、ノードＡとノードＢとの電位差が徐々に大きくなる。
【００４５】
ノードＢの電位がＣＭＯＳインバータ２３の閾値電圧よりも下がると、図８Ｄに示すように、ＣＭＯＳインバータ２３のＰＭＯＳトランジスタがオンとなり、電源ＶＤＤからＣＭＯＳインバータ２３のＰＭＯＳトランジスタを経由してノードＡがリチャージされる（Ｑ＝Ｑ１）。一方、ノードＢからＮＭＯＳトランジスタ１１ｃ、ＭＴＪ素子Ｍ２及びＮＭＯＳトランジスタ１３を経由してＧＮＤに電荷が流れ続け、最終的にノードＢの電荷はゼロになる（Ｑ＝０）。
【００４６】
このように、ノードＡとノードＢとの電位差が一定の大きさに達すると、ＣＭＯＳインバータ２３及び２４により、ノードＡとノードＢとの電位差がさらに増幅されることで、ノードＡがＨレベル、ノードＢがＬレベルとなり、出力信号ｏｕｔ１＝０及びｏｕｔ２＝１が確定する。評価期間における出力信号により、ＭＴＪ素子Ｍ１及びＭ２が相補状態にあると判別することができ、且つＭＴＪ素子Ｍ１が高抵抗状態ＲＡＰ、ＭＴＪ素子Ｍ２が低抵抗状態ＲＰにあると判別することができる。
【００４７】
次に、図７及び図９を参照して、一対のＭＴＪ素子Ｍ１及びＭ２が非相補状態にあるときの不揮発性論理回路１０Ａの動作について説明する。ここでは、ＭＴＪ素子Ｍ１及びＭ２がともに低抵抗状態ＲＰにあるものとする。また、入力信号ｉｎ１及びｉｎ２は、それぞれ、Ｌレベル（“０”）及びＨレベル（“１”）であるものとする。
【００４８】
プリチャージ期間（ｃｌｋ＝０）では、一対のＭＴＪ素子Ｍ１及びＭ２が相補状態にあるときも非相補状態にあるときも同様の動作をする（図８Ａ及び図８Ｂ参照）。
【００４９】
評価期間（ｃｌｋ＝１）において、ノードＡに蓄積された電荷がＮＭＯＳトランジスタ１１ａ、ＭＴＪ素子Ｍ１及びＮＭＯＳトランジスタ１３を経由してＧＮＤに流れ出すとともに、ノードＢに蓄積された電荷がＮＭＯＳトランジスタ１１ｃ、ＭＴＪ素子Ｍ２及びＮＭＯＳトランジスタ１３を経由してＧＮＤに流れ出す。このとき、一対のＭＴＪ素子Ｍ１及びＭ２は非相補状態にあるため、ノードＡに蓄積された電荷が流れ出す速度と、ノードＢに蓄積された電荷が流れ出す速度に差が生じないまま、ノードＡの電位とノードＢの電位は同時に下がり続ける。
【００５０】
ノードＡの電位とノードＢの電位が、インバータ３５及び３６の閾値電圧よりも下がると、ＮＭＯＳトランジスタ３３ｂ及び３４ｂがオンとなり（図９の（i））、プリチャージ期間に蓄積されていたノードＣの電荷とノードＤの電荷が放出され（図９の（ii））、ノードＣの電位とノードＤの電位が下がる。これにより、ＰＭＯＳトランジスタ３７及び３８がオンとなり、ＮＭＯＳトランジスタ３１及び３２はオフとなる（図９の（iii））。その結果、ＮＭＯＳトランジスタ３１及び３２は非導通状態となる一方、電源ＶＤＤからＰＭＯＳトランジスタ３７及び３８を経由して、それぞれ、ノードＡ及びＢがリチャージされる（図９の（iv））。これにより、不揮発性論理回路１０Ａはプリチャージ期間と同様の状態になり、ノードＡ及びＢはともにＨレベルとなり、出力信号ｏｕｔ１＝０及びｏｕｔ２＝０となる。このように、評価期間における出力信号により、ＭＴＪ素子Ｍ１及びＭ２が非相補状態にあると判別することができる。
【００５１】
従来の不揮発性論理回路は、判別回路３（特に、ＰＭＯＳトランジスタ３３ａと、ＮＭＯＳトランジスタ３３ｂと、ＰＭＯＳトランジスタ３４ａと、ＮＭＯＳトランジスタ３４ｂと、インバータ３５及び３６と、ＰＭＯＳトランジスタ３７及び３８）を有していない。このような従来の不揮発性論理回路では、一対のＭＴＪ素子Ｍ１及びＭ２が非相補状態にあるとき、評価期間（ｃｌｋ＝１）において、ノードＡに蓄積された電荷が流れ出す速度と、ノードＢに蓄積された電荷が流れ出す速度に差が生じないまま、ノードＡの電位とノードＢの電位が同時に下がり続け、回路動作が不安定となる。具体的には、素子ばらつき等の影響によって、２つのインバータによって構成されたＳＲＡＭ構造の何れかの安定点に遷移する。このように、従来の不揮発性論理回路では、非相補状態に対応する出力が保証されないため、非相補状態は使用することができず、突発的に非相補状態になってしまったとしても、その状態を判別することができなかった。
【００５２】
これに対し、本実施形態の不揮発性論理回路１０Ａでは、一対のＭＴＪ素子Ｍ１及びＭ２が非相補状態にあるとき、評価期間において、判別回路３によって、出力回路２のノードＡ及びＢの電位が閾値より下がったことを検知し、ノードＡ及びＢをリチャージさせることで更なる電荷の放出を食い止めている。これにより、非相補状態に対応する出力が保証されるとともに、非相補状態が判別可能となる。言うまでもなく、一対のＭＴＪ素子Ｍ１及びＭ２がともに高抵抗状態ＲＡＰにあるときも、同様に非相補状態が判別可能となる。
【００５３】
以上のように、本実施形態に係る不揮発性論理回路１０及び１０Ａによれば、相補状態をとる一対のＭＴＪ素子を用いて１ビット（２状態）を表現していた従来の回路構造に対し、従来使用していなかった非相補状態を検出する機構（判別回路３）を組み込むことで、回路規模を大きくすることなく機能の高度化が可能となる。また、相補状態だけでなく非相補状態も利用することで、ＭＴＪ素子の性質を最大限に活かした設計が可能となる。さらに、一対のＭＴＪ素子Ｍ１及びＭ２が非相補状態にあるときであっても、非相補状態に対応する出力が保証されるため、信頼性を高めることができる。
【実施例１】
【００５４】
次に、図１０〜図１３を参照して、本実施形態に係る不揮発性論理回路１０Ａ（図５〜図９参照）を３値化ニューラルネットワーク（ＴＮＮ）に適用した実施例１を説明する。【００５５】
図１０は、実施例１に係る演算装置１００Ａの構成を示すブロック図である。演算装置１００Ａは、図１０に示すように、複数の不揮発性論理回路１０Ａと、複数の不揮発性論理回路１０Ａの各々の出力端子に接続された加算器５０とを備える。実施例１において、各不揮発性論理回路１０Ａは、ＴＮＮの主要な構成要素であるTernary Computation Unit（ＴＣＵ）に対応する。【００５６】
実施例１では、一対のＭＴＪ素子Ｍ１及びＭ２の抵抗状態を、それぞれ、ｍ１及びｍ２と表記する。また、高抵抗状態ＲＡＰを“１”、低抵抗状態ＲＰを“０”と表記する。また、図１１に示すように、入力信号（ｉｎ１、ｉｎ２）が表す論理値をＩＮ、抵抗状態（ｍ１、ｍ２）が表す論理値をＭ、出力信号（ｏｕｔ１、ｏｕｔ２）が表す論理値をＯＵＴと表記する。また、図１２に示すように、３つの状態（０、１）、（０、０）及び（１、０）に対し、それぞれ、論理値“＋１”、“０”及び“−１”を割り当てる。【００５７】
図１３に、各不揮発性論理回路１０Ａによる演算機能の真理値表を示す。各不揮発性論理回路１０Ａにより、入力信号（ｉｎ１、ｉｎ２）に重みとして抵抗状態（ｍ１、ｍ２）を掛けて出力信号（ｏｕｔ１、ｏｕｔ２）が求められる。すなわち、乗算ＩＮ×Ｍ＝ＯＵＴが実行される。複数の不揮発性論理回路１０Ａの各々で求められた出力信号（ｏｕｔ１、ｏｕｔ２）は加算器５０で加算される。【００５８】
実施例１によれば、非相補状態（０、０）も情報表現の１つとして用いているため、ＴＮＮにおける３値表現（＋１、０、−１）による乗算を行う演算ブロックＴＣＵを２つのＭＴＪ素子Ｍ１及びＭ２を用いてコンパクトに構成することができる。これにより、ＡＩハードウェアのニーズに対するブレークスルーを回路・デバイス技術によって与えることができる。
【実施例２】
【００５９】
次に、図１４を参照して、本実施形態に係る不揮発性論理回路１０を誤り検出に適用した実施例２を説明する。【００６０】
図１４に、実施例２に係る誤り検出装置１００Ｂの構成を示す。誤り検出装置１００Ｂは、図１４に示すように、不揮発性論理回路１０ＢとＮＯＲゲート６０とを備える。不揮発性論理回路１０Ｂは、図４の不揮発性論理回路１０と同一の回路で構成されている。不揮発性論理回路１０Ｂの出力回路２の出力端子がＮＯＲゲート６０の入力端子に接続されている。【００６１】
不揮発性論理回路１０Ｂの一対のＭＴＪ素子Ｍ１及びＭ２が相補状態にあるとき、出力信号ｏｕｔ１及びｏｕｔ２も相補の値（（０、１）又は（１、０））となり、ＮＯＲゲート６０から論理値“０”が出力される。一方、一対のＭＴＪ素子Ｍ１及びＭ２が非相補状態にあるとき、評価期間において出力信号ｏｕｔ１及びｏｕｔ２も非相補の値（０、０）となり、ＮＯＲゲート６０から論理値“１”がエラー信号ＥＲＲとして出力される。【００６２】
実施例２によれば、書き込みエラー又はリードディスターブによって一対のＭＴＪ素子Ｍ１及びＭ２が非相補状態となっても、出力信号ｏｕｔ１及びｏｕｔ２がいずれも低電位となることが保証される。これにより、非特許文献２のようにリファレンス抵抗や比較回路を別途設ける必要がなく、評価期間において、出力信号ｏｕｔ１及びｏｕｔ２が相補出力になっているか否かをチェックするだけで、一対のＭＴＪ素子Ｍ１及びＭ２の状態に誤りが生じているか否かを検出することができる。【００６３】
なお、本発明は、上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において種々の変形が可能である。【００６４】
例えば、上述の実施形態では、演算部１１の例として、ＸＮＯＲ演算を行う演算部１１Ａを挙げたが、演算目的に応じて他の論理演算（ＡＮＤ、ＯＲなど）を行う回路構成を採用してもよい。【００６５】
また、記憶部１２が有する抵抗変化型記憶素子はＭＴＪ素子に限定されず、ＭＴＪ素子以外の抵抗変化型記憶素子を採用してもよい。
【符号の説明】
【００６６】
１    演算回路
２    出力回路
３    判別回路
１０、１０Ａ、１０Ｂ    不揮発性論理回路
１１、１１Ａ    演算部
１２    記憶部
１２ａ    フリー層
１２ｂ    バリア層
１２ｃ    固定層
１３、３１、３２、３３ｂ、３４ｂ    ＮＭＯＳトランジスタ
２１、２２、３３ａ、３４ａ、３７、３８    ＰＭＯＳトランジスタ
２３、２４、２５、２６    ＣＭＯＳインバータ
５０    加算器
６０    ＮＯＲゲート
１００Ａ    演算装置
１００Ｂ    誤り検出装置
Ａ、Ｂ、Ｃ、Ｄ    ノード
Ｍ１、Ｍ２    ＭＴＪ素子
【図１】
2020137341.tif 000003
【図２Ａ】
2020137341.tif 000004
【図２Ｂ】
2020137341.tif 000005
【図２Ｃ】
2020137341.tif 000006
【図３】
2020137341.tif 000007
【図４】
2020137341.tif 000008
【図５】
2020137341.tif 000009
【図６】
2020137341.tif 000010
【図７】
2020137341.tif 000011
【図８Ａ】
2020137341.tif 000012
【図８Ｂ】
2020137341.tif 000013
【図８Ｃ】
2020137341.tif 000014
【図８Ｄ】
2020137341.tif 000015
【図９】
2020137341.tif 000016
【図１０】
2020137341.tif 000017
【図１１】
2020137341.tif 000018
【図１２】
2020137341.tif 000019
【図１３】
2020137341.tif 000020
【図１４】
2020137341.tif 000021
【国際調査報告】
2020137341.tif 000022
2020137341.tif 000023
2020137341.tif 000024
2020137341.tif 000025
2020137341.tif 000026