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