KR100683624B1 - 가속화된 리드-솔로몬 오류정정 - Google Patents

가속화된 리드-솔로몬 오류정정 Download PDF

Info

Publication number
KR100683624B1
KR100683624B1 KR1020017009228A KR20017009228A KR100683624B1 KR 100683624 B1 KR100683624 B1 KR 100683624B1 KR 1020017009228 A KR1020017009228 A KR 1020017009228A KR 20017009228 A KR20017009228 A KR 20017009228A KR 100683624 B1 KR100683624 B1 KR 100683624B1
Authority
KR
South Korea
Prior art keywords
error
polynomial
term
product
slice
Prior art date
Application number
KR1020017009228A
Other languages
English (en)
Other versions
KR20010101638A (ko
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 KR20010101638A publication Critical patent/KR20010101638A/ko
Application granted granted Critical
Publication of KR100683624B1 publication Critical patent/KR100683624B1/ko

Links

Images

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
    • 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/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • 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/1515Reed-Solomon 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/158Finite field arithmetic processing
    • 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/1585Determination of error values

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

오류 위치지정자 다항식 및 오류 크기 다항식의 m개의 근을 동시에 검색하는 리드-솔로몬(R-S) 디코더가 제공된다. 다항식 평가기는 다항식의 각 항에 대응하는 복수의 슬라이스부를 구비한다. 각각의 슬라이스부는, 서로 다른 값에 대해 항을 평가하여, 이들 서로 다른 값 각각에서의 다항식의 동시 평가를 달성하도록 구성된 복수의 계수 승산기를 구비한다. 바람직한 실시예에 있어서는, 각각의 슬라이스부 내부에, 다항식의 계수를 수신하고 다른 값에 대한 다항식의 반복 평가를 용이하게 하는 단지 한 개의 레지스터가 필요하다. 바람직한 실시예에 있어서는, 리드-솔로몬 코드어를 디코딩하는 2개의 다항식 평가기가 사용된다. 한 개의 평가기는 치엔 오류 위치지정기 알고리즘의 변형된 형태를 제공하는데 사용되며, 나머지는 포니 오류 결정 알고리즘의 변형된 형태를 제공하는데 사용된다.
오류 정정, 리드-솔로몬, 오류 위치지정기, 근 지시자, 계수 승산기, 슬라이스부

Description

가속화된 리드-솔로몬 오류정정{ACCELERATED REED-SOLOMON ERROR CORRECTION}
1. 발명의 분야
본 발명은, 통신 및 데이터 저장 시스템 분야에 관한 것으로, 특히, 블록 기반의 오류정정 코드를 포함하는 통신의 디코딩에 관한 것이다.
2. 종래기술의 설명
디지털 통신 시스템의 품질을 지정하는데 사용되는 파라미터 중 한가지는 "비트 에러율(Bit Error Ratio)", 즉 BER이다. BER은 오류를 갖는 비트가 수신 시스템의 출력에서 발생되는 확률을 특정한다. 저장장치(테이프, 디스크, CD, DVD, 바코드), 이동 통신(셀룰러 전화기, 마이크로파 링크), 위성 통신, 디지털 텔레비전 등에 대한 사양은 종종 10-9 이하의 차수로 BER을 필요로 한다. 낮은 확률의 오류를 제공하기 위한 한가지 기술은, 높은 신호대 잡음비(SNR)를 얻기 위해 고출력의 송신기를 사용하여 정보를 송신하는 것이다. 이것은, 특히 송신 전력을 공급하기 위해 바테리를 사용하는 휴대형 시스템과, FCC에 의해 발표된 것과 같은 전자파 간섭 표준을 준수해야 하는 방송 시스템에 대해서는, 일반적으로 실용적이지 못하거나 비용이 많이 든다.
높은 SNR에 의존하지 않으면서 큰 BER을 얻을 수 있는 또 다른 방법은, 오류정정 코드를 사용하여 정보를 인코딩하여, 송신중에 오류가 발생하였을 때, 수신기에 의해 이 오류가 정정되므로, 더 이상 "오류"가 되지 않도록 하는 것이다. 송신시에 생긴 다수의 오류를 자동으로 정정하기 위한 오류정정 기술은 널리 알려져 있다.
일반적으로 사용된 오류정정 기술은 리드-솔로몬 오류정정 코드이다. 리드-솔로몬(R-S) 용어를 사용하면, 고정길이(n)의 코드어가 전송되는데, 각각의 코드어는 k개의 정보 심볼과 n-k개의 첨부된 오류정정 패리티 심볼을 포함한다. 각각의 심볼은 s 비트를 포함한다. R-S 디코더는 코드어 내부에 오류를 포함하는 (n-k)/2개에 이르는 심볼을 정정할 수 있다. 이들 정정가능한 심볼을 다중 비트에러를 포함할 수 있기 때문에, R-S 인코딩 기술은 다수의 연속적인 비트에 영향을 미치는 버스트 에러에 특히 적합하다. 일반적인 R-S 인코딩 체계는 255개의 8 비트 심볼의 코드어를 사용하는데, 이들 중에서 223개는 정보 심볼이고 나머지 32개의 심볼은 오류정정 패리티 심볼이다. 이와 같은 인코딩 체계는 각각의 255개의 코드어에 있는 16개에 이르는 오류를 갖는 심볼을 정정함으로써, 비트 에러율의 상당한 향상을 제공한다.
또한, R-S 인코딩 체계는, 알려진 위치에 있는 오류에 해당하며 정정하는데 더 적은 정보를 필요로 하는 "소거(erasure)"를 검출한다. R-S 인코더가 검출할 수 있는 오류의 수에 소거의 수의 2배를 더한 값은 (n-k)/2이다. 참조를 용이하게 하기 위해, 이하에서는 알려지지 않은 위치의 오류 또는 알려진 위치의 소거를 칭하 는데 용어 "오류"가 사용된다.
도 1은 종래기술의 R-S 디코더(100)의 예시 블록도를 나타낸 것이다. 디코더(100)는 각각의 코드어 r(x)(101)을 수신하여, 정정된 코드어 c(x)(151)를 생성한다. 신드롬 산출기(110)는 코드어(101)를 신호처리하여 해당하는 신드롬 다항식 Si(x)(111)을 생성한다. 각각의 코드어는, 오류에만 의존하고 송신된 코드어에는 의존하지 않는 n-k개의 신드롬을 갖는다. 이들 신드롬(111)으로부터, 오류 위치지정기(error locator) 다항식 Λ(x)(121)이 생성된다. 벌캄프-매시(Berlekamp-Massey) 알고리즘과 같은 다른 기술이 마찬가지로 사용될 수도 있지만, 오류 위치지정기 다항식(121)과 오류 크기 다항식 Ω(X)(122)를 제공하기 위해 유클리드 알고리즘(102)이 예시되었다. 각각의 R-S 코드는, R-S 코드에 대해 선택된 갈로이스 필드(Galois Field: GF)의 원시 성분인 파라미터 a를 갖는다. 위치 p에서 오류 발생하면, a-p가 오류 다항식의 근이 되도록 오류 위치지정기 다항식이 구성된다(이때, p는 0에서 n-1까지 색인이 붙여진다).
a-p가 오류 위치지정기 다항식(121)의 근 Xk -1인지 여부를 판정하기 위해, 통상적으로 반복 접근법이 적용되어 코드어 내부의 각각의 위치 p에 대해 a-p의 각각의 값을 테스트한다. 이와 같은 반복 테스트를 위해 일반적으로 사용되는 알고리즘은 치엔(Chien) 오류 위치지정기(130)이다. 치엔 위치지정기(130)는, 일반적으로 블록 120에 예시된 것과 같은 포니(Forney) 오류 결정 알고리즘을 통해, 오류의 크 기(141)의 판정을 용이하게 하는 관련된 오류 미분항 Xk -1Λ'(Xk -1 )도 제공한다. 오류 결정기(140)는, 위치지정된 오류 심볼에 해당하는 오류 크기 다항식(122)을 평가한다. 오류 위치지정기(130)에 위치지정한 각각의 오류에 대해, 오류 정정기(150)는 이 오류의 위치(131) 및 크기(141)에 근거하여 정정된 코드어 c(x)(151)를 결정한다. 주어진 심볼에 대해 오류가 검출되지 않으면, 이 위치에 있는 정정된 코드어 x(x)(151) 내부의 심볼은 검색된 코드어 r(x)(101) 내부의 심볼과 동일하다.
도 2는 종래기술의 치엔 오류 위치지정기(130)의 예시 블록도를 나타낸 것이다. 오류 위치지정기(130)는 복수의 다항식 항 평가기(220)를 포함한다. 각각의 평가기(220)는 레지스터(221)와 계수 승산기(225)를 구비한다. 레지스터(221) 세트는 오류 위치지정기 다항식 Λ(x)(121)의 계수 λ를 수신하고, 계수 승산기(225) 세트는 계수 λ를 a(222)의 대응하는 지수로 곱하여, 결과적으로 얻어진 곱 항을 레지스터(221)에 기억한다. 출력 다항식 값(231)과 관련하여, 가산기 230a, 230b 및 230c는 각각의 계수 승산기(225)의 곱 항을 결합하는 한 개의 가산기를 구성한다. 즉, 먼저 이들 가산기는 a0에 있는 오류 위치지정기 다항식 Λ(x)(121)의 평가값에 대응하는 계수 λ의 합을 제공한다(즉, 값 = λn-1(a0)n-1 + λn-2 (a0)n-2 + … + λ2(a0)2 + λ1(a0)1 +(a 0)0λ0). 이 값(231)이 제로이면, a0는 오류가 위치 0에 존재한다는 것을 나타내는 근에 해당한다. 마찬가지로, a(222)의 지수를 오류 위치지정기 다항식 Λ(x)(121)의 대응하는 계수 λ와 곱한 후, 다항식 값(231)은 a-1에 있는 오류 위치지정기 다항식(121)의 평가값에 해당한다(즉, 값 = λn-1(a-1)n-1 + λn-2(a-1)n-2 + … + λ2(a-1)2 + λ1(a-1 )1 +(a-1)0λ0). 이 값(231)에 제로이면, a-1은 오류가 위치 1에 존재한다는 것을 나타내는 근에 해당한다. 다음의 사이클에서, 레지스터(221)의 내용이 다시 a(222)의 지수로 곱해진다. 이것은 a(222)의 각각의 지수의 제곱을 생성하며, 다항식 값(231)은 a-2에 있는 오류 위치지정기 다항식의 평가값에 해당한다(즉, 값 = λn-1(a-2)n-1 + λn-2(a-2 )n-2 + … + λ2(a-2)2 + λ1 (a-2)1 + λ0(a-2)0). 이 값(231)이 제로이면, a-2는 오류가 위치 2에 존재한다는 것을 나타내는 근에 해당한다. 다음의 사이클은 a-3에 있는 다항식의 평가에 해당하고, 다음은 a-4, 다음은 a-5, 이하 마찬가지이다. 반복 과정은 모든 n개의 심볼 위치(0 내지 n-1)가 평가될 때까지 진행된다. 전술한 것과 같이, 통상적인 치엔 위치지정기(130)는, 위치지정기 다항식 Λ(x)의 위치지정된 근 Xk -1에 대응하여 오류 결정기(140) 내부에서의 오류 크기(141)의 결정을 용이하게 하는 미분항 Xk -1Λ'(Xk -1)(132)도 제공한다. 이 미분항(132)은 도 2에는 짝수 다항식 항의 부분 합으로 도시되어 있지만, 이와 달리, 홀수 항이 사용될 수도 있다.
오류정정 코드어의 n개의 모든 심볼을 평가하는데 필요한 시간을 줄이기 위해, 반복적인 성분의 중복되는 병렬 실시예를 고려할 수 있다. 즉, 원리상으로, 오류 위치지정기(130)와 오류 결정기(140)의 2개의 복사본이 제공되면, a의 홀수 지수는 한 세트의 위치지정기/결정기에 의해 평가될 수 있으며, a의 짝수 지수는 다른 위치지정기/결정기에 의해 평가될 수 있다. 이와 달리, 한 세트의 위치지정기/결정기가 첫 번째 절반부의 심볼을 처리하는데 사용될 수 있는 한편, 나머지 세트의 위치지정기/결정기가 나머지 절반부를 처리하는데 사용됨으로써, 종래의 장치에서와 마찬가지로 사이클당 a(222)의 지수의 단일 승산을 간편하게 할 수 있다. 그러나, 심볼의 "두번째" 절반부를 위해 사용된 위치지정기/결정기 세트의 레지스터(221)는 a(22)의 적절한 지수에 λ 항을 곱한 값으로 초기화될 필요가 있는데, 이것은 추가적인 구성요소를 필요로 한다. 그러나, 각각의 중복 세트는 영역에 있어서 대응하는 직접적인 선형 증가와(2 세트 = 영역의 2배; 3 세트는 3x 영역; 등등), 처리과정의 분할을 달성하는데 필요한 추가적인 회로를 요구한다.
결국, 본 발명의 목적은, 오류정정 코드어의 모든 n개의 심볼을 평가하는데 필요한 시간을 줄이는 것에 있다. 본 발명의 또 다른 목적은, 종래기술의 구성요소의 중복 실시예에 비해, 오류정정 코드어의 모든 n개의 심볼을 평가하는데 필요한 구성요소의 수를 줄이는데 있다.
이들 목적과 기타 목적은, 다항식의 각 항에 대응하는 복수의 슬라이스(slice)부를 포함하는 다항식 평가기를 제공함으로써 달성된다. 각각의 슬 라이스부는, 서로 다른 값에 대한 항을 평가하도록 구성됨으로써 이들 서로 다른 값 각각에서의 다항식의 동시 평가를 달성하는 복수의 계수 승산기를 구비한다. 바람직한 실시예에 있어서는, 다항식의 계수를 수신하고 다른 값에 대한 다항식의 반복 평가를 용이하게 하는 단지 한 개의 레지스터가 각각의 슬라이스부에 필요하다. 바람직한 실시예에 있어서는, 리드-솔로몬 코드어를 디코딩하기 위해 2개의 다항식 평가기가 사용된다. 한 개의 평가기는 치엔 오류 위치지정기 알고리즘의 변형된 형태를 구현하고, 나머지 평가기는 포니 오류 결정 알고리즘의 변형된 형태를 구현한다.
이하, 본 발명을 다음의 첨부도면을 참조하여 더욱 상세히 설명한다:
도 1은 종래의 오류정정 디코더의 예시 블록도를 나타낸 것이고,
도 2는 종래의 오류 위치지정기의 예시 블록도를 나타낸 것이며,
도 3은 본 발명에 따른 다중값 다항식 평가기의 예시 블록도를 나타낸 것이고,
도 4는 본 발명에 따른 치엔 오류 위치지정기의 변형된 형태의 예시 블록도를 나타낸 것이며,
도 5는 본 발명에 따른 오류정정 디코더의 예시 블록도를 나타낸 것이다.
도면 전체에 걸쳐서, 동일한 도면부호는 유사하거나 대응되는 특징부 또는 기능을 나타낸다.
본 명세서에서는, 특정한 값이 주어진 다항식의 근인지 여부를 결정하기 위해 반복 다항식 평가를 이용하는 오류정정 디코더에 대한 파라다임으로서 리드-솔로몬(R-S) 디코더가 제공된다. 본 명세서에서 제시된 기술은 유사한 다항식 평가 과정을 채용하는 다른 디코딩 기술에도 동일하게 적용가능하다는 것은 본 발명이 속한 기술분야의 당업자에게 있어서 자명할 것이다.
도 3은 본 발명에 따른 다중값 다항식 평가기(300)의 예시 블록도를 나타낸 것이다. 평가기(300)는 평가되고 있는 다항식의 각각의 상수가 아닌 항에 대응하는 슬라이스부(320)를 포함한다. 각각의 슬라이스부(320)는 복수의 계수 승산기(325)를 포함한다. 임의 수의 승산기가 설치될 수 있기는 하지만, 도 3에는 4개의 승산기(325a-d)를 예시하였다. 각각의 슬라이스부(320)는, 최초에 슬라이스부(320)와 관련된 다항식의 항의 계수 ω를 수신하는 레지스터(321)를 구비한다. 각각의 승산기(325a-d)는 레지스터(321)의 내용을 a(322a-d)의 관련된 지수와 곱하여, a의 복수의 지수의 다항식의 관련된 항의 평가값을 동시에 발생한다. 즉, 예를 들면, 윤곽이 그려진 슬라이스부(320)는 a-1, a-2, a-3 및 a0의 인수값에 대응하는 값에 대한 다항식의 제 1 차 항의 평가값을 제공한다. 이때, 가산기 360에 대한 입력은 계수 승산기 325d 앞의 대응하는 레지스터 요소(321)로부터 온 것인 반면에, 다른 가산기 330, 340 및 350에 대한 입력은 계수 승산기 325a-c로부터 온 것으로, a-4 대신에 a0 항을 책임진다는 점에 주목하기 바란다. 인접한 슬라이스부는 이들 동일한 인 수값 a-1, a-2, a-3 및 a0에 대한 다항식의 관련된 더 높은 차수의 항의 평가값을 제공한다. 이것은, 제 1 차 슬라이스부(320)에서 사용된 a의 지수의 제곱, 세제곱 등에 대응하는 각각의 후속하는 슬라이스부에 a의 지수를 제공함으로써 달성된다. 즉, 예를 들면, 윤곽이 그려진 슬라이스부(320')는 다항식의 세제곱된 항에 대응하며, 계수 승산기는 ω3(a-1)3, ω3(a-2)3, ω3(a-1)3 및 ω3(a0)3에 대응하는 출력을 제공한다. 가산기(330)는 각각의 슬라이스부(320) 내부의 제 1 계수 승산기(325a)에 의해 제공된 곱 항을 가산하여 a-1의 인수값에 대한 다항식의 결과 값(331)을 제공한다. 가산기 340은 a-2의 인수값에 대한 다항식의 결과 값 341을 제공하고, 가산기 350은 a-3에 대응하는 값 351을 제공하며, 가산기 360은 a0에 대응하는 값 361을 제공한다. 이때, 승산기 325d로부터의 곱 항은 레지스터(321)에 대한 입력을 구성하여, a-4에 대응하는 다항식 값이 다음 사이클에 가산기 360으로 주어진다는 점에 주목하기 바란다.
따라서, 도 3에 도시된 것과 같이, 다항식 평가기(300)는 동시에 a의 4개의 서로 다른 지수에 대해 주어진 다항식의 평가값을 제공함으로써, 종래의 단일값 다항식 평가기에 비해 속도면에서 4배의 향상을 달성한다. 4개의 단일값 다항식 평가기의 중복에 비해, 단지 한 세트의 계수 레지스터(321)가 필요하므로, 중복 레지스터와 관련된 비용 및 영역과 그들의 관련된 경로지정 경로를 절감하게 된다.
본 발명의 또 다른 일면에 따르면, 각각의 슬라이스부의 레지스터(321)는 a의 최고차 지수(이 경우에는 a-4)와 레지스터(321)의 이전의 내용의 곱을 수신한다. 도 3의 예에 있어서는, 레지스터(321)가 그것의 이전의 내용(ω1)과 a-4의 곱을 수신한다. 이에 따르면, 다음 사이클의 승산은 a-5, a-6, a-7 및 a-4의 값에 대한 다항식의 평가값(윤곽이 그려진 슬라이스부(320)에 있어서는 각각 a-11a-4, a-21a-4, a-31a-4 및 ω1a-4)이 된다. 마찬가지로, 윤곽이 그려진 슬라이스부 320'의 레지스터 321'은 값 ω3a-12를 포함하고, 승산 결과는 a-5, a-6, a -7 및 a-4의 인수값에 대한 다항식의 세제곱된 형태의 평가값(곱 항 a-33a-12, a-63a-12, a-93a-12 및 ω3a-12, 이것은 ω3(a-5)3, ω3(a-6)3, ω3(a-7)3 및 ω3(a-4)3와 각각 같다)이 된다. 이에 따라, 다항식 평가기(300)는 a의 연속적인 지수에 대해 주어진 다항식을 한번에 4개씩 반복적으로 평가하게 된다.
필요에 따라, 다항식의 평가값(331, 341, 351, 361) 각각의 선택을 허용하는 임의의 선택기(380)가 도 3에 도시되어 있다. 이와 같은 선택기(380)는, 처리를 위해 이들 평가값(331, 341, 351, 361)을 순차적으로 제공함으로써, 다중값 다항식 평가기(300)가 단일값 처리 시스템과 인터페이스로 연결되도록 한다. 후속하는 처 리장치가 4개의 평가값을 동시에 수신할 능력을 포함하는 경우에는, 선택기(380)가 필요하지 않다.
도 4는 본 발명에 따른 치엔 오류 위치지정기(400)의 변형된 형태를 제공하는 다중값 다항식 평가기의 예시 블록도를 나타낸 것이다. 이 오류 위치지정기(400)의 동작 원리는, 도 2에 도시된 치엔 오류 위치지정기(200)와 도 3에 도시된 다중값 다항식 평가기(300)에 대해 위에 주어진 원리에 기반을 둔다. 위치지정기(40))는 도 3의 슬라이스부(320)와 유사하게 동작하는 복수의 슬라이스부(420)를 구비한다. 그러나, 슬라이스부 320과 비교할 때, 한 개의 가산기 330에 의해 제공된 가산 동작이 복수의 서브가산기 430a, 430b 및 430c로 분할된다. 이와 같은 분할은, 서브가산기 430b가 각각의 오류 위치에 대응하는 오류 크기의 결정을 용이하게 하는 미분 항 432를 제공하도록 한다. 마지막 서브가산기 430c의 출력은 a의 주어진 지수에 해당하는 인수에 대한 다항식의 평가값에 해당한다. 도 4에 도시된 예에 있어서, 서브가산기 430c는 인수 a-1, a-5, a-9 등등에 대한 다항식의 평가값 431을 제공한다. 마찬가지로, 합계 441은 a-2, a-6, a-10 등에 대한 다항식의 평가값에 해당하고, 합계 451은 a-3, a-7, a-11 등에 대한 평가값에 해당하며, 합계 461은 a0, a-4, a-8, a-12 등에 대한 평가값에 해당한다. 종래기술의 치엔 위치지정기(200)와 마찬가지로, 위치 p에 있는 오류는 오류 위치지정기 다항식 Λ(a-p)의 평가값이 제로인 경우에 검출된다. 따라서, 본 발명의 이와 같은 일면에 따르면, 위치지정기(400)는 수신된 코드어 내부의 4개에 이르는 오류의 위치를 동시에 식별하며, 각각의 위치지정된 근 Xk -1에 있는 오류의 크기의 결정을 용이하게 하는 대응하는 미분 항 Xk -1Λ'(Xk -1) 432a-d를 동시에 제공하게 된다.
상기한 다항식 평가기(300)에서와 마찬가지로, 위치지정기(400)는 단일값 프로세서에 의한 후속하는 처리를 위해 개별적인 항 432의 선택을 허용하는 임의의 선택기(460)를 포함할 수 있다. 근 식별기 블록(450)은, 각각의 위치지정된 오류(제로값과 동일한 각각의 다항식 평가값)에 대응하여 선택신호(451)를 제공하도록 구성된다.
도 5는 본 발명에 따른 위치지정기(40)를 구비하는 오류정정 디코더(500)의 예시 블록도를 나타낸 것이다. 다중 근 위치지정기(400)는, 예를 들어 도 1에 도시된 것과 같은 유클리드 알고리즘 프로세서(120)로부터 오류 위치지정기 다항식 Λ(x)(121)를 수신한다. 다중 근 위치지정기(400)는, m개의 승산기를 각각 갖는 복수의 슬라이스부를 구비하여, 오류 위치지정기 다항식(121)에 대응하여 수신된 코드어 r(x)) 내부의 m개에 이르는 심볼 오류의 동시 검출을 허용한다. m개의 동시 평가값의 수치(431)는 오류 지시자 또는 플래그로서의 작용을 하는데, 이때 제로값은 오류의 위치를 표시한다. 근 식별기(450)는 각각의 제로값 Xk -1을 식별하여, 각각의 대응하는 오류 위치(131)를 도 1에 도시된 오류 정정기(150)와 같은 오류 정정기에 제공한다.
본 발명의 본 실시예에 있어서는, m개의 플래그(431)의 각각이 제로값이 아닌 경우에, 위치지정기(400)가 순환되어, 도 4와 관련하여 위에서 설명한 것과 같이, m개의 평가값과 이에 대응하는 m개의 플래그(431)의 다음 세트를 동시에 제공한다. 이에 따라, 도 1 및 도 2에 도시된 종래의 단일 오류 위치지정기에 비해, 오류를 포함하지 않은 수신된 코드어 r(x)를 처리하는데 필요한 시간이 1/m배만큼 줄어든다.
디코더(500)의 바람직한 실시예는, 도 3에 도시된 다중값 다항식 평가기(300)에 대응하는 다중 오류 결정기(300)를 구비한다. 이 오류 결정기(300)는, 오류 크기 다항식 Ω(x)(122)를 수신하여, 이와 동시에 m개의 계수 승산기를 각각 포함하는 복수의 슬라이스부를 통해 (도 3의 항 331, 341 등에 대응하는) m개의 오류 항의 평가값(531)을 제공한다. 오류 항 Ω(Xk -1)(531)이 위치지정기 플래그(431)와 이에 대응하는 미분 항 Xk -1Λ'(Xk -1)(432)에 의해 식별된 동일한 심볼에 대응하도록, 결정기(300)는 위치지정기(400)와 동기하여 동작한다. 따라서, 매 사이클에서, 다중 근 위치지정기(400)와 다중 오류 결정기(300)는, m개에 이르는 심볼 오류의 식별값과, 이들 심볼 오류 각각의 정정을 용이하게 하는 대응하는 오류 항을 제공한다.
다중 근 위치지정기(400)와 다중 오류 결정기(300)는, 그들의 m개의 다중 출력을 수신된 코드어에 있는 m개의 오류를 동시에 정정하는 시스템으로 출력할 수 있다. 현재의 바람직한 실시예에 있어서는, 주로 회로의 복잡성과 회로 면적의 고 려사항으로 인해, 각각의 식별된 오류 Xk -1이 순차적으로 처리된다. 근 식별자(450)는 각각의 제로값 플래그(531)를 식별하고, 오류 위치(131)와 각각의 위치지정된 오류에 대응하는 선택신호(451)를 제공한다. 오류 위치지정기(400)와 결정기(300)는, 모든 제로값 플래그(431)가 식별되고 처리된 후에만 다음 세트의 평가값을 제공하도록 순환된다.
종래의 처리과정과 일치하여, 오류 크기(141)는 오류 결정기(300)에 의해 제공된 오류 항 Ω(Xk -1)(531)과 오류 위치지정기(400)에 의해 제공된 미분 항 Xk -1Λ'(Xk -1)(432)의 역수에 의존한다. 반전부(520)는 선택된 미분항(461)의 역수를 제공하고, GF(Galois Field) 승산기(540)는 선택된 미분 항(461)의 역수와 선택 오류 항(381)에 근거하여 오류 크기(141)를 제공한다. 오류 크기(141)는 도 1에 도시된 오류 정정기(150)와 같은 오류 정정기로 주어져, 대응하는 오류 위치(131)에 의해 식별된 심볼을 정정한다. 식별된 오류 각각이 이와 유사하게 정정된 후에, 오류 위치지정기(400)와 오류 결정기(300)는 다음 사이클로 진행하여, m개의 잠정적인 오류의 다음 세트를 처리한다.
이때, 다중 값 다항식 평가기(300)의 사용의 선택은 다중 근 위치지정기(400)의 사용의 선택과 거의 무관하다는 점에 주목하기 바란다. 즉, 다중 근 위치지정기(400)가 각각의 오류를 식별하는데 사용된 후, 각각의 식별된 오류가 도 1에 도시된 오류 결정기(140)와 같은 단일값 오류 결정기로 주어질 수 있 다. 이에 따라, 다중 값 평가기(300)에 대해 필요한 여분의 면적을 피할 수 있는 한편, 특히 낮은 빈도의 오류를 겪을 때, 다중 근 위치지정기(400)의 향상된 속도를 달성할 수 있다.
전술한 내용은 단지 본 발명의 원리를 예시하기 위한 것으로, 반드시 주어진 실시예에 의해 제한되는 것은 아니다. 예를 들어, 오류가 위치 p에 놓이는 경우에, an-p가 오류 위치지정기 다항식의 근이 되도록, 본 발명이 속한 기술분야에 있어서 일반적인 또 다른 알고리즘은 a의 양의 지수를 사용한다. 다른 응용분야 또한 일반적으로 다항식의 근에 대해 순차적인 검색을 사용하며, 본 명세서에 제시된 기술을 사용할 수 있다. 따라서, 비록 본 명세서에 명시적으로 설명되거나 예시되지는 않았지만, 본 발명의 원리를 구체화하며 이에 따라 다음의 청구범위의 정신과 범주에 속하는 다양한 구성이 본 발명이 속하는 당업자에게 있어서 고안될 수 있다는 것은 자명하다.

Claims (14)

  1. 복수의 슬라이스부(320, 320')를 구비하되,
    각각의 슬라이스부(320)가 다항식의 한 개의 항에 대응하고,
    각각의 슬라이스부(320)는 복수의 인수값에 대응하여 복수의 항 값을 제공하도록 구성되며,
    각각의 슬라이스부(320)가 다항식의 항에 대응하여 한 개의 계수 값을 수신하도록 구성된 단일 레지스터(321)를 구비하는, 적어도 한 개의 다항식 평가기(300, 400)와,
    복수의 인수값에 대응하는 복수의 항 값을 합산하여 대응하는 복수의 평가 항(331, 341, 351, 361)을 제공하도록 구성된 복수의 가산기(330, 340, 350, 360)와,
    복수의 인수에 대응하는 복수의 평가 항(331, 341, 351, 361)에 근거하여 수신된 코드어(101)에 대응하는 정정된 코드어(151)를 제공하도록 구성된 오류 정정기(150)를 구비한 것을 특징으로 하는 디코더(500).
  2. 제 1항에 있어서,
    적어도 한 개의 다항식 평가기(300, 300) 중에서 제 1 평가기(400)는 복수의 근 지시자(431, 441, 451, 461)를 제공하도록 구성되고,
    다항식은 수신된 코드어(101)에 근거한 오류 위치지정기 다항식(121)에 대응하며,
    복수의 근 지시자(431, 441, 451, 461)의 각각의 지시자는 오류 위치지정기 다항식(121)의 근의 존재를 식별하는 역할을 하고,
    오류 정정기(150)는 복수의 근 지시자(431, 441, 451, 461)에 근거하여 정정된 코드어(151)를 제공하도록 더 구성된 것을 특징으로 하는 디코더(500).
  3. 제 2항에 있어서,
    제 1 평가기(400)는 복수의 근 지시자(431, 441, 451, 461)에 대응하여 복수의 오류 위치(131)를 동시에 제공하도록 더 구성되고,
    오류 정정기(150)는 복수의 오류 위치(131)에 근거하여 정정된 코드어(151)를 제공하도록 더 구성된 것을 특징으로 하는 디코더(500).
  4. 제 3항에 있어서,
    복수의 근 지시자(431, 441, 451, 461)의 각각의 지시자는 복수의 슬라이스부(320, 320')의 각각의 슬라이스부(320) 내부의 대응하는 계수 승산기(325a-d)로부터의 곱 항의 합에 근거한 것을 특징으로 하는 디코더(500).
  5. 제 1항에 있어서,
    복수의 슬라이스부(320, 320')의 각각의 슬라이스부(320)는, 단일 레지스터(321)의 내용 값에 대응하는 인자(322a-d)를 곱하여 복수의 항 값의 각각의 항 값을 제공하도록 각각 구성된 복수의 계수 승산기(325a-d)를 더 구비한 것을 특징으로 하는 디코더(500).
  6. 제 5항에 있어서,
    단일 레지스터(321)는 단일 레지스터(321)의 내용 값으로서 복수의 항 값 중에서 선택된 항 값을 수신하고, 다음 클록 주기에 이 선택된 항을 복수의 계수 승산기(325a-d)의 각각에 제공하도록 구성된 것을 특징으로 하는 디코더(500).
  7. 제 1항에 있어서,
    복수의 근 지시자(431, 441, 451, 461)에 대응하여 복수의 오류 크기(331, 341, 351, 361)를 동시에 제공하도록 구성된 적어도 한 개의 다항식 평가기(300, 400) 중에서 제 2 평가기(300)를 더 구비하고,
    오류 정정기(150)는 복수의 오류 크기(331, 341, 351, 361)에 근거하여 정정된 코드어(151)를 제공하도록 더 구성된 것을 특징으로 하는 디코더(500).
  8. 제 7항에 있어서,
    복수의 오류 크기(331, 341, 351, 361)의 각각의 오류 크기는, 제 2 평가기(300) 내부의 복수의 슬라이스부(320, 320')의 각각의 슬라이스부(320) 내부의 대응하는 계수 승산기(325a-d)로부터의 곱 항의 합에 근거한 것을 특징으로 하는 디코더(500).
  9. 수신된 코드어(101)에 대응하는 복수의 신드롬(111)을 제공하는 신드롬 산출기(110)와,
    복수의 신드롬(111)에 대응하여 오류 위치지정기 다항식(121)과 오류 크기 다항식(122)을 제공하는 신드롬 프로세서(120)와,
    오류 위치지정기 다항식(121)에 대응하여 복수의 오류 위치(131)를 동시에 제공하는 다중 오류 위치지정기(400)와,
    복수의 오류 위치(131)에 대응하는 오류 크기 다항식(122)에 근거하여 복수의 오류 항(531)을 동시에 제공하는 다중 오류 결정기(300)와,
    복수의 오류 항(531)의 각각의 오류 항과 복수의 오류 위치(131)의 각각의 오류 위치에 대응하는 오류 크기(141)를 제공하는 오류 크기 결정기(540)와,
    각각의 오류 항에 대응하는 오류 크기(141)와 복수의 오류 위치(131)에 대응 하는 각각의 오류 위치를 수신하여, 이것으로부터 수신된 코드어(101)에 대응하는 정정된 코드어(151)를 제공하는 오류 정정기(150)를 구비한 것을 특징으로 하는 디코더(500).
  10. 제 9항에 있어서,
    다중 오류 위치지정기(400)는,
    복수의 오류 위치(131)를 동시에 제공하게 동작하도록 구성된 복수의 슬라이스부(320, 320')를 구비하고,
    복수의 슬라이스부(320, 320')의 각각의 슬라이스부(320)는,
    복수의 계수 승산기(325a-d)와,
    오류 위치지정기 다항식(121)의 계수를 수신하고, 첫 번째 클록 사이클 주기에서 복수의 계수 승산기(325a-d) 중에서 제 1 승산기(325d)로부터의 곱을 기억하며, 다음 클록 주기에서 이 곱을 복수의 계수 승산기(325a-d)의 각각에 제공하도록 구성된 레지스터(321)와,
    복수의 슬라이스부(320, 320') 내부의 대응하는 계수 승산기(325a-d)로부터의 곱 항을 가산하여, 그것으로부터 해당하는 오류 위치가 오류 위치지정기 다항식(121)의 근인지 여부의 대응하는 지시자(431, 441, 451, 461)를 제공하도록 각각 구성된 복수의 가산기(330, 340, 350, 360)를 구비한 것을 특징으로 하는 디코더(500).
  11. 제 9항에 있어서,
    다중 오류 결정기(300)는,
    복수의 오류 항(531)을 동시에 제공하게 동작하도록 구성된 복수의 슬라이스부(320, 320')를 구비하고,
    복수의 슬라이스부(320, 320')의 각각의 슬라이스부(320)는,
    복수의 계수 승산기(325a-d)와,
    오류 크기 다항식의 계수를 수신하고, 첫 번째 클록 사이클 주기에서 복수의 계수 승산기(325a-d) 중에서 제 1 승산기(325d)로부터의 곱을 기억하며, 다음 클록 주기에서 이 곱을 복수의 계수 승산기(325a-d)의 각각에 제공하도록 구성된 레지스터(321)와,
    복수의 슬라이스부(320, 320') 내부의 대응하는 계수 승산기(325a-d)로부터의 곱 항을 가산하여, 그것으로부터 복수의 오류 항(331, 341, 351, 361)의 각 오류 항을 제공하도록 각각 구성된 복수의 가산기(330, 340, 350, 360)를 구비한 것을 특징으로 하는 디코더(500).
  12. 수신된 코드어(101)를 디코딩하는 방법에 있어서,
    수신된 코드어(101)에 근거하여 오류 위치지정기 다항식(121)을 제공하는 단 계와,
    복수의 인수에 대해 오류 위치지정기 다항식(121)을 동시에 평가하여, 오류 위치지정기 다항식(121)의 1개 또는 그 이상의 결정된 근에 해당하는 오류 위치 지시자(431)를 제공하는 단계와,
    1개 또는 그 이상의 결정된 근의 각각의 결정된 근에 대응하는 수신된 코드어(101) 내부의 오류를 정정하는 단계를 포함하고,
    오류 위치지정기 다항식(121)을 동시에 평가하는 단계는,
    복수의 인수에 대해 오류 위치지정기 다항식(121)의 각각의 항목을 동시에 평가하여, 복수의 인수의 각각의 인수에 대해 각각의 항에 대응하는 곱 항을 생성하는 단계와,
    각각의 인수의 각각의 곱 항을 가산하여, 각각의 인수에 대응하는 오류 위치 지시자(431, 441, 451, 461)를 생성하는 단계를 포함하며,
    각각의 항목을 동시에 평가하는 단계는,
    복수의 인수의 각각에 대응하는 인자(322a-d)에 공통 계수(321)를 곱하여(325a-d), 복수의 곱 항을 제공하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  13. 제 12항에 있어서,
    복수의 인수에 대한 오류 크기 다항식(122)을 동시에 평가하여, 오류 위치지 정기 다항식(121)의 1개 또는 그 이상의 결정된 근에 대응하는 오류 항(531)을 제공하는 단계를 더 포함하고,
    오류 크기 다항식(122)을 동시에 평가하는 단계는,
    복수의 인수에 대해 오류 크기 다항식(122)의 각각의 크기 항을 동시에 평가하여, 복수의 인수의 각각의 인수에 대한 각각의 크기 항에 대응하는 크기 곱 항을 생성하는 단계와,
    각각의 인수의 각각의 크기 곱 항을 가산하여, 각각의 인수에 대응하는 오류 항(531)을 생성하는 단계를 포함하고,.
    각각의 크기 항을 동시에 평가하는 단계는,
    복수의 인수 각각에 대응하는 지수 인자(322a-d)에 공통된 크기 계수(321)를 곱하여(325a-d), 복수의 크기 곱 항을 제공하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  14. 복수의 인수에 대한 다항식(121, 122)을 동시에 평가하는 방법에 있어서,
    복수의 인수에 대한 다항식(121, 122)의 각각의 항을 동시에 평가하여, 복수의 인수의 각각의 인수에 대한 각각의 항에 대응하는 곱 항을 생성하는 단계와,
    각각의 인수의 각각의 곱 항을 가산하여, 각각의 인수에 대응하는 다항식의 평가값에 해당하는 합(431, 441, 451, 461)을 생성하는 단계를 포함하고,
    각각의 항을 동시에 평가하는 단계는,
    복수의 인수의 각각에 대응하는 인자(322a-d)에 공통 계수(321)를 곱하여, 복수의 곱 항을 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020017009228A 1999-11-24 2000-11-23 가속화된 리드-솔로몬 오류정정 KR100683624B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/449,230 US6539515B1 (en) 1999-11-24 1999-11-24 Accelerated Reed-Solomon error correction
US09/449,230 1999-11-24

Publications (2)

Publication Number Publication Date
KR20010101638A KR20010101638A (ko) 2001-11-14
KR100683624B1 true KR100683624B1 (ko) 2007-02-20

Family

ID=23783408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017009228A KR100683624B1 (ko) 1999-11-24 2000-11-23 가속화된 리드-솔로몬 오류정정

Country Status (6)

Country Link
US (1) US6539515B1 (ko)
EP (1) EP1151542A1 (ko)
JP (1) JP2003516018A (ko)
KR (1) KR100683624B1 (ko)
CN (1) CN1227817C (ko)
WO (1) WO2001039378A1 (ko)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116679A1 (en) * 2000-12-15 2002-08-22 Mike Lei In-band FEC decoder for sonet
DE10137457B4 (de) * 2001-08-02 2004-09-23 Systemonic Ag Verfahren zur Polynomberechnung mit 1-Bit Koeffizienten
EP1370005A3 (en) * 2002-06-07 2003-12-17 Thomson Licensing S.A. Reed-Solomon decoder
EP1370003A1 (en) * 2002-06-07 2003-12-10 Deutsche Thomson-Brandt Gmbh Reed-Solomon Decoder
US7661057B2 (en) * 2006-02-01 2010-02-09 Broadcom Corporation Clocking Chien searching at different frequency than other Reed-Solomon (RS) ECC decoding functions
US7774688B1 (en) * 2006-10-11 2010-08-10 Marvell International Ltd. Hardware efficient decoding system for Bose, Ray-Chaudhuri, Hocquenghem (BCH) product codes
JP5320964B2 (ja) * 2008-10-08 2013-10-23 ソニー株式会社 サイクリックシフト装置、サイクリックシフト方法、ldpc復号装置、テレビジョン受像機、及び、受信システム
RU2009119260A (ru) * 2009-05-22 2010-11-27 ЭлЭсАй Корпорейшн (US) Декодер кодов бчх или кодов рида-соломона с модификацией синдромов
CN102025379B (zh) * 2009-09-17 2013-03-13 义守大学 错误更正码的解码器及其错误更正值计算装置
CN101777922B (zh) * 2010-01-12 2013-02-13 北京忆恒创源科技有限公司 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路
US8397144B1 (en) * 2010-08-16 2013-03-12 Integrated Device Technology, Inc. BCH data correction system and method
CN101964664B (zh) * 2010-09-16 2014-07-09 复旦大学 一种适用于CMMB的多模式Reed-Solomon译码器结构
CN102006086B (zh) * 2010-10-19 2012-12-05 凌阳科技股份有限公司 (n,k)方块码的软输入软输出解码装置
US8707122B1 (en) 2011-02-08 2014-04-22 Pmc-Sierra Us, Inc. Nonvolatile memory controller with two-stage error correction technique for enhanced reliability
CN102122964B (zh) * 2011-03-31 2014-07-02 西安电子科技大学 一种基于fpga的高速rs编译码器实现方法
CN102158234A (zh) * 2011-04-29 2011-08-17 重庆金美通信有限责任公司 基于域元素校验方式的rs译码性能限检测方法
US8875001B1 (en) * 2011-09-08 2014-10-28 Xilinx, Inc. Circuitry for parallel decoding of data blocks
US8694855B1 (en) 2011-11-02 2014-04-08 Pmc-Sierra Us, Inc. Error correction code technique for improving read stress endurance
US8869013B1 (en) * 2011-12-01 2014-10-21 Xilinx, Inc. Circuit enabling and a method of generating a product in a decoder circuit
US8694849B1 (en) 2011-12-19 2014-04-08 Pmc-Sierra Us, Inc. Shuffler error correction code system and method
CN102571106B (zh) * 2012-01-04 2014-03-26 记忆科技(深圳)有限公司 具有双层纠错能力的bch编码器和解码器
CN102684709B (zh) * 2012-05-10 2014-10-15 天津大学 一种译码方法及其译码装置
CN102811066B (zh) * 2012-07-17 2015-06-10 记忆科技(深圳)有限公司 伴随式计算装置及解码器
CN102780496B (zh) * 2012-08-17 2015-03-04 上海高清数字科技产业有限公司 Rs码译码方法及装置
CN102832952B (zh) * 2012-09-25 2015-07-29 钜泉光电科技(上海)股份有限公司 低成本的多模式Reed-Solomon译码器
CN102891689B (zh) * 2012-09-26 2015-12-09 深圳市国微电子有限公司 一种错误位置多项式求解方法及装置
CN102882534B (zh) * 2012-10-12 2015-08-19 烽火通信科技股份有限公司 Rs编码的并行实现方法及装置
CN102904585B (zh) * 2012-11-08 2015-10-28 杭州士兰微电子股份有限公司 动态纠错编、解码方法及装置
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
CN103762991B (zh) * 2013-12-20 2017-05-17 记忆科技(深圳)有限公司 一种bch码译码方法及系统
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9954553B1 (en) * 2015-06-05 2018-04-24 Altera Corporation Circuitry and methods for continuous parallel decoder operation
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
TWI620947B (zh) * 2017-02-14 2018-04-11 財團法人國家實驗研究院 用於高速衛星資料軟體平行前端解碼器的平行處理方法及其軟體架構
US10756763B2 (en) * 2018-09-28 2020-08-25 Innogrit Technologies Co., Ltd. Systems and methods for decoding bose-chaudhuri-hocquenghem encoded codewords

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868828A (en) 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
US4873688A (en) * 1987-10-05 1989-10-10 Idaho Research Foundation High-speed real-time Reed-Solomon decoder
US5099482A (en) * 1989-08-30 1992-03-24 Idaho Research Foundation, Inc. Apparatus for detecting uncorrectable error patterns when using Euclid's algorithm to decode Reed-Solomon (BCH) codes
US5912905A (en) * 1994-03-25 1999-06-15 Mitsubishi Denki Kabushiki Kaisha Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes
US6449746B1 (en) * 1998-08-17 2002-09-10 T. K. Truong Decoding method for correcting both erasures and errors of reed-solomon codes

Also Published As

Publication number Publication date
KR20010101638A (ko) 2001-11-14
CN1227817C (zh) 2005-11-16
CN1344439A (zh) 2002-04-10
WO2001039378A1 (en) 2001-05-31
EP1151542A1 (en) 2001-11-07
JP2003516018A (ja) 2003-05-07
US6539515B1 (en) 2003-03-25

Similar Documents

Publication Publication Date Title
KR100683624B1 (ko) 가속화된 리드-솔로몬 오류정정
US7028247B2 (en) Error correction code circuit with reduced hardware complexity
US4413339A (en) Multiple error detecting and correcting system employing Reed-Solomon codes
US5642366A (en) Global parity symbol for interleaved reed-solomon coded data
US4504948A (en) Syndrome processing unit for multibyte error correcting systems
US6026420A (en) High-speed evaluation of polynomials
US7502989B2 (en) Even-load software Reed-Solomon decoder
US20050172208A1 (en) Forward Chien search type Reed-Solomon decoder circuit
US5539755A (en) Method and apparatus for decoding an error protected block of extended data
US20050204268A1 (en) Decoding and error correction for algebraic geometric codes
EP0233075A2 (en) Method and apparatus for generating error detection check bytes for a data record
EP1370003A1 (en) Reed-Solomon Decoder
US7461329B2 (en) Channel encoding adapted to error bursts
US20040117719A1 (en) Methods and devices for decoding one-point algebraic geometric codes
US20040177308A1 (en) Encoding apparatus and method, and decoding apparatus and method for error correction
US5315600A (en) Error correction system including a plurality of processor elements which are capable of performing several kinds of processing for error correction in parallel
EP1102406A2 (en) Apparatus and method for decoding digital data
Tang et al. Coding for error control
WO2011154750A1 (en) Decoding of reed - solomon codes using look-up tables for error detection and correction
US6098192A (en) Cost reduced finite field processor for error correction in computer storage devices
EP0571019B1 (en) Extended error protected communication system
US8255777B2 (en) Systems and methods for locating error bits in encoded data
US8042026B2 (en) Method for efficiently calculating syndromes in reed-solomon decoding, and machine-readable storage medium storing instructions for executing the method
US5787100A (en) Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder
KR20000037517A (ko) 리드-솔로몬 디코더 회로

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee