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