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