KR20000037517A - 리드-솔로몬 디코더 회로 - Google Patents

리드-솔로몬 디코더 회로 Download PDF

Info

Publication number
KR20000037517A
KR20000037517A KR1019980043723A KR19980043723A KR20000037517A KR 20000037517 A KR20000037517 A KR 20000037517A KR 1019980043723 A KR1019980043723 A KR 1019980043723A KR 19980043723 A KR19980043723 A KR 19980043723A KR 20000037517 A KR20000037517 A KR 20000037517A
Authority
KR
South Korea
Prior art keywords
reed
error
polynomial
solomon decoder
unit
Prior art date
Application number
KR1019980043723A
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 KR1019980043723A priority Critical patent/KR20000037517A/ko
Publication of KR20000037517A publication Critical patent/KR20000037517A/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/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/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)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명에 따른 리드-솔로몬 디코더 회로의 친-서치(Chien search) 회로는 앤티로그 카운터를 구비한다. 이로써, 친-서치 유니트는 적은 수의 레지스터로 구성될 수 있다. 이는 디코더 회로가 더 간단한 구성을 갖도록 하고 그 집적도의 증가를 가져온다. 또, 한번의 모듈로-2 가산의 실행 만으로도 종래와 동일한 결과를 얻을 수 있으므로 디코딩 처리 속도가 향상된다.

Description

리드-솔로몬 디코더 회로(Reed-Solomon Decoder circuit)
본 발명은 리드-솔로몬 디코더 회로에 관한 것으로, 더 구체적으로는 친-서치(Chien search) 회로에 관한 것이다.
리드-솔로몬 코드는 BCH(Bose-Chaudhuri-Hocquenghem) 코드의 일종으로서 선형 블럭 코드이다. 리드-솔로몬 코드(RS code)는 통상 심벌(symbol)의 비트 크기(s)와 함께 RS(n,k)로 표시된다. 이 리드-솔로몬 코드는 디지털 통신 및 데이터 저장의 응용 분야, 예를 들면, 테이프, CD, DVD, 바-코드(barcode), 무선 및 이동 통신, 위성 통신, 디지털 텔레비전 등에서 널리 사용되고 있는 블럭 에러 정정 코드이다.
일반적으로, 잡음, CD 등의 손상 등과 같은 여러 가지 이유들로 인해 데이터의 전송 또는 저장 동안에 에러가 발생될 수 있는데, 리드-솔로몬 인코더(encoder)는 일정 블럭의 데이터를 취하고 거기에다 여분의 비트들을 부가해서 발생된 에러의 정정이 가능하도록 한다. 리드-솔로몬 디코더(decoder)는 각 블럭 데이터를 처리하고 에러 발생 시 원래의 데이터로 복원하는 기능을 한다.
리드-솔로몬 디코더의 채널(channel) 또는 저장 매체 상의 에러를 정정하는 알고리즘은 다항식을 이용하고 있기 때문에 그 연산을 실행하는 하드웨어를 구현하는 것이 매우 곤란하다.
리드-솔로몬 디코더에서는 신드롬(syndrome)의 계산 후에 에러 로케이터(error locator) 및 그 값이 계산된다. 도 1에는 에러 정정을 위한 디코더 코어(10)의 구성이 개략적으로 도시되어 있다. 도 1을 참조하여, 디코더 코어(10)는 메인 프로세싱 유니트(100), 메모리 유니트(200), 친-서치 유니트(300), 그리고 기타 회로들(400)(예를 들면, 카운터들, 기입/독출 포인터들, 신드롬 및 플래그 레지스터들)을 구비하고 있다.
상기 메인 프로세싱 유니트(100)는 유클리디언 알고리즘(Euclidean Algorithm)으로 구현된다. 듀얼 포트(dual port) RAM(random access memory)으로 구성되는 메모리 유니트(200)는 에러 체커 블럭(error checker block)으로부터 제공되는 신드롬을 저장하고 처리되는 데이터의 중간 계산 값이나 최종 계산 값을 저장한다. 상기 코어를 거쳐서 나오는 결과는 16 개의 신드롬(각 신드롬은 8 비트로 구성됨)과 함께 에러 로케이터(error locator)의 계산에 필요한 8 비트×8의 에러 로케이터 다항식(error locator polynomial) σ 및 8 비트×8의 에러 평가 다항식(error evaluation polynomial) ω를 구하는데 사용된다. 이 계산을 위해 사용되는 방법은 경우에 따라서 상이하나, 유클리디언 알고리즘이 일반적으로 사용되고 있다. 또한, 친-서치 유니트(300)는 에러의 위치를 찾는 역할을 한다. 이 친-서치 유니트(300)는 친(Chien)이 "Hybrid methods for finding roots of a polynomial-with application BCH decoding"(IEEE Trans. Inf. Theory, IT-15, 329-334, 1969)라는 논문에 개시한 방법을 실현한 것으로, 에러 위치 다항식 값 및 에러 값의 계산 시 그 분모에 해당하는 값을 상기 메인 프로세싱 유니트(100)로 제공한다. 상기 메인 프로세싱 유니트(100)는 두 개의 승산기를 구비하고 있는데, 그 중 하나가 에러 평가 다항식을 계산하는 동안에 다른 하나는 역수의 계산을 수행한다.
도 2는 종래의 친-서치 유니트(300)의 구성을 보여주고 있다. 도 2를 참조하면, 친-서치 유니트(300)는 다항식 계산 부(310) 및 모듈로-2(modulo-2) 가산 부(320)로 구성된다. 다항식 계산 부(310)는 에러 로케이터 다항식의 각 항에 대응하는 복수 개의 서브 모듈(sub-module)(330, 332-1, 332-2, ..., 332-n)로 구성된다. 최하위 차수 항에 대응하는 서브 모들(330)은 하나의 레지스터(331)로 구성된다. 나머지 차수의 항들에 각각 대응하는 서브 모듈들(332-1, 332-2, ..., 332-n) 각각은 가산기(341a), 승산기(341b) 및 레지스터(341c)로 구성된다.
위와 같은 구성을 갖는 친-서치 유니트(300)는 먼저 에러 로케이터 다항식 σ에 근(root) α를 승산한다. 이때, 에러 로케이터 다항식 σ의 최저 차수 항의 값에 대한 승산은 수행되지 않는다. 상기 승산 처리된 값은 다시 에러 로케이터 다항식 σ와 가산된 후, 다시 모듈로-2 가산된다. 이 모듈로-2 가산의 결과 값이 0인 위치가 바로 에러 발생 위치로서 판정된다. 이렇게 탐색된 에러 위치에 해당하는 메모리 유니트(200) 상의 데이터에 대한 에러 정정이 수행된다.
친-서치 알고리즘에서 사용되는 에러 로케이터 다항식은 다음과 같이 표시된다.
σ(x)/xt=1+σ1x-12x-23x-3+ … +σtx-t
따라서, σ(x)=0이면, 아래의 식 역시 성립한다.
1=σ1x-12x-23x-3+ … +σtx-t
위의 다항식의 연산과 관련된 모듈로-2 가산을 위해서는 상기 다항식의 차수만큼 클럭을 제공해야 하므로, 상당히 긴 연산 시간이 소요된다. 또한, 에러 위치 탐색을 위해 255-NO(여기서, NO는 실제 사용되는 차수의 개수)(실제로는 255 차수에 대응하는 항들 모두가 사용되지 않고 일부의 항들만이 사용됨)만큼의 승산 연산을 미리 실행해야 하기 때문에 많은 레지스터들이 필요하다. 이 때문에 회로는 복잡한 구성을 갖고 큰 면적을 차지한다.
따라서, 본 발명의 주된 목적은 향상된 집적도를 갖는 리드-솔로몬 디코더 회로를 제공하는 것이다.
본 발명의 다른 목적은 향상된 에러 정정 처리 속도를 갖는 리드-솔로몬 디코더를 제공하는 것이다.
본 발명의 또 다른 목적은 친-서치 다항식의 계산 시간을 줄일 수 있는 친-서치 회로를 제공하는 것이다.
도 1은 본 발명과 관련된 리드-솔로몬 디코더 회로의 코어 구성을 개략적으로 보여주는 블럭도;
도 2는 전형적인 친-서치 유니트의 구성을 보여주는 도면; 그리고
도 3은 본 발명에 다른 친-서치 유니트의 구성을 보여주는 도면이다.
*도면의 주요 부분에 대한 부호의 설명*
100 : 메인 프로세싱 유니트 200 : 메모리 유니트
300 : 친-서치 유니트 410 : 가산기
420 : 승산기 430 및 440 레지스터
450 : 모듈로-2 가산기
상기 목적들을 달성하기 위한 본 발명의 일 특징에 따르면, 리드-솔로몬 디코더 회로는 유클리디언 알고리즘을 실행하는 메인 프로세싱 유니트와; 신드롬 및 데이터의 저장을 위한 메모리 유니트 및; 에러 위치 다항식에 의거하여 에러의 위치를 탐색하는 친-서치 유니트를 포함하되, 상기 친-서치 유니트는 앤티-로그 카운터를 구비한다.
상기 친-서치 유니트는 상기 에러 위치 다항식의 항들에 각각 대응하는 복수 개의 서브 모듈들을 구비하고; 상기 다항식의 최저 차수 항을 제외한 나머지 차수 항들 각각은, 가산기와, 승산기, 앤티-로그 카운트 값을 저장하기 위한 제 1 레지스터, 상기 가산기의 출력을 저장하기 위한 제 2 레지스터, 그리고 모듈로-2 가산을 수행하는 모듈로-2 가산기를 구비한다.
다음에는 첨부된 도 3에 의거하여 본 발명을 상세히 설명한다.
본 발명에 따른 친-서치 유니트(300) 역시, 도 2에 도시된 바와 같이, 다항식 계산 부(310) 및 모듈로-2(modulo-2) 가산 부(320)로 구성된다. 다항식 계산 부(310)는 에러 로케이터 다항식의 각 항에 대응하는 복수 개의 서브 모듈(sub-module)(330, 332-1, 332-2, ..., 332-n)로 구성된다. 최하위 차수 항에 대응하는 서브 모들(330)은 하나의 레지스터(331) 만으로 구성된다.
도 3은 본 발명에 따른 각 친-서치 서브 모듈(332)(최하위 차수 항에 대응하는 서브 모듈은 제외)의 구성을 보여주고 있다. 도 3을 참조하여, 친-서치 서브 모듈(332)은 가산기(410), 승산기(420), 앤티-로그 카운트(antilog count) 값을 저장하기 위한 제 1 레지스터(430), 상기 가산기(410)의 출력을 저장하기 위한 제 2 레지스터(440), 그리고 모듈로-2 가산을 수행하는 모듈로-2 가산기(450)로 구성된다.
위와 같은 구성을 갖는 친-서치 유니트에서, 먼저 에러 로케이터 다항식 σ는 근 α 및 앤티 로그 카운트 값에 의해 승산된다(이때, 에러 로케이터 다항식 σ의 최저 차수 항의 값에 대한 승산은 수행되지 않음). 상기 승산 처리된 값은 다시 에러 로케이터 다항식 σ와 가산된 후, 다시 모듈로-2 가산된다. 이 모듈로-2 가산의 결과 값이 0인 위치가 바로 에러 발생 위치로서 판정된다. 이렇게 탐색된 에러 위치에 해당하는 메모리 유니트(200) 상의 데이터에 대한 에러 정정이 수행된다.
이상과 같이 앤티 로그 카운트를 이용해서 인버스 카운트(inverse count)를 행하면, 사전 승산(premultiply) 동작이 불필요하기 때문에 연산 시간이 줄어든다.
친-서치 알고리즘에서, 에러 로케이터 다항식 σ(x)의 근 α가 찾아지면, 그 값에 α0내지 αN-1을 대입해서 σ(x)의 값을 구한다. 이때, 에러 로케이터 다항식 σ(x)의 값이 "0"이면, 그 근의 역을 구해서 에러 위치 데이터를 구한다. 본 발명에서는, 앤티 로그 카운터가 사용되므로, 단 한번에 α-1내지 α-8에 대한 에러 로케이터 다항식 σ(x) 값의 계산이 가능하다.
이후, 에러 로케이터 다항식 σ(x)의 값은 모듈로-2 가산된다. 모듈로-2 가산의 결과가 "0"이면 에러가 있는 위치임이 판명된다. 이때, 상기 모듈로-2의 가산 결과가 "0"이 아니면, 에러 위치가 아니다. 따라서, 다음 항들에 대한 계산이 계속해서 수행된다.
이상과 같은 연산을 수행하는 회로를 친-서치 유니트의 주 회로로 삼고, 나머지를 레지스터나 콘트롤 회로로 구현하면 많은 레지스터를 사용하지 않아도 되므로 회로의 구성이 간단해지고 그 집적도를 증가시킬 수 있다. 또한, 본 발명에 따르면, 한번의 모듈로-2 가산 만으로 종래와 동일한 결과를 얻을 수 있다. 이로써, 친-서치 나아가서 리드-솔로몬 디코딩 처리 속도가 향상된다.

Claims (2)

  1. 리드-솔로몬 디코더 회로에 있어서:
    유클리디언 알고리즘을 실행하는 메인 프로세싱 유니트(100)와;
    신드롬 및 데이터의 저장을 위한 메모리 유니트(200) 및;
    에러 위치 다항식에 의거하여 에러의 위치를 탐색하는 친-서치 유니트(300)를 포함하되,
    상기 친-서치 유니트는 앤티-로그 카운터를 구비하는 것을 특징으로 하는 리드-솔로몬 디코더 회로.
  2. 제 1 항에 있어서:
    상기 친-서치 유니트(300)는 상기 에러 위치 다항식의 항들에 각각 대응하는 복수 개의 서브 모듈들을 구비하고;
    상기 다항식의 최저 차수 항을 제외한 나머지 차수 항들 각각은, 가산기(410)와, 승산기(420), 앤티-로그 카운트 값을 저장하기 위한 제 1 레지스터(430), 상기 가산기(410)의 출력을 저장하기 위한 제 2 레지스터(440), 그리고 모듈로-2 가산을 수행하는 모듈로-2 가산기(450)를 구비하는 것을 특징으로 하는 리드-솔로몬 디코더 회로
KR1019980043723A 1998-10-19 1998-10-19 리드-솔로몬 디코더 회로 KR20000037517A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980043723A KR20000037517A (ko) 1998-10-19 1998-10-19 리드-솔로몬 디코더 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980043723A KR20000037517A (ko) 1998-10-19 1998-10-19 리드-솔로몬 디코더 회로

Publications (1)

Publication Number Publication Date
KR20000037517A true KR20000037517A (ko) 2000-07-05

Family

ID=19554542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980043723A KR20000037517A (ko) 1998-10-19 1998-10-19 리드-솔로몬 디코더 회로

Country Status (1)

Country Link
KR (1) KR20000037517A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2781755A1 (en) 2013-03-18 2014-09-24 LG Electronics, Inc. Scroll compressor with back pressure chamber
EP2910785A1 (en) 2014-02-20 2015-08-26 LG Electronics Inc. Scroll compressor
EP2940306A1 (en) 2014-05-02 2015-11-04 LG Electronics Inc. Scroll compressor
US9920759B2 (en) 2014-01-06 2018-03-20 Lg Electronics Inc. Scroll compressor with back pressure device
US9970438B2 (en) 2014-06-24 2018-05-15 Lg Electronics Inc. Scroll compressor

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2781755A1 (en) 2013-03-18 2014-09-24 LG Electronics, Inc. Scroll compressor with back pressure chamber
EP2781754A1 (en) 2013-03-18 2014-09-24 LG Electronics, Inc. Scroll compressor with a bypass
EP2781753A1 (en) 2013-03-18 2014-09-24 LG Electronics, Inc. Scroll compressor with back pressure discharge
US9920759B2 (en) 2014-01-06 2018-03-20 Lg Electronics Inc. Scroll compressor with back pressure device
EP2910785A1 (en) 2014-02-20 2015-08-26 LG Electronics Inc. Scroll compressor
US10072658B2 (en) 2014-02-20 2018-09-11 Lg Electronics Inc. Scroll compressor
EP2940306A1 (en) 2014-05-02 2015-11-04 LG Electronics Inc. Scroll compressor
US9797400B2 (en) 2014-05-02 2017-10-24 Lg Electronics Inc. Scroll compressor
EP3591231A1 (en) 2014-05-02 2020-01-08 LG Electronics Inc. Scroll compressor
US9970438B2 (en) 2014-06-24 2018-05-15 Lg Electronics Inc. Scroll compressor

Similar Documents

Publication Publication Date Title
US5715262A (en) Errors and erasures correcting reed-solomon decoder
KR100683624B1 (ko) 가속화된 리드-솔로몬 오류정정
EP0426657B1 (en) Method and apparatus for decoding error correction code
US4873688A (en) High-speed real-time Reed-Solomon decoder
EP0838905B1 (en) Reed-Solomon Decoder
US7502989B2 (en) Even-load software Reed-Solomon decoder
US5818855A (en) Galois field multiplier for Reed-Solomon decoder
EP0621698B1 (en) Error correction method including erasure correction, and apparatus therefore
KR20020047134A (ko) 데이터를 코딩 및 디코딩하는 방법 및 장치
US7162679B2 (en) Methods and apparatus for coding and decoding data using Reed-Solomon codes
US4841300A (en) Error correction encoder/decoder
US5983389A (en) Error correction decoding apparatus
US5365529A (en) Circuitry for detecting and correcting errors in data words occurring in Reed-Solomon coded blocks and determining when errors are uncorrectable by syndrome analysis, Euclid's algorithm and a Chien search
KR20030095249A (ko) 리드-솔로몬 디코더
EP1102406A2 (en) Apparatus and method for decoding digital data
KR20000037517A (ko) 리드-솔로몬 디코더 회로
US6915478B2 (en) Method and apparatus for computing Reed-Solomon error magnitudes
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
JP2662472B2 (ja) 誤り訂正処理用シンドローム演算回路
JP3614978B2 (ja) ガロア体の除算方法および除算装置
KR20000076689A (ko) 데이터 오류 정정 장치
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JP2000295116A (ja) 誤り修正符号化方法
US5200961A (en) Error detection and/or correction device
Chang et al. A (208,192; 8) Reed-Solomon decoder for DVD application

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination