存储器验证的制作方法

文档序号:23810312发布日期:2021-02-03 12:32阅读:76来源:国知局
存储器验证的制作方法

[0001]
本公开总体上涉及存储器,并且更特别地,涉及与存储器验证相关联的设备和方法。


背景技术:

[0002]
存储器装置通常作为计算机或其它电子装置中的内部半导体集成电路来提供。存在许多不同类型的存储器,包含易失性存储器和非易失性存储器。易失性存储器可能需要电力来维护其数据,并且包含随机存取存储器(ram)、动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)等。非易失性存储器可以通过在未加电时保留存储的数据来提供持久数据,并且可以包含nand快闪存储器、nor快闪存储器、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、以及电阻可变存储器,诸如相变随机存取存储器(pcram)、电阻随机存取存储器(rram)和磁阻随机存取存储器(mram)等。
[0003]
对于广泛的电子应用,存储器也被用作易失性和非易失性数据存储装置,包含但不限于个人计算机、便携式记忆棒、数码相机、蜂窝电话、诸如mp3播放器的便携式音乐播放器、电影播放器和其它电子装置。存储器单元可以布置成阵列,其中所述阵列用于存储器装置中。


技术实现要素:

[0004]
本公开的一个方面涉及一种用于存储器验证的设备,所述设备包括:存储器装置的多个存储器部件;可编程元件的阵列,用于存储要广播到所述多个存储器部件的信息;控制电路,其被配置为:在将所存储的信息广播到所述多个存储器部件期间捕获所述所存储的信息的至少一部分;基于所捕获的信息来确定第一验证代码;以及基于将所确定的第一验证代码与存储在所述存储器装置的寄存器中的第二验证代码进行比较来确定所述存储器装置是否是可靠的存储器装置。
[0005]
本公开的另一方面涉及一种用于验证存储器装置的方法,所述方法包括:在可编程元件的阵列中存储要广播到所述存储器装置的多个存储器部件的信息;在将所存储的信息广播到所述多个存储器部件期间,捕获所述所存储的信息的至少一部分;基于所捕获的信息来确定第一验证代码;将所述第一验证代码存储在所述存储器装置的寄存器中;向所述存储器装置提供第二验证代码;将所述第一验证代码与所述第二验证代码进行比较,其中所述第二验证代码是基于所述可编程元件的阵列中所述所存储的信息;以及至少部分地基于将所述第一验证代码与所述第二验证代码进行比较来确定所述存储器装置的特性。
[0006]
本公开的又一方面涉及一种用于存储器验证的设备,所述设备包括:多个存储器装置;以及控制器,其被配置为启动存储器装置到存储器装置的验证程序,所述存储器装置到存储器装置的验证程序包括:从第一存储器装置向第二存储器装置提供第一验证请求;响应于在所述第一存储器装置处从所述第二存储器装置接收到对所述第一验证请求的已
验证的响应,在所述第一存储器装置中存储指示所述第二存储器装置是可靠的验证状态;以及响应于在所述第一存储器装置处从所述第二存储器装置接收到对所述第一验证请求的未验证的响应或无响应,在所述第一存储器装置中存储指示所述第二存储器装置不可靠的验证状态;针对所述多个存储器装置中的剩余数量的存储器装置中的每个存储器装置:向所述存储器装置提供验证请求;以及在提供所述验证请求的所述存储器装置中存储被提供所述验证请求的所述存储器装置的验证状态的指示,其中所述验证状态基于提供所述验证请求的所述存储器装置是否从被提供所述验证请求的所述存储器装置接收到已验证的响应;以及其中所述控制器被配置为基于存储在所述多个存储器装置中的所述验证状态来确定所述多个存储器装置的验证状态。
附图说明
[0007]
图1a是根据本公开的多个实施例的包含存储器装置的计算系统的一部分的形式的设备的框图。
[0008]
图1b是根据本公开的多个实施例的存储器装置的一部分的形式的设备的框图。
[0009]
图2示出了根据本公开的多个实施例的与实现存储器验证相关联的多个实例流程序列。
[0010]
图3示出了根据本公开的多个实施例的与实现存储器验证相关联的多个实例流程序列。
[0011]
图4是示出根据本公开的多个实施例的存储器装置的验证的框图。
[0012]
图5示出了根据本公开的多个实施例的用于存储器验证的实例方法。
[0013]
图6示出了实例计算系统,在所述计算系统内可以执行用于执行本文所讨论的各种存储器验证方法的指令。
具体实施方式
[0014]
本公开包含涉及存储器验证的设备和方法,其可以提高安全性和质量保证。作为实例,各种计算系统包含耦合到存储器(例如,存储器系统)的多个处理资源,所述多个处理资源与执行一组指令(例如,程序、应用等)相关联地被访问。围绕存储器系统的各种安全性问题。例如,黑客可能试图获得对存储器系统的访问,以获取敏感数据、更改存储的数据、造成损坏等。例如,计算系统和/或其存储器系统经常采用安全性特征来防止未经授权的访问。不同的存储器系统可以采用不同的安全性特征,并且不同的存储器制造商可以提供不同的安全性级别。由于这个原因,尤其有利的是确认存储器系统和/或其组成的存储器装置(例如,dram管芯)的可靠性。
[0015]
例如,确认存储器装置(例如,dram管芯)来自特定制造商可以提供一定程度的保证,使得所述装置没有被来自不同制造商的装置替换,这可能造成安全性威胁。另外,由于来自不同制造商的存储器装置可以采用不同的安全性特征并且可以具有不同的质量等级,所以客户(例如,从制造商/销售商购买存储器系统的实体)可能想要确保存储器系统中采用的存储器装置确实是可靠的(例如,来自已知/特定制造商)。
[0016]
在各种情况下,将存储器装置维持在不可访问的(例如,锁定)状态直到和/或除非已经验证了存储器装置可能是有利的。如本文所使用的,锁定状态是指其中不能访问存储
器装置的存储器阵列的状态。例如,数据可以不被写入和/或从“锁定的”(例如,未验证的)存储器装置读取。
[0017]
如本文进一步描述的,本公开的多个实施例通过执行验证代码匹配比较来提供存储器装置验证。例如,验证代码可以存储在存储器装置的内部寄存器(诸如多用途寄存器(mpr))中。验证代码可以用作硬件令牌。在各种实施例中,所存储的验证代码可以基于特定于特定存储器装置的信息,使得其可以被用来唯一地标识所述存储器装置。例如,所存储的验证代码可以基于存储在存储器装置的熔丝阵列中的信息。例如,熔丝阵列可以用于存储诸如与重新映射存储器阵列的有缺陷的行和列相关联的行和列地址的信息,以及用于配置和/或电路修整的存储器装置选项信息。在各种情况下,存储器装置的控制逻辑可以将来自熔丝阵列的熔丝数据广播到存储器装置的组成存储器部件(例如,存储体)。广播可在存储器装置的初始加电事件处或在每一加电事件处发生,且所广播的信息可由存储器部件捕获(例如,锁存)。
[0018]
在本公开的多个实施例中,存储器装置的验证部件可以用于捕获正在广播到组成存储器部件的熔丝阵列信息。验证部件可以基于所捕获的熔丝信息来确定验证代码,并且然后可以将所确定的验证代码与所存储的验证代码进行比较,以确定是否发生匹配。在各种实施例中,可以基于所比较的验证代码是否匹配而发生多个事件。例如,所确定的验证代码的不匹配(例如,验证失败)可以导致存储器装置保持在锁定状态。所确定的验证代码的匹配(验证通过)可能导致存储器装置被解锁。在多个实施例中,失败的验证尝试可以被传达到存储器装置所耦合到的主机(例如,处理器),以便如果被授权就可以采取补救措施。
[0019]
验证代码所基于的熔丝阵列信息可以是熔丝信息的选定部分。例如,在多个实施例中,仅使用列熔丝信息来生成验证代码。此外,列熔丝信息的选定部分可以用于生成验证代码。在各种实施例中,可以对用于生成验证代码的熔丝阵列信息进行编码,使得验证代码是原始熔丝阵列信息的编码版本。因此,尽管验证代码是基于熔丝阵列信息的,但是它本身可以包括或可以不包括熔丝阵列信息(例如,列熔丝地址数据)。
[0020]
在各种情况下,本文描述的验证技术可以与多个其它验证和/或安全性技术结合使用。例如,如本文所描述的验证代码匹配可以是一起可以用于验证存储器装置的多种验证技术中的一种。尽管本文所描述的各种实例涉及存储器装置,但是本文中所描述的验证方法不限于此。例如,各种验证技术可以应用于其它硬件部件,诸如处理器、控制器、网络装置、总线、和/或计算系统的其它部件。
[0021]
图1a是根据本公开的多个实施例的包含存储器装置110的计算系统的一部分的形式的设备的框图。在所述实例中,所述设备是包括存储器控制器102和存储器装置110的存储器系统100。如本文中所使用的,例如,存储器装置110,存储体115和/或存储控制器102也可以被分别认为是“设备”。
[0022]
在所述实例中,存储器系统100包含存储器控制器102,所述存储器控制器102经由接口104耦合到存储器装置110的存储器控制器102。存储器系统100可以例如响应于来自主机(未示出)的访问请求而执行至少读取操作和写入操作,主机可以包含个人膝上型计算机、台式计算机、数码相机、移动电话、存储卡读取器或物联网(iot)使能装置以及其它各种类型的主机。主机可以与操作系统(os)和/或各种应用的执行相关联地访问存储器系统100。
[0023]
存储器装置110可以是例如dram装置。尽管示出了单个存储器装置110,但是实施例不限于此。例如,存储器系统100可以包含多个存储器装置110(例如,dram管芯),所述多个存储器装置110作为诸如双列直插存储器模块(dimm)的存储器模块的一部分耦合到存储器控制器102。存储器控制器102可以响应于主机请求经由接口104访问一个或多个存储器装置110。如所述实例中示出的,存储器装置110包含用于锁存和解码通过接口104提供的地址信号的地址电路114。接口104可以包含例如采用合适协议的物理接口(例如,数据总线、地址总线和命令总线,或者组合的数据/地址/命令总线)。存储器装置110包含与向/从存储器装置传送数据相关联的输入/输出(i/o)电路116。存储器装置110还包含控制逻辑112。控制逻辑112被配置为对来自存储器控制器102(或主机)的信号(例如,命令)(诸如芯片使能信号、写使能信号和地址锁存信号)进行解码,所述信号用于控制在存储器部件115-0(bank_0)、115-1(bank_1)、

115-n(bank_n)上执行的操作,所述存储器部件可以统称为存储器部件115或存储体115。
[0024]
如图1a中示出的,存储器部件115包含存储器单元阵列117、解码电路118和锁存器122。例如,阵列117可以是dram阵列、sram阵列、stt ram阵列、pcram阵列、tram阵列、rram阵列、nand闪存阵列和/或nor闪存阵列。阵列117可以包括存储器单元,所述存储器单元布置成由访问线(本文可称为字线或选择线)耦合的行和由感测线(本文可称为数字线或数据线)耦合的列。
[0025]
解码电路118可以包含行和列解码电路,所述行和列解码电路被配置为与访问阵列117相关联地对来自控制逻辑112的信号进行解码。如下文进一步描述的,存储体115的锁存器122可以锁存从控制逻辑112接收的信号。此些信号可以包含熔丝信息,诸如向各个存储体115广播的行地址信息、列地址信息和/或配置信息。
[0026]
在所述实例中,控制逻辑112包含命令解码器103、寄存器107、验证电路109和可编程元件的阵列111(例如,熔丝阵列)。控制逻辑112负责执行来自存储器控制器102的命令。控制逻辑112可以包括状态机、定序器和/或一些其它类型的控制电路,所述控制逻辑112可以以硬件、固件或软件或这三者的任意组合的形式来实现。在一些实例中,存储器控制器可以驻留在主机上。
[0027]
命令解码器103被配置为对从存储器控制器102接收的命令进行解码。寄存器107可以是,例如“隐藏的”(例如,保留的)多用途寄存器(mpr),其只能在内部写入(例如,不能经由存储器装置110外部的命令写入)。寄存器107还可以具有有限的外部读取许可,使得需要特定的序列才能经由来自存储器装置110外部的源的命令来读取内容。例如,存储器装置110的制造商可能知道存取寄存器107所需的特定序列;然而,制造商可以通过不与其它实体(例如,客户)共享特定序列来防止此些实体具有寄存器107的外部读取许可。寄存器107可以存储用于确定存储器装置110的可靠性的验证代码。如以下更详细地描述的,验证电路109被配置为执行验证操作,所描述的验证操作包含基于存储在熔丝阵列111中并且被广播到存储器部件115的信息,将存储在寄存器107中的验证代码与验证代码进行比较。尽管可编程元件111的阵列被描述为熔丝阵列,但是实施例不限于此。例如,可编程元件的阵列可以包含各种类型的非易失性元件,诸如快闪存储器单元(例如,nand或nor)、相变存储器单元等。另外,如本文所使用的,熔丝元件意图包含反熔丝元件,并且熔丝阵列111可以包含多个熔丝和/或多个反熔丝。
[0028]
如上所述,熔丝阵列(例如,熔丝阵列111)可以用于存储可以与操作存储器装置110相关联地广播到存储体115的各种信息。例如,熔丝阵列111可以包含可以用于将存储体115内的有缺陷的行(例如,具有缺陷的存储器单元的行)重新映射到冗余行的行熔丝和可以用于重新映射存储体115内的有缺陷的列的列熔丝。熔丝阵列还可以包含可以存储例如各种配置和/或微调信息的各种选项熔丝。一些熔丝信息可以是静态的,而其它熔丝信息可以是可变的。例如,在各种情况下,行地址熔丝数据可以经由封装后修复(ppr)操作来改变。ppr操作是指用于在存储器装置的封装之后将有缺陷的存储器地址重新映射到冗余地址的操作(例如,当存储器装置可仅经由触点/引脚访问时)。然而,在各种情况下,ppr操作仅影响行熔丝数据,使得列地址熔丝数据不受ppr操作的影响(例如,列熔丝数据保持静态)。
[0029]
图1b示出了图1a中示出的存储器系统100的一部分。图1b示出了总线(例如,数据总线)113,存储在熔丝阵列111中的信息可以在所述总线上广播到存储器装置110的存储器部件115。为了说明的目的,在图1b中仅示出了六个存储器部件(例如,存储体)115-0、115-1、115-2、115-3、115-4和115-5。
[0030]
在操作中(例如,在加电期间),可以发生熔丝阵列广播,其中存储在熔丝阵列111中的信息被发送到存储器装置110的各种部件(例如,存储体115)。每个存储器部件115都被配置为对广播中提供的信号解码(例如,经由解码电路118),以确定信号的类型(例如,行熔丝信号、列熔丝信号、选项熔丝信号等)并且(经由锁存器122)本地锁存信号。如上所述,熔丝阵列信息对于存储器装置可以是唯一的,这可以允许所述信息(或其一部分)用于验证存储器装置。在本公开的多个实施例中,验证电路109可在熔丝阵列信息被广播到存储器部件115时,捕获(例如,经由图1b中未示出的锁存器)熔丝阵列信息。然后,验证电路109可以将所捕获的熔丝信息与先前存储在寄存器107中的验证代码进行比较。匹配指示存储器装置是可靠的,而不匹配指示存储器装置不是可靠的。
[0031]
存储在寄存器107中的验证代码也基于存储在熔丝阵列中的信息。尽管如上所述并且如本文中进一步描述的,可以对存储在寄存器107中的熔丝信息进行编码。因此,在其中存储在寄存器107中的验证代码是熔丝阵列信息的编码版本的情况下,验证电路109可以被配置为将广播熔丝信息的编码版本与存储在寄存器107中的验证代码进行比较。例如,在与存储在寄存器107中的验证代码进行比较之前,可以对经由总线113广播的熔丝信息进行编码(经由编码器,诸如图3中示出的编码器308)。
[0032]
在多个实施例中,可在将存储器装置110提供给客户(例如,从制造商)之前,将验证代码存储在寄存器107中。例如,存储器装置110的制造商可以将验证代码编程到寄存器107。以这种方式,响应于由验证电路109所确定的验证代码匹配确定,客户可以对存储器装置的可靠性有一定的保证/信心。由验证电路109确定的不匹配可以向客户指示存储器装置110是不可靠的(例如,存储器装置110来自不同的制造商或者存储器装置的安全性已经经由例如黑客而受到损害)。
[0033]
在多个实施例中,存储器装置110可以处于锁定状态,直到发生验证为止。此外,验证操作可在存储器装置110的每次加电时发生。因此,可以确保存储器装置110的用户在加电事件之间没有用不可靠的存储器装置替换存储器装置110。
[0034]
如上所述,在各种实施例中,存储器系统100可以包含例如包含多个存储器装置110(例如,dram管芯)的存储器模块。如结合图5进一步描述的,控制器(例如,存储器控制器
102)可以被配置为启动存储器装置到存储器装置的验证程序(例如,在系统加电时)。验证程序可以涉及在装置到装置的基础上(例如,以菊花链的方式)从第一存储器装置向下一存储器装置发送验证请求。如果第一存储器装置从下一存储器装置(例如,第一存储器装置向其发送请求的存储器装置)接收到已验证的响应,则第一存储器装置可以存储指示下一存储器装置是可靠的验证状态。相比之下,如果第一存储器装置从下一存储器装置接收到对验证请求的未验证的响应或者无响应,则第一存储器装置可以存储指示下一存储器装置不可靠的验证状态。
[0035]
对于剩余的存储器装置,装置到装置验证程序可以继续,其中每个存储器装置向下一个存储器装置提供验证请求。提供验证请求的存储器装置可以存储被提供验证请求的存储器装置的验证状态的指示,其中验证状态基于提供验证请求的存储器装置是否从被提供验证请求的存储器装置接收到已验证的响应。控制器(例如,102)然后可以基于存储在多个存储器装置中的相应验证状态来确定多个存储器装置(例如,存储器模块)的验证状态。
[0036]
在多个实施例中,结合图5描述的装置到装置验证方法可以与结合图2-4描述的验证方法分开地采用,或者除了结合图2-4描述的验证方法之外采用。本公开的各种实施例可在没有主机(例如,主机中央处理单元)干预的情况下提供存储器装置的验证。例如,可在不需要执行主机命令的情况下确定存储器装置110的可靠性。
[0037]
图2示出了根据本公开的多个实施例的与实现存储器验证相关联的多个实例流程序列。序列230示出了与将存储器装置置于锁定状态相关联地将验证代码存储在存储器装置(例如,110)中的实例。例如,实例序列230可由存储器装置制造商在向客户提供存储器装置之前启动。在所述实例中,验证代码包括已编码的熔丝阵列地址信息,所述已编码的熔丝阵列地址信息存储在存储器装置的内部寄存器207中。寄存器207可以是隐藏寄存器,诸如结合图1a和1b描述的寄存器107。因此,寄存器207可以具有有限的外部读取许可,并且只能在内部写入。
[0038]
实例序列230可在存储器装置加电时启动。在加电时,熔丝阵列信息可以被存储器装置的验证电路(例如,验证电路109)捕获(例如,在向装置的存储体广播期间)。在所述实例中,熔丝阵列信息包括熔丝阵列地址信息232。如上所述,熔丝阵列地址信息可以包含但不限于选项熔丝数据、行熔丝数据和/或列熔丝数据。在多个实施例中,所捕获的熔丝阵列地址信息可以限于静态信息(诸如列熔丝地址信息),所述静态信息不会由于诸如ppr操作的操作而改变。如上所述,所捕获的熔丝阵列信息可以是所存储的熔丝阵列信息的选定部分,并且可以用作存储器装置的唯一标识符,因为熔丝阵列信息可能随装置而变化。例如,对于不同的存储器装置,有缺陷的行/列重新映射熔丝信息不太可能是相同的。
[0039]
作为实例,要捕获的熔丝阵列地址信息可以包括对应于特定的多个对应列熔丝的位模式(例如,8位、16位、2k位等)。例如,第一存储器装置的8个特定列熔丝可对应于位模式“00001010”,而第二存储器装置的8个特定列熔丝可对应于“00101000”的位模式。
[0040]
如序列230中示出的,可以经由编码器234对捕获的熔丝阵列信息232进行编码。例如,编码器234可以包括线性反馈移位寄存器(lfsr);然而,实施例不限于特定类型的编码器。已编码的所捕获熔丝阵列信息可以用作存储器装置的验证代码(例如,硬件密钥)。在各种实施例中,所捕获的熔丝阵列信息本身可以用作验证代码。然而,对所捕获的熔丝阵列信息进行编码可以提供另外的安全性级别,以防止潜在的安全性威胁(例如,黑客)意识到验
证代码是从熔丝阵列信息生成的。
[0041]
验证代码(例如,已编码的捕获的熔丝阵列信息)可以存储在隐藏寄存器207中。在多个实施例中,在将验证代码存储在寄存器207中之后,存储器装置处于其不可访问的锁定状态(例如,存储体不能被写入和/或从其读取)。可以通过验证来对存储器装置进行解锁(例如,将其置于可访问状态)。例如,可以通过向存储器装置提供匹配的验证代码来验证存储器装置,所述验证代码可以与存储在寄存器207中的验证代码进行比较。
[0042]
例如,序列290示出了在锁定的存储器装置上的验证尝试。在所述实例中,验证尝试是由客户进行的。作为实例,客户可以向存储器装置提供验证代码(显示为“客户定制地址”)231。可以经由编码器234对定制地址231进行编码,并且存储器装置可以经由将已编码的定制地址与所存储的验证代码(例如,存储在寄存器207中的代码)进行比较来执行235处的验证程序。响应于所确定的匹配,验证被确认(“有效”),并且存储器装置可以被置于解锁状态,如236处示出的。响应于确定的不匹配,验证失败,并且存储器装置保持在锁定状态,如237处示出的。为了对存储器装置进行解锁,客户可以从锁定存储器装置的实体(例如,制造商)获得验证代码。从制造商获得客户定制地址231可以确保正被解锁的存储器装置是由制造商提供的存储器装置。
[0043]
图3示出了根据本公开的多个实施例的与实现存储器验证相关联的多个实例流程序列。序列350示出了实例验证代码验证,并且序列355示出了用于更新验证代码的实例。
[0044]
在序列350中,评估当前熔丝阵列信息(例如,当前熔丝阵列地址),以确定存储器装置是否是可靠的存储器装置。如上所述,与所存储的验证代码进行比较的验证代码是基于在验证期间由验证电路(例如,109)捕获的熔丝阵列信息。在所述实例中,捕获的当前熔丝阵列信息313经由编码器334进行编码以产生验证代码351,所述验证代码351将与先前所存储的验证代码353进行比较,所述验证代码353被存储在寄存器307(例如,如本文所描述的隐藏/保留内部寄存器)中。
[0045]
存储器装置内部的控制逻辑(例如,控制逻辑112)可以被配置为(经由验证电路109)在向存储器装置的部件(例如,存储体)广播信息期间捕获当前熔丝阵列信息313。所捕获的代码351与所存储的代码353的比较可以确定存储器装置是否是(或不是)可靠的。
[0046]
序列355示出了用于更新(例如,改变)存储在内部隐藏寄存器307中的验证代码的过程。在各种情况下,熔丝阵列信息可以基于例如器件配置改变、对存储在熔丝阵列中的重新映射信息的改变等来更新/改变。因此,在其中验证代码基于所存储的熔丝阵列信息的情况下,响应于熔丝阵列信息的改变来更新所存储的验证代码可能是有利的。
[0047]
在本实例中,由于硬封装后修复(hppr)操作,熔丝阵列信息被调整。hppr操作可以导致对所捕获和所存储的验证代码所基于的熔丝阵列地址332的改变。在所述实例中,可以经由编码器334对更新后的熔丝阵列地址332进行编码,然后更新后的验证代码可以代替存储在隐藏寄存器307中的先前的验证代码。随后的验证过程然后可以涉及将更新的所存储的验证代码与所捕获的验证代码进行比较。
[0048]
图4是示出根据本公开的多个实施例的存储器装置的验证的框图。图4中示出的实例包含三个存储器装置410-0(d0)、410-1(d1)和410-2(d2),它们可以统称为存储器装置410。存储器装置410可以是例如在诸如dimm的dram模块内的dram管芯。
[0049]
图4中示出的实例可以被称为自验证方案,因为存储器装置在没有来自诸如主机
的外部源的干预的情况下执行验证过程。如下所描述的,存储器装置可以彼此通信以确定各个存储器装置是否是可靠的(例如,来自已知/受信任的来源)。在存储器装置410是模块的一部分的实施例中,响应于对所有存储器装置的成功验证,可以认为所述模块是可靠的。可以向诸如存储器控制器和/或主机的外部源报告那些未被成功验证的存储器装置的指示。
[0050]
在图4中,在461处启动验证过程。例如,启动可在存储器装置410加电时进行,或者通过从存储器控制器(例如,存储器控制器102)提供的命令进行。如图4中示出的,响应于验证过程的启动,第一存储器装置410-0可以向第二存储器装置410-1提供验证请求463-1。响应于接收到请求463-1,存储器装置410-1可以向存储器装置410-0发送已验证的响应464-1。如本文所使用的,已验证的响应是指发送存储器装置期望响应于其发送的验证请求而接收到的特定响应。已验证的响应可以包含,例如,接收到请求463的确认,或者特定代码(例如,密钥)。如果存储器装置410-0没有从存储器装置410-1接收到响应于发送的请求463-1的已验证的响应,则存储器装置410-0可以存储指示存储器装置410-1不可靠的验证状态。如果存储器装置410-0接收到已验证的响应464-1,则它可以存储存储器装置410-1是可靠的指示466-1(“设置已确认”)。例如,可以设置标志来指示d0被确认为通过了验证。
[0051]
可以针对多个存储器装置(例如,在所述实例中为410-1和410-2)的剩余存储器装置重复上文所描述的验证过程(以菊花链方式)。例如,在所述实例中,存储器装置410-1可以向下一个存储器装置410-2发送验证请求463-2,并且等待已验证的响应464-2。在所述实例中,如果存储器装置410-1响应于发送的请求463-2从存储器装置410-2接收到已验证的响应464-2,则装置410-1可以存储存储器装置410-2通过验证的指示466-2。如果存储器装置410-2没有向存储器装置410-1发送响应或者发送不是已验证的响应的响应,则存储器装置410-1可以存储存储器装置410-2验证失败的指示。
[0052]
在多个实施例中,诸如存储器控制器102的存储器控制器可以被配置为基于存储在多个存储器装置410中的验证状态来确定多个存储器装置410的验证状态。存储器控制器可以被配置为向主机报告存储器装置410的验证状态,使得可以采取适当的补救措施。
[0053]
图5示出了根据本公开的多个实施例的用于存储器验证的实例方法580。在582处,所述方法包含在可编程元件的阵列中存储要广播到存储器装置的多个存储器部件的信息。如本文所描述的,例如,可编程元件的阵列可以是熔丝阵列,存储器部件的数量可以是存储体,并且存储器装置可以是dram装置。
[0054]
在584处,方法580包含,在将所存储的信息广播到多个存储器部件期间,捕获所存储的信息的至少一部分。所存储的信息的所捕获部分可以对应于列熔丝地址信息,并且可以仅包含列熔丝地址信息的选定部分。在586处,所述方法包含基于所捕获的信息来确定第一验证代码。例如,第一验证代码可以是原始熔丝数据本身,或者其可以是编码版本或熔丝数据。
[0055]
在588处,所述方法包含将所确定的第一验证代码与存储在存储器装置的寄存器中的第二验证代码进行比较,以确定存储器装置是否是可靠的存储器装置。第二验证代码基于可编程元件的阵列中所存储的信息。所述寄存器可以是仅可以被内部写入并且可以具有有限的外部读取访问的存储器装置的内部隐藏寄存器。第二验证代码可在向客户提供存储器装置之前由存储器装置制造商存储在寄存器中。第一验证代码和第二验证代码之间的
所确定的匹配可以用于确认/验证存储器装置的可靠性,而确定的不匹配可以指示存储器装置的不可靠性。
[0056]
如上所描述的,在多个实施例中,可以将存储在内部隐藏寄存器中的第一验证代码与由主机在验证期间提供的第二验证代码进行比较。例如,第一验证代码可在熔丝信息的广播期间被存储在隐藏寄存器中,并且第二验证代码可以被获得(例如,从锁定存储器装置的实体,诸如制造商)并且经由诸如主机命令被提供给存储器装置。响应于所确定的第一验证代码和第二验证代码的不匹配,验证失败,并且由于存储器装置未被验证,因此存储器装置保持在锁定状态。
[0057]
图6示出了实例计算系统670,在所述计算系统670内可以执行用于执行本文所讨论的各种存储器验证方法的指令。在各种实施例中,计算系统670可以对应于包含、耦合到或利用存储器系统(例如,图1a的存储器系统100)的主机系统。在替代实施例中,系统670可以连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它计算系统。计算系统670可在客户机-服务器网络环境中以服务器或客户机的能力操作,作为对等(或分布式)网络环境中的对等机器,或者作为云计算基础设施或环境中的服务器或客户机。
[0058]
计算系统可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、web装置、服务器、网络路由器、交换机或桥接器、或能够执行指定要由所述机器采取的动作的一组指令(顺序或其它)的任何机器。
[0059]
实例计算机系统670包含可以经由总线671彼此通信的处理装置601、主存储器610(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram)(诸如同步dram(sdram)或rambus dram(rdram)等)、静态存储器672(例如,快闪存储器、静态随机存取存储器(sram)等)、以及数据存储器系统673。
[0060]
处理装置601代表一个或多个通用处理装置,诸如微处理器、中央处理单元等。更特别地,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或者实现其它指令集的处理器、或者实现指令集的组合的处理器。处理装置601还可以是一个或多个专用处理装置,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置601被配置为执行用于执行本文所讨论的操作和步骤的指令676。计算系统670还可以包含用于在网络677上进行通信的网络接口装置675。
[0061]
数据存储系统673可以包含机器可读存储介质674(也称为计算机可读介质),在其上存储体现本文描述的方法或功能中的任一个或多个的一组或多组指令676或软件。指令676在由系统670执行其期间还可以完全或至少部分地驻留在主存储器610内和/或处理装置601内,主存储器610和处理装置601也构成机器可读存储介质。
[0062]
在多个实施例中,指令676包含实现对应于图1a的控制器102和/或图1b中示出的控制逻辑112的功能的指令。尽管机器可读存储介质674在实例实施例中被示为单个介质,但是术语“机器可读存储介质”应被理解为包含存储一组或多组指令的单个介质或多个介质。术语“机器可读存储介质”还应被理解为包含能够对由机器执行的一组指令存储或进行编码并且使得机器执行本公开的任一种或多种方法的任何介质。因此,术语“机器可读存储介质”应被理解为包含但不限于固态存储器、光学介质和磁性介质。
[0063]
如本文所使用的,“多个”事物可以指此些事物中的一个或多个。例如,多个存储器
装置可以指一个或多个存储器装置。某个事物的“多个”意图两个或两个以上。另外,本文使用的诸如“n”的指示符,特别是关于附图中的附图标记,指示这样指定的多个特定特征可以包含在本公开的多个实施例中。
[0064]
本文中的附图遵循编号惯例,其中第一个数字或第一个数字对应于附图编号,并且剩余数字标识图中的元件或部件。可以通过使用类似的数字来标识不同附图之间的类似元件或部件。如将会理解的,可以添加、交换和/或消除在本文的各种实施例中示出的元件,以便提供本公开的多个另外的实施例。另外,附图中提供的元件的比例和相对标度意图说明本公开的各种实施例,而不是在限制意义上使用。
[0065]
尽管本文已经示出和描述了具体的实施例,但是本领域普通技术人员将理解,被计算来实现相同结果的布置可以替代示出的具体实施例。本公开意图覆盖本公开的各种实施例的修改或变型。应理解,以上描述是以说明性的方式进行的,而不是限制性的。通过阅读以上描述,上述实施例的组合以及本文未具体描述的其它实施例对于本领域技术人员来说将是显而易见的。本公开的各种实施例的范围包含其中使用以上结构和方法的其它应用。因此,本公开的各种实施例的范围应参考所附权利要求以及这些权利要求被授权的等效物的全部范围来确定。
[0066]
在前面的详细描述中,出于简化本公开的目的,在单个实施例中将各种特征分组在一起。本公开的方法不应被解释为反映以下意图:本公开的公开的实施例必须使用比每个权利要求中明确记载的特征更多的特征。相反,如以下权利要求所反映的,发明主题在于少于单个公开的实施例的所有特征。因此,以下权利要求据此结合到具体实施方式中,其中每个权利要求独立地作为单独的实施例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1