JP2020021376A - 積和演算装置 - Google Patents

積和演算装置 Download PDF

Info

Publication number
JP2020021376A
JP2020021376A JP2018146297A JP2018146297A JP2020021376A JP 2020021376 A JP2020021376 A JP 2020021376A JP 2018146297 A JP2018146297 A JP 2018146297A JP 2018146297 A JP2018146297 A JP 2018146297A JP 2020021376 A JP2020021376 A JP 2020021376A
Authority
JP
Japan
Prior art keywords
transistor
memory
potential
input
output line
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.)
Granted
Application number
JP2018146297A
Other languages
English (en)
Other versions
JP6789576B2 (ja
Inventor
柳沢 一正
Kazumasa Yanagisawa
一正 柳沢
伴一 林
Tomoichi Hayashi
伴一 林
野田 敏史
Toshifumi Noda
敏史 野田
谷口 泰弘
Yasuhiro Taniguchi
泰弘 谷口
奥山 幸祐
Kosuke Okuyama
幸祐 奥山
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.)
Floadia Corp
Original Assignee
Floadia Corp
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
Priority to JP2018146297A priority Critical patent/JP6789576B2/ja
Application filed by Floadia Corp filed Critical Floadia Corp
Priority to KR1020207027454A priority patent/KR102422052B1/ko
Priority to CN201980020129.XA priority patent/CN112470161B/zh
Priority to US16/769,390 priority patent/US11100989B2/en
Priority to PCT/JP2019/029299 priority patent/WO2020026947A1/ja
Priority to SG11202008170RA priority patent/SG11202008170RA/en
Priority to TW108127150A priority patent/TWI783162B/zh
Publication of JP2020021376A publication Critical patent/JP2020021376A/ja
Application granted granted Critical
Publication of JP6789576B2 publication Critical patent/JP6789576B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/003Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0045Read using current through the cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/72Array wherein the access device being a diode
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/74Array wherein each memory cell has more than one access device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor

Abstract

【課題】出力線に流れる電流の大きさを検出するプリチャージ方式であってもスニーク電流を十分に抑制することができる積和演算装置を提供する。【解決手段】シナプス演算部には、シナプス結合荷重を記憶した複数のメモリセル17が行列状に配列されている。各列のメモリセル17には出力線MALが接続され、各行のメモリセル17には入力線DLが接続されている。メモリセル17は、出力線MALは、プリチャージされ、シナプス結合荷重に応じたセル電流を各メモリセル17が流すことで放電され電位が下がる。メモリセル17は、メモリトランジスタMTとドレイン側トランジスタDTとソース側トランジスタSTとが直列に接続した記憶素子21で構成され、入力線DLと出力線MALの間に接続されている。メモリトランジスタMTは、電荷蓄積層24の電荷量でシナプス結合荷重を記憶する。【選択図】図2

Description

本発明は、積和演算装置に関する。
近年、脳の情報処理様式を模したニューラルネットワークが研究されており、種々のモデルが提案されている。ニューラルネットワークを構成するニューロンの一般的なモデルとして、他の複数のニューロンからの入力値に、対応するシナプス結合荷重でそれぞれ重み付けしたものの和を次段のニューロンの入力とするものがある。このようなモデルに基づくニューラルネットワーク装置では、シナプス結合荷重を記憶素子に記憶するとともに、他のニューロンからの各入力値と対応するシナプス結合荷重との積和演算を行う。
クロスポイント型メモリアレイと類似の構造を有し、上記のような積和演算を行う積和演算装置が知られている。この積和演算装置は、複数の入力線とこれらに交差する複数の出力線との各交点にメモリセルがそれぞれ配置され、その交点の入力線と出力線との間にメモリセルが接続されている。メモリセルは、シナプス結合荷重に対応する抵抗に設定されるReRAM(resistive random access memory)等の抵抗変化素子と、スニーク電流を抑制するダイオードとを直列に接続した構成である。他の複数のニューロンからの入力値に相当する各複数の入力線の電位が変化されることで、各出力線に積和演算結果に対応した大きさの電流が流れる。このような構成によれば、演算の高速化と低電力化が期待できる。
また、メモリセルをメモリスタとスニーク電流を抑制するMOSトランジスタとを直列に接続した1T1R構成とした積和演算装置も知られている(非特許文献1を参照)。この非特許文献1に記載された積和演算装置では、各MOSトランジスタのゲートに所定の電圧を印加した状態で、各入力線に電圧パルスを加えることによって各出力線から積和演算結果に対応した大きさの電流を取り出している。
Can Li et al, "In-Memory Computing with Memristor Arrays", 2018 IEEE International Memory Workshop (IMW) p.161-164
ところで、上記のような積和演算装置において、入力が与えられていないメモリセルに流れるスニーク電流は、積和演算の結果のノイズとなり、演算結果を破壊する原因となる。ニューラルネットワークでは、メモリセル数がかなり多くなるため、1個のメモリセルに流れるスニーク電流が僅かであっても、全体として大きなスニーク電流が流れる場合がある。このため、個々のメモリセルにおいてスニーク電流を十分に抑制することは正確な積和演算を行う上で重要である。
一方、上記のような積和演算装置の出力線に流れる電流の大きさを検出する方式としては、プリチャージ方式が消費電力の低減の観点から有利である。プリチャージ方式は、予め出力線の容量を所定の電位にまでチャージしておき、積和演算時にはメモリセルを介して出力線を放電し、そのときの出力線の電位を積和演算の結果として取得する。しかしながら、非特許文献1のようなメモリセルの構成にプリチャージ方式を組み合わせた場合には、スニーク電流を抑制できない。これは、積和演算時に出力線の電位が低下することにともなって、入力が与えられていないメモリセルにおいてMOSトランジスタがオン状態になってスニーク電流が流れるためである。
ダイオードでスニーク電流を抑制する場合では、プリチャージ方式を採用しても、MOSトランジスタのような不具合は生じない。しかしながら、ダイオードでスニーク電流を十分に抑制しようとすると、すなわちダイオードのオン/オフ性能を高くする必要が有り、個々のダイオードが大きくなり集積度の低下を招く。このようなダイオードを用いた場合の集積度の低下は、各種方式のダイオードを使用しても同じであり、実際的にはダイオードを用いてスニーク電流を十分に抑制することは難しい。
本発明は、上記事情を鑑みてなされたものであり、出力線に流れる電流の大きさを検出するプリチャージ方式であってもスニーク電流を十分に抑制することができる積和演算装置を提供することを目的とする。
本発明の積和演算装置は、抵抗値が可変の抵抗変化素子を有し、行列状に配置された複数のメモリセルと、各行に対応して設けられ行内の前記メモリセルが接続された複数の入力線と、各列に対応して設けられ列内の前記メモリセルが接続され、前記複数の入力線の電位を同時に変化させたときに流れる電流の大きさが積和演算値としてそれぞれ検出される複数の出力線と、前記メモリセルに設けられ、前記入力線と前記出力線との間に前記抵抗変化素子と直列に接続され、前記抵抗変化素子よりも前記入力線側に接続されたスイッチング素子と、前記メモリセルに設けられ、前記スイッチング素子よりも前記出力線側で前記抵抗変化素子と直列に接続されたMOS型の第1トランジスタとを備えるものである。
本発明によれば、抵抗変化素子と、スイッチング素子と、このスイッチング素子よりも出力線側で接続されたMOS型の第1トランジスタとを直列に接続した構成としたので、出力線の電位が低下する場合でもスニーク電流を十分に抑制することができる。
ニューラルネットワーク装置の概略を示すブロック図である。 メモリセルの構成を示す回路図である。 記憶素子の構成を示す断面図である。 読出部の構成を示す回路図である。 出力線の電位の低下速度が大きい場合の読出部の各部の電位変化を示すタイミングチャートである。 出力線の電位の低下速度が小さい場合の読出部の各部の電位変化を示すタイミングチャートである。 3個の独立したトランジスタで構成されるメモリセルの例を示す回路図である。 トランジスタの接続の順番が異なるメモリセルの例を示す回路図である。 第2トランジスタをダイオードとした例を示す回路図である。 抵抗変化素子をReRAMとした例を示す回路図である。
図1において、ニューラルネットワーク装置NSは、ユニット10と、このユニット10の次段となるユニット10Aを備えている。ユニット10は、入力部11、シナプス演算部12、ニューロン部14、書込部15等を備えている。ユニット10Aについても同様の構成である。また、ニューラルネットワーク装置NSは、ユニット10、10Aの各部を統括的に制御する制御部(図示せず)を備えている。ニューラルネットワーク装置NSは、複数の入力値を、各入力値のそれぞれに対応するシナプス結合荷重で重み付けした各値の総和すなわち積和演算値をシナプス演算部12で求め、その積和演算値をニューロン部14で取得する。
ユニット10のニューロン部14が取得した積和演算値は、次段のユニット10Aの入力部11Aに出力される。この例のニューロン部14は、積和演算値を二値化してユニット10Aの入力部11Aに出力する。なお、この例のニューラルネットワーク装置NSは、ユニットを2段に連結した構成であるが、3段以上に連結してもよい。また、ユニットを1段のみで構成してもよい。
この例のシナプス演算部12には、複数のメモリセル17がm行×n列(例えば1024行×1024列)の行列状に配列されている。各々の列のm個のメモリセル17にm個の入力値に対応したシナプス結合荷重がそれぞれ記憶されている。シナプス演算部12は、列ごとに積和演算値を出力する積和演算装置として機能する。したがって、この例では、シナプス演算部12は、m個からなる1組の入力値に対して、n個の積和演算値を出力する。
シナプス演算部12には、各行に対応して入力線DL1、DL2、・・・DLmが設けられている。また、各列に対応して、メモリゲート線MGL1、MGL2、・・・MGLn、ドレイン側ゲート線DGL1、DGL2、・・・DGLn、ソース側ゲート線SGL1、SGL2、・・・SGLn、出力線MAL1、MAL2、・・・MALnがそれぞれ設けられている。
なお、以下の説明では、入力線DL1、DL2、・・・DLmを特に区別しない場合には、入力線DLと総称して説明する。同様に、メモリゲート線MGL1、MGL2、・・・MGLn、ドレイン側ゲート線DGL1、DGL2、・・・DGLn、ソース側ゲート線SGL1、SGL2、・・・SGLn、出力線MAL1、MAL2、・・・MALnを特に区別しない場合には、それぞれMGL、DGL、SGL、MALとそれぞれ総称して説明する。なお、この例では、ソース側ゲート線SGLが第1制御線であり、ドレイン側ゲート線DGLが第2制御線である。
入力線DLは、それぞれ行方向に延設されており、対応する行の各メモリセル17に接続されている。また、メモリゲート線MGL、ドレイン側ゲート線DGL、ソース側ゲート線SGL、出力線MALは、それぞれ列方向に延設されており、対応する列の各メモリセル17に接続されている。このようにシナプス演算部12では、複数の入力線DLと複数の出力線MALとが交差した状態に設けられ、入力線DLと出力線MALの各交差ポイントにメモリセル17がそれぞれ設けられており、クロスポイント型メモリセルアレイと類似の構造を有している。
入力部11は、入力値としての入力信号を入力線DLに出力し、入力線DLを介してメモリセル17に入力信号を入力する。1組の入力値に対応するm個の入力信号は、入力部11から同時に各入力線DLに出力される。入力信号は、例えば画像処理等の情報処理に基づいて生成される。
入力信号は、入力値に応じたパルス幅で入力線DLの電位がパルス状に変化するパルス信号である。この例では、入力値を二値(「1」と「0」)としており、入力部11は、入力値が「1」のときには所定のパルス幅で入力線DLの電位を変化させ、入力値が「0」のときにはパルス幅を「0」として入力線DLの電位を変化させない。入力線DLの電位は、通常は電源電位VDDとされ、入力値が「1」に対応して、基準電位VSS(=0V)と電源電位VDDとの間の電位V1にされる。なお、この例における電源電位VDDは、1.0V、電位V1は0.4Vである。
なお、上記のように、この例では入力値を二値としているが、入力値をアナログ値ないし多値にすることもできる。この場合には、アナログ値ないし多値の入力値の大小に応じたパルス幅で入力線DLの電位をパルス状に変化すればよい。入力値に応じてパルス幅を変化させる代わりに、一定パルス幅のパルス信号の個数を変化させてもよい。
メモリセル17は、シナプス結合荷重を不揮発的に記憶する。後述するように、メモリセル17は、電気的な抵抗値が可変の抵抗変化素子としての記憶素子21(図2参照)を備えている。この記憶素子21は、シナプス結合荷重の大きさに応じた電気的な抵抗を示すようにシナプス結合荷重を記憶する。シナプス結合荷重が大きいほど、記憶素子21の抵抗が小さくされる。記憶素子21は、入力線DLの電位変化に応答して、出力線MALから入力線DLに向けてメモリセル17に流れる電流(以下、セル電流という)をその抵抗で制限する。したがって、シナプス結合荷重が大きいほど大きなセル電流が流れる。1個のメモリセル17に流れるセル電流の大きさ、またはそのセル電流によって一定の時間内に流れた電荷の量が入力値にシナプス結合荷重を乗じた結果に相当する。なお、前述のように、入力線DLの電位をアナログ値ないし多値の入力値に応じたパルス幅のパルス信号とする場合には、そのパルス信号でセル電流によって流れた電荷の量が入力値にシナプス結合荷重を乗じた結果に相当する。
この例では、シナプス結合荷重として大きさの異なる荷重値W0〜荷重値W4のいずれかをメモリセル17に記憶させている。荷重値W0、W1、W2、W3、W4は、この順番で値が大きくなる。荷重値W0は値が「0」であり、この荷重値W0のシナプス結合荷重を記憶したメモリセル17は、記憶素子21が非常に高い抵抗を示し、セル電流をほぼ流さない。具体的には、荷重値W0のメモリセル17のセル電流は、例えば10pA程度である。また、この例における荷重値W1、W2、W3、W4に対応するセル電流は、概ね0.25μA、0.5μA、0.75μA、1.0μAである。なお、この例では、シナプス結合荷重は、5値であるが2〜4値、あるいは6値以上にしてもよい。
出力線MALには、それに接続された各メモリセル17のセル電流の総和が流れる。すなわち、1列の各メモリセル17に入力信号として入力される各入力値と、それらの各メモリセル17のシナプス結合荷重との積和演算値としての電流が流れる。この例では、後述するように、読出部18によって、出力線MALの容量に予め所定の電位までプリチャージ(充電)をしておき、その後にメモリセル17に入力信号が入力された際に生じる出力線MALの電位の低下を検出するプリチャージ方式を採用している。したがって、積和演算値として、出力線MALの電位低下の大きさを取得する構成である。
シナプス演算部12の列ごとに書込部15と読出部18とが設けられている。読出部18は、ニューロン部14内に設けられている。書込部15及び読出部18には、それぞれ対応する列のメモリゲート線MGL、ドレイン側ゲート線DGL、ソース側ゲート線SGL、出力線MALが接続されている。
ニューラルネットワーク装置NSには、各メモリセル17にシナプス結合荷重を記憶させるプログラムモードと、上述のシナプス演算部12で積和演算を行う演算モードとがある。プログラムモードでは、書込部15と入力部11とによって、メモリセル17にシナプス結合荷重を記憶する。プログラムモードでは、書込部15は、メモリゲート線MGL、ドレイン側ゲート線DGL、ソース側ゲート線SGL、出力線MALの電位を制御し、入力部11は、入力線DLの電位を制御する。シナプス結合荷重は、例えば外部のコンピュータ等で計算されたものが用いられる。
読出部18は、演算モードの際に、積和演算値を出力線MALの電位変化として検出し、検出した積和演算値に応じた二値信号を出力する。演算モードでは、待機期間、待機期間に続く演算期間、演算期間に続くセンス期間があり、センス期間後には再び待機期間になる。読出部18は、メモリセル17に入力信号が入力される前の待機期間中に出力線MALをプリチャージする。また、読出部18は、演算期間中にメモリセル17に入力信号が入力されているメモリセル17がセル電流を流して出力線MALを放電してその電位を低下させ、その後のセンス期間で出力線MALの電位を検出する。
図2において、メモリセル17に設けられた記憶素子21は、ドレイン側MOSトランジスタ(以下、ドレイン側トランジスタと称する)DTと、メモリMOSトランジスタ (以下、メモリトランジスタと称する)MTと、ソース側MOSトランジスタ(以下、ソース側トランジスタと称する)STとを直列に接続した一体構造を有するものである。演算モードでは、値「1」の入力値が入力されるメモリセル17では、出力線MALからソース側トランジスタST、メモリトランジスタMT、ドレイン側トランジスタDTを経て入力線DLに向ってセル電流が流れる。
この記憶素子21は、メモリトランジスタMTのメモリゲート電極MGがメモリゲート線MGLに、ドレイン側トランジスタDTのドレイン側ゲート電極DGがドレイン側ゲート線DGLに、ソース側トランジスタSTのソース側ゲート電極SGがソース側ゲート線SGLにそれぞれ接続されている。また、記憶素子21のドレイン25が入力線DLに、ソース26が出力線MALにそれぞれ接続されている。なお、この例では、ソース側トランジスタSTが第1トランジスタであり、ドレイン側トランジスタDTがスイッチング素子であるとともに第2トランジスタである。
メモリトランジスタMTは、電荷蓄積層24を有している。このメモリトランジスタMTの電荷蓄積層24には、プログラムモードで電荷が蓄積される。メモリトランジスタMTは、電荷蓄積層24への電荷の蓄積量を増減することによって、閾値電圧が変化してメモリゲート電極MGに一定の電位を与えたときのメモリトランジスタMTに流れる電流が増減する。これにより、メモリトランジスタMTがシナプス結合荷重となる抵抗として機能する。演算モードでは、メモリゲート電極MGには、メモリゲート線MGLを介して電位V2が与えられる。この例では、電位V2は、0.4Vである。
上記演算期間は、その期間内において、直列に接続したドレイン側トランジスタDTとソース側トランジスタSTとの合成MOSトランジスタが飽和領域で作動するように、その期間長が決められている。すなわち、演算期間内においては、合成MOSトランジスタのドレイン電位(ソース26の電位)と入力線DLの電位との差(通常のMOSFETでのソースドレイン間電圧に相当)が、「入力線DLとドレイン側ゲート電極DGとの電位差(通常のMOSFETでのゲートソース間電圧に相当)−ドレイン側トランジスタDTの閾値」よりも通常では大きくなるようにされている。
シナプス演算部12の動作は、出力線MALの電位が参照電位Vrefの近傍で動作する通常の場合と、出力線MALの電位が参照電位Vrefより大きく下がる場合とが有る。出力線MALの電位が参照電位Vrefより大きく下がる場合とは、入力に大きな偏りが有り、そして1列分の多くのメモリセル17が大きなシナプス結合荷重に対応した大きなセル電流を同時に流したような場合であって、出力線MALの電位が急速に低下する。この場合は、演算期間内で合成MOSトランジスタが非飽和領域に移行するが、このようなときには非飽和領域に移行した時点で出力線MALの電位が後述する参照電位Vrefよりも十分に低下しており、合成MOSトランジスタが非飽和領域に移行して電流が変化しても積和演算値の二値化後の結果には影響がない。
通常の場合では、ドレイン側トランジスタDTとソース側トランジスタSTの合成MOSトランジスタは、演算期間中に飽和領域で作動することによって、セル電流の安定化すなわち出力線MALの電位変化によらずシナプス結合荷重に応じた一定の大きさにセル電流を維持する。合成MOSトランジスタは、この例では、1.0V〜0.8Vにおいて飽和領域で作動しセル電流を安定化する。この合成MOSトランジスタは、演算モードでは、ドレイン側ゲート線DGLを介してドレイン側ゲート電極DGが動作電位である電源電位VDDにされる。また、一方向に電流を流す半導体素子として、合成MOSトランジスタのようにMOS型のトランジスタを用いる構成は、入力線DLに流れるドレイン側トランジスタDTのオン電流とオフ電流のオンオフ比が大きくなるので、多数のメモリセル17を設けることができる。
ソース側トランジスタSTは、先に述べたように出力線MALの電位が参照電位Vrefより大きく下がる場合、演算期間中の出力線MALの電位の低下に起因したスニーク電流を防止する。演算モードでは、ソース側ゲート電極SGが接続されたソース側ゲート線SGLと、ソース26が接続された出力線MALとが接続されることによって、ソース側トランジスタSTがダイオード接続される。これにより、入力線DLから入力値「0」が入力されるメモリセル17において、出力線MALの電位が当該入力線DLの電位、すなわち電源電位VDDよりも低くなったときにもセル電流と反対向きのスニーク電流が流れないようにする。この例における合成MOSトランジスタの閾値電圧はドレイン側トランジスタDTと同じであり0.4V、ソース側トランジスタSTの閾値電圧は0.2Vである。
なお、記憶素子21のドレイン25及びソース26は、これらに特に区別があるわけではなく、相互に互換的なものである。また、メモリセル17は、メモリトランジスタMT、ドレイン側トランジスタDT及びソース側トランジスタSTが別々に形成されて直列接続された構成であってもよい。
図3に断面構成を示すように、記憶素子21は、半導体基板30に形成されたPウェルPW上に形成されている。それぞれN型MOSFETであるメモリトランジスタMTと、ドレイン側トランジスタDT、ソース側トランジスタSTとがPウェルPW上に設けられている。
記憶素子21のドレイン25とソース26とは、PウェルPWの表面に、いずれもn型半導体領域として所定の間隔をあけて形成されている。PウェルPW上には、ドレイン25とソース26との間にメモリゲート構造体33が配置され、このメモリゲート構造体33とドレイン25との間にドレイン側ゲート構造体34が、メモリゲート構造体33とソース26との間にソース側ゲート構造体35がそれぞれ配置されている。メモリゲート構造体33とドレイン側ゲート構造体34との間及びメモリゲート構造体33とソース側ゲート構造体35との間には、絶縁材で形成された側壁スペーサ36がそれぞれ配置されている。
メモリゲート構造体33は、メモリトランジスタMTを構成する。また、ドレイン側ゲート構造体34は、ドレイン側トランジスタDTを構成し、ソース側ゲート構造体35は、ソース側トランジスタSTを構成する。なお、ソース側ゲート構造体35が第1ゲート構造体であり、ドレイン側ゲート構造体34が第2ゲート構造体である。
メモリゲート構造体33は、PウェルPW側から順番に、下部メモリゲート絶縁膜33a、電荷蓄積層24、上部メモリゲート絶縁膜33b及びメモリゲート電極MGが積層されている。電荷蓄積層24は、例えば窒化シリコン(Si)や、酸窒化シリコン(SiON)、アルミナ(Al)等で形成されている。
ドレイン側ゲート構造体34は、PウェルPW側から順番にドレイン側ゲート絶縁膜34aとドレイン側ゲート電極DGとが積層されている。ソース側ゲート構造体35は、PウェルPW側から順番に、ソース側ゲート絶縁膜35aとソース側ゲート電極SGとが積層されている。メモリゲート電極MG、ドレイン側ゲート電極DG及びソース側ゲート電極SGは、それぞれ列方向に延伸しており、それら自体がメモリゲート線MGL、ドレイン側ゲート線DGL、ソース側ゲート線SGLになっている。PウェルPWは、この例では、プログラムモードでは基準電位VSSとし、演算モードでは0.4Vにする。
なお、ドレイン25は、記憶素子21のドレインであると同時にドレイン側トランジスタDTのドレインであり、ソース26は、記憶素子21のソースであると同時にソース側トランジスタSTのソースでもある。また、ドレイン側トランジスタDTとメモリトランジスタMTとの間、ソース側トランジスタSTとメモリトランジスタMTとの間のPウェルPWの各部分には、各トランジスタDT、MT、STのソースないしドレインとなる領域は形成されていない。
上記のメモリトランジスタMTは、メモリゲート構造体33が半導体基板30側からシリコン酸化膜(下部メモリゲート絶縁膜33a)、シリコン窒化膜等からなる電荷蓄積層24、シリコン酸化膜等のブロック絶縁膜(上部メモリゲート絶縁膜33b)、メモリゲート電極MGを積層した構造のいわゆるMONOS(Metal-Oxide-Nitride- Oxide-Silicon)型であることが好ましい。MONOS型は、メモリトランジスタ間の閾値電圧の差を容易に小さくでき、また電荷蓄積層24の電荷量に応じた閾値電圧の再現性を容易に確保できるため好ましい構造である。MONOS型は、ゲート電極を高濃度ドープしたポリシリコンで形成したSONOS(Silicon-Oxide-Nitride- Oxide-Silicon)型を含み、SONOS型であることがより好ましい。これは、電荷蓄積層24にシリコン窒化膜等を用いた場合、その電荷蓄積層24に電荷を離散的に蓄積でき、トンネル絶縁膜に局所的な欠陥があったとしても空間的に均一に電荷を蓄積できるためである。この性質により同じ条件で電荷蓄積層に電荷を蓄積させた際のメモリトランジスタ間の閾値電圧の差が小さく、それらの再現性も安定しているため、シナプス結合荷重を正確に記憶できる。
図4に一例を示すように、読出部18は、スイッチ素子41〜43、プリチャージ用のトランジスタ44、第1センスアンプ部SA1、第2センスアンプ部SA2等で構成されている。この読出部18は、制御部から供給されるクロック信号/CK1、CK2、/CK3、CK4によって動作が制御される。
スイッチ素子41〜43は、MOSFET等で構成されており、制御部により制御される。スイッチ素子41〜43は、演算モード時にオンにされる。スイッチ素子41のオンにより、メモリゲート線MGLを電位V2にする。スイッチ素子42のオンにより、ドレイン側ゲート線DGLを電源電位VDDにする。スイッチ素子43は、出力線MALとソース側ゲート線SGLとの間に接続されている。スイッチ素子43がオンになることにより、ソース側ゲート線SGLと出力線MALとが電気的に接続される。なお、スイッチ素子41〜43は、オフのときにソース側ゲート線SGL、ドレイン側ゲート線DGL、メモリゲート線MGLをグランドした状態あるいはフローティング状態にする。
スイッチ素子42は、列ごとにオン/オフ制御できるようにすることが好ましい。すなわち、ドレイン側ゲート線DGLの電位を独立に制御することで、列ごとにドレイン側トランジスタDTのオン、オフを制御可能にすることが好ましい。このようにすることで、シナプス演算部12のうちで、例えば、特定の列だけ、奇数列だけ、偶数列だけ等のように積和演算を行う列だけの有効化が可能になり、積和演算を実施しないメモリセル17にセル電流が流れることを抑止して省電力化を図ることができる。
P型MOSFETからなるトランジスタ44は、ソースが電源電位VDDとされ、ドレインが出力線MALに接続されている。このトランジスタ44は、ゲートにクロック信号CK4が入力される。クロック信号CK4は、待機期間ではL(Low)レベル(=0V)にされ、それ以外の期間ではH(High)レベル(=1.0V)にされる。これにより、トランジスタ44は、待機期間にオンして出力線MALを電源電位VDDまでプリチャージする。この待機期間では、スイッチ素子43がオンになっているため、トランジスタ44のオンにより出力線MALに接続されたソース側ゲート線SGLも電源電位VDDまでプリチャージされる。
第1センスアンプ部SA1は、非ラッチ形差動電流アンプである。この第1センスアンプ部SA1は、トランジスタ47a、48a、出力線MALの電位に対応した入力トランジスタ47bと、参照電位Vrefに対応した入力トランジスタ48bと、駆動制御回路49とを備えている。トランジスタ47a、48aは、P型MOSFETであり、入力トランジスタ47b、48bは、N型MOSFETである。
第1センスアンプ部SA1は、トランジスタ47a、48aの各ゲートにクロック信号/CK1が入力される。クロック信号/CK1は、第1センスアンプ部SA1を動作させない演算期間では、Lレベルとされ、第1センスアンプ部SA1を電源電位VDDにプリチャージする。また、クロック信号/CK1は、第1センスアンプ部SA1を動作させるセンス期間では、Hレベルにされ第1センスアンプ部SA1のプリチャージを停止する。
第1センスアンプ部SA1のアンプ本体となる入力トランジスタ47bのゲートに出力線MALが接続され、入力トランジスタ48bのゲートには参照電位Vrefが入力される。これらの入力トランジスタ47b、48bは、出力線MALの電位と、参照電位Vrefを比較し差動増幅する。参照電位Vrefは、積和演算値を二値化する際の閾値であり、この例では0.9Vに設定されている。
駆動制御回路49は、P型MOSFETであるトランジスタ49aとN型MOSFETであるトランジスタ49bとで構成される。駆動制御回路49では、トランジスタ49a、49bのドレイン同士が接続され、インバータ論理を構成している。トランジスタ49a、49bのゲートには、それぞれクロック信号CK2が入力される。クロック信号CK2は、センス期間の前半の短期間のみHレベルとされて第1センスアンプ部SA1を駆動し、それ以外の期間ではLレベルとされる。
駆動制御回路49は、センス期間の前半期間以外ではクロック信号CK2がLレベルとされることによって、入力トランジスタ47b、48bの各共通ソースを電源電位VDDにバイアスする。また、駆動制御回路49は、センス期間の前半の短期間のみ、クロック信号CK2がHレベルにされることによって、入力トランジスタ47b、48bの各共通ソースを基準電位VSS側に引き下げる。入力トランジスタ47bは、出力線MALの電位と共通ソースとの電位差でオンし、入力トランジスタ48bは参照電位Vrefと共通ソースとの電位差でオンする。入力トランジスタ47b、48bは、差動回路として動作し、接続点S1n,S1pに増幅された振幅を出力する。
第2センスアンプ部SA2は、P型MOSFETであるトランジスタ51a、51bを介して第1センスアンプ部SA1に接続されている。トランジスタ51a、51bは、クロック信号/CK3でオン/オフが制御され、第2センスアンプ部SA2の作動開始と同時に、第1センスアンプ部SA1と第2センスアンプ部SA2との接続を切断する。
第2センスアンプ部SA2は、ラッチ型センスアンプであり、クロスカップルされたインバータ52、53からなるクロスカップルドラッチと、このクロスカップルドラッチの動作を制御する駆動制御回路54とで構成される。
インバータ52は、P型MOSFETであるトランジスタ52aとN型MOSFETであるトランジスタ52bとで構成される。トランジスタ52a、52bは、ドレイン同士が接続され、トランジスタ52aのソースが電源電位VDDにされている。インバータ53は、インバータ52と同様に接続されたP型MOSFETであるトランジスタ53aとN型MOSFETであるトランジスタ53bとで構成される。トランジスタ52b、53bは共通ソース結線されており、共通ソースは駆動制御回路54に接続されている。
インバータ52の入力であって互いに接続されたトランジスタ52a、52bのゲートは、インバータ53の出力であるトランジスタ53a、53bのドレイン同士が接続された接続点S2pに接続されている。また、インバータ53の入力であって互いに接続されたトランジスタ53a、53bのゲートは、インバータ52の出力であるトランジスタ52a、52bのドレイン同士が接続された接続点S2nに接続されている。接続点S2nは、トランジスタ51aを介して接続点S1nに接続され、接続点S2pは、トランジスタ51bを介して接続点S1pに接続されている。
駆動制御回路54は、P型MOSFETであるトランジスタ54aとN型MOSFETであるトランジスタ54bとで構成され、インバータ論理を構成している。各トランジスタ54a、54bのゲートにクロック信号/CK3が入力される他は、駆動制御回路49と同様な接続である。クロック信号/CK3は、トランジスタ51a、51bのゲートにもそれぞれ入力される。クロック信号/CK3は、センス期間の後半期間及び待機期間においてHレベルとされ、それ以外の期間ではLレベルとされる。
第2センスアンプ部SA2は、センス期間の後半期間に、接続点S2nに入力される接続点S1nの電位と、接続点S2pに入力される接続点S1pの電位との差を増幅して、接続点S2nと接続点S2pの一方をHレベル、他方をLレベルにする。接続点S2pの電位がユニット10から出力される。
上記の読出部18は、積和演算値を二値化して出力するが、読出部18の出力を多値にしてもよい。この場合には、例えば出力線MALの電位を異なる複数の参照電位と比較すればよい。また、多値化した積和演算値の出力は、例えば、その値に応じてパルス幅変調して値に応じたパルス幅のパルス信号として出力したり、値に応じた個数のパルス信号として出力したりすることができる。
ユニット10Aの入力部11Aのラッチ回路57は、クロック信号CK4によりセンス期間の終了時に接続点S2pの電位をラッチして出力する。ラッチ回路57の出力はインバータ58を介して、ユニット10Aにおける入力信号としてユニット10Aの入力線DLAに出力される。ユニット10Aにおける入力信号は、演算期間終了時の出力線MALの電位が参照電位Vrefよりも低い場合にHレベル、出力線MALの電位が参照電位Vref以上の場合にLレベルになる。インバータ58は、入力信号がHレベルの場合には、入力線DLAを電源電位VDDにし、Lレベルの場合には、入力線DLAを電位V1にする。
以下に、プログラムモードにおけるシナプス結合荷重の書き込みについて説明する。プログラムモードによる書込に先立って、各メモリトランジスタMTに対して、イレース処理を行う。なお、この例のイレース処理では、電荷蓄積層24から電子を引き抜き、さらに正孔を注入する。このイレース処理は、書込部15と入力部11とが協働して行う。
イレース処理では、まず全てのドレイン側ゲート線DGL、ソース側ゲート線SGL、入力線DL及び出力線MALと、PウェルPWとの電位をそれぞれ0Vにした状態で、各メモリゲート線MGLを介して消去電位(例えば、−12V)を各メモリゲート電極MGに与える。これにより、メモリゲート電極MGとPウェルPWとの電位差及び量子トンネル効果によって、電荷蓄積層24からPウェルPWに向けて電子が引き抜かれ、さらに正孔が注入される。なお、シナプス結合荷重を記憶させるために電荷蓄積層24に電子を注入する際のディスターブを受けるため、その影響を排除するために消去電位の印加時間を通常より長くする等して、メモリトランジスタMTの閾値電圧を十分に下げることが好ましい。
イレース処理に続いて、メモリセル17を選択しながら、荷重値W0〜W4のシナプス結合荷重の書き込みを行う。この書き込みでは、全てのメモリセル17に対して、荷重値W0〜W4のいずれかのシナプス結合荷重の書き込みを行う。また、荷重値W0の書込ストレスがかなり大きくディスターブの影響が大きい。このため、荷重値W1〜W4の書き込み後に荷重値W0の書き込みを行うと、荷重値W1〜W4のメモリセル17の電荷量が変動し、セル電流(閾値電圧)が所望とする値からずれてしまうことがある。そこで、最初に荷重値W0とするメモリセル17を順番に選択し、選択したメモリセル17に荷重値W0のシナプス結合荷重の書き込みを行い、その後に荷重値W1〜W4のメモリセル17の書き込みを行う。荷重値W1〜W4の書き込みの順番は、特に問題にならないので、メモリセル17の配列の順番で、あるいは荷重値W1〜W4ごとにメモリセル17を順番に選択する等して書き込みを行えばよい。
例えば、第x(x=1,2,・・・m)行第y(y=1,2,・・・n)列のメモリセル17を書き込みの対象とする場合では、各ドレイン側ゲート線DGLの電位を1.0Vに、各ソース側ゲート線SGLの電位を0Vに、各出力線MALの電位を1.2Vに、PウェルPWの電位を0Vにする。また、書き込み対象のメモリセル17の第x行の入力線DLxの電位を0V、それ以外の各行の入力線DLの電位を1.2Vにする。この時に、第x行第y列のメモリセル17では、ドレイン側トランジスタDTがオン状態になる。この状態で、所定の時間だけ、第y列のメモリゲート線MGLyを荷重値W0〜W4のシナプス結合荷重に応じたプログラム電位Vp0〜Vp4のいずれかにする。第y列以外の各メモリゲート線MGLの電位は0Vにする。
ここで、プログラム電位Vp0〜Vp4は、シナプス結合荷重が大きいほど電位が低い。この例では、荷重値W0に対応したプログラム電位Vp0が12V、荷重値W1に対応したプログラム電位Vp1が8V、荷重値W2に対応したプログラム電位Vp2が7.5V、荷重値W3に対応したプログラム電位Vp3が7.0V、荷重値W4に対応したプログラム電位Vp4が6.5Vである。
第x行第y列のメモリセル17内のメモリトランジスタMTでは、そのメモリゲート電極MGとPウェルPWとの間の電位差により、電荷蓄積層24に電子が注入される。このとき、電荷蓄積層24には、電位差に応じた数の電子が注入される。この結果、第x行第y列のメモリセル17内のメモリトランジスタMTでは、電荷蓄積層24に蓄積されている電荷量は、印加されたプログラム電位で変化し、荷重値W0〜W4のシナプス結合荷重のいずれかに対応した量になる。これにより、シナプス結合荷重が小さいほどメモリトランジスタMTの閾値電圧が高くなる。
一方、書き込み対象のメモリセル17と同じ第y列内で書き込み対象とはならないメモリセル17では、上記のように電位を印加することで、ドレイン側トランジスタDT及びソース側トランジスタSTがそれぞれオフ状態になる。この状態で、第y列の書き込み対象以外のメモリセル17のメモリゲート電極MGにプログラム電位Vp0〜Vp4のいずれかが印加されると、そのプログラム電位の印加にともなってメモリゲート構造体33の下方のPウェルPWの内部に空乏層が形成され、その空乏層とメモリゲート構造体33との容量結合により、メモリゲート構造体33下方のPウェルPWの表面の電位が上昇し、メモリゲート電極MGとPウェルPWとの間の電圧差が小さくなる。この結果、電荷蓄積層24からの電子の注入が起こらない。
また、第y列以外のメモリセル17では、メモリゲート電極MGの電位が0Vであり、またPウェルPWの電位が0Vであるため、メモリゲート電極MGとPウェルPWとの間の電位差が0Vないしほぼ0Vである。このため、量子トンネル効果による電荷蓄積層24からの電子の注入が起こらない。
したがって、書き込み対象としている第x行第y列のメモリセル17内の電荷蓄積層24だけの電荷量が荷重値W0〜W4のシナプス結合荷重のいずれかに対応した量になり、その他のメモリセル17内の電荷蓄積層24の電荷量の変化は生じない。なお、各荷重値W1〜W4に対応した目標のセル電流が流れるようにベリファイとトリミングを行うのがよい。
シナプス結合荷重を荷重値W0とするメモリセル17を除く各メモリセル17について、上記と同じ手順でメモリゲート電極MGとPウェルPWとの間に電位差を発生させて、電荷蓄積層24の電荷量を変化させる。このようにして、各メモリセル17に、荷重値W0〜W4のいずれかのシナプス結合荷重を記憶した状態にする。
なお、上記では、メモリゲート電極MGとPウェルPWとの間に電位差の大小によって、電荷蓄積層24の電荷量を変化させているが、同じ電位差を用い、印加時間を増減して電荷量を変化させてもよい。
次に、上記構成の作用について説明する。なお、ニューラルネットワーク装置NSを使用する場合には、予めシナプス結合荷重を各メモリセル17に記憶させておく。
演算モードにおいては、PウェルPWの電位は0.4Vにされている。図5、図6に示すように、入力部11から入力信号が出力される時刻T1の前の待機期間では、入力線DLはHレベルになっている。また、スイッチ素子41〜43がオンになっているので、メモリゲート線MGLが電位V2に、ドレイン側ゲート線DGLが電源電位VDDになっており、ソース側ゲート線SGLは出力線MALと等電位である。さらに、クロック信号/CK1、/CK3がHレベル、クロック信号CK2、CK4がLレベルになっている。
クロック信号CK4のLレベルにより、トランジスタ44がオンになっているので、出力線MALが電源電位VDDになっている。すなわち、クロック信号CK4がLレベルになることでトランジスタ44がオンし、出力線MALが電源電位VDDまでプリチャージされ、その状態を維持している。ソース側ゲート線SGLは、スイッチ素子43によって、出力線MALに接続されているため、出力線MALと同じく、トランジスタ44のオンにより電源電位VDDまでプリチャージされた状態である。
いずれのメモリセル17の記憶素子21においても、ドレイン側ゲート電極DGはドレイン側ゲート線DGLと、ドレイン25は入力線DLと等電位であり、ソース側ゲート電極SGはソース側ゲート線SGL及び出力線MALと、ソース26は出力線MALと等電位である。そして、この待機期間中では、ドレイン側ゲート線DGL、入力線D、ソース側ゲート線SGL及び出力線MALは、いずれも電源電位VDDであるから、ドレイン側トランジスタDT及びソース側トランジスタSTがそれぞれオフであって、セル電流は流れない。
時刻T1に入力部11から各入力線DLに入力信号が出力されて、シナプス演算部12による積和演算が行われる演算期間になる。各入力信号は、それぞれ入力線DLを介して、入力線DLに接続された各メモリセル17に入力される。この入力信号により、入力値が「1」である場合には、入力線DLの電位が電源電位VDDから電位V1にパルス状に下がる。一方、入力値が「0」である場合には、入力線DLの電位が電源電位VDDに維持される。
ここで、1つのメモリセル17に注目すると、例えば入力値が「1」である場合、すなわち接続された入力線DLが電位V1にされた場合には、そのメモリセル17内の記憶素子21のドレイン25が電位V1になる。この結果、ドレイン側トランジスタDT、ソース側トランジスタSTがそれぞれオンになる。ここで、メモリトランジスタMTの電荷蓄積層24が荷重値W1〜W4のシナプス結合荷重に対応した電荷量を蓄積している場合には、出力線MALからソース側トランジスタST、メモリトランジスタMT、ドレイン側トランジスタDTを介して入力線DLに向けてセル電流が流れる。このときのセル電流の大きさは、電荷蓄積層24に蓄積されている電荷量で決まる。したがって、シナプス結合荷重が大きいほど大きなセル電流がメモリセル17に流れる。なお、メモリトランジスタMTの電荷蓄積層24が荷重値W0に対応した電荷量を蓄積している場合には、閾値電圧がかなり大きくメモリトランジスタMTがオフであるので、メモリセル17にセル電流は流れない。
メモリセル17にセル電流が流れることで、このメモリセル17が接続された出力線MALの電位は電源電位VDDから低下していく。もちろん、出力線MALの電位は、それに接続された他のメモリセル17がセル電流を流すことによっても低下する。ソース側トランジスタSTのメモリトランジスタMT側の端部の電位(以下、中間電位という)は、出力線MALの電位よりもソース側トランジスタSTの閾値電圧及びメモリトランジスタMTの閾値電圧の分だけさらに低くなるので、出力線MALの電位とともに低下する。少なくとも出力線MALの電位が参照電位Vrefに近く出力線MALの電位の高低に精度が求められる範囲においては、合成MOSトランジスタが飽和領域で作動する。このため、ソース側トランジスタSTに流れる電流すなわちセル電流の大きさは、ドレイン25とドレイン側ゲート電極DGとの電位差(MOSFETの通常の接続におけるゲートソース間電圧(Vgs)に相当)によって決まり、中間電位の変化の影響はほとんどない。したがって、入力値が「1」のメモリセル17では、演算期間中にシナプス結合荷重に応じた一定のセル電流が流れる。出力線MALに大きな電流が流れ、出力線MALが電位V1の近くに下がる状況では、ダイオード接続されたソース側トランジスタSTの効果で合成MOSトランジスタが演算期間に非飽和領域で作動しセル電流が減る。しかしながら、このように非飽和領域で作動する段階においては、出力線MALの電位が参照電位Vrefを十分に下回っており、その後に積和演算値が二値化されて出力される二値信号には影響がない。
一方、入力値が「0」である場合、すなわち接続された入力線DLの電位が電源電位VDDを維持した場合には、ソース側トランジスタSTのソース側ゲート電極SG及びソース26の電位は出力線MALの電位と同じであり、入力線DLの電位に対して低くなる方向に変化する。したがって、このメモリセル17にセル電流及びスニーク電流が流れることはない。
より具体的には、入力値「1」のメモリセル17では、演算期間中に出力線MALの電位が1.0V〜0.8Vの間で変化した場合、当該メモリセル17の合成MOSトランジスタは飽和領域で動作する為に、演算期間において安定したセル電流が流れる。また、同じ出力線MALに接続された複数のメモリセル17に大きなセル電流が流れて出力線MALの電位すなわち当該出力線MALに接続された入力値「1」のメモリセル17のソース26が0.8V以下に下がった場合、当該メモリセル17の合成MOSトランジスタが非飽和領域に移行しセル電流が変化する。しかしながら、この時点では、既に出力線MALの電位は参照電位Vrefから十分に下回っており、積和演算値を二値化した二値信号が定まる。したがって、積和演算の機能に支障をきたさない。
また、入力値「0」のメモリセル17では、共通の出力線MALに接続された複数のメモリセル17に大きなセル電流が流れソース26すなわち出力線MALの電位が0.8V以下に下がった場合、ソース側ゲート線SGLの電位も引き下げられることによりソース側トランジスタSTはダイオード動作をする。このソース側トランジスタSTによるダイオードの効果で入力線DLから出力線MALに流れる電流を止められるため、スニーク電流が流れないので、積和演算の機能に支障をきたさない。
このように、各々のメモリセル17は、それが記憶しているシナプス結合荷重と入力される入力値との乗算した結果に相当する大きさのセル電流を流す。そして、1本の出力線MALに注目すると、それに接続された各メモリセル17のセル電流の総和すなわち積和演算値に相当する大きさの電流で放電される。トランジスタ44は、この演算期間の開始にクロック信号CK4がHレベルに転じてオフになるので、プリチャージされていた1本の出力線MALは、対応する列の積和演算値に相当する電流で放電され、その電流の大きに応じた割合で電位が電源電位VDDから徐々に低下する。
一方、第1センスアンプ部SA1では、演算期間では、Lレベルのクロック信号/CK1によってトランジスタ47a、48aがそれぞれオンになっている。このため、接続点S1n、S1pが電源電位VDDとほぼ同じ電位にプリチャージされた状態である。また、オンになっているトランジスタ51a、51bを介して第2センスアンプ部SA2の接続点S2n、S2pもプリチャージされる。
演算期間が終了しセンス期間(前半)の開始となる時刻T2になると、入力部11が各入力線DLを電源電位VDDにするので、各メモリセル17による出力線MALの放電が停止する。また、時刻T2になると、クロック信号/CK1、CK2がHレベルになる。このクロック信号/CK1、CK2の変化により、トランジスタ47a、48aがそれぞれオフになってプリチャージが終了し、トランジスタ49bのオンにより、入力トランジスタ47b、48bがそれぞれオンになる。このようにして、第1センスアンプ部SA1が作動し、入力トランジスタ47b、48bは、それぞれゲートの電位に応じたドレイン電流を流す。
この結果、接続点S1nの電位は、センス期間の開始直後の出力線MALの電位に応じた低下率で徐々に低下し、接続点S1pの電位は、参照電位Vrefに応じた低下率で徐々に低下する。そして、接続点S2n、S2pの電位は、接続点S1n、S1pの電位の低下とともに下がる。ここで、出力線MALの電位が低いほど、接続点S1nの電位の低下率が小さい。また、出力線MALの電位が参照電位Vrefよりも低いときには、接続点S1pよりも接続点S1nの電位の低下率が小さくなり、出力線MALの電位が参照電位Vrefよりも高いときには、接続点S1pよりも接続点S1nの電位の低下率が大きくなる。出力線MALの電位が低いほど、接続点S1nの電位の低下率は小さい。
このため、図5に示されるように、センス期間の開始直後における出力線MALの電位が参照電位Vrefよりも低ければ、接続点S1nの電位が接続点S1pの電位よりも高く、図6に示されるように、センス期間の開始直後における出力線MALの電位が参照電位Vrefよりも高ければ、接続点S1nの電位が接続点S1pの電位よりも低くなる。
時刻T2から所定の時間が経過してセンス期間の前半期間が終了し後半期間が開始する時刻T3になると、クロック信号/CK3がHレベルになる。これにより、トランジスタ54aがオフ、トランジスタ54bがオンになることで、第2センスアンプ部SA2が作動を開始するとともに、トランジスタ51a、51bがオフになることによって、接続点S1nと接続点S2nとの接続及び接続点S1pと接続点S2pとの接続がそれぞれ切断される。なお、クロック信号/CK3がHレベルになるのと同時に、クロック信号CK2がLレベルに転じることによって、トランジスタ49aがオン、トランジスタ49bがオフになり、第1センスアンプ部SA1が停止する。
第2センスアンプ部SA2が作動を開始すると、接続点S2nと接続点S2pの電位との差が増幅され、接続点S2nと接続点S2pの一方がHレベルに、他方がLレベルになる。そして、このように接続点S2nと接続点S2pの一方がHレベルに他方がLレベルになった後の時刻T4で、クロック信号CK4がLレベルに転じ、待機期間に戻る。
クロック信号CK4がLレベルに転じることで、その時点の接続点S2pの電位が次段のユニット10Aの入力部11Aのラッチ回路57にラッチされる。そして、ラッチされた信号に基づく入力信号がインバータ58からユニット10A内の入力線DLAに出力される。
したがって、図5に示されるように、出力線MALの電位が参照電位Vrefよりも低い場合には、接続点S2pがLレベルになり、インバータ58からは積和演算値を二値化した値として値「0」(電源電位VDD)が次段の入力線DLAに出力される。また、図6に示されるように、出力線MALの電位が参照電位Vrefよりも高い場合には、接続点S2pがHレベルになり、インバータ58からは積和演算値を二値化した値とした値「1」(電位V1)が次段の入力線DLAに出力される。
上記のように、シナプス演算部12による積和演算の結果は、出力線MALに流れる電流の大きさであり、入力値「1」のメモリセル17のセル電流の安定性が確保され、また入力値「0」のメモリセル17のスニーク電流が防止されるので、出力線MALの電位の低下として検出される積和演算値の精度が低くならない。また、スニーク電流の影響がないから、複数の積和演算を同時に並列して実行しても精度よく安定して演算を実行できる。
上記実施形態では、メモリトランジスタ、第1トランジスタ及び第2トランジスタが一体になった記憶素子を用いているが、それらを独立した素子としてもよい。例えば、図7に示す例では、それぞれ独立した素子であるメモリトランジスタ61、トランジスタ62及びトランジスタ63を直列に接続した直列回路でメモリセル17が構成されている。メモリトランジスタ61は、メモリゲート電極61aと電荷蓄積層61bとを有しており、プログラムモードにおいて、電荷蓄積層61bにシナプス結合荷重に応じた電荷量を蓄積する。メモリトランジスタ61のドレインにトランジスタ62のソースが、またメモリトランジスタ61のソースにトランジスタ63のドレインがそれぞれ接続されている。これらのメモリトランジスタ61、トランジスタ62、63は、上記メモリトランジスタMT、ドレイン側トランジスタDT、ソース側トランジスタSTにそれぞれ対応する。なお、トランジスタ63は第1トランジスタであり、トランジスタ63が第2トランジスタである。
メモリトランジスタ、第1トランジスタ及び第2トランジスタの接続の順番は、上記のものに限定されず、例えば図8に示すように、入力線DL側から、トランジスタ62、トランジスタ63、メモリトランジスタ61の順番で直列に接続されていてもよい。また、図9に示すように、第2トランジスタに代えてダイオード66をメモリトランジスタ及び第1トランジスタに直列に接続した構成であってもよい。ダイオード66に代えて、ダイオード接続したMOS型トランジスタとすることもできる。なお、最初の例のように、メモリトランジスタよりも出力線側に第1トランジスタを接続する構成は、第1制御線(ソース側ゲート線)の寄生容量を小さくすることが可能であり、第1トランジスタがオフするまでの時間を短縮でき、高速動作かつ低消費電力化を図る上で有利である。
抵抗変化素子は、電荷蓄積層を有するメモリトランジスタに限定されず、例えば、図10に示すように、ReRAM(resistive random access memory)67であってもよい。
12 シナプス演算部
17 メモリセル
18 読出部
21 記憶素子
24 電荷蓄積層
DGL ドレイン側ゲート線
DL 入力線
DT ドレイン側トランジスタ
NS ニューラルネットワーク装置
MAL 出力線
MGL メモリゲート線
MT メモリトランジスタ
PW Pウェル
SGL ソース側ゲート線
ST ソース側トランジスタ

Claims (10)

  1. 抵抗値が可変の抵抗変化素子を有し、行列状に配置された複数のメモリセルと、
    各行に対応して設けられ行内の前記メモリセルが接続された複数の入力線と、
    各列に対応して設けられ列内の前記メモリセルが接続され、前記複数の入力線の電位を同時に変化させたときに流れる電流の大きさが積和演算値としてそれぞれ検出される複数の出力線と、
    前記メモリセルに設けられ、前記入力線と前記出力線との間に前記抵抗変化素子と直列に接続され、前記抵抗変化素子よりも前記入力線側に接続されたスイッチング素子と、
    前記メモリセルに設けられ、前記スイッチング素子よりも前記出力線側で前記抵抗変化素子と直列に接続されたMOS型の第1トランジスタと
    を備えることを特徴とする積和演算装置。
  2. 各列に対応して複数設けられ、対応する列内の各前記メモリセルの前記第1トランジスタのゲート及び対応する列の前記出力線にそれぞれ接続される第1制御線を備えることを特徴とする請求項1に記載の積和演算装置。
  3. 前記スイッチング素子は、MOS型の第2トランジスタであることを特徴とする請求項1または2に記載の積和演算装置。
  4. 各列に対応して複数設けられ、対応する列内の各前記メモリセルの前記第2トランジスタのゲートにそれぞれ接続され、前記第2トランジスタのゲートに動作電位を与える第2制御線を備えることを特徴とする請求項3に記載の積和演算装置。
  5. 複数の前記第2制御線のうち積和演算値を検出しない前記出力線の列に対応した前記第2制御線は、当該第2制御線に接続された前記第2トランジスタのゲートに前記動作電位を与えないように制御されることを特徴とする請求項4に記載の積和演算装置。
  6. 前記第1トランジスタは、前記抵抗変化素子よりも前記出力線側に接続されていることを特徴とする請求項1ないし5のいずれか1項に記載の積和演算装置。
  7. 前記抵抗変化素子は、メモリゲート電極及び電荷蓄積層を含むメモリトランジスタであることを特徴とする請求項1ないし6のいずれか1項に記載の積和演算装置。
  8. 前記メモリセルは、
    Pウェルの表面に形成されたドレイン及びソースと、
    電荷蓄積層及びメモリゲート電極を含み、前記ドレインと前記ソースとの間の前記Pウェルの表面に配置されて前記電荷蓄積層への電荷の蓄積量に応じて閾値電圧を変化させる前記抵抗変化素子を形成するメモリゲート構造体と、
    前記メモリゲート構造体と前記ソースとの間の前記Pウェルの表面に配置されて前記第1トランジスタを形成する第1ゲート構造体と、
    前記メモリゲート構造体と前記ドレインとの間の前記Pウェルの表面に配置されて前記第2トランジスタを形成する第2ゲート構造体と
    から構成されることを特徴とする請求項3ないし5のいずれか1項に記載の積和演算装置。
  9. 前記電荷蓄積層は、窒化シリコン(Si)膜、酸窒化シリコン(SiON)膜、アルミナ(Al)膜のいずれかであり、
    前記メモリゲート構造体は、Pウェル側からシリコン酸化膜、前記電荷蓄積層、シリコン酸化膜、メモリゲート電極を積層した構造であることを特徴とする請求項8に記載の積和演算装置。
  10. 前記出力線を所定電位にまでプリチャージし、前記複数の入力線の電位を同時に変化させた後の前記出力線の電位を検出する読出部を備えることを特徴とする請求項1ないし9のいずれか1項に記載の積和演算装置。

JP2018146297A 2018-08-02 2018-08-02 積和演算装置 Active JP6789576B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2018146297A JP6789576B2 (ja) 2018-08-02 2018-08-02 積和演算装置
CN201980020129.XA CN112470161B (zh) 2018-08-02 2019-07-25 积和运算装置
US16/769,390 US11100989B2 (en) 2018-08-02 2019-07-25 Multiplier-accumulator
PCT/JP2019/029299 WO2020026947A1 (ja) 2018-08-02 2019-07-25 積和演算装置
KR1020207027454A KR102422052B1 (ko) 2018-08-02 2019-07-25 곱셈 누산 장치
SG11202008170RA SG11202008170RA (en) 2018-08-02 2019-07-25 Multiplier-accumulator
TW108127150A TWI783162B (zh) 2018-08-02 2019-07-31 積和運算裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018146297A JP6789576B2 (ja) 2018-08-02 2018-08-02 積和演算装置

Publications (2)

Publication Number Publication Date
JP2020021376A true JP2020021376A (ja) 2020-02-06
JP6789576B2 JP6789576B2 (ja) 2020-11-25

Family

ID=69231695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018146297A Active JP6789576B2 (ja) 2018-08-02 2018-08-02 積和演算装置

Country Status (7)

Country Link
US (1) US11100989B2 (ja)
JP (1) JP6789576B2 (ja)
KR (1) KR102422052B1 (ja)
CN (1) CN112470161B (ja)
SG (1) SG11202008170RA (ja)
TW (1) TWI783162B (ja)
WO (1) WO2020026947A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7149198B2 (ja) * 2019-02-07 2022-10-06 ルネサスエレクトロニクス株式会社 半導体装置
CN114004343B (zh) * 2021-12-31 2022-10-14 之江实验室 基于忆阻器脉冲耦合神经网络的最短路径获取方法及装置
WO2024015023A2 (en) * 2022-07-15 2024-01-18 Agency For Science, Technology And Research Neural processing core for a neural network and method of operating thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016178392A1 (ja) * 2015-05-01 2016-11-10 株式会社フローディア メモリセル、半導体集積回路装置、および半導体集積回路装置の製造方法
US20170228345A1 (en) * 2016-02-08 2017-08-10 Spero Devices, Inc. Analog Co-Processor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2988331B1 (en) * 2000-08-14 2019-01-09 SanDisk Technologies LLC Semiconductor memory device
US20040061167A1 (en) * 2002-10-01 2004-04-01 Bhaskar Mantha Method of improving erase efficiency and a non-volatile memory cell made thereby
CN101548333B (zh) * 2006-11-30 2013-01-02 富士通株式会社 非易失性半导体存储器件及其写入、读取方法和删除方法
US8233309B2 (en) * 2009-10-26 2012-07-31 Sandisk 3D Llc Non-volatile memory array architecture incorporating 1T-1R near 4F2 memory cell
JP5320601B2 (ja) * 2010-04-23 2013-10-23 シャープ株式会社 不揮発性可変抵抗素子、及び、不揮発性半導体記憶装置
US8971124B1 (en) * 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US10770140B2 (en) * 2016-01-27 2020-09-08 Hewlett Packard Enterprise Development Lp Memristive array with parallel reset control devices
JP6793035B2 (ja) * 2016-12-28 2020-12-02 ルネサスエレクトロニクス株式会社 記憶素子の動作シミュレーション方法
CN106815636B (zh) * 2016-12-30 2019-03-05 华中科技大学 一种基于忆阻器的神经元电路
CN106779059B (zh) * 2016-12-30 2019-03-05 华中科技大学 一种基于忆阻的巴普洛夫联想记忆的人工神经网络电路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016178392A1 (ja) * 2015-05-01 2016-11-10 株式会社フローディア メモリセル、半導体集積回路装置、および半導体集積回路装置の製造方法
US20170228345A1 (en) * 2016-02-08 2017-08-10 Spero Devices, Inc. Analog Co-Processor

Also Published As

Publication number Publication date
US11100989B2 (en) 2021-08-24
CN112470161B (zh) 2022-06-17
US20200303003A1 (en) 2020-09-24
WO2020026947A1 (ja) 2020-02-06
KR102422052B1 (ko) 2022-07-19
TWI783162B (zh) 2022-11-11
TW202020747A (zh) 2020-06-01
KR20210041533A (ko) 2021-04-15
JP6789576B2 (ja) 2020-11-25
CN112470161A (zh) 2021-03-09
SG11202008170RA (en) 2021-02-25

Similar Documents

Publication Publication Date Title
US20190164044A1 (en) Neural network circuits having non-volatile synapse arrays
KR100681255B1 (ko) 바이어스 전압 인가 회로 및 반도체 메모리 장치
JP4156248B2 (ja) 不揮発性半導体記憶装置
US6842366B2 (en) Thin film magnetic memory device executing self-reference type data read
CN111684525B (zh) 浮动源极存储器架构中的感测
US8274828B2 (en) Structures and methods for reading out non-volatile memory using referencing cells
JP4922932B2 (ja) 半導体装置およびその制御方法
KR102422052B1 (ko) 곱셈 누산 장치
US20140003157A1 (en) Compact High Speed Sense Amplifier for Non-Volatile Memory and Hybrid Lockout
US9543957B2 (en) Reconfigurable logic circuit device
US7911864B2 (en) Semiconductor memory device
WO2004057621A1 (ja) Cmis型半導体不揮発記憶回路
US7286381B2 (en) Non-volatile and-type content addressable memory
JPWO2019189895A1 (ja) ニューラルネットワーク回路装置
JP3537010B2 (ja) 半導体記憶装置
US20080008019A1 (en) High Speed Read-Only Memory
US9530502B2 (en) Configuration memory storing data by injecting carriers in gate insulating layer of MISFET
JP6221806B2 (ja) 半導体記憶装置及びその制御方法
KR20070044184A (ko) 비휘발성 강유전체 메모리 장치
KR910019062A (ko) 안정도를 증가시키고 1-비트 동작을 가능케하는 eeprom 셀, 더미 셀 및 감지회로를 갖는 불휘발성 반도체 기억장치
JP4252183B2 (ja) 不揮発性半導体記憶装置、該不揮発性半導体記憶装置からのデータの読み出し方法及び、該不揮発性半導体記憶装置へのデータの書き込み方法
TW202303382A (zh) 記憶體內計算裝置、系統及其操作方法
KR20160132293A (ko) 저항 또는 셀에 저장된 정보를 리드하는 반도체 장치
JP2002157879A (ja) 半導体記憶装置の駆動方法
KR20220075366A (ko) 시냅스 회로의 구동 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200626

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: 20201006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201027

R150 Certificate of patent or registration of utility model

Ref document number: 6789576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150