CN116194994A - 用于数据存储器的自诊断的电子电路和方法 - Google Patents
用于数据存储器的自诊断的电子电路和方法 Download PDFInfo
- Publication number
- CN116194994A CN116194994A CN202180048471.8A CN202180048471A CN116194994A CN 116194994 A CN116194994 A CN 116194994A CN 202180048471 A CN202180048471 A CN 202180048471A CN 116194994 A CN116194994 A CN 116194994A
- Authority
- CN
- China
- Prior art keywords
- error
- user data
- error correction
- ram
- 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 175
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004092 self-diagnosis Methods 0.000 title claims abstract description 12
- 238000012937 correction Methods 0.000 claims abstract description 227
- 230000006870 function Effects 0.000 claims description 29
- 230000004807 localization Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 description 15
- 238000001514 detection method Methods 0.000 description 14
- 238000013500 data storage Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 208000011580 syndromic disease Diseases 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000010998 test 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/44—Indication or identification of errors, e.g. for repair
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- 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
- 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
- G11C2029/0409—Online test
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
描述了一种用于数据存储器(RAM)的自诊断的电子电路和方法,所述电子电路和方法包括/使用用于从待写入所述数据存储器(RAM)的用户数据(DIN)生成纠错码(ECCIN)的第一纠错码单元(ECCGEN1)。所述电子电路被布置为当将用户数据和相关的纠错码(ECCIN)写入数据存储器(RAM)时,在写周期中将写入存储器的用户数据(DIN)和相关的纠错码(ECCIN)馈送到错误校验单元(ECCCHK/CORR)中,以在纠错码(ECCIN)与由所述错误校验单元(ECCCHK/CORR)根据所述用户数据(DIN)计算的反校验码(CCCIN)之间存在确定的差异的情况下提供潜在故障标志。
Description
技术领域
本发明涉及一种用于数据存储器的自诊断的电子电路,所述电子电路包括:
-第一纠错码单元,用于从写入数据存储器的用户数据生成纠错码,其中,所述电子电路被布置成将用户数据和相关的纠错码写入数据存储器;
-错误校验单元,用于根据从数据存储器读出的用户数据计算反校验码,并且将该反校验码和与相关的用户数据一起从存储器读出的纠错码进行比较,其中,该错误校验单元被布置成在错误校验码与反校验码之间存在差异的情况下提供错误标志。
本发明还涉及一种用于数据存储器的自诊断的方法,所述方法包括:
a)包括以下步骤的写周期:
-根据被提供以写入数据存储器的用户数据计算纠错码;
-将计算的纠错码和相关的用户数据存储到数据存储器中;
b)以及包括以下步骤的读周期:
-从数据存储器读取用户数据和相关的存储的纠错码;
-根据从数据存储器读出的用户数据计算反校验码;以及
-将从数据存储器读出的纠错码与反校验码进行比较,以在不匹配的情况下提供指示数据存储器发生故障的错误标志。
背景技术
当将数据以电子方式存储在数据存储器中时,可能由于多个原因而发生故障。
为了检测存储器数据损坏,使用纠错码来检测和纠正发生在数据存储器中的n位数据损坏。这样的错误可能是由于多个原因引起的位翻转造成。
已知写入额外的存储器位以记录数据串(例如,单个字节或多个字节)的奇偶性,这允许检测所有的单位错误。还已知使用纠错码(ECC),该纠错码是根据待写入数据存储器的用户数据计算的,并与用户数据一起存储到数据存储器中。纠错码,如单纠错汉明码和双纠错汉明码,允许纠正单位错误和检测双位错误。这可以与额外的奇偶校验位的使用相结合。还已知纠错码用于纠正多位错误。纠错码功能可以与数据存储器装置的逻辑一起在硬件中实现。
G.Tosenovjan:在MPC55XX装置和MPC56XX装置上实现的纠错码(Errorcorrection codes implemented on MPC55XX and MPC56XX devices),NXP-飞思卡尔半导体应用笔记(NXP-free scale semiconductor Application note),文档编号AN 5200,rev.1,12/2015描述了一种在不易容忍软错误引起的数据损坏的应用中与数据存储器一起使用的纠错码功能。例如,通过ECC错误中断来纠正单错误并检测和指示双错误。
1位错误可以通过从数据存储器读出数据并在纠正之后将其写回来进行“物理”修复。
JP-H-08263391A公开了一种包括用于存储纠错码(ECC)的随机存取存储器(RAM)的测试方法的存储器装置。该存储器装置包括用于在ECC生成电路中存储ECC的RAM,以及纠错/错误检测电路。在存储器装置中,ECC生成电路根据从存储器控制装置接收的写数据生成ECC。在纠错/错误检测电路中,从由RAM的信号线指示的地址的ECC生成校正子。如果由校正子检测到的错误的结果是1位错误,则在寄存器中设置经纠错的数据,并且在错误标志中设置1位错误信息。在2位错误的情况下,在错误标志中设置2位错误信息,并且通过信号线将错误标志的内容报告给存储器控制装置。
US 2020/0167230 A1公开了一种用于包括纠错码(ECC)模块的动力传动系控制器的RAM错误检测逻辑的自诊断的方法和装置,所述纠错码模块包括ECC比较器。
提供RAM错误检测逻辑的自诊断以诊断在RAM错误检测逻辑或纠错码ECC模块中是否出现错误。在测试模式的特定测试操作中,对与微控制器单元的第二核一起操作的RAM相对应的纠错码模块执行测试。
当执行每个ECC模块的测试时,由每个核执行的测试包括:通过第一任务校验错误检测功能是否正确地操作,所述第一任务用于对指定值执行OR输入使得在ECC比较器的测试位输入端口中发生错误;通过用于可纠正的错误测试的第二任务校验错误检测功能是否正确地操作,在所述可纠正的错误测试中,通过ECC比较器的输入端口实际输入的一位输入数据被翻转和输入;以及通过用于不可纠正的错误测试的第三任务校验错误检测功能是否正确地操作,在所述不可纠正的错误测试中,通过ECC比较器的输入端口实际输入的两位输入数据被翻转。
发明内容
本发明的目的是提供一种改进的电子电路和方法,用于容易地和安全地监视纠错码单元的故障,所述纠错码单元被提供用于从用户数据生成纠错码(ECC)。
所述目的通过包括权利要求1的特征的电子电路和包括权利要求5的特征的方法来实现。
在从属权利要求中描述了优选实施例。
根据权利要求1的前序部分所述的电子电路还被布置为当将用户数据和相关的纠错码写入数据存储器时,在写周期中将写入数据存储器的用户数据和相关的纠错码馈送到错误校验单元中,以在纠错码与反校验码之间存在确定的差异的情况下提供潜在故障标志。
潜在故障标志指示在纠错码单元中发生的错误。因此,可以容易地监视纠错码单元的功能,而不需要附加的时间,并且仅需要很少的硬件和/或软件资源。
因此,根据本发明,被设计用于读周期以校验所存储的纠错码和根据从数据存储器读出的用户数据计算的反校验码的错误校验单元还被用于写周期,以便校验在写周期中由纠错码单元生成的纠错码。这允许根据ISO标准26262保护存储器和寄存器免受永久故障和瞬时故障的影响,特别是在安全关键应用中。
纠错码单元和错误校验单元是该ISO标准26262的意义内的安全机制。
通过在写周期中使用错误校验单元来监视纠错码单元,两种安全机制都被监视潜在故障的发生。ISO标准26262提到了潜在故障,例如,如果安全机制本身有缺陷,则功能逻辑中的错误将不再被识别。
虽然现有技术的安全机制不是仅在系统启动时经由逻辑BIST(LBIST)校验永久错误,但是在本发明中,不仅在数据存储器的读周期中,而且在其写周期中,通过比较纠错码和相关的反校验码来频繁地监视安全机制。
数据存储器可以是任何数据存储器,特别是随机存取存储器、寄存器或诸如此类。数据存储器可以在单独的集成电路中提供,或者可以是像微处理器、微控制器、FPGA、ASIC或诸如此类的集成电路的一部分。
由于本发明使用包括纠错码单元(ECCGEN)和错误校验单元(ECCCHK/CORR)以相互监视的现有安全机制,因此可以容易地实现电子电路。
优选地,所述电子电路包括至少一个多路复用器单元,使得在写周期中,多路复用器单元将从纠错码单元生成的纠错码(ECC)和存储器的写用户数据切换到错误校验单元(ECCCHK/CORR)。
因此,所述电子电路优选地包括:
-包括第一输入端和第二输入端以及输出端的第一多路复用器,其中,在所述第一多路复用器的第二输入端处提供待写入数据存储器的用户数据,在所述第一多路复用器的第一输入端处提供当从所述数据存储器读出时从所述数据存储器提供的用户数据,并且所述第一多路复用器的输出端连接到错误校验单元的输入端,其中,所述第一多路复用器由数据存储器读/写标志控制,以在读周期中将从所述数据存储器读出的用户数据提供给所述错误校验单元的输入端,并在写周期中将被提供以写入所述数据存储器的用户数据提供给所述错误校验单元的输入端,以及
-具有第一输入端和第二输入端以及输出端的第二多路复用器,其中,在所述第二多路复用器的第二输入端处提供由纠错码单元为待写入所述数据存储器中的用户数据生成的纠错码,在所述第二多路复用器的第一输入端处提供当在读周期中从所述数据存储器读取相关的用户数据时从所述数据存储器读出的纠错码,并且所述第二多路复用器的输出端连接到所述错误校验单元的输入端,其中,所述第二多路复用器由数据存储器读/写标志控制,以在写周期中将直接从所述纠错码单元获得的纠错码提供给所述错误校验单元,并在读周期中提供直接从所述数据存储器获得的纠错码。
第一多路复用器和第二多路复用器可以被提供为单独的电子电路,所述电子电路可以是公共集成电路中的单独的电子部件或单独的功能单元。第一多路复用器和第二多路复用器还可以优选地被设计成集成地形成在公共多路复用器单元中。在读周期中来自数据存储器的数据(存储的纠错码和存储的用户数据)与在写周期中待写入数据存储器的数据(生成的纠错码和用户数据)之间的切换由施加到数据存储器的读和写命令控制,所述读和写命令例如在电子电路的信号线处是可用的。该读/写标志是用于控制所述第一多路复用器和第二多路复用器的一个位信号。
第一多路复用器和第二多路复用器的目的是,将在数据存储器的输入端处提供以待在写周期中写入数据存储器的纠错码和用户数据、或者将数据存储器的输出端处的在读周期中从数据存储器读出的存储的纠错码和存储的用户数据馈送给错误校验单元。
除了多路复用器单元之外,不需要附加的硬件来实现改进的电子电路。此外,由于可以与将数据写入数据存储器并行地执行错误校验单元的功能,因此不存在由附加的安全校验引起的时间延迟。
错误校验单元的输出端可以被提供给至少一个多路复用器的输入端,其中,至少一个多路复用器由读/写标志控制以在写周期中在所述多路复用器的输出端处提供潜在标志,并且提供错误标志作为从数据存储器读出的存储的纠错码(ECC)和根据在读周期中从数据存储器读出的用户数据计算的反校验码(CCC)的比较结果。
优选地,电子电路的错误校验单元还包括被提供用于计算反校验码的第二错误码生成单元。校验码比较单元被布置为将纠错码与反校验码进行比较,并且在所比较的纠错码与反校验码之间存在不匹配的情况下,在检测到可纠正的错误的情况下设置可纠正的错误标志,或者在检测到不可纠正的错误的情况下设置不可纠正的错误标志。在读周期中设置可纠正和不可纠正标志,而在写周期中设置潜在故障标志。
这些错误标志可以向外部发出信号,并进一步在内部用于监视写周期中错误码生成单元的功能。
在进一步改进的实施例中,所述错误校验单元包括被布置为定位通过将纠错码与相应的反校验码进行比较而检测到的故障位的至少一个位位置的错误定位单元。所述错误校验单元被布置为在定位故障位的至少一个位位置或者设置可纠正的错误标志或不可纠正的错误标志的情况下设置潜在故障标志。因此,通过使用可纠正和不可纠正的错误标志来监视写周期中错误码生成单元的功能的结果与故障位的位位置的定位结果相结合,以提供潜在故障标志。
这可以通过使用OR门来实现,其中,错误校验单元包括第一OR门和第二OR门,如果故障位的至少一个位位置由所述第一OR门的输入端处的位向量指示,则所述第一OR门提供标志,如果在所述第二OR门的输入端处设置由所述第一OR门提供的错误标志、可纠正的错误标志和不可纠正的错误标志中的至少一个,则所述第二OR门提供潜在故障标志作为所述第二OR门的输出。
所述错误定位单元适于在写周期和读周期两者中工作。
在一个优选的实施例中,所述电子电路还包括纠错单元,所述纠错单元被设计成在其输出端处提供经纠正的用户数据作为指示在纠错单元的输入端处的用户数据的故障位的位置的错误位置向量的函数。所述错误校验单元还包括比较器单元,所述比较器单元被设计成将所述纠错单元的输入端处的用户数据与所述纠错单元的输出端处的经纠正的用户数据进行比较,以在写周期中在所比较的用户数据与经纠正的用户数据之间不匹配的情况下指示错误标志。这允许在没有任何时间延迟的情况下在数据处理期间对纠正单元的功能进行容易的安全校验。
用于数据存储器的自诊断的方法包括:
a)包括以下步骤的写周期:
-根据被提供以写入数据存储器的用户数据计算纠错码;
-将计算的纠错码和相关的用户数据存储到所述数据存储器中;
b)包括以下步骤的读周期:
-从所述数据存储器中读取用户数据和相关的存储的纠错码;
-根据从所述数据存储器读出的用户数据计算反校验码;以及
-将从所述数据存储器读出的纠错码与所述反校验码进行比较,以在不匹配的情况下提供指示所述数据存储器的故障的错误标志。
写周期中的附加步骤包括:
-根据被提供以写入数据存储器的用户数据计算反校验码,以及
-将计算的纠错码与计算的反校验码进行比较,以在不匹配的情况下提供指示被提供用于计算待在写周期中存储到所述数据存储器中的纠错码的功能的潜在故障的潜在故障标志。
利用上述电子电路执行的方法优选地包括以下进一步的步骤:
-在写周期中,将在纠错码单元的输出端处提供的纠错码和在纠错码单元的输入端处提供的相关的用户数据转发到错误校验单元,以在写周期中在不匹配的情况下提供潜在故障标志;以及
-将在读周期中从数据存储器读出的存储的纠错码和相关的存储的用户数据转发到所述错误校验单元,以提供指示在读周期中所述数据存储器的故障的错误标志。
潜在故障标志指示由纠错码单元和错误校验单元提供的安全功能的潜在故障,所述纠错码单元和错误校验单元用于控制数据存储器以指示数据存储器的任何故障。在写周期中使用纠错码单元和错误校验单元允许对这些安全功能本身进行安全校验。这是有效的,因为纠错码单元的直接输入即用户数据和纠错码单元的直接输出即计算的纠错码被直接馈送到错误校验单元中,而没有中间存储到可能有故障的数据存储器中。在通过纠错码与计算的反校验码之间的不匹配监视到潜在故障的情况下,错误或是由纠错码单元在计算纠错码时引起,或是由错误校验单元在计算反校验码时引起。纠错码单元或错误校验单元中的另一个潜在故障可能是由纠错码单元和错误校验单元的寄存器中的位的翻转引起。
优选地,由错误校验单元纠正用户数据中的1位错误并设置可纠正的错误标志。用户数据中包括多于一位的任何错误可以由错误标志指示为不可纠正的错误而不纠正用户数据。
这种1位错误的纠正可以被限制在读出存储器的数据时的读周期。
在一个优选的实施例中,通过在写周期之后执行读周期来附加性地频繁监视数据存储器,以便立即校验写周期的正确性。
在写周期中,所述方法优选地包括以下步骤:
-根据被提供以写入数据存储器(RAM)的用户数据(DIN)计算纠错码(ECCIN);
-将计算的纠错码(ECCIN)和相关的用户数据(DIN)存储到所述数据存储器(RAM)中;
-根据被提供以写入所述数据存储器(RAM)的用户数据(DIN)计算反校验码(CCCIN);
-将计算的纠错码(ECCIN)与计算的反校验码(CCCIN)进行比较,以在不匹配的情况下提供指示在第一步骤中计算纠错码(ECCIN)中的故障或指示在第三步骤中计算反校验码(CCCIN)中的故障的至少一个错误标志(CERR、UNCERR);
-在计算反校验码(CCCIN)时,检测在所处理的用户数据(DIN)中由故障引起的被识别为有故障的位的位位置;以及
-校验是否设置了可纠正的错误标志(CERR)、不可纠正的错误标志(UNCERR)中的至少一个或者是否检测到包括故障位的至少一个位位置,并且在设置了可纠正的错误标志(CERR)和不可纠正的错误标志(UNCERR)中的至少一个或者检测到包括故障位的至少一个位位置的情况下设置潜在故障标志。
因此,写周期还用于监视纠错码和反校验码的计算的功能。
在读周期中,所述方法优选地包括以下步骤:
-从数据存储器(RAM)读取用户数据(DOUT)和相关的存储的纠错码(ECCOUT);
-根据从所述数据存储器(RAM)读出的用户数据(DOUT)计算反校验码(CCCOUT);和
-将从所述数据存储器(RAM)读出的纠错码(ECCOUT)与计算的反校验码(CCCOUT)进行比较,以在不匹配的情况下提供指示所述数据存储器(RAM)的故障的至少一个错误标志(CERR、UNCERR);
-检测从所述数据存储器(RAM)读出的用户数据(DOUT)中的故障位的位位置;以及
-校验是否设置了可纠正的错误标志(CERR)、不可纠正的错误标志(UNCERR)中的至少一个或者是否检测到包括故障位的至少一个位位置,并且在设置了可纠正的错误标志(CERR)和不可纠正的错误标志(UNCERR)中的至少一个或者检测到包括故障位的至少一个位位置的情况下设置潜在故障信号。
因此,读周期还用于监视故障位的位位置的检测的功能。
优选地,所述方法包括在读周期中在所指示的位位置处纠正从数据存储器(RAM)读出的用户数据(DOUT)中的故障位的步骤。
当由于检测或纠正逻辑中的故障、例如通过翻转位而非预期地纠正用户数据时,在检测或纠正逻辑中可能发生未检测到的错误。这样的错误可以在接收器侧在经纠正的用户数据的后续处理中被检测到。可以将读周期中的经纠正的用户数据(DOUT)与从数据存储器(RAM)读出的纠错码(ECCOUT)一起提供给接收器。可以例如通过使用ECC保护的数据总线来转发用户数据。接收到的经纠正的用户数据(DOUT)的非预期纠正可以通过接收器侧的纠错校验ECCCHK来检测。对接收到的经纠正的用户数据(DOUT)和接收到的纠错码(ECCOUT)执行纠错校验ECCCHK。在发送器侧不使用ECC保护的存储器的情况下,发送器基于经纠正的用户数据(DOUT)生成正确的纠错码ECCGEN。在这种情况下,数据总线由正确的用户数据DOUT和相应的纠错码ECCGEN保护。
在另一个实施例中,将用户数据(DIN、DOUT)与在纠正所述用户数据(DIN、DOUT)中的故障位的步骤中纠正的经纠正的用户数据(DOUT、CORR)进行比较。在所比较的用户数据(DIN、DOUT)和经纠正的用户数据(DOUT、CORR)之间不匹配的情况下,指示错误标志。这允许在没有任何时间延迟的情况下在数据处理期间对纠正单元的功能进行容易的安全校验,并且还允许使用写周期来监视故障位的位位置的检测和纠正的功能。
附图说明
本发明由所附附图中的示例性实施例公开。附图显示:
图1-根据现有技术的电子电路的框图;
图2-根据本发明的电子电路的一个示例性实施例的框图;
图3a)-用于图2中的电子电路的包括纠错单元的错误校验单元的一个示例性实施例的框图;
图3b)-包括用于纠错单元的安全校验的附加比较器的图3a)中的错误校验单元的框图;
图4-用于数据存储器的自诊断的方法的流程图;
图5a)-包括写周期中的纠正步骤的图4的改进方法的流程图;
图5b)-包括读周期中的纠正步骤的图4的改进方法的流程图;
图6-电子电路与接收器通过包括接收器侧的附加错误校验单元的数据总线互连的框图。
具体实施方式
图1示出了用于根据现有技术的数据存储器RAM的自诊断的根据现有技术的电子电路的框图。用户数据DIN(31...0)由用户提供,以被写入数据存储器RAM,从而将该数据存储在特定位置。用户数据DIN是包括多个位的数据分组,即一个字节或如所指示的多个字节且每个字节包括8位(例如4字节数据分组)。数据分组还可以包括用户数据DIN以及数据存储器RAM的存储地址。
存储在数据存储器RAM中的用户数据DIN可以被读出,其在下文中被称为存储的用户数据DOUT(31...0)。
为了连续地校验数据存储器RAM的功能,提供了第一纠错码单元ECCGEN1,所述第一纠错码单元ECCGEN1被设计成根据提供的待写入数据存储器RAM的用户数据DIN(31...0)计算纠错码ECCIN。
所述写用户数据DIN(31...0)被馈送到第一纠错码单元ECCGEN1,所述第一纠错码单元ECCGEN1根据待存储到数据存储器RAM中的用户数据DIN(31...0)计算纠错码ECCIN。所采用的函数可以是例如汉明码、HSIAO码、里德-所罗门码(Reed Solomon code)或诸如此类。这可以在硬件中实现,作为由软件算法控制的可编程逻辑单元,或者完全在电子电路的数据处理器上运行的软件中实现。
然后,由第一纠错码单元ECCGEN1计算的纠错码ECCIN与相关的用户数据DIN(31...0)一起存储在数据存储器RAM中。
这是由信号线上的指示用于将数据存储到数据存储器RAM中的写周期的写标志WR控制的。
数据存储器RAM的数据的读出是由读标志控制的,所述读标志例如是信号线上的写标志WR的反相。
在读周期中,用户数据DOUT(31...0)与相关的存储的纠错码ECCOUT一起被读出,并且被转发到错误校验单元ECCCHK。错误校验单元被设计成根据从数据存储器RAM读出的用户数据DOUT(31...0)计算反校验码CCCOUT,并将反校验码CCCOUT与在读周期中同相关的用户数据DOUT(31...0)一起从数据存储器RAM读出的纠错码ECCOUT进行比较。
校验和读取周期确定存储的和读出的纠错码ECCOUT是否类似于计算的反校验码CCCOUT,该计算的反校验码CCCOUT是根据从数据存储器RAM读出的用户数据DOUT(31...0)计算的。
在数据存储器RAM例如通过翻转至少一个位而发生故障的情况下,在纠错码ECCOUT与计算的反校验码CCCOUT之间存在差异。错误校验单元ECCCHK为可纠正的错误CERR和不可纠正的错误UNCERR提供错误标志。
在一个优选的实施例中,错误校验单元ECCCHK包括在出现错误的情况下纠正用户数据DOUT(31...0)的纠正单元。1位错误可以被容易地纠正,使得错误标志ERR指示可纠正的错误CERR。在错误不可纠正的情况下,这由不可纠正的错误标志UNCERR指示。
在错误校验单元ECCCHK的输出端处,提供从数据存储器RAM读出并且必要时由纠正逻辑纠正的用户数据DOUT(31...0)。
这种现有技术的电子电路被设计成通过用纠错码的保护来保护数据存储器RAM免受瞬时错误和永久错误的影响。
纠错码ECC的使用使得能够检测和纠正数据存储器RAM中的1位错误,并且能够检测多于一个位错误,即2位错误。
例如,可以根据例如被提供以借助于硬件ECCGEN写入数据存储器RAM的32位用户数据DIN(31...0)计算相应的7位纠错码ECC,其中,纠错码ECC与用户数据DIN(31...0)一起被写入数据存储器RAM。
当例如从数据存储器RAM的存储器线读出时,利用另一硬件单元,即错误校验单元ECCCHK,对照也已经读出的纠错码ECCOUT校验读出的用户数据DOUT(31...0)。
如果用户数据DOUT(31...0)中出现1位错误,则经由错误校验单元ECCCHK识别所述错误,并经由硬件ECCORR纠正所述错误,并且设置可纠正的错误标志CERR。
如果用户数据DOUT(31...0)中出现任何2位错误,则经由错误校验单元ECCCHK识别所述错误,并且设置不可纠正的错误标志UNCERR。
第一纠错码单元ECCGEN1和错误校验单元ECCCHK是ISO标准26262意义内的安全机制。纠错单元ECCCORR的功能在读周期中是安全关键的,因为对输出数据的非预期纠正将使得后续系统以错误数据工作。该标准仅要求必须报告错误,但不需要纠正错误,从而电子电路中的纠正单元和用于控制纠正单元在写周期中的功能的相应安全监视程序是可选的。
根据ISO标准26262,如果例如安全机制本身有缺陷,从而功能逻辑中的错误不再被识别,则存在潜在故障。根据图1的现有技术的安全机制不校验安全机制,或者仅在系统经由逻辑BIST(LBIST)启动时校验安全机制的永久错误。
图2示出了根据本发明的电子电路的框图。该电子电路包括数据存储器RAM、第一纠错码单元ECCGEN1和错误校验单元ECCCHK以及根据图1的根据现有技术的电子电路的AND-逻辑(&_1)。
此外,提供了第一多路复用器MUX_1和第二多路复用器MUX_2,其中,第一多路复用器MUX_1和第二多路复用器MUX_2的两个输出端都连接到错误校验单元ECCCHK的输入端。
第一多路复用器MUX_1的第一输入端连接到数据存储器RAM,以将从数据存储器RAM读出的用户数据DOUT(31...0)提供给第一多路复用器的输入端。
第一多路复用器MUX_1的第二输入端连接到写用户数据DIN(31...0),所述写用户数据DIN(31...0)由用户提供以写入数据存储器RAM。
第二多路复用器MUX_2的第一输入端连接到数据存储器RAM,以提供存储的纠错码ECCOUT,该存储的纠错码ECCOUT与提供给第一多路复用器MUX_1的第一输入端的用户数据DOUT(31...0)相关。
第二多路复用器MUX_2的第二输入端连接到第一纠错码单元ECCGEN1的输出端,以将计算的纠错码ECCIN提供给第二多路复用器的输入端。
第一和第二多路复用器MUX_1和MUX_2除了由与数据存储器RAM相关的芯片选择CS信号控制之外,还由信号线上的写标志和读标志控制。
当写标志与芯片选择CS命令一起出现在数据存储器RAM以及第一多路复用器MUX_1和第二多路复用器MUX_2上时,第二输入端被选择用于写周期,以将用户数据DIN(31...0)和直接从第一纠错码单元ECCGEN1获得的并作为用户数据DIN(31...0)的函数计算的且待写入数据存储器RAM的纠错码ECC提供给错误校验单元ECCCHK的输入端。在该写周期中,错误校验单元根据被提供以写入数据存储器RAM的用户数据DIN(31...0)计算反校验码CCC,并对照该反校验码CCC校验直接从第一纠错码单元ECCGEN1获得的纠错码ECC。错误校验单元计算错误标志,所述错误标志通过使用第二AND-逻辑&_2被处理为潜在故障标志,所述第二AND-逻辑&_2由信号线上的写标志和芯片选择标志(WR&CS)控制,所述写标志和芯片选择标志指示写数字存储器RAM的实际写周期。
在错误校验单元ECCCHK检测到不匹配的情况下,设置潜在故障标志,即数字“1”位,指示由第一纠错码单元ECCGEN1和错误校验单元ECCCHK提供的安全机制的故障。
在读周期中,由于读标志(写标志的反相),第二AND-逻辑被禁用。因此,当错误校验单元ECCCHK在错误校验单元的输出端处指示错误标志中的不可纠正的错误时,第一AND-逻辑&_1被启用。因此,第一AND-逻辑的输出端提供可纠正的错误CERR和不可纠正的错误UNCERR的指示。可纠正的存储器错误的重复指示指示了存储器中的潜在故障,具有不可纠正的错误的风险。
在该读周期中,从数据存储器(RAM)读出的存储的纠错码ECCOUT和存储的用户数据DOUT(31...0)被转发到错误校验单元ECCCHK的输入端,以对照作为存储的读出的用户数据DOUT(31...0)的函数计算的反校验码CCC来反校验存储的纠错码ECCOUT。
这是对应于用图1所解释的现有技术解决方案的功能。
因此,图2中的电子电路使用由第一纠错码单元ECCGEN1和错误校验单元ECCCHK建立的现有安全机制,以在写周期中相互监视。在写周期中,由第一纠错码单元ECCGEN1生成的纠错码ECC和数据存储器RAM的写用户数据DIN(31...0)通过包括第一多路复用器和第二多路复用器的多路复用器单元被切换到错误校验单元ECCCHK。
如果在第一纠错码单元ECCGEN1或在错误校验单元ECCCHK中存在1位错误或双位错误,则将经由潜在故障标志来识别和发信号通知该1位错误或双位错误。
每次对数据存储器RAM进行写访问时,无需使用任何具有高诊断覆盖率(DC)的软件即可校验安全机制。诊断覆盖率DC为100%。
在写周期中,简单地通过将现有的纠错码ECC和用户数据DIN(31...0)转发到错误校验单元ECCCHK并且也在该写周期中运行该错误校验单元ECCCHK,与将用户数据DIN(31...0)写入数据存储器并行地进行对安全机制的监视。
电子电路可以完全在硬件中实现为数据存储器RAM集成电路的一部分或更大的逻辑结构的一部分,所述更大的逻辑结构例如微控制器、微处理器、FPGA、ASIC或包括存储器单元的其它逻辑电路。本发明意义上的存储器单元还包括数据寄存器。电子电路可以与任何类型的存储器结合地设计,包括RAM存储器、寄存器、非易失性存储器或诸如此类。
图3a)是用于图2中的电子电路的包括纠错单元ECCCOR的错误校验单元ECCCHK/CORR的一个示例性实施例的框图。
ISO 26262的安全目标并未规定必须纠正由错误标志(CERR、UNCERR、潜在故障)标记的错误。然而,如果不存在错误,则在读期间可以不执行错误纠正。
纠错逻辑ECCCOR或错误校验逻辑ECCCHK中的导致对初始日期的“非预期”纠正的错误将违反ISO 26262的安全目标,因为系统将继续使用不正确的数据运行。因此,有利的是,在写周期期间已经监视纠正逻辑ECCCOR的大部分,其可以是错误校验单元ECCCHK/CORR的一部分。
可以通过图3的框图中示例性示出的逻辑来完成在写周期期间对两个故障情况的简单且快速的校验。
错误校验单元ECCCHK/CORR包括第二纠错码单元ECCGEN2,用于与图2所示的被提供以计算纠错码ECCIN的第一纠错码单元ECCGEN1类似地计算反校验码CCCOUT。对于在写周期中存储在数据存储器中的用户数据DIN(31...0)和在读周期中从存储器RAM读出的用户数据DOUT(31...0),这在每个周期、即读周期和写周期中发生。错误校验功能ECCCHK将纠错码ECCIN与反校验码CCCOUT进行比较,并且在检测到可纠正的例如1位错误的情况下设置可纠正的错误标志CERR,或者在检测到不可纠正的例如多位错误的情况下设置不可纠正的错误标志UNCERR。
标志可以是数字状态(0或1),其中,数字0可以指示没有错误,即分别地对于CERR标志指示没有可纠正的错误或对于UNCERR标志指示没有不可纠正的错误,并且数字1可以指示错误,即分别地对于CERR标志指示可纠正的错误或对于UNCERR标志指示不可纠正的错误。
在读周期中,这些CERR标志和UNCERR标志在&_1逻辑的输出端处被指示。
错误校验单元ECCCHK/CORR还包括被布置为定位故障位的至少一个位位置的错误定位单元ERRLOC。错误定位单元ERRLOC将纠错码ECCIN与相应的反校验码CCCOUT进行比较,并提供位向量(31...0)指示,例如在故障位位置处的位向量中的数字1和在正确位位置处的数字0。错误定位单元ERRLOC可以被设计成32位向量门,其具有8位纠错码ECCIN和8位反校验码CCCOUT作为输入数据以及32位错误位置向量作为输出。
错误位置向量被转发到纠错单元ECCCOR的输入端,以纠正被提供给纠错单元ECCCOR的第二输入端的用户数据DIN(31...0)的位。纠错单元ECCCOR可以被设计成切换由错误位置向量指示为故障的相应位。纠错单元ECCCOR的输出端提供经纠正的用户数据DOUT(31...0)。
(例如32位)错误位置向量被转发到第一OR门OR1的输入端,一旦错误位置向量的至少一个位指示故障位的存在,所述第一OR门OR1就在输出端处指示错误标志。
为了监视错误控制逻辑的功能,为读周期和写周期都执行提供CERR/UNCERR标志的错误校验功能。CERR/UNCERR标志在内部被用作第二OR门OR2的输入,以在错误校验逻辑在读或写周期中检测到指示可纠正或不可纠正错误的错误的情况下提供潜在故障标志。这样的错误指示第一或第二错误码生成单元ECCGEN1/2发生故障。
指示错误标志的第一OR门OR1的输出端也被转发到第二OR门OR2的输入端,以在错误定位单元ECCLOC检测到错误的情况下提供潜在故障标志。
至少错误定位单元ERRLOC在读和写周期中运行。纠错单元ECCCOR也可以在写周期中工作,即使在其输出端得到的经纠正的用户数据DOUT(31...0)对于该写周期是未使用的。
可以区分两种错误:
a)在写或读周期中,被提供用于计算纠错码ECCIN的第一错误码生成单元ECCGEN1中的错误或被提供用于计算反校验码CCCOUT的第二错误码生成单元ECCGEN2中的错误;
b)第一和第二错误码生成单元ECCGEN1/2是无错误的,但是错误定位逻辑ECCLOC有故障,这将导致数据的不正确纠正。
对于第一错误类型a),在这两种情况下,可纠正的错误CERR标志或不可纠正的错误UNCERR标志将在ECCCHK/CORR模块中被内部识别。由于第二OR门OR2,这随后就导致潜在故障标志的设置。
对于第二错误类型b),也将设置潜在故障标志。在ECCCHK通过比较纠错码ECCIN和反校验码CCCOUT没有指示任何错误,但是错误定位单元ERRLOC通过分析相同的纠错码ECCIN和反检验码CCCOUT定位了故障位位置的情况下,在错误定位单元ERRLOC中存在故障。这由第二OR逻辑OR2在第一OR门OR1的输出端处对CERR标志、UNERR标志和错误标志进行检测。
通常可以说,写周期期间的每次纠正都会导致潜在故障标志的设置,而与错误是位于ECCGEN还是ECCCHK还是ERRLOC逻辑无关。
图3b)是图3a)中所示的错误校验单元ECCCHK/CORR的一个示例性改进实施例的框图。此外,错误校验单元ECCCHK/CORR包括被提供用于在写周期中对纠错单元ECCCOR进行功能校验的可选的比较器COMP。在被设计用于将用户数据DIN、DOUT与经纠正的用户数据DOUT、CORR进行比较的比较器的输入端处,提供在纠错单元ECCCOR的输入端处的用户数据DIN、DOUT和在纠错单元ECCCOR的输出端处的经纠正的用户数据DOUT、CORR。在写周期WR中这两个用户数据与经纠正的用户数据之间不匹配的情况下,指示错误标志,所述错误标志被转发到第二OR门OR2的输入端。
纠错逻辑ECCCOR的任何故障由第二OR逻辑OR2对CERR标志、UNCERR标志、第一OR门OR1输出端处的错误标志和比较器COMP的错误标志进行检测。
写周期包括以下步骤:
W1)根据被提供以写入数据存储器RAM的用户数据DIN(31...0)计算纠错码ECC;以及
W2)将计算的纠错码ECC和相关的用户数据存储到数据存储器中,所述W2)通过优选地与步骤W1)并行地执行以下附加步骤来进行:
W3)根据被提供以写入数据存储器RAM的用户数据DIN(31...0)计算反校验码CCC;以及
W4)将计算的纠错码ECC与计算的反校验码CCC进行比较,以在不匹配的情况下提供潜在故障标志,所述潜在故障标志指示被提供用于计算待在写周期WR中存储到数据存储器RAM中的纠错码ECC的功能的潜在故障。
R1)从数据存储器RAM读取用户数据DOUT(31...0)和相关的存储的纠错码ECCOUT,
R2)根据从数据存储器RAM读出的用户数据DOUT(31...0)计算反校验码CCC,以及
R3)将从数据存储器RAM读出的纠错码ECC与反校验码CCC进行比较,以在不匹配的情况下提供指示数据存储器RAM的故障的至少一个错误标志CERR、UNCERR。
图5示出了图4中的方法的改进的流程图,所述改进的流程图包括以下修改的和附加的步骤:
W4)将计算的纠错码ECC与计算的反校验码CCC进行比较,以在不匹配的情况下提供指示在写周期WR中在步骤W1)中计算纠错码ECC中或在步骤W3)中计算反校验码CCC中的故障的至少一个错误标志CERR、UNCERR;
W5/R4)检测在写周期中被提供以写入数据存储器RAM的用户数据DIN(31...0)中的或在读周期中从数据存储器RAM读出的用户数据DOUT(31...0)中的故障位的位位置,
W6/R5)校验在步骤W4/R3)中是否设置了可纠正的错误标志CERR、不可纠正的错误标志UNCERR中的至少一个,或者在步骤W5/R5)中是否检测到包括故障位的至少一个位位置。
在步骤W6/R5中,在设置了可纠正的错误标志(CERR)和不可纠正的错误标志(UNCERR)中的至少一个或者检测到包括故障位的至少一个位位置的情况下,设置潜在错误标志。
在读周期中,进一步改进的方法包括以下步骤:
W7/R6)在步骤W5/R4)中所示的位位置处,例如通过切换相应的位,纠正在读周期中从数据存储器RAM读出的用户数据DOUT(31...0)中的故障位。
步骤W7/R6不被监视,并且在该步骤中可能发生故障,例如由于故障存储器或寄存器或者由于纠正步骤W7中的切换错误。当在步骤W7/R6的输出端处提供经纠正的用户数据DOUT(31...0)以及从数据存储器(RAM)读出的纠错码(ECCOUT)时,这可以在接收器侧被检测到。这样的成对的用户数据和相关的纠错码可以被给予例如ECC保护的数据总线并且被转发到接收器,其中接收器执行上述ECC校验ECCCHK。在这种情况下,发送器侧的错误纠正将被接收器系统检测到。
图6示出了包括数据存储器RAM和包含纠错单元CORR的错误校验单元ECCCHK的电子电路的一部分的互连的框图。错误校验单元ECCCHK/CORR的输出端连接到数据总线B,使得纠错码ECCOUT和相关的经纠正的用户数据DOUT(31...0)经由数据总线B通信到至少一个接收器。在数据总线B的底部处示出了接收器及其与本发明相关的部件。在接收器侧,接收器包括附加的错误校验单元ECCCHK。
根据通过使用控制多路复用器的配置信号CONFIG的配置,在错误校验单元ECCCHK的输入端处提供纠错码ECCOUT或由发送器的纠错码单元ECCGEN计算的生成的纠错码ECCGEN。在错误校验单元ECCCHK的另一个输入端处存在经纠正的用户数据DOUT(31...0)。因此,错误校验单元ECCCHK能够校验纠错码ECCOUT和接收到的经纠正的用户数据DOUT(31...0)的有效性。
在数据总线的输入端处提供用于提供由ECC控制的数据总线的附加ECCGEN逻辑,例如如在数据存储器单元中实现的特征的情况下,当经由数据总线将经纠正的用户数据DOUT(31...0)和纠错码(ECCOUT)的对通信到接收器时,建议禁用该ECCGEN逻辑。由于经纠正的用户数据DOUT和ECCOUT的对将总是正确的,所以在数据总线的输入端处使用附加的ECC校验逻辑是适得其反的。
用户数据的非预期纠正可以由保护数据总线的接收器侧的ECC校验逻辑ECCCHK监视。数据总线上的不正确的用户数据DOUT将被目的地检测到。在纠正逻辑中没有故障的情况下,通过使用纠正的数据和相关且正确的错误校验码来保护数据总线。
Claims (16)
1.一种用于数据存储器(RAM)的自诊断的电子电路,其包括:
-第一纠错码单元(ECCGEN1),用于从待写入数据存储器(RAM)的用户数据(DIN)生成纠错码(ECCIN),其中,所述电子电路被布置成能够将所述用户数据(DIN)和相关的纠错码(ECCIN)写入所述数据存储器(RAM);
-错误校验单元(ECCCHK/CORR),用于根据从所述数据存储器(RAM)读出的用户数据(DOUT)计算反校验码(CCCOUT),并将所述反校验码(CCCOUT)和与相关的用户数据(DOUT)一起从所述数据存储器(RAM)读出的纠错码(ECCOUT)进行比较,其中,所述错误校验单元(ECCCHK/CORR)被设置成能够在所述错误校验码(ECCOUT)与所述反校验码(CCCOUT)之间存在差异的情况下提供错误标志(CERR/UNCERR),
其特征在于:
所述电子电路被布置为:当将所述用户数据和相关的纠错码(ECCIN)写入所述数据存储器(RAM)时,在写周期中将写入所述数据存储器中的所述用户数据(DIN)和所述相关的纠错码(ECCIN)馈送到所述错误校验单元(ECCCHK/CORR),以在所述纠错码(ECCIN)与由所述错误校验单元(ECCCHK/CORR)根据所述用户数据(DIN)计算的反校验码(CCCIN)之间存在确定的差异的情况下提供潜在故障标志。
2.根据权利要求1所述的电子电路,其特征在于,所述电子电路包括:
-包括第一输入端和第二输入端以及输出端的第一多路复用器(MUX_1),其中,在所述第一多路复用器(MUX_1)的第二输入端处提供待写入所述数据存储器(RAM)的用户数据(DIN),在所述第一多路复用器的第一输入端处提供当从所述数据存储器(RAM)读出时从所述数据存储器(RAM)提供的用户数据(DOUT),并且所述第一多路复用器(MUX_1)的输出端连接到所述错误校验单元(ECCCHK/CORR)的输入端,其中,所述第一多路复用器(MUX_1)由数据存储器读/写标志控制,以在读周期中将从所述数据存储器(RAM)读出的用户数据(DOUT)提供给所述错误校验单元(ECCCHK/CORR)的输入端,并在写周期中将被提供以写入所述数据存储器(RAM)的用户数据(DIN)提供给所述错误校验单元(ECCCHK/CORR)的输入端,以及
-具有第一输入端和第二输入端以及输出端的第二多路复用器(MUX_2),其中,在所述第二多路复用器(MUX_2)的第二输入端处提供由第一纠错码单元(ECCGEN1)为待写入所述数据存储器(RAM)的用户数据(DIN)生成的纠错码(ECCIN),在所述第二多路复用器(MUX_2)的第一输入端处提供当在读周期中从所述数据存储器(RAM)读取相关的用户数据(DOUT)时从所述数据存储器(RAM)读出的纠错码(ECCOUT),并且所述第二多路复用器(MUX_2)的输出端连接到所述错误校验单元(ECCCHK/CORR)的输入端,其中,所述第二多路复用器(MUX_2)由所述数据存储器读/写标志控制,以在写周期中将直接从所述第一纠错码单元(ECCGEN1)获得的纠错码(ECCIN)提供给所述错误校验单元(ECCCHK/CORR),并在读周期中提供直接从所述数据存储器(RAM)获得的纠错码(ECCOUT)。
3.根据权利要求2所述的电子电路,其特征在于,所述第一多路复用器(MUX_1)和所述第二多路复用器(MUX_2)集成地形成在公共多路复用器单元中。
4.根据前述权利要求中任一项所述的电子电路,其特征在于,所述错误校验单元(ECCCHK/CORR)的输出端被提供给至少一个逻辑单元(&_1、&_2)的输入端,其中,所述至少一个逻辑单元(&_1、&_2)由所述读/写标志控制,以在写周期中在所述至少一个逻辑单元(&_1、&_2)的输出端处提供所述潜在故障标志作为根据被提供以写入数据存储器的用户数据(DIN)计算的计算的纠错码(ECCIN)与根据在写周期中待写入数据存储器(RAM)的所述用户数据(DIN)计算的反校验码(CCCIN)的比较结果,并提供错误标志(CERR/UNCERR)作为从数据存储器读取的存储的纠错码(ECCOUT)与根据在读周期中从数据存储器(RAM)读出的用户数据(DOUT)计算的反校验码(CCCOUT)的比较结果。
5.根据前述权利要求中任一项所述的电子电路,其特征在于,所述错误校验单元(ECCCHK/CORR)包括第二错误码生成单元(ECCGEN2)和校验码比较单元(ECCCHK),所述第二错误码生成单元(ECCGEN2)被提供用于计算所述反校验码(CCCOUT),所述校验码比较单元(ECCCHK)被布置为将所述纠错码(ECCIN)与所述反校验码(CCCOUT)进行比较,并且在所比较的纠错码(ECCIN)与所述反校验码(CCCOUT)之间不匹配的情况下,即在检测到可纠正的错误的情况下设置可纠正的错误标志(CERR),或者在检测到不可纠正的错误的情况下设置不可纠正的错误标志(UNCERR)。
6.根据权利要求5所述的电子电路,其特征在于,所述错误校验单元(ECCCHK/CORR)包括被布置为定位通过将所述纠错码(ECCIN)与相应的反校验码(CCCOUT)进行比较而检测到的故障位的至少一个位位置的错误定位单元(ERRLOC),其中,所述错误校验单元(ECCCHK/CORR)被布置为在定位故障位的至少一个位位置或者设置可纠正的错误标志(CERR)或不可纠正的错误标志(UNCERR)的情况下设置潜在故障标志,并且,所述错误定位单元(ERRLOC)适于在写周期和读周期两者中工作。
7.根据权利要求6所述的电子电路,其特征在于,所述错误校验单元(ECCCHK/CORR)包括第一OR门(OR1)和第二OR门(OR2),如果故障位的至少一个位位置在所述第一OR门(OR1)的输入端处由位向量指示,则所述第一OR门(OR1)提供标志,如果在所述第二OR门(OR2)的输入端处设置由所述第一OR门(OR1)提供的错误标志、可纠正的错误标志(CERR)和不可纠正的错误标志(UNCERR)中的至少一个,则所述第二OR门(OR2)提供潜在故障信号作为所述第二OR门(OR2)的输出。
8.根据前述权利要求中任一项所述的电子电路,其特征在于,所述错误校验单元(ECCCHK/CORR)包括纠错单元(ECCCOR),所述纠错单元(ECCCOR)被设计成能够根据在所述纠错单元(ECCCOR)的输入端处指示用户数据(DIN、DOUT)的故障位的位置的错误位置向量来在其输出端处提供经纠正的用户数据(DOUT、CORR),其中,所述错误校验单元(ECCCHK/CORR)还包括比较器单元,所述比较器单元被设计成将在所述纠错单元(ECCCOR)的输入端处的用户数据(DIN、DOUT)与所述纠错单元(ECCCOR)的输出端处的经纠正的用户数据(DOUT、CORR)进行比较,以在写周期中在所比较的用户数据(DIN、DOUT)与经纠正的用户数据(DOUT、CORR)之间不匹配的情况下指示错误标志。
9.一种用于数据存储器的自诊断的方法,其包括:
a)包括以下步骤的写周期:
-根据被提供以写入数据存储器(RAM)的用户数据(DIN)计算纠错码(ECCIN);
-将计算的纠错码(ECCIN)和相关的用户数据(DIN)存储到所述数据存储器(RAM)中;
b)包括以下步骤的读周期:
-从所述数据存储器(RAM)读取用户数据(DOUT)和相关的存储的纠错码(ECCOUT);
-根据从所述数据存储器(RAM)读出的用户数据(DOUT)计算反校验码(CCCOUT);以及
-将从所述数据存储器(RAM)读出的所述纠错码(ECCOUT)与所述反校验码(CCCOUT)进行比较,以在不匹配的情况下提供指示所述数据存储器(RAM)的故障的错误标志;
其特征在于,所述方法在写周期中还包括以下附加步骤:
-根据被提供以写入所述数据存储器(RAM)的用户数据(DIN)计算反校验码(CCCIN),以及
-将计算的纠错码(ECCIN)与计算的反校验码(CCCIN)进行比较,以在不匹配的情况下提供潜在故障标志,所述潜在故障标志指示被提供用于计算待在写周期中存储到所述数据存储器(RAM)中的纠错码(ECCIN)的功能的潜在故障。
10.根据权利要求9所述的、利用根据前述权利要求1至8中任一项所述的电子电路来实现的方法,其特征在于:
-在写周期中,将在纠错码单元(ECCGEN)的输出端处提供的纠错码(ECCIN)和在纠错码单元(ECCGEN)的输入端处提供的相关的用户数据(DIN)转发到错误校验单元(ECCCHK/CORR),以在写周期中在不匹配的情况下提供潜在故障标志;以及
-将在读周期中从数据存储器(RAM)读出的存储的纠错码(ECCOUT)和相关的存储的用户数据(DOUT)转发到所述错误校验单元(ECCCHK/CORR),以在读周期中提供指示所述数据存储器(RAM)的故障的错误标志。
11.根据权利要求9或10所述的方法,其中,纠正所述用户数据(DIN、DOUT)中的1位错误,并设置可纠正的错误标志,并且,所述错误标志将所述用户数据(DIN、DOUT)中的包括多于1位的任何错误指示为不可纠正的错误而不纠正所述用户数据(DIN、DOUT)。
12.根据权利要求9至11中任一项所述的方法,其特征在于,所述写周期包括以下步骤:
-根据被提供以写入数据存储器(RAM)的用户数据(DIN)计算纠错码(ECCIN);
-将计算的纠错码(ECCIN)和相关的用户数据(DIN)存储到所述数据存储器(RAM)中;
-根据被提供以写入所述数据存储器(RAM)的用户数据(DIN)计算反校验码(CCCIN);
-将计算的纠错码(ECCIN)与计算的反校验码(CCCIN)进行比较,以在不匹配的情况下提供指示在第一步骤中计算纠错码(ECCIN)中的故障或指示在第三步骤中计算反校验码(CCCIN)中的故障的至少一个错误标志(CERR、UNERR);
-在计算所述反校验码(CCCIN)时,检测在所处理的用户数据(DIN)中由故障引起的被识别为有故障的位的位位置;
-校验是否设置了可纠正的错误标志(CERR)、不可纠正的错误标志(UNCERR)中的至少一个或者是否检测到包括故障位的至少一个位位置,并且在设置了可纠正的错误标志(CERR)和不可纠正的错误标志(UNCERR)中的至少一个或者检测到包括故障位的至少一个位位置的情况下设置潜在故障标志。
13.根据权利要求9至12中任一项所述的方法,其特征在于,所述读周期包括以下步骤:
-从数据存储器(RAM)读取用户数据(DOUT)和相关的存储的纠错码(ECCOUT);
-根据从所述数据存储器(RAM)读出的用户数据(DOUT)计算反校验码(CCCOUT);和
-将从所述数据存储器(RAM)读出的纠错码(ECCOUT)与所述计算的反校验码(CCCOUT)进行比较,以提供指示在不匹配的情况下所述数据存储器(RAM)的故障的至少一个错误标志(CERR、UNCER);
-检测从所述数据存储器(RAM)读出的用户数据(DOUT)中的故障位的位位置;以及
-校验是否设置了可纠正的错误标志(CERR)、不可纠正的错误标志(UNCERR)中的至少一个或者检测到包括故障位的至少一个位位置,并且在设置了所述可纠正的错误标志(CERR)和不可纠正的错误标志(UNCERR)中的至少一个或者检测到包括故障位的至少一个位位置的情况下设置潜在故障信号。
14.根据权利要求12或13所述的方法,其特征在于,所述方法还包括在读周期中在指示的位位置处纠正从数据存储器(RAM)读出的所述用户数据(DOUT)中的故障位的步骤。
15.根据权利要求9至14中任一项所述的方法,其特征在于,将读周期中的经纠正的用户数据(DOUT)与从数据存储器(RAM)读出的纠错码(ECCOUT)一起提供给接收器,并在接收器侧对接收到的经纠正的用户数据(DOUT)的正确性进行校验。
16.根据权利要求14或15所述的方法,其特征在于,将所述用户数据(DIN、DOUT)与在纠正所述用户数据(DIN、DOUT)中的故障位的步骤中纠正的经纠正的用户数据(DOUT、CORR)进行比较,并且在写周期中在所比较的用户数据(DIN、DOUT)与经纠正的用户数据(DOUT、CORR)之间不匹配的情况下指示潜在故障信号。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2021/076800 WO2023051903A1 (en) | 2021-09-29 | 2021-09-29 | Electronic circuit and method for self-diagnosis of a data memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116194994A true CN116194994A (zh) | 2023-05-30 |
Family
ID=78078207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180048471.8A Pending CN116194994A (zh) | 2021-09-29 | 2021-09-29 | 用于数据存储器的自诊断的电子电路和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240013847A1 (zh) |
EP (1) | EP4222746A1 (zh) |
KR (1) | KR20240067770A (zh) |
CN (1) | CN116194994A (zh) |
TW (1) | TW202314503A (zh) |
WO (1) | WO2023051903A1 (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2908272B2 (ja) | 1995-03-22 | 1999-06-21 | 甲府日本電気株式会社 | 情報処理装置 |
US20070061669A1 (en) * | 2005-08-30 | 2007-03-15 | Major Karl L | Method, device and system for detecting error correction defects |
US8832524B2 (en) * | 2011-09-22 | 2014-09-09 | Violin Memory, Inc. | System and method for correcting errors in data using a compound code |
US9047214B1 (en) * | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
DE102013215055B4 (de) * | 2013-07-31 | 2021-01-28 | Infineon Technologies Ag | Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern |
US10025652B2 (en) * | 2015-10-27 | 2018-07-17 | Western Digital Technologies, Inc. | Error location pointers for non volatile memory |
US10162702B2 (en) * | 2016-02-01 | 2018-12-25 | Lattice Semiconductor Corporation | Segmented error coding for block-based memory |
JP6717059B2 (ja) * | 2016-06-06 | 2020-07-01 | オムロン株式会社 | 制御システム |
US9904595B1 (en) * | 2016-08-23 | 2018-02-27 | Texas Instruments Incorporated | Error correction hardware with fault detection |
KR20180086816A (ko) * | 2017-01-23 | 2018-08-01 | 에스케이하이닉스 주식회사 | 사전-검사된 에러율에 따른 적응형 에러정정을 수행하는 메모리장치 및 전자장치와, 메모리장치의 동작방법 |
JP6841698B2 (ja) * | 2017-03-21 | 2021-03-10 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
KR102131230B1 (ko) | 2018-11-26 | 2020-07-08 | 현대오트론 주식회사 | 파워트레인 제어기의 램 에러 감지 로직의 자가진단 방법 및 장치 |
KR102605633B1 (ko) * | 2019-02-13 | 2023-11-23 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작 방법 |
US11144391B2 (en) * | 2019-06-13 | 2021-10-12 | Nvidia Corporation | Techniques for generating symbol-preserving error correction codes |
-
2021
- 2021-09-29 CN CN202180048471.8A patent/CN116194994A/zh active Pending
- 2021-09-29 KR KR1020227044498A patent/KR20240067770A/ko active Search and Examination
- 2021-09-29 EP EP21786382.8A patent/EP4222746A1/en active Pending
- 2021-09-29 WO PCT/EP2021/076800 patent/WO2023051903A1/en active Application Filing
- 2021-09-29 US US18/018,211 patent/US20240013847A1/en active Pending
-
2022
- 2022-07-14 TW TW111126474A patent/TW202314503A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
KR20240067770A (ko) | 2024-05-17 |
TW202314503A (zh) | 2023-04-01 |
EP4222746A1 (en) | 2023-08-09 |
WO2023051903A1 (en) | 2023-04-06 |
US20240013847A1 (en) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7227797B2 (en) | Hierarchical memory correction system and method | |
US7149947B1 (en) | Method of and system for validating an error correction code and parity information associated with a data word | |
US6397357B1 (en) | Method of testing detection and correction capabilities of ECC memory controller | |
US7865804B2 (en) | System and method for enhanced error detection in memory peripherals | |
CN107436821B (zh) | 为包括多个数据位和地址位的块生成错误码的装置和方法 | |
KR102267860B1 (ko) | 결함 탐지를 가진 오류 정정 하드웨어 | |
US11663095B2 (en) | Error detection circuit | |
JPH03248251A (ja) | 情報処理装置 | |
US11069421B1 (en) | Circuitry for checking operation of error correction code (ECC) circuitry | |
JP2009295252A (ja) | 半導体記憶装置及びそのエラー訂正方法 | |
EP3525210B1 (en) | Data register monitoring | |
CN111880961A (zh) | 用于透明寄存器数据错误检测和纠正的系统和方法 | |
US11416332B2 (en) | Protection for ethernet physical layer | |
CN116194994A (zh) | 用于数据存储器的自诊断的电子电路和方法 | |
JP2008176828A (ja) | エラー検出訂正回路のテスト回路およびテスト方法 | |
JP2001290710A (ja) | データエラー検出装置 | |
TW202246979A (zh) | 用於具有內建的錯誤校正和偵測的記憶體的錯誤率 | |
JPH02146200A (ja) | 電気的に消去可能なプログラマブルロム装置 | |
US9983926B2 (en) | Apparatus, system and method for protecting data | |
CN114968654B (zh) | 一种纠错码电路及纠错方法 | |
US20240202086A1 (en) | Circuits, systems, and methods for ecc fault detection | |
KR20240092600A (ko) | Ecc 장애 검출을 위한 회로들, 시스템들, 및 방법들 | |
KR100802666B1 (ko) | 회로 장치 및 체크 방법 | |
JPS5919380B2 (ja) | エラ−・チエツク及び修正回路装置におけるエラ−検出装置 | |
JPS60191350A (ja) | メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |