实现内存与外部存储器交换功能的方法和装置、安全处理器制造方法及图纸

技术编号:21033715 阅读:34 留言:0更新日期:2019-05-04 05:14
本发明专利技术提供了一种实现内存与外部存储器交换功能的方法和装置、安全处理器,能提高内存的使用效率,增强Linux处理突发大规模内存请求的能力。方法包括:在针对所述内存的第一内存页面进行页面换出时,执行包括以下的处理:从所述第一内存页面的以密文形式存储的第一内容中解析出第一明文,对第一明文进行加密得到第一密文,以及将第一密文存储在外部存储器中作为第二内容;在针对外部存储器中的第二内容进行页面换入时,执行包括以下的处理:对第二内容进行解密得到第二明文,为第二内容分配内存的第二内存页面,对第二明文和第二内存页面的地址进行混淆得到混淆结果,对混淆结果进行加密得到第二密文,以及将第二密文存储在第二内存页面中。

【技术实现步骤摘要】
实现内存与外部存储器交换功能的方法和装置、安全处理器
本专利技术涉及虚拟化
,具体而言,涉及一种实现内存与外部存储器交换功能的方法和装置、安全处理器。
技术介绍
Linux是一种操作系统,也是虚拟化技术中虚拟机管理程序hypervisor使用的操作系统。Linux的内存与外部存储器交换功能,又称swap,是指当Linux的可用内存不足,将部分长时间不使用的内存存储到外部存储上,从而释放出这部分内存。当需要使用被存储到外部存储上的内存内容时,Linux会分配一个新的页面,将内容从外部存储上复制过来。专利技术人在研究中发现,虚拟化技术中对物理内存的加密方式下产生的密文是与物理内存的地址相关的,将该密文换出到外部存储后再换入时,会利用新分配的物理内存的地址解密该密文,而该密文原来存储的物理内存的地址与新分配的物理内存的地址不同,此会造成解密失败,即在虚拟化技术中无法实现swap功能。当整个Linux的内存使用紧张时,某些长时间不使用的内存内容依然会占据内存空间,这必然降低了内存的使用效率,弱化了Linux处理突发大规模内存请求的能力。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种本文档来自技高网...

【技术保护点】
1.一种实现内存与外部存储器交换功能的方法,其特征在于,包括:在针对所述内存的第一内存页面进行页面换出时,执行包括以下的处理:从所述第一内存页面的以密文形式存储的第一内容中解析出第一明文,对所述第一明文进行加密得到第一密文,以及将所述第一密文存储在所述外部存储器中作为第二内容;以及在针对所述外部存储器中的所述第二内容进行页面换入时,执行包括以下的处理:对所述第二内容进行解密得到第二明文,为所述第二内容分配所述内存的第二内存页面,对所述第二明文和所述第二内存页面的地址进行混淆得到混淆结果,对所述混淆结果进行加密得到第二密文,以及将所述第二密文存储在所述第二内存页面中。

【技术特征摘要】
1.一种实现内存与外部存储器交换功能的方法,其特征在于,包括:在针对所述内存的第一内存页面进行页面换出时,执行包括以下的处理:从所述第一内存页面的以密文形式存储的第一内容中解析出第一明文,对所述第一明文进行加密得到第一密文,以及将所述第一密文存储在所述外部存储器中作为第二内容;以及在针对所述外部存储器中的所述第二内容进行页面换入时,执行包括以下的处理:对所述第二内容进行解密得到第二明文,为所述第二内容分配所述内存的第二内存页面,对所述第二明文和所述第二内存页面的地址进行混淆得到混淆结果,对所述混淆结果进行加密得到第二密文,以及将所述第二密文存储在所述第二内存页面中。2.根据权利要求1所述的方法,其特征在于,所述从所述第一内存页面的以密文形式存储的第一内容中解析出第一明文,包括:判断所述第一内容是否是密文;若所述第一内容是密文,从所述第一内容中解析出第一明文;其中,所述对所述第二内容进行解密得到第二明文,包括:判断所述第二内容是否为密文,若所述第二内容是密文,则对所述第二内容进行解密得到第二明文。3.根据权利要求2所述的方法,其特征在于,所述判断所述第一内容是否是密文,包括:获取嵌套分页表中所述第一内存页面对应的页表项的第n1比特位的值;若判断获知所述第一内存页面对应的页表项的第n1比特位的值为第一数值,则确定所述第一内容是密文,否则,则确定所述第一内容不是密文;其中,在所述将所述第一密文存储在所述外部存储器中作为第二内容之后,包括:设置所述第一内存页面对应的页表项的第n2比特位的值为第二数值,其中,n1和n2是整数,且52≤n1≤62,52≤n2≤62。4.根据权利要求3所述的方法,其特征在于,所述判断所述第二内容是否为密文,包括:获取所述第一内存页面对应的页表项的第n2比特位的值,判断所述第一内存页面对应的页表项的第n2比特位的值是否为所述第二数值,若所述第一内存页面对应的页表项的第n2比特位的值是所述第二数值,则确定所述第二内容是密文,否则,则确定所述第二内容不是密文;其中,在所述将所述第二密文存储在所述第二内存页面中之后,还包括:设置所述嵌套分页表中所述第二内存页面对应的页表项的第n1比特位的值为所述第一数值。5.根据权利要求2所述的方法,其特征在于,所述若所述第一内容是密文,从所述第一内容中解析出第一明文,还包括:若所述第一内容不是密文,则将所述第一内容存储在所述外部存储器中;其中,所述若所述第二内容是密文,则对所述第二内容进行解密得到第二明文,还包括:若所述第二内容不是密文,则为所述第二内容分配所述内存的第三内存页面,将所述第二内容存储在所述第三内存页面中,并设置嵌套分页表中所述第三内存页面对应的页表项的第n1比特位的值为第三数值。6.根据权利要求1所述的方法,其特征在于,所述从所述第一内存页面的以密文形式存储的第一内容中解析出第一明文,对所述第一明文进行加密得到第一密文,包括:使用第一加密密钥从所述第一内容中解析出第一明文,使用第二加密密钥对所述第一明文进行加密得到第一密文;其中,所述对所述第二内容进行解密得到第二明文,包括:使用所述第二加密密钥对所述第二内容进行解密得到第二明文;所述对所述混淆结果进行加密得到第二密文,包括:使用所述第一加密密钥对所述混淆结果进行加密得到第二密文。7.根据权利要求3所述的方法,其特征在于,在所述从所述第一内存页面的以密文形式存储的第一内容中解析出第一明文之前,还包括:在所述第一内存页面分配后,判断所述第一内存页面是否需要加密;若所述第一内存页面需要加密,则设置所述嵌套分页表中所述第一内存页面对应的页表项的第n1比特位的值为所述第一数值,否则,则设置所述嵌套分页表中所述第一内存页面对应的页表项的第n1比特位的值为第三数值;其中,在所述为所述第二内容分配所述内存的第二内存页面之后,还包括:判断所述第二内存页面是否需要加密;若所述第二内存页面需要加密,则设置所述嵌套分页表中所述第二内存页面对应的页表项的第n1比特位的值为所述第一数值,否则,则设置所述嵌套分页表中所述第二内存页面对应的页表项的第n1比特位的值为所述第三数值。8.一种实现内存与外部存储器交换功能的装置,其特征在于,包括:换出单元,用于在针对所述内存的第一内...

【专利技术属性】
技术研发人员:刘子行应志伟杜朝晖
申请(专利权)人:海光信息技术有限公司
类型:发明
国别省市:天津,12

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

1