用于非易失性存储器和存储器控制器安全且认证的配对的方法与流程

文档序号:18414698发布日期:2019-08-13 19:12阅读:266来源:国知局
用于非易失性存储器和存储器控制器安全且认证的配对的方法与流程

本文中描述的示例通常涉及用于阻止计算平台和固态存储装置(ssd)中的假冒非易失性存储器(nvm)的使用的技术。



背景技术:

近年来,一些电子部件供应链已经变得受到假冒nvm的污染。假冒nvm的负面影响不限于合法制造商的收益损失,而且延伸到对他们的声誉和品牌形象的损害。可引导各种测试以试图与假冒产品的使用斗争。在2009年引入“specificationforauthenticationofsemiconductorsandrelatedproductss.t20-1109”(从www.semi.org处的semi可得到)之后的常规做法包括基于生成在封装级应用的不可预测的和/或随机的代码的机制。这样的机制通常需要在线使用安全基础设施以使得合法制造商能够验证装置的真实性。需要在线使用安全基础设施在许多产品使用场景中是成问题的。

附图说明

图1说明了示例存储器控制器和存储器装置布置。

图2说明了第一流程图。

图3说明了原始误码率(rber)到读取参考电压的映射。

图4说明了第二流程图。

图5说明了用于探针测试的示例伪码。

图6说明了示例计算平台。

具体实施方式

正如在本公开中预期的,使用唯一管芯上特性可离线认证非易失性存储器(nvm),诸如三维交叉点存储器(例如来自英特尔公司的在市场上买得到的3dxpointtm存储器)。在本发明的实施例中,可应用使用固有装置级特性的认证,并且用于验证nvm的真实性的协议可独立于用于模糊nvm秘密技术信息的任何技术。在实施例中,协议是有成本效益的并且避免了额外硬件资源和/或在线可访问性要求。本发明的实施例阻止在与合法的存储器控制器一起使用时用假冒nvm未授权地替换合法nvm。

图1说明了示例存储器控制器和存储器装置布置100。在一些示例中,如图1中示出的,布置100包括通信耦合至存储器控制器104的存储器装置102。存储器装置102可以是包括nvm管芯(未示出)的不可信实体,起到用于数据存储的媒体的作用。存储器控制器104可以是执行内部固件并且管理与存储器装置102的读和写操作的可信实体。

在一些示例中,存储器装置102可包括非易失性类型的存储器,即使电力被中断,所述非易失性类型的存储器的状态也是确定的。在一些示例中,存储器装置102可包括块可寻址的非易失性类型的存储器,诸如以用于nand或nor技术。因此,存储器装置102还可包括后代的类型的nvm,诸如3维交叉点存储器(如3dxpointtm的由英特尔公司大批供应的)或者其它字节可寻址的非易失性类型的存储器。根据一些示例,存储器装置102可包括包括了硫属化物玻璃、多阈值级nand闪速存储器、nor闪速存储器、单级或多级相变存储器(pcm)、电阻存储器、纳米线存储器、fetram、结合忆阻器技术的mram、或stt-mram、或者上述中的任何的组合、或者其它存储器的类型的nvm。

然而,不以这种方式来限制示例,并且在一些实例中存储器装置102可包括包括了但不限于随机存取存储器(ram)、d-ram、ddrsdram、sram、t-ram或z-ram的易失性类型的存储器。易失性存储器的一个示例包括动态ram(dram)或者诸如sdram的某个变体。如本文中描述的存储器可与多种存储器技术兼容,诸如hbm(最初由电子器件工程联合委员会(jedec)固态技术协会(jedec)在2013年10月发布的highbandwidthmemorydram,jesd235)和ddr5(当前由jedec在讨论中的ddr版本5)和/或其它以及基于这样的规范的衍生物、修订本、版本或扩展的技术。

存储器控制器104可被布置为控制使用至少临时存储在存储器装置102处的数据。尽管在图1的示例中仅示出了一个存储器装置,但是应当理解,在其它示例中,可通过存储器控制器104来控制多个存储器装置。在一些示例中,存储器装置102可以是固态存储器装置(ssd)。在一些示例中,存储器装置102可以是双列直插式存储器模块(dimm)。

存储器控制器104可包括验证部件106。根据下面讨论的示例,验证部件可确定存储器装置102是否被授权与存储器控制器104一起被使用。在实施例中,可在处理器内或者在片上系统(soc)中实现验证部件。在至少一些示例中,存储器控制器和存储器装置布置100使用挑战响应协议。存储器控制器104可将挑战120发给存储器装置102,所述存储器装置102以响应122来进行响应。验证部件106可包括散列函数108,所述散列函数108用于如众所周知的那样执行选择的值的密码散列。散列表110可存储多个散列值,每个散列值与存储器装置相关联。在实施例中,可以通过作为挑战响应协议的一部分的散列函数108来散列响应122中的一些或者全部以产生存储在散列表110中的散列值。尽管在图1中将散列函数108和散列表110示出为验证部件106的一部分,但是在其它实施例中它们可以是单独的部件。

从安全性角度来看,本发明的实施例可以是物理不可克隆函数(puf)的实现的示例。物理不可克隆函数或者puf是用作诸如存储器装置102的半导体装置的唯一身份的“数字指纹”。puf基于在半导体制造期间自然发生的并且使得区分另外的相同的半导体成为可能的物理变化。puf依赖于它们的物理微结构的唯一性。这个微结构依赖于在制造期间引入的随机物理因子。这些因子是不可预测且不可控的,这使得复制或者克隆结构几乎不可能。不是包含有单个加密密钥,而是puf实现挑战-响应认证以评价这个微结构。当将物理刺激施加于结构时,由于刺激与装置的物理微结构的复杂交互导致它以不可预测的(但是可重复的)方式作出反应。这个精确的微结构依赖于在制造期间引入的、是不可预测的物理因子。施加的刺激被称为挑战并且puf的反应被称为响应。具体挑战和它的相应响应一起形成挑战-响应对或者crp。通过微结构本身的性质来建立装置的身份。由于这个结构不会被挑战-响应机制直接显露,因此这样的装置是抗欺骗攻击的。使用密钥提取器,puf还可被用来从物理微结构提取唯一的强加密密钥。每当评价puf时都重建相同的唯一密钥。可接着使用已知的密码方法来实现挑战-响应机制。

在本发明的实施例中,可利用非常小的硬件投资来实现puf。与包含对所有可能的挑战的响应的表的、将会需要是挑战位的数量的幂数的硬件的只读存储器(rom)不同,可在与挑战和响应位的数量成比例的硬件中构造puf。通过可信实体(例如存储器控制器104)发出挑战给须经真实性验证的另一实体(例如存储器装置102)来发起puf的操作,并且将来自后面的实体的响应与存储在可信实体中的结果相比较。

不可克隆性意味着即使利用相同过程作为相似的装置来制造每个puf装置,每个puf装置(即存储器装置)具有将挑战映射到响应的唯一且不可预测的方式,并且因为精确控制制造过程是不可行的,所以利用与另一给定的puf相同的挑战-响应行为来构造puf是不可行的。数学不可克隆性意味着给定来自puf的随机部件的性质中的一些或者其它crp的情况下计算未知响应应当是非常困难的。这是因为通过挑战与随机部件中的许多随机部件或者所有随机部件的复杂交互来创建响应。换句话说,给定puf系统的设计,不知道随机部件的物理性质的所有物理性质,crp是非常不可预测的。物理和数学不可克隆性的组合致使puf确实不可克隆。由于这些性质,puf可被用作唯一且不可篡改的装置标识符。

本发明的实施例利用这些puf概念,使得存储器控制器(即可信实体)利用在制造设施处在“探针测试”期间收集的nvm管芯特定特性。为了检测芯片中的坏管芯并且如果可能的话利用冗余元件来修复坏管芯而在制造设施处在晶圆级测试时通常进行探针测试。存储器控制器在运行中执行探针测试。如果自从在可信环境中将存储器装置(即不可信实体)与存储器控制器配对(例如作为制造和/或测试过程的一部分)以来存储器装置尚未被交换,则存储器控制器预计在初始探针测试和运行中的结果之间无差异;否则,存储器控制器检测到nvm替换。

在实施例中,在可信制造设施处制造的存储器装置102中的每个nvm管芯可通过执行探针测试而得到表征,并且可以通过管芯修整(“tbd”)管芯的参数中的一个或多个(例如分界电压(vdm))。tbd在这个上下文中指基于已知的“shmoos”测试来熔断(blow)唯一熔丝值以通过补偿误差变化性来获得用于管芯的更低的原始误码率(rber)。在shmoos测试期间,参数被扫过允许的值的范围。这些特性是每管芯且每制作过程唯一的。在实施例中,每个管芯可包含大约20个tbd唯一参数。

本发明的实施例修改这些tbd参数中的一个或多个并且“在运行中”执行探针测试流程。本发明的实施例将“在运行中”的探针测试流程的结果与先前在制造过程期间收集的信息比较以验证存储器装置。在一个实施例中,rber的计算可被用作制造探针测试(即puf)的示例,然而在其它实施例中,可使用利用其它tbd参数的其它探针测试。

图2说明了在制造期间生成测试结果的第一流程图。在实施例中,可在可信制造设施中在制造或者测试过程期间由存储器控制器104来执行流程200。在框202处,存储器控制器在存储器装置102上执行探针测试。在实施例中,探针测试可包括在存储器装置上运行多个写和随后的读测试并且测量rber与读取参考电压(rrv)(也被称为分界电压(vdm))的相关性。存储器控制器可在框204处使用验证部件106的散列函数108生成探针测试结果的密码散列。可使用任何合适的密码散列函数。在框206处,存储器控制器可将散列存储在散列表110中。对于安全性来说,散列值的使用可以是重要的。如果随后将散列值暴露于不可信方,散列值不提供底层存储器装置或存储器控制器技术的任何细节,也不允许对手反向设计本发明的实施例的挑战/响应协议。在实施例中,可通过执行在为要被更新的存储器控制器固件提供能力的制造或数据中心环境中操作的固件管理程序来执行将散列值存储到存储器控制器中的散列表中。

图3说明了根据一个实施例的原始误码率(rber)到读取参考电压(rrv)的映射。预计诸如rber对分界电压(vdm)的探针测试结果是每管芯唯一的。因此,如果存储器控制器确定运行中的探针测试的结果不匹配存储的结果,存储器控制器将能够识别不可靠的或者替换的存储器装置。图3呈现了shmoo收集的tbdvdm(相当于读取参考电压,所述读取参考电压可被用于区分存储的逻辑“1”和“0”)。将利用唯一tbd值来修整(调整)每晶圆(甚至每批)的每个管芯以便补偿“自然”制作处理引起的变化性。图3仅呈现了平均数据;在这个示例中,4.8a.u.(以任意单位)被示出具有最低rber。将通过执行散列操作而在存储器控制器上供应相同的经过统计处理的值。

图4说明了第二流程图。在实施例中,可通过存储器控制器104来执行流程400以验证存储器装置102的真实性。在制造存储器控制器并且已经执行了过程200的步骤之后,可在任何时间执行这个验证。在一个示例中,可在其中安装了存储器控制器和存储器装置的计算平台的启动时间执行验证过程。在另一示例中,在计算平台正在操作的同时,可周期地或随机地执行验证。在框402处,存储器控制器可选择以正如探针shmoos测试所做的相同方式选择的分界电压(vdm)。在框404处,存储器控制器104将随机位串写到存储器装置102内的空间分布的地址。随机位串数据可以是利用相等数量的1和0生成的任何伪随机数据。可由存储器控制器104来生成随机串。地址(或者地址范围)在探针级将是相同的。在实施例中,框404是挑战响应协议中的挑战。在一个示例中,串具有大于1024位的长度,尽管在其它示例中可使用其它长度。串的长度确定是密码原语达到的强度的量度的安全级。在一个实施例中,可使用值1024,因为它被预计提供足够的安全级。串的长度可基于期望的安全级而变化。在实施例中,以rber要求的方式来执行写操作。将由存储器控制器来执行精确的探针级测试,以便获得供应的数据和“在运行中”收集的数据之间的良好的交叉匹配。在框406处,存储器控制器从存储器装置内的空间分布的地址读回随机位串。这是挑战响应协议中的响应。在实施例中,响应必须易于生成并且接近于不可能复制(即使对于相同存储器控制器与另一存储器装置一起的实例)。

当从存储器装置收回随机位串时,存储器控制器在框408处执行探针测试以确定rber(例如,在没有应用任何纠错码(ecc)的情况下在读操作期间的位错误的计数)。在实施例中,rber包括探针测试结果。在其它实施例中,可作为在框408处的探针测试的一部分来执行框404和406。像在图3的y轴上示出rber一样将计算rber。在实施例中,在制作时间确定rber的一个目的是要确定vdm的最优值。通过扫掠偏置参数(即字线和位线电压),针对最小rber,vdm得到调节(如上面在图3中示出的)。在框410处,存储器控制器生成探针测试结果的密码散列。在框412处,存储器控制器将作为利用存储器装置102执行挑战响应协议的结果的新生成的散列值与先前在制造时间存储在存储器控制器104的散列表110中的针对这个存储器装置的散列值相比较。如果在框414处散列相等,则在框416处确定存储器装置是有效的。如果在框414处散列不相等,则在框418处确定存储器装置是无效的。如果存储器装置是无效的,则可推测已经用未授权的存储器装置交换了授权的存储器装置。

本发明的实施例使用nvm管芯特定信息和探针测试流程来验证存储器装置的真实性。当前公开的实施例的优势是它不需要任何附加的硬件资源,也不需要在线通信能力。实施例利用预先存在的存储器装置和存储器控制器硬件以及在制造过程期间确定的已经可用的探针测试结果。

在实施例中,存储器控制器104中的固件可足以用于执行本文中描述的挑战响应协议和关联的验证。将后制造探针测试结果存储在存储器控制器中所需要的存储器的量是小的。此外,本发明的实施例不需要要被添加到存储器装置的任何附加的硬件和/或软件资源。

图5说明了用于探针测试的示例伪码500。在实施例中,这个伪码可被用来计算rber以用于确定存储器装置中的vdm值。简化的伪码对于3dnand和3dxpoint存储器产品是有效的,其中通过在所有管芯和3d堆栈上重复,在允许的范围内扫掠内部vdm(例如读取参考电压),写并且然后读数据,计算rber(随机误码率,即失败的数目)并且然后将rber与供应的探针数据相比。

图6说明了示例计算平台600。在一些示例中,本发明的实施例可被应用来验证起到诸如一个或多个系统存储器装置612、持久性存储器619、存储器626和/或一个或多个存储存储器装置122的存储器装置102的作用的各种部件的真实性。在一些示例中,如图6中示出的,系统600包括通过i/o接口603和i/o接口623耦合至一个或多个存储装置620的主机计算平台610。而且,如图6中示出的,主机计算平台610可包括os611、一个或多个系统存储器装置612、电路系统616和系统软件617。针对这些示例,电路系统616可以能够执行主机计算平台610的各种功能元件,诸如可至少部分地保持在一个或多个系统存储器装置612内的os611和系统软件617。电路系统616可包括主机处理电路系统以包括一个或多个中央处理单元(cpu)(未示出)以及相关联的芯片集和/或存储器控制器618。

根据一些示例,如图6中示出的,os611可包括文件系统613和存储装置驱动器615,并且存储装置620可包括存储控制器624(类似于图1的存储器控制器104)、一个或多个存储存储器装置622和存储器626。os611可被布置为实现存储装置驱动器615以协调将来自文件613-1至613-n(其中“n”是大于1的全部的任何正整数)当中的文件的数据至少临时存储到一个或多个存储存储器装置622。数据例如可以已经源于或者可以关联于执行应用程序(图6中未示出)或者os611和/或系统软件617的至少部分。正如下面更详细地描述的,os611与存储装置620交换一个或多个命令和事务以将数据写到存储装置620。可通过存储装置620处的逻辑和/或特征来组织和处理命令和事务以将数据写到存储装置620。

在一些示例中,存储控制器624可包括逻辑和/或特征以接收对于存储装置620处的一个或多个存储存储器装置622的读或写事务请求。针对这些示例,可通过系统软件617来发起事务或者事务可源自系统软件617,所述系统软件617在一些实施例中可利用文件系统613来通过输入/输出(i/o)接口603和623将数据写到存储装置620。在实施例中,存储控制器624可如参考图1至图4讨论的那样来验证一个或多个存储存储器装置622。

