TWI662796B - 錯誤校正及解碼 - Google Patents
錯誤校正及解碼 Download PDFInfo
- Publication number
- TWI662796B TWI662796B TW107106147A TW107106147A TWI662796B TW I662796 B TWI662796 B TW I662796B TW 107106147 A TW107106147 A TW 107106147A TW 107106147 A TW107106147 A TW 107106147A TW I662796 B TWI662796 B TW I662796B
- Authority
- TW
- Taiwan
- Prior art keywords
- output
- error
- syndrome
- correction
- position decoder
- Prior art date
Links
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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/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)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (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方案可能不足以強大到緩解此等錯誤。 已設計較強大錯誤偵測及校正方案來解決多位元錯誤之問題。舉例而言,已設計諸如雙錯誤校正-三錯誤偵測(DEC-TED)之方案,其將提供比習知SEC-DED方案更強大的錯誤校正能力。然而,DEC-TED通常所需之電路的面積會比SEC-DED所需之面積大很多。此外,習知DEC-TED電路通常比習知SEC-DED電路消耗更多電力及產生更長潛時或時間延遲。舉例而言,若利用DEC-TED電路來校正單錯誤,則功率消耗及時間延遲會比SEC-DED電路大很多。 此外,當輸入由於錯誤位置解碼中的無效轉變而改變時,針對單或多位元錯誤校正實施錯誤校正碼的純組合電路可能通常消耗大量動態電力。降低用於錯誤偵測及校正(尤其用於諸如低功率記憶體晶片之低功率積體電路器件中的多位元錯誤偵測及校正)所需之功率消耗的量將為合乎需要的。
本發明之例示性實施例係針對記憶體中具有降低之功率消耗的雙錯誤校正之裝置及方法。 在一實施例中,提供一種錯誤偵測及校正裝置,該錯誤偵測及校正裝置包含:單錯誤位置解碼器,其經組態以定位輸入資料中之單錯誤;雙錯誤位置解碼器,其經組態以定位輸入資料中之雙錯誤;及錯誤校正器,其耦合至單錯誤位置解碼器及雙錯誤位置解碼器以產生經校正之輸出資料。 在另一實施例中,提供一種錯誤偵測及校正裝置,該錯誤偵測及校正裝置包含:用於單錯誤位置解碼以定位輸入資料中之單錯誤的構件;用於雙錯誤位置解碼以定位輸入資料中之雙錯誤的構件;及用於校正錯誤以基於單錯誤及雙錯誤而產生經校正之輸出資料的構件。 在另一實施例中,提供一種錯誤偵測及校正裝置,該錯誤偵測及校正裝置包含:經組態以定位輸入資料中之單錯誤的邏輯;經組態以定位輸入資料中之雙錯誤的邏輯;及經組態以基於單錯誤及雙錯誤而產生經校正之輸出資料的邏輯。 在又一實施例中,提供一種記憶體,該記憶體包含:記憶體胞;及經耦合以自記憶體胞接收輸入資料且將經校正之輸出資料傳輸至記憶體胞的錯誤偵測及校正裝置,該錯誤偵測及校正裝置包含:單錯誤位置解碼器,其經組態以定位輸入資料中之單錯誤;雙錯誤位置解碼器,其經組態以定位輸入資料中之雙錯誤;及錯誤校正器,其耦合至單錯誤位置解碼器及雙錯誤位置解碼器以產生經校正之輸出資料。
在針對特定實施例之以下描述及相關圖式中描述本發明之態樣。可在不脫離本發明之範疇的情況下設計替代實施例。此外,將不詳細地描述或將省略熟知元件,以免混淆本發明之相關細節。 詞語「例示性」在本文中用以意謂「充當實例、例子或說明」。本文中描述為「例示性」之任何實施例不必理解為比其他實施例更佳或更有利。同樣,術語「實施例」不要求所有實施例包括所論述之特徵、優點或操作模式。 本文中使用之術語僅出於描述特定實施例之目的,且並不意欲限制該等實施例。如本文所使用,除非上下文另外明確地指示,否則單數形式「一」及「該」意欲同樣包括複數形式。將進一步理解,術語「包含」或「包括」在本文中使用時指定所陳述的特徵、整體、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件或其群組之存在或添加。另外,應理解,除非另外明確說明,否則詞語「或」具有與布林(Boolean)運算子「OR」相同的含義,亦即,其涵蓋「或」及「皆」之可能性,且不限於「互斥或」(「XOR」)。亦應理解,除非另外明確說明,否則兩鄰接詞之間的符號「/」具有與「或」相同之含義。另外,除非另外明確說明,否則諸如「連接至」、「耦合至」或「與...聯通」之短語不限於直接連接。 此外,依據待由(例如)計算器件之元件執行的動作序列而描述諸多實施例。應認識到,可藉由特定電路(例如,中央處理單元(CPU)、圖形處理單元(GPU)、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA))或各種其他類型之通用或專用處理器或電路,藉由一或多個處理器所執行之程式指令,或藉由兩者之組合來執行本文描述之各種動作。此外,可認為本文描述之此等作用序列完全實施於任何形式之電腦可讀儲存媒體內,該電腦可讀儲存媒體中已儲存有一組相對應的電腦指令,該等電腦指令在執行時將使相關聯之處理器執行本文描述之功能性。因此,本發明之各種態樣可以多個不同形式實施,已預期其皆在所主張標的物之範疇內。此外,對於本文所描述之實施例中的每一者,任何此等實施例之相對應形式可在本文中描述為(例如)「經組態以執行所描述之動作的邏輯」。 圖1為說明具有資料輸入(databit_in) 102、錯誤檢查輸入(checkbit_in) 104及經校正資料輸出(databit_out) 106之錯誤偵測及校正裝置100的一實施例之方塊圖。此錯誤校正碼解碼器可實施於用於校正資料錯誤的各種數位裝置或器件中,例如,實施於諸如自旋轉移力矩磁性隨機存取記憶體(STT-MRAM)之記憶體裝置中。應瞭解,根據本發明之實施例的錯誤校正碼解碼器亦可由熟習此項技術者用於各種其他裝置或器件中。參看圖1,錯誤偵測及校正裝置100包括經組態以接收資料輸入(databit_in) 102及錯誤檢查輸入(checkbit_in) 104的校正子產生器108。在一實施例中,校正子產生器108能夠回應於資料輸入(databit_in) 102及錯誤檢查輸入(checkbit_in) 104而產生第一向量信號輸出(S0
)、第二向量信號輸出(S1
)及第三向量信號輸出(S3
)。 在一實施例中,校正子產生器108包含同位檢查矩陣解碼器,且錯誤檢查輸入(checkbit_in) 104包含同位檢查位元輸入。此校正子產生器108可藉由使用諸多已知錯誤校正碼(ECC)中的一者予以建構。在一實施例中,同位檢查矩陣解碼器可包含基於XOR樹之同位檢查矩陣解碼器。舉例而言,可藉由實施諸如雙錯誤校正-三錯誤偵測(DEC-TED)博斯-喬赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem, BCH)碼(其中α為伽羅華(Galois)場GF(2n
)中之基元元素)來建構校正子產生器108:由以上同位檢查矩陣產生之校正子可分成三部分,在替代實施例中,亦可實施其他類型之校正子產生器用於錯誤偵測及校正。 在圖1中所說明之實施例中,錯誤偵測及校正裝置100亦包括控制器110,該控制器經組態以自校正子產生器108接收第一向量信號輸出(S0
)、第二向量信號輸出(S1
)及第三向量信號輸出(S3
),且基於來自校正子產生器108之三個向量信號S0
、S1
及S3
中的至少兩者而產生單錯誤校正輸出(SEC_output)及雙錯誤校正輸出(DEC_output)。 在一實施例中,實施控制器110以產生單錯誤校正輸出(SEC_output)及雙錯誤校正輸出(DEC_output),該等輸出分別傳輸至單錯誤校正(SEC)錯誤位置解碼器118及雙錯誤校正(DEC)錯誤位置解碼器120之輸入。下文將進一步詳細描述SEC錯誤位置解碼器118及DEC錯誤位置解碼器120。在一實施例中,需要藉由不使SEC錯誤位置解碼器118及DEC錯誤位置解碼器120兩者同時有效地操作而降低錯誤偵測及校正裝置100的延遲及動態功率消耗。舉例而言,若資料輸入中之錯誤為單錯誤,則DEC錯誤位置解碼器120不應在作用中。同樣,若錯誤為雙錯誤,則SEC錯誤位置解碼器118不應在作用中。 在一實施例中,將控制器110之單錯誤校正輸出(SEC_output)及雙錯誤校正輸出(DEC_output)設定為滿足以上條件。舉例而言,若來自校正子產生器108之第一向量信號輸出(S0
)為一,其意謂假定資料輸入具有單錯誤,則控制器110之雙錯誤校正輸出(DEC_output)為零向量。相比而言,若來自校正子產生器108之第一向量信號輸出(S0
)為零,其意謂假定資料輸入具有雙錯誤,則控制器之單錯誤校正輸出(SEC_output)為零向量。 在一實施例中,可藉由以下等式基於來自校正子產生器108的第一向量信號輸出(S0
)、第二向量信號輸出(S1
)及第三向量信號輸出(S3
)而產生控制器110之輸出SEC_output及DEC_output: SEC_output = 𝑆0
∗ [𝑆1
, 𝑆3
] DEC_output = (~𝑆0
) ∗ [𝑆1
, 𝑆3
] 其中「~」指示邏輯補碼或「NOT」。對於三錯誤情況,𝑆0
為一,其與單錯誤情況相同。 在圖1中所說明之實施例中,錯誤偵測及校正裝置100進一步包括雙錯誤偵測器112,該偵測器具有經耦合以自校正子產生器108接收第一向量信號輸出(S0
)、第二向量信號輸出(S1
)及第三向量信號輸出(S3
)的輸入,及基於自校正子產生器108所接收之三個向量信號S0
、S1
及S3
而產生雙錯誤偵測輸出(AL_DED) 114的輸出。 在一實施例中,可藉由以下等式基於來自校正子產生器108的第二向量信號輸出(S1
)及第三向量信號輸出(S3
)而產生來自雙錯誤偵測器112之雙錯誤偵測輸出(AL_DED) 114: AL_DED = S1 3
+ S3
在另一實施例中,在如圖1中所說明之錯誤偵測及校正裝置100中提供旗標產生器116。在一實施例中,提供旗標產生器116以判定自零錯誤至三錯誤的錯誤之數目。在一實施例中,旗標產生器116產生稱為錯誤旗標(error_flag) 122的兩位元變數,其作為零錯誤、單錯誤、雙錯誤或三錯誤之兩位元指示符而自錯誤偵測及校正裝置100輸出。 在一實施例中,可基於來自雙錯誤偵測器112之雙錯誤偵測輸出(AL_DED) 114及來自校正子產生器108之第一向量信號輸出(S0
)來判定錯誤旗標(error_flag) 122。
表1 根據上表,error_flag與S0
之間的關係可表達如下: error_flag之最高有效位元(MSB) = AL_DED error_flag之最低有效位元(LSB) = S0
如上文所描述,提供SEC錯誤位置解碼器118以定位單錯誤,且提供DEC錯誤位置解碼器120以定位雙錯誤。在一實施例中,SEC錯誤位置解碼器118係經耦合以自控制器110接收單錯誤校正輸出(SEC_output),且基於來自該控制器110之SEC_output而輸出單錯誤位置解碼器輸出(e_sec) 124。在一實施例中,DEC錯誤位置解碼器120係經耦合以自控制器110接收雙錯誤校正輸出(DEC_output),且基於來自控制器110之DEC_output而輸出雙錯誤位置解碼器輸出(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:
表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,其具有經耦合以接收輸入資料的資料輸入(databit_in)、耦合至多工器128之錯誤向量輸出(e) 130的錯誤向量輸入及輸出經校正資料的輸出106 (databit_out)。 圖2為說明錯誤偵測及校正裝置200之另一實施例的方塊圖,該裝置包括正反器及時序控制器,但無單獨SEC及DEC錯誤位置解碼器以及多工器。圖2中,錯誤偵測及校正裝置200具有資料輸入(databit_in) 202、錯誤檢查輸入(checkbit_in) 204、控制輸入206、經校正資料輸出(databit_out) 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的傳入信號離開時序控制器216之前在控制輸出218處將該傳入信號延遲一給定時間量。在一實施例中,錯誤偵測及校正裝置200包括具有耦合至校正子產生器214之輸出之資料輸入222的正反器220、耦合至時序控制器216之控制輸出218的雙態觸發輸入224及基於自校正子產生器214接收之校正子及時序控制器216之控制輸出218而輸出已遞送之校正子輸出226的輸出。 在一實施例中,在錯誤偵測及校正裝置200中提供錯誤位置解碼器228。在一實施例中,錯誤位置解碼器228具有經耦合以自正反器220接收已遞送之校正子輸出226的輸入、錯誤位置解碼器輸出230、單錯誤解碼器輸出(SED) 232及雙錯誤解碼器輸出(DED) 234。在圖2中所展示之實施例中,在錯誤偵測及校正裝置200中提供錯誤校正器236。在一實施例中,錯誤校正器236具有耦合至資料輸入(databit_in) 202的第一輸入、耦合至錯誤位置解碼器輸出230的第二輸入及產生錯誤偵測及校正裝置200之經校正資料輸出(databit_out) 208的輸出。 在一實施例中,錯誤偵測及校正裝置200亦包括產生單錯誤偵測輸出(AL_SED) 210及三錯誤偵測輸出(AL_TED) 212的錯誤偵測器238。在一實施例中,錯誤偵測器238具有經耦合以自正反器220接收已遞送之校正子輸出226的第一輸入、經耦合以接收單錯誤解碼器輸出(SED) 232的第二輸入及經耦合以自錯誤位置解碼器228接收雙錯誤解碼器輸出(DED) 234的第三輸入。 在一實施例中,錯誤偵測器238包括OR閘240,其具有經耦合以接收已遞送之校正子輸出226的輸入及經組態以輸出單錯誤偵測輸出(AL_SED) 210的輸出。在另一實施例中,錯誤偵測器238亦包括AND閘242,其具有耦合至OR閘240之輸出的第一輸入、耦合至單錯誤解碼器輸出(SED) 232之補碼的第二輸入及耦合至雙錯誤解碼器輸出(DED) 234之補碼的第三輸出。在圖2中所展示之實施例中,AND閘242之輸出為三錯誤偵測輸出(AL_TED) 212。 圖3為說明時序控制器216之一實施例的方塊圖,該時序控制器包含延遲線300以產生用於圖2之錯誤偵測及校正裝置的實施例中之正反器220的控制信號。在一實施例中,控制輸入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及正反器220以降低如圖2中所展示之錯誤位置解碼器228中的無效轉變之機率。藉由延遲線300提供之設定時間延遲量,時脈信號302在校正子確定之後到達正反器220,且校正子僅在確定校正子以避免無效轉變之後作為已遞送之校正子而由正反器220遞送至錯誤位置解碼器228。在一實施例中,提供延遲線300以模擬由校正子產生器214產生之校正子的最壞延遲。在一實施例中,藉由模擬自資料(databit_in)輸入202及錯誤檢查 (checkbit_in)輸入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具有資料輸入(databit_in) 402、錯誤檢查輸入(checkbit_in) 404及經校正資料輸出(databit_out) 406。在此實施例中,錯誤偵測及校正裝置400包括經組態以接收資料輸入(databit_in) 402及錯誤檢查輸入(checkbit_in) 404的校正子產生器408。 在一實施例中,校正子產生器408能夠以與圖1中所展示及上文所描述之實施例中的校正子產生器108類似之方式來回應於資料輸入(databit_in) 402及錯誤檢查輸入(checkbit_in) 404而產生第一向量信號輸出(S0
)、第二向量信號輸出(S1
)及第三向量信號輸出(S3
)。在一實施例中,校正子產生器408包含同位檢查矩陣解碼器,且錯誤檢查輸入(checkbit_in) 404包含同位檢查位元輸入。在一實施例中,同位檢查矩陣解碼器可包含基於XOR樹之同位檢查矩陣解碼器。舉例而言,可藉由實施任何已知ECC (諸如BCH碼)來建構校正子產生器408。 在圖4所說明之實施例中,錯誤偵測及校正裝置400亦包括控制器410,該控制器經組態以自校正子產生器408接收第一向量信號輸出(S0
)、第二向量信號輸出(S1
)及第三向量信號輸出(S3
),且基於來自校正子產生器108之三個向量信號S0
、S1
及S3
而產生單錯誤校正輸出(SEC_output)及雙錯誤校正輸出(DEC_output)。在一實施例中,可以上文關於圖1所描述之相同的方式產生SEC_output及DEC_output。 在圖4中所說明之實施例中,錯誤偵測及校正裝置400進一步包括雙錯誤偵測器412,該偵測器具有經耦合以自校正子產生器108接收第一向量信號輸出(S0
)、第二向量信號輸出(S1
)及第三向量信號輸出(S3
)的輸入,及基於自校正子產生器408所接收之三個向量信號S0
、S1
及S3
中的至少兩者而產生雙錯誤偵測輸出(AL_DED) 414的輸出。 在一實施例中,可藉由上文關於圖1所描述之相同等式基於自校正子產生器108接收之第二向量信號輸出(S1
)及第三向量信號輸出(S3
)而產生來自雙錯誤偵測器412之雙錯誤偵測輸出(AL_DED) 414: AL_DED = S1 3
+ S3
在一實施例中,如圖4中所說明,在錯誤偵測及校正裝置400中以與上文關於圖1所描述之實施例類似之方式提供旗標產生器416。參看圖4,旗標產生器416產生兩位元錯誤旗標(error_flag) 422,其作為零錯誤、單錯誤、雙錯誤或三錯誤之兩位元指示符而自錯誤偵測及校正裝置400輸出。在一實施例中,可產生兩位元錯誤旗標(error_flag) 422以根據上文關於圖1所描述之表1而指示零、單、雙或三錯誤之存在。 參看圖4,提供時序控制器424,其具有接收時脈信號的控制輸入426及產生時間經延遲之時脈輸出的輸出428。在一實施例中,時序控制器424可包含延遲線,諸如,如圖3中所說明及上文所描述之延遲線300。舉例而言,此延遲線可包含一或多個邏輯閘(諸如AND閘或NAND閘),或一或多個緩衝器,或邏輯閘及緩衝器之組合,如圖3中所展示。參看圖4,來自時序控制器424之輸出428的時間經延遲之時脈輸出作為針對兩正反器430及432之雙態觸發輸入而予以提供。 在圖4中所展示之實施例中,提供第一正反器430,其包括自控制器410接收單錯誤校正輸出(SEC_output)的資料輸入434及自時序控制器424接收時間經延遲之時脈輸出的雙態觸發輸入436。在一實施例中,第一正反器430包含具有正邊緣觸發之D正反器。同樣,提供第二正反器432,其包括自控制器410接收雙錯誤校正輸出(DEC_output)的資料輸入438及自時序控制器424接收時間經延遲之時脈輸出的雙態觸發輸入440。在另一實施例中,第二正反器432亦可包含具有正邊緣觸發的D正反器。在替代實施例中,可實施其他類型之正反器,且正反器之觸發不必為藉由時脈信號之正邊緣觸發。 在圖4中所展示之實施例中,第一正反器430將已遞送之SEC_output 442輸出至單錯誤校正(SEC)錯誤位置解碼器444,而第二正反器432將已遞送之DEC_output 446輸出至雙錯誤校正(DEC)錯誤位置解碼器448。可以上文關於圖1所描述之相同的方式由控制器410產生SEC_output及DEC_output。如圖4中所展示之實施例中提供第一正反器430及第二正反器432,以保證僅在確定校正子以避免無效轉變之後將SEC_output及DEC_output分別遞送至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。在一實施例中,錯誤校正器具有經耦合以接收輸入資料(databit_in)的資料輸入、耦合至多工器454之錯誤向量輸出(e) 458的錯誤向量輸入及輸出經校正資料的輸出406 (databit_out)。 圖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,或此項技術中已知之任何其他形式的儲存媒體中。例示性儲存媒體耦合至處理器,使得處理器可自儲存媒體讀取資訊並將資訊寫至儲存媒體。在替代例中,儲存媒體可與處理器成一體式。 因此,本發明之一實施例可包括電腦可讀媒體,其實施用於錯誤偵測及校正之方法。因此,本發明不限於所說明之實例,且用於執行本文中所描述之功能性的任何構件包括於本發明之實施例中。 雖然前述揭示內容展示說明性實施例,但應注意,可在不背離所附申請專利範圍之範疇的情況下在本文中進行各種變化及修改。除非另外明確說明,否則根據本文中描述之實施例的方法主張之功能、步驟或動作不必以任何特定次序加以執行。此外,雖然可能以單數形式描述或主張元件,但除非明確地陳述對單數形式之限制,否則涵蓋複數形式。
100‧‧‧錯誤偵測及校正裝置
102‧‧‧資料輸入
104‧‧‧錯誤檢查輸入
106‧‧‧經校正資料輸出
108‧‧‧校正子產生器
110‧‧‧控制器
112‧‧‧雙錯誤偵測器
114‧‧‧雙錯誤偵測輸出
116‧‧‧旗標產生器
118‧‧‧SEC錯誤位置解碼器
120‧‧‧DEC錯誤位置解碼器
122‧‧‧錯誤旗標
124‧‧‧單錯誤位置解碼器輸出
126‧‧‧雙錯誤位置解碼器輸出
128‧‧‧多工器
130‧‧‧多工器輸出
132‧‧‧控制輸入
134‧‧‧錯誤校正器
200‧‧‧錯誤偵測及校正裝置
202‧‧‧資料輸入
204‧‧‧錯誤檢查輸入
206‧‧‧控制輸入
208‧‧‧經校正資料輸出
210‧‧‧單錯誤偵測輸出
212‧‧‧三錯誤偵測輸出
214‧‧‧校正子產生器
216‧‧‧時序控制器
218‧‧‧控制輸出
220‧‧‧正反器
222‧‧‧資料輸入
226‧‧‧已遞送之校正子輸出
228‧‧‧錯誤位置解碼器
230‧‧‧錯誤位置解碼器輸出
232‧‧‧單錯誤解碼器輸出
234‧‧‧雙錯誤解碼器輸出
236‧‧‧錯誤校正器
238‧‧‧錯誤偵測器
240‧‧‧OR閘
242‧‧‧AND閘
300‧‧‧延遲線
302‧‧‧時脈信號
304a‧‧‧AND閘
304b‧‧‧AND閘
304c‧‧‧AND閘
304d‧‧‧AND閘
306‧‧‧NAND閘
308a‧‧‧緩衝器
308b‧‧‧緩衝器
308c‧‧‧緩衝器
400‧‧‧錯誤偵測及校正裝置
402‧‧‧資料輸入
404‧‧‧錯誤檢查輸入
406‧‧‧經校正資料輸出
408‧‧‧校正子產生器
410‧‧‧控制器
412‧‧‧雙錯誤偵測器
414‧‧‧雙錯誤偵測輸出
416‧‧‧旗標產生器
422‧‧‧兩位元錯誤旗標
424‧‧‧時序控制器
426‧‧‧控制輸入
428‧‧‧時序控制器之輸出
430‧‧‧第一正反器
432‧‧‧第二正反器
434‧‧‧資料輸入
436‧‧‧雙態觸發輸入
438‧‧‧資料輸入
440‧‧‧雙態觸發輸入
442‧‧‧已遞送之SEC_output
444‧‧‧單錯誤校正(SEC)錯誤位置解碼器
446‧‧‧已遞送之DEC_output
448‧‧‧雙錯誤校正(DEC)錯誤位置解碼器448
450‧‧‧單錯誤位置解碼器輸出(e_sec)
452‧‧‧雙錯誤位置解碼器輸出(e_dec)
454‧‧‧多工器
456‧‧‧控制輸入
458‧‧‧多工器454之輸出(e)
460‧‧‧錯誤校正器
500‧‧‧錯誤偵測及校正裝置
505‧‧‧區塊
510‧‧‧區塊
515‧‧‧區塊
600‧‧‧記憶體
605‧‧‧記憶體胞
610‧‧‧錯誤偵測及校正裝置
615‧‧‧箭頭
620‧‧‧箭頭
S0‧‧‧第一向量信號輸出
S1‧‧‧第二向量信號輸出
S3‧‧‧第三向量信號輸出
呈現隨附圖式以輔助對本發明之實施例的描述,且僅僅出於說明實施例而非對其限制之目的而提供隨附圖式。 圖1為說明錯誤偵測及校正裝置之一實施例的方塊圖。 圖2為說明具有正反器及時序控制器之錯誤偵測及校正裝置的另一實施例之方塊圖。 圖3為說明作為圖2之錯誤校正及解碼裝置的實施例中之時序控制器的延遲線之一實施例的方塊圖。 圖4為說明具有正反器、時序控制器、單獨單錯誤校正(SEC) 錯誤位置解碼器及雙錯誤校正(DEC)錯誤位置解碼器、多工器及旗標產生器之錯誤偵測及校正裝置的又一實施例之方塊圖。 圖5為說明具有經組態以執行錯誤偵測及校正功能之邏輯的錯誤偵測及校正裝置之一實施例的方塊圖。 圖6為說明記憶體器件之一實施例的方塊圖,可在該記憶體器件中實施錯誤偵測及校正裝置。
Claims (22)
- 一種錯誤偵測及校正裝置,其包含: 一校正子(syndrome)產生器,其經組態以接收輸入資料及輸出指示該輸入資料是否包括一錯誤之一校正子; 一正邊緣觸發正反器(positive edge triggered flip-flop),其經組態以基於來自該校正子產生器之該校正子而接收校正子輸入且提供一校正子輸出;及 一錯誤位置解碼器,其經組態以接收來自該正邊緣觸發正反器之該校正子輸出。
- 如請求項1之錯誤偵測及校正裝置,其進一步包含: 一時序(timing)控制器,其經組態以接收一時脈(clock)信號,且藉由將該時脈信號通過一延遲線而延遲該時脈信號一給定時間量,其中藉由該經延遲之時脈信號控制該正邊緣觸發正反器。
- 如請求項2之錯誤偵測及校正裝置,其中該給定時間量經組態以模擬與該校正子產生器之一要徑(critical path)相關聯之一延遲。
- 如請求項1之錯誤偵測及校正裝置,其進一步包含: 一錯誤偵測器,其經組態以產生經校正之輸出資料,其中該錯誤位置解碼器經組態以基於該校正子輸出而提供一單錯誤位置解碼器輸出及一雙錯誤位置解碼器輸出兩者至該錯誤偵測器。
- 如請求項4之錯誤偵測及校正裝置,其中在該正邊緣觸發正反器處所接收之該校正子輸入對應於輸出自該校正子產生器之該校正子。
- 如請求項1之錯誤偵測及校正裝置,其中該錯誤位置解碼器對應於一單錯誤位置解碼器,其經組態以基於該校正子輸出而提供一單錯誤位置解碼器輸出。
- 如請求項6之錯誤偵測及校正裝置,其進一步包含: 一控制單元,其經組態以接收輸出自該校正子產生器之該校正子,且提供一單錯誤校正輸出,其中藉由該正邊緣觸發正反器所接收之該校正子輸入係來自該控制單元之該單錯誤校正輸出。
- 如請求項6之錯誤偵測及校正裝置,其進一步包含: 另一正邊緣觸發正反器,其經組態以基於來自該校正子產生器之該校正子而接收校正子輸入,且提供另一校正子輸出;及 一雙錯誤位置解碼器,其經組態以基於該另一校正子輸出而提供一雙錯誤位置解碼器輸出。
- 如請求項8之錯誤偵測及校正裝置,其進一步包含: 一多工器,其經組態以選擇該單錯誤位置解碼器輸出與該雙錯誤位置解碼器輸出之一者;及 一錯誤校正器,其經組態以接收來自該多工器之該經選擇之輸出。
- 如請求項1之錯誤偵測及校正裝置,其中該錯誤位置解碼器對應於一雙錯誤位置解碼器,其經組態以基於該校正子輸出而提供一雙錯誤位置解碼器輸出。
- 如請求項10之錯誤偵測及校正裝置,其進一步包含: 一控制單元,其經組態以接收自該校正子產生器輸出之該校正子,且提供一雙錯誤校正輸出,其中藉由該正邊緣觸發正反器所接收之該校正子輸入係來自該控制單元之該雙錯誤校正輸出。
- 一種錯誤偵測及校正裝置,其包含: 輸出構件,其用於輸出指示輸入資料是否包括一錯誤之一校正子; 一正邊緣觸發正反器,其經組態以基於來自該輸出構件之該校正子而接收校正子輸入且提供一校正子輸出;及 產生構件,其用於基於來自該正邊緣觸發正反器之該校正子輸出而產生一錯誤位置解碼器輸出。
- 如請求項12之錯誤偵測及校正裝置,其進一步包含: 接收構件,其用於接收一時脈信號; 延遲構件,其用於藉由將該時脈信號通過一延遲線而延遲該時脈信號一給定時間量,其中藉由該經延遲之時脈信號控制該正邊緣觸發正反器。
- 如請求項13之錯誤偵測及校正裝置,其中該給定時間量經組態以模擬與該輸出構件之一要徑相關聯之一延遲。
- 如請求項12之錯誤偵測及校正裝置,其進一步包含: 用於產生經校正之輸出資料之構件,其中該用於產生該錯誤位置解碼器輸出之產生構件其經組態以基於該校正子輸出而提供一單錯誤位置解碼器輸出及一雙錯誤位置解碼器輸出兩者至該用於產生經校正之輸出資料之構件。
- 如請求項15之錯誤偵測及校正裝置,其中在該正邊緣觸發正反器處所接收之該校正子輸入對應於自該輸出構件輸出之該校正子。
- 如請求項12之錯誤偵測及校正裝置,其中該產生構件經組態以基於該校正子輸出而提供一單錯誤位置解碼器輸出。
- 如請求項17之錯誤偵測及校正裝置,其進一步包含: 提供構件,其用於基於輸出自該輸出構件之該校正子而提供一單錯誤校正輸出,其中藉由該正邊緣觸發正反器所接收之該校正子輸入係來自該提供構件之該單錯誤校正輸出。
- 如請求項17之錯誤偵測及校正裝置,其進一步包含: 另一正邊緣觸發正反器,其經組態以基於來自該輸出構件之該校正子而接收校正子輸入,且提供另一校正子輸出;及 用於基於該另一校正子輸出而產生一雙錯誤位置解碼器輸出之構件。
- 如請求項19之錯誤偵測及校正裝置,其進一步包含: 選擇構件,其用於選擇該單錯誤位置解碼器輸出與該雙錯誤位置解碼器輸出之一者;及 用於錯誤校正來自該選擇構件之該經選擇之輸出之構件。
- 如請求項12之錯誤偵測及校正裝置,其中該產生構件經組態以基於該校正子輸出而提供一雙錯誤位置解碼器輸出。
- 如請求項21之錯誤偵測及校正裝置,其進一步包含: 提供構件,其用於基於自該輸出構件輸出之該校正子而提供一雙錯誤校正輸出,其中藉由該正邊緣觸發正反器所接收之該校正子輸入係來自該提供構件之該雙錯誤校正輸出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/852,988 | 2015-09-14 | ||
US14/852,988 US9800271B2 (en) | 2015-09-14 | 2015-09-14 | Error correction and decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201818666A TW201818666A (zh) | 2018-05-16 |
TWI662796B true TWI662796B (zh) | 2019-06-11 |
Family
ID=56896776
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105127673A TWI625943B (zh) | 2015-09-14 | 2016-08-29 | 錯誤校正及解碼 |
TW107106147A TWI662796B (zh) | 2015-09-14 | 2016-08-29 | 錯誤校正及解碼 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105127673A TWI625943B (zh) | 2015-09-14 | 2016-08-29 | 錯誤校正及解碼 |
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) | TWI625943B (zh) |
WO (1) | WO2017048474A1 (zh) |
Families Citing this family (14)
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 |
KR20200074467A (ko) * | 2018-12-17 | 2020-06-25 | 삼성전자주식회사 | 에러 정정 코드 회로, 반도체 메모리 장치 및 메모리 시스템 |
CN111835320A (zh) * | 2019-04-22 | 2020-10-27 | 珠海格力电器股份有限公司 | 一种信号的边沿检测装置 |
KR20210014034A (ko) * | 2019-07-29 | 2021-02-08 | 에스케이하이닉스 주식회사 | 낮은 레이턴시를 갖는 에러정정코드 디코더 |
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 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로 및 반도체 메모리 장치 |
JP2023005919A (ja) * | 2021-06-29 | 2023-01-18 | ルネサスエレクトロニクス株式会社 | 半導体装置および誤り検出方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201044796A (en) * | 2009-06-06 | 2010-12-16 | Univ Ishou | Detection device to search location of error |
US8612834B2 (en) * | 2011-03-08 | 2013-12-17 | Intel Corporation | Apparatus, system, and method for decoding linear block codes in a memory controller |
US8762821B2 (en) * | 2012-03-30 | 2014-06-24 | Intel Corporation | Method of correcting adjacent errors by using BCH-based error correction coding |
US20140229786A1 (en) * | 2011-08-26 | 2014-08-14 | Oxford Brookes University | Digital error correction |
US9054742B2 (en) * | 2013-03-14 | 2015-06-09 | Intel Corporation | Error and erasure decoding apparatus and method |
Family Cites Families (40)
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) |
JP2691973B2 (ja) * | 1994-10-20 | 1997-12-17 | 博一 岡野 | 単一誤り訂正および多重誤り検出bch符号の復号装置 |
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 | 富士通株式会社 | 軟判定誤り訂正復号装置 |
TW432362B (en) * | 1997-04-02 | 2001-05-01 | Matsushita Electric Ind Co Ltd | High speed data input-output device which fetches data into internal memory and performs operations on the data before outputting the data |
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 | 株式会社東芝 | 半導体記憶装置 |
US7243293B2 (en) * | 2003-12-23 | 2007-07-10 | International Business Machines Corporation | (18, 9) Error correction code for double error correction and triple error detection |
DE602004026707D1 (de) | 2004-06-30 | 2010-06-02 | St Microelectronics Srl | Verfahren und Vorrichtung für die Fehlerkorrektur in elektronischen Speichern |
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 | 삼성전자주식회사 | 처리량을 높이기 위하여 더블 버퍼링 구조와 파이프라이닝기법을 이용하는 디코더 및 그 디코딩 방법 |
CN101493804B (zh) * | 2008-01-24 | 2011-07-20 | 国际商业机器公司 | 数据总线***及其编解码器和编解码方法 |
KR101437396B1 (ko) * | 2008-02-27 | 2014-09-05 | 삼성전자주식회사 | 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법 |
US8261165B2 (en) | 2008-11-14 | 2012-09-04 | Silicon Laboratories Inc. | Multi-syndrome error correction circuit |
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 |
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 |
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 active Active
-
2016
- 2016-08-25 EP EP16763625.7A patent/EP3350930B1/en active Active
- 2016-08-25 JP JP2018511372A patent/JP6884138B2/ja active Active
- 2016-08-25 KR KR1020187010280A patent/KR102599033B1/ko active IP Right Grant
- 2016-08-25 CN CN201680052581.0A patent/CN108055876B/zh active Active
- 2016-08-25 WO PCT/US2016/048604 patent/WO2017048474A1/en active Application Filing
- 2016-08-29 TW TW105127673A patent/TWI625943B/zh active
- 2016-08-29 TW TW107106147A patent/TWI662796B/zh active
-
2017
- 2017-09-26 US US15/716,451 patent/US10263645B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201044796A (en) * | 2009-06-06 | 2010-12-16 | Univ Ishou | Detection device to search location of error |
US8612834B2 (en) * | 2011-03-08 | 2013-12-17 | Intel Corporation | Apparatus, system, and method for decoding linear block codes in a memory controller |
US20140229786A1 (en) * | 2011-08-26 | 2014-08-14 | Oxford Brookes University | Digital error correction |
US8762821B2 (en) * | 2012-03-30 | 2014-06-24 | Intel Corporation | Method of correcting adjacent errors by using BCH-based error correction coding |
US9054742B2 (en) * | 2013-03-14 | 2015-06-09 | Intel Corporation | Error and erasure decoding apparatus and method |
Also Published As
Publication number | Publication date |
---|---|
EP3350930B1 (en) | 2023-07-26 |
KR20180053700A (ko) | 2018-05-23 |
JP6884138B2 (ja) | 2021-06-09 |
US20170077963A1 (en) | 2017-03-16 |
KR102599033B1 (ko) | 2023-11-03 |
US9800271B2 (en) | 2017-10-24 |
EP3350930A1 (en) | 2018-07-25 |
US10263645B2 (en) | 2019-04-16 |
JP2018533254A (ja) | 2018-11-08 |
TW201714411A (zh) | 2017-04-16 |
CN108055876B (zh) | 2022-11-18 |
US20180019767A1 (en) | 2018-01-18 |
TWI625943B (zh) | 2018-06-01 |
TW201818666A (zh) | 2018-05-16 |
CN108055876A (zh) | 2018-05-18 |
WO2017048474A1 (en) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI662796B (zh) | 錯誤校正及解碼 | |
US11349496B2 (en) | Memory controller and method of data bus inversion using an error detection correction code | |
JP4036338B2 (ja) | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 | |
US7352299B1 (en) | Method and system for improving memory interface data integrity | |
US20200401474A1 (en) | Optimized error-correcting code (ecc) for data protection | |
US20100042907A1 (en) | Programmable Error Correction Capability for BCH Codes | |
US9166625B2 (en) | Circuits, integrated circuits, and methods for interleaved parity computation | |
US8806308B2 (en) | Bose-Chaudhuri-Hocquenghem (BCH) decoder | |
Mandal et al. | A novel method for soft error mitigation in FPGA using modified matrix code | |
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 | |
US9032270B2 (en) | Device and method for storing encoded and/or decoded codes by re-using encoder | |
JP3743915B2 (ja) | スポッティバイト誤り訂正・検出方法及び装置 | |
Reviriego et al. | On the use of euclidean geometry codes for efficient multibit error correction on memory systems | |
JP2020150515A (ja) | 誤り訂正回路及びメモリシステム | |
Reviriego et al. | Efficient multibit Error Correction for memory applications using euclidean geometry codes | |
Bennet et al. | Computation of Field Programmable Cyclic Redundancy Checks Circuit Architecture | |
Tangellapalli et al. | Towards low area overhead ARQ based soft error tolerant data paths for SRAM-based Altera FPGAs | |
Reddy et al. | Implementation of error correcting methods for asynchronous communication and modified completion detector with reduced area overhead |