CN108055876B - 低功率双纠错-三检错(deb-ted)解码器 - Google Patents
低功率双纠错-三检错(deb-ted)解码器 Download PDFInfo
- Publication number
- CN108055876B CN108055876B CN201680052581.0A CN201680052581A CN108055876B CN 108055876 B CN108055876 B CN 108055876B CN 201680052581 A CN201680052581 A CN 201680052581A CN 108055876 B CN108055876 B CN 108055876B
- Authority
- CN
- China
- Prior art keywords
- output
- error
- double
- decoder
- vector signal
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/1012—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 using codes or arrangements adapted for a specific type of error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/617—Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
检错和纠错解码装置根据数据输入是包含单比特差错还是多比特差错来执行单纠错-双检错(SEC‑DED)或双纠错-三检错(DEC‑TED),以在单比特差错的情况下降低功耗和等待时间,而在多比特差错的情况下提供强大的纠错。
Description
技术领域
本文描述的各种实施例涉及纠错,尤其涉及单比特和多比特纠错。
背景技术
已设计出各种方案用于在数字装置和设备(诸如,存储器)中的检错和纠错。在存储器设备中的纠错领域中,可分别执行检错和纠错。例如,已设计出诸如单纠错-双检错(SEC-DED)等的方案,SEC-DED方案将允许在检测到双比特差错的情况下纠正单比特差错。然而,在多比特差错的情况下,常规SEC-DED方案可能不足以缓解这些差错。
已设计出更强大的检错和纠错方案来解决多比特差错的问题。例如,已设计出诸如双纠错-三检错(DEC-TED)等的方案,DEC-TED方案将提供比常规SEC-DED方案更强大的纠错能力()。但是,通常DEC-TED所需的电路系统的面积要比SEC-DED所需的面积大得多。而且,相比于常规SEC-DED电路系统,常规DEC-TED电路系统通常消耗更多的功率,并且导致更长的等待时间或时间延迟。例如,当利用DEC-TED电路系统来纠正单个差错时,功耗和时间延迟将比SEC-DED电路系统大得多。
此外,当输入因在差错位置解码中的无效转变而改变时,实现用于单比特或多比特纠错的纠错码的纯组合电路通常消耗大量的动态功率。特别是对于在低功率集成电路器件(诸如,低功率存储器芯片)中的多比特检错和纠错来说,减少检错和纠错所需的功耗量是期望的。
发明内容
本公开的示例性实施例涉及存储器中具有降低的功耗的双纠错的装置和方法。
在一实施例中,提供了一种检错和纠错装置,该检错和纠错装置包括:单差错位置解码器,其被配置为定位在输入数据中的单差错;双差错位置解码器,其被配置为定位在输入数据中的双差错;以及纠错器,其被耦合到单差错位置解码器和双差错位置解码器以生成经纠正的输出数据。
在另一实施例中,提供了一种检错和纠错装置,该检错和纠错装置包括:用于单差错位置解码以定位输入数据中的单差错的装置;用于双差错位置解码以定位输入数据中的双差错的装置;以及用于基于单差错和双差错来纠错以生成经纠正的输出数据的装置。
在另一实施例中,提供了一种检错和纠错装置,该检错和纠错装置包括:被配置为定位在输入数据中的单差错的逻辑;被配置为定位在输入数据中的双差错的逻辑;以及被配置为基于单差错和双差错来生成经纠正的输出数据的逻辑。
在又一实施例中,提供了一种存储器,该存储器包括:存储器单元;以及检错和纠错装置,其被耦合以接收来自存储器单元的输入数据并且将经纠正的输出数据传送到存储器单元,该检错和纠错装置包括:单差错位置解码器,其被配置为定位输入数据中的单差错;双差错位置解码器,其被配置为定位输入数据中的双差错;以及纠错器,其被耦合到单差错位置解码器和双差错位置解码器以生成经纠正的输出数据。
附图说明
给出附图以帮助对本公开的各实施例进行描述,且提供附图仅用于解说各实施例而非对其进行限定。
图1是解说检错和纠错装置的实施例的框图。
图2是解说具有触发器和定时控制器的检错和纠错装置的另一实施例的框图。
图3是解说作为图2的纠错和解码装置的实施例中将延迟线作为定时控制器的实施例的框图。
图4是解说具有触发器、定时控制器、分开的单纠错(SEC)和双纠错(DEC)差错位置解码器、复用器和标志生成器的检错和纠错装置的又一个实施例的框图。
图5是解说具有被配置为执行检错和纠错功能的逻辑的检错和纠错装置的实施例的框图。
图6是解说其中可实现检错和纠错装置的存储器设备的实施例的框图。
具体实施方式
在以下针对特定实施例的描述和有关附图中描述了本公开的各方面。可以设计出替换实施例而不会脱离本公开的范围。另外,众所周知的要素将不被详细描述或将被省去以免混淆本公开的相关细节。
措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何实施例不必被解释为优于或胜过其他实施例。同样,术语“实施例”并不要求所有实施例都包括所讨论的特征、优点、或操作模式。
本文所使用的术语仅出于描述特定实施例的目的,而并不旨在对各实施例进行限定。如本文所使用的,单数形式的“一”、“某”和“该”旨在也包括复数形式,除非上下文另有明确指示。将进一步理解,术语“包括”、“具有”、“包含”或“含有”在本文中使用时指明所陈述的特征、整数、步骤、操作、要素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、要素、组件或其群组的存在或添加。此外,要理解,单词“或”与布尔运算符“OR(或)”具有相同含义,即它涵盖了“任一者”以及“两者”的可能性并且不限于“异或”(“XOR”),除非另外明确声明。”还要理解,两个毗邻单词之间的符号“/”具有与“或”相同的意思,除非另外明确声明。另外,除非另外明确声明,否则诸如“连接到”、“耦合到”或“处于通信”之类的短语并不限于直接连接。
此外,许多实施例是根据将由例如计算设备的元件执行的动作序列来描述的。将认识到,本文中所描述的各动作可以由特定电路来执行,例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA),或者各种其他类型的通用目的或专门目的的处理器或电路,由可以由一个或多个处理器执行的程序指令执行,或由两个结合来执行。另外,本文描述的这些动作序列可被认为是完全体现在任何形式的计算机可读存储介质内,该计算机可读存储介质内存储有一经执行就将使相关联的处理器执行本文所描述的功能性的对应计算机指令集。由此,本公开的各个方面可以用数种不同形式来体现,所有这些形式都已被构想为落在所要求保护的主题内容的范围内。另外,对于本文描述的每个实施例,任何此类实施例的对应形式可在本文中被描述为例如“被配置成执行所描述的动作的逻辑”。
图1是解说具有数据输入(数据比特_输入)102、差错校验输入(校验比特_输入)104和经纠正的数据输出(数据比特_输出)106的检错和纠错装置100的实施例的框图。此纠错码解码器可在用于纠正数据差错的各种数字装置或设备中实现,例如在存储器设备(诸如,自旋转移矩磁性随机存取存储器(STT-MRAM))中。应理解,本领域的技术人员也可将根据本公开的实施例的纠错码解码器用于各种其他装置或设备中。参照图1,检错和纠错装置100包括校正子生成器108,其被配置为接收数据输入(数据比特_输入)102和差错校验输入(校验比特_输入)104。在一实施例中,校正子生成器108能够响应于数据输入(数据比特_输入)102和差错校验输入(校验比特_输入)104生成第一矢量信号输出(S0)、第二矢量信号输出(S1)和第三矢量信号输出(S3)。
在一实施例中,校正子生成器108包括奇偶校验矩阵解码器,而差错校验输入(校验比特_输入)104包括奇偶校验比特输入。此校正子生成器108可通过使用许多已知的纠错码(ECC)中的一者来构造。在一实施例中,奇偶校验矩阵解码器可包括基于XOR(异或)树的奇偶校验矩阵解码器。例如,校正子生成器108可通过实现ECC(诸如双纠错-三检错(DEC-TED)博斯-乔赫里-黑姆(BCH)码)来构造,其中α是伽罗华域GF(2n)中的原语元素:
由上述奇偶校验矩阵生成的校正子可被分为三部分,
S=v·HT=[v·1,v·H1 T,v·H3 T]=[S0,S1,S3]
在替换的实施例中,也可实现用于检错和纠错的其他类型的校正子生成器。
在图1所解说的实施例中,检错和纠错装置100还包括控制器110,其被配置为从校正子生成器108接收第一矢量信号输出(S0)、第二矢量信号输出(S1)和第三矢量信号输出(S3),并且被配置为基于来自校正子生成器108的三个矢量信号S0、S1和S3中的至少两者来生成单纠错输出(SEC_输出)和双纠错输出(DEC_输出)。
在一实施例中,控制器110被实现为生成分别被传送到单纠错(SEC)差错位置解码器118和双纠错(DEC)差错位置解码器120的输入的单纠错输出(SEC_输出)和双纠错输出(DEC_输出)。SEC差错位置解码器118和DEC差错位置解码器120将在下文进一步详细描述。在一实施例中,通过不使SEC差错位置解码器118和DEC差错位置解码器120两者同时活跃地操作来减少检错和纠错装置100的延迟和动态功耗是期望的。例如,如果数据输入中的差错是单差错,则DEC差错位置解码器120不应该是活跃的。类似地,如果差错是双差错,则SEC差错位置解码器118不应该是活跃的。
在一实施例中,控制器110的单纠错输出(SEC_输出)和双纠错输出(DEC_输出)被设置为满足上述条件。例如,如果来自校正子生成器108的第一矢量信号输出(S0)是1,这意味着假定数据输入具有单差错,则控制器110的双纠错输出(DEC_输出)是零矢量。相反,如果来自校正子生成器108的第一矢量信号输出(S0)是0,这意味着假定数据输入具有双差错,则控制器110的单纠错输出(SEC_输出)是零矢量。
在一实施例中,控制器110的输出SEC_输出和DEC_输出可基于来自校正子生成器108的第一矢量信号输出(S0)、第二矢量信号输出(S1)和第三矢量信号输出(S3)由以下等式来生成:
SEC_输出=S0*[S1,S3]
DEC_输出=(~S0)*[S1,S3]
其中“~”表示逻辑补或“NOT(求反)”。对于三差错情形,S0是1,其与单差错情形相同
在图1所解说的实施例中,检错和纠错装置100进一步包括双检错器112,其具有耦合以接收来自校正子生成器108的第一矢量信号输出(S0)、第二矢量信号输出(S1)和第三矢量信号输出(S3)的输入,以及具有基于接收自校正子生成器108的三个矢量信号S0、S1和S3来生成双检错输出(AL_DED)114的输出。
在一实施例中,来自双检错器112的双检错输出(AL_DED)114可基于来自校正子生成器108的第二矢量信号输出(S1)和第三矢量信号输出(S3)由以下等式来生成:
AL_DED=S1 3+S3
在进一步的实施例中,在如图1所解说的检错和纠错装置100中提供标志生成器116。在一实施例中,提供标志生成器116以确定从零差错到三差错的差错数目。在一实施例中,标志生成器116生成被称为差错标志(差错_标志)122的两比特变量,其从检错和纠错装置100被输出作为零差错、单差错、双差错或三差错的两比特指示符。
在一实施例中,可基于来自双检错器112的双检错输出(AL_DED)114和来自校正子生成器108的第一矢量信号输出(S0)来确定差错标志(差错_标志)122:
| 差错数目 | S<sub>0</sub> | S<sub>0</sub>、S<sub>1</sub>和S<sub>3</sub>之间的关系 | AL_DED | 差错_标志 |
| 无差错 | 0 | S<sub>1</sub>=S<sub>3</sub>=0 | 0 | 00 |
| 单差错 | 1 | S<sub>1</sub><sup>3</sup>=S<sub>3</sub> | 0 | 01 |
| 双差错 | 0 | S<sub>1</sub><sup>3</sup>≠S<sub>3</sub> | 1 | 10 |
| 三差错 | 1 | S<sub>1</sub><sup>3</sup>≠S<sub>3</sub> | 1 | 11 |
表1
根据上表,差错_标志和S0之间的关系可以表示如下:
差错_标志的最高有效位(MSB)=AL_DED
差错_标志的最低有效位(LSB)=S0
如上所述,提供SEC差错位置解码器118来定位单差错,以及提供DEC差错位置解码器120来定位双差错。在一实施例中,SEC差错位置解码器118被耦合以从控制器110接收单纠错输出(SEC_输出),并基于来自控制器110的SEC_输出来输出单差错位置解码器输出(e_sec)124。在一实施例中,DEC差错位置解码器120被耦合以从控制器110接收双纠错输出(DEC_输出),并基于来自控制器110的DEC_输出来输出双差错位置解码器输出(e_dec)126。
在一实施例中,在检错和纠错装置100中提供复用器128以生成复用器输出130。在图1所解说的实施例中,复用器128包括2:1复用器,其具有被耦合到单差错位置解码器输出(e_sec)124的第一输入,被耦合到双差错位置解码器输出(e_dec)126的第二输入,以及基于控制输入132来输出单差错位置解码器输出(e_sec)或双差错位置解码器输出(e_dec)的复用器输出130。
在图1所解说的实施例中,复用器128的控制输入132是从双检错器112接收双检错输出(AL_DED)的逻辑补的输入。在一实施例中,处于复用器128的控制输入132处的控制信号(其为~AL_DED)根据以下关系来确定复用器128的输出130:
| 控制信号(~AL_DED) | 复用器的输出 |
| 0 | DEC差错位置解码器的输出e_dec |
| 1 | SEC差错位置解码器的输出e_sec |
表2
在该实施例中,可纠正数据输入中直到双差错的比特差错。尽管在该实施例中三差错可能是不可纠正的,但由标志生成器116生成的差错标志122可指示三差错的存在。例如,在上面关于表1所述的实施例中,两比特差错标志11表示三差错的存在。
在上文所描述的实施例中,差错数目、来自校正子生成器108的第一矢量信号输出(S0)、来自SEC差错位置解码器118的输出(e_sec)124、来自DEC差错位置解码器120的输出(e_dec)126、AL_DED的逻辑补(~AL_DED)、和复用器128的输出(e)130之间的关系被概述在下表中:
表3
在进一步的实施例中,提供纠错器134,其具有耦合以接收输入数据(数据比特_输入)的数据输入,耦合到复用器128的差错矢量输出(e)130的差错矢量输入,以及输出经纠正的数据(数据比特_输出)的输出106。
图2是解说包括触发器和定时控制器但不包括具有复用器的分开的SEC和DEC差错位置解码器的检错和纠错装置200的另一实施例的框图。在图2中,检错和纠错装置200具有数据输入(数据比特_输入)202、差错校验输入(校验比特_输入)204、控制输入206、经纠正数据输出(数据比特_输出)208、单检错输出(AL_SED)210和三检错输出(AL_TED)212。在图2所解说的实施例中,检错和纠错装置200包括校正子生成器214。在一实施例中,图2中的校正子生成器214可类似于如上文所描述和如图1所示的校正子生成器108。例如,图2中的校正子生成器214可包括奇偶校验矩阵解码器(诸如,使用BCH码的基于XOR树的奇偶校验矩阵解码器),如以上针对图1中所示实施例所描述的。
在图2所解说的实施例中,提供定时控制器216。在一实施例中,定时控制器216包括延迟线,其实施例将在下文参照图3进一步详细描述。参照图2,定时控制器216被耦合到控制输入206,并且在来自控制输入206的传入信号在控制输出218处离开定时控制器216之前将传入信号延迟达给定的时间量。在一实施例中,检错和纠错装置200包括触发器220,其具有被耦合到校正子生成器214的输出的数据输入222、被耦合到定时控制器216的控制输出218的翻转输入224、以及基于从校正子生成器214接收到的校正子和定时控制器216的控制输出218来输出经递送的校正子输出226的输出。
在一实施例中,在检错和纠错装置200中提供差错位置解码器228。在一实施例中,差错位置解码器228具有被耦合以接收来自触发器220的经递送的校正子输出226的输入、差错位置解码器输出230、单差错解码器输出(SED)232和双差错解码器输出(DED)234。在图2所示的实施例中,在检错和纠错装置200中提供纠错器236。在一实施例中,纠错器236具有被耦合到数据输入(数据比特_输入)202的第一输入,被耦合到差错位置解码器输出230的第二输入、以及生成检错和纠错装置200的经纠正的数据输出(数据比特_输出)208的输出。
在一实施例中,检错和纠错装置200还包括生成单检错输出(AL_SED)210和三检错输出(AL_TED)212的检错器238。在一实施例中,检错器238具有被耦合以接收来自触发器220的经递送校正子输出226的第一输入、被耦合以接收单差错解码器输出(SED)232的第二输入、以及被耦合以接收来自差错位置解码器228的双差错解码器输出(DED)232的第三输入。
在一实施例中,检错器238包括OR(或)门240,其具有耦合以接收经递送校正子输出226的输入、以及被配置为输出单检错输出(AL_SED)210的输出。在进一步的实施例中,检错器238还包括AND(与)门242,其具有被耦合到OR门240的输出的第一输入,被耦合到单差错解码器输出(SED)232的补的第二输入、以及被耦合到双误差解码器输出(DED)234的补的第三输出。在图2所示的实施例中,AND门242的输出是三检错输出(AL_TED)212。
图3是解说包括用于在图2的检错和纠错装置的实施例中生成触发器220的控制信号的延迟线300的定时控制器216的实施例的框图。在一实施例中,控制输入206接收具有正上升沿的时钟信号302,并且当时钟信号302离开延迟线300的输出218时,时钟信号302的正上升沿被延迟给定的时间量。
在一实施例中,可在延迟线300中提供多个逻辑门或缓冲器以延迟时钟信号302的传播。在图3所示的实施例中,延迟线300包括一个或多个AND门(诸如,AND门304a、304b、304c和304d),一个或多个NAND(与非)门(诸如,NAND门306)以及一个或多个缓冲器(诸如,缓冲器308a、308b和308c),以延迟时钟信号302从延迟线300的输入206到输出218的传播。也可在本公开的范围内实现其他类型的逻辑门、缓冲器或延迟线。此外,虽然图3解说了正边沿触发的触发器220(诸如,D触发器),但是在其他实施例中可实现其他类型的触发器。例如,可实现其他类型的触发(诸如,负边沿触发),而不是正边沿触发。
在一实施例中,实现在图3中的延迟线300和触发器以减少如图2所示的在差错位置解码器228中无效转变的概率。利用由延迟线300提供的所设定时间延迟量,时钟信号302在校正子稳定后到达触发器220,并且只有在校正子稳定后,校正子才由触发器220递送到差错位置解码器228作为经递送的校正子,以避免无效转变。在一实施例中,提供延迟线300以模拟由校正子生成器214生成的校正子的最差延迟。在一实施例中,通过模拟电路从数据和错误校验(数据比特_输入和校验比特_输入)输入202和204到校正子生成器214的输出的关键路径来创建延迟线300。该关键路径的最差情形时间延迟是使校正子稳定所需的最大时间(TI-S)。
在一实施例中,为了确保正确的触发器操作,延迟线300可被设计为使得由延迟线300产生的总时间延迟略微小于使校正子稳定所需的最大时间(TI-S),即使检错和纠错装置200的整体延迟略微增加。例如,在图3所示的实施例中,逻辑门的数目(诸如,AND门304a、304b、304c和304d以及NAND门306)可被实现为模拟在从校正子输入到校正子输出的关键路径上使校正子稳定所需的最大时间(TI-S),并且可添加缓冲器(诸如,缓冲器308a、308b和308c)以产生附加的时间延迟。
图4是解说具有触发器、定时控制器、分开的单纠错(SEC)和双纠错(DEC)差错位置解码器、复用器和标志生成器的检错和纠错装置的又一实施例的框图。在图4所解说的实施例中,检错和纠错装置400具有数据输入(数据比特_输入)402、差错校验输入(校验比特_输入)404和经纠正的数据输出(数据比特_输出)406。在该实施例中,检错和纠错装置400包括校正子生成器408,其被配置为接收数据输入(数据比特_输入)402和差错校验输入(校验比特_输入)404。
在一实施例中,校正子生成器408能够以类似于上文所描述和图1所示的实施例中的校验生成器108的方式响应于数据输入(数据比特_输入)402和差错校验输入(校验比特_输入)404生成第一矢量信号输出(S0)、第二矢量信号输出(S1)和第三矢量信号输出(S3)。在一实施例中,校正子生成器408包括奇偶校验矩阵解码器,而差错校验输入(校验比特_输入)404包括奇偶校验比特输入。在一实施例中,奇偶校验矩阵解码器可包括基于XOR树的奇偶校验矩阵解码器。例如,可通过实现任何已知的ECC(诸如,BCH码)来构建校正子生成器408。
在图4所解说的实施例中,检错和纠错装置400还包括控制器410,其被配置为从校正子生成器408接收第一矢量信号输出(S0)、第二矢量信号输出(S1)和第三矢量信号输出(S3),并且被配置为基于来自校正子生成器108的三个矢量信号S0、S1和S3来生成单纠错输出(SEC_输出)和双纠错输出(DEC_输出)。在一实施例中,SEC_输出和DEC_输出可以与上文图1所描述的相同的方式来生成。
在图4所解说的实施例中,检错和纠错装置400进一步包括双检错器412,其具有被耦合以从校正子生成器108接收第一矢量信号输出(S0)、第二矢量信号输出(S1)和第三矢量信号输出(S3)的输入,以及具有基于来自校正子生成器408的三个矢量信号S0、S1和S3中的至少两者来生成双检错输出(AL_DED)414的输出。
在一实施例中,来自双检错器412的双检错输出(AL_DED)414可基于接收自校正子生成器108的第二矢量信号输出(S1)和第三矢量信号输出(S3)由关于图1所描述的相同等式来生成:
AL_DED=S1 3+S3
在一实施例中,如图4所解说的,在检错和纠错装置400中以与上文如图1所描述的实施例类似的方式提供标志生成器416。参照图4,标志生成器416生成了两比特差错标志(差错_标志)422,其是从检错和纠错装置400输出的作为零差错、单差错、双差错或三差错的两比特指示符。在一实施例中,根据关于图1所描述的表1,可生成两比特差错标志(差错_标志)422以指示零差错、单差错,双差错或三差错的存在。
参照图4,提供了具有接收时钟信号的控制输入426和产生经时间延迟的时钟输出的输出428的定时控制器424。在一实施例中,定时控制器424可包括延迟线(诸如,如图3所解说和上文所描述的延迟线300)。例如,如图3所示,此延迟线可包括一个或多个逻辑门(诸如,AND或NAND门)、或者一个或多个缓冲器、或者逻辑门和缓冲器的组合。参照图4,提供了来自定时控制器424的输出428的经时间延迟的时钟输出作为两个触发器430和432的翻转输入。
在图4所示的实施例中,提供了第一触发器430,其包括从控制器410接收单纠错输出(SEC_输出)的数据输入434,和从定时控制器424接收经时间延迟的时钟输出的翻转输入436。在一实施例中,第一触发器430包括具有正边沿触发的D触发器。同样,提供了第二触发器432,其包括从控制器410接收双纠错输出(DEC_输出)的数据输入438,和从定时控制器424接收经时间延迟的时钟输出的翻转输入440。在进一步的实施例中,第二触发器432还可包括具有正边沿触发的D触发器。在替换的实施例中,可实现其他类型的触发器,并且触发器的触发不需要是由时钟信号进行的正边沿触发。
在图4所示的实施例中,第一触发器430向单纠错(SEC)差错位置解码器444输出经递送的SEC_输出442,而第二触发器432向双纠错(DEC)差错位置解码器448输出经递送的DEC_输出446。SEC_输出和DEC_输出可由控制器410以与上文关于图1所描述的相同方式生成。在如图4所示的实施例中提供了第一触发器430和第二触发器432,以确保SEC_输出和DEC_输出仅在校正子被稳定之后分别被递送到SEC差错位置解码器444和DEC差错位置解码器448以避免无效转变。
在一实施例中,图4中的SEC差错位置解码器444和DEC差错位置解码器448以与上文关于图1所描述的相同方式分别生成单差错位置解码器输出(e_sec)450和双差错位置解码器输出(e_dec)452。参照图4,复用器454具有被耦合以接收单差错位置解码器输出(e_sec)450的第一输入、被耦合以接收双差错位置解码器输出(e_dec)452的第二输入以及控制输入456。在一实施例中,控制输入456被耦合以与上文关于图1所描述的相同方式接收AL_DED的逻辑补。在一实施例中,例如根据表2和3中所描述的关系,以与上文关于图1所描述的相同方式选择复用器454的输出(e)458。
在进一步的实施例中,在图4的检错和纠错装置400中提供纠错器460。在一实施例中,纠错器具有被耦合以接收输入数据(数据比特_输入)的数据输入、被耦合到复用器454的差错矢量输出(e)458的差错矢量输入、以及输出经纠正的数据(数据比特_输出)的输出406。
图5是解说具有被配置为执行检错和纠错功能的逻辑的检错和纠错装置的实施例的简化框图。在图5所解说的实施例中,检错和纠错装置500包括在框505中被配置为定位单差错的逻辑、被配置为定位双差错的逻辑510、以及被配置为生成经纠正的输出数据的逻辑515。如框505、510和515中所解说的被配置为定位单差错的逻辑、被配置为定位双差错的逻辑、以及被配置为生成经纠正的输出数据的逻辑中的每一者可包括上文关于图1到图4所描述的检错和纠错装置的各种实施例中的一个或多个元件。
图6是解说其中可实现检错和纠错装置的存储器设备的实施例的框图。在图6所解说的实施例中,存储器600包括存储器单元605和检错和纠错装置610。检错和纠错装置610可被集成在与存储器单元605相同的芯片上,或者可被提供在单独的芯片上。如图6所示,来自存储器单元的原始数据可沿着箭头615被传送到检错和纠错装置610以用于检错和纠错,并且来自检错和纠错装置610的经纠正的数据可沿箭头620被传送回到存储器单元605。检错和纠错装置610可包括上文关于图1到图4所描述的各种实施例中的任一者。
本领域技术人员将领会,信息和信号可使用各种不同技术和技艺中的任何一种来表示。例如,贯穿上面说明始终可能被述及的数据、指令、命令、信息、信号、比特、码元和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
此外,本领域技术人员将领会,结合本文所公开的各实施例描述的各种解说性逻辑框、模块、电路和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体装置的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
结合本文所公开的实施例描述的方法、序列或算法可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或者本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
相应地,本公开的一实施例可包括实施用于检错和纠错的方法的计算机可读介质。相应地,本公开不限于所解说的示例且任何用于执行文本所描述的功能性的手段均被包括在本公开的实施例中。
尽管上述公开示出了解说性实施例,但是应当注意,在其中可作出各种变更和修改而不会脱离所附权利要求的范围。根据本文中所描述的各实施例的方法权利要求的功能、步骤或动作不必按任何特定次序来执行,除非另外明确声明。此外,尽管各要素可能是以单数来描述或主张权利的,但是复数也是已料想了的,除非显式地声明了限定于单数。
Claims (18)
1.一种检错和纠错装置,包括:
校正子生成器,其被配置为接收输入数据并且基于所述输入数据来生成第一矢量信号输出和一个或多个附加矢量信号输出;
双检错器,其被配置为从所述校正子生成器接收所述第一矢量信号输出和所述一个或多个附加矢量信号输出,其中所述双检错器被配置为基于所述第一矢量信号输出和所述一个或多个附加矢量信号输出中的两者或更多者来生成双检错输出;
控制器,其被配置为接收所述第一矢量信号输出和所述一个或多个附加矢量信号输出,并且基于所述第一矢量信号输出和所述一个或多个附加矢量信号输出来生成单纠错输出和双纠错输出;
单差错位置解码器,其被配置为定位在输入数据中的单差错,其中所述单差错位置解码器被配置为接收所述单纠错输出并且生成单差错位置解码器输出;
双差错位置解码器,其被配置为定位在所述输入数据中的双差错,其中所述双差错位置解码器被配置为接收所述双纠错输出并且生成双差错位置解码器输出;
复用器,其包括:第一输入,其被耦合到所述单差错位置解码器输出;以及第二输入,其被耦合到所述双差错位置解码器输出,其中所述复用器进一步包括:控制输入,其被配置为接收所述双检错输出;以及输出,其被配置为基于所述控制输入来输出所述单差错位置解码器输出或所述双差错位置解码器输出;以及
纠错器,其被耦合到所述单差错位置解码器和所述双差错位置解码器以生成经纠正的输出数据。
2.如权利要求1所述的装置,其中所述校正子生成器包括奇偶校验矩阵解码器。
3.如权利要求2所述的装置,其中所述奇偶校验矩阵解码器包括基于XOR树的奇偶校验矩阵解码器。
4.如权利要求1所述的装置,进一步包括标志生成器,其被配置为从所述双检错器接收所述双检错输出和从所述校正子生成器接收所述第一矢量信号输出,并且基于所述双检错输出和所述第一矢量信号输出来生成差错标志。
5.如权利要求1所述的装置,其中所述纠错器包括:
输入,其被配置为接收所述输入数据;
差错位置解码器输入,其被耦合到所述复用器的输出;以及
输出,其被配置为基于所述输入数据和所述差错位置解码器输入来输出所述经纠正的输出数据。
6.如权利要求1所述的装置,进一步包括:
定时控制器,其具有控制输入和控制输出;
第一触发器,其包括被耦合以接收所述单纠错输出的输入,被耦合到所述定时控制器的控制输出的翻转输入,以及被配置为输出第一经递送校正子输出的输出;以及
第二触发器,其包括被耦合以接收所述双纠错输出的输入,被耦合到所述定时控制器的控制输出的翻转输入,以及被配置为输出第二经递送校正子输出的输出。
7.如权利要求6所述的装置,其中所述定时控制器包括延迟单元。
8.如权利要求7所述的装置,其中所述延迟单元包括一个或多个逻辑门。
9.如权利要求8所述的装置,其中所述延迟单元进一步包括一个或多个缓冲器。
10.如权利要求6所述的装置,其中所述第一触发器包括第一正边沿触发的触发器,并且其中所述第二触发器包括第二正边沿触发的触发器。
11.一种检错和纠错设备,包括:
用于生成校正子的装置,其中用于生成所述校正子的装置被配置为接收输入数据,并且基于所述输入数据来输出第一矢量信号输出和一个或多个附加矢量信号输出;
用于基于所述第一矢量信号输出和所述一个或多个附加矢量信号输出来检测双差错以生成双检错输出的装置;
用于生成单纠错输出和双纠错输出的装置,其中用于生成单纠错输出和双纠错输出的装置被配置为接收所述第一矢量信号输出和所述一个或多个附加矢量信号输出,并且基于所述第一矢量信号输出和所述一个或多个附加矢量信号输出来生成单纠错输出和双纠错输出;
用于单差错位置解码以定位在输入数据中的单差错的装置,其中用于单差错位置解码的装置被配置为接收所述单纠错输出并且输出单差错位置解码器输出;
用于双差错位置解码以定位在所述输入数据中的双差错的装置,其中用于双差错位置解码的装置被配置为接收所述双纠错输出并且输出双差错位置解码器输出;
用于复用的装置,其包括:第一输入,其被耦合到所述单差错位置解码器输出;第二输入,其被耦合到所述双差错位置解码器输出;控制输入,其被配置为接收所述双检错输出;以及输出,其被配置为基于所述控制输入来输出所述单差错位置解码器输出或所述双差错位置解码器输出;以及
用于纠错以基于由用于单差错位置解码的装置定位的所述单差错和由用于双差错位置解码的装置定位的所述双差错来生成经纠正的输出数据的装置。
12.如权利要求11所述的设备,其中用于生成所述校正子的装置包括奇偶校验矩阵解码器。
13.如权利要求11所述的设备,进一步包括用于基于所述双检错输出和所述第一矢量信号输出来生成差错标志的装置。
14.如权利要求11所述的设备,进一步包括用于纠错的装置,包括:
数据输入,其被配置为接收所述输入数据;
差错位置解码器输入,其被耦合到用于复用装置的输出;以及
输出,其被配置为基于所述数据输入和所述差错位置解码器输入来输出经纠正的数据。
15.如权利要求11所述的设备,进一步包括:
用于控制定时的装置,用于控制定时的装置具有控制输入和控制输出;
第一触发器,其包括被耦合以接收所述单纠错输出的输入,被耦合到用于控制定时的装置的控制输出的翻转输入,以及被配置为输出第一经递送校正子输出的输出;以及
第二触发器,其包括被耦合以接收所述双纠错输出的输入,被耦合到用于控制定时的装置的控制输出的翻转输入,以及被配置为输出第二经递送校正子输出的输出。
16.如权利要求15所述的设备,其中所述第一经递送校正子输出被递送到用于单差错位置解码的装置,并且其中所述第二经递送校正子输出被递送到用于双差错位置解码的装置。
17.一种存储器,包括:
存储器单元;以及
检错和纠错装置,其被耦合以接收来自所述存储器单元的输入数据,并且将经纠正的输出数据传送到所述存储器单元,所述检错和纠错装置包括:
校正子生成器,其被配置为接收所述输入数据并且基于所述输入数据来生成第一矢量信号输出和一个或多个附加矢量信号输出;
双检错器,其被配置为从所述校正子生成器接收所述第一矢量信号输出和所述一个或多个附加矢量信号输出,其中所述双检错器被配置为基于所述第一矢量信号输出和所述一个或多个附加矢量信号输出中的两者或更多者来生成双检错输出;
控制器,其被配置为接收所述第一矢量信号输出和所述一个或多个附加矢量信号输出,并且基于所述第一矢量信号输出和所述一个或多个附加矢量信号输出来生成单纠错输出和双纠错输出,
单差错位置解码器,其被配置为定位在输入数据中的单差错,其中所述单差错位置解码器被配置为接收所述单纠错输出并且生成单差错位置解码器输出;
双差错位置解码器,其被配置为定位在所述输入数据中的双差错,其中所述双差错位置解码器被配置为接收所述双纠错输出并且生成双差错位置解码器输出;
复用器,其包括:第一输入,其被耦合到所述单差错位置解码器输出;以及第二输入,其被耦合到所述双差错位置解码器输出,其中所述复用器进一步包括:控制输入,其被配置为接收所述双检错输出;以及输出,其被配置为基于所述控制输入来输出所述单差错位置解码器输出或所述双差错位置解码器输出;以及
纠错器,其被耦合到所述单差错位置解码器和所述双差错位置解码器以生成经纠正的输出数据。
18.如权利要求17所述的存储器,其中所述检错和纠错装置进一步包括:
定时控制器,其具有控制输入和控制输出;
第一触发器,其包括被耦合以接收所述单纠错输出的输入,被耦合到所述定时控制器的控制输出的翻转输入,以及被配置为输出第一经递送校正子输出的输出;以及
第二触发器,其包括被耦合以接收所述双纠错输出的输入,被耦合到所述定时控制器的控制输出的翻转输入,以及被配置为输出第二经递送校正子输出的输出。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/852,988 US9800271B2 (en) | 2015-09-14 | 2015-09-14 | Error correction and decoding |
| US14/852,988 | 2015-09-14 | ||
| PCT/US2016/048604 WO2017048474A1 (en) | 2015-09-14 | 2016-08-25 | Low-power double error correcting-triple error detecting (deb-ted) decoder |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108055876A CN108055876A (zh) | 2018-05-18 |
| CN108055876B true CN108055876B (zh) | 2022-11-18 |
Family
ID=56896776
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201680052581.0A Active CN108055876B (zh) | 2015-09-14 | 2016-08-25 | 低功率双纠错-三检错(deb-ted)解码器 |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US9800271B2 (zh) |
| EP (1) | EP3350930B1 (zh) |
| JP (1) | JP6884138B2 (zh) |
| KR (1) | KR102599033B1 (zh) |
| CN (1) | CN108055876B (zh) |
| TW (2) | TWI662796B (zh) |
| WO (1) | WO2017048474A1 (zh) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9800271B2 (en) | 2015-09-14 | 2017-10-24 | Qualcomm Incorporated | Error correction and decoding |
| US10268539B2 (en) * | 2015-12-28 | 2019-04-23 | Intel Corporation | Apparatus and method for multi-bit error detection and correction |
| KR102453437B1 (ko) | 2018-01-25 | 2022-10-12 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
| KR102583797B1 (ko) * | 2018-04-09 | 2023-10-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| KR102105428B1 (ko) * | 2018-08-29 | 2020-04-28 | 남서울대학교 산학협력단 | Sec부호에서 멀티오류정정을 위한 복호기 및 그 복호 방법 |
| KR102045437B1 (ko) * | 2018-09-07 | 2019-12-02 | 고려대학교 산학협력단 | 저복잡도 신드롬 기반 복호 장치 및 그 방법 |
| RU2704499C1 (ru) * | 2018-11-22 | 2019-10-29 | Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет аэрокосмического приборостроения" | Декодер кода Боуза-Чоудхури-Хоквингема с каноническим декодером Хэмминга |
| US11016843B2 (en) * | 2018-12-06 | 2021-05-25 | Micron Technology, Inc. | Direct-input redundancy scheme with adaptive syndrome decoder |
| KR102758952B1 (ko) | 2018-12-17 | 2025-01-23 | 삼성전자주식회사 | 에러 정정 코드 회로, 반도체 메모리 장치 및 메모리 시스템 |
| CN111835320A (zh) * | 2019-04-22 | 2020-10-27 | 珠海格力电器股份有限公司 | 一种信号的边沿检测装置 |
| KR102705065B1 (ko) * | 2019-07-29 | 2024-09-09 | 에스케이하이닉스 주식회사 | 낮은 레이턴시를 갖는 에러정정코드 디코더 |
| US11095313B2 (en) | 2019-10-21 | 2021-08-17 | International Business Machines Corporation | Employing single error correction and triple error detection to optimize bandwidth and resilience under multiple bit failures |
| KR20210092391A (ko) * | 2020-01-16 | 2021-07-26 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로 및 반도체 메모리 장치 |
| JP7631126B2 (ja) * | 2021-06-29 | 2025-02-18 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| CN118119929A (zh) | 2021-10-18 | 2024-05-31 | 美光科技公司 | 存储器中的ecc功率消耗优化 |
| US12250005B2 (en) * | 2023-06-16 | 2025-03-11 | Microsoft Technology Licensing, Llc | Error correction systems and methods |
| DE102023119646A1 (de) * | 2023-07-25 | 2025-01-30 | Infineon Technologies Ag | Verarbeitung eines datenworts |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08111647A (ja) * | 1994-10-20 | 1996-04-30 | Hiroichi Okano | 単一誤り訂正および多重誤り検出bch符号の復号装置 |
| CN1637713A (zh) * | 2003-12-23 | 2005-07-13 | 国际商业机器公司 | 用于双重错误修正和三重错误检测的(18,9)错误修正码 |
| CN101493804A (zh) * | 2008-01-24 | 2009-07-29 | 国际商业机器公司 | 数据总线系统及其编/解码器和编/解码方法 |
| KR20090092628A (ko) * | 2008-02-27 | 2009-09-01 | 삼성전자주식회사 | 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법 |
Family Cites Families (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3623155A (en) * | 1969-12-24 | 1971-11-23 | Ibm | Optimum apparatus and method for check bit generation and error detection, location and correction |
| US3650107A (en) * | 1970-08-12 | 1972-03-21 | Sperry Rand Corp | Power transmission |
| US4030067A (en) | 1975-12-29 | 1977-06-14 | Honeywell Information Systems, Inc. | Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes |
| US4397022A (en) * | 1981-01-30 | 1983-08-02 | Weng Ming I | Weighted erasure codec for the (24, 12) extended Golay code |
| US4556977A (en) | 1983-09-15 | 1985-12-03 | International Business Machines Corporation | Decoding of BCH double error correction - triple error detection (DEC-TED) codes |
| US4979174A (en) * | 1988-12-29 | 1990-12-18 | At&T Bell Laboratories | Error correction and detection apparatus and method |
| US5323402A (en) * | 1991-02-14 | 1994-06-21 | The Mitre Corporation | Programmable systolic BCH decoder |
| KR950008789B1 (ko) * | 1992-07-30 | 1995-08-08 | 삼성전자주식회사 | 멀티-이씨씨(ecc)회로를 내장하는 반도체 메모리 장치 |
| DE69317766T2 (de) | 1993-06-10 | 1998-07-30 | Bull Hn Information Syst | Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc) |
| US5666371A (en) * | 1995-02-24 | 1997-09-09 | Unisys Corporation | Method and apparatus for detecting errors in a system that employs multi-bit wide memory elements |
| JP3258897B2 (ja) * | 1996-03-18 | 2002-02-18 | 富士通株式会社 | 軟判定誤り訂正復号装置 |
| CN1154908C (zh) * | 1997-04-02 | 2004-06-23 | 松下电器产业株式会社 | 数据输入存贮器并对存储器内存入的数据进行运算输出并能高速操作的数据输入输出装置 |
| US6662336B1 (en) * | 1999-07-06 | 2003-12-09 | Cirrus Logic, Inc. | Error correction method and apparatus |
| US6662333B1 (en) * | 2000-02-04 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Shared error correction for memory design |
| US6701480B1 (en) * | 2000-03-08 | 2004-03-02 | Rockwell Automation Technologies, Inc. | System and method for providing error check and correction in memory systems |
| US7634709B2 (en) | 2001-10-05 | 2009-12-15 | Unisys Corporation | Familial correction with non-familial double bit error detection |
| US7051264B2 (en) * | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
| GB2391769B (en) * | 2002-07-31 | 2005-07-06 | Hewlett Packard Co | Reed-Solomon decoder and decoding method for errors and erasures decoding |
| TWI234937B (en) * | 2003-05-22 | 2005-06-21 | Edimax Technology Co Ltd | Encoding technology to detect and correct error |
| JP3892832B2 (ja) * | 2003-08-11 | 2007-03-14 | 株式会社東芝 | 半導体記憶装置 |
| EP1612949B1 (en) | 2004-06-30 | 2010-04-21 | STMicroelectronics Srl | Method and system for correcting errors in electronic memory devices |
| US7502986B2 (en) * | 2005-02-09 | 2009-03-10 | International Business Machines Corporation | Method and apparatus for collecting failure information on error correction code (ECC) protected data |
| KR100732628B1 (ko) * | 2005-07-28 | 2007-06-27 | 삼성전자주식회사 | 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치 |
| US7793195B1 (en) * | 2006-05-11 | 2010-09-07 | Link—A—Media Devices Corporation | Incremental generation of polynomials for decoding reed-solomon codes |
| JP5162763B2 (ja) * | 2007-08-07 | 2013-03-13 | 株式会社メガチップス | メモリアクセスシステム |
| KR101433620B1 (ko) * | 2007-08-17 | 2014-08-25 | 삼성전자주식회사 | 처리량을 높이기 위하여 더블 버퍼링 구조와 파이프라이닝기법을 이용하는 디코더 및 그 디코딩 방법 |
| US8261165B2 (en) | 2008-11-14 | 2012-09-04 | Silicon Laboratories Inc. | Multi-syndrome error correction circuit |
| TWI399042B (zh) * | 2009-06-06 | 2013-06-11 | Univ Ishou | To detect the wrong position of the detection device |
| US8381083B2 (en) * | 2009-10-22 | 2013-02-19 | Arm Limited | Error control coding for single error correction and double error detection |
| WO2011109713A2 (en) | 2010-03-05 | 2011-09-09 | Board Of Regents Of The University Of Texas System | Error detecting/correcting code enhanced self-checked/corrected/timed nanoelectronic circuits |
| US8984367B2 (en) * | 2011-02-25 | 2015-03-17 | Altera Corporation | Error detection and correction circuitry |
| US8612834B2 (en) * | 2011-03-08 | 2013-12-17 | Intel Corporation | Apparatus, system, and method for decoding linear block codes in a memory controller |
| GB201114831D0 (en) * | 2011-08-26 | 2011-10-12 | Univ Oxford Brookes | Circuit with error correction |
| US8762821B2 (en) * | 2012-03-30 | 2014-06-24 | Intel Corporation | Method of correcting adjacent errors by using BCH-based error correction coding |
| US8694862B2 (en) * | 2012-04-20 | 2014-04-08 | Arm Limited | Data processing apparatus using implicit data storage data storage and method of implicit data storage |
| US8745472B2 (en) | 2012-09-01 | 2014-06-03 | Texas Instruments Incorporated | Memory with segmented error correction codes |
| US8984368B2 (en) * | 2012-10-11 | 2015-03-17 | Advanced Micro Devices, Inc. | High reliability memory controller |
| US9246516B2 (en) * | 2012-12-20 | 2016-01-26 | Intel Corporation | Techniques for error correction of encoded data |
| US9054742B2 (en) * | 2013-03-14 | 2015-06-09 | Intel Corporation | Error and erasure decoding apparatus and method |
| US9417957B2 (en) * | 2013-10-04 | 2016-08-16 | Infineon Technologies Ag | Method of detecting bit errors, an electronic circuit for detecting bit errors, and a data storage device |
| US9800271B2 (en) | 2015-09-14 | 2017-10-24 | Qualcomm Incorporated | Error correction and decoding |
-
2015
- 2015-09-14 US US14/852,988 patent/US9800271B2/en not_active Expired - Fee Related
-
2016
- 2016-08-25 EP EP16763625.7A patent/EP3350930B1/en active Active
- 2016-08-25 JP JP2018511372A patent/JP6884138B2/ja not_active Expired - Fee Related
- 2016-08-25 KR KR1020187010280A patent/KR102599033B1/ko active Active
- 2016-08-25 WO PCT/US2016/048604 patent/WO2017048474A1/en not_active Ceased
- 2016-08-25 CN CN201680052581.0A patent/CN108055876B/zh active Active
- 2016-08-29 TW TW107106147A patent/TWI662796B/zh active
- 2016-08-29 TW TW105127673A patent/TWI625943B/zh active
-
2017
- 2017-09-26 US US15/716,451 patent/US10263645B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08111647A (ja) * | 1994-10-20 | 1996-04-30 | Hiroichi Okano | 単一誤り訂正および多重誤り検出bch符号の復号装置 |
| CN1637713A (zh) * | 2003-12-23 | 2005-07-13 | 国际商业机器公司 | 用于双重错误修正和三重错误检测的(18,9)错误修正码 |
| CN101493804A (zh) * | 2008-01-24 | 2009-07-29 | 国际商业机器公司 | 数据总线系统及其编/解码器和编/解码方法 |
| KR20090092628A (ko) * | 2008-02-27 | 2009-09-01 | 삼성전자주식회사 | 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법 |
Non-Patent Citations (3)
| Title |
|---|
| BCH(31,16)、CRC-32与交织码级联的实现及分析;白婷等;《遥测遥控》;20071115(第06期);全文 * |
| SEU Tolerant Latch Based on Error Detection;Xiaoxuan She;《IEEE Transactions on Nuclear Science》;20120105;全文 * |
| 三值汉明码检错纠错原理和方法;沈云付;《计算机学报》;20150831;全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| TWI625943B (zh) | 2018-06-01 |
| CN108055876A (zh) | 2018-05-18 |
| TW201714411A (zh) | 2017-04-16 |
| TW201818666A (zh) | 2018-05-16 |
| TWI662796B (zh) | 2019-06-11 |
| KR102599033B1 (ko) | 2023-11-03 |
| US10263645B2 (en) | 2019-04-16 |
| US20170077963A1 (en) | 2017-03-16 |
| KR20180053700A (ko) | 2018-05-23 |
| EP3350930B1 (en) | 2023-07-26 |
| JP2018533254A (ja) | 2018-11-08 |
| WO2017048474A1 (en) | 2017-03-23 |
| JP6884138B2 (ja) | 2021-06-09 |
| US20180019767A1 (en) | 2018-01-18 |
| EP3350930A1 (en) | 2018-07-25 |
| US9800271B2 (en) | 2017-10-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108055876B (zh) | 低功率双纠错-三检错(deb-ted)解码器 | |
| US11683050B2 (en) | Memory controller and method of data bus inversion using an error detection correction code | |
| CN104247273B (zh) | 用于重构码字的设备及计算机实现的方法 | |
| CN104583964B (zh) | 与用于编码的数据的纠错相关联的方法和设备 | |
| US10291258B2 (en) | Error correcting code for correcting single symbol errors and detecting double bit errors | |
| CN103890732B (zh) | 数字错误校正 | |
| CN102939590B (zh) | 为在存储器元件内存储的数据提供数据保护的方法及其集成电路器件 | |
| CN104409103A (zh) | 一种新颖的宇航用存储器二维编码加固方法及电路装置 | |
| US20140195881A1 (en) | Bose-chaudhuri-hocquenghem (bch) decoder | |
| TW201604882A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
| CN103218271B (zh) | 一种数据纠错方法及装置 | |
| CN110322922A (zh) | 带内动态随机存取存储器纠错编码的设备和系统 | |
| Farheen et al. | Error detection and correction using RP SEC-DED | |
| Mandal et al. | A novel method for soft error mitigation in FPGA using modified matrix code | |
| US9275758B2 (en) | Error detection circuit and semiconductor integrated circuit using the same | |
| JP3743915B2 (ja) | スポッティバイト誤り訂正・検出方法及び装置 | |
| BR112018004992B1 (pt) | Aparelho e método de detecção e correção de erros para um código bose-chaudhuri-hocquenghem, bch, de correção de erros duplos e detecção de erros triplos, dec-ted, e, memória | |
| Sunita et al. | Pipeline architecture for fast decoding of bch codes For nor flash memory | |
| US20130346828A1 (en) | Device and method for storing encoded and/or decoded codes by re-using encoder | |
| JP2016009893A (ja) | データ不正検出装置及びデータ不正検出方法 | |
| CN109669804B (zh) | 用于降低ecc存储器的存储区实际软错误率的方法和装置 | |
| Kang et al. | Fault Bounding On-Die BCH Codes for Improving Reliability of System ECC |
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 |