在一些示例中,一个或多个存储存储器装置622可以是用来存储来自读和写事务和/或读和写操作的数据的装置。一个或多个存储存储器装置622可包括具有门电路的一个或多个芯片或管芯,所述一个或多个芯片或管芯可单独地包括一种或多种类型的非易失性存储器以包括但不限于nand闪速存储器、nor闪速存储器、3-d交叉点存储器(3dxpointtm)、铁电存储器、sonos存储器、铁电聚合体存储器、fetram、feram、奥氏存储器、纳米线、eeprom、相变存储器、忆阻器或stt-mram。针对这些示例,可以作为固态驱动器(ssd)来布置或者配置存储装置620。可以以块来读和写数据并且可将块的映射或位置信息保存在存储器626中。

根据一些示例,可以通过i/o接口603和i/o接口623来路由存储装置驱动器615和存储控制器624之间的用于存储在一个或多个存储存储器装置622中的并且借助于文件613-1至613-n访问的数据的通信。i/o接口603和623可被布置为串行高级技术附件(sata)接口以将主机计算平台610的元件耦合至存储装置620。在另一示例中,i/o接口603和623可被布置为串行附加小型计算机系统接口(scsi)(或者简单地sas)接口以将主机计算平台610的元件耦合至存储装置620。在另一示例中,i/o接口603和623可被布置为外设部件互连快速(pcie)接口以将主机计算平台610的元件耦合至存储装置620。在另一示例中,i/o接口603和623可被布置为非易失性存储器快速(nvme)接口以将主机计算平台610的元件耦合至存储装置620。针对这个其它示例,通信协议可被使用来通过如在诸如在2014年11月发布的版本3.1的外设部件互连(pci)快速基础规范(“pciexpressspecification”或“pciespecification”)或后来的版本和/或也是在2014年11月发布的版本1.2的非易失性存储器快速(nvme)规范(“nvmespecification”)或后来的版本的行业标准或者规范(包括后代或者变体)中描述的i/o接口603和623进行通信。

在一些示例中,一个或多个系统存储器装置612可以存储信息以及可被电路系统616使用以用于处理信息的命令。而且,如图6中示出的,电路系统616可包括存储器控制器618。存储器控制器618可被布置为控制使用至少临时存储在一个或多个系统存储器装置612处的数据以用于最终存储到存储装置620处的一个或多个存储存储器装置622。在实施例中,正如参考图1至图4讨论的,存储器控制器618可验证一个或多个系统存储器装置612或持久性存储器619。

在一些示例中,存储装置驱动器615可包括用来转发与源于系统软件617的一个或多个读或写事务和/或读或写操作相关联的命令的逻辑和/或特征。例如,存储装置驱动器615可转发与写事务相关联的命令,使得可促使数据被存储到存储装置620处的一个或多个存储存储器装置622。更具体地,存储装置驱动器615可使能写操作从计算平台610处的系统软件617传递到控制器624。

一个或多个系统存储器装置612可包括具有诸如ram、d-ram、ddrsdram、sram、t-ram或z-ram的易失性类型的存储器的一个或多个芯片或管芯。然而,示例不限于这种方式,并且在一些实例中,一个或多个系统存储器装置612可包括非易失性类型的存储器,包括但不限于nand闪速存储器、nor闪速存储器、3-d交叉点存储器(3dxpointtm)、铁电存储器、sonos存储器、铁电聚合体存储器、fetram、feram、奥氏存储器、纳米线、eeprom、相变存储器、忆阻器或者stt-mram。

持久性存储器619可包括具有非易失性类型的存储器的一个或多个芯片或者管芯,所述非易失性类型的存储器包括但不限于nand闪速存储器、nor闪速存储器、3-d交叉点存储器(3dxpointtm)、铁电存储器、sonos存储器、铁电聚合体存储器、fetram、feram、奥氏存储器、纳米线、eeprom、相变存储器、忆阻器或者stt-mram。

