KR20080094246A - 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법 - Google Patents

비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법 Download PDF

Info

Publication number
KR20080094246A
KR20080094246A KR1020070038414A KR20070038414A KR20080094246A KR 20080094246 A KR20080094246 A KR 20080094246A KR 1020070038414 A KR1020070038414 A KR 1020070038414A KR 20070038414 A KR20070038414 A KR 20070038414A KR 20080094246 A KR20080094246 A KR 20080094246A
Authority
KR
South Korea
Prior art keywords
lsb
read
memory cell
memory
cell
Prior art date
Application number
KR1020070038414A
Other languages
English (en)
Other versions
KR100875979B1 (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 KR1020070038414A priority Critical patent/KR100875979B1/ko
Priority to US12/103,176 priority patent/US7672162B2/en
Publication of KR20080094246A publication Critical patent/KR20080094246A/ko
Application granted granted Critical
Publication of KR100875979B1 publication Critical patent/KR100875979B1/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/26Sensing 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
    • 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

Landscapes

  • Read Only Memory (AREA)

Abstract

본 발명에 따른 멀티 레벨 셀을 갖는 비휘발성 메모리 장치의 LSB 읽기 방법은: (a) 메모리 셀의 LSB 데이터를 읽는 단계; 및 (b) 상기 (a) 단계에서 읽은 데이터에 오류가 발생할 경우, 상기 (a) 단계와 다른 방법으로 상기 메모리 셀의 LSB 데이터를 읽는 단계를 포함한다.
LSB, 플래그 셀

Description

비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 엘에스비 읽기 방법{A NONVOLATILE MEMORY DEVICE, MEMORY SYSEM HAVING ITS AND METHOD OF LSB READING THE SAME}
도 1은 2-비트 메모리 셀을 갖는 낸드 플래시 메모리의 프로그램 방법을 보여주고 있다.
도 2는 도 1에 도시된 메모리 셀을 갖는 낸드 플래시 메모리의 LSB 읽기 방법을 보여주고 있다.
도 3은 도 1에 도시된 메모리 셀을 갖는 낸드 플래시 메모리의 MSB 읽기 방법을 보여주고 있다.
도 4는 LSB 프로그램시 플래그 셀이 디스터브를 받은 예이다.
도 5는 제 1 MSB 프로그램시 전원이 꺼짐으로 플래그 셀이 디스터브를 받은 예이다.
도 6은 제 2 MSB 프로그램시 전원이 꺼짐으로 플래그 셀이 디스터브를 받은 예이다.
도 7은 본 발명에 따른 비휘발성 메모리 장치(100)를 보여주고 있다.
도 8은 본 발명에 따른 비휘발성 메모리 장치의 LSB 읽기 방법을 보여주고 있다.
도 9는 도 8에 도시된 LSB 읽기 방법에 대한 실시예이다.
도 10은 본 발명에 따른 메모리 시스템(10)을 보여주고 있다.
*도면의 주요부분에 대한 부호의 설명*
100,200: 비휘발성 메모리 장치 10: 메모리 시스템
110: 메모리 코어 120: 읽기 상태 머신
130,320: 에러 감지 모듈 140: LSB 복구 읽기 상태 머신
300: 메모리 제어기 310: 메모리 제어 모듈
본 발명은 비휘발성 메모리 장치에 관한 것으로, 좀 더 구체적으로 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 LSB(Least Significant Bit) 읽기 방법에 관한 것이다.
최근, 휘발성 메모리들과 비휘발성 메모리들과 같은 저장 장치들의 응용들이 MP3 플레이어, PMP, 휴대전화, 노트북 컴퓨터, PDA 등과 같은 모바일 기기들에 급속히 확산되고 있다. 이러한 모바일 기기들은 다양한 기능들(예를 들면, 동영상 재생기능)을 제공하기 위하여 점차적으로 대용량의 저장장치들을 필요로 하고 있다. 이러한 요구를 충족하기 위하여 하나의 메모리 셀에 2-비트 혹은 그 보다 많은 데이터들을 저장하는 멀티-비트 메모리 장치가 제안되어 오고 있다.
하나의 메모리 셀에 멀티-비트 데이터를 저장하는 예시적인 멀티-비트 메모 리 장치들은 U.S. Paten No. 6,122,188에 "NON-VOLATILE MEMORY DEVICE HAVING MULTI-BIT CELL STRUCTURE AND A METHOD OF PROGRAMMING SAME" 라는 제목으로, U.S. Patent No. 6,075,734에 "INTEGRATED CIRCUIT MEMORY DEVICE FOR STORING A MULTI-BIT DATA AND A METHOD FOR READING STORED DATA IN THE SAME"라는 제목으로, 및 U.S. Patent No. 5,923,589에 "MULTI-BIT MEMORY CELL ARRAY OF A NON-VOLATILE SEMICONDUCTOR MEMORY DEVICE AND METHOD FOR DRIVING THE SAME"라는 제목으로 각각 게재되어 있다.
하나의 메모리 셀에 1-비트 데이터를 저장하는 경우, 메모리 셀은 2개의 문턱 전압 분포들 중 어느 하나에 속하는 문턱 전압을 갖는다. 즉, 메모리 셀은 데이터 '1'과 데이터 '0'을 각각 나타내는 2개의 상태들 중 하나를 갖는다. 이에 반해서, 하나의 메모리 셀에 2-비트 데이터를 저장하는 경우, 메모리 셀은 4개의 문턱 전압 분포들 중 어느 하나에 속하는 문턱 전압을 갖는다. 즉, 하나의 메모리 셀은 데이터 '11', 데이터 '10', 데이터 '01' 및 데이터 '00'을 각각 나타내는 4개의 상태들 중 하나를 갖는다.
메모리 셀의 문턱전압이 '온'(On) 상태(소거된 상태)로부터 더 높은 상태의 문턱전압으로 증가될 때, 메모리 셀이 "프로그램된다"고 일컫는다. 도 1은 2-비트 메모리 셀을 갖는 낸드 플래시 메모리의 프로그램 방법을 보여주고 있다. 도 1을 참조하면, 2-비트 메모리 셀의 프로그램은 LSB(Least Significant Bit) 프로그램 및 MSB(Most Significant Bit) 프로그램으로 구분된다. 즉, 2-비트 메모리 셀을 갖는 낸드 플래시 메모리는 LSB 프로그램을 수행한 뒤, MSB 프로그램을 수행한다.
도 1을 참조하면, 2-비트 메모리 셀은 다음의 세가지 상태를 유지하게 된다. (a)는 메모리 셀이 소거된 상태를, (b)는 메모리 셀이 LSB 프로그램된 상태를, 그리고 (c)는 메모리 셀이 MSB 프로그램된 상태를 각각 보여주고 있다.
도 1을 참조하면, 2-비트 메모리 셀의 프로그램 과정은 다음과 같다. 여기서 프로그램할 데이터가 '10'인 경우에, '0'은 LSB 데이터라 하고, '1'는 MSB 데이터라 한다. 우선 소거된 상태의 메모리 셀에 LSB 프로그램 동작이 수행되면, 메모리 셀은 '11' 상태 혹은 '10' 상태를 갖는다. 그 뒤, MSB 프로그램 동작이 수행되면, '10'의 상태의 메모리 셀은 '00' 상태 및 '10' 상태로 프로그램되고, '11' 상태의 메모리 셀은 '01' 상태로 프로그램된다. 여기서 플래시 셀(Flag Cell)은 해당 페이지가 MSB까지 프로그램되었는지 판단하기 위한 메모리 셀이다. 즉, 플래그 셀의 위치에 따라, 해당 페이지가 LSB 프로그램되었는지 혹은 MSB로 프로그램되었는지를 판단하게 된다.
낸드 플래시 메모리는 외부로부터(예를 들어, 메모리 제어기) 읽기 명령과 주소를 입력받으면 LSB 읽기 동작 혹은 MSB 읽기 동작을 수행하게 된다. 일반적으로 페이지 주소는 LSB 페이지 혹은 MSB 페이지로 구분되어 있다. 따라서, 낸드 플래시 메모리는 입력되는 읽기 명령과 주소에 응답하여 해당 페이지를 LSB 읽기 동작을 수행할 지 혹은 MSB 읽기 수행할 지를 결정하여 읽기 동작을 수행하게 된다. 아래에서는 낸드 플래시 메모리의 LSB 읽기 동작과 MSB 읽기 동작에 대한 실시예를 보여주고 있다.
도 2는 도 1에 도시된 메모리 셀을 갖는 낸드 플래시 메모리의 LSB 읽기 동 작을 보여주고 있다. 도 1 및 도 2을 참조하면, 낸드 플래시 메모리의 LSB 읽기 동작은 다음과 같다.
S111 단계에서는, 낸드 플래시 메모리는 입력된 읽기 명령과 주소에 따라 LSB 읽기 동작임을 판단하고, 읽고자 하는 메모리 셀이 포함된 해당 페이지의 데이터를 제 2 읽기 전압(R2)을 기준으로 읽는다. 해당 페이지의 내에는 해당 페이지가 LSB 프로그램 되었는 지 혹은 MSB 프로그램 되었는지 알려주는 플래그 셀도 포함되어 있다.
S112 단계에서는, S111 단계에서 플래그 셀의 문턱전압이 제 2 읽기 전압(R2)보다 큰지 판단한다. 만약 해당 페이지가 LSB 프로그램되었다면, 플래그 셀의 문턱전압은 제 2 읽기 전압(R2)보다 크지 않을 것이다. 반면 해당 페이지가 MSB 프로그램되었다면, 플래그 셀의 문턱전압은 제 2 읽기 전압(R2)보다 클 것이다.
S113 단계에서는, S112 단계의 판단결과, 플래그 셀의 문턱전압이 제 2 읽기 전압(R2)보다 크지 않다면, 낸드 플래시 메모리는 제 1 읽기 전압(R1)을 기준으로 해당 페이지의 데이터를 읽는다. 즉, 해당 페이지가 LSB 프로그램되어 있다면, 낸드 플래시 메모리는 해당 페이지의 데이터를 제 1 읽기 전압(R1)을 기준으로 다시 읽는다.
S114 단계에서는, 해당 페이지의 복수의 메모리 셀의 문턱전압이 제 1 읽기 전압(R1)보다 큰지를 판단한다. 따라서, 낸드 플래시 메모리는 읽고자 하는 메모리 셀의 문턱전압이 제 1 읽기 전압(R1)보다 큰지를 판단하여 해당 메모리 셀의 LSB 데이터를 판단하게 된다.
S115 단계에서는, S112 단계의 판단결과, 플래그 셀의 문턱전압이 제 2 읽기 전압(R2)보다 크다면, 해당 페이지의 복수의 메모리 셀의 문턱전압이 제 2 읽기 전압(R2)보다 큰지를 판단한다. 즉, 해당 페이지가 MSB 프로그램되어 있다면, 읽고자 하는 메모리 셀의 문턱전압이 제 2 읽기 전압(R2)보다 큰지를 판단하여 해당 메모리 셀의 LSB 데이터를 판단하게 된다.
S116 단계에서는, S114 단계의 판단결과 해당 메모리 셀의 문턱전압이 제 1 읽기 전압(R1)보다 크지 않다면, 해당 메모리 셀은 LSB 데이터 '1'이 저장되어 있다고 판단한다. 또한, S115 단계의 판단결과 해당 메모리 셀의 문턱전압이 제 2 읽기 전압(R2)보다 크지 않다면, 해당 메모리 셀은 LSB 데이터 '1'이 저장되어 있다고 판단한다.
S117 단계에서는, S114 단계의 판단결과 해당 메모리 셀의 문턱전압이 제 1 읽기 전압(R1)보다 크다면, 해당 메모리 셀은 LSB 데이터 '0'이 저장되어 있다고 판단한다. 또한, S115 단계의 판단결과 해당 메모리 셀의 문턱전압이 제 2 문턱전압(R2)보다 크다면, 해당 메모리 셀은 LSB 데이터 '0'이 저장되어 있다고 판단한다.
도 3은 도 1에 도시된 메모리 셀을 갖는 낸드 플래시 메모리의 MSB 읽기 동작을 보여주고 있다. 도 1 및 도 3을 참조하면, 낸드 플래시 메모리의 MSB 읽기 동작은 다음과 같다.
S211 단계에서는 낸드 플래시 메모리는 입력되는 읽기 명령과 주소에 따라 MSB 읽기 동작임을 판단하고 해당 메모리 셀이 포함된 페이지의 데이터를 제 1 읽 기 전압(R1)으로 읽는다. 해당 페이지의 내에는 해당 페이지가 LSB 프로그램 되었는 지 혹은 MSB 프로그램 되었는지 알려주는 플래그 셀도 포함되어 있다.
S212 단계에서는, 낸드 플래시 메모리는 플래그 셀의 문턱전압이 제 1 읽기 전압(R1)보다 작은지 판단한다. 만약 해당 페이지가 LSB 프로그램되었다면, 플래그 셀의 문턱전압은 제 1 읽기 전압(R1)보다 크지 않을 것이다. 반면 해당 페이지가 MSB 프로그램되었다면, 플래그 셀의 문턱전압은 제 1 읽기 전압(R1)보다 클 것이다.
S213 단계에서는, S212 단계의 판단결과 플래그 셀의 문턱전압이 제 1 읽기 전압(R1)보다 작지 않으면, 낸드 플래시 메모리는 읽고자 하는 메모리 셀의 문턱전압이 제 1 읽기 전압(R1)보다 작은지 판단한다.
S214 단계에서는, S213 단계의 판단결과 해당 메모리 셀의 문턱전압이 제 1 읽기 전압(R1)보다 작지 않다면, 낸드 플래시 메모리는 해당 페이지의 데이터를 제 3 읽기 전압(R3)을 기준으로 다시 읽는다.
S215 단계에서는, 읽고자하는 메모리 셀의 문턱전압이 제 3 읽기 전압(R3)보다 큰지 판단한다.
S216 단계에서는, S215 단계의 판단결과 해당 메모리 셀의 문턱전압이 제 3 읽기 전압(R3)보다 크지 않다면, 해당 메모리 셀은 MSB 데이터 '0'이 저장되어 있다고 판단한다.
S217 단계에서는, S212 단계의 판단결과 플래그 메모리 셀의 문턱전압이 제 1 읽기 전압(R1)보다 작다면, 해당 메모리 셀은 MSB 데이터 '1'이 저장되어 있다고 판단한다. 또한, S214 단계의 판단결과 해당 메모리 셀의 문턱전압이 제 1 읽기 전압(R1)보다 작다면, 해당 메모리 셀은 MSB 데이터 '1'이 저장되어 있다고 판단한다. 마지막으로, S215 단계의 판단결과 해당 메모리 셀의 문턱전압이 제 3 읽기 전압(R3)보다 크다면, 해당 메모리 셀은 MSB 데이터 '1'이 저장되어 있다고 판단한다.
도 1에 보았듯이, 일반적인 플래그 셀은 소거 상태 및 LSB 프로그램시 데이터 "11" 상태로 유지되고 있다가, MSB 프로그램시 데이터 '10' 상태로 프로그램된다. 하지만, 여러 이유(예를 들어, 일기 전압 스트레스, 쓰기 전압 스트레스, 커플링, 전원 꺼짐)로 플래그 셀이 디스터브(disturb)를 받게 될 수 있다. 이때 LSB 프로그램 및 MSB 프로그램 수행할 때 플래그 셀이 적합한 데이터 상태를 유지하지 못할 수도 있다. 이러할 때, 해당 페이지의 데이터를 읽는데 오류가 발생하게 된다. 도 4 내지 도 6은 디스터브된 플래그 셀을 보여주고 있다.
도 4는 LSB 프로그램시 플래그 셀이 디스터브를 받은 예이다. 도 4를 참조하면, 플래그 셀의 문턱전압은 데이터 '10' 상태이며, 제 2 읽기 전압(R2)보다 더 높다. 따라서, 제 1 읽기 전압(R1)과 제 2 읽기 전압(R2) 사이에 문턱 전압을 가지는 메모리 셀의 LSB 읽기 동작시, 해당 메모리 셀의 데이터가 잘못 판단된다. 즉, 해당 메모리 셀의 정상적인 LSB 데이터는 '0'이다. 하지만, LSB 읽기 동작을 수행하면, 디스터브된 플래그 셀로 인하여 해당 메모리 셀의 LSB 데이터는 '1'로 읽히게 된다.
한편, 낸드 플래시 메모리에서 MSB 프로그램을 수행하는 도중에, 전원이 꺼 지면, MSB 페이지의 데이터와 MSB 페이지와 워드라인을 공유하는 LSB 페이지의 데이터가 손상될 수 있다. 이는 플래그 셀이 데이터 '11'상태에서 데이터 '10' 상태로 프로그램되는 도중에 있게 되기 때문이다.
도 5는 제 1 MSB 프로그램시 전원이 꺼짐으로 플래그 셀이 디스터브를 받은 예이다. 도 5를 참조하면, 플래그 셀의 문턱전압은 데이터 'X0' 상태이며, 제 2 읽기 전압(R2)과 제 3 읽기 전압(R3) 사이에 있다. 따라서, LSB 읽기 동작시 메모리 셀의 데이터를 잘못 판단하게 된다. 즉, 해당 메모리 셀의 정상적인 LSB 데이터는 '0'이다. 하지만, LSB 읽기 동작을 수행하면 디스터브된 플래그 셀로 인하여 해당 메모리 셀의 LSB 데이터는 '1'로 읽히게 된다.
도 6은 제 2 MSB 프로그램시 전원이 꺼짐으로 플래그 셀이 디스터브를 받은 예이다. 도 6을 참조하면, 플래그 셀의 문턱전압은 데이터 '10' 상태에 존재한다. 따라서 LSB 읽기 동작시 메모리 셀의 데이터를 잘못 판단하게 된다. 즉, 해당 메모리 셀의 정상적인 LSB 데이터는 '0'이다. 하지만, LSB 읽기 동작을 수행하면 디스터브된 플래그 셀로 인하여 해당 메모리 셀의 LSB 데이터는 '1'로 읽히게 된다.
상술한 바와 같이 종래의 낸드 플래시 메모리는 LSB 읽기 동작시 플래그 셀의 디스터브에 의하여 LSB 데이터를 잘못 읽을 수 있다. 또한 종래의 LSB 읽기 방법은 잘못 읽은 LSB 데이터에 대한 복구 동작을 수행하지 못한다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 잘못 읽은 LSB 데이터에 대한 복구 동작을 수행하는 비휘발성 메모리 장치, 그 것을 포함하는 메모리 시스템 및 그것의 LSB 읽기 방법을 제공하는데 있다.
본 발명에 따른 멀티 레벨 셀을 갖는 비휘발성 메모리 장치의 LSB 읽기 방법은: (a) 메모리 셀의 LSB 데이터를 읽는 단계; 및 (b) 상기 (a) 단계에서 읽은 데이터에 오류가 발생할 경우, 상기 (a) 단계와 다른 방법으로 상기 메모리 셀의 LSB 데이터를 읽는 단계를 포함한다.
실시예에 있어서, 상기 (a) 단계의 LSB 데이터 읽기 동작은 플래그 셀을 이용하여 상기 메모리 셀의 LSB 데이터를 읽되, 상기 플래그 셀은 상기 메모리 셀이 LSB 프로그램되었는 지 혹은 MSB 프로그램되었는 지 알려준다.
실시예에 있어서, 상기 (b) 단계의 LSB 데이터 읽기 동작은 상기 플래그 셀을 이용하지 않고 상기 메모리 셀의 LSB 데이터를 읽는다.
실시예에 있어서, 상기 (b) 단계 이후, 상기 LSB 데이터에 오류가 있는지를 판단하는 단계를 더 포함한다.
실시예에 있어서, 상기 멀티 레벨 셀은 2-비트 메모리 셀이다.
실시예에 있어서, 상기 메모리 셀은 문턱 전압의 레벨에 따라 '11','10','00','01' 상태들을 포함하되, LSB 프로그램시 상기 메모리 셀은 '11' 혹은 '10' 상태이며, 상기 플래그 셀은 LSB 프로그램시 '11' 상태이고, MSB 프로그램시 '01' 상태이다.
실시예에 있어서, 상기 (a) 단계의 LSB 데이터 읽기 동작은, 상기 플래그 셀의 문턱 전압이 제 2 읽기 전압보다 큰지 판단하는 단계; 상기 판단 결과 상기 플 래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크지 않다면, 상기 메모리 셀이 제 1 읽기 전압보다 큰지 판단하는 단계; 및 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크다면, 상기 메모리 셀이 제 2 읽기 전압보다 큰지 판단하는 단계를 포함하되, 상기 제 1 읽기 전압은 상기 '11' 상태와 상기 '01' 상태 사이에 있으며, 상기 제 2 읽기 전압은 상기 '01' 상태와 상기 '00' 상태 사이에 있다.
실시예에 있어서, 상기 (b) 단계의 상기 LSB 데이터 읽기 동작은 상기 메모리 셀이 상기 제 1 읽기 전압보다 큰지 판단하는 단계를 포함한다.
본 발명에 따른 LSB 프로그램 및 MSB 프로그램할 수 있는 메모리 셀을 갖는 비휘발성 메모리 장치는: 상기 메모리 셀의 읽기 동작 및 프로그램 동작을 수행하는 메모리 코어; 외부로부터 입력되는 읽기 명령과 주소에 따라 LSB 읽기 동작을 수행하거나 혹은 MSB 읽기 동작을 수행하도록 상기 메모리 코어를 제어하는 읽기 상태 머신; 상기 LSB 읽기 동작시 상기 메모리 셀로부터 읽어온 LSB 데이터에 오류가 있는지를 감지하여 에러 신호를 생성하는 에러 감지 모듈; 및 상기 에러 신호에 응답하여 상기 읽기 상태 머신의 LSB 동작과는 다른 LSB 복구 동작을 수행하도록 상기 메모리 코어를 제어하는 LSB 복구 읽기 상태 머신을 포함한다.
실시예에 있어서, 상기 읽기 상태 머신은 플래그 셀을 이용하여 상기 메모리 셀의 LSB 데이터를 읽도록 상기 메모리 코어를 제어하되, 여기서 상기 플래그 셀은 상기 메모리 셀이 LSB 프로그램되었는 지 혹은 MSB 프로그램되었는 지 알려준다.
실시예에 있어서, 상기 LSB 복구 읽기 상태 머신은 상기 플래그 셀을 이용하 지 않고 상기 메모리 셀의 LSB 데이터를 읽는다.
실시예에 있어서, 상기 메모리 셀은 2-비트 메모리 셀이다.
실시예에 있어서, 상기 메모리 셀은 문턱 전압의 레벨에 따라 '11','10','00','01' 상태들을 포함하되, LSB 프로그램시 상기 메모리 셀은 '11' 혹은 '10' 상태이고, 상기 플래그 셀은 LSB 프로그램시 '11' 상태이고, MSB 프로그램시 '01' 상태이다.
실시예에 있어서, 상기 읽기 상태 머신은 상기 플래그 셀의 문턱 전압이 제 2 읽기 전압보다 큰지 판단하고, 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크지 않다면 상기 메모리 셀이 제 1 읽기 전압보다 큰지 판단하며, 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크다면 상기 메모리 셀이 제 2 읽기 전압보다 큰지 판단하되, 상기 제 1 읽기 전압은 상기 '11' 상태와 상기 '01' 상태 사이에 있으며, 상기 제 2 읽기 전압은 상기 '01' 상태와 상기 '00' 상태 사이에 있다.
실시예에 있어서, 상기 LSB 복구 읽기 상태 머신은 상기 메모리 셀이 상기 제 1 읽기 전압보다 큰지 판단한다.
본 발명에 따른 메모리 시스템은: LSB 프로그램 혹은 MSB 프로그램할 수 있는 메모리 셀을 갖는 비휘발성 메모리 장치; 및 메인 LSB 읽기 동작으로 상기 메모리 셀의 LSB 데이터를 읽어오고, 상기 읽어온 LSB 데이터에 오류가 발생할 경우 LSB 복구 읽기 동작으로 상기 메모리 셀의 LSB 데이터를 읽어오는 메모리 제어기를 포함하되, 여기서 상기 메인 LSB 읽기 동작과 상기 LSB 복구 읽기 동작은 서로 다 르다.
실시예에 있어서, 상기 메모리 제어기는 상기 메인 LSB 읽기 동작시, 읽어온 LSB 데이터에 오류가 발생하였는지 감지하여 에러 신호를 생성하는 에러 감지 모듈을 포함한다.
실시예에 있어서, 상기 비휘발성 메모리 장치는, 상기 메모리 셀의 읽기 동작 및 프로그램 동작을 수행하는 메모리 코어; 상기 메모리 제어기의 제 1 읽기 명령에 따라 상기 메인 LSB 읽기 동작을 수행하도록 상기 메모리 코어를 제어하는 읽기 상태 머신; 및 상기 메모리 제어기의 제 2 읽기 명령에 따라 상기 읽기 상태 머신의 메인 LSB 읽기 동작과는 다른 상기 LSB 복구 읽기 동작을 수행하도록 상기 메모리 코어를 제어하는 LSB 복구 읽기 상태 머신을 포함하되, 상기 제 2 읽기 명령은 상기 에러 감지 모듈에서 생성된 상기 에러 신호에 응답하여 상기 메모리 제어기에서 생성된다.
실시예에 있어서, 상기 메인 LSB 읽기 동작은 플래그 셀을 이용하여 상기 메모리 셀로부터 LSB 데이터을 읽되, 여기서 상기 플래그 셀은 상기 메모리 셀이 LSB 프로그램되었는 지 혹은 MSB 프로그램되었는 지 알려준다.
실시예에 있어서, 상기 LSB 복구 읽기 동작은 상기 플래그 셀을 이용하지 않고 LSB 데이터를 읽는다.
실시예에 있어서, 상기 메모리 셀은 2-비트 메모리 셀이다.
실시예에 있어서, 상기 메모리 셀은 문턱 전압의 레벨에 따라 '11','10','00','01' 상태들을 포함하되, LSB 프로그램시 상기 메모리 셀은 '11' 혹은 '10' 상태이며, 상기 플래그 셀은 LSB 프로그램시 '11' 상태이고, MSB 프로그램시 '01' 상태이다.
실시예에 있어서, 상기 메인 LSB 읽기 동작은 상기 플래그 셀의 문턱 전압이 제 2 읽기 전압보다 큰지 판단하고, 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크지 않다면 상기 메모리 셀이 제 1 읽기 전압보다 큰지 판단하며, 및 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크다면 상기 메모리 셀이 제 2 읽기 전압보다 큰지 판단하되, 상기 제 1 읽기 전압은 상기 '11' 상태와 상기 '01' 상태 사이에 있으며, 상기 제 2 읽기 전압은 상기 '01' 상태와 상기 '00' 상태 사이에 있다.
실시예에 있어서, 상기 LSB 복구 읽기 동작은 상기 메모리 셀이 상기 제 1 읽기 전압보다 큰지 판단한다.
실시예에 있어서, 상기 비휘발성 메모리 장치는 낸드 플래시 메모리이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시예를 첨부된 도면을 참조하여 설명한다.
본 발명에 따른 멀티 레벨 셀을 갖는 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템은 복수의 LSB 읽기 동작을 포함하고 있다. 복수의 LSB 읽기 동작은 필수적으로 사용되는 메인 LSB 읽기 동작과 메인 LSB 읽기 동작으로 LSB 데이터를 읽었을 때 오류가 발생할 경우에만 사용되는 LSB 복구 읽기 동작을 포함하고 있다. 여기서 LSB 복구 읽기 동작은 메인 LSB 읽기 동작과는 서로 다른 방식으로 해당 메모리 셀의 LSB 데이터를 읽는다.
일례로, 메인 LSB 읽기 동작은 플래그 셀을 이용하여 메모리 셀의 LSB 데이터를 읽고, LSB 복구 읽기 동작은 플래그 셀을 이용하지 않고 메모리 셀의 LSB 데이터를 읽을 수 있다. 일반적으로 플래그 셀은 메모리 셀이 MSB 프로그램되었는 지 혹은 LSB 프로그램되었는 지를 알려준다.
본 발명의 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 LSB 읽기 방법은 메모리 셀의 LSB 데이터에 대한 읽기 동작이 실패하더라도 한번 더 복구 동작을 수행하게 된다. 한편, 플래그 셀이 사용되는 경우, 본 발명은 디스터브된 플래그 셀이더라도 LSB 데이터를 읽는데 발생되는 오류를 극복할 수 있게 된다.
도 7은 본 발명에 따른 비휘발성 메모리 장치(100)를 보여주고 있다. 도 7을 참조하면, 비휘발성 메모리 장치(100)는 메모리 코어(110), 읽기 상태 머신(120), 에러 감지 모듈(130) 및 LSB 복구 읽기 상태 머신(140)을 포함하고 있다. 본 발명에 따른 비휘발성 메모리 장치(100)는 LSB 복구 읽기 상태 머신(140)을 구비하여 LSB 읽기 동작시 LSB 데이터의 오류가 감지되면, LSB 복구 읽기 동작을 수행하게 된다.
메모리 코어(110)는 멀티-비트 메모리 셀을 포함하는 메모리 셀 어레이(도시되지 않음) 및 제어신호들에 응답하여 메모리 셀에 데이터를 프로그램하거나 읽기 위해 필요한 회로들(도시되지 않음)을 포함하고 있다. 여기서 제어신호들은 프로그램 상태머신(도시되지 않음), 읽기 상태 머신(130) 및 LSB 복구 읽기 상태 머 신(140)에서 생성된다. 예를 들어, 프로그램 상태 머신(도시되지 않음)은 프로그램을 수행하는데 필요한 제어신호들을 생성하고, 읽기 상태 머신(130)는 읽기 동작을 수행하는데 필요한 제어신호들을 생성하며 및 LSB 복구 읽기 상태 머신(140)은 LSB 복구 읽기 동작을 수행하는데 필요한 제어신호들을 생성한다.
아래에서는 설명의 편의를 위하여, 메모리 코어(100)를 2-비트 메모리 셀을 포함하는 낸드 플래시 메모리 코어라고 가정하겠다. 이때 메모리 코어(100)는 페이지 단위로 데이터를 프로그램하거나 읽기 위한 페이지 버퍼(도시되지 않음)을 포함하고 있다. 본 발명의 메모리 셀은 LSB 프로그램된 상태 혹은 MSB 프로그램된 상태를 갖는다. 메모리 코어(110)는 해당 메모리 셀이 LSB 프로그램되었는 지 혹은 MSB 프로그램되었는지 알려주는 플래그 셀을 포함하고 있다. 여기서 플래그 셀은 메모리 셀을 포함하는 해당 페이지 내에 존재한다.
읽기 상태 머신(120)은 외부(예를 들어 메모리 제어기)로부터 읽기 명령과 주소를 입력받아 메모리 코어(110)에 읽기 동작을 수행을 하도록 한다. 구체적으로 읽기 상태 머신(120)은 입력된 읽기 명령과 주소에 따라 데이터를 읽고자 하는 해당 페이지 버퍼를 LSB 읽기 동작을 수행할 지 혹은 MSB 읽기 동작을 수행할 지 결정하여 필요한 제어신호들을 생성한다. 메모리 코어(110)는 읽기 상태 머신(120)에서 생성된 제어신호들에 응답하여 LSB 읽기 동작 혹은 MSB 읽기 동작을 수행하게 된다. 아래에서는 읽기 상태 머신(120)의 LSB 읽기 동작을 메인 LSB 읽기 동작이라고 하겠다.
예를 들어, 낸드 플래시 메모리에서, 읽기 상태 머신(120)은 입력되는 읽기 명령과 주소에 따라 도 2 및 도 3에 도시된 바와 같이 LSB 읽기 동작(메인 LSB 읽기 동작) 혹은 MSB 읽기 동작을 수행하도록 메모리 코어(110)을 제어할 것이다.
에러 감지 모듈(130)은 데이터 읽기 동작시 해당 메모리 셀로부터 읽어온 데이터에 오류가 없는지를 감지한다. 또한 감지한 오류가 정정 가능하면, 에러 감지 모듈(130)은 정정할 수 있다. 정정할 수 없는 오류가 발생할 경우, 에러 감지 모듈(130)은 에러 신호를 생성하여 LSB 복구 읽기 상태 머신(140)에 전달한다.
이러한 에러 감지 모듈(130)은 ECC(Error Correction Cord) 회로, CRC(Cyclic Redundancy Check) 회로 및 EDC(Error-detecting Codes) 회로 등을 포함할 수 있다. 여기서 ECC 회로(도시되지 않음)는 해밍 코드(Hanmming Code), BCH 코드, 리드-솔로몬(Reed-Solomon Code) 등의 다양한 코드 방식으로 구현될 수 있다. 예를 들면, 소정의 비트로 이루어지는 해밍 코드를 이용한 ECC 회로는 2-비트 에러를 검출하고, 1-비트 에러를 정정할 수 있다. 즉, 해밍 코드를 이용한 ECC 회로는 1-비트 에러를 검출하여 수정할 수 있고, 2-비트 에러를 검출할 수 있다. 그러나 3-비트 이상의 에러에 대해서는 정정은 물론 검출할 수도 없다. 반면 CRC 회로(도시되지 않음)는 3비트 이상의 에러를 검출할 수 있다.
LSB 복구 읽기 상태 머신(140)은 에러 감지 모듈(130)에서 전달된 에러 신호에 응답하여 해당 메모리 셀에 대하여 LSB 복구 읽기 동작을 수행하도록 메모리 코어(110)를 제어할 것이다. 이때 LSB 복구 읽기 동작은 읽기 상태 머신(120)의 메인 LSB 읽기 동작과는 읽는 방법이 서로 다르다. 즉, LSB 복구 읽기 동작은 메인 LSB 읽기 동작과는 서로 다른 기준으로 해당 메모리 셀의 LSB 데이터를 읽게 된다.
따라서, 본 발명의 비휘발성 메모리 장치(100)는 LSB 데이터 읽기 동작시 오류가 발생하면 LSB 데이터를 복구하는 기능을 갖게 된다. 예를 들어, 메인 LSB 읽기 동작은 플래그 셀을 이용하여 해당 메모리 셀의 LSB 데이터를 읽는다. 반면에 LSB 복구 읽기 동작은 플래그 셀을 이용하지 않고 해당 메모리 셀의 LSB 데이터를 읽는다. 곧 LSB 복구 읽기 동작은 플래그 셀의 문턱전압의 위치에 상관없이 해당 메모리 셀의 데이터를 읽는다. 종래의 비휘발성 메모리 장치는 디스터브된 플래그 셀이 존재할 때 메인 LSB 읽기 동작을 수행하며 데이터 오류가 발생하고, 곧 바로 읽기 동작 실패를 결정하였다. 하지만, 본 발명의 비휘발성 메모리 장치(100)는 데이터 오류가 발생하면 다시 LSB 복구 읽기 동작을 수행하여 디스터브된 플래그 셀이 존재하더라도 LSB 읽기 동작에 대한 오류를 극복할 수 있게 된다. 여기에 대한 자세한 설명은 도 9 내지 도 12에서 하겠다.
도 8은 본 발명에 따른 비휘발성 메모리 장치의 LSB 읽기 동작을 보여주고 있다. 도 7 및 도 8을 참조하면, 비휘발성 메모리 장치의 LSB 읽기 동작은 다음과 같다. 도시되지 않았지만, 메모리 제어기로부터 입력된 읽기 명령과 주소를 통하여, 비휘발성 메모리 장치는 LSB 읽기 동작을 수행하게 된다.
S310 단계에서는, 외부로부터 입력된 읽기 명령과 주소에 따라 읽기 상태 머신(120)은 LSB 읽기 동작을 수행하도록 메모리 코어(110)을 제어한다. 메인 LSB 읽기 동작은 통상적인 LSB 읽기 동작이다. 예를 들어, 만약 비휘발성 메모리 장치(100)가 2-비드 메모리 셀을 갖는 낸드 플래시 메모리라면, 메인 LSB 읽기 동작은 도 2에 도시된 LSB 읽기 동작이 될 수 있다.
S320 단계에서는, 에러 감지 모듈(130)은 LSB 읽기 동작시 읽은 데이터의 에러를 감지한다. 에러 감지 모듈(130)은 정정 가능한 에러이면 정정하고, 그렇지 않은 에러이면 에러 신호를 생성하여 LSB 복구 읽기 상태 머신(140)에 전달한다. 에러가 없다면, LSB 읽기 동작이 완료된다.
S330 단계에서는, S320 단계의 판단결과 정정 가능하지 않은 에러일 경우, LSB 복구 읽기 상태 머신(140)은 에러 신호에 응답하여 해당 메모리 셀을 다른 LSB 읽기 방법으로 LSB 복구 읽기 동작을 수행하도록 메모리 코어(110)을 제어한다.
예를 들어, LSB 복구 읽기 동작은 플래그 셀을 이용하지 않고 LSB 데이터를 읽을 수 있다. 이럴 경우, 플래그 셀이 디스터브되더라도, 해당 메모리 셀의 LSB 데이터를 완벽하게 복구할 수 있게 된다. 자세한 설명은 도 9 내지 12에서 설명하도록 하겠다.
S340 단계에서는, S330 단계 이후 에러 감지 모듈(140)은 LSB 복구 읽기 동작으로 읽은 LSB 데이터에 에러가 있는지를 감지하게 된다. 데이터 오류가 없다면, LSB 읽기 동작은 완료된다.
S350 단계에서는, S340 단계의 감지결과 데이터 오류가 있을 때 해당 메모리 셀의 읽기 동작 실패를 알리고 LSB 읽기 동작은 완료된다.
본 발명의 LSB 읽기 방법은 메인 LSB 읽기 동작시 데이터 오류가 발생할 경우, LSB 복구 읽기 동작을 수행한다. 따라서, 본 발명의 LSB 읽기 방법은 잘못 읽은 LSB 데이터를 복구할 수 있다. 예를 들어, 본 발명의 LSB 읽기 방법은 디스터브된 플래그 셀로 인하여 LSB 데이터 잘못 읽더라도, 다시 복구하여 제대로된 LSB 데 이터를 읽을 수 있게 된다.
도 9는 도 8에 도시된 LSB 읽기 동작에 대한 실시예이다. 여기서 메인 LSB 복구 읽기 동작(310)은 플래그 셀을 이용한 읽기 방법이고, LSB 복구 읽기 동작은 플래그 셀을 이용하지 않는 읽기 방법이다. S310 단계의 메인 LSB 읽기 동작은 도 2에서 상술된 LSB 읽기 동작과 동일하다.
도 1, 도 2, 도 7 및 도 9을 참조하면, S330 단계의 LSB 복구 읽기 동작은 아래와 같다.
S331 단계에서는, LSB 복구 읽기 상태 머신(140)은 에러 감지 모듈(130)의 에러 신호에 응답하여 제 1 읽기 전압(R1)을 기준으로 메모리 셀에 대한 읽기 동작을 수행하도록 메모리 코어(110)을 제어한다.
S332 단계에서는, 메모리 코어(110)는 해당 메모리 셀의 문턱 전압이 제 1 읽기 전압(R1)보다 큰지 판단한다.
S333 단계에서는, S332 단계의 판단결과 해당 메모리 셀의 문턱 전압이 제 1 읽기 전압(R1)보다 크지 않다면, 해당 메모리 셀은 데이터 '1'을 저장하고 있다고 판단한다. 이후 LSB 복구 읽기 동작은 완료된다.
S334 단계에서는, S332 단계의 판단결과 해당 메모리 셀의 문턱 전압이 제 1 읽기 전압(R1)보다 크다면, 해당 메모리 셀은 데이터 '0'을 저장하고 있다고 판단한다. 이후 LSB 복구 읽기 동작은 완료된다.
상술된 바와 같이 LSB 복구 읽기 동작이 완료된 후, 도 8에 도시된 바와 같이 다시 한번 읽은 데이터에 오류가 있는지를 확인한다. 이러한 확인결과에 따라 해당 메모리 셀에 대한 읽기 실패 혹은 읽기 완료가 결정된다.
본 발명의 LSB 복구 읽기 방법은 디스터드된 플래그 셀을 이용하지 않고 읽기 동작을 수행한다. 따라서 본 발명의 LSB 읽기 방법은 디스터브된 플래그 셀로 인하여 발생하는 LSB 데이터에 대한 읽기 오류를 극복할 수 있다.
아래에서는 본 발명의 LSB 읽기 방법이 어떻게 LSB 읽기 오류를 방지하는지 설명하도록 하겠다.
먼저 도 4의 LSB 읽기 오류를 어떻게 극복하는지 설명하도록 하겠다. 도 4을 참조하면, 플래그 셀의 문턱전압은 데이터 '10' 상태이며, 제 2 읽기 전압(R2)보다 더 높다. 여기서 읽고자 하는 메모리 셀이 데이터 '10' 상태이며 문턱전압이 제 1 읽기 전압(R1)보다 크고 제 2 읽기 전압(R2)보다 작다고 가정하자.
이때 읽기 상태 머신(120)의 메인 LSB 읽기 동작시, 해당 메모리 셀은 디스터브된 플래그 셀로 인하여 데이터 '1'을 저장하고 있다고 잘못 읽히게 된다. 에러 감지 모듈(130)은 이러한 데이터 오류를 감지하여 에러 신호를 생성하여 LSB 복구 읽기 상태 머신(140)에 전달한다. LSB 복구 읽기 상태 머신(140)은 에러 신호에 응답하여 해당 메모리 셀에 대하여 LSB 복구 읽기 동작을 수행하도록 메모리 코어(110) 제어한다. LSB 복구 읽기 상태 머신(140)의 LSB 복구 읽기 동작은 제 1 읽기 전압(R1)을 기준으로 해당 메모리 셀에 대한 읽기 동작을 수행한다. 이때 해당 메모리 셀의 문턱 전압이 제 1 읽기 전압(R1)보다 크기 때문에, LSB 복구 읽기에서 해당 메모리 셀은 데이터 '0'을 저장하고 있다고 읽히게 된다. 이로써, 본 발명의 LSB 복구 읽기 동작은 잘못 읽혀진 LSB 데이터를 복구하게 된다.
따라서 본 발명의 LSB 읽기 방법은 LSB 프로그램시 플래그 셀이 디스터브 되어 발생할 수 있는 LSB 읽기 동작 오류를 방지하게 된다.
도 5 및 도 6의 LSB 읽기 오류도 상술된 본 발명의 LSB 읽기 방법으로 극복될 수 있다.
본 발명에 따른 비휘발성 메모리 장치(100) 및 그것의 LSB 읽기 방법은 잘못읽은 LSB 데이터를 복구할 수 있다. 특히, 본 발명의 비휘발성 메모리 장치 및 그것의 LSB 읽기 방법은 플래그 셀이 디스터브되더라도 해당 메모리 셀의 LSB 데이터를 잘못 읽는 오류를 방지하게 된다.
본 발명의 비휘발성 메모리 장치(100)는 에러 감지 모듈(130)을 포함하고 있다. 그러나 반드시 그럴 필요는 없다. 에러 감지 모듈은 비휘발성 메모리 장치를 제어하는 메모리 제어기에서 포함될 수도 있다. 도 10은 본 발명에 따른 메모리 시스템(10)을 보여주고 있다. 도 10을 참조하면, 메모리 시스템(10)은 비휘발성 메모리 장치(200) 및 메모리 제어기(300)를 포함하고 있다.
비휘발성 메모리 장치(200)는 멀티-비트 메모리 셀을 갖는 메모리 셀 어레이를 포함하고 있다. 비휘발성 메모리 장치(200)는 메모리 셀에 LSB 프로그램 및 MSB 프로그램을 할 수 있다. 본 발명의 비휘발성 메모리 장치(200)는 메모리 셀의 LSB 데이터를 읽기 위하여 복수의 LSB 읽기 동작을 수행할 수 있다. 복수의 LSB 읽기 동작은 필수적으로 사용되는 메인 LSB 읽기 동작과 메인 LSB 읽기 동작으로 LSB 데이터를 읽을 때 실패할 때만 사용되는 LSB 복구 읽기 동작으로 구분된다. 이를 위하여, 본 발명의 비휘발성 메모리 장치(200)는 도 7에 도시된 LSB 복구 읽기 상태 머신, 읽기 상태 머신, 메모리 코어를 포함할 수 있다.
메모리 제어기(300)는 비휘발성 메모리 장치(200)의 제반 동작을 제어한다. 메모리 제어기(300)는 메모리 제어 모듈(310) 및 에러 감지 모듈(320)을 포함하고 있다.
메모리 제어 모듈(310)은 비휘바성 메모리 장치(200)의 메모리 셀에 프로그램 동작을 수행하거나, 읽기 동작을 수행하는데 필요한 명령어, 주소 및 데이터 등을 전달한다.
에러 감지 모듈(320)은 비휘발성 메모리 장치(200)의 해당 메모리 셀로부터 읽어온 데이터의 오류를 감지한다. 특히, 에러 감지 모듈(320)은 메인 LSB 읽기 동작시 해당 메모리 셀로부터 읽어온 데이터에 오류가 발생할 경우, 에러 신호를 생성하여 메모리 제어 모듈(310)에 전달하다. 이때 메모리 제어 모듈(310)은 에러 신호에 응답하여 이전과 다른 LSB 복구 읽기 동작으로 해당 메모리 셀의 LSB 데이터를 읽도록 비휘발성 메모리 장치(200)를 제어한다.
예를 들어, 메모리 제어기(300)는 통상적으로 플래그 셀을 이용하여 메모리 셀로부터 LSB 데이터를 읽도록 비휘발성 메모리 장치(200)의 읽기 상태 머신(도시되지 않음)을 제어한다. 이때, 읽어온 LSB 데이터에 오류가 발생되면, 에러 감지 모듈(320)은 에러신호를 생성하여 메모리 제어 모듈(310)에 전달한다. 그러면 메모리 제어 모듈(310)은 플래그 셀을 이용하지 않고 해당 메모리 셀로부터 LSB 데이터를 읽어오도록 비휘발성 메모리 장치(200)의 LSB 복구 상태 머신(도시되지 않음)을 제어한다.
본 발명의 메모리 시스템(10)은 잘못 읽은 LSB 데이터에 대하여 복구할 수 있는 기능을 갖는다. 예를 들어, 디스터브된 플래그 셀이 존재하더라도 해당 메모리 셀의 LSB 데이터를 잘못 읽을 때, 본 발명의 메모리 시스템(10)은 해당 메모리 셀의 LSB 데이터를 복구할 수 있게 된다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명에 따른 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 LSB 읽기 방법은 LSB 복구 읽기 동작을 통하여 잘못 읽은 LSB 데이터를 복구할 수 있게 된다. 예를 들어, 본 발명의 LSB 복구 읽기 동작은 디스터브된 플래그 셀이 존재하더라도 LSB 데이터를 읽는데 발생되는 오류를 극복하게 된다.

Claims (25)

  1. 멀티 레벨 셀을 갖는 비휘발성 메모리 장치의 LSB 읽기 방법에 있어서:
    (a) 메모리 셀의 LSB 데이터를 읽는 단계; 및
    (b) 상기 (a) 단계에서 읽은 데이터에 오류가 발생할 경우, 상기 (a) 단계와 다른 방법으로 상기 메모리 셀의 LSB 데이터를 읽는 단계를 포함하는 비휘발성 메모리 장치의 LSB 읽기 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계의 LSB 데이터 읽기 동작은 플래그 셀을 이용하여 상기 메모리 셀의 LSB 데이터를 읽되,
    상기 플래그 셀은 상기 메모리 셀이 LSB 프로그램되었는 지 혹은 MSB 프로그램되었는 지 알려주는 비휘발성 메모리 장치의 LSB 읽는 방법.
  3. 제 2 항에 있어서,
    상기 (b) 단계의 LSB 데이터 읽기 동작은 상기 플래그 셀을 이용하지 않고 상기 메모리 셀의 LSB 데이터를 읽는 비휘발성 메모리 장치의 LSB 읽기 방법.
  4. 제 1 항에 있어서,
    상기 (b) 단계 이후, 상기 LSB 데이터에 오류가 있는지를 판단하는 단계를 더 포함하는 비휘발성 메모리 장치의 LSB 읽기 방법.
  5. 제 3 항에 있어서,
    상기 멀티 레벨 셀은 2-비트 메모리 셀인 비휘발성 메모리 장치의 LSB 읽기 방법.
  6. 제 5 항에 있어서,
    상기 메모리 셀은 문턱 전압의 레벨에 따라 '11','10','00','01' 상태들을 포함하되,
    LSB 프로그램시 상기 메모리 셀은 '11' 혹은 '10' 상태이며,
    상기 플래그 셀은 LSB 프로그램시 '11' 상태이고, MSB 프로그램시 '01' 상태인 비휘발성 메모리 장치의 LSB 읽기 방법.
  7. 제 6 항에 있어서,
    상기 (a) 단계의 LSB 데이터 읽기 동작은,
    상기 플래그 셀의 문턱 전압이 제 2 읽기 전압보다 큰지 판단하는 단계;
    상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크지 않다면, 상기 메모리 셀이 제 1 읽기 전압보다 큰지 판단하는 단계; 및
    상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크다면, 상기 메모리 셀이 제 2 읽기 전압보다 큰지 판단하는 단계를 포함하되,
    상기 제 1 읽기 전압은 상기 '11' 상태와 상기 '01' 상태 사이에 있으며,
    상기 제 2 읽기 전압은 상기 '01' 상태와 상기 '00' 상태 사이에 있는 비휘발성 메모리 장치의 LSB 읽기 방법.
  8. 제 7 항에 있어서,
    상기 (b) 단계의 상기 LSB 데이터 읽기 동작은 상기 메모리 셀이 상기 제 1 읽기 전압보다 큰지 판단하는 단계를 포함하는 비휘발성 메모리 장치의 LSB 읽기 방법.
  9. LSB 프로그램 및 MSB 프로그램할 수 있는 메모리 셀을 갖는 비휘발성 메모리 장치에 있어서:
    상기 메모리 셀의 읽기 동작 및 프로그램 동작을 수행하는 메모리 코어;
    외부로부터 입력되는 읽기 명령과 주소에 따라 LSB 읽기 동작을 수행하거나 혹은 MSB 읽기 동작을 수행하도록 상기 메모리 코어를 제어하는 읽기 상태 머신;
    상기 LSB 읽기 동작시 상기 메모리 셀로부터 읽어온 LSB 데이터에 오류가 있는지를 감지하여 에러 신호를 생성하는 에러 감지 모듈; 및
    상기 에러 신호에 응답하여 상기 읽기 상태 머신의 LSB 동작과는 다른 LSB 복구 동작을 수행하도록 상기 메모리 코어를 제어하는 LSB 복구 읽기 상태 머신을포함하는 비휘발성 메모리 장치.
  10. 제 9 항에 있어서,
    상기 읽기 상태 머신은 플래그 셀을 이용하여 상기 메모리 셀의 LSB 데이터를 읽도록 상기 메모리 코어를 제어하되,
    여기서 상기 플래그 셀은 상기 메모리 셀이 LSB 프로그램되었는 지 혹은 MSB 프로그램되었는 지 알려주는 비휘발성 메모리 장치.
  11. 제 10 항에 있어서,
    상기 LSB 복구 읽기 상태 머신은 상기 플래그 셀을 이용하지 않고 상기 메모리 셀의 LSB 데이터를 읽는 비휘발성 메모리 장치.
  12. 제 11 항에 있어서,
    상기 메모리 셀은 2-비트 메모리 셀인 비휘발성 메모리 장치.
  13. 제 12 항에 있어서,
    상기 메모리 셀은 문턱 전압의 레벨에 따라 '11','10','00','01' 상태들을 포함하되,
    LSB 프로그램시 상기 메모리 셀은 '11' 혹은 '10' 상태이고,
    상기 플래그 셀은 LSB 프로그램시 '11' 상태이고, MSB 프로그램시 '01' 상태인 인 비휘발성 메모리 장치.
  14. 제 13 항에 있어서,
    상기 읽기 상태 머신은 상기 플래그 셀의 문턱 전압이 제 2 읽기 전압보다 큰지 판단하고, 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크지 않다면 상기 메모리 셀이 제 1 읽기 전압보다 큰지 판단하며, 및 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크다면 상기 메모리 셀이 제 2 읽기 전압보다 큰지 판단하되,
    상기 제 1 읽기 전압은 상기 '11' 상태와 상기 '01' 상태 사이에 있으며,
    상기 제 2 읽기 전압은 상기 '01' 상태와 상기 '00' 상태 사이에 있는 비휘발성 메모리 장치.
  15. 제 14 항에 있어서,
    상기 LSB 복구 읽기 상태 머신은 상기 메모리 셀이 상기 제 1 읽기 전압보다 큰지 판단하는 비휘발성 메모리 장치.
  16. LSB 프로그램 혹은 MSB 프로그램할 수 있는 메모리 셀을 갖는 비휘발성 메모리 장치; 및
    메인 LSB 읽기 동작으로 상기 메모리 셀의 LSB 데이터를 읽어오고, 상기 읽어온 LSB 데이터에 오류가 발생할 경우 LSB 복구 읽기 동작으로 상기 메모리 셀의 LSB 데이터를 읽어오는 메모리 제어기를 포함하되,
    여기서 상기 메인 LSB 읽기 동작과 상기 LSB 복구 읽기 동작은 서로 다른 메 모리 시스템.
  17. 제 16 항에 있어서,
    상기 메모리 제어기는 상기 메인 LSB 읽기 동작시, 읽어온 LSB 데이터에 오류가 발생하였는지 감지하여 에러 신호를 생성하는 에러 감지 모듈을 포함하는 메모리 시스템.
  18. 제 17 항에 있어서,
    상기 비휘발성 메모리 장치는,
    상기 메모리 셀의 읽기 동작 및 프로그램 동작을 수행하는 메모리 코어;
    상기 메모리 제어기의 제 1 읽기 명령에 따라 상기 메인 LSB 읽기 동작을 수행하도록 상기 메모리 코어를 제어하는 읽기 상태 머신; 및
    상기 메모리 제어기의 제 2 읽기 명령에 따라 상기 읽기 상태 머신의 메인 LSB 읽기 동작과는 다른 상기 LSB 복구 읽기 동작을 수행하도록 상기 메모리 코어를 제어하는 LSB 복구 읽기 상태 머신을 포함하되,
    상기 제 2 읽기 명령은 상기 에러 감지 모듈에서 생성된 상기 에러 신호에 응답하여 상기 메모리 제어기에서 생성되는 메모리 시스템.
  19. 제 18 항에 있어서,
    상기 메인 LSB 읽기 동작은 플래그 셀을 이용하여 상기 메모리 셀로부터 LSB 데이터을 읽되,
    여기서 상기 플래그 셀은 상기 메모리 셀이 LSB 프로그램되었는 지 혹은 MSB 프로그램되었는 지 알려주는 메모리 시스템.
  20. 제 19 항에 있어서,
    상기 LSB 복구 읽기 동작은 상기 플래그 셀을 이용하지 않고 LSB 데이터를 읽는 메모리 시스템.
  21. 제 20 항에 있어서,
    상기 메모리 셀은 2-비트 메모리 셀인 메모리 시스템.
  22. 제 21 항에 있어서,
    상기 메모리 셀은 문턱 전압의 레벨에 따라 '11','10','00','01' 상태들을 포함하되,
    LSB 프로그램시 상기 메모리 셀은 '11' 혹은 '10' 상태이며,
    상기 플래그 셀은 LSB 프로그램시 '11' 상태이고, MSB 프로그램시 '01' 상태인 메모리 시스템.
  23. 제 22 항에 있어서,
    상기 메인 LSB 읽기 동작은 상기 플래그 셀의 문턱 전압이 제 2 읽기 전압보 다 큰지 판단하고, 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크지 않다면 상기 메모리 셀이 제 1 읽기 전압보다 큰지 판단하며, 및 상기 판단 결과 상기 플래그 셀의 문턱 전압이 상기 제 2 읽기 전압보다 크다면 상기 메모리 셀이 제 2 읽기 전압보다 큰지 판단하되,
    상기 제 1 읽기 전압은 상기 '11' 상태와 상기 '01' 상태 사이에 있으며,
    상기 제 2 읽기 전압은 상기 '01' 상태와 상기 '00' 상태 사이에 있는 비휘발성 메모리 시스템.
  24. 제 23 항에 있어서,
    상기 LSB 복구 읽기 동작은 상기 메모리 셀이 상기 제 1 읽기 전압보다 큰지 판단하는 메모리 시스템.
  25. 제 24 항에 있어서,
    상기 비휘발성 메모리 장치는 낸드 플래시 메모리인 메모리 시스템.
KR1020070038414A 2007-04-19 2007-04-19 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법 KR100875979B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070038414A KR100875979B1 (ko) 2007-04-19 2007-04-19 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법
US12/103,176 US7672162B2 (en) 2007-04-19 2008-04-15 Non-volatile memory device, memory system, and LSB read method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070038414A KR100875979B1 (ko) 2007-04-19 2007-04-19 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법

Publications (2)

Publication Number Publication Date
KR20080094246A true KR20080094246A (ko) 2008-10-23
KR100875979B1 KR100875979B1 (ko) 2008-12-24

Family

ID=39872025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070038414A KR100875979B1 (ko) 2007-04-19 2007-04-19 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법

Country Status (2)

Country Link
US (1) US7672162B2 (ko)
KR (1) KR100875979B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140028718A (ko) * 2012-08-30 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20140058738A (ko) * 2012-11-05 2014-05-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
KR101432108B1 (ko) * 2008-06-03 2014-08-21 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 구동 방법
KR101163037B1 (ko) * 2010-03-31 2012-07-05 에스케이하이닉스 주식회사 3차원 적층 반도체 집적회로 및 그 제어 방법
KR20120066347A (ko) * 2010-12-14 2012-06-22 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
KR101798013B1 (ko) * 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US8451662B2 (en) 2011-03-03 2013-05-28 Micron Technology, Inc. Reading memory cell history during program operation for adaptive programming
KR20130001442A (ko) * 2011-06-27 2013-01-04 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR101878455B1 (ko) 2011-11-18 2018-07-16 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법 및 구동 방법
KR101799765B1 (ko) * 2011-11-21 2017-11-22 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101979392B1 (ko) 2012-05-17 2019-05-16 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101361725B1 (ko) 2012-10-05 2014-02-13 한양대학교 산학협력단 멀티 레벨 셀 플래시 메모리의 페어드 페이지 데이터 복구 장치 및 방법
KR102005709B1 (ko) * 2012-10-22 2019-08-01 삼성전자 주식회사 메모리 장치 구동 방법 및 메모리 시스템
KR102068342B1 (ko) * 2013-03-07 2020-01-20 삼성전자주식회사 메모리 제어기 및 그것을 포함하는 메모리 시스템
KR102320955B1 (ko) 2015-02-02 2021-11-05 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 읽기 방법
KR102314137B1 (ko) * 2015-11-04 2021-10-18 삼성전자 주식회사 리커버리 동작을 선택적으로 수행하는 불휘발성 메모리 장치 및 그 동작방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
KR100205006B1 (ko) 1996-10-08 1999-06-15 윤종용 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치
AUPO799197A0 (en) * 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
KR100459946B1 (ko) 1997-06-30 2005-02-05 주식회사 하이닉스반도체 플래그셀데이터의안정화출력장치
AUPP095997A0 (en) * 1997-12-16 1998-01-15 Silverbrook Research Pty Ltd A data processing method and apparatus (art 68)
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
CN1591693A (zh) 2003-04-29 2005-03-09 戴洛格半导体公司 预检测数据丢失的闪速存储器
US8112574B2 (en) * 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
US8019928B2 (en) 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
KR100684909B1 (ko) 2006-01-24 2007-02-22 삼성전자주식회사 읽기 에러를 방지할 수 있는 플래시 메모리 장치
KR100769770B1 (ko) 2006-09-29 2007-10-23 주식회사 하이닉스반도체 메모리 장치의 페이지 버퍼 회로 및 프로그램 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140028718A (ko) * 2012-08-30 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20140058738A (ko) * 2012-11-05 2014-05-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
KR100875979B1 (ko) 2008-12-24
US20080259686A1 (en) 2008-10-23
US7672162B2 (en) 2010-03-02

Similar Documents

Publication Publication Date Title
KR100875979B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법
KR100842680B1 (ko) 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US7751238B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
US9043678B2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
US7765426B2 (en) Emerging bad block detection
KR102065665B1 (ko) 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법
US7813187B2 (en) Multi-bit flash memory device and program method thereof
US8140935B2 (en) ECC controller for use in flash memory device and memory system including the same
JP5138319B2 (ja) メモリーシステム及び該動作方法。
US20130185612A1 (en) Flash memory system and read method of flash memory system
US9093154B2 (en) Method, memory controller and system for reading data stored in flash memory
JP2011197957A (ja) 誤り訂正符号復号装置及び誤り訂正符号復号方法
KR20080035353A (ko) 플래시 메모리를 포함한 메모리 시스템 및 그것의 프로그램방법
US8347183B2 (en) Flash memory device using ECC algorithm and method of operating the same
KR20130027138A (ko) 에러 정정 방법 및 이를 이용하는 메모리 장치
US10685711B1 (en) Decoding method, memory controlling circuit unit and memory storage device
US20080072119A1 (en) Allowable bit errors per sector in memory devices
KR20120066347A (ko) 비휘발성 메모리 장치 및 그 구동 방법
US20130104003A1 (en) Memory system and method for recording/reproducing data thereof
JP2003100095A (ja) 半導体集積回路装置
US11145372B2 (en) Decoding method, memory controlling circuit unit, and memory storage device
CN113138947B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
JP2012230730A (ja) 半導体装置

Legal Events

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

Payment date: 20121130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee