JP7480391B2 - インメモリコンピューティングのための記憶装置 - Google Patents
インメモリコンピューティングのための記憶装置 Download PDFInfo
- Publication number
- JP7480391B2 JP7480391B2 JP2023071918A JP2023071918A JP7480391B2 JP 7480391 B2 JP7480391 B2 JP 7480391B2 JP 2023071918 A JP2023071918 A JP 2023071918A JP 2023071918 A JP2023071918 A JP 2023071918A JP 7480391 B2 JP7480391 B2 JP 7480391B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bit line
- coupled
- global bit
- memory 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
- 238000004364 calculation method Methods 0.000 claims description 13
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 claims description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 claims 1
- 229920005591 polysilicon Polymers 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 239000007787 solid Substances 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 101100236208 Homo sapiens LTB4R gene Proteins 0.000 description 10
- 102100033374 Leukotriene B4 receptor 1 Human genes 0.000 description 10
- 101100437750 Schizosaccharomyces pombe (strain 972 / ATCC 24843) blt1 gene Proteins 0.000 description 8
- 101000682328 Bacillus subtilis (strain 168) 50S ribosomal protein L18 Proteins 0.000 description 7
- 238000003491 array Methods 0.000 description 7
- 101000671638 Homo sapiens Vesicle transport protein USE1 Proteins 0.000 description 5
- 102100040106 Vesicle transport protein USE1 Human genes 0.000 description 5
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 description 4
- 101100203174 Zea mays SGS3 gene Proteins 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- -1 Vread = 7V Chemical compound 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0466—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/49—Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM
-
- 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
- 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/5671—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 trapping in an insulator
-
- 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/24—Bit-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/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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/18—Bit line organisation; Bit line lay-out
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Nonlinear Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Description
本発明は、記憶装置に関し、特に、インメモリコンピューティングのための記憶装置に関する。
ベクトル行列乗算(VMM)は、ディープニューラルネットワーク(DNN)、余弦類似度、およびシミュレーテッドアニーリングにおける「メモリ中心コンピューティング」に適したアプローチである。VMMアクセラレータは高密度、高帯域幅がフォン・ノイマン(Von-Neumann)ディジタルアプローチを補完するのに適している。
ベクトル行列乗算のためのインメモリコンピューティングの使用にはいくつかの問題がある。第一に、VMMはしばしば正(+)と負(-)の入力と重みの両方を含む。したがって、正および負の極性に対してアナログ回路をどのように実装するかは、困難なトピックである。さらに、入力と重みは多くの場合、マルチビット解像度(ソフトウェアでは32b-FP であるが、エッジDNN では4 ビットに減らすことができ、類似検索ではさらに少なくなる(2 ~3 ビットなど)である。
従って、VMMアクセラレータの開発は本分野における主要な課題である。
本発明は、3D AND型NORフラッシュメモリを用いて構成されたVMMアクセラレータを提供する。
本発明の一実施形態によれば、メモリアレイと、複数の入力ワード線対と、信号処理回路とを含む、インメモリコンピューティングのための記憶装置が提供される。メモリアレイは、複数の第1の一対のメモリセルと、複数の第2の一対のメモリセルとを含む。複数の第1の一対のメモリセルの各々は、第1のグローバルビット線に結合された第1のメモリセルセットと、第2のグローバルビット線に結合された第2のメモリセルセットとを含み、複数の第2の一対のメモリセルの各々は、第1のグローバルビット線に結合された第3のメモリセルセットと、第2のグローバルビット線に結合された第4のメモリセルセットとを含む。複数の入力ワード線対の各々は、第1の入力ワード線及び第2の入力ワード線を含む。第1の入力ワード線は第1のメモリセルセットおよび第2のセットメモリセルに結合され、第2の入力ワード線は第3のメモリセルセットおよび第4のセットのメモリセルに結合される。信号処理回路は、第1のグローバルビット線と第2のグローバルビット線とに結合される。
上記に基づいて、本発明の一実施形態によれば、インメモリコンピューティングのための記憶装置の動作アーキテクチャは、3D AND型NORフラッシュメモリを使用して構築される。このように、本発明の実施形態では、メモリ内のデータは、別のALUによって計算される外部には読み取られなくてもよいので、システムデータを保存することができ、データ更新は、データを外部記憶装置に読み出すために必ずしも必要ではない。さらに、本発明のアーキテクチャは、高容量、高速、および高効率のインメモリコンピューティングを達成することができる。従って、画像処理、顔認識、深いニューラルネットワーク等のようなビッグデータ又はAI用途において一般的に使用されているVMMコンピューティング、IMSコンピューティング等は、本発明のアーキテクチャを介して実施することが可能である。
添付図面は、本発明のさらなる理解を提供するために含まれ、本明細書の一部に組み込まれ、本明細書の一部を構成する。図面は、本発明の例示的な実施形態を図示し、説明とともに、本発明の原理を説明する役割を果たす。
本発明は、インメモリコンピューティングのためのアーキテクチャに関する。このアーキテクチャにより、メモリに記憶されたデータを読み出して、コンピューティング用の外部算術論理ユニット(ALU)に送信する必要がなくなる。読出し電流(Icell)は、記憶部に記憶された重みとワード線により入力された電圧値を感知することにより直接求めることができる。読み出し電流を累積した後、直接、ベクトル行列乗算(VMM)、余弦類似度、またはインメモリ検索(IMS)を行うことができる。3D AND型NORフラッシュメモリ装置は、このようなインメモリコンピューティング(CIM)に適したアーキテクチャである。
図1は、本発明の一実施形態による3D AND型NORフラッシュメモリ装置の構造を示す模式図である。3D AND型NORフラッシュメモリ装置は、図1に示す複数の積層構造10を含むことができる。例えば、積層構造10は、垂直方向(Z方向)に延在して複数のゲート層20を形成し、このゲート層は、ワード線(図示せず)として機能する導電層にさらに結合されてもよい。ONO層22は、ゲート層20とチャネル柱18との間に形成されている。積層構造10は、垂直方向Zに沿って延在する中空チャネル柱18を含む。垂直方向Zに沿って延在する2つの導電柱12および14が、中空チャネル柱18内に形成され、中空チャネル柱18は、メモリセルのソースおよびドレインとして機能し得る。2つの導電柱12及び14は、2つの導電柱12及び14を隔離するために垂直方向Zに沿って延在する隔離構造16を有している。
積層構造10は、例えば、32層構造であってもよく、これは、大量のCIMに使用するために、小さな粒径で容易に数十億個のメモリセルを生成することができる。他の実施形態において、積層構造10は、64層構造以上であってもよい。
図2は、本発明の一実施形態による3D NOR型フラッシュメモリ装置の等価回路を示す模式図である。図2に示すように、3D NORフラッシュメモリ装置100は、スタック110、スタック111などのスタック構造として構成される。各積層体は、複数のメモリセルCが積層されて形成されている。例えば、積層体100は、複数のローカルビット線LBL1~LBL16と、複数のローカルソース線LSL1~LSL16とを含んでいる。ローカルビット線LBL1からLBL16のそれぞれは、垂直に延在し、各メモリセルの第1の端部(ソース/ドレイン端)に接続されており、各スタックの各ローカルビット線(例えば、110、111)は、図2に示すように、ビット線BL1、BL8、BL9、BL16などのビット線BL1からBL16の対応する1つに結合される。また、各ローカルソース線LSL1~LSL16は、それぞれ垂直に延びており、各メモリセルの第二端部(他のソース/ドレイン端部)に接続されており、各スタックのローカルソース線LSL1~LSL16(例えば、110、111)のそれぞれは、図2に示すように、ソース線SL1、SL8、SL9、SL16などのソース線SL1~SL16のうちの対応する1つに結合されている。
さらに、ビット線の1つのセットBL1、BL8等が、それぞれ、ビット線トランジスタBLT1、BLT8などを介して第1のグローバルビット線GBL(N)にさらに結合される。すなわち、図2を例にとると、2つの第1のドレイン側導電ストリング(BL1、BL8)は、メモリセルおよび第1のグローバルビット線GBL (N)に結合されている。ビット線の他のセットBL9、BL16などは、それぞれ、ビット線トランジスタBLT9、BLT16などを介して第2のグローバルビット線GBLB(N)にさらに結合される。すなわち、2つの第2のドレイン側導電ストリング(BL9、BL16)は、メモリセルおよび第2のグローバルビット線GBLB(N)に結合される。さらに、ソースビット線SL1、SL8、SL9、SL16などは、それぞれ、ソース線トランジスタSLT1、SLT8、SLT9、SLT16などを介して、共通ソース線CSLにさらに結合される。
また、各スタックの同一層内のメモリセルCの制御端(ゲート)は、同一のワード線WLに結合されている。例として、128セクタの4Kワード線WLがある。さらに、第1のグローバルビット線GBL(N)及び第2のグローバルビット線GBLB(N)は、感知増幅器比較器150に結合される。通常読み出しモードにおいては、感知増幅器比較器150は、選択されたメモリセルCを流れる読み出し電流Icellを感知する。
通常読み出しモードでは、図2において丸で囲まれたメモリセルCが読み出し対象であると仮定すると、Vread = 7Vのように、メモリセルCに対応するワード線WLには読み出し電圧Vread (選択ワード線)が印加され、他の未選択メモリセルCに対応するワード線には、0のような未選択電圧が印加される。また、ビット線トランジスタBLT1がオン状態となり、他のビット線トランジスタBLT8、BLT9、BLT16等がオフ状態となる。同時に、ソース線トランジスタSLT1がオン状態となり、その結果、ソース線SL1は共通ソース線CSLに結合(例えば0V印加)し、他のソース線トランジスタSLT8、SLT9、SLT16はオフ状態となる。第1のグローバルビット線GBL(N)及び第2のグローバルビット線GBLB(N)は、例えば1.2Vで印加される。したがって、選択されたメモリセルの読み出し電流Icellは、感知増幅器比較器150に送信される。したがって、選択されたメモリセルCの読み出し電流Icellは、第1のグローバルビット線GBL(N)を通して感知することができ、このとき、第1のグローバルビット線GBL(N)は、読み出し経路として働く。さらに、第2のグローバルビット線GBLB(N)は容量性マッチング経路として働く。
図3Aは、本発明の一実施形態による3D NOR型フラッシュメモリ装置が行うベクトル行列乗算演算を示す説明図である。上記3D NORフラッシュメモリ装置を適用して、ベクトル行列乗算(VMM)、または、いわゆるインメモリコンピューティング(CIM)を実行する方法を以下に説明する。本実施形態は、単一レベル重みCIMの例を説明する。
VMMに適用されると、図2の記憶装置100は記憶装置200として再構成される。同じ又は同様の参照番号が引き続き使用されることになり、相違点のみが示される。図3Aに示されるように、メモリアレイ(例えば、図2に示される積層110及び111で構成される)は、複数の第1の一対のメモリセル、及び複数の第2の一対のメモリセルを含む。ここでは、簡単のために、1つの第1の一対のメモリセルおよび1つの第2の一対のメモリセルのみが図示されている。第1の一対のメモリセルは、第1のグローバルビット線GBL(N)に結合された第1のメモリセルセット(または第1のメモリセルを参照)215と、第2のグローバルビット線GBLB(N)に結合された第2のメモリセルセット(または第2のメモリセルを参照)216とを含み、第2の一対のメモリセルは、第1のグローバルビット線GBL(N)に結合された第3のメモリセルセット(または第3のメモリセルを参照)217と、第2のグローバルビット線GBLB(N)に結合された第4のメモリセルセット(または第4のメモリセルを参照)218と、を含む。本実施形態では、第1~第4のメモリセルセット215~218はそれぞれ、1つのメモリセルを含む。
記憶装置200は、さらに、複数の入力ワード線対220を含み、そのうちの1つはここでは一例として図示されている。入力ワード線対220の各々は、第1の入力ワード線input_1と第2の入力ワード線input_1Bとを含む。第1の入力ワード線input_1は第1のメモリセルセット215および第2のメモリセルセット216に結合され、第2の入力ワード線input_1Bは第3のメモリセルセット217および第4のメモリセルセット218に結合される。記憶装置200はさらに、第1のグローバルビット線GBL(N)および第2のグローバルビット線GBLB(N)に結合された信号処理回路250を含む。本実施形態では、信号処理回路250は差動アナログ-デジタル変換器(ADC)250によって実現される。入力ワード線対220は、2進又は3進入力信号を供給することができる。さらに、ここでの入力ワード線対220への入力は、単一レベル(SLC)入力である。
さらに、第1のメモリセルセット215および第3のメモリセルセット217のビット線(例えばBL1)は、ビット線トランジスタBLT1を介して、第1のグローバルビット線GBL(N)に結合され、第2のメモリセルセット216および第4のメモリセルセット218のビット線(例えばBL9)は、ビット線トランジスタBLT9を介して、第2のグローバルビット線GBLB(N)に結合され得る。第1のグローバルビット線GBL(N)及び第2のグローバルビット線GBLB(N)は出力として働き、差動アナログ-デジタル変換器250に結合される。ここで、第1のグローバルビット線GBL(N)は、0よりも大きいVMM積を表す読み出し電流を収集するために使用されてもよく、第2のグローバルビット線GBLB(N)は、0よりも小さいVMM積を表す読み出し電流を収集するために使用されてもよい。
差動アナログ-デジタル変換器250は、第1のグローバルビット線GBL(N)及び第2のグローバルビット線GBLB(N)のどの経路がより大きな電流値を有するかを検出するように構成される。実施形態の1つでは、第1のグローバルビット線GBL(N)および第2のグローバルビット線GBLB(N)の検出後に、差動アナログ-デジタル変換器250は、2つの経路において電流を互いに打ち消し合い、ADC値を得る。
図3Aのメモリアレイを用いてVMMコンピューティングが行われるとき、ソース線トランジスタSLT1及びSLT9はオンにされ、ソース線トランジスタSLT8及びSLT16はオフにされ、その結果、ソース線SL1及びSL9は共通ソース線CSLに結合される。例えば、共通ソース線CSLは、0Vの電圧で印加される。さらに、ビット線トランジスタBLT1およびBLT9がオンにされ、ビット線トランジスタBLT8およびBLT16がオフにされ、それによってソース線BL1は第1のグローバルビット線GBL(N)に結合され、ビット線BL9は第2のグローバルビット線GBLB(N)に結合される。例えば、最初のグローバルビット線GBL(N)および2番目のグローバルビット線GBLB(N)の両方が、0.2Vの電圧で印加される。
第1のメモリセルセット215、第2のメモリセルセット216、第3のメモリセルセット217、および第4のメモリセルセット218の各々に記憶されるデータは、例えば、単一レベルの重みである。
VMMコンピューティングを実行すると、コンピューティング結果は正と負とで微分される。さらに、上述のように、第1のグローバルビット線GBL(N)は、0よりも大きいVMM積を表す読み出し電流Icellを収集するために使用することができ、第2のグローバルビット線GBLB(N)は、0よりも小さいVMM積を表す読み出し電流Icellを収集するために使用することができる。したがって、正および負の入力(ワード線電圧)と正および負の重みを生成するために、回路の動作が必要となる。本実施形態では、VMMコンピューティングのために適用される物理的な負の入力および負の重みは存在しない。新しいアルゴリズムを設計する予定である。
上述したように、本発明の実施形態によれば、入力ワード線対220は、電圧(ワード線に印加される電圧)を入力する際に用いられる。第1の入力ワード線input_1は、1または0を入力することができ、第2の入力ワード線input_1Bは、1または0を入力することもできる。ここで、1または0はロジックを表す。1が入力された場合、例えば、約3Vの電圧がワード線に印加され、0が入力された場合、例えば、約0Vの電圧がワード線に印加され得る。したがって、入力ワード線対220の第1の入力ワード線input_1と第2の入力ワード線input_1Bとの入力の組合せを通じて、三進入力信号を生成することができる。例えば、第1の入力ワード線input_1は1を入力し、第2の入力ワード線input_1Bは0を入力し、それは正の入力(+1)を生成する。第1の入力ワード線input_1は0を入力し、第2の入力ワード線input_1Bは0を入力し、それはゼロの入力(0)を生成する。そして、第1の入力ワード線input_1は0を入力し、第2の入力ワード線input_1Bは1を入力し、これは負の入力(-1)を生成する。したがって、本発明は、物理的に負の入力を供給することなく、三進入力信号(+1、0、-1)を生成することができる。さらに、二進入力信号もこの方法で生成できる。
正および負の重みに関しては、本発明の実施形態によれば、例えば、第1のメモリセルセット215および第4のメモリセルセット218が、読み出し電流Icellを読み出すことが可能であり、かつ、第2のメモリセルセット216および第3のメモリセルセット217の読み出し電流Icellが0である場合、正の重み(+1)を、この状況において生成することが可能である。第2のメモリセルセット216及び第3のメモリセルセット217が読取り電流Icellを読取ることができ、かつ、第1のメモリセルセット215及び第4のメモリセルセット218の読取り電流Icellが0であるとき、この状況において負の重み(-1)を生成することができる。さらに、第1のメモリセルセット215から第4のメモリセルセット218までの読み出し電流Icellがすべて0である場合、ゼロの重みが生成される。
図3Aの記憶装置を動作させるとき、正の電圧が入力される場合、入力電圧は第1の入力ワード線input_1に印加され、第1のメモリセルセット215が正の重みを有する場合、それらの乗算は正の読み出し電流Icellを表す。このとき、読み出し電流Icellは、正の積を表す第1のグローバルビット線GBL(N)を介して差動アナログ-デジタル変換器250に流れる。同様に、入力電圧が第1の入力ワード線input_1に印加されるとき、第2のメモリセルセット216は負の重みを有し、それらの乗算は負の読み出し電流Icellを表す。このとき、読み出し電流Icellは、負の積を表す第2のグローバルビット線GBLB(N)を介して差動アナログ-デジタル変換器250に流れる。同様に、入力電圧が第2の入力ワード線input_1Bに印加されると(入力が負であることを表す)、第3のメモリセルセット217は負の重みを有し、それらの乗算は正の読み出し電流Icellを表す。このとき、読み出し電流Icellは、正の積を表す第1のグローバルビット線GBL(N)を介して差動アナログ-デジタル変換器250に流れる。同様に、入力電圧が第2の入力ワード線input_1Bに印加されると(入力が負であることを表す)、第4のメモリセルセット218は正の重みを有し、それらの乗算は負の読み出し電流Icellを表す。このとき、読み出し電流Icellは、負の積を表す第2のグローバルビット線GBLB(N)を介して差動アナログ-デジタル変換器250に流れる。
図3Bは、本発明の一実施形態による3D AND型NOR型フラッシュメモリ装置により実行されるベクトル行列乗算演算を示す別の説明図である。上記3D AND型NORフラッシュメモリ装置を適用して、ベクトル行列乗算(VMM)、または、いわゆるインメモリコンピューティング(CIM)を行う方法を以下に説明する。本実施形態は、多重レベル重みCIMの例を説明する。
VMMに適用されると、図2の記憶装置100は記憶装置200として再構成される。同じ又は同様の参照番号が引き続き使用されることになり、相違点のみが示される。図3Bに示されるように、メモリアレイ(例えば、図2に示される積層110及び111で構成される)は、複数の第1の一対のメモリセルと複数の第2の一対のメモリセルとを含む。ここでは、簡単のために、1つの第1の一対のメモリセルおよび1つの第2の一対のメモリセルのみが図示されている。第1の一対のメモリセルは、第1のグローバルビット線GBL(N)に結合された第1のメモリセルセット211と、第2のグローバルビット線GBLB(N)に結合された第2のメモリセルセット212とを含み、第2の一対のメモリセルは、第1のグローバルビット線GBL(N)に結合された第3のメモリセルセット213と、第2のグローバルビット線GBLB(N)に結合された第4のメモリセルセットとを含む。ここでは、各メモリセルセット211、212、213、および214は2つのメモリセルを含むものとして図示されているが、その数は本発明の実施形態を限定するものではない。記憶装置200は、さらに、複数の入力ワード線対220を含み、そのうちの1つはここでは一例として図示されている。入力ワード線対220の各々は、第1の入力ワード線input_1と第2の入力ワード線input_1Bとを含む。第1の入力ワード線input_1は第1のメモリセルセット211および第2のメモリセルセット212に結合され、第2の入力ワード線input_1Bは第3のセットメモリセルセット213および第4のメモリセルセット214に結合される。記憶装置200はさらに、第1のグローバルビット線GBL(N)および第2のグローバルビット線GBLB(N)に結合された信号処理回路250を含む。本実施形態では、信号処理回路は差動アナログ-デジタル変換器(ADC)250によって実現される。入力ワード線対220は、2進又は3進入力信号を提供することができる。さらに、ここでの入力ワード線対220への入力は、単一レベル(SLC)入力である。
さらに、図1に示す3D NORフラッシュメモリ構造に従って、記憶装置200は、2つの第1のドレイン側導電ストリング、及び2つの第2のドレイン側導電ストリングを含み、これらはそれぞれ、ローカルビット線LBL1、LBL8、LBL9、及びLBL16に対応している。2つの第1のドレイン側導電ストリングはそれぞれ、第1のメモリセルセット211および第3のメモリセルセット213に結合され、第1のグローバルビット線GBL(N)に結合される。2つの第2のドレイン側導電ストリングはそれぞれ、第2のメモリセルセット212および第4のメモリセルセット214に結合され、第2のグローバルビット線GBLB(N)に結合される。さらに、記憶装置200は、2つの第1のソース側導電ストリングおよび2つの第2のソース側導電ストリングを含む。2つの第1のソース側導電ストリングは、それぞれ、第1のメモリセルセット211及び第3のメモリセルセット213に結合され、共通ソース線CSLに結合される。2つの第2のソース側導電ストリングは、それぞれ、第2のメモリセルセット212及び第4のメモリセルセット214に結合され、共通ソース線CSLに結合される。
さらに、第1のメモリセルセット211および第3のメモリセルセット213の各ビット線(例えば、BL1、BL8)は、ビット線トランジスタBLT1およびBLT8をそれぞれ介して、第1のグローバルビット線GBL(N)に結合されてもよく、第2のメモリセルセット212および第4のメモリセルセット214の各ビット線(例えば、BL9、BL16)は、ビット線トランジスタBLT9およびBLT16をそれぞれ介して、第2のグローバルビット線GBLB(N)に結合されてもよい。第1のグローバルビット線GBL(N)及び第2のグローバルビット線GBLB(N)は出力として働き、差動アナログ-デジタル変換器250に結合される。ここで、第1のグローバルビット線GBL(N)は、0よりも大きいVMM積を表す読み出し電流を収集するために使用されてもよく、第2のグローバルビット線GBLB(N)は、0よりも小さいVMM積を表す読み出し電流を収集するために使用されてもよい。
差動アナログ-デジタル変換器250は、第1のグローバルビット線GBL(N)及び第2のグローバルビット線GBLB(N)のどの経路がより大きな電流値を有するかを検出するように構成される。実施形態の1つでは、第1のグローバルビット線GBL(N)および第2のグローバルビット線GBLB(N)の検出後に、差動アナログ-デジタル変換器250は、2つの経路において電流を互いに打ち消し合い、ADC値を得る。
図3Bのメモリアレイを用いてVMMコンピューティングが行われるとき、ソース線トランジスタSLT1、SLT8、SLT9及びSLT16がオンにされ、その結果、ソース線SL1、SL8、SL9及びSL16が共通ソース線CSLに結合される。例えば、共通ソース線CSLは、0Vの電圧で印加される。さらに、ビット線トランジスタBLT1、BLT8、BLT9、BLT16をオンにすることにより、ビット線BL1、BL8は第1のグローバルビット線GBL(N)に結合され、ビット線BL9、BL16は第2のグローバルビット線GBLB(N)に結合される。例えば、第1のグローバルビット線GBL(N)および第2のグローバルビット線GBLB(N)の両方が、0.2Vの電圧で印加される。
第1のメモリセルセット211、第2のメモリセルセット212、第3のメモリセルセット213、および第4のメモリセルセット214に記憶されるデータは、例えば、4レベルの重みである。この実施例では、各メモリセルセットは2つのメモリセルを有するので、8レベルの重みを生成することができる。さらに、より多くのレベルの重みデータが必要とされる場合、各メモリセルセットは、より多くのレベルの重みを生成するために、並列に接続されたより多くのメモリセルを有してもよい。
VMMコンピューティングを実行すると、コンピューティング結果は正と負とで微分される。さらに、上述のように、第1のグローバルビット線GBL(N)は、0よりも大きいVMM積を表す読み出し電流Icellを収集するために使用することができ、第2のグローバルビット線GBLB(N)は、0よりも小さいVMM積を表す読み出し電流Icellを収集するために使用することができる。したがって、正および負の入力(ワード線電圧)と正および負の重みを生成するために、回路の動作が必要となる。本実施形態では、VMMコンピューティングのために適用される物理的な負の入力および負の重みは存在しない。新しいアルゴリズムを設計する予定である。
上述したように、本発明の実施形態によれば、入力ワード線対220は、電圧(ワード線に印加される電圧)を入力する際に用いられる。第1の入力ワード線input_1は、1または0を入力することができ、第2の入力ワード線input_1Bは、1または0を入力することもできる。ここで、1または0はロジックを表す。1が入力された場合、例えば、約3Vの電圧がワード線に印加され、0が入力された場合、例えば、約0Vの電圧がワード線に印加され得る。したがって、入力ワード線対220の第1の入力ワード線input_1と第2の入力ワード線input_1Bとの入力の組合せを通じて、三進入力信号を生成することができる。例えば、第1の入力ワード線input_1は1を入力し、第2の入力ワード線input_1Bは0を入力し、それは正の入力(+1)を生成する。第1の入力ワード線input_1は0を入力し、第2の入力ワード線input_1Bは0を入力し、それはゼロの入力(0)を生成する。そして、第1の入力ワード線input_1は0を入力し、第2の入力ワード線input_1Bは1を入力し、これは負の入力(-1)を生成する。したがって、本発明は、物理的に負の入力を供給することなく、三進入力信号(+1、0、-1)を生成することができる。さらに、バイナリ入力信号もこの方法で生成できる。
正および負の重みに関しては、本発明の実施形態によれば、例えば、第1のメモリセルセット211および第4のメモリセルセット214が、読み出し電流Icellを読み出すことが可能であり、かつ、第2のメモリセルセット212および第3のメモリセルセット213の読み出し電流Icellが0である場合、状況において正の重み(+1)を生成することが可能である。第2のメモリセルセット212及び第3のメモリセルセット213が読取り電流Icellを読取ることができ、かつ第1のメモリセルセット211及び第4のメモリセルセット214の読取り電流Icellが0であるとき、状況において負の重み(-1)を生成することができる。さらに、第1のメモリセルセット211から第4のメモリセルセット214までの読み出し電流Icellがすべて0である場合、ゼロの重みを生成することができる。
図3Bの記憶装置を動作させるとき、正の電圧が入力されると、入力電圧が第1の入力ワード線input_1に印加され、第1のメモリセルセット211が正の重みを有する場合、それらの乗算は正の読み出し電流Icellを表す。このとき、読み出し電流Icellは、正の積を表す第1のグローバルビット線GBL(N)を介して差動アナログ-デジタル変換器250に流れる。同様に、入力電圧が第1の入力ワード線input_1に印加されるとき、第2のメモリセルセット212は負の重みを有し、それらの乗算は負の読み出し電流Icellを表す。このとき、読み出し電流Icellは、負の積を表す第2のグローバルビット線GBLB(N)を介して差動アナログ-デジタル変換器250に流れる。同様に、入力電圧が第2の入力ワード線input_1Bに印加されると(入力が負であることを表す)、第3のメモリセルセットは負の重みを有し、それらの乗算は正の読み出し電流Icellを表す。このとき、読み出し電流Icellは、正の積を表す第1のグローバルビット線GBL(N)を介して差動アナログ-デジタル変換器250に流れる。同様に、入力電圧が第2の入力ワード線input_1Bに印加されると(入力が負であることを表す)、第4のメモリセルセット214は正の重みを有し、それらの乗算は負の読み出し電流Icellを表す。このとき、読み出し電流Icellは、負の積を表す第2のグローバルビット線GBLB(N)を介して差動アナログ-デジタル変換器250に流れる。
まとめると、下記表I は、Input_1 およびInput_1B の入力(正、ゼロおよび負の入力)と重み(正、ゼロおよび負の重み)に関連して、GBL(N)およびGBLB(N)の出力をリストする。
従って、全てのワード線及びビット線において、正の読み出し電流Icellが加算されて正のVMM積及び負のVMM積が生成され、比較のために差動アナログ-デジタル変換器250に伝送されて、デジタル値が生成される。
合計するために、図3Bに示されるアーキテクチャおよびアルゴリズムを介して、第1のグローバルビット線GBL(N)の読み出し電流Icellが合計された後に、その合計は、正のVMM積値VMM (正)を表すことができ、第2のグローバルビット線GBLB(N)の読み出し電流Icellが合計された後に、その合計は、負のVMM積値VMM (負)を表すことができる。上記2つの計算は以下の通りである。
ここで、gm(i、k)はメモリセルのトランスコンダクタンスであり、VWL(i)はワード線に適用される電圧であり、iはワード線の数であり、kはビット線の数であり、jはグローバルビット線の数である。したがって、ワード線に適用される電圧VWL(i)に、メモリセルのトランスコンダクタンスgm(i,k)を乗じたものが、メモリセルの読み出し電流Iセルに対応する。このトランスコンダクタンスgm(i,k)は上述の重みに対応する。したがって、pi x qi >0(VMM積は0より大きい)およびpi x qi<0(VMM積は0より小さい)は、メモリアレイのメモリセルの読み出し電流の合計から得ることができる。piおよびqiは任意の数値であり、すなわち、上述のワード線電圧VWL(i)および重みgm(i、k)を用いて計算できる値である。
図3Cは、ゲート電圧と読み出し電流Icellの分布図(左)、トリミング後のメモリセル読み出し電流と標準偏差σの分布図(中)、および正のプラニングRTNとビット数の分布図(右)を示す。図3Cの左側に示すように、インクリメンタルステップパルスプログラミング(ISPP)が行われたときのドレイン電流(Id)及びゲート電圧(Vg)の測定図である。横軸はゲート電圧Vg、すなわちワード線に印加される電圧を表し、縦軸はビット線電圧VBLが0.2Vの場合の読み出し電流Icellを表す。ここで、読み出し電流Icellは、低ビット線電圧VBL =0.2V(通常読み出し時のビット線電圧VBL=1.2V)で動作させる場合に制御できることが望ましい。上述の実施例では、入力電圧(ワード線電圧VWL)は約2V~3Vであるため、図3CにおいてVg=2V~3V間の対応する電流を見つけ出し、サブ-100nA~サブ-1μAの範囲のような異なった読み出し電流Icellの範囲をトリムすることが可能である。図3Cの中央の図によれば、読み出し電流Icellはサブ-1μAの範囲の方が良く、図3Cの右側の図によれば、サブ-1μAの範囲の方が小さいRTNがある。
図3Dは、メモリセルの読み出し電流Icellの分布を示す模式図である。上述のように、インメモリコンピューティングが良好な結果を有するためには、読み出し電流Icellの狭くかつ適切に間隔を置いた分布を生成し、より小さいRTNおよび良好な保持を有することが望ましい。したがって、入力電圧(ワードライン電圧)が約2V~3Vである場合、読み出し電流Icellの分布は、200nA、400nA、600nA、および800nAなど、図3Dに示すようにサブ-1μAの範囲の分布にトリミングされることが好ましい。入力電圧が2V~3V付近の場合、読み出し電流Icellの分布をサブ-1μAの範囲に補正することが好ましい。したがって、4レベルの重みを得ることができる。
第1の対のメモリセルの第1のメモリセルセット211(正の重みを記憶する)および第2のメモリセルセット212(負の重みを記憶する)を例にとると、各メモリセルセットは2つのメモリセルを含むので、第1の対のメモリセルは合計4つのメモリセルを含み、各メモリセルは4レベルの読み出し電流Icellを有し、これは4レベルの重みを表す。4つのビット線トランジスタBLT1、BLT8、BLT9、およびBLT16を全てオンにすると、合計16レベルの重み(例えば、負の重みに対して-8から-1、正の重みに対して0から+7)を発生させることができ、すなわち、4ビットの分解能である。
上記のアーキテクチャでは、入力信号は主にシングルレベル入力である。マルチレベル入力が生成されるべきである場合、上記の図3Bに基づく複数のアーキテクチャを使用することができる。図4は、デジタル領域で4つの入力、4つの重み(4I4W)を生成するためのアーキテクチャを示す模式図である。
図4に示されるように、記憶装置300は、4つのメモリアレイ301a、301b、301c、及び301d(4つのタイル)を含む。メモリアレイ301a、301b、301c、及び301dは、それぞれ、Xデコーダ302a、302b、302c、及び302dと、これに対応するAD変換器(アナログ-デジタル変換器)303a、303b、303c、及び303dを有している。ここで、メモリアレイ301a、301b、301c、及び301dのそれぞれ、対応すXデコーダる302a、302b、302c、及び302d、並びに対応するAD変換器(アナログ-デジタル変換器)303a、303b、303c、及び303dは、図3Bに示されたアーキテクチャを使用することができる。メモリアレイ301a、301b、301c、及び301dの各々は、4ビットの重み、すなわち、4つのビット線トランジスタBLTを備えた4レベルの読み出し電流Icellを有する。したがって、ここでのメモリセルは、複数レベルセル(MLC)であり、この実施例では4つのレベルを有する。
さらに、メモリアレイ301a、301b、301c、及び301dの各々のワード線は単一レベル(SLC)入力を受信するが、入力電圧は異なる。例えば、メモリアレイ301aの入力は a0であり、メモリアレイ301bの入力は a1であり、メモリアレイ301cの入力は a2であり、メモリアレイ301dの入力は a3である。
さらに、4つのメモリアレイ301a、301b、301c、および301dが、周期的に計算を繰り返して結果を出力し、最後に、4つのAD変換器の出力が加算される。これは、シフターと加算器を使用して実現できる。メモリアレイ301aの出力は、最下位ビット(LSB)に等しく、メモリアレイ301dの出力は、最上位ビット(MSB)に等しい。したがって、4つのメモリアレイ301a、301b、301c、および301dの出力は、それぞれ、1(=20)、2(=21)、4(=22)、8(=23)などの対応する重み係数によって乗算される。
上記のアーキテクチャにより、正と負の極性を持つ4つの入力、4つの重み(4I4W)のアーキテクチャを生成できた。要約すると、このアーキテクチャの生成は、以下を要件とする。
[1] 正と負の極性を生成するために2つのタイルで4つのメモリセルを設計すること。
[2] 4つの読み出し電流Icell (4つの重み(W0、W1、W2、W3)に対応)を生成するためのマルチレベルユニットメモリセル(本例では4レベル)。
[3] 各ビット線に接続された4個のビット線トランジスタBLT。
[4] 4 ビット入力(a0、a1、a2、およびa3)を生成するための4つのタイル。
[1] 正と負の極性を生成するために2つのタイルで4つのメモリセルを設計すること。
[2] 4つの読み出し電流Icell (4つの重み(W0、W1、W2、W3)に対応)を生成するためのマルチレベルユニットメモリセル(本例では4レベル)。
[3] 各ビット線に接続された4個のビット線トランジスタBLT。
[4] 4 ビット入力(a0、a1、a2、およびa3)を生成するための4つのタイル。
最後に、上記の記憶装置300のVMM出力は、次の式で表すことができる。
VMM = (W3W2W1W0)×1×a0+(W3W2W1W0)×2×a1+(W3W2W1W0)×4×a2+(W3W2W1W0)×8×a3
VMM = (W3W2W1W0)×1×a0+(W3W2W1W0)×2×a1+(W3W2W1W0)×4×a2+(W3W2W1W0)×8×a3
図5は、本発明の一実施形態による固体駆動モジュールを示す模式図である。図5に示す固体駆動モジュール(SSDモジュール)350は、例えば、大量のデータのためのコンピューティング、特に行列乗算コンピューティングを実行する必要があるAI推論システムに適用することができる。図5に示すように、固体の駆動モジュール350は、コントローラチップ352および一般行列乗算(GEMM)チップ354を含み、データ送信は、インターフェース356を介してコントローラチップ352と一般行列乗算チップ354との間で行うことができる。このインターフェースは、例えば、DDR4/5と同等または類似するインターフェースとすることができる。さらに、コントローラチップ352は、複数の一般行列乗算チップ354に結合することができる。他の実施形態では、一般行列乗算チップ354はスタンドアロンチップである。
上記の図3Bから構築された(すなわち、3D NORフラッシュメモリを用いた)一般行列乗算チップ354は、例えば、512入力(4ビット)及び1024出力(4ビット)を有することができる。各GEMMチップ354は、大きなニューラルネットワーク内の数十億個のパラメータを直接計算するために複数のGBメモリセルをサポートすることができる。GEMMチップ354は、DDR5(4.8Gbps、16 I/O)などのインタフェース356を介してコントローラチップ352に接続される。制御回路に加えて、コントローラチップ352は、AIデータフローを制御するためのメタデータを記憶するのに適切なサイズのSRAMのみを必要とし、ベクトル行列乗算(VMM)をサポートするために、多数のALUおよび複数コア(例えば、SOC ASICアーキテクチャは、等価計算を達成するために100コア以上を必要とする)を必要としない。このアーキテクチャの下では、すべてのVMMコンピューティングは、GEMMチップ354において実行される。前述の4I4Wアーキテクチャの下で、内部最大VMMコンピューティング帯域幅は~3.7 TOPSで、DDR5のI/Oよりはるかに大きい。また、チップ当りの消費電力は1Wより小さい。従って、GEMMチップ354は高速であり、低消費電力である。
このアーキテクチャでは、全てのベクトル行列乗算演算がGEMMチップ354内で実行されるため、コントローラチップ352はGEMMチップ354に入力を供給するだけでよい。GEMMチップ354は、ベクトル行列乗算演算を実行し、次にコントローラチップ352に出力を供給する。したがって、このアーキテクチャでは、メモリ内のデータを読み出してから、ALUを介して計算を実行する必要はない。その結果、大量のデータに対するベクトル行列乗算を効率的かつ迅速に行うことができた。
図6Aは、本発明の一実施形態による、余弦類似度を計算するために適用される3D AND型NORフラッシュメモリのアーキテクチャおよび動作を示す。図6Aに示すように、このアーキテクチャは、基本的に図3Aのアーキテクチャと同様である。以下では相違点のみを説明し、その他の詳細は図3Aと同様である。余弦類似度計算はインメモリ検索(IMS)の実行に適用できる。
記憶装置400のメモリアレイは、複数の第1の一対のメモリセルと、複数の第2の一対のメモリセルとを含んでいる。ここでは、簡単のために、1つの第1の一対のメモリセルおよび1つの第2の一対のメモリセルのみが図示されている。第1の一対のメモリセルは、第1のグローバルビット線GBL(N)に結合された第1のメモリセルセット(または第1のメモリセルを参照)411と、第2のグローバルビット線GBLB(N)に結合された第2のメモリセルセット(または第2のメモリセルを参照)412とを含み、第2の一対のメモリセルは、第1のグローバルビット線GBL(N)に結合された第3のメモリセルセット(または第3のメモリセルを参照)413と、第2のグローバルビット線GBLB(N)に結合された第4のメモリセルセット(または第4のメモリを参照)414とを含む。本実施形態では、メモリセルセット411~414の各々は、1つのメモリセルを含む。
記憶装置400はさらに、複数の入力ワード線対420を含む。複数の入力ワード線対420の各々(例えば、WL1対)は、第1の入力ワード線input_1および第2の入力ワード線input_1Bを含む。第1の入力ワード線input_1は第1のメモリセル411および第2のメモリセル412に結合され、第2の入力ワード線input_1Bは第3のメモリセル413および第4のメモリセル414に結合される。複数の入力ワード線対の各々は、三進入力信号、すなわち、上述した三進入力(+1,0,-1)を供給する。詳細については、図3Aまたは3Bの説明を参照されたい。
ここで、正の入力信号(+1)は、入力ワード線対420の第1の入力ワード線input_1をオン(WL1対を例にとる)とし、第2の入力ワード線input_1Bをオフとし、ゼロ入力信号(0)は、入力ワード線対420の第1の入力ワード線input_1をオフ(WL1対を例にとる)とし、第2の入力ワード線input_1Bをオフとし、負の入力信号(-1)は、入力ワード線対420の第1の入力ワード線input_1をオフ(WL1対を例にとる)とし、第2の入力ワード線input_1Bをオンとする。同様に、ここでの入力ワード線対420への入力は単一レベル(SLC)入力である。
記憶装置400はさらに、第1のグローバルビット線GBL(N)と第2のグローバルビット線GBLB(N)に接続された信号処理回路450を含む。本実施形態では、信号処理回路450は差動感知増幅器によって実現される。このアーキテクチャを余弦類似度計算に使用すると、主に入力信号とメモリに記憶されたデータとを比較する。実施形態の1つにおいて、図3A又は図3Bに示す差動アナログ-デジタル変換器350は不要である。
加えて、図3Aまたは3BのVMMコンピューティングと同じように、メモリアレイは、IMSコンピューティングに使用される重み情報を記憶する。正のIMSの重みは第1のメモリセル411及び第4のメモリセル414に記憶され、負のIMSの重みは第2のメモリセル412及び第3のメモリセル413に記憶される。
更に、記憶装置400は、メモリアレイに結合された制御回路460と、余弦類似度計算を実行するためにメモリアレイを制御するための複数の入力ワード線対とを更に含み得る。例えば、制御回路460は、入力信号を対応する入力ワード線対に入力するためのデコーダを含むことができる。記憶装置400は、比較器452および基準電流発生器454をさらに含んでもよい。比較器452は、差動感知増幅器450と基準電流発生器454とに結合される。基準電流発生器454は基準信号Irefを生成し、比較器452は差動感知増幅器450の出力を基準信号Irefと比較する。実施形態において、基準信号Irefは、余弦類似度計算閾値に対応して調整可能である。
加えて、図3Aまたは図3Bで説明した動作と同じ、第1のグローバルビット線GBL(N)は、正の読み出し電流Icellを収集し、第2のグローバルビット線GBLB(N)は、負の読み出し電流Icellを収集する。正の読み出し電流Icellの合計および負の読み出し電流Icellの合計は、差動感知増幅器450に送られ、正の読み出し電流Icellの合計と負の読み出し電流Icellの合計の差が出力される。
余弦類似度計算は次のように表される。
余弦類似度計算もベクトル行列乗算の応用である。ここで、piは、ワード線対420から入力された入力ベクトル(クエリ)、すなわち、入力信号(例えば、+1、0、-1の三進信号)である。qiは、メモリに記憶されたデータ、すなわち重みの情報である。
余弦類似度計算では、メモリセルは、図6Bに示されるような単一レベルの読み出し電流分布、好ましくは、200nAの読み出し電流Icellによる分布を使用する。この分布では、標準偏差σは4%である。
さらに、このアーキテクチャの下では、512のワード線WLおよび1024の出力、すなわち1024の差動感知増幅器に対応することができる。さらに、スレッドは約100nsであり、類似性検索の帯域幅は512×1024/100ns、すなわち5TB/sである。これにより、大容量で高速な演算処理を実現することができる。
したがって、比較器452が感知増幅器450の出力を基準信号Irefと比較した後、入力信号がメモリに記憶されたデータと一致するか(合格)、または一致しないか(不合格)を検出することができる。したがって、インメモリコンピューティングを余弦類似度コンピューティングに適用すると、顔認識のために使用することができる。このアーキテクチャの下では、探索のために記憶装置内のデータを読み出す必要はなく、入力信号(例えば、確認する顔データ)を記憶装置内に入力するだけでIMSコンピューティングを行うことができる。その後、記憶装置は外部システムに検索を供給する。さらに、上述のような本発明による記憶装置は、十分に大きな容量および十分に速い実行速度を有し、システムリソースを占有することなく、検索を迅速に出力することができる。
本発明の一実施形態によれば、インメモリコンピューティングのための記憶装置の動作アーキテクチャは、3D AND型NORフラッシュメモリを使用して構築される。このように、本発明の実施形態では、メモリ内のデータは、別のALUによって計算される外部には読み取られなくてもよいので、システムデータを保存することができ、データ更新は、データを外部記憶装置に読み出すために必ずしも必要ではない。
さらに、本発明のアーキテクチャは、高容量、高速、および高効率のインメモリコンピューティングを達成することができる。従って、画像処理、顔認識、深いニューラルネットワーク等のようなビッグデータ又はAI用途において一般的に使用されているVMMコンピューティング、IMSコンピューティング等は、本発明のアーキテクチャを介して実施することが可能である。
10 積層構造
12,14 導電柱
16 隔離構造
18 中空チャネル柱
20 ゲート層
100,200 記憶装置
110,111 積層
150 検知増幅器比較器
211~218 第1~第4のメモリセルセット
220 入力ワード線対
250 差動アナロ-グディジタル変換器
300 記憶装置
301a、301b、301c、301d メモリアレイ
302a、302b、302c、302d X デコーダ
303a、303b、303c、303d AD変換器
350 固体駆動モジュール
352 コントローラチップ
354 一般行列乗算(GEMM)チップ
356 インタフェース
400 記憶装置
411~414 第1~第4のメモリセル
420 入力ワード線対
450 差動感知増幅器
452 比較器
454 基準電流発生器
460 制御回路
BL1、BL8、BL9、BL16 ビット線
SL1、SL8、SL9、SL16 ソース線
LBL1、LBL8、LBL9、LBL16 ローカルビット線
LSL1、LSL8、LSL9、LSL16 ローカルソース線
CSL 共通ソース線
SLT1、SLT8、SLT9、SLT16 ソース線トランジスタ
BLT1、BLT8、BLT9、BLT16 ビット線トランジスタ
WL ワード線
input_1 第1の入力ワード線
input_1B 第2の入力ワード線
C メモリセル
GBL(N) 第1のグローバルビット線
GBLB(N) 第2のグローバルビット線
Iref 基準電流
12,14 導電柱
16 隔離構造
18 中空チャネル柱
20 ゲート層
100,200 記憶装置
110,111 積層
150 検知増幅器比較器
211~218 第1~第4のメモリセルセット
220 入力ワード線対
250 差動アナロ-グディジタル変換器
300 記憶装置
301a、301b、301c、301d メモリアレイ
302a、302b、302c、302d X デコーダ
303a、303b、303c、303d AD変換器
350 固体駆動モジュール
352 コントローラチップ
354 一般行列乗算(GEMM)チップ
356 インタフェース
400 記憶装置
411~414 第1~第4のメモリセル
420 入力ワード線対
450 差動感知増幅器
452 比較器
454 基準電流発生器
460 制御回路
BL1、BL8、BL9、BL16 ビット線
SL1、SL8、SL9、SL16 ソース線
LBL1、LBL8、LBL9、LBL16 ローカルビット線
LSL1、LSL8、LSL9、LSL16 ローカルソース線
CSL 共通ソース線
SLT1、SLT8、SLT9、SLT16 ソース線トランジスタ
BLT1、BLT8、BLT9、BLT16 ビット線トランジスタ
WL ワード線
input_1 第1の入力ワード線
input_1B 第2の入力ワード線
C メモリセル
GBL(N) 第1のグローバルビット線
GBLB(N) 第2のグローバルビット線
Iref 基準電流
Claims (20)
- インメモリコンピューティングのための記憶装置であって、該記憶装置は、
複数の第1の一対のメモリセルと複数の第2の一対のメモリセルを備えるメモリアレイであって、前記複数の第1の一対のメモリセルの各々は第1のグローバルビット線に結合された第1のメモリセルセットと第2のグローバルビット線に結合された第2のメモリセルセットとを備え、複数の第2の一対のメモリセルの各々は前記第1のグローバルビット線に結合された第3のメモリセルセットと前記第2のグローバルビット線に結合された第4のメモリセルセットとを備える、メモリアレイと、
複数の入力ワード線対の各々は、第1の入力ワード線及び第2の入力ワード線を備え、前記第1の入力ワード線は、前記第1のメモリセルセット及び前記第2のメモリセルセットに結合され、前記第2の入力ワード線は、前記第3のメモリセルセット及び前記第4のメモリセルセットに結合されている、複数の入力ワード線対と、
前記第1のグローバルビット線及び前記第2のグローバルビット線に結合された信号処理回路と、を備える、記憶装置。 - 前記複数の入力ワード線対は、2進又は3進入力信号を供給する、請求項1に記載の記憶装置。
- 前記メモリアレイはインメモリコンピューティングのための重み情報を記憶し、第1のVMM重みが第1のメモリセルセットと第4のメモリセルセットに記憶され、第2のVMM重みが第2のメモリセルセットと第3のメモリセルセットに記憶される、請求項2に記載の記憶装置。
- 前記信号処理回路は差動アナログ-デジタル変換器であり、前記第1から前記第4のメモリセルセットはそれぞれ1つのメモリセルを備える、請求項1に記載の記憶装置。
- 前記信号処理回路は差動アナログ-デジタル変換器であり、前記第1から前記第4のメモリセルセットはそれぞれ2つのメモリセルを備え、前記記憶装置は、さらに、
前記第1のメモリセルセット、前記第3のメモリセルセット、及び前記第1のグローバルビット線に結合された2つの第1のドレイン側導電ストリングと、
前記第4のメモリセルセット、前記第2のメモリセルセット、及び前記第2のグローバルビット線に結合された2つの第2のドレイン側導電ストリングと、を備える、請求項1に記載の記憶装置。 - 前記2つの第1のドレイン側導電ストリングと前記第1のグローバルビット線との間に結合され、かつ、前記2つの第2のドレイン側導電ストリングと前記第2のグローバルビット線との間に結合される、複数のビット線トランジスタを、さらに備える、請求項5に記載の記憶装置。
- 前記第1のメモリセルセット及び前記第3のメモリセルセットにそれぞれ結合され、かつ、共通ソース線に結合された2つの第1のソース側導電ストリングと、
前記第2のメモリセルセット及び前記第4のメモリセルセットにそれぞれ結合され、かつ、前記共通ソース線に結合された2つの第2のソース側導電ストリングと、を、さらに備える、請求項5に記載の記憶装置。 - 前記メモリアレイに記憶される前記重み情報は、4レベルの重みを含む、請求項3に記載の記憶装置。
- 前記第1のグローバルビット線及び前記第2のグローバルビット線は、前記メモリアレイからのメモリセル電流を加算するように構成され、前記メモリアレイの1つのメモリセルに対する前記メモリセル電流は100nAよりも大きく、1μAよりも小さい、請求項1に記載の記憶装置。
- 前記メモリアレイからのメモリセル電流を加算するために、前記第1グローバルビット線及び前記第2グローバルビット線に感知電圧が印加され、前記感知電圧は0.2Vよりも小さい、請求項1に記載の記憶装置。
- 前記複数の入力ワード線対の各々は、1ビットの入力信号を供給する、請求項1に記載の記憶装置。
- 前記メモリアレイが3D NORフラッシュメモリである、請求項1に記載の記憶装置。
- 2つの第1ドレイン側導電ストリング及び2つの第2ドレイン側導電ストリングはドープされたポリシリコンプラグである、請求項1に記載の記憶装置。
- 前記第1から前記第4のメモリセルセットはそれぞれ1つのメモリセルを備え、前記記憶装置はインメモリ検索を行うように構成され、
前記信号処理回路は差動感知増幅器であり、前記差動感知増幅器は前記第1のグローバルビット線及び前記第2のグローバルビット線に結合されている、請求項1に記載の記憶装置。 - 前記複数の入力ワード線対の各々は、2進又は3進入力信号を提供する、請求項14に記載の記憶装置。
- 前記メモリアレイはインメモリ検索のための重み情報を記憶し、第1のIMS重みが第1のメモリセル及び第4のメモリセルに記憶され、第2のIMS重みが第2のメモリセル及び第3のメモリセルに記憶される、請求項14に記載の記憶装置。
- 前記メモリアレイ及び前記複数の入力ワード線対に結合され、前記メモリアレイを制御して、余弦類似度計算を実行して、前記インメモリ検索を実行させる制御回路と、
前記差動感知増幅器及び基準信号発生器に結合された比較器と、を、さらに備え、前記基準信号発生器は基準信号を生成し、比較器は、差動感知増幅器の出力を前記基準信号と比較する、請求項14に記載の記憶装置。 - 前記基準信号が、余弦類似度計算閾値に対応して調整可能である、請求項17に記載の記憶装置。
- コントローラチップと、
請求項1に記載のインメモリコンピューティングのための記憶装置であり、前記コントローラチップに結合される、メモリチップと、
前記コントローラチップと前記メモリチップに結合されるインタフェースと、を備える、固体駆動モジュール。 - 前記インタフェースがDDR4又はDDR5である、請求項19に記載の固体の駆動モジュール。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263388647P | 2022-07-13 | 2022-07-13 | |
US63/388,647 | 2022-07-13 | ||
US18/161,900 US20240028211A1 (en) | 2022-07-13 | 2023-01-31 | Memory device for computing in-memory |
US18/161,900 | 2023-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2024012076A JP2024012076A (ja) | 2024-01-25 |
JP7480391B2 true JP7480391B2 (ja) | 2024-05-09 |
Family
ID=89577714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023071918A Active JP7480391B2 (ja) | 2022-07-13 | 2023-04-26 | インメモリコンピューティングのための記憶装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240028211A1 (ja) |
JP (1) | JP7480391B2 (ja) |
KR (1) | KR20240009334A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021178003A1 (en) | 2020-03-05 | 2021-09-10 | Silicon Storage Technology, Inc. | Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network |
-
2023
- 2023-01-31 US US18/161,900 patent/US20240028211A1/en active Pending
- 2023-03-31 KR KR1020230042903A patent/KR20240009334A/ko unknown
- 2023-04-26 JP JP2023071918A patent/JP7480391B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021178003A1 (en) | 2020-03-05 | 2021-09-10 | Silicon Storage Technology, Inc. | Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network |
JP2023515679A (ja) | 2020-03-05 | 2023-04-13 | シリコン ストーリッジ テクノロージー インコーポレイテッド | 人工ニューラルネットワーク内の差分セル対にシナプシス重みを記憶するアナログニューラルメモリアレイ |
Also Published As
Publication number | Publication date |
---|---|
US20240028211A1 (en) | 2024-01-25 |
JP2024012076A (ja) | 2024-01-25 |
KR20240009334A (ko) | 2024-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663457B2 (en) | Neural network circuits having non-volatile synapse arrays | |
US10552510B2 (en) | Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays | |
US20200311512A1 (en) | Realization of binary neural networks in nand memory arrays | |
US11657259B2 (en) | Kernel transformation techniques to reduce power consumption of binary input, binary weight in-memory convolutional neural network inference engine | |
US11568200B2 (en) | Accelerating sparse matrix multiplication in storage class memory-based convolutional neural network inference | |
TWI751403B (zh) | 具有非揮發性突觸陣列的神經網路電路及神經晶片 | |
TWI699711B (zh) | 記憶體裝置及其製造方法 | |
CN111581141B (zh) | 存储器装置及其操作方法 | |
US11443174B2 (en) | Machine learning accelerator | |
US20220398439A1 (en) | Compute in memory three-dimensional non-volatile nand memory for neural networks with weight and input level expansions | |
JP7480391B2 (ja) | インメモリコンピューティングのための記憶装置 | |
CN117409830A (zh) | 存储器内计算的存储器装置以及固态驱动模块 | |
TW202403757A (zh) | 記憶體內計算用的記憶體裝置 | |
US11875850B2 (en) | Content addressable memory device, content addressable memory cell and method for data searching with a range or single-bit data | |
US20230238037A1 (en) | Content addressable memory device and method for data searching and comparing thereof | |
US20230317124A1 (en) | Memory system and operating method of memory system | |
CN117275556A (zh) | 多比特内容寻址存储器单元、存储阵列及操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230426 |
|
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: 20240416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240424 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7480391 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |