CN105706169A - 混合安全非易失性主存储器 - Google Patents

混合安全非易失性主存储器 Download PDF

Info

Publication number
CN105706169A
CN105706169A CN201380078603.7A CN201380078603A CN105706169A CN 105706169 A CN105706169 A CN 105706169A CN 201380078603 A CN201380078603 A CN 201380078603A CN 105706169 A CN105706169 A CN 105706169A
Authority
CN
China
Prior art keywords
storage page
memory
data
page
memory data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201380078603.7A
Other languages
English (en)
Inventor
S.李
J.常
P.兰加纳桑
D.H.尹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN105706169A publication Critical patent/CN105706169A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0059Security or protection circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • G11C14/0036Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell and the nonvolatile element is a magnetic RAM [MRAM] element or ferromagnetic cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Storage Device Security (AREA)

Abstract

根据示例,一种混合安全非易失性主存储器(HSNVMM)可以包括以加密格式存储存储器数据的非工作集的非易失性存储器(NVM)以及以解密格式存储存储器数据的工作集的动态随机存取存储器(DRAM)。密码引擎可以选择性地加密和解密存储器数据的工作和非工作集中的存储器页。安全控制器可以基于包括干净存储器页、脏存储器页、工作集存储器页以及非工作集存储器页的存储器数据特性来控制NVM和DRAM缓冲器中的存储器数据放置和重放置。安全控制器可以进一步基于存储器数据特性向密码引擎提供增量加密和解密指令。

Description

