KR101378349B1 - 메모리 장치 및 메모리 데이터 읽기 방법 - Google Patents

메모리 장치 및 메모리 데이터 읽기 방법 Download PDF

Info

Publication number
KR101378349B1
KR101378349B1 KR1020080009753A KR20080009753A KR101378349B1 KR 101378349 B1 KR101378349 B1 KR 101378349B1 KR 1020080009753 A KR1020080009753 A KR 1020080009753A KR 20080009753 A KR20080009753 A KR 20080009753A KR 101378349 B1 KR101378349 B1 KR 101378349B1
Authority
KR
South Korea
Prior art keywords
data
group
read
memory
bit
Prior art date
Application number
KR1020080009753A
Other languages
English (en)
Other versions
KR20090083759A (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 KR1020080009753A priority Critical patent/KR101378349B1/ko
Priority to US12/232,138 priority patent/US7843727B2/en
Publication of KR20090083759A publication Critical patent/KR20090083759A/ko
Application granted granted Critical
Publication of KR101378349B1 publication Critical patent/KR101378349B1/ko

Links

Images

Classifications

    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Abstract

메모리 장치 및 메모리 데이터 읽기 방법이 제공된다. 본 발명의 메모리 장치는 멀티 비트 셀 어레이, 상기 멀티 비트 셀 어레이 내의 메모리 페이지에 N개의 데이터 페이지들을 저장하는 프로그래밍부, 및 상기 N개의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할하고, 상기 제1 그룹의 데이터를 상기 메모리 페이지로부터 읽은 후 상기 읽은 제1 그룹의 데이터에 기초하여 상기 제2 그룹의 데이터를 상기 메모리 페이지로부터 읽는 기법을 결정하는 제어부를 포함하며, 이를 통해 데이터 페이지들의 read error를 줄일 수 있다.
멀티 비트 셀, 멀티 레벨 셀, 데이터 읽기

Description

메모리 장치 및 메모리 데이터 읽기 방법 {MEMORY DEVICE AND MEMORY DATA READ METHOD}
본 발명은 메모리 장치의 데이터를 읽는 방법에 관한 것으로, 보다 상세하게는 멀티 레벨 셀(Multi-level Cell, MLC) 또는 멀티 비트 셀(Multi-Bit Cell, MBC) 메모리 장치의 데이터를 읽는 장치 및 방법에 관한 것이다.
싱글 레벨 셀(SLC: single-level cell) 메모리는 하나의 메모리 셀에 1비트의 데이터를 저장하는 메모리이다. 싱글 레벨 셀 메모리는 싱글 비트 셀(SBC: single-bit cell) 메모리로도 불린다. 싱글 레벨 셀 메모리에서는 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개 중 하나이다. MLC 메모리의 메모리 셀들 각각이 가지는 미세한 전기적 특성의 차이로 인해, MLC 메모리의 메모리 셀들 각각이 m비트를 저장할 수 있다면, MLC 메모리의 메모리 셀들에 형성되는 문턱 전압 레벨들은 2m개의 산포들을 형성한다.
m이 증가함에 따라 전압 윈도우 내의 문턱 전압 레벨들의 산포들의 개수는 2m에 비례하여 증가한다. 메모리의 전압 윈도우(voltage window)는 제한되어 있기 때문에, m이 증가하여 인접한 산포들 간의 간격이 줄어들거나 겹치게 되면 메모리에 저장된 데이터의 판독 실패율이 증가한다. 이러한 이유로 종래기술에 따르면, 멀티 레벨 셀(MLC: multi-level cell) 메모리를 이용한 저장 밀도의 향상이 용이하지 않았다.
멀티 레벨 셀 메모리의 이용이 최근의 추세로 확산되고 있는 가운데, 데이터를 저장하고 읽는 과정에서 발생하는 에러를 검출하고, 검출된 에러를 정정하는 에러 정정 코드 또는 에러 제어 코드(error correction codes or error control codes, ECC)의 이용이 활발해지고 있다 ECC의 에러 정정 능력(error correcting capability)이 높을수록 ECC 디코더의 하드웨어 복잡도는 증가한다.
본 발명의 일 실시예에 따르면 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 읽기 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 에러 제어 코드(error control codes, ECC) 디코더를 하드웨어로 구현할 때의 복잡도를 줄일 수 있다.
또한, 본 발명의 일 실시예에 따르면 데이터 페이지 당 비트 에러율(bit error rate, BER)의 최대값을 줄일 수 있다.
또한, 본 발명의 일 실시예에 따르면 데이터 페이지 당 비트 에러율을 데이터 페이지 각각에 대해 평준화(equalize)할 수 있다.
또한, 본 발명의 일 실시예에 따르면 데이터 페이지 단위의 오류의 분포(distribution)를 조정하여, 데이터가 오류 정정 성능(error correcting capability) 이내의 오류 비율(error rate)을 가지도록 할 수 있다. 이로 인해, 본 발명의 일 실시예는 데이터 페이지 단위의 오류 정정 가능성(error correctability)을 높일 수 있다.
본 발명의 일 실시예에 따른 메모리 장치는 멀티 비트 셀 어레이, 상기 멀티 비트 셀 어레이 내의 메모리 페이지에 N개의 데이터 페이지들을 저장하는 프로그래밍부, 및 상기 N개의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할하고, 상기 제1 그룹의 데이터를 상기 메모리 페이지로부터 읽은 후 상기 읽은 제1 그룹의 데이터에 기초하여 상기 제2 그룹의 데이터를 상기 메모리 페이지로부터 읽는 기법을 결정하는 제어부를 포함할 수 있다.
본 발명의 다른 실시예에 따른 메모리 장치는 멀티 비트 셀 어레이, 상기 멀티 비트 셀 어레이 내의 메모리 페이지에 복수의 데이터 페이지들을 멀티 비트 프로그램하는 프로그래밍부, 및 상기 복수의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할하고, 상기 제1 그룹의 데이터를 상기 메모리 페이지로부터 제1 읽기 기법으로 읽고, 상기 제2 그룹의 데이터를 상기 메모리 페이지로부터 제2 읽기 기법으로 읽는 제어부를 포함할 수 있다. 이 때, 상기 제1 읽기 기법 및 상기 제2 읽기 기법은 서로 다를 수 있다.
본 발명의 또 다른 실시예에 따른 멀티 비트 셀들로 이루어진 메모리 페이지로부터 복수의 데이터 페이지들을 읽는 메모리 데이터 읽기 방법은 상기 복수의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할하는 단계, 상기 제1 그룹의 데이터를 상기 메모리 페이지로부터 읽는 단계, 상기 읽은 제1 그룹의 데이터에 기초하여 상기 제2 그룹의 데이터를 상기 메모리 페이지로부터 읽는 읽기 전압 레벨들을 결정하는 단계, 상기 메모리 페이지의 멀티 비트 셀들의 문턱 전압을 검출하는 단계, 및 상기 검출된 문턱 전압을 상기 읽기 전압 레벨들과 비교하여 상기 제2 그룹의 데이터를 판정하는 단계를 포함할 수 있다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.
도 1을 참조하면, 메모리 장치(100)는 멀티 비트 셀 어레이(110), 프로그래밍부(120) 및 제어부(130)를 포함한다.
멀티 비트 셀 어레이(110)는 복수의 멀티 비트 셀들을 포함한다. 하나의 멀티 비트 셀은 멀티 비트 데이터를 저장할 수 있다. 메모리 장치(100)가 하나의 멀티 비트 셀에 데이터를 저장하는 과정은 '프로그래밍'이라고도 불리며, F-N 터널링 (Fowler-Nordheim tunneling, F-N tunneling) 또는 핫 캐리어 효과(Hot Carrier Effect) 등의 메커니즘을 이용하여 수행될 수 있다.
프로그래밍 과정은 멀티 비트 셀의 문턱 전압 (threshold voltage) 을 변화시킨다. 하나의 멀티 비트 셀이 최대 m비트의 데이터를 저장할 수 있다면, 하나의 멀티 비트 셀에 형성되는 문턱 전압 레벨은 2m 개 중 하나이다.
프로그래밍 과정은 데이터를 읽는 과정에 비해 긴 시간을 필요로 하므로 메모리 장치(100)는 인접한 다수의 멀티 비트 셀들을 동시에 프로그래밍함으로써 멀티 비트 셀 어레이(110)의 모든 멀티 비트 셀들에 대한 프로그래밍 시간을 단축할 수 있다. 이 때, 동시에 프로그래밍되는 물리적인 멀티 비트 셀들의 집합을 메모리 페이지(111)라 하며, 하나의 메모리 페이지(111)는 하나의 워드 라인(word line)에 연결된 멀티 비트 셀들의 집합일 수 있다.
메모리 페이지(111)가 p개의 멀티 비트 셀들을 포함하고, 하나의 멀티 비트 셀이 m비트의 데이터를 저장할 수 있다면, 메모리 페이지(111)는 p x m 비트의 데이터를 저장할 수 있다.
하나의 멀티 비트 셀에 저장되는 m비트의 데이터는 최상위 비트(most significant bit, MSB)로부터 최하위 비트(least significant bit, LSB)로 정렬될 수 있다. 메모리 장치(100)의 프로그래밍부(120)는 하나의 멀티 비트 셀에 MSB를 저장한 후 MSB보다 하위 비트들을 순차적으로 저장할 수 있다. 이 때, LSB가 상기 멀티 비트 셀에 마지막으로 저장될 수 있다.
실시예에 따라서는, 프로그래밍부(120)는 하나의 멀티 비트 셀에 LSB를 저장한 후 LSB보다 상위 비트들을 순차적으로 저장할 수 있다. 이 때, MSB가 상기 멀티 비트 셀에 마지막으로 저장될 수 있다.
프로그래밍부(120)는 메모리 페이지(111) 내의 멀티 비트 셀들 각각에 상기 멀티 비트 셀들 각각의 MSB들을 저장한 후 MSB보다 하위 비트들을 순차적으로 저장할 수 있다. 메모리 페이지(111)의 멀티 비트 셀들 각각에 저장되는 MSB들의 집합을 하나의 데이터 페이지라 할 수 있다. 메모리 페이지(111)가 p개의 멀티 비트 셀들을 포함하는 경우 데이터 페이지는 p개의 비트로 이루어진 비트 스트림일 수 있다.
프로그래밍부(120)는 메모리 페이지(111) 내의 멀티 비트 셀들 각각에 상기 멀티 비트 셀들 각각의 LSB들을 마지막으로 저장할 수 있다. 메모리 페이지(111) 내의 멀티 비트 셀들 각각에 저장되는 LSB들의 집합을 또 하나의 데이터 페이지라 할 수 있다.
메모리 페이지(111) 내의 멀티 비트 셀들 각각이 m비트의 데이터를 저장할 수 있으면, m개의 데이터 페이지들이 메모리 페이지(111)에 저장될 수 있다.
프로그래밍부(120)가 메모리 페이지(111)에 m개의 데이터 페이지들을 저장하기 위해서는, m개의 페이지 프로그래밍 동작(page programming operation)들이 필요하다. 페이지 프로그래밍 동작들 각각은 프로그래밍부(120)가 하나의 데이터 페이지를 메모리 페이지(111)에 저장하는 과정이다.
프로그래밍부(120)가 제1 페이지 프로그래밍 동작에 의해 제1 데이터 페이지를 메모리 페이지(111)에 저장하면, 메모리 페이지(111)의 멀티 비트 셀들 각각의 문턱 전압은 2개의 문턱 전압 상태들을 형성할 수 있다.
예를 들어, 프로그래밍부(120)가 데이터 "1"이 저장되는 멀티 비트 셀의 문턱 전압을 1V로 변화시키고, 데이터 "0"이 저장되는 멀티 비트 셀의 문턱 전압을 2.5V로 변화시키는 경우에, 실제로는 멀티 비트 셀들의 전기적 특성이 미세하게 다르므로, 데이터 "1"이 저장된 멀티 비트 셀들의 문턱 전압들은 0.7V ~ 1.3V 의 산포(distribution)를 가질 수 있고, 데이터 "0"이 저장된 멀티 비트 셀들의 문턱 전압들은 2.2V ~ 2.8V의 산포를 가질 수 있다.
본 명세서에서는 데이터를 저장하는 멀티 비트 셀들이 가지는 문턱 전압의 산포의 범위를 산포 상태(distribution state) 또는 문턱 전압 상태(threshold voltage state)라고 명명하기로 한다. 산포 상태 또는 문턱 전압 상태는 설명을 단순히 하기 위한 용어로서 이로 인해 본 발명의 권리 범위가 제한적으로 해석되어서는 안 될 것이다.
프로그래밍부(120)가 제1 페이지 프로그래밍 동작을 수행한 후 제2 페이지 프로그래밍 동작을 수행하여 제1 데이터 페이지 및 제2 데이터 페이지를 메모리 페이지(111)에 저장하면, 메모리 페이지(111)의 멀티 비트 셀들의 문턱 전압들은 4개의 문턱 전압 상태들을 형성할 수 있다.
메모리 페이지(111) 내의 멀티 비트 셀들이 m비트의 데이터를 저장하는 경우에 메모리 페이지(111) 내의 멀티 비트 셀들의 문턱 전압은 2m 개의 문턱 전압 상태들을 형성할 수 있다. 문턱 전압 상태들 간의 간격이 작을수록 데이터를 잘못 읽을 가능성이 높아지므로 마지막 페이지 프로그래밍 동작 동안 저장되는 데이터 페이지(예를 들어, LSB에 대응하는 데이터 페이지)는 먼저 저장된 데이터 페이지들보다 많은 오류를 포함할 수 있다.
제어부(130)는 m개의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할한다. 예를 들어, 제1 그룹은 제1 데이터 페이지 내지 제(m-1) 데이터 페이지까지이고, 제2 그룹은 제m 데이터 페이지일 수 있다.
제어부(130)는 제1 그룹의 데이터를 메모리 페이지(111)로부터 읽은 후 읽은 제1 그룹의 데이터에 기초하여 제2 그룹의 데이터를 메모리 페이지(111)로부터 읽는 기법을 결정한다.
제어부(130)는 읽은 제1 그룹의 데이터에 기초하여 제2 그룹의 데이터를 몇 번 읽을 것인지, 제2 그룹의 데이터를 몇 개의 읽기 전압(read voltage) 레벨을 적용하여 읽을 것인지를 결정할 수 있다. 제어부(130)는 읽은 제1 그룹의 데이터에 기초하여 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 결정할 수 있다.
도 2는 본 발명의 일 실시예에 따른 4개의 데이터 페이지들을 도시하는 도면이다.
도 2를 참조하면, 메모리 페이지(111)내의 멀티 비트 셀들에는 4개의 데이터 페이지들(210 내지 240)이 저장된다. 제어부(130)는 제1 데이터 페이지(210), 제2 데이터 페이지(220) 및 제3 데이터 페이지(230)를 제1 그룹으로 생성하고, 제4 데이터 페이지(240)를 제2 그룹으로 생성한다.
제어부(130)는 제1 그룹에 포함되는 제1 데이터 페이지(210), 제2 데이터 페이지(220), 제3 데이터 페이지(230)를 통상의 읽기 기법(normal read scheme)으로 읽는다.
제어부(130)는 제1 그룹의 데이터를 통상의 읽기 기법으로 읽은 후 읽은 제1 그룹의 데이터에 기초하여 제2 그룹에 포함되는 제4 데이터 페이지(240)의 읽기 기법을 결정한다.
제어부(130)는 앞에서 설명한 바와 같이, 제4 데이터 페이지(240)를 몇 번 읽을 것인지, 제4 데이터 페이지(240)를 몇 개의 읽기 전압 레벨을 적용하여 읽을 것인지를 결정할 수 있고, 제4 데이터 페이지(240)를 읽는 읽기 전압 레벨을 결정할 수 있다.
도 3은 멀티 비트 셀들의 문턱 전압의 분포가 시간에 따라 변화하는 메커니 즘을 도시하는 도면이다.
도 3을 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압을 나타내고, 세로축은 해당 문턱 전압을 가지는 멀티 비트 셀들의 개수를 나타낸다.
특정 데이터가 저장된 멀티 비트 셀들의 문턱 전압은 문턱 전압 상태(310)를 형성한다. 시간이 경과한 후 문턱 전압 상태(310)를 형성했던 상기 멀티 비트 셀들의 문턱 전압은 문턱 전압 상태(320)를 형성하도록 변화할 수도 있고, 문턱 전압 상태(330)를 형성하도록 변화할 수도 있다.
문턱 전압 상태(310)를 형성했던 상기 멀티 비트 셀들의 문턱 전압이 문턱 전압 상태(310)보다 높은 문턱 전압 상태(320)로 변화되는 과정(340)은 부유 게이트 커플링(Floating Gate Coupling, FG Coupling) 메커니즘에 의해 일어날 수 있다.
FG 커플링은 중심 멀티 비트 셀의 문턱 전압이 주변의 멀티 비트 셀들의 문턱 전압의 변화 량에 따라 영향 받는 현상을 말한다. 멀티 비트 셀들의 FG들 간의 기생 커패시턴스(parasitic capacitance)의 커플링으로 인해 중심 멀티 비트 셀의 문턱 전압이 영향 받는다.
프로그래밍 과정이 주변의 멀티 비트 셀들의 문턱 전압을 증가시키는 경우에는 FG 커플링에 의해 중심 멀티 비트 셀의 문턱 전압은 원하는 값보다 높아질 수 있다.
문턱 전압 상태(310)를 형성했던 상기 멀티 비트 셀들의 문턱 전압이 문턱 전압 상태(310)보다 낮은 문턱 전압 상태(330)로 변화되는 과정(350)은 전하 유실 (charge loss) 메커니즘에 의해 일어날 수 있다.
멀티 비트 셀은 제어 게이트(Control Gate, CG) 및 FG 사이에 절연체 (insulator) 층이 위치하고, FG 및 substrate 사이에도 절연체 층이 위치하는 구조를 가진다. 프로그래밍부(120)는 멀티 비트 셀의 CG 및 substrate 에 특정 전압을 인가하여 전하를 FG에 충전(charge)하거나 FG로부터 방전(discharge)할 수 있다. 전하가 FG에 충전 또는 FG로부터 방전되는 과정은 F-N 터널링 또는 핫 캐리어 효과 등의 메커니즘에 의해 수행될 수 있다. FG에 충전된 전하는 방전 조건이 갖추어지기 전에는 FG에 유지되어야 하지만, 자연적인 확산 현상에 의해 FG에 충전되어 있는 전하가 주위로 퍼져서 FG내의 전하가 줄어들거나, FG 주변의 절연체가 손상되어 전하의 누설 경로(leaking path)가 형성되면 FG에 충전된 전하가 유실될 수 있다.
일반적으로 FG에 충전된 전하가 유실되는 전하 유실 메커니즘은 멀티 비트 셀의 문턱 전압을 낮추는 경향이 있다. 전하 유실 메커니즘은 과정(350)의 원인이 될 수 있다.
FG 커플링 메커니즘 및 전하 유실 메커니즘에 의해 멀티 비트 셀들의 문턱 전압의 산포는 시간이 지남에 따라 확산되는 경향을 가진다.
멀티 비트 셀이 동작하는 전압 윈도우는 제한되어 있으므로, 문턱 전압의 산포가 확산될수록 인접한 문턱 전압 상태들이 오버랩될 가능성이 높아진다. 서로 다른 데이터를 저장하는 멀티 비트 셀들의 문턱 전압 상태 간에 오버랩되는 영역이 커질수록 데이터를 읽을 때의 오류가 증가한다.
제어부(130)는 FG 커플링 메커니즘에 의한 멀티 비트 셀 어레이(110) 내의 멀티 비트 셀들의 문턱 전압의 변화를 추정할 수 있다. 제어부(130)는 추정된 문턱 전압의 변화를 이용하여 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 결정할 수 있다. 제어부(130)는 FG 커플링 메커니즘에 의해 멀티 비트 셀들의 문턱 전압이 변화했을 경우를 예상하여 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 조정할 수 있다.
제어부(130)는 전하 유실 메커니즘에 의한 멀티 비트 셀 어레이(110) 내의 멀티 비트 셀들의 문턱 전압의 변화를 추정할 수 있다. 제어부(130)는 추정된 문턱 전압의 변화를 이용하여 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 결정할 수 있다. 제어부(130)는 전하 유실 메커니즘에 의해 멀티 비트 셀들의 문턱 전압이 변화했을 경우를 예상하여 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 조정할 수 있다.
도 4 및 도 5는 4비트의 데이터를 저장할 수 있는 본 발명의 실시예를 도시한다.
도 4는 본 발명의 실시예에 따른 멀티 비트 셀 어레이(110)의 멀티 비트 셀들의 문턱 전압의 분포를 도시하는 도면이다.
도 4를 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압을 나타내고, 세로축은 해당 문턱 전압을 가지는 멀티 비트 셀들의 개수를 나타낸다.
도 5는 본 발명의 실시예에 따른 4비트의 데이터의 테이블이다.
도 5를 참조하면, 열(column)들은 하나의 멀티 비트 셀에 저장될 수 있는 4비트의 데이터를 나타낸다.
열(500)은 데이터 "1111"을 나타내고, 데이터 "1111"을 저장하는 멀티 비트 셀들은 제0 문턱 전압 상태(400)를 가진다.
열(501)은 데이터 "0110"을 나타내고, 데이터 "0110"을 저장하는 멀티 비트 셀들은 제1 문턱 전압 상태(401)를 가진다.
열(502)은 데이터 "0101"을 나타내고, 데이터 "0101"을 저장하는 멀티 비트 셀들은 제2 문턱 전압 상태(402)를 가진다.
열(503)은 데이터 "0000"을 나타내고, 데이터 "0000"을 저장하는 멀티 비트 셀들은 제3 문턱 전압 상태(403)를 가진다.
열(504)은 데이터 "0010"을 나타내고, 데이터 "0010"을 저장하는 멀티 비트 셀들은 제4 문턱 전압 상태(404)를 가진다.
열(505)은 데이터 "1011"을 나타내고, 데이터 "1011"을 저장하는 멀티 비트 셀들은 제5 문턱 전압 상태(405)를 가진다.
열(506)은 데이터 "1110"을 나타내고, 데이터 "1110"을 저장하는 멀티 비트 셀들은 제6 문턱 전압 상태(406)를 가진다.
열(507)은 데이터 "1101"을 나타내고, 데이터 "1101"을 저장하는 멀티 비트 셀들은 제7 문턱 전압 상태(407)를 가진다.
열(508)은 데이터 "1000"을 나타내고, 데이터 "1000"을 저장하는 멀티 비트 셀들은 제8 문턱 전압 상태(408)를 가진다.
열(509)은 데이터 "0001"을 나타내고, 데이터 "0001"을 저장하는 멀티 비트 셀들은 제9 문턱 전압 상태(409)를 가진다.
열(510)은 데이터 "0011"을 나타내고, 데이터 "0011"을 저장하는 멀티 비트 셀들은 제10 문턱 전압 상태(410)를 가진다.
열(511)은 데이터 "1010"을 나타내고, 데이터 "1010"을 저장하는 멀티 비트 셀들은 제11 문턱 전압 상태(411)를 가진다.
열(512)은 데이터 "1001"을 나타내고, 데이터 "1001"을 저장하는 멀티 비트 셀들은 제12 문턱 전압 상태(412)를 가진다.
열(513)은 데이터 "1100"을 나타내고, 데이터 "1100"을 저장하는 멀티 비트 셀들은 제13 문턱 전압 상태(413)를 가진다.
열(514)은 데이터 "0100"을 나타내고, 데이터 "0100"을 저장하는 멀티 비트 셀들은 제14 문턱 전압 상태(414)를 가진다.
열(515)은 데이터 "0111"을 나타내고, 데이터 "0111"을 저장하는 멀티 비트 셀들은 제15 문턱 전압 상태(415)를 가진다.
프로그래밍부(120)는 24 = 16 개의 문턱 전압 상태들을 형성하여 메모리 페이지(111) 내의 멀티 비트 셀들 각각에 4비트의 데이터를 저장한다.
프로그래밍부(120)는 15 개의 검증 전압 레벨들을 이용하여 16 개의 문턱 전압 상태들을 형성할 수 있고, 16 개의 문턱 전압 상태들을 형성함으로써 4개의 데이터 페이지들을 메모리 페이지(111)에 저장할 수 있다.
하나의 페이지 프로그래밍 동작은 복수의 단위 프로그래밍 동작으로 이루어질 수 있다. 프로그래밍부(120)는 단위 프로그래밍 동작이 종료될 때마다 멀티 비 트 셀들의 문턱 전압을 검증 전압 레벨들과 비교하여 데이터가 프로그램되었는지 여부를 판정할 수 있다. 예를 들어, 프로그래밍부(120)는 단위 프로그래밍 동작이 종료될 때마다 데이터 "0111"이 저장될 멀티 비트 셀 각각의 문턱 전압이 제15 문턱 전압 상태(415)에 대응하는 검증 전압 레벨보다 높은지 비교할 수 있다. 프로그래밍부(120)는 검증 전압 레벨보다 높은 문턱 전압을 가지는 멀티 비트 셀에 대해서는 더 이상 단위 프로그래밍 동작을 수행하지 않고, 검증 전압 레벨보다 낮은 문턱 전압을 가지는 멀티 비트 셀에 대해서만 단위 프로그래밍 동작을 더 수행할 수 있다.
도 5의 데이터 테이블에서, 각 열의 상위 3비트는 제어부(130)에 의해 제1 그룹(520)으로 설정될 수 있다. 각 열의 LSB는 제어부(130)에 의해 제2 그룹(530)으로 설정될 수 있다.
제어부(130)는 제1 그룹(520)의 데이터를 읽은 후 읽은 제1 그룹(520)의 데이터의 결과 값들 각각을 하나씩의 심볼(symbol)로 정의할 수 있다. 제1 그룹(520)는 3비트의 데이터를 포함하므로, 8개의 서로 다른 심볼들이 있을 수 있다.
제어부(130)는 8개의 서로 다른 심볼들을 문턱 전압의 분포 패턴에 따라 복수의 심볼 그룹들로 분할할 수 있다. 제어부(130)는 FG 커플링과 전하 유실 메커니즘(charge loss mechanism)에 기초하여 심볼 그룹들을 분할할 수 있다. 이 때, 제어부(130)가 심볼 그룹들을 분할하는 기준으로는 (1) 읽기 횟수의 최소화, (2) 판독시 에러의 비율의 최소화 등이 더 있을 수 있다. 예를 들어, 제어부(130)는 심볼들 "111", "011", "010"을 제1 심볼 그룹으로 설정하고, 심볼들 "000", "001", "101"을 제2 심볼 그룹으로 설정하고, 심볼들 "110", "100"을 제3 심볼 그룹으로 설정할 수 있다.
제어부(130)는 제1 심볼 그룹에 대하여 제1 읽기 전압 레벨을 할당하고, 제2 심볼 그룹에 대하여 제2 읽기 전압 레벨을 할당하고, 제3 심볼 그룹에 대하여 제3 읽기 전압 레벨을 할당할 수 있다. 제어부(130)는 제1 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들의 LSB를 읽는 읽기 동작 동안에 제1 읽기 전압 레벨을 이용할 수 있다. 제어부(130)는 제2 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들의 LSB를 읽는 읽기 동작 동안에 제2 읽기 전압 레벨을 이용할 수 있다. 제어부(130)는 제3 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들의 LSB를 읽는 읽기 동작 동안에 제3 읽기 전압 레벨을 이용할 수 있다.
제어부(130)는 제3 문턱 전압 상태(403) 및 제4 문턱 전압 상태(404) 간의 전압 레벨들 중 하나를 제1 읽기 전압 레벨로 결정할 수 있다.
상위 3비트의 데이터를 읽은 결과 "111", "011", "010"의 데이터를 저장하는 멀티 비트 셀들이 제1 읽기 전압 레벨보다 낮은 문턱 전압을 가질 경우 상기 멀티 비트 셀들은 "1111", "0110", "0101"의 데이터를 가지는 것으로 읽히고, 상기 멀티 비트 셀들이 제1 읽기 전압 레벨보다 높은 문턱 전압을 가질 경우 상기 멀티 비트 셀들은 "1110", "0111", "0100"의 데이터를 가지는 것으로 읽힐 수 있다.
이 때, 제1 읽기 전압 레벨은 제1 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들을 제1 읽기 전압 레벨보다 높은 멀티 비트 셀들과 제1 읽기 전압 레벨보다 낮은 멀티 비트 셀들로 명확히 구분할 수 있다.
제1 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들은 제0 문턱 전압 상태(400), 제1 문턱 전압 상태(401), 제2 문턱 전압 상태(402), 제6 문턱 전압 상태(406), 제14 문턱 전압 상태(414) 및 제15 문턱 전압 상태(415)를 가진다. 제1 읽기 전압 레벨이 제3 문턱 전압 상태(403) 및 제4 문턱 전압 상태(404) 사이에 위치하므로, 제1 읽기 전압 레벨보다 낮은 문턱 전압을 가지는 멀티 비트 셀들은 제3 문턱 전압 상태(403)의 폭만큼의 읽기 여유(read margin)를 가질 수 있다. 제1 읽기 전압 레벨보다 높은 문턱 전압을 가지는 멀티 비트 셀들은 제4 문턱 전압 상태(404) 및 제5 문턱 전압 상태(405)의 폭만큼의 read margin을 가질 수 있다. 본 발명의 실시예에 따르면, 제2 그룹(LSB)(530)를 읽는 읽기 동작에서 매우 큰 read margin을 가질 수 있다. 이러한 read margin은 전하 유실 메커니즘 또는 FG 커플링 메커니즘에 의해서 생길 수 있는 데이터 오염(data corruption)을 고려하더라도 충분히 큰 read margin일 수 있다.
이처럼 본 발명의 실시예에서는, 제2 그룹(530)을 읽는 읽기 동작 동안에 충분히 큰 read margin을 얻을 수 있으므로, 제2 그룹(530)의 데이터에 대한 패리티 체크 또는 오류 제어 코드(error control codes, ECC) 디코딩 등을 수행하지 않거나 CRC(Cyclic Redundancy Codes) 같은 상대적으로 간단한 Error Check Code를 사용 할 수 있다. 제어부(130)는 읽은 제1 그룹(520)의 데이터를 ECC 디코딩하고, 디코드된 제1 그룹의 데이터에 기초하여 제2 그룹(530)의 데이터를 메모리 페이지(111)로부터 읽는 기법을 결정할 수 있다. 제어부(130)는 제2 그룹(530)의 데이터를 ECC 디코딩하지 않을 수 있다. 본 발명의 메모리 장치(100)에 따르면 제2 그 룹(530)의 데이터에 대해서는 충분히 큰 read margin을 보장할 수 있기 때문이다.
제어부(130)는 제6 문턱 전압 상태(406) 및 제7 문턱 전압 상태(407) 간의 전압 레벨들 중 하나를 제2 읽기 전압 레벨로 결정할 수 있다.
상위 3비트의 데이터를 읽은 결과 "000", "001", "101"의 데이터를 저장하는 멀티 비트 셀들이 제2 읽기 전압 레벨보다 낮은 문턱 전압을 가질 경우 상기 멀티 비트 셀들은 "0000", "0010", "1011"의 데이터를 가지는 것으로 읽히고, 상기 멀티 비트 셀들이 제2 읽기 전압 레벨보다 높은 문턱 전압을 가질 경우 상기 멀티 비트 셀들은 "0001", "0011", "1010"의 데이터를 가지는 것으로 읽힐 수 있다.
이 때, 제2 읽기 전압 레벨은 제2 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들을 제2 읽기 전압 레벨보다 높은 멀티 비트 셀들과 제2 읽기 전압 레벨보다 낮은 멀티 비트 셀들로 명확히 구분할 수 있다.
제2 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들은 제3 문턱 전압 상태(403), 제4 문턱 전압 상태(404), 제5 문턱 전압 상태(405), 제9 문턱 전압 상태(409), 제10 문턱 전압 상태(410) 및 제11 문턱 전압 상태(411)를 가진다. 제2 읽기 전압 레벨이 제6 문턱 전압 상태(406) 및 제7 문턱 전압 상태(407) 사이에 위치하므로, 제2 읽기 전압 레벨보다 낮은 문턱 전압을 가지는 멀티 비트 셀들은 제6 문턱 전압 상태(406)의 폭만큼의 읽기 여유(read margin)를 가질 수 있다. 제2 읽기 전압 레벨보다 높은 문턱 전압을 가지는 멀티 비트 셀들은 제7 문턱 전압 상태(407) 및 제8 문턱 전압 상태(408)의 폭만큼의 read margin을 가질 수 있다. 제어부(130)는 제2 그룹(530)의 데이터를 읽는 읽기 동작에서도 매우 큰 read margin 을 가질 수 있다. 이러한 read margin은 전하 유실 메커니즘 또는 FG 커플링 메커니즘에 의해서 생길 수 있는 데이터 오염(data corruption)을 고려하더라도 충분히 큰 read margin일 수 있다.
제어부(130)는 제9 문턱 전압 상태(409) 및 제10 문턱 전압 상태(410) 간의 전압 레벨들 중 하나를 제3 읽기 전압 레벨로 결정할 수 있다.
상위 3비트의 데이터를 읽은 결과 "110", "100"의 데이터를 저장하는 멀티 비트 셀들이 제3 읽기 전압 레벨보다 낮은 문턱 전압을 가질 경우 상기 멀티 비트 셀들은 "1101", "1000"의 데이터를 가지는 것으로 읽히고, 상기 멀티 비트 셀들이 제3 읽기 전압 레벨보다 높은 문턱 전압을 가질 경우 상기 멀티 비트 셀들은 "1100", "1001"의 데이터를 가지는 것으로 읽힐 수 있다.
이 때, 제3 읽기 전압 레벨은 제3 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들을 제3 읽기 전압 레벨보다 높은 멀티 비트 셀들과 제3 읽기 전압 레벨보다 낮은 멀티 비트 셀들로 명확히 구분할 수 있다.
제3 심볼 그룹의 데이터를 저장하는 멀티 비트 셀들은 제7 문턱 전압 상태(407), 제8 문턱 전압 상태(408), 제12 문턱 전압 상태(412) 및 제13 문턱 전압 상태(413)를 가진다. 제3 읽기 전압 레벨이 제9 문턱 전압 상태(409) 및 제10 문턱 전압 상태(410) 사이에 위치하므로, 제3 읽기 전압 레벨보다 낮은 문턱 전압을 가지는 멀티 비트 셀들은 제9 문턱 전압 상태(409)의 폭만큼의 읽기 여유(read margin)를 가질 수 있다. 제3 읽기 전압 레벨보다 높은 문턱 전압을 가지는 멀티 비트 셀들은 제10 문턱 전압 상태(410) 및 제11 문턱 전압 상태(411)의 폭만큼의 read margin을 가질 수 있다. 제어부(130)는 제2 그룹(530)의 데이터를 읽는 읽기 동작에서도 매우 큰 read margin을 가질 수 있다. 이러한 read margin은 전하 유실 메커니즘 또는 FG 커플링 메커니즘에 의해서 생길 수 있는 데이터 오염(data corruption)을 고려하더라도 충분히 큰 read margin일 수 있다.
프로그래밍부(120)는 검증 전압 레벨들 간의 거리를 조정하여 문턱 전압 상태들 간의 거리를 조정할 수 있다. 예를 들어 제0 문턱 전압 상태(400)와 제1 문턱 전압 상태(401)가 가까워지면 데이터 "1111"이 저장된 멀티 비트 셀이 데이터 "0110"을 저장하는 것으로 잘못 읽힐 수 있고, 그 반대의 경우도 있을 수 있다. 프로그래밍부(120)는 문턱 전압 상태들 간의 거리를 조정하여, 제1 그룹(520)의 데이터 페이지들 각각의 비트 오류 비율(BER)을 조정할 수 있다.
멀티 비트 셀들로부터 읽은 데이터의 오류를 줄이기 위해 사용되는 ECC 디코딩 과정은 데이터 페이지 단위로 수행되는 것이 일반적이다. 제1 데이터 페이지가 10(-4) 의 BER을 가지고 제2 데이터 페이지가 10(-2)의 BER을 가지면, ECC 디코딩 과정을 수행하는 ECC 디코더는 10(-2)의 BER을 가지는 데이터 페이지의 오류를 제어할 수 있어야 한다. ECC 디코더가 높은 BER을 제어할 수 있을수록 ECC 디코더의 하드웨어 복잡도가 증가하고, 높은 하드웨어 복잡도는 메모리 장치(100)의 크기를 증가시키는 문제가 있다.
따라서, 프로그래밍부(120)는 제1 그룹(520)의 데이터 페이지들 각각이 비슷한 크기의 BER을 가지도록 검증 전압 레벨들을 조정할 수 있다.
메모리 장치(100)의 실시예에 따라서는, 제1 그룹(520)의 데이터에 대해서만 ECC 디코딩을 수행하고 제2 그룹(530)의 데이터에 대해서는 ECC 디코딩을 수행하지 않을 수 있기 때문에 간단한 ECC 디코더만으로도 오류를 제어할 수 있다. 이로 인해 메모리 장치(100)의 하드웨어 복잡도가 감소할 수 있다.
메모리 장치(100)의 실시예에 따라서는, 제1 그룹이 (N-1) 개의 데이터 페이지들로 이루어진 경우, 제어부(130)가 제1 그룹의 데이터 페이지 각각을 읽는 읽기 전압 레벨들의 수가 2(N-1) 개보다 적어야 데이터 페이지의 BER이 종래 기술의 BER보다 낮을 수 있다. 프로그래밍부(120)는 검증 전압 레벨들을 조정하여 제어부(130)가 제1 그룹의 데이터 페이지 각각을 읽는 읽기 전압 레벨들의 수를 2(N-1) 개보다 줄일 수 있다. 프로그래밍부(120)는 제1 그룹의 데이터 값과 맵핑되는 검증 전압 레벨을 선택하는 기준(criterion)으로 제1 그룹의 데이터 페이지 각각의 BER을 선택할 수 있다.
다시 도 4 및 도 5를 참조하면, 문턱 전압 상태(400)로부터 순차적으로 문턱 전압 상태(415)에 이르기까지 제1 그룹(520)의 MSB가 "0"에서 "1"로, 또는 "1"에서 "0"으로 플립(flip)하는 횟수는 5회이다.
제어부(130)는 MSB를 읽는 읽기 동작에서 MSB가 "0"과 "1" 사이의 천이(transition) 만큼의 읽기 전압 레벨을 이용할 수 있다. 제어부(130)는 도 4 및 도 5의 실시예에서 MSB를 읽는 데에 5개의 읽기 전압 레벨들을 이용할 수 있다. 제1 그룹(520)이 3비트의 데이터에 대응하므로 제1 그룹(520)은 3개의 데이터 페이 지들을 포함한다. 제어부(130)가 MSB를 읽는 데에 필요로 하는 읽기 전압 레벨들의 수인 5는 23 = 8보다 작은 수이다.
도 5의 제2 행(second row)에서 "1"과 "0" 간의 플립은 4회 일어나므로, 제어부(130)는 제2 비트를 읽는 데에는 4개의 읽기 전압 레벨들을 필요로 한다. 도 5의 제3 행에서 "1"과 "0" 간의 플립은 6회 일어나므로, 제어부(130)는 제3 비트를 읽는 데에는 6개의 읽기 전압 레벨들을 필요로 한다.
제어부(130)가 MSB를 읽는 데에는 5개의 읽기 전압 레벨들이 필요하고, 제2 비트를 읽는 데에는 4개의 읽기 전압 레벨들이 필요하고, 제3 비트를 읽는 데에는 6개의 읽기 전압 레벨들이 필요하므로, 도 4 및 도 5의 실시예에 따르면, 메모리 장치(100)는 제1 그룹(520)의 데이터 페이지 각각의 BER을 종래 기술의 BER보다 낮출 수 있다(5, 4, 6 은 모두 8보다 작으므로).
다시 도 1을 참조하면, 제어부(130)는 복수의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할한다. 제어부(130)는 제1 그룹의 데이터를 메모리 페이지(111)로부터 제1 읽기 기법으로 읽고, 제2 그룹의 데이터를 메모리 페이지(111)로부터 제2 읽기 기법으로 읽는다. 제1 읽기 기법은 통상의 읽기 기법(normal read scheme)이고, 제2 읽기 기법은 제1 그룹의 데이터의 값에 따라 복수의 읽기 전압 레벨들을 결정한 후 제2 그룹의 데이터를 읽는 기법일 수 있다.
도 6은 본 발명의 일 실시예에 따른 멀티 비트 셀들로 이루어진 메모리 페이지로부터 복수의 데이터 페이지들을 읽는 메모리 데이터 읽기 방법을 도시하는 동 작 흐름도이다.
도 6을 참조하면, 메모리 데이터 읽기 방법은 복수의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할한다(S610).
메모리 데이터 읽기 방법은 제1 그룹의 데이터를 메모리 페이지로부터 읽는다(S620).
메모리 데이터 읽기 방법은 읽은 제1 그룹의 데이터에 기초하여 제2 그룹의 데이터를 메모리 페이지로부터 읽는 읽기 전압 레벨들을 결정한다(S630).
단계(S630)는 읽은 제1 그룹의 데이터의 결과 값들 각각을 하나씩의 심볼로 정의하고, 심볼들을 복수의 심볼 그룹들로 분할할 수 있다.
단계(S630)는 복수의 심볼 그룹들 각각에 대하여 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 하나씩 결정할 수 있다.
메모리 데이터 읽기 방법은 메모리 페이지의 멀티 비트 셀들의 문턱 전압을 검출한다(S640).
메모리 데이터 읽기 방법은 검출된 문턱 전압을 읽기 전압 레벨들과 비교하여 제2 그룹의 데이터를 판정한다(S650).
본 발명에 따른 메모리 데이터 읽기 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당 업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 구현될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 구현될 수 있다.
플래시 메모리 장치와 메모리 컨트롤러는 메모리 카드를 구성할 수 있다. 이러한 경우, 메모리 컨트롤러는 USB, MMC, PCI-E, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 수 있다.
플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 비휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 보다 널리 사용될 수 있다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다.
본 발명에 따른 컴퓨팅 시스템은 버스에 전기적으로 연결된 마이크로프로세서, 사용자 인터페이스, 베이스밴드 칩셋(baseband chipset)과 같은 모뎀, 메모리 컨트롤러, 그리고 플래시 메모리 장치를 포함한다. 플래시 메모리 장치에는 마이크로프로세서에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 메모리 컨트롤러를 통해 저장될 것이다. 본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리가 추가적으로 제공될 것이다.
본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 메모리 컨트롤러와 플래시 메모리 장치는, 예를 들면, 데이터를 저장하는 데 비휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 4개의 데이터 페이지들을 도시하는 도면이다.
도 3은 멀티 비트 셀들의 문턱 전압의 분포가 시간에 따라 변화하는 메커니즘을 도시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 멀티 비트 셀 어레이(110)의 멀티 비트 셀들의 문턱 전압의 분포를 도시하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 4비트의 데이터의 테이블이다.
도 6은 본 발명의 일 실시예에 따른 멀티 비트 셀들로 이루어진 메모리 페이지로부터 복수의 데이터 페이지들을 읽는 메모리 데이터 읽기 방법을 도시하는 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 멀티 비트 셀 어레이
111: 메모리 페이지
120: 프로그래밍부
130: 제어부

Claims (14)

  1. 멀티 비트 셀 어레이;
    상기 멀티 비트 셀 어레이 내의 메모리 페이지에 N개의 데이터 페이지들을 저장하는 프로그래밍부; 및
    상기 N개의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할하고, 상기 제1 그룹의 데이터를 상기 메모리 페이지로부터 읽은 후 상기 읽은 제1 그룹의 데이터에 기초하여 상기 제2 그룹의 데이터를 상기 메모리 페이지로부터 읽는 기법을 결정하는 제어부
    를 포함하는 메모리 장치.
  2. 제1항에 있어서,
    상기 제어부는
    상기 읽은 제1 그룹의 데이터에 기초하여 상기 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 결정하는 메모리 장치.
  3. 제1항에 있어서,
    상기 제어부는
    플로팅 게이트 커플링 메커니즘에 의한 상기 멀티 비트 셀 어레이 내의 멀티 비트 셀들의 문턱 전압의 변화를 추정하여 상기 제2 그룹의 데이터를 읽는 읽기 전 압 레벨을 결정하는 메모리 장치.
  4. 제1항에 있어서,
    상기 제어부는
    전하 유실 메커니즘에 의한 상기 멀티 비트 셀 어레이 내의 멀티 비트 셀들의 문턱 전압의 변화를 추정하여 상기 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 결정하는 메모리 장치.
  5. 제1항에 있어서,
    상기 제어부는
    상기 읽은 제1 그룹의 데이터의 결과 값들 각각을 하나씩의 심볼로 정의하고, 상기 심볼들을 복수의 심볼 그룹들로 분할하고, 상기 복수의 심볼 그룹들 각각에 대하여 상기 제2 그룹의 데이터를 읽는 읽기 전압 레벨을 하나씩 할당하는 메모리 장치.
  6. 제1항에 있어서,
    상기 메모리 페이지 내의 멀티 비트 셀들 각각에는 N비트의 데이터가 저장되고,
    상기 프로그래밍부는
    상기 메모리 페이지에 최대 2N 개의 검증 전압 레벨들을 이용하여 상기 N개의 데이터 페이지들을 저장하는 메모리 장치.
  7. 제6항에 있어서,
    상기 프로그래밍부는
    상기 검증 전압 레벨들 간의 거리를 조정하여 상기 제1 그룹의 데이터의 비트 오류 비율(BER)을 조정하는 메모리 장치.
  8. 삭제
  9. 제1항에 있어서,
    상기 제어부는
    상기 읽은 제1 그룹의 데이터를 제1 오류 제어 코드(ECC) 디코딩하고, 상기 제1 오류 제어 코드 디코드된 제1 그룹의 데이터에 기초하여 상기 제2 그룹의 데이터를 상기 메모리 페이지로부터 읽는 기법을 결정하는 메모리 장치.
  10. 삭제
  11. 멀티 비트 셀 어레이;
    상기 멀티 비트 셀 어레이 내의 메모리 페이지에 복수의 데이터 페이지들을 멀티 비트 프로그램하는 프로그래밍부; 및
    상기 복수의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할하고, 상기 제1 그룹의 데이터를 상기 메모리 페이지로부터 제1 읽기 기법으로 읽고, 상기 제2 그룹의 데이터를 상기 메모리 페이지로부터 제2 읽기 기법으로 읽는 제어부
    를 포함하고,
    상기 제1 읽기 기법 및 상기 제2 읽기 기법은 다른 메모리 장치.
  12. 멀티 비트 셀들로 이루어진 메모리 페이지로부터 복수의 데이터 페이지들을 읽는 메모리 데이터 읽기 방법에 있어서,
    상기 복수의 데이터 페이지들을 제1 그룹 및 제2 그룹으로 분할하는 단계;
    상기 제1 그룹의 데이터를 상기 메모리 페이지로부터 읽는 단계;
    상기 읽은 제1 그룹의 데이터에 기초하여 상기 제2 그룹의 데이터를 상기 메모리 페이지로부터 읽는 읽기 전압 레벨들을 결정하는 단계;
    상기 메모리 페이지의 멀티 비트 셀들의 문턱 전압을 검출하는 단계; 및
    상기 검출된 문턱 전압을 상기 읽기 전압 레벨들과 비교하여 상기 제2 그룹의 데이터를 판정하는 단계
    를 포함하는 메모리 데이터 읽기 방법.
  13. 삭제
  14. 삭제
KR1020080009753A 2008-01-30 2008-01-30 메모리 장치 및 메모리 데이터 읽기 방법 KR101378349B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080009753A KR101378349B1 (ko) 2008-01-30 2008-01-30 메모리 장치 및 메모리 데이터 읽기 방법
US12/232,138 US7843727B2 (en) 2008-01-30 2008-09-11 Memory device and data reading method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080009753A KR101378349B1 (ko) 2008-01-30 2008-01-30 메모리 장치 및 메모리 데이터 읽기 방법

Publications (2)

Publication Number Publication Date
KR20090083759A KR20090083759A (ko) 2009-08-04
KR101378349B1 true KR101378349B1 (ko) 2014-03-28

Family

ID=40899056

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080009753A KR101378349B1 (ko) 2008-01-30 2008-01-30 메모리 장치 및 메모리 데이터 읽기 방법

Country Status (2)

Country Link
US (1) US7843727B2 (ko)
KR (1) KR101378349B1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101616100B1 (ko) * 2009-09-25 2016-04-28 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
DE102010037579B4 (de) 2009-09-25 2023-01-19 Samsung Electronics Co., Ltd. Nichtflüchtige Speichervorrichtung und -system sowie Verfahren zum Programmieren einer nichtflüchtigen Speichervorrichtung
US8634240B2 (en) * 2009-10-28 2014-01-21 SanDisk Technologies, Inc. Non-volatile memory and method with accelerated post-write read to manage errors
US8423866B2 (en) * 2009-10-28 2013-04-16 SanDisk Technologies, Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8825945B2 (en) 2011-01-31 2014-09-02 Marvell World Trade Ltd. Mapping different portions of data to different pages of multi-level non-volatile memory
US8537623B2 (en) * 2011-07-07 2013-09-17 Micron Technology, Inc. Devices and methods of programming memory cells
US8432740B2 (en) 2011-07-21 2013-04-30 Sandisk Technologies Inc. Program algorithm with staircase waveform decomposed into multiple passes
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US8726104B2 (en) * 2011-07-28 2014-05-13 Sandisk Technologies Inc. Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages
US20130031431A1 (en) * 2011-07-28 2013-01-31 Eran Sharon Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US8687421B2 (en) * 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US8566671B1 (en) 2012-06-29 2013-10-22 Sandisk Technologies Inc. Configurable accelerated post-write read to manage errors
CN103198020B (zh) * 2013-03-18 2016-05-25 山东华芯半导体有限公司 一种提高闪存使用寿命的方法
US9213601B2 (en) 2013-12-03 2015-12-15 Sandisk Technologies Inc. Adaptive data re-compaction after post-write read verification operations
KR102161535B1 (ko) 2014-09-24 2020-10-06 삼성디스플레이 주식회사 표시 장치 및 이의 구동 방법
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
KR102451154B1 (ko) * 2015-12-07 2022-10-06 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
US11099781B2 (en) 2018-07-19 2021-08-24 Silicon Motion, Inc. Flash memory controller, flash memory module and associated electronic device
KR20210156563A (ko) 2020-06-18 2021-12-27 삼성전자주식회사 에러 체크 코드(ecc) 디코더 및 이를 포함하는 메모리 시스템
US20230410921A1 (en) * 2022-06-21 2023-12-21 Sandisk Technologies Llc Three-bit-per-cell programming using a four-bit-per-cell programming algorithm

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100597790B1 (ko) 2005-05-04 2006-07-06 삼성전자주식회사 멀티레벨 불휘발성 반도체 메모리 장치 및 이에 대한데이터 독출방법
US20070242522A1 (en) 2006-04-12 2007-10-18 Hemink Gerrit J Apparatus for reducing the impact of program disturb
KR100778082B1 (ko) 2006-05-18 2007-11-21 삼성전자주식회사 단일의 래치 구조를 갖는 멀티-비트 플래시 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리카드

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4437519B2 (ja) 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
US20040083334A1 (en) 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
JP2006048783A (ja) 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
US7810017B2 (en) 2006-03-20 2010-10-05 Micron Technology, Inc. Variable sector-count ECC
KR100836762B1 (ko) * 2006-12-11 2008-06-10 삼성전자주식회사 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100597790B1 (ko) 2005-05-04 2006-07-06 삼성전자주식회사 멀티레벨 불휘발성 반도체 메모리 장치 및 이에 대한데이터 독출방법
US20070242522A1 (en) 2006-04-12 2007-10-18 Hemink Gerrit J Apparatus for reducing the impact of program disturb
KR100778082B1 (ko) 2006-05-18 2007-11-21 삼성전자주식회사 단일의 래치 구조를 갖는 멀티-비트 플래시 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리카드

Also Published As

Publication number Publication date
US20090190397A1 (en) 2009-07-30
US7843727B2 (en) 2010-11-30
KR20090083759A (ko) 2009-08-04

Similar Documents

Publication Publication Date Title
KR101378349B1 (ko) 메모리 장치 및 메모리 데이터 읽기 방법
US10891187B2 (en) Memory devices having differently configured blocks of memory cells
KR101414494B1 (ko) 메모리 장치 및 메모리 데이터 읽기 방법
JP5090538B2 (ja) メモリ装置およびメモリデータ読み出し方法
US8239747B2 (en) Nonvolatile memory devices that utilize error correction estimates to increase reliability of error detection and correction operations
US8479083B2 (en) Flash memory devices having multi-bit memory cells therein with improved read reliability
US8972775B2 (en) Memory device and method of managing memory data error including determining verification voltages and changing threshold voltages based on a corrected error bit
US8179718B2 (en) Memory device and memory programming method
US7864574B2 (en) Memory device and memory programming method
US9478298B2 (en) Memory system and method of reading data thereof
KR20150119169A (ko) 메모리 디바이스에서의 에러 정정 동작들
KR20090099265A (ko) 메모리 장치 및 데이터 판정 방법
US20090182934A1 (en) Memory device and method of multi-bit programming
KR20090117172A (ko) 메모리 장치 및 메모리 데이터 읽기 방법
KR101437103B1 (ko) 메모리 장치 및 메모리 데이터 읽기 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 7