KR101626080B1 - 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들 - Google Patents
페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들 Download PDFInfo
- Publication number
- KR101626080B1 KR101626080B1 KR1020100014184A KR20100014184A KR101626080B1 KR 101626080 B1 KR101626080 B1 KR 101626080B1 KR 1020100014184 A KR1020100014184 A KR 1020100014184A KR 20100014184 A KR20100014184 A KR 20100014184A KR 101626080 B1 KR101626080 B1 KR 101626080B1
- Authority
- KR
- South Korea
- Prior art keywords
- page
- page data
- lsb
- data
- programmed
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
Abstract
비휘발성 메모리 장치의 페이지 버퍼 관리 방법이 개시된다. 상기 방법은 LSB 페이지 버퍼에 저장된 LSB 페이지 데이터를 페이지에 프로그램하는 단계와, 상기 LSB 페이지 데이터에 상응하는 MSB 페이지 데이터가 상기 페이지에 프로그램될 때까지 상기 LSB 페이지 버퍼에 저장된 상기 LSB 페이지 데이터를 유지하는 단계를 포함한다.
Description
본 발명의 개념에 따른 실시 예는 페이지 버퍼(page buffer) 관리 방법에 관한 것으로, 특히 MSB(Most Significant Bit) 페이지 데이터의 프로그램 실패를 대비하여 LSB(Least Significant Bit) 페이지 데이터를 유지(retain)할 수 있는 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들에 관한 것이다.
복수 개의 멀티-레벨 셀들(Multi-level cells)을 포함하는 비휘발성 메모리 장치에서, 하나의 블록 내에는 동일한 수의 LSB 페이지들과 MSB 페이지들이 존재한다.
프로그램 동작 시, LSB 페이지 데이터가 페이지에 먼저 프로그램되고 상기 LSB 페이지 데이터에 상응하는 MSB 페이지 데이터가 상기 페이지에 나중에 프로그램된다.
LSB 페이지 데이터와 MSB 페이지 데이터는 공유된 하나의 페이지, 즉 복수의 멀티-레벨 셀들에 프로그램되기 때문에, 상기 MSB 페이지 데이터가 상기 페이지에 프로그램되는 도중에 프로그램 실패(failure)가 발생한 경우 상기 페이지에 프로그램된 상기 LSB 페이지 데이터는 손실된다.
본 발명이 이루고자 하는 기술적인 과제는 MSB 페이지 데이터가 페이지에 성공적으로 프로그램될 때까지 LSB 페이지 데이터를 LSB 페이지 버퍼에 유지할 수 있는 새로운 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들을 제공하는 것이다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치의 페이지 버퍼 관리 방법은 LSB 페이지 버퍼에 저장된 LSB 페이지 데이터를 페이지에 프로그램하는 단계와, 상기 LSB 페이지 데이터에 상응하는 MSB 페이지 데이터가 상기 LSB 페이지에 대응하는 MSB 페이지에 프로그램될 때까지 상기 LSB 페이지 버퍼에 저장된 상기 LSB 페이지 데이터를 그대로 유지하는 단계를 포함한다.
상기 비휘발성 메모리 장치의 페이지 버퍼 관리 방법은 상기 MSB 페이지 데이터가 상기 페이지에 정상적으로 프로그램된 후 상기 LSB 페이지 버퍼를 릴리즈하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치는 페이지에 프로그램될 LSB 페이지 데이터를 저장하기 위한 페이지 버퍼와, 상기 LSB 페이지 데이터에 상응하는 MSB 페이지 데이터가 상기 페이지에 프로그램될 때까지 상기 LSB 페이지 데이터를 그대로 유지하도록 상기 페이지 버퍼를 제어하기 위한 제어 블록을 포함한다.
상기 제어 블록은 상기 MSB 페이지 데이터가 상기 페이지에 프로그램되었는지의 여부를 판단하기 위한 판단 회로와, 상기 판단 회로의 판단 결과에 따라 상기 페이지 버퍼의 동작을 제어하기 위한 제어 회로를 포함한다.
상기 판단 회로에 의하여 상기 MSB 페이지 데이터가 상기 페이지에 성공적으로 프로그램되었다고 판단된 경우, 상기 제어 회로는 상기 판단 회로의 판단 결과에 따라 상기 페이지 버퍼에 저장된 상기 LSB 페이지 데이터를 릴리즈한다.
상기 페이지는 복수의 멀티-레벨 셀들을 포함한다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 페이지를 포함하는 비휘발성 메모리 장치와, 상기 페이지에 프로그램될 LSB 페이지 데이터와 상기 LSB 페이지 데이터에 상응하며 상기 페이지에 프로그램될 MSB 페이지 데이터를 상기 비휘발성 메모리 장치로 출력하기 위한 컨트롤러를 포함한다.
상기 비휘발성 메모리 장치는 상기 페이지에 프로그램될 상기 LSB 페이지 데이터를 저장하기 위한 페이지 버퍼와, 상기 MSB 페이지 데이터가 상기 페이지에 프로그램될 때까지 상기 LSB 페이지 데이터를 그대로 유지하도록 상기 페이지 버퍼를 제어하기 위한 제어 블록을 포함한다.
상기 제어 블록은 상기 MSB 페이지 데이터가 상기 페이지에 프로그램되었는지의 여부를 판단하기 위한 판단 회로와, 상기 판단 회로의 판단 결과에 따라 상기 페이지 버퍼의 동작을 제어하기 위한 제어 회로를 포함한다.
상기 판단 회로에 의하여 상기 MSB 페이지 데이터가 상기 페이지에 성공적으로 프로그램되었다고 판단된 경우, 상기 제어 회로는 상기 판단 회로의 판단 결과에 따라 상기 페이지 버퍼에 저장된 상기 LSB 페이지 데이터를 릴리즈한다.
상기 데이터 처리 시스템은 메모리 카드 또는 컴퓨터이다.
상기 페이지는 복수의 멀티-레벨 셀들을 포함한다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치의 페이지 버퍼 관리 방법과 상기 방법을 이용할 수 있는 장치는 MSB 프로그램 실패를 대비하면서 페이지 버퍼에 저장된 LSB 페이지 데이터를 그대로 이용할 수 있으므로 데이터의 유효성을 보장할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치의 블록 도를 나타낸다.
도 2는 도 1에 도시된 제어 블록의 개략적인 블록 도이다.
도 3은 도 2에 도시된 제어 블록의 동작을 설명하기 위한 데이터 플로우를 나타낸다.
도 4는 도 1에 도시된 비휘발성 메모리 장치의 동작을 설명하기 위한 플로우차트이다.
도 5는 도 1에 도시된 비휘발성 메모리 장치를 포함하는 데이터 처리 시스템의 블록 도를 나타낸다.
도 1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치의 블록 도를 나타낸다.
도 2는 도 1에 도시된 제어 블록의 개략적인 블록 도이다.
도 3은 도 2에 도시된 제어 블록의 동작을 설명하기 위한 데이터 플로우를 나타낸다.
도 4는 도 1에 도시된 비휘발성 메모리 장치의 동작을 설명하기 위한 플로우차트이다.
도 5는 도 1에 도시된 비휘발성 메모리 장치를 포함하는 데이터 처리 시스템의 블록 도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치의 블록도를 나타낸다. 도 1을 참조하면, 비휘발성 메모리 장치(10)는 메모리 셀 어레이(20), 로우 디코더(30), 컬럼 디코더(40), 페이지 버퍼(50), Y-게이팅 회로(60), 입/출력 회로 (70), 및 제어 블록(80)을 포함한다.
메모리 셀 어레이(20)는 복수의 블락들을 포함한다.
상기 복수의 블락들 각각은 한 번의 소거 동작(erase operation)에 의하여 함께 소거되는 데이터를 저장하는 비휘발성 메모리 셀들의 가장 작은 단위이다.
상기 복수의 블락들 각각은 복수의 페이지들을 포함하며, 상기 복수의 페이지들 각각은 복수 개의 비휘발성 메모리 셀들을 포함한다. 상기 복수 개의 비휘발성 메모리 셀들 각각은 2-비트 이상의 데이터를 저장할 수 있는 NAND 플래시 메모리로 구현될 수 있다.
한 쌍을 이루는 LSB 페이지 데이터와 MSB 페이지 데이터는 하나의 페이지에 저장된다.
프로그램 동작, 리드 동작, 또는 이레이즈 동작 시, 로우 디코더(30)는 컨트롤 블록(80)의 제어 하에 메모리 셀 어레이(20)에 구현된 복수의 워드 라인들 각각을 선택할 수 있다.
프로그램 동작, 리드 동작, 또는 이레이즈 동작 시, 컬럼 디코더(40)는 컨트롤 블록(80)의 제어 하에 Y-게이팅 회로(60)의 동작을 제어할 수 있다.
프로그램 동작 시 페이지 버퍼(50)는 Y-게이팅 회로(60)를 통하여 입력된 LSB 페이지 데이터 또는 MSB 페이지 데이터를 수신하여 저장하고, 저장된 LSB 페이지 데이터 또는 MSB 페이지 데이터를 로우 디코더(30)와 컬럼 디코더(40)에 의하여 지정된 페이지에 프로그램할 수 있다.
리드 동작 시 페이지 버퍼(50)는 로우 디코더(30)와 컬럼 디코더(40)에 의하여 지정된 페이지로부터 출력된 LSB 페이지 데이터 또는 MSB 페이지 데이터를 수신하여 처리하고(예컨대, 감지 증폭하고), 처리된 LSB 페이지 데이터 또는 MSB 페이지 데이터를 Y-게이팅 회로(60)로 전송할 수 있다.
페이지 버퍼(50)는 LSB 페이지 데이터를 저장하기 위한 LSB 페이지 데이터 버퍼(50-1)와 MSB 페이지 데이터를 저장하기 위한 MSB 페이지 데이터 버퍼(50-2)를 포함할 수 있다.
프로그램 동작 시, 컬럼 디코더(40)의 제어 하에 Y-게이팅 회로(60)는 입/출력 회로(70)로부터 전송된 LSB 페이지 데이터 또는 MSB 페이지 데이터를 페이지 버퍼(50)로 전송할 수 있다.
리드 동작 시, 컬럼 디코더(40)의 제어 하에 Y-게이팅 회로(60)는 페이지 버퍼(50)로부터 전송된 LSB 페이지 데이터 또는 MSB 페이지 데이터를 입/출력 회로 (70)로 전송할 수 있다.
입/출력 회로(70)는 제어 블록(80)의 제어 하에 LSB 페이지 데이터 또는 MSB 페이지 데이터를 외부로 전송하거나 또는 외부로부터 입력된 LSB 페이지 데이터 또는 MSB 페이지 데이터를 Y-게이팅 회로(60)로 전송할 수 있다.
도 2는 도 1에 도시된 제어 블록의 개략적인 블록 도이고, 도 3은 도 2에 도시된 제어 블록의 동작을 설명하기 위한 데이터 플로우를 나타낸다.
도 1부터 도 3을 참조하여 제어 블록(80)의 동작을 설명하면 다음과 같다.
제어 블록(80)은 복수의 제어 신호들(CLE, ALE, /WP, /CE, /RE, 및 /WE)에 응답하여 비휘발성 메모리 장치(10)의 프로그램 동작, 리드 동작, 또는 이레이즈 동작을 제어할 수 있다.
여기서, CLE는 커맨드 래치 인에이블(command latch enable) 신호이고, ALE는 어드레스 래치 인에이블 신호이고, /WP는 라이트 프로텍트 신호이고, /CE는 칩 인에이블 신호이고, /RE는 리드 인에이블 신호이고, /WE는 라이트 인에이블 신호이다.
본 발명의 실시 예에 따른 제어 블록(80)은 LSB 페이지 데이터를 페이지에 프로그램한 후부터 MSB 페이지 데이터가 상기 페이지에 성공적으로 프로그램될 때까지 LSB 페이지 데이터 버퍼(50-1)에 저장된 LSB 페이지 데이터를 유지하도록 LSB 페이지 데이터 버퍼(50-1)를 제어할 수 있다.
제어 블록(80)은 판단 회로(82)와 제어 회로(84)를 포함한다.
판단 회로(82)는 MSB 페이지 데이터가 상기 MSB 페이지 데이터 페이지에 상응하는 LSB 페이지 데이터가 프로그램된 페이지에 성공적으로 프로그램되었는지의 여부를 판단하고 판단 결과(MSB_PGM)를 출력할 수 있다.
제어 회로(84)는 판단 회로(82)의 판단 결과(MSB_PGM)에 따라 상기 LSB 페이지 데이터가 저장된 페이지 버퍼(50), 예컨대 LSB 페이지 데이터 버퍼(50-1)의 동작을 제어할 수 있다.
예컨대, 제어 회로(84)는 판단 결과(MSB_PGM)에 따라 유지 신호(RET) 또는 릴리즈 신호(REL)를 페이지 버퍼(50)로 전송할 수 있다.
또한, 판단 회로(82)는 LSB 페이지 데이터가 성공적으로 프로그램되었는지의 여부를 판단하고 판단 결과를 제어 회로(54)로 출력할 수 있다. 이때 제어 회로(84)는 상기 판단 결과에 따라 유지 신호(RET)를 페이지 버퍼(50)로 전송할 수 있다.
도 3에 도시된 바와 같이, 페이지 데이터 2(예컨대, LSB 페이지 데이터)와 페이지 데이터 8(예컨대, MSB 페이지 데이터)은 제1페이지에 프로그램되고, 페이지 데이터 3(예컨대, LSB 페이지 데이터)과 페이지 데이터 9(예컨대, MSB 페이지 데이터)는 제2페이지에 프로그램되고, 페이지 데이터 6(예컨대, LSB 페이지 데이터)과 페이지 데이터 12(예컨대, MSB 페이지 데이터)는 제3페이지에 프로그램되고, 페이지 데이터 7(예컨대, LSB 페이지 데이터)과 페이지 데이터 13(예컨대, MSB 페이지 데이터)은 제4페이지에 프로그램될 때, 페이지 데이터 6(예컨대, LSB 페이지 데이터)이 제3페이지에 프로그램된 후(1) 데이터 버퍼 18에 저장된 페이지 데이터 6은 제어 블록(80)의 제어 하에 유지된다(retain).
그 후 데이터 버퍼 24로부터 출력된 페이지 데이터 12가 상기 제3페이지에 정상적으로 프로그램된 후, 제어 블록(80)은 데이터 버퍼 18을 릴리즈하기 위한 릴리즈 신호(REL)를 데이터 버퍼 18로 출력한다(7).
또한, 페이지 데이터 7(예컨대, LSB 페이지 데이터)이 제4페이지에 프로그램된 후 데이터 버퍼 19에 저장된 페이지 데이터 7은 제어 블록(80)의 제어 하에 유지된다(2).
그 후 데이터 버퍼 25로부터 출력된 페이지 데이터 13이 상기 제4페이지에 정상적으로 프로그램된 후, 제어 블록(80)은 데이터 버퍼 19를 릴리즈하기 위한 릴리즈 신호(REL)를 데이터 버퍼 19로 출력한다(8).
즉, 제어 블록(80)에 의하여, 데이터 버퍼 18에 저장된 페이지 데이터 6은 제3페이지에 프로그램된 후 곧바로 릴리즈되지 않고 페이지 데이터 12에 대한 프로그램의 성공/실패 여부가 판단될 때까지 유지된다. 따라서 상기 페이지 데이터 12가 상기 제3페이지에 성공적으로 프로그램된 후 제어 블록(80)은 페이지 데이터 6이 저장된 데이터 버퍼 18을 릴리즈한다.
그러나, 상기 페이지 데이터 12가 상기 제3페이지에 성공적으로 프로그램되지 않은 경우 제어 블록(80)은 배드 블록 맵-아웃과 같은 에러 복구(error recovery) 동작을 수행하면서 유지되어 있는 데이터 버퍼 18에 저장된 페이지 데이터 6을 이용하여 데이터의 유효성을 보장한다.
즉, 제어 블록(80)은 각 LSB 페이지 데이터가 각 페이지에 프로그램된 후 각 MSB 데이터가 상기 각 페이지에 성공적으로 프로그램될 때까지 상기 각 LSB 페이지 데이터가 저장된 각 데이터 버퍼를 유지시키기 위하여 페이지 버퍼(50)로 유지 신호(RET)를 출력한다. 그리고, 제어 블록(80)은 상기 각 MSB 데이터가 상기 각 페이지에 성공적으로 프로그램된 후 상기 각 LSB 페이지 데이터가 저장된 상기 각 데이터 버퍼를 릴리즈시킬 수 있다.
따라서 본 발명의 실시 예에 따른 페이지 버퍼 관리 방법을 수행할 수 있는 비휘발성 메모리 장치(10)는 MSB 페이지 데이터의 프로그램 실패에 따른 LSB 페이지 데이터의 손실을 방지하기 위하여 상기 MSB 페이지 데이터를 프로그램할 때 상기 LSB 페이지 데이터를 백업하기 위한 백업 버퍼를 필요로 하지 않는다.
도 3에 도시된 바와 같이 데이터 버퍼 18과 데이터 버퍼 19는 LSB 페이지 버퍼로서의 기능을 수행하고 데이터 버퍼 24와 데이터 버퍼 25는 MSB 페이지 버퍼의 기능을 수행할 수 있다.
도 4는 도 1에 도시된 비휘발성 메모리 장치의 동작을 설명하기 위한 플로우차트이다.
비휘발성 메모리 장치의 동작은 도 1부터 도 4를 참조하여 상세히 설명된다.
프로그램 동작시, LSB 페이지 데이터는 입/출력 회로(70)와 Y-게이팅 회로 (60)를 통하여 페이지 버퍼(50), 예컨대 LSB 페이지 데이터 버퍼(50-1)에 로딩된다(S10).
LSB 페이지 데이터 버퍼(50-1)에 로딩된 LSB 페이지 데이터는 로우 디코더 (30)와 컬러 디코더(40)에 의하여 지정된 메모리 셀 어레이(20)의 페이지에 프로그램된다(S20).
이때 LSB 페이지 데이터 버퍼(50-1)에 저장된 LSB 페이지 데이터는 제어 블록(80)의 제어 하에 릴리즈되지 않고 그대로 유지(retain)된다(S30).
MSB 페이지 데이터는 입/출력 회로(70)와 Y-게이팅 회로(60)를 통하여 페이지 버퍼(50), 예컨대 MSB 페이지 데이터 버퍼(50-2)에 로딩된다(S40).
MSB 페이지 데이터 버퍼(50-2)에 로딩된 MSB 페이지 데이터는 로우 디코더 (30)와 컬러 디코더(40)에 의하여 지정된 메모리 셀 어레이(20)의 상기 페이지에 프로그램된다(S50).
이때 제어 블록(80)은 상기 MSB 페이지 데이터가 상기 페이지에 성공적으로 프로그램되었는지의 여부를 판단한다(S50).
상기 MSB 페이지 데이터가 상기 페이지에 성공적으로 프로그램된 경우, 제어 블록(80)은 페이지 버퍼(50), 예컨대 LSB 페이지 데이터 버퍼(50-1)에 저장된 LSB 페이지 데이터를 릴리즈하기 위한 릴리즈 신호(REL)를 페이지 버퍼(50), 예컨대 LSB 페이지 데이터 버퍼(50-1)로 전송한다(S60). 따라서 LSB 페이지 데이터 버퍼(50-1)에 저장된 LSB 페이지 데이터는 릴리즈될 수 있다.
그러나, 상기 MSB 페이지 데이터가 상기 페이지에 성공적으로 프로그램되지 않은 경우, 제어 블록(80)은 에러 회복(error recovery) 동작을 수행하면서 LSB 페이지 데이터 버퍼(50-1)에 저장된 LSB 페이지 데이터를 이용하여 상기 LSB 페이지 데이터의 유효성을 보장할 수 있다.
즉, 본 발명의 실시 예에 따른 비휘발성 메모리 장치(10)는 MSB 페이지 데이터가 메모리 셀 어레이(20)의 특정 페이지에 성공적으로 프로그램될 때까지 상기 특정 페이지에 이미 프로그램된 LSB 데이터를 저장하는 LSB 페이지 데이터 버퍼를 그대로 유지할 수 있다.
따라서 MSB 페이지 데이터에 대한 프로그램의 실패로 LSB 페이지 데이터가 손실되더라도 LSB 페이지 데이터 버퍼에는 상기 LSB 페이지 데이터 그 자체가 보존되어 있으므로 상기 LSB 페이지 데이터 버퍼에 저장된 상기 LSB 페이지 데이터를 이용하여 상기 LSB 페이지 데이터를 복구할 수 있는 효과가 있다.
도 5는 도 1에 도시된 비휘발성 메모리 장치를 포함하는 데이터 처리 시스템의 블록도를 나타낸다.
도 5를 참조하면, 데이터 처리 시스템(100)은 비휘발성 메모리 장치(10)와 비휘발성 메모리 장치(10)의 동작을 제어할 수 있는 컨트롤러(110)를 포함한다.
데이터 처리 시스템(100)은 스마트 카드 또는 메모리 카드로 구현될 수 있다. 이 경우 비휘발성 메모리 장치(10)와 컨트롤러(110)는 하나의 칩 또는 별개의 칩으로 구현될 수 있다.
데이터 처리 시스템(100)은 PC(personal computer), 포터블 컴퓨터, 이동 전화기, 스마트 폰(smart phone), PDA(personal digital assistant), PMP(portable multimedia player), GPS 자동 네비게이션 시스템(GPS automotive navigation systems), MP3플레이어(MP3 players), 오디오 장치(audio equipment), TV (television), 디지털 카메라, 또는 켐코더로 구현될 수 있다.
또한, 실시 예에 따라 데이터 처리 시스템(100)은 솔리드 스테이트 드라이브, 메모리 스틱, 또는 USB 메모리 스틱과 같은 데이터 저장 장치로 구현될 수 있다.
컨트롤러(110)는 비휘발성 메모리 장치(10)와 호스트(130) 사이의 데이터 통신 인터페이스를 제공할 수 있다.
실시 예에 따라 제어 블록(80)의 적어도 일부는 컨트롤러(110)에 포함될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 비휘발성 메모리 장치
20: 메모리 셀 어레이
30: 로우 디코더
40: 컬럼 디코더
50: 페이지 버퍼
60: Y-게이팅 회로
70: 입출력 버퍼 & 래치 블록
80: 컨트롤 블록
82: 판단 회로
84: 제어 블록
20: 메모리 셀 어레이
30: 로우 디코더
40: 컬럼 디코더
50: 페이지 버퍼
60: Y-게이팅 회로
70: 입출력 버퍼 & 래치 블록
80: 컨트롤 블록
82: 판단 회로
84: 제어 블록
Claims (10)
- LSB 페이지 버퍼에 저장된 LSB 페이지 데이터를 페이지에 프로그램하는 단계;
상기 LSB 페이지 데이터에 상응하는 MSB 페이지 데이터가 상기 LSB 페이지에 대응하는 MSB 페이지에 프로그램될 때까지, 상기 LSB 페이지 버퍼에 저장된 상기 LSB 페이지 데이터를 그대로 유지하는 단계; 및
상기 MSB 페이지 데이터가 상기 페이지에 정상적으로 프로그램된 후 상기 LSB 페이지 버퍼를 릴리즈하는 단계를 포함하는 비휘발성 메모리 장치의 페이지 버퍼 관리 방법. - 삭제
- 페이지에 프로그램될 LSB 페이지 데이터를 저장하기 위한 페이지 버퍼; 및
상기 LSB 페이지 데이터에 상응하는 MSB 페이지 데이터가 상기 페이지에 프로그램될 때까지, 상기 LSB 페이지 데이터를 그대로 유지하도록 상기 페이지 버퍼를 제어하기 위한 제어 블록을 포함하는 비휘발성 메모리 장치. - 제3항에 있어서, 상기 제어 블록은,
상기 MSB 페이지 데이터가 상기 페이지에 프로그램되었는지의 여부를 판단하기 위한 판단 회로; 및
상기 판단 회로의 판단 결과에 따라 상기 페이지 버퍼의 동작을 제어하기 위한 제어 회로를 포함하는 비휘발성 메모리 장치. - 제4항에 있어서,
상기 판단 회로에 의하여 상기 MSB 페이지 데이터가 상기 페이지에 성공적으로 프로그램되었다고 판단된 경우, 상기 제어 회로는 상기 판단 회로의 판단 결과에 따라 상기 페이지 버퍼에 저장된 상기 LSB 페이지 데이터를 릴리즈하는 비휘발성 메모리 장치. - 제3항에 있어서, 상기 페이지는 복수의 멀티-레벨 셀들을 포함하는 비휘발성 메모리 장치.
- 페이지를 포함하는 비휘발성 메모리 장치; 및
상기 페이지에 프로그램될 LSB 페이지 데이터와 상기 LSB 페이지 데이터에 상응하며 상기 페이지에 프로그램될 MSB 페이지 데이터를 상기 비휘발성 메모리 장치로 출력하기 위한 컨트롤러를 포함하며,
상기 비휘발성 메모리 장치는,
상기 페이지에 프로그램될 상기 LSB 페이지 데이터를 저장하기 위한 페이지 버퍼; 및
상기 MSB 페이지 데이터가 상기 페이지에 프로그램될 때까지, 상기 LSB 페이지 데이터를 그대로 유지하도록 상기 페이지 버퍼를 제어하기 위한 제어 블록을 포함하는 데이터 처리 시스템. - 제7항에 있어서, 상기 제어 블록은,
상기 MSB 페이지 데이터가 상기 페이지에 프로그램되었는지의 여부를 판단하기 위한 판단 회로; 및
상기 판단 회로의 판단 결과에 따라 상기 페이지 버퍼의 동작을 제어하기 위한 제어 회로를 포함하는 데이터 처리 시스템. - 제8항에 있어서,
상기 판단 회로에 의하여 상기 MSB 페이지 데이터가 상기 페이지에 성공적으로 프로그램되었다고 판단된 경우, 상기 제어 회로는 상기 판단 회로의 판단 결과에 따라 상기 페이지 버퍼에 저장된 상기 LSB 페이지 데이터를 릴리즈하는 데이터 처리 시스템. - 제7항에 있어서, 상기 데이터 처리 시스템은 메모리 카드인 데이터 처리 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100014184A KR101626080B1 (ko) | 2010-02-17 | 2010-02-17 | 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들 |
US13/028,313 US8614913B2 (en) | 2010-02-17 | 2011-02-16 | Method and apparatus for controlling page buffer of non-volatile memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100014184A KR101626080B1 (ko) | 2010-02-17 | 2010-02-17 | 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110094640A KR20110094640A (ko) | 2011-08-24 |
KR101626080B1 true KR101626080B1 (ko) | 2016-06-01 |
Family
ID=44369546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100014184A KR101626080B1 (ko) | 2010-02-17 | 2010-02-17 | 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8614913B2 (ko) |
KR (1) | KR101626080B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11789637B2 (en) | 2021-06-21 | 2023-10-17 | SK Hynix Inc. | Controller and operation method thereof |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102024850B1 (ko) | 2012-08-08 | 2019-11-05 | 삼성전자주식회사 | 3차원 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법 |
EP2951834A4 (en) * | 2013-01-31 | 2016-08-31 | Hewlett Packard Entpr Dev Lp | NON-VOLATILE MULTINIVE CELL MEMORY WITH DECOUPLED BITS FOR HIGHER PERFORMANCE AND ENERGY EFFICIENCY |
KR102106959B1 (ko) | 2013-02-21 | 2020-05-07 | 에프아이오 세미컨덕터 테크놀로지스, 엘엘씨 | 멀티 레벨 셀 비휘발성 메모리 시스템 |
KR102094334B1 (ko) | 2013-03-15 | 2020-03-27 | 삼성전자주식회사 | 비휘발성 멀티-레벨 셀 메모리 시스템 및 상기 시스템에서의 적응적 데이터 백업 방법 |
KR102102171B1 (ko) * | 2013-04-05 | 2020-05-29 | 삼성전자 주식회사 | 멀티 레벨 셀 메모리 시스템 |
US20160216910A1 (en) * | 2013-09-27 | 2016-07-28 | Virtium Llc | Solving MLC NAND paired page program using reduced spatial redundancy |
KR20160075165A (ko) | 2014-12-19 | 2016-06-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20160127524A (ko) * | 2015-04-27 | 2016-11-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9858994B2 (en) * | 2015-06-18 | 2018-01-02 | Samsung Electronics Co., Ltd. | Memory system with MLC memory cells and partial page compression or reduction |
KR102416939B1 (ko) * | 2017-10-20 | 2022-07-06 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
WO2019112907A1 (en) | 2017-12-06 | 2019-06-13 | Rambus Inc. | Error-correction-detection coding for hybrid memory module |
KR20240045744A (ko) | 2022-09-30 | 2024-04-08 | 주식회사 엠에스티코리아 | 헤어 건조용 흡입노즐장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100437461B1 (ko) * | 2002-01-12 | 2004-06-23 | 삼성전자주식회사 | 낸드 플래시 메모리 장치 및 그것의 소거, 프로그램,그리고 카피백 프로그램 방법 |
KR100528483B1 (ko) * | 2004-01-02 | 2005-11-15 | 삼성전자주식회사 | 패스/페일 점검이 가능한 불휘발성 반도체 메모리장치 |
KR100919156B1 (ko) * | 2006-08-24 | 2009-09-28 | 삼성전자주식회사 | 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법 |
KR100894809B1 (ko) * | 2006-09-22 | 2009-04-24 | 삼성전자주식회사 | 메모리 시스템 및 그것의 프로그램 방법 |
-
2010
- 2010-02-17 KR KR1020100014184A patent/KR101626080B1/ko active IP Right Grant
-
2011
- 2011-02-16 US US13/028,313 patent/US8614913B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11789637B2 (en) | 2021-06-21 | 2023-10-17 | SK Hynix Inc. | Controller and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
US8614913B2 (en) | 2013-12-24 |
KR20110094640A (ko) | 2011-08-24 |
US20110199822A1 (en) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101626080B1 (ko) | 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들 | |
KR100894809B1 (ko) | 메모리 시스템 및 그것의 프로그램 방법 | |
KR100878479B1 (ko) | 데이터 정보에 따라 프로그램 방식을 결정하는 메모리시스템 | |
US9093132B2 (en) | Nonvolatile memory device, memory system and controller operating method | |
US9032272B2 (en) | Memory systems and block copy methods thereof | |
CN102543192B (zh) | 非易失性存储器件的编程方法 | |
US20080172520A1 (en) | Nonvolatile memory devices including multiple user-selectable program modes and related methods of operation | |
US7596021B2 (en) | Memory system including MLC flash memory | |
KR102187521B1 (ko) | 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법 | |
KR102053958B1 (ko) | 불휘발성 메모리 장치 및 그것의 재프로그램 방법 | |
US7505338B2 (en) | Memory systems and memory cards that use a bad block due to a programming failure therein in single level cell mode and methods of operating the same | |
US9524781B2 (en) | Nonvolatile memory device and operating method thereof | |
KR102163872B1 (ko) | 멀티 비트 메모리 장치, 그것의 온칩 버퍼 프로그램 방법 및 멀티 비트 메모리 시스템 | |
US8924628B2 (en) | Memory system and operating method thereof | |
KR20140013383A (ko) | 불휘발성 메모리 장치 및 그것의 동작 방법 | |
US9619156B2 (en) | Storage device, memory card, and communicating method of storage device | |
US11442664B2 (en) | Memory system and method of operating the same | |
KR20140121159A (ko) | 멀티 레벨 셀 메모리 시스템 | |
KR20160098839A (ko) | 메시지 전송 플로우 관리 방법 및 이를 적용하는 스토리지 디바이스 | |
US8270219B2 (en) | Method of operating nonvolatile memory device capable of reading two planes | |
US10037247B2 (en) | Memory system having idle-memory devices and method of operating thereof | |
US9229798B2 (en) | Error handling method, memory storage device and memory controlling circuit unit | |
US8705275B2 (en) | Non-volatile memory device and method for programming non-volatile memory device | |
KR101818443B1 (ko) | 메모리 컨트롤러, 및 상기 메모리 컨트롤러를 포함하는 메모리 시스템 | |
KR20160028228A (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: 20190429 Year of fee payment: 4 |