KR101484066B1 - 엘디피시 부호의 디코딩 방법 - Google Patents

엘디피시 부호의 디코딩 방법 Download PDF

Info

Publication number
KR101484066B1
KR101484066B1 KR20130147257A KR20130147257A KR101484066B1 KR 101484066 B1 KR101484066 B1 KR 101484066B1 KR 20130147257 A KR20130147257 A KR 20130147257A KR 20130147257 A KR20130147257 A KR 20130147257A KR 101484066 B1 KR101484066 B1 KR 101484066B1
Authority
KR
South Korea
Prior art keywords
decoding
ldpc
node
bit
information
Prior art date
Application number
KR20130147257A
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 KR20130147257A priority Critical patent/KR101484066B1/ko
Application granted granted Critical
Publication of KR101484066B1 publication Critical patent/KR101484066B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 LDPC 부호의 디코딩 방법은 LDPC 디코더에서, 메모리 소자에 저장된 LDPC 부호어의 판독 정보를 수신하여, 상기 LDPC 부호어를 1차 디코딩하는 단계;상기 1차 디코딩하는 단계의 디코딩 결과가 디코딩 종료 조건에 부합하는지 여부를 판단하며, 상기 디코딩 종료 조건에 부합하지 않은 것으로 판단하는 때 제1제어신호를 생성하는 단계; 및 상기 LDPC 디코더에서 상기 제1제어신호에 따라 상기 1차 디코딩하는 단계에서 획득된 정보를 이용하여 상기 LDPC 부호어를 2차 디코딩하는 단계를 포함할 수 있다.

Description

엘디피시 부호의 디코딩 방법{LDPC CODE DECODING METHOD}
본 발명은 LDPC(Low Density Parity Check) 부호의 디코딩 방법에 관한 것으로, 보다 상세하게는 메모리 장치에서 LDPC 부호의 디코딩의 반복 수행시 수렴 속도가 큰 LDPC 디코딩 기법에 관한 것이다.
LDPC(Low-Density Parity-Check) 부호는 예컨대 낸드 플래시 메모리(NAND Flash Memory)의 오류 정정 부호로서 이용될 수 있는 선형 블록 부호(linear block code)이다.
LPDC 부호는 k 비트의 정보와 p 비트의 패리티(parity)를 포함할 수 있다. 여기서 LDPC 부호의 전체 길이 n은 k와 p의 합이다. 전체 길이 중 정보비트의 길이 비율을 나타내는 부호율(code rate)은 k/n의 식으로 나타낼 수 있다. LDPC 부호의 인코딩에 따라 패리티 체크 행렬을 이용하여 k비트를 입력 받아 n비트가 출력될 수 있다.
상기 LDPC 디코더(Decoder)에서 디코딩하는 과정은 판정된 값(x_hat)이 유효한 코드워드(code word)가 될 때까지, 혹은 최대 반복 횟수에 도달할때까지 반복적으로(iterative) 동작한다.
이때, LDPC 부호 디코딩의 반복횟수를 수율(throught) 관점에서 LDPC 부호 디코딩의 반복횟수는 평균적으로4~5회로 제한될 수 있는바, LDPC 부호 디코딩의 정확도를 높이면서도 LDPC 디코딩의 반복횟수를 줄일 수 있는 기술이 요구된다.
본 발명이 이루고자 하는 기술적 과제는 전술한 필요성을 충족시킬 수 있는 LDPC 부호 디코딩의 정확도를 높이면서도 LDPC 디코딩의 반복횟수를 줄일 수 있는 LDPC 부호의 디코딩 방법 및 이를 이용한 LDPC 부호의 디코딩 시스템을 제공하는데 있다.
또한, 본 발명이 이루고자 하는 다른 기술적 과제는, LPDC 부호의 디코딩시 디코딩 반복 횟수에 따라 결과값에 보다 빠르게 수렴할 수 있는 LDPC 부호의 디코딩 방법 및 LDPC 부호의 디코딩 시스템을 제공하는데 있다.
또한, 본 발명이 이루고자 하는 또 다른 기술적 과제는, 처리량(throughput)의 관점에서 낸드 플래시 메모리의 수명을 늘릴 수 있는 있는 LDPC 부호의 디코딩 방법 및 LDPC 부호의 디코딩 시스템을 제공하는데 있다.
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.
본 발명의 실시형태에 따른 LDPC 부호의 디코딩 방법은 LDPC 디코더에서, 메모리 소자에 저장된 LDPC 부호어의 판독 정보를 수신하여, 상기 LDPC 부호어를 1차 디코딩하는 단계; 상기 1차 디코딩하는 단계의 디코딩 결과가 디코딩 종료 조건에 부합하는지 여부를 판단하며, 상기 디코딩 종료 조건에 부합하지 않은 것으로 판단하는 때 제1제어신호를 생성하는 단계; 및 상기 LDPC 디코더에서 상기 제1제어신호에 따라 상기 1차 디코딩하는 단계에서 획득된 정보를 이용하여 상기 LDPC 부호어를 2차 디코딩하는 단계를 포함할 수 있다.
본 발명에 따르면 LDPC 부호 디코딩의 정확도를 높이면서도 LDPC 디코딩의 반복횟수를 줄일 수 있는 LDPC 부호의 디코딩 방법 및 이를 이용한 LDPC 부호의 디코딩 시스템을 제공할 수 있다.
또한, 본 발명에 따르면, LPDC 부호의 디코딩시 디코딩 반복 횟수에 따라 결과값에 보다 빠르게 수렴할 수 있는 LDPC 부호의 디코딩 방법 및 LDPC 부호의 디코딩 시스템을 제공할 수 있다.
또한, 본 발명에 따르면, 처리량의 관점에서 낸드 플래시 메모리의 수명을 늘릴 수 있는 있는 LDPC 부호의 디코딩 방법 및 LDPC 부호의 디코딩 시스템을 제공할 수 있다.
도1은 본 발명의 실시예에 따른 LDPC 부호 시스템의 블록 구성도이다.
도2는 LDPC 인코딩을 위한 패러티 체크 행렬과 이에 대한 태너 그래프(tanner graph)를 예시한다.
도3은 본 발명의 실시형태에 따른 LDPC 부호의 디코딩 시스템의 블록 구성도이다.
도4a 내지 도4d는 본 발명의 실시형태에 따른 LDPC 부호의 디코딩 방법의 일부 단계를 예시한다.
도5a 및 도5b는 각각 최대 반복횟수 10 및 5인 경우에 본 발명의 실시예에 따른 LDPC 부호의 디코딩 기법과 종래의 LDPC 디코딩 기법의 성능을 비교하는 그래프이다.
도6은 본 발명의 실시예에 따른 LDPC 부호의 디코딩 기법과 종래의 LDPC 디코딩 기법의 반복횟수를 비교하는 그래프이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명되는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙여 설명하기로 한다.
이하, 본 발명에서 실시하고자 하는 구체적인 기술내용에 대해 첨부도면을 참조하여 상세하게 설명하기로 한다.
도1은 본 발명의 실시예에 따른 LDPC 부호 시스템의 블록 구성도이다. 도1에 도시된 바와 같이, 일반적으로 LDPC 부호 시스템은 입력 데이터를 LDPC 인코더(Encoder)를 통해 LDPC 부호로 인코딩(Encoding)한 후, 인코딩된 데이터가 메모리(memory) 소자에 쓰기 된다. 메모리 소자에 쓰인 데이터는 예컨대 판독기(미도시)를 통해 읽기된 후 LDPC 디코더(decoder)에 전달될 수 있다. LDPC 디코더는 LDPC 부호어에 대한 판독 정보를 통해 LDPC 부호어를 디코딩할 수 있다.
본 발명의 실시예가 적용될 수 있는 메모리 소자는 예컨대 낸드 플래시 메모리(NAND FLASH MEMORY)일 수 있다. 이는 단지 예시일뿐이며 본 발명의 실시예가 적용될 수 있는 메모리 소자는 임의의 메모리 소자를 포함할 수 있다.
낸드 플래시 메모리는 SSD(Solid State Drive)의 일종으로서 직렬연결 방식으로 회로의 집적도가 높아 대용량으로 만들기가 쉬우며 읽기/쓰기 속도가 빠르다. 이러한 특징으로 인해 낸드 플래시 메모리에 대한 사용이 증가하고 있다.
하지만, 낸드 플래시 메모리 소자는 미세 공정의 사용과 셀(cell) 당 저장 비트 수 증가로 미세화, 다치화되고 있다. 이러한 저장밀도의 증가에 따라 소자의 신뢰성 악화와 수명 단축 등의 부작용이 야기되고 있다. 특히, 한 셀 당 저장하는 비트의 수가 증가함에 따라, 오류가 발생할 확률이 증가하며, 읽기/쓰기 동작이 반복될수록 오류 발생 확률이 크게 증가하여 제품의 신뢰도가 떨어지는 문제가 발생한다. 이러한 문제를 해결하기 위해 일반적으로 오류 정정 부호가 이용될 수 있다.
더욱이, 메모리에 데이터를 쓰고 읽는(판독) 과정에서 노이즈(noise)가 발생하므로 메모리에서 판독된 정보는 오류를 내포하고 있다. 이러한 오류를 모두 정정하기 위해서 본 발명의 실시예에서는 오류 정정 부호로서 LDPC 부호를 적용하고 있다.
LDPC 인코더는, 입력된 데이터(Information bits 또는 Systematic Bits)에 첨가될 패리티 비트(Parity Bits)을 발생시키데 사용되는 패리티 체크 행렬(Parity Check Matrix)인 H 행렬 또는 H행렬로부터 유도되는 생성행렬(Generation Matrix) G 행렬을 저장하고 있다. 즉, 상기 LDPC 인코더(Encoder)는, 상기 H 또는 G 행렬과 상기 입력된 데이터를 통해 패리티 비트(Parity Bit)들을 발생한다.
도2는 LDPC 인코딩을 위한 패러티 체크 행렬과 이에 대한 태너 그래프(tanner graph)를 예시한다.
우선, 도2의 상단에 도시된 패러티 체크 행렬(H)에 대한 예를 살펴보면, H 행렬은 (8, 4)의 선형 코드를 나타낸다. 즉, 도2의 H 행렬에서 LPDC 부호는 8 비트의 정보와 4 비트의 패리티 비트를 포함하고 있으며, LDPC 부호의 전체 길이는 12임을 알 수 있다. 이때, 부호율은 8/12로 나타낼 수 있다. 도2의 H행렬을 통한 LDPC 인코딩을 수행할 때 8비트의 정보를 입력받아 12비트의 LDPC 부호가 출력될 수 있다.
도2의 하단에는 해당 H 행렬에 대응하는 태너 그래프(tanner graph)가 예시된다. 태너 그래프는 이분 그래프(bipartite graph)로서, 그래프의 노드(node)들이 두 개의 구분되는 세트(set)로 분류되고 에지(edge)들은 두 개의 서로 다른 타입의 세트에 포함된 노드들 사이만을 연결하도록 도시된다. 태너 그래프에서 두 개의 종류의 노드 중 하나는 변수 노드(variable node)로서 v-노드라고 지칭되고 나머지 하나는 체크 노드(check node)로서 c-노드로 지칭될 수 있다.
도2의 H 행렬과 이에 대응하는 태너 그래프를 살펴보면, 해당 태너 그래프의 생성은 용이하게 파악될 수 있다. 즉, H 행렬의 hij 요소가 1인 경우에 체크 노드 fi와 변수 노드 처가 에지를 통해 연결되는 것이다. 이때, 하나의 c-노드에 연결되는 v-노드의 합의 모듈로 2(modulo 2)는 0이 되어야 한다. 즉, 하나의 c-노드에 연결되는 v-노드의 비트 값의 합은 짝수가 되어야 한다. 예컨대, c-노드 f1에 연결된 v-노드 c0, c1, c2 및 c5의 비트 값의 합은 짝수가 되어야 한다. 이는 나머지 노드에 대해서도 동일하게 적용될 수 있다. 이러한 관계식은 추후 LDPC 부호의 디코딩시에 적용될 수 있다
도3은 본 발명의 실시예에 따른 LDPC 부호의 디코딩 시스템(100)의 블록 구성도이다. 본 발명의 실시예에 따른 LDPC 부호의 디코딩 시스템(100)은 LDPC 디코더(110) 및 제어기(120)를 포함할 수 있다.
일반적으로, LDPC 디코더(110)에서 디코딩하는 과정은 판정된 비트 값이 유효한 코드워드(code word)가 될 때까지, 혹은 최대 반복 횟수에 도달할때까지 반복적으로(iterative) 동작한다.
LDPC 디코더(110)는 메모리 소자에 저장된 LDPC 부호어에 대한 판독 정보(왜곡된 Systematic Bits + Parity Bits)를 수신하여 H행렬과 연산을 통하여 상기 입력된 데이터(Systematic Bits)들이 제대로 복구되는지 확인하고 복구 실패시 연산을 재수행한다.
보다 구체적으로, LDPC 부호의 디코딩 알고리즘은 메시지 패싱 알고리즘을 기반으로 수행될 수 있다. 메시지 패싱 알고리즘(message passing algorithm)은 크게 두 개의 프로세스로 진행되며, 먼저 비트-체크 메시지 패싱(bit-to-check message passing)이 수행된다. 비트-체크 메시지 패싱에서는 동일한 c-노드에 묶인 v-노드들의 정보를 해당 c-노드가 알 수 있도록 해당 c-노드에 묶인 v-노드들이 각각 비트-체크 메시지를 해당 c-노드로 에지를 통해 전달한다. 비트-체크 메시지 패싱 과정 후에 체크-비트 메시지 패싱이 수행된다. 체크-비트 메시지 패싱에서는 동일한 v-노드에 묶인 c-노드들의 정보를 해당 v-노드가 알 수 있도록 해당 v-노드에 묶인 c-노드들이 각각 체크-비트 메시지를 해당 v-노드로 에지를 통해 전달한다. 비트-체크 메시지 패싱과 체크-비트 메시지 패싱은 유효한 코드워드로 복호가 이루어질때까지 반복되거나 최대 반복 횟수에 도달할 때까지 반복될 수 있다. 메시지 패싱 알고리즘의 메시지 패싱과 이를 이용한 복호 과정은 당해 기술분야의 당업자에게는 자명하므로 구체적인 설명은 생략한다.
본 발명의 실시예에 따른 LDPC 디코더(110)는 전술한 바와 같은 메시지 패싱 알고리즘에 근거하여 디코딩을 수행할 수 있다.
본 발명의 실시예에서 LDPC 디코더(110)는 판독기(미도시)를 통해 메모리 소자에 저장된 LDPC 부호어에 대한 판독 정보를 수신하여 LDPC 부호어에 대한 경판정 정보에 근거하여 LDPC 부호어를 디코딩할 수 있다. 이후, LDPC 부호어에 대한 디코딩 결과가 디코딩 종료 조건에 부합하지 않는 경우 LDPC 디코더(110)는 LDPC 부호어에 대한 연판정 정보에 근거하여 LDPC 부호어를 재차 디코딩할 수 있다.
일반적으로, 오류 정정 부호는 오류 정정을 위해 수신된 부호어에 포함된 각 비트(bit)에 대한 정보를 필요로 한다. 여기서, 경판정(hard decision) 정보는 메모리 소자에 저장된 비트의 판독 값이 0인지 또는 1인지에 대한 정보만을 제공한다. 이에 반해, 연판정(soft decision) 정보는 메모리 소자에 저장된 비트에 대한 양자화된(quantized) 판독 정보를 제공할 수 있다. 예컨대 비트에 대한 연판정 정보의 값은 0 및 1 그리고 0과 1 사이의 값을 가질 수 있다. 비트가 0인지 1인지에 대한 정보만을 제공하는 경판정 정보는 신뢰성 정보가 부족한 반면, 비트에 대한 연판정 정보는 보다 많은 신뢰성 정보를 제공하므로 오류 정정에 더 유리할 수 있다.
LDPC 디코더(110)는 디코딩 종료 조건이 발생할 때까지 디코딩을 반복하며, 매회 LDPC 디코딩이 수행될때마다 메모리 소자에 대하여 새롭게 판독 절차가 수행될 수 있다. 이때, LDPC 디코딩의 차수가 높아질수록 메모리 소자에서 판독되는 정보는 경판정 정보부터 보다 세분화된 양자화 정보까지 차례대로 이용될 수 있다. 예컨대, 1차 LDPC 디코딩시에서 경판정 정보를 이용하고, 2차 LDPC 디코딩시에는 2비트 양자화된 정보, 그리고 3차 LDPC 디코딩시에는 3비트 양자화된 정보 등이 이용될 수 있다. 차수가 증가할수록 엄밀한 의미의 연판정 정보에 가까운 판독 정보가 디코딩시에 이용될 수 있다. 본원 명세서에서는 경판정 정보보다 더 양자화된 정보인 경우 연판정 정보로 지칭한다.
우선, 본 발명의 실시예에 따른 LDPC 부호의 디코딩 시스템(100)에서는 LDPC 부호어에 대한 경판정 정보에 근거하여 LDPC 디코더(110)에서 LDPC 부호어에 대한 1차 디코딩 단계를 수행할 수 있다. 즉, LDPC 디코더(110)는 LDPC 부호에 포함된 각 비트에 대한 경판정 정보를 근거로 하여 메시지 패싱 알고리즘을 통해 1차 디코딩을 수행할 수 있다.
LDPCC 디코더(110)의 1차 디코딩 결과가 디코딩 종료 조건에 부합하는지 여부가 판단될 수 있다. 이때, 디코딩 종료 조건이라함은 LDPC 디코더(110)의 1차 디코딩 출력이 유효한 부호어(codeword)를 나타내거나 기설정된 최대 디코딩 반복 횟수일 수 있다.
LDPC 디코더(110)의 1차 디코딩 결과가 유효한 부호어를 나타내는 경우에는 디코딩 종료 조건에 부합되므로 LDPC 부호의 디코딩 시스템(100)의 디코딩 절차는 종료되게 된다. 여기서, LDPC 디코더(110)의 디코딩 결과는 디코딩된 LDPC 부호어에 포함된 데이터의 비트값일 수 있다. LDPC 디코더(110)의 1차 디코딩 결과가 디코딩 종료 조건에 부합하지 않는 것으로 판단된 때는 LDPC 디코더(110)에서 2차 디코딩이 수행될 수 있다.
이때, 본 발명의 실시예에 따르면 LDPC 디코더(110)의 디코딩 결과가 디코딩 종료 조건에 부합하는지 여부의 판단은 제어기(120)에서 수행될 수 있다. 도3에서는 제어기(120)가 LDPC 디코더(110)와 구분되어 도시되지만, 실시예에 따라 제어기(120)는 LDPC 디코더(110)와 구분되는 구성요소로서 구현되지 않아도 무방하다.
본 발명의 실시예에 따른 제어기(120)는 LDPC 디코더(110)의 매회 디코딩 결과가 디코딩 종료 조건에 부합하는지 여부를 판단하고, 디코딩 종료 조건에 부합하지 않는 것으로 판단하는 때 제1제어신호를 생성하여 LDPC 디코더(110)로 하여금 재차 LDPC 디코딩을 수행하도록 할 수 있다. 이때, LDPC 디코더(110)로 메모리 소자로부터 새롭게 읽은 판독 정보를 수신할 수 있다.
경판정 정보에 근거한 1차 디코딩 단계 후에, 제어기(120)가 제1제어신호를 LDPC 디코더(110)에 전달하면, LDPC 디코더(110)는 LDPC 부호의 디코딩 시스템(100)에 수신된 LDPC 부호어에 대한 연판정 정보에 근거하여 상기 LDPC 부호어를 2차 디코딩하는 단계를 수행할 수 있다. 즉, LDPC 디코더(110)는 LDPC 부호에 포함된 각 비트에 대한 연판정 정보를 근거로 하여 메시지 패싱 알고리즘을 통해 2차 디코딩을 수행할 수 있다.
본 발명의 실시예에 따른 LDPC 디코더(110)는 연판정 정보에 근거하여 2차 디코딩을 수행하되, LDPC 디코더(110)의 1차 디코딩하는 단계에서 획득된 정보를 외부(extrinsic) 정보로서 이용하여 LDPC 부호어를 디코딩할 수 있다. 즉, LDPC 디코더(110)는 연판정 정보와 함께 1차 디코딩 단계에서 획득된 정보를 이용하여 v-노드의 비트값을 초기화한 후 2차 디코딩 단계를 수행할 수 있다.
예컨대, LDPC 디코더(110)의 1차 디코딩하는 단계에서 획득된 정보는 1차 디코딩하는 단계에서 수행되는 메시지 패싱 알고리즘의 체크-비트 메시지를 포함할 수 있다. 상기 체크-비트 메시지는 상기 체크-비트 메시지의 도착 v-노드의 비트값을 초기화하는데 이용될 수 있다.
이때, 상기 체크-비트 메시지에 스케일 팩터(α: scale factor)를 곱한 값이 해당 v-노드의 비트값을 초기화할 때 이용될 수 있다. 이때, 스케일 팩터(α)는 이전 디코딩 단계(예컨대, 1차 디코딩 단계)의 디코딩 결과의 신뢰도에 따라 결정될 수 있다. 스케일 팩터(α)는 예컨대 0 이상 내지 1이하의 값을 가질 수 있다. 1차 디코딩 단계의 디코딩 결과의 신뢰도에 따라 신뢰도가 높을수록 큰 값을 가지며 신뢰도가 낮을수록 작은 값을 가지도록 실시예에 따라 스케일 팩터(α) 값을 조절하여 이용할 수 있다.
또한, 실시예에 따라 1차 디코딩하는 단계에서 획득된 체크-비트 메시지는 1차 디코딩하는 단계에서 디코딩이 성공한 c-노드로부터 출발하는 체크-비트 메시지인 경우에만 2차 디코딩하는 단계에서 해당 v-노드의 비트값을 초기화하도록 이용될 수 있다. 예컨대, 1차 디코딩하는 단계에서 디코딩이 실패한 c-노드로부터 출발하는 체크-비트 메시지는 2차 디코딩하는 단계에서 사용되지 않을 수 있다. 실시예에 따라 1차 디코딩하는 단게에서 디코딩이 실패한 c-노드로부터 출발하는 체크-비트 메시지에 곱해지는 스케일 팩터(α)는 0으로 설정될 수 있다.
도4a 내지 도4d는 본 발명의 실시형태에 따른 LDPC 부호의 디코딩 방법의 일부 단계를 예시한다. 도4에서 패러티 체크 행렬(H)에 대한 태너 그래프가 함께 도시되어 있다.
도4a에서는 패러티 체크 행렬(H)을 이용한 LDPC 부호어에 대한 LDPC 디코더(110)의 1차 디코딩시에 v-노드 비트값의 초기화 단계를 예시한다.
LDPC 디코더(110)가 1차 디코딩 단계를 수행하기 위해서 v-노드의 비트값을 초기화할 필요가 있다. 1차 디코딩 단계를 위한 초기화를 위해, v-노드 c0, c1, c2 및 c3 각각은, 예컨대, 해당 비트에 대한 LLR(Log-Likelihood Ratio) 값을 경판정 정보로서 입력받을 수 있다.
각 노드의 비트에 대한 LLR 값(z)는 아래와 같은 수식을 통해서 도출될 수 있다.
Figure 112013109422567-pat00001
수학식(1)
여기서, yd는 예컨대 메모리에 저장된 비트의 경판정 값이다. 도4a에서 각 v-노드에 대한 경판정 정보로서 0.5, -0.5, 0.5 및 -0.5를 입력받는 것이 예시된다. 이때, 초기화 단계에서 c-노드 f0 및 f1은 각각에 에지를 통해 연결된 v-노드에 0의 값을 전달할 수 있다. 예컨대, f0노드는 해당 노드에 연결된 v-노드인 c0 및 c3에 0의 값을 전달하고, f1노드는 해당 노드에 연결된 v-노드인 c1 내지 c3의 값을 전달할 수 있다.
경판정 정보와 c-노드로부터 전달되는 0의 값을 합산함으로써 각 v-노드의 비트값이 초기화될 수 있으며, 도4a에서는 비트열 z'=(1 0 1 0)으로 초기화됨을 알 수 있다. 즉, c0 및 c2노드의 LLR값은 0보다 큰 0.5이므로 1의 비트값 그리고 c1 및 c3 노드의 LLR 값은 0보다 작은 -0.5이므로 0의 비트값으로 초기화될 수 있다.
도4b에서는 도4a에 도시된 초기화 정보를 통해 1차 디코딩 단계를 완료한 상태를 예시한다. 즉, 메시지 패싱 알고리즘의 비트-체크 메시지를 통해 도4a에서 획득된 초기화된 v-노드의 비트값에 대한 정보가 에지를 통해 연결된 c-노드에 각각 전달될 수 있다. 예컨대, c0 및 c3 노드의 비트값에 대한 정보가 f0 노드에 각각의 비트-체크 메시지를 통해 전달되고, c1, c2 및 c3 노드의 비트값에 대한 정보가 f1 노드에 각각의 비트-체크 메시지를 통해 전달될 수 있다. 각각의 c-노드는 자신에게 주어진 v-노드의 비트값에 대한 정보를 이용하여 각각의 v-노드의 비트값의 정보에 대한 업데이트 정보를 계산할 수 있다. 예컨대, c-노드는 해당 c-노드에 에지를 통해 연결된 v-노드의 비트값의 합은 언제나 짝수가 되어야 하는 정보를 통해 해당 업데이트 정보를 결정할 수 있다. 이렇게 획득된 업데이트 정보는 체크-비트 메시지로서 c-노드로부터 에지를 통해 연결된 v-노드로 전달될 수 있다.
도4b의 각 v-노드 하단에는 상기 업데이트 정보에 따라 업데이트된 비트값에 대한 정보가 0.25, -0.55, -0.1 및 -0.25로 예시되어 있다. 비트-체크 메시지 패싱과 체크-비트 메시지 패싱이 1회 완료된 후 v-노드는 초기화된 비트값에 대한 정보와 상기 업데이트 정보를 합산함으로써 각 v-노드의 비트값에 대한 정보를 업데이트할 수 있다.
도4a와 도4b를 참조하면, f0 노드로부터 c0노드로의 체크-비트 메시지는 -0.25 (0.25-0.5), f1노드로부터 c1노드로의 체크-비트 메시지는 -0.05 (-0.55-(-0.5))임을 용이하게 할 수 있다. 나머지 체크-비트 메시지의 값 또한 마찬가지로 용이하게 획득될 수 있다.
도4b에서는 1차 디코딩 단계 수행 후 비트열은 z"=(1 0 0 0)으로 업데이트됨을 알 수 있다. 1차 디코딩 단계에 따라 획득된 비트열이 유효한 부호어를 나타내는 경우 LDPC 디코더(110)의 디코딩은 종료될 수 있다. 해당 H행렬과 획득된 비트열을 트랜스폼(transform)하여 곱한 행렬이 0행렬인 경우 디코딩 결과에 따른 비트열이 유효한 부호어를 나타낸다고 판단할 수 있다.
도4b에서 H행렬과 1차 디코딩 단계에서 획득된 비트열(z")의 트랜스폼 행렬이 곱하는 경우 Hz"= (1 0)를 얻게된다. 이를 통해 c-노드 f1에 대해서는 디코딩이 성공하였지만 c-노드 f0에 대해서는 디코딩이 실패하였음을 알 수 있다. 이 경우, 비트열(z")는 유효한 부호어를 나타내지 않으므로 LDPC 디코더(110)는 최대 반복 횟수에 도달할 때까지 디코딩을 반복할 수 있다.
도4c에서는 1차 디코딩 후 LDPC 디코더(110)의 2차 디코딩시에 v-노드 비트값의 초기화의 과정을 예시한다.
LDPC 디코더(110)가 2차 디코딩 단계를 수행하기 위해서 v-노드의 비트값을 또 다시 초기화할 필요가 있다. 2차 디코딩 단계를 위한 초기화를 위해, v-노드 c0, c1, c2 및 c3 각각은, 예컨대, 해당 비트에 대한 LLR(Log-Likelihood Ratio) 값을 연판정 정보로서 입력받을 수 있다. 이러한 연판정 정보는 메모리 소자를 재차 판독함으로써 획득될 수 있다.
각 노드의 비트에 대한 LLR 값(z)는 아래와 같은 수식을 통해서 도출될 수 있다.
Figure 112013109422567-pat00002
수학식(2)
여기서, yd는 예컨대 메모리에 저장된 비트의 연판정 값으로서, 본 실시예에서 2비트 양자화된 데이터 값이다. 도4c에서 각 v-노드에 대한 연판정 정보로서 0.25, -0.5, 0.25 및 -0.25를 입력받는 것이 예시된다. 종래에서는, 1차 디코딩과는 무관하게 2차 디코딩시의 초기화 단계에서 c-노드 f0 및 f1은 각각에 에지를 통해 연결된 v-노드에 0의 값이 전달되었다. 이 경우, 비트열 z'=(1 0 1 0)으로 초기화됨을 알 수 있다.
하지만, 본원 발명에서는 2차 디코딩 단계의 v-노드의 비트값에 대한 초기화시에 1차 디코딩시 획득된 비트-체크 메시지를 이용하는 것을 제안한다.
도4d는 2차 디코딩 단계에서 v-노드의 비트값에 대한 초기화의 나머지 과정이 예시된다. 도4d에 도시된 바와 같이, v-노드의 비트값을 초기화하기 위해 c-노드로부터 v-노드에 소정 정보가 전달될 수 있다. 이때, c-노드에서 에지로 연결된 v-노드로 전달되는 정보는 1차 디코딩 단계의 최종 메시지인 체크-비트 메시지일 수 있다.
예컨대, 도4b에도 표시된 바와 같이, f0노드는 해당 노드에 연결된 v-노드인 c0 및 c3에 각각 -0.25 및 0.15의 값을 전달하고, f1노드는 해당 노드에 연결된 v-노드인 c1 내지 c3에 각각 -0.05, -0.6 및 0.1의 값을 전달할 수 있다.
이에 따라, 연판정 정보와 c-노드로부터 전달되는 값을 합산함으로써 각 v-노드의 비트값이 초기화될 수 있다. 이때, 본 발명의 실시예에 따르면 도4d에 도시된 바와 같이 c-노드로부터 v-노드로 전달되는 체크-비트 메시지 값은 스케일 팩터(α)와 곱해져서 각 v-노드로 전달될 수 있다. 따라서, v-노드는 각각의 연판정 정보와 c-노드로부터 전달되는 스케일된 정보를 합산함으로써 비트값을 초기화할 수 있으며, 이에 따라 비트열 z'가 획득될 수 있다.
예컨대, c0노드의 비트는 해당 비트값에 대한 정보 0.25 + (-0.25 x α)가 0보다 큰 경우 1로, 0보다 작은 경우 0으로 설정될 수 있고 c1노드의 비트는 해당 비트값에 대한 정보 -0.5 + (-0.05 x α)가 0보다 큰 경우 1로 , 0보다 작은 경우 0으로 설정될 수 있다. 이와 마찬가지로 c2 및 c3 노드의 비트값에 대한 정보 및 비트값이 초기화될 수 있다.
또한, 실시예에 따라 1차 디코딩시에 실패한 체크노드로부터의 체크-비트 메시지에 대해 곱해지는 스케일 팩터(α)는 0으로 설정될 수 있다. 즉, 도4b와 관련되어 1차 디코딩 단계에서 c-노드 f0에 대한 디코딩이 실패한 것이 예시된 바 있다. 따라서, 이 경우 c-노드 f0로부터 v-노드로 전달되는 체크-비트 메시지에 곱해지는 스케일 팩터는 0으로 설정되어 실패한 디코딩 결과는 2차 디코딩시에 반영하지 않도록 설정될 수 있다.
또한, 실시예에 따라 체크-비트 메시지마다 곱해지는 스케일 팩터(α)가 달라질 수 있다.
이후, 2차 디코딩 단계에서 메시지 패싱 알고리즘에 따라 각 v-노드의 비트값에 대한 정보가 업데이트될 수 있고 2차 디코딩에 의해 업데이트된 비트열이 유효한 부호어를 나타내는지 판단될 수 있다. 중복된 사항은 이하에서 생략한다.
이상에서는 2차 디코딩 단계에서 v-노드의 비트값에 대한 정보를 초기화할 때 1차 디코딩 단계의 최종 메시지인 체크-비트 메시지를 이용하는 것에 대해서 설명하였으나, 이러한 기술적 사상은 2차 이상의 디코딩 단계에서 v-노드의 비트값에 대한 정보를 초기화할 때도 동일하게 적용될 수 있다. 예컨대 LDPC 디코더(110)가 3차 디코딩 단계를 수행할 때 v-노드의 비트값에 대한 정보를 초기화할 때 좀 더 세분화되어 양자화된 연판정 정보와 함께 2차 디코딩 단계의 최종 메시지인 체크-비트 메시지를 이용할 수 있다.
이와 같이 2차 이상의 디코딩 단계를 수행할 때 이전 디코딩 단계에서 획득된 정보를 이용하도록 함으로써 LDPC 디코더(110)가 디코딩을 수행할 때 디코딩의 결과가 빠르게 수렴할 수 있다. 또한, 동일한 반복 횟수로 LDPC 디코딩이 수행될 때 보다 정밀하게 LDPC 부호어를 디코딩할 수 있다. 또한, 처리량 관점에서 LDPC 부호를 이용하는 낸드 플래시 메모리의 수명을 연장시킬 수 있다.
본 발명의 실시예에 따른 LDPC 부호의 디코딩 시스템(100)에서 제어기(120)는 LDPC 디코더(110)의 매회 디코딩 완료시마다 디코딩 종료 조건이 만족되었는지를 검사할 수 있다. 이때, 디코딩 종료 조건은 기설정된 디코딩 반복 횟수 또는 LDPC 디코더(110)의 디코딩 결과가 유효한 부호어를 갖는 것일 수 있다. LDPC 디코더(110)의 출력이 디코딩 종료 조건과 부합하는 경우 LDPC 부호의 디코딩 시스템(100)은 디코딩을 종료하고 획득된 디코딩된 LDPC 부호어를 출력할 수 있다.
제어기(120)가 LDPC 디코더(110)의 출력이 디코딩 종료 조건에 부합하지 않는다고 판단한 때, 제어기(120)는 LDPC 디코더(110)로 하여금 반복적으로 디코딩을 수행하도록 제어할 수 있다.
도5 및 도6의 시뮬레이션은 (9071, 8299)의 LDPC 행렬로서 부호율 R=0.914인 layered Min-Sum LDPC 디코딩 시스템에 대해서 실행되었다.
도5a 및 도5b는 각각 최대 반복횟수 10 및 5인 경우에 본 발명의 실시예에 따른 LDPC 부호의 디코딩 기법과 종래의 LDPC 디코딩 기법의 성능을 비교하는 그래프이다.
도5a 및 도5b에서 BER은 채널의 비트 에러율(Bit Error Ratio) 그리고 WER은 디코딩된 LDPC 부호어의 워드 에러율(Word Error Ratio)를 나타낸다. 또한, BSC는 경판정 정보만을 이용하여 LDPC 디코딩을 반복적으로 수행한 그래프를 나타낸다. 제안된 기법(proposed scheme)은 본 발명의 실시예에 따른 LDPC 부호의 디코딩 시스템(100)으로서 스케일 팩터(α)=0.6 그리고 실패한 c-노드에 대한 스케일 팩터(α)=0으로 설정된 경우의 그래프를 나타낸다. 종래 기법(existing scheme)은 본 발명의 실시예와 달리 이전 디코딩 단계에서 획득된 정보를 이용함이 없이 초기화를 수행하는 디코딩 시스템에 대한 그래프를 나타낸다.
도5a를 살펴보면, 본 발명의 제안된 기법은, 최대 10회의 반복횟수로 디코딩을 실시하는 경우 BSC의 경우에 비해서는 상당히 개선된 WER을 가지며 종래 기법과는 유사한 WER을 가짐을 알 수 있다.
하지만, 도5b를 살펴보면, 본 발명의 제안된 기법은, 최대 5회의 반복횟수로 디코딩을 실시하는 경우 종래 기법에 비해서도 낮은 WER을 나타냄을 알 수 있다.
즉, 본 발명의 실시예에 따른 메모리의 LDPC 부호의 디코딩 시스템(100) 및 디코딩 방법에 따라 LDPC 디코딩을 수행하는 경우 작은 반복 디코딩 횟수에서도 정밀도가 더 높은 디코딩 결과를 제공할 수 있음을 알 수 있다.
도6은 본 발명의 실시예에 따른 LDPC 부호의 디코딩 기법과 종래의 LDPC 디코딩 기법의 반복횟수를 비교하는 그래프이다.
도6에서, 종래의 LDPC 부호의 디코딩 기법의 반복횟수에 따른 디코딩 결과의 수렴 분포가 파란 곡선으로 표시되고 평균 수렴 반복횟수가 막대로 표시되어 있다. 마찬가지로 제안된 본 발명의 실시예에 따른 LDPC 부호의 디코딩 기법의 반복횟수에 따른 디코딩 결과의 수렴 분포가 붉은 곡선으로 표시되고 평균 수렴 반복횟수가 막대로 표시되어 있다.
도6을 살펴보면, 본원의 제안된 기법에 따르는 경우 디코딩 결과가 수렴하는 LDPC 디코딩 횟수는 평균 3에 가까운 반면 종래의 기법에 따르는 경우 평균 4~5의 값을 가짐을 알 수 있다.
즉, 본원 발명의 LDPC 부호의 디코딩 시스템(100) 및 디코딩 방법에 따르는 경우 디코딩 반복 횟수에 따라 결과값에 보다 빠르게 수렴할 수 있다. 따라서, LDPC 디코딩의 반복횟수를 효과적으로 줄일 수 있다.
이상에서는 메모리 소자로서 특히 낸드 플래시 메모리가 이용되는 실시예를 중심으로 설명하였으나, 이는 단지 예시일뿐이며 본 발명은 LDPC 부호를 이용할 수 있는 임의의 메모리 소자에 적용될 수 있음은 자명하다. 또한, 본 발명은 메모리 소자로부터 엄밀한 의미의 연판정 정보를 획득하는데 어려움이 있어 경판정 정보로부터 순차적으로 세부화된 판독 정보가 요구되는 경우라면 본 발명의 사상에서 벗어남이 없이 적용될 수 있음은 당해 기술분야의 당업자에게는 자명하다.
이상에서 설명한 본 발명의 바람직한 실시 예들은 기술적 과제를 해결하기 위해 개시된 것으로, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자(당업자)라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가 등이 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.
100: LDPC 부호의 디코딩 시스템
110: LDPC 디코더
120: 제어기

Claims (7)

  1. LDPC 디코더에서, 메모리 소자에 저장된 LDPC 부호어의 판독 정보를 수신하여, 상기 LDPC 부호어를 1차 디코딩하는 단계;상기 1차 디코딩하는 단계의 디코딩 결과가 디코딩 종료 조건에 부합하는지 여부를 판단하며, 상기 디코딩 종료 조건에 부합하지 않은 것으로 판단하는 때 제1제어신호를 생성하는 단계; 및
    상기 LDPC 디코더에서 상기 제1제어신호에 따라 상기 1차 디코딩하는 단계에서 획득된 정보를 이용하여 상기 LDPC 부호어를 2차 디코딩하는 단계를 포함하며,
    상기 1차 디코딩하는 단계는 상기 LDPC 부호어에 대한 경판정 정보에 근거하여 수행되고,
    상기 2차 디코딩하는 단계는 상기 LDPC 부호어에 대한 연판정 정보에 근거하여 수행되며,
    상기 2차 디코딩하는 단계에서 상기 LDPC 부호어에 대한 상기 연판정 정보와 상기 1차 디코딩하는 단계에서 획득된 정보를 이용하여 v-노드의 비트값을 초기화하는,
    LDPC 부호의 디코딩 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 1차 디코딩하는 단계에서 획득된 정보는 상기 1차 디코딩하는 단계에서 수행되는 메시지 패싱 알고리즘의 체크-비트 메시지를 포함하며, 상기 체크-비트 메시지는 상기 체크-비트 메시지의 도착 v-노드의 비트값을 초기화하는데 이용되는,
    LDPC 부호의 디코딩 방법.
  5. 제4항에 있어서,
    상기 체크-비트 메시지에 스케일 팩터(scale factor)를 곱한 값이 상기 v-노드의 비트값을 초기화할 때 이용되는,
    LDPC 부호의 디코딩 방법.
  6. 제4항에 있어서,
    상기 체크-비트 메시지는 상기 1차 디코딩하는 단계에서 디코딩이 성공한 c-노드로부터 출발하는 체크-비트 메시지인때 상기 v-노드의 비트값을 초기화할 때 이용되는,
    LDPC 부호의 디코딩 방법.
  7. 제1항 또는 제4항 내지 제6항 중 어느 한 항에 있어서,
    상기 디코딩 종료 조건이 발생할 때까지 상기 LDPC 디코더가 상기 수신된 LDPC 부호어에 대한 디코딩이 반복적으로 수행되는,
    LDPC 부호의 디코딩 방법.
KR20130147257A 2013-11-29 2013-11-29 엘디피시 부호의 디코딩 방법 KR101484066B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130147257A KR101484066B1 (ko) 2013-11-29 2013-11-29 엘디피시 부호의 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130147257A KR101484066B1 (ko) 2013-11-29 2013-11-29 엘디피시 부호의 디코딩 방법

Publications (1)

Publication Number Publication Date
KR101484066B1 true KR101484066B1 (ko) 2015-01-19

Family

ID=52590873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130147257A KR101484066B1 (ko) 2013-11-29 2013-11-29 엘디피시 부호의 디코딩 방법

Country Status (1)

Country Link
KR (1) KR101484066B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101871682B1 (ko) 2017-02-02 2018-06-28 한밭대학교 산학협력단 페이지 단위의 ldpc 복호 반복 횟수 기록 및 마모도 모니터링을 통한 신뢰도 높은 웨어-레벨링 수행방법
KR20180090414A (ko) 2017-02-02 2018-08-13 한밭대학교 산학협력단 Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348064A (ja) 2002-05-23 2003-12-05 Mitsubishi Electric Corp 通信システム、受信機および通信方法
JP2009077391A (ja) 2007-08-30 2009-04-09 Panasonic Corp 符号化装置及び復号装置
JP2009225164A (ja) 2008-03-17 2009-10-01 Toshiba Corp 復号装置および復号装置を有するテレビジョン受信機
WO2011113034A2 (en) 2010-03-12 2011-09-15 Sandforce, Inc. Ldpc erasure decoding for flash memories

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348064A (ja) 2002-05-23 2003-12-05 Mitsubishi Electric Corp 通信システム、受信機および通信方法
JP2009077391A (ja) 2007-08-30 2009-04-09 Panasonic Corp 符号化装置及び復号装置
JP2009225164A (ja) 2008-03-17 2009-10-01 Toshiba Corp 復号装置および復号装置を有するテレビジョン受信機
WO2011113034A2 (en) 2010-03-12 2011-09-15 Sandforce, Inc. Ldpc erasure decoding for flash memories

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101871682B1 (ko) 2017-02-02 2018-06-28 한밭대학교 산학협력단 페이지 단위의 ldpc 복호 반복 횟수 기록 및 마모도 모니터링을 통한 신뢰도 높은 웨어-레벨링 수행방법
KR20180090414A (ko) 2017-02-02 2018-08-13 한밭대학교 산학협력단 Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법

Similar Documents

Publication Publication Date Title
CN111628785B (zh) 使用硬选取硬译码模式下的译码器产生软信息的方法
JP5432367B2 (ja) 書込み検証を使用した符号のエラーフロア軽減
US8448050B2 (en) Memory system and control method for the same
US8984376B1 (en) System and method for avoiding error mechanisms in layered iterative decoding
US8990661B1 (en) Layer specific attenuation factor LDPC decoder
US8880976B2 (en) Method and apparatus for encoding LBA information into the parity of a LDPC system
CN107241102B (zh) 在硬决策软解码期间决定何时结束位翻转算法的方法
CN106301388B (zh) 多进制ldpc码译码方法
JP7039298B2 (ja) メモリシステム
US20070162821A1 (en) Parity check matrix, method of generating parity check matrix, encoding method and error correction apparatus
US9654147B2 (en) Concatenated error correction device
US11177834B2 (en) Communication method and apparatus using polar codes
Yeo et al. Improved hard-reliability based majority-logic decoding for non-binary LDPC codes
US10128869B2 (en) Efficient convergence in iterative decoding
US9548761B2 (en) Coding and decoding of error correcting codes
Grinchenko et al. Improving performance of multithreshold decoder over binary erasure channel
KR101484066B1 (ko) 엘디피시 부호의 디코딩 방법
US9231620B2 (en) Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance
US20160080004A1 (en) Memory controller and decoding method
KR101630114B1 (ko) 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법
JP7309551B2 (ja) メモリシステム
TWI530104B (zh) 用於及早停止串行連結編碼的解碼程序之方法及使用該方法的解碼器
RU2575399C1 (ru) Способ декодирования ldpc-кодов и устройство его реализующее
WO2020151835A1 (en) Combined belief propgation (bp) and ordered statistics decoding (osd) for concatenated codes
Lunglmayr et al. Parallelized Optimization of LDPC Decoding Algorithms

Legal Events

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

Payment date: 20180102

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee