KR101529880B1 - 에러 추정 방법 및 정정 방법 - Google Patents

에러 추정 방법 및 정정 방법 Download PDF

Info

Publication number
KR101529880B1
KR101529880B1 KR1020080107889A KR20080107889A KR101529880B1 KR 101529880 B1 KR101529880 B1 KR 101529880B1 KR 1020080107889 A KR1020080107889 A KR 1020080107889A KR 20080107889 A KR20080107889 A KR 20080107889A KR 101529880 B1 KR101529880 B1 KR 101529880B1
Authority
KR
South Korea
Prior art keywords
error
candidate group
parity check
memory cells
present
Prior art date
Application number
KR1020080107889A
Other languages
English (en)
Other versions
KR20100048633A (ko
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 KR1020080107889A priority Critical patent/KR101529880B1/ko
Priority to US12/607,768 priority patent/US8316279B2/en
Publication of KR20100048633A publication Critical patent/KR20100048633A/ko
Application granted granted Critical
Publication of KR101529880B1 publication Critical patent/KR101529880B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • 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
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/1072Adding 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 multilevel memories
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

에러 추정 방법 및 정정 방법이 제공된다. 본 발명의 실시예에 따른 에러 추정 및 정정 방법은, 패리티 체크 방정식들을 이용하여 에러가 발생할 확률이 높은 후보군 셀들을 추출하고 각 셀들의 커플링 정도를 측정하거나 또는 추가적 독출을 수행하여 상기 후보군 셀들을 보다 압축함으로써, 종래의 방법에 비해 보다 정교하게 에러가 추정되고 정정될 수 있는 효과가 있다.

Description

에러 추정 방법 및 정정 방법{Method for estimating error and method for correcting the error}
본 발명에 따른 실시예는 에러 추정 방법 및 정정 방법에 관한 것이다.
개인이나 단체 등이 처리해야 하는 데이터의 양이 급격하게 증가함에 따라, 2 개의 레벨 상태들(예컨대, '0' 및 '1') 이상으로 데이터를 프로그램할 수 있는 멀티 레벨셀(MLC; Multi-Level Cell)이 활발하게 연구되고 있다.
상기 멀티 레벨셀을 구성하는 각 레벨은 프로그램 시에 일정한 전압 범위를 갖는 것으로 설정될 수 있고, 따라서 데이터 독출시에는 상기 각 레벨에 대응되는 전압 범위를 이용하여 특정 메모리 셀에 프로그램된 데이터를 독출할 수 있다.
하지만, 메모리 셀에 저장된 데이터들은 외부의 환경(예컨대, 온도의 변화, 시간의 경과, 커플링(coupling), 디스터브(disturb), 또는 전하의 손실 등)에 영향을 받을 수 있고, 따라서 각 셀에 저장된 전압 값이 변화될 수 있다.
즉, 제1 상태로 프로그램된 데이터 셀이 독출 시에는 상기 제1 상태가 아닌 제2 상태로 독출될 수도 있고, 이러한 메모리의 독출 에러는 메모리 장치의 신뢰도를 감소시키는 주요 원인이 된다.
본 발명의 실시예는 상기의 문제점을 해결하고자 안출된 것으로서, 본 발명의 실시예가 해결하고자 하는 과제는 에러가 발생할 수 있는 셀들을 보다 정밀하게 추정하고 추정된 셀들을 정정할 수 있는 에러 추정 방법 및 정정 방법을 제공하는 것이다.
상기의 과제를 해결하기 위한 에러 추정 및 정정 방법은, (a) 에러 추정을 위한 제1 방법을 이용하여 에러가 발생할 수 있는 제1 후보군을 추출하고, 에러 추정을 위한 제2 방법을 이용하여 에러가 발생할 수 있는 제2 후보군을 추출하는 단계; 및 (b) 상기 제1 후보군 및 상기 제2 후보군에 공통적으로 포함되는 적어도 하나의 셀의 에러를 정정하는 단계를 포함할 수 있다.
상기 제1 방법은, 패리티 체크 행렬을 이용한 방법, 각 셀의 커플링 정도를 이용한 방법, 또는 각 셀의 추가적 독출을 이용한 방법 중 어느 하나이고, 상기 제2 방법은, 패리티 체크 행렬을 이용한 방법, 각 셀의 커플링 정도를 이용한 방법, 또는 각 셀의 추가적 독출을 이용한 방법 중 다른 하나일 수 있다.
상기 에러를 정정하는 단계는, 상기 제1 후보군 및 상기 제2 후보군에 공통적으로 포함되는 적어도 하나의 셀을 비트 플리핑(bit-flipping)하거나 또는 이레이저(erasure) 처리하는 단계를 포함할 수 있다.
상기 패리티 체크 행렬을 이용한 방법은, H·cT = 0 의 조건을 만족시키지 않는 적어도 하나의 셀을 추출하고, 여기서 H는 패리티 체크 행렬이고, c는 코드워드(codeword) 벡터일 수 있다.
상기 에러 추정 및 복원 방법은, 상기 정정된 셀이 포함된 다수 개의 셀들을 오류 정정 디코딩하는 단계; 및 상기 오류 정정 디코딩이 성공적으로 수행되었는지를 판단하는 단계를 더 포함할 수 있다.
판단 결과 상기 오류 정정 디코딩이 실패하는 경우에, 상기 (a)단계 및 (b)단계를 반복할 수 있다.
상기의 과제를 해결하기 위한 에러 추정 및 정정 방법은, 에러 추정을 위한 제1 방법을 이용하여 에러가 발생할 수 있는 제1 후보군을 추출하는 단계; 에러 추정을 위한 제2 방법을 이용하여 상기 제1 후보군 중 에러가 발생할 수 있는 제2 후보군을 추출하는 단계; 및 상기 추출된 제2 후보군의 에러를 정정하는 단계를 포함할 수 있다.
상기 제1 방법은, 패리티 체크 행렬을 이용한 방법, 각 셀의 커플링 정도를 이용한 방법, 또는 각 셀의 추가적 독출을 이용한 방법 중 어느 하나이고, 상기 제2 방법은, 패리티 체크 행렬을 이용한 방법, 각 셀의 커플링 정도를 이용한 방법, 또는 각 셀의 추가적 독출을 이용한 방법 중 다른 하나일 수 있다.
본 발명의 실시예에 따른 에러 추정 방법 및 정정 방법에 따르면, 에러 추정 을 위한 다양한 방법들을 이용하여 에러가 발생할 확률이 높은 셀들을 대상으로 에러 정정을 수행함으로써 보다 정밀한 에러 추정 및 정정이 가능하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조해야만 한다.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 이해하고 실시할 수 있도록 본 발명의 바람직한 실시예를 상세히 설명하도록 한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1a는 본 발명의 실시예에 따른 패리티 체크 행렬(H)과 코드워드 벡터(c)간의 관계를 설명하기 위한 식이다.
상기 패리티 체크 행렬(parity check matrix, H)은 선형 코드(linear code)의 패리티 체크를 나타내는 행렬로서, 상기 패리티 체크 행렬을 구성하는 각 원소들(h00 ∼ hM -1 n-1)은 오류 정정 부호화(ECC, error correction code)의 특성에 기초한 값들일 수 있다.
상기 코드워드 벡터(c)에 포함된 원소들(c0, c1, c2.... 및 cn -1)은 적어도 하나의 메시지 정보(message information)와 적어도 하나의 패리티 비트(parity bit)를 포함할 수 있다.
상기 패리티 체크 행렬(H)을 구성하는 각 행들은 패리티 체크를 나타내는 방정식의 계수로 표시될 수 있으며, 코드워드 벡터(c)가 선형 코드의 코드어로 되기 위한 필요 충분 조건은 c T = 0이다. 여기서 T는 전치(transpose)를 나타낸다.
예컨대, 상기 패리티 체크 행렬(H)의 행 벡터들(예컨대, h 0 = {h0 0, h0 1 ... h0 n-1}, h 1 = {h1 0, h1 1 ... h1 n-1} 등)은 서로 선형 독립(linearly independent)일 수 있다.
따라서, 선형 코드를 이용하여 본 발명의 실시예에 따른 에러 추정 및 정정 방법을 구현할 경우, 도 1a에 표시된 조건을 만족시켜야 메모리 장치에 프로그램된 데이터에 에러가 발생하지 않거나 또는 발생된 에러의 개수가 기설정된 값 이하인 것으로 판단할 수 있다.
예컨대, 도 1a의 예에서 상기 패리티 체크 행렬(H)은 M×n(예컨대, M 및 n은 자연수)의 크기를 가질 수 있고, 상기 코드워드 벡터(c)는 n×1의 크기를 가질 수 있다.
i번째 행으로부터, 'hi 0*c0 + hi 1*c1 + hi 2*c2 + .... + hi n-2*cn -2 + hi n-2*cn -1 = 0'의 패리티 체크 방정식(parity-check equation)을 도출할 수 있고, 따라서 도 1a에 도시된 식에서 M개의 패리티 체크 방정식들이 도출될 수 있다.
각각의 패리티 체크 방정식이 도 1a에 제시된 조건을 만족하는지를 판단함으로써, 에러가 발생할 수 있는 확률이 높은 후보군이 추출될 수 있다. 패리티 체크 방정식을 이용한 에러 추정 방법에 대해서는 도 1c에서 상술하기로 한다.
도 1b는 본 발명의 실시예에 따른 패리티 체크 행렬이 순회 코드에서 구현되는 예시되는 예시도이다.
본 발명의 실시예에 따른 에러 추정 및 정정 방법은, 도 1a에서와 같이 일반적인 선형 블록 코드(linear block codes)를 이용하는 경우에 적용되므로, 순회 코드(cyclic code)를 이용하는 경우에도 적용될 수 있다.
상기 순회 코드는 RS(Reed-Solomon) 코드, BCH(Bose Chaudhuri Hocquenghem) 코드 등을 포함할 수 있으며, 순회 코드를 이용하여 본 발명의 실시예에 따른 에러 추정 및 정정 방법을 이용할 경우에 상기 패리티 체크 행렬(H)은 도 1b와 같이 나타낼 수 있다. 도 1b에서, n은 코드워드의 크기를 나타내고 k는 메시지의 크기를 나타낸다.
도 1b에 도시된 순회 코드용 패리티 체크 행렬의 각 행은 적어도 1개 이상의 원소가 0이 아닌 (k+1)개의 원소들(hk ∼ h0)과 (n-k-1)개의 0을 포함할 수 있다. 또한, 각 행은 적어도 1개 이상의 원소가 0이 아닌 (k+1)개의 원소들(hk ∼ h0)을 공통으로 포함할 수 있다.
상술한 바와 같이, 본 발명의 실시예에 따른 에러 추정 방법 및 정정 방법은, 선형 코드 및 순회 코드에 모두 적용될 수 있다. 이하, 본 발명에 따른 실시예의 용이한 이해를 위하여 도 1a에 표시된 선형 코드용 패리티 체크 행렬(H)을 예시적으로 기술하도록 한다.
도 1c는 본 발명의 실시예에 따른 패리티 체크 행렬(H)과 코드워드 벡터(c) 간의 관계 및 에러가 발생할 수 있는 확률이 높은 후보군을 검출하기 위한 방법을 설명하기 위한 예시도이다.
도 1c의 예에서, 패리티 체크 방정식은 4개가 도출될 수 있다. 예컨대, A 방정식은 'c0 + c2 + c4 + c6 = 1'이고, B 방정식은 'c0 + c1 + c0 = 0'이고, C 방정식은 'c1 + c2 + c3 + c6 = 0'이고, D 방정식은 'c3 + c4 + c5 + c6 = 1'일 수 있다.
상술한 바와 같이, 패리티 체크 방정식의 값이 0이면 에러가 발생하지 않은 것이고 1이면 에러가 발생한 것으로 추정할 수 있다. 도 1c의 예에서, A 방정식과 D 방정식이 도 1a에 제시된 조건을 만족시키지 않으므로 A 방정식과 D 방정식에 공통 원소인 c4 또는 c6에 에러가 발생한 것으로 추정할 수 있다.
또는, 실시예에 따라 특정 비트에 연결된 패리티 체크 방정식들 중 임계치 이상의 방정식이 도 1a에 제시된 조건을 만족시키지 않는 경우에 해당 비트에 에러 발생 확률이 높은 것으로 설정할 수도 있다.
도 2는 본 발명의 실시예에 따른 메모리 셀들의 커플링(coupling) 현상을 설명하기 위한 예시도이다.
메모리 장치는 워드 라인과 비트 라인의 교차점에 형성된 복수 개의 셀들을 포함할 수 있으며, 각 셀은 트랜지스터와 커패시터를 포함할 수 있다. 각각의 셀에 포함된 커패시터에 프로그래밍하고자하는 데이터 값에 대응하는 전압을 인가하여, 각 셀에 임의의 데이터를 프로그래밍할 수 있다.
하지만, 임의의 셀이 프로그램될 때 인접한 셀들 사이에서 기생 커패시터에 의한 커플링(coupling)이 발생하고, 그 결과 기프로그램된 셀의 전압 값은 인접한 셀들의 프로그래밍 동작에 의해 영향을 받게 된다.
예컨대, 도 2의 예에서 A가 이미 프로그램된 셀이라고 가정하면, 수직/수평 방향으로 인접한 셀들(B1 ∼ B4), 또는 대각선 방향으로 인접한 셀들(C1 ∼ C4)의 프로그래밍 동작에 의해서 A 셀의 전압 값이 변화될 수 있다.
임의의 셀에 프로그램된 전압 값의 변화량은 인접한 셀의 전압 변화량에 비례할 수 있다. 따라서, 인접한 셀들의 전압 변화량을 측정함으로써, 중심에 위치한 셀(예컨대, A 셀)의 커플링 정도가 파악될 수 있다. 실시예에 따라, 상기 커플링 정도가 기설정된 값을 초과하는 셀들이 에러가 발생할 확률이 높은 셀로 분류될 수 있다.
따라서, 주변 셀들의 프로그래밍 정보를 이용하여 각 셀의 커플링 정도를 측정함으로써, 에러가 발생할 확률이 높은 후보군이 추출될 수 있다.
도 3a는 하드-디시전을 이용한 독출 방법을 설명하기 위한 예시도이고, 도 3b는 본 발명의 실시예에 따른 추가적 독출(additional read)을 설명하기 위한 예시도이다.
도 3a는 하드-디시전(hard-decision)을 이용한 독출 방법을 설명하기 위한 그래프이다. 하드-디시전 방법에 의하면, '0' 레벨과 '1'레벨을 판별하기 위한 기준 전압으로서 Vo만이 이용될 수 있다. 따라서, 독출 회로(미도시)는 독출된 전압 값이 Vo보다 크면 레벨 '1'로 판단하고 독출된 전압 값이 Vo보다 작으면 레벨 '0'으로 판단할 수 있다.
하지만, 도 3a에 도시된 바와 같이, '0' 레벨에 대응하는 전압 범위와 '1'레벨에 대응하는 전압 범위는 일부가 중첩될 수 있고, 따라서 독출된 전압 값이 중첩 영역에 존재하는 경우 독출 에러가 발생할 수 있는 확률이 높다.
도 3b는 도 3a에 도시된 하드-디시전 방법을 개선하기 위해서, 소프트-디시전(soft-decision)에 기초한 추가 독출(additional read)을 설명하기 위해 예시를 한 그래프이다.
소프트 디시전의 예로서, 도 3b에 도시된 바와 같이 레벨 상태 판별을 위한 기준 전압으로서 Vo뿐만 아니라 V1 및 V2가 더 이용될 수 있으며, 따라서 독출 회로(미도시)는 총 4가지 레벨 상태들(strong 0 ~ strong 1)을 판별할 수 있다. 추가 독출의 수를 증가시키면 더 많은 레벨 상태들을 판별하고 구별할 수 있다.
따라서, 추가적 독출을 이용하여 상태 간 경계 영역에 존재하는 셀들(예컨대, 독출된 전압 값이 V1 내지 V2인 경우)이 파악될 수 있고, 이러한 셀들은 에러 발생 확률이 큰 셀들로 분류될 수 있다.
이상에서 메모리 장치에 포함된 셀들 중 에러가 발생할 확률이 높은 적어도 하나의 셀을 추출하는 다양한 방법들을 기술하였다. 도 1a 내지 도 1c에서는 패리티 체크 행렬을 이용하는 방법을 기술하였고, 도 2에서는 각 셀의 커플링 정도에 기초한 방법을 기술하였으며, 도 3a 및 도 3b에서는 추가 독출을 이용한 방법을 기술하였다.
이하는, 에러 발생 확률이 높은 셀들을 추출하기 위하여 상기 방법들을 어떻 게 조합할 것인가에 대한 설명 및 추출된 셀들의 에러를 어떻게 정정할 것인가에 대한 설명이 제공된다.
도 4a는 본 발명의 일 실시예에 따라 에러가 발생할 수 있는 후보군을 추출하는 방법을 설명하기 위한 예시도이고, 도 4b는 본 발명의 다른 실시예에 따라 에러가 발생할 수 있는 후보군을 추출할 수 있는 방법을 설명하기 위한 예시도이다.
도 4a는 독출하고자 하는 메모리 영역 전체의 셀들에 대해서 각각 상기의 방법들을 적용한 예이다. 독출하고자 하는 메모리 영역 전체의 셀들 중에서 패리티 체크 행렬을 이용하여 에러가 발생할 확률이 높은 제1 후보군(first candidate group)을 추출할 수 있다.
유사하게, 독출하고자 하는 메모리 영역 전체의 셀들의 커플링 정도에 기초하여 제2 후보군(second candidate group)이 추출될 수 있고, 독출하고자 하는 메모리 영역 전체의 셀들에 대해 추가 독출을 수행하여 제3 후보군(third candidate group)이 추출될 수 있다.
상술한 바와 같이 각각의 방법을 이용하여 제1 후보군 내지 제3 후보군이 추출될 수 있고, 상기 후보군들의 교집합은 에러가 발생할 확률이 더 높다고 추정할 수 있으므로 본 발명의 실시예에 따른 에러 정정의 대상이 될 수 있다.
두 개의 후보군에 공통으로 속하는 셀들이 에러 정정의 대상이 될 수 있으며, 실시예에 따라 세 후보군에 모두 공통으로 속하는 셀들만이 에러 정정의 대상이 될 수도 있다.
도 4b는 추출된 후보군을 점점 축소시키면서 에러 정정의 대상이 되는 셀들 이 추출되는 방법을 설명한 예이다. 도 4b에 제시된 방법은 연산 능력 또는 시간이 제한되어 있는 어플리케이션에 적합할 수 있다.
보다 구체적으로, 독출하고자 하는 메모리 영역 전체의 셀들 중에서 패리티 체크 행렬을 이용하여 에러가 발생할 수 있는 확률이 높은 제1 후보군(first candidate group)이 추출될 수 있다.
다음으로, 상기 추출된 제1 후보군을 대상으로 하여 각 셀의 커플링 정도를 측정하여 제2 후보군(second candidate group)이 추출될 수 있다. 다음으로, 상기 제2 후보군을 대상으로 추가 독출을 수행하여 제3 후보군(third candidate group)이 추출될 수 있다.
도 4b에서는 패리티 체크 행렬을 이용한 방법, 각 셀의 커플링 정도에 기초한 방법, 및 추가적 독출을 이용한 방법의 순서로 에러가 발생할 수 있는 후보군을 압축하는 것으로 예시하였지만, 실시예에 따라 상기 방법들의 적용 순서는 가변될 수 있다.
도 5는 본 발명의 실시예에 따른 에러 추정 및 정정 방법을 설명하기 위한 순서도이다.
먼저, 외부(예컨대, 메모리 컨트롤러(memory controller))로부터의 독출 명령에 응답하여 독출 회로(미도시)는 메모리 장치로부터 데이터를 독출한다(S505). 다음으로, 독출된 데이터가 오류 정정 디코딩(ECC decoding)된다(S510).
이때, 상기 오류 정정 디코딩이 성공하였는지 또는 실패하였는지를 판단한다(S515). 보다 구체적으로 기술하면, 선형 코드 또는 순회 코드는 고유의 에러 정 정 능력(error correction capability)을 갖는다. 예컨대, BCH 코드가 t=24, n=4096의 에러 정정 능력을 갖는다고 가정하면, 4096비트의 데이터 중 에러가 발생한 데이터가 24비트 이하일 경우에만 상기 오류 정정 디코딩이 성공적으로 수행될 수 있다.
판단 결과, 오류 정정 디코딩이 성공하면 즉, 에러가 발생한 데이터의 개수가 에러 정정 능력의 범위 이내이면 오류 정정 디코딩을 종료할 수 있다(S520).
하지만, 오류 정정 디코딩이 실패하는 경우 즉, 에러가 발생한 데이터의 개수가 에러 정정 능력 범위를 벗어나는 경우에는, 본 발명의 실시예에 따른 에러 추정 및 정정 방법이 적용될 수 있다.
먼저, 패리티 체크 방정식들을 이용하여 에러를 체크하고(S525), 에러가 발행할 수 있는 확률이 높은 후보군을 추출할 수 있다(S530). 이때, 각 셀의 커플링 정도를 파악하거나 또는 각 셀을 추가적으로 독출할 수 있으며(S535), 커플링 정도 또는 추가 독출 결과에 기초하여 에러가 발생할 확률이 높은 후보군을 추출할 수 있다(S530).
다음으로, 에러가 발생할 수 있는 확률이 높은 후보군이 최종적으로 추출되면, 추출된 후보군에 포함된 각 셀을 비트 플리핑(bit flipping)할 수 있다(S540). 보다 구체적으로, 추출된 상기 후보군에 포함된 셀의 정보가 '0'인 경우에는 '1'로 변경하고, 추출된 상기 후보군에 포함된 셀의 정보가 '1'인 경우에는 '0'으로 변경할 수 있다.
다음으로, 비트 플리핑이 수행된 메모리를 대상으로 다시 오류 정정 디코딩 을 수행하고(S510), 상기 오류 정정 디코딩의 성공 여부를 다시 판단할 수 있다(S515).
도 6은 본 발명의 다른 실시예에 따른 에러 추정 및 정정 방법을 설명하기 위한 순서도이다.
먼저, 외부(예컨대, 호스트)로부터의 독출 명령에 응답하여 독출 회로(미도시)는 메모리 장치로부터 데이터를 독출한다(S605). 다음으로, 독출된 데이터가 오류 정정 디코딩된다(S610).
이때, 상기 오류 정정 디코딩이 성공하였는지 또는 실패하였는지를 판단한다(S615). 판단 결과, 오류 정정 디코딩이 성공하면 즉, 에러가 발생한 데이터의 개수가 에러 정정 능력의 범위 이내이면 오류 정정 디코딩을 종료할 수 있다(S620).
하지만, 오류 정정 디코딩이 실패하는 경우 즉, 에러가 발생한 데이터의 개수가 에러 정정 능력 범위를 벗어나는 경우에는, 본 발명의 다른 실시예에 따른 에러 추정 및 정정 방법이 적용될 수 있다.
먼저, 패리티 체크 방정식들을 이용하여 에러를 체크하고(S625), 에러가 발행할 수 있는 확률이 높은 후보군을 추출할 수 있다(S630). 이때, 각 셀의 커플링 정도를 파악하거나 또는 각 셀을 추가적으로 독출할 수 있으며(S635), 커플링 정도 또는 추가 독출 결과에 기초하여 에러가 발생할 확률이 높은 후보군을 추출할 수 있다(S630).
다음으로, 에러가 발생할 수 있는 확률이 높은 후보군이 최종적으로 추출되 면, 추출된 후보군에 포함된 각 셀을 이레이저(erasure) 처리할 수 있다(S630).
보다 구체적으로, 추출된 후보군에 포함된 각 셀에 '0'과 '1' 사이의 임의의 값(예컨대, 'e')을 지정할 수 있고, 추출된 후보군을 이레이저 처리한 후에 오류 정정 디코딩의 성공 여부가 다시 판단될 수 있다(S615).
실시예에 따라 추출된 상기 후보군을 이레이저 처리하는 것만으로도 상기 오류 정정 디코딩이 성공될 수 있다. 이 경우에는 오류 정정 이레이저 디코딩 과정(ECC erasure decoding)이 생략될 수 있다.
이레이저 처리만으로 오류 정정 디코딩의 조건을 만족시키지 못하는 경우에, 본 발명의 실시예에 따른 에러 정정 방법은 오류 정정 이레이저 디코딩을 더 수행할 수 있다(S645). 이레이저 처리된 각 셀들에 '트라이얼-앤드-에러(trial and error)' 방법을 적용시킴으로써 상기 오류 정정 이레이저 디코딩이 수행될 수 있다.
보다 구체적으로, 이레이저 처리된 각 셀에 '0' 또는 '1' 중 어느 하나를 선택적으로 지정할 수 있고, 발생 가능한 각 경우마다 오류 정정 디코딩의 성공 여부가 판단될 수 있다. 예컨대, 4개의 셀이 에러가 발생할 확률이 높은 후보군으로 추출된 경우에 4개의 각 셀에 '0' 또는 '1'을 선택적으로 지정할 수 있고, 따라서 16가지(=24)의 경우에 대해 각각 오류 정정 디코딩의 성공 여부가 판단될 수 있다.
도 7은 본 발명의 실시예에 따른 메모리 장치(100)의 개략적인 블록도이다.
본 발명의 실시예에 따른 메모리 장치(100)는 ECC 디코더(10), 복수 개의 셀 들을 포함하는 메모리 셀(20), 컨트롤러(30), 또는 독출 회로(40)를 포함할 수 있다.
상기 독출 회로(40)는 외부(예컨대, 호스트)로부터 또는 상기 컨트롤러(30)로부터 출력되는 독출 명령(RC)에 응답하여 메모리 셀(20)에 포함된 데이터(DATA)를 독출하고, 독출된 데이터(DATA)를 ECC 디코더(10)에 전송할 수 있다.
상기 ECC 디코더(10)는, 상기 독출 회로(40)로부터 출력된 데이터(DATA)를 오류 정정 디코딩하기 위한 디코딩 회로(12)를 포함할 수 있다. 또한, 상기 ECC 디코더(10)는, 패리티 체크 행렬을 이용하여 메모리 셀(20)에 포함된 각 셀 중 에러 발생 확률이 높은 후보군을 추출하기 위한 패리티 체크 회로(parity-check circuit, 11)를 더 포함할 수 있다. 또한, 상기 ECC 디코더(10)는, 메모리 셀(20)에 포함된 각 셀의 커플링 정도를 파악하여 에러 발생 확률이 높은 후보군을 추출하기 위한 커플링 판단 회로(coupling determinant circuit, 13)를 더 포함할 수 있다.
도 7에서는 상기 패리티 체크 회로(11) 및 커플링 판단 회로(13)가 상기 ECC 디코더(10)에 포함된 것으로 예시하였으나, 실시예에 따라 상기 패리티 체크 회로(11) 및 커플링 판단 회로(13)는 상기 ECC 디코더(10)의 외부에 독립적으로 위치할 수도 있다.
상기 디코딩 회로(12)는 오류 정정 디코딩을 수행하고 디코딩 결과 데이터(DRD)를 상기 컨트롤러(30)에 전송할 수 있다. 상기 디코딩 결과 데이터(DRD)는 ECC 디코딩의 성공 여부에 대한 정보가 포함될 수 있고, 만약 상기 컨트롤러(30)가 ECC 디코딩이 실패하였다는 내용의 정보를 수신한 경우에 상기 컨트롤러(30)는 상기 패리티 체크 회로(11), 상기 독출 회로(40), 또는 상기 커플링 판단 회로(13) 중 적어도 두 개의 회로를 동작시킬 수 있다.
상술한 바와 같이, 상기 패리티 체크 회로(11)는 패리티 체크 행렬을 이용하여 에러가 발생할 수 있는 확률이 높은 후보군을 추출하여 추출된 후보군에 대한 정보(C1)를 상기 컨트롤러(30)에 전송할 수 있고, 상기 커플링 판단 회로(13)는 각 셀의 커플링 정도에 기초하여 에러가 발생할 수 있는 확률이 높은 후보군을 추출하고 추출된 후보군에 대한 정보(C2)를 상기 컨트롤러(30)에 전송할 수 있으며, 상기 독출 회로(40)는 각 셀의 추가적 독출 결과에 기초하여 에러가 발생할 확률이 높은 후보군을 추출하여 추출된 후보군에 대한 정보(C3)를 상기 컨트롤러(30)에 전송할 수 있다.
상기 컨트롤러(30)는 상기 후보군들 중 적어도 두 개의 후보군에 공통적으로 포함되는 셀들을 추출하고, 추출된 셀들을 비트 플리핑(bit flipping)하거나 또는 이레이저(erasure) 처리할 수 있다.
다음으로, 에러가 정정된 메모리 셀(20)은 상기 독출 회로(20)에 의해 독출되고, 독출된 데이터는 상기 디코딩 회로(12)에서 오류 정정 디코딩될 수 있다.
도 8은 본 발명의 실시예에 따른 메모리 시스템(1)의 개략적인 블록도이다.
도 8을 참조하면, 본 발명의 실시예에 따른 데이터 메모리 시스템(1)은 시스템 버스(system bus, 110)에 접속된 메모리 장치(100)와 프로세서(processor, 120)를 포함할 수 있다.
프로세서(120)는 상기 메모리 장치(100)의 프로그램 동작(또는 기입 동작), 독출 동작, 또는 검증 동작을 제어하기 위한 제어 신호들을 생성할 수 있다. 따라서, 메모리 장치(100)의 제어 블록(미도시)은 상기 프로세서(120)로부터 출력된 제어 신호에 응답하여 프로그램 동작(또는 기입 동작), 독출 동작, 또는 검증 동작 등을 수행할 수 있다.
본 발명에 따른 디코딩 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), PRAM, RRAM, FRAM, 플래시(Flash) 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하 나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
실시예에 따라, 본 발명의 실시예에 따른 데이터 메모리 시스템(1)이 휴대용 어플리케이션(portalble application)으로 구현되는 경우에, 본 발명의 실시예에 따른 데이터 메모리 시스템(1)은 메모리 장치(100)와 프로세서(120)로 동작 전원을 공급하기 위한 배터리(battery, 150)를 더 포함할 수 있다.
상기 휴대용 어플리케이션은, 휴대용 컴퓨터(portable computer), 디지털 카메라(digital camera), PDA(personal digital assistance), 휴대 전화기(cellular telephone), MP3 플레이어, PMP(portable multimedia player), 차량자동항법장치(automotive navigation system), 메모리 카드(memory card), 시스템 카드(system card), 게임기, 전자 사전, 또는 솔리드 스테이트 디스크(solid state disk)를 포함할 수 있다.
본 발명의 실시예에 따른 데이터 메모리 시스템(1)은 외부의 데이터 처리 장치와 데이터를 주고 받을 수 있도록 하는 인터페이스, 예컨대 입/출력 장치(130)를 더 포함할 수 있다.
본 발명의 실시예에 따른 데이터 메모리 시스템(1)이 무선 시스템인 경우, 본 발명의 실시예에 따른 데이터 메모리 시스템(1)은 무선 인터페이스(140)를 더 포함할 수 있다. 이 경우 무선 인터페이스(140)는 프로세서(120)에 접속되고 시스템 버스(110)를 통하여 무선으로 외부 무선 장치와 데이터를 송수신할 수 있다.
상기 무선 시스템은 PDA, 휴대용 컴퓨터, 무선 전화기, 페이저(pager), 디지 털 카메라와 같은 무선 장치, RFID 리더, 또는 RFID 시스템일 수 있다. 또한, 상기 무선 시스템은 WLAN(Wireless Local Area Network) 시스템 또는 WPAN(Wireless Personal Area Network) 시스템일 수 있다. 또한, 상기 무선 시스템은 이동 전화 네트워크(Cellular Network)일 수 있다.
본 발명의 실시예에 따른 데이터 메모리 시스템(1)이 이미지 촬상 장치(image pick-up device)인 경우, 본 발명의 실시예에 따른 데이터 메모리 시스템(1)은 광학 신호를 전기 신호로 변환할 수 있는 이미지 센서(image sensor, 160)를 더 포함할 수 있다. 상기 이미지 센서(160)는 전자 결합 소자(CCD; charge-coupled device)를 이용한 이미지 센서일 수 있고, 또는 CMOS(complementary metal-oxide semiconductor) 이미지 센서일 수 있다. 이 경우 본 발명의 실시예에 따른 데이터 메모리 시스템(1)은 디지털 카메라 또는 디지털 카메라가 부착된 이동 전화기일 수 있다. 또한, 본 발명의 실시예에 따른 데이터 메모리 시스템(1)은 카메라가 부착된 인공 위성 시스템(satellite system)일 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하면, 본 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1a는 본 발명의 실시예에 따른 패리티 체크 행렬과 코드워드 벡터 간의 관계를 설명하기 위한 식.
도 1b는 본 발명의 실시예에 따른 패리티 체크 행렬이 사이클릭 코드에서 구현되는 예시되는 예시도.
도 1c는 본 발명의 실시예에 따른 패리티 체크 행렬과 코드워드 벡터 간의 관계 및 에러 후보군을 검출하기 위한 방법을 설명하기 위한 예시도.
도 2는 본 발명의 실시예에 따른 셀들의 커플링(coupling)을 설명하기 위한 예시도.
도 3a는 하드-디시전을 이용한 독출 방법을 설명하기 위한 예시도.
도 3b는 본 발명의 실시예에 따른 추가적 독출(additional read)을 설명하기 위한 예시도.
도 4a는 본 발명의 일 실시예에 따라 에러가 발생할 수 있는 후보군을 추출하는 방법을 설명하기 위한 예시도.
도 4b는 본 발명의 다른 실시예에 따라 에러가 발생할 수 있는 후보군을 추출할 수 있는 방법을 설명하기 위한 예시도.
도 5는 본 발명의 실시예에 따른 에러 추정 및 정정 방법을 설명하기 위한 순서도.
도 6은 본 발명의 다른 실시예에 따른 에러 추정 및 정정 방법을 설명하기 위한 순서도.
도 7은 본 발명의 실시예에 따른 메모리 장치의 개략적인 블록도.
도 8은 본 발명의 실시예에 따른 메모리 시스템의 개략적인 블록도.

Claims (8)

  1. 메모리 셀들의 에러 추정 및 정정 방법에 있어서,
    (a) 에러 추정을 위한 제1 방법을 이용하여, 상기 메모리 셀들 중에서 에러가 발생할 수 있는 제1 후보군을 추출하고, 에러 추정을 위한 제2 방법을 이용하여, 상기 메모리 셀들 중에서 에러가 발생할 수 있는 제2 후보군을 추출하는 단계; 및
    (b) 상기 메모리 셀들 중에서, 상기 제1 후보군 및 상기 제2 후보군에 공통적으로 포함되는 적어도 하나의 메모리 셀의 에러를 정정하는 단계를 포함하고,
    상기 제1 방법은, 상기 메모리 셀들 각각의 커플링 정도를 이용한 방법, 패리티 체크 행렬을 이용한 방법, 및 상기 메모리 셀들 각각의 추가적 독출을 이용한 방법 중 어느 하나이고,
    상기 제2 방법은, 상기 메모리 셀들 각각의 상기 커플링 정도를 이용한 방법, 상기 패리티 체크 행렬을 이용한 방법, 및 상기 메모리 셀들 각각의 상기 추가적 독출을 이용한 방법 중 다른 하나인 에러 추정 및 정정 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 에러를 정정하는 단계는,
    상기 제1 후보군 및 상기 제2 후보군에 공통적으로 포함되는 상기 적어도 하나의 메모리 셀의 비트 플리핑(bit-flipping) 및 이레이저(erasure) 중에서 어느 하나를 수행하는 단계를 포함하는 에러 추정 및 정정 방법.
  4. 제1항에 있어서, 상기 패리티 체크 행렬을 이용한 방법은,
    상기 메모리 셀들 중에서, H·cT = 0 의 조건을 만족시키지 않는 적어도 하나의 메모리 셀을 추출하는 방법이고,
    여기서 H는 패리티 체크 행렬이고, c는 코드워드(codeword) 벡터인 에러 추정 및 정정 방법.
  5. 제1항에 있어서, 상기 에러 추정 및 정정 방법은,
    정정된 적어도 하나의 메모리 셀이 포함된 메모리 셀들을 오류 정정 디코딩하는 단계; 및
    상기 오류 정정 디코딩이 성공적으로 수행되었는지를 판단하는 단계를 더 포함하는 에러 추정 및 정정 방법.
  6. 제5항에 있어서,
    판단 결과 상기 오류 정정 디코딩이 실패하는 경우에, 상기 (a)단계 및 (b)단계를 반복하는 에러 추정 및 정정 방법.
  7. 메모리 셀들의 에러 추정 및 정정 방법에 있어서,
    에러 추정을 위한 제1 방법을 이용하여, 상기 메모리 셀들 중에서 에러가 발생할 수 있는 제1 후보군을 추출하는 단계;
    에러 추정을 위한 제2 방법을 이용하여, 상기 메모리 셀들 중에서 상기 제1 후보군 중 에러가 발생할 수 있는 제2 후보군을 추출하는 단계; 및
    상기 추출된 제2 후보군의 에러를 정정하는 단계를 포함하고,
    상기 제1 방법은, 상기 메모리 셀들 각각의 커플링 정도를 이용한 방법, 패리티 체크 행렬을 이용한 방법, 및 상기 메모리 셀들 각각의 추가적 독출을 이용한 방법 중 어느 하나이고,
    상기 제2 방법은, 상기 메모리 셀들 각각의 상기 커플링 정도를 이용한 방법, 상기 패리티 체크 행렬을 이용한 방법, 및 상기 메모리 셀들 각각의 상기 추가적 독출을 이용한 방법 중 다른 하나인 에러 추정 및 정정 방법.
  8. 삭제
