存算一体存储器及其执行同态运算的方法技术

技术编号:39243556 阅读:8 留言:0更新日期:2023-10-30 11:56
本发明专利技术提供了一种存算一体存储器及其执行同态运算的方法,包括:存算一体存储单元,其被配置根据控制信号为对第一输入数据与第二输入数据执行加法运算和/或乘法运算和/或乘加运算;以及控制器,其被配置为将第一输入数据与第二输入数据的同态运算转换为加法运算和/或乘法运算和/或乘加运算并且向所述多个存算一体存储单元发送相应控制信号。存算一体存储单元发送相应控制信号。存算一体存储单元发送相应控制信号。

【技术实现步骤摘要】
存算一体存储器及其执行同态运算的方法


[0001]本专利技术涉及集成电路
,特别涉及一种存算一体存储器及其执行同态运算的方法。

技术介绍

[0002]非同态加密方案在普通的加密传输方面表现良好,但是随着云计算、联邦学习等概念的兴起,非同态加密如果要进行运算,必须得进行解密后再进行运算,这就对数据的安全性提出挑战且加解密过程还会占用较大计算资源;而同态加密后的密文可以直接在云端对密文进行运算,这样就能保证加密计算过程的数据安全性。而这个过程中,必须使用同态计算进行数据处理。
[0003]但传统的同态计算架构,同态运算会造成需要处理的数据量极大,因此数据通信的消耗也很大,且整个系统的功耗很大。

技术实现思路

[0004]本专利技术的目的在于提供一种存算一体存储器及其执行同态运算的方法,以解决现有的同态运算架构需要处理的数据量极大的问题。
[0005]为解决上述技术问题,本专利技术提供一种存算一体存储器,包括:
[0006]存算一体存储单元,其被配置根据控制信号为对第一输入数据与第二输入数据执行加法运算和/或乘法运算和/或乘加运算;以及
[0007]控制器,其被配置为将第一输入数据与第二输入数据的同态运算转换为加法运算和/或乘法运算和/或乘加运算并且向所述多个存算一体存储单元发送相应控制信号。
[0008]可选的,在所述的存算一体存储器中,其中存算一体存储单元包括:
[0009]被配置为存储至少部分输入数据的输入组件;
[0010]包括多个存储单元的存储阵列;
[0011]被配置为在模拟模式或数字模式下运行的外围逻辑;和
[0012]控制电路,其被配置为:
[0013]在数字模式下,使能外围逻辑进行乘法运算或累加运算;和
[0014]在模拟模式下,使能外设逻辑以执行移位加运算并生成部分和。
[0015]可选的,在所述的存算一体存储器中,其中存算一体存储单元包括:
[0016]存内计算电路,被配置为对输入数据和/或存储数据进行逻辑运算,以形成中间计算结果,其中所述输入数据和存储数据表征浮点数;以及
[0017]浮点计算电路,被配置为对输入数据和/或中间计算结果进行浮点运算,以形成最终计算结果;
[0018]输入数据和/或存储数据包括第一输入数据和/或第二输入数据。
[0019]可选的,在所述的存算一体存储器中,其中所述存算一体存储单元包括暂存空间,所述暂存空间被配置为存储第一输入数据和第二输入数据以及中间计算结果。
[0020]可选的,在所述的存算一体存储器中,其中第一输入数据c1和第二多项式c2为密文,所述密文是经过基于多项式环空间的同态加密的密文,其中所述控制器被配置为执行下列动作中的一个或多个:
[0021]根据下列公式将同态加法转换为加法运算和/或乘法运算和/或乘加运算:
[0022]HomAdd(c1,c2)=([c1[0]+c2[0]]q,[c1[1]+c2[1]]q);
[0023]其中运算[
·
]q定义为:
[0024]根据下列公式将同态减法转换为加法运算和/或乘法运算和/或乘加运算:
[0025]HomSub(c1,c2)=([c1[0]‑
c2[0]]q,[c1[1]‑
c2[1]]q);
[0026]根据下列公式将同态乘法转换为加法运算和/或乘法运算和/或乘加运算:
[0027]HomMul(c1,c2)=(cx+<rlk0,cz>,cy+<rlk1,cz>);
[0028]其中rlk为重线性化密钥,由两个多项式组成,rlk=(rlk0,rlk1),<> 为内积操作,其中:
[0029][0030][0031][0032]可选的,在所述的存算一体存储器中,直接将存内计算与同态加密后的密文运算进行结合,以进行同态加法和/或乘法运算;
[0033]存算一体存储单元包括存储阵列,存内计算的功能基于存储阵列设计,存储阵列能够支持同态运算,以减少数据传输所需要的功耗。
[0034]可选的,在所述的存算一体存储器中,存储阵列包括多个存储单元,单个存储单元的存储空间能够满足第一加密度阈值的多项式单个系数的存储空间,或单个存储单元拆解为多个系数的存储空间,以满足第二加密度阈值的情况;
[0035]在进行同态加法或乘法时,多项式不同项的系数能够在存算一体存储单元内部同时进行运算,以提高并行度及减少计算所需时间。
[0036]可选的,在所述的存算一体存储器中,其中存储阵列为SRAM阵列,以n个bit数据为一个单位进行存储,n为正整数;
[0037]存储单元还包括本地处理单元、第一输出端和第二输出端,本地处理单元配置逻辑计算功能,第一输出端输出该存储单元输入数据与存储数据的单bit计算结果;
[0038]在逻辑计算功能为AND的情况下,经过移位加法器的处理,第二输出端输出该存储单元输入数据与存储数据的n个bit乘法结果。
[0039]可选的,在所述的存算一体存储器中,根据多项式系数最大位数的不同,单个存储单元储存一个或多个系数,由控制信号选择后进行计算并输出;多出的存储单元作为暂存空间,存储整个计算的中间结果。
[0040]可选的,在所述的存算一体存储器中,基于密文存储阵列的整个同态计算包括:
[0041]所述控制器发送控制信号以进行以下操作:
[0042]选择存储阵列内部数据;
[0043]选择存储阵列内部计算方式;以及
[0044]提供累加器和求模器的控制信号。
[0045]可选的,在所述的存算一体存储器中,在同态加法/减法时,存储阵列每次直接输出n个bit的密文或中间结果,在累加器中加/减并与之前暂存的中间结果在其中移位相加,由于系数位数较多,整个过程需要多个周期完成;
[0046]当结果中的一个系数的全部计算完成时,计算结果传输到求模器进行 [c]q操作,最后输出结果;
[0047]若还有后续计算则将其存入暂存空间中。
[0048]可选的,在所述的存算一体存储器中,在同态乘法时,存储阵列每次输出n个bit数据相乘的结果,在累加器中移位相加,由于系数位数较多,同时多项式乘法需要进行多次两个系数相乘的操作,整个过程需要多个周期完成;
[0049]当结果中一个系数的cx,cy,cz的非除法部分计算完成时,数据传输至求模器并进行计算,然后传输至暂存空间存储;
[0050]cx,cy,cz在累加器中,经过rlk的内积计算与最后的加法后得到乘法结果,若还有后续计算则将其存入暂存空间中。
[0051]本专利技术还提供一种使用存算一体存储器执行同态运算的方法,包括下列步骤:
[0052]接收第一输入数据c1;
[0053]接收第二输入数据c2,第一输入数据c1和第二多项式c本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于执行同态运算的存算一体存储器,包括:存算一体存储单元,其被配置根据控制信号为对第一输入数据与第二输入数据执行加法运算和/或乘法运算和/或乘加运算;以及控制器,其被配置为将第一输入数据与第二输入数据的同态运算转换为加法运算和/或乘法运算和/或乘加运算并且向所述多个存算一体存储单元发送相应控制信号。2.根据权利要求1所述的存算一体存储器,其中存算一体存储单元包括:输入组件,其被配置为存储至少部分输入数据;存储阵列,其包括多个存储单元;外围逻辑,其被配置为在模拟模式或数字模式下运行;以及控制电路,其被配置为执行下列动作:在数字模式下,使能外围逻辑以执行乘法运算或累加运算;以及在模拟模式下,使能外设逻辑以执行移位加运算并生成部分和。3.根据权利要求1所述的存算一体存储器,其中存算一体存储单元包括:存内计算电路,被配置为对输入数据和/或存储数据进行逻辑运算,以形成中间计算结果,其中所述输入数据和存储数据表征浮点数;以及浮点计算电路,被配置为对输入数据和/或中间计算结果进行浮点运算,以形成最终计算结果,其中所述输入数据和/或存储数据包括第一输入数据和/或第二输入数据。4.根据权利要求1所述的存算一体存储器,其中所述存算一体存储单元包括暂存空间,所述暂存空间被配置为存储第一输入数据和第二输入数据以及中间计算结果。5.根据权利要求1所述的存算一体存储器,其中第一输入数据c1和第二输入数据c2为密文,所述密文是经过基于多项式环空间的同态加密的密文,其中所述控制器被配置为执行下列动作中的一个或多个:根据下列公式将同态加法转换为加法运算和/或乘法运算和/或乘加运算:HomAdd(c1,c2)=([c1[0]+c2[0]]q,[c1[1]+c2[1]]q);其中运算[
·
]q定义为:根据下列公式将同态减法转换为加法运算和/或乘法运算和/或乘加运算:HomSub(c1,c2)=([c1[0]

c2[0]]q,[c1[1]

c2[1]]q);根据下列公式将同态乘法转换为加法运算和/或乘法运算和/或乘加运算:HomMul(c1,c2)=(cx+<rlk0,cz>,cy+<rlk1,cz>);其中rlk为重线性化密钥,由两个多项式组成,rlk=(rlk0,rlk1),<>为内积操作,其中:中:中:。6.根据权利要求1所述的存算一体存储器,其中存储阵列包括多个存储单元,单个存储单元被配置为能够存储第一加密度阈值的多项式的单个系数或者多个系数;以及在进行同态加法或乘法时,多项式不同项的系数能够在存算一体存储单元内部同时进行运算,以提高并行度及减少计算所需时间。
7.根据权利要求1所述的存算一体存储器,其中:存储阵列为SRAM阵列,以n个bit数据为一个单位进行存储,其中n为正整数;存储单元还包括本地处理单元、第一输出端和第二输出端,本地处理单元配置逻辑计算功能,第一输出端输出该存储单元输入数据与存储数...

【专利技术属性】
技术研发人员:杨越范安俊逸燕博南梅国强赵振颖
申请(专利权)人:北京苹芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1