CN106530210A - 基于阻变存储器件阵列实现并行卷积计算的设备和方法 - Google Patents

基于阻变存储器件阵列实现并行卷积计算的设备和方法 Download PDF

Info

Publication number
CN106530210A
CN106530210A CN201610930552.1A CN201610930552A CN106530210A CN 106530210 A CN106530210 A CN 106530210A CN 201610930552 A CN201610930552 A CN 201610930552A CN 106530210 A CN106530210 A CN 106530210A
Authority
CN
China
Prior art keywords
convolution
input
wordline
resistance
memory array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610930552.1A
Other languages
English (en)
Other versions
CN106530210B (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN201610930552.1A priority Critical patent/CN106530210B/zh
Publication of CN106530210A publication Critical patent/CN106530210A/zh
Application granted granted Critical
Publication of CN106530210B publication Critical patent/CN106530210B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Semiconductor Memories (AREA)

Abstract

本发明公开了一种基于阻变存储器件阵列实现并行卷积计算的设备和方法,设备包括:阻变存储器件阵列、训练模块、输入模块、位线控制单元、字线控制单元、输出模块以及控制器。所述操作方法包括:计算卷积时,先将卷积核对应输入位置写入每个阻变单元,阻变单元的电导值代表卷积核的数值大小;位线上所加电平大小代表输入矩阵;每个输出模块代表一个卷积结果;不同的输出模块的输出信号即代表不同输入区域或不同卷积核的结果,以此方式实现卷积的并行计算。

Description

基于阻变存储器件阵列实现并行卷积计算的设备和方法
技术领域
本公开一般地涉及半导体集成电路及其制造技术领域,更具体地,涉及一种可以在阻变器件交叉阵列中通过在阵列中同一行(同一列)的电流求和功能实现对输入进行卷积计算的设备和方法。
背景技术
卷积操作在图像处理中有着广泛的应用,例如图像去噪、特征提取、平滑、滤波、边缘检测、图像增强等。特别地,卷积操作在卷积神经网络(CNN)中具有关键作用,对输入图像的卷积操作是实现卷积神经网络特定功能的基础。作为目前应用十分广泛的人工神经网络算法,由于卷积神经网络具有并行性、分布式计算、自学习及自适应能力以及很强的鲁棒性和容错性等特点,在近些年来得到了科学家们广泛的研究关注。传统的实现卷积的方法主要是基于CMOS数字电路,利用图像处理芯片(GPU)、可编程门阵列(FPGA)等进行软件实现。这种实现方法需要巨大的硬件开销以及功耗。在硬件消耗以及功耗的限制下,传统的卷积实现方法难以完成大规模的并行卷积运算并且难以计算较大的卷积核的卷积结果;另外,传统的软件实现卷积方法基于冯诺依曼体系架构,其中运算部分和存储部分是分离的,所以需要大量的存储器件进行输入信息以及大量不同卷积核信息的存储。
在当前大数据和神经网络算法的快速发展的背景下,传统的基于软件的卷积实现方法在运算速度、能耗以及芯片面积等方面已经难以满足人们日渐增长的需要,急需发展出一个基于硬件的卷积实现方法。为了突破现有的技术限制,提出了一种基于阻变存储器的硬件实现卷积操作的架构及方法。利用阻变存储器件的阻值可调特性,该架构将电压信号作为输入信号、将阻变存储器的阻值作为卷积核信号,实现了计算/存储一体,大幅降低功耗,并且利用阻变存储器阵列可大规模集成的特点进行了并行扩展,实现了器件面积的大幅减小以及运算速度的大幅提升。
发明内容
(一)要解决的技术问题
针对上述技术问题,本发明提供了一种基于阻变器件阵列的对输入矩阵进行卷积运算的架构,以及基于这种架构的卷积级联和具体操作方法。
(二)技术方案
本发明的目的是提供一种利用阻变器件(包括基于氧化物的阻变存储器RRAM、基于金属离子氧化还原的阻变存储器CBRAM、相变存储器PCM、磁阻存储器MRAM等依靠电阻变化进行信息存储的元器件)通过在阻变器件上的电压、电导关系硬件实现卷积运算、利用阻变器件阵列实现卷积并行运算的方法以及相应的体系结构。阻变器件的电阻值可以在两个不同的电阻值之间通过外加电压进行切换,称之为编程(program)/擦除(erase)(或者SET/RESET)。编程电压和擦除电压极性相反,存储的两个电阻值的高低阻态有明显的区别。并且低阻态在较大范围内具有可连续取值的特性,可以利用多个短脉冲电压来调节其具体阻值直到达到理想设定值。在本发明的体系架构中,高低不同的电平代表输入,即待卷积运算的矩阵;阻变存储器的阻值代表卷积核;输出电流和或与之成正比的输出电压代表矩阵点乘结果,即输入矩阵中相应元素的卷积结果;利用阻变存储器阵列实现卷积的并行运算。
根据本发明的一个方面,提出了一种基于阻变存储器件阵列实现并行卷积计算的设备,包括:阻变存储器件阵列、训练模块、输入模块、位线控制单元、字线控制单元、输出模块以及控制器;
所述阻变存储器件阵列,包括沿第一方向延伸的多条字线,沿与第一方向交叉的第二方向延伸的多条位线,以及设置于各位线和各字线的交叉点处的多个阻变运算存储子单元;
所述位线控制单元,其一端连接到位线,另一端连接到输入模块以及训练模块;
所述字线控制单元,其一端连接到字线,另一端连接输出模块或接地;
所述控制器,控制位线一端选通训练模块及字线一端选通地线,或控制位线一端选通输入模块及字线一端选通输出模块,用于控制输出模块中得到的不同卷积结果组合,并输出传递到下一级存储器或运算装置。
其中,所述的阻变运算存储子单元包括基于氧化物的阻变存储器RRAM、基于金属离子氧化还原的阻变存储器CBRAM、相变存储器PCM、磁阻存储器MRAM中的至少一个,所述阻变运算存储子单元依赖于电阻变化进行信息存储和运算。
其中,所述阻变运算存储子单元是单独的阻变器件或者是阻变器件和双向选择器件串联的结构。
其中,训练模块是信号发生器,用于生成一个连续的正脉冲或负脉冲。
其中,输入模块是信号发生器,用于发生一系列连续正电平。
其中,当控制器的触发信号为训练模式时,位线控制单元选通训练模块,字线控制单元选通地线,利用训练模块产生的脉冲信号对阻变存储子单元的电阻态进行训练,利用不同脉冲个数调整阻变存储子单元的电阻态,即电导值,使其正比于待计算的卷积核的值,即实现卷积核中元素的存储;卷积核中的正元素存储在阻变存储阵列的同一字线上,负元素存储在相邻的下一字线上,相邻两条字线共同实现一个卷积核的存储。
其中,当控制器的触发信号为运算模式时,位线控制单元选通输入模块,字线控制单元选通输出模块,输入模块产生与待进行卷积运算的输入矩阵成正比的电平信号,相邻两字线分别连接到同一输出模块的正输入端和负输入端,输出端的电压或电流信号即代表卷积计算的结果,实现对单个卷积的计算。
其中,在位线及字线方向进行扩展可进行多个卷积的并行计算,扩展方式如下:将待进行卷积运算的矩阵的所有元素均作为输入通过输入模块进行输入,位线的数目即等于输入矩阵所有元素的个数;在训练模式中,对于同一字线,对与输入矩阵的一个待卷积计算的区域相对应的位线交叉点上的阻变存储设备进行阻值调整,按位对应存储一个卷积核;对该字线上的其他阻变存储设备进行置高阻态操作;每两条字线输出一个卷积结果,字线的数目等于对整个输入矩阵做卷积计算后输出矩阵的元素个数的二倍。
其中,所述的基于阻变存储器件阵列实现并行卷积计算的设备,还包括对上述卷积运算进行级联或重构。
一种基于阻变存储器件阵列实现并行卷积计算的方法,其特征在于,包括如下步骤:
S101:对阻变存储器件阵列中阻变存储子单元的电阻态进行训练,利用不同脉冲个数调整阻变存储子单元的电阻态,使其正比于待计算的卷积核的值,产生卷积核矩阵;以及产生与待进行卷积运算的输入矩阵成正比的电平信号,产生输入矩阵,输入矩阵面积大于卷积核矩阵;
S102:实现卷积核矩阵的旋转180°,将旋转180°后的卷积核首先与输入矩阵的左上角部分重叠;
S103:计算该重叠部分的对应元素乘积并求和,作为第一个输出结果;
S104:旋转后的卷积核向x方向平移一位,继续计算重叠部分的乘积和作为下一个输出结果,直到x方向全部重叠过,则卷积核向y方向平移一位并平移到x方向的起始点进行计算,重复以上过程直至输入矩阵中的元素全被卷积核覆盖过。
(三)有益效果
在这种体系结构中,高低不同的电平作为输入信号,代表待计算卷积的输入矩阵;电阻值高低不同的电阻态作为卷积核,利用欧姆定律及阵列的电路结构直接实现矩阵对应位相乘并求和的操作。本发明中卷积核的存储与卷积的计算在同一阵列中,实现了计算与存储的一体化,大幅节省了硬件开销;并利用非挥发存储器的电压/电流/电阻关系硬件直接实现了卷积计算,利用阵列结构实现了卷积的并行,相比于传统的软件上计算卷积,一方面不需要复杂且重复的CMOS逻辑电路进行数学运算,大幅减小了功耗;另一方面大幅提高了运算速度,尤其是针对较大的卷积核情况;同时由于阻变存储器件在阵列结构中的高集成性以及可编程性,该结构非常适合做扩展以及卷积核的擦除及重写,提高了硬件的利用率。
附图说明
图1示出了本发明适用于的卷积计算的种类,即二维矩阵卷积计算,以及相应的计算流程示意图;
图2示出了本发明各个模块的组成以及模块间的相互关系示意图;
图3示出了由阻变器件组成的交叉阵列运算存储模块示意图;
图4示出了本发明在训练模式下调用的电路连接示意图;
图5示出了本发明在运算模式下调用的电路连接示意图,以及优选的输出模块具体电路;
图6示出了本发明具体地利用阻变器件阵列存储卷积核以完成并行计算的方法;
图7示出了本发明基于阻变存储器件阵列实现并行卷积计算方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
在附图中示出了根据本公开实例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种元件的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的元件。
本发明的目的是提供一种利用阻变器件(包括基于氧化物的阻变存储器RRAM,基于金属离子氧化还原的阻变存储器CBRAM、相变存储器PCM、磁阻存储器MRAM等依靠电阻变化进行信息存储的元器件)通过电压/电流/电阻关系实现二维矩阵的卷积计算操作、利用阻变器件阵列实现卷积的并行运算的方法以及相应的体系结构。阻变器件的电阻值可以在两个不同的电阻值之间通过外加电压进行切换,称之为编程(program)/擦除(erase)(或者置位(SET)/复位(RESET))编程电压和擦除的电压极性相反,低于编程电压和擦除电压的电压信号不会改变阻变器件的电阻值。存储的两个电阻值的高低阻态有明显的区别,高阻态与低阻态的比值可达到104~105,且低阻态在一定范围内可以连续取值。在这种体系结构中,输入电压作为待卷积计算的输入矩阵、电阻值高低不同的电阻态作为计算和存储的卷积核,输出电压(电流)作为计算结果。
附图1给出了本发明适用于的卷积计算种类以及计算方法。众所周知,卷积是一个广义的积分概念,在数字信号处理、概率论、图像处理等领域都有广泛的应用。本发明只适用于二维离散卷积的计算,主要应用于二维图像的处理以及卷积神经网络(CNN)。图1以一个5x5的输入矩阵、3x3的卷积核为例进行二维离散卷积计算的步骤说明,本实例只作为举例,实际应用中输入及卷积核矩阵可扩展成任意的m×n矩阵,前提是输入矩阵面积大于卷积核矩阵。在图1中,输入矩阵中的元素为x1~x25,卷积核元素为w1~w9,首先将卷积核矩阵旋转180°,然后将翻转后的卷积核首先与输入矩阵的左上角部分重叠,之后计算该重叠部分的对应元素乘积并求和,作为第一个输出结果,即输出矩阵中的元素Y1;之后翻转后的卷积核向x方向平移一位,继续计算重叠部分的乘积和作为下一个输出结果,直到x方向全部重叠过,则卷积核向y方向平移一位并平移到x方向的起始点进行计算,重复以上过程直至输入矩阵中的元素全被卷积核覆盖过。在本例中,为防止卷积核溢出,不计算输入矩阵最右列及最下行的元素的卷积结果,输入矩阵为5x5,卷积核为3x3,即输出矩阵为一4x4的矩阵。
附图2给出了本发明中各个模块的组成以及各模块间的相互关系。本发明的体系结构中包括:阻变存储器件阵列、训练模块、输入模块、控制器、输入控制单元、输出控制单元以及输出模块。其相互连接、控制关系如下:阻变存储器件阵列包含沿第一方向延伸的多条字线、沿与第一方向交叉的第二方向延伸的多条位线以及分别设置于各位线和各字线的交叉点处的多个基于阻变存储器件阵列实现并行卷积计算的子单元。每一条位线连接一个位线控制单元,位线控制单元的第一端连接到位线,而位线控制单元的另一端连接到输入模块以及训练模块,通过控制器给出的触发信号进行输入模块或训练模块的选通;每一条字线连接一个字线控制单元,字线控制单元的第一端连接到字线,而字线控制单元的另一端连接输出模块或地线,通过控制器给出的触发信号来选通接地或者接输出模块,分别对应着位线控制单元控制的输入模块及训练模块的连接。控制器同时与输入模块连接,通过触发信号控制输入模块在运算模式下给出输入信号。
基于电阻运算和传递的原理,阻变器件可以制备如附图3所示的交叉阵列。在交叉阵列中包含多条互相平行的多条位线、相互平行的多条字线以及位于字线和位线之间的基于阻变存储器件阵列实现并行卷积计算的子单元;基于阻变存储器件阵列实现并行卷积计算的子单元可以是单个阻变器件也可以是一个阻变器件和双向选择器件串联的结构。字线和位线相互垂直,在交叉阵列同一行和同一列的基于阻变存储器件阵列实现并行卷积计算的子单元可以直接构成运算单元,不同行不同列的子单元可以间接构成运算单元。
在具体应用本发明时,首先控制器给出信号,控制位线控制单元选通训练模块、控制字线控制单元选通接地,如附图4所示。对每个阻变存储单元的电阻值进行调整。训练模块为一个信号发生器,产生足够大的直流电压或多个电压脉冲,具体视应用的阻变存储单元的材料而定。通过不断的擦除、编程过程对阻变存储单元的电阻值进行调整直至符合理论设定值。如何得到理论设定值将在后文具体给出。将每个阻变存储单元的电阻值调整之后,即将卷积核存入阻变存储阵列后,即可进行运算,即控制器给出信号控制位线控制单元选通输入模块、控制字线控制单元选通输出模块,如附图5所示,并且控制器控制输入模块产生输入信号。输入模块为电压信号发生器,输入电压信号的大小与输入矩阵中元素的大小成正比关系。需要注意的是最大的输入电压不能大于阻变存储单元的编程/擦写电压,以防止运算过程改变已存入的卷积核大小。附图5同时给出了一个优选的输出模块具体电路结构图,输出模块可由一个输入端接固定电阻负载的差分放大器组成,该固定电阻的大小要求远小于阻变存储器的低阻态电阻,可取阻变存储器低阻态电阻的1/10。差分放大器的输出可以是电流信号也可以是电压信号,视级联的运算要求而定,差分放大器的放大倍数视具体应用而定。
附图6给出利用本发明进行并行卷积计算的方法以及具体的阻变存储单元的阻值设定。受篇幅所制,以3x3的输入矩阵、2x2的卷积核矩阵为例说明,如附图6a所示,输入为x1~x9,卷积核为w1~w4,输入与输入电压成正比,即Vi=xi卷积核则与阻变存储单元电阻成反比,即与其电导成正比,即Rj=1/w4-j(这里Ri对应w4-i是根据卷积定义,卷积核旋转所导致的)。根据欧姆定律有:Ii=Vi/Rj=xiw4-j,即阻变存储单元上的电流正比于输入矩阵中元素与旋转后的卷积核中对应的元素的乘积;利用电流的基尔霍夫定律,同一字线上流过的电流即为乘积和,即卷积和。在计算电阻设定值时,应首先测得阻变器件电阻的变化范围,尤其是其最低电阻值。令该最小电阻值与卷积核中的最大元素相对应,求出比值,再进行其他元素与电阻值的反比对应。这样本发明利用硬件的物理特性直接实现了乘积和的计算,即卷积计算,并且实现了在卷积核的存储位置直接计算,即存储计算一体化,相比于基于CMOS电路的软件计算,极大地减小了功耗及器件消耗。
更普遍地,对于卷积中存在负数的情况,例如w1,w2<0,可将两条字线接入一个差分放大器来实现实数域卷积核的计算,如图6b所示。具体规则如下:两条字线中的一条作为正输出线,将卷积核中的正元素按位对应写入该字线的阻变器件中,该字线连入差分放大器的正输入端;另一条字线作为负输出线,将卷积核中的负元素按位对应写入该字线的阻变器件中,该字线连入差分放大器的负输入端;这样差分放大器的输出与正负电流和的差成正比,完成了实数域的卷积核的计算。需要指出的是如果卷积核中元素均为正或均为负,一条字线即可输出一个卷积结果,根据需要的输出是电压或电流信号,输出模块可以是小电阻负载或电流放大器。
卷积的并行计算方式同时由附图6b给出示意。由于输入矩阵一般较卷积核矩阵大,计算一个卷积时输入矩阵只有一部分与卷积核进行对应位相乘并求和的运算。传统方法是利用时序信号,将输入矩阵分若干次输入,每次输入输入矩阵的一部分,是一种串行计算的方法。在本发明中,所有输入矩阵的元素同时正比地转化为电压信号施加在不同位线上,将参与运算的输入元素所对应位线与代表该卷积运算的字线的交叉点上的阻变存储单元进行阻值调整,而不参与这个卷积运算的输入对应的位线与该卷积运算对应字线的交叉点上的阻变存储单元则设定为高阻态。由于阻变存储器件的高阻态电阻远大于低阻态电阻,即高阻态单元中流过的电流可忽略不计,不影响电流输出,即不影响计算结果。具体举例来说,在附图6b中,第1,2字线共同协作得到第一个卷积输出Y1,从附图6a可知,Y1=x1w4+x2w3+x4w2+x5w1,即输入信号中只有x1,x2,x4,x5在此卷积计算中起作用,并且w1,w2<0,则正输入字线与x1,x2位线交叉点上的阻变存储单元在训练模式中被调整到相应阻值R1=1/w4,R2=1/w3;负输入字线与x4,x5位线交叉点上的阻变存储单元在训练中被调整到相应阻值R3=-1/w2,R4=-1/w1;其余不参与此次卷积运算且在此正负字线上的阻变存储单元均被调整到高阻态,则Y1=(V1/R1+V2/R2)-(V4/R3+V5/R4)=x1w4+x2w3+x4w2+x5w1,得到第一个卷积输出。Y2,Y3,Y4同理,可分别由位线(3,4),(5,6),(7,8)给出。本实例只作为举例,实际应用中输入及卷积核矩阵可扩展成任意的m×n矩阵,前提是输入矩阵面积大于卷积核矩阵。利用这种方式,同时实现了所有卷积结果的输出,即实现了卷积的并行计算,极大地加快了运算速度。这种方式对阵列大小的要求是:位线数目等于输入矩阵元素个数,字线数目等于输出矩阵元素个数的二倍。
这种体系结构对于输入矩阵的大小及阻变存储器件的特性具有一定要求。由于阻变存储器件的高阻态实际上是具有一定电阻而非无穷大,所以其上会流过一定的小电流。当输入矩阵足够大时,这些小电流汇聚起来不再能忽略,将影响计算的逻辑正确性。一般性考虑,输入矩阵的元素个数应不大于所使用的阻变器件的高阻态与低阻态电阻比值(高低阻窗口)。这也引出了本发明的一个局限性:在阵列中取高阻态的阻变存储单元实际并不存储卷积核的信息,属于冗余器件;当输入矩阵越大,卷积核越小时,该冗余器件数目越多;同时考虑到冗余器件上的小电流对计算结果的影响,对阻变存储器件的特性要求也就越高。
在根据本发明的上述基于阻变存储器件阵列实现并行卷积计算的设备中,利用阻变存储器存储卷积核并进行卷积计算,由于阻变存储器的可擦写性及非挥发性,不需要电平维持,并且支持卷积核的重写,降低了功耗,提高了器件利用率。输出端可以输出电压信号,与输入端的输入信号类型相同,即该体系结构可轻易拓展到多层卷积计算,为硬件实现卷积神经网络奠定了基础。
尽管已经参考本发明的典型实施例,具体示出和描述了本发明,但本领域普通技术人员应当理解,在不脱离所附权利要求所限定的本发明的精神和范围的情况下,可以对这些实施例进行形式和细节上的多种改变。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于阻变存储器件阵列实现并行卷积计算的设备,包括:阻变存储器件阵列、训练模块、输入模块、位线控制单元、字线控制单元、输出模块以及控制器;
所述阻变存储器件阵列,包括沿第一方向延伸的多条字线,沿与第一方向交叉的第二方向延伸的多条位线,以及设置于各位线和各字线的交叉点处的多个阻变运算存储子单元;
所述位线控制单元,其一端连接到位线,另一端连接到输入模块以及训练模块;
所述字线控制单元,其一端连接到字线,另一端连接输出模块或接地;
所述控制器,控制位线一端选通训练模块及字线一端选通地线,或控制位线一端选通输入模块及字线一端选通输出模块,用于控制输出模块中得到的不同卷积结果组合,并输出传递到下一级存储器或运算装置。
2.根据权利要求1所述的基于阻变存储器件阵列实现并行卷积计算的设备,其中所述的阻变运算存储子单元包括基于氧化物的阻变存储器RRAM、基于金属离子氧化还原的阻变存储器CBRAM、相变存储器PCM、磁阻存储器MRAM中的至少一个,所述阻变运算存储子单元依赖于电阻变化进行信息存储和运算。
3.根据权利要求1所述的基于阻变存储器件阵列实现并行卷积计算的设备,其中所述阻变运算存储子单元是单独的阻变器件或者是阻变器件和双向选择器件串联的结构。
4.根据权利要求1所述的基于阻变存储器件阵列实现并行卷积计算的设备,其中训练模块是信号发生器,用于生成一个连续的正脉冲或负脉冲。
5.根据权利要求1所述的基于阻变存储器件阵列实现并行卷积计算的设备,其中输入模块是信号发生器,用于发生一系列连续正电平。
6.根据权利要求1所述的基于阻变存储器件阵列实现并行卷积计算的设备,其中当控制器的触发信号为训练模式时,位线控制单元选通训练模块,字线控制单元选通地线,利用训练模块产生的脉冲信号对阻变存储子单元的电阻态进行训练,利用不同脉冲个数调整阻变存储子单元的电阻态,即电导值,使其正比于待计算的卷积核的值,实现卷积核中元素的存储;卷积核中的正元素存储在阻变存储阵列的同一字线上,负元素存储在相邻的下一字线上,相邻两条字线共同实现一个卷积核的存储。
7.根据权利要求1所述的基于阻变存储器件阵列实现并行卷积计算的设备,其中当控制器的触发信号为运算模式时,位线控制单元选通输入模块,字线控制单元选通输出模块,输入模块产生与待进行卷积运算的输入矩阵成正比的电平信号,相邻两字线分别连接到同一输出模块的正输入端和负输入端,输出端的电压或电流信号即代表卷积计算的结果,实现对单个卷积的计算。
8.根据权利要求1所述的基于阻变存储器件阵列实现并行卷积计算的设备,其中在位线及字线方向进行扩展可进行多个卷积的并行计算,扩展方式如下:将待进行卷积运算的矩阵的所有元素均作为输入通过输入模块进行输入,位线的数目即等于输入矩阵所有元素的个数;在训练模式中,对于同一字线,对与输入矩阵的一个待卷积计算的区域相对应的位线交叉点上的阻变存储设备进行阻值调整,按位对应存储一个卷积核;对该字线上的其他阻变存储设备进行置高阻态操作;每两条字线输出一个卷积结果,字线的数目等于对整个输入矩阵做卷积计算后输出矩阵的元素个数的二倍。
9.根据权利要求1到8中任一项所述的基于阻变存储器件阵列实现并行卷积计算的设备,还包括对上述卷积运算进行级联或重构。
10.一种基于阻变存储器件阵列实现并行卷积计算的方法,其特征在于,包括如下步骤:
S101:对阻变存储器件阵列中阻变存储子单元的电阻态进行训练,利用不同脉冲个数调整阻变存储子单元的电阻态,使其正比于待计算的卷积核的值,产生卷积核矩阵;以及产生与待进行卷积运算的输入矩阵成正比的电平信号,产生输入矩阵,输入矩阵面积大于卷积核矩阵;
S102:实现卷积核矩阵的旋转180°,将旋转180°后的卷积核首先与输入矩阵的左上角部分重叠;
S103:计算该重叠部分的对应元素乘积并求和,作为第一个输出结果;S104:旋转后的卷积核向x方向平移一位,继续计算重叠部分的乘积和作为下一个输出结果,直到x方向全部重叠过,则卷积核向y方向平移一位并平移到x方向的起始点进行计算,重复以上过程直至输入矩阵中的元素全被卷积核覆盖过。
CN201610930552.1A 2016-10-31 2016-10-31 基于阻变存储器件阵列实现并行卷积计算的设备和方法 Active CN106530210B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610930552.1A CN106530210B (zh) 2016-10-31 2016-10-31 基于阻变存储器件阵列实现并行卷积计算的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610930552.1A CN106530210B (zh) 2016-10-31 2016-10-31 基于阻变存储器件阵列实现并行卷积计算的设备和方法

Publications (2)

Publication Number Publication Date
CN106530210A true CN106530210A (zh) 2017-03-22
CN106530210B CN106530210B (zh) 2019-09-06

Family

ID=58292222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610930552.1A Active CN106530210B (zh) 2016-10-31 2016-10-31 基于阻变存储器件阵列实现并行卷积计算的设备和方法

Country Status (1)

Country Link
CN (1) CN106530210B (zh)

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229598A (zh) * 2017-04-21 2017-10-03 东南大学 一种面向卷积神经网络的低功耗电压可调卷积运算模块
CN107368889A (zh) * 2017-06-01 2017-11-21 北京大学 基于阻变存储器三维交叉阵列的卷积、池化和激活电路
CN108073984A (zh) * 2017-12-27 2018-05-25 宁波山丘电子科技有限公司 一种基于神经网络的存储模块及存储模组
CN108182959A (zh) * 2018-01-22 2018-06-19 中国科学院微电子研究所 基于阻变器件交叉阵列结构实现逻辑计算的方法
CN108665061A (zh) * 2017-03-28 2018-10-16 华为技术有限公司 数据处理装置和用于卷积计算的计算设备
WO2018228424A1 (zh) * 2017-06-16 2018-12-20 华为技术有限公司 一种神经网络训练方法和装置
WO2018228295A1 (zh) * 2017-06-16 2018-12-20 华为技术有限公司 一种支撑基于 rram 的神经网路训练的外围电路及系统
CN109065089A (zh) * 2018-07-26 2018-12-21 杭州闪亿半导体有限公司 一种用于卷积运算的存储模块、模组
CN109284474A (zh) * 2018-08-13 2019-01-29 北京大学 一种加法器辅助实现图像卷积运算的闪存系统及方法
CN109448068A (zh) * 2018-10-16 2019-03-08 西南大学 一种基于忆阻器交叉阵列的图像重构系统
CN109492187A (zh) * 2017-09-11 2019-03-19 三星电子株式会社 用于执行模拟复向量矩阵乘法的方法和系统
CN109635941A (zh) * 2018-11-06 2019-04-16 华中科技大学 一种基于1t1r存储器件的最大池化处理器
TWI657443B (zh) * 2018-03-19 2019-04-21 旺宏電子股份有限公司 記憶體裝置及其操作方法
CN109754061A (zh) * 2017-11-07 2019-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN109858261A (zh) * 2019-01-18 2019-06-07 芜湖智久机器人有限公司 一种数据存储介质、加密方法
WO2019136751A1 (zh) * 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 人工智能并行处理方法、装置、可读存储介质、及终端
CN110390391A (zh) * 2019-07-24 2019-10-29 中国科学院微电子研究所 一种基于三维卷积神经网络的映射装置及方法
CN110569962A (zh) * 2019-08-08 2019-12-13 华中科技大学 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法
CN110826709A (zh) * 2019-10-18 2020-02-21 华中科技大学 一种基于三维相变存储器的3d卷积运算装置及方法
CN110866596A (zh) * 2018-08-28 2020-03-06 东芝存储器株式会社 半导体集成电路
CN111260047A (zh) * 2018-11-30 2020-06-09 旺宏电子股份有限公司 使用存储器内运算的卷积加速器
CN111295675A (zh) * 2017-11-14 2020-06-16 三星电子株式会社 用于使用内核来处理卷积运算的设备和方法
CN111368253A (zh) * 2018-12-26 2020-07-03 北京兆易创新科技股份有限公司 一种基于非易失存储器的卷积运算方法以及装置
US10719296B2 (en) 2018-01-17 2020-07-21 Macronix International Co., Ltd. Sum-of-products accelerator array
CN111652363A (zh) * 2020-06-08 2020-09-11 中国科学院微电子研究所 存算一体电路
US10783963B1 (en) 2019-03-08 2020-09-22 Macronix International Co., Ltd. In-memory computation device with inter-page and intra-page data circuits
CN111899147A (zh) * 2020-06-16 2020-11-06 北京大学 一种卷积核计算加速器及卷积核计算方法
CN112464156A (zh) * 2020-12-17 2021-03-09 长江先进存储产业创新中心有限责任公司 矩阵与向量的乘法运算方法及装置
US10957392B2 (en) 2018-01-17 2021-03-23 Macronix International Co., Ltd. 2D and 3D sum-of-products array for neuromorphic computing system
CN112633487A (zh) * 2020-12-25 2021-04-09 北京大学 一种卷积神经网络最大池化层电路
CN112639797A (zh) * 2018-10-11 2021-04-09 Tdk株式会社 积和运算器、逻辑运算器件、神经形态器件及积和运算方法
CN112926726A (zh) * 2017-04-27 2021-06-08 苹果公司 用于交织通道数据的可配置卷积引擎
US11119674B2 (en) 2019-02-19 2021-09-14 Macronix International Co., Ltd. Memory devices and methods for operating the same
US11132176B2 (en) 2019-03-20 2021-09-28 Macronix International Co., Ltd. Non-volatile computing method in flash memory
US11138497B2 (en) 2018-07-17 2021-10-05 Macronix International Co., Ltd In-memory computing devices for neural networks
WO2022135009A1 (zh) * 2020-12-24 2022-06-30 浙江驰拓科技有限公司 一种存储计算阵列以及一种数据读写计算方法
US11636325B2 (en) 2018-10-24 2023-04-25 Macronix International Co., Ltd. In-memory data pooling for machine learning
WO2023173530A1 (zh) * 2022-03-18 2023-09-21 华中科技大学 一种卷积运算加速器及卷积运算方法
US11874898B2 (en) 2018-01-15 2024-01-16 Shenzhen Corerain Technologies Co., Ltd. Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal
US11934480B2 (en) 2018-12-18 2024-03-19 Macronix International Co., Ltd. NAND block architecture for in-memory multiply-and-accumulate operations
CN117893396A (zh) * 2024-01-26 2024-04-16 之江实验室 一种基于阻变存储器的图像边缘检测任务执行方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1916959A (zh) * 2006-08-29 2007-02-21 中国航天时代电子公司第七七一研究所 可缩放大规模二维卷积电路
WO2008153194A1 (en) * 2007-06-15 2008-12-18 Canon Kabushiki Kaisha Calculation processing apparatus and method
CN102208005A (zh) * 2011-05-30 2011-10-05 华中科技大学 一种2-d卷积器
CN104898990A (zh) * 2015-06-05 2015-09-09 北京大学 运算存储阵列及其操作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1916959A (zh) * 2006-08-29 2007-02-21 中国航天时代电子公司第七七一研究所 可缩放大规模二维卷积电路
WO2008153194A1 (en) * 2007-06-15 2008-12-18 Canon Kabushiki Kaisha Calculation processing apparatus and method
CN102208005A (zh) * 2011-05-30 2011-10-05 华中科技大学 一种2-d卷积器
CN104898990A (zh) * 2015-06-05 2015-09-09 北京大学 运算存储阵列及其操作方法

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665061A (zh) * 2017-03-28 2018-10-16 华为技术有限公司 数据处理装置和用于卷积计算的计算设备
CN107229598A (zh) * 2017-04-21 2017-10-03 东南大学 一种面向卷积神经网络的低功耗电压可调卷积运算模块
CN112926726A (zh) * 2017-04-27 2021-06-08 苹果公司 用于交织通道数据的可配置卷积引擎
CN107368889B (zh) * 2017-06-01 2019-08-23 北京大学 基于阻变存储器三维交叉阵列的卷积、池化和激活电路
CN107368889A (zh) * 2017-06-01 2017-11-21 北京大学 基于阻变存储器三维交叉阵列的卷积、池化和激活电路
US11475300B2 (en) 2017-06-16 2022-10-18 Huawei Technologies Co., Ltd. Neural network training method and apparatus
CN109146070B (zh) * 2017-06-16 2021-10-22 华为技术有限公司 一种支撑基于rram的神经网络训练的外围电路及系统
CN109146070A (zh) * 2017-06-16 2019-01-04 华为技术有限公司 一种支撑基于rram的神经网路训练的外围电路及系统
WO2018228295A1 (zh) * 2017-06-16 2018-12-20 华为技术有限公司 一种支撑基于 rram 的神经网路训练的外围电路及系统
US11409438B2 (en) 2017-06-16 2022-08-09 Huawei Technologies Co., Ltd. Peripheral circuit and system supporting RRAM-based neural network training
WO2018228424A1 (zh) * 2017-06-16 2018-12-20 华为技术有限公司 一种神经网络训练方法和装置
CN109492187B (zh) * 2017-09-11 2023-03-24 三星电子株式会社 用于执行模拟复向量矩阵乘法的方法和系统
CN109492187A (zh) * 2017-09-11 2019-03-19 三星电子株式会社 用于执行模拟复向量矩阵乘法的方法和系统
CN109754061B (zh) * 2017-11-07 2023-11-24 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN109754061A (zh) * 2017-11-07 2019-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN111295675A (zh) * 2017-11-14 2020-06-16 三星电子株式会社 用于使用内核来处理卷积运算的设备和方法
CN108073984B (zh) * 2017-12-27 2021-12-31 上海闪易半导体有限公司 一种基于神经网络的存储模块及存储模组
CN108073984A (zh) * 2017-12-27 2018-05-25 宁波山丘电子科技有限公司 一种基于神经网络的存储模块及存储模组
WO2019136751A1 (zh) * 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 人工智能并行处理方法、装置、可读存储介质、及终端
US11874898B2 (en) 2018-01-15 2024-01-16 Shenzhen Corerain Technologies Co., Ltd. Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal
US10957392B2 (en) 2018-01-17 2021-03-23 Macronix International Co., Ltd. 2D and 3D sum-of-products array for neuromorphic computing system
US10719296B2 (en) 2018-01-17 2020-07-21 Macronix International Co., Ltd. Sum-of-products accelerator array
CN108182959B (zh) * 2018-01-22 2021-02-23 中国科学院微电子研究所 基于阻变器件交叉阵列结构实现逻辑计算的方法
CN108182959A (zh) * 2018-01-22 2018-06-19 中国科学院微电子研究所 基于阻变器件交叉阵列结构实现逻辑计算的方法
TWI657443B (zh) * 2018-03-19 2019-04-21 旺宏電子股份有限公司 記憶體裝置及其操作方法
US11138497B2 (en) 2018-07-17 2021-10-05 Macronix International Co., Ltd In-memory computing devices for neural networks
CN109065089B (zh) * 2018-07-26 2020-11-06 杭州闪亿半导体有限公司 一种用于卷积运算的存储模块、模组
CN109065089A (zh) * 2018-07-26 2018-12-21 杭州闪亿半导体有限公司 一种用于卷积运算的存储模块、模组
CN109284474A (zh) * 2018-08-13 2019-01-29 北京大学 一种加法器辅助实现图像卷积运算的闪存系统及方法
CN110866596A (zh) * 2018-08-28 2020-03-06 东芝存储器株式会社 半导体集成电路
CN110866596B (zh) * 2018-08-28 2024-01-30 铠侠股份有限公司 半导体集成电路
CN112639797A (zh) * 2018-10-11 2021-04-09 Tdk株式会社 积和运算器、逻辑运算器件、神经形态器件及积和运算方法
CN109448068A (zh) * 2018-10-16 2019-03-08 西南大学 一种基于忆阻器交叉阵列的图像重构系统
US11636325B2 (en) 2018-10-24 2023-04-25 Macronix International Co., Ltd. In-memory data pooling for machine learning
US11416744B2 (en) 2018-11-06 2022-08-16 Huazhong University Of Science And Technology Max pooling processor based on 1T1R memory
CN109635941A (zh) * 2018-11-06 2019-04-16 华中科技大学 一种基于1t1r存储器件的最大池化处理器
CN109635941B (zh) * 2018-11-06 2022-02-15 华中科技大学 一种基于1t1r存储器件的最大池化处理器
WO2020093726A1 (zh) * 2018-11-06 2020-05-14 华中科技大学 一种基于1t1r存储器件的最大池化处理器
CN111260047A (zh) * 2018-11-30 2020-06-09 旺宏电子股份有限公司 使用存储器内运算的卷积加速器
US11562229B2 (en) 2018-11-30 2023-01-24 Macronix International Co., Ltd. Convolution accelerator using in-memory computation
US11934480B2 (en) 2018-12-18 2024-03-19 Macronix International Co., Ltd. NAND block architecture for in-memory multiply-and-accumulate operations
CN111368253B (zh) * 2018-12-26 2023-09-26 兆易创新科技集团股份有限公司 一种基于非易失存储器的卷积运算方法以及装置
CN111368253A (zh) * 2018-12-26 2020-07-03 北京兆易创新科技股份有限公司 一种基于非易失存储器的卷积运算方法以及装置
CN109858261A (zh) * 2019-01-18 2019-06-07 芜湖智久机器人有限公司 一种数据存储介质、加密方法
US11119674B2 (en) 2019-02-19 2021-09-14 Macronix International Co., Ltd. Memory devices and methods for operating the same
US10783963B1 (en) 2019-03-08 2020-09-22 Macronix International Co., Ltd. In-memory computation device with inter-page and intra-page data circuits
US11132176B2 (en) 2019-03-20 2021-09-28 Macronix International Co., Ltd. Non-volatile computing method in flash memory
CN110390391B (zh) * 2019-07-24 2021-08-03 中国科学院微电子研究所 一种基于三维卷积神经网络的映射装置及方法
CN110390391A (zh) * 2019-07-24 2019-10-29 中国科学院微电子研究所 一种基于三维卷积神经网络的映射装置及方法
CN110569962A (zh) * 2019-08-08 2019-12-13 华中科技大学 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法
CN110826709A (zh) * 2019-10-18 2020-02-21 华中科技大学 一种基于三维相变存储器的3d卷积运算装置及方法
WO2021073104A1 (zh) * 2019-10-18 2021-04-22 华中科技大学 一种基于三维相变存储器的3d卷积运算装置及方法
US11989644B2 (en) 2019-10-18 2024-05-21 Huazhong University Of Science And Technology Three-dimensional convolution operation device and method based on three-dimensional phase change memory
CN110826709B (zh) * 2019-10-18 2021-04-06 华中科技大学 一种基于三维相变存储器的3d卷积运算装置及方法
WO2021248643A1 (zh) * 2020-06-08 2021-12-16 中国科学院微电子研究所 存算一体电路
CN111652363B (zh) * 2020-06-08 2023-09-19 中国科学院微电子研究所 存算一体电路
CN111652363A (zh) * 2020-06-08 2020-09-11 中国科学院微电子研究所 存算一体电路
CN111899147A (zh) * 2020-06-16 2020-11-06 北京大学 一种卷积核计算加速器及卷积核计算方法
CN112464156A (zh) * 2020-12-17 2021-03-09 长江先进存储产业创新中心有限责任公司 矩阵与向量的乘法运算方法及装置
WO2022135009A1 (zh) * 2020-12-24 2022-06-30 浙江驰拓科技有限公司 一种存储计算阵列以及一种数据读写计算方法
CN112633487B (zh) * 2020-12-25 2022-05-20 北京大学 一种卷积神经网络最大池化层电路
CN112633487A (zh) * 2020-12-25 2021-04-09 北京大学 一种卷积神经网络最大池化层电路
WO2023173530A1 (zh) * 2022-03-18 2023-09-21 华中科技大学 一种卷积运算加速器及卷积运算方法
CN117893396A (zh) * 2024-01-26 2024-04-16 之江实验室 一种基于阻变存储器的图像边缘检测任务执行方法及装置

Also Published As

Publication number Publication date
CN106530210B (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN106530210B (zh) 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN106847335B (zh) 基于阻变存储阵列的卷积计算存储一体化设备及方法
CN106843809B (zh) 一种基于nor flash阵列的卷积运算方法
JP7130766B2 (ja) 効率的な行列乗算のためのシステムおよび方法
CN108921290B (zh) 神经突触单元电路、神经网络电路和信息处理系统
Woo et al. Resistive memory-based analog synapse: The pursuit for linear and symmetric weight update
DE112018005726B4 (de) Resistive verarbeitungseinheit auf zählerbasis für programmierbare und rekonfigurierbare künstliche neuronale netzwerke
Cruz-Albrecht et al. A scalable neural chip with synaptic electronics using CMOS integrated memristors
US11055608B2 (en) Convolutional neural network
CN107533862A (zh) 用于计算矩阵乘法的交叉阵列
CN107368889B (zh) 基于阻变存储器三维交叉阵列的卷积、池化和激活电路
Merrikh-Bayat et al. Memristor crossbar-based hardware implementation of the IDS method
US20220277199A1 (en) Method for data processing in neural network system and neural network system
CN107533858A (zh) 用于计算矩阵乘法的交叉杆阵列
Indiveri et al. ReRAM‐Based Neuromorphic Computing
CN109448068B (zh) 一种基于忆阻器交叉阵列的图像重构系统
Milo et al. Optimized programming algorithms for multilevel RRAM in hardware neural networks
CN110383282A (zh) 用于混合信号计算的系统和方法
Hassan et al. Hybrid spiking-based multi-layered self-learning neuromorphic system based on memristor crossbar arrays
CN113222128A (zh) 基于忆阻器的2t1r阵列及其并行操作方法和算法
CN108154225B (zh) 一种使用模拟计算的神经网络芯片
Tosson et al. Analysis of RRAM reliability soft-errors on the performance of RRAM-based neuromorphic systems
KR20180072259A (ko) 메모리 및 논리소자 통합형 소프트 전자 시스템
CN108073982A (zh) 类脑计算系统
CN109977470A (zh) 一种基于忆阻Hopfield神经网络实现稀疏编码的电路及其操作方法

Legal Events

Date Code Title Description
C06 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