(57)【要約】  深層学習ニューラルネットワークで使用されるアナログニューロモーフィックメモリシステムに対する温度補償及び漏れ補償を提供するための多数の実施形態が開示される。温度補償を提供するための実施形態は、デバイス、基準メモリセル、又はメモリシステムの選択されたメモリセルに対する慎重な又は連続的な適応的傾き補償及び繰り込みを実装する。メモリシステムのメモリセルで漏れ補償を提供するための実施形態は、適応的消去ゲート結合、又は制御ゲート端子への負バイアス、ワード線端子への負バイアス、若しくはソース線端子へのバイアスの印加を実装する。【選択図】図６
2021536623.tif 000002
【特許請求の範囲】
【請求項１】
アナログニューロモーフィックメモリシステムであって、
複数のベクトルマトリックス乗算アレイであって、各ベクトルマトリックス乗算アレイはメモリセルのアレイを備える、複数のベクトルマトリックス乗算アレイと、
前記メモリセルの前記アレイのメモリセルの動作温度が変化するにつれて、前記メモリセルの前記アレイの前記メモリセルの電流電圧特性曲線の傾きを連続的に修正するための温度補償ブロックであって、前記温度補償ブロックは、
動作温度を示す出力を生成するための温度センサと、
前記温度センサの前記出力に応答して１つ以上の制御信号を生成するためのコントローラと、
前記１つ以上の制御信号に応答して温度補償電圧を生成するための１つ以上の調整可能なデバイスと、を備える温度補償ブロックと、を備える、アナログニューロモーフィックメモリシステム。
【請求項２】
ベクトルマトリックス乗算システムにおける重みは、メモリセルによって実現される、請求項１に記載のシステム。
【請求項３】
ベクトルマトリックス乗算システムにおける重みは、差動セルによって実現される、請求項１に記載のシステム。
【請求項４】
ベクトルマトリックス乗算システムにおける重みは、１対のブレンドメモリセルによって実現される、請求項１に記載のシステム。
【請求項５】
前記メモリセルの前記アレイの前記メモリセルのそれぞれはフラッシュメモリセルであり、前記１つ以上の調整可能なデバイスは、１つ以上の調整可能な電流源を備え、前記１つ以上の調整可能な電流源の各々は、前記１つ以上の制御信号のうちの１つによって調整され、かつレジスタに結合されており、前記温度補償電圧は、前記１つ以上の調整可能な電流源と前記レジスタとの間のノードにおいて生成され、前記フラッシュメモリセルに印加されて、前記フラッシュメモリセルの電流電圧特性曲線の傾きを修正する、請求項１に記載のシステム。
【請求項６】
前記温度補償電圧は、前記フラッシュメモリセルの制御ゲート端子に印加される、請求項５に記載のシステム。
【請求項７】
前記温度補償電圧は、前記フラッシュメモリセルの消去ゲート端子に印加される、請求項５に記載のシステム。
【請求項８】
前記温度補償電圧は、前記フラッシュメモリセルのソース線端子に印加される、請求項５に記載のシステム。
【請求項９】
前記温度補償電圧は、前記フラッシュメモリセルのビット線端子に印加される、請求項５に記載のシステム。
【請求項１０】
前記フラッシュメモリセルは、スプリットゲートフラッシュメモリセルである、請求項５に記載のシステム。
【請求項１１】
前記フラッシュメモリセルは、積層ゲートフラッシュメモリセルである、請求項５に記載のシステム。
【請求項１２】
前記メモリセルの前記アレイのメモリセルの動作温度が変化するにつれて漏れを低減させるために、前記メモリセルの前記アレイの前記メモリセルの端子に印加されたバイアス電圧を修正するための漏れ低減ブロックを更に備える、請求項１に記載のシステム。
【請求項１３】
アナログニューロモーフィックメモリシステムであって、
複数のベクトルマトリックス乗算システムであって、各ベクトルマトリックス乗算システムはメモリセルのアレイを備える、複数のベクトルマトリックス乗算システムと、
前記メモリセルの前記アレイのメモリセルの動作温度のレベルが変化するにつれて、前記メモリセルの前記アレイの前記メモリセルの電流電圧特性曲線を不連続的に修正するための温度補償ブロックと、を備える、アナログニューロモーフィックメモリシステム。
【請求項１４】
ベクトルマトリックス乗算システムにおける重みは、メモリセルによって実現される、請求項１３に記載のシステム。
【請求項１５】
ベクトルマトリックス乗算システムにおける重みは、差動セルによって実現される、請求項１３に記載のシステム。
【請求項１６】
ベクトルマトリックス乗算システムにおける重みは、ブレンドメモリセルによって実現される、請求項１３に記載のシステム。
【請求項１７】
前記メモリセルの前記アレイの前記メモリセルの各々はフラッシュメモリセルであり、前記温度補償ブロックは、
動作温度を示す出力を生成するための温度センサと、
前記温度センサの前記出力に応答して１つ以上の制御ビットを生成するためのコントローラと、
複数の電流源であって、各電流源は、スイッチを介してレジスタに選択的に結合され、各スイッチは、前記制御ビットのうちの１つによって制御された、複数の電流源と、を備え、
前記レジスタの一端において生成された電圧は、前記フラッシュメモリセルに印加されて、前記フラッシュメモリセルの電流電圧特性曲線の傾きを修正する、請求項１３に記載のシステム。
【請求項１８】
前記修正することは、フラッシュメモリセルの電流電圧特性曲線の傾きを修正することを含む、請求項１３に記載のシステム。
【請求項１９】
前記フラッシュメモリセルは、スプリットゲートフラッシュメモリセルである、請求項１３に記載のシステム。
【請求項２０】
前記フラッシュメモリセルは、積層ゲートフラッシュメモリセルである、請求項１３に記載のシステム。
【請求項２１】
前記温度補償ブロックは、
動作温度を示す出力を生成するための温度センサと、
前記温度センサの前記出力に応答して１つ以上の制御ビットを生成するためのコントローラと、
複数のレジスタを備える増幅回路であって、各レジスタは、スイッチを介して前記増幅器に選択的に結合されており、各スイッチは、前記制御ビットのうちの１つによって制御される、複数の増幅回路と、を備え、
前記増幅器の出力において生成された電圧は、前記フラッシュメモリセルに印加されて、前記フラッシュメモリセルの電流電圧特性曲線の傾きを修正する、請求項１３に記載のシステム。
【請求項２２】
前記傾きを修正することは、あるフラッシュメモリセルの電流電圧特性曲線の傾きを修正することを含む、請求項２１に記載のシステム。
【請求項２３】
前記フラッシュメモリセルは、スプリットゲートフラッシュメモリセルである、請求項２１に記載のシステム。
【請求項２４】
前記フラッシュメモリセルは、積層ゲートフラッシュメモリセルである、請求項２１に記載のシステム。
【請求項２５】
前記メモリセルの前記アレイのメモリセルの動作温度が変化するにつれて漏れを低減させるために、前記メモリセルの前記アレイの前記メモリセルの端子に印加されたバイアス電圧を修正するための漏れ低減ブロック
を更に備える、請求項１３に記載のシステム。
【請求項２６】
複数のベクトルマトリックス乗算アレイを備えるアナログニューロモーフィックメモリシステムにおいて温度補償を実行する方法であって、各ベクトルマトリックス乗算アレイはメモリセルのアレイを備え、前記方法は、
前記メモリセルの前記アレイのメモリセルの動作温度が変化するにつれて、前記メモリセルの前記アレイの前記メモリセルの電流電圧特性曲線の傾きを、温度補償ブロックによって連続的に修正するステップであって、前記温度補償ブロックは、動作温度を示す出力を生成するための温度センサと、前記温度センサの前記出力に応答して１つ以上の制御信号を生成するためのコントローラと、前記１つ以上の制御信号に応答して温度補償電圧を生成するための１つ以上の調整可能なデバイスと、を備える、修正するステップを含む、方法。
【請求項２７】
ベクトルマトリックス乗算方法における重みは、メモリセルによって実現される、請求項２６に記載の方法。
【請求項２８】
ベクトルマトリックス乗算方法における重みは、差動セルによって実現される、請求項２６に記載の方法。
【請求項２９】
ベクトルマトリックス乗算方法における重みは、１対のブレンドメモリセルによって実現される、請求項２６に記載の方法。
【請求項３０】
前記メモリセルの前記アレイの前記メモリセルのそれぞれはフラッシュメモリセルであり、前記１つ以上の調整可能なデバイスは、１つ以上の調整可能な電流源を備え、前記１つ以上の調整可能な電流源の各々は、前記１つ以上の制御信号のうちの１つによって調整され、かつレジスタに結合され、前記温度補償電圧は、前記１つ以上の調整可能な電流源と前記レジスタとの間のノードにおいて生成され、前記フラッシュメモリセルに印加されて、前記フラッシュメモリセルの電流電圧特性曲線の傾きを修正する、請求項２６に記載の方法。
【請求項３１】
前記温度補償電圧は、前記フラッシュメモリセルの制御ゲート端子に印加される、請求項３０に記載の方法。
【請求項３２】
前記温度補償電圧は、前記フラッシュメモリセルの消去ゲート端子に印加される、請求項３０に記載の方法。
【請求項３３】
前記温度補償電圧は、前記フラッシュメモリセルのソース線端子に印加される、請求項３０に記載の方法。
【請求項３４】
前記温度補償電圧は、前記フラッシュメモリセルのビット線端子に印加される、請求項３０に記載の方法。
【請求項３５】
前記フラッシュメモリセルは、スプリットゲートフラッシュメモリセルである、請求項３０に記載の方法。
【請求項３６】
前記フラッシュメモリセルは、積層ゲートフラッシュメモリセルである、請求項３０に記載の方法。
【請求項３７】
前記メモリセルの前記アレイのメモリセルの動作温度が変化するにつれて漏れを低減させるために、前記メモリセルの前記アレイの前記メモリセルの端子に印加されたバイアス電圧を修正するステップを更に含む、請求項２６に記載の方法。
【請求項３８】
複数のベクトルマトリックス乗算システムを備えるアナログニューロモーフィックメモリシステムにおいて温度補償を実行する方法であって、各ベクトルマトリックス乗算システムはメモリセルのアレイを備え、前記方法は、
前記メモリセルの前記アレイのメモリセルの動作温度のレベルが変化するにつれて、前記メモリセルの前記アレイの前記メモリセルの電流電圧特性曲線のために温度補償ブロックによって不連続的に修正するステップを含む、方法。
【請求項３９】
ベクトルマトリックス乗算方法における重みは、メモリセルによって実現される、請求項３８に記載の方法。
【請求項４０】
ベクトルマトリックス乗算方法における重みは、差動セルによって実現される、請求項３８に記載の方法。
【請求項４１】
ベクトルマトリックス乗算方法における重みは、ブレンドメモリセルによって実現される、請求項３８に記載の方法。
【請求項４２】
前記メモリセルの前記アレイの前記メモリセルの各々はフラッシュメモリセルであり、前記温度補償ブロックは、動作温度を示す出力を生成するための温度センサと、前記温度センサの前記出力に応答して１つ以上の制御ビットを生成するためのコントローラと、複数の電流源であって、各電流源は、スイッチを介してレジスタに選択的に結合され、各スイッチは、前記制御ビットのうちの１つによって制御された、複数の電流源と、を備え、前記レジスタの一端において生成された電圧は、前記フラッシュメモリセルに印加されて、前記フラッシュメモリセルの電流電圧特性曲線の傾きを修正する、請求項３８に記載の方法。
【請求項４３】
前記修正するステップは、フラッシュメモリセルの電流電圧特性曲線の傾きを修正するステップを含む、請求項３８に記載のシステム。
【請求項４４】
前記フラッシュメモリセルは、スプリットゲートフラッシュメモリセルである、請求項３８に記載の方法。
【請求項４５】
前記フラッシュメモリセルは、積層ゲートフラッシュメモリセルである、請求項３８に記載の方法。
【請求項４６】
前記温度補償ブロックは、動作温度を示す出力を生成するための温度センサと、前記温度センサの前記出力に応答して１つ以上の制御ビットを生成するためのコントローラと、複数のレジスタを備える増幅回路であって、各レジスタは、スイッチを介して前記増幅器に選択的に結合され、各スイッチは、前記制御ビットのうちの１つによって制御された、複数の増幅回路と、を備え、前記増幅器の出力において生成された電圧は、前記フラッシュメモリセルに印加されて、前記フラッシュメモリセルの電流電圧特性曲線の傾きを修正する、請求項３８に記載の方法。
【請求項４７】
前記修正するステップは、フラッシュメモリセルの電流電圧特性曲線の傾きを修正するステップを含む、請求項４５に記載の方法。
【請求項４８】
前記フラッシュメモリセルは、スプリットゲートフラッシュメモリセルである、請求項４５に記載の方法。
【請求項４９】
前記フラッシュメモリセルは、積層ゲートフラッシュメモリセルである、請求項４５に記載の方法。
【請求項５０】
前記メモリセルの前記アレイのメモリセルの動作温度が変化するにつれて漏れを低減させるために、前記メモリセルの前記アレイの前記メモリセルの端子に印加されたバイアス電圧を修正するための漏れ低減ブロック
を更に備える、請求項３８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権の主張）
本出願は、２０１８年８月２７日に出願された米国特許仮出願第６２／７２３，３９８号、発明の名称「Ｔｅｍｐｅｒａｔｕｒｅ  Ａｎｄ  Ｌｅａｋａｇｅ  Ｃｏｍｐｅｎｓａｔｉｏｎ  Ｆｏｒ  Ｍｅｍｏｒｙ  Ｃｅｌｌｓ  ｉｎ  ａｎ  Ａｎａｌｏｇ  Ｎｅｕｒａｌ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ  Ｕｓｅｄ  ｉｎ  ａ  Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ」及び２０１８年１１月７日に出願された米国特許出願第１６／１８３，２５０号、発明の名称「Ｔｅｍｐｅｒａｔｕｒｅ  Ａｎｄ  Ｌｅａｋａｇｅ  Ｃｏｍｐｅｎｓａｔｉｏｎ  Ｆｏｒ  Ｍｅｍｏｒｙ  Ｃｅｌｌｓ  Ｉｎ  Ａｎ  Ａｎａｌｏｇ  Ｎｅｕｒａｌ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ  Ｕｓｅｄ  Ｉｎ  Ａ  Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ」の優先権を主張する。
【０００２】
（発明の分野）
深層学習ニューラルネットワークで使用されるアナログニューロモーフィックメモリシステムのメモリセルに対する温度補償及び漏れ補償を提供するための多数の実施形態が開示される。
【背景技術】
【０００３】
人工ニューラルネットワークは、生物学的ニューラルネットワーク（動物の中枢神経系、特に脳）を模倣しており、多数の入力に依存し得、かつ、一般的に未知である機能を推定する又は近似するために使用される。人工ニューラルネットワークは、概して、メッセージを交換する相互接続した「ニューロン」の層を含む。
【０００４】
図１は、人工ニューラルネットワークを図示しており、ここで円は、入力又はニューロンの層を表す。接続（シナプスと呼ばれる）は、矢印によって表され、経験に基づいて調整され得る数値の重みを有する。これは、ニューラルネットワークが入力に適応できるようにし、学習できるようにする。典型的には、ニューラルネットワークは、複数の入力の層を含む。典型的には、１つ以上のニューロンの中間層、及びニューラルネットワークの出力を提供するニューロンの出力層が存在する。各レベルでニューロンは、シナプスから受信されたデータに基づいて個々に又は合わせて決定を行う。
【０００５】
高性能情報処理用の人工ニューラルネットワークの開発における主要な課題の１つは、適切なハードウェア技術の欠如である。実際には、実用ニューラルネットワークは、非常に多数のシナプスに頼り、ニューロン間の高い接続性、すなわち、非常に高度な計算的並行処理を可能にする。原理的には、このような複雑性は、デジタルスーパーコンピュータ又は専門化したグラフィック処理ユニットクラスタによって実現され得る。しかしながら、高いコストに加え、これらのアプローチはまた、主として低い精度のアナログ計算を実行するのではるかに少ないエネルギーしか消費しない生物学的ネットワークに比べてあまり良くないエネルギー効率に悩まされている。ＣＭＯＳアナログ回路は、人工ニューラルネットワークに使用されてきたが、ほとんどのＣＭＯＳ実装シナプス（CMOS-implemented synapses）は、多数のニューロン及びシナプスを考えると嵩高すぎていた。
【０００６】
出願人は以前に、参照により組み込まれる米国特許出願第１５／５９４，４３９号において、シナプスとして１つ以上の不揮発性メモリアレイを利用する人工（アナログ）ニューラルネットワークを開示した。不揮発性メモリアレイは、アナログニューロモーフィックメモリとして動作する。ニューラルネットワークデバイスは、第１の複数の入力を受信するように、かつそれから第１の複数の出力を生成するように構成されている第１の複数のシナプス、及び第１の複数の出力を受信するように構成された第１の複数のニューロンを含む。第１の複数のシナプスは、半導体基板に形成された、間にチャネル領域が延在している離間したソース領域及びドレイン領域と、チャネル領域の第１の部分の上方に配設され、チャネル領域の第１の部分から絶縁された浮遊ゲートと、チャネル領域の第２の部分の上方に配設され、チャネル領域の第２の部分から絶縁された非浮遊ゲートと、を各々が含む複数のメモリセルを含む。複数のメモリセルの各々は、浮遊ゲートの多くの電子に対応する重み値を格納するように構成されている。複数のメモリセルは、第１の複数の入力に、格納された重み値を乗算して第１の複数の出力を生成するように構成されている。
【０００７】
アナログニューロモーフィックメモリシステムに使用される各不揮発性メモリセルは、消去され、浮遊ゲートに非常に特異的かつ正確な量の電荷、すなわち電子の数、を保持するようにプログラムされなければならない。例えば、各浮遊ゲートはＮ個の異なる値のうちの１つを保持しなければならず、ここで、Ｎは、各セルによって示され得る異なる重みの数である。Ｎの例としては、１６、３２、６４、１２８及び２５６が挙げられる。
【０００８】
アナログニューロメモリシステムの実装の１つの課題は、各セルの消去動作、プログラム動作、及び読み出し動作に極めて高い精度が要求されることである。これは、各セルの各浮遊ゲートがＮ個の値のうちの１つを保持することを要求され得るためであり、Ｎは従来のフラッシュメモリシステムで使用される従来の値である２より大きい。しかしながら、各デバイスの電流電圧応答特性曲線など、各デバイスの特性は、その動作温度が変化するにつれて変化することになる。加えて、デバイスの漏れは、その特性に更に影響を及ぼす。
【０００９】
必要とされるのは、セルの動作温度が変化するにつれて各メモリセルの動作において精度及び正確度を確実に維持するために、深層学習ニューラルネットワークで使用されるアナログニューラルメモリシステムのメモリセルに対する温度補償及び漏れ補償を提供するためのシステムである。
【発明の概要】
【００１０】
深層学習ニューラルネットワークで使用されるアナログニューラルメモリシステムに対する温度補償及び漏れ補償を提供するための多数の実施形態が開示される。温度補償を提供するための実施形態は、慎重な又は連続的な適応的傾き補償及び繰り込みを含む。漏れ補償を提供するための実施形態は、適応的消去ゲート結合、制御ゲート端子への負バイアス、ワード線端子への負バイアス、及びソース線端子へのバイアスを含む。
【００１１】
【００１２】
【００１３】
【００１４】
【００１５】
【００１６】
【００１７】
【００１８】
【００１９】
【００２０】
【００２１】
【００２２】
【００２３】
【００２４】
【００２５】
【００２６】
【００２７】
【００２８】
【００２９】
【００３０】
【００３１】
【００３２】
【００３３】
【００３４】
【００３５】
【００３６】
【００３７】
【００３８】
【００３９】
【００４０】
【００４１】
【００４２】
【００４３】
【００４４】
【００４５】
【００４６】
【００４７】
【図面の簡単な説明】
【００４８】
【図１】先行技術の人工ニューラルネットワークを示す図である。
【図２】従来の２ゲート不揮発性メモリセルの横断面図である。
【図３】従来の４ゲート不揮発性メモリセルの横断面図である。
【図４】従来の３ゲート不揮発性メモリセルの横断面図である。
【図５】別の従来の２ゲート不揮発性メモリセルの横断面図である。
【図６】不揮発性メモリアレイを利用する異なるレベルの例示的な人工ニューラルネットワークを示す図である。
【図７】ベクトル乗算器マトリックスを示すブロック図である。
【図８】様々なレベルのベクトル乗算器マトリックスを示すブロック図である。
【図９】ベクトル乗算器マトリックスの別の実施形態を示す。
【図１０】ベクトル乗算器マトリックスの別の実施形態を示す。
【図１１】ベクトル乗算器マトリックスの別の実施形態を示す。
【図１２】ベクトル乗算器マトリックスの別の実施形態を示す。
【図１３】ベクトル乗算器マトリックスの別の実施形態を示す。
【図１４】先行技術の長・短期メモリシステムを示す。
【図１５】先行技術の長・短期メモリシステム中の例示的なセルを示す。
【図１６】図１５の長・短期メモリシステム中の例示的なセルの実装形態を示す。
【図１７】図１５の長・短期メモリシステム中の別の例示的なセルの実装形態を示す。
【図１８】先行技術のゲート付き回帰型ユニットシステムを示す。
【図１９】先行技術のゲート付き回帰型ユニットシステム中の例示的なセルを示す。
【図２０】図１９のゲート付き回帰型ユニットシステム中の例示的なセルの実装形態を示す。
【図２１】図１９のゲート付き回帰型ユニットシステム中の別の例示的なセルの実施形態を示す。
【図２２】デバイスの動作温度が変化するにつれてデバイスの電流電圧特性曲線がどのように変化するかの一例を示すグラフを示す。
【図２３】デバイスの電流電圧特性曲線の傾きを調整するための温度補償の一例を示すグラフを示す。
【図２４Ａ】不連続的な温度補償システムの一実施形態を示す。
【図２４Ｂ】不連続的な温度補償システムの一実施形態を示す。
【図２４Ｃ】不連続的な温度補償システムの一実施形態を示す。
【図２５】不連続的な温度補償システムの一実施形態を示す。
【図２６Ａ】１つ以上の調整可能な電流源を使用した温度補償の一例を示す。
【図２６Ｂ】１つ以上の調整可能な電流源を使用した温度補償の一例を示す。
【図２７Ａ】フラッシュメモリデバイスの制御ゲートにバイアス電圧を印加する、連続的な温度補償システムの別の実施形態を示す。
【図２７Ｂ】フラッシュメモリデバイスの制御ゲートにバイアス電圧を印加する、連続的な温度補償システムの別の実施形態を示す。
【図２８Ａ】フラッシュメモリデバイスの消去ゲートにバイアス電圧を印加する、連続的な温度補償システムの別の実施形態を示す。
【図２８Ｂ】フラッシュメモリデバイスの消去ゲートにバイアス電圧を印加する、連続的な温度補償システムの別の実施形態を示す。
【図２９Ａ】フラッシュメモリデバイスのソース線端子にバイアス電圧を印加する、連続的な温度補償システムの一実施形態を示す。
【図２９Ｂ】フラッシュメモリデバイスのソース線端子にバイアス電圧を印加する、連続的な温度補償システムの一実施形態を示す。
【図３０】特定の構成のトランジスタを示す。
【図３１】特定の構成のメモリセルを示す。
【図３２】特定の構成のメモリセルを示す。
【図３３】基準メモリセル及び選択されたメモリセルなど、システムの２つのデバイスの電流電圧特性曲線の傾きの差を補償するシステムを示す。
【図３４】傾き補償システムの一実施形態を示す。
【図３５】傾き補償システムの別の実施形態を示す。
【図３６】フラッシュメモリデバイスの制御ゲートにバイアス電圧を印加する、漏れ低減システムの一実施形態を示す。
【図３７】線形領域で動作するメモリセルに好適なアレイアーキテクチャを示す。
【図３８】傾き差を補償するために使用されるルックアップテーブルに格納されたデータを示す。
【発明を実施するための形態】
【００４９】
本発明の人工ニューラルネットワークは、ＣＭＯＳ技術及び不揮発性メモリアレイの組み合わせを利用する。
不揮発性メモリセル
【００５０】
デジタル不揮発性メモリは、周知である。例えば、参照により本明細書に組み込まれる、米国特許第５，０２９，１３０号（「’１３０号特許」）は、フラッシュメモリセルの一種である、スプリットゲート不揮発性メモリセルのアレイを開示する。このようなメモリセル２１０を図２に示す。各メモリセル２１０は、半導体基板１２に形成され、チャネル領域１８をその間に有するソース領域１４とドレイン領域１６と、を含む。浮遊ゲート２０は、チャネル領域１８の第１の部分の上方に形成され、この第１の部分から絶縁されて（かつチャネル領域１８の第１の部分の伝導率を制御して）おり、またソース領域１４の一部分の上方に形成されている。ワード線端子２２（典型的には、ワード線に結合される）は、チャネル領域１８の第２の部分の上方に配設され、チャネル領域１８の第２の部分から絶縁され、（かつチャネル領域１８の第２の部分の伝導率を制御する）第１の部分と、浮遊ゲート２０の上方で上方向にに延在する第２の部分と、を有する。浮遊ゲート２０及びワード線端子２２は、ゲート酸化物によって基板１２から絶縁される。ビット線２４はドレイン領域１６に結合される。
【００５１】
メモリセル２１０は、ワード線端子２２に高い正電圧を印加することによって消去され（ここで電子は、浮遊ゲートから除去される）、それにより、ファウラーノルドハイムトンネリングによって浮遊ゲート２０からワード線端子２２まで中間絶縁体を通って浮遊ゲート２０の電子をトンネリングさせる。
【００５２】
メモリセル２１０は、ワード線端子２２に正電圧、及びソース領域１４に正電圧を印加することによってプログラムされる（ここで電子は、浮遊ゲートに加えられる）。電子電流は、ソース領域１４からドレイン領域１６に向かって流れることになる。電子は、ワード線端子２２と浮遊ゲート２０との間の間隙に達すると、加速し発熱する。熱せられた電子の一部が、浮遊ゲート２０からの静電引力に起因して、浮遊ゲート２０にゲート酸化物を介して注入される。
【００５３】
ドレイン領域１６及びワード線端子２２に正の読み出し電圧を印加する（ワード線端子下のチャネル領域１８の部分をターンオンする）ことによって、メモリセル２１０が読み出される。浮遊ゲート２０が正に帯電する（すなわち、電子を消去する）場合、浮遊ゲート２０下のチャネル領域１８の部分は、次に同様にオンになり、電流は、チャネル領域１８を流れ、これは、消去された状態又は「１」の状態として検知される。浮遊ゲート２０が負に帯電する（すなわち、電子でプログラムされる）場合、次に浮遊ゲート２０下のチャネル領域の部分は、ほとんど又は完全にオフになり、電流は、チャネル領域１８を流れず（又はわずかに流れる）、プログラムされた状態又は「０」の状態として検知される。
【００５４】
表１は、読み出し動作、消去動作、及びプログラム動作を実行するためのメモリセル１１０の端子に印加され得る典型的な電圧範囲を示す。
表１：図３のフラッシュメモリセル２１０の動作
【表１】
2021536623.tif 000003
【００５５】
他の種類のフラッシュメモリセルである、他のスプリットゲートメモリセル構成が知られている。例えば、図３は、ソース領域１４と、ドレイン領域１６と、チャネル領域１８の第１の部分の上方にある浮遊ゲート２０と、チャネル領域１８の第２の部分の上方にある選択ゲート２２（典型的には、ワード線、ＷＬ、に結合される）と、浮遊ゲート２０の上方にある制御ゲート２８と、及びソース領域１４の上方にある消去ゲート３０と、を備える４ゲートメモリセル３１０を示す。この構成は、あらゆる目的のため参照により本明細書に組み込まれる、米国特許第６，７４７，３１０号に記載されている。ここで、全てのゲートは、浮遊ゲート２０を除いて、非浮遊ゲートであり、それらは電圧源に電気的に接続されている又は接続可能であることを意味する。プログラミングは、浮遊ゲート２０にそれ自体を注入するチャネル領域１８からの熱せられた電子によって実行される。消去は、浮遊ゲート２０から消去ゲート３０へトンネリングする電子によって実行される。
【００５６】
表２は、読み出し動作、消去動作、及びプログラム動作を実行するためのメモリセル３１０の端子に印加され得る典型的な電圧範囲を示す。
表２：図３のフラッシュメモリセル３１０の動作
【表２】
2021536623.tif 000004
【００５７】
図４は、別の種類のフラッシュメモリセルである、３ゲートメモリセル４１０を示す。メモリセル４１０は、メモリセル４１０が別個の制御ゲートを有しないことを除いて、図３のメモリセル３１０と同一である。消去動作（消去ゲートの使用を通して消去が起こる）及び読み出し動作は、制御ゲートバイアスが印加されないことを除いて、図３のものと同様である。プログラミング動作もまた、制御ゲートバイアスなしで行われるため、結果として、プログラム動作中は、制御ゲートバイアスの不足を補償するため、より高い電圧がソース線に印加されなければならない。
【００５８】
表３は、読み出し動作、消去動作、及びプログラム動作を実行するためのメモリセル４１０の端子に印加され得る典型的な電圧範囲を示す。
表３：図４のフラッシュメモリセル４１０の動作
【表３】
2021536623.tif 000005
【００５９】
図５は、別の種類のフラッシュメモリセルである、積層ゲートメモリセル５１０を示す。メモリセル５１０は、浮遊ゲート２０がチャネル領域１８全体にわたって延在し、制御ゲート２２（ここではワード線に結合される）が絶縁層（図示せず）によって分離された浮遊ゲート２０の上方に延在することを除いて、図２のメモリセル２１０と同様である。消去動作、プログラミング動作、及び読み出し動作は、メモリセル２１０について前述したものと同様の方法で動作する。
【００６０】
表４は、読み出し動作、消去動作、及びプログラム動作を実行するためのメモリセル５１０及び基板１２の端子に印加され得る典型的な電圧範囲を示す。
表４：図５のフラッシュメモリセル５１０の動作
【表４】
2021536623.tif 000006
【００６１】
上記の人工ニューラルネットワークにおける不揮発性メモリセルの種類のうちの１つを含むメモリアレイを利用するために、２つの修正が行われる。第１に、以下に更に説明されるように、アレイの他のメモリセルのメモリ状態に悪影響を与えずに各メモリセルを個々にプログラム、消去、及び読み出しすることができるように線を構成する。第２に、メモリセルの連続（アナログ）プログラミングを提供する。
【００６２】
具体的には、アレイの各メモリセルのメモリ状態（すなわち、浮遊ゲートの電荷）を、完全に消去された状態から完全にプログラムされた状態へ、独立して、かつ他のメモリセルの異常が最小で連続的に変えることができる。別の実施形態では、アレイの各メモリセルのメモリ状態（すなわち、浮遊ゲートの電荷）を、完全にプログラムされた状態から完全に消去された状態へ、及び逆もまた同様に、独立して、かつ他のメモリセルの異常が最小で連続的に変えることができる。このことは、セル格納がアナログであるか、又は多数の不連続値（１６又は６４の異なる値など）のうちの１つを最低限格納することができ、これにより、メモリアレイの全てのセルの非常に正確、かつ個々の調整を可能にし、またメモリアレイを格納に対して理想的にし、ニューラルネットワークのシナプシスの重みに微調整を加えることを意味する。
不揮発性メモリセルアレイを使用するニューラルネットワーク
【００６３】
図６は、本実施形態の不揮発性メモリアレイを利用するニューラルネットワークの非限定実施例を概念的に示す。この例は、顔認識アプリケーションのために不揮発性メモリアレイニューラルネットワークを使用するが、不揮発性メモリアレイベースのニューラルネットワークを使用して他の任意の適切なアプリケーションを実装することができる。
【００６４】
Ｓ０は入力層であり、この例では、５ビット精度の３２×３２ピクセルＲＧＢ画像である（すなわち、各色Ｒ、Ｇ、及びＢにつき１つずつの３つの３２×３２ピクセルアレイ、各ピクセルが５ビット精度である）。入力層Ｓ０から層Ｃ１に行くシナプスＣＢ１は、ある事例では、異なる重みのセットが適用され、別の事例では、共有される重みが適用され、入力画像を３×３ピクセルの重なり合うフィルタでスキャンし（カーネル）、１ピクセル（又はモデルによって決まるように２ピクセル以上）ずつフィルタをシフトする。具体的には、画像の３×３部分における９ピクセルの値（すなわち、フィルタ又はカーネルと呼ばれる）は、シナプスＣＢ１に提供され、これらの９個の入力値に適切な重みを乗算し、その乗算の出力の合計後、単一の出力値が決定され、特徴マップＣ１の層の１つのピクセルを生成するためにＣＢ１の第１のシナプスによって与えられる。３×３フィルタは次に、入力層Ｓ０内部の右側に１ピクセルだけシフトされ（すなわち、３ピクセルの列を右側に追加し、左側で３ピクセルの列をドロップする）、この新しく位置づけられたフィルタの９ピクセル値が、シナプスＣＢ１に提供されるため、それらに同じ重みを乗算し、関連するシナプスによって第２の単一の出力値を決定する。このプロセスを、３×３フィルタが入力層Ｓ０の３２×３２ピクセル画像全体にわたって３色全て及び全てのビットについてスキャンするまで続ける（精度値）。プロセスは次に、層Ｃ１の特徴マップ全てが計算されるまで、異なる重みのセットを使用して繰り返されて、Ｃ１の異なる特徴マップを生成する。
【００６５】
層Ｃ１において、本例では、各々３０×３０ピクセルを有する１６個の特徴マップが存在する。各ピクセルは、入力とカーネルとの乗算から抽出された新しい特徴ピクセルであり、したがって、各特徴マップは、２次元アレイであり、したがってこの例では、層Ｃ１は、２次元アレイの１６層を構成する（本明細書で言及される層及びアレイは、必ずしも物理的関係ではなく論理的な関係であり、すなわち、アレイは必ずしも物理的な２次元アレイに配向されないことに留意する）。層Ｃ１の１６個の特徴マップの各々は、フィルタスキャンに適用される１６個の異なるシナプス重みのセットの１つによって生成される。Ｃ１特徴マップは全て、境界同定など同じ画像特徴の異なる態様を対象とすることができる。例えば、第１のマップ（この第１のマップを生成するのに使用される全てのスキャンに共有される第１の重みセットを使用して生成される）は、円形エッジを識別することができ、第２のマップ（第１の重みセットと異なる第２の重みセットを使用して生成される）は、方形エッジ又は特定の特徴のアスペクト比などを識別することができる。
【００６６】
各特徴マップ中の連続する、重なり合わない２×２領域からの値をプールする活性化関数Ｐ１（プーリング）は、層Ｃ１から層Ｓ１へ行く前に適用される。プーリング機能の目的は、平均して近隣の位置にすること（又はｍａｘ関数もまた使用され得る）、例えばエッジ位置の依存を低減すること、及び次の段階に行く前にデータサイズを低減することである。層Ｓ１において、１６個の１５×１５特徴マップ（すなわち、各々１５×１５ピクセルの１６個異なるアレイ）が存在する。層Ｓ１から層Ｃ２に行くシナプスＣＢ２は、Ｓ１のマップを１ピクセルのフィルタシフトを使用して４×４フィルタでスキャンする。層Ｃ２において、２２個の１２×１２特徴マップが存在する。各特徴マップ中の連続する、重なり合わない２×２領域からの値をプールする活性化関数Ｐ２（プーリング）は、層Ｃ２から層Ｓ２へ行く前に適用される。層Ｓ２において、２２個の６×６特徴マップが存在する。活性化関数（プーリング）は、層Ｓ２から層Ｃ３へ行くシナプスＣＢ３で適用され、ここで層Ｃ３の全てのニューロンは、ＣＢ３のそれぞれのシナプスを介して層Ｓ２の全てのマップに接続する。層Ｃ３において、６４個のニューロンが存在する。層Ｃ３から出力層Ｓ３へと行くシナプスＣＢ４は、Ｃ３〜Ｓ３を完全に接続し、すなわち、層Ｃ３の全てのニューロンは、層Ｓ３の全てのニューロンに接続される。Ｓ３における出力は、１０個のニューロンを含み、ここで最も高い出力ニューロンは、クラスを決定する。この出力は、例えば、元の画像の内容の同定又は分類を示すことができる。
【００６７】
シナプスの各層は、不揮発性メモリセルのアレイ又はアレイの一部を使用して実装される。
【００６８】
図７は、その目的のために使用され得るアレイのブロック図である。ベクトルマトリックス乗算（Vector-by-matrix multiplication、ＶＭＭ）アレイ３２は、不揮発性メモリセルを含み、ある層と次の層との間のシナプス（図６のＣＢ１、ＣＢ２、ＣＢ３、及びＣＢ４など）として利用される。具体的には、ＶＭＭアレイ３２は、不揮発性メモリセルのアレイ３３、消去ゲート及びワード線ゲートデコーダ３４、制御ゲートデコーダ３５、ビット線デコーダ３６、並びにソース線デコーダ３７を含み、それらのデコーダは不揮発性メモリセルアレイ３３に対するそれぞれの入力をデコードする。ＶＭＭアレイ３２への入力は、消去ゲート及びワード線ゲートデコーダ３４から、又は制御ゲートデコーダ３５からとされ得る。この例におけるソース線デコーダ３７はまた、不揮発性メモリセルアレイ３３の出力をデコードする。あるいは、ビット線デコーダ３６が、不揮発性メモリセルアレイ３３の出力をデコードすることができる。
【００６９】
不揮発性メモリセルアレイ３３は、２つの目的を果たす。第１に、ＶＭＭアレイ３２により使用される重みを格納する。第２に、不揮発性メモリセルアレイ３３は、不揮発性メモリセルアレイ３３に格納された重みによって、入力を有効に乗算して、それらを出力線（ソース線又はビット線）ごとに加算して、次の層への入力又は最後の層への入力になる、出力を生成する。乗算及び加算の関数を実行することによって、不揮発性メモリセルアレイ３３は、別個の乗算及び加算の論理回路の必要性をなくし、また、その現場でのメモリ計算により電力効率も良い。
【００７０】
不揮発性メモリセルアレイ３３の出力は、不揮発性メモリセルアレイ３３の出力を合計してその畳み込み用の単一の値を作成する、差動加算器（加算オペアンプ又は加算電流ミラーなど）３８に供給される。差動加算器３８は、正の重み及び負の重みの総和を実行するように配置される。
【００７１】
差動加算器３８の合計された出力値は、次に出力を整流する活性化関数回路３９に供給される。活性化関数回路３９は、シグモイド、ｔａｎｈ、又はＲｅＬＵ関数を提供し得る。活性化関数回路３９の整流された出力値は、次の層（例えば図６のＣ１）として特徴マップの要素になり、次いで、次のシナプスに適用されて次の特徴マップ層又は最後の層を生成する。したがって、この例では、不揮発性メモリセルアレイ３３は、複数のシナプスを構成し（ニューロンの前の層から、又は画像データベースなどの入力層から入力を受信する）、加算オペアンプ３８及び活性化関数回路３９は、複数のニューロンを構成する。
【００７２】
図７のＶＭＭアレイ３２への入力（ＷＬｘ、ＥＧｘ、ＣＧｘ、及び任意選択的にＢＬｘ及びＳＬｘ）は、アナログレベル、バイナリレベル、又はデジタルビット（この場合、ＤＡＣは、デジタルビットを適切な入力アナログレベルに変換するために提供される）であり得、出力は、アナログレベル、バイナリレベル、又はデジタルビットであり得る（この場合、出力ＡＤＣは出力アナログレベルをデジタルビットに変換するために提供される）。
【００７３】
図８は、ここでＶＭＭアレイ３２ａ、３２ｂ、３２ｃ、３２ｄ及び３２ｅとして標示されたＶＭＭアレイ３２の多数の層の使用を示すブロック図である。図８に示されるように、Ｉｎｐｕｔｘで示される、入力は、デジタルアナログ変換器３１によってデジタルからアナログに変換され、入力ＶＭＭアレイ３２ａに提供される。変換されたアナログ入力は、電圧又は電流であり得る。第１の層の入力Ｄ／Ａ変換は、入力ＶＭＭアレイ３２ａのマトリックス乗算器の適切なアナログレベルに入力Ｉｎｐｕｔｘをマッピングする関数又はＬＵＴ（ルックアップテーブル）を使用することによって行うことができる。入力変換はまた、外部アナログ入力を入力ＶＭＭアレイ３２ａへのマッピングされたアナログ入力に変換するために、アナログ−アナログ（Ａ／Ａ）変換器によって行うこともできる。
【００７４】
入力ＶＭＭアレイ３２ａによって生成された出力は、次に、入力ＶＭＭアレイ（隠しレベル２）３２ｃへの入力として提供される出力を生成する次のＶＭＭアレイ（隠しレベル１）３２ｂへの入力として提供される、などとなる。ＶＭＭアレイ３２の様々な層は、畳み込みニューラルネットワーク（convolutional neural network、ＣＮＮ）のシナプス及びニューロンの異なる層として機能する。各ＶＭＭアレイ３２ａ、３２ｂ、３２ｃ、３２ｄ及び３２ｅは、スタンドアローンの物理的不揮発性メモリアレイであり得、又は複数のＶＭＭアレイは、同じ物理的不揮発性メモリアレイの異なる部分を利用することができ、又は複数のＶＭＭアレイは、同じ物理的不揮発性メモリアレイの重なり合う部分を利用することができる。図８に示される例は、５つの層（３２ａ、３２ｂ、３２ｃ、３２ｄ、３２ｅ）、すなわち、１つの入力層（３２ａ）、２つの隠れ層（３２ｂ、３２ｃ）、及び２つの完全に接続された層（３２ｄ、３２ｅ）を含む。当業者であれば、これは単なる例示であり、代わりにシステムが２つを超える隠れ層及び２つを超える完全に接続された層を含み得ることを理解するであろう。
ベクトルマトリックス乗算（ＶＭＭ）アレイ
【００７５】
図９は、図３に示されるメモリセル３１０に特に適したニューロンＶＭＭアレイ９００を示し、入力層と次の層との間でシナプス及びニューロンの一部として利用される。ＶＭＭアレイ９００は、不揮発性メモリセルのメモリアレイ９０１、及び不揮発性基準メモリセルの基準アレイ９０２（アレイの頂部で）を備える。あるいは、別の基準アレイが底部に位置することができる。
【００７６】
ＶＭＭアレイ９００では、制御ゲート線９０３などの制御ゲート線が垂直方向に延びており（したがって、行方向の基準アレイ９０２が、制御ゲート線９０３に直交する）、消去ゲート線９０４などの消去ゲート線が水平方向に延びている。ここで、ＶＭＭアレイ９００への入力は、制御ゲート線（ＣＧ０、ＣＧ１、ＣＧ２、ＣＧ３）に提供され、ＶＭＭアレイ９００の出力はソース線（ＳＬ０、ＳＬ１）に現れる。一実施形態では、偶数行のみが使用され、別の実施形態では、奇数行のみが使用される。各ソース線（ＳＬ０、ＳＬ１、それぞれに）の電流は、その特定のソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【００７７】
ニューラルネットワークについて本明細書に記載されているように、ＶＭＭアレイ９００の不揮発性メモリセル、すなわちＶＭＭアレイ９００のフラッシュメモリは、サブスレッショルド領域で動作するように構成されることが好ましい。
【００７８】
本明細書に記載される不揮発性基準メモリセル及び不揮発性メモリセルは、以下のように弱い反転でバイアスされ：
Ｉｄｓ＝Ｉｏ*ｅ(Vg-Vth)/kVt＝ｗ*Ｉｏ*ｅ(Vg)/kVt
ここで、ｗ＝ｅ(-Vth)/kVtである。
【００７９】
メモリセル（基準メモリセル又は周辺メモリセルなど）又はトランジスタを使用して入力電流を入力電圧に変換するＩ−Ｖログ変換器を使用した場合：
Ｖｇ＝ｋ*Ｖｔ*ｌｏｇ［Ｉｄｓ／ｗｐ*Ｉｏ］
ここで、ｗｐは、基準又は周辺メモリセルのｗである。
【００８０】
ベクトルマトリックス乗算器ＶＭＭアレイとして使用されるメモリアレイについて、出力電流は以下である：
Ｉｏｕｔ＝ｗａ*Ｉｏ*ｅ(Vg)/kVt、すなわち
Ｉｏｕｔ＝（ｗａ／ｗｐ）*Ｉｉｎ＝Ｗ*Ｉｉｎ
Ｗ＝ｅ(Vthp-Vtha)/kVt
ここで、メモリアレイの各メモリセルのｗａ＝ｗである。
【００８１】
ワード線又は制御ゲートは、入力電圧のためのメモリセルの入力として使用することができる。
【００８２】
あるいは、本明細書に記載されたＶＭＭアレイのフラッシュメモリセルは、線形領域で動作するように構成することができる。
Ｉｄｓ＝β*（Ｖｇｓ−Ｖｔｈ）*Ｖｄｓ；β＝ｕ*Ｃｏｘ*Ｗ／Ｌ
Ｗ＝α（Ｖｇｓ−Ｖｔｈ）
【００８３】
ワード線又は制御ゲート又はビット線又はソース線は、入力電圧のための線形領域内で動作するメモリセルの入力として使用することができる。
【００８４】
Ｉ−Ｖ線形変換器では、線形領域で動作するメモリセル（基準メモリセル又は周辺メモリセルなど）又はトランジスタを、入出力電流を入出力電圧に線形変換するために使用することができる。
【００８５】
図７のＶＭＭアレイ３２のための他の実施形態は、参照により本明細書に組み込まれる米国特許出願第１５／８２６，３４５号に記載されているとおりである。上記出願に記載されているように、ソース線又はビット線は、ニューロン出力（電流和出力）として使用することができる。
【００８６】
図１０は、図２に示されるメモリセル２１０に特に適したニューロンＶＭＭアレイ１０００を示し、入力層と次の層との間のシナプスとして利用される。ＶＭＭアレイ１０００は、不揮発性メモリセルのメモリアレイ１００３、第１の不揮発性基準メモリセルの基準アレイ１００１、及び第２の不揮発性基準メモリセルの基準アレイ１００２を備える。アレイの列方向に配置された基準アレイ１００１及び１００２は、端子ＢＬＲ０、ＢＬＲ１、ＢＬＲ２、及びＢＬＲ３に流入する電流入力を電圧入力ＷＬ０、ＷＬ１、ＷＬ２、及びＷＬ３に変換するように機能する。実際には、第１及び第２の不揮発性基準メモリセルは、電流入力が流入する状態で、マルチプレクサ１０１４（一部のみ示す）を通してダイオード接続される。基準セルは、標的基準レベルに調整（例えば、プログラム）される。標的基準レベルは、基準ミニアレイマトリックス（図示せず）によって提供される。
【００８７】
メモリアレイ１００３は、２つの目的を果たす。第１に、ＶＭＭアレイ１０００により使用される重みを、それぞれのメモリセルに格納する。第２に、メモリアレイ１００３は、メモリアレイ１００３に格納された重みによって、入力を（すなわち、端子ＢＬＲ０、ＢＬＲ１、ＢＬＲ２、及びＢＬＲ３に提供された電流入力であり、これにより基準アレイ１００１及び１００２がワード線ＷＬ０、ＷＬ１、ＷＬ２、及びＷＬ３に供給するための入力電圧に変換される）有効に乗算して、次いで、全ての結果（メモリセル電流）を加算して、次の層への入力又は最後の層への入力となる、それぞれのビット線（ＢＬ０〜ＢＬＮ）の出力を生成する。乗算及び加算の関数を実行することによって、メモリアレイ１００３は、別個の乗算及び加算の論理回路の必要性をなくし、また、電力効率も良い。ここで、電圧入力はワード線ＷＬ０、ＷＬ１、ＷＬ２、及びＷＬ３に提供され、出力は、読み出し（推論）動作中にそれぞれのビット線ＢＬ０〜ＢＬＮに現れる。ビット線ＢＬ０〜ＢＬＮの各々の電流は、その特定のビット線に接続された全ての不揮発性メモリセルからの電流の合計関数を実行する。
【００８８】
表５は、ＶＭＭアレイ１０００の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線の電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
表５：図１０のＶＭＭアレイ１０００の動作
【表５】
2021536623.tif 000007
【００８９】
図１１は、図２に示されるメモリセル２１０に特に適したニューロンＶＭＭアレイ１１００を示し、入力層と次の層との間でシナプス及びニューロンの一部として利用される。ＶＭＭアレイ１１００は、不揮発性メモリセルのメモリアレイ１１０３、第１の不揮発性基準メモリセルの基準アレイ１１０１、及び第２の不揮発性基準メモリセルの基準アレイ１１０２を備える。基準アレイ１１０１及び１１０２は、ＶＭＭアレイ１１００の行方向に延びる。ＶＭＭアレイは、ＶＭＭアレイ１１００においてワード線が垂直方向に延びることを除いて、ＶＭＭ１０００と同様である。ここで、入力はワード線（ＷＬＡ０、ＷＬＢ０、ＷＬＡ１、ＷＬＢ２、ＷＬＡ２、ＷＬＢ２、ＷＬＡ３、ＷＬＢ３）に提供され、出力は、読み出し動作中にソース線（ＳＬ０、ＳＬ１）に現れる。各ソース線の電流は、その特定のソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【００９０】
表６は、ＶＭＭアレイ１１００の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線の電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
表６：図１１のＶＭＭアレイ１１００の動作
【表６】
2021536623.tif 000008
【００９１】
図１２は、図３に示されるメモリセル３１０に特に適したニューロンＶＭＭアレイ１２００を示し、入力層と次の層との間でシナプス及びニューロンの一部として利用される。ＶＭＭアレイ１２００は、不揮発性メモリセルのメモリアレイ１２０３、第１の不揮発性基準メモリセルの基準アレイ１２０１、及び第２の不揮発性基準メモリセルの基準アレイ１２０２を備える。基準アレイ１２０１及び１２０２は、端子ＢＬＲ０、ＢＬＲ１、ＢＬＲ２、及びＢＬＲ３に流入する電流入力を電圧入力ＣＧ０、ＣＧ１、ＣＧ２、及びＣＧ３に変換するように機能する。実際には、第１及び第２の不揮発性基準メモリセルは、電流入力がＢＬＲ０、ＢＬＲ１、ＢＬＲ２、及びＢＬＲ３を通って流入する状態で、マルチプレクサ１２１２（一部のみ示す）を通してダイオード接続される。マルチプレクサ１２１２は、読み出し動作中に第１及び第２の不揮発性基準メモリセルの各々のビット線（ＢＬＲ０など）の一定電圧を確実にするために、それぞれのマルチプレクサ１２０５及びカスコーディングトランジスタ１２０４を各々含む。基準セルは、標的基準レベルに調整される。
【００９２】
メモリアレイ１２０３は、２つの目的を果たす。第１に、ＶＭＭアレイ１２００により使用される重みを格納する。第２に、メモリアレイ１２０３は、メモリアレイに格納された重みによって、入力を（端子ＢＬＲ０、ＢＬＲ１、ＢＬＲ２、及びＢＬＲ３へ提供された電流入力であり、基準アレイ１２０１及び１２０２は、これらの電流入力を制御ゲート（ＣＧ０、ＣＧ１、ＣＧ２、及びＣＧ３）に供給するための入力電圧に変換する）有効に乗算して、次いで、全ての結果（セル電流）を加算して、ＢＬ０〜ＢＬＮに出現し、かつ次の層への入力又は最後の層への入力となる、出力を生成する。乗算及び加算の関数を実行することによって、メモリアレイは、別個の乗算及び加算の論理回路の必要性をなくし、また、電力効率も良い。ここで、入力は制御ゲート線（ＣＧ０、ＣＧ１、ＣＧ２、及びＣＧ３）に提供され、出力は、読み出し動作中にビット線（ＢＬ０〜ＢＬＮ）に現れる。各ビット線の電流は、その特定のビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【００９３】
ＶＭＭアレイ１２００は、メモリアレイ１２０３の不揮発性メモリセルの一方向調整を実装する。すなわち、各不揮発性メモリセルは消去され、次いで、浮遊ゲートの所望の電荷に達するまで部分的にプログラムされる。これは、例えば、以下に記載される新規の精密プログラミング技術を使用して実行することができる。過度に多くの電荷が浮遊ゲートに加わる場合（誤った値がセルに格納されるなど）、セルは消去されなければならず、一連の部分的なプログラミング動作をやり直さなければならい。示されるように、同じ消去ゲート（ＥＧ０又はＥＧ１など）を共有する２つの行は、一緒に消去される必要があり（ページ消去として知られる）、その後、各セルは、浮遊ゲートの所望の電荷に達するまで部分的にプログラムされる。
【００９４】
表７は、ＶＭＭアレイ１２００の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタの非選択セルの制御ゲート、選択セルとは異なるセクタの非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線の電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
表７：図１２のＶＭＭアレイ１２００の動作
2021536623.tif 000009
【００９５】
図１３は、図３に示されるメモリセル３１０に特に適したニューロンＶＭＭアレイ１３００を示し、入力層と次の層との間でシナプス及びニューロンの一部として利用される。ＶＭＭアレイ１３００は、不揮発性メモリセルのメモリアレイ１３０３、基準アレイ１３０１又は第１の不揮発性基準メモリセル、及び第２の不揮発性基準メモリセルの基準アレイ１３０２を備える。ＥＧ線ＥＧＲ０、ＥＧ０、ＥＧ１、及びＥＧＲ１は垂直に延び、ＣＧ線ＣＧ０、ＣＧ１、ＣＧ２、及びＣＧ３並びにＳＬ線ＷＬ０、ＷＬ１、ＷＬ２、及びＷＬ３は水平に延びる。ＶＭＭアレイ１３００は、ＶＭＭアレイ１３００が双方向調整を実装することを除いてＶＭＭアレイ１４００と同様であり、各個々のセルは、個別のＥＧ線の使用により、浮遊ゲートの所望の電荷量に達するために、完全に消去され、部分的にプログラムされ、必要に応じて部分的に消去され得る。示されるように、基準アレイ１３０１及び１３０２は、端子ＢＬＲ０、ＢＬＲ１、ＢＬＲ２及びＢＬＲ３の入力電流を制御ゲート電圧ＣＧ０、ＣＧ１、ＣＧ２及びＣＧ３に変換し（マルチプレクサ１３１４を介したダイオード接続された基準セルのアクションを通じて）、行方向でメモリセルに印加される。電流出力（ニューロン）は、ビット線ＢＬ０〜ＢＬＮ中にあり、各ビット線は、その特定のビット線に接続された不揮発性メモリセルからの全ての電流を合計する。
【００９６】
図８は、ＶＭＭアレイ１３００の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタの非選択セルの制御ゲート、選択セルとは異なるセクタの非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線の電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
表８：図１３のＶＭＭアレイ１３００の動作
【表８】
2021536623.tif 000010
長・短期メモリ
【００９７】
先行技術は、長・短期メモリ（long short-term memory、ＬＳＴＭ）として知られる概念を含む。ＬＳＴＭユニットは、しばしば、ニューラルネットワークで使用される。ＬＳＴＭは、ニューラルネットワークが、所定の任意の時間間隔にわたって情報を記憶することを可能にし、後続の動作においてその情報を使用することを可能にする。従来のＬＳＴＭユニットは、セル、入力ゲート、出力ゲート、及びフォーゲットゲートを含む。３つのゲートは、セル内及びセル外への情報の流れ、及び情報がＬＳＴＭで記憶される時間間隔を調整する。ＶＭＭは、ＬＳＴＭユニットにおいて特に有用である。
【００９８】
図１４は、例示的なＬＳＴＭ１４００を示す。この例におけるＬＳＴＭ１４００は、セル１４０１、１４０２、１４０３及び１４０４を含む。セル１４０１は入力ベクトルｘ0を受け取り、出力ベクトルｈ0及びセル状態ベクトルｃ0を生成する。セル１４０２は、入力ベクトルｘ1と、セル１４０１から出力ベクトル（隠れた状態）ｈ0と、セル１４０１からセル状態ベクトルｃ0とを受け取り、出力ベクトルｈ1とセル状態ベクトルｃ1とを生成する。セル１４０３は、入力ベクトルｘ2と、セル１４０２から出力ベクトル（隠れた状態）ｈ1と、セル１４０２からセル状態ベクトルｃ1とを受け取り、出力ベクトルｈ2とセル状態ベクトルｃ2とを生成する。セル１４０４は、入力ベクトルｘ3と、セル１４０３から出力ベクトル（隠れた状態）ｈ2と、セル１４０３からセル状態ベクトルｃ2とを受け取り、出力ベクトルｈ3を生成する。追加のセルを使用することができ、４つのセルを有するＬＳＴＭは単なる例である。
【００９９】
図１５は、図１４のセル１４０１、１４０２、１４０３及び１４０４に使用することができる、ＬＳＴＭセル１５００の例示的な実装形態を示す。ＬＳＴＭセル１５００は、先行するセルから入力ベクトルｘ（ｔ）、セル状態ベクトルｃ（ｔ−１）を受け取り、先行するセルから出力ベクトルｈ（ｔ−１）を受け取り、セル状態ベクトルｃ（ｔ）及び出力ベクトルｈ（ｔ）を生成する。
【０１００】
ＬＳＴＭセル１５００は、シグモイド関数デバイス１５０１、１５０２、１５０３を備え、各々が、入力ベクトルの各構成要素のうちどれだけの量が出力ベクトルを通して許容されるかを制御するために、０〜１の数を適用する。ＬＳＴＭセル１５００はまた、入力ベクトルに双曲線ｔａｎｈ関数を適用するためのｔａｎｈデバイス１５０４及び１５０５と、２つのベクトルを一緒に乗算するための乗算器デバイス１５０６、１５０７及び１５０８と、２つのベクトルを一緒に加算するための加算器デバイス１５０９とを備える。出力ベクトルｈ（ｔ）は、システムの次のＬＳＴＭセルに提供することができ、又は他の目的でアクセスすることができる。
【０１０１】
図１６は、ＬＳＴＭセル１５００の一実装形態であるＬＳＴＭセル１６００を示す。読者の便宜のために、ＬＳＴＭセル１５００からの同じ採番方法が、ＬＳＴＭセル１６００で使用される。シグモイド関数デバイス１５０１、１５０２及び１５０３及びｔａｎｈデバイス１５０４は各々、複数のＶＭＭアレイ１６０１及び活性化回路ブロック１６０２を備える。したがって、ＶＭＭアレイは、特定のニューラルネットワークシステムで使用されるＬＳＴＭセルにおいて特に有用であることが分かり得る。
【０１０２】
ＬＳＴＭセル１６００の代替例（及びＬＳＴＭセル１５００の実装形態の別の例）を図１７に示す。図１７では、シグモイド関数デバイス１５０１、１５０２、及び１５０３、並びにｔａｎｈデバイス１５０４は、同じ物理ハードウェア（ＶＭＭアレイ１７０１及び活性化関数ブロック１７０２）を、時分割多重化された方式で共有する。ＬＳＴＭセル１７００はまた、２つのベクトルを一緒に乗算するための乗算器デバイス１７０３と、２つのベクトルを一緒に加算するための加算器デバイス１７０８と、（活性化回路ブロック１７０２を備える）ｔａｎｈデバイス１５０５と、シグモイド関数ブロック１７０２からｉ（ｔ）が出力されたときの値ｉ（ｔ）を格納する、レジスタ１７０７と、上記値がマルチプレクサ１７１０を介して乗算器デバイス１７０３から出力されるときの値ｆ（ｔ）*ｃ（ｔ−１）を格納する、レジスタ１７０４と、上記値がマルチプレクサ１７１０を介して乗算器デバイス１７０３から出力されるときの値ｉ（ｔ）*ｕ（ｔ）を格納するレジスタ１７０５と、上記値がマルチプレクサ１７１０とマルチプレクサ１７０９を介して乗算器デバイス１７０３から出力されるときの値ｏ（ｔ）*ｃ〜（ｔ）を格納する、レジスタ１７０６とを備える。
【０１０３】
ＬＳＴＭセル１６００が複数のＶＭＭアレイ１６０１及びそれぞれの活性化関数ブロック１６０２の複数の組を含むのに対し、ＬＳＴＭセル１７００は、ＬＳＴＭセル１７００の実施形態において複数の層を表すために使用されるＶＭＭアレイ１７０１及び活性化関数ブロック１７０２の１つの組のみを含む。ＬＳＴＭセル１７００は、ＬＳＴＭセル１６００と比較して、ＶＭＭ及び活性化関数ブロックのために１／４のスペースを必要とするので、ＬＳＴＭセル１７００は、ＬＳＴＭ１６００より必要なスペースが少ない。
【０１０４】
ＬＳＴＭユニットは、典型的には、複数のＶＭＭアレイを備え、これらは各々、加算器及び活性化回路ブロック及び高電圧生成ブロックなどの、ＶＭＭアレイの外側の特定の回路ブロックによって提供される機能を必要とすることが更に理解され得る。各ＶＭＭアレイに別個の回路ブロックを提供することは、半導体デバイスにかなりの量のスペースを必要とし、幾分非効率的であろう。したがって、以下に記載される実施形態は、ＶＭＭアレイ自体の外側に必要とされる回路を最小化することを試みる。
ゲート付き回帰型ユニット
【０１０５】
アナログＶＭＭ実装形態をゲート付き回帰型ユニット（gated recurrent unit、ＧＲＵ）システムに利用することができる。ＧＲＵは、回帰型ニューラルネットワークのゲーティング機構である。ＧＲＵは、ＧＲＵセルが一般にＬＳＴＭセルより少ない構成要素を含むことを除いて、ＬＳＴＭに類似している。
【０１０６】
図１８は、例示的なＧＲＵ１８００を示す。この例におけるＧＲＵ１８００は、セル１８０１、１８０２、１８０３及び１８０４を含む。セル１８０１は入力ベクトルｘ0を受け取り、出力ベクトルｈ0を生成する。セル１８０２は、入力ベクトルｘ1と、セル１８０１から出力ベクトルｈ0とを受け取り、出力ベクトルｈ1を生成する。セル１８０３は、入力ベクトルｘ2と、セル１８０２から出力ベクトル（隠れた状態）ｈ1とを受け取り、出力ベクトルｈ2を生成する。セル１８０４は、入力ベクトルｘ3と、セル１８０３から出力ベクトル（隠れた状態）ｈ2とを受け取り、出力ベクトルｈ3を生成する。追加のセルを使用することができ、４つのセルを有するＧＲＵは単なる例である。
【０１０７】
図１９は、図１８のセル１８０１、１８０２、１８０３及び１８０４に使用することができる、ＧＲＵセル１９００の例示的な実装形態を示す。ＧＲＵセル１９００は、先行するＧＲＵセルから入力ベクトルｘ（ｔ）及び出力ベクトルｈ（ｔ−１）を受け取り、出力ベクトルｈ（ｔ）を生成する。ＧＲＵセル１９００は、シグモイド関数デバイス１９０１及び１９０２を備え、各々が、出力ベクトルｈ（ｔ−１）及び入力ベクトルｘ（ｔ）からの構成要素に０〜１の数を適用する。ＧＲＵセル１９００はまた、入力ベクトルに双曲線ｔａｎｈ関数を適用するためのｔａｎｈデバイス１９０３と、２つのベクトルを一緒に乗算するための乗算器デバイス１９０４、１９０５及び１９０６と、２つのベクトルを一緒に加算するための加算器デバイス１９０７と、１からの入力を減算して出力を生成する補完デバイス１９０８とを備える。
【０１０８】
図２０は、ＧＲＵセル１９００の一実装形態であるＧＲＵセル２０００を示す。読者の便宜のために、ＧＲＵセル１９００からの同じ採番方法が、ＧＲＵセル２０００で使用される。図２０から分かり得るように、シグモイド関数デバイス１９０１及び１９０２、並びにｔａｎｈデバイス１９０３は各々、複数のＶＭＭアレイ２００１及び活性化関数ブロック２００２を備える。したがって、ＶＭＭアレイは、特定のニューラルネットワークシステムで使用されるＧＲＵセルにおいて特に使用されることが分かり得る。
【０１０９】
ＧＲＵセル２０００の代替例（及びＧＲＵセル１９００の実装形態の別の例）を図２１に示す。図２１において、ＧＲＵセル２１００は、ＶＭＭアレイ２１０１及び活性化関数ブロック２１０２を使用しており、シグモイド関数として構成された場合には、入力ベクトルの各構成要素のうちどれだけの量が出力ベクトルを通して許容されるかを制御するために、０〜１の数を適用する。図２１では、シグモイド関数デバイス１９０１及び１９０２、並びにｔａｎｈデバイス１９０３は、同じ物理ハードウェア（ＶＭＭアレイ２１０１及び活性化関数ブロック２１０２）を、時分割多重化された方式で共有する。ＧＲＵセル２１００はまた、２つのベクトルを一緒に乗算するための乗算器デバイス２１０３と、２つのベクトルを一緒に加算するための加算器デバイス２１０５と、１からの入力を減算して出力を生成するための補完デバイス２１０９と、マルチプレクサ２１０４と、上記値がマルチプレクサ２１０４を介して乗算器デバイス２１０３から出力されるときの値ｈ（ｔ−１）*ｒ（ｔ）を保持するレジスタ２１０６と、上記値がマルチプレクサ２１０４を介して乗算器デバイス２１０３から出力されるときの値ｈ（ｔ−１）*ｚ（ｔ）を保持するレジスタ２１０７と、上記値がマルチプレクサ２１０４を介して乗算器デバイス２１０３から出力されるときの値ｈ＾（ｔ）*（１−ｚ（（ｔ））を保持するレジスタ２１０８と、を備える。
【０１１０】
ＧＲＵセル２０００が複数のＶＭＭアレイ２００１及び活性化関数ブロック２００２の複数の組を含むのに対し、ＧＲＵセル２１００は、ＧＲＵセル２１００の実施形態において複数の層を表すために使用されるＶＭＭアレイ２１０１及び活性化関数ブロック２１０２の１つの組のみを含む。ＧＲＵセル２１００は、ＧＲＵセル２０００と比較して、ＶＭＭ及び活性化関数ブロックのために１／３のスペースを必要とするので、ＧＲＵセル２１００は、ＧＲＵセル２０００より必要なスペースが少ないであろう。
【０１１１】
ＧＲＵシステムは、典型的には、複数のＶＭＭアレイを備え、これらは各々、加算器及び活性化回路ブロック及び高電圧生成ブロックなどの、ＶＭＭアレイの外側の特定の回路ブロックによって提供される機能を必要とすることが更に理解され得る。各ＶＭＭアレイに別個の回路ブロックを提供することは、半導体デバイスにかなりの量のスペースを必要とし、幾分非効率的であろう。したがって、以下に記載される実施形態は、ＶＭＭアレイ自体の外側に必要とされる回路を最小化することを試みる。
【０１１２】
ＶＭＭアレイへの入力は、アナログレベル、バイナリレベル、又はデジタルビット（この場合、デジタルビットを適切な入力アナログレベルに変換するためにＤＡＣが必要とされる）であり、出力はアナログレベル、バイナリレベル、又はデジタルビットであり得る（この場合、出力アナログレベルをデジタルビットに変換するために出力ＡＤＣが必要とされる）。
【０１１３】
ＶＭＭアレイの各メモリセルに関して、各重みｗは、単一のメモリセルによって、又は差動セルによって、又は２つのブレンドメモリセル（２つのセルの平均）によって実装することができる。差動セルの場合では、重みｗを差動重み（ｗ＝ｗ＋−ｗ−）として実装するために、２つのメモリセルが必要とされる。２つのブレンドメモリセルの場合は、２つのセルの平均として重みｗを実装するために２つのメモリセルが必要とされる。
デバイスの動作温度及び電流電圧特性
【０１１４】
図２２は、例示的なトランジスタ又はメモリセルの３つの例示的な電流電圧特性曲線を示すグラフを示す。図２２に示される現象は、フラッシュメモリシステムにおける典型的な基準トランジスタ、基準メモリセル、及び選択されたメモリセルの挙動を示すことが理解され得る。各曲線は、ゲートとソースとの間の電圧Ｖｇｓが変化するにつれて、デバイスを通る電流Ｉｄｓがどのように変化するかを示す。各曲線は、特定の動作温度におけるデバイスの電流電圧特性を表す。したがって、デバイスの動作温度が変化するにつれて、同一のＶｇｓ値の対応するＩｄｓ値は変化すると考えられ得る。温度が変化するにつれてデバイス特性がこのように変動することは問題である。これは、アナログニューロモーフィックメモリシステムが、通常のフラッシュメモリシステムと比較して、より高い精度及び正確度を必要とするためである。
【０１１５】
本明細書に記載される実施形態は、デバイスの電流電圧特性曲線に対する傾き補償（不連続的又は連続的のいずれか）、絶対スケーリング（正規化）、及び漏れ低減を提供することによって、デバイスの動作温度の変化につれてのデバイスの挙動の変化を補償する。
【０１１６】
図２３は、温度の変化を補償するためにデバイスの電流電圧特性に適用される傾き補償の一例を示す。同一デバイスが、異なる温度において異なるサブスレッショルド電流電圧特性曲線を有するであろうことが理解され得る。
【０１１７】
より一般的には、温度の関数として変化する変数ａを導入することにより、以下の式に基づいて、傾き補償をデバイスに適用できることが理解され得る。
Ｉｄｓ＝Ｉｄｓ０*ｅｘｐ（ａ*Ｖｇｓ１−Ｖｔ）／（ｋ*Ｖｔ）、式中、Ｖｔは熱電圧である。
【０１１８】
図２４Ａ及び図２４Ｂは、不連続的な温度補償を示す。図２４Ａは、温度の関数としてａの例示的な値を示す。温度が上昇するにつれて、ａは不連続的な段階で増加することが分かり得る。あるいは、線形領域又は飽和領域で作動するメモリセルなどについては、等価スケーリング定数が、温度に対して慎重な段階で減少することになる。図２４Ｂは、例示的な温度補償ブロック２４００を示す。温度センサ２４０１は、デバイスの温度を測定する。次いで、温度センサ２４０１の出力がコントローラ２４０２（個別論理又はソフトウェアを実行するマイクロコントローラであり得る）に提供され、コントローラ２４０２は、制御ビット２４０３ａ、．．．、２４０３ｉを生成する。範囲ａ〜ｉは、ｋの例示的な個別レベルの数を表す。より広い範囲又はより小さい範囲を使用できることが理解されるであろう。制御ビット２４０３の各々は、当該制御ビットに割り当てられた特定の温度範囲の間にアサートされる。したがって、温度が上昇するにつれて、各個別レベルの温度の達すると、異なる制御ビット２４０３がアサートされる。次いで、制御ビット２４０３は、スイッチ２４０５に（同じく、２４０５ａ、．．．、２４０５ｉの番号）適用される。各スイッチ２４０５は、閉じたときに、電流源２４０４（同じく、２４０４ａ、．．．、２４０４ｉの番号）をレジスタ２４０６の一端に適用する。ここで、各電流源２４０４は、前述の温度範囲でスイッチによって起動された電流源２４０４とは異なる量の電流を生成する。その結果、当該ノードにおける電圧Ｖｔｃは、温度が上昇するにつれて変化する。Ｖｔｃは、トランジスタのゲート、メモリセル２１０として図２に示される種類のメモリセルのワード線、メモリセル３１０として図３に示される種類のメモリセルの制御ゲート、メモリセル４１０として図４に示される種類のメモリセルのソースゲート、又はメモリセル５１０として図５に示される種類のメモリセルの制御ゲートに印加され得る、温度補償バイアス電圧である。このようにＶｔｃを加えることにより、各ゲート電圧値が本質的に量Ｖｔｃだけシフトされるため、デバイスの電圧特性曲線は修正されることになる。
【０１１９】
図２５は、温度補償ブロック２５００を示す。温度補償ブロック２５００は、演算増幅器２５０１及び２５０５と、調整可能なレジスタブロック２５０６と、温度センサ２４０１と、コントローラ２５０２と、を備える。調整可能なレジスタブロック２５０６は、スイッチ２５０８ａ、．．．、２５０８ｎのうちの１つにそれぞれ結合されたレジスタ２５０７ａ、．．．、２５０７ｎを備える。
【０１２０】
図２４のように、温度センサ２４０１は、デバイスの温度を測定する。次いで、温度センサ２４０１の出力がコントローラ２５０２（個別論理又はソフトウェアを実行するマイクロコントローラであり得る）に提供され、コントローラ２５０２は、制御ビット２５０９ａ、．．．、２５０９ｎを生成する。範囲ａ〜ｎは、ａの例示的な個別レベルの数を表す。より広い範囲又はより小さい範囲を使用できることが理解されるであろう。温度センサ２３０１によって検知された温度に応じて、制御ビット２５０９ａ、．．．、２５０９ｎの間で異なる制御ビットがアサートされる。次いで、制御ビット２５０９は、スイッチ２５０８に（同じく、２５０８ａ、．．．、２５０８ｎの番号）適用される。各スイッチ２５０８は、閉じたときに、それぞれのレジスタ２５０７（同じく、２５０７ａ、．．．、２５０７ｎの番号）をフィードバックレジスタとして演算増幅器２５０５に適用する。その結果、演算増幅器２５０５の出力電圧Ｖｇｓ＿ｔｃは、温度が上昇するにつれて増加する。
【０１２１】
Ｖｇｓ＿ｔｃは、トランジスタのゲート、メモリセル２１０／３１０／４１０として図２／３／４に示される種類のメモリセルのワード線、メモリセル３１０／５１０として図３／５に示される種類のメモリセルの制御ゲート、メモリセル２１０／３１０／４１０／５１０として図２／３／４／５に示される種類のメモリセルのソースゲート、又はメモリセル３１０／５１０として図３／５に示される種類のメモリセルの制御ゲートに印加され得る、温度補償バイアス電圧である。このようにＶｇｓ＿ｔｃを修正することにより、各Ｖｇｓ値が本質的にＶｇｓ＿ｔｃの量だけシフトされるため、デバイスの電圧特性曲線は修正されることになる。
【０１２２】
図２６Ａ及び図２６Ｂは、正の温度補償電流の場合は補償電流ｉｔｃｐｎ、ｉｔｃｐを、負の温度補償電流の場合は補償電流ｉｔｃｎを加えることによって、デバイスの電流電圧特性曲線を調整するための実施形態を示す。図２６Ａは、各種類のデバイスの温度変化につれての補完デバイスの３つ（４つ以上であってもよい）の例示的な曲線を示す。補償電流ｉｔｃｐｎを注入することにより、デバイスの電流電圧特性曲線の傾きは修正され得る。
【０１２３】
図２６Ｂは、温度補償ブロック２６００の一実施形態を示す。温度補償ブロック２６００は、デバイスの温度を測定する温度センサ２４０１と、コントローラ２６０５（論理又はソフトウェアを実行しているマイクロコントローラであり得る）とを備える。コントローラ２６０５は、１つ以上の制御信号２６０６を生成する。
【０１２４】
温度補償ブロック２６００は、補償電流ｉｔｃｐｎを提供する電流源２６０３によって表される電流を一緒に生成する、調整可能な電流源２６０１Ｉｔｃｐ及び２６０２Ｉｔｃｎを更に備える。調整可能な電流源２６０１及び２６０２は、制御信号２６０６によって調整される。調整可能な電流源２６０１及び２６０２の一方又は両方は、制御信号２６０６によってデバイスの温度が変化するにつれて、提供される補償電流ｉｔｃｐｎの量を変化させるように調整され得る。電流ｉｔｃｐｎはレジスタ２６０４に印加され、電流源２６０３とレジスタ２６０４との間のノードにおいて電圧Ｖｔｃを生じさせる。
【０１２５】
Ｖｔｃは、トランジスタのゲート、メモリセル２１０／３１０／４１０／５１０として図２／３／４／５に示される種類のメモリセルのワード線、メモリセル３１０／５１０として図３／５に示される種類のメモリセルの制御ゲート、メモリセル２１０／３１０／４１０／５１０として図２／３／４／５に示される種類のメモリセルのソースゲート、又はメモリセル３１０／４１０として図３／４に示される種類のメモリセルの消去ゲートに印加され得る、温度補償バイアス電圧である。このようにＶｔｃを加えることにより、各Ｖｇｓ値が本質的に量Ｖｔｃだけシフトされるため、デバイスの電圧特性曲線は修正されることになる。
【０１２６】
図２７Ａ及び図２７Ｂは、電流ｉｔｃｐｎによって生成されたバイアス電圧をデバイスの制御ゲートで加えることによって、デバイスの電流電圧特性曲線を調整するための一実施形態を示す。図２７Ａは、デバイスの動作温度が上昇するにつれて特定の動作を実行するために制御ゲートに印加される必要がある、必須の制御ゲート電圧Ｖｃｇの３つの例示的な曲線を示す。
【０１２７】
図２７Ｂは、温度補償ブロック２７００の一実施形態を示す。温度補償ブロック２７００は、デバイスの温度を測定する温度センサ２４０１と、コントローラ２７０５（論理又はソフトウェアを実行しているマイクロコントローラであり得る）とを備える。コントローラ２７０５は、１つ以上の制御信号２７０６を生成する。
【０１２８】
温度補償ブロック２７００は、補償電流ｉｐｃｎを生成する、調整可能な電流源２７０１と、調整可能なレジスタ２７０２とを更に備える。調整可能な電流源２７０１及び調整可能なレジスタ２７０２は、制御信号２７０６によって調整される。電圧Ｖｔｃは、調整可能な電流源２７０１と調整可能なレジスタ２７０２との間のノードにおいて生成される。
【０１２９】
Ｖｔｃは、メモリセル３１０として図３に示される種類のメモリセルの制御ゲート、又はメモリセル５１０として図５に示される種類のメモリセルの制御ゲートに印加され得る温度補償バイアス電圧である。このようにＶｔｃを加えることにより、各Ｖｇｓ値が本質的に量Ｖｔｃだけシフトされるため、デバイスの電圧特性曲線は修正されることになる。
【０１３０】
図２８Ａ及び図２８Ｂは、電流ｉｔｃｐｎによって生成されたバイアス電圧をデバイスの消去ゲートで加えることによって、デバイスの電流電圧特性曲線を調整するための一実施形態を示す。図２８Ａは、デバイスの動作温度が上昇するにつれて特定の動作を実行するために消去ゲートに印加される必要がある、必須の制御ゲート電圧Ｖｅｇの３つの例示的な曲線を示す。
【０１３１】
図２８Ｂは、多数の特性曲線を示しており、各曲線は、アレイ読み取り（ベクトルマトリックス乗算器）動作を実行するためにＶｅｇの各値に必要なＶｅｇを示し、各曲線は、特定の温度又は温度範囲におけるデバイスの特性を表す。
【０１３２】
図２８Ｃは、温度補償ブロック２８００の一実施形態を示す。温度補償ブロック２８００は、デバイスの温度を測定する温度センサ２４０１と、コントローラ２８０５（論理又はソフトウェアを実行しているマイクロコントローラであり得る）とを備える。コントローラ２８０５は、１つ以上の制御信号２８０６を生成する。
【０１３３】
温度補償ブロック２８００は、補償電流ｉｔｃｐｎを生成する、調整可能な電流源２８０１と、調整可能なレジスタ２８０２とを備える。調整可能な電流源２８０１及び調整可能な電流レジスタ２８０２は、デバイスの温度が変化するにつれて、制御信号２８０６によって調整される。電圧Ｖｔｃは、電流源２８０３とレジスタ２８０４との間のノードにおいて生成される。
【０１３４】
Ｖｔｃは、メモリセル３１０として図３に示される種類のメモリセルの消去ゲート、又はメモリセル４１０として図４に示される種類のメモリセルの消去ゲートに印加され得る温度補償バイアス電圧である。このようにＶｔｃを加えることにより、各Ｖｇｓ値が本質的に量Ｖｔｃだけシフトされるため、デバイスの電圧特性曲線は修正されることになる。
【０１３５】
図２９Ａ及び図２９Ｂは、電流ｉｔｃｐｎによって生成されたバイアス電圧をデバイスのソース線端子で加えることによって、デバイスの電流電圧特性曲線を調整するための一実施形態を示す。図２９Ａは、温度が上昇するにつれて特定の動作を実行するために必要とされる、必須のソース線端子電圧の３つの例示的な曲線を示す。
【０１３６】
図２９Ｂは、温度補償ブロック２９００の一実施形態を示す。温度補償ブロック２９００は、デバイスの温度を測定する温度センサ２４０１と、コントローラ２９０５（論理又はソフトウェアを実行しているマイクロコントローラであり得る）とを備える。コントローラ２９０５は、１つ以上の制御信号２９０６を生成する。
【０１３７】
温度補償ブロック２９００は、補償電流ｉｔｃｐｎを生成する、調整可能な電流源２９０１と、調整可能なレジスタ２９０２とを更に備える。調整可能な電流源２９０１及び調整可能なレジスタ２９０２は、デバイスの温度が変化するにつれて、デバイスの制御ゲートに印加される負バイアスの量を変化させるように制御信号２９０６によって調整され得る。電圧Ｖｔｃは、電流源２９０１とレジスタ２９０２との間のノードにおいて生成される。
【０１３８】
Ｖｔｃは、メモリセル２１０として図２に示される種類のメモリセルのソース線端子、メモリセル３１０として図３に示される種類のメモリセルのソース線端子、メモリセル４１０として図４に示される種類のメモリセルのソース線端子、又はメモリセル４１０として図４に示される種類のメモリセルの消去ゲート、又はメモリセル５１０として図５に示される種類のメモリセルのソース線端子に印加され得る温度補償バイアス電圧である。このようにＶｔｃを加えることにより、各Ｖｇｓ値が本質的に量Ｖｔｃだけシフトされるため、デバイスの電圧特性曲線は修正されることになる。
【０１３９】
電流電圧特性曲線の差は、異なるデバイス及び異なる構成の類似のデバイスに対して存在することが更に理解され得る。
【０１４０】
図３０は、特定の構成を有する、例示的な基準トランジスタ３０００を示す。
【０１４１】
図３１は、別の構成（ワード線がビット線に結合されている）を有する、例示的な基準メモリセル３１００を示す。
【０１４２】
図３２は、別の構成（浮遊ゲートＦＧがビット線に結合されている）を有する、別の例示的な基準メモリセル３２００を示す。これらのデバイスの各々は、異なる電流電圧特性曲線を有し得ることが理解され得る。
【０１４３】
本明細書に記載される実施形態は、基準トランジスタ、基準メモリセル、及び／又は選択されたメモリセルの電流電圧特性曲線の傾きにおける差を補償する。
【０１４４】
異なるサブスレッショルド電流電圧特性曲線を有する２つのデバイスを有するシステムでは、第１のデバイスを通るドレインソース電流は、
Ｉｄｓ１＝Ｉｄｓ０*ｅｘｐ（Ｖｇｓ１−Ｖｔ）／ｋ１*Ｕｔである。
【０１４５】
第２のデバイスを通るドレインソース電流は、
Ｉｄｓ２＝Ｉｄｓ０*ｅｘｐ（Ｖｇｓ２−Ｖｔ）／ｋ２*Ｕｔである。
【０１４６】
各例では、傾きは〜１／ｋに比例することが分かり得る。
【０１４７】
以下の実施形態のうちのいくつかにおいて、傾き正規化は、
Ｖｇｓ１＝ｋ*Ｖｇｓ２の第１のデバイスのゲートソース電圧を使用することによって実装される。
これは、Ｉｄｓ１及びＩｄｓが、傾き正規化後に同じ傾きを有することを意味する。
【０１４８】
これは、図３３に図式的に示され、Ｖｇｓ１＝ａ*Ｖｇｓ２の電圧がデバイス１に印加され、これにより、第１のデバイスの電流電圧特性曲線の傾きを第２のデバイスの電流電圧特性曲線の傾きに近似させる。
【０１４９】
ここで、異なるデバイス間で傾き正規化を実行するための実施形態について説明する。
【０１５０】
図３４は、基準トランジスタ３４０１と、選択されたメモリセル３４０２と、ゲートドライバ３４０３と、絶対正規化回路３４０４とを備える傾き正規化システム３４００を示す。ゲートドライバ３４０３は、入力電圧Ｖｇｓを受信し、その入力電圧にａを乗算して、基準トランジスタ３４０１のゲートに印加される出力電圧Ｖｇｓｉｎｔを生成する。絶対正規化回路３４０４は、トリミング可能な電流ミラー（基準トランジスタ３４０１からの電流とメモリセル３４０２からの出力電流との間の比を調整するための電流ミラー回路）であり得、トリミングプロセスは、基準トランジスタ若しくはアレイトランジスタによって、又はＩ−Ｖ傾きの不整合によって引き起こされる不一致を調整することができる。選択されたメモリセル３４０２は、メモリセルのアレイのメモリセルのうちの１つである。
【０１５１】
図３５は、基準トランジスタ３５０１と、選択されたメモリセル３５０２と、ドライバ３５０３とを備える傾き正規化システム３５００を示す。ドライバ３５０３は、電圧Ｖｇｓを受信し、それにａを乗算し、Ｖｇｓ’の出力電圧をもたらす。このため、基準トランジスタ３５０１及び選択されたメモリセル３５０２は、異なる電圧を受信することになり、差は、傾きの差に相当する。
【０１５２】
図３８は、動作温度の変化によるデバイスの電流電圧特性曲線３８００の変化を補償するためにルックアップテーブル３８０１を利用する一実施形態を示す。これらのデバイスは、トランジスタ、基準メモリセル、及び選択されたメモリセルを含み得る。この実施形態では、曲線３８００のデータは、ルックアップテーブル３８０１に格納され、動作中、ｋは、数式を介するのではなく、ルックアップテーブル３８０１から判定される。ルックアップテーブル３８０１は、様々な動作温度における各入力電圧に対して異なる所望の出力電流を含むことができる。このデータは、製造プロセス又は試験プロセス中にルックアップテーブル３８０１に追加され得る。
【０１５３】
実施形態はまた、漏れ低減を提供することができる。具体的には、トランジスタ又はメモリセルの漏れは、制御ゲート端子に負電圧（−０．１Ｖ〜−０．４Ｖの電圧など）を、ワード線端子に負電圧（−０．１Ｖ〜−０．４Ｖの電圧など）を、消去ゲート端子に負電圧（−０．１Ｖ〜−０．４Ｖの電圧など）を、より高い温度においてビット線により小さい電圧を、より高い温度においてバルク端子（基板）により小さい電圧を、又はソース線端子にバイアス電圧を印加することによって低減され得る。
【０１５４】
図３６は、デバイスの制御ゲート端子への電圧の印加による漏れ電流の低減を示す図を提供する。この実施形態では、制御ゲートバイアス電圧は、Ｉ−ｌｋ＝ｎ*Ｉ−ｍｉｎ／列数となるように選択される。アレイが２５６行×５１２列を含む場合、２５６*Ｉ−ｌｋｇ＜Ｉ−ｍｉｎの例となるだろう。例えば、Ｉ−ｍｉｎは約５００ｐＡであってよく、Ｉｌｋｇは約２ｐＡであってよい。これは、制御ゲートバイアス電圧が約２Ｖ超であろうことを意味する。
【０１５５】
温度補償のための別の実施形態では、逆の基板電圧（例えば、負電圧）が印加されるか、又はソース線電圧がバイアスされて、浮遊ゲートスレッショルド電圧ＶｔＦＧを上昇させることによってサブスレッショルド動作電圧範囲を拡大する。
【０１５６】
図３７は、線形領域で動作するメモリセルに好適なアレイアーキテクチャを示す。システム３７００は、入力ブロック３７０１と、出力ブロック３７０２と、メモリセルのアレイ３７０３とを備える。入力ブロック３７０１は、アレイ３７０３のメモリセルのドレイン（ソース線）に結合され、出力ブロック３７０２は、アレイ３７０３のメモリセルのビット線に結合される。あるいは、入力ブロック３７０１は、アレイ３７０３のメモリセルのワード線に結合され、出力ブロック３７０２は、アレイ３７０３のメモリセルのビット線に結合される。
【０１５７】
システム３７００がＬＳＴＭ又はＧＲＵを実装するために使用される場合、出力ブロック３７０２及び／又は入力ブロック３７０１は、ＬＳＴＭ／ＧＲＵアーキテクチャに必要とされるように、乗算器ブロック、加算器ブロック、減算器（出力＝１−入力）ブロックを含み得、任意選択的に、アナログサンプルアンドホールド回路又はデジタルサンプルアンドホールド回路（例えば、レジスタ又はＳＲＡＭ）を必要に応じて含むことができる。
【０１５８】
本明細書で使用される場合、「の上方に」及び「に」という用語は両方とも、「に直接」（中間材料、要素、又は空間がそれらの間に何ら配設されない）、及び「に間接的に」（中間材料、要素、又は空間がそれらの間に配設される）を包括的に含むことに留意するべきである。同様に、「隣接した」という用語は、「直接隣接した」（中間材料、要素、又は空間がそれらの間に何ら配設されない）、及び「間接的に隣接した」（中間材料、要素、又は空間がそれらの間に配設される）を含み、「に取り付けられた」は、「に直接取り付けられた」（中間材料、要素、又は空間がそれらの間に何ら配設されない）、及び「に間接的に取り付けられた」（中間材料、要素、又は空間がそれらの間に配設される）を含み、「電気的に結合された」は、「に直接電気的に結合された」（要素を一緒に電気的に接続する中間材料又は要素がそれらの間にない）、及び「間接的に電気的に結合された」（要素を一緒に電気的に接続する中間材料又は要素がそれらの間にある）を含む。例えば、要素を「基板の上方に」形成することは、その要素を基板に直接、中間材料／要素をそれらの間に何ら伴わずに、形成すること、並びにその要素を基板に間接的に、１つ以上の中間材料／要素をそれらの間に伴って、形成することを含み得る。
【図１】
2021536623.tif 000011
【図２】
2021536623.tif 000012
【図３】
2021536623.tif 000013
【図４】
2021536623.tif 000014
【図５】
2021536623.tif 000015
【図６】
2021536623.tif 000016
【図７】
2021536623.tif 000017
【図８】
2021536623.tif 000018
【図９】
2021536623.tif 000019
【図１０】
2021536623.tif 000020
【図１１】
2021536623.tif 000021
【図１２】
2021536623.tif 000022
【図１３】
2021536623.tif 000023
【図１４】
2021536623.tif 000024
【図１５】
2021536623.tif 000025
【図１６】
2021536623.tif 000026
【図１７】
2021536623.tif 000027
【図１８】
2021536623.tif 000028
【図１９】
2021536623.tif 000029
【図２０】
2021536623.tif 000030
【図２１】
2021536623.tif 000031
【図２２】
2021536623.tif 000032
【図２３】
2021536623.tif 000033
【図２４Ａ】
2021536623.tif 000034
【図２４Ｂ】
2021536623.tif 000035
【図２４Ｃ】
2021536623.tif 000036
【図２５】
2021536623.tif 000037
【図２６Ａ】
2021536623.tif 000038
【図２６Ｂ】
2021536623.tif 000039
【図２７Ａ】
2021536623.tif 000040
【図２７Ｂ】
2021536623.tif 000041
【図２８Ａ】
2021536623.tif 000042
【図２８Ｂ】
2021536623.tif 000043
【図２８Ｃ】
2021536623.tif 000044
【図２９Ａ】
2021536623.tif 000045
【図２９Ｂ】
2021536623.tif 000046
【図３０】
2021536623.tif 000047
【図３１】
2021536623.tif 000048
【図３２】
2021536623.tif 000049
【図３３】
2021536623.tif 000050
【図３４】
2021536623.tif 000051
【図３５】
2021536623.tif 000052
【図３６】
2021536623.tif 000053
【図３７】
2021536623.tif 000054
【図３８】
2021536623.tif 000055
【国際調査報告】
2021536623.tif 000056
2021536623.tif 000057
2021536623.tif 000058