根据一些示例,主机计算平台610可包括但不限于服务器、服务器阵列或服务器机群、万维网服务器、网络服务器、因特网服务器、工作站、迷你计算机、大型计算机、超级计算机、网络家电、万维网设备、分布式计算系统、个人计算机、平板计算机、智能电话、多处理器系统、基于处理器的系统、或者它们的组合。

代表用于执行公开的体系结构的新颖方面的若干套示例方法的逻辑流程的集合被包括在本文中。虽然为了解释的简化的目的而作为一系列的动作描述并示出了本文中示出的一套或多套方法,但是本领域技术人员将会理解并意识到若干套方法不受动作的顺序的限制。一些动作可据此以不同的顺序发生和/或与和本文中示出和描述的不同的动作同时发生。例如,本领域技术人员将会理解并意识到一套方法可备选地被描绘为诸如在状态图中的一系列相互联系的状态或事件。此外,并非一套方法中说明的所有动作对于新颖实现来说都可能是所需的。

可在软件、固件和/或硬件中实现逻辑流程。在软件和固件实施例中,可通过存储在诸如非暂时性计算机可读介质或者机器可读介质的至少一种存储介质(例如光、磁或半导体存储设备)上的计算机可执行指令来实现逻辑流程。

计算机可读或机器可读存储介质的示例可包括能够存储电子数据的任何有形媒体,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。计算机可执行指令的示例可包括任何合适类型的代码,诸如源代码、编译代码、翻译代码、可执行代码、静态代码、动态代码、面向对象的代码、视码等。

根据一些示例,图6的称为电路系统616的部件可以为存储器控制器104或618执行处理操作或逻辑。电路系统616可包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可包括装置、逻辑器件、部件、处理器、微处理器、电路、处理器电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、asic、可编程逻辑器件(pld)、数字信号处理器(dsp)、fpga/可编程逻辑、存储单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件元件的示例可包括软件部件、程序、应用、计算机程序、应用程序、装置驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件部件、例程、子例程、函数、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者它们的任何组合。正如给定的示例所期望的,确定是否使用硬件元件和/或软件元件来实现示例可根据诸如期望的计算速率、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束的任何数量的因子而不同。

主机计算平台610可以是计算装置的一部分,所述计算装置可以是例如用户设备、计算机、个人计算机(pc)、桌上型计算机、膝上型计算机、笔记本计算机、上网本计算机、平板、智能电话、嵌入型电子设备、游戏控制台、服务器、服务器阵列或服务器机群、万维网服务器、网络服务器、因特网服务器、工作站、迷你计算机、大型计算机、超级计算机、网络家电、万维网设备、分布式计算系统、多处理器系统、基于处理器的系统、或者它们的组合。因此,如适当地期望的,在主机计算平台610的各种实施例中可包括或者省略本文中描述的主机计算平台610的功能和/或具体配置。

可使用分立的电路系统、asic、逻辑门和/或单个芯片体系结构的任何组合来实现主机计算平台610的部件和特征。此外,在合适地适当之处,可使用微控制器、可编程逻辑阵列和/或微处理器或者前述的任何组合来实现主机计算平台610的特征。注意到,硬件、固件和/或软件元件在本文中可统称为或者单独被称为“逻辑”、“电路”或者“电路系统”。

可使用表述“在一个示例中”或“示例”连同它们的派生词来描述一些示例。这些术语指与示例有关地描述的特定特征、结构或者特性被包括在至少一个示例中。短语“在一个示例中”出现在说明书的各个地方并不必都指相同的示例。

可使用表述“被耦合”和“被连接”连同它们的派生词来描述一些示例。不必打算把这些术语作为彼此的同义词。例如,使用术语“被连接”和/或“被耦合”的描述可指示两个或多于两个元件彼此直接物理或者电接触。然而,术语“被耦合”还可指两个或多于两个元件彼此不直接接触,但是仍然彼此协作或交互。

要强调的是,提供了本公开的摘要以遵守要求将会允许读者快速查明本技术公开的性质的摘要的37c.f.r.第1.72(b)节。它是在它将不会被用来解释或限制权利要求的范围或含义的理解的情况下提交的。另外,在前述的具体实施方式中,可以看到为了精简本公开的目的而将各种特征在单个示例中组合在一起。公开的这个方法将不会被解释为反映要求保护的示例需要比每项权利要求中清楚记载的更多的特征的意图。相反,就像下面的权利要求反映的一样,发明主题在于少于单个公开的示例的所有特征。因此,下面的权利要求据此被结合进具体实施方式中,其中每项权利要求作为单独的示例独立存在。在所附的权利要求中,术语“包括”和“其中”分别被用作相应术语“包含”和“在其中”的简明英语等同物。此外,术语“第一”、“第二”、“第三”等等仅被用作标签并且不是用来将数值要求强加于它们的对象。

尽管已经用专用于结构特征和/或方法动作的语言描述了本主题,但是要理解在所附的权利要求中限定的主题不必限于上面描述的具体特征或动作。相反,作为实现权利要求的示例形式来公开上面描述的具体特征和动作。

示例1提供了一种耦合至存储器的设备,所述设备包括:

验证部件,所述验证部件包括散列函数和散列表,所述验证部件在所述设备的制造的时间期间执行所述存储器的测试以产生第一测试结果、使用所述散列函数生成所述第一测试结果的第一散列并且将所述第一散列存储在所述散列表中、以及在所述制造的时间之后于所述设备的使用的时间期间执行所述存储器的所述测试以产生第二测试结果、使用所述散列函数生成所述第二测试结果的第二散列、将来自所述散列表的所述第一散列与所述第二散列相比较并且在所述第一散列不匹配所述第二散列时指示无效的存储器。

示例2包括示例1的所述设备,其中所述测试包括物理不可克隆函数(puf)。

示例3包括示例2的所述设备,其中所述puf包括所述存储器的分界电压的原始误码率(rber)。

示例4包括示例3的所述设备,其中所述设备被配置为通过在所述制造的时间之后于所述设备的使用的时间期间将随机位串写到所述存储器并且从所述存储器读出所述随机位串以及计算所述存储器的rber来执行所述测试。

示例5包括示例1的所述设备,其中所述设备包括可信实体并且所述存储器包括不可信实体。

示例6包括示例1的所述设备,其中所述设备包括存储器控制器并且所述验证部件包括存储在所述存储器控制器中的可执行固件。

示例7提供了一种方法,所述方法包括:

在耦合至存储器的设备的制造的时间期间,执行所述存储器的测试以产生第一测试结果,所述设备包括验证部件,所述验证部件包括散列函数和散列表,

使用所述散列函数生成所述第一测试结果的第一散列,以及

将所述第一散列存储在所述散列表中;以及

在所述制造的时间之后于所述设备的使用的时间期间,执行所述存储器的所述测试以产生第二测试结果,

使用所述散列函数生成所述第二测试结果的第二散列,

将来自所述散列表的所述第一散列与所述第二散列相比较,以及

在所述第一散列不匹配所述第二散列时,指示无效的存储器。

示例8包括示例7的所述方法,其中所述测试包括物理不可克隆函数(puf)。

示例9包括示例8的所述方法,其中所述puf包括所述存储器的分界电压的原始误码率(rber)。

示例10包括示例9的所述方法,其中执行所述测试包括通过在所述制造的时间之后于所述设备的使用的时间期间将随机位串写到所述存储器并且从所述存储器读出所述随机位串以及计算所述存储器的rber来执行所述测试。

示例11包括示例7的所述方法,其中所述设备包括可信实体并且所述存储器包括不可信实体。

示例12包括示例7的所述方法,其中所述设备包括存储器控制器并且所述验证部件包括存储在所述存储器控制器中的可执行固件。

示例13提供了至少一种机器可读介质,所述至少一种机器可读介质包括多个指令,所述多个指令响应于被计算系统的设备执行而促使所述设备:

在耦合至存储器的所述设备的制造的时间期间,执行所述存储器的测试以产生第一测试结果,所述设备包括验证部件,所述验证部件包括散列函数和散列表,

使用所述散列函数生成所述第一测试结果的第一散列,以及

将所述第一散列存储在所述散列表中;以及

在所述制造的时间之后于所述设备的使用的时间期间,执行所述存储器的所述测试以产生第二测试结果,

使用所述散列函数生成所述第二测试结果的第二散列,

将来自所述散列表的所述第一散列与所述第二散列相比较,以及

在所述第一散列不匹配所述第二散列时,指示无效的存储器。

示例14包括示例13的所述至少一种机器可读介质,其中所述测试包括物理不可克隆函数(puf)。

示例15包括示例14的所述至少一种机器可读介质,其中所述puf包括所述存储器的分界电压的原始误码率(rber)。

示例16包括示例15的所述至少一种机器可读介质,其中用来执行所述测试的指令包括用来通过在所述制造的时间之后于所述设备的使用的时间期间将随机位串写到所述存储器并且从所述存储器读出所述随机位串以及计算所述存储器的rber来执行所述测试的指令。

示例17提供了一种系统,所述系统包括:

存储器装置,所述存储器装置包括非易失性存储器;以及

存储器控制器,所述存储器控制器耦合至所述存储器装置,所述存储器控制器包括:

验证部件,所述验证部件包括散列函数和散列表,所述验证部件在所述存储器控制器的制造的时间期间执行所述非易失性存储器的测试以产生第一测试结果、使用所述散列函数生成所述第一测试结果的第一散列并且将所述第一散列存储在所述散列表中、以及在所述制造的时间之后于所述存储器控制器的使用的时间期间执行所述非易失性存储器的所述测试以产生第二测试结果、使用所述散列函数生成所述第二测试结果的第二散列、将来自所述散列表的所述第一散列与所述第二散列相比较并且在所述第一散列不匹配所述第二散列时指示无效的存储器。

示例18包括示例17的所述系统,其中所述测试包括物理不可克隆函数(puf)。

示例19包括示例18的所述系统,其中所述puf包括所述存储器的分界电压的原始误码率(rber)。

示例20包括示例19的所述系统,其中所述存储器控制器被配置为通过在所述制造的时间之后于所述设备的使用的时间期间将随机位串写到所述非易失性存储器并且从所述非易失性存储器读出所述随机位串以及计算所述非易失性存储器的rber来执行所述测试。

示例21包括示例20的所述系统,其中所述随机位串的长度包括至少1024位。

示例22包括示例17的所述系统,其中所述存储器控制器包括可信实体并且所述存储器装置包括不可信实体。

示例23包括示例17的所述系统,其中所述非易失性存储器包括3维交叉点存储器。

示例24包括示例19的所述系统,其中在所述存储器控制器的制造的时间期间通过基于shmoos测试来熔断所述非易失性存储器的唯一熔丝值来通过管芯修整(tbd)所述分界电压以获得所述非易失性存储器的更低的rber。

示例24提供了一种处理器,所述处理器耦合至非易失性存储器装置,所述处理器包括:

包括散列函数和散列表的存储器控制器,所述存储器控制器要在所述处理器的制造的时间期间执行所述非易失性存储器装置的测试以产生第一测试结果,要使用所述散列函数生成所述第一测试结果的第一散列,并且要将所述第一散列存储在所述散列表中,以及要在所述制造的时间之后于所述处理器的使用的时间期间执行所述非易失性存储器装置的所述测试以产生第二测试结果,要使用所述散列函数生成所述第二测试结果的第二散列,要将来自所述散列表的所述第一散列与所述第二散列相比较,以及要在所述第一散列不匹配所述第二散列时指示无效的存储器。

示例26包括示例25的所述处理器,其中所述测试包括物理不可克隆函数(puf)。

示例27包括示例26的所述处理器,其中所述puf包括所述非易失性存储器装置的分界电压的原始误码率(rber)。

示例28包括示例27的所述处理器,其中所述存储器控制器被配置为通过在所述制造的时间之后于所述设备的使用的时间期间将随机位串写到所述非易失性存储器并且从所述非易失性存储器读出所述随机位串以及计算所述非易失性存储器的rber来执行所述测试。

示例29包括示例25的所述处理器,其中所述存储器控制器包括可信实体并且所述非易失性存储器装置包括不可信实体。

示例30包括示例27的所述处理器,其中在所述存储器控制器的制造的时间期间通过基于shmoos测试来熔断所述非易失性存储器的唯一熔丝值来通过管芯修整(tbd)所述分界电压以获得所述非易失性存储器的更低的rber。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1