CN111625760A - 基于闪存电学特性的存算一体方法 - Google Patents
基于闪存电学特性的存算一体方法 Download PDFInfo
- Publication number
- CN111625760A CN111625760A CN202010483824.4A CN202010483824A CN111625760A CN 111625760 A CN111625760 A CN 111625760A CN 202010483824 A CN202010483824 A CN 202010483824A CN 111625760 A CN111625760 A CN 111625760A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- difference
- calculation
- iteration
- equation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- 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)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Read Only Memory (AREA)
Abstract
一种基于闪存电学特性的存算一体方法,数学方程经过有限差分法数值化后,结合差分和迭代,将迭代关系映射到闪存阵列上,通过直接在闪存上进行迭代得到数学方程的数值解,闪存同时完成存储与计算;所述迭代关系映射是将差分得到的系数矩阵用闪存的阈值电压表示,将未知数向量用栅极脉冲时间表示,将输出值用电荷量表示,同时电荷量转换成栅极电压脉冲的形式,作为下一次的输入,得到数学方程的数值解。该方法结合差分和迭代的原理,将迭代关系映射到闪存阵列上,闪存同时完成存储与计算功能,无需存储器与处理器间的数据传输就可以完成数学方程求解的过程,可以得到较为精确的偏微分方程数值解,并采用精度拓展技术改善了数值解的精度。
Description
技术领域
本发明涉及一种存算一体方法,具体是利用存储器本身的电学特性计算数值方程的迭代求解方法中的加法和乘法。
背景技术
在传统的冯-诺依曼架构中,计算和存储功能是分开的,分别由处理器和存储器完成。数据需要从存储器传输到处理器中进行运算,再将计算结果传回存储器存储。这种结构在面对需要频繁数据传输的计算时显然会造成不必要的访存延迟和访存功耗,与此同时,处理器和存储器的性能差距不断拉大,使得存储器的性能才是影响计算效率的关键因素。而随着人工智能和大数据的发展,数据传输进一步增多,访存功耗比不断变大,为了解决这个问题,存算一体作为一种使得存储器同时承担存储和计算功能的方案,有望打破传统的冯-诺伊曼架构的“内存墙”,受到了越来越多的关注。许多新兴的非易失性存储器,例如忆阻器(RRAM),相变存储器(PCM)和铁电存储器(FeRAM),以及传统的闪存,均已被证明可以较好地应用在人工智能领域,减少数据传输过程中的时间和功耗损失。
如今数学方程广泛应用在物理学和数学的许多科学研究中,方程的求解是利用数值求解方法,通过将本次矩阵和向量乘加得到的计算结果作为下一次计算的输入,不断地逼近方程的精确解,得到数学方程的数值解。而这个迭代过程与人工神经网络相似,每一次迭代都要进行大量的数据传输,因此适用于用存算一体的结构解决。不同的是,计算时系数矩阵与未知数的表示与计算结果应该非常精确,以确保高精度和较快的收敛速度,这意味着硬件设备需要较高的可靠性和精确性。
忆阻器低精度的特性和忆阻器阵列中的寄生效应和漏电流限制了忆阻器计算的精度,同时忆阻器的几安培量级的工作电流使得忆阻器阵列的功耗极高。与忆阻器相比,闪存作为一种更为成熟的技术,可以精确地完成数学方程的计算,因为它是一种非易失性存储技术,而且具有超高密度、低成本、可靠性高等优点。
目前尚没有完成迭代所需的乘加操作的通过闪存同时完成存储与计算的方法。
发明内容
本发明旨在提供一种基于闪存电学特性的存算一体方法,利用闪存本身的电学特性,在存储器内部完成迭代所需的乘加操作,最终得到数学方程的精确结果。
本发明的基于闪存电学特性的存算一体方法,是:
数学方程经过有限差分法数值化后,结合差分和迭代,将迭代关系映射到闪存阵列上,通过直接在闪存上进行迭代得到数学方程的数值解,闪存同时完成存储与计算;所述迭代关系映射是将差分得到的系数矩阵用闪存的阈值电压表示,将未知数向量用栅极脉冲时间表示,将输出值用电荷量表示,同时电荷量转换(以模数转换的方式)成栅极电压脉冲的形式,作为下一次的输入,得到数学方程的数值解。
由于阈值电压可以调节晶体管电流,并且电流的积分作为电荷量可以被积分器计算,因此可以将晶体管的阈值电压来表示经过有限差分处理的偏微分方程中的系数矩阵(系数矩阵是常数,固定不变),由于栅极脉冲时间控制晶体管开启的时间,因此可以用栅极脉冲时间和这段时间积累的电荷量分别表示输入的未知数和输出的未知数。
所述阈值电压可以调节晶体管电流,阈值电压和输入电压作用类似,均可以调节晶体管的电流。通过调节阈值电压的大小,可以控制晶体管的电流大小。
所述有限差分法,是将求解区域划分成差分网格,将待求解的量存储在各网格点上,并将偏微分方程的微分项用相应差商代替,从而将偏微分方程转化为代数形式的差分方程,得到含有离散点上有限个未知变量的差分方程组,求出差分方程组的解,也就得到了网格上变量的数值解。
所述数学方程求解时同时运用矩阵分块和精度拓展的方式。
所述矩阵分块,包括只划定值不为0的区域的分块方式以及提取系数矩阵中四个不为零的对角线的值的方式。由于有限差分后得到的系数矩阵十分稀疏,不分块会导致许多晶体管长时间处于关闭状态,造成时间延迟和面积浪费,因此采用了矩阵分块的方式。
所述精度拓展,是将64位二进制表示的计算量切分为16组4位的二进制数,每组在不同的阵列上计算,最后将这些4位二进制数汇总转为64位数字,以达到更高的精度。
本发明结合差分和迭代的原理,将迭代关系映射到闪存阵列上,闪存同时完成存储与计算功能,无需存储器与处理器间的数据传输就可以完成数学方程求解的过程,可以得到较为精确的偏微分方程数值解,并采用精度拓展技术改善了数值解的精度。该方法在NOR与NAND闪存中均可以使用。
附图说明
图1是本发明中计算使用的闪存阵列与计算公式示意图。
图2是漏电流在漏极电压、栅极电压、阈值电压变化时的变化趋势。
图3是有限差分法后的偏微分方程矩阵形式。
图4是图3所示矩阵经过雅可比迭代处理后的方程迭代形式。
图5是将矩阵分为24块的方式的示意图。
图6是矩阵分为24块后输入和输出方式的示意图。
图7是将矩阵分为4块144×1阵列的示意图。
图8是每个144×1矩阵输入输出方式的示意图。
图9是本发明的计算过程流程图。
图10是本发明求解偏微分方程的结果。
图11是本发明中精度拓展过程的示意图。
具体实施方式
本发明旨在通过闪存的电学特性提供一种数值方程求解的存算一体方法。该方法在NOR与NAND闪存中均可以使用。结合差分和迭代的原理,将迭代关系映射到闪存阵列上,闪存同时完成存储与计算;所述迭代关系映射是将迭代关系中的系数矩阵和未知数分别映射为闪存阵列中晶体管的阈值电压和栅极电压脉冲,将输出值用电荷量表示,同时电荷量转换(以模数转换的方式)成栅极电压脉冲的形式,作为下一次的输入,得到方程的解,在求解时同时运用矩阵分块和精度拓展的方式。
更具体地,数学方程经过有限差分法数值化后,通过迭代得到方程的数值解,而这个迭代可以直接在闪存上进行。将差分得到的系数矩阵用闪存的阈值电压表示,未知数向量用栅极脉冲时间表示,计算得到的结果用连接在晶体管上积分器积分得到的电荷量表示。通过不断地将上一次计算中得到的电荷量以栅极脉冲时间的形式送入阵列中,进行下一次迭代,可以得到较为精确的偏微分方程数值解,并采用精度拓展技术改善了数值解的精度。
以求解椭圆型偏微分方程为例,详细说明。
求解偏微分方程时,所要求解的偏微分方程用数值方法进行分解,即用有限差分法分解为矩阵和向量相乘的形式,然后通过雅可比迭代法得到基于原方程的迭代关系;将这种迭代关系中的乘加操作利用NOR闪存的电压电流关系表示,通过不断地将闪存单元的输出作为下一次迭代的输入,得到方程的解。通过将电荷量以模数转换的方式转换为脉冲时间输入不断迭代,得到偏微分方程的解。
图1显示了本次计算使用的闪存阵列与计算公式,通过不断地将本次迭代得到的输出作为下一次迭代的输入,完成在闪存阵列内部的迭代。
本发明的方法基于晶体管本身的电学特性设计,从图2可以看出晶体管电流随着阈值电压、漏极电压、栅极电压的变化趋势,可以通过改变阈值电压,从而改变晶体管的输入特性曲线,达到调节晶体管电流的目的。
图3显示了偏微分方程经过有限差分法后的数值化形式,左边是稀疏的系数矩阵与未知数向量相乘,右边是包含了边界条件的常数。正是由于稀疏的系数矩阵,才要进行矩阵的分块来提升偏微分方程计算的效率。
图4显示了偏微分方程求解的迭代关系。经过雅可比方法处理后,处理成如图的迭代关系,利用此迭代关系进行迭代,可以得到方程的精确结果。
图5是将144×144的系数矩阵分块成24块36×6的矩阵,只取矩阵中含不为0的值的部分。共有六种不同的分布,均在图片中展示,省略的为重复的分布方式。
图6展示了分块后的输入输出方式。每个阵列有36个输入,6个输出,这36个输入取决于分块时截取了原矩阵的哪一列。将所有的矩阵计算完毕后,整理成144个输出,再进行下一次的迭代。
图7是将144×144的系数矩阵分成1个144×1的矩阵。由于系数矩阵只有四个对角线的值不为0,可以只取四个对角线上的值,将这四个对角线上的值处理成4列,对应到144×1的阵列上的四个阶段,每个阶段输入1列值。
图8是将提取出的每个对角线分别计算,在每个阶段依次输入对应位置的未知数值,第四阶段结束后积分器上的电荷量,即是144个输出。
图9给出了计算偏微分方程的过程,将矩阵分好块后,首先将处理好的脉冲时间输入阵列,读取积分器上的电荷量结果,将电荷量结果经过模数转换后转换成未知数的解,判断是否达到所需精度,如果未达到,就需要进行下一次迭代。
图10给出了图示方程的数值解与36×6分块、1×144分块、不进行分块的解的结果的对比,相比计算机计算的精确解,闪存得到的解也有着较高的精度。
图11给出了精度拓展过程的示意图。精度拓展技术将64位的12×12的矩阵转变为16块4位的12×12的矩阵,每块分别进行运算,得到的结果再汇总成64位的矩阵。利用精度拓展技术去求解偏微分方程,可以得到很高的精度。
Claims (5)
1.一种基于闪存电学特性的存算一体方法,其特征是:
数学方程经过有限差分法数值化后,结合差分和迭代,将迭代关系映射到闪存阵列上,通过直接在闪存上进行迭代得到数学方程的数值解,闪存同时完成存储与计算;所述迭代关系映射是将差分得到的系数矩阵用闪存的阈值电压表示,将未知数向量用栅极脉冲时间表示,将输出值用电荷量表示,同时电荷量转换成栅极电压脉冲的形式,作为下一次的输入,得到数学方程的数值解。
2.根据权利要求1所述的基于闪存电学特性的存算一体方法,其特征是:所述有限差分法,是将求解区域划分成差分网格,将待求解的量存储在各网格点上,并将偏微分方程的微分项用相应差商代替,从而将偏微分方程转化为代数形式的差分方程,得到含有离散点上有限个未知变量的差分方程组,求出差分方程组的解,也就得到了网格上变量的数值解。
3.根据权利要求1所述的基于闪存电学特性的存算一体方法,其特征是:所述数学方程求解时同时运用矩阵分块和精度拓展的方式。
4.根据权利要求3所述的基于闪存电学特性的存算一体方法,其特征是:所述矩阵分块,包括只划定值不为0的区域的分块方式以及提取系数矩阵中四个不为零的对角线的值的方式。
5.根据权利要求3所述的基于闪存电学特性的存算一体方法,其特征是:所述精度拓展,是将64位二进制表示的计算量切分为16组4位的二进制数,每组在不同的阵列上计算,最后将这些4位二进制数汇总转为64位数字,以达到更高的精度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010483824.4A CN111625760B (zh) | 2020-06-01 | 2020-06-01 | 基于闪存电学特性的存算一体方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010483824.4A CN111625760B (zh) | 2020-06-01 | 2020-06-01 | 基于闪存电学特性的存算一体方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625760A true CN111625760A (zh) | 2020-09-04 |
CN111625760B CN111625760B (zh) | 2022-07-05 |
Family
ID=72271976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010483824.4A Active CN111625760B (zh) | 2020-06-01 | 2020-06-01 | 基于闪存电学特性的存算一体方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625760B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912154A (zh) * | 2022-06-06 | 2022-08-16 | 山东大学 | 一种基于非易失存储器的加密存算一体的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019177691A1 (en) * | 2018-03-14 | 2019-09-19 | Silicon Storage Technology, Inc. | Method and apparatus for programming analog neural memory in a deep learning artificial neural network |
CN110647983A (zh) * | 2019-09-30 | 2020-01-03 | 南京大学 | 一种基于存算一体器件阵列的自监督学习加速系统及方法 |
CN111161203A (zh) * | 2019-12-30 | 2020-05-15 | 国网北京市电力公司 | 一种基于忆阻脉冲耦合神经网络的多聚焦图像融合方法 |
-
2020
- 2020-06-01 CN CN202010483824.4A patent/CN111625760B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019177691A1 (en) * | 2018-03-14 | 2019-09-19 | Silicon Storage Technology, Inc. | Method and apparatus for programming analog neural memory in a deep learning artificial neural network |
CN110647983A (zh) * | 2019-09-30 | 2020-01-03 | 南京大学 | 一种基于存算一体器件阵列的自监督学习加速系统及方法 |
CN111161203A (zh) * | 2019-12-30 | 2020-05-15 | 国网北京市电力公司 | 一种基于忆阻脉冲耦合神经网络的多聚焦图像融合方法 |
Non-Patent Citations (2)
Title |
---|
张旋等: "基于非均匀感知策略的MLC闪存系统", 《计算机系统应用》 * |
王中卫: "基于FPGA的脉冲耦合神经网络的硬件实现", 《电子设计工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912154A (zh) * | 2022-06-06 | 2022-08-16 | 山东大学 | 一种基于非易失存储器的加密存算一体的实现方法 |
CN114912154B (zh) * | 2022-06-06 | 2024-03-15 | 山东大学 | 一种基于非易失存储器的加密存算一体的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111625760B (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647983B (zh) | 一种基于存算一体器件阵列的自监督学习加速系统及方法 | |
CN109800876B (zh) | 一种基于NOR Flash模块的神经网络的数据运算方法 | |
CN111880763B (zh) | 一种在内存中实现带有正负数乘加的sram电路 | |
CN110008440B (zh) | 一种基于模拟矩阵运算单元的卷积运算及其应用 | |
CN108763163B (zh) | 模拟向量-矩阵乘法运算电路 | |
CN111523658A (zh) | 双位存储单元及其在存内计算的电路结构 | |
CN110007895B (zh) | 一种模拟乘法电路、模拟乘法方法及其应用 | |
CN110941185B (zh) | 一种用于二值神经网络的双字线6tsram单元电路 | |
CN110543937B (zh) | 神经网络及操作方法、神经网络信息处理系统 | |
CN111625760B (zh) | 基于闪存电学特性的存算一体方法 | |
CN208547942U (zh) | 模拟向量-矩阵乘法运算电路 | |
CN112885386A (zh) | 存储器控制方法、装置及铁电存储器 | |
CN115390789A (zh) | 基于磁隧道结计算单元的模拟域全精度存内计算电路及方法 | |
CN114791796A (zh) | 一种基于分离栅闪存晶体管的多输入计算单元及其计算方法 | |
CN116092553A (zh) | 一种兼具乘加功能的存储器 | |
CN113672854A (zh) | 一种基于电流镜和存储单元的存内运算方法、卷积运算方法、装置及其应用 | |
CN114115797A (zh) | 存储器内运算装置 | |
Feng et al. | Flash memory based computing-in-memory to solve time-dependent partial differential equations | |
CN115691613B (zh) | 一种基于忆阻器的电荷型存内计算实现方法及其单元结构 | |
Rhe et al. | VWC-SDK: Convolutional weight mapping using shifted and duplicated kernel with variable windows and channels | |
CN115879530A (zh) | 一种面向rram存内计算系统阵列结构优化的方法 | |
CN114093394B (zh) | 一种可转置存内计算电路及其实现方法 | |
Feng et al. | Near-threshold-voltage operation in flash-based high-precision computing-in-memory to implement Poisson image editing | |
CN113988279A (zh) | 一种支持负值激励的存算阵列输出电流读出方法及系统 | |
CN116543807A (zh) | 一种基于近似计算的高能效sram存内计算电路和方法 |
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 |