本文作者:kaifamei

人工神经网络中的具有源极线拉低机构的模拟神经存储器阵列的制作方法

更新时间:2025-12-27 23:50:18 0条评论

人工神经网络中的具有源极线拉低机构的模拟神经存储器阵列的制作方法


人工神经网络中的具有源极线拉低机构的模拟神经存储器阵列
1.优先权声明
2.本技术要求于2020年5月10日提交并且名称为“人工神经网络中的具有源极线拉低机构的模拟神经存储器阵列(analog neural memory array in artificial neural network with source line pulldown mechanism)”的美国临时专利申请第63/022,551号以及于2020年11月5日提交并且名称为为“人工神经网络中的具有源极线拉低机构的模拟神经存储器阵列(analog neural memory array in artificial neural network with source line pulldown mechanism)”的美国临时专利申请第17/090,481号的优先权。
技术领域
3.公开了模拟神经存储器阵列的许多实施方案。某些实施方案包含用于将源极线准确地拉低至接地的改进机构。例如,这是有用的,以使读取、编程或擦除操作的电压降最小化。


背景技术:



4.人工神经网络模拟生物神经网络(例如,动物的中枢神经系统,特别是大脑),并用于估计或近似可取决于大量输入并且通常未知的功能。人工神经网络通常包括互相交换消息的互连“神经元”层。
5.图1示出了人工神经网络,其中圆圈表示神经元的输入或层。连接部(称为突触)用箭头表示并且具有可以根据经验进行调整的数值权重。这使得人工神经网络适应于输入并且能够学习。通常,人工神经网络包括多个输入的层。通常存在神经元的一个或多个中间层,以及提供神经网络的输出的神经元的输出层。处于每一级别的神经元分别地或共同地根据从突触所接收的数据作出决定。
6.在开发用于高性能信息处理的人工神经网络方面的主要挑战中的一个挑战是缺乏足够的硬件技术。实际上,实际人工神经网络依赖于大量的突触,从而实现神经元之间的高连通性,即非常高的计算并行性。原则上,此类复杂性可通过数字超级计算机或专用图形处理单元集来实现。然而,相比于生物网络,这些方法除了高成本之外,能量效率也很普通,生物网络主要由于其执行低精度的模拟计算而消耗更少的能量。cmos模拟电路已被用于人工神经网络,但由于给定大量的神经元和突触,大多数cmos实现的突触都过于庞大。
7.申请人先前在美国专利申请号15/594,439(公开为美国专利公布2017/0337466)中公开了一种利用一个或多个非易失性存储器阵列作为突触的人工(模拟)神经网络,该专利申请以引用方式并入本文。非易失性存储器阵列作为模拟神经形态存储器操作。如本文所用的术语“神经形态”是指实现神经系统模型的电路。模拟神经形态存储器包括被配置成接收第一多个输入并从其生成第一多个输出的第一多个突触,以及被配置成接收第一多个输出的第一多个神经元。第一多个突触包括多个存储器单元,其中存储器单元中的每个存储器单元包括:形成于半导体衬底中的间隔开的源极区和漏极区,其中沟道区在源极区和
漏极区之间延伸;设置在沟道区的第一部分上方并且与第一部分绝缘的浮栅;以及设置在沟道区的第二部分上方并且与第二部分绝缘的非浮栅。多个存储器单元中的每个存储器单元被配置成存储与浮栅上的多个电子相对应的权重值。多个存储器单元被配置成将第一多个输入乘以所存储的权重值以生成第一多个输出。以这种方式布置的存储器单元阵列可被称为矢量矩阵乘法(vmm)阵列。
8.现在将讨论可以在vmm中使用的不同非易失性存储器单元的示例。
9.非易失性存储器单元
10.在vmm阵列中可以使用各种类型的已知非易失性存储器单元。例如,美国专利5,029,130(“130专利”),其以引用方式并入本文,公开了分裂栅非易失性存储器单元的阵列,它是一种闪存存储器单元。此类存储器单元210在图2中示出。每个存储器单元210包括形成于半导体衬底12中的源极区14和漏极区16,其间具有沟道区18。浮栅20形成在沟道区18的第一部分上方并且与其绝缘(并控制其电导率),并且形成在源极区14的一部分上方。字线端子22(其通常被耦合到字线)具有设置在沟道区18的第二部分上方并且与该沟道区的第二部分绝缘(并且控制其电导率)的第一部分,以及向上延伸并且位于浮栅20上方的第二部分。浮栅20和字线端子22通过栅极氧化物与衬底12绝缘。位线端子24耦合到漏极区16。
11.通过将高的正电压置于字线端子22上来对存储器单元210进行擦除(其中电子从浮栅去除),这导致浮栅20上的电子经由福勒-诺德海姆隧穿从浮栅20到字线端子22隧穿通过中间绝缘体。
12.通过将正的电压置于字线端子22上以及将正的电压置于源极区14上来编程存储器单元210(其中电子被置于浮栅上)。电子电流将从漏极区16流向源极区14(源极线端子)。当电子到达字线端子22和浮栅20之间的间隙时,电子将加速并且变为被激发的(加热的)。由于来自浮栅20的静电引力,一些加热的电子将通过栅极氧化物被注入到浮栅20上。
13.通过将正的读取电压置于漏极区16和字线端子22(其接通沟道区18的在字线端子下方的部分)上来读取存储器单元210。如果浮栅20带正电(即,电子被擦除),则沟道区18的在浮栅20下方的部分也被接通,并且电流将流过沟道区18,该沟道区被感测为擦除状态或“1”状态。如果浮栅20带负电(即,通过电子进行了编程),则沟道区的在浮栅20下方的部分被大部分或完全关断,并且电流将不会(或者有很少的电流)流过沟道区18,该沟道区被感测为编程状态或“0”状态。
14.表1示出可施加到存储器单元110的端子用于执行读取操作、擦除操作和编程操作的典型电压范围:
15.表1:图2的闪存存储器单元210的操作
[0016] wlblsl读取10.5-3v0.1-2v0v读取20.5-3v0-2v2-0.1v擦除约11-13v0v0v编程1-2v1-3μa9-10v
[0017]“读取1”是其中单元电流在位线上输出的读取模式。“读取2”是其中单元电流在源极线端子上输出的读取模式。
[0018]
图3示出了存储器单元310,其与图2的存储器单元210类似,但增加了控制栅(cg)
端子28。控制栅端子28在编程中被偏置在高电压处(例如,10v),在擦除中被偏置在低电压或负电压处(例如,0v/-8v),在读取中被偏置在低电压或中等电压处(例如,0v/2.5v)。其他端子类似于图2那样偏置。
[0019]
图4示出了四栅极存储器单元410,其包括源极区14、漏极区16、在沟道区18的第一部分上方的浮栅20、在沟道区18的第二部分上方的选择栅22(通常耦合到字线wl)、在浮栅20上方的控制栅28、以及在源极区14上方的擦除栅30。这种配置在美国专利6,747,310中有所描述,该专利以引用方式并入本文以用于所有目的。这里,除了浮栅20之外,所有的栅极均为非浮栅,这意味着它们电连接到或能够电连接到电压源。编程由来自沟道区18的将自身注入到浮栅20的加热的电子执行。擦除通过从浮栅20隧穿到擦除栅30的电子来执行。
[0020]
表2示出可施加到存储器单元410的端子用于执行读取操作、擦除操作和编程操作的典型电压范围:
[0021]
表2:图4的闪存存储器单元410的操作
[0022] wl/sgblcgegsl读取10.5-2v0.1-2v0-2.6v0-2.6v0v读取20.5-2v0-2v0-2.6v0-2.6v2-0.1v擦除-0.5v/0v0v0v/-8v8-12v0v编程1v1μa8-11v4.5-9v4.5-5v
[0023]“读取1”是其中单元电流在位线上输出的读取模式。“读取2”是其中单元电流在源极线端子上输出的读取模式。
[0024]
图5示出了存储器单元510,除了不含擦除栅eg端子,存储器单元510与图4的存储器单元410类似。通过将衬底18偏置到高电压并将控制栅cg端子28偏置到低电压或负电压来执行擦除。另选地,通过将字线端子22偏置到正电压并将控制栅端子28偏置到负电压来执行擦除。编程和读取类似于图4的那样。
[0025]
图6示出三栅极存储器单元610,其为另一种类型的闪存存储器单元。存储器单元610与图4的存储器单元410相同,除了存储器单元610没有单独的控制栅端子。除了没有施加控制栅偏置,擦除操作(通过使用擦除栅端子进行擦除)和读取操作类似于图4的操作。在没有控制栅偏置的情况下,编程操作也被完成,并且结果,在编程操作期间必须在源极线端子上施加更高的电压,以补偿控制栅偏置的缺乏。
[0026]
表3示出可施加到存储器单元610的端子用于执行读取操作、擦除操作和编程操作的典型电压范围:
[0027]
表3:图6的闪存存储器单元610的操作
[0028] wl/sgblegsl读取10.5-2.2v0.1-2v0-2.6v0v读取20.5-2.2v0-2v0-2.6v2-0.1v擦除-0.5v/0v0v11.5v0v编程1v2-3μa4.5v7-9v
[0029]“读取1”是其中单元电流在位线上输出的读取模式。“读取2”是其中单元电流在源极线端子上输出的读取模式。
[0030]
图7示出堆叠栅存储器单元710,其为另一种类型的闪存存储器单元。存储器单元
710与图2的存储器单元210类似,不同的是浮栅20在整个沟道区18上方延伸,并且控制栅端子22(其在这里将耦合到字线)在浮栅20上方延伸,由绝缘层(未示出)分开。使用从沟道18到靠近漏极区16的沟道区中的浮栅20的热电子注入来执行编程,并且使用从浮栅20到衬底12的福勒-诺德海姆(fowler-nordheim)电子隧穿来执行擦除。读取操作以与先前针对存储器单元210所述类似的方式操作。
[0031]
表4示出可以施加到存储器单元710和衬底12的端子用于执行读取、擦除和编程操作的典型电压范围:
[0032]
表4:图7的闪存存储器单元710的操作
[0033] cgblsl衬底读取10-5v0.1

2v0-2v0v读取20.5-2v0-2v2-0.1v0v擦除-8至-10v/0vfltflt8-10v/15-20v编程8-12v3-5v/0v0v/3-5v0v
[0034]“读取1”是其中单元电流在位线上输出的读取模式。“读取2”是其中单元电流在源极线端子上输出的读取模式。任选地,在包括存储器单元210、310、410、510、610或710的行和列的阵列中,源极线可耦合到一行存储器单元或相邻的两行存储器单元。即,源极线端子可由相邻行的存储器单元共享。
[0035]
图8示出双分裂栅存储器单元810。存储器单元810包括:浮栅(fg)20,其设置在衬底12上并与该衬底绝缘;控制栅28(cg),其设置在浮栅20上并与该浮栅绝缘;擦除栅30(eg),其设置成与浮栅20和控制栅28相邻并与该浮栅和控制栅绝缘并且设置在衬底12上并与该衬底绝缘,其中擦除栅30以t形创建,使得控制栅cg 28的顶角面向t形擦除栅的内角以提高擦除效率;以及在衬底中与浮栅20相邻的漏极区16(dr)(具有连接到漏极扩散区16(dr)的位线接触件24(bl))。存储器单元形成为共享共同的擦除栅30的存储器单元对(左侧的a和右侧的b)。此单元设计与上文参考图2-图7讨论的存储器单元的不同之处至少在于,该单元缺少擦除栅eg 30下方的源极区,缺少选择栅(也称为字线),并且缺少用于每个存储器单元810的沟道区。相反,单个连续沟道区18在两个存储器单元810下方延伸(即,从一个存储器单元810的漏极区16延伸到另一个存储器单元810的漏极区16)。为了读取或编程一个存储器单元810,将另一个存储器单元810的控制栅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,除了衬底12在低电压或负电压处被偏置,同时擦除栅30在低正电压处被偏置。
[0036]
表5示出可施加到存储器单元810的端子用于执行读取操作、擦除操作和编程操作的典型电压范围。选择单元a(fg、cga、bla)进行读取操作、编程操作和擦除操作。
[0037]
表5:图8的闪存存储器单元810的操作
[0038][0039]
为了在人工神经网络中利用包括上述类型的非易失性存储器单元之一的存储器阵列,进行了两个修改。第一,对线路进行配置,使得每个存储器单元可被单独编程、擦除和读取,而不会不利地影响阵列中的其他存储器单元的存储器状态,如下文进一步解释。第二,提供存储器单元的连续(模拟)编程。
[0040]
具体地,阵列中的每个存储器单元的存储器状态(即,浮栅上的电荷)可在独立地并且对其他存储器单元的干扰最小的情况下连续地从完全擦除状态变为完全编程状态。在另一个实施方案,阵列中的每个存储器单元的存储器状态(即,浮栅上的电荷)可在独立地并且对其他存储器单元的干扰最小的情况下连续地从完全编程状态变为完全擦除状态,反之亦然。这意味着单元存储装置是模拟的,或者至少可存储许多离散值(诸如16或64个不同的值)中的一个离散值,这允许对存储器阵列中的所有单元进行非常精确且单独的调谐,并且这使得存储器阵列对于存储和对神经网络的突触权重进行微调调整是理想的。
[0041]
本文所述的方法和装置可应用于其他非易失性存储器技术,诸如但不限于finfet分裂栅闪存或堆叠栅闪存存储器、nand闪存、sonos(硅-氧化物-氮化物-氧化物-硅,电荷捕获在氮化物中)、monos(金属-氧化物-氮化物-氧化物-硅,金属电荷捕获在氮化物中)、reram(电阻式ram)、pcm(相变存储器)、mram(磁性ram)、feram(铁电ram)、otp(双层或多层式一次可编程)和ceram(关联电子ram)等。本文所述的方法和装置可应用于用于神经网络的易失性存储器技术,诸如但不限于sram、dram和/或易失性突触单元。
[0042]
采用非易失性存储器单元阵列的神经网络
[0043]
图9概念性地示出本实施方案的使用非易失性存储器阵列的神经网络的非限制性示例。该示例将非易失性存储器阵列神经网络用于面部识别应用,但任何其他适当的应用也可使用基于非易失性存储器阵列的神经网络来实现。
[0044]
对于该示例,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的所有特征映射。
[0045]
在层c1处,在本示例中,存在16个特征映射,每个特征映射具有30x30像素。每个像素是从输入和内核的乘积中提取的新特征像素,因此每个特征映射是二维阵列,因此在该示例中,层c1由16层的二维阵列构成(记住本文所引用的层和阵列是逻辑关系,而不必是物理关系,即阵列不必定向于物理二维阵列)。在层c1中的16个特征映射中的每个特征映射均由应用于滤波器扫描的十六个不同组的突触权重中的一组生成。c1特征映射可全部涉及相同图像特征的不同方面,诸如边界识别。例如,第一映射(使用第一权重组生成,针对用于生成该第一映射的所有扫描而共享)可识别圆形边缘,第二映射(使用与第一权重组不同的第二权重组生成)可识别矩形边缘,或某些特征的纵横比,以此类推。
[0046]
在从层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个神经元,其中最高输出神经元确定类。例如,该输出可指示对原始图像的内容的识别或分类。
[0047]
使用非易失性存储器单元的阵列或阵列的一部分来实现每层的突触。
[0048]
图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的输出进行解码。
[0049]
vmm阵列33用于两个目的。首先,它存储将由vmm系统32使用的权重。其次,vmm阵列33有效地将输入与存储在vmm阵列33中的权重相乘并且每个输出线(源极线或位线)将它们相加以产生输出,该输出将作为下一层的输入或最终层的输入。通过执行乘法和加法函数,vmm阵列33消除了对单独的乘法和加法逻辑电路的需要,并且由于其原位存储器计算也是高功效的。
[0050]
将vmm阵列33的输出提供至差分求和器(诸如求和运算放大器或求和电流镜)38,该差分求和器对vmm阵列33的输出进行求和,以为该卷积创建单个值。差分求和器38被布置用于执行正权重输入和负权重输入两者的求和,以输出单个值。
[0051]
然后将差分求和器38的输出值求和后提供至激活函数电路39,该激活函数电路对输出进行修正。激活函数电路39可提供sigmoid、tanh、relu函数或任何其他非线性函数。激活函数电路39的经修正的输出值成为作为下一层(例如,图9中的层c1)的特征映射的元素,随后被应用于下一个突触以产生下一个特征映射层或最终层。因此,在该示例中,vmm阵列33构成多个突触(其从现有神经元层或从输入层诸如图像数据库接收它们的输入),并且求和器38和激活函数电路39构成多个神经元。
[0052]
图10中对vmm系统32的输入(wlx、egx、cgx以及任选的blx和slx)可为模拟电平(例如,电流、电压或电荷)、二进制电平、数字脉冲(在这种情况下,可能需要脉冲-模拟转换器pac来将脉冲转换至合适的输入模拟电平)或数字位(在这种情况下,提供dac以将数字位转换至合适的输入模拟电平);输出可为模拟电平、二进制电平、数字脉冲或数字位(在这种情况下,提供输出adc以将输出模拟电平转换成数字位)。
[0053]
图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的映射的一个或多个数字脉冲。
[0054]
由输入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)。本领域的普通技术人员将会知道,这仅仅是示例性的,并且相反,系统可包括两个以上的隐藏层和两个以上的完全连接的层。
[0055]
vmm阵列
[0056]
图12示出神经元vmm阵列1200,该神经元vmm阵列特别适用于图3所示的存储器单元310,并且用作输入层与下一层之间的神经元的突触和部件。vmm阵列1200包括非易失性存储器单元的存储器阵列1201和非易失性参考存储器单元的参考阵列1202(在阵列的顶部)。另选地,可将另一个参考阵列置于底部。
[0057]
在vmm阵列1200中,控制栅线(诸如控制栅线1203)在竖直方向上延伸(因此参考阵列1202在行方向上与控制栅线1203正交),并且擦除栅线(诸如擦除栅线1204)在水平方向上延伸。此处,vmm阵列1200的输入设置在控制栅线(cg0,cg1,cg2,cg3)上,并且vmm阵列1200的输出出现在源极线(sl0,sl1)上。在一个实施方案中,仅使用偶数行,并且在另一个实施方案中,仅使用奇数行。置于各源极线(分别为sl0、sl1)上的电流执行来自连接到该特定源极线的存储器单元的所有电流的求和函数。
[0058]
如本文针对神经网络所述,vmm阵列1200的非易失性存储器单元(即vmm阵列1200的闪存存储器)优选地被配置成在亚阈值区域中操作。
[0059]
在弱反转中偏置本文所述的非易失性参考存储器单元和非易失性存储器单元:
[0060]
ids=io*e
(vg-vth)/nvt
=w*io*e
(vg)/nvt

[0061]
其中w=e
(-vth)/nvt
[0062]
其中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分别是存储器单元的宽度和长度。
[0063]
对于使用存储器单元(诸如参考存储器单元或外围存储器单元)或晶体管将输入电流ids转换为输入电压vg的i到v对数转换器:
[0064]
vg=n*vt*log[ids/wp*io]
[0065]
此处,wp为参考存储器单元或外围存储器单元的w。
[0066]
对于使用存储器单元(诸如参考存储器单元或外围存储器单元)或晶体管将输入电流ids转换为输入电压vg的i到v对数转换器:
[0067]
vg=n*vt*log[ids/wp*io]
[0068]
此处,wp为参考存储器单元或外围存储器单元的w。
[0069]
对于用作矢量矩阵乘法器vmm阵列的存储器阵列,输出电流为:
[0070]
iout=wa*io*e
(vg)/nvt
,即
[0071]
iout=(wa/wp)*iin=w*iin
[0072]
w=e
(vthp-vtha)/nvt
[0073]
iin=wp*io*e
(vg)/nvt
[0074]
此处,wa=存储器阵列中的每个存储器单元的w。
[0075]
vthp是外围存储器单元的有效阈值电压,并且vtha是主要(数据)存储器单元的有效阈值电压。
[0076]
注意,晶体管的阈值电压是衬底主体偏置电压的函数,并且该衬底主体偏置可以针对各种补偿(诸如超过温度)或通过调制单元电流进行调制。
[0077]
vth=vth0+γ(sqrt(vsb+|2*φf|)-sqrt|2*φf|)
[0078]
vth0是具有零衬底偏置的阈值电压,φf是表面电位,γ是主体效应参数。
[0079]
字线或控制栅可用作输入电压的存储器单元的输入。
[0080]
另选地,本文所述的vmm阵列的非易失性存储器单元可被配置成在线性区域中操作:
[0081]
ids=β*(vgs-vth)*vds;β=u*cox*wt/l,
[0082]
wα(vgs-vth),
[0083]
意指线性区域中的权重w与(vgs-vth)成比例
[0084]
字线或控制栅或位线或源极线可以用作在线性区域中操作的存储器单元的输入。位线或源极线可用作存储器单元的输出。
[0085]
对于i到v线性转换器,在线性区域工作的存储器单元(例如参考存储器单元或外
围存储器单元)或晶体管或电阻器可以用来将输入/输出电流线性转换成输入/输出电压。
[0086]
另选地,本文所述的vmm阵列的存储器单元可被配置成在饱和区域中操作:
[0087]
ids=1/2*β*(vgs-vth)2;β=u*cox*wt/l
[0088]
wα(vgs-vth)2,意指权重w与(vgs-vth)2成比例
[0089]
字线、控制栅或擦除栅可以用作在饱和区域中操作的存储器单元的输入。位线或源极线可用作输出神经元的输出。
[0090]
另选地,本文所述的vmm阵列的存储器单元可用于神经网络的每个层或多个层的所有区域或其组合(亚阈值、线性或饱和区域)。
[0091]
图13示出了神经元vmm阵列1300,该神经元vmm阵列特别适用于图2所示的存储器单元210,并且用作输入层与下一层之间的突触。vmm阵列1300包括非易失性存储器单元的存储器阵列1303、第一非易失性参考存储器单元的参考阵列1301和第二非易失性参考存储器单元的参考阵列1302。沿阵列的列方向布置的参考阵列1301和1302用于将流入端子blr0、blr1、blr2和blr3的电流输入转换为电压输入wl0、wl1、wl2和wl3。实际上,第一非易失性参考存储器单元和第二非易失性参考存储器单元通过多路复用器1314(仅部分示出)二极管式连接,其中电流输入流入其中。参考单元被调谐(例如,编程)为目标参考电平。目标参考电平由参考微阵列矩阵(未示出)提供。
[0092]
存储器阵列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中的每个位线上的电流执行来自连接到该特定位线的所有非易失性存储器单元的电流的求和函数。
[0093]
表6示出用于vmm阵列1300的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的源极线和用于未选单元的源极线上的电压,其中flt指示浮动,即未施加电压。行指示读取、擦除和编程操作。
[0094]
表6:图13的vmm阵列1300的操作
[0095][0096]
图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)上。置于各源极线上的电流执行来自连接到该特定源极线的存储器单元的所有电流的求和函数。
[0097]
表7示出用于vmm阵列1400的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的源极线和用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
[0098]
表7:图14的vmm阵列1400的操作
[0099][0100]
图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)上的恒定电压。将参考单元调谐至目标参考电平。
[0101]
存储器阵列1503用于两个目的。首先,它存储将由vmm阵列1500使用的权重。第二,存储器阵列1503有效地将输入(提供到端子blr0、blr1、blr2和blr3的电流输入,参考阵列1501和1502将这些电流输入转换成输入电压以提供给控制栅cg0、cg1、cg2和cg3)乘以存储在存储器阵列中的权重,然后将所有结果(单元电流)相加以产生输出,该输出出现在bl0-bln并且将是下一层的输入或最终层的输入。通过执行乘法和加法函数,存储器阵列消除了对单独的乘法和加法逻辑电路的需要,并且也是高功效的。这里,输入提供在控制栅线(cg0、cg1、cg2和cg3)上,输出在读取操作期间出现在位线(bl0

bln)上。置于各位线上的电流执行来自连接到该特定位线的存储器单元的所有电流的求和函数。
[0102]
vmm阵列1500为存储器阵列1503中的非易失性存储器单元实现单向调谐。也就是说,每个非易失性存储器单元被擦除,然后被部分编程,直到达到浮栅上的所需电荷。这可例如使用下文所述的精确编程技术来执行。如果在浮栅上放置过多电荷(使得错误的值存储在单元中),则必须擦除单元,并且部分编程操作的序列必须重新开始。如图所示,共享同一擦除栅(诸如eg0或eg1)的两行需要一起擦除(其被称为页面擦除),并且此后,每个单元
被部分编程,直到达到浮栅上的所需电荷。
[0103]
表8示出用于vmm阵列1500的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的控制栅、用于与所选单元相同扇区中的未选单元的控制栅、用于与所选单元不同扇区中的未选单元的控制栅、用于所选单元的擦除栅、用于未选单元的擦除栅、用于所选单元的源极线、用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
[0104]
表8:图15的vmm阵列1500的操作
[0105][0106]
图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中,其中每个位线对来自连接到该特定位线的非易失性存储器单元的所有电流求和。
[0107]
表9示出用于vmm阵列1600的工作电压。表中的列指示置于用于所选单元的字线、用于未选单元的字线、用于所选单元的位线、用于未选单元的位线、用于所选单元的控制栅、用于与所选单元相同扇区中的未选单元的控制栅、用于与所选单元不同扇区中的未选单元的控制栅、用于所选单元的擦除栅、用于未选单元的擦除栅、用于所选单元的源极线、用于未选单元的源极线上的电压。行指示读取、擦除和编程操作。
[0108]
表9:图16的vmm阵列1600的操作
[0109][0110]
vmm阵列的输入可为模拟电平、二进制电平、定时脉冲、或数字位,并且输出可为模拟电平、二进制电平、定时脉冲或数字位(在这种情况下,需要输出adc来将输出模拟电平电流或电压转换成数字位)。
[0111]
对于vmm阵列中的每个存储器单元,每个权重w可由单个存储器单元或由差分单元或由两个混合存储器单元(2个或更多个单元的平均值)来实现。在差分单元的情况下,需要两个存储器单元来实现权重w作为差分权重(w=w+

w-)。在两个混合存储器单元中,需要两个存储器单元来实现权重w作为两个单元的平均值。
[0112]
非易失性存储器单元的现有技术阵列的一个缺点是需要相对大量的时间来将源极线拉至接地以执行读取或擦除操作。
[0113]
需要一种改进的vmm系统,其包含源极线拉低机构,该源极线拉低机构能够比现有技术系统更快速地将源极线拉低至接地。


技术实现要素:



[0114]
公开了模拟神经存储器阵列的许多实施方案。某些实施方案包含用于将源极线快速地拉低至接地的改进机构。例如,这是有用的,以使读取、编程或擦除操作的电压降最小化。其它实施方案包含针对具有负和正权重的负和正输入的具体实施。
[0115]
在一个实施方案中,非易失性存储器系统包括:以行和列布置的非易失性存储单元的阵列;多条位线,该多条位线中的每条位线耦合到非易失性存储器单元的列;以及多条拉低位线,该多条拉低位线中的每条拉低位线耦合到非易失性存储器单元的列;
[0116]
在另一个实施方案中,非易失性存储器系统包括:以行和列布置的非易失性存储单元的阵列;多条位线,该多条位线中的每条位线耦合到非易失性存储器单元的列;以及多条拉低位线,该多条拉低位线中的每条拉低位线耦合到非易失性存储器单元的列;其中在所选单元的读取或验证操作期间,电流通过该多条位线中的一条位线流入所选单元中,流入多个拉低单元行中以及流入该多条拉低位线中的两条或更多条拉低位线中。
[0117]
在另一个实施方案中,非易失性存储器系统包括:以行和列布置的非易失性存储单元的阵列;多条位线,该多条位线中的每条位线耦合到非易失性存储器单元的列;以及多条拉低位线,该多条拉低位线中的每条拉低位线耦合到非易失性存储器单元的列;其中在所选单元的读取或验证操作期间,电流通过该多条位线中的一条位线流入所选单元中,流入与所选单元相邻的拉低单元中以及流入该多条拉低位线中的一条拉低位线中。
[0118]
在另一个实施方案中,非易失性存储器系统包括:以行和列布置的非易失性存储
单元的阵列;多条位线,该多条位线中的每条位线耦合到非易失性存储器单元的列;以及多个拉低单元,个多个拉低单元中的每个拉低单元耦合到非易失性存储器单元的源极线。
[0119]
在另一个实施方案中,非易失性存储器系统包括:以行和列布置的非易失性存储单元的阵列;多条位线,该多条位线中的每条位线耦合到非易失性存储器单元的列;多个行,该多条行线中的每条行线耦合到非易失性存储器单元的行;以及接收负值输入的行。
附图说明
[0120]
图1示出现有技术的人工神经网络。
[0121]
图2示出现有技术的分裂栅闪存存储器单元。
[0122]
图3示出另一现有技术的分裂栅闪存存储器单元
[0123]
图4示出另一现有技术的分裂栅闪存存储器单元。
[0124]
图5示出另一现有技术的分裂栅闪存存储器单元。
[0125]
图6示出另一现有技术的分裂栅闪存存储器单元。
[0126]
图7示出现有技术的堆叠栅闪存存储器单元。
[0127]
图8示出双分裂栅存储器单元。
[0128]
图9示出使用一个或多个vmm阵列的示例性人工神经网络的不同层级。
[0129]
图10示出包括vmm阵列和其他电路的vmm系统。
[0130]
图11示出使用一个或多个vmm系统的示例性人工神经网络。
[0131]
图12示出vmm阵列的实施方案。
[0132]
图13示出vmm阵列的另一实施方案。
[0133]
图14示出vmm阵列的另一实施方案。
[0134]
图15示出vmm阵列的另一实施方案。
[0135]
图16示出vmm阵列的另一实施方案。
[0136]
图17示出vmm系统。
[0137]
图18a、图18b和图18c示出现有技术的vmm阵列。
[0138]
图19a、图19b和图19c示出改进的vmm阵列。
[0139]
图20示出另一改进的vmm阵列。
[0140]
图21示出具有改进的源极线拉低机构的vmm系统。
[0141]
图22示出具有改进的源极线拉低机构的另一vmm系统。
[0142]
图23示出具有改进的源极线拉低机构的另一vmm系统。
[0143]
图24示出具有改进的源极线拉低机构的另一vmm系统。
[0144]
图25示出具有改进的源极线拉低机构的vmm系统的示例性布局图。
[0145]
图26示出具有改进的源极线拉低机构的vmm系统的另一示例性布局图。
[0146]
图27a、图27b和图27c示出其它改进的vmm阵列。
[0147]
图28示出包括冗余阵列的另一改进的vmm阵列。
[0148]
图29示出包括两个vmm阵列和共享虚拟位线切换电路的另一改进的vmm系统。
[0149]
图30示出另一改进的vmm系统。
[0150]
图31示出求和器电路的实施方案。
[0151]
图32示出求和器电路的另一实施方案。
[0152]
图33a和图33b示出求和器电路的其它实施方案。
[0153]
图34a、34b和34c示出输出电路的实施方案。
[0154]
图35示出神经元输出电路。
[0155]
图36示出模数转换器的实施方案。
[0156]
图37示出模数转换器的另一实施方案。
[0157]
图38示出模数转换器的另一实施方案。
[0158]
图39示出模数转换器的另一实施方案。
具体实施方式
[0159]
本发明的人工神经网络利用cmos技术和非易失性存储器阵列的组合。
[0160]
vmm系统概述
[0161]
图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中实现。
[0162]
输入电路1706可以包括电路,诸如dac(数模转换器)、dpc(数字到脉冲转换器)、aac(模拟到模拟转换器,诸如电流到电压转换器)、pac(脉冲到模拟电平转换器)或任何其他类型的转换器。该输入电路1706可以实现归一化、尺度函数或算术函数。该输入电路1706能够实现对输入的温度补偿函数。输入电路1706能够实现激活函数,诸如relu或sigmoid函数。输出电路1707能够包括电路,诸如adc(模数转换器,用于将神经元模拟输出转换为数字位)、aac(模拟到模拟转换器,诸如电流到电压转换器)、apc(模拟到脉冲转换器)或任何其他类型的转换器。输出电路1707能够实现激活函数,诸如relu或sigmoid函数。输出电路1707能够在神经元输出上实现统计归一化、正则化、上/下缩放函数、统计舍入或算术函数(例如,加法、减法、除法、乘法、移位、对数)。输出电路1707能够在神经元输出或阵列输出(诸如位线输出)上实现温度补偿函数,使得保持阵列的功率消耗大致恒定或诸如通过使iv斜率保持大致相同来提高阵列(神经元)输出的精度。
[0163]
图18a示出现有技术的vmm系统1800。vmm系统1800包括示例性单元1801和1802、示例性位线开关1803(其将位线连接到感测电路)、示例性虚拟位线开关1804(其耦合到低电平,诸如读取中的接地电平),示例性虚拟单元1805和1806(源极线拉低单元)。位线开关1803耦合到单元列,该单元列包括用于在vmm系统1800中存储数据的单元1801和1802。虚拟位线开关1804耦合到作为虚拟单元的单元的列(位线),这些虚拟单元不用于在vmm系统1800中存储数据。此虚拟位线(也称为源极线拉低位线)被用作读取中的源极线拉低,这意味着其用于通过虚拟位线中的存储器单元将源极线sl(例如,sl0和sl1)拉到低电平(诸如接地电平)。虚拟位线开关1804与位线开关1803在阵列的相同端。
[0164]
vmm系统1800的一个缺点是,由于通过相关位线开关、单元本身和相关虚拟位线开关的电路径的长度,每个单元的输入阻抗不同。例如,图18b示出了通过位线开关1803、单元1801、源极线sl0、虚拟单元1805和虚拟位线开关1804的电路径。类似地,图18c示出了通过
位线开关1803、竖直金属位线1807、单元1802、源极线sl1、虚拟单元1806、竖直金属位线1808和虚拟位线开关1804的电路径。可以看出,图18c中穿过单元1802的路径与图18b中穿过单元1801的路径相比横穿显著更大的位线和虚拟位线的长度,并且因此穿过单元1802的路径与穿过单元1801的路径相比与更高的电容和更高的电阻相关联。这使得单元1802在位线或源极线中的寄生阻抗大于单元1801的寄生阻抗。例如,这种可变性是缺点,因为它会导致应用于读取或验证(对于编程/擦除调谐周期)单元的单元输出精度取决于这些单元在阵列中的位置而变化。
[0165]
图19a示出改进的vmm系统1900。vmm系统1900包括示例性单元1901和1902、示例性位线开关1903(其将位线连接到感测电路)、示例性虚拟单元1905和1906(各自为拉低单元)以及示例性虚拟位线开关1904(其耦合到读取中的低电平诸如接地电平)。虚拟位线开关连接到虚拟位线,该虚拟位线连接到用作拉低单元的虚拟单元1905、1906)。可以看出,示例性虚拟位线开关1904和其他虚拟位线开关位于阵列的与位线开关1903和其他位线开关相对的端上。示出了单元和相关联的虚拟单元的四个列,其中位线开关分别标记为1903a、1903b、1903c、1903d并且相应虚拟位线开关标记为1904a、1904b、1904c和1904d。
[0166]
在图19b和19c中可以看到这种设计的益处。图19b示出通过位线开关1903、单元1901、源极线sl0、虚拟单元1905(源极线拉低单元)、竖直金属位线1908和虚拟位线开关1904(其在读取中耦合到诸如接地电平的低电平)的电路径。图19c示出通过位线开关1903、竖直金属线1907、单元1902、源极线sl1、虚拟单元1906(源极线拉低单元)和虚拟位线开关1904的电路径。这些路径基本上相同(单元、互连长度),这适用于vmm系统1900中的所有单元。因此,每个单元的位线阻抗加上源极线阻抗基本上相同,这意味着在阵列中在不同单元的读取操作或验证操作中寄生电压降的量的变化相对来说相同。
[0167]
图20示出具有全局源极线拉低位线的vmm系统2000。vmm系统2000类似于vmm系统1900,不同之处在于:虚拟位线2005a-2005n和2007a-2007n连接在一起(以在读取或验证期间充当全局源极线拉低线以将存储器单元源极线拉到接地电平),虚拟位线开关(诸如虚拟位线开关2001和2002)连接或耦合到公共接地,表示为arygnd;并且源极线一起耦合到源极线开关2008,该源极线开关选择性地将源极线拉至接地。这些变化进一步减小在读取或验证操作期间单元之间的(阵列)寄生阻抗的变化。
[0168]
图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的源极线端子,通过竖直虚拟位线2111和2103,并通过虚拟位线开关2102和2103。在数据单元2108的读取或验证(用于编程/擦除调谐循环)期间,电流将通过位线开关2104流入数据单元2108的位线端子中并且流出到单元2108的源极线端子,在该源极线端子处该电流然后流入源极线2110,进入虚拟单元2106和2107的源极线端子,通过竖直虚拟位线2111和2103,并通过虚拟位线开关2102和2103。这种
列图案在整个阵列中重复,其中每四个列包含两列数据单元和两个相邻的阵列列,该两个相邻的阵列列用于该两列数据单元之间的拉低操作。在另一个实施方案中,两个相邻列的两个拉低单元的扩散部可以合并在一起成为一个更大的扩散部,以增加拉低能力。在另一个实施方案中,拉低单元的扩散部可以制成得比数据单元扩散部的扩散部大,以增加拉低能力。在另一个实施方案中,每个拉低单元具有与选定数据单元的偏置条件不同的偏置条件。
[0169]
在一个实施方案中,拉低单元具有与常规数据存储器单元相同的物理结构。在另一实施方案中,拉低单元具有与常规数据存储器单元不同的物理结构,例如,拉低单元可以是常规数据存储器单元的修改版本,诸如通过修改一个或多个物理维度(宽度、长度,但不限于此)或电参数(层厚度、植入,但不限于此)。在另一实施方案中,拉低单元是常规晶体管(没有浮栅),诸如i/o或高电压晶体管。
[0170]
图22示出vmm系统2200。vmm系统2200包括位线2201、拉低位线2202、数据单元2203和2206、拉低单元2204和2205以及源极线2210、2211。在单元2203的读取或验证操作期间,电流将通过位线开关2201流入到单元2203的位线端子中并且流出到单元2203的源极线端子,在该源极线端子处电流然后流入源极线2210并进入拉低单元2204的源极线端子中,并且通过拉低位线blpd 2202,其连接(诸如通过接触件)到拉低单元2204的漏极。对于每个列重复此设计,最终结果是包含拉低单元2204的行是拉低单元行。
[0171]
在单元2206的读取或验证(用于编程/擦除调谐循环)操作期间,电流将通过位线开关2201流入到单元2206的位线端子中并且流出到单元2206的源极线端子,在该源极线端子处电流然后流入源极线2211并进入拉低单元2205的源极线端子中,并且通过拉低位线blpd 2202,其连接(诸如通过接触件)到拉低单元2205的漏极。对于每个列重复此设计,最终结果是包含拉低单元2205的行是拉低单元行。如图22所示,存在四行,两个中间相邻行用于拉低单元,顶部和底部行是数据单元。
[0172]
表10示出用于vmm系统2200的工作电压。表中的列指示设置在用于所选单元的位线、拉低位线、用于所选单元的字线wl、用于所选单元的控制栅、用于所选拉低单元的字线wls、用于所选拉低单元的控制栅cgs、用于所有单元的擦除栅eg、以及用于所有单元的源极线sl上的电压。行指示读取、擦除和编程操作。注意,用于读取中的cgs和wls的电压偏置高于常规wl和cg偏置的电压偏置,以增强拉低单元的驱动能力。在编程期间,针对wls和cgs偏置的电压可以是负的,以减少干扰。
[0173]
表10:图22的vmm阵列2200的操作
[0174][0175]
图23示出vmm系统2300。vmm系统2300包括位线2301、拉低位线2302、数据单元2303和2306,以及拉低单元2304和2305。在单元2303的读取或验证(用于程序/擦除调谐循环)操
作期间,电流将通过位线2301流入到单元2303的位线端子中并流出到单元2303的源极线端子,在该源极线端子处该电流然后流入到拉低单元2304的源极线端子(连接到源极线sl0)中,并且通过拉低位线2302,其连接到拉低单元2304的漏极端子。对于每个列重复此设计,最终结果是包含拉低单元2304的处于第一模式的行是拉低单元行。在数据单元2306的读取或验证(用于程序/擦除调谐循环)操作期间,电流将通过位线2301流入到单元2306的位线端子中并流出到单元2306的源极线端子(连接到源极线sl1),在该源极线端子处该电流然后流入到拉低单元2305的源极线端子中,并且通过拉低位线2302,其连接到拉低单元2305的漏极端子。对于每个列重复此设计,最终结果是包含拉低单元2305的处于第二模式的行是拉低单元行。如图23所示,存在四个行,交替的奇数(或偶数)行用于拉低单元,交替的偶数(或奇数)行是数据单元。
[0176]
值得注意的是,在第二模式期间,单元2304和2306在读取或验证中是活动的,并且单元2303和2305用于拉低过程,其中与第一模式相比,位线2301和2302的作用颠倒。换句话说,每单元行的作用可以在第一模式与第二模式之间改变,并且每个位线的作用可以在第一模式与第二模式之间改变。
[0177]
表11示出用于vmm系统2300的工作电压。表中的列指示设置在用于所选数据单元的位线、用于所选拉低单元的位线bl0a、bl0b、用于所选数据单元的字线wl、用于所选数据单元的控制栅cg、用于所选拉低单元的字线wls、用于所选拉低单元的控制栅cgs、用于所有单元的擦除栅eg、以及用于所有单元的源极线sl上的电压。行指示读取、擦除和编程操作。
[0178]
表11:图23的vmm系统2300的操作
[0179][0180]
图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中。注意,四个行的源极线通过竖直线4020连接在一起。
[0181]
表12示出用于vmm系统2400的工作电压。表中的列指示设置在用于所选单元的位线bl、拉低位线bppd、用于所选单元的字线wl、用于所选单元的控制栅cg、用于所选单元的擦除删eg、用于所选拉低单元的字线wls、用于所选拉低单元的控制栅cgs、用于所选拉低单元的擦除栅egs、以及用于所有单元的源极线sl上的电压。行指示读取、擦除和编程操作。
[0182]
表12:图24的vmm系统2400的操作
[0183][0184]
图25示出了图22的vmm系统2200的示例性布局2500。浅方块指示金属接触(金属与扩散部接触),其使存储器单元扩散部(存储器单元的漏极区)与金属位线诸如位线2201接触(诸如,使存储器单元2203的漏极扩散部与位线2201接触)以及与金属拉低位线诸如拉低位线2202接触(诸如使存储器单元2204的漏极扩散部与拉低位线2202接触)。
[0185]
图26示出了与图22的vmm系统2200类似的vmm系统的另选布局2600,不同之处在于竖直拉低位线2602极宽且横穿并连接到两列拉低单元。意味着针对用于数据存储器单元的每两条位线存在一个竖直拉低线。也就是说,用于拉低位线2602的区域比用于图25的位线2202的区域宽。布局2600进一步示出数据单元2603和拉低单元2604以及源极线2610。在另一个实施方案中,两个拉低单元(左和右)的扩散部可以合并在一起成为一个较大的扩散区域。
[0186]
图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上的电压电平),所以在输出之前使阵列输出(位线输出)为负,以实现负值输入的等效函数。
[0187]
替代地,参考图27b,可以在第一阵列2711中实现正权重,并且可以在与第一阵列分开的第二阵列2712中实现负权重,并且所得权重通过求和电路2713适当地组合在一起。类似地,虚拟位线(未示出)或拉低位线(未示出)用于分别避免fg-fg耦合和/或减少读取中的源极线中的ir电压降。
[0188]
替代地,图27c示出了vmm系统2750以实施具有正输入或负输入的神经网络的负权重和正权重。第一阵列2751在交替列中实施具有负权重和正权重的正值输入,并且第二阵列2752在相应交替列中实施具有负权重和正权重的负值输入。在通过加法器2755添加到第一阵列的输出之前,使第二阵列的输出为负。
[0189]
表10a示出了一对(w,w-)位线bl0/1和bl2/3的物理阵列布置的示例性布置,其中4个行耦合到拉低位线blpwdn。位线对(bl0、bl1;bl2、bl3)用于实施(w+,w-)线。在(w+,w-)线对之间,存在拉低位线(blpwdn)。这用于防止将相邻(w+,w-)线耦合(例如,fg-fg耦合)成电流(w+,w-)线中。基本上,拉低位线(blpwdn)用作(w+,w-)线对之间的物理屏障。
[0190]
关于fg到fg耦合现象的更多详细信息,以及用于抵消该现象的机构,请参阅同一受让人于2020年2月26日提交的并且名称为“深度学习人工神经网络中模拟神经存储器单元的超精密调谐(ultra-precise tuning of analog neural memory cells in a deep learning artificial neural network)”第62/981,757号美国临时专利申请,该美国临时专利申请通过引用并入本文中。
[0191]
表10b示出了不同的示例性权重组合。“1”意味着使用单元并且具有真实输出值,而“0”意味着不使用单元并且没有显著的输出值。
[0192]
在另一个实施方案中,可以使用代替拉低位线的虚拟位线。
[0193]
在另一个实施方案中,虚拟行也可以用作物理屏障以避免行之间的耦合。
[0194]
表10a:示例性布局
[0195] blpwdnbl0bl1blpwdnbl2bl3blpwdn行0 w01+w01
‑ꢀ
w02+w02
‑ꢀ
行1 w11+w11
‑ꢀ
w12+w12
‑ꢀ
行2 w21+w21
‑ꢀ
w22+w22
‑ꢀ
行3 w31+w31
‑ꢀ
w32+w32
‑ꢀ
[0196]
表10b:示例性权重组合
[0197] blpwdnbl0bl1blpwdnbl2bl3blpwdn行0 10 10 行1 01 01 行2 01 10 行3 11 11 [0198]
表11a示出了具有冗余线bl01、bl23和拉低位线blpwdn的位线对bl0/1和bl2/3的的物理布置(w+,w-)的另一阵列实施方案。bl01用于bl0/1对的权重重新映射(意味着在单元之间重新分布权重),并且bl23用于bl2/3对的权重重新映射。
[0199]
表11b示出了不需要重新映射的已分布权重的情况,基本上在bl1和bl3之间没有相邻的“1”,该相邻的“1”引起相邻的位线耦合。表11c示出了需要重新映射的已分布权重的情况,这是由于在bl1和bl2之间存在相邻的“1”,这引起相邻的位线耦合。在表11d中示出该重新映射,结果是任何相邻位线之间没有“1”值。此外,通过重新映射位线之间的“1”实际值权重,现在减少了沿位线的总电流,从而导致位线(输出神经元)中的更精确值。在这种情况下,需要附加列(位线)(bl01,bl23)以充当冗余列。
[0200]
表11e和11f示出将噪声单元(或缺陷单元)重新映射到冗余(空余)列(诸如表10e中的bl01、bl23或表11f中的bl0b和bl1b)的另一实施方案。加法器用于适当地对位线输出和映射求和。
[0201]
表11a:示例性布局
[0202] blpwdnbl01bl0bl1bl2bl3bl23blpwdn行0
ꢀꢀ
w01+w01-w02+w02
‑ꢀꢀ
行1
ꢀꢀ
w11+w11-w12+w12
‑ꢀꢀ
行2
ꢀꢀ
w21+w21-w22+w22
‑ꢀꢀ
行3
ꢀꢀ
w31+w31-w32+w32
‑ꢀꢀ
[0203]
表11b:示例性权重组合
[0204] blpwdnbl01bl0bl1bl2bl3bl23blpwdn行0
ꢀꢀ
1010
ꢀꢀ
行1
ꢀꢀ
0101
ꢀꢀ
行2
ꢀꢀ
1010
ꢀꢀ
行3
ꢀꢀ
0101
ꢀꢀ
[0205]
表11c:示例性权重组合
[0206] blpwdnbl01bl0bl1bl2bl3bl23blpwdn行0
ꢀꢀ
0110
ꢀꢀ
行1
ꢀꢀ
0110
ꢀꢀ
行2
ꢀꢀ
0110
ꢀꢀ
行3
ꢀꢀ
0110
ꢀꢀ
[0207]
表11d:重新映射的权重组合
[0208] blpwdnbl01bl0bl1bl2bl3bl23blpwdn行0 001001 行1 100100 行2 001001 行3 100100 [0209]
表11e:重新映射的权重组合
[0210][0211]
表11f:重新映射的权重组合
[0212][0213]
表11g示出了适用于图27b的阵列物理布置的实施方案。由于每个阵列具有正权重或负权重,因此对于每条位线需要用作拉低位线和物理屏障以避免fg-fg耦合的虚拟位线。
[0214]
表11g:示例性布局
[0215] blpwdnbl0blpwdnbl1blpwdn行0 w01+/
‑ꢀ
w02+/
‑ꢀ
行1 w11+/
‑ꢀ
w12+/
‑ꢀ
行2 w21+/
‑ꢀ
w22+/
‑ꢀ
行3 w31+/
‑ꢀ
w32+/
‑ꢀ
[0216]
在另一实施方案中,调谐位线用作目标位线的相邻位线,以借助于fg-fg电容耦合将目标位线调谐到最终目标。在这种情况下,拉低位线(blpwdn)插入在目标位线的不与调谐位线毗邻的侧上。
[0217]
在另一个实施方案中,将有噪声或缺陷的单元指定为(在通过感测电路将它们识别为有噪声的或缺陷的之后)作为不使用的单元,这意味着它们会被(深度)编程以不对神经元输出贡献任何值。
[0218]
在另一个实施方案中,识别快速单元,并且将更精确的编程算法应用于这些单元,诸如使用更小或无电压增量脉冲或使用浮栅耦合算法的编程序列。
[0219]
图28示出可选的冗余阵列2801,该冗余阵列可以包含在迄今为止讨论的vmm阵列中的任一vmm阵列中。如果附接到位线开关的任何列被认为是有缺陷的,则冗余阵列2801可以用作冗余来替换缺陷列。该冗余阵列可以具有用于冗余目的的其自身的冗余神经元输出(例如,位线)和adc电路。在其中需要冗余的情况下,冗余adc的输出用于替换坏位线的adc的输出。冗余阵列2801还可以用于诸如表11d、11e和11f中所描述的用于跨位线的功率分布的权重映射。
[0220]
图29示出vmm系统2900,该vmm系统包括阵列2901、阵列2902、列复用器2903、顶部局部位线lbl 2905a-d、底部局部位线lbl2905e-h、全局位线gbl 2908和2909以及拉低位线开关2905。列复用器2903分别用于将阵列2901的顶部局部位线2905或阵列2902的底部局部位线2905分别选择至全局位线2908、2909中。在一个实施方案中,(金属)全局位线2908具有与局部位线的数量相同的线数量,例如8或16。在另一实施方案中,全局位线2908每n个局部位线仅具有一个(金属)线,例如每8或16个局部位线具有一个全局位线。列复用器2903还包
括将相邻的全局位线(诸如gbl 2909)多路复用(复用)成当前全局位线(诸如gbl 2908),以有效地增加当前全局位线的宽度。这减少了全局位线上的电压降。
[0221]
图30示出vmm系统3000。vmm系统3000包括阵列3010、移位寄存器(sr)3001、数模转换器3002(其接收来自sr 3001的输入并输出等效(模拟或伪模拟)水平或信息)、加法器电路3003、模数转换器(adc)3004、位线开关(未示出)、虚拟位线(未示出)和虚拟位线开关(未示出)。如图所示,adc 3004可以组合在一起以产生具有更大精度(即,更大的位数)的单个adc。
[0222]
求和器电路3003可以包括图31-图33中所示的电路。它可以包括用于归一化、缩放、算术运算、激活或统计舍入的电路,但不限于此。
[0223]
图31示出能够由可变电阻器调节的电流到电压求和器电路3100,该电流到电压求和器电路包括分别汲取电流ineu1、

、ineun(这些电流为从vmm阵列的位线接收到的电流)(其中仅示出ineu1和ineu2)的电流源3101-1、

、3101-n、运算放大器op-amp 3102、可变保持电容器3104、可变电阻器3103和开关3106。运算放大器3102输出电压,vneuout=r3103*(ineu1+ineu2),其与电流ineux(其是来自vmm阵列中的列的电流)成比例。当开关3106断开时,可变保持电容器3104用于保持输出电压。这种保持的输出电压例如用于通过adc电路转换为数字位。电容器3103、电阻器3103的可变性诸如通过微调电路(微调电容器或电阻器的值)来完成,以根据例如神经元电流3101的输入电流范围来调整运算放大器3102输出的动态范围。
[0224]
图32示出能够由可变电容器(基本上为积分器)调节的电流到电压求和器电路3200,该求和器电路包括汲取电流ineu1、

、ineun(其分别为从vmm阵列的位线接收到的电流)的电流源3201-1、

、3201-n、运算放大器3202、可变电容器3203和开关3204。运算放大器3202输出电压,vneuout=ineu*积分时间/c3203,该电压与电流ineu成比例。
[0225]
图33a示出能够由可变电容器(即,开关式电容器(sc)电路)调节的电压求和器3300,该电压求和器包括开关3301和3302、可变电容器3303和3304、运算放大器3305、可变电容器3306和开关3307。当开关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。
[0226]
图33b示出电压求和器3350,该电压求和器包括开关3351、3352、3353和3354、可变输入电容器3358、运算放大器3355、可变反馈电容器3356和开关3357。在一个实施方案中,vin0为w+电压,并且vin1为w-电压,并且电压求和器3300将它们添加在一起以产生输出电压vout。
[0227]
对于input=vin0:当开关3354和3351闭合时,将输入vin0提供给电容器3358的顶部端子。然后,断开开关3351并且闭合开关3353,以将电荷从电容器3358转移至反馈电容器3356。基本上,接着输出vout=(c3358/c3356)*vin0(对于具有例如vref=0的情况)。
[0228]
对于input=vin1:当开关3353和3354闭合时,电容器3358的两个端子都向vref放
电。然后,断开开关3354并且闭合开关3352,将电容器3358的底部端子充电至vin1,这又将反馈电容器3356充电至vout=-(c3358/c3356)*vin1(对于vref=0的情况)。
[0229]
因此,如果在启用vin0输入之后启用vin1输入,那么对于vref=0作为示例的情况,vout=(c3358/c3356)*(vin 0-vin1)。这用于例如实现w=w+-w-。
[0230]
适用于上文讨论的vmm阵列的输入和输出操作的方法可以呈数字或模拟形式。方法包括:
[0231]
·
in[0:q]至dac的顺序输入:
[0232]
·
按顺序操作,in0、然后是in1,

,然后是inq;所有输入位具有相同的vcgin;所有位线(神经元)输出利用调整二进制索引乘数来求和;adc之前或adc之后
[0233]
·
如图30所示的调整神经元(位线)二进制索引乘数方法,示例求和器具有两个位线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位)由外围电路(即求和器电路)完成。因此,所有位线的电压降大致相同。
[0234]
·
按顺序操作,in0、in1,

,然后是inq;每个输入位具有对应的模拟值vcgin;所有神经元输出被求和用于所有输入位评估;adc之前或adc之后
[0235]
·
dac的并行输入:
[0236]
·
每个输入in[0:q]具有对应的模拟值vcgin;所有神经元输出利用调整二进制索引乘数方法求和,如上文所解释;adc之前或adc之后
[0237]
图34a、图34b和图34c示出可用于图30中的求和器电路3003和模数转换器3004的输出电路。
[0238]
图34a示出输出电路3400,该输出电路包括接收神经元输出3401并输出输出数字位3403的模数转换器3402。
[0239]
图34b示出输出电路3410,该输出电路包括一起接收神经元输出3401并产生输出3413的神经元输出电路3411和模数转换器3412。
[0240]
图34c示出输出电路3420,该输出电路包括一起接收神经元输出3401并产生输出3423的神经元输出电路3421和转换器3422。
[0241]
神经元输出电路3411或3412可以例如执行求和、缩放、归一化或算术运算,但不限于此。例如,转换器3422可以执行adc(模拟-数字转换器)、pdc(脉冲-数字转换器)、aac(模拟-模拟转换器)或apc(模拟-脉冲转换器)操作,而不受限制。
[0242]
图35示出神经元输出电路3500,该神经元输出电路包括可调节(缩放)电流源3501和可调节(缩放)电流源3502,这两个电流源一起产生输出i
out
,即神经元输出。此电路可以执行正权重和负权重的求和,即w=w+-w-,即iw+和iw-,并且同时增大或减小输出神经元电流。
[0243]
图36示出可配置的神经元串行模数转换器3600。它包括积分器3670,该积分器将神经元输出电流集成到积分电容器3602中。一个实施方案是通过对斜升vramp 3650计时直到比较器3604切换极性来产生数字输出(计数输出)3621,或者另一实施方案通过斜坡电流3651来斜降节点vc 3610直到vout 3603达到vref 3650的值,此时比较器3064输出ec3605
信号禁用计数器3620。该(n位)adc可配置成具有小于n位的较低位数精确度或大于n位的更高位数精确度,这取决于目标应用。该可配置性可通过配置电容器3602、电流3651、或vramp 3650的斜变速率、或时钟3641的时钟速率来实现,但不限于此。在另一实施方案中,vmm阵列的adc电路被配置为具有小于n位的较低精度,而另一vmm阵列的adc电路被配置为具有大于n位的高精度。此外,一个神经元电路的该adc电路可以被配置成与下一个神经元电路的下一个adc组合以产生更高的n位adc精度,诸如通过组合两个adc电路的积分电容器3602。
[0244]
图37示出可配置神经元sar(逐次逼近寄存器)模数转换器3700。该电路是基于使用二进制电容器进行电荷再分配的逐次逼近转换器。该电路包括二进制cdac(基于电容器的dac)3701、运算放大器/比较器3702、sar逻辑3703。如图所示,gndv 3704是低电压参考电平,例如接地电平。
[0245]
图38示出可配置的神经元组合sar模数转换器3800。该电路将来自两个神经元电路的两个adc组合为一个,以实现更高的精度n位,例如,对于一个神经元电路的4位adc,该电路可以通过组合两个4位adc来实现》4位精度,诸如8位adc精度。组合sar adc电路拓扑相当于分割电容器(桥接电容器(cap)或关注cap)sar adc电路,例如通过组合两个相邻的4位4c sar adc电路而得到的8位4c-4c sar adc结果。需要桥接电路3804来实现这一点,该电路的电容器的电容为=(cdac电容器单元的总数/cdac电容器单元的总数-1)。
[0246]
图39示出可配置神经元、流水线sar cdac adc电路3900,该电路可用于与下一个sar adc组合,以按流水线方式增加位数。残余电压3906由电容器3930 cf产生,以作为输入提供给流水线adc的下一个级(例如,以提供为2的增益(dac 3901中所有电容器的cf与c的比率)),作为对下一个sar cdac adc的输入)。
[0247]
关于可配置输出神经元(诸如可配置神经元adc)电路的附加具体实施细节,请参见同一受让人于2019年6月21日提交的并且名称为“深度学习人工神经网络中模拟神经存储器的可配置输入块和输出块以及物理布局(configurable input blocks and output blocks and physical layout for analog neural memory in a deep learning artificial neural network)”的第16/449,201号美国专利,该美国专利通过引用的方式并入本文。
[0248]
应当指出,如本文所用,术语“在

上方”和“在

上”两者包容地包括“直接在

上”(之间未设置中间材料、元件或空间)和“间接在

上”(之间设置有中间材料、元件或空间)。类似地,术语“相邻”包括“直接相邻”(之间没有设置中间材料、元件或空间)和“间接相邻”(之间设置有中间材料、元件或空间),“安装到”包括“直接安装到”(之间没有设置中间材料、元件或空间)和“间接安装到”(之间设置有中间材料、元件或空间),并且“电耦合至”包括“直接电耦合至”(之间没有将元件电连接在一起的中间材料或元件)和“间接电耦合至”(之间有将元件电连接在一起的中间材料或元件)。例如,“在衬底上方”形成元件可包括在两者间没有中间材料/元件的情况下在衬底上直接形成元件,以及在两者间有一个或多个中间材料/元件的情况下在衬底上间接形成元件。

技术特征:


1.一种非易失性存储器系统,包括:非易失性存储器单元的阵列,所述非易失性存储器单元的阵列按行和列布置;多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的列;以及多条拉低位线,所述多条拉低位线中的每条拉低位线耦合到拉低单元行。2.根据权利要求1所述的非易失性存储器系统,还包括拉低单元,所述拉低单元耦合到所述多条拉低位线。3.根据权利要求2所述的非易失性存储器系统,其中每个拉低单元具有与每个存储器单元相同的物理结构。4.根据权利要求2所述的非易失性存储器系统,其中每个拉低单元具有与每个存储器单元不同的物理结构。5.根据权利要求2所述的非易失性存储器系统,其中每个拉低单元为晶体管。6.根据权利要求1所述的非易失性存储器系统,其中所述非易失性存储器系统是神经网络的一部分。7.根据权利要求6所述的非易失性存储器系统,其中所述神经网络是模拟神经网络。8.根据权利要求1所述的非易失性存储器系统,其中在所选单元的读取、验证或擦除操作期间,电流流过所述多条位线中的一条位线、所述所选单元、与所述所选单元相邻的拉低单元和所述多个拉低位线中的一条拉低位线。9.根据权利要求8所述的非易失性存储器系统,其中所述拉低单元具有比所述所选单元宽的扩散区域。10.根据权利要求8所述的非易失性存储器系统,其中所述拉低单元具有与所述所选单元的偏置条件不同的偏置条件。11.根据权利要求1所述的非易失性存储器系统,其中所述阵列包括完全由拉低单元组成的行。12.根据权利要求1所述的非易失性存储器系统,其中所述阵列包括交替行的拉低单元行和数据单元行。13.根据权利要求1所述的非易失性存储器系统,其中所述阵列包括四个行的多个组,其中所述多个组中的每个组包括两个相邻拉低单元行。14.根据权利要求1所述的非易失性存储器系统,其中所述阵列的所述行包括交替的数据单元和拉低单元行。15.根据权利要求1所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性单元是分裂栅非易失性存储器单元。16.根据权利要求1所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性单元是堆叠栅非易失性存储器单元。17.一种非易失性存储器系统,包括:非易失性存储器单元的阵列,所述非易失性存储器单元的阵列按行和列布置;多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的相应第一列;以及多条拉低位线,所述多条拉低位线中的每条拉低位线耦合到非易失性存储器单元的相应第二列;
其中在所选非易失性存储器单元的读取或验证操作期间,电流流过所述多条位线中的一条位线、所述所选非易失性存储器单元、多个拉低单元行以及所述多条拉低位线中的两条或更多条拉低位线。18.根据权利要求17所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性单元是分裂栅非易失性存储器单元。19.根据权利要求17所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性单元是堆叠栅非易失性存储器单元。20.根据权利要求17所述的非易失性存储器系统,其中所述非易失性存储器系统是神经网络的一部分。21.根据权利要求20所述的非易失性存储器系统,其中所述神经网络是模拟神经网络。22.一种非易失性存储器系统,包括:非易失性存储器单元的阵列,所述非易失性存储器单元的阵列按行和列布置;多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的第一列;以及多条拉低位线,所述多条拉低位线中的每条拉低位线耦合到非易失性存储器单元的第二列;其中在所选非易失性存储器单元的读取或验证操作期间,电流流过所述多条位线中的一条位线、所述所选非易失性存储器单元、与所述所选非易失性存储器单元相邻的拉低单元以及所述多条拉低位线中的一条拉低位线。23.根据权利要求22所述的非易失性存储器系统,其中所述多个拉低位线包括两条相邻的拉低位线。24.根据权利要求22所述的非易失性存储器系统,其中所述阵列包括四个列的多个组,其中所述多个组中的每个组包括被配置作为拉低单元的非易失性存储器单元的两个相邻的第二列。25.根据权利要求22所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性单元是分裂栅非易失性存储器单元。26.根据权利要求22所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性单元是堆叠栅非易失性存储器单元。27.根据权利要求22所述的非易失性存储器系统,其中所述非易失性存储器系统是神经网络的一部分。28.根据权利要求27所述的非易失性存储器系统,其中所述神经网络是模拟神经网络。29.一种非易失性存储器系统,包括:非易失性存储器单元的阵列,所述非易失性存储器单元的阵列按行和列布置;多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的列;以及多个拉低单元,所述多个拉低单元中的每个拉低单元耦合到非易失性存储器单元的源极线。30.根据权利要求29所述的非易失性存储器系统,其中在所选单元的读取或验证操作期间,电流连续地流过所述多条位线中的一条位线、所述所选非易失性存储器单元以及所述多个拉低单元中的至少一个拉低单元。31.根据权利要求29所述的非易失性存储器系统,
其中在所选单元的读取或验证操作期间,电流连续地流过位线、所述所选非易失性存储器单元以及所述多个拉低单元中的至少一个拉低单元。32.根据权利要求29所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性存储器单元是分裂栅非易失性存储器单元。33.根据权利要求29所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性存储器单元是堆叠栅非易失性存储器单元。34.根据权利要求29所述的非易失性存储器系统,其中所述拉低单元中的每个拉低单元具有与每个非易失性存储器单元相同的物理结构。35.根据权利要求29所述的非易失性存储器系统,其中所述拉低单元中的每个拉低单元具有与所述非易失性存储器单元中的每个非易失性存储器单元不同的物理结构。36.根据权利要求29所述的非易失性存储器系统,其中所述拉低单元中的每个拉低单元为晶体管。37.根据权利要求29所述的非易失性存储器系统,其中所述阵列的至少一个列完全由拉低单元组成。38.根据权利要求29所述的非易失性存储器系统,其中所述阵列的至少一个行完全由拉低单元组成。39.根据权利要求29所述的非易失性存储器系统,其中所述存储器系统是神经网络的一部分。40.根据权利要求39所述的非易失性存储器系统,其中所述神经网络是模拟神经网络。41.一种非易失性存储器系统,包括:非易失性存储器单元的阵列,所述非易失性存储器单元的阵列按行和列布置;多条位线,所述多条位线中的每条位线耦合到非易失性存储器单元的列;多条行线,所述多条行线中的每条行线耦合到非易失性存储器单元的行;以及所述个行中的被布置成接收负值输入的至少一个行。42.根据权利要求41所述的非易失性存储器系统,还包括所述多个行中的被布置成接收正值输入的至少一个行。43.根据权利要求41所述的非易失性存储器系统,其中使所述负值输入的输出在所述阵列的输出处为负。44.根据权利要求41所述的存储器系统,其中所述存储器系统是神经网络的一部分。45.根据权利要求44所述的存储器系统,其中所述神经网络是模拟神经网络。46.根据权利要求44所述的非易失性存储器系统,其中所述阵列实施所述神经网络的负权重。47.根据权利要求46所述的非易失性存储器系统,其中使所述负权重的输出在所述阵列输出处为负。48.根据权利要求46所述的非易失性存储器系统,其中所述阵列实施神经网络的正权重。49.根据权利要求48所述的非易失性存储器系统,其中在所述阵列的输出处组合所述负值输入的所述输出和所述正值输入。50.根据权利要求41所述的非易失性存储器系统,
其中在所选非易失性存储器单元的读取或验证操作期间,电流连续地流过位线、所述所选非易失性单元和拉低单元。51.根据权利要求41所述的非易失性存储器系统,其中在所选非易失性存储器单元的读取或验证操作期间,电流连续地流过所述多条位线中的一条位线、所述所选非易失性存储器单元和拉低单元。52.根据权利要求41所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性存储器单元是分裂栅非易失性存储器单元。53.根据权利要求41所述的非易失性存储器系统,其中所述非易失性存储器单元的阵列中的所述非易失性存储器单元是堆叠栅非易失性存储器单元。54.根据权利要求41所述的非易失性存储器系统,还包括多个拉低单元。55.根据权利要求54所述的非易失性存储器系统,其中每个拉低单元具有与每个非易失性存储器单元相同的物理结构。56.根据权利要求54所述的非易失性存储器系统,其中每个拉低单元具有与每个非易失性存储器单元不同的物理结构。57.根据权利要求54所述的非易失性存储器系统,其中所述拉低单元中的每个拉低单元为常规晶体管。58.一种存储器系统,包括:存储器单元阵列,所述存储器单元阵列按行和列布置;多条位线,所述多条位线中的每条位线耦合到存储器单元的列;以及多条拉低位线,所述多条拉低位线中的每条拉低位线耦合到拉低单元行。

技术总结


公开了模拟神经存储器阵列的许多实施方案。某些实施方案包含用于将源极线快速地拉低至接地的改进机构。例如,这是有用的,以使读取、编程或擦除操作的电压降最小化。编程或擦除操作的电压降最小化。编程或擦除操作的电压降最小化。


技术研发人员:

H

受保护的技术使用者:

硅存储技术股份有限公司

技术研发日:

2020.11.16

技术公布日:

2022/12/23


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-61965-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-25 20:49:41

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论