CN109196528B - 使用非易失性存储器阵列的深入学习神经网络分类器 - Google Patents
使用非易失性存储器阵列的深入学习神经网络分类器 Download PDFInfo
- Publication number
- CN109196528B CN109196528B CN201780030390.9A CN201780030390A CN109196528B CN 109196528 B CN109196528 B CN 109196528B CN 201780030390 A CN201780030390 A CN 201780030390A CN 109196528 B CN109196528 B CN 109196528B
- Authority
- CN
- China
- Prior art keywords
- memory cells
- lines
- rows
- columns
- electrically connecting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Neurology (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
本发明公开了一种人工神经网络设备,该人工神经网络设备利用一个或多个非易失性存储器阵列作为突触。该突触被配置为接收输入并且从其生成输出。神经元被配置为接收输出。该突触包括多个存储器单元,其中存储器单元中的每个存储器单元包括:间隔开的源极区和漏极区,该源极区和漏极区在半导体基板中形成,其中沟道区在源极区和漏极区之间延伸;浮栅,该浮栅设置在沟道区的第一部分上方并且与其绝缘;和非浮栅,该非浮栅设置在沟道区的第二部分上方并且与其绝缘。多个存储器单元中的每个存储器单元被配置为存储权重值,该权重值与浮栅上的电子数量相对应。多个存储器单元被配置为将所述输入乘以所存储的权重值以生成输出。
Description
相关专利申请
本申请要求2016年5月17日提交的美国临时申请No.62/337,760的权益。
技术领域
本发明涉及神经网络。
背景技术
人工神经网络模拟生物神经网络(动物的中枢神经系统,特别是大脑)被用来估计或近似可依赖于大量输入且通常未知的功能。人工神经网络通常包括互连的“神经元”层,它们在彼此之间交换消息。图1示出了人工神经网络,其中圆圈表示神经元输入或神经元层。连接(称为突触)由箭头表示,并且具有可根据经验进行调整的数字权重。这使得神经网络适应输入并且能够学习。通常,神经网络包括多个输入层。通常存在一个或多个神经元中间层,以及提供神经网络输出的神经元输出层。每个层级的神经元单独地或共同地基于从突触接收的数据做出决定。
用于高性能信息处理的人工神经网络的开发中的主要挑战之一是缺乏足够的硬件技术。实际上,实际的神经网络依赖于非常大量的突触,从而实现神经元之间的高连通性,即非常高的计算并行性。原则上,这种此类复杂性可使用数字超级计算机或专用图形处理单元集群来实现。然而,除了高成本之外,与生物网络相比,这些方法还具有平平的能量效率,生物网络消耗的能量更少主要是因为它们执行低精度模拟计算。CMOS模拟电路已被用于人工神经网络,但由于神经元和突触数目众多,大多数CMOS实现的突触过于庞大。
发明内容
通过利用一个或多个非易失性存储器阵列作为突触的人工神经网络设备解决了上述问题和需求。该神经网络设备包括第一多个突触和第一多个神经元,该第一多个突触被配置为接收第一多个输入并从其生成第一多个输出,该第一多个神经元被配置为接收第一多个输出。第一多个突触包括:多个存储器单元,其中每个存储器单元包括间隔开的源极区和漏极区,该源极区和漏极区在半导体基板中形成,其中沟道区在其间延伸;浮栅,该浮栅设置在沟道区的第一部分上方并且与其绝缘;和非浮栅,该非浮栅设置在沟道区的第二部分上方并且与其绝缘。多个存储器单元中的每个存储器单元被配置为存储权重值,该权重值与浮栅上的电子数量相对应。多个存储器单元被配置为将第一多个输入乘以存储的权重值以生成第一多个输出。
通过查看说明书、权利要求书和附图,本发明的其他目的和特征将变得显而易见。
附图说明
图1为示出人工神经网络的图。
图2为常规的2栅极非易失性存储器单元的侧面剖视图。
图3为示出图2的存储器单元的常规阵列架构的图。
图4为常规的2栅极非易失性存储器单元的侧面剖视图。
图5为示出图4的存储器单元的常规阵列架构的图。
图6为常规的4栅极非易失性存储器单元的侧面剖视图。
图7为示出图6的存储器单元的常规阵列架构的图。
图8A为示出均匀间隔的神经网络权重级别分配的图。
图8B为示出不均匀间隔的神经网络权重级别分配的图。
图9为示出双向调谐算法的流程图。
图10为示出使用电流比较的权重映射的框图。
图11为示出使用电压比较的权重映射的框图。
图12为示出利用非易失性存储器阵列的示例性神经网络的不同级别的图。
图13为示出矢量乘法器矩阵的框图。
图14为示出矢量乘法器矩阵的各种级别的框图。
图15至图16为示出四栅极存储器单元阵列的第一架构的示意图。
图17至图18为示出四栅极存储器单元阵列的第二架构的示意图。
图19为示出四栅极存储器单元阵列的第三架构的示意图。
图20为示出四栅极存储器单元阵列的第四架构的示意图。
图21为示出四栅极存储器单元阵列的第五架构的示意图。
图22为示出四栅极存储器单元阵列的第六架构的示意图。
图23为示出二栅极存储器单元阵列的第一架构的示意图。
图24为示出二栅极存储器单元阵列的第二架构的示意图。
图25为示出电流-电压对数转换器的图。
图26为示出电压-电流对数转换器的图。
图27为示出参考接地的电流加法器的图。
图28为示出参考电源电压的电流加法器的图。
图29为示出利用非易失性存储器阵列的N2神经网络输入的图。
图30为示出利用非易失性存储器阵列的N2神经网络输入的图。
图31为示出利用具有周期性移位输入线的非易失性存储器阵列的神经网络输入线的图。
图32为示出具有周期性移位输入线的图15的存储器阵列架构的示意图。
图33为示出具有周期性移位输入线的图20的存储器阵列架构的示意图。
具体实施方式
本发明的人工神经网络利用CMOS技术和非易失性存储器阵列的组合。数字非易失性存储器是众所周知的。例如,美国专利5,029,130(“该'130专利”)公开了一种分裂栅极非易失性存储器单元阵列。该存储器单元示于图2中。每个存储器单元10包括源极区和漏极区14/16,该源极区和漏极区形成在半导体基板12中,其中在源极区和漏极区之间具有沟道区18。浮栅20形成在沟道区18的第一部分和漏极区16的一部分的上方,并且与所述沟道区的第一部分绝缘(并控制其导电性)。控制栅极22具有第一部分22a和第二部分22b,该第一部分22a设置在沟道区18的第二部分的上方并且与其绝缘(并控制其导电性),该第二部分向上延伸并在浮栅20上方延伸。浮栅20和控制栅极22通过栅极氧化物26与基板12绝缘。
通过在控制栅极22上施加高正电压来擦除存储器单元(其中电子从浮栅移除),这使得浮栅20上的电子经由Fowler-Nordheim隧道效应穿过中间绝缘体24从浮栅20隧穿到控制栅极22。
通过在控制栅极22上施加正电压和在漏极16上施加正电压来编程存储器单元(其中电子被放置在浮栅上)。电子电流将从源极14流向漏极16。当电子到达控制栅极22和浮栅20之间的间隙时,电子将加速并变热。由于来自浮栅20的吸引静电力,一些加热的电子将通过栅极氧化物26注入到浮栅20上。
通过在漏极16和控制栅极22(其导通控制栅极下方的沟道区)上施加正读取电压来读取存储器单元。如果浮栅20带正电(即,擦除电子并正向耦接到漏极16),则浮栅20下方的沟道区部分也被导通,并且电流将在整个沟道区18流动,其被感测为擦除或“1”状态。如果浮栅20带负电(即用电子编程),则浮栅20下方的沟道区部分大部分或完全截止,并且电流将不会在整个沟道区18流动(或者将存在很少的流动),其被感测为编程或“0”状态。
图3示出了存储器阵列的架构。存储器单元10按行和列布置。在每列中,存储器单元以镜像方式首尾相连地布置,使得它们形成为成对的存储器单元,每个存储器单元对共用共同的源极区14(S),并且每组相邻的存储器单元对共用共同的漏极区16(D)。用于任何给定行的存储器单元的所有源极区14通过源极线14a电连接在一起。用于任何给定列的存储器单元的所有漏极区16通过位线16a电连接在一起。用于任何给定行的存储器单元的所有控制栅极22通过控制栅极线22a电连接在一起。因此,虽然可单独编程和读取存储器单元,但是需逐行执行存储器单元擦除(通过在控制栅极线22a上施加高电压来一起擦除每行存储器单元)。如果要擦除特定存储器单元,则还要擦除同一行中的所有存储器单元。
本领域技术人员理解,源极和漏极可以是可互换的,其中浮栅可部分地在源极而不是漏极上延伸,如图4所示。图5最佳地示出了相应的存储器单元架构,包括存储器单元10、源极线14a、位线16a和控制栅极线22a。从该图中可明显看出,同一行的存储器单元10共用同一源极线14a和同一控制栅极线22a,而同一列的所有单元的漏极区电连接到同一位线16a。该阵列设计针对数字应用进行了优化,并允许对已选单元进行单独编程,例如,通过分别向已选控制栅极线22a和源极线14a施加1.6V和7.6V,并将已选位线16a接地。通过在未选位线16a上施加大于2伏的电压并将剩余的线接地,可避免干扰同一对中的未选存储器单元。无法单独擦除存储器单元10,因为负责擦除的过程(电子从浮栅20到控制栅极22的Fowler-Nordheim隧穿)仅受漏极电压的微弱影响(即,对于共用同一源极线14a的行方向上的两个相邻单元,唯一可能不同的电压)。
具有多于两个栅极的分裂栅极存储器单元也是已知的。例如,存储器单元具有源极区14、漏极区16、在沟道区18的第一部分上方的浮栅20、在沟道区18的第二部分上方的选择栅极28、在浮栅20上方的控制栅极22,以及在源极区14上方的擦除栅极30,这些均是已知的,如图6所示(参见例如美国专利6,747,310)。这里,所有的栅极都是除了浮栅20之外的非浮栅,这意味着它们电连接或可连接到电压源。通过来自沟道区18的加热电子将其自身注入到浮栅20上来显示编程。通过从浮栅20到擦除栅极30的电子隧穿来显示擦除。
可配置四栅极存储器单元阵列的架构,如图7所示。在该实施方案中,每条水平选择栅极线28a将用于该行存储器单元的所有选择栅极28电连接在一起。每条水平控制栅极线22a将用于该行存储器单元的所有控制栅极22电连接在一起。每条水平源极线14a将用于共用源极区14的两行存储器单元的所有源极区14电连接在一起。每条位线16a将用于该列存储器单元的所有漏极区16电连接在一起。每条擦除栅极线30a将用于共用擦除栅极30的两行存储器单元的所有擦除栅极30电连接在一起。与先前的架构一样,各个存储器单元可独立地编程和读取。但是,无法单独擦除单元。通过在擦除栅极线30a上施加高正电压来执行擦除,这导致同时擦除共用同一擦除栅极线30a的两行存储器单元。示例性操作电压可包括以下表1中的那些(在该实施方案中,选择栅极线28a可被称为字线WL):
表1
为了在神经网络中利用上述非易失性存储器阵列,进行了两个修改。第一,这些线被重新配置为使得每个存储器单元可被单独编程、擦除和读取,而不会对阵列中其他存储器单元的存储器状态造成不利影响,如下文进一步说明的。第二,提供存储器单元的连续(模拟)编程。具体地讲,阵列中的每个存储器单元的存储器状态(即浮栅上的电荷)可独立地并且以对其他存储器单元造成的干扰最小的方式从完全擦除状态连续地改变为完全编程状态,反之亦然。这意味着单元存储是模拟的或者至少可以存储许多离散值中的一个离散值,这允许对存储器阵列中的所有单元进行非常精确和单独的调谐,并且这使得存储器阵列成为存储神经网络的突触权重并对其进行微调的理想选择。
存储器单元编程和存储
存储在存储器单元中的神经网络权重级别分配可如图8A所示均匀地间隔开,或如图8B所示不均匀地间隔开。可使用诸如图9中所示的双向调谐算法来实现非易失性存储器单元的编程。I单元是正在编程的目标单元的读取电流,并且I目标是理想编程单元时所需的读取电流。读取目标单元读取电流I单元(步骤1)并将其与目标读取电流I目标进行比较(步骤2)。如果目标单元读取电流I单元大于目标读取电流I目标,则执行编程调谐过程(步骤3)以增加浮栅上的电子数量(其中查找表用于确定控制栅极上所需的编程电压VCG)(步骤3a至3b),其可根据需要重复(步骤3c)。如果目标单元读取电流I单元小于目标读取电流I目标,则执行擦除调谐过程(步骤4)以减少浮栅上的电子数量(其中查找表用于确定擦除栅极上所需的擦除电压VEG)(步骤4a至4b),其可根据需要重复(步骤4c)。如果编程调谐过程超过目标读取电流,则执行擦除调谐过程(步骤3d并从步骤4a开始),反之亦然(步骤4d并从步骤3a开始),直到达到目标读取电流(在可接受的δ值)。
相反,可使用使用编程调谐的单向调谐算法来实现非易失性存储器单元的编程。利用该算法,最初完全擦除存储器单元,然后执行图9中的编程调谐步骤3a至3c,直到目标单元的读取电流达到目标阈值。另选地,可使用使用擦除调谐的单向调谐算法来实现非易失性存储器单元的调谐。使用该方法,最初完全编程存储器单元,然后执行图9中的擦除调谐步骤4a至4c,直到目标单元的读取电流达到目标阈值。
图10为示出使用电流比较的权重映射的图。权重数字位(例如,每个突触的5位权重,表示存储器单元的目标数字权重)被输入到数模转换器(DAC)40,该数模转换器将位转换为电压Vout(例如,64个电压电平-5位)。通过电压-电流转换器V/I转换器42将Vout转换为电流Iout(例如,64个电流电平-5位)。电流被提供给流比较器I比较器44。编程或擦除算法启用被输入到存储器单元10(例如,擦除:递增EG电压;或编程:递增CG电压)。存储器单元电流输出Icellout(即,来自读取操作)被提供给电流比较器I比较器44。电流比较器I比较器44将存储器单元电流Icellout与从权重数字位导出的电流Iout进行比较,以产生指示存储在存储器单元10中的权重的信号。
图11为示出使用电压比较的权重映射的图。权重数字位(例如,每个突触的5位权重)被输入到数模转换器(DAC)40,该数模转换器将位转换为电压Vout(例如,64个电压电平-5位)。Vout被提供给电压比较器V比较器46。编程或擦除算法启用被输入到存储器单元10(例如,擦除:递增EG电压;或编程:递增CG电压)。存储器单元电流输出Icellout被提供给电流-电压转换器I/V转换器48,以转换为电压V2out(例如,64个电压电平-5位)。电压V2out被提供给电压比较器V比较器46。电压比较器V比较器46比较电压Vout和V2out以产生指示存储在存储器单元10中的权重的信号。
采用非易失性存储器单元阵列的神经网络
图12概念性地示出了利用非易失性存储器阵列的神经网络的非限制性示例。该示例使用非易失性存储器阵列神经网络用于面部识别应用,但是可使用基于非易失性存储器阵列的神经网络来实现任何其他适当的应用。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个特征图中的每个特征图均是由应用于滤波器扫描的16个不同的突触权重集中的一者生成的。C1特征图可以全部指向同一图像特征的不同方面,诸如边界识别。例如,第一图(使用为用于生成该第一图的所有扫描共享的第一权重集生成)可识别圆形边缘,第二图(使用与第一权重集不同的第二权重集生成)可识别矩形边缘,或某些特征的纵横比,等等。
在从C1到S1之前应用激活功能P1(汇集),其汇集来自每个特征图中的连续、非重叠的2×2区域的值。汇集阶段的目的是平均附近的位置(或者也可使用最大功能),以例如减少边缘位置的依赖性,并且在进入下一阶段之前减小数据大小。在S1处,存在16个15×15特征图(即,每个15×15像素的16个不同阵列)。CB2中的突触和相关神经元从S1到C2在S1中用4×4滤波器扫描,其中滤波器移位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个神经元,其中最高输出神经元确定类别。例如,该输出可指示原始图像的内容的识别或分类。
使用非易失性存储器单元的阵列或阵列的一部分来实现每个级别的突触。图13是包括非易失性存储器单元并且用作输入层和下一层之间的突触的矢量矩阵乘法(VMM)阵列的框图。具体地讲,VMM 32包括非易失性存储器单元阵列33、擦除栅极和字线栅极解码器34、控制栅极解码器35、位线解码器36和源极线解码器37,所述解码器解码存储器阵列33的输入。该示例中的源极线解码器37还解码存储器单元阵列的输出。存储器阵列有两个目的。首先,其存储将由VMM使用的权重。其次,存储器阵列有效地将输入乘以存储在存储器阵列中的权重以产生输出,该输出将是下一层的输入或最终层的输入。通过执行乘法功能,存储器阵列不需要单独的乘法逻辑电路,并且还是功率高效的。
存储器阵列的输出被提供给差分求和运算放大器38,其对存储器单元阵列的输出求和以产生该卷积的单个值。然后该求和输出值被提供给激活功能电路39,其对输出进行整流。整流输出值成为特征图的元素作为下一层(例如,上文描述中的C1),然后应用于下一个突触以产生下一个特征图层或最终层。因此,在该示例中,存储器阵列构成多个突触(其从先前的神经元层或从输入层诸如图像数据库接收它们的输入),并且求和运算放大器38和激活功能电路39构成多个神经元。
图14为各种级别的VMM的框图。如图14所示,输入由数模转换器31从数字转换为模拟,并提供给输入VMM 32a。由输入VMM 32a生成的输出被作为输入提供给下一个VMM(隐藏级别1)32b,其又生成被作为输入提供给下一个VMM(隐藏级别2)32c的输出,依此类推。VMM32的各个层用作卷积神经网络(CNN)的不同突触层和神经元层。每个VMM可以是独立的非易失性存储器阵列,或者多个VMM可利用相同的非易失性存储器阵列的不同部分,或者多个VMM可利用相同的非易失性存储器阵列的重叠部分。
图15示出了被布置为漏极求和矩阵乘法器的四栅极存储器单元阵列(即,诸如图6中所示的阵列)。图15的阵列的各种栅极和区域线与图7中的相同(对应结构具有相同的元件编号),不同之处在于擦除栅极线30a垂直而不是水平地延伸(即,每条擦除栅极线30a将该列存储器单元的所有擦除栅极30连接在一起),使得每个存储器单元10可被独立地编程、擦除和读取。在用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作漏极求和矩阵乘法器。矩阵输入是Vin0…Vin7并且被放置在选择栅极线28a上。在位线16a上产生用于图15的阵列的输出Iout0…IoutN的矩阵。对于该列中的所有单元,每个输出Iout为单元电流I乘以存储在单元中的权重W的总和:
Iout=∑(Iij*Wij)
每个存储器单元(或存储器单元对)充当具有表示为输出电流Iout的权重值的单个突触,该输出电流由存储在该列中的存储器单元(或存储器单元对)中的权重值的总和指示。任何给定突触的输出均是电流的形式。因此,在第一阶段之后的每个后续VMM阶段优选地包括用于将来自先前VMM阶段的输入电流转换为将用作输入电压Vin的电压的电路。图16示出了此类电流-电压转换电路的示例,该电流-电压转换电路是经修改的存储器单元行,其将输入电流Iin0…IinN对数转换为输入电压Vin0…VinN。
本文所述的存储器单元在弱反转中被偏置,
Ids=Io*e(Vg-Vth)/kVt=w*Io*e(Vg)/kVt
对于使用存储器单元将输入电流转换为输入电压的I-V对数转换器:
Vg=k*Vt*log[Ids/wp*Io]
对于用作矢量矩阵乘法器VMM的存储器阵列,输出电流为:
Iout=wa*Io*e(Vg)/kVt,即
Iout=(wa/wp)*Iin=W*Iin
图17和图18示出了被布置为漏极求和矩阵乘法器的四栅极存储器单元阵列(即,诸如图6中所示的阵列)的另一种配置。图17和图18的阵列的线与图15和图16的阵列中的线相同,不同之处在于源极线14a垂直而不是水平地延伸(即,每条源极线14a将该列存储器单元的所有源极区14连接在一起)并且擦除栅极线30a水平而不是垂直地延伸(即,每条擦除栅极线30a将该行存储器单元对的所有擦除栅极30连接在一起),使得每个存储器单元可独立地编程、擦除和读取。矩阵输入Vin0…VinN保留在选择栅极线28a上,矩阵输出Iout0…IoutN保留在位线16a上。
图19示出了被布置为栅极耦合/源极求和矩阵乘法器的四栅极存储器单元阵列(即,诸如图6中所示的阵列)的另一种配置。图19的阵列的线与图15和图16中的线相同,不同之处在于选择栅极线28a垂直延伸并且每列存储器单元有两条选择栅极线。具体地讲,每列存储器单元包括两条选择栅极线:将奇数行存储器单元的所有选择栅极28连接在一起的第一选择栅极线28a1和将偶数行存储器单元的所有选择栅极28连接在一起的第二选择栅极线28a2。
图19顶部和底部的电路用于将输入电流Iin0…IinN对数转换为输入电压Vin0…VinN。该图中所示的矩阵输入是Vin0…Vin5,并且被放置在选择栅极线28a1和28a2上。具体地讲,输入Vin0被放置在列1中的奇数单元的选择栅极线28a1上。Vin1被放置在列1中的偶数单元的选择栅极线28a2上。Vin2被放置在列2中的奇数单元的选择栅极线28a1上。Vin3被放置在列2中的偶数单元的选择栅极线28a2上,依此类推。矩阵输出Iout0…Iout3在源极线14a上提供。位线16a被偏置在固定偏置电压VBL读取。对于该行存储器单元中的所有单元,每个输出Iout为单元电流I乘以存储在单元中的权重W的总和。因此,对于该架构,每行存储器单元充当具有表示为输出电流Iout的权重值的单个突触,该输出电流由存储在该行中的存储器单元中的权重值的总和指示。
图20示出了被布置为栅极耦合/源极求和矩阵乘法器的四栅极存储器单元阵列(即,诸如图6中所示的阵列)的另一种配置。图20的阵列的线与图19中的线相同,不同之处在于位线16垂直延伸并且每列存储器单元有两条位线。具体地讲,每列存储器单元包括两条位线:将相邻的双存储器单元的所有漏极区(共享同一位线触点的两个存储器单元)连接在一起的第一位线16a1和将下一对相邻的双存储器单元的所有漏极区连接在一起的第二位线16a2。矩阵输入Vin0…VinN保留在选择栅极线28a1和28a2上,矩阵输出Iout0…IoutN保留在源极线14a上。所有第一位线16a1的集被偏置在偏置电平,例如1.2v,并且所有第二位线16a2的集被偏置在另一个偏置电平,例如0v。源极线14a被偏置在虚拟偏置电平,例如0.6v。对于共享共同的源极线14a的每对存储器单元,输出电流将是顶部单元减去底部单元的差分输出。因此,每个输出Iout是这些差分输出的总和:
Iout=∑(Iiju*Wiju-Iijd*Wijd)
SL电压~1/2Vdd,~0.5v
因此,对于该架构,每行成对的存储器单元充当具有表示为输出电流Iout的权重值的单个突触,该输出电流是由存储在该行成对的存储器单元中的存储器单元中的权重值指示的差分输出的总和。
图21示出了被布置为栅极耦合/源极求和矩阵乘法器的四栅极存储器单元阵列(即,诸如图6中所示的阵列)的另一种配置。图21的阵列的线与图20中的线相同,不同之处在于擦除栅极30a水平地延伸,并且控制栅极线22a垂直延伸,并且每列存储器单元有两条擦除栅极线和控制栅极线。具体地讲,每列存储器单元包括两条控制栅极线:将奇数行存储器单元的所有控制栅极22a连接在一起的第一控制栅极线22a1和将偶数行存储器单元的所有控制栅极22a连接在一起的第二控制栅极线22a2。矩阵输入Vin0…VinN保留在选择栅极线28a1和28a2上,矩阵输出Iout0…IoutN保留在源极线14a上。
图22示出了被布置为源极求和矩阵乘法器的四栅极存储器单元阵列(即,诸如图6中所示的阵列)的另一种配置。图22的阵列的线和输入与图17中的线和输入相同。然而,代替在位线16a上提供的输出,它们在源极线14a上提供。矩阵输入Vin0…VinN保留在选择栅极线28a上。
图23示出了被布置为漏极求和矩阵乘法器的双栅极存储器单元阵列(即,诸如图1所示的阵列)的配置。图23的阵列的线与图5中的线相同,不同之处在于水平源极线14a被垂直源极线14a替换。具体地讲,每条源极线14a连接到该列存储器单元中的所有源极区。矩阵输入Vin0…VinN被放置在控制栅极线22a上。矩阵输出Iout0…IoutN在位线16a上产生。对于该列中的所有单元,每个输出Iout为单元电流I乘以存储在单元中的权重W的总和。每列存储器单元充当具有表示为输出电流Iout的权重值的单个突触,该输出电流由存储在该列存储器单元中的权重值的总和指示。
图24示出了被布置为源极求和矩阵乘法器的双栅极存储器单元阵列(即,诸如图1所示的阵列)的配置。图24的阵列的线与图5中的线相同,不同之处在于控制栅极线22a垂直延伸并且每列存储器单元有两条控制栅极线。具体地讲,每列存储器单元包括两条控制栅极线:将奇数行存储器单元的所有控制栅极22a连接在一起的第一控制栅极线22a1和将偶数行存储器单元的所有控制栅极22a连接在一起的第二控制栅极线22a2。
该配置的矩阵输入是Vin0…VinN,并且被放置在控制栅极线22a1和22a2上。具体地讲,输入Vin0被放置在列1中的奇数行单元的控制栅极线22a1上。Vin1被放置在列1中的偶数行单元的控制栅极线22a2上。Vin2被放置在列2中的奇数行单元的控制栅极线22a1上。Vin3被放置在列2中的偶数行单元的控制栅极线22a2上,依此类推。矩阵输出Iout0…IoutN在源极线14a上产生。对于共享共同的源极线14a的每对存储器单元,输出电流将是顶部单元减去底部单元的差分输出。因此,对于该架构,每行成对的存储器单元充当具有表示为输出电流Iout的权重值的单个突触,该输出电流是由存储在该行成对的存储器单元中的存储器单元中的权重值指示的差分输出的总和。
图15至图16、图19和图20的实施方案的示例性操作电压包括:
近似数值包括:
VEG擦除 | 8-11.5v |
VCG擦除抑制 | 3.5-8v |
VEG编程 | 4-6v |
VWL编程 | 0.8-1.2v |
VCG编程 | 6-10v |
VBL编程抑制 | 1-2.5v |
I编程 | 0.2-1μa |
VS编程 | 3-5V |
VWL读取 | 0.4-2.0V |
VCG读取 | 0-2.5V |
VBL读取 | 1-2V |
VS读取 | 0-0.6V |
图17至图18和图22的实施方案的示例性操作电压包括:
近似数值包括:
图25示出了用于本发明的示例性电流-电压对数转换器50(WL=选择栅极线,CG=控制栅极线,EG=擦除栅极线)。在弱反转区中存储器被偏置,Ids=Io*e(Vg-Vth)/kVt。图26示出了用于本发明的示例性电压-电流对数转换器52。在弱反转区中存储器被偏置。图27示出了用于本发明的参考接地的电流加法器54。下面的图28示出了用于本发明的参考电源电压的电流加法器56。负载的示例包括二极管、非易失性存储器单元和电阻器。
上述存储器阵列配置实现前馈分类引擎。通过将“权重”值存储在存储器单元中(创建突触阵列)来完成训练,这意味着各个单元的亚阈值-斜率因子已被修改。通过根据神经元阈值对突触和发射或不发射的输出进行求和来实现神经元(即,做出决定)。
以下步骤可用于处理输入电流IE(例如,输入电流直接来自用于图像识别的特征计算的输出):
步骤1-转换为对数尺度,以便使用非易失性存储器进行更轻松的处理。
·使用双极型晶体管进行输入电流到电压的转换。双极型晶体管的偏置电压VBE与发射极电流具有对数关系。
·VBE=a*lnIE-b→VBE∝lnIE
-其中a(比率)和b(偏差或偏移量)是常数
·生成VBE电压,使得存储器单元将在亚阈值区域中操作。
步骤2-将所生成的偏置电压VBE施加到字线(在亚阈值区域中)。
·CMOS晶体管的输出电流I漏极与输入电压(VGS)、热电压(UT)和κ(k=Cox/(Cox+Cdep))呈指数关系,其中Cox和Cdep与浮栅上的电荷线性相关。
·I漏极∝Exp(kVBE/UT),或
·lnI漏极∝kVBE/UT
·I漏极的对数与VBE和浮栅上的电荷(与κ相关)的乘数呈线性关系,其中UT在给定温度下是恒定的。
·对于突触,存在输出=输入*权重的关系。
每个单元(I漏极)的输出可以读取模式连接在一起,以对阵列或阵列的扇区中的每个突触的值求和。一旦求和I漏极,就可以将其输入到电流比较器中,并根据单个感知神经网络的比较输出“逻辑”0或1。上文描述了一个感知(一个扇区)。每个感知的输出可被馈送到下一组扇区以获得多个感知。
在基于存储器的卷积神经网络中,需要将一组输入与某些权重相乘以产生所需的隐藏层或输出层的结果。如上所述,一种技术是使用M×M滤波器(内核)扫描先前的图像(例如N×N矩阵),该M×M滤波器在水平和垂直方向两者上在图像上移位X个像素。只要有足够的输入存储到存储器阵列,就可以至少部分地同时完成像素的扫描。例如,如图29所示,使用X=2的移位,可使用M=6的滤波器尺寸(即,36像素的6×6阵列)来扫描N×N图像阵列。在该示例中,滤波器中的第一行的六个像素被提供给N2输入的存储器阵列的第一6个输入。然后,滤波器中的第二行六个像素被提供给N2输入的第二N个输入中的第一6个输入,依此类推。这在图29的图的第一行中表示,其中点表示存储在存储器阵列中的权重,用于乘以如上所述的输入。然后,将滤波器向右移位两个像素,并且经移位的滤波器中的第一行六个像素被提供给第一N个输入的第三输入至第八输入,第二行六个像素被提供给第二N个输入的第三输入至第八输入,依此类推。一旦滤波器一直移位到图像的右侧,滤波器就会重新定位回到左侧,但向下移位两个像素,再次重复该过程,直到扫描完整个N×N图像。每组水平移位扫描可用梯形形状表示,所述梯形形状显示N2存储器阵列输入中的哪一个被提供有用于乘法的数据。
因此,使用扫描之间的两个像素的移位和6×6的滤波器尺寸来扫描N×N图像阵列需要N2输入和((N-4)/2))2行。图30以图形方式示出了梯形形状,该梯形形状指示了如何为滤波器扫描存储存储器阵列中的权重。每行阴影区域表示在一组水平扫描期间应用于输入的权重。箭头指示存储器阵列的线性输入线(接收输入数据的图15中的输入线28a以线性方式一直延伸穿过存储器阵列,每条输入线总是访问同一行存储器单元;在图19的阵列的情况下,每条输入线总是访问同一列存储器单元)。白色区域表示没有提供数据输入的位置。因此,白色区域表示存储器单元阵列的低效使用。
通过重新配置存储器阵列,可提高效率,减少输入总数,如图31所示。具体地讲,存储器阵列的输入线周期性地移位到另一行或列,从而减少了阵列的未使用部分,并因此减少了执行扫描所需的阵列上方的重复输入线的数量。具体地讲,在本示例中移位X=2的情况下,箭头指示每条输入线周期性地移位两行或两列,将梯形形状的宽间隔的存储器单元转换为矩形形状的紧密间隔的存储器单元。虽然线束需要存储器单元部分之间的额外空间来实现该移位,但是存储器单元阵列中所需的输入数量大大减少(仅5n+6)。
图32示出了图15的阵列,但是对于用作输入线的线28a,进行了两行的周期性移位。输入线以行进行的周期性移位可类似地在图17、图22和图23的阵列中实现。图33示出了图20的阵列,但是对于用作输入线的线28a1和28a2,进行了两列的周期性移位。输入线以列进行的周期性移位可类似地在图19、图21和图24的阵列中实现。
应当理解,本发明不限于上述的和在本文中示出的实施方案,而是涵盖落在任何权利要求的范围内的任何和所有变型形式。例如,对本文中本发明的引用不旨在限制任何权利要求或权利要求术语的范围,而是仅参考可由一项或多项权利要求覆盖的一个或多个特征。上文所述的材料、工艺和数值的示例仅为示例性的,而不应视为限制权利要求。材料的单个层可形成为此类材料或类似材料的多个层,并且反之亦然。虽然每个存储器单元阵列的输出在被发送到下一个神经元层之前通过滤波器压缩来操纵,但它们无需如此。
应当指出,如本文所用,术语“在…上方”和“在…上”两者包容地包含“直接在…上”(之间未设置中间材料、元件或空间)和“间接在…上”(之间设置有中间材料、元件或空间)。类似地,术语“相邻”包括“直接相邻”(之间没有设置中间材料、元件或空间)和“间接相邻”(之间设置有中间材料、元件或空间),“安装到”包括“直接安装到”(之间没有设置中间材料、元件或空间)和“间接安装到”(之间设置有中间材料、元件或空间),并且“电耦合至”包括“直接电耦合至”(之间没有将元件电连接在一起的中间材料或元件)和“间接电耦合至”(之间有将元件电连接在一起的中间材料或元件)。例如,“在基板上方”形成元件可包括在之间没有中间材料/元件的情况下在基板上直接形成元件,以及在之间有一个或多个中间材料/元件的情况下在基板上间接形成元件。
Claims (28)
1.一种神经网络设备,包括:
第一多个突触,所述第一多个突触被配置为接收第一多个输入并且从其生成第一多个输出,其中所述第一多个突触包括:
多个存储器单元,其中所述存储器单元中的每个存储器单元包括:间隔开的源极区和漏极区,所述源极区和所述漏极区在半导体基板中形成,其中沟道区在所述源极区和所述漏极区之间延伸;浮栅,所述浮栅设置在所述沟道区的第一部分上方并且与其绝缘;和第一非浮栅,所述第一非浮栅设置在所述沟道区的第二部分上方并且与其绝缘;
所述多个存储器单元中的每个存储器单元被配置为存储权重值,所述权重值与所述浮栅上的电子数量相对应;
所述多个存储器单元被配置为将所述第一多个输入乘以所存储的权重值以生成所述第一多个输出;
第一多个神经元,所述第一多个神经元被配置为接收所述第一多个输出;
第二多个突触,所述第二多个突触被配置为从所述第一多个神经元接收第二多个输入并且从其生成第二多个输出,其中所述第二多个突触包括:
多个第二存储器单元,其中所述第二存储器单元中的每个存储器单元包括:间隔开的第二源极区和第二漏极区,所述第二源极区和所述第二漏极区在所述半导体基板中形成,其中第二沟道区在所述第二源极区和所述第二漏极区之间延伸;第二浮栅,所述第二浮栅设置在所述第二沟道区的第一部分上方并且与其绝缘;和第二非浮栅,所述第二非浮栅设置在所述第二沟道区的第二部分上方并且与其绝缘;
所述多个第二存储器单元中的每个存储器单元被配置为存储第二权重值,所述第二权重值与所述第二浮栅上的电子数量相对应;
所述多个第二存储器单元被配置为将所述第二多个输入乘以所存储的第二权重值以生成所述第二多个输出;以及
第二多个神经元,所述第二多个神经元被配置为接收所述第二多个输出。
2.根据权利要求1所述的神经网络设备,其中所述第一多个突触的所述存储器单元中的每个存储器单元还包括:
第二非浮栅,所述第二非浮栅设置在所述源极区上方并且与所述源极区绝缘;和
第三非浮栅,所述第三非浮栅设置在所述浮栅上方并且与所述浮栅绝缘。
3.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述行中的一者中的所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中的一者中的所述第二非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述行中的一者中的所述源极区电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为在所述多条第一线上接收所述第一多个输入,并且在所述多条第五线上提供所述第一多个输出。
4.根据权利要求3所述的神经网络设备,其中针对所述多条第五线中的每条,在其上提供所述第一多个输出中的一者,所述第一多个输出中的一者为通过所述存储器单元的电流与存储在所述存储器单元中的相应权重值的乘积之和,所述存储器单元是针对所述存储器单元的所述一个列中的所有所述存储器单元。
5.根据权利要求3所述的神经网络设备,还包括:
电路,所述电路用于在接收所述多条第一线上的所述第一多个输入之前将所述第一多个输入的电流对数转换为电压。
6.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述行中的一者中的所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述行中的一者中的所述第二非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述列中的一者中的所述源极区电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为在所述多条第一线上接收所述第一多个输入,并且在所述多条第五线上提供所述第一多个输出。
7.根据权利要求6所述的神经网络设备,其中针对所述多条第五线中的每条,在其上提供所述第一多个输出中的一者,所述第二多个输出中的一者为通过所述存储器单元的电流与存储在所述存储器单元中的相应权重值的乘积之和,所述存储器单元是针对所述存储器单元的所述一个列中的所有所述存储器单元。
8.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述列中的一者中的奇数行存储器单元的所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中的一者中的偶数行存储器单元的所述第一非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述列中的一者中的所述第二非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述行的一者中的所述第三非浮栅电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述行的一者中的所述源极区电连接在一起;
多条第六线,所述多条第六线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为接收所述多条第一线上的所述第一多个输入中的一些输入和所述多条第二线上的所述第一多个输入中的其他输入,并且在所述多条第五线上提供所述第一多个输出。
9.根据权利要求8所述的神经网络设备,其中针对所述多条第五线中的每条,在其上提供所述第一多个输出中的一者,所述第一多个输出中的一者为通过所述存储器单元的电流与存储在所述存储器单元中的相应权重值的乘积之和,所述存储器单元是针对所述存储器单元的所述一个行中的所有所述存储器单元。
10.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述列中的一者中的奇数行存储器单元的所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中的一者中的偶数行存储器单元的所述第一非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述列中的一者中的所述第二非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述行中的一者中的所述源极区电连接在一起;
多条第六线,所述多条第六线各自将所述存储器单元的所述列中的一者中的奇数行漏极区电连接在一起;
多条第七线,所述多条第七线各自将所述存储器单元的所述列中的一者中的偶数行漏极区电连接在一起;
其中所述第一多个突触被配置为接收所述多条第一线上的所述第一多个输入中的一些输入和所述多条第二线上的所述第一多个输入中的其他输入,并且在所述多条第五线上提供所述第一多个输出。
11.根据权利要求10所述的神经网络设备,其中针对所述多条第五线中的每条,在其上提供所述第一多个输出中的一者,所述第一多个输出中的一者为来自所述存储器单元对的差分输出的总和,所述存储器单元对是针对所述存储器单元的一行中的所有所述存储器单元对,并且其中所述差分输出中的每个差分输出为通过所述存储器单元对中的一者的电流与存储在所述存储器单元对中的一者中的相应权重值的乘积之差。
12.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述列中的一者中的奇数行存储器单元的所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中的一者中的偶数行存储器单元的所述第一非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述第二非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述列中的一者中的奇数行存储器单元的所述第三非浮栅电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述列中的一者中的偶数行存储器单元的所述第三非浮栅电连接在一起;
多条第六线,所述多条第六线各自将所述存储器单元的所述行中的一者中的所述源极区电连接在一起;
多条第七线,所述多条第七线各自将所述存储器单元的所述列中的一者中的奇数行漏极区电连接在一起;
多条第八线,所述多条第八线各自将所述存储器单元的所述列中的一者中的偶数行漏极区电连接在一起;
其中所述第一多个突触被配置为接收所述多条第一线上的所述第一多个输入中的一些输入和所述多条第二线上的所述第一多个输入中的其他输入,并且在所述多条第六线上提供所述第一多个输出。
13.根据权利要求12所述的神经网络设备,其中针对所述多条第六线中的每条,在其上提供所述第一多个输出中的一者,所述第一多个输出中的一者为来自所述存储器单元对的差分输出的总和,所述存储器单元对是针对所述存储器单元的一行中的所有所述存储器单元对,并且其中所述差分输出中的每个差分输出为通过所述存储器单元对中的一者的电流与存储在所述存储器单元对中的一者中的相应权重值的乘积之差。
14.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述行中的一者中的所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述行中的一者中的所述第二非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述列中的一者中的所述源极区电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为在所述多条第一线上接收所述第一多个输入,并且在所述多条第四线上提供所述第一多个输出。
15.根据权利要求14所述的神经网络设备,其中针对所述多条第四线中的每条,在其上提供所述第一多个输出中的一者,所述第一多个输出中的一者为通过所述存储器单元的电流与存储在所述存储器单元中的相应权重值的乘积之和,所述存储器单元是针对所述存储器单元的所述一个列中的所有所述存储器单元。
16.根据权利要求1所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述行中的一者中的所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中的一者中的所述源极区电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为在所述多条第一线上接收所述第一多个输入,并且在所述多条第三线上提供所述第一多个输出。
17.根据权利要求16所述的神经网络设备,其中针对所述多条第三线中的每条,在其上提供所述第一多个输出中的一者,所述第一多个输出中的一者为通过所述存储器单元的电流与存储在所述存储器单元中的相应权重值的乘积之和,所述存储器单元是针对所述存储器单元的所述一个列中的所有所述存储器单元。
18.根据权利要求1所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述列中的一者中的奇数行存储器单元的所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中的一者中的偶数行存储器单元的所述第一非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述源极区电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为接收所述多条第一线上的所述第一多个输入中的一些输入和所述多条第二线上的所述第一多个输入中的其他输入,并且在所述多条第三线上提供所述第一多个输出。
19.根据权利要求18所述的神经网络设备,其中针对所述多条第三线中的每条,在其上提供所述第一多个输出中的一者,所述第一多个输出中的一者为来自所述存储器单元对的差分输出的总和,所述存储器单元对是针对所述存储器单元的一行中的所有所述存储器单元对,并且其中所述差分输出中的每个差分输出为通过所述存储器单元对中的一者的电流与存储在所述存储器单元对中的一者中的相应权重值的乘积之差。
20.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述行中一者中的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述行中的另一者中的一些但不是所有所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中的一者中的所述第二非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述行中的一者中的所述源极区电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为在所述多条第一线上接收所述第一多个输入,并且在所述多条第五线上提供所述第一多个输出。
21.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述行中一者中的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述行中的另一者中的一些但不是所有所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述行中的一者中的所述第二非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述列中的一者中的所述源极区电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为在所述多条第一线上接收所述第一多个输入,并且在所述多条第五线上提供所述第一多个输出。
22.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述列中一者中的奇数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述列中的另一者中的奇数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中一者中的偶数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述列中的另一者中的偶数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述列中的一者中的所述第二非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述行中的一者中的所述源极区电连接在一起;
多条第六线,所述多条第六线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为接收所述多条第一线上的所述第一多个输入中的一些输入和所述多条第二线上的所述第一多个输入中的其他输入,并且在所述多条第五线上提供所述第一多个输出。
23.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述列中一者中的奇数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述列中的另一者中的奇数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中一者中的偶数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述列中的另一者中的偶数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述列中的一者中的所述第二非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述行中的一者中的所述源极区电连接在一起;
多条第六线,所述多条第六线各自将所述存储器单元的所述列中的一者中的奇数行漏极区电连接在一起;
多条第七线,所述多条第七线各自将所述存储器单元的所述列中的一者中的偶数行漏极区电连接在一起;
其中所述第一多个突触被配置为接收所述多条第一线上的所述第一多个输入中的一些输入和所述多条第二线上的所述第一多个输入中的其他输入,并且在所述多条第五线上提供所述第一多个输出。
24.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述列中一者中的奇数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述列中的另一者中的奇数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中一者中的偶数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述列中的另一者中的偶数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述第二非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述列中的一者中的奇数行存储器单元的所述第三非浮栅电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述列中的一者中的偶数行存储器单元的所述第三非浮栅电连接在一起;
多条第六线,所述多条第六线各自将所述存储器单元的所述行的一者中的所述源极区电连接在一起;
多条第七线,所述多条第七线各自将所述存储器单元的所述列中的一者中的奇数行漏极区电连接在一起;
多条第八线,所述多条第八线各自将所述存储器单元的所述列中的一者中的偶数行漏极区电连接在一起;
其中所述第一多个突触被配置为接收所述多条第一线上的所述第一多个输入中的一些输入和所述多条第二线上的所述第一多个输入中的其他输入,并且在所述多条第六线上提供所述第一多个输出。
25.根据权利要求2所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述行中一者中的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述行中的另一者中的一些但不是所有所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述行中的一者中的所述第二非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述第三非浮栅电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述列中的一者中的所述源极区电连接在一起;
多条第五线,所述多条第五线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为在所述多条第一线上接收所述第一多个输入,并且在所述多条第四线上提供所述第一多个输出。
26.根据权利要求1所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述行中一者中的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述行中的另一者中的一些但不是所有所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中的一者中的所述源极区电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为在所述多条第一线上接收所述第一多个输入,并且在所述多条第三线上提供所述第一多个输出。
27.根据权利要求26所述的神经网络设备,其中针对所述多条第三线中的每条,在其上提供所述第一多个输出中的一者,所述第一多个输出中的一者为通过所述存储器单元的电流与存储在所述存储器单元中的相应权重值的乘积之和,所述存储器单元是针对所述存储器单元的所述一个列中的所有所述存储器单元。
28.根据权利要求1所述的神经网络设备,其中所述第一多个突触的所述存储器单元按行和列布置,并且其中所述第一多个突触包括:
多条第一线,所述多条第一线各自将所述存储器单元的所述列中一者中的奇数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述列中的另一者中的奇数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起;
多条第二线,所述多条第二线各自将所述存储器单元的所述列中一者中的偶数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起,并且将所述存储器的所述列中的另一者中的偶数行存储器单元的一些但不是所有所述第一非浮栅电连接在一起;
多条第三线,所述多条第三线各自将所述存储器单元的所述行中的一者中的所述源极区电连接在一起;
多条第四线,所述多条第四线各自将所述存储器单元的所述列中的一者中的所述漏极区电连接在一起;
其中所述第一多个突触被配置为接收所述多条第一线上的所述第一多个输入中的一些输入和所述多条第二线上的所述第一多个输入中的其他输入,并且在所述多条第三线上提供所述第一多个输出。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662337760P | 2016-05-17 | 2016-05-17 | |
US62/337,760 | 2016-05-17 | ||
PCT/US2017/032552 WO2017200883A1 (en) | 2016-05-17 | 2017-05-12 | Deep learning neural network classifier using non-volatile memory array |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109196528A CN109196528A (zh) | 2019-01-11 |
CN109196528B true CN109196528B (zh) | 2022-03-18 |
Family
ID=64948917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780030390.9A Active CN109196528B (zh) | 2016-05-17 | 2017-05-12 | 使用非易失性存储器阵列的深入学习神经网络分类器 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3459019A4 (zh) |
CN (1) | CN109196528B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11270763B2 (en) * | 2019-01-18 | 2022-03-08 | Silicon Storage Technology, Inc. | Neural network classifier using array of three-gate non-volatile memory cells |
EP3918532B1 (en) * | 2019-01-29 | 2023-01-25 | Silicon Storage Technology, Inc. | Neural network classifier using array of four-gate non-volatile memory cells |
US10929058B2 (en) * | 2019-03-25 | 2021-02-23 | Western Digital Technologies, Inc. | Enhanced memory device architecture for machine learning |
CN110209375B (zh) * | 2019-05-30 | 2021-03-26 | 浙江大学 | 一种基于radix-4编码和差分权重存储的乘累加电路 |
US11017842B2 (en) * | 2019-08-29 | 2021-05-25 | Micron Technology, Inc. | Copy data in a memory system with artificial intelligence mode |
US20210064971A1 (en) * | 2019-08-29 | 2021-03-04 | Micron Technology, Inc. | Transfer data in a memory system with artificial intelligence mode |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4904881A (en) * | 1989-02-10 | 1990-02-27 | Intel Corporation | EXCLUSIVE-OR cell for neural network and the like |
JP3122756B2 (ja) * | 1991-01-12 | 2001-01-09 | 直 柴田 | 半導体装置 |
US5621336A (en) * | 1989-06-02 | 1997-04-15 | Shibata; Tadashi | Neuron circuit |
US5028810A (en) * | 1989-07-13 | 1991-07-02 | Intel Corporation | Four quadrant synapse cell employing single column summing line |
US5150450A (en) * | 1990-10-01 | 1992-09-22 | The United States Of America As Represented By The Secretary Of The Navy | Method and circuits for neuron perturbation in artificial neural network memory modification |
US5146602A (en) * | 1990-12-26 | 1992-09-08 | Intel Corporation | Method of increasing the accuracy of an analog neural network and the like |
US5336936A (en) * | 1992-05-06 | 1994-08-09 | Synaptics, Incorporated | One-transistor adaptable analog storage element and array |
US5264734A (en) * | 1992-05-19 | 1993-11-23 | Intel Corporation | Difference calculating neural network utilizing switched capacitors |
US5256911A (en) * | 1992-06-10 | 1993-10-26 | Intel Corporation | Neural network with multiplexed snyaptic processing |
US9665822B2 (en) * | 2010-06-30 | 2017-05-30 | International Business Machines Corporation | Canonical spiking neuron network for spatiotemporal associative memory |
US8473439B2 (en) * | 2010-12-08 | 2013-06-25 | International Business Machines Corporation | Integrate and fire electronic neurons |
US8909576B2 (en) * | 2011-09-16 | 2014-12-09 | International Business Machines Corporation | Neuromorphic event-driven neural computing architecture in a scalable neural network |
WO2015001697A1 (ja) * | 2013-07-04 | 2015-01-08 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路、およびその学習方法 |
US10095718B2 (en) * | 2013-10-16 | 2018-10-09 | University Of Tennessee Research Foundation | Method and apparatus for constructing a dynamic adaptive neural network array (DANNA) |
US20150324691A1 (en) * | 2014-05-07 | 2015-11-12 | Seagate Technology Llc | Neural network connections using nonvolatile memory devices |
CN104615909B (zh) * | 2015-02-02 | 2018-02-13 | 天津大学 | 基于FPGA的Izhikevich神经元网络同步放电仿真平台 |
-
2017
- 2017-05-12 EP EP17799921.6A patent/EP3459019A4/en active Pending
- 2017-05-12 CN CN201780030390.9A patent/CN109196528B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109196528A (zh) | 2019-01-11 |
EP3459019A1 (en) | 2019-03-27 |
EP3459019A4 (en) | 2020-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853856B2 (en) | Programming methods for neural network using non-volatile memory array | |
JP7492042B2 (ja) | 人工ニューラルネットワーク内のアナログニューロモーフィックメモリのための高精度かつ高効率な調整機構及びアルゴリズム | |
US10580492B2 (en) | System and method for implementing configurable convoluted neural networks with flash memories | |
CN113366503B (zh) | 使用二栅极非易失性存储器单元阵列的神经网络分类器 | |
CN109196528B (zh) | 使用非易失性存储器阵列的深入学习神经网络分类器 | |
KR102407363B1 (ko) | 사용 빈도에 기초하여 프로그램 상태 간극을 가변시키기 위한 메모리 디바이스 및 방법 | |
CN113366504B (zh) | 使用四栅极非易失性存储器单元阵列的神经网络分类器 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |