CN112101539A - 一种存算一体电路及人工智能芯片 - Google Patents
一种存算一体电路及人工智能芯片 Download PDFInfo
- Publication number
- CN112101539A CN112101539A CN202011295431.7A CN202011295431A CN112101539A CN 112101539 A CN112101539 A CN 112101539A CN 202011295431 A CN202011295431 A CN 202011295431A CN 112101539 A CN112101539 A CN 112101539A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory array
- circuit
- voltage
- row
- 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.)
- Granted
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 15
- 230000015654 memory Effects 0.000 claims abstract description 180
- 210000004027 cell Anatomy 0.000 claims abstract description 64
- 210000002569 neuron Anatomy 0.000 claims abstract description 53
- 238000012544 monitoring process Methods 0.000 claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims abstract description 25
- 238000013528 artificial neural network Methods 0.000 claims abstract description 22
- 210000004205 output neuron Anatomy 0.000 claims abstract description 5
- 210000002364 input neuron Anatomy 0.000 claims abstract description 4
- 238000005259 measurement Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000002347 injection Methods 0.000 description 6
- 239000007924 injection Substances 0.000 description 6
- 239000000243 solution Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 150000004767 nitrides Chemical class 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 210000000225 synapse Anatomy 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 210000003050 axon Anatomy 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 210000001787 dendrite Anatomy 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000005689 Fowler Nordheim tunneling Effects 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Semiconductor Memories (AREA)
Abstract
本申请实施例提供了一种存算一体电路及人工智能芯片,所述电路包括:信号输入电路、存储器阵列和监控/计算电路。所述信号输入电路与所述可编程存储器阵列连接;所述存储器阵列包括按行和列布置的存储单元,每行和每列都分别一一对应一个输入神经元和一个输出神经元,所述存储器阵列用于在对应的位置上存储相关的神经网络中神经元的权重;监控/计算电路,所述监控/计算电路与所述存储器阵列连接,用于通过监控给定时间内的积累电荷量精确控制在存储器阵列中对存储的神经元的权重进行编程,并在计算时通过积累的总电荷量产生输出信号。本申请实现了在同一行中进行并行编程的有效监控,可以存储多比特或者模拟的权重进行神经网络计算。
Description
技术领域
本申请各实施例属于人工智能计算领域,具体涉及存算一体电路人工智能芯片。
背景技术
在非易失性(NVM)存储器中,SONOS(具有Silicon-Oxide-Nitride-Oxide-Silicon五层结构)技术得到了广泛的应用。它通过在氮化物层吸收电子实现非易失的存储。SONOS型非易失性(NVM)存储器和基于浮动栅极的非易失性(NVM)存储器不同,它的编程(又称为写,Program,注入电子)和擦除(Erase,释放电子)都利用富雷- 诺特海姆(Fowler-Nordheim)隧穿的量子力学效应实现。
SONOS闪存有1T和2T的两种,前者每个存储单元由一个SONOS管组成,后者每个存储单元由一个SONOS管和一个普通NMOS管组成,具有读漏电少、读速度更快的优势。存储阵列中每一行连接字线负责打开和关闭这一行(2T闪存有第一字线和第二字线,前者控制SONOS管的栅极,后者控制NMOS管的栅极),每一个存储单元连接源极线和位线,每一列有一条位线,源极线可以每一列都有,也可以多列共享一条源极线。
人工智能的算法来源于人脑的结构的启示。人脑是一个由大量神经元复杂连接的网络,每个神经元通过大量的树突连接大量的其他神经元,接收信息,每一个连接点叫突触(Synapse)。在外部刺激积累到一定程度后,产生一个刺激信号,通过轴突传送出去。轴突有大量的末梢,通过突触,连接到大量其他神经元的树突,就是这样一个由简单功能的神经元组成的网络,实现了人类所有的智能活动。人的记忆和智能,普遍被认为存储在每一个突触的不同的耦合强度里。
从上世纪60年代兴起的神经网络算法,用一个函数来模仿神经元的功能。函数接受多个输入,每个输入有不同的权重,输出是每一个输入与权重相乘再求和,学习训练的过程就是调整各个权重。函数输出到很多其他的神经元,组成一个网络。这类算法,已经取得了丰富的成果,得到广泛应用。实用神经网络都有分层结构,同一层的神经元内部没有交流,每一个神经元的输入连接之前一层的多个或者所有的神经元的输出。
因为人工智能计算需要极高的存储带宽,把CPU和内存/存储分离的架构遇到了读取速度不够的瓶颈。业界已经开始研究存算一体(in-memory-computing)的架构。中国专利CN108073982提出在MRAM阵列外添加电路进行神经网络计算,已经公开的中国专利申请CN109086249提出使用NOR闪存阵列进行神经网络计算需要的向量乘法。另一已经公开的中国专利申请CN 111523658,提出应用双位存储单元构成的存储阵列来储存神经网络权重,并通过两步电流探测方式来进行神经网络的乘法累加运算。这样发明的共同点是利用非易失存储器来存储神经网络计算需要的权重,用模拟电路进行向量乘法,大规模的乘法和加法可以平行进行,极大地提高了运算速度并且节省功耗,模拟计算虽然有误差,但如果把误差控制得比较小,不会影响人工智能计算的结果。
目前的存储内计算的方案,都是利用非易失存储器存储神经网络中的权重。但绝大部分人工智能算法需要使用浮点的权重,对权重有一定的精度要求,而无论MRAM还是NOR闪存目前都只能存储一个bit的数据,多比特权重的计算需要引进很高的复杂度,大幅度增加成本。把MLC技术引进NOR闪存要求对电子注入量进行精准的控制,非常困难。并且,由于工艺的不完美,器件之间有差异。同样的电压和时间内,不同器件电子的注入量可能会有不同,甚至同样的电子注入量,不同器件表现出的性能还会有差异。
发明内容
本申请实施例目的在于克服上述问题或者至少部分地解决或缓减上述问题,本申请提供的技术方案提供了一种存算一体电路,实现用于神经网络计算的多比特或模拟权重的存储,同样的硬件电路既可以用在对权重编程时的精密校准,又可以复用于神经网络计算推理。
第一方面,本申请提供了一种存算一体电路,其特征在于,所述电路通过对神经网络中神经元的权重进行并行编程以进行人工智能计算,所述电路包括,信号输入电路,存储器阵列和监控/计算电路;
所述信号输入电路与所述存储器阵列连接;
所述存储器阵列包括按行和列布置的存储单元,每行和每列都分别一一对应一个输入和一个输出神经元,所述存储器阵列用于在对应的位置上存储相关的神经网络中神经元的权重;
所述监控/计算电路与所述存储器阵列连接,所述监控/计算电路用于通过监控给定时间内的积累电荷量在存储器阵列中对存储的神经元的权重进行编程,并在计算时通过积累的总电荷量产生输出信号。
与现有技术相比,本申请第一方面提供的实施例通过存算一体电路中设置电荷积分器和监测控制器,可以对神经网络中神经元的权重进行并行编程时的有效监控,实现用于神经网络计算的多比特或模拟权重的存储,同样的硬件电路既可以用在对权重编程时的精密校准,又可以复用于神经网络计算推理。
第二方面,本申请实施例提供了一种人工智能芯片,所述芯片包括第一方面的存算一体电路。
与现有技术相比,第二方面的有益效果与第一方面公开的存算一体电路的有益效果相同,在此不在赘述。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分,本领域技术人员应该理解的是,这些附图未必是按比例绘制的,在附图中:
图1为本申请一具体实施例提供的SONOS管的结构图;
图2为本申请一具体实施例提供的一种存储器阵列的示意图;
图3为本申请一具体实施例提供的另一种存储器阵列的示意图;
图4为本发明一具体实施例提供的一种通过存储器阵列实现人工智能计算的编程方法的流程图。
图5为本发明一具体实施例提供的另一种通过存储器阵列实现人工智能计算的编程方法的流程图;
图6为本发明一具体实施例对集成类脑计算系统的计算芯片的阵列布局示意图;
图7为本发明一具体实施例提供的一种存算一体电路的结构图;
图8为本发明一具体实施例提供的另一种存算一体电路的结构图;
图9为本发明另一具体实施例提供的另一种存算一体电路的结构图;
图10为本发明一具体实施例提供的电荷积分器的电路结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
根据本申请的某些实施例,SONOS管中电荷俘获层是绝缘层。按照惯例,SONOS代表“半导体-氧化物-氮化物-氧化物-半导体”,其中第一个“半导体”是指沟道区材料,第一个“氧化物”是指隧道介质层,“氮化物”是指电荷、捕获介电层,第二“氧化物”是指顶部介电层(也称为阻挡介电层),第二“半导体”是指栅极层。然而,SONOS管不限于这些特定材料,并且可以使用其他材料层。
本申请提出了主要应用在SONOS存储器上的编程控制技术。
图1示出了根据本申请实施例的基于N型的示例性SONOS管的横截面。SONOS管包括P型硅衬底101,其具有N+源极和N+漏极扩散层102,其限定沟道区域,紧靠沟道区域103上方为约2nm厚的氧化物薄层104,称为隧道介质层。紧接在隧道介质物层上方的是约100nm厚的氮化物层105。紧接在氮化物层上方为另一个约3至10nm厚的氧化物层106,称为阻挡介质层。隧道介质层,氮化物层和阻挡介质物层一起被称为ONO叠层108,紧接在阻挡介质物层上方的是控制栅极107,其通常由多晶硅制成。
图2为一具体实施例提供的一种存储器阵列的示意图。在图2中,每个存储单元包括SONOS管200。本申请提供的存储器阵列由多个行(行0-行m)和多个列(列0-列n)存储单元组成。同一行中SONOS管的栅极共享公共控制字线CG。本申请提供的存储器阵列中共有m条公共控制字线CG,分别为公共控制字线CG0~CGm。公共控制字线CG0~CGm用于对每个存储单元执行编程操作。所有列中的每个SONOS管的源极共享公用源极线CSL。作为本申请的另外的实施例,也可以每个列中的每个SONOS管的源极共享单独的每个列的公共源极线。每个列中的每个SONOS管的漏极共享单独的每个列的公共位线BL。本申请提供的存储器阵列中共有n条公共位线BL,分别为公共位线BL0~BLn。与其他类型的非易失性存储器一样,SONOS型存储器中的读取和写入操作是逐行执行的。
图3为一具体实施例提供的一种存储器阵列的示意图。在图3中,每个存储单元包括SONOS管300和NMOS管301。本申请提供的存储器阵列由多个行和多个列存储单元组成。同一行中SONOS管的栅极共享公共控制字线CG。本申请提供的存储器阵列中共有m条公共控制字线CG,分别为公共控制字线CG0~CGm。公共控制字线CG0~CGm用于对每个存储单元执行编程操作。同一行中NMOS管的栅极共享公共选择字线SG。本申请提供的存储器阵列中共有m条公共选择字线SG,分别为公共选择字线SG0~SGm。公共选择字线SG0-SGm用于选择用于读取操作的单元。所有列中的每个SONOS管的源极和相应NMOS管的漏极串联。每个NMOS管的源极共享公用源极线CSL。作为本申请的另外的实施例,也可以每个列中的每个NMOS管的源极共享单独的每个列的公共源极线。每个列中的每个SONOS管的漏极共享单独的每个列的公共位线BL。本申请提供的存储器阵列中共有n条公共位线BL,分别为公共位线BL0~BLn。与其他类型的非易失性存储器一样,SONOS型存储器中的读取和写入操作是逐行执行的。
图2和图3为本发明实施例中的两种不同存储器阵列结构,但是作为本发明的实施例,不限于图2和图3的存储器阵列结构。
现有技术中,由于存储器工艺的不完美,器件之间有差异,同样的电压和时间内,不同器件电子的注入量可能会有不同,甚至同样的电子注入量,不同器件表现出的性能还会有差异,这使得同一行中不同的存储单元很难并行编程,精密控制编程结果更加困难。所以急需一个有效的监控机制来实现在非易失性存储器上实现同一行中进行并行精确编程。
如图4为本发明一个实施例提供的通过对芯片中的存储器阵列实现神经网络计算的编程方法的流程图,具体包括如下步骤,
所述存储器阵列包括按行和列布置的存储单元,每行和每列都分别一一对应一个输入和一个输出神经元。所述方法用于对同一行中存储多个级别的电荷的多个存储单元进行并行编程。所述方式用于如图2和图3所示的存储器阵列,本申请实施例不限于此存储器阵列。
首先,执行步骤S401,对需要编程行的第一字线施加第一参考电压,对不需要编程的行的第一字线施加第二参考电压,所述第一参考电压高于所述第二参考电压;
对神经元进行计算时在位线和源极线之间维持第二电压差,其中,第一电压差大于第二电压差。
需要说明的是,编程时只打开存储阵列的一行,计算时很多行同时打开,电流会更大,所以优选第一电压差大于第二电压差。
执行步骤S402,对神经元对应的行上需要编程的存储单元连接的位线施加第一电压,当通过监控电路测量的电流达到所述目标电流时,停止编程,将所述第一电压改为施加第二电压,对神经元对应的行上不需要编程的存储单元连接的位线施加第二电压,其中,所述第二电压高于所述第一电压。
需要说明的是,对需要编程的存储单元连接的位线施加处于-4.0V~1.5V之间不同的第一电压,可实现存储阵列同一行上存储单元内不同权重级别的并行编程。本申请实施例第一电压优选-3.1-1.0V之间,对不需要编程的存储单元连接的位线施加处于0.5~1.5V之间第二电压,本申请实施例第二电压优选1.0V。
需要说明的是,通过测量对选中的存储器阵列的行上需要编程的存储单元连接的位线电流,进而确定是否停止对神经元的权重的编程操作。
作为本申请的优选实施例,每个所述存储单元包括一个存储管和一个选择管。所述存储管为SONOS管,所述选择管为NMOS管。所述同一行存储单元的SONOS管的栅极与第一字线连接,所述同一行存储单元的NMOS管的栅极与第二字线连接;或,
每个所述存储单元只包括一个存储管,所述存储管为SONOS管,所述同一行存储单元的SONOS管的栅极与第一字线连接。
作为本申请的优选实施例,编程时源极线和位线之间维持设定的第一电压差小于200毫伏,且多个需要编程的存储单元的源极线与位线之间的第一电压差相同。
如图5所示,对于存储阵列中每个所述存储单元包括一个存储管和一个选择管,所述存储管为SONOS管,所述选择管为NMOS管的情况,还需要执行步骤S403,对选中的存储器阵列中与NMOS管的栅极连接的第二字线上施加第三参考电压以打开NMOS管。
图6为本发明一个实施例对集成类脑计算系统的计算芯片的阵列布局示意图,图6中示出了第N层神经元及其输出线,在本申请中,需要控制第N层的神经元的输出信号通过存储器阵列的行的第一字线上输入,控制第N+1层的神经元的输出信号从列的方向输出,每行和每列都分别一一对应一个输入神经元和一个输出神经元。
将N+1层第y个神经元从N层第x个神经元输入的权重存储在存储器阵列中的(x行,y列)的位置,其中N为自然数。
如图6所示,第N层神经元,例如神经元一1、神经元一2、神经元一3、神经元一4等等,每一个神经元的输出连接到一条存储器阵列的字线上;图6中还示出了第N+1层神经元,例如神经元二1、神经元二2、神经元二3、神经元二4等等,每一个神经元部署在存储阵列的一列上,每一行上的存储单元存储从上一层对应神经元输入的权重,每一条存储器阵列的位线可以作为一个神经元的输出线;第N层神经元输出线与第N+1层神经元及其输出线排列成阵列。
对于图4和图5本发明实施例提供的一种通过存储器阵列实现神经网络计算的编程方法通过存算一体电路完成,具体电路的结构及具体的工作过程如下文进行描述。
图7为本发明一个实施例提供的一种存算一体电路的结构图,图7中,计算阶段在每一个第N层活跃的神经元对应的行上的第一字线上输入一个脉冲。脉冲时长固定,电压代表输入值。存算一体电路包括信号输入电路(未示出),存储器阵列700和计算/监控电路702。存储器阵列700包括按行和列布置的存储单元。计算/监控电路702与需要编程的存储单元的源极连接的源极线SL0~SLn一一对应连接或与需要编程的存储单元的漏极连接的位线BL0-BLn一一对应连接。图7中只是示出了计算/监控电路702与需要编程的存储单元的源极连接的源极线一一对应连接。计算/监控电路702用于监控所述源极线或所述位线上的电流,当所述计算/监控电路702测量的电流达到所述目标电流时,停止编程操作。其中,需要编程的同一存储单元的源极连接的源极线及漏极连接的位线之间维持设定的第一电压差。也就是说,需要编程的同一存储单元的源极线和位线之间有一个小的电压差(绝对值<200mV),使得在编程的源极线或位线上会有一个小电流。在图7中行列选择电路701根据地址信号选中需要编程的存储器阵列700的行,对选中的存储器阵列700字线施加第一参考电压,对未选中的存储器阵列700字线施加第二参考电压,第二参考电压低于所述第一参考电压;行列选择电路701对选中的存储器阵列700需要编程的存储器单元连接的位线施加第一电压,对不需要编程的存储器单元连接的位线施加第二电压,其中,第二电压高于所述第一电压。
图8为本发明一个实施例提供的一种存算一体电路的结构图。如图8所示,CSL是公共源极线。存算一体电路包括信号输入电路(未示出),存储器阵列800和计算/监控电路802,存储器阵列800包括按行和列布置的存储单元,编程和计算时需要位线和源极线之间维持不同的电压差。行列选择电路801可以在8/16列中选择一列,这样不需要每一列都配置编程/计算的单元,但需要分8/16次完成对所有列的计算。编程阶段只打开一个字线,逐行编程;计算阶段在每一个第N层神经元对应的需要编程的行上的第一字线上输入一个脉冲,脉冲时长固定,电压代表输入值。编程与计算工作在SONOS管的线性区,其电导和栅极电压接近线性关系。计算/监控电路802也可以接到被选中需要编程的存储单元的漏极连接的位线BL上,这个实施例适用于共享源极线的SONOS阵列。每一条被选中需要编程的存储单元的漏极连接的位线BL连接到电荷积分器803的输入端,公共源极线CSL施加电压VB,VB+Δ作为每一个电荷积分器803的参考电压。作为本发明的优选实施方式,多个需要编程的存储单元的源极线与其对应连接的电荷积分器的参考电压之间的差值Δ相同。同样,监测控制器804监控所述电荷积分器803在给定时间内计量积累电荷,当电荷积分器803测量的电流达到所述目标电流时,通过开关控制停止编程操作。
图9为本发明另一个实施例提供的一种用于存储器阵列编程的监控电路的结构图。如图9所示,存算一体电路包括信号输入电路(未示出),存储器阵列900和计算/监控电路902,存储器阵列900包括按行和列布置的存储单元,在这个实施例中每一列都有独立的源极线SL和位线BL。每一列都有计算/监控电路902,具备所有的列同时编程同时计算的能力,使用电荷积分器来做电流测量,完成测量后由监测控制器重置RESET,其余编程方法与计算方法和图8所示的类似。但由于可以使用电荷积分器,此时行上的输入信号可以由固定电压的脉冲表示,输入由脉冲时长决定。或者输入信号由脉冲电压和脉冲时长的组合决定,其具有比单独控制脉冲电压更好的线性。
该监控电路适用于源极线SL和位线BL平行的SONOS型存储器阵列。具体的监控电路中的监控电路902包括,电荷积分器903和监测控制器904。两个电荷积分器903的两个输入端分别与需要编程的存储单元的源极连接源极和参考电压相连接,电荷积分器903的输出端与监测控制器904连接。其中,监测控制器904中包括根据待写入数据形成的参考电压值。监测控制器904通过给定时间内积累的电荷来测量电流,结束一次测量后重置电荷积分器,当监测控制器904测量的电流达到所述目标电流时,通过开关控制停止编程操作。在图9中行列选择电路901根据地址信号选中需要编程的存储器阵列900的行,对选中的存储器阵列900字线施加第一参考电压,对未选中的存储器阵列900字线施加第二参考电压,第二参考电压低于所述第一参考电压;行列选择电路901对选中的存储器阵列900需要编程的存储器单元连接的位线施加第一电压,对存储器阵列900不需要编程的存储器单元连接的位线施加第二电压,其中,第二电压高于第一电压。
图9中与每一条被选中需要编程的存储单元的源极连接的源极线连接到一个电荷积分器903的输入端。如图10所示,电荷积分器903包括一个运算放大器和一个存储电荷的电容器。电荷积分器903连接一个参考电压,电荷积分器可以用该电荷积分器来实施。电荷积分器使用一个运算放大器,该运算放大器一个输入接基准电压VB,另一个输入接位线,在使用中,位线的电压自动保持和VB一致。输入的电荷被收集在电容器C上变成电压信号输出。电流由给定时间内的电荷积累测定,完成测量后用RESET信号把积累的电荷放空。正常工作状态下,输入端电压与参考电压保持一致;在具体编程时,被选中需要编程的存储单元的漏极连接的位线电压置于VB,电荷积分器的参考电压置于VB+Δ,Δ是一个可正可负的小电压(Δ绝对值小于200毫伏)。被选中需要编程的存储单元的源极连接的源极线和被选中需要编程的存储单元的漏极连接的位线之间的小电压差Δ,产生一个小电流通过被编程的存储单元,电荷积分器903收集输入电流带来的电荷,存入内部的电容器中,将电荷转化成一个电压信号输出。电荷积分器具有重置(RESET)功能,储存在电容器上的电荷转换成一个电压信号输出后,把输入端和参考电压短路,并清空所储存的电荷。电荷积分器903的输出端连接到一个监测控制器904。该监测控制器904内含根据待写入数据转换成的参考电压值。
对于2T的SONOS型存储器,选中的存储器阵列中的行的选择字线需要置于高电位以打开NMOS管,以检测通过NMOS管传输的电流。由于不同的电荷注入量导致SONOS管有不同的阈值电压,在这样的线性工作区具有不同的等效电阻,因此电流会有所不同。监控此电流,当达到预期值时,置选中的存储器阵列中的行内需要编程的存储单元的漏极连接的位线至抑制编程电压以停止编程操作。另外,需要说明的是,存储器阵列中的行内需要编程的存储单元漏极连接的位线或源极连接的源极线的电压的选择要确保在规定时间内可以完成编程。
通过本申请提供的实施例,在利用SONOS闪存实现存储内计算的同时,能够存储多比特或模拟的权重;同时利用MLC的方法实现权重编程方法的监控机制,实现了检测和计算的共享电路,非常经济;同时相关的系统偏差会抵消,计算结果非常精确。
本申请实施例还提供了一种人工智能芯片,所述芯片包括第二方面的存算一体电路。
在此芯片中集成计算和编程电路,通过对同一行中存储多个级别的电荷的多个存储单元进行并行编程,极大地提高了运算速度并且节省功耗。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (9)
1.一种存算一体电路,其特征在于,所述电路用于对神经网络中神经元的权重进行并行编程以进行神经网络计算,所述电路包括,信号输入电路,存储器阵列和监控/计算电路;
所述信号输入电路与所述存储器阵列连接;
所述存储器阵列包括按行和列布置的存储单元,每行和每列都分别一一对应一个输入神经元和一个输出神经元,所述存储器阵列用于在对应的位置上存储神经网络中神经元的权重;
所述监控/计算电路与所述存储器阵列连接,所述监控/计算电路用于通过监控给定时间内的积累电荷量在存储器阵列中对神经元的权重进行编程,并在计算时通过积累的总电荷量产生输出信号。
2.如权利要求1所述的一种存算一体电路,其特征在于,所述监控电路/计算电路,包括,电荷积分器和监测控制器;
所述电荷积分器与所述存储器阵列中的每一列的位线或源极线连接,并将积累的电荷转换为电压输出信号,所述监测控制器通过给定时间内积累的电荷来测量电流,结束一次测量后重置电荷积分器;
所述监测控制器与所述电荷积分器一一对应连接,所述监测控制器将所述电压输出信号与参考电压值进行对比,所述参考电压值由待写入的数据决定,当电压输出信号达到参考电压值,停止编程。
3.如权利要求1所述的一种存算一体电路,其特征在于,第N层的神经元的输出信号通过存储器阵列的行的第一字线上输入,第N+1层的神经元的输出信号从列的方向输出,将N+1层第y个神经元从N层第x个神经元输入的权重存储在存储器阵列中的(x行,y列)的位置,其中N为自然数。
4.如权利要求1所述的一种存算一体电路,其特征在于,所述信号输入电路与所述存储器阵列中的栅极连接的第一字线连接,所述存储器阵列编程和计算时与栅极连接的第一字线打开,其中,所述信号输入电路的输入信号通过脉冲时长和/或脉冲大小表示,其中,所述脉冲大小通过电压值表示。
5.如权利要求1所述的一种存算一体电路,其特征在于,每个所述存储单元包括一个存储管和一个选择管,所述存储管为SONOS管,所述选择管为NMOS管,同一行存储单元的所述SONOS管的栅极与第一字线连接,所述同一行存储单元的NMOS管的栅极与第二字线连接,所有神经元对应的需要编程行的第二字线上施加有参考电压以打开NMOS管;或,
每个所述存储单元只包括一个存储管,所述存储管为SONOS管,所述同一行存储单元的SONOS管的栅极与第一字线连接。
6.如权利要求1所述的一种存算一体电路,其特征在于,所述电路通过对所有神经元对应的行上需要编程的存储单元的源极线和位线之间维持设定的第一电压差,对需要计算的神经元对应的存储阵列的行的源极线和位线之间维持设定的第二电压差,所述第二电压差小于第一电压差,所述电荷积分器用于测量所述位线或源极线上给定时间内积累的电荷。
7.如权利要求6所述的一种存算一体电路,其特征在于,所述电路通过对神经元对应的行上需要编程的存储单元连接的位线施加第一电压,当通过监控电路测量的电流达到目标电流时,停止编程,将所述第一电压改为施加第二电压,对神经元对应的行上不需要编程的存储单元连接的位线施加第二电压,其中,所述第二电压高于所述第一电压。
8.如权利要求7所述的一种存算一体电路,其特征在于,第一电压的大小根据需要编程的存储单元待写入权重大小进行调节。
9.一种人工智能芯片,其特征在于,所述芯片包括如权利要求1至8任一项所述的存算一体电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011295431.7A CN112101539B (zh) | 2020-11-18 | 2020-11-18 | 一种存算一体电路及人工智能芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011295431.7A CN112101539B (zh) | 2020-11-18 | 2020-11-18 | 一种存算一体电路及人工智能芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101539A true CN112101539A (zh) | 2020-12-18 |
CN112101539B CN112101539B (zh) | 2021-07-20 |
Family
ID=73785281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011295431.7A Active CN112101539B (zh) | 2020-11-18 | 2020-11-18 | 一种存算一体电路及人工智能芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101539B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988082A (zh) * | 2021-05-18 | 2021-06-18 | 南京优存科技有限公司 | 基于nvm进行ai计算的芯片系统及其运行方法 |
CN113095496A (zh) * | 2021-04-25 | 2021-07-09 | 山东大学 | 一种提高存算一体阵列计算精度的电路和方法 |
CN113346895A (zh) * | 2021-04-27 | 2021-09-03 | 北京航空航天大学 | 基于脉冲截断电路的模拟存算一体结构 |
US20220405554A1 (en) * | 2021-06-17 | 2022-12-22 | International Business Machines Corporation | Calibrating peripheral variability |
TWI800226B (zh) * | 2021-01-20 | 2023-04-21 | 新加坡商聯發科技(新加坡)私人有限公司 | 用於執行神經網路計算的類比電路的校準方法及裝置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110188308A1 (en) * | 2010-02-03 | 2011-08-04 | Elite Semiconductor Memory Technology Inc. | Over erase correction method of flash memory apparatus |
CN108154225A (zh) * | 2016-12-06 | 2018-06-12 | 上海磁宇信息科技有限公司 | 一种使用模拟计算的神经网络芯片 |
CN111587439A (zh) * | 2017-08-11 | 2020-08-25 | 森田公司 | 脉冲宽度调制的乘法器 |
-
2020
- 2020-11-18 CN CN202011295431.7A patent/CN112101539B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110188308A1 (en) * | 2010-02-03 | 2011-08-04 | Elite Semiconductor Memory Technology Inc. | Over erase correction method of flash memory apparatus |
CN108154225A (zh) * | 2016-12-06 | 2018-06-12 | 上海磁宇信息科技有限公司 | 一种使用模拟计算的神经网络芯片 |
CN111587439A (zh) * | 2017-08-11 | 2020-08-25 | 森田公司 | 脉冲宽度调制的乘法器 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI800226B (zh) * | 2021-01-20 | 2023-04-21 | 新加坡商聯發科技(新加坡)私人有限公司 | 用於執行神經網路計算的類比電路的校準方法及裝置 |
CN113095496A (zh) * | 2021-04-25 | 2021-07-09 | 山东大学 | 一种提高存算一体阵列计算精度的电路和方法 |
CN113095496B (zh) * | 2021-04-25 | 2022-07-15 | 山东大学 | 一种提高存算一体阵列计算精度的电路和方法 |
CN113346895A (zh) * | 2021-04-27 | 2021-09-03 | 北京航空航天大学 | 基于脉冲截断电路的模拟存算一体结构 |
CN112988082A (zh) * | 2021-05-18 | 2021-06-18 | 南京优存科技有限公司 | 基于nvm进行ai计算的芯片系统及其运行方法 |
CN112988082B (zh) * | 2021-05-18 | 2021-08-03 | 南京优存科技有限公司 | 基于nvm进行ai计算的芯片系统及其运行方法 |
US20220405554A1 (en) * | 2021-06-17 | 2022-12-22 | International Business Machines Corporation | Calibrating peripheral variability |
Also Published As
Publication number | Publication date |
---|---|
CN112101539B (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112101539B (zh) | 一种存算一体电路及人工智能芯片 | |
TWI753492B (zh) | 用於人工神經網路中之類比神經記憶體的測試電路及方法 | |
US10672464B2 (en) | Method of performing feedforward and recurrent operations in an artificial neural network using nonvolatile memory cells | |
US11367481B2 (en) | Silicon-oxide-nitride-oxide-silicon based multi-level non-volatile memory device and methods of operation thereof | |
TWI699711B (zh) | 記憶體裝置及其製造方法 | |
CN110543937B (zh) | 神经网络及操作方法、神经网络信息处理系统 | |
TW202105399A (zh) | 用於人工神經網路中之類比神經記憶體的測試電路及方法 | |
Lee et al. | Highly linear analog spike processing block integrated with an AND-type flash array and CMOS neuron circuits | |
US11776607B2 (en) | Fusion memory | |
CN109860190B (zh) | 融合型存储器 | |
US20220172035A1 (en) | Neural network operation system | |
US12002500B2 (en) | Writing method and erasing method of fusion memory | |
CN109829540B (zh) | 神经网络运算系统 | |
CN109887532B (zh) | 融合型存储器的写入、擦除方法 | |
TW202223886A (zh) | 半導體裝置 | |
KR102432718B1 (ko) | 메모리 장치를 위한 동작 방법 | |
CN111243648A (zh) | 闪存单元、闪存模块以及闪存芯片 | |
Ansari et al. | Silicon nanowire charge trapping memory for energy-efficient neuromorphic computing | |
Tkachev et al. | Analog Tuning of Floating-Gate Cells with Sub-Elementary Charge Accuracy for In-Memory Computing Applications | |
KR102511526B1 (ko) | 하드웨어 기반 인공 신경망 제공 장치 | |
US20230147403A1 (en) | Hardware-based artificial neural network device | |
US20220122997A1 (en) | Memory | |
WO2022021153A1 (zh) | 模拟量计算器件、阵列及方法、芯片、电子设备 | |
KR20240016128A (ko) | 수직 낸드 플래시 타입 반도체 소자 및 그 동작 방법 | |
Wang et al. | A Novel Neural Network with Digital Synaptic Weights Based on 3D NAND Flash Array |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A storage and computing integrated circuit and artificial intelligence chip Granted publication date: 20210720 Pledgee: China Construction Bank Corporation Nanjing Jiangbei new area branch Pledgor: Nanjing Youcun Technology Co.,Ltd. Registration number: Y2024980011501 |