KR100510503B1 - 하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬디코딩 방법 - Google Patents

하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬디코딩 방법 Download PDF

Info

Publication number
KR100510503B1
KR100510503B1 KR10-2002-0078389A KR20020078389A KR100510503B1 KR 100510503 B1 KR100510503 B1 KR 100510503B1 KR 20020078389 A KR20020078389 A KR 20020078389A KR 100510503 B1 KR100510503 B1 KR 100510503B1
Authority
KR
South Korea
Prior art keywords
polynomial
modified
reed solomon
stage
error
Prior art date
Application number
KR10-2002-0078389A
Other languages
English (en)
Other versions
KR20040050536A (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 삼성전자주식회사
Priority to KR10-2002-0078389A priority Critical patent/KR100510503B1/ko
Publication of KR20040050536A publication Critical patent/KR20040050536A/ko
Application granted granted Critical
Publication of KR100510503B1 publication Critical patent/KR100510503B1/ko

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/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/1555Pipelined decoder implementations
    • 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)
  • 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)

Abstract

하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬 디코딩 방법이 개시된다. 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법은, 수신 데이터 코드 다항식과 수신 이레이져로부터 상기 수신 데이터 코드의 에러를 정정하는 계산을 하여 정정된 데이터 코드 다항식을 출력하는 리드 솔로몬 디코더의 디코딩 방법으로서, 먼저, 정정할 상기 데이터 코드 및 상기 이레이져를 수신한다. 수신된 정정할 상기 데이터 코드 및 상기 이레이져로부터 다음에 필요한 다항식들을 추출하고, 제 1서브 스테이지에서 제 1치엔 서치의 수행과 제 2수정 신드롬 다항식 및 제 2이레이져 위치 다항식 계산을 한다. 제 2서브 스테이지에서는 변형된 [수학식 19]의 수정 유클리드 알고리즘 계산으로부터 제 2에러타 위치 다항식 및 제 2에러타 값 다항식 계산을 한다. 상기 제 1서브 스테이지 및 상기 제 2서브 스테이지 중에는 제 3신드롬 다항식 계산을 동시에 한다. 따라서, 수정 신드롬 다항식, 이레이져 위치 다항식, 및 치엔 서치를 계산하는 회로들이 수정 유클리드 알고리즘(modified Euclid's algorithm)을 계산하는 회로들과 타이밍적으로 중복되지 않게 서로 공유될 수 있고, 종래의 디코더에 비하여 쓰루풋(throuput)의 손해는 없이 면적을 50% 정도로 줄일 수 있는 등 하드웨어 효율이 극대화되고, 계산 레이턴시도 감소되는 효과가 있다.

Description

하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬 디코딩 방법{New pipline Reed Solomon decoding method for providing extreme hardware efficiency}
본 발명은 리드 솔로몬 디코딩 방법에 관한 것으로, 특히 수정 유클리드 알고리즘(modified Euclid's algorithm)을 이용한 리드 솔로몬 디코딩 방법에 관한 것이다.
일반적인 디지털 통신이나 스토리지 시스템에서는, 데이터의 전송 또는 디코딩 중에 발생하는 에러를 검출하고, 그 에러를 정정하기 위하여 전송 데이터에 RS(Reed Solomon) 부호를 부가하는 에러 정정 부호 방식이 사용된다. 즉, RS 부호란 수신된 데이터에 대한 디코딩 과정에서 에러의 위치 및 그 에러 값을 검출할 수 있는 심볼, 즉 비트 단위의 에러 제어를 위한 부호이다. 에러는 그 에러의 위치를 지정해주는 이레이져(erasure)와 그 에러 값으로 표시되고, 이들 이레이져와 에러 값을 합하여 에러타(errata)라고 한다.
먼저, 갈로아 필드(Galois field) GF(2m)에서 생성되는 (n, k, d) RS 부호를 기준으로 RS 부호의 인코딩과 디코딩 알고리즘을 설명한다. n은 코드 길이(code length), k는 정보 길이(information length), 및 d는 최소 거리(minimum distance)이다.
이때, 전송하고자 하는 데이터 코드, 즉, 정보 다항식(information polynomial) D(x)가 [수학식 1]과 같다고 하자.
이때, D(x)xd-1을 제너레이터 다항식(generator polynomial) G(x)로 나눈 나머지가 패리티 다항식(parity polynomial) P(x)가 되도록 생성하여 합하면, 실제로 전송할 코드 다항식(code polynomial) C(x)가 [수학식 2]와 같이 생성된다.
결국 코드 다항식(code polynomial) C(x)는 제너레이터 다항식(generator polynomial) G(x)로 나누어 떨어지는 성질을 갖게 되며, 이를 바탕으로 수신 단에서 디코딩 할 때, 신드롬(syndrome)을 생성하여 에러 다항식(error polynomial)을 찾을 수 있는 근거가 된다.
전송 채널에서 유발되는 에러는 [수학식 3]과 같은 에러 다항식(error polynomial) E(x) 형태로 개입되어, 수신 데이터 코드 다항식인 R(x)에 [수학식 4]와 같은 왜곡이 생긴다.
따라서, 수신 단에서 E(x)와 동일한 E'(x)를 찾아내면 정정된 코드 다항식(code polynomial) C(x)를 완벽하게 복구할 수 있다.
도 1은 종래의 수정 유클리드 알고리즘(modified Euclid's algorithm)을 이용한 리드 솔로몬 디코더의 블록도이다.
도 1을 참조하면, 종래의 수정 유클리드 알고리즘(modified Euclid's algorithm)을 이용한 리드 솔로몬 디코더는, 신드롬 다항식(syndrome polynomial) 계산부(110), 수정 신드롬 다항식(modified syndrome polynomial) 계산부(120), 이레이져 위치 다항식(erasure locator polynomial) 계산부(130), 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산부(140), 치엔 서치(Chien search)부(150), 딜레이 버퍼(delay buffer)부(160), 및 에러 정정(error correction)부(170)를 구비한다.
신드롬 다항식 (syndrome polynomial) 계산부(110)는, [수학식 5]와 같이, 수신 데이터 코드 다항식인 R(x)로부터 신드롬 다항식 (syndrome polynomial) S(x)를 계산한다.
여기서, 최소 거리 d=n-k+1이며, 신드롬 다항식(syndrome polynomial) S(x)의 계수가 (d-1)개이므로 미지수의 개수는 (d-1)개 이내이어야 E'(x)를 풀 수 있다. 에러의 경우에는 미지수가 에러의 위치와 에러 값 2개이고, 이레이져의 경우에는 미지수가 에러 값 하나이므로 {2×(에러의 수)+(이레이져의 수)}≤(d-1)인 범위 내에서 올바른 E'(x)를 구할 수 있다.
도 2는 도 1의 신드롬 다항식(syndrome polynomial) 계산부(110)의 회로도이다.
도 2를 참조하면, 신드롬 다항식(syndrome polynomial) 계산부(110)는 수신 데이터 코드 ri로부터, S(x) 계산 레지스터 값들(S0,i~Sd-2,i)에 대한 합산과 승산을 반복하여 [수학식 6]과 같은 다항식을 계산하여 [수학식 5]를 만족하는 신드롬 다항식(syndrome polynomial) S(x)를 계산한다. 여기서, n개의 ri값이 인터럽트(interrupt) 없이 입력된다면 클럭의 n 주기만에 수행된다.
수정 신드롬 다항식(modified syndrome polynomial) 계산부(120)는, [수학식 7]과 같이, 입력되는 신드롬 다항식(syndrome polynomial) S(x)로부터, 수정 신드롬 다항식(modified syndrome polynomial) T(x)를 계산한다.
이레이져 위치 다항식(erasure locator polynomial) 계산부(130)는, [수학식 8]과 같이, 입력되는 이레이져로부터 이레이져 위치 다항식(erasure locator polynomial) Λ(x)을 계산한다.
도 3은 도 1의 수정 신드롬 다항식(modified syndrome polynomial) 계산부(120) 또는 이레이져 위치 다항식(erasure locator polynomial) 계산부(130)의 회로도이다.
도 3을 참조하면, 수정 신드롬 다항식(modified syndrome polynomial) 계산부(120) 또는 이레이져 위치 다항식(erasure locator polynomial) 계산부(130)는 위에서 계산된 α-i로부터, T(x), 또는 Λ(x) 계산 레지스터 값들(Λ0,id-2,i)에 대한 합산과 승산을 반복하여 [수학식 9], 또는 [수학식 10] 각각과 같은 다항식을 계산하여 [수학식 7] 또는 [수학식 8]을 만족하는 수정 신드롬 다항식 (modified syndrome polynomial) T(x)와 이레이져 위치 다항식(erasure locator polynomial) Λ(x)을 계산한다.
여기서, 수정 신드롬 다항식(modified syndrome polynomial) T(x)와 이레이져 위치 다항식(erasure locator polynomial) Λ(x)을 계산하는 회로는, 별도의 하드웨어로 동시에 진행되며, 단지 초기값만 다르다. 또한, n개의 이레이져 값이 인터럽트(interrupt) 없이 입력된다면, 이와 같은 값들은 클럭의 n 주기만에 수행된다. 단, 도 3에서, α-i∈Λ이라면, ENABLE=1이고, 그렇지 않으면, ENABLE=0이다.
[수학식 9]에서 보는 바와 같이, 수정 신드롬 다항식(modified syndrome polynomial) T(x)는, 초기값을 1로 하지 않고, 앞서 계산된 신드롬 다항식(syndrome polynomial) S(x)로 초기화한다. 또한, modxd-1을 수행하기 위해 xd-1차 항을 소거하면 된다. α-i를 생성하는 부분은 이레이져 위치 다항식(erasure locator polynomial) Λ(x)을 생성할 때의 α-i 생성 부분과 공유할 수 있다.
수정 유클리드 알고리즘(modified Euclid's algorithm) 계산부(140)는 에러의 값과 위치를 미지수로 갖는 방정식을 풀어내는 가장 핵심이 되는 과정으로 알고리즘 적으로나 하드웨어 적으로 가장 많은 부분을 차지한다.
즉, [수학식 11]을 만족하도록 반복하여, deg(λi(x))>deg(Ri(x))가 되도록 하는, [수학식 12]와 같은, 에러타 위치 다항식(errata locator polynomial) σ(x)과 에러타 값 다항식(errata evaluator polynomial) ω(x)을 계산한다.
이때, [수학식 11]을 계산하기 위한 R(x), Q(x), λ(x), μ(x) 계산 레지스터들, 승산기들, 및 합산기들이 필요하다.
치엔 서치(Chien search)부(150)는 위에서 계산된 에러타 위치 다항식(errata locator polynomial) σ(x)과 에러타 값 다항식(errata evaluator polynomial) ω(x) 각각으로부터, [수학식 13]과 [수학식 14] 각각을 만족하는 에러타 위치와 에러타 값을 계산한다.
도 4는 도 1의 치엔 서치(Chien search)부(160)의 에러타 위치(i) 계산기의 회로도이다. 도 5는 도 1의 치엔 서치(Chien search)부(160)의 에러타 값(ei) 계산기의 회로도이다.
도 4 및 도 5를 참조하면, 치엔 서치(Chien search)부(160)는, 외부 입력을 받음이 없이, 별도의 하드웨어로 동시에 계산하여, 에러타 위치(i)와 에러타 값(ei)을 계산하고, 이와 같은 계산은 클럭의 n 주기만에 정확히 종료된다.
도 4의 회로는 [수학식 15]를 계산하고, 도 5의 회로는 [수학식 16]을 계산하기 위하여 필요하다.
위와 같이 계산된 ei로부터 에러 다항식(error polynomial) E'(x)는 [수학식 17]과 같이 된다.
딜레이 버퍼(delay buffer)부(160)는, 에러 정정(error correction)부(170)에서 [수학식 18]과 같이, 에러 정정된 데이터 코드 다항식 C(x)가 계산되도록 수신 데이터 코드 다항식 R(x)을 지연시킨다.
그러나, 위와 같은 종래의 수정 유클리드 알고리즘(modified Euclid's algorithm)을 이용한 파이프라인 구조의 리드 솔로몬 디코딩 방법은, 4개의 스테이지 형태 즉, 신드롬 다항식(syndrome polynomial) S(x) 계산, 이레이져 위치 다항식(erasure locator polynomial) Λ(x) 계산, 수정 신드롬 다항식(modified syndrome polynomial) T(x) 계산, 및 치엔 서치(Chein search) 계산 동작을 순차적으로 수행하고, 어느 한 스테이지 내에서는 이들 4개의 계산이 모두 동작 상태에 있다. 따라서, 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산 시에, 다른 하드웨어 블록들도 모두 동작 상태이므로, 타이밍적으로 모든 동작이 중첩되어 하드웨어 자원 공유를 전혀 할 수가 없다. 이에 따라, 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산을 위하여, 별도의 하드웨어, 즉, 레지스터들, 승산기들, 및 합산기들을 구비하여야 하므로, 디코더 칩 사이즈를 증가시키는 문제가 있다.
따라서, 본 발명이 이루고자하는 기술적 과제는, 수정 신드롬 다항식(modified syndrome polynomial) T(x), 이레이져 위치 다항식(erasure locator polynomial) Λ(x), 치엔 서치를 계산하는 회로들이 수정 유클리드 알고리즘(modified Euclid's algorithm)을 계산하는 회로들과 서로 공유될 수 있도록, 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산 방법을 새롭게 변형한 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법을 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법은, 수신 데이터 코드 다항식과 수신 이레이져로부터 상기 수신 데이터 코드의 에러를 정정하는 계산을 하여 정정된 데이터 코드 다항식을 출력하는 리드 솔로몬 디코더의 디코딩 방법에 있어서, 다음과 같은 단계를 구비한다.
즉, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법은, 상기 리드 솔로몬 디코더에 의하여 정정할 상기 데이터 코드 및 상기 이레이져를 수신하는 단계; 상기 리드 솔로몬 디코더에 의하여, 제 1서브 스테이지에서 제 1치엔 서치의 수행을 하는 단계; 상기 리드 솔로몬 디코더에 의하여, 상기 제 1서브 스테이지에서 제 2수정 신드롬 다항식 및 제 2이레이져 위치 다항식 계산을 하는 단계; 상기 리드 솔로몬 디코더에 의하여, 제 2서브 스테이지에서 변형된 수정 유클리드 알고리즘 계산으로부터 제 2에러타 위치 다항식 및 제 2에러타 값 다항식 계산을 하는 단계; 및 상기 리드 솔로몬 디코더에 의하여, 상기 제 1서브 스테이지 및 상기 제 2서브 스테이지 중에 제 3신드롬 다항식 계산을 하는 단계를 구비하는 것을 특징으로 한다.
여기서, 상기 제 1치엔 서치의 수행은, 이전 스테이지들에서 계산된 제 1신드롬 다항식, 제 1수정 신드롬 다항식, 및 제 1이레이져 위치 다항식으로부터 추출된 제 1에러타 위치 다항식 및 제 1에러타 값 다항식에 의하여 수행되는 것을 특징으로 한다.
상기 제 2수정 신드롬 다항식 및 상기 제 2이레이져 위치 다항식 각각의 계산은, 이전 스테이지에서 계산된 제 2신드롬 다항식 및 이전 스테이지에서 수신되는 상기 이레이져에 의하여 수행되는 것을 특징으로 한다.
상기 변형된 수정 유클리드 알고리즘 계산은, 수학식,
에 의하여 수행되는 것을 특징으로 한다.
상기 제 2에러타 위치 다항식 및 상기 제 2에러타 값 다항식 각각의 계산은, 상기 제 1서브 스테이지에서 상기 제 1치엔 서치 및 상기 제 2수정 신드롬 다항식와 제 2이레이져 위치 다항식 계산 할 때에, 사용되었던 소정의 하드웨어를 공유하여 사용하는 것을 특징으로 한다.
상기 소정의 하드웨어는, 제 1치엔 서치 계산 레지스터, 상기 제 2수정 신드롬 다항식 계산 레지스터, 및 상기 제 2이레이져 위치 다항식 계산 레지스터와 승산과 합산에 사용되는 하드웨어들인 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 6은 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법은, 수신 데이터 코드 다항식 R(x)과 수신 이레이져로부터 상기 수신 데이터 코드의 에러를 정정하는 계산을 하여 정정된 데이터 코드 다항식 C(x)를 출력하는 리드 솔로몬 디코더의 디코딩 방법으로서, 다음과 같은 새로운 파이프라인 구조로 수행된다.
먼저, 디코더 외부에서 정정할 데이터 코드 ri 및 이레이져를 수신한다(S610).
[표 1]은 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 스테이지를 설명하기 위한 표이다.
[표 1]
[표 1]을 참조하면, "스테이지0"부터 "스테이지2" 각각의 단계에서 파이프라인 구조로 제 1신드롬 다항식(syndrome polynomial) S(x)부터 제 3신드롬 다항식(syndrome polynomial) S(x)가 계산된다(S620). 여기서, [표 1]의 "신드롬 다항식 계산0"에서는 제 1신드롬 다항식(syndrome polynomial) S(x)가 계산되고, "신드롬 다항식 계산1"에서는 제 2신드롬 다항식(syndrome polynomial) S(x)가 계산되며, "신드롬 다항식 계산2"에서는 제 3신드롬 다항식(syndrome polynomial) S(x)가 계산되는 것과 같이, 치엔 서치(Chien search), 수정 신드롬 다항식(modified syndrome polynomial) T(x) 계산, 이레이져 위치 다항식(erasure locator polynomial) Λ(x) 계산에서도, 마찬가지로 스테이지들을 표시하는 "0", "1", 및 "2" 와 서로 다른 계산 값을 표시하는 "제 1", "제 2", 및 "제 3"과는 구별된다.
"스테이지1"에서는(S630), 제 2신드롬 다항식(syndrome polynomial) S(x)가 계산되는 동안에, 한 서브 스테이지에서 제 1수정 신드롬 다항식(modified syndrome polynomial) T(x) 및 제 1이레이져 위치 다항식(erasure locator polynomial) Λ(x)이 계산되고(S633), 다른 서브 스테이지에서 변형된 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산으로부터 제 1에러타 위치 다항식(errata locator polynomial) σ(x) 및 제 1에러타 값 다항식(errata evaluator polynomial) ω(x)이 계산된다(S635).
결국, 디코더의 모든 하드웨어가 동작하는 "스테이지2"로 되면, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩은 다음과 같이 수행된다.
[표 1]을 참조하면, 제 1서브 스테이지에서는 제 1치엔 서치(Chien search)의 수행을 한다. 또한, 제 1서브 스테이지에서 제 2수정 신드롬 다항식(modified syndrome polynomial) T(x) 및 제 2이레이져 위치 다항식(erasure locator polynomial) Λ(x) 계산을 동시에 한다.
여기서, 제 1치엔 서치(Chien search)의 수행은, 이전 스테이지들에서 계산된 제 1신드롬 다항식(syndrome polynomial) S(x), 제 1수정 신드롬 다항식(modified syndrome polynomial) T(x), 및 제 1이레이져 위치 다항식(erasure locator polynomial) Λ(x)로부터 추출된 제 1에러타 위치 다항식(errata locator polynomial) σ(x) 및 제 1에러타 값 다항식(errata evaluator polynomial) ω(x)에 의하여 수행된다. 또한, 제 2수정 신드롬 다항식(modified syndrome polynomial) T(x) 및 상기 제 2이레이져 위치 다항식(erasure locator polynomial) Λ(x) 각각의 계산은, 이전 스테이지에서 계산된 제 2신드롬 다항식(syndrome polynomial) S(x) 및 이전 스테이지에서 수신되는 이레이져에 의하여 수행된다.
제 2서브 스테이지에서는 변형된 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산으로부터 제 2에러타 위치 다항식(errata locator polynomial) σ(x) 및 제 2에러타 값 다항식(errata evaluator polynomial) ω(x) 계산을 한다(S640). 제 1서브 스테이지 및 상기 제 2서브 스테이지 중에는 제 3신드롬 다항식(syndrome polynomial) S(x) 계산을 동시에 한다(S620). 여기서, 변형된 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산이란, 종래의 수정 유클리드 알고리즘(modified Euclid's algorithm)을 변형한 새로운 알고리즘으로서, [수학식 19]와 같이 변형하였다.
여기서, [수학식 19]와 같은 알고리즘으로 계산되는 제 2에러타 위치 다항식(errata locator polynomial) σ(x) 및 제 2에러타 값 다항식(errata evaluator polynomial) ω(x) 각각의 계산은, 상기 제 1서브 스테이지에서 상기 제 1치엔 서치(Chien search) 및 상기 제 2수정 신드롬 다항식(modified syndrome polynomial) T(x)와 제 2이레이져 위치 다항식(erasure locator polynomial) Λ(x) 계산 할 때에, 사용되었던 소정의 하드웨어를 공유하여 사용한다. 즉, 제 1치엔 서치(Chien search) 계산 레지스터, 상기 제 2수정 신드롬 다항식(modified syndrome polynomial) T(x) 계산 레지스터, 및 상기 제 2이레이져 위치 다항식(erasure locator polynomial) Λ(x) 계산 레지스터와 승산과 합산에 사용되는 기타의 하드웨어들을 공유한다.
좀더 상세히 설명하면, [수학식 19]와 같이 종래의 수정 유클리드 알고리즘을 변형하면, 4d개이던 승산기가 2d개로 줄고, 디바이더(divider)는 1개 늘어난다. [수학식 19]에서, Ri(x)와 λi(x)를 계산하는 과정이 다항식 L1i-1(x), L2i-1(x) 각각에 (di-1)를 승산해서 다른 다항식 S1i-1(x) 및 S2i-1(x)을 쉬프트 한 것(x li-1)과 더해주는 수식이 된다. 이것은 이레이져 위치 다항식(erasure locator polynomial) Λ(x)이나 수정 신드롬 다항식(modified syndrome polynomial) T(x)를 계산하는 [수학식 10]과 같게 되어, 변형된 [수학식 19]의 알고리즘 계산에 이레이져 위치 다항식(erasure locator polynomial) Λ(x), 및 수정 신드롬 다항식(modified syndrome polynomial) T(x) 계산 레지스터의 공유가 가능하다. 마찬가지 방법으로, 변형된 [수학식 19]의 알고리즘 계산에 에러타 위치(i) 및 에러타 값(ei)을 계산하는 치엔 서치(Chien search) 계산 레지스터의 공유가 가능하다. 또한, (di-1) 계산을 위해 추가되는 디바이더(divider)는 치엔 서치(Chein search)에서 사용되는 디바이더(divider)를 사용할 수 있다. 즉, 변형된 [수학식 19]의 알고리즘 계산에는 (d-1)m-비트의 레지스터가 4개 필요한데, 위와 같이 하드웨어를 공유하여 계산할 수 있다.
[표 2]는 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법에서, 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산 시에 공유되는 하드웨어를 나타낸 일 예이다.
즉, [표 2]와 같이, Qi(x), μi(x), λi(x), 및 Ri(x) 계산 레지스터들 각각은 T(x) , Λ(x), σ(x), 및 ω(x) 계산 레지스터로 공유가 가능하다. 나머지 승산이나 합산을 위한 하드웨어의 공유도 [표 2]와 같다. 이렇게 하면, 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm)을 시작할 때, Qi(x), μi(x) 계산의 초기화와 치에 서치(Chein search)를 시작할 때, σ(x), ω(x)의 초기화가 필요하지 않게 된다. 따라서, 먹스(MUX)만 적절히 추가해 주면, 하드웨어의 거의 대부분이 공유 가능한 파이프라인 구조가 된다.
[표 2]
[수학식 19]에서, deg(Ri), deg(Qi), deg(λi)를 판단하는 회로와 x li-1 쉬프트 오퍼레이션은, 조합 논리 회로로 구현할 수 있어 별도의 클럭 지연을 소요하지 않는다. 따라서, i-1번째에서 i번째 다항식 4개, 즉, Qi(x), μi(x), λi (x), 및 Ri(x)를 계산하는데 있어서, 한 번의 클럭 지연을 필요로 하므로, [수학식 19] 전체의 알고리즘을 수행하는데 최대 (d-1) 클럭을 필요로 한다.
위와 같이 순차적으로 계산되는 에러타 위치 다항식(errata locator polynomial) σ(x) 및 에러타 값 다항식(errata evaluator polynomial) ω(x)로부터 에러 다항식(error polynomial) E'(x)이 추출되고(S650), 에러 다항식(error polynomial) E'(x)는 위와 같은 계산이 되는 동안 딜레이 된 수신 데이터 코드 다항식 R(x)과의 연산으로 에러 정정이 이루어지고(S660), 이때 정정된 데이터 코드 다항식 C(x)가 출력된다(S670).
상기한 바와 같은, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법에 대한 타이밍 관계를 좀더 상세하게 설명한다.
위에서 기술한 바와 같이, 이레이져 위치 다항식(erasure locator polynomial) Λ(x), 수정 신드롬 다항식(modified syndrome polynomial) T(x), 및 치엔 서치(Chein search) 계산을 수행하는 하드웨어가, 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산을 수행할 때에, 완전히 공유될 수 있는 가능성을 제시하였다. 따라서, 이와 같은 새로운 파이프라인 구조로 계산을 수행하는데 있어서, 타이밍적으로 중복되지만 않으면, 가장 부하가 많이 걸리는 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산을, 위와 같은 다른 하드웨어 블록과의 자원 공유에 의해 수행할 수 있고, 그러면 디코더의 칩 사이즈를 크게 줄일 수 있다.
즉, 종래의 디코더는, 4개의 스테이지 형태 즉, 신드롬 다항식(syndrome polynomial) S(x) 계산, 이레이져 위치 다항식(erasure locator polynomial) Λ(x) 계산, 수정 신드롬 다항식(modified syndrome polynomial) T(x) 계산, 및 치엔 서치(Chein search) 계산 동작을 순차적으로 수행하고, 어느 한 스테이지 내에서는 이들 4개의 계산이 모두 동작 상태에 있다. 따라서, 종래의 디코더는, 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산 시에, 다른 하드웨어 블록들도 모두 동작 상태이므로, 타이밍적으로 모든 동작이 중첩되어 자원 공유를 전혀 할 수가 없다. 그러나, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법에서는, [표 1]의 "스테이지2"에서와 같이, 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산 시에, 이레이져 위치 다항식(erasure locator polynomial) Λ(x), 수정 신드롬 다항식(modified syndrome polynomial) T(x), 및 치엔 서치(Chein search) 계산을 수행하는 하드웨어가 이전 동작을 종료한 상태이므로, 동작의 중첩이 없다.
다시 말하여, [표 1]과 같이, 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산의 수행을 하나의 스테이지로 분리하지 않고, 서브 스테이지 형태로 이레이져 위치 다항식(erasure locator polynomial) Λ(x), 수정 신드롬 다항식(modified syndrome polynomial) T(x)를 계산하는 스테이지에 함께 붙인다. 치엔 서치(Chein search)는 별도의 입력 없이 자체적으로 수행되기 때문에, 데이터 입력을 필요로 하는 신드롬 다항식(syndrome polynomial) S(x) 계산이나 수정 신드롬 다항식(modified syndrome polynomial) T(x) 및 이레이져 위치 다항식(erasure locator polynomial) Λ(x) 계산보다 빨리 종료하게 된다. 이렇게되면, 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산을 수행하는 시간에는 신드롬 다항식(syndrome polynomial) S(x) 계산 이외에는 아무 것도 동시에 수행되지 않는다. 따라서, 이레이져 위치 다항식(erasure locator polynomial) Λ(x), 수정 신드롬 다항식(modified syndrome polynomial) T(x), 치엔 서치(Chein search) 계산에 사용되는 자원을 공유하여 쓸 수 있다.
한편, [표 1]과 같이, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법은, 종래의 디코더의 파이프라인 스테이지(4 스테이지)보다 한 스테이지가 줄어들지만, 계산 속도나 쓰루풋(throuput)에 손해가 발생하지 않는다.
즉, 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산을 수행하는데 최대 (d-1) 클럭 지연이 필요한 데 반하여, 나머지 기능은 이보다 상대적으로 훨씬 큰 n 클럭 지연 이상이 소요된다. 따라서, 한 스테이지에 필요한 클럭 지연 수는 n에서 (n+d-1)로 늘어나는 것에 불과하다.
또한, 종래의 신드롬 다항식(syndrome polynomial) S(x) 계산에 필요한 데이터 입력은 별도의 메모리에서 이루어지는 경우가 많은데, DRAM의 경우 한 번의 억세스(access)에 몇 개의 클럭 지연을 필요로 하며, 다른 기능과의 메모리 프라이어티(memory priority) 문제 등으로 인하여, n클럭 지연 이상이 필요한 경우가 많다. 따라서, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법에서, 쓰루풋(throuput)의 손해가 없다.
그리고, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법은 종래의 디코딩 방법보다 하나의 스테이지가 줄게 됨으로써, 레이턴시(latency)도 그만큼 감소하게 된다. 종래의 디코딩 방법의 경우에 토탈 4(n+α) 클럭 지연이있었고, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법의 경우에 토탈 3(n+d-1+α) 클럭 지연이 된다. 이때, 실제 디코딩 처리 시에는 n이 (d-1)보다 훨씬 큰 경우가 대부분이므로, {n-3(d-1)+α} 클럭 지연만큼 레이턴시(latency)가 줄어든다.
[표 3]은 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법으로 구현할 때의 디코더 면적과 종래의 디코더 면적을 레지스터 등의 하드웨어 사용량으로 비교한 표이다.
[표 3]을 참조하면, 실제 면적 비교는 갈로아 필드(Galois field) GF(28)에서 정의되는 동작을 합성하여, 상대적인 게이트 수에 따라 웨이트를 준 것이다. [표 3]에서, 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산을 수행하는 데 있어서 필요한 하드웨어에는 괄호 ( )로 표시하였고, 이 부분이 본 발명에 따른 새로운 파이프라인 구조에서 공유하게 되는 부분이 된다. 이때, [표 1]의 총 사이즈에 나타낸 바와 같이, 전체적으로 50% 이상의 절감 효과가 있다.
본 발명에 따른 새로운 파이프라인 구조는 실제로 DVD(digital video disc) 시스템의 디지털 처리 부분, 즉, 프론트엔드 프로세서(front-end processor) 설계에 적용하여 FPGA(flat pin grid array) 칩으로 검증하였다. DVD의 경우에, 갈로아 필드(Galois field) GF(28)에서 정의되는 RS code PI(182, 172, 11), PO(208, 192, 17)가 적용되며, 이때 계산에 필요한 게이트 수가 55,000 게이트에서 28,000 게이트로 50% 정도 줄어든다.
[표 3]
위에서 기술한 바와 같이, 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법은, 수신 데이터 코드 다항식과 수신 이레이져로부터 상기 수신 데이터 코드의 에러를 정정하는 계산을 하여 정정된 데이터 코드 다항식을 출력하는 리드 솔로몬 디코더의 디코딩 방법으로서, 먼저, 정정할 상기 데이터 코드 및 상기 이레이져를 수신한다. 수신된 정정할 상기 데이터 코드 및 상기 이레이져로부터 다음에 필요한 다항식들을 추출하고, 제 1서브 스테이지에서 제 1치엔 서치(Chien search)의 수행과 제 2수정 신드롬 다항식(modified syndrome polynomial) T(x) 및 제 2이레이져 위치 다항식(erasure locator polynomial) Λ(x) 계산을 한다. 제 2서브 스테이지에서는 변형된 [수학식 19]의 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산으로부터 제 2에러타 위치 다항식(errata locator polynomial) σ(x) 및 제 2에러타 값 다항식(errata evaluator polynomial) ω(x) 계산을 한다. 상기 제 1서브 스테이지 및 상기 제 2서브 스테이지 중에는 제 3신드롬 다항식(syndrome polynomial) S(x) 계산을 동시에 한다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법에서는, 수정 유클리드 알고리즘(modified Euclid's algorithm) 계산 방법을 새롭게 변형하여, 수정 신드롬 다항식(modified syndrome polynomial) T(x), 이레이져 위치 다항식(erasure locator polynomial) Λ(x), 및 치엔 서치를 계산하는 회로들이 수정 유클리드 알고리즘(modified Euclid's algorithm)을 계산하는 회로들과 서로 공유될 수 있다. 따라서, 파이프라인 스테이지(pipeline stage)를 조절하여 위와 같은 하드웨어들이 서로 공유되도록 타이밍적으로 중복되지 않게 할 수 있으므로, 종래의 디코더에 비하여 쓰루풋(throuput)의 손해는 없이 면적을 50% 정도로 줄일 수 있는 등 하드웨어 효율이 극대화되고, 계산 레이턴시(latency)도 감소되는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 수정 유클리드 알고리즘(modified Euclid's algorithm)을 이용한 리드 솔로몬 디코더의 블록도이다.
도 2는 도 1의 신드롬 다항식(syndrome polynomial) 계산부의 회로도이다.
도 3은 도 1의 이레이져 위치 다항식(erasure locator polynomial) 계산부 또는 수정 신드롬 다항식(modified syndrome polynomial) 계산부의 회로도이다.
도 4는 도 1의 치엔 서치(Chien search)부의 에러타 위치 다항식(errata locator polynomial) 계산기의 회로도이다.
도 5는 도 1의 치엔 서치(Chien search)부의 에러타 값 다항식(errata evaluator polynomial) 계산기의 회로도이다.
도 6은 본 발명에 따른 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법을 설명하기 위한 흐름도이다.

Claims (6)

  1. 수신 데이터 코드 다항식과 수신 이레이져로부터 상기 수신 데이터 코드의 에러를 정정하는 계산을 하여 정정된 데이터 코드 다항식을 출력하는 리드 솔로몬 디코더의 디코딩 방법에 있어서,
    상기 리드 솔로몬 디코더에 의하여 정정할 상기 데이터 코드 및 상기 이레이져를 수신하는 단계;
    상기 리드 솔로몬 디코더에 의하여, 제 1서브 스테이지에서 제 1치엔 서치의 수행을 하는 단계;
    상기 리드 솔로몬 디코더에 의하여, 상기 제 1서브 스테이지에서 제 2수정 신드롬 다항식 및 제 2이레이져 위치 다항식 계산을 하는 단계;
    상기 리드 솔로몬 디코더에 의하여, 제 2서브 스테이지에서 변형된 수정 유클리드 알고리즘 계산으로부터 제 2에러타 위치 다항식 및 제 2에러타 값 다항식 계산을 하는 단계; 및
    상기 리드 솔로몬 디코더에 의하여, 상기 제 1서브 스테이지 및 상기 제 2서브 스테이지 중에 제 3신드롬 다항식 계산을 하는 단계를 구비하는 것을 특징으로 하는 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법.
  2. 제 1항에 있어서, 상기 제 1치엔 서치의 수행은,
    이전 스테이지들에서 계산된 제 1신드롬 다항식, 제 1수정 신드롬 다항식, 및 제 1이레이져 위치 다항식으로부터 추출된 제 1에러타 위치 다항식 및 제 1에러타 값 다항식에 의하여 수행되는 것을 특징으로 하는 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법.
  3. 제 1항에 있어서, 상기 제 2수정 신드롬 다항식 및 상기 제 2이레이져 위치 다항식 각각의 계산은,
    이전 스테이지에서 계산된 제 2신드롬 다항식 및 이전 스테이지에서 수신되는 상기 이레이져에 의하여 수행되는 것을 특징으로 하는 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법.
  4. 제 1항에 있어서, 상기 변형된 수정 유클리드 알고리즘 계산은,
    수학식,
    에 의하여 수행되는 것을 특징으로 하는 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법.
  5. 제 1항에 있어서, 상기 제 2에러타 위치 다항식 및 상기 제 2에러타 값 다항식 각각의 계산은,
    상기 제 1서브 스테이지에서 상기 제 1치엔 서치 및 상기 제 2수정 신드롬 다항식과 제 2이레이져 위치 다항식 계산 할 때에, 사용되었던 소정의 하드웨어를 공유하여 사용하는 것을 특징으로 하는 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법.
  6. 제 5항에 있어서, 상기 소정의 하드웨어는,
    상기 제 1치엔 서치, 상기 제 2수정 신드롬 다항식 및 상기 제 2이레이져 위치 다항식의 계산을 위한 레지스터들과 승산과 합산에 사용되는 회로들인 것을 특징으로 하는 새로운 파이프라인 구조의 리드 솔로몬 디코딩 방법.
KR10-2002-0078389A 2002-12-10 2002-12-10 하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬디코딩 방법 KR100510503B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0078389A KR100510503B1 (ko) 2002-12-10 2002-12-10 하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0078389A KR100510503B1 (ko) 2002-12-10 2002-12-10 하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬디코딩 방법

Publications (2)

Publication Number Publication Date
KR20040050536A KR20040050536A (ko) 2004-06-16
KR100510503B1 true KR100510503B1 (ko) 2005-08-26

Family

ID=37344712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0078389A KR100510503B1 (ko) 2002-12-10 2002-12-10 하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬디코딩 방법

Country Status (1)

Country Link
KR (1) KR100510503B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100875928B1 (ko) 2007-05-09 2008-12-26 한국전자통신연구원 고속 리드-솔로몬 복호기의 수정 유클리드 알고리즘 연산회로 및 그 방법
KR101149110B1 (ko) 2006-02-22 2012-05-25 삼성전자주식회사 디지털 통신 시스템의 rs 복호기
US11314592B2 (en) 2019-12-23 2022-04-26 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of operating semiconductor memory devices

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100714447B1 (ko) * 2005-11-28 2007-05-07 한국전자통신연구원 수정 유클리드 알고리즘 연산 장치 및 그 방법과 그를이용한 리드-솔로몬 복호 장치
KR100900329B1 (ko) * 2007-07-13 2009-06-02 한양대학교 산학협력단 리드솔로몬 복호 방법 및 장치
KR101304570B1 (ko) * 2012-01-30 2013-09-05 연세대학교 산학협력단 패리티 체크 행렬 생성 방법, 이를 이용한 오류 정정 방법 및 장치, 오류 정정 장치용 디코더 그리고 오류 정정 장치를 포함하는 메모리 및 전자장치
US10367529B2 (en) 2017-01-27 2019-07-30 Hewlett Packard Enterprise Development Lp List decode circuits

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980012959A (ko) * 1996-07-01 1998-04-30 배순훈 리드솔로몬 복호기의 에러 위치 다항식 평가 장치
KR19980020649A (ko) * 1996-09-10 1998-06-25 양승택 수정 유클리드 알고리듬을 이용한 복호기
KR19980027713A (ko) * 1996-10-17 1998-07-15 김광호 이레이저 정정 능력을 갖는 리드-솔로몬 부호의 복호 장치 및 방법
KR0149298B1 (ko) * 1995-08-11 1998-12-15 김광호 리드-솔로몬 디코더
KR20000067136A (ko) * 1999-04-23 2000-11-15 윤종용 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0149298B1 (ko) * 1995-08-11 1998-12-15 김광호 리드-솔로몬 디코더
KR980012959A (ko) * 1996-07-01 1998-04-30 배순훈 리드솔로몬 복호기의 에러 위치 다항식 평가 장치
KR19980020649A (ko) * 1996-09-10 1998-06-25 양승택 수정 유클리드 알고리듬을 이용한 복호기
KR19980027713A (ko) * 1996-10-17 1998-07-15 김광호 이레이저 정정 능력을 갖는 리드-솔로몬 부호의 복호 장치 및 방법
KR20000067136A (ko) * 1999-04-23 2000-11-15 윤종용 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101149110B1 (ko) 2006-02-22 2012-05-25 삼성전자주식회사 디지털 통신 시스템의 rs 복호기
KR100875928B1 (ko) 2007-05-09 2008-12-26 한국전자통신연구원 고속 리드-솔로몬 복호기의 수정 유클리드 알고리즘 연산회로 및 그 방법
US11314592B2 (en) 2019-12-23 2022-04-26 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of operating semiconductor memory devices

Also Published As

Publication number Publication date
KR20040050536A (ko) 2004-06-16

Similar Documents

Publication Publication Date Title
US6374383B1 (en) Determining error locations using error correction codes
US8683293B2 (en) Method and system for fast two bit error correction
US7322004B1 (en) Efficient high-speed Reed-Solomon decoder
US6092233A (en) Pipelined Berlekamp-Massey error locator polynomial generating apparatus and method
US7941734B2 (en) Method and apparatus for decoding shortened BCH codes or reed-solomon codes
US8621329B2 (en) Reconfigurable BCH decoder
WO2000057561A1 (en) Pipelined high speed reed-solomon error/erasure decoder
KR100510503B1 (ko) 하드웨어 효율을 극대화한 새로운 파이프라인 리드 솔로몬디코딩 방법
EP1502356B1 (en) A method of soft-decision decoding of reed-solomon codes
US8365054B2 (en) Soft reed-solomon decoder based on error-and-erasure reed-solomon decoder
US7206993B2 (en) Method and device for decoding Reed-Solomon code or extended Reed-Solomon code
KR100258951B1 (ko) 리드-솔로몬(rs) 복호기와 그 복호방법
EP0911983A1 (en) Reed solomon error correcting circuit and method and device for euclidean mutual division
US20100174970A1 (en) Efficient implementation of a key-equation solver for bch codes
KR100747487B1 (ko) 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로
US7984366B2 (en) Efficient chien search method in reed-solomon decoding, and machine-readable recording medium including instructions for executing the method
US6574771B1 (en) Galios field processor having dual parallel data path for Bose Chaudhuri Hocquenghem/Reed-Solomon decoder
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
Chang et al. A (208,192; 8) Reed-Solomon decoder for DVD application
Park Design of the (248,216) Reed-Solomon decoder with erasure correction for Blu-ray disc
Chang et al. A low complexity Reed-Solomon architecture using the Euclid's algorithm
JP2000315955A (ja) 符号化方法、シンドローム演算方法、誤りビット数推定方法、誤りビット位置推定方法、復号方法および復号装置
JP2858538B2 (ja) 再シンドロームチェック方式
Rashid et al. A low complexity, high speed, regular and flexible Reed Solomon decoder for wireless communication
Abirsha et al. An Efficient Carry Skip Adder Based Reduced Complexity RS-Decoder

Legal Events

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