KR1020080107889A 2008-10-31 2008-10-31 에러 추정 방법 및 정정 방법 KR101529880B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080107889A KR101529880B1 (ko) 2008-10-31 2008-10-31 에러 추정 방법 및 정정 방법
US12/607,768 US8316279B2 (en) 2008-10-31 2009-10-28 Method of estimating and correcting errors in memory cells

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080107889A KR101529880B1 (ko) 2008-10-31 2008-10-31 에러 추정 방법 및 정정 방법

Publications (2)

Publication Number Publication Date
KR20100048633A KR20100048633A (ko) 2010-05-11
KR101529880B1 true KR101529880B1 (ko) 2015-06-19

Family

ID=42132981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080107889A KR101529880B1 (ko) 2008-10-31 2008-10-31 에러 추정 방법 및 정정 방법

Country Status (2)

Country Link
US (1) US8316279B2 (ko)
KR (1) KR101529880B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496476B2 (en) 2017-01-23 2019-12-03 SK Hynix Inc. Memory system and operating method thereof
US11487634B2 (en) 2019-01-11 2022-11-01 SK Hynix Inc. Apparatus and method for handling error in volatile memory of memory system based on a type of data and a state of data
US11664826B2 (en) 2020-12-07 2023-05-30 Samsung Electronics Co., Ltd. Error correction code engine performing ECC decoding, operation method thereof, and storage device including ECC engine

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438455B2 (en) * 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
US8560898B2 (en) * 2009-05-14 2013-10-15 Mediatek Inc. Error correction method and error correction apparatus utilizing the method
US20150046772A1 (en) * 2013-08-06 2015-02-12 Sandisk Technologies Inc. Method and device for error correcting code (ecc) error handling
CN104658608B (zh) 2013-11-22 2018-03-06 华为技术有限公司 存储设备的写入方法及写入装置
US9411683B2 (en) * 2013-12-26 2016-08-09 Intel Corporation Error correction in memory
JP2016126813A (ja) * 2015-01-08 2016-07-11 マイクロン テクノロジー, インク. 半導体装置
CN106484309A (zh) * 2015-08-28 2017-03-08 中兴通讯股份有限公司 一种位翻转检测方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100287018B1 (ko) * 1998-08-07 2001-04-16 윤종용 에러 정정 회로를 구비한 반도체 메모리 장치
US6751766B2 (en) * 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
US7197670B2 (en) * 2003-12-31 2007-03-27 Intel Corporation Methods and apparatuses for reducing infant mortality in semiconductor devices utilizing static random access memory (SRAM)
WO2005096509A1 (en) * 2004-03-31 2005-10-13 Intel Corporation Multi-threshold message passing decoding of low-density parity check codes
US8205146B2 (en) * 2005-07-21 2012-06-19 Hewlett-Packard Development Company, L.P. Persistent error detection in digital memory
US7747926B2 (en) * 2006-05-02 2010-06-29 Everspin Technologies, Inc. Methods and apparatus for a memory device with self-healing reference bits
JP4896605B2 (ja) 2006-07-04 2012-03-14 株式会社東芝 不揮発性半導体記憶システム
US7831895B2 (en) * 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
KR100827440B1 (ko) * 2006-09-29 2008-05-06 삼성전자주식회사 반도체 집적 회로 장치의 불량 분석 방법 및 시스템
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Z. Liu et al.,"A Decoding Algorithm for Finite-Geometry LDPC Codes," IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 53, NO. 3, MARCH 2005.. *
Z. Liu et al.,"A Decoding Algorithm for Finite-Geometry LDPC Codes," IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 53, NO. 3, MARCH 2005..*

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496476B2 (en) 2017-01-23 2019-12-03 SK Hynix Inc. Memory system and operating method thereof
US11487634B2 (en) 2019-01-11 2022-11-01 SK Hynix Inc. Apparatus and method for handling error in volatile memory of memory system based on a type of data and a state of data
US11664826B2 (en) 2020-12-07 2023-05-30 Samsung Electronics Co., Ltd. Error correction code engine performing ECC decoding, operation method thereof, and storage device including ECC engine

Also Published As

Publication number Publication date
KR20100048633A (ko) 2010-05-11
US20100115377A1 (en) 2010-05-06
US8316279B2 (en) 2012-11-20

Similar Documents

Publication Publication Date Title
KR101529880B1 (ko) 에러 추정 방법 및 정정 방법
USRE49253E1 (en) Semiconductor memory device
US8677217B2 (en) Data input / output control device and semiconductor memory device system
US9680504B2 (en) Controller, semiconductor memory system, data storage system and operating method thereof
US8560901B2 (en) Apparatus, method and memory device for error correction by increasing or decreasing a read voltage and analyzing frequency information for a read error pattern
US9411679B2 (en) Code modulation encoder and decoder, memory controller including them, and flash memory system
US10067824B2 (en) Error processing method, memory storage device and memory controlling circuit unit
US20130318395A1 (en) Reconstructing codewords using a side channel
US10521291B2 (en) Controller, semiconductor memory system and operating method thereof
US20150358036A1 (en) Decoding method, memory storage device and memory control circuit unit
US10522234B2 (en) Bit tagging method, memory control circuit unit and memory storage device
US10911068B2 (en) Error correction circuit and method of operating the same
US10685711B1 (en) Decoding method, memory controlling circuit unit and memory storage device
JP2019057752A (ja) メモリシステム
US20170269993A1 (en) Method for decoding bits in a solid state drive, and related solid state drive
KR101539002B1 (ko) 1-비트용 에러 정정 장치 및 그 방법
US10628259B2 (en) Bit determining method, memory control circuit unit and memory storage device
US20240086280A1 (en) Memory system and control method
KR102530269B1 (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
KR20180125298A (ko) 반복 복호기, 반복 복호 방법 및 반도체 메모리 시스템
CN115910182A (zh) 读取电压校正方法、存储装置及存储器控制电路单元
CN115440289A (zh) 用于局部增强的解码系统和方法
CN116954984A (zh) Crc终止时的准确ber报告

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 5