KR101496052B1 - 블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로 - Google Patents

블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로 Download PDF

Info

Publication number
KR101496052B1
KR101496052B1 KR20130146324A KR20130146324A KR101496052B1 KR 101496052 B1 KR101496052 B1 KR 101496052B1 KR 20130146324 A KR20130146324 A KR 20130146324A KR 20130146324 A KR20130146324 A KR 20130146324A KR 101496052 B1 KR101496052 B1 KR 101496052B1
Authority
KR
South Korea
Prior art keywords
index
block
error
code
row
Prior art date
Application number
KR20130146324A
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 KR20130146324A priority Critical patent/KR101496052B1/ko
Application granted granted Critical
Publication of KR101496052B1 publication Critical patent/KR101496052B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 비휘발성 메모리로부터 블록 단위 연접 BCH 부호화 방식에 따라 부호화된 데이터를 읽고, 상기 읽혀진 데이터에 대하여 경판정 복호를 수행하는 단계; 상기 경판정 복호를 실패함에 응답하여 오류를 포함하는 메시지 블록을 추출하는 단계; 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드의 인덱스인 제1 인덱스와 열 부호워드의 인덱스인 제2 인덱스를 획득하는 단계; 상기 제1 인덱스 및 상기 제2 인덱스에 기초하여 상기 경판정 복호에 실패한 부호워드들 각각의 다항식을 계산하는 단계; 및 상기 계산된 다항식을 이용하여 오류 정정을 수행하는 단계를 포함한다.

Description

블록 단위 연접 BCH 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로 {Decoding circuit and method for improved performance and lower error floors of block-wise concatenated BCH codes with cyclic shift of constituent BCH codes}
본 발명은 경판정 정보 및 반복 경판정 정보를 활용하는 블록 단위 연접 BCH 부호의 복호 회로 및 방법, 이를 이용한 플래시 메모리 장치의 오류 정정 회로 및 플래시 메모리 장치에 관한 것이다. 보다 상세하게는, 플래시 메모리에서의 오류정정과 같이, 경판정 정보 혹은 반복 경판정 정보만이 복호기에 주어지는 환경에서, 구성 부호의 순환 자리 이동을 활용한 복호를 통해 블록 단위 연접 BCH 부호의 오류 정정 성능을 개선하는 방법과 더불어 오류마루를 경감 시키는 복호 회로 및 방법, 그리고 이러한 회로와 방법을 이용하는 오류 정정 회로 및 플래시 메모리 장치에 관한 것이다.
근래의 전자 제품에서, 프로세서 및 램 등의 주기억장치의 속도에 비해 보조 기억 장치의 속도가 현저히 느리다. 이것은 전자 제품의 연산 속도를 증가시키는 것에 어려움을 주고 있다. HDD(Hard Disk Drive)와 같은 기존의 보조 기억 장치들은 상대적으로 느린 연산 속도를 가질 뿐만 아니라 HDD에 저장된 데이터는 충격에 의해 쉽게 훼손될 수 있다. 이러한 상황에서, 기존의 MOSFET 구조를 응용한 반도체 소자로 구성된 SSD(Solid State Drive)가 차세대 보조기억 장치로서 부각되고 있다.
SSD는 기존의 보조기억 장치들에 비해 작업 처리 속도가 빠르고, 데이터가 저장된 소자로 임의접근(Random Access)이 가능하여 탐색시간으로 인한 시간지연 없이 고속으로 데이터를 입출력 할 수 있다는 장점을 갖고 있다. 또한, 기계적 지연이나 실패율이 현저히 낮고 외부의 충격에도 데이터가 쉽게 손상되지 않는 강인한 특성을 갖는다. 뿐만 아니라, SSD는 소모하는 전력이 작고 별도로 요구되는 기계 장치의 구동이 없어 저발열, 저소음 및 저전력 구동이 가능해 HDD에 비해 이를 포함하는 제품의 소형화, 경량화가 용이하다.
SSD에는 노어(NOR) 방식으로 구성되는 노어 플래시 메모리 및 낸드(NAND) 방식으로 구성되는 낸드 플래시 메모리가 있다. 그 중 낸드 플래시는 대용량으로 만들기가 용이하고, 읽기/쓰기 속도가 빠른 장점을 갖기에, 대부분의 대용량 SSD에서 플래시 메모리가 일반적으로 사용되고 있다. 낸드 플래시 메모리 소자는 메모리 저장 밀도의 증가를 위해, 미세 공정의 사용과 셀 당 저장 비트 수의 증가를 통해 미세화, 다치화 되어 가는 추세이나 이로 인해 소자의 신뢰성 악화와 수명 단축 등의 부작용이 증대되고 있는 실정이다.
도 1을 참조하여 낸드 플래시 메모리의 저장 밀도 증가에 따른 문제 및 오류 정정 부호의 필요성을 설명한다.
도 1을 참조하면, SLC(Single-Level Cell) 플래시 메모리(a)는 하나의 셀당 1 비트의 정보를 저장하는 낸드 소자이고, MLC(Multi-Level Cell) 플래시 메모리(b)는 2 비트의 정보를, TLC(Tri-Level Cell) 플래시 메모리(c)는 3 비트의 정보를, QLC(Quad-Level Cell) 플래시 메모리(d)는 4 비트의 정보를 저장하는 낸드 소자이다.
도 1을 참조하면, 한 셀 당 저장하는 비트 수가 증가함에 따라, 잡음 여유 (Noise Margin)이 줄어들게 되고, 이로 인해 읽기 동작 시 레벨 간 간섭에 의한 오류가 발생할 확률이 증가하며, 읽기/쓰기 동작이 반복 될수록 오류 발생 확률이 크게 증가하여 제품의 신뢰도가 떨어지는 문제가 발생한다. 그러므로 저전력 및 높은 처리량의 오류정정회로는 합리적인 가격과 안정적인 낸드 플래시 메모리를 설계하는데 필수적인 요소가 된다.
이러한 오류 발생 확률 증가 문제를 해결하기 위해 일반적으로 오류 정정부호를 사용하는데, 오류 정정부호는 오류의 탐지 및 오류의 정정을 위한 정보를 담은 여분의 비트들을 필요로 한다. 따라서 상기 여분 비트들을 저장하기 위해 여분 셀이 요구된다. 하지만, 저장 매체의 저장 용량을 최대화하기 위해서는 여분 비트를 저장하기 위해 필요한 셀의 면적은 최소화 해야 하므로, 여분 비트를 최소화 할 필요성이 있다.
또한, 저장 데이터 오류의 증가로, 오류 개수에 대해 지수적인 복잡도와 많은 여분 비트를 요하는 기존의 BCH 부호나 RS(Reed-Solomon) 부호를 대체할 새로운 오류 정정 부호가 필요하다. 통신 분야 등에서 우수한 성능을 입증한 저밀도 패리티 검사 (low density parity check, LDPC) 부호 등이 새로운 후보로 거론되고 있으나 복호기 복잡도 상의 문제 및 우수한 성능을 갖기 위해 연판정 정보가 필요한 특성 등으로 인해 널리 상용화되지 못하고 있는 실정이다. 플래시 메모리가 오류 정정 부호 복호기에 제공하는 정보는 경판정 정보이기 때문이다. 따라서 LDPC 부호의 성능 향상을 위해서는, 오류가 발생한 페이지 (page)의 문턱 전압 (threshold voltage) 값을 바꾸어 페이지를 다시 읽어 옴으로써 경판정 정보의 양자화 레벨 (Quantization level) 을 높이는 방법으로 연판정에 가까운 정보를 추출하는 방법을 활용해야 하는 것이다. 하지만 한번 읽은 페이지를 다시 읽는 것은 처리량 및 처리 지연의 관점에서 보았을 때 손실이 매우 크기 때문에, 메모리를 위한 오류 정정 부호는 경판정 정보만을 활용했을 경우의 성능이 매우 중요하다.
블록 단위 연접 BCH 부호의 경우 경판정 정보만을 활용하는 경우 경쟁 부호들에 비해 월등히 우수한 오류 정정 성능을 보였을 뿐만 아니라 구현상의 복잡도 또한 기존의 BCH 부호 복호기에 비해 낮은 특성을 가졌다. 현재 널리 알려진 블록 단위 연접 BCH 부호의 복호 기법으로는, 경판정 정보만이 주어진 경우에 행 부호와 열 부호를 번갈아가며 반복 복호하는 기법 및 연판정 정보가 주어질 경우에 구성 BCH 부호의 Chase 복호를 활용하여 오류마루를 경감시키는 방법이 알려져 있다.
블록 단위 연접 BCH 부호의 경우 복호에 실패하는 경우, 구성 부호들 중 어느 부호의 복호 실패로 인해 복호 실패가 발생하였는지 알 수 있는 특성이 있기 때문에, 복호 실패 이후에 오류의 발생 위치를 한정할 수 있다는 장점이 있었다. 기존의 연구에서는 이러한 장점을 활용하여, 오류가 있는 영역의 정보만을 다시 메모리 셀로부터 읽어와 (read and retry) Chase 복호를 진행하는 알고리즘을 제안했었다. 또한 이러한 알고리즘을 통해 블록 단위 연접 BCH 부호의 오류 마루를 효과적으로 낮출 수 있음을 확인하였다. 하지만 이러한 기술의 경우 메모리 셀을 다시 읽는 과정으로 인해 NAND Flash 메모리의 처리율을 낮추게 되는 문제점이 있었다. 뿐만 아니라 오류의 위치가 한정되는 특성을, 경판정 정보만을 활용하는 복호 과정에서는 전혀 활용하지 않았었다. 이러한 기존 연구가 가진 문제점에 착안하여, 메모리 셀을 다시 읽어오는 과정 없이, 구성 BCH 부호가 가진 특성을 활용한 새로운 복호 기법을 통해 블록 단위 연접 BCH 부호의 오류마루를 경감시키는 기법을 제안하고자 한다.
본 발명의 일실시예는 경판정 정보만 사용 가능한 환경에서 블록 단위 연접 BCH 부호가 갖는 구조적 특성을 활용하여 부호의 복호 성능을 개선하거나 오류 마루를 경감하는 기술을 제공한다.
본 발명의 다른 실시예는 상술한 기술적 과제를 제공하는 플래시 메모리 장치 또는 플래시 메모리 시스템을 제공한다.
본 발명의 일실시예에 따른 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 방법은 비휘발성 메모리로부터 블록 단위 연접 BCH 부호화 방식에 따라 부호화된 데이터를 읽고, 상기 읽혀진 데이터에 대하여 경판정 복호를 수행하는 단계; 상기 경판정 복호를 실패함에 응답하여 오류를 포함하는 메시지 블록을 추출하는 단계; 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드의 인덱스인 제1 인덱스와 열 부호워드의 인덱스인 제2 인덱스를 획득하는 단계; 상기 제1 인덱스 및 상기 제2 인덱스에 기초하여 상기 경판정 복호에 실패한 부호워드들 각각의 다항식을 계산하는 단계; 및 상기 계산된 다항식을 이용하여 오류 정정을 수행하는 단계를 포함한다.
상기 경판정 복호에 실패한 부호워드들의 다항식을 계산하는 단계는 상기 제1 인덱스 및 상기 제2 인덱스를 비교하여, 상기 제1 인덱스 및 상기 제2 인덱스 중 어느 인덱스가 큰지 여부에 따라 서로 다르게 상기 다항식을 계산하는 단계일 수 있다.
상기 경판정 복호에 실패한 부호워드들의 다항식을 계산하는 단계는 순환 자리 이동을 통하여 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형하는 단계를 포함할 수 있다.
상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형하는 단계는 상기 행 부호워드에 포함된 상기 오류를 포함하는 메시지 블록과 상기 열 부호워드에 포함된 상기 오류를 포함하는 메시지 블록이 서로 겹쳐지도록 상기 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형하는 단계일 수 있다.
상기 계산된 다항식을 이용하여 오류 정정을 수행하는 단계는 상기 변형된 행 부호워드와 상기 열 부호워드를 서로 더하거나, 상기 변형된 행 부호워드로부터 상기 열 부호워드를 차감하는 단계를 포함할 수 있다.
상기 제1 인덱스 및 상기 제2 인덱스에 기초하여 상기 경판정 복호에 실패한 부호워드들 각각의 다항식을 계산하는 단계는
Figure 112013108945151-pat00001
이면
Figure 112013108945151-pat00002
을 상기 행 부호워드의 다항식으로 정의하고,
Figure 112013108945151-pat00003
이거나,
Figure 112013108945151-pat00004
이면,
Figure 112013108945151-pat00005
로써
Figure 112013108945151-pat00006
을 상기 행 부호워드의 다항식으로 정의하는 단계를 포함하고, i는 제1 인덱스, j는 제2 인덱스,
Figure 112013108945151-pat00007
Figure 112013108945151-pat00008
번째 행 부호워드 안에서 메시지 블록
Figure 112013108945151-pat00009
내부의 첫째 비트 인덱스,
Figure 112013108945151-pat00010
Figure 112013108945151-pat00011
번째 열 부호워드 안에서 메시지 블록
Figure 112013108945151-pat00012
내부의 첫째 비트 인덱스일 수 있다.
상기 방법은 체이스 디코딩을 수행하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 장치는 비휘발성 메모리로부터 블록 단위 연접 BCH 부호화 방식에 따라 부호화된 데이터를 읽고, 상기 읽혀진 데이터에 대하여 경판정 복호를 수행하는 경판정 복호기; 및 상기 경판정 복호를 실패함에 응답하여 오류를 포함하는 메시지 블록을 추출하는 하고, 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드의 인덱스인 제1 인덱스와 열 부호워드의 인덱스인 제2 인덱스를 획득하며, 상기 제1 인덱스 및 상기 제2 인덱스에 기초하여 상기 경판정 복호에 실패한 부호워드들 각각의 다항식을 계산하고, 상기 계산된 다항식을 이용하여 오류 정정을 수행하는 오류 정정기를 포함한다.
상기 오류 정정기는 상기 제1 인덱스 및 상기 제2 인덱스를 비교하여, 상기 제1 인덱스 및 상기 제2 인덱스 중 어느 인덱스가 큰지 여부에 따라 서로 다르게 상기 다항식을 계산할 수 있다.
상기 오류 정정기는 순환 자리 이동을 통하여 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형할 수 있다.
상기 오류 정정기는 상기 행 부호워드에 포함된 상기 오류를 포함하는 메시지 블록과 상기 열 부호워드에 포함된 상기 오류를 포함하는 메시지 블록이 서로 겹쳐지도록 상기 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형할 수 있다.
상기 오류 정정기는 상기 변형된 행 부호워드와 상기 열 부호워드를 서로 더하거나, 상기 변형된 행 부호워드로부터 상기 열 부호워드를 차감할 수 있다.
본 발명의 일실시예는 경판정 정보만 사용 가능한 환경에서 블록 단위 연접 BCH 부호가 갖는 구조적 특성을 활용하여 부호의 복호 성능을 개선하거나 오류 마루를 경감하는 기술을 제공한다.
본 발명의 다른 실시예는 상술한 기술적 과제를 제공하는 플래시 메모리 장치 또는 플래시 메모리 시스템을 제공한다.
도 1은 SLC(Single Level Cell), MLC(Multi Level Cell), TLC(Tri-Level Cell) 및 QLC(Quad Level Cell) 플래시 메모리에서 문턱 전압의 분포를 도시한 도면이다.
도 2는 본 발명의 바람직한 실시 예인 플래시 메모리의 구조를 도시한 도면이다.
도 3은 본 발명의 기반이 되는 블록 단위 연접 BCH 부호 기술의 실시 예인 블록 단위 연접 BCH 부호의 구조를 도시한 도면이다.
도 4은 본 발명이 성능상의 이득을 얻을 수 있는 대표적인 환경을 도시한 것으로, 블록 단위 연접 BCH 부호에서 한 쌍의 행 부호워드와 열 부호워드가 복호에 실패하여 블록 단위 연접 BCH 부호가 복호에 실패한 상황을 예로서 도시한 도면이다.
도 5는 본 발명의 바람직한 실시 과정에서 수반되는 순환 자리 이동의 실시 예를 도시한 도면이다. .
도 6는 본 발명 전체를 개괄하는 오류 정정 장치를 나타낸 블록도이다.
도 7는 본 발명의 바람직한 실시 예에 의한 플래시 메모리 장치에서의 블록 단위 연접 BCH 부호의 성능개선을 도시한 도면이다.
도 2는 본 발명의 바람직한 실시 예인 플래시 메모리의 구조를 도시한 도면이다.
도 2를 참조하면, 낸드 플래시 메모리는 오류정정 부호를 1개의 페이지 단위로 읽고 쓴다. 1개의 블록(230)은 다수의 워드 라인 (word line, 220)들로 구성되며 이와 별개로 비트 라인 (bit line, 240)이 있다. 1개의 워드라인(220)은 홀수 비트 라인 및 짝수 비트 라인으로 나눌 수 있으며 각 셀 (cell, 210)을 구성하는 비트 수에 따라 다시 세분화하여 페이지 단위로 나뉜다. 예를 들면 한 셀에 2비트를 저장하는 MLC 방식의 경우 1개의 워드 라인은 홀/짝 비트라인, 그리고 각 비트 라인에 속하는 셀의 MSB 페이지, LSB 페이지를 포함하는 4개의 페이지로 구성된다. 상술한 바와 같이, 본원 발명은 1개의 페이지 단위로 오류 정정 부호를 통해 셀에 발생한 오류를 정정한다.
발명의 구성을 설명하기 위해 메모리 채널 환경에서 각 페이지가 블록 단위 연접 BCH 부호를 통해 보호받는 경우를 가정한다.
블록 단위 연접 BCH 부호는 도 3과 같이 표현할 수 있다. 즉, 부호화 하고자 하는 메시지는
Figure 112013108945151-pat00013
개로 나뉘어 메시지 블록
Figure 112013108945151-pat00014
로 표현되고, 각 행을 행 부호화한 결과인 행 부호 패리티 블록은
Figure 112013108945151-pat00015
로 표현되며, 마찬가지 방식으로 각 메시지 블록을 열 부호화한 결과인 열 부호 패리티 블록은
Figure 112013108945151-pat00016
로 표현된다. 각 블록은 여러 개의 비트로 구성된다.
블록 단위 연접 부호의 구성은 종래에 잘 알려진 곱 부호 (product codes)와 유사하나, 곱 부호와 달리 행 부호와 열 부호가 여러 개의 비트 (혹은 심벌)를 공유한다. 또한 블록 단위 연접 BCH 부호는 도 3에서와 같이 부호화 방식에 따라 병렬 연접 (parallel concatenation, 310) 방식과 직렬 연접 (serial concatenation, 320) 방식으로 나뉜다. 병렬 연접의 경우에는 모든 메시지 비트가 각각 2개의 부호 (행 부호와 열 부호)를 통해 보호되고 모든 패리티 비트가 각각 1개의 부호로 보호되는 반면, 직렬 연접의 경우에는 메시지 전체와 행 부호 패리티가 동시에 열 부호의 메시지로 활용되기에 행 부호 패리티는 2개의 부호로 보호되는 반면, 열 부호 패리티는 1개의 부호로 보호된다는 차이가 있다. 설명의 편의를 위해 앞으로는 병렬 연접을 가정하도록 한다. 하지만 본문에서 기술하는 기법은 직렬 연접을 통해 생성된 블록 단위 연접 BCH 부호에도 쉽게 확장될 수 있다.
메모리 채널 환경에서는 상기한 바와 같이 경판정 정보만이 복호기에 전달되며 이러한 정보만을 활용하여 행 부호와 열 부호가 번갈아가며 복호하는 반복 복호가 수행된다. 이러한 반복 복호가 실패한 경우, 반복 경판정을 통해 보다 연판정에 가까운 정보가 새로이 복호기에 전달되어 Chase 복호가 수행된다. 여기에서 새로 읽어오는 정보는 복호에 실패한 메시지 블록으로 한정 된다.
도 4의 경우를 살펴보도록 한다. 경판정 반복 복호 이후 두 번째 행 부호와 열 부호가 각각 복호에 실패한 경우를 나타내고 있다. 즉 한 쌍의 구성부호의 복호 실패로 인해 블록 단위 연접 BCH부호가 복호에 실패한 경우를 나타낸다. 붉은 음영으로 표시된 블록에만 오류가 남아있음은 자명하다. 블록 단위 연접 BCH 부호의 경우 구성부호의 오류 정정 능력이 곱 부호에 비해 크기 때문에 복호 오류 (decoding error) 확률이 매우 낮아, 복호에 성공하는 경우 오류가 모두 제거되기 때문이다. 따라서 연판정 정보를 활용하는 경우에는 이렇게 오류가 남아있는 메시지 블록만을 다시 읽어와서 복호를 시도할 수 있는 것이다. 그러나 상기한 바와 같이, 한번 읽은 페이지를 다시 읽는 것은 처리량 및 처리 지연의 관점에서 보았을 때 손실이 매우 크기 때문에 경판정 정보만을 활용하여 성능을 개선하는 것이 중요하다.
제안하는 복호 기술은 종래의 기술과 달리, 블록 단위 연접 BCH 부호가 경판정 복호에 실패한 경우 반복 경판정을 수행하지 않고, 블록 단위 연접 BCH 부호의 구조를 활용하여 새로운 방법으로 복호를 시도하는 방법이다.
제안하는 복호 기술의 상술에 앞서, 제안하는 기술이 가정하는 사실들에 대해 먼저 서술하도록 한다. 한 쌍의 BCH 부호는 서로 다른 오류 정정 능력을 갖더라도 같은 체 (field) 상에서 설계된 경우 복호기를 공유할 수 있음이 알려져 있다. 아래에서 제안하는 기술은 블록 단위 연접 BCH 부호가 복호기 복잡도 감소를 위해, 이를 구성하는 행 부호와 열 부호가 같은 체 상에서 설계되어 있음을 가정한다. 또한 일반적으로 BCH 부호는 narrow-sense BCH 부호가 가장 오류 정정 능력이 우수하기 때문에, 구성 부호는 narrow-sense BCH 부호로 설계되었음을 가정한다. 따라서 같은 체 상에서 설계될 두 가지의 구성부호 (narrow-sense BCH 부호)
Figure 112013108945151-pat00017
Figure 112013108945151-pat00018
는 다음과 같은 성질을 만족한다.
Figure 112013108945151-pat00019
단, 각 부호의 오류 정정 능력
Figure 112013108945151-pat00020
Figure 112013108945151-pat00021
Figure 112013108945151-pat00022
의 관계에 있는 경우에 한한다. 따라서 위의 관계와 선형 부호 (linear codes)의 일종인 BCH 부호의 특성을 생각하면, 행 부호워드와 열 부호워드를 더한 결과는 보다 오류 정정 능력이 작은 부호워드가 될 것임은 자명하다. 예를 들어
Figure 112013108945151-pat00023
에서 행 부호
Figure 112013108945151-pat00024
, 열 부호
Figure 112013108945151-pat00025
가 설계된 뒤
Figure 112013108945151-pat00026
의 관계가 있다고 하면, 임의의
Figure 112013108945151-pat00027
,
Figure 112013108945151-pat00028
에 대하여
Figure 112013108945151-pat00029
인 것이다.
도 5를 통해 본 발명을 기술하도록 한다. 아래에서 설명하겠지만, 본 발명은 비휘발성 메모리로부터 블록 단위 연접 BCH 부호화 방식에 따라 부호화된 데이터를 읽고, 상기 읽혀진 데이터에 대하여 경판정 복호를 수행하는 과정에서, 상기 경판정 복호를 실패함에 응답하여 오류를 포함하는 메시지 블록을 추출한다. 이 때, 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드의 인덱스인 제1 인덱스와 열 부호워드의 인덱스인 제2 인덱스를 획득하고, 상기 제1 인덱스 및 상기 제2 인덱스에 기초하여 상기 경판정 복호에 실패한 부호워드들 각각의 다항식을 계산한다. 이러한 다항식은 오류 정정을 수행하는 데에 이용된다.
본 발명은 블록 단위 연접 BCH 부호가 경판정 복호에 실패한 경우라면 언제라도 활용될 수 있으나, 설명의 편의를 위해 구성부호 한 쌍이 복호에 실패한 경우를 가정한다.
보다 구체적으로, 행 부호와 열 부호를 다항식 (polynomial)로 표현하도록 한다.
Figure 112013108945151-pat00030
째 행 부호워드
Figure 112013108945151-pat00031
Figure 112013108945151-pat00032
째 열 부호워드
Figure 112013108945151-pat00033
가 실패한 경우를 가정하자. 또한
Figure 112013108945151-pat00034
째 행 부호워드의
Figure 112013108945151-pat00035
째 비트를
Figure 112013108945151-pat00036
,
Figure 112013108945151-pat00037
째 열 부호워드의
Figure 112013108945151-pat00038
째 비트를
Figure 112013108945151-pat00039
로 표현하도록 한다. 따라서 복호에 실패한 부호워드 (오류를 포함한)들을 다항식으로 표현하면 다음과 같이 표현할 수 있다.
[수학식 1]
Figure 112013108945151-pat00040
여기에서
Figure 112013108945151-pat00041
은 실패한 행 부호워드와 열 부호워드의 shortening전 길이를 나타낸다. 이와 같은 표현식을 활용하는 경우에는 shortening된 비트들 또한 계수 0으로써 저차항에 포함하였음을 가정하고 또한, 패리티는 언제나 고차항으로 표현됨을 가정하자.
Figure 112013108945151-pat00042
째 행 부호워드와 j째 열 부호워드의 실패를 가정하였기 때문에 이 한 쌍의 부호워드가 공유하는 메시지 블록은, 즉 오류가 남아있는 메시지 블록은
Figure 112013108945151-pat00043
임을 알 수 있다.
Figure 112013108945151-pat00044
째 행 부호워드 안에서 메시지 블록
Figure 112013108945151-pat00045
내부의 첫째 비트 인덱스를
Figure 112013108945151-pat00046
라 하고, j째 행 부호워드 안에서 메시지 블록
Figure 112013108945151-pat00047
내부의 첫째 비트 인덱스를
Figure 112013108945151-pat00048
라 하도록 하자. 주의할 사항은
Figure 112013108945151-pat00049
Figure 112013108945151-pat00050
는 구성 부호의 shortening 전의 모부호를 기준으로 한 인덱스라는 점이다. 예를 들어 첫째 행 부호워드와 첫째 열 부호워드가 복호에 실패한 경우 (
Figure 112013108945151-pat00051
내부에 오류가 남아있는 경우), 행 부호가 3 비트 shortening을 통해 설계되고, 열 부호가 4 bit shortening을 통해 설계 되었다면
Figure 112013108945151-pat00052
라 할 수 있다. 이는 위의 다항식 표현에서 알 수 있듯이 구성 부호의 인덱스를 0부터 시작하도록 하였기 때문이다. 이와 같은 가정하에서 본 발명은 다음과 같이 요약할 수 있다.
1. 블록 단위 연접 BCH 부호의 경판정 복호를 진행한다.
2. 복호에 실패한 경우, (
Figure 112013108945151-pat00053
째 행 부호워드와
Figure 112013108945151-pat00054
째 열 부호워드의 복호 실패)
Figure 112013108945151-pat00055
Figure 112013108945151-pat00056
를 비교한다.
3.
Figure 112013108945151-pat00057
이면
Figure 112013108945151-pat00058
을 새로이 정의하고 그렇지 않은 경우 (
Figure 112013108945151-pat00059
이거나,
Figure 112013108945151-pat00060
)에는
Figure 112013108945151-pat00061
로써
Figure 112013108945151-pat00062
을 새로이 정의한다.
4. 행 부호의 오류 정정 능력을
Figure 112013108945151-pat00063
이라 하고 열 부호의 오류 정정 능력을
Figure 112013108945151-pat00064
라 할 때
Figure 112013108945151-pat00065
의 오류 정정 능력을 활용하여
Figure 112013108945151-pat00066
를 복호한다. 이 때 뺄셈은 부호들이 설계된 체 상의 계산이다. 복호에 성공하면 5.의 단계를 수행한다. 그렇지 않으면 7.의 단계를 수행한다.
5. 복호에 성공함으로써 얻어진 오류패턴들을 분리하여 각각의 부호워드에 반영하여, 블록 단위 연접 BCH 부호에서 남은 오류가
Figure 112013108945151-pat00067
에만 존재하도록 하고,
Figure 112013108945151-pat00068
의 오류 정정 능력을 갖는 구성 부호워드를 복호하여 오류 정정을 시도한다. 복호에 성공하는 경우 6.의 단계를 수행하고 그렇지 않은 경우에는 7.의 단계를 수행한다.
6. 복호 성공을 선언하고 복호를 마무리 한다.
7. 복호 실패를 선언하고 복호를 마무리 한다.
3. 의 단계는 도 5를 통해 쉽게 이해할 수 있다. 즉, 순환 자리 이동을 통해 실패한 행 부호워드를 변형하여, 실패한 열 부호워드와
Figure 112013108945151-pat00069
의 인덱스가 겹쳐지도록 하는 것이다. 이 때 서로를 빼는 (혹은 더하는) 것은
Figure 112013108945151-pat00070
내에 구성부호들이 서로 공유하는 오류를 제거하고
Figure 112013108945151-pat00071
Figure 112013108945151-pat00072
에 존재하는 오류들만 모아 복호를 진행하기 위함이다. 상기한 구성 부호의 포함 관계에 의해
Figure 112013108945151-pat00073
의 오류 정정 능력을 통해 복호를 시도할 수 있다. Shortening이 이뤄지기 전의 BCH 부호는 순환 부호이기 때문이다. 도 5에서 나타난 바와 같이
Figure 112013108945151-pat00074
Figure 112013108945151-pat00075
가 갖는 인덱스가 완벽하게 분리가 가능하다면, 상기한 5.의 단계에서와 같이, 새로이 시도하여 성공한 복호로부터 정정된 오류를 분리하여 각 패리티 블록에 반영할 수 있다. 이로써 실패한 블록 단위 연접 BCH 부호가 오류를 갖는 부분을
Figure 112013108945151-pat00076
로 한정할 수 있고,
Figure 112013108945151-pat00077
의 오류 정정 능력을 통해 다시 한번 오류 정정을 시도할 수 있는 기회를 얻을 수 있는 것이다. 이것은 오류가 메시지 블록에 집중적으로 나타난다는 현상에 근거한 복호 기법이다. 일반적으로 오류의 수가 작은 사건이 보다 잘 발생한다는 것을 생각해보면, 1개의 행 부호워드와 1개의 열 부호워드가 실패하는 사건들 중에서는 메시지 블록에 오류가 집중되는 사건들이 가장 많이 발생할 것이기에, 비교적 오류가 적게 발생한 패리티 블록들을 모아 먼저 복호를 수행한 후에 메시지 블록의 오류를 정정하자는 것이다. 한 가지 추가로 언급할 사항은 도 5에서
Figure 112013108945151-pat00078
라 표기된 블록은 구성 BCH 부호가 설계되는 경우에 shortening 되는 비트들을 모아 표현한 블록이라는 사실이다.
다만 상기한 바와 같이 순환 자리 이동을 수행한 후에 각 패리티 블록의 인덱스가 완전히 분리되었을 경우에는, 새로운 오류 정정 시도 후 패리티 블록의 오류 정정이 용이하나 그렇지 않은 경우에는 패리티 블록에 발생한 오류들의 합 만이 정보로서 주어지기에, 이러한 bit들을 후보군으로 한 Chase 복호가 요구될 수 있다. 패리티 블록의 인덱스가 분리되지 않는 경우는 병렬로 블록 단위 연접 BCH 부호를 설계하였을 경우에 한하며, 직렬로 블록 단위 연접 BCH 부호를 설계한 경우에는 패리티 블록의 인덱스가 언제나 분리 가능하다.
도 7은 블록 단위 연접 BCH 부호의 성능을 도시한 결과이다. 경판정 복호시 성능(CBCH)과 더불어 오류마루(CBCH bound)를 도시하고 있으며
Figure 112013108945151-pat00079
로 표기된 그림들은 반복 경판정을 통해 2비트의 양자화 정보가 주어진 경우에 Chase 복호를 최대
Figure 112013108945151-pat00080
회 반복하여 수행한 결과이다. 또한 여기에 새로운 복호 기법을 수행하여 얻어지는 경감된 오류마루 (CBCH bound w/ CSD)를 도시하였다. 도 7에서 도시한 새로운 복호 기법의 성능은, 복호 시 구성 부호들간 패리티 블록의 인덱스가 분리되지 않는 경우를 오류로 처리하였기에, 상기한 바와 같이 추가적인 Chase 복호를 통해 보다 큰 성능향상을 도모할 수 있다. 또한 실험의 용이성을 위해, 상기한 바와 같이 새로운 복호 기법은, 한 쌍의 행 부호워드와 열 부호워드가 실패한 경우에만 적용되었다. 도 7에서 확인할 수 있는 사실은 경판정 정보만을 활용함에도 불구하고 오류마루를 기존 기술에 비해 1 order (10배) 가량 낮출 수 있다는 것이다. 도 7에서 활용된 블록 단위 연접 BCH 부호의 스펙은 다음과 같다. 16개의 (4226, 4096, 10) 행 부호, 16개의 (4278, 4096, 14) 열 부호로 구성되었으며 각 숫자는 부호워드의 길이, 부호워드 메시지의 길이, 부호의 오류정정 능력을 의미한다. 블록 단위 연접 BCH 부호 전체의 스펙은 (70528, 65536)이며, 부호율은 0.929이다. 여기에서 각 숫자는 부호의 길이와 메시지의 길이 (8KB)를 나타낸다
서술의 편의를 위해 병렬 연접된 블록 단위 연접 BCH 부호를 가정하였으나 상기한 기술은 쉽게 직렬 연접된 블록 단위 연접 BCH 부호로 확장될 수 있다. 또한 1개의 행 부호와 1개의 열 부호가 실패한 경우를 가정하였으나 여러 개의 부호가 실패하는 경우에도 제안하는 복호 기법이 활용될 수 있다. 예를 들어 행 부호 1개와 열 부호 2개가 실패한 경우, 오류가 남아있는 메시지 블록은 2개인데, 이 경우 각각의 오류 메시지 블록을 각각의 오류 패리티 블록으로 치환하여 복호를 시도할 수 있는 것이다. 여기에서 치환은 상기한 바와 같이 오류를 공유하는 메시지 블록들을 순환 자리 이동을 통해 동일한 인덱스에 위치하게 한 뒤 각각의 부호워드들을 더함으로써 가능하다. 또한 상기한 바와 같이 순환 자리 이동 후 패리티 비트들의 인덱스가 서로 분리 되지 않는 경우에는
Figure 112013108945151-pat00081
을 활용하는 추후 복호 과정에서 Chase 복호를 활용하여 오류를 정정할 수 있다. 중요한 것은 기존의 기술과 달리 본문에서 제안하는 기술은 경판정 정보만이 주어졌음에도 불구하고 블록 단위 연접 BCH 부호의 오류마루를 효과적으로 낮출 수 있다는 것이다. 뿐만 아니라 한 쌍의 행 부호와 열 부호 복호 실패로 인한 부호의 복호 실패 뿐만 아니라 다른 복호 실패의 경우에도 적용함으로써 성능의 개선을 얻을 여지가 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (13)

  1. 비휘발성 메모리로부터 블록 단위 연접 BCH 부호화 방식에 따라 부호화된 데이터를 읽고, 상기 읽혀진 데이터에 대하여 경판정 복호를 수행하는 단계;
    상기 경판정 복호를 실패함에 응답하여 오류를 포함하는 메시지 블록을 추출하는 단계;
    상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드의 인덱스인 제1 인덱스와 열 부호워드의 인덱스인 제2 인덱스를 획득하는 단계;
    상기 제1 인덱스 및 상기 제2 인덱스에 기초하여 상기 경판정 복호에 실패한 부호워드들 각각의 다항식을 계산하는 단계; 및
    상기 계산된 다항식을 이용하여 오류 정정을 수행하는 단계
    를 포함하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 방법.
  2. 제1항에 있어서,
    상기 경판정 복호에 실패한 부호워드들의 다항식을 계산하는 단계는
    상기 제1 인덱스 및 상기 제2 인덱스를 비교하여, 상기 제1 인덱스 및 상기 제2 인덱스 중 어느 인덱스가 큰지 여부에 따라 서로 다르게 상기 다항식을 계산하는 단계인 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 방법.
  3. 제1항에 있어서,
    상기 경판정 복호에 실패한 부호워드들의 다항식을 계산하는 단계는
    순환 자리 이동을 통하여 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형하는 단계
    를 포함하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 방법.
  4. 제3항에 있어서,
    상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형하는 단계는
    상기 행 부호워드에 포함된 상기 오류를 포함하는 메시지 블록과 상기 열 부호워드에 포함된 상기 오류를 포함하는 메시지 블록이 서로 겹쳐지도록 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형하는 단계인 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 방법.
  5. 제3항에 있어서,
    상기 계산된 다항식을 이용하여 오류 정정을 수행하는 단계는
    상기 변형된 행 부호워드와 상기 열 부호워드를 서로 더하거나, 상기 변형된 행 부호워드로부터 상기 열 부호워드를 차감하는 단계
    를 포함하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 방법.
  6. 제1항에 있어서,
    상기 제1 인덱스 및 상기 제2 인덱스에 기초하여 상기 경판정 복호에 실패한 부호워드들 각각의 다항식을 계산하는 단계는
    Figure 112013108945151-pat00082
    이면
    Figure 112013108945151-pat00083
    을 상기 행 부호워드의 다항식으로 정의하고,
    Figure 112013108945151-pat00084
    이거나,
    Figure 112013108945151-pat00085
    이면,
    Figure 112013108945151-pat00086
    로써
    Figure 112013108945151-pat00087
    을 상기 행 부호워드의 다항식으로 정의하는 단계
    를 포함하고,
    i는 제1 인덱스, j는 제2 인덱스,
    Figure 112013108945151-pat00088
    Figure 112013108945151-pat00089
    번째 행 부호워드 안에서 메시지 블록
    Figure 112013108945151-pat00090
    내부의 첫째 비트 인덱스,
    Figure 112013108945151-pat00091
    Figure 112013108945151-pat00092
    번째 열 부호워드 안에서 메시지 블록
    Figure 112013108945151-pat00093
    내부의 첫째 비트 인덱스인 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 방법.
  7. 제1항에 있어서,
    체이스 디코딩을 수행하는 단계
    를 더 포함하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 방법.
  8. 제1항 내지 제7항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  9. 비휘발성 메모리로부터 블록 단위 연접 BCH 부호화 방식에 따라 부호화된 데이터를 읽고, 상기 읽혀진 데이터에 대하여 경판정 복호를 수행하는 경판정 복호기; 및
    상기 경판정 복호를 실패함에 응답하여 오류를 포함하는 메시지 블록을 추출하는 하고, 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드의 인덱스인 제1 인덱스와 열 부호워드의 인덱스인 제2 인덱스를 획득하며, 상기 제1 인덱스 및 상기 제2 인덱스에 기초하여 상기 경판정 복호에 실패한 부호워드들 각각의 다항식을 계산하고, 상기 계산된 다항식을 이용하여 오류 정정을 수행하는 오류 정정기
    를 포함하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 장치.
  10. 제9항에 있어서,
    상기 오류 정정기는
    상기 제1 인덱스 및 상기 제2 인덱스를 비교하여, 상기 제1 인덱스 및 상기 제2 인덱스 중 어느 인덱스가 큰지 여부에 따라 서로 다르게 상기 다항식을 계산하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 장치.
  11. 제9항에 있어서,
    상기 오류 정정기는
    순환 자리 이동을 통하여 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 장치.
  12. 제11항에 있어서,
    상기 오류 정정기는
    상기 행 부호워드에 포함된 상기 오류를 포함하는 메시지 블록과 상기 열 부호워드에 포함된 상기 오류를 포함하는 메시지 블록이 서로 겹쳐지도록 상기 상기 오류를 포함하는 메시지 블록에 대응하는 행 부호워드를 변형하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 장치.
  13. 제11항에 있어서,
    상기 오류 정정기는
    상기 변형된 행 부호워드와 상기 열 부호워드를 서로 더하거나, 상기 변형된 행 부호워드로부터 상기 열 부호워드를 차감하는 블록 단위 연접 BCH 부호를 사용하는 비휘발성 메모리 장치를 위한 복호 장치.
KR20130146324A 2013-11-28 2013-11-28 블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로 KR101496052B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130146324A KR101496052B1 (ko) 2013-11-28 2013-11-28 블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130146324A KR101496052B1 (ko) 2013-11-28 2013-11-28 블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로

Publications (1)

Publication Number Publication Date
KR101496052B1 true KR101496052B1 (ko) 2015-02-25

Family

ID=52594484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130146324A KR101496052B1 (ko) 2013-11-28 2013-11-28 블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로

Country Status (1)

Country Link
KR (1) KR101496052B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170107769A (ko) * 2016-03-16 2017-09-26 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10484014B2 (en) 2016-07-21 2019-11-19 SK Hynix Inc. Controller, semiconductor memory system and operating method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970063971A (ko) * 1996-02-29 1997-09-12 오오보시 고우지 디지탈 통신용 에러 제어 방법 및 에러 제어 장치
JP2011065599A (ja) 2009-09-18 2011-03-31 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
KR20110046851A (ko) * 2009-10-29 2011-05-06 인하대학교 산학협력단 Bch 복호기를 위한 고속 소면적 파이프라인 폴딩 방식 벨르캄프-메시 알고리즘 연산 회로 및 그 방법
KR20140006444A (ko) * 2012-07-05 2014-01-16 한국과학기술원 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970063971A (ko) * 1996-02-29 1997-09-12 오오보시 고우지 디지탈 통신용 에러 제어 방법 및 에러 제어 장치
JP2011065599A (ja) 2009-09-18 2011-03-31 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
KR20110046851A (ko) * 2009-10-29 2011-05-06 인하대학교 산학협력단 Bch 복호기를 위한 고속 소면적 파이프라인 폴딩 방식 벨르캄프-메시 알고리즘 연산 회로 및 그 방법
KR20140006444A (ko) * 2012-07-05 2014-01-16 한국과학기술원 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170107769A (ko) * 2016-03-16 2017-09-26 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR102606866B1 (ko) 2016-03-16 2023-11-29 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10484014B2 (en) 2016-07-21 2019-11-19 SK Hynix Inc. Controller, semiconductor memory system and operating method thereof

Similar Documents

Publication Publication Date Title
US9319073B2 (en) Mitigation of write errors in multi-level cell flash memory through adaptive error correction code decoding
USRE49253E1 (en) Semiconductor memory device
US8621318B1 (en) Nonvolatile memory controller with error detection for concatenated error correction codes
US9471421B2 (en) Data accessing method, memory storage device and memory controlling circuit unit
US20110083060A1 (en) Memory system and control method for the same
KR20170056407A (ko) 데이터의 인코딩과 디코딩을 위한 메모리 시스템
CN112783685A (zh) 快速收敛的低密度奇偶校验码的位翻转解码器
US20160344426A1 (en) Performance optimization in soft decoding for turbo product codes
US10009045B2 (en) Decoding method, memory controlling circuit unit and memory storage device
US10243588B2 (en) Error correction code (ECC) decoders sharing logic operations, memory controllers including the error correction code decoders, and methods of decoding error correction codes
JP2019057752A (ja) メモリシステム
CN112860474A (zh) 快速收敛的低密度奇偶校验码的软位翻转解码器
US9639421B2 (en) Operating method of flash memory system
KR101496052B1 (ko) 블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로
KR101320684B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
KR101355988B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
KR102007163B1 (ko) 인코더, 디코더 및 이를 포함하는 반도체 장치
US20160080004A1 (en) Memory controller and decoding method
CN113131947B (zh) 译码方法、译码器和译码装置
CN112331244A (zh) 广义低密度奇偶校验码的软输入软输出分量代码解码器
KR101357544B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
KR101355986B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
US11204831B2 (en) Memory system
US11563450B1 (en) System and method for high reliability fast RAID decoding for NAND flash memories
KR101355982B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치

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: 20180129

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee