CN112106140A - 用于深度学习人工神经网络中的模拟神经存储器的高电压生成的方法和设备 - Google Patents
用于深度学习人工神经网络中的模拟神经存储器的高电压生成的方法和设备 Download PDFInfo
- Publication number
- CN112106140A CN112106140A CN201980029361.XA CN201980029361A CN112106140A CN 112106140 A CN112106140 A CN 112106140A CN 201980029361 A CN201980029361 A CN 201980029361A CN 112106140 A CN112106140 A CN 112106140A
- Authority
- CN
- China
- Prior art keywords
- cells
- programming
- determining
- high voltage
- array
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 165
- 238000000034 method Methods 0.000 title claims description 59
- 238000013528 artificial neural network Methods 0.000 title abstract description 26
- 238000013135 deep learning Methods 0.000 title abstract description 7
- 230000001537 neural effect Effects 0.000 title abstract description 6
- 210000004027 cell Anatomy 0.000 claims description 224
- 239000011159 matrix material Substances 0.000 claims description 37
- 210000002569 neuron Anatomy 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 26
- 230000000946 synaptic effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000007667 floating Methods 0.000 description 33
- 210000000225 synapse Anatomy 0.000 description 25
- 238000003491 array Methods 0.000 description 12
- 239000000463 material Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000000758 substrate Substances 0.000 description 6
- 239000003990 capacitor Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005689 Fowler Nordheim tunneling Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002493 microarray Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
- G06N3/065—Analogue 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/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/10—Programming or data input 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/30—Power supply circuits
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L29/00—Semiconductor devices specially adapted for rectifying, amplifying, oscillating or switching and having potential barriers; Capacitors or resistors having potential barriers, e.g. a PN-junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof ; Multistep manufacturing processes therefor
- H01L29/40—Electrodes ; Multistep manufacturing processes therefor
- H01L29/41—Electrodes ; Multistep manufacturing processes therefor characterised by their shape, relative sizes or dispositions
- H01L29/423—Electrodes ; Multistep manufacturing processes therefor characterised by their shape, relative sizes or dispositions not carrying the current to be rectified, amplified or switched
- H01L29/42312—Gate electrodes for field effect devices
- H01L29/42316—Gate electrodes for field effect devices for field-effect transistors
- H01L29/4232—Gate electrodes for field effect devices for field-effect transistors with insulated gate
- H01L29/42324—Gate electrodes for transistors with a floating gate
- H01L29/42328—Gate electrodes for transistors with a floating gate with at least one additional gate other than the floating gate and the control gate, e.g. program gate, erase gate or select gate
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L29/00—Semiconductor devices specially adapted for rectifying, amplifying, oscillating or switching and having potential barriers; Capacitors or resistors having potential barriers, e.g. a PN-junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof ; Multistep manufacturing processes therefor
- H01L29/66—Types of semiconductor device ; Multistep manufacturing processes therefor
- H01L29/68—Types of semiconductor device ; Multistep manufacturing processes therefor controllable by only the electric current supplied, or only the electric potential applied, to an electrode which does not carry the current to be rectified, amplified or switched
- H01L29/76—Unipolar devices, e.g. field effect transistors
- H01L29/772—Field effect transistors
- H01L29/78—Field effect transistors with field effect produced by an insulated gate
- H01L29/788—Field effect transistors with field effect produced by an insulated gate with floating gate
- H01L29/7881—Programmable transistors with only two possible levels of programmation
- H01L29/7883—Programmable transistors with only two possible levels of programmation charging by tunnelling of carriers, e.g. Fowler-Nordheim tunnelling
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L29/00—Semiconductor devices specially adapted for rectifying, amplifying, oscillating or switching and having potential barriers; Capacitors or resistors having potential barriers, e.g. a PN-junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof ; Multistep manufacturing processes therefor
- H01L29/66—Types of semiconductor device ; Multistep manufacturing processes therefor
- H01L29/68—Types of semiconductor device ; Multistep manufacturing processes therefor controllable by only the electric current supplied, or only the electric potential applied, to an electrode which does not carry the current to be rectified, amplified or switched
- H01L29/76—Unipolar devices, e.g. field effect transistors
- H01L29/772—Field effect transistors
- H01L29/78—Field effect transistors with field effect produced by an insulated gate
- H01L29/788—Field effect transistors with field effect produced by an insulated gate with floating gate
- H01L29/7881—Programmable transistors with only two possible levels of programmation
- H01L29/7884—Programmable transistors with only two possible levels of programmation charging by hot carrier injection
- H01L29/7885—Hot carrier injection from the channel
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/30—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Ceramic Engineering (AREA)
- Neurology (AREA)
- Read Only Memory (AREA)
- Non-Volatile Memory (AREA)
- Measurement Of Current Or Voltage (AREA)
- Semiconductor Memories (AREA)
- Analogue/Digital Conversion (AREA)
- Control Of Electrical Variables (AREA)
Abstract
本发明公开了用于生成深度学习人工神经网络中使用的模拟神经存储器中特定编程操作所必需的高电压的高电压生成算法和系统的多个实施方案。还公开了不同的校准算法和系统。任选地,可利用补偿措施,补偿措施在正被编程的单元的数量改变时补偿电压或电流的变化。
Description
优先权声明
本申请要求于2018年5月1日提交的标题为“Method and Apparatus for HighVoltage Generation for Analog Neural Memory in Deep Learning ArtificialNeural Network”的美国临时专利申请62/665359号和于2018年7月23日提交的标题为“Method and Apparatus for High Voltage Generation for Analog Neural Memory inDeep Learning Artificial Neural Network”的美国专利申请16/042972号的优先权。
技术领域
公开了用于生成深度学习人工神经网络中使用的模拟神经存储器中特定编程操作所必需的高电压的高电压生成算法和系统的多个实施方案。
背景技术
人工神经网络模拟生物神经网络(例如,动物的中枢神经系统,特别是大脑),这些人工神经网络用于估计或近似可取决于大量输入并且通常未知的功能。人工神经网络通常包括互相交换消息的互连“神经元”层。
图1示出了人工神经网络,其中圆圈表示神经元的输入或层。连接部(称为突触)用箭头表示,并且具有可以根据经验进行调整的数值权重。这使得神经网络适应于输入并且能够学习。通常,神经网络包括多个输入的层。通常存在神经元的一个或多个中间层,以及提供神经网络的输出的神经元的输出层。处于每一级别的神经元分别地或共同地根据从突触所接收的数据作出决定。
在开发用于高性能信息处理的人工神经网络方面的主要挑战中的一个挑战是缺乏足够的硬件技术。实际上,实际神经网络依赖于大量的突触,从而实现神经元之间的高连通性,即非常高的计算并行性。原则上,此类复杂性可通过数字超级计算机或专用图形处理单元集群来实现。然而,相比于生物网络,这些方法除了高成本之外,能量效率也很普通,生物网络主要由于其执行低精度的模拟计算而消耗更少的能量。CMOS模拟电路已被用于人工神经网络,但由于给定大量的神经元和突触,大多数CMOS实现的突触都过于庞大。
申请人先前在美国专利申请15/594439号中公开了一种利用一个或多个非易失性存储器阵列作为突触的人工(模拟)神经网络,该专利申请以引用方式并入本文。非易失性存储器阵列作为模拟神经形态存储器操作。神经网络装置包括被配置为接收第一多个输入并从其生成第一多个输出的第一多个突触,以及被配置为接收第一多个输出的第一多个神经元。第一多个突触包括多个存储器单元,其中存储器单元中的每个存储器单元包括:形成于半导体衬底中的间隔开的源极区和漏极区,其中沟道区在源极区和漏极区之间延伸;设置在沟道区的第一部分上方并且与所述第一部分绝缘的浮栅;以及设置在沟道区的第二部分上方并且与所述第二部分绝缘的非浮栅。多个存储器单元中的每一个被配置为存储与浮栅上的多个电子相对应的权重值。多个存储器单元被配置为将第一多个输入乘以所存储的权重值以生成第一多个输出。
必须擦除和编程在模拟神经形态存储器系统中使用的每个非易失性存储器单元,以在浮栅中保持非常特定且精确的电荷量。例如,每个浮栅必须保持N个不同值中的一个,其中N是可由每个单元指示的不同权重的数量。N的示例包括16、32和64。
VMM系统中的一个挑战是以下事实:编程操作所需的总电压和总电流的量随着正被编程的单元的数量以及正被存储在每个单元中的电荷的相对量的改变而不断改变。电压和电流的这些极度的变化可导致工作温度和能量消耗的急剧变化。
需要一种高电压生成系统,该高电压生成系统基于有待在任何给定时间处进行编程的单元的数量来补偿系统的电压和电流需求的变化。
发明内容
公开了用于生成深度学习人工神经网络中使用的模拟神经存储器中特定编程操作所必需的高电压的高电压生成算法和系统的多个实施方案。
附图说明
图1为示出人工神经网络的示意图。
图2为常规的2栅极非易失性存储器单元的横截面侧视图。
图3为常规的4栅极非易失性存储器单元的横截面侧视图。
图4为常规的3栅极非易失性存储器单元的侧面横截面侧视图。
图5为另一个常规的2栅极非易失性存储器单元的横截面侧视图。
图6为示出利用非易失性存储器阵列的示例性人工神经网络的不同级的示意图。
图7为示出矢量乘法器矩阵的框图。
图8为示出矢量乘法器矩阵的各种级的框图。
图9示出了矢量乘法器矩阵的另一实施方案。
图10示出了矢量乘法器矩阵的另一实施方案。
图11示出了对图10的矢量乘法器矩阵执行运算的工作电压。
图12示出了矢量乘法器矩阵的另一实施方案。
图13示出了对图12的矢量乘法器矩阵执行运算的工作电压。
图14示出了矢量乘法器矩阵的另一实施方案。
图15示出了对图14的矢量乘法器矩阵执行运算的工作电压。
图16示出了矢量乘法器矩阵的另一实施方案。
图17示出了对图216的矢量乘法器矩阵执行运算的工作电压。
图18示出了包括矢量乘法器矩阵的存储器系统。
图19A、图19B和图19C示出了用于对矢量乘法器矩阵中的一个或多个存储器单元进行编程的算法。
图20示出了用于生成在矢量乘法器矩阵中的一个或多个存储器单元的编程期间使用的查找表的校准算法。
图21示出了在不同编程实施方案期间施加的电压的波形。
图22示出了在不同编程实施方案期间施加的电压的波形。
图23示出了在不同编程实施方案期间施加的电压的波形。
图24示出了用于与矢量乘法器矩阵系统一起使用的高电压生成块。
图25示出了电荷泵和电荷泵调节电路。
图26示出了具有电流补偿电路的高电压生成块。
图27示出了具有电流补偿电路的另一高电压生成块。
图28示出了另一高电压生成块。
图29示出了用于提供电流补偿的虚拟位线。
图30示出了高电压解码器。
图31示出了高电压测试电路。
图32示出了高电压生成块。
图33示出了另一高电压生成块。
图34示出了另一高电压生成块。
图35示出了高电压运算放大器。
图36示出了另一高电压运算放大器。
图37示出了列驱动器。
图38示出了列读出放大器。
图39示出了读取参考电路。
图40示出了另一读取参考电路。
具体实施方式
本发明的人工神经网络利用CMOS技术和非易失性存储器阵列的组合。
非易失性存储器单元
数字非易失性存储器是众所周知的。例如,美国专利5029130(“所述’130专利”)公开了一种分裂栅非易失性存储器单元阵列,并且出于所有目的将该专利以引用方式并入本文。此类存储器单元在图2中示出。每个存储器单元210包括形成于半导体衬底12中的源极区14和漏极区16,其间具有沟道区18。浮栅20形成在沟道区18的第一部分上方并且与其绝缘(并控制其电导率),并且形成在源极区16的一部分上方。字线端子22(其通常被耦接到字线)具有设置在沟道区18的第二部分上方并且与该沟道区的第二部分绝缘(并且控制其电导率)的第一部分,以及向上延伸并且位于浮栅20上方的第二部分。浮栅20和字线端子22通过栅极氧化物与衬底12绝缘。位线24耦接到漏极区16。
通过将高的正电压置于字线端子22上来对储器单元210进行擦除(其中电子从浮栅去除),这导致浮栅20上的电子经由Fowler-Nordheim隧穿从浮栅20到字线端子22隧穿通过中间绝缘体。
通过将正电压置于字线端子22上以及将正电压置于源极16上来编程存储器单元210(其中电子被置于浮栅上)。电子电流将从源极16流向漏极14。当电子到达字线端子22和浮栅20之间的间隙时,电子将加速并且变热。由于来自浮栅20的静电引力,一些加热的电子将通过栅极氧化物26被注入到浮栅20上。
通过将正读取电压置于漏极14和字线端子22(其接通在字线端子下方的沟道区)上来读取存储器单元210。如果浮栅20带正电(即,电子被擦除以及正极耦接到漏极16),则沟道区在浮栅20下方的部分也被接通,并且电流将流过沟道区18,该沟道区被感测为擦除状态或“1”状态。如果浮栅20带负电(即,通过电子进行了编程),则沟道区的在浮栅20下方的部分被大部分或完全关断,并且电流将不会(或者有很少的电流)流过沟道区18,该沟道区被感测为编程状态或“0”状态。
表1示出了可以施加到存储器单元210的端子用于执行读取、擦除和编程操作的典型电压范围:
表1:图2的闪存存储器单元210的操作
WL | BL | SL | |
读取 | 2-3V | 0.6-2V | 0V |
擦除 | 约11-13V | 0V | 0V |
编程 | 1-2V | 1-3μA | 9-10V |
其他分裂栅存储器单元配置是已知的。例如,图3示出了四栅极存储器单元310,其包括源极区14、漏极区16、在沟道区18的第一部分上方的浮栅20、在沟道区18的第二部分上方的选择栅28(通常耦接到字线)、在浮栅20上方的控制栅22、以及在源极区14上方的擦除栅30。这种配置在美国专利6747310中有所描述,该专利以引用方式并入本文以用于所有目的。这里,除了浮栅20之外,所有的栅极均为非浮栅,这意味着它们电连接到或能够电连接到电压源。编程由来自沟道区18的受热电子示出,电子将自身注入浮栅20上。擦除通过从浮栅20隧穿到擦除栅30的电子来显示。
表2示出了可以施加到存储器单元310的端子用于执行读取、擦除和编程操作的典型电压范围:
表2:图3的闪存存储器单元310的操作
WL/SG | BL | CG | EG | SL | |
读取 | 1.0-2V | 0.6-2V | 0-2.6V | 0-2.6V | 0V |
擦除 | -0.5V/0V | 0V | 0V/-8V | 8-12V | 0V |
编程 | 1V | 1μA | 8-11V | 4.5-9V | 4.5-5V |
图4示出了分裂栅三栅极存储器单元410。存储器单元410与图3的存储器单元310相同,除了存储器单元410没有单独的控制栅。擦除操作(通过擦除栅进行擦除)和读取操作与图3的操作类似,不同的是不存在控制栅偏置。编程操作也在无控制栅偏置的情况下完成,因此源极线上的编程电压更高以对缺少控制栅偏置进行补偿。
表3示出了可以施加到存储器单元410的端子用于执行读取、擦除和编程操作的典型电压范围:
表3:图4的闪存存储器单元410的操作
WL/SG | BL | EG | SL | |
读取 | 0.7-2.2V | 0.6-2V | 0-2.6V | 0V |
擦除 | -0.5V/0V | 0V | 11.5V | 0V |
编程 | 1V | 2-3μA | 4.5V | 7-9V |
图5示出了叠栅存储器单元510。存储器单元510类似于图2的存储器单元210,不同的是浮栅20在整个沟道区18上方延伸,并且控制栅22在浮栅20上方延伸,由绝缘层分开。擦除、编程和读取操作以与先前针对存储器单元210所述类似的方式操作。
表4示出了可以施加到存储器单元510的端子用于执行读取、擦除和编程操作的典型电压范围:
表4:图5的闪存存储器单元510的操作
CG | BL | SL | P-sub | |
读取 | 2-5V | 0.6–2V | 0V | 0V |
擦除 | -8至-10V/0V | FLT | FLT | 8-10V/15-20V |
编程 | 8-12V | 3-5V | 0V | 0V |
为了在人工神经网络中利用包括上述类型的非易失性存储器单元之一的存储器阵列,进行了两个修改。第一,对线路进行配置,使得每个存储器单元可被单独编程、擦除和读取,而不会不利地影响阵列中的其他存储器单元的存储器状态,如下文进一步解释。第二,提供存储器单元的连续(模拟)编程。
具体地,阵列中的每个存储器单元的存储器状态(即,浮栅上的电荷)可在独立地并且对其他存储器单元的干扰最小的情况下连续地从完全擦除状态变为完全编程状态。在另一个实施方案,阵列中的每个存储器单元的存储器状态(即,浮栅上的电荷)可在独立地并且对其他存储器单元的干扰最小的情况下连续地从完全编程状态变为完全擦除状态,反之亦然。这意味着单元存储装置是模拟的,或者至少可存储许多离散值(诸如16或64个不同的值)中的一个离散值,这允许对存储器阵列中的所有单元进行非常精确且单独的调谐,并且这使得存储器阵列对于存储和对神经网络的突触权重进行微调调整是理想的。
采用非易失性存储器单元阵列的神经网络
图6概念性地示出了利用非易失性存储器阵列的神经网络的非限制性示例。该示例将非易失性存储器阵列神经网络用于面部识别应用,但任何其他适当的应用也可使用基于非易失性存储器阵列的神经网络来实现。
对于该示例,S0为输入,其为具有5位精度的32×32像素RGB图像(即,三个32×32像素阵列,分别用于每个颜色R、G和B,每个像素为5位精度)。从S0到C1的突触CB1同时具有不同组的权重和共享权重,并且用3×3像素重叠滤波器(内核)扫描输入图像,将滤波器移位1个像素(或根据模型所指示的多于1个像素)。具体地,将图像的3×3部分中的9个像素的值(即,称为滤波器或内核)提供给突触CB1,由此将这9个输入值乘以适当的权重,并且在对该乘法的输出求和之后,由CB1的第一神经元确定并提供单个输出值以用于生成特征映射的其中一层C1的像素。然后将3×3滤波器向右移位一个像素(即,添加右侧的三个像素的列,并释放左侧的三个像素的列),由此将该新定位的滤波器中的9个像素值提供给突触CB1,由此将它们乘以相同的权重并且由相关联的神经元确定第二单个输出值。继续该过程,直到3×3滤波器在整个32×32像素图像上扫描所有三种颜色和所有位(精度值)。然后使用不同组的权重重复该过程以生成C1的不同特征映射,直到计算出层C1的所有特征映射。
在C1处,在本示例中,存在16个特征映射,每个特征映射具有30×30像素。每个像素是从输入和内核的乘积中提取的新特征像素,因此每个特征映射是二维阵列,因此在该示例中,突触CB1由16层的二维阵列构成(记住本文所引用的神经元层和阵列是逻辑关系,而不必是物理关系,即阵列不必定向于物理二维阵列)。16个特征映射中的每个特征映射均由应用于滤波器扫描的十六个不同组的突触权重中的一组生成。C1特征映射可全部涉及相同图像特征的不同方面,诸如边界识别。例如,第一映射(使用第一权重组生成,针对用于生成该第一映射的所有扫描而共享)可识别圆形边缘,第二映射(使用与第一权重组不同的第二权重组生成)可识别矩形边缘,或某些特征的纵横比,以此类推。
在从C1转到S1之前,应用激活函数P1(池化),该激活函数将来自每个特征映射中连续的非重叠2×2区域的值进行池化。池化阶段的目的是对邻近位置求均值(或者也可使用max函数),以例如减少边缘位置的依赖性,并在进入下一阶段之前减小数据大小。在S1处,存在16个15×15特征映射(即,16个每个15×15像素的不同阵列)。CB2中从S1到C2的突触和相关联神经元利用4×4滤波器扫描S1中的映射,其中滤波器移位1个像素。在C2处,存在22个12×12特征映射。在从C2转到S2之前,应用激活函数P2(池化),该激活函数将来自每个特征映射中连续的非重叠2×2区域的值进行池化。在S2处,存在22个6×6特征映射。将激活函数应用于从S2到C3的突触CB3,其中C3中的每个神经元连接至S2中的每个映射。在C3处,存在64个神经元。从C3到输出S3的突触CB4将S3完全连接至C3。S3处的输出包括10个神经元,其中最高输出神经元确定类。例如,该输出可指示对原始图像的内容的识别或分类。
使用非易失性存储器单元的阵列或阵列的一部分来实现每个级别的突触。图7为包括非易失性存储器单元并且被用作输入层和下一层之间的突触的矢量-矩阵乘法(VMM)阵列的框图。具体地,VMM 32包括非易失性存储器单元阵列33、擦除栅和字线栅解码器34、控制栅解码器35、位线解码器36和源极线解码器37,这些解码器对存储器阵列33的输入进行解码。在该示例中,源极线解码器37还对存储器单元阵列的输出进行解码。另选地,位线解码器36可以解码存储器阵列的输出。存储器阵列有两个用途。首先,它存储将由VMM使用的权重。其次,存储器阵列有效地将输入与存储在存储器阵列中的权重相乘并且每个输出线(源极线或位线)将它们相加以产生输出,该输出将作为下一层的输入或最终层的输入。通过执行乘法和加法函数,存储器阵列消除了对单独的乘法和加法逻辑电路的需要,并且由于原位存储器计算也是高功效的。
将存储器阵列的输出提供至差动加法器(诸如加法运算放大器或加法电流镜)38,该差动加法器对存储器单元阵列的输出进行求和,以为该卷积创建单个值。差动加法器是为了实现正权重和负权重与正输入的总和。然后将求和后的输出值提供至激活函数电路39,该激活函数电路对输出进行修正。激活函数可包括sigmoid、tanh或ReLU函数。经修正的输出值成为下一层的特征映射的元素(例如,上述描述中的C1),然后被应用于下一突触以产生下一特征映射层或最终层。因此,在该示例中,存储器阵列构成多个突触(其从现有神经元层或从输入层诸如图像数据库接收它们的输入),并且求和运算放大器38和激活函数电路39构成多个神经元。
图8是VMM的各个级的框图。如图8所示,通过数模转换器31将输入从数字转换为模拟,并将其提供至输入VMM 32a。转换的模拟输入可以是电压或电流。第一层的输入D/A转换可通过使用将输入映射到矩阵乘法器的适当模拟电平的函数或LUT(查找表)来完成。输入转换还可由A/A转换器完成,以将外部模拟输入转换为映射到VMM的模拟输入。输入VMM 32a生成的输出作为下一VMM(隐藏的级别1)32b的输入而提供,该输入继而生成作为下一VMM(隐藏的级别2)32b的输入而提供的输出,以此类推。VMM 32的各层用作卷积神经网络(CNN)的突触和神经元的不同层。每个VMM可以是独立的非易失性存储器阵列、或者多个VMM可以利用相同非易失性存储器阵列的不同部分、或者多个VMM可以利用相同非易失性存储器阵列的重叠部分。图8所示的示例包含五个层(32a、32b、32c、32d、32e):一个输入层(32a)、两个隐藏层(32b、32c)和两个完全连接的层(32d、32e)。本领域的普通技术人员将会知道,这仅仅是示例性的,并且相反,系统可包括两个以上的隐藏层和两个以上的完全连接的层。
矢量-矩阵乘法(VMM)阵列
图9示出了神经元VMM 900,其特别适用于图3所示类型的存储器单元,并且用作输入层与下一层之间的神经元的突触和部件。VMM 900包括非易失性存储器单元的存储器阵列901和参考阵列902(在阵列的顶部)。另选地,可将另一个参考阵列置于底部。在VMM 900中,控制栅线(诸如控制栅线903)在竖直方向上延伸(因此参考阵列902在与输入控制栅线正交的行方向上),并且擦除栅线(诸如擦除栅线904)在水平方向上延伸。这里,输入在控制栅线上提供,并且输出出现在源极线上。在一个实施方案中,仅使用偶数行,并且在另一个实施方案中,仅使用奇数行。置于源极线上的电流执行来自连接到源极线的存储器单元的所有电流的求和功能。
如本文针对神经网络所述,闪存单元优选地被配置为在亚阈值区域中操作。
本文所述的存储器单元以弱反偏置:
Ids=Io*e(Vg-Vth)/kVt=w*Io*e(Vg)/kVt
w=e(-Vth)/kVt
对于使用存储器单元将输入电流转换为输入电压的I到V对数转换器:
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
字线或控制栅可用作输入电压的存储器单元的输入。
另选地,闪存存储器单元可被配置为在线性区域中操作:
Ids=beta*(Vgs-Vth)*Vds;beta=u*Cox*W/L
Wα(Vgs-Vth)
对于I至V线性转换器,在线性区域中操作的存储器单元可用于将输入/输出电流线性地转换为输入/输出电压。
ESF矢量矩阵乘法器的其他实施方案如美国专利申请15/826345号中所述,该专利申请以引用方式并入本文。源极线或位线可用作神经元输出(电流求和输出)。
图10示出了神经元VMM 1000,其特别适用于图2所示类型的存储器单元,并且用作输入层与下一层之间的突触。VMM 1000包括非易失性存储器单元的存储器阵列1003、参考阵列1001和参考阵列1002。在阵列的列方向上的参考阵列1001和1002用于将流入端子BLR0-3的电流输入转换为电压输入WL0-3。实际上,参考存储器单元是通过多路复用器连接的二极管,其中电流输入流入其中。参考单元被调谐(例如,编程)为目标参考电平。目标参考电平由参考微阵列矩阵提供。存储器阵列1003用于两个目的。首先,它存储将由VMM 1000使用的权重。其次,存储器阵列1003有效地将输入(端子BLR0-3中提供的电流输入;参考阵列1001和1002将这些电流输入转换成输入电压以提供给字线WL0-3)乘以存储在存储器阵列中的权重并且随后将所述结果(存储器单元电流)相加以产生输出,该输出将是到下一层的输入或到最终层的输入。通过执行乘法和加法函数,存储器阵列消除了对单独的乘法和加法逻辑电路的需要,并且也是高功效的。这里,电压输入在字线上提供,并且输出在读取(推断)操作期间出现在位线上。置于位线上的电流执行来自连接到位线的存储器单元的所有电流的求和功能。
图11示出了用于VMM 1000的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的源极线和用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
图12示出了神经元VMM 1200,其特别适用于图2所示类型的存储器单元,并且用作输入层与下一层之间的神经元的突触和部件。VMM 1200包括非易失性存储器单元的存储器阵列1203、参考阵列1201和参考阵列1202。在阵列VMM 1200的行方向上延伸的参考阵列1201和1202与VMM 1000相似,除了在VMM 1200中,字线在垂直方向上延伸。这里,输入在字线上提供,并且输出在读取操作期间出现在源极线上。置于源极线上的电流执行来自连接到源极线的存储器单元的所有电流的求和功能。
图13示出了用于VMM 1200的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的源极线和用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
图14示出了神经元VMM 1400,其特别适用于图3所示类型的存储器单元,并且用作输入层与下一层之间的神经元的突触和部件。VMM 1400包括非易失性存储器单元的存储器阵列1403、参考阵列1401和参考阵列1402。参考阵列1401和1402用于将流入端子BLR0-3的电流输入转换为电压输入CG0-3。实际上,参考存储器单元是通过共源共栅多路复用器1414连接的二极管,其中电流输入流入其中。多路复用器1414包括多路复用器1405和共源共栅晶体管1404,以确保读取中的参考单元的位线上的电压恒定。将参考单元调谐至目标参考电平。存储器阵列1403用于两个目的。首先,它存储将由VMM 1400使用的权重。其次,存储器阵列1403有效地将输入(提供到端子BLR0-3的电流输入;参考阵列1401和1402将这些电流输入转换成输入电压以提供给控制栅CG0-3)乘以存储在存储器阵列中的权重并且随后将所述结果(单元电流)相加以产生输出,该输出将是到下一层的输入或到最终层的输入。通过执行乘法和加法函数,存储器阵列消除了对单独的乘法和加法逻辑电路的需要,并且也是高功效的。这里,输入在字线上提供,并且输出在读取操作期间出现在位线上。置于位线上的电流执行来自连接到位线的存储器单元的所有电流的求和功能。
VMM 1400为存储器阵列1403中的存储器单元实现单向调谐。也就是说,每个单元被擦除,然后被部分编程,直到达到浮栅上的所需电荷。如果在浮栅上放置过多电荷(使得错误的值存储在单元中),则必须擦除单元,并且部分编程操作的序列必须重新开始。如图所示,共享同一擦除栅的两行需要一起擦除(称为页面擦除),并且此后,每个单元被部分编程,直到达到浮栅上的所需电荷,
图15示出了用于VMM 1400的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的控制栅、用于与所选单元相同扇区中的未选单元的控制栅、用于与所选单元不同扇区中的未选单元的控制栅、用于所选单元的擦除栅、用于未选单元的擦除栅、用于所选单元的源极线、用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
图16示出了神经元VMM 1600,其特别适用于图3所示类型的存储器单元,并且用作输入层与下一层之间的神经元的突触和部件。VMM 1600包括非易失性存储器单元的存储器阵列1603、参考阵列1601和参考阵列1602。EG线垂直延伸,而CG和SL线水平延伸。VMM 1600类似于VMM1400,不同的是VMM 1600实现双向调谐,其中每个单独的单元可根据需要被完全擦除、部分编程和部分擦除,以达到浮栅上的所需电荷量。如图所示,参考阵列1601和1602将端子BLR0-3中的输入电流转换为要沿行方向施加到存储器单元的控制栅电压CG0-3(通过经由复用器的二极管连接的参考单元的动作)。电流输出(神经元)在位线中,该位线对来自连接到位线的存储器单元的所有电流求和。
图17示出了用于VMM 1600的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的控制栅、用于与所选单元相同扇区中的未选单元的控制栅、用于与所选单元不同扇区中的未选单元的控制栅、用于所选单元的擦除栅、用于未选单元的擦除栅、用于所选单元的源极线、用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
图18示出了VMM系统1800。VMM系统1800包括VMM阵列1807、低电压行解码器1803、高电压行解码器1805、参考单元低电压列解码器1806(针对列方向上的参考阵列示出,这意味着提供行方向上的输入到输出转换)、位线PE驱动器1802、位线多路复用器1808、激活函数电路和加法器1809、控制逻辑器1804和模拟偏置电路1801。
低电压行解码器1803为读取操作和编程操作提供偏置电压,并且为高电压行解码器1805提供解码信号。高电压行解码器1805为编程操作和擦除操作提供高电压偏置信号。位线PE驱动器1801为处于编程、验证和擦除的位线提供控制功能。偏置电路1801是提供各种编程、擦除、编程验证和读取操作所需的多个电压的共享偏置块。
VMM系统1800还包括冗余阵列1810。冗余阵列1810提供用于替换有缺陷的阵列部分的阵列冗余。VMM系统1800还包括NVR(非易失性寄存器也称为信息扇区)扇区1811,其是用于存储用户信息、装置ID、密码、安全密钥、修正位、配置位、制造信息等的阵列扇区。
VMM系统1800任选地包括参考阵列1812和/或参考系统1850。参考系统1850包括参考阵列1852、参考阵列低电压行解码器1851、参考阵列高电压行解码器1853和参考阵列低电压列解码器1854。参考系统可以跨多个VMM系统共享。
参考阵列低电压行解码器1851为涉及参考阵列1852的读取操作和编程操作提供偏置电压,并且还为参考阵列高电压行解码器1853提供解码信号。参考阵列高电压行解码器1853为涉及参考阵列1852的编程和操作提供高电压偏置。参考阵列低电压列解码器1854为参考阵列1852提供解码功能。参考阵列1852是诸如用于为编程验证或单元边际微调(搜索边际单元)提供参考目标。
图19A、图19B和图19C示出了编程方法1900。首先,该方法开始(步骤1901),这通常响应于接收到编程命令而发生。接下来,批量编程操作将所有单元编程到‘0’状态(步骤1902)。然后,软擦除擦除所有单元至大约1-5μA的中间弱擦除电平(步骤1903)。这与深擦除将使所有单元成为数字应用的完全擦除状态(例如,约20-30uA的单元电流)形成对比。然后,对所有未选择的单元执行硬编程,以从单元移除电荷(步骤1904),使未使用的单元达到非常深的编程状态(约fA-pA),以确保单元真正关闭,这意味着这些存储器单元贡献不显著的电流。然后使用粗略算法在选择单元上执行软编程以从单元中移除一些电荷至大约0.1-1.5μA的n个中间弱编程电平(步骤1905、1906、1907)。进行粗略步骤编程循环,然后进行验证操作,其中以粗略迭代方式将选择单元上的电荷与各种阈值进行比较(步骤1906和1907)。粗略步骤编程循环包括粗略电压增量(诸如SL、CG和EG的高电压电平)、和/或粗略编程时间、和/或导致从一个编程步骤到下一个编程步骤的粗略单元电流变化的粗略编程电流。
接下来,进行精确编程(步骤1908),其中通过精细步骤编程算法将所有选择单元编程至1pA–20nA范围内的目标电平,取决于所需电平。系统检查待编程的位的数量(步骤1909)。它使用LUT(查找表)或使用Vhv(inc)的近似函数来确定待编程的位的数量(步骤1910)。Vhv是高电压,诸如SL、CG和EG的高电压电平,LUT或函数是待编程的#IO、Itarget和ΔIcell(=当前Icell-先前Icell)的函数。然后执行精确编程步骤(步骤1911)。执行编程操作(步骤1912)。然后执行验证步骤(检查Icell对Itarget并且计算/存储ΔIcell)(步骤1913)。如果验证了一个或多个单元,则该过程返回到步骤1909以对剩余单元进行编程。如果未验证,则检查计数器,并且如果已进行了阈值次数的尝试,则过程结束并且将单元视为不良的。如果未验证,则重复编程步骤1912。一旦已验证所有单元(步骤1914),则该过程完成。
图2000示出了用于构建查找表或生成函数以确定对待编程的每个可能数量的位进行编程所需的期望电压电平的高电压校准过程。起始点是要对一位进行编程的情况(步骤2001)。确定电压(诸如SL、CG、EG的高电压电平)以对该一位进行编程(步骤2002)。然后位的数量递增(步骤2003),并且重复编程步骤(步骤2001)。一旦已针对N位(待编程的可能位的总数量)执行了该过程,就将值编程到查找表中(步骤2004)以在编程操作期间进行查询。
图21示出了用于编程操作的两种不同方法。每个操作包括多个验证和编程(Vef/Prog)循环。在验证循环中,检查Itarget并且检查待编程的IO的数量。基于Itarget和待编程的IO的数量来调整HV编程电平(诸如SL、CG、EG的高电压电平)。在波形2101中,在编程操作期间提供的总电压的量值随着待编程的位的数量增加而增加。序列2101表示针对要对三位进行编程的情况通过四个示例性脉冲提供的电压。相比之下,在每Vef/Prog循环进行HV电平和编程时间调整的波形2103中,提供与序列2101中相同量值的两个脉冲,但是然后作为示例,在Vef/Prog k循环期间,较少数量的位有待编程,量值减小(例如,dV1neg),并且在较长持续时间内提供较少脉冲(即,2104中的较低量值的四个脉冲,而不是2101中的较高量值的两个脉冲)。也就是说,可以用电压量值和脉冲施加持续时间的不同组合来实现相同的结果。降低Vef/Prog k循环的HV编程电平,以防止由于待编程的位较少而在下一个编程循环中超过目标,这意味着HV编程电平对于下一个循环而言较高。
图22示出了用于编程操作的两种另外的方法。在波形2201中,在编程操作期间提供的总电压的量值保持相同,但每个编程脉冲的长度随着待编程的位的数量增加而增加。在每Vef/Prog循环进行编程脉冲宽度时间调整的波形2201中,作为示例,在Vef/Prog z循环期间,较少数量的位有待编程,代替长脉冲(如在2201中的持续时间T3的脉冲中),脉冲反而被缩短(T1),但施加更多脉冲,使得对于该特定编程电平,总持续时间比在波形2201中更长。缩短Vef/Prog z循环,以防止由于待编程的位较少而在下一个编程循环中超过目标,这意味着HV编程电平对于下一个循环而言较高。也就是说,可通过改变每个脉冲的持续时间或所有脉冲的总持续时间来实现相同的结果,其中电压幅值保持恒定。
另一种方法是调制所有脉冲的电压幅值、脉冲持续时间和总持续时间。另一种方法是调制编程电流而不是编程电压或时间。
图23示出了当要对位的多个字进行编程时用于高电压生成的波形。信号2302是施加到存储器单元以进行编程的示例性HV电压(诸如SL、CG和EG的高电压电平)。信号2304是示例性输入数据[N:1],并且其值控制待编程的IO位的数量。信号2305针对每个IO单独地控制编程脉冲宽度。如定时2306所示,变低意味着启用编程,并且变高意味着禁用编程。信号2305示出了在不同下降沿上变低但在相同上升沿上变高的所有IO位。这是为了确保,在编程脉冲期间,内部高电压电平在定时2306期间变得更低(因为更多的位被启用以待进行编程,从而导致更多的电流负载,这意味着更多的IR压降在定时2306期间从左向右发生,如定时2306所示),以避免原本将发生的可能的编程过冲。
图24示出了VMM系统2400的框图。VMM系统包括VMM矩阵2408、行解码器2407、高电压解码器2409、列解码器2410和位线驱动器2411。VMM系统2400还包括高电压生成块2412,该高电压生成块2412包括电荷泵2401、电荷泵调节器2402和高电压电平发生器2403。VMM系统2400还包括算法控制器2404、模拟电路2405和控制逻辑器2406。
图25提供了关于电荷泵2401和电荷泵调节器2402的进一步细节。电荷泵2401由启用信号2501控制。当启用信号2501未生效时,电荷泵2401继续增加其输出的电压。当启用信号2501生效时,电荷泵2401保持其输出的电压电平。电荷泵调节器2402包括一系列二极管2504、2506和2508以及电阻器2505、2507和2509。该结构内的节点被输入到比较器2503,该比较器接收包括电压参考的另一输入。当从电荷泵2401输出的电压足以激活二极管2504、2506和2508时,则电流将流入比较器2503,并且启用信号将生效。因此,电荷泵调节器2404控制电荷泵2401,直到实现期望的电压电平,这是基于二极管2504、2506和2508以及电阻器2505、2507和2509的特性。
图26示出了与高电压缓冲器2601和可调整电流吸收器2602一起使用的VMM系统2400。高电压发生器块2412生成提供到高电压缓冲器2601的电压,该高电压缓冲器继而将该电压提供到高电压解码器2409和可调整电流吸收器(编程补偿电流Icomp)2602。由可调整电流吸收器Icomp2602汲取的电流可被调整,以例如引起高电压缓冲器2601内的补偿电压降,从而补偿待编程的IO的数量(例如,用于待编程的1/2/……/32个IO的dVout1/2/……/32压降)并且降低高电压缓冲器2601的温度。例如,Icompα(待编程的#IO)*Iprog*M。Iprog=单元编程电流,M=由于编程中的存储器单元热载流子效应而引起的乘数因子。应用补偿Icomp以在变化的输出负载上保持恒定的高电压输出。
图27示出了与高电压缓冲器2701和可调整电流吸收器2702一起使用的VMM系统2400。高电压发生器2412生成提供到高电压缓冲器2701的电压,该高电压缓冲器继而将该电压提供到高电压解码器2409。由可调整电流吸收器(补偿电流)Icomp 2702汲取的电流可被调整,以例如减小高电压解码器2409内的电流降(作为待编程的IO的数量的函数),从而降低高电压解码器2409的温度。例如,Icompα(待编程的#IO)*Iprog*M。Iprog=单元编程电流,M=由于编程中的存储器单元热载流子效应而引起的乘数因子。应用补偿Icomp以在变化的输出负载上保持恒定的高电压输出。
图28示出了与高电压缓冲器2801一起使用的VMM系统2400,该高电压缓冲器在此为运算放大器。高电压发生器2412生成提供到高电压缓冲器2701的电压,该高电压缓冲器继而将该电压提供到高电压解码器2409。来自高电压解码器2409的输出(例如,输出是阵列中HV电压的反馈指示器)作为输入提供到高电压缓冲器2801,该高电压缓冲器然后作为闭环比较器操作。应用闭环补偿以在变化的输出负载上保持恒定的高电压输出。
图29示出了将与VMM系统2400结合使用的编程电流补偿块2900。这里,虚拟编程位线(可编程虚拟阵列)设置有每组32个位线。例如,组2901包括虚拟位线2903,并且组2902包括虚拟位线2904。在组2901和2902中的一个或多个其他位分别未被编程的情况下,这些虚拟位线2903和2904可被导通。相较于不使用虚拟位线2903和2904的情况,这将使编程操作期间汲取的电流保持更为恒定。应用编程虚拟阵列补偿方案以在变化的输出负载上保持恒定的高电压输出。
图30示出了可用于高电压解码器2409中的高电压解码器块3000的示例。此处,源极线3005耦接到阵列2408中的一行或两行。NMOS晶体管3001、3002、3003和3004耦接到源极线3005,如图所示。HV电源3010诸如来自HV缓冲器,并且HV comp信号3011诸如在图28中所示。
图31示出了测试电路3100。测试电路包括接收启用信号EN的高电压发射器3101。高电压发射器向NMOS晶体管3102和NMOS共源共栅晶体管3103提供高电压启用信号。NMOS晶体管3201的一个端子连接到外部测试焊盘,并且NMOS晶体管3103的一个端子耦接到VMM系统2400内的内部节点。此电路用于诸如电压校准。
图32示出了高电压生成块2412的实施方案。
图33示出了高电压生成块2412的另一实施方案。此处,高电压生成块包括电荷泵3301、电荷泵调节器3303和高电压运算放大器3302。可基于发送到电荷泵调节器3303中NMOS晶体管的栅极的信号来控制电荷泵调节器3303的输出的电压。
图34示出了高电压生成块2412的另一实施方案。高电压生成块2412包括高电压运算放大器3403、SC(开关电容)网络3402和SC网络3401。SC网络3402包括可调整电容器3404。SC网络3401包括开关3405、3407、3408和3409以及可调整电容器3406。
图35示出了高电压运算放大器3500,其可用于图34中的高电压运算放大器3404。高电压运算放大器3500包括所示布置中示出的部件。
图36示出了高电压运算放大器3600,其可用于图34中的高电压运算放大器3404。高电压运算放大器3600包括所示布置中示出的部件。
图37示出了列驱动器3700,其可用于位线驱动器2411。在所示配置中,列驱动器3700包括锁存器3701、反相器3702、或非门3703、PMOS晶体管3704、NMOS晶体管3705和3706以及读出放大器3707。
图38示出了读出放大器3800,其可用于图37中的读出放大器3707。在所示配置中,读出放大器3800包括可调整电流参考源3801、开关3802、NMOS晶体管3803、电容器3804、开关3805、电流源3806和反相器3807。读出放大器370耦接到阵列2408中的存储器单元3808。
图39示出了参考阵列电路3900,其包括位线参考解码器3901和参考单元39010至3902N。
图40示出了参考阵列电路4000,其包括位线参考解码器4001和参考单员40020至4000N。
应当指出,如本文所用,术语“在…上方”和“在…上”两者包容地包含“直接在…上”(之间未设置中间材料、元件或空间)和“间接在…上”(之间设置有中间材料、元件或空间)。类似地,术语“相邻”包括“直接相邻”(之间没有设置中间材料、元件或空间)和“间接相邻”(之间设置有中间材料、元件或空间),“安装到”包括“直接安装到”(之间没有设置中间材料、元件或空间)和“间接安装到”(之间设置有中间材料、元件或空间),并且“电耦接至”包括“直接电耦接至”(之间没有将元件电连接在一起的中间材料或元件)和“间接电耦接至”(之间有将元件电连接在一起的中间材料或元件)。例如,“在衬底上方”形成元件可包括在两者间没有中间材料/元件的情况下在衬底上直接形成元件,以及在两者间有一个或多个中间材料/元件的情况下在衬底上间接形成元件。
Claims (46)
1.一种用于在单个编程操作中响应于存储器阵列中待编程的单元的数量而生成高电压输出的方法,所述方法包括:
确定所选择的多个待编程的单元中的单元的所述数量;
确定有待在对所选择的多个单元进行编程时使用的第一输出电压;
使用用于所选择的多个单元的所述第一输出电压执行编程序列;
验证所选择的多个单元中的哪些单元已被正确地编程;
确定有待在对单元的子组进行编程时使用的第二输出电压,所述单元的子组包括所述多个单元中尚未被正确地编程的所述单元;
使用用于所述单元的子组的所述第二输出电压执行编程序列。
2.根据权利要求1所述的方法,还包括:
验证所述单元的子组中的哪些单元已被正确地编程;
确定有待在对单元的第二子组进行编程时使用的第三输出电压,所述单元的第二子组包括所述单元的子组中尚未被正确地编程的所述单元;
使用用于所述单元的第二子组的所述第三输出电压参与编程序列。
3.根据权利要求1所述的方法,其中所述确定第一输出电压的步骤包括在查找表中找到值。
4.根据权利要求3所述的方法,其中所述确定第二输出电压的步骤包括在查找表中找到值。
5.根据权利要求4所述的方法,其中所述确定第三输出电压的步骤包括在查找表中找到值。
6.根据权利要求2所述的方法,其中所述确定第一输出电压的步骤包括在查找表中找到值。
7.根据权利要求6所述的方法,其中所述确定第二输出电压的步骤包括在查找表中找到值。
8.根据权利要求7所述的方法,其中所述确定第三输出电压的步骤包括在查找表中找到值。
9.根据权利要求1所述的方法,其中所述确定第一输出电压的步骤包括通过近似函数找到值。
10.根据权利要求1所述的方法,其中所述确定第一输出电压的步骤包括基于当前单元值和先前单元值找到值。
11.根据权利要求1所述的方法,其中如果所述单元的子组中的单元的所述数量小于所选择的多个单元中的单元的所述数量,则所述第二输出电压低于所述第一输出电压。
12.根据权利要求1所述的方法,其中将所述第一输出电压施加到耦接到所述单元的子组的源极线、控制栅线和擦除栅线中的一者或多者。
13.根据权利要求1所述的方法,其中所述存储器阵列是矢量矩阵乘法器。
14.根据权利要求13所述的方法,其中所述矢量矩阵乘法器在所述存储器阵列的位线上提供神经元读出。
15.根据权利要求13所述的方法,其中所述矢量矩阵乘法器在所述存储器阵列的源极线上提供神经元读出。
16.根据权利要求13所述的方法,其中所述矢量矩阵乘法器中的存储器单元执行权重乘法。
17.根据权利要求13所述的方法,其中所述矢量矩阵乘法器中的所述存储器单元执行突触加法。
18.一种用于在单个编程操作中响应于存储器阵列中待编程的单元的数量而生成高电压输出的方法,所述方法包括:
确定所选择的多个待编程的单元中的单元的所述数量;
确定有待在对所选择的多个单元进行编程时使用的第一编程持续时间;
使用用于所选择的多个单元的所述第一编程持续时间参与编程序列;
验证所选择的多个单元中的哪些单元已被正确地编程;
确定有待在对单元的子组进行编程时使用的第二编程持续时间,所述单元的子组包括所述多个单元中尚未被正确地编程的所述单元;
使用用于所述单元的子组的所述第二编程持续时间参与编程序列。
19.根据权利要求18所述的方法,还包括:
验证所述单元的子组中的哪些单元已被正确地编程;
确定有待在对单元的第二子组进行编程时使用的第三编程持续时间,所述单元的第二子组包括所述单元的子组中尚未被正确地编程的所述单元;
使用用于所述单元的第二子组的所述第三编程持续时间参与编程序列。
20.根据权利要求18所述的方法,其中所述确定第一编程持续时间的步骤包括在查找表中找到值。
21.根据权利要求20所述的方法,其中所述确定第二编程持续时间的步骤包括在查找表中找到值。
22.根据权利要求21所述的方法,其中所述确定第三编程持续时间的步骤包括在查找表中找到值。
23.根据权利要求19所述的方法,其中所述确定第一编程持续时间的步骤包括在查找表中找到值。
24.根据权利要求23所述的方法,其中所述确定第二编程持续时间的步骤包括在查找表中找到值。
25.根据权利要求19所述的方法,其中所述确定第三编程持续时间的步骤包括在查找表中找到值。
26.根据权利要求18所述的方法,其中所述确定第一编程持续时间的步骤包括通过近似函数找到值。
27.根据权利要求18所述的方法,其中所述确定第一编程持续时间的步骤包括基于当前单元值和先前单元值找到值。
28.根据权利要求18所述的方法,其中如果所述单元的子组中的单元的所述数量小于所选择的多个单元中的单元的所述数量,则所述第二编程持续时间短于所述第一编程持续时间。
29.根据权利要求18所述的方法,其中所述存储器阵列是矢量矩阵乘法器。
30.根据权利要求29所述的方法,其中所述矢量矩阵乘法器在所述存储器阵列的位线上提供神经元读出。
31.根据权利要求29所述的方法,其中所述矢量矩阵乘法器在所述存储器阵列的源极线上提供神经元读出。
32.根据权利要求29所述的方法,其中所述矢量矩阵乘法器中的所述存储器单元执行权重乘法。
33.根据权利要求29所述的方法,其中所述矢量矩阵乘法器中的所述存储器单元执行突触加法。
34.一种用于在编程操作期间补偿由高电压发生器施加到存储器阵列的电流的变化的系统,所述系统包括:
非易失性存储器单元的阵列;
高电压发生器,所述高电压发生器用于在编程操作期间将高电压施加到所述阵列中所选择的一组所述非易失性存储器单元;和
可调整补偿电流源,所述可调整补偿电流源耦接到高电压缓冲器以用于汲取补偿电流,其中所述补偿电流在高电压负载改变时改变。
35.根据权利要求34所述的系统,其中所述补偿电流与编程单元电流、待编程的单元的所述数量和热载流子乘法因子成比例。
36.根据权利要求34所述的方法,其中所述存储器阵列是矢量矩阵乘法器。
37.一种用于在编程操作期间补偿由高电压发生器施加到存储器阵列的电流的变化的系统,所述系统包括:
非易失性存储器单元的阵列;
高电压发生器,所述高电压发生器用于在编程操作期间将高电压施加到所述阵列中所选择的一组非易失性存储器单元;和
可调整补偿电流源,所述可调整补偿电流源耦接到所述高电压发生器,其中由所述可调整电流源汲取的所述电流在所述高电压负载改变时改变。
38.根据权利要求37所述的系统,其中所述补偿电流与编程单元电流、待编程的单元的所述数量和热载流子乘法因子成比例。
39.根据权利要求37所述的系统,其中所述存储器阵列是矢量矩阵乘法器。
40.一种用于在编程操作期间补偿由高电压发生器施加到存储器阵列的电流的变化的系统,所述系统包括:
非易失性存储器单元的阵列,其中所述单元被布置成列和行,其中每个列耦接到位线;
其中一组列与虚拟位线相关联,其中在编程操作期间,当所述一组列中的其他位线未导通时,所述虚拟位线导通。
41.根据权利要求42所述的系统,其中所述存储器阵列是矢量矩阵乘法器。
42.一种用于对存储器单元的阵列中的多个所选择的存储器单元进行编程的方法,所述方法包括:
针对所述多个所选择的存储器单元启用编程持续时间;
其中所述编程持续时间包括多个不同的持续时间,所述多个不同的持续时间在不同的编程脉冲沿上开始并且在相同的编程脉冲沿上结束。
43.根据权利要求44所述的方法,其中所述存储器阵列是矢量矩阵乘法器。
44.一种用于对存储器单元的阵列中的所选择的存储器单元进行编程的方法,所述方法包括:
对所选择的存储器单元执行批量编程;
对所选择的存储器单元执行软擦除;
对未使用的所选择的存储器单元执行硬编程;
对已使用的所选择的存储器单元执行软编程;
对已使用的所选择的存储器单元执行精确编程,其中所述精确编程使用高电压电源和补偿方案。
45.根据权利要求46所述的方法,其中所述补偿方案取决于补偿电流。
46.根据权利要求46所述的方法,其中所述存储器阵列是矢量矩阵乘法器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862665359P | 2018-05-01 | 2018-05-01 | |
US62/665,359 | 2018-05-01 | ||
US16/042,972 | 2018-07-23 | ||
US16/042,972 US10522226B2 (en) | 2018-05-01 | 2018-07-23 | Method and apparatus for high voltage generation for analog neural memory in deep learning artificial neural network |
PCT/US2019/026409 WO2019212699A1 (en) | 2018-05-01 | 2019-04-08 | Method and apparatus for high voltage generation for analog neural memory in deep learning artificial neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112106140A true CN112106140A (zh) | 2020-12-18 |
Family
ID=68385458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980029361.XA Pending CN112106140A (zh) | 2018-05-01 | 2019-04-08 | 用于深度学习人工神经网络中的模拟神经存储器的高电压生成的方法和设备 |
Country Status (7)
Country | Link |
---|---|
US (7) | US10522226B2 (zh) |
EP (2) | EP3788625A4 (zh) |
JP (1) | JP7288461B2 (zh) |
KR (2) | KR102654503B1 (zh) |
CN (1) | CN112106140A (zh) |
TW (5) | TWI787099B (zh) |
WO (1) | WO2019212699A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11789857B2 (en) | 2021-08-11 | 2023-10-17 | International Business Machines Corporation | Data transfer with continuous weighted PPM duration signal |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6482690B1 (ja) * | 2018-01-11 | 2019-03-13 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US10910061B2 (en) | 2018-03-14 | 2021-02-02 | Silicon Storage Technology, Inc. | Method and apparatus for programming analog neural memory in a deep learning artificial neural network |
US10719737B2 (en) * | 2018-08-23 | 2020-07-21 | Denso International America, Inc. | Image classification system for resizing images to maintain aspect ratio information |
CN112805912B (zh) * | 2018-10-09 | 2024-05-28 | 艾斯多姆有限公司 | 基于电荷的开关矩阵及其方法 |
US10720217B1 (en) * | 2019-01-29 | 2020-07-21 | Silicon Storage Technology, Inc. | Memory device and method for varying program state separation based upon frequency of use |
US11755899B2 (en) * | 2019-11-11 | 2023-09-12 | Silicon Storage Technology, Inc. | Precise programming method and apparatus for analog neural memory in an artificial neural network |
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 |
TWI789589B (zh) * | 2020-02-04 | 2023-01-11 | 旺宏電子股份有限公司 | 脈衝神經網路電路及其運作方法 |
US11600321B2 (en) * | 2020-03-05 | 2023-03-07 | Silicon Storage Technology, Inc. | Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network |
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 |
US11875852B2 (en) * | 2020-07-06 | 2024-01-16 | Silicon Storage Technology, Inc. | Adaptive bias decoder to provide a voltage to a control gate line in an analog neural memory array in artificial neural network |
TWI739598B (zh) * | 2020-09-15 | 2021-09-11 | 力旺電子股份有限公司 | 運用於多階型記憶胞陣列之編程與驗證方法 |
US20220164638A1 (en) * | 2020-11-25 | 2022-05-26 | Fu-Chang Hsu | Methods and apparatus for neural network arrays |
CN113391188B (zh) * | 2021-04-22 | 2022-04-22 | 厦门大学 | 一种基于神经网络的自校准系统及方法 |
US11972111B2 (en) | 2021-11-09 | 2024-04-30 | Samsung Electronics Co., Ltd. | Memory device for improving speed of program operation and operating method thereof |
TWI827143B (zh) * | 2022-07-15 | 2023-12-21 | 旺宏電子股份有限公司 | 用於記憶體內運算之記憶體裝置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090016116A1 (en) * | 2007-07-13 | 2009-01-15 | Macronix International Co., Ltd. | Method of Programming and Erasing a Non-Volatile Memory Array |
US20170091616A1 (en) * | 2015-09-29 | 2017-03-30 | International Business Machines Corporation | Scalable architecture for analog matrix operations with resistive devices |
US20180040367A1 (en) * | 2016-08-04 | 2018-02-08 | Intel Corporation | Apparatus and method for endurance friendly programming using lower voltage thresholds |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US502910A (en) * | 1893-08-08 | o brien | ||
US5029130A (en) | 1990-01-22 | 1991-07-02 | Silicon Storage Technology, Inc. | Single transistor non-valatile electrically alterable semiconductor memory device |
JP3718251B2 (ja) * | 1994-02-28 | 2005-11-24 | 株式会社ルネサステクノロジ | データ処理装置 |
US5764090A (en) * | 1996-08-26 | 1998-06-09 | United Microelectronics Corporation | Write-control circuit for high-speed static random-access-memory (SRAM) devices |
KR100323554B1 (ko) * | 1997-05-14 | 2002-03-08 | 니시무로 타이죠 | 불휘발성반도체메모리장치 |
DE69818863T2 (de) * | 1997-12-19 | 2004-09-09 | Bae Systems Plc, Farnborough | Binäre kodeumsetzer und kodevergleicher |
TW420806B (en) * | 1998-03-06 | 2001-02-01 | Sanyo Electric Co | Non-volatile semiconductor memory device |
US6314026B1 (en) | 1999-02-08 | 2001-11-06 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor device using local self boost technique |
JP3842609B2 (ja) * | 2001-10-22 | 2006-11-08 | 株式会社東芝 | Icカード用lsi,icカード及びicカードの動作方法 |
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 |
KR100519793B1 (ko) * | 2003-01-06 | 2005-10-10 | 삼성전자주식회사 | 플래쉬 메모리 장치 및 이 장치의 프로그램 방법 |
US7630237B2 (en) * | 2003-02-06 | 2009-12-08 | Sandisk Corporation | System and method for programming cells in non-volatile integrated memory devices |
EP1654736B1 (en) * | 2003-07-30 | 2009-09-16 | SanDisk IL Ltd. | Method and system for optimizing reliability and performance of programming data in non-volatile memory devices |
US7177199B2 (en) * | 2003-10-20 | 2007-02-13 | Sandisk Corporation | Behavior based programming of non-volatile memory |
US7092290B2 (en) * | 2004-11-16 | 2006-08-15 | Sandisk Corporation | High speed programming system with reduced over programming |
US7239557B2 (en) * | 2005-06-17 | 2007-07-03 | Micron Technology, Inc. | Program method with optimized voltage level for flash memory |
US7626859B2 (en) * | 2006-02-16 | 2009-12-01 | Samsung Electronics Co., Ltd. | Phase-change random access memory and programming method |
KR100733953B1 (ko) * | 2006-06-15 | 2007-06-29 | 삼성전자주식회사 | 플래시 메모리 장치의 전압 레귤레이터 |
US7961511B2 (en) * | 2006-09-26 | 2011-06-14 | Sandisk Corporation | Hybrid programming methods and systems for non-volatile memory storage elements |
US7804724B2 (en) * | 2007-05-02 | 2010-09-28 | Alcatel Lucent | Method and apparatus for boundary scan programming of memory devices |
US7965545B2 (en) * | 2008-03-31 | 2011-06-21 | Intel Corporation | Reducing temporal changes in phase change memories |
US7855913B2 (en) * | 2008-06-10 | 2010-12-21 | Micron Technology, Inc. | Dynamically configurable MLC state assignment |
JP2011014205A (ja) * | 2009-07-03 | 2011-01-20 | Renesas Electronics Corp | 不揮発性半導体記憶装置 |
US8737138B2 (en) * | 2010-11-18 | 2014-05-27 | Micron Technology, Inc. | Memory instruction including parameter to affect operating condition of memory |
US8565025B2 (en) * | 2011-04-25 | 2013-10-22 | Freescale Semiconductor, Inc. | Dynamic programming for flash memory |
KR101903091B1 (ko) * | 2011-10-05 | 2018-10-02 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 |
US8400864B1 (en) * | 2011-11-01 | 2013-03-19 | Apple Inc. | Mechanism for peak power management in a memory |
KR20150022242A (ko) | 2013-08-22 | 2015-03-04 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
US9672875B2 (en) * | 2014-01-27 | 2017-06-06 | Micron Technology, Inc. | Methods and apparatuses for providing a program voltage responsive to a voltage determination |
CN103886916B (zh) * | 2014-03-27 | 2017-01-25 | 中国科学院电子学研究所 | 输入位宽可伸缩的编码/编解码存储系统 |
KR102128466B1 (ko) * | 2014-04-14 | 2020-06-30 | 삼성전자주식회사 | 메모리 시스템, 상기 메모리 시스템의 프로그램 방법 및 상기 메모리 시스템의 테스트 방법 |
KR20160001097A (ko) * | 2014-06-26 | 2016-01-06 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US9324419B2 (en) * | 2014-07-15 | 2016-04-26 | Sandisk Technologies Inc. | Multiple pass programming for memory with different program pulse widths |
US9760533B2 (en) * | 2014-08-14 | 2017-09-12 | The Regents On The University Of Michigan | Floating-gate transistor array for performing weighted sum computation |
KR102358463B1 (ko) * | 2014-10-20 | 2022-02-07 | 삼성전자주식회사 | 불휘발성 메모리 장치의 동작 방법 |
US9891643B2 (en) | 2014-12-05 | 2018-02-13 | Vidatronic, Inc. | Circuit to improve load transient behavior of voltage regulators and load switches |
KR102360211B1 (ko) * | 2015-01-21 | 2022-02-08 | 삼성전자주식회사 | 메모리 시스템의 동작 방법 |
US9324431B1 (en) * | 2015-01-27 | 2016-04-26 | Macronix International Co., Ltd. | Floating gate memory device with interpoly charge trapping structure |
JP2017011123A (ja) | 2015-06-23 | 2017-01-12 | ルネサスエレクトロニクス株式会社 | 半導体装置および半導体装置の駆動方法 |
US9779810B2 (en) * | 2015-09-11 | 2017-10-03 | Macronix International Co., Ltd. | Adjustable writing circuit |
CN106599990B (zh) * | 2015-10-08 | 2019-04-09 | 上海兆芯集成电路有限公司 | 具有神经存储器的神经网络单元和集体将来自神经存储器的数据列移位的神经处理单元阵列 |
KR102423291B1 (ko) * | 2016-01-15 | 2022-07-20 | 삼성전자주식회사 | 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법 |
KR102424371B1 (ko) * | 2016-01-19 | 2022-07-25 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
JP6833873B2 (ja) * | 2016-05-17 | 2021-02-24 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器 |
KR102120396B1 (ko) * | 2016-05-26 | 2020-06-08 | 더 가버닝 카운슬 오브 더 유니버시티 오브 토론토 | 심층 신경망용 가속기 |
WO2018047035A1 (en) | 2016-09-12 | 2018-03-15 | Semiconductor Energy Laboratory Co., Ltd. | Memory device, driving method thereof, semiconductor device, electronic component, and electronic device |
US10097086B2 (en) * | 2016-10-12 | 2018-10-09 | Cypress Semiconductor Corporation | Fast ramp low supply charge pump circuits |
US10431267B2 (en) | 2016-11-28 | 2019-10-01 | SK Hynix Inc. | Electronic device and method for driving the same |
US10026486B1 (en) | 2017-03-06 | 2018-07-17 | Sandisk Technologies Llc | First read countermeasures in memory |
IT201700034719A1 (it) * | 2017-03-29 | 2018-09-29 | Sk Hynix Inc | Metodo per controllare le operazioni di verifica di programmazione di una memoria non volatile e relativo circuito |
CN107665718B (zh) | 2017-09-19 | 2020-08-11 | 上海华虹宏力半导体制造有限公司 | 电荷转移型灵敏放大器 |
KR102386242B1 (ko) * | 2017-11-14 | 2022-04-12 | 삼성전자주식회사 | 전원 전압 변동에 독립적인 워드 라인 불량 검출 회로를 포함하는 메모리 장치 및 그 구동 방법 |
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 |
US20190207034A1 (en) * | 2017-12-28 | 2019-07-04 | Microchip Technology Incorporated | Split-Gate Memory Cell With Field-Enhanced Source Junctions, And Method Of Forming Such Memory Cell |
US10552510B2 (en) * | 2018-01-11 | 2020-02-04 | Mentium Technologies Inc. | Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays |
KR102505929B1 (ko) | 2018-04-25 | 2023-03-06 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
-
2018
- 2018-07-23 US US16/042,972 patent/US10522226B2/en active Active
-
2019
- 2019-04-08 CN CN201980029361.XA patent/CN112106140A/zh active Pending
- 2019-04-08 WO PCT/US2019/026409 patent/WO2019212699A1/en unknown
- 2019-04-08 KR KR1020207031553A patent/KR102654503B1/ko active IP Right Grant
- 2019-04-08 JP JP2020560979A patent/JP7288461B2/ja active Active
- 2019-04-08 EP EP19796373.9A patent/EP3788625A4/en not_active Withdrawn
- 2019-04-08 KR KR1020247010857A patent/KR20240046313A/ko not_active Application Discontinuation
- 2019-04-08 EP EP23211663.2A patent/EP4343625A1/en active Pending
- 2019-04-26 TW TW111109346A patent/TWI787099B/zh active
- 2019-04-26 TW TW112139066A patent/TWI834595B/zh active
- 2019-04-26 TW TW111145167A patent/TWI821047B/zh active
- 2019-04-26 TW TW109132610A patent/TWI760853B/zh active
- 2019-04-26 TW TW108114755A patent/TWI708249B/zh active
- 2019-08-24 US US16/550,223 patent/US10839907B2/en active Active
- 2019-08-25 US US16/550,248 patent/US10650893B2/en active Active
- 2019-08-25 US US16/550,254 patent/US10790022B2/en active Active
- 2019-08-25 US US16/550,253 patent/US10943661B2/en active Active
-
2021
- 2021-03-03 US US17/191,392 patent/US11521683B2/en active Active
-
2022
- 2022-05-02 US US17/734,807 patent/US11727989B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090016116A1 (en) * | 2007-07-13 | 2009-01-15 | Macronix International Co., Ltd. | Method of Programming and Erasing a Non-Volatile Memory Array |
US20170091616A1 (en) * | 2015-09-29 | 2017-03-30 | International Business Machines Corporation | Scalable architecture for analog matrix operations with resistive devices |
US20180040367A1 (en) * | 2016-08-04 | 2018-02-08 | Intel Corporation | Apparatus and method for endurance friendly programming using lower voltage thresholds |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11789857B2 (en) | 2021-08-11 | 2023-10-17 | International Business Machines Corporation | Data transfer with continuous weighted PPM duration signal |
TWI820686B (zh) * | 2021-08-11 | 2023-11-01 | 美商萬國商業機器公司 | 用於具有連續加權脈衝位置調變持續信號之資料傳輸之電腦實施方法,電腦程式產品,信號處理系統,陣列結構,以及建構陣列結構之方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102654503B1 (ko) | 딥 러닝 인공 신경망에서의 아날로그 신경 메모리용 고전압 생성을 위한 방법 및 장치 | |
CN111837190B (zh) | 用于在深度学习人工神经网络中对模拟神经存储器进行编程的方法和设备 | |
CN113366572B (zh) | 用于验证在深度学习人工神经网络中的模拟神经存储器中的非易失性存储器单元的编程操作期间存储的值的算法和电路 | |
CN111886804A (zh) | 用于深度学习人工神经网络中的模拟神经存储器的解码器 | |
CN111837189A (zh) | 用于深度学习神经网络中的模拟非易失性存储器的数据刷新的方法和设备 | |
CN112368716A (zh) | 对深度学习人工神经网络中的模拟神经存储器中包含故障存储器单元的行或列的冗余存储器访问 | |
JP7570459B2 (ja) | 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリの高電圧生成のための方法及び装置 | |
WO2024162979A1 (en) | Current-to-voltage converter comprising common mode circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |