(57)【要約】【課題】出力線に流れる電流の大きさを検出するプリチャージ方式であってもスニーク電流を十分に抑制することができる積和演算装置を提供する。【解決手段】  シナプス演算部には、シナプス結合荷重を記憶した複数のメモリセル１７が行列状に配列されている。各列のメモリセル１７には出力線ＭＡＬが接続され、各行のメモリセル１７には入力線ＤＬが接続されている。メモリセル１７は、出力線ＭＡＬは、プリチャージされ、シナプス結合荷重に応じたセル電流を各メモリセル１７が流すことで放電され電位が下がる。メモリセル１７は、メモリトランジスタＭＴとドレイン側トランジスタＤＴとソース側トランジスタＳＴとが直列に接続した記憶素子２１で構成され、入力線ＤＬと出力線ＭＡＬの間に接続されている。メモリトランジスタＭＴは、電荷蓄積層２４の電荷量でシナプス結合荷重を記憶する。【選択図】図２
2020021376.tif 000002
【特許請求の範囲】
【請求項１】
抵抗値が可変の抵抗変化素子を有し、行列状に配置された複数のメモリセルと、
各行に対応して設けられ行内の前記メモリセルが接続された複数の入力線と、
各列に対応して設けられ列内の前記メモリセルが接続され、前記複数の入力線の電位を同時に変化させたときに流れる電流の大きさが積和演算値としてそれぞれ検出される複数の出力線と、
前記メモリセルに設けられ、前記入力線と前記出力線との間に前記抵抗変化素子と直列に接続され、前記抵抗変化素子よりも前記入力線側に接続されたスイッチング素子と、
前記メモリセルに設けられ、前記スイッチング素子よりも前記出力線側で前記抵抗変化素子と直列に接続されたＭＯＳ型の第１トランジスタと
を備えることを特徴とする積和演算装置。
【請求項２】
各列に対応して複数設けられ、対応する列内の各前記メモリセルの前記第１トランジスタのゲート及び対応する列の前記出力線にそれぞれ接続される第１制御線を備えることを特徴とする請求項１に記載の積和演算装置。
【請求項３】
前記スイッチング素子は、ＭＯＳ型の第２トランジスタであることを特徴とする請求項１または２に記載の積和演算装置。
【請求項４】
各列に対応して複数設けられ、対応する列内の各前記メモリセルの前記第２トランジスタのゲートにそれぞれ接続され、前記第２トランジスタのゲートに動作電位を与える第２制御線を備えることを特徴とする請求項３に記載の積和演算装置。
【請求項５】
複数の前記第２制御線のうち積和演算値を検出しない前記出力線の列に対応した前記第２制御線は、当該第２制御線に接続された前記第２トランジスタのゲートに前記動作電位を与えないように制御されることを特徴とする請求項４に記載の積和演算装置。
【請求項６】
前記第１トランジスタは、前記抵抗変化素子よりも前記出力線側に接続されていることを特徴とする請求項１ないし５のいずれか１項に記載の積和演算装置。
【請求項７】
前記抵抗変化素子は、メモリゲート電極及び電荷蓄積層を含むメモリトランジスタであることを特徴とする請求項１ないし６のいずれか１項に記載の積和演算装置。
【請求項８】
前記メモリセルは、
Ｐウェルの表面に形成されたドレイン及びソースと、
電荷蓄積層及びメモリゲート電極を含み、前記ドレインと前記ソースとの間の前記Ｐウェルの表面に配置されて前記電荷蓄積層への電荷の蓄積量に応じて閾値電圧を変化させる前記抵抗変化素子を形成するメモリゲート構造体と、
前記メモリゲート構造体と前記ソースとの間の前記Ｐウェルの表面に配置されて前記第１トランジスタを形成する第１ゲート構造体と、
前記メモリゲート構造体と前記ドレインとの間の前記Ｐウェルの表面に配置されて前記第２トランジスタを形成する第２ゲート構造体と
から構成されることを特徴とする請求項３ないし５のいずれか１項に記載の積和演算装置。
【請求項９】
前記電荷蓄積層は、窒化シリコン（Ｓｉ３Ｎ４）膜、酸窒化シリコン（ＳｉＯＮ）膜、アルミナ（Ａｌ２Ｏ３）膜のいずれかであり、
前記メモリゲート構造体は、Ｐウェル側からシリコン酸化膜、前記電荷蓄積層、シリコン酸化膜、メモリゲート電極を積層した構造であることを特徴とする請求項８に記載の積和演算装置。
【請求項１０】
前記出力線を所定電位にまでプリチャージし、前記複数の入力線の電位を同時に変化させた後の前記出力線の電位を検出する読出部を備えることを特徴とする請求項１ないし９のいずれか１項に記載の積和演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、積和演算装置に関する。
【背景技術】
【０００２】
近年、脳の情報処理様式を模したニューラルネットワークが研究されており、種々のモデルが提案されている。ニューラルネットワークを構成するニューロンの一般的なモデルとして、他の複数のニューロンからの入力値に、対応するシナプス結合荷重でそれぞれ重み付けしたものの和を次段のニューロンの入力とするものがある。このようなモデルに基づくニューラルネットワーク装置では、シナプス結合荷重を記憶素子に記憶するとともに、他のニューロンからの各入力値と対応するシナプス結合荷重との積和演算を行う。
【０００３】
クロスポイント型メモリアレイと類似の構造を有し、上記のような積和演算を行う積和演算装置が知られている。この積和演算装置は、複数の入力線とこれらに交差する複数の出力線との各交点にメモリセルがそれぞれ配置され、その交点の入力線と出力線との間にメモリセルが接続されている。メモリセルは、シナプス結合荷重に対応する抵抗に設定されるＲｅＲＡＭ（resistive random access memory）等の抵抗変化素子と、スニーク電流を抑制するダイオードとを直列に接続した構成である。他の複数のニューロンからの入力値に相当する各複数の入力線の電位が変化されることで、各出力線に積和演算結果に対応した大きさの電流が流れる。このような構成によれば、演算の高速化と低電力化が期待できる。
【０００４】
また、メモリセルをメモリスタとスニーク電流を抑制するＭＯＳトランジスタとを直列に接続した１Ｔ１Ｒ構成とした積和演算装置も知られている（非特許文献１を参照）。この非特許文献１に記載された積和演算装置では、各ＭＯＳトランジスタのゲートに所定の電圧を印加した状態で、各入力線に電圧パルスを加えることによって各出力線から積和演算結果に対応した大きさの電流を取り出している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Can Li et al, "In-Memory Computing with Memristor Arrays", 2018 IEEE International Memory Workshop (IMW) p.161-164
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記のような積和演算装置において、入力が与えられていないメモリセルに流れるスニーク電流は、積和演算の結果のノイズとなり、演算結果を破壊する原因となる。ニューラルネットワークでは、メモリセル数がかなり多くなるため、１個のメモリセルに流れるスニーク電流が僅かであっても、全体として大きなスニーク電流が流れる場合がある。このため、個々のメモリセルにおいてスニーク電流を十分に抑制することは正確な積和演算を行う上で重要である。
【０００７】
一方、上記のような積和演算装置の出力線に流れる電流の大きさを検出する方式としては、プリチャージ方式が消費電力の低減の観点から有利である。プリチャージ方式は、予め出力線の容量を所定の電位にまでチャージしておき、積和演算時にはメモリセルを介して出力線を放電し、そのときの出力線の電位を積和演算の結果として取得する。しかしながら、非特許文献１のようなメモリセルの構成にプリチャージ方式を組み合わせた場合には、スニーク電流を抑制できない。これは、積和演算時に出力線の電位が低下することにともなって、入力が与えられていないメモリセルにおいてＭＯＳトランジスタがオン状態になってスニーク電流が流れるためである。
【０００８】
ダイオードでスニーク電流を抑制する場合では、プリチャージ方式を採用しても、ＭＯＳトランジスタのような不具合は生じない。しかしながら、ダイオードでスニーク電流を十分に抑制しようとすると、すなわちダイオードのオン／オフ性能を高くする必要が有り、個々のダイオードが大きくなり集積度の低下を招く。このようなダイオードを用いた場合の集積度の低下は、各種方式のダイオードを使用しても同じであり、実際的にはダイオードを用いてスニーク電流を十分に抑制することは難しい。
【０００９】
本発明は、上記事情を鑑みてなされたものであり、出力線に流れる電流の大きさを検出するプリチャージ方式であってもスニーク電流を十分に抑制することができる積和演算装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の積和演算装置は、抵抗値が可変の抵抗変化素子を有し、行列状に配置された複数のメモリセルと、各行に対応して設けられ行内の前記メモリセルが接続された複数の入力線と、各列に対応して設けられ列内の前記メモリセルが接続され、前記複数の入力線の電位を同時に変化させたときに流れる電流の大きさが積和演算値としてそれぞれ検出される複数の出力線と、前記メモリセルに設けられ、前記入力線と前記出力線との間に前記抵抗変化素子と直列に接続され、前記抵抗変化素子よりも前記入力線側に接続されたスイッチング素子と、前記メモリセルに設けられ、前記スイッチング素子よりも前記出力線側で前記抵抗変化素子と直列に接続されたＭＯＳ型の第１トランジスタとを備えるものである。
【発明の効果】
【００１１】
本発明によれば、抵抗変化素子と、スイッチング素子と、このスイッチング素子よりも出力線側で接続されたＭＯＳ型の第１トランジスタとを直列に接続した構成としたので、出力線の電位が低下する場合でもスニーク電流を十分に抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】ニューラルネットワーク装置の概略を示すブロック図である。
【図２】メモリセルの構成を示す回路図である。
【図３】記憶素子の構成を示す断面図である。
【図４】読出部の構成を示す回路図である。
【図５】出力線の電位の低下速度が大きい場合の読出部の各部の電位変化を示すタイミングチャートである。
【図６】出力線の電位の低下速度が小さい場合の読出部の各部の電位変化を示すタイミングチャートである。
【図７】３個の独立したトランジスタで構成されるメモリセルの例を示す回路図である。
【図８】トランジスタの接続の順番が異なるメモリセルの例を示す回路図である。
【図９】第２トランジスタをダイオードとした例を示す回路図である。
【図１０】抵抗変化素子をＲｅＲＡＭとした例を示す回路図である。
【発明を実施するための形態】
【００１３】
図１において、ニューラルネットワーク装置ＮＳは、ユニット１０と、このユニット１０の次段となるユニット１０Ａを備えている。ユニット１０は、入力部１１、シナプス演算部１２、ニューロン部１４、書込部１５等を備えている。ユニット１０Ａについても同様の構成である。また、ニューラルネットワーク装置ＮＳは、ユニット１０、１０Ａの各部を統括的に制御する制御部（図示せず）を備えている。ニューラルネットワーク装置ＮＳは、複数の入力値を、各入力値のそれぞれに対応するシナプス結合荷重で重み付けした各値の総和すなわち積和演算値をシナプス演算部１２で求め、その積和演算値をニューロン部１４で取得する。
【００１４】
ユニット１０のニューロン部１４が取得した積和演算値は、次段のユニット１０Ａの入力部１１Ａに出力される。この例のニューロン部１４は、積和演算値を二値化してユニット１０Ａの入力部１１Ａに出力する。なお、この例のニューラルネットワーク装置ＮＳは、ユニットを２段に連結した構成であるが、３段以上に連結してもよい。また、ユニットを１段のみで構成してもよい。
【００１５】
この例のシナプス演算部１２には、複数のメモリセル１７がｍ行×ｎ列（例えば１０２４行×１０２４列）の行列状に配列されている。各々の列のｍ個のメモリセル１７にｍ個の入力値に対応したシナプス結合荷重がそれぞれ記憶されている。シナプス演算部１２は、列ごとに積和演算値を出力する積和演算装置として機能する。したがって、この例では、シナプス演算部１２は、ｍ個からなる１組の入力値に対して、ｎ個の積和演算値を出力する。
【００１６】
シナプス演算部１２には、各行に対応して入力線ＤＬ１、ＤＬ２、・・・ＤＬｍが設けられている。また、各列に対応して、メモリゲート線ＭＧＬ１、ＭＧＬ２、・・・ＭＧＬｎ、ドレイン側ゲート線ＤＧＬ１、ＤＧＬ２、・・・ＤＧＬｎ、ソース側ゲート線ＳＧＬ１、ＳＧＬ２、・・・ＳＧＬｎ、出力線ＭＡＬ１、ＭＡＬ２、・・・ＭＡＬｎがそれぞれ設けられている。
【００１７】
なお、以下の説明では、入力線ＤＬ１、ＤＬ２、・・・ＤＬｍを特に区別しない場合には、入力線ＤＬと総称して説明する。同様に、メモリゲート線ＭＧＬ１、ＭＧＬ２、・・・ＭＧＬｎ、ドレイン側ゲート線ＤＧＬ１、ＤＧＬ２、・・・ＤＧＬｎ、ソース側ゲート線ＳＧＬ１、ＳＧＬ２、・・・ＳＧＬｎ、出力線ＭＡＬ１、ＭＡＬ２、・・・ＭＡＬｎを特に区別しない場合には、それぞれＭＧＬ、ＤＧＬ、ＳＧＬ、ＭＡＬとそれぞれ総称して説明する。なお、この例では、ソース側ゲート線ＳＧＬが第１制御線であり、ドレイン側ゲート線ＤＧＬが第２制御線である。
【００１８】
入力線ＤＬは、それぞれ行方向に延設されており、対応する行の各メモリセル１７に接続されている。また、メモリゲート線ＭＧＬ、ドレイン側ゲート線ＤＧＬ、ソース側ゲート線ＳＧＬ、出力線ＭＡＬは、それぞれ列方向に延設されており、対応する列の各メモリセル１７に接続されている。このようにシナプス演算部１２では、複数の入力線ＤＬと複数の出力線ＭＡＬとが交差した状態に設けられ、入力線ＤＬと出力線ＭＡＬの各交差ポイントにメモリセル１７がそれぞれ設けられており、クロスポイント型メモリセルアレイと類似の構造を有している。
【００１９】
入力部１１は、入力値としての入力信号を入力線ＤＬに出力し、入力線ＤＬを介してメモリセル１７に入力信号を入力する。１組の入力値に対応するｍ個の入力信号は、入力部１１から同時に各入力線ＤＬに出力される。入力信号は、例えば画像処理等の情報処理に基づいて生成される。
【００２０】
入力信号は、入力値に応じたパルス幅で入力線ＤＬの電位がパルス状に変化するパルス信号である。この例では、入力値を二値（「１」と「０」）としており、入力部１１は、入力値が「１」のときには所定のパルス幅で入力線ＤＬの電位を変化させ、入力値が「０」のときにはパルス幅を「０」として入力線ＤＬの電位を変化させない。入力線ＤＬの電位は、通常は電源電位ＶＤＤとされ、入力値が「１」に対応して、基準電位ＶＳＳ（＝０Ｖ）と電源電位ＶＤＤとの間の電位Ｖ１にされる。なお、この例における電源電位ＶＤＤは、１．０Ｖ、電位Ｖ１は０．４Ｖである。
【００２１】
なお、上記のように、この例では入力値を二値としているが、入力値をアナログ値ないし多値にすることもできる。この場合には、アナログ値ないし多値の入力値の大小に応じたパルス幅で入力線ＤＬの電位をパルス状に変化すればよい。入力値に応じてパルス幅を変化させる代わりに、一定パルス幅のパルス信号の個数を変化させてもよい。
【００２２】
メモリセル１７は、シナプス結合荷重を不揮発的に記憶する。後述するように、メモリセル１７は、電気的な抵抗値が可変の抵抗変化素子としての記憶素子２１（図２参照）を備えている。この記憶素子２１は、シナプス結合荷重の大きさに応じた電気的な抵抗を示すようにシナプス結合荷重を記憶する。シナプス結合荷重が大きいほど、記憶素子２１の抵抗が小さくされる。記憶素子２１は、入力線ＤＬの電位変化に応答して、出力線ＭＡＬから入力線ＤＬに向けてメモリセル１７に流れる電流（以下、セル電流という）をその抵抗で制限する。したがって、シナプス結合荷重が大きいほど大きなセル電流が流れる。１個のメモリセル１７に流れるセル電流の大きさ、またはそのセル電流によって一定の時間内に流れた電荷の量が入力値にシナプス結合荷重を乗じた結果に相当する。なお、前述のように、入力線ＤＬの電位をアナログ値ないし多値の入力値に応じたパルス幅のパルス信号とする場合には、そのパルス信号でセル電流によって流れた電荷の量が入力値にシナプス結合荷重を乗じた結果に相当する。
【００２３】
この例では、シナプス結合荷重として大きさの異なる荷重値Ｗ０〜荷重値Ｗ４のいずれかをメモリセル１７に記憶させている。荷重値Ｗ０、Ｗ１、Ｗ２、Ｗ３、Ｗ４は、この順番で値が大きくなる。荷重値Ｗ０は値が「０」であり、この荷重値Ｗ０のシナプス結合荷重を記憶したメモリセル１７は、記憶素子２１が非常に高い抵抗を示し、セル電流をほぼ流さない。具体的には、荷重値Ｗ０のメモリセル１７のセル電流は、例えば１０ｐＡ程度である。また、この例における荷重値Ｗ１、Ｗ２、Ｗ３、Ｗ４に対応するセル電流は、概ね０．２５μＡ、０．５μＡ、０．７５μＡ、１．０μＡである。なお、この例では、シナプス結合荷重は、５値であるが２〜４値、あるいは６値以上にしてもよい。
【００２４】
出力線ＭＡＬには、それに接続された各メモリセル１７のセル電流の総和が流れる。すなわち、１列の各メモリセル１７に入力信号として入力される各入力値と、それらの各メモリセル１７のシナプス結合荷重との積和演算値としての電流が流れる。この例では、後述するように、読出部１８によって、出力線ＭＡＬの容量に予め所定の電位までプリチャージ（充電）をしておき、その後にメモリセル１７に入力信号が入力された際に生じる出力線ＭＡＬの電位の低下を検出するプリチャージ方式を採用している。したがって、積和演算値として、出力線ＭＡＬの電位低下の大きさを取得する構成である。
【００２５】
シナプス演算部１２の列ごとに書込部１５と読出部１８とが設けられている。読出部１８は、ニューロン部１４内に設けられている。書込部１５及び読出部１８には、それぞれ対応する列のメモリゲート線ＭＧＬ、ドレイン側ゲート線ＤＧＬ、ソース側ゲート線ＳＧＬ、出力線ＭＡＬが接続されている。
【００２６】
ニューラルネットワーク装置ＮＳには、各メモリセル１７にシナプス結合荷重を記憶させるプログラムモードと、上述のシナプス演算部１２で積和演算を行う演算モードとがある。プログラムモードでは、書込部１５と入力部１１とによって、メモリセル１７にシナプス結合荷重を記憶する。プログラムモードでは、書込部１５は、メモリゲート線ＭＧＬ、ドレイン側ゲート線ＤＧＬ、ソース側ゲート線ＳＧＬ、出力線ＭＡＬの電位を制御し、入力部１１は、入力線ＤＬの電位を制御する。シナプス結合荷重は、例えば外部のコンピュータ等で計算されたものが用いられる。
【００２７】
読出部１８は、演算モードの際に、積和演算値を出力線ＭＡＬの電位変化として検出し、検出した積和演算値に応じた二値信号を出力する。演算モードでは、待機期間、待機期間に続く演算期間、演算期間に続くセンス期間があり、センス期間後には再び待機期間になる。読出部１８は、メモリセル１７に入力信号が入力される前の待機期間中に出力線ＭＡＬをプリチャージする。また、読出部１８は、演算期間中にメモリセル１７に入力信号が入力されているメモリセル１７がセル電流を流して出力線ＭＡＬを放電してその電位を低下させ、その後のセンス期間で出力線ＭＡＬの電位を検出する。
【００２８】
図２において、メモリセル１７に設けられた記憶素子２１は、ドレイン側ＭＯＳトランジスタ（以下、ドレイン側トランジスタと称する）ＤＴと、メモリＭＯＳトランジスタ (以下、メモリトランジスタと称する)ＭＴと、ソース側ＭＯＳトランジスタ（以下、ソース側トランジスタと称する）ＳＴとを直列に接続した一体構造を有するものである。演算モードでは、値「１」の入力値が入力されるメモリセル１７では、出力線ＭＡＬからソース側トランジスタＳＴ、メモリトランジスタＭＴ、ドレイン側トランジスタＤＴを経て入力線ＤＬに向ってセル電流が流れる。
【００２９】
この記憶素子２１は、メモリトランジスタＭＴのメモリゲート電極ＭＧがメモリゲート線ＭＧＬに、ドレイン側トランジスタＤＴのドレイン側ゲート電極ＤＧがドレイン側ゲート線ＤＧＬに、ソース側トランジスタＳＴのソース側ゲート電極ＳＧがソース側ゲート線ＳＧＬにそれぞれ接続されている。また、記憶素子２１のドレイン２５が入力線ＤＬに、ソース２６が出力線ＭＡＬにそれぞれ接続されている。なお、この例では、ソース側トランジスタＳＴが第１トランジスタであり、ドレイン側トランジスタＤＴがスイッチング素子であるとともに第２トランジスタである。
【００３０】
メモリトランジスタＭＴは、電荷蓄積層２４を有している。このメモリトランジスタＭＴの電荷蓄積層２４には、プログラムモードで電荷が蓄積される。メモリトランジスタＭＴは、電荷蓄積層２４への電荷の蓄積量を増減することによって、閾値電圧が変化してメモリゲート電極ＭＧに一定の電位を与えたときのメモリトランジスタＭＴに流れる電流が増減する。これにより、メモリトランジスタＭＴがシナプス結合荷重となる抵抗として機能する。演算モードでは、メモリゲート電極ＭＧには、メモリゲート線ＭＧＬを介して電位Ｖ２が与えられる。この例では、電位Ｖ２は、０．４Ｖである。
【００３１】
上記演算期間は、その期間内において、直列に接続したドレイン側トランジスタＤＴとソース側トランジスタＳＴとの合成ＭＯＳトランジスタが飽和領域で作動するように、その期間長が決められている。すなわち、演算期間内においては、合成ＭＯＳトランジスタのドレイン電位（ソース２６の電位）と入力線ＤＬの電位との差（通常のＭＯＳＦＥＴでのソースドレイン間電圧に相当）が、「入力線ＤＬとドレイン側ゲート電極ＤＧとの電位差（通常のＭＯＳＦＥＴでのゲートソース間電圧に相当）−ドレイン側トランジスタＤＴの閾値」よりも通常では大きくなるようにされている。
【００３２】
シナプス演算部１２の動作は、出力線ＭＡＬの電位が参照電位Ｖｒｅｆの近傍で動作する通常の場合と、出力線ＭＡＬの電位が参照電位Ｖｒｅｆより大きく下がる場合とが有る。出力線ＭＡＬの電位が参照電位Ｖｒｅｆより大きく下がる場合とは、入力に大きな偏りが有り、そして１列分の多くのメモリセル１７が大きなシナプス結合荷重に対応した大きなセル電流を同時に流したような場合であって、出力線ＭＡＬの電位が急速に低下する。この場合は、演算期間内で合成ＭＯＳトランジスタが非飽和領域に移行するが、このようなときには非飽和領域に移行した時点で出力線ＭＡＬの電位が後述する参照電位Ｖｒｅｆよりも十分に低下しており、合成ＭＯＳトランジスタが非飽和領域に移行して電流が変化しても積和演算値の二値化後の結果には影響がない。
【００３３】
通常の場合では、ドレイン側トランジスタＤＴとソース側トランジスタＳＴの合成ＭＯＳトランジスタは、演算期間中に飽和領域で作動することによって、セル電流の安定化すなわち出力線ＭＡＬの電位変化によらずシナプス結合荷重に応じた一定の大きさにセル電流を維持する。合成ＭＯＳトランジスタは、この例では、１．０Ｖ〜０．８Ｖにおいて飽和領域で作動しセル電流を安定化する。この合成ＭＯＳトランジスタは、演算モードでは、ドレイン側ゲート線ＤＧＬを介してドレイン側ゲート電極ＤＧが動作電位である電源電位ＶＤＤにされる。また、一方向に電流を流す半導体素子として、合成ＭＯＳトランジスタのようにＭＯＳ型のトランジスタを用いる構成は、入力線ＤＬに流れるドレイン側トランジスタＤＴのオン電流とオフ電流のオンオフ比が大きくなるので、多数のメモリセル１７を設けることができる。
【００３４】
ソース側トランジスタＳＴは、先に述べたように出力線ＭＡＬの電位が参照電位Ｖｒｅｆより大きく下がる場合、演算期間中の出力線ＭＡＬの電位の低下に起因したスニーク電流を防止する。演算モードでは、ソース側ゲート電極ＳＧが接続されたソース側ゲート線ＳＧＬと、ソース２６が接続された出力線ＭＡＬとが接続されることによって、ソース側トランジスタＳＴがダイオード接続される。これにより、入力線ＤＬから入力値「０」が入力されるメモリセル１７において、出力線ＭＡＬの電位が当該入力線ＤＬの電位、すなわち電源電位ＶＤＤよりも低くなったときにもセル電流と反対向きのスニーク電流が流れないようにする。この例における合成ＭＯＳトランジスタの閾値電圧はドレイン側トランジスタＤＴと同じであり０．４Ｖ、ソース側トランジスタＳＴの閾値電圧は０．２Ｖである。
【００３５】
なお、記憶素子２１のドレイン２５及びソース２６は、これらに特に区別があるわけではなく、相互に互換的なものである。また、メモリセル１７は、メモリトランジスタＭＴ、ドレイン側トランジスタＤＴ及びソース側トランジスタＳＴが別々に形成されて直列接続された構成であってもよい。
【００３６】
図３に断面構成を示すように、記憶素子２１は、半導体基板３０に形成されたＰウェルＰＷ上に形成されている。それぞれＮ型ＭＯＳＦＥＴであるメモリトランジスタＭＴと、ドレイン側トランジスタＤＴ、ソース側トランジスタＳＴとがＰウェルＰＷ上に設けられている。
【００３７】
記憶素子２１のドレイン２５とソース２６とは、ＰウェルＰＷの表面に、いずれもｎ型半導体領域として所定の間隔をあけて形成されている。ＰウェルＰＷ上には、ドレイン２５とソース２６との間にメモリゲート構造体３３が配置され、このメモリゲート構造体３３とドレイン２５との間にドレイン側ゲート構造体３４が、メモリゲート構造体３３とソース２６との間にソース側ゲート構造体３５がそれぞれ配置されている。メモリゲート構造体３３とドレイン側ゲート構造体３４との間及びメモリゲート構造体３３とソース側ゲート構造体３５との間には、絶縁材で形成された側壁スペーサ３６がそれぞれ配置されている。
【００３８】
メモリゲート構造体３３は、メモリトランジスタＭＴを構成する。また、ドレイン側ゲート構造体３４は、ドレイン側トランジスタＤＴを構成し、ソース側ゲート構造体３５は、ソース側トランジスタＳＴを構成する。なお、ソース側ゲート構造体３５が第１ゲート構造体であり、ドレイン側ゲート構造体３４が第２ゲート構造体である。
【００３９】
メモリゲート構造体３３は、ＰウェルＰＷ側から順番に、下部メモリゲート絶縁膜３３ａ、電荷蓄積層２４、上部メモリゲート絶縁膜３３ｂ及びメモリゲート電極ＭＧが積層されている。電荷蓄積層２４は、例えば窒化シリコン（Ｓｉ３Ｎ４）や、酸窒化シリコン（ＳｉＯＮ）、アルミナ（Ａｌ２Ｏ３）等で形成されている。
【００４０】
ドレイン側ゲート構造体３４は、ＰウェルＰＷ側から順番にドレイン側ゲート絶縁膜３４ａとドレイン側ゲート電極ＤＧとが積層されている。ソース側ゲート構造体３５は、ＰウェルＰＷ側から順番に、ソース側ゲート絶縁膜３５ａとソース側ゲート電極ＳＧとが積層されている。メモリゲート電極ＭＧ、ドレイン側ゲート電極ＤＧ及びソース側ゲート電極ＳＧは、それぞれ列方向に延伸しており、それら自体がメモリゲート線ＭＧＬ、ドレイン側ゲート線ＤＧＬ、ソース側ゲート線ＳＧＬになっている。ＰウェルＰＷは、この例では、プログラムモードでは基準電位ＶＳＳとし、演算モードでは０．４Ｖにする。
【００４１】
なお、ドレイン２５は、記憶素子２１のドレインであると同時にドレイン側トランジスタＤＴのドレインであり、ソース２６は、記憶素子２１のソースであると同時にソース側トランジスタＳＴのソースでもある。また、ドレイン側トランジスタＤＴとメモリトランジスタＭＴとの間、ソース側トランジスタＳＴとメモリトランジスタＭＴとの間のＰウェルＰＷの各部分には、各トランジスタＤＴ、ＭＴ、ＳＴのソースないしドレインとなる領域は形成されていない。
【００４２】
上記のメモリトランジスタＭＴは、メモリゲート構造体３３が半導体基板３０側からシリコン酸化膜（下部メモリゲート絶縁膜３３ａ）、シリコン窒化膜等からなる電荷蓄積層２４、シリコン酸化膜等のブロック絶縁膜（上部メモリゲート絶縁膜３３ｂ）、メモリゲート電極ＭＧを積層した構造のいわゆるＭＯＮＯＳ（Metal-Oxide-Nitride- Oxide-Silicon）型であることが好ましい。ＭＯＮＯＳ型は、メモリトランジスタ間の閾値電圧の差を容易に小さくでき、また電荷蓄積層２４の電荷量に応じた閾値電圧の再現性を容易に確保できるため好ましい構造である。ＭＯＮＯＳ型は、ゲート電極を高濃度ドープしたポリシリコンで形成したＳＯＮＯＳ（Silicon-Oxide-Nitride- Oxide-Silicon）型を含み、ＳＯＮＯＳ型であることがより好ましい。これは、電荷蓄積層２４にシリコン窒化膜等を用いた場合、その電荷蓄積層２４に電荷を離散的に蓄積でき、トンネル絶縁膜に局所的な欠陥があったとしても空間的に均一に電荷を蓄積できるためである。この性質により同じ条件で電荷蓄積層に電荷を蓄積させた際のメモリトランジスタ間の閾値電圧の差が小さく、それらの再現性も安定しているため、シナプス結合荷重を正確に記憶できる。
【００４３】
図４に一例を示すように、読出部１８は、スイッチ素子４１〜４３、プリチャージ用のトランジスタ４４、第１センスアンプ部ＳＡ１、第２センスアンプ部ＳＡ２等で構成されている。この読出部１８は、制御部から供給されるクロック信号／ＣＫ１、ＣＫ２、／ＣＫ３、ＣＫ４によって動作が制御される。
【００４４】
スイッチ素子４１〜４３は、ＭＯＳＦＥＴ等で構成されており、制御部により制御される。スイッチ素子４１〜４３は、演算モード時にオンにされる。スイッチ素子４１のオンにより、メモリゲート線ＭＧＬを電位Ｖ２にする。スイッチ素子４２のオンにより、ドレイン側ゲート線ＤＧＬを電源電位ＶＤＤにする。スイッチ素子４３は、出力線ＭＡＬとソース側ゲート線ＳＧＬとの間に接続されている。スイッチ素子４３がオンになることにより、ソース側ゲート線ＳＧＬと出力線ＭＡＬとが電気的に接続される。なお、スイッチ素子４１〜４３は、オフのときにソース側ゲート線ＳＧＬ、ドレイン側ゲート線ＤＧＬ、メモリゲート線ＭＧＬをグランドした状態あるいはフローティング状態にする。
【００４５】
スイッチ素子４２は、列ごとにオン／オフ制御できるようにすることが好ましい。すなわち、ドレイン側ゲート線ＤＧＬの電位を独立に制御することで、列ごとにドレイン側トランジスタＤＴのオン、オフを制御可能にすることが好ましい。このようにすることで、シナプス演算部１２のうちで、例えば、特定の列だけ、奇数列だけ、偶数列だけ等のように積和演算を行う列だけの有効化が可能になり、積和演算を実施しないメモリセル１７にセル電流が流れることを抑止して省電力化を図ることができる。
【００４６】
Ｐ型ＭＯＳＦＥＴからなるトランジスタ４４は、ソースが電源電位ＶＤＤとされ、ドレインが出力線ＭＡＬに接続されている。このトランジスタ４４は、ゲートにクロック信号ＣＫ４が入力される。クロック信号ＣＫ４は、待機期間ではＬ（Ｌｏｗ）レベル（＝０Ｖ）にされ、それ以外の期間ではＨ（Ｈｉｇｈ）レベル（＝１．０Ｖ）にされる。これにより、トランジスタ４４は、待機期間にオンして出力線ＭＡＬを電源電位ＶＤＤまでプリチャージする。この待機期間では、スイッチ素子４３がオンになっているため、トランジスタ４４のオンにより出力線ＭＡＬに接続されたソース側ゲート線ＳＧＬも電源電位ＶＤＤまでプリチャージされる。
【００４７】
第１センスアンプ部ＳＡ１は、非ラッチ形差動電流アンプである。この第１センスアンプ部ＳＡ１は、トランジスタ４７ａ、４８ａ、出力線ＭＡＬの電位に対応した入力トランジスタ４７ｂと、参照電位Ｖｒｅｆに対応した入力トランジスタ４８ｂと、駆動制御回路４９とを備えている。トランジスタ４７ａ、４８ａは、Ｐ型ＭＯＳＦＥＴであり、入力トランジスタ４７ｂ、４８ｂは、Ｎ型ＭＯＳＦＥＴである。
【００４８】
第１センスアンプ部ＳＡ１は、トランジスタ４７ａ、４８ａの各ゲートにクロック信号／ＣＫ１が入力される。クロック信号／ＣＫ１は、第１センスアンプ部ＳＡ１を動作させない演算期間では、Ｌレベルとされ、第１センスアンプ部ＳＡ１を電源電位ＶＤＤにプリチャージする。また、クロック信号／ＣＫ１は、第１センスアンプ部ＳＡ１を動作させるセンス期間では、Ｈレベルにされ第１センスアンプ部ＳＡ１のプリチャージを停止する。
【００４９】
第１センスアンプ部ＳＡ１のアンプ本体となる入力トランジスタ４７ｂのゲートに出力線ＭＡＬが接続され、入力トランジスタ４８ｂのゲートには参照電位Ｖｒｅｆが入力される。これらの入力トランジスタ４７ｂ、４８ｂは、出力線ＭＡＬの電位と、参照電位Ｖｒｅｆを比較し差動増幅する。参照電位Ｖｒｅｆは、積和演算値を二値化する際の閾値であり、この例では０．９Ｖに設定されている。
【００５０】
駆動制御回路４９は、Ｐ型ＭＯＳＦＥＴであるトランジスタ４９ａとＮ型ＭＯＳＦＥＴであるトランジスタ４９ｂとで構成される。駆動制御回路４９では、トランジスタ４９ａ、４９ｂのドレイン同士が接続され、インバータ論理を構成している。トランジスタ４９ａ、４９ｂのゲートには、それぞれクロック信号ＣＫ２が入力される。クロック信号ＣＫ２は、センス期間の前半の短期間のみＨレベルとされて第１センスアンプ部ＳＡ１を駆動し、それ以外の期間ではＬレベルとされる。
【００５１】
駆動制御回路４９は、センス期間の前半期間以外ではクロック信号ＣＫ２がＬレベルとされることによって、入力トランジスタ４７ｂ、４８ｂの各共通ソースを電源電位ＶＤＤにバイアスする。また、駆動制御回路４９は、センス期間の前半の短期間のみ、クロック信号ＣＫ２がＨレベルにされることによって、入力トランジスタ４７ｂ、４８ｂの各共通ソースを基準電位ＶＳＳ側に引き下げる。入力トランジスタ４７ｂは、出力線ＭＡＬの電位と共通ソースとの電位差でオンし、入力トランジスタ４８ｂは参照電位Ｖｒｅｆと共通ソースとの電位差でオンする。入力トランジスタ４７ｂ、４８ｂは、差動回路として動作し、接続点Ｓ１ｎ，Ｓ１ｐに増幅された振幅を出力する。
【００５２】
第２センスアンプ部ＳＡ２は、Ｐ型ＭＯＳＦＥＴであるトランジスタ５１ａ、５１ｂを介して第１センスアンプ部ＳＡ１に接続されている。トランジスタ５１ａ、５１ｂは、クロック信号／ＣＫ３でオン／オフが制御され、第２センスアンプ部ＳＡ２の作動開始と同時に、第１センスアンプ部ＳＡ１と第２センスアンプ部ＳＡ２との接続を切断する。
【００５３】
第２センスアンプ部ＳＡ２は、ラッチ型センスアンプであり、クロスカップルされたインバータ５２、５３からなるクロスカップルドラッチと、このクロスカップルドラッチの動作を制御する駆動制御回路５４とで構成される。
【００５４】
インバータ５２は、Ｐ型ＭＯＳＦＥＴであるトランジスタ５２ａとＮ型ＭＯＳＦＥＴであるトランジスタ５２ｂとで構成される。トランジスタ５２ａ、５２ｂは、ドレイン同士が接続され、トランジスタ５２ａのソースが電源電位ＶＤＤにされている。インバータ５３は、インバータ５２と同様に接続されたＰ型ＭＯＳＦＥＴであるトランジスタ５３ａとＮ型ＭＯＳＦＥＴであるトランジスタ５３ｂとで構成される。トランジスタ５２ｂ、５３ｂは共通ソース結線されており、共通ソースは駆動制御回路５４に接続されている。
【００５５】
インバータ５２の入力であって互いに接続されたトランジスタ５２ａ、５２ｂのゲートは、インバータ５３の出力であるトランジスタ５３ａ、５３ｂのドレイン同士が接続された接続点Ｓ２ｐに接続されている。また、インバータ５３の入力であって互いに接続されたトランジスタ５３ａ、５３ｂのゲートは、インバータ５２の出力であるトランジスタ５２ａ、５２ｂのドレイン同士が接続された接続点Ｓ２ｎに接続されている。接続点Ｓ２ｎは、トランジスタ５１ａを介して接続点Ｓ１ｎに接続され、接続点Ｓ２ｐは、トランジスタ５１ｂを介して接続点Ｓ１ｐに接続されている。
【００５６】
駆動制御回路５４は、Ｐ型ＭＯＳＦＥＴであるトランジスタ５４ａとＮ型ＭＯＳＦＥＴであるトランジスタ５４ｂとで構成され、インバータ論理を構成している。各トランジスタ５４ａ、５４ｂのゲートにクロック信号／ＣＫ３が入力される他は、駆動制御回路４９と同様な接続である。クロック信号／ＣＫ３は、トランジスタ５１ａ、５１ｂのゲートにもそれぞれ入力される。クロック信号／ＣＫ３は、センス期間の後半期間及び待機期間においてＨレベルとされ、それ以外の期間ではＬレベルとされる。
【００５７】
第２センスアンプ部ＳＡ２は、センス期間の後半期間に、接続点Ｓ２ｎに入力される接続点Ｓ１ｎの電位と、接続点Ｓ２ｐに入力される接続点Ｓ１ｐの電位との差を増幅して、接続点Ｓ２ｎと接続点Ｓ２ｐの一方をＨレベル、他方をＬレベルにする。接続点Ｓ２ｐの電位がユニット１０から出力される。
【００５８】
上記の読出部１８は、積和演算値を二値化して出力するが、読出部１８の出力を多値にしてもよい。この場合には、例えば出力線ＭＡＬの電位を異なる複数の参照電位と比較すればよい。また、多値化した積和演算値の出力は、例えば、その値に応じてパルス幅変調して値に応じたパルス幅のパルス信号として出力したり、値に応じた個数のパルス信号として出力したりすることができる。
【００５９】
ユニット１０Ａの入力部１１Ａのラッチ回路５７は、クロック信号ＣＫ４によりセンス期間の終了時に接続点Ｓ２ｐの電位をラッチして出力する。ラッチ回路５７の出力はインバータ５８を介して、ユニット１０Ａにおける入力信号としてユニット１０Ａの入力線ＤＬＡに出力される。ユニット１０Ａにおける入力信号は、演算期間終了時の出力線ＭＡＬの電位が参照電位Ｖｒｅｆよりも低い場合にＨレベル、出力線ＭＡＬの電位が参照電位Ｖｒｅｆ以上の場合にＬレベルになる。インバータ５８は、入力信号がＨレベルの場合には、入力線ＤＬＡを電源電位ＶＤＤにし、Ｌレベルの場合には、入力線ＤＬＡを電位Ｖ１にする。
【００６０】
以下に、プログラムモードにおけるシナプス結合荷重の書き込みについて説明する。プログラムモードによる書込に先立って、各メモリトランジスタＭＴに対して、イレース処理を行う。なお、この例のイレース処理では、電荷蓄積層２４から電子を引き抜き、さらに正孔を注入する。このイレース処理は、書込部１５と入力部１１とが協働して行う。
【００６１】
イレース処理では、まず全てのドレイン側ゲート線ＤＧＬ、ソース側ゲート線ＳＧＬ、入力線ＤＬ及び出力線ＭＡＬと、ＰウェルＰＷとの電位をそれぞれ０Ｖにした状態で、各メモリゲート線ＭＧＬを介して消去電位（例えば、−１２Ｖ）を各メモリゲート電極ＭＧに与える。これにより、メモリゲート電極ＭＧとＰウェルＰＷとの電位差及び量子トンネル効果によって、電荷蓄積層２４からＰウェルＰＷに向けて電子が引き抜かれ、さらに正孔が注入される。なお、シナプス結合荷重を記憶させるために電荷蓄積層２４に電子を注入する際のディスターブを受けるため、その影響を排除するために消去電位の印加時間を通常より長くする等して、メモリトランジスタＭＴの閾値電圧を十分に下げることが好ましい。
【００６２】
イレース処理に続いて、メモリセル１７を選択しながら、荷重値Ｗ０〜Ｗ４のシナプス結合荷重の書き込みを行う。この書き込みでは、全てのメモリセル１７に対して、荷重値Ｗ０〜Ｗ４のいずれかのシナプス結合荷重の書き込みを行う。また、荷重値Ｗ０の書込ストレスがかなり大きくディスターブの影響が大きい。このため、荷重値Ｗ１〜Ｗ４の書き込み後に荷重値Ｗ０の書き込みを行うと、荷重値Ｗ１〜Ｗ４のメモリセル１７の電荷量が変動し、セル電流（閾値電圧）が所望とする値からずれてしまうことがある。そこで、最初に荷重値Ｗ０とするメモリセル１７を順番に選択し、選択したメモリセル１７に荷重値Ｗ０のシナプス結合荷重の書き込みを行い、その後に荷重値Ｗ１〜Ｗ４のメモリセル１７の書き込みを行う。荷重値Ｗ１〜Ｗ４の書き込みの順番は、特に問題にならないので、メモリセル１７の配列の順番で、あるいは荷重値Ｗ１〜Ｗ４ごとにメモリセル１７を順番に選択する等して書き込みを行えばよい。
【００６３】
例えば、第ｘ（ｘ＝１，２，・・・ｍ）行第ｙ（ｙ＝１，２，・・・ｎ）列のメモリセル１７を書き込みの対象とする場合では、各ドレイン側ゲート線ＤＧＬの電位を１．０Ｖに、各ソース側ゲート線ＳＧＬの電位を０Ｖに、各出力線ＭＡＬの電位を１．２Ｖに、ＰウェルＰＷの電位を０Ｖにする。また、書き込み対象のメモリセル１７の第ｘ行の入力線ＤＬｘの電位を０Ｖ、それ以外の各行の入力線ＤＬの電位を１．２Ｖにする。この時に、第ｘ行第ｙ列のメモリセル１７では、ドレイン側トランジスタＤＴがオン状態になる。この状態で、所定の時間だけ、第ｙ列のメモリゲート線ＭＧＬｙを荷重値Ｗ０〜Ｗ４のシナプス結合荷重に応じたプログラム電位Ｖｐ０〜Ｖｐ４のいずれかにする。第ｙ列以外の各メモリゲート線ＭＧＬの電位は０Ｖにする。
【００６４】
ここで、プログラム電位Ｖｐ０〜Ｖｐ４は、シナプス結合荷重が大きいほど電位が低い。この例では、荷重値Ｗ０に対応したプログラム電位Ｖｐ０が１２Ｖ、荷重値Ｗ１に対応したプログラム電位Ｖｐ１が８Ｖ、荷重値Ｗ２に対応したプログラム電位Ｖｐ２が７．５Ｖ、荷重値Ｗ３に対応したプログラム電位Ｖｐ３が７．０Ｖ、荷重値Ｗ４に対応したプログラム電位Ｖｐ４が６.５Ｖである。
【００６５】
第ｘ行第ｙ列のメモリセル１７内のメモリトランジスタＭＴでは、そのメモリゲート電極ＭＧとＰウェルＰＷとの間の電位差により、電荷蓄積層２４に電子が注入される。このとき、電荷蓄積層２４には、電位差に応じた数の電子が注入される。この結果、第ｘ行第ｙ列のメモリセル１７内のメモリトランジスタＭＴでは、電荷蓄積層２４に蓄積されている電荷量は、印加されたプログラム電位で変化し、荷重値Ｗ０〜Ｗ４のシナプス結合荷重のいずれかに対応した量になる。これにより、シナプス結合荷重が小さいほどメモリトランジスタＭＴの閾値電圧が高くなる。
【００６６】
一方、書き込み対象のメモリセル１７と同じ第ｙ列内で書き込み対象とはならないメモリセル１７では、上記のように電位を印加することで、ドレイン側トランジスタＤＴ及びソース側トランジスタＳＴがそれぞれオフ状態になる。この状態で、第ｙ列の書き込み対象以外のメモリセル１７のメモリゲート電極ＭＧにプログラム電位Ｖｐ０〜Ｖｐ４のいずれかが印加されると、そのプログラム電位の印加にともなってメモリゲート構造体３３の下方のＰウェルＰＷの内部に空乏層が形成され、その空乏層とメモリゲート構造体３３との容量結合により、メモリゲート構造体３３下方のＰウェルＰＷの表面の電位が上昇し、メモリゲート電極ＭＧとＰウェルＰＷとの間の電圧差が小さくなる。この結果、電荷蓄積層２４からの電子の注入が起こらない。
【００６７】
また、第ｙ列以外のメモリセル１７では、メモリゲート電極ＭＧの電位が０Ｖであり、またＰウェルＰＷの電位が０Ｖであるため、メモリゲート電極ＭＧとＰウェルＰＷとの間の電位差が０Ｖないしほぼ０Ｖである。このため、量子トンネル効果による電荷蓄積層２４からの電子の注入が起こらない。
【００６８】
したがって、書き込み対象としている第ｘ行第ｙ列のメモリセル１７内の電荷蓄積層２４だけの電荷量が荷重値Ｗ０〜Ｗ４のシナプス結合荷重のいずれかに対応した量になり、その他のメモリセル１７内の電荷蓄積層２４の電荷量の変化は生じない。なお、各荷重値Ｗ１〜Ｗ４に対応した目標のセル電流が流れるようにベリファイとトリミングを行うのがよい。
【００６９】
シナプス結合荷重を荷重値Ｗ０とするメモリセル１７を除く各メモリセル１７について、上記と同じ手順でメモリゲート電極ＭＧとＰウェルＰＷとの間に電位差を発生させて、電荷蓄積層２４の電荷量を変化させる。このようにして、各メモリセル１７に、荷重値Ｗ０〜Ｗ４のいずれかのシナプス結合荷重を記憶した状態にする。
【００７０】
なお、上記では、メモリゲート電極ＭＧとＰウェルＰＷとの間に電位差の大小によって、電荷蓄積層２４の電荷量を変化させているが、同じ電位差を用い、印加時間を増減して電荷量を変化させてもよい。
【００７１】
次に、上記構成の作用について説明する。なお、ニューラルネットワーク装置ＮＳを使用する場合には、予めシナプス結合荷重を各メモリセル１７に記憶させておく。
【００７２】
演算モードにおいては、ＰウェルＰＷの電位は０．４Ｖにされている。図５、図６に示すように、入力部１１から入力信号が出力される時刻Ｔ１の前の待機期間では、入力線ＤＬはＨレベルになっている。また、スイッチ素子４１〜４３がオンになっているので、メモリゲート線ＭＧＬが電位Ｖ２に、ドレイン側ゲート線ＤＧＬが電源電位ＶＤＤになっており、ソース側ゲート線ＳＧＬは出力線ＭＡＬと等電位である。さらに、クロック信号／ＣＫ１、／ＣＫ３がＨレベル、クロック信号ＣＫ２、ＣＫ４がＬレベルになっている。
【００７３】
クロック信号ＣＫ４のＬレベルにより、トランジスタ４４がオンになっているので、出力線ＭＡＬが電源電位ＶＤＤになっている。すなわち、クロック信号ＣＫ４がＬレベルになることでトランジスタ４４がオンし、出力線ＭＡＬが電源電位ＶＤＤまでプリチャージされ、その状態を維持している。ソース側ゲート線ＳＧＬは、スイッチ素子４３によって、出力線ＭＡＬに接続されているため、出力線ＭＡＬと同じく、トランジスタ４４のオンにより電源電位ＶＤＤまでプリチャージされた状態である。
【００７４】
いずれのメモリセル１７の記憶素子２１においても、ドレイン側ゲート電極ＤＧはドレイン側ゲート線ＤＧＬと、ドレイン２５は入力線ＤＬと等電位であり、ソース側ゲート電極ＳＧはソース側ゲート線ＳＧＬ及び出力線ＭＡＬと、ソース２６は出力線ＭＡＬと等電位である。そして、この待機期間中では、ドレイン側ゲート線ＤＧＬ、入力線Ｄ、ソース側ゲート線ＳＧＬ及び出力線ＭＡＬは、いずれも電源電位ＶＤＤであるから、ドレイン側トランジスタＤＴ及びソース側トランジスタＳＴがそれぞれオフであって、セル電流は流れない。
【００７５】
時刻Ｔ１に入力部１１から各入力線ＤＬに入力信号が出力されて、シナプス演算部１２による積和演算が行われる演算期間になる。各入力信号は、それぞれ入力線ＤＬを介して、入力線ＤＬに接続された各メモリセル１７に入力される。この入力信号により、入力値が「１」である場合には、入力線ＤＬの電位が電源電位ＶＤＤから電位Ｖ１にパルス状に下がる。一方、入力値が「０」である場合には、入力線ＤＬの電位が電源電位ＶＤＤに維持される。
【００７６】
ここで、１つのメモリセル１７に注目すると、例えば入力値が「１」である場合、すなわち接続された入力線ＤＬが電位Ｖ１にされた場合には、そのメモリセル１７内の記憶素子２１のドレイン２５が電位Ｖ１になる。この結果、ドレイン側トランジスタＤＴ、ソース側トランジスタＳＴがそれぞれオンになる。ここで、メモリトランジスタＭＴの電荷蓄積層２４が荷重値Ｗ１〜Ｗ４のシナプス結合荷重に対応した電荷量を蓄積している場合には、出力線ＭＡＬからソース側トランジスタＳＴ、メモリトランジスタＭＴ、ドレイン側トランジスタＤＴを介して入力線ＤＬに向けてセル電流が流れる。このときのセル電流の大きさは、電荷蓄積層２４に蓄積されている電荷量で決まる。したがって、シナプス結合荷重が大きいほど大きなセル電流がメモリセル１７に流れる。なお、メモリトランジスタＭＴの電荷蓄積層２４が荷重値Ｗ０に対応した電荷量を蓄積している場合には、閾値電圧がかなり大きくメモリトランジスタＭＴがオフであるので、メモリセル１７にセル電流は流れない。
【００７７】
メモリセル１７にセル電流が流れることで、このメモリセル１７が接続された出力線ＭＡＬの電位は電源電位ＶＤＤから低下していく。もちろん、出力線ＭＡＬの電位は、それに接続された他のメモリセル１７がセル電流を流すことによっても低下する。ソース側トランジスタＳＴのメモリトランジスタＭＴ側の端部の電位（以下、中間電位という）は、出力線ＭＡＬの電位よりもソース側トランジスタＳＴの閾値電圧及びメモリトランジスタＭＴの閾値電圧の分だけさらに低くなるので、出力線ＭＡＬの電位とともに低下する。少なくとも出力線ＭＡＬの電位が参照電位Ｖｒｅｆに近く出力線ＭＡＬの電位の高低に精度が求められる範囲においては、合成ＭＯＳトランジスタが飽和領域で作動する。このため、ソース側トランジスタＳＴに流れる電流すなわちセル電流の大きさは、ドレイン２５とドレイン側ゲート電極ＤＧとの電位差（ＭＯＳＦＥＴの通常の接続におけるゲートソース間電圧（Ｖｇｓ）に相当）によって決まり、中間電位の変化の影響はほとんどない。したがって、入力値が「１」のメモリセル１７では、演算期間中にシナプス結合荷重に応じた一定のセル電流が流れる。出力線ＭＡＬに大きな電流が流れ、出力線ＭＡＬが電位Ｖ１の近くに下がる状況では、ダイオード接続されたソース側トランジスタＳＴの効果で合成ＭＯＳトランジスタが演算期間に非飽和領域で作動しセル電流が減る。しかしながら、このように非飽和領域で作動する段階においては、出力線ＭＡＬの電位が参照電位Ｖｒｅｆを十分に下回っており、その後に積和演算値が二値化されて出力される二値信号には影響がない。
【００７８】
一方、入力値が「０」である場合、すなわち接続された入力線ＤＬの電位が電源電位ＶＤＤを維持した場合には、ソース側トランジスタＳＴのソース側ゲート電極ＳＧ及びソース２６の電位は出力線ＭＡＬの電位と同じであり、入力線ＤＬの電位に対して低くなる方向に変化する。したがって、このメモリセル１７にセル電流及びスニーク電流が流れることはない。
【００７９】
より具体的には、入力値「１」のメモリセル１７では、演算期間中に出力線ＭＡＬの電位が１．０Ｖ〜０．８Ｖの間で変化した場合、当該メモリセル１７の合成ＭＯＳトランジスタは飽和領域で動作する為に、演算期間において安定したセル電流が流れる。また、同じ出力線ＭＡＬに接続された複数のメモリセル１７に大きなセル電流が流れて出力線ＭＡＬの電位すなわち当該出力線ＭＡＬに接続された入力値「１」のメモリセル１７のソース２６が０．８Ｖ以下に下がった場合、当該メモリセル１７の合成ＭＯＳトランジスタが非飽和領域に移行しセル電流が変化する。しかしながら、この時点では、既に出力線ＭＡＬの電位は参照電位Ｖｒｅｆから十分に下回っており、積和演算値を二値化した二値信号が定まる。したがって、積和演算の機能に支障をきたさない。
【００８０】
また、入力値「０」のメモリセル１７では、共通の出力線ＭＡＬに接続された複数のメモリセル１７に大きなセル電流が流れソース２６すなわち出力線ＭＡＬの電位が０．８Ｖ以下に下がった場合、ソース側ゲート線ＳＧＬの電位も引き下げられることによりソース側トランジスタＳＴはダイオード動作をする。このソース側トランジスタＳＴによるダイオードの効果で入力線ＤＬから出力線ＭＡＬに流れる電流を止められるため、スニーク電流が流れないので、積和演算の機能に支障をきたさない。
【００８１】
このように、各々のメモリセル１７は、それが記憶しているシナプス結合荷重と入力される入力値との乗算した結果に相当する大きさのセル電流を流す。そして、１本の出力線ＭＡＬに注目すると、それに接続された各メモリセル１７のセル電流の総和すなわち積和演算値に相当する大きさの電流で放電される。トランジスタ４４は、この演算期間の開始にクロック信号ＣＫ４がＨレベルに転じてオフになるので、プリチャージされていた１本の出力線ＭＡＬは、対応する列の積和演算値に相当する電流で放電され、その電流の大きに応じた割合で電位が電源電位ＶＤＤから徐々に低下する。
【００８２】
一方、第１センスアンプ部ＳＡ１では、演算期間では、Ｌレベルのクロック信号／ＣＫ１によってトランジスタ４７ａ、４８ａがそれぞれオンになっている。このため、接続点Ｓ１ｎ、Ｓ１ｐが電源電位ＶＤＤとほぼ同じ電位にプリチャージされた状態である。また、オンになっているトランジスタ５１ａ、５１ｂを介して第２センスアンプ部ＳＡ２の接続点Ｓ２ｎ、Ｓ２ｐもプリチャージされる。
【００８３】
演算期間が終了しセンス期間（前半）の開始となる時刻Ｔ２になると、入力部１１が各入力線ＤＬを電源電位ＶＤＤにするので、各メモリセル１７による出力線ＭＡＬの放電が停止する。また、時刻Ｔ２になると、クロック信号／ＣＫ１、ＣＫ２がＨレベルになる。このクロック信号／ＣＫ１、ＣＫ２の変化により、トランジスタ４７ａ、４８ａがそれぞれオフになってプリチャージが終了し、トランジスタ４９ｂのオンにより、入力トランジスタ４７ｂ、４８ｂがそれぞれオンになる。このようにして、第１センスアンプ部ＳＡ１が作動し、入力トランジスタ４７ｂ、４８ｂは、それぞれゲートの電位に応じたドレイン電流を流す。
【００８４】
この結果、接続点Ｓ１ｎの電位は、センス期間の開始直後の出力線ＭＡＬの電位に応じた低下率で徐々に低下し、接続点Ｓ１ｐの電位は、参照電位Ｖｒｅｆに応じた低下率で徐々に低下する。そして、接続点Ｓ２ｎ、Ｓ２ｐの電位は、接続点Ｓ１ｎ、Ｓ１ｐの電位の低下とともに下がる。ここで、出力線ＭＡＬの電位が低いほど、接続点Ｓ１ｎの電位の低下率が小さい。また、出力線ＭＡＬの電位が参照電位Ｖｒｅｆよりも低いときには、接続点Ｓ１ｐよりも接続点Ｓ１ｎの電位の低下率が小さくなり、出力線ＭＡＬの電位が参照電位Ｖｒｅｆよりも高いときには、接続点Ｓ１ｐよりも接続点Ｓ１ｎの電位の低下率が大きくなる。出力線ＭＡＬの電位が低いほど、接続点Ｓ１ｎの電位の低下率は小さい。
【００８５】
このため、図５に示されるように、センス期間の開始直後における出力線ＭＡＬの電位が参照電位Ｖｒｅｆよりも低ければ、接続点Ｓ１ｎの電位が接続点Ｓ１ｐの電位よりも高く、図６に示されるように、センス期間の開始直後における出力線ＭＡＬの電位が参照電位Ｖｒｅｆよりも高ければ、接続点Ｓ１ｎの電位が接続点Ｓ１ｐの電位よりも低くなる。
【００８６】
時刻Ｔ２から所定の時間が経過してセンス期間の前半期間が終了し後半期間が開始する時刻Ｔ３になると、クロック信号／ＣＫ３がＨレベルになる。これにより、トランジスタ５４ａがオフ、トランジスタ５４ｂがオンになることで、第２センスアンプ部ＳＡ２が作動を開始するとともに、トランジスタ５１ａ、５１ｂがオフになることによって、接続点Ｓ１ｎと接続点Ｓ２ｎとの接続及び接続点Ｓ１ｐと接続点Ｓ２ｐとの接続がそれぞれ切断される。なお、クロック信号／ＣＫ３がＨレベルになるのと同時に、クロック信号ＣＫ２がＬレベルに転じることによって、トランジスタ４９ａがオン、トランジスタ４９ｂがオフになり、第１センスアンプ部ＳＡ１が停止する。
【００８７】
第２センスアンプ部ＳＡ２が作動を開始すると、接続点Ｓ２ｎと接続点Ｓ２ｐの電位との差が増幅され、接続点Ｓ２ｎと接続点Ｓ２ｐの一方がＨレベルに、他方がＬレベルになる。そして、このように接続点Ｓ２ｎと接続点Ｓ２ｐの一方がＨレベルに他方がＬレベルになった後の時刻Ｔ４で、クロック信号ＣＫ４がＬレベルに転じ、待機期間に戻る。
【００８８】
クロック信号ＣＫ４がＬレベルに転じることで、その時点の接続点Ｓ２ｐの電位が次段のユニット１０Ａの入力部１１Ａのラッチ回路５７にラッチされる。そして、ラッチされた信号に基づく入力信号がインバータ５８からユニット１０Ａ内の入力線ＤＬＡに出力される。
【００８９】
したがって、図５に示されるように、出力線ＭＡＬの電位が参照電位Ｖｒｅｆよりも低い場合には、接続点Ｓ２ｐがＬレベルになり、インバータ５８からは積和演算値を二値化した値として値「０」（電源電位ＶＤＤ）が次段の入力線ＤＬＡに出力される。また、図６に示されるように、出力線ＭＡＬの電位が参照電位Ｖｒｅｆよりも高い場合には、接続点Ｓ２ｐがＨレベルになり、インバータ５８からは積和演算値を二値化した値とした値「１」（電位Ｖ１）が次段の入力線ＤＬＡに出力される。
【００９０】
上記のように、シナプス演算部１２による積和演算の結果は、出力線ＭＡＬに流れる電流の大きさであり、入力値「１」のメモリセル１７のセル電流の安定性が確保され、また入力値「０」のメモリセル１７のスニーク電流が防止されるので、出力線ＭＡＬの電位の低下として検出される積和演算値の精度が低くならない。また、スニーク電流の影響がないから、複数の積和演算を同時に並列して実行しても精度よく安定して演算を実行できる。
【００９１】
上記実施形態では、メモリトランジスタ、第１トランジスタ及び第２トランジスタが一体になった記憶素子を用いているが、それらを独立した素子としてもよい。例えば、図７に示す例では、それぞれ独立した素子であるメモリトランジスタ６１、トランジスタ６２及びトランジスタ６３を直列に接続した直列回路でメモリセル１７が構成されている。メモリトランジスタ６１は、メモリゲート電極６１ａと電荷蓄積層６１ｂとを有しており、プログラムモードにおいて、電荷蓄積層６１ｂにシナプス結合荷重に応じた電荷量を蓄積する。メモリトランジスタ６１のドレインにトランジスタ６２のソースが、またメモリトランジスタ６１のソースにトランジスタ６３のドレインがそれぞれ接続されている。これらのメモリトランジスタ６１、トランジスタ６２、６３は、上記メモリトランジスタＭＴ、ドレイン側トランジスタＤＴ、ソース側トランジスタＳＴにそれぞれ対応する。なお、トランジスタ６３は第１トランジスタであり、トランジスタ６３が第２トランジスタである。
【００９２】
メモリトランジスタ、第１トランジスタ及び第２トランジスタの接続の順番は、上記のものに限定されず、例えば図８に示すように、入力線ＤＬ側から、トランジスタ６２、トランジスタ６３、メモリトランジスタ６１の順番で直列に接続されていてもよい。また、図９に示すように、第２トランジスタに代えてダイオード６６をメモリトランジスタ及び第１トランジスタに直列に接続した構成であってもよい。ダイオード６６に代えて、ダイオード接続したＭＯＳ型トランジスタとすることもできる。なお、最初の例のように、メモリトランジスタよりも出力線側に第１トランジスタを接続する構成は、第１制御線（ソース側ゲート線）の寄生容量を小さくすることが可能であり、第１トランジスタがオフするまでの時間を短縮でき、高速動作かつ低消費電力化を図る上で有利である。
【００９３】
抵抗変化素子は、電荷蓄積層を有するメモリトランジスタに限定されず、例えば、図１０に示すように、ＲｅＲＡＭ（resistive random access memory）６７であってもよい。
【符号の説明】
【００９４】
１２  シナプス演算部
１７  メモリセル
１８  読出部
２１  記憶素子
２４  電荷蓄積層
ＤＧＬ  ドレイン側ゲート線
ＤＬ  入力線
ＤＴ  ドレイン側トランジスタ
ＮＳ  ニューラルネットワーク装置
ＭＡＬ  出力線
ＭＧＬ  メモリゲート線
ＭＴ  メモリトランジスタ
ＰＷ  Ｐウェル
ＳＧＬ  ソース側ゲート線
ＳＴ  ソース側トランジスタ
【図１】
2020021376.tif 000003
【図２】
2020021376.tif 000004
【図３】
2020021376.tif 000005
【図４】
2020021376.tif 000006
【図５】
2020021376.tif 000007
【図６】
2020021376.tif 000008
【図７】
2020021376.tif 000009
【図８】
2020021376.tif 000010
【図９】
2020021376.tif 000011
【図１０】
2020021376.tif 000012