混合安全非易失性主存储器
背景技术
诸如忆阻器、相变随机存取存储器(PCRAM)和自旋转移力矩随机存取存储器(STT-RAM)之类的非易失性存储器(NVM)技术提供构建相对快速且不昂贵的非易失性主存储器(NVMM)系统的可能性。这些NVMM系统可以用于实现例如瞬时开启系统、高性能持久性存储器以及单级存储器和存储装置。NVMM系统典型地遭受安全漏洞,因为这些系统中的信息在系统掉电之后保持在其上。该安全漏洞可以用于从NVMM系统对信息的未经授权的提取。
附图说明
本公开的特征是通过示例的方式来说明的且在以下(一幅或多幅)附图中不受限,在附图中相似的标号指示相似的元素,其中:
图1图示了根据本公开的示例的混合安全非易失性主存储器(HSNVMM)的架构;
图2图示了根据本公开的示例的用于图1的HSNVMM的安全控制器;
图3图示了根据本公开的示例的用于实现图1的HSNVMM的方法;
图4图示了根据本公开的示例的用于实现图1的HSNVMM的方法的进一步细节;以及
图5图示了根据本公开的示例的计算机系统。
具体实施方式
出于简明和说明性目的,通过主要参照示例来描述本公开。在以下描述中,阐述众多具体细节以便提供对本公开的透彻理解。然而,将容易明显的是,本公开可以在不限于这些具体细节的情况下实践。在其它实例中,一些方法和结构未被详细描述以免不必要地使本公开晦涩难懂。
贯穿本公开,术语“一”和“一个”意图表示至少一个特定元件。如本文所使用的,术语“包括”意指包括但不限于,术语“包括……在内”意指包括……在内但不限于。术语“基于”意指至少部分地基于。
相比于易失性存储器,用于实现非易失性主存储器(NVMM)系统的非易失性存储器(NVM)技术可以向使用这样的存储器类型的系统添加漏洞。例如,在缺少安全特征的情况下,可以使NVM离线并与NVMM系统分离地对NVM进行扫描以获取敏感信息,甚至当NVMM系统断电时亦如此,因为数据保持在NVM中。提供NVMM系统中的安全性的技术的示例包括加密。然而,加密可能负面地影响NVMM系统的性能特性。例如,与其中加密等待时间可能计及总体盘访问等待时间的相对小百分比的硬盘驱动器加密形成对照,硬件加密等待时间可能计及主存储器访问等待时间的相对高百分比。
根据示例,本文公开了一种混合安全非易失性主存储器(HSNVMM)。HSNVMM可以提供自包含的安全且高性能主存储器。例如,HSNVMM的加密能力可以独立于特定处理器平台或指令集架构(ISA),且可能不需要对处理器架构的具体改变。HSNVMM可以提供范围例如从服务器、膝上型电脑和移动电话到嵌入式系统的广范围的平台上的普适性解决方案。HSNVMM还可以提供用于易失性存储器系统(例如动态随机存取存储器(DRAM))的普适性重放置。HSNVMM可以以最小的性能开销提供安全性和加密。HSNVMM还可以用于将以数据为中心的数据中心作为目标以提供针对具有大工作数据集的存储器中工作负载的安全解决方案。
HSNVMM可以使用如本文所描述的增量加密。例如,关于批量加密和增量加密,对于基于DRAM的主存储器,当系统掉电时,存在在其中主存储器仍旧保留信息的称为漏洞窗口(VW)的短暂时间段(例如从半秒到几秒)。相比于基于DRAM的系统,HSNVMM可以提供VW的匹配和/或减小。批量加密可以被定义为当系统掉电时整个存储器的加密。增量加密可以包括一直维持所加密的存储器的大部分,使得存储器页的小百分比需要在掉电时被加密。在NVMM上的批量加密的情况下,加密整个主存储器可能花费相对长的时间(例如数十秒或甚至更长),因而VW可能比DRAM的VM大得多。此外,在批量加密的情况下,VW可以被确定为每存储器模块的存储器容量和写入带宽的函数。当在未来的系统中提供更大的主存储器时,VW可能增长。对于利用增量加密的NVMM,存储器的不同部分可以在不同时间处被加密,使得工作集数据被解密并且典型地大得多的其余存储器数据处于经加密的形式。因此,对于利用增量加密的NVMM,在任何给定时间处,存储器的大部分处于经加密的形式。由于存储器的一小部分需要在掉电时被加密,因此VW可以短得多,从而匹配或优于DRAM系统的VW。
在增量加密的情况下,要加密的主存储器的小部分可以被确定为当系统掉电时运行的应用的工作集(即,被应用频繁访问的存储器)的函数,并且要加密的主存储器的小部分可以不取决于总物理主存储器的大小。因此,不同于批量加密,VW可以不随总物理存储器的大小而线性增长。然而,一般增量加密可能不是足够的,因为存储器中数据工作负载可以包括非常大的工作集(例如从数吉比特(GB)到数百GB)。在这样的大工作集的情况下,一般增量加密可能仍旧招致非常大的VW且因而未能满足安全需要。
HSNVMM可以包括工作集预测器(WSP),以促进增量加密并执行预测将不属于工作集的冷存储器页和将属于工作集的将来热存储器页的任务。关于将不属于工作集的冷存储器页的预测,冷存储器页可能需要被加密且存储回到HSNVMM的NVM。这确保HSNVMM中的存储器的大多数可以始终被加密。关于将属于工作集的将来热存储器页的预测,被预测为热的存储器页可能需要被预解密。这通过确保存储器访问将一般使用提前解密的存储器页来提供解密等待时间的隐藏。
HSNVMMWSP还可以计及误预测。例如,冷存储器页上的误预测可能使冷存储器页(即,经加密的存储器页)得到将来存储器访问。对于这样的经误预测的冷存储器页,针对每一次存储器访问可能需要按需加密。另外,将来存储器访问还可能是对冷存储器页的残余存储器访问。因此,在存储器访问时解密整个存储器页可能不太高效,并且HSNVMM可以包括密码引擎以解密所需的高速缓存块,如与整个存储器页形成对照。可替换地,如果存在对经加密的冷页的许多存储器访问,HSNVMM密码引擎可以解密整个存储器页以隐藏针对对相同存储器页的将来存储器访问的任何解密等待时间。因此,HSNVMMWSP可以维持按需解密的阈值以控制何时解密被预测为冷且因而被加密的整个存储器页。在该情况中整个解密的存储器页可以被表示为经按需解密的存储器页。误预测还可能发生在预测热页时。例如,当许多存储器页被预测为热(即,被预解密)但接收到非常少的存储器访问时,经解密的存储器页的总数可能过于膨胀。这可能导致安全问题,诸如例如更大的VW和减少的存储器保护。
本文所公开的HSNVMM可以因而提供例如一种用于以数据为中心的数据中心的自包含、安全且高性能的基于NVM的主存储器系统。本文所公开的HSNVMM可以提供益处,诸如例如,针对基于NVM的主存储器系统的改进的安全性,以及性能和损耗均衡中的改进。本文所公开的HSNVMM还可以支持在加密和解密格式之间的转变期间干净和脏解密存储器页的分离,其可以提供针对较高安全标准的VW的减小,以及因而针对存储器中工作负载和以数据为中心的数据中心的适用性。HSNVMM还可以通过主动加密存储器页和在基于HSNVMM的系统空闲时其DRAM缓冲器的深度掉电来提供安全保证。这可以确保除离线系统的安全性以外在线系统的存储器安全性。HSNVMM可以包括数据重放置策略以确保安全保证并同时最大化性能和损耗均衡改进。HSNVMM可以使用敏感/非敏感数据区上的处理器提示,其可以进一步改进基于HSNVMM的系统安全性和性能。HSNVMM还可以被实现为对软件透明,且可以用于具有板上缓冲器(BoB)的存储器架构。
图1图示了根据示例的混合安全非易失性主存储器(HSNVMM)100的架构。参照图1,将HSNVMM100描绘为包括一般以加密格式存储存储器数据的非工作集(例如存储器页104)的NVM102。易失性存储器,诸如动态随机存取存储器(DRAM)缓冲器106,可以一般以解密格式存储存储器数据的工作集(例如存储器页108)。密码引擎110可以加密和解密存储器数据。密码引擎110可以接收用于加密和解密存储器数据的加密/解密密钥112。安全控制器114可以控制NVM102和DRAM缓冲器106中的存储器页放置/重放置(以下被表示为“(重)放置”)。DRAM缓冲器106的标签部分116可以用于定位实际存储器页。存储器通道118可以提供从处理器侧存储器控制器的存储器访问(如120处所示)以及用于存储器访问的返回数据(如122处所示)。对于图1,具有箭头的虚线可以指示控制流路径,并且具有箭头的实线可以指示数据流路径。
执行HSNVMM100中的各种其它功能的HSNVMM100的组件可以包括存储在非暂时性计算机可读介质上的机器可读指令。此外或者可替换地,HSNVMM100的组件可以包括硬件或者机器可读指令和硬件的组合。例如,HSNVMM100的组件可以是使用运行预加载的代码的HSNVMM100上的微处理器和/或专用集成电路(ASIC)来实现的。
参照图1描述用于HSNVMM100的增量加密。
HSNVMM100可以包括适合于例如使用非常大工作集存储器的以数据为中心的数据中心和存储器中工作负载的增量加密。增量加密可以是通过使用NVM102和DRAM缓冲器106以分离工作集中的干净和脏存储器页、使用来自处理器的支持提示和/或使用针对NVM102和DRAM缓冲器106的数据(重)放置策略来提供的。
参照图1描述使用NVM102和DRAM缓冲器106以分离工作集中的干净和脏存储器页。
关于使用NVM102和DRAM缓冲器106以分离工作集中的干净和脏存储器页,当应用访问工作集存储器时,一般地,大于一半的访问可能是读取。因此,工作集中的存储器页的大多数可以是干净的(即,没有改变数据值的存储器写入)存储器页。由于工作集存储器页处于解密格式,因此当使用HSNVMM100的系统断电时,这些存储器页需要被(重)加密。然而,(重)加密干净存储器页可能浪费时间和能量。而且,加密大数目的干净存储器页可能显著增加VW的大小。因此,对于HSNVMM100,安全控制器114可以通过使用NVM102和DRAM缓冲器106来分离干净和脏存储器页。经解密的工作集(例如存储器页108)可以一般存储在DRAM缓冲器106中,并且NVM102可以一般存储经加密的页(例如存储器页104),除非DRAM缓冲器106溢出。在使用HSNVMM100的系统的断电期间,DRAM缓冲器106中的脏存储器页可能需要被加密且存储回到NVM102,并且干净页可以保持在DRAM缓冲器106中且由于DRAM缓冲器106是易失性的而消失。该方法可以减少在使用HSNVMM100的系统的断电期间(重)加密存储器页所需要的时间以便更好地匹配DRAM缓冲器106的VW。
使用NVM102和DRAM缓冲器106以分离工作集中的干净和脏存储器页还可以提供在使用HSNVMM100的系统未掉电的时间期间增量加密的安全级别的改进。例如,当使用HSNVMM100的系统空闲时,HSNVMM100可以加密DRAM缓冲器106中的脏存储器页,将经加密的存储器页存储回到NVM102,并将DRAM缓冲器106放置在深度掉电模式中。由于处于深度掉电模式中的DRAM缓冲器106不保留数据,因此空闲系统可以包括被加密和存储在NVM102中的所有数据。如果使用HSNVMM100的系统受损,NVM102中的存储器页已经被加密且即使系统仍旧通电也受保护。
参照图1描述来自处理器的支持提示的使用。
关于基于使用NVM102和DRAM缓冲器106和使用来自处理器的支持提示的增量加密,安全控制器114可以使用来自处理器的提示以改进HSNVMM100性能和效率。例如,与每一个存储器访问请求一起,处理器(例如,图5的处理器502)可以发送附加信息,诸如目的地存储器页是敏感的且因而需要被加密还是不敏感的。一般地,由于并非所有存储器数据都是敏感的,因此通过识别和加密敏感数据,加密开销可以被进一步减小。
对于HSNVMM100,NVM102可以充当以加密格式存储存储器数据的非工作集(例如存储器页104)的主存储介质,并且DRAM缓冲器106可以以解密格式存储存储器数据的工作集(例如存储器页108)。因此,DRAM缓冲器106可以充当用于NVM102的易失性高速缓存。DRAM缓冲器106可以被布置为具有默认等于NVM存储器页的高速缓存线大小(例如4KB)的集关联高速缓存。DRAM缓冲器106还可以支持多个粒度,例如从存储器页到64B高速缓存块(具有为64B的最小加密粒度),以促进DRAM缓冲器106的改进使用,但具有更高的实现开销。DRAM缓冲器106还可以被组织为直接映射或完全关联的高速缓存。
由于DRAM缓冲器106一般包括相比于NVM102不同的数据格式,因此HSNVMM100可以包括数据(重)放置策略以满足针对安全性和性能的需要。针对安全性的度量可以基于漏洞窗口(VW),其可以被定义为其中当使用HSNVMM100的系统掉电时NVM102仍旧保留不安全信息的时间段。VW的大小可以取决于在使用HSNVMM100的系统的系统断电期间需要加密的存储器页的总数(即,基于其状态、位置和敏感性)。目标VW可以是通过HSNVMM100和/或使用HSNVMM100的系统上的后备功率(例如超级电容器的大小)和/或安全需要来确定的。基于安全需要和/或后备功率,VW可以例如由系统基本输入/基本输出(BIOS)和/或系统管理员来设置。
参照图1描述针对HSNVMM100的数据(重)放置策略。
安全控制器114可以使用针对NVM102和DRAM缓冲器106的数据(重)放置策略,使得DRAM缓冲器106可以用于以解密格式存储存储器数据的工作集,而NVM102可以以加密格式提供用于整个存储器数据的主存储(除非DRAM缓冲器106溢出,如本文所讨论的那样)。因此,NVM102在存储容量方面相比于DRAM缓冲器106而言可以相对较大。DRAM缓冲器106还可以被视为用于NVM介质的易失性高速缓存。然而,NVM102和DRAM缓冲器106中的数据可以具有不同格式。例如,NVM102中的数据可以是经加密的(除非DRAM缓冲器106溢出),并且DRAM缓冲器106中的数据可以是经解密的。数据类型可以包括例如经加密的敏感数据、经解密的敏感数据以及经解密的非敏感数据。处理器(例如处理器502)可以用于提供关于数据是敏感的还是非敏感的提示。而且,对于每一种数据类型,存储器页可以是干净或脏的。
从安全性角度来看,安全控制器114可以命令敏感数据的干净存储器页存储在DRAM缓冲器106中,使得干净页可以在使用HSNVMM100的系统断电或进入空闲状态时被轻易丢弃。敏感数据的脏存储器页可以存储在DRAM缓冲器106中或NVM102中,且当使用HSNVMM100的系统断电或进入空闲状态时可能需要被重加密。另外,非敏感数据页可能不需要加密且可以被放置在DRAM缓冲器106或NVM102中。
DRAM缓冲器106与NVM102之间的性能、能量和/或耐久性差异的卷入可能向针对HSNVMM100的数据(重)放置添加复杂度。例如,DRAM缓冲器106和NVM102可以具有在读取上相当的性能和能量效率,而在某些实例中,诸如相变随机存取存储器(PCRAM)之类的NVM相比于DRAM可能具有在性能和能量效率上的更高开销。而且,一些NVM存储器类型,诸如例如基于PCRAM和忆阻器的NVM,可能偏好比较少的写入。安全控制器114可以使用针对NVM102和DRAM缓冲器106的数据(重)放置策略来解决前述方面并满足安全需要,同时优化针对HSNVMM100的性能、能量效率和耐久性。
关于数据(重)放置策略,安全控制器114可以控制DRAM缓冲器106中的存储器页(重)放置。当新存储器页需要被解密时,安全控制器114可以首先计算当前VW大小(在新存储器页的情况下),对照目标VW大小来比较当前VW大小,且然后选择受害者存储器页以从DRAM缓冲器106逐出。VW大小可以是基于用户需要来调节和/或观察的。
关于逐出,如果当前VW(在新存储器页的情况下)小于目标VW,脏和干净解密页二者均可以存储在DRAM缓冲器106中。另外,当发生冲突时,脏页可以比干净页优先存储在DRAM缓冲器116中以改进性能,假定DRAM缓冲器106具有相比于NVM102而言较好的写入性能和/或耐久性。这指示了经解密的存储器页可以溢出到NVM102而没有加密,如果它们被预测为仍旧在工作集(例如存储器页108)中的话,这是因为当使用HSNVMM100的系统断电时,存在足够的时间来加密经解密的页。另外,对经解密的存储器页的存储器访问可以绕过DRAM缓冲器106以直接访问NVM102。由于干净存储器页被选择为首先溢出到NVM102的受害者,因此NVM102中的经解密的存储器页一般可以是干净页,并且对NVM102的存储器访问一般可以是读取,在NVM102中包括干净存储器页可以导致相对小的开销。
关于逐出,如果当前VM(在新存储器页的情况下)大于目标VW,干净存储器页可以比脏存储器页优先存储在DRAM缓冲器106中。这可以确保存储器页的较小集合需要被加密,因为干净存储器页在使用HSNVMM100的系统断电时可以被丢弃。当当前VW大于目标VW时,这意味着所预测的工作集(即,存储器页108)大于DRAM缓冲器106的容量(包括关联性效应)。因此,安全控制器114还可以提供从DRAM缓冲器106逐出的存储器页的加密,并且对存储器页的将来后续访问可能招致解密开销。
当NVM102中的经加密的冷存储器页被访问时,密码引擎110可以首先解密所需的高速缓存块以服务于存储器请求,而不解密整个存储器页直到存储器页上的存储器访问的总数达到预定阈值。此后,可以解密整个存储器页(存储器页可以称为按需解密页),并且取决于逐出策略而将其存储在NVM102或DRAM缓冲器106中。安全控制器114还可以通过使按需解密页比预解密页优先存储在DRAM缓冲器106中来最小化性能开销,因为按需解密页可能已经接收到许多存储器访问以达到预定阈值。然而,良好预测的预解密的存储器页可能受处罚,如果它们一般被降低优先级的话。因此,在预解密的存储器页接收到许多存储器访问之后,预解密的存储器页可以被标记为按需解密页。
安全控制器114还可以提供前摄逐出。当存储器页被预测为冷(即,不在工作集中)时,存储器页可以被前摄地从DRAM缓冲器106逐出、加密且存储回到NVM102以隐藏逐出等待时间。因此,相比于包括按需逐出的高速缓存,安全控制器114所使用的(重)放置策略还可以包括前摄逐出。另外,冷存储器页可以停留在DRAM缓冲器106中直到按需逐出,其可以减少当DRAM缓冲器106中的冲突率为低时冷存储器页误预测上的处罚。
关于逐出,如果处理器(例如图5的处理器502)标记非敏感数据,干净非敏感存储器页可以被放置在NVM102中以减少DRAM缓冲器106的资源上的竞争,因为NVM102上的读取操作一般导致最小的开销。脏非敏感存储器页可以存储在DRAM缓冲器106中以优化当当前VM与目标VM之间的时间差超过预定阈值时HSNVMM100的性能和耐久性。如果当前VW与目标VW之间的时间差小于预定阈值,脏非敏感存储器页可以存储在NVM102中以确保敏感数据的安全保证。另外,当选择供逐出的受害者时,最近最少使用(LRU)准则可以被应用作为最终僵局打破者。数据(重)放置策略可以因而满足针对安全性和性能的需要。
参照图1,关于NVM102与DRAM缓冲器106之间的数据(重)放置策略,可以存在NVM102与DRAM缓冲器106之间的七个不同数据流路径。在流路径1处,来自存储器页104的存储器页可以从NVM102带来、解密且存储在DRAM缓冲器106中。在流路径2处,来自存储器页104的存储器页可以从NVM102带来、解密且存储回NVM102中。在流路径3处,来自存储器页108的经解密的存储器页可以从DRAM缓冲器106逐出、加密且存储回NVM102中。在流路径4处,来自存储器页108的经解密的存储器页可以从DRAM缓冲器106直接逐出到NVM102而没有加密。在流路径5处,当经加密的冷存储器页接收到存储器访问时,密码引擎110可以首先解密所需的高速缓存块以服务于存储器请求而不解密整个存储器页。在流路径6处,当经解密的存储器页处于DRAM缓冲器106中时,存储器访问可以被导向到DRAM缓冲器106。在流路径7处,当经解密的存储器页不处于DRAM缓冲器106中而是处于NVM102中时,存储器访问可以绕过DRAM缓冲器106且直接去往NVM102。
参照图1描述密码引擎110。
参照图1和2,密码引擎110可以加密和解密存储器数据(例如存储器页104、108)。密码引擎110可以使用例如高级加密标准(AES)来加密和解密存储器数据。密码引擎110可以加密和解密单个高速缓存块而不加密和解密整个存储器页,使得HSNVMM100可以服务经加密的存储器页上的存储器访问而不解密整个存储器页。加密/解密密钥112可以由处理器(例如图5的处理器502)利用诸如例如用户口令和/或指纹之类的外部种子生成。在密钥112被生成之后,密钥112可以被下载到密码引擎110中的易失性存储器(例如SRAM)。在使用HSNVMM100的系统断电之后,密钥112可能丢失。例如,在使用HSNVMM100的系统断电之后,未经授权的用户不能产生有效外部种子且因而不能再生成正确的密钥,这确保HSNVMM100的安全性。超级电容器可以用于提供足够的功率以确保在预料不到的功率故障期间工作集的加密的完成。
参照图1和2描述安全控制器114。
图2图示了根据本公开的示例的用于图1的HSNVMM100的安全控制器114的进一步细节。安全控制器114可以包括可例如使用静态随机存取存储器(SRAM)或基于寄存器的阵列实现的存储器页状态表(MPST)200。针对下一存储器页的工作集预测器(WSP)202可以负责找到活跃的工作集。WSP202可以是例如基于马尔可夫预取来实现的。
安全控制器114可以是例如通过板上缓冲器(BoB)设计来实现的。例如,安全控制器114可以被实现为作为处理器(例如处理器502)与HSNVMM100之间的接口的LR双列直插存储器模块(DIMM)中的负载减低(LR)缓冲器。安全控制器114可以包括MPST200、WSP202以及接口和控制逻辑204。
WSP202可以确定当前工作集。如以上所讨论的,对工作集估计过高可能使不必要的存储器页被解密,其可能造成相对较大的VW,因为当使用HSNVMM100的系统断电或进入空闲状态时,更多的存储器页需要被(重)加密。对工作集估计过低可能使工作集中的存储器页被加密,其可能造成由于当存储器访问到达经加密的存储器页时的解密等待时间所致的额外性能开销。WSP202可以基于例如每时间间隔的访问计数以确定存储器页是否是冷的(即,不是活跃的工作集)。关于通过预解密来预测将来工作集页以隐藏加密等待时间,可以使用诸如例如马尔可夫预取之类的预取技术。WSP202可以是基于间隔的,且可以因此收集每一个时间间隔上的信息(例如100亿个处理器循环)并预测针对下一间隔的工作集。
MPST200可以是易失性存储器结构(例如SRAM),其可以通过保持追踪每一个存储器页的状态来辅助接口和控制逻辑204。MPST200可以包括加密状态(EncStatus)字段206(例如1比特字段),其指示存储器页当前是否被加密。驻留字段208(例如1比特字段)可以指示存储器页当前是处于NVM102还是DRAM缓冲器106中。例如,一些经解密的存储器页由于调度而可以处于NVM102中。驻留字段208可以提供关于存储器页的位置的第一级信息,并且一旦存储器页处于DRAM缓冲器106中,DRAM缓冲器106的标签部分116就可以被用于定位实际存储器页。脏字段210(例如1比特字段)可以指示存储器页是否是脏的。解密状态(DecStatus)字段212(例如1比特字段)可以指示存储器页是否由于预解密或按需预测而被解密。多比特访问数目(NumAcc)字段214可以记录在前一间隔中已访问存储器页的次数。MPST200还可以取决于WSP202所使用的预测过程而包括其它字段。
接口和控制逻辑204可以使用MPST200和WSP202中的信息来管理NVM102与DRAM缓冲器206之间的数据移动和(重)放置。接口和控制逻辑204还可以控制密码引擎110以在必要时根据调度来执行加密/解密。接口和控制逻辑204还可以在每一个管理事件之后更新MPST200。由于按需解密的存储器页可以比预解密的存储器页优先,因此接口和控制逻辑204可以使用MPST200中的DecStatus字段212来在按需解密的存储器页和预解密的存储器页之间进行区分(当它们首先被解密时)。然而,良好预测的预解密的存储器页可能受处罚,如果它们总是比按需解密的存储器页优先级低的话。因此,接口和控制逻辑204可以追踪在每个间隔中对每一个存储器页的访问的数目。如果预解密的存储器页在前一间隔中接收到作为阈值的足够存储器访问,接口和控制逻辑204可以改变DecStatus字段212以将存储器页标记为按需解密页。NumAcc字段214可以在对HSNVMM100的每次存储器访问时被更新,并且脏字段210可以在对存储器页的第一次写入时被更新。EncStatus字段206、驻留字段208和DecStatus字段212可以在每一个间隔处或者在发生事件(例如逐出、DRAM缓冲器中的高速缓存线插入等)时被更新。
接口和控制逻辑204可以包括如针对密码引擎110、DRAM缓冲器106和NVM102由控制信号216图示的控制信号路径。数据通道218可以用于安全控制器114、DRAM缓冲器106和NVM102之间的数据传送。通道220可以用于当管理存储器页时更新MPST条目。通道222可以用于读取MPST条目以用于管理存储器页。通道224可以用于由当前存储器访问请求的存储器页地址。另外,通道226可以用于预测下一存储器页以用于将来访问。
HSNVMM100可以如图1的示例中所示那样实现,具有相同存储器模块上的NVM102和DRAM缓冲器106,或者可替换地,被实现为分解的DRAM和NVM池,其中近DRAM池可以用作远NVM池的缓冲器,并且反之亦然。而且,HSNVMM100可以被实现为分离的组件,包括NVM102、DRAM缓冲器106、密码引擎110和安全控制器114,或者可以集成在单个芯片或封装中。
图3和4分别图示了用于实现与以上详细描述其构造的HSNVMM100的示例相对应的HSNVMM的方法300和400的流程图。作为示例而非限制,方法300和400可以被实现在参照图1和2的HSNVMM100上。方法300和400可以在其它装置中实践。
参照图3,对于方法300,在块302处,可以将存储器数据的非工作集(例如存储器页104)以加密格式存储在NVM(例如NVM102)中。
在块304处,可以将存储器数据的工作集(例如存储器页108)以解密格式存储在DRAM缓冲器(例如DRAM缓冲器106)中。
在块306处,可以(例如由密码引擎110)选择性地加密和解密存储器数据的工作和非工作集中的存储器页。
在块308处,可以例如由安全控制器114通过使用来自处理器(例如处理器502)的支持提示和如上所描述的(重)放置策略来控制NVM和DRAM缓冲器中的存储器数据放置和重放置。支持提示可以包括存储器数据的工作集中的存储器页是敏感的还是非敏感的指示。基于存储器数据的工作集中的存储器页是敏感的指示,可以加密存储器页。
参照图4,对于方法400,在块402处,可以将存储器数据的非工作集以加密格式存储在NVM(例如NVM102)中。
在块404处,可以将存储器数据的工作集以解密格式存储在DRAM缓冲器(例如DRAM缓冲器106)中。
在块406处,可以(例如由密码引擎110)选择性地且增量地加密和解密存储器数据的工作和非工作集中的存储器页。
在块408处,可以基于包括干净存储器页、脏存储器页、工作集存储器页以及非工作集存储器页的存储器数据特性并且通过基于存储器数据特性控制增量加密和解密,来控制NVM和DRAM缓冲器中的存储器数据放置和重放置。
根据另一示例,可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步确定使用HSNVMM100的系统是否空闲;以及如果使用HSNVMM100的系统空闲,则使用密码引擎(例如密码引擎110)以加密DRAM缓冲器中的脏存储器页,将经加密的存储器页存储在NVM中,以及将DRAM缓冲器放置在掉电模式中。
根据另一示例,可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用来自处理器的支持提示,其中支持提示包括存储器数据的工作集中的存储器页是敏感的还是非敏感的指示;以及基于存储器数据的工作集中的存储器页是敏感的指示,使用密码引擎以加密存储器页。根据另外的示例,可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用数据放置和重放置策略(即,前述数据(重)放置策略)以将敏感数据的干净存储器页存储在DRAM缓冲器中。可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用数据(重)放置策略以将非敏感数据的干净存储器页存储在NVM中。
根据另一示例,可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用数据(重)放置策略以将敏感数据的脏存储器页存储在DRAM缓冲器或NVM中;以及使用密码引擎以在使用HSNVMM100的系统断电或进入空闲状态时重加密敏感数据的脏存储器页。根据另外的示例,可以通过来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用数据(重)放置策略以确定存储器页是否要被解密,计算当前VW大小,比较当前VW大小与目标VW大小,并且基于该比较,选择存储器页受害者以用于从DRAM缓冲器逐出。
根据另一示例,可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用数据(重)放置策略以确定存储器页是否要被解密,计算当前VW大小,比较当前VW大小与目标VW大小,并且如果当前VW小于目标VW,将干净和脏解密存储器页存储在DRAM缓冲器中。根据另外的示例,可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用数据(重)放置策略以确定存储器页是否要被解密,计算当前VW大小,比较当前VW大小与目标VW大小,并且如果当前VW大于目标VW,使干净存储器页优先于脏存储器页存储在DRAM缓冲器中。
根据另一示例,可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用数据(重)放置策略以预测存储器数据的工作集中的存储器页是否是冷的,并且如果存储器数据的工作集中的存储器页被预测为是冷的,将存储器页从DRAM缓冲器逐出。根据另外的示例,可以通过下述操作来控制NVM和DRAM缓冲器中的存储器数据放置和重放置:进一步使用数据(重)放置策略以确定何时NVM的存储器数据的非工作集中的冷存储器页被访问,如果冷存储器页上的存储器访问的数目小于或等于预定阈值,使用密码引擎以解密冷存储器页的所需的高速缓存块,并且如果冷存储器页上的存储器访问的数目大于预定阈值,使用密码引擎以解密整个冷存储器页。
图5示出可与本文所描述的示例一起使用的计算机系统500。计算机系统可以表示包括可处于服务器或另一计算机系统中的组件的通用平台。计算机系统500可以用作针对HSNVMM100的平台。计算机系统500可以通过处理器或其它硬件处理电路来运行本文所描述的方法、功能和其它过程。这些方法、功能和其它过程可以体现为存储在计算机可读介质上的机器可读指令,该计算机可读介质可以是非暂时性的,诸如硬件存储设备(例如RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦除可编程ROM)、EEPROM(电可擦除可编程ROM)、硬盘驱动器和闪速存储器)。
计算机系统500可以包括处理器502,其可以实现或运行执行本文所描述的一些或全部方法、功能和其它过程的机器可读指令。来自处理器502的命令和数据通过通信总线504而传送。计算机系统还包括HSNVMM100。此外,计算机系统还可以包括在运行时期间用于处理器502的机器可读指令和数据可驻留在其中的随机存取存储器(RAM)以及可以是非易失性的且存储机器可读指令和数据的辅数据存储装置508。RAM和数据存储装置是计算机可读介质的示例。
计算机系统500可以包括I/O设备510,诸如键盘、鼠标、显示器等。计算机系统可以包括网络接口512以用于连接到网络。在计算机系统中可以添加或更换其它已知电子组件。
本文已描述和说明的是示例连同其一些变型。本文所使用的术语、描述和图仅通过说明的方式阐述而不意在作为限制。在意图由随附权利要求——及其等同物——限定的主题的精神和范围内,许多变型是可能的,在随附权利要求中,所有术语在其最宽泛的合理意义上被意指,除非以其它方式指示。

Claims (15)

1.一种混合安全非易失性主存储器(HSNVMM),包括:
非易失性存储器(NVM),以加密格式存储存储器数据的非工作集;
动态随机存取存储器(DRAM),以解密格式存储存储器数据的工作集;
密码引擎,选择性地加密和解密存储器数据的工作和非工作集中的存储器页;以及
安全控制器,基于包括干净存储器页、脏存储器页、工作集存储器页以及非工作集存储器页的存储器数据特性来控制NVM和DRAM缓冲器中的存储器数据放置和重放置,其中安全控制器进一步基于存储器数据特性向密码引擎提供增量加密和解密指令。
2.根据权利要求1的HSNVMM,其中DRAM缓冲器进一步包括:
针对存储器页的标签部分,定位NVM中的对应存储器页。
3.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
确定使用HSNVMM的系统是否空闲;以及
响应于使用HSNVMM的系统空闲:
使用密码引擎以加密DRAM缓冲器中的脏存储器页,
将经加密的存储器页存储在NVM中,以及
将DRAM缓冲器放置在深度掉电模式中。
4.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
使用来自处理器的支持提示,其中支持提示包括存储器数据的工作集中的存储器页是敏感的还是非敏感的指示;以及
基于存储器数据的工作集中的存储器页是敏感的指示,使用密码引擎以加密存储器页。
5.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
使用数据放置和重放置策略以将敏感数据的干净存储器页存储在DRAM缓冲器中;以及
使用数据放置和重放置策略以将非敏感数据的干净存储器页存储在NVM中。
6.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
使用数据放置和重放置策略以将敏感数据的脏存储器页存储在DRAM缓冲器或NVM中;以及
使用密码引擎以在使用HSNVMM的系统断电或进入空闲状态时重加密敏感数据的脏存储器页。
7.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
使用数据放置和重放置策略以确定存储器页是否要被解密;
计算当前漏洞窗口(VW)大小;
比较当前VW大小与目标VW大小;以及
基于该比较,选择存储器页受害者以用于从DRAM缓冲器逐出。
8.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
使用数据放置和重放置策略以确定存储器页是否要被解密;
计算当前漏洞窗口(VW)大小;
比较当前VW大小与目标VW大小;以及
响应于当前VW小于目标VW,将干净和脏解密存储器页存储在DRAM缓冲器中。
9.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
使用数据放置和重放置策略以确定存储器页是否要被解密;
计算当前漏洞窗口(VW)大小;
比较当前VW大小与目标VW大小;以及
响应于当前VW大于目标VW,使干净存储器页优先于脏存储器页存储在DRAM缓冲器中。
10.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
使用数据放置和重放置策略以预测存储器数据的工作集中的存储器页是否是冷的;以及
响应于存储器数据的工作集中的存储器页被预测为是冷的,将存储器页从DRAM缓冲器逐出。
11.根据权利要求1的HSNVMM,其中为了控制NVM和DRAM缓冲器中的存储器数据放置和重放置,安全控制器进一步:
使用数据放置和重放置策略以确定何时NVM的存储器数据的非工作集中的冷存储器页被访问;
响应于冷存储器页上的存储器访问的数目小于或等于预定阈值,使用密码引擎以解密冷存储器页的所需的高速缓存块;以及
响应于冷存储器页上的存储器访问的数目大于预定阈值,使用密码引擎以解密整个冷存储器页。
12.根据权利要求1的HSNVMM,进一步包括:
工作集预测器(WSP),确定存储器数据的工作集。
13.根据权利要求1的HSNVMM,进一步包括:
存储器页状态表(MPST),追踪存储器数据的工作和非工作集中的每一个存储器页的状态。
14.根据权利要求1的HSNVMM,其中HSNVMM被实现为下述各项之一:单个芯片或封装、被协同定位在相同存储器模块上的多个分立组件、和跨多个存储器模块分布的多个分立组件。
15.一种用于实现混合安全非易失性主存储器(HSNVMM)的方法,所述方法包括:
以加密格式将存储器数据的非工作集存储在非易失性存储器(NVM)中;
以解密格式将存储器数据的工作集存储在动态随机存取存储器(DRAM)缓冲器中;
选择性地且增量地加密和解密存储器数据的工作和非工作集中的存储器页;以及
基于包括干净存储器页、脏存储器页、工作集存储器页以及非工作集存储器页的存储器数据特性来控制NVM和DRAM缓冲器中的存储器数据放置和重放置,以及通过下述操作、基于存储器数据特性来控制增量加密和解密:
使用来自处理器的支持提示,其中支持提示包括存储器数据的工作集中的存储器页是敏感的还是非敏感的指示;以及
基于存储器数据的工作集中的存储器页是脏的确定,以及基于存储器数据的工作集中的存储器页是敏感的指示,加密存储器页。
CN201380078603.7A 2013-07-31 2013-07-31 混合安全非易失性主存储器 Pending CN105706169A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/053046 WO2015016918A1 (en) 2013-07-31 2013-07-31 Hybrid secure non-volatile main memory

Publications (1)

Publication Number Publication Date
CN105706169A true CN105706169A (zh) 2016-06-22

Family

ID=52432275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380078603.7A Pending CN105706169A (zh) 2013-07-31 2013-07-31 混合安全非易失性主存储器

Country Status (4)

Country Link
US (1) US20160239685A1 (zh)
EP (1) EP3028277A1 (zh)
CN (1) CN105706169A (zh)
WO (1) WO2015016918A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569960A (zh) * 2016-11-08 2017-04-19 郑州云海信息技术有限公司 一种混合主存的末级缓存管理方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671762B2 (en) 2015-09-29 2020-06-02 Apple Inc. Unified addressable memory
US10102370B2 (en) * 2015-12-21 2018-10-16 Intel Corporation Techniques to enable scalable cryptographically protected memory using on-chip memory
WO2017127084A1 (en) * 2016-01-21 2017-07-27 Hewlett-Packard Development Company, L.P. Data cryptography engine
US10261919B2 (en) 2016-07-08 2019-04-16 Hewlett Packard Enterprise Development Lp Selective memory encryption
US10824348B2 (en) 2016-08-02 2020-11-03 Samsung Electronics Co., Ltd. Method of executing conditional data scrubbing inside a smart storage device
US10969960B2 (en) 2016-09-01 2021-04-06 Samsung Electronics Co., Ltd. Storage device and host for the same
CN106406767A (zh) * 2016-09-26 2017-02-15 上海新储集成电路有限公司 一种非易失性双列直插式存储器及存储方法
US10585754B2 (en) 2017-08-15 2020-03-10 International Business Machines Corporation Memory security protocol
CN111433749B (zh) 2017-10-12 2023-12-08 拉姆伯斯公司 具有dram高速缓存的非易失性物理存储器
US10732889B2 (en) 2018-03-12 2020-08-04 Dell Products, L.P. Information handling system with multi-key secure erase of distributed namespace
TWI688859B (zh) 2018-12-19 2020-03-21 財團法人工業技術研究院 記憶體控制器與記憶體頁面管理方法
US10936301B2 (en) 2019-04-12 2021-03-02 Dell Products, L.P. System and method for modular patch based firmware update
US10789062B1 (en) 2019-04-18 2020-09-29 Dell Products, L.P. System and method for dynamic data deduplication for firmware updates
US20220327246A1 (en) * 2021-04-13 2022-10-13 EMC IP Holding Company LLC Storage array data decryption

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073316A1 (en) * 1998-02-03 2002-06-13 Thomas Collins Cryptographic system enabling ownership of a secure process
US20090157946A1 (en) * 2007-12-12 2009-06-18 Siamak Arya Memory having improved read capability
TWI591630B (zh) * 2015-02-13 2017-07-11 台灣積體電路製造股份有限公司 用於驅動資料線之牽引裝置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7971056B2 (en) * 2006-12-18 2011-06-28 Microsoft Corporation Direct memory access for compliance checking
US8630418B2 (en) * 2011-01-05 2014-01-14 International Business Machines Corporation Secure management of keys in a key repository
WO2013100965A1 (en) * 2011-12-28 2013-07-04 Intel Corporation A low-overhead cryptographic method and apparatus for providing memory confidentiality, integrity and replay protection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073316A1 (en) * 1998-02-03 2002-06-13 Thomas Collins Cryptographic system enabling ownership of a secure process
US20090157946A1 (en) * 2007-12-12 2009-06-18 Siamak Arya Memory having improved read capability
TWI591630B (zh) * 2015-02-13 2017-07-11 台灣積體電路製造股份有限公司 用於驅動資料線之牽引裝置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569960A (zh) * 2016-11-08 2017-04-19 郑州云海信息技术有限公司 一种混合主存的末级缓存管理方法
CN106569960B (zh) * 2016-11-08 2019-05-28 郑州云海信息技术有限公司 一种混合主存的末级缓存管理方法

Also Published As

Publication number Publication date
WO2015016918A1 (en) 2015-02-05
US20160239685A1 (en) 2016-08-18
EP3028277A1 (en) 2016-06-08

Similar Documents

Publication Publication Date Title
CN105706169A (zh) 混合安全非易失性主存储器
Chhabra et al. i-NVMM: A secure non-volatile main memory system with incremental encryption
US11625336B2 (en) Encryption of executables in computational memory
US9710675B2 (en) Providing enhanced replay protection for a memory
US20100287385A1 (en) Securing data caches through encryption
GB2387937B (en) Secure cpu and memory management unit with cryptographic extensions
CN102054137A (zh) 用于集成微控制器和外部存储系统的块加密安全
US11520905B2 (en) Smart data protection
CN102750233A (zh) 加密和存储机密数据
EP3271828B1 (en) Cache and data organization for memory protection
WO2011009738A1 (en) Encrypting data in volatile memory
US20160335201A1 (en) Data and instruction set encryption
CN101410849A (zh) 存储系统中数据的加密/解密
US10303612B2 (en) Power and performance-efficient cache design for a memory encryption engine
CN107526974A (zh) 一种信息密码保护装置和方法
US9251099B2 (en) Nonvolatile memory modules and authorization systems and operating methods thereof
CN106980799B (zh) 一种磨损均衡感知的非易失内存加密系统
US20150212951A1 (en) Low-latency, low-overhead hybrid encryption scheme
Ahn et al. Duty to delete on non-volatile memory
CN106203149A (zh) 基于超域性的存储安全性
KR101478276B1 (ko) 보존시간이 다른 셀을 이용한 데이터 저장 방법 및 장치
Dadzie et al. Work-in-Progress: Secure Non-volatile Memory with Scratch Pad Memory using Dual Encryption Mode
Nath et al. Pop-Crypt: Identification and Management of Popular Words for Enhancing Lifetime of EnCrypted Nonvolatile Main Memories
Dadzie et al. Secure non-volatile memory with scratch pad memory using dual encryption mode: work-in-progress
Xu et al. Designing a secure DRAM+ NVM hybrid memory module

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160622

WD01 Invention patent application deemed withdrawn after publication