TW201714411A - 錯誤校正及解碼 - Google Patents

錯誤校正及解碼 Download PDF

Info

Publication number
TW201714411A
TW201714411A TW105127673A TW105127673A TW201714411A TW 201714411 A TW201714411 A TW 201714411A TW 105127673 A TW105127673 A TW 105127673A TW 105127673 A TW105127673 A TW 105127673A TW 201714411 A TW201714411 A TW 201714411A
Authority
TW
Taiwan
Prior art keywords
output
error
input
decoder
double
Prior art date
Application number
TW105127673A
Other languages
English (en)
Other versions
TWI625943B (zh
Inventor
金聖克
崔莎拉
宋秉圭
那泰惠
金吉穌
正丕 金
金頌詠
金泰煥
承赫 康
Original Assignee
高通公司
韓國延世大學校產學協力團
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 高通公司, 韓國延世大學校產學協力團 filed Critical 高通公司
Publication of TW201714411A publication Critical patent/TW201714411A/zh
Application granted granted Critical
Publication of TWI625943B publication Critical patent/TWI625943B/zh

Links

Classifications

    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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
    • 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
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1575Direct 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
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/617Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction 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)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (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為說明記憶體器件之一實施例的方塊圖,可在該記憶體器件中實施錯誤偵測及校正裝置。
100‧‧‧錯誤偵測及校正裝置
102‧‧‧資料輸入
104‧‧‧錯誤檢查輸入
106‧‧‧經校正資料輸出
108‧‧‧校正子產生器
110‧‧‧控制器
112‧‧‧雙錯誤偵測器
114‧‧‧雙錯誤偵測輸出
116‧‧‧旗標產生器
118‧‧‧SEC錯誤位置解碼器
120‧‧‧DEC錯誤位置解碼器
122‧‧‧錯誤旗標
124‧‧‧單錯誤位置解碼器輸出
126‧‧‧雙錯誤位置解碼器輸出
128‧‧‧多工器
130‧‧‧多工器輸出
132‧‧‧控制輸入
134‧‧‧錯誤校正器
S0‧‧‧第一向量信號輸出
S1‧‧‧第二向量信號輸出
S3‧‧‧第三向量信號輸出

Claims (30)

  1. 一種錯誤偵測及校正裝置,其包含: 一單錯誤位置解碼器,其經組態以定位輸入資料中之單錯誤; 一雙錯誤位置解碼器,其經組態以定位該輸入資料中之雙錯誤;及 一錯誤校正器,其耦合至該單錯誤位置解碼器及該雙錯誤位置解碼器以產生經校正之輸出資料。
  2. 如請求項1之裝置,其進一步包含: 一校正子產生器,其經組態以接收該輸入資料且基於該輸入資料而產生一第一向量信號輸出及一或多個額外向量信號輸出;及 一控制器,其經組態以接收該第一向量信號輸出及該一或多個額外向量信號輸出,且基於該第一向量信號輸出及該一或多個額外向量信號輸出而產生一單錯誤校正輸出及一雙錯誤校正輸出, 其中該單錯誤位置解碼器經組態以接收該單錯誤校正輸出且產生一單錯誤位置解碼器輸出;且 其中該雙錯誤位置解碼器經組態以接收該雙錯誤校正輸出且輸出一雙錯誤位置解碼器輸出。
  3. 如請求項2之裝置,其中該校正子產生器包含一同位檢查矩陣解碼器。
  4. 如請求項3之裝置,其中該同位檢查矩陣解碼器包含一基於XOR樹之同位檢查矩陣解碼器。
  5. 如請求項2之裝置,其進一步包含經組態以自該校正子產生器接收該第一向量信號輸出及該一或多個額外向量信號輸出的一雙錯誤偵測器。
  6. 如請求項5之裝置,其中該雙錯誤偵測器經組態以基於該第一向量信號輸出及該一或多個額外向量信號輸出中之兩者或更多者而產生一雙錯誤偵測輸出。
  7. 如請求項6之裝置,其進一步包含一旗標產生器,該旗標產生器經組態以自該雙錯誤偵測器接收該雙錯誤偵測輸出、自該校正子產生器接收該第一向量信號輸出,且基於該雙錯誤偵測輸出及該第一向量信號輸出而產生一錯誤旗標。
  8. 如請求項6之裝置,其進一步包含一多工器,該多工器包含: 耦合至該單錯誤位置解碼器輸出之一第一輸入;及 耦合至該雙錯誤位置解碼器輸出之一第二輸入。
  9. 如請求項8之裝置,其中該多工器進一步包含: 經組態以接收該雙錯誤偵測輸出的一控制輸入;及 經組態以基於該控制輸入而輸出該單錯誤位置解碼器輸出或該雙錯誤位置解碼器輸出中之任一者的一輸出。
  10. 如請求項9之裝置,其進一步包含一錯誤校正器,該錯誤校正器包含: 經組態以接收該輸入資料的一輸入; 耦合至該多工器之該輸出的一錯誤位置解碼器輸入;及 經組態以基於該輸入資料及該錯誤位置解碼器輸入而輸出該經校正之輸出資料的一輸出。
  11. 如請求項2之裝置,其進一步包含: 一時序控制器,其具有一控制輸入及一控制輸出; 一第一正反器,其包含經耦合以接收該單錯誤校正輸出的一輸入、耦合至該時序控制器之該控制輸出的一雙態觸發輸入及經組態以輸出一第一已遞送校正子輸出的一輸出;及 一第二正反器,其包含經耦合以接收該雙錯誤校正輸出的一輸入、耦合至該時序控制器之該控制輸出的一雙態觸發輸入及經組態以輸出一第二已遞送校正子輸出的一輸出。
  12. 如請求項11之裝置,其中該時序控制器包含一延遲單元。
  13. 如請求項12之裝置,其中該延遲單元包含一或多個邏輯閘。
  14. 如請求項13之裝置,其中該延遲單元進一步包含一或多個緩衝器。
  15. 如請求項10之裝置,其中該第一正反器包含一第一正邊緣觸發正反器,且其中該第二正反器包含一第二正邊緣觸發正反器。
  16. 一種錯誤偵測及校正裝置,其包含: 用於單錯誤位置解碼以定位輸入資料中之單錯誤的構件; 用於雙錯誤位置解碼以定位輸入資料中之雙錯誤的構件;及 用於校正錯誤以基於該等單錯誤及該等雙錯誤而產生經校正之輸出資料的構件。
  17. 如請求項16之裝置,其進一步包含: 用於產生一校正子的構件,其中用於產生該校正子的該構件經組態以接收該輸入資料且基於該輸入資料而輸出一第一向量信號輸出及一或多個額外向量信號輸出;及 用於產生一單錯誤校正輸出及一雙錯誤校正輸出的構件,其中用於產生該單錯誤校正輸出及該雙錯誤校正輸出的該構件經組態以接收該第一向量信號輸出及該一或多個額外向量信號輸出,且基於該第一向量信號輸出及該一或多個額外向量信號輸出而產生一單錯誤校正輸出及一雙錯誤校正輸出, 其中用於單錯誤位置解碼的該構件經組態以接收該單錯誤校正輸出且輸出一單錯誤位置解碼器輸出;且 其中用於雙錯誤位置解碼的該構件經組態以接收該雙錯誤校正輸出且輸出一雙錯誤位置解碼器輸出。
  18. 如請求項17之裝置,其中用於產生該校正子的構件包含一同位檢查矩陣解碼器。
  19. 如請求項17之裝置,其進一步包含用於基於該第一向量信號輸出及該一或多個額外向量信號輸出而偵測雙錯誤以產生一雙錯誤偵測輸出的構件。
  20. 如請求項19之裝置,其進一步包含用於基於該雙錯誤偵測輸出及該第一向量信號輸出而產生一錯誤旗標的構件。
  21. 如請求項20之裝置,其進一步包含用於多工的構件,該構件包含: 耦合至該單錯誤位置解碼器輸出的一第一輸入; 耦合至該雙錯誤位置解碼器輸出的一第二輸入; 經組態以接收該雙錯誤偵測輸出的一控制輸入;及 經組態以基於該控制輸入而輸出該單錯誤位置解碼器輸出或該雙錯誤位置解碼器輸出中之任一者的一輸出。
  22. 如請求項21之裝置,其進一步包含用於校正錯誤的構件,該構件包含: 經組態以接收該輸入資料的一資料輸入; 耦合至用於多工的該構件之該輸出的一錯誤位置解碼器輸入;及 經組態以基於該資料輸入及該錯誤位置解碼器輸入而輸出經校正資料的一輸出。
  23. 如請求項17之裝置,其進一步包含: 用於控制時序的構件,用於控制時序的該構件具有一控制輸入及一控制輸出; 一第一正反器,其包含經耦合以接收該單錯誤校正輸出的一輸入、耦合至用於控制時序的該構件之該控制輸出的一雙態觸發輸入及經組態以輸出一第一已遞送校正子輸出的一輸出;及 一第二正反器,其包含經耦合以接收該雙錯誤校正輸出的一輸入、耦合至用於控制時序的該構件之該控制輸出的一雙態觸發輸入及經組態以輸出一第二已遞送校正子輸出的一輸出。
  24. 如請求項23之裝置,其中該第一已遞送校正子輸出被遞送至用於單錯誤位置解碼的該構件,且其中該第二已遞送校正子輸出被遞送至用於雙錯誤位置解碼的該構件。
  25. 一種錯誤偵測及校正裝置,其包含: 經組態以定位輸入資料中之單錯誤的邏輯; 經組態以定位輸入資料中之雙錯誤的邏輯;及 經組態以基於該等單錯誤及該等雙錯誤而產生經校正之輸出資料的邏輯。
  26. 如請求項25之裝置,其進一步包含: 經組態以產生一校正子的邏輯,其中經組態以產生該校正子的該邏輯經組態以接收該輸入資料且基於該輸入資料而輸出一第一向量信號輸出及一或多個額外向量信號輸出;及 經組態以基於該第一向量信號輸出及該一或多個額外向量信號輸出而產生一單錯誤校正輸出及一雙錯誤校正輸出的邏輯, 其中經組態以定位單錯誤的該邏輯經組態以接收該單錯誤校正輸出且輸出一單錯誤位置解碼器輸出;且 其中經組態以定位雙錯誤的該邏輯經組態以接收該雙錯誤校正輸出且輸出一雙錯誤位置解碼器輸出。
  27. 如請求項26之裝置,其進一步包含: 經組態以控制時序的邏輯; 一第一正反器,其包含經耦合以接收該單錯誤校正輸出的一輸入、耦合至經組態以控制時序之該邏輯的一雙態觸發輸入及經組態以輸出一第一已遞送校正子輸出的一輸出;及 一第二正反器,其包含經耦合以接收該雙錯誤校正輸出的一輸入、耦合至經組態以控制時序之該邏輯的一雙態觸發輸入及經組態以輸出一第二已遞送校正子輸出的一輸出。
  28. 一種記憶體,其包含: 一記憶體胞;及 一錯誤偵測及校正裝置,其經耦合以自該記憶體胞接收輸入資料且將經校正之輸出資料傳輸至該記憶體胞,該錯誤偵測及校正裝置包含: 一單錯誤位置解碼器,其經組態以定位輸入資料中之單錯誤; 一雙錯誤位置解碼器,其經組態以定位該輸入資料中之雙錯誤;及 一錯誤校正器,其耦合至該單錯誤位置解碼器及該雙錯誤位置解碼器以產生經校正之輸出資料。
  29. 如請求項28之記憶體,其中該錯誤偵測及校正裝置進一步包含: 一校正子產生器,其經組態以接收該輸入資料且基於該輸入資料而產生一第一向量信號輸出及一或多個額外向量信號輸出;及 一控制器,其經組態以接收該第一向量信號輸出及該一或多個額外向量信號輸出,且基於該第一向量信號輸出及該一或多個額外向量信號輸出而產生一單錯誤校正輸出及一雙錯誤校正輸出, 其中該單錯誤位置解碼器經組態以接收該單錯誤校正輸出且產生一單錯誤位置解碼器輸出;且 其中該雙錯誤位置解碼器經組態以接收該雙錯誤校正輸出且輸出一雙錯誤位置解碼器輸出。
  30. 如請求項29之記憶體,其中該錯誤偵測及校正裝置進一步包含: 一時序控制器,其具有一控制輸入及一控制輸出; 一第一正反器,其包含經耦合以接收該單錯誤校正輸出的一輸入、耦合至該時序控制器之該控制輸出的一雙態觸發輸入及經組態以輸出一第一已遞送校正子輸出的一輸出;及 一第二正反器,其包含經耦合以接收該雙錯誤校正輸出的一輸入、耦合至該時序控制器之該控制輸出的一雙態觸發輸入及經組態以輸出一第二已遞送校正子輸出的一輸出。
TW105127673A 2015-09-14 2016-08-29 錯誤校正及解碼 TWI625943B (zh)

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
TW201714411A true TW201714411A (zh) 2017-04-16
TWI625943B TWI625943B (zh) 2018-06-01

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 After (1)

Application Number Title Priority Date Filing Date
TW107106147A TWI662796B (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)

* Cited by examiner, † Cited by third party
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 ルネサスエレクトロニクス株式会社 半導体装置および誤り検出方法

Family Cites Families (45)

* Cited by examiner, † Cited by third party
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
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

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
CN108055876B (zh) 2022-11-18
US20180019767A1 (en) 2018-01-18
TWI625943B (zh) 2018-06-01
TWI662796B (zh) 2019-06-11
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) 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置
Guo et al. Enhanced memory reliability against multiple cell upsets using decimal matrix code
US20200401474A1 (en) Optimized error-correcting code (ecc) for data protection
US8806308B2 (en) Bose-Chaudhuri-Hocquenghem (BCH) decoder
US9654148B2 (en) Reconfigurable ECC for memory
US9166625B2 (en) Circuits, integrated circuits, and methods for interleaved parity computation
US10860419B2 (en) Minimal aliasing bit-error correction code
Farheen et al. Error Detection and Correction Using RP SEC-DED
US9275758B2 (en) Error detection circuit and semiconductor integrated circuit using the same
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
JP3743915B2 (ja) スポッティバイト誤り訂正・検出方法及び装置
US20130346828A1 (en) Device and method for storing encoded and/or decoded codes by re-using encoder
Reviriego et al. Efficient multibit Error Correction for memory applications using euclidean geometry codes