(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-25
(45)【発行日】2024-10-03
(54)【発明の名称】人工ニューラルネットワークにおけるアナログニューラルメモリアレイのための不揮発性メモリセルのページ又はワードの精密チューニング及び関連する高電圧回路
(51)【国際特許分類】
G11C 16/16 20060101AFI20240926BHJP
G11C 11/54 20060101ALI20240926BHJP
G11C 16/04 20060101ALI20240926BHJP
H01L 21/336 20060101ALI20240926BHJP
H01L 29/788 20060101ALI20240926BHJP
H01L 29/792 20060101ALI20240926BHJP
H10B 41/35 20230101ALI20240926BHJP
【FI】
G11C16/16
G11C11/54
G11C16/04 120
H01L29/78 371
H10B41/35
(21)【出願番号】P 2022556563
(86)(22)【出願日】2020-09-22
(86)【国際出願番号】 US2020052068
(87)【国際公開番号】W WO2021194547
(87)【国際公開日】2021-09-30
【審査請求日】2023-05-30
(32)【優先日】2020-03-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500147506
【氏名又は名称】シリコン ストーリッジ テクノロージー インコーポレイテッド
【氏名又は名称原語表記】SILICON STORAGE TECHNOLOGY, INC.
(74)【代理人】
【識別番号】110000626
【氏名又は名称】弁理士法人英知国際特許商標事務所
(72)【発明者】
【氏名】トラン、ヒュー バン
(72)【発明者】
【氏名】ブー、サン
(72)【発明者】
【氏名】トリン、ステファン
(72)【発明者】
【氏名】ホン、スタンレー
(72)【発明者】
【氏名】リ、アン
(72)【発明者】
【氏名】レムケ、スティーブン
(72)【発明者】
【氏名】ティワリ、ビピン
(72)【発明者】
【氏名】ドー、ナン
【審査官】後藤 彰
(56)【参考文献】
【文献】国際公開第2019/177691(WO,A1)
【文献】特表2019-517138(JP,A)
【文献】国際公開第2019/108334(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/16
G11C 11/54
G11C 16/04
H01L 21/336
H10B 41/35
(57)【特許請求の範囲】
【請求項1】
アナログニューラルメモリシステムであって、
行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含む、不揮発性メモリセルのアレイと、
複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、
複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、
複数の消去ゲートイネーブルトランジスタであって、それぞれの消去ゲートイネーブルトランジスタは、不揮発性メモリセルのワードの消去ゲート端子に結合されている、複数の消去ゲートイネーブルトランジスタと、を備える、アナログニューラルメモリシステム。
【請求項2】
複数の消去ゲート線であって、それぞれの消去ゲート線は、消去ゲートイネーブルトランジスタに結合されている、複数の消去ゲート線を更に備え、
不揮発性メモリセルのワードは、前記消去ゲートイネーブルトランジスタをオンにすることによって同時に消去され得る、請求項1に記載のシステム。
【請求項3】
第1の行のワード及び前記第1の行に隣接する第2の行のワードは、1つのソース線を共有する、請求項1に記載のシステム。
【請求項4】
それぞれのワードは、1つのセルを含む、請求項1に記載のシステム。
【請求項5】
それぞれのワードは、2つ以上のセルを含む、請求項1に記載のシステム。
【請求項6】
アナログニューラルメモリシステムであって、
行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含む、不揮発性メモリセルのアレイと、
複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、
複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、
複数の消去ゲートイネーブルトランジスタであって、それぞれの消去ゲートイネーブルトランジスタは、不揮発性メモリセルのページの消去ゲート端子に結合されており、前記ページは、不揮発性メモリセルの2つのワードを隣接する行に含む、複数の消去ゲートイネーブルトランジスタと、を備える、アナログニューラルメモリシステム。
【請求項7】
複数の消去ゲート線であって、それぞれの消去ゲート線は、消去ゲートイネーブルトランジスタに結合されている、複数の消去ゲート線を更に備え、
不揮発性メモリセルのワードは、前記消去ゲートイネーブルトランジスタをオンにすることによって同時に消去され得る、請求項6に記載のシステム。
【請求項8】
アナログニューラルメモリシステムであって、
行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含む、不揮発性メモリセルのアレイと、
複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、
複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、
複数の消去ゲート線であって、それぞれの消去ゲート線は、不揮発性メモリセルのページの消去ゲート端子に結合されており、前記ページは、不揮発性メモリセルの2つのワードを隣接する行に含む、複数の消去ゲート線と、を備え
、
ワードを形成する不揮発性メモリセルは、前記複数の消去ゲート線のうちの対応する1つに結合された消去ゲートイネーブルトランジスタをオンにすることによって、同時にプログラム又は消去され得る、アナログニューラルメモリシステム。
【請求項9】
前記消去ゲート線は、制御ゲート線に直交する、請求項8に記載のシステム
。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本出願は、2020年3月22日に出願された「Precision Tuning of a Page or Word of Non-Volatile Memory Cells And Associated High Voltage Circuits for an Analog Neural Memory Array in an Artificial Neural Network」と題する米国仮特許出願第62/993,008号、及び、2020年9月17日に出願された「Precision Tuning of a Page or Word of Non-Volatile Memory Cells And Associated High Voltage Circuits for an Analog Neural Memory Array in an Artificial Neural Network」と題する米国特許出願第17/024,410号の優先権を主張する。
【0002】
(発明の分野)
アナログニューラルメモリ内の不揮発性メモリセルのページ又はワードの精密チューニングを実行するための多数の実施形態が開示される。精密チューニングプロセス中に使用される高電圧回路及びプログラミングシーケンスも開示される。
【背景技術】
【0003】
人工ニューラルネットワークは、生物学的ニューラルネットワーク(動物の中枢神経系、特に脳)を模倣しており、多数の入力に依存し得、かつ、一般的に未知である関数を推定する又は近似するために使用される。人工ニューラルネットワークは、概して、メッセージを交換する相互接続した「ニューロン」の層を含む。
【0004】
図1は人工ニューラルネットワークを示しており、図中、円は、入力又はニューロンの層を表す。接続(シナプスと呼ばれる)は、矢印によって表され、経験に基づいてチューニングされ得る数値の重みを有する。これにより、人工ニューラルネットワークは入力に適応し、学習可能になる。典型的には、人工ニューラルネットワークは、複数の入力の層を含む。典型的には、1つ以上のニューロンの中間層、及びニューラルネットワークの出力を提供するニューロンの出力層が存在する。各レベルでニューロンは、シナプスから受信したデータに基づいて個々に又は集合的に決定を行う。
【0005】
高性能情報処理用の人工ニューラルネットワークの開発における主要な課題の1つは、適切なハードウェア技術の欠如である。実際には、実用人工ニューラルネットワークは、非常に多数のシナプスに依拠しており、これによりニューロン間の高い接続性、すなわち、非常に高度な計算処理の並列化が可能となる。原理的には、このような複雑性は、デジタルスーパーコンピュータ又は専用グラフィックプロセッシングユニットクラスタによって実現が可能である。しかしながら、高コストに加え、これらのアプローチはまた、生物学的ネットワークが主として低精度のアナログ計算を実施するのではるかに少ないエネルギーしか消費しないのと比較して、エネルギー効率が劣っていることに悩まされている。人工ニューラルネットワークにはCMOSアナログ回路が使用されてきたが、ほとんどのCMOS実装シナプスは、多数のニューロン及びシナプスを前提とすると、嵩高過ぎていた。
【0006】
出願人は以前に、参照により組み込まれる米国特許公開2017/0337466号として公開された米国特許出願第15/594,439号において、シナプスとして1つ以上の不揮発性メモリアレイを利用する人工(アナログ)ニューラルネットワークを開示した。不揮発性メモリアレイは、アナログニューロモーフィックメモリとして動作する。本明細書で使用される場合、ニューロモーフィックという用語は、神経システムのモデルを実装する回路を意味する。アナログニューロモーフィックメモリは、第1の複数の入力を受信して、それから第1の複数の出力を生成するように構成されている第1の複数のシナプス、及び第1の複数の出力を受信するように構成された第1の複数のニューロンを含む。第1の複数のシナプスは複数のメモリセルを含み、各メモリセルは、半導体基板内に形成された、間にチャネル領域が延在している離間したソース領域及びドレイン領域と、チャネル領域の第1の部分の上方に配設され、チャネル領域の第1の部分から絶縁された浮遊ゲートと、チャネル領域の第2の部分の上方に配設され、チャネル領域の第2の部分から絶縁された非浮遊ゲートと、を含む。複数のメモリセルの各々は、浮遊ゲート上の多くの電子に対応する重み値を記憶するように構成されている。複数のメモリセルは、第1の複数の入力に、記憶された重み値を乗算して第1の複数の出力を生成するように構成される。この様式で配置されるメモリセルのアレイは、ベクトル行列乗算(VMM)アレイと称され得る。
【0007】
ここで、VMMで使用され得る異なる不揮発性メモリセルの例について論じる。
<<不揮発性メモリセル>>
【0008】
様々なタイプの既知の不揮発性メモリセルが、VMMアレイで使用され得る。例えば、参照により本明細書に組み込まれる米国特許第5,029,130号(「’130号特許」)は、フラッシュメモリセルの一種である、スプリットゲート不揮発性メモリセルのアレイを開示する。このようなメモリセル210を
図2に示す。各メモリセル210は、半導体基板12内に形成されたソース領域14とドレイン領域16と、を含み、ソース領域14とドレイン領域16の間にはチャネル領域18がある。浮遊ゲート20は、チャネル領域18の第1の部分の上方に絶縁されて形成され(並びに、チャネル領域18の第1の部分の導電性を制御して)、ソース領域14の一部分の上方にかけて形成される。ワード線端子22(典型的には、ワード線に結合される)は、チャネル領域18の第2の部分の上方に配設され、チャネル領域18の第2の部分から絶縁された、(並びに、チャネル領域18の第2の部分の導電性を制御する)第1の部分と、浮遊ゲート20の上方で上に延在する第2の部分と、を有する。浮遊ゲート20及びワード線端子22は、ゲート酸化物によって基板12から絶縁される。ビット線端子24はドレイン領域16に結合される。
【0009】
ワード線端子22に高圧正電圧を印加することによって、メモリセル210に対して消去が行われ(電子が浮遊ゲートから除去される)、これによって、浮遊ゲート20の電子は、浮遊ゲート20からワード線端子22までそれらの間にある絶縁体の中をファウラーノルドハイム(Fowler-Nordheim)トンネリングを介して通過する。
【0010】
メモリセル210は、ワード線端子22に正電圧、及びソース領域14に正電圧を印加することによってプログラムされる(電子が浮遊ゲートに印加される)。電子電流は、ドレイン領域16からソース領域14(ソース線端子)に向かって流れる。電子は加速し、ワード線端子22と浮遊ゲート20との間の間隙に達すると、励起される(発熱する)。熱せられた電子の一部が、浮遊ゲート20からの静電引力に起因して、浮遊ゲート20にゲート酸化物を介して注入される。
【0011】
メモリセル210は、ドレイン領域16及びワード線端子22に正の読み出し電圧を印加する(ワード線端子の下方のチャネル領域18の部分をオンにする)ことによって、読み出される。浮遊ゲート20が正に帯電する(すなわち、電子を消去する)と、浮遊ゲート20の下方のチャネル領域18の部分も同様にオンになり、電流はチャネル領域18を流れ、これは、消去された状態つまり「1」の状態として検知される。浮遊ゲート20が負に帯電する(すなわち、電子でプログラムされる)と、浮遊ゲート20の下方のチャネル領域の部分はほとんど又は完全にオフになり、電流はチャネル領域18を流れず(又はほとんど流れず)、これは、プログラムされた状態つまり「0」の状態として検知される。
【0012】
表1は、読み出し、消去、及びプログラム動作を実行するためのメモリセル110の端子に印加され得る典型的な電圧範囲を示す。
表1:
図2のフラッシュメモリセル210の動作
【表1】
「読み出し1」は、セル電流がビット線に出力される読み出しモードである。「読み出し2」は、セル電流がソース線端子に出力される読み出しモードである。
【0013】
図3は、制御ゲート(control gate、CG)端子28を追加した、
図2のメモリセル210と同様のメモリセル310を示す。制御ゲート端子28は、プログラミング中に高電圧(例えば、10V)、消去中に低又は負電圧(例えば、0v/-8V)、読み出し中に低又は中程度電圧(例えば、0v/2.5V)でバイアスされる。他の端子は、
図2の端子と同様にバイアスされる。
【0014】
図4は、ソース領域14と、ドレイン領域16と、チャネル領域18の第1の部分の上方にある浮遊ゲート20と、チャネル領域18の第2の部分の上方にある選択ゲート22(典型的には、ワード線、WL、に結合される)と、浮遊ゲート20の上方にある制御ゲート28と、ソース領域14の上方にある消去ゲート30と、を備える、4ゲートメモリセル410を示す。この構成は、あらゆる目的のため参照により本明細書に組み込まれる、米国特許第6,747,310号に記載されている。ここで、全てのゲートは、浮遊ゲート20を除いて、非浮遊ゲートであり、つまり、それらは電圧源に電気的に接続される又は接続可能である。プログラミングは、熱せられた電子がチャネル領域18から浮遊ゲート20にその電子自体を注入することによって実行される。消去は、電子が浮遊ゲート20から消去ゲート30へトンネリングすることによって実行される。
【0015】
表2は、読み出し、消去、及びプログラム動作を実行するためのメモリセル410の端子に印加され得る典型的な電圧範囲を示す。
表2:
図4のフラッシュメモリセル410の動作
【表2】
「読み出し1」は、セル電流がビット線に出力される読み出しモードである。「読み出し2」は、セル電流がソース線端子に出力される読み出しモードである。
【0016】
図5は、メモリセル510が消去ゲート(erase gate、EG)端子を含まないことを除いて、
図4のメモリセル410と同様のメモリセル510を示す。消去は、基板18を高電圧にバイアスし、制御ゲートCG端子28を低電圧又は負電圧にバイアスすることによって行われる。代替的に、ワード線端子22を正電圧にバイアスし、制御ゲート端子28を負電圧にバイアスすることによって、消去が行われる。プログラミング及び読み出しは、
図4のものと同様である。
【0017】
図6は、別の種類のフラッシュメモリセルである、3ゲートメモリセル610を示す。メモリセル610は、メモリセル610が別個の制御ゲート端子を有しないことを除いて、
図4のメモリセル410と同一である。(消去ゲート端子の使用を通じて消去が起こる)消去動作及び読み出し動作は、制御ゲートバイアスが印加されないことを除いて、
図4のものと同様である。プログラミング動作もまた、制御ゲートバイアスなしで行われるため、結果として、プログラム動作中は、制御ゲートバイアスの不足を補償するため、より高い電圧がソース線端子に印加されなければならない。
【0018】
表3は、読み出し、消去、及びプログラム動作を実行するためのメモリセル610の端子に印加され得る典型的な電圧範囲を示す。
表3:
図6のフラッシュメモリセル610の動作
【表3】
「読み出し1」は、セル電流がビット線に出力される読み出しモードである。「読み出し2」は、セル電流がソース線端子に出力される読み出しモードである。
【0019】
図7は、別の種類のフラッシュメモリセルである、積層ゲートメモリセル710を示す。メモリセル710は、浮遊ゲート20がチャネル領域18全体の上方にわたって延在し、制御ゲート端子22(ワード線に結合される)が絶縁層(図示せず)によって分離されて浮遊ゲート20の上方に延在することを除いて、
図2のメモリセル210と同様である。プログラミングは、チャネル
領域18から、ドレイン領域16の隣のチャネル領域内の浮遊ゲート20へのホット電子注入を使用して実行され、消去は、浮遊ゲート20から基板12へのファウラーノルドハイム電子トンネリングを使用して実行される。読み出し動作は、メモリセル210について前述したものと同様の方法で動作する。
【0020】
表4は、読み出し、消去、及びプログラム動作を実行するためのメモリセル710及び基板12の端子に印加され得る典型的な電圧範囲を示す。
表4:
図7のフラッシュメモリセル710の動作
【表4】
【0021】
「読み出し1」は、セル電流がビット線に出力される読み出しモードである。「読み出し2」は、セル電流がソース線端子に出力される読み出しモードである。任意選択的に、メモリセル210、310、410、510、610、又は710の行及び列を含むアレイでは、ソース線は、メモリセルの1行又はメモリセルの隣接する2行に結合され得る。すなわち、ソース線端子は、メモリセルの隣接する行によって共有され得る。
【0022】
図8は、ツインスプリットゲートメモリセル810を示す。メモリセル810は、基板12の上方に配設され、基板12から絶縁された浮遊ゲート(FG)20と、浮遊ゲート20の上方に配設され、浮遊ゲート20から絶縁された制御ゲート28(CG)と、浮遊ゲート20及び制御ゲート28に隣接して配設され、浮遊ゲート20及び制御ゲート28から絶縁された、かつ基板12の上方に配設され、基板12から絶縁された消去ゲート30(EG)であって、消去ゲート30は、
浮遊ゲート
FGA、FGB上隅部がT字形の消去ゲートの内側隅部に面して消去効率を向上させるように、T字形で形成される、消去ゲート30(EG)と、(ビット線コンタクト24(BL)がドレイ
ン領域16(DR)に接続されている)浮遊ゲート20に隣接した基板内のドレイン領域16(DR)と、を含む。メモリセルは、メモリセル対(左側のA及び右側のB)として形成され、共通消去ゲート30を共有する。このセル設計は、少なくとも、消去ゲートEGの下のソース領域を欠き、選択ゲート(ワード線とも呼ばれる)を欠き、それぞれのメモリセルのチャネル領域を欠く点で、
図2~
図7を参照して上述されるメモリセルとは異なる。代わりに、単一の連続チャネル領域18が両メモリセルの下に延在する(すなわち、一方のメモリセルのドレイン領域16Aから他方のメモリセルのドレイン領域16Bまで延在する)。一方のメモリセルの読み出し又はプログラムを行うためには、他方のメモリセルの制御ゲート28を十分な電圧まで上昇させて、それらの間にある浮遊ゲート20への電圧結合によって、下にあるチャネル領域部分を起動させる(例えば、セルAの読み出し又はプログラムを行うには、CGB 28Bからの電圧結合によってFGB 20Bの電圧を上昇させて、FGB 20B下のチャネル領域を起動させる)。消去は、浮遊ゲート20から消去ゲート30へのファウラーノルドハイム(Fowler Nordheim)電子トンネリングを使用して実行される。プログラミングは、チャネル18から浮遊ゲート20へのホット電子注入を使用して実行され、これは、表5にプログラム1として示されている。代替的に、プログラミングは、消去ゲート30から浮遊ゲート20へのファウラーノルドハイム電子トンネリングを使用して実行され、これは、表5にプログラム2として示されている。代替的に、プログラミングは、チャネル18から浮遊ゲート20へのファウラーノルドハイム電子トンネリングを使用して実行され、この場合、条件は、消去ゲート30が低い正電圧でバイアスされている間に、基板12は低電圧又は負電圧でバイアスされることを除いて、プログラム2と同様である。
【0023】
表5は、読み出し、消去、及びプログラム動作を実行するためのメモリセル810の端子に印加され得る典型的な電圧範囲を示す。この表では、セルA(端子EG、CGA、及びBLAを有する)は、それぞれの行における読み出し、プログラム、又は消去動作のために選択されるものとする。
表5:
図8のフラッシュメモリセル810の動作
【表5】
【0024】
上記の人工ニューラルネットワークにおける不揮発性メモリセルの種類のうちの1つを含むメモリアレイを利用するために、2つの修正が行われる。第1に、以下に更に説明されるように、アレイ内の他のメモリセルのメモリ状態に悪影響を与えずに各メモリセルを個々にプログラム、消去、及び読み出しできるように線を構成する。第2に、メモリセルの連続(アナログ)プログラミングを提供する。
【0025】
具体的には、アレイ内の各メモリセルのメモリ状態(すなわち、浮遊ゲート上の電荷)を、完全に消去された状態から完全にプログラムされた状態へ、独立して、かつ他のメモリセルの異常が最小で、連続的に変えることができる。別の実施形態では、アレイ内の各メモリセルのメモリ状態(すなわち、浮遊ゲートの電荷)を、完全にプログラムされた状態から完全に消去された状態へ、及び逆もまた同様に、独立して、かつ他のメモリセルの異常が最小で、連続的に変えることができる。これはつまり、セル記憶がアナログであるか、又は多数の不連続値(16個又は64個の異なる値など)のうちの1つを最低限記憶することができることを意味し、これにより、メモリアレイ内の全てのセルが非常に精確に、かつ個々にチューニング可能となり、また、メモリアレイが、記憶、及びニューラルネットワークのシナプシスの重みへの微細チューニング調整に対して、理想的なものになる。
【0026】
本明細書に記載される方法及び手段は、限定することなく、FINFETスプリットゲートフラッシュ又はスタックゲートフラッシュメモリ、NANDフラッシュ、3Dフラッシュ、SONOS(ケイ素-酸化物-窒化物-酸化物-ケイ素、窒化物中の電荷トラップ)、MONOS(金属-酸化物-窒化物-酸化物-ケイ素、窒化物中の金属電荷トラップ)、ReRAM(抵抗変化型メモリ)、PCM(相変化メモリ)、MRAM(磁気抵抗メモリ)、FeRAM(強誘電体メモリ)、OTP(バイレベル又はマルチレベルの1回のみのプログラムが可能)及びCeRAM(強相関電子メモリ)などの他の不揮発性メモリ技術に適用することができる。本明細書に記載される方法及び手段は、限定することなく、SRAM、DRAM、及び他の揮発性シナプスセルなどのニューラルネットワークに使用される揮発性メモリ技術に適用することができる。
<<不揮発性メモリセルアレイを使用するニューラルネットワーク>>
【0027】
図9は、本実施形態の不揮発性メモリアレイを利用するニューラルネットワークの非限定例を概念的に示す。この例は、顔認識アプリケーション用に不揮発性メモリアレイニューラルネットワークを使用するが、不揮発性メモリアレイベースのニューラルネットワークを使用して他の適切なアプリケーションを実装することも可能である。
【0028】
S0は入力層であり、この例では、5ビット精度の32×32ピクセルRGB画像である(すなわち、各色R、G、及びBにつき1つずつで3つの32×32ピクセルアレイであり、各ピクセルは5ビット精度である)。入力層S0から層C1に行くシナプスCB1は、一部のインスタンスには異なる重みのセットを適用し、他のインスタンスには共有の重みを適用し、入力画像を3×3ピクセルの重なり合うフィルタ(カーネル)でスキャンし、1ピクセル(又はモデルによっては2ピクセル以上)ずつフィルタをシフトする。具体的には、画像の3×3部分における9ピクセルの値(すなわち、フィルタ又はカーネルと称される)は、シナプスCB1に提供され、そこで、これらの9個の入力値に適切な重みを乗算し、その乗算の出力を合計後、単一の出力値が決定され、特徴マップC1の層の1つのピクセルを生成するためにCB1の第1のシナプスによって与えられる。3×3フィルタは次に、入力層S0内で右側に1ピクセルだけシフトされ(すなわち、3ピクセルの列を右側に追加し、左側で3ピクセルの列をドロップする)、これにより、この新しく位置づけられたフィルタの9ピクセル値はシナプスCB1に提供され、そこでそれらに上記と同じ重みを乗算し、関連するシナプスによって第2の単一の出力値を決定する。このプロセスを、3×3フィルタが入力層S0の32×32ピクセル画像全体にわたって3色全て及び全てのビット(精度値)についてスキャンするまで続ける。プロセスは次に、層C1の特徴マップ全てが計算されるまで、異なる重みのセットを使用して繰り返されて、C1の異なる特徴マップを生成する。
【0029】
本例では、層C1において、各々30×30ピクセルを有する16個の特徴マップが存在する。各ピクセルは、入力とカーネルとの乗算から抽出された新しい特徴ピクセルであり、したがって、各特徴マップは、2次元アレイであり、したがってこの例では、層C1は、2次元アレイの16層を構成する(本明細書で言及される層及びアレイは、必ずしも物理的関係ではなく論理的な関係であり、すなわち、アレイは必ずしも物理的な2次元アレイに配向されないことに留意されたい)。層C1内の16個の特徴マップの各々は、フィルタスキャンに適用される異なるシナプス重みのセット16個のうちの1つによって生成される。C1特徴マップは全て、境界同定など、同じ画像特徴の異なる態様を対象とすることができる。例えば、第1のマップ(この第1のマップを生成するために使用される全てのスキャンに共有される第1の重みセットを使用して生成される)は、円形エッジを識別することができ、第2のマップ(第1の重みセットと異なる第2の重みセットを使用して生成される)は、長方形エッジ又は特定の特徴のアスペクト比などを識別することができる。
【0030】
層C1から層S1へ行く前には、各特徴マップ内の重なり合わずに連続する2×2領域からの値をプールする活性化関数P1(プーリング)が適用される。プーリング関数の目的は、近隣の位置を平均すること(又はmax関数を使用することも可能である)、例えばエッジ位置の依存性を低減すること、及び次の段階に行く前にデータサイズを低減することである。層S1において、16個の15×15特徴マップ(すなわち、各々15×15ピクセルの異なるアレイ16個)が存在する。層S1から層C2に行くシナプスCB2は、S1内のマップを4×4フィルタにより1ピクセルのフィルタシフトでスキャンする。層C2において、22個の12×12特徴マップが存在する。層C2から層S2へ行く前には、各特徴マップ内の重なり合わずに連続する2×2領域からの値をプールする活性化関数P2(プーリング)が適用される。層S2において、22個の6×6特徴マップが存在する。層S2から層C3へ行くシナプスCB3では活性化関数(プーリング)が適用され、ここで層C3内の全てのニューロンは、CB3のそれぞれのシナプスを介して層S2内の全てのマップに接続する。層C3において、64個のニューロンが存在する。層C3から出力層S3へと行くシナプスCB4は、C3をS3に完全に接続する、すなわち、層C3内の全てのニューロンは、層S3内の全てのニューロンに接続される。S3における出力は、10個のニューロンを含み、ここで出力が最も高いニューロンが、クラス(分類)を決定する。この出力は、例えば、元の画像の内容の同定又は分類を示すことができる。
【0031】
シナプスの各層は、不揮発性メモリセルのアレイ又はアレイの一部を使用して実装される。
【0032】
図10は、その目的のために使用可能なシステムのブロック図である。VMMシステム32は、不揮発性メモリセルを含み、ある層と次の層との間のシナプス(図
9のCB1、CB2、CB3、及びCB4など)として利用される。具体的には、VMMシステム32は、行及び列に配置された不揮発性メモリセルを備えるVMMアレイ33、消去ゲート及びワード線ゲートデコーダ34、制御ゲートデコーダ35、ビット線デコーダ36、並びにソース線デコーダ37を備え、それらのデコーダは、不揮発性メモリセルアレイ33に対するそれぞれの入力をデコードする。VMMアレイ33への入力は、消去ゲート及びワード線ゲートデコーダ34から、又は制御ゲートデコーダ35から行うことができる。この例におけるソース線デコーダ37はまた、VMMアレイ33の出力をデコードする。代替的に、ビット線デコーダ36が、VMMアレイ33の出力をデコードすることができる。
【0033】
VMMアレイ33は、2つの目的を果たす。第1に、VMMシステム32によって使用される重みを記憶する。第2に、VMMアレイ33は、効果的に、入力に、VMMアレイ33に記憶された重みを乗算し、それらを出力線(ソース線又はビット線)ごとに合計して出力を生成し、これは、次の層への入力又は最後の層への入力になる。乗算及び加算の関数を実行することによって、VMMアレイ33は、別個の乗算及び加算の論理回路の必要性をなくし、また、その場でのメモリ計算により電力効率も良い。フィルタ(カーネル)の重みは、単一又は複数のVMMアレイ33にわたって1つ若しくは複数のビット線(列)又は1つ若しくは複数の行にわたってマッピングされる。
【0034】
VMMアレイ33の出力は、VMMアレイ33の出力を合計してその畳み込み用の単一の値を作成する、差動加算器(加算演算増幅器又は加算電流ミラーなど)38に供給される。差動加算器38は、正の重み入力及び負の重み入力両方の総和を実行して単一の値を出力するように配置される。
【0035】
差動加算器38の合計された出力値は、次に出力を整流する活性化関数回路39に供給される。活性化関数回路39は、シグモイド関数、tanh関数、ReLU関数、又は任意の他の非線形関数を提供し得る。活性化関数回路39の整流された出力値は、次の層(例えば
図9のC1)の特徴マップの要素になり、次いで、次のシナプスに適用されて次の特徴マップ層又は最後の層を生成する。したがって、この例では、VMMアレイ33は、複数のシナプス(それは、ニューロンの前の層から、又は画像データベースなどの入力層から、入力を受信する)を構成し、加算器38及び活性化関数回路39は、複数のニューロンを構成する。
【0036】
図10のVMMシステム32への入力(WLx、EGx、CGx、及び任意選択的にBLx及びSLx)は、アナログレベル、バイナリレベル、デジタルタイミングパルス(この場合、パルスを適切な入力アナログレベルに変換するためにパルス-アナログ変換器PACが必要とされ得る)又はデジタルビット(この場合、デジタルビットを適切な入力アナログレベルに変換するためにDACが提供される)であり得、出力は、アナログレベル(例えば、電流、電圧、又は電荷)、バイナリレベル、デジタルパルス、又はデジタルビットであり得る(この場合、出力アナログレベルをデジタルビットに変換するために出力ADCが提供される)。
【0037】
図11は、図中でVMMシステム32a、32b、32c、32d及び32eとして標示されたVMMシステム32の多数の層の使用を示すブロック図である。
図11に示されるように、入力(Inputxで示される)は、デジタル-アナログ変換器31によってデジタルからアナログに変換され、入力VMMシステム32aに提供される。変換されたアナログ入力は、電圧又は電流であり得る。第1の層の入力D/A変換は、入力VMMシステム32aの行列乗算器の適切なアナログレベルに入力Inputxをマッピングする関数又はLUT(ルックアップテーブル)を使用することによって行うことができる。入力変換はまた、外部アナログ入力を入力VMMシステム32aへのマッピングされたアナログ入力に変換するように、アナログ-アナログ(A/A)変換器によって行うこともできる。入力変換はまた、外部デジタル入力を入力VMMシステム32aへのマッピングされたデジタルパルス(複数可)に変換するように、デジタル-デジタルパルス(D/P)変換器によって行うこともできる。
【0038】
入力VMMシステム32aによって生成された出力は、次に、次のVMMシステム(隠しレベル1)32bへの入力として提供され、次に、次のVMMシステムが、さらに次のVMMシステム(隠しレベル2)32cへの入力として提供される出力を生成する、などとなる。VMMシステム32の様々な層は、畳み込みニューラルネットワーク(convolutional neural network、CNN)のシナプス及びニューロンの各層として機能する。VMMシステム32a、32b、32c、32d及び32eはそれぞれ、対応の不揮発性メモリアレイを備える、スタンドアローンの物理的システムとすることができ、又は複数のVMMシステムは、同じ物理的不揮発性メモリアレイの異なる部分を利用することができ、又は複数のVMMシステムは、同じ物理的不揮発性メモリアレイの重なり合う部分を利用することができる。各VMMシステム32a、32b、32c、32d、及び32eはまた、そのアレイ又はニューロンの様々な部分に対して時間多重化され得る。
図11に示される例は、5つの層(32a、32b、32c、32d、32e)、すなわち、1つの入力層(32a)、2つの隠れ層(32b、32c)、及び2つの全結合層(32d、32e)を含む。当業者であれば、これは単なる例示であり、代わりにシステムが2つを超える隠れ層及び2つを超える完全に接続された層を含み得ることを理解するであろう。
<<VMMアレイ>>
【0039】
図12は、
図3に示されるメモリセル310に特に適しており、かつ入力層と次の層との間でシナプス及びニューロンの一部として利用される、ニューロンVMMアレイ1200を示す。VMMアレイ1200は、不揮発性メモリセルのメモリアレイ1201と、不揮発性基準メモリセルの基準アレイ1202(アレイの頂部に位置する)と、を含む。代替的に、別の基準アレイが底部に位置することができる。
【0040】
VMMアレイ1200では、制御ゲート線1203などの制御ゲート線が垂直方向に延びており(したがって、行方向の基準アレイ1202が、制御ゲート線1203に直交する)、消去ゲート線1204などの消去ゲート線が水平方向に延びている。ここで、VMMアレイ1200への入力は、制御ゲート線(CG0、CG1、CG2、CG3)に提供され、VMMアレイ1200の出力は、ソース線(SL0、SL1)に現れる。一実施形態では、偶数行のみが使用され、別の実施形態では、奇数行のみが使用される。各ソース線(それぞれSL0、SL1)に加えられる電流は、その特定のソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【0041】
ニューラルネットワークについて本明細書に記載されているように、VMMアレイ1200の不揮発性メモリセルは、サブスレッショルド領域で動作するように構成されることが好ましい。
【0042】
本明細書に記載される不揮発性基準メモリセル及び不揮発性メモリセルは、以下のように弱い反転でバイアスされる:
Ids=Io*e(Vg-Vth)/nVt=w*Io*e(Vg)/nVt
式中、w=e(-Vth)/nVtであり、
式中、Idsはドレイン-ソース間電流であり、Vgはメモリセルのゲート電圧であり、Vthはメモリセルの(実効又は等価)スレッショルド電圧であり、Vtは熱電圧=k*T/qであり、kはボルツマン定数、Tはケルビン温度、qは電子電荷であり、nは傾斜係数=1+(Cdep/Cox)であり、Cdep=空乏層の容量、及びCoxはゲート酸化物層の容量であり、Ioは、スレッショルド電圧に等しいゲート電圧におけるメモリセル電流であり、Ioは、(Wt/L)*u*Cox*(n-1)*Vt2に比例し、式中、uはキャリア移動度であり、Wt及びLはそれぞれ、メモリセルの幅及び長さである。
【0043】
メモリセル(基準メモリセル又は周辺メモリセルなど)又はトランジスタを使用して入力電流Idsを入力電圧Vgに変換するI-Vログ変換器を使用した場合、Vgは以下のとおりである:
Vg=n*Vt*log[Ids/wp*Io]
式中、wpは、基準又は周辺メモリセルのwである。
【0044】
ベクトル行列乗算器VMMアレイとして使用されるメモリアレイについて、出力電流は以下である:
Iout=wa*Io*e(Vg)/nVt、すなわち
Iout=(wa/wp)*Iin=W*Iin
W=wa/wp=e(Vthp-Vtha)/nVt
Iin=wp*Io*e(Vg)/nVt
式中、wa=メモリアレイのそれぞれのメモリセルのWである。Vthpは、基準メモリセル(又は周辺メモリセル若しくはトランジスタ)の(等価又は実効)スレッショルド電圧であり、Vthaは、アレイメモリセルの(等価又は実効)スレッショルド電圧である。
【0045】
ワード線又は制御ゲートは、入力電圧のためのメモリセルの入力として使用することができる。
【0046】
代替的に、本明細書に記載されたVMMアレイの不揮発性メモリセルは、線形領域で動作するように構成することができる。
Ids=ベータ*(Vgs-Vth)*Vds; ベータ=u*Cox*Wt/L
W α (Vgs-Vth)
すなわち、直線領域における重みWは、(Vgs-Vth)に比例する。
【0047】
ワード線又は制御ゲート又はビット線又はソース線は、線形領域内で動作するメモリセルの入力として使用することができる。ビット線又はソース線は、メモリセルの出力として使用することができる。
【0048】
I-V線形変換器用に、線形領域で動作するメモリセル(基準メモリセル又は周辺メモリセルなど)若しくはトランジスタ、又は抵抗器を使用して、入出力電流を入出力電圧に線形変換することができる。
【0049】
代替的に、本明細書に記載されたVMMアレイのメモリセルは、飽和領域で動作するように構成することができる。
Ids=1/2*ベータ*(Vgs-Vth)2;ベータ=u*Cox*Wt/L
Wα(Vgs-Vth)2、すなわち重みWは、(Vgs-Vth)2に比例する。
【0050】
ワード線、制御ゲート、又は消去ゲートは、飽和領域内で動作するメモリセルの入力として使用することができる。ビット線又はソース線は、出力ニューロンの出力として使用することができる。
【0051】
代替的に、本明細書に記載されるVMMアレイのメモリセルは、ニューラルネットワークのそれぞれの層又は多層に対して全ての領域又はそれらの組み合わせ(サブスレッショルド、線形、又は飽和)で使用され得る。
【0052】
図13は、
図2に示されるメモリセル210に特に適したニューロンVMMアレイ1300を示し、入力層と次の層との間のシナプスとして利用される。VMMアレイ1300は、不揮発性メモリセルのメモリアレイ1303と、第1の不揮発性基準メモリセルの基準アレイ1301と、第2の不揮発性基準メモリセルの基準アレイ1302と、を含む。アレイの列方向に配置された基準アレイ1301及び1302は、端子BLR0、BLR1、BLR2、及びBLR3に流入する電流入力を電圧入力WL0、WL1、WL2、及びWL3に変換するように機能する。実際には、第1及び第2の不揮発性基準メモリセルは、電流入力が流入する状態で、マルチプレクサ1314(一部のみ示す)を通してダイオード接続される。基準セルは、目標基準レベルにチューニング(例えば、プログラム)される。目標基準レベルは、基準ミニアレイ行列(図示せず)によって、又はバンドギャップベースの基準回路から提供される。
【0053】
メモリアレイ1303は、2つの目的を果たす。第1に、VMMアレイ1300により使用される重みを、それぞれのメモリセルに記憶する。第2に、メモリアレイ1303は、メモリセルアレイ1303に記憶された重みによって、入力(すなわち、端子BLR0、BLR1、BLR2、及びBLR3に提供された電流入力であり、これを基準アレイ1301及び1302が入力電圧に変換して、ワード線WL0、WL1、WL2、及びWL3に供給する)を有効に乗算して、次いで、全ての結果(メモリセル電流)を加算して、それぞれのビット線(BL0~BLN)の出力を生成し、この出力は次の層への入力又は最後の層への入力となる。メモリアレイ1303が乗算及び加算の関数を実行することで、別個の乗算及び加算の論理回路の必要性はなくなり、また、電力効率も良い。ここで、電圧入力はワード線WL0、WL1、WL2、及びWL3に提供され、出力は、読み出し(推論)動作中にそれぞれのビット線BL0~BLNに現れる。各々のビット線BL0~BLNに配置された電流は、その特定のビット線に接続された全ての不揮発性メモリセルからの電流の合計関数を実行する。
【0054】
表6は、VMMアレイ1300の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線に加えられる電圧を示し、FLTは、浮遊、すなわち電圧が印加されないことを示す。行は、読み出し、消去、及びプログラムの動作を示す。
表6:
図13のVMMアレイ1300の動作
【表6】
【0055】
図14は、
図2に示されるメモリセル210に特に適しており、かつ入力層と次の層との間でシナプス及びニューロンの一部として利用される、ニューロンVMMアレイ1400を示す。VMMアレイ1400は、不揮発性メモリセルのメモリアレイ1403と、第1の不揮発性基準メモリセルの基準アレイ1401と、第2の不揮発性基準メモリセルの基準アレイ1402と、を含む。基準アレイ1401及び1402は、VMMアレイ1400の行方向に延びる。VMMアレイは、VMMアレイ1400においてワード線が垂直方向に延びることを除いて、VMM1300と同様である。ここで、入力はワード線(WLA0、WLB0、WLA1、WLB2、WLA2、WLB2、WLA3、WLB3)に提供され、出力は、読み出し動作中にソース線(SL0、SL1)に現れる。各ソース線に加えられる電流は、その特定のソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【0056】
表7は、VMMアレイ1400の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線に加えられる電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
表7:
図14のVMMアレイ1400の動作
【表7】
【0057】
図15は、
図3に示されるメモリセル310に特に適しており、かつ入力層と次の層との間でシナプス及びニューロンの一部として利用される、ニューロンVMMアレイ1500を示す。VMMアレイ1500は、不揮発性メモリセルのメモリアレイ1503と、第1の不揮発性基準メモリセルの基準アレイ1501と、第2の不揮発性基準メモリセルの基準アレイ1502と、を含む。基準アレイ1501及び1502は、端子BLR0、BLR1、BLR2、及びBLR3に流入する電流入力を電圧入力CG0、CG1、CG2、及びCG3に変換するように機能する。実際には、第1及び第2の不揮発性基準メモリセルは、電流入力がBLR0、BLR1、BLR2、及びBLR3を通って流入する状態で、マルチプレクサ1512(一部のみ示す)を通してダイオード接続される。マルチプレクサ1512は、読み出し動作中に第1及び第2の不揮発性基準メモリセルのそれぞれのビット線(BLR0など)の一定電圧を確実にするために、対応のマルチプレクサ1505及びカスコーディングトランジスタ1504をそれぞれ含む。基準セルは、目標基準レベルにチューニングされる。
【0058】
メモリアレイ1503は、2つの目的を果たす。第1に、それはVMMアレイ1500によって使用される重みを記憶する。第2に、メモリアレイ1503は、入力(端子BLR0、BLR1、BLR2、及びBLR3に提供された電流入力であり、基準アレイ1501及び1502がこれらの電流入力を入力電圧に変換して、制御ゲート(CG0、CG1、CG2、及びCG3)に供給する)にメモリセルアレイに記憶された重みを掛けて、次いで、全ての結果(セル電流)を加算して出力を生成し、この出力はBL0~BLNに現れ、次の層への入力又は最後の層への入力となる。メモリアレイが乗算及び加算の関数を実行することで、別個の乗算及び加算の論理回路の必要性がなくなり、また、電力効率も良い。ここで、入力は制御ゲート線(CG0、CG1、CG2、及びCG3)に提供され、出力は、読み出し動作中にビット線(BL0~BLN)に現れる。各ビット線に加えられる電流は、その特定のビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【0059】
VMMアレイ1500は、メモリアレイ1503内の不揮発性メモリセルの一方向チューニングを実装する。すなわち、各不揮発性メモリセルは消去され、次いで、浮遊ゲート上の所望の電荷に達するまで部分的にプログラムされる。これは、例えば、以下に記載される精密プログラミング技術を使用して実行することができる。過度に多くの電荷が浮遊ゲートに加えられる場合(その場合は誤った値がセルに記憶される)、セルは消去されなければならず、一連の部分的なプログラミング動作をやり直さなければならない。示されるように、同じ消去ゲート(EG0又はEG1など)を共有する2つの行は、一緒に消去される必要があり(ページ消去として知られる)、その後、各セルは、浮遊ゲート上の所望の電荷に達するまで部分的にプログラムされる。
【0060】
表8は、VMMアレイ1500の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタ内の非選択セルの制御ゲート、選択セルとは異なるセクタ内の非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線に加えられる電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
表8:
図15のVMMアレイ1500の動作
【表8】
【0061】
図16は、
図3に示されるメモリセル310に特に適しており、かつ入力層と次の層との間でシナプス及びニューロンの一部として利用される、ニューロンVMMアレイ1600を示す。VMMアレイ1600は、不揮発性メモリセルのメモリアレイ1603と
、第1の不揮発性基準メモリセル
の基準アレイ1601と、第2の不揮発性基準メモリセルの基準アレイ1602と、を備える。EG線EGR0、EG0、EG1、及びEGR1は垂直に延び、CG線CG0、CG1、CG2、及びCG3並びにSL線WL0、WL1、WL2、及びWL3は水平に延びる。VMMアレイ1600は、VMMアレイ1600が双方向チューニングを実装することを除いてVMMアレイ1600と同様であり、それぞれの個々のセルは、個別の垂直なEG線の使用により、浮遊ゲートの所望の電荷量に達するために、完全に消去され、部分的にプログラムされ、必要に応じて部分的に消去され得る。示されるように、基準アレイ1601及び1602は、端子BLR0、BLR1、BLR2及びBLR3内の入力電流を制御ゲート電圧CG0、CG1、CG2及びCG3に変換し(マルチプレクサ1614を介したダイオード接続された基準セルの作用を通じて)、これらの電圧は行方向でメモリセルに印加される。電流出力(ニューロン)は、ビット線BL0~BLN中にあり、各ビット線は、その特定のビット線に接続された不揮発性メモリセルからの全ての電流を合計する。
【0062】
表9は、VMMアレイ1600の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタ内の非選択セルの制御ゲート、選択セルとは異なるセクタ内の非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線に加えられる電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
表9:
図16のVMMアレイ1600の動作
【表9】
【0063】
VMMアレイへの入力は、アナログレベル、バイナリレベル、タイミングパルス、又はデジタルビットであり得、出力は、アナログレベル、バイナリレベル、タイミングパルス、又はデジタルビット(この場合、出力アナログレベルの電流又は電圧をデジタルビットに変換するために出力ADCが必要とされる)であり得る。
【0064】
VMMアレイ内のそれぞれのメモリセルに関して、それぞれの重みWは、単一のメモリセルによって、又は差分セルによって、又は2つのブレンドメモリセル(2つ以上のセルの平均)によって実装され得る。差分セルの場合では、重みwを差分重み(w=w+ - w-)として実装するために、2つのメモリセルが必要とされる。2つのブレンドメモリセルの場合は、2つのセルの平均として重みwを実装するために2つのメモリセルが必要とされる。
【0065】
適切な重みをセルに記憶するのに適切な荷電量が浮遊ゲートにあることを確実にするため、不揮発性メモリセルを正確かつ精密にプログラム及び消去することは不可欠である。
【0066】
必要とされるのは、ワード又はページ基準の精密なチューニングを可能にするVMMシステムであり、ワードは、典型的には、それぞれ複数の論理ビットを記憶する8~64個のメモリセル(すなわち、それぞれ例えば3~8ビットを記憶するマルチレベルセル)を含み、ページは、それぞれ複数の論理ビットを記憶する64個のメモリセルを含む。更に必要とされるのは、必要な電圧を生成するための高電圧回路である。更に必要とされるのは、消去ゲート異常及び制御ゲート異常などの望ましくない影響の発生を最小限に抑えるために改善されたプログラミングシーケンスである。
【発明の概要】
【0067】
アナログニューラルメモリ内の不揮発性メモリセルのページ又はワードの精密チューニングを実行するための多数の実施形態が開示される。精密チューニングプロセス中に不揮発性メモリセルの端子に印加される高電圧を生成するために使用される高電圧回路も開示される。精密チューニング中の異常の発生を最小限に抑えるために、端子に電圧を印加するためのプログラミングシーケンスも開示される。
【0068】
一実施形態では、アナログニューラルメモリシステムは、行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含むアレイと、複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、複数の消去ゲートイネーブルトランジスタであって、それぞれの消去ゲートイネーブルトランジスタは、不揮発性メモリセルのワードの消去ゲート端子に結合されている、複数の消去ゲートイネーブルトランジスタと、を含む。
【0069】
別の実施形態では、アナログニューラルメモリシステムは、行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含むアレイと、複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、複数の消去ゲートイネーブルトランジスタであって、それぞれの消去ゲートイネーブルトランジスタは、不揮発性メモリセルのページの消去ゲート端子に結合されており、ページは、隣接する行に不揮発性メモリセルの2つのワードを含む、複数の消去ゲートイネーブルトランジスタと、を含む。
【0070】
別の実施形態では、アナログニューラルメモリシステムは、行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含むアレイと、複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、複数の消去ゲート線であって、それぞれの消去ゲート線は、不揮発性メモリセルのページの消去ゲート端子に結合されており、ページは、隣接する行に不揮発性メモリセルの2つのワードを含む、複数の消去ゲート線と、を含む。
【0071】
別の実施形態では、不揮発性メモリセルのワード又はページでチューニングを実行する方法であって、方法は、不揮発性メモリセルのワード又はページを消去するステップと、不揮発性メモリセルのワード又はページのソフトプログラミングを実行するステップと、不揮発性メモリセルのワード又はページの粗プログラミングを実行するステップと、不揮発性メモリセルのワード又はページの微細プログラミングを実行するステップと、不揮発性メモリセルのワード又はページ内の任意の高速ビットを識別して、それらのビットが、通常(非高速及び非低速)ビットとは異なるシーケンスを使用してプログラムされ得るようにするステップと、を含む。
【0072】
別の実施形態では、行及び列に配置された不揮発性メモリセルのアレイ内の不揮発性メモリセルのワードをプログラムする方法であって、それぞれの不揮発性メモリセルは、制御ゲート端子、ソース線端子、及び消去ゲート端子を含み、方法は、第1の期間中に、不揮発性メモリセルのワードの制御ゲート端子の電圧をランプアップさせるステップと、第1の期間後の第2の期間中に、不揮発性メモリセルのワードのソース線端子の電圧をランプアップさせるステップと、第2の期間後の第3の期間中に、不揮発性メモリセルのワードの消去ゲート線端子の電圧をランプアップさせるステップと、を含む。
【0073】
別の実施形態では、行及び列に配置された不揮発性メモリセルのアレイ内の不揮発性メモリセルのワードをプログラムする方法であって、それぞれの不揮発性メモリセルは、制御ゲート端子、ソース線端子、及び消去ゲート端子を含み、方法は、第1の期間中に、不揮発性メモリセルのワードの制御ゲート端子の電圧を中間電圧までランプアップさせるステップと、第1の期間後の第2の期間中に、不揮発性メモリセルのワードのソース線端子の電圧をランプアップさせるステップと、第2の期間後の第3の期間中に、不揮発性メモリセルのワードの消去ゲート線端子の電圧をランプアップさせるステップと、第3の期間後の第4の期間中に、不揮発性メモリセルのワードの制御ゲート端子の電圧を更にランプアップさせるステップと、を含む。
【0074】
別の実施形態では、行及び列に配置された不揮発性メモリセルのアレイ内の不揮発性メモリセルのワードをプログラムする方法であって、それぞれの不揮発性メモリセルは、制御ゲート端子、ソース線端子、及び消去ゲート端子を含み、方法は、第1の期間中に、不揮発性メモリセルのワードの制御ゲート端子の電圧を第1の中間電圧までランプアップさせるステップと、第1の期間後の第2の期間中に、不揮発性メモリセルのワードのソース線端子の電圧を第2の中間電圧までランプアップさせるステップと、第2の期間後の第3の期間中に、不揮発性メモリセルのワードの消去ゲート線端子の電圧をランプアップさせ、不揮発性メモリセルのワードのソース線端子の電圧を更にランプアップさせ、不揮発性メモリセルのワードの制御ゲート端子の電圧を第3の中間電圧まで更にランプアップさせるステップと、第3の期間後の第4の期間中に、不揮発性メモリセルのワードの制御ゲート端子の電圧を更にランプアップさせるステップと、を含む。
【0075】
別の実施形態では、行及び列に配置された不揮発性メモリセルのアレイ内の不揮発性メモリセルのワードをプログラムする方法であって、それぞれの不揮発性メモリセルは、制御ゲート端子、ソース線端子、及び消去ゲート端子を含み、方法は、第1の期間中に、不揮発性メモリセルのワードのソース線端子の電圧をランプアップさせるステップと、第1の期間後の第2の期間中に、不揮発性メモリセルのワードの消去ゲート線端子の電圧をランプアップさせ、不揮発性メモリセルのワードの制御ゲート端子の電圧をランプアップさせるステップと、を含む。
【0076】
別の実施形態では、アナログニューラルメモリシステムは、行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含むアレイと、複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、回路デコーダブロックであって、消去ゲートデコード信号を提供するための消去ゲートデコーダ、2つの制御ゲート信号を提供するための制御ゲートデコーダ、及びソース線デコード信号を提供するソース線デコーダを含む、回路デコーダブロックと、を含む。
【0077】
別の実施形態では、アナログニューラルメモリシステムは、行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含むアレイと、複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、回路デコーダブロックであって、消去ゲートデコード信号を提供するための消去ゲートデコーダ、4つの制御ゲート信号を提供するための制御ゲートデコーダ、及びソース線デコード信号を提供するソース線デコーダを含む、回路デコーダブロックと、を含む。
【0078】
別の実施形態では、アナログニューラルメモリシステムは、行及び列に配置された不揮発性メモリセルのアレイであって、それぞれの不揮発性メモリセルは、ワード線端子、ビット線端子、及び消去ゲート端子を含むアレイと、複数のワード線であって、それぞれのワード線は、不揮発性メモリセルの行のワード線端子に結合されている、複数のワード線と、複数のビット線であって、それぞれのビット線は、不揮発性メモリセルの列のビット線端子に結合されている、複数のビット線と、回路デコーダブロックであって、2つの消去ゲートデコード信号を提供するための消去ゲートデコーダ、8つの制御ゲート信号を提供するための制御ゲートデコーダ、及びソース線デコード信号を提供するソース線デコーダを含む、回路デコーダブロックと、を含む。
【0079】
【0080】
【0081】
【0082】
【0083】
【0084】
【0085】
【0086】
【0087】
【0088】
【0089】
【0090】
【0091】
【0092】
【0093】
【0094】
【0095】
【0096】
【0097】
【0098】
【0099】
【0100】
【0101】
【0102】
【0103】
【0104】
【0105】
【0106】
【0107】
【0108】
【0109】
【0110】
【0111】
【0112】
【0113】
【0114】
【0115】
【図面の簡単な説明】
【0116】
【
図1】先行技術の人工ニューラルネットワークを示す。
【
図2】先行技術のスプリットゲートフラッシュメモリセルを示す。
【
図3】別の先行技術のスプリットゲートフラッシュメモリセルを示す。
【
図4】別の先行技術のスプリットゲートフラッシュメモリセルを示す。
【
図5】別の先行技術のスプリットゲートフラッシュメモリセルを示す。
【
図6】別の先行技術のスプリットゲートフラッシュメモリセルを示す。
【
図7】先行技術の積層ゲートフラッシュメモリセルを示す。
【
図8】先行技術のツインスプリットゲートメモリセルを示す。
【
図9】1つ以上のVMMアレイを利用する例示的な人工ニューラルネットワークの様々なレベルを示す。
【
図10】VMMアレイ及び他の回路を備えるVMMシステムを示す。
【
図11】1つ以上のVMMシステムを利用する例示的な人工ニューラルネットワークを示す。
【
図17】ページ基準の消去能力を有するVMMアレイの一実施形態を示す。
【
図18】ワード基準の消去能力を有するVMMアレイの一実施形態を示す。
【
図19】ワード基準の消去能力を有するVMMアレイの別の実施形態を示す。
【
図20A】ページ又はワード基準の双方向チューニングアルゴリズムを示す。
【
図20B】ページ又はワード基準の双方向チューニングアルゴリズムを示す。
【発明を実施するための形態】
【0117】
本発明の人工ニューラルネットワークは、CMOS技術及び不揮発性メモリアレイの組み合わせを利用する。
<<ページ又はワード基準のチューニングによる改善されたVMMシステム>>
【0118】
図17は、VMMアレイ1700を示す。VMMアレイ1700は、不揮発性メモリセルのページの双方向チューニングを実装する。ここで、例示的なページ1701は、それぞれが異なる行にある2つのワードを含む。ワードは、複数のメモリセル、例えば、8~64個を含む。特別なワードは、1つのセルのみ又は数個のセルを含み得る。隣接する行の対は、SL0又はSL1などのソース線を共有する。ページ1701内の全てのセルは、例示的なページセット1701内の全てのセルの消去ゲート端子EGWへの電圧の提供を制御する、消去ゲートイネーブルトランジスタ1702によって制御される共通の消去ゲート線を共有する。ここで、ページ1701内の全てのセルは、同時に消去され得る。その後、ページ1701内のセルは、プログラム動作及び消去動作を介して双方向にチューニングされ得、ページ1701内のいくつかのセルは、プログラム動作を介して単方向にチューニングされ得る。プログラム動作は、
図20及び
図21を参照して以下に記載される精密プログラミング技術を含み得る。浮遊ゲートに電子電荷がかかりすぎる(誤った電流値、すなわち、意図された電流値よりも低い電流値がセルに記憶される原因となる)場合、セルは消去される必要があり、部分的なプログラミング動作のシーケンスをやり直す必要がある。
【0119】
図18は、VMMアレイ1800を示す。VMMアレイ1800は、不揮発性メモリセルのワードの双方向チューニングを実装する。ここで、例示的なワード1801は、1行に複数のセルを含む。ワード1801内の全てのセルは、ワード1801内の全てのセルの消去ゲート端子への電圧の提供を制御する、消去ゲートイネーブルトランジスタ1802によって制御される共通の消去ゲート線を共有する。ここで、ワード1801内の全てのセルは、同時に消去され得る。その後、ワード1801内のセルは、プログラム動作及び消去動作を介して双方向にチューニングされ得る。プログラム動作は、以下に記載される精密プログラミング技術を含み得る。浮遊ゲートに電子電荷がかかりすぎる(その結果、誤った電流値、すなわち、意図された電流値よりも低い電流値がセルに記憶される)場合、セルは消去される必要があり、部分的なプログラミング動作のシーケンスをやり直す必要がある。
【0120】
図19は、VMMアレイ1900を示す。VMMアレイ1900は、不揮発性メモリセルのワードの双方向チューニングを実装する。ここで、例示的なワード1901は、セルの2つの半ワードを含む。それぞれの半ワードは、消去ゲートを共有する行に属する。ワード1901内の全てのセルは、消去ゲート端子EGWに接続された共通の消去ゲート線を共有する。VMMアレイ1800及び1700とは異なり、消去ゲートイネーブルトランジスタは存在しない。ここで、ワード1901内の全てのセルは、同時に消去され得る。その後、ワード1901内のセルは、プログラム動作及び消去動作を介して双方向にチューニングされ得る。プログラム動作は、以下に記載される精密プログラミング技術を含み得る。浮遊ゲートに電子電荷がかかりすぎる(その結果、誤った電流値、すなわち、意図された電流値よりも低い電流値がセルに記憶される)場合、セルは消去される必要があり、部分的なプログラミング動作のシーケンスをやり直す必要がある。
【0121】
図17、
図18、及び
図19には示されていないが、参照により本明細書に組み込まれる、2020年2月26日に出願された「Ultra-Precise Tuning of Analog Neural Memory Cells In A Deep Learning Artificial Neural Network」と題する米国仮特許出願第62/981,757号に記載されているように、ソース線プルダウンビット線、チューニングビット線(超微細プログラミングに使用される)、ダミービット線、及び冗長ビット線が使用され得る。
【0122】
図20Aは、
図17~
図19のVMMアレイ1700、1800、又は1900に適用され得るページ/ワードのチューニングアルゴリズム2000を示す。
【0123】
第1に、ワード又はページが消去される(ステップ2001)。第2に、深層プログラミングが未使用のセルに対して実行される(ステップ2002)。深層プログラミングは、読み取り動作中にわずかなセル電流を有する状態(又は目標レベル)、例えば、<pA範囲などにセルをプログラムするために使用される。第3に、粗プログラミングが、ワード又はページ内のセルに対して実行される(ステップ2003)。粗プログラミングは、粗目標レベルに、例えば、大きい(粗)増分電圧及び/又はプログラム電流及び/又はプログラムタイミングを用いて目標の50~500%以内にセルをプログラムするために使用される。第4に、微細プログラミングが、ワード又はページ内のセルに対して実行される(ステップ2004)。微細プログラミングは、微細目標レベルに、例えば、小さい(微細)増分プログラム電圧及び/又はプログラム電流及び/又はプログラムタイミングを用いて目標の+/-5~30%以内にセルをプログラムするために使用される。第5に、超微細プログラミングが、ワード又はページ内のセルに対して任意選択的に実行される(ステップ2005)。超微細プログラミングは、精密な非常に小さい増分電圧及び/又はプログラム電流及び/又はプログラムタイミングを用いて最終目標レベルにセルをプログラムするために使用される。粗/微細/超微細プログラミングの最終目標レベル内で達成されるパーセンテージは、プログラム量子化ノイズ(増分の大きさ)、妨害ノイズ、様々な結合ノイズ、FG-FG結合ノイズなどのノイズを最小限に抑えるために、増分レベル及び/又はプログラムタイミングの大きさに対してトレードオフされる。
【0124】
図20Bは、
図17~
図19のVMMアレイ1700、1800、又は1900に適用され得るページ/ワードのチューニングアルゴリズム2050を示す。ページ/ワードのチューニングアルゴリズム2050は、ページ/ワードのチューニングアルゴリズム2050が、高速ビット又は低速ビットを処理するためのステップを更に含むことを除いて、
図20Aのページ/ワードのチューニングアルゴリズム2000と同様である。ステップ2001~2005は、
図20Aと同様に生じる。ステップ2006又は代替的にステップ2003では、ワード又はページが任意の高速ビット又は低速ビットを含むかどうかの決定が行われる(ステップ2006)。高速ビットは、所望のレベルに到達するために必要なプログラミング期間が通常ビットよりも短いビットであり、低速ビットは、所望のレベルに到達するために必要なプログラミング期間が通常ビットよりも長いビットである。高速ビットは、デルタIr/デルタtprog(電流の経時変化、例えばK個の連続パルスにわたる電流変化)>所定のR係数、例えばK=2パルスを測定するなどして、セルのプログラム速度(プログラムスピード)を監視することによって検出され得る。低速ビットは、プログラム速度デルタIr/デルタtprog<所定のR係数を監視することによって検出され得る。いいえの場合、アルゴリズムは停止する。はいの場合、高速ビットセル又は低速ビットセルが識別され、フラグ付けされる。その後、そのワード又はページの任意のプログラミングは、
図21A及び
図21Bを参照して以下で論じられるように、高速ビットアルゴリズム又は低速ビットアルゴリズムを利用することになる。
【0125】
出願人は、参照により本明細書に組み込まれる、2020年2月26日に出願された「Ultra-Precise Tuning of Analog Neural Memory Cells in a Deep Learning Artificial Neural Network」と題する米国仮特許出願第62/981,757号で、粗プログラミング、微細プログラミング、及び超微細プログラミングを実行するための様々な技術を以前に開示している。
【0126】
図21Aは、高速ビットアルゴリズム2100を示す。これは、ワード又はページが、高速ビットとしても知られる1つ以上の高速ビットセルを含むと決定された場合に実行される。第1に、ワード又はページが消去されるか、又は部分的に消去される(ステップ2101)。第2に、高速ビットがプログラムされ、検証される(ステップ2102)。これは、例えば、デフォルト(又は一定)より小さい電圧増分、及び/又はデフォルトより小さいプログラム電流、及び/又はデフォルトより小さいタイミングを用いて行われる。次に、通常ビット、すなわち、高速ビット又は低速ビットとしてフラグ付けされていない全てのビットがプログラムされ、検証される(ステップ2103)。これは、例えば、粗/微細/超微細電圧増分及び/又はプログラム電流及び/又はタイミングのデフォルト設定で行われる。
【0127】
図21Bは、低速ビットアルゴリズム2150を示す。これは、ワード又はページが、1つ以上の低速ビットセルを含むと決定された場合に実行される。第1に、ワード又はページが消去されるか、又は部分的に消去される(ステップ2151)。第2に、低速ビットセルがプログラムされ、検証される(ステップ2152)。これは、例えば、デフォルトよりも大きい電圧増分、及び/又はデフォルトよりも大きいプログラム電流、及び/又はデフォルトよりも大きいタイミングを用いて行われる。次に、通常ビット、すなわち、低速ビット又は高速ビットとしてフラグ付けされていない全てのビットがプログラムされ、検証される(ステップ2153)。これは、例えば、粗/微細/超微細電圧増分及び/又はプログラム電流及び/又はタイミングのデフォルト設定で行われる。
【0128】
一実施形態では、低速ビットセルが、同じページ/ワードにおける他のセルへの妨害を回避するために最初にチューニングされ、次いで、高速ビットセルがチューニングされ、次いで、通常ビットセルがチューニングされる。
【0129】
一実施形態では、低速ビットセルが(同じページ/ワードにおける他のセルへの妨害を回避するために)最初にチューニングされ、次いで、通常ビットセルがチューニングされ、次いで、高速ビットセルがチューニングされる。
【0130】
図22は、VMMシステム2200のブロック図を示す。VMMシステム2200は、VMMアレイ2201、行デコーダ2202、高電圧デコーダ2203、列デコーダ2204、ビット線ドライバ2205、入力回路2206、出力回路2207、制御論理2208、及びバイアス生成器2209を備える。VMMシステム2200は、チャージポンプ2211、チャージポンプ調節器2212、及び高電圧レベル生成器2213を含む、高電圧生成ブロック2210を更に備える。VMMシステム2200は、(プログラム/消去、又は別名重みチューニング)アルゴリズムコントローラ2214、アナログ回路2215、制御論理2216、及び試験制御論理2217を更に備える。以下に記載されるシステム及び方法は、VMMシステム2200に実装され得る。
【0131】
入力回路2206は、DAC(デジタル-アナログ変換器)、DPC(デジタル-パルス変換器)、AAC(電流-電圧変換器などのアナログ-アナログ変換器)、PAC(パルス-アナログレベル変換器)、又は任意の他のタイプの変換器などの回路を含み得る。入力回路2206は、正規化、線形若しくは非線形アップ/ダウンスケーリング関数、又は算術関数を実装し得る。入力回路2206は、入力のための温度補償関数を実装し得る。入力回路2206は、ReLU又はシグモイドなどの活性化関数を実装し得る。出力回路2207は、ADC(ニューロンアナログ出力をデジタルビットに変換するための、アナログ-デジタル変換器)、AAC(電流-電圧変換器などのアナログ変換器)、APC(アナログ-パルス変換器)、又は任意の他のタイプの変換器などの回路を含み得る。出力回路2207は、ReLU又はシグモイドなどの活性化関数を実装し得る。出力回路2207は、ニューロン出力の統計的正規化、正則化、アップ/ダウンスケーリング関数、統計的丸め、又は算術関数(例えば、加算、減算、除算、乗算、シフト、ログ)を実装し得る。出力回路2207は、アレイの電力消費をほぼ一定に保つために、又はIVの傾斜をほぼ同じに保つことになどによってアレイ(ニューロン)出力の精度を高めるために、ニューロン出力又はアレイ出力(ビット線出力など)のための温度補償関数を実装し得る。
【0132】
図23は、
図22の高電圧生成ブロック2210の一実施形態である高電圧生成ブロック2300を示す。高電圧生成ブロック2300は、チャージポンプ2211及びチャージポンプ調節器2212を含み、これらは、様々な高電圧を生成し、ここではEN_CPとして標示されたイネーブル信号によって制御される。チャージポンプ2211及びチャージポンプ調節器2212は、ゲート高電圧発生器2301、消去ゲート高電圧発生器2302、及びソース線高電圧発生器2303を制御するために必要な高電圧を提供し、これらはそれぞれ、EN_CGGEN、EN_EGGEN、及びEN_SLGENと標示されたイネーブル信号によって制御され、VMMアレイ内のプログラム動作、消去動作、又は読み取り動作中に必要に応じてそれぞれ、制御ゲート線、消去ゲート線、及びソース線に高電圧信号を提供する。
【0133】
図24は、第1の高電圧HV1と第2の高電圧HV2との間で最も高い電圧を識別し、最高電圧を出力する高電圧電源を供給するために使用される高電圧最大回路を示す。比較器2401は、HV1div及びHV2divを受信し、これらはそれぞれHV1及びHV2のレベルシフトされ、分割された(すなわち、低電圧)バージョンである。比較器2401は、HV1がHV2より高い場合、線COMPOで高信号を出力し、HV1がHV2より低い場合、線COMPOで低信号を出力する。線COMPOでの比較器2401の出力は、高電圧レベルシフタ2402及び高電圧レベルシフタ2403に提供される。比較器2401の出力が低い場合、高電圧レベルシフタ2402は、線2402Bで低信号を出力し、高電圧レベルシフタ2403は、線2403Aで低信号を出力する。比較器2401の出力が高い場合、高電圧レベルシフタ2402は、線2402Aで低信号を出力し、高電圧レベルシフタ2403は、線2403Bで低信号を出力する。PMOSトランジスタ2404、2405、2406、及び2407は、図示されるように、それらのゲートが線2402A、2402B、2403A、及び2403Bのうちの対応する1つに結合されるように構成されている。高電圧レベルシフタ2402が線2402Bで低信号を出力し、高電圧レベルシフタ2403が線2403Aで低信号を出力する場合、高電圧出力2408は、HV2に相当し、PMOSトランジスタ2406、2407全体の電圧降下は少なくなる。高電圧レベルシフタ2402が線2402Aで低信号を出力し、高電圧レベルシフタ2403が線2403Bで低信号を出力する場合、高電圧出力2408は、HV1に相当し、PMOSトランジスタ2404、2405全体の電圧降下は少なくなる。
【0134】
図25は、高電圧生成ブロック2412の別の実施形態である高電圧生成ブロック2500を示す。ここで、高電圧生成ブロック2500は、信号EN_CPによって有効にされるチャージポンプ及び調節器2501と、高電圧増分基準生成器2503と、高電圧バッファ演算増幅器2502と、を含む。チャージポンプ調節器250
1の出力の電圧は、高電圧オペアンプHVOPAの入力に供給されるチャージポンプ2501によって出力される出力電圧HVSUPの部分をトリミングすることによって、高電圧増分基準発生器2503内のMOSトランジスタのゲートに送信される信号に基づいて制御され得る。
【0135】
図26は、高電圧生成ブロック2412の別の実施形態である高電圧生成ブロック2600を示す。高電圧生成ブロック2600は、入力VIN(低電圧信号)を受信し、出力としてHV出力(高電圧信号)を生成し、演算増幅器2603、可変抵抗器2601、及び可変抵抗器2602を含み、ここで、演算増幅器2601の利得は、可変抵抗器2601及び/又は可変抵抗器2602の値に依存する。したがって、高電圧増分値は、可変抵抗器2601及び/又は抵抗器2602の値によって制御される。
【0136】
図27Aは、図示のように構成された、クランプPMOSトランジスタ2701、イネーブルNMOSトランジスタ2702、及び電流バイアスNMOSトランジスタ2703を含む、ランプダウ
ン回路2700を示す。ランプダウン回路2700は、PMOSトランジスタ2701のソースでランプダウンされる電圧HVを受信し、PMOSトランジスタ2701のドレインに出力信号VHV_DETを生成し、この出力信号は、HVのピーク値を有し、イネーブルNMOSトランジスタ2702のゲートに供給される信号ENRMPの低から高への変化に応答して、接地に向かってランプダウンすることになる。出力信号VHV_DETは、ENRMPが高に等しいときに、電流バイアスNMOSトランジスタ2703によって制御される電流によって、HV値からVcas+Vt PH値までランプダウンされる。
【0137】
図27Bは、カスコーディングNMOSトランジスタ2751、シャントNMOSトランジスタ2753(ランプ電流を提供する)、イネーブルNMOSトランジスタ2572、電流源2754、及びコンデンサ2755を含む、別のランプダウ
ン回路2750を示す。HVノードのランプダウン速度は、I/C(
=基準電流源2754
のI/コンデンサ2755の静電容量)によって制御される。
【0138】
図28は、図示のように構成されたNMOSカスコーディングトランジスタ2801、イネーブルNMOSトランジスタ2802、電流シャントNMOSトランジスタ2803、電流源2805、及びコンデンサ2804を含む、ランプアップ回路2800を示す。ランプアップ回路2800は、NMOSトランジスタ2803を通る電流を短絡することによって、I/C(=I基準電流源2805/コンデンサ2804の静電容量)の比でHVノードのランピング速度を制御する。HVノードのランプ速度は、コンデンサ2804を通して注入された電流が電流源2805に等しくなるようなものである。
【0139】
図29A、
図29B、及び
図29Cは、
図2に示される種類のメモリセルで使用するのに適切である、ワード線デコーダ回路2901、ソース線デコーダ回路2904、及び高電圧レベルシフタ2908を含む、VMM高電圧デコード回路を示す。
【0140】
図29Aでは、ワード線デコーダ回路2901は、図示のように構成された、PMOS選択トランジスタ2902(信号HVO_Bによって制御される)及びNMOS選択解除トランジスタ2903(信号HVO_Bによって制御される)を含む。HVSUPは、チャージポンプ及び調節器から供給されるような高電圧供給である。WLSUPは、HVO_Bがイネーブルにされたときに、ワード線WLに電圧供給をもたらす。
【0141】
図29Bでは、ソース線デコーダ回路2904は、図示のように構成された、NMOS監視トランジスタ2905(信号HVOによって制御される)、駆動トランジスタ2906(信号HVOによって制御される)、及び選択解除トランジスタ2907(信号HVO_Bによって制御される)を含む。信号HVOが高い場合、線SLSUPに現れる電圧は、線SLを通り、監視線SL_MONに現れる。信号HVO_Bが高い場合、線SLはプルダウンされる。
【0142】
図29Cでは、高電圧レベルシフタ2908は、イネーブル信号ENを受信し、HVSUP、例えば12Vと、HVSUP_LOW供給、例えば0V(HVSUPが、例えば中間レベル約5Vに等しい場合)又は2.5V(HVSUPが、例えば12Vである場合)との間の高電圧信号HVO及びその相補HVO_Bを出力する。例えば、HVOは5Vであり得、かつHVO_Bは0Vであり得るか、又はHVOは12Vであり得、かつHVO_Bは2.5Vであり得る。
【0143】
図30A~
図30Dは、
図3に示される種類のメモリセルで使用するのに適切である、消去ゲートデコーダ回路3001、制御ゲートデコーダ回路3004、ソース線デコーダ回路3007、及び高電圧レベルシフタ3011を含む、VMM高電圧デコード回路を示す。
【0144】
図30A及び
図30Bでは、消去ゲートデコーダ回路3001及び制御ゲートデコーダ回路3004は、
図29Aのワード線デコーダ回路2901と同じ設計を使用する。
【0145】
図30Cでは、ソース線デコーダ回路3007は、
図29のソース線デコーダ回路2904と同じ設計を使用する。
【0146】
図30Dでは、高電圧レベルシフタ3011は、
図29の高電圧レベルシフタ2908と同じ設計を使用する。
【0147】
図31~
図34は、プログラム動作中に、1つ以上の不揮発性メモリセルの制御ゲート端子、ソース線端子、及び消去ゲート端子に印加される電圧のプログラミングシーケンスを示す。
【0148】
図31は、制御ゲート電圧CGが第1の期間中にランプアップし、次いで、ソース線電圧SLが第2の期間中にランプアップし、次いで消去ゲート電圧EGが第3の期間中にランプアップするプログラムシーケンス3100を示す。3つの全電圧は、第4の期間中にそのピーク値で定常に達し、次いでランピングシーケンスが反転し、消去ゲート電圧EGは第5の期間中にランプダウンし、ソース線電圧SLは第6の期間中にランプダウンし、制御ゲート電圧CGは第7の期間中にランプダウンする。プログラムシーケンス3100は、消去ゲート異常の発生を最小限に抑える。
【0149】
図32は、制御ゲート電圧CGが第1の期間中に中間値までランプアップし、次いでソース線電圧SLが第2の期間中にそのピーク値までランプアップし、次いで消去ゲート電圧EGが第3の期間中にそのピーク値までランプアップし、次いで制御ゲート電圧CGが第4の期間中にそのピーク値までランプアップする、プログラムシーケンス3200を示す。3つの全電圧は第5の期間中にそのピーク値で定常に達し、次いで制御ゲート電圧CGは第6の期間中に中間値までランプダウンし、消去ゲート電圧EGは第7の期間中にランプダウンし、ソース線電圧SLは第8の期間中にランプダウンし、制御ゲート電圧CGは第9の期間中に接地までランプダウンする。
【0150】
図33は、最初に制御ゲート電圧CGが第1の期間中に第1の中間地までランプアップし、次いで、ソース線電圧SLが第2の期間中に第2の中間値までランプアップする、プログラムシーケンス3300を示す。次いで、第3の期間中に、制御ゲート電圧CGは第3の中間値までランプアップし、同時にソース線電圧SLはそのピーク電圧までランプアップし、消去ゲート電圧EGはそのピーク電圧までランプアップする。最後に、第4の期間中に、制御ゲート電圧CGは、そのピーク電圧までランプアップする。次いで、3つの全電圧は、第5の期間中にそれらのピーク値で定常に達する。次いで、第6の期間中に、制御ゲート電圧CGは第3の中間値までランプダウンし、次いで第7の期間中に、ソース線電圧SLは第2の中間値までランプダウンし、次いで第8の期間中に、制御ゲート電圧CGは第1の中間値までランプダウンし、次いで第9の期間中に、消去ゲート電圧EGは接地までランプダウンし、次いで第10の期間中に、ソース線電圧SLは接地までランプダウンし、次いで第11の期間中に、制御ゲート電圧CGは接地までランプダウンする。
【0151】
図34は、ソース線電圧SLが第1の期間中にピーク値までランプアップし、次いで、第2の期間中に、制御ゲート線電圧CGがそのピーク値までランプアップし、同時に消去ゲート電圧EGがそのピーク値までランプアップする、プログラムシーケンス3400を示す。次いで、第3の期間中に、3つの全電圧はそれらのピーク値で定常に達する。次いで、制御ゲート線電圧CGは第4の期間中にランプダウンし、同時に消去ゲート電圧EGがランプダウンし、次いで、第5の期間中に、ソース線電圧SLがランプダウンする。プログラムシーケンス3400は、制御ゲート異常の発生を最小限に抑える。
【0152】
図35は、抑止制御ゲート線又は抑止ソース線(動作中に選択されていないセルに適用されるCG-inh又はSL-inh)が第1の期間中にランプアップし、次いで、消去ゲート電圧EGが第2の期間中にランプアップする、消去シーケンス3500を示す。次いで、全ての電圧は、第3の期間中にそれらのピーク値で定常に達する。次いで、消去ゲート電圧EGは第4の期間中にランプダウンし、次いで、抑止制御ゲート線又は抑止ソース線(CG-inh又はSL-inh)は第5の期間中にランプダウンする。このシーケンスは、例えば、
図12、
図14、
図16、
図19などの双方向チューニングに適したアレイに好適である。
【0153】
図36A、
図36B、及び
図36Cは、
図30のデコードサブ回路ブロック3001(EGデコーダ)、3004(CGデコーダ)、3007(SLデコーダ)を利用する高電圧デコーダ3600を示す。サブ回路ブロックの異なる配置は、異なる構成及び最適化に合わせて最適化するように、図示のとおりに行われる。
【0154】
図36Aは、回路デコーダブロック3602を含む回路デコーダブロック3601を示す。回路デコーダブロック3602は、1つのEGデコード信号を提供するEGデコーダ、2つのCGデコード信号を提供するCGデコーダ、及び1つのSLデコード信号を提供するSLデコーダを含む。
【0155】
図36Bは、回路デコーダブロック3612を含む回路デコーダブロック3611を示す。回路デコーダブロック3612は、1つのEGデコード信号を提供するEGデコーダ、4つのCGデコード信号を提供するCGデコーダ、及び1つのSLデコード信号を提供するSLデコーダを含む。
【0156】
図36Cは、回路デコーダブロック3622を含む回路デコーダブロック3621を示す。回路デコーダブロック3622は、2つのEGデコード信号を提供するEGデコーダ、8つのCGデコード信号を提供するCGデコーダ、及び1つのSLデコード信号を提供するSLデコーダを含む。
【0157】
図37は、高電圧ラッチ回路3700を示す。高電圧ラッチ回路3700は、PMOSトランジスタ3711及び3712と、NMOSトランジスタ3713及び3714と、イネーブルトランジスタ3715及び3716と、によって形成されるクロス結合高電圧トランジスタインバータを含む。イネーブル信号ENB3706及びEN3705は、VHVSUP3701が中間電圧(例えば、約1.8~5V)にあるときに論理信号(例えば、0V/Vdd)であり、VHVSUP3701が中間HV電圧より大きい電圧(例えば、>5V)であるとき、並びにVHVSUP_LOW3702が1.8Vなどの中間レベルにあるときに、別の中間電圧(例えば、両方の信号EN3705=ENB3706=Vdd=1.8V)にある。出力HVOUT3704及び相補信号HVOUTB3703が生成される。
【0158】
本明細書で使用される場合、「の上方に(over)」及び「に(on)」という用語は両方とも、「の上に直接」(中間材料、要素、又は間隙がそれらの間に配設されていない)、及び「の上に間接的に」(中間材料、要素、又は間隙がそれらの間に配設されている)を包括的に含むことに留意されるべきである。同様に、「隣接した」という用語は、「直接隣接した」(中間材料、要素、又は間隙がそれらの間に配設されていない)、及び「間接的に隣接した」(中間材料、要素、又は間隙がそれらの間に配設されている)を含み、「に取り付けられた」は、「に直接取り付けられた」(中間材料、要素、又は間隙がそれらの間に配設されていない)、及び「に間接的に取り付けられた」(中間材料、要素、又は間隙がそれらの間に配設されている)を含み、「電気的に結合された」は、「に直接電気的に結合された」(要素を一緒に電気的に接続する中間材料又は要素がそれらの間にない)、及び「に間接的に電気的に結合された」(要素を一緒に電気的に接続する中間材料又は要素がそれらの間にある)を含む。例えば、要素を「基板の上方に」形成することは、その要素を基板に直接、中間材料/要素をそれらの間に伴わずに形成すること、及びその要素を基板の上に間接的に1つ以上の中間材料/要素をそれらの間に伴って形成することを含み得る。