(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-14
(45)【発行日】2023-07-25
(54)【発明の名称】スタックゲート不揮発性メモリセルのアレイを使用するニューラルネットワーク分類子
(51)【国際特許分類】
G11C 11/54 20060101AFI20230718BHJP
H01L 29/66 20060101ALI20230718BHJP
H01L 21/336 20060101ALI20230718BHJP
H01L 29/788 20060101ALI20230718BHJP
H01L 29/792 20060101ALI20230718BHJP
G06G 7/60 20060101ALI20230718BHJP
G06N 3/063 20230101ALI20230718BHJP
H10B 41/30 20230101ALI20230718BHJP
【FI】
G11C11/54
H01L29/66 Z
H01L29/78 371
G06G7/60
G06N3/063
H10B41/30
(21)【出願番号】P 2021544155
(86)(22)【出願日】2019-08-29
(86)【国際出願番号】 US2019048934
(87)【国際公開番号】W WO2020159580
(87)【国際公開日】2020-08-06
【審査請求日】2021-09-17
(32)【優先日】2019-01-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-04-11
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】500147506
【氏名又は名称】シリコン ストーリッジ テクノロージー インコーポレイテッド
【氏名又は名称原語表記】SILICON STORAGE TECHNOLOGY, INC.
(74)【代理人】
【識別番号】110000626
【氏名又は名称】弁理士法人英知国際特許商標事務所
(72)【発明者】
【氏名】トラン、ヒュー、バン
(72)【発明者】
【氏名】レムケ、スティーブン
(72)【発明者】
【氏名】ティワリ、ビピン
(72)【発明者】
【氏名】ドー、ナン
(72)【発明者】
【氏名】レイテン、マーク
【審査官】後藤 彰
(56)【参考文献】
【文献】国際公開第2017/200883(WO,A1)
【文献】特開2009-080892(JP,A)
【文献】特開平03-046195(JP,A)
【文献】特開平06-139379(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/063
H01L 29/66
H10B 41/30
H01L 21/336
G11C 11/54
G06G 7/60
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークデバイスであって、
第1の複数の入力を受信するように、かつそれから第1の複数の出力を生成するように構成された、第1の複数のシナプスを含み、前記第1の複数のシナプスは、
複数のメモリセルであって、前記メモリセルの各々は、半導体基板内に形成され、間にチャネル領域が延在する離間したソース領域及びドレイン領域と、前記チャネル領域全体の上方に配設され、前記チャネル領域から絶縁された浮遊ゲートと、前記浮遊ゲートの上方に配設され、前記浮遊ゲートから絶縁された第1のゲートと、を含む、複数のメモリセルを含み、
前記複数のメモリセルの各々は、前記浮遊ゲートで多くの電子に対応する重み値を格納するように構成され、
前記複数のメモリセルは、前記第1の複数の入力及び格納された前記重み値に基づいて前記第1の複数の出力を生成するように構成され、
前記第1の複数のシナプスの前記メモリセルは、行及び列に配置され、前記第1の複数のシナプスは、
前記メモリセルの前記列のうちの1つにおいて前記第1のゲートのうちの少なくともいくつかを各々電気的に一緒に接続する複数の第1の線と、
前記メモリセルの前記行のうちの1つにおいて前記ソース領域を各々電気的に一緒に接続する複数の第2の線と、
前記メモリセルの前記列のうちの1つにおいて前記ドレイン領域を各々電気的に一緒に接続する複数の第3の線と、を含み、
前記第1の複数のシナプスは、前記複数の第1の線で電圧として前記第1の複数の入力を受信するように、かつ前記複数の第2の線で電流として前記第1の複数の出力を提供するように構成され、
前記メモリセルの前記行は、偶数及び奇数番号の行に交互に配置され、
前記メモリセルの前記列の各々は、前記メモリセルの前記奇数番号の行にある前記メモリセルの前記列内の前記メモリセルの前記第1のゲートを電気的に一緒に接続する前記第1の線のうちの1つと、前記メモリセルの前記偶数番号の行にある前記メモリセルの前記列内の前記メモリセルの前記第1のゲートを電気的に一緒に接続する前記第1の線のうちの別の1つと、含む、ニューラルネットワークデバイス。
【請求項2】
前記第1の複数の出力を受信するように構成された第1の複数のニューロンを更に含む、請求項
1に記載のニューラルネットワークデバイス。
【請求項3】
前記第1の複数のニューロンから第2の複数の入力を受信するように、かつそれから第2の複数の出力を生成するように構成された、第2の複数のシナプスを更に含み、前記第2の複数のシナプスは、
複数の第2のメモリセルであって、前記第2のメモリセルの各々は、前記半導体基板内に形成され、間に第2のチャネル領域が延在する離間した第2のソース領域及び第2のドレイン領域と、前記第2のチャネル領域全体の上方に配設され、前記第2のチャネル領域から絶縁された第2の浮遊ゲートと、前記第2の浮遊ゲートの上方に配設され、前記第2の浮遊ゲートから絶縁された第2のゲートと、を含む、複数の第2のメモリセルを含み、
前記複数の第2のメモリセルの各々は、前記第2の浮遊ゲートで多くの電子に対応する第2の重み値を格納するように構成され、
前記複数の第2のメモリセルは、前記第2の複数の入力及び格納された前記第2の重み値に基づいて、前記第2の複数の出力を生成するように構成され、
前記第2の複数のシナプスの前記第2のメモリセルは、行及び列に配置され、前記第2の複数のシナプスは、
前記第2のメモリセルの前記列のうちの1つにおいて前記第2のゲートのうちの少なくともいくつかを各々電気的に一緒に接続する複数の第4の線と、
前記第2のメモリセルの前記行のうちの1つにおいて前記第2のソース領域を各々電気的に一緒に接続する複数の第5の線と、
前記第2のメモリセルの前記列のうちの1つにおいて前記第2のドレイン領域を各々電気的に一緒に接続する複数の第6の線と、を含み、
前記第2の複数のシナプスは、前記複数の第4の線で電圧として前記第2の複数の入力を受信するように、かつ前記複数の第5の線で電流として前記第2の複数の出力を提供するように構成された、請求項
2に記載のニューラルネットワークデバイス。
【請求項4】
前記第2のメモリセルの前記行は、偶数及び奇数番号の行に交互に配置され、
前記第2のメモリセルの前記列の各々は、前記第2のメモリセルの前記奇数番号の行にある前記第2のメモリセルの前記列内の前記第2のメモリセルの前記第2のゲートを電気的に一緒に接続する前記第4の線のうちの1つと、前記第2のメモリセルの前記偶数番号の行にある前記第2のメモリセルの前記列内の前記第2のメモリセルの前記第2のゲートを電気的に一緒に接続する前記第4の線のうちの別の1つと、を含む、請求項
3に記載のニューラルネットワークデバイス。
【請求項5】
前記第2の複数の出力を受信するように構成された第2の複数のニューロンを更に含む、請求項
3に記載のニューラルネットワークデバイス。
【請求項6】
ニューラルネットワークデバイスであって、
第1の複数の入力を受信するように、かつそれから第1の複数の出力を生成するように構成された、第1の複数のシナプスを含み、前記第1の複数のシナプスは、
複数のメモリセルであって、前記メモリセルの各々は、半導体基板内に形成され、間にチャネル領域が延在する離間したソース領域及びドレイン領域と、前記チャネル領域全体の上方に配設され、前記チャネル領域から絶縁された浮遊ゲートと、前記浮遊ゲートの上方に配設され、前記浮遊ゲートから絶縁された第1のゲートと、を含む、複数のメモリセルを含み、
前記複数のメモリセルの各々は、前記浮遊ゲートで多くの電子に対応する重み値を格納するように構成され、
前記複数のメモリセルは、前記第1の複数の入力及び格納された前記重み値に基づいて前記第1の複数の出力を生成するように構成され、
前記第1の複数のシナプスの前記メモリセルは、行及び列に配置され、前記第1の複数のシナプスは、
前記メモリセルの前記行のうちの1つにおいて前記第1のゲートを各々電気的に一緒に接続する複数の第1の線と、
前記メモリセルの前記行のうちの1つにおいて前記ソース領域を各々電気的に一緒に接続する複数の第2の線と、
前記メモリセルの前記列のうちの1つにおいて前記ドレイン領域を各々電気的に一緒に接続する複数の第3の線と、
前記第3の線のうちの1つと直列に各々電気的に接続された複数のトランジスタと、を含み、
前記第1の複数のシナプスは、前記複数のトランジスタのゲートで電圧として前記第1の複数の入力を受信するように、かつ前記複数の第2の線で電流として前記第1の複数の出力を提供するように構成された、ニューラルネットワークデバイス。
【請求項7】
前記第1の複数の出力を受信するように構成された第1の複数のニューロンを更に含む、請求項
6に記載のニューラルネットワークデバイス。
【請求項8】
前記第1の複数のニューロンから第2の複数の入力を受信するように、かつそれから第2の複数の出力を生成するように構成された、第2の複数のシナプスを更に含み、前記第2の複数のシナプスは、
複数の第2のメモリセルであって、前記第2のメモリセルの各々は、前記半導体基板内に形成され、間に第2のチャネル領域が延在する離間した第2のソース領域及び第2のドレイン領域と、前記第2のチャネル領域全体の上方に配設され、前記第2のチャネル領域から絶縁された第2の浮遊ゲートと、前記第2の浮遊ゲートの上方に配設され、前記第2の浮遊ゲートから絶縁された第2のゲートと、を含む、複数の第2のメモリセルを含み、
前記複数の第2のメモリセルの各々は、前記第2の浮遊ゲートで多くの電子に対応する第2の重み値を格納するように構成され、
前記複数の第2のメモリセルは、前記第2の複数の入力及び格納された前記第2の重み値に基づいて、前記第2の複数の出力を生成するように構成され、
前記第2の複数のシナプスの前記第2のメモリセルは、行及び列に配置され、前記第2の複数のシナプスは、
前記第2のメモリセルの前記行のうちの1つにおいて前記第2のゲートを各々電気的に一緒に接続する複数の第4の線と、
前記第2のメモリセルの前記行のうちの1つにおいて前記第2のソース領域を各々電気的に一緒に接続する複数の第5の線と、
前記第2のメモリセルの前記列のうちの1つにおいて前記第2のドレイン領域を各々電気的に一緒に接続する複数の第6の線と、
前記第6の線のうちの1つと直列に各々電気的に接続された第2の複数のトランジスタと、を含み、
前記第2の複数のシナプスは、前記第2の複数のトランジスタのゲートで電圧として前記第2の複数の入力を受信するように、かつ前記複数の第5の線で電流として前記第2の複数の出力を提供するように構成された、請求項
7に記載のニューラルネットワークデバイス。
【請求項9】
前記第2の複数の出力を受信するように構成された第2の複数のニューロンを更に含む、請求項
8に記載のニューラルネットワークデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、2019年4月11日出願の米国特許出願第16/382,051号及び2019年1月29日出願の米国仮特許出願第62/798,417号の利益を主張するものである。
【0002】
(発明の分野)
本発明は、ニューラルネットワークに関する。
【背景技術】
【0003】
人工ニューラルネットワークは、多数の入力により得る機能を推定又は近似するために使用され、概ね既知である生物学的ニューラルネットワーク(動物の中枢神経系、特に脳)によく似ている。人工ニューラルネットワークは、概して、メッセージを交換する相互接続した「ニューロン」の層を含む。
図1は、人工ニューラルネットワークを図示しており、ここで円は、入力又はニューロンの層を表す。接続(シナプスと呼ばれる。)は、矢印によって表され、経験に基づいて調整され得る数値の重みを有する。これは、ニューラルネットが入力に適応できるようにし、学習できるようにする。典型的には、ニューラルネットワークは、複数の入力の層を含む。典型的には、1つ以上のニューロンの中間層、及びニューラルネットワークの出力を提供するニューロンの出力層が存在する。それぞれのレベルでニューロンは、シナプスから受信したデータに基づいて個々に又は合わせて決定を行う。
【0004】
高性能情報処理用の人工ニューラルネットワークの開発における主要な課題の1つは、適切なハードウェア技術の欠如である。実際には、実用ニューラルネットワークは、非常に多数のシナプスに依拠しており、これによりニューロン間の高い接続性、すなわち、非常に高度な計算処理の並列化が可能となる。原理的には、このような複雑性は、デジタルスーパーコンピュータ又は専用GPU(グラフィックプロセッシングユニット)クラスタによって実現が可能である。しかしながら、高コストに加え、これらのアプローチはまた、生物学的ネットワークが主として低精度のアナログ計算を実施するのではるかに少ないエネルギーしか消費しないのと比較して、エネルギー効率が劣っていることに悩まされている。人工ニューラルネットワークにはCMOSアナログ回路が使用されてきたが、ほとんどのCMOS実装シナプスは、多数のニューロン及びシナプスを前提とすると、嵩高過ぎていた。
【発明の概要】
【0005】
前述の問題及び必要性は、第1の複数の入力を受信し、第1の複数の出力をそれから生成するように構成された第1の複数のシナプスを含むニューラルネットワークデバイスによって対処される。前記第1の複数のシナプスは複数のメモリセルを含み、前記メモリセルの各々は、半導体基板内に形成され、間にチャネル領域が延在する離間したソース領域及びドレイン領域と、前記チャネル領域全体の上方に配設され、前記チャネル領域から絶縁された浮遊ゲートと、前記浮遊ゲートの上方に配設され、前記浮遊ゲートから絶縁された第1のゲートと、を含む。前記複数のメモリセルの各々は、前記浮遊ゲートで多くの電子に対応する重み値を格納するように構成されている。前記複数のメモリセルは、前記第1の複数の入力及び格納された前記重み値に基づいて、前記第1の複数の出力を生成するように構成される。前記第1の複数のシナプスの前記メモリセルは、行及び列に配置される。前記第1の複数のシナプスは、前記メモリセルの前記行のうちの1つの前記第1のゲートを各々電気的に一緒に接続する複数の第1の線を含み、前記メモリセルの前記行のうちの1つの前記ソース領域を各々電気的に一緒に接続する複数の第2の線と、前記メモリセルの前記列のうちの1つの前記ドレイン領域を各々電気的に一緒に接続する複数の第3の線と、を含む。前記第1の複数のシナプスは、前記複数の第1の線で、又は前記複数の第2の線で電圧として前記第1の複数の入力を受信するように、かつ前記複数の第3の線で電流として前記第1の複数の出力を提供するように構成されている。
【0006】
ニューラルネットワークデバイスは、第1の複数の入力を受信するように、かつ第1の複数の出力をそれから生成するように構成された第1の複数のシナプスを含むことができる。前記第1の複数のシナプスは複数のメモリセルを含み、前記メモリセルの各々は、半導体基板内に形成され、間にチャネル領域が延在する離間したソース領域及びドレイン領域と、前記チャネル領域全体の上方に配設され、前記チャネル領域から絶縁された浮遊ゲートと、前記浮遊ゲートの上方に配設され、前記浮遊ゲートから絶縁された第1のゲートと、を含む。前記複数のメモリセルの各々は、前記浮遊ゲートで多くの電子に対応する重み値を格納するように構成されている。前記複数のメモリセルは、前記第1の複数の入力及び格納された前記重み値に基づいて、前記第1の複数の出力を生成するように構成される。前記第1の複数のシナプスの前記メモリセルは、行及び列に配置される。前記第1の複数のシナプスは、前記メモリセルの前記行のうちの1つの前記第1のゲートを各々電気的に一緒に接続する複数の第1の線を含み、前記メモリセルの前記行のうちの1つの前記ソース領域を各々電気的に一緒に接続する複数の第2の線と、前記メモリセルの前記列のうちの1つの前記ドレイン領域を各々電気的に一緒に接続する複数の第3の線と、を含む。前記第1の複数のシナプスは、前記複数の第3の線で電圧として前記第1の複数の入力を受信するように、かつ前記複数の第2の線で電流として前記第1の複数の出力を提供するように構成されている。
【0007】
ニューラルネットワークデバイスは、第1の複数の入力を受信するように、かつ第1の複数の出力をそれから生成するように構成された第1の複数のシナプスを含むことができる。前記第1の複数のシナプスは複数のメモリセルを含み、前記メモリセルの各々は、半導体基板内に形成され、間にチャネル領域が延在する離間したソース領域及びドレイン領域と、前記チャネル領域全体の上方に配設され、前記チャネル領域から絶縁された浮遊ゲートと、前記浮遊ゲートの上方に配設され、前記浮遊ゲートから絶縁された第1のゲートと、を含む。前記複数のメモリセルの各々は、前記浮遊ゲートで多くの電子に対応する重み値を格納するように構成されている。前記複数のメモリセルは、前記第1の複数の入力及び格納された前記重み値に基づいて、前記第1の複数の出力を生成するように構成される。前記第1の複数のシナプスの前記メモリセルは、行及び列に配置される。前記第1の複数のシナプスは、前記メモリセルの前記行のうちの1つの前記第1のゲートを各々電気的に一緒に接続する複数の第1の線を含み、前記メモリセルの前記列のうちの1つの前記ソース領域を各々電気的に一緒に接続する複数の第2の線と、前記メモリセルの前記列のうちの1つの前記ドレイン領域を各々電気的に一緒に接続する複数の第3の線と、を含む。前記第1の複数のシナプスは、前記複数の第1の線で電圧として前記第1の複数の入力を受信するように、かつ前記複数の第2の線で、又は前記複数の第3の線で電流として前記第1の複数の出力を提供するように構成されている。
【0008】
ニューラルネットワークデバイスは、第1の複数の入力を受信するように、かつ第1の複数の出力をそれから生成するように構成された第1の複数のシナプスを含むことができる。前記第1の複数のシナプスは複数のメモリセルを含み、前記メモリセルの各々は、半導体基板内に形成され、間にチャネル領域が延在する離間したソース領域及びドレイン領域と、前記チャネル領域全体の上方に配設され、前記チャネル領域から絶縁された浮遊ゲートと、前記浮遊ゲートの上方に配設され、前記浮遊ゲートから絶縁された第1のゲートと、を含む。前記複数のメモリセルの各々は、前記浮遊ゲートで多くの電子に対応する重み値を格納するように構成されている。前記複数のメモリセルは、前記第1の複数の入力及び格納された前記重み値に基づいて、前記第1の複数の出力を生成するように構成される。前記第1の複数のシナプスの前記メモリセルは、行及び列に配置される。前記第1の複数のシナプスは、前記メモリセルの前記列のうちの1つの前記第1のゲートの少なくとも一部を各々電気的に一緒に接続する複数の第1の線と、前記メモリセルの前記行のうちの1つの前記ソース領域を各々電気的に一緒に接続する複数の第2の線と、前記メモリセルの前記列のうちの1つの前記ドレイン領域を各々電気的に一緒に接続する複数の第3の線と、を含む。前記第1の複数のシナプスは、前記複数の第1の線で電圧として前記第1の複数の入力を受信するように、かつ前記複数の第2の線で電流として前記第1の複数の出力を提供するように構成されている。
【0009】
ニューラルネットワークデバイスは、第1の複数の入力を受信するように、かつ第1の複数の出力をそれから生成するように構成された第1の複数のシナプスを含むことができる。前記第1の複数のシナプスは複数のメモリセルを含み、前記メモリセルの各々は、半導体基板内に形成され、間にチャネル領域が延在する離間したソース領域及びドレイン領域と、前記チャネル領域全体の上方に配設され、前記チャネル領域から絶縁された浮遊ゲートと、前記浮遊ゲートの上方に配設され、前記浮遊ゲートから絶縁された第1のゲートと、を含む。前記複数のメモリセルの各々は、前記浮遊ゲートで多くの電子に対応する重み値を格納するように構成されている。前記複数のメモリセルは、前記第1の複数の入力及び格納された前記重み値に基づいて、前記第1の複数の出力を生成するように構成される。前記第1の複数のシナプスの前記メモリセルは、行及び列に配置される。前記第1の複数のシナプスは、前記メモリセルの前記行のうちの1つの前記第1のゲートを各々電気的に一緒に接続する複数の第1の線と、前記メモリセルの前記行のうちの1つの前記ソース領域を各々電気的に一緒に接続する複数の第2の線と、前記メモリセルの前記列のうちの1つの前記ドレイン領域を各々電気的に一緒に接続する複数の第3の線と、前記第3の線のうちの1つと直列に各々電気的に接続された複数のトランジスタと、を含む。前記第1の複数のシナプスは、前記複数のトランジスタのゲートで電圧として前記第1の複数の入力を受信するように、かつ前記複数の第2の線で電流として前記第1の複数の出力を提供するように構成されている。
【0010】
本発明の他の目的及び特徴は、明細書、特許請求の範囲、添付図面を精読することによって明らかになるであろう。
【0011】
【0012】
【0013】
【0014】
【0015】
【0016】
【0017】
【0018】
【0019】
【0020】
【0021】
【0022】
【0023】
【0024】
【0025】
【0026】
【0027】
【0028】
【0029】
【図面の簡単な説明】
【0030】
【
図1】人工ニューラルネットワークを示す図である。
【
図2】従来の2ゲート不揮発性メモリセルの側断面図である。
【
図3】
図2のメモリセルに対する従来のアレイアーキテクチャを示す図である。
【
図4】従来の2ゲート不揮発性メモリセルの側断面図である。
【
図5】
図4のメモリセルに対する従来のアレイアーキテクチャを示す図である。
【
図6】従来の4ゲート不揮発性メモリセルの側断面図である。
【
図7】
図6のメモリセルに対する従来のアレイアーキテクチャを示す図である。
【
図8A】均等な間隔であるニューラルネットワークの重みレベルの割当てを示す図である。
【
図8B】不均等な間隔であるニューラルネットワークの重みレベルの割当てを示す図である。
【
図9】双方向調整アルゴリズムを示すフローチャートである。
【
図10】電流比較を使用した重みマッピングを示すブロック図である。
【
図11】電圧比較を使用した重みマッピングを示すブロック図である。
【
図12】不揮発性メモリアレイを利用する異なるレベルの例示のニューラルネットワークを示す図である。
【
図13】ベクトル乗算器マトリクスを示すブロック図である。
【
図14】様々なレベルのベクトル乗算器マトリクスを示すブロック図である。
【
図15】スタックゲートの不揮発性メモリセルの側断面図である。
【
図16】ドレイン加算マトリクス乗算器として配置された
図15のスタックゲートメモリセルのアレイのアーキテクチャを示す概略図である。
【
図17】スタックゲートメモリセルを使用する電流-電圧変換器を示す概略図である。
【
図18】ドレイン又はソース加算マトリクス乗算器として配置された
図15のスタックゲートメモリセルのアレイのアーキテクチャを示す概略図である。
【
図19】ドレイン又はソース加算マトリクス乗算器として配置された
図15のスタックゲートメモリセルのアレイのアーキテクチャを示す概略図である。
【
図20】ドレイン又はソース加算マトリクス乗算器として配置された
図15のスタックゲートメモリセルのアレイのアーキテクチャを示す概略図である。
【
図21】ドレイン又はソース加算マトリクス乗算器として配置された
図15のスタックゲートメモリセルのアレイのアーキテクチャを示す概略図である。
【
図22】ドレイン又はソース加算マトリクス乗算器として配置された
図15のスタックゲートメモリセルのアレイのアーキテクチャを示す概略図である。
【
図23】ドレイン又はソース加算マトリクス乗算器として配置された
図15のスタックゲートメモリセルのアレイのアーキテクチャを示す概略図である。
【
図24】ドレイン又はソース加算マトリクス乗算器として配置された
図15のスタックゲートメモリセルのアレイのアーキテクチャを示す概略図である。
【
図25】メモリアレイ(複数可)の動作を実装するためのメモリアレイ(複数可)と同じチップのコントローラを示す図である。
【発明を実施するための形態】
【0031】
本発明の人工ニューラルネットワークは、CMOS技術及び不揮発性メモリアレイの組み合わせを利用する。デジタル不揮発性メモリは、周知である。例えば、米国特許第5,029,130号(「’130特許」)は、分割ゲート不揮発性メモリセルのアレイを開示する。’130特許に開示されているメモリセルは、メモリセル10として
図2に示されている。各メモリセル10は、半導体基板12に形成されたソース領域及びドレイン領域14/16を含み、それらの間にチャネル領域18を有する。浮遊ゲート20は、チャネル領域18の第1の部分の上方に形成され、チャネル領域18の第1の部分から絶縁され(かつその伝導率を制御し)、かつドレイン領域16の一部分の上方に形成されている。制御ゲート22(すなわち、第2のチャネル制御ゲート)は、チャネル領域18の第2の部分の上方に配設され、チャネル領域18の第2の部分から絶縁される(かつその伝導率を制御する。)第1の部分22bと、浮遊ゲート20の上方に延在する第2の部分22cと、を有する。浮遊ゲート20及び制御ゲート22は、ゲート酸化物26によって基板12から絶縁されている。
【0032】
メモリセル10は、制御ゲート22上に高い正電圧を印加することによって消去され(ここで電子は、浮遊ゲート20から除去される。)、それにより、ファウラーノルドハイムトンネリングによって浮遊ゲート20から制御ゲート22まで中間絶縁体24を通って浮遊ゲート20の電子をトンネリングさせる。
【0033】
メモリセル10は、制御ゲート22に正電圧を印加し、かつドレイン16に正電圧を印加することによってプログラムされる(ここで電子は、浮遊ゲート20に配置される。)。電子流は、ソース14からドレイン16に向かって流れることになる。電子は、制御ゲート22と浮遊ゲート20との間の間隙に達すると、加速し加熱されることになる。熱せられた電子のいくらかは、浮遊ゲート20からの静電引力に起因してゲート酸化物26を通って浮遊ゲート20に注入される。
【0034】
メモリセル10は、ドレイン16及び制御ゲート22に正の読み出し電圧を印加することによって読み出される(制御ゲート下のチャネル領域の部分をオンにする。)。浮遊ゲート20が正に帯電する(すなわち、電子を消去し、ドレイン16の正電圧に容量的に結合する。)場合、浮遊ゲート20下のチャネル領域18の部分は、次に同様にオンになり、電流は、チャネル領域18を流れ、これは、消去された状態つまり「1」の状態として検知される。浮遊ゲート20が負に帯電する(すなわち、電子でプログラムされる。)と、浮遊ゲート20の下のチャネル領域18の部分はほとんど又は完全にオフになり、電流はチャネル領域18を流れず(又はほとんど流れず)、これは、プログラムされた状態つまり「0」の状態として検出される。
【0035】
メモリセル10の従来のアレイアーキテクチャのアーキテクチャを
図3に示す。メモリセル10は、行及び列に配置される。各列において、メモリセルは、ミラー方式にエンドツーエンドで配置され、その結果、それらのメモリセルは、それぞれが共通ソース領域14(source、S)を共有するメモリセルのペアとして形成され、メモリセルペアの隣接するセットはそれぞれ共通ドレイン領域16(drain、D)を共有する。任意の所与のメモリセルの行のソース領域14は全て、ソース線14aによって電気的に接続される。任意の所与のメモリセルの列のドレイン領域16は全て、ビット線16aによって電気的に接続される。任意の所与のメモリセルの行の制御ゲート22は全て、制御ゲート線22aによって電気的に接続される。したがって、メモリセルを個々にプログラム及び読み出しすることができる一方、メモリセル消去は1行ずつ実行される(メモリセルの各行は、制御ゲート線22aへの高電圧の適用によって一緒に消去される。)。特定のメモリセルを消去する場合は、同じ行にある全てのメモリセルもまた消去される。
【0036】
当業者には、ソース及びドレインに互換性があり得ることが理解され、ここで浮遊ゲート20は、
図4に示されるように、ドレイン16の代わりにソース14の上方に部分的に延在し得る。
図5は、メモリセル10、ソース線14a、ビット線16a、及び制御ゲート線22aを含む対応するメモリセルアーキテクチャを最も良く示している。図から明らかなように、同じ行のメモリセル10は、同じソース線14a及び同じ制御ゲート線22aを共有し、一方同じ列の全てのセルのドレイン領域は、同じビット線16aに電気的に接続されている。アレイの設計は、デジタルアプリケーション用に最適化されており、例えば、1.6V及び7.6Vを選択した制御ゲート線22a及びソース線14aにそれぞれ印加し、選択したビット線16aを接地することによるなど、選択したセルの個々のプログラミングを可能にする。同じペア内の選択されていないメモリセルを妨害することは、選択されていないビット線16aに2ボルト超の電圧を印加し、残りの線を接地することによって回避される。消去に関与しているプロセス(浮遊ゲート20から制御ゲート22までの電子のファウラーノルドハイムトンネリング)は、ドレイン電圧(すなわち、同じソース線14aを共有する行方向で2つの隣接するセルにより異なり得る電圧のみ)に弱く影響を受けるだけであるので、メモリセル10を個々に消去することはできない。動作電圧の非限定的な例としては、以下が挙げられる。
表1
【表1】
読み出し1は、セル電流がビット線に出る読み取りモードである。読み出し2は、セル電流がソース線に出る読み取りモードである。
【0037】
3つ以上のゲートを有する分割ゲートメモリセルもまた既知である。例えば、
図6に示されるように、メモリセルは、ソース領域14、ドレイン領域16、チャネル領域18の第1の部分の上方の浮遊ゲート20、チャネル領域18の第2の部分の上方の選択ゲート28(すなわち、第2のチャネル制御ゲート)、浮遊ゲート20の上方の制御ゲート22、及びソース領域14の上方の消去ゲート30を有し、それらは既知である(例えば、米国特許第6,747,310号を参照のこと。)。ここで、全てのゲートは、浮遊ゲート20を除いて、非浮遊ゲートであり、つまり、それらは電圧又は電流源に電気的に接続される又は接続可能である。プログラミングは、浮遊ゲート20にそれ自体を注入するチャネル領域18からの熱せられた電子によって示される。消去は、浮遊ゲート20から消去ゲート30へトンネリングする電子によって示される。
【0038】
4ゲートのメモリセルアレイのアーキテクチャは、
図7に示されるように構成され得る。この実施形態では、水平の各選択ゲート線28aは、メモリセルのその行の選択ゲート28全てを電気的に一緒に接続する。水平の各制御ゲート線22aは、メモリセルのその行の制御ゲート22全てを電気的に一緒に接続する。水平の各ソース線14aは、ソース領域14を共有するメモリセルの2つの行に対するソース領域14全てを電気的に一緒に接続する。各ビット線16aは、メモリセルのその列のドレイン領域16全てを電気的に一緒に接続する。それぞれの消去ゲート線30aは、消去ゲート30を共有するメモリセルの2つの行に対する消去ゲート30全てを電気的に一緒に接続する。以前のアーキテクチャと同様に、個々のメモリセルは、独立してプログラム及び読み出しを行うことができる。しかしながら、メモリセルを個々に消去する方法はない。消去は、消去ゲート線30aに高圧正電圧を印加することによって実行され、このことは同じ消去ゲート線30aを共有するメモリセルの両方の行の同時消去をもたらす。非限定的な動作電圧は、下の表2内のものを含み得る(この実施形態では、選択ゲート線28aはワード線(word line、WL)と呼ばれることがある。):
表2
【表2】
読み出し1は、セル電流がビット線に出る読み取りモードである。読み出し2は、セル電流がソース線に出る読み取りモードである。
【0039】
上述の不揮発性メモリアレイをニューラルネットワークで利用するために、2つの変形を行ってもよい。第1に、以下に更に説明されるように、アレイ内の他のメモリセルのメモリ状態に悪影響を与えずに各メモリセルを個々にプログラム、消去、及び読み出しすることができるように線を再構成してもよい。第2に、メモリセルの連続(アナログ)プログラミングを提供してもよい。具体的には、アレイ内の各メモリセルのメモリ又はプログラム状態(すなわち、浮遊ゲートの多数の電子によって反映されるような浮遊ゲートの電荷)を、完全に消去された状態から完全にプログラムされた状態へ、及び逆もまた同様に、独立して、かつ他のメモリセルの異常が最小で連続的に変えることができる。このことは、セル格納がアナログであるか、又は多数の別個の値のうちの1つを最低限格納することができ、それは、メモリアレイ内の全てのセルに対する非常に正確、かつ個々の調整を可能にし、またメモリアレイを格納に理想的にし、ニューラルネットワークのシナプシスの重みに微調整を加えることを意味する。
メモリセルのプログラミング及び格納
【0040】
メモリセル内に格納されるニューラルネットワークの重みレベルの割り当ては、
図8Aに示されるような均等な間隔、又は
図8Bに示されるような不均等な間隔であり得る。不揮発性メモリセルのプログラミングは、
図9に示されるものなど双方向調整アルゴリズムを使用して実装され得る。Icellは、プログラムされる標的セルの読み出し電流であり、Itargetは、セルが理想的にプログラムされる際の所望の読み出し電流である。標的セル読み出し電流Icellを読み出し(工程1)、標的読み出し電流Itargetと比較する(工程2)。標的セル読み出し電流Icellが、標的読み出し電流Itargetより大きい場合は、プログラミング調整プロセスを実行して(工程3)浮遊ゲート20(ルックアップテーブル又はシリコン系の近似関数を使用して制御ゲート22の所望の初期及び増分プログラミング電圧VCGを判定する。)の電子数を増大させ(工程3a~3b)、必要に応じてこれを繰り返すことができる(工程3c)。標的セル読み出し電流Icellが、標的読み出し電流Itargetより小さい場合は、消去調整プロセスを実行して(工程4)浮遊ゲート20(ルックアップテーブル又はシリコン系の近似関数を使用して消去ゲート30の所望の初期及び増分消去電圧VEGを判定する。)の電子数を減少させ(工程4a~4b)、必要に応じてこれを繰り返すことができる(工程4c)。プログラミング調整プロセスが標的読み出し電流を通り過ぎると、(許容できるデルタ値内で)標的読み出し電流を達成するまで次に消去調整プロセスを実行し(工程3d及び工程4aで始まる。)、逆もまた同様である(工程4d及び工程3aで始まる。)。
【0041】
不揮発性メモリセルのプログラミングは、プログラミング調整を使用して一方向の調整アルゴリズムを使用して代わりに実装され得る。このアルゴリズムを使用して、メモリセル10を最初に完全に消去し、次に標的メモリセル10の読み出し電流が標的閾値に達するまで
図9のプログラミング調整工程3a~3cを実行する。あるいは、不揮発性メモリセルの調整は、消去調整を使用して一方向の調整アルゴリズムを使用して実装され得る。このアプローチでは、メモリセルを最初に完全にプログラムし、次に標的メモリセルの読み出し電流が標的閾値に達するまで
図9の消去調整工程4a~4cを実行する。
【0042】
図10は、電流比較を使用した重みマッピングを示す図である。重みデジタルビット(例えば、各シナプシスに対して5ビットの重み、メモリセルの標的デジタル重みを表す。)は、デジタルアナログ変換器(digital-to-analog converter、DAC)40に入力され、DAC40はビットを電圧Vout(例えば、64電圧レベル-5ビット)に変換する。Voutは、電圧電流変換器V/I Conv42によって電流Iout(例えば、64電流レベル-5ビット)に変換される。電流Ioutは、電流比較器IComp44に供給される。プログラム又は消去アルゴリズムの有効化は、メモリセル10に入力される(例えば、消去:EG電圧をインクリメント、又はプログラム:CG電圧をインクリメント)。出力メモリセル電流Icellout(すなわち、読み出し動作から)は、電流比較器IComp44に供給される。電流比較器IComp44は、メモリセル電流Icelloutを重みデジタルビット由来の電流Ioutと比較してメモリセル10に格納された重みを示す信号を生成する。
【0043】
図11は、電圧比較を使用した重みマッピングを示す図である。重みデジタルビット(例えば、各シナプシスに対して5ビットの重み)は、デジタルアナログ変換器(DAC)40に入力され、DAC40はビットを電圧Vout(例えば、64電圧レベル-5ビット)に変換する。Voutは、電圧比較器VComp46に供給される。プログラム又は消去アルゴリズムの有効化は、メモリセル10に入力される(例えば、消去:EG電圧をインクリメント、又はプログラム:CG電圧をインクリメント)。出力メモリセル電流Icelloutは、電圧V2outへの変換(例えば、64電圧レベル-5ビット)のために電流電圧変換器I/V Conv48に供給される。電圧V2outは、電圧比較器VComp46に供給される。電圧比較器VComp46は、電圧Vout及びV2outを比較してメモリセル10に格納された重みを示す信号を生成する。
【0044】
重みマッピング比較の別の実施形態は、入力重み及び/又はメモリセルの出力のための可変パルス幅を使用する(すなわち、パルス幅は、重みの値に比例するか、又は反比例する。)。重みマッピング比較の更に別の実施形態では、入力重み及び/又はメモリセルの出力のためにデジタルパルス(例えば、クロックから生成されたパルスであって、パルス数は、重みの値に比例するか、又は反比例する。)を使用する。
不揮発性メモリセルアレイを使用するニューラルネットワーク
【0045】
図12は、不揮発性メモリアレイを利用するニューラルネットワークの非限定例を概念的に図示する。この例は、顔認識アプリケーションのために不揮発性メモリアレイニューラルネットを使用するが、不揮発性メモリアレイベースのニューラルネットワークを使用して他の任意の適切なアプリケーションを実施することができる。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の異なる特徴マップを生成する。
【0046】
本例では、層C1において、それぞれ30×30ピクセルを有する16個の特徴マップが存在する。各ピクセルは、入力とカーネルとの乗算から抽出された新しい特徴ピクセルであり、したがって、各特徴マップは、2次元アレイであり、したがってこの例では、シナプスCB1は、2次元アレイの16層を構成する(本明細書で言及されるニューロン層及びアレイは、必ずしも物理的関係ではなく論理的な関係であり、すなわち、アレイは必ずしも物理的な2次元アレイに配向されないことに留意する。)。16個の特徴マップの各々は、フィルタスキャンに適用される16個の異なるシナプス重みのセットの1つによって生成される。C1特徴マップは全て、境界同定など、同じ画像特徴の異なる態様を対象とすることができる。例えば、第1のマップ(この第1のマップを生成するのに使用される全てのスキャンに共有される第1の重みセットを使用して生成される。)は、円形エッジを識別することができ、第2のマップ(第1の重みセットと異なる第2の重みセットを使用して生成される。)は、方形エッジ又は特定の特徴のアスペクト比などを識別することができる。
【0047】
層C1から層S1へ行く前には、各特徴マップ内の重なり合わずに連続する2×2領域からの値をプールする活性化関数P1(プーリング)が適用される。プーリング段階の目的は、平均して近隣の位置にすること(又はmax関数もまた使用され得る。)、例えばエッジ位置の依存を低減すること、及び次の段階に行く前にデータサイズを低減することである。層S1において、16個の15×15特徴マップ(すなわち、それぞれ15×15ピクセルの異なるアレイ16個)が存在する。層S1から層C2へ行くCB2内のシナプス及び関連するニューロンは、S1内のマップを1ピクセルのフィルタシフトを使用して4×4フィルタでスキャンする。層C2において、22個の12×12特徴マップが存在する。層C2から層S2へ行く前には、各特徴マップ内の重なり合わずに連続する2×2領域からの値をプールする活性化関数P2(プーリング)が適用される。層S2において、22個の6×6特徴マップが存在する。活性化関数は、層S2から層C3へ行くシナプスCB3で適用され、ここで層C3内の全てのニューロンは層S2内の全てのマップに接続する。層C3において、64個のニューロンが存在する。層C3から出力層S3へ行くシナプスCB4は、S3をC3と完全に接続する。層S3における出力は、10個のニューロンを含み、ここで出力が最も高いニューロンが、クラスを判定する。この出力は、例えば、元の画像の内容の同定又は分類を示すことができる。
【0048】
シナプスの各レベルは、不揮発性メモリセルのアレイ又はアレイの一部を使用して実行される。
図13は、不揮発性メモリセルを含み、入力層と次の層との間のシナプスとして利用されるベクターとマトリクスとの乗算(vector-by-matrix multiplication、VMM)アレイのブロック図である。具体的には、VMMアレイ32は、不揮発性メモリセルのアレイ33、消去ゲート及びワード線ゲートデコーダ34、制御ゲートデコーダ35、ビット線デコーダ36、並びにソース線デコーダ37を含み、それらのデコーダはメモリセルアレイ33に対する入力をデコードする。この例におけるソース線デコーダ37はまた、メモリセルアレイ33の出力をデコードする。あるいは、ビット線デコーダ36が、不揮発性メモリセルアレイ33の出力をデコードすることができる。メモリアレイは、2つの目的を果たす。第1に、VMMアレイ32によって使用される重みを格納する。第2に、メモリセルアレイは、メモリセルアレイに格納された重みによって、入力を有効に乗算して、その結果を各出力線に沿って一緒に加算して、出力を生成し、この出力は次の層への入力又は最後の層への入力になる。乗算及び加算の関数を実行することによって、メモリアレイは、別個の乗算及び加算の論理回路の必要性をなくし、また、その場でのメモリ計算により電力効率も良い。
【0049】
メモリセルアレイの出力は、メモリセルアレイの出力を合計してその畳み込み用の単一の値を生成する単一の、又は差動加算回路38に供給される。合計された出力値は、次に出力を整流する活性化関数回路39に供給される。活性化関数には、シグモイド、tanh、又はReLu関数が含まれ得る。回路39からの整流された出力値は、次の層(例えば上の説明ではC1)として特徴マップの要素になり、次いで、次のシナプスに適用されて次の特徴マップ層又は最後の層を生成する。したがって、この例では、メモリセルアレイ33は、複数のシナプスを構成し(ニューロンの前の層から、又は画像データベースなどの入力層から、入力を受信する。)、加算回路38及び活性化関数回路39は、複数のニューロンを構成する。
【0050】
図14は、図中でVMMアレイ32a、32b、32c、32d、及び32eとして標示されたVMMアレイ32の多数の層の使用を示すブロック図である。
図14に示されるように、入力(Inputxで示される。)は、デジタルアナログ変換器31によってデジタルからアナログに変換され、入力VMMアレイ32aに提供される。入力VMMアレイ32aによって生成された出力は、次に、次のVMMアレイ(隠しレベル1)32bへの入力として提供され、次に入力VMMアレイ(隠しレベル2)32cへの入力として提供される出力を生成するなどとなる。VMMアレイ32の様々な層は、畳み込みニューラルネットワーク(convolutional neural network、CNN)のシナプス及びニューロンの各層として機能する。VMMアレイ32a、32b、32c、32d及び32eはそれぞれスタンドアローンの物理的不揮発性メモリアレイとすることができ、又は複数のVMMアレイは、同じ物理的不揮発性メモリアレイの異なる部分を利用することができ、又は複数のVMMアレイは、同じ物理的不揮発性メモリアレイの重なり合う部分を利用することができる。
図14に示される例は、5つの層(32a、32b、32c、32d、32e)、すなわち、1つの入力層(32a)、2つの隠れ層(32b、32c)、及び2つの完全に接続された層(32d、32e)を含む。当業者であれば、これは単なる例示であり、代わりにシステムが2つを超える隠れ層及び2つを超える完全に接続された層を含み得ることを理解するであろう。
【0051】
図15~
図16は、ドレイン加算マトリクス乗算器として配置されたスタックゲートメモリセルのアレイの構成を示す。スタックゲートメモリセル10は、
図15に示されており、上述の分割ゲート型メモリセルと同様に、チャネル領域18が間にあるソース領域及びドレイン領域14/16を含む。しかしながら、スタックゲートメモリセル構成では、浮遊ゲート20は、チャネル領域18全体の上方に延在し(かつ、その導電性を制御し)、制御ゲート22が浮遊ゲートの上方に配設される。他のゲートは存在しない。このメモリセルは、ドレイン側にホット電子注入、又は基板12からのトンネリングによってプログラムすることができる。メモリセルは、電子が浮遊ゲート20から基板12にトンネリングする、基板12、ソース領域14及び/又はドレイン領域16に高い正電圧を印加することによって消去することができる。このメモリセルは、制御ゲート22及びソース領域14に読み出し電圧を印加し、チャネル領域18を通る任意の電流を感知することによって読み出される。例示的な非限定的な動作電圧は、以下の表3のものを含むことができる。
表3
【表3】
読み出し1は、セル電流がビット線に出る読み取りモードである。読み出し2は、セル電流がソース線に出る読み取りモードである。
【0052】
図16は、水平/行方向に延在する制御ゲート線22a及びソース線14a、並びに垂直/列方向に延在するビット線16aを有する、
図15のスタックゲートメモリセル10を使用するメモリセルアレイアーキテクチャを示す。そのセルに適切な重み値を使用してメモリセルの各々がプログラムされた後で、アレイは、ビット線加算マトリクス乗算器として作動する。マトリクス電圧入力は、Vin0-Vin3であり、制御ゲート線22aに印加される。マトリクス出力Iout0...Ioutnは、ビット線16aに生成される。各出力Ioutは、列内の全てのセルについて入力電流Iに、セルに格納された重みWを乗じた値の合計である:
Iout=Σ(Ij
*Wij)
式中、「i」は行を表し、「j」はメモリセルが存在する列を表す。入力電圧が入力電流の代わりに印加される場合、
図16にVin0-Vin3として示されるように、各出力Ioutは、列内の全てのセルについて入力電圧に、セル内に格納された重みWを乗じた値の合計に比例する。
Iout α Σ(Vj
*Wij)
【0053】
各メモリセルの列は、その列内のメモリセルに格納された重み値の合計によって決まる出力電流Ioutとして表される合計の重み値を有する単一のニューロンとして作動する。任意の所与のニューロンの出力は電流の形態であり、これにより、次の後続のVMMアレイ段階のための活性化関数回路による調節後に入力電流Iinとして使用することができる。
【0054】
入力が電圧であり、出力が電流であることを考慮すると、
図16では、第1段階の後の各後続のVMM段階は、前のVMM段階から入力電圧Vinとして使用される電圧に入力電流を変換するための回路を含むことが好ましい。
図17は、そのような電流電圧変換回路機構の例を示しているが、これは入力電流Iin0...Iin1を後続の段階への適用のために入力電圧Vin0...Vin1にログ変換する改変されたメモリセルの行である。本明細書に記載されたメモリセルは、弱反転にバイアスされる。
Ids=Io
*e
(Vg-Vth)/kVt=w
*Io
*e
(Vg)/kVt
式中、w=e
(-Vth)/kVtである。
入力電流を入力電圧に変換するためのメモリセルを使用するI-Vログ変換器について:
Vg=k
*Vt
*log[Ids/wp
*Io]
式中、wpは、基準又は周辺メモリセルのwである。ベクトルマトリックス乗算器VMMとして使用されるメモリアレイについて、出力電流は以下である:
Iout=wa
*Io
*e
(Vg)/kVt、すなわち
Iout=(wa/wp)
*Iin=W
*Iin
W=e
(Vthp-Vtha)/kVt
式中、メモリアレイの各メモリセルのwa=wである。制御ゲート線22aは、電流-電圧変換の間に閉じられるスイッチBLRによってビット線16aに接続される入力電圧のためのメモリセルの入力として使用することができる。
【0055】
あるいは、本明細書に記載されたVMMアレイの不揮発性メモリセルは、線形領域で動作するように構成することができる。
Ids=β*(Vgs-Vth)*Vds;β=u*Cox*Wt/L
式中、Wt及びLは、トランジスタのそれぞれの幅及び長さである。
W α(Vgs-Vth)は、重みWが(Vgs-Vth)に比例する。
【0056】
制御ゲート線又はビット線又はソース線は、線形領域内で動作するメモリセルの入力として使用することができる。ビット線又はソース線は、出力ニューロンの出力として使用することができる。
【0057】
I-V線形変換器用に、メモリセル(基準メモリセル又は周辺メモリセルなど)、又は線形領域で動作するトランジスタ、又は抵抗器を使用して、入出力電流を入出力電圧に線形変換することができる。あるいは、本明細書に記載されたVMMアレイの不揮発性メモリセルは、飽和領域で動作するように構成することができる。
Ids=α1/2*β*(Vgs-Vth)2;β=u*Cox*Wt/L
W α(Vgs-Vth)2、すなわち重みWは(Vgs-Vth)2に比例する。
【0058】
制御ゲート線は、飽和領域内で動作するメモリセルの入力として使用することができる。ビット線又はソース線は、出力ニューロンの出力として使用することができる。あるいは、本明細書に記載されるVMMアレイの不揮発性メモリセルは、全ての領域又はそれらの組み合わせ(サブ閾値、線形、又は飽和)で使用することができる。上述の電流-電圧変換回路又は技術は、本明細書のいずれかの実施形態で使用することができ、任意のニューロンからの電流出力を電流の形態で、次の後続のVMMアレイ段階の活性化関数回路で調整した後、入力として使用することができる。
【0059】
図18は、ドレイン加算マトリクス乗算器として配置された、
図15のスタックゲートメモリセル10のアレイの別の構成を示す。
図18のアレイの線は、
図16のアレイのものと同じである。しかしながら、マトリクス電圧入力Vin0-Vin1はソース線14aに配置され、マトリクス電流出力Iout0...IoutNは、ビット線16aに生成される(すなわち、各出力Ioutは、列内の全てのセルに対し、セル内に格納された重みWに比例するセル電流の合計である)。前の実施形態のように、任意の所与のニューロンの出力は電流の形態であり、これにより、次の後続のVMMアレイ段階のための活性化関数回路による調節後に入力として使用することができる。
【0060】
図19は、ソース加算マトリクス乗算器として配置された、
図15のスタックゲートメモリセル10のアレイの別の構成を示す。
図19のアレイの線は、
図16のアレイのものと同じである。しかしながら、マトリクス電圧入力Vin0-Vinnはビット線16aに印加され、マトリクス電流出力Iout0...Iout1は、ソース線14aに生成される(すなわち、各出力Ioutは、行内の全てのセルに対し、セル内に格納された重みWに比例するセル電流の合計である)。前の実施形態のように、任意の所与のニューロンの出力は電流の形態であり、これにより、次の後続のVMMアレイ段階のための活性化関数回路による調節後に入力として使用することができる。
【0061】
図20は、ソース加算マトリクス乗算器として配置された、
図15のスタックゲートメモリセル10のアレイの別の構成を示す。
図20のアレイの線は、ソース線14aが、水平の代わりに垂直に走っていることを除き、
図16中のものと同じである。具体的には、メモリセルの各列は、その列内のメモリセルの全てのソース領域14を一緒に接続するソース線14aを含み、それにより、セルは個々にプログラムされ、読み出し及び消去され得る。そのセルに適切な重み値を使用してメモリセルの各々がプログラムされた後で、アレイは、ソース加算マトリクス乗算器として作動する。マトリクス電圧入力は、Vin0-Vin3であり、制御ゲート線22aに印加される。マトリクス出力Iout0...Ioutnは、ソース線14aに生成される。各出力Ioutは、列内の全てのセルについて、セルに格納された重みWに比例するセル電流の合計である。前の実施形態のように、任意の所与のニューロンの出力は電流の形態であり、これにより、次の後続のVMMアレイ段階のための活性化関数回路による調節後に入力として使用することができる。
【0062】
図21は、ドレイン加算マトリクス乗算器として配置された、
図15のスタックゲートメモリセル10のアレイの別の構成を示す。
図21のアレイの線は、
図20のものと同じである。そのセルに適切な重み値を使用してメモリセルのそれぞれがプログラムされた後で、アレイは、ドレイン加算マトリクス乗算器として作動する。マトリクス電圧入力は、Vin0-Vin3であり、制御ゲート線22aに印加される。マトリクス出力Iout0...Ioutnは、ビット線16aに生成される。各出力Ioutは、列内の全てのセルについて、セルに格納された重みWに比例するセル電流の合計である。前の実施形態のように、任意の所与のニューロンの出力は電流の形態であり、これにより、次の後続のVMMアレイ段階のための活性化関数回路による調節後に入力として使用することができる。
【0063】
図22は、ソース加算マトリクス乗算器として配置された、
図15のスタックゲートメモリセル10のアレイの別の構成を示す。
図22のアレイの線は、制御ゲート線22aが、水平の代わりに垂直に走っていることを除き、
図16中のものと同じである。具体的には、メモリセルの各列は、その列内の全ての制御ゲート22を一緒に接続する制御ゲート線22aを含む。そのセルに適切な重み値を使用してメモリセルの各々がプログラムされた後で、アレイは、ソース加算マトリクス乗算器として作動する。マトリクス電圧入力は、Vin0-Vinnであり、制御ゲート線22aに印加される。マトリクス電流出力Iout0...Iout1は、ソース線14aに生成される。各出力Ioutは、行内の全てのセルについて、セルに格納された重みWに比例するセル電流の合計である。前の実施形態のように、任意の所与のニューロンの出力は電流の形態であり、これにより、次の後続のVMMアレイ段階のための活性化関数回路による調節後に入力として使用することができる。
【0064】
図23は、ソース加算マトリクス乗算器として配置された、
図15のスタックゲートメモリセル10のアレイの別の構成を示す。
図23のアレイの線は、メモリセルの各列に対し2つの制御ゲート線22aがあることを除き、
図22中のものと同じである。具体的には、メモリセルの列のそれぞれは、第1の制御ゲート線22a1及び第2の制御ゲート線22a2の両方を含む。各列に関して、第1の制御ゲート線22a1は、偶数行の列内の全てのメモリセルの制御ゲート22を一緒に接続し、第2の制御ゲート線22a2は、奇数行の列内の全てのメモリセルに対して制御ゲート22を一緒に接続する。そのセルに適切な重み値を使用してメモリセルの各々がプログラムされた後で、アレイは、ソース加算マトリクス乗算器として作動する。マトリクス電圧入力は、Vin0-Vinnであり、制御ゲート線22a1及び22a2に印加される。マトリクス出力Iout0...Iout2は、ソース線14aに生成される。各出力Ioutは、行内の全てのセルについて、セルに格納された重みWに比例するセル電流の合計である。各列の2つの入力は、差動入力であり得る。前の実施形態のように、任意の所与のニューロンの出力は電流の形態であり、これにより、次の後続のVMMアレイ段階のための活性化関数回路による調節後に入力として使用することができる。
【0065】
図24は、ドレイン加算マトリクス乗算器として配置された、
図15のスタックゲートメモリセル10のアレイの別の構成を示す。
図24のアレイの線は、各ビット線がビット線と直列に接続されたビット線バッファトランジスタ60を含む(すなわち、ビット線の任意の電流は、そのソースとドレインとの間のトランジスタを通って流れる)ことを除いて、
図19のアレイ内の線と同じである。トランジスタ60は、トランジスタのゲート端子の入力電圧が増加するにつれてビット線を選択的にかつ徐々にオンにする階段状のスイッチとして作用する(すなわち、トランジスタはビット線をその電流又は電圧ソースに結合する)。マトリクス電圧入力Vin0...Vinnがトランジスタ60のゲートに提供され、マトリクス電流出力Iout0...Iout1がソース線14aに提供される。この構成の利点は、電圧の形態でビット線に直接入力を供給する代わりに、マトリクス入力を電圧として(トランジスタ60を動作させるために)供給することができることである。これにより、トランジスタのゲートに供給される入力電圧Vinに応答して、トランジスタ60を用いてビット線に徐々に結合させることで、定電圧源を用いてビット線を動作させることができ、メモリアレイに電気的な電圧入力を供給する必要がなくなる。前の実施形態のように、任意の所与のニューロンの出力は電流の形態であり、これにより、次の後続のVMMアレイ段階のための活性化関数回路による調節後に入力として使用することができる。
【0066】
上記の全ての機能は、ニューラルネット機能に使用される上述のメモリセル10のメモリアレイ(複数可)に接続されているコントローラ100の制御下で実行することができる。
図25に示すように、コントローラ100は、メモリアレイ(複数可)120と同じ半導体チップ又は基板110にあることが好ましい。しかし、コントローラ100は、別の半導体チップ又は基板に配置することも可能であり、半導体チップ又は基板110又は外の異なる場所に配設された複数のコントローラの集合体であることも可能である。
【0067】
本発明は、本明細書に図示された上記実施形態(複数可)に限定されるものではなく、任意の特許請求の範囲の範疇に収まるあらゆる変形例を包含することが理解されよう。例えば、本明細書で本発明に言及することは、任意の特許請求項又は特許請求項の用語の範囲を限定することを意図しておらず、その代わり、単に、1つ以上の特許請求項によって網羅され得る1つ以上の特徴に言及するものである。上記で説明した材料、プロセス、及び数値の実施例は、単に例示的なものであり、特許請求の範囲を限定するものとみなされるべきではない。単一の材料層は、かかる又は類似の材料から構成される多数の層として形成することができ、そして、逆もまた同様である。各メモリセルアレイの出力は、次のニューロン層に送られる前にフィルタコンデンセーションによって操作されるが、そうである必要はない。最後に、上述したマトリクス乗算器アレイの各実施形態では、入力電圧や出力電流に使用されていない任意の線に関して、メモリセルの構成について本明細書の表に開示される公称読み出し電圧は、動作中にそれらの線に印加され得る(ただし、必須ではない。)。
【0068】
本明細書で使用される、用語「の上方に(over)」及び「に(on)」は共に、「上に直接」(中間材料、要素、又は間隙がそれらの間に配設されていない)及び「上に間接的に」(中間材料、要素、又は間隙がそれらの間に配設されている)を包括的に含むことに留意されるべきである。同様に、「隣接した」という用語は、「直接隣接した」(中間材料、要素、又は間隙がそれらの間に配設されていない)、及び「間接的に隣接した」(中間材料、要素、又は間隙がそれらの間に配設されている)を含み、「に取り付けられた」は、「に直接取り付けられた」(中間材料、要素、又は間隙がそれらの間に配設されていない)、及び「に間接的に取り付けられた」(中間材料、要素、又は間隙がそれらの間に配設されている)を含み、「電気的に結合された」は、「直接電気的に結合された」(中間材料又は要素がそれらの間で要素を電気的に連結していない)、及び「間接的に電気的に結合された」(中間材料又は要素がそれらの間で要素を電気的に連結している)を含む。例えば、「基板の上方に」要素を形成することは、中間材料/要素が介在せずに直接基板にその要素を形成することも、1つ以上の中間材料/要素が介在して間接的に基板にその要素を形成することも含み得る。