KR102352158B1 - 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic - Google Patents

리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic Download PDF

Info

Publication number
KR102352158B1
KR102352158B1 KR1020170072228A KR20170072228A KR102352158B1 KR 102352158 B1 KR102352158 B1 KR 102352158B1 KR 1020170072228 A KR1020170072228 A KR 1020170072228A KR 20170072228 A KR20170072228 A KR 20170072228A KR 102352158 B1 KR102352158 B1 KR 102352158B1
Authority
KR
South Korea
Prior art keywords
module
polynomial
basis
algorithm
groebner
Prior art date
Application number
KR1020170072228A
Other languages
English (en)
Other versions
KR20180085651A (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 삼성전자주식회사
Publication of KR20180085651A publication Critical patent/KR20180085651A/ko
Application granted granted Critical
Publication of KR102352158B1 publication Critical patent/KR102352158B1/ko

Links

Images

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/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/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/152Bose-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/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

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

Abstract

본 발명에 따른 이진 BCH 코드들의 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위해 집적 회로에 의해 실행 가능한 명령 프로그램을 유형적으로 인코딩하는 ASIC에 있어서, 상기 방법은, 통신 채널로부터 상기 ASIC에 의해 수신된 BCH 코드 워드의 경판정 디코딩이 실패할 때, 수정된 키 방정식의 솔루션 모듈에 대한 그뢰브너 기저를 찾기 위해 신드롬 기반 경판정 알고리즘의 출력들을 사용하는 단계와, 상기 ASIC은 특정 약한-비트 위치들의 역들에서 상기 그뢰브너 기저로부터 획득된 다항식들을 평가하는 단계와, 상기 ASIC은 플립된 약한-비트 위치들의 집합
Figure 112017054843871-pat00510
에 대한 그뢰브너 기저를
Figure 112017054843871-pat00511
에 대한 그뢰브너 기저로 변환하는 단계를 포함하고,
Figure 112017054843871-pat00512
은 다음 약한-비트 위치이고, r은 오류들의 수와 BCH 코드 워드의 경판정 보정 반경의 차이이다.

Description

리스트 디코딩 생성을 통한 이진 BCH 코드들의 BM-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 ASIC{APPLICATION-SPECIFIC INTEGRATED CIRCUIT TO PERFORM A METHOD FOR FAST POLYNOMIAL UPDATES IN BM-BASED FAST CHASE DECODING OF BINARY BCH CODES THROUGH DEGENERATE LIST DECODING}
본 발명의 개념에 따른 실시 예는 오류 정정 코드들(error correcting codes(ECC))을 생성하는 방법에 관한 것이다.
코딩 이론에서, BCH 코드들(bose-chaudhuri-hocquenghem(BCH) codes)은 유한체들을 사용하여 구성된 순환 오류 정정 코드들(cyclic error-correcting codes (ECCs))의 클래스를 형성한다. BCH 코드들은 발명가 Raj Bose, D. K. Ray-Chaudhuri 와 Alexis Hocquenghem의 이름을 따서 명명되었다. BCH 코드들은 다음과 같이 정의할 수 있다. 보정 반경(correction radius) t에 대하여, 길이가
Figure 112017054843871-pat00001
이고 설계된(designed) 거리가
Figure 112017054843871-pat00002
인 원시 이진 (primitive binary) BCH 코드는 길이가
Figure 112017054843871-pat00003
이고, 근들(roots)이
Figure 112017054843871-pat00004
와 이들의 켤레들(conjugates)인 순환 이진 코드(cyclic binary code)로서 정의되고, 여기서 α는
Figure 112017054843871-pat00005
의 몇가지 원시 요소(primitive element)이다. BCH 코드들은 코드 설계 중에 코드로 정정할 수 있는 기호(symbol) 오류들의 수를 정밀하게 제어할 수 있다. 특히, 다중(multiple) 비트 오류들을 정정할 수 있는 이진(binary) BCH 코드들을 설계하는 것이 가능하다. BCH 코드들은 또한 신드롬 디코딩(syndrome decoding)으로 알려진 대수적(algebraic) 방법을 이용하여 쉽게 디코딩될 수 있다. 이는 소면적 저전력 전자 하드웨어를 이용하여 이러한 코드들에 대한 디코더 설계를 단순화할 수 있다.
수신된 코드 워드(codeword) y = x + e (x는 송신된 코드 워드, e는 에러 패턴)의 신드롬은 패리티 행렬(parity matrix) H의 관점에서 정의된다. 선형(linear) 코드 C의 패리티 검사 행렬(parity check matrix)은 이중 코드(dual code)
Figure 112017054843871-pat00006
의 생성 행렬(generator matrix)이다. 이는 코드 워드 c가 C에 포함된다는 것과 행렬 - 벡터 곱(matrix-vector product) Hc = 0이 필요 충분 조건(if and only if(iff))임을 의미한다. 그러면 수신된 워드 y = x + e 의 신드롬은 S = Hy = H(x + e) = Hx + He = 0 + He = He로써 정의된다. 실제로 일반적으로 사용되는 고속 코드들의 경우, 신드롬의 길이, 즉 코드의 차원이 수신된 워드의 길이보다 훨씬 작다는 점에서 신드롬들이 유용하다. BCH 코드들의 경우, 특정 패리티-검사 행렬에 해당하는 신드롬으로 작업하는 것이 유용하다.
Figure 112017054843871-pat00007
에 대해,
Figure 112017054843871-pat00008
라 하자. 필드(field) K와 벡터
Figure 112017054843871-pat00009
에 대해, 벡터 f는 다항식
Figure 112017054843871-pat00010
으로 식별된다. y와 연관된 신드롬 다항식은
Figure 112017054843871-pat00011
이다. 신드롬들의 관점에서, 이진 BCH 코드들을 복호화하는 주요 계산은 다항식들
Figure 112017054843871-pat00012
,
Figure 112017054843871-pat00013
을 결정하는 것이다. 이는 키 방정식(key equation)으로 알려진 다음 방정식을 만족한다.
ω = mod X 2t
여기서, S는 신드롬 다항식이고, X는 다항식의 자유 변수(free variable)이고,
Figure 112017054843871-pat00014
Figure 112017054843871-pat00015
로 정의되는 오류 평가 다항식(error evaluator polynomial)이고,
Figure 112017054843871-pat00016
Figure 112017054843871-pat00017
로 정의되는 오류 평가 다항식이고, a는 BCH 코드의 근들을 정의하는데 사용되는
Figure 112017054843871-pat00018
의 원시 요소이고,
Figure 112017054843871-pat00019
는 경판정 오류들(hard-decision errors)의 실제 수이고,
Figure 112017054843871-pat00020
는 오류 위치들 즉, 오류들의 위치를 나타내는 필드 요소들(field elements)이고, t는 BCH 코드의 설계된 디코딩 반경이다.
벨르캄프-매시(Berlekamp-Massey(BM)) 알고리즘은 BCH 코드들을 디코딩하기 위한 알고리즘으로써, k=L,..., 2t-1,
Figure 112017054843871-pat00021
에 대한 S(X)C(X)에서
Figure 112017054843871-pat00022
에 대한 계수가 0이 되는 추정된 오류 위치 다항식(error locator polynomial(ELP))
Figure 112017054843871-pat00023
을 구하기 위해 사용된다. L은 상기 알고리즘에 의해 발견된 오류들의 수이고, N=d-1=2t는 신드롬들의 총 수이고,
Figure 112017054843871-pat00024
는 모든 i에 대한 신드롬 다항식 S(X)에서
Figure 112017054843871-pat00025
의 계수이고, k는 L부터 (N-1)까지의 범위의 인덱스(index)이다.
BM 알고리즘은 C(X)를 1로, L을 0으로 초기화하고, B(X)(L이 업데이트된 이후 마지막 C(X)의 사본(copy))을 1로, b(L이 업데이트되고 초기화된 이후 마지막 불합도(discrepancy) d의 사본)을 1로, m(L, B(X), 및 b가 업데이트되고 초기화된 이후 반복 횟수)을 1로 초기화하는 것으로 시작한다. 알고리즘은 k = 0에서 N-1까지 반복한다. 알고리즘의 각 반복(iteration) k에서 불합도 d가 계산된다.
Figure 112017054843871-pat00026
d가 0이면, C(X)와 L은 그 순간 옳은 것으로 가정되고, m은 증가하고, 알고리즘은 계속된다.
d가 0이 아니고, 2L>k이면, C(X)는 d의 재계산(recalculation)이 0이 되도록 조절된다.
C(X) = C(X) - (d/b) X m B(X)
Figure 112017054843871-pat00027
는 b에 대응하는 신드롬들을 따라 B(X)를 이동시킨다. L의 이전 업데이트가 반복 j에서 발생했다면, m=k-j이고, 재계산된 불합도는 다음과 같다.
Figure 112017054843871-pat00028
이는 재계산된 불합도가 다음과 같이 바뀐다.: d = d - (d/b)b = d - d = 0. 그런 다음, m은 증가하고, 알고리즘은 계속된다.
한편, d가 0이 아니고, 2L≤≤n이면, C의 사본은 벡터 T에 저장되고, C(X)는 위와 같이 조절되고, B는 T로부터 업데이트되고, L은 (k+1-L)로 리셋되고, 불합도 d는 b로써 저장되고, m은 1로 리셋되고, 알고리즘은 계속된다.
치엔 검색(chien search)은 BCH 코드들을 디코딩할 때 발생하는 ELP들과 같은 유한체(finite field)를 통해 다항식의 근들을 결정한다. a는 중복도(multiplicative)의 서브그룹을 가지는 유한체의 원시 요소라 하자. 치엔 검색은
Figure 112017054843871-pat00029
의 생성 순서로 필드에서 0이 아닌 요소들을 테스트한다. 이러한 방식으로 모든 0이 아닌 필드 요소들은 체크된다. 어떤 단계에서 결과(resultant) 다항식이 0으로 평가되면, 관련된 요소는 근이다.
수신된 비트에 대한 하드 정보(hard information)는 추정된 비트 값, 즉 0 또는 1이고, "소프트 정보(soft information)"는 추정된 값과 이러한 추정의 신뢰도(reliability)를 모두 포함한다. 이 신뢰성은 많은 형태를 취할 수 있지만, 하나의 일반적인 형태는 상기 추정이 정확할 확률, 또는 이러한 확률의 추정치이다. 예컨대, 각 셀이 단일 비트를 저장하는 싱글-레벨 셀(single-level cell(SLC)) 플래시 메모리의 경우, 하드 정보는 단일 리드(단일 임계 값)로 획득되지만, 추가적인 리드들로부터 점점 더 정제된(refined) 소프트 정보가 얻어진다.
경판정(hard-decision(HD)) 디코딩에서, 하드-정보 벡터(좌표당(per-coordinate) 비트 추정치들)이 ECC 디코더의 입력으로 사용되는 반면, 연판정(soft-decision(SD)) 디코딩에서는 소프트 정보 벡터(상기 하드 정보 벡터 상단에 있는 좌표당 신뢰도 벡터)가 상기 ECC 디코더의 입력으로 사용된다.
따라서, 소프트 정보는 비트 추정치들 그 자체의 최상위에서 각 비트 추정의 신뢰도의 추정치로 간주될 수 있다. 그러므로, 충분히 높은 신뢰도를 갖는 비트들은 "강한 것(strong)"으로 간주되는 반면, 나머지 비트들은 "약한 것(weak)"으로 간주될 수 있다. 예컨대, SLC 플래시 메모리에서, 예컨대 임계 레벨 h를 갖는 한번의 리드는 HD 벡터를 초래하고, 예컨대 임계값들
Figure 112017054843871-pat00030
을 가지는 두번의 추가적인 리드들은 비트들을 강한 비트와 약한 비트로 나눌 때 사용된다.
체이스(chase) 디코딩은 BCH 코드와 같은 HD 디코딩 블락만을 갖는 코드에 대한 간단한 SD 디코딩 알고리즘이다. 체이스 디코딩에서, HD 디코딩이 실패하면, 소프트 정보는 수신된 비트들을 강한 비트 예컨대, 신뢰할 수 있는 비트와 약한 비트 예컨대, 신뢰할 수 없는 비트로 나누는데 사용된다. 가능한 모든
Figure 112017054843871-pat00031
플립핑 가능성들(flipping possibilities)과 같은 약한-비트들 플립들(weak-bits flips)의 일부 패턴들은 테스트된다. 각 플립핑 패턴(flipping pattern)에 대해, HD 디코딩이 사용된다. 일부 플립핑 패턴에 대해 포스트-플립핑 오류들(post-flipping errors)의 수가 상기 코드의 HD 보정 반경 t 보다 적으면, 상기 디코딩은 성공한 것으로 간주된다.
이제 이진 BCH 코드들을 고려하자. 이 코드들은 NAND 플래시 애플리케이션들(applicaions)에서 널리 사용되고, 일반화된 연쇄 코드들(generalized concatenated codes)의 구성요소 코드들(component codes)로도 널리 사용된다. 종래의 체이스 디코더에서, 각 테스트된 플립핑 패턴에 대해, 풀(full) HD 디코더가 호출된다(invoked). 이는 BM 알고리즘을 호출하여 ELP를 찾기 위한 신드롬 계산과 ELP 근들을 찾기 위한 치엔 검색이 포함된다.
그러나, 패턴 i에서 패턴 i+1로 이동하는 경우, 하나의 추가 비트가 플립되면, 패턴 i+1에 대해 풀 HD 디코더를 실행해야 하는가? 한가지 해답은 보간-기반의 빠른 체이스 디코딩(interpolation-based fast Chase decoding)인 웰츠-밸르캄프(welch-berlekamp(WB)) 알고리즘이다. BM 알고리즘이 수신된 워드로부터 신드롬들을 계산하여 시작한 다음 상기 신드롬들로만 작동하지만, WB 알고리즘은 수신된 워드에 직접 작업한다는 점에서 WB 알고리즘은 BM 알고리즘과 다르다. 플래시 메모리에서 사용되는 고속 코드들(high-rate codes)의 경우 모든 신드롬들의 (비트들의) 총 길이가 수신된 워드의 총 길이보다 훨씬 작기 때문에, 신드롬들을 사용하여 작업하는 것이 더 효율적이다. 따라서, 이 경우 수신 된 워드를 디코딩 시작시 모두에 대해 한번 신드롬으로 변환 한 다음, 작은(small) 신드롬들만 계속 처리할 가치가 있다. 또한 WB 디코더로 기존의 BM 기반 HD 디코더를 완전히 대체하는 것은 중요하지 않으며(non-trivial), 고속 코드들의 경우 WB 알고리즘의 복잡성을 BM 알고리즘의 복잡도로 줄이려면 코어 HD 디코더를 위한 새로운 하드웨어 설계가 필요한 재-인코딩(re-encoding) 변환을 사용하는 것이 필요하다.
또 다른 해답은 우(Wu)의 알고리즘이다. "Fast Chase Decoding Algorithms and Architectures for Reed-Solomon Codes", IEEE Transactions on Information Theory, Vol. 58, No. 1, January 2012, pgs. 109-129에 개시되어 있으며, 그 전체 내용이 BM 기반의 빠른 체이스 디코딩으로 본원에 참고 문헌으로 인용된다. 우(Wu)의 방법에서, 각 추가적인 플립 된 비트에 대해, 전체 BM 알고리즘 대신 BM 알고리즘의 마지막 단계와 유사한 계산이 수행되고, 신드롬 재-계산(re-calculation)이 요구되지 않는다. 종래의 디코더는 각 시도에서 BM 알고리즘을 사용하므로, BM 알고리즘에서의 유한체 곱셈들(multiplications)의 수는
Figure 112017054843871-pat00032
이며, 여기서 t는 상기 정의된 바와 같다. 우(Wu)의 방법에서, O(t) 유한체 곱셈들에서 다음 추정치(estimation)를 얻기 위해 ELP의 이전 추정치를 사용할 수 있다. 따라서 순진하게 BM 알고리즘을 다시 실행하는 대신 이전 결과를 사용하여 시간을 절약할 수 있다. 따라서 각 단계는 t에서 2차적(quadratic)인 대신 t에서 선형(linear)이다. 특히 우(Wu)의 알고리즘에서 각 추가적인 플립된 비트는 두 개의 불합도 계산들과 두 개의 다항식 업데이트들이 필요하다. 그러나 조작된 다항식들은 일반적으로 t에서 실제 오류 수 (예 : t + r)까지 증가하는 정도를 가진다.
우(Wu)는 또한 치엔 검색을 입력하기 위한 휴리스틱 정지 기준(heuristic stopping criterion)을 가진다. 정지 기준은 정확한 오류 위치(error locator)를 놓치지 않아야 하지만 (드물게) 거짓 양성(false positive)들을 가질 수 있다는 점에 유의해야 한다. 거짓 양성은 불필요한 계산 일뿐이다. 이러한 불필요한 계산들이 드물다면 불필요한 계산들은 실제로 효과가 없다. 우(Wu)의 정지 기준은 정확한 오류 위치 다항식을 놓치지 않으며, 드물게 거짓 양성을 가지지만, 전체 치엔 검색에 비해 프레임 오류율(frame-error rate(FER))이 약간 저하된다.
본 발명이 이루고자 하는 기술적인 과제는 일반적으로 이진 BCH 코드들의 BM-기반 빠른 체이스 디코딩을 수행하기 위한 시스템 및 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 이진(binary) BCH(Bose-Chaudhuri-Hocquenghem) 코드들의 빠른 체이스 디코딩(fast chase decoding)에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위해 집적 회로에 의해 실행 가능한 명령 프로그램을 유형적으로(tangibly) 인코딩하는 ASIC(application-specific integrated circuit)에 있어서, 상기 방법은, 통신 채널로부터 상기 ASIC에 의해 수신된 BCH 코드 워드(codeword)의 경판정(hard-decision(HD)) 디코딩이 실패할 때, 수정된 키 방정식(key equation)의 솔루션 모듈(solution module)에 대한 그뢰브너 기저(Groebner basis)를 찾기 위해 신드롬 기반(syndrome-based) 경판정 알고리즘의 출력들을 사용하는 단계와, 상기 ASIC은 특정 약한-비트(weak-bit) 위치들의 역들(inverses)에서 상기 그뢰브너 기저로부터 획득된 다항식들을 평가하는 단계와, 상기 ASIC은 플립된(flipped) 약한-비트 위치들의 집합
Figure 112017054843871-pat00033
에 대한 그뢰브너 기저를
Figure 112017054843871-pat00034
에 대한 그뢰브너 기저로 변환하는 단계를 포함하고,
Figure 112017054843871-pat00035
은 다음(next) 약한-비트 위치이고, r은 오류들의 수와 BCH 코드 워드의 경판정 보정 반경(correction radius)의 차이이다.
본 발명의 실시 예에 따르면, 이진 BCH 코드들의 BM-기반 빠른 체이스 디코딩을 수행하기 위한 제공함으로써 불필요한 치엔 검색들을 회피하는 새로운 정지 기준을 갖는 새로운 다항식 업데이트 알고리즘을 제공할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 BM-기반 체이스 디코딩 알고리즘의 개략적인 블록도이다.
도 2는 본 발명의 실시 예에 따른 빠른 체이스 사전-계산을 수행하기 위한 플로우 차트이다.
도 3은 본 발명의 실시 예에 따른 5-비트 시퀀스에 대한 우(Wu)-타입 트리를 예시적으로 나타낸다.
도 4는 본 발명의 실시 예에 따른 빠른 체이스 디코딩을 위해 특화된 코에터 알고리즘의 흐름도이다.
도 5는 본 발명의 실시 예에 따른 표준 BM 알고리즘의 출력을 그뢰브너 기초로 일반 모듈 N으로 변환하는 일반적인 방법을 나타낸다.
도 6은 본 발명의 실시 예들에 따른 이진 BCH 코드들의 BM-기반 빠른 체이스 디코딩을 수행하기 위한 기계의 블록도이다.
도 7은 본 발명의 실시 예에 따른
Figure 112017054843871-pat00036
Figure 112017054843871-pat00037
를 얻기 위한 또 다른 방법을 나타내는 흐름도이다.
본 발명의 실시 예들은 다양한 수정들 및 대안적인 형태들에 영향을 받기 쉽지만, 그 특정 실시 예들은 도면들에서 예로서 도시되고 여기에서 상세히 설명될 것이다. 그러나, 본 발명을 개시된 특정 형태로 제한하고자 하는 의도는 없지만 반대로, 본 발명은 본 발명의 사상 및 범위 내에 있는 모든 변형, 등가물 및 대안을 포함하는 것으로 이해되어야 한다.
본 명세서에 기술된 바와 같은 개시의 예시적인 실시 예들은 일반적으로 차수(degree)가 0에서 2r-1까지 증가하는 다항식을 조작하고, 우(Wu)의 기준과는 상이하고 불필요한 치엔 검색들을 회피하는 새로운 정지 기준을 갖는 새로운 다항식 업데이트 알고리즘을 위한 시스템 및 방법을 포함한다. 예컨대, t = 10 및 r = 3 인 경우, 우(Wu)의 다항식은 일반적으로 차수가 10에서 13까지 증가한다. 본 발명의 실시 예에 따른 알고리즘의 다항식은 일반적으로 차수가 0에서 5까지 증가한다. BM 알고리즘이 이미 구현되고 잘 이해되기 때문에, 본 발명의 실시 예에 따른 체이스 디코더 다항식-업데이트 알고리즘은 BM 알고리즘에 기초한다. 본 발명의 실시 예에 따른 다항식은 원하는 오류- 위치 다항식을 얻기 위해 추가로 처리되어야 한다. 이것은 복잡성에 비용이 들지만 정지 기준이 정확한 오류-위치 다항식을 얻을 수 있다고 제안할 때만 추후 처리가 수행된다.
이 공개에서는 Massey의 1969년 논문인 Massey, J. L. (1969), "Shift-register synthesis and BCH decoding", IEEE Trans. Information Theory, IT-15 (1) : 122-127 에서 사용된 용어와 실질적으로 유사한 용어를 사용할 것이며, 그 전체 내용이 본원에 참고로 인용된다.
도 1은 본 발명의 실시 예에 따른 BM-기반 체이스 디코딩 알고리즘의 개략적인 블록도이다. 도 1을 참고하면, BM-기반 체이스 디코딩 알고리즘은 신드롬을 계산하는 단계(11), BM 알고리즘을 수행하는 단계(12), 빠른 체이스 사전(pre)-계산들을 수행하는 단계(13), 빠른 체이스 다항식을 업데이트하는 단계(14), 오류 위치를 구성(construction)하는 단계(15), 및 치엔 검색을 수행하는 단계(16)를 포함할 수 있다. 단계 13, 단계 14, 및 단계 15는 HD 디코딩 실패 시 수행된다. 이러한 단계들은 아래에서 상세히 설명될 것이다.
상술한 바와 같이 단계 11에서 신드롬들은 수신된 코드 워드로부터 계산된다. 단계 12에서 수행된 BM 알고리즘은 상술 한 BM 알고리즘의 변형된 버전이다. 본 발명의 일 실시 예에 따른 이진 BM 알고리즘은 다음과 같다.
입력은 다음과 같다.
(a) 보정 반경 t; 및
(b) 신드롬 다항식 S(X).
출력은 다음과 같다.
(a)
Figure 112017054843871-pat00038
Figure 112017054843871-pat00039
의 원소(element)가 되는 최소 차수의 다항식 C(X), 여기서
Figure 112017054843871-pat00040
;
(b)
Figure 112017054843871-pat00041
으로 정의되는 정수 L, 여기서,
Figure 112017054843871-pat00042
Figure 112017054843871-pat00043
의 차수;
(c) 마지막 길이 변화 이전에 C (X)를 추적하는 다항식 B(X);
(d) 가상(virtual) BM 알고리즘에서 마지막 길이 변화 이전에 C (X)를 추적하는 다항식
Figure 112017054843871-pat00044
, 여기서 가상 BM 알고리즘은 N 1 에서 차수를 최소화하고,
Figure 112017054843871-pat00045
, 입력 신드롬
Figure 112017054843871-pat00046
, 여기서,
Figure 112017054843871-pat00047
Figure 112017054843871-pat00048
각각은 S(X)의 짝수와 홀수 부분들 각각이고, 일반적으로 아래와 같이 정의된다.
(e) 마지막 길이 변화 이후의 인덱스 수를 추적하는 정수
Figure 112017054843871-pat00049
; 및
(f) 가상 BM 알고리즘의 마지막 길이 변화 이후의 인덱스 수를 추적하는 정수
Figure 112017054843871-pat00050
.
Figure 112017054843871-pat00051
는 수정된 키 방정식이다.
다음과 같은 초기화 작업이 수행된다.
Figure 112017054843871-pat00052
,
Figure 112017054843871-pat00053
,
Figure 112017054843871-pat00054
,
Figure 112017054843871-pat00055
,
Figure 112017054843871-pat00056
,
Figure 112017054843871-pat00057
,
Figure 112017054843871-pat00058
본 발명의 실시 예에 따른 BM 알고리즘은 다음과 같은 반복들을 수행한다.
Figure 112017054843871-pat00059
길이 변화의 경우에, BM 알고리즘은 마지막 C, 즉 길이 변경 이전에 가장 짧은 LFSR을 B에 저장한다는 것을 상기하자. 본 발명의 일 실시 예에 따른 수정 된 BM 알고리즘을 수행하는 단계(12)는 하나 대신 두개의 B 다항식들에 대한 스토리지(storage)를 사용하고, 다음과 같이 업데이트되는 추가 다항식 B'를 유지한다. 길이 변화가 있는 경우, 즉 B가 업데이트되어야 하는 경우, 최소 LFSR 길이인 L이 홀수이고 L + 1로 변경되면 B'는 변하지 않는다. 따라서 이 경우 B'는 업데이트 전에 B 값을 갖는다. 그렇지 않으면 B'가 변경되고 업데이트 된 B와 동일하다.
HD 디코더가 유효한 코드 워드를 출력하지 못하면 HD 디코딩이 실패했다고 한다. HD 디코더는 최대 t 개의 오류들을 수정하므로, t 개 이상의 오류가 있는 경우 일반적인 결과는 디코딩 실패이다. 오류의 수가 너무 많아서 디코더가 일부 코드 워드를 출력하지 않는 검출되지 않는 오류가 발생하는 경우는 거의 없지만, 이는 전송된 코드 워드가 아니다. BM 알고리즘(12)이 유효한 코드 워드를 출력하지 못하면, 본 발명의 실시 예에 따른 알고리즘은 치엔 검색을 수행하는 단계(16)를 수행하기 전에 빠른 체이스 사전(pre)-계산들을 수행하는 단계(13), 빠른 체이스 다항식을 업데이트하는 단계(14), 및 오류 위치를 구성(construction)하는 단계(15)를 수행하도록 분기한다.
빠른 체이스 사전(pre)-계산들을 수행하는 단계(13)는 빠른 체이스 반복들 동안 변경되지 않은 일부 값들을 계산하므로 사전에 한번 미리 계산될 수 있다.
먼저, 필드 K에 대해,
Figure 112017054843871-pat00060
상에서 단항 순서
Figure 112017054843871-pat00061
를 다음과 같이 정의할 수 있다.
Figure 112017054843871-pat00062
iff
Figure 112017054843871-pat00063
,
Figure 112017054843871-pat00064
iff
Figure 112017054843871-pat00065
, and
Figure 112017054843871-pat00066
iff
Figure 112017054843871-pat00067
. 또한, 짝수 정수
Figure 112017054843871-pat00068
와 다항식
Figure 112017054843871-pat00069
에 대해, f(X)의 홀수 부분
Figure 112017054843871-pat00070
Figure 112017054843871-pat00071
인 반면, f(X)의 짝수 부분
Figure 112017054843871-pat00072
Figure 112017054843871-pat00073
이다. 위의 정의에서,
Figure 112017054843871-pat00074
임을 주목하라.
도 2는 본 발명의 실시 예에 따른 빠른 체이스 사전-계산을 수행하기 위한 플로우 차트이다. 도 2를 참조하면, 단계 21에서 BM 알고리즘의 B, C 출력으로부터, 두 쌍의 다항식들 h 1 = (h 10 (X), h 11 (X)), h 2 = (h 20 (X), h 21 (X)) (여기서, X는 자유 변수(free variable))은 다음과 같이 준비된다. 상기 쌍 h 1 을 BM 알고리즘에 의해 출력된 최소 LFSR인 C의 홀수와 짝수 부분들이라 하자. 쌍 h 2 가 다항식 B'의 홀수와 짝수 부분들의 시프트 된 버전, 즉 X의 제곱을 곱한 것으로 하자. 상기 단항 차수와 관련하여 h 1 h 2 의 선도 단항식들(leading monomials)이 별개의 단위 벡터들을 포함한다면, h 1 h 2 는 변경되지 않고, 그렇지 않으면 단계 22에서 정확히 하나의 i∈ {1,2}에 대해
Figure 112017054843871-pat00075
를 라이트하고, come c와 l에 대해
Figure 112017054843871-pat00076
로 대체한다. 여기서
Figure 112017054843871-pat00077
Figure 112017054843871-pat00078
h i 의 선도 단항식이 취소되도록 선택된다. 생성된 쌍은 a <-1 단항 순서(monomial ordering)에 대해 수정된 키 방정식
Figure 112017054843871-pat00079
의 해를 구하는 그뢰브너 기저(Groebner basis)이다. 그 다음, 단계 23에서, i∈ {1,2}에 대해,
Figure 112017054843871-pat00080
라고 하자. 이는 짝수와 홀수 부분들을 결합한다. 계산은 포함되어 있지 않다. 다항식들
Figure 112017054843871-pat00081
Figure 112017054843871-pat00082
은 사전-계산 블록(13)의 출력들이다.
다음, 약한 비트들 좌표들(weak bits coordinates)을
Figure 112017054843871-pat00083
라 하자. 단계 24에서, 사전-계산 블록(13)은
Figure 112017054843871-pat00084
뿐만 아니라
Figure 112017054843871-pat00085
를 계산하여 출력하고, w := 2 deg (h 21 ) - t -(1-
Figure 112017054843871-pat00086
)로 정의되는 가중 w 를 계산하여 출력한다. 여기서,
Figure 112017054843871-pat00087
는 총 오류들의 개수이고,
Figure 112017054843871-pat00088
=
Figure 112017054843871-pat00089
mod 2는 하나의 정보 비트 손실에 대한 무시할 수 있는 비용(the negligible cost of losing one information bit)으로 알려져 있다고 가정한다.
다항식 업데이트 블록은 추가적인 소프트 리드들로부터의 약한 비트 좌표들(weak bit coordinates from additional soft reads)과 함께 사전-계산 블록(13)에 의해 미리 계산된 양들을 사용한다. 플립핑 패턴들은 근(root)에서 잎(leaf)까지의 각 경로에서 우(Wu)-타입 트리에 정렬되고, 상기 트리의 각 레벨에서 하나의 추가적인 비트가 플립된다. 5-비트 시퀀스에 대한 예시적인 우(Wu)-타입 트리가 도 3에 도시된다. 중간 결과들은 하나 이상의 자식 노드(child node)를 갖는 노드들(30)에 대해 저장될 수 있으며, 이는 도면에 박스로 표시된다. 도 3의 그래프의 한쪽 가장자리에 대한 처리는, 즉, 하나 이상의 가정한 에러를 가산하는 처리는 다음과 같다.
복호화된 원시 이진 BCH 코드는 길이 2 m - 1를 가지고, K는 K :=
Figure 112017054843871-pat00090
로 정의되는 유한체라고 하자. 그 다음 오류 위치 다항식
Figure 112017054843871-pat00091
이 다음과 같이 주어지도록 두 다항식들 f 1 (X), f 2 (X)
Figure 112017054843871-pat00092
K[X]을 검색한다.
Figure 112017054843871-pat00093
여기서,
Figure 112017054843871-pat00094
Figure 112017054843871-pat00095
는 사전-계산 블록(13)의 출력들이다.
Figure 112017054843871-pat00096
는 플립될 잠재적 오류 위치들(potential error locations to be flipped)의 집합이라고 하고, 다음 보간 작업을 고려하라. 다음의 2가지 조건들을 만족하는 많아야 하나의 Y-차수의 모든 이변수(bivariate) 다항식들
Figure 112017054843871-pat00097
중에서
Figure 112017054843871-pat00098
Figure 112017054843871-pat00099
는 Q의 Y-반전된 버전이고, 다음과 같이 정의된 (1,w)-가중된 차수를 최소화하는 다항식 Q(X,Y)을 구한다.
max( deg(q 0 ), deg(q 1 ) + w),
여기서, w는 사전-계산 블록(13)의 출력이다.
Figure 112017054843871-pat00100
를 위의 두 조건들을 만족하는 많아야 하나의 Y-차수의 이변수 다항식들의 모듈이라 하고, Q(X,Y)를 가중된 차수를 최소화하는 L의 다항식으로 보자.
실시 예에 따른 체이스 디코딩의 기본 아이디어는 다음과 같다.
1. 정확성: 모든 ? j 가 실제 오류 위치들이고, r ≥
Figure 112017054843871-pat00101
-t 즉, 체이스 시행에 필요한만큼 큰 정확한 플립핑 패턴이 있는 경우, 원하는 다항식들
Figure 112017054843871-pat00102
Figure 112017054843871-pat00103
가 일부 0 아닌 상수 c에 대해 Q(X,Y) 즉,
Figure 112017054843871-pat00104
에 나타난다.
2. 그뢰브너 기저: Q(X,Y)를 최소화 하는 것은 L에 대한 그뢰브너 기저(groebner basis(GB))에서
Figure 112017054843871-pat00105
순서와 같은 적절한 단항 순서로 나타난다. 본 발명의 실시 예는 두개의 이변수 다항식들을 가지고 GB들을 사용한다. 적절한 단항 순서는 사전-계산들과 관련하여 앞서 정의되었다.
3. 빠른 업데이트:
Figure 112017054843871-pat00106
에 대한 GB가 이미 존재하는 경우, 추가적인 플립핑 즉,
Figure 112017054843871-pat00107
에 대한 GB를 획득하는 것은 쉽다. 빠른 체이스 업데이트는
Figure 112017054843871-pat00108
에 대한 GB에서
Figure 112017054843871-pat00109
에 대한 GB로 이동하는 알고리즘이 필요하다. 실시 예들에 따라, 그러한 알고리즘 중 하나는 코에터(Koetter) 알고리즘이다.
코에터 알고리즘은 체이스 디코딩보다 더 일반적인 보간법을 해결한다. 도 4는 단항 < w 순서로 빠른 체이스 디코딩에 특화된 본 발명의 실시 예에 따른 코에터 알고리즘의 플로우차트이다.
본 발명의 실시 예에 따른 코에터 알고리즘에 대한 입력은
Figure 112017054843871-pat00110
에 대해 GB
Figure 112017054843871-pat00111
이고, 제1좌표에서의 g 1 의 선도 단항식(leading monomial(LM))과 제2좌표에서의 g 2 의 LM을 가지고,
Figure 112017054843871-pat00112
는 다음 에러 위치이다. 출력은
Figure 112017054843871-pat00113
에 대해 제1좌표에서의
Figure 112017054843871-pat00114
의 LM과 제2좌표에서의
Figure 112017054843871-pat00115
의 LM을 가지는 GB
Figure 112017054843871-pat00116
이다.
도면을 참조하면, 실시 예에 따른 알고리즘은 단계 41에서 j=1,2에 대해 불합도를 계산함으로써 시작한다. 불합도는 아래와 같다.
Figure 112017054843871-pat00117
단계 42에서 일부 j에 대해 Δ j = 0이면, 오류 위치 구성(15)과 치엔 검색(16)으로 빠져 나간다. 이는 일 실시 예에 따른 정지 기준이며 이하에서 설명된다.
일 실시 예에 따른 알고리즘은 단계 43에서
Figure 112017054843871-pat00118
로 설정함으로써 계속된다. 단계 44에서
Figure 112017054843871-pat00119
이면, 단계 45에서
Figure 112017054843871-pat00120
,
Figure 112017054843871-pat00121
를 출력하고, 다음 오류 위치
Figure 112017054843871-pat00122
를 처리한다. 그렇지 않으면, 단계 46에서
Figure 112017054843871-pat00123
가 되도록 j*
Figure 112017054843871-pat00124
J라 하자. 여기서 LM과 최소값은 단항 순서
Figure 112017054843871-pat00125
와 관련된다. 여기서 w는 미리 계산된 가중이다. 그 다음 단계 47에서 다항식들이
Figure 112017054843871-pat00126
에 대해 업데이트된다.
만약
Figure 112017054843871-pat00127
이면,
Figure 112017054843871-pat00128
로 설정되고;
그렇지 않으면,
Figure 112017054843871-pat00129
로 설정된다.
그 후 상기 알고리즘은 단계 41로 돌아 간다.
빠른 체이스 디코딩을 위한 실시 예에 따른 코에터 알고리즘은 도 3에 도시된 우(Wu)의 트리의 가장자리에서 호출된다. 특히, 상기 알고리즘이 처음 호출될 때,
Figure 112017054843871-pat00130
,
Figure 112017054843871-pat00131
이다. 그 다음 하나의 부가적인 비트가 상기 플립핑 패턴의 어느 하나가 될 때 상기 이전 출력은 다음 입력이 된다. 예컨대, 01000→01010→01110→11110→11111의 5개의 약한 비트들이 있다고 가정한 도 3에 도시된 트리에서 필립핑 패턴(31)의 다음 순서를 고려하라.
그 다음 제1 플립핑 패턴(하나의 플립된 비트 01000)의 초기 GB는
Figure 112017054843871-pat00132
,
Figure 112017054843871-pat00133
이고,
Figure 112017054843871-pat00134
는 두번째 약한 비트(01000)를 가리키는 필드 원소이고, 출력 GB (g1 +, g2 +) 는 입력 GB (g1, g2)가 되고, 이 때 네번째 약한 비트 (01010)를 가리키는
Figure 112017054843871-pat00135
를 가진다. 실시 예에 따른 코에터 알고리즘은 두 쌍의 다항식들
Figure 112017054843871-pat00136
Figure 112017054843871-pat00137
을 출력한다. 실시 예에 다른 빠른 체이스 디코더는 두개의 출력들 중에서 더 작은 선도 단항식을 가지는 어느 하나를 선택한다.
약한 비트들 내의 r 비트들까지 플립된 경우, 근(root)부터 잎(leaf)까지 각 경로의 깊이는 최대 r이다. 따라서, 본 발명의 실시 예에 따른 코에터 알고리즘을 r번 적용한 후, 네개의 관련 다항식들의 차수의 합은 최대 2r-1이다.
Figure 112017054843871-pat00138
Figure 112017054843871-pat00139
또는
Figure 112017054843871-pat00140
중에서 어느 하나는 제로 다항식일 수 있음을 유의하라. 이러한 경우 deg(0)= -∞이기 때문에 상기 공식은 의미가 없다. 그러나, 이러한 경우, 좌측 합이 0 아닌 다항식들을 초과할 때만 상기 공식이 유지된다는 것을 확인할 수 있다.
빠른 체이스 디코딩에 대한 실시 예에 따른 코에터 알고리즘에 대한 정지 기준은 다음과 같다. 실시 예에 따른 코에터 알고리즘의 출력으로부터 에러 위치 다항식이 구성될 수 있도록,
Figure 112017054843871-pat00141
는 정확한 플립핑 위치들이고,
Figure 112017054843871-pat00142
라고 가정하자. 그러나 σ(X)를 재구성하고 치엔 검색을 수행하기에 비싸다. 그러나, 약한 비트들 내에 한 번 더 잘못된 위치
Figure 112017054843871-pat00143
가 존재한다고 가정하자. 그 다음, 실시 예에 따라 인접한
Figure 112017054843871-pat00144
에서
Figure 112017054843871-pat00145
까지의 코에터 반복에서 불합도들 중 하나는 0이 될 것이다. 즉,어떤 j에 대하여
Figure 112017054843871-pat00146
. 따라서,
Figure 112017054843871-pat00147
들 중에서 어느 하나가 0인지 여부를 체크하는 것은 정지 기준의 역할을 할 수 있다. 그러나, 정확한 오류-위치 다항식이 없다고 하더라도 일부
Figure 112017054843871-pat00148
는 0이 될 수 있다. 즉,
Figure 112017054843871-pat00149
가 거짓 양성(false positive)이다. 거짓 양성을 처리하는 비용이 증가된 복잡성이다. 그러나, 상기 거짓 양성 비율이 1/100, 또는 심지어 1/10 정도라 하더라도 복잡성의 전반적인 증가는 무시할 수 있고, 몬테 카를로(monte carlo) 시뮬레이션은 이러한 상황에서 신뢰 추정치를 얻기 위해 사용될 수 있다. 실시 예에 따른 정지 기준 비용은 ε-t 이 오로지 r일 때만 반경 r+1의 구에 대한 불합도 계산의 반복의 절반을 수행하는 것을 포함할 수 있다. 이는 무차별(brute force) 치엔 검색에 대한 전반적인 복잡도를 감소시킨다. ε-t=r 일 때, r+l 오류들은 약한 비트들에 필요하고, 이는 무차별 치엔 검색에 비해 FER을 다소 저하시킨다.
빠른 체이스 다항식 업데이트들을 수행하고, 정지 기준을 만족한 후, 알고리즘은 오류 위치 다항식(error locator polynomial(ELP))을 다음과 같이 구성한다. 첫째,
Figure 112017054843871-pat00150
Figure 112017054843871-pat00151
  = (g + j0 (X), g + j1 (X))가 실시 예에 따른 코에터 알고리즘의 출력이 되도록 하고,
Figure 112017054843871-pat00152
에 따라 정렬된 최소 선도 단항식을 가지도록 하자. 그 다음 ELP
Figure 112017054843871-pat00153
Figure 112017054843871-pat00154
에서 중복도 상수까지 재구성될 수 있다. 여기서,
Figure 112017054843871-pat00155
는 다음과 같이 정의된다.
Figure 112017054843871-pat00156
는 모듈 N에 대한 그뢰브너 기저라 하자. 여기서,
Figure 112017054843871-pat00157
는 제1좌표에서 그것의 선도 단항식을 가지고,
Figure 112017054843871-pat00158
는 제2좌표에서 그것의 선도 단항식을 가진다. 그 다음 i=1,2에 대해
Figure 112017054843871-pat00159
라 정의한다.
본 발명의 또 다른 실시 예에 따르면, 표준 BM 알고리즘의 출력을 순서
Figure 112017054843871-pat00160
와 관련한 일반 모듈 N의 그레브너(Groebner) 기저로 변환하는 일반적인 방법은 도 5의 플로우 차트에 따라 다음과 같다. 일 실시 예에 따라, 일반 모듈 N은
Figure 112017054843871-pat00161
로 정의된다. 여기서, K는 일부 필드이고, m∈N 은 어떤 정수이고,
Figure 112017054843871-pat00162
은 0이 아닌 정수들이고 g(X) ∈ K[X]는 어떤 다항식이고,
Figure 112017054843871-pat00163
이다. 이제 도면을 참조하면, 단계 51에서, 입력 m, g을 갖는 BM 알고리즘의 출력들 C, B, δ로부터 다음의 2 쌍의 다항들식이 형성된다 :
Figure 112017054843871-pat00164
Figure 112017054843871-pat00165
3 가지 경우를 고려해 보자. 여기서, 선도 단항식들은 순서 <-1 에 따라 정렬된다.
(1) 단계 52에서, b1 및 b2의 선도 단항식들이 별개의 단위 벡터를 포함하면, 단계 53에서 그로브너 기저로서 {b 1, b 2}를 출력하고;
(2) 단계 54에서 선도 단항식들이 동일한 단위 벡터를 포함하고 b1의 선도 단항식이 적어도 b2의 선도 단항식만큼 크면, 단계 55에서 {b 1 - cX l b 2, b 2,}를 GB로서 출력한다. 여기서
Figure 112017054843871-pat00166
이고, K * 는 0이 없는 K의 중복도 서브그룹이고, l
Figure 112017054843871-pat00167
b 1의 선도 단항식이 취소되도록 선택된다.
(3) 단계 56에서 선도 단항식들이 동일한 단위 벡터를 포함하고 b 2의 선도 단항식이 b 1의 선도 단항식보다 엄격하게 큰 경우, 단계 57에서 {b 1, b 2 - cX l b 1}를 GB로서 출력한다. 여기서
Figure 112017054843871-pat00168
이고 l
Figure 112017054843871-pat00169
b 2 의 선도 단항식이 취소되도록 선택된다. 이러한 경우는 모든 가능성을 포함한다.
본 발명의 또 다른 실시 예에 따르면, h 1, h 2 및 결과적으로  
Figure 112017054843871-pat00170
, 및 w를 얻는 또 다른 방법은 다음과 같다.
1. 수정된 신드롬
Figure 112017054843871-pat00171
을 계산한다. 아래에서 설명 할 효율적인 방법이 있음을 유의하라.
2. 모듈
Figure 112017054843871-pat00172
에 대해 2-원소 (two-element) 그뢰브너 기저 { h 1, h 2}를 찾는다. 이 작업은 여러 가지 방법으로 수행 할 수 있다.
(a) 기존 BM 알고리즘을 입력 t와
Figure 112017054843871-pat00173
에 적용한 다음, 위에서 설명한 일반적인 변환 방법을 사용하여 출력 C, B, δ를 필요한 그뢰브너 기저 h 1 , h 2로 변환한다.
(b) 대안으로, 피츠패트릭(fitzpatrick) 알고리즘을 사용한다..
(c) 대안으로, 유클리드(euclidean) 알고리즘을 사용한다.
수정된 신드롬의 계산은  
Figure 112017054843871-pat00174
를 찾는 일반적인 질문과 관련이 있다. 여기서 f, g∈K [X]는 일부 필드 K에 대한 다항식들이고 k는 양의 정수이다. 다항식
Figure 112017054843871-pat00175
에 대해, X i 의 계수
Figure 112017054843871-pat00176
를 라이트한다.
Figure 112017054843871-pat00177
에 대해, 다음의 두 조건을 만족하는 다항식 ti -1(X)가 있다고 가장하자.: (1)
Figure 112017054843871-pat00178
, (2)
Figure 112017054843871-pat00179
.
Figure 112017054843871-pat00180
를 정의하라. 그러면,
Figure 112017054843871-pat00181
 는 i 대신에 i + 1로 조건 (1), (2)를 만족한다. Δ를 계산할 때 [ti -1 (1 + Xg)]i를 구하려면 곱해진 다항식들 중에서 어느 하나의 계수를 계산해야 한다. 또한,
Figure 112017054843871-pat00182
이기 때문에,
Figure 112017054843871-pat00183
이다. 이는 도 7의 플로우 차트를 참조하여
Figure 112017054843871-pat00184
를 계산하기 위한 실시 예에 따른 다음의 알고리즘을 유도한다.
Figure 112017054843871-pat00185
실시 예에 따른 알고리즘은, 출력 t에서 Xi 의 계수가 i번째 반복 이후 최종 형태이기 때문에 0 지연을 가지며, 처리 속도를 높이기 위해 단계 2(a), 2(b)의 그뢰브너 기저 알고리즘으로 파이프라인될 수 있다.
이론적 배경과 유효성 증명
빠른 체이스 디코딩을 위한 상기 방법의 타당성이 설명될 것이다. 다음에서, 다항식 f의 경우
Figure 112017054843871-pat00186
,
Figure 112017054843871-pat00187
각각에 대해 때때로 표기법
Figure 112017054843871-pat00188
,
Figure 112017054843871-pat00189
가 사용될 것이다.
정의.
Figure 112017054843871-pat00190
-모듈, L을 다음과 같이 정의하라. 아벨군(abelian group)으로써
Figure 112017054843871-pat00191
이지만, 스칼라 곱셈
Figure 112017054843871-pat00192
Figure 112017054843871-pat00193
로 정의되고,
Figure 112017054843871-pat00194
Figure 112017054843871-pat00195
-모듈들의 동형(isomorphism)이 됨을 주목하라.
Figure 112017054843871-pat00196
를 수정된 키 방정식의 솔루션 모듈로 정의했던 것을 상기하라. 이진의 경우에 상기 표준 키 방정식의 솔루션 모듈인
Figure 112017054843871-pat00197
또한 정의하자. 두개의 솔루션 모듈들은 다음과 같은 명제를 통해 관련된다.
명제 1 (솔루션 모듈 간의 관계)
Figure 112017054843871-pat00198
은 L의
Figure 112017054843871-pat00199
-서브모듈이고,
Figure 112017054843871-pat00200
이다. 그러므로
Figure 112017054843871-pat00201
는 동형
Figure 112017054843871-pat00202
로 제한된다.
증명. 첫번째 주장은 두번째 주장과 동일하지만, 직접 검증할 수 있다. 첫째,
Figure 112017054843871-pat00203
은 분명히 L의 아벨 서브 군(abelian subgroup)이므로 모든
Figure 112017054843871-pat00204
과 모든
Figure 112017054843871-pat00205
,
Figure 112017054843871-pat00206
에 대해서 검증해야한다. 그러나,
Figure 112017054843871-pat00207
,
여기서 특성(characteristic) 2는 두번째 방정식에서 사용되었고,
Figure 112017054843871-pat00208
는 합동 모듈로(congruence modulo; X2t)를 나타낸다.
두번째 주장으로 넘어가자. 다항식
Figure 112017054843871-pat00209
에 대해
Figure 112017054843871-pat00210
이므로
Figure 112017054843871-pat00211
Figure 112017054843871-pat00212
에 포함된다는 것은 수학식 1과 필요충분조건이다.
[수학식 1]
Figure 112017054843871-pat00213
Figure 112017054843871-pat00214
Figure 112017054843871-pat00215
수학식 1은 다음의 방정식 쌍과 같다.
[수학식 2]
Figure 112017054843871-pat00216
[수학식 3]
Figure 112017054843871-pat00217
그래서,
Figure 112017054843871-pat00218
iff 수학식 2, 수학식 3 이 참임을 보였다. 주장을 증명하기 위해, 우리는 모든
Figure 112017054843871-pat00219
에 대해 (i)과 (ii)를 보일 것이다. (i) 수학식 3은 수학식 2를 따르므로
Figure 112017054843871-pat00220
iff 수학식 2, (ii) 수학식 2는
Figure 112017054843871-pat00221
와 등가이므로
Figure 112017054843871-pat00222
iff
Figure 112017054843871-pat00223
. (ii)부터 시작하자. 모든 u에 대해 수학식 2와 수학식 4가 등가임을 관찰하자.
[수학식 4]
Figure 112017054843871-pat00224
마지막 방정식에서 용어를 모으고,
Figure 112017054843871-pat00225
Figure 112017054843871-pat00226
의 역수를 가지므로, 모든 i에 대해
Figure 112017054843871-pat00227
에서
Figure 112017054843871-pat00228
대해 수학식 2는 필요에 따라
Figure 112017054843871-pat00229
과 등가이다.
(i)로 이동하면, 문제의 이진의 경우에 모든 i에 대해
Figure 112017054843871-pat00230
이므로
Figure 112017054843871-pat00231
Figure 112017054843871-pat00232
,
Figure 112017054843871-pat00233
임을 상기하자. 그러므로
Figure 112017054843871-pat00234
,
즉,
Figure 112017054843871-pat00235
이는 수학식 5와 등가이다.
[수학식 5]
Figure 112017054843871-pat00236
(i)를 증명하기 위해, 수학식 2가 유지되면, 수학식 4도 유지된다고 가정하자. 수학식 4에
Figure 112017054843871-pat00237
를 곱하고, 합동 모듈로 (Xt)에 대해
Figure 112017054843871-pat00238
를 쓰면, 다음이 얻어진다.
Figure 112017054843871-pat00239
Figure 112017054843871-pat00240
,
여기서, (*)는 수학식 5를 따르고, 다음과 등가이다.
Figure 112017054843871-pat00241
Figure 112017054843871-pat00242
에서 역변환할 수 있는
Figure 112017054843871-pat00243
를 취소하면, 다음이 얻어진다.
Figure 112017054843871-pat00244
이는 필요에 따라 수학식 3과 같다.
다음의 명제는 유용할 것이다. 간단한 증명은 생략한다.
명제 2. K를 필드라 하자.
1.
Figure 112017054843871-pat00245
와,
Figure 112017054843871-pat00246
에 대한 임의의 단항식 순서에 대해,
Figure 112017054843871-pat00247
는 다음의 성질을 가지는 서브모듈이라고 하자. 모든
Figure 112017054843871-pat00248
에 대해
Figure 112017054843871-pat00249
가 i번째 단위 벡터를 포함하도록 하는
Figure 112017054843871-pat00250
가 있다. 그러면, P는 모든 i에 대해 i번째 단위 벡터를 포함하는
Figure 112017054843871-pat00251
를 가지는 그로브너 기저
Figure 112017054843871-pat00252
를 가진다.
2. 임의의
Figure 112017054843871-pat00253
와 임의의
Figure 112017054843871-pat00254
에 대해 서브모듈
Figure 112017054843871-pat00255
은 이론의 파트 1의 조건을 만족하므로(분명히
Figure 112017054843871-pat00256
) (1,0)를 포함하는
Figure 112017054843871-pat00257
과 (0,1)을 포함하는
Figure 112017054843871-pat00258
를 가지는 2-원소(element) 그로브너 기저
Figure 112017054843871-pat00259
를 가진다.
명제의 파트 1과 파트 2에서 그로브너 기저는 또한 프리-모듈 기저(free-module basis)이다. 다음의 명제는 P. Beelen, T. Hoeholdt, J. S. R. Nielsen, and Y. Wu, "On rational interpolation-based list-decoding and list-decoding binary Goppa codes," IEEE Trans. Inform. Theory, vol. 59, no. 6, pp. 3269-3281, June 2013의 명제 2의 작은 수정이고, 그 내용은 그 전체가 본 명세서에 참고로 인용된다.
명제 3.
Figure 112017054843871-pat00260
가 단항식 순서
Figure 112017054843871-pat00261
에 관련된 모듈 N에 대한 그뢰브너 기저라 하자.
Figure 112017054843871-pat00262
는 (1,0)을 포함하고,
Figure 112017054843871-pat00263
는 (0,1)을 포함한다는 일반론을 잃지 않고 가정하자.
Figure 112017054843871-pat00264
2.
Figure 112017054843871-pat00265
에 대해,
Figure 112017054843871-pat00266
Figure 112017054843871-pat00267
와 같은 유일한 다항식들이라고 하자.
Figure 112017054843871-pat00268
.
Figure 112017054843871-pat00269
정의.
1. 위의 명제에서와 같이
Figure 112017054843871-pat00270
(
Figure 112017054843871-pat00271
)에 대해
Figure 112017054843871-pat00272
라고 하면,
Figure 112017054843871-pat00273
Figure 112017054843871-pat00274
에 지정된 홀수와 짝수 부분들을 붙여 획득된 다항식이다.
2. 상기 명제의 파트 2에서
Figure 112017054843871-pat00275
를 취하면
Figure 112017054843871-pat00276
는 수신된 워드
Figure 112017054843871-pat00277
의 오류들의 수이다. i=1,2에 대해
Figure 112017054843871-pat00278
Figure 112017054843871-pat00279
의 선택을 위한 명제로부터의 유일한 다항식이라 하고,
Figure 112017054843871-pat00280
라 하자.
ε의 패리티에 관계없이
Figure 112017054843871-pat00281
이다.
다음의 명제는 p. 148 of J. S. R. Nielsen, "List Decoding of Algebraic Codes," Ph.D. Thesis, Dep. of Applied Mathematics and Computer Science, Technical University of Denmark, 2013의 작은 수정이다. 이들의 내용은 전체가 본 명세서에 참고로 인용된다. 위의 인용 문헌에 나타난 것과 유사하게 증명은 생략된다.
명제 4.
1.
Figure 112017054843871-pat00282
이 되도록
Figure 112017054843871-pat00283
에 대한 일부 프리-모듈 기저
Figure 112017054843871-pat00284
가 존재한다고 가정하자. 그러면,
Figure 112017054843871-pat00285
에 대한 임의의 프리-모듈 기저
Figure 112017054843871-pat00286
에 대해
Figure 112017054843871-pat00287
가 유지된다.
2. N은
Figure 112017054843871-pat00288
인 프리-모듈 기저
Figure 112017054843871-pat00289
를 가진다.
에러-위치 다항식
Figure 112017054843871-pat00290
으로 돌아가자. 명제 3에서와 같이
Figure 112017054843871-pat00291
을 N에
대한 GB라 하고,
Figure 112017054843871-pat00292
는 수신된 워드에서 오류들의 수임을 상기하라.
Figure 112017054843871-pat00293
Figure 112017054843871-pat00294
와 같은 유일한 다항식들이라 하자.
Figure 112017054843871-pat00295
는 준동형(homomorphism)이므로
Figure 112017054843871-pat00296
즉,
[수학식 6]
Figure 112017054843871-pat00297
따라서,
[수학식 7]
Figure 112017054843871-pat00298
또한, 명제 4에 의해,
[수학식 8]
Figure 112017054843871-pat00299
Figure 112017054843871-pat00300
Figure 112017054843871-pat00301
는 (신드롬을 통해 )수신된 워드에만 의존하고,
Figure 112017054843871-pat00302
Figure 112017054843871-pat00303
로부터 복구될 수 있으므로 디코더의 작업은
Figure 112017054843871-pat00304
를 찾는 것이다.
아래의 보간 이론은 수학식 7이
Figure 112017054843871-pat00305
Figure 112017054843871-pat00306
를 찾기 위해 어떻게 사용될 수 있는지를 나타낸다. 이 이론을 시작하기 전에 P. Trifonov, and M. H. Lee, "Efficient interpolation in the Wu list decoding algorithm," IEEE Trans. Inform. Theory, vol. 58, no. 9, pp. 5963-5971, Sept. 2012에 따른 몇가지 추가적인 정의들이 필요하고, 그 전체 내용은 본 명세서에 참고로 인용되었다.
정의.
1. K를 필드라 하자. 일부
Figure 112017054843871-pat00307
에 대해
Figure 112017054843871-pat00308
(여기서, 모든 i와 j에 대해
Figure 112017054843871-pat00309
)형태의 다항식은 (Y,Z)-동일 차수(homogeneous degree)
Figure 112017054843871-pat00310
의 (Y,Z)-동차 다항식(homogeneous polynomial)이라고 불린다. K[X,Y,Z]에서 다항식들의 K[X]-서브-모듈에 대해
Figure 112017054843871-pat00311
를 라이트하고, 이는 (Y,Z)-동일 차수 p와 (Y,Z)-동질이다.
Figure 112017054843871-pat00312
로 설정하자.
2.
Figure 112017054843871-pat00313
에 대해서,
Figure 112017054843871-pat00314
라 하자. 또한,
Figure 112017054843871-pat00315
Figure 112017054843871-pat00316
의 Y-역 버전 즉,
Figure 112017054843871-pat00317
라 하자. 최대
Figure 112017054843871-pat00318
의 Y-차수의 모든 다항식들로 구성된 K[X,Y]의 K[X]-서브모듈에 대해
Figure 112017054843871-pat00319
를 라이트하면,
Figure 112017054843871-pat00320
는 K[X]-모듈들의 동형임을 증명할 수 있다.
위의 정의에 따라, 보간 이론을 설명할 수 있다. 속편에서
Figure 112017054843871-pat00321
Figure 112017054843871-pat00322
의 중복도를 나타내고, K는 어떤 필드이고,
Figure 112017054843871-pat00323
포인트에서
Figure 112017054843871-pat00324
즉,
Figure 112017054843871-pat00325
에 나타나는 단항식의 최소 총 차수에 대해서
Figure 112017054843871-pat00326
이다. 또한,
Figure 112017054843871-pat00327
에 대해서,
Figure 112017054843871-pat00328
는 f의 w-가중된 차수, f에 나타나는 모든 단항식들
Figure 112017054843871-pat00329
에 대한 최대
Figure 112017054843871-pat00330
를 나타낸다.
다음의 이론은 트리포노프(Trifonov and Lee)의 결과로부터 추론될 수 있다.
이론 1. (보간 이론)
임의의 필드 K에 대해,
Figure 112017054843871-pat00331
라 하고,
Figure 112017054843871-pat00332
는 어떤
Figure 112017054843871-pat00333
에 대해
Figure 112017054843871-pat00334
Figure 112017054843871-pat00335
를 가지는 다항식들이라 하자.
Figure 112017054843871-pat00336
에 대해
Figure 112017054843871-pat00337
는 다음의 조건을 만족하는 트리플들의 집합이라 하자.
1.
Figure 112017054843871-pat00338
는 구별된다.
2.
Figure 112017054843871-pat00339
Figure 112017054843871-pat00340
는 동시에 0이 아니며 즉 모든 i에 대해
Figure 112017054843871-pat00341
.
3. 모든 i에 대해
Figure 112017054843871-pat00342
.
그런 다음
if
Figure 112017054843871-pat00343
then
Figure 112017054843871-pat00344
in
Figure 112017054843871-pat00345
정의. 중복도들(multiplicities)의 벡터
Figure 112017054843871-pat00346
에 대해,
Figure 112017054843871-pat00347
Figure 112017054843871-pat00348
는 m으로 지정된 중복도들을 갖는 모든 다항식들의 이상(ideal)이라 하자. 또한,
Figure 112017054843871-pat00349
에 대해
Figure 112017054843871-pat00350
은 다음과 같이 정의된
Figure 112017054843871-pat00351
Figure 112017054843871-pat00352
-서브모듈이라 하자.
Figure 112017054843871-pat00353
다음 명제에 대한 증명은 간단하다.
명제 5.
Figure 112017054843871-pat00354
은 동형
Figure 112017054843871-pat00355
하에서
Figure 112017054843871-pat00356
의 이미지라 하자. 그러면,
Figure 112017054843871-pat00357
은 다음을 만족하는 모든 다항식들
Figure 112017054843871-pat00358
Figure 112017054843871-pat00359
-모듈이다.
1.
Figure 112017054843871-pat00360
,
2.
Figure 112017054843871-pat00361
인 모든 x에 대하여,
Figure 112017054843871-pat00362
3.
Figure 112017054843871-pat00363
인 모든 x에 대하여 (따라서,
Figure 112017054843871-pat00364
인)
Figure 112017054843871-pat00365
게다가, 다항식
Figure 112017054843871-pat00366
에 대하여
Figure 112017054843871-pat00367
따라서,
Figure 112017054843871-pat00368
Figure 112017054843871-pat00369
에서 최소의
Figure 112017054843871-pat00370
-가중된 차수(weighted degree)를 가지면,
Figure 112017054843871-pat00371
Figure 112017054843871-pat00372
Figure 112017054843871-pat00373
에서 최소의
Figure 112017054843871-pat00374
-가중된 차수를 가진다.
디코딩을 위한 성공 기준으로 진행하자. 그 후 빠른 체이스 디코딩의 유효성은 특별한 경우로서 다음이 있음을 보여준다. 다음 명제는 보간 이론(이론 1)에서 쉽게 다음과 같다.
명제 6.
Figure 112017054843871-pat00375
는 잘못된 좌표들(coordinates)의 집합이라고 가정하자(따라서,
Figure 112017054843871-pat00376
).
Figure 112017054843871-pat00377
를 일부 부분집합(subset)라 하고, 모든
Figure 112017054843871-pat00378
에 대해
Figure 112017054843871-pat00379
로 설정함으로써
Figure 112017054843871-pat00380
에 대해 m을 정의하자.
또한,
Figure 112017054843871-pat00381
라 하자. 그러면, 만약
Figure 112017054843871-pat00382
이고,
[수학식 9]
Figure 112017054843871-pat00383
이면,
Figure 112017054843871-pat00384
에서
Figure 112017054843871-pat00385
-가중된 차수를 최소화하는 비-제로(non-zero) 다항식
Figure 112017054843871-pat00386
Figure 112017054843871-pat00387
를 만족한다.
빠른 체이스 디코딩의 맥락에서 이전 명제를 이용하기 위해
Figure 112017054843871-pat00388
,
Figure 112017054843871-pat00389
,
Figure 112017054843871-pat00390
,
Figure 112017054843871-pat00391
, 및
Figure 112017054843871-pat00392
인 명제 6의 특별한 경우를 생각해보자. 이 경우는 1의 중복도가 잘못된 위치들에만 할당되는 정확한 체이스 시도와, 적어도
Figure 112017054843871-pat00393
잘못된 위치들에 대응한다.
Figure 112017054843871-pat00394
로 라이트하라. 그러면 현재 가정들에서, 수학식 9는
Figure 112017054843871-pat00395
를 리드하므로 만족된다. 이는 포인트-바이-포인트 알고리즘인 코에터 알고리즘이 보간에 사용되는 경우, 빠른 체이스 디코딩이 우(Wu)와 같은 소프트 디코딩의 위와 같은 디제너레이트 경우(degenerate case)에 기초할 수 있음을 즉시 보여준다. Y-차수가
Figure 112017054843871-pat00396
로 제한되므로 이 경우의 리스트 크기는 정확히 1이 될 것이고, 분해 공정이 필요 없다.
구체적으로,
Figure 112017054843871-pat00397
Figure 112017054843871-pat00398
인 에러 위치들의 집합이라고 가정하고,
Figure 112017054843871-pat00399
Figure 112017054843871-pat00400
Figure 112017054843871-pat00401
에 대해
Figure 112017054843871-pat00402
에서
Figure 112017054843871-pat00403
-가중된 차수를 최소화하는 넌-제로(non-zero) 다항식이라 하자. 여기서,
Figure 112017054843871-pat00404
Figure 112017054843871-pat00405
의 지시자 함수(indicator function)이다.
Figure 112017054843871-pat00406
이면, 어떤 상수
Figure 112017054843871-pat00407
에 대해서
Figure 112017054843871-pat00408
인 것을 확인할 수 있다. 이는 체이스 반복들을 시작하기 전에 디코더가
Figure 112017054843871-pat00409
가 에러 위치 다항식이 될 수 있는지 여부를 확인해야함을 의미한다.
Figure 112017054843871-pat00410
가 잠재적 오류-위치 다항식으로 자격이 없으면, 상기 논의는
Figure 112017054843871-pat00411
임을 보여준다. 따라서,
Figure 112017054843871-pat00412
임을 가정하자.
Figure 112017054843871-pat00413
에서 Y-차수는
Figure 112017054843871-pat00414
에 의해 상계(upper bounded)되므로, 명제 6은 수학식 10이 되도록 일부 넌-제로 다항식
Figure 112017054843871-pat00415
가 존재한다.
[수학식 10]
Figure 112017054843871-pat00416
명제 7. 수학식 10에서 t(X)는
Figure 112017054843871-pat00417
에서 정수이어야 하므로,
Figure 112017054843871-pat00418
Figure 112017054843871-pat00419
는 더이상의 계산들 없이
Figure 112017054843871-pat00420
를 읽어낼 수 있다.
증명.
Figure 112017054843871-pat00421
Figure 112017054843871-pat00422
에 대해,
Figure 112017054843871-pat00423
라 하자.
또한,
Figure 112017054843871-pat00424
Figure 112017054843871-pat00425
라 하자.
Figure 112017054843871-pat00426
형태의 다항식이
Figure 112017054843871-pat00427
에 포함된다는 것은 모든
Figure 112017054843871-pat00428
에 대해
Figure 112017054843871-pat00429
이고, 모든
Figure 112017054843871-pat00430
에 대해
Figure 112017054843871-pat00431
인 것과 필요충분조건이다.
이를 염두에 두고, 수학식 7과 수학식 8은
Figure 112017054843871-pat00432
자체가 이미
Figure 112017054843871-pat00433
에 포함된다는 것을 보여준다.
Figure 112017054843871-pat00434
는 오로지 에러 위치들, 즉,
Figure 112017054843871-pat00435
의 근들의 역들(inverses)만을 포함한다고 가정됨을 상기하라. 넌-제로 t(X)에 대해, t(X)가 상수가 아니면
Figure 112017054843871-pat00436
Figure 112017054843871-pat00437
-가중된 차수는
Figure 112017054843871-pat00438
Figure 112017054843871-pat00439
-가중된 차수보다 엄격히 크다.
Figure 112017054843871-pat00440
는 가중된 차수를 최소화하므로, 이는 필요에 따라 t(X)가 넌-제로 상수이어야 함을 보여준다.
상기 논의는 도 4의 케이터 반복들을 정당화한다.
도 2의 유효성으로 돌아가서, 제안된 방법이 어떻게 정말로
Figure 112017054843871-pat00441
를 생산하는지를 간략하게 설명한다. 첫째로, 이미 언급한 바와 같이 수정된 신드롬
Figure 112017054843871-pat00442
와 정수 t인 입력을 가지고 모듈 N에 대한 BM 알고리즘의 출력은, N에 대한 그뢰브너 기저
Figure 112017054843871-pat00443
}를 구하기 위해 사용될 수 있다. 여기서 다소 긴 증거를 생략한다. 이는 수정된 신드롬을 계산하면, M에 대한 BM 알고리즘은 필요한 그로브너 기저를 얻기위해 사용될 수 있음을 의미한다.
신드롬 S 와 정수 2t를 입력으로 가지는 BM 알고리즘을 "보통의(usual) BM 알고리즘"이라 지칭하자. 수정된 신드롬의 계산을 완전히 피하고, 대신 보통의 BM 알고리즘을 사용하기 위해서, 보통의 BM 알고리즘의 출력들을 N에 대한 BM 알고리즘의 출력들과 동등한 것으로 변환하는 방법을 적용하는 것이 가능하다. 이에 대해
Figure 112017054843871-pat00444
가 보통의 BM 알고리즘의 출력 C 이면,
Figure 112017054843871-pat00445
는 모듈 M에 포함됨을을 먼저 상기하라(see, e.g., pp. 25-26 of E. R. Berlekamp, "Nonbinary BCH codes," Institute of Statistics, Mimeo Series no. 502, Department of Statistics, University of North Carolina, Dec. 1966의 내용은 본 명세서에 그 전체가 참조로 인용된다.).
따라서,
Figure 112017054843871-pat00446
이고, 여기서 정수 k와 다항식
Figure 112017054843871-pat00447
에 대해, degree
Figure 112017054843871-pat00448
의 유일한 대표인
Figure 112017054843871-pat00449
.
명제 8.
Figure 112017054843871-pat00450
에 대해, 다음을 유지한다.
[수학식 11]
Figure 112017054843871-pat00451
따라서,
Figure 112017054843871-pat00452
는 집합
Figure 112017054843871-pat00453
에서 최소 차수를 가진다.
증명.
Figure 112017054843871-pat00454
Figure 112017054843871-pat00455
Figure 112017054843871-pat00456
여기서 (a)에 대해, deg(f)가 짝수이면,
Figure 112017054843871-pat00457
이고, 반면에 deg(f)가 홀수이면,
Figure 112017054843871-pat00458
이다. 이는 수학식 11을 증명하고, 두번째 주장은 수학식 11의 즉각적인 결과이다.
입력 S(X)와 2t에 대한 BM 알고리즘의 출력
Figure 112017054843871-pat00459
로부터,
Figure 112017054843871-pat00460
을 취함으로써
Figure 112017054843871-pat00461
의 최소 차수의 일부 원소를 즉시 획득할 수 있는 명제로부터 나온다. 최소 차수의 원소가 고유하지 않을 수 있음을 유의하고, 상기는 반드시
Figure 112017054843871-pat00462
가 N에 대한 BM 알고리즘의 출력에 대응함을 의미하지 않는다. 그러나, 마지막 명제와 함께, N1의 모든 최소 차수 원소들의 집합을 설명하는 매시 논문(Massey's paper)의 이론3을 이용하여, 이전 섹션의 수정된 BM 알고리즘의 출력들이 필요한 그뢰브너 기저의 생산에 충분함을 확인할 수 있다. 자세한 것은 생략한다.
시스템 구현들
본 발명은 하드웨어, 소프트웨어, 펌웨어, 특수 목적 처리 또는 이들의 조합의 다양한 형태로 구현될 수 있음을 이해해야 한다. 일 실시 예에서, 본 발명은 application-specific integrated circuit(ASIC) 또는 field programmable gate array(FPGA)와 같은 하드웨어로 구현될 수 있다. 다른 실시 예에서, 본 발명은 컴퓨터 판독 가능한 프로그램 저장 장치 상에 유형적으로 구현된 애플리케이션 프로그램과 같은 소프트웨어로 구현될 수 있다. 상기 애플리케이션은 임의의 적절한 구조를 포함하는 기계로 업로드되고 실행될 수 있다.
도 6은 본 발명의 실시 예들에 따른 이진 BCH 코드들의 BM-기반 빠른 체이스 디코딩을 수행하기 위한 기계의 블록도이다. 도 6은 본 발명의 실시 예들에 따른 복잡도와 블록 암호 코드를 포함하는 AMD 오류 검출 코드들에서 필요한 필드 사이즈를 줄이기 위해 대수적 곡선을 사용하는 시스템의 블록도를 나타낸다. 도 6을 참조하면, 본 발명을 구현하기 위한 컴퓨터 시스템(61)은 CPU((central processing unit; 62), 메모리(63), 및 입/출력(input/output(I/O)) 인터페이스(64)를 포함할 수 있다. 컴퓨터 시스템(61)은 일반적으로 I/O 인터페이스(64)를 통해 디스플레이(65)와 마우스와 키보드 같은 다양한 입력 장치들(66)에 연결된다. 메모리(63)는 램(random access memory(RAM)), 롬(read only memory(ROM)), 디스크 드라이브(disk drive), 테이프 드라이브(tape drive) 등, 또는 이들의 조합들을 포함할 수 있다. 본 발명은 신호 소스(68)로부터 출력되는 신호를 처리하기 위해 메모리(63)에 저장되고 CPU(62)에 의해 실행되는 루틴(67)으로서 구현될 수 있다. 따라서, 컴퓨터 시스템은 본 발명의 루틴을 실행할 때 특수 목적의 컴퓨터 시스템이되는 범용 컴퓨터 시스템이다. 대안적으로, 전술한 바와 같이 본 발명은 신호 소스(68)로부터 출력되는 신호를 처리하기 위해 CPU(62)와 신호 통신하는 ASIC 또는 FPGA(67) 로서 구현될 수 있다.
컴퓨터 시스템(61)은 운영 체제 및 마이크로 명령 코드를 포함할 수 있다. 본 명세서에서 설명된 다양한 프로세스와 기능들은 운영 체제를 통해서 실행되는 마이크로 명령 코드의 일부 또는 애플리케이션 프로그램의 일부 (또는 이들의 조합) 가 될 수 있다. 추가적으로, 다양한 다른 주변 장치들은 추가적인 데이터 저장 장치와 프린팅 장치와 같은 컴퓨터 플랫폼에 연결될 수 있다.
첨부 도면들에 도시된 구성 시스템 요소들과 방법 단계들의 일부는 소프트웨어로 구현될 수 있기 때문에, 시스템 구성요소들 (또는 프로세스 단계들) 사이의 실제 연결들은 본 발명이 프로그램되는 방식에 따라 다를 수 있음이 추가로 이해되어야 한다. 여기에 제공된 본 발명의 개시가 주어지면, 당업자는 이들 및 유사한 구현 또는 본 발명의 구성들을 고려할 수 있을 것이다.
본 발명은 실시 예들을 참조하여 상세히 설명하였지만, 당업자는 다양한 변형과 대체가 첨부된 청구범위에 기재된 본 발명의 사상 및 범위를 벗어나지 않고 이루어질 수 있다는 것을 이해할 것이다.
11; 신드롬 계산
12; BM 알고리즘
13; 빠른 체이스 사전-계산
14; 빠른 체이스 다항식 업데이트
15; 오류 위치 구성
16; 치엔 검색

Claims (9)

  1. 이진(binary) BCH(Bose-Chaudhuri-Hocquenghem) 코드들의 빠른 체이스 디코딩(fast chase decoding)에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위해 집적 회로에 의해 실행 가능한 명령 프로그램을 유형적으로(tangibly) 인코딩하는 ASIC(application-specific integrated circuit)에 있어서, 상기 방법은,
    상기 ASIC에 의해, 통신 채널로부터 BCH 코드워드를 수신하는 단계;
    상기 BCH 코드 워드(codeword)의 경판정(hard-decision(HD)) 디코딩이 실패할 때, 수정된 키 방정식(key equation)의 솔루션 모듈(solution module)에 대한 그뢰브너 기저(Groebner basis)를 찾기 위해 신드롬 기반(syndrome-based) 경판정 알고리즘의 출력들을 사용하는 단계;
    상기 ASIC은 특정 약한-비트(weak-bit) 위치들의 역들(inverses)에서 상기 솔루션 모듈에 대한 그뢰브너 기저로부터 획득된 다항식들을 평가하는 단계;
    상기 ASIC은 플립된(flipped) 약한-비트 위치들의 집합
    Figure 112021068372430-pat00463
    을 기초로 결정되는 모듈
    Figure 112021068372430-pat00531
    에 대한 그뢰브너 기저를 모듈
    Figure 112021068372430-pat00532
    에 대한 그뢰브너 기저로 변환하는 단계; 및
    상기 ASIC은 상기 모듈
    Figure 112021068372430-pat00533
    에 대한 그뢰브너 기저를 기초로 입력 데이터를 인코딩 하는 단계를 포함하고,
    Figure 112021068372430-pat00465
    은 다음(next) 약한-비트 위치이고,
    r은 오류들의 수와 BCH 코드 워드의 경판정 보정 반경(correction radius)의 차이이고,
    상기 모듈
    Figure 112021068372430-pat00534
    에 대한 그뢰브너 기저로 변환하는 단계는,
    그뢰브너 기저
    Figure 112021068372430-pat00521
    를 g1 =(g10(X), g11(X)) = (1,0) 와 g2 = (g20(X), g21(X)) = (0,1)로 초기화하는 단계;
    j=1,2 에 대해 불합도(discrepancy)
    Figure 112021068372430-pat00522
    를 계산하는 단계- 여기서,
    Figure 112021068372430-pat00535
    Figure 112021068372430-pat00536
    는 상기 솔루션 모듈에 대한 그뢰브너 기저로부터 획득된 다항식들임 -; 및
    불합도들 Δj 중에서 어느 하나가 0 인지 여부를 판단하고, 불합도 Δj 가 0 이라고 판단되면, 상기 모듈
    Figure 112021068372430-pat00537
    에 대한 그뢰브너 기저를 상기 모듈
    Figure 112021068372430-pat00538
    에 대한 그뢰브너 기저로 변환하기 위해 수행되는 상기 모듈
    Figure 112021068372430-pat00523
    에 대한 그뢰브너 기저의 계산을 멈추는 단계를 포함하고,
    상기 모듈
    Figure 112021068372430-pat00539
    에 대한 그뢰브너 기저의 계산이 r번 수행된 후, 다항식 g10(X), g11(X), g20(X), g21(X)의 차수의 합은 최대 2r-1이고,
    상기 X는 자유 변수(free variable)인 ASIC.
  2. 제1항에 있어서,
    모듈
    Figure 112021068372430-pat00540
    에 대한 상기 그뢰브너 기저의 다항식은 최대 차수가 r인 ASIC.
  3. 제1항에 있어서,
    상기 신드롬 기반 경판정 알고리즘은 벨르캄프-매시(Berlekamp-Massey(BM)) 알고리즘과 피츠패트릭(Fitzpatrick) 알고리즘을 포함하는 그룹에서 선택되는 ASIC.
  4. 제1항에 있어서,
    상기 수정된 키 방정식의 솔루션 모듈에 대한 그뢰브너 기저를 찾기 위해 신드롬 기반 경판정 알고리즘의 출력들을 사용하는 단계는,
    다항식 h1 = (h10 (X), h11 (X))를 각각 다항식 C(X)의 홀수 부분과 짝수 부분으로 설정하고 다항식 h2 = (h20 (X), h21 (X))를 각각 다항식 B'(X)의 홀수 부분과 짝수 부분의 시프트된 버전으로 설정하는 단계 -여기서, C(X)의 홀수 부분은 C(X)의 홀수 번째 항의 계수를 사용한 다항식이고, C(X)의 짝수 부분은 C(X)의 짝수 번째 항의 계수를 사용한 다항식임-;
    Figure 112021068372430-pat00467
    Figure 112021068372430-pat00468
    가 동일한 선도 단항식(leading monomia)을 가지지 않는다면, 하나의 i
    Figure 112021068372430-pat00469
    {1,2}에 대해
    Figure 112021068372430-pat00470
    로 대체하는 단계 - 여기서,
    Figure 112021068372430-pat00541
    는 자유 변수임-; 및
    i
    Figure 112021068372430-pat00471
    {1,2}에 대해
    Figure 112021068372430-pat00472
    로 설정하는 단계를 포함하고,
    상기 다항식들 B'(X)와 C(X)는 BCH 코드 워드의 신드롬들에 대해 수행된 BM 알고리즘으로부터 출력되고, C(X)는
    Figure 112021068372430-pat00473
    - 여기서,
    Figure 112021068372430-pat00542
    는 신드롬 다항식 S(X)와 C(X)의 곱임-가
    Figure 112021068372430-pat00474
    의 원소(element)가 되도록 하는 최소 차수의 다항식이고,
    Figure 112021068372430-pat00475
    , t는 BCH 코드 워드의 보정 반경이고, Seven(X)과 Sodd(X)는 각각 신드롬 다항식 S(X)의 짝수 부분과 홀수 부분-여기서, S(X)의 짝수 부분은 S(X)의 짝수 번째 항의 계수를 사용한 다항식이고, S(X)의 홀수 부분은 S(X)의 홀수 번째 항의 계수를 사용한 다항식임-이며, 다항식 B'(X)는 가상(virtual) BM 알고리즘에서 마지막 길이를 변경하기 전에 C(X)를 추적하고, 상기 가상 BM 알고리즘은 N1의 차수를 최소화하고,
    Figure 112021068372430-pat00476
    , 입력 신드롬
    Figure 112021068372430-pat00477
    을 가지고, 수정된 키 방정식은
    Figure 112021068372430-pat00478
    이고,
    Figure 112021068372430-pat00479
    Figure 112021068372430-pat00480
    Figure 112021068372430-pat00481
    의 선도 단항식이 취소되도록 선택되고- 여기서, K-*-는 유한 필드 K의 곱셈 가능한 일부 필드이고, N은 정수임-,
    Figure 112021068372430-pat00482
    는 상기 솔루션 모듈에 대한 그뢰브너 기저인 ASIC.
  5. 제4항에 있어서,
    상기 특정 약한-비트 위치들의 역들에서 상기 그뢰브너 기저로부터 획득된 다항식을 평가하는 단계는, 상기 BCH 코드 워드의 특정 약한-비트 위치들의 역들
    Figure 112017054843871-pat00483
    을 계산하는 단계와, 다항식
    Figure 112017054843871-pat00484
    을 평가하는 단계를 포함하고,
    가중 w := 2 deg (h 21 ) - t -(1-
    Figure 112017054843871-pat00485
    )을 계산하는 단계를 더 포함하고,
    Figure 112017054843871-pat00486
    =
    Figure 112017054843871-pat00487
    mod 2와
    Figure 112017054843871-pat00488
    는 상기 BCH 코드 워드의 총 오류들의 수인 ASIC.
  6. 제1항에 있어서,
    모듈
    Figure 112021068372430-pat00489
    에 대한 그뢰브너 기저를 모듈
    Figure 112021068372430-pat00490
    에 대한 그뢰브너 기저로 변환하는 단계는,
    Figure 112021068372430-pat00493
    로 설정하는 단계;
    Figure 112021068372430-pat00494
    이면
    Figure 112021068372430-pat00495
    를 출력하고 다음 오류 위치
    Figure 112021068372430-pat00496
    를 처리하고, 그렇지 않으면
    Figure 112021068372430-pat00497
    Figure 112021068372430-pat00498
    가 되도록 설정하는 단계- 여기서
    Figure 112021068372430-pat00543
    Figure 112021068372430-pat00544
    에 대한 선도 다항식이고,
    Figure 112021068372430-pat00545
    Figure 112021068372430-pat00546
    의 최소값임-; 및
    Figure 112021068372430-pat00499
    에 대해
    Figure 112021068372430-pat00500
    이면,
    Figure 112021068372430-pat00501
    로 업데이트하고, 그렇지 않으면,
    Figure 112021068372430-pat00502
    로 업데이트하는 단계를 포함하는 ASIC.
  7. 삭제
  8. 제1항에 있어서,
    상기 수정된 키 방정식의 솔루션 모듈에 대한 그뢰브너 기저
    Figure 112021068372430-pat00504
    Figure 112021068372430-pat00505
    , 상기 모듈
    Figure 112021068372430-pat00547
    에 대한 그뢰브너 기저
    Figure 112021068372430-pat00548
    및 최종 오류-위치 다항식(error-locator ploynomial)
    Figure 112021068372430-pat00549
    을 기초로 상기
    Figure 112021068372430-pat00509
    을 계산하는 단계를 더 포함하고,
    a는 곱셈 상수(multiplicative constant)인 ASIC.
  9. 컴퓨팅 시스템으로서,
    이진(binary) BCH(Bose-Chaudhuri-Hocquenghem) 코드들의 빠른 체이스 디코딩(fast chase decoding)에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위해 집적 회로에 의해 실행 가능한 명령 프로그램을 인코딩하는 루틴(routine)을 저장하는 메모리;
    상기 루틴을 사용하여 입력 데이터를 유형적으로(tangibly) 인코딩하는 ASIC(application-specific integrated circuit); 및
    상기 루틴을 실행하는 중앙 처리 장치(central processing unit, CPU)를 포함하고,
    상기 루틴은,
    상기 CPU에 의해, 통신 채널로부터 BCH 코드워드를 수신하는 단계;
    상기 BCH 코드 워드(codeword)의 경판정(hard-decision(HD)) 디코딩이 실패할 때, 수정된 키 방정식(key equation)의 솔루션 모듈(solution module)에 대한 그뢰브너 기저(Groebner basis)를 찾기 위해 신드롬 기반(syndrome-based) 경판정 알고리즘의 출력들을 사용하는 단계;
    상기 CPU는 특정 약한-비트(weak-bit) 위치들의 역들(inverses)에서 상기 그뢰브너 기저로부터 획득된 다항식들을 평가하는 단계;
    상기 CPU는 플립된(flipped) 약한-비트 위치들의 집합
    Figure 112021068372430-pat00524
    을 기초로 결정되는 모듈
    Figure 112021068372430-pat00550
    에 대한 그뢰브너 기저를 모듈
    Figure 112021068372430-pat00551
    에 대한 그뢰브너 기저로 변환하는 단계; 및
    상기 CPU는 상기 모듈
    Figure 112021068372430-pat00552
    에 대한 그뢰브너 기저를 기초로 입력 데이터를 인코딩 하는 단계를 포함하고,
    Figure 112021068372430-pat00527
    은 다음(next) 약한-비트 위치이고,
    r은 오류들의 수와 BCH 코드 워드의 경판정 보정 반경(correction radius)의 차이이고,
    상기 모듈
    Figure 112021068372430-pat00553
    에 대한 그뢰브너 기저로 변환하는 단계는,
    그뢰브너 기저
    Figure 112021068372430-pat00528
    를 g1 =(g10(X), g11(X)) = (1,0) 와 g2 = (g20(X), g21(X)) = (0,1)로 초기화하는 단계;
    j=1,2 에 대해 불합도(discrepancy)
    Figure 112021068372430-pat00529
    를 계산하는 단계- 여기서
    Figure 112021068372430-pat00554
    Figure 112021068372430-pat00555
    는 상기 솔루션 모듈에 대한 그뢰브너 기저로부터 획득된 다항식들임 -; 및
    불합도들 Δj 중에서 어느 하나가 0 인지 여부를 판단하고, 불합도 Δj 가 0 이라고 판단되면, 상기 모듈
    Figure 112021068372430-pat00556
    에 대한 그뢰브너 기저를 상기 모듈
    Figure 112021068372430-pat00557
    에 대한 그뢰브너 기저로 변환하기 위해 수행되는 상기 모듈
    Figure 112021068372430-pat00530
    에 대한 그뢰브너 기저의 계산을 멈추는 단계를 포함하고,
    상기 모듈
    Figure 112021068372430-pat00558
    에 대한 그뢰브너 기저의 계산이 r번 수행된 후, 다항식 g10(X), g11(X), g20(X), g21(X)의 차수의 합은 최대 2r-1이고,
    상기 X는 자유 변수(free variable)인 컴퓨팅 시스템.
KR1020170072228A 2017-01-19 2017-06-09 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic KR102352158B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/409,724 US10389385B2 (en) 2017-01-19 2017-01-19 BM-based fast chase decoding of binary BCH codes through degenerate list decoding
US15/409,724 2017-01-19

Publications (2)

Publication Number Publication Date
KR20180085651A KR20180085651A (ko) 2018-07-27
KR102352158B1 true KR102352158B1 (ko) 2022-01-17

Family

ID=62841679

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170072228A KR102352158B1 (ko) 2017-01-19 2017-06-09 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic

Country Status (2)

Country Link
US (1) US10389385B2 (ko)
KR (1) KR102352158B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10826538B1 (en) 2019-06-12 2020-11-03 International Business Machines Corporation Efficient error correction of codewords encoded by binary symmetry-invariant product codes
US11012099B1 (en) 2019-10-29 2021-05-18 International Business Machines Corporation Half-size data array for encoding binary symmetry-invariant product codes
CN111030709A (zh) * 2019-12-31 2020-04-17 中科院计算技术研究所南京移动通信与计算创新研究院 基于bch译码器的译码方法、bch译码器及应用其的电路
US11063612B1 (en) 2020-03-02 2021-07-13 International Business Machines Corporation Parallelizing encoding of binary symmetry-invariant product codes
US11967973B2 (en) 2021-05-06 2024-04-23 Samsung Display Co., Ltd. Low overhead transition encoding codes
KR102636331B1 (ko) * 2021-12-16 2024-02-13 동국대학교 산학협력단 리스트 디코딩 알고리즘에서의 다항식 행렬에 대한 효율적 감소 연산을 수행하는 전자 장치 및 그 동작 방법
US11838032B1 (en) * 2022-10-18 2023-12-05 Western Digital Technologies, Inc. Advanced ultra low power error correcting code encoders and decoders

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793195B1 (en) 2006-05-11 2010-09-07 Link—A—Media Devices Corporation Incremental generation of polynomials for decoding reed-solomon codes
US8245117B1 (en) 2008-12-23 2012-08-14 Link—A—Media Devices Corporation Low complexity chien search in chase-type decoding of reed-solomon codes
US8850298B2 (en) 2012-06-27 2014-09-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Combined Koetter-Vardy and Chase decoding of cyclic codes
US8674860B2 (en) 2012-07-12 2014-03-18 Lsi Corporation Combined wu and chase decoding of cyclic codes
US9985653B2 (en) * 2015-04-10 2018-05-29 Samsung Electronics Co., Ltd. Methods and systems for soft-decision decoding

Also Published As

Publication number Publication date
KR20180085651A (ko) 2018-07-27
US10389385B2 (en) 2019-08-20
US20180205398A1 (en) 2018-07-19

Similar Documents

Publication Publication Date Title
KR102352158B1 (ko) 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic
US7249310B1 (en) Error evaluator for inversionless Berlekamp-Massey algorithm in Reed-Solomon decoders
US7793195B1 (en) Incremental generation of polynomials for decoding reed-solomon codes
US9450615B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
CN107800439B (zh) 用于里德索罗门码的低延迟解码器
JPS638494B2 (ko)
US8694872B2 (en) Extended bidirectional hamming code for double-error correction and triple-error detection
KR101882620B1 (ko) 신드롬 기반 연판정 bch 복호 장치 및 그 방법
JPH07202715A (ja) 時間定義域代数エンコーダ/デコーダ
Morii et al. Error-trapping decoding for cyclic codes over symbol-pair read channels
US7694207B1 (en) Method of decoding signals having binary BCH codes
US10387254B2 (en) Bose-chaudhuri-hocquenchem (BCH) encoding and decoding tailored for redundant array of inexpensive disks (RAID)
US8943391B2 (en) Cyclic code decoding method and cyclic code decoder
Ilani Berlekamp-Massey algorithm: Euclid in disguise
US10404407B2 (en) Groebner-bases approach to fast chase decoding of generalized Reed-Solomon codes
KR101636406B1 (ko) 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법
Liu et al. Decoding of (Interleaved) Generalized Goppa Codes
Elumalai et al. Encoder And Decoder For (15113) and (63394) Binary BCH Code With Multiple Error Correction
Prashanthi et al. An advanced low complexity double error correction of an BCH decoder
TWI527383B (zh) A Fast BCH Code Decoding Method
US10623018B2 (en) Method of arrangement of an algorithm in cyclic redundancy check
Nabipour et al. Error Detection Mechanism Based on Bch Decoder and Root Finding of Polynomial Over Finite Fields
JPS6150416B2 (ko)
US9032277B1 (en) Parallel low and asymmetric rate Reed Solomon coding
CN117632577A (zh) 一种基于bch编码的快速ecc纠错电路

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant