CN104969293B - 保护存储设备的内容的方法和对应的存储设备 - Google Patents
保护存储设备的内容的方法和对应的存储设备 Download PDFInfo
- Publication number
- CN104969293B CN104969293B CN201480006493.8A CN201480006493A CN104969293B CN 104969293 B CN104969293 B CN 104969293B CN 201480006493 A CN201480006493 A CN 201480006493A CN 104969293 B CN104969293 B CN 104969293B
- Authority
- CN
- China
- Prior art keywords
- version value
- row
- erasing
- group
- particular row
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
存储设备(100)包括存储器的数据存储部分(105),用来存储写入到所述存储设备的数据。组版本数据存储器(101)存储组版本值(102)并且与所述存储器的数据存储部分相关,其中所述存储设备被适应于当所述组版本值改变时所有被写入到所述存储器的数据存储部分的数据变得不可读。
Description
技术领域
本公开一般地涉及安全计算,并且更具体地涉及保护存储设备的内容。
背景技术
为了保护信息,快速防止访问存储的数据的能力可以是有用的。例如,利用云计算的个人想要能够擦拭干净云机器的主存储器。另一个例子是物理访问共享的物理资源例如服务器。动态随机访问存储器(DRAM)设备在没有电源或没有更新的情况下在一段时间内保留其上的内容。具有物理访问的未授权方可以使用未知的方式例如冷引导攻击(cold-bootattacks)来利用DRAM设备。而且,持久存储技术例如相变内存非常慢地写入或擦除从而产生安全问题例如非易失性双列直插内存模块(DIMM)的失窃。通过一些模式覆盖所有存储器的擦除的繁琐的过程可能不足以快速到阻止对数据的访问。
发明内容
存储设备可以被配备快速擦除功能来保护存储设备的内容。在命令发出时,快速擦除能力可以立即有效地永久禁止访问存储在存储设备中的数据,使所有被写入到存储设备的先前的数据不可读。一旦擦除命令被接收到和执行,快速擦除能力可以允许存储设备立即用于新的写操作和读取新写入的数据。快速擦除能力可以开始非新写入的数据的物理擦除过程,而不改变快速擦除的其它方面。可以实现在存储设备中每行一个或多个位的多个方面。
存储设备可以配备有快速擦除功能以保护存储设备的内容。在命令发出时,快速擦除能力可以立即有效地永久禁止访问存储在存储设备中的数据,以使所有被写入到存储设备的先前数据不可读。一旦擦除命令被接收到和执行,快速擦除能力可以允许存储设备立即用于新的写操作和读取新写入的数据。快速擦除能力可以开始非新写入的数据的物理擦除过程,而不改变快速擦除的其它方面。可以实现在存储设备中每行一个或多个位的多个方面。
附图说明
图1示意地描述了具有使写入到存储设备的数据不可读的能力的存储设备;
图2示意地描述了具有快速擦除能力以保护存储设备的内容的的存储设备;
图3示意地描述了具有快速擦除能力的存储设备的方案;
图4示意地描述了包括多个DRAM芯片的存储设备,被适应于使被写入的数据在擦除指令之前不可读;以及
图5示出了根据一个实施例的保护存储设备的内容的安全控制器操作的流程图。
具体实施方式
为了保护信息,快速防止访问存储的数据的能力可以是有用的。例如,利用云计算的个人想要能够擦拭干净云机器的主存储器。另一个例子是物理访问共享的物理资源例如服务器。动态随机访问存储器(DRAM)设备在没有电源或没有更新的情况下可以在一段时间内保留其上的内容。如果一个人,无论授权的还是未授权的,可以物理地控制DRAM设备,不管其它因素(例如电源)这个人然后可以读取DRAM设备的内容。而且,持久存储技术例如相变内存非常慢地写入或擦除从而产生安全问题例如非易失性双列直插内存模块(DIMM)的失窃。其它可能性例如自毁接口来保护存储的数据可以使数据或存储设备完全无用。存储设备的快速擦除的方案对保护存储设备的内容可以非常有用。
存储设备可以配备有快速擦除功能以保护存储设备的内容。在命令发出时,快速擦除能力可以立即有效地永久禁止访问存储在存储设备中的数据,使所有被写入到存储设备的先前的数据不可读。一旦擦除命令被接收到和执行,快速擦除能力可以允许存储设备立即用于新的写操作和读取新写入的数据。这可以允许新的操作系统启动没有延时。快速擦除能力可以开始非新写入的数据的物理擦除过程,而不改变快速擦除的其它方面。可以实现在存储设备中每行一个或多个位的多个方面。
图1示意地描述了具有使写入到存储设备100数据不可读的能力的存储设备100。存储设备100可以包括组版本数据存储器101。组版本数据存储器可以包括冗余存储在三个或多个存储器单元104的逻辑值并且可以是位或位的集合。逻辑值可以是组版本值102。表决块106可以存在并且可以被适应执行多数表决操作(majority voting operation)来适应单事件翻转(single event upset)例如单位翻转103。单位翻转可以是坏位或者可以是电离辐射(ionizing radiation)的结果。纠错码和清洗(scrubs)可以被期望在固定间隔纠正这种情况。在任何情况下固定间隔可能不是很快。表决块106可以分析逻辑值104来确定哪个值是大多数。例如在图1,三个位里的至少两个位包含逻辑值“1”。表决块106可以指定值“1”作为组版本值。表决块106也可以执行操作来纠正单位翻转103的值,在这个例子中通过操作例如写把值从“1”变为“0”。最后,组版本值102可以被用来帮助使写入到存储设备100的数据不可读。
存储设备100可以包括数据存储部分例如阵列105。阵列105可以包括存储单元或位的多个行110来保存写入到存储设备100的数据。通常地,阵列包括上百列120,在图1中表示为C1到Cm。特别的行111可以包括特别的行111的行版本值112。行版本值112可以在特定列121。在一个实施例中例如组版本101具有多个如上所述的冗余存储的多个位,多个行被使用。特定列121可以包括阵列105的每行的行版本值112。在实施例中,行版本值112可以与行的子集中的存储单元中的数据(例如特定字节)相关联,并且可以有效地成为特定数据字节的行版本值112。在与行的子集中的数据相关联的行版本值112的情形,特定行111可以包括具有与特定字节关联的每行版本值112的多行版本值,例如,行版本值112可以被存储在一列或多列中,例如C1、C2和C3中。在实施例中,阵列105可以包括组版本数据存储101和组版本值102。最后,行版本值112可以被用来帮助使先前写入到存储设备100的数据不可读。
图2示意地描述了具有快速擦除能力以保护存储设备的内容的存储设备200。快速擦除可以通过可以禁止数据访问但是无需物理擦除的逻辑操作来获得保护。存储设备200可以连接到与主机270连接的存储控制器280。在一些实施例中,主机270可以是处理器。对存储设备的读、写或擦除请求可以通过存储控制器280从主机270获得。存储设备200可以包括数据缓冲器297,数据缓冲器297保存有可能被读取或可能被写入的数据。存储设备200可以包括地址解码器298,地址解码器298可以接收地址来选择存储位置,例如指定特定行和在特定行中的一个或多个列。存储设备200可以包括命令解码器299,命令解码器299可以触发读、写或擦除指令。
存储设备200可以包括与存储设备100相似或相同的方面。存储设备200可以包括组版本数据存储器201。组版本数据存储器201可以是具有临界电荷足够大的寄存器,这样寄存器对电离辐射不敏感。组版本数据存储器201可以包括与组版本值102相似的组版本值202。存储设备200可以包括数据存储部分例如与阵列105相似的阵列205。与行版本值112相似,阵列205可以包括针对特定行或特定的数据子集例如字节的行版本值212。
存储设备200可以包括安全控制器220,其可以被配置在读、写或擦除请求期间与存储设备200的其它方面交互。安全控制器220可以被配置为特定针对读、写或擦除进行操作。在一个实施例中,在从阵列205的特定行读取期间,安全控制器220可以对组版本值202与针对特定行的行版本值212进行比较。当组版本值202与针对特定行的行版本值212匹配时,数据可以从特定行输出。来自特定行的数据可以被输出到数据缓冲器297,最后输出到存储控制器280和主机270。实际上,发出安全规则来规定来自特定行的数据可读。当组版本值202和针对特定行的行版本值212不匹配时,数据可以不从特定行输出。实际上,发出安全规则来规定来自特定行的数据不可读。当内容被规定不可读时,存储控制器280和主机270可以接收信号拒绝、已知模式或随机模式。考虑响应于读请求输出数据的其它可能性。
在一个实施例中,在对阵列205的特定行的擦除期间,安全控制器220可以将组版本值202改变为新的组版本值。组版本数据存储器201可以保存新的组版本值并且不再保存之前的组版本值202。新的组版本值的逻辑值可以不是之前的组版本值202的逻辑值。擦除可以进一步包括阵列205的特定行的地址(数据)的内容的物理擦除,其中特定行的行版本值与新的组版本值不匹配。安全控制器220可以不处理另一个擦除请求直到完成物理擦除。本公开的快速擦除方案可以存在,即使物理擦除可能未完成,使在擦除指令之前写入的阵列205的内容不可读。当特定行的行版本值212与组版本值202不匹配时(组版本值202可以是在擦除请求之后的新的组版本值),对特定行的读可能不被允许。因此,即使物理擦除可能未完成,组版本值202和行版本值212的逻辑值不匹配不允许对擦除请求之前存储的数据进行读。在实施例中,当新的组版本与行版本值212匹配时,物理存储器可以不被擦除。当新的组版本与行版本值212不匹配时或者在实施例中针对擦除请求不执行比较时,可以开始特定行的物理擦除。可以考虑其它的可能性。
在一个实施例中,在对阵列205的特定行进行写期间,安全控制器220可以将组版本值202复制到行版本值212。主机270通过存储控制器280将要写到特定行的数据发送至数据缓冲器297。安全控制器220可以写将要写到特定行的数据。可以将数据从数据缓冲器297写入到阵列205。在特定行中的其它值可以保留例如当要被写的数据仅仅是行的子集。安全控制器220可以清除数据未被写入的存储单元中的特定行中的其它值。如果安全控制器220发现行版本值212与当前组版本值202不同,这种其它值的清除可以发生。由于现在写入的新的行版本值212与组版本值202相同,清除在特定行中的其它值防止写入到行的子集并且对特定行中的其它值具有读取能力。通过写入已知模式清除其它值可以发生。在将要写入的数据写到阵列205之前已知模式可以被写到数据缓冲器297。
在一个实施例,在对阵列205的特定行写入期间,特定行的内容可以由数据缓冲器297访问。安全控制器220可以对组版本值202和特定行的行版本值212进行比较。当组版本值202与行版本值212不匹配时,特定行的内容可以在数据缓冲器297中被清除。安全控制器220可以将组版本值202复制到行版本值212并且将要写入的数据写入到数据缓冲器297。数据缓冲器297的内容可以被写入到阵列205的特定行。在一个实施例中,在擦除请求之后对特定行的写请求可以被立即允许。这样,即使物理擦除未完成,组版本值202的逻辑值可以被复制到行版本值212以允许数据被写入到特定行。然而,由于特定行的剩余部分已被清除,后续从特定行的读不会输出包含之前组版本值的之前写入的数据。
在实施例中,行版本值212与行的子集(例如特定字节)中的存储单元中的数据关联,并且可以有效地成为数据的特定字节的行版本值212。例如,在行版本值212与行的子集中的数据关联的情形,阵列205的特定行可以包括多个行版本值,其中每个行版本值212与特定字节相关。为了向特定行中的特定字节写入,数据可以被写入到特定字节并且特定行中的其它位可以被清除。如果未清除,在擦除指令之前写入的字节的组版本值202和行版本值212之间的不匹配可以使数据不可读。一种可能性包括存取特定行到行缓冲区。如果特定子节的行版本值212与组版本值202不匹配,特定字节可以被清除。清除可以针对特定行中的每个位发生,其中与每个位相关(可能通过字节相关)的行版本值212与组版本值202不匹配。组版本值202可以被复制到针对特定行中的特定字节的行版本值212。要被写入到特定行中的特定字节的数据可以被写到行缓冲区。实际写入到特定行中的特定字节可以发生在从行缓冲区到阵列205中的特定行中的特定字节。可以考虑写数据的其它可能性。
图3示意地描述了具有快速擦除能力的存储设备的方面。图3提供了存储设备的方案并且示出了安全控制器、地址解码器、命令解码器或上面提及的数据缓冲区的可能方案。图1中的阵列105和组版本值102被示出来帮助描述各种可能方案的交互。当行版本值在阵列105的每行的C1列中时,感知锁存器(sense latch)350可以存在来捕获阵列105的特定行的行版本值。在对特定行的读请求期间,组版本值102可以与特定行的感知锁存器350的值进行比较。在对特定行的写请求期间,组版本值102可以被复制到特定行的行版本值,因此感知锁存器350的值可以匹配组版本值102。列缓存区360可以访问数据370或者访问阵列105的位的序列。列选择365可以选择合适的阵列105的列地址来访问。行解码器380可以选择合适的阵列105的列地址来访问。写指令390例如因此可以被成功完成。如果XOR门318在读期间发现组版本值102与地址行的行版本值(感知锁存器栓350)不同,不考虑数据370的数据,NOR门319可以输出“0”。图3表示具有快速擦除能力的存储设备的设计方案的可能方案,可以考虑其它可能性。
图4示意地描述了包括多个DRAM芯片的存储设备,被适应于使在擦除指令之前被写入的数据不可读。存储设备400可以是双内联内存模块DIMM。存储设备可以包括缓存芯片410。存储设备400可以被连接到与主机470连接的存储控制器480。在一些实施例中,主机470可以是处理器。对存储设备400的读、写或擦除请求可以通过在图4中示出并包含在主机470中的存储控制器480从主机470获得。指令、地址和数据信号490可以在存储控制器480与包含缓存芯片410的存储设备400之间传输。
存储设备400可以包括至少一个动态随机访问存储器(DRAM)芯片440。在存储设备400是DIMM的情况,很多DRAM芯片440可以包括在图4中。缓存芯片410的方案可以与图1-2中的存储设备100、200相似。缓存芯片可以知道被使用的DRAM芯片的特性,包括行数和列数。缓存芯片具备针对DRAM芯片440个性化行解码的能力。缓存芯片可以包括与图2中的安全控制器220相似的安全控制器。缓存芯片410可以包括组版本值GVV(group version value)402。组版本值可以存储在与图1-2中的组版本数据存储器101、102相似的组版本数据存储器。缓存芯片410可以包括行版本值412。行版本值412可以针对缓存芯片410的每行存在。针对缓存芯片410的每行的行版本值412可以作为每个DREAM芯片440的每行的行版本值RVV(row version value)。例如,如果每个DRAM芯片440包括“n”行,缓存芯片410可以包括“n”行并且对于“n”行中的每个具有行版本值412。实际上,DIMM 400可以具有“n”行并且缓存芯片410具有“n”行版本值412。在多个实施例中,对于每个DRAM芯片440的每行或者每个DRAM芯片440的子集(例如字节),缓存芯片410可以包括行版本值412。
对存储设备400的读、写或擦除请求可以通过存储控制器480从主机470获得。对特定DRAM芯片440的相关指令、地址和数据信号可以在存储控制器480与缓存芯片410之间传输。在一个实施例中,在对特定DRAM芯片440的特定行读取期间,安全控制器可以对组版本值402与和DRAM芯片440的特定行相关的行版本值412进行比较。当组版本值402与和DRAM芯片440的特定行相关的行版本值412匹配时,数据可以从特定DRAM芯片440的特定行输出。当组版本值402与和DRAM芯片440的特定行相关的行版本值412不匹配时,数据可以不从特定DRAM芯片440的特定行输出。
在一个实施例中,在对特定DRAM芯片440的特定行的擦除期间,安全控制器可以将组版本值402改变为新组版本值。新的组版本值的逻辑值可以不是之前组版本值402的逻辑值。擦除可以是特定DRAM芯片440的特定行的地址(数据)内容的物理擦除,其中与特定DRAM芯片440的特定行相关的行版本值412与新的组版本值不匹配。安全控制器可以不处理另一个擦除请求直到完成物理擦除。本公开的快速擦除方案可以存在,即使物理擦除未完成,可以使特定DRAM芯片440的内容不可读。当与特定DRAM芯片440的特定行相关的行版本值412与组版本值402(组版本值402可以是擦除请求之后的新的组版本值)不匹配时,对特定DRAM芯片440的特定行的读可以不被允许。
在一个实施例中,在写入特定DRAM芯片440的特定行期间,安全控制器可以将组版本值402复制到与特定DRAM芯片440的特定行相关的行版本值412。安全控制器可以将要写的数据写入到特定DRAM芯片的特定行。安全控制器可以清除未写入数据但是与行版本值412相关的存储单元中的DIMM的特定行的其它值。如果安全控制器发现行版本值412与当前组版本值202不同,这种其它值的清除可以发生。清除DIMM的特定行中的其它值可以防止在写入特定DRAM芯片440之后对特定行中的其它DRAM芯片具有读能力。通过写入已知模式,其它值的清除可以发生。考虑其它可能性,包括在存储设备例如DIMM的情境中处理读、写或擦除请求的其它方式。
图5示出了根据一个实施例的保护存储设备的内容的安全控制器操作的流程图。在方框501,操作500开始于接收指令。方框502确定指令是否是读请求、写请求或者擦除请求。
如果指令是读请求,在方框511,组版本值和行版本值可以进行比较。组版本值和行版本值可以在逻辑值上相等例如“0”或“1”。比较可以在不改变组版本值或行版本值的情况发生。比较可以产生匹配或不匹配。匹配可以描述相等的值。不匹配可以描述不相等的值。可以考虑用不同的方式来执行比较的其它实施例。执行比较可以被特征化为应用评估逻辑。产生匹配或不匹配的规则可以被特征化为解析(resolving)安全规则。如果组版本值与特定行的行版本值的比较结果匹配,在方框514,数据可以从特定行输出。数据可以被认为是规定可读的内容。读请求可以由数据来实现。内容可以被发送至例如产生请求的主机。如果组版本值和特定行的行版本值的比较结果不匹配,在方框516,数据不能从特定行输出。数据可以被认为是规定不可读的内容。当内容被规定为不可读是,信号拒绝可以被传输,已知模式例如所有的“0”可以被传输,或者随机模式可以被传输。读通常发生在组版本值与每行的行版本值匹配的情况。
如果指令是擦除请求,在方框531,组版本值可以被改变为新的组版本值。在擦除命令之前写入的地址(数据)的内容可以是不可读的。在方框536开始擦除。擦除可以是数据的物理擦除,在方框536,特定行的行版本值与新的组版本值不匹配。另一个擦除请求可以不被接受直到在方框536的物理擦除完成。如果新的组版本值与特定行的行版本值匹配,地址的内容可以不从特定行擦除并且可以被读取或写入。在一些实施例中,在完成物理擦除之前读请求或写请求可以被允许。在一些实施例中,由于擦除发生在第一行,如果第二行的行版本值与组版本值匹配,那么即使第一行的数据没有被物理擦除也可以在第二行发生读。在一些实施例中,由于擦除发生,另一个擦除指令可以不被允许直到被第一擦除指令影响的数据的每一位被物理擦除或者覆盖(overwritten)。在一些实施例中,组版本值和行版本值可以进行比较,产生匹配或不匹配。这个比较可以发生而不改变任何行版本值。考虑其它可能性例如当组版本值被改变时开始擦除所有行。
如果指令是读请求,在方框521,组版本值可以被复制到行版本值。然后组版本值匹配行版本值。在方框522,数据可以被写入。在对特定行的读请求期间,被写入到特定行的数据可以不被写到整行。例如,如果行具有100位用来保存值,在一些情况,仅仅25位可以被写入。在这种情形,剩余的75位可以被清除。如果写请求改变了行版本值清除可以发生,也就是说,如果组版本值与组版本值复制到行版本值之前的行版本值不相等。在一些实施例中,如果写请求未改变行版本值,清除可以不发生,也就是说,如果组版本值与写请求之前的行版本值相等。同样的,如果行版本值代表字节或者其它数据块,所述字节可以具有它自己的版本值并且在行中的其它数据无需被清除。在一个实施例中,清除可以通过设置75位的每个不被写入“0,”和“1,”,或者预定的模式“0”和“1”来实现。因此,在方框523,行的剩余部分可以被清除。写请求完成,然后行的内容可读。写可以一直被允许。在标准的操作条件的情况下,组版本值与每行的行版本值匹配写正常发生。
在实施例中,主机可以被允许读、写或擦除。主机可以不被允许设置组版本值。主机可以不被允许设置条目或行版本值。本公开的方案可以允许这个间接发生,但是不直接作为主机动作的结果。
Claims (27)
1.一种动态随机访问DRAM存储设备,包括:
所述DRAM存储设备的数据存储阵列,用来存储数据,所述数据存储阵列包括两行或者多行,每行具有两个或者多个存储单元;
所述数据存储阵列的每行的行版本存储单元,用于存储行版本值;
所述DRAM存储设备的组版本数据存储器,用来存储组版本值;以及
所述DRAM存储设备的安全控制器,被配置为响应于接收到擦除请求:
将组版本值改变为新的组版本值,使所述动态随机访问存储设备的所述数据存储阵列的所有行不可读;
其中主机不被允许设置存储在所述组版本数据存储器中的所述组版本值。
2.根据权利要求1所述的存储设备,其中所述安全控制器被进一步配置为:响应于接收对特定行进行读取请求,
比较所述组版本值与所述特定行的行版本值;
当所述组版本值与所述特定行的行版本值匹配时从所述特定行输出数据;以及
当所述组版本值与所述特定行的行版本值不匹配时从所述特定行不输出数据。
3.根据权利要求2所述的存储设备,其中所述安全控制器被进一步配置为:响应于接收到擦除请求,当所述新的组版本值与所述特定行的行版本值不匹配时,对数据阵列的所述特定行开始物理擦除操作。
4.根据权利要求3所述的存储设备,其中所述安全控制器被进一步配置为:
响应于擦除请求之后、并且物理擦除操作已经开始且没有完成,接收到写请求,允许所述写请求;
响应于擦除请求之后、并且物理擦除操作已经开始且没有完成,接收到读请求,不允许对该擦除请求之前存储的数据进行读。
5.一种存储设备,包括:
两个或者多个动态随机访问DRAM芯片,每个芯片具有用来存储数据的数据存储阵列,所述数据存储阵列包括两行或者多行,每行具有两个或者多个存储单元;
缓存芯片,具有用于存储组版本值的至少一个组版本数据存储器、用于存储所述DRAM芯片的所述两行或多行中行的行版本值的多个行版本存储单元、以及安全控制器,
其中所述安全控制器被配置为:
响应于接收到对特定DRAM芯片的擦除请求:
将所述特定DRAM芯片的组版本值改变为新的组版本值,使所述特定DRAM芯片的所述数据存储阵列的所有行不可读;
其中主机不被允许设置存储在所述组版本数据存储器中的所述组版本值。
6.根据权利要求5所述的存储设备,进一步包括所述安全控制器进一步被配置为响应于接收到对特定DRAM芯片的擦除请求,当所述特定DRAM芯片的特定行的行版本值与特定DRAM芯片的所述新的组版本值不匹配时,对所述特定行开始物理擦除操作。
7.根据权利要求5所述的存储设备,进一步包括所述安全控制器进一步被配置为,响应于接收对特定DRAM芯片的特定行进行读取请求,
比较所述特定DRAM芯片的组版本值与所述特定行的行版本值;
当所述组版本值与所述特定行的行版本值匹配时从所述特定行输出数据;以及
当所述组版本值与所述特定行的行版本值不匹配时从所述特定行不输出数据。
8.根据权利要求6所述的存储设备,其中所述安全控制器被进一步配置为:
响应于擦除请求之后、并且物理擦除操作已经开始且没有完成,接收到写请求,允许所述写请求;
响应于擦除请求之后、并且物理擦除操作已经开始且没有完成,接收到读请求,不允许对该擦除请求之前存储的数据进行读。
9.根据权利要求5所述的存储设备,其中所述安全控制器被适应于执行多数表决操作,其中所述组版本值具有冗余存储在三个或多个存储单元的逻辑值,从而适应单事件翻转。
10.根据权利要求5所述的存储设备,其中所述组版本值被存储在寄存器中,其中所述寄存器具有对电离辐射不敏感的临界电荷。
11.一种保护动态随机访问DRAM存储设备的内容的方法,其中所述DRAM存储设备包括用来存储数据的数据存储阵列,所述数据存储阵列包括两行或者多行,每行具有两个或者多个存储单元,所述数据存储阵列包括用于每行的存储行版本值的行版本存储单元,所述DRAM存储设备包括用来存储组版本值的组版本数据存储器,该方法包括:
响应于所述DRAM存储设备的安全控制器接收到擦除请求:
将组版本值改变为新的组版本值,使所述动态随机访问存储设备的所述数据存储阵列的所有行不可读;
其中主机不被允许设置存储在所述组版本数据存储器中的所述组版本值。
12.根据权利要求11所述的方法,进一步包括:
响应于所述安全控制器接收对特定行进行读取请求,
比较所述组版本值与所述特定行的行版本值;
当所述组版本值与所述特定行的行版本值匹配时从所述特定行输出数据;以及
当所述组版本值与所述特定行的行版本值不匹配时从所述特定行不输出数据。
13.根据权利要求12所述的方法,进一步包括:响应于所述安全控制器接收到擦除请求,当所述新的组版本值与所述特定行的行版本值不匹配时,对数据阵列的所述特定行开始物理擦除操作。
14.根据权利要求13所述的方法,进一步包括:
响应于擦除请求之后、并且物理擦除操作已经开始且没有完成,所述安全控制器接收到写请求,允许所述写请求;
响应于擦除请求之后、并且物理擦除操作已经开始且没有完成,所述安全控制器接收到读请求,不允许对该擦除请求之前存储的数据进行读。
15.根据权利要求13所述的方法,进一步包括在擦除期间,在完成所述擦除之前所述安全控制器允许读请求或写请求,其中允许读请求包括接收读请求,比较组版本值和特定行的行版本值,并且当所述组版本值与所述特定行的行版本值匹配时从所述特定行输出数据,以及当所述组版本值与所述特定行的行版本值不匹配时从所述特定行不输出数据。
16.根据权利要求13所述的方法,进一步包括在擦除期间,所述安全控制器不允许另一个擦除指令直到被第一个擦除指令影响的数据的每位被物理擦除或覆盖。
17.根据权利要求11所述的方法,其中如果在所述DRAM存储设备中的所述组版本值与在所述存储中的所述行版本值匹配,那么所述安全控制器确定不擦除所述DRAM存储设备的内容。
18.一种保护存储设备的内容的方法,所述存储设备包括两个或者多个动态随机访问DRAM芯片,每个芯片具有用来存储数据的数据存储阵列,所述数据存储阵列包括两行或者多行,每行具有两个或者多个存储单元,所述存储设备还包括缓存芯片,该缓存芯片具有用于存储组版本值的至少一个组版本数据存储器、用于存储所述DRAM芯片的所述两行或多行中行的行版本值的多个行版本存储单元、以及安全控制器,该方法包括:
响应于所述安全控制器接收到对特定DRAM芯片的擦除请求:
将所述特定DRAM芯片的组版本值改变为新的组版本值,使所述特定DRAM芯片的所述数据存储阵列的所有行不可读;
其中主机不被允许设置存储在所述组版本数据存储器中的所述组版本值。
19.根据权利要求18所述的方法,进一步包括:响应于所述安全控制器接收到对特定DRAM芯片的擦除请求,当所述特定DRAM芯片的特定行的行版本值与特定DRAM芯片的所述新的组版本值不匹配时,对所述特定行开始物理擦除操作。
20.根据权利要求18所述的方法,进一步包括:响应于所述安全控制器接收对特定DRAM芯片的特定行进行读取请求,
比较所述特定DRAM芯片的组版本值与所述特定行的行版本值;
当所述组版本值与所述特定行的行版本值匹配时从所述特定行输出数据;以及
当所述组版本值与所述特定行的行版本值不匹配时从所述特定行不输出数据。
21.根据权利要求19所述的方法,进一步包括:
响应于擦除请求之后、并且物理擦除操作已经开始且没有完成,所述安全控制器接收到写请求,允许所述写请求;
响应于擦除请求之后、并且物理擦除操作已经开始且没有完成,所述安全控制器接收到读请求,不允许对该擦除请求之前存储的数据进行读。
22.根据权利要求19所述的方法,进一步包括在擦除期间,在完成所述擦除之前所述安全控制器允许读请求或写请求,其中允许读请求包括接收对特定DRAM芯片的读请求,比较所述特定DRAM芯片的组版本值和所述特定DRAM芯片的特定行的行版本值,并且当所述组版本值与所述特定行的行版本值匹配时从所述特定行输出数据,以及当所述组版本值与所述特定行的行版本值不匹配时从所述特定行不输出数据。
23.根据权利要求19所述的方法,进一步包括在擦除期间,所述安全控制器不允许另一个擦除指令直到被第一个擦除指令影响的数据的每位被物理擦除或覆盖。
24.根据权利要求19所述的方法,进一步包括在擦除期间,在完成所述擦除之前所述安全控制器允许对所述特定DRAM芯片的读请求或写请求,其中允许对所述特定DRAM芯片的读请求包括所述安全控制器接收读请求,对所述特定DRAM芯片的内容应用解析安全规则的评估逻辑,以及对所述安全规则规定的可读的所述特定DRAM芯片的内容完成所述读请求。
25.根据权利要求18所述的方法,其中如果所述缓存芯片中的所述特定DRAM芯片的所述组版本值与所述缓存芯片中的所述特定DRAM芯片的所述行版本值匹配,所述安全控制器确定不擦除所述特定DRAM芯片的内容。
26.根据权利要求18所述的方法,还包括:所述安全控制器响应于读请求:在所述缓存芯片中保留所述组版本值;
复制所述缓存芯片中的所述组版本值到所述缓存芯片中的所述行版本值;以及把内容写入所述缓存芯片完成所述读请求。
27.根据权利要求18所述的方法,进一步包括应用多数表决操作,其中对存储在三个或多个存储单元的逻辑值进行比较,并基于哪个逻辑值出现最频繁来确定所述缓存芯片中的所述组版本值。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/758,442 US9146882B2 (en) | 2013-02-04 | 2013-02-04 | Securing the contents of a memory device |
US13/758,442 | 2013-02-04 | ||
US13/792,720 US9146883B2 (en) | 2013-02-04 | 2013-03-11 | Securing the contents of a memory device |
US13/792,720 | 2013-03-11 | ||
PCT/US2014/013860 WO2014120929A1 (en) | 2013-02-04 | 2014-01-30 | Securing the contents of a memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104969293A CN104969293A (zh) | 2015-10-07 |
CN104969293B true CN104969293B (zh) | 2018-03-27 |
Family
ID=51260324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480006493.8A Active CN104969293B (zh) | 2013-02-04 | 2014-01-30 | 保护存储设备的内容的方法和对应的存储设备 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9146882B2 (zh) |
JP (1) | JP6399523B2 (zh) |
CN (1) | CN104969293B (zh) |
DE (1) | DE112014000311B4 (zh) |
WO (1) | WO2014120929A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150115752A (ko) * | 2013-01-31 | 2015-10-14 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 적응성 입도 로우 버퍼 캐시 |
US9514789B2 (en) * | 2013-06-27 | 2016-12-06 | Steven Bress | Systems and methods for safely moving short term memory devices while preserving, protecting and examining their digital data |
EP2884417B1 (de) * | 2013-12-10 | 2019-09-04 | Wincor Nixdorf International GmbH | Verfahren zur Abwehr von Cold-Boot Angriffen auf einen Computer in einem Selbstbedienungs-Terminal |
US10186310B2 (en) * | 2015-10-31 | 2019-01-22 | Goran Krilic | DIMM DRAM memory chips quick optical data erasure after power cycling |
KR102678654B1 (ko) * | 2017-02-23 | 2024-06-27 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치, 데이터 저장 장치 및 그것의 동작 방법 |
CN108830114B (zh) * | 2018-05-23 | 2020-07-07 | 广东高云半导体科技股份有限公司 | 非易失性存储器的数据处理方法与装置、存储介质 |
US11600316B2 (en) | 2020-05-28 | 2023-03-07 | Rambus Inc. | DRAM security erase |
CN113948138A (zh) | 2020-07-17 | 2022-01-18 | 西部数据技术公司 | 3d nand中出于数据安全目的的即时且永久的自毁方法 |
US20230061037A1 (en) * | 2021-09-01 | 2023-03-02 | Micron Technology, Inc. | Apparatus with power-based data protection mechanism and methods for operating the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102257482A (zh) * | 2008-12-19 | 2011-11-23 | 惠普开发有限公司 | 用于一致读取等待时间的冗余数据存储 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03235290A (ja) * | 1990-02-09 | 1991-10-21 | Mitsubishi Electric Corp | 階層的な行選択線を有する半導体記憶装置 |
US5327383A (en) * | 1992-04-21 | 1994-07-05 | Intel Corporation | Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy |
US6035401A (en) * | 1997-02-03 | 2000-03-07 | Intel Corporation | Block locking apparatus for flash memory |
US5903717A (en) * | 1997-04-02 | 1999-05-11 | General Dynamics Information Systems, Inc. | Fault tolerant computer system |
US6122639A (en) * | 1997-12-23 | 2000-09-19 | Cisco Technology, Inc. | Network device information collection and change detection |
AU4331899A (en) * | 1998-06-05 | 1999-12-20 | Lockheed Martin Corporation | Radiation hardened six transistor random access memory and memory device |
US6529917B1 (en) * | 2000-08-14 | 2003-03-04 | Divine Technology Ventures | System and method of synchronizing replicated data |
US6834331B1 (en) * | 2000-10-24 | 2004-12-21 | Starfish Software, Inc. | System and method for improving flash memory data integrity |
JP2003203012A (ja) * | 2001-10-30 | 2003-07-18 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ装置 |
JP2004341768A (ja) * | 2003-05-15 | 2004-12-02 | Fujitsu Ltd | 磁気ディスク装置、暗号処理方法及びプログラム |
JP4228784B2 (ja) * | 2003-05-30 | 2009-02-25 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、画像処理プログラム |
US7398390B2 (en) * | 2003-08-08 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Method and system for securing a computer system |
US6879518B1 (en) | 2003-11-21 | 2005-04-12 | Atmel Corporation | Embedded memory with security row lock protection |
JP2005209074A (ja) | 2004-01-26 | 2005-08-04 | Denso Corp | 更新検出装置、及び更新検出プログラム |
US7215135B2 (en) * | 2004-12-02 | 2007-05-08 | Honeywell International Inc. | Single event upset hardened circuitry without sensitivity to overshoot and/or undershoot conditions |
JP2007008020A (ja) | 2005-06-30 | 2007-01-18 | Toshiba Corp | 記録媒体保持機構およびこの記録媒体保持機構を備えた画像形成装置 |
JP2007109148A (ja) | 2005-10-17 | 2007-04-26 | Hitachi Ulsi Systems Co Ltd | 外部記憶装置 |
JP2007148644A (ja) | 2005-11-25 | 2007-06-14 | Sharp Corp | データ記憶装置、icカード及びデータ記憶方法 |
US20070143566A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with data alignment in a directly mapped file storage system |
JP2007188138A (ja) * | 2006-01-11 | 2007-07-26 | Toshiba Corp | マイクロコンピュータおよびそのセキュリティ制御方法 |
JP4228395B2 (ja) * | 2006-07-25 | 2009-02-25 | セイコーエプソン株式会社 | 強誘電体メモリ装置、強誘電体メモリ装置の駆動方法、電子機器および電子機器の駆動方法 |
US7551470B2 (en) * | 2006-10-19 | 2009-06-23 | International Business Machines Corporation | Non volatile memory RAD-hard (NVM-rh) system |
JP5028967B2 (ja) | 2006-11-15 | 2012-09-19 | 富士通セミコンダクター株式会社 | 半導体記憶装置および半導体記憶装置の制御方法 |
US20100115175A9 (en) | 2006-12-18 | 2010-05-06 | Zhiqing Zhuang | Method of managing a large array of non-volatile memories |
JP2008204582A (ja) * | 2007-02-22 | 2008-09-04 | Elpida Memory Inc | 不揮発性ram |
US20090144557A1 (en) | 2007-07-26 | 2009-06-04 | Hyblue, Inc. | Recoverable secure data store system and method |
JP5049733B2 (ja) | 2007-10-17 | 2012-10-17 | 株式会社東芝 | 情報処理システム |
KR100930074B1 (ko) | 2007-11-20 | 2009-12-08 | 경북대학교 산학협력단 | 비휘발성 기능을 갖는 단일 트랜지스터 플로팅 바디dram 셀 소자 |
US8826035B2 (en) | 2009-12-23 | 2014-09-02 | Intel Corporation | Cumulative integrity check value (ICV) processor based memory content protection |
JP2011203927A (ja) | 2010-03-25 | 2011-10-13 | Panasonic Corp | 情報処理装置 |
US20120151223A1 (en) | 2010-09-20 | 2012-06-14 | Conde Marques Ricardo Nuno De Pinho Coelho | Method for securing a computing device with a trusted platform module-tpm |
KR20130008300A (ko) * | 2011-07-12 | 2013-01-22 | 삼성전자주식회사 | 오버 프로그램을 이용하여 소거 동작을 수행하는 플래시 메모리 장치 및 그 동작방법 |
-
2013
- 2013-02-04 US US13/758,442 patent/US9146882B2/en active Active
- 2013-03-11 US US13/792,720 patent/US9146883B2/en not_active Expired - Fee Related
-
2014
- 2014-01-30 DE DE112014000311.5T patent/DE112014000311B4/de active Active
- 2014-01-30 WO PCT/US2014/013860 patent/WO2014120929A1/en active Application Filing
- 2014-01-30 CN CN201480006493.8A patent/CN104969293B/zh active Active
- 2014-01-30 JP JP2015556131A patent/JP6399523B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102257482A (zh) * | 2008-12-19 | 2011-11-23 | 惠普开发有限公司 | 用于一致读取等待时间的冗余数据存储 |
Also Published As
Publication number | Publication date |
---|---|
US20140223117A1 (en) | 2014-08-07 |
WO2014120929A1 (en) | 2014-08-07 |
DE112014000311T5 (de) | 2015-09-10 |
JP2016509731A (ja) | 2016-03-31 |
DE112014000311B4 (de) | 2021-10-07 |
JP6399523B2 (ja) | 2018-10-03 |
CN104969293A (zh) | 2015-10-07 |
US9146882B2 (en) | 2015-09-29 |
US20140223120A1 (en) | 2014-08-07 |
US9146883B2 (en) | 2015-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104969293B (zh) | 保护存储设备的内容的方法和对应的存储设备 | |
CN111833937B (zh) | 用于存储器的刷新模式及存取模式 | |
US8997255B2 (en) | Verifying data integrity in a data storage device | |
US7554865B2 (en) | Randomizing current consumption in memory devices | |
US11416417B2 (en) | Method and apparatus to generate zero content over garbage data when encryption parameters are changed | |
TW201624488A (zh) | 資料儲存裝置及其操作方法 | |
DE102007058418A1 (de) | Fehlerkorrektur in Speicherbauteilen | |
US20190377693A1 (en) | Method to generate pattern data over garbage data when encryption parameters are changed | |
CN108255637B (zh) | 数据存储装置及其操作方法 | |
KR20050076156A (ko) | 플래시 메모리의 데이터 복구 장치 및 방법 | |
US20090073759A1 (en) | Device for protecting a memory against attacks by error injection | |
WO2020131434A1 (en) | Data integrity protection for relocating data in a memory system | |
US9111649B2 (en) | Tamper resistant semiconductor device with access control | |
US7688637B2 (en) | Memory self-test circuit, semiconductor device and IC card including the same, and memory self-test method | |
US20160132406A1 (en) | Data storage device and operating method thereof | |
KR20220105561A (ko) | Nand 플래시 메모리의 보안 카피-백 프로그램 방법 | |
CN118351909A (zh) | 存储器字线刷新方法、激活方法、装置、设备和介质 | |
TW201928951A (zh) | 動態隨機存取記憶體及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |