CN102347083B - 通过内部操作验证进行安全的存储器存储 - Google Patents

通过内部操作验证进行安全的存储器存储 Download PDF

Info

Publication number
CN102347083B
CN102347083B CN201110215419.5A CN201110215419A CN102347083B CN 102347083 B CN102347083 B CN 102347083B CN 201110215419 A CN201110215419 A CN 201110215419A CN 102347083 B CN102347083 B CN 102347083B
Authority
CN
China
Prior art keywords
address
signature
wordline
memory array
memory
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
Application number
CN201110215419.5A
Other languages
English (en)
Other versions
CN102347083A (zh
Inventor
S.布雷沃顿
A.埃德
G.A.法拉尔
N.S.哈斯蒂
P.胡贝特
K.奥伯莱恩德
A.维莱拉
R.韦斯纳
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN102347083A publication Critical patent/CN102347083A/zh
Application granted granted Critical
Publication of CN102347083B publication Critical patent/CN102347083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/024Detection or location of defective auxiliary circuits, e.g. defective refresh counters in decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/025Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Abstract

本发明涉及通过内部操作验证进行安全的存储器存储。本发明提供用于检测地址线(例如字线、位线)存储器故障的结构和方法。在实施例中,该方法和结构包括:通过对来自存储器阵列内的已激活元件(例如字线)的内部生成的地址信号进行重新编码而生成地址签名。可以将重新生成的地址签名与所请求的存储器地址位置进行比较。如果重新生成的地址签名与存储器地址相等,在存储器阵列中没有错误,但是如果重新生成的地址签名与存储器地址不等,在存储器阵列中存在错误。相应地,重新编码地址签名提供闭环校验,即校验在存储器阵列中实际激活的字线和/或位线是所请求的正确字线和/或位线,也没有其他字线或位线被触发,并且所述字线和/或位线是连续的。

Description

通过内部操作验证进行安全的存储器存储
技术领域
本发明总体上涉及计算机存储器,并且特别涉及计算机存储器中的多位错误检测。
背景技术
在最新技术的运输系统中,常常采用计算机以用于安全关键的功能。可以将计算机与被配置成感测所述运输系统的操作的传感器系统相耦合,并且以人类能力所不能匹配的速度和可信性对可能的危险情况做出反应。举例来说,在汽车中可以使用基于计算机的传感器来调节气囊、刹车系统等等的操作。
安全关键的计算机系统常常依赖于存储在存储器(例如闪存、SRAM、DRAM等等)中的数据来进行适当的操作。可以实施纠错码(ECC)来提高被用来通过检测及纠正存储器单元错误而执行的安全关键功能的存储器的可靠性。某些纠错码可以被用来检测及纠正单个位错误(例如可以通过SECDED来纠正及确定特定存储器字中的一个无效位)。其他更加复杂的纠错码允许检测和/或纠正双位错误(例如可以通过DECTED来纠正及确定特定存储器字中的两个无效位)或者甚至多位错误(例如三位错误)。
图1示出了示例性存储器块102的方框图100,所述存储器块102被配置成利用ECC实施纠错机制。如图1中所示,存储器块102可以包括存储器阵列104,其具有由感测放大器106激活的多条位线以及由行解码器108激活的多条字线。被配置成存储对应于数据位的电荷的相应的MOS晶体管器件(未示出)可以具有耦合到位线的第一端子、耦合到共享或单一源极线的第二端子以及耦合到字线的栅极。
为了执行错误检测,存储器阵列104被配置成存储包含数据的数据字段以及包含一个或多个校验位和/或奇偶校验位的ECC信息位。因此,一般来说,存储器阵列104包括用于存储数据位的多条位线,以及用于存储ECC信息的多条位线。
在读取数据时,与ECC存储器地址一起传送将在其中写入信息位的数据存储器地址。在对所请求的字线和位线进行解码之前,分别由地址解码器116和地址ECC校验114在本地对所述数据和ECC存储器地址进行校验。随后通过选择性地激活字线(利用行解码器108)和位线(利用感测放大器106)从存储器阵列104的地址读取数据位和ECC信息位。具体来说,在读取操作期间,可以将字线设定到高数据状态,从而激活MOS晶体管器件的栅极并且使得存储在该晶体管中的数据驱动到位线。从所述存储器阵列读取的ECC信息位可以被用来检测及纠正从该存储器阵列中读取的相关联的数据位中的错误。
类似地,在写入数据时,通过选择性地激活字线(利用行解码器108)以及一条或多条位线(利用感测放大器106)将数据位和ECC信息位写入到存储器模块中。举例来说,可以向字线施加大于MOS晶体管器件的阈值电压的电压,从而将所述晶体管耦合到位线。随后升高位线,从而导致将电子或空穴注入到浮动栅极。可以在写入处理期间对于正被写入到存储器阵列的数据位计算ECC信息位,并且将其写入到与所述数据位相关联的存储器位置。
附图说明
图1示出了包括数据位和纠错码位的存储器阵列的方框图。
图2示出了包括地址签名发生器的存储器块的方框图,所述存储器块被配置成检测导致多个存储器单元故障的地址线故障。
图3示出了这里所提供的地址签名发生器的具体操作实例。
图4示出了这里所提供的存储器块的实施例,其中所述地址签名发生器包括被配置成驱动XOR(异或)逻辑电路的地址解码器。
图5示出了这里所提供的存储器块的替换实施例,其中所述地址签名发生器包括耦合到地址比较器的第二存储器。
图6示出了传感器系统的一个实施例的方框图,所述传感器系统包括用于确定测量器件的电容性和电阻性分量的测量电路。
图7是示出了检测导致正在计算机系统中传送的数据流中的多位故障的地址线错误的示例性方法的流程图。
具体实施方式
下面将参照附图描述本发明,其中相同的附图标记一直被用来表示相同的元件,并且所示出的结构和器件不一定是按比例绘制的。
纠错码(ECC)被广泛用于提高向/从数字存储器传输的数据的完整性。虽然通过利用ECC保护所存储的数据可以提供针对基于单元的故障(例如单个位故障、双位故障等等)的保护,但是其无法提供对于通常产生错误的多位故障(例如字线破损(breaks)、交叉线(cross lines)、明线(open lines)、短路线等等)的地址线存储器故障的高诊断覆盖范围。举例来说,当由于字线中的故障(例如交叉耦合的字线导致不对应于所请求的存储器地址的多条字线的激活)而使得多个存储器单元发生故障时,可能无法利用传统的ECC执行检错或纠错。
相应地,在这里公开了一种用于检测多位地址线(例如字线、位线)存储器故障的方法和结构。所述方法和结构包括:通过对来自存储器阵列内部的已激活元件(例如字线)的内部生成的地址信号进行重新编码而生成地址签名,以及将所生成的地址签名与所请求的期望存储器地址进行比较。生成(例如重新编码)地址签名提供闭环校验,即校验在存储器阵列中实际激活的字线和/或位线是所请求的字线和/或位线,而没有其他字线或位线也被触发,并且所述字线和/或位线是连续的。因此,如这里所提供的,重新生成的地址签名与所请求的存储器地址的比较可以确保所激活的地址线(例如所激活的字线和/或位线)实际对应于所请求的存储器地址(例如所请求的字线和/或位线)。
更具体来说,在一个实施例中,存储器块可以被配置成包括电耦合到第一存储器阵列(例如SRAM、闪存、FeRAM等等)的各条地址线的地址签名发生器。所述地址签名发生器被配置成从第一存储器阵列内部的实际选择的地址线和/或相关联的信号重新生成地址签名。随后可以使用比较电路来把所述重新生成的地址签名与所请求的存储器位置进行比较,以便确保第一存储器阵列中的实际选择的字线和/或位线是实际请求的字线和/或位线。在一个实施例中,所述比较电路还可以被配置成在所述重新生成的地址签名指示实际激活的地址线(即由所述重新生成的地址签名指示)不对应于所请求的存储器地址线的情况下(例如向主机处理器)提供错误信号。
应当认识到,虽然这里所提供的附图(例如图2-6)描述了可以被用来基于所激活的字线生成地址签名的地址签名发生器,但是也可以替换地使用地址签名发生器基于所激活的位线生成地址签名以便检测多位位线错误(例如地址签名发生器可以被配置在位线的末端,以便在激活一条或多条位线时返回地址签名)。
图2示出了存储器块202的方框图200,其包括用于检测地址线故障的内部配置。如图2中所示,存储器块202包括耦合到第一存储器阵列206的地址签名发生器204。在一个实施例中,第一存储器阵列206可以包括矩阵结构,其具有在第一方向上延伸的基本上平行的字线,所述字线由耦合到其一端的字线激活电路216驱动。第一存储器阵列206还可以包括在与第一方向基本上垂直的第二方向上延伸的多条基本上平行的位线,所述位线由耦合到其一端的位线激活电路214驱动。如图2中所示,第一存储器阵列通常可以包括多个塔(tower),所述塔具有特定数目的位宽(例如256位)加上用于纠错码的一些额外位。
在存储器操作请求(即读取或写入请求)期间,可以将数据、纠错码(ECC)和/或所请求的存储器地址(例如由主机处理单元222)提供到存储器块202。在一个实施例中,可以通过一条或多条总线(bus wire)将数据、ECC和相关联的存储器地址传输到存储器块202。
数据缓冲器208可以被配置成接收来自数据总线的数据,并且在将其移动到第一存储器阵列206的同时暂时保持所述数据。类似地,ECC块210可以被配置成接收包括也可以被写入到第一存储器阵列206内的存储器位置的校验位和/或奇偶校验位的ECC。在一个实施例中,ECC块210还可以被配置成纠正被写入到和/或读取自第一存储器阵列206的数据(例如可以在将数据写入到第一存储器阵列206之前由ECC块210计算ECC校验位)。
第一地址解码器212可以被配置成接收来自地址总线的地址,其中所述地址对应于第一存储器阵列206内的存储器位置。基于所接收到的地址,可以选择性地激活(例如通过位线激活电路214和/或字线激活电路216)第一存储器阵列206中的位线和字线,以便向/从所述存储器位置读取或写入数据。
在一个实施例中,地址签名发生器204可以耦合到第一存储器阵列206的各字线的末端。在这样的实施例中,可以在激活字线时激活地址签名发生器204。在激活时,地址签名发生器204可以被配置成基于实际激活的(多条)字线生成地址签名。在一个实施例中,所生成的地址签名可以包括重新生成的地址的无损编码。在替换实施例中,所生成的地址签名可以包括未压缩地址。在另一个替换实施例中,所生成的地址签名可以比实际地址更宽,以便能够检测多项字线和/或位线选择。
可以将所生成的地址签名与所请求的地址进行比较,以便确定第一存储器阵列206中的字线错误(例如字线具有破损或者包括过高阻抗从而不允许读取/写入电流使能之)。在一个实施例中,地址签名发生器204可以被配置成执行所述比较(例如利用比较器电路)。在替换实施例中,可以通过单独的处理单元(例如主机处理器)来确定所述比较。如图2中所示,地址签名缓冲器220被配置成接收来自地址签名发生器204的所生成的地址签名,并且在将其移动到比较电路(未示出)的同时暂时保持所生成的地址签名。
在一个实施例中,可以在每一个相关联的数据分组上将所生成的地址签名与所请求的地址进行比较,从而可以在每一次存取时获得地址一致性。如果重新生成的地址签名和相关联的所请求地址相同(例如指示将要激活相同的字线),则在所述读取或写入操作中不存在错误。但是如果重新生成的地址签名和相关联的所请求地址不相同(例如指示不同于所请求的字线被激活),则在所述读取和/或写入操作中存在错误,并且可以向主机CPU(未示出)提供指示所述存储器读取和/或写入操作中的错误的错误信号。在一个实施例中,在检测到错误之后,可以为所述主机给出信道控制(即总线控制)以便重试所述读取和/或写入操作,从而避免死锁和其他困境(corner case)而不受硬件实现方式的限制。
在另一个实施例中,通过为每一个数据分组写入请求生成地址,所述地址签名发生器可以提供对于使用点处的写入错误的早期检测。这种早期检测允许定位错误并且允许在此时使用恢复机制来纠正所述错误(例如允许将数据写入到存储器阵列中的替换地址或者写入到替换存储器块)。
相应地,如图2中所示,提供存储器块的内部结构之内的闭环校验,以便减少与地址有关的故障。所述闭环校验确保在第一存储器内所选择的读取或写入地址请求是正确的存储器地址。
虽然图2被显示为具有耦合到第一存储器阵列的字线的地址签名发生器,但是应当认识到,单独的地址签名发生器还可以或替换地耦合到第一存储器阵列的各位线,从而使得在激活所述存储器阵列的位线时激活该单独的地址签名发生器。
此外还应当认识到,这里所描述的重新编码机制可以应用于涉及到读取或写入地址请求的多种应用。举例来说,所述重新编码机制(即重新编码地址签名)可以被用于多种存储器存储介质,其包括(但不限于)SRAM、DRAM、闪存、FeRAM、ROM等等。在另一个实例中,所述重新编码机制可以被用于被提供到基于矩阵的存储系统的任何已解码地址。在另一个实例中,所述重新编码机制可以被用于被包括在具有矩阵结构的电子存储阵列内的具有基本上平行的地址线的任何存储器。在又另一个实例中,所述重新编码机制可以被用来检测包括耦合到一个或多个OLED的SRAM的显示线(例如LCD显示线)中的错误。因此,这里所提供的附图和实例不意图限制所述重新编码机制的应用。
在一个实施例中,通过为每一个数据分组写入请求生成地址,所述地址签名发生器可以提供对于使用点处的写入错误的早期检测。这种早期检测允许定位错误并且允许在此时使用恢复机制来纠正所述错误(例如允许将数据写入到存储器阵列中的替换地址或者写入到替换存储器块)。
图3示出了这里所提供的地址签名发生器的具体操作实例的方框图300,其中所述地址签名被标记为未压缩存储器地址。如图3中所示,从地址为0x0A000001的存储器单元请求读取操作。在一个实施例中,主机可以向地址解码器312和地址比较器320提供地址请求。
地址解码器312对所述地址(0x0A000001)进行解码,并且选择性地向耦合到第一存储器阵列306的行解码器316和感测放大器318发送激活信号。感测放大器318激活与所请求的存储器地址相关联的位线BL1,而行解码器316则激活与所请求的存储器地址相关联的字线WL1。但是如图3中所示,在字线WL1与WL2之间存在短路,从而导致字线WL1和WL2这二者都被激活。
地址签名发生器304从第一存储器阵列306内部的实际激活的字线WL1和WL2重新生成所请求的地址的地址签名。在一个实施例中,所激活的字线可以产生指示字线WL1和WL2已被激活的重新生成的地址签名。
所请求的地址(0x0A000001)可以被提供到第二地址解码器324,其被配置成对所请求的地址进行解码以指示将要被激活的所请求字线。
指示字线WL1的激活的所请求存储器地址以及指示字线WL1和WL2的激活的重新生成的地址签名被地址比较器320所接收。由于所请求的存储器地址字线与重新生成的地址字线不同,因此地址比较器320可以确定与地址字线有关的故障(即所述地址比较器可以确定所激活的字线要多于所应当激活的字线)。因此,地址比较器320可以向主机处理单元提供指示所述读取操作中的错误的错误信号。
或者(未示出),如果请求激活字线WL1的所请求存储器地址与指示字线WL1的激活的重新生成的地址签名相匹配,则没有检测到错误,并且不向主机处理单元返回错误。
在各个实施例中,所述地址签名发生器可以包括不同电路元件。举例来说,在某些实施例中,所述地址签名发生器可以包括被配置成驱动逻辑电路(其例如包括AND(与)、OR(或)等逻辑门)的地址解码器。在另一个实施例中,可以使用后端的利用逻辑树的数学计算来重新生成地址解码器。图4-6示出了这里所包括的地址签名发生器的不同示例性实施例的更加详细的图示。应当认识到,图4-6示出了地址签名比较器的一些示例性实施例,并且不意图限制这里所提供的可能的地址签名发生器的设计。
图4示出了存储器块402的实施例400,其中地址签名发生器404包括被配置成激活第一存储器阵列406内的字线的第一地址解码器和被配置成驱动异或(XOR)逻辑电路422的第二冗余地址解码器420,所述XOR逻辑电路422被配置成实施XOR逻辑树。如图4中所示,字线驱动器416被配置成驱动第一存储器阵列的字线,并且辅助冗余字线驱动器被配置成向XOR逻辑电路422输出字线地址。XOR逻辑电路422随后可以被用来把由存储器阵列406内实际激活的物理字线生成的字线与由辅助冗余字线驱动器生成的字线进行比较。
更具体来说,在一个具体实施例中,可以通过利用包括在地址签名发生器404内的第二地址解码器420对由总线提供的地址进行冗余解码来实施所述XOR门。所述冗余解码的地址可以对于所请求的地址指示要激活哪些字线,这是通过为这些字线对XOR逻辑电路422的输入提供高数据状态而实现的。随后可以由XOR逻辑电路422把所述冗余解码的地址与从实际选择的存储器地址(即所激活的字线和/或位线)生成的重新生成的地址进行比较,以便检测所述字线和/或位线选择中的任何错误。
具体来说,n维XOR逻辑树(其中n对应于所存在的字线数目)可以被配置成接收来自存储器阵列406中的n条字线的信号以及接收来自第二地址解码器420的n个字线信号。相应地,所述XOR门可以被用来确定正确的字线(即所请求的字线)被实际激活。
举例来说,已激活字线可以从实际存储器阵列406产生高数据信号并且从冗余地址解码器420产生高数据信号,从而将两个高数据信号馈送到XOR逻辑电路422中并且产生指示不存在字线错误的低数据状态。类似地,未激活字线可以从实际存储器产生低数据信号并且从冗余地址解码器420产生低数据信号,从而将两个低数据信号馈送到XOR逻辑电路422中并且产生指示不存在字线错误的低数据状态。或者,如果在实际存储器阵列406中激活的字线不同于由冗余地址解码器420提供的字线,则将分别把高数据状态和低数据状态输入到XOR逻辑电路422中,从而导致从所述XOR门输出指示错误的高数据状态。
因此,XOR逻辑电路422可以被用来在重新生成的地址的所选字线不等于实际字线选择的情况下返回错误信号。所述冗余地址解码器和逆向地生成的地址允许使用简单的逻辑器件来检测多位错误。
图5示出了这里所提供的存储器块的替换实施例,其中地址签名发生器522包括耦合到地址比较器514的第二存储器512。第二存储器512可以被配置成存储与读取和/或写入请求有关的地址信息(例如地址签名),以及在激活时(例如在存储器块504处接收到读取或写入请求时)将所请求地址的地址签名递送到地址比较器514。
地址比较器514被配置成接收所述地址签名,并且将其与所请求存储器地址位置进行比较。在一个实施例中,如果所述地址签名与重新生成的地址相等(即如果所生成的地址签名的字线与所请求存储器地址的字线相同),则在所述读取或写入操作中不存在错误。但是如果所述地址签名与重新生成的地址不等(例如如果所生成的地址签名的字线与所请求存储器地址的字线不同),则在所述读取或写入操作中存在错误,并且所述地址签名发生器被配置成向控制单元提供指示所述存储器读取或写入操作中的错误的错误信号。
在一个实施例中,第二存储器阵列520可以包括只读存储器(ROM)。所述ROM可以被配置成将所选字线重新编码成地址签名,可以在一个循环之后将所述地址签名与所生成的地址进行比较。具体来说,所述ROM可以被配置成利用单个晶体管存储数据位(例如高数据状态、低数据状态)。通过将所解码的字线的地址签名置入ROM中,字线的激活导致对于被触发的任何字线将数据从ROM中递送出去。根据从ROM出来的数据,可以使用一种算法来识别是否激活了正确的字线,或者是否激活了多条其他字线。
在一个实施例中,多个晶体管可以被保持在高数据状态或低数据状态下。当字线被激活时,其将从所述ROM中输出对应于已激活字线的所存储的数据位以作为地址签名的一部分。可以通过多个晶体管的集体输出来生成完整的地址签名(例如对于未激活字线和已激活字线分别输出0和1)。举例来说,可以将ROM配置成基于多条字线的激活而重新生成地址签名,其使得所述ROM把与所述字线相关联的高存储数据输出到比较器。所述ROM还可以被配置成在其相关联的字线未被选择时具有无效默认值。
举例来说,存储器阵列506的每一条字线可以具有两个对应的ROM单元:ROM单元的第一晶体管可以被配置成存储与字线相关联的高数据状态,而ROM单元的第二晶体管可以被配置成存储与同一条字线相关联的低数据状态。如果所述字线被激活,则将存储在所述ROM的第一晶体管中的高数据状态递送到地址比较器以作为地址签名的一部分。如果所述字线未被激活,则将存储在所述ROM的第二晶体管中的低数据状态递送到地址比较器以作为地址签名的一部分。因此,通过将所解码的地址线的签名数据置入ROM中,该ROM可以被用来基于选择性地激活的字线和/或位线重新编码地址签名。
此外还应当认识到,通过将ROM用作第二存储器阵列520可以提供比替换存储器(例如SRAM、FeRAM等等)提高的存储密度,从而与将SRAM单元用于存储ECC位相比可以提供一种存储附加的地址相关信息的经济方式。举例来说,与在SRAM中存储ECC相比,通过利用ROM来存储高和/或低数据状态可以大大节省面积,这是因为ROM是SRAM单元的尺寸的近似1/6。
在一个实施例中,每一个SRAM阵列被配置成包含一个相关联的ROM。在另一个实施例中,可以通过使用附加的ROM或者通过使用重复解码来保护位线。
图6示出了具有这里所提供的地址签名发生器的SRAM存储器阵列600的实施例。如图6中所示,SRAM存储器被建立成包括多个单独的SRAM核心(602a、602b、602c和602d)。被横向配置在所述SRAM存储器的各核心之间的行解码器604被配置成驱动位于该解码器左右的SRAM核心的字线(例如行解码器604驱动SRAM核心602a的字线和SRAM核心602b的字线)。被垂直配置在所述SRAM存储器的各核心之间的感测放大器和复用器(multiplexor)606被配置成读取位于该感测放大器和复用器606的上方和下方的SRAM核心的位线(例如感测放大器和复用器606读取SRAM核心602a的位线和SRAM核心602c的位线)。
图6利用位于所述SRAM核心的每一端的两个地址签名发生器608a和608b(例如ROM签名发生器)来检测字线故障。通过把地址签名发生器608a和608b定位在所述SRAM核心(例如602a和602b)的末端将允许检测沿着所述字线的整个长度(例如从行解码器到字线末端)的错误。
在安全关键的系统中,可能需要能够实时测试地址比较器(例如612a、612b、612c和612d)以确保正确的操作(例如一直输出高数据状态的卡住的(stuck)比较器可能会错误地指示正确的地址正被读取/写入)。相应地,可以使用测试电路(例如610a和610b)来测试所述地址比较器(例如分别是612a和612b)的操作。相应的测试电路(例如610a)被配置成生成可以被选择性地提供到地址比较器(例如612a)的错误地址签名,从而模拟所述SRAM核心(例如602a)中的地址线错误。可以刻意生成错误的地址签名以便测试所述地址比较器的操作。
举例来说,如果在存储器的地址线中没有破损(例如所有字线都完好),则所述地址签名发生器(例如ROM)将一直向地址比较器生成“高”地址签名,并且将不会返回错误。但是一直没有发现错误也有可能是由于比较器操作中的错误而导致的。因此,能够刻意发送错误地址签名可以被用来确定在比较器操作中是否有错误。举例来说,如果将错误的地址签名提供给比较器并且该比较没有产生错误信号,则可以很容易确定所述地址比较器发生了故障。
如图6中所示,测试电路610a和610b被配置成接收重新生成的列地址签名和测试翻转位。测试电路610a和610b被配置成修改由地址签名发生器608a和608b生成的列地址签名。举例来说,在一个实施例中,测试电路610a和610b可以修改(切换)分别由地址签名发生器608a和608b生成的地址签名的数据位。随后可以将所述错误地修改的地址签名分别输出到地址比较器612a和612b,在该处可以将它们与列地址进行比较以便测试所述地址比较器的可操作性。
在一个实施例中,可以使用辅助“测试翻转”机制来实时诊断地址比较器的操作状态,从而指示在地址比较器中是否有操作错误。举例来说,测试电路614a和614b还可以和/或替换地被配置成接收重新生成的行地址签名和测试翻转位。测试电路614a和614b可以被类似地配置成错误地修改由地址签名发生器生成的行地址签名以便生成错误的行地址签名。
图7是示出了检测导致正在计算机系统中传送的数据流中的多位故障的地址线错误的示例性方法的流程图。具体来说,对于每一次读取和/或写入存取从存储器阵列的已激活位线和/或字线生成重新编码的地址签名。在每一个相关联的数据分组上将所生成的地址签名与所请求的地址(其与所述读取或写入请求相关联)进行比较,从而确定地址请求与签名的一致性。
虽然方法700在下面被示出并描述为一系列动作或事件,但是应当认识到,不应以限制性方式来解释这样的动作或事件的所示出的排序。举例来说,某些动作可以按照不同次序发生,并且/或者可以与除了这里所示出和/或描述的之外的其他动作或事件同时发生。此外,并不需要所示出的所有动作来实施这里的公开内容的一个或多个方面或实施例。此外,可以在一个或多个单独的步骤和/或阶段中实施这里所描绘的一个或多个动作。
在702处,生成读取和或写入地址请求。可以响应于来自主机CPU的读取或写入请求来生成所述读取或写入地址请求。所述读取或写入请求指示将从/向该处读取或写入数据的第一存储器阵列中的存储器地址位置(例如0x0A0001)。在一个实施例中,可以向包括多条基本上平行的字线以及多条基本上平行的位线的第一存储器阵列提出所述请求,其中所述字线由耦合到所述多条字线的第一端的行解码器驱动,所述位线与所述多条字线垂直并且由耦合到所述多条位线的第一端的感测放大器读取。
在704处,选择性地激活一条或多条字线或位线。所述一条或多条字线或位线被选择性地激活以便向/从所述存储器地址位置写入数据或读取数据。可以对所生成的地址位置进行解码,以便确定将被选择性地激活的位线和字线。
在706处,生成基于已激活位线和字线的地址签名。可以基于已激活字线生成所述读取或写入地址,或者可以使用地址签名发生器基于已激活位线来生成地址签名,以便检测多位位线错误(例如可以将地址签名发生器配置在位线的末端,以便在一条或多条位线激活时返回地址签名)。在一个实施例中,所述地址签名可以包括重新生成的地址的无损编码。在替换实施例中,所述地址签名可以包括未压缩地址。
应当认识到,所述地址签名可以由地址签名发生器生成。在一个实施例中,第一地址签名发生器可以耦合到所述多条字线的与行解码器相反的一端。在另一个实施例中,第二地址签名发生器耦合到所述多条位线的与感测放大器相反的第二端,从而导致感测放大器的两侧是地址签名发生器。
在一个实施例中,生成所述地址签名可以包括将具有附加地址信息的多个数据位存储在存储器阵列中。在一个实施例中,所述存储器阵列可以包括只读存储器(ROM),其具有被配置成存储高和低状态的存储元件。每一个存储元件可以对应于与相应的字线和/或位线相关联的一件地址签名。可以基于字线的激活来输出所存储的附加地址信息以作为所述地址签名,其中所输出的多个地址位构成所述重新生成的地址签名。
在708处,将所生成的地址签名与所请求的存储器地址位置进行比较。地址比较器可以基于所请求的地址确定所激活的字线要多于所应当激活的字线。
在一个实施例中,如果所述地址签名和重新生成的地址相同,则在所述读取或写入操作中不存在错误。但是如果所述地址签名与重新生成的地址不同,则所述地址签名发生器被配置成向控制单元提供指示所述存储器读取或写入操作中的错误的错误信号。
但是如果所生成的地址签名与所请求的存储器地址位置不等(例如所述地址签名指示有多条字线被激活),则在所述读取或写入操作中存在错误,并且所述存储器操作未成功完成。
可以向主机提供指示在向存储器阵列写入数据中存在错误的错误信号。所述错误例如可能是由于交叉的字线而造成的,从而导致多条字线被错误地激活。或者,所述错误可能是由于字线短路、字线中的破损等等而造成的。在一个实施例中,在检测到地址线错误之后,允许主机处理器进行信道控制(即总线控制)以便实现重试机制,从而可以在不受硬件实现方式限制的情况下避免死锁和其他困境。
在另一个实施例中,方法700还可以包括一种用于测试708的比较的方法。在一个实施例中,用于测试所述比较的方法可以包括选择性地生成错误的地址签名,其可以替代所生成的地址签名被提供来与所请求的地址位置进行比较。应当认识到,所述错误的地址签名可以被利用来测试所述比较操作。举例来说,如果提供错误的地址签名以供比较并且没有导致生成错误信号,则所述比较没有被正确地执行。
虽然关于一种或多种实现方式示出并描述了本发明,但是在不背离所附权利要求书的精神和范围的情况下可以对所示出的实例做出变更和/或修改。特别是关于由前面描述的组件或结构(套件、器件、电路、系统等等)所执行的各种功能,除非另行表明,否则被用来描述这样的组件的术语(其中包括提到“装置”时)意图对应于执行所描述的组件的指定功能的任何组件或结构(例如在功能上等效),尽管其结构不等效于在这里所示出的本发明的示例性实现方式中执行所述功能的所公开的结构。此外,虽然可能仅仅关于几种实现方式当中的一种公开了本发明的具体特征,但是对于任何给定的或具体的应用,可以按照期望有利地将这样的特征与其他实现方式的一项或多项其他特征相组合。此外,就说明书和权利要求书中使用的术语“包含”、“具有”、“带有”的范围而言,这样的术语意图是与术语“包括”类似的包含性的。

Claims (20)

1.一种存储器块,包括:
主机处理单元,其被配置成提供包括所请求的存储器地址的存储器操作请求;
第一存储器阵列,其具有多条地址线;
第一地址解码器,其被配置成接收所请求的存储器地址并且选择性地激活与所请求的存储器地址相关联的相应地址线;以及
地址签名发生器,其被配置成接收所述存储器操作请求,并且还被配置成基于所激活的地址线生成地址签名以及将所生成的地址签名与所请求的存储器地址进行比较,
其中,如果所生成的地址签名与所请求的存储器地址不同,则生成错误信号,其中所请求的存储器地址指示请求激活的地址线并且所生成的地址签名指示所激活的地址线。
2.权利要求1的存储器块,其中,所述地址签名发生器包括:
第二存储器阵列,其被配置成存储附加的地址信息;以及
地址比较器,其被配置成接收所生成的地址签名和所请求的存储器地址、将所生成的地址签名与所请求的存储器地址进行比较以及生成所述错误信号。
3.权利要求2的存储器块,其中,第二存储器阵列包括只读存储器(ROM),并且其中所述附加地址信息包括所述地址签名。
4.权利要求1的存储器块,其中,所述地址签名发生器包括:
第二地址解码器,其被配置成接收所述存储器操作请求,并且基于所接收到的存储器操作请求生成指示将被生成的字线的字线激活信号;以及
耦合到第一存储器阵列和第二地址解码器的逻辑电路,
其中,所述逻辑电路被配置成接收来自第一存储器阵列的字线激活信号和来自第二地址解码器的所生成的字线激活信号,并且从中确定错误地激活的字线。
5.权利要求4的存储器块,其中,所述逻辑门包括异或门。
6.权利要求1的存储器块,其中:
第一存储器阵列包括多条基本上平行的字线,所述字线由耦合到所述多条字线的第一端的行解码器驱动;并且
所述地址签名发生器耦合到所述多条字线的与所述行解码器相反的第二端。
7.权利要求6的存储器块,其中:
第一存储器阵列包括多条基本上平行的位线,所述位线与所述多条字线基本上垂直,由耦合到所述多条位线的第一端的感测放大器读取;并且
第二地址签名发生器耦合到所述多条位线的与所述感测放大器相反的第二端。
8.权利要求1的存储器块,其中,所述地址签名包括未压缩地址或者所生成的地址的无损编码。
9.权利要求1的存储器块,其中,在生成错误信号之后,为所述主机处理单元给出总线控制以便重试将数据写入第一存储器阵列。
10.权利要求1的存储器块,其还包括测试电路,所述测试电路被配置成选择性地生成可以被提供到所述地址比较器的错误地址签名,从而刻意导致所述地址比较器输出所述错误信号。
11.一种用于检测在计算机系统中传送的数据流中的错误的方法,包括:
向耦合到第一存储器阵列和地址签名发生器的地址解码器提供对于存储器操作请求的第一存储器阵列内的所请求的地址位置;
基于所请求的地址位置选择性地激活第一存储器阵列内的一条或多条地址线;
基于所述选择性地激活的地址线生成重新生成的地址签名;以及
将所请求的地址位置与重新生成的地址签名进行比较,其中所述比较识别出第一存储器阵列中的地址线错误的存在,其中所请求的地址位置指示请求激活的地址线并且所述重新生成的地址签名指示所述选择性地激活的地址线。
12.权利要求11的方法,其中,所述地址签名包括未压缩地址或者重新生成的地址的无损编码。
13.权利要求11的方法,其中,生成重新生成的地址签名包括:
将具有附加地址信息的多个数据位存储在第二存储器阵列中,其中各数据位包括与字线的地址签名相对应的地址信息;以及
基于所述字线的激活选择性地输出所存储的附加地址信息。
14.权利要求13的方法,其中,第二存储器阵列包括只读存储器(ROM)。
15.权利要求11的方法,其中:
第一存储器阵列包括多条基本上平行的字线,所述字线由耦合到所述多条字线的第一端的行解码器驱动;并且
第一地址签名发生器耦合到所述多条字线的与所述行解码器相反的第二端。
16.权利要求15的方法,其中:
第一存储器阵列包括多条基本上平行的位线,所述位线与所述多条字线基本上垂直,由耦合到所述多条位线的第一端的感测放大器读取;并且
第二地址签名发生器耦合到所述多条位线的与所述感测放大器相反的第二端。
17.权利要求11的方法,进一步包括:
选择性地生成错误的地址签名,其可以替代所生成的地址签名被提供来与所请求的地址位置进行比较,
其中,所述错误的地址签名可以被利用来测试所述比较操作。
18.权利要求11的方法,进一步包括:在识别出第一存储器阵列中的地址线错误之后重试将数据写入第一存储器阵列。
19.一种存储器块,其包括:
耦合到多条基本上平行的地址线的重新编码机制,其被包括在具有矩阵结构的电子存储阵列内,并且被配置成基于在电子存储操作期间实际激活的所述多条地址线当中的一条或多条来重新生成地址签名,
比较器,其被配置成将重新生成的地址签名与所请求的存储器地址进行比较,其中所请求的存储器地址指示请求激活的地址线并且所述重新生成的地址签名指示实际激活的所述多条地址线当中的一条或多条。
20.权利要求19的存储器块,其中,如果重新生成的地址签名的地址线与所请求的存储器地址的地址相同,则不存在地址线错误;并且
其中,如果重新生成的地址签名的地址线与所请求的存储器地址的地址不同,则存在地址线错误。
CN201110215419.5A 2010-07-30 2011-07-29 通过内部操作验证进行安全的存储器存储 Active CN102347083B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/847,450 2010-07-30
US12/847450 2010-07-30
US12/847,450 US8560899B2 (en) 2010-07-30 2010-07-30 Safe memory storage by internal operation verification

Publications (2)

Publication Number Publication Date
CN102347083A CN102347083A (zh) 2012-02-08
CN102347083B true CN102347083B (zh) 2015-03-25

Family

ID=45471314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110215419.5A Active CN102347083B (zh) 2010-07-30 2011-07-29 通过内部操作验证进行安全的存储器存储

Country Status (3)

Country Link
US (1) US8560899B2 (zh)
CN (1) CN102347083B (zh)
DE (1) DE102011108933B4 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101862379B1 (ko) * 2013-04-19 2018-07-05 삼성전자주식회사 Ecc 동작과 리던던시 리페어 동작을 공유하는 메모리 장치
FR3010822B1 (fr) * 2013-09-17 2015-10-02 Inside Secure Circuit a memoire comprenant des moyens de detection d'une injection d'erreur
US9208040B2 (en) 2014-04-30 2015-12-08 Stmicroelectronics International N.V. Repair control logic for safe memories having redundant elements
FR3038188B1 (fr) * 2015-06-29 2017-08-11 Stmicroelectronics (Grenoble 2) Sas Systeme de verification de l’integrite d’une communication entre deux circuits
EP3485574A4 (en) * 2016-07-15 2020-10-14 Chippewa Data Control LLC PROCEDURES AND ARCHITECTURE FOR CRITICAL SYSTEMS WITH THE USE OF MULTICENTRIC ORTHOGONAL TOPOLOGY AND PERVASIVE RULE-DRIVEN DATA AND CONTROL CODING
DE102016122828A1 (de) * 2016-11-25 2018-05-30 Infineon Technologies Ag Speicherschaltkreis und Verfahren zum Betreiben eines Speicherschaltkreises
US10431265B2 (en) * 2017-03-23 2019-10-01 Silicon Storage Technology, Inc. Address fault detection in a flash memory system
US10140040B1 (en) 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US10553300B2 (en) * 2017-06-09 2020-02-04 Taiwan Semiconductor Manufacturing Company, Ltd. Method of detecting address decoding error and address decoder error detection system
US20190065303A1 (en) * 2017-08-31 2019-02-28 Hewlett Packard Enterprise Development Lp Processor analysis
DE102017124313B4 (de) * 2017-10-18 2021-03-18 Infineon Technologies Ag Speicheranordnung und verfahren zum verifizieren eines speicherzugriffs
US10664194B2 (en) 2018-05-16 2020-05-26 Micron Technology, Inc. Memory system with dynamic calibration using a variable adjustment mechanism
DE102018112816A1 (de) * 2018-05-29 2019-12-05 Infineon Technologies Ag Adresscodierter Zugriff auf Speicher
US10990466B2 (en) 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
US11188416B2 (en) 2018-07-12 2021-11-30 Micron Technology, Inc. Enhanced block management for a memory sub-system
US11113129B2 (en) * 2018-07-13 2021-09-07 Micron Technology, Inc. Real time block failure analysis for a memory sub-system
US11055172B2 (en) * 2018-10-05 2021-07-06 Texas Instruments Incorporated Systems, methods, and apparatus to detect address faults
US10936246B2 (en) 2018-10-10 2021-03-02 Micron Technology, Inc. Dynamic background scan optimization in a memory sub-system
US11132147B2 (en) 2018-10-16 2021-09-28 Micron Technology, Inc. Memory command verification
DE102019113970B4 (de) 2019-05-24 2022-11-24 Infineon Technologies Ag Erkennung von adressfehlern
US10929224B2 (en) * 2019-06-20 2021-02-23 Western Digital Technologies, Inc. Partial XOR protection
FR3100347B1 (fr) * 2019-09-04 2022-07-22 St Microelectronics Rousset Détection d'erreurs
US11182246B1 (en) * 2020-07-28 2021-11-23 Infineon Technologies Ag Continuous error coding
US11410742B1 (en) * 2021-02-26 2022-08-09 Micron Technology, Inc. Microelectronic device testing, and related devices, systems, and methods
US20230144843A1 (en) * 2021-11-11 2023-05-11 Samsung Electronics Co., Ltd. Systems and methods for detecting intra-chip communication errors in a reconfigurable hardware system
US11853157B2 (en) 2021-11-17 2023-12-26 Nxp B.V. Address fault detection system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549272A (zh) * 2003-05-14 2004-11-24 凌阳科技股份有限公司 省电的静态存储器控制电路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4020463A (en) * 1976-02-27 1977-04-26 Recognition Equipment Incorporated Apparatus and a method for storage and retrieval of image patterns
JP3526894B2 (ja) * 1993-01-12 2004-05-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
EP1089292A1 (en) * 1999-09-30 2001-04-04 STMicroelectronics S.r.l. Nonvolatile memory and high speed memory test method
US7373462B2 (en) * 2005-03-29 2008-05-13 International Business Machines Corporation Snoop filter for filtering snoop requests
US7760732B2 (en) * 2005-04-01 2010-07-20 Cisco Technology, Inc. Constant time signature methods for scalable and bandwidth-efficient multicast

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549272A (zh) * 2003-05-14 2004-11-24 凌阳科技股份有限公司 省电的静态存储器控制电路

Also Published As

Publication number Publication date
US8560899B2 (en) 2013-10-15
CN102347083A (zh) 2012-02-08
US20120030531A1 (en) 2012-02-02
DE102011108933B4 (de) 2016-08-25
DE102011108933A1 (de) 2012-02-02

Similar Documents

Publication Publication Date Title
CN102347083B (zh) 通过内部操作验证进行安全的存储器存储
US10459793B2 (en) Data reliability information in a non-volatile memory device
CN101339526B (zh) 检测由于读干扰而造成的位错误的存储系统及其方法
US8327224B2 (en) Data recovery in a solid state storage system
KR101405741B1 (ko) 스트라이프-기반 비-휘발성 멀티레벨 메모리 동작
CN1242412C (zh) 半导体存储器
KR102065665B1 (ko) 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법
CN102132354B (zh) 闪存中的数据的快速低功率读取
US9164830B2 (en) Methods and devices to increase memory device data reliability
TWI606447B (zh) 用以偵測並減緩快閃記憶體中的位元線開路之設備及方法
US20170286197A1 (en) Validation of memory on-die error correction code
US20130227202A1 (en) Implementing raid in solid state memory
US10824523B2 (en) Data storage device and operating method thereof
CN110097913A (zh) 存储器控制器及其操作方法
US20240126701A1 (en) Methods of memory address verification and memory devices employing the same
CN111566738B (zh) 存储器系统中的有效和选择性的备用位
CN114566207B (zh) 存储器的测试方法及测试装置
CN104517634B (zh) 铁电存储器设备
KR20190038964A (ko) 에러 정정 코드 유닛, 그것의 인코딩 및 디코딩 방법
CN103413571B (zh) 存储器和利用该存储器实现检错纠错的方法
US20230004320A1 (en) Method of managing debugging log in storage device
CN109686389B (zh) 存储器装置和用于验证存储器访问的方法
TWI514400B (zh) 記憶體裝置修護技術
US20090199043A1 (en) Error correction in an integrated circuit with an array of memory cells
US20230034275A1 (en) Performing memory testing using error correction code values

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant