KR100785925B1 - Tcm을 이용한 멀티 레벨 셀 메모리 장치 - Google Patents

Tcm을 이용한 멀티 레벨 셀 메모리 장치 Download PDF

Info

Publication number
KR100785925B1
KR100785925B1 KR1020060123340A KR20060123340A KR100785925B1 KR 100785925 B1 KR100785925 B1 KR 100785925B1 KR 1020060123340 A KR1020060123340 A KR 1020060123340A KR 20060123340 A KR20060123340 A KR 20060123340A KR 100785925 B1 KR100785925 B1 KR 100785925B1
Authority
KR
South Korea
Prior art keywords
bit string
memory cell
mlc
cell
tcm
Prior art date
Application number
KR1020060123340A
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 KR1020060123340A priority Critical patent/KR100785925B1/ko
Priority to US11/802,334 priority patent/US8020081B2/en
Application granted granted Critical
Publication of KR100785925B1 publication Critical patent/KR100785925B1/ko

Links

Images

Classifications

    • 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
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Abstract

본 발명은 멀티 레벨 셀 메모리에 있어서, 하나의 셀에 더 많은 비트를 저장할 수 있도록 하기 위한 에러 검출 및 정정 방법을 개시한다. 본 발명은 상기 데이터를 제1 인코딩 방법으로 인코딩하여 외부 인코딩된 비트열을 생성하는 외부 인코더 및 상기 외부 인코딩된 비트열을 TCM 변조하여 생성된 프로그램 펄스를 상기 MLC 메모리 셀에 인가하여 상기 MLC 메모리 셀에 상기 데이터를 기록하는 TCM 변조부를 포함하는 MLC 메모리 장치를 개시한다.
멀티 레벨 셀(multi level cell) 메모리, TCM(Trellis coded modulation), 외부 코드

Description

TCM을 이용한 멀티 레벨 셀 메모리 장치{Multi-level Cell Memory Device Using TCM}
도 1은 종래기술에 따른 싱글 레벨 셀 메모리의 셀 문턱 전압을 도시한 도면이다.
도 2는 본 발명의 일례에 따른 멀티 레벨 셀 메모리 장치를 도시한 블록도이다.
도 3은 본 발명의 일례에 따른 TCM 변조부를 도시한 블록도이다.
도 4는 본 발명의 일례에 따른 MLC 메모리 셀 어레이를 도시한 도면이다.
도 5 및 도 6은 본 발명의 일례에 따른 TCM 변조부의 동작을 설명하기 위한 도면이다.
도 7은 본 발명의 일례에 따라 연결정을 수행하는 내부 디코더의 동작을 설명하기 위한 도면이다.
본 발명은 반도체 메모리 장치에 관한 것으로, 보다 상세하게는 멀티 레벨 메모리 장치 및 상기 멀티 레벨 메모리 장치에 기록 및 판독하는 방법에 관한 것이 다.
싱글 레벨 셀(SLC: single-level cell) 메모리는 하나의 메모리 셀에 1비트의 데이터를 저장하는 메모리이다. 싱글 레벨 셀 메모리는 싱글 비트 셀(SBC: single-bit cell) 메모리로도 불린다. 도 1은 종래기술에 따른 싱글 레벨 셀 메모리의 셀 문턱 전압을 도시한 도면이다. 도 1에 도시된 바와 같이 싱글 레벨 셀 메모리에서는 1비트의 데이터는 메모리 셀에 프로그램된 문턱 전압(threshold voltage)에 의하여 구분되는 2개의 산포(distribution)에 포함되는 전압으로 저장되고, 판독된다. 예를 들어, 메모리 셀로부터 판독된 전압이 0.5-1.5 볼트인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "1"이고, 메모리 셀로부터 판독된 전압이 2.5-3.5 볼트인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "0"으로 해석된다. 메모리 셀에 저장된 데이터는 판독 동작 시 셀 전류/전압의 차이에 의하여 구분된다.
한편 메모리의 고집적화 요구에 응답하여 하나의 메모리 셀에 2비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(MLC: multi-level cell) 메모리가 제안되었다. 멀티 레벨 셀 메모리는 멀티 비트 셀(MBC: multi-bit cell) 메모리로도 불린다. 그러나, 하나의 메모리 셀에 저장하는 비트의 수가 증가할수록 신뢰성은 떨어지고, 판독 실패율(read failure rate)은 증가하게 된다. 하나의 메모리 셀에 m개의 비트를 저장하려면, 2m개의 산포(distribution)를 형성하여야 한다. 그러나, 전압 윈도우(voltage window)는 제한되어 있기 때문에, m이 증가함에 따라 인접한 비 트들 간의 문턱 전압(threshold)의 차이는 줄어들게 되고, 이에 따라 판독 실패율이 증가한다. 이러한 이유로 종래기술에 따르면, 멀티 레벨 셀(MLC: multi-level cell) 메모리를 이용한 저장 밀도의 향상이 용이하지 않았다.
따라서, 본 발명은 멀티 레벨 셀 메모리에 새로운 에러 정정 방법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 하나의 메모리 셀에 저장하는 비트의 수를 안정적으로 증가시키는 것을 목적으로 한다.
또한, 본 발명은 멀티 레벨 셀 메모리에 데이터를 기록할 때 부호화 및 신호 매핑을 결합한 모듈을 사용함으로써, 멀티 레벨 셀 메모리의 기록 시 비트 에러율(BER: bit error rate)을 줄이는 것을 목적으로 한다.
또한, 본 발명은 멀티 레벨 셀 메모리에 있어서, 하나의 메모리 셀에 2비트 이상을 저장할 수 있는 고 저장밀도의 멀티 레벨 셀 메모리를 제공하는 것을 목적으로 한다.
또한, 본 발명은 멀티 레벨 셀 메모리에 있어서 랜덤 에러 및 버스트 에러 모두에 강한 에러 정정 방법을 제공하는 것을 목적으로 한다.
상기와 같은 본 발명의 목적을 달성하기 위하여, MLC 메모리 셀, 상기 데이터를 제1 인코딩 방법으로 인코딩하여 외부 인코딩된 비트열(outer encoded bit stream)을 생성하는 외부 인코더(outer encoder), 및 상기 외부 인코딩된 비트열을 TCM 변조하여 생성된 프로그램 펄스(program pulse)를 상기 MLC 메모리 셀에 인 가(apply)하여 상기 MLC 메모리 셀에 상기 데이터를 기록하는 TCM 변조부(TCM modulator)를 포함하는 멀티 레벨 셀 메모리 장치가 제공된다. 상기 MLC 메모리 셀은 m 비트 MLC 메모리 셀이고, 상기 프로그램 펄스는 상기 m 비트의 조합으로 생성 가능한 2m 개의 비트열에 대응하는 2m개의 레벨 중 하나이다. 상기 MLC 메모리 셀은 MLC 플래시 메모리의 메모리 셀일 수 있다.
본 발명의 일측에 따르면, 상기 제1 인코딩 방법은 선형 블록 인코딩(linear block encoding)이다. 또한, 상기 TCM 변조부는 상기 외부 인코딩된 비트열의 부호화(encoding) 및 부호화된 외부 인코딩된 비트열의 신호 매핑이 결합되어 구성된다.
본 발명의 또 다른 일측에 따르면, 상기 멀티 레벨 셀 메모리 장치는, 판독 신호(read signal)의 인가에 응답하여 상기 MLC 메모리 셀로부터 출력된 출력 펄스(output pulse)로부터 내부 디코딩된 비트열(inner decoded bit stream)을 생성하는 내부 디코더(inner decoder), 및 상기 내부 디코딩된 비트열을 제1 디코딩 방법으로 디코딩하여 외부 디코딩된 비트열(outer decoded bit stream)을 생성하는 외부 디코더(outer decoder)를 더 포함한다. 상기 내부 디코더는 상기 출력 펄스를 디매핑하여 디매핑된 비트열을 생성하고, 상기 디매핑된 비트열을 비터비 디코딩(Viterbi decoding)하여 상기 내부 디코딩된 비트열을 생성한다. 상기 내부 디코더는 상기 디매핑된 비트열에서 검출된(detected) 오류를 정정하여 상기 내부 디코딩된 비트열을 생성하고, 상기 외부 디코더는 상기 내부 디코딩된 비트열에서 검 출된 오류를 정정하여 상기 외부 디코딩된 비트열을 생성한다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 일례에 따른 멀티 레벨 셀 메모리 장치를 도시한 블록도이다.
본 발명에 따른 멀티 레벨 셀 메모리 장치는 외부 인코더(210), TCM 변조부(220), MLC 메모리 셀 어레이(240), 내부 디코더(260) 및 외부 디코더(270)를 포함한다.
도 2에 도시된 바와 같이, 본 발명은 MLC 메모리 장치에 데이터를 저장하고, 판독하기 위하여 외부 부호화(outer coding) 및 내부 부호화(inner coding)의 2 단계를 연결 접속한 연접 부호화(concatenated coding)를 사용한다. 외부 부호화에는 블록 부호화(block coding)를 사용하고, 내부 부호화에는 TCM(Trellis coded modulation)을 사용한다. 블록 부호화는 데이터를 일정한 블록 단위로 부호화(encoding) 및 복호화(decoding)하는 방법이다. TCM은 트렐리스 코드(Trellis code)를 이용하고, 부호화(encoding) 및 신호 매핑(signal mapping)을 결합(combine)한 방법이다. TCM은 부호화되는 신호열(signal sequence)들의 최소 유클리드 거리(Euclidean distance)를 최대화시키기 위하여 부호화(encoding)와 신호 매핑(signal mapping)을 결합하여 설계된다. 블록 부호화는 군집 오류(burst error)의 검출 및 정정에 강하고, TCM은 랜덤 오류(random error)의 검출 및 정정에 강하다. 따라서, 본 발명에서 MLC 메모리 장치에 데이터를 기록할 때, 외부 부호화로 블록 부호화를 사용하고, 내부 부호화로 TCM을 사용함으로써, 본 발명은 군집 오류 및 랜덤 오류 모두에 강한 높은 성능의 오류 정정 성능을 갖게 된다.
외부 인코더(outer encoder)(210)는 멀티 레벨 셀(multi level cell) 메모리 장치에 저장할 소스 데이터를 수신하여, 상기 소스 데이터를 제1 인코딩 방법으로 인코딩하여 외부 인코딩된 비트열(outer encoded bit stream)(215)을 생성한다. 상기 제1 인코딩 방법으로는 선형 블록 인코딩(linear block encoding)이 사용될 수 있다.
선형 블록 인코딩에는 Hamming 코딩, BCH 코딩, Reed-Solomon(RS) 코딩, Golay 코딩 등의 방법이 있다. 선형 블록 인코딩은 먼저 소스 데이터를 k 비트 단위로 블록화한다. 즉, 소스 데이터를 k 비트 단위로 분할한다. 외부 인코더(outer encoder)(210)는 이렇게 블록화된 k 비트의 비트열(205)에 r1 비트의 오버헤드를 부가하여 k+r1 비트의 외부 인코딩된 비트열(215)을 생성한다. 따라서, 외부 인코더(210)의 부호화율(code rate)은 k/(k+r1)이 된다. 상기 추가된 r1 비트는 패러티 비트(parity bit)로 k 비트의 비트열(205)에 부가될 수 있다. 이 경우, MLC 메모리로부터 데이터를 판독할 때, 내부 디코더(260)는 상기 r1 비트를 참조하여 k 비트의 데이터에 대한 오류 검출 및 정정을 수행한다.
TCM 변조부(TCM modulator)(220)는 외부 인코딩된 비트열(215)을 TCM 변조하여 생성된 프로그램 펄스(program pulse)(225)를 MLC 메모리 셀(240)에 인 가(apply)하여 MLC 메모리 셀(240)에 데이터를 기록한다. TCM 변조부(220)는 TCM 매퍼(TCM mapper)로도 불린다. TCM 변조부(220)는 부호화(encoding) 및 신호 매핑(signal mapping)을 결합(combine)하여 수행한다. 부호화는 트렐리스 코드(Trellis code)를 이용하고, 신호 매핑(signal mapping)은 운거보엑(Ungerboeck)에 의하여 제안된 셋 파티셔닝(set partitioning)을 사용한다.
TCM 변조부(220)는 k+r1 비트의 외부 인코딩된 비트열(215)을 부호화하여 k+r1+r2 비트의 내부 인코딩된 비트열을 생성한다. 따라서, TCM 매퍼(220)에 의하여 추가되는 오버헤드는 r2 비트이고, TCM 매퍼(220)의 부호화율(code rate)은 (k+r1)/(k+r1+r2)가 된다. k+r1+r2를 n으로 하면, 외부 인코더(210) 및 TCM 매퍼(220) 전체를 통한 부호화율은 k/n이 된다. TCM은 랜덤 오류(random error)의 검출 및 정정에 강하다.
상기 내부 인코딩된 비트열은 TCM 매퍼(220)에 의하여 MLC 메모리 셀(230)에 저장되게 된다. 따라서, 내부 인코딩된 비트열은 MLC 메모리 셀(230)에 저장되는 최종 디지털 데이터이다. 내부 인코딩된 비트열은 n 비트로 구성되는데, 그 중 일부인 k 비트가 k 비트의 비트열(205)의 값을 그대로 유지하고 있는 경우, 내부 인코딩된 비트열은 시스템적 코드(systematic code)로 불린다. 만일, n 비트의 내부 인코딩된 비트열 중 어느 일부도 k 비트의 비트열(205)의 값을 그대로 유지하고 있지 않은 경우, 내부 인코딩된 비트열은 비시스템적 코드(nonsystematic code)로 불린다. 본 발명은 내부 인코딩된 비트열을 시스템적 코드(systematic code) 또는 비시스템적 코드(nonsystematic code)로 생성할 수 있다. 본 발명에서 내부 인코 딩된 비트열을 시스템적 코드(systematic code)로 생성하는 경우, MLC 메모리 셀(230)에 저장되는 데이터도 원래의 k 비트의 비트열(205)의 값을 그대로 유지한 채 저장되게 되는 장점이 있다.
TCM 변조부(220)는 부호화(encoding)와 함께 신호 매핑을 수행한다. TCM 변조부(220)는 상기 내부 인코딩된 비트열에 따른 프로그램 펄스(program pulse)(225)를 MLC 메모리 셀(230)에 인가(apply)하여 MLC 메모리 셀(230)에 데이터를 기록한다. MLC 메모리 셀(230)이 m 비트 MLC 메모리 셀이면, 프로그램 펄스(225)는 상기 m 비트의 조합으로 생성 가능한 2m 개의 비트열에 대응하는 2m개의 레벨 중 하나가 된다. 상기 프로그램 펄스는 PAM(Pulse Amplitude Modulation)에 의하여 생성될 수 있다.
MLC 메모리 셀 어레이(230)는 복수 개의 MLC 메모리 셀(240) 및 감지 증폭기(sense amplifier)(250)를 포함한다. 감지 증폭기(250)는 MLC 메모리 셀(240)에 저장된 데이터에 관한 신호를 수신하여, 이를 감지 증폭한다. 상기 MLC 메모리 셀(240)은 MLC 플래시 메모리의 메모리 셀일 수 있다.
내부 디코더(inner decoder)(260)는 판독 신호(read signal)의 인가에 응답하여 MLC 메모리 셀(240)로부터 출력된 출력 펄스(output pulse)(255)로부터 내부 디코딩된 비트열(inner decoded bit stream)(265)을 생성한다. 즉, 내부 디코더(260)는 TCM 변조부(220)에 대응하여 신호 디매핑(signal demapping) 및 복호화(decoding)를 수행한다. 내부 디코더(260)는 상기 신호 디매핑 및 복호화를 결 합하여 구성될 수도 있고, 신호 디매핑을 수행하는 모듈과 복호화를 수행하는 모듈을 분리하여 구성할 수도 있다.
내부 디코더(inner decoder)(260)는 판독 신호(read signal)의 인가에 응답하여 MLC 메모리 셀(240)로부터 출력된 출력 펄스(output pulse)(255)로부터 디매핑된 비트열(demapped bit stream)을 생성한다. 또한, 내부 디코더(260)는 상기 디매핑된 비트열을 비터비 디코딩(Viterbi decoding)하여 상기 내부 디코딩된 비트열을 생성한다. MLC 메모리 셀(240)이 m 비트 MLC 메모리 셀인 경우, 내부 디코더(260)는 2m개의 산포(distribution)의 문턱 전압(threshold voltage)과 출력 펄스(255)를 비교하여 출력 펄스(255)에 대응한 디매핑된 비트열을 생성한다.
내부 디코더(260)는 출력 펄스(255)로부터 경결정(hard decision) 또는 연결정(soft decision)하여 디매핑된 비트열을 생성할 수 있다. 경결정은 내부 디코더(260)가 출력 펄스(255)로부터 디매핑된 비트열의 비트의 각각의 값을 "0"인지 "1"인지를 명확하게 결정하는 방법이다. 연결정은 내부 디코더(260)가 출력 펄스(255)로부터 디매핑된 비트열의 비트의 각각의 값을 "0"인지 "1"인지를 명확하게 결정하지 않고, "확실한 0", "0인데 확실하지 않음" 등과 같은 형태로 결정하는 방법이다. 따라서, 내부 디코더(260)가 연결정을 하는 경우, 외부 디코더(270) 등에서 내부 디코더(260)로부터 수신한 정보를 참조하여 각 비트의 값을 결정하게 된다. 또 다른 실시예에 따르면, 내부 디코더(260)의 내에서 신호 디매핑을 수행하는 모듈이 연결정을 하고, 이에 따라 복호화를 수행하는 모듈이 비트열의 비트의 각각의 값을 명확하게 결정할 수 있다.
내부 디코더(260)가 연결정을 하는 경우, 내부 디코더(260)에 의하여 생성된 디매핑된 비트열은 통상 내부 인코딩된 비트열의 n(=k+r1+r2) 비트보다 더 많은 비트 수를 가지게 된다. 추가의 비트는 각 비트의 결정된 값의 정확도에 관한 정보를 포함한다.
내부 디코더(inner decoder)(260)는 디매핑된 비트열을 TCM 변조부(220)에 대응하는 디코딩 방법으로 디코딩하여 내부 디코딩된 비트열(inner decoded bit stream)(265)을 생성한다. 상기 디코딩 방법으로는 비터비 디코딩(Viterbi decoding)이 사용될 수 있다. 내부 디코더(260)는 k+r1+r2 비트의 디매핑된 비트열을 디코딩하여 k+r1 비트의 내부 디코딩된 비트열(265)을 생성한다. 내부 디코더는 비터비 디코딩 방법을 이용하여 디매핑된 비트열에 포함된 오류를 검출하고, 검출된 오류를 정정한다.
외부 디코더(outer decoder)(270)는 내부 디코딩된 비트열(285)을 제1 디코딩 방법으로 디코딩하여 외부 디코딩된 비트열(outer decoded bit stream)(275)을 생성한다. 외부 디코더(270)는 제1 디코딩 방법을 이용하여 내부 디코딩된 비트열(265)에 포함된 오류를 검출하고, 검출된 오류를 정정한다. 제1 디코딩 방법은 제1 인코딩 방법에 대응하는 디코딩 방법이 사용된다. 제1 인코딩 방법으로 Hamming 코딩, BCH 코딩, Reed-Solomon(RS) 코딩, Golay 코딩 등의 선형 블록 인코딩이 사용된 경우, 제1 디코딩 방법도 이에 대응한 선형 블록 디코딩이 사용된다. 예를 들어, 제1 인코딩 방법으로 RS 코딩에 따른 인코딩을 사용한 경우, 제1 디코 딩 방법도 RS 코딩에 따른 디코딩을 사용한다. 선형 블록 코딩을 사용하는 경우, 외부 디코더(270)는 군집 오류(burst error)의 검출 및 정정에 유리하다.
이와 같이, 내부 디코더(260)는 디매핑된 비트열에서 검출된(detected) 오류를 정정하여 내부 디코딩된 비트열(265)을 생성하고, 외부 디코더(270)는 내부 디코딩된 비트열(265)에서 검출된 오류를 정정하여 외부 디코딩된 비트열(275)을 생성하는 2단계의 에러 검출 및 정정을 수행한다. 따라서, 본 발명에 따르면, MLC 메모리의 판독 시 독출된 신호를 보다 정확하게 판독할 수 있게 되어, 고밀도의 MLC 메모리를 구현할 수 있게 된다.
디코딩 방법에 따라 오류의 검출 및 오류의 정정 능력에 차이가 있는 경우가 있다. 예를 들어, 오류의 검출은 4 비트까지 가능하지만, 오류의 정정은 3비트까지만 가능한 경우이다. 이 경우, 오류가 4비트 발생한 경우, 외부 디코더(270)는 오류가 발생한 것은 검출할 수 있지만, 오류의 정정은 불가능하다. 이 경우, 외부 디코더(270)는 외부 디코딩된 비트열(outer decoded bit stream)(275)을 수신할 객체(예를 들어, 운영 체제, 메모리 관리 프로그램 등)에게 오류로 검출되었으나 정정되지 않은 오류에 대하여 보고할 수 있다. 그러면, 상기 객체는 이 보고에 기초하여 추가적인 동작을 수행함으로써, 메모리 사용을 보다 효율적으로 할 수 있게 된다.
도 3은 본 발명의 일례에 따른 TCM 변조부를 도시한 블록도이다.
도 3의 TCM 변조부(300)는 16 PAM 매퍼(16 Pulse Amplitude Modulation mapper)(320), 2개의 D 플립플롭(D flipflop)(311, 312), 및 하나의 익스클루시브 OR 연산 모듈(exclusive OR operation module)(313)을 포함한다.
도 3은 외부 인코딩된 비트열(301, 302, 303)이 3비트이고, MLC 메모리 셀이 4비트 MLC 메모리 셀인 경우를 위한 TCM 변조부의 일례를 도시한 것이다. 예를 들어, 외부 인코더(210)는 2비트의 입력 비트열에 1비트의 패러티 비트(parity bit)를 추가하여 3비트의 외부 인코딩된 비트열(301, 302, 303)을 생성할 수 있다. TCM 변조부(300)는 상기 3비트의 외부 인코딩된 비트열(301, 302, 303) 중 하나의 비트(303)의 이전 값을 이용하여 추가의 비트(304)를 생성한다. 즉, 비트(303)의 값과 D 플립플롭(311)의 값을 익스클루시브 OR 연산 모듈(313)에서 익스클루시브 OR 연산을 하여 추가의 비트(304)를 생성한다. 또한, 상기 생성된 추가의 비트(304)의 값은 D 플립플롭(312)에 저장되었다가, 그 다음 클록(clock)에서 D 플립플롭(311)으로 시프트되어 그 다음 추가 비트의 생성에 관여하게 된다.
따라서, 도 3의 TCM 변조부(300)에 의하여 생성되는 내부 인코딩된 비트열은 4비트이고, 상기 4비트가 16 PAM 매퍼(320)에 의하여 신호 매핑된다. 즉, 4 비트 MLC 메모리 셀은 하나의 셀에 4비트까지 저장하여야 하고, 따라서, TCM 변조부(300)는 상기 4비트의 조합으로 생성 가능한 16개의 비트열에 대응하는 16개의 산포 중 하나에 속하는 프로그램 펄스를 생성하여 MLC 메모리 셀(240)에 인가한다. 도 6을 참조하면, 내부 인코딩된 비트열이 "1000"인 경우, TCM 변조부(300)는 MLC 메모리 셀(240)의 문턱 전압을 증가시키면서, MLC 메모리 셀(240)로부터 검출되는 전압 레벨이 1.125 볼트 내지 1.625 볼트가 될 때까지 프로그램 펄스(330)를 MLC 메모리 셀(240)에 인가한다.
도 4는 본 발명의 MLC 메모리 셀 어레이의 일례인 플래시 메모리의 메모리 셀 어레이를 도시한 도면이다. 도 4에서 B/L0 내지 B/L511은 비트 라인들을 나타내고, W/L0 내지 W/L1023은 워드라인들을 나타낸다. S/L은 소스 라인을 나타내고, MC는 메모리 셀들을 나타낸다. 도 4에 도시된 메모리 셀 어레이의 메모리 셀은 하나의 메모리 셀에 2비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(MLC: multi-level cell) 메모리 셀이다.
도 5 및 도 6은 본 발명의 일례에 따른 TCM 변조부의 동작을 설명하기 위한 도면이다. 도 5는 하나의 메모리 셀이 2비트의 데이터를 저장하기 위한 신호 매핑을 설명하기 위한 도면이고, 도 6은 하나의 메모리 셀에 4 비트의 데이터를 저장하기 위한 신호 매핑을 설명하기 위한 도면이다.
도 5를 참조하면, 내부 디코더(260)는 MLC 메모리 셀(240)로부터 얻어진 전압이 0.5-1.0볼트이면 논리 "11", MLC 메모리 셀(240)로부터 얻어진 전압이 1.5-2.0볼트이면 논리 "10", MLC 메모리 셀(240)로부터 얻어진 전압이 2.5-3.0볼트이면 논리 "01", MLC 메모리 셀(240)로부터 얻어진 전압이 3.5-4.0볼트이면 논리 "00"로 판단한다. MLC 메모리 셀(240)에 저장된 데이터는 독출(read) 동작 시 셀 전류 또는 셀 전압의 차이에 의하여 구분된다.
마찬가지로, TCM 변조부(220)는 내부 인코딩된 비트열의 비트가 논리 "11"이면 MLC 메모리 셀(240)이 저장하는 전압 레벨이 0.5-1.0볼트가 되도록 프로그램 펄스를 MLC 메모리 셀(240)에 인가(apply)한다. 이때, 프로그램 펄스는 PAM(pulse amplitude modulation)에 의하여 생성한다. TCM 변조부(220)는 내부 인코딩된 비 트열의 비트가 논리 "10"이면 MLC 메모리 셀(240)이 저장하는 전압 레벨이 1.5-2.0볼트가 되도록 프로그램 펄스를 MLC 메모리 셀(240)에 인가(apply)한다. TCM 변조부(220)는 내부 인코딩된 비트열의 비트가 논리 "01"이면 MLC 메모리 셀(240)이 저장하는 전압 레벨이 2.5-3.0볼트가 되도록 프로그램 펄스를 MLC 메모리 셀(240)에 인가(apply)한다. TCM 변조부(220)는 내부 인코딩된 비트열의 비트가 논리 "00"이면 MLC 메모리 셀(240)이 저장하는 전압 레벨이 3.5-4.0볼트가 되도록 프로그램 펄스를 MLC 메모리 셀(240)에 인가(apply)한다.
MLC 메모리 셀(240)이 MLC 플래시 메모리 셀인 경우, 논리 "01"을 MLC 메모리 셀(240)에 기록하는 경우를 설명한다. TCM 변조부(220)는 기록할 MLC 메모리 셀(240)을 소거시킨 상태에서 워드 라인 전압을 조금씩 증가시키면서 MLC 메모리 셀(240)의 전압을 양의 방향으로 조금씩 증가시키고, 메모리 셀의 문턱 전압(threshold voltage)가 2.5-3.0 볼트에 도달하였는지 검증(verify)한다. 따라서, 논리 "01"을 MLC 메모리 셀(240)에 기록하기 위하여, MLC 메모리 셀(240)은 논리 "11" 및 논리 "10"의 상태를 순차적으로 거쳐 논리 "01"의 상태가 된다.
도 6은 하나의 메모리 셀에 4 비트의 데이터를 저장하기 위한 신호 매핑을 설명하기 위한 도면이다. 도 6에서 TCM 변조부(220)는 하나의 메모리 셀에 4 비트의 데이터를 저장한다. MLC 메모리 셀(240)이 m 비트 메모리 셀인 경우, TCM 변조부(220)는 내부 인코딩된 비트열에 따라 2m PAM(Pulse Amplitude Modulation)에 의하여 생성 가능한 2m개의 레벨 중 하나를 결정하여, 상기 결정된 레벨의 프로그램 펄스를 MLC 메모리 셀(240)에 인가한다.
도 5 및 도 6에서 알 수 있는 바와 같이, 하나의 메모리 셀에 대한 전압 윈도우는 제한되어 있다. 도 5 및 도 6의 경우 MLC 메모리 셀의 전압 윈도우가 -2.5볼트(마이너스 2.5 볼트)부터 4볼트까지이다. 이렇게 제한된 전압 윈도우 내에서 도 5은 하나의 MLC 메모리 셀에 2개의 비트를 저장하여야 하므로, 4개의 산포를 형성하여야 하고, 도 6은 하나의 MLC 메모리 셀에 4개의 비트를 저장하여야 하므로, 16개의 산포를 형성하여야 한다. 이와 같이, 하나의 메모리 셀에 m개의 비트를 저장하려면, 2m개의 산포(distribution)를 형성하여야 하는데, 전압 윈도우(voltage window)는 제한되어 있기 때문에, m이 증가함에 따라 인접한 비트들 간의 문턱 전압(threshold)의 차이는 줄어들게 된다. 따라서, MLC 메모리 셀에의 기록 및 판독 시 오류 발생 가능성이 높아지는데, 본 발명은 외부 인코딩과 TCM 변조의 2 단계를 연결 접속한 연접 부호화(concatenated coding)를 사용하여, 이러한 오류를 검출 및 정정함으로써, 하나의 메모리 셀에 4비트 이상을 저장하는 고밀도 MLC 셀 메모리 장치를 가능하게 한다.
도 7는 본 발명의 일례에 따라 연결정을 수행하는 내부 디코더의 동작을 설명하기 위한 도면이다.
내부 디코더(260)가 연결정을 수행하는 경우, 내부 디코더(260)의 신호 디매핑에 의하여 생성되는 디매핑된 비트열은 식 1에 의하여 추가로 생성된 비트열을 포함하여 생성될 수 있다.
[식 1]
Figure 112006090558131-pat00001
(1)(x)는 MLC 메모리 셀(240)로부터 출력된 출력 펄스가 도 7에 도시된 산포(distribution)에 포함하는 경우, 도 7에 도시된 값을 갖는 함수이다. 예를 들어, MLC 메모리 셀(240)로부터 출력된 출력 펄스가 1.75 볼트 이상의 값을 가지면, a(1)(x)의 값은 1.75가 된다. 만약, MLC 메모리 셀(240)로부터 출력된 출력 펄스가 0.5 볼트의 값을 가지면, a(1)(x)의 값은 0.5가 된다. x 는 출력 펄스의 전압 값이다. a(2)(x)는 MLC 메모리 셀(240)로부터 출력된 출력 펄스가 도 7에 도시된 산포(distribution)에 포함하는 경우, 도 7에 도시된 값을 갖는 함수이다. 예를 들어, MLC 메모리 셀(240)로부터 출력된 출력 펄스가 2.0 볼트 이하의 값을 가지면, a(2)(x)의 값은 2.0이 된다. 만약, MLC 메모리 셀(240)로부터 출력된 출력 펄스가 3.0 볼트의 값을 가지면, a(2)(x)의 값은 3.0이 된다.
식 1에 의한 값은 내부 디코더(260)에 의하여 결정된 비트 값의 정확도에 관한 부가 정보가 된다. 이와 같이 내부 디코더(260)가 출력 펄스(245)로부터 연결 정된 디매핑된 비트열을 생성하면, 내부 디코더(260)는 상기 부가 정보 및 자신에 의하여 얻어진 다른 정보를 이용하여 외부 인코딩된 비트열(215)을 보다 정확하게 판단하게 된다.
또한 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
예를 들어, 본 발명에서 설명된 외부 인코더(210), TCM 변조부(220), 내부 디코더(260), 및 외부 디코더(270) 중 일부가 컴퓨터 프로그램으로 구현될 수 있다. 이 경우에 상기 컴퓨터 프로그램도 본 발명에 포함된다.
이와 같이, 본 발명에 따르면, 멀티 레벨 셀 메모리에 새로운 에러 정정 방법을 적용함으로써, 하나의 메모리 셀에 저장하는 비트의 수를 안정적으로 증가시킬 수 있다. 특히, 종래에는 하나의 메모리 셀에 4비트 이상을 저장할 수 있는 고 저장밀도의 멀티 레벨 셀 메모리는 전혀 제안되지 아니하였으나, 본 발명을 이용하면, 하나의 메모리 셀에 4 비트 이상을 저장할 수 있는 멀티 레벨 셀 메모리가 가능하다.
본 발명을 적용한 멀티 레벨 셀 메모리는 추가적인 회로가 필요한 오버헤드가 있으나, 이러한 오버헤드보다 본 발명을 적용함으로써 얻어지는 메모리의 데이터 용량의 증가가 더 크다.
또한, 멀티 레벨 메모리에 적용된 종래의 에러 정정 방법은 로 에러율(raw error rate)가 높은 경우, 예를 들어, 비트 에러율(BER: bit error rate)가 0.01보다 큰 경우에는 적용이 불가능하였으나, 본 발명은 로 에러율이 높은 경우에도 적용 가능하다. 멀티 레벨 메모리에서 하나의 셀(Cell)에 저장하는 비트의 수를 증가시키면, 인접한 비트들 간의 문턱 전압(threshold)의 차이는 줄어들게 되고, 이에 따라 판독 실패율이 증가하지만, 본 발명을 적용하면, 이러한 문제가 해결된다.
또한, 본 발명은 멀티 레벨 셀 메모리에 데이터를 기록할 때 부호화 및 신호 매핑을 결합한 모듈을 사용함으로써, 멀티 레벨 셀 메모리의 기록 시 비트 에러율(BER: bit error rate)을 획기적으로 줄일 수 있다.
또한 본 발명에 따르면, 멀티 레벨 셀 메모리에서 판독된 신호에 포함된 오류가 정정됨으로써, 플래시 메모리의 신뢰성, 양산성 등이 높아진다.
또한, 본 발명에 따르면, 멀티 레벨 셀 메모리에 있어서 랜덤 에러 및 버스트 에러 모두에 강한 에러 정정 방법이 제공된다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (14)

  1. 데이터를 저장하는 멀티 레벨 셀(multi level cell) 메모리 장치에 있어서,
    MLC 메모리 셀;
    상기 데이터를 제1 인코딩 방법으로 인코딩하여 외부 인코딩된 비트열(outer encoded bit stream)을 생성하는 외부 인코더(outer encoder); 및
    상기 외부 인코딩된 비트열을 TCM 변조하여 생성된 프로그램 펄스(program pulse)를 상기 MLC 메모리 셀에 인가(apply)하여 상기 MLC 메모리 셀에 상기 데이터를 기록하는 TCM 변조부(TCM modulator)
    를 포함하는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  2. 제1항에 있어서,
    상기 제1 인코딩 방법은 선형 블록 인코딩(linear block encoding)인 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  3. 제1항에 있어서,
    상기 MLC 메모리 셀은 m 비트 MLC 메모리 셀이고, 상기 프로그램 펄스는 상기 m 비트의 조합으로 생성 가능한 2m 개의 비트열에 대응하는 2m개의 레벨 중 하나인 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  4. 제1항에 있어서,
    상기 TCM 변조부는 상기 외부 인코딩된 비트열의 부호화(encoding) 및 부호화된 외부 인코딩된 비트열의 신호 매핑이 결합되어 구성되는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  5. 제4항에 있어서,
    상기 부호화된 외부 인코딩된 비트열은 시스템적 코드(systematic code)인 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  6. 제4항에 있어서,
    상기 부호화된 외부 인코딩된 비트열은 비시스템적 코드(nonsystematic code)인 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  7. 제1항에 있어서,
    판독 신호(read signal)의 인가에 응답하여 상기 MLC 메모리 셀로부터 출력된 출력 펄스(output pulse)로부터 내부 디코딩된 비트열(inner decoded bit stream)을 생성하는 내부 디코더(inner decoder)
    를 더 포함하는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  8. 제7항에 있어서,
    상기 내부 디코더는 상기 출력 펄스를 디매핑하여 디매핑된 비트열을 생성하고, 상기 디매핑된 비트열을 비터비 디코딩(Viterbi decoding)하여 상기 내부 디코딩된 비트열을 생성하는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  9. 제7항에 있어서,
    상기 내부 디코더는 상기 출력 펄스로부터 경결정(hard decision)된 상기 디매핑된 비트열을 생성하는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  10. 제7항에 있어서,
    상기 내부 디코더는 상기 출력 펄스로부터 연결정(soft decision)된 상기 디매핑된 비트열을 생성하는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  11. 제7항에 있어서,
    상기 내부 디코딩된 비트열을 제1 디코딩 방법으로 디코딩하여 외부 디코딩된 비트열(outer decoded bit stream)을 생성하는 외부 디코더(outer decoder)
    를 더 포함하는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  12. 제11항에 있어서,
    상기 내부 디코더는 상기 디매핑된 비트열에서 검출된(detected) 오류를 정 정하여 상기 내부 디코딩된 비트열을 생성하고, 상기 외부 디코더는 상기 내부 디코딩된 비트열에서 검출된 오류를 정정하여 상기 외부 디코딩된 비트열을 생성하는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  13. 제11항에 있어서,
    상기 외부 디코더는 상기 외부 디코딩된 비트열에서 오류로 검출되었으나 정정되지 않은 오류를 보고하는 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
  14. 제1항에 있어서,
    상기 MLC 메모리 셀은 MLC 플래시 메모리의 메모리 셀인 것을 특징으로 하는 멀티 레벨 셀 메모리 장치.
KR1020060123340A 2006-12-06 2006-12-06 Tcm을 이용한 멀티 레벨 셀 메모리 장치 KR100785925B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060123340A KR100785925B1 (ko) 2006-12-06 2006-12-06 Tcm을 이용한 멀티 레벨 셀 메모리 장치
US11/802,334 US8020081B2 (en) 2006-12-06 2007-05-22 Multi-level cell memory devices using trellis coded modulation and methods of storing data in and reading data from the memory devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060123340A KR100785925B1 (ko) 2006-12-06 2006-12-06 Tcm을 이용한 멀티 레벨 셀 메모리 장치

Publications (1)

Publication Number Publication Date
KR100785925B1 true KR100785925B1 (ko) 2007-12-17

Family

ID=39147099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060123340A KR100785925B1 (ko) 2006-12-06 2006-12-06 Tcm을 이용한 멀티 레벨 셀 메모리 장치

Country Status (2)

Country Link
US (1) US8020081B2 (ko)
KR (1) KR100785925B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101234373B1 (ko) * 2011-04-28 2013-02-22 한국과학기술원 다차원 격자-rs 연접 부호의 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치를 위한 오류 정정 회로, 및 플래쉬 메모리 장치
KR101736251B1 (ko) * 2010-03-04 2017-05-17 삼성전자주식회사 메모리 시스템
KR101824227B1 (ko) 2009-08-07 2018-02-05 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
CN113488093A (zh) * 2021-07-01 2021-10-08 中国科学院上海微系统与信息技术研究所 一种实现存储器多级存储的方法及装置

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
US8499229B2 (en) 2007-11-21 2013-07-30 Micro Technology, Inc. Method and apparatus for reading data from flash memory
US8607128B2 (en) 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
WO2009072104A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
WO2009074979A2 (en) * 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
KR20090097673A (ko) * 2008-03-12 2009-09-16 삼성전자주식회사 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8533563B2 (en) 2008-03-31 2013-09-10 Qimonda Ag Memory read-out
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8370702B2 (en) * 2009-06-10 2013-02-05 Micron Technology, Inc. Error correcting codes for increased storage capacity in multilevel memory devices
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US9104610B2 (en) 2010-04-06 2015-08-11 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US9070427B2 (en) 2010-08-13 2015-06-30 Sandisk Technologies Inc. Data coding using divisions of memory cell states
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8880977B2 (en) * 2011-07-22 2014-11-04 Sandisk Technologies Inc. Systems and methods of storing data
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10872009B2 (en) * 2018-02-08 2020-12-22 Micron Technology, Inc. Mitigating a voltage condition of a memory cell in a memory sub-system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040081074A1 (en) * 2002-08-15 2004-04-29 Kabushiki Kaisha Toshiba Signal decoding methods and apparatus
US20040161048A1 (en) * 2003-02-13 2004-08-19 Broadcom Corporation Method and apparatus for performing trellis coded modulation of signals for transmission on a TDMA channel of a cable network
US7088784B2 (en) * 2003-10-02 2006-08-08 Nokia Corporation Coded modulation for partially coherent systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6522688B1 (en) * 1999-01-14 2003-02-18 Eric Morgan Dowling PCM codec and modem for 56K bi-directional transmission
US6597732B1 (en) * 1999-01-14 2003-07-22 Eric Morgan Dowling High-speed modem with uplink remote-echo canceller
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7844879B2 (en) * 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040081074A1 (en) * 2002-08-15 2004-04-29 Kabushiki Kaisha Toshiba Signal decoding methods and apparatus
US20040161048A1 (en) * 2003-02-13 2004-08-19 Broadcom Corporation Method and apparatus for performing trellis coded modulation of signals for transmission on a TDMA channel of a cable network
US7088784B2 (en) * 2003-10-02 2006-08-08 Nokia Corporation Coded modulation for partially coherent systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101824227B1 (ko) 2009-08-07 2018-02-05 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
KR101736251B1 (ko) * 2010-03-04 2017-05-17 삼성전자주식회사 메모리 시스템
KR101234373B1 (ko) * 2011-04-28 2013-02-22 한국과학기술원 다차원 격자-rs 연접 부호의 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치를 위한 오류 정정 회로, 및 플래쉬 메모리 장치
CN113488093A (zh) * 2021-07-01 2021-10-08 中国科学院上海微系统与信息技术研究所 一种实现存储器多级存储的方法及装置

Also Published As

Publication number Publication date
US8020081B2 (en) 2011-09-13
US20080137413A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
KR100785925B1 (ko) Tcm을 이용한 멀티 레벨 셀 메모리 장치
KR100822030B1 (ko) 고 부호화율 부호를 이용한 멀티 레벨 셀 메모리 장치
KR100766042B1 (ko) 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치
KR100845529B1 (ko) 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US7533328B2 (en) Method of error correction in a multi-bit-per-cell flash memory
JP3999822B2 (ja) 記憶システム
KR102059209B1 (ko) 비휘발성 메모리의 차동 벡터 저장
KR100842680B1 (ko) 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
TWI501238B (zh) 藉由調變編碼用於單元間干擾抑制的方法及裝置
US9582359B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
US8276046B2 (en) Apparatus for determining number of bits to be stored in memory cell
US7831881B2 (en) Apparatus and method for hybrid detection of memory data
US8386890B2 (en) Error correction for multilevel flash memory
US8239726B2 (en) Apparatuses and methods for encoding and decoding
Motwani Hierarchical constrained coding for floating-gate to floating-gate coupling mitigation in flash memory
KR20080052288A (ko) 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치
CN112133362A (zh) 存储器存储装置及其存储器测试方法
JP3866674B2 (ja) 記憶システム
IL196239A (en) Method of error correction in a multi-bit-per-cell flash memory

Legal Events

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

Payment date: 20121115

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131122

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141119

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151116

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161118

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171120

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181119

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191119

Year of fee payment: 13