JP7153737B2 - 深層学習ニューラルネットワークにおけるアナログ不揮発性メモリのデータリフレッシュのための方法及び装置 - Google Patents
深層学習ニューラルネットワークにおけるアナログ不揮発性メモリのデータリフレッシュのための方法及び装置 Download PDFInfo
- Publication number
- JP7153737B2 JP7153737B2 JP2020548669A JP2020548669A JP7153737B2 JP 7153737 B2 JP7153737 B2 JP 7153737B2 JP 2020548669 A JP2020548669 A JP 2020548669A JP 2020548669 A JP2020548669 A JP 2020548669A JP 7153737 B2 JP7153737 B2 JP 7153737B2
- Authority
- JP
- Japan
- Prior art keywords
- current
- memory cells
- data
- refreshing
- cell
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
- G11C16/0425—Erasable 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C27/00—Electric analogue stores, e.g. for storing instantaneous values
- G11C27/005—Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/02—Structural aspects of erasable programmable read-only memories
- G11C2216/04—Nonvolatile memory cell provided with a separate control gate for erasing the cells, i.e. erase gate, independent of the normal read control gate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
Description
(優先権の主張)
本出願は、2018年3月14日に出願された「Method and Apparatus for Data Refresh for Analog Neuromorphic Memory in Artificial Neural Network」と題する米国特許仮出願第62/642,867号、及び2018年5月25日に出願された「Method and Apparatus for Data Refresh for Analog Non-volatile Memory in Deep Learning Neural Network」と題する米国特許出願第15/990,220号の優先権を主張する。
本出願は、2018年3月14日に出願された「Method and Apparatus for Data Refresh for Analog Neuromorphic Memory in Artificial Neural Network」と題する米国特許仮出願第62/642,867号、及び2018年5月25日に出願された「Method and Apparatus for Data Refresh for Analog Non-volatile Memory in Deep Learning Neural Network」と題する米国特許出願第15/990,220号の優先権を主張する。
(発明の分野)
人工ニューラルネットワークのベクトルマトリクス乗算(vector-by-matrix multiplication、VMM)アレイ内でフラッシュメモリセルと共に使用するデータリフレッシュ方法及び装置の多数の実施形態が開示される。
人工ニューラルネットワークのベクトルマトリクス乗算(vector-by-matrix multiplication、VMM)アレイ内でフラッシュメモリセルと共に使用するデータリフレッシュ方法及び装置の多数の実施形態が開示される。
人工ニューラルネットワークは、多数の入力に依存することができ、概ね未知である機能を推定する又は近似するために使用される生物学的ニューラルネットワーク(動物の中枢神経系、特に脳)を真似ている。人工ニューラルネットワークは、概して、メッセージを交換する相互接続した「ニューロン」の層を含む。
図1は、人工ニューラルネットワークを図示しており、ここで円は、入力又はニューロンの層を表す。接続(シナプスと呼ばれる)は、矢印によって表され、経験に基づいて調整され得る数値の重みを有する。これは、ニューラルネットワークが入力に適応できるようにし、学習できるようにする。典型的には、ニューラルネットワークは、複数の入力の層を含む。典型的には、1つ以上のニューロンの中間層、及びニューラルネットワークの出力を提供するニューロンの出力層が存在する。それぞれのレベルでニューロンは、シナプスから受信されたデータに基づいて個々に又は合わせて決定を行う。
高性能情報処理用の人工ニューラルネットワークの開発における主要な課題の1つは、適切なハードウェア技術の欠如である。実際には、実用ニューラルネットワークは、非常に多数のシナプスに頼り、ニューロン間の高い接続性、すなわち、非常に高度な計算的並行処理を可能にする。原理的には、このような複雑性は、デジタルスーパーコンピュータ又は専門化したグラフィック処理ユニットクラスタによって実現され得る。しかしながら、高コストに加え、これらのアプローチはまた、主として低精度のアナログ計算を実施するのではるかに少ないエネルギーしか消費しない生物学的ネットワークに比べてあまり良くないエネルギー効率に悩まされている。CMOSアナログ回路は、人工ニューラルネットワークに使用されてきたが、ほとんどのCMOS実装シナプス(CMOS-implemented synapses)は、多数のニューロン及びシナプスを考えると嵩高すぎていた。
出願人は以前に、参照により組み込まれる米国特許出願第15/594,439号において、シナプスとして1つ以上の不揮発性メモリアレイを利用する人工(アナログ)ニューラルネットワークを開示した。不揮発性メモリアレイは、アナログニューロモーフィックメモリとして動作する。ニューラルネットワークデバイスは、第1の複数の入力を受信するように、かつそれから第1の複数の出力を生成するように構成された第1の複数のシナプス、及び第1の複数の出力を受信するように構成された第1の複数のニューロンを含む。第1の複数のシナプスは、複数のメモリセルを含み、メモリセルのそれぞれは、半導体基板内に形成された、間にチャネル領域が延在している離間したソース領域及びドレイン領域と、チャネル領域の第1の部分の上方に配設され、チャネル領域の第1の部分から絶縁された浮遊ゲートと、チャネル領域の第2の部分の上方に配設され、チャネル領域の第2の部分から絶縁された非浮遊ゲートと、を含む。複数のメモリセルのそれぞれは、浮遊ゲートの多くの電子に対応する重み値を記憶するように構成される。複数のメモリセルは、第1の複数の入力に、記憶された重み値を乗じて第1の複数の出力を生成するように構成される。
アナログニューロモーフィックメモリシステムに使用される各不揮発性メモリセルは、消去され、浮遊ゲート内に非常に特異的かつ正確な量の電荷を保持するようにプログラムされなければならない。例えば、各浮動ゲートはN個の異なる値のうちの1つを保持しなければならず、ここで、Nは、各セルによって示され得る異なる重みの数である。Nの例は、16、32、及び64を含む。
従来のフラッシュメモリデバイスは、各フラッシュメモリセルが値(典型的には、2つの可能なレベル、又は場合によっては4つの可能なレベル、すなわち、N=2又は4に限定される)を無期限に保持することができるため、データがリフレッシュされる必要はない。しかしながら、VNMで使用されるフラッシュメモリセルでは、Nが著しく大きくなるため、時間の経過と共にデータが不正確になる(すなわち、破損する)確率は、温度変化及びプロセス変動に基づいてデータドリフトが時間の経過と共に自然に生じることに起因して、増加する。
必要とされるのは、VNM内のフラッシュメモリセル内のデータドリフトを検出するためのメカニズム、及びセル内のデータをその元の所望の状態にリフレッシュすることである。
人工ニューラルネットワークのベクトルマトリクス乗算(VMM)アレイ内でフラッシュメモリセルと共に使用するデータリフレッシュ方法及び装置の多数の実施形態が開示される。
本発明の人工ニューラルネットワークは、CMOS技術及び不揮発性メモリアレイの組み合わせを利用する。
不揮発性メモリセル
不揮発性メモリセル
デジタル不揮発性メモリは、周知である。例えば、米国特許第5,029,130号(「’130号特許」)は、分割ゲート不揮発性メモリセルのアレイを開示し、あらゆる目的のために参照により本明細書に組み込まれる。このようなメモリセルを図2に示す。各メモリセル210は、半導体基板12内に形成され、チャネル領域18をその間に有するソース領域14とドレイン領域16と、を含む。浮遊ゲート20は、チャネル領域18の第1の部分の上方に形成され、チャネル領域18の第1の部分から絶縁されて(かつチャネル領域18の第1の部分の導電性を制御して)おり、またソース領域16の一部分の上方に形成される。ワード線端子22(典型的には、ワード線に結合される)は、チャネル領域18の第2の部分の上方に配設され、チャネル領域18の第2の部分から絶縁され、(かつチャネル領域18の第2の部分の導電性を制御する)第1の部分と、浮遊ゲート20の上方に延在する第2の部分と、を有する。浮遊ゲート20及びワード線端子22は、ゲート酸化物によって基板12から絶縁される。ビット線24はドレイン領域16に結合される。
メモリセル210は、ワード線端子22に高圧正電圧を印加することによって消去され(ここで電子は、浮遊ゲートから除去される)、それにより、ファウラーノルドハイムトンネリングによって浮遊ゲート20からワード線端子22まで中間絶縁体を通って浮遊ゲート20の電子をトンネリングさせる。
メモリセル210は、ワード線端子22に正電圧、及びソース16に正電圧を印加することによってプログラムされる(ここで電子は、浮遊ゲートに印加される)。電子電流は、ソース16からドレイン14に向かって流れることになる。電子は、ワード線端子22と浮遊ゲート20との間の間隙に達すると、加速し発熱する。熱せられた電子のいくらかは、浮遊ゲート20からの静電引力に起因してゲート酸化物26を通って浮遊ゲート20に注入される。
ドレイン14及びワード線端子22に正の読み出し電圧を印加する(ワード線端子下のチャネル領域をターンオンする)ことによって、メモリセル210が読み出される。浮遊ゲート20が正に帯電する(すなわち、電子を消去し、ドレイン16に正に結合する)場合、浮遊ゲート20下のチャネル領域の部分は、次に同様にオンになり、電流は、チャネル領域18を流れ、これは、消去された状態つまり「1」の状態として検知される。浮遊ゲート20が負に帯電する(すなわち、電子でプログラムされる)場合、次に浮遊ゲート20下のチャネル領域の部分は、ほとんど又は完全にオフになり、電流は、チャネル領域18を流れず(又はわずかに流れる)、プログラムされた状態又は「0」の状態として検出される。
他の分割ゲートメモリセル構成が知られている。例えば、図3は、ソース領域14と、ドレイン領域16と、チャネル領域18の第1の部分の上方にある浮遊ゲート20と、チャネル領域18の第2の部分の上方にある選択ゲート28(典型的には、ワード線に結合される)と、浮遊ゲート20の上方にある制御ゲート22と、及びソース領域14の上方にある消去ゲート30と、を備える4ゲートメモリセル310を示す。この構成は、米国特許第6,747,310号に記載され、この米国特許は、あらゆる目的のため参照により本明細書に組み込まれる。ここで、全てのゲートは、浮遊ゲート20を除いて、非浮遊ゲートであり、それらは電圧源に電気的に接続される又は接続可能であることを意味する。プログラミングは、浮遊ゲート20にそれ自体を注入するチャネル領域18からの熱せられた電子によって示される。消去は、浮遊ゲート20から消去ゲート30へトンネリングする電子によって示される。
図4は、分割ゲート3ゲートメモリセル410を示す。メモリセル410は、メモリセル410が別個の制御ゲートを有しないことを除いて、図3のメモリセル310と同一である。消去動作(消去ゲートを通しての消去)及び読み出し動作は、制御ゲートバイアスがないことを除いて、図3のものと同様である。プログラミング動作もまた、制御ゲートバイアスなしで行われるため、ソース線のプログラム電圧は、制御ゲートバイアスの不足を補償するためにより高い。
図5は、積層ゲートメモリセル510を示す。メモリセル510は、浮遊ゲート20がチャネル領域18全体の上方に延在し、制御ゲート22が絶縁層によって分離された浮遊ゲート20の上方に延在することを除いて、図2のメモリセル210と同様である。消去、プログラミング、及び読み出し動作は、メモリセル210について前述したものと同様の方法で動作する。
上記の人工ニューラルネットワークにおける不揮発性メモリセルのタイプのうちの1つを含むメモリアレイを利用するために、2つの修正が行われる。第1に、以下に更に説明されるように、アレイ内の他のメモリセルのメモリ状態に悪影響を与えずに各メモリセルを個々にプログラム、消去、及び読み出しすることができるように線を構成する。第2に、メモリセルの連続(アナログ)プログラミングを提供する。
具体的には、アレイ内の各メモリセルのメモリ状態(すなわち、浮遊ゲートの電荷)を、完全に消去された状態から完全にプログラムされた状態へ、独立して、かつ他のメモリセルの異常が最小で連続的に変更することができる。別の実施形態では、アレイ内の各メモリセルのメモリ状態(すなわち、浮遊ゲートの電荷)を、完全にプログラムされた状態から完全に消去された状態へ、及び逆もまた同様に、独立して、かつ他のメモリセルの異常が最小で連続的に変更することができる。このことは、セル記憶がアナログであるか、又は多数の別個の値(16又は64の異なる値など)のうちの1つを最低限記憶することができ、それは、メモリアレイ内の全てのセルの非常に正確、かつ個々の調整を可能にし、またメモリアレイを記憶に対して理想的にし、ニューラルネットワークのシナプシスの重みに微調整を加えることを意味する。
不揮発性メモリセルアレイを使用するニューラルネットワーク
不揮発性メモリセルアレイを使用するニューラルネットワーク
図6は、不揮発性メモリアレイを利用するニューラルネットワークの非限定実施例を概念的に示す。この例は、顔認識アプリケーションのために不揮発性メモリアレイニューラルネットを使用するが、不揮発性メモリアレイベースのニューラルネットワークを使用して他の任意の適切なアプリケーションを実施することができる。
S0は入力であり、この例では、5ビット精度の32×32ピクセルRGB画像である(すなわち、各色R、G、及びBにつき1つずつの3つの32×32ピクセルアレイ、各ピクセルが5ビット精度である)。S0からC1に行くシナプスCB1は、異なる重みのセット、及び共有される重みの両方を有し、入力画像を3×3ピクセルの重なり合うフィルタでスキャンし(カーネル)、1ピクセル(又はモデルによって決まるように2ピクセル以上)ずつフィルタをシフトする。具体的には、画像の3×3部分における9ピクセルの値(すなわち、フィルタ又はカーネルと呼ばれる)は、シナプスCB1に提供され、それによってこれらの9個の入力値に適切な重みを乗じ、その乗算の出力の合計後、単一の出力値が決定され、特徴マップC1の層の1つのピクセルを生成するためにCB1の第1のニューロンによって与えられる。3×3フィルタは次に右側に1ピクセルだけシフトされ(すなわち、3ピクセルの列を右側に追加し、左側で3ピクセルの列をドロップする)、そのため、この新しく位置づけられたフィルタの9ピクセル値が、シナプスCB1に提供されるため、それらに同じ重みを乗じ、関連するニューロンによって第2の単一の出力値を決定する。このプロセスを、3×3フィルタが32×32ピクセル画像全体にわたって3色全て及び全てのビットについてスキャンするまで続ける(精度値)。プロセスは次に、層C1の特徴マップ全てが計算されるまで、異なる重みのセットを使用して繰り返されて、C1の異なる特徴マップを生成する。
C1において、本例では、それぞれ30×30ピクセルを有する16個の特徴マップが存在する。各ピクセルは、入力とカーネルとの乗算から抽出された新しい特徴ピクセルであり、したがって、各特徴マップは、2次元アレイであり、したがってこの例では、シナプスCB1は、2次元アレイの16層を構成する(本明細書で言及されるニューロン層及びアレイは、必ずしも物理的関係ではなく論理的な関係であり、すなわち、アレイは必ずしも物理的な2次元アレイに配向されないことに留意する)。16個の特徴マップのそれぞれは、フィルタスキャンに適用される16個の異なる、シナプス重みのセットのうちの1つによって生成される。C1特徴マップは全て、境界同定など同じ画像特徴の異なる態様を対象とすることができる。例えば、第1のマップ(この第1のマップを生成するのに使用される全てのスキャンに共有される第1の重みセットを使用して生成される)は、円形エッジを識別することができ、第2のマップ(第1の重みセットと異なる第2の重みセットを使用して生成される)は、方形エッジ又は特定の特徴のアスペクト比などを識別することができる。
活性化関数P1(プーリング)は、C1からS1へ行く前に適用され、各特徴マップ中の連続する、重なり合わない2×2領域からの値をプールする。プーリング段階の目的は、平均して近隣の位置にすること(又はmax関数もまた使用され得る)、例えばエッジ位置の依存を低減すること、及び次の段階に行く前にデータサイズを低減することである。S1において、16個の15×15特徴マップ(すなわち、16個のそれぞれ15×15ピクセルの異なるアレイ)が存在する。S1からC2へ行くCB2内のシナプス及び関連するニューロンは、S1内のマップを1ピクセルのフィルタシフトを使用して4×4フィルタでスキャンする。C2において、22個の12×12特徴マップが存在する。活性化関数P2(プーリング)は、C2からS2へ行く前に適用され、各特徴マップ中の連続する、重なり合わない2×2領域からの値をプールする。S2において、22個の6×6特徴マップが存在する。活性化関数は、S2からC3へ行くシナプスCB3で適用され、ここでC3内の全てのニューロンはS2内の全てのマップに接続する。C3において、64個のニューロンが存在する。C3から出力S3へ行くシナプスCB4は、S3をC3と完全に接続する。S3における出力は、10個のニューロンを含み、ここで最も高い出力ニューロンは、クラスを決定する。この出力は、例えば、元の画像の内容の同定又は分類を示すことができる。
シナプスの各レベルは、不揮発性メモリセルのアレイ又はアレイの一部を使用して実行される。図7は、不揮発性メモリセルを含み、入力層と次の層との間のシナプスとして利用されるベクトルマトリクス乗算(VMM)アレイのブロック図である。具体的には、VMM32は、不揮発性メモリセルのアレイ33、消去ゲート及びワード線ゲートデコーダ34、制御ゲートデコーダ35、ビット線デコーダ36、並びにソース線デコーダ37を含み、それらのデコーダはメモリアレイ33に対する入力をデコードする。この例におけるソース線デコーダ37はまた、メモリセルアレイの出力をデコードする。あるいは、ビット線デコーダ36は、メモリアレイの出力をデコードすることができる。メモリアレイは、2つの目的を果たす。第1に、VMMにより使用される重みを記憶する。第2に、メモリアレイは、効果的に、入力に、メモリアレイに記憶された重みを乗じ、それらを出力線(ソース線又はビット線)ごとに合計して出力を生成し、これは、次の層への入力又は最後の層への入力になる。乗算及び加算の関数を実行することによって、メモリアレイは、別個の乗算及び加算の論理回路の必要性をなくし、また、その場でのメモリ計算により電力効率も良い。
メモリアレイの出力は差動加算器(加算オペアンプなど)38に供給され、差動加算器はメモリセルアレイの出力を合計してその畳み込み用の単一の値を生成する。差動加算器は、正の入力で正の重みと負の重みとの合計を実現するようなものである。合計された出力値は、次に出力を整流する活性化関数回路39に供給される。活性化関数には、シグモイド、tanh、又はReLU関数が含まれ得る。整流された出力値は、次の層(例えば上の説明ではC1)として特徴マップの要素になり、次いで、次のシナプスに適用されて次の特徴マップ層又は最後の層を生成する。したがって、この例では、メモリアレイは、複数のシナプスを構成し(ニューロンの前の層から、又は画像データベースなどの入力層から入力を受信する)、加算オペアンプ38及び活性化関数回路39は、複数のニューロンを構成する。
図8は、様々なレベルのVMMのブロック図である。入力は、デジタルアナログ変換器31によってデジタルからアナログに変換され、入力VMM32aに提供される。入力VMM32aによって生成された出力は、次のVMM(隠しレベル1)32bへの入力として提供され、VMM(隠しレベル1)32bは、同様にして、次のVMM(隠しレベル2)32bへの入力として提供される出力を生成する、などとなる。VMMの32の様々な層は、畳み込みニューラルネットワーク(convolutional neural network、CNN)のシナプス及びニューロンの異なる層として機能する。各VMMは、スタンドアローンの不揮発性メモリアレイであり得、又は複数のVMMは、同じ不揮発性メモリアレイの異なる部分を利用することができ、又は複数のVMMは、同じ不揮発性メモリアレイの重なり合う部分を利用することができる。
ベクトルマトリクス乗算(VMM)アレイ
ベクトルマトリクス乗算(VMM)アレイ
図9は、図2に示されるタイプのメモリセルに特に適したニューロンVMM900を示し、入力層と次の層との間のシナプス及び部品として利用される。VMM900は、不揮発性メモリセルのメモリアレイ903、基準アレイ901、及び基準アレイ902を備える。基準アレイ901及び902は、端子BLR0~3内に流れる電流入力を電圧入力WL0~3に変換する役割を果たす。図示の基準アレイ901及び902は、列方向にある。一般に、基準アレイ方向は入力線に直交する。実際には、基準メモリセルは、マルチプレクサ(1つのマルチプレクサ及び基準ビット線をバイアスするための1つのカスコードトランジスタVBLRを含むマルチプレクサ914)を介して接続されたダイオードであり、電流入力はそれらの中に流れる。基準セルは、標的基準レベルに調整される。
メモリアレイ903は、2つの目的を果たす。第1に、VMM900により使用される重みを記憶する。第2に、メモリアレイ903は、入力(端子BLR0-3に提供される電流入力であって、基準アレイ901及び902がこれらの電流入力を入力電圧に変換してワード線WL0-3に供給する)にメモリアレイに記憶された重みを有効に乗算して、出力を生成し、これは次の層への入力又は最終の層への入力となる。乗算関数を実行することによって、メモリアレイは、別個の乗算論理回路の必要性をなくし、また電力効率も良い。ここで、電圧入力はワード線に提供され、出力は読み出し(推論)動作中にビット線に現れる。ビット線の電流は、ビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
図10は、VMM900の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線に印加された電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
図11は、図2に示されるタイプのメモリセルに特に適したニューロンVMM1100を示し、入力層と次の層との間のシナプス及び部品として利用される。VMM1100は、不揮発性メモリセルのメモリアレイ1103、基準アレイ1101、及び基準アレイ1102を備える。VMM1100は、VMM1100においてワード線が垂直方向に延びることを除いて、VMM900と同様である。2つの基準アレイ1101(頂部で、偶数行の電圧への基準変換入力電流を提供する)及び1102(底部で、奇数行の電圧への基準変換入力電流を提供する)が存在する。ここで、入力はワード線に提供され、出力は読み出し動作中にソース線に現れる。ソース線の電流は、ソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
図12は、VMM1100の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルのソース線、及び非選択セルのソース線に印加された電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
図13は、図3に示されるタイプのメモリセルに特に適したニューロンVMM1300を示し、入力層と次の層との間のシナプス及び一部として利用される。VMM1300は、不揮発性メモリセルのメモリアレイ1301、基準アレイ1302(偶数行に対して入力電流を入力電圧に変換する基準を提供する)、及び基準アレイ1303(奇数行に対して入力電流を入力電圧に変換する基準を提供する)を備える。VMM1300は、VMM1300が、メモリセルの行の制御ゲートに結合する制御線1306と、メモリセルの隣接する行の消去ゲートに結合された制御線1307とを更に備えることを除いて、VMM900と同様である。ここで、ワード線、制御ゲート線、及び消去ゲート線は同じ方向である。VMMは、基準ビット線を選択された基準メモリセルのビット線接点に選択的に結合する基準ビット線選択トランジスタ1304(mux1314の一部)と、基準ビット線を特定の選択された基準メモリセルのための制御線1306に選択的に結合するスイッチ1305(mux1314の一部)と、を更に備える。ここで、入力は(メモリアレイ1301の)ワード線に提供され、出力は読み出し動作中にビット線1309などのビット線に現れる。ビット線の電流は、ビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
図14は、VMM1300の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタ内の非選択セルの制御ゲート、選択セルとは異なるセクタ内の非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線に印加された電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
図15は、図3に示されるタイプのメモリセルに特に適したニューロンVMM1500を示し、入力層と次の層との間のシナプス及び部品として利用される。VMM1500は、VMM1500で、消去ゲート線1501などの消去ゲート線が垂直方向に延びることを除いて、VMM1100と同様である。ここで、入力はワード線に提供され、出力はソース線に現れる。ビット線の電流は、ビット線に接続されたメモリセルからの全ての電流の合計関数を実行する。
図16は、VMM1500の動作電圧を示す。表中の列は、選択セルのワード線、非選択セルのワード線、選択セルのビット線、非選択セルのビット線、選択セルの制御ゲート、選択セルと同じセクタ内の非選択セルの制御ゲート、選択セルとは異なるセクタ内の非選択セルの制御ゲート、選択セルの消去ゲート、非選択セルの消去ゲート、選択セルのソース線、及び非選択セルのソース線に印加された電圧を示す。行は、読み出し、消去、及びプログラムの動作を示す。
図17は、図3に示されるタイプのメモリセルに特に適したニューロンVMM1700を示し、入力層と次の層との間のシナプス及びニューロンの一部として利用される。VMM1700は、不揮発性メモリセルのメモリアレイ1701、及び基準アレイ1702(アレイの頂部で)を備える。あるいは、別の基準アレイが、図10のものと同様に、底部に位置することができる。他の点では、VMM1700は、VMM1700で、制御ゲート線1703などの制御ゲート線が垂直方向に延び(したがって、行方向の基準アレイ1702が入力制御ゲート線に直交する)、消去ゲート線1704などの消去ゲート線が水平方向に延びることを除いて、前述のVMMと同様である。ここで、入力は制御ゲート線に提供され、出力はソース線に現れる。一実施形態では、偶数行のみが使用され、別の実施形態では、奇数行のみが使用される。ソース線の電流は、ソース線に接続されたメモリセルからの全ての電流の合計関数を実行する。
ニューラルネットワークについて本明細書に記載されるように、フラッシュセルは、サブ閾値領域で動作するように構成されることが好ましい。
本明細書に記載されたメモリセルは、弱反転にバイアスされる。
Ids=Io*e(Vg-Vth)/kVt=w*Io*e(Vg)/kVt
w=e(-Vth)/kVt
Ids=Io*e(Vg-Vth)/kVt=w*Io*e(Vg)/kVt
w=e(-Vth)/kVt
入力電流を入力電圧に変換するためにメモリセルを使用するIーVログ変換器について:
Vg=k*Vt*log[Ids/wp*Io]
Vg=k*Vt*log[Ids/wp*Io]
ベクトルマトリクス乗算器VMMとして使用されるメモリアレイについて、出力電流は以下である:
Iout=wa*Io*e(Vg)/kVt、すなわち
Iout=(wa/wp)*Iin=W*Iin
W=e(Vthp-Vtha)/kVt
Iout=wa*Io*e(Vg)/kVt、すなわち
Iout=(wa/wp)*Iin=W*Iin
W=e(Vthp-Vtha)/kVt
ワード線又は制御ゲートは、入力電圧のためのメモリセルの入力として使用することができる。
あるいは、フラッシュメモリセルは、線形領域で動作するように構成することができる。
Ids=β*(Vgs-Vth)*Vds;β=u*Cox*W/L
Wα(Vgs-Vth)
Ids=β*(Vgs-Vth)*Vds;β=u*Cox*W/L
Wα(Vgs-Vth)
I-V線形変換器では、線形領域で動作するメモリセルを使用して、入力/出力電流を入力/出力電圧に線形に変換することができる。
ESFベクトルマトリックス乗算器の他の実施形態は、参照により本明細書に組み込まれる米国特許出願番号15/826,345に記載されているとおりである。ソース線又はビット線は、ニューロン出力(電流和出力)として使用することができる。
図18は、システムコントローラ1801、アナログニューロモーフィックメモリエンジン1802、及びアナログニューロモーフィックメモリエンジン1803を備える、アナログニューロモーフィックメモリシステム1800を示す。アナログニューロモーフィックメモリエンジン1802及びアナログニューロモーフィックメモリエンジン1803はそれぞれ、重みでプログラムされるVNMアレイを含む。アナログニューロモーフィックメモリエンジン1803内のVNM内のアレイの一部分は、データがドリフトしたかどうかを判定するためのプロセス専用である。
図19は、VNM内のデータをリフレッシュするための方法1900を示す。フラッシュメモリセルのセットがサンプリングされる(工程1901のサンプル選択)。サンプルは、フラッシュメモリセルによって記憶される各可能なレベル(Nの値)に対して分析され(L0、...LN-1)、差(DRx)が、隣接するレベルの各対間で計算される(工程1902)。各レベルについて、差(DRx)は、ターゲット(理想)(DRx_target)と比較される(工程1903)。差(DRx)のいずれかがターゲットを超えると、リフレッシュフラグが設定される(工程1904)。次いで、データ復元プロセスが行われる(工程1905)。この工程は、オンチップコントローラによって行われても、オフチップコントローラによって行われてもよい。工程1905では、各レベルに対して再調整工程(例えば、再プログラミング)が適合される。最初に、セルがリードバックされ、次いで、レベルに応じて、デルタ再調整が、そのレベルに対して適用される。この目的のために、ルックアップテーブル(Icell対I-tuned target)が使用され得る。この工程では、ターゲットに到達するために、調整アルゴリズム(反復検証及びプログラム)が使用される(参照により本明細書に組み込まれる、米国特許出願第15/826,345号に記載されるアルゴリズムを使用することによってなど)。また、サンプリングされたデータ保持セルに対して復元も行われる。各セルの電流が、そのセルに記憶されたレベルに対するターゲット電流に等しくなると(工程1906)、プロセスは完了する(工程1908)。それに到達しなければ、セルは不良と見なされ、プロセスは完了する(工程1907)。
図20は、VNM内のデータをリフレッシュするための別の方法2000を示す。例示的なフラッシュメモリセルのセットがサンプリングされる(工程2001)。サンプルは、フラッシュメモリセルによって記憶される各可能なレベル(Nの値)に対して分析され(L0、...LN-1)、差(DRx)が、隣接するレベルの各対間で計算される(工程2002)。各レベルについて、差(DRx)は、ターゲット(理想)(DRx_target)と比較される(工程2003)。差(DRx)のいずれかがターゲットを超えると、リフレッシュフラグが設定される(工程2004)。次いで、データ復元プロセスが行われる(工程2005)。復元は、オンチップ又はオフチップのコントローラによって行われ得る。工程2005では、各レベルに対して再調整工程(例えば、再プログラミング)が適合される。最初に、セル(アレイセル及びサンプリングされたデータ保持セル)がリードバックされ、次いで、レベルに応じて、デルタ再調整が、そのレベルに対して微細増分復元アルゴリズムによって適用される。この目的のために、ルックアップテーブル(Icell対I-tuned target)が使用され得る。この工程では、ターゲットに到達するために、微調整アルゴリズム(微細ステップ反復検証及びプログラム)が使用される(参照により本明細書に組み込まれる、米国特許出願第15/826,345号に記載されるアルゴリズムを使用することによってなど)。あるいは、データ復元は、トレーニングからの重みを全てVMMアレイに転送することによって、VMMアレイ全体を再プログラミングすることによって行われ得る。各セルの電流が、そのセルに記憶されたレベルに対するターゲット電流に等しくなると(工程2006)、プロセスは完了する(工程2007)。それに到達しなければ、セルは不良と見なされる(工程2008)。次いで、冗長アレイセクタを使用して、不良アレイセクタが置き換えられる(工程2009)。このようにして使用された冗長セルの数が閾値を超えると(工程2010)、セクタ全体が不良と見なされる(工程2011)。
図21及び図22に関して、「高速セル」は、プログラム動作中に平均的なセルと比較して相対的に速く浮遊ゲートから電荷を失うことができるセルであり、そのような高速セルは、時間の経過と共にデータドリフトをより起こしやすくなるので、高速セルを識別することが望ましい場合がある。図21では、グラフ2100を参照すると、比較的少ないプログラミング試行(回数)で高電流レベルIrcellを得るものとして、高速セルを識別することができる。図22では、グラフ2200を参照すると、高速セルが、正常セルよりも高Ir動作範囲を有する可能性が高いことが理解される。図22は、データ保持(ドリフト)監視に使用される例示的なセルを示す。最小範囲及び最大範囲を超えるセルが、監視目的のために使用される。これは、正常セルよりも悪いストレス状態を有する監視セルを作成するために使用される。
図23は、データドリフト検出スキームを示す。この例では、特定の電流レベルがターゲット1とターゲット2との間にあることが望ましい。検知された電流がそれらのターゲット間にある場合、リフレッシュは必要とされず、これは、ドリフトがシステム性能に対して許容可能であることを意味する。一方、感知された電流が、ターゲット1とターゲット2との間の範囲の外にある場合は、データリフレッシュ(復元)プロセスが実行される。
図24は、データドリフト検出器の一実施形態を示す。データドリフト検出器2400は、電流2402(選択されたセルを通る感知された電流レベル、又はそのような電流間の差のいずれかであり得る)及び基準電流2401をコンパレータ2403で受信し、コンパレータ2403は、電流2402が基準電流2401を超えるか否かを示す値を出力する。データドリフト検出器2400は、選択されたセルによって引き込まれた電流を、選択されたセルに記憶されていることが意図される値に基づくターゲット電流と比較する。
図25は、データドリフト検出器の別の実施形態を示す。データドリフト検出器2500は、サンプルホールドコンデンサ2501及び2504、スイッチ2502及び2505、電流源2506(選択されたセルを通る感知された電流レベル、又はそのような電流間の差のいずれかであり得る)、基準電流2503、並びにコンパレータ2507を含む。この実施形態では、2つの電流源は、所定の立ち上がり期間を介してコンデンサによってサンプリングされ、保持され、次いで、それらのサンプリングされた値がコンパレータ2507によって比較される。したがって、データドリフト検出器2500は、選択されたセルによって引き込まれたサンプリングされた電流を、選択されたセルに記憶されていることが意図される値に基づくサンプリングされたターゲット電流と比較する。
図26を参照すると、グラフ2600に示されるように、データドリフト検出器2500のサンプリング周期は、有意なデータドリフトが生じる前にどのくらいの時間が経過しやすいかの理解に基づいて選択することができる。これにより、電力消費は、データドリフト検出器2400と比較して少なくなり得る。
図27は、データドリフト検出器の別の実施形態を示す。データドリフト検出器2700は、選択されたメモリセル2701、電流源2702、基準電圧2703、及びコンパレータ2704を含む。この実施形態では、選択されたメモリセル2701の浮遊ゲートに記憶された電圧(ノード2705の電圧=~VFG-VtFG)と基準電圧2703(選択されたメモリセル2701に記憶されることが意図される電圧である)との間で直接比較が行われる。メモリセル2701は、ソースフォロワ動作モードで構成される。基準電圧は、基準メモリセルから生成され得る。
本明細書で使用される場合、「の上方に(over)」及び「に(on)」という用語は両方とも、「に直接」(中間材料、要素、又は空間がそれらの間に何ら配設されない)、及び「の上に間接的に」(中間材料、要素、又は空間がそれらの間に配設される)を包括的に含むことに留意するべきである。同様に、「隣接した」という用語は、「直接隣接した」(中間材料、要素、又は空間がそれらの間に何ら配設されない)、及び「間接的に隣接した」(中間材料、要素、又は空間がそれらの間に配設される)を含み、「に取り付けられた」は、「に直接取り付けられた」(中間材料、要素、又は空間がそれらの間に何ら配設されない)、及び「に間接的に取り付けられた」(中間材料、要素、又は空間がそれらの間に配設される)を含み、「電気的に結合された」は、「に直接電気的に結合された」(要素を一緒に電気的に連結する中間材料又は要素がそれらの間にない)、及び「に間接的に電気的に結合された」(要素を一緒に電気的に連結する中間材料又は要素がそれらの間にある)を含む。例えば、要素を「基板の上方に」形成することは、その要素を基板に直接、中間材料/要素をそれらの間に何ら伴わずに、形成すること、並びにその要素を基板の上に間接的に、1つ以上の中間材料/要素をそれらの間に伴って、形成することを含み得る。
Claims (43)
- アナログニューロモーフィックメモリシステム内の選択されたフラッシュメモリセル内でデータドリフトを検出し、データをリフレッシュする方法であって、該方法は、
前記選択されたフラッシュメモリセルの浮遊ゲートに記憶された第1の電圧を検知するステップと、
前記第1の電圧を、基準回路によって提供される第2の電圧と比較するステップと、
前記第1の電圧が前記第2の電圧を超える場合、前記浮遊ゲートに第3の電圧を記憶することによって前記浮遊ゲートに記憶された前記データをリフレッシュするステップであって、前記第3の電圧は、前記第1の電圧よりも前記第2の電圧に近い、リフレッシュするステップと、を含む、方法。 - 前記基準回路は、電圧源を含む、請求項1に記載の方法。
- 前記基準回路は、基準メモリセルを含む、請求項1に記載の方法。
- 前記選択されたメモリセルは、分割ゲートメモリセルである、請求項1に記載の方法。
- 前記選択されたメモリセルは、積層ゲートメモリセルである、請求項1に記載の方法。
- 前記選択されたメモリセルは、ソースフォロワモードで構成される、請求項1に記載の方法。
- 前記リフレッシュするステップは、電流レベルに固有の復元量で行われる、請求項1に記載の方法。
- 前記リフレッシュするステップは、トレーニング重みを前記選択されたメモリセルに再転送することによって行われる、請求項1に記載の方法。
- アナログニューロモーフィックメモリシステム内の選択されたフラッシュメモリセル内でデータドリフトを検出し、データをリフレッシュする方法であって、該方法は、
選択されたフラッシュメモリセルによって読み出し動作中に引き込まれた第1の電流を検知するステップと、
前記第1の電流を、基準回路によって引き込まれた第2の電流と比較するステップと、
前記第1の電流が前記第2の電流を超える場合、前記選択されたフラッシュメモリセルが読み出し動作中に第3の電流を引き込むように、前記選択されたメモリセルの浮遊ゲートに記憶された前記データをリフレッシュするステップであって、前記第3の電流は、前記第1の電流よりも前記第2の電流に近い、リフレッシュするステップと、を含む、方法。 - 前記基準回路は電流源を含む、請求項9に記載の方法。
- 前記選択されたメモリセルは、分割ゲートメモリセルである、請求項9に記載の方法。
- 前記選択されたメモリセルは、積層ゲートメモリセルである、請求項9に記載の方法。
- 前記リフレッシュするステップは、電流レベルに固有の復元量で行われる、請求項9に記載の方法。
- 前記リフレッシュするステップは、トレーニング重みを前記選択されたメモリセルに再転送することによって行われる、請求項9に記載の方法。
- アナログニューロモーフィックメモリシステム内の選択されたフラッシュメモリセル内でデータドリフトを検出し、データをリフレッシュする方法であって、該方法は、
第1のサンプリングされた値を生成するために、選択されたフラッシュメモリセルによって読み出し動作中に引き込まれた第1の電流をサンプリングするステップと、
第2のサンプリングされた値を生成するために、基準回路によって引き込まれた第2の電流をサンプリングするステップと、
前記第1のサンプリングされた値と前記第2のサンプリングされた値とを比較するステップと、
前記第1のサンプリングされた値が前記第2のサンプリングされた値を超える場合、前記選択されたフラッシュメモリセルが読み出し動作中に第3の電流を引き込むように、前記選択されたメモリセルの浮遊ゲートに記憶された前記データをリフレッシュするステップであって、前記第3の電流は、前記第1の電流よりも前記第2の電流に近い、リフレッシュするステップと、を含む、方法。 - 前記基準回路は、電流源を含む、請求項15に記載の方法。
- 前記選択されたメモリセルは、分割ゲートメモリセルである、請求項15に記載の方法。
- 前記選択されたメモリセルは、積層ゲートメモリセルである、請求項15に記載の方法。
- 前記リフレッシュするステップは、電流レベルに固有の復元量で行われる、請求項15に記載の方法。
- 前記リフレッシュするステップは、トレーニング重みを前記選択されたメモリセルに再転送することによって行われる、請求項15に記載の方法。
- アナログニューロモーフィックメモリシステム内の選択されたフラッシュメモリセル内でデータドリフトを検出し、データをリフレッシュする方法であって、該方法は、
選択されたフラッシュメモリセルによって読み出し動作中に引き込まれた第1の電流を検知するステップと、
前記第1の電流を、基準回路によって引き込まれた第2の電流と比較するステップと、
前記第1の電流を、基準回路によって引き込まれた第3の電流と比較するステップと、
前記第1の電流が前記第3の電流を超える場合、前記選択されたフラッシュメモリセルが読み出し動作中に電流を引き込むように、前記選択されたメモリセルの浮遊ゲートに記憶された前記データをリフレッシュするステップであって、復元された電流は、前記第2の電流と前記第3の電流との間である、リフレッシュするステップ、又は
前記第1の電流が前記第2の電流を超え、かつ前記第3の電流を超えない場合、前記データをリフレッシュするステップを控えるステップと、を含む、方法。 - 前記基準回路は、電流源を含む、請求項21に記載の方法。
- 前記選択されたメモリセルは、分割ゲートメモリセルである、請求項21に記載の方法。
- 前記選択されたメモリセルは、積層ゲートメモリセルである、請求項21に記載の方法。
- 前記リフレッシュするステップは、電流レベルに固有の復元量で行われる、請求項21に記載の方法。
- 前記リフレッシュするステップは、トレーニング重みを前記選択されたメモリセルに再転送することによって行われる、請求項21に記載の方法。
- アナログニューロモーフィックメモリシステム内の選択されたフラッシュメモリセル内でデータドリフトを検出し、データをリフレッシュする方法であって、該方法は、
高速セルを識別するステップと、
データドリフト検出のために前記高速セルをサンプリングするステップと、
データドリフト検出のために例示的なレベルで前記高速セルをプログラミングするステップと、
データドリフト検出のためにサンプリングされた前記高速セルを監視するステップと、を含む、方法。 - 前記監視するステップは、
サンプリングされたフラッシュメモリセルによって読み出し動作中に引き込まれた第1の電流を検知するステップと、
前記第1の電流を、基準回路によって引き込まれた第2の電流と比較するステップと、
前記第1の電流を、基準回路によって引き込まれた第3の電流と比較するステップと、
前記第1の電流が前記第3の電流を超える場合、前記選択されたフラッシュメモリセルが読み出し動作中に電流を引き込むように、前記メモリセルの浮遊ゲートに記憶された前記データをリフレッシュするステップであって、復元された電流は、前記第2の電流と前記第3の電流との間である、リフレッシュするステップ、又は
前記第1の電流が前記第2の電流を超え、かつ前記第3の電流を超えない場合、前記データをリフレッシュするステップを控えるステップと、を含む、請求項27に記載の方法。 - 前記基準回路は、電流源を含む、請求項27に記載の方法。
- 前記サンプリングされたフラッシュメモリセルは、分割ゲートメモリセルである、請求項27に記載の方法。
- 前記サンプリングされたメモリセルは、積層ゲートメモリセルである、請求項27に記載の方法。
- 前記リフレッシュするステップは、電流レベルに固有の復元量で行われる、請求項27に記載の方法。
- 前記リフレッシュするステップは、トレーニング重みを前記サンプリングされたメモリセルに再転送することによって行われる、請求項27に記載の方法。
- アナログニューロモーフィックメモリシステム内の選択されたフラッシュメモリセル内でデータドリフトを検出し、データをリフレッシュする方法であって、
メモリセルのサンプルを選択するステップと、
データドリフト検出のためにサンプリングされたセルを試験するステップと、
データドリフト検出のためにN個のレベルから選択された例示的なレベルで試験されたセルをプログラミングするステップと、
データドリフト検出のために前記サンプリングされたセルを監視するステップと、を含む、方法。 - 前記試験されたセルの任意の電流がデルタターゲットを超えるとき、データ復元を実行する、請求項34に記載の方法。
- 前記サンプリングされたセルの任意の電流がデルタターゲットを超え、次いで、データ復元フラグを設定する、請求項34に記載の方法。
- 復元されたセルの任意の電流がターゲットを満たすことができないとき、前記復元されたセルを不良セルとして識別する、請求項35に記載の方法。
- 冗長セルで不良セルを置き換えることを更に含む、請求項37に記載の方法。
- 前記データ復元は、セル調整を含む、請求項35に記載の方法。
- 前記データ復元は、前記例示的なレベルに対応するターゲット量によるセル調整を含む、請求項35に記載の方法。
- 前記メモリセルは、分割ゲートメモリセルである、請求項34に記載の方法。
- 前記メモリセルは、積層ゲートメモリセルである、請求項34に記載の方法。
- 前記データ復元は、トレーニング重みを前記メモリセルに再転送することを含む、請求項35に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862642867P | 2018-03-14 | 2018-03-14 | |
US62/642,867 | 2018-03-14 | ||
US15/990,220 US10446246B2 (en) | 2018-03-14 | 2018-05-25 | Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network |
US15/990,220 | 2018-05-25 | ||
PCT/US2019/013871 WO2019177687A1 (en) | 2018-03-14 | 2019-01-16 | Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021517704A JP2021517704A (ja) | 2021-07-26 |
JP7153737B2 true JP7153737B2 (ja) | 2022-10-14 |
Family
ID=67906045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020548669A Active JP7153737B2 (ja) | 2018-03-14 | 2019-01-16 | 深層学習ニューラルネットワークにおけるアナログ不揮発性メモリのデータリフレッシュのための方法及び装置 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10446246B2 (ja) |
EP (1) | EP3766071B1 (ja) |
JP (1) | JP7153737B2 (ja) |
KR (2) | KR102430151B1 (ja) |
CN (1) | CN111837189A (ja) |
TW (3) | TWI755339B (ja) |
WO (1) | WO2019177687A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461621B2 (en) * | 2018-06-26 | 2022-10-04 | Vishal Sarin | Methods and systems of implementing positive and negative neurons in a neural array-based flash memory |
CN110797067B (zh) * | 2019-10-21 | 2021-10-22 | 上海闪易半导体有限公司 | 存储阵列模块及其控制方法、装置、模组 |
CN111222626B (zh) * | 2019-11-07 | 2021-08-10 | 恒烁半导体(合肥)股份有限公司 | 一种基于NOR Flash模块的神经网络的数据切分运算方法 |
US11636322B2 (en) * | 2020-01-03 | 2023-04-25 | Silicon Storage Technology, Inc. | Precise data tuning method and apparatus for analog neural memory in an artificial neural network |
KR20230039668A (ko) | 2020-07-17 | 2023-03-21 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 반도체 장치 및 전자 기기 |
CN112053726B (zh) * | 2020-09-09 | 2022-04-12 | 哈尔滨工业大学 | 一种基于Er态阈值电压分布的闪存误擦除数据恢复方法 |
US11626168B2 (en) * | 2021-03-10 | 2023-04-11 | Samsung Electronics Co.. Ltd. | De-noising using multiple threshold-expert machine learning models |
KR102612011B1 (ko) * | 2021-03-24 | 2023-12-07 | 광운대학교 산학협력단 | 인공 신경망 소자 및 이의 동작 방법 |
US12014768B2 (en) | 2021-07-29 | 2024-06-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | DRAM computation circuit and method |
KR20240052994A (ko) * | 2021-11-12 | 2024-04-23 | 실리콘 스토리지 테크놀로지 인크 | 신경망에서 하나 이상의 메모리 셀에 인가할 바이어스 전압 결정 |
US11942144B2 (en) | 2022-01-24 | 2024-03-26 | Stmicroelectronics S.R.L. | In-memory computation system with drift compensation circuit |
CN115148248B (zh) * | 2022-09-06 | 2022-11-08 | 北京奎芯集成电路设计有限公司 | 基于深度学习的dram刷新方法和装置 |
KR102525664B1 (ko) * | 2022-09-15 | 2023-04-25 | 전남대학교산학협력단 | 메모리 반도체 최적의 예비자원 수 예측 방법 및 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002230984A (ja) | 2001-02-05 | 2002-08-16 | Fujitsu Ltd | 不揮発性半導体記憶装置 |
WO2004097839A1 (ja) | 2003-04-28 | 2004-11-11 | Fujitsu Limited | 不揮発性半導体記憶装置及び不揮発性半導体記憶装置のプログラム方法 |
JP2009140564A (ja) | 2007-12-06 | 2009-06-25 | Toshiba Corp | Nand型フラッシュメモリおよびメモリシステム |
JP2009537935A (ja) | 2006-05-15 | 2009-10-29 | アップル インコーポレイテッド | 多値データ記憶セルの保守動作 |
WO2017200883A1 (en) | 2016-05-17 | 2017-11-23 | Silicon Storage Technology, Inc. | Deep learning neural network classifier using non-volatile memory array |
Family Cites Families (35)
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 |
US5239505A (en) * | 1990-12-28 | 1993-08-24 | Intel Corporation | Floating gate non-volatile memory with blocks and memory refresh |
US5479170A (en) * | 1992-10-16 | 1995-12-26 | California Institute Of Technology | Method and apparatus for long-term multi-valued storage in dynamic analog memory |
US5909449A (en) * | 1997-09-08 | 1999-06-01 | Invox Technology | Multibit-per-cell non-volatile memory with error detection and correction |
US6493270B2 (en) * | 1999-07-01 | 2002-12-10 | Micron Technology, Inc. | Leakage detection in programming algorithm for a flash memory device |
EP1206775B1 (en) * | 1999-08-23 | 2004-11-10 | Micron Technology, Inc. | Flash memory device with externally triggered detection and repair of leaky cells |
JP2001076496A (ja) * | 1999-09-02 | 2001-03-23 | Fujitsu Ltd | 不揮発性メモリのデータ化け防止回路およびその方法 |
US6396744B1 (en) * | 2000-04-25 | 2002-05-28 | Multi Level Memory Technology | Flash memory with dynamic refresh |
TW559814B (en) * | 2001-05-31 | 2003-11-01 | Semiconductor Energy Lab | Nonvolatile memory and method of driving the same |
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 |
CN1710661A (zh) * | 2004-06-16 | 2005-12-21 | 皇家飞利浦电子股份有限公司 | 一种确定光盘读取信号质量的方法及装置 |
JP2008525924A (ja) * | 2004-10-21 | 2008-07-17 | エヌエックスピー ビー ヴィ | 記憶装置及びリフレッシュ機構に基づく平均しきい値を発生する方法 |
US7551503B2 (en) * | 2005-06-24 | 2009-06-23 | Macronix International Co., Ltd. | Method for refreshing a flash memory |
US7558149B2 (en) * | 2006-01-24 | 2009-07-07 | Macronix International Co., Ltd. | Method and apparatus to control sensing time for nonvolatile memory |
EP1843356A1 (en) * | 2006-04-03 | 2007-10-10 | STMicroelectronics S.r.l. | Method and system for refreshing a memory device during reading thereof |
US7869275B2 (en) * | 2006-10-07 | 2011-01-11 | Active-Semi, Inc. | Memory structure capable of bit-wise write or overwrite |
US8194487B2 (en) * | 2007-09-17 | 2012-06-05 | Micron Technology, Inc. | Refreshing data of memory cells with electrically floating body transistors |
US8000141B1 (en) * | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US7859932B2 (en) * | 2008-12-18 | 2010-12-28 | Sandisk Corporation | Data refresh for non-volatile storage |
US8032804B2 (en) * | 2009-01-12 | 2011-10-04 | Micron Technology, Inc. | Systems and methods for monitoring a memory system |
WO2011067795A1 (en) * | 2009-12-02 | 2011-06-09 | Ferdinando Bedeschi | Refresh architecture and algorithm for non-volatile memories |
US8649215B2 (en) * | 2010-12-22 | 2014-02-11 | HGST Netherlands B.V. | Data management in flash memory using probability of charge disturbances |
WO2013095385A1 (en) * | 2011-12-20 | 2013-06-27 | Intel Corporation | Apparatus and method for phase change memory drift management |
US9645177B2 (en) * | 2012-05-04 | 2017-05-09 | Seagate Technology Llc | Retention-drift-history-based non-volatile memory read threshold optimization |
US9224089B2 (en) * | 2012-08-07 | 2015-12-29 | Qualcomm Incorporated | Method and apparatus for adaptive bit-allocation in neural systems |
US9378830B2 (en) * | 2013-07-16 | 2016-06-28 | Seagate Technology Llc | Partial reprogramming of solid-state non-volatile memory cells |
US9564219B2 (en) * | 2015-04-08 | 2017-02-07 | Sandisk Technologies Llc | Current based detection and recording of memory hole-interconnect spacing defects |
US9563505B2 (en) * | 2015-05-26 | 2017-02-07 | Winbond Electronics Corp. | Methods and systems for nonvolatile memory data management |
US9836349B2 (en) * | 2015-05-29 | 2017-12-05 | Winbond Electronics Corp. | Methods and systems for detecting and correcting errors in nonvolatile memory |
US10121553B2 (en) * | 2015-09-30 | 2018-11-06 | Sunrise Memory Corporation | Capacitive-coupled non-volatile thin-film transistor NOR strings in three-dimensional arrays |
KR102491133B1 (ko) * | 2016-03-21 | 2023-01-25 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
US20170330109A1 (en) * | 2016-05-16 | 2017-11-16 | Purepredictive, Inc. | Predictive drift detection and correction |
EP3367385B1 (en) * | 2017-02-28 | 2020-07-08 | ams AG | Memory arrangement and method for operating a memory arrangement |
KR102415867B1 (ko) * | 2017-11-29 | 2022-07-04 | 에스케이하이닉스 주식회사 | 메모리 셀의 결함을 제거하기 위한 메모리 시스템 및 그의 동작 방법 |
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 |
-
2018
- 2018-05-25 US US15/990,220 patent/US10446246B2/en active Active
-
2019
- 2019-01-16 KR KR1020207026690A patent/KR102430151B1/ko active IP Right Grant
- 2019-01-16 KR KR1020227026678A patent/KR20220114095A/ko active IP Right Grant
- 2019-01-16 EP EP19767098.7A patent/EP3766071B1/en active Active
- 2019-01-16 JP JP2020548669A patent/JP7153737B2/ja active Active
- 2019-01-16 WO PCT/US2019/013871 patent/WO2019177687A1/en unknown
- 2019-01-16 CN CN201980018504.7A patent/CN111837189A/zh active Pending
- 2019-02-18 TW TW110123297A patent/TWI755339B/zh active
- 2019-02-18 TW TW108105316A patent/TWI696128B/zh active
- 2019-02-18 TW TW109116174A patent/TWI733451B/zh active
- 2019-05-16 US US16/414,714 patent/US10607710B2/en active Active
- 2019-10-02 US US16/590,798 patent/US10861568B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002230984A (ja) | 2001-02-05 | 2002-08-16 | Fujitsu Ltd | 不揮発性半導体記憶装置 |
WO2004097839A1 (ja) | 2003-04-28 | 2004-11-11 | Fujitsu Limited | 不揮発性半導体記憶装置及び不揮発性半導体記憶装置のプログラム方法 |
JP2009537935A (ja) | 2006-05-15 | 2009-10-29 | アップル インコーポレイテッド | 多値データ記憶セルの保守動作 |
JP2009140564A (ja) | 2007-12-06 | 2009-06-25 | Toshiba Corp | Nand型フラッシュメモリおよびメモリシステム |
WO2017200883A1 (en) | 2016-05-17 | 2017-11-23 | Silicon Storage Technology, Inc. | Deep learning neural network classifier using non-volatile memory array |
JP2019517138A (ja) | 2016-05-17 | 2019-06-20 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器 |
Also Published As
Publication number | Publication date |
---|---|
JP2021517704A (ja) | 2021-07-26 |
EP3766071A1 (en) | 2021-01-20 |
US20190287631A1 (en) | 2019-09-19 |
EP3766071A4 (en) | 2021-09-29 |
TWI755339B (zh) | 2022-02-11 |
US10446246B2 (en) | 2019-10-15 |
TW201939362A (zh) | 2019-10-01 |
KR20200121347A (ko) | 2020-10-23 |
KR20220114095A (ko) | 2022-08-17 |
US20190341118A1 (en) | 2019-11-07 |
US20200035310A1 (en) | 2020-01-30 |
TW202044127A (zh) | 2020-12-01 |
CN111837189A (zh) | 2020-10-27 |
EP3766071B1 (en) | 2022-11-23 |
US10607710B2 (en) | 2020-03-31 |
US10861568B2 (en) | 2020-12-08 |
TWI733451B (zh) | 2021-07-11 |
TWI696128B (zh) | 2020-06-11 |
TW202137074A (zh) | 2021-10-01 |
WO2019177687A1 (en) | 2019-09-19 |
KR102430151B1 (ko) | 2022-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7153737B2 (ja) | 深層学習ニューラルネットワークにおけるアナログ不揮発性メモリのデータリフレッシュのための方法及び装置 | |
JP7244525B2 (ja) | 深層学習人工ニューラルネットワークにおけるアナログ不揮発性メモリ用のプログラム可能なニューロン | |
JP7399153B2 (ja) | 複数のベクトルマトリックス乗算アレイ及び共有構成要素を備える、深層学習ニューラルネットワーク用のアナログニューラルメモリシステム | |
JP7288461B2 (ja) | 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリの高電圧生成のための方法及び装置 | |
JP7250776B2 (ja) | フラッシュメモリを備えた構成可能な畳み込みニューラルネットワークを実装するためのシステム及び方法 | |
JP7253563B2 (ja) | 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリ用のデコーダ | |
JP7217753B2 (ja) | 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリをプログラミングするための方法及び装置 | |
KR102457394B1 (ko) | 딥 러닝 신경 네트워크에서 사용되는 아날로그 신경 메모리 시스템 내의 메모리 셀들에 대한 온도 및 누설 보상 | |
JP2023052302A (ja) | 人工ニューラルネットワーク内のアナログニューロモーフィックメモリのための高精度かつ高効率な調整機構及びアルゴリズム | |
CN113366503B (zh) | 使用二栅极非易失性存储器单元阵列的神经网络分类器 | |
JP7266665B2 (ja) | ディープラーニング人工ニューラルネットワークにおけるアナログニューロメモリ内の基準トランジスタ及びメモリセルに対する補償 | |
KR102407363B1 (ko) | 사용 빈도에 기초하여 프로그램 상태 간극을 가변시키기 위한 메모리 디바이스 및 방법 | |
JP7394827B2 (ja) | ディープラーニングの人工ニューラルネットワーク内のアナログニューラルメモリ内に不良メモリセルを含む行又は列に関する冗長メモリアクセス | |
CN115516565A (zh) | 人工神经网络中的具有源极线拉低机构的模拟神经存储器阵列 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211028 |
|
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: 20220913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221003 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7153737 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |