CN109902822B - 基于斯格明子赛道存储器的内存计算系统及方法 - Google Patents

基于斯格明子赛道存储器的内存计算系统及方法 Download PDF

Info

Publication number
CN109902822B
CN109902822B CN201910173095.XA CN201910173095A CN109902822B CN 109902822 B CN109902822 B CN 109902822B CN 201910173095 A CN201910173095 A CN 201910173095A CN 109902822 B CN109902822 B CN 109902822B
Authority
CN
China
Prior art keywords
memory
nmos
racetrack
data
weight
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
CN201910173095.XA
Other languages
English (en)
Other versions
CN109902822A (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.)
Beihang University
Hefei Innovation Research Institute of Beihang University
Original Assignee
Beihang University
Hefei Innovation Research Institute of Beihang 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 Beihang University, Hefei Innovation Research Institute of Beihang University filed Critical Beihang University
Priority to CN201910173095.XA priority Critical patent/CN109902822B/zh
Priority to PCT/CN2019/084297 priority patent/WO2020177202A1/zh
Priority to US17/043,677 priority patent/US11151439B2/en
Publication of CN109902822A publication Critical patent/CN109902822A/zh
Application granted granted Critical
Publication of CN109902822B publication Critical patent/CN109902822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1653Address circuits or decoders
    • G11C11/1655Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1653Address circuits or decoders
    • G11C11/1657Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/161Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Semiconductor Memories (AREA)

Abstract

本发明的一种基于斯格明子赛道存储器的内存计算系统及方法,可解决二进制卷积神经网络稀疏性问题,并且降低计算功耗。包括SRM‑CIM的电路架构,SRM‑CIM的电路架构包括行译码器Row Decoder、列译码器Column Decoder、电压驱动Voltage Supplier、存储阵列、感应电路MSC、计数器Bit‑counter和模式控制器MC;所述电压驱动Voltage Supplier包括两个NMOS,所述两个NMOS分别和一个选择器MUX连接;所述感应电路MSC利用预充电读出放大器PCSA比较节点ab和节点cd之间的电阻大小;所述存储阵列采用斯格明子赛道存储器构成。本发明利用斯格明子赛道存储器设计内存计算架构,不仅在内存中实现存储,而且可以在内存进行计算操作。本发明有效支持二进制卷积计算,充分利用SRM的移位特性,减少数据内存访问冗余,减少了计算负担,大大降低功耗。

Description

基于斯格明子赛道存储器的内存计算系统及方法
技术领域
本发明涉及计算机技术领域,具体涉及一种基于斯格明子赛道存储器的内存计算系统及方法。
背景技术
卷积神经网络可应用到在人脸识别、语音识别等方面,这些在物联网领域都有着广泛的应用。但是,这些需要使用大量的数据进行像乘法这样的高耗能的计算。这与人工智能设备超低功耗的需求是矛盾的。二进制卷积神经网络(BCNN)通过将输入和权值转换为二进制值(“1”或“-1”),从而大大减少运算数据,进而降低功耗,而且并没有因为减少运算数据带来较大精度损失。同时,二进制卷积运算中复杂的乘法运算可以被替换为与运算,与运算在电路上更容易实现,需要更少的能量消耗。
但是,内存单元和处理单元之间的数据传输仍然消耗大量的计算资源。前人的一些工作采用内存计算的方法解决了数据传输瓶颈问题。然而,这些设计都是基于易失性存储器SRAM,但由于SRAM本身的限制(如面积大、漏电流大等),这些设计仍然性能受到限制。
非易失性存储器,如电阻式随机存取存储器(RRAM)、自旋磁矩磁性随机存取存储器(SOT-MRAM)、域壁存储器(DWM)和斯格明子赛道存储器(SRM),由于其独特的性能,如接近于零的静态能耗和高集成度等,有望取代SRAM。在这些非易失性存储器中,DWM以其高集成度、低功耗等特点受到了广泛的研究。近年来,SRM因其体积小(可达数纳米),移位电流(106A/m2)较DWM(1011-1012A/m2)小而备受关注。
发明内容
本发明提出的一种基于斯格明子赛道存储器的内存计算系统和方法,可解决二进制卷积神经网络稀疏性问题,并且降低计算功耗。
为实现上述目的,本发明采用了以下技术方案:
一种基于斯格明子赛道存储器的内存计算系统,包括SRM-CIM的电路架构,所述SRM-CIM的电路架构包括行译码器Row Decoder、列译码器Column Decoder、电压驱动Voltage Supplier、存储阵列、感应电路MSC、计数器Bit-counter和模式控制器MC;
其中,所述电压驱动Voltage Supplier包括两个NMOS,所述两个NMOS漏极分别连接为写操作和读操作提供电压的电压源,源极接地,栅极接入三选一选择器MUX;还包括一根导线与两个NMOS并联接入三选一选择器,代表读操作、与操作和异或操作所需位线BL电压为0;在模式控制器MC发出的控制信号CS的控制下,选择器选通相应的NMOS或导线,根据工作模式提供驱动电压;
所述感应电路MSC利用预充电读出放大器PCSA比较节点ab和节点cd之间的电阻大小;
所述节点ab分别连接电路的位线BL和源线SL,所述节点cd之间连接参考电阻;
所述参考电阻在不同工作模式下需要不同的电阻值,其中,三个NMOS分别串联为读操作提供电阻值的MTJ Rrefr、为异或操作提供电阻值的MTJ Rrefx和为与操作提供电阻值的MTJ Rrefa,然后并联漏极接入节点c,源极接入节点d,栅极接入三选一选择器MUX,选择器在控制信号CS的控制下,选通相应的NMOS,根据工作模式选通相应的参考电阻;
所述存储阵列采用斯格明子赛道存储器构成。
进一步的,所述预充电读出放大器PCSA包括四个PMOS和两个NMOS连接,如果节点ab之间的电阻Rab大于节点cd之间的电阻Rcd,Qm输出0而
Figure GDA0002809954070000021
输出1;反之,如果Rab小于Rcd,Qm输出1而
Figure GDA0002809954070000022
输出0。
进一步的,所述SRM-CIM的电路架构为纳米赛道,包括铁磁层ferromagnetic、重金属层heavy metal和基底sustrate三层;
赛道上通过一个NMOS串联写入MTJ至位线BL和源线SL,NMOS栅极连接写入字线WWL,为写端口,控制斯格明子的生成;
赛道上通过一个NMOS串联读出MTJ至位线BL和源线SL,NMOS的栅极连接读取字线RWL,为读端口,控制斯格明子的检测,在MTJ读头上显示的不同电阻值分别代表数据“1”和“0”;
赛道两侧分别串联NMOS至位线BL和源线SL,两个NMOS栅极连接移位字线SWL,为移位端口,控制斯格明子的移动。
进一步的,所述存储阵列包括垂直赛道群VRG和水平赛道群HRG,所述垂直赛道群VRG和水平赛道群HRG分别采用斯格明子赛道存储器构成;
在垂直赛道群VRG里,斯格明子赛道存储器竖直连接;
在水平赛道群HRG里,斯格明子赛道存储器水平连接。
另一方面本发明还公开一种基于斯格明子赛道存储器的内存计算方法,采用上述的基于斯格明子赛道存储器的内存计算系统,包括二进制卷积神经网络卷积过程,具体包括以下步骤,
输入input为m×m的矩阵,权重weight为n×n的矩阵,其中n小于m;权重矩阵在输入矩阵上扫描,相应的权重向量和输入向量进行卷积计算;
所述卷积计算公式表示为:
I&W=Bit-count(I(B)&W(B))
其中I和W分别为输入和权重向量,I(B)和W(B)分别为输入和权重里每位上的二进制数。
进一步的,还包括二进制卷积神经网络卷积过程的移位方法,具体包括:
如果n×n的权重在m×m的输入上扫描,步长为l,则
S1、将权值数据和输入数据都按原始顺序存储在存储阵列中,输入存储到的水平赛道群HRG部分,权重存储到的垂直赛道群VRG部分;
S2、权重和对应输入进行卷积计算;
S3、权重向右移动l个单位长度,与对应输入进行卷积计算;
S4、重复步骤S3
Figure GDA0002809954070000031
次;
S5、输入向上移动l个单位长度,权重移动到左侧初始位置;
S6、重复步骤S2、S3、S4;
S7、重复步骤S5、S6
Figure GDA0002809954070000032
次。
进一步的,还包括二进制卷积神经网络卷积过程写入向量的步骤:
启用WWL,并在BL和SL之间设置正电压,在写入头的赛道上写入“1”;如果要写入数据“0”,无需任何操作;
启用SWLs,在BL和SL之间设置一个正电压,将刚写入的数据向下移动到下一个单元,继续在写入头写入下一个数据。
进一步的,包括读取操作步骤,
如果读头所存数据为1,读头的电阻值用R1表示;反之读头所存数据为0,读头的电阻值用R0表示;参考电阻用Rref表示,R1>Rrefr>R0;
当启用RWL且Vread为0V时,将基于MSC从“0”读取数据。
进一步的,还包括异或操作步骤,
在异或操作中,参考电阻Rrefx与Rij取值的关系为R11>R10=R01>Rrefx>R00;
需要两个步骤得到异或操作结果:
第一步,MSC执行与操作,将输出信号“0”传递给模式控制器MC;
第二步,根据“0”信号,MC输出控制信号CS,判断是否启用Rrefx,然后使用PCSA得到XOR结果;
如果“0”在步骤一中输出“1”,则表示要访问的数据为“1”,MC不启用任何参考电阻,使节点c和d断开,因此“0”在步骤二中输出“0”;否则,如果“0”在步骤一输出“0”,MC将启用参考电阻Rrefx,然后“0”输出其他情况下的XOR结果。
由上述技术方案可知,本发明利用斯格明子赛道存储器设计内存计算架构,不仅在内存中实现存储,而且可以在内存进行计算操作。本发明有效支持二进制卷积计算,充分利用SRM的移位特性,减少数据内存访问冗余,解决了BCNN稀疏性问题,减少了计算负担,大大降低功耗。
同时,本发明针对广泛应用于物联网领域的卷积神经网络,基于斯格明子赛道存储器,提出了一种超低功耗内存计算架构(SRM-CIM),该架构可以同时执行存储操作和内存中计算操作(与操作和异或操作)。本发明可实现2×2内核在64×64的输入上完成一次卷积扫描过程只需要26.751nJ的能量,而且执行时间仅仅72.641us。在典型的二进制卷积神经网络比如XNOR-Net情况下,本发明应用于卷积层时,与基于RRAM的等效物相比,所用能量降低了98.7%。
附图说明
图1为本发明实施例斯格明子赛道存储器的原理图;
图2为本发明实施例3×3权重在5×5输入上的卷积扫描过程示意图(步长为2);
图3为本发明实施例卷积计算的移位策略示意图;
图4为本发明实施例SRM-CIM的架构示意图;
图5:为本发明实施例VRG和HRG的结构示意图;
图6为本实施例扫描卷积过程的数据存储和移位示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本实施例利用所设计的电路结构和移位策略完成图2所示的卷积计算操作,具体如下:
图4(a)是SRM-CIM的整体架构,它由行译码器(Row Decoder)、列译码器(ColumnDecoder)、电压驱动(Voltage Supplier)、存储阵列(VRG+HRG)、改进的感应电路(MSC)、计数器(Bit-counter)和模式控制器(MC)组成。
其中电压驱动如图4(b)所示,由两个NMOS和一个选择器连接而成。在模式控制器MC发出的控制信号CS的控制下,选择器选通相应的MOS管或导线,根据不同的工作模式(写操作,移位操作,读操作、与操作、异或操作)提供不同的驱动电压。
其中改进的感应电路(MSC)如图4(c)所示,利用预充电读出放大器(PCSA)可以比较节点ab和cd之间的电阻大小(所存储的数据)。节点ab分别连接电路的位线BL和源线SL,cd之间连接参考电阻。根据不同的操作(读操作、与操作、异或操作)需求,需要在cd间连入不同的阻值的参考电阻。本实施例设计了虚线框内的结构,在控制信号CS的控制下,选择器选通相应操作所需的参考电阻Rrefr,Rrefa,Rrefx。
图5为存储阵列,存储阵列由两部分组成:垂直赛道(VRG)和水平赛道(HRG),输入和权重分别存储在VRG和HRG中。
所述存储阵列VRG和存储阵列HRG采用斯格明子赛道存储器构成。在VRG,斯格明子赛道存储器竖直连接(所存数据可以沿竖直方向移动)。在HRG,斯格明子赛道存储器水平连接(所存数据可以沿水平方向移动)。
首先对组成存储阵列VRG和HRG的斯格明子赛道存储器介绍
其中,数据的存储是基于图1所示的斯格明子赛道存储器(VRG和HRG就是由这些斯格明子赛道组成的)。整个电路为纳米赛道,它由铁磁层、重金属层和基底三层组成。斯格明子(黑色实心圆)是在磁化分布均匀的背景下,具有稳定的螺旋磁序的手性自旋结构。二进制数据“1”(或“0”)可以用赛道上的斯格明子的存在(或不存在)来表示。赛道上通过一个NMOS串联写入MTJ至位线BL和源线SL,NMOS栅极连接写入字线WWL,为写端口,控制斯格明子的生成。赛道上通过一个NMOS串联读出MTJ至位线BL和源线SL,NMOS的栅极连接读取字线RWL,为读端口,控制斯格明子的检测,在MTJ读头上显示的不同电阻值分别代表数据“1”和“0”。赛道两侧分别串联NMOS至位线BL和源线SL,两个NMOS栅极连接移位字线SWL,为移位端口,控制斯格明子的移动。
其次,介绍存储阵列VRG和HRG的内部结构和其存储的二进制数
如图5a为VRG和HRG的内部结构,图5b为对应的二进制数据。
在图5a中,实心黑色圆表示赛道上存在数据为“1”的斯格明子,黑色轮廓的空心圆表示数据为“0”。
下面来说明本发明实施例针对二进制图像卷积过程的移位策略
1、卷积过程介绍
输入input为m×m的矩阵,权重weight为n×n的矩阵,其中n小于m。权重矩阵在输入矩阵上扫描,相应的权重向量和输入向量进行卷积计算。
以图2所示卷积过程为例3×3的权重(灰色部分)矩阵在5×5的输入矩阵(白色部分)上扫描。整个过程包括(a)(b)(c)(d)四个卷积计算。相应的结果是包含四个元素的2×2矩阵,这四个元素分别是这四次卷积计算的结果。每个卷积计算都是将相应的二进制输入和二进制权重对应位进行与操作,然后对每位上的与操作结果进行累加。每个卷积计算公式可以表示为
I&W=Bit-count(I(B)&W(B))
其中I和W分别为输入和权重向量,I(B)和W(B)分别为输入和权重里每位上的二进制数。
2、卷积过程的移位策略
如果n×n的权重在m×m的输入上扫描,步长为l。
1.将权重和输入分别写入HRG和VRG。
2.权重和对应输入进行卷积计算。
3.权重向右移动l个单位长度,与对应输入进行卷积计算。
4.重复步骤3
Figure GDA0002809954070000071
次。
5.输入向上移动l个单位长度,权重移动到左侧初始位置。
6.重复步骤2、3、4。
7.重复步骤5、6
Figure GDA0002809954070000072
次。
具体移位策略参考图3。由图2可以看出相同的权重向量要和不同输入矩阵里的不同块做卷积计算。本发明实施例的移位策略可以只存储一次权重数据和输入数据完成整个卷积扫描过程。避免了数据的存储冗余。过程如图3,在卷积过程之前将权值数据和输入数据都按原始顺序存储在存储阵列中,输入存储到的HRG部分,权重存储到的VRG部分。完成第一次卷积计算后,将权重数据向右移动两个单位长度(根据图2,卷积扫描步长为2),进行第二次卷积计算。然后将输入数据上移两个单位长度;将权值数据左移两个单位长度,来完成第三个卷积计算。最后,再次将权重右移两个单位长度,为第四次卷积计算做准备。
3、完成图2所示的卷积步骤过程的
3.1、将输入和权重按照顺序(存储)写入电路
启用WWL,并在BL和SL之间设置正电压,可在写入头的赛道上写入“1”。如果要写入数据“0”,无需任何操作。启用SWLs,在BL和SL之间设置一个正电压,将刚写入的数据向下移动到下一个单元,这样我们就可以继续在写入头写入下一个数据。
图5展示了每个存储单元对应写入的数据。根据图5,输入矩阵中的(1,0,0,1,1)向量要写入VRG中的第三个赛道,根据设计,写入数据的先后顺序与数据顺序相反,即我们先后写入(1,1,0,0,1),以此为例,介绍写入向量的步骤:首先,启用WWL,并在BL和SL之间设置正电压,我们在写入头的赛道上写入“1”。然后启用SWLs,在BL和SL之间设置一个正电压,将数据“1”向下移动到下一个单元,这样我们就可以在写入头写入下一个数据“1”,因为接下来两个数据都是“0”,我们不需要做任何处理,只需将斯格明子链向下移动两个单位的长度,即写入两个“0”。最后,将斯格明子链向下移动1个单位长度,然后在写头上写入最后一个数据“1”,完成向量(1,0,0,1,1)的写操作。按照这样的思路,输入和权重矩阵的所有向量可并行存储到存储阵列。
3.1.1、写操作的具体步骤
如图3所示,当启用WWL时,在位线(BL)和源线(SL)之间增加正电压,产生自旋极化电流。如果这个电流大于临界电流,则在一段时间后会生成一个表示逻辑数据“1”的斯格明子结构。相反,如果没有斯格明子,则表示逻辑数据“0”。
3.1.2、移位操作具体实现步骤
当赛道两边的SWLs启动,如果在BL和SL之间加一个正向电压,赛道中会产生移位电流。如果移位电流大于移位的临界电流,斯格明子以一定的速度向右移动。(如果BL和SL之间存在适当的负电流,斯格明子会向左移动。)
3.2、完成如图2(a)所示的卷积计算
3.2.1、卷积计算的实现步骤
如图6(a)所示,用黑色实线圈出的输入数据(101,011,100)和权值数据(100,111,011)为要访问的数据。卷积计算的实现需要三个步骤。步骤1:在VRG第一行的输入(1,0,1)和HRG第一行的权值(1,0,0)之间进行与操作:1&1,0&0和1&0。然后将结果传输到位计数器。步骤2和步骤3分别对存储在VRG和HRG的第二行和第三行中的数据执行与步骤1相同的过程。然后经过计数器输出第一个卷积计算(a)的结果。
3.2.2、与运算的具体实现步骤
这里需要用到与操作,具体实现步骤如下:待处理两单元格的结构和运算如图4(c)所示,由Rij给出(i和j分别为逻辑数据“1”和“0”)。Rij是与Rj并联的Ri的阻值(Ri和Rj必须在同一列)。它有四个可能的值R11、R10、R01和R00,如表1所示。Rrefa为c与d之间的参考电阻,R11>Rrefa>R10=R01>R00。当启用两个被访问单元的WLs且Vand为0V时,将基于MSC从(O)输出与操作结果。
3.2.3、完成如图2(b)所示的卷积计算
完成如图2(b)所示的卷积计算。在图6(b)中,启用HRG中的移位端口,使权值(100,111,011)右移两个单位长度。使执行图1(b)中第二次卷积计算所需的输入和权重现在都在同一列中。黑色实线环绕要访问的数据。经过3.2.1描述的卷积计算的三个步骤,我们可以完成第二次卷积计算(b)。
3.2.4、完成如图2(c)和2(d)所示的卷积计算
在图6(c)中,通过启用VRG中的SWLs,我们将输入向上移动了两个单位的长度,以便将上两个卷积计算(c)和(d)中要访问的输入移动到读取头。并且权重都移动到左边为第三个卷积计算(c)做准备。完成卷积计算(c)之后,在图6(d),像如图6(b)一样向右移动权重,我们将实现最后卷积计算(d)。因此,本发明和映射策略可以在不存在内存访问冗余的情况下执行图2中的卷积过程,实现扫描卷积,大大降低了计算能量。
4、本发明实施例还可以实现的其他操作
以上描述的写操作、移位操作、与操作不仅限于卷积计算。另外本设计也可以实现异或操作和存储器常用的读操作。
4.1、读取操作具体步骤
如果读头所存数据为1,读头的电阻值用R1表示;反之读头所存数据为0,读头的电阻值用R0表示。参考电阻用Rref表示。R1>Rrefr>R0,当启用RWL且Vread为0V时,将基于MSC从(O)读取数据。
表1显示了读操作和异或操作的参数。“pre”和“abs”表示赛道上斯格明子的存在和缺失,分别表示逻辑数据“1”和“0”。待读取单元格的结构如图4(c)所示,由Ri表示(i为逻辑数据“1”或“0”)。R1和R0是对应的读头电阻值。Refr为节点c与d之间的参考电阻,它们之间的关系为R1>Rrefr>R0。当启用RWL且Vread为0V时,将基于MSC从(O)读取数据。
表1
Figure GDA0002809954070000101
4.2、异或操作具体步骤
在异或操作中,参考电阻Rrefx与Rij可能取值的关系为R11>R10=R01>Rrefx>R00。需要两个步骤得到异或操作结果:第1步,MSC执行与操作,将输出信号(O)传递给模式控制器(MC)。第二步,根据(O)信号,MC输出控制信号CS,判断是否启用Rrefx,然后使用PCSA得到XOR结果。如果(O)在步骤1中输出“1”,则表示要访问的数据为“1”,MC不启用任何参考电阻,使节点c和d断开,因此(O)在步骤2中输出“0”。否则,如果(O)在步骤1输出“0”,MC将启用参考电阻Rrefx,然后(O)可以输出其他情况下的XOR结果。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于斯格明子赛道存储器的内存计算系统,其特征在于:包括SRM-CIM的电路架构,所述SRM-CIM的电路架构包括行译码器Row Decoder、列译码器Column Decoder、电压驱动Voltage Supplier、存储阵列、感应电路MSC、计数器Bit-counter和模式控制器MC;
其中,所述电压驱动Voltage Supplier包括两个NMOS,所述两个NMOS漏极分别连接为写操作和读操作提供电压的电压源,源极接地,栅极接入三选一选择器MUX;还包括一根导线与两个NMOS并联接入三选一选择器,代表读操作、与操作和异或操作,所需位线BL电压为0;在模式控制器MC发出的控制信号CS的控制下,所述选择器选通相应的NMOS或导线,根据工作模式提供驱动电压;
所述感应电路MSC利用预充电读出放大器PCSA比较节点ab和节点cd之间的电阻大小;所述节点ab分别连接电路的位线BL和源线SL,所述节点cd之间连接参考电阻;所述参考电阻在不同工作模式下需要不同的电阻值,其中,三个NMOS分别串联为读操作提供电阻值的MTJ Rrefr、为异或操作提供电阻值的MTJ Rrefx和为与操作提供电阻值的MTJ Rrefa,然后并联漏极接入节点c,源极接入节点d,栅极接入三选一选择器MUX,选择器在控制信号CS的控制下,选通相应的NMOS,根据工作模式选通相应的参考电阻;
所述存储阵列采用斯格明子赛道存储器构成。
2.根据权利要求1所述的基于斯格明子赛道存储器的内存计算系统,其特征在于:所述预充电读出放大器PCSA包括四个PMOS和两个NMOS连接,如果节点ab之间的电阻Rab大于节点cd之间的电阻Rcd,Qm输出0而
Figure FDA0002809954060000011
输出1;反之,如果Rab小于Rcd,Qm输出1而
Figure FDA0002809954060000012
输出0。
3.根据权利要求2所述的基于斯格明子赛道存储器的内存计算系统,其特征在于:所述SRM-CIM的电路架构为纳米赛道,包括铁磁层ferromagnetic、重金属层heavy metal和基底sustrate三层;
赛道上通过一个NMOS串联写入MTJ至位线BL和源线SL,NMOS栅极连接写入字线WWL,为写端口,控制斯格明子的生成;
赛道上通过一个NMOS串联读出MTJ至位线BL和源线SL,NMOS的栅极连接读取字线RWL,为读端口,控制斯格明子的检测,在MTJ读头上显示的不同电阻值分别代表数据“1”和“0”;
赛道两侧分别串联NMOS至位线BL和源线SL,两个NMOS栅极连接移位字线SWL,为移位端口,控制斯格明子的移动。
4.根据权利要求1所述的基于斯格明子赛道存储器的内存计算系统,其特征在于:所述存储阵列包括垂直赛道群VRG和水平赛道群HRG,所述垂直赛道群VRG和水平赛道群HRG分别采用斯格明子赛道存储器构成;
在垂直赛道群VRG里,斯格明子赛道存储器竖直连接;
在水平赛道群HRG里,斯格明子赛道存储器水平连接。
5.一种基于斯格明子赛道存储器的内存计算方法,采用权利要求1-4任意一项所述的基于斯格明子赛道存储器的内存计算系统,其特征在于:包括二进制卷积神经网络卷积过程,具体包括以下步骤,
输入input为m×m的矩阵,权重weight为n×n的矩阵,其中n小于m;权重矩阵在输入矩阵上扫描,相应的权重向量和输入向量进行卷积计算;
所述卷积计算公式表示为:
I&W=Bit-count(I(B)&W(B))
其中I和W分别为输入和权重向量,I(B)和W(B)分别为输入和权重里每位上的二进制数。
6.根据权利要求5所述的基于斯格明子赛道存储器的内存计算方法,其特征在于,还包括二进制卷积神经网络卷积过程的移位方法,具体包括:
如果n×n的权重在m×m的输入上扫描,步长为l,则
S1、将权值数据和输入数据都按原始顺序存储在存储阵列中,输入存储到的水平赛道群HRG部分,权重存储到的垂直赛道群VRG部分;
S2、权重和对应输入进行卷积计算;
S3、权重向右移动l个单位长度,与对应输入进行卷积计算;
S4、重复步骤
Figure FDA0002809954060000031
次;
S5、输入向上移动l个单位长度,权重移动到左侧初始位置;
S6、重复步骤S2、S3、S4;
S7、重复步骤S5、
Figure FDA0002809954060000032
次。
7.根据权利要求5所述的基于斯格明子赛道存储器的内存计算方法,其特征在于:
还包括二进制卷积神经网络卷积过程写入向量的步骤:
启用WWL,并在BL和SL之间设置正电压,在写入头的赛道上写入“1”;如果要写入数据“0”,无需任何操作;
启用SWLs,在BL和SL之间设置一个正电压,将刚写入的数据向下移动到下一个单元,继续在写入头写入下一个数据。
8.根据权利要求7所述的基于斯格明子赛道存储器的内存计算方法,其特征在于:包括读取操作步骤,
如果读头所存数据为1,读头的电阻值用R1表示;反之读头所存数据为0,读头的电阻值用R0表示;参考电阻用Rref表示,R1>Rrefr>R0;
当启用RWL且Vread为0V时,将基于MSC从“0”读取数据。
9.根据权利要求7所述的基于斯格明子赛道存储器的内存计算方法,其特征在于:还包括异或操作步骤,
在异或操作中,参考电阻Rrefx与Rij取值的关系为R11>R10=R01>Rrefx>R00;
需要两个步骤得到异或操作结果:
第一步,MSC执行与操作,将输出信号“0”传递给模式控制器MC;
第二步,根据“0”信号,MC输出控制信号CS,判断是否启用Rrefx,然后使用PCSA得到XOR结果;
如果“0”在步骤一中输出“1”,则表示要访问的数据为“1”,MC不启用任何参考电阻,使节点c和d断开,因此“0”在步骤二中输出“0”;否则,如果“0”在步骤一输出“0”,MC将启用参考电阻Rrefx,然后“0”输出其他情况下的XOR结果。
CN201910173095.XA 2019-03-07 2019-03-07 基于斯格明子赛道存储器的内存计算系统及方法 Active CN109902822B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910173095.XA CN109902822B (zh) 2019-03-07 2019-03-07 基于斯格明子赛道存储器的内存计算系统及方法
PCT/CN2019/084297 WO2020177202A1 (zh) 2019-03-07 2019-04-25 基于斯格明子赛道存储器的内存计算系统及计算方法
US17/043,677 US11151439B2 (en) 2019-03-07 2019-04-25 Computing in-memory system and method based on skyrmion racetrack memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910173095.XA CN109902822B (zh) 2019-03-07 2019-03-07 基于斯格明子赛道存储器的内存计算系统及方法

Publications (2)

Publication Number Publication Date
CN109902822A CN109902822A (zh) 2019-06-18
CN109902822B true CN109902822B (zh) 2021-04-06

Family

ID=66946630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910173095.XA Active CN109902822B (zh) 2019-03-07 2019-03-07 基于斯格明子赛道存储器的内存计算系统及方法

Country Status (3)

Country Link
US (1) US11151439B2 (zh)
CN (1) CN109902822B (zh)
WO (1) WO2020177202A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110459254B (zh) * 2019-08-01 2021-06-01 北京航空航天大学 自旋电子器件和存内逻辑计算器件
CN110597555B (zh) * 2019-08-02 2022-03-04 北京航空航天大学 非易失性存内计算芯片及其运算控制方法
CN111640858A (zh) * 2020-04-26 2020-09-08 北京航空航天大学 磁隧道结参考层、磁隧道结以及磁随机存储器
TWI740549B (zh) * 2020-06-22 2021-09-21 財團法人工業技術研究院 記憶體內運算胞
CN112259136B (zh) * 2020-10-20 2021-09-07 海光信息技术股份有限公司 内存运算电路及芯片结构
CN113161476A (zh) * 2021-03-08 2021-07-23 湖北大学 一种基于斯格明子的神经元突触的存储器件
CN113393875A (zh) * 2021-05-28 2021-09-14 华南师范大学 磁性斯格明子的写入方法、信息存储器件及读取系统
CN113452354B (zh) * 2021-07-20 2022-12-06 山东交通学院 一种基于mtj器件的rs触发器
CN116820390A (zh) * 2022-03-21 2023-09-29 中电海康集团有限公司 一种存算器件、计数器、移位累加器和存内乘加结构
CN116486857B (zh) * 2023-05-17 2024-04-02 北京大学 一种基于电荷再分配的存内计算电路

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269612B2 (en) * 2002-05-31 2007-09-11 International Business Machines Corporation Method, system, and program for a policy based storage manager
EP1455518A3 (en) * 2003-03-04 2006-03-15 Ricoh Company, Ltd. Image forming apparatus and image processing apparatus
JP4252624B2 (ja) * 2007-06-01 2009-04-08 パナソニック株式会社 抵抗変化型記憶装置
CN104134460B (zh) 2014-07-17 2017-12-26 北京航空航天大学 一种基于动态参考的非挥发存储器读取电路
CN104157297B (zh) * 2014-07-17 2017-01-25 北京航空航天大学 一种基于磁性斯格明子的片上信息传输器件
US10635970B2 (en) * 2016-08-04 2020-04-28 International Business Machines Corporation Racetrack synapse for neuromorphic applications
CN108304922B (zh) * 2017-01-13 2020-12-15 华为技术有限公司 用于神经网络计算的计算设备和计算方法
CN106971372B (zh) * 2017-02-24 2020-01-03 北京大学 一种实现图像卷积的编码型闪存系统和方法
US11169732B2 (en) * 2017-05-18 2021-11-09 Kabushiki Kaisha Toshiba Computing device
JP2019028569A (ja) 2017-07-26 2019-02-21 株式会社東芝 メモリシステム、半導体記憶装置及び信号処理システム
US10505095B2 (en) * 2018-01-04 2019-12-10 Government Of The United States Of America, As Represented By The Secretary Of Commerce Neural member, neural network, and neurological memory
CN108492845B (zh) * 2018-04-03 2020-05-26 电子科技大学 一种基于磁性斯格明子的赛道存储器
CN109324906A (zh) * 2018-10-22 2019-02-12 王瑞明 云计算平台中选择处理节点的方法
US10777247B1 (en) * 2019-03-25 2020-09-15 International Business Machines Corporation Spin-based storage element

