KR20020065788A - 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법 - Google Patents

엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법 Download PDF

Info

Publication number
KR20020065788A
KR20020065788A KR1020010005970A KR20010005970A KR20020065788A KR 20020065788 A KR20020065788 A KR 20020065788A KR 1020010005970 A KR1020010005970 A KR 1020010005970A KR 20010005970 A KR20010005970 A KR 20010005970A KR 20020065788 A KR20020065788 A KR 20020065788A
Authority
KR
South Korea
Prior art keywords
polynomial
error
syndrome
calculating
data
Prior art date
Application number
KR1020010005970A
Other languages
English (en)
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 KR1020010005970A priority Critical patent/KR20020065788A/ko
Priority to EP02250619A priority patent/EP1231718A3/en
Priority to JP2002028634A priority patent/JP2002305453A/ja
Priority to US10/066,651 priority patent/US20020108088A1/en
Priority to CNB021070814A priority patent/CN100393017C/zh
Publication of KR20020065788A publication Critical patent/KR20020065788A/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
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes

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

디지털 통신 및 저장 시스템에 사용되는 리드 솔로몬(Reed_Solomon: 이하, RS) 복호기 및 복호 방법이 개시되어 있다. 고속 리드 솔로몬 복호기는 저장부, 저장부로부터 2m 비트 단위로 입력되는 데이터로부터 에러 위치와 에러값을 계산하기 위한 계산부 및 계산부 입력과 에러 위치와 에러값에 의해 오류를 정정하여 디코딩된 신호를 출력하도록 계산부를 제어하기 위한 제어부를 포함한다. 본 발명에 따르면 다양한 길이의 RS 부호를 복호할 수 있을 뿐만 아니라 고속처리가 가능하다.

Description

엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기 및 그 복호 방법{Reed-Solomon decoder for processing data with m or 2m bits and method thereof}
본 발명은 리드 솔로몬(Reed-Solomon: 이하, RS) 복호기 및 그 복호 방법에 관한 것으로, 더욱 상세하게는 두 개의 RS 코어를 병렬로 사용하여 m 또는 2m 비트 데이터를 처리할 수 있는 RS 복호기 및 그 복호 방법에 관한 것이다.
일반적인 디지털 통신 및 저장 시스템은 데이터의 전송 또는 재생중에 발생하는 에러를 검출 및 정정하기 위하여 전송되는 데이터에 오류 정정용 용장 (redundancy)을 부가하는 오류 정정 부호 방식을 사용한다. 오류 정정 부호 방식에는 블럭 부호 방식과 트리 부호 방식이 있다. 블럭 부호는 선형 부호와 비선형 부호로 나누어진다. 선형 부호는 순회 부호와 비순회 부호로 나누어진다. 순회 부호는 BCH 부호를 포함한다. BCH 부호 중 심볼 단위로 부호어를 구성한 것이 리드 솔로몬 (Reed-Solomon) 부호(이하, RS 부호라 함)이다. 순회 부호나 선형 부호는 RS 부호에 비하여 같은 정정 능력을 갖는 부호어에 대해 더 많은 패리티를 필요로 한다. 따라서, 전송 또는 저장할 데이터의 양이 많은 디지털 통신 및 저장 시스템에서는 순환 부호 방식 중 RS 부호가 널리 사용되고 있다. RS 부호는 일련의 연산 과정을 통하여 수신된 데이터로 부터 에러의 위치 및 에러값을 찾아내는 심볼 단위의 에러 정정 부호이다. 또한, RS 부호는 채널에서 발생하는 산발(random) 및 연집(burst) 오류에 대해 정정 효과가 우수하고, 원하는 오류율을 얻기 위한 부호 선정이 용이한 특성이 있다. 특히, 전송 또는 저장할 데이터의 양이 많은 디지털 통신 및 저장 시스템에 사용되는 RS 부호는 같은 데이터에 대해서 내부호와 외부호를 생성하여 부호화하는 곱부호(product code)로 사용될 때 특히 정정능력이 우수하다.
도 1 및 도 2를 참조하여 종래 m 비트 데이터 처리용 RS 복호기를 설명한다.
종래 RS 복호기(100)는 RS 코어(110), 제어부(130) 및 저장부(150)를 포함한다.
RS 코어(110)는 이레이져 위치 다항식 계산부 (ERALCAL)(111), 신드롬 다항식 계산부(SYNDCAL)(113), 에러타 위치 다항식 계산부 (ERTLCAL)(115) 및 에러값 계산부(ERTVCAL)(117)를 포함한다.
이레이져(erasuer)는 발생된 오류들 중 그 위치를 알 수 있는 에러를 가리킨다.
에러타(errata)는 에러와 이레이져를 함께 부르는 명칭이다.
제어부(130)는 RS 코어(110)와 저장부(150)를 연결하고, RS 코어(110)를 제어하기 위한 제어 신호(CCON)를 발생한다.
저장부(150)는 RS 코어(110)가 데이터(IDATA)로 접근(access)할 수 있도록 하기 위한 데이터 인에이블 신호(ACSEN)를 제어부(130)로 출력한다. 데이터 인에이블 신호(ACSEN)에 따라 제어부(130)는 블럭 옵셋 어드레스(BADR)와 블럭 제어 신호(BCON)를 저장부(150)로 출력한다. RS 코어(110)는 저장부(150)로 부터 입력된 m비트의 데이터(IDATA)와 이레이져 플레그(ERAFLAG)를 사용하여 각종 연산을 행한다. 이레이져 플레그는 전단계에서 계산된 에러 플레그이다.
신드롬 다항식 계산부(113)는 차례대로 입력되는 m 비트의 데이터(IDATA)로 부터 신드롬 다항식을 계산한다.
이레이져 위치 다항식 계산부(111)는 차례대로 입력되는 전단계의 이레이져 플레그(EFLAG)로 부터 이레이져 위치를 근으로 갖는 이레이져 위치 다항식을 계산한다.
에러타 위치 다항식 계산부(115)는 계산된 신드롬 다항식과 이레이져 위치 다항식으로 부터 에러타 위치를 근으로 갖는 에러타 위치 다항식을 계산한다.
에러값 계산부(117)는 계산된 에러타 위치 다항식과 신드롬 다항식으로 부터 에러 위치(ELOC)와 값(EVAL)을 계산한다. 계산 결과인 에러 위치(ELOC), 에러값(EVAL), 에러 플레그(EFLAG) 및 제어용 신호(STATUS)는 제어부(130)로 출력된다.
제어부(130)는 RS 코어(110)로 부터 출력된 신호들을 이용하여 데이터를 복호하고 에러를 정정한 후 에러 플레그(EFLAG)와 복호된 m 비트의 데이터(ODATA)를 저장부(150)로 출력한다.
종래 RS 복호기의 에러 정정 방법은 내부호(inner code) 정정 단계와 외부호(outter code) 정정 단계를 포함한다.
먼저 내부호 정정 단계를 설명한다. 채널에서 디모듈레이터 (100) 로 비트 스트림이 입력되면 m비트 데이터 심볼로 변환한 후 저장부(150)에 저장한다. 내부호어 길이(inner codeword length)(N1)와 외부호어 길이(outter codeword length)(N2)의 곱을 만족하는 하나의 에러 정정 코드 블럭(ECC block)인 데이터 심볼이 저장부(150)에 저장되면 에러 정정을 시작한다. RS 코어(110)는 저장부(150)로 부터 m 비트 단위로 순차적으로 데이터를 독출하여 신드롬 다항식 계산부(113)에서 신드롬을 계산한다. 신드롬 다항식이 계산되면 에러 위치 다항식을 계산한다. 계산된 에러 위치 다항식과 신드롬 다항식으로부터 에러 위치와 에러값을 계산한다. 계산된 에러 위치에 해당하는 에러 심볼을 읽어 계산된 에러값과 더하여 에러를 정정한 후 저장부(150)에 저장한다. 이때 에러를 제대로 검출하였을 경우에는 0을 이레이져 플레그 값으로 저장하고, 그렇지 않은 경우에는 1을 이레이져 플레그 값으로 저장한다.
외부호 정정 단계는 내부호 정정 단계와 동일한 순서로 진행된다. 다만, 내부호 정정 단계에서 저장된 에러 플레그 위치를 이레이져로 생각하여, 신드롬 다항식 계산시 저장된 플래그를 데이터와 같이 읽어들여 이레이져 위치 다항식을 계산한다는 점에서만 내부호 정정 단계와 구분된다.
도 2의 가로축은 시간을 나타내고 세로축은 프로시듀어를 나타낸다. 시구간 0에서는 이레이져 플레그(ERAFLAG)와 첫번째 m 비트 데이터(IDATA)를 독출(read)하여 이레이져 위치 다항식과 신드롬 다항식을 계산하는 제 1 프로시듀어(proc1)가 수행된다. 시구간 1에서는 두번째 m비트 데이터에 대하여 제 1 프로시듀어(proc1)가 수행되는 한편, 첫번째 m 비트 데이터에 대한 에러타 위치 다항식을 계산하는 제 2 프로시듀어(proc2)가 동시에 수행된다. 시구간 2에서는 세번째 m비트 데이터에 대하여 제 1 프로시듀어(proc1)가 수행되는 한편, 두번째 m 비트 데이터에 대한 에러타 위치 다항식을 계산하는 제 2 프로시듀어(proc2)가 수행되고, 첫번째 m 비트 데이터에 대한 에러 위치 및 에러값을 계산하고 저장부(150)를 갱신(update)하는 제 3 프로시듀어(proc3)가 수행된다. 이상과 같이 시구간 0에서는 제 1 프로시듀어(proc1)만 진행되지만, 임의의 시구간 t에서는 제 1 내지 제 3 프로시듀어가 동시에 수행되는 파이프라인 구조의 병렬 처리 방식이다.
그러나, 파이프 라인 구조의 병렬 처리방식에도 불구하고 종래와 같이 하나의 RS 코어를 사용하는 복호기로는 고속화되어 가는 디지털 통신 및 저장 시스템의 요구를 충족시키기 어렵다. 종래의 RS 복호기에서 고속의 디지털 통신 및 저장 시스템을 만족하도록 데이터를 처리하려면 동작 클럭이 빨라져야만 하는데, 복잡하고 계산량이 많은 RS 복호기에서 동작 클럭을 빠르게 하는 것은 한계가 있기 때문이다. 또한, 많은 데이터를 고속으로 처리하기 위하여 동작 클럭을 빠르게 하면 할수록 저장부와 RS 코어 사이의 인터페이스가 불안정하게 되는 문제점이 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 데이터 통신 및 저장 시스템의 고속화 요구를 충족시킬 수 있는 m 또는 2m 비트 데이터 처리 겸용 RS 복호기 및 복호 방법을 제공하는 것이다.
본 발명의 다른 목적은 동작 클럭을 빠르게 하지 않고 데이터 통신 및 저장시스템의 고속화 요구를 충족시킬 수 있는 m 또는 2m 비트 데이터 처리 겸용 RS 복호기 및 복호 방법을 제공하는 것이다.
본 발명의 또다른 목적은 복잡한 에러 정정 시스템에도 적용할 수 있는 m 또는 2m 비트 데이터 처리 겸용 RS 복호기 및 복호 방법을 제공하는 것이다.
도 1은 m비트 데이터 처리용 RS 복호기의 블록도이고;
도 2는 도 1의 RS 복호기의 처리 과정을 시구간별로 도시한 타이밍도이며;
도 3은 RS 곱부호의 데이터 구조를 도시한 도이고;
도 4는 본 발명에 따른 m 또는 2m 비트 데이터 처리 겸용 RS 복호기의 블럭도이며;
도 5는 도 4의 RS 복호기의 내부호에 대한 데이터 처리 과정을 시구간별로 도시한 타이밍도이고;
도 6은 도 4의 RS 복호기의 외부호에 대한 데이터 처리 과정을 시구간별로 도시한 타이밍도이며; 및
도 7은 도 4의 RS 복호기의 신드롬 계산기의 상세 구조도이다.
* 도면의 주요부분에 대한 부호의 설명 *
210 : 데이터/이레이져 저장부 220 : 통합 제어부
230 : 제 1 RS 코어 231 : 이레이져 위치 다항식 계산부
233, 253 : 제 1 및 제 2 신드롬 다항식 계산부
235, 255 : 제 1 및 제 2 에러타 위치 다항식 계산부
237, 257 : 제 1 및 제 2 에러 위치/값 계산부
240 : 제 1 RS 코어 제어부 250 : 제 2 RS 코어
260 : 제 2 RS 코어 제어부
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 따른 리드 솔로몬 복호기는 저장부; 상기 저장부로 부터 2m 비트 단위로 입력되는 데이터로 부터 에러 위치와 에러값을 계산하기 위한 계산부; 및 상기 에러 위치와 상기 에러값을 근거로 상기 계산부로 부터 입력된 데이터의 오류를 정정하여 디코딩된 신호를 출력하도록 상기 계산부를 제어하기 위한 제어부;를 포함한다.
본 발명의 일실시예에 따른 상기 계산부는: 상기 저장부로 부터 입력되는 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산부; 상기 저장부로 부터 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산부; 상기 저장부로 부터 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산부; 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고 제 1 신드롬 다항식을 지연시켜 출력하는 제 1 에러타 위치 다항식 계산부; 상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산부; 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 제 2 신드롬 다항식을 지연시켜 출력하는 제 2 에러타 위치 다항식 계산부; 및 상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값 계산부;를 포함한다.
본 발명의 다른 실시예에 따른 상기 계산부는: 상기 저장부로 부터 독출된 데이터로 부터 제 1 에러 위치와 제 1 에러값을 계산하는 제 1 RS 코어; 및 상기 저장부로 부터 독출된 데이터로 부터 제 2 에러 위치와 제 2 에러값을 계산하는 제 2 RS 코어;를 포함한다.
m 비트 단위의 리드 솔로몬 복호기로 동작시키려면 m 비트의 데이터를 저장부의 상위 m 비트 메모리에 저장하고; m 비트 정정 모드로 설정하여 저장부를 액세스할 수 없도록 제 2 RS 코어를 디스에이블시킨다.
상기 제 1 RS 코어는: 상기 저장부로 부터 독출된 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산부; 상기 저장부로 부터 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산부; 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고 상기 제 1 신드롬 다항식을 지연시켜 출력하는 제 1 에러타 위치 다항식 계산부; 및 상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산부;를 포함한다.
상기 제 1 신드롬 다항식 계산부는: 2m비트 단위의 데이터가 입력되는 경우을 만족하고; m 비트 단위의 데이터가 입력되는 경우을 만족하는 것이 바람직하다.
상기 제 2 RS 코어는: 상기 저장부로 부터 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산부; 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 상기 제 2 신드롬 다항식을 지연시켜 출력하는 제 2 에러타 위치 다항식 계산부; 및 상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값 계산부;를 포함한다.
상기 제 2 신드롬 다항식 계산부는: 2m비트 단위의 데이터가 입력되는 경우을 만족하고; m 비트 단위의 데이터가 입력되는 경우을 만족하는 것이 바람직하다.
이상의 수식에서, Sj는 현재의 신드롬 다항식이고, Sj-1은 이전의 신드롬 다항식이며, αj는 생성다항식의 근이며, UM은 2m 비트 데이터의 상위 m비트이고, DM은 2m 비트 데이터의 하위 m비트이다.
본 발명의 다른 실시예에 따른 리드 솔로몬 복호기는: 2m 비트 단위의 데이터를 저장할 수 있는 저장부; 상기 저장부를 제어하기 위한 통합 제어부; 상기 저장부로 부터 독출된 데이터로 부터 제 1 에러 위치와 제 1 에러값을 계산하는 제 1 RS 코어; 상기 통합 제어부의 제어에 따라 상기 제 1 RS 코어를 제어하는 제 1 RS코어 제어부; 상기 저장부로 부터 독출된 데이터로 부터 제 2 에러 위치와 제 2 에러값을 계산하는 제 2 RS 코어; 및 상기 통합 제어부의 제어에 따라 상기 제 2 RS 코어를 제어하는 제 2 RS 코어 제어부;를 포함한다.
본 발명에 따른 리드 솔로몬 복호 방법은 디코딩될 데이터와 이레이져 플래그를 독출하는 단계; 상기 독출된 데이터로 부터 에러 위치와 에러값을 계산하는 단계; 및 상기 계산된 에러 위치와 에러값들을 근거로 상기 독출된 데이터의 오류를 정정하여 디코딩하는 단계;를 포함한다.
상기 데이터 독출 단계는 2m 비트 단위로 데이터를 독출하는 것이 바람직하다.
상기 데이터 독출 단계는: 상기 독출된 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산 단계; 상기 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산 단계; 상기 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산 단계; 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고 상기 제 1 신드롬 다항식을 지연시켜 출력하는 제 1 에러타 위치 다항식 계산 단계; 상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산 단계; 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 상기 제 2 신드롬 다항식을 지연시켜 출력하는 제 2 에러타 위치 다항식 계산 단계; 및 상기제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값 계산 단계;를 포함한다.
상기 계산 단계는: 상기 독출된 데이터로 부터 제 1 에러 위치와 제 1 에러값을 계산하는 제 1 계산 단계; 및 상기 독출된 데이터로 부터 제 2 에러 위치와 제 2 에러값을 계산하는 제 2 계산 단계;를 포함한다.
상기 제 1 계산 단계는: 상기 독출된 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산 단계; 상기 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산 단계; 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고 상기 제 1 신드롬 다항식을 지연시켜 출력하는 제 1 에러타 위치 다항식 계산 단계; 및 상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산 단계;를 포함한다.
상기 제 1 신드롬 다항식 계산 단계는: 2m비트 단위의 데이터가 입력되는 경우을 만족하고; m 비트 단위의 데이터가 입력되는 경우을 만족하며; 여기서, Sj는 현재의 신드롬 다항식이고, Sj-1은 이전의 신드롬 다항식이며, αj는 생성다항식의 근이며, UM은 2m 비트 데이터의 상위 m비트이고, DM은 2m 비트 데이터의 하위 m비트이다.
상기 제 2 계산 단계는: 상기 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산 단계; 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 상기 제 2 신드롬 다항식을 지연시켜 출력하는 제 2 에러타 위치 다항식 계산 단계; 및 상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값 계산 단계;를 포함한다.
상기 제 2 신드롬 다항식 계산 단계는: 2m비트 단위의 데이터가 입력되는 경우을 만족하고; m 비트 단위의 데이터가 입력되는 경우을 만족하며; 여기서, Sj는 현재의 신드롬 다항식이고, Sj-1은 이전의 신드롬 다항식이며, αj는 생성다항식의 근이며, UM은 2m 비트 데이터의 상위 m비트이고, DM은 2m 비트 데이터의 하위 m비트이다.
본 발명에 따른 RS 곱부호의 내부호 정정 방법은: 2m비트 단위로 내부호어를 입력하여, 2m 비트 단위로 제 1 신드롬 다항식을 계산하는 단계; 2m비트 단위로 내부호어를 입력하여, 2m 비트 단위로 제 2 신드롬 다항식을 계산하는 단계; 상기 계산된 제 1 및 제 2 신드롬 다항식과 이레이져 위치 다항식을 입력으로 하여 제 1 및 제 2 에러타 위치 다항식을 계산하는 단계; 및 상기 제 1 및 제 2 에러타 위치 다항식과 상기 제 1 및 제 2 신드롬 다항식에 의해 제 1 및 제 2 에러값과 제 1 및 제 2 에러위치를 계산하되, m 비트씩 정정하는 단계;를 포함하며, 신드롬 계산 순서는 바뀔수도 있다.
본 발명에 따른 RS 곱부호의 외부호 정정 방법은: 2m비트 단위의 외부호를 읽어 상위 m 비트로 부터 제 1 신드롬 다항식을 계산하고, 하위 m 비트로 부터 제 2 신드롬 다항식을 계산하는 단계하고, 이레이져 플레그를 읽어 이레이져 위치 다항식을 계산하는 과정을 동시에 수행하는 단계; 상기 제 1 및 제 2 신드롬 다항식과 이레이져 위치 다항식으로 부터 제 1 및 제 2 에러타 위치 다항식을 계산하는 단계; 및 상기 제 1 및 제 2 에러타 위치 다항식과 상기 제 1 및 제 2 신드롬 다항식으로 부터 에러값과 에러위치를 계산하되 m 비트씩 교대로 정정하는 단계;를 포함한다.
상기 본 발명에 따른 m 및 2m 비트 데이터 처리 겸용 RS 복호기 및 그 복호방법에 따르면 종래의 RS 코어를 병렬로 사용하기 때문에 데이터를 고속으로 처리할 수 있다. 그에 따라, 동작 클럭을 빠르게 하지 않아도 되기 때문에 데이터 저장부와 RS 코어 사이의 인터페이스를 안정적으로 유지할 수 있고 시스템의 신뢰도를 높일 수 있다. 또한 RS 코어의 신드롬 다항식 계산기에서 m 비트 또는 2m 비트의 데이터를 선택적으로 처리할 수 있도록 함으로써 복잡한 에러 정정 시스템을 갖는 CD/DVD 계열의 데이터 처리에도 적용할 수 있는 장점이 있다.
이하에 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
먼저, 설명에 앞서 본 명세서에서 사용되는 m비트 또는 2m비트에서의 문자 m은 데이터 처리 단위 예컨대 심볼 표현 비트수에 해당하는 숫자를 표현 것으로서, 그 값은 적용되는 데이터 표현방식에 따라 적절하게 결정될 수 있다. 따라서, 이하의 설명에서는 이러한 점을 고려하여 데이터 처리단위를 대표문자인 m으로 표기하여 설명한다.
RS(N, K, d)는 부호어 길이가 N, 정보어 길이가 K, 최소 해밍거리가 d인 RS부호를 말한다. RS 부호의 특징 중의 하나는 최소 해밍거리 d는 (N-K+1)이 된다는 것이다. 특히 N-K는 패리티 수로서, 이를 R이라고 하면 R=d-1의 관계가 있다. RS 부호가 정정할 수 있는 심볼의 수를 t라고 하면, t=[(d-1)/2]의 관계가 있다. e개의 이레이져를 포함하는 부호어에 대해서는 d≥2t+e+1식을 만족하는 t개의 에러와 e개의 이레이져를 정정할 수 있다. 특히, 전송 또는 저장할 데이터의 양이 많은 디지털 통신 및 저장 시스템에 사용되는 RS 부호는 같은 데이터에 대해서 내부호와 외부호를 생성하여 부호화하는 곱부호(product code)를 널리 사용한다. 도 3에는 RS 곱부호(RSPC)의 데이터 구조가 도시되어 있다. RS 곱부호는 데이터, 내부 패리티, 외부 패리티를 포함하며, 내부호어 길이는 N1이고, 외부호어 길이는 N2이다.
본 발명의 일 실시예에 따른 m 또는 2m 비트 데이터 처리 겸용 리드 솔로몬 복호기가 도 4에 도시되어 있다.
도면을 참조하면, 리드 솔로몬 복호기는 저장부(210), 저장부(210)를 제어하기 위한 통합 제어부(220), 제 1 RS 코어(230), 제 1 RS 코어 제어부(240), 제 2 RS코어(250) 및 제 2 RS 코어 제어부(260)를 포함한다.
저장부(210)는 2m 비트 단위의 데이터를 저장할 수 있는 버퍼 또는 메모리가 적용될 수 있다.
제 1 RS 코어(230)는 저장부(210)로 부터 독출된 데이터(IDATA)로부터 제 1에러 위치(ELOC1) 및 제 1 에러값(EVAL1)을 계산한다.
제 1 RS 코어 제어부(240)는 통합 제어부(220)의 제어에 따라 제 1 RS 코어(230)를 제어한다.
제 2 RS 코어(250)는 저장부(210)로 부터 독출된 데이터(IDATA)로 부터 제 2 에러 위치(ELOC2) 및 제 2 에러값(EVAL2)을 계산한다.
제 2 RS 코어 제어부(260)는 통합 제어부(220)의 제어에 따라 제 2 RS 코어(250)를 제어한다.
제 1 RS 코어(230)는 이레이져 위치 다항식 계산부(ERALCAL)(231), 제 1 신드롬 다항식 계산부(SYNDCAL1)(233), 제 1 에러타 위치 다항식 계산부(ERTLCAL1) (235) 및 제 1 에러 위치/값 계산부(ERTVCAL1)(237)를 포함한다. 이레이져 위치 다항식 계산부(231)는 저장부(210)로 부터 독출된 이레이져 플레그(ERAFLAG)로 부터 이레이져 위치 다항식(①)을 계산한다. 이레이져 플레그(ERAFLAG)는 전단계에서 계산된 에러 플레그(EFLAG)로서 이후에 설명된다.
제 1 신드롬 다항식 계산부(233)는 저장부(210)로 부터 독출된 데이터(IDATA)로 부터 제 1 신드롬 다항식(②)을 계산한다.
제 1 에러타 위치 다항식 계산부(235)는 계산된 이레이져 위치 다항식(①)과 계산된 제 1 신드롬 다항식(②)으로 부터 제 1 에러타 위치 다항식(③)을 계산하고, 제 1 신드롬 다항식(④)은 지연되어 출력된다.
제 1 에러 위치/값 계산부(237)는 제 1 에러타 위치 다항식(③)과 지연된 제 1 신드롬 다항식(④)으로 부터 제 1 에러 플레그(EFLAG1), 제 1 에러 위치(ELOC1)및 제 1 에러값(EVAL1)을 계산한다.
제 2 RS 코어(RSCON2)(250)는 제 2 신드롬 다항식 계산부(SYNDCAL2) (253), 제 2 에러타 위치 다항식 계산부(ERTLCAL2)(255) 및 제 2 에러 위치/값 계산부(ERTVCAL2)(257)를 포함한다.
제 2 신드롬 다항식 계산부(253)는 저장부(210)로 부터 독출된 데이터(IDATA)로 부터 제 2 신드롬 다항식(⑤)을 계산한다. 제 2 에러타 위치 다항식 계산부(255)는 계산된 이레이져 위치 다항식(①)과 계산된 제 2 신드롬 다항식(⑤)으로 부터 제 2 에러타 위치 다항식(⑥)을 계산하고 제 2 신드롬 다항식(⑦) 지연시켜 출력한다. 제 2 에러 위치/값 계산부(257)는 제 2 에러타 위치 다항식(⑥)과 지연된 제 2 신드롬 다항식(⑦)으로 부터 제 2 에러 플레그(EFLAG2), 제 2 에러 위치(ELOC2) 및 제 2 에러값(EVAL2)을 계산한다.
도 3 내지 도 6을 참조하여 내부호와 외부호에 대한 2m 비트 입출력 복호기의 동작을 설명한다. 도 5 및 6에서 하나의 직선은 동작이 진행중임을 표시한 것이고, 두 개의 직선으로 표시된 것은 갱신(update) 동작을 나타낸 것이다.
먼저, 도 4와 5를 참조하여 내부호에 대한 정정 과정을 설명한다. 시구간 0에서는 제 1 RS 코어(230)에 2m비트 단위로 데이터를 입력하여, 제 1 신드롬 다항식 계산부(233)에서 2m 비트 단위로 제 1 신드롬 다항식을 계산한다(P11). 다음으로, 제 2 RS 코어(250)에 2m비트 단위로 데이터를 입력하여, 제 2 신드롬 다항식 계산부(253)에서 2m 비트 단위로 제 2 신드롬 다항식을 계산한다(P21). P11과 P12는 순서가 바뀔수도 있다. 신드롬 계산 과정은 2m 비트 단위로 계산하므로, 종래m비트 단위의 신드롬 계산기와 비교하여 1/2 시간이면 된다. 즉, 신드롬 다항식 계산 속도가 2배 빨라진다.
시구간 1에서, 제 1 및 제 2 에러타 위치 다항식 계산부(235, 255)는 상기와 같이 계산된 제 1 및 제 2 신드롬 다항식과 이레이져 위치 다항식을 입력으로 하여 제 1 및 제 2 에러타 위치 다항식을 계산한다(P12, P22). 이와 같이 첫번째 2m 비트 단위의 데이터에 대한 에러타 위치 다항식이 계산되는 동안 두번째 2m 비트 단위의 데이터가 제 1 및 제 2 RS 코어(230, 250))로 입력되어 제 1 및 제 2 신드롬 다항식이 계산된다(P11, P21).
시구간 2에서, 첫번째 2m비트 단위 데이터에 대해서는 에러값과 에러위치가 계산된다. 에러 위치와 값이 계산되면, 에러 정정 과정이 수행된다. 에러 정정 과정은 m비트 단위로만 수행될 수 있다. 따라서, 통합 제어부(220)의 제어에 따라 제 1 RS코어(230)와 제 2 RS코어(250)를 교대로 인에이블시켜 에러를 정정하고 데이터를 갱신 한다(P13, P23). 동시에 두번째 2m비트 단위 데이터에 대해서는 제 1 및 제 2 에러타 위치 다항식이 계산되고(P12, P22), 세번째 2m비트 단위 데이터에 대해서는 제 1 및 제 2 신드롬 다항식이 계산된다(P11, P21). 이상과 같이 시구간 2 이후 임의의 시구간에서는 신드롬 다항식 계산(P11, P21), 에러타 위치 계산(P12, P22)과 오류 정정 및 데이터 갱신 작업(P13, P23)이 동시에 수행된다. 모든 에러 정정 과정이 종료되면 다음 2개의 내부호어에 대해 같은 과정을 진행한다. 따라서, 내부호 정정 과정은 N1/2번 수행된다.
다음으로, 도 4 및 6을 참조하여 외부호에 대한 정정 과정을 설명한다.
시구간 0에서, 2m비트 단위, 즉 2개의 외부호를 읽어 상위 m 비트는 제 1 RS 코어(230)에 입력하고, 하위 m 비트는 제 2 RS 코어(250)에 입력하여 동시에 제 1 및 제 2 신드롬 다항식을 계산한다. 동시에 이레이져 플레그를 이레이져 위치 다항식 계산부(231)에 입력하여 이레이져 위치 다항식을 계산한다(P15, P25). 종래 m 비트 단위의 신드롬 계산 시간 동안 2개의 외부호에 대한 신드롬 다항식과 이레이져 위치 다항식을 얻을 수 있다.
시구간 1에서, 제 1 및 제 2 에러타 위치 다항식 계산부(235, 255)는 상기와 같이 계산된 제 1 및 제 2 신드롬 다항식과 이레이져 위치 다항식을 입력으로 하여 제 1 및 제 2 에러타 위치 다항식을 계산한다(P17, P27). 이와 같이 첫번째 2m 비트 단위의 외부호에 대한 에러타 위치 다항식이 계산되는 동안 두번째 2m 비트 단위의 외부호가 제 1 및 제 2 RS 코어(230, 250))로 입력되어 제 1 및 제 2 신드롬 다항식이 계산된다(P15, P25).
시구간 2에서, 첫번째 2m비트 외부호에 대해서는 에러값과 에러위치가 계산된다. 에러 위치와 값이 계산되면, 에러 정정 과정이 수행된다. 에러 정정 과정은 m비트 단위로만 수행될 수 있다. 따라서, 통합 제어부(220)의 제어에 따라 제 1 RS코어(230)와 제 2 RS코어(250)를 교대로 인에이블시켜 에러를 정정하고 데이터를 갱신 한다(P19, P29). 동시에 두번째 2m비트 외부호에 대해서는 제 1 및 제 2 에러타 위치 다항식이 계산되고(P17, P27), 세번째 2m비트 단위 외부호에 대해서는 제 1 및 제 2 신드롬 다항식이 계산된다(P15, P25). 이상과 같이 시구간 2 이후 임의의 시구간에서 신드롬 다항식 계산(P15, P25), 에러타 위치 계산(P17, P27)과 오류정정 및 데이터 갱신 작업(P19, P29)이 동시에 수행된다. 모든 에러 정정 과정이 종료되면 다음 2개의 외부호어에 대해 같은 과정을 진행한다. 따라서, 외부호 정정 과정은 N2/2번 수행된다.
이상은 2m비트 단위의 리드 솔로몬 복호기로 동작하는 경우에 대하여 설명하였다. m 비트 단위의 리드 솔로몬 복호기로 동작시키려면 m 비트의 데이터를 저장부(210)의 상위 m 비트 메모리에 저장하고, m 비트 정정 모드로 설정한다. m 비트 정정 모드에서는 저장부(210)를 액세스할 수 없도록 제 2 RS 코어(250)가 디스에이블된다. 따라서, 종래의 m비트 복호기와 같이 동작하게 된다.
도 7을 참조하면, 제 1 신드롬 다항식 계산부(233)는 제 1 신드롬 저장부(233a), 제 1 곱셈기(233b), 제 1 덧셈기(233c), 제 1 m 비트 멀티플렉서(233d), 제 2 곱셈기(233e), 제 2 m 비트 멀티플렉서(233f) 및 제 2 덧셈기(233g)를 포함한다.
제 1 신드롬 저장부(233a)는 제 1 신드롬 다항식 계산 결과를 임시 저장하기 위한 것이다.
제 1 곱셈기(233b)는 제 1 신드롬 저장부(233a)로부터의 신드롬 다항식과 생성 다항식의 근 αj(j=0, 1, ..., N-K-1)를 곱한다.
제 1 덧셈기(233c)는 제 1 곱셈기(233b)의 출력과 입력되는 데이터의 상위 m 비트를 더한다. 제 1 m 비트 멀티플렉서(233d)는 m 또는 2m 비트 모드에 따라 각각 1 또는 상기 αj를 출력한다.
제 2 곱셈기(233e)는 제 1 덧셈기(233c)의 출력과 상기 제 1 m 비트 멀티 플렉서(233d)의 출력을 곱한다.
제 2 m 비트 멀티플렉서(233f)는 m 또는 2m 비트 모드에 따라 각각 0 또는 상기 입력되는 데이터의 하위 m 비트를 출력한다.
제 2 덧셈기(233g)는 제 2 곱셈기(233e)의 출력과 상기 제 2 m 비트 멀티플렉서(233f)의 출력을 더한다. 제 2 덧셈기(233f)의 출력은 제 1 신드롬 다항식 계산부(233a)에 저장되었다가 출력된다.
제 2 신드롬 다항식 계산부(253)는 제 2 신드롬 저장부(253a), 제 3 m 비트 멀티플렉서(253b), 제 3 곱셈기(253c), 제 4 m 비트 멀티플렉서(253d), 제 3 덧셈기(253e), 제 4 곱셈기(253f) 및 제 4 덧셈기(253g)를 포함한다.
제 2 신드롬 저장부(253a)는 제 2 신드롬 다항식 계산 결과를 임시 저장한다. 제 3 m 비트 멀티플렉서(253b)는 m 또는 2m 비트 모드에 따라 각각 1 또는 αj를 출력한다.
제 3 곱셈기(253c)는 제 2 신드롬 저장부(253a)의 출력과 제 3 m 비트 멀티플렉서(253b)의 출력을 곱한다. 제 4 m 비트 멀티플렉서(253d)는 m 또는 2m 비트 모드에 따라 각각 0 또는 입력되는 데이터의 상위 m 비트를 출력한다.
제 3 덧셈기(253e)는 제 3 곱셈기(253c)의 출력과 제 4 m 비트 멀티플렉서(253d)의 출력을 더한다.
제 4 곱셈기(253f)는 상기 제 3 덧셈기(253e)의 출력과 생성 다항식의 근αj(j=0, 1, ..., N-K-1)를 곱한다.
제 4 덧셈기(253g)는 제 4 곱셈기(253f)의 출력과 입력되는 데이터의 하위 m 비트를 더한다. 제 4 덧셈기(253f)의 출력은 제 2 신드롬 저장부(253a)에 저장되었다가 출력된다.
본 발명에 따른 고속 리드 솔로몬 복호 방법은 디코딩될 데이터와 이레이져 플래그를 독출하는 단계(S1), 독출된 데이터로 부터 에러 위치와 에러값을 계산하는 단계(S2) 및 계산된 에러 위치와 에러값들을 근거로 독출된 데이터의 오류를 정정하여 디코딩하는 단계(S3)를 포함한다.
데이터 독출 단계(S1)는 2m 비트 단위로 데이터를 독출하는 것이 바람직하다. 데이터 독출 단계(S1)는 이레이져 위치 다항식 계산 단계(S11), 제 1 신드롬 다항식 계산 단계(S12), 제 2 신드롬 다항식 계산 단계(S13), 제 1 에러타 위치 다항식 계산 단계(S14), 제 1 에러 위치/값 계산 단계(S15), 제 2 에러타 위치 다항식 계산 단계(S16) 및 제 2 에러 위치/값 계산 단계(S17)를 포함한다.
이레이져 위치 다항식 계산 단계(S11)에서는 독출된 이레이져 플레그로 부터 이레이져 위치 다항식이 계산된다. 제 1 신드롬 다항식 계산 단계(S12)에서는 상기 독출된 데이터로 부터 제 1 신드롬 다항식을 계산한다. 제 2 신드롬 다항식 계산 단계(S13)는 상기 독출된 데이터로 부터 제 2 신드롬 다항식을 계산한다. 제 1 에러타 위치 다항식 계산 단계(S14)는 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고, 상기 제1 신드롬 다항식을 지연시켜 출력한다. 제 1 에러 위치/값 계산 단계(S15)는 상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산한다. 제 2 에러타 위치 다항식 계산 단계(S16)는 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고, 상기 제 2 신드롬 다항식을 지연시켜 출력한다. 제 2 에러 위치/값 계산 단계(S17)는 상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산한다.
계산 단계(S2)는 제 1 계산 단계(S21) 및 제 2 계산 단계(S22)를 포함한다. 제 1 계산 단계(S21)는 독출된 데이터로 부터 제 1 에러 위치와 제 1 에러값을 계산한다. 제 2 계산 단계(S22)는 상기 독출된 데이터로 부터 제 2 에러 위치와 제 2 에러값을 계산한다.
제 1 계산 단계(S21)는 이레이져 위치 다항식 계산 단계(S211), 제 1 신드롬 다항식 계산 단계(S212), 제 1 에러타 위치 다항식 계산 단계(S213) 및 제 1 에러 위치/값 계산 단계(S214)를 포함한다. 이레이져 위치 다항식 계산 단계(S211)는 상기 독출된 이레이져 플레그로 부터 이레이져 위치 다항식을 계산한다. 제 1 신드롬 다항식 계산 단계(S212)에서는 상기 독출된 데이터로 부터 제 1 신드롬 다항식이 계산된다. 제 1 에러타 위치 다항식 계산 단계(S213)는 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고, 상기 제 1 신드롬 다항식을 지연시켜 출력한다. 제 1 에러 위치/값 계산단계(S214)는 상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산한다.
제 1 신드롬 다항식 계산 단계(S212)는 2m비트 단위의 데이터가 입력되는 경우을 만족하고, m 비트 단위의 데이터가 입력되는 경우을 만족하도록 한다. 여기서, Sj는 현재의 신드롬 다항식이다. Sj-1은 이전의 신드롬 다항식이다. αj는 생성다항식의 근이다. UM은 2m 비트 데이터의 상위 m비트이다. DM은 2m 비트 데이터의 하위 m비트이다.
제 2 계산 단계(S22)는 제 2 신드롬 다항식 계산 단계(S221), 제 2 에러타 위치 다항식 계산 단계(S222) 및 제 2 에러 위치/값 계산 단계(S223)를 포함한다. 제 2 신드롬 다항식 계산 단계(S221)에서는 상기 독출된 데이터로 부터 제 2 신드롬 다항식을 계산한다. 제 2 에러타 위치 다항식 계산 단계(S222)에서는 상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고, 상기 제 2 신드롬 다항식을 지연시켜 출력한다. 제 2 에러 위치/값 계산 단계(S223)에서는 상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산한다.
상기 제 2 신드롬 다항식 계산 단계(S221)는 2m비트 단위의 데이터가 입력되는 경우을 만족하고, m 비트 단위의 데이터가 입력되는 경우을 만족하는 것이 바람직하다.
상기 본 발명에 따른 RS 복호기 및 그 복호방법에 따르면 종래의 RS 코어를 병렬로 사용하기 때문에 데이터를 고속으로 처리할 수 있다. 또한, 동작 클럭을 빠르게 하지 않아도 되기 때문에 저장부와 RS 코어 사이의 인터페이스를 안정적으로 유지할 수 있고 시스템의 신뢰도를 높일 수 있다.
RS 코어의 신드롬 다항식 계산기에서 m 비트 또는 2m 비트의 데이터를 선택적으로 처리할 수 있도록 함으로써, 복잡한 에러 정정 시스템을 갖는 CD/DVD 계열의 데이터 처리에도 적용할 수 있는 장점이 있다. 예를 들면, CIRC(Cross leaved Reed-Solomon Code)와 같은 CD 에러 정정 시스템은 복잡한 인터리브(interleave) 과정을 거치기 때문에 m비트 단위로 복호화해야 한다.
이상에서는 본 발명의 특정의 바람직한 실시예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형실시가 가능할 것이다.

Claims (25)

  1. 저장부;
    상기 저장부로 부터 2m 비트 단위로 입력되는 데이터로 부터 에러 위치와 에러값을 계산하기 위한 계산부; 및
    상기 에러 위치와 상기 에러값에 의해 오류를 정정하여 디코딩된 신호를 출력하도록 상기 계산부를 제어하기 위한 제어부;를 포함하는 리드 솔로몬 복호기.
  2. 제 1 항에 있어서, 상기 계산부는:
    상기 저장부로 부터 입력되는 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산부;
    상기 저장부로 부터 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산부;
    상기 저장부로 부터 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산부;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고, 지연된 제 1 신드롬 다항식을 출력하는 제 1 에러타 위치 다항식 계산부;
    상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산부;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 지연된 제 2 신드롬 다항식을 출력하는 제 2 에러타 위치 다항식 계산부; 및
    상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값계산부;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호기.
  3. 제 1 항에 있어서, 상기 계산부는:
    상기 저장부로 부터 독출된 데이터로 부터 제 1 에러 위치와 제 1 에러값을 계산하는 제 1 RS 코어; 및
    상기 저장부로 부터 독출된 데이터로 부터 제 2 에러 위치와 제 2 에러값을 계산하는 제 2 RS 코어;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호기.
  4. 제 3 항에 있어서, 상기 제 1 RS 코어는:
    상기 저장부로 부터 독출된 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산부;
    상기 저장부로 부터 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산부;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고 지연된 제 1 신드롬 다항식을 출력하는 제 1 에러타 위치 다항식 계산부; 및
    상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산부;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호기.
  5. 제 4 항에 있어서, 상기 제 1 신드롬 다항식 계산부는:
    2m비트 단위의 데이터가 입력되는 경우을 만족하고;
    m 비트 단위의 데이터가 입력되는 경우을 만족하며;
    여기서, Sj는 현재의 신드롬 다항식이고,
    Sj-1은 이전의 신드롬 다항식이며,
    αj는 생성다항식의 근이며,
    UM은 2m 비트 데이터의 상위 m비트이고,
    DM은 2m 비트 데이터의 하위 m비트인 것을 특징으로 하는 리드 솔로몬 복호기.
  6. 제 4 항에 있어서, 상기 제 1 신드롬 다항식 계산부는:
    제 1 신드롬 다항식 계산 결과를 임시 저장하기 위한 제 1 신드롬 저장부;
    상기 제 1 신드롬 저장부로부터의 신드롬 다항식과 생성 다항식의 근 αj(j=0, 1, ..., N-K-1)를 곱하는 제 1 곱셈기;
    상기 제 1 곱셈기의 출력과 입력되는 데이터의 상위 m 비트를 더하는 제 1 덧셈기;
    m 또는 2m 비트 모드에 따라 각각 1 또는 상기 αj를 출력하는 제 1 m 비트 멀티플렉서;
    상기 제 1 덧셈기의 출력과 상기 제 1 m 비트 멀티플렉서의 출력을 곱하는 제 2 곱셈기;
    m 또는 2m 비트 모드에 따라 각각 0 또는 상기 입력되는 데이터의 하위 m 비트를 출력하는 제 2 m 비트 멀티플렉서; 및
    상기 제 2 곱셈기의 출력과 상기 제 2 m 비트 멀티플렉서의 출력을 더하는 제 2 덧셈기;를 포함하며,
    상기 제 2 덧셈기의 출력은 상기 제 1 신드롬 다항식 계산부에 저장되었다가 출력되는 것을 특징으로 하는 리드 솔로몬 복호기.
  7. 제 4 항에 있어서, 상기 제 2 RS 코어는:
    상기 저장부로 부터 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산부;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 지연된 제 2 신드롬 다항식을 출력하는 제 2 에러타 위치 다항식 계산부; 및
    상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값 계산부;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호기.
  8. 제 7 항에 있어서, 상기 제 2 신드롬 다항식 계산부는:
    2m비트 단위의 데이터가 입력되는 경우을 만족하고;
    m 비트 단위의 데이터가 입력되는 경우을 만족하며;
    여기서, Sj는 현재의 신드롬 다항식이고,
    Sj-1은 이전의 신드롬 다항식이며,
    αj는 생성다항식의 근이며,
    UM은 2m 비트 데이터의 상위 m비트이고,
    DM은 2m 비트 데이터의 하위 m비트인 것을 특징으로 하는 리드 솔로몬 복호기.
  9. 제 7 항에 있어서, 상기 제 2 신드롬 다항식 계산부는:
    제 2 신드롬 다항식 계산 결과를 임시 저장하기 위한 제 2 신드롬 저장부;
    m 또는 2m 비트 모드에 따라 각각 1 또는 상기 αj를 출력하는 제 3 m 비트 멀티플렉서;
    상기 제 2 신드롬 저장부의 출력과 상기 제 3 m 비트 멀티플렉서의 출력을 곱하는 제 3 곱셈기;
    m 또는 2m 비트 모드에 따라 각각 0 또는 상기 입력되는 데이터의 상위 m 비트를 출력하는 제 4 m 비트 멀티플렉서;
    상기 제 3 곱셈기의 출력과 상기 제 4 m 비트 멀티플렉서의 출력을 더하는제 3 덧셈기;
    상기 제 3 덧셈기의 출력과 생성 다항식의 근 αj(j=0, 1, ..., N-K-1)를 곱하는 제 4 곱셈기; 및
    상기 제 4 곱셈기의 출력과 상기 입력되는 데이터의 하위 m 비트를 더하는 제 4 덧셈기;를 포함하며,
    상기 제 4 덧셈기의 출력은 상기 제 2 신드롬 저장부에 저장되었다가 출력되는 것을 특징으로 하는 리드 솔로몬 복호기.
  10. 2m 비트 단위의 데이터를 저장할 수 있는 저장부;
    상기 저장부를 제어하기 위한 통합 제어부;
    상기 저장부로 부터 독출된 데이터로 부터 제 1 에러 위치와 제 1 에러값을 계산하는 제 1 RS 코어;
    상기 통합 제어부의 제어에 따라 상기 제 1 RS 코어를 제어하는 제 1 RS 코어 제어부;
    상기 저장부로 부터 독출된 데이터로 부터 제 2 에러 위치와 제 2 에러값을 계산하는 제 2 RS 코어; 및
    상기 통합 제어부의 제어에 따라 상기 제 2 RS 코어를 제어하는 제 2 RS 코어 제어부;를 포함하는 것을 특징으로 하는 m 또는 2m 비트 데이터 처리 겸용 리드 솔로몬 복호기.
  11. 제 10 항에 있어서, 상기 제 1 RS 코어는:
    상기 저장부로 부터 독출된 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산부;
    상기 저장부로 부터 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산부;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고 지연된 제 1 신드롬 다항식을 출력하는 제 1 에러타 위치 다항식 계산부; 및
    상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산부;를 포함하는 것을 특징으로 하는 m 또는 2m 비트 데이터 처리 겸용 리드 솔로몬 복호기.
  12. 제 11 항에 있어서, 상기 제 1 신드롬 다항식 계산부는:
    제 1 신드롬 다항식 계산 결과를 임시 저장하기 위한 제 1 신드롬 저장부;
    상기 제 1 신드롬 저장부로부터의 신드롬 다항식과 생성 다항식의 근 αj(j=0, 1, ..., N-K-1)를 곱하는 제 1 곱셈기;
    상기 제 1 곱셈기의 출력과 입력되는 데이터의 상위 m 비트를 더하는 제 1덧셈기;
    m 또는 2m 비트 모드에 따라 각각 1 또는 상기 αj를 출력하는 제 1 m 비트 멀티플렉서;
    상기 제 1 덧셈기의 출력과 상기 제 1 m 비트 멀티플렉서의 출력을 곱하는 제 2 곱셈기;
    m 또는 2m 비트 모드에 따라 각각 0 또는 상기 입력되는 데이터의 하위 m 비트를 출력하는 제 2 m 비트 멀티플렉서; 및
    상기 제 2 곱셈기의 출력과 상기 제 2 m 비트 멀티플렉서의 출력을 더하는 제 2 덧셈기;를 포함하며,
    상기 제 2 덧셈기의 출력은 상기 제 1 신드롬 다항식 계산부에 저장되었다가 출력되는 것을 특징으로 하는 m 또는 2m 비트 데이터 처리 겸용 리드 솔로몬 복호기.
  13. 제 11 항에 있어서, 상기 제 2 RS 코어는:
    상기 저장부로 부터 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산부;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 지연된 제 2 신드롬 다항식을 출력하는 제 2 에러타 위치 다항식 계산부; 및
    상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값 계산부;를 포함하는 것을 특징으로 하는 m 또는 2m 비트 데이터 처리 겸용 리드 솔로몬 복호기.
  14. 제 13 항에 있어서, 상기 제 2 신드롬 다항식 계산부는:
    제 2 신드롬 다항식 계산 결과를 임시 저장하기 위한 제 2 신드롬 저장부;
    m 또는 2m 비트 모드에 따라 각각 1 또는 상기 αj를 출력하는 제 3 m 비트 멀티플렉서;
    상기 제 2 신드롬 저장부의 출력과 상기 제 3 m 비트 멀티플렉서의 출력을 곱하는 제 3 곱셈기;
    m 또는 2m 비트 모드에 따라 각각 0 또는 상기 입력되는 데이터의 상위 m 비트를 출력하는 제 4 m 비트 멀티플렉서;
    상기 제 3 곱셈기의 출력과 상기 제 4 m 비트 멀티플렉서의 출력을 더하는 제 3 덧셈기;
    상기 제 3 덧셈기의 출력과 생성 다항식의 근 αj(j=0, 1, ..., N-K-1)를 곱하는 제 4 곱셈기; 및
    상기 제 4 곱셈기의 출력과 상기 입력되는 데이터의 하위 m 비트를 더하는 제 4 덧셈기;를 포함하며,
    상기 제 4 덧셈기의 출력은 상기 제 2 신드롬 저장부에 저장되었다가 출력되는 것을 특징으로 하는 m 또는 2m 비트 데이터 처리 겸용 리드 솔로몬 복호기.
  15. 디코딩될 데이터와 이레이져 플래그를 독출하는 단계;
    상기 독출된 데이터로 부터 에러 위치와 에러값을 계산하는 단계; 및
    상기 계산된 에러 위치와 에러값들에 의해 상기 독출된 데이터의 오류를 정정하여 디코딩하는 단계;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호 방법.
  16. 제 15항에 있어서, 상기 데이터 독출 단계는 2m 비트 단위로 데이터를 독출하는 것을 특징으로 하는 리드 솔로몬 복호 방법.
  17. 제 15 항에 있어서, 상기 데이터 독출 단계는:
    상기 독출된 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산 단계;
    상기 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산 단계;
    상기 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산 단계;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고 지연된 제 1 신드롬 다항식을 출력하는제 1 에러타 위치 다항식 계산 단계;
    상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산 단계;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 지연된 제 2 신드롬 다항식을 출력하는 제 2 에러타 위치 다항식 계산 단계; 및
    상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값 계산 단계;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호 방법.
  18. 제 14 항에 있어서, 상기 계산 단계는:
    상기 독출된 데이터로 부터 제 1 에러 위치와 제 1 에러값을 계산하는 제 1 계산 단계; 및
    상기 독출된 데이터로 부터 제 2 에러 위치와 제 2 에러값을 계산하는 제 2 계산 단계;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호 방법.
  19. 제 18 항에 있어서, 상기 제 1 계산 단계는:
    상기 독출된 이레이져 플레그로 부터 이레이져 위치 다항식을 계산하는 이레이져 위치 다항식 계산 단계;
    상기 독출된 데이터로 부터 제 1 신드롬 다항식을 계산하는 제 1 신드롬 다항식 계산 단계;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 1 신드롬 다항식으로 부터 제 1 에러타 위치 다항식을 계산하고 지연된 제 1 신드롬 다항식을 출력하는 제 1 에러타 위치 다항식 계산 단계; 및
    상기 제 1 에러타 위치 다항식과 상기 지연된 제 1 신드롬 다항식으로 부터 제 1 에러 플레그, 제 1 에러 위치 및 제 1 에러값을 계산하는 제 1 에러 위치/값 계산 단계;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호 방법.
  20. 제 19 항에 있어서, 상기 제 1 신드롬 다항식 계산 단계는:
    2m비트 단위의 데이터가 입력되는 경우을 만족하고;
    m 비트 단위의 데이터가 입력되는 경우을 만족하며;
    여기서, Sj는 현재의 신드롬 다항식이고,
    Sj-1은 이전의 신드롬 다항식이며,
    αj는 생성다항식의 근이며,
    UM은 2m 비트 데이터의 상위 m비트이고,
    DM은 2m 비트 데이터의 하위 m비트인 것을 특징으로 하는 리드 솔로몬 복호 방법.
  21. 제 18 항에 있어서, 상기 제 2 계산 단계는:
    상기 독출된 데이터로 부터 제 2 신드롬 다항식을 계산하는 제 2 신드롬 다항식 계산 단계;
    상기 계산된 이레이져 위치 다항식과 상기 계산된 제 2 신드롬 다항식으로 부터 제 2 에러타 위치 다항식을 계산하고 지연된 제 2 신드롬 다항식을 출력하는 제 2 에러타 위치 다항식 계산 단계; 및
    상기 제 2 에러타 위치 다항식과 상기 지연된 제 2 신드롬 다항식으로 부터 제 2 에러 플레그, 제 2 에러 위치 및 제 2 에러값을 계산하는 제 2 에러 위치/값 계산 단계;를 포함하는 것을 특징으로 하는 리드 솔로몬 복호 방법.
  22. 제 21 항에 있어서, 상기 제 2 신드롬 다항식 계산 단계는:
    2m비트 단위의 데이터가 입력되는 경우을 만족하고;
    m 비트 단위의 데이터가 입력되는 경우을 만족하며;
    여기서, Sj는 현재의 신드롬 다항식이고,
    Sj-1은 이전의 신드롬 다항식이며,
    αj는 생성다항식의 근이며,
    UM은 2m 비트 데이터의 상위 m비트이고,
    DM은 2m 비트 데이터의 하위 m비트인 것을 특징으로 하는 리드 솔로몬 복호 방법.
  23. 2m비트 단위로 내부호어를 입력하여, 2m 비트 단위로 제 1 신드롬 다항식을 계산하는 단계(P11);
    2m비트 단위로 내부호어를 입력하여, 2m 비트 단위로 제 2 신드롬 다항식을 계산하는 단계(P21);
    상기 계산된 제 1 및 제 2 신드롬 다항식과 이레이져 위치 다항식을 입력으로 하여 제 1 및 제 2 에러타 위치 다항식을 계산하는 단계(P12, P22); 및
    상기 제 1 및 제 2 에러타 위치 다항식과 상기 제 1 및 제 2 신드롬 다항식에 의해 제 1 및 제 2 에러값과 제 1 및 제 2 에러위치를 계산하고, m 비트씩 교대로 정정하는 단계(P13, P23);를 포함하는 것을 특징으로 하는 RS 곱부호의 내부호 정정 방법.
  24. 2m비트 단위의 외부호를 읽어 상위 m 비트로 부터 제 1 신드롬 다항식을 계산하고, 하위 m 비트로 부터 제 2 신드롬 다항식을 계산하는 단계하고, 이레이져 플레그를 읽어 이레이져 위치 다항식을 계산하는 과정을 동시에 수행하는 단계(P15, P25);
    상기 제 1 및 제 2 신드롬 다항식과 이레이져 위치 다항식으로 부터 제 1 및 제 2 에러타 위치 다항식을 계산하는 단계(P17, P27);
    상기 제 1 및 제 2 에러타 위치 다항식과 상기 제 1 및 제 2 신드롬 다항식으로 부터 에러값과 에러위치를 계산하고 m 비트씩 교대로 정정하는 단계(P19,P29);를 포함하는 것을 특징으로 하는 RS 곱부호의 외부호 정정 방법.
  25. 제 24항에 있어서, m 비트 단위의 리드 솔로몬 복호기로 동작시키려면 m 비트의 데이터를 저장부(210)의 상위 m 비트 메모리에 저장하고, m 비트 정정 모드로 설정하여 저장부(210)를 액세스할 수 없도록 제 2 RS 코어(250)를 디스에이블하는 것을 특징으로 하는 리드 솔로몬 복호기.
KR1020010005970A 2001-02-07 2001-02-07 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법 KR20020065788A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020010005970A KR20020065788A (ko) 2001-02-07 2001-02-07 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법
EP02250619A EP1231718A3 (en) 2001-02-07 2002-01-29 Reed-Solomon decoder for processing (M) or (2M) bit data, and decoding method therefor
JP2002028634A JP2002305453A (ja) 2001-02-07 2002-02-05 mまたは2mビットデータ処理兼用リードソロモン復号器及びその復号方法
US10/066,651 US20020108088A1 (en) 2001-02-07 2002-02-06 Reed-solomon decoder for processing (M) or (2M) bit data, and decoding method therefor
CNB021070814A CN100393017C (zh) 2001-02-07 2002-02-07 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010005970A KR20020065788A (ko) 2001-02-07 2001-02-07 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법

Publications (1)

Publication Number Publication Date
KR20020065788A true KR20020065788A (ko) 2002-08-14

Family

ID=19705457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010005970A KR20020065788A (ko) 2001-02-07 2001-02-07 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법

Country Status (5)

Country Link
US (1) US20020108088A1 (ko)
EP (1) EP1231718A3 (ko)
JP (1) JP2002305453A (ko)
KR (1) KR20020065788A (ko)
CN (1) CN100393017C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077296A1 (en) * 2003-02-27 2004-09-10 Electronics And Telecommunications Research Institute Method for forming rate compatible code using high dimensional product codes

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3352659B2 (ja) * 2000-03-27 2002-12-03 松下電器産業株式会社 復号装置及び復号方法
TWI226758B (en) * 2003-11-28 2005-01-11 Mediatek Inc Encoding method and apparatus for cross interleaved cyclic codes
KR20060029495A (ko) * 2004-10-01 2006-04-06 삼성전자주식회사 리드-솔로몬 부호의 복호 장치 및 방법
US7392458B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for enhanced error identification with disk array parity checking
US20070150798A1 (en) * 2005-12-12 2007-06-28 Jia-Horng Shieh Method for decoding an ecc block and related apparatus
CN101431338B (zh) * 2007-11-07 2011-06-15 中国科学院微电子研究所 一种自适应里德-所罗门译码器
US8078947B2 (en) * 2008-07-15 2011-12-13 Macronix International Co., Ltd. Data processing circuit and method
CN101656541B (zh) 2009-09-15 2012-10-03 中兴通讯股份有限公司 Rs码的译码方法和装置
CN107579803B (zh) * 2016-07-05 2020-07-03 联发科技股份有限公司 包括错误更正程序的解码装置及解码方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2605271B2 (ja) * 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
JP3137119B2 (ja) * 1989-06-07 2001-02-19 キヤノン株式会社 誤り訂正装置
US6367046B1 (en) * 1992-09-23 2002-04-02 International Business Machines Corporation Multi-bit error correction system
JP3234130B2 (ja) * 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
JPH113573A (ja) * 1997-04-15 1999-01-06 Mitsubishi Electric Corp 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置
KR100260415B1 (ko) * 1997-08-13 2000-07-01 윤종용 고속시리얼에러위치다항식계산회로
EP1146515A1 (en) * 1998-02-25 2001-10-17 Matsushita Electric Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
US6363511B1 (en) * 1998-03-31 2002-03-26 Stmicroelectronics N.V. Device and method for decoding data streams from storage media

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077296A1 (en) * 2003-02-27 2004-09-10 Electronics And Telecommunications Research Institute Method for forming rate compatible code using high dimensional product codes
US7546509B2 (en) 2003-02-27 2009-06-09 Electronics And Telecommunications Research Institute Method for forming rate compatible code using high dimensional product codes

Also Published As

Publication number Publication date
CN1369984A (zh) 2002-09-18
CN100393017C (zh) 2008-06-04
US20020108088A1 (en) 2002-08-08
JP2002305453A (ja) 2002-10-18
EP1231718A3 (en) 2003-10-01
EP1231718A2 (en) 2002-08-14

Similar Documents

Publication Publication Date Title
US8468432B2 (en) Coder-decoder and method for encoding and decoding an error correction code
US8117526B2 (en) Apparatus and method for generating a transmit signal and apparatus and method for extracting an original message from a received signal
JPS61500097A (ja) 代数ブロックコ−ドのためのエラ−訂正
JP2000307435A (ja) 符号化回路、回路、パリティ生成方法及び記憶媒体
JP2007274239A (ja) 誤り訂正装置
MY134591A (en) Dual chien search blocks in an error-correcting decoder
US20060031742A1 (en) Decoding device and decoding method
MY132105A (en) Intra-decoder component block messaging
US6832042B1 (en) Encoding and decoding system in an optical disk storage device
RU2310273C2 (ru) Способ кодирования-декодирования информации в системах передачи данных
KR20020065788A (ko) 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법
KR101314232B1 (ko) 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱
US5541937A (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
JPH08293802A (ja) インターリーブ式誤り訂正方法
CN113922825A (zh) 用于误差校正代码的低延迟解码器
KR100358357B1 (ko) 가변 에러 정정 성능을 갖는 리드-솔로몬 디코더
KR100282070B1 (ko) 오류검출부호의길쌈부호화및복호화방법
Shankar Error correcting codes: 3. Reed Solomon codes
JPH10290216A (ja) 誤り訂正復号方法およびその装置
JP2703633B2 (ja) 誤り訂正復号器
EP1830471A1 (en) Apparatus and method for decoding data
KR950010339B1 (ko) 에러 정정 장치
JPS638984Y2 (ko)
KR100564532B1 (ko) 컴팩트 디스크 플레이어에서 efm 에러 플래그 생성을 통한 에러정정방법
JPH0457252B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application