KR101636406B1 - 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법 - Google Patents

저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법 Download PDF

Info

Publication number
KR101636406B1
KR101636406B1 KR1020150015335A KR20150015335A KR101636406B1 KR 101636406 B1 KR101636406 B1 KR 101636406B1 KR 1020150015335 A KR1020150015335 A KR 1020150015335A KR 20150015335 A KR20150015335 A KR 20150015335A KR 101636406 B1 KR101636406 B1 KR 101636406B1
Authority
KR
South Korea
Prior art keywords
bch
data
encoding
polynomial
minimum
Prior art date
Application number
KR1020150015335A
Other languages
English (en)
Inventor
박종선
당호영
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020150015335A priority Critical patent/KR101636406B1/ko
Application granted granted Critical
Publication of KR101636406B1 publication Critical patent/KR101636406B1/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/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/1575Direct 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

Landscapes

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

Abstract

BCH 디코더의 신드롬 생성기로 데이터를 입력시키는 BCH 디코더의 전처리 시, 인코딩할 데이터를 수신하고, 수신된 데이터를 갈로아 필드 상의 생성다항식의 최소공배다항식의 인수들인 복수의 최소다항식을 사용하여 BCH 인코딩하되, BCH 인코더는 최소다항식 별 인코딩 연산 블록을 포함하고, 인코딩 연산 블록 중 최초 인코딩 연산 블록 이외의 인코딩 연산 블록들은, 각각 처리 결과 값을 다음 인코딩 연산 블록의 입력 값으로 입력시키는 경로 또는 신드롬 생성기의 입력 값으로 입력시키는 경로 중 어느 하나로 출력한다.

Description

저지연 신드롬 계산을 위한 BCH 디코더의 전처리 장치 및 방법{PREPROCESSING APPARATUS AND METHOD FOR LOW LATENCY OF SYNDROME CALCULATION IN BCH DECODER}
본 발명은 저지연 신드롬 계산을 수행하는 BCH(Bose-Chaudhuri-Hocquenghem) 디코더의 전처리 장치 및 방법에 관한 것이다.
NAND 플래시 메모리 등의 스토리지 장치 및 디지털 전송을 처리하는 통신 시스템 등에서는 처리하는 메시지에 대한 오류 정정 처리가 필요하며, 이를 위해 오류정정부호인 BCH 부호가 이용되고 있다. 예를 들어, NAND 플래시 메모리는 저장할 메시지를 BCH 인코더를 통해 BCH 코드로 부호화한 후 메모리에 저장하고, 메모리로부터 독출된 BCH 코드를 BCH 디코더를 통해 복호화하여 원본 메시지를 출력한다.
일반적으로 BCH 알고리즘을 이용한 에러 정정은 BCH 인코더를 통해 BCH 코드 데이터를 생성한 후, BCH 디코더를 통해 BCH 코드 데이터를 복호화한다. 이때, BCH 코드 데이터의 복호화는 다음과 같은 과정을 거친다. BCH 코드 데이터가 BCH 디코더에 수신되면, 신드롬(syndrome)을 계산하고, 신드롬을 이용하여 에러 위치 다항식(error locator polynomial)을 구성한 다음, 에러 위치 다항식의 근(root)을 구하여 에러 비트들(error bits)의 위치를 계산한다. 이진 BCH 코드 데이터에 대한 복호화의 경우, 에러 비트의 비트 값을 반전시킴으로써 에러를 정정할 수 있다.
한편, 종래에는 BCH 디코더의 신드롬 생성기(Syndrome Generator)에서 소요되는 클럭 사이클 수를 줄이기 위하여 BCH 코드 데이터를 리인코딩(re-encoding) 처리한다.
이와 관련하여, 대한민국공개특허 제2008-0088989 호(발명의 명칭: 에러 정정 부호화기를 이용하여 에러를 체크하는 BCH에러 정정 방법 및 회로)에서는, 노말 데이터와 제 1 패리티(parity) 데이터를 각각 메모리 셀 어레이의 노말 데이터 영역 및 패리티 데이터 영역에 저장하는 단계, 상기 저장된 노말 데이터로부터 제2 패리티 데이터를 생성하는 단계, 상기 제 1 패리티 데이터 및 상기 제 2 패리티 데이터를 비교하는 단계 및 상기 비교 결과를 이용하여 에러를 체크하는 단계를 포함하는 BCH 에러 정정 방법을 개시하고 있다.
그러나 기존에는 BCH 코드 데이터를 고차수 생성다항식(high-order generator polynomial)에 기반하여 리인코딩하였으나, 이러한 고차수의 생성다항식을 이용하여 부호를 전처리할 경우 신드롬 생성기로 입력될 데이터의 개수를 갈로아 필드 이론 상으로 가능한 최소의 개수로는 리인코딩할 수 없다.
따라서, 신드롬 생성기의 클럭 사이클 지연 수를 갈로아 필드 이론상 최소로 감소시킬 수 있는 개선된 구조의 BCH 디코딩 전처리 장치가 필요하다.
본 발명의 실시예는 BCH 디코더의 서브 모듈 중 하나인 신드롬 생성기에서 소요되는 클럭 지연 수를 줄이기 위한 전처리 장치로써 최소다항식 기반의 BCH 인코더를 포함하는 BCH 디코더 및 그 전처리 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 측면에 따른 BCH 디코더의 신드롬 생성기로 데이터를 입력시키는 BCH 디코더의 전처리 장치는, 인코딩할 데이터를 수신하는 수신부; 및 상기 데이터를 복수의 최소다항식을 사용하여 인코딩하는 BCH 인코더를 포함하고, 상기 복수의 최소다항식들은 갈로아 필드 상의 생성다항식의 최소공배다항식의 인수들이고, 상기 BCH 인코더는 상기 최소다항식 별 인코딩 연산 블록을 포함하되, 상기 인코딩 연산 블록 중 최초 인코딩 연산 블록 이외의 인코딩 연산 블록들은, 각각 처리 결과 값을 다음 인코딩 연산 블록의 입력 값으로 입력시키는 경로 또는 상기 신드롬 생성기의 입력 값으로 입력시키는 경로 중 어느 하나로 출력한다.
또한, 본 발명의 다른 측면에 따른 BCH 디코더의 신드롬 생성기로 데이터를 입력시키는 전처리 장치를 통한 BCH 디코더의 전처리 방법은, 인코딩할 데이터를 수신하는 단계; 및 상기 데이터를 복수의 최소다항식을 각각 사용하여 BCH 인코딩하는 단계를 포함하되, 상기 복수의 최소다항식들은 갈로아 필드 상의 생성다항식의 최소공배다항식의 인수들이고, 상기 BCH 인코딩하는 단계는 상기 인코딩할 데이터의 종류에 따라 상기 최소다항식 별로 대응된 처리 결과 값들의 출력 경로를 선택하며, 상기 대응된 처리 결과 값들은, 다른 최소 다항식을 통한 인코딩 처리의 입력 값으로 입력되어 BCH 부호 데이터로 출력되거나 또는 상기 신드롬 생성기의 입력 값으로써 출력된다.
전술한 본 발명의 과제 해결 수단에 의하면, BCH 코드 데이터의 디코딩 시 신드롬 계산에 필요한 클럭 사이클 수를 갈로아 필드 이론상 최소가 되도록 할 수 있어 저지연 신드롬 계산을 처리할 수 있다. 즉, 최소다항식에 기반한 BCH 인코더를 통해 최소한의 입력 값만을 신드롬 생성기로 전달함으로써 신드롬 계산의 복잡도를 낮출 수 있다.
또한, 본 발명의 과제 해결 수단에 의하면, 하이브리드 BCH 인코더를 노멀 BCH 인코더 및 BCH 부호 데이터에 대한 리인코더로 겸용하여 사용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 신드롬 계산에 대한 전처리 장치를 포함하는 BCH 디코더의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 최소다항식 기반의 BCH 인코더의 구조를 나타낸 도면이다.
도 3은 본 발명의 다른 실시예에 따른 최소 다항식 기반의 BCH 인코더의 구조를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 최소다항식 기반의 BCH 리인코딩 모듈을 통한 저지연 신드롬 계산을 위한 리인코딩 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 신드롬 계산에 대한 전처리 장치를 포함하는 BCH 디코더의 구성을 나타낸 도면이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 BCH 디코더(100)는 하이브리드 BCH 인코더(110), 신드롬 생성기(120), 에러 위치 다항식 생성기(130) 및 에러 위치 검색기(140)를 포함한다.
본 발명의 일 실시예에 따른 하이브리드 BCH 인코더(110)는 다음과 같은 두 가지 동작을 처리한다.
첫째로, 하이브리드 BCH 인코더(110)는 이전에 BCH 인코딩된 적이 없는 메시지 비트(즉, 최초 인코딩할 메시지 데이터)를 BCH 부호 데이터로 BCH 인코딩하는 일반(nomal) BCH 인코더로써의 역할을 수행한다.
둘째로, 하이브리드 BCH 인코더(110)는 이미 BCH 인코딩 처리된 BCH 부호 데이터를 전처리하여 신드롬 생성기(120)로 입력될 데이터의 개수를 줄이는 전처리를 처리하는 BCH 리인코더로써의 역할도 수행한다.
이와 같은 하이브리드 BCH 인코더(110)의 상세한 구성 및 동작에 대해서는 하기 도 2 및 도 3을 통해 상세히 설명하도록 한다.
신드롬 생성기(120)는 수신된 데이터에 대해 신드롬 계산을 통해 에러 발생 유무를 확인한다. 그리고 에러 위치 다항식 생성기(130)는 신드롬 생성기(120)를 통해 에러가 발견되면 에러 위치 다항식(error location polynomial)을 계산한다. 이때, 에러 위치 다항식 생성기(130)는 벌리캠프 매시(Berleykamp Massey) 알고리즘을 사용할 수 있다. 그리고, 에러 위치 검색기(140)는 에러 위치 다항식의 근을 구하여 에러 위치를 검색한다. 이때, 에러 위치 검색기(140)는 치엔 탐색(Chien search) 알고리즘을 사용할 수 있다. 참고로, 이하에서는 신드롬 생성기(120)로 입력될 입력 값들의 개수를 갈로아 필드(Galois Field) 상의 최소 개수로 생성하기 위한 전처리 장치(즉, 하이브리드 BCH 인코더(110)) 및 방법을 중심으로 BCH 디코더의 구성 및 동작을 설명하도록 한다. 이에 따라, 신드롬 생성기(120), 에러 위치 다항식 생성기(130) 및 에러 위치 검색기(140)의 일반적인 구조 및 동작에 대한 상세한 설명은 생략하도록 한다.
한편, BCH 부호는 생성다항식 기반으로 생성되는 순회부호로서, 본 발명의 실시예에서 부호어는 생성다항식(generator polynomial)으로 메시지다항식(massage polynomial)을 나눈 나머지 다항식으로 계산된다.
BCH(n, k, t) 코드에서 n은 전체 코드워드의 길이(length)이고, k는 메시지 길이이고, t는 오류 정정 능력 값을 의미한다. 참고로, 오류 정정 능력 값은 수정 가능한 오류 비트의 최대 수이다. 이때, n=K+mt이고, m은 2m-1≥n을 만족시키는 가장 작은 양의 수이다.
BCH 인코딩 시, k비트의 메시지 데이터(M0, M1, M2 …… Mk -1)와 n 비트의 인코딩된 코드워드(C0, C1, C2 …… Cn -1)는 각각 하기 수학식 1 및 2의 다항식으로 해석될 수 있다.
<수학식 1>
m(x) = m0+m1x1 +……+ mk -1xk -1
<수학식 2>
c(x) = c0 + c1x1 +…… +cn -1xn -1
이와 같이, 주어진 k 비트의 메시지 m(x) 및 n 비트의 코드워드c(x)는 갈로아 필드 상의 생성다항식 g(x)를 기준으로 BCH 인코딩된다. 참고로, g(x)는 αi(1 ≤ i ≤ 2t)를 근으로 포함하며, α는 갈로아 필드 GF(2m)의 원시원(primitive element)이다. 이때, αi의 최소다항식(minimal polynomial)을 Mi(x)로 정의할 때, 생성다항식 g(x)는 2t개의 최소다항식들을 인수로 하는 최소공배다항식(least common multiple polynomial, LCM)이다. 따라서, Mi(x)는 바이너리 BCH 코드에서 αi 및 α2i 둘 다의 최소다항식이다. 생성다항식 g(x)는 하기 수학식 3에서와 같이 t개의 홀수(odd) 최소다항식들의 곱으로 표현될 수 있다.
<수학식 3>
g(x) =LCM{M1(x), M2(x),……, M2t(x)} = M1(x)M3(x)……M2t -1(x)
체계적인 BCH 인코딩에서는 디코딩 과정에서 메시지 비트의 복구를 단순화하는 것이 바람직하며, 이러한 체계적인 BCH 인코딩은 하기 <수학식 4>에 의해 형성될 수 있다.
<수학식 4>
c(x) = m(x)xn-k +Rem(m(x)xn-k)g(x)
여기서, Rem(a(x))b(x)는 b(x)로 a(x)를 나눈 나머지 다항식을 나타낸다.
이러한 과정을 통해 BCH 인코딩은 생성다항식으로 메시지다항식을 나눈 나머지 다항식을 계산하는데 n 사이클을 소요한다.
또한, 상기 수학식 4의 연산은 여러 개의 짧은 선형피드백 시프트 레지스터(Linear Feedback Shift Registers, LFSR) 구조를 사용하여 구현할 수 있다.
구체적으로, 도 2는 본 발명의 일 실시예에 따른 최소다항식 기반의 BCH 인코더의 구조를 나타낸 도면이다. 그리고, 도 3은 본 발명의 다른 실시예에 따른 최소 다항식 기반의 BCH 인코더의 구조를 나타낸 도면이다.
도 2 및 도 3에 도시한 바와 같이, 하이브리드 BCH 인코더(110)는 각각 하나의 최소다항식을 사용하여 BCH 인코딩을 처리하는 복수의 인코딩 연산 블록(110-1 내지 110-n)을 포함한다. 이때, 각 인코딩 연산 블록은 상기 수학식 4에서 고차수 생성다항식 g(x)를 구성하는 각 최소다항식 Mi(x)에 의한 나눗셈 연산을 처리한다.
구체적으로, 하이브리드 BCH 인코더(110)는 인코딩할 데이터(X(z))를 수신하는 수신부(미도시)를 포함하며, 수신부는 BCH 인코딩된 BCH 부호 데이터 또는 최초 인코딩할 메시지 데이터를 수신한다.
또한, 하이브리드 BCH 인코더(110)는 생성다항식을 구성하는 최소다항식 별로 인코딩 연산을 처리하는 인코딩 연산 블록(110-1 내지 110-n)을 포함한다. 이때, 인코딩 연산 블록(110-1 내지 110-n)은 수신된 데이터를 제 1 최소다항식을 사용하여 인코딩하는 제 1 블록(110-1)과, 수신된 데이터를 제 1 최소다항식 이후의 순차적인 최소다항식을 각각 사용하여 인코딩하는 적어도 하나의 케스케이딩 블록(cascading blocks)(110-2 내지 110-n)을 포함한다.
인코딩 연산 블록(110-1 내지 110-n) 중 제 1 블록(110-1)을 제외한 나머지 케스케이딩 블록(110-2 내지 110-n)들은 각각 인코딩의 처리 결과 값을 다음 인코딩 연산 블록의 입력 값으로 입력시키는 경로 또는 신드롬 생성기(120)의 입력 값으로 입력시키는 경로 중 어느 하나로 출력한다. 또한, 케스케이딩 블록(110-2 내지 110-n)들은 수신부(미도시)를 통해 수신된 데이터를 각 설정된 최소다항식을 통해 연산한 처리 결과 값과 경로 제어 회로(111)를 통해 입력된 이전 블록의 처리 결과 값을 배타적부정논리합 연산하는 익스클루시브오어 게이트(XOR gate)(112)를 포함한다.
이러한, 경로 제어 회로(111)는 케스케이딩 블록(110-2 내지 110-n) 별로 각각 포함되며, 경로 제어 신호에 따라 이전 케스케이딩 블록으로부터 출력된 처리 결과 값을 해당 블록의 입력값으로 입력시키거나 또는 입력되지 않도록 차폐시키는 회로이다.
도 2 및 도 3에 도시한 바와 같이, 경로 제어 회로(111)는 앤드 게이트(AND gate)로 구성될 수 있다. 이때, 앤드 게이트(111)는 제 1 단자를 통해 경로 제어 신호(enc)를 입력 받고, 제 2 단자를 통해 이전 순차의 케스케이딩 블록의 처리 결과 값을 입력 받는다.
이때, 수신부(미도시)를 통해 BCH 부호 데이터가 수신되면, 경로 제어 회로(111)는 인코딩 처리 결과 값을 신드롬 생성기(120)의 입력 값으로 입력시키는 경로로 출력한다. 또한, 수신부(미도시)를 통해 최초 인코딩할 메시지 데이터가 수신되면, 경로 제어 회로(111)는 인코딩 처리 결과 값을 다음 인코딩 연산 블록의 입력 값으로 입력시키는 경로로 출력한다.
구체적으로, 수신된 데이터가 메시지 데이터인 경우, 경로 제어 신호(enc)는 논리 값1로 설정된다. 이에 따라, 케스케이딩 블록 별로 앤드 게이트(111)의 제 1 단자에 논리값 1이 입력되고, 제 2 단자에 이전 순차의 케스케이딩 블록을 통한 인코딩 처리 결과 값(Ki-1(Z))이 입력되어, XOR 게이트(112)로 이전 케스케이딩 블록의 처리 결과 값이 입력된다.
반면, 수신된 데이터가 BCH 부호 데이터인 경우, 경로 제어 신호(enc)는 논리 값 0으로 설정된다. 이에 따라, 케스케이딩 블록 별로 앤드 게이트(111)의 제 1 단자에 논리값 0이 입력되고, 제 2 단자에 이전 순차의 케스케이딩 블록의 처리 결과 값이 입력되어, 이전 케스케이딩 블록의 처리 결과 값은 차폐된다. 즉, XOR 게이트(112)에는 이전 케스케이딩 블록의 처리 결과 값이 입력되지 않고, 해당 케스케이딩 블록의 처리 결과 값들(input for S1(Z), S3(Z),......, S2t -1(Z))이 S1, S3,......,S2t-1의 계산을 위한 신드롬 생성기(120)의 입력 값으로서만 각각 출력된다. 이와 같은 경우, 기존의 고차수 생성다항식을 사용한 리인코딩을 통해 생성된 입력 값의 개수보다 적은 수(즉, 갈로아 필드 상에서 최소한의 개수를 만족하는 수)의 입력 값이 출력된다. 이에 따라, 신드롬 생성기(120)에서 처리할 입력 값의 개수가 확연히 감소되어 저지연 신드롬 계산을 처리할 수 있는 고속 BCH 디코더의 구현이 가능하다. 뿐만 아니라, 하이브리드 BCH 인코더(110)를 통해 리인코딩한 결과로서 출력된 입력 값만으로도 신드롬 생성기에서 신드롬 계산을 처리한 결과가 입력 값의 개수가 감소하기 전과 동일한 장점이 있다.
이처럼, 하이브리드 BCH 인코더(110)는 처리할 데이터에 따라 노멀 BCH 인코더로서 사용되거나 또는 신드롬 생성기(120)로의 입력 값을 생성하는 리인코더로서 병용하여 사용할 수 있다.
한편 도 3에 도시한 바와 같이, 본 발명의 다른 실시예에 따른 하이브리드 BCH 인코더(110)는 앞서 설명한 구성들을 모두 포함하되, 사전에 설정된 오류 정정 능력 값에 따라 인코딩 연산 블록 중 적어도 하나의 블록을 선택하는 멀티플렉서(MUX) 회로(113)를 더 포함한다. 즉, 복수의 인코딩 연산 블록(110-1 내지 110-n)들은 생성다항식의 최소공배다항식들을 각각 포함하고 있으며, BCH(n, k, t)의 오류 정정 능력 값인 t에 따른 최소다항식을 사용하는 인코딩 연산 블록의 처리 결과 값을 멀티플렉서 회로(113)를 통해 선택할 수 있다. 이에 따라, 가변하는 오류 정정 능력 t에 따른 BCH 부호 데이터를 생성할 수 있다.
도 4는 본 발명의 일 실시예에 따른 최소다항식 기반의 BCH 리인코딩 모듈을 통한 저지연 신드롬 계산을 위한 리인코딩 방법을 설명하기 위한 순서도이다.
먼저, 인코딩할 데이터를 수신하면(S410), 인코딩할 데이터의 종류에 따라 BCH 인코딩 처리 결과 값의 출력 경로를 선택하기 위한 경로 제어 신호를 설정한다(S420).
참고로, 인코딩할 데이터는 최초 인코딩되는 메시지 데이터이거나 또는 이미 BCH 인코딩되어 BCH 디코더의 신드롬 생성기의 입력값으로 전처리될 BCH 부호 데이터이다.
그리고, 결정된 경로 제어 신호를 각 인코딩 연산 블록 별 경로 제어 회로로 입력하여 BCH 인코딩을 처리한다(S430).
구체적으로, 노멀 BCH 인코딩의 경우, 각 인코딩 연산 블록 별로 대응된 처리 결과 값들은 다음 순차의 인코딩 연산 블록의 입력 값으로 입력되며, 인코딩 연산 블록들을 통해 1차 인코딩된 데이터는 BCH 부호 데이터로 출력된다. 또한, BCH 리인코딩의 경우, 각 인코딩 연산 블록 별로 대응된 인코딩 처리 결과 값들은 BCH 부호 데이터를 2차 인코딩(즉, 리인코딩) 처리되어 신드롬 생성기(120)로 출력된다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: BCH 디코더
110: 하이브리드 BCH 인코더
120: 신드롬 생성기
130: 에러 위치 다항식 생성기
140: 에러 위치 검색기

Claims (9)

  1. BCH 디코더의 신드롬 생성기로 데이터를 입력시키는 BCH 디코더의 전처리 장치에 있어서,
    인코딩할 데이터를 수신하는 수신부; 및
    상기 인코딩할 데이터를 복수의 최소다항식을 사용하여 인코딩하는 BCH 인코더를 포함하고,
    상기 복수의 최소다항식들은 갈로아 필드 상의 생성다항식의 최소공배다항식의 인수들이고,
    상기 BCH 인코더는, 상기 최소다항식 별 인코딩 연산 블록을 포함하되, 상기 인코딩 연산 블록 중 최초 인코딩 연산 블록 이외의 인코딩 연산 블록들은, 각각 처리 결과 값을 다음 인코딩 연산 블록의 입력 값으로 입력시키는 경로 또는 상기 신드롬 생성기의 입력 값으로 입력시키는 경로 중 어느 하나로 출력하며,
    상기 인코딩할 데이터의 종류에 따라 상기 최소다항식 별로 대응된 처리 결과 값들의 출력 경로가 선택되고, 상기 대응된 처리 결과 값들은 다른 최소 다항식을 통한 인코딩 연산 블록의 입력 값으로 입력되어 BCH 부호 데이터로 출력되거나 또는 상기 신드롬 생성기의 입력 값으로서 출력되는 BCH 디코더의 전처리 장치.
  2. 제 1 항에 있어서,
    상기 수신부는 BCH 인코딩된 BCH 부호 데이터를 수신하고,
    상기 인코딩 연산 블록들은 상기 처리 결과 값을 상기 신드롬 생성기의 입력 값으로 입력시키는 경로로 출력하는 BCH 디코더의 전처리 장치.
  3. 제 1 항에 있어서,
    상기 수신부는 최초 인코딩할 메시지 데이터를 수신하고,
    상기 최초 인코딩 연산 블록 이외의 인코딩 연산 블록들은 상기 처리 결과 값을 상기 다음 인코딩 연산 블록의 입력 값으로 입력시키는 경로로 출력하는 BCH 디코더의 전처리 장치.
  4. 제 1 항에 있어서,
    상기 BCH 인코더는,
    상기 인코딩할 데이터를 제 1 최소다항식을 사용하여 인코딩하는 제 1 블록; 및
    상기 인코딩할 데이터를 상기 제 1 최소다항식 이후의 순차적인 최소다항식을 각각 사용하여 인코딩하는 적어도 하나의 케스케이딩 블록을 포함하되,
    상기 케스케이딩 블록은,
    제 1 단자를 통해 경로 제어 신호를 입력 받고, 제 2 단자를 통해 이전 순차의 상기 케스케이딩 블록의 처리 결과 값을 입력 받아 상기 경로 제어 신호의 값에 따라 상기 처리 결과 값을 출력 또는 차폐하는 앤드 게이트(AND gate); 및
    상기 인코딩할 데이터를 설정된 최소다항식을 통해 연산한 처리 결과 값과 상기 앤드 게이트를 통해 입력된 이전 블록의 처리 결과 값을 배타적부정논리합 연산하는 익스클루시브오어 게이트(XOR gate)를 포함하는 BCH 디코더의 전처리 장치.
  5. 제 4 항에 있어서,
    상기 BCH 인코더는,
    기설정된 오류 정정 능력 값에 따라 상기 인코딩 연산 블록 별 출력 중 적어도 하나의 출력을 선택하여 BCH 부호 데이터로 출력하는 멀티플렉서 회로를 더 포함하는 BCH 디코더의 전처리 장치.
  6. BCH 디코더의 신드롬 생성기로 데이터를 입력시키는 전처리 장치를 통한 BCH 디코더의 전처리 방법에 있어서,
    인코딩할 데이터를 수신하는 단계; 및
    상기 수신한 데이터를 복수의 최소다항식을 각각 사용하여 BCH 인코딩하는 단계를 포함하되,
    상기 복수의 최소다항식들은 갈로아 필드 상의 생성다항식의 최소공배다항식의 인수들이고,
    상기 BCH 인코딩하는 단계는,
    상기 인코딩할 데이터의 종류에 따라 상기 최소다항식 별로 대응된 처리 결과 값들의 출력 경로를 선택하며,
    상기 대응된 처리 결과 값들은,
    다른 최소 다항식을 통한 인코딩 처리의 입력 값으로 입력되어 BCH 부호 데이터로 출력되거나 또는 상기 신드롬 생성기의 입력 값으로써 출력되는 BCH 디코더의 전처리 방법.
  7. 제 6 항에 있어서,
    상기 BCH 인코딩하는 단계는,
    상기 수신한 데이터가 BCH 인코딩된 BCH 부호 데이터인 경우, 상기 최소다항식 별로 대응된 처리 결과 값들을 상기 신드롬 생성기의 입력 값으로 각각 출력하는 BCH 리인코딩을 처리하는 BCH 디코더의 전처리 방법.
  8. 제 6 항에 있어서,
    상기 BCH 인코딩하는 단계는,
    상기 수신한 데이터가 최초 인코딩할 메시지 데이터인 경우, 상기 최소다항식 별로 대응된 처리 결과 값들을 순차적으로 배타적부정논리합 연산하여 BCH 인코딩을 처리하는 BCH 디코더의 전처리 방법.
  9. 제 6 항에 있어서,
    상기 BCH 인코딩하는 단계 이후에,
    기설정된 오류 정정 능력 값에 따라 상기 최소다항식 별로 대응된 처리 결과 값 중 적어도 하나의 출력을 선택하여 BCH 부호 데이터로 출력하는 단계를 더 포함하는 BCH 디코더의 전처리 방법.
KR1020150015335A 2015-01-30 2015-01-30 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법 KR101636406B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150015335A KR101636406B1 (ko) 2015-01-30 2015-01-30 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150015335A KR101636406B1 (ko) 2015-01-30 2015-01-30 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101636406B1 true KR101636406B1 (ko) 2016-07-05

Family

ID=56502113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150015335A KR101636406B1 (ko) 2015-01-30 2015-01-30 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101636406B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101974301B1 (ko) * 2018-01-03 2019-04-30 포항공과대학교 산학협력단 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치 복호화기와 이를 이용한 오류 정정 방법 및 시스템
KR102136331B1 (ko) 2019-04-25 2020-07-22 국방과학연구소 Bch 코드를 복호화하기 위해 bch 코드의 생성 다항식을 복원하는 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120011269A (ko) * 2010-07-28 2012-02-07 국방과학연구소 부호 추정 장치 및 그 방법
KR20130014484A (ko) * 2009-07-01 2013-02-07 실리콘모션 인코포레이티드 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130014484A (ko) * 2009-07-01 2013-02-07 실리콘모션 인코포레이티드 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱
KR20120011269A (ko) * 2010-07-28 2012-02-07 국방과학연구소 부호 추정 장치 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101974301B1 (ko) * 2018-01-03 2019-04-30 포항공과대학교 산학협력단 플래시 메모리의 오류 정정을 위한 대칭형 연접 비씨에이치 복호화기와 이를 이용한 오류 정정 방법 및 시스템
KR102136331B1 (ko) 2019-04-25 2020-07-22 국방과학연구소 Bch 코드를 복호화하기 위해 bch 코드의 생성 다항식을 복원하는 방법 및 장치

Similar Documents

Publication Publication Date Title
US7543212B2 (en) Low-density parity-check (LDPC) encoder
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US8464141B2 (en) Programmable error correction capability for BCH codes
KR102352158B1 (ko) 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic
KR20020036605A (ko) 패리티비트가 역순으로 부가된 씨.알.씨. 코드의에러검출장치 및 방법
KR101314232B1 (ko) 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱
KR101636406B1 (ko) 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법
Lin et al. Decoding of the (31, 16, 7) quadratic residue code
US9337869B2 (en) Encoding and syndrome computing co-design circuit for BCH code and method for deciding the same
CN108886369B (zh) 用于执行里德-所罗门编码的方法和装置
JPH09505952A (ja) プログラム可能な冗長/シンドローム生成装置
US8972829B2 (en) Method and apparatus for umbrella coding
KR20190003315A (ko) 일반화된 텐서곱(gtp) 코드의 효율적인 인코딩 방법 및 그 장치
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
KR101619049B1 (ko) 병렬 bch 디코더
US8527851B2 (en) System and method for using the universal multipole for the implementation of a configurable binary Bose-Chaudhuri-Hocquenghem (BCH) encoder with variable number of errors
RU2605672C1 (ru) Реконфигурируемый кодер рида-соломона
Hu et al. Low complexity parallel Chien search architecture for RS decoder
RU157943U1 (ru) Параллельный реконфигурируемый кодер бчх кодов
Elumalai et al. Encoder And Decoder For (15113) and (63394) Binary BCH Code With Multiple Error Correction
RU2591474C1 (ru) Параллельный реконфигурируемый кодер бчх кодов
KR102635135B1 (ko) 리드 솔로몬 디코더 및 이를 포함하는 반도체 장치
KR100214485B1 (ko) 정보 처리 시스템의 부호/복호기
Jose et al. FPGA implementation of encoder and decoder for Golay code
Bhoyar Design of encoder and decoder for Golay code

Legal Events

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