Also Published As

Publication number Publication date
US20210019596A1 (en) 2021-01-21
WO2020177202A1 (zh) 2020-09-10
US11151439B2 (en) 2021-10-19
CN109902822A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
CN109902822B (zh) 基于斯格明子赛道存储器的内存计算系统及方法
US8934313B2 (en) Negative voltage generator and semiconductor memory device
CN112133339B (zh) 基于铁电晶体管的存内按位逻辑计算电路结构
CN105814636B (zh) 用于识别存储于存储器单元阵列中的极值的设备及方法
CN112581996A (zh) 基于磁性随机存储器的时域存内计算阵列结构
CN113467751B (zh) 一种基于磁性随机存储器的模拟域存内计算阵列结构
CN113688984B (zh) 一种基于磁性随机存储器的存内二值化神经网络计算电路
Kwon et al. AWARE (asymmetric write architecture with redundant blocks): A high write speed STT-MRAM cache architecture
US20230305804A1 (en) In-memory bit-serial addition system
US20220398439A1 (en) Compute in memory three-dimensional non-volatile nand memory for neural networks with weight and input level expansions
Ma et al. In-memory computing: The next-generation ai computing paradigm
CN114388021A (zh) 利用外部磁场进行编程辅助的超低功率推理引擎
CN114974337B (zh) 一种基于自旋磁随机存储器的时间域存内计算电路
US11526285B2 (en) Memory device for neural networks
JP2013149309A (ja) 磁気メモリ装置、および、磁気メモリ装置のデータ書き込み方法
US20230315389A1 (en) Compute-in-memory cell
CN109427388B (zh) 一种存储单元和静态随机存储器
CN115424645A (zh) 计算器件、存储器控制器和执行存储器中计算的方法
Chen et al. A multi-functional 4T2R ReRAM macro enabling 2-dimensional access and computing in-memory
TWI849433B (zh) 用於實行記憶體內計算的計算裝置、記憶體控制器及方法
US20240304254A1 (en) Memory device for signed multi-bit to multi-bit multiplications
Yu et al. Backgrounds
US20240303038A1 (en) Memory device performing signed multiplication using sets of four memory cells
KR100960447B1 (ko) 불휘발성 메모리 소자의 동작 방법
US20240304253A1 (en) Memory device for summation of outputs of signed multiplications

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