【技术实现步骤摘要】
存算一体存储器及其执行同态运算的方法
[0001]本专利技术涉及集成电路
,特别涉及一种存算一体存储器及其执行同态运算的方法。
技术介绍
[0002]非同态加密方案在普通的加密传输方面表现良好,但是随着云计算、联邦学习等概念的兴起,非同态加密如果要进行运算,必须得进行解密后再进行运算,这就对数据的安全性提出挑战且加解密过程还会占用较大计算资源;而同态加密后的密文可以直接在云端对密文进行运算,这样就能保证加密计算过程的数据安全性。而这个过程中,必须使用同态计算进行数据处理。
[0003]但传统的同态计算架构,同态运算会造成需要处理的数据量极大,因此数据通信的消耗也很大,且整个系统的功耗很大。
技术实现思路
[0004]本专利技术的目的在于提供一种存算一体存储器及其执行同态运算的方法,以解决现有的同态运算架构需要处理的数据量极大的问题。
[0005]为解决上述技术问题,本专利技术提供一种存算一体存储器,包括:
[0006]存算一体存储单元,其被配置根据控制信号为对第一输入数据与第二输入数据执行加法运算和/或乘法运算和/或乘加运算;以及
[0007]控制器,其被配置为将第一输入数据与第二输入数据的同态运算转换为加法运算和/或乘法运算和/或乘加运算并且向所述多个存算一体存储单元发送相应控制信号。
[0008]可选的,在所述的存算一体存储器中,其中存算一体存储单元包括:
[0009]被配置为存储至少部分输入数据的输入组件;
[0010]包括多个存储单 ...
【技术保护点】
【技术特征摘要】
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为正整数;存储单元还包括本地处理单元、第一输出端和第二输出端,本地处理单元配置逻辑计算功能,第一输出端输出该存储单元输入数据与存储数...
【专利技术属性】
技术研发人员:杨越,范安俊逸,燕博南,梅国强,赵振颖,
申请(专利权)人:北京苹芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。