CN111045954A - 基于nand-spin的存内计算加速方法 - Google Patents

基于nand-spin的存内计算加速方法 Download PDF

Info

Publication number
CN111045954A
CN111045954A CN201911200562.XA CN201911200562A CN111045954A CN 111045954 A CN111045954 A CN 111045954A CN 201911200562 A CN201911200562 A CN 201911200562A CN 111045954 A CN111045954 A CN 111045954A
Authority
CN
China
Prior art keywords
memory
data
logic
logical 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.)
Granted
Application number
CN201911200562.XA
Other languages
English (en)
Other versions
CN111045954B (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 Qingdao Research Institute
Original Assignee
Beihang University Qingdao Research Institute
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 Qingdao Research Institute filed Critical Beihang University Qingdao Research Institute
Priority to CN201911200562.XA priority Critical patent/CN111045954B/zh
Publication of CN111045954A publication Critical patent/CN111045954A/zh
Application granted granted Critical
Publication of CN111045954B publication Critical patent/CN111045954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Logic Circuits (AREA)
  • Hall/Mr Elements (AREA)

Abstract

本发明提供一种基于NAND‑SPIN的存内计算加速方法,提出利用NAND‑SPIN,构建一种低功耗、多模态、具有存内逻辑计算功能的存储阵列,以期达到计算加速和节省存储空间的设计目的。存内计算加速方法包括有存内数据存储和存内逻辑运算两个阶段。在执行存内逻辑运算过程中,通过在存储器中实现逻辑运算的结果重构进行存内逻辑运算。在执行存内逻辑运算时,需构建包括以下模块的整体架构:源操作数阵列,用以存放需要进行逻辑计算的源操作数;逻辑运算结果数据块,用以存放逻辑运算结果;通用处理器,用以计算逻辑运算结果。

Description

基于NAND-SPIN的存内计算加速方法
技术领域
本发明提出一种基于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 (3)

1.一种基于NAND-SPIN的存内计算加速方法,其特征在于:包括存内数据存储、存内逻辑运算两个阶段;
在执行存内逻辑运算过程中,通过在存储器中实现逻辑运算的结果重构进行存内逻辑运算;
执行存内逻辑运算时构建包括以下模块的整体架构,
源操作数阵列,用以存放需要进行逻辑计算的源操作数;
逻辑运算结果数据块,用以存放逻辑运算结果;
通用处理器,用以计算逻辑运算结果。
2.根据权利要求1所述的基于NAND-SPIN的存内计算加速方法,其特征在于:在所述的存内逻辑运算阶段,包括以下操作步骤,
1)根据不同的逻辑运算需求,将多比特的逻辑运算结果重构到存储阵列的不同模块中;
2)执行数据读取操作,以将源操作数从存放的存储模块中读入数据总线;
3)控制器根据需要的逻辑运算,激活不同的逻辑运算模块,并根据总线中传输的源操作数将对应的逻辑运算结果读取出来。
3.根据权利要求1或2所述的基于NAND-SPIN的存内计算加速方法,其特征在于:在所述的存内数据存储阶段,包括以下操作步骤,
将数个SOT-MRAM存储单元按子串结构连接而形成多个MTJ排列方式的存储结构;
在每一个SOT-MRAM存储单元中,存储的数据位由MTJ中电阻值的高低来表征;
当对所存储的数据进行读取时,根据导通的读电流的数值大小,以判断其内部电阻的高低,进而获知所存的数据信息。
CN201911200562.XA 2019-11-29 2019-11-29 基于nand-spin的存内计算加速方法 Active CN111045954B (zh)

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 true CN111045954A (zh) 2020-04-21
CN111045954B 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111709872A (zh) * 2020-05-19 2020-09-25 北京航空航天大学 一种图三角形计数算法的自旋存内计算架构
CN112487750A (zh) * 2020-11-30 2021-03-12 西安微电子技术研究所 一种基于存内计算的卷积加速计算系统及方法
CN113450851A (zh) * 2021-03-08 2021-09-28 北京航空航天大学 多比特存储单元、模数转换器、设备及方法
WO2022165808A1 (zh) * 2021-02-07 2022-08-11 华为技术有限公司 存储电路及存储器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011258229A (ja) * 2011-08-22 2011-12-22 Toshiba Corp メモリシステム
US20150074489A1 (en) * 2013-09-06 2015-03-12 Kabushiki Kaisha Toshiba Semiconductor storage device and memory system
CN106155814A (zh) * 2016-07-04 2016-11-23 合肥工业大学 一种支持多种工作模式的可重构运算单元及其工作方式
US20170123793A1 (en) * 2015-11-03 2017-05-04 Intel Corporation Enabling removal and reconstruction of flag operations in a processor
US20190056886A1 (en) * 2017-08-18 2019-02-21 Intel Corporation Host managed solid state drivecaching using dynamic write acceleration
US20190129862A1 (en) * 2017-10-27 2019-05-02 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011258229A (ja) * 2011-08-22 2011-12-22 Toshiba Corp メモリシステム
US20150074489A1 (en) * 2013-09-06 2015-03-12 Kabushiki Kaisha Toshiba Semiconductor storage device and memory system
US20170123793A1 (en) * 2015-11-03 2017-05-04 Intel Corporation Enabling removal and reconstruction of flag operations in a processor
CN106155814A (zh) * 2016-07-04 2016-11-23 合肥工业大学 一种支持多种工作模式的可重构运算单元及其工作方式
US20190056886A1 (en) * 2017-08-18 2019-02-21 Intel Corporation Host managed solid state drivecaching using dynamic write acceleration
US20190129862A1 (en) * 2017-10-27 2019-05-02 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHAOHAO WANG 等: "High-Density NAND-Like Spin Transfer Torque Memory With Spin Orbit Torque Erase Operation" *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111709872A (zh) * 2020-05-19 2020-09-25 北京航空航天大学 一种图三角形计数算法的自旋存内计算架构
CN112487750A (zh) * 2020-11-30 2021-03-12 西安微电子技术研究所 一种基于存内计算的卷积加速计算系统及方法
CN112487750B (zh) * 2020-11-30 2023-06-16 西安微电子技术研究所 一种基于存内计算的卷积加速计算系统及方法
WO2022165808A1 (zh) * 2021-02-07 2022-08-11 华为技术有限公司 存储电路及存储器
CN113450851A (zh) * 2021-03-08 2021-09-28 北京航空航天大学 多比特存储单元、模数转换器、设备及方法
CN113450851B (zh) * 2021-03-08 2022-08-12 北京航空航天大学 多比特存储单元、模数转换器、设备及方法
US11832530B2 (en) 2021-03-08 2023-11-28 Beihang University Multi-bit memory cell, analog-to-digital converter, device and method

Also Published As

Publication number Publication date
CN111045954B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN111045954B (zh) 基于nand-spin的存内计算加速方法
US8711638B2 (en) Using storage cells to perform computation
US20180247682A1 (en) Methods for reading data from a storage buffer including delaying activation of a column select
US9177646B2 (en) Implementing computational memory from content-addressable memory
US20200251164A1 (en) Static random-access memory with virtual banking architecture, and system and method including the same
CN110633069B (zh) 一种基于静态随机存储器的乘法电路结构
US20210181974A1 (en) Systems and methods for low-latency memory device
Chen et al. Analysis and optimization strategies toward reliable and high-speed 6T compute SRAM
US20210223996A1 (en) Processing-in-memory (pim) devices
US20210209022A1 (en) Processing-in-memory (pim) device
CN116092553A (zh) 一种兼具乘加功能的存储器
US6304482B1 (en) Apparatus of reducing power consumption of single-ended SRAM
CN110085270B (zh) 存储运算电路模块及处理器
CN115035931A (zh) 一种基于8t-sram单元的电路结构、芯片和模块
JPH0485788A (ja) 多ポートキャッシュメモリ
CN116483773A (zh) 一种基于转置dram单元的存内计算电路和装置
US20230197154A1 (en) Static random-access memory (sram) cell for high-speed content-addressable memory and in-memory boolean logic operation
Asari et al. FeRAM circuit technology for system on a chip
CN113593624B (zh) 存内逻辑电路
Karunakar et al. Implementation of LFSR based Fast Error-Resilient Ternary Content-Addressable Memory
Monga et al. A Novel Decoder Design for Logic Computation in SRAM: CiM-SRAM
KR102631380B1 (ko) 데이터 연산을 수행할 수 있는 다양한 메모리 장치를 포함하는 반도체 시스템
US20230420035A1 (en) In-memory computing circuit and method, and semiconductor memory
CN113674787B (zh) 在dram标准单元上实现非逻辑操作的方法及电路
US7667993B2 (en) Dual-ported and-type match-line circuit for content-addressable memories

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