CN115968495A - 用于人工神经网络中的模拟神经存储器阵列的自适应偏置解码器 - Google Patents
用于人工神经网络中的模拟神经存储器阵列的自适应偏置解码器 Download PDFInfo
- Publication number
- CN115968495A CN115968495A CN202180042600.2A CN202180042600A CN115968495A CN 115968495 A CN115968495 A CN 115968495A CN 202180042600 A CN202180042600 A CN 202180042600A CN 115968495 A CN115968495 A CN 115968495A
- Authority
- CN
- China
- Prior art keywords
- volatile memory
- memory system
- adaptive bias
- 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
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/08—Address circuits; Decoders; Word-line control circuits
-
- 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
- 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/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/30—Power supply 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了模拟神经存储器阵列的许多实施方案。某些实施方案包括自适应偏置解码器,该自适应偏置解码器用于向阵列输入线提供附加偏置以补偿接地浮动在0V以上的情况。这对于例如使读取、编程或擦除操作的电压降最小化,同时维持该操作的准确性是有用的。
Description
优先权声明
本申请要求2020年7月6日提交并且名称为“用于具有源极线下拉机构的人工神经网络中的模拟神经存储器阵列的自适应偏置解码器(Adaptive Bias Decoder for AnalogNeural Memory Array in Artificial Neural Network With Source Line PulldownMechanism)”的美国临时专利申请第63/048,470号以及2021年1月4日提交并且名称为“用于人工神经网络中的模拟神经存储器阵列的自适应偏置解码器(Adaptive Bias Decoderfor Analog Neural Memory Array in Artificial Neural Network)”的美国专利申请第17/140,924号的优先权。
技术领域
公开了模拟神经存储器阵列的许多实施方案。
背景技术
人工神经网络模拟生物神经网络(动物的中枢神经系统,特别是大脑),并且用于估计或近似可取决于大量输入并且通常未知的函数。人工神经网络通常包括互相交换消息的互连“神经元”层。
图1示出了人工神经网络,其中圆圈表示神经元的输入或层。连接部(称为突触)用箭头表示,并且具有可以根据经验进行调整的数值权重。这使得人工神经网络适应于输入并且能够学习。通常,人工神经网络包括多个输入的层。通常存在神经元的一个或多个中间层,以及提供神经网络的输出的神经元的输出层。处于每一级别的神经元分别地或共同地根据从突触所接收的数据作出决定。
在开发用于高性能信息处理的人工神经网络方面的主要挑战中的一个挑战是缺乏足够的硬件技术。实际上,实际人工神经网络依赖于大量的突触,从而实现神经元之间的高连通性,即非常高的计算并行性。原则上,此类复杂性可通过数字超级计算机或专用图形处理单元集群来实现。然而,相比于生物网络,这些方法除了高成本之外,能量效率也很普通,生物网络主要由于其执行低精度的模拟计算而消耗更少的能量。CMOS模拟电路已被用于人工神经网络,但由于给定大量的神经元和突触,大多数CMOS实现的突触都过于庞大。
申请人先前在美国专利申请第15/594,439号(公开为美国专利公布2017/0337466)中公开了一种利用一个或多个非易失性存储器阵列作为突触的人工(模拟)神经网络,该专利申请以引用方式并入本文。非易失性存储器阵列作为模拟神经形态存储器操作。如本文所用的术语“神经形态”是指实现神经系统模型的电路。模拟神经形态存储器包括被配置成接收第一多个输入并从其生成第一多个输出的第一多个突触,以及被配置成接收第一多个输出的第一多个神经元。第一多个突触包括多个存储器单元,其中存储器单元中的每个存储器单元包括:形成于半导体衬底中的间隔开的源极区和漏极区,其中沟道区在源极区和漏极区之间延伸;设置在沟道区的第一部分上方并且与第一部分绝缘的浮栅;以及设置在沟道区的第二部分上方并且与第二部分绝缘的非浮栅。多个存储器单元中的每个存储器单元被配置成存储与浮栅上的多个电子相对应的权重值。多个存储器单元被配置成将第一多个输入乘以所存储的权重值以生成第一多个输出。以这种方式布置的存储器单元阵列可被称为矢量矩阵乘法(VMM)阵列。
现在将讨论可以在VMM中使用的不同非易失性存储器单元的示例。
非易失性存储器单元
在VMM阵列中可以使用各种类型的已知非易失性存储器单元。例如,美国专利5,029,130(“130专利”),其以引用方式并入本文,公开了分裂栅非易失性存储器单元的阵列,它是一种闪存存储器单元。此类存储器单元210在图2中示出。每个存储器单元210包括形成于半导体衬底12中的源极区14和漏极区16,其间具有沟道区18。浮栅20形成在沟道区18的第一部分上方并且与其绝缘(并控制其电导率),并且形成在源极区14的一部分上方。字线端子22(其通常被耦接到字线)具有设置在沟道区18的第二部分上方并且与该沟道区的第二部分绝缘(并且控制其电导率)的第一部分,以及向上延伸并且位于浮栅20上方的第二部分。浮栅20和字线端子22通过栅极氧化物与衬底12绝缘。位线端子24耦接到漏极区16。
通过将高的正电压置于字线端子22上来对存储器单元210进行擦除(其中电子从浮栅去除),这导致浮栅20上的电子经由福勒-诺德海姆隧穿从浮栅20到字线端子22隧穿通过中间绝缘体。
通过将正的电压置于字线端子22上以及将正的电压置于源极区14上来编程存储器单元210(其中电子被置于浮栅上)。电子电流将从漏极区16流向源极区14(源极线端子)。当电子到达字线端子22和浮栅20之间的间隙时,电子将加速并且变为被激发的(加热的)。由于来自浮栅20的静电引力,一些加热的电子将通过栅极氧化物被注入到浮栅20上。
通过将正的读取电压置于漏极区16和字线端子22(其接通沟道区18的在字线端子下方的部分)上来读取存储器单元210。如果浮栅20带正电(即,电子被擦除),则沟道区18的在浮栅20下方的部分也被接通,并且电流将流过沟道区18,该沟道区被感测为擦除状态或“1”状态。如果浮栅20带负电(即,通过电子进行了编程),则沟道区的在浮栅20下方的部分被大部分或完全关断,并且电流将不会(或者有很少的电流)流过沟道区18,该沟道区被感测为编程状态或“0”状态。
表1示出可施加到存储器单元110的端子用于执行读取操作、擦除操作和编程操作的典型电压范围:
表1:图2的闪存存储器单元210的操作
WL | BL | SL | |
读取1 | 0.5V-3V | 0.1V-2V | 0V |
读取2 | 0.5V-3V | 0V-2V | 2V-0.1V |
擦除 | 约11V-13V | 0V | 0V |
编程 | 1V-2V | 1μA-3μA | 9V-10V |
“读取1”是其中单元电流在位线上输出的读取模式。“读取2”是其中单元电流在源极线端子上输出的读取模式。
图3示出了存储器单元310,其与图2的存储器单元210类似,但增加了控制栅(CG)端子28。控制栅端子28在编程中被偏置在高电压处(例如,10V),在擦除中被偏置在低电压或负电压处(例如,0v/-8V),在读取中被偏置在低电压或中等电压处(例如,0v/2.5V)。其他端子类似于图2那样偏置。
图4示出了四栅极存储器单元410,其包括源极区14、漏极区16、在沟道区18的第一部分上方的浮栅20、在沟道区18的第二部分上方的选择栅22(通常耦接到字线WL)、在浮栅20上方的控制栅28、以及在源极区14上方的擦除栅30。这种配置在美国专利6,747,310中有所描述,该专利以引用方式并入本文以用于所有目的。这里,除了浮栅20之外,所有的栅极均为非浮栅,这意味着它们电连接到或能够电连接到电压源。编程由来自沟道区18的将自身注入到浮栅20的加热的电子执行。擦除通过从浮栅20隧穿到擦除栅30的电子来执行。
表2示出可施加到存储器单元410的端子用于执行读取操作、擦除操作和编程操作的典型电压范围:
表2:图4的闪存存储器单元410的操作
WL/SG | BL | CG | EG | SL | |
读取1 | 0.5V-2V | 0.1V-2V | 0V-2.6V | 0V-2.6V | 0V |
读取2 | 0.5V-2V | 0V-2V | 0V-2.6V | 0V-2.6V | 2V-0.1V |
擦除 | -0.5V/0V | 0V | 0V/-8V | 8V-12V | 0V |
编程 | 1V | 1μA | 8V-11V | 4.5V-9V | 4.5V-5V |
“读取1”是其中单元电流在位线上输出的读取模式。“读取2”是其中单元电流在源极线端子上输出的读取模式。
图5示出了存储器单元510,除了不含擦除栅EG端子,存储器单元510与图4的存储器单元410类似。通过将衬底18偏置到高电压并将控制栅CG端子28偏置到低电压或负电压来执行擦除。另选地,通过将字线端子22偏置到正电压并将控制栅端子28偏置到负电压来执行擦除。编程和读取类似于图4的那样。
图6示出三栅极存储器单元610,其为另一种类型的闪存存储器单元。存储器单元610与图4的存储器单元410相同,除了存储器单元610没有单独的控制栅端子。除了没有施加控制栅偏置,擦除操作(通过使用擦除栅端子进行擦除)和读取操作类似于图4的操作。在没有控制栅偏置的情况下,编程操作也被完成,并且结果,在编程操作期间必须在源极线端子上施加更高的电压,以补偿控制栅偏置的缺乏。
表3示出可施加到存储器单元610的端子用于执行读取操作、擦除操作和编程操作的典型电压范围:
表3:图6的闪存存储器单元610的操作
WL/SG | BL | EG | SL | |
读取1 | 0.5V-2.2V | 0.1V-2V | 0V-2.6V | 0V |
读取2 | 0.5V-2.2V | 0V-2V | 0V-2.6V | 2V-0.1V |
擦除 | -0.5V/0V | 0V | 11.5V | 0V |
编程 | 1V | 2μA-3μA | 4.5V | 7V-9V |
“读取1”是其中单元电流在位线上输出的读取模式。“读取2”是其中单元电流在源极线端子上输出的读取模式。
图7示出堆叠栅存储器单元710,其为另一种类型的闪存存储器单元。存储器单元710与图2的存储器单元210类似,不同的是浮栅20在整个沟道区18上方延伸,并且控制栅端子22(其在这里将耦接到字线)在浮栅20上方延伸,由绝缘层(未示出)分开。使用从沟道18到靠近漏极区16的沟道区中的浮栅20的热电子注入来执行编程,并且使用从浮栅20到衬底12的福勒-诺德海姆(Fowler-Nordheim)电子隧穿来执行擦除。读取操作以与先前针对存储器单元210所述类似的方式操作。
表4示出可以施加到存储器单元710和衬底12的端子用于执行读取、擦除和编程操作的典型电压范围:
表4:图7的闪存存储器单元710的操作
CG | BL | SL | 衬底 | |
读取1 | 0V-5V | 0.1V–2V | 0V-2V | 0V |
读取2 | 0.5V-2V | 0V-2V | 2V-0.1V | 0V |
擦除 | -8V至-10V/0V | FLT | FLT | 8V-10V/15V-20V |
编程 | 8V-12V | 3V-5V/0V | 0V/3V-5V | 0V |
“读取1”是其中单元电流在位线上输出的读取模式。“读取2”是其中单元电流在源极线端子上输出的读取模式。任选地,在包括存储器单元210、310、410、510、610或710的行和列的阵列中,源极线可耦接到一行存储器单元或相邻的两行存储器单元。即,源极线端子可由相邻行的存储器单元共享。
图8示出双分裂栅存储器单元810。存储器单元810包括:浮栅(FG)20,其设置在衬底12上并与该衬底绝缘;控制栅28(CG),其设置在浮栅20上并与该浮栅绝缘;擦除栅30(EG),其设置成与浮栅20和控制栅28相邻并与该浮栅和控制栅绝缘并且设置在衬底12上并与该衬底绝缘,其中擦除栅以T形创建,使得控制栅CG的顶角面向T形擦除栅的内角以提高擦除效率;以及在衬底中与浮栅20相邻的漏极区16(DR)(具有连接到漏极扩散区16(DR)的位线接触件24(BL))。存储器单元形成为共享共同的擦除栅30的存储器单元对(左侧的A和右侧的B)。此单元设计与上文参考图2-图7讨论的存储器单元的不同之处至少在于,该单元缺少擦除栅EG下方的源极区,缺少选择栅(也称为字线),并且缺少用于每个存储器单元的沟道区。相反,单个连续沟道区18在两个存储器单元下方延伸(即,从一个存储器单元的漏极区16延伸到另一个存储器单元的漏极区16)。为了读取或编程一个存储器单元,将另一个存储器单元的控制栅28升高到足够的电压,以经由电压耦合到其间的浮栅20接通底层沟道区部分(例如,为了读取或编程单元A,经由来自CGB的电压耦接升高FGB上的电压以接通FGB下方的沟道区部分)。通过使用从浮栅20隧穿到擦除栅30的Fowler-Nordheim电子来执行擦除。使用从沟道18到浮栅20的热电子注入执行编程,这表示为表5中的编程1。替代地,使用从擦除栅30隧穿到浮栅20的Fowler-Nordheim电子执行编程,这表示为表5中的编程2。替代地,使用从沟道18隧穿到浮栅20的Fowler Nordheim电子执行编程,在这种情况下,条件类似于编程2,除了衬底在低电压或负电压处被偏置,同时擦除栅在低正电压处被偏置。
表5示出可施加到存储器单元810的端子用于执行读取操作、擦除操作和编程操作的典型电压范围:
表5:图8的闪存存储器单元810的操作
为了在人工神经网络中利用包括上述类型的非易失性存储器单元之一的存储器阵列,进行了两个修改。第一,对线路进行配置,使得每个存储器单元可被单独编程、擦除和读取,而不会不利地影响阵列中的其他存储器单元的存储器状态,如下文进一步解释。第二,提供存储器单元的连续(模拟)编程。
具体地,阵列中的每个存储器单元的存储器状态(即,浮栅上的电荷)可在独立地并且对其他存储器单元的干扰最小的情况下连续地从完全擦除状态变为完全编程状态。在另一个实施方案,阵列中的每个存储器单元的存储器状态(即,浮栅上的电荷)可在独立地并且对其他存储器单元的干扰最小的情况下连续地从完全编程状态变为完全擦除状态,反之亦然。这意味着单元存储装置是模拟的,或者至少可存储许多离散值(诸如16或64个不同的值)中的一个离散值,这允许对存储器阵列中的所有单元进行非常精确且单独的调谐,并且这使得存储器阵列对于存储和对神经网络的突触权重进行精细调谐是理想的。
本文所述的方法和装置可应用于其他非易失性存储器技术,诸如但不限于FINFET分裂栅闪存或堆叠栅闪存存储器、NAND闪存、SONOS(硅-氧化物-氮化物-氧化物-硅,电荷捕获在氮化物中)、MONOS(金属-氧化物-氮化物-氧化物-硅,金属电荷捕获在氮化物中)、ReRAM(电阻式ram)、PCM(相变存储器)、MRAM(磁性ram)、FeRAM(铁电ram)、OTP(双层或多层式一次可编程)和CeRAM(关联电子ram)等。本文所述的方法和装置可应用于用于神经网络的易失性存储器技术,诸如但不限于SRAM、DRAM和/或易失性突触单元。
采用非易失性存储器单元阵列的神经网络
图9概念性地示出本实施方案的使用非易失性存储器阵列的神经网络的非限制性示例。该示例将非易失性存储器阵列神经网络用于面部识别应用,但任何其他适当的应用也可使用基于非易失性存储器阵列的神经网络来实现。
对于该示例,S0为输入层,其为具有5位精度的32x32像素RGB图像(即,三个32x32像素阵列,分别用于每个颜色R、G和B,每个像素为5位精度)。从输入层S0到层C1的突触CB1在一些情况下应用不同的权重集,在其他情况下应用共享权重,并且用3x3像素重叠滤波器(内核)扫描输入图像,将滤波器移位1个像素(或根据模型所指示的多于1个像素)。具体地,将图像的3x3部分中的9个像素的值(即,称为滤波器或内核)提供给突触CB1,其中将这9个输入值乘以适当的权重,并且在对该乘法的输出求和之后,由CB1的第一突触确定并提供单个输出值以用于生成特征映射的其中一层C1的像素。然后将3x3滤波器在输入层S0内向右移位一个像素(即,添加右侧的三个像素的列,并释放左侧的三个像素的列),由此将该新定位的滤波器中的9个像素值提供给突触CB1,其中将它们乘以相同的权重并且由相关联的突触确定第二单个输出值。继续该过程,直到3x3滤波器在输入层S0的整个32x32像素图像上扫描所有三种颜色和所有位(精度值)。然后使用不同组的权重重复该过程以生成C1的不同特征映射,直到计算出层C1的所有特征映射。
在层C1处,在本示例中,存在16个特征映射,每个特征映射具有30x30像素。每个像素是从输入和内核的乘积中提取的新特征像素,因此每个特征映射是二维阵列,因此在该示例中,层C1由16层的二维阵列构成(记住本文所引用的层和阵列是逻辑关系,而不必是物理关系,即阵列不必定向于物理二维阵列)。在层C1中的16个特征映射中的每个特征映射均由应用于滤波器扫描的十六个不同组的突触权重中的一组生成。C1特征映射可全部涉及相同图像特征的不同方面,诸如边界识别。例如,第一映射(使用第一权重组生成,针对用于生成该第一映射的所有扫描而共享)可识别圆形边缘,第二映射(使用与第一权重组不同的第二权重组生成)可识别矩形边缘,或某些特征的纵横比,以此类推。
在从层C1转到层S1之前,应用激活函数P1(池化),该激活函数将来自每个特征映射中连续的非重叠2x2区域的值进行池化。池化函数的目的是对邻近位置求均值(或者也可使用max函数),以例如减少边缘位置的依赖性,并在进入下一阶段之前减小数据大小。在层S1处,存在16个15x15特征映射(即,十六个每个特征映射15x15像素的不同阵列)。从层S1到层C2的突触CB2利用4x4滤波器扫描S1中的映射,其中滤波器移位1个像素。在层C2处,存在22个12x12特征映射。在从层C2转到层S2之前,应用激活函数P2(池化),该激活函数将来自每个特征映射中连续的非重叠2x2区域的值进行池化。在层S2处,存在22个6x6特征映射。将激活函数(池化)应用于从层S2到层C3的突触CB3,其中层C3中的每个神经元经由CB3的相应突触连接至层S2中的每个映射。在层C3处,存在64个神经元。从层C3到输出层S3的突触CB4完全将C3连接至S3,即层C3中的每个神经元都连接到层S3中的每个神经元。S3处的输出包括10个神经元,其中最高输出神经元确定类。例如,该输出可指示对原始图像的内容的识别或分类。
使用非易失性存储器单元的阵列或阵列的一部分来实现每层的突触。
图10为可用于该目的的系统的框图。VMM系统32包括非易失性存储器单元,并且用作一层与下一层之间的突触(诸如图6中的CB1、CB2、CB3和CB4)。具体地,VMM系统32包括VMM阵列33(包括以行和列布置的非易失性存储器单元)、擦除栅和字线栅解码器34、控制栅解码器35、位线解码器36和源极线解码器37,这些解码器对非易失性存储器单元阵列33的相应输入进行解码。对VMM阵列33的输入可来自擦除栅和字线栅解码器34或来自控制栅解码器35。在该示例中,源极线解码器37还对VMM阵列33的输出进行解码。另选地,位线解码器36可对VMM阵列33的输出进行解码。
VMM阵列33用于两个目的。首先,它存储将由VMM系统32使用的权重。其次,VMM阵列33有效地将输入与存储在VMM阵列33中的权重相乘并且每个输出线(源极线或位线)将它们相加以产生输出,该输出将作为下一层的输入或最终层的输入。通过执行乘法和加法函数,VMM阵列33消除了对单独的乘法和加法逻辑电路的需要,并且由于其原位存储器计算也是高功效的。
将VMM阵列33的输出提供至差分求和器(诸如求和运算放大器或求和电流镜)38,该差分求和器对VMM阵列33的输出进行求和,以为该卷积创建单个值。差分求和器38被布置用于执行正权重输入和负权重输入两者的求和,以输出单个值。
然后将差分求和器38的输出值求和后提供至激活函数电路39,该激活函数电路对输出进行修正。激活函数电路39可提供sigmoid、tanh、ReLU函数或任何其他非线性函数。激活函数电路39的经修正的输出值成为作为下一层(例如,图9中的层C1)的特征映射的元素,随后被应用于下一个突触以产生下一个特征映射层或最终层。因此,在该示例中,VMM阵列33构成多个突触(其从现有神经元层或从输入层诸如图像数据库接收它们的输入),并且求和器38和激活函数电路39构成多个神经元。
图10中对VMM系统32的输入(WLx、EGx、CGx以及任选的BLx和SLx)可为模拟电平(例如,电流、电压或电荷)、二进制电平、数字脉冲(在这种情况下,可能需要脉冲-模拟转换器PAC来将脉冲转换至合适的输入模拟电平)或数字位(在这种情况下,提供DAC以将数字位转换至合适的输入模拟电平);输出可为模拟电平、二进制电平、数字脉冲或数字位(在这种情况下,提供输出ADC以将输出模拟电平转换成数字位)。
图11为示出了多层VMM系统32(此处标记为VMM系统32a、32b、32c、32d和32e)的使用的框图。如图11所示,通过数模转换器31将输入(表示为Inputx)从数字转换为模拟,并将其提供至输入VMM系统32a。转换的模拟输入可以是电压或电流。第一层的输入D/A转换可通过使用将输入Inputx映射到输入VMM系统32a的矩阵乘法器的适当模拟电平的函数或LUT(查找表)来完成。输入转换也可由模拟至模拟(A/A)转换器完成,以将外部模拟输入转换成到输入VMM系统32a的映射模拟输入。输入转换也可由数字至数字脉冲(D/P)转换器完成,以将外部数字输入转换成到输入VMM系统32a的映射的一个或多个数字脉冲。
由输入VMM系统32a产生的输出被作为到下一个VMM系统(隐藏级别1)32b的输入提供,该输入继而生成作为下一VMM系统(隐藏级别2)32c的输入而提供的输出,以此类推。VMM系统32的各层用作卷积神经网络(CNN)的突触和神经元的不同层。每个VMM系统32a、32b、32c、32d和32e可以是包括相应非易失性存储器阵列的独立物理系统、或者多个VMM系统可利用相同物理非易失性存储器阵列的不同部分、或者多个VMM系统可利用相同物理非易失性存储器阵列的重叠部分。每个VMM系统32a、32b、32c、32d和32e也可针对其阵列或神经元的不同部分进行时分复用。图11所示的示例包含五个层(32a、32b、32c、32d、32e):一个输入层(32a)、两个隐藏层(32b、32c)和两个完全连接的层(32d、32e)。本领域的普通技术人员将会知道,这仅仅是示例性的,并且相反,系统可包括两个以上的隐藏层和两个以上的完全连接的层。
VMM阵列
图12示出神经元VMM阵列1200,该神经元VMM阵列特别适用于图3所示的存储器单元310,并且用作输入层与下一层之间的神经元的突触和部件。VMM阵列1200包括非易失性存储器单元的存储器阵列1201和非易失性参考存储器单元的参考阵列1202(在阵列的顶部)。另选地,可将另一个参考阵列置于底部。
在VMM阵列1200中,控制栅线(诸如控制栅线1203)在竖直方向上延伸(因此参考阵列1202在行方向上与控制栅线1203正交),并且擦除栅线(诸如擦除栅线1204)在水平方向上延伸。此处,VMM阵列1200的输入设置在控制栅线(CG0、CG1、CG2、CG3)上,并且VMM阵列1200的输出出现在源极线(SL0、SL1)上。在一个实施方案中,仅使用偶数行,并且在另一个实施方案中,仅使用奇数行。置于各源极线(分别为SL0、SL1)上的电流执行来自连接到该特定源极线的存储器单元的所有电流的求和函数。
如本文针对神经网络所述,VMM阵列1200的非易失性存储器单元(即VMM阵列1200的闪存存储器)优选地被配置成在亚阈值区域中操作。
在弱反转中偏置本文所述的非易失性参考存储器单元和非易失性存储器单元:
Ids=Io*e(Vg-Vth)/nVt=w*Io*e(Vg)/nVt,
其中w=e(-Vth)/nVt
其中Ids为漏极到源极电流;Vg为存储器单元上的栅极电压;Vth是存储器单元的阈值电压;Vt是热电压=k*T/q,其中k是玻尔兹曼常数,T是以开尔文为单位的温度,并且q是电子电荷;n是斜率因子=1+(Cdep/Cox),其中Cdep=耗尽层的电容,并且Cox是栅极氧化物层的电容;Io是等于阈值电压的栅极电压下的存储器单元电流,Io与(Wt/L)*u*Cox*(n-1)*Vt2成比例,其中u是载流子迁移率,并且Wt和L分别是存储器单元的宽度和长度。
对于使用存储器单元(诸如参考存储器单元或外围存储器单元)或晶体管将输入电流Ids转换为输入电压Vg的I到V对数转换器:
Vg=n*Vt*log[Ids/wp*Io]
此处,wp为参考存储器单元或外围存储器单元的w。
对于使用存储器单元(诸如参考存储器单元或外围存储器单元)或晶体管将输入电流Ids转换为输入电压Vg的I到V对数转换器:
Vg=n*Vt*log[Ids/wp*Io]
此处,wp为参考存储器单元或外围存储器单元的w。
对于用作矢量矩阵乘法器VMM阵列的存储器阵列,输出电流为:
Iout=wa*Io*e(Vg)/nVt,即
Iout=(wa/wp)*Iin=W*Iin
W=e(Vthp-Vtha)/nVt
Iin=wp*Io*e(Vg)/nVt
此处,wa=存储器阵列中的每个存储器单元的w。
字线或控制栅可用作输入电压的存储器单元的输入。
另选地,本文所述的VMM阵列的非易失性存储器单元可被配置成在线性区域中操作:
Ids=β*(Vgs-Vth)*Vds;β=u*Cox*Wt/L,
Wα(Vgs-Vth),
意指线性区域中的权重W与(Vgs-Vth)成比例
字线或控制栅或位线或源极线可以用作在线性区域中操作的存储器单元的输入。位线或源极线可用作存储器单元的输出。
对于I到V线性转换器,在线性区域工作的存储器单元(例如参考存储器单元或外围存储器单元)或晶体管或电阻器可以用来将输入/输出电流线性转换成输入/输出电压。
另选地,本文所述的VMM阵列的存储器单元可被配置成在饱和区域中操作:
Ids=1/2*β*(Vgs-Vth)2;β=u*Cox*Wt/L
Wα(Vgs-Vth)2,意指权重W与(Vgs-Vth)2成比例
字线、控制栅或擦除栅可以用作在饱和区域中操作的存储器单元的输入。位线或源极线可用作输出神经元的输出。
另选地,本文所述的VMM阵列的存储器单元可用于神经网络的每个层或多个层的所有区域或其组合(亚阈值、线性或饱和区域)。
图13示出了神经元VMM阵列1300,该神经元VMM阵列特别适用于图2所示的存储器单元210,并且用作输入层与下一层之间的突触。VMM阵列1300包括非易失性存储器单元的存储器阵列1303、第一非易失性参考存储器单元的参考阵列1301和第二非易失性参考存储器单元的参考阵列1302。沿阵列的列方向布置的参考阵列1301和1302用于将流入端子BLR0、BLR1、BLR2和BLR3的电流输入转换为电压输入WL0、WL1、WL2和WL3。实际上,第一非易失性参考存储器单元和第二非易失性参考存储器单元通过多路复用器1314(仅部分示出)二极管式连接,其中电流输入流入其中。参考单元被调谐(例如,编程)为目标参考电平。目标参考电平由参考微阵列矩阵(未示出)提供。
存储器阵列1303用于两个目的。首先,它将VMM阵列1300将使用的权重存储在其相应的存储器单元上。第二,存储器阵列1303有效地将输入(即,在端子BLR0、BLR1、BLR2和BLR3中提供的电流输入,参考阵列1301和1302将它们转换成输入电压以提供给字线WL0、WL1、WL2和WL3)乘以存储在存储器阵列1303中的权重,然后将所有结果(存储器单元电流)相加以在相应的位线(BL0-BLN)上产生输出,该输出将是下一层的输入或最终层的输入。通过执行乘法和加法函数,存储器阵列1303消除了对单独的乘法逻辑电路和加法逻辑电路的需要,并且也是高功效的。这里,电压输入在字线(WL0、WL1、WL2和WL3)上提供,并且输出在读取(推断)操作期间出现在相应位线(BL0-BLN)上。置于位线BL0-BLN中的每个位线上的电流执行来自连接到该特定位线的所有非易失性存储器单元的电流的求和函数。
表6示出用于VMM阵列1300的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的源极线和用于未选单元的源极线上的电压,其中FLT指示浮动,即未施加电压。行指示读取、擦除和编程操作。
表6:图13的VMM阵列1300的操作
图14示出神经元VMM阵列1400,该神经元VMM阵列特别适用于图2所示的存储器单元210,并且用作输入层与下一层之间的神经元的突触和部件。VMM阵列1400包括非易失性存储器单元的存储器阵列1403、第一非易失性参考存储器单元的参考阵列1401和第二非易失性参考存储器单元的参考阵列1402。参考阵列1401和1402在VMM阵列1400的行方向上延伸。VMM阵列与VMM 1300类似,不同的是在VMM阵列1400中,字线在竖直方向上延伸。这里,输入设置在字线(WLA0、WLB0、WLA1、WLB2、WLA2、WLB2、WLA3、WLB3)上,并且输出在读取操作期间出现在源极线(SL0、SL1)上。置于各源极线上的电流执行来自连接到该特定源极线的存储器单元的所有电流的求和函数。
表7示出用于VMM阵列1400的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的源极线和用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
表7:图14的VMM阵列1400的操作
图15示出神经元VMM阵列1500,该神经元VMM阵列特别适用于图3所示的存储器单元310,并且用作输入层与下一层之间的神经元的突触和部件。VMM阵列1500包括非易失性存储器单元的存储器阵列1503、第一非易失性参考存储器单元的参考阵列1501和第二非易失性参考存储器单元的参考阵列1502。参考阵列1501和1502用于将流入端子BLR0、BLR1、BLR2和BLR3的中的电流输入转换为电压输入CG0、CG1、CG2和CG3。实际上,第一非易失性参考存储器单元和第二非易失性参考存储器单元通过多路复用器1512(仅部分示出)二极管式连接,其中电流输入通过BLR0、BLR1、BLR2和BLR3流入其中。多路复用器1512各自包括相应的多路复用器1505和共源共栅晶体管1504,以确保在读取操作期间第一非易失性参考存储器单元和第二非易失性参考存储器单元中的每一者的位线(诸如BLR0)上的恒定电压。将参考单元调谐至目标参考电平。
存储器阵列1503用于两个目的。首先,它存储将由VMM阵列1500使用的权重。第二,存储器阵列1503有效地将输入(提供到端子BLR0、BLR1、BLR2和BLR3的电流输入,参考阵列1501和1502将这些电流输入转换成输入电压以提供给控制栅CG0、CG1、CG2和CG3)乘以存储在存储器阵列中的权重,然后将所有结果(单元电流)相加以产生输出,该输出出现在BL0-BLN并且将是下一层的输入或最终层的输入。通过执行乘法和加法函数,存储器阵列消除了对单独的乘法和加法逻辑电路的需要,并且也是高功效的。这里,输入提供在控制栅线(CG0、CG1、CG2和CG3)上,输出在读取操作期间出现在位线(BL0-BLN)上。置于各位线上的电流执行来自连接到该特定位线的存储器单元的所有电流的求和函数。
VMM阵列1500为存储器阵列1503中的非易失性存储器单元实现单向调谐。也就是说,每个非易失性存储器单元被擦除,然后被部分编程,直到达到浮栅上的所需电荷。这可例如使用下文所述的精确编程技术来执行。如果在浮栅上放置过多电荷(使得错误的值存储在单元中),则必须擦除单元,并且部分编程操作的序列必须重新开始。如图所示,共享同一擦除栅(诸如EG0或EG1)的两行需要一起擦除(其被称为页面擦除),并且此后,每个单元被部分编程,直到达到浮栅上的所需电荷。
表8示出用于VMM阵列1500的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的控制栅、用于与所选单元相同扇区中的未选单元的控制栅、用于与所选单元不同扇区中的未选单元的控制栅、用于所选单元的擦除栅、用于未选单元的擦除栅、用于所选单元的源极线、用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
表8:图15的VMM阵列1500的操作
图16示出神经元VMM阵列1600,该神经元VMM阵列特别适用于图3所示的存储器单元310,并且用作输入层与下一层之间的神经元的突触和部件。VMM阵列1600包括非易失性存储器单元的存储器阵列1603、第一非易失性参考存储器单元的参考阵列1601和第二非易失性参考存储器单元的参考阵列1602。EG线EGR0、EG0、EG1和EGR1竖直延伸,而CG线CG0、CG1、CG2和CG3以及SL线WL0、WL1、WL2和WL3水平延伸。VMM阵列1600与VMM阵列1600类似,不同的是VMM阵列1600实现双向调谐,其中每个单独的单元可以根据需要被完全擦除、部分编程和部分擦除,以由于使用单独的EG线而在浮栅上达到期望的电荷量。如图所示,参考阵列1601和1602将端子BLR0、BLR1、BLR2和BLR3中的输入电流转换成要在行方向上施加到存储器单元的控制栅电压CG0、CG1、CG2和CG3(通过经由多路复用器1614的二极管连接的参考单元的动作)。电流输出(神经元)在位线BL0-BLN中,其中每个位线对来自连接到该特定位线的非易失性存储器单元的所有电流求和。
表9示出用于VMM阵列1600的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的控制栅、用于与所选单元相同扇区中的未选单元的控制栅、用于与所选单元不同扇区中的未选单元的控制栅、用于所选单元的擦除栅、用于未选单元的擦除栅、用于所选单元的源极线、用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
表9:图16的VMM阵列1600的操作
VMM阵列的输入可为模拟电平、二进制电平、定时脉冲、或数字位,并且输出可为模拟电平、二进制电平、定时脉冲或数字位(在这种情况下,需要输出ADC来将输出模拟电平电流或电压转换成数字位)。
对于VMM阵列中的每个存储器单元,每个权重w可由单个存储器单元或由差分单元或由两个混合存储器单元(2个或更多个单元的平均值)来实现。在差分单元的情况下,需要两个存储器单元来实现权重w作为差分权重(w=w+-w-)。在两个混合存储器单元中,需要两个存储器单元来实现权重w作为两个单元的平均值。
非易失性存储器单元的现有技术阵列的一个缺点是需要相对大量的时间来将源极线拉至接地以执行读取或擦除操作。
需要一种改进的VMM系统,该改进的VMM系统能够比现有技术系统更准确地将源极线下拉至接地。还需要一种自适应偏置电路,该自适应偏置电路能够在源极线被下拉到大于0V的电压的那些情况下(即,在“接地”线实际上不处于0V的情况下)改变施加到VMM系统的输入线和/或输出线的偏置。
发明内容
公开了模拟神经存储器阵列的许多实施方案。某些实施方案包含用于将源极线准确地拉低至接地的改进机构。例如,这是有用的,以使读取、编程或擦除操作的电压降最小化。其他实施方案包含针对具有负和正权重的负和正输入的具体实施。其他实施方案包含自适应偏置电路,该自适应偏置电路能够在源极线被下拉到大于0V的电压的那些情况下(即,在“接地”线实际上不处于0V的情况下)改变对VMM系统的输入线或输出线的偏置。
附图说明
图1示出现有技术的人工神经网络。
图2示出现有技术的分裂栅闪存存储器单元。
图3示出另一现有技术的分裂栅闪存存储器单元
图4示出另一现有技术的分裂栅闪存存储器单元。
图5示出另一现有技术的分裂栅闪存存储器单元。
图6示出另一现有技术的分裂栅闪存存储器单元。
图7示出现有技术的堆叠栅闪存存储器单元。
图8示出双分裂栅存储器单元。
图9示出使用一个或多个VMM阵列的示例性人工神经网络的不同层级。
图10示出包括VMM阵列和其他电路的VMM系统。
图11示出使用一个或多个VMM系统的示例性人工神经网络。
图12示出VMM阵列的实施方案。
图13示出VMM阵列的另一实施方案。
图14示出VMM阵列的另一实施方案。
图15示出VMM阵列的另一实施方案。
图16示出VMM阵列的另一实施方案。
图17示出VMM系统。
图18A、图18B和图18C示出现有技术的VMM阵列。
图19A、图19B和图19C示出改进的VMM阵列。
图20示出另一改进的VMM阵列。
图21示出具有改进的源极线下拉机构的VMM系统。
图22示出具有改进的源极线下拉机构的另一VMM系统。
图23示出具有改进的源极线下拉机构的另一VMM系统。
图24示出具有改进的源极线下拉机构的另一VMM系统。
图25示出具有改进的源极线下拉机构的VMM系统的示例性布局图。
图26示出具有改进的源极线下拉机构的VMM系统的另一示例性布局图。
图27A、图27B和图27C示出其他改进的VMM阵列。
图28示出包括冗余阵列的另一改进的VMM阵列。
图29示出包括两个VMM阵列和共享虚拟位线切换电路的另一改进的VMM系统。
图30示出另一改进的VMM系统。
图31示出求和器电路的实施方案。
图32示出求和器电路的另一实施方案。
图33A和图33B示出求和器电路的其他实施方案。
图34A、图34B和图34C示出输出电路的实施方案。
图35示出神经元输出电路。
图36示出模数转换器的实施方案。
图37示出模数转换器的另一实施方案。
图38示出模数转换器的另一实施方案。
图39示出模数转换器的另一实施方案。
图40示出在VMM阵列中的控制栅线与源极线之间的期望电压差。
图41示出在VMM阵列中的字线与源极线之间的期望电压差。
图42示出在VMM阵列中的位线与源极线之间的期望电压差。
图43示出响应于温度变化的VMM阵列中的端子的典型电压变化。
图44A和图44B示出自适应偏置电路。
图45A和图45B示出调节器电路。
图46A示出数模转换器。
图46B示出模数转换器。
图47示出解码器。
图48示出电流到电压求和器。
图49示出另一电流到电压求和器。
图50示出另一电流到电压求和器。
图51示出另一电流到电压求和器。
图52示出另一电流到电压求和器。
图53示出用于擦除栅解码器、控制栅解码器和源极线解码器的高电压解码电路。
具体实施方式
本发明的人工神经网络利用CMOS技术和非易失性存储器阵列的组合。
改进的VMM系统的实施方案
图17示出了VMM系统1700的框图。VMM系统1700包括VMM阵列1701、行解码器1702、高电压解码器1703、列解码器1704、位线驱动器1705、输入电路1706、输出电路1707、控制逻辑部件1708和偏置发生器1709。VMM系统1700进一步包括高电压生成块1710,该高电压生成块包括电荷泵1711、电荷泵调节器1712和高电压电平发生器1713。VMM系统1700还包括算法控制器1714、模拟电路1715、控制逻辑部件1716和测试控制逻辑部件1717。下文所述的系统和方法能够在VMM系统1700中实现。
输入电路1706可以包括电路,诸如DAC(数模转换器)、DPC(数字到脉冲转换器)、AAC(模拟到模拟转换器,诸如电流到电压转换器)、PAC(脉冲到模拟电平转换器)或任何其他类型的转换器。该输入电路1706可以实现归一化、尺度函数或算术函数。该输入电路1706能够实现对输入的温度补偿函数。输入电路1706能够实现激活函数,诸如ReLU或sigmoid函数。输出电路1707能够包括电路,诸如ADC(模数转换器,用于将神经元模拟输出转换为数字位)、AAC(模拟到模拟转换器,诸如电流到电压转换器)、APC(模拟到脉冲转换器)或任何其他类型的转换器。输出电路1707能够实现激活函数,诸如ReLU或sigmoid函数。输出电路1707能够在神经元输出上实现统计归一化、正则化、上/下缩放函数、统计舍入或算术函数(例如,加法、减法、除法、乘法、移位、对数)。输出电路1707能够在神经元输出或阵列输出(诸如位线输出)上实现温度补偿函数,使得保持阵列的功率消耗大致恒定或诸如通过使IV斜率保持大致相同来提高阵列(神经元)输出的精度。
图18A示出现有技术的VMM系统1800。VMM系统1800包括示例性单元1801和1802、示例性位线开关1803(其将位线连接到感测电路)、示例性虚拟位线开关1804(其耦合到低电平,诸如读取中的接地电平),示例性虚拟单元1805和1806(源极线下拉单元)。位线开关1803耦合到单元列,该单元列包括用于在VMM系统1800中存储数据的单元1801和1802。虚拟位线开关1804耦合到作为虚拟单元的单元的列(位线),这些虚拟单元不用于在VMM系统1800中存储数据。此虚拟位线(也称为源极线下拉位线)被用作读取中的源极线下拉,这意味着其用于通过虚拟位线中的存储器单元将源极线SL拉到低电平(诸如接地电平)。
VMM系统1800的一个缺点是,由于通过相关位线开关、单元本身和相关虚拟位线开关的电路径的长度,每个单元的输入阻抗不同。例如,图18B示出了通过位线开关1803、单元1801、虚拟单元1805和虚拟位线开关1804的电路径。类似地,图18C示出了通过位线开关1803、竖直金属位线1807、单元1802、虚拟单元1808、竖直金属位线1808和虚拟位线开关1804的电路径。可以看出,通过单元1802的路径穿过的位线和虚拟位线的长度要大得多,这与更高的电容和更高的电阻相关联。这使得单元1802在位线或源极线中的寄生阻抗大于单元1801的寄生阻抗。例如,这种可变性是缺点,因为它会导致应用于读取或验证(对于编程/擦除调谐周期)单元的单元输出精度取决于这些单元在阵列中的位置而变化。
图19A示出改进的VMM系统1900。VMM系统1900包括示例性单元1901和1902、示例性位线开关1903(其将位线连接到感测电路)、示例性虚拟单元1905和1906(源极线下拉单元)以及示例性虚拟位线开关1904(其耦合到读取中的低电平诸如接地电平,该开关连接到虚拟位线,该虚拟位线连接到用作源极线下拉的虚拟单元)。可以看出,示例性虚拟位线开关1904和其他虚拟位线开关位于阵列的与位线开关1903和其他位线开关相对的端上。
在图19B和图19C中可以看到这种设计的益处。图19B示出通过位线开关1903、单元1901、虚拟单元1905(源极线下拉单元)、竖直金属位线1908和虚拟位线开关1904(其在读取中耦合到诸如接地电平的低电平)的电路径。图19C示出通过位线开关1903、竖直金属线1907、单元1902、虚拟单元1906(源极线下拉单元)和虚拟位线开关1904的电路径。这些路径基本上相同(单元、互连长度),这适用于VMM系统1900中的所有单元。因此,每个单元的位线阻抗加上源极线阻抗基本上相同,这意味着被汲取用于阵列中的不同单元的读取操作或验证操作的寄生电压降的量的变化相对来说相同。
图20示出具有全局源极线拉低位线的VMM系统2000。VMM系统2000类似于VMM系统1900,不同之处在于:虚拟位线2005a-2005n或2007a-2007n连接在一起(以在读取或验证期间充当全局源极线下拉线以将存储器单元源极线拉到接地电平),虚拟位线开关(诸如虚拟位线开关2001和2002)连接或耦合到公共接地,表示为ARYGND;并且源极线一起耦接到源极线开关2003,该源极线开关选择性地将源极线拉至接地。这些变化进一步减小在读取或验证操作期间单元之间的(阵列)寄生阻抗的变化。源极线连接在一起作为SLARY 2888。
图21示出VMM系统2100。VMM系统2100包括位线开关2101、下拉位线开关2102、下拉位线开关2103、位线开关2104、数据单元2105(本文中,“数据单元”是用于存储神经网络的权重值的存储器单元)、下拉单元2106、下拉单元2107和数据单元2018。注意,拉低单元2106和2107彼此相邻。这允许两个拉低单元2106和2107的竖直金属线BLpdx连接在一起(线2111),以减小由于所得较宽的金属线而产生的寄生电阻。在数据单元2105的读取或验证(用于编程/擦除调谐循环)操作期间,电流将通过位线开关2101流入单元2105的位线端子中并且流出到单元2015的源极线端子,在该源极线端子处该电流然后流入源极线2110,在该源极线处该电流流入下拉单元2106和2107的源极线端子,并流过下拉位线开关2102和2103。在单元2104的读取或验证(用于编程/擦除调谐循环)操作期间,电流将通过位线开关2104流入数据单元2108的位线端子中并且流出到单元2108的源极线端子,在该源极线端子处该电流然后流入源极线2110,在该源极线处该电流流入下拉单元2106和2107的源极线端子,并流过下拉位线开关2102和2103。这种列图案在整个阵列中重复,其中每四个列包含两列数据单元和两个相邻的阵列列,该两个相邻的阵列列用于下拉操作。在另一个实施方案中,两个相邻列的两个下拉单元的扩散部可以合并在一起成为一个更大的扩散部,以增加下拉能力。在另一个实施方案中,下拉单元的扩散部可以制成得比数据单元扩散部的扩散部大,以增加下拉能力。在另一个实施方案中,每个下拉单元具有与所选数据单元的偏置条件不同的偏置条件。
在一个实施方案中,下拉单元具有与常规数据存储器单元相同的物理结构。在另一实施方案中,下拉单元具有与常规数据存储器单元不同的物理结构,例如,下拉单元可以是常规数据存储器单元的修改版本,诸如通过修改一个或多个物理维度(宽度、长度等)或电参数(层厚度、植入等)。在另一实施方案中,下拉单元是常规晶体管(没有浮栅),诸如IO或高电压晶体管。
图22示出VMM系统2200。VMM系统2200包括位线2201、下拉位线2202、数据单元2203和2206、下拉单元2204和2205以及源极线2210。在单元2203的读取或验证操作期间,电流将通过位线开关2201流入到单元2203的位线端子中并且流出到单元2203的源极线端子,在该源极线端子处电流然后流入源极线2210并进入下拉单元2204的源极线端子中,并且通过下拉位线BLpd 2202。对于每个列重复此设计,最终结果是包含下拉单元2204的行是下拉单元行。
在单元2206的读取或验证(用于编程/擦除调谐循环)操作期间,电流将通过位线开关2201流入到单元2206的位线端子中并且流出到单元2206的源极线端子,在该源极线端子处电流然后流入源极线2211并进入下拉单元2205的源极线端子中,并且通过下拉位线2202。对于每个列重复此设计,最终结果是包含下拉单元2205的行是下拉单元行。如图22所示,存在四行,两个中间相邻行用于下拉单元,顶部和底部行是数据单元。
表10示出用于VMM系统2200的工作电压。表中的列指示设置在用于所选单元的位线、位线下拉、用于所选单元的字线、用于所选单元的控制栅、用于所选下拉单元的字线WLS、用于所选下拉单元的控制栅CGS、用于所有单元的擦除栅、以及用于所有单元的源极线上的电压。行指示读取、擦除和编程操作。注意,用于读取中的CGS和WLS的电压偏置高于常规WL和CG偏置的电压偏置,以增强下拉单元的驱动能力。在编程时,针对WLS和CGS偏置的电压可以是负的,以减少干扰。
表10:图22的VMM阵列2200的操作
图23示出VMM系统2300。VMM系统2300包括位线2301、位线2302、数据单元2303和2306,以及下拉单元2304和2305。在单元2303的读取或验证(用于编程/擦除调谐循环)操作期间,电流将通过位线开关2301流入到单元2303的位线端子中并且流出到单元2303的源极线端子,在该源极线端子处电流然后流入下拉单元2304的源极线端子并流过位线2302(在这种情况下用作下拉位线)。对于每个列重复此设计,最终结果是包含下拉单元2304的处于第一模式的行是下拉单元行。在数据单元2306的读取或验证(用于编程/擦除调谐循环)操作期间,电流将通过位线开关2301流入到单元2306的位线端子中并且流出到单元2306的源极线端子,在该源极线端子处电流然后流入下拉单元2305的源极线端子并流过位线2302(在这种情况下用作下拉位线)。对于每个列重复此设计,最终结果是包含下拉单元2305的处于第二模式的行是下拉单元行。如图23所示,存在四个行,交替的奇数(或偶数)行用于下拉单元,交替的偶数(或奇数)行是数据单元。
值得注意的是,在第二模式期间,单元2305和2306在读取或验证中是活动的,并且单元2303和2305用于下拉过程,其中位线2301和2302的作用颠倒。
表11示出用于VMM系统2300的工作电压。表中的列指示设置在用于所选数据单元的位线、用于所选下拉单元的位线、用于所选数据单元的字线、用于所选数据单元的控制栅、用于所选下拉单元的字线WLS、用于所选下拉单元的控制栅CGS、用于所有单元的擦除栅、以及用于所有单元的源极线上的电压。行指示读取、擦除和编程操作。
表11:图23的VMM系统2300的操作
图24示出VMM系统2400。VMM系统2400包括位线2401、下拉位线2402、(数据)单元2403、源极线2411,以及下拉单元2404、2405和2406。在单元2403的读取或验证操作期间,电流将通过位线2401流入单元2403的位线端子,并且流出到单元2403的源极线端子,在该源极线端子处该电流然后流入源极线2411,并且在该源极线处该电流然后流入下拉单元2404、2405和2406的源极线端子中,电流从该源极线端子流过下拉位线2402。对于每个列重复此设计,最终结果是包含下拉单元2404、2405和2406的行各自是下拉单元行。这使施加到单元2403的源极线端子的下拉最大化,因为电流通过三个单元被汲取到下拉位线2402中。注意,四个行的源极线连接在一起。
表12示出用于VMM系统2400的工作电压。表中的列指示设置在用于所选单元的位线、位线下拉、用于所选单元的字线、用于所选单元的控制栅、用于所选单元的擦除栅、用于所选下拉单元的字线WLS、用于所选下拉单元的控制栅CGS、用于所选下拉单元的擦除栅、以及用于所有单元的源极线上的电压。行指示读取、擦除和编程操作。
表12:图24的VMM系统2400的操作
图25示出了图22的VMM系统2200的示例性布局2500。浅色方块指示与位线诸如位线2201以及与下拉位线诸如下拉位线2202的金属接触。
图26示出与图22的VMM系统2200类似的VMM系统的另选布局2600,不同之处在于下拉位线2602极宽且横穿两列下拉单元。也就是说,用于下拉位线2602的扩散区域比用于位线2601的扩散区域宽。布局2600进一步示出了单元2603和2604(下拉单元)、源极线2610和位线2601。在另一个实施方案中,两个下拉单元(左和右)的扩散部可以合并在一起成为一个较大的扩散部。
图27A示出VMM系统2700。为了实施神经网络的负权重和正权重,一半位线被指定为w+线(连接到实施正权重的存储器单元的位线),并且另一半位线被指定为w-线(连接到实施负权重的存储器单元的位线)并以交替方式散布在w+线之间。负操作是通过求和电路(诸如求和电路2701和2702)在w-位线的输出(神经元输出)处完成的。w+线的输出和W-的输出组合在一起,以对于所有(w+、w-)线对的每个(w+、w-)单元对有效地给出w=w+-w-。图中未示出用于避免FG-FG耦合和/或减少读取中的源极线中的IR电压降的虚拟位线或源极线拉低位线。系统2700的输入(诸如到CG或WL)可以具有正值或负值输入。对于输入具有负值的情况,因为对阵列的实际输入仍是正的(诸如,CG或WL上的电压电平),所以在输出之前对阵列输出(位线输出)取反,以实现负值输入的等效函数。
替代地,参考图27B,可以在第一阵列2711中实现正权重,并且可以在与第一阵列分开的第二阵列2712中实现负权重,并且所得权重通过求和电路2713适当地组合在一起。类似地,虚拟位线(未示出)或源极线拉低位线(未示出)用于避免FG-FG耦合和/或减少读取中的源极线中的IR电压降。
替代地,图27C示出了VMM系统2750以实施具有正输入或负输入的神经网络的负权重和正权重。第一阵列2751实施具有负权重和正权重的正值输入,并且第二阵列2752实施具有负权重和正权重的负值输入。在通过求和器2755添加到第一阵列的输出之前对第二阵列的输出取反,因为任何阵列的任何输入仅具有正值(诸如CG或WL上的模拟电压电平)。
表10A示出了一对(w+,w-)位线BL0/1和BL2/3的物理阵列布置的示例性布局,其中4个行耦合到源极线拉低位线BLPWDN。使用(BL0,BL1)位线对来实施(w+,w-)线。在(w+,w-)线对之间,存在源极线下拉位线(BLPWDN)。这用于防止将相邻(w+,w-)线耦合(例如,FG与FG耦合)成电流(w+,w-)线中。基本上,源极线下拉位线(BLPWDN)用作(w+,w-)线对之间的物理屏障。
关于FG与FG耦合现象的更多详细信息,以及用于抵消该现象的机构,请参阅同一受让人于2020年2月26日提交的并且名称为“深度学习人工神经网络中模拟神经存储器单元的超精确调谐(Ultra-Precise Tuning of Analog Neural Memory Cells in a DeepLearning Artificial Neural Network)”第62/981,757号美国临时专利申请,该美国临时专利申请通过引用并入本文中。
表10B示出了不同的示例性权重组合。‘1’意味着使用单元并且具有真实输出值,而‘0’意味着不使用单元并且没有值或没有显著的输出值。
在另一个实施方案中,可以使用代替源极线下拉位线的虚拟位线。
在另一个实施方案中,虚拟行也可以用作物理屏障以避免行之间的耦合。
表10A:示例性布局
<![CDATA[B<u>LPWDN</u>]]> | <![CDATA[<u>BL0</u>]]> | <![CDATA[<u>BL1</u>]]> | <![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL2</u>]]> | <![CDATA[<u>BL3</u>]]> | <![CDATA[<u>BLPWDN</u>]]> | |
row0 | w01+ | w01- | w02+ | w02- | |||
row1 | w11+ | w11- | w12+ | w12- | |||
row2 | w21+ | w21- | w22+ | w22- | |||
row3 | w31+ | w31- | w32+ | w32- |
表10B:示例性权重组合
<![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL0</u>]]> | <![CDATA[<u>BL1</u>]]> | <![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL2</u>]]> | <![CDATA[<u>BL3</u>]]> | <![CDATA[<u>BLPWDN</u>]]> | |
row0 | 1 | 0 | 1 | 0 | |||
row1 | 0 | 1 | 0 | 1 | |||
row2 | 0 | 1 | 1 | 0 | |||
row3 | 1 | 1 | 1 | 1 |
表11A示出了具有冗余线BL01、BL23和源极线拉低位线BLPWDN的(w+,w-)线对BL0/1和BL2/3的的物理布置的另一阵列实施方案。BL01用于BL0/1对的权重重新映射,并且BL23用于BL2/3对的权重重新映射。
表11B示出了不需要重新映射的已分布权重的情况,基本上在BL1和BL3之间没有相邻的‘1’,这引起相邻的位线耦合。表11C示出了需要重新映射的已分布权重的情况,基本上在BL1和BL3之存在相邻的‘1’,这引起相邻的位线耦合。在表11D中示出该重新映射,结果是任何相邻位线之间没有‘1’值。此外,通过重新映射(意味着重新分布权重)位线之间的‘1’实际值权重,现在减少了沿位线的总电流,从而导致位线(输出神经元)中的更精确值。在这种情况下,需要附加列(位线)(BL01、BL23)以充当冗余列。
表11E和11F示出将噪声单元(或缺陷单元)重新映射到冗余(空余)列(诸如表10E中的BL01、BL23或表11F中的BL0B和BL1B)的另一实施方案。求和器用于适当地对位线输出和映射求和。
表11A:示例性布局
<![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL01</u>]]> | <![CDATA[<u>BL0</u>]]> | <![CDATA[<u>BL1</u>]]> | <![CDATA[<u>BL2</u>]]> | <![CDATA[<u>BL3</u>]]> | <![CDATA[<u>BL23</u>]]> | <![CDATA[<u>BLPWDN</u>]]> | |
row0 | w01+ | w01- | w02+ | w02- | ||||
row1 | w11+ | w11- | w12+ | w12- | ||||
row2 | w21+ | w21- | w22+ | w22- | ||||
row3 | w31+ | w31- | w32+ | w32- |
表11B:示例性权重组合
<![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL01</u>]]> | <![CDATA[<u>BL0</u>]]> | <![CDATA[<u>BL1</u>]]> | <![CDATA[<u>BL2</u>]]> | <![CDATA[<u>BL3</u>]]> | <![CDATA[<u>BL23</u>]]> | <![CDATA[<u>BLPWDN</u>]]> | |
row0 | 1 | 0 | 1 | 0 | ||||
row1 | 0 | 1 | 0 | 1 | ||||
row2 | 1 | 0 | 1 | 0 | ||||
row3 | 0 | 1 | 0 | 1 |
<![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL01</u>]]> | <![CDATA[<u>BL0</u>]]> | <![CDATA[<u>BL1</u>]]> | <![CDATA[<u>BL2</u>]]> | <![CDATA[<u>BL3</u>]]> | <![CDATA[<u>BL23</u>]]> | <![CDATA[<u>BLPWD</u>N]]> | |
row0 | 0 | 1 | 1 | 0 | ||||
row1 | 0 | 1 | 1 | 0 | ||||
row2 | 0 | 1 | 1 | 0 | ||||
row3 | 0 | 1 | 1 | 0 |
表11D:重新映射的权重组合
<![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL01</u>]]> | <![CDATA[<u>BL0</u>]]> | <![CDATA[<u>BL1</u>]]> | <![CDATA[<u>BL2</u>]]> | <![CDATA[<u>BL3</u>]]> | <![CDATA[<u>BL2</u>3]]> | <![CDATA[<u>BLPWDN</u>]]> | |
row0 | 0 | 0 | 1 | 0 | 0 | 1 | ||
row1 | 1 | 0 | 0 | 1 | 0 | 0 | ||
row2 | 0 | 0 | 1 | 0 | 0 | 1 | ||
row3 | 1 | 0 | 0 | 1 | 0 | 0 |
表11E:重新映射的权重组合
表11F:重新映射的权重组合
表11G示出了适用于图27B的阵列物理布置的实施方案。由于每个阵列具有正权重或负权重,因此对于每条位线需要用作源极线下拉和物理屏障以避免FG-FG耦合的虚拟位线。
表11G:示例性布局
<![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL0</u>]]> | <![CDATA[<u>BLPWDN</u>]]> | <![CDATA[<u>BL1</u>]]> | <![CDATA[<u>BLPWDN</u>]]> | |
row0 | w01+/- | w02+/- | |||
row1 | w11+/- | w12+/- | |||
row2 | w21+/- | w22+/- | |||
row3 | w31+/- | w32+/- |
另一实施方案具有调谐位线作为目标位线的相邻位线,以借助于FG-FG耦合将目标位线调谐到最终目标。在这种情况下,源极线下拉位线(BLPWDN)插入在目标位线的不与调谐位线毗邻的一侧上。
用于映射有噪声或缺陷的单元的另选实施方案将这些单元(在通过感测电路将它们识别为有噪声的或缺陷的之后)指定为不使用的单元,这意味着它们会被(深度)编程以不对神经元输出贡献任何值。
用于处理快速单元的实施方案首先要识别这些单元,然后将更精确的算法应用于这些单元诸如较小或没有电压增量脉冲或使用浮栅耦合算法。
图28示出可选的冗余阵列2801,该冗余阵列可以包含在迄今为止讨论的VMM阵列中的任一VMM阵列中。如果附接到位线开关的任何列被认为是有缺陷的,则冗余阵列2801可以用作冗余来替换缺陷列。该冗余阵列可以具有用于冗余目的的其自身的冗余神经元输出(例如,位线)和ADC电路。对于需要冗余的情况,冗余ADC的输出用于替换坏位线的ADC的输出。冗余阵列2801还可以用于诸如表10x中所描述的用于跨位线的功率分布的权重映射。
图29示出VMM系统2900,该VMM系统包括阵列2901、阵列2902、列复用器2903、局部位线LBL 2905a-d、全局位线GBL 2908和2909以及虚拟位线开关2905。列复用器2903用于将阵列2901的顶部局部位线2905或阵列2902的底部局部位线2905选择至全局位线2908中。在一个实施方案中,(金属)全局位线2908具有与局部位线的数量相同的线数量,例如8或16。在另一实施方案中,全局位线2908每N个局部位线仅具有一个(金属)线,例如每8或16个局部位线具有一个全局位线。列复用器2903还包括将相邻的全局位线(诸如GBL 2909)多路复用(复用)成当前全局位线(诸如GBL 2908),以有效地增加当前全局位线的宽度。这减少了全局位线上的电压降。
图30示出VMM系统3000。VMM系统3000包括阵列3010、移位寄存器(SR)3001、数模转换器3002(其接收来自SR 3001的输入并输出等效(模拟或伪模拟)电平或信息)到相应的控制栅线CG、求和器电路3003、模数转换器3004和位线开关3005。存在虚拟位线和虚拟位线开关,但未示出。如图所示,ADC电路可以组合在一起以产生具有更大精度(即,更大的位数)的单个ADC。源极线连接在一起作为SLARY 3888。
求和器电路3003可以包括图31-图33中所示的电路。它可以包括用于归一化、缩放、算术运算、激活、统计舍入等的电路。
图31示出可由可变电阻器调节的电流到电压求和器电路3100,该电流到电压求和器电路包括电流源3101-1、...、3101-n汲取电流Ineu(1)、...、Ineu(n)(这些分别为从VMM阵列的位线接收到的电流)、运算放大器3102、可变保持电容器3104和可变电阻器3103。运算放大器3102输出电压,Vneuout=R3103*(Ineu1+Ineu0),该电压与电流Ineux成比例。当开关3106断开时,保持电容器3104用于保持输出电压。这种保持输出电压例如用于通过ADC电路转换为数字位。VREF是例如0.1V至1.0V的参考电压。这是可以施加在读取中的阵列的位线上的电压。
图32示出可由可变电容器(基本上为积分器)调节的电流到电压求和器电路3200,该电流到电压求和器电路包括电流源3201-1、...、3201-n汲取电流Ineu(1)、...、Ineu(n)(其分别为从VMM阵列的位线接收到的电流)、运算放大器3202、可变电容器3203和开关3204。运算放大器3202输出电压,Vneuout=Ineu*积分时间/C3203,该电压与电流Ineu成比例。
图33A示出可由可变电容器(即,开关电容器SC电路)调节的电压求和器3300,该电压求和器包括开关3301和3302、可变电容器3303和3304、运算放大器3305、可变电容器3306和开关3306。当开关3301闭合时,输入Vin0被提供至运算放大器3305。当开关3302闭合时,输入Vin1被提供至运算放大器3305。任选地,开关3301和3302不同时闭合。运算放大器3305生成输出Vout,该输出Vout为输入的放大版本(Vin0和/或Vin1,这取决于闭合开关3301与3302之间的哪个开关)。即Vout=Cin/Cout*(Vin),Cin为C3303或C3304,Cout为C3306。例如,Vout=Cin/Cout*∑(Vinx),Cin=C3303=C3304。在一个实施方案中,Vin0为w+电压,并且Vin1为w-电压,并且电压求和器3300将它们添加在一起以产生输出电压Vout。
图33B示出电压求和器3350,该电压求和器包括开关3351、3352、3353和3354、可变输入电容器3358、运算放大器3355、可变反馈电容器3356和开关3357。在一个实施方案中,Vin0为w+电压,并且Vin1为w-电压,并且电压求和器3300将它们添加在一起以产生输出电压Vout。
对于Input=Vin0:当开关3354和3351闭合时,将输入Vin0提供给电容器3358的顶部端子。然后,断开开关3351并且闭合开关3353,以将电荷从电容器3358转移至反馈电容器3356。基本上,接着输出VOUT=(C3358/C3356)*Vin0(对于具有例如VREF=0的情况)。
对于Input=Vin1:当开关3353和3354闭合时,电容器3358的两个端子都向VREF放电。然后,断开开关3354并且闭合开关3352,将电容器3358的底部端子充电至Vin1,这又将反馈电容器3356充电至VOUT=-(C3358/C3356)*Vin1(对于VREF=0的情况)。
因此,如果在启用Vin0输入之后启用Vin1输入,那么对于VREF=0作为示例的情况,VOUT=(C3358/C3356)*(Vin 0-Vin1)。这用于例如实现w=w+-w-。
适用于上文讨论的VMM阵列的图2的输入和输出操作的方法可以呈数字或模拟形式。方法包括:
·IN[0:q]至DAC的顺序输入:
·按顺序操作,IN0、然后是IN1,...,然后是INq;所有输入位具有相同的VCGin;所有位线(神经元)输出利用调整二进制索引乘数来求和;ADC之前或ADC之后
·调整神经元(位线)二进制索引乘数方法:如图20所示的,示例求和器具有两个位线BL0和BLn。权重分布在多个位线BL0到BLn之间。例如,存在4个位线BL0、BL1、BL2、BL3。位线BL0的输出乘以2^0=1。位线BLn的代表第n个二进制位位置的输出乘以2^n,例如,对于n=3,2^3=8。然后将适当乘以二进制位位置2^n后的所有位线的输出进行求和。然后由ADC进行数字化。此方法意味着所有单元仅具有二进制范围,多级范围(n位)由外围电路(即求和器电路)完成。因此,对于存储器单元的最高偏置电平,所有位线的电压降大致相同。
·按顺序操作,IN0、IN1,...,然后是INq;每个输入位具有对应的模拟值VCGin;所有神经元输出被求和用于所有输入位评估;ADC之前或ADC之后
·DAC的并行输入:
·每个输入IN[0:q]具有对应的模拟值VCGin;所有神经元输出利用调整二进制索引乘数方法求和;ADC之前或ADC之后
通过依次对阵列进行操作,功率更均匀地分布。该神经元(位线)二进制索引方法还降低阵列中的功率,因为位线中的每个单元仅具有二进制电平,该2^n电平由求和器电路2603实现。
如图33所示的每个ADC可以被配置成与下一个ADC组合,用于具有适当ADC设计的更高位的具体实施。
图34A、图34B和图34C示出可用于图30中的求和器电路3003和模数转换器3004的输出电路。
图34A示出输出电路3400,该输出电路包括接收神经元输出3401并输出输出数字位3403的模数转换器3402。
图34B示出输出电路3410,该输出电路包括一起接收神经元输出3401并产生输出3413的神经元输出电路3411和模数转换器3412。
图34C示出输出电路3420,该输出电路包括一起接收神经元输出3401并产生输出3423的神经元输出电路3421和转换器3422。
神经元输出电路3411或3411可以例如执行求和、缩放、归一化、算术操作等。转换器3422例如可以执行ADC、PDC、AAC、APC操作等。
图35示出神经元输出电路3500,该神经元输出电路包括可调节(缩放)电流源3501和可调节(缩放)电流源3502,这两个电流源一起产生输出iOUT,即神经元输出。此电路可以执行正权重和负权重的求和,即w=w+-w-,并且同时增大或减小输出神经元电流。
图36示出可配置的神经元串行模数转换器3600。它包括积分器3670,该积分器将神经元输出电流集成到积分电容器3602中。一个实施方案是通过对斜升VRAMP 3650计时直到比较器3604切换极性来产生数字输出(计数输出)3621,或者另一实施方案通过斜坡电流3651来斜降节点VC 3610直到VOUT 3603达到VREF 3650,此时EC 3605信号禁用计数器3620。该(n位)ADC可配置成具有小于n位的较低位数精确度或大于n位的更高位数精确度,这取决于目标应用。可配置性是诸如通过配置电容器3602、电流3651或VRAMP 3650的斜坡速率、计时3641等来完成的。在另一实施方案中,VMM阵列的ADC电路被配置为具有小于n位的较低的精度并且另一VMM阵列的ADC电路被配置为具有大于n位的高精度。此外,一个神经元电路的该ADC电路可以被配置成与下一个神经元电路的下一个ADC组合以产生更高的n位ADC精度,诸如通过组合该两个ADC电路的积分电容器3602。
图37示出可配置神经元SAR(逐次逼近寄存器)模数转换器3700。该电路是基于使用二进制电容器进行电荷再分配的逐次逼近转换器。该电路包括二进制CDAC(基于电容器的DAC)3701、运算放大器/比较器3702、SAR逻辑3703。如图所示,GndV 3704是低电压参考电平,例如接地电平。
图38示出可配置的神经元组合SAR模数转换器3800。该电路将来自两个神经元电路的两个ADC组合为一个,以实现更高的精度n位,例如,对于一个神经元电路的4位ADC,该电路可以通过组合两个4位ADC来实现>4位精度,诸如8位ADC精度。组合电路拓扑相当于分割电容器(桥接电容器(cap)或关注cap)SAR ADC电路,例如通过组合两个相邻的4位4C SARADC电路而产生的8位4C-4C SAR ADC。需要桥接电路3804来实现这一点,该电路的电容器的电容为=(CDAC电容器单元的总数/CDAC电容器单元的总数-1)。
图39示出可配置神经元、流水线SAR CDAC ADC电路3900,该电路可用于与下一个SAR ADC组合,以按流水线方式增加位数。残余电压3906由电容器3930Cf产生,以作为输入提供给流水线ADC的下一个级(例如,以提供为2的增益(DAC 3901中所有电容器的Cf与C的比率)),作为对下一个SAR CDAC ADC的输入)。
关于可配置输出神经元(诸如可配置神经元ADC)电路的附加具体实施细节,请参见同一受让人于2019年6月21日提交的并且名称为“深度学习人工神经网络中模拟神经存储器的可配置输入块和输出块以及物理布局(Configurable Input Blocks and OutputBlocks and Physical Layout for Analog Neural Memory in a Deep LearningArtificial Neural Network)”的第16/449,201号美国专利,该美国专利通过引用的方式并入本文。
自适应偏置电路
再次参考图20,申请人已经确定在操作期间,节点“ARYGND”(阵列接地)将不总是保持在0V。具体地,当电流从各种源极线注入ARYGND中时,ARYGND的电压将浮动在0V以上,例如在0.1-0.5V。这不利地影响VMM系统2000的准确性,因为这将影响不同单元的读取和编程,这些单元受输入线WL、CG、EG和BL与下拉到ARYGND的源极线之间的电压差的影响。
在一个实施方案中,整个阵列只有一条源极线(SLARY),如图20中的SLARY 2888或图30中的SLARY 3888所示。如图45A(其为缓冲调节器)或45B(其为力/感测调节器)中所示,可以通过调节器将电压偏置直接施加到SLARY 2888或3888以维持固定偏置,例如20mV。在另一个实施方案中,存在多个SLARY线,并且存在多个调节器,诸如调节器4510或4520,以维持这些SLARAY线上的固定偏置。
图40至图42一方面示出控制栅线、字线和位线之间的自适应电压差并且另一方面示出源极线。
在图40中,图4000指示期望所选单元的控制栅线与源极线之间的差(标记为d(CG-SL))使得来自所选单元或位线的电流随着源极线电压增加而保持恒定。这里,x轴跟踪SL电压,而y轴跟踪CG电压与SL电压之间的差。例如,当ARYGND爬升到0V以上(这意味着源极线也将爬升到0V以上)时,期望控制栅线与源极线之间的差将自适应地改变以将单元或位线电流维持在恒定电平。在该示例中,CG上的电压将作为源极线电压的函数而自适应地增加,以补偿来自源极电压变化的不同效应。待补偿的效应诸如来自由于增加的源极电压而导致的有效降低的栅极-源极电压,或者来自由于增加的源极电压而导致的对阈值电压的增加的体效应。其还可以补偿由于增加的源极电压而导致的降低的漏极-源极电压所引起的效应。其还补偿由从控制栅CG和源极电压耦合到浮栅FG所引起的效应。适当的补偿函数或查找表数据可以由硅数据表征。
在图41中,图4100指示期望所选单元的字线与源极线之间的差(标记为d(WL-SL))使得来自所选单元或位线的电流随着源极线电压增加而保持恒定。例如,当ARYGND爬升到0V以上(这意味着源极线也将爬升到0V以上)时,期望字线与源极线之间的差将自适应地增加以将单元或位线的电流维持在恒定电平。例如,字线WL上的电压将作为源极线电压的函数而自适应地改变,以补偿类似于以上针对图40所述的来自源极电压变化的不同效应。字线电压自适应优选地还补偿WL和FG端子之间的电压耦合。
在图42中,图4000指示期望所选单元的位线与源极线之间的差(标记为d(BL-SL))使得来自所选单元或位线的电流随着源极线电压增加而保持恒定。例如,当ARYGND爬升到0V以上(这意味着源极线也将爬升到0V以上)时,期望位线与源极线之间的差使得来自所选单元或位线的电流保持在恒定电平。例如,位线BL上的电压将作为源极线电压的函数而自适应地增加,以补偿不同效应,诸如来自降低的漏极-源极电压、体效应调制阈值电压、从源极到FG的电压耦合,或其他电效应。
在图43中,可以在图4300中看出,随着VMM阵列的温度增加(如将在VMM阵列的操作期间而自然发生的或由于环境的改变而发生的),应施加到控制栅线和/或擦除栅线和/或字线以实现相同操作的偏置电压将作为亚阈值操作区域的温度增加的函数而降低。偏置电压可以作为线性或饱和操作区域中的温度增加的函数而增加。例如,适当的补偿函数或查找表可以由硅数据表征。即,除了ARYGND的电压变化之外,温度的变化也可能影响VMM阵列的操作和准确性。在一个实施方案中,实施片上温度传感器以检测温度变化并且相应地对偏置电压施加补偿函数。
图44A示出自适应偏置电路4410,其包括可调电流源4401和可调电阻器4402。电阻器4402的一个端部在节点VREF_AB 4403处耦合到可调电流源4401,并且电阻器4402的另一端部连接到来自图20或图30的节点ARYGND。当ARYGND的电压改变时,节点VREF_AB的电压将改变近似相同的量,因为电阻器4402上的电压降对于由可调电流源4401生成的恒定电流将保持恒定。可以根据定义的补偿函数或查找表来调整电阻器4402以改变电压VREF_AB,从而作为ARYGND电压的函数来改变。类似地,电阻器4402的电阻可以作为温度变化的函数而改变。除了或者代替或者结合对电阻器4402的电阻的任何调整,由可调电流源4401提供的电流量可以根据定义的补偿函数或者查找表来调整,以作为温度或ARYGND的电压变化的函数来改变。因此,VREF_AB将反映ARYGND电压和温度的任何实时变化,并且可以在读取或编程操作期间由各种电路使用。
图44B示出自适应偏置电路4420,其包括可调电阻器4421、可调电阻器4422和运算放大器4423。电阻器4421和/或电阻器4422的电阻可以根据定义的补偿函数或查找表来调整,以作为ARYGND电压的函数而改变,从而在节点4424处提供期望的电压VREF_AB。可以根据定义的补偿函数或查找表来调整电阻器4421和/或电阻器4422的电阻以作为温度的函数而改变。
图45A和图45B示出调节器4500(分别包括调节器4510或调节器4520),其任选地可以在节点IN处从自适应偏置电路4400接收电压VREF_AB,以在节点OUT处提供调节的电压输出。调节器4520在力/感测配置中用于补偿例如功率总线布线的互连金属线电压降,其中输出节点OUT处的电压可切换地连接到反馈电压FB,以便迫使输出节点OUT处的电压跟随反馈电压FB。当施加到VMM系统2000时,电压OUT可以施加到节点SLARY 2888,如上面参考图20所讨论的。
节点IN处的电压VREF_AB根据查找表或基于表征数据的函数来确定。节点OUT处的输出电压可以用于提供对ARYGND或SLARY的偏置。例如,节点OUT可以用作整个阵列的SL偏置的电源,例如SLARY,例如0v或15mV。节点OUT也可用作施加到一条或多条位线的偏置,例如以补偿耦合失配、体效应失配或PVT失配,但不限于此。节点OUT也可以用作Vcg的偏置电压,例如以补偿耦合失配、体效应失配或PVT失配,但不限于此。
图46A示出包括输入数模转换器4600的自适应偏置电路。输入数模转换器4600接收数字输入信号DIN[7:0]并生成模拟信号,该模拟信号可施加到VMM阵列的输入线(诸如控制栅线、字线、擦除栅线或源极线)以对VMM阵列中的一个或多个所选单元进行编程。值得注意的是,输入数模转换器4600利用来自图44和图45的电压源VREF_AB,并且其利用来自图20和图44A的ARYGND作为其接地。输入数模转换器4600通过其使用VREF_AB电压自动补偿ARYGND中的变化。
图46B示出包括输出模数转换器4650的自适应偏置电路。输出模数转换器4650接收诸如电流或电压的阵列输出并生成数字输出位。值得注意的是,输出模数转换器4650利用来自图44A和/或图44B的电压源VREF_AB,并且其利用来自图20和图44A的ARYGND作为其接地。因此,输出模数转换器4650将通过其使用VREF_AB电压来补偿ARYGND中的变化。
图47示出可调偏置行解码器4700,其包括耦合到控制栅解码器4702的字线解码器4701。在该示例中,可调偏置行解码器4700用于VMM阵列中的行0。阵列中的所有其他行将具有分配给其的类似可调偏置行解码器。
字线解码器4701包括被布置为反相器的PMOS晶体管4703和NMOS晶体管4704以及与非门4705,如图所示配置。控制栅解码器4702包括来自图46的输入数模转换器4600、反相器4706、开关4707、开关4708和用作传输门的NMOS晶体管4709,如图所示配置。此处,字线WL0和控制栅线CG0将在与非门4705接收到对应于分配给可调偏置行解码器4700的行(此处,行0)的地址信号时激活。在WL0和CG0被激活的情况下,输入数模转换器4600的模拟输出电压将被施加到控制栅CG0。在此,控制栅线CG0接收由输入数模转换器4600提供的补偿偏置电压。也可以使用用于EG或WL补偿的类似装置。
图48示出电流到电压求和器电路4800,该电流到电压求和器电路用于将阵列输出(BL)电流转换成电压,该电流到电压求和器电路与图31中的电流到电压求和器电路3100相同,只是运算放大器3102在其非反相输入上接收VREF_AB(来自图44和图45)而非VREF,并且阵列输出电流参考虚拟接地节点ARYGND。
图49示出电流到电压求和器电路4900,该电流到电压求和器电路包括运算放大器4901、可变电阻器4902和汲取电流Ineu(其为从VMM阵列的位线接收的电流)的电流源4903。运算放大器在其非反相输入上接收VREF_AB(来自图44A和/或图45B)。运算放大器4901输出电压Vneuout。阵列输出电流参考虚拟接地节点ARYGND。
图50示出电流到电压求和器5000,该电流到电压求和器与图32中的电流到电压求和器3200相同,只是运算放大器3202在其非反相输入上接收VREF_AB(来自图44A和/或图44B)而非VREF。阵列输出电流参考虚拟接地节点ARYGND。
图51示出电压求和器5100,该电压求和器与图33A中的电压求和器3300相同,只是其利用电压VREF_AB(来自图44A和/或图44B)而非VREF。阵列输出电压Vinx参考虚拟接地节点ARYGND。
图52示出电压求和器5200,该电压求和器与图33B中的电压求和器3350相同,只是其利用电压VREF_AB(来自图44A和/或图44B)而非VREF。阵列输出电压Vinx参考虚拟接地节点ARYGND。
图53示出VMM高电压解码电路,该VMM高电压解码电路包括适于与图3所示的类型的存储器单元一起使用的擦除栅解码器电路5301、控制栅解码器电路5304、源极线解码器电路5307和高电压电平移位器5311。
擦除栅解码器电路5301包括如图所示的那样配置的PMOS选择晶体管5302(由信号HVO_B控制)和NMOS取消选择晶体管5303(由信号HVO_B控制)。
控制栅解码器电路5304包括如图所示的那样配置的PMOS选择晶体管5304(由信号HVO_B控制)和NMOS取消选择晶体管5306(由信号HVO_B控制)。
源极线解码器电路5307包括如图所示的那样配置的NMOS监测晶体管5308(由信号SL_MON控制)、驱动晶体管5309(由信号HVO控制)和取消选择晶体管5310(由信号HVO_B控制)。
高电压电平移位器5311接收启用信号EN并输出高电压信号HV和其补体HVO_B,并且针对其电压轨接收HVSUP(高电压)及HVSUP_LOW。
应当指出,如本文所用,术语“在…上方”和“在…上”两者包容地包括“直接在…上”(之间未设置中间材料、元件或空间)和“间接在…上”(之间设置有中间材料、元件或空间)。类似地,术语“相邻”包括“直接相邻”(之间没有设置中间材料、元件或空间)和“间接相邻”(之间设置有中间材料、元件或空间),“安装到”包括“直接安装到”(之间没有设置中间材料、元件或空间)和“间接安装到”(之间设置有中间材料、元件或空间),并且“电耦接至”包括“直接电耦接至”(之间没有将元件电连接在一起的中间材料或元件)和“间接电耦接至”(之间有将元件电连接在一起的中间材料或元件)。例如,“在衬底上方”形成元件可包括在两者间没有中间材料/元件的情况下在衬底上直接形成元件,以及在两者间有一个或多个中间材料/元件的情况下在衬底上间接形成元件。
Claims (47)
1.一种非易失性存储器系统,包括:
非易失性存储器单元阵列,所述非易失性存储器单元阵列以行和列布置,每个非易失性存储器单元包括源极和漏极;
多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的列中的每个非易失性存储器单元的所述漏极;
源极线,所述源极线耦合到每个非易失性存储器单元的所述源极;和
自适应偏置解码器,所述自适应偏置解码器用于在操作期间向所述阵列的控制栅线提供电压,其中所述自适应偏置解码器响应于所述源极线的电压变化而调整提供给所述控制栅线的所述电压。
2.根据权利要求1所述的非易失性存储器系统,还包括多条下拉位线,所述多条下拉位线中的每条下拉位线将非易失性存储器单元的行耦合到下拉节点。
3.根据权利要求1所述的非易失性存储器系统,其中所述操作为编程操作。
4.根据权利要求3所述的非易失性存储器系统,其中所述自适应偏置解码器响应于温度的变化而调整提供给所述源极线的所述电压。
5.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置解码器响应于温度的变化而调整提供给所述源极线的所述电压。
6.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置解码器包括电阻器,所述电阻器包括第一端部和第二端部,所述第一端部耦合到可调电流源,并且所述第二端部耦合到所述源极线。
7.根据权利要求6所述的非易失性存储器系统,其中所述自适应偏置解码器还包括耦合到所述电阻器的所述第一端部的调节器。
8.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置解码器基于对表征数据执行的函数来调整提供给所述控制栅线的所述电压。
9.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置解码器基于源极线电压变化来调整提供给所述控制栅线的所述电压。
10.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置解码器基于体效应变化来调整提供给所述控制栅线的所述电压。
11.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置解码器包括可调电流源和可调电阻器。
12.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置解码器包括运算放大器和一个或多个可调电阻器。
13.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置电路还包括用于将数字输入转换成施加到所述控制栅线的模拟信号的数模转换器。
14.根据权利要求13所述的非易失性存储器系统,其中所述自适应偏置电路还包括用于将阵列输出电流转换成数字输出位的模数转换器。
15.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置电路还包括用于将阵列输出转换成数字输出位的输出电路。
16.根据权利要求1所述的非易失性存储器系统,其中所述自适应偏置电路还包括用于将阵列输出电流转换成数字输出位的模数转换器。
17.一种非易失性存储器系统,包括:
非易失性存储器单元阵列,所述非易失性存储器单元阵列以行和列布置,每个非易失性存储器单元包括源极和漏极;
多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的列中的每个非易失性存储器单元的所述漏极;
源极线,所述源极线耦合到每个非易失性存储器单元的所述源极;和
自适应偏置解码器,所述自适应偏置解码器用于在操作期间向所述阵列的字线提供电压,其中所述自适应偏置解码器响应于所述源极线的电压变化而调整提供给所述字线的所述电压。
18.根据权利要求17所述的非易失性存储器系统,还包括:
多条下拉位线,所述多条下拉位线中的每条下拉位线将非易失性存储器单元的行耦合到下拉节点。
19.根据权利要求17所述的非易失性存储器系统,其中所述操作为读取操作。
20.根据权利要求17所述的非易失性存储器系统,其中所述操作为编程操作。
21.根据权利要求17所述的非易失性存储器系统,其中所述自适应偏置解码器响应于温度的变化而调整提供给所述源极线的所述电压。
22.根据权利要求17所述的非易失性存储器系统,还包括
模数转换器。
23.根据权利要求17所述的非易失性存储器系统,其中所述自适应偏置解码器包括电阻器,所述电阻器包括第一端部和第二端部,所述第一端部耦合到可调电流源,并且所述第二端部耦合到所述下拉节点。
24.根据权利要求23所述的非易失性存储器系统,其中所述自适应偏置解码器还包括耦合到所述电阻器的所述第一端部的电压调节器。
25.根据权利要求23所述的非易失性存储器系统,其中所述自适应偏置解码器还包括用于将数字输入转换成施加到所述字线的模拟信号的数模转换器。
26.根据权利要求17所述的非易失性存储器系统,其中所述自适应偏置解码器基于对表征数据执行的函数来调整提供给所述字线的所述电压。
27.根据权利要求17所述的非易失性存储器系统,其中所述自适应偏置解码器基于源极电压变化来调整提供给所述字线的所述电压。
28.根据权利要求17所述的非易失性存储器系统,其中所述自适应偏置解码器基于体效应变化来调整提供给所述字线的所述电压。
29.根据权利要求17所述的非易失性存储器系统,其中所述自适应偏置解码器基于耦合比变化来调整提供给所述字线的所述电压。
30.一种非易失性存储器系统,包括:
非易失性存储器单元阵列,所述非易失性存储器单元阵列以行和列布置,每个非易失性存储器单元包括源极和漏极;
多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的列中的每个非易失性存储器单元的所述漏极;
源极线,所述源极线耦合到每个非易失性存储器单元的所述源极;和
自适应偏置解码器,所述自适应偏置解码器用于在操作期间向所述阵列的擦除栅线提供电压,其中所述自适应偏置解码器响应于源极线节点的电压变化而调整提供给所述擦除栅线的所述电压。
31.根据权利要求30所述的非易失性存储器系统,还包括:
多条下拉位线,所述多条下拉位线中的每条下拉位线将非易失性存储器单元的行耦合到下拉节点。
32.根据权利要求30所述的非易失性存储器系统,其中所述操作为读取操作。
33.根据权利要求30所述的非易失性存储器系统,其中所述操作为编程操作。
34.根据权利要求30所述的非易失性存储器系统,其中所述自适应偏置解码器响应于温度的变化而调整提供给所述源极线的所述电压。
35.根据权利要求30所述的非易失性存储器系统,还包括模数转换器。
36.根据权利要求30所述的非易失性存储器系统,其中所述自适应偏置解码器包括电阻器,所述电阻器包括第一端部和第二端部,所述第一端部耦合到可调电流源,并且所述第二端部耦合到所述下拉节点。
37.根据权利要求37所述的非易失性存储器系统,其中所述自适应偏置解码器还包括耦合到所述电阻器的所述第一端部的电压调节器。
38.根据权利要求37所述的非易失性存储器系统,其中所述自适应偏置解码器还包括用于将数字输入转换成施加到所述擦除栅线的模拟信号的数模转换器。
39.根据权利要求30所述的非易失性存储器系统,其中所述自适应偏置解码器基于对表征数据执行的函数来调整提供给所述擦除栅线的所述电压。
40.根据权利要求30所述的非易失性存储器系统,其中所述自适应偏置解码器基于源极电压调制来调整提供给所述擦除栅线的所述电压。
41.根据权利要求30所述的非易失性存储器系统,其中所述自适应偏置解码器基于体效应变化来调整提供给所述擦除栅线的所述电压。
42.根据权利要求30所述的非易失性存储器系统,其中所述自适应偏置解码器基于耦合比变化来调整提供给所述擦除栅线的所述电压。
43.一种非易失性存储器系统,包括:
非易失性存储器单元阵列,所述非易失性存储器单元阵列以行和列布置,每个非易失性存储器单元包括源极和漏极;
多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的列中的每个非易失性存储器单元的所述漏极;
源极线,所述源极线耦合到每个非易失性存储器单元的所述源极;和
自适应偏置解码器,所述自适应偏置解码器用于在操作期间向所述阵列的所述源极线提供固定电压。
44.根据权利要求43所述的非易失性存储器系统,其中所述自适应偏置解码器响应于温度的变化而调整提供给所述源极线的所述电压。
45.根据权利要求43所述的非易失性存储器系统,其中所述自适应偏置解码器是力/感测调节器。
46.根据权利要求43所述的非易失性存储器系统,其中所述自适应偏置解码器是缓冲调节器。
47.根据权利要求43所述的非易失性存储器系统,其中所述自适应偏置解码器响应于温度的变化而调整提供给所述源极线的所述电压。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063048470P | 2020-07-06 | 2020-07-06 | |
US63/048,470 | 2020-07-06 | ||
US17/140,924 US11875852B2 (en) | 2020-07-06 | 2021-01-04 | Adaptive bias decoder to provide a voltage to a control gate line in an analog neural memory array in artificial neural network |
US17/140,924 | 2021-01-04 | ||
PCT/US2021/012158 WO2022010533A1 (en) | 2020-07-06 | 2021-01-05 | Adaptive bias decoder for analog neural memory array in artificial neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115968495A true CN115968495A (zh) | 2023-04-14 |
Family
ID=74285616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180042600.2A Pending CN115968495A (zh) | 2020-07-06 | 2021-01-05 | 用于人工神经网络中的模拟神经存储器阵列的自适应偏置解码器 |
Country Status (7)
Country | Link |
---|---|
US (4) | US11875852B2 (zh) |
EP (1) | EP4176433A1 (zh) |
JP (1) | JP7493089B2 (zh) |
KR (1) | KR20230006499A (zh) |
CN (1) | CN115968495A (zh) |
TW (1) | TWI780719B (zh) |
WO (1) | WO2022010533A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11354562B2 (en) * | 2018-01-03 | 2022-06-07 | Silicon Storage Technology, Inc. | Programmable neuron for analog non-volatile memory in deep learning artificial neural network |
Family Cites Families (20)
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 |
US6069824A (en) | 1999-03-03 | 2000-05-30 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device |
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 |
US7173854B2 (en) | 2005-04-01 | 2007-02-06 | Sandisk Corporation | Non-volatile memory and method with compensation for source line bias errors |
JP2007035115A (ja) | 2005-07-25 | 2007-02-08 | Matsushita Electric Ind Co Ltd | 半導体記憶装置 |
KR20100030979A (ko) * | 2008-09-11 | 2010-03-19 | 삼성전자주식회사 | 저항체를 이용한 비휘발성 메모리 장치 |
US7835200B2 (en) * | 2008-12-30 | 2010-11-16 | Stmicroelectronics S.R.L. | Level shifter |
US8908435B2 (en) * | 2011-12-21 | 2014-12-09 | Sandisk Technologies Inc. | Erase operation with controlled select gate voltage for 3D non-volatile memory |
JP6833873B2 (ja) | 2016-05-17 | 2021-02-24 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器 |
US9953719B2 (en) * | 2016-05-18 | 2018-04-24 | Silicon Storage Technology, Inc. | Flash memory cell and associated decoders |
US10340010B2 (en) * | 2016-08-16 | 2019-07-02 | Silicon Storage Technology, Inc. | Method and apparatus for configuring array columns and rows for accessing flash memory cells |
CN107799146B (zh) | 2016-08-31 | 2020-06-09 | 中芯国际集成电路制造(上海)有限公司 | 存储器阵列及其读、编程、擦除操作方法 |
KR102375913B1 (ko) * | 2017-10-18 | 2022-03-18 | 삼성전자주식회사 | 플래시 메모리 장치 및 이의 프로그램 방법 |
US11354562B2 (en) * | 2018-01-03 | 2022-06-07 | Silicon Storage Technology, Inc. | Programmable neuron for analog non-volatile memory in deep learning artificial neural network |
US10522226B2 (en) * | 2018-05-01 | 2019-12-31 | Silicon Storage Technology, Inc. | Method and apparatus for high voltage generation for analog neural memory in deep learning artificial neural network |
US10755783B2 (en) * | 2018-08-27 | 2020-08-25 | Silicon Storage Technology | Temperature and leakage compensation for memory cells in an analog neural memory system used in a deep learning neural network |
US10741568B2 (en) | 2018-10-16 | 2020-08-11 | Silicon Storage Technology, Inc. | Precision tuning for the programming of analog neural memory in a deep learning artificial neural network |
US11423979B2 (en) * | 2019-04-29 | 2022-08-23 | Silicon Storage Technology, Inc. | Decoding system and physical layout for analog neural memory in deep learning artificial neural network |
US20200349422A1 (en) | 2019-05-02 | 2020-11-05 | Silicon Storage Technology, Inc. | Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network |
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 |
-
2021
- 2021-01-04 US US17/140,924 patent/US11875852B2/en active Active
- 2021-01-05 EP EP21702139.3A patent/EP4176433A1/en active Pending
- 2021-01-05 KR KR1020227039865A patent/KR20230006499A/ko not_active Application Discontinuation
- 2021-01-05 CN CN202180042600.2A patent/CN115968495A/zh active Pending
- 2021-01-05 WO PCT/US2021/012158 patent/WO2022010533A1/en unknown
- 2021-01-05 JP JP2023500043A patent/JP7493089B2/ja active Active
- 2021-05-21 TW TW110118463A patent/TWI780719B/zh active
-
2023
- 2023-12-11 US US18/536,123 patent/US20240105263A1/en active Pending
- 2023-12-11 US US18/536,186 patent/US20240112736A1/en active Pending
- 2023-12-11 US US18/536,147 patent/US20240127890A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
TWI780719B (zh) | 2022-10-11 |
TW202217823A (zh) | 2022-05-01 |
US20240105263A1 (en) | 2024-03-28 |
EP4176433A1 (en) | 2023-05-10 |
WO2022010533A1 (en) | 2022-01-13 |
KR20230006499A (ko) | 2023-01-10 |
US20240127890A1 (en) | 2024-04-18 |
JP7493089B2 (ja) | 2024-05-30 |
US20220004860A1 (en) | 2022-01-06 |
US11875852B2 (en) | 2024-01-16 |
JP2023533719A (ja) | 2023-08-04 |
US20240112736A1 (en) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102457394B1 (ko) | 딥 러닝 신경 네트워크에서 사용되는 아날로그 신경 메모리 시스템 내의 메모리 셀들에 대한 온도 및 누설 보상 | |
TWI769710B (zh) | 人工神經網路中具有適應性權重映射和分佈式功率之具有實質恆定陣列源極阻抗的類比神經記憶體陣列 | |
CN114902339A (zh) | 用于补偿人工神经网络中的模拟神经存储器中的数据漂移的电路 | |
JP2024096888A (ja) | 論理セル及び改善されたプログラミング機構を備える人工ニューラルネットワーク内のアナログニューラルメモリアレイ | |
US20240127890A1 (en) | Adaptive bias decoder for non-volatile memory system | |
JP2024105278A (ja) | ソース線プルダウン機構を備えた人工ニューラルネットワーク内のアナログニューラルメモリアレイ | |
US20240265951A1 (en) | Current-to-voltage converter comprising common mode circuit | |
US20240282351A1 (en) | Output block for array of non-volatile memory cells |
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 |