一种存内计算电路以及基于存内计算的系统及方法技术方案

技术编号:39033061 阅读:14 留言:0更新日期:2023-10-10 11:46
本发明专利技术涉及存内计算技术领域,提出一种存内计算电路以及基于存内计算的系统及方法。所述存内计算电路包括多个存储单元,其中通过多个所述存储单元的移位计算操作以及减法计算操作以进行优化巴雷特模计算。本发明专利技术通过在存储单元中进行模计算,可以有效提高全同态加密中模计算的执行速度,并且可以优化全同态加密在执行计算时的功耗。在执行计算时的功耗。在执行计算时的功耗。

【技术实现步骤摘要】
一种存内计算电路以及基于存内计算的系统及方法


[0001]本专利技术总的来说涉及存内计算
具体而言,本专利技术涉及一种存内计算电路以及基于存内计算的系统及方法。

技术介绍

[0002]模计算(Modular Arithmetic)是密码学中的核心计算方式,其被广泛应用在传统密码领域(例如RSA加密)]以及后量子密码领域(例如全同态加密(FHE))中。
[0003]其中基于理想格构建的全同态加密由于具有抗量子计算的特性,因此自2009年由Gentry提出后备受关注。经过十几年的发展后,全同态密码逐渐从理论走向实际,其中以BFV同态加密为代表的全同态密码机制在医疗诊断、云计算、生物医药、机器学习等领域得到了广泛应用。例如,在云计算领域,通过全同态加密可以在用户端将数据进行加密,加密数据上传到云端服务器后不解密完成计算,计算结果下载到用户端完成解密,并且在用户端得到计算结果。其中云端不需要解密完成隐私数据的计算,进一步提高了隐私数据的安全性。
[0004]虽然全同态加密提高了隐私计算的安全性,但其高昂的计算代价阻碍了全同态加密的广泛应用。即使经过算法和软件设计优化,全同态加密中一个整数明文的密文数据规模也通常会达到几十MB,端侧生成的密钥最大会达到十几KB。密文以及密钥数据规模过大引起了严重的计算和访存瓶颈,导致全同态加密的密文上的计算相比未加密数据的计算慢10000倍至100000倍。此外端侧计算设备的硬件资源有限,通常无法部署能耗高的GPU计算单元,而传统的计算机架构在面对全同态加密中数据规模几十MB的密文以及密钥处理时就会遇到严重的内存墙问题,产生大量由于数据搬运造成的能量消耗。

技术实现思路

[0005]为至少部分解决现有技术中的上述问题,本专利技术提出一种存内计算电路,其包括多个存储单元,其中所述存内计算电路被配置为通过多个所述存储单元的移位计算操作以及减法计算操作以进行优化巴雷特模计算。
[0006]在本专利技术一个实施例中规定,多个所述存储单元形成存内计算阵列,并且多个所述存储单元与字线WL、读选择线RTL、读反选择线RFL、读取数据位线RT、读取反数据位线RF、写入数据位线WT以及写入反数据位线WF。
[0007]在本专利技术一个实施例中规定,所述存内计算电路还包括下列多项的一项或者多项:
[0008]控制器,其被配置为生成读操作、写操作以及计算操作的控制信号以控制操作的执行;
[0009]行解码器,其被配置为在执行写操作时激活字线WL,并且在执行读操作以及计算操作时激活读选择线RTL以及读反选择线RFL;
[0010]移位掩码器,其被配置为接受模数的位数信息,并且生成产生移动操作的地址掩
码以及移位操作的方向,其中掩码最高位是移位码,1表示左移,0表示右移;
[0011]读控制器,其被配置为根据激活读选择线RTL以及读反选择线RFL的选通情况控制所述存内计算阵列中各列的读取数据位线RT以及读取反数据位线RF进行读取操作,其中所述读取数据位线RT以及读取反数据位线RF用于进行读操作以及计算操作;
[0012]写控制器,其被配置为根据字线WL选通的待写入行控制所述存内计算阵列中各个写入数据位线WT以及写入反数据位线WF对所述存储单元进行写操作,其中所述写入数据位线WT以及写入反数据位线WF用于进行写操作;
[0013]比较器,其被配置为对计算结果是否在需要的范围内进行判定,并且根据判断情况决定下一步操作;以及
[0014]预充电器,其被配置为对电路进行预充电。
[0015]在本专利技术一个实施例中规定,所述存储单元包括多个晶体管,并且所述存储单元与字线WL、读选择线RTL、读反选择线RFL、读取数据位线RT、读取反数据位线RF、写入数据位线WT以及写入反数据位线WF连接,其中所述存储单元被配置执行下列动作:
[0016]当只导通读选择线RTL时,使第零晶体管T0导通,并且将第零读取数据位线RTO预充电至VDD电位;
[0017]当存储单元处于高电位,其中存储的数据是1时,第一晶体管T1导通,并且通过第零晶体管T0以及第一晶体管T1将第零读取数据位线RTO的电位放电至低电位;以及
[0018]当存储单元处于低电位,其中存储的数据是0时,第一晶体管T1不导通,所述第零读取数据位线RTO处于高电位。
[0019]在本专利技术一个实施例中规定,所述存内计算阵列被配置为执行按位逻辑计算操作,其中包括:
[0020]使存内计算阵列的同列中的两个存储单元分别存储1和0,导通第零读选择线RTLO以及第一读选择线RTL1,并且从第零读取数据位线RTO读取输出结果0以进行NOR计算;和\或
[0021]使存内计算阵列的单个存储单元导通第零读选择线RTLO,并且从第零读取数据位线RTO读取输出结果0以进行NOT计算。
[0022]在本专利技术一个实施例中规定,所述存内计算阵列被配置为执行多比特逻辑计算操作,其中包括:
[0023]将两个N比特数据分别存储在存内计算阵列的第0行第0列到n

1列和第1行第0列到n

1列,使第零读选择线RTLO以及第一读选择线RTL1导通,并且从第零至第n

1读取数据位线RTO至RTn

1读取输出结果以进行两个N比特数据的NOR计算;和\或
[0024]通过导通读选择线RTL,并且从第零至第n

1读取数据位线RTO至RTn

1读取输出结果以进行一个N比特数据的NOT计算。
[0025]在本专利技术一个实施例中规定,通过多个所述存储单元的移位操作以及减法操作以进行优化巴雷特模计算包括计算r=c mod q,其中c表示被模数,q表示N比特模数,其中包括:
[0026]在所述存内计算阵列中执行右移计算操作,其中根据所述移位掩码器给出的掩码地址信息,从模计算结果行的最高有效位地址单元开始依次写入n

1个0,并且将被模数c的最高有效位写入之后的位置,直到该行数据写满,以使得被模数c中溢出部分自动截断,完
成右移计算操作,并且将右移结果x存储在所述存内计算阵列中,表示为下式:x=c>>n

1;
[0027]在所述存内计算阵列中执行左移计算操作,其中根据移位掩码器给出的掩码地址信息以及左移信号,从结果行的最低有效位(地址开始写入n

1个0,并且将右移结果x按照最低有效位顺序写入余下地址,并且将左移结果a存储在存内计算阵列中,表示为下式:a=x<<n

1;
[0028]在所述存内计算阵列中执行减法操作,表示为下式:r=c

a;以及
[0029]对模计算结果r进行判断,其中当r>q/2使返回r

q,当r≤q/2时返回r,表示为下式:r>q/2?(r

q):r。
[0030]在本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存内计算电路,其特征在于,包括多个存储单元,其中所述存内计算电路被配置为通过多个所述存储单元的移位计算操作以及减法计算操作以进行优化巴雷特模计算。2.根据权利要求1所述的存内计算电路,其特征在于,多个所述存储单元形成存内计算阵列,并且多个所述存储单元与字线WL、读选择线RTL、读反选择线RFL、读取数据位线RT、读取反数据位线RF、写入数据位线WT以及写入反数据位线WF连接。3.根据权利要求2所述的存内计算电路,其特征在于,还包括下列多项的一项或者多项:控制器,其被配置为生成读操作、写操作以及计算操作的控制信号以控制操作的执行;行解码器,其被配置为在执行写操作时激活字线WL,并且在执行读操作以及计算操作时激活读选择线RTL以及读反选择线RFL;移位掩码器,其被配置为接受模数的位数信息,并且生成产生移动操作的地址掩码以及移位操作的方向,其中掩码最高位是移位码,1表示左移,0表示右移;读控制器,其被配置为根据激活读选择线RTL以及读反选择线RFL的选通情况控制所述存内计算阵列中各列的读取数据位线RT以及读取反数据位线RF进行读取操作,其中所述读取数据位线RT以及读取反数据位线RF用于进行读操作以及计算操作;写控制器,其被配置为根据字线WL选通的待写入行控制所述存内计算阵列中各个写入数据位线WT以及写入反数据位线WF对所述存储单元进行写操作,其中所述写入数据位线WT以及写入反数据位线WF用于进行写操作;比较器,其被配置为对计算结果是否在需要的范围内进行判定,并且根据判断情况决定下一步操作;以及预充电器,其被配置为对电路进行预充电。4.根据权利要求3所述的存内计算电路,其特征在于,所述存储单元包括多个晶体管,其中所述存储单元被配置执行下列操作:当只导通读选择线RTL时,使第零晶体管T0导通,并且将第零读取数据位线RTO预充电至VDD电位;当存储单元处于高电位,其中存储的数据是1时,第一晶体管T1导通,并且通过第零晶体管T0以及第一晶体管T1将第零读取数据位线RTO的电位放电至低电位;以及当存储单元处于低电位,其中存储的数据是0时,第一晶体管T1不导通,所述第零读取数据位线RTO处于高电位。5.根据权利要求4所述的存内计算电路,其特征在于,所述存内计算阵列被配置为执行按位逻辑计算操作,其中包括:使存内计算阵列的同列中的两个存储单元分别存储1和0,导通第零读选择线RTLO以及第一读选择线RTL1,并且从第零读取数据位线RTO读取输出结果0以进行NOR计算;和\或使存内计算阵列的单个存储单元导通第零读选择线RTLO,并且从第零读取数据位线RTO读取输出结果0以进行NOT计算。6.根据权利要求5所述的存内计算电路,其特征在于,所述存内计算阵列被配置为执行多比特逻辑计算操作,其中包括:将两个N比特数据分别存储在存内计算阵列的第0行第0列到n

1列和第1行第0列到n

1列,使第零读选择线RTLO以及第一读选择线RTL1导通,并且从第零至第n

1读取数据位线
RTO至RTn

1读取输出结果以进行两个N比特数据的NOR计算;和\或通过导通读选择线RTL,并且从第零至第n

1读取数据位线RTO至RTn

1读取输出结果以进行一个N比特数据的NOT计算。7.根据要求6所述的存内计算电路,其特征在于,通过多个所述存储单元的移位操作以及减法操作以进行优化巴雷特模计算包括计算r=c mod q,其中c表示被模数,q表示N比特模数,其中包括:...

【专利技术属性】
技术研发人员:李冰刘怀骏王炳猛江皓哲
申请(专利权)人:首都师范大学
类型:发明
国别省市:

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

1