当前位置: 首页 > 专利查询>厦门大学专利>正文

一种在加密情境下减少非易失性内存写放大方法技术

技术编号:33552787 阅读:15 留言:0更新日期:2022-05-26 22:49
本发明专利技术提出一种在加密情境下减少非易失性内存写放大方法,包括:计数器产生步骤,加密步骤,加密计数器纠删码融合步骤,数据写入步骤,数据读取步骤,密文解密步骤,数据验证纠错步骤。本发明专利技术提出的方法在不影响缓存行数据的可靠性的前提下,通过将加密计数器融入到缓存行的纠删码中,减轻在加密情境下由于需要额外写入加密元数据导致的写放大问题,同时通过扩大加密计数器的大小来减少重新加密的频率,提高非易失性内存的使用寿命,降低读写延迟和使用能耗。用能耗。用能耗。

【技术实现步骤摘要】
一种在加密情境下减少非易失性内存写放大方法


[0001]本专利技术涉及计算机数据存储领域,特别是指一种在加密情境下减少非易失性内存写放大方法。

技术介绍

[0002]当前,非易失性存储器由于具有非易失性、字节寻址、良好的扩展性等特性而得到工业界和学术界的广泛关注,非易失性内存是下一代计算机内存系统不可或缺的组成部分。虽然非易失性内存有着众多优势,但是其有限的写耐久次数和高的写入延迟成为了计算机整体系统性能提高的瓶颈,同时相对于传统的内存,由于非易失性内存的非易失性(即在系统掉电后,数据并不会丢失,攻击者很容易就可以得到内存当中的数据),非易失性内存系统存在严重的数据安全问题。
[0003]为了解决非易失性内存中数据持久性引起的数据安全问题,数据加密方法被广泛应用。而如果直接对内存数据进行加密会导致读取数据、读取密文和解密过程只能串行执行,导致性能的下降。因此,现在业界主要使用计数器模式加密,使用这种加密方法可以使得读取密文和解密流程并行执行,大大提升了系统的性能。虽然通过数据加密方法保证了数据的安全性,却进一步加剧了非易失性内存的写磨损,这对写耐久次数本就有限的非易失性存储器来说是不能接受的。而且计数器模式加密虽然提升了性能,但是在计数器溢出时,需要对整个页(一般是4KB)进行重新加密,这也加剧了写磨损,缩短了非易失性内存的使用寿命。非易失性存储器,例如PCM(相变存储器)的写耐久次数只有107~108,当存储器经历了一定的写次数之后,存储器老化,就容易造成数据错误,而当写次数达到最大值时,存储器的寿命也会随之结束。

技术实现思路

[0004]本专利技术的主要目的在于克服现有技术中的上述缺陷,提出一种在加密情境下减少非易失性内存写放大方法,在不影响缓存行数据的可靠性的前提下,通过将加密计数器融入到缓存行的纠删码中,减轻在加密情境下由于需要额外写入加密元数据导致的写放大问题,同时通过扩大加密计数器的大小来减少重新加密的频率,提高非易失性内存的使用寿命,降低读写延迟和使用能耗。
[0005]本专利技术采用如下技术方案:
[0006]一种在加密情境下减少非易失性内存写放大方法,包括:
[0007]计数器产生步骤:采用双计数器混合模式或采用唯一计数器模式;
[0008]所述双计数器混合模式中包括第一计数器和第二计数器,对于所写入的缓存行数据,将该缓存行的第二计数器加一;若加一之后,第二计数器溢出,则将第二计数器置零并将第一计数器加一;唯一计数器模式中,对于每次缓存行数据写入,唯一计数器加一;
[0009]纠删码产生步骤:对于一个缓存行,采用SEC

DED码和BCH码两种纠删码编码;
[0010]加密步骤:根据缓存行的地址和计数器使用高级加密标准产生与缓存行数据大小
相同的一次性密码本,然后将缓存行数据与一次性密码本进行异或操作实现数据加密操作;
[0011]加密计数器纠删码融合步骤:将计数器放入每个缓存行的比特纠删码空间中,实现加密计数器纠删码融合;
[0012]数据写入步骤:若缓存行数据命中数据缓存,则在数据缓存当中进行数据更新,同时在计数器缓存当中更新相应的计数器;若采用唯一计数器模式,则计数器缓存中每个页的计数器以基量加增量的方式存在;若缓存行数据未命中数据缓存,则根据LRU算法进行缓存替换,并使用更新之后的计数器产生新的一次性密码本,对缓存行数据进行加密,并将被替换的缓存行、纠删码和加密计数器一起写入内存系统当中;
[0013]数据读取步骤:根据读取请求到内存系统当中相应的地址读取密文数据和纠删码数据。
[0014]密文解密步骤:根据读取请求到计数器缓存当中读取相应的计数器,使用AES算法产生一次性密码本,完成读取数据后,将一次性密码本与密文数据进行异或操作得到明文数据;
[0015]数据验证纠错步骤:根据得到的明文数据计算新的纠删码,并与原有的纠删码进行对比,若比对结果相一致,读取完成;否则,则进行数据恢复。
[0016]具体地,纠删码产生步骤:对于一个缓存行,采用SEC

DED码或BCH码进行纠删码编码,具体为:
[0017]使用SEC

DED码来保证数据的准确性,对应双计数器混合模式,将一个64字节的缓存行分为8个8字节的数据块,针对每个数据块产生对应的SEC

DED实现双检错,其中纠错功能通过穷举遍历来实现;
[0018]使用BCH码来保证数据的准确性,对应唯一计数器模式,采用36个检验位来纠4个比特错误。
[0019]具体地,加密计数器纠删码融合步骤:将计数器放入每个缓存行的比特纠删码空间中,实现加密计数器纠删码融合,具体为:
[0020]若采用双计数器混合模式,每个缓存行存在64比特纠删码空间,使用SEC

DED需56比特空间,每个缓存行存在8比特的空闲空间,将第二计数器存放到空闲空间中;
[0021]若采用唯一计数器模式,每个缓存行有64比特纠删码空间,而采用BCH码需36比特空间,每个缓存行有28比特的空闲空间,将唯一计数器存放到空闲空间中。
[0022]具体地,数据写入步骤中,在计数器缓存当中更新相应的计数器,具体为:
[0023]对计数器缓存进行更新时,首先将增量加一,若增量溢出,则将该缓存行所属页当中所有的缓存行的计数器进行扫描,并将当中最小值作为新的增量,并更新该页当中所有缓存计数器的增量;采用更新之后的计数器产生新的一次性密码本,对缓存行数据进行加密。
[0024]具体地,数据验证纠错步骤中,进行数据恢复,具体为:
[0025]若采用SEC

DED来产生纠删码,则通过穷举方法进行数据恢复;具体为:将64字节的缓存行数据分为8个8字节的数据块,对每个数据块进行比对恢复,对于每个8字节的数据块,通过改变该数据块第k个位置上的比特数据,k为1~64,若原有第k位置上的比特数据为“1”,则将其改变为“0”,否则将其改变为“1”,再计算改变一个比特位后的数据块的SEC

DED,将该SEC

DED与原有的汉明码进行对比,若匹配成功,则数据恢复成功,终止数据恢复过程;否则,进行下一个数据比特修改,直至匹配成功;
[0026]若采用BCH码来产生纠删码,则直接进行BCH解码恢复准确数据。
[0027]由上述对本专利技术的描述可知,与现有技术相比,本专利技术具有如下有益效果:
[0028]本专利技术在不影响原有纠删码纠错检错功能的前提下,通过将加密计数器存放到相应缓存行的纠删码的部分空间当中,将缓存行数据写和加密计数器写融合成一次写,避免了缓存行数据写和加密计数器写双写带来的写放大问题,其中纠错功能通过穷举计算来恢复。此外,通过将双计数器混合模式中的第二计数器的大小扩大一倍来降低内存重新加密的频率,和将唯一计数器模式中的唯一计数器的大小提升到设备的最大磨损次数来彻底规避内存重新加密,同时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在加密情境下减少非易失性内存写放大方法,其特征在于,包括:计数器产生步骤:采用双计数器混合模式或采用唯一计数器模式;所述双计数器混合模式中包括第一计数器和第二计数器,对于所写入的缓存行数据,将该缓存行的第二计数器加一;若加一之后,第二计数器溢出,则将第二计数器置零并将第一计数器加一;唯一计数器模式中,对于每次缓存行数据写入,唯一计数器加一;纠删码产生步骤:对于一个缓存行,采用SEC

DED码或BCH码进行纠删码编码;加密步骤:根据缓存行的地址和计数器使用高级加密标准产生与缓存行数据大小相同的一次性密码本,然后将缓存行数据与一次性密码本进行异或操作实现数据加密操作;加密计数器纠删码融合步骤:将计数器放入每个缓存行的比特纠删码空间中,实现加密计数器纠删码融合;数据写入步骤:若缓存行数据命中数据缓存,则在数据缓存当中进行数据更新,同时在计数器缓存当中更新相应的计数器;若采用唯一计数器模式,则计数器缓存中每个页的计数器以基量加增量的方式存在;若缓存行数据未命中数据缓存,则根据LRU算法进行缓存替换,并使用更新之后的计数器产生新的一次性密码本,对缓存行数据进行加密,并将被替换的缓存行、纠删码和加密计数器一起写入内存系统当中;数据读取步骤:根据读取请求到内存系统当中相应的地址读取密文数据和纠删码数据。密文解密步骤:根据读取请求到计数器缓存当中读取相应的计数器,使用AES算法产生一次性密码本,完成读取数据后,将一次性密码本与密文数据进行异或操作得到明文数据;数据验证纠错步骤:根据得到的明文数据计算新的纠删码,并与原有的纠删码进行对比,若比对结果相一致,读取完成;否则,则进行数据恢复。2.根据权利要求1所述的一种在加密情境下减少非易失性内存写放大方法,其特征在于,纠删码产生步骤:对于一个缓存行,采用SEC

DED码和BCH码两种纠删码编码,具体为:使用SEC

DED码来保证数据的准确性,对应双计数器混合模式,将一个64字节的缓存行分为8个8字节的数据块,针对每个数据块产生对应的SEC
‑...

【专利技术属性】
技术研发人员:毛波吴素贞吴嘉鹏杜春锋陈佳泓
申请(专利权)人:厦门大学
类型:发明
国别省市:

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

1