KR100260415B1 - 고속시리얼에러위치다항식계산회로 - Google Patents

고속시리얼에러위치다항식계산회로 Download PDF

Info

Publication number
KR100260415B1
KR100260415B1 KR1019970038584A KR19970038584A KR100260415B1 KR 100260415 B1 KR100260415 B1 KR 100260415B1 KR 1019970038584 A KR1019970038584 A KR 1019970038584A KR 19970038584 A KR19970038584 A KR 19970038584A KR 100260415 B1 KR100260415 B1 KR 100260415B1
Authority
KR
South Korea
Prior art keywords
shift register
polynomial
error position
syndrome
error
Prior art date
Application number
KR1019970038584A
Other languages
English (en)
Other versions
KR19990016134A (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 KR1019970038584A priority Critical patent/KR100260415B1/ko
Priority to CN98115539A priority patent/CN1095122C/zh
Priority to US09/132,674 priority patent/US6286123B1/en
Publication of KR19990016134A publication Critical patent/KR19990016134A/ko
Application granted granted Critical
Publication of KR100260415B1 publication Critical patent/KR100260415B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/1525Determination and particular use of error location polynomials
    • H03M13/153Determination and particular use of error location polynomials using the Berlekamp-Massey algorithm
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 회로 규모가 작으면서 그 계산 지연 시간이 작아 고속 계산에 사용될 수 있는 에러 위치 다항식 계산회로를 제공하기 위하여 에러위치 다항식 계산에 있어 Berlekamp-Massey의 반복 알고리즘을 사용하되,상기 Berlekamp-Massey의 반복 알고리즘은 시리얼 구성으로 계산을 단순화시키면서 고속으로 에러위치 다항식을 계산토록 함을 특징으로 한다.

Description

고속 시리얼 에러 위치 다항식 계산회로{HIGH SPEED SERIAL ERROR POSITION POLYNOMUAL CALCULATION CIRCUIT}
본 발명은 리드 솔로몬(Reed-Solomon)부호를 사용하는 에러정정 시스템에 있어서 에러위치다항식계산회로에 관한 것으로, 특히 반복 알고리즘(Berlekamp Massey)을 사용하는데 있어 직렬로 구성시켜 위치 다항식을 빠르게 계산하기 위한 고속 시리얼 에러 위치 다항식 계산회로에 관한 것이다.
일반적으로 디지털 통신 및 스토리지 시스템에 있어서 에러 제어를 위한 RS(Reed-Solomon 이하 "RS" 라칭함)부호가 널리 사용되고 있다. 상기 RS 부호로 부호화된 데이터는 데이터 전송 또는 재생 중에 에러가 종종 발생하며,이 에러는 잘못된 데이터로 수신하게 되므로 RS디코딩 과정을 통해 에러 검출 및 정정을 필요로 한다. 상기 RS 디코딩 과정 중 에러정정을 위해 에러의 위치를 근으로 갖는 에러 위치 다항식 계산과정을 거친다. 이와 관련되어 R.E. Blahut "Theory and Practice of Error Control Code" ,Addison-Wesley, 1983와 J.L.Massey,"Shift Register Synthesis and BCH Decoding",IEEE Transation Information Theory,Vol.It-15,PP122-127, Jan, 1969에 개시하고 있다. 여기서 에러위치를 계산하는 회로에서는 Berlekamp-Massey 알고리즘(이하 "BMA"라 칭함)을 이용한다. 상기 회로는 1965년에 Massey가 발표한 LFSR(Linar Feedback Shift Register)을 이용한 다. 이는 신드롬과 계산할 에러위치 다항식으로 부터 부합도(discrepancy)를 계산하여 부합도가 영(0)이면 에러위치 다항식을 이전 것으로 그대로 두고, 상기 영(0)이 아니면 에러위치 다항식을 새로 계산한다. 즉 상기 새로운 에러위치 다항식을 계산하기 위해 수정 다항식을 두어 부합도 값이 영(0)이 아닐 때 이를 새롭게 계산하여 상기 다항식과 부합도를 이용하여 새로운 에러위치 다항식을 계산토록 되어 있다.그러나 상기와 같은 방법의 회로는 병렬 구조로 되어 있어 에러 위치 다항식을 계산하기 위한 곱셈기가 많이 필요하여 그 회로 규모가 크지게 되는 단점이 있다. 즉, 부합도(discrepancy)를 계산하기 위한 회로와 이값을 사용하여 에러 위치 다항식을 계산하는 회로의 지연 시간이 커서 고속화를 추구하는 디지털 통신시스템이나 고용량의 저장기능을 가지면서 고속의 억세스를 요하는 스트로지(Storge)시스템에서는 이와 같은 방법을 이용하기 어려운 문제점이 있다.
따라서 본 발명의 목적은 회로 규모가 작으면서 에러 위치 다항식 계산의 지연 시간을 줄려 고속 계산에 사용될 수 있는 에러 위치 다항식 계산회로를 제공함에 있다.
상기 목적을 수행하기 위한 본 발명은 에러위치 다항식 계산으로 Berlekamp-Massey의 반복 알고리즘을 사용하되, 상기 Berlekamp-Massey의 반복 알고리즘을 시리얼 구성으로 단순화시키면서 고속으로 에러위치 다항식을 계산토록 함을 특징으로 한다.
도 1는 본 발명의 실시예에 따른 에러 정정 시스템도
도 2는 도 1의 에러 위치 다항식 계산부(103)의 구체 회로도
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 각 도면의 구성요소들에 참조부호를 부가함에 있어, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로서 이는 사용자 또는 칩설계자의 의도 또는 관례 등에 따라 달라질 수 있으며, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시예의 RS 부호화 에러 정정시스템도로서
수신어로 부터 신드롬을 계산하는 신드롬 계산부(101)와,
상기 신드롬 계산부(101)에서 계산된 신드롬으로 부터 에러위치 다항식을 계산하는 에러위치 다항식 계산부(103)와,
상기 에러위치 다항식 계산부(103)에서 계산된 에러위치 다항식으로 부터 에러위치를 검색하고 상기 검색된 에러위치에 대한 에러값을 계산하는 에러위치 검색 및 에러값 계산부(105)와,
상기 에러위치 검색 및 에러값 계산부(105)에서 검색된 에러위치 심볼에 에러값을 더하여 에러를 정정하는 에러 정정부(107)와,
상기 신드롬 계산부(101)에서 출력되는 신호에 의해 상기 에러 위치 다항식 계산부(103)에서 에러위치 다항식 계산을 위한 제어신호를 발생하는 계산 제어회로(108)로 구성된다.
도 2는 도 1의 에러위치 다항식 계산부(103)의 구체회로도로서
정정할 전체심볼의 수(2t=d-1)의 반(t)에 해당하는 수정 다항식[B(x)]을 저장하는 제1쉬프트 레지스터(201)와,
정정할 전체심볼의 수(2t=d-1)의 반(t)에 해당하는 에러 위치 다항식[V(x)]을 저장하는 제2쉬프트레지스터(203)와,
정정할 전체심볼의 수(2t)에 해당하는 신드롬 다항식[S(x)]을 저장하는 제3쉬프트레지스터(205)와,
상기 제3쉬프트레지스터(205)에서 출력되는 전체 심볼(2t=d-1)에 대해 반에 해당하는 심볼(t)을 출력하는 상기 제2쉬프트레지스터(203)의 출력으로부터 상기 제3쉬프트레지스터(205)에서 출력되는 전체 심볼(2t=d-1)에 대해 반에 해당하는 심볼(t)을 출력하는 상기 제2쉬프트레지스터(203)의 출력으로부터 상기 계산 제어회로(108)에서 발생하는 선택단(317)의 신호에 따라 주 반복주기마다 선택되고, 부 반복 주기에서는 고정되어 상기 제3쉬프트 레지스터(205)의 출력인 신드롬 다항식S (X)의 신드롬 심볼을 선택하는 제4멀티플렉셔(213)와,
상기 제1쉬프트레지스터(201)의 출력 수정 다항식의 심볼 바이트를 소정시간 저장하므로 지연하는 지연회로(217)와,
상기 제2쉬프트레지스터(203)의 에러 위치 다항식의 출력심볼 및 상기 제4멀티플렉셔(213)의 신드롬 다항식 출력심볼과 다음 부합도를 갈로이스 필드[GF(2m)]에서 연산하기 위한 제1연산셀(215)과,
상기 제1연산셀(215)의 출력과 상기 제4멀티플렉셔(213)의 출력을 상기 계산 제어회로(108)의 중간값 저장용 선택단(313)의 신호에 따라 선택하는 제2멀티플렉셔(209)와,
상기 제2멀티플렉셔(209)의 출력으로부터 다음계산에 사용될 부합도를 계산하기 위해 그 중간값을 저장하는 다음 부합도 저장부(221)와,
상기 제1연산셀(215)의 출력과 신도롬 계수단(S0)의 신호중 상기 계산 제어회로(108)의 현재 부합도입력선택단(315)의 신호에 따라 선택하는 제3멀티플렉셔 (299)와,
상기 제3멀티플렉셔(299)의 출력으로 현재 부합도를 저장하는 현재 부합도 저장부(223)와,
상기 제2쉬프트레지스터(203)의 출력신호로 부터 계수신호를 저장하는 계수신호저장부(227)와,
상기 제1쉬프트레지스터(201)의 출력과 상기 현재 부합도 저장부(223)의 출력을 곱하여 상기 제2쉬프트레지스터(203)의 출력과 더하여 갈로이스 필드[GF(2m)]에서 연산을 위한 제2연산셀(293)과,
상기 현재 부합도 저장부(223)의 출력을 반전하여 상기 계수신호저장부(227)의 출력과 곱하여 갈로이스 필드[GF(2m)]에서 연산을 위한 제3연산셀(211)과,
상기 제3연산셀(211)의 출력과 상기 지연회로(217)의 출력을 상기 계산 제어회로(108)의 조건선택단(311)의 조건선택신호로 부터 선택하여 상기 제1쉬프트레지스터(201)에 인가하는 제1멀티플렉셔(207)로 구성된다.
따라서 본 발명의 구체적 일 실시예를 도 1,2를 참조하여 상세히 설명하면,
리드 솔로몬(이하 "RS" 라 칭함)에서 RS(N,K,d)는 부호어 길이가 N, 정보어 길이가 K, 최소 해밍거리가 d인 RS 부호를 말한다. 상기 RS 부호의 특징중 하나는 d가 d=N-K+1이라는 점이며,N-K는 패리티의 수로서,이를 R이라고 하면 R=d-1의 관계가 있다.상기 RS 부호가 정정할 수 있는 심볼의 수를 t라고 하면 t=
Figure pat00001
의 관계에 있다. 상기 RS 부호를 정정하는 과정은 도 1의 예와 같은 시스템에서 다음과 같은 방법으로 이루워진다.즉, 신드롬 계산부(101)에서 수신어로 부터 신드롬을 계산한다.상기 신드롬 계산부(101)에서 계산된 신드롬으로 부터 에러 위치다항식 계산부(103)에서 에러위치 다항식을 계산한다.상기 에러 위치다항식 계산부(103)에서 계산된 에러위치 다항식으로 부터 에러 위치검색 및 에러값 계산부(105)에서 에러위치를 검색하고,상기 검색된 에러위치에 대한 에러 값을 계산한다.상기 에러 위치검색 및 에러값 계산부(105)에서 검색된 에러위치 심볼에 대해 에러 정정부(107)에서 에러값을 더하여 에러를 정정하여 정정된 부호어를 발생한다.그런데 상기의 에러 과정 중 에러위치 다항식을 계산하기 위한 Berlekamp-Massey 알고리듬은 다음과 같다.
상기 신드롬 다항식은 S(χ)= { S}_{d-2 } { chi}^{d-2 } + { S}_{d-3 } { chi }^{d-3 } + ... + { S}_{0 }
이고,
에러위치 다항식이 ∧(χ)=
Figure pat00002
(1+Xiχ)=∧vχv+∧v-1χv-1+···+∧0라고하면,
(∧O=1 이고, 에러위치 다항식의 최대차수는 t보다 작거나 같다)
Berlekamp-Massey 알고리듬은 ∧(χ)=1,B(χ)=1,γ=0 이라고 가정할 때
1,신드롬으로부터 부합도 Δγ를 다음 수학식 1과같이 계산한다.
Figure pat00003
Figure pat00004
jSγ-j)
2,상기 수학식 1으로 부터 다음 수학식 2와 같이 에러위치 다항식을 계산한다.
∧(γ+1)(χ)=∧(γ)(χ)+ΔγχB(γ)(χ)
3,만약 상기 수학식 2에서 Δγ≠0이고, deg(B(χ))≥deg(∧(χ))이면
B(x)= Δ _{ γ}^{-1 } ∧(χ),다음 5과정으로 가며,
4,만약 Δγ=0이거나 deg[B(χ)]≤deg[(χ)]이면
B(χ)=χB(χ)
5.γ=γ+1, γ=d-1이면 정지 ,아니면 상기 1 과정으로 간다.
상기 Berlekamp-Massey 알고리즘(BMA)과 도 2를 참조하여 본 발명을 구체적으로 살펴보면,
도 2에서 제1쉬프트 레지스터(201)은 수정 다항식 B(X),제2쉬프트 레지스터(203)은 에러위치 다항식 ∧(x), 제 3쉬프트 레지스터(205)는 신드롬 다항식 S(X)를 각각 저장하도록 되어 있다.원래 에러와 이레이져(에러타)를 처리하기 위해서는 2t정도의 크기가 요구되나 본 발명은 에러 위치 다항식을 계산코저 하는 것으로 RS 부호가 정정할 수 있는 심볼의 수를 t라고 하면 t=
Figure pat00005
의 관계식에서 예와 같이 상기 제1쉬프트 레지스터(201)와 제2쉬프트 레지스터(203)의 크기(t)는 제 3쉬프트 레지스터(205)의 크기(2t=d-1)의 반으로 구성된다.상기 제3쉬프트 레지스터(205)의 출력인 신드롬 다항식S(X)의 신드롬수가 상기 제1쉬프트 레지스터 (201)와 제2쉬프트 레지스터(203)의 크기(t)와 다르기 때문에 이를 조절하여 일치시키기 위하여 제4멀티플렉셔(213)는 상기 계산 제어회로(108)에서 발생하는 선택단(317)의 신호에 따라 주 반복주기마다 선택되고, 부 반복 주기에서는 고정되는 방식으로 상기 제3쉬프트 레지스터(205)의 출력인 신드롬 다항식S(X)의 신드롬 심볼을 선택하여 에러위치계산을 할수 있어 적은 사이즈에서 고속처리가 가능해진다.그외 지연회로(217),다음 부합도 저장부(221),현재 부합도 저장부(223)는 심볼(보통 바이트)을 저장할 수 있는 플립플롭들로 구성되어 지연, 다음 부합도, 현재의 부합도를 저장하기 위한 것이다.제1-3연산셀(215,293,211)은 갈로이스 필드 GF(2m)에서의 연산을 위한 셀로서 제1,2연산셀(215,293)는 같은 형태의 셀로서 두 수를 곱셈기(M2,M3)에서 곱하고,그결과를 제 삼의 값과 가산기(A1,A2)에서 더하며,제3연산셀(211)은 반전기(N1)와 곱셈기(M1)으로 구성되어 나눗셈을(예를 들면, 곱셈에 대한 역원을 다른 수에 곱하여 나눗셈을 행할수 있음)행하는 셀이다.[S(x)]는 입력되는 신드롬 다항식으로 제3쉬프트레지스터(205)에 연결되며,∧(x)는 출력되는 에러위치 다항식으로서 제2쉬프트레지스터(203)에 연결되어 있다. 상기 제3연산셀(211)의 출력단(411)의 신호는 제2쉬프트레지스터(203)의 출력인 계수신호저장부(227)의 계수 신호를 곱셈기(M1)에 인가하여 현재 부합도 저장부(223)의 출력 현재의 부합도를 반전기(N1)에 인가하여 나눈 신호이다.제2연산셀(293)의 출력신호는 상기 현재 부합도 저장부(223)의 출력 현재의 부합도와 제1쉬프트레지스터(201)의 출력인 계수 신호를 곱셈기(M3)에서 곱하여 제2쉬프트레지스터(203)의 출력과 가산기(A1)에서 더한 신호이다.제1멀티플렉셔(207)은 BMA조건에 따라 선택하는 상기 계산 제어회로(108)의 조건선택단(311)의 신호에 의해 상기 BMA의 상기 3항의 조건에 맞을 경우 상기 제3연산셀(211)의 신호를 선택하고,그렇지 않을 경우 지연회로(217)의 출력 계수 지연 신호를 선택한다.제2멀티플렉셔(209)는 상기 계산 제어회로(108)의 중간값 저장용 선택단(313)의 신호에 따라 다음 계산에 사용될 부합도를 계산하기 위해 그 중간값을 다음 부합도 저장부(221)에 저장하기 위해 입력을 선택하기 위한 선택부로서 부 반복 주기의 처음에는 제4멀티플렉셔(213)의 출력 신호를, 그렇지 않을 경우에는 제1연산셀(215)의 출력을 선택한다.상기 제3멀티플렉셔(299)는 현재 부합도 입력선택단(315)의 신호에 따라 현재 사용되는 부합도의 입력을 선택하기 위한 선택부로서 반복 주기의 처음에는 입력되는 신드롬의 계수 S(O)를 선택하고, 이후에는 항상 상기 제1연산셀(215)의 출력 신호를 선택한다.상기 제4멀티플렉셔(213)은 상기 계산 제어회로(108)의 신드롬 선택단(317)의 신호에 따라 부하도 계산을 위해 제1연산셀(215)에 차례대로 입력될 신드롬 신호를 선택하기 위한 선택부로서 주 반복주기마다 선택되고, 부 반복 주기에서는 고정되며,처음 부 반복 주기에서는 신드롬 S(1),S(0)가, 두 번째 부 반복주기에서는 S(2),S(1),S(0)의 신드롬이 선택 된다.
본 발명의 고속 시리얼 에러위치 계산회로는 초기에 지연회로(219)의 출력은 "0"가 되고,제1쉬프트레지스터(201)은 "1"이 되며,제2쉬프트레지스터(203)은 "1"로 초기화되며,2t 만큼 반복 계산(주 반복 주기)하고,각주 반복주기는 t주기만큼 반복(부 반복주기)된다. 또한 부 주기의 처음에 항상 지연회로(217)의 출력은 "0"가 되고,계수신호저장부(227)의 출력은 "1"로 값이 되도록 하며, 현재 부합도 저장부(223)는 제1연산셀(215)의 출력을 갖도록 제어 된다. 이상의 설명을 토대로 최대 2개의 에러를 정정할 수 있는 RS 부호의 에러위치 다항식을 계산해 보면,신드롬은 t=2이므로 4개가 있어서 각각 S(3),S(2),S(1),S(0)라고하자. 상기 주기초기에 제3쉬프트레지스터(205)에서 4비트(3:0)의 출력은 [S(1),S(2),S(3),S(0)]이고,제1쉬프트레지스터(201)에서 2비트(1:0)는 (0,1),지연회로(219)의 출력은 0이며,제2쉬프트레지스터(203)의 3비트(3:0)는(0,0,1)이며, 현재 부합도 저장부(223)의 출력은 S(0)이고,제4멀티플렉셔(213)의 출력은 S(1)이다. 만약, 현재 부합도 S(0)가 0이라면 제1쉬프트레지스터(201)은 지연회로(217)를 통해 자신의 값을 가지게 되므로 부 주기 후 제2연산셀(213)의 곱셈기(M3)에서 제1쉬프트레지스터(201)값과 곱하는 값을 갖게되며,제2쉬프트레지스터(203)도 또한 곱해지는 값에 영향을 받지 않아 자신의 값을 유지하게 되며,제3쉬프트레지스터(205)는 (S(3),S(0),S(1),S(2))가 된다.만약, S(0)가 0이 아니라면 제1쉬프트레지스터(201)는 부합도로 제2쉬프트레지스터(203)를 나눈 값을 갖게되고, 제2쉬프트레지스터(203)는 부합도를 제1쉬프트레지스터(201)에 곱하고, 자신의 값에 더한 값을 갖게된다. [제2쉬프트레지스터(203)가 계산부에 입력되게 함으로써 x를 곱해주는 효과를 봄].제3쉬프트레지스터(205)는 상기와 같이 된다.이 후의 계산 과정은 부합도를 계산하는 과정만이 다르고, BMA의 상기 3항 조건 또는 4항의 조건인가에 따라 상기 계산 제어회로(108)의 조건선택단(311)의 신호에의해 상기 제1멀티플렉셔(207)에서 선택되어 제1쉬프트레지스터(201)의 계산 과정은 상기와 같이 정해지고, 제2쉬프트레지스터(203)는 항상 같은 식으로 계산된다.두 번째 주 주기에서 신호 제4멀티플렉셔(213)는 S(2)가 선택되고, 새롭게 계산되어 지는 제2쉬프트레지스터(203)의 계수와 제1연산셀(215)의 곱셈기(M2)에서 곱하고 가산기(A2)에서 다음 부합도 저장부(221)에서 더하여져 다음에 사용될 부합도를 계산한다. 이 주기의 처음에 현재 부합도 저장부(223)는 첫 번째 주 주기에서 계산된 부합도를 계산한다. 상기 주기의 처음에 현재 부합도 저장부(223)는 주 주기에서 계산된 부합도 C(0)S(1)+C(1)S(0)를 래치하여 새로운 에러위치 다항식을 계산하는데 사용된다. 상기 주주기에서 계산되는 다음부합도는 C(0)S(2)+C(1)S(1)+C(2)S(0) 이다. 세번째 주 주기에서 계산되는 다음부합도는 C(0)S(3)+C(1)S(2)+C(2)S(1) 이고, 현재 부합도는 두 번째 주 주기에서 계산한 부합도이다. 네 번째 주 주기에서는 마지막 반복 과정이므로 다음 부합도는 관심의 대상이 아니며, 현재 부합도는 세 번째 주 주기에서 계산된 부합도로 에러위치 다항식을 계산한다.총 4*2=8개의 클럭(4주 주기, 2부 주기)후에 에러위치 다항식이 계산되며, 이때의 에러위치 다항식 회로는 다음 단계를 위해 사용될 수 있다.
본 발명의 다른 실시예로서 도 2에서 신드롬 다항식을 초기에 병렬로 로드하고, 에러위치 다항식을 병렬로 출력하는데, 모두 직렬로 로드 및 출력 되도록 제어하는 회로도 타이밍이 부족하지 않은 응용에 대하여 쉽게 변형하여 사용될 수 있어 본 발명의 범주에 속해짐을 이분야의 통상의 지식을 가진자로서는 자명해 질것이다.
상술한 바와같이 부합도를 계산하고 이를 이용하여 에러위치 다항식을 계산하는 회로에 있어서 그 회로 규모가 크고 계산 시간이 오래 걸리는 단점을 없애고, 그 크기가 적으며 빠른 클럭으로 동작 시킬수 있는 (2t2클럭 소요) 이점이 있다.

Claims (1)

  1. 신드롬 계산부(101),계산 제어부(108),에러위치검색 및 에러값계산부(105)를 가지며,상기 신드롬 계산부(101)로부터 정정할 전체심볼의 수(2t)에 해당하는 신드롬다항식[S(x)]을 저장하는 제3쉬프트레지스터(205)와,지연회로(217)와,제1연산셀(215)과,제2멀티플렉셔(209)와,다음 부합도 저장부(221)와,제3멀티플렉셔(299)와, 현재 부합도 저장부(223)와,계수신호저장부(227)와,제2연산셀(293)과,제3연산셀(211)과,제1멀티플렉셔(207)를 구비한 에러 위치 다항식 계산회로에 있어서,
    상기 제1멀티플렉셔(207)의 출력단에 연결되어 정정할 전체심볼의 수(2t=d-1)의 반(t)에 해당하는 수정 다항식[B(x)]을 저장하는 제1쉬프트 레지스터(201)와;
    상기 제2연산셀(293)의 출력단에 연결되어 정정할 전체심볼의 수(2t=d-1)의 반(t)에 해당하는 에러 위치 다항식[V(x)]을 저장하는 제2쉬프트레지스터(203)와;
    상기 제3쉬프트레지스터(205)의 출력단과 연결되어 이로 부터 출력되는 전체 심볼(2t=d-1)에 대해 반에 해당하는 심볼(t)을 출력하는 상기 제 2쉬프트레지스터 (203)의 출력으로 부터 상기 계산 제어회로(108)에서 발생되어 선택단(317)으로 인가되는 신호에 따라 주 반복주기마다 선택되고, 부 반복 주기에서는 고정되어 상기 제3쉬프트 레지스터(205)의 출력인 신드롬 다항식S(X)의 신드롬 심볼을 선택하는 제4멀티플렉셔(213)로 구성됨을 고속 시리얼 에러 위치 다항식 계산회로.
KR1019970038584A 1997-07-13 1997-08-13 고속시리얼에러위치다항식계산회로 KR100260415B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019970038584A KR100260415B1 (ko) 1997-08-13 1997-08-13 고속시리얼에러위치다항식계산회로
CN98115539A CN1095122C (zh) 1997-08-13 1998-07-01 差错定位多项式高速计算电路
US09/132,674 US6286123B1 (en) 1997-07-13 1998-08-12 Circuit for calculating error position polynomial at high speed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970038584A KR100260415B1 (ko) 1997-08-13 1997-08-13 고속시리얼에러위치다항식계산회로

Publications (2)

Publication Number Publication Date
KR19990016134A KR19990016134A (ko) 1999-03-05
KR100260415B1 true KR100260415B1 (ko) 2000-07-01

Family

ID=19517392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970038584A KR100260415B1 (ko) 1997-07-13 1997-08-13 고속시리얼에러위치다항식계산회로

Country Status (3)

Country Link
US (1) US6286123B1 (ko)
KR (1) KR100260415B1 (ko)
CN (1) CN1095122C (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020065788A (ko) * 2001-02-07 2002-08-14 삼성전자 주식회사 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법
US7124064B1 (en) 2001-03-30 2006-10-17 Cisco Technology, Inc. Automatic generation of hardware description language code for complex polynomial functions
US7003715B1 (en) * 2001-03-30 2006-02-21 Cisco Technology, Inc. Galois field multiply accumulator
US7447982B1 (en) 2001-03-30 2008-11-04 Cisco Technology, Inc. BCH forward error correction decoder
US6983414B1 (en) 2001-03-30 2006-01-03 Cisco Technology, Inc. Error insertion circuit for SONET forward error correction
US7051267B1 (en) 2002-04-08 2006-05-23 Marvell International Ltd. Efficient high-speed Reed-Solomon decoder
US7010739B1 (en) 2002-04-11 2006-03-07 Marvell International Ltd. Error evaluator for inversionless Berlekamp-Massey algorithm in Reed-Solomon decoders
US7693927B2 (en) * 2003-08-25 2010-04-06 Jennic Limited Data processing system and method
TWI273388B (en) * 2004-06-08 2007-02-11 Mediatek Inc Method and apparatus for processing multiple decomposed data for calculating key equation polynomials in decoding error correction code
US7607071B2 (en) * 2005-01-28 2009-10-20 Intel Corporation Error correction using iterating generation of data syndrome
JP4956230B2 (ja) * 2006-04-10 2012-06-20 株式会社東芝 メモリコントローラ
TWI326988B (en) * 2007-03-28 2010-07-01 Ind Tech Res Inst Rs decoder and ibma method and parallel-to-serial conversion method thereof
US8099655B1 (en) * 2007-12-20 2012-01-17 Pmc-Sierra Us, Inc. Galois field multiplier system and method
JP5259343B2 (ja) * 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
CN103580700B (zh) * 2012-08-03 2016-08-17 北京兆易创新科技股份有限公司 码字多项式的伴随式求解及ecc解码的电路和方法
CN105994581B (zh) * 2016-06-12 2019-07-30 江苏省农业科学院 一种提高南瓜中类胡萝卜素保留率的干燥加工方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04315332A (ja) * 1991-04-15 1992-11-06 Hitachi Ltd 誤り訂正装置
US5504758A (en) * 1992-04-28 1996-04-02 Mitsubishi Denki Kabushiki Kaisha Error-correcting apparatus
US5463642A (en) * 1993-06-29 1995-10-31 Mitsubishi Semiconductor America, Inc. Method and apparatus for determining error location
JPH088760A (ja) * 1994-06-16 1996-01-12 Toshiba Corp 誤り訂正装置
JPH10112659A (ja) * 1996-10-08 1998-04-28 Canon Inc 誤り訂正復号装置
GB2318954B (en) * 1996-10-29 2001-05-23 Daewoo Electronics Co Ltd Reed-solomon decoder for use in advanced television
US5983383A (en) * 1997-01-17 1999-11-09 Qualcom Incorporated Method and apparatus for transmitting and receiving concatenated code data

Also Published As

Publication number Publication date
CN1095122C (zh) 2002-11-27
CN1208192A (zh) 1999-02-17
KR19990016134A (ko) 1999-03-05
US6286123B1 (en) 2001-09-04

Similar Documents

Publication Publication Date Title
US4873688A (en) High-speed real-time Reed-Solomon decoder
KR100260415B1 (ko) 고속시리얼에러위치다항식계산회로
JP3970337B2 (ja) 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ
US5440570A (en) Real-time binary BCH decoder
JPH0831803B2 (ja) 誤り訂正のための方法と装置
US5535225A (en) Time domain algebraic encoder/decoder
US5805617A (en) Apparatus for computing error correction syndromes
EP0621698B1 (en) Error correction method including erasure correction, and apparatus therefore
US5818854A (en) Reed-solomon decoder
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
KR970004515B1 (ko) 리드-솔로몬 복호기의 오류위치다항식 연산방법 및 장치
US5878058A (en) Apparatus for determining an error locator polynomial for use in a reed-solomon decoder
US7353449B2 (en) Method of soft-decision decoding of Reed-Solomon codes
KR100258951B1 (ko) 리드-솔로몬(rs) 복호기와 그 복호방법
US6263471B1 (en) Method and apparatus for decoding an error correction code
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
KR20110046851A (ko) Bch 복호기를 위한 고속 소면적 파이프라인 폴딩 방식 벨르캄프-메시 알고리즘 연산 회로 및 그 방법
JP3343857B2 (ja) 復号装置、演算装置およびこれらの方法
JP3614978B2 (ja) ガロア体の除算方法および除算装置
US20070011592A1 (en) Decoder architecture for Reed Solomon codes
US7693927B2 (en) Data processing system and method
US6574771B1 (en) Galios field processor having dual parallel data path for Bose Chaudhuri Hocquenghem/Reed-Solomon decoder
JP3233502B2 (ja) 復号化装置
KR100247075B1 (ko) 리드솔로몬 디코더에 있어서 고속시리얼 에러타위치 다항식 계산회로
KR100335482B1 (ko) 에러정정시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120329

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20130328

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee