CN116312722A - 用于验证存储器适当操作的错误纠正码校验位的冗余存储 - Google Patents
用于验证存储器适当操作的错误纠正码校验位的冗余存储 Download PDFInfo
- Publication number
- CN116312722A CN116312722A CN202310283183.1A CN202310283183A CN116312722A CN 116312722 A CN116312722 A CN 116312722A CN 202310283183 A CN202310283183 A CN 202310283183A CN 116312722 A CN116312722 A CN 116312722A
- Authority
- CN
- China
- Prior art keywords
- memory
- check bits
- application data
- ecc check
- ecc
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 322
- 238000012937 correction Methods 0.000 title claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
- G06F11/167—Error detection by comparing the memory output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本公开涉及用于验证存储器适当操作的错误纠正码校验位的冗余存储。应用数据以及与该应用数据相关联的纠错码(ECC)校验位存储在第一存储器中。ECC校验位而不是应用数据存储在第二存储器中。响应于从第一存储器读取应用数据的请求,也从第一存储器读取ECC校验位并用于检测、以及可能纠正所读取应用数据中的错误。进一步从第一存储器和第二存储器输出ECC校验位以用于逐位比较。响应于逐位比较的失败,产生指示了第一存储器和第二存储器的一个或另一个或两者的可能故障的信号。
Description
分案说明
本申请是于2017年11月22日提交的申请号为201711172021.1、名称为“用于验证静态随机访问存储器的适当操作的错误纠正码校验位的冗余存储”的中国发明专利申请的分案申请。
技术领域
本公开总体涉及一种用于存储数据的存储电路或***,并且具体涉及通过测试冗余地存储的错误纠正码(ECC)校验位而验证存储器电路的适当操作。
背景技术
许多***包括用于存储应用数据的存储器电路。***的适当操作取决于所存储的应用数据的准确性。然而,已知的是,存储器电路可以存储和/或检索包括码位错误的应用数据。例如,码位错误可以与用于向存储器写入应用数据有关的操作而引入。码位错误也可以与从存储器读取应用数据有关的操作而引入。也能够在由存储器存储应用数据的时间段期间引入码位错误。为了解决关于在应用数据中该码位错误的问题,现有技术已知在存储之前对应用数据应用错误纠正码(ECC),在本领域也称作向前错误纠正(FEC)。该编码过程添加冗余数据(例如以校验位的形式)至应用数据,应用数据以及其相关联的冗余数据存储在存储器电路中。当稍后需要时,从存储器电路检索应用数据以及其相关联的冗余数据,并且使用冗余数据以检测在所检索应用数据中错误的存在,以及在一些情形中纠正所检测的错误。
然而,对于给定ECC可以纠正的错误数目和类型是有限的。出现超过该限值的码位错误可能导致不可预测的结果。这可能是因为存储器电路内操作环境或故障的条件。这些不可靠行为在一些应用中可以不是可接受的。此外,ECC可以无法检测存储器电路故障的情况。
特别关注存储器电路的逻辑电路的故障。考虑所涉及的待解决的以下故障:具有ECC的应用数据被写入存储器电路内的第一存储器地址,但是由于存储器电路内逻辑电路的故障,该应用数据被替代地写入第二存储器地址。该故障引起三个问题。首先,数据已经被存储在错误的地址处(也即第二存储器地址)。其次,已经覆盖了在该错误地址处的好的数据。第三,应该被覆盖的数据仍然存在于正确地址处(也即第一存储器地址)处的存储器电路中。在存储器操作中检测该故障是重要的。然而,ECC并未提供足够的保护,因为当从第一存储器地址进行后续读取时,与ECC相对的读取数据将可能不会揭示数据错误。类似地,从第二存储器地址进行后续读取也将可能不揭示数据错误。
考虑关于芯片选择的以下故障:由主机请求应用数据以写入某一所选择的存储器芯片,但是由于存储器电路内用于对芯片选择(CS)信号做出响应的逻辑电路的故障,并未发生对存储器的写入。因此,应该存储在存储器电路中地址处的应用数据并未存在,并且应该被覆盖的数据仍然存在于该地址处的存储器电路中。同样地,该故障的检测是重要的。然而,ECC并未提供足够的保护,因为当进行从存储器地址的后续读取时,与ECC相对的读取数据将可能不会揭示数据错误。
本领域需要解决在存储器电路操作中故障的检测。
发明内容
在一个实施例中,一种存储器***包括:第一存储器;第二存储器;存储器控制器,被配置用于:应用存储器地址至第一存储器和第二存储器,将纠错码(ECC)校验位写入第一存储器和第二存储器中的所述存储器地址,并且仅从在所述存储器地址处的第一存储器读取ECC校验位;以及比较器电路,被配置用于:从在第一存储器和第二存储器中的所述存储器地址获得ECC校验位,并且执行从第一存储器和第二存储器接收的ECC校验位的逐位比较,以产生指示如下信号,其指示如果ECC校验位的逐位比较失败则第一存储器和第二存储器中的一个或多个存在故障。
在一个实施例中,一种***包括:主机***,被配置用于做出写入请求以将应用数据写入存储器;以及存储器***,响应于所述写入请求而通过以下项进行操作:根据应用数据计算纠错码(ECC)校验位;将应用数据和计算的ECC校验位写入第一存储器;以及将ECC校验位而非应用数据写入第二存储器。
在一个实施例中,一种存储器***包括:第一存储器,被配置用于存储应用数据以及与该应用数据相关联的纠错码(ECC)校验位;第二存储器,被配置用于存储与应用数据相关联的所述ECC校验位,其中第二存储器并未存储应用数据;存储器控制器电路,被配置用于从第一存储器读取应用数据和ECC校验位,以及使用检索到的ECC校验位检测并纠正在所检索到的应用数据中的错误;以及比较器电路,被配置用于从第一存储器和第二存储器接收ECC校验位并且执行从第一存储器和第二存储器接收到的ECC校验位的逐位比较,以产生如下信号,所述信号指示如果ECC校验位的逐位比较失败则第一存储器和第二存储器的一个或多个存在故障。
在一个实施例中,一种***包括:主机***,被配置用于提出读取请求以从存储器读取应用数据;以及存储器***,响应于所述读取请求通过以下项而进行操作:从第一存储器读取应用数据以及与该应用数据相关联的纠错码(ECC)校验位;使用所检索到的ECC校验位检测并纠正在所检索到应用数据中的错误;从第一存储器以及从并未存储应用数据的第二存储器接收与该应用数据相关联的ECC校验位;以及执行所接收到ECC校验位的逐位比较以产生如下信号,所述信号指示如果ECC校验位的逐位比较失败则第一存储器和第二存储器的一个或多个存在故障。
从结合附图阅读的实施例的以下详细说明将使得本公开的前述和其他特征和优点变得更明显。详细说明书和附图仅是本公开的示意说明,并非限制如由所附权利要求及其等价形式所限定的本发明的范围。
附图说明
借由无需按照比例绘制的附图中的示例的方式而说明实施例,其中相同的数字指示类似的部件,以及其中:
图1显示了存储器***的框图。
具体实施方式
现在参照示出了存储器***10的方框图的图1。存储器***10耦合至主机***12(例如以数据处理***的形式)。主机***12具有存储并检索应用数据的需求。存储器***10响应于主机***12进行数据存储的请求而操作,并且进一步响应于主机***请求从存储装置检索数据而操作。由主机***12提出的请求,不论是用于数据存储或数据检索,都包括通过地址总线16发送的存储器地址(addr),其规定了在存储器***10中应用数据将要存储至其、或者将要从检索应用数据的位置。双向数据总线18将主机***12耦合至存储器***10,其中数据总线18承载应用数据(app_data)。读/写控制线(r/w)20用于规定所应用的存储器地址(addr)是否用于读取操作或写入操作。
存储器***10包括第一存储器24和第二存储器26。第一存储器和第二存储器24和26中的每一个可以例如包括静态随机访问存储器(SRAM)阵列。第一存储器24包括存储器阵列24a,然而其尺寸基本上大于第二存储器26的存储器阵列26a。例如,第一存储器阵列24a可以具有n×(64+8)位大小,而第二存储器阵列26a可以具有n×8位大小(其中n表示存储器阵列中不同地址的数目)。逻辑电路24b(包括用于地址解码、使能、多路复用等的电路)提供接口至存储器阵列24a。逻辑电路26b(包括用于地址解码、使能、多路复用等的电路)提供接口至存储器阵列26a。
第一存储器和第二存储器24和26的操作由存储器控制电路34控制。存储器控制器电路34由地址总线36耦合至第一存储器24和第二存储器26。响应于由主机***12通过地址总线16发送的存储器地址(addr),存储器控制器电路34产生专用于第一存储器24和第二存储器26的地址(SRAM_addr)以用于地址总线36。在优选的实施方式中,相同的地址(SRAM_addr)通过地址总线36被施加至第一存储器24和第二存储器26,并且因此第一存储器24和第二存储器26被配置为覆盖相同的存储器地址范围。逻辑24b和26b处理所应用的地址以分别访问存储器阵列24a和26a的位置。
存储器控制器电路34进一步确立(assert)芯片选择(CS)信号以选择第一存储器24和第二存储器26用于操作(读取和写入)。CS信号由逻辑24b和26b处理以分别使能存储器阵列24a和26a以用于操作。
存储器控制器电路34进一步由双向数据总线40耦合至第一存储器24,数据总线40承载将要存储在第一存储器阵列24a中或者从第一存储器阵列24a检索的应用数据(app_data)。数据总线40并未耦合至第二存储器26。
存储器控制器电路34包括纠错码(ECC)电路44,其以本领域技术人员广泛已知方式操作,以处理应用数据(在所请求的写入操作期间从主机***12接收的app_data),以及在一些情形中处理存储器地址(addr)或地址(SRAM_addr),并且计算将要通过ECC总线46写入由地址总线36上地址(SRAM_addr)所规定存储器位置处的第一存储器和第二存储器24和26的ECC校验位(ECC_write)。在示例性的实施方式中,可以对于应用数据(app_data)中的每个64位数据片计算8位ECC校验位。
存储器控制器电路34进一步由读取ECC总线52耦合至第一存储器24,读取ECC总线52输送ECC校验位(ECC_read),该ECC校验位(ECC_read)是从第一存储器24读取的并且响应于地址总线36上的读取地址而输送至ECC电路44的。在该上下文中,应该理解,ECC校验位(ECC_read)应该与第一存储器24没有故障的ECC校验位(ECC_write)相同。以对本领域技术人员广泛已知的方式,ECC电路44处理ECC校验位(ECC_read)以识别、并且可能纠正从第一存储器24读取的应用数据(app_data)中的错误。
尽管图1示出写入ECC总线46和读取ECC总线52作为分立总线,但是应该理解,在实施方式中这是逻辑区分的并且ECC校验位可以替代地由双向总线运载。
逻辑电路60耦合至读取ECC总线52并由冗余读取ECC总线62进一步耦合至第二存储器26。逻辑电路60响应于地址总线36上的读取地址而接收在第二存储器26中访问的冗余ECC校验位(red_ECC_read)。在该上下文中,应该理解,冗余ECC校验位(red_ECC_read)应该与第二存储器26没有故障的ECC校验位(ECC_write)相同。逻辑电路60用作数据比较器电路,以比较ECC校验位(ECC_read)的单个位与冗余ECC校验位(red_ECC_read)的单个位。如果在该逐位比较中所有位匹配,则逻辑电路60在耦合至主机***12上的线路70上确立SRAM_OK信号。主机***12将线路70上SRAM_OK信号的确立理解为第一存储器24和第二存储器26中的一个或多个没有故障或失效。相反地,逐位比较中一个或多个位失配指示存在第一存储器24和第二存储器26中的一个或多个或两者的故障,并且因此由逻辑电路60去确立(deassert)SRAM_OK信号。
存储器***10在应用数据写入期间的操作如下:a)主机***12施加存储器地址(addr)至地址总线16,施加应用数据(app_data)至数据总线18,并且确立写入控制信号;b)存储器控制器电路34从主机***12所接收的存储器地址(addr)产生用于第一存储器24和第二存储器26的地址(SRAM_addr),并且施加地址(SRAM_addr)至地址总线36;c)存储器控制器电路34进一步施加从主机***12所接收的应用数据(app_data)至双向数据总线40;d)ECC电路44处理在数据总线18上接收的应用数据(app_data)并计算ECC校验位(ECC_write);e)存储器控制器电路34进一步施加ECC校验位(ECC_write)至写入ECC总线46;f)第一存储器24的逻辑电路24b在存储器阵列24a中指定地址(SRAM_addr)处存储应用数据(app_data)和ECC校验位(ECC_write);以及g)第二存储器26的逻辑电路26b在存储器阵列26a中指定地址(SRAM_addr)处存储ECC校验位(ECC_wrtie)(注意:第二存储器26并未存储应用数据(app_data))。
存储器***10在应用数据读取期间的操作如下:a)主机***12施加存储器地址(addr)至地址总线16并且确立读取控制信号;b)存储器控制器电路34从主机***12所接收的存储器地址(addr)产生用于第一存储器24和第二存储器26的地址(SRAM_addr)并且施加地址(SRAM_addr)至地址总线36;c)第一存储器24的逻辑电路24b检索存储在存储器阵列24a中地址(SRAM_addr)处的应用数据(app_data)和ECC校验位(ECC_read)以分别施加至数据总线40和读取ECC总线52;d)第二存储器26的逻辑电路26b检索存储在存储器阵列26a中地址(SRAM_addr)处的冗余ECC校验位(red_ECC_read),以用于施加至冗余读取ECC总线62;e)ECC电路44处理在数据总线40上接收的应用数据(app_data)和在读取ECC总线52上接收的ECC校验位(ECC_read)以识别并纠正错误,以及施加已纠正错误的应用数据(app_data)至数据总线18以用于输送至主机***12;以及f)逻辑电路60执行ECC校验位(ECC_read)与冗余ECC校验位(red_ECC_read)的逐位比较,并且如果存在完全位匹配则确立SRAM_OK信号(并且否则如果检测到任何位失配则去确立SRAM_OK信号)。
主机***12可以以任何许多方式处理已去确立的SRAM_OK信号(指示了逐位比较失败以及可能的存储器故障)。例如,主机***12可以提出标志询问存储器操作但是另外如正常的使用所检索到的错误已纠正应用数据(app_data)。备选地,主机***12可以执行操作以响应于SRAM_OK信号的去确立而执行另一读取(在相同或不同存储器位置处)以双重校对或检测到的故障。另外进一步,主机***12可以终止因检测到的故障所致的进一步存储器访问操作并确立错误代码。
现在再次参照关于存储器的逻辑电路的故障而之前所述的内容。感兴趣的一个故障涉及寻址故障,其中旨在写入存储器内的第一存储器地址的具有ECC的应用数据被替代的写入第二存储器地址。采用图1的实施方式,具有ECC的应用数据向第二存储器地址的错误写入可能因逻辑24b的故障发生在存储器阵列24a中。然而,不太可能的是,存储器26的逻辑26b类似地受影响,因此ECC将正确地写入存储器阵列26a中的第一存储器地址。随后从存储器阵列24a的第一存储器地址读取,读取数据与ECC对比将可能揭示没有数据错误。然而,从存储器阵列24a中第一存储器地址读取的ECC将不会匹配从存储器阵列26a中第一存储器地址读取的ECC。去确立的SRAM_OK信号将因此向主机12指示没有错误。沿着相同的线路,随后从存储器阵列24a的第二存储器地址进一步读取,读取数据对比ECC将可能揭示没有数据错误,但是从存储器阵列24a中第二存储器地址读取的ECC将不会匹配从存储器阵列26a中第二存储器地址读取的ECC。去确立的SRAM_OK信号将因此向主机12指示具有错误。
相对于之前所述关于芯片选择(CS)的存储器的逻辑电路的故障,将回想:由主机12请求的用于写入某一所选择存储器芯片的应用数据并未发生。采用图1的实施方式,即使由于逻辑24b故障而并未发生将具有ECC的应用数据写入存储器24中存储器地址,不太可能的是存储器26的逻辑26b类似地受影响。因此,ECC将正确地写入存储器阵列26a中该存储器地址。随后从存储器阵列24a的该存储器地址读取,读取数据对比ECC将可能揭示没有数据错误。然而,从存储器阵列24a中该存储器地址读取的ECC将不会匹配从存储器阵列26a中该存储器地址读取的ECC。去确立的SRAM_OK信号将因此向主机12指示具有错误。
图1的实施方式的优点在于可以使用具有相对简单逻辑电路的小存储器26检测存储器的逻辑中的故障。对于该存储器逻辑故障检测/预防的现有技术方案将要求特殊设计的存储器(诸如具有本领域已知的反馈SRAM)或者要求存储器的完全复制。
前述说明书已经借由示例性和非限定性示例提供了本发明一个或多个示例性实施例的全面和丰富的描述说明。然而,当结合附图和所附权利要求阅读时,考虑到前述说明书,各种修改和改变对于相关领域技术人员可以变得明显。然而,本发明的所有这种教导和类似修改将仍然落入所附权利要求中所限定的本发明的范围内。
Claims (21)
1.一种操作存储器***的方法,所述存储器***包括存储器控制器、第一存储器和第二存储器,所述方法包括:
当处于写入操作模式时,所述存储器控制器:
将存储器地址应用于所述第一存储器和所述第二存储器两者;
将具有对应的纠错码ECC校验位的应用数据写入到所述第一存储器中的所述存储器地址;以及
将所述ECC校验位而非对应的所述应用数据写入所述第二存储器中的所述存储地址;
当处于读取操作模式时,所述存储器控制器:
将所述存储器地址应用于所述第一存储器和所述第二存储器两者;
仅从所述第一存储器中的所述存储器地址读取所述ECC校验位和对应的应用数据;
仅从所述第二存储器中的所述存储器地址获得所述ECC校验位;以及
执行对仅从所述第一存储器读取的所述ECC校验位与从所述第二存储器获得的所述ECC校验位的逐位比较,以生成如下信号,该信号指示如果所述ECC校验位的所述逐位比较失败,则在所述第一存储器和所述第二存储器中的一个或多个存储器中存在故障。
2.根据权利要求1所述的方法,还包括由所述存储器控制器对从主机***接收的所述应用数据执行ECC处理以生成所述ECC校验位。
3.根据权利要求1所述的方法,还包括由所述存储器控制器对所述应用数据和从所述第一存储器读取的所述ECC校验位执行ECC处理,以检测并校正所读取的所述应用数据中的数据错误。
4.根据权利要求1所述的方法,其中所述第一存储器和所述第二存储器各自包括SRAM阵列。
5.根据权利要求1所述的方法,其中所述第一存储器的存储器阵列大于所述第二存储器的存储器阵列。
6.一种方法,包括:
由存储器***的存储器控制器写入应用数据:
从所述应用数据计算纠错码ECC校验位;
将应用数据和计算出的所述ECC校验位写入所述存储***的第一存储器;以及
将所述ECC校验位而非所述应用数据写入到所述存储器***的第二存储器。
7.根据权利要求6所述的方法,其中写入包括所述存储器控制器:
响应于写入请求生成存储器地址;
将所述应用数据和计算出的所述ECC校验位写入到所述存储器***的所述第一存储器中的所述存储器地址;以及
将所述ECC校验位而非所述应用数据写入到所述存储器***的所述第二存储器中的相同的所述存储器地址。
8.根据权利要求7所述的方法,其中所述第一存储器和所述第二存储器中的每个存储器包括SRAM阵列。
9.根据权利要求7所述的方法,其中所述第一存储器的存储器阵列大于所述第二存储器的存储器阵列。
10.权利要求7的方法,还包括:
由所述存储控制器读取应用数据:
从所述第一存储器读取所述应用数据和ECC校验位;
使用所读取的ECC校验位检测并校正所读取的应用数据中的错误;
从所述第一存储器和所述第二存储器接收所述ECC校验位;以及
执行对仅从所述第一存储器与从所述第二存储器接收的所述ECC校验位的逐位比较以生成如下信号,该信号指示如果所述ECC校验位的逐位比较失败,则在所述第一存储器和所述第二存储器中的一个或多个存储器中存在故障。
11.根据权利要求10所述的方法,其中读取包括所述存储器控制器:
响应于读取请求生成存储器地址;
从所述第一存储器中的所述存储器地址读取所述应用数据和所述ECC校验位;以及
从所述第一存储器和所述第二存储器中的所述相同的存储器地址接收所述ECC校验位。
12.根据权利要求10所述的方法,其中所述第一存储器和所述第二存储器中的每个存储器包括SRAM阵列。
13.根据权利要求10所述的方法,其中所述第一存储器的存储器阵列大于所述第二存储器的存储器阵列。
14.一种用于存储器控制器操作的方法,包括:将应用数据和与所述应用数据相关联的纠错码(ECC)校验位存储在第一存储器中;
将与所述应用数据相关联的所述ECC校验位存储在第二存储器中,其中所述第二存储器不存储所述应用数据;
从所述第一存储器读取所述应用数据和所述ECC校验位;
使用取回的ECC校验位检测和校正所取回的应用数据中的错误;
从所述第一存储器和所述第二存储器两者接收ECC校验位;以及
对仅从所述第一存储器和所述第二存储器两者接收的ECC校验位执行逐位比较,以生成如下信号,所述信号指示如果所述ECC校验位的逐位比较失败,则所述第一存储器和所述第二存储器中的一个或多个存储器存在故障。
15.根据权利要求14所述的方法,还包括将相同的存储器地址应用于所述第一存储器和所述第二存储器两者,以便从所述第一存储器读取所述应用数据和ECC校验位,并且使所述第二存储器输出所述ECC校验位。
16.根据权利要求14所述的方法,其中所述第一存储器和所述第二存储器各自包括SRAM阵列。
17.根据权利要求14所述的方法,其中所述第一存储器的存储器阵列大于所述第二存储器的存储器阵列。
18.一种用于存储器控制器读取应用数据的方法,包括:
从存储器***的第一存储器读取所述应用数据和与所述应用数据相关联的纠错码ECC校验位:
使用所取回的ECC校验位检测和校正所取回的应用数据中的错误;
从所述存储器***的所述第一存储器和不存储所述应用数据的第二存储器两者接收与所述应用数据相关联的所述ECC校验位;以及
仅对所接收的ECC校验位执行逐位比较,以生成如下信号,该信号指示如果所述ECC校验位的逐位比较失败,则所述第一存储器和所述第二存储器中的一个或多个存储器中存在故障。
19.根据权利要求18所述的方法,其中所述第一存储器和所述第二存储器中的每个存储器包括SRAM阵列。
20.根据权利要求18所述的方法,其中所述第一存储器的存储器阵列大于所述第二存储器的存储器阵列。
21.权利要求18的方法,还包括:
生成用于读取的存储器地址;
当从所述第一存储器读取所述应用数据和所述ECC校验位时,将所述存储器地址应用于所述第一存储器;以及
当接收所述ECC校验位时,将相同的所述存储器地址应用于所述第二存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/810,731 US10528422B2 (en) | 2017-11-13 | 2017-11-13 | Redundant storage of error correction code (ECC) checkbits for validating proper operation of a static random access memory (SRAM) |
US15/810,731 | 2017-11-13 | ||
CN201711172021.1A CN109785893B (zh) | 2017-11-13 | 2017-11-22 | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711172021.1A Division CN109785893B (zh) | 2017-11-13 | 2017-11-22 | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116312722A true CN116312722A (zh) | 2023-06-23 |
Family
ID=63500998
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711172021.1A Active CN109785893B (zh) | 2017-11-13 | 2017-11-22 | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 |
CN201721569396.7U Active CN207882889U (zh) | 2017-11-13 | 2017-11-22 | 存储器***和电子*** |
CN202310283183.1A Pending CN116312722A (zh) | 2017-11-13 | 2017-11-22 | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711172021.1A Active CN109785893B (zh) | 2017-11-13 | 2017-11-22 | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 |
CN201721569396.7U Active CN207882889U (zh) | 2017-11-13 | 2017-11-22 | 存储器***和电子*** |
Country Status (3)
Country | Link |
---|---|
US (2) | US10528422B2 (zh) |
EP (1) | EP3483732B1 (zh) |
CN (3) | CN109785893B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528422B2 (en) * | 2017-11-13 | 2020-01-07 | Stmicroelectronics International N.V. | Redundant storage of error correction code (ECC) checkbits for validating proper operation of a static random access memory (SRAM) |
US10540229B2 (en) * | 2018-06-25 | 2020-01-21 | International Business Machines Corporation | Overwriting data objects in a dispersed storage network |
US11249842B2 (en) * | 2019-05-24 | 2022-02-15 | Texas Instruments Incorporated | Error correcting codes for multi-master memory controller |
CN115019862A (zh) * | 2021-03-04 | 2022-09-06 | 瑞昱半导体股份有限公司 | 静态随机存取存储器的纠错电路的验证方法 |
CN116705105A (zh) * | 2022-02-24 | 2023-09-05 | 长鑫存储技术有限公司 | 存储电路、数据传输电路和存储器 |
CN114490172B (zh) * | 2022-04-02 | 2022-07-12 | 武汉杰开科技有限公司 | 数据存储***及方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052818A (en) * | 1998-02-27 | 2000-04-18 | International Business Machines Corporation | Method and apparatus for ECC bus protection in a computer system with non-parity memory |
US6216247B1 (en) * | 1998-05-29 | 2001-04-10 | Intel Corporation | 32-bit mode for a 64-bit ECC capable memory subsystem |
US6938133B2 (en) * | 2001-09-28 | 2005-08-30 | Hewlett-Packard Development Company, L.P. | Memory latency and bandwidth optimizations |
US7073099B1 (en) * | 2002-05-30 | 2006-07-04 | Marvell International Ltd. | Method and apparatus for improving memory operation and yield |
US7620875B1 (en) | 2006-03-07 | 2009-11-17 | Xilinx, Inc. | Error correction code memory system with a small footprint and byte write operation |
US8200925B2 (en) | 2008-10-31 | 2012-06-12 | Mosaid Technologies Incorporated | Data mirroring in serial-connected memory system |
WO2011029075A2 (en) * | 2009-09-03 | 2011-03-10 | Ziva Corporation | Techniques and systems for communications based on time reversal pre-coding |
US8429468B2 (en) * | 2010-01-27 | 2013-04-23 | Sandisk Technologies Inc. | System and method to correct data errors using a stored count of bit values |
US8566672B2 (en) * | 2011-03-22 | 2013-10-22 | Freescale Semiconductor, Inc. | Selective checkbit modification for error correction |
US8782485B2 (en) * | 2012-01-19 | 2014-07-15 | International Business Machines Corporation | Hierarchical channel marking in a memory system |
US8812935B2 (en) * | 2012-08-02 | 2014-08-19 | Oracle International Corporation | Using a data ECC to detect address corruption |
CN104008069B (zh) | 2013-02-22 | 2018-06-15 | 中兴通讯股份有限公司 | 一种数据保护方法、装置及设备 |
US9213600B2 (en) * | 2013-11-11 | 2015-12-15 | Seagate Technology Llc | Dynamic per-decoder control of log likelihood ratio and decoding parameters |
US9208024B2 (en) * | 2014-01-10 | 2015-12-08 | Freescale Semiconductor, Inc. | Memory ECC with hard and soft error detection and management |
KR102238706B1 (ko) * | 2014-11-28 | 2021-04-09 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
US9990245B2 (en) * | 2015-11-25 | 2018-06-05 | Stmicroelectronics S.R.L. | Electronic device having fault monitoring for a memory and associated methods |
US10908995B2 (en) * | 2017-09-29 | 2021-02-02 | Nvidia Corporation | Securing against errors in an error correcting code (ECC) implemented in an automotive system |
US10528422B2 (en) * | 2017-11-13 | 2020-01-07 | Stmicroelectronics International N.V. | Redundant storage of error correction code (ECC) checkbits for validating proper operation of a static random access memory (SRAM) |
-
2017
- 2017-11-13 US US15/810,731 patent/US10528422B2/en active Active
- 2017-11-22 CN CN201711172021.1A patent/CN109785893B/zh active Active
- 2017-11-22 CN CN201721569396.7U patent/CN207882889U/zh active Active
- 2017-11-22 CN CN202310283183.1A patent/CN116312722A/zh active Pending
-
2018
- 2018-11-09 EP EP18205453.6A patent/EP3483732B1/en active Active
-
2019
- 2019-12-04 US US16/703,672 patent/US11055173B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10528422B2 (en) | 2020-01-07 |
CN109785893A (zh) | 2019-05-21 |
EP3483732A1 (en) | 2019-05-15 |
CN207882889U (zh) | 2018-09-18 |
EP3483732B1 (en) | 2020-08-12 |
CN109785893B (zh) | 2023-05-02 |
US11055173B2 (en) | 2021-07-06 |
US20200110663A1 (en) | 2020-04-09 |
US20190146868A1 (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109785893B (zh) | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 | |
US6772383B1 (en) | Combined tag and data ECC for enhanced soft error recovery from cache tag errors | |
US7404137B2 (en) | Method and related apparatus for performing error checking-correcting | |
EP2095234B1 (en) | Memory system with ecc-unit and further processing arrangement | |
US11204825B2 (en) | Memory device and repair method with column-based error code tracking | |
US7587658B1 (en) | ECC encoding for uncorrectable errors | |
US6223309B1 (en) | Method and apparatus for ECC logic test | |
US6493843B1 (en) | Chipkill for a low end server or workstation | |
US8910018B2 (en) | Memory with dynamic error detection and correction | |
US8566672B2 (en) | Selective checkbit modification for error correction | |
US9626243B2 (en) | Data error correction device and methods thereof | |
US9665423B2 (en) | End-to-end error detection and correction | |
JP4349532B2 (ja) | メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体 | |
US7401269B2 (en) | Systems and methods for scripting data errors to facilitate verification of error detection or correction code functionality | |
US8413018B2 (en) | Separate memories and address busses to store data and signature | |
US20110041030A1 (en) | Storage of data and signature formed from data and address in a memory | |
JP2004342112A (ja) | エラーチェック訂正技法を用いて不揮発性メモリユニットのデータ保持損に応答する装置及び方法 | |
US11940872B2 (en) | Error correction code validation | |
US6567952B1 (en) | Method and apparatus for set associative cache tag error detection | |
US20030182611A1 (en) | Method for verifying error correction code function of a computer system | |
US10740179B2 (en) | Memory and method for operating the memory | |
US20230386598A1 (en) | Methods for real-time repairing of memory failures caused during operations, memory systems performing repairing methods, and data processing systems including repairing memory systems | |
US20240134743A1 (en) | Electronic device, electronic system, method for operating an electronic device, and method for operating an electronic system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |