CN108038542B - 一种基于神经网络的存储模块、模组及数据处理方法 - Google Patents

一种基于神经网络的存储模块、模组及数据处理方法 Download PDF

Info

Publication number
CN108038542B
CN108038542B CN201711444685.9A CN201711444685A CN108038542B CN 108038542 B CN108038542 B CN 108038542B CN 201711444685 A CN201711444685 A CN 201711444685A CN 108038542 B CN108038542 B CN 108038542B
Authority
CN
China
Prior art keywords
memory
electrical connection
signal
data
output
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
Application number
CN201711444685.9A
Other languages
English (en)
Other versions
CN108038542A (zh
Inventor
张睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Shanyi Semiconductor Co Ltd
Original Assignee
Shanghai Shanyi Semiconductor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Shanyi Semiconductor Co Ltd filed Critical Shanghai Shanyi Semiconductor Co Ltd
Priority to CN201711444685.9A priority Critical patent/CN108038542B/zh
Publication of CN108038542A publication Critical patent/CN108038542A/zh
Application granted granted Critical
Publication of CN108038542B publication Critical patent/CN108038542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

本发明提供一种基于神经网络的存储模块,由包括非易失性存储器的存储单元构成存储阵列,在存储阵列中,一方向上的存储器的一源漏极电连接第一电连线,另一方向上的存储器另一源漏极电连接第二电连线,第一电连线和所述第二电连线中的一个用于加载输入信号,输入信号可以用于表征神经网络中层的输入向量数值,由于非易失性存储器的存储特性,其存储数据即为存储器两源漏极之间的电导值,可以用于表征连接权重数值,那么,另一电连线上输出的输出信号即为进行矩阵运算后的数值。这样,通过该存储阵列可以完成神经网络中数据信号的处理、传输和存储,无需耗费数据存取时间,同时,可以有效地提高神经网络中矩阵运算规模和处理速度。

Description

一种基于神经网络的存储模块、模组及数据处理方法
技术领域
本发明涉及神经网络集成电路设计领域,特别涉及一种基于神经网络的存储模块、模组及数据处理方法。
背景技术
神经网络(Neuron Network,NN),是模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,这种算法模型广泛应用于语音识别、图像识别以及自动驾驶等人工智能领域。
在神经网络中,依靠系统的复杂程度,通过调整内部大量节点之间的相互连接关系,从而达到处理信息的目的。在神经网络算法处理过程中,包含了大量的矩阵运算,目前,主要通过CPU(中央处理器)和存储器来实现运算过程,CPU主要进行核心计算,每次运算中从存储器中存取数据,而大量、多次的数据存取大大增加了整个计算处理的时间。而其他并行计算的处理器设备也应用到了神经网络中,例如GPU(图像处理器)和TPU(张量处理器),等,这些设备能够进行并行计算,但数据存取仍然耗费大量的处理时间。而随着神经网络功能的复杂化以及规模化,矩阵运算量也急剧扩大,对执行计算的硬件系统提出了更高的要求。
发明内容
有鉴于此,本发明的目的在于提供一种基于神经网络的存储模块、模组及数据处理方法,提高神经网络中矩阵运算规模和处理速度。
为实现上述目的,本发明有如下技术方案:
一种基于神经网络的存储模块,包括:
由多个存储单元构成的存储阵列,每个存储单元包括非易失性存储器;
在所述存储阵列中,第一方向上每一条非易失性存储器的第一源漏极电连接第一电连线,第二方向上每一条非易失性存储器的第二源漏极电连接第二电连线,第一方向或第二方向上每一条非易失性存储器的栅极电连接第三电连线;
所述第一电连线和所述第二电连线中的一个用于加载输入信号,另一个的用于输出输出信号,所述输入信号用于表征神经网络中层的输入向量数值,所述非易失性存储器的存储数据用于表征所述层到下一层的连接权重数值。
可选地,所述非易失性存储器包括忆阻器、相变存储器、铁电存储器、自旋磁矩耦合存储器、浮栅场效应管或SONOS场效应管。
可选地,所述存储单元还包括MOS器件,所述非易失性存储器的第一源漏极与所述MOS器件的第二源漏极电连接,所述MOS器件的第一源漏极电连接第一电连线,在第一方向或第二方向上每一条场效应晶体管的栅极电连接第四电连线。
可选地,所述存储单元还包括与所述非易失性存储器共用沟道的MOS器件,第一方向或第二方向上每一条MOS器件的栅极电连接第四电连线。
可选地,所述第一电连线用于加载前向传播中的输入信号,所述第二电连线用于输出所述前向传播中的输出信号;所述第二电连线用于加载反向传播中的输入信号,所述第一电连线用于输出所述反向传播中的输出信号。
一种数据处理方法,采用上述任一基于神经网络的存储模块进行数据处理,所述方法包括:
每个存储单元的非易失性存储器处于第一数据状态,在第一电连线上加载输入信号、在第三电连线上加载读取电压信号,在第二电连线输出第一输出数据,所述第一输出数据为前向传播的输出信号。
可选地,还包括:
每个存储单元的非易失性存储器处于第二数据状态,在第二电连线上加载输入信号、在第三电连线上加载读取电压信号,在第一电连线获得第二输出数据,所述第二输出数据为反向传播的输出信号。
可选地,所述第一数据状态和所述第二数据状态为相同的数据状态。
可选地,还包括:
在一个或多个待改变的非易失性存储器上加载写电压或擦电压,以使得待改变的非易失性存储器存储的当前数据状态发生变化。
一种存储模组,包括多个存储单元,每个存储单元包括一个或多个上述的基于神经网络的存储模块;
每个所述存储模块的第一电连线连接至第一信号控制单元的输入端,所述第一信号控制单元包括并联的第一开关单元和第一信号处理单元,所述第一信号处理单元用于第一电连线输出信号的信号处理;
每个所述存储模块的第二电连线连接至第二信号控制单元的输入端,所述第二信号控制单元包括并联的第二开关单元和第二信号处理单元,所述第二信号处理单元用于第二电连线输出信号的信号处理;
多个所述存储单元串行连接,由前一存储单元中存储模块的第二信号控制单元的输出端分别对应电连接至后一存储单元中存储模块的第一信号控制单元的输出端;
其中,当前向传播时,第一开关单元处于导通状态且第二开关单元处于开路状态;当反向传播时,第二开关单元处于导通状态且第一开关单元处于开路状态。
可选地,所述第一信号处理单元所在支路中还串联有第三开关单元,所述第二信号处理单元所在支路中还串联有第四开关单元,且当前向传播时,第三开关单元处于开路状态,第四开关单元处于导通状态;当反向传播时,第四开关单元处于开路状态,第三开关单元处于导通状态。
可选地,所述第一开关单元、第二开关单元、第三开关单元和第四开关单元为双极性晶体管或场效应晶体管。
可选地,所述第一信号处理单元或所述第二信号处理单元包括差分处理单元、加法处理单元或放大处理单元中的一种或多种。
本发明实施例提供的基于神经网络的存储模块、模组及数据处理方法,由包括非易失性存储器的存储单元构成存储阵列,在存储阵列中,一方向上的存储器的一源漏极电连接第一电连线,另一方向上的存储器另一源漏极电连接第二电连线,第一电连线和所述第二电连线中的一个用于加载输入信号,输入信号可以用于表征神经网络中层的输入向量数值,由于非易失性存储器的存储特性,其存储数据即为存储器两源漏极之间的电导值,可以用于表征连接权重数值,那么,另一电连线上输出的输出信号即为进行矩阵运算后的数值。这样,通过该存储阵列可以完成神经网络中数据信号的处理、传输和存储,无需耗费数据存取时间,同时,存储阵列可以执行并行的数据处理和传输,处理速度不受运算量大小的影响,可以有效地提高神经网络中矩阵运算规模和处理速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了神经网络的示意图;
图2示出了根据本发明实施例一的基于神经网络的存储模块的结构示意图;
图3示出了根据本发明实施例二的基于神经网络的存储模块的结构示意图;
图4为图3中存储单元的局部放大示意图;
图5示出了根据本发明实施例三的存储模块中存储单元的结构示意图;
图6和图7示出了根据本发明实施例一的基于神经网络的存储模块进行数据处理的示意图;
图8示出了根据本发明实施例的存储模组的结构示意图;
图9示出了根据本发明实施例的存储模组中第一信号控制单元的结构示意图;
图10示出了根据本发明实施例的存储模组中第二信号控制单元的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
正如背景技术中的描述,在神经网络算法处理过程中,包含了大量的矩阵运算,目前主要是通过存储器加处理器的方式来实现矩阵运算,而随着神经网络功能的复杂化以及规模化,矩阵运算量也急剧扩大,对执行计算的硬件系统提出了更高的要求。为此,本申请提出了一种基于神经网络的存储模块,用于实现神经网络中的矩阵运算,提高矩阵运算的规模和处理速度。
为了更好地理解本发明的技术方案和技术效果,首先对神经网络及基本计算进行描述。参考图1所示,为包含三层隐藏层的神经网络的示例,在该示例中,包含输入层、输出层以及第1隐藏层、第2隐藏层、第3隐藏层,各层代表的数值关系如下:
Figure GDA0001579784630000061
Figure GDA0001579784630000062
Figure GDA0001579784630000063
Figure GDA0001579784630000064
其中,X、Y、H1、H2、H3分别代表输入层、输入层、第1隐藏层、第2隐藏层、第3隐藏层的输入向量数值,W1、W 2、W3、W 4分别代表从输入层至输出层相邻层间的连接权重,f为非线性函数,i,j,k,l为每一层的节点数。
在该示例的图示中,圆圈代表节点,连线代表权重,以输入层到第1隐藏层为例,一组输入Xi输入到输入层,通过与第1隐藏层的连接权重
Figure GDA0001579784630000065
输出一组数据
Figure GDA0001579784630000066
其中
Figure GDA0001579784630000067
以该组数据
Figure GDA0001579784630000068
作为第1隐藏层的输入,通过第1隐藏层节点的函数f激活之后,第1隐藏层节点的输出
Figure GDA0001579784630000069
同样地,第1隐藏层到第2隐藏层,以第1隐藏层节点的输出
Figure GDA00015797846300000610
作为第2隐藏层的输入,通过与第2隐藏层的连接权重
Figure GDA00015797846300000611
输出一组数据
Figure GDA00015797846300000612
其中
Figure GDA00015797846300000613
通过第2隐藏层节点的函数f激活之后,第2隐藏层节点的输出
Figure GDA00015797846300000614
以此类推,则在输出层输出Ym。可以知道,在上述一个三层隐藏层的示例中,一次信息的处理就需要i×j+j×k+k×l+l×m次运算,在实际的应用中,运算次数往往会超过数百次。
为了提高矩阵运算的规模和处理速度,本发明实施例提供了一种基于神经网络的存储模块,参考图2至图5所示,包括:
由多个存储单元100构成的存储阵列,每个存储单元100包括非易失性存储器101;
在所述存储阵列中,第一方向X上每一条非易失性存储器的第一源漏极DS1电连接第一电连线AL,第二方向Y上每一条非易失性存储器的第二源漏极DS2电连接第二电连线BL,第一方向X或第二方向Y上每一条非易失性存储器的栅极G电连接第三电连线CL;
所述第一电连线AL和所述第二电连线BL中的一个用于加载输入信号,另一个的用于输出输出信号,所述输入信号用于表征神经网络中层的输入向量数值,所述非易失性存储器的存储数据用于表征所述向量数值对应的权重数值。
该存储模块用于神经网络算法中的矩阵运算,该矩阵运算是指相邻层之间的权重运算,也就是上述前层输入与连接权重的运算,例如输入层到第1隐藏层,输入数据Xi与第1隐藏层的连接权重
Figure GDA0001579784630000071
的计算
Figure GDA0001579784630000072
第1隐藏层到第2隐藏层,输入数据
Figure GDA0001579784630000073
与第2隐藏层的连接权重
Figure GDA0001579784630000074
的计算
Figure GDA0001579784630000075
可以理解的是,对于相邻的隐藏层之间的矩阵运算,前一隐藏层的输出即为矩阵运算的输入。
在本发明实施例中,第一方向X和第二方向Y为阵列排布的两个方向,阵列通常以行、列排布,在具体的实现中,可以根据需要采用合适的阵列排布方式,参考图2所示,例如可以是整齐对位的行、列排布,也可以为错位的行、列排布,即后一行的存储单元位于前一行两个存储单元之间。在具体的实施例中,第一方向X为行方向,则第二方向Y为列方向,相应地,第一方向X为列方向,则第二方向Y为行方向,行方向上每一条即指每一行,列方向上每一条即指每一列。
需要说明的是,在本发明实施例的图示中,在存储阵列中,仅将第一行和第一列的存储单元进行了图示,其他部分的存储单元省略了图示,而其他部分实际也是设置有存储单元的。
在本发明实施例中,第一源漏极DS1和第二源漏极DS2为存储器或MOS器件的源端或漏端,当第一源漏极DS1为源端时,则第二源漏极DS2为漏端,相应地,当第一源漏极DS1为漏端时,第二源漏极DS2为源端。每个存储单元中至少包含非易失性存储器101,非易失性存储器101具有掉电仍保留数据的特点,运用此特性设计存储阵列用于神经网络的矩阵计算,非易失性存储器101例如可以为忆阻器、相变存储器、铁电存储器、自旋磁矩耦合存储器、浮栅场效应管或SONOS(硅-氧化硅-氮化硅-氧化硅-硅,Si-Oxide-SiN-Oxide-Si)场效应器件等。进一步地,每个存储单元中还可以包括MOS器件(Metal-Oxide-Semiconductor Field-Effect Transistor,金属氧化物半导体场效应晶体管)。
在每个存储单元中,MOS器件用于辅助控制非易失性存储器的状态,MOS器件的栅极G2与存储器的栅极G1分别控制。在一些实施例中,参考图3和图4所示,存储阵列中的每个存储单元200包括非易失性存储器101和MOS器件102,MOS器件102与非易失性存储器101串联,也就是说,MOS器件102的第一源漏端DS1与非易失性存储器101的第二源漏端DS2电连接,在具体实现中,该电连接可以是直接连接或间接连接,例如可以为MOS器件与非易失性存储器共源漏实现串联,也可以为通过互连线或掺杂区实现串联,在这些实施例中,存储器101的第一源漏极DS1电连接一电连线BL,另一源漏极DS2通过MOS器件102连接到另一电连线AL上。非易失性存储器101的栅极G1沿第一方向X或第二方向Y连接至第三电连线CL,MOS器件102的栅极G2沿第一方向X或第二方向Y连接至第四电连线DL,优选地,第三电连线CL和第四电连线DL的方向相互正交。
在另一些实施例中,参考图4所示,存储阵列中的每个存储单元300包括非易失性存储器101和MOS器件103,MOS器件103与非易失性存储器101共沟道,MOS器件103的源漏端DS1也即非易失性存储器101的源漏端DS2,非易失性存储器101的栅极G1沿第一方向X或第二方向Y连接至第三电连线CL,MOS器件103的栅极G2沿第一方向X或第二方向Y连接至第四电连线DL,优选地,第三电连线CL和第四电连线DL的方向相互正交该存储模块的排布可以参见附图3,仅存储单元内的器件连接有所不同。
在本发明实施例的存储阵列中,一方向上的每一条非易失存储器的一源漏端DS1电连接一条电连线BL,另一方向上的每一条非易失性存储器的另一源漏端DS2电连接另一条电连线AL,非易失性存储器的栅极G可以根据需要选择行或列方向连接电连线,由于非易失性存储器的存储特性,存储器中存储的数值,在存储器体现为存储器源漏两端的电导值。
基于此,参考图6(A)所示,以前向传播为例,对利用存储阵列进行矩阵运算的原理进行说明。存储阵列中存储有数据,这些数据可以等效为与电流Ikl相关的电导值Ekl,当在电连线AL上分别加载输入信号Vink后,在电连线BL上的信号Voutl可以等效表征为为:
Figure GDA0001579784630000091
该信号则相当于输入信号与存储数据进行了矩阵运算,若以输入信号表征当前层的向量数值,存储数据用于表征当前层到下一层的连接权重数值,那么,该信号就相当于进行过矩阵运算后的输出值,通过该存储矩阵即可实现神经网络的矩阵运算。在具体的应用中,根据需要,可以通过获取用于输出的电连线上的电流信号或电压信号来表征矩阵运算后的结果V'outl
Figure GDA0001579784630000092
F代表获取电连线上输出信号进行的转换,例如输出信号可以为电连线BL上的电流信号或者将电流进一步转换后的电压信号。
该存储阵列可以实现数据的前向传播以及反向传播,源漏两端的一条电连线为输入信号,另一条电连线为输出信号,可以实现前向传播,将输入信号和输出信号的连线交换,则可以实现反向传播。可以理解的是,在传播过程中,需要将存储器的栅极电连线设置合适的偏置电压,使得各存储器处于可读取状态。
通过该存储模块,可以实现神经网络中的矩阵运算,存储阵列可以执行并行的数据处理和传输,处理速度不受运算量大小的影响,无需耗费数据存储时间,大大提高处理速度和效率,同时,可以通过增大矩阵规模或增加矩阵模块数量,实现运算处理规模的增大,存储阵列可以执行并行的数据处理和传输,处理速度不受运算量大小的影响,有效地提高神经网络中矩阵运算规模和处理速度。此外,可以通过半导体技术实现上述存储阵列,相较于专用处理器,具有更低的生产成本,可以广泛应用于图像、声音及其他数据的模式识别领域。
基于以上的存储模块,可以进行神经网络中的前向传播、反向传播以及连接权重的改变,从而实现模型训练中的运算以及利用模型进行的运算。
参考图6(A)所示,在前向传播中,每个存储单元的非易失性存储器已写入所需的数据,为了便于描述,将前向传播中存储器中已写入的数据记做第一数据状态,在该数据状态下,在第一电连线AL上加载输入信号Vink、在第三电连线CL上加载读取电压信号,在第二电连线输出第一输出数据Voutl,所述第一输出数据Voutl为前向传播的输出信号。可以根据具体的情况,合理设置读取电压,使得各存储器都处于可读取状态,这样,从第二电连线上输出的信号即为输出信号,该输出信号可以为第二电连线上的电流信号,也可以是该电流经过转化后的电压信号,该输出信号即为矩阵运算后的数据,这样,通过该存储模块就实现了矩阵运算处理以及前向传播。
参考图6(B)所示,在反向传播中,输入信号端以及输出信号端与前向传播相反,每个存储单元的非易失性存储器已写入所需的数据,为了便于描述,将反向传播中存储器中已写入的数据记做第二数据状态,在该数据状态下,在第二电连线BL上加载输入信号Vinl、在第三电连线CL上加载读取电压信号,在第一电连线AL输出第二输出数据Voutk,所述第二输出数据为反向传播的输出信号。反向传播与前向传播的处理过程相同,区别仅在于输入端与输出端正好相反。同前向传播,可以根据需要合理设置该读取电压,使得各存储器都可以处于可读取状态,这样,从第一电连线上输出的信号即为输出信号。
该存储阵列可以应用于神经网络的样本训练,通常地,在一次样本训练中,前向传播和反向传播时的存储器中所存储的数据是不变的,也就是说,上述前向传播时的第一数据状态和反向传播时的第二数据状态为相同的数据状态。
上述输出信号可以为第一电连线AL或第二电连线BL上的电流信号,也可以是该电流经过转化后的电压信号,例如在电连线输出端设置积分器,通过积分器将电流信号转换为电压信号,该输出信号即为矩阵运算后的数据,这样,通过该存储模块就实现了矩阵运算处理以及反向传播。
在一些实施例中,存储单元中包括了非易失性存储器以及MOS器件,非易失性存储器的一源漏端通过MOS器件连接至输入信号的电连线上,可以理解的是,在前向和反向传播中,为了使得输入信号有效,MOS器件要处于导通状态,可以通过在MOS器件的栅极端加载导通电压实现。
在利用存储模块进行模型训练以及使用模型进行计算时,需要进行很多次的矩阵运算,参加运算的数据也是变化的,在本发明实施例中,通过改变存储单元中的存储数据实现连接权重的改变,在存储器当前状态数据的基础上,通过继续写数据或擦数据,使得存储器中存储数据发生改变,进而使得其表征的连接权重数据的改变。在具体的实现中,在一个或多个待改变的非易失性存储器上加载写电压或擦电压,以使得待改变的非易失性存储器存储的当前数据状态发生变化。其他不需要数据改变的存储器,可以将其栅极电压设置在非写擦电压。
具体的,可以通过第一电连线AL或第二电连线BL或第四电连线DL和第三电连线CL加载写电压或擦电压,在当前数据状态下,在下一次运算时,若连接权重数据需要增大,可以将该存储器加载写电压,使得该存储器继续写操作,若连接权重数据需要减小,可以将该存储器加载擦电压,使得该存储器进行擦除操作。
利用本发明实施例的存储模块可以实现神经网络中的各种数据处理,通过非易失性存储器的擦写特性实现权重数值的修改,速度快且可以实现数值的连续调节,高效地实现大规模和高速度的运算处理。
为了更好地理解本发明的技术方案和技术效果,以下将结合具体的实施例进行说明。
实施例一
参考图6所示,在该实施例中,每个存储单元中包括一个非易失性存储器,第一方向为行方向,第二方向为列方向,存储阵列中,每一行存储器的第一源漏极都连接至第一电连线AL,每一列存储器的第二源漏极都连接至第二电连线BL,每一行存储器的栅极都连接至第三电连线CL,当然,栅极的连接方式还可以为,每一列存储器的栅极连接至一条电连线。
在前向传播中,可以以第一电连线AL为输入端,第二电连线BL为输出端,在进行矩阵运算及传播之前,各存储器中已经写入数据,处于第一数据状态,在进行运算时,可以在第一电连线AL上加载输入信号Vink,输入信号可以同时或顺序加载至各条电连线AL上,第三电连线CL上加载读取电压,这样,从第二电连线BL上输出的信号即为输出信号,通过该存储模块就实现了矩阵运算处理以及前向传播。在一个具体的示例中,存储器可以为浮栅场效应管,例如在第三电连线CL上都施加0V电压,使得各存储器都可以处于可读取状态。
在反向传播中,可以以第二电连线BL为输入端,第一电连线AL为输出端,在进行矩阵运算及传播之前,各存储器中已经写入数据,处于第二数据状态,在进行运算时,可以在第二电连线BL上加载输入信号Vinl,第三电连线上加载读取电压,这样,从第一电连线AL上输出的信号即为输出信号,这样,通过该存储模块就实现了矩阵运算处理以及反向传播。
在改变连接权重时,第一连线和第三连线用于偏置写电压或擦电压,在本实施例中,若需要将连接权重的数值增大,则可以在需要改写的存储单元的第三电连线CL和第二电连线BL上加载写电压,在一个具体的示例中,例如图7(A)中选中的单元为选中的待改变单元,则在该单元对应的第三电连线CL上的电压为10V、第二电连线BL上的电压为0V,其他无需改变的单元的第三电连线CL和第二电连线BL上的电压都可以设置为5V,当然,也可以设置为其他的非写擦电压,例如第三电连线CL上的电压为0V、第二电连线BL上的电压为5V,第三电连线CL上的电压为10V、第二电连线BL上的电压为5V等;若需要将连接权重的数值减小,则可以在需要改写待改变的存储单元的第三电连线CL和第二电连线BL上加载擦电压,在一个具体的示例中,如图7(B)中选中的单元为选中的待改变单元,则在该单元对应的第三电连线CL上的电压为0V、第二电连线BL上的电压为10V,其他无需改变的单元的第三电连线CL和第二电连线BL上的电压都可以设置为5V。
实施例二
参考图3所示,在该实施例中,每个存储单元中包括非易失性存储器和MOS器件,这两个器件串联连接,存储器的第一源漏极连接MOS器件的第二源漏极,第一方向为行方向,第二方向为列方向,存储阵列中,每一行MOS器件的第一源漏极都连接至第一电连线AL,每一列存储器的第二源漏极都连接至第二电连线BL,每一行存储器的栅极都连接至第三电连线CL,每一列MOS器件的栅极电连接至第四电连线DL,当然,栅极的连接方式还可以为,每一列存储器的栅极连接至一条电连线,每一行MOS器件的栅极连接至一条电连线。本实施例中,优选地,非易失性存储器可以为浮栅场效应管或SONOS场效应管,制造时便于与MOS器件制造工艺集成。
在前向传播中,可以以第一电连线AL为输入端,第二电连线BL为输出端,在进行矩阵运算及传播之前,各存储器中已经写入数据,处于第一数据状态,在进行运算时,可以在第四电连线DL上加载开启电压,使得MOS器件处于导通状态,在第一电连线AL上加载输入信号,第三电连线上CL加载读取电压,可以根据需要合理设置该读取电压,使得各存储器都可以处于可读取状态,这样,从第二电连线BL上输出的信号即为输出信号。在一个具体的示例中,存储器可以为浮栅场效应管,例如在MOS器件的第四电连线DL施加1V,MOS器件都处于打开状态,第三电连线CL上都施加0V电压,使得各存储器都可以处于可读取状态。
在反向传播中,与前向传播不同的是,输入端和输出端进行了交换,以第一电连线AL为输出端,第二电连线BL为输入端,运算及传播同前向传播,此处不再赘述。
在改变连接权重时,第一连线和第三连线,或者第三电连线和第四电连线用于偏置写电压或擦电压,在本实施例中,若需要将连接权重的数值增大,则可以在需要改写的存储单元的第三电连线CL和第二电连线BL或第三电连线DL上加载写电压,在一个具体的示例中,例如第三电连线CL上的电压为10V、第二电连线BL上的电压为0V,或者第三电连线CL上的电压为10V、第四电连线DL上的电压为0V;若需要将连接权重的数值减小,则可以在需要改写的存储单元的第三电连线CL和第二电连线BL或第三电连线DL上加载擦电压,在一个具体的示例中,例如第三电连线CL上的电压为0V、第二电连线BL上的电压为10V,或者第三电连线CL上的电压为0V、第四电连线DL上的电压为10V;对于连接权重数值不需要修改的存储单元,则可以加载非擦写电压,例如第三电连线CL上的电压为0V、第二电连线BL上的电压为5V,第三电连线CL上的电压为10V、第二电连线BL上的电压为5V等。
以上对不同的实施例进行了详细的描述,可以理解的是,此处仅为示例,在其他实施例中,存储单元还可以为其他的结构,本发明并不限于此。
此外,本发明还提供了基于上述存储模块组成的存储模组,参考图8所示,存储模组包括:
包括多个存储单元(100-1、100-2、100-3…),每个存储单元100包括一个或多个上述的基于神经网络的存储模块101,各存储模块101中,第一电连线AL用于加载前向传播中的输入信号,第二电连线BL用于输出前向传播中的输出信号;第二电连线BL用于加载反向传播中的输入信号,第一电连线AL用于输出反向传播中的输出信号;
每个所述存储模块101的第一电连线AL连接至第一信号控制单元10的输入端a,所述第一信号控制单元10包括并联的第一开关单元12和第一信号处理单元11,所述第一信号处理单元11用于第一电连线AL输出信号的信号处理;
每个所述存储模块101的第二电连线BL连接至第二信号控制单元20的输入端c,所述第二信号控制单元20包括并联的第二开关单元22和第二信号处理单元21,所述第二信号处理单元21用于第二电连线BL输出信号的信号处理;
多个所述存储单元(100-1、100-2、100-3…)串行连接,由前一存储单元100-1中存储模块101的第二信号控制单元20的输出端d分别对应电连接至后一存储单元100-2中存储模块101的第一信号控制单元10的输出端b;
其中,当前向传播时,第一开关单元12处于导通状态且第二开关单元22处于开路状态;当反向传播时,第二开关单元22处于导通状态且第一开关单元12处于开路状态。
根据具体的神经网络算法,可以将上述的存储模块组合起来,作为存储模组使用,实现神经网络中不同层之间的矩阵运算和信号传输,在本发明实施例中,每个存储单元分别用于相邻两层之间的矩阵运算,包括了前向传播中的矩阵运算以及反向传播中的矩阵运算,每个存储单元可以包括一个或多个上述的存储模块,可以理解的是,存储模块的数量和存储模块中阵列的规模,是根据神经网络算法中节点数量或者是根据不同算法运算量需求决定的。
存储单元之间为串行连接,也就是一个个存储单元顺次连接起来,实现神经网络中层与层之间的信号处理与传输,为了控制存储单元之间,也就是层之间的信号传播方向,对于每个存储模块101,在第一电连线AL上连接第一信号控制单元10,以及在第二电连线BL上连接第二信号控制单元20,第一信号控制单元10包括并联的第一开关单元12和第一信号处理单元11这两条支路,第二信号控制单元20包括并联的第二开关单元22和第二信号处理单元21这两条支路。通过开关单元,控制前向传播和反向传播的信号传输方向,或者,根据不同的运算需求,关闭或打开某些模块。
第一信号控制单元10的输入端a和输出端b是相对于第一信号处理单元11而言的,第一信号处理单元11用于当第一电连线AL用于输出信号时,对第一电连线AL输出信号进行信号处理,第一信号控制单元10的输入端、输出端即指第一信号处理单元11的输入端、输出端。同样地,第二信号控制单元20的输入端和输出端是相对于第二信号处理单元21而言的,第二信号处理单元21用于当第二电连线BL用于输出信号时,对第二电连线BL输出信号进行信号处理,第二信号控制单元20的输入端、输出端即指第二信号处理单元21的输入端、输出端。
上述的第一和第二信号处理单元将矩阵运算后的输出信号进一步进行处理,根据神经网络算法的不同需求,这些信号处理单元可以包括差分处理单元、加法处理单元或放大处理单元中的一种或多种,以满足不同的运算需求。
在存储单元之间的连接为串行连接,由前一存储单元中存储模块的第二信号控制单元的输出端分别对应电连接至后一存储单元中存储模块的第一信号控制单元的输出端。参考图8所示,以三个存储单元为例进行说明,在示例中,包括第一存储单元100-1、第二存储单元100-2和第三存储单元100-3,这三个存储单元依次串接在一起,第一存储单元100-1和第三存储单元100-3分别包括一个存储模块101,第二存储单元100-2包括两个存储模块102,第一存储单元100-1的存储模块101的第二信号控制单元20的输出端d分别对应电连接至第二存储单元100-2的存储模块101的第一信号控制单元10的输出端b,第二存储单元100-2的存储模块101的第二信号控制单元20的输出端d分别对应电连接至第三存储单元100-3的存储模块101的第一信号控制单元10的输出端b,连接的对应关系由神经网络算法中相邻层之间的节点对应关系确定。
基于上述的模组,在当前向传播时,第一开关单元12处于导通状态且第二开关单元22处于开路状态;当反向传播时,第二开关单元22处于导通状态且第一开关单元12处于开路状态,这样,通过控制开关单元的状态,实现相邻存储单元之间信号的前向和反向传播。
此外,参考图9,还可以进一步在第一信号控制单元10的第一信号处理单元11所在支路中串联第三开关单元13,第三开关单元13可以串联在第一信号处理单元11输入端a一侧或者输出端b一侧。同样地,参考图10所示,还可以进一步在第二信号控制单元20的第二信号处理单元21所在支路中串联第四开关单元23,第四开关单元23可以串联在第二信号处理单元21输入端c一侧或者输出端d一侧。这样,在前向传播中,第三开关单元13处于开路状态,第四开关单元23处于导通状态;当反向传播时,第四开关单元23处于开路状态,第三开关单元13处于导通状态。
在具体的应用中,上述这些开关单元可以为双极性晶体管或场效应晶体管。
以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (12)

1.一种基于神经网络的存储模块,其特征在于,包括:
由多个存储单元构成的存储阵列,每个存储单元包括非易失性存储器;
在所述存储阵列中,第一方向上每一条非易失性存储器的第一源漏极电连接第一电连线,第二方向上每一条非易失性存储器的第二源漏极电连接第二电连线,第一方向或第二方向上每一条非易失性存储器的栅极电连接第三电连线;
所述第一电连线用于加载前向传播中的输入信号,所述第二电连线用于输出所述前向传播中的输出信号;所述第二电连线用于加载反向传播中的输入信号,所述第一电连线用于输出所述反向传播中的输出信号;
所述第一电连线和所述第二电连线中的一个用于加载输入信号,另一个的用于输出输出信号,所述输入信号用于表征神经网络中层的输入向量数值,所述非易失性存储器的存储数据用于表征所述层到下一层的连接权重数值。
2.根据权利要求1所述的存储模块,其特征在于,所述非易失性存储器包括忆阻器、相变存储器、铁电存储器、自旋磁矩耦合存储器、浮栅场效应管或SONOS场效应管。
3.根据权利要求1所述的存储模块,其特征在于,所述存储单元还包括MOS器件,所述非易失性存储器的第一源漏极与所述MOS器件的第二源漏极电连接,所述MOS器件的第一源漏极电连接第一电连线,在第一方向或第二方向上每一条场效应晶体管的栅极电连接第四电连线。
4.根据权利要求1所述的存储模块,其特征在于,所述存储单元还包括与所述非易失性存储器共用沟道的MOS器件,第一方向或第二方向上每一条MOS器件的栅极电连接第四电连线。
5.一种数据处理方法,其特征在于,采用如权利要求1-4中任一项所述的基于神经网络的存储模块进行数据处理,所述方法包括:
每个存储单元的非易失性存储器处于第一数据状态,在第一电连线上加载输入信号、在第三电连线上加载读取电压信号,在第二电连线输出第一输出数据,所述第一输出数据为前向传播的输出信号。
6.根据权利要求5所述的数据处理方法,其特征在于,还包括:
每个存储单元的非易失性存储器处于第二数据状态,在第二电连线上加载输入信号、在第三电连线上加载读取电压信号,在第一电连线获得第二输出数据,所述第二输出数据为反向传播的输出信号。
7.根据权利要求5或6所述的数据处理方法,其特征在于,所述第一数据状态和所述第二数据状态为相同的数据状态。
8.根据权利要求5或6所述的数据处理方法,其特征在于,还包括:
在一个或多个待改变的非易失性存储器上加载写电压或擦电压,以使得待改变的非易失性存储器存储的当前数据状态发生变化。
9.一种存储模组,其特征在于,包括多个存储单元,每个存储单元包括一个或多个如权利要求4所述的基于神经网络的存储模块;
每个所述存储模块的第一电连线连接至第一信号控制单元的输入端,所述第一信号控制单元包括并联的第一开关单元和第一信号处理单元,所述第一信号处理单元用于第一电连线输出信号的信号处理;
每个所述存储模块的第二电连线连接至第二信号控制单元的输入端,所述第二信号控制单元包括并联的第二开关单元和第二信号处理单元,所述第二信号处理单元用于第二电连线输出信号的信号处理;
多个所述存储单元串行连接,由前一存储单元中存储模块的第二信号控制单元的输出端分别对应电连接至后一存储单元中存储模块的第一信号控制单元的输出端;
其中,当前向传播时,第一开关单元处于导通状态且第二开关单元处于开路状态;当反向传播时,第二开关单元处于导通状态且第一开关单元处于开路状态。
10.根据权利要求9所述的存储模组,其特征在于,所述第一信号处理单元所在支路中还串联有第三开关单元,所述第二信号处理单元所在支路中还串联有第四开关单元,且当前向传播时,第三开关单元处于开路状态,第四开关单元处于导通状态;当反向传播时,第四开关单元处于开路状态,第三开关单元处于导通状态。
11.根据权利要求10所述的存储模组,其特征在于,所述第一开关单元、第二开关单元、第三开关单元和第四开关单元为双极性晶体管或场效应晶体管。
12.根据权利要求9-11中任一项所述的存储模组,其特征在于,所述第一信号处理单元或所述第二信号处理单元包括差分处理单元、加法处理单元或放大处理单元中的一种或多种。
CN201711444685.9A 2017-12-27 2017-12-27 一种基于神经网络的存储模块、模组及数据处理方法 Active CN108038542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711444685.9A CN108038542B (zh) 2017-12-27 2017-12-27 一种基于神经网络的存储模块、模组及数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711444685.9A CN108038542B (zh) 2017-12-27 2017-12-27 一种基于神经网络的存储模块、模组及数据处理方法

Publications (2)

Publication Number Publication Date
CN108038542A CN108038542A (zh) 2018-05-15
CN108038542B true CN108038542B (zh) 2022-01-07

Family

ID=62098025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711444685.9A Active CN108038542B (zh) 2017-12-27 2017-12-27 一种基于神经网络的存储模块、模组及数据处理方法

Country Status (1)

Country Link
CN (1) CN108038542B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543937B (zh) * 2018-05-28 2022-09-30 厦门半导体工业技术研发有限公司 神经网络及操作方法、神经网络信息处理系统
US10643705B2 (en) * 2018-07-24 2020-05-05 Sandisk Technologies Llc Configurable precision neural network with differential binary non-volatile memory cell structure
CN108777155A (zh) * 2018-08-02 2018-11-09 北京知存科技有限公司 闪存芯片
CN109886393B (zh) * 2019-02-26 2021-02-09 上海闪易半导体有限公司 一种存算一体化电路及神经网络的计算方法
US10929058B2 (en) * 2019-03-25 2021-02-23 Western Digital Technologies, Inc. Enhanced memory device architecture for machine learning
CN110597555B (zh) * 2019-08-02 2022-03-04 北京航空航天大学 非易失性存内计算芯片及其运算控制方法
US10825512B1 (en) 2019-08-27 2020-11-03 Nxp Usa, Inc. Memory reads of weight values
CN110797067B (zh) * 2019-10-21 2021-10-22 上海闪易半导体有限公司 存储阵列模块及其控制方法、装置、模组
CN110991633B (zh) * 2019-12-04 2022-11-08 电子科技大学 一种基于忆阻网络的残差神经网络模型及其应用方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364594A (zh) * 2007-08-09 2009-02-11 中国科学院半导体研究所 硅基单电子神经元量子电路
CN106846239A (zh) * 2017-01-12 2017-06-13 北京大学 实现图像卷积的编码型闪存系统及工作方法
CN106843809A (zh) * 2017-01-25 2017-06-13 北京大学 一种基于nor flash阵列的卷积运算方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999952B1 (en) * 2001-04-18 2006-02-14 Cisco Technology, Inc. Linear associative memory-based hardware architecture for fault tolerant ASIC/FPGA work-around
US11308383B2 (en) * 2016-05-17 2022-04-19 Silicon Storage Technology, Inc. Deep learning neural network classifier using non-volatile memory array
CN107480782B (zh) * 2017-08-14 2020-11-10 电子科技大学 一种片上学习神经网络处理器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364594A (zh) * 2007-08-09 2009-02-11 中国科学院半导体研究所 硅基单电子神经元量子电路
CN106846239A (zh) * 2017-01-12 2017-06-13 北京大学 实现图像卷积的编码型闪存系统及工作方法
CN106843809A (zh) * 2017-01-25 2017-06-13 北京大学 一种基于nor flash阵列的卷积运算方法

Also Published As

Publication number Publication date
CN108038542A (zh) 2018-05-15

Similar Documents

Publication Publication Date Title
CN108038542B (zh) 一种基于神经网络的存储模块、模组及数据处理方法
US11270764B2 (en) Two-bit memory cell and circuit structure calculated in memory thereof
US10664746B2 (en) Neural network system
CN107810534A (zh) 操作具有抹除去偏压的存储器的设备及方法
CN108073984B (zh) 一种基于神经网络的存储模块及存储模组
TWI699711B (zh) 記憶體裝置及其製造方法
CN111128279A (zh) 基于NAND Flash的存内计算芯片及其控制方法
CN110766148B (zh) 类神经网络系统及其控制方法
CN211016545U (zh) 基于NAND Flash的存内计算芯片、存储装置以及终端
CN110543937B (zh) 神经网络及操作方法、神经网络信息处理系统
CN108154225B (zh) 一种使用模拟计算的神经网络芯片
Borgstrom et al. Programmable current-mode neural network for implementation in analogue MOS VLSI
CN108154227B (zh) 一种使用模拟计算的神经网络芯片
CN110880501A (zh) 转位反馈场效应电子器件及利用其的排列电路
CN108154226B (zh) 一种使用模拟计算的神经网络芯片
Zidan et al. RRAM fabric for neuromorphic and reconfigurable compute-in-memory systems
CN209103825U (zh) 闪存单元、闪存模块以及闪存芯片
CN111243648A (zh) 闪存单元、闪存模块以及闪存芯片
TW201438014A (zh) Nand快閃記憶單元、操作方法與讀取方法
CN112632460A (zh) 源极耦合、漏极求和的模拟向量-矩阵乘法运算电路
CN110797067B (zh) 存储阵列模块及其控制方法、装置、模组
CN111462792A (zh) 基于3d nand flash存储阵列的tcam及其操作方法
JP7458960B2 (ja) 半導体装置
US20230289577A1 (en) Neural network system, high density embedded-artificial synaptic element and operating method thereof
WO2023228869A1 (ja) シリコンブレイン

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
CB02 Change of applicant information

Address after: 310018 Room 202, Building 17, 57 Baiyang Street Science Park Road, Hangzhou Economic and Technological Development Zone, Zhejiang Province

Applicant after: Hangzhou Semiconductor Co., Ltd.

Address before: 315832 Room 221, Office Building 21, Meishan Avenue Business Center, Beilun District, Ningbo City, Zhejiang Province

Applicant before: Ningbo Hill Electronic Technology Co., Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 607-a, 6 / F, building 1, No. 800, Naxian Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Applicant after: Shanghai Shanyi Semiconductor Co., Ltd

Address before: 310018 Room 202, Building 17, 57 Baiyang Street Science Park Road, Hangzhou Economic and Technological Development Zone, Zhejiang Province

Applicant before: HANGZHOU SHANYI SEMICONDUCTOR Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant