JP7359935B2 - 人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法 - Google Patents

人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法 Download PDF

Info

Publication number
JP7359935B2
JP7359935B2 JP2022503818A JP2022503818A JP7359935B2 JP 7359935 B2 JP7359935 B2 JP 7359935B2 JP 2022503818 A JP2022503818 A JP 2022503818A JP 2022503818 A JP2022503818 A JP 2022503818A JP 7359935 B2 JP7359935 B2 JP 7359935B2
Authority
JP
Japan
Prior art keywords
array
cell
memory cells
bit line
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022503818A
Other languages
English (en)
Other versions
JP2022540724A (ja
Inventor
トラン、ヒュー、バン
ブー、サン
トリン、ステファン
ホン、スタンレー
リ、アン
レムケ、スティーブン
ニュエン、ニャ
ティワリ、ビピン
ドー、ナン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Storage Technology Inc
Original Assignee
Silicon Storage Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Storage Technology Inc filed Critical Silicon Storage Technology Inc
Publication of JP2022540724A publication Critical patent/JP2022540724A/ja
Priority to JP2023166764A priority Critical patent/JP2024001083A/ja
Application granted granted Critical
Publication of JP7359935B2 publication Critical patent/JP7359935B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0425Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a merged floating gate and select transistor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C2029/2602Concurrent test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5006Current

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Theoretical Computer Science (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Non-Volatile Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

(優先権の主張)
本出願は、2019年7月19日に出願された「Testing Circuitry and Methods for Analog Neural Memory in Artificial Neural Network」と題する米国特許仮出願第62/876,515号、及び2019年9月12日に出願された「Testing Circuitry and Methods for Analog Neural Memory in Artificial Neural Network」と題する米国特許出願第16/569,647号の優先権を主張する。
(発明の分野)
ディープラーニング人工ニューラルネットワーク内のアナログニューラルメモリと共に使用する試験回路及び方法が開示される。アナログニューラルメモリは、不揮発性フラッシュメモリセルの1つ以上のアレイを含む。
人工ニューラルネットワークは、生物学的ニューラルネットワーク(動物の中枢神経系、特に脳)を模倣し、多数の入力に依存し得、かつ、一般的に未知である関数を推定する又は近似するために使用される。人工ニューラルネットワークは、概して、メッセージを交換する相互接続した「ニューロン」の層を含む。
図1は人工ニューラルネットワークを示し、図中、円は、入力又はニューロンの層を表す。接続(シナプスと呼ばれる)は、矢印によって表され、経験に基づいて調整され得る数値の重みを有する。これにより、ニューラルネットワークは入力に適応し、学習可能になる。典型的には、ニューラルネットワークは、複数の入力の層を含む。典型的には、1つ以上のニューロンの中間層、及びニューラルネットワークの出力を提供するニューロンの出力層が存在する。それぞれのレベルでニューロンは、シナプスから受け取ったデータに基づいて個々に又は合わせて決定を行う。
高性能情報処理用の人工ニューラルネットワークの開発における主要な課題の1つは、適切なハードウェア技術の欠如である。実際には、実用ニューラルネットワークは、非常に多数のシナプスに依拠し、これによりニューロン間の高い接続性、すなわち、非常に高度な計算処理の並列化が可能となる。原理的には、このような複雑性は、デジタルスーパーコンピュータ又は専用GPU(グラフィックプロセッシングユニット)クラスタによって実現が可能である。しかしながら、高コストに加え、これらのアプローチはまた、生物学的ネットワークが主として低精度のアナログ計算を実施するのではるかに少ないエネルギーしか消費しないのと比較して、エネルギー効率が劣っていることに悩まされている。人工ニューラルネットワークにはCMOSアナログ回路が使用されてきたが、ほとんどのCMOS実装シナプスは、必要な多数のニューロン及びシナプスを前提とすると、嵩高過ぎていた。
出願人は以前に、参照により組み込まれる米国特許公開第2017/0337466号として公開された米国特許出願第15/594,439号において、シナプスとして1つ以上の不揮発性メモリアレイを利用する人工(アナログ)ニューラルネットワークを開示した。不揮発性メモリアレイは、アナログニューラルメモリとして動作する。ニューラルネットワークデバイスは、第1の複数の入力を受け取り、それから第1の複数の出力を生成するように構成された第1の複数のシナプス、及び第1の複数の出力を受け取るように構成された第1の複数のニューロンを含む。第1の複数のシナプスは複数のメモリセルを含み、各メモリセルは、半導体基板内に形成された、間にチャネル領域が延在する離間したソース領域及びドレイン領域と、チャネル領域の第1の部分の上方に配設され、チャネル領域の第1の部分から絶縁された浮遊ゲートと、チャネル領域の第2の部分の上方に配設され、チャネル領域の第2の部分から絶縁された非浮遊ゲートと、を含む。複数のメモリセルのそれぞれは、浮遊ゲート上の多くの電子に対応する重み値を格納するように構成される。複数のメモリセルは、第1の複数の入力に、格納された重み値を乗算して第1の複数の出力を生成するように構成される。この様式で使用されるメモリセルのアレイは、ベクトル行列乗算(VMM)アレイと称され得る。
アナログニューラルメモリシステムに使用されるそれぞれの不揮発性メモリセルは、消去・プログラムに対応して、浮遊ゲート内に電荷、すなわち電子の数、を非常に特異的かつ正確な量で保持しなければならない。例えば、各浮遊ゲートはN個の異なる値のうちの1つを保持しなければならず、ここで、Nは、各セルによって示され得る異なる重みの数である。Nの例としては、16、32、64、128及び256が挙げられる。
各個々のメモリセルがN個の異なるレベルのうちの1つを格納することができるので(Nは2より大きくなり得、Nが常に2である従来のメモリセルとは対照的である)、精度及び正確度は、VMMアレイに関わる動作において非常に重要である。したがって、試験することが、極めて重要な動作になる。例えば、プログラミング動作の検証は、各個々のセル又はセルの列が所望の値に正確にプログラムされることを確実にするために必要である。別の例として、VMMアレイの動作中にデータを格納するために使用されるセルのセットから削除することができるように不良のセル又はセルのグループを識別することは重要である。
必要とされるのは、VMMアレイと共に使用する改善された試験回路及び方法である。
ディープラーニング人工ニューラルネットワーク内のアナログニューラルメモリと共に使用する試験回路及び方法が開示される。アナログニューラルメモリは、不揮発性フラッシュメモリセルの1つ以上のアレイを含む。試験回路及び方法は、選別試験、繰り返し試験、高温動作寿命(HTOL)試験、認定試験、及び他の試験中に、1つ以上のセルの特性及び操作性を検証するために利用され得る。
一実施形態は、アナログニューラル不揮発性メモリセルのアレイ内の複数の不揮発性メモリセルにプログラムされた値を検証する方法を含み、アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、各ワード線は行デコーダに選択的に結合され、各ビット線は列デコーダに選択的に結合され、この方法は、行デコーダによって、アレイ内の全てのワード線をアサートするステップと、列デコーダによって、アレイ内のビット線をアサートするステップと、検知増幅器によって、ビット線から受け取った電流を検知するステップと、ビット線に結合された不揮発性メモリセルが所望の値を含むかどうかを判定するために電流を基準電流と比較するステップと、を含む。
別の実施形態は、アナログニューラル不揮発性メモリセルのアレイ内の複数の不揮発性メモリセルによって引き出された電流を測定する方法を含み、アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、各ワード線は行デコーダに選択的に結合され、各ビット線は列デコーダに選択的に結合され、この方法は、行デコーダによって、アレイ内の全てのワード線をアサートするステップと、列デコーダによって、アレイ内のビット線をアサートするステップと、ビット線から受け取った電流を測定するステップと、を含む。
別の方法は、不揮発性メモリセルのアレイ内の複数のアナログニューラル不揮発性メモリセルを試験する方法を含み、アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、各ワード線は行デコーダに選択的に結合され、各ビット線は列デコーダに選択的に結合され、この方法は、行デコーダによって、アレイ内の全てのワード線をアサートするステップと、列デコーダによって、アレイ内の全てのビット線をアサートするステップと、アレイ内の全ての不揮発性メモリセルに対してディーププログラミング動作を実行するステップと、ビット線から受け取った全電流を測定するステップと、を含む。
別の実施形態は、アナログニューラル不揮発性メモリセルのアレイを試験する方法を含み、アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、この方法は、ビット線に結合された複数のセルをプログラミングするステップと、複数のセルによって引き出された電流をK個の異なる時間に測定し、K個の異なる時間のそれぞれに測定された値を格納するステップであって、Kは整数である、ステップと、K個の測定された値に基づいて平均値を計算するステップと、K個の測定された値のうちのいずれかが、平均値より第1のスレッショルドを超えて小さい場合、又は平均値より第2のスレッショルドを超えて大きい場合、ビット線を不良ビット線として識別するステップと、を含む。
別の実施形態は、アナログニューラル不揮発性メモリセルのアレイを試験する方法を含み、アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、この方法は、ビット線に結合された複数のセルをプログラミングするステップと、複数のセルの制御ゲート端子に結合された制御ゲート線における電圧をK個の異なる時間に測定し、K個の異なる時間のそれぞれに測定された値を格納するステップであって、Kは整数である、ステップと、K個の測定された値に基づいて平均値を計算するステップと、K個の測定された値のうちのいずれかが、平均値より第1のスレッショルドを超えて小さい場合、又は平均値より第2のスレッショルドを超えて大きい場合、ビット線を不良ビット線として識別するステップと、を含む。
別の実施形態は、N個の異なる値を格納するためのアナログニューラル不揮発性メモリセルを試験する方法を含み、Nは整数であり、この方法は、N個の値のうちの1つを表す標的値にセルをプログラミングするステップと、セルに格納された値が、標的値を中心にした許容可能な値のウィンドウ内にあることを検証するステップと、N個の値のそれぞれに対してプログラミング及び読み出しステップを繰り返すステップと、検証ステップのいずれかが、標的値を中心にした許容可能な値のウィンドウの外側にあるセルに格納された値を示す場合、セルを不良として識別するステップと、を含む。
別の実施形態は、アナログニューラル不揮発性メモリセルのアレイにおける漏れを補償する方法を含み、アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、この方法は、ビット線に結合された不揮発性メモリセルの列に対して漏れを測定するステップと、測定された漏れ値を格納するステップと、漏れを補償するために不揮発性メモリセルの列の読み出し動作中に測定された漏れ値を適用するステップと、を含む。
別の実施形態は、アナログニューラル不揮発性メモリセルのアレイ内の選択された不揮発性メモリセルを試験する方法を含み、この方法は、選択された不揮発性メモリセルがサブスレッショルド領域で動作する間に、選択された不揮発性メモリセルに対して対数傾斜係数を決定するステップと、対数傾斜係数を格納するステップと、選択された不揮発性メモリセルが線形領域で動作する間に、選択された不揮発性メモリセルに対して線形傾斜係数を決定するステップと、線形傾斜係数を格納するステップと、選択されたセルを標的電流にプログラミングするときに、対数傾斜係数及び線形傾斜係数のうちの1つ以上を利用するステップと、を含む。
別の実施形態は、アナログニューラル不揮発性メモリセルのアレイ内の不揮発性メモリセルの列によって引き出された電流を測定する方法を含み、アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、各ワード線は行デコーダに選択的に結合され、各ビット線は列デコーダに選択的に結合され、この方法は、行デコーダによって、アレイ内の全てのワード線をアサートするステップと、列デコーダによって、アレイ内のビット線をアサートして、不揮発性メモリセルの列を選択するステップと、ビット線から受け取った電流を測定するステップと、を含む。
別の実施形態は、アナログニューラル不揮発性メモリセルのアレイを試験する方法を含み、この方法は、アレイ内の不揮発性メモリセルのそれぞれの端子に一連の電圧を印加することによってアレイ内の不揮発性メモリセルを消去するステップであって、一連の電圧内の電圧は、固定されたステップサイズで経時的に増加する、ステップと、消去ステップの有効性を判定するために全ての不揮発性メモリセルを読み出すステップと、を含む。
別の実施形態は、アナログニューラル不揮発性メモリセルのアレイを試験する方法を含み、この方法は、アレイ内の不揮発性メモリセルのそれぞれの端子に一連の電圧を印加することによってアレイ内の不揮発性メモリセルをプログラミングするステップであって、一連の電圧内の電圧は、固定されたステップサイズで経時的に増加する、ステップと、プログラミングステップの有効性を判定するために全ての不揮発性メモリセルを読み出すステップと、を含む。
別の実施形態は、不揮発性メモリセルのアレイ内の複数のアナログニューラル不揮発性メモリセルを試験する方法を含み、アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、各ワード線は行デコーダに選択的に結合され、各ビット線は列デコーダに選択的に結合され、この方法は、N個の異なる値のうちの1つを格納するために複数の不揮発性メモリセルをプログラミングするステップであって、Nは、不揮発性メモリセルのいずれかに格納され得る異なるレベルの数である、ステップと、複数の不揮発性メモリセルによって引き出された電流を測定するステップと、測定された電流を標的値と比較するステップと、測定された値と標的値との差がスレッショルドを超える場合、複数の不揮発性メモリセルを不良として識別するステップと、を含む。
別の実施形態は、不揮発性メモリセルのアレイ内の複数のアナログニューラル不揮発性メモリセルを試験する方法を含み、メモリアレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、各ワード線は行デコーダに選択的に結合され、各ビット線は列デコーダに選択的に結合され、この方法は、N個のレベルの中で最も小さいセル電流に対応するレベルを用いて複数の不揮発性メモリセルの中の第1の選択のセルをプログラミングするステップと、N個のレベルの中で最も大きいセル電流に対応するレベルを用いて複数の不揮発性メモリセルの中の第2の選択のセルをプログラミングするステップであって、第2の選択のセル内のセルのそれぞれが、第1の選択のセル内のセルのうちの1つ以上に隣接する、ステップと、複数の不揮発性メモリセルによって引き出された電流を測定するステップと、測定された電流を標的値と比較するステップと、測定された値と標的値との差がスレッショルドを超える場合、複数の不揮発性メモリセルを不良として識別するステップと、を含む。
先行技術の人工ニューラルネットワークを示す図である。 先行技術のスプリットゲートフラッシュメモリセルを示す。 別の先行技術のスプリットゲートフラッシュメモリセルを示す。 別の先行技術のスプリットゲートフラッシュメモリセルを示す。 別の先行技術のスプリットゲートフラッシュメモリセルを示す。 別の先行技術のスプリットゲートフラッシュメモリセルを示す。 先行技術の積層ゲートフラッシュメモリセルを示す。 1つ以上の不揮発性メモリアレイを利用する例示的な人工ニューラルネットワークの様々なレベルを示す図である。 ベクトル行列乗算システムを示すブロック図である。 1つ以上のベクトル行列乗算システムを利用する例示的な人工ニューラルネットワークを示すブロック図である。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 ベクトル行列乗算システムの別の実施形態を示す。 試験制御論理を含むベクトル行列乗算システムの一実施形態を示す。 基準電流源を示す。 図26の基準電流源で使用する基準分岐回路を示す。 検知増幅器を示す。 検証アナログ-デジタル変換器を示す。 検証アナログ-デジタル変換器を示す。 高電圧生成回路を示す。 ベクトル行列乗算システム内の試験制御論理によって実装された例示的な試験アルゴリズムを示す。 ビット線ニューラル読み出し試験の一実施形態を示す ビット線ニューラル測定試験の一実施形態を示す。 LSBスクリーン試験の一実施形態を示す。 ビット線サンプリングスクリーン試験の一実施形態を示す。 ビット線サンプリングスクリーン試験の別の実施形態を示す。 読み出しウィンドウチェック試験の一実施形態を示す。 読み出し較正試験の一実施形態を示す。 読み出し傾斜試験の一実施形態を示す。 読み出しニューロン認定試験の一実施形態を示す。 ソフト消去試験の一実施形態を示す。 ソフトプログラム試験の一実施形態を示す。 検証試験の一実施形態を示す。 チェッカーボード検証試験の一実施形態を示す。
本発明の人工ニューラルネットワークは、CMOS技術及び不揮発性メモリアレイの組み合わせを利用する。
不揮発性メモリセル
デジタル不揮発性メモリは、周知である。例えば、参照により本明細書に組み込まれる、米国特許第5,029,130号(「’130号特許」)は、フラッシュメモリセルの一種である、スプリットゲート不揮発性メモリセルのアレイを開示する。このようなメモリセル210を図2に示す。各メモリセル210は、半導体基板12内に形成されたソース領域14とドレイン領域16と、を含み、ソース領域14とドレイン領域16の間にはチャネル領域18がある。浮遊ゲート20は、チャネル領域18の第1の部分の上方に形成され、チャネル領域18の第1の部分から絶縁され(並びに、チャネル領域18の第1の部分の導電性を制御して)、ソース領域14の一部分の上方にかけて形成される。ワード線端子22(典型的には、ワード線に結合される)は、チャネル領域18の第2の部分の上方に配設され、チャネル領域18の第2の部分から絶縁された、(並びに、チャネル領域18の第2の部分の導電性を制御する)第1の部分と、上に向かって浮遊ゲート20の上方にかけて延在する第2の部分と、を有する。浮遊ゲート20及びワード線端子22は、ゲート酸化物によって基板12から絶縁される。ビット線端子24はドレイン領域16に結合される。
ワード線端子22に高圧正電圧を印加することによって、メモリセル210に対して消去が行われ(電子が浮遊ゲートから除去される)、これによって、浮遊ゲート20の電子は、浮遊ゲート20からワード線端子22までそれらの間にある絶縁体の中をファウラーノルドハイム(Fowler-Nordheim)トンネリングを介して通過する。
メモリセル210は、ワード線端子22に正電圧、及びソース領域14に正電圧を印加することによってプログラムされる(電子が浮遊ゲートに印加される)。電子流は、ソース領域14(ソース線端子)からドレイン領域16に向かって流れる。電子は加速し、ワード線端子22と浮遊ゲート20との間の間隙に達すると、発熱する。熱せられた電子の一部が、浮遊ゲート20からの静電引力に起因して、浮遊ゲート20にゲート酸化物を介して注入される。
メモリセル210は、ドレイン領域16及びワード線端子22に正の読み出し電圧を印加する(ワード線端子の下方のチャネル領域18の部分をオンにする)ことによって、読み出される。浮遊ゲート20が正に帯電する(すなわち、電子を消去する)と、浮遊ゲート20の下方のチャネル領域18の部分も同様にオンになり、電流はチャネル領域18を流れ、これは、消去された状態つまり「1」の状態として検知される。浮遊ゲート20が負に帯電する(すなわち、電子でプログラムされる)と、浮遊ゲート20の下方のチャネル領域の部分はほとんど又は完全にオフになり、電流はチャネル領域18を流れず(又はほとんど流れず)、これは、プログラムされた状態つまり「0」の状態として検出される。
表1は、読み出し、消去、及びプログラム動作を実行するためのメモリセル110の端子に印加され得る典型的な電圧範囲を示す。
表1:図2のフラッシュメモリセル210の動作
Figure 0007359935000001
「読み出し1」は、セル電流がビット線に出力される読み出しモードである。「読み出し2」は、セル電流がソース線端子に出力される読み出しモードである。
図3は、制御ゲート(control gate、CG)端子28を追加した、図2のメモリセル210と同様のメモリセル310を示す。制御ゲート端子28は、プログラミング中に高電圧(例えば、10V)、消去中に低又は負電圧(例えば、0v/-8V)、読み出し中に低又は中程度電圧(例えば、0v/2.5V)でバイアスされる。他の端子は、図2の端子と同様にバイアスされる。
図4は、ソース領域14と、ドレイン領域16と、チャネル領域18の第1の部分の上方にある浮遊ゲート20と、チャネル領域18の第2の部分の上方にある選択ゲート22(典型的には、ワード線、WL、に結合される)と、浮遊ゲート20の上方にある制御ゲート28と、ソース領域14の上方にある消去ゲート30と、を含む4ゲートメモリセル410を示す。この構成は、あらゆる目的のため参照により本明細書に組み込まれる、米国特許第6,747,310号に記載されている。ここで、全てのゲートは、浮遊ゲート20を除いて、非浮遊ゲートであり、つまり、それらは電圧源に電気的に接続される又は接続可能である。プログラミングは、熱せられた電子がチャネル領域18から浮遊ゲート20にその電子自体を注入することによって実行される。消去は、電子が浮遊ゲート20から消去ゲート30へトンネリングすることによって実行される。
表2は、読み出し、消去、及びプログラム動作を実行するためのメモリセル410の端子に印加され得る典型的な電圧範囲を示す。
表2:図4のフラッシュメモリセル410の動作
Figure 0007359935000002
「読み出し1」は、セル電流がビット線に出力される読み出しモードである。「読み出し2」は、セル電流がソース線端子に出力される読み出しモードである。
図5は、メモリセル510が消去ゲート(erase gate、EG)端子を含まないことを除いて、図4のメモリセル410と同様のメモリセル510を示す。消去は、基板18を高電圧にバイアスし、制御ゲートCG端子28を低電圧又は負電圧にバイアスすることによって行われる。あるいは、ワード線端子22を正電圧にバイアスし、制御ゲート端子28を負電圧にバイアスすることによって、消去が行われる。プログラミング及び読み出しは、図4のものと同様である。
図6は、別の種類のフラッシュメモリセルである、3ゲートメモリセル610を示す。メモリセル610は、メモリセル610が別個の制御ゲート端子を有しないことを除いて、図4のメモリセル410と同一である。(消去ゲート端子の使用を通じて消去が起こる)消去動作及び読み出し動作は、制御ゲートバイアスが印加されないことを除いて、図4のものと同様である。プログラミング動作もまた、制御ゲートバイアスなしで行われるため、結果として、プログラム動作中は、制御ゲートバイアスの不足を補償するため、より高い電圧がソース線端子に印加されなければならない。
表3は、読み出し、消去、及びプログラム動作を実行するためのメモリセル610の端子に印加され得る典型的な電圧範囲を示す。
表3:図6のフラッシュメモリセル610の動作
Figure 0007359935000003
「読み出し1」は、セル電流がビット線に出力される読み出しモードである。「読み出し2」は、セル電流がソース線端子に出力される読み出しモードである。
図7は、別の種類のフラッシュメモリセルである、積層ゲートメモリセル710を示す。メモリセル710は、浮遊ゲート20がチャネル領域18全体の上方にわたって延在し、制御ゲート端子22(ワード線に結合される)が絶縁層(図示せず)によって分離されて浮遊ゲート20の上方に延在することを除いて、図2のメモリセル210と同様である。消去、プログラミング、及び読み出し動作は、メモリセル210について前述したものと同様の方法で動作する。
表4は、読み出し、消去、及びプログラム動作を実行するためのメモリセル710及び基板12の端子に印加され得る典型的な電圧範囲を示す。
表4:図7のフラッシュメモリセル710の動作
Figure 0007359935000004
「読み出し1」は、セル電流がビット線に出力される読み出しモードである。「読み出し2」は、セル電流がソース線端子に出力される読み出しモードである。任意選択的に、メモリセル210、310、410、510、610、又は710の行及び列を含むアレイでは、ソース線は、メモリセルの1行又はメモリセルの隣接する2行に結合され得る。すなわち、ソース線端子は、メモリセルの隣接する行によって共有され得る。
上記の人工ニューラルネットワークにおける不揮発性メモリセルの種類のうちの1つを含むメモリアレイを利用するために、2つの修正が行われる。第1に、以下に更に説明されるように、アレイ内の他のメモリセルのメモリ状態に悪影響を与えずに各メモリセルを個々にプログラム、消去、及び読み出しできるように線を構成する。第2に、メモリセルの連続(アナログ)プログラミングを提供する。
具体的には、アレイ内の各メモリセルのメモリ状態(すなわち、浮遊ゲート上の電荷)を、完全に消去された状態から完全にプログラムされた状態へ、独立して、かつ他のメモリセルの異常が最小で、連続的に変えることができる。別の実施形態では、アレイ内の各メモリセルのメモリ状態(すなわち、浮遊ゲートの電荷)を、完全にプログラムされた状態から完全に消去された状態へ、及び逆もまた同様に、独立して、かつ他のメモリセルの異常が最小で、連続的に変えることができる。これはつまり、セル格納がアナログであるか、又は多数の不連続値(16又は64の異なる値など)のうちの1つを最低限格納できることを意味し、これにより、メモリアレイ内の全てのセルが非常に正確に、かつ個別に調整可能となり、またメモリアレイは格納に対して理想的になり、ニューラルネットワークのシナプシスの重みに微調整が可能となる。
本明細書に記載される方法及び手段は、限定することなく、SONOS(ケイ素-酸化物-窒化物-酸化物-ケイ素、窒化物中の電荷トラップ)、MONOS(金属-酸化物-窒化物-酸化物-ケイ素、窒化物中の金属電荷トラップ)、ReRAM(抵抗変化型RAM)、PCM(相変化メモリ)、MRAM(磁気抵抗RAM)、FeRAM(強誘電体RAM)、OTP(バイレベル又はマルチレベルの1回のみのプログラムが可能)及びCeRAM(強相関電子RAM)などの他の不揮発性メモリ技術に適用することができる。本明細書に記載される方法及び手段は、限定することなく、SRAM、DRAM、及び揮発性シナプスセルなどのニューラルネットワークに使用される揮発性メモリ技術に適用することができる。
不揮発性メモリセルアレイを使用するニューラルネットワーク
図8は、本実施形態の不揮発性メモリアレイを利用するニューラルネットワークの非限定例を概念的に示す。この例は、顔認識アプリケーション用に不揮発性メモリアレイニューラルネットワークを使用するが、不揮発性メモリアレイベースのニューラルネットワークを使用して他の適切なアプリケーションを実施することも可能である。
S0は入力層であり、この例では、5ビット精度の32×32ピクセルRGB画像である(すなわち、各色R、G、及びBにつき1つずつで3つの32×32ピクセルアレイであり、各ピクセルは5ビット精度である)。入力層S0から層C1に行くシナプスCB1は、一部のインスタンスには異なる重みのセットを適用し、他のインスタンスには共有の重みを適用し、入力画像を3×3ピクセルの重なり合うフィルタでスキャンし(カーネル)、1ピクセル(又はモデルによっては2ピクセル以上)ずつフィルタをシフトする。具体的には、画像の3×3部分における9ピクセルの値(すなわち、フィルタ又はカーネルと呼ばれる)はシナプスCB1に提供され、そこでこれらの9個の入力値に適切な重みを乗算し、その乗算の出力を合計後、単一の出力値が決定され、特徴マップC1の層の1つのピクセルを生成するためにCB1の第1のシナプスによって与えられる。3×3フィルタは次に、入力層S0内で右側に1ピクセルだけシフトされ(すなわち、3ピクセルの列を右側に追加し、左側で3ピクセルの列をドロップする)、これにより、この新しく位置づけられたフィルタの9ピクセル値はシナプスCB1に提供され、そこでそれらに上記と同じ重みを乗算し、関連するシナプスによって第2の単一の出力値を決定する。このプロセスを、3×3フィルタが入力層S0の32×32ピクセル画像全体にわたって3色全て及び全てのビット(精度値)についてスキャンするまで続ける。プロセスは次に、層C1の特徴マップ全てが計算されるまで、異なる重みのセットを使用して繰り返されて、C1の異なる特徴マップを生成する。
本例では、層C1において、それぞれ30×30ピクセルを有する16個の特徴マップが存在する。各ピクセルは、入力とカーネルとの乗算から抽出された新しい特徴ピクセルであり、したがって、各特徴マップは、2次元アレイであり、したがってこの例では、層C1は、2次元アレイの16層を構成する(本明細書で言及される層及びアレイは、必ずしも物理的関係ではなく論理的な関係であり、すなわち、アレイは必ずしも物理的な2次元アレイに配向されないことに留意されたい)。層C1内の16個の特徴マップの各々は、フィルタスキャンに適用される異なるシナプス重みのセット16個のうちの1つによって生成される。C1特徴マップは全て、境界同定など、同じ画像特徴の異なる態様を対象とすることができる。例えば、第1のマップ(この第1のマップを生成するのに使用される全てのスキャンに共有される第1の重みセットを使用して生成される)は、円形エッジを識別することができ、第2のマップ(第1の重みセットと異なる第2の重みセットを使用して生成される)は、方形エッジ又は特定の特徴のアスペクト比などを識別することができる。
層C1から層S1へ行く前には、各特徴マップ内の重なり合わずに連続する2×2領域からの値をプールする活性化関数P1(プーリング)が適用される。プーリング関数の目的は、近隣の位置を平均すること(又はmax関数を使用することも可能である)、例えばエッジ位置の依存を低減すること、及び次の段階に行く前にデータサイズを低減することである。層S1において、16個の15×15特徴マップ(すなわち、それぞれ15×15ピクセルの異なるアレイ16個)が存在する。層S1から層C2に行くシナプスCB2は、S1内のマップを4×4フィルタにより1ピクセルのフィルタシフトでスキャンする。層C2において、22個の12×12特徴マップが存在する。層C2から層S2へ行く前には、各特徴マップ内の重なり合わずに連続する2×2領域からの値をプールする活性化関数P2(プーリング)が適用される。層S2において、22個の6×6特徴マップが存在する。層S2から層C3へ行くシナプスCB3では活性化関数(プーリング)が適用され、ここで層C3内の全てのニューロンは、CB3のそれぞれのシナプスを介して層S2内の全てのマップに接続する。層C3において、64個のニューロンが存在する。層C3から出力層S3へと行くシナプスCB4は、C3をS3に完全に接続する、すなわち、層C3内の全てのニューロンは、層S3内の全てのニューロンに接続される。S3における出力は、10個のニューロンを含み、ここで出力が最も高いニューロンが、クラスを決定する。この出力は、例えば、元の画像の内容の同定又は分類を示すことができる。
シナプスの各層は、不揮発性メモリセルのアレイ又はアレイの一部を使用して実行される。
図9は、その目的のために使用可能なシステムのブロック図である。ベクトル行列乗算(VMM)システム32は、不揮発性メモリセルを含み、ある層と次の層との間のシナプス(図6のCB1、CB2、CB3、及びCB4など)として利用される。具体的には、VMMシステム32は、行及び列に配置された不揮発性メモリセルを含むVMMアレイ33、消去ゲート及びワード線ゲートデコーダ34、制御ゲートデコーダ35、ビット線デコーダ36、並びにソース線デコーダ37を含み、それらのデコーダは不揮発性メモリセルアレイ33に対するそれぞれの入力をデコードする。VMMアレイ33への入力は、消去ゲート及びワード線ゲートデコーダ34から、又は制御ゲートデコーダ35から行うことができる。この例におけるソース線デコーダ37はまた、VMMアレイ33の出力をデコードする。代替的に、ビット線デコーダ36が、VMMアレイ33の出力をデコードすることができる。
VMMアレイ33は、2つの目的を果たす。第1に、VMMシステム32によって使用される重みを格納する。第2に、VMMアレイ33は、効果的に、入力に、VMMアレイ33に格納された重みを乗算し、それらを出力線(ソース線又はビット線)ごとに合計して出力を生成し、これは、次の層への入力又は最後の層への入力になる。乗算及び加算の関数を実行することによって、VMMアレイ33は、別個の乗算及び加算の論理回路の必要性をなくし、また、その場でのメモリ計算により電力効率も良い。
VMMアレイ33の出力は、VMMアレイ33の出力を合計してその畳み込み用の単一の値を作成する、差動加算器(加算オペアンプ又は加算カレントミラーなど)38に供給される。差動加算器38は、正の重み入力及び負の重み入力両方の総和を実行して単一の値を出力するように配置される。
差動加算器38の合計された出力値は、次に出力を整流する活性化関数回路39に供給される。活性化関数回路39は、シグモイド関数、tanh関数、ReLU関数、又は任意の他の非線形関数を提供し得る。活性化関数回路39の整流された出力値は、次の層(例えば図8のC1)の特徴マップの要素になり、次いで、次のシナプスに適用されて次の特徴マップ層又は最後の層を生成する。したがって、この例では、VMMアレイ33は、複数のシナプスを構成し(ニューロンの前の層から、又は画像データベースなどの入力層から、入力を受け取る)、加算器38及び活性化関数回路39は、複数のニューロンを構成する。
図9のVMMシステム32への入力(WLx、EGx、CGx、及び任意選択的にBLx及びSLx)は、アナログレベル、バイナリレベル、デジタルパルス(この場合、パルス-アナログ変換器PACは、パルスを適切な入力アナログレベルに変換するのに必要とされ得る)又はデジタルビット(この場合、DACは、デジタルビットを適切な入力アナログレベルに変換するのに提供される)であり得、出力は、アナログレベル、バイナリレベル、デジタルパルス、又はデジタルビットであり得る(この場合、出力ADCは出力アナログレベルをデジタルビットに変換するのに提供される)。
図10は、図中でVMMシステム32a、32b、32c、32d及び32eとして標示されたVMMシステム32の多数の層の使用を示すブロック図である。図10に示されるように、入力(Inputxで示される)は、デジタル-アナログ変換器31によってデジタルからアナログに変換され、入力VMMシステム32aに提供される。変換されたアナログ入力は、電圧又は電流であり得る。第1の層の入力D/A変換は、入力VMMシステム32aの行列乗算器の適切なアナログレベルに入力Inputxをマッピングする関数又はLUT(ルックアップテーブル)を使用することによって行うことができる。入力変換はまた、外部アナログ入力を入力VMMシステム32aへのマッピングされたアナログ入力に変換するために、アナログ-アナログ(A/A)変換器によって行うこともできる。入力変換はまた、外部デジタル入力を入力VMMシステム32aへのマッピングされたデジタルパルス(単数又は複数)に変換するために、デジタル-デジタルパルス(D/P)変換器によって行うこともできる。
入力VMMシステム32aによって生成された出力は、次に、次のVMMシステム(隠しレベル1)32bへの入力として提供され、次に入力VMMシステム(隠しレベル2)32cへの入力として提供される出力を生成する、などとなる。VMMシステム32の様々な層は、畳み込みニューラルネットワーク(convolutional neural network、CNN)のシナプス及びニューロンの各層として機能する。VMMシステム32a、32b、32c、32d及び32eはそれぞれ、対応の不揮発性メモリアレイを含むスタンドアローンの物理的システムとすることができ、又は複数のVMMシステムは、同じ物理的不揮発性メモリアレイの異なる部分を利用することができ、又は複数のVMMシステムは、同じ物理的不揮発性メモリアレイの重なり合う部分を利用することができる。それぞれのVMMシステム32a、32b、32c、32d、及び32eはまた、そのアレイ又はニューロンの様々な部分に対して時間多重化され得る。図10に示される例は、5つの層(32a、32b、32c、32d、32e)、すなわち、1つの入力層(32a)、2つの隠れ層(32b、32c)、及び2つの完全に接続された層(32d、32e)を含む。当業者であれば、これは単なる例示であり、代わりにシステムが2つを超える隠れ層及び2つを超える完全に接続された層を含み得ることを理解するであろう。
VMMアレイ
図11は、図3に示されるメモリセル310に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ1100を示す。VMMアレイ1100は、不揮発性メモリセルのメモリアレイ1101と、不揮発性基準メモリセルの基準アレイ1102(アレイの頂部に位置する)と、を含む。あるいは、別の基準アレイが底部に位置することができる。
VMMアレイ1100では、制御ゲート線1103などの制御ゲート線が垂直方向に延び(したがって、行方向の基準アレイ1102が、制御ゲート線1103に直交する)、消去ゲート線1104などの消去ゲート線が水平方向に延びる。ここで、VMMアレイ1100への入力は、制御ゲート線(CG0、CG1、CG2、CG3)に提供され、VMMアレイ1100の出力はソース線(SL0、SL1)に現れる。一実施形態では、偶数行のみが使用され、別の実施形態では、奇数行のみが使用される。各ソース線(それぞれSL0、SL1)に加えられる電流は、その特定のソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
ニューラルネットワークについて本明細書に記載されているように、VMMアレイ1100の不揮発性メモリセル、すなわちVMMアレイ1100のフラッシュメモリは、サブスレッショルド領域で動作するように構成されることが好ましい。
本明細書に記載される不揮発性基準メモリセル及び不揮発性メモリセルは、以下のように弱い反転でバイアスされる:
Ids=Io*(Vg-Vth)/nVt=w*Io*(Vg)/nVt
式中、w=e(-Vth)/nVtであり、
式中、Idsはドレイン-ソース間電流であり、Vgは、メモリセルのゲート電圧であり、Vthは、メモリセルのスレッショルド電圧であり、Vtは、熱電圧=k*T/qであり、kはボルツマン定数、Tはケルビン温度、qは電子電荷とし、nは、傾斜係数=1+(Cdep/Cox)であり、Cdep=空乏層の容量、及びCoxはゲート酸化物層の容量とし、Ioは、スレッショルド電圧に等しいゲート電圧におけるメモリセル電流であり、Ioは、(Wt/L)**Cox*(n-1)*Vt2に比例し、式中、uはキャリア移動度であり、Wt及びLは、メモリセルの幅及び長さである。
メモリセル(基準メモリセル又は周辺メモリセルなど)又はトランジスタを使用して入力電流Idsを入力電圧Vgに変換するI-Vログ変換器を使用した場合:
Vg=n*Vt*log[Ids/wp*Io]
式中、wpは、基準又は周辺メモリセルのwである。
メモリセル(基準メモリセル又は周辺メモリセルなど)又はトランジスタを使用して入力電流Idsを入力電圧Vgに変換するI-Vログ変換器を使用した場合:
Vg=n*Vt*log[Ids/wp*Io]
式中、wpは、基準又は周辺メモリセルのwである。
ベクトル行列乗算器VMMアレイとして使用されるメモリアレイについて、出力電流は以下である:
Iout=wa*Io*(Vg)/nVt、すなわち
Iout=(wa/wp)*Iin=W*Iin
W=e(Vthp-Vtha)/nVt
Iin=wp*Io*(Vg)/nVt
式中、メモリアレイの各メモリセルのwa=wである。
ワード線又は制御ゲートは、入力電圧のためのメモリセルの入力として使用することができる。
あるいは、本明細書に記載されたVMMアレイの不揮発性メモリセルは、線形領域で動作するように構成することができる。
Ids=β*(Vgs-Vth)*Vds;β=u*Cox*Wt/L
Wα(Vgs-Vth)
すなわち、線形領域における重みWは、(Vgs-Vth)に比例する
ワード線又は制御ゲート又はビット線又はソース線は、線形領域内で動作するメモリセルの入力として使用することができる。ビット線又はソース線は、メモリセルの出力として使用することができる。
I-V線形変換器用に、線形領域で動作するメモリセル(基準メモリセル又は周辺メモリセルなど)若しくはトランジスタ、又は抵抗器を使用して、入出力電流を入出力電圧に線形変換することができる。
あるいは、本明細書に記載されたVMMアレイのメモリセルは、飽和領域で動作するように構成することができる。
Ids=1/2*β*(Vgs-Vth)2;β=u*Cox*Wt/L
Wα(Vgs-Vth)2、すなわち重みWは、(Vgs-Vth)2に比例する
ワード線、制御ゲート、又は消去ゲートは、飽和領域内で動作するメモリセルの入力として使用することができる。ビット線又はソース線は、出力ニューロンの出力として使用することができる。
あるいは、本明細書に記載されるVMMアレイのメモリセルは、全ての領域又はそれらの組み合わせ(サブスレッショルド、線形、又は飽和)で使用することができる。
図9のVMMアレイ33のための他の実施形態は、参照により本明細書に組み込まれる米国特許出願第15/826,345号に記載されている。上記出願に記載されているように、ソース線又はビット線は、ニューロン出力(電流和出力)として使用することができる。
図12は、図2に示されるメモリセル210に特に適したニューロンVMMアレイ1200を示し、入力層と次の層との間のシナプスとして利用される。VMMアレイ1200は、不揮発性メモリセルのメモリアレイ1203と、第1の不揮発性基準メモリセルの基準アレイ1201と、第2の不揮発性基準メモリセルの基準アレイ1202と、を含む。アレイの列方向に配置された基準アレイ1201及び1202は、端子BLR0、BLR1、BLR2、及びBLR3に流入する電流入力を電圧入力WL0、WL1、WL2、及びWL3に変換するように機能する。実際には、第1及び第2の不揮発性基準メモリセルは、電流入力が流入する状態で、マルチプレクサ1214(一部のみ示す)を通してダイオード接続される。基準セルは、標的基準レベルに調整(例えば、プログラム)される。標的基準レベルは、基準ミニアレイマトリックス(図示せず)によって提供される。
メモリアレイ1203は、2つの目的を果たす。第1に、VMMアレイ1200により使用される重みを、それぞれのメモリセルに格納する。第2に、メモリアレイ1203は、メモリセルアレイ1203に格納された重みによって、入力(すなわち、端子BLR0、BLR1、BLR2、及びBLR3に提供された電流入力であり、これを基準アレイ1201及び1202が入力電圧に変換して、ワード線WL0、WL1、WL2、及びWL3に供給する)を有効に乗算して、次いで、全ての結果(メモリセル電流)を加算して、それぞれのビット線(BL0~BLN)の出力を生成し、この出力は次の層への入力又は最後の層への入力となる。メモリアレイ1203が乗算及び加算の関数を実行することで、別個の乗算及び加算の論理回路の必要性はなくなり、また、電力効率も良い。ここで、電圧入力はワード線WL0、WL1、WL2、及びWL3に提供され、出力は、読み出し(推論)動作中にビット線BL0~BLNそれぞれに現れる。各々のビット線BL0~BLNに配置された電流は、その特定のビット線に接続された全ての不揮発性メモリセルからの電流の合計関数を実行する。
表5は、VMMアレイ1200の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線に加えられる電圧を示し、FLTは、浮遊、すなわち電圧が印可されないことを示す。行は、読み出し、消去、及びプログラムの各動作を示す。
表5:図12のVMMアレイ1200の動作
Figure 0007359935000005
図13は、図2に示されるメモリセル210に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ1300を示す。VMMアレイ1300は、不揮発性メモリセルのメモリアレイ1303と、第1の不揮発性基準メモリセルの基準アレイ1301と、第2の不揮発性基準メモリセルの基準アレイ1302と、を含む。基準アレイ1301及び1302は、VMMアレイ1300の行方向に延びる。VMMアレイは、VMMアレイ1300においてワード線が垂直方向に延びることを除いて、VMM1000と同様である。ここで、入力はワード線(WLA0、WLB0、WLA1、WLB2、WLA2、WLB2、WLA3、WLB3)に提供され、出力は、読み出し動作中にソース線(SL0、SL1)に現れる。各ソース線に加えられる電流は、その特定のソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
表6は、VMMアレイ1300の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線に加えられる電圧を示す。行は、読み出し、消去、及びプログラムの各動作を示す。
表6:図13のVMMアレイ1300の動作
Figure 0007359935000006
図14は、図3に示されるメモリセル310に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ1400を示す。VMMアレイ1400は、不揮発性メモリセルのメモリアレイ1403と、第1の不揮発性基準メモリセルの基準アレイ1401と、第2の不揮発性基準メモリセルの基準アレイ1402と、を含む。基準アレイ1401及び1402は、端子BLR0、BLR1、BLR2、及びBLR3に流入する電流入力を電圧入力CG0、CG1、CG2、及びCG3に変換するように機能する。実際には、第1及び第2の不揮発性基準メモリセルは、電流入力がBLR0、BLR1、BLR2、及びBLR3を通って流入する状態で、マルチプレクサ1412(一部のみ示す)を通してダイオード接続される。マルチプレクサ1412は、読み出し動作中に第1及び第2の不揮発性基準メモリセルの各々のビット線(BLR0など)の一定電圧を確実にするために、それぞれのマルチプレクサ1405及びカスコーディングトランジスタ1404を各々含む。基準セルは、標的基準レベルに調整される。
メモリアレイ1403は、2つの目的を果たす。第1に、VMMアレイ1400によって使用される重みを格納する。第2に、メモリアレイ1403は、メモリセルアレイに格納された重みによって、入力(端子BLR0、BLR1、BLR2、及びBLR3に提供された電流入力であり、基準アレイ1401及び1402がこれらの電流入力を入力電圧に変換して、制御ゲート(CG0、CG1、CG2、及びCG3に供給する)を有効に乗算して、次いで、全ての結果(セル電流)を加算して出力を生成し、この出力はBL0~BLNに出現し、次の層への入力又は最後の層への入力となる。メモリアレイが乗算及び加算の関数を実行することで、別個の乗算及び加算の論理回路の必要性がなくなり、また、電力効率も良い。ここで、入力は制御ゲート線(CG0、CG1、CG2、及びCG3)に提供され、出力は、読み出し動作中にビット線(BL0~BLN)に現れる。各ビット線に加えられる電流は、その特定のビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
VMMアレイ1400は、メモリアレイ1403内の不揮発性メモリセルの一方向調整を実施する。すなわち、各不揮発性メモリセルは消去され、次いで、浮遊ゲート上の所望の電荷に達するまで部分的にプログラムされる。これは、例えば、以下に記載される精密プログラミング技術を使用して実行することができる。過度に多くの電荷が浮遊ゲートに加えられる場合(誤った値がセルに格納されるなど)、セルは消去されなければならず、一連の部分的なプログラミング動作をやり直さなければならない。示されるように、同じ消去ゲート(EG0又はEG1など)を共有する2つの行は、一緒に消去される必要があり(ページ消去として知られる)、その後、各セルは、浮遊ゲート上の所望の電荷に達するまで部分的にプログラムされる。
表7は、VMMアレイ1400の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタ内の非選択セルの制御ゲート、選択セルとは異なるセクタ内の非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線に加えられる電圧を示す。行は、読み出し、消去、及びプログラムの各動作を示す。
表7:図14のVMMアレイ1400の動作
Figure 0007359935000007
図15は、図3に示されるメモリセル310に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ1500を示す。VMMアレイ1500は、不揮発性メモリセルのメモリアレイ1503と、基準アレイ1501又は第1の不揮発性基準メモリセルと、第2の不揮発性基準メモリセルの基準アレイ1502とを含む。EG線EGR0、EG0、EG1、及びEGR1は垂直に延び、CG線CG0、CG1、CG2、及びCG3並びにSL線WL0、WL1、WL2、及びWL3は水平に延びる。VMMアレイ1500は、VMMアレイ1500が双方向調整を実装することを除いてVMMアレイ1400と同様であり、個々のセルはそれぞれ、個別のEG線の使用により、浮遊ゲートの所望の電荷量に達するために、完全に消去され、部分的にプログラムされ、必要に応じて部分的に消去することができる。示されるように、基準アレイ1501及び1502は、端子BLR0、BLR1、BLR2及びBLR3内の入力電流を制御ゲート電圧CG0、CG1、CG2及びCG3に変換し(マルチプレクサ1514を介したダイオード接続された基準セルの作用を通じて)、これらの電圧は行方向でメモリセルに印加される。電流出力(ニューロン)は、ビット線BL0~BLN中にあり、各ビット線は、その特定のビット線に接続された不揮発性メモリセルからの全ての電流を合計する。
表8は、VMMアレイ1500の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタ内の非選択セルの制御ゲート、選択セルとは異なるセクタ内の非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線に加えられる電圧を示す。行は、読み出し、消去、及びプログラムの各動作を示す。
表8:図15のVMMアレイ1500の動作
Figure 0007359935000008
図16は、図2に示されるメモリセル210に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ1600を示す。VMMアレイ1600では、入力INPUT0、...、INPUTNは、ビット線BL0、...、BLNそれぞれ受け取り、出力OUTPUT1、OUTPUT2、OUTPUT3、及びOUTPUT4は、ソース線SL0、SL1、SL2、及びSL3でそれぞれ生成される。
図17は、図2に示されるメモリセル210に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ1700を示す。この例では、入力INPUT0、INPUT1、INPUT2、及びINPUT3は、ソース線SL0、SL1、SL2、及びSL3でそれぞれ受け取り、出力OUTPUT0、...、OUTPUTNは、ビット線BL0、...、BLNで生成される。
図18は、図2に示されるメモリセル210に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ1800を示す。この例では、入力INPUT0、...、INPUTMは、ワード線WL0、...、WLMにそれぞれ受け取り、出力OUTPUT0、...、OUTPUTNは、ビット線BL0、...、BLNに生成される。
図19は、図3に示されるメモリセル310に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ1900を示す。この例では、入力INPUT0、...、INPUTMは、ワード線WL0、...、WLMにそれぞれ受け取り、出力OUTPUT0、...、OUTPUTNは、ビット線BL0、...、BLNに生成される。
図20は、図4に示されるメモリセル410に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ2000を示す。この例では、入力INPUT0、...、INPUTnがそれぞれ垂直制御ゲート線CG0、...、CGNに受け取り、出力OUTPUT1及びOUTPUT2がソース線SL0及びSL1に生成される。
図21は、図4に示されるメモリセル410に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ2100を示す。この例では、入力INPUT0、...、INPUTNは、ビット線BL0、...、BLNにそれぞれ結合されるビット線制御ゲート2901-1、2901-2、...、2901-(N-1)及び2901-Nのゲートにそれぞれ受け取る。例示的な出力OUTPUT1及びOUTPUT2が、ソース線SL0及びSL1に生成される。
図22は、図3に示されるメモリセル310、図5に示されるメモリセル510、及び図7に示されるメモリセル710に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ2200を示す。この例では、入力INPUT0、...、INPUTMは、ワード線WL0、...、WLMに受け取り、出力OUTPUT0、...、OUTPUTNは、ビット線BL0、...、BLNにそれぞれ生成される。
図23は、図3に示されるメモリセル310、図5に示されるメモリセル510、及び図7に示されるメモリセル710に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ2300を示す。この例では、入力INPUT0、...、INPUTMは、制御ゲート線CG0、...、CGMに受け取る。出力OUTPUT0、...、OUTPUTNは、垂直ソース線SL0、...、SLNにそれぞれ生成され、各ソース線SLiは、列i内の全てのメモリセルのソース線に結合される。
図24は、図3に示されるメモリセル310、図5に示されるメモリセル510、及び図7に示されるメモリセル710に特に適し、入力層と次の層との間でシナプス及びニューロンの一部として利用されるニューロンVMMアレイ2400を示す。この例では、入力INPUT0、...、INPUTMは、制御ゲート線CG0、...、CGMに受け取る。出力OUTPUT0、...、OUTPUTNは、垂直ビット線BL0、...、BLNにそれぞれ生成され、各ビット線BLiは、列i内の全てのメモリセルのビット線に結合される。
試験回路及び方法
図25は、VMMシステム2500を示す。VMMシステム2500は、VMMアレイ2501(VMMアレイ1100、1200、1300、1400、1500、1600、1700、1800、1900、2000、2100、2200、2300、及び2400又は他のVMMアレイ設計など、前述のVMMアレイ設計のいずれかに基づき得る)と、低電圧行デコーダ2502と、高電圧行デコーダ2503と、列デコーダ2504と、列ドライバ2505と、制御論理2506と、バイアス回路2507と、出力回路ブロック2508と、入力VMM回路ブロック2509と、アルゴリズムコントローラ2510と、高電圧発生器ブロック2511と、アナログ回路ブロック2515と、制御論理2516と、試験制御論理2517と、を含む。
入力回路ブロック2509は、外部入力からメモリアレイ2501の入力端子へのインターフェースとして機能する。入力回路ブロック2509は、限定することなく、DAC(デジタル-アナログ変換器)、DPC(デジタル-パルス変換器)、APC(アナログ-パルス変換器)、IVC(電流-電圧変換器)、AAC(電圧対電圧スケーラなどのアナログ-アナログ変換器)、又はFAC(周波数-アナログ変換器)を含むことができる。出力回路ブロック2508は、メモリアレイ出力から外部インターフェース(図示せず)へのインターフェースとして機能する。出力回路ブロック2508は、限定することなく、ADC(アナログ-デジタル変換器)、APC(アナログ-パルス変換器)、DPC(デジタル-パルス変換器)、IVC(電流-電圧変換器)、又はIFC(電流-周波数変換器)を含み得る。出力回路ブロック2508は、限定することなく、アクティブ化機能、正規化回路、及び/又は再スケーリング回路を含み得る。
低電圧行デコーダ2502は、読み出し動作及びプログラム動作のためのバイアス電圧を提供し、高電圧行デコーダ2503にデコード信号を提供する。高電圧行デコーダ2503は、プログラム動作及び消去動作のための高電圧バイアス信号を提供する。
アルゴリズムコントローラ2510は、プログラム動作、検証動作、及び消去動作中のビット線の制御機能を提供する。
高電圧発生器ブロック2511は、様々なプログラム動作、消去動作、プログラム検証動作、及び読み出し動作に必要とされる複数の電圧を提供するチャージポンプ2512、チャージポンプ調整器2513、及び高電圧生成回路2514を備える。
試験制御論理2517は、図26~図31を参照して以下に記載される試験を実行するための様々な試験制御回路を含む。
図26は、1つ以上の不揮発性メモリセルのプログラム動作後の検証動作中に使用するか、又は他の種類の試験中に使用する基準電流源2600を示す。例えば、基準電流源2600は、単一の不揮発性メモリセルの検証動作のために、又は不揮発性メモリセルの列(例えば、特定のビット線に接続された全てのセル)若しくは不揮発性メモリセルの何らかの他のグループ化に対する検証動作のために使用され得る。
基準電流源2600は、バッファミラー2601(出力IREF2607を有するバッファ演算増幅器2602及びPMOSトランジスタ2603を含む)、調整可能なバイアス源2604、並びにデバイス2606のi行及びj列のアレイを含む2次元アレイ2605を含み、特定のデバイス2606は、ラベル2606-(行)(列)によって表記される。ここで、バッファミラー2601によって出力される基準電流IREF2607の量を調整することができるように、デバイス2606の様々な組み合わせを作動させることができる。示されるように、アレイ2605に16個のデバイス2606が存在し、それらの各々は、カレントミラーによって実装され得る。基準電流源2600は、基本的に、4つのデジタル入力を、Ibiasunitの1~16倍の値を有する基準電流バイアスに変換し、Ibiasunitは、バイアス源2604から提供される。基準電流源2600は、基本的に、温度計コード化デジタル-電流変換器であり、そのバッファされた出力IREF2607は、前述のVMMアレイのいずれかにおいてメモリセルによって格納され得る16レベルのうちの1つ(4つのデジタル入力に応答する特定のレベル)に対応する値である。
例えば、バイアス源2604は、デバイス2606にミラーリングされる、1nAの電流Ibiasunitを提供することができる。ここで、第1の行は、デバイス2606-11~2606-1jからなり、左から右に、一度に1つのデバイス2606が順次有効化される。次いで、次の行は、左から右に順次に有効化されて、第1の列に付け加えることができ、これは、5個、次いで6個、次いで7個、次いで8個のデバイス2606が有効化されることを意味する。デバイス2606を連続的に有効化することによって、従来のバイナリデコーディングに関連するトランジスタ不整合問題を回避することができる。次いで、有効化されたデバイス2606の合計は、バッファミラー2601によってミラーリングされ、電流IREF2607として出力される。バイアス源2604は、50pA/100pA/200pA/.../100nAなどのトリミング可能な範囲の電流Ibiasunitを提供することができる。ここでは、アレイ2605を4×4のアレイとして示すが、アレイ2605は、32×32又は8×32などの他の寸法を有し得ることを理解されたい。
図27は、図26のデバイス2606のいずれかに使用することができる、基準分岐回路2700を示す。基準分岐回路2700は、図示されるように構成された、NMOSトランジスタ2701及び2702を含む。トランジスタ2702は、そのゲートに電流Ibiasunit(図26を参照して上述した)を受け取るカレントミラーバイアストランジスタであり、トランジスタ2701は、有効化トランジスタである(カレントミラーバイアストランジスタ2702が出力ノードOUTPUTに接続されることを可能にする)。電流Ibiasunitは、ダイオード接続されたNMOSトランジスタ(トランジスタ2702と同様)などから提供される(図示せず)。
図28は、不揮発性メモリセル、不揮発性メモリセルの列、若しくは不揮発性メモリセルの何らかの他のグループ化のプログラミング動作後の検証動作中、又は別の種類の試験中に基準電流源2600と共に使用される検知増幅器2800を示す。検知増幅器2800は、図26を参照して上述した電流IREF2607を受け取る。IREF2607は、VIREF2814によって制御されたゲートを有するPMOSトランジスタ2813としてモデル化することができる。検知増幅器2800は、インバータ2801、インバータ2801における電流を制限するために使用される電流源2802、スイッチ2803及び2806、コンデンサ2804、並びにカスコーディングNMOSトランジスタ2805(メモリビット線に固定電圧を課す)を更に含む。検知増幅器2800は、基準電流源2600から電流IREF2607を受け取り、これは、例えば、VMMアレイの不揮発性メモリセルに格納される16個の可能なレベルのうちの1つであり得る。検知増幅器2800はセル2808に結合され、このセルは、その内容が検証されるべき不揮発性メモリセルである。セル2808は、NMOSトランジスタ2805がオンにされると、電流ICELLを引き出す。あるいは、セル2808は、列2809で置き換えることができる(図面の便宜上、依然としてICELLと称される電流を引き出し、これは、列2809によって引き出されるニューロン電流である)。
一実施形態では、IREF2607は、可能な最低値(例えば、セル2808に又は列2809に格納され得る16の可能なレベルのうちの最低値)から始まり、次いで、検証動作のための各後続レベルに順次増加する。スイッチ2806は、コンデンサ2804の初期状態を作成するために閉じられ得る(オフセットキャンセルを提供する接地又はプリチャージ電圧など)。スイッチ2803は、インバータ2801の入力及び出力を等しくするために閉じられ得、これは、検証動作における比較のためのインバータ2801からのオフセットを除去する。検証動作中、スイッチ2806及び2803は開いている。ICELL>=IREF2607の場合、ノード2810の電圧は減少し、これは、次に、コンデンサ2804を介して容量結合し、ノード2811の電圧を減少させ、その結果、インバータ出力が「1」に切り替わる、すなわち、インバータ2801の入力は「0」の値になり、インバータ2801の出力は「1」の値になる。ICELL<IREF2607の場合、ノード2810の電圧は上昇し、これは、次に、コンデンサ2804を介して容量結合し、ノード2811の電圧を上昇させ、その結果、インバータ出力が「0」に切り替わる、すなわち、インバータ2801の入力は「1」の値に切り替わり、インバータ2801の出力は「0」の値に切り替わる。それが起こるIREF2807の値は、セル2808に格納される値に対応する。
図29Aは、メモリセルが重み調整プロセス中に標的電流に到達するかどうかを検証するなど、又は別の種類の試験中に、セル電流要件を満たすことができないテール化されたメモリビット(例えば、異常ビット)を検証するなど、プログラムパルス動作後の不揮発性メモリセル2930又は列2931の検証動作中に基準電流源2600と共に使用される検証傾斜型アナログ-デジタル変換器(ADC)2900を示す。ICELL2906は、セル2930又は列2931からの出力電流である。検証ADC2900は、ICELL2906を、出力2940として出力される一連のデジタル出力ビットに変換し、出力2940は、セル2930又は列2931に格納された値を示す。
検証ADC2900は、オペアンプ2901、調整可能なコンデンサ2902、オペアンプ2904、カウンタ2920、並びにスイッチ2908、2909、及び2910を含む。調整可能なコンデンサ2902は、調整可能な電流源2807によって提供された電流IREFに対してICELL2906を積分する。初期化フェーズの間、スイッチ2908は閉じられる。次に、オペアンプ2901のVout 2903及び演算増幅器2901の反転入力への入力は、オペアンプ2901の非反転入力に印加された基準電圧VREFの値に等しくなる。その後、スイッチ2908が開かれ、固定された期間trefの間、スイッチ2910が閉じられ、ニューロン電流ICELL2906が上方に積分される。固定された期間trefの間、Vout 2903は上昇し、その傾斜はICELL2906の値を反映する。その後、期間tmeasの間、調整可能な電流源2807によって提供される一定基準電流IREFは下方に積分され、この期間の間、スイッチ2910を開き、スイッチ2909を閉じることによって、Voutは降下し、tmeasは、VoutをVREFまで下方に積分するために必要とされる時間である。
オペアンプ2904の出力EC2905は、VOUT2903>VREFのときに高くなり、そうでなければ低くなる。したがって、EC2905は、幅が期間tmeasを反映するパルスを生成し、tmeasは次に、電流ICELL2906に比例する。
任意選択的に、出力EC2905はカウンタ2920に入力され、このカウンタは、出力EC2905が高い間に受け取ったクロックパルス2921の数をカウントして、出力2940を生成し、この出力は、EC2905が高い間に発生したクロックパルス2921の数のデジタルカウントを表すデジタルビットのセットであり、このクロックパルスの数はICELL2906に正比例し、この数は、セル2930又は列2931に格納された値に対応する。
図29Bは、検証ランプ型アナログ-デジタル変換器2950を示し、この変換器は、電流源2953(受け取られたニューロン電流Ineu又は単一のメモリセル電流を表す)と、スイッチ2954と、可変コンデンサ2952と、比較器2951とを含んでおり、比較器は、Vneuと印された、可変コンデンサ2952の両端に生じた電圧をその非反転入力において、また構成可能基準電圧Vreframpをその反転入力において受け取り、出力Coutを生成する。可変コンデンサ2952の両端の電圧を除去するための回路は図示されていない。Vreframpは、比較クロックサイクルごとに離散的なレベルでランプアップ(段階的に増加)される。比較器2951は、VneuをVreframpと比較し、結果として、出力CoutはVneu>Vreframpのときに「1」となり、そうでなければ「0」となる。このように、出力Coutは、Ineuの値に応答して幅が変化するパルスとなる。Ineuが大きいほど、Coutが「1」となる期間は長くなり、すなわち、出力Coutのパルス幅は広くなる。デジタルカウンタ2960は、出力Coutをデジタル出力ビットDO[n:0]2970に変換し、このビットは、Coutが「1」の値であったクロックサイクル2961の数を反映する。あるいは、ランプ電圧Vreframpは、連続ランプ電圧である。粗-微細ランプ変換アルゴリズムを利用することによって変換時間を短縮するために、複数ランプの実施形態が行われ得る。第1の粗基準ランプ基準電圧を、それぞれのIneuの部分範囲を求めるために高速でランプさせる。次に、部分範囲ごとの微細基準ランプ基準電圧をそれぞれ使用して、対応の部分範囲内のIneu電流を変換する。2つ以上の粗/微細ステップ又は2つの部分範囲が可能である。
限定することなく、フラッシュADC、SAR(逐次近似レジスタ)ADC、アルゴリズムADC、パイプライン型ADC、シグマデルタADCなど、他のADCアーキテクチャが、検証ADCとして使用され得る。
図30は、図25を参照して前述した高電圧生成回路2511の実施形態を示す。高電圧生成回路2511は、前述のVMMアレイのいずれかと共に使用することができる。高電圧生成回路2511は、チャージポンプ2512及び高電圧生成回路2514を含む。チャージポンプ2512は、入力3004を受け取り、高電圧3005を生成し、この高電圧は、次に、高電圧発生器3002及び3003に提供される。高電圧(HV)発生器(HVDAC_EG)3002は、スプリットゲートフラッシュメモリセルの消去ゲート端子への印加に適した、増分電圧などの、VEG3008で示される電圧を、デジタルビット3006及び受け取った高電圧3005に応答して提供するHVデジタル-アナログ変換器である。高電圧発生器(HVDAC CGSL)3003は、スプリットゲートフラッシュメモリセルの制御ゲート端子及びソース線端子への印加に適した、増分電圧などの、VCG3009及びVSL3010でそれぞれ示される電圧を、デジタルビット3007及び受け取った高電圧3005に応答して提供するHVデジタル-アナログ変換器である。
図31は、図25を参照して前述したVMMシステム2500を示すものであるが、ここでは試験構成で示されている。試験制御論理2517は、1つ以上の試験アルゴリズム3100を実施するために、VMMアレイ2501、行デコーダ2502、列デコーダ2504、入力ブロック2509、高電圧デコーダ2503、列ドライバ2505、高電圧生成ブロック2511、アナログブロック2515、アルゴリズムコントローラ2510、及び出力回路ブロック2508など、VMMシステム2500の他の構成要素(図25に示されているが、図31には示されていない)に制御信号を提供する。VMMアレイ2501は、行デコーダ2502から制御信号を受け取り、それによって、1つ以上の行がVMMアレイ2501内でアサートされる。VMMアレイ2501は、1つ以上のビット線からの信号を列デコーダ2504に提供し、次いで、この列デコーダは、1つ以上のビット線からの出力を出力回路ブロック2508に提供する。出力回路ブロック2508は、VMMアレイ2501から出力回路ブロック2508が受け取ったアナログ電流を表すデジタル出力を提供するアナログ-デジタル変換器ブロック(図29Aを参照して前述した検証ADC2900又は図29Bを参照して前述した検証ランプ型ADC2950など)を含み得る。
表9は、個々のメモリセルに対して実行されるプログラム、消去、読み出し、及び検証動作、メモリセルの列に結合された選択されたビット線に対して実行されるニューロン検証及びニューロン読み出し動作、並びに、各ビット線がメモリセルの列に結合される、全てのビット線が読み出されるアレイ読み出し動作中に、VMMアレイ2501内のワード線、制御ゲート線、消去ゲート線、ソースゲート線、及びビット線に印加される例示的な値を含む。
表9:VMMアレイ2501内の動作に対する例示的な値
Figure 0007359935000009
次に、図31に示され、図32~図44で更に詳細に説明される試験アルゴリズム3100を参照して実行され得る試験の種類に関して更なる詳細を提供する。これらは、試験制御論理2517及びVMMシステム2500の他の構成要素によって実装される。
図32を参照すると、ビット線ニューラル読み出し試験3101は、ビット線に同時に結合された全てのメモリセルの値を測定する。すなわち、ビット線ニューラル読み出し試験3101は、VMMアレイ内のニューロンを読み出す。第1に、行デコーダ2502は、アレイ内の全てのワード線をアサートする(ステップ3201)。第2に、列デコーダ2504によってビット線が選択(アサート)される(ステップ3202)。第3に、ビット線から受け取った電流を検知する検知増幅器2800などによって、そのビット線に対して読み出しが実行される(ステップ3203)。第4に、選択されたビット線の値は、基準電流源2600によって生成された基準電流と比較して、選択されたビット線に結合された不揮発性メモリセル、すなわちニューロンが所望の値を含むかどうかを判定することにより、決定することができる(ステップ3204)。
図33を参照すると、ビット線ニューラル測定試験3102は、ビット線ニューラル読み出し試験3101と同様である。行デコーダ2502は、全てのワード線をアサートする(ステップ3301)。列デコーダ2504によってビット線が選択される(ステップ3302)。そのビット線によって読み出し動作中に引き出された電流が測定される(ステップ3303)。ここで、ビット線ニューラル読み出し試験3101とは異なり、選択されたビット線からの電流は、基準電流と比較することなく測定される。
図34を参照すると、LSBスクリーン試験3103の間、行デコーダ2502は全てのワード線をアサートし(ステップ3401)、列デコーダ2504は全てのビット線をアサートする(ステップ3402)。ディーププログラミングが、VMMアレイ2501内の全てのメモリセルに対して実行される(ステップ3403)。ディーププログラミングは、推論読み出しに使用される通常のプログラム状態を超えて全てのメモリセルをプログラムする。これは、動作において通常使用されるものより長いプログラムタイミング又はより高いプログラム電圧で行われる。次いで、全てのビット線から受け取った全電流が測定される(ステップ3404)。期待されるのは、ディーププログラムされたアレイの全電流がLSB値よりはるかに小さくなることである。加えて、個々のセルからの電流が、50~100pAなど、LSB値より低いことも確認するために、各個々のセルがチェックされる。この種の試験は、製造プロセス中に試験して、不良のダイを迅速に識別するのに適している。
図35を参照すると、ビット線サンプリングスクリーン試験3104の間、メモリセル又はメモリセルのセットが特定のレベル、例えば、Lxにプログラムされ、xは1~Nの範囲であり、Nは、セルに格納され得るレベルの総数(例えば、N=16)である(ステップ3501)。次いで、ビット線電流(選択されたビット線内のセル又はセルのセットによって引き出された電流を意味し、IBLと称される)がK回測定される(ステップ3502)。例えば、K=8である場合、ビット線電流は8回測定される。次いで、平均値(IAVG)が、ステップ3502のK個の測定された値(すなわち、IBL1...BLK)に基づいて計算される(ステップ3503)。
次に、K個の電流測定値IBL1...IBLKのそれぞれが、IAVGに対してチェックされる(ステップ3504)。IBLi(iはi~Kの範囲)>(IAVG+スレッショルド3505)又はIBLi<(IAVG- -スレッショルド3506)である場合、ビット線は不良であると見なされる。次いで、不良のビット線にある各セルがチェックされ、不良のセルは、冗長セル(冗長行又は冗長列からのセルなど)で置き換えられる。
ビット線サンプリングスクリーン試験3104の別の実施形態を図36に示す。K個の異なる時間に電流Irefをビット線に強制することにより、電圧VCGが測定される(ステップ3601)。例えば、電圧VCGは、ビット線電流が固定Irefと一致するまで掃引され得、その特定のVCGが測定され、格納され得る。固定Irefは、基準電流源2600によって提供され得、ビット線電流が固定Irefに一致するかどうかを検証する動作は、検知増幅器2800によって実行され得る。次いで、平均値VAVGが、K個の異なるVCG値から計算される。次に、K個の測定されたVCG電圧のそれぞれが、VAVGに対してチェックされる(ステップ3603)。VCGi(iはi~Kの範囲)>(VAVG+スレッショルド3604)又はVCGi<(VAVG-スレッショルド3605)である場合、ビット線は不良であると見なされる。次いで、不良のビット線にある各セルがチェックされ、不良のセルは、冗長セル(冗長行又は冗長列)で置き換えられる。
読み出しトリポイント試験(read tripoint test)3105の間、読み出し動作において異なるレベルのIrefを使用して、粗及び微細の読み出し基準電流トリミングが実行される。読み出しトリップポイント試験3105の目的は、選択されたメモリセルが、消去されたセルでは完全に消去されたセルの~40%、又はプログラムされたセルでは完全にプログラムされたセルの~5%など、所定の電流パーセンテージ目標を超えることができるかどうかを解明することである。これは、例えば、テール化されたメモリセル又はテール化されたビットは、動作寿命にわたって潜在的な信頼性の問題を引き起こす可能性があるので、メモリセルが、主分布内にあり、テール化されたメモリセル又はテール化されたビット(すなわち、統計的外れ値)ではないことを確実にすることである。
図37を参照すると、読み出しウィンドウチェック試験3107の間、セルは、N個の可能なレベルのそれぞれを格納することができることを確実にするために試験される。第1に、セルは、N個の値のうちの1つを表す標的値にプログラムされる(ステップ3701)。次に、セルに格納された値が、標的値を中心にした許容可能な値のウィンドウ3710内にあるかどうかを判定するために、検証動作が実行される(ステップ3702)。ステップ3701及び3702は、N個の値のそれぞれに対して繰り返される(ステップ3703)。許容可能なウィンドウ3710は、N個の各値に対して異なり得る。実行されるステップ3702のインスタンスのいずれかで、セルに格納された値が、標的値を中心にした許容可能な値のウィンドウの外側にあることを示す場合、そのセルは不良であると識別される。読み出しウィンドウチェック試験3107は、検知増幅器2800、ADC2900、ADC2950、又は別の構成要素によって実行され得る。これは、メモリセルの重み調整を実行するのに有用であり得る。上記は、公称値を中心とするN個の値のそれぞれに固定ウィンドウが使用される実施形態で説明されてきたが、別の実施形態では、上側スレッショルド及び下側スレッショルドがN個の値のそれぞれに対して利用され、これらのスレッショルドは、その範囲を超えない限り、全てのN個の値の間で同一である必要はないことは理解される。
図38を参照すると、読み出し較正試験3108の間、セル、又はビット線に結合されたセルなどのセルのグループに対して漏れが測定され(ステップ3801)、測定された漏れ(ILEAKAGE)は格納され(ステップ3802)、測定された漏れ値は、後に、読み出し動作中に使用されて、プロセス/電圧/温度(PVT)の様々な組み合わせにわたって漏れを補償する(ステップ3803)。一実施形態では、複数のセルがそれぞれ既知の値でプログラムされる。ワード線及び制御ゲート線は接地に設定され、ビット線は読み出しバイアス電圧に設定される。一連の異なる基準電流がアレイに注入され、結果として生じるデータリードアウトは、ADC回路2900若しくは2950又は検知増幅器2800などの検知増幅器によって読み出される。(セルにプログラムされた既知の値と比較して)最良の結果をもたらす注入電流は、ILEAKAGEとして格納される。その後、ILEAKAGEは、選択されたセル内で生じる漏れを補償するために、読み出し動作中に、格納された漏れレベルを変換データから差し引くことなどによって、同じセルの読み出し動作中に印加される。
図39を参照すると、読み出し傾斜試験3109の間、2つの基準電流に対する制御ゲート電圧、すなわち、電流IR1におけるCG1及び電流IR2におけるCG2に対してI-V傾斜係数が決定される。第1のステップは、選択された不揮発性メモリセルがサブスレッショルド領域で動作する間に、選択された不揮発性メモリセルに対して対数傾斜係数を決定することである(ステップ3901)。第2のステップは、対数傾斜係数を格納することである(ステップ3902)。第3のステップは、選択された不揮発性メモリセルが線形領域で動作する間に、選択された不揮発性メモリセルに対して線形傾斜係数を決定することである(ステップ3903)。第4のステップは、線形傾斜係数を格納することである(ステップ3904)。第5のステップは、選択されたセルを標的電流にプログラミングするときに、対数傾斜係数及び線形傾斜係数のうちの1つ以上を利用することである(ステップ3905)。
図40を参照すると、読み出しニューロン認定試験3110の間に、ニューロン(ビット線)が、所望の値に対して値をチェックすることなく読み出される。第1のステップは、ビット線において電流を測定し、測定された値を格納することである(ステップ4001)。第2のステップは、認定プロセス中のバーンイン時間など、所定の時間量に対して、以下に記載されるように、ダミーニューロン読み出し試験4010を実行することである。第3のステップは、ビット線から電流を測定することである(ステップ4003)。第4のステップは、測定された電流をステップ4001の格納した測定された電流と比較することである(ステップ4004)。差が特定の量より大きいか、又は小さい場合、ビット線は、不良のビット線であると見なされる。
ダミーニューロン読み出し試験4010は、一連のステップを含む。第1のステップは、行デコーダによって、アレイ内の全てのワード線をアサートすることである(ステップ4011)。第2のステップは、列デコーダによって、アレイ内の全てのビット線をアサートして、不揮発性メモリセルの全ての列を選択することである(ステップ4012)。第3のステップは、読み出し出力をチェックすることなく、アレイに対して読み出し動作(読み出し条件)を実行することである(ステップ4013)。ダミーニューロン読み出し試験4010は、バーンイン目的のためにアレイに対して読み出しストレスとして使用される。
図41を参照すると、ソフト消去試験3111の間、アレイ全体又はセクタが、メモリアレイの消去性能をチェックするために試験される。第1のステップは、アレイ内の不揮発性メモリセルのそれぞれの端子に一連の電圧を印加することによってアレイ内の不揮発性メモリセルを消去することであり、一連の電圧内の電圧は、固定されたステップサイズで経時的に増加する(ステップ4101)。これは、例えば、0.5又は1ボルトのステップで5~12.5ボルトの段階的な方法で消去ゲートにおける電圧を増加させることによって、セルを増分様式で消去する。このようにして消去すると、メモリセルへのストレスが低減される。第2のステップは、全ての不揮発性メモリセルを読み出して、例えば、ステップ4101の消去後のセル電流が、公称値を中心にした許容可能なウィンドウ内にあると判定することにより、消去ステップの有効性を決定することである(ステップ4102)。任意選択的に、プログラム/消去サイクルが何回まで持続できるか決定するために耐久試験が実行され得、又はアレイを消去された状態に遷移させるためにバックグラウンド試験が実行され得る。
図42を参照すると、ソフトプログラム試験3112の間、アレイ全体又は行又はセルが試験される。第1のステップは、アレイ内の各不揮発性メモリセルの端子に一連の電圧を印加することによってアレイ内の不揮発性メモリセルをプログラミングすることであり、一連の電圧内の電圧は、固定されたステップサイズで経時的に増加する(ステップ4201)。セルは、メモリアレイのプログラム性能をチェックするために、例えば、10mV又は0.3V又は1Vステップの3~10ボルトの増分様式でプログラムされる。このようにしてプログラミングすると、メモリセルへのストレスが低減される。第2のステップは、全ての不揮発性メモリセルを読み出して、例えば、ステップ4201のプログラミング後のセル電流が、公称値を中心にした許容可能なウィンドウ内にあると判定することにより、プログラミングステップの有効性を決定することである(ステップ4202))。任意選択的に、耐久試験又はバックグラウンド試験が利用され得る。
図43を参照すると、読み出し検証試験3106が実行され得る。第1のステップは、N個の異なる値のうちの1つを格納するために複数の不揮発性メモリセルをプログラミングすることであり、Nは、不揮発性メモリセルのいずれかに格納され得る異なるレベルの数である(ステップ4301)。第2のステップは、複数の不揮発性メモリセルによって引き出された電流を測定することである(ステップ4302)。第3のステップは、測定された電流を標的値と比較することである(ステップ4303)。第4のステップは、測定された値と標的値との差がスレッショルド係数を超える場合、複数の不揮発性メモリセルを不良として識別することを格納することである(ステップ4304)。
図44を参照すると、チェッカーボード検証試験3113が実行され得、それにより、試験パターンは、チェッカーボード又は擬似チェッカーボードパターンを使用して実装され、全ての可能なレベルではなく、サンプリングされたレベル(例えば、N個全てのレベルの代わりに4つのレベル、すなわち、L0、Ln、Ln/4、Ln*3/4)が測定される。例えば、メモリアレイ内の最悪ケースの電界ストレス(1つのセルが高い電界レベルにあり、隣接するセルが低い電界レベルにあることを意味する)をチェックするためにパターンが使用され得る。
一実施形態では、第1のステップは、N個のレベルの中で最も小さいセル電流に対応するレベルを用いて複数の不揮発性メモリセルの中の第1のセルグループをプログラミングすることである(ステップ4401)。第2のステップは、N個のレベルの中で最も大きいセル電流に対応するレベルを用いて複数の不揮発性メモリセルの中の第2のセルグループをプログラミングすることであり(ステップ4402)、第2のセルグループ内のセルのそれぞれは、第1のセルグループ内のセルのうちの1つ以上に隣接する。第3のステップは、複数の不揮発性メモリセルによって引き出された電流を測定することである(ステップ4403)。第4のステップは、測定された電流を標的値と比較することである(ステップ4404)。第5のステップは、測定された値と標的値との差がスレッショルドを超える場合、複数の不揮発性メモリセルを不良として識別することである(ステップ4405)。
表10は、チェッカーボード検証試験3113中に使用され得る物理的アレイマップの他の例示的な試験パターンを含む。
表10:例示的な試験パターン
Figure 0007359935000010
選別試験3114、最終試験3115、認定試験3116、及びデータ保持試験3117は、本明細書に開示されるVMMシステムを含むウェハ、ダイ、又はパッケージ化されたデバイスの製造及び認定プロセス中に実行され得る試験スイートである。
選別試験3114は、製造プロセス中にウェハに対して実行され得る。一実施形態では、選別試験3114は、以下の試験スイートを含む。第1に、ソフト消去試験3111、ソフトプログラム試験3112、及び様々なストレスモード試験など、不良のウェハ又はダイを迅速に識別する比較的速い試験が実行される(消去ゲート酸化物gox、結合ゲート酸化物cox、ソース線酸化物sol、リバースディスターブトンネリングrtsts(浮遊ゲートからワード線へのトンネリング、非選択行に対するディスターブ)、マスパンチスルーmpt(非選択行のソースからドレインへのディスターブ)、リードディスターブrdist(読み出し状態からのディスターブ)など)。第2に、頂部セクタ及び底部セクタに対するLSBスクリーン試験3103及びビット線サンプリングスクリーン3104などのニューラル試験モードが実行される。ニューラル試験モードは、第1のステップ中に実行される試験よりはるかに時間がかかるが、スクリーニングされる不良のウェハ又はダイが第1のより時間のかからない試験セット中に識別されることにより、ある程度の時間が節約される。
最終試験3115は、パッケージ化されたデバイスに対して実行され得る。一実施形態では、最終試験3115は、ソフト消去試験3111及びソフトプログラム試験3112の実行を含む。任意選択的に、試験時間を短縮するために、M個のセクタのN個のレベルのKを試験すること、又は特定のセクタ(頂部及び底部セクタなど)に対してN個全てのレベルを試験することなどの包括的な試験ではなく、ニューラル用途のための試験パターンが利用され得る。
認定試験3116の間、ダミービット線読み出し繰り返し(これは、読み出しデータの内容を実際に決定することのない読み出しアクションの実行である)が実行され、耐久試験が、ソフト消去試験3111及びソフトプログラム試験3112を適用することによって行われる。ニューラルメモリ適用中に個々のメモリ読み出しの代わりにビット線読み出しが使用されるので、個々のメモリセル試験の代わりに、ビット線試験が実行される。
データ保持試験3117は、例えば、250℃などの高温で24~72時間、プログラムされたウェハを焼成することを含み得る。一実施形態では、デジタルメモリ試験のための包括的な試験ではなく、チェッカーボード又は擬似チェッカーボード試験パターンが課される。データ保持は、読み出しビット線電流モードを用いて、ニューラルモードのビット線電流に対して(デジタルメモリの場合に行われるような各メモリセルの代わりに)チェックされる。例えば、1つの問い合わせは、デルタIBL<+/-p%であるかどうかをチェックすることであり、デルタIBLは、予想されるビット線電流からの測定されたビット線電流の差として定義される。(WholeBLmeasモード、ニューラルネットワーク用の標的正確度のためのソフトウェアニューラルネットモデリングからの許容されるパーセンテージ誤差p%)。デルタIBLは、ビット線出力電流が標的を超えるか、又はそれを下回るかを識別するためにニューラルモードに対して試験され、本明細書では標的の所定のパーセンテージ「p」として定義される。あるいは、各セルは、標的の+/-デルタでチェック/試験され得る。
本明細書に記載のハードウェア及びアルゴリズムを使用して、他の試験を実行することができる。
本明細書で使用される場合、「の上方に(over)」及び「に(on)」という用語は両方とも、「に直接」(中間材料、要素、又は間隙がそれらの間に配設されていない)、及び「に間接的に」(中間材料、要素、又は間隙がそれらの間に配設される)を包括的に含むことに留意されるべきである。同様に、「隣接した」という用語は、「直接隣接した」(中間材料、要素、又は間隙がそれらの間に配設されていない)、及び「間接的に隣接した」(中間材料、要素、又は間隙がそれらの間に配設される)を含み、「に取り付けられた」は、「に直接取り付けられた」(中間材料、要素、又は間隙がそれらの間に配設されていない)、及び「に間接的に取り付けられた」(中間材料、要素、又は間隙がそれらの間に配設される)を含み、「電気的に結合された」は、「に直接電気的に結合された」(要素を一緒に電気的に接続する中間材料又は要素がそれらの間にない)、及び「に間接的に電気的に結合された」(要素を一緒に電気的に接続する中間材料又は要素がそれらの間にある)を含む。例えば、要素を「基板の上方に」形成することは、その要素を基板に直接、中間材料/要素をそれらの間に伴わずに形成すること、及びその要素を基板に間接的に1つ以上の中間材料/要素をそれらの間に伴って形成することを含み得る。

Claims (8)

  1. アナログニューラル不揮発性メモリセルのアレイを試験する方法であって、前記アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、前記方法は、
    ビット線に結合された複数のセルをプログラミングするステップと、
    前記複数のセルによって引き出された電流をK個の異なる時間に測定し、前記K個の異なる時間のそれぞれに測定された値を格納するステップであって、Kは整数である、ステップと、
    前記K個の測定された値に基づいて平均値を計算するステップと、
    前記K個の測定された値のうちのいずれかが、前記平均値より第1のスレッショルドを超えて小さい場合、又は前記平均値より第2のスレッショルドを超えて大きい場合、前記ビット線を不良ビット線として識別するステップと、を含む、方法。
  2. 前記アナログニューラル不揮発性メモリセルのそれぞれは、積層ゲートフラッシュメモリセルである、請求項1に記載の方法。
  3. 前記アナログニューラル不揮発性メモリセルのそれぞれは、スプリットゲートフラッシュメモリセルである、請求項1に記載の方法。
  4. 前記アレイは、ニューラルネットワークの一部である、請求項1に記載の方法。
  5. アナログニューラル不揮発性メモリセルのアレイを試験する方法であって、前記アレイは行及び列に配置され、各行はワード線に結合され、各列はビット線に結合され、前記方法は、
    ビット線に結合された複数のセルをプログラミングするステップと、
    複数のセルの制御ゲート端子に結合された制御ゲート線における電圧をK個の異なる時間に測定し、前記K個の異なる時間のそれぞれに測定された値を格納するステップであって、Kは整数である、ステップと、
    前記K個の測定された値に基づいて平均値を計算するステップと、
    前記K個の測定された値のうちのいずれかが、前記平均値より第1のスレッショルドを超えて小さい場合、又は前記平均値より第2のスレッショルドを超えて大きい場合、前記ビット線を不良ビット線として識別するステップと、を含む、方法。
  6. 前記アナログニューラル不揮発性メモリセルのそれぞれは、積層ゲートフラッシュメモリセルである、請求項5に記載の方法。
  7. 前記アナログニューラル不揮発性メモリセルのそれぞれは、スプリットゲートフラッシュメモリセルである、請求項5に記載の方法。
  8. 前記アレイは、ニューラルネットワークの一部である、請求項5に記載の方法。
JP2022503818A 2019-07-19 2019-12-21 人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法 Active JP7359935B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023166764A JP2024001083A (ja) 2019-07-19 2023-09-28 人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962876515P 2019-07-19 2019-07-19
US62/876,515 2019-07-19
US16/569,647 2019-09-12
US16/569,647 US11449741B2 (en) 2019-07-19 2019-09-12 Testing circuitry and methods for analog neural memory in artificial neural network
PCT/US2019/068202 WO2021015813A1 (en) 2019-07-19 2019-12-21 Testing circuitry and methods for analog neural memory in artificial neural network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023166764A Division JP2024001083A (ja) 2019-07-19 2023-09-28 人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法

Publications (2)

Publication Number Publication Date
JP2022540724A JP2022540724A (ja) 2022-09-16
JP7359935B2 true JP7359935B2 (ja) 2023-10-11

Family

ID=69185742

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022503818A Active JP7359935B2 (ja) 2019-07-19 2019-12-21 人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法
JP2023166764A Pending JP2024001083A (ja) 2019-07-19 2023-09-28 人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023166764A Pending JP2024001083A (ja) 2019-07-19 2023-09-28 人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法

Country Status (7)

Country Link
US (3) US11449741B2 (ja)
EP (2) EP4000068B1 (ja)
JP (2) JP7359935B2 (ja)
KR (2) KR20220015473A (ja)
CN (1) CN114175168A (ja)
TW (2) TWI753492B (ja)
WO (1) WO2021015813A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210350217A1 (en) * 2020-05-10 2021-11-11 Silicon Storage Technology, Inc. Analog neural memory array in artificial neural network with source line pulldown mechanism
US11276465B1 (en) * 2020-08-21 2022-03-15 Intel Corporation Device, system and method to float a decoder for deselected address lines in a three-dimensional crosspoint memory architecture
US11900998B2 (en) 2020-09-11 2024-02-13 Intel Corporation Bipolar decoder for crosspoint memory
US11693560B2 (en) 2021-01-22 2023-07-04 Taiwan Semiconductor Manufacturing Company, Ltd. SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture
US12080355B2 (en) 2021-06-02 2024-09-03 Silicon Storage Technology, Inc. Method of improving read current stability in analog non-volatile memory by post-program tuning for memory cells exhibiting random telegraph noise
JP2024520275A (ja) * 2021-06-02 2024-05-24 シリコン ストーリッジ テクノロージー インコーポレイテッド ランダムテレグラフノイズを呈するメモリセルに対するプログラム後調整によってアナログ不揮発性メモリにおける読み出し電流安定性を改善する方法
US11935603B2 (en) * 2021-11-04 2024-03-19 Infineon Technologies LLC Erase power loss indicator (EPLI) implementation in flash memory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098505A1 (en) 2004-11-04 2006-05-11 Chih-Hung Cho Failure test method for split gate flash memory
JP2015506528A (ja) 2011-12-21 2015-03-02 サンディスク テクノロジーズ インコーポレイテッドSanDisk Technologies,Inc. 同時マルチステートセンスから生じるバラツキの緩和
WO2019135839A1 (en) 2018-01-03 2019-07-11 Silicon Storage Technolgy, Inc. Programmable neuron for analog non-volatile memory in deep learning artificial neural network

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029130A (en) 1990-01-22 1991-07-02 Silicon Storage Technology, Inc. Single transistor non-valatile electrically alterable semiconductor memory device
FR2690751B1 (fr) 1992-04-30 1994-06-17 Sgs Thomson Microelectronics Procede et circuit de detection de fuites de courant dans une ligne de bit.
US6768685B1 (en) 2001-11-16 2004-07-27 Mtrix Semiconductor, Inc. Integrated circuit memory array with fast test mode utilizing multiple word line selection and method therefor
US6747310B2 (en) 2002-10-07 2004-06-08 Actrans System Inc. Flash memory cells with separated self-aligned select and erase gates, and process of fabrication
US9009574B2 (en) * 2011-06-07 2015-04-14 Marvell World Trade Ltd. Identification and mitigation of hard errors in memory systems
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US8711646B2 (en) 2012-05-08 2014-04-29 Samsung Electronics Co., Ltd. Architecture, system and method for testing resistive type memory
US8908441B1 (en) * 2013-10-15 2014-12-09 Sandisk Technologies Inc. Double verify method in multi-pass programming to suppress read noise
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
US10078548B2 (en) * 2015-09-11 2018-09-18 Toshiba Memory Corporation Memory controller, semiconductor device and method of controlling semiconductor device
KR102444604B1 (ko) 2016-02-02 2022-09-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP6833873B2 (ja) 2016-05-17 2021-02-24 シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器
US10699926B2 (en) * 2017-08-30 2020-06-30 Kla-Tencor Corp. Identifying nuisances and defects of interest in defects detected on a wafer
US10803943B2 (en) * 2017-11-29 2020-10-13 Silicon Storage Technology, Inc. Neural network classifier using array of four-gate non-volatile memory cells
US10748630B2 (en) 2017-11-29 2020-08-18 Silicon Storage Technology, Inc. High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks
US10403359B2 (en) * 2017-12-20 2019-09-03 Micron Technology, Inc. Non-contact electron beam probing techniques and related structures
JP2019160195A (ja) * 2018-03-16 2019-09-19 東芝メモリ株式会社 メモリシステム
US10991430B2 (en) * 2018-12-19 2021-04-27 Ememory Technology Inc. Non-volatile memory cell compliant to a near memory computation system
US11393546B2 (en) * 2019-07-19 2022-07-19 Silicon Storage Technology, Inc. Testing circuitry and methods for analog neural memory in artificial neural network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098505A1 (en) 2004-11-04 2006-05-11 Chih-Hung Cho Failure test method for split gate flash memory
JP2015506528A (ja) 2011-12-21 2015-03-02 サンディスク テクノロジーズ インコーポレイテッドSanDisk Technologies,Inc. 同時マルチステートセンスから生じるバラツキの緩和
WO2019135839A1 (en) 2018-01-03 2019-07-11 Silicon Storage Technolgy, Inc. Programmable neuron for analog non-volatile memory in deep learning artificial neural network

Also Published As

Publication number Publication date
JP2022540724A (ja) 2022-09-16
TW202109541A (zh) 2021-03-01
TWI753492B (zh) 2022-01-21
US20220398444A1 (en) 2022-12-15
US20220405564A1 (en) 2022-12-22
CN114175168A (zh) 2022-03-11
WO2021015813A1 (en) 2021-01-28
KR20220015473A (ko) 2022-02-08
EP4000068B1 (en) 2024-07-03
KR20240135054A (ko) 2024-09-10
US11449741B2 (en) 2022-09-20
US20210019608A1 (en) 2021-01-21
EP4414987A2 (en) 2024-08-14
EP4000068A1 (en) 2022-05-25
JP2024001083A (ja) 2024-01-09
TW202219965A (zh) 2022-05-16

Similar Documents

Publication Publication Date Title
JP7359935B2 (ja) 人工ニューラルネットワーク内のアナログニューラルメモリのための試験回路及び方法
US12056601B2 (en) Circuitry to compensate for data drift in analog neural memory in an artificial neural network
KR102657705B1 (ko) 딥 러닝 인공 신경 네트워크 내의 아날로그 신경 메모리를 위한 출력 어레이 뉴런 변환 및 교정
US11783904B2 (en) Compensation for leakage in an array of analog neural memory cells in an artificial neural network
US20220319620A1 (en) Testing of analog neural memory cells in an artificial neural network
KR20230110360A (ko) 딥 러닝 인공 신경망에서의 아날로그 신경 메모리를위한 디지털 출력 메케니즘
TW202341014A (zh) 深度學習人工神經網路中電性參數的校準
TWI809663B (zh) 用於人工神經網路中之類比神經記憶體之精確資料調校方法及裝置
WO2023154075A1 (en) Calibration of electrical parameters in a deep learning artificial neural network
US20230306246A1 (en) Calibration of electrical parameters in a deep learning artificial neural network
US12124944B2 (en) Precise data tuning method and apparatus for analog neural memory in an artificial neural network
US20240104164A1 (en) Verification method and system in artificial neural network array
US20210209458A1 (en) Precise data tuning method and apparatus for analog neural memory in an artificial neural network
KR20240147680A (ko) 딥 러닝 인공 신경망에서의 전기적 파라미터들의 교정
WO2024063792A1 (en) Verification method and system in artificial neural network array
TW202336748A (zh) 決定施加至神經網路中的一或多個記憶體胞元的偏壓

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230928

R150 Certificate of patent or registration of utility model

Ref document number: 7359935

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150