KR20230107104A - 이분에 디 마이너스 1 바운드를 넘어선 비씨에이치 빠른 소프트 디코딩 - Google Patents
이분에 디 마이너스 1 바운드를 넘어선 비씨에이치 빠른 소프트 디코딩 Download PDFInfo
- Publication number
- KR20230107104A KR20230107104A KR1020220127268A KR20220127268A KR20230107104A KR 20230107104 A KR20230107104 A KR 20230107104A KR 1020220127268 A KR1020220127268 A KR 1020220127268A KR 20220127268 A KR20220127268 A KR 20220127268A KR 20230107104 A KR20230107104 A KR 20230107104A
- Authority
- KR
- South Korea
- Prior art keywords
- equation
- calculating
- codeword
- polynomial
- bch
- Prior art date
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 27
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 17
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 26
- 230000009897 systematic effect Effects 0.000 claims description 14
- 230000008030 elimination Effects 0.000 claims description 8
- 238000003379 elimination reaction Methods 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 description 43
- 239000013598 vector Substances 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 229910052709 silver Inorganic materials 0.000 description 4
- 239000004332 silver Substances 0.000 description 4
- 230000008094 contradictory effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 210000001783 ELP Anatomy 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 239000011324 bead Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 150000003017 phosphorus Chemical class 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/458—Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1525—Determination and particular use of error location polynomials
- H03M13/1535—Determination and particular use of error location polynomials using the Euclid algorithm
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
BCH(Bose-Chaudhuri-Hocquenghem) 소프트 에러 디코딩의 방법은 통신 채널을 통해 코드워드 x를 수신하는 단계, 상기 수신된 코드워드 x는 일부 r≥1에 대해 τ=t+r 에러들을 갖고, t=(d-1)/2이고, 그리고 d는 BCH 코드의 최소 거리이고, 아핀 공간(affine space) 의 최소 모노톤 베이시스(minimal monotone basis) 를 계산하는 단계, 는 에러 위치 다항식이고, S(x)는 신드롬이고, F[x] = GF(q)이고, m>1에 대해 이고, 매트릭스 를 계산하는 단계, 는 코드워드 x 내의 위크 비트들의이 세트이고, 구성된 서브매트릭스로부터 기인하는 상기 최소 모노톤 베이시스의 계수들을 이용하여 후보 에러 위치 다항식을 형성하는 단계, 패스트 치엔 검색을 수행하여 상기 후보 에러 위치 다항식을 검증하는 단계, 그리고 상기 후보 에러 위치 다항식에서 찾아진 에러 위치들에서 채널 경판정을 뒤집는 단계를 포함한다.
Description
본 기재의 실시 예들은 BCH(Bose-Chaudhuri-Hocquenghem) 및 소프트-BCH(SBCH) 코드들의 로(raw) 비트 에러율(BER)(Bit Error Rate) 커버리지를 개선하는, 에러 패턴들에서 매우 높은 확률로 발생하는 (d-1)/2 해밍 거리(hamming distance)를 넘어선 r 에러들을 갖는 BCH 코드들을 결정론적으로(deterministically) 디코딩하기 위한 알고리즘들에 관한 것이다.
체이스(Chase)로 인해 널리 알려지고 그리고 광범위하게 사용되는 BCH 소프트 디코딩 스킴은 위크(weak) 비트들을 랜덤으로 플립(flip)하고 그리고 플립 당 완전(full) 경판정(HD)(hard decision) BCH 디코딩을 수행함으로써, BCH 코드들을 결정론적으로 디코드 한다. 다른 종래의 패스트 체이스(fast Chase) 디코더들은 반복 당 부분 디코딩을 사용하지만, 이 디코더들은 에러 더 적은 범위의 에러 패턴들을 커버한다. Wu, et al.,의 패스트 체이스는 전통적인 HD BCH 디코더들을 넘어선 발전을 제안한 체이스 소프트 디코딩(soft decoding)과 비교하여 소프트 디코딩 능력(capability)을 증가시켰다. 그러나, 종래의 알고리즘들은 전체 에러-위치-다항식(ELP)(Error-Location-Polynomial)-타입 다항식들을 처리함으로써 근본적으로 반복 당 t+r 연산들을 필요로 하고, 그리고 에러들인 위크 비트들이 r+1 이상일 때에만 디코드할 수 있다.
본 기재의 목적은 반복 당 감소된 연산들을 필요로 하고, 그리고 감소된 복잡도를 갖는 에러 정정 알고리즘, 장치 및 방법을 제공하는 데에 있다.
본 기재의 실시 예들은 방법들을 제공하며, 방법들은: (1) (t+r)-키-방정식들의 선형 공간 솔루션들에 대한 디멘젼 바운드를 찾고 그리고 증명하는 것; (2) 코어 프로세싱의 키-방정식들의 r-사이즈 선형 베이시스에 링크된 작은 평가 세트로의 절감; (3) 반복들 사이의 거대한 연산 공유; 그리고 (4) 연관된 선형 방정식들의 솔루션을 지배하는 조합 순서를 제공한다. 본 기재의 실시 예들은 위크 비트들의 세트에 더 많은 에러들이 있을 때에 복잡도 절감을 제공한다. 본 기재의 실시 예들은 Wu의 알고리즘을 넘어선 소프트 디코딩 능력을 더 제공한다.
본 기재의 실시 예들에 따른 알고리즘은 베이시스의 평가 세트로부터 ELP-타입 다항식들로 통과함으로써 반복 당 r 연산들을 사용하고, 에러들인 위크 비트들의 수가 r-1 이상일 때 디코드할 수 있고, 그리고 위크 비트들 내의 에러들의 수가 증가함에 따라 복잡도의 실질적인 절감을 제공한다. 본 기재의 실시 예에 따른 설계는 에러들인 위크 비트들의 수가 r+1 이상일 때에 그리고 일 때에 언제나, 또한 에러들인 위크 비트들의 수가 r-1 이상이고 그리고 인 때에 언제나 디코딩을 가능하게 하고, 여기에서 w는 위크 비트들의 수이고, c>0이고, 그리고 C>0은 복잡도 예산(complexity budget)이다.
본 기재의 실시 예에 따르면, BCH(Bose-Chaudhuri-Hocquenghem) 소프트 에러 디코딩의 컴퓨터로 구현된 방법이 제공되고,방법은 통신 채널을 통해 코드워드 x를 수신하는 단계; 상기 수신된 코드워드 x는 일부 r≥1에 대해 τ=t+r 에러들을 갖고, t=(d-1)/2이고, 그리고 d는 BCH 코드의 최소 거리이고, 아핀 공간(affine space) 의 최소 모노톤 베이시스(minimal monotone basis) 를 계산하는 단계; 는 에러 위치 다항식이고, S(x)는 신드롬이고, F[x] = GF(q)이고, m>1에 대해 이고, 매트릭스 를 계산하는 단계; 는 코드워드 x 내의 위크 비트들의 세트이고, 메모리로부터 세트 W''=R(W')를 가져옴으로써 모든 서브 세트 를 처리하고, 에 하나의 행을 추가하고 그리고 에 대해 가우시안 제거 연산들을 수행함으로써 를 계산하는 단계; 그리고 의 첫 r' 열들이 시스티매틱(systematic) 매트릭스의 트랜스포즈(transpose)이고 그리고 일 때에 다음 동작들을 수행하는 단계를 포함하고, 1≤r≤r'이고, 다음 동작들은: 를 계산하는 단계; 는 의 도함수이고, 를 계산하여 로부터 공제하는 단계; 이고, u(x)는 F* 내의 스칼라이고, 일 때에, 가 되도록 모든 의 세트 L에 쌍 을 더하는 단계; 그리고 상기 세트 L을 출력하는 단계를 포함한다.
본 기재의 추가적인 실시 예에 따르면, 방법은 상기 세트 L 내의 계수들로부터 상기 에러 위치 다항식을 생성하고 그리고 상기 수신된 코드워드 x에서 찾아진 에러 위치들에서 채널 경판정을 뒤집는 단계를 더 포함한다.
본 기재의 추가적인 실시 예에 따르면, 방법은 deg(u(x))≥1일 때에, W'의 프로세싱을 종료하는 단계를 더 포함한다.
본 기재의 추가적인 실시 예에 따르면, 방법은 를 계산하기 전에, 이도록 모든 에 대해 쌍 을 계산하는 단계를 더 포함하고, 는 W1 내의 모든 에 대해 이게 하는 고유한 다항식이다.
본 기재의 실시 예에 따르면, 컴퓨터로 독출 가능하고, 상기 컴퓨터에 의해 실행되어 BCH(Bose-Chaudhuri-Hocquenghem) 소프트 에러 디코딩을 위한 방법 단계들을 수행하는 명령어들의 프로그램을 실재하게 실장하는 비-일시적인 프로그램 스토리지 장치가 제공된다. 상기 방법 단계들은: 통신 채널을 통해 코드워드 x를 수신하는 단계; 상기 수신된 코드워드 x는 일부 r≥1에 대해 τ=t+r 에러들을 갖고, t=(d-1)/2이고, 그리고 d는 BCH 코드의 최소 거리이고, 아핀 공간(affine space) 의 최소 모노톤 베이시스(minimal monotone basis) 를 계산하는 단계; 는 에러 위치 다항식이고, S(x)는 신드롬이고, F[x] = GF(q)이고, m>1에 대해 이고, 매트릭스 를 계산하는 단계; 는 코드워드 x 내의 위크 비트들의이 세트이고, 마지막 열이 다른 열들의 선형 조합이도록, A의 서브세트들의 r+1 행들의 서브 매트릭스들로부터 r+1 행들의 서브매트릭스들을 구성하는 단계; 상기 구성된 서브매트릭스로부터 기인하는 상기 최소 모노톤 베이시스의 계수들을 이용하여 후보 에러 위치 다항식을 형성하는 단계; 패스트 치엔 검색을 수행하는 단계; 상기 후보 에러 위치 다항식이 검증되고, 그리고 상기 후보 에러 위치 다항식에서 찾아진 에러 위치들에서 채널 경판정을 뒤집고 디코딩된 코드워드 x를 반환하는 단계를 포함한다.
본 기재의 추가적인 실시 예에 따르면, 상기 마지막 열이 다른 열들의 선형 조합이도록, A의 서브세트들의 r+1 행들의 서브 매트릭스들로부터 r+1 행들의 서브매트릭스들을 구성하는 단계는: 메모리로부터 세트 W''=R(W')를 가져옴으로써 모든 서브 세트 를 처리하고, 에 하나의 행을 추가하고 그리고 에 대해 가우시안 제거 연산들을 수행함으로써 를 계산하는 단계; R(W')는 W' 내의 비트들의 신뢰성 확률들이고, 그리고 의 첫 r' 열들이 시스티매틱(systematic) 매트릭스의 트랜스포즈(transpose)이고 그리고 일 때에 다음 동작들을 수행하는 단계를 포함하고, 1≤r≤r'이고, 다음 동작들은: 를 계산하는 단계; 는 의 도함수이고, 를 계산하여 로부터 공제하는 단계; 이고, u(x)는 F* 내의 스칼라이고, 일 때에, 가 되도록 모든 의 세트 L에 쌍 을 더하는 단계; 그리고 상기 세트 L을 출력하는 단계를 포함한다.
본 기재의 실시 예에 따르면, 컴퓨터 메모리-기반 제품이 제공된다. 컴퓨터 메모리-기반 제품은 메모리; 그리고 컴퓨터에 의해 실행되어 BCH(Bose-Chaudhuri-Hocquenghem) 소프트 에러 디코딩을 위한 방법 단계들을 수행하는 명령어들의 프로그램을 실재하게 실장하는 디지털 회로를 포함한다.
본 기재의 추가적인 실시 예에 따르면, 상기 메모리는 솔리드-스테이트 드라이브, 유니버설 플래시 스토리지, 또는 DRAM의 적어도 하나이다.
본 기재의 실시 예들에 따르면, 반복 당 감소된 연산들을 필요로 하고, 그리고 감소된 복잡도를 갖는 에러 정정 알고리즘, 장치 및 방법이 제공된다.
도 1은 본 기재의 실시 예에 따른 에러 디코딩 알고리즘의 순서도이다.
도 2는 본 기재의 실시 예에 따른 에러 디코딩 알고리즘을 구현하기 위한 새로운 아키텍처의 블록도이다.
도 3은 본 기재의 실시 예에 따른 에러 디코딩 알고리즘을 구현하기 위한 시스템의 블록도이다.
도 2는 본 기재의 실시 예에 따른 에러 디코딩 알고리즘을 구현하기 위한 새로운 아키텍처의 블록도이다.
도 3은 본 기재의 실시 예에 따른 에러 디코딩 알고리즘을 구현하기 위한 시스템의 블록도이다.
도입 - 파트 1
m은 1보다 크고(m>1), q는 2^m이고(q=2m), F=GF(q)이고, d는 BCH 코드의 최소 거리이고, t=(d-1)/2이고, 그리고 a는 F의 원시 요소들(primitive elements)인 것을 가정한다. 은 BCH 코드 길이이고, 그리고 k=n-2t은 코드 디멘젼(dimension)이다. 평가 세트(evaluation set)가 이고, 그리고 패리티 체크 매트릭스가 이고, 그리고 1≤i≤2t, 1≤j≤n인 BCH 코드를 가정한다.
코드워드 가 전송되고, 그리고 워드 가 수신된다. 에러 워드는 이고, 그리고 는 에러 위치들의 세트이며 eu=1이다. 디코더는 내의 벡터인 표준 BCH 신드롬 를 계산한다. 신드롬 다항식은 수학식 1과 같다.
수신기는 처음에 치엔(Chien) 검색과 조합된 표준 BM(Berlekamp-Massey) 으로 디코드를 시도한다. 이것이 실패하면, 수신기는 본 기재의 실시 예에 따른 제안된 패스트 소프트 디코딩을 진행한다. BM을 실패하는 것은 수신된 워드가 몇몇 r≥1에 대해 τ=t+r 에러들을 가짐을 의미한다. 에러 위치들의 세트는 에 의해 나타내어지며, E0는 디코더에 알려지지 않는다. 다음의 알고리즘은 에러들의 수가 1≤r'≤r인 때에 항상 성공한다. 초기에 소프트 디코딩은 W⊆A의 위크 비드들을 관찰한다. 통상적으로, 이다. 에러 위치 다항식(ELP)은 수학식 2로 표현된다.
를 설정한다. β∈F에 대해, 이면 그리고 이 경우에만(iff)(if and only if) β∈E를 유지한다. 다음의 패스트 소프트 디코딩 알고리즘의 작업은 처음에 를 찾고 그리고 E를 찾는 것이다. BCH 키(key) 방정식들을 떠올리면, 다음의 아핀(affine) 다항식 공간이 수학식 3 및 수학식 4로 정의된다.
W는 예를 들어 로그-우도비들(log-likelihood ratios)에 의해 판단될 수 있으며, 이는 공통적인 케이스일 수 있다. 사실, 가 더 클수록, 알고리즘은 더 빨라진다.
도입 - 파트 2
위의 표기에 따라, m≥1, q=2m, F=GF(q)를 설정하고, 그리고 d=2t+1를 코드 최소 거리(code minimal distance)로 정하고, 그리고 t+r(t≥r≥1)을 알고리즘이 정정할 수 있음을 보장하는 에러들의 최대 수로 정한다. 이 섹션(section)은 ECC 및 BCH 맥락의 상세들 없이, V에 대한 기저(basis)를 세우는 상세들 및 수학적 근거들 없이, BCH 소프트 디코딩의 개괄(overview)을 제공한다.
실시 예로서, 펄스 알람(FA)(false alarm)은 ELP(Error Location Polynomial)가 아닌 알고리즘에 의해 체크되는 다항식의 최소 이상의 처리를 의미한다. 구체적으로, FA는 연산적으로 무거운 치엔(Chien) 검색을 불필요하게 활성화하는 것을 포함할 수 있다. 실시 예에 따른 알고리즘은 치엔 검색의 사용을 최소화하고 그리고 FA가 발생할 때의 다른 검증들을 줄이는 빌트인 메커니즘을 가질 수 있다. 구체적으로, 실시 예에 따른 알고리즘은 FA들의 버스트(burst)를 예견하고 그리고 감소된 복잡도로 FA들의 버스트를 검출한다. 이러한 FA들은 위크 비트들(weak bits)에 다중 에러들을 갖는 ELP로부터 유래할 수 있다.
치엔 알고리즘이라 불리는 표준 BCH 소프트 디코딩 알고리즘에서, 각 프로브(probe)는 qХt 프로덕트들(products)에 의해 수행되는 치엔 검색을 필요로 하지만, 실시 예에 따른 알고리즘은 O(r) 프로덕트들을 필요로 하며, 이는 매우 큰 감소이다. 예측되는 낮은 수의 치엔 검색의 증거는 확률 바운드들 1 및 2(PB1, PB2)로 알려진 BCH 확률 바운드들이 기반하며, 이는 펄스 알람 확률이 q-1, 또는 (일부 관심 사례들에서 s>1)의 상한을 가짐을 언급한다.
N≥1에 대해, 이면 는 홀수-제곱(odd-square)이라 불린다. 다음의 개괄에서, 실시 예에 따른 알고리즘의 메인 입력은 랜덤 홀수-제곱 다항식 'b(x)F[x]'이다. 이는 신드롬 다항식의 일반화된 형태이다.
유클리드 알고리즘(Euclidean algorithm)을 이용한 N 이하의 디그리(degree)의 두 다항식들의 GCD(Greatest Common Divisors)의 연산은 N2 프로덕트들로 수행될 수 있다.
아래에 제시된 알고리즘들의 이론적 정당성은 이 상세한 설명이 후속하는 부록(appendix)에 제공된다.
입력
이 일반적인 설정에서, 알고리즘의 입력은 다음과 같다.
(1) b(x)∈F[x]. 임의의 홀수-제곱 다항식. 이는 이진 코드워드임.
설정, 표기, 프로세싱 원리, 그리고 실행 메모리
0≤r'≤r에 대해, 수학식 7을 정의한다.
일반성을 잃지 않고, dim(V)=r이 가정될 수 있다.
1≤r'≤r이다. 고유성 보조 정리(uniqueness lemma)에 의해, 이 분리될 수 있으면(separable), 그리고 Z⊆F에 대해 |Z|≥r'이면, Z는 에 대한 제로 세트(zero set)이고, 즉 이고, 그리고 는 Z가 제로 세트인 에서 유일한 다항식이다.
정의
Q⊆W에 대해, 를 Q*에 속하지 않는 모든 행들(rows)을 누락시킴으로써(omitting) A로부터 획득되는 매트릭스(matrix)로 정의하고, 는 행 공간이 와 동일하며 세미 시스티매틱(semi systematic) 매트로도 참조되는 고유한 감소된 행 계층(RRE)(Reduced Row Echelon)이다.
B=[I, C]이면, 즉 I는 유닛 매트릭스이고 B는 I 및 C를 하나의 매트릭스로 연결한 것이면, 매트릭스 B는 시스티매틱이라 불린다.
순서 및 프로세싱 원리의 설정
W의 서브셋들은 통상적으로 사전적인 전체 순서 '<', 예를 들어 깊이 우선 순서로 정렬되며, 임의의 W1 및 W2에 대해, W1<W2이고 그리고 W1이 W2보다 먼저 처리되면, W의 서브셋들은 이다. 모든 W'⊆W에 대해 이도록 매핑 R이 존재하며, 다음을 유지하도록 고유한 이 존재하고 그리고 이다.
(1) 실행 메모리 . 모든 W'⊆W 및 에 대해, W' 전에 저장된 실행 메모리가 처리되고, 실행 메모리는 를 포함하고, i∈[j]에 대해 이고, 이고, 그리고 이며, 이는 실행 메모리가 매우 작음을 암시한다.
(2) 연산 공유 . 인 모든 W'⊆W에 대해, W'이 처리될 때, 디코더는 처음에 를 연산한다. 이는 메모리로부터 행렬 를 가져온 후에 수행되고, 를 연산하는데 최소한의 델타 가우시안 소거 연산들(delta Gaussian elimination operations)을 수행한다. 이는 W' 당 평균 O(r) 프로덕트들을 갖는다.
출력
실시 예에 따른 알고리즘은 코드워드들의 리스트(list)를 출력하는 리스트 디코더(list decoder)이다. 리스트의 하나의 코드워드는 오리지널 유효(valid) 코드워드이다. 출력은 코드워드들의 어레이인 세트 L이며, 모든 에 대해 1≤r'≤r, 이고, 이고, 그리고 이다.
단계들
도 1은 본 기재의 실시 예에 따른 에러 디코딩 알고리즘의 순서도이다. 도면을 참조하면, 실시 예에 따른 알고리즘은 101 단계에서 코드워드 x를 수신함으로써 시작한다.
(i) 102 단계에서, 실시 예에 따른 알고리즘은 우선 의 최소 모노톤 베이시스(minimal monotone basis)를 계산하고, 그리고 103 단계에서 위에서 정의된 매트릭스 A를 계산하고, 또한 를 계산한다.
V의 최소 모노톤 베이시스 및 매트릭스 A를 계산하기 위한 방법들은 이 분야에 알려져 있다.
(ii) 104 단계에서, 실시 예에 따른 알고리즘은 순서 '<'에 따라, 인 모든 세트 W'⊆W를 통과한다. 이고 W'⊆W이 처리될 때에, 디코더는 읽기 데이터이고 신뢰성 확률인 W''=R(W')를 실행 메모리로부터 가져오고, 그리고 다항식 벡터 b(x)를 하나의 행으로서 에 추가하고 그리고 코드워드를 생성하기 위한 최소 횟수의 가우시안 제거 연산들을 수행함으로써, 베이시스 를 계산한다. 105 단계에서, 의 첫 r' 열들이 시스티매틱 매트릭스의 트랜스포즈(transpose)이면, 고유한 가 존재하면 모든 에 대해 이라고 디코더에게 알려주는 인스턴트 체크(instant check)가 수행된다. 응답이 긍정적이고 그리고 이면 다음의 단계들이 수행되고, 그렇지 않으면 W'의 프로세싱은 109에서 종료되고 세트 L이 출력된다.
(s2) 107 단계에서, u(x)가 F*내의 스칼라(scalar)이면(즉, 가 분리 가능하면), (즉, 치엔 검색)를 계산하고 그리고 로부터 이를 공제한다. 그렇지 않으면, W'의 프로세싱은 109에서 종료한다.
위에서 언급된 바와 같이, 이 프로세싱은 종래 기술의 표준 O(r3) 대신 평균 O(r) 프로덕트들을 필요로 한다..
커멘트 및 일부 구별되는 경우의 펄스 알람의 추가적인 감소
(1) (i)에 후속하여, 표준 방법의 t+r' 대신에, 실시 예에 따른 알고리즘에서, 에 대한 그리고 서브세트 U⊆F, 예를 들어, 일 때의 치엔 검색의 계산이 각 에 대해 r' 프로덕트들을 필요로 하는 패스트 모드에서 수행된다. 이는 이 의 선형 조합이라는 사실에서 기인한다.
(2) 아래 부록에 기술된 확률 바운드 2(PB2)에 따르면, BCH 디코딩에서, 인 W'⊆W에 대해, ELP가 아니고 인 가 존재할 확률은 에 의해 상한이 제한된다. s=1이면, 알고리즘에서 의 프로덕트는 다시 나타나지 않는다.
(3) s=a+1이고, a≥1이고, 이고, 그리고 인 W'⊆W 및 분리 가능한 이 존재하여 임을 가정한다. 이러한 이벤트는 그것의 디그리(degree)와 비교하여 V 내의 다항식 당 W 내의 제로들의 오버플로우의 이벤트로 묘사될 수 있다.
이는 서브세트 W1의 처리의 일부로서, 위의 실시 예에 따른 알고리즘에 의해 가 불필요하게 처리될 것임을 견지한다. 이러한 원하지 않는 발생의 가능성은 수학식 10의 사실에 따른다.
가 ELP가 아닌 (3)의 발생률도 매우 낮지만(위의 (2)를 참조), 이는 가 ELP인 때에 때때로 발생할 수 있다. 이는 알고리즘의 입력에 의존한다. (3)이 발생할 때, 몇몇 에 대해, 실시 예에서, 디코더는 (3)을 만족하는 최소 r'에 대한 다음 조건 하에, (s1)에 앞서 다음의 (s0)의 예비 단계를 수행할 수 있다.
(s0) 모든 그리고 쌍에 대해, 이고, W1⊆W이고, 그리고 이다. 는 고유한 다항식이며, 이다. 디코더는 W1에서 모든 에 대해 를 계산하고, 프로세서는 W1의 프로세싱을 종료한다.
개괄
실시 예에 따른 디코딩 시스템이 도 2에 도시된다. 실시 예에 따르면, (n, k, d) BCH 코드워드를 로 표시하고, 이고, k는 코드 디메젼이고, n은 코드 길이이고, 그리고 d는 BCH 코드 최소 거리(minimal distance)이다. 코드워드는 채널(10)을 통해 독립적이고 동일하게 분포된 천이 확률 로 전송되고, 이고, 그리고 이다. 경판정 디코더(11)는 체널 출력을 수신하고 그리고 코드워드 를 디코드한다. 심볼 i의 로그 우도비는 주어진 채널 값 를 수학식 11로, 그리고 를 채널 경판정으로 나타내며, 수학식 12가 성립한다.
실시 예에 따르면, BCH 소프트 디코더 알고리즘의 개괄은 다음과 같다.
입력: z, y
1. 위크 비트들 위치들을 찾기(가장 낮은 우도비):
2. t+r 키 방정식에 대한 솔루션은 r 디멘져널 아핀 공간을 형성함.
높은 확률로, ELP는 이 베이시스의 아핀 조합으로 주어짐.
a. 솔루션 매트릭스를 계산
b. A의 서브세트들의 r+1 행들의 서브 매트릭스들의 모든 조합을 살펴, 마지막 열이 다른 열들의 선형 조합게 하는 r+1 행들의 서브 매트릭스들을 찾음.
이 부분은 아핀 베이시스 b의 계수들 및 r+1 에러 위치들을 수신한다.
이는 알고리즘의 메인 파트이고, 위의 (ii), s1, s2 및 s3 단계들에서 상세히 설명된다.
연산 공유는 각 체크의 복잡도를 O(r3)로부터 O(r)로 줄인다.
c. 결과적인 계수들을 이용하여 후보 ELP를 형성.
4. 패스트 치엔 검색을 수행하여 후보 ELP 및 에러 위치를 검증.
시스템 구현
본 기재의 실시 예들은 다양한 형태의 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서, 또는 이들의 조합으로 구현될 수 있음이 이해될 것이다. 일 실시 예에서, 본 기재는 ASIC(application-specific integrated circuit) 또는 FPGA(field programmable gate array)로서 하드웨어로 구현될 수 있다. 다른 실시 예에서, 본 기재는 컴퓨터로 판독 가능한 프로그램 저장 장치에 구현된 유형의 응용 프로그램으로서 소프트웨어로 구현될 수 있다. 응용 프로그램은 임의의 적절한 아키텍처를 포함하는 기계로 업로드되고, 기계에 의해 실행될 수 있다.
추가적으로, 본 기재의 실시 예들의 구현은 SSD(solid-state drive), UFS(universal flash storage) 제품들, DRAM 모듈들 등과 같은 임의의 메모리-기반 제품에 사용되거나 통합될 수 있다.
도 3은 본 기재의 실시 예에 따른 에러 디코딩 알고리즘을 구현하기 위한 시스템의 블록도이다. 도 3을 참조하면, 본 기재를 구현하기 위한 컴퓨터 시스템(31)은 중앙 처리부(CPU) 또는 컨트롤러(32), 메모리(33), 그리고 입력/출력(I/O) 인터페이스(34)를 포함할 수 있다. 컴퓨터 시스템(31)은 일반적으로 I/O 인터페이스(34)를 통해 디스플레이(35) 및 마우스와 키보드와 같은 다양한 입력 장치들(36)과 결합된다. 지원 회로들은 캐시, 파워 서플라이, 클럭 회로들, 그리고 통신 버스와 같은 회로들을 포함할 수 있다. 메모리(33)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, 테이브 드라이브 등, 또는 이들의 조합들을 포함할 수 있다. 본 기재는 메모리(33)에 저장되고 그리고 CPU 또는 컨트롤러(32)에 의해 실행되어 신호 소스(38)로부터의 신호를 처리하는 루틴(37)으로 구현될 수 있다. 컴퓨터 시스템(31)은 본 기재의 루틴(37)을 실행할 때에 특수 목적 컴퓨터 시스템이 되는 범용 컴퓨터 시스템이다. 또는, 위에서 기술된 바와 같이, 본 기재의 실시 예들은 CPU 또는 컨트롤러(32)와 신호 통신하여 신호 소스(38)로부터의 신호를 처리하는 ASIC 또는 FPGA(37)로 구현될 수 있다.
컴퓨터 시스템(31)은 또한 운영 체제 및 마이크로 명령어 코드를 포함한다. 여기에 기술된 다양한 프로세스들 및 기능들은 운영 체제에 의해 실행되는 마이크로 명령어 코드의 일부 또는 응용 프로그램의 일부(또는 이들의 조합)일 수 있다. 또한, 추가적인 데이터 스토리지 장치 및 프린팅 장치와 같은 다양한 다른 주변 장치들이 컴퓨터 플랫폼에 연결될 수 있다.
첨부된 도면들에서 개시된 구성 시스템 구성 요소들 및 방법 단계들이 소프트웨어로 구현될 수 있으므로, 시스템 구성 요소들(또는 프로세스 단계들)은 본 기재가 프로그램되는 방식에 의존하여 다를 수 있다. 여기에 제공된 본 기재의 가르침이 주어지면, 연관된 분야에 통상의 기술을 가진 자는 본 기재의 이러한 그리고 유사한 구현들 또는 구성들을 고려할 수 있을 것이다.
부록
1. BCH 키 방정식의 분석 Ⅰ: (D-1)/2의 범위를 넘어, 그리고 디멘젼 균등성(Dimension Equality)
1.1 도입
정의 1:
(i) F에 대한 n 디멘져널 벡터 공간 V 및 U⊆V에 대해, v∈V이고 그리고 아핀 공간 v+U의 디멘젼을 n으로 정의하고, 수학식 16이라 한다.
그러면, 수학식 18의 균등성이 성립한다.
증명. 라 쓸 수 있고, 이다. 다시 말하면, 모든 다항식은 제곱 다항식(square polynomial) 및 다중도(multiplicity) 1의 루트들을 갖는 다항식의 프로덕트로 고유하게 표현될 수 있다. 이는 수학식 19를 견지한다.
따라서, 수학식 20이 성립한다.
보조정리 2. 인 및 를 가정한다. K는 모든 의 루트들을 포함하는 F의 확장 필드로 가정한다. 는 로 표현되며, 는 서로 다르고, 그리고 r(j)≥1이다. 그러면 수학식 21이 성립한다.
및 b(x)의 디그리(degree)에 대해 어떤 가정도 하지 않으며, s≤N도 가정하지 않는다. 따라서, b(x)=0일 수도 있다. 수학식 21의 (2)가 성립할 때, 수학식 22가 성립한다.
이는 모든 0≤k≤N-1에 대해, 수학식 24와 균등하다.
다음의 보조정리는 BCH Berlekamp Massey 알고리즘에서 짝수 반복들을 생력할 수 있게 한다.
또한, 수학식 28이 성립한다.
이는 모든 0≤k≤N에 대해 이게 한다. 따라서, 보조정리 2의 다른 방향에 의해, 이다. 의 모든 홀수 계수들이 0이므로, 내의 의 계수들이 0이고, 따라서 의 계수들이 0이다.
1.2 정의
또는 임은 명백하다. 위의 보조정리에 의해, 일부 τ에 대해 이고 그리고 L≤N이면 b(x)는 홀수-제곱이다. 가 엠프티(empty)가 아니고 그리고 가 의 임의의 요소이면, 수학식 30이 성립한다.
1.3 디멘젼 바운드 1 및 2
따라서 이고, 즉 (논엠프티(nonempty))은 하나의 추가적인 선형 호모지니어스 방정식에 의해 으로부터 획득되는 아핀 공간이다. 이는 이게 한다. 다음으로, 앞선 보조정리에 의해, 일 때에, 수학식 35가 성립한다.
결과적으로 보조정리 5가 획득된다.
증명. 이 보조정리는 이전 보조정리 및 수학식 37의 선언으로부터 유래한다.
는 서로 다르다. A를 및 의 대칭적 차이로 정의한다(두 세트들의 대칭적 차이는 세트들 중 하나이고 교집합이 아닌 요소들의 세트이다). 보조정리 2에 의해, 모든 0≤k≤L-1에 대해 수학식 40이 성립한다.
즉, 모든 0≤k≤L-1에 대해, 수학식 41이 성립한다.
1.4 고유성 보조정리 1 (UL1)
다음의 q조정리는 F가 특성 2(characyeristic 2)를 갖는 사실을 이용한다.
보조정리 6:
증명.
Ⅱ. 이는 수학식 45의 가정에서 기인한다.
1.5 논호모지니어스 선형 방정식들이 기본 규칙
완전성을 위해, 다음의 알려진 사실이 제시된다.
사실. A를 필드 K(임의의 특성을 가진 일반적인 필드)에 대한 MХ(N+1) 매트릭스이고, 그리고 B를 A의 바닥에 v라 불리는 하나의 추가적인 행을 추가함으로써 A로부터 획득되는 K에 대한 (M+1)ХN 매트릭스라 한다. 모든 에 대해 수학식 48이 성립하면, v는 A의 행 공간 내에 있다.
증명. 수학식 49(호모지니어스 방정식들에 대한 솔루션들의 세트) 및 수학식 50을 가정한다.
C*은 마지막 열을 제거함으로써 매트릭스 C로부터 획득되는(C가 하나의 행을 포함하는 케이스를 포함하여) 매트릭스이다.
1.6 디멘젼 균등성(Dimension Equality)
따라서, 위의 사실에 의해, 형식(formal) 선형 방정식 은 F에대한 형식 선형 방정식들 ( 내의 계수들의 벡터로 보여지는)에 선형 종속적이다. 이는 수학식 53을 모든 짝수 에 대해 수학식 57과 균등하게 한다.
위의 보조정리 5에 의해 이고, 즉 이다. 따라서, 수학식 57에 N=L을 입력하면, 는 τ 미지수들(unknowns)에서 τ 형식 선형 방정식들의 독립적인 세트이다. 따라서, 짝수 에 대해, 은 의 솔루션들의 세트이다. 따라서, 독립적인 선형 방정식들의 수가 (L-N)/2만큼 절감되고, 따라서 이다.
이 증명은 또한 아래 고유성 보조정리 2의 대안적인 증명이다.
1.7 디멘젼 균등성과 연관된 예
1.8 디멘젼 등가성을 BCH의 신드롬 다항식에 적용
t≥r≥1이고, d=2t+1이고, 그리고 n>k≥1라 하고, n*-k*=d이고, [n*,k*] BCH 코드를 고려하고, 그리고 전송된 코드워드는 에 위치한 τ=t+r 에러들을 가짐을 가정한다. 를 설정한다. 모든 0≤k≤2τ-1에 대해 신드롬을 수학식 59로 정의한다.
ELP를 수학식 61로 정의한다.
보조정리 2에 의해, 수학식 62가 성립한다.
다음의 섹션에서, V의 이 (낮은) 디멘젼은 낮은 복잡도를 가능하게 하는데 역할을 수행한다. 수학식 63이 성립한다.
디코더는 이 공간을 '알고', 그것에 대한 베이시스를 찾을 수 있다.
2. BCH 키 방정식들의 분석 Ⅱ
2.1 키 방정식 솔루션들에 대한 다항식 나눗셈들
보조정리 8.
Ⅱ. 수학식 67의 가정을 더한다.
증명.
수학식 68은 수학식 69를 암시한다.
따라서, (3)에 의해, 수학식 70이 성립한다.
p'(x)= 0이면 수학식 72가 성립한다.
2.2 키 방정식 솔루션들에 대한 다항식 나눗셈들 - BCH 일반화
는 서로 다르고, 그리고 r(j)≥1이다. 마찬가지로, 는 서로 다르고, r'(j)≥1이다. A를 및 의 대칭적 차이로 정의한다. 0≤k≤N-1에 대해, 보조정리 2로부터, 수학식 75가 도출된다.
즉, 수학식 76이 성립한다.
수학식 78을 정의한다.
수학식 78에 의해, F[x] 내에 다항식들 g(x) 및 h(x)가 존재하고, g(0)=h(0)=1이고, 그리고 수학식 79가 성립한다.
2.3 리드-솔로몬(RS)에 대한 연속 원리(continuation principle)
증명. k=N:(L-1)을 정의하고, 귀납적으로(inductively), 증가하는 순서로, 수학식 82를 정의한다.
수학식 80의 (1)을 갖는 수학식 83은 수학식 81의 (4)와 균등하다. 수학식 83이 수학식 82를 암시하므로, 고유성은 유도에 의해 성립된다.
2.4 BCH에 대한 연속 원리
보조정리 9에 의해, {bk:N<k≤L}은 고유하다.
증명. K를 의 모든 루트들을 포함하는 F의 확장 필드라 한다. 는 로 표현되고, 는 서로 다르고, 그리고 r(j)≥1이다. 보조정리 2에 의해, 로부터 모든 0≤k≤N-1에 대해 수학식 87이 성립한다.
모든 M≤k≤L-1에 대해 수학식 88을 정의한다.
2.5 키 방정식 솔루션 1에 대한 BCH 확률 바운드 (PB1)
증명.
Ⅰ. 디그리<2t의 홀수-제곱 다항식들의 세트는 수학식 90으로 표현된다.
수학식 91을 정의한다.
또한, 수학식 93이 만족된다.
보조정리 11 및 그것의 증명에 의해, 는 정확히 하나의 다항식을 포함하고, 수학식 93에 이해, 이 다항식은 또한 내에 있다. 반면, 정의 그리고 보조정리 10 및 그것의 증명으로부터, 는 명백하며, 이는 가 키 방정식들에 의해 고유하게 결정되고 그리고 는 F로부터 자유롭게 선택될 수 있고, 그리고 는 모든 0≤k<t-1에 대한 방정식 을 통해 A 및 B에 의해 고유하게 결정된다. 이는 수학식 95를 성립한다.
균일 분산으로 V로부터 b(x)를 랜덤하게 샘플하고 그리고 R을 b(x)가 수학식 97 내에 있는 사건이라고 한다.
그러면 몇몇 에 대해 b(x)는 의 (랜덤) 요소임이 성립한다. 따라서 b(x)가 위의 내에 있는 확률은 정확히 이다. 이는 분리 가능한 가 존재하여 수학식 89가 성립할 확률이 수학식 98이 되게 한다.
수학식 98은 Ⅰ을 증명한다.
u(x) 또한 1이 될 수 있다. j=deg(u(x))라고 하면, 이다. 위에서, (a2)가 만족될 때에 V로부터 b(x)를 랜덤하게 샘플할 때의 획률은 임이 증명되었다. 따라서 수학식 89가 만족될 확률은 수학식 100에 의해 상한된다.
2.6 RS 및 BCH와 연관된 일반적인 다항식 나눗셈 원칙들
수학식 109로부터 수학식 113이 성립한다.
이는 수학식 111을 증명한다.
M≤N/2인 때에, 고유성은 BCH의 경우와 동일한 반데르몽드 독립성 아구먼트(independency arguament)에서 기인한다.
3. 키 방정식들의 분석 Ⅲ
3.1 고유성 및 확장 보조정리들
모든 에 대해, 의 루트들은 0이 아니다. 다음의 보조정리는 솔루션의 특정한 특이점들을 제거한다. 이는 V가 ELP 내에 있으면, ELP와 공통으로 W 내의 r 루트들을 갖는 V 내의 임의의 다항식이 실제 ELP임을 암시한다.
보조정리 15 (고유성 보조정리 2(UL2)). t≥1, r≥1, 그리고 는 홀수-제곱이고, 이고, 이고, 는 분리 가능함을 가정한다. 또한, 몇몇 에 대해, 그리고 모든 에 대해, 를 가정한다. 이러면 가 성립한다.
0≤t'≤t, r(j)≥1이고, 그리고 는 서로 다르고, 그리고 는 서로 다르다. 이고, 그리고 이다. 따라서, 일반성의 손실 없이, 가 가정된다. ㄹ이고, 라 한다. t'≤t-b이다. 보조정리 2에 의해, 모든 0≤k≤2t-1에 대해, 수학식 116이 성립한다.
따라서, 모든 0≤k≤2t-1에 대해, 수학식 117이 성립한다.
즉, 수학식 118이 성립한다.
따라서, 수학식 119가 성립한다.
수학식 120이 성립한다.
그리고 수학식 121을 정의한다.
C가 엠프티 세트가 아니면, 이는 인 (2t)*|C| 반데르몽드 매트릭스의 열들의 선형 종속성을 생성하므로 모순된다. 따라서, 이며, 따라서, 이고 그리고 이거, 즉 이다. 이는 하게 한다.
이러면, 수학식 124가 성립한다.
3.2 디멘젼 바운드 3(DB3)
증명. τ≥N-1인 케이스는 적다. 의 임의의 베이시스에 다항식 을 더하면, 의 베이시스가 획득되고, 따라서 이 경우에 △=1이다. 이제부터 τ<N-1이라 가정한다. 다항식 은 내에 있고, 그리고 이 경우에만 이고 그리고 모든 0≤k<n에 대해 수학식 126이 성립한다(i>τ에 대해 이라 정의함).
를 GF(2) 크로네커 델타(Kronecker delta)라 한다. 즉, 정수들 i, k에 대해, i=j이면 이고, 그리고 i≠j이면 이다. 수학식 128의 내의 N 행 벡터들을 고려한다.
결과적으로 보조정리 18이 획득된다.
보조정리 18 (디멘젼 바운드 3)
3.3 미드웨이 디그리 ELP에 대한 디멘젼 바운드 4(DB4)
이러면, 수학식 133이 성립한다.
증명.
Ⅰ. 디멘젼 균등성에 의해, 수학식 134가 성립한다.
DB3에 의해, 수학식 135가 성립한다.
이는 수학식 136을 성립한다.
Ⅱ. Ⅰ의 증명에 따른다.
4. 다항식 디그리 절감 보조정리, 그리고 확률적 바운드
4.1 1 디그리만큼 키 방정식을 절감
이러면 수학식 139가 성립한다.
증명. 수학식 140이 성립한다.
따라서, 수학식 137에 의해, 수학식 141이 성립한다.
수학식 142는 수학식 139를 증명한다.
4.2 키 방정식을 임의의 수의 디그리만큼 절감
보조정리 20의 결과로서 보조정리 21이 획득된다.
이는 수학식 145를 성립한다.
4.3 키 방정식 솔루션 2(PB2)에 대한 BCH 확률적 바운드
도입. 확률적 관찰이 기재된다. 다음의 이벤트 A는 메인 소프트 디코딩 알고리즘의 이벤트의 프로토타입이고, 키 방정식에 대한 솔루션은 펄스 ELP 후보로 판명되고, 따라서 몇몇 추가적인 복잡도를 필요로 한다. 이 이벤트는 제1 버전에서 에 가깝고 그리고 제2 버전에서 에 가까운 확률을 가짐이 보여진다. 제2 버전에서, 크지 않은 수의 펄스 후보들이 존재하고, 따라서 치엔 검색을 필요로 하는 펄스 알람으로 인한 크지 않은 수의 추가적인 복잡도가 있다.
증명. 수학식 147을 정의한다.
보조정리 21에 의해, 수학식 148이 성립한다.
5. 다항식들의 아핀 공간 및 디멘젼 설정의 최소 모노톤 베이시스
5.1 최소 모노톤 베이시스
에 대해 이면, 일련의 다항식들 은 모노톤이라 불린다. s-디멘져널 서브스페이스 에 대해, A가 모노톤이고 또한 U의 베이시스이면, 는 모노톤이라 불린다. U에 대한 다수의 모노톤 베이스가 있을 수 있지만,는 주어진 U에 대해 고유하고, 그리고 선택된 모노톤 베이시스에 독립적이다. A 내의 모든 다항식이 모닉(monic)이고, 그리고 모든 에 대해, 에 대한 의 계수가 모든 에 대해 0이면(),는 U의 캐노닉(canonic) 베이시스라 불린다. 아래의 [GU]에 의해, 캐노닉 베이시스는 고유하다. 라 하고, 아핀 공간 W=U+p*(x)를 정의한다. 가 U의 모노톤 베이시스이고, 그리고 이면, 는 W의 모노톤 베이시스라 불린다. B가 모노톤이고 그리고 가 모든 베이스들 중 최소이면, B는 W의 최소 모노톤 베이시스라 불린다. 가 W의 최소 모노톤 베이시스일 때, 는 내에 있지 않으며, 따라서 이다. 반대로, 가 U의 임의의 모노톤 베이시스이면, 에 대해, 가 W의 최소 모노톤 베이시스이다.
5.2 알고리즘에 대한 메인 디멘져널 설정
일반적으로, 일련의 알고리즘을 수행하기 전에, 가 존재하면, 주어진 b(x) 및 r은 알 수 없다. 그러나 DB4Ⅱ 덕분에(위의 섹션 3.3 참조), 수학식 149는 후속 알고리즘에서 관심을 갖는 유일한 케이스이다. 따라서 를 V의 최소 모노톤 베이시스로 한다. 가우시안 제거를 이용하여 연관된 선형 방정식들을 품으로써, V에 대한 최소 모노톤 베이시스는 항상 찾아진다. 라 한다. 위에서 언급된 바와 같이, 이다. 사실, 이고, 1≤j에 대해, 수학식 150이 성립한다.
10: 채널
11: 경판정
12: BCH 소프트 디코더
13: 클래식 디코더
31: 컴퓨터 시스템
32: 중앙처리부 또는 컨트롤러
33: 메모리
34: 입력/출력 인터페이스
35: 디스플레이
36: 입력 장치들
38: 신호 소스
11: 경판정
12: BCH 소프트 디코더
13: 클래식 디코더
31: 컴퓨터 시스템
32: 중앙처리부 또는 컨트롤러
33: 메모리
34: 입력/출력 인터페이스
35: 디스플레이
36: 입력 장치들
38: 신호 소스
Claims (18)
- BCH(Bose-Chaudhuri-Hocquenghem) 소프트 에러 디코딩의 컴퓨터로 구현된 방법에 있어서:
통신 채널을 통해 코드워드 x를 수신하는 단계;
상기 수신된 코드워드 x는 일부 r≥1에 대해 τ=t+r 에러들을 갖고, t=(d-1)/2이고, 그리고 d는 BCH 코드의 최소 거리이고,
아핀 공간(affine space) 의 최소 모노톤 베이시스(minimal monotone basis) 를 계산하는 단계;
는 에러 위치 다항식이고, S(x)는 신드롬이고, F[x] = GF(q)이고, m>1에 대해 이고,
매트릭스 를 계산하는 단계;
는 코드워드 x 내의 위크 비트들의 세트이고,
메모리로부터 세트 W''=R(W')를 가져옴으로써 모든 서브 세트 를 처리하고, 에 하나의 행을 추가하고 그리고 에 대해 가우시안 제거 연산들을 수행함으로써 를 계산하는 단계;
R(W')는 W' 내의 비트들의 신뢰성 확률들이고, 그리고
의 첫 r' 열들이 시스티매틱(systematic) 매트릭스의 트랜스포즈(transpose)이고 그리고 일 때에 다음 동작들을 수행하는 단계를 포함하고,
1≤r≤r'이고,
다음 동작들은:
를 계산하는 단계;
는 의 도함수이고,
를 계산하여 로부터 공제하는 단계;
이고, u(x)는 F* 내의 스칼라이고,
일 때에, 가 되도록 모든 의 세트 L에 쌍 을 더하는 단계; 그리고
상기 세트 L을 출력하는 단계를 포함하는 방법. - 제1항에 있어서,
상기 세트 L 내의 계수들로부터 상기 에러 위치 다항식을 생성하고 그리고 상기 수신된 코드워드 x에서 찾아진 에러 위치들에서 채널 경판정을 뒤집는 단계를 더 포함하는 방법. - 제1항에 있어서,
deg(u(x))≥1일 때에, W'의 프로세싱을 종료하는 단계를 더 포함하는 방법. - 컴퓨터로 독출 가능하고, 상기 컴퓨터에 의해 실행되어 BCH(Bose-Chaudhuri-Hocquenghem) 소프트 에러 디코딩을 위한 방법 단계들을 수행하는 명령어들의 프로그램을 실재하게 실장하는 비-일시적인 프로그램 스토리지 장치에 있어서:
상기 방법 단계들은:
통신 채널을 통해 코드워드 x를 수신하는 단계;
상기 수신된 코드워드 x는 일부 r≥1에 대해 τ=t+r 에러들을 갖고, t=(d-1)/2이고, 그리고 d는 BCH 코드의 최소 거리이고,
아핀 공간(affine space) 의 최소 모노톤 베이시스(minimal monotone basis) 를 계산하는 단계;
는 에러 위치 다항식이고, S(x)는 신드롬이고, F[x] = GF(q)이고, m>1에 대해 이고,
매트릭스 를 계산하는 단계;
는 코드워드 x 내의 위크 비트들의 세트이고,
마지막 열이 다른 열들의 선형 조합이도록, A의 서브세트들의 r+1 행들의 서브 매트릭스들로부터 r+1 행들의 서브매트릭스들을 구성하는 단계;
상기 구성된 서브매트릭스로부터 기인하는 상기 최소 모노톤 베이시스의 계수들을 이용하여 후보 에러 위치 다항식을 형성하는 단계;
패스트 치엔 검색을 수행하는 단계;
상기 후보 에러 위치 다항식이 검증되고, 그리고
상기 후보 에러 위치 다항식에서 찾아진 에러 위치들에서 채널 경판정을 뒤집고 디코딩된 코드워드 x를 반환하는 단계를 포함하는 컴퓨터로 독출 가능한 프로그램 스토리지 장치. - 제9항에 있어서,
상기 마지막 열이 다른 열들의 선형 조합이도록, A의 서브세트들의 r+1 행들의 서브 매트릭스들로부터 r+1 행들의 서브매트릭스들을 구성하는 단계는:
메모리로부터 세트 W''=R(W')를 가져옴으로써 모든 서브 세트 를 처리하고, 에 하나의 행을 추가하고 그리고 에 대해 가우시안 제거 연산들을 수행함으로써 를 계산하는 단계;
R(W')는 W' 내의 비트들의 신뢰성 확률들이고, 그리고
의 첫 r' 열들이 시스티매틱(systematic) 매트릭스의 트랜스포즈(transpose)이고 그리고 일 때에 다음 동작들을 수행하는 단계를 포함하고,
1≤r≤r'이고,
다음 동작들은:
를 계산하는 단계;
는 의 도함수이고,
를 계산하여 로부터 공제하는 단계;
이고, u(x)는 F* 내의 스칼라이고,
일 때에, 가 되도록 모든 의 세트 L에 쌍 을 더하는 단계; 그리고
상기 세트 L을 출력하는 단계를 포함하는 컴퓨터로 독출 가능한 프로그램 스토리지 장치. - 제10항에 있어서,
deg(u(x))≥1일 때에, W'의 프로세싱을 종료하는 단계를 더 포함하는 컴퓨터로 독출 가능한 프로그램 스토리지 장치. - 컴퓨터 메모리-기반 제품에 있어서:
메모리; 그리고
컴퓨터에 의해 실행되어 BCH(Bose-Chaudhuri-Hocquenghem) 소프트 에러 디코딩을 위한 방법 단계들을 수행하는 명령어들의 프로그램을 실재하게 실장하는 디지털 회로를 포함하고,
상기 방법 단계들은:
통신 채널을 통해 코드워드 x를 수신하는 단계;
상기 수신된 코드워드 x는 일부 r≥1에 대해 τ=t+r 에러들을 갖고, t=(d-1)/2이고, 그리고 d는 BCH 코드의 최소 거리이고,
아핀 공간(affine space) 의 최소 모노톤 베이시스(minimal monotone basis) 를 계산하는 단계;
는 에러 위치 다항식이고, S(x)는 신드롬이고, F[x] = GF(q)이고, m>1에 대해 이고,
매트릭스 를 계산하는 단계;
는 코드워드 x 내의 위크 비트들의 세트이고,
메모리로부터 세트 W''=R(W')를 가져옴으로써 모든 서브 세트 를 처리하고, 에 하나의 행을 추가하고 그리고 에 대해 가우시안 제거 연산들을 수행함으로써 를 계산하는 단계;
R(W')는 W' 내의 비트들의 신뢰성 확률들이고, 그리고
의 첫 r' 열들이 시스티매틱(systematic) 매트릭스의 트랜스포즈(transpose)이고 그리고 일 때에 다음 동작들을 수행하는 단계를 포함하고,
1≤r≤r'이고,
다음 동작들은:
를 계산하는 단계;
는 의 도함수이고,
를 계산하여 로부터 공제하는 단계;
이고, u(x)는 F* 내의 스칼라이고,
일 때에, 가 되도록 모든 의 세트 L에 쌍 을 더하는 단계; 그리고
상기 세트 L을 출력하는 단계를 포함하는 컴퓨터 메모리-기반 제품. - 제17항에 있어서,
상기 메모리는 솔리드-스테이트 드라이브, 유니버설 플래시 스토리지, 또는 DRAM의 적어도 하나인 컴퓨터 메모리-기반 제품.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/647,441 | 2022-01-07 | ||
US17/647,441 US11689221B1 (en) | 2022-01-07 | 2022-01-07 | BCH fast soft decoding beyond the (d-1)/2 bound |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230107104A true KR20230107104A (ko) | 2023-07-14 |
Family
ID=86895703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220127268A KR20230107104A (ko) | 2022-01-07 | 2022-10-05 | 이분에 디 마이너스 1 바운드를 넘어선 비씨에이치 빠른 소프트 디코딩 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11689221B1 (ko) |
KR (1) | KR20230107104A (ko) |
CN (1) | CN116418352A (ko) |
DE (1) | DE102022118166A1 (ko) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8171368B1 (en) * | 2007-02-16 | 2012-05-01 | Link—A—Media Devices Corporation | Probabilistic transition rule for two-level decoding of reed-solomon codes |
US8381082B1 (en) * | 2007-02-27 | 2013-02-19 | Marvell International, Inc. | Power-saving area-efficient hybrid BCH coding system |
US8674860B2 (en) * | 2012-07-12 | 2014-03-18 | Lsi Corporation | Combined wu and chase decoding of cyclic codes |
KR102286193B1 (ko) * | 2015-06-30 | 2021-08-09 | 에스케이하이닉스 주식회사 | 플래시 메모리 시스템 및 그의 동작 방법 |
US10439644B2 (en) * | 2015-07-14 | 2019-10-08 | Western Digital Technologies, Inc. | Error locator polynomial decoder and method |
US10461777B2 (en) * | 2015-07-14 | 2019-10-29 | Western Digital Technologies, Inc. | Error locator polynomial decoder and method |
US10218388B2 (en) * | 2015-12-18 | 2019-02-26 | SK Hynix Inc. | Techniques for low complexity soft decoder for turbo product codes |
US10523245B2 (en) * | 2016-03-23 | 2019-12-31 | SK Hynix Inc. | Soft decoder for generalized product codes |
US10439643B2 (en) * | 2016-07-28 | 2019-10-08 | Indian Institute Of Science | Reed-Solomon decoders and decoding methods |
US10756763B2 (en) * | 2018-09-28 | 2020-08-25 | Innogrit Technologies Co., Ltd. | Systems and methods for decoding bose-chaudhuri-hocquenghem encoded codewords |
-
2022
- 2022-01-07 US US17/647,441 patent/US11689221B1/en active Active
- 2022-07-20 DE DE102022118166.9A patent/DE102022118166A1/de active Pending
- 2022-10-05 KR KR1020220127268A patent/KR20230107104A/ko unknown
- 2022-11-11 CN CN202211410889.1A patent/CN116418352A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022118166A1 (de) | 2023-07-13 |
US20230223958A1 (en) | 2023-07-13 |
US11689221B1 (en) | 2023-06-27 |
CN116418352A (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8108760B2 (en) | Decoding of linear codes with parity check matrix | |
US9998148B2 (en) | Techniques for low complexity turbo product code decoding | |
JP4320418B2 (ja) | 復号装置および受信装置 | |
KR102352158B1 (ko) | 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic | |
US8335808B2 (en) | Method and apparatus for processing multiple decomposed data for calculating key equation polynomials in decoding error correction code | |
Massey | Implementation of burst-correcting convolutional codes | |
CN111162799B (zh) | 一种抗辐射rs码译码电路 | |
US10367529B2 (en) | List decode circuits | |
US9337869B2 (en) | Encoding and syndrome computing co-design circuit for BCH code and method for deciding the same | |
CN108886369B (zh) | 用于执行里德-所罗门编码的方法和装置 | |
Dinh et al. | Skew constacyclic codes over finite fields and finite chain rings | |
KR20230107104A (ko) | 이분에 디 마이너스 1 바운드를 넘어선 비씨에이치 빠른 소프트 디코딩 | |
US6895545B2 (en) | System and method for generating cyclic codes for error control in digital communications | |
KR940011663B1 (ko) | 오류정정 시스템 | |
US10218386B1 (en) | Methods and apparatus for performing variable and breakout Reed Solomon encoding | |
KR101636406B1 (ko) | 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법 | |
US20180006664A1 (en) | Methods and apparatus for performing reed-solomon encoding by lagrangian polynomial fitting | |
Mohammed et al. | FPGA implementation of 3 bits BCH error correcting codes | |
CN101741397A (zh) | Rs译码装置及其使用的关键多项式求解装置 | |
US10623018B2 (en) | Method of arrangement of an algorithm in cyclic redundancy check | |
Semerenko | ON THE ERROR-CORRECTING CAPABILITIES OF ITERATIVE ERROR CORRECTION CODES. | |
Chen et al. | A new inversionless Berlekamp-Massey algorithm with efficient architecture | |
Prashanthi et al. | An advanced low complexity double error correction of an BCH decoder | |
Jose et al. | FPGA implementation of encoder and decoder for Golay code | |
RU2575394C1 (ru) | Способ декодирования циклических кодов с "жестким" решением по вектору-указателю и устройство его реализующее |