(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-29
(45)【発行日】2023-04-06
(54)【発明の名称】深層学習人工ニューラルネットワークにおけるアナログニューラルメモリ用のデコーダ
(51)【国際特許分類】
G11C 16/08 20060101AFI20230330BHJP
G06G 7/60 20060101ALI20230330BHJP
G06N 3/063 20230101ALI20230330BHJP
G11C 11/54 20060101ALI20230330BHJP
G11C 16/04 20060101ALI20230330BHJP
【FI】
G11C16/08 100
G06G7/60
G06N3/063
G11C11/54
G11C16/04 120
(21)【出願番号】P 2020548740
(86)(22)【出願日】2019-01-24
(86)【国際出願番号】 US2019015022
(87)【国際公開番号】W WO2019177698
(87)【国際公開日】2019-09-19
【審査請求日】2022-01-14
(32)【優先日】2018-03-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-05-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500147506
【氏名又は名称】シリコン ストーリッジ テクノロージー インコーポレイテッド
【氏名又は名称原語表記】SILICON STORAGE TECHNOLOGY, INC.
(74)【代理人】
【識別番号】110000626
【氏名又は名称】弁理士法人英知国際特許商標事務所
(72)【発明者】
【氏名】トラン、ヒュー バン
(72)【発明者】
【氏名】ホン、スタンレー
(72)【発明者】
【氏名】リ、アン
(72)【発明者】
【氏名】ブー、サン
(72)【発明者】
【氏名】パム、ヒエン
(72)【発明者】
【氏名】ニュエン、カ
(72)【発明者】
【氏名】トラン、ハン
【審査官】後藤 彰
(56)【参考文献】
【文献】国際公開第2017/200883(WO,A1)
【文献】特表2019-517138(JP,A)
【文献】特開平03-174679(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/08
G11C 11/54
G11C 16/04
G06G 7/60
G06N 3/063
(57)【特許請求の範囲】
【請求項1】
ベクトルマトリクス乗算アレイに結合されたビット線デコーダ回路であって、前記ベクトルマトリクス乗算アレイは、行及び列に編成された不揮発性メモリセルのアレイを備え、各列はビット線に接続され、前記ビット線デコーダ回路は、
プログラム及び検証動作中に個々のビット線を有効にするための第1の回路と、
読み出し動作中に全てのビット線を有効にするための第2の回路と、を備える、ビット線デコーダ回路。
【請求項2】
前記第2の回路は、各ビット線に結合された、選択トランジスタと活性化関数回路と、
を備える、請求項1に記載のビット線デコーダ回路。
【請求項3】
各選択トランジスタのゲートは、同じ制御線に結合される、請求項2に記載のビット線デコーダ回路。
【請求項4】
プログラム及び検証動作中、又は読み出し動作中に、負バイアスを各非選択メモリセルのワード線に与える、請求項1に記載のビット線デコーダ回路。
【請求項5】
前記不揮発性メモリセルの各々は、スプリットゲートフラッシュメモリセルである、請求項1に記載のビット線デコーダ回路。
【請求項6】
前記不揮発性メモリセルの各々は、積層ゲートフラッシュメモリセルである、請求項1に記載のビット線デコーダ回路。
【請求項7】
前記不揮発性メモリセルの各々は、サブ閾値領域で動作するように構成される、請求項1に記載のビット線デコーダ回路。
【請求項8】
前記不揮発性メモリセルの各々は、線形領域で動作するように構成される、請求項1に記載のビット線デコーダ回路。
【請求項9】
プログラム及び検証動作中、又は読み出し動作中に、負バイアスを各非選択ビット線デコーダのゲートに与える、請求項1に記載のビット線デコーダ回路。
【請求項10】
ベクトルマトリクス乗算アレイに結合されたビット線デコーダ回路であって、前記ベクトルマトリクス乗算アレイは、行及び列に編成された不揮発性メモリセルのアレイを備え、各列はビット線に接続され、前記ビット線デコーダ回路は、
多重化回路であって、第1のモードで、前記多重化回路は、プログラム及び検証動作中に個々のビット線を有効にし、第2のモードで、前記多重化回路は、読み出し動作中に全てのビット線を有効にする、多重化回路、を備える、ビット線デコーダ回路。
【請求項11】
前記多重化回路は、各ビット線に結合された、選択トランジスタと活性化関数回路と、
を備える、請求項10に記載のビット線デコーダ回路。
【請求項12】
プログラム及び検証動作中、又は読み出し動作中に、負バイアスを各非選択メモリセルのワード線に与える、請求項10に記載のビット線デコーダ回路。
【請求項13】
前記不揮発性メモリセルの各々は、スプリットゲートフラッシュメモリセルである、請求項10に記載のビット線デコーダ回路。
【請求項14】
前記不揮発性メモリセルの各々は、積層ゲートフラッシュメモリセルである、請求項10に記載のビット線デコーダ回路。
【請求項15】
前記不揮発性メモリセルの各々は、サブ閾値領域で動作するように構成される、請求項10に記載のビット線デコーダ回路。
【請求項16】
前記不揮発性メモリセルの各々は、線形領域で動作するように構成される、請求項10に記載のビット線デコーダ回路。
【請求項17】
プログラム及び検証動作中、又は読み出し動作中に、負バイアスを各非選択ビット線デコーダのゲートに与える、請求項10に記載のビット線デコーダ回路
。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本出願は、2018年3月14日出願の「Decoders for Analog Neuromorphic Memory in Artificial Neural Network」と題された米国仮特許出願第62/642,884号、及び、2018年5月29日出願の「Decoders For Analog Neural Memory In Deep Learning Artificial Neural Network」と題された米国特許出願第15/991,890号に対する優先権を主張する。
【0002】
(発明の分野)
人工ニューラルネットワークにおけるベクトルマトリクス乗算(VMM)アレイと共に使用するためのデコーダの多数の実施形態が開示される。
【背景技術】
【0003】
人工ニューラルネットワークは、多数の入力に依存することができ、概ね未知である機能を推定する又は近似するために使用される生物学的ニューラルネットワーク(動物の中枢神経系、特に脳)を真似ている。人工ニューラルネットワークは、概して、メッセージを交換する相互接続した「ニューロン」の層を含む。
【0004】
図1は、人工ニューラルネットワークを図示しており、ここで円は、入力又はニューロンの層を表す。接続(シナプスと呼ばれる)は、矢印によって表され、経験に基づいて調整され得る数値の重みを有する。これは、ニューラルネットワークが入力に適応できるようにし、学習できるようにする。典型的には、ニューラルネットワークは、複数の入力の層を含む。典型的には、1つ以上のニューロンの中間層、及びニューラルネットワークの出力を提供するニューロンの出力層が存在する。それぞれのレベルでニューロンは、シナプスから受信されたデータに基づいて個々に又は合わせて決定を行う。
【0005】
高性能情報処理用の人工ニューラルネットワークの開発における主要な課題の1つは、適切なハードウェア技術の欠如である。実際には、実用ニューラルネットワークは、非常に多数のシナプスに頼り、ニューロン間の高い接続性、すなわち、非常に高度な計算的並行処理を可能にする。原理的には、このような複雑性は、デジタルスーパーコンピュータ又は専門化したグラフィック処理ユニットクラスタによって実現され得る。しかしながら、高コストに加え、これらのアプローチはまた、主として低精度のアナログ計算を実施するのではるかに少ないエネルギーしか消費しない生物学的ネットワークに比べてあまり良くないエネルギー効率に悩まされている。CMOSアナログ回路は、人工ニューラルネットワークに使用されてきたが、ほとんどのCMOS実装シナプス(CMOS-implemented synapses)は、多数のニューロン及びシナプスを考えると嵩高すぎていた。
【0006】
出願人は以前に、参照により組み込まれる米国特許出願第15/594,439号において、シナプスとして1つ以上の不揮発性メモリアレイを利用する人工(アナログ)ニューラルネットワークを開示した。不揮発性メモリアレイは、アナログニューロモーフィックメモリとして動作する。ニューラルネットワークデバイスは、第1の複数の入力を受信するように、かつそれから第1の複数の出力を生成するように構成された第1の複数のシナプス、及び第1の複数の出力を受信するように構成された第1の複数のニューロンを含む。第1の複数のシナプスは、複数のメモリセルを含み、メモリセルのそれぞれは、半導体基板内に形成された、間にチャネル領域が延在している離間したソース領域及びドレイン領域と、チャネル領域の第1の部分の上方に配設され、チャネル領域の第1の部分から絶縁された浮遊ゲートと、チャネル領域の第2の部分の上方に配設され、チャネル領域の第2の部分から絶縁された非浮遊ゲートと、を含む。複数のメモリセルのそれぞれは、浮遊ゲートの多くの電子に対応する重み値を記憶するように構成される。複数のメモリセルは、第1の複数の入力に、記憶された重み値を乗じて第1の複数の出力を生成するように構成される。
【0007】
アナログニューロモーフィックメモリシステムに使用される各不揮発性メモリセルは、消去され、浮遊ゲート内に非常に特異的かつ正確な量の電荷を保持するようにプログラムされなければならない。例えば、各浮動ゲートはN個の異なる値のうちの1つを保持しなければならず、ここで、Nは、各セルによって示され得る異なる重みの数である。Nの例としては、16、32、及び64を含む。
【0008】
従来技術のデコード回路(ビット線デコーダ、ワード線デコーダ、制御ゲートデコーダ、ソース線デコーダ、及び消去ゲートデコーダなど)は、アナログニューロモーフィックメモリシステムにおけるVMMと共に使用するのに好適ではない。この理由の1つは、VMMシステムでは、プログラム及び検証動作の検証部分(読み出し動作である)が単一の選択メモリセルで動作する一方で、読み出し動作がアレイ内の全てのメモリセルで動作することである。
【0009】
必要とされるものは、アナログニューロモーフィックメモリシステムにおいてVMMと共に使用するのに好適な改良されたデコード回路である。
【発明の概要】
【0010】
人工ニューラルネットワークにおけるベクトルマトリクス乗算(VMM)アレイと共に使用するための多数の実施形態が開示される。
【0011】
【0012】
【0013】
【0014】
【0015】
【0016】
【0017】
【0018】
【0019】
【0020】
【0021】
【0022】
【0023】
【0024】
【0025】
【0026】
【0027】
【0028】
【0029】
【0030】
【0031】
【0032】
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【0042】
【0043】
【0044】
【0045】
【0046】
【0047】
【0048】
【0049】
【0050】
【0051】
【0052】
【0053】
【0054】
【図面の簡単な説明】
【0055】
【
図1】人工ニューラルネットワークを示す図である。
【
図2】従来の2ゲート不揮発性メモリセルの横断面図である。
【
図3】従来の4ゲート不揮発性メモリセルの横断面図である。
【
図4】従来の3ゲート不揮発性メモリセルの側面横断面図である。
【
図5】別の従来の2ゲート不揮発性メモリセルの横断面図である。
【
図6】不揮発性メモリアレイを利用する異なるレベルの例示的人口ニューラルネットワークを示す図である。
【
図7】ベクトル乗算器マトリクスを示すブロック図である。
【
図8】様々なレベルのベクトル乗算器マトリクスを示すブロック図である。
【
図9】ベクトル乗算器マトリクスの一実施形態を示す。
【
図10】ベクトル乗算器マトリクスの別の実施形態を示す。
【
図11】ベクトル乗算器マトリクスの別の実施形態を示す。
【
図12】ベクトル乗算器マトリクスの別の実施形態を示す。
【
図13】ベクトル乗算器マトリクスの別の実施形態を示す。
【
図14】ベクトル乗算器マトリクスのためのビット線デコーダの一実施形態を示す。
【
図15】ベクトル乗算器マトリクスのためのビット線デコーダの別の実施形態を示す。
【
図16】ベクトル乗算器マトリクスのためのビット線デコーダの別の実施形態を示す。
【
図17】ベクトル乗算器マトリクスを動作させるためのシステムを示す。
【
図18】ベクトル乗算器マトリクスを動作させるための別のシステムを示す。
【
図19】ベクトル乗算器マトリクスを動作させるための別のシステムを示す。
【
図20】ベクトル乗算器マトリクスと共に使用するためのワード線ドライバの一実施形態を示す。
【
図21】ベクトル乗算器マトリクスと共に使用するためのワード線ドライバの別の実施形態を示す。
【
図22】ベクトル乗算器マトリクスと共に使用するためのワード線ドライバの別の実施形態を示す。
【
図23】ベクトル乗算器マトリクスと共に使用するためのワード線ドライバの別の実施形態を示す。
【
図24】ベクトル乗算器マトリクスと共に使用するためのワード線ドライバの別の実施形態を示す。
【
図25】ベクトル乗算器マトリクスと共に使用するためのワード線ドライバの別の実施形態を示す。
【
図26】ベクトル乗算器マトリクスと共に使用するためのワード線ドライバの別の実施形態を示す。
【
図27】ベクトル乗算器マトリクスと共に使用するためのソース線デコーダ回路を示す。
【
図28】ベクトル乗算器マトリクスと共に使用するためのワード線デコーダ回路、ソース線デコーダ回路、及び高電圧レベルシフタを示す。
【
図29】ベクトル乗算器マトリクスと共に使用するための消去ゲートデコーダ回路、制御ゲートデコーダ回路、ソース線デコーダ回路、及び高電圧レベルシフタを示す。
【
図30】ベクトル乗算器マトリクスと共に使用するためのワード線デコーダ回路を示す。
【
図31】ベクトル乗算器マトリクスと共に使用するための制御ゲートデコーダ回路を示す。
【
図32】ベクトル乗算器マトリクスと共に使用するための別の制御ゲートデコーダ回路を示す。
【
図33】ベクトル乗算器マトリクスと共に使用するための別の制御ゲートデコーダ回路を示す。
【
図34】ベクトル乗算器マトリクスにおけるワード線を制御するための電流電圧回路を示す。
【
図35】ベクトル乗算器マトリクスにおけるワード線を制御するための別の電流電圧回路を示す。
【
図36】ベクトル乗算器マトリクスにおける制御ゲート線を制御するための電流電圧回路を示す。
【
図37】ベクトル乗算器マトリクスにおける制御ゲートラインを制御するための別の電流電圧回路を示す。
【
図38】ベクトル乗算器マトリクスにおける制御ゲートラインを制御するための別の電流電圧回路を示す。
【
図39】ベクトル乗算器マトリクスにおけるワード線を制御するための別の電流電圧回路を示す。
【
図40】ベクトル乗算器マトリクスにおけるワード線を制御するための別の電流電圧回路を示す。
【
図41】ベクトル乗算器マトリクスにおけるワード線を制御するための別の電流電圧回路を示す。
【
図42】
図9のベクトル乗算器マトリクスの動作電圧を示す。
【
図43】
図10のベクトル乗算器マトリクスの動作電圧を示す。
【
図44】
図11のベクトル乗算器マトリクスの動作電圧を示す。
【
図45】
図12のベクトル乗算器マトリクスの動作電圧を示す。
【発明を実施するための形態】
【0056】
本発明の人工ニューラルネットワークは、CMOS技術及び不揮発性メモリアレイの組み合わせを利用する。
不揮発性メモリセル
【0057】
デジタル不揮発性メモリは、周知である。例えば、米国特許第5,029,130号(「’130号特許」)は、スプリットゲート不揮発性メモリセルのアレイを開示し、あらゆる目的のために参照により本明細書に組み込まれる。このようなメモリセルを
図2に示す。各メモリセル210は、半導体基板12内に形成され、チャネル領域18をその間に有するソース領域14とドレイン領域16と、を含む。浮遊ゲート20は、チャネル領域18の第1の部分の上方に形成され、チャネル領域18の第1の部分から絶縁されて(かつチャネル領域18の第1の部分導電性を制御して)おり、またソース領域16の一部分の上方に形成される。ワード線端子22(典型的には、ワード線に結合される)は、チャネル領域18の第2の部分の上方に配設され、チャネル領域18の第2の部分から絶縁され、(かつチャネル領域18の第2の部分導電性を制御する)第1の部分と、浮遊ゲート20の上方に、かつ上方でに延在する第2の部分と、を有する。浮遊ゲート20及びワード線端子22は、ゲート酸化物によって基板12から絶縁される。ビット線24はドレイン領域16に結合される。
【0058】
メモリセル210は、ワード線端子22に高圧正電圧を印加することによって消去され(ここで電子は、浮遊ゲートから除去される)、それにより、ファウラーノルドハイムトンネリングによって浮遊ゲート20からワード線端子22まで中間絶縁体を通って浮遊ゲート20の電子をトンネリングさせる。
【0059】
メモリセル210は、ワード線端子22に正電圧、及びソース16に正電圧を印加することによってプログラムされる(ここで電子は、浮遊ゲートに印加される)。電子電流は、ソース16からドレイン14に向かって流れることになる。電子は、ワード線端子22と浮遊ゲート20との間の間隙に達すると、加速し発熱する。熱せられた電子のいくらかは、浮遊ゲート20からの静電引力に起因してゲート酸化物26を通って浮遊ゲート20に注入される。
【0060】
ドレイン14及びワード線端子22に正の読み出し電圧を印加する(ワード線端子下のチャネル領域をターンオンする)ことによって、メモリセル210が読み出される。浮遊ゲート20が正に帯電する(すなわち、電子を消去し、ドレイン16に正に結合する)場合、浮遊ゲート20下のチャネル領域の部分は、次に同様にオンになり、電流は、チャネル領域18を流れ、これは、消去された状態つまり「1」の状態として感知される。浮遊ゲート20が負に帯電する(すなわち、電子でプログラムされる)場合、次に浮遊ゲート20下のチャネル領域の部分は、ほとんど又は完全にオフになり、電流は、チャネル領域18を流れず(又はわずかに流れる)、プログラムされた状態又は「0」の状態として検出される。
【0061】
表1は、読み出し、消去及びプログラム動作を実行するためのメモリセル210の端子に印加され得る典型的な電圧範囲を示す。
表1:
図2のフラッシュメモリセル210の動作
【表1】
【0062】
他のスプリットゲートメモリセル構成が知られている。例えば、
図3は、ソース領域14と、ドレイン領域16と、チャネル領域18の第1の部分の上方にある浮遊ゲート20と、チャネル領域18の第2の部分の上方にある選択ゲート28(典型的には、ワード線に結合される)と、浮遊ゲート20の上方にある制御ゲート22と、及びソース領域14の上方にある消去ゲート30と、を備える4ゲートメモリセル310を示す。この構成は、米国特許第6,747,310号に記載され、この米国特許は、あらゆる目的のため参照により本明細書に組み込まれる。ここで、全てのゲートは、浮遊ゲート20を除いて、非浮遊ゲートであり、それらは電圧源に電気的に接続される又は接続可能であることを意味する。プログラミングは、浮遊ゲート20にそれ自体を注入するチャネル領域18からの熱せられた電子によって示される。消去は、浮遊ゲート20から消去ゲート30へトンネリングする電子によって示される。
【0063】
表2は、読み出し、消去及びプログラム動作を実行するためのメモリセル310の端子に印加され得る典型的な電圧範囲を示す。
表2:
図3のフラッシュメモリセル310の動作
【表2】
【0064】
図4は、スプリットゲート3ゲートメモリセル410を示す。メモリセル410は、メモリセル410が別個の制御ゲートを有しないことを除いて、
図3のメモリセル310と同一である。消去動作(消去ゲートを通しての消去)及び読み出し動作は、制御ゲートバイアスがないことを除いて、
図3のものと同様である。プログラミング動作もまた、制御ゲートバイアスなしで行われるため、ソース線のプログラム電圧は、制御ゲートバイアスの不足を補償するためにより高い。
【0065】
表3は、読み出し、消去及びプログラム動作を実行するためのメモリセル410の端子に印加され得る典型的な電圧範囲を示す。
表3:
図4のフラッシュメモリセル410の動作
【表3】
【0066】
図5は、積層ゲートメモリセル510を示す。メモリセル510は、浮遊ゲート20がチャネル領域18の上方に延在し、制御ゲート22が絶縁層によって分離された浮遊ゲート20の上方に延在することを除いて、
図2のメモリセル210と同様である。消去、プログラミング、及び読み出し動作は、メモリセル210について前述したものと同様の方法で動作する。
【0067】
表4は、読み出し、消去及びプログラム動作を実行するためのメモリセル510の端子に印加され得る典型的な電圧範囲を示す。
表4:
図5のフラッシュメモリセル510の動作
【表4】
【0068】
上記の人工ニューラルネットワークにおける不揮発性メモリセルのタイプのうちの1つを含むメモリアレイを利用するために、2つの修正が行われる。第1に、以下に更に説明されるように、アレイ内の他のメモリセルのメモリ状態に悪影響を与えずに各メモリセルを個々にプログラム、消去、及び読み出しすることができるように線を構成する。第2に、メモリセルの連続(アナログ)プログラミングを提供する。
【0069】
具体的には、アレイ内の各メモリセルのメモリ状態(すなわち、浮遊ゲートの電荷)を、完全に消去された状態から完全にプログラムされた状態へ、独立して、かつ他のメモリセルの異常が最小で連続的に変更することができる。別の実施形態において、アレイ内の各メモリセルのメモリ状態(すなわち、浮遊ゲートの電荷)を、完全にプログラムされた状態から完全に消去された状態へ、及び逆もまた同様に、独立して、かつ他のメモリセルの異常が最小で連続的に変更することができる。このことは、セル記憶がアナログであるか、又は多数の別個の値(16又は64の異なる値など)のうちの1つを最低限記憶することができ、それは、メモリアレイ内の全てのセルの非常に正確、かつ個々の調整を可能にし、またメモリアレイを記憶に対して理想的にし、ニューラルネットワークのシナプシスの重みに微調整を加えることを意味する。
不揮発性メモリセルアレイを使用するニューラルネットワーク
【0070】
図6は、不揮発性メモリアレイを利用するニューラルネットワークの非限定実施例を概念的に示す。この例は、顔認識アプリケーションのために不揮発性メモリアレイニューラルネットを使用するが、不揮発性メモリアレイベースのニューラルネットワークを使用して他の任意の適切なアプリケーションを実施することができる。
【0071】
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フィルタは次に右側に1ピクセルだけシフトされ(すなわち、3ピクセルの列を右側に追加し、左側で3ピクセルの列をドロップする)、そのため、この新しく位置づけられたフィルタの9ピクセル値が、シナプスCB1に提供されるため、それらに同じ重みを乗じ、関連するニューロンによって第2の単一の出力値を決定する。このプロセスを、3×3フィルタが32×32ピクセル画像全体にわたって3色全て及び全てのビットについてスキャンするまで続ける(精度値)。プロセスは次に、層C1の特徴マップ全てが計算されるまで、異なる重みのセットを使用して繰り返されて、C1の異なる特徴マップを生成する。
【0072】
C1において、本例では、それぞれ30×30ピクセルを有する16個の特徴マップが存在する。各ピクセルは、入力とカーネルとの乗算から抽出された新しい特徴ピクセルであり、したがって、各特徴マップは、2次元アレイであり、したがってこの例では、シナプスCB1は、2次元アレイの16層を構成する(本明細書で言及されるニューロン層及びアレイは、必ずしも物理的関係ではなく論理的な関係であり、すなわち、アレイは必ずしも物理的な2次元アレイに配向されないことに留意する)。16個の特徴マップのそれぞれは、フィルタスキャンに適用される16個の異なるシナプス重みのセットの1つによって生成される。C1特徴マップは全て、境界同定など同じ画像特徴の異なる態様を対象とすることができる。例えば、第1のマップ(この第1のマップを生成するのに使用される全てのスキャンに共有される第1の重みセットを使用して生成される)は、円形エッジを識別することができ、第2のマップ(第1の重みセットと異なる第2の重みセットを使用して生成される)は、方形エッジ又は特定の特徴のアスペクト比などを識別することができる。
【0073】
活性化関数P1(プーリング)は、C1からS1へ行く前に適用され、各特徴マップ中の連続する、重なり合わない2×2領域からの値をプールする。プーリング段階の目的は、平均して近隣の位置にすること(又はmax関数もまた使用され得る)、例えばエッジ位置の依存を低減すること、及び次の段階に行く前にデータサイズを低減することである。S1において、16個の15×15特徴マップ(すなわち、16個のそれぞれ15×15ピクセルの異なるアレイ)が存在する。S1からC2へ行くCB2内のシナプス及び関連するニューロンは、S1内のマップを1ピクセルのフィルタシフトを使用して4×4フィルタでスキャンする。C2において、22個の12×12特徴マップが存在する。活性化関数P2(プーリング)は、C2からS2へ行く前に適用され、各特徴マップ中の連続する、重なり合わない2×2領域からの値をプールする。S2において、22個の6×6特徴マップが存在する。活性化関数は、S2からC3へ行くシナプスCB3で適用され、ここでC3内の全てのニューロンはS2内の全てのマップに接続する。C3において、64個のニューロンが存在する。C3から出力S3へ行くシナプスCB4は、S3をC3と完全に接続する。S3における出力は、10個のニューロンを含み、ここで最も高い出力ニューロンは、クラスを決定する。この出力は、例えば、元の画像の内容の同定又は分類を示すことができる。
【0074】
シナプスの各レベルは、不揮発性メモリセルのアレイ又はアレイの一部を使用して実行される。
図7は、不揮発性メモリセルを含み、入力層と次の層との間のシナプスとして利用されるベクトルマトリクス乗算(VMM)アレイのブロック図である。具体的には、VMM32は、不揮発性メモリセルのアレイ33、消去ゲート及びワード線ゲートデコーダ34、制御ゲートデコーダ35、ビット線デコーダ36、並びにソース線デコーダ37を含み、それらのデコーダはメモリアレイ33に対する入力をデコードする。この例におけるソース線デコーダ37はまた、メモリセルアレイの出力をデコードする。あるいは、ビット線デコーダ36は、メモリアレイの出力をデコードすることができる。メモリアレイは、2つの目的を果たす。第1に、VMMにより使用される重みを記憶する。第2に、メモリアレイは、効果的に、入力に、メモリアレイに記憶された重みを乗じ、それを出力線(ソース線またはビット線)ごとに加算して出力を生成し、これは、次の層への入力又は最後の層への入力になる。乗算及び加算関数を実行することによって、メモリアレイは、別個の乗算及び加算論理回路の必要性をなくし、また、その場でのメモリ計算のために電力効率も良い。
【0075】
メモリアレイの出力は差動加算器(加算オペアンプなど)38に供給され、差動加算器はメモリセルアレイの出力を合計してその畳み込み用の単一の値を生成する。差動加算器は、正の入力で正の重みと負の重みとの合計を実現するようなものである。合計された出力値は、次に出力を整流する活性化関数回路39に供給される。活性化関数には、シグモイド、tanh、又はReLU関数が含まれ得る。整流された出力値は、次の層(例えば上の説明ではC1)として特徴マップの要素になり、次いで、次のシナプスに適用されて次の特徴マップ層又は最後の層を生成する。したがって、この例では、メモリアレイは、複数のシナプスを構成し(ニューロンの前の層から、又は画像データベースなどの入力層から入力を受信する)、加算オペアンプ38及び活性化関数回路39は、複数のニューロンを構成する。
【0076】
図8は、様々なレベルのVMMのブロック図である。
図14に示されるように、入力は、デジタルアナログ変換器31によってデジタルからアナログに変換され、入力VMM32aに提供される。入力VMM32aによって生成された出力は、次のVMM(隠しレベル1)32bへの入力として提供され、VMM(隠しレベル1)32bは、同様にして、次のVMM(隠しレベル2)32bへの入力として提供される出力を生成する、出力を生成する、などとなる。VMMの32の様々な層は、畳み込みニューラルネットワーク(convolutional neural network、CNN)のシナプス及びニューロンの異なる層として機能する。各VMMは、スタンドアローンの不揮発性メモリアレイであり得、又は複数のVMMは、同じ不揮発性メモリアレイの異なる部分を利用することができ、又は複数のVMMは、同じ不揮発性メモリアレイの重なり合う部分を利用することができる。
図8に示される例は、5つの層(32a、32b、32c、32d、32e):1つの入力層(32a)、2つの隠れ層(32b、32c)、及び2つの完全に接続された層(32d、32e)を含む。当業者であれば、これは単なる例示であり、代わりにシステムが2つを超える隠れ層及び2つを超える完全に接続された層を備え得ることを理解するであろう。
ベクトルマトリクス乗算(VMM)アレイ
【0077】
図9は、
図2に示されるタイプのメモリセルに特に適したニューロンVMM900を示し、入力層と次の層との間のシナプス及びニューロンの一部として利用される。VMM900は、不揮発性メモリセルのメモリアレイ903、基準アレイ901、及び基準アレイ902を備える。基準アレイ901及び902は、端子BLR0~3内に流れ込む電流入力を電圧入力WL0~3に変換する役割を果たす。図示の基準アレイ901及び902は、列方向にある。一般に、基準アレイ方向は入力線に直交する。実際には、基準メモリセルは、マルチプレクサ(1つのマルチプレクサ及び基準ビット線をバイアスするための1つのカスコードトランジスタVBLRを含むマルチプレクサ914)を介して接続されたダイオードであり、電流入力はそれらのに流れ込む。基準セルは、標的基準レベルに調整される。
【0078】
メモリアレイ903は、2つの目的を果たす。第1に、VMM900により使用される重みを記憶する。第2に、メモリアレイ903は、入力(端子BLR0~3に提供される電流入力であって、基準アレイ901及び902がこれらの電流入力を入力電圧に変換してワード線WL0~3に供給する)にメモリアレイに記憶された重みを有効に乗算して、出力を生成し、これは次の層への入力又は最終の層への入力となる。乗算関数を実行することによって、メモリアレイは、別個の乗算論理回路の必要性をなくし、また電力効率も良い。ここで、電圧入力はワード線に提供され、出力は読み出し(推論)動作中にビット線に現れる。ビット線の電流は、ビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【0079】
図42は、VMM900の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線に印加された電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
【0080】
図10は、
図2に示されるタイプのメモリセルに特に適したニューロンVMM1000を示し、入力層と次の層との間のシナプス及びニューロンの一部として利用される。VMM1000は、不揮発性メモリセルのメモリアレイ1003、基準アレイ1001、及び基準アレイ1002を備える。VMM1000は、VMM1000においてワード線が垂直方向に延びることを除いて、VMM900と同様である。2つの基準アレイ1001(頂部で、偶数行の電圧への基準変換入力電流を提供する)及び1002(底部で、奇数行の電圧への基準変換入力電流を提供する)が存在する。ここで、入力はワード線に提供され、出力は読み出し動作中にソース線に現れる。ソース線の電流は、ソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【0081】
図43は、VMM1000の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線に印加された電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
【0082】
図11は、
図3に示されるタイプのメモリセルに特に適したニューロンVMM1100を示し、入力層と次の層との間のシナプス及びニューロンの一部として利用される。VMM1100は、不揮発性メモリセルのメモリアレイ1101、基準アレイ1102(偶数行の入力電圧への基準変換入力電流を提供する)、及び基準アレイ1103(奇数行の入力電圧への基準変換入力電流を提供する)を備える。VMM1100は、VMM1100を除きVMM900と同様である。VMM1100は、メモリセルの行の制御ゲートに結合された制御線1106、及びメモリセルの隣接する行の消去ゲートに結合された制御線1107を更に備える。ここで、ワード線、制御ゲート線、消去ゲート線は同じ方向である。VMMは、選択された基準メモリセル及びスイッチ1105(mux 1114の一部)のビット線コンタクトに選択的に結合する基準ビット線選択トランジスタ1104(mux 1114の一部)を更に備え、このビット線選択トランジスタ1104は、特定の選択された基準メモリセルのために、基準ビット線を制御線1106に選択的に結合する。ここで、入力は(メモリアレイ1101の)ワード線に提供され、出力は読み出し動作中にビット線1109などのビット線に現れる。ビット線の電流は、ビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【0083】
図44は、VMM1100の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタ内の非選択セルの制御ゲート、選択セルとは異なるセクタ内の非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線の電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
【0084】
図12は、
図3に示されるタイプのメモリセルに特に適したニューロンVMM1200を示し、入力層と次の層との間のシナプス及びニューロンの一部として利用される。VMM1200は、VMM1200で、消去ゲート線1201などの消去ゲート線が垂直方向に延びることを除いて、VMM1100と同様である。ここで、入力はワード線に提供され、出力はソース線に現れる。ビット線の電流は、ビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【0085】
図45は、VMM1200の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタ内の非選択セルの制御ゲート、選択セルとは異なるセクタ内の非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線の電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
【0086】
図13は、
図3に示されるタイプのメモリセルに特に適したニューロンVMM1300を示し、入力層と次の層との間のシナプス及びニューロンの一部として利用される。VMM1300は、不揮発性メモリセルのメモリアレイ1301、及び基準アレイ1302(アレイの頂部で)を備える。あるいは、別の基準アレイが、
図10のものと同様に、底部に位置することができる。他の点では、VMM1300は、VMM1300で、制御ゲート線1303などの制御ゲート線が垂直方向に延び(したがって、行方向の基準アレイ1302が入力制御ゲート線に直交する)、消去ゲート線1304などの消去ゲート線が水平方向に延びることを除いて、VMM1200と同様である。ここで、入力は制御ゲート線に提供され、出力はソース線に現れる。一実施形態では、偶数行のみが使用され、別の実施形態では、奇数行のみが使用される。ソース線の電流は、ソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
【0087】
ニューラルネットワークについて本明細書に記載されるように、フラッシュセルは、サブ閾値領域で動作するように構成されることが好ましい。
【0088】
本明細書に記載されたメモリセルは、弱反転にバイアスされる。
Ids=Io*e(Vg-Vth)/kVt=w*Io*e(Vg)/kVt
w=e(-Vth)/kVt
【0089】
入力電流を入力電圧に変換するためにメモリセルを使用するIーVログ変換器について:
Vg=k*Vt*log[Ids/wp*Io]
【0090】
ベクトルマトリクス乗算器VMMとして使用されるメモリアレイについて、出力電流は以下である:
Iout=wa*Io*e(Vg)/kVt、すなわち
Iout=(wa/wp)*Iin=W*Iin
W=e(Vthp-Vtha)/kVt
【0091】
ワード線又は制御ゲートは、入力電圧に対するメモリセルの入力として使用することができる。
【0092】
あるいは、フラッシュメモリセルは、線形領域で動作するように構成することができる。
Ids=β*(Vgs-Vth)*Vds;β=u*Cox*W/L
W α(Vgs-Vth)
【0093】
I-V線形変換器では、線形領域で動作するメモリセルを使用して、入力/出力電流を入力/出力電圧に線形に変換することができる。
【0094】
ESFベクトルマトリクス乗算器の他の実施形態は、参照により本明細書に組み込まれる米国特許出願第15/826,345号に記載されているとおりである。ソース線又はビット線は、ニューロン出力(電流和出力)として使用することができる。
【0095】
図14は、ビット線デコーダ回路1400の一実施形態を示す。ビット線デコーダ回路1400は、列デコーダ1402及びアナログニューロモーフィックニューロン(「ANN」)列デコーダ1403を備え、これらの各々はVMMアレイ1401に結合される。VMMアレイは、先に論じたVMM設計(VMM900、1000、1100、1200、及び1300など)又は他のVMM設計のうちのいずれかに基づくことができる。
【0096】
アナログニューロモーフィックシステムによる1つの課題は、システムが(読み出し動作を伴う)プログラム及び検証を行うことができなければならず、アレイ内の全てのセルが選択され読み出されるANN読み出しを実行することができなければならないことである。換言すれば、ビット線デコーダは、場合によっては1つのビット線のみを選択しなければならならず、他の例では全てのビット線を選択しなければならない。
【0097】
ビット線デコーダ回路1400は、この目的を達成する。列デコーダ1402は、従来の列デコーダ(プログラム及び消去、又はPE、デコード経路)であり、プログラム及びプログラム検証(感知動作)などの個々のビット線を選択するために使用することができる。列デコーダ1402の出力は、プログラム、PE検証、及び消去を制御するためのプログラム/消去(PE)列ドライバ回路に結合される(
図14には示されていない)。ANN列デコーダ1403は、一度に全てのビット線での読み出し動作を可能にするように具体的に設計された列デコーダである。ANN列デコーダ1403は、ビット線(ここではBL0)に結合された例示的な選択トランジスタ1405及び出力回路(例えば、tanh、シグモイド、ReLUなどの電流加算器及び活性化関数)1406を備える。同じデバイスのセットが、他のビット線の各々に取り付けられる。選択トランジスタ1405などの選択トランジスタの全ては、選択線1404に結合される。ANN読み出し動作中、選択線1404が有効にされ、選択トランジスタ1405などの選択トランジスタの各々がオンになり、次いで、各ビット線からの電流が回路1406及び出力などの出力回路によって受信される。
【0098】
図15は、ビット線デコーダ回路1500の一実施形態を示す。ビット線デコーダ回路1500は、VMMアレイ1501に結合される。VMMアレイは、先に論じたVMM設計(VMM900、1000、1100、1200、及び1300など)又は他のVMM設計のうちのいずれかに基づくことができる。
【0099】
選択トランジスタ1502及び1503は、一対の相補的制御信号(V0及びVB_0)によって制御され、ビット線(BL0)に結合される。選択トランジスタ1504及び1505は、別の対の相補的制御信号(V1及びVB_1)によって制御され、別のビット線(BL1)に結合される。選択トランジスタ1502及び1504は、プログラミングを有効にするために同じ出力に結合され、選択トランジスタ1503及び1505は、禁止プログラミングのためなどの同じ出力に結合される。トランジスタ1502/1503/1504/1505の出力線(プログラム及び消去PEデコード経路)は、プログラム、PE検証、及び消去(図示せず)を制御するためのPE列ドライバ回路に結合されるようなものである。
【0100】
選択トランジスタ1506は、ビット線(BL0)に結合され、出力及び活性化関数回路1507(例えば、tanh、シグモイド、ReLUなどの電流加算及び活性化関数)に結合される。選択トランジスタ1506は制御線1508によって制御される。
【0101】
BL0のみが活性化されると、制御線1508はデアサートされ、信号V0はアサートされ、したがってBL0のみを読み取る。ANN読み出し動作中に、制御線1508がアサートされ、選択トランジスタ1506及び同様のトランジスタがオンにされ、全てのビット線は、全てのニューロン処理のために読み出される。
【0102】
図16は、ビット線デコーダ回路1600の一実施形態を示す。ビット線デコーダ回路1600は、VMMアレイ1601に結合される。VMMアレイは、先に論じたVMM設計(VMM900、1000、1100、1200、及び1300など)又は他のVMM設計のうちのいずれかに基づくことができる。
【0103】
選択トランジスタ1601は、ビット線(BL0)に結合され、出力及び活性化関数回路1603に結合される。選択トランジスタ1602は、ビット線(BL0)及び共通出力(PEデコード経路)に結合される。
【0104】
BL0のみが活性化されると、選択トランジスタ1602が活性化され、BL0が共通出力に取り付けられる。ANN読み出し動作中、選択トランジスタ1601及び同様のトランジスタがオンにされ、全てのビット線が読み出される。
【0105】
図14、15及び16のデコードに関して、非選択トランジスタについては、トランジスタ漏れがメモリセル性能に影響を及ぼすことを低減するために、負バイアスを与えることができる。あるいは、アレイがANN動作中である間に、PEデコード経路に負バイアスを与えることができる。負バイアスは、-0.1V~-0.5V以上であり得る。
【0106】
図17は、VMN1700を示す。VMMシステム1700は、VMMアレイ1701及び基準アレイ1720(これは、VMM900、1000、1100、1200、及び1300、又は他のVMM設計など、前述のVMM設計のいずれかに基づくことができる)、低電圧行デコーダ1702、高電圧行デコーダ1703、参照セル低電圧列デコーダ1704(列方向の基準アレイのために示され、行方向に変換を出力するための入力を提供することを意味する)、ビット線PEドライバ1712、ビット線マルチプレクサ1706、活性化関数回路及び加算器1707、制御論理1705、及びアナログバイアス回路1708を備える。
【0107】
図示のように、基準セル低電圧列デコーダ1704は、列方向の基準アレイ1720のためにあり、行方向に変換を出力するための入力を提供することを意味する。基準アレイが行方向にある場合、基準デコーダは、アレイの頂部及び/又は底部で行われ、列方向に変換を出力するための入力を提供する必要がある。
【0108】
低電圧行デコーダ1702は、読み出し及びプログラム動作のためのバイアス電圧を提供し、高電圧行デコーダ1703のデコード信号を提供する。高電圧行デコーダ1703は、プログラム及び消去動作のための高電圧バイアス信号を提供する。参照セル低電圧列デコーダ1704は、参照セルのデコード関数を提供する。ビット線PEドライバ1712は、プログラム、検証、及び消去におけるビット線の制御関数を提供する。バイアス回路1705は、様々なプログラム、消去、プログラム検証、及び読み出し動作に必要な複数の電圧を提供する共有バイアスブロックである。
【0109】
図18は、VMMシステム1800を示す。VMMシステム1800は、VMMシステム1800が、赤色アレイ1801、ビット線PEドライバBLDRV1802、高電圧列デコーダ1803、NVRセクタ1804、及び基準アレイ1820を更に備えることを除いて、VMMシステム1700と同様である。高電圧列デコーダ1803は、垂直デコード線の高電圧バイアスを提供する。赤色アレイ1802は、欠陥のあるアレイ部分を置き換えるためのアレイ冗長性を提供する。NVR(不揮発性レジスタ別名情報セクタ)セクタ1804は、ユーザ情報、デバイスID、パスワード、セキュリティキー、トリムビット、構成ビット、製造情報などを記憶するために使用されるアレイセクタであるセクタである。
【0110】
図19は、VMMシステム1900を示す。VMMシステム1900は、VMMシステム1900が参照システム1999を更に備えることを除いて、VMMシステム1800と同様である。基準システム1999は、基準アレイ1901、基準アレイ低電圧行デコーダ1902、基準アレイ高電圧行デコーダ1903、及び基準アレイ低電圧列デコーダ1904を備える。基準システムは、複数のVMMシステムにわたって共有することができる。VMMシステムは、NVRセクタ1905を更に備える。
【0111】
基準アレイ低電圧行デコーダ1902は、基準アレイ1901を伴う読み出し及びプログラミング動作のためのバイアス電圧を提供し、基準アレイ高電圧行デコーダ1903のデコード信号も提供する。基準アレイ高電圧行デコーダ1903は、基準アレイ1901を伴うプログラム及び動作のための高電圧バイアスを提供する。基準アレイ低電圧列デコーダ1904は、基準アレイ1901のデコード関数を提供する。基準アレイ1901は、プログラム検証のための基準ターゲット又はセルマージンを提供する(辺縁セルを探索する)ようなものである。
【0112】
図20は、ワード線ドライバ2000を示す。ワード線ドライバ2000は、ワード線(本明細書に示される例示的なワード線WL0、WL1、WL2、及びWL3など)を選択し、そのワード線にバイアス電圧を提供する。各ワード線は、制御線2001によって制御される選択iso(絶縁)トランジスタ2002などの選択トランジスタに取り付けられる。isoトランジスタ2002は、ワード線デコードトランジスタから消去(例えば、8~12V)などの高電圧を絶縁するために使用され、これはIOトランジスタ(例えば、1.8V、3.3V)で実装することができる。ここで、任意の動作中に、制御線2001が活性化され、isoトランジスタ2002を選択するのに類似した全ての選択トランジスタがオンにされる。例示的バイアストランジスタ2003(ワード線デコード回路の一部)は、ワード線を第1のバイアス電圧(3Vなど)に選択的に結合させ、例示的なバイアストランジスタ2004(ワード線デコード回路の一部)は、ワード線を第2のバイアス電圧(第1のバイアス電圧より低く、接地を含み、間のバイアスであり、非使用メモリ行からの漏れを低減するための負電圧バイアスである)に選択的に結合させた。ANN読み出し動作中、全ての使用ワード線が選択され、第1のバイアス電圧に結び付けられる。全ての非使用ワード線は、第2のバイアス電圧に結び付けられる。プログラム動作などの他の動作中に、一方のワード線のみが選択され、他方のワード線が第2のバイアス電圧に結び付けられるまで選択され、これは、アレイ漏れを低減するために負バイアス(例えば、-0.3~-0.5V以上)であり得る。
【0113】
図21は、ワード線ドライバ2100を示す。ワード線ドライバ2100は、バイアストランジスタ2103などの頂部トランジスタがバイアス電圧に個別に結合され得ることを除いて、ワード線ドライバ2000と同様であり、このようなトランジスタは全てワード線ドライバ2000内のように共に結び付けられない。これにより、全てのワード線は、同時に異なる独立した電圧を同時に有することが可能になる。
【0114】
図22は、ワード線ドライバ2200を示す。ワード線ドライバ2200は、バイアストランジスタ2103及び2104がデコーダ回路2201及びインバータ2202に結合されることを除いて、ワード線ドライバ2100と同様である。したがって、
図22は、ワード線ドライバ2200内のデコードサブ回路2203を示す。
【0115】
図23は、ワード線ドライバ2300を示す。ワード線ドライバ2300は、バイアストランジスタ2103及び2104がシフトレジスタ2301のステージ2302の出力に結合されることを除いて、ワード線ドライバ2100と同様である。シフトレジスタ1301は、データのシリアルシフト(レジスタをシリアル計時する)によって、データパターンのシフトに応じて1つ以上の行が同時に有効になることを可能にするなど、各列を独立して制御することを可能にする。
【0116】
図24は、ワード線ドライバ2400を示す。ワード線ドライバ2400は、各選択トランジスタがコンデンサ2403などのコンデンサに更に結合されることを除いて、ワード線ドライバ2000と同様である。コンデンサ2403は、トランジスタ2401によって線2440の電圧をサンプリングするためにトランジスタ2401によって有効にされた、動作の開始時のワード線にプリチャージ又はバイアスを提供することができる。コンデンサ2403は、各ワード線に対する入力電圧をサンプリング及び保持するように作用する(S/H)。トランジスタ2401は、VMMアレイのANN動作(アレイ電流加算器及び活性化関数)中にオフであり、S/Hコンデンサの電圧がワード線の(浮遊)電圧源として機能することを意味する。あるいは、コンデンサ2403は、メモリアレイからのワード線容量によって提供され得る。
【0117】
図25は、ワード線ドライバ2500を示す。ワード線ドライバ2500は、バイアストランジスタ2501及び2502がそれぞれスイッチ2503及び2504に接続されることを除いて、前述のワード線ドライバと同様である。スイッチ2503は、opa(演算増幅器)2505及びスイッチ2504の出力を受信し、スイッチ2504は、opa2505の負入力に基準入力を提供し、これにより、opa2505、トランジスタ2501、スイッチ2503及び2504によって提供された閉ループの作用により、コンデンサ2403によって記憶された電圧を本質的に提供する。このようにして、スイッチ2503及び2504が閉じられると、入力2506の電圧がトランジスタ2501によってコンデンサ2403に重畳される。あるいは、コンデンサ2403は、メモリアレイからのワード線容量によって提供され得る。
【0118】
図26は、ワード線ドライバを示す。ワード線ドライバ2600は、電圧をワード線WL0に駆動するためにコンデンサ2604の電圧の電圧バッファとして作用する増幅器2601の追加を除いて、前述したワード線ドライバと同様であり、S/Hコンデンサの電圧がワード線のための(浮遊)電圧源として機能することを意味する。これは、例えば、ワード線とワード線の結合がコンデンサの電圧に影響を及ぼすことを回避するためである。
【0119】
図27は、高電圧ソース線デコーダ回路2700を表す。高電圧ソース線デコーダ回路は、図示のように構成されたトランジスタ2701、2702及び2703を備える。トランジスタ2703は、ソース線を低電圧に選択解除するために使用される。トランジスタ2702は、高電圧をアレイのソース線に駆動するために使用され、トランジスタ2701はソース線の電圧を監視するために使用される。トランジスタ2702、2701及びドライバ回路(例えば、opa)は、PVT(プロセス、電圧、温度)及び変動電流負荷条件を維持するために、閉ループ方式(力/感知)で構成される。SLE(駆動ソース線ノード)及びSLB(監視されたソース線ノード)は、ソース線の一方の端部にあり得る。あるいは、SLEは、ソース線の一方の端部にあり、SLNが他方の端部にあり得る。
【0120】
図28は、
図2に示されるタイプのメモリセルと共に使用するのに適切である、ワード線デコーダ回路2801、ソース線デコーダ回路2804及び高電圧レベルシフタ2808を備えるVMM高電圧デコード回路を示す。
【0121】
ワード線デコーダ回路2801は、図示のように構成された、PMOS選択トランジスタ2802(信号HVO_Bによって制御される)及びNMOS選択トランジスタ2803(信号HVO_Bによって制御される)を備える。
【0122】
ソース線デコーダ回路2804は、NMOS監視トランジスタ2805(信号HVOによって制御される)と、駆動トランジスタ2806(信号HVOによって制御される)と、図示のように構成された(信号HVO_Bによって制御される)トランジスタ2807を備える。
【0123】
高電圧レベルシフタ2808は、有効な信号ENを受信し、高電圧信号HV及びその補体HVO_Bを出力する。
【0124】
図29は、
図3に示されるタイプのメモリセルと共に使用するのに適切である、消去ゲートデコーダ回路2901、制御ゲートデコーダ回路2904、ソース線デコーダ回路2907及び高電圧レベルシフタ2911を備えるVMM高電圧デコード回路を示す。
【0125】
消去ゲートデコーダ回路2901及び制御ゲートデコーダ回路2904は、
図28のワード線デコーダ回路2801と同じ設計を使用する。
【0126】
ソース線デコーダ回路2907は、
図28のソース線デコーダ回路2804と同じ設計を使用する。
【0127】
高電圧レベルシフタ2911は、
図28の高電圧レベルシフタ2808と同じ設計を使用する。
【0128】
図30は、例示的なワード線WL0、WL1、WL2、及びWL3のワード線デコーダ300を示す。例示的なワード線WL0は、プルアップトランジスタ3001及びプルダウントランジスタ3002に結合される。プルアップトランジスタ3001が活性化されると、WL0が有効になる。プルダウントランジスタ3002が活性化されると、WL0は無効にされる。
図30の関数は、絶縁トランジスタを有さない
図21と同様である。
【0129】
図31は、例示的な制御ゲート線CG0、CG1、CG2、及びCG3の制御ゲートデコーダ3100を示す。例示的な制御ゲート線CG0は、プルアップトランジスタ3101及びプルダウントランジスタ3102に結合される。プルアップトランジスタ3101が活性化されると、CG0が有効にされる。プルダウントランジスタ3102が活性化されると、CG0は無効にされる。
図31の選択及び選択解除関数は、制御ゲートの
図30の選択及び選択関数と同様である。
【0130】
図32は、例示的な制御ゲート線CG0、CG1、CG2、及びCG3の制御ゲートデコーダ3200を示す。制御ゲートデコーダ3200は、制御ゲートデコーダ3200が各制御ゲート線に結合されたコンデンサ3203などのコンデンサを含むことを除いて、制御ゲートデコーダ3100と同様である。これらのサンプルアンドホールド(S/H)コンデンサは、動作前に各制御ゲート線にプリチャージバイアスを提供することができ、S/Hコンデンサの電圧が制御ゲート線の(浮遊)電圧源として機能することを意味する。S/Hコンデンサは、メモリセルからの制御ゲート容量によって提供され得る。
【0131】
図33は、例示的な制御ゲート線CG0、CG1、CG2、及びCG3の制御ゲートデコーダ3300を示す。制御ゲートデコーダ3300は、制御ゲートデコーダ3300がバッファ3301(opaなど)を更に備えることを除いて、制御ゲートデコーダ3200と同様である。
【0132】
図34は、電流電圧回路3400を示す。回路は、構成されたダイオード接続基準セル回路3450及びサンプルアンドホールド回路3460を備える。回路3450は、入力電流源3401、NMOSトランジスタ3402、カスコーディングバイアストランジスタ3403、及び基準メモリセル3404を備える。サンプルアンドホールド回路は、スイッチ3405及びS/Hコンデンサ3406からなる。メモリ3404は、ワード線を供給するためなど、入力電流を電圧に変換するために、ビット線のバイアスを有するダイオード接続構成でバイアスされる。
【0133】
図35は、電流電圧回路3500を示しており、電流電圧回路3500は、電流電圧回路3400と同様であるが、それにS/Hコンデンサの後に増幅器3501を追加している。電流電圧回路3500は、構成されたダイオード接続基準セル回路3550、サンプルアンドホールド回路3470、及び増幅器ステージ3562を備える。
【0134】
図36は、ダイオード接続構成における制御ゲートの電流電圧回路3400と同じ設計である電流電圧回路3600を示す。電流電圧回路3600は、構成されたダイオード接続基準セル回路3650及びサンプルアンドホールド回路3660を備える。
【0135】
図37は、基準回路3750とS/H回路3760との間にバッファ3790が配置される電流電圧回路3700を示す。
【0136】
図38は、ダイオード接続構成で接続された制御ゲートを有する
図35と同様の電流電圧回路3800を示す。電流電圧回路3800は、構成されたダイオード接続基準セル回路3550、サンプルアンドホールド回路3870、及び増幅器ステージ3862を備える。
【0137】
図39は、
図2のメモリセルに適用された
図34と同様の電流電圧回路3900を示す。電流電圧回路3900は、構成されたダイオード接続基準セル回路3950及びサンプルアンドホールド回路3960を備える。
【0138】
図40は、
図2のメモリセルに適用される
図37と同様の電流電圧回路4000を示し、バッファ4090は、基準回路4050とS/H回路4060との間に配置される。
【0139】
図41は、
図2のメモリセルに適用された
図38と同様の電流電圧回路4100を示す。電流電圧回路4100は、構成されたダイオード接続基準セル回路4150、サンプルアンドホールド回路4170、及び増幅器ステージ4162を備える。
【0140】
本明細書で使用される場合、「の上方に(over)」及び「に(on)」という用語は両方とも、「に直接」(中間材料、要素、又は空間がそれらの間に何ら配設されない)、及び「の上に間接的に」(中間材料、要素、又は空間がそれらの間に配設される)を包括的に含むことに留意するべきである。同様に、「隣接した」という用語は、「直接隣接した」(中間材料、要素、又は空間がそれらの間に何ら配設されない)、及び「間接的に隣接した」(中間材料、要素、又は空間がそれらの間に配設される)を含み、「に取り付けられた」は、「に直接取り付けられた」(中間材料、要素、又は空間がそれらの間に何ら配設されない)、及び「に間接的に取り付けられた」(中間材料、要素、又は空間がそれらの間に配設される)を含み、「電気的に結合された」は、「に直接電気的に結合された」(要素を一緒に電気的に連結する中間材料又は要素がそれらの間にない)、及び「に間接的に電気的に結合された」(要素を一緒に電気的に連結する中間材料又は要素がそれらの間にある)を含む。例えば、要素を「基板の上方に」形成することは、その要素を基板に直接、中間材料/要素をそれらの間に何ら伴わずに、形成すること、及びその要素を基板の上に間接的に、1つ以上の中間材料/要素をそれらの間に伴って、形成することを含み得る。