KR20140125987A - 인코더, 디코더 및 이를 포함하는 반도체 장치 - Google Patents

인코더, 디코더 및 이를 포함하는 반도체 장치 Download PDF

Info

Publication number
KR20140125987A
KR20140125987A KR1020130043886A KR20130043886A KR20140125987A KR 20140125987 A KR20140125987 A KR 20140125987A KR 1020130043886 A KR1020130043886 A KR 1020130043886A KR 20130043886 A KR20130043886 A KR 20130043886A KR 20140125987 A KR20140125987 A KR 20140125987A
Authority
KR
South Korea
Prior art keywords
drift
code
data
parity information
information
Prior art date
Application number
KR1020130043886A
Other languages
English (en)
Other versions
KR102007163B1 (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 KR1020130043886A priority Critical patent/KR102007163B1/ko
Priority to CN201410128445.8A priority patent/CN104112479B/zh
Priority to US14/254,060 priority patent/US9350390B2/en
Publication of KR20140125987A publication Critical patent/KR20140125987A/ko
Application granted granted Critical
Publication of KR102007163B1 publication Critical patent/KR102007163B1/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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] 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)
  • Error Detection And Correction (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 기술은 드리프트 현상이 발생하는 메모리 장치에서 데이터를 온전히 복원할 수 있도록 데이터를 처리하는 인코더, 디코더 및 이를 포함하는 반도체 장치를 제공한다. 본 기술에 의한 반도체 장치는 제 1 데이터를 드리프트 방지 코드로 인코딩하는 제 1 인코딩부 및 드리프트 방지 코드에 패리티 정보를 부가하는 제 2 인코딩부를 포함할 수 있다.

Description

인코더, 디코더 및 이를 포함하는 반도체 장치{ENCODER, DECODER AND SEMICONDUCTOR DEVICE INCLUDING THE SAME}
본 발명은 인코더, 디코더 및 이를 포함하는 반도체 장치에 관한 것으로 보다 구체적으로는 데이터를 복원할 수 있도록 데이터를 처리하는 인코더, 디코더 및 이를 포함하는 반도체 장치에 관한 것이다.
PCRAM과 같은 메모리 장치에서는 시간이 지남에 따라 메모리 셀의 정보(예를 들어 저항값)가 변하는 드리프트(drift) 현상이 발생한다.
드리프트 현상이 발생하면 셀에서 읽은 정보가 기록 당시의 정보와 상이하게 되어 본래 기록한 데이터를 복원하는 것이 용이하지 않게 된다. 특히 멀티 비트를 저장하는 메모리 장치의 경우에는 드리프트 현상으로 인하여 데이터를 복원하는 것이 더욱 곤란할 수 있다. 또한 드리프트 현상이 발생하면서 이웃한 레벨들 사이에서 크로스오버 현상이 발생하는 경우 데이터 복원은 더욱 어려워진다.
본 발명은 메모리 장치에서 데이터를 온전히 복원할 수 있도록 데이터를 처리하는 인코더, 디코더 및 이를 포함하는 반도체 장치를 제공한다.
본 발명의 일 실시예에 의한 반도체 장치는 제 1 데이터를 드리프트 방지 코드로 인코딩하는 제 1 인코딩부 및 드리프트 방지 코드에 패리티 정보를 부가하는 제 2 인코딩부를 포함할 수 있다.
본 발명의 일 실시예에 의한 반도체 장치는 제 1 데이터를 인코딩한 드리프트 방지 코드, 이에 대한 패리티 정보 및 드리프트 노이즈가 포함된 입력 데이터를 디코딩하는 장치로서, 입력 데이터에서 드리프트 방지 코드를 복원하고 복원 정보를 참조하여 패리티 정보를 복원하는 제 1 디코딩부, 복원된 패리티 정보와 복원된 드리프트 방지 코드로부터 에러가 정정된 드리프트 방지 코드를 출력하는 제 2 디코딩부 및 에러가 정정된 드리프트 방지 코드를 디코딩하여 제 1 데이터를 출력하는 제 3 디코딩부를 포함할 수 있다.
본 발명의 일 실시예에 의한 반도체 장치는 호스트로부터 제공된 데이터를 드리프트 방지 코드로 인코딩하고 이에 대하여 패리티 정보를 부가하여 출력하는 인코더 및 반도체 메모리 장치로부터 출력된 정보로부터 드리프트 방지 코드와 패리티 정보를 복원하고 복원된 패리티 정보를 이용하여 에러가 정정된 드리프트 코드를 생성한 후 드리프트 코드를 디코딩하여 출력하는 디코더를 포함할 수 있다.
본 발명의 일 실시예에 의한 반도체 장치는 메모리 셀 어레이, 메모리 제어 장치로부터 제공된 데이터를 드리프트 방지 코드로 인코딩하고 이에 대하여 패리티 정보를 부가하여 메모리 셀 어레이에 제공하는 인코더 및 메모리 셀 어레이에서 출력된 정보로부터 드리프트 방지 코드와 패리티 정보를 복원하고 복원된 패리티 정보를 이용하여 에러가 정정된 드리프트 코드를 생성한 후 드리프트 코드를 디코딩하여 출력하는 디코더를 포함할 수 있다.
본 기술에 의한 인코더, 디코더 및 이를 포함하는 반도체 장치를 통해 데이터를 정상적으로 복원할 수 있다.
도 1은 PCRAM에서의 드리프트 현상을 도시한 그래프.
도 2는 본 발명의 일 실시예에 의한 반도체 장치에서 드리프트 방지 코드로 사용하는 코드워드와 데이터의 관계를 나타낸 도면.
도 3은 크로스 오버 현상에 의한 에러 발생을 설명하는 도면.
도 4는 본 발명의 일 실시예에 의한 인코더의 블록도.
도 5 내지 도 6은 본 발명의 다른 실시예에 의한 인코더의 블록도.
도 7은 본 발명의 일 실시예에 의한 디코더의 블록도.
도 8 내지 도 9는 본 발명의 다른 실시예에 의한 디코더의 블록도.
도 10은 본 발명의 일 실시예에 의한 메모리 컨트롤러의 블록도.
도 11은 본 발명의 일 실시예에 의한 반도체 메모리 장치의 블록도.
도 12는 본 발명의 일 실시예에 의한 효과를 설명하는 도면.
이하에서는 첨부한 도면을 참조하여 본 발명에 의한 실시예들을 구체적으로 개시한다. 이하에서 동일한 참조번호는 실질적으로 동일한 구성요소를 지시한다.
이하에서는 PCRAM을 예로 들어 메모리 장치에서의 드리프트 현상과 이를 극복하기 위한 인코딩 및 디코딩 기술을 개시한다. 그러나 메모리 장치가 반드시 PCRAM에 한정되는 것은 아니며 이하의 개시는 드리프트 현상이 발생하는 다른 휘발성 또는 비휘발성 메모리 장치에도 적용될 수 있다.
도 1은 드리프트 현상에 의한 PCRAM 셀의 저항 변화를 나타낸 그래프이다.
도시된 그래프에서 PCRAM 셀은 2-비트를 기록할 수 있는 멀티레벨 셀로서 각각 레벨 0(00), 레벨 1(01), 레벨 2(10), 레벨 3(11) 등 4가지 상태의 정보를 저장한다. 각 상태에 대응하는 저항값은 레벨 0일 때 가장 크고 레벨 3일 때 가장 작다.
드리프트 현상이 발생하면 도시된 바와 같이 셀의 저항은 증가하는 방향으로 변한다. 그러나 각 셀의 저항값이 증가하더라도 각 레벨에 대응하는 저항값들은 서로 중첩되지 않으며 저항 크기도 일정한 순서를 유지하는 것이 일반적이다. 따라서 측정된 셀의 저항값들을 경계값과 비교함으로써 셀의 레벨을 복원할 수 있다.
다른 실시예에서는 경계값과 비교하는 대신 측정된 저항값들의 상대적인 크기를 이용하여 레벨을 복원할 수도 있다.
일 실시예에서 메모리 장치에 입력할 데이터를 M개의 상이한 심볼 각각이 Nm개씩 포함된 코드워드로 인코딩하여 셀에 저장한다(M, m, Nm는 자연수, 1≤m≤M, Nm는 M개의 심볼을 크기순으로 정렬하였을 때 m번째 심볼의 개수). 이후 메모리 장치에서 읽은 셀들의 저항값들을 크기 순으로 정렬한 후 순서에 따라 레벨을 부여한 후 다시 본래의 순서대로 재정렬하면 본래 메모리 장치에 기록했던 데이터를 복원할 수 있게 된다.
전술한 코드워드는 드리프트 방지 코드의 일 예로서 드리프트 방지 코드의 종류는 이외에도 다양하게 존재할 수 있다.
드리프트 현상이 발생하는 경우 인접한 레벨들에서 저항값의 크기 순서가 뒤바뀌는 현상(크로스오버 현상)이 발생할 수 있다. 크로스오버 현상이 발생하면 드리프트 방지 코딩을 수행하는 것만으로는 본래의 데이터를 온전히 복원할 수 없다.
본 발명에서는 메모리 셀 어레이에서 드리프트 현상과 함께 크로스오버 현상이 발생하여 심볼 사이의 순서가 뒤바뀌더라도 이를 복원할 수 있도록 에러 정정 코딩을 추가로 적용한다.
이하의 개시에서는 드리프트 방지 코드로서 전술한 코드워드를 사용하는 경우를 예로 들어 설명한다. 그러나 본 발명의 권리 범위는 전술한 코드워드를 드리프트 방지 코드로 사용하는 경우에 한정되는 것은 아니다.
도 2는 데이터와 코드워드의 관계를 설명하는 도면이다.
도면에서 데이터는 일반적인 이진 코드의 형태로서 64 비트의 폭을 가진다.
코드워드는 전술한 바와 같이 M개의 서로 다른 심볼이 각각 Nm개씩 포함된 형태의 데이터이다. 도 2에 예시된 코드워드에서 M = 4, Nm = 9(1≤m≤4)이고 4개의 심볼은 각각 0, 1, 2, 3이다.
여기서 심볼의 종류는 하나의 메모리 셀에 저장될 수 있는 레벨의 종류에 대응한다. 따라서 심볼의 종류(M)는 다음 수학식 1과 같이 각 셀에 저장되는 비트 수(n)에 의해 결정될 수 있다.
Figure pat00001
본 실시예에서 데이터와 코드워드의 상관 관계는 데이터의 크기 및 코드워드의 크기에 의해 결정된다. 즉 도 2와 같이 데이터를 가장 작은 값부터 가장 큰 값까지 크기 순으로 배열하고 코드워드 역시 가장 작은 값부터 가장 큰 값까지 크기 순으로 배열한다. 도 2에서 크기 순서는 인덱스로 표시된다.
본 실시예에서 데이터를 코드워드로 인코딩하는 과정은 데이터와 동일한 인덱스를 가지는 코드워드를 찾는 과정에 대응하고 코드워드를 데이터로 디코딩하는 과정은 코드워드와 동일한 인덱스를 가지는 데이터를 찾는 과정에 대응한다.
따라서 본 실시예에서 데이터의 폭(L)과 코드워드의 길이(셀의 개수,
Figure pat00002
)는 다음 수학식을 만족시켜야 한다.
Figure pat00003
도 3은 도 2와 같은 드리프트 방지 코딩을 사용하는 경우 크로스오버 현상에 의하여 에러가 발생하는 예를 나타낸다.
크로스오버 현상은 인접한 두 심볼의 위치가 바뀌는 현상으로 도시된 바와 같이 코드워드에서는 두 개의 심볼만 뒤바뀌더라도 이를 디코딩한 결과 얻어진 데이터에서는 더욱 많은 비트수의 에러가 발생하는 문제가 있다. 따라서 코드워드를 데이터로 디코딩하기 전에 크로스오버 현상에 의한 코드워드의 심볼 뒤바뀜 문제를 먼저 해결하는 것이 중요하다.
본 발명에서는 이를 해결하기 위하여 데이터를 코드워드로 인코딩한 이후 코드워드에 추가로 에러 정정 코드를 적용한다.
이하에서는 전술한 바와 같은 순서로 인코딩을 수행하여 메모리 셀 어레이에 제공하는 인코더와 메모리 셀 어레이에서 읽은 정보를 디코딩하여 출력하는 디코더에 대해서 개시한다.
이하의 개시에서는 메모리 셀 어레이의 각 셀이 2 비트를 저장하는 멀티비트 셀로서 각 셀에는 0, 1, 2, 3 네 가지 종류의 심볼이 저장되는 것으로 가정한다.
일 실시예에서 각 심볼과 셀 데이터는 다음과 같은 관계를 가질 수 있다.
심볼 셀 데이터
0 00
1 01
2 10
3 11
다른 실시예에서 각 심볼과 셀 데이터는 다음과 같은 관계를 가질 수도 있다.
심볼 셀 데이터
0 00
1 01
2 11
3 10
표 2에 도시된 예는 셀 데이터가 그레이코드 형태로 심볼에 연관되는 실시예를 나타낸다.
표 1의 경우 인접한 두 심볼 1, 2 사이에서 크로스오버 현상이 발생하는 경우 총 4 비트의 에러가 발생하게 된다. 이에 비하여 표 2의 경우에는 인접한 두 심볼 1, 2 사이에서 크로스오버 현상이 발생하는 경우 총 2 비트의 에러가 발생하며 이는 에러가 발생한 심볼의 개수 2와 같다.
이와 같이 표 2와 같은 그레이코드 매핑을 사용하는 것이 크로스오버 현상에 의해 발생하는 비트 에러의 확장을 방지하는데 유리할 수 있다.
도 4는 본 발명의 일 실시예에 의한 인코더(100)의 블록도이다.
본 실시예에 의한 인코더(100)는 입력 데이터(data)에 드리프트 방지 코딩을 수행하여 코드워드를 출력하는 제 1 인코딩부(110)와 코드워드에 에러 정정 코딩을 적용하는 제 2 인코딩부(120)를 포함한다.
제 1 인코딩부(110)는 입력된 데이터를 도 2에 도시된 규칙에 의해 인코딩을 수행한다. 이를 위하여 제 1 인코딩부(110)는 입력된 데이터의 인덱스와 동일한 인덱스를 가지는 코드워드를 검색한다. 전술한 코드워드와 상이한 드리프트 방지 코드를 사용하는 경우에는 해당 코딩 방식에 맞는 인코딩 동작을 수행한다.
제 2 인코딩부(120)는 코드워드를 입력받아 패리티 정보를 부가한 후 메모리 셀 어레이(10)에 제공한다.
제 2 인코딩부(120)는 에러 정정 코딩의 방식으로 예를 들어 BCH 코딩과 같이 코드워드를 비트 단위로 분석하여 패리티 비트들을 부가하는 방식은 물론 예를 들어 RS 코딩과 같이 코드워드를 심볼 단위로 분석하여 패리티 심볼을 부가하는 방식을 사용할 수 있다. 부가되는 패리티 정보의 비트수가 홀수인 경우 임의의 한 비트를 추가하여 패리티 정보의 비트수가 짝수가 되도록 한다.
도 5는 본 발명의 다른 실시예에 의한 인코더(100)를 도시한다.
도 5에 도시된 인코더(100)의 동작은 기본적으로 도 4에 도시된 인코더(100)의 동작과 동일하다.
도 5에 도시된 제 1 인코딩부(110)는 J개의 데이터를 수신하여 각각에 대한 J개의 코드워드를 생성한다(J는 자연수).
제 2 인코딩부(120)는 J 개의 코드워드 전체에 대해서 패리티 정보를 생성하여 부가하여 메모리 셀 어레이(10)에 제공한다.
본 실시예에서 패리티 정보를 생성하는 단위가 되는 코드워드의 개수 J는 코드워드의 길이, 패리티 정보의 비트 수 등을 고려하여 통상의 기술자에 의해 선택될 수 있다.
에러 정정 코드의 종류에 따라서는 도 5와 같이 다수의 코드워드에 대해서 패리터 정보를 추가함으로써 코드워드당 필요한 패리티 정보의 비트수가 줄어들 수 있다. 이 경우 메모리 셀 어레이(10)의 저장 공간을 절약할 수 있는 장점이 있다.
도 6은 본 발명의 또 다른 실시예에 의한 인코더(100)를 도시한다.
도 6에 도시된 인코더(100)의 동작은 기본적으로 도 4에 도시된 인코더(100)의 동작과 동일하다.
도 6에 도시된 제 1 인코딩부(110)는 J개의 데이터를 수신하여 각각에 대한 J개의 코드워드를 생성한다.
제 2 인코딩부(120)는 J개의 코드워드와 코드워드로 인코딩되지 않은 P개의 데이터 전체에 대해서 패리티 정보를 생성하여 추가하고 이를 메모리 셀 어레이(10)에 제공한다.
아래에서 설명하겠으나 디코딩 과정에서 드리프트 현상에도 불구하고 데이터를 복원하기 위해서는 코드워드가 필수적이다. 그러나 모든 데이터를 코드워드로 복원하는 대신 일부 데이터는 코드워드로 인코딩하지 않은 채 메모리 셀 어레이(10)에 저장할 수 있다. 디코딩 과정에서는 코드워드를 데이터로 복원하고 그 복원 정보를 이용하여 코드워드로 인코딩하지 않은 데이터를 복원하는데 사용할 수도 있다.
도 6의 실시예는 인코딩 과정에서 데이터를 코드워드로 변환하는 과정에 소요되는 시간을 절약할 수 있다. 또한 본 실시예와 같이 코드워드의 길이(72비트)가 데이터의 길이(64비트)보다 긴 경우에는 메모리 셀 어레이(10)의 저장 공간을 절약할 수 있는 장점이 있다.
도 7은 본 발명의 일 실시예에 의한 디코더(200)의 블록도이다.
도 7에 도시된 실시예에서 메모리 셀 어레이(10)는 도 4에서 설명한 인코더(100)에 의해 인코딩된 정보를 저장하는 것으로 가정한다.
본 실시예에 의한 디코더(200)는 메모리 셀 어레이(10)로부터 출력된 데이터에서 코드워드와 패리티 정보를 복원하는 제 1 디코딩부(210), 복원된 코드워드와 패리티 정보로부터 에러가 정정된 코드워드를 출력하는 제 2 디코딩부(220) 및 코드워드를 데이터로 변환하는 제 3 디코딩부(230)를 포함한다.
도 7 및 이하의 도면들에서 회색으로 표시한 데이터는 드리프트 현상에 의해 노이즈가 발생한 것을 표시한다.
메모리 셀 어레이(10)로부터 출력되는 저항값은 드리프트 현상으로 인하여 메모리 셀 어레이(10)에 데이터를 기록할 당시와는 상이한 값을 가진다. 전술한 바와 같이 코드워드가 저장된 셀 데이터들은 드리프트 현상이 발생하더라도 본래의 정보를 용이하게 복원할 수 있다.
그러나 패리티 정보는 코드워드를 비트 단위 또는 심볼 단위로 분석하여 부가된 것으로 드리프트 방지 코드가 적용된 부분이 아니다. 따라서 드리프트 현상에 의해 노이즈가 부가된 패리티 정보로부터 본래의 패리티 정보를 복원하기 위해서는 추가 동작이 필요하다.
먼저 코드워드를 복원하는 방법은 다음과 같다. 도 7에서 코드워드는 4 개의 심볼(0, 1, 2, 3)이 각각 9개씩 포함된 데이터이다. 전술한 바와 같이 각 심볼에 대응하는 저항값은 드리프트 현상에 의하여 증가하는 방향으로 변경되므로 코드워드에 해당하는 36개의 셀로부터 출력된 저항값들을 크기순으로 정렬함으로써 각 셀들의 저항값에 대응하는 심볼을 결정할 수 있다. 이로써 코드워드가 복원된다. 이후 심볼 정보를 비트 정보로 변환하는데에는 표 1 또는 표 2와 같이 인코딩 과정에서 사용한 변환을 역으로 적용하게 된다.
다음으로 패리티 정보를 복원하는 방법은 다음과 같다. 전술한 코드워드 복원과정에서 코드워드가 기록된 셀들에서 출력된 저항값과 해당 셀들에 대응하는 심볼값의 상관 관계 즉 복원 정보를 축적할 수 있다. 패리티 정보가 기록된 셀들의 저항값을 측정하고 그 저항값을 전술한 복원 정보와 비교함으로써 패리티 정보가 기록된 셀들의 심볼 값을 도출할 수 있다.
구체적으로 패리티 정보가 기록된 셀들의 심볼값을 도출하기 위해서는 다양한 방법을 사용할 수 있다.
예를 들어 패리티 정보가 기록된 셀의 저항값을 코드워드가 저장된 셀들의 저항값들과 비교하여 가장 가까운 저항값을 가지는 셀의 심볼값을 패리티 정보가 기록된 셀의 심볼값으로 결정할 수 있다(최소 거리법).
또는 전술한 복원 정보로부터 각 심볼마다 저항값의 평균 및 분산과 같은 통계적 데이터를 분석하고 이를 참조하여 패리티 정보가 기록된 셀의 저항값이 포함될 확률이 가장 큰 심볼을 선택하여 패리티 정보가 기록된 셀의 심볼값을 결정할 수 있다(최대 확률법).
이외에도 패리티 정보를 복원하기 위한 구체적인 방법은 실시예에 따라 다양하게 변경될 수 있으며 이는 통상의 기술자에 의해 용이하게 설계 변경이 가능하다.
제 2 디코딩부(220)는 복원된 코드워드와 패리티 정보로부터 에러가 정정된 코드워드를 출력한다. 전술한 바와 같이 드리프트 현상 과정에서 크로스오버 현상이 발생하면 심볼이 뒤바뀌고 이로 인해 비트 또는 심볼 단위로 에러가 발생한다. 이러한 에러는 제 2 디코딩부(220)에서 정정될 수 있다.
에러를 정정하는 제 2 디코딩부(220)의 동작은 공지된 것으로 비트 단위로 에러를 정하는 BCH 코딩이나 심볼 단위로 에러를 정정하는 RS 코딩이 사용될 수 있다. 제 2 디코딩부(220)의 디코딩 방식이 제 2 인코딩부(120)의 인코딩 방식에 따라 결정됨은 자명하다. 이와 같이 제 2 디코딩부(230)는 크로스오버 현상에 의해 에러가 발생한 비트 또는 심볼을 정정하여 에러가 없는 코드워드를 출력한다.
제 3 디코딩부(230)는 에러가 정정된 코드워드를 일반적인 데이터로 변환한다. 이를 위하여 제 3 디코딩부(230)는 이는 도 2를 참조하여 설명한 바와 같이 코드워드의 인덱스를 확인하고 코드워드의 인덱스와 동일한 인덱스를 갖는 데이터를 찾는다. 다른 형태의 드리프트 방지 코드를 사용하는 경우 구체적인 디코딩 동작은 달라질 수 있다.
도 8은 본 발명의 다른 실시예에 의한 디코더(200)를 도시한다.
도 8에 도시된 디코더(200)는 도 5의 인코더(100)에 대응한다. 도 8의 디코더(200)의 동작은 기본적으로 도 8에 도시된 디코더(200)와 동일하다.
도 8에 도시된 디코더(200)에서 제 1 디코딩부(210)는 코드워드 1 ~ 코드워드 J에 대한 복원 정보를 참조하여 패리티 정보를 복원하고, 제 2 디코딩부(220)는 패리티 정보를 참조하여 에러가 정정된 코드워드 1 ~ 코드워드 J를 생성하며, 제 3 디코딩부(230)는 코드워드 1 ~ 코드워드 J를 디코딩하여 데이터 1 ~ 데이터 J을 출력한다.
도 9는 본 발명의 다른 실시예에 의한 디코더(200)를 도시한다.
도 9에 도시된 디코더(200)는 도 6에 도시된 인코더(100)에 대응한다. 도 9의 디코더(200)의 동작은 기본적으로 도 7에 도시된 디코더(200)와 동일하다.
도 9에 도시된 디코더(200)에서 제 1 디코딩부(210)는 코드워드 1 ~ 코드워드 J에 대한 복원 정보를 참조하여 패리티 정보를 복원한다. 패리티 정보와 마찬가지로 데이터 J+1 ~ 데이터 J+P 역시 드리프트 방지 코드로 인코딩 상태가 아니다. 따라서 제 1 디코딩부(210)는 코드워드 1 ~ 코드워드 J에 대한 복원 정보를 참조하여 데이터 J+1 ~ 데이터 J+P를 복원한다.
제 2 디코딩부(220)는 복원된 코드워드 1 ~ 코드워드 J, 데이터 J+1 ~ 데이터 J+P, 패리티 정보로부터 에러가 정정된 코드워드 1 ~ 코드워드 J, 데이터 J+1 ~ 데이터 J+P를 생성한다.
제 3 디코딩부(230)는 코드워드 1 ~ 코드워드 J를 디코딩하여 데이터 1 ~ 데이터 J를 출력한다.
도 10은 본 발명의 일 실시예에 의한 메모리 컨트롤러의 블록도이다.
도시된 메모리 컨트롤러(1000)는 독립적으로 존재할 수도 있고 프로세서 등의 다른 반도체 장치에 내장될 수도 있다.
본 실시예에 의한 메모리 컨트롤러(1000)는 호스트로부터 쓰기 요청된 데이터를 인코딩하여 반도체 메모리 장치(미도시)에 제공하는 인코더(100)와 반도체 메모리 장치(미도시)로부터 제공된 정보를 디코딩하여 출력하는 디코더(200)를 포함한다. 인코더(100)의 구성은 도 4 내지 도 6을 참조하여 상세히 설명하였고, 디코더(200)의 구성은 도 7 내지 도 9를 참조하여 상세히 설명하였으므로 반복된 설명은 생략한다.
또한 본 실시예에 의한 메모리 컨트롤러(1000)는 요청 버퍼(10), 어드레스 매핑 블록(20), 중재 블록(30), 명령 생성부(40), 리프레시 제어기(50), 데이터 버퍼(60) 등의 공지된 구성을 포함할 수 있다. 이들의 동작은 공지된 바와 같으므로 설명을 생략한다.
또한 본 실시예에 의한 메모리 컨트롤러(1000)는 에러 정정 코딩을 위하여 데이터 버퍼(60)와 인코더(100) 및 디코더(200) 사이에 ECC 블록(70)을 더 포함할 수도 있다. 그러나 ECC 블록(70)은 종래의 메모리 컨트롤러에 일반적으로 포함되는 구성으로 전술한 크로스오버 현상에 의한 에러 정정 기능과는 무관하다. 일반적으로 인코더(100)와 디코더(200) 내에서 에러 정정 기능이 모두 수행되는 경우 ECC 블록(70)은 생략될 수 있다.
인코더(100)와 디코더(200)가 인코딩 및 디코딩 동작을 수행하는데 걸리는 시간은 테스트를 통해 미리 결정될 수 있고 이에 따라 본 실시예에 의한 메모리 컨트롤러(1000)는 스케줄링 타이밍을 결정함에 있어 인코딩 및 디코딩 시간을 고려하는 것이 바람직할 수 있다.
도 11은 본 발명의 일 실시예에 의한 반도체 메모리 장치의 블록도이다.
본 실시예에 의한 반도체 메모리 장치(2000)는 메모리 컨트롤러(미도시)로부터 제공된 데이터를 인코딩하여 셀 어레이(10)에 제공하는 인코더(100)와 셀 어레이(10)에서 읽은 정보를 디코딩하여 메모리 컨트롤러(미도시)에 제공하는 디코더(200)를 포함한다.
인코더(100)의 구성은 도 4 내지 도 6을 참조하여 상세히 설명하였고, 디코더(200)의 구성은 도 7 내지 도 9를 참조하여 상세히 설명하였으므로 반복된 설명은 생략한다.
또한 본 실시예에 의한 반도체 메모리 장치(2000)는 메모리 컨트롤러(미도시)에서 제공된 주소, 명령 등을 해석하여 셀 어레이(10)를 제어하는 주변 로직 회로(20)를 더 포함한다. 주변 로직 회로(20)는 공지된 구성으로 구체적인 설명은 생략한다.
인코더(100)와 디코더(200)가 데이터와 코드워드 사이의 변환을 추가로 수행하는 점을 제외하고 반도체 메모리 장치(2000)의 동작 원리는 실질적으로 동일하게 유지된다.
도 12는 본 발명에 의한 실시예의 효과를 나타내는 시뮬레이션 결과를 나타낸다.
본 시뮬레이션은 PCRAM을 제어하는 메모리 컨트롤러내에 인코더(100)와 디코더(200)를 포함하는 실시예를 가정하여 Matlab을 이용하여 수행되었다. 본 시뮬레이션에서는 BER = 10-15을 만족하기 위하여 필요한 리던던시를 측정하여 그 결과를 % 단위로 표시하였다. 리던던시가 작을수록 동일한 데이터를 저장하기 위하여 필요한 부가적인 정보(셀)의 개수가 줄어들기 때문에 보다 우수한 것으로 판단할 수 있다.
종래 기술 1은 드리프트 방지 코딩을 전혀 사용하지 않는 경우로서 도 10에서 인코더(100)와 디코더(200)가 존재하지 않고 데이터 경로에 ECC 블록(70)만이 존재하는 경우에 대응하는 것으로 볼 수 있다.
종래 기술 2는 도 10의 인코더(100)와 디코더(200) 내에서 드리프트 방지 코딩만을 수행하고 별도의 에러 정정 코딩은 수행하지 않는 경우이다. 즉 도 10에서 데이터 경로에 ECC 블록(70)과 인코더(100) 및 디코더(200)를 포함하되, 인코더(100)와 디코더(200)는 각각 제 2 인코딩부(120)와 제 2 디코딩부(220)를 포함하지 않는 경우에 대응하는 것으로 볼 수 있다.
도 12와 도시된 바와 같이 리프레시 주기가 같은 경우 리던던시 비율은 본 발명에 의한 실시예에서 가장 낮음을 알 수 있다. 종래 기술 2는 드리프트 코딩을 사용함에도 불구하고 드리프트 코딩을 사용하지 않는 종래 기술 1에 비해서도 리던던시 비율이 훨씬 높게 도출되었다. 이는 도 3을 참조하여 설명한 바와 같이 크로스오버 현상에 의해 코드워드를 디코딩한 데이터에서 에러 비트수가 크게 증가하는 것과 연관된 것으로 이해할 수 있다.
이상의 설명은 본 발명의 개시를 위한 것으로 본 발명의 권리범위를 한정하고자 한 것은 아니다. 본 발명의 권리범위는 특허청구범위에 기재된 범위와 그 균등범위에 의해 정해진다.
100: 인코더
200: 디코더
110: 제 1 인코딩부
120: 제 2 인코딩부
130: 제 3 인코딩부
210: 제 1 디코딩부
220: 제 2 디코딩부
230: 제 3 디코딩부
240: 제 4 디코딩부
1000: 메모리 컨트롤러
2000: 반도체 메모리 장치

Claims (25)

  1. 제 1 데이터를 드리프트 방지 코드로 인코딩하는 제 1 인코딩부 및
    상기 드리프트 방지 코드에 패리티 정보를 부가하는 제 2 인코딩부
    를 포함하는 반도체 장치.
  2. 청구항 1에 있어서, 상기 드리프트 방지 코드는 M(M은 자연수)개의 서로 다른 심볼이 각각 N(N은 자연수)개씩 포함되는 반도체 장치.
  3. 청구항 2에 있어서, 상기 심볼에 대응하는 이진 데이터는 그레이코드인 반도체 장치.
  4. 청구항 1에 있어서, 상기 제 2 인코딩부는 상기 드리프트 방지 코드를 비트 단위로 분석하여 상기 패리티 정보를 부가하는 반도체 장치.
  5. 청구항 2에 있어서, 상기 제 2 인코딩부는 상기 드리프트 방지 코드를 심볼 단위로 분석하여 상기 패리티 정보를 부가하는 반도체 장치.
  6. 청구항 1에 있어서, 상기 반도체 장치는 드리프트 방지 코드로 변환되지 않은 제 2 데이터를 더 수신하고 상기 제 2 인코딩부는 상기 제 2 데이터와 상기 드리프트 방지 코드 전체에 대하여 상기 패리티 정보를 부가하는 반도체 장치.
  7. 제 1 데이터를 인코딩한 드리프트 방지 코드, 이에 대한 패리티 정보 및 드리프트 노이즈가 포함된 입력 데이터를 디코딩하는 장치로서,
    상기 입력 데이터에서 상기 드리프트 방지 코드를 복원하고 상기 복원 정보를 참조하여 상기 패리티 정보를 복원하는 제 1 디코딩부;
    복원된 패리티 정보와 복원된 드리프트 방지 코드로부터 에러가 정정된 드리프트 방지 코드를 출력하는 제 2 디코딩부 및
    상기 에러가 정정된 드리프트 방지 코드를 디코딩하여 상기 제 1 데이터를 출력하는 제 3 디코딩부
    를 포함하는 반도체 장치.
  8. 청구항 7에 있어서, 상기 드리프트 방지 코드는 서로 다른 M(M은 자연수)개의 심볼이 각각 N(N은 자연수) 개씩 포함되는 코드인 반도체 장치.
  9. 청구항 8에 있어서, 상기 심볼에 대응하는 이진 데이터는 그레이코드인 반도체 장치.
  10. 청구항 7에 있어서, 상기 패리티 정보는 상기 드리프트 방지 코드를 비트 단위로 분석하여 얻어진 것인 반도체 장치.
  11. 청구항 8에 있어서, 상기 패리티 정보는 상기 드리프트 방지 코드를 심볼 단위로 분석하여 얻어진 것인 반도체 장치.
  12. 청구항 7에 있어서, 상기 입력 데이터는 드리프트 방지 코드로 인코딩되지 않은 제 2 데이터와 이에 대한 드리프트 노이즈를 더 포함하는 반도체 장치.
  13. 청구항 12에 있어서, 상기 제 1 디코딩부는 상기 복원 정보를 참조하여 상기 제 2 데이터를 더 복원하고, 상기 제 2 디코딩부는 상기 패리티 정보를 참조하여 에러가 제거된 상기 드리프트 방지 코드와 에러가 제거된 상기 제 2 데이터를 출력하는 반도체 장치.
  14. 호스트로부터 제공된 데이터를 드리프트 방지 코드로 인코딩하고 이에 대하여 패리티 정보를 부가하여 출력하는 인코더 및
    반도체 메모리 장치로부터 출력된 정보로부터 상기 드리프트 방지 코드와 상기 패리티 정보를 복원하고 상기 복원된 패리티 정보를 이용하여 에러가 정정된 상기 드리프트 코드를 생성한 후 상기 드리프트 코드를 디코딩하여 출력하는 디코더
    를 포함하는 반도체 장치.
  15. 청구항 14에 있어서, 상기 드리프트 방지 코드는 M개의 서로 다른 심볼이 각각 Nk(M, k, Nk는 자연수, 1≤k≤M)개씩 포함되는 반도체 장치.
  16. 청구항 15에 있어서, 상기 심볼에 대응하는 이진 데이터는 그레이코드인 반도체 장치.
  17. 청구항 14에 있어서, 상기 인코더는
    제 1 데이터를 드리프트 방지 코드로 인코딩하는 제 1 인코딩부 및
    상기 드리프트 방지 코드에 패리티 정보를 부가하는 제 2 인코딩부
    를 포함하는 반도체 장치.
  18. 청구항 17에 있어서, 상기 디코더는
    상기 출력된 정보에서 상기 드리프트 방지 코드를 복원하고 상기 복원 정보를 참조하여 상기 패리티 정보를 복원하는 제 1 디코딩부;
    복원된 패리티 정보와 복원된 드리프트 방지 코드로부터 에러가 정정된 드리프트 방지 코드를 출력하는 제 2 디코딩부 및
    상기 에러가 정정된 드리프트 방지 코드를 디코딩하여 상기 제 1 데이터를 출력하는 제 3 디코딩부
    를 포함하는 반도체 장치.
  19. 청구항 17에 있어서, 상기 제 2 인코딩부는 드리프트 방지코드로 인코딩되지 않은 제 2 데이터와 상기 드리프트 방지 코드에 상기 패리티 정보를 부가하고,
    상기 제 1 디코딩부는 상기 복원 정보를 참조하여 상기 제 2 데이터를 더 복원하고, 상기 제 2 디코딩부는 상기 패리티 정보로부터 에러가 정정된 상기 제 2 데이터를 더 출력하는 반도체 장치.
  20. 메모리 셀 어레이;
    메모리 제어 장치로부터 제공된 데이터를 드리프트 방지 코드로 인코딩하고 이에 대하여 패리티 정보를 부가하여 상기 메모리 셀 어레이에 제공하는 인코더 및
    상기 메모리 셀 어레이에서 출력된 정보로부터 상기 드리프트 방지 코드와 상기 패리티 정보를 복원하고 상기 복원된 패리티 정보를 이용하여 에러가 정정된 상기 드리프트 코드를 생성한 후 상기 드리프트 코드를 디코딩하여 출력하는 디코더
    를 포함하는 반도체 장치.
  21. 청구항 20에 있어서, 상기 드리프트 방지 코드는 M개의 서로 다른 심볼이 각각 Nk(M, k, Nk는 자연수, 1≤k≤M)개씩 포함되는 반도체 장치.
  22. 청구항 21에 있어서, 상기 심볼에 대응하는 이진 데이터는 그레이코드인 반도체 장치.
  23. 청구항 20에 있어서, 상기 인코더는
    제 1 데이터를 드리프트 방지 코드로 인코딩하는 제 1 인코딩부 및
    상기 드리프트 방지 코드에 패리티 정보를 부가하는 제 2 인코딩부
    를 포함하는 반도체 장치.
  24. 청구항 23에 있어서, 상기 디코더는
    상기 출력된 정보에서 상기 드리프트 방지 코드를 복원하고 상기 복원 정보를 참조하여 상기 패리티 정보를 복원하는 제 1 디코딩부;
    복원된 패리티 정보와 복원된 드리프트 방지 코드로부터 에러가 정정된 드리프트 방지 코드를 출력하는 제 2 디코딩부 및
    상기 에러가 정정된 드리프트 방지 코드를 디코딩하여 상기 제 1 데이터를 출력하는 제 3 디코딩부
    를 포함하는 반도체 장치.
  25. 청구항 24에 있어서, 상기 제 2 인코딩부는 드리프트 방지코드로 인코딩되지 않은 제 2 데이터와 상기 드리프트 방지 코드에 상기 패리티 정보를 부가하고,
    상기 제 1 디코딩부는 상기 복원 정보를 참조하여 상기 제 2 데이터를 더 복원하고, 상기 제 2 디코딩부는 상기 패리티 정보로부터 에러가 정정된 상기 제 2 데이터를 더 출력하는 반도체 장치.
KR1020130043886A 2013-04-22 2013-04-22 인코더, 디코더 및 이를 포함하는 반도체 장치 KR102007163B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130043886A KR102007163B1 (ko) 2013-04-22 2013-04-22 인코더, 디코더 및 이를 포함하는 반도체 장치
CN201410128445.8A CN104112479B (zh) 2013-04-22 2014-04-01 编码器、译码器和包括其的半导体器件
US14/254,060 US9350390B2 (en) 2013-04-22 2014-04-16 Encoder, decoder and semiconductor device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130043886A KR102007163B1 (ko) 2013-04-22 2013-04-22 인코더, 디코더 및 이를 포함하는 반도체 장치

Publications (2)

Publication Number Publication Date
KR20140125987A true KR20140125987A (ko) 2014-10-30
KR102007163B1 KR102007163B1 (ko) 2019-10-01

Family

ID=51709234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130043886A KR102007163B1 (ko) 2013-04-22 2013-04-22 인코더, 디코더 및 이를 포함하는 반도체 장치

Country Status (3)

Country Link
US (1) US9350390B2 (ko)
KR (1) KR102007163B1 (ko)
CN (1) CN104112479B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200099905A (ko) * 2019-02-15 2020-08-25 성균관대학교산학협력단 멀티 레벨 셀의 데이터 입출력 장치와 그의 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079613B2 (en) * 2016-11-18 2018-09-18 SK Hynix Inc. Data mapping scheme for generalized product codes
FR3065826B1 (fr) * 2017-04-28 2024-03-15 Patrick Pirim Procede et dispositif associe automatises aptes a memoriser, rappeler et, de maniere non volatile des associations de messages versus labels et vice versa, avec un maximum de vraisemblance

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8228728B1 (en) * 2009-09-14 2012-07-24 Marvell International Ltd. Programming method for multi-level cell flash for minimizing inter-cell interference
US20130024748A1 (en) * 2011-07-22 2013-01-24 Sandisk Technologies Inc. Systems and methods of storing data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4056488B2 (ja) * 2004-03-30 2008-03-05 エルピーダメモリ株式会社 半導体装置の試験方法及び製造方法
US7984360B2 (en) 2006-12-31 2011-07-19 Ramot At Tel Aviv University Ltd. Avoiding errors in a flash memory by using substitution transformations
WO2009067624A1 (en) 2007-11-20 2009-05-28 California Institute Of Technology Error correcting codes for rank modulation
JP5770026B2 (ja) * 2011-06-20 2015-08-26 ルネサスエレクトロニクス株式会社 半導体装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8228728B1 (en) * 2009-09-14 2012-07-24 Marvell International Ltd. Programming method for multi-level cell flash for minimizing inter-cell interference
US20130024748A1 (en) * 2011-07-22 2013-01-24 Sandisk Technologies Inc. Systems and methods of storing data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200099905A (ko) * 2019-02-15 2020-08-25 성균관대학교산학협력단 멀티 레벨 셀의 데이터 입출력 장치와 그의 방법

Also Published As

Publication number Publication date
KR102007163B1 (ko) 2019-10-01
US9350390B2 (en) 2016-05-24
CN104112479A (zh) 2014-10-22
CN104112479B (zh) 2018-11-02
US20140317468A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
US8996955B2 (en) Techniques for storing data in stuck and unstable memory cells
KR20140032945A (ko) 불완전한 오류 특성을 갖는 채널 및 메모리를 위한 오류 감지 및 정정 코드
KR101550762B1 (ko) 연접 오류 정정 장치
CN102741819A (zh) 用于解码码字的方法、设备和计算机程序
US10574272B2 (en) Memory system
US20150222291A1 (en) Memory controller, storage device and memory control method
US10326473B2 (en) Symbol-based coding for NAND flash devices
US20190305890A1 (en) Dynamic interleaver change for bit line failures in nand flash storage
KR102007163B1 (ko) 인코더, 디코더 및 이를 포함하는 반도체 장치
KR20160075001A (ko) 플래시 메모리 시스템 동작 방법
US10970166B2 (en) Memory system and method of controlling non-volatile memory
US11150813B2 (en) Memory system
JP2011141914A (ja) Nand型フラッシュメモリの入出力制御方法及び装置
US20170161141A1 (en) Method and apparatus for correcting data in multiple ecc blocks of raid memory
KR101543081B1 (ko) 고착 고장을 갖는 메모리 셀을 수용하기 위한 리던던트 비트의 인코딩 및 디코딩
US11042440B2 (en) Data checksums without storage overhead
US10951238B1 (en) Memory system and method for controlling non-volatile memory
CN112133362B (zh) 存储器存储装置及其存储器测试方法
US20210328597A1 (en) Recovering from hard decoding errors by remapping log likelihood ratio values read from nand memory cells
KR101496052B1 (ko) 블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로
JP2021141369A (ja) メモリシステム
US10673465B2 (en) Memory controller, memory system, and control method
KR101172672B1 (ko) 부호길이 동기화가 적용된 메모리 장치 및 이의 부호길이 동기화 방법
KR101670615B1 (ko) 블록 데이터 어레이를 이용한 오류 정정 장치 및 방법
KR101428849B1 (ko) 간섭 채널 환경에서의 저밀도 패리티 검사를 이용한 오류 정정 방법 및 회로, 이를 이용한 플래시 메모리 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant