在对易失性和非易失性字节可寻址存储器分层时的数据安全性的制作方法

文档序号:35131384发布日期:2023-08-15 05:08阅读:52来源:国知局
在对易失性和非易失性字节可寻址存储器分层时的数据安全性的制作方法

本公开涉及管理易失性和非易失性字节可寻址存储器层之间的数据的通信的系统、方法和设备。


背景技术:

1、常规的计算机系统主要利用两个种类的可写数据存储介质:除非正在被主动刷新否则丢失其内容的易失性字节可寻址存储器(例如,动态随机存取存储器或dram)、以及即使在没有电能的情况下也保持其内容的非易失性块可寻址(例如,512字节、4k字节等的块)存储设备,诸如硬盘驱动器(hdd),固态驱动器(ssd)等。通常,易失性字节可寻址存储器的特征在于比非易失性块可寻址存储设备低的访问延迟和高的带宽。在操作中,计算机系统通常依赖于易失性字节可寻址存储器作为存储与执行代码相关联的运行时数据的系统随机存取存储器(ram),并且期望这一系统ram在计算机系统被断电或重新启动时被清除,并且计算机系统通常依赖于非易失性块可寻址存储设备用于长期持久数据存储,并且有时作为用于在可用系统ram短缺时临时存储数据(例如,冷存储器页面)的地方。

2、虽然易失性dram在历史上一直是可用字节可寻址存储器的主要形式,但最近的硬件开发已经产生了实用形式的非易失性字节可寻址存储器。各种形式的非易失性字节可寻址存储器被称为持久存储器(pmem)或非易失性随机存取存储器(nvram),并且示例技术包括相变存储器(pcm)、铁电随机存取存储器(feram)、磁阻随机存取存储器(mram)和电阻随机存取存储器(reram)。与诸如dram的易失性字节可寻址存储器不同,非易失性字节可寻址存储器在没有电源的情况下不会丢失其内容。虽然性能特性各不相同,但非易失性字节可寻址存储器技术的延迟和带宽通常介于易失性字节可寻址存储器(例如,dram)与非易失性块可寻址存储设备(例如,hdd、ssd等)的延迟和带宽之间。此外,一些非易失性字节可寻址存储器技术的每单位容量的成本小于dram。


技术实现思路

1、由于非易失性字节可寻址存储器(例如,pmem、nvram等)的性能和成本特性,最近的研究和开发关注于扩展系统ram的概念,以包括非易失性字节可寻址存储器和易失性字节可寻址存储器(例如,dram)的组合。一些技术使得启发应用(enlightened application)能够发现非易失性字节可寻址存储器池的存在,并且请求从该池向应用的存储器空间中的直接存储器分配,以用于在应用认为合适时使用。其他技术利用非易失性字节可寻址存储器池,以通过将高速缓存的存储器数据的部分从系统ram自动卸载到非易失性字节可寻址存储器来透明地提高存储器管理和应用性能(例如,作为丢弃高速缓存的存储器数据或将高速缓存的存储器数据分页到基于块的设备的备选)。

2、然而,由于它们是非易失性的,被存储在非易失性字节可寻址存储器上的数据在系统重新启动/重新引导和断电时幸存。这可能会违反开发应用时的预期,即,如果电源中断(例如,当系统被重新启动、重新引导或断电时;如果ram硬件被物理移除等),则系统ram的内容将被清除,并且因此,在系统ram中存储敏感数据是相对安全的。因而,大多数应用因此将数据放置在系统ram中,并且假定这些数据不会被“静止(at rest)”地存储,并且因此没有必要对这些数据应用密码保护。

3、本文中的至少一些实施例操作以使得能够与系统ram相结合来使用非易失性字节可寻址存储器,同时确保被存储在非易失性字节可寻址存储器上的数据受到密码保护。在实施例中,当数据的一部分要从易失性字节可寻址存储器被复制到非易失性字节可寻址存储器时,存储器管理器考虑与该数据相关联的密码策略、以及非易失性字节可寻址存储器的密码能力(如果有的话),并且如果非易失性字节可寻址存储器本身没有提供足够的密码保护,则使用软件加密来确保被放置在非易失性字节可寻址存储器上的数据根据密码策略受到保护。这样,存储器管理器智能地操作以在非易失性字节可寻址存储器的密码能力足够时利用非易失性字节可寻址存储器的密码能力、并且在非易失性字节可寻址存储器的密码能力不足时使用软件加密来保护数据来保护从易失性可寻址存储器被复制到非易失性字节可寻址存储器的数据。

4、在一些实施例中,方法、系统和计算机程序产品在对易失性和非易失性字节可寻址存储器的分层时确保数据安全性。在实施例中,对易失性和非易失性字节可寻址存储器分层表示布置这些存储器,从而使得易失性字节可寻址存储器是主存储器层,并且非易失性字节可寻址存储器是辅存储器层。在这种布置中,应用与主存储器层(即,易失性字节可寻址存储器)交互,而操作系统(os)将高速缓存数据从主存储器层卸载到辅存储器层(即,非易失性字节可寻址存储器)。这些实施例提供计算环境(或在其内操作),该计算环境包括处理器、字节可寻址并且易失性的第一存储器和字节可寻址并且非易失性的第二存储器,并且这些实施例操作以在将数据从第一存储器复制到第二存储器时确保数据安全性。这些实施例标识被存储在第一存储器中的、要被复制到第二存储器的高速缓存数据的一个或多个部分。高速缓存数据的每个部分与用于将高速缓存数据的部分存储在非易失性存储装置上的对应的一组密码要求相关联。这些实施例还标识第二存储器的一组密码能力。针对要被复制到第二存储器的高速缓存数据的一个或多个部分中的每个部分,这些实施例执行以下之一:(i)当对应的该组密码要求中的每个要求被该组密码能力满足时,将高速缓存数据的部分复制到第二存储器,同时依赖于第二存储器来对高速缓存数据的部分加密,或者(ii)当对应的该组密码要求中的至少一个要求未被该组密码能力满足时,对高速缓存数据的部分加密以生成高速缓存数据的加密部分并且将高速缓存数据的加密部分复制到第二存储器。

5、提供本
技术实现要素:
是为了以简化的形式介绍概念的选择,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在确定所要求保护的主题的关键特征或基本特征,也不旨在用作确定所要求保护主题的范围的辅助。



技术特征:

1.一种在计算机系统(101)处被实现的方法(300a),所述计算机系统包括处理器(102)、字节可寻址并且易失性的第一存储器(103)和字节可寻址并且非易失性的第二存储器(104),所述方法用于在将数据从所述第一存储器复制到所述第二存储器时确保数据安全性,所述方法包括:

2.根据权利要求1所述的方法,其中所述方法包括将高速缓存数据的所述一个或多个部分中的至少一个部分复制到所述第二存储器,同时依赖于所述第二存储器来对高速缓存数据的所述至少一个部分加密。

3.根据权利要求1所述的方法,其中所述方法包括:

4.根据任一前述权利要求所述的方法,其中高速缓存数据的每个部分与公共的一组密码要求相关联。

5.根据权利要求1所述的方法,其中高速缓存数据的所述一个或多个部分包括:(i)与对应的第一组密码要求相关联的高速缓存数据的第一部分,以及(ii)与对应的第二组密码要求相关联的高速缓存数据的第二部分,并且其中所述方法包括:

6.根据任一前述权利要求所述的方法,其中高速缓存数据的所述一个或多个部分包括备用列表中的一个或多个修剪存储器页面。

7.根据任一前述权利要求所述的方法,其中高速缓存数据的所述一个或多个部分包括被复制到页面文件的一个或多个活动存储器页面。

8.根据任一前述权利要求所述的方法,其中对高速缓存数据的所述部分加密以生成高速缓存数据的所述加密部分包括在所述处理器处执行一个或多个软件指令以对高速缓存数据的所述部分加密。

9.根据权利要求8所述的方法,其中所述一个或多个软件指令利用所述处理器的硬件加密加速能力。

10.根据任一前述权利要求所述的方法,还包括向在所述处理器处执行的至少一个应用呈现第一应用程序编程接口(api),所述第一api标识所述一组密码能力的至少部分。

11.根据任一前述权利要求所述的方法,还包括向在所述处理器处执行的至少一个应用呈现第二应用程序编程接口(api),所述第二api启用对至少一组密码要求的指定。

12.根据任一前述权利要求所述的方法,其中至少一组密码要求包括以下一项或多项:密码密钥寿命、密码密钥长度或密码算法。

13.根据任一前述权利要求所述的方法,其中所述一组密码能力包括以下一项或多项:密码密钥寿命、密码密钥长度或密码算法。

14.根据权利要求3、4和6至12中任一项所述的方法,其中所述一组密码能力是空集。

15.根据任一前述权利要求所述的方法,其中(i)将高速缓存数据的所述部分复制到所述第二存储器和(ii)将高速缓存数据的所述加密部分复制到所述第二存储器中的每项是处理器绑定操作。


技术总结
在对易失性和非易失性字节可寻址存储器分层时确保数据安全性。被存储在字节可寻址并且易失性的第一存储器中的高速缓存数据的部分被标识用于复制到字节可寻址并且非易失性的第二存储器。高速缓存数据的该部分与用于在非易失性存储装置上存储高速缓存数据的该部分的密码要求相关联。第二存储器的密码能力被标识。当密码要求中的每个密码要求被密码能力满足时,高速缓存数据的该部分被复制到第二存储器,同时依赖于第二存储器来对高速缓存数据的该部分加密。当至少一个密码要求未被密码能力满足时,高速缓存数据的该部分被加密以生成高速缓存数据的加密部分,并且高速缓存数据的该加密部分被复制到第二存储器。

技术研发人员:Y·巴克,M·伊甘,L·王
受保护的技术使用者:微软技术许可有限责任公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1