KR920000828B1 - 가로아체(Galois field)연산장치 - Google Patents

가로아체(Galois field)연산장치 Download PDF

Info

Publication number
KR920000828B1
KR920000828B1 KR1019870014116A KR870014116A KR920000828B1 KR 920000828 B1 KR920000828 B1 KR 920000828B1 KR 1019870014116 A KR1019870014116 A KR 1019870014116A KR 870014116 A KR870014116 A KR 870014116A KR 920000828 B1 KR920000828 B1 KR 920000828B1
Authority
KR
South Korea
Prior art keywords
coefficient
group
error position
multiplier
error
Prior art date
Application number
KR1019870014116A
Other languages
English (en)
Other versions
KR880008299A (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
Priority claimed from JP61294031A external-priority patent/JPH0828670B2/ja
Priority claimed from JP62151863A external-priority patent/JPH0834440B2/ja
Priority claimed from JP62151861A external-priority patent/JPH0834439B2/ja
Application filed by 마쯔시다덴기산교 가부시기가이샤, 다니이 아끼오 filed Critical 마쯔시다덴기산교 가부시기가이샤
Publication of KR880008299A publication Critical patent/KR880008299A/ko
Application granted granted Critical
Publication of KR920000828B1 publication Critical patent/KR920000828B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

내용 없음.

Description

가로아체(Galois field)연산장치
제1a도는 본 발명의 제1실시예를 설명하는 순서도.
제1b도는 본 발명의 제1실시예에 관한 가로아체연산장치의 구성을 나타내는 블록선도.
제2a도는 본 발명의 제2실시예를 설명하는 순서도.
제2b도는 본 발명의 제2실시예에 관한 가로아체연산장치의 구성을 나타내는 블록선도.
제3도는 종래예에 관한 가로아체연산장치의 구성을 나타내는 블록선도.
제4도는 종래예에 관한 가로아체승산회로의 구성을 나타내는 블록선도.
제5도는 본 발명의 제3실시예에 관한 가로아체연산장치의 구성을 나타내는 블록선도.
* 도면의 주요부분에 대한 부호의 설명
1, 2, 3, 4, 5, 6, 7, 8 : 가로아체의 고정계수승산기
9 : 논리곱회로 10 : 패리티제너레이터회로
11 : 0원소(zero element)판정회로 12, 13 : 파이프라인레지스터
14, 15, 36 : 스위치논리게이트회로
16, 17, 18, 19, 20, 21, 22, 23, 24 : 레지스터
25 : α8의 고정계수 승산기 26 : 논리스위치
38, 39 : NAND 회로
본 발명은, 광디스크상에 데이터를 기록하거나 재생하는데 사용하는 부호착오검사 및 정전장치의 가로아체(Galois field)연장치에 관한 것이다.
최근에, 광디스크를 사용한 데이터기록/재생장치의 개발을 집중적으로 하고 있다. 광디스크메모리는, 자기디스크에 비하여, 대용량의 데이터를 기록할 수 있지만, 광디스크메모리의 기록매체는 높은 원착오율(raw error rate)를 초래하는 결점을 가지고 있다.
상기와 같은 결점을 극복하기 위하여, 기록시에는 데이터에 착오검사정정부호(error correcting code)를 부가하여, 광디스크상에 데이터 및 착오검사정정부호를 모두 기록하고, 재생시에는 상기 착오검사정정부호를 사용하여 데이터의 착오를 검출하여 정정하는 방법이 일반적으로 사용된다. 이와같은 착오정정부호로서 최근 주목받고 있는 것은, 최소거리(Hamming distance : 비르수가 같은 2개의 부호에 관하여 2개의 비트를 비교하였을때 대응하는 자리의 부호가 일치하지 않는 것의 갯수)d=17정도를 가지는 리이드솔로몬부호(Reed-Solomon code)가 있다.
리이드솔로몬부호의 부호해독(decoding)은, 먼저 수신어(received word)로부터 신드롬(syndrome : 선형부호의 부호내에 착오가 있는 기호열에 패리티검사행렬의 전치(轉置)를 곱하여 얻은 결과)을 계산한 다음, 신드롬으로부터 착오위치다항식(error location polynomial)σ(X) 및 착오량다항식(error value polynomial)w(X)를 구하고, 마지막으로 각 다항식으로부터 착오위치와 착오량을 추정해서 정정을 실행하는 것이지만, 최소거리가 크므로 부호해독과정이 복잡하게 되어 부호해독을 하는데 장시간 걸리고, 또한, 하아드웨어시스템을 사용하여 부호해독을 하기 위해서는, 큰 회로가 필요하다.
신드롬의 계산은 부호해독속도에 대단한 영향을 주기 때문에 병렬연산하아드웨어가 사용되는 경우가 많으나, 특별히 고속성이 요구될 경우에는 순수한 하아드웨어 대신에 마이크로프로그래밍기법(microprogramming scheme)을 이용하여 처리할 수 있다.
이 경우에 있어서, 착오위치다항식과 착오량다항식을 도출하는 계산에는 발레캠프매시이(Berlekamp Massey)의 방법 혹은 유클리드(Euclid)의 호제법등의 알고리즘이 사용되고 있다. 착오위치다항식으로부터 착오위치를 구하기 위하여 모든 가능한 착오위치를 착오위치다항식에 대입하여 착오위치를 구하는 첸(Chien)의 알고리즘이 사용된다. 또한, 착오량은 착오위치다항식의 미분계산과 착오량다항식의 계산 및 나눗셈에 의해서 구해진다.
여기에서 첸이 알고리즘과 착오위치다항식의 미분계산과 착오량다항식의 계산은 각각 다항식의 값에 관련되어 있다. 다항식의 값의 계산을 어느 정도 고속으로 행하는 방법으로서 곱과 합의 반복적인 계산으로 감소시키는 호오너(Horner)의 방법이 종래에 사용되어 왔다(예를 들면, 미국특허 제4,142,174호(1979.2.27)의 “High Speed Decoding of Reed-Solmon Codes”에 기술하고 있다).
이하 도면을 참조하면서, 종래의 가로아체연산장치에 대해서 설명한다. 제3도, 제4도는 종래의 부호정정처리에 사용된 가로아체연산회로의 일부를 나타낸다. 제3도에 있어서 (11)은 0원소(zero element) 판정회로, (12, 13, 34)은 입력파이프라인레지스터, (28)은 메모리, (29)는 가로아체승산회로, (30)은 가로아체가산회로(배타적 논리합 연산회로), (31, 32)는 스위치논리게이트회로, (33)은 원시원소(primitive element)α의 거듭제곱발생회로(위치수 발생회로)이다. 이 연산은 CF(2r)상에서 행해진다.
먼저 수신어는 디인터리이브(deinterleave)한 후, 부호착오검출회로, 즉 신드롬계산회로에 입력된다. 구한 신드롬이 모두 0이 아닐 경우에는 착오가 있었다고 판정하고, 이 신드롬을, 착오개수를 추정계산하며 착오위치다항식의 계수를 산출하는 가로아체연산회로로 송출함으로써 그 결과를 근거로하여 착오위치를 계산한다.
메모리(28)에, 신드롬연산회로로부터(최소거리(d)-1)개의 신드롬이 공급된 후, 승산기(29), 가산기(30), 마이크로프로그램에 의한 제어논리회로(도시되지 않음), 역원소메모리(inversion element memory)(도시하지 않음)등에 의해서, 착오의 개수(t)와 (t+1)개의 착오위치다항식의 각 차수(次數)의 계수를 산출한 다음 저장된다.다음에, 동일한 가로아체연산회로를 사용하여 첸의 방법에 따라서 착오위치다항식의 근을 구한다.
간단하게 설명위기 의하여, 2개의 착오가 있었다고 하면 착오위치다항식
σ(X)=k2X2+k1X+k2=0
의 근을 구하기 위하여 스위치논리게이트회로(31)를 가로아첸가산회로(30)쪽으로 절환하고, 스위치논리게이트회로(32)를 위치수 발생회로(원시원소발생기)(33)쪽으로 설정하여 파이프라인레지스터 Rc(34) 및 Rb(13)에 계수 k2,k1,k0,k2,k1,k0등을 순차적으로 대입하고, 파이프라인레지스터 Ra(12)에 0,α00,0,α11,등을 순차적으로 대입한다. 이때 가산기(30)의 출력은, 파이프라인 작동이 완료된 후에,
k2+@*0,
k1+(k2)*α0,
k2+(k1+k20)*α0,
k2+@*0,
k1+(k2)*α1,
k0+(k1+k21)*α1,
로 나타난다.
즉, 3회마다 착오위치다항식의 근을 판정한다. 또한 상기 식은 각각 가로아체에서 실행되고, 연산자 +는 가산, *는 승산, @는 부정치(부정치 : undefined number : 정의를 내리지 않은 수)를 나타낸다. 제4도는 (29)의 승산회로의 내부구조를 나타낸다. 제4도에 있어서, (1, 2, 3, 4, 5, 6, 7, 8)은 가로아체의 고정계수를 승산하는 승산기, (9)는 파이프라인레지스터(12)의 각각 대응하는 비트가 0일때에 각 고정계수승산기로부터 나오는 출력에 0원소(zero element)를 승산하는 놀리곱회로로서 각 고정계수승산기로부터 나오는 출력의 각 비트마다 각각 배열되어 있다. 또한, (10)은 패리티제너레이터회로로서 승산결과로 얻은 모든 심볼의 2진벡터(binary vaector)표면의 차수마다 기우수판정을 행한다.
그러나, 상기와 같은 구성에서는, 착오발생의 개수가 증가함에 따라 착오위치다항식 및 착오량다항식의 차수가 커지므로 다항식의 값을 구하기 위한 곱과 함의 계산량이 증가하므로 부호해독시간이 길어지는 문제점을 가지고 있다.
예를들면, 부호길이(code length)(n)=130이고 착오개수(t)=8일 경우에, 착오위치다항식 σ(X)으로부터, 착오위치 X0…X7을 구하기 위하여 필요한 곱과 합의 계산을 하는 계산스텝을 검토한다.
첸의 알고리즘(Chien′s algorithm)에 따르면, 착오위치다항식에 가능한 착오위치를 순차적으로 대입해서 다항식의 값이 영이 되는 결과 값을 구한다. 착오의 개수가 (t)개일 경우 다항식 σ(X)는 t차의 다항식이 되고, 각각의 착오위치(Xi)를 착오위치다항식에 대입해서 식의 값을 계산하는데 (t+1)개의 스텝이 필요하고, 또한 최악조건하에서 부호길이분의 착오위치를 확인하는 것이 되므로, 전체에 대해서는
(t+1)·n=9x130=1170
개의 스텝이 필요하다.
마찬가지로, 착오위치에 대응하는 착오량(ei)은, 착오위치다항식을 σ′(X), 착오량다항식의 w(X)로 가정하면
ei-αiw(αi)·σ′(αi)-1
로 계산할 수 있다. 그러나, 다항식의 계산으로서 w(αi) 및 σ′(αi)를 계산하여야 하므로, 착오발생의 개수가 많아짐에 비례해서 곱과 합의 계산량이 증가하게 되는 것은 명백하다.
일반적으로 광디스크상에 데이터를 기록하거나 재생하는데 리이드솔로몬부호(Reed-Solomon code)를 사용할 경우에는, 실시간(realtime)내에 데이터를 전송하여야 하므로 부호해독시간이 제한된다. 따라서, 고성능을 가지는 부호를 실용적으로 사용하기 위해서는, 부호해독시간, 즉 부호해독을 하는데 필요한 계산의 양을 최소화하여야 한다. 또한, 하드웨어량도 실용적인 범위내에서 충분히 작게하여야 한다. 본 발명은 상기 목적을 달성하기 위해서 착오위치다항식의 근을 구하는 연산처리를 하기 위하여 승산기하드웨어를 분할사용 및 병렬처리를 하고 착오량을 구하기 위하여 미분처리 및 계산을 동시에 처리한다.
1심벌의 승수에 대해서 공통으로, α0에서부터 αr-1까지의 고정계수를 곱한 r개의 결과값을 먼저 구하고, 피승수심볼의 2진벡터(binary vector)의 r차성분이 0일 경우 r차 성분에 대응하는 고정승산기에 의한 승산결과값을 0으로 가정하여 상기와 같이 얻은 r개의 심볼에 대해서 베타논리합을 얻으므로서 가로아체 GF(2r)의 승산을 달성할 수 있다.
또한, 동일한 고정승산기회로를 사용하며, 착오위치다항식의 0차에서부터 t차까지의 계수값을 계산한 결과를 저장한 메모리로부터 나오는 출력을 고정승산기회로에 입력함으로서, 메모리로부터 나오는 출력에 α0에서부터 αt까지의 고정계수를 각각 곱하고, 승산결과를 차수마다 메모리로 귀환하면서 고정계수 승산기군으로부터 얻은 결과가 되는, (t)개인 심볼의 배타논리합을 계산하여 사용하므로서 1심볼에 대한 결과를 얻어서, 착오위치다항식에 착오위치를 대입한 계산결과를 얻을 수 있다. 착오위치의 개수는 귀환회수와 같다. 이때 피승수는 그 2진벡터가 모두 1이 되도록 레지스터에 설정하면 된다. 또한, 착오개수(t)가 (r-1)보다 클 경우에는, 착오위치다항식에 위치를 대입해서 계산한 각 차수에 연관되어 있는 중간결과값을 기억하는 기억소자군으로부터 출력된 심벌에 또 r차이상의 고정계수승산기군을 형성하면 된다.
또한, 상기 착오위치다항식에 착오위치를 대입한 계산결과가 0원소(element)일때에, 그 착오위치는 착오위치다항식의 해답이 된다. 여기에서 다음의 착오위치의 계산을 하기전에 착오위치다항식의 각 차성분이 구해져 있는 것을 이용해서 착오위치다항식을 미분한 다항식에 착오위치를 대입하므로서 다항식의 값을 구할 수 있다. 가로아체에서의 다항식의 미분에 있어서, 미분전의 우수차의 항의 계수는 미분후에 영이 되고, 미분전의 기수차의 항의 계수는 미분한 결과로서 1차 낮은 차의 항의 계수로 된다. 즉,
σ(X)=k8X8+k7X7+k5X5+k4X4+k3X3+k2X2+k1X1+k0
의 미분은,
σ′(X)=k7X6+k5X4+k3X2+k1
이라고 하는 관계이나, 이때
X·σ(X)=k7X7+k5X5+k3X3+k1X1
인 것을 이용해서 Xσ(X)를 동일하드웨어를 사용하여 용이하게 구할 수 있다.
즉, 착오위치다항식의 0차에서부터 t차까지에 대한 각 차수계수결과를 저장한 메모리로부터 나오는 출력에 α0에서부터 αt까지의 고정계수를 각각 곱한 결과에 대해서, 피승수로 하여 2진벡터가 하위에서부터 우수번째의 비트가 0이 되고, 하위에서부터 기수번째의 비트가 1로 되도록 심볼을 사용하면, 고정계수승산기군으로부터 나오는 출력중 α의 우수거듭제곱에 대응하는 비트성분이 0이 되고, α의 기구거듭제곱만 고정승수승산결과에 대해서 배타적논리합을 얻게 되어, 착오위치다항식을 미분함으로써 얻은 다항식에 착오위치를 대입한 결과 Xσ(X)를 특별한 계산을 하는 일없이 용이하게 구할 수 있다. 이와같이 해서 구한 미분한 다항식의 값은, 미분시에 다항식변수의 차수를 1차 내리는 계산이 들어있지 않기 때문에, 실제로 미분한 다항식의 값에 비해서 착오위치가 1차 나머지에 곱한 값이 구해지나, 이것은 착오량을 구하는 과정에서, 예를들면, 착오량에 착오위치를 1회 나머지에 곱하는 방법으로 구할 수 있다.
이하 본 발명의 일실시예의 가로아체연산장치에 대해서 도면을 참조하면서 설명한다. 제1도는 본 발명의 제1실시예의 블록선도를 나타낸 것이다.
제1b도에 있어서, (1, 2, 3, 4, 5, 6, 7, 8)은 가로아체의 고정계수승산기, (9)는 논리곱회로, (10)은 패리티제너레이터회로, (12)(13)은 파이프라인레지스터로 이상은 제4도와 동일하다. (11)은 0원소파정회로, (14, 15, 36)은 스위치논리게이트회로, (16, 17, 18)은 착오위치다항식의 계수입력값에 각 차수의 착오위치다항식의 위치수를 곱한 중간값을 기억하는 레지스터이다. (35)는 8비트고정심볼 발생회로로서 00000010의 이진정수(定數)를 발생한다. (37)은 파이프라인레지스터이다. 이들의 연산은 GF(28)상에서 행해지고, 제1실시예에서는 착오의 개수(t)는 2이하의 경우를 취급하고 있다.
이상과 같이 구성된 가로아채연산장치에 대해서, 이하 제1도를 사용하여 그 동작을 설명한다. 신드롬의 가로아체상에서의 승제산, 가산처리에 의해 착오개수와 착오위치다항식의 각차수의 계수값을 구할때, 승산은 소정의 1심볼승수입력에 대해서 공통으로, GF(2r)의 원시원소 α의 0에서부터 (r-1)의 거듭제곱, 즉 α0에서부터 αr-1까지의 r개의 고정계수를 곱하고, 또한 피승수심볼의 2진벡터의 각각에 대응하는 r차 비트가 0이면, 곱한 결과에 각각 0을 다시 곱한 다음, r개의 승산결과의 심볼에 대해서 배타논리합을 얻으므로서, 1심볼의 승산을 완료한다. 제1b도의 스위치논리게이트회로(15)를 입력파이프라인레지스터(13)쪽으로 절환할 경우 본 실시예의 가로아체연산장치는 제4도의 승산회로와 동일하게 작동한다. 제산, 가산은 본 실시예에서는 나타나지 않은 다른 블록의 기능을 포함해서 실행된다.
예를들면, 상기 제산은 역원소(inverse element) ROM과 본 실시예의 승산기를 조합해서 실현할 수 있다. 이후 착오위치다항식의 각 차수에 대해서 얻은 계수값을, 스위치논리게이트회로(14)를 귀환쪽이 아닌 입력쪽에 설정함으로써 레지스터(16, 17, 18)에 저장한다. 스위치논리게이트회로(15)는, 승산회로가 작동하는 동안 피승수심볼을 저장한 파이프라인레지스터(13)으로부터 나오는 출력과, α0에서부터 α2까지의 고정계수를 각각 곱하여 착오위치다항식의 각 차수의 착오위치다항식의 위치수를 대입하여 얻은 중간값의 귀환값을 저장하는 레지스터(16, 17, 18)로부터 나오는 출력사이를 절환한다. 스위치논리게이트회로(14)를 귀환쪽으로 접속해서, 부호길이(n)에 대응하는 스텝수만큼 귀환을 반복한다. 이때, 입력파이프라인레지스터(13)에 0원소를 입력하고, 입력파이프라인레지스터(12)의 모든 비트를 1로 설정하여 α3차 이상의 항이 영향받지 않게 한다. 이 처리는 병렬처리를 함으로써, 매우 고속으로 행하여져, 패리티제너레이터회로(10)로부터 출력되는 심볼의 0원소인지의 여부를 0원소판정회로(11)에 의해서 확인하므로서 근을 판정하고, 가로아체상의 지수식으로 (귀환회수+1)로 나타내는 착오위치를 구할 수 있다.
또한, 본 실시예에서는 0원소판정회로(11)는 고정계수승산기의 뒤에 위치하고 있으므로, 착오위치다항식의 근이 α0일 경우에는 0원소판정회로(11)에 의하여 근의 판정을 행할 수 없지만, 이 경우에는 착오위치다항식의 각 차의 계수에 대한 배타적 논리합이 0이 되는 조건은 근이 α0인 것과 같으므로, 예를들면, 레지스터(16, 17, 18)에 계수값을 저장하는 작동과 함께 배타논리합을 계산함으로써 α0의 근을 가진 것을 확인가능하다. 여기에서 귀환스텝하는 동안 0원소판정회로(11)에 의해서 착오위치다항식의 근이 구해졌을때, 다음의 귀환스텝으로 옮기기전에 스위치논리게이트(36)를 고정패턴발생기(35)쪽으로 절환한다. 귀환값 레지스터(16, 17, 18)에는 착오위치다항식에 착오위치를 대입한 식의 각 계수값이 저장되어 있으며 고정패턴발생기(36)는 00000010의 2진값으로 형성된 심볼을 발생하고 있으므로 패리티제너레이터회로(10)에는 α1차의 항만이 출력되고, 파이프라인레지스터(37)에는, 착오위치다항식을 미분한 다항식에 착오위치를 대입하여 얻은 식의 값을 저장한다. 나중에 착오량을 얻기 위하여 상기 식의 값을 계산에 사용함으로써, 착오위치의 계산시에 다항식의 계산량을 줄일 수 있다. 설명을 간단하게 하기 위하여 본예에서는 착오의 개수는 2개이하의 경우를 나타내고 있으나, 특히 착오발생의 갯수가 증가하여 착오위치다항식의 차수가 높아졌을때, 즉 종래의 방법으로는 계산시간이 많이 걸리는 경우만큼 계산량의 저감효과가 크다.
이상과 같이 본 실시예에서는 제4도의 승산회로에, α0에서부터, αr-1까지의 r개의 고정계수승산기에 의한 부분곱을 귀환하여 각 스텝마다 중간결과를 기억하는 레지스터를 배열하고, 또한 비트방향의 패리티와 관련된 출력심볼의 0원소가 되는 조건을 검출하는 논리회로와, 피승수 대신에 10고정심볼을 발생하는 논리회로와, 일반적인 승산 및 착오위치다항식의 근의 계산 및 착오위치다항식을 미분한 다항식의 값의 계산을 포함한 기능을 절환하는 논리회로를 부가하여 배열함으로써, 하드웨어자원(hardware resource)을 유효하게 이용함과 동시에 고속으로 작동시킬 수 있다. 또한, 본 발명의 제1실시예에 있어서 기억소자의 역할을 하는 레지스터(16, 17, 18)는 반드시 전용으로 할 필요는 없으며, 즉 착오위치다항식의 계수를 산출하는 과정에서 사용되는 메모리를 이용하여도 되며, 또한 착오위치다항식의 근을 구하는 과정에서 언제나 동일한 영역으로 귀환값을 유효화할 필요는 없다.
다음에 본 발명의 제2실시예에 대해서 도면을 참조하면서 설명한다. 제2도는 본 발명의 제2실시예에 관한 가로아체연산장치를 나타내는 블록선도이다. 제2도에 있어서, (1, 2, 3, 4, 5, 6, 7, 8)은 가로아체의 고정계수승산기, (9)는 논리곱회로, (10)은 패리티제너레이터회로, (12, 13)은 파이프라인레지스터로 이상은 제4도와 동일하다. (11)은 0원소판정회로, (14, 15, 36)은 스위치논리게이트회로, (16, 17, 18)은 착오위치다항식의 계수입력값에 각 차수의 착오위치다항식의 위치수를 곱한 중간값을 기억하는 레지스터로 이들은 제1도와 동일하다. 또한, (19, 20, 21, 22, 23, 24)는 착오위치다항식의 계수 입력값에 각 차수의 착오위치다항식의 위치수를 곱한 중간값을 기억하는 레지스터이며, (25)는 α8의 고정계수를 가지는 고정계수승산기이다. (26)은 L레벨 및 H레벨을 절환하는 논리스위치회로이고, (27)은 논리곱회로이다. (35)는 8비트고정심볼발생회로로서 10101010의 2진정수를 발생한다. (37)은 파이프라인레지스터이다. 이들의 연산은 GF(28)상에서 행해져, 제2실시예에서는 착오의 개수(t)는 8이하의 경우를 취급하므로, 기억소자의 수를 증가하고, 착오의 개수(t)가 (r)을 초과한 만큼, 고정계수승산기를 착오위치다항식의 r이상의 차수에 대한 계수에 대응하여 전용으로 부가하고 있다.
이상과 같이 구성된 가로아체연산장치에 대해서, 이하 제2도를 참조하면서 그 동작을 설명한다. 착오개수 및 착오위치다항식의 각 차수의 계수의 값을 구할때, 가로아체에서의 승산은 제1도 또는 제4도에 있어서의 경우와 동일하지만, α8의 승산기의 항의 영향을 제거하기 위해서 논리스위치회로(26)는 L레벨로 한다. 이때 논리곱회로(27)의 출력은 모두 L레벨로 되어 α8의 승산기(25)의 출력이 승산결과에 영향주기 않는다. 착오위치다항식의 계산은 제1도와 마찬가지로 달성할 수 있지만 착오의 개수에 따라서 착오위치다항식에 대해서 최대 8차의 항까지 초기설정된다. 또 착오의 개수가 7개이하일 경우에는, 사용하지 않는 차수에 대응하는 레지스터에 0원소를 초기설정함으로써 문제없이 착오위치다항식의 근의 계산 및 착오위치다항식의 미분한 값의 계산을 할 수 있다. 이와같이 하여 Chien의 방법에 의해서 착오위치가 확정된 후, 다시 승산회로를 사용하여 착오위치다항식을 미분한 식의 값을 구할 수 있다.
또한 통상의 가로아체 승산기로 작동시킬때에는 논리스위치(26) 대신에 레지스터(24)에 0원소를 대입할 수 있다.
또한 상기 방법에 따라서, 착오위치(α0)는 귀환회수로서 구할 수 없으므로, 착오위치방정식의 계수를 전부 배타적논리합으로 가산하여 결과가 0인가를 검사하여 α0의 착오위치수를 판정한다.
다음에 본 발명에 제3실시예에 대해서 도면을 참조하면서 설명한다.
제5도는 본 발명의 제3실시예에 관한 가로아체연산장치를 나타내는 블록선도이다. 제5도에 있어서 (2, 3, 4, 5, 6, 7, 8)은 가로아체의 고정계수승산기, (10)은 패리티제너레이터회로, (11)은 0원소판정회로, (12, 13)은 파이프라인레지스터, (36)은 스위치논리게이트회로, (16, 17, 18, 19, 20, 21, 22, 23), (24)는 착오위치다항식의 계수입력값에 각 차수에 대응하는 착오위치다항식의 위치수를 곱한 중간값을 기억하는 레지스터, (25)는 α8의 고정계수를 가지는 고정계수승산기, (35)는 8비트고정심볼 발생회로로서 10101010의 2진정수를 발생한다. (37)은 파이프라인레지스터이다. 이상은 제2실시예와 동일하다. (38, 39)는 NAND회로이다. 이들의 연산은 GF(28)상에서 행해져, 제3실시예에서는 착오의 개수(t)는 8이하의 경우를 취급한다.
본 실시예에서는, 파이프라인레지스터(16)…(24)에 다항식의 계수값을 설정하기 위해서는, 파이프라인레지스터(13), NAND회로(38), 승산기(2)…(8, 25), NAND회로(39)의 순서로 귀환루우프를 경유하는 방법을 사용한다. 이 방법을 사용하므로서 파이프라인레지스터(16)…(24), 및 승산기(2)…(8)의 앞에 위치하고 있는 스위치(8)를 생략할 수 있다.
LSI(특히 게이트어레이) 내부에서는 논리스위치회로보다 NAND 회로쪽이 셀면적이 작으므로 본 실시예는 보다 집적도가 높은 회로구성으로 할 수 있다.
통상이 가로아체승산기로하여 작동시키기 위해서는, 다음과 같은 초기화작업을 하여야 한다.
1) 파이프라인레지스터(12)를 클리어한다. 결과적으로, NAND회로(39)의 출력은 모두 H레벨로 설정된다.
2) 파이프라인레지스터(16)…(24)에 클록을 입력해서 파이프라인레지스터(16)…(24)의 출력을 모두 H레벨로 설정한다.
3) 파이프라인레지스터(12)에 승수를 설정하고, (13)에 피승수를 설정한다.
4) 파이프라인레지스터(37)에 승산결과에 얻는다.
또한 상기 방법에서는, 착오위치(α0) 및 (α1)은 귀환회수로서 구할 수 없으므로, 다른 방법으로 착오위치를 판정하여야 한다. 예를들면 착오위치(α1)를 다음과 같이 판정한다. 즉, 승산기를 경유하는 귀환루우프를 통해서 기억소자에 착오위치다항식의 계수를 저장할때에, 제2의 1심볼 입력을 스위치논리게이트(36)를 통하여 입력하고, 각 차수에 대응하는 비트만을 1로하고, 각 차수에 관계되는 승산기로부터 나오는 출력결과를 가산하여 얻은 결과가 0인지 아닌지를 비교하는 방법이 있다.
지금 착오위치방정식의 다음과 같다고 가정한다.
σ(X)=k2X2+k1X+k0
이때 파이프라인레지스터(12) 및 귀환회로를 통해서 다음과 같은 순서로 계수값을 저장한다.
1) 레지스터(16)에 계수(k0)를 저장한다.
이때 셀렉터(36)를 통하여 심볼(α0)을 공급하면 승산기의 출력은 k2된다.
2) 레지스터(17)에 계수(k1)을 저장한다.
이때 셀렉터(36)를 통하여 심볼 α1을 공급하면 승산기의 출력은 k1α1이 된다.
3) 레지스터(18)에 계수 k2를 저장한다.
이때 셀렉터(36)를 통하여 심볼 α2를 공급하면 승산기의 출력은 k1α2가 된다.
따라서 1),2),3)의 승산기 출력결과를 가산하면 k1α2+k1α1+k0로 되어 σ(α1)의 계산결과가 얻어진다. 착오위치방정식이 8차일때에는 스위치(26)는 당연히 절환되어야 한다.
이상 설명한 바와 같이 본 발명에 의하면, 부호착오검사 및 정정장치의 가로아체연산장치를 구성하는 승산기의 많은 부분을 착오위치다항식의 미분식의 값을 구하는 계산에 사용할 수 있고, 또한 이 계산을 용이하게 고속으로 행할 수 있다. 특히 착오발생의 개수가 증가하여 착오위치다항식의 차수가 높아졌을때, 즉 종래의 방법으로는 계산시간이 많이 걸리는 경우만큼 계산량이 저감효과가 크다.
상술한 바와같이 하드웨어자원에 공동으로 분담시킴으로써, 최소화한 하드웨어를 사용하여 고속으로 부호를 해독할 수 있으므로 고속으로 고기능이 요구되는 광디스크로서, 높은 원착오율을 가지는 기록매체의 부호해독을 실용적으로 실행할 수 있기 때문에 그 효과는 대단하다.

Claims (12)

  1. 부호어가 가로아체 GF(2r)의 원소로 구성되는 리이드솔로몬드부호(Reed-Solomon code)의 최고 t차를 가지는 착오위치다항식의 각 차수의 계수값을 기억하며, 착오위치다항식에 위치수를 대입하여 계산한 각 차수에 대해서 (t+1) 심볼이상의 중간계산결과를 기억하는 기억소자군(16, 17)…,(24)과, 상기 기억소자에 상기 계수값을 저장하는 수단(14)과, 제1의 임의의 1심볼입력에 대해서 공통으로, 상기 가로아체 GF(2r)의 원시원소 α을 영에서부터 (r-1)거듭제곱, 즉 α0에서부터 αr-1까지의 r개의 고정계수를 곱하거나 상기 r개이내인 (t+1)심볼의 기억소자군에 저장된 값에 대해서, α0에서부터 αt까지의 고정계수를 곱하는 r개의 승산기군(1, 2),…,(8)과, 제2의 임의의 1심볼입력이 이진표현으로 하위 0번째 비트로부터 (r-1)번째 비트까지의 범위에 대응하여 상기 α0에서부터 αr-1까지의 r개의 고정계수를 상기 가로아체 GF(2r)상의 0원소의 고정계수로 절환하는 수단(36)과, 상기 제1의 임의의 심볼과 상기 기억소자군(16, 17),…(24)의 출력값을 입력으로서 절환하여 선택된 결과를 상기 승산기군(1, 2)…,(8)의 입력에 공급하는 수단(15)과, 상기 승산기군으로부터 나오는 결과로서 얻어진 r개의 심볼의 2진벡터의 각 성분에 대해서 배타논리합을 얻으므로써 1심볼의 결과를 얻는 r개의 기우수판정기군(10)과, 상기 기우수판정기군으로부터 출력된 심볼의 0원소인지를 검출하는 수단(11)과, 상기 승산기군(1, 2),…(8)으로부터 생성된 (t+1)심볼의 출력을 상기 기억소자군에 귀환하여 저장하는 수단(14)을 구비한 가로아체연산장치.
  2. 제1항에 있어서, r차이상을 가지는 착오위치다항식의 각 차수의 계수값을 기억하며, 착오위치다항식에 착오위치수를 대입하여 계산한 각 차수에 대해서 중간계산결과를 기억하는 기억소자군과, 상기 r차이상의 착오위치수에 대응하는 기억소자군의 출력에 αr이상의 고정계수승산기군과, 상기 αr이상의 고정계수승산기군의 고정계수를 0원소로 절환하는 수단을 형성하여, 상기 α0에서부터 αr-1까지의 계수를 가지는 고정승산기군으로부터 구한 결과로서 얻어지며, 또한 상기 αr이상의 고정승수승산기군으로부터 구한 결과로서 얻어지는 (r+1)개 이상인 (t+1)개의 심볼의 2진벡터 각 성분에 대해서 배타논리합을 얻으므로써 1심볼의 결과를 얻는 r개의 기우수판정기군(10)을 착설하여 상기 기우수판정기군의 입력에 상기 αr이상의 고정계수승산기군의 r번째에서부터 시작하여 우수번째의 고정계수승산기출력이 0원소를 출력시키는 수단(36)을 구비한 것을 특징으로 하는 가로아체연산장치.
  3. 제1항 또는 제2항에 있어서, GF(2r)의 하위 0번째 비트에서부터 시작하여 우수번째의 비트가 0이 되며, 기수번째의 비트가 1이 되는 심볼을 발생하는 고정계수발생회로(35)와, 상기 제2의 1심볼입력을, 상기 고정계수발생회로로부터 출력하는 고정계수로 절환하는 수단(36)을 구비한 것을 특징으로 하는 가로아체연산장치.
  4. 제1항에 있어서, 가로아체의 승산을 행할 경우에는 상기 제1의 임의의 1심볼입력에 α0에서부터 αr-1까지의 고정계수를 곱하고 또한 제2의 임의의 1심볼입력의 2진표현으로 0번째 비트에서부터 r-1번째 비트의 범위에 있는 비트에 대응하여 각 비트가 0이면 상기 α0에서부터 αr-1까지의 r개의 고정계수를 상기 가로아체 GF(2r)상의 0원소의 고정계수로 절환하여 승산결과를 상기 기우수판정기군(10)으로부터 출력된 심볼로 얻고, 착오위치의 개수 및 착오위치다항식의 미분값을 구할 경우에는, 상기 고정계수승산기의 αt에 대응하는 상기 기억소자군(Rt)에, 착오위치다항식의 제t차의 계수를 각각 저장한 후, 상기 제2의 1심볼입력으로서 적어도 하위에서부터 t비트째까지의 범위에 있는 비트에 1을 부여하고, 또한, 상기 승산기 (αt)의 각 입력으로서 대응하는 상기 기억소자를 각각 선택함으로써 상기 승산기(αt)에 의한 (t+1)심볼의 승산결과를 각각의 상기 기억소자(Rt)에 귀환하고, 상기의 기우수판정기군(10)의 출력이 0원소로 되었을때 귀환을 일단 정지하여 귀환회수를 계측하여 착오위치수를 얻는 것을 특징으로 하는 가로아체연산장치.
  5. 제2항에 있어서, 가로아체의 승산을 행할 경우에는 상기 제1의 임의의 1심볼입력에 α0에서부터 αr-1까지의 r개의 고정계수를 곱하고, 또한 제2의 임의의 1심볼입력의 2진표현으로 하위 0번째 비트에서부터 (r-1)번째 비트의 범위에 있는 비트에 대응하여 각 비트가 0이면 이에 대응하는 α0에서부터 αr-1까지의 r개의 상기 고정계수승산기군의 고정계수를 상기 가로아체 GF(2r)상의 0원소의 고정계수로 절환함과 동시에, 상기 기우수판정기군(10)의 입력에 상기 αr이상의 고정계수승산기군의 출력이 0원소를 공급시키는 수단(36)을 사용하여 승산결과를 상기 기우수판정기군(10)의 출력으로 얻고, r차 이상의 착오위치수를 구할 경우에는 상기 제2의 1심볼입력으로서 각 비트에 1을 부여함과 동시에, 상기 기우수판정기군(10)의 입력에 상기 αr이상의 고정계수승산기군의 출력이 입력되게 하고, 착오위치다항식의 미분값을 구할 경우에는 제2의 임의의 1심볼입력으로서 상기 고정계수발생회로(35)의 출력을 부여함과 동시에, 상기 αr이상의 고정계수승산기군의 r번째에서부터 시작하여 우수번째의 고정계수승산기 출력이 0원소를 출력하여 상기 기우수판정기군(10)의 입력에 공급하게 하여 동일한 순서의 조작을 행하는 것인 가로아체연산장치.
  6. 제3항에 있어서, 가로아체의 승산을 행할 경우에는 상기 제1의 임의의 1심볼입력에 α0에서부터 αr-1까지의 r개의 고정계수를 곱하고, 또한 제2의 임의의 1심볼입력의 2진표현으로 0번째 비트에서부터 r-1번째 비트의 범위에 있는 비트에 대응하여 각 비트가 0이면 상기 α0에서부터 αr-1까지의 r개의 고정계수를 상기 가로아체 GF(2r)상의 0원소의 고정계수로 절환하여 승산결과를 상기 기우수판정기군(10)으로부터 출력된 심볼로 얻고, 착오위치의 개수 및 착오위치다항식의 미분값을 구할 경우에는 상기 고정계수승산기의 αt에 적어도 하위에서부터 t비트째까지의 범위에 있는 비트에 1을 부여하고, 또한 상기 승산기의 입력으로서 적어도 하위에서부터 t비트째까지의 범위에 있는 비트에 1을 부여하고, 또한 상기 승산기의 각 입력으로서 대응하는 상기 기억소자군(Rt)에, 착오위치다항식의 제t차의 계수를 각각 저장한 후, 상기 제2의 1심볼입력으로서 대응하는 상기 기억소자(Rt)를 각각 선택함으로써 상기 승산기에 의한 (t+1)심볼의 승산결과를 각각의 상기 기억소자로 귀환하고, 상기 기우수판정기군(10)의 출력이 0원소로 되었을때 귀환을 일단 정지하여 귀환회수를 계측하여 착오위치값을 얻은 후, 또 상기 제2의 1심볼입력으로서 상기 고정계수발생회로(35)로부터 나오는 출력을 부여함으로서 상기 기우수판정기군(10)으로부터 나오는 출력에 착오위치다항식의 미분연산결과를 얻은 후, 다시 귀환을 계속하여 귀환회수가(부호길이 -1)회에 이르기가지 상기의 조작을 반복하는 것을 특징으로 하는 가오아체연산장치.
  7. 부호어가 가로아체 GF(2r)의 원소로 구성되는 리이드솔로몬부호의 최고 t차를 가지는 착오위치다항식의 각 차수의 계수값을 기억하며, 착오위치다항식에 위치값을 대입하여 계산한 각 차수에 대해서, (t+1) 심볼의 중간계산결과를 기억하는 기억소자군(16, 17)…(24)과, 상기 기억소자에 상기 계수값을 저장하는 수단(14)과, (t+1)심볼의 기억소자군의 각 출력에 대해서 α0에서부터 αt까지의 고정계수를 곱하는 r개의 승산기군(1, 2),…(8, 25)과, 착오위치다항식의 우수차의 계수의 대응하는 상기 승산기의 계수를 상기 가로아체 GF(2r)상의 0원소의 고정계수로 절환하는 수단(36)과, 상기 승산기군으로부터 나오는 결과로서 얻어진 (t+1)개의 심볼의 2진벡터의 각 성분에 대해서 배타논리합을 얻으므로써 1심볼의 결과를 얻는 r개의 기우수판정기군(10)과, 상기 기우수판정기군으로부터 출력된 심볼의 0원소인지를 검출하는 수단(11)과, 상기 승산기군으로부터 생성된 (t+1)심볼의 출력을 상기 기억소자군으로 귀환하여 저장하는 수단(14)을 구비한 가로아체연산장치.
  8. 제7항에 있어서, α0의 착오위치수를 가진 리이드솔로몬부호를 사용할때에는, 상기 기억소자(16, 17),…(24)에 착오위치다항식의 계수를 귀환루우프를 통해서 귀환하여 저장함으로써 착오위치수를 얻는 동시에, 착오위치다항식의 계수를 모두 가산하여 가산한 결과가 0인지를 검사하여 α0의 착오위치수를 판정하고, α0의 위치에 착오가 있었을 경우에는 착오위치다항식의 기수차의 계수를 가산하여 미분연산결과를 얻는 수단(35, 36, 9)를 가진 가로아체연산장치.
  9. 제7항에 있어서, 상기 제1의 임의의 심볼과 상기 기억소자군(16, 17),…(24)을 절환하는 수단(15)을 배열하는 대신에, 상기 제1의 심볼과 상기 기억소자군에 대응하는 출력의 논리합을 얻는 논리합회로(38)를 배열하고, 가로아체승산시에는 상기 기억소자에 0을 입력하고, 귀환루우프를 절단하지 않고 상기 기억소자에는 새로운 승산결과를, 클록을 입력하지 않게 하여, 0으로 그대로 유지하고, 착오위치수를 구할때에는, 승산기를 경유하여 귀환루우프를 통해서 상기 기억소자에 클록을 부여하여 착오위치다항식의 계수를 저정하고, 상기 제1의 임의의 심볼로서 0을 입력하여 귀환함으로서 착오위치를 구하는 것을 특징으로 하는 가로아체연산장치.
  10. 제7항 내지 제9항중 어느 한 항에 있어서, α1의 착오위치수를 가진 리이드솔로몬부호를 사용할때에는, 상기 기억소자(16, 17)…(24)에 착오위치다항식의 계수를 귀환루우프를 통해서 귀환하여 저장함으로써 착오위치수를 얻는 동시에, 승산기(1, 2),…(8, 25)를 경유하여 구환루우프를 통해서 상기 기억소자에 착오위치다항식의 계수를 저장할때에 상기 제2의 1심볼입력으로서 각 차수에 대응하는 비트만을 1로 설정하여, 각차수의 승산기로부터 출력한 결과를 가산하여 얻은 결과가 0인지를 검사하여 α1의 착오위치수를 판정하고, α1의 위치에 착오가 있었을 경우에는 상기 기억소자의 기수차의 내용을 클리어한 후, 다시 승산기(1, 2),…(8, 25)를 경유하여 귀환루우프에 통해서 상기 기억소자(16, 17)…(24)에 착오위치다항식의 기수차의 계수를 저장하여 상기 제2의 1심볼입력으로서 기수차의 각 차수에 대응하는 비트만을 1로 설정하여 각 차수의 승산기로부터 출력한 결과를 가산하여 α1을 대입한 착오위치다항식의 미분연산결과를 계산하는 수단(35, 36, 39)을 가진 가로아체연산장치.
  11. 제5항 또는 제6항에 있어서, α0의 착오위치수를 가진 리이드솔로몬부호를 사용할때에는, 상기 기억소자(16, 17),…(24)에 착오위치다항식의 계수를 귀환루우프를 통해서 귀환하여 저장함으로써 착오위치수를 얻는 동시에, 착오위치다항식의 계수를 모두 가산하여 가산한 결과가 0인지를 검사하여 α0의 착오위치수를 판정하고, α0의 위치에 착오가 있었을 경우에는 착오위치다항식의 기수차의 계수를 가산하여 미분연산결과를 얻는 수단(35, 36, 9)을 가진 가로아체연산장치.
  12. 제4항 내지 제6항중 어느 한 항에 있어서, 상기 제1의 임의의 심볼과 상기 기억소자군(16, 17),…(24)을 절환하는 수단(15)을 배열하는 대신에, 상기 제1의 심볼과 상기 기억소자군에 대응하는 출력의 논리합을 얻는 논리합회로(38)를 배열하고, 가로아체연산시에는 상기 기억소자에 0을 입력하고, 귀환로우프를 절단하지 않고 상기 기억소자에는 새로운 승산결과를, 클록을 입력하지 않게하여, 0으로 그대로 유지하고, 착오위치수를 구할때에는, 승산기를 경유하여 귀환루우프를 통해서 상기 기억소자에 클록을 부여하여 착오위치다항식의 계수를 저장하고, 상기 제1의 임의의 심볼로서 0을 입력하여 귀환함으로써 착오위치를 구하는 것을 특징으로 하는 가로아체연산장치.
KR1019870014116A 1986-12-10 1987-12-10 가로아체(Galois field)연산장치 KR920000828B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP61294031A JPH0828670B2 (ja) 1986-12-10 1986-12-10 ガロア体演算装置
JP61-294031 1986-12-10
JP62151863A JPH0834440B2 (ja) 1987-06-18 1987-06-18 ガロア体演算方法
JP62151861A JPH0834439B2 (ja) 1987-06-18 1987-06-18 ガロア体演算装置
JP62-151863 1987-06-18
JP62-151861 1987-06-18

Publications (2)

Publication Number Publication Date
KR880008299A KR880008299A (ko) 1988-08-30
KR920000828B1 true KR920000828B1 (ko) 1992-01-30

Family

ID=27320177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870014116A KR920000828B1 (ko) 1986-12-10 1987-12-10 가로아체(Galois field)연산장치

Country Status (5)

Country Link
US (1) US4875211A (ko)
EP (1) EP0271082B1 (ko)
KR (1) KR920000828B1 (ko)
CA (1) CA1276043C (ko)
DE (1) DE3784459T2 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3852999T2 (de) * 1987-06-30 1995-06-14 Matsushita Electric Ind Co Ltd Galois-feld-recheneinheit.
EP0431629A3 (en) * 1989-12-08 1993-07-21 Sony Corporation Mutual division circuit
US5107506A (en) * 1990-01-25 1992-04-21 Digital Equipment Corporation Error trapping decoding method and apparatus
KR940001147B1 (ko) * 1991-03-20 1994-02-14 삼성전자 주식회사 부분체 GF(2^m/2)을 이용한 GF(2^m)상의 연산방법 및 장치
US5446745A (en) * 1992-10-05 1995-08-29 Mitsubishi Semiconductor America, Inc. Apparatus for correcting errors in optical disks
KR950002304B1 (ko) * 1992-10-07 1995-03-16 삼성전자주식회사 다중 오류정정 방법
US5463642A (en) * 1993-06-29 1995-10-31 Mitsubishi Semiconductor America, Inc. Method and apparatus for determining error location
FR2743909B1 (fr) * 1996-01-24 1998-04-10 Matra Communication Circuit multiplieur sur un corps de galois et applications d'un tel circuit dans un decodeur correcteur d'erreurs
US5751732A (en) * 1996-02-28 1998-05-12 Daewoo Electronics Co., Ltd. Polynomial evaluator for use in a reed-solomon decoder
US5768168A (en) * 1996-05-30 1998-06-16 Lg Semicon Co., Ltd. Universal galois field multiplier
JP3850511B2 (ja) * 1997-05-07 2006-11-29 日本テキサス・インスツルメンツ株式会社 リードソロモン復号装置
US6252958B1 (en) * 1997-09-22 2001-06-26 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
US6510228B2 (en) * 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
US6490357B1 (en) 1998-08-28 2002-12-03 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
US6560338B1 (en) 1998-08-28 2003-05-06 Qualcomm Incorporated Limiting delays associated with the generation of encryption stream ciphers
US6175941B1 (en) * 1998-12-08 2001-01-16 Lsi Logic Corporation Error correction apparatus and associated method utilizing parellel processing
US7458007B2 (en) * 2000-02-18 2008-11-25 Texas Instruments Incorporated Error correction structures and methods
US6671850B1 (en) 2000-05-01 2003-12-30 International Business Machines Corporation On-the-fly algebraic error correction system and method for reducing error location search
JP2002057586A (ja) * 2000-08-11 2002-02-22 Alps Electric Co Ltd 演算処理装置
US6792569B2 (en) 2001-04-24 2004-09-14 International Business Machines Corporation Root solver and associated method for solving finite field polynomial equations
US6920600B2 (en) * 2002-01-23 2005-07-19 Thomson Licensing S.A. Dual chien search blocks in an error-correcting decoder
US7020826B2 (en) * 2002-01-23 2006-03-28 Thomson Licensing Intra-decoder component block messaging
US7724898B2 (en) * 2002-10-17 2010-05-25 Telefonaktiebolaget L M Ericsson (Publ) Cryptography using finite fields of odd characteristic on binary hardware
US7197527B2 (en) * 2002-10-17 2007-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Efficient arithmetic in finite fields of odd characteristic on binary hardware
FR2853424B1 (fr) * 2003-04-04 2005-10-21 Atmel Corp Architecture de multiplicateurs polynomial et naturel combines
US20080240168A1 (en) * 2007-03-31 2008-10-02 Hoffman Jeffrey D Processing wireless and broadband signals using resource sharing
KR100875928B1 (ko) * 2007-05-09 2008-12-26 한국전자통신연구원 고속 리드-솔로몬 복호기의 수정 유클리드 알고리즘 연산회로 및 그 방법
KR101678917B1 (ko) * 2010-09-16 2016-11-24 삼성전자주식회사 디코더, 이의 동작방법, 및 이를 포함하는 장치들
US8875001B1 (en) * 2011-09-08 2014-10-28 Xilinx, Inc. Circuitry for parallel decoding of data blocks

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes
US4567594A (en) * 1983-06-07 1986-01-28 Burroughs Corporation Reed-Solomon error detecting and correcting system employing pipelined processors
US4584686A (en) * 1983-12-22 1986-04-22 Optical Storage International Reed-Solomon error correction apparatus
US4665523A (en) * 1984-02-15 1987-05-12 Stanford University Method and means for error detection and correction in high speed data transmission codes
JPS6162234A (ja) * 1984-09-04 1986-03-31 Kokusai Denshin Denwa Co Ltd <Kdd> 誤り訂正符号復号方式
JPH0728227B2 (ja) * 1985-06-07 1995-03-29 ソニー株式会社 Bch符号の復号装置
US4763332A (en) * 1987-03-02 1988-08-09 Data Systems Technology Corp. Shared circuitry for the encoding and syndrome generation functions of a Reed-Solomon code

Also Published As

Publication number Publication date
US4875211A (en) 1989-10-17
KR880008299A (ko) 1988-08-30
DE3784459T2 (de) 1993-08-26
EP0271082B1 (en) 1993-03-03
DE3784459D1 (de) 1993-04-08
EP0271082A2 (en) 1988-06-15
CA1276043C (en) 1990-11-06
EP0271082A3 (en) 1990-05-23

Similar Documents

Publication Publication Date Title
KR920000828B1 (ko) 가로아체(Galois field)연산장치
US4486882A (en) System for transmitting binary data via a plurality of channels by means of a convolutional code
US4852098A (en) Polynomial operator in galois fields and a digital signal processor comprising an operator of this type
US5715262A (en) Errors and erasures correcting reed-solomon decoder
US5754563A (en) Byte-parallel system for implementing reed-solomon error-correcting codes
US5440570A (en) Real-time binary BCH decoder
US4504948A (en) Syndrome processing unit for multibyte error correcting systems
US6029186A (en) High speed calculation of cyclical redundancy check sums
Kіtter On algebraic decoding of algebraic-geometric and cyclic codes
US8635513B1 (en) Architecture and control of Reed-Solomon list decoding
US5107503A (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit
CA1199410A (en) On-the-fly multibyte error correcting system
US5185711A (en) Apparatus for dividing elements of a finite galois field and decoding error correction codes
US4473902A (en) Error correcting code processing system
US5367478A (en) Mutual division circuit
US5778009A (en) Dedicated ALU architecture for 10-bit Reed-Solomon error correction module
JP2005218098A (ja) 順方向のチェンサーチ方式のリードソロモンデコーダ回路
WO2000057561A1 (en) Pipelined high speed reed-solomon error/erasure decoder
US5905740A (en) Apparatus and method for error correction
EP0621698A2 (en) Error correction method including erasure correction, and apparatus therefore
KR20060125837A (ko) 데이터를 인코딩하기 위한 방법 및 장치
US9191029B2 (en) Additional error correction apparatus and method
EP0329775B1 (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit and method
US4298981A (en) Decoding shortened cyclic block codes
US5787100A (en) Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder

Legal Events

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

Payment date: 20070125

Year of fee payment: 16

EXPY Expiration of term