模拟计算中的数据存储方法及计算机设备与流程

未命名 08-01 阅读:114 评论:0


1.本发明属于集成电路领域,更具体地,涉及集成电路计算芯片的体系架构和工作方式。


背景技术:

2.随着物联网与云计算的发展,计算任务的复杂性与日俱增,给计算芯片带来更大的压力。其中,计算芯片的主要性能指标可以分为功耗和算力指标。无论是在物联网等供能受限的场景还是云计算等消耗大量能量的场景中,功耗指标都是十分关键的。因此,如何在提供给定算力的前提下,进一步降低芯片功耗,是计算芯片的重要研究方向。
3.计算芯片的功耗主要来自两部分操作,一是数据读写,二是数据计算。对于特定计算,如深度神经网络中涉及的推理和训练计算,会出现大量的数据读写操作。数据读写的目标存储器可以分为片上存储和片外存储。由于片上存储广泛采用静态随机存储器(sram),其密度较低,因此其存储容量往往较小。当遇到大量数据读写操作时,就需要对片外存储进行访问。考察数据读写操作,对互连线周围寄生电容的充放电是其主要能耗来源。而片外存储通过较大间距的互连线和引脚进行数据访问,会产生相比片上存储大得多的能耗。针对这一现象,将数据尽可能地部署在片上存储中,并进一步降低对片上存储的数据访问是优化计算芯片能效的重要策略。
4.存算一体化架构就是其中的一个具体实现。这一架构通过构造基于忆阻器的高密度计算单元,可以将计算数据部分固化在计算单元内,从而减少了对于数据的访问操作。同时,由于采用模拟计算的方式,它对于存储数据有一定的鲁棒性,因而可以实现更大规模的片上存储。一种典型的计算方式是,在电导值为矩阵g的忆阻器阵列一侧通过数字-模拟转换器(dac)输入电压向量v,通过测量正交的另一侧的输出电流向量i,既可以实现i=gv的矩阵-向量乘法计算。其中,在神经网络推理的计算场景中,g对应网络权重,更新较少,v对应数据的特征图,更新较多。
5.在上述计算过程种,由于并行计算时大量单元打开,会产生较大的电流并在互连线上产生压降。这导致落在存储器件两端的电压改变,从而上述实际计算结果和理论的线性计算出现偏差。当阵列增大时,这一偏差会进一步增大,从而限制了计算并行度的进一步增加。


技术实现要素:

6.本发明的目的在于解决上述问题,提出一种模拟计算中的数据存储方法及计算机设备。
7.本发明的目的是通过以下技术方案实现的:
8.第一方面,提供一种模拟计算中的数据存储方法,
9.使用存储单元排布为阵列结构的存储器,所述存储单元包含能够被选通的存储结构;
10.对所述存储器的存储单元进行分块,使得单个分块内数据能够用于实现某一计算过程;
11.基于所述存储器和其所述分块关系,对于至少一个需要进行数据写入的目标存储单元通过如下方式实现迭代写入,
12.其中,迭代写入的数据读取过程包括,
13.首先选通所述目标存储单元所属分块中所有存储单元的存储结构,
14.再对所述目标存储单元施加读信号激励,
15.再对所述目标存储单元所属分块中除所述目标存储单元之外的存储单元施加零信号。
16.进一步地,迭代写入过程包含:
17.首先根据目标存储值,对存储器进行数据写入,记为步骤一,
18.再对所述存储器进行读取,获得模拟存储值,记为步骤二,
19.再根据目标存储值和模拟存储值,进行步骤一和步骤二的循环,直到目标存储值和模拟存储值之间满足差值小于预设值,完成数据存储。
20.进一步地,所述存储器中,每个存储单元存在至少两种稳定状态,且所述状态在多次写入之间保持一致性。
21.进一步地,所述存储器使用磁隧穿结或静态随机存储器作为信息存储媒介。
22.进一步地,所述存储器包括阻变存储器、相变存储器、铁电存储器、动态随机存储器、浮栅存储器以及电荷捕获存储器中的一种或多种。
23.进一步地,
24.存储器阵列包含激励线和采样线,所述激励线提供信号输入,所述采样线提供信号输出;
25.任一目标存储单元能够由某一激励线和某一采样线构成读回路;
26.所述读信号激励为读电流输入,施加在目标存储单元对应的所述激励线上,所述零信号施加的存储单元对应的所述激励线悬空。
27.在该情况下,单个分块内的所述计算过程如下,
28.步骤一,将分块内的所述采样线置为与所述激励线的零电位相同;
29.步骤二,在分块内的所述激励线上施加和待计算数据相关的激励电流;
30.步骤三,在分块内的所述采样线上进行电流采样;
31.其中先后顺序满足,步骤二先于步骤三,步骤一先于步骤三。
32.进一步地,
33.存储器阵列包含激励线和采样线,所述激励线提供信号输入,所述采样线提供信号输出;
34.任一目标存储单元能够由某一激励线和某一采样线构成读回路;
35.所述读信号激励为读电压输入,施加在目标存储单元对应的所述激励线上,所述零信号施加的存储单元对应的所述激励线短路到地。
36.在该情况下,单个分块内的所述计算过程如下,
37.步骤一,将分块内的所述采样线置为与所述激励线的零电位相同;
38.步骤二,在分块内的所述激励线上施加和待计算数据相关的激励电压;
39.步骤三,在分块内的所述采样线上进行电流采样;
40.其中先后顺序满足,步骤二先于步骤三,步骤一先于步骤三。
41.进一步地,所述迭代写入过程在存储器使用过程中,间隔一定时间进行重复运行。
42.第二方面,提供一种计算机设备,包括具有计算功能的存储器,所述存储器能够执行如第一方面所述的数据存储方法中的步骤。
43.本发明的有益效果是:通过在读取过程中包含线阻压降等阵列寄生,能够提高存算一体化并行计算的准确性。
44.本领域的技术人员在阅读以下具体实施方式并看到附图时将会认识到附加的特征和和优势。
附图说明
45.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1示出了一种典型的存算一体化的模拟计算方式;
47.图2示出了一个存储器系统;
48.图3示出了一个电压输入的2*3存储器系统的具体实现;
49.图4示出了读写验证过程的流程图;
50.图5示出了一个电流输入的2*3存储器系统的具体实现;
51.图6示出了一个使用晶体管选通的存储单元;
52.图7示出了一种基于电荷存储器的结构;
53.图8示出了一种基于静态随机存储器的结构;
54.图9示出了一种基于动态随机存储器的结构。
具体实施方式
55.在下面的具体实施方式中,参考形成本发明的一部分的附图,其中通过图解的方式示出可实施本发明的具体实施方式。应理解,在不脱离本发明的范围的情况下,可利用其它实施方式且可进行结构或逻辑的改变。例如,对于一个实施方式而示出或描述的特征可用于或结合其它实施方式以产生又一实施方式。其目的在于本发明包括这些修改和变化。使用特定的语言(其不应被解释为限制所附权利要求书的范围)描述实施方式。附图未按比例绘制且仅供说明之用。
56.本发明要求实际解决的技术问题在于:减少存算一体化架构中大规模并行计算时由于线阻压降等因素引入的计算误差。
57.如图1所示,一种典型的存算一体化的模拟计算方式是,在电导值为矩阵g的忆阻器阵列一侧通过数字-模拟转换器(dac)经由位线101和102输入电压向量v,通过测量正交的另一侧的源线111和112输出电流向量i,既可以实现i=gv的矩阵-向量乘法计算。
58.在上述计算过程中,由于并行计算时大量单元打开,会产生较大的电流并在互连线上产生压降。这导致落在存储器件两端的电压改变,从而上述实际计算结果和理论的线
性计算出现偏差。具体地,考虑到读取速度等因素,目前常见的存储器读电流约为10-100μa。而对于兆字节(mb)规模的存储阵列,其互连线电阻约为100~1000ω。当同一源线上1000个单元同时打开后,假设所有存储单元电流均为10μa电流,简单的估算可以看到,由于所有存储单元共用了源线,源线上的电流将被汇总,最大可以达到10ma。假设源线电阻为100ω,这一电流将造成约为1v的压降,而这显然是不自洽的,因为这不符合源线电压为0的假设。事实上,由电流所产生的压降会使得存储单元上的分压大幅降低,从而整体电流减小。由此可见,当大量单元打开时,源线的电流值将和上述的i=gv出现显著偏差。
59.如图2所示,在一个存储系统中,包含激励电路201,存储器202,采样电路204,以及控制电路203。如图3所示,其中,激励电路可以包含电压数字-模拟转换器,存储器的位元,即存储单元,可以是一个存储结构和一个选通结构的串联,采样电路可以包含电流模拟-数字转换器。
60.为实现准确的计算,存储器中存储单元数据在根据激励电路201和采样电路204所定义度量下的准确性通过如下方式实现。以存储器中部分区域326为例,需要对存储器位元320,330,350,360进行操作。对于分块的过程,以矩阵计算为例,则同一个矩阵内的数据形成一个分块。这里以存储器位元320为例进行阐述,不同位元可以是先后地或同时地进行操作。如图4所示,通过读取-写入循环的方式对存储器位元数据进行写入。具体地,对于激励电路201的给定输入,存储器202的当前状态,在采样电路204中可以得到一个实际采样值,即模拟存储值y。对于激励电路201的给定输入,存储器202的目标状态,可以计算得到采样电路的理论采样值,即目标存储值x。可选地,可以根据实际采样值和理论采样值的差异对存储单元的状态施加写入激励进行修改。如图4所示,进行步骤401,402,403,404的循环,直到实际采样值和理论采样值的差异小于预定的阈值δ。
61.在传统的实现方式中,存储器位元读取时仅进行所需要写入位元的选通。例如,对于存储器位元320进行读取时,其操作为在字线381输入使能信号,在字线382输入关闭信号,从而使得仅选通结构322和332导通。同时,在源线303输入读电压,在源线304输入零信号,将位线391和393置于读电压,将位线392置于零电位并将392的信号输入灵敏放大器或其他采样电路进行信号读取。在上述传统实现方式中,所获取的仅单个存储器位元320的信息,而不包含计算时的线阻压降因素。进而,当使用这一修正完毕后的存储器位元进行运算时,会由于线阻压降而产生偏差。
62.本发明的创新点在于,在读取过程中使用和计算过程匹配的选通状态。例如,对于存储器位元320进行读取时,其操作为在字线381,382输入使能信号,从而使得所有选通结构均导通。同时,在激励线,即源线303输入读电压,将源线304短接到地,将位线391,392,393均置于零电位,并将392的信号输入灵敏放大器或其他采样电路进行信号读取。在这一过程中,线阻压降得以包含在读取的信号内。由电路的叠加原理可得,对输入信号进行线性叠加可以得到计算时的输入状态。因此,计算过程所得到的结果将会是和存储器数据匹配的,而不会出现来源于线阻压降等阵列因素的偏差。
63.如图5所示,在至少一个实施例中,输入可以是电流输入。例如,对于存储器位元520进行读取时,其操作为在字线581,582输入使能信号,从而使得所有选通结构均导通。同时,在源线503输入读电流,将源线504悬空,将位线591,592,593均置于零电位,并将592的信号输入灵敏放大器或其他采样电路进行信号读取。
64.如图6所示,在至少一个实施例中,存储结构可以使用晶体管进行选通。这一晶体管也可以在多个存储器结构间共享。这一存储结构可以是两端的磁隧穿结、两端的阻变存储器,或者是两端的相变存储器,也可以是多端器件中的某两端结构。
65.如图7所示,在至少一个实施例中,存储结构可以使用具有存储能力的晶体管,进行选通和存储。浮栅存储器、单管型铁电存储器以及电荷捕获存储器均属于这一类。
66.如图8所示,在至少一个实施例中,存储结构可以使用静态随机存储器的存储结构811。
67.这一存储结构可以提供一个稳定的电压,用于控制晶体管的开关,进而配置计算阵列输入输出端口间的电阻。
68.如图9所示,在至少一个实施例中,存储结构可以使用动态随机存储器的存储结构911。
69.这一存储结构可以提供一个稳定的电压,用于控制晶体管的开关,进而配置计算阵列输入输出端口间的电阻。存储结构911中的电容可以是基于铁电材料的非易失结构,从而避免反复的数据刷新过程。
70.在至少一个实施例中,可以在存储系统生命周期中,反复运行写入过程,从而对在使用过程中所累计或者产生的老化现象,例如互连金属线电迁移,存储器数据扰动,存储器数据丢失等现象进行修正。
71.此外,本技术还提出一种计算机设备,包括具有计算功能的存储器,所述存储器能够执行上述的数据存储方法中的步骤。
72.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
73.以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

技术特征:
1.一种模拟计算中的数据存储方法,其特征在于:使用存储单元排布为阵列结构的存储器,所述存储单元包含能够被选通的存储结构;对所述存储器的存储单元进行分块,使得单个分块内数据能够用于实现某一计算过程;基于所述存储器和其所述分块关系,对于至少一个需要进行数据写入的目标存储单元通过如下方式实现迭代写入,其中,迭代写入的数据读取过程包括,首先选通所述目标存储单元所属分块中所有存储单元的存储结构,再对所述目标存储单元施加读信号激励,再对所述目标存储单元所属分块中除所述目标存储单元之外的存储单元施加零信号。2.根据权利要求1所述的数据存储方法,其特征在于,迭代写入过程包含,首先根据目标存储值,对存储器进行数据写入,记为步骤一,再对所述存储器进行读取,获得模拟存储值,记为步骤二,再根据目标存储值和模拟存储值,进行步骤一和步骤二的循环,直到目标存储值和模拟存储值之间满足差值小于预设值,完成数据存储。3.根据权利要求1所述的数据存储方法,其特征在于,所述存储器中,每个存储单元存在至少两种稳定状态,且所述状态在多次写入之间保持一致性。4.根据权利要求3所述的数据存储方法,其特征在于,所述存储器使用磁隧穿结或静态随机存储器作为信息存储媒介。5.根据权利要求1所述的数据存储方法,其特征在于,所述存储器包括阻变存储器、相变存储器、铁电存储器、动态随机存储器、浮栅存储器以及电荷捕获存储器中的一种或多种。6.根据权利要求1-5中任一项所述的数据存储方法,其特征在于,存储器阵列包含激励线和采样线,所述激励线提供信号输入,所述采样线提供信号输出;任一目标存储单元能够由某一激励线和某一采样线构成读回路;所述读信号激励为读电流输入,施加在目标存储单元对应的所述激励线上,所述零信号施加的存储单元对应的所述激励线悬空。7.根据权利要求6所述的数据存储方法,其特征在于,单个分块内的所述计算过程如下,步骤一,将分块内的所述采样线置为与所述激励线的零电位相同;步骤二,在分块内的所述激励线上施加和待计算数据相关的激励电流;步骤三,在分块内的所述采样线上进行电流采样;其中先后顺序满足,步骤二先于步骤三,步骤一先于步骤三。8.根据权利要求1-5中任一项所述的数据存储方法,其特征在于,存储器阵列包含激励线和采样线,所述激励线提供信号输入,所述采样线提供信号输出;
任一目标存储单元能够由某一激励线和某一采样线构成读回路;所述读信号激励为读电压输入,施加在目标存储单元对应的所述激励线上,所述零信号施加的存储单元对应的所述激励线短路到地。9.根据权利要求8所述的数据存储方法,其特征在于,单个分块内的所述计算过程如下,步骤一,将分块内的所述采样线置为与所述激励线的零电位相同;步骤二,在分块内的所述激励线上施加和待计算数据相关的激励电压;步骤三,在分块内的所述采样线上进行电流采样;其中先后顺序满足,步骤二先于步骤三,步骤一先于步骤三。10.根据权利要求2所述的数据存储方法,其特征在于,所述迭代写入过程在存储器使用过程中,间隔一定时间进行重复运行。11.一种计算机设备,包括具有计算功能的存储器,所述存储器能够执行如权利要求1-9中任一项所述的数据存储方法中的步骤。

技术总结
本发明公开了一种模拟计算中的数据存储方法及计算机设备,主要解决现有技术因线阻压降等因素在进行大规模并行计算时准确性下降的问题。本发明利用线性叠加原理,将传统的读取过程改变为和计算过程等价的电路配置,从而实现了读取过程和计算过程的耦合。本发明能够降低阵列规模依赖的非理想因素对计算过程的影响,提高计算精度,克服系统老化,可应用于存算一体化的大规模模拟计算系统中。算一体化的大规模模拟计算系统中。算一体化的大规模模拟计算系统中。


技术研发人员:赵先成
受保护的技术使用者:浙江力德仪器有限公司
技术研发日:2022.01.18
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