CN101866698A - 使用纠错编码电路的安全闪存 - Google Patents

使用纠错编码电路的安全闪存 Download PDF

Info

Publication number
CN101866698A
CN101866698A CN201010164010A CN201010164010A CN101866698A CN 101866698 A CN101866698 A CN 101866698A CN 201010164010 A CN201010164010 A CN 201010164010A CN 201010164010 A CN201010164010 A CN 201010164010A CN 101866698 A CN101866698 A CN 101866698A
Authority
CN
China
Prior art keywords
processor
memory block
accumulator system
data
exception table
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.)
Granted
Application number
CN201010164010A
Other languages
English (en)
Other versions
CN101866698B (zh
Inventor
J·T·柯尼克
R·J·盖尼耶
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN101866698A publication Critical patent/CN101866698A/zh
Application granted granted Critical
Publication of CN101866698B publication Critical patent/CN101866698B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种处理器和存储器系统包括存储器、异常表和处理器。存储器包括多个存储器块。异常表识别所述多个存储器块中包含预期错误的至少一个存储器块。所述处理器根据保存在所述多个存储器块中的至少一个以及所述异常表中的数据来诊断安全故障。

Description

使用纠错编码电路的安全闪存
技术领域
本发明涉及保护存储器中的数据。
背景技术
这里提供的背景描述仅用于大体上介绍本发明的背景。在本背景技术部分描述的程度上,当前署名的发明人的作品以及本描述的在递交申请时可能不构成现有技术的方面,既非明示地也非隐含地被认为是本发明的现有技术。
现在参见图1,其中示出了处理器和存储器系统10的功能框图。处理器100执行保存在存储器中的程序。例如仅作为示例,程序可被保存在位于指令存储器102(例如非易失性存储器104中)、处理器100和/或随机存取存储器(RAM)106中的内存中。例如仅作为示例,程序可包括用于使处理器100向存储器块(memory blocks)108-1、108-2、...、108-n写数据和从存储器块108-1、108-2、...、108-n取回数据的指令,存储器块108-1、108-2、...、108-n整体地被称为存储器块108。
存储器块108包含位数组(bit array)形式的数据。位数组是保存单个比特(individual bits)的数据结构。单个比特可被处理器100取回。并且,处理器100可向存储器块108中写入数据,用于之后使用。当处理器100被指令向存储器块108写入数据时,该数据被传输到纠错编码模块(ECCM)110。
ECCM110检测和纠正存储器块108中的错误。当ECCM110从处理器100接收数据以向存储器块108写入数据时,ECCM 110计算校验和(checksum)。该校验和是各个存储器块108中的一个存储器块中保存的比特的算术和。例如,存储器块108-1中的校验和是存储器块108-1中保存的比特的算术和。
当处理器100被指令从存储器块108中的一个存储器块取回数据时,ECCM110从存储器块108中的所述一个存储器块取回数据,并且检测该数据中是否存在错误。如果存在错误,ECCM110可通过使用相应的校验和来纠正该错误。然后该数据被传输到处理器100。如果存在错误且不可纠正,则ECCM110可指示错误已经发生。
外部装置112可与处理器100通信。外部装置112可从处理器100接收数据或向处理器100发送数据。
发明内容
一种处理器和存储器系统包括存储器、异常表(table ofexceptions)和处理器。所述存储器包括多个存储器块。所述异常表识别所述多个存储器块中包含预期错误的至少一个存储器块。所述处理器根据保存在所述多个存储器块中的至少一个以及所述异常表中的数据来诊断安全故障。
在进一步的特征中,所述异常表随机识别所述多个存储器块中的所述至少一个。在其它特征中,所述多个存储器块中的所述至少一个是预定的。在另外的其它特征中,所述处理器根据所述诊断采取补救措施。在进一步的特征中,所述补救措施包括重置所述处理器和中止操作中的至少一个。
在进一步的特征中,当所述存储器不包含所述预期错误且被所述异常表识别时,所述处理器采取补救措施。在其它特征中,所述处理器和存储器系统进一步包括向所述处理器通知所述预期错误的纠错编码模块(ECCM)。在进一步的特征中,所述预期错误作为无效校验和被保存。在另外的其它特征中,当所述预期错误被访问时,所述ECCM通知所述处理器。
一种数据安全方法包括:识别多个存储器块中包含预期错误的至少一个存储器块,和根据保存在所述多个存储器块中的至少一个中的数据和所述识别来诊断安全故障。
在进一步的特征中,所述数据安全方法进一步包括随机识别所述多个存储器中的所述至少一个。在其它特征中,所述多个存储器中的所述至少一个是预定的。在另外的其它特征中,所述数据安全方法进一步包括根据所述诊断采取补救措施。
在进一步的特征中,所述补救措施包括重置所述处理器和中止操作中的至少一个。在进一步的特征中,所述数据安全方法进一步包括当所述多个存储器块中的所述至少一个不包含所述预期错误且被识别时,采取补救措施。在其它特征中,所述数据安全方法进一步包括向所述处理器通知所述预期错误。
在进一步的特征中,所述数据安全方法进一步包括将所述预期错误作为无效校验和保存。在另外的其它特征中,所述数据安全方法进一步包括当所述预期错误被访问时通知所述处理器。
方案1、一种处理器和存储器系统,包括:
存储器,所述存储器包括多个存储器块;
异常表,所述异常表识别所述多个存储器块中包含预期错误的至少一个存储器块;
处理器,所述处理器根据保存在所述多个存储器块中的至少一个存储器块以及所述异常表中的数据来诊断安全故障。
方案2、如方案1所述的处理器和存储器系统,其中,所述异常表随机识别所述多个存储器块中的所述至少一个存储器块。
方案3、如方案1所述的处理器和存储器系统,其中,所述多个存储器块中的所述至少一个存储器块是预定的。
方案4、如方案1所述的处理器和存储器系统,其中,所述处理器根据所述诊断采取补救措施。
方案5、如方案4所述的处理器和存储器系统,其中,所述补救措施包括重置所述处理器和终止操作中的至少一个。
方案6、如方案4所述的处理器和存储器系统,其中,当所述存储器不包含所述预期错误且被所述异常表识别时,所述处理器采取所述补救措施。
方案7、如方案1所述的处理器和存储器系统,进一步包括向所述处理器通知所述预期错误的纠错编码模块(ECCM)。
方案8、如方案7所述的处理器和存储器系统,其中,所述预期错误作为无效校验和被保存。
方案9、如方案7所述的处理器和存储器系统,其中,当所述预期错误被访问时,所述ECCM通知所述处理器。
方案10、一种数据安全方法,包括:
识别多个存储器块中包含预期错误的至少一个存储器块;
根据保存在所述多个存储器块中的所述至少一个存储器块中的数据和所述识别来诊断安全故障。
方案11、如方案10所述的数据安全方法,进一步包括随机识别所述多个存储器块中的所述至少一个存储器块。
方案12、如方案10所述的数据安全方法,其中,所述多个存储器块中的所述至少一个存储器块是预定的。
方案13、如方案10所述的数据安全方法,进一步包括根据所述诊断采取补救措施。
方案14、如方案13所述的数据安全方法,其中,所述补救措施包括重置所述处理器和终止操作中的至少一个。
方案15、如方案13所述的数据安全方法,进一步包括当所述多个存储器块中的所述至少一个存储器块不包含所述预期错误且被识别时,采取所述补救措施。
方案16、如方案10所述的数据安全方法,进一步包括向所述处理器通知所述预期错误。
方案17、如方案16所述的数据安全方法,进一步包括将所述预期错误作为无效校验和保存。
方案18、如方案16所述的数据安全方法,进一步包括当所述预期错误被访问时通知所述处理器。
本发明的进一步的应用领域将通过下文提供的详细描述而变得明显。应该理解的是,该详细描述和具体示例仅用于描述性目的,而并非旨在限制本发明的范围。
附图说明
通过该详细描述和附图,本发明将得到更全面地理解,附图中:
图1为根据现有技术的处理器和存储器系统10的功能框图;
图2为根据本发明原理的示例性处理器和存储器系统20的功能框图;和
图3为示出了根据本发明原理的数据安全方法的示例性步骤的流程图。
具体实施方式
下面的描述本质上仅为示例性的,绝非旨在限制本发明、其应用或使用。为了清楚的目的,在附图中将使用相同的附图标记来标识相似的元件。如这里所使用的,短语“A、B和C中的至少一个”应该被解释为使用非排他性逻辑“或”的逻辑(A或B或C)。应该理解的是,在不改变本发明的原理的情况下,方法中的步骤可以不同的顺序执行。
如这里所使用的,术语“模块”指的是专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享的、专用的或成组的)和存储器、组合逻辑电路和/或提供所述功能的其它合适的部件。
处理器被设计为调用和执行程序。程序可包括指令以访问包含数据的存储器块。处理器访问的数据可能包含错误。纠错码(errorcorrection code)被用来检测和纠正错误。纠错码的示例包括汉明码(Hamming code)、戈莱码(Golay code)、里德-穆勒码(Reed-Mullercode)、奇偶校验方案(Parity schemes)和重复方案(Repetitionschemes)。检测到的错误可被纠正。如果错误是不可纠正的,则可向处理器通知该错误。
根据本发明的原理,错误可被故意放置到存储器块内。程序可指令处理器从存储器块读取数据。当程序指令处理器从存储器块读取数据时,处理器确定是否存在错误。如果存在错误,则处理器将继续工作;否则,处理器将采取补救措施。
现在参见图2,其中示出了根据本发明原理的处理器和存储器系统20的功能框图。处理器和存储器系统20包括处理器200、指令存储器202、非易失性存储器204、RAM206、ECCM208、存储器块210和存储器块212。
处理器200执行程序。程序可包括用于使处理器200向存储器块210-1、210-2、...、210-n写入数据和从存储器块210-1、210-2、...、210-n取回数据的指令,存储器块210-1、210-2、...、210-n整体地被称为存储器决210。程序可包括用于使处理器200向存储器块212-1、212-2、...、212-n写入数据和从存储器块212-1、212-2、...、212-n取回数据的指令,存储器块212-1、212-2、...、212-n整体地被称为存储器块212。存储器块210和存储器块212保存数据。存储器块210和存储器块212中的至少一个可包括错误。ECCM208检测数据中是否存在错误。如果存在错误,则ECCM208可指示已检测到错误和存在安全故障。
处理器200可诊断该安全故障。程序可指令处理器200访问异常表214。异常表214可识别出存储器块210和存储器块212中包含错误的至少一个存储器块。该被识别出的存储器块可以是预先确定的,或随机确定的。
当程序指令处理器200从存储器块210和存储器块212取回数据时,处理器200确定该存储器块是否在异常表214中被识别。如果该存储器块被识别,则处理器200可预期到错误。当包含该错误的存储器块在异常表214中被识别时,该错误可被预期到。如果存储器块没有被识别,则处理器200不会预期到错误。处理器200可根据所述诊断采取补救措施。例如仅作为示例,补救措施可包括重置或终止操作。
如果处理器200确定该错误被预期到,则处理器200可预见到从ECCM208接收该错误。例如,处理器200可设定标志,用于指示该错误被预期到。如果处理器200接收该错误同时设定标志,则处理器200可继续工作。如果处理器200没有接收该错误同时设定了标志,则处理器200可采取补救措施。
处理器200也可能不会预期到错误。处理器200可暂缓设定指示错误是被预期到的标志。如果处理器200接收错误同时没有设定标志,则处理器200可采取补救措施。如果处理器200没有接收错误,则处理器200可继续工作。
外部装置216可与处理器200通信。外部装置216可从处理器200接收数据或向处理器200发送数据。外部装置216可指令处理器200从存储器块210或存储器块212取回数据或者向存储器块210或存储器块212发送数据。处理器200可在该指令期间采取补救措施。例如,错误可能由于用于改变数据的指令而不复存在,而处理器200可根据异常表214预期到该错误。因此,处理器200可接收该错误而不设定标志。
外部装置216可以不包括用于使处理器200访问异常表214或使处理器200根据异常表214来预见错误的指令。处理器200可接收错误而不设定标志。因此,处理器200可采取补救措施。
现在参见图3,其中流程图示出了根据本发明原理的数据安全方法的示例性步骤。控制在步骤300中开始。在步骤300中,处理器和存储器系统被通电。在步骤302中,控制调用程序。在步骤304中,控制执行来自程序的指令。在步骤305中,控制确定处理器是否被指令访问存储器块。如果处理器没有被指令访问存储器块,则控制返回到步骤304;否则,控制转移到步骤306。
在步骤306中,控制访问异常表。在步骤307中,控制确定处理器是否被指令访问异常表中列出的存储器块。如果异常表中没有列出该存储器块,则控制转移到步骤308;否则,控制转移到步骤310。
在步骤308中,控制访问存储器块。在步骤312中,控制确定是否检测到错误。如果检测到错误,则控制转移到步骤314;否则,控制返回到步骤304。在步骤314中,控制采取补救措施。例如,处理器可终止操作或重置。
在步骤310中,控制设置标志。在步骤316中,控制访问存储器块。在步骤318中,控制确定是否检测到错误。如果检测到错误,则控制转移到步骤320;否则,控制转移到步骤314。在步骤320中,控制清除标志。
现在本领域技术人员通过上文的描述能够认识到,本发明的广义教导可以多种形式实现。因此,尽管本发明包括特定示例,但本发明的真实范围不应该被限制于此,因为在研究了附图、说明书和所附权利要求书之后,其它改型对于本领域技术人员而言将变得显而易见。

Claims (10)

1.一种处理器和存储器系统,包括:
存储器,所述存储器包括多个存储器块;
异常表,所述异常表识别所述多个存储器块中包含预期错误的至少一个存储器块;
处理器,所述处理器根据保存在所述多个存储器块中的至少一个存储器块以及所述异常表中的数据来诊断安全故障。
2.如权利要求1所述的处理器和存储器系统,其中,所述异常表随机识别所述多个存储器块中的所述至少一个存储器块。
3.如权利要求1所述的处理器和存储器系统,其中,所述多个存储器块中的所述至少一个存储器块是预定的。
4.如权利要求1所述的处理器和存储器系统,其中,所述处理器根据所述诊断采取补救措施。
5.如权利要求4所述的处理器和存储器系统,其中,所述补救措施包括重置所述处理器和终止操作中的至少一个。
6.如权利要求4所述的处理器和存储器系统,其中,当所述存储器不包含所述预期错误且被所述异常表识别时,所述处理器采取所述补救措施。
7.如权利要求1所述的处理器和存储器系统,进一步包括向所述处理器通知所述预期错误的纠错编码模块(ECCM)。
8.如权利要求7所述的处理器和存储器系统,其中,所述预期错误作为无效校验和被保存。
9.如权利要求7所述的处理器和存储器系统,其中,当所述预期错误被访问时,所述ECCM通知所述处理器。
10.一种数据安全方法,包括:
识别多个存储器块中包含预期错误的至少一个存储器块;
根据保存在所述多个存储器块中的所述至少一个存储器块中的数据和所述识别来诊断安全故障。
CN201010164010.0A 2009-04-15 2010-04-14 使用纠错编码电路的安全闪存 Expired - Fee Related CN101866698B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/424234 2009-04-15
US12/424,234 US8266454B2 (en) 2009-04-15 2009-04-15 Secure flash memory using error correcting code circuitry

Publications (2)

Publication Number Publication Date
CN101866698A true CN101866698A (zh) 2010-10-20
CN101866698B CN101866698B (zh) 2014-12-17

Family

ID=42958373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010164010.0A Expired - Fee Related CN101866698B (zh) 2009-04-15 2010-04-14 使用纠错编码电路的安全闪存

Country Status (3)

Country Link
US (1) US8266454B2 (zh)
CN (1) CN101866698B (zh)
DE (1) DE102010014655A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514058A (zh) * 2012-06-29 2014-01-15 华为技术有限公司 一种数据失效的处理方法、设备及系统
CN106067326A (zh) * 2015-04-22 2016-11-02 爱思开海力士有限公司 错误校正电路及包括其的半导体存储器件
CN109920462A (zh) * 2019-03-01 2019-06-21 中国科学院微电子研究所 一种数据写入控制电路和控制方法
US10628269B2 (en) 2015-08-28 2020-04-21 Continental Automotive France Method for detecting an uncorrectable error in a non-volatile memory of a microcontroller

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021343B1 (en) 2014-06-13 2015-04-28 Sandisk Technologies Inc. Parity scheme for a data storage device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694454A (en) * 1984-07-27 1987-09-15 Hitachi, Ltd. Dynamic memory diagnosis and error correction apparatus
US20070180328A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Monitoring health of non-volatile memory
US20090037780A1 (en) * 2007-08-03 2009-02-05 Denso Corporation Memory management apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62210547A (ja) * 1986-03-12 1987-09-16 Hitachi Ltd エラ−検出回路の診断方法
US6772289B1 (en) * 2001-12-17 2004-08-03 Lsi Logic Corporation Methods and apparatus for managing cached CRC values in a storage controller
US7403204B2 (en) * 2004-08-23 2008-07-22 Hewlett-Packard Development Company, L.P. Method and apparatus for managing changes in a virtual screen buffer
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management
US7818626B1 (en) * 2007-01-12 2010-10-19 Oracle America, Inc. Memory error injector and associated methods
JP5293062B2 (ja) * 2008-10-03 2013-09-18 富士通株式会社 コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694454A (en) * 1984-07-27 1987-09-15 Hitachi, Ltd. Dynamic memory diagnosis and error correction apparatus
US20070180328A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Monitoring health of non-volatile memory
US20090037780A1 (en) * 2007-08-03 2009-02-05 Denso Corporation Memory management apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514058A (zh) * 2012-06-29 2014-01-15 华为技术有限公司 一种数据失效的处理方法、设备及系统
CN103514058B (zh) * 2012-06-29 2016-06-15 华为技术有限公司 一种数据失效的处理方法、设备及系统
CN106067326A (zh) * 2015-04-22 2016-11-02 爱思开海力士有限公司 错误校正电路及包括其的半导体存储器件
CN106067326B (zh) * 2015-04-22 2020-08-11 爱思开海力士有限公司 错误校正电路及包括其的半导体存储器件
US10628269B2 (en) 2015-08-28 2020-04-21 Continental Automotive France Method for detecting an uncorrectable error in a non-volatile memory of a microcontroller
CN109920462A (zh) * 2019-03-01 2019-06-21 中国科学院微电子研究所 一种数据写入控制电路和控制方法

Also Published As

Publication number Publication date
US20100268988A1 (en) 2010-10-21
CN101866698B (zh) 2014-12-17
US8266454B2 (en) 2012-09-11
DE102010014655A1 (de) 2010-12-09

Similar Documents

Publication Publication Date Title
US9747148B2 (en) Error monitoring of a memory device containing embedded error correction
US8667372B2 (en) Memory controller and method of controlling memory
CN101866698B (zh) 使用纠错编码电路的安全闪存
US10062451B2 (en) Background memory test apparatus and methods
EP3483732B1 (en) Redundant storage of error correction code (ecc) checkbits for validating proper operation of a static random access memory (sram)
WO2017011255A1 (en) Dynamic enabling of redundant memory cells during operating life
US8572444B2 (en) Memory apparatus and testing method thereof
TW200907997A (en) Detection of address decoder faults
JP5082580B2 (ja) メモリシステム、メモリコントローラ、制御方法及び制御プログラム
WO2009082557A1 (en) Prediction and prevention of uncorrectable memory errors
US20170192843A1 (en) Error counters on a memory device
CN103703447A (zh) Mram场的干扰检测和恢复
CN102915260B (zh) 固态硬盘容错的方法及其固态硬盘
US8402327B2 (en) Memory system with error correction and method of operation
KR20180069179A (ko) 메모리 시스템 및 이의 에러 정정 방법
EP3525210B1 (en) Data register monitoring
US7222271B2 (en) Method for repairing hardware faults in memory chips
CN109726030A (zh) 包括用于误差校正电路的响应管理器的存储器架构
CN106067326B (zh) 错误校正电路及包括其的半导体存储器件
US8074120B2 (en) Method for recognizing a power failure in a data memory and recovering the data memory
US9672100B2 (en) Device for managing the storage of data
CN106716387B (zh) 存储器诊断电路
US8151176B2 (en) CPU instruction RAM parity error procedure
US8352817B2 (en) Method for testing a memory device, as well as a control device having means for testing a memory
US20100251019A1 (en) Control device

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141217

Termination date: 20170414