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