CN114968654A - 一种纠错码电路及纠错方法 - Google Patents

一种纠错码电路及纠错方法 Download PDF

Info

Publication number
CN114968654A
CN114968654A CN202210890012.0A CN202210890012A CN114968654A CN 114968654 A CN114968654 A CN 114968654A CN 202210890012 A CN202210890012 A CN 202210890012A CN 114968654 A CN114968654 A CN 114968654A
Authority
CN
China
Prior art keywords
data
correction
error
error correction
check bit
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
CN202210890012.0A
Other languages
English (en)
Other versions
CN114968654B (zh
Inventor
谢俊
张力航
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.)
Beijing Xinchi Semiconductor Technology Co ltd
Nanjing Semidrive Technology Co Ltd
Original Assignee
Nanjing Semidrive Technology Co Ltd
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 Nanjing Semidrive Technology Co Ltd filed Critical Nanjing Semidrive Technology Co Ltd
Priority to CN202210890012.0A priority Critical patent/CN114968654B/zh
Publication of CN114968654A publication Critical patent/CN114968654A/zh
Application granted granted Critical
Publication of CN114968654B publication Critical patent/CN114968654B/zh
Priority to US18/159,760 priority patent/US20240036972A1/en
Priority to EP23165016.9A priority patent/EP4312380A1/en
Active 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/1008Adding 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/102Error in check bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • 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/1008Adding 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种纠错码电路及纠错方法,纠错码电路,包括第一纠错码模块、第二纠错码模块和比较模块。第一纠错码模块用于根据接收的源数据和与源数据对应的源校验位,生成纠正数据和第一纠正校验位;第二纠错码模块连接第一纠错码模块,用于根据纠正数据和校验位,确定纠正数据是否出错,并生成第二纠正校验位;比较模块连接于第一纠错码模块和第二纠错码模块之间,用于比较第一纠正校验位和第二纠正校验位,确定第一纠正校验位是否出错。本申请的纠错码电路及纠错方法,不仅能够对数据进行纠错,而且能够检测纠错功能是否正常,实现了对纠错故障的自诊断,从而有效确保数据纠错功能的安全性,且在高级别的功能安全应用领域,效果尤为显著。

Description

一种纠错码电路及纠错方法
技术领域
本申请涉及电子电气系统中的功能安全领域,特别是涉及一种纠错码电路及纠错方法。
背景技术
在电子电气系统中,差错校验码技术广泛用于保障系统的功能安全,常用的差错校验码,包括检错码(Error Detecting Code,EDC)和纠错码(Error Correcting Code,ECC)。其中,EDC可以检测出数据流中比特的错误;ECC不仅可以检测出数据流中比特的错误,同时还可以纠正错误,从而能够提高数据传输的可靠性和效率。
但是,相比于EDC技术,ECC技术的数据纠错功能存在一定隐患,一旦ECC电路中的纠错电路发生故障,有可能无法对错误的数据进行纠正,或将原本正确的数据改错,从而影响功能安全,尤其在一些高级别的功能安全应用领域,后果尤为严重。
发明内容
为了解决现有技术存在的不足,本申请的目的在于提供一种纠错码电路及纠错方法,不仅能够对数据进行纠错,而且能够对纠错故障进行自诊断,防止将原本正确的数据或校验位错误地换掉,或未对错误的数据或校验位进行纠正,从而有效确保数据纠错功能的安全性,且在高级别的功能安全应用领域,效果尤为显著。
为实现上述目的,本申请提供的一种纠错码电路,包括:
第一纠错码模块,用于根据接收的源数据和与所述源数据对应的源校验位,生成纠正数据和第一纠正校验位;
第二纠错码模块,连接所述第一纠错码模块,用于根据所述纠正数据和校验位,确定所述纠正数据是否出错,并生成第二纠正校验位;其中,所述校验位为所述源校验位或所述第一纠正校验位;
比较模块,连接于所述第一纠错码模块和所述第二纠错码模块之间,用于比较所述第一纠正校验位和所述第二纠正校验位,确定所述第一纠正校验位是否出错。
进一步地,所述纠错码电路还包括:
时序模块,用于对所述纠正数据和所述源校验位进行时序打拍,以使所述第二纠错码模块根据所述时序打拍后的源校验位和纠正数据,确定所述纠正数据是否出错,并生成所述第二纠正校验位。
进一步地,所述纠错码电路还包括:
确定模块,响应于所述纠正数据出错和/或所述第一纠正校验位出错,确定所述第一纠错码模块存在纠错故障。
更进一步地,所述确定模块还用于,响应于所述纠正数据正确且所述第一纠正校验位正确,确定所述第一纠错码模块不存在纠错故障。
进一步地,所述第二纠错码模块还用于,对所述第一纠正校验位是否出错进行提示。
进一步地,所述第一纠错码模块还用于,根据接收的源数据和与所述源数据对应的源校验位,确定所述源数据是否出错。
进一步地,所述第一纠错码模块和所述第二纠错码模块为单错校正双错检测模块。
为实现上述目的,本申请还提供一种纠错方法,包括:
根据接收的源数据和与所述源数据对应的源校验位,生成纠正数据和第一纠正校验位;
根据所述纠正数据和校验位,确定所述纠正数据是否出错,并生成第二纠正校验位;其中,所述校验位为所述源校验位或所述第一纠正校验位;
比较所述第一纠正校验位和所述第二纠正校验位,确定所述第一纠正校验位是否出错。
进一步地,所述根据所述纠正数据和校验位,确定所述纠正数据是否出错,并生成第二纠正校验位的步骤,包括:
对所述纠正数据和所述源校验位进行时序打拍;
根据所述时序打拍后的源校验位和纠正数据,确定所述纠正数据是否出错,并生成第二纠正校验位。
为实现上述目的,本申请还提供一种芯片,包括:如上所述的纠错码电路。
本申请的纠错码电路及纠错方法,不仅能够对数据进行纠错,而且能够对纠错故障进行自诊断,防止将原本正确的数据或校验位错误地换掉,或未对错误的数据或校验位进行纠正,从而有效确保数据纠错功能的安全性,且在高级别的功能安全应用领域,效果尤为显著。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:
图1为根据本申请一个实施例的纠错码电路的结构框图;
图2为根据本申请另一个实施例的纠错码电路的结构框图;
图3为根据本申请实施例的纠错方法的流程图;
图4为图3中步骤102的流程图;
图5为根据本申请实施例的芯片的结构框图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“第一纠错码模块”、“第二纠错码模块”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
下面,将参考附图详细地说明本申请的实施例。
实施例1
图1为根据本申请一个实施例的纠错码电路的结构框图,参考图1所示,该纠错码电路10包括:第一纠错码模块11、第二纠错码模块12和比较模块13。
其中,第一纠错码模块11用于根据接收的源数据和与源数据对应的源校验位,生成纠正数据和第一纠正校验位;第二纠错码模块12连接第一纠错码模块11,用于根据纠正数据和校验位,确定纠正数据是否出错,并生成第二纠正校验位,其中校验位为源校验位或第一纠正校验位;比较模块13连接于第一纠错码模块11和第二纠错码模块12之间,用于比较第一纠正校验位和第二纠正校验位,确定第一纠正校验位是否出错。
需要说明的是,纠错码电路10可以应用于电子电气系统,其输入输出的是数字信号,具体可以应用于数字电路芯片。
使用时,纠错码电路10可以通过第一纠错码模块11连接在数据通道上,数据通道中的数据在源端会产生对应的校验位,该校验位经过路径到达目标端时,可以通过第一纠错码模块11对数据和校验位进行纠错。即第一纠错码模块11在数据通道上接收源数据和对应的校验位,并对源数据和对应的校验位进行纠正,输出纠正数据和第一纠正校验位。第二纠错码模块12接收由第一纠错码模块11输出的纠正数据,并接收源校验位或第一纠正校验位,输出纠正数据是否出错的信号(在具体示例中,第二纠错码模块12同时也可以输出第一纠正校验位是否出错的信号),以及纠正后的第二纠正校验位。比较模块13输入第一纠正校验位和第二纠正校验位,对二者进行比较,根据二者是否一致,输出第一纠正校验位是否出错的信号。从而实现了对纠正数据和第一纠正校验位的检验。
由此,不仅能够通过第一纠错码模块11对数据进行纠错,而且能够通过两级的纠错码电路结构,检测第一纠错码模块11的纠错功能是否正常,实现了对纠错故障的自诊断,防止第一纠错码模块11将原本正确的数据或校验位错误地换掉,或未对错误的数据或校验位进行纠正,从而有效确保数据纠错功能的安全性,且在高级别的功能安全应用领域,效果尤为显著。此外,由于第二纠错码模12块仅对第一纠正校验位进行纠错,而不对数据进行纠错,有助于进一步确保数据纠错功能的安全性。
图2为根据本申请另一个实施例的纠错码电路的结构框图,参考图2所示,纠错码电路10还可以包括时序模块14,该时序模块14用于对纠正数据和源校验位进行时序打拍,以使第二纠错码模块12根据时序打拍后的源校验位和纠正数据,确定纠正数据是否出错,并生成第二纠正校验位。
具体来说,一方面,通过时序模块14对纠正数据和源校验位进行时序打拍,可以使时序打拍后的源校验位和纠正数据,作为第二纠错码模块12的输入,使得第一纠错码模块11和第二纠错码模块12的输入在时序上是错开的,从而有效避免数据源上的时间和电路信号产生共因干扰,进而能够实现更高的故障诊断率。
在具体示例中,对纠正数据和源校验位的时序打拍可以是无条件打拍,此处的无条件打拍是指,只要有CLOCK(时钟)上升沿时就进行打拍,而不需要任何附加条件。由此,能够确保打拍按时进行,进一步避免共因干扰,提高故障诊断的可靠性。
另一方面,相比于第一纠正校验位,第二纠错码模块12优选采用源校验位作为输入校验位。这是因为,本申请的纠错码电路10可以适用于奇偶校验,纠正数据和第一纠正校验位作为同一个电路(第一纠错码模块11)的输出,容易发生同样的错误。若以纠正数据和第一纠正校验位作为第二纠错码模块12的输入,在二者发生同样错误的情况下,无法检验出第一纠错码模块11是否存在纠错故障。而若采用纠正数据和源校验位作为第二纠错码模块12的输入,由于纠正数据和源校验位不全是第一纠错码模块11的输出,不容易发生同样的错误,因此能够进一步避免共因干扰,提高故障诊断的可靠性。
本申请的实施例中,继续参考图2所示,纠错码电路10还包括确定模块15,该确定模块15响应于纠正数据出错和/或第一纠正校验位出错,确定第一纠错码模块11存在纠错故障。进一步地,确定模块15还用于,响应于纠正数据正确且第一纠正校验位正确,确定第一纠错码模块11不存在纠错故障。
也就是说,当纠正数据出错时,或当第一纠正校验位出错时,或当纠正数据和第一纠正校验位均出错时,确定第一纠错码模块11存在纠错故障;当纠正数据和第一纠正校验位均正确时,确定第一纠错码模块11纠错正常。在具体示例中,确认第一纠错码模块11存在纠错故障后,可以获取被异常纠错的数据的重要程度,根据该重要程度确定相应的处理措施,该处理措施可以包括上报异常信息、重传数据等。
本申请的实施例中,第一纠错码模块11还用于,根据接收的源数据和与源数据对应的源校验位,确定源数据是否出错。
具体地,第一纠错码模块11可以根据相关纠错码矩阵,比对接收到的源数据,以确定二者是否对应一致。若一致,则判断该源数据正确;若不一致,则判断该源数据出错。
需要说明的是,第一纠错码模块11在确定源数据是否出错的同时,还可以确定源校验位是否出错。即第一纠错码模块11可以根据相关纠错码矩阵,比对接收到的源数据所对应的源校验位,以确定二者是否对应一致。若一致,则判断该源校验位正确;若不一致,则判断该源校验位出错。
本申请的实施例中,第二纠错码模块12还用于对第一纠正校验位是否出错进行提示,以对第一纠错码模块11的出错信息(纠正数据是否出错、第一纠正校验位是否出错)进行全面反馈。
本申请的实施例中,第一纠错码模块11和第二纠错码模块12为单错校正双错检测(Single-Error-Correcting and Double-Error-Detecting,SEC-DED)模块。
具体来说,SEC-DED技术是目前广泛应用的ECC技术,其可以纠正单个比特错误,同时能够发现两个比特错误。在本申请的实施例中,通过增加第二级SEC-DED电路(即第二纠错码模块12)来检测第一级SEC-DED电路(即第一纠错码模块11)的输出结果,防止第一级SEC-DED电路将原本正确的数据或校验位错误地换掉,或未对错误的数据或校验位进行纠正,有效确保数据纠错功能的安全性。并且,第二级SEC-DED电路只参与报错,并不对实际的数据进行纠错,能够避免引入额外的纠正异常。
下面通过一个具体实施例对本申请作进一步解释和说明。
该具体实施例中,采用的ECC算法为SECDED64,源数据(64bit)为0x5011280000501128,源校验位(8bit)为0x39。
(1)对于源数据有错,第一纠错码模块11应该报错,但未报错的情况。
第一纠错码模块11输入:源数据(0x5011280000501120)和源校验位(0x39)。
第一纠错码模块11输出:纠正数据(0x5011280000501120)、第一纠正校验位(0x39)和源数据状态信息(源数据正确)。
第二纠错码模块12输入:时序打拍后的纠正数据(0x5011280000501120)和时序打拍后的源校验位(0x39)。
第二纠错码模块12输出:第二纠正校验位(0x39)和纠正数据状态信息(第一纠错码模块11输出的纠正数据出错),同时提示第一纠错码模块11输出的第一纠正校验位正确。
(2)对于源校验位有错,第一纠错码模块11应该报错,但未报错的情况。
第一纠错码模块11输入:源数据(0x5011280000501128)和源校验位(0x38)。
第一纠错码模块11输出:纠正数据(0x5011280000501128)、第一纠正校验位(0x38)和源数据状态信息(源数据正确)。
第二纠错码模块12输入:时序打拍后的纠正数据(0x5011280000501128)和时序打拍后的源校验位(0x38)。
第二纠错码模块12输出:第二纠正校验位(0x39)和纠正数据状态信息(第一纠错码模块11输出的纠正数据正确),同时提示第一纠错码模块11输出的第一纠正校验位错误。
(3)对于源数据和源校验位正确,但第一纠错码模块11输出的纠正数据错误的情况。
第一纠错码模块11输入:源数据(0x5011280000501128)和源校验位(0x39)。
第一纠错码模块11输出:纠正数据(0x5011280000501120)、第一纠正校验位(0x39)和源数据状态信息(源数据正确)。
第二纠错码模块12输入:时序打拍后的纠正数据(0x5011280000501120)和时序打拍后的源校验位(0x39)。
第二纠错码模块12输出:第二纠正校验位(0x39)和纠正数据状态信息(第一纠错码模块11输出的纠正数据出错),同时提示第一纠错码模块11输出的第一纠正校验位正确。
(4)对于源数据和源校验位正确,但第一纠错码模块11输出的第一纠正校验位错误的情况。
第一纠错码模块11输入:源数据(0x5011280000501128)和源校验位(0x39)。
第一纠错码模块11输出:纠正数据(0x5011280000501128)、第一纠正校验位(0x38)和源数据状态信息(源数据正确)。
第二纠错码模块12输入:时序打拍后的纠正数据(0x5011280000501128)和时序打拍后的源校验位(0x39)。
第二纠错码模块12输出:第二纠正校验位(0x39)和纠正数据状态信息(第一纠错码模块11输出的纠正数据正确),同时提示第一纠错码模块11输出的第一纠正校验位错误。
综上所述,通过第一纠错码模块根据接收的源数据和与源数据对应的源校验位,生成纠正数据和第一纠正校验位,并通过第二纠错码模块根据纠正数据和校验位,确定纠正数据是否出错,生成第二纠正校验位,以及通过比较模块比较第一纠正校验位和第二纠正校验位,确定第一纠正校验位是否出错。由此,不仅能够对数据进行纠错,而且能够通过两级的纠错码电路结构,检测纠错功能是否正常,实现了对纠错故障的自诊断,防止第一纠错码模块将原本正确的数据或校验位错误地换掉,或未对错误的数据或校验位进行纠正,从而有效确保数据纠错功能的安全性,且在高级别的功能安全应用领域,效果尤为显著。
实施例2
图3为根据本申请实施例的纠错方法的流程图,参考图3所示,该纠错方法包括以下步骤:
在步骤101,根据接收的源数据和与源数据对应的源校验位,生成纠正数据和第一纠正校验位。
在步骤102,根据纠正数据和校验位,确定纠正数据是否出错,并生成第二纠正校验位;其中,校验位为源校验位或第一纠正校验位。
在步骤103,比较第一纠正校验位和第二纠正校验位,确定第一纠正校验位是否出错。
图4为图3中步骤102的流程图,参考图4所示,步骤102可以包括以下步骤:
在步骤1021,对纠正数据和源校验位进行时序打拍。
在步骤1022,根据时序打拍后的源校验位和纠正数据,确定纠正数据是否出错,并生成第二纠正校验位。
本申请的实施例中,该纠错方法还包括:响应于纠正数据出错和/或第一纠正校验位出错,确定第一纠错码模块存在纠错故障。
进一步地,该纠错方法还包括:响应于纠正数据正确且第一纠正校验位正确,确定第一纠错码模块不存在纠错故障。
本申请的实施例中,该纠错方法还包括:对第一纠正校验位是否出错进行提示。
本申请的实施例中,该纠错方法还包括:根据接收的源数据和与源数据对应的源校验位,确定源数据是否出错。
需要说明的是,前述对纠错码电路实施例的解释说明也适用于该纠错方法实施例,此处不再赘述。
根据本申请实施例的纠错方法,通过根据接收的源数据和与源数据对应的源校验位,生成纠正数据和第一纠正校验位,并根据纠正数据和校验位,确定纠正数据是否出错,生成第二纠正校验位,以及通过比较第一纠正校验位和第二纠正校验位,确定第一纠正校验位是否出错。由此,不仅能够对数据进行纠错,而且能够检测纠错功能是否正常,实现了对纠错故障的自诊断,防止将原本正确的数据或校验位错误地换掉,或未对错误的数据或校验位进行纠正,从而有效确保数据纠错功能的安全性,且在高级别的功能安全应用领域,效果尤为显著。
实施例3
图5为根据本申请实施例的芯片的结构框图,参考图5所示,芯片100包括上述实施例的纠错码电路10。
根据本申请实施例的芯片,通过其上包括上述实施例的纠错码电路,不仅能够对数据进行纠错,而且能够检测纠错功能是否正常,实现了对纠错故障的自诊断,从而有效确保数据纠错功能的安全性,且在高级别的功能安全应用领域,效果尤为显著。
本领域普通技术人员可以理解:以上仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种纠错码电路,其特征在于,包括:
第一纠错码模块,用于根据接收的源数据和与所述源数据对应的源校验位,生成纠正数据和第一纠正校验位;
第二纠错码模块,连接所述第一纠错码模块,用于根据所述纠正数据和校验位,确定所述纠正数据是否出错,并生成第二纠正校验位;其中,所述校验位为所述源校验位或所述第一纠正校验位;
比较模块,连接于所述第一纠错码模块和所述第二纠错码模块之间,用于比较所述第一纠正校验位和所述第二纠正校验位,确定所述第一纠正校验位是否出错。
2.根据权利要求1所述的纠错码电路,其特征在于,还包括:
时序模块,用于对所述纠正数据和所述源校验位进行时序打拍,以使所述第二纠错码模块根据所述时序打拍后的源校验位和纠正数据,确定所述纠正数据是否出错,并生成所述第二纠正校验位。
3.根据权利要求1所述的纠错码电路,其特征在于,还包括:
确定模块,响应于所述纠正数据出错和/或所述第一纠正校验位出错,确定所述第一纠错码模块存在纠错故障。
4.根据权利要求3所述的纠错码电路,其特征在于,所述确定模块还用于,响应于所述纠正数据正确且所述第一纠正校验位正确,确定所述第一纠错码模块不存在纠错故障。
5.根据权利要求1所述的纠错码电路,其特征在于,所述第二纠错码模块还用于,对所述第一纠正校验位是否出错进行提示。
6.根据权利要求1所述的纠错码电路,其特征在于,所述第一纠错码模块还用于,根据接收的源数据和与所述源数据对应的源校验位,确定所述源数据是否出错。
7.根据权利要求1至6中任一项所述的纠错码电路,其特征在于,所述第一纠错码模块和所述第二纠错码模块为单错校正双错检测模块。
8.一种纠错码电路的纠错方法,其特征在于,包括:
根据接收的源数据和与所述源数据对应的源校验位,生成纠正数据和第一纠正校验位;
根据所述纠正数据和校验位,确定所述纠正数据是否出错,并生成第二纠正校验位;其中,所述校验位为所述源校验位或所述第一纠正校验位;
比较所述第一纠正校验位和所述第二纠正校验位,确定所述第一纠正校验位是否出错。
9.根据权利要求8所述的纠错码电路的纠错方法,其特征在于,所述根据所述纠正数据和校验位,确定所述纠正数据是否出错,并生成第二纠正校验位的步骤,包括:
对所述纠正数据和所述源校验位进行时序打拍;
根据所述时序打拍后的源校验位和纠正数据,确定所述纠正数据是否出错,并生成第二纠正校验位。
10.一种芯片,其特征在于,包括:权利要求1至7中任一项所述的纠错码电路。
CN202210890012.0A 2022-07-27 2022-07-27 一种纠错码电路及纠错方法 Active CN114968654B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210890012.0A CN114968654B (zh) 2022-07-27 2022-07-27 一种纠错码电路及纠错方法
US18/159,760 US20240036972A1 (en) 2022-07-27 2023-01-26 Error correction code circuit and error correction method
EP23165016.9A EP4312380A1 (en) 2022-07-27 2023-03-29 Error correction code circuit and error correction method including self-diagnosis of error correction faults

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210890012.0A CN114968654B (zh) 2022-07-27 2022-07-27 一种纠错码电路及纠错方法

Publications (2)

Publication Number Publication Date
CN114968654A true CN114968654A (zh) 2022-08-30
CN114968654B CN114968654B (zh) 2022-10-25

Family

ID=82968898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210890012.0A Active CN114968654B (zh) 2022-07-27 2022-07-27 一种纠错码电路及纠错方法

Country Status (3)

Country Link
US (1) US20240036972A1 (zh)
EP (1) EP4312380A1 (zh)
CN (1) CN114968654B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339647A (zh) * 2010-07-23 2012-02-01 北京兆易创新科技有限公司 一种检错/纠错校验模块的检测方法及装置
CN106708655A (zh) * 2017-02-16 2017-05-24 深圳前海生生科技有限公司 基于二维纠错码的内存加固方法及电路
CN110532127A (zh) * 2019-08-13 2019-12-03 南京芯驰半导体科技有限公司 一种差错校验位协议转换器
CN110688249A (zh) * 2019-09-20 2020-01-14 上海励驰半导体有限公司 一种纠错码电路的注错检测电路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740968A (en) * 1986-10-27 1988-04-26 International Business Machines Corporation ECC circuit failure detector/quick word verifier
US10382060B2 (en) * 2016-08-05 2019-08-13 Taiwan Semiconductor Manufacturing Company Ltd. On-line self-checking hamming encoder, decoder and associated method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102339647A (zh) * 2010-07-23 2012-02-01 北京兆易创新科技有限公司 一种检错/纠错校验模块的检测方法及装置
CN106708655A (zh) * 2017-02-16 2017-05-24 深圳前海生生科技有限公司 基于二维纠错码的内存加固方法及电路
CN110532127A (zh) * 2019-08-13 2019-12-03 南京芯驰半导体科技有限公司 一种差错校验位协议转换器
CN110688249A (zh) * 2019-09-20 2020-01-14 上海励驰半导体有限公司 一种纠错码电路的注错检测电路

Also Published As

Publication number Publication date
CN114968654B (zh) 2022-10-25
EP4312380A1 (en) 2024-01-31
US20240036972A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
US7149947B1 (en) Method of and system for validating an error correction code and parity information associated with a data word
US11663095B2 (en) Error detection circuit
US7137057B2 (en) Method and apparatus for performing error correction code (ECC) conversion
JPH0328094B2 (zh)
US8464093B1 (en) Memory array error correction
CN108337069B (zh) 一种改进的降低误码率的末端并行分组crc校验系统
Claeys et al. A system’s perspective on the use of EMI detection and correction methods in safety critical systems
CN110688249B (zh) 一种纠错码电路的注错检测电路
US8423836B2 (en) Method and system for detecting a failure in an error correcting unit
CN114968654B (zh) 一种纠错码电路及纠错方法
US9515682B2 (en) Device for correcting two errors with a code of hamming distance three or four
CN110532127B (zh) 一种差错校验位协议转换器
EP1141830A1 (en) A method and apparatus for detecting errors in data output from memory and a device failure in the memory
US20240202086A1 (en) Circuits, systems, and methods for ecc fault detection
WO2021195608A1 (en) Protection for ethernet physical layer
KR20240092600A (ko) Ecc 장애 검출을 위한 회로들, 시스템들, 및 방법들
JP4213814B2 (ja) エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路
US20240013847A1 (en) Electronic circuit and method for self-diagnosis of a data memory
CN113055259B (zh) 一种基于axi总线协议的功能安全保护方法
US20240146333A1 (en) Error correction
TW202424743A (zh) 用於ecc錯誤檢測之電路、系統及方法
JPH0312499B2 (zh)
JPH05108385A (ja) エラー訂正回路診断方式
US20090150727A1 (en) Data transmission method
JPH10117193A (ja) データ伝送システム

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 505, 5th Floor, Building 5, No. 2 Ronghua South Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Patentee after: Beijing Xinchi Semiconductor Technology Co.,Ltd.

Country or region after: China

Address before: Room 505, 5th Floor, Building 5, No. 2 Ronghua South Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Patentee before: Nanjing Xinchi Semiconductor Technology Co.,Ltd.

Country or region before: China

Address after: Room 505, 5th Floor, Building 5, No. 2 Ronghua South Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Patentee after: Nanjing Xinchi Semiconductor Technology Co.,Ltd.

Country or region after: China

Address before: Room 2268, hatching Eagle building, No. 99, Tuanjie Road, yanchuang Park, Jiangbei new district, Nanjing, Jiangsu 211800

Patentee before: Nanjing Xinchi Semiconductor Technology Co.,Ltd.

Country or region before: China