KR20110043337A - Ldpc 복호기의 체크노드 갱신값 저장 방법 및 장치 - Google Patents
Ldpc 복호기의 체크노드 갱신값 저장 방법 및 장치 Download PDFInfo
- Publication number
- KR20110043337A KR20110043337A KR1020090100407A KR20090100407A KR20110043337A KR 20110043337 A KR20110043337 A KR 20110043337A KR 1020090100407 A KR1020090100407 A KR 1020090100407A KR 20090100407 A KR20090100407 A KR 20090100407A KR 20110043337 A KR20110043337 A KR 20110043337A
- Authority
- KR
- South Korea
- Prior art keywords
- value
- check node
- minimum
- update value
- update
- Prior art date
Links
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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
- H03M13/112—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 최소합 알고리즘을 사용하는 LDPC 복호기에 있어서 변수노드에 의해 연산되는 체크노드의 갱신값을 효율적으로 저장함으로써, 체크노드 메모리의 용량을 줄일 수 있는 체크노드 갱신값 저장 방법 및 장치에 관한 것으로서, 최소합 알고리즘에 기반한 LDPC 복호기에 있어서, 다수의 변수노드에 의해 연산된 갱신값을 크기 및 부호를 나타내는 2 비트의 형태 정보로 저장하고, 상기 갱신값 출력시에는, 상기 형태 정보를 w비트로 근사화된 갱신값으로 변환하여 출력함으로써 체크노드 연산시 이용가능하도록 한다.
LDPC(Low Density Parity Check) 코드, 최소합 알고리즘, 체크노드 메모리
Description
본 발명은 LDPC(Low Density Parity Check) 복호기에 관한 것으로서, 더욱 상세하게는 LDPC 반복복호 과정 중 변수노드에서 연산된 값을 체크노드 메모리에 효율적으로 저장하고, 저장된 값을 체크노드 연산에 사용될 갱신값으로 변환하는 LDPC 복호기의 체크노드 갱신값 저장 방법 및 장치에 관한 것이다.
LDPC 부호는 Shannon의 한계치에 가장 근접하는 오류정정 부호로서,터보 부호에 의해 정정되지 않는 오류들을 대부분 검출할 수 있고, 복호화의 복잡도가 낮을 뿐만 아니라 우수한 거리 특성으로 오류마루 현상이 나타나지 않으며, 완전 병렬 처리가 가능하기 때문에 고속 연산이 용이하다는 장점이 있다. LDPC 부호의 오류 정정 및 검출 능력을 나타내는 최소 거리(minimum distance)는 부호의 블록 길이에 비례하여 선형적으로 증가하는 특성이 있으며, 이것은 블록 길이에 비례하여 BER(Bit Error Rate) 성능이 점진적으로 개선됨을 의미한다.
LDPC 부호의 복호화는 도 1의 태너 그래프(Tanner graph)와 같이 연결된 변수노드(V0~Vn)와 체크노드(C0~Cm) 간의 반복적인 메시지 전달로 수행된다. 상기 변수노드 및 체크노드는 고유의 연산을 수행하는 장치로서, 연산 결과를 상기 태너 그래프 상에서 정의된 연결을 통해 주고 받으면서 복호 연산을 수행하며, 반복적인 복호 연산을 통해 모든 데이터가 복호화되면 복호를 종료한다.
이러한 반복적인 메시지 전달을 수행하는 복호 알고리즘으로서, 합곱 알고리즘(Sum-Product Algorithm; SPA), LLR(Log-Likelihood Ratio)-SPA 그리고 최소합 알고리즘(Min-Sum Algorithm; MSA)이 있다.
도 2는 LDPC 복호기의 일반적인 구조를 개략적으로 나타낸 것으로서, (a)는 Layered 구조의 LDPC 복호기를 나타낸 것이고, (b)는 Two-phase 구조의 LDPC 복호기를 나타낸 것이다.
도 2의 (a)에 나타낸 Layered 복호기 구조는 PCM(Parity Check Matrix)을 다수의 레이어로 분할하여 복호를 수행하는 부분 병렬 구조로서, 분할된 하나의 레이어는 독립된 채널 부호라고 가정할 수 있으며, 레이어와 레이어 사이에 새롭게 정보가 갱신된다. 이때, Layered 복호기는 체크노드와 변수노드 각각에서 갱신되는 값을 저장하기 위한 체크노드 메모리와, 변수노드 메모리와, PCM 데이터를 저장하는 H-ROM과, 복호 과정을 제어하는 제어기(control)로 구성된다. 여기서, 체크노드 메모리는 변수노드에서 연산된 값들이 저장되는 메모리이며, 그 값들은 체크노드 연산에 사용된다. 이하 상기 체크노드 메모리에 저장되는 값을 체크노드 갱신값이라 한다. 다음으로, 변수노드 메모리는 체크노드에서 연산된 값들이 저장되는 메모 리이며, 그 값들은 변수노드 연산에 사용된다.
도 2의 (b)에 나타낸 Two-phase 구조는, 태너 그래프 상의 연결을 그대로 회로로 구현한 것으로서, 변수노드에 의한 수직 단계 연산을 수행하는 VFU(Variable-node Function Unit)와, 체크노드에 의한 수평 단계 연산을 수행하는 CFU(Check-node Function Unit)와, 태너 그래프상의 연결을 구현하는 Permutation Network(교환 네트워크)와, 체크노드와 변수노드 각각에서 갱신되는 값을 저장하기 위한 체크노드 메모리와, 변수노드 메모리와, PCM 데이터를 저장하는 H-ROM과, 복호 과정을 제어하는 제어기(control)로 구성된다. 상기 체크노드 메모리와 변수노드 메모리는 앞서 Layered 복호기에 구비된 것과 동일한 것이다.
이러한 LDPC 복호기에서, 블록 길이가 긴 부호일수록 많은 양의 정보가 새롭게 갱신되기 때문에, 큰 용량의 메모리를 필요로 하며, 따라서, LDPC 복호기 면적의 많은 부분을 메모리가 차지하게 된다.
본 발명은 최소합 알고리즘을 사용하는 LDPC 복호기에 있어서 체크노드 갱신값을 효율적으로 저장함으로써, 필요로 하는 메모리 용량을 줄일 수 있으며, 이를 통해 LDPC 복호기의 사이즈를 줄일 수 있는 LDPC 복호기의 체크노드 갱신값 저장 방법 및 장치를 제공하고자 한다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 최소합 알고리즘에 기반한 LDPC 복호기의 체크노드 갱신값 저장 장치는, 다수의 변수노드에 의해 연산된 갱신값을 크기 및 부호를 나타내는 2 비트의 형태 정보로 저장하는 다수의 메모리셀; 및 상기 다수의 메모리셀에 대한 읽기 및 쓰기를 제어하는 제어기를 포함한다.
상기 다수의 메모리셀에 저장되는 형태 정보는, 최소값인지 준최소값인지를 나타내는 1 비트의 크기값과, 부호가 양수(+)인지 음수(-)인지를 나타내는 1 비트의 부호값으로 이루어진다.
상기 체크노드 갱신값 저장 장치는, 상기 다수의 메모리셀에 저장된 형태 정보를 w 비트의 근사화된 갱신값으로 변환하여 출력하는 갱신값 출력부를 더 포함하며, 상기 갱신값 출력부는, 변수노드에서 연산된 갱신값의 최소값을 저장하는 제1 레지스터; 변수노드에서 연산된 갱신값의 준최소값을 저장하는 제2 레지스터; 상기 형태 정보중에서 크기값에 따라서 상기 제1 레지스터와 제2 레지스터에 저장된 최소값과 준최소값 중에서 하나를 선택 출력하는 멀티플렉서; 및 상기 형태 정보 중에서 부호값과 상기 멀티플렉서의 출력값을 입력받아 2의 보수 수치계로 변환하는 2의 보수 변환기를 포함하여 이루어진다.
또한, 상기 과제를 해결하기 위한 다른 수단으로서, 본 발명에 의한 최소합 알고리즘에 기반한 LDPC 복호기의 체크노드 갱신값 저장 방법은, 변수노드에 의해 연산된 체크노드 갱신값의 쓰기 요청시, 상기 체크노드 갱신값의 크기가 최소값인지 준최소값인지 확인하는 단계; 상기 체크노드 갱신값의 부호가 양수인지 음수인 지 확인하는 단계; 상기 체크노드 갱신값을, 상기 확인 결과에 따라서 크기가 최소값인지 준최소값인지를 나타내는 1비트의 크기값과, 부호가 양수인지 음수인지를 나타내는 1비트의 부호값으로 이루어진 2비트의 형태 정보로 저장하는 단계를 포함한다.
상기 체크노드 갱신값 저장 방법은, 상기 체크노드 갱신값의 읽기 요청시, 상기 저장된 형태 정보를 읽어와, 상기 형태 정보를 w 비트의 근사화된 갱신값으로 변환하여 출력하는 단계를 더 포함하며, 이는 상기 형태 정보의 크기값에 따라서 상기 최소값과 준최소값 중에서 하나를 선택하는 단계: 및 상기 형태 정보 중에서 부호값과 상기 선택된 최소값 또는 준최소값을 이용하여 2의 보수 수치계로 변환하는 단계으로 이루어진다.
또한, 상기 체크노드 갱신값 저장 방법은, 상기 형태 정보를 w 비트로 근사화된 갱신값으로 변환하여 출력하는 단계 이전에, 상기 변수노드에서 연산된 갱신값의 최소값과 준최소값을 저장하여 두는 단계를 더 포함할 수 있다.
본 발명에 의한 체크노드 갱신값 저장 방법 및 장치는, 최소합 알고리즘 기반의 LDPC 복호기에 있어서 변수노드에 연산된 체크노드 갱신값이 4가지 형태만을 갖는 점을 이용하여, 상기 체크노드 갱신값을 2비트의 형태 정보로 나타내어 저장하고, 상기 갱신값의 형태 정보를 갱신값 출력부를 통해 w 비트로 근사화된 실제 갱신값으로 변환하여 출력하도록 구현함으로써, 기존의 w비트로 근사화된 갱신값을 그대로 저장하는 경우와 비교할 때, 메모리 용량을 효율적으로 감소시킬 수 있으며, 또한, 메모리 용량을 증가시키지 않으면서 근사화 비트 폭 w를 증가시킴으로써 LDPC 복호기에서 복호성능을 향상시킬 수 있게 된다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에 의한 체크노드 갱신값 저장 장치는, 최소합 알고리즘(Min-Sum Algorithm)에 의해 구현된 LDPC 복호기에 적용되어, 변수노드에 의해 연산되는 체 크노드의 갱신값을 저장하기 위한 저장 장치를 의미한다.
본 발명의 구성 및 작용을 설명하기에 앞서, 최소합 알고리즘에 의해 LDPC 복호기에서 체크노드와 변수노드의 값을 갱신하는 과정에 대해 설명한다.
먼저, 최소합 알고리즘을 기반으로 한 LDPC 복호기에 있어서, j번째 변수노드에서 수행되는 i번째 체크노드의 갱신값 연산은 수학식 1과 같고, i번째 체크노드에 의해 수행되는 j번째 변수노드의 갱신값 연산은 수학식 2와 같이 이루어진다.
최소합 알고리즘에 기반한 LDPC 복호기의 동작은 수학식 1에 의해 변수노드에서 체크노드로 값을 갱신하는 과정과, 수학식 2에 의하여, 체크노드에서 변수노드로 값을 갱신하는 과정의 반복으로 구현된다.
상기 수학식 1을 참조하면, j번째 변수노드에 의한 i번째 체크노드의 갱신값의 절대값 |Lj->i|은, i번째 체크노드에 연결된 모든 변수노드들 중에서, j번째 변수노드를 제외한 나머지 i'번째 변수노드값의 절대값 중에서 가장 작은 값을 갖으며, 변수노드에 의한 i번째 체크노드의 갱신 값의 부호 sign(Lj->i)는, 상기 i번째 체크노드에 연결된 변수노드들 중에서 j번째 변수노드를 제외한 나머지 i'번째 변수노드들이 가지고 있는 값의 부호들의 곱이 된다.
도 3은 최소합 알고리즘에 기반한 LDPC 복호기에서의 변수노드에 의한 체크노드 갱신값 연산 예를 나타낸 것으로서, 체크노드 C0에 변수노드 V0, V1, V2, V3가 연결되어 있고, 상기 변수노드 V0, V1, V2, V3의 값이 도 3의 (a)와 같다고 할때, 변수 노드 VO, V1, V2, V3에 의해 연산된 체크노드 갱신값은 도 3의 (b)와 같다.
즉, 변수노드 V0는, 자신의 값 -2를 제외한 나머지 변수노드 V1, V2, V3의 절대값 중에서 가장 작은 값이 1이고, 6, -1, -3의 부호들의 곱이 +이므로, +1이 갱신된다. 마찬가지 방식에 의해서 변수노드 V1, V2, V3의 값 6, -1, -3은 -1, 2, 1로 갱신된다.
이와 같이, 체크노드 갱신값, Lj->i의 크기는 다수의 최소값(예를 들어, 1)과 하나의 준최소값(예를 들어, 2)으로 갱신되고, 부호는 양수 또는 음수만을 갖기 때문에, 4 가지 경우의 수만을 갖게 된다.
본 발명에 의한 체크노드 갱신값 저장 방법은, 상술한 사실을 이용하여, 상기 체크노드 갱신값을 4가지의 경우의 수를 나타내는 형태 정보로 저장하도록 한 것이다.
도 4는 본 발명에 의한 체크노드 갱신값 저장 방법을 나타낸 흐름도이다.
도 4를 참조하면, 본 발명은 체크노드 갱신값의 쓰기 요청이 있으면(S402), 상기 체크노드 갱신값의 크기가 최소값과 준최소값인지를 확인하여 최소값 여부를 나타내는 1비트의 크기값을 결정하고(S403), 이어서 상기 체크노드 갱신값의 부호를 확인하여, 양수(+) 또는 음수(-)인지를 나타내는 1 비트의 부호값을 결정한 후(S404), 상기 체크노드 갱신값을 크기값과 부호값으로 이루어진 2비트의 형태 정보로 변환하여 저장한다(S405). 이에 의하면, 2비트의 형태 정보로 체크노드 갱신값에 대한 모든 경우의 수에 대응하는 형태를 저장할 수 있게 되며, 이 경우, 모든 체크노드 갱신값의 저장 크기가 일정하므로, 메모리의 용량은 변수노드 연산결과가 근사화되는 비트폭 w와 관계없이 일정할 수 있다.
아래의 표 1은 본 발명에 의한 체크노드 메모리에 저장되는 형태 정보의 일 예를 나타낸다.
크기 | 부호 | 메모리에 저장되는 정보 |
최소값 | + | 00 |
- | 01 | |
준최소값 | + | 10 |
- | 11 |
즉, 2 비트의 정보중에서 1 비트는 최소값
즉, 체크노드 메모리에 저장되는 2 비트의 형태 정보 중에서, 00은 부호는 양수이고 크기는 최소값인 갱신값을 나타내고, 01은 부호는 음수이고 크기는 최소값인 갱신값을 나타내며, 10은 부호는 양수이고 크기는 준최소값인 갱신값을 나타내고, 11은 부호는 음수이고 크기는 준최소값인 갱신값을 나타낸다.
이와 같은 형태 정보는 체크노드에서 그대로 이용할 수는 없다. 본 발명은 상기 형태 정보를 체크노드에서 이용가능하도록, 상기 형태 정보를 w 비트로 근사화된 2의 보수 수치계의 갱신값으로 변환하는 과정을 포함한다.
이를 위하여, 본 발명은 상기 저장된 체크노드 갱신값의 읽기 요청시(S406), 저장된 형태 정보를 읽어와, 상기 형태 정보의 크기값에 따라서 최소값과 준최소값 중에서 하나를 선택하고(S407), 상기 형태 정보의 부호값과, 상기 선택된 최소값 또는 준최소값을 2의 보수 수치계로 변환하여 w비트의 근사화된 갱신값을 출력한다(S408).
이때, 상기 체크노드 갱신값의 쓰기 및 읽기를 수행하기 전에, 상기 변수노드에 의해 연산되는 체크노드 갱신값의 최소값 및 준최소값을 미리 저장하여 두는 것이 바람직하다(S401).
도 5는 상술한 체크노드 갱신값 저장 방법을 적용하여 구현된 본 발명에 의한 체크노드 갱신값 저장 장치에서, 체크노드 저장부(100)의 구조를 나타낸 블럭도이다.
도 5를 참조하면, 본 발명에 의한 체크노드 갱신값 저장 장치의 체크노드 저장부(100)는, 읽기/쓰기 동작을 제어하여 지시된 주소의 메모리셀(121~12n)에 저장된 형태 정보를 읽어와 출력하거나, 지시된 주소의 메모리셀(121~12n)에 형태 정보를 기록하는 제어기(110)와, 체크노드 갱신값을 변수노드 연산결과의 최소값 및 준최소값의 여부를 나타내는 1비트의 크기값와 부호가 양수(+)인지 음수(-)인지를 나타내는 1비트의 부호값으로 이루어진 2 비트의 형태 정보로 저장하는 다수의 메모리셀(121~12n)을 포함하여 이루어진다. 상기 다수의 메모리셀(121~12n)은, 각각 j번째 변수노드에 의해 갱신되는 i번째 체크노드들의 갱신값을 저장하는 것으로서, 그 수 n은 PCM 상에서 노드간의 연결을 나타내는 1의 수(nones)와 같다. 더하여, 다수의 메모리셀(121~12n) 각각은, 체크노드 갱신값의 부호 종류를 표시하는 1 비트의 부호값(Sign)와, 체크노드 갱신값의 크기가 최소값인지 준최소값인지를 나타내는 1비트의 크기값(Mag)로 이루어진다.
LDPC 복호기에서, 체크노드 메모리에 저장될 정보의 개수는, PCM 상에서의 노드간의 연결을 나타내는 1의 수 nones와 동일하므로, 본 발명에 의한 체크노드 메모리의 용량은 2×nones 비트이며, 상기 메모리 용량은 변수노드의 연산결과가 근사화되는 비트폭과 관계없이 일정하다.
상술한 구성에서, 제어기(110)는, 쓰기 활성화 신호 WE가 입력될 때에는, j번째 변수노드에 의한 i번째 체크의 노드의 갱신값 WDATA과, 쓰기 주소 정보 WADDR를 입력받아, 상기 다수의 메모리셀(121~12n) 중에서 상기 쓰기 주소에 해당하는 메모리셀에 상기 갱신값에 대한 형태 정보(크기값(Mag), 부호값(Sign))를 기록한다. 또한, 읽기 활성화 신호 RE가 입력될 때에는, 읽기 주소 정보 RADDR를 입력받아 다수의 메모리셀(121~12n) 중에서 상기 읽기 주소에 해당하는 메모리셀에 기록된 갱신값의 형태 정보(Mag, Sign)를 읽어와 출력한다.
이때, 상기 갱신값의 형태 정보(Mag, Sign)의 추출은, 상기 제어기(110)에서 이루어질 수 도 있고, 외부 장치 LDPC 복호기의 다른 구성 요소에서 이루어질 수 도 있다. 즉, 제어기(110)가 w 비트로 근사화된 실제 갱신값을 입력받아, 형태 정보를 추출하도록 할 수 도 있고, LDPC 복호기의 다른 구성 요소에서 상기 표 1과 같은 갱신값의 형태 정보를 제어기(110)로 입력하도록 할 수 도 있다.
그런데, 본 발명에 의하여 메모리에 저장되는 갱신값은, 실제값이 아니라 형태 정보이므로, 이를 출력하는 경우, 상기 체크노드 메모리에 저장된 형태 정보를 w 비트의 근사화된 갱신값으로 변환하여야 한다. 이를 위하여, 본 발명에 의한 체크노드 갱신값 저장 장치는 갱신값 출력부를 포함한다.
도 6은 본 발명에 의한 체크노드 갱신값 저장 장치에서의 갱신값 출력부의 구성 예를 나타낸다.
도 6을 참조하면, 본 발명에 의한 체크노드 갱신값 저장 장치는, 앞서 설명한 제어기(110) 및 다수의 메모리셀(121~12n)로 이루어진 체크노드 저장부(100)에 더하여, 상기 갱신값의 형태 정보(Mag, Sign)를 w비트로 근사화된 실제 갱신값으로 변환하여 출력하는 갱신값 출력부(200)를 더 포함한다.
상기 갱신값 출력부(200)는, 변수노드에 의하여 w 비트로 근사화된 최소값을 저장하는 제1 레지스터(210)와, 변수노드에 의하여 w 비트로 근사화된 준최소값을 저장하는 제2 레지스터(220)와, 상기 체크노드 저장부(100)로부터 출력된 갱신값의 형태 정보중 크기값(Mag)에 따라서 상기 제1 레지스터(210)와 제2 레지스터(220)에 저장된 정보 중에서 하나를 선택하여 출력하는 멀티플렉서(230)와, 상기 체크노드 저장부(100)로부터 출력된 갱신값의 형태 정보중에서 부호값(Sign)에 따라서 상기 멀티플렉서(230)로부터 출력된 정보를 2의 보수 수치계로 변환하는 2의 보수 변환기(240)를 포함하여 이루어진다.
상술한 갱신값 출력부(200)의 동작은 다음과 같이 이루어진다.
표 1을 참조할 때, 부호값(Sign)이 0이면 갱신값(Lj->i)이 양수의 값을 가진다는 의미이고, 1이면 갱신값 (Lj->i)이 음수의 값을 가진다는 의미이다. 또한, 크기값(Mag)가 0이면 갱신값 (Lj->i)의 크기가 최소값이라는 의미이고, 1이면 갱신값 (Lj->i)의 크기가 준최소값이라는 의미이다.
따라서, 상기 부호값(Sign)은 2의 보수 변환기(240)로 입력되어, 변환될 2의 보수 수치계의 부호를 결정하고, 상기 크기를 나타내는 비트값(Mag)는 멀티플렉서(230)의 선택 신호로 입력되어, 0이면 제1 레지스터(210)에 저장된 w 비트의 최소값을, 1이면 제2 레지스터(220)에 저장된 w비트의 준최소값을 선택하여 출력한다. 상기 멀티플렉서(230)에서 출력되는 신호는 가 된다. 상기 멀티플렉서(230)의 출력 신호 는 2의 보수 변환기(240)로 입력된다.
상기 갱신값 출력부(200)는, 동시에 갱신되어야 하는 체크노드의 수 만큼 필요하며, 노드를 작은 그룹으로 분할하여 갱신하는 반 병렬 구조에서는 메모리 면적에 비하여 작은 면적의 하드웨어로 구현가능하다.
상술한 바에 의하면, 본 발명의 체크노드 메모리는, 갱신값의 형태 정보를 저장하도록 함으로써, 기존의 w비트로 근사화된 갱신값을 그대로 저장하는 경우와 비교할 때, 메모리 용량을 에서 로 줄일 수 있다. 따라서, 본 발명은, 기존에 비하여, 체크노드 메모리의 메모리용량을 비트만큼 감소시킬 수 있게 된다. 본 발명에 의한 체크노드 메모리의 용량은 근사화 비트폭 w에 관계없이 일정하므로, 메모리 용량을 증가시키지 않고 LDPC 복호기에서 연산 정밀도를 향상시키기 위해 근사화 비트폭 w를 증가시킬 수 있게 된다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
도 1은 LDPC 복호기에 적용되는 태너 그래프의 일예를 나타낸 도면이다.
도 2는 LDPC 복호기의 대표적인 구조를 나타낸 도면이다.
도 3은 최소합 알고리즘 기반의 LDPC 복호기에 있어서, 변수노드에 의해 체크노드의 값을 갱신하는 예를 나타낸 도면이다.
도 4는 본 발명에 의한 LDPC 복호기의 체크노드 갱신값 저장 방법을 나타낸 흐름도이다.
도 5는 본 발명의 체크노드 갱신값 저장 장치에 있어서, 체크노드 저장부의 구조를 나타낸 도면이다.
도 6은 본 발명의 체크노드 갱신값 저장 장치에 있어서, 갱신값 출력부의 구조를 나타낸 도면이다.
Claims (8)
- 최소합 알고리즘에 기반한 LDPC 복호기의 체크노드 갱신값 저장 장치에 있어서,다수의 변수노드에 의해 연산된 갱신값을 크기 및 부호를 나타내는 2 비트의 형태 정보로 저장하는 다수의 메모리셀; 및상기 다수의 메모리셀에 대한 읽기 및 쓰기를 제어하는 제어기로 이루어진 LDPC 복호기의 체크노드 갱신값 저장 장치.
- 제1항에 있어서, 상기 형태 정보는최소값인지 준최소값인지를 나타내는 1 비트의 크기값과, 부호가 양수(+)인지 음수(-)인지를 나타내는 1 비트의 부호값으로 이루어지는 것을 특징으로 하는 LDPC 복호기의 체크노드 갱신값 저장 장치.
- 제2항에 있어서,상기 다수의 메모리셀에 저장된 형태 정보를 w 비트의 근사화된 갱신값으로 변환하여 출력하는 갱신값 출력부를 더 포함하는 LDPC 복호기의 체크노드 갱신값 저장 장치.
- 제3항에 있어서, 상기 갱신값 출력부는변수노드에서 연산된 갱신값의 최소값을 저장하는 제1 레지스터;변수노드에서 연산된 갱신값의 준최소값을 저장하는 제2 레지스터;상기 형태 정보중에서 크기값에 따라서 상기 제1 레지스터와 제2 레지스터에 저장된 최소값과 준최소값 중에서 하나를 선택 출력하는 멀티플렉서; 및상기 형태 정보 중에서 부호값과 상기 멀티플렉서의 출력값을 입력받아 2의 보수 수치계로 변환하는 2의 보수 변환기를 포함하여 이루어지는 것을 특징으로 하는 LDPC 복호기의 체크노드 갱신값 저장 장치.
- 최소합 알고리즘에 기반한 LDPC 복호기의 체크노드 갱신값 저장 방법에 있어서,변수노드에 의해 연산된 체크노드 갱신값의 쓰기 요청시, 상기 체크노드 갱신값의 크기가 최소값인지 준최소값인지 확인하는 단계;상기 체크노드 갱신값의 부호가 양수인지 음수인지 확인하는 단계; 및상기 체크노드 갱신값을, 상기 확인 결과에 따라서 크기가 최소값인지 준최소값인지를 나타내는 1비트의 크기값과, 부호가 양수인지 음수인지를 나타내는 1비트의 부호값으로 이루어진 2비트의 형태 정보로 저장하는 단계를 더 포함하는 LDPC 보호기의 체크노드 갱신값 저장 방법.
- 제5항에 있어서,상기 체크노드 갱신값의 읽기 요청시, 상기 저장된 형태 정보를 읽어와, 상기 형태 정보를 w 비트의 근사화된 갱신값으로 변환하여 출력하는 단계를 더 포함하는 LDPC 복호기의 체크노드 갱신값 저장 방법.
- 제6항에 있어서, 상기 형태 정보를 w 비트의 근사화된 갱신값으로 변환하여 출력하는 단계는,상기 형태 정보의 크기값에 따라서 상기 최소값과 준최소값 중에서 하나를 선택하는 단계: 및상기 형태 정보 중에서 부호값과 상기 선택된 최소값 또는 준최소값을 이용하여 2의 보수 수치계로 변환하는 단계로 이루어지는 LDPC 복호기의 체크노드 갱신값 저장 방법.
- 제5항에 있어서,상기 형태 정보를 w 비트로 근사화된 갱신값으로 변환하여 출력하는 단계 이 전에, 상기 변수노드에서 연산된 갱신값의 최소값과 준최소값을 저장하여 두는 단계를 더 포함하는 것을 특징으로 하는 LDPC 복호기의 체크노드 갱신값 저장 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090100407A KR20110043337A (ko) | 2009-10-21 | 2009-10-21 | Ldpc 복호기의 체크노드 갱신값 저장 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090100407A KR20110043337A (ko) | 2009-10-21 | 2009-10-21 | Ldpc 복호기의 체크노드 갱신값 저장 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110043337A true KR20110043337A (ko) | 2011-04-27 |
Family
ID=44048626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090100407A KR20110043337A (ko) | 2009-10-21 | 2009-10-21 | Ldpc 복호기의 체크노드 갱신값 저장 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20110043337A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9088302B2 (en) | 2012-04-19 | 2015-07-21 | Samsung Electronics Co., Ltd. | Low-density parity-check code decoder and decoding method |
-
2009
- 2009-10-21 KR KR1020090100407A patent/KR20110043337A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9088302B2 (en) | 2012-04-19 | 2015-07-21 | Samsung Electronics Co., Ltd. | Low-density parity-check code decoder and decoding method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10298261B2 (en) | Reduced complexity non-binary LDPC decoding algorithm | |
RU2395902C2 (ru) | Способы и устройство ldpc-кодирования | |
KR101753498B1 (ko) | 신뢰도 데이터 업데이트 | |
KR101428891B1 (ko) | 아날로그 메모리 셀들에서의 최적화된 임계치 검색 | |
JP2012244305A (ja) | メモリコントローラ、半導体メモリ装置、および復号方法 | |
US8572463B2 (en) | Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size | |
US10707902B2 (en) | Permutation network designing method, and permutation circuit of QC-LDPC decoder | |
US20110258370A1 (en) | Multiple programming of flash memory without erase | |
JP6602904B2 (ja) | メモリのメモリセル内のデータの処理 | |
KR20140098702A (ko) | 선택적 이진 및 비-이진 디코딩을 이용한 플래시 메모리에서의 검출 및 디코딩 | |
CN112332856B (zh) | 一种准循环ldpc码的层译码方法及装置 | |
JP6957392B2 (ja) | メモリシステム | |
US20100174965A1 (en) | Ldpc codes with small amount of wiring | |
US10090860B2 (en) | Memory system using integrated parallel interleaved concatenation | |
US9853661B2 (en) | On-the-fly evaluation of the number of errors corrected in iterative ECC decoding | |
US9065484B2 (en) | Systems and methods for efficient low density parity check (LDPC) decoding | |
KR102355082B1 (ko) | 채널 편파 코드의 연속 제거 리스트 디코딩을 위한 효율적인 생존 메모리 아키텍처 | |
US20110179337A1 (en) | Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof | |
US8504894B1 (en) | Systematic encoding for non-full row rank, quasi-cyclic LDPC parity check matrices | |
US10606695B2 (en) | Error correction circuit and memory system including the same | |
US10700708B2 (en) | Permutation network designing method, and permutation circuit of QC-LDPC decoder | |
KR20160110788A (ko) | Nand 플래시 메모리의 qc-ldpc 코드 생성 방법 및 회로 | |
KR20110043337A (ko) | Ldpc 복호기의 체크노드 갱신값 저장 방법 및 장치 | |
CN110971240A (zh) | 解码器设计方法与存储控制器 | |
JP2020135391A (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |