CN111045954B - 基于nand-spin的存内计算加速方法 - Google Patents
基于nand-spin的存内计算加速方法 Download PDFInfo
- Publication number
- CN111045954B CN111045954B CN201911200562.XA CN201911200562A CN111045954B CN 111045954 B CN111045954 B CN 111045954B CN 201911200562 A CN201911200562 A CN 201911200562A CN 111045954 B CN111045954 B CN 111045954B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- logic
- logic operation
- nand
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hall/Mr Elements (AREA)
- Logic Circuits (AREA)
Abstract
本发明提供一种基于NAND‑SPIN的存内计算加速方法,提出利用NAND‑SPIN,构建一种低功耗、多模态、具有存内逻辑计算功能的存储阵列,以期达到计算加速和节省存储空间的设计目的。存内计算加速方法包括有存内数据存储和存内逻辑运算两个阶段。在执行存内逻辑运算过程中,通过在存储器中实现逻辑运算的结果重构进行存内逻辑运算。在执行存内逻辑运算时,需构建包括以下模块的整体架构:源操作数阵列,用以存放需要进行逻辑计算的源操作数;逻辑运算结果数据块,用以存放逻辑运算结果;通用处理器,用以计算逻辑运算结果。
Description
技术领域
本发明提出一种基于NAND-SPIN的存内计算加速方法,属于多模态存内计算存储器领域。
背景技术
存内计算是目前较为新颖的计算架构方案,通过在存储器内部集成逻辑计算单元、或是利用存储阵列以实现逻辑计算功能、达到减少数据传输的目的。
较之于传统架构中,存储单元和计算单元分别作为独立的器件,当数据计算时,数据由存储单元传入计算单元,并在获得计算结果之后将数据重新写回到存储单元。存内计算架构,无需大量的***电路参与、因此能够有效地缩短数据的传输路径、降低数据访问过程中的时延和能量损耗。
现有已知的NAND-SPIN存储技术,其可构建出具有快速、可重构、以及高存储密度的存储阵列,既可实现数据的存储功能,也可在重构之后实现辑计算功能。
如以下在先公开文献的记载,Q.Deng,L.Jiang,Y.Zhang,M.Zhang and J.Yang,"DrAcc:a DRAM based Accelerator for Accurate CNN Inference,"2018 55th ACM/ESDA/IEEE Design Automation Conference(DAC),San Francisco,CA,2018,pp.1-6,其提出了一种存内计算加速技术,即名为DrAcc的卷积计算加速器是一种基于DRAM内存计算的神经网络加速器。其通过对DRAM架构进行改进,用位操作的方式实现了三重权重网络,加速了推理过程中的逻辑计算,DrAcc可以在灵活配置数据分区和映射策略的同时实现一定的推理精度。
但上述现有技术公开的内存计算加速方法具有明显的缺点与不足。具体地,
1)其架构是基于DRAM存储器的,DRAM作为动态存储器,为维持其每个存储单元内部电压值就需要对其进行电位刷新操作,这在将消耗大量的能量。对于很多嵌入式***来说,电源能够提供的能量是有限的,刷新操作将会减少有效工作时间,增加电源的负载;
2)其对于比较器的引入将会引入复杂的***电路同时减少有效的存储单元所占的面积比率。同时,由于其在进行逻辑计算的同时更改了内部存储结构,就需要对数据的访存方式和策略进行重新设计和修改,不利于与传统架构的兼容性。
有鉴于此,特提出本专利申请。
发明内容
本发明所述基于NAND-SPIN的存内计算加速方法,其目的在于解决上述现有技术存在的问题而提出利用NAND-SPIN,构建一种低功耗、多模态、具有存内逻辑计算功能的存储阵列,以期达到存内计算加速和节省存储空间的设计目的。
为实现上述设计目的,所述基于NAND-SPIN的存内计算加速方法,包括有存内数据存储和存内逻辑运算两个阶段。
其中,在执行存内逻辑运算过程中,通过在存储器中实现逻辑运算的结果重构进行存内逻辑运算。
在执行存内逻辑运算时,需构建包括以下模块的整体架构:
源操作数阵列,用以存放需要进行逻辑计算的源操作数;
逻辑运算结果数据块,用以存放逻辑运算结果;
通用处理器,用以计算逻辑运算结果。
进一步地,所述的存内逻辑运算阶段,包括有以下操作步骤:
1)根据不同的逻辑运算需求,将多比特的逻辑运算结果重构到存储阵列的不同模块中;
2)执行数据读取操作,以将源操作数从存放的存储模块中读入数据总线;
3)控制器根据需要的逻辑运算,激活不同的逻辑运算模块,并根据总线中传输的源操作数将对应的逻辑运算结果读取出来。
进一步地,所述的存内数据存储阶段,包括有以下操作步骤:
将数个SOT-MRAM存储单元按子串结构连接而形成多个MTJ排列方式的存储结构;
在每一个SOT-MRAM存储单元中,存储的数据位由MTJ中电阻值的高低来表征;
当对所存储的数据进行读取时,根据导通的读电流的数值大小,以判断其内部电阻的高低,进而获知所存的数据信息。
综上所述,本申请基于NAND-SPIN的存内计算加速方法具有的优点是:
1)由于整个过程主要在存储阵列内部完成,所以减少了数据传输过程对于数据总线的需求,在减少数据拥堵和访存时延的同时减少了传输数据的能量损耗。
2)由于NAND-SPIN具有非易失性,使用MTJ的电阻信息来存放数据,不需要大量的能量来维持数据,故可以减少存储阵列工作在数据存储状态下的能量损耗。
3)NAND-SPIN具有高密度性和较好的CMOS技术的兼容性,能够实现高密度数据的存储同时能够利用有效现有的CMOS生产工艺中的技术手段。
4)NAND-SPIN做为存储器,所以其所组成的存储阵列可以在数据存储模块和逻辑运算模块之间进行模式切换,与传统的存储架构有良好的兼容性。
附图说明
图1是2晶体管SOT-MRAM存储单元的示意图;
图2是NAND-SPIN子串结构和对应操作示意图;
图3是NAND-SPIN存储阵列示意图;
图4是存内逻辑运算的整体架构示意图。
具体实施方式
下面结合附图和实施示例对本发明作进一步详细地描述。
实施例1,本申请所述的存内计算加速方法,是基于NAND-SPIN技术来构建一种高密度、低功耗、多模态和具有存内逻辑计算功能的存储阵列。
NAND-SPIN技术主要在以下两个方面具有优势:
1)存储功能
基于NAND-SPIN的存储阵列,不需要对传统阵列进行过多改变即可实现数据存储功能;一方面,NAND-SPIN本身具有非易失性,即阵列中的存储数据是以MTJ电阻信息存放在功能单元中的,当数据写入成功之后并不需要消耗能量来维持,不同于现有传统的SRAM以及DRAM阵列,因此能够有效地减少由于保持电位数据所消耗的能量。另一方面,由于MTJ单元面积小,NAND-SPIN可以实现高密度存储,能够在有限的面积资源上保持大容量的数据存储。
2)逻辑功能
NAND-SPIN作为存储阵列具有多比特位并行访存特性,即通过将逻辑运算的结果重构到存储阵列中。一方面,可实现多比特位的与/或以及加法器/乘法器的逻辑功能;另一方面,由于其辅助电路与存储阵列辅助电路具有高相似性,其设计复杂度大大降低。
基于上述NAND-SPIN物理特性,本申请进一步提高存内计算的快速可重构、高存储密度的性能,以实现新型的低功耗、多模态的存内逻辑与计算的存储阵列。
所述的存内计算加速方法包括以下两个模态:
1、存内数据存储
如图1所示的是2晶体管SOT-MRAM存储单元的结构中,其存储的数据位由MTJ中电阻值的高低来表征。
激活晶体管N2之后,写电流可实现该单元内部数据的置位操作。
当对所存储的数据进行读取时,需要激活晶体管N1导通。根据导通的读电流的数值大小,以判断其内部电阻的高低,进而获知所存的数据信息。
在图2中,将图1所示的2晶体管SOT-MRAM存储单元按子串结构连接而形成多个MTJ排列方式的存储结构,是一行多比特位的数据存储结构。
当从外部将地址信息传入时,由解码器选通对应数据通路上的WL晶体管,通过对PS和NS晶体管的控制可以实现对应的MTJ进行读写操作,进而实现基本的存储阵列功能。
具体地,NAND-SPIN存储阵列结构如图3所示。
当地址信息由总线传入解码器时,根据地址信息的不同,特定的数据线将会被解码器导通,如图2和图3中的WL[1]线所示。此时,与WL[1]相连的一列MTJ单元与外界的通路被导通,该列MTJ的信息将被与之相连的感应放大电路SA读取。
2、存内逻辑运算
在执行计算任务过程中,不同任务的逻辑运算有乘法、加法、与、或等不同的逻辑需求。
通过在存储器中实现逻辑运算的结果重构,可以在存内实现逻辑运算。
具体的操作步骤如下:
首先,根据不同的逻辑运算需求,将多比特的逻辑运算结果重构到存储阵列的不同模块中;
然后,执行数据读取操作,以将源操作数从存放的存储模块中读入数据总线;
最后,控制器根据需要的逻辑运算,激活不同的逻辑运算模块,并根据总线中传输的源操作数将对应的逻辑运算结果读取出来。
如图4所示的是存内逻辑运算的整体架构,其中,源操作数阵列,用以存放需要进行逻辑计算的源操作数;逻辑运算结果数据块,用以存放逻辑运算结果;通用处理器,用以计算逻辑运算结果。
以加法为例,主要的计算流程如下:
首先,通用处理器会将加法操作的所有数据结果顺序存入逻辑加法阵列中。当执行加法运算时,源操作数1和源操作数2会被传入数据总线。
同时,控制器通过解码器和复选器选通加法运算逻辑块,并根据数据总线中的源操作数导通具体的一列数据单元,与之相连接的感应放大电路会将实现存放好的数据结果输出出来达到逻辑加法计算的目的。
当源数据的比特位数过高时,如果直接对原始数据进行计算其所对应的数据结果情况较多,逻辑运算结果的表项会占用较大的存储空间。为此,需要将原始数据切成4比特的数据块,在写入表项时只需将4比特的运算结果写入逻辑运算结果模块即可,这将有效地缩减逻辑运算表项所占用的存储空间。
同时,可以利用一系列的策略减少数据表项的平均访问时间。比如根据应用特性将访问频率较高的表项存放在不同子块中,减少表项之间的访问冲突。
当源操作数需要移位以与其实际数据量级匹配时,移位操作将在移位器中进行。
通过对基本逻辑运算的组合能够实现更为复杂的逻辑操作。并且在运算过程中的临时数据结果也可以存放在存储阵列中。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (2)
1.一种基于NAND-SPIN的存内计算加速方法,其特征在于:包括存内数据存储、存内逻辑运算两个阶段;
在执行存内逻辑运算过程中,通过在存储器中实现逻辑运算的结果重构进行存内逻辑运算;
执行存内逻辑运算时构建包括以下模块的整体架构,
源操作数阵列,用以存放需要进行逻辑计算的源操作数;
逻辑运算结果数据块,用以存放逻辑运算结果;
通用处理器,用以计算逻辑运算结果;
在所述的存内逻辑运算阶段,包括以下操作步骤,
1)根据不同的逻辑运算需求,将多比特的逻辑运算结果重构到存储阵列的不同模块中;
2)执行数据读取操作,以将源操作数从存放的存储模块中读入数据总线;
3)控制器根据需要的逻辑运算,激活不同的逻辑运算模块,并根据总线中传输的源操作数将对应的逻辑运算结果读取出来;
根据应用特性将访问频率较高的表项存放在不同子块中;当源操作数需要移位以与其实际数据量级匹配时,移位操作将在移位器中进行;在运算过程中的临时数据结果存放在存储阵列中。
2.根据权利要求1所述的基于NAND-SPIN的存内计算加速方法,其特征在于:在所述的存内数据存储阶段,包括以下操作步骤,
将数个SOT-MRAM存储单元按子串结构连接而形成多个MTJ排列方式的存储结构;
在每一个SOT-MRAM存储单元中,存储的数据位由MTJ中电阻值的高低来表征;
当对所存储的数据进行读取时,根据导通的读电流的数值大小,以判断其内部电阻的高低,进而获知所存的数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200562.XA CN111045954B (zh) | 2019-11-29 | 2019-11-29 | 基于nand-spin的存内计算加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200562.XA CN111045954B (zh) | 2019-11-29 | 2019-11-29 | 基于nand-spin的存内计算加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111045954A CN111045954A (zh) | 2020-04-21 |
CN111045954B true CN111045954B (zh) | 2023-08-08 |
Family
ID=70233104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911200562.XA Active CN111045954B (zh) | 2019-11-29 | 2019-11-29 | 基于nand-spin的存内计算加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111045954B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111709872B (zh) * | 2020-05-19 | 2022-09-23 | 北京航空航天大学 | 一种图三角形计数算法的自旋存内计算架构 |
CN112487750B (zh) * | 2020-11-30 | 2023-06-16 | 西安微电子技术研究所 | 一种基于存内计算的卷积加速计算***及方法 |
WO2022165808A1 (zh) * | 2021-02-07 | 2022-08-11 | 华为技术有限公司 | 存储电路及存储器 |
CN113450851B (zh) * | 2021-03-08 | 2022-08-12 | 北京航空航天大学 | 多比特存储单元、模数转换器、设备及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011258229A (ja) * | 2011-08-22 | 2011-12-22 | Toshiba Corp | メモリシステム |
CN106155814A (zh) * | 2016-07-04 | 2016-11-23 | 合肥工业大学 | 一种支持多种工作模式的可重构运算单元及其工作方式 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074489A1 (en) * | 2013-09-06 | 2015-03-12 | Kabushiki Kaisha Toshiba | Semiconductor storage device and memory system |
US11036509B2 (en) * | 2015-11-03 | 2021-06-15 | Intel Corporation | Enabling removal and reconstruction of flag operations in a processor |
US10379782B2 (en) * | 2017-08-18 | 2019-08-13 | Intel Corporation | Host managed solid state drivecaching using dynamic write acceleration |
JP2019079464A (ja) * | 2017-10-27 | 2019-05-23 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
-
2019
- 2019-11-29 CN CN201911200562.XA patent/CN111045954B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011258229A (ja) * | 2011-08-22 | 2011-12-22 | Toshiba Corp | メモリシステム |
CN106155814A (zh) * | 2016-07-04 | 2016-11-23 | 合肥工业大学 | 一种支持多种工作模式的可重构运算单元及其工作方式 |
Non-Patent Citations (1)
Title |
---|
Zhaohao Wang 等.High-Density NAND-Like Spin Transfer Torque Memory With Spin Orbit Torque Erase Operation.《IEEE ELECTRON DEVICE LETTERS》.2018,第343-346页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111045954A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111045954B (zh) | 基于nand-spin的存内计算加速方法 | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储***及加速计算方法 | |
CN111816234B (zh) | 一种基于sram位线同或的电压累加存内计算电路 | |
CN110633069B (zh) | 一种基于静态随机存储器的乘法电路结构 | |
CN113257306B (zh) | 一种基于静态随机存取存储器的存算一体阵列及加速装置 | |
CN116206650B (zh) | 一种8t-sram单元及基于该种8t-sram单元的运算电路、芯片 | |
JPH03715B2 (zh) | ||
CN116092553A (zh) | 一种兼具乘加功能的存储器 | |
CN115394336A (zh) | 一种存算fpga架构 | |
CN112233712B (zh) | 一种6t sram存算装置、存算***及存算方法 | |
CN114038492A (zh) | 一种多相采样存内计算电路 | |
Monga et al. | A Novel Decoder Design for Logic Computation in SRAM: CiM-SRAM | |
CN115035931A (zh) | 一种基于8t-sram单元的电路结构、芯片和模块 | |
CN112214197B (zh) | Sram全加器及多比特sram全加器 | |
Karunakar et al. | Implementation of LFSR based Fast Error-Resilient Ternary Content-Addressable Memory | |
CN113889158A (zh) | 一种基于sram的存内计算电路、装置及电子设备 | |
He et al. | 34.7 A 28nm 2.4 Mb/mm 2 6.9-16.3 TOPS/mm 2 eDRAM-LUT-Based Digital-Computing-in-Memory Macro with In-Memory Encoding and Refreshing | |
Wang et al. | Computing-in-memory paradigm based on STT-MRAM with synergetic read/write-like modes | |
Wang et al. | SRAM-based computation in memory architecture to realize single command of add-multiply operation and multifunction | |
CN115312095B (zh) | 一种支持内部数据更新的存内计算流水乘加电路 | |
Zhou et al. | RISC-V based Fully-Parallel SRAM Computing-in-Memory Accelerator with High Hardware Utilization and Data Reuse Rate | |
WO2023245757A1 (zh) | 一种存内计算电路、方法以及半导体存储器 | |
CN118116440A (zh) | 基于动态随机存储器查找表的存内计算电路及芯片 | |
Jiang et al. | A 16nm 128kB high-density fully digital In Memory Compute macro with reverse SRAM pre-charge achieving 0.36 TOPs/mm 2, 256kB/mm 2 and 23. 8TOPs/W | |
CN117785795A (zh) | 一种存内异或运算单元 |
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 |