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

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

Info

Publication number
CN109902822A
CN109902822A CN201910173095.XA CN201910173095A CN109902822A CN 109902822 A CN109902822 A CN 109902822A CN 201910173095 A CN201910173095 A CN 201910173095A CN 109902822 A CN109902822 A CN 109902822A
Authority
CN
China
Prior art keywords
racing track
memory
skyrmion
nmos
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.)
Granted
Application number
CN201910173095.XA
Other languages
English (en)
Other versions
CN109902822B (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

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而输出1;反之,如果Rab小于Rcd,Qm输出1而输出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、重复步骤次;
S5、输入向上移动l个单位长度,权重移动到左侧初始位置;
S6、重复步骤S2、S3、S4;
S7、重复步骤次。
进一步的,还包括二进制卷积神经网络卷积过程写入向量的步骤:
启用WWL,并在BL和SL之间设置正电压,在写入头的赛道上写入“1”;如果要写入数据“0”,无需任何操作;
启用SWLs,在BL和SL之间设置一个正电压,将刚写入的数据向下移动到下一个单元,继续在写入头写入下一个数据。
进一步的,包括读取操作步骤,
如果读头所存数据为1,读头的电阻值用R1表示;反之读头所存数据为0,读头的电阻值用R0表示;参考电阻用Rref表示,R1>Rrefr>R0;
当启用WL且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.重复步骤次。
5.输入向上移动l个单位长度,权重移动到左侧初始位置。
6.重复步骤2、3、4。
7.重复步骤次。
具体移位策略参考图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,当启用WL且Vread为0V时,将基于MSC从(O)读取数据。
表1显示了读操作和异或操作的参数。“pre”和“abs”表示赛道上斯格明子的存在和缺失,分别表示逻辑数据“1”和“0”。待读取单元格的结构如图4(c)所示,由Ri表示(i为逻辑数据“1”或“0”)。R1和R0是对应的读头电阻值。Refr为节点c与d之间的参考电阻,它们之间的关系为R1>Rrefr>R0。当启用WL且Vread为0V时,将基于MSC从(O)读取数据。
表1
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而输出1;反之,如果Rab小于Rcd,Qm输出1而输出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、重复步骤S3次;
S5、输入向上移动l个单位长度,权重移动到左侧初始位置;
S6、重复步骤S2、S3、S4;
S7、重复步骤S5、S6次。
7.根据权利要求5所述的基于斯格明子赛道存储器的内存计算方法,其特征在于:
还包括二进制卷积神经网络卷积过程写入向量的步骤:
启用WWL,并在BL和SL之间设置正电压,在写入头的赛道上写入“1”;如果要写入数据“0”,无需任何操作;
启用SWLs,在BL和SL之间设置一个正电压,将刚写入的数据向下移动到下一个单元,继续在写入头写入下一个数据。
8.根据权利要求7所述的基于斯格明子赛道存储器的内存计算方法,其特征在于:包括读取操作步骤,
如果读头所存数据为1,读头的电阻值用R1表示;反之读头所存数据为0,读头的电阻值用R0表示;参考电阻用Rref表示,R1>Rrefr>R0;
当启用WL且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 true CN109902822A (zh) 2019-06-18
CN109902822B 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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110459254A (zh) * 2019-08-01 2019-11-15 北京航空航天大学 自旋电子器件和存内逻辑计算器件
CN110597555A (zh) * 2019-08-02 2019-12-20 北京航空航天大学 非易失性存内计算芯片及其运算控制方法
CN111640858A (zh) * 2020-04-26 2020-09-08 北京航空航天大学 磁隧道结参考层、磁隧道结以及磁随机存储器
CN112259136A (zh) * 2020-10-20 2021-01-22 海光信息技术股份有限公司 内存运算电路及芯片结构
CN113393875A (zh) * 2021-05-28 2021-09-14 华南师范大学 磁性斯格明子的写入方法、信息存储器件及读取系统
CN113901390A (zh) * 2020-06-22 2022-01-07 财团法人工业技术研究院 内存内计算单元
WO2023178596A1 (zh) * 2022-03-21 2023-09-28 中电海康集团有限公司 一种存算器件、计数器、移位累加器和存内乘加结构

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113161476A (zh) * 2021-03-08 2021-07-23 湖北大学 一种基于斯格明子的神经元突触的存储器件
CN113452354B (zh) * 2021-07-20 2022-12-06 山东交通学院 一种基于mtj器件的rs触发器
CN116486857B (zh) * 2023-05-17 2024-04-02 北京大学 一种基于电荷再分配的存内计算电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1550934A (zh) * 2003-03-04 2004-12-01 ������������ʽ���� 图像形成装置和图像处理装置
CN1653422A (zh) * 2002-05-31 2005-08-10 国际商业机器公司 基于策略的存储管理的方法、系统和程序
CN104157297A (zh) * 2014-07-17 2014-11-19 北京航空航天大学 一种基于磁性斯格明子的片上信息传输器件
CN108492845A (zh) * 2018-04-03 2018-09-04 电子科技大学 一种基于磁性斯格明子的赛道存储器
CN109324906A (zh) * 2018-10-22 2019-02-12 王瑞明 云计算平台中选择处理节点的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4252624B2 (ja) * 2007-06-01 2009-04-08 パナソニック株式会社 抵抗変化型記憶装置
CN104134460B (zh) 2014-07-17 2017-12-26 北京航空航天大学 一种基于动态参考的非挥发存储器读取电路
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
US10777247B1 (en) * 2019-03-25 2020-09-15 International Business Machines Corporation Spin-based storage element

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1653422A (zh) * 2002-05-31 2005-08-10 国际商业机器公司 基于策略的存储管理的方法、系统和程序
CN1550934A (zh) * 2003-03-04 2004-12-01 ������������ʽ���� 图像形成装置和图像处理装置
CN104157297A (zh) * 2014-07-17 2014-11-19 北京航空航天大学 一种基于磁性斯格明子的片上信息传输器件
CN108492845A (zh) * 2018-04-03 2018-09-04 电子科技大学 一种基于磁性斯格明子的赛道存储器
CN109324906A (zh) * 2018-10-22 2019-02-12 王瑞明 云计算平台中选择处理节点的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PAN YU 等: "A Multilevel Cell STT-MRAM-Based Computing In-Memory Accelerator for Binary Convolutional Neural Network", 《IEEE TRANSACTIONS ON MAGNETICS》 *
刘必成: "一种基于第二代赛道存储的面向卷积神经网络的高效内存计算框架", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110459254A (zh) * 2019-08-01 2019-11-15 北京航空航天大学 自旋电子器件和存内逻辑计算器件
CN110459254B (zh) * 2019-08-01 2021-06-01 北京航空航天大学 自旋电子器件和存内逻辑计算器件
CN110597555A (zh) * 2019-08-02 2019-12-20 北京航空航天大学 非易失性存内计算芯片及其运算控制方法
CN110597555B (zh) * 2019-08-02 2022-03-04 北京航空航天大学 非易失性存内计算芯片及其运算控制方法
CN111640858A (zh) * 2020-04-26 2020-09-08 北京航空航天大学 磁隧道结参考层、磁隧道结以及磁随机存储器
CN113901390A (zh) * 2020-06-22 2022-01-07 财团法人工业技术研究院 内存内计算单元
CN112259136A (zh) * 2020-10-20 2021-01-22 海光信息技术股份有限公司 内存运算电路及芯片结构
CN113393875A (zh) * 2021-05-28 2021-09-14 华南师范大学 磁性斯格明子的写入方法、信息存储器件及读取系统
WO2023178596A1 (zh) * 2022-03-21 2023-09-28 中电海康集团有限公司 一种存算器件、计数器、移位累加器和存内乘加结构

Also Published As

Publication number Publication date
US11151439B2 (en) 2021-10-19
CN109902822B (zh) 2021-04-06
US20210019596A1 (en) 2021-01-21
WO2020177202A1 (zh) 2020-09-10

Similar Documents

Publication Publication Date Title
CN109902822A (zh) 基于斯格明子赛道存储器的内存计算系统及方法
CN103875038B (zh) 减少多端口sram存储器单元中的泄漏功率的方法和设备
CN111523658B (zh) 双位存储单元及其在存内计算的电路结构
CN109784483B (zh) 基于fd-soi工艺的二值化卷积神经网络内存内计算加速器
CN109859786B (zh) 一种基于自旋磁存储器的数据运算方法
CN108510066A (zh) 一种应用于卷积神经网络的处理器
CN109657787A (zh) 一种二值忆阻器的神经网络芯片
EP3671748A1 (en) In-memory computing for machine learning
CN103890857B (zh) 采用环形寄存器的可移位的存储器
CN106373611A (zh) 一种存储与计算阵列结构及其操作方法
CN109979503A (zh) 一种在内存中实现汉明距离计算的静态随机存储器电路结构
Yu et al. Energy efficient in-memory machine learning for data intensive image-processing by non-volatile domain-wall memory
Yan et al. iCELIA: A full-stack framework for STT-MRAM-based deep learning acceleration
JP2020035502A (ja) 半導体集積回路
Siemon et al. Sklansky tree adder realization in 1S1R resistive switching memory architecture
CN109712665A (zh) 存储器及存储器的功能测试方法
US11526285B2 (en) Memory device for neural networks
CN112199234A (zh) 一种基于忆阻器的神经网络容错方法
CN108712621A (zh) 一种基于忆阻和cmos的运动目标检测电路
CN110033797A (zh) 存储系统及存储方法
CN101833992A (zh) 具有冗余存储单元的相变随机存储器系统
CN108154226A (zh) 一种使用模拟计算的神经网络芯片
CN115049885B (zh) 一种存算一体卷积神经网络图像分类装置及方法
Münch et al. Defect characterization of spintronic-based neuromorphic circuits
Wei et al. Emerging Memory-Based Chip Development for Neuromorphic Computing: Status, Challenges, and Perspectives

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