KR100673703B1 - 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법 - Google Patents

멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법 Download PDF

Info

Publication number
KR100673703B1
KR100673703B1 KR1020050050763A KR20050050763A KR100673703B1 KR 100673703 B1 KR100673703 B1 KR 100673703B1 KR 1020050050763 A KR1020050050763 A KR 1020050050763A KR 20050050763 A KR20050050763 A KR 20050050763A KR 100673703 B1 KR100673703 B1 KR 100673703B1
Authority
KR
South Korea
Prior art keywords
data
program
bit register
sensing
control signal
Prior art date
Application number
KR1020050050763A
Other languages
English (en)
Other versions
KR20060130984A (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 KR1020050050763A priority Critical patent/KR100673703B1/ko
Priority to US11/416,070 priority patent/US7301825B2/en
Priority to CN2008102120110A priority patent/CN101373638B/zh
Priority to CN2006100836038A priority patent/CN1881473B/zh
Publication of KR20060130984A publication Critical patent/KR20060130984A/ko
Application granted granted Critical
Publication of KR100673703B1 publication Critical patent/KR100673703B1/ko
Priority to US11/907,551 priority patent/US7535768B2/en

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/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
    • 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
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written

Abstract

본 발명은 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법에 관한 것으로, 본 발명에 따른 플래시 메모리 장치의 카피백 동작 제어 방법은 멀티 레벨 셀들을 포함하는 플래시 메모리 장치에서, 추가의 저장 공간 없이도 카피백 동작이 실행될 수 있도록 하여, 플래시 메모리 장치의 프로그램 시간을 줄일될 수 있고, 플래시 메모리 장치의 동작 성능을 향상시킬 수 있다.
멀티 레벨 셀, 카피백 프로그램, 독출 전압, 검증 전압

Description

멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법{Method for controlling copyback operation of flash memory device including multi-level cells}
도 1은 본 발명에 따른 플래시 메모리 장치의 카피백 동작 제어 방법을 설명하기 위한 메모리 셀 어레이와 페이지 버퍼 회로들을 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 플래시 메모리 장치의 카피백 동작 과정을 나타내는 흐름도이다.
도 3은 도 2에 도시된 처리 과정(402)의 상세한 흐름도이다.
도 4는 도 2에 도시된 처리 과정(407)의 상세한 흐름도이다.
도 5는 본 발명에 따른 플래시 메모리 장치의 카피백 동작 과정에 따른 멀티 레벨 셀들의 문턱 전압 분포의 변화를 나타내는 도면이다.
도 6은 도 2에 도시된 플래시 메모리 장치의 카피백 동작 과정과 관련된 신호들의 타이밍도이다.
도 7은 본 발명의 다른 실시예에 따른 플래시 메모리 장치의 카피백 동작 과정을 나타내는 흐름도이다.
도 8은 도 7에 도시된 처리 과정(502)의 상세한 흐름도이다.
도 9는 도 7에 도시된 처리 과정(503)의 상세한 흐름도이다.
도 10은 도 7에 도시된 처리 과정(504)의 상세한 흐름도이다.
도 11은 도 7에 도시된 처리 과정(506)의 상세한 흐름도이다.
도 12는 도 7에 도시된 처리 과정(510)의 상세한 흐름도이다.
도 13은 도 7에 도시된 처리 과정(511)의 상세한 흐름도이다.
도 14는 도 7에 도시된 플래시 메모리 장치의 카피백 동작 제어 과정과 관련된 신호들의 타이밍도이다.
〈도면의 주요 부분에 대한 부호의 설명〉
100 : 메모리 셀 어레이 PB1∼PBK : 페이지 버퍼
210 :비트 라인 선택 회로 220 : 프리차지 회로
230 : 상위 비트 레지스터 240 : 하위 비트 레지스터
250 : 비교 회로 260 : 데이터 입력 회로
270 : 제1 스위치 280 : 제2 스위치
290 : 데이터 출력 회로
본 발명은 플래시 메모리 장치에 관한 것으로서, 특히, 플래시 메모리 장치의 카피백(copyback) 동작 제어 방법에 관한 것이다.
일반적으로, 플래시 메모리 장치는 짧은 시간 동안 대용량의 데이터를 프로그램하거나 또는 독출하기 위해 페이지 버퍼(page buffer)를 포함한다. 따라서 페 이지 버퍼에 의해 페이지 단위로 플래시 메모리 장치의 프로그램 동작 또는 독출 동작이 실행된다. 최근에는 플래시 메모리 장치의 집적도를 더욱 향상시키기 위해, 복수 비트의 데이터를 저장할 수 있는 멀티 레벨 셀(Multi-Level Cell; MLC)들을 포함하는 플래시 메모리 장치가 개발되고 있다. 통상적으로, 멀티 레벨 셀에는 2-비트의 데이터가 프로그램 될 수 있으므로, 하나의 멀티 레벨 셀이 4개의 데이터 즉, [11], [10], [00], [01] 중 어느 하나를 저장할 수 있다. 또, 멀티 레벨 셀은 저장된 데이터([11], [10], [00], [01] 중 하나)에 대응하는 문턱 전압(Vt1∼Vt4 중 하나)을 갖는다. 한편, 단일 비트의 데이터를 저장할 수 있는 메모리 셀을 통상적으로 싱글 레벨 셀(Single Level Cell; SLC)이라 한다. 이러한 싱글 레벨 셀들을 포함하는 플래시 메모리 장치는 기본적으로 카피백(copyback) 동작을 지원한다. 카피백 동작은 소스(source) 페이지(즉, 특정 어드레스)의 메모리 셀들에 저장된 데이터들을 페이지 버퍼에 저장하고, 그 저장된 데이터들을 그대로, 또는 변경하여, 타겟(target) 페이지(즉, 다른 어드레스)의 메모리 셀들에 프로그램하는 것이다. 하지만, 멀티 레벨 셀들을 포함하는 플래시 메모리 장치는 카피백 동작을 지원하지 않는다. 따라서, 멀티 레벨 셀들을 포함하는 플래시 메모리 장치에서, 소스 페이지의 데이터들을 원하는 타겟 페이지에 카피하기 위한 첫 번째 방법은, 상기 소스 페이지로부터 데이터들을 독출하여, 플래시 메모리 칩 외부의 저장 장치에 저장한 후, 상기 외부의 저장 장치에 저장된 데이터들을 다시 타겟 페이지에 프로그램하는 것이다. 또, 두 번째 방법은, 상기 소스 페이지로부터 데이터들을 독출하여 칩 내부에 추가로 구비된 저장 공간에 저장한 후, 상기 칩 내부의 저장 공간에 저장된 데이터들을 다시 상기 타겟 페이지에 프로그램하는 것이다. 하지만, 이러한 방식들은 페이지 버퍼 이외에 추가의 저장 공간들을 더 필요로하는 것이므로, 비효율적인 것이며, 타겟 페이지의 프로그램 시간이 증가되는 문제점이 있다. 또한, 추가의 저장 공간이 플래시 메모리 장치 내부에 설치되는 경우, 플래시 메모리 장치의 크기가 증가하게 되는 문제점이 있다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 멀티 레벨 셀들을 포함하는 플래시 메모리 장치에서, 추가의 저장 공간 없이도 카피백 동작이 실행되도록 제어함으로써, 프로그램 시간을 감소시키고, 플래시 메모리 장치의 동작 성능을 향상시킬 수 있는, 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법을 제공하는 데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 플래시 메모리 장치의 카피백 동작 제어 방법은, 비트 라인들과 워드 라인들에 연결되는 복수의 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법에 있어서, 제1 하위 독출 제어 신호에 응답하여, 하위비트 레지스터를 초기화시키는 단계; 복수의 멀티 레벨 셀들 중 소스 멀티 레벨 셀이 연결된 워드 라인에 제1 및 제2 독출 전압들을 순차적으로 공급하여, 소스 멀티 레벨 셀로부터 제1 및 제2 하위 비트 데이터들을 순차적으로 독출하고, 제1 및 제2 하위 비트 데이터들에 기초하여 프로그램 데이터를 하위비트 레지스터에 저장하는 단계; 프로그램 데이터의 변경 여부를 판단하는 단계; 프로그램 데이터를 변경하지 않을 경우, 제1 프로그램 제어 신호에 응답하여, 프로그램 데이터를 복수의 멀티 레벨 셀들 중 타겟 멀티 레벨 셀에 프로그램하는 제1 프로그램 단계; 프로그램 데이터를 변경할 경우, 하위 비트 레지스터에 변경 프로그램 데이터를 저장하는 단계; 및 제1 프로그램 제어 신호에 응답하여, 변경 프로그램 데이터를 타겟 멀티 레벨 셀에 프로그램하는 제2 프로그램 단계를 포함한다.
상기한 기술적 과제를 달성하기 위한 본 발명의 다른 일면에 따른 플래시 메모리 장치의 카피백 동작 제어 방법은, 비트 라인들과 워드 라인들에 연결되는 복수의 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법에 있어서, 리셋 제어 신호에 응답하여 상위비트 레지스터를 초기화시키고, 제1 하위 독출 제어 신호에 응답하여 하위비트 레지스터를 초기화시키는 단계; 복수의 멀티 레벨 셀들 중 소스 멀티 레벨 셀이 연결된 워드 라인에 제1 독출 전압을 공급하여, 소스 멀티 레벨 셀로부터 상위 비트 데이터를 독출하고, 그 독출된 상위 비트 데이터에 기초하여, 제1 상위 센싱 데이터를 상위비트 레지스터에 저장하는 단계; 복수의 멀티 레벨 셀들 중 타겟 멀티 레벨 셀이 연결된 워드 라인에 제2 독출 전압을 공급하여, 타겟 멀티 레벨 셀로부터 하위 비트 데이터를 독출하고, 그 독출된 하위 비트 데이터와 제1 상위 센싱 데이터에 기초하여, 제1 하위 프로그램 금지 데이터를 하위비트 레지스터에 저장하는 단계; 제1 상위 센싱 데이터와 제1 하위 프로그램 금지 데이터에 기초하여, 프로그램 데이터를 발생하고, 프로그램 데이터를 상위비트 레지스터에 저장하는 단계; 프로그램 데이터의 변경 여부를 판단하는 단계; 프로그램 데이터를 변경하지 않을 경우, 프로그램 데이터와 제1 하위 프로그램 금지 데이터에 기초하여, 제1 최종 프로그램 데이터를 발생하고, 제1 최종 프로그램 데이터를 타겟 멀티 레벨 셀에 프로그램하는 제1 프로그램 단계; 프로그램 데이터를 변경할 경우, 하위비트 레지스터에 제2 하위 프로그램 금지 데이터를 저장하고, 상위 비트 레지스터에 변경 프로그램 데이터를 저장하는 단계; 및 변경 프로그램 데이터와 제2 하위 프로그램 금지 데이터에 기초하여, 제2 최종 프로그램 데이터를 발생하고, 제2 최종 프로그램 데이터를 타겟 멀티 레벨 셀에 프로그램하는 제2 프로그램 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 1은 본 발명에 따른 플래시 메모리 장치의 카피백 동작 제어 방법을 설명하기 위한 메모리 셀 어레이와 페이지 버퍼 회로들을 나타내는 도면이다. 도 1을 참고하면, 메모리 셀 어레이(100)는 비트 라인들(BLe1∼BLoK, BLo1∼BLoK)(K는 정수)과 워드 라인들(WL1∼WLJ)을 공유하는 멀티 레벨 셀들(Me11∼MeJK, Mo11∼MoJK)(J, K는 정수)을 포함한다. 또, 상기 메모리 셀 어레이(100)는 드레인 선택 라인(DSL)에 연결되는 드레인 선택 트랜지스터들(DST)와, 소스 선택 라인(SSL)에 연결되는 소스 선택 트랜지스터들(SST)을 더 포함한다. 상기 메모리 셀 어레이 (100)에서, 동일한 워드 라인(예를 들어, WL1)에 연결된 멀티 레벨 셀들(Me11∼Me1K, Mo11∼Mo1K)은 하나의 페이지(PG1)를 이룬다. 복수의 페이지 버퍼들(PB1∼PBK)(K는 정수) 각각은 한 쌍의 비트 라인들에 연결된다. 예를 들어, 상기 페이지 버퍼(PB1)는 상기 비트 라인들(BLe1, BLo1)에 연결된다. 상기 페이지 버퍼들(PB1∼PBK)의 구성 및 구체적인 동작은 실질적으로 유사하므로, 상기 페이지 버퍼(PB1)를 중심으로 설명한다. 상기 페이지 버퍼(PB1)는 비트 라인 선택 회로(210), 프리차지 회로(220), 상위 비트 레지스터(230), 하위 비트 레지스터(240), 비교 회로(250), 데이터 입력 회로(260), 제1 스위치(270), 제2 스위치(280), 데이터 출력 회로(290), 및 검증 회로들(301, 302)을 포함한다. 상기 비트 라인 선택 회로(210)는 비트 라인 선택 신호들(SBLe, SBLo)과 디스차지 신호들(DISCHe, DISCHo)에 응답하여, 상기 비트 라인들(BLe1, BLo1) 중 하나를 선택하고, 그 선택된 비트 라인(BLe1 또는 BLo1)을 센싱 노드(SO)에 연결한다. 상기 비트 라인 선택 회로(210)는 NMOS 트랜지스터들(211∼214)을 포함하고, 이들의 상세한 동작 설명은 본 기술 분야에서 통상의 지식을 가진 자라면 잘 이해할 수 있으므로 생략하기로 한다. 상기 프리차지 회로(220)는 프리차지 제어 신호(PRECHb)에 응답하여, 상기 센싱 노드(SO)를 내부 전압(VDD)으로 프리차지한다.
상위 비트 레지스터(230)는 센싱 회로(231), 래치 회로(232), 및 래치 리셋 회로(233)를 포함한다. 상기 센싱 회로(231)는 NMOS 트랜지스터들(234, 235)을 포함하고, 상위 독출 제어 신호(MREAD)에 응답하여, 상기 센싱 노드(SO)의 전압을 센싱하고, 노드(Q1b)에 상위 센싱 데이터(MSB)를 발생한다. 상기 래치 회로(232)는 래치(236)와 인버터(237)를 포함한다. 상기 래치(236)는 상기 노드(Q1b)에 발생된 상기 상위 센싱 데이터(MSB)를 래치하고 반전된 상위 센싱 데이터(MS)를 노드(Q1)에 출력한다. 또, 상기 래치(236)는 입력 데이터(D1B 또는 D2)를 래치하고 반전된 입력 데이터(D1 또는 D2B)을 상기 노드(Q1 또는 Q1b)에 출력한다. 상기 인버터(237)는 상기 노드(Q1b)를 통하여 상기 래치(236)로부터 상기 상위 센싱 데이터(MSB) 또는 상기 입력 데이터(D1B 또는 D2B)를 수신하고, 그 수신된 데이터(MSB, D1B, D2B 중 하나)를 반전시켜 노드(N1)에 출력한다. 상기 래치 리셋 회로(233)는 리셋 제어 신호(MSBSET)에 응답하여, 상기 래치 회로(232)를 초기화시킨다.
상기 하위 비트 레지스터(240)는 센싱 회로(241)와 래치 회로(242)를 포함한다. 상기 센싱 회로(241)는 NMOS 트랜지스터들(243∼245)을 포함하고, 제1 또는 제2 하위 독출 제어 신호(LREAD1 또는 LREAD2)에 응답하여, 상기 센싱 노드(SO)의 전압을 센싱하고, 하위 센싱 데이터(LS 또는 LSB)를 노드(Q2 또는 Q2b)에 발생한다. 상기 래치 회로(242)는 래치(246)와 인버터(247)를 포함한다. 상기 래치(246)는 상기 하위 센싱 데이터(LS 또는 LSB)를 래치하고, 상기 노드(Q2b 또는 Q2)에 반전된 하위 센싱 데이터(LSB 또는 LS)를 출력한다. 상기 인버터(247)는 상기 노드(Q2b)를 통하여 상기 래치(246)로부터 상기 반전된 하위 센싱 데이터(LSB)를 수신하고, 그 수신된 데이터(LSB)를 반전시켜 노드(N2)에 출력한다.
상기 비교 회로(250)는 NMOS 트랜지스터들(251∼254)을 포함한다. 상기 NMOS 트랜지스터들(251, 252)은 상기 센싱 노드(SO)와 상기 노드(N1) 사이에 직렬로 연결되고, 상기 NMOS 트랜지스터들(253, 254)은 상기 센싱 노드(SO)와 상기 노드(N2) 사이에 연결된다. 상기 NMOS 트랜지스터들(251, 253)은 프로그램 제어 신호(MLCPROG)에 응답하여 턴 온 또는 오프된다. 상기 NMOS 트랜지스터(252)는 상기 노드(N2)로부터 수신되는 상기 하위 센싱 데이터(LS)의 로직 레벨에 따라 턴 온 또는 오프된다. 또, 상기 NMOS 트랜지스터(254)는 상기 노드(N1)로부터 수신되는 상기 데이터(MS, D1, D2 중 하나)의 로직 레벨에 따라 턴 온 또는 오프된다. 결국, 상기 비교 회로(250)는 상기 프로그램 제어 신호(MLCPROG)가 인에이블될 때, 상기 노드들(N1, N2)을 통하여 수신되는 상기 데이터(MS, D1, D2 중 하나)와 상기 하위 센싱 데이터(LS)를 비교하고, 그 비교 결과에 따라 상기 센싱 노드(SO)에 비교 결과 데이터(CM, FPD1, FPD2 중 하나)를 출력한다. 상기 비교 회로(250)의 구체적인 동작은 본 기술 분야에서 통상의 지식을 가진 자라면 잘 이해할 수 있으므로, 이에 대한 상세한 설명은 생략하기로 한다.
상기 데이터 입력 회로(260)는 NMOS 트랜지스터들(261, 262)을 포함하고, 데이터 입력 신호들(DI, nDI)에 응답하여, 데이터 입출력 노드(Y1)를 통하여 수신되는 상기 입력 데이터(D1B 또는 D2)를 상기 노드(Q1b 또는 Q1)를 통하여 상기 상위 비트 레지스터(230)의 상기 래치(236)에 출력한다.
상기 제1 스위치(270)와 상기 제2 스위치(280)는 각각 NMOS 트랜지스터로 구현될 수 있다. 상기 제1 스위치(270)는 데이터 전달 신호(DTRANS)에 응답하여 턴 온 또는 오프되고, 상기 제2 스위치(280)는 프로그램 제어 신호(SLCPROG)에 응답하여 턴 온 또는 오프된다.
상기 데이터 출력 회로(290)는 NMOS 트랜지스터들(291, 292)을 포함한다. 상 기 NMOS 트랜지스터(291)는 데이터 출력 신호(MPASS)에 응답하여, 턴 온 또는 오프되고, 턴 온될 때, 상기 노드(Q1)로부터 수신되는 상기 상위 센싱 데이터(MS)를 상기 데이터 입출력 노드(Y1)에 출력한다. 상기 NMOS 트랜지스터(292)는 데이터 출력 신호(LPASS)에 응답하여, 턴 온 또는 오프되고, 턴 온될 때, 상기 노드(Q2)로부터 수신되는 상기 하위 센싱 데이터(LS)를 상기 데이터 입출력 노드(Y1)에 출력한다.
다음으로, 본 발명의 일실시예에 따른 플래시 메모리 장치의 카피백 동작 과정을 도 2 내지 도 6을 참고하여 상세히 설명한다. 설명의 편의상, 본 실시예에서는, 페이지(PG1)의 멀티 레벨 셀들(Me11∼Me1K)(즉, 소스(source) 멀티 레벨 셀들)에 저장된 데이터들을 페이지(PGJ)의 멀티 레벨 셀들(MeJ1∼MeJK)(즉, 타겟(target) 멀티 레벨 셀들)에 카피백 프로그램하는 경우가 일례로서 설명된다. 또, 페이지 버퍼(PB1)의 동작을 중심으로 설명하기로 한다.
도 2 내지 도 4는 본 발명의 일실시예에 따른 플래시 메모리 장치의 카피백 동작 과정을 나타내는 흐름도이고, 도 6은 도 2에 도시된 플래시 메모리 장치의 카피백 동작 과정과 관련된 신호들의 타이밍도이다.
먼저, 도 2와 도 6을 참고하면, 구간(T1) 동안 제1 하위 독출 제어 신호(LREAD1)에 응답하여, 하위비트 레지스터(240)가 초기화된다(401). 이를 좀 더 상세히 설명하면, 상기 구간(T1) 동안 프리차지 제어 신호(PRECHb)가 디세이블된다. 상기 프리차지 회로(220)는 상기 프리차지 제어 신호(PRECHb)에 응답하여, 상기 센싱 노드(SO)를 내부 전압(VDD)으로 프리차지한다. 이 후, 상기 제1 하위 독출 제어 신호(LREAD1)가 설정 시간 동안 인에이블된다. 그 결과, 상기 하위비트 레지스터 (240)의 센싱 회로(241)가 상기 제1 하위 독출 제어 신호(LREAD1)에 응답하여, 상기 센싱 노드(SO)의 전압(VDD)을 센싱하고, 상기 노드(Q2b)에 그라운드 전압(VSS) 레벨, 즉, 로직 '0'의 하위 센싱 데이터(LSB)를 발생한다. 따라서 상기 하위비트 레지스터(240)의 래치 회로(246)가 로직 '0'의 상기 하위 센싱 데이터(LSB)를 래치함으로써, 초기화된다.
이 후, 구간들(T2∼T11) 동안 워드 라인(WL1)에 독출 전압들(RV1, RV2, 도 5 참고)을 순차적으로 공급하여, 소스(source) 페이지(PG1)의 소스 멀티 레벨 셀들(Me11∼Me1K)로부터 제1 및 제2 하위 비트 데이터들(RLD1, RLD2)(미도시)을 순차적으로 독출하고, 상기 제1 및 제2 하위 비트 데이터들(RLD1, RLD2)에 기초하여 프로그램 데이터(미도시)를 상기 하위비트 레지스터(240)에 저장한다(402). 상기 단계(402)를 도 3을 참고하여 좀 더 상세히 설명하면 다음과 같다.
먼저, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)이 연결된 상기 워드 라인(WL1)에 상기 독출 전압(RV1)이 공급됨에 따라, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)로부터 상기 제1 하위 비트 데이터들(RLD1)이 독출된다(421). 여기에서, 상기 독출 전압(RV1)은 도 5에서 참조되는 것과 같이, 소거된 멀티 레벨 셀들(즉, '11'의 데이터가 저장된 멀티 레벨 셀들)의 문턱 전압과 '10'의 데이터가 저장된 멀티 레벨 셀들의 문턱 전압 사이에 존재한다. 이를 좀 더 상세히 설명하면, 상기 구간(T2) 동안 디스차지 신호들(DISCHe, DISCHo)이 인에이블되고, 상기 프리차지 제어 신호(PRECHb)가 디세이블된다. 바람직하게, 상기 디스차지 신호들(DISCHe, DISCHo)은 전압(Vcc) 레벨로 된다. 그 결과, 상기 프리차지 회로(220)가 상기 센싱 노드(SO) 를 상기 내부 전압(VDD)으로 프리차지하고, 상기 비트 라인 선택 회로(210)가 상기 비트 라인들(BLe1∼BLeK, BLo1∼BLoK)을 비트 라인 제어 신호(VIRPWR)의 전압(즉, 그라운드 전압) 레벨로 디스차지 한다.
그 후, 상기 구간(T3) 동안 비트 라인 선택 신호(SBLe)가 인에이블되고, 비트 라인 선택 신호(SBLo)가 디세이블된다. 또, 상기 디스차지 신호(DISCHe)가 디세이블되고, 상기 디스차지 신호(DISCHo)는 인에이블 상태로 유지된다. 상기 비트 라인 선택 신호들(SBLe, SBLo)과 상기 디스차지 신호들(DISCHe, DISCHo)에 응답하여, 상기 비트 라인 선택 회로(210)가 상기 비트 라인(BLe1)을 상기 센싱 노드(SO)에 연결하고, 상기 비트 라인(BLo1)을 상기 센싱 노드(SO)로부터 분리한다. 그 결과, 상기 비트 라인(BLe1)이 프리차지된 상기 센싱 노드(SO)의 전압(VDD)에 의해 전압(V1-Vth1)(Vth1는 NMOS 트랜지스터(213)의 문턱 전압) 레벨로 프리차지된다. 상기 전압(V1)은 상기 전압(VDD)보다 작게 설정될 수 있다. 한편, 상기 비트 라인(BLo1)은 디스차지된 상태(즉, 그라운드 전압 상태)로 유지된다.
상기 구간(T4) 동안 상기 비트 라인 선택 신호(SBLe)가 디세이블되고, 상기 프리차지 제어 신호(PRECHb)가 인에이블된다. 상기 비트 라인 선택 회로(210)는 상기 비트 라인(BLe1)을 상기 센싱 노드(SO)로부터 분리하고, 상기 프리차지 회로(220)가 상기 센싱 노드(SO)의 프리차지 동작을 정지한다. 상기 소스 멀티 레벨 셀들(Me11∼Me1K)이 이미 프로그램 된 경우(즉, '10', '00', '01'의 데이터가 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 저장된 경우), 상기 구간(T4) 동안 상기 비트 라인(BLe1)은 상기 전압(V1-Vth1) 레벨을 유지한다. 또, 상기 소스 멀티 레벨 셀들 (Me11∼Me1K)이 프로그램되지 않은 경우(즉, 데이터 '11'을 가지는 경우), 상기 구간(T4) 동안 상기 비트 라인(BLe1)의 전압 레벨이 점차적으로 감소하여, 그라운드 전압 레벨로 된다.
상기 구간(T5) 동안, 상기 비트 라인 선택 신호(SBLe)가 인에이블되고, 상기 제2 하위 독출 제어 신호(LREAD2)가 소정 시간 동안 인에이블된다. 그 결과, 상기 비트 라인(BLe1)이 상기 센싱 노드(SO)에 연결되고, 상기 비트 라인(BLe1)의 전압 레벨(즉, 상기 제1 하위 비트 데이터(RLD1)의 로직 값)에 따라 상기 센싱 노드(SO)의 전압이 그라운드 전압으로 변경되거나 또는 상기 전압(VDD) 레벨로 유지된다. 또, 상기 하위비트 레지스터(240)의 센싱 회로(241)가 상기 센싱 노드(SO)의 전압을 센싱하고, 그 센싱 결과인, 제1 하위 센싱 데이터(LSB1)가 상기 하위비트 레지스터(240)에 저장된다(422). 예를 들어, 상기 소스 멀티 레벨 셀(Me11)에 '11'의 데이터가 저장된 경우, 상기 하위비트 레지스터(240)의 노드(Q2b)에는 로직 '0'의 상기 제1 하위 센싱 데이터(LSB1)가 발생된다(즉, 초기화된 상태의 데이터 값으로 유지된다). 또, 상기 소스 멀티 레벨 셀(Me11)에 '10', '00', '01' 중 하나의 데이터가 저장된 경우, 상기 하위비트 레지스터(240)의 노드(Q2b)에는 로직 '1'의 상기 제1 하위 센싱 데이터(LSB1)가 발생된다.
이 후, 상기 구간(T9) 동안, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)이 연결된 상기 워드 라인(WL1)에 상기 독출 전압(RV3)이 공급됨에 따라, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)로부터 상기 제2 하위 비트 데이터들(RLD2)이 독출된다(423). 여기에서, 상기 독출 전압(RV3)은 도 5에서 참조되는 것과 같이, 데이터 '00'가 저장된 멀티 레벨 셀들의 문턱 전압과 '01'의 데이터가 저장된 멀티 레벨 셀들의 문턱 전압 사이에 존재한다. 따라서, 상기 독출 전압(RV3)이 상기 독출 전압(RV1)보다 더 크다. 상기 과정(423)은 상기 과정(421)과 유사하므로, 이에 대한 상세한 설명이 생략된다.
또, 상기 구간(T10) 동안 상기 비트 라인 선택 회로(210)는 상기 비트 라인(BLe1)을 상기 센싱 노드(SO)로부터 분리하고, 상기 프리차지 회로(220)가 상기 센싱 노드(SO)의 프리차지 동작을 정지한다. 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 '01'의 데이터가 저장된 경우, 상기 구간(T10) 동안 상기 비트 라인(BLe1)은 상기 전압(V1-Vth1) 레벨을 유지한다. 또, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 '11', '10', '00' 중 하나의 데이터가 저장된 경우, 상기 구간(T10) 동안 상기 비트 라인(BLe1)의 전압 레벨이 점차적으로 감소하여, 그라운드 전압 레벨로 된다.
이 후, 상기 구간(T11) 동안, 상기 비트 라인 선택 신호(SBLe)가 인에이블되고, 상기 제1 하위 독출 제어 신호(LREAD1)가 소정 시간 동안 인에이블된다. 그 결과, 상기 센싱 회로(241)가 상기 센싱 노드(SO)의 전압을 센싱하고, 그 센싱 결과인, 제2 하위 센싱 데이터(LSB2)가 상기 프로그램 데이터로서 상기 하위비트 레지스터(240)에 저장된다(424). 여기에서, 카피백 동작을 위해, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 저장된 하위 비트 데이터를 두 번 독출하는 이유는, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 저장된 하위 비트 데이터를 정확하게 독출하기 위함이다. 이러한 두 번의 독출 과정에 의해, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 저장된 데이터가 '11', '01' 중 하나인지, 또는 '10', '00' 중 하나인지의 여부가 확인될 수 있다. 예를 들어, 상기 소스 멀티 레벨 셀(Me11)에 '11', '01' 중 하나의 데이터가 저장된 경우, 상기 하위비트 레지스터(240)의 노드(Q2b)에는 로직 '0'의 상기 제2 하위 센싱 데이터(LSB2)가 발생된다. 또, 상기 소스 멀티 레벨 셀(Me11)에 '10', '00' 중 하나의 데이터가 저장된 경우, 상기 하위비트 레지스터(240)의 노드(Q2b)에는 로직 '1'의 상기 제2 하위 센싱 데이터(LSB2)가 발생된다.
다시 도 2를 참고하면, 상기 프로그램 데이터를 변경할 것인지의 여부가 판단된다(403). 상기 단계(403)에서 상기 프로그램 데이터를 변경하지 않을 경우, 제1 프로그램 제어 신호(SLCPROG)에 응답하여, 상기 프로그램 데이터(즉, LS)를 상기 타겟 멀티 레벨 셀(MeJ1)에 프로그램한다(404). 이를 좀 더 상세히 설명하면, 도 6에서, 구간(T14) 동안, 상기 디스차지 신호들(DISCHe, DISCHo)이 전압(Vcc+Vth2) 레벨로 인에이블되고, 상기 비트 라인 제어 신호(VIRPWR)가 인에이블되어, 상기 전압(Vcc) 레벨로 된다. 그 결과, 상기 비트 라인 선택 회로(210)가 상기 디스차지 신호들(DISCHe, DISCHo)에 응답하여, 상기 비트 라인들(BLe1, BLo1)을 상기 비트 라인 제어 신호(VIRPWR)의 전압(Vcc) 레벨로 프리차지한다.
이 후, 구간들(T15∼T18) 동안, 상기 디스차지 신호(DISCHe)가 디세이블되고, 상기 디스차지 신호(DISCHo)는 인에이블 상태로 유지된다. 또, 상기 타겟 멀티 레벨 셀(MeJ1)이 연결된 워드 라인(WLJ)에 프로그램 전압(VPGM)이 공급되고, 상기 비트 라인 선택 신호(SBLe)와 제1 프로그램 제어 신호(SLCPROG)가 인에이블된다. 그 결과, 상기 비트 라인 선택 회로(210)가 상기 센싱 노드(SO)에 상기 비트 라인(BLe1)을 연결하고, 상기 제2 스위치(280)가 상기 하위비트 레지스터(240)로부터 수신되는 프로그램 데이터, 즉, 반전된 상기 제2 하위 센싱 데이터(LS)를 상기 센싱 노드(SO)에 출력한다. 이때, 반전된 상기 제2 하위 센싱 데이터(LS)가 로직 '0'인 경우(즉, 상기 제2 하위 센싱 데이터(LSB)가 로직 '1'인 경우), 상기 타겟 멀티 레벨 셀(MeJ1)이 프로그램된다. 또, 반전된 상기 제2 하위 센싱 데이터(LS)가 로직 '1'인 경우(즉, 상기 제2 하위 센싱 데이터(LSB)가 로직 '0'인 경우), 상기 타겟 멀티 레벨 셀(MeJ1)이 프로그램 금지(inhibit)된다. 여기에서, 상기 비트 라인들(BLe1∼BLeK)에 연결된 타겟 멀티 레벨 셀들(MeJ1∼MeJK)이 동시에 프로그램 될 때, 상기 비트 라인들(BLe1∼BLeK)에서, 상기 페이지 버퍼들(PB1∼PBK) 각각의 제1 스위치(280), 및 상기 페이지 버퍼들(PB1∼PBK) 각각의 인버터(247)를 통하여 그라운드로 흐르는 전류(peak current)가 급격히 증가된다. 이렇게 증가된 전류는 상기 인버터(247)에 전압 강하를 발생시켜, 플래시 메모리 장치의 그라운드 전압 레벨을 상승시키게 된다. 이처럼 플래시 메모리 장치의 그라운드 전압이 상승할 경우, 플래시 메모리 장치가 오동작하게 되는 문제점이 발생한다. 따라서 그라운드 전압이 상승하는 것을 방지하기 위해, 상기 구간(T15∼T18) 동안, 상기 비트 라인 선택 신호(SBLe)와 제1 프로그램 제어 신호(SLCPROG)가 전원 전압(Vcc) 보다 작은 기준 전압(Vref) 레벨로 인에이블되도록 할 수도 있다. 그 결과, 상기 제2 스위치(280)와 상기 NMOS 트랜지스터(213)의 전류 구동 능력이 감소되어, 상기 전류(peak current)가 급격하게 증가되는 것이 방지될 수 있다. 여기에서, 상기 인버터(247)는 전원 전압과 그라운드 전압 사이에 직렬로 연결되는 PMOS 트랜지스터 및 NMOS 트랜지스터로 이루어지는 COMS 인버터로 구현될 수 있다.
이 후, 상기 구간(T20) 동안, 상기 디스차지 신호들(DISCHe, DISCHo)이 전압(Vcc) 레벨로 인에이블되고, 상기 비트 라인 제어 신호(VIRPWR)가 디세이블되어, 상기 그라운드 전압 레벨로 된다. 그 결과, 상기 비트 라인 선택 회로(210)가 상기 디스차지 신호들(DISCHe, DISCHo)에 응답하여, 상기 비트 라인들(BLe1, BLo1)을 상기 비트 라인 제어 신호(VIRPWR)의 그라운드 전압 레벨로 디스차지한다.
그 후, 도 6에 도시되지는 않았지만, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)이 연결된 워드 라인(WLJ)에 상기 독출 전압(RV1)보다 큰 검증 전압(PV1)을 공급함으로써, 상기 타겟 멀티 레벨 셀의 프로그램 완료 여부가 검증된다(405, 406). 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료되지 않은 경우, 상기 프로그램 전압(VPGM)이 스텝(step) 전압 만큼 증가된(407) 후, 상기 단계(404)가 다시 진행된다. 여기에서, 상기 스텝 전압은 통상적으로 0.5V로 설정될 수 있지만, 더욱 바람직하게는 0.3V 이하로 설정될 수 있다.
그 후, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료될 때까지, 상기 단계들(407, 404∼406)이 반복적으로 실행된다. 여기에서, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램 완료 여부는 상기 페이지 버퍼들(PB1∼PBK) 각각의 검증 회로(302)에 의해 발생되는 상기 하위 검증 데이터들(LVD1∼LVDK)의 값에 따라 판단될 수 있고, 이러한 동작은 본 기술 분야에서 통상의 지식을 가진 자라면 잘 이해할 수 있으므로, 그 상세한 설명이 생략된다.
한편, 상기 단계(403)에서, 상기 프로그램 데이터를 변경할 경우, 상기 하위 비트 레지스터(240)에 변경 프로그램 데이터가 저장된다(408). 예를 들어, 상기 페 이지 버퍼들(PB1∼PBK) 중 일부에 저장된 상기 프로그램 데이터들이 변경되어야 하는 경우가 고려될 수 있다. 도 4를 참고하여, 상기 과정(408)을 좀 더 상세히 설명하면 다음과 같다. 먼저, 상위 독출 제어 신호(MREAD)에 응답하여, 상위 비트 레지스터(230)가 초기화되고, 제2 하위 독출 제어 신호(LREAD2)에 응답하여, 상기 하위 비트 레지스터(240)가 초기화된다(471). 데이터 입력 신호들(DI, nDI)에 응답하여, 입력 데이터(D1B 또는 D2)가 상기 상위 비트 레지스터(230)에 저장된다(472). 데이터 전달 신호(DTRANS)에 응답하여, 제1 스위치(270)가 상기 센싱 노드(SO)를 통하여 상기 입력 데이터(D1 또는 D2)를 상기 하위 비트 레지스터(240)에 전달한다(473). 그 결과, 상기 제1 하위 독출 제어 신호(LREAD1)에 응답하여, 상기 하위 비트 레지스터(240)가 상기 입력 데이터(D1 또는 D2)를 센싱하고, 하위 센싱 데이터(LSB)를 상기 변경 프로그램 데이터(미도시)로서 저장한다(474).
다시 도 2를 참고하면, 상기 제1 프로그램 제어 신호(SLCPROG)에 응답하여, 상기 변경 프로그램 데이터(즉, LS)를 상기 타겟 멀티 레벨 셀(MeJ1)에 프로그램한다(409). 상기 과정(409)은 상기 과정(404)과 실질적으로 유사하므로, 이에 대한 상세한 설명은 생략된다.
그 후, 상기 과정(405)과 유사하게 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료되었는지의 여부가 검증된다. 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료되지 않은 경우, 상기 프로그램 전압(VPGM)이 스텝(step) 전압 만큼 증가된(412) 후, 상기 단계(409)가 다시 진행된다. 여기에서, 상기 스텝 전압은 통상적으로 0.5V로 설정될 수 있지만, 더욱 바람직하게는 0.3V 이하로 설정 될 수 있다. 그 후, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료될 때까지, 상기 단계들(412, 409∼411)이 반복적으로 실행된다. 또, 상기 과정들(406, 411)에서, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료된 경우, 카피백 프로그램 동작이 정지된다(413).
다음으로, 도 1, 도 5, 및 도 7 내지 도 14를 참고하여, 본 발명의 다른 실시예에 따른 플래시 메모리 장치의 카피백 동작 과정을 좀 더 상세히 설명한다. 설명의 편의상, 본 실시예에서는, 페이지(PG1)의 멀티 레벨 셀들(Me11∼Me1K)(즉, 소스(source) 멀티 레벨 셀들)에 저장된 데이터들을 페이지(PGJ)의 멀티 레벨 셀들(MeJ1∼MeJK)(즉, 타겟(target) 멀티 레벨 셀들)에 카피백 프로그램하는 경우가 일례로서 설명된다. 또, 페이지 버퍼(PB1)의 동작을 중심으로 설명하기로 한다.
도 7을 참고하면, 리셋 제어 신호(MSBSET)에 응답하여, 상위비트 레지스터(230)가 초기화되고, 제1 하위 독출 제어 신호(LREAD1)에 응답하여 하위비트 레지스터(240)가 초기화된다. 도 14를 참고하여, 이를 좀 더 상세히 설명하면, 구간(P1) 동안, 프리차지 제어 신호(PRECHb)가 디세이블되고, 리셋 제어 신호(MSBSET)와 제1 하위 독출 제어 신호(LREAD1)가 소정 시간 동안 각각 인에이블된다. 상기 프리차지 회로(220)는 상기 프리차지 제어 신호(PRECHb)에 응답하여, 상기 센싱 노드(SO)를 내부 전압(VDD)으로 프리차지한다. 또, 상기 상위비트 레지스터(230)의 래치 리셋 회로(233)가 상기 리셋 제어 신호(MSBSET)에 응답하여, 노드(Q1)를 그라운드 전압(VSS) 레벨로 디스차지한다. 그 결과, 상기 상위비트 레지스터(230)의 래치 회로(232)가 초기화된다. 또, 상기 하위비트 레지스터(240)의 센싱 회로(241)가 상기 제1 하위 독출 제어 신호(LREAD1)에 응답하여, 상기 센싱 노드(SO)의 전압(VDD)을 센싱하고, 상기 노드(Q2b)에 그라운드 전압(VSS) 레벨, 즉, 로직 '0'의 하위 센싱 데이터(LSB)를 발생한다. 따라서 상기 하위비트 레지스터(240)의 래치 회로(246)가 로직 '0'의 상기 하위 센싱 데이터(LSB)를 래치함으로써, 초기화된다.
이 후, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)이 연결된 워드 라인(WL1)에 독출 전압(RV2)이 공급함으로써, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 저장된 상위 비트 데이터들(RMD1∼RMDK)이 독출되고, 그 독출된 상위 비트 데이터들(RMD1∼RMDK)에 기초하여, 상기 페이지 버퍼들(PB1∼PBK) 각각의 상기 상위비트 레지스터(230)에 제1 상위 센싱 데이터(미도시)가 저장된다(502). 도 8을 참고하여, 이를 좀 더 상세히 설명하면, 구간(P2) 동안 비트 라인들(BLe1, BLo1)이 비트 라인 제어 신호(VIRPWR)의 그라운드 전압 레벨로 디스차지되고, 구간들(P3∼P4) 동안, 상기 워드 라인(WL1)에 상기 독출 전압(RV2)이 공급된다. 그 결과, 상기 상위 비트 데이터들(RMD1∼RMDK)이 독출된다(521). 이때, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 '00' 또는 '01'의 데이터가 저장된 경우, 상기 구간(P4) 동안 상기 비트 라인(BLe1)은 상기 전압(V1-Vth1) 레벨을 유지한다. 또, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 '11' 또는 '10'의 데이터가 저장된 경우, 상기 구간(P4) 동안 상기 비트 라인(BLe1)의 전압 레벨이 점차적으로 감소하여, 그라운드 전압 레벨로 된다. 상기 과정(521)은 상기 워드 라인(WL1)에 공급되는 상기 독출 전압(RV2)을 제외하고, 도 3을 참고하여 상술한 과정(421)과 유사하므로, 그 상세한 설명은 생략된다.
또, 구간(P5) 동안, 상기 제2 하위 독출 제어 신호(LREAD2)에 응답하여, 상 기 하위비트 레지스터(240)가 상기 상위 비트 데이터를 센싱하고, 그 센싱 결과인, 제1 하위 센싱 데이터(LS)를 저장한다(522). 예를 들어, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 '00' 또는 '01'의 데이터가 저장된 경우, 상기 하위비트 레지스터(240)의 노드(Q2b)에는 로직 '1'의 상기 제1 하위 센싱 데이터(LSB1)가 발생된다. 또, 상기 소스 멀티 레벨 셀들(Me11∼Me1K)에 '11' 또는 '10'의 데이터가 저장된 경우, 상기 하위비트 레지스터(240)의 상기 노드(Q2b)에는 로직 '0'의 상기 제1 하위 센싱 데이터(LSB1)가 발생된다(즉, 초기화된 상태의 데이터 값으로 유지된다). 상기 과정(522)은 상술한 과정(422)과 유사하다.
그 후, 제1 프로그램 제어 신호(SLCPROG)에 응답하여, 제2 스위치(280)가 상기 하위비트 레지스터(240)로부터 수신되는 반전된 상기 제1 하위 센싱 데이터(LS)를 상기 센싱 노드(SO)를 통하여 상기 상위비트 레지스터(230)에 전달한다(523). 또, 상위 독출 제어 신호(MREAD)에 응답하여, 상기 상위비트 레지스터(230)가 상기 제1 하위 센싱 데이터(LS)를 센싱하고, 그 센싱된 상기 제1 상위 센싱 데이터(MSB1)(미도시)로서 저장한다(524). 상기 과정들(523, 524)을 좀 더 상세히 설명하면, 먼저, 구간(P6) 동안, 상기 프리차지 제어 신호(PRECHb)가 디세이블된다. 그 결과, 상기 센싱 노드(SO)가 상기 내부 전압(VDD)으로 프리차지된다. 구간(P7) 동안, 상기 상위 독출 제어 신호(MREAD)와 상기 제1 프로그램 제어 신호(SLCPROG)가 각각 소정 시간 동안 인에이블된다. 그 결과, 상기 제2 스위치(280)가 반전된 상기 제1 하위 센싱 데이터(LS)를 상기 센싱 노드(SO)를 통하여 상기 상위비트 레지스터(230)에 전달한다. 또, 상기 상위 독출 제어 신호(MREAD)에 응답하여, 상기 상위비 트 레지스터(230)의 센싱 회로(231)가 상기 제1 하위 센싱 데이터(LS)를 센싱하고, 노드(Q1b)에 상기 제1 상위 센싱 데이터(MSB1)를 발생한다. 예를 들어, 반전된 상기 제1 하위 센싱 데이터(LS)가 로직 '1'일 때(즉, 상기 제1 하위 센싱 데이터(LSB1)가 로직 '0'일 때), 상기 센싱 회로(231)가 로직 '0'의 상기 제1 상위 센싱 데이터(MSB1)를 상기 노드(Q1b)에 발생한다. 또, 반전된 상기 제1 하위 센싱 데이터(LS)가 로직 '0'일 때(즉, 상기 제1 하위 센싱 데이터(LSB1)가 로직 '1'일 때), 상기 노드(Q1b)에는 로직 '1'의 상기 제1 상위 센싱 데이터(MSB1)가 발생된다(즉, 초기화된 상태의 데이터 값으로 유지된다).
다시 도 7을 참고하면, 타겟 멀티 레벨 셀들(MeJ1∼MeJK)이 연결된 워드 라인(WLJ)에 독출 전압(RV1)이 공급됨에 따라, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)로부터 상위 비트 데이터들((RMD1∼RMDK)이 독출된다. 독출된 상위 비트 데이터들((RMD1∼RMDK)와, 상기 제1 상위 센싱 데이터들(MSB1∼MSBK)에 기초하여, 상기 페이지 버퍼들(PB1∼PBK) 각각의 하위비트 레지스터(240)에 제1 하위 프로그램 금지 데이터(미도시)가 저장된다(503). 도 9를 참고하여, 상기 과정(503)을 좀 더 상세히 설명하면 다음과 같다. 먼저, 상기 구간(P7) 동안, 상기 제2 하위 독출 제어 신호(LREAD2)가 소정 시간 동안 인에이블됨에 따라, 상기 제2 하위 독출 제어 신호(LREAD2)에 응답하여, 상기 하위비트 레지스터(240)가 초기화된다(531).
구간(P8) 동안, 상기 비트 라인들(BLe1, BLo1)이 그라운드 전압 레벨로 디스차지되고, 구간(P9) 동안 상기 워드 라인(WLJ)에 독출 전압(RV1)이 공급된다. 그 결과, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)로부터 하위 비트 데이터들((RLD1∼ RLDK)이 독출된다(532).
구간(P11) 동안, 상기 제1 하위 독출 제어 신호(LREAD1)가 소정 시간 동안 인에이블되고, 상기 제1 하위 독출 제어 신호(LREAD1)에 응답하여, 상기 페이지 버퍼들(PB1∼PBK) 각각의 상기 하위비트 레지스터(240)가 상기 하위 비트 데이터들((RLD1∼RLDK)을 각각 센싱하고, 제1 하위 센싱 데이터(LSB1)를 저장한다(533). 예를 들어, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)에 '10'의 데이터가 저장된 경우, 상기 하위비트 레지스터(240)의 상기 노드(Q2b)에는 로직 '0'의 상기 제1 하위 센싱 데이터(LSB1)가 발생된다. 또, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)에 '11'의 데이터가 저장된 경우, 상기 하위비트 레지스터(240)의 상기 노드(Q2b)에는 로직 '1'의 상기 제1 하위 센싱 데이터(LSB1)가 발생된다(즉, 초기화된 상태의 데이터 값으로 유지된다).
이 후, 구간(P12) 동안, 데이터 전달 신호(DTRANS)에 응답하여, 제1 스위치(270)가 상기 상위비트 레지스터(230)에 저장된 상기 제1 상위 센싱 데이터(MS1)를 상기 센싱 노드(SO)를 통하여 상기 하위비트 레지스터(240)에 전달한다(534). 또, 상기 구간(P12) 동안, 상기 제1 하위 독출 제어 신호(LREAD1)에 응답하여, 상기 하위비트 레지스터(240)가 상기 제1 상위 센싱 데이터(MS1)를 센싱하고, 그 센싱 결과인, 제2 하위 센싱 데이터(LSB2)를 상기 제1 하위 프로그램 금지 데이터로서 저장한다(535). 예를 들어, 상기 제1 상위 센싱 데이터(MS1)가 로직 '1'일 경우, 상기 노드(Q2b)에는 로직 '0'의 상기 제2 하위 센싱 데이터(LSB2)가 발생된다. 또, 상기 제1 상위 센싱 데이터(MS1)가 로직 '0'일 경우, 상기 노드(Q2b)에는 로직 '1' 의 상기 제2 하위 센싱 데이터(LSB2)가 발생된다(즉, 초기화된 상태의 데이터 값으로 유지된다).
다시 도 7을 참고하면, 상기 제1 상위 센싱 데이터(MS1)와 상기 제1 하위 프로그램 금지 데이터에 기초하여, 프로그램 데이터(미도시)가 발생되고, 상기 프로그램 데이터가 상기 상위비트 레지스터(230)에 저장된다(504). 도 10을 참고하여, 상기 과정(504)을 좀 더 상세히 설명하면 다음과 같다. 먼저, 구간(P13) 동안 제2 프로그램 제어 신호(MLCPROG)가 소정 시간 동안 인에이블된다. 상기 제2 프로그램 제어 신호(MLCPROG)에 응답하여, 비교 회로(250)가 노드(N1)를 통하여 수신되는 상기 제1 상위 센싱 데이터(MS1)와, 노드(N2)를 통하여 수신되는 상기 제1 하위 프로그램 금지 데이터를 비교하고, 그 비교 결과로서, 비교 결과 데이터(CM)를 상기 센싱 노드(SO)에 발생한다(541). 여기에서, 상기 노드들(N1, N2)의 로직 레벨에 따른 상기 비교 결과 데이터(CM)의 로직 값은 아래의 표로 나타낼 수 있다.
N1 N2 CM(SO 노드)
0 0 Hi-Z(하이 임피던스 상태)
0 1 0
1 0 0
1 1 1
이 후, 구간(P14) 동안 상기 상위 독출 제어 신호(MREAD)가 소정 시간 동안 인에이블된다. 그 결과, 상기 상위 독출 제어 신호(MREAD)에 응답하여 상기 상위비트 레지스터(230)가 상기 비교 결과 데이터(CM)를 센싱하고, 제2 상위 센싱 데이터(MSB2)를 상기 프로그램 데이터로서 저장한다(542).
다시 도 7을 참고하면, 상기 프로그램 데이터의 변경 여부가 판단된다(505). 상기 프로그램 데이터가 변경되지 않을 경우, 상기 프로그램 데이터와 상기 제1 하위 프로그램 금지 데이터에 기초하여, 제1 최종 프로그램 데이터를 발생하고, 상기 제1 최종 프로그램 데이터를 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)에 프로그램한다(506). 도 11을 참고하여, 상기 과정(506)을 좀 더 상세히 설명하면 다음과 같다. 먼저, 구간(P15) 동안, 상기 디스차지 신호들(DISCHe, DISCHo)이 전압(Vcc+Vth2) 레벨로 인에이블되고, 상기 비트 라인 제어 신호(VIRPWR)가 인에이블되어, 상기 전압(Vcc) 레벨로 된다. 그 결과, 상기 비트 라인 선택 회로(210)가 상기 디스차지 신호들(DISCHe, DISCHo)에 응답하여, 상기 비트 라인들(BLe1, BLo1)을 상기 비트 라인 제어 신호(VIRPWR)의 전압(Vcc) 레벨로 프리차지한다.
이 후, 구간들(P16∼T20) 동안, 상기 디스차지 신호(DISCHe)가 디세이블되고, 상기 디스차지 신호(DISCHo)는 인에이블 상태로 유지된다. 또, 상기 타겟 멀티 레벨 셀(MeJ1)이 연결된 워드 라인(WLJ)에 프로그램 전압(VPGM)이 공급되고, 상기 비트 라인 선택 신호(SBLe)와 제2 프로그램 제어 신호(MLCPROG)가 인에이블된다. 그 결과, 상기 비트 라인 선택 회로(210)가 상기 비트 라인 선택 신호(SBLe)에 응답하여, 상기 센싱 노드(SO)에 상기 비트 라인(BLe1)을 연결한다. 또, 상기 비교 회로(250)가 상기 제2 프로그램 제어 신호(MLCPROG)에 응답하여, 상기 프로그램 데이터와 상기 제1 하위 프로그램 금지 데이터를 비교하고, 그 비교 결과에 따라 상기 제1 최종 프로그램 데이터(FPD1)를 상기 센싱 노드(SO)에 발생한다(551). 그 결과, 상기 제1 최종 프로그램 데이터(FPD1)가 상기 타겟 멀티 레벨 셀(MeJ1)에 프로그램된다(552). 여기에서, 상기 노드들(N1, N2)의 로직 레벨들(즉, 상기 프로그램 데이터와 상기 제1 하위 프로그램 금지 데이터의 로직 값들)에 따른, 상기 제1 최종 프로그램 데이터(FPD1)의 로직 값과, 상기 타겟 멀티 레벨 셀(MeJ1)의 프로그램 상태를 표로 나타내면 아래와 같다.
N1 N2 FPD1 타겟 멀티 레벨 셀의 프로그램 상태
0 0 Hi-Z(하이 임피던스 상태) 프로그램 금지
0 1 0 "00" 데이터 프로그램
1 0 0 "01" 데이터 프로그램
1 1 1 프로그램 금지
여기에서, 상기 비트 라인들(BLe1∼BLeK)에 연결된 타겟 멀티 레벨 셀들(MeJ1∼MeJK)이 동시에 프로그램 될 때, 상기 비트 라인들(BLe1∼BLeK)에서, 상기 페이지 버퍼들(PB1∼PBK) 각각의 상기 비교 회로(250), 및 상기 페이지 버퍼들(PB1∼PBK) 각각의 인버터(237 또는 247)를 통하여 그라운드로 흐르는 전류(peak current)가 급격히 증가된다. 이렇게 증가된 전류는 상기 인버터(237 또는 247)에 전압 강하를 발생시켜, 플래시 메모리 장치의 그라운드 전압 레벨을 상승시키게 된다. 이처럼 플래시 메모리 장치의 그라운드 전압이 상승할 경우, 플래시 메모리 장치가 오동작하게 되는 문제점이 발생한다. 따라서 그라운드 전압이 상승하는 것을 방지하기 위해, 상기 구간들(P16∼T20) 동안, 상기 비트 라인 선택 신호(SBLe)와 제2 프로그램 제어 신호(MLCPROG)가 전원 전압(Vcc) 보다 작은 기준 전압(Vref) 레벨로 인에이블되도록 할 수도 있다. 그 결과, 상기 NMOS 트랜지스터들(213, 251, 253)의 전류 구동 능력이 감소되어, 상기 전류(peak current)가 급격하게 증가되는 것이 방지될 수 있다. 여기에서, 상기 인버터(237 또는 247)는 전원 전압과 그라운드 전압 사이에 직렬로 연결되는 PMOS 트랜지스터 및 NMOS 트랜지스터로 이루어지는 COMS 인버터로 구현될 수 있다.
다시 도 7을 참고하면, 상기 구간(P21) 동안, 상기 디스차지 신호들(DISCHe, DISCHo)이 전압(Vcc) 레벨로 인에이블되고, 상기 비트 라인 제어 신호(VIRPWR)가 디세이블되어, 상기 그라운드 전압 레벨로 된다. 그 결과, 상기 비트 라인 선택 회로(210)가 상기 디스차지 신호들(DISCHe, DISCHo)에 응답하여, 상기 비트 라인들(BLe1, BLo1)을 상기 비트 라인 제어 신호(VIRPWR)의 그라운드 전압 레벨로 디스차지한다.
그 후, 도 14에 도시되지는 않았지만, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)이 연결된 워드 라인(WLJ)에 상기 독출 전압(RV2)보다 큰 검증 전압(PV2, 도 5참고)을 공급함으로써, 상기 타겟 멀티 레벨 셀의 프로그램 완료 여부가 검증된다(507, 508). 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료되지 않은 경우, 상기 프로그램 전압(VPGM)이 스텝(step) 전압 만큼 증가된(509) 후, 상기 단계(506)가 다시 진행된다. 여기에서, 상기 스텝 전압은 통상적으로 0.5V로 설정될 수 있지만, 더욱 바람직하게는 0.3V 이하로 설정될 수 있다.
그 후, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료될 때까지, 상기 단계들(509, 506∼508)이 반복적으로 실행된다. 여기에서, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램 완료 여부는 상기 페이지 버퍼들(PB1∼PBK) 각각의 검증 회로(301)에 의해 발생되는 상기 상위 검증 데이터들(MVD1∼MVDK)의 값에 따라 판단될 수 있고, 이러한 동작은 본 기술 분야에서 통상의 지식을 가진 자라면 잘 이해할 수 있으므로, 그 상세한 설명이 생략된다.
한편, 상기 단계(505)에서, 상기 프로그램 데이터를 변경할 경우, 상기 하위비트 레지스터(240)에 제2 하위 프로그램 금지 데이터가 저장되고, 상기 상위 비트 레지스터(203)에 변경 프로그램 데이터가 저장된다(510). 예를 들어, 상기 페이지 버퍼들(PB1∼PBK) 중 일부에 저장된 상기 프로그램 데이터들이 변경되어야 하는 경우가 고려될 수 있다. 도 12를 참고하여, 상기 과정(510)을 좀 더 상세히 설명하면 다음과 같다. 먼저, 상위 독출 제어 신호(MREAD)에 응답하여, 상위 비트 레지스터(230)가 초기화되고, 제2 하위 독출 제어 신호(LREAD2)에 응답하여, 상기 하위 비트 레지스터(240)가 초기화된다(561). 데이터 입력 신호들(DI, nDI)에 응답하여, 입력 데이터(D1B 또는 D2)가 상기 상위 비트 레지스터(230)에 저장된다(562).
이 후, 상술한 과정(532)과 유사하게, 상기 워드 라인(WLJ)에 독출 전압(RV1)이 공급됨에 따라 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)로부터 하위 비트 데이터들((RLD1∼RLDK)이 독출된다(563). 또, 상술한 과정(533)과 유사하게, 상기 제1 하위 독출 제어 신호(LREAD1)에 응답하여, 상기 페이지 버퍼들(PB1∼PBK) 각각의 상기 하위비트 레지스터(240)가 상기 하위 비트 데이터들((RLD1∼RLDK)을 각각 센싱하고, 제1 하위 센싱 데이터(LSB1)를 저장한다(564). 그 후, 상술한 과정(534)과 유사하게, 데이터 전달 신호(DTRANS)에 응답하여, 제1 스위치(270)가 상기 상위비트 레지스터(230)에 저장된 상기 입력 데이터(D1B 또는 D2)를 상기 센싱 노드(SO)를 통하여 상기 하위비트 레지스터(240)에 전달한다(565). 또, 상술한 과정(535)과 유사하게, 상기 제1 하위 독출 제어 신호(LREAD1)에 응답하여, 상기 하위비트 레지스터(240)가 상기 입력 데이터(D1B 또는 D2)를 센싱하고, 그 센싱 결과인, 제2 하위 센싱 데이터(LSB2)를 상기 제2 하위 프로그램 금지 데이터로서 저장한다(566).
상술한 과정(541)과 유사하게, 상기 제2 프로그램 제어 신호(MLCPROG)에 응답하여, 상기 비교 회로(250)가 상기 노드(N1)를 통하여 수신되는 상기 입력 데이터(D1B 또는 D2)와, 상기 노드(N2)를 통하여 수신되는 상기 제2 하위 프로그램 금지 데이터를 비교하고, 그 비교 결과로서, 비교 결과 데이터(CM)를 상기 센싱 노드(SO)에 발생한다(567). 여기에서, 상기 노드들(N1, N2)의 로직 레벨에 따른 상기 비교 결과 데이터(CM)의 로직 값은 [표 1]과 유사하다. 그 후, 상술한 과정(542)과 유사하게, 상기 상위 독출 제어 신호(MREAD)에 응답하여 상기 상위비트 레지스터(230)가 상기 비교 결과 데이터(CM)를 센싱하고, 제2 상위 센싱 데이터(MSB2)를 상기 변경 프로그램 데이터로서 저장한다(568).
다시 도 7을 참고하면, 상기 과정(506)과 유사하게, 상기 변경 프로그램 데이터와 상기 제2 하위 프로그램 금지 데이터에 기초하여, 제2 최종 프로그램 데이터(FPD2)를 발생하고, 상기 제2 최종 프로그램 데이터를 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)에 프로그램한다(511). 도 13을 참고하여 상기 과정(511)을 좀 더 상세히 설명하면, 상기 과정(551)과 유사하게, 상기 비교 회로(250)가 상기 제2 프로그램 제어 신호(MLCPROG)에 응답하여, 상기 변경 프로그램 데이터와 상기 제2 하위 프로그램 금지 데이터를 비교하고, 그 비교 결과에 따라 상기 제2 최종 프로그램 데이터(FPD2)를 상기 센싱 노드(SO)에 발생한다(571). 그 결과, 상기 제2 최종 프로그램 데이터(FPD2)가 상기 타겟 멀티 레벨 셀(MeJ1)에 프로그램된다(572). 여기에서, 상기 노드들(N1, N2)의 로직 레벨들(즉, 상기 변경 프로그램 데이터와 상기 제2 하위 프로그램 금지 데이터의 로직 값들)에 따른, 상기 제2 최종 프로그램 데이터(FPD2)의 로직 값과, 상기 타겟 멀티 레벨 셀(MeJ1)의 프로그램 상태는 표 2와 유사하다.
그 후, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)이 연결된 워드 라인(WLJ)에 상기 독출 전압(RV2)보다 큰 상기 검증 전압(PV2)을 공급함으로써, 상기 타겟 멀티 레벨 셀의 프로그램 완료 여부가 검증된다(512, 513). 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료되지 않은 경우, 상기 프로그램 전압(VPGM)이 상기 스텝 전압 만큼 증가된(514) 후, 상기 단계(511)가 다시 진행된다. 여기에서, 상기 스텝 전압은 통상적으로 0.5V로 설정될 수 있지만, 더욱 바람직하게는 0.3V 이하로 설정될 수 있다. 그 후, 상기 타겟 멀티 레벨 셀들(MeJ1∼MeJK)의 프로그램이 완료될 때까지, 상기 단계들(514, 511∼513)이 반복적으로 실행된다.
또, 상기 과정들(571, 572)에서는, 상술한 과정들(551, 552)에서와 유사하게, 프로그램 동작시, 상기 비교 회로(250), 및 상기 인버터(237 또는 247)를 통하여 그라운드로 흐르는 전류(peak current)가 급격히 증가됨에 따라 그라운드 전압 레벨이 상승되는 것을 방지하기 위하여, 상기 비트 라인 선택 신호(SBLe)와 제2 프로그램 제어 신호(MLCPROG)가 전원 전압(Vcc) 보다 작은 기준 전압(Vref) 레벨로 인에이블되도록 할 수도 있다.
상기에서 설명한 본 발명의 기술적 사상이 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 의하면, 멀티 레벨 셀들을 포함하는 플래시 메모리 장치에서, 추가의 저장 공간 없이도 카피백 동작이 실행될 수 있다. 또, 본 발명에 의하면, 프로그램 시간이 감소될 수 있고, 플래시 메모리 장치의 동작 성능이 향상될 수 있다.

Claims (23)

  1. 비트 라인들과 워드 라인들에 연결되는 복수의 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법에 있어서,
    제1 하위 독출 제어 신호에 응답하여, 하위비트 레지스터를 초기화시키는 단계;
    상기 복수의 멀티 레벨 셀들 중 소스 멀티 레벨 셀이 연결된 워드 라인에 제1 및 제2 독출 전압들을 순차적으로 공급하여, 상기 소스 멀티 레벨 셀로부터 제1 및 제2 하위 비트 데이터들을 순차적으로 독출하고, 상기 제1 및 제2 하위 비트 데이터들에 기초하여 프로그램 데이터를 상기 하위비트 레지스터에 저장하는 단계;
    상기 프로그램 데이터의 변경 여부를 판단하는 단계;
    상기 프로그램 데이터를 변경하지 않을 경우, 제1 프로그램 제어 신호에 응답하여, 상기 프로그램 데이터를 상기 복수의 멀티 레벨 셀들 중 타겟 멀티 레벨 셀에 프로그램하는 제1 프로그램 단계;
    상기 프로그램 데이터를 변경할 경우, 상기 하위 비트 레지스터에 변경 프로그램 데이터를 저장하는 단계; 및
    상기 제1 프로그램 제어 신호에 응답하여, 상기 변경 프로그램 데이터를 상기 타겟 멀티 레벨 셀에 프로그램하는 제2 프로그램 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  2. 제1항에 있어서, 상기 프로그램 데이터를 상기 하위비트 레지스터에 저장하는 단계는,
    상기 소스 멀티 레벨 셀이 연결된 워드 라인에 상기 제1 독출 전압을 공급하여, 상기 소스 멀티 레벨 셀로부터 상기 제1 하위 비트 데이터를 독출하는 단계;
    제2 하위 독출 제어 신호에 응답하여, 상기 제1 하위 비트 데이터를 센싱하고, 제1 하위 센싱 데이터를 상기 하위비트 레지스터에 저장하는 단계;
    상기 소스 멀티 레벨 셀이 연결된 워드 라인에 상기 제2 독출 전압을 공급하여, 상기 소스 멀티 레벨 셀로부터 상기 제2 하위 비트 데이터를 독출하는 단계; 및
    상기 제1 하위 독출 제어 신호에 응답하여, 상기 제2 하위 비트 데이터를 센싱하고, 제2 하위 센싱 데이터를 상기 프로그램 데이터로서 상기 하위비트 레지스터에 저장하는 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  3. 제1항에 있어서,
    상기 제1 프로그램 단계 이 후, 상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 검증 전압을 공급하여, 상기 타겟 멀티 레벨 셀의 프로그램 완료 여부를 검증하는 단계: 및
    상기 타겟 멀티 레벨 셀의 프로그램이 완료될 때까지, 상기 제1 프로그램 단계와 상기 검증 단계를 반복적으로 실행하는 단계를 더 포함하고,
    상기 검증 단계 이 후에 실행되는 상기 제1 프로그램 단계에서, 상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 공급되는 프로그램 전압은, 상기 검증 단계 이 전에 실행되는 상기 제1 프로그램 단계에서, 상기 타켓 멀티 레벨 셀이 연결된 워드 라인에 공급되는 프로그램 전압 보다 스텝 전압만큼 더 큰 플래시 메모리 장치의 카피백 동작 제어 방법.
  4. 제3항에 있어서,
    상기 스텝 전압은 0.3V 이하인 플래시 메모리 장치의 카피백 동작 제어 방법.
  5. 제1항에 있어서,
    상기 제2 프로그램 단계 이 후, 상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 검증 전압을 공급하여, 상기 타겟 멀티 레벨 셀의 프로그램 완료 여부를 검증하는 단계: 및
    상기 타겟 멀티 레벨 셀의 프로그램이 완료될 때까지, 상기 제2 프로그램 단계와 상기 검증 단계를 반복적으로 실행하는 단계를 더 포함하고,
    상기 검증 단계 이 후에 실행되는 상기 제2 프로그램 단계에서, 상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 공급되는 프로그램 전압은, 상기 검증 단계 이 전에 실행되는 상기 제2 프로그램 단계에서, 상기 타켓 멀티 레벨 셀이 연결된 워드 라인에 공급되는 프로그램 전압 보다 스텝 전압만큼 더 큰 플래시 메모리 장치의 카피백 동작 제어 방법.
  6. 제5항에 있어서,
    상기 스텝 전압은 0.3V 이하인 플래시 메모리 장치의 카피백 동작 제어 방법.
  7. 제1항에 있어서,
    상기 제1 프로그램 제어 신호는 내부 전압 보다 작은 기준 전압 레벨을 가지는 플래시 메모리 장치의 카피백 동작 제어 방법.
  8. 제1항에 있어서, 상기 하위 비트 레지스터에 상기 변경 프로그램 데이터를 저장하는 단계는,
    상위 독출 제어 신호에 응답하여, 상위 비트 레지스터를 초기화시키고, 제2 하위 독출 제어 신호에 응답하여, 상기 하위 비트 레지스터를 초기화시키는 단계;
    데이터 입력 신호들에 응답하여, 입력 데이터를 상기 상위 비트 레지스터에 저장하는 단계;
    데이터 전달 신호에 응답하여, 센싱 노드를 통하여 상기 입력 데이터를 상기 하위 비트 레지스터에 전달하는 단계;
    상기 제1 하위 독출 제어 신호에 응답하여, 상기 입력 데이터를 센싱하고, 하위 센싱 데이터를 상기 변경 프로그램 데이터로서 상기 하위비트 레지스터에 저장하는 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  9. 제1항에 있어서,
    상기 제2 독출 전압이 상기 제1 독출 전압보다 더 큰 플래시 메모리 장치의 카피백 동작 제어 방법.
  10. 비트 라인들과 워드 라인들에 연결되는 복수의 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법에 있어서,
    리셋 제어 신호에 응답하여 상위비트 레지스터를 초기화시키고, 제1 하위 독출 제어 신호에 응답하여 하위비트 레지스터를 초기화시키는 단계;
    상기 복수의 멀티 레벨 셀들 중 소스 멀티 레벨 셀이 연결된 워드 라인에 제1 독출 전압을 공급하여, 상기 소스 멀티 레벨 셀로부터 상위 비트 데이터를 독출하고, 그 독출된 상위 비트 데이터에 기초하여, 제1 상위 센싱 데이터를 상기 상위비트 레지스터에 저장하는 단계;
    상기 복수의 멀티 레벨 셀들 중 타겟 멀티 레벨 셀이 연결된 워드 라인에 제2 독출 전압을 공급하여, 상기 타겟 멀티 레벨 셀로부터 하위 비트 데이터를 독출하고, 그 독출된 하위 비트 데이터와 상기 제1 상위 센싱 데이터에 기초하여, 제1 하위 프로그램 금지 데이터를 상기 하위비트 레지스터에 저장하는 단계;
    상기 제1 상위 센싱 데이터와 상기 제1 하위 프로그램 금지 데이터에 기초하여, 프로그램 데이터를 발생하고, 상기 프로그램 데이터를 상기 상위비트 레지스터에 저장하는 단계;
    상기 프로그램 데이터의 변경 여부를 판단하는 단계;
    상기 프로그램 데이터를 변경하지 않을 경우, 상기 프로그램 데이터와 상기 제1 하위 프로그램 금지 데이터에 기초하여, 제1 최종 프로그램 데이터를 발생하고, 상기 제1 최종 프로그램 데이터를 상기 타겟 멀티 레벨 셀에 프로그램하는 제1 프로그램 단계;
    상기 프로그램 데이터를 변경할 경우, 상기 하위비트 레지스터에 제2 하위 프로그램 금지 데이터를 저장하고, 상기 상위 비트 레지스터에 변경 프로그램 데이터를 저장하는 단계; 및
    상기 변경 프로그램 데이터와 상기 제2 하위 프로그램 금지 데이터에 기초하여, 제2 최종 프로그램 데이터를 발생하고, 상기 제2 최종 프로그램 데이터를 상기 타겟 멀티 레벨 셀에 프로그램하는 제2 프로그램 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  11. 제10항에 있어서,
    상기 제1 독출 전압은 상기 제2 독출 전압보다 큰 플래시 메모리 장치의 카피백 동작 제어 방법.
  12. 제10항에 있어서,
    상기 제1 프로그램 단계 이 후, 상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 검증 전압을 공급하여, 상기 타겟 멀티 레벨 셀의 프로그램 완료 여부를 검증하 는 단계: 및
    상기 타겟 멀티 레벨 셀의 프로그램이 완료될 때까지, 상기 제1 프로그램 단계와 상기 검증 단계를 반복적으로 실행하는 단계를 더 포함하고,
    상기 검증 단계 이 후에 실행되는 상기 제1 프로그램 단계에서, 상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 공급되는 프로그램 전압은, 상기 검증 단계 이 전에 실행되는 상기 제1 프로그램 단계에서, 상기 타켓 멀티 레벨 셀이 연결된 워드 라인에 공급되는 프로그램 전압 보다 스텝 전압만큼 더 큰 플래시 메모리 장치의 카피백 동작 제어 방법.
  13. 제12항에 있어서,
    상기 스텝 전압은 0.3V 이하인 플래시 메모리 장치의 카피백 동작 제어 방법.
  14. 제10항에 있어서,
    상기 제2 프로그램 단계 이 후, 상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 검증 전압을 공급하여, 상기 타겟 멀티 레벨 셀의 프로그램 완료 여부를 검증하는 단계: 및
    상기 타겟 멀티 레벨 셀의 프로그램이 완료될 때까지, 상기 제2 프로그램 단계와 상기 검증 단계를 반복적으로 실행하는 단계를 더 포함하고,
    상기 검증 단계 이 후에 실행되는 상기 제2 프로그램 단계에서, 상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 공급되는 프로그램 전압은, 상기 검증 단계 이 전에 실행되는 상기 제2 프로그램 단계에서, 상기 타켓 멀티 레벨 셀이 연결된 워드 라인에 공급되는 프로그램 전압 보다 스텝 전압만큼 더 큰 플래시 메모리 장치의 카피백 동작 제어 방법.
  15. 제14항에 있어서,
    상기 스텝 전압은 0.3V 이하인 플래시 메모리 장치의 카피백 동작 제어 방법.
  16. 제10항에 있어서, 상기 제1 상위 센싱 데이터를 상기 상위비트 레지스터에 저장하는 단계는,
    상기 소스 멀티 레벨 셀이 연결된 워드 라인에 상기 제1 독출 전압을 공급하여, 상기 소스 멀티 레벨 셀로부터 상기 상위 비트 데이터를 독출하는 단계;
    제2 하위 독출 제어 신호에 응답하여, 상기 상위 비트 데이터를 센싱하고, 제1 하위 센싱 데이터를 상기 하위비트 레지스터에 저장하는 단계;
    제1 프로그램 제어 신호에 응답하여, 상기 제1 하위 센싱 데이터를 센싱 노드를 통하여 상기 상위비트 레지스터에 전달하는 단계; 및
    상위 독출 제어 신호에 응답하여 상기 제1 하위 센싱 데이터를 센싱하고, 그 센싱된 데이터를 상기 제1 상위 센싱 데이터로서 상기 상위비트 레지스터에 저장하는 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  17. 제10항에 있어서, 상기 하위비트 레지스터에 상기 제1 하위 프로그램 금지 데이터를 저장하는 단계는,
    제2 하위 독출 제어 신호에 응답하여, 상기 하위비트 레지스터를 초기화시키는 단계;
    상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 상기 제2 독출 전압을 공급하여, 상기 타겟 멀티 레벨 셀로부터 하위 비트 데이터를 독출하는 단계;
    상기 제1 하위 독출 제어 신호에 응답하여, 상기 하위 비트 데이터를 센싱하고, 제1 하위 센싱 데이터를 상기 하위비트 레지스터에 저장하는 단계;
    데이터 전달 신호에 응답하여, 상기 제1 상위 센싱 데이터를 센싱 노드를 통하여 상기 하위비트 레지스터에 전달하는 단계; 및
    상기 제1 하위 독출 제어 신호에 응답하여, 상기 제1 상위 센싱 데이터를 센싱하고, 제2 하위 센싱 데이터를 상기 제1 하위 프로그램 금지 데이터로서 상기 하위비트 레지스터에 저장하는 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  18. 제10항에 있어서, 상기 상위비트 레지스터에 상기 프로그램 데이터를 저장하는 단계는,
    제2 프로그램 제어 신호에 응답하여, 상기 제1 상위 센싱 데이터와 상기 제1 하위 프로그램 금지 데이터를 비교하고, 그 비교 결과로서, 비교 결과 데이터를 상 기 센싱 노드에 발생하는 단계; 및
    상위 독출 제어 신호에 응답하여 상기 비교 결과 데이터를 센싱하고, 제2 상위 센싱 데이터를 상기 프로그램 데이터로서 상기 상위비트 레지스터에 저장하는 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  19. 제10항에 있어서, 상기 제1 프로그램 단계는,
    제2 프로그램 제어 신호에 응답하여, 상기 프로그램 데이터와 상기 제1 하위 프로그램 금지 데이터를 비교하고, 그 비교 결과에 따라 상기 제1 최종 프로그램 데이터를 발생하는 단계; 및
    상기 제1 최종 프로그램 데이터를 상기 타겟 멀티 레벨 셀에 프로그램하는 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  20. 제19항에 있어서,
    상기 제2 프로그램 제어 신호는 내부 전압 보다 작은 기준 전압 레벨을 가지는 플래시 메모리 장치의 카피백 동작 제어 방법.
  21. 제10항에 있어서, 상기 하위비트 레지스터에 상기 제2 하위 프로그램 금지 데이터를 저장하고, 상기 상위 비트 레지스터에 상기 변경 프로그램 데이터를 저장하는 단계는,
    상위 독출 제어 신호에 응답하여, 상기 상위비트 레지스터를 초기화시키고, 제2 하위 독출 제어 신호에 응답하여, 상기 하위비트 레지스터를 초기화시키는 단계;
    데이터 입력 신호들에 응답하여, 입력 데이터를 상기 상위 비트 레지스터에 저장하는 단계;
    상기 타겟 멀티 레벨 셀이 연결된 워드 라인에 상기 제2 독출 전압을 공급하여, 상기 타겟 멀티 레벨 셀로부터 상기 하위 비트 데이터를 독출하는 단계;
    상기 제1 하위 독출 제어 신호에 응답하여, 상기 하위 비트 데이터를 센싱하고, 제1 하위 센싱 데이터를 상기 하위비트 레지스터에 저장하는 단계;
    데이터 전달 신호에 응답하여, 상기 입력 데이터를 센싱 노드를 통하여 상기 하위비트 레지스터에 전달하는 단계;
    상기 제1 하위 독출 제어 신호에 응답하여, 상기 입력 데이터를 센싱하고, 제2 하위 센싱 데이터를 상기 제2 하위 프로그램 금지 데이터로서 상기 하위비트 레지스터에 저장하는 단계;
    제2 프로그램 제어 신호에 응답하여, 상기 입력 데이터와 상기 제2 하위 프로그램 금지 데이터를 비교하고, 그 비교 결과로서, 비교 결과 데이터를 상기 센싱 노드에 발생하는 단계; 및
    상기 상위 독출 제어 신호에 응답하여 상기 비교 결과 데이터를 센싱하고, 제2 상위 센싱 데이터를 상기 변경 프로그램 데이터로서 상기 상위비트 레지스터에 저장하는 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  22. 제10항에 있어서, 상기 제2 프로그램 단계는,
    제2 프로그램 제어 신호에 응답하여, 상기 변경 프로그램 데이터와 상기 제2 하위 프로그램 금지 데이터를 비교하고, 그 비교 결과에 따라 상기 제2 최종 프로그램 데이터를 상기 센싱 노드에 발생하는 단계; 및
    상기 상기 제2 최종 프로그램 데이터 상기 타겟 멀티 레벨 셀에 프로그램하는 단계를 포함하는 플래시 메모리 장치의 카피백 동작 제어 방법.
  23. 제22항에 있어서,
    상기 제2 프로그램 제어 신호는 내부 전압 보다 작은 기준 전압 레벨을 가지는 플래시 메모리 장치의 카피백 동작 제어 방법.
KR1020050050763A 2005-06-14 2005-06-14 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법 KR100673703B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020050050763A KR100673703B1 (ko) 2005-06-14 2005-06-14 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법
US11/416,070 US7301825B2 (en) 2005-06-14 2006-05-03 Method of controlling copy-back operation of flash memory device including multi-level cells
CN2008102120110A CN101373638B (zh) 2005-06-14 2006-05-29 控制对包括多级单元的闪存器件的回拷贝操作的方法
CN2006100836038A CN1881473B (zh) 2005-06-14 2006-05-29 控制对包括多级单元的闪存器件的回拷贝操作的方法
US11/907,551 US7535768B2 (en) 2005-06-14 2007-10-15 Method of controlling copy-back operation of flash memory device including multi-level cells

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050050763A KR100673703B1 (ko) 2005-06-14 2005-06-14 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법

Publications (2)

Publication Number Publication Date
KR20060130984A KR20060130984A (ko) 2006-12-20
KR100673703B1 true KR100673703B1 (ko) 2007-01-24

Family

ID=37519625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050050763A KR100673703B1 (ko) 2005-06-14 2005-06-14 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법

Country Status (3)

Country Link
US (2) US7301825B2 (ko)
KR (1) KR100673703B1 (ko)
CN (2) CN1881473B (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100512181B1 (ko) * 2003-07-11 2005-09-05 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
KR100673703B1 (ko) * 2005-06-14 2007-01-24 주식회사 하이닉스반도체 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법
WO2008032326A2 (en) * 2006-09-12 2008-03-20 Saifun Semiconductors Ltd. Methods, circuits and systems for reading non-volatile memory cells
KR100816148B1 (ko) * 2006-09-29 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자 및 이의 독출 방법
KR100866954B1 (ko) * 2006-09-29 2008-11-05 삼성전자주식회사 멀티 레벨 셀의 프로그래밍 시간을 줄일 수 있는 플래쉬메모리 장치 및 그 프로그래밍 방법
KR100769770B1 (ko) * 2006-09-29 2007-10-23 주식회사 하이닉스반도체 메모리 장치의 페이지 버퍼 회로 및 프로그램 방법
US7848141B2 (en) * 2006-10-31 2010-12-07 Hynix Semiconductor Inc. Multi-level cell copyback program method in a non-volatile memory device
KR100816121B1 (ko) * 2006-12-28 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리장치의 멀티비트 프로그램 방법
KR101292574B1 (ko) * 2007-10-08 2013-08-16 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
US7924628B2 (en) * 2007-11-14 2011-04-12 Spansion Israel Ltd Operation of a non-volatile memory array
CN101483067B (zh) * 2008-01-11 2012-04-18 群联电子股份有限公司 快闪存储器数据写入方法及其快闪存储器控制器
US7852680B2 (en) * 2008-01-22 2010-12-14 Macronix International Co., Ltd. Operating method of multi-level memory cell
KR100977717B1 (ko) * 2009-01-19 2010-08-24 주식회사 하이닉스반도체 비휘발성 메모리 소자 및 그 카피백 방법
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US20120110244A1 (en) * 2010-11-02 2012-05-03 Micron Technology, Inc. Copyback operations
KR102094334B1 (ko) 2013-03-15 2020-03-27 삼성전자주식회사 비휘발성 멀티-레벨 셀 메모리 시스템 및 상기 시스템에서의 적응적 데이터 백업 방법
US9378097B1 (en) * 2013-08-27 2016-06-28 Sk Hynix Memory Solutions Inc. Selective copy-back
CN105529048B (zh) * 2014-09-28 2019-11-26 华邦电子股份有限公司 快闪存储器装置及快闪存储器的写入方法
US9619321B1 (en) 2015-10-08 2017-04-11 Seagate Technology Llc Internal copy-back with read-verify

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2922116B2 (ja) * 1993-09-02 1999-07-19 株式会社東芝 半導体記憶装置
US5903907A (en) * 1996-07-01 1999-05-11 Sun Microsystems, Inc. Skip-level write-through in a multi-level memory of a computer system
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US7042770B2 (en) * 2001-07-23 2006-05-09 Samsung Electronics Co., Ltd. Memory devices with page buffer having dual registers and method of using the same
JP4270832B2 (ja) * 2002-09-26 2009-06-03 株式会社東芝 不揮発性半導体メモリ
KR100723772B1 (ko) * 2005-03-28 2007-05-30 주식회사 하이닉스반도체 개선된 프로그램 동작 성능을 가지는 플래쉬 메모리 소자의페이지 버퍼 및 그것의 프로그램 동작 제어 방법
KR100600301B1 (ko) * 2005-05-25 2006-07-13 주식회사 하이닉스반도체 면적이 감소된 페이지 버퍼 회로와, 이를 포함하는 플래시메모리 장치 및 그 프로그램 동작 방법
KR100673703B1 (ko) * 2005-06-14 2007-01-24 주식회사 하이닉스반도체 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법
KR100624300B1 (ko) * 2005-06-29 2006-09-19 주식회사 하이닉스반도체 프로그램 시간을 감소시키는 플래시 메모리 장치의프로그램 동작 제어 방법

Also Published As

Publication number Publication date
US20060279989A1 (en) 2006-12-14
CN1881473B (zh) 2011-08-17
CN1881473A (zh) 2006-12-20
US7301825B2 (en) 2007-11-27
CN101373638A (zh) 2009-02-25
US7535768B2 (en) 2009-05-19
US20080068884A1 (en) 2008-03-20
CN101373638B (zh) 2011-12-21
KR20060130984A (ko) 2006-12-20

Similar Documents

Publication Publication Date Title
KR100673703B1 (ko) 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법
US9343163B2 (en) Semiconductor memory device and operating method based upon a comparison of program data and read data thereof
US7843723B2 (en) Semiconductor memory device capable of reading data reliably
US8897066B2 (en) Method of programming nonvolatile memory device
KR100380775B1 (ko) 불휘발성 반도체 메모리 장치
US7221598B2 (en) Method of controlling program operation of flash memory device with reduced program time
US8570801B2 (en) Method of programming a semiconductor memory device
US8738836B2 (en) Non-volatile semiconductor memory device and write-in method thereof
US20060181923A1 (en) Nonvolatile semiconductor memory device
US8064270B2 (en) Semiconductor integrated circuit device
US20100124109A1 (en) Semiconductor memory device for storing multi level data
US8208308B2 (en) Method of programming nonvolatile memory device
JP2005032431A (ja) マルチレベルセルを有するフラッシュメモリ装置とその読み出し方法及びプログラム方法
US7796438B2 (en) Flash memory device and method of programming the same
JP2010160873A (ja) 半導体記憶装置と半導体記憶システム
JP2009158061A (ja) 半導体記憶装置
JP2014157650A (ja) 半導体記憶装置
KR20140026115A (ko) 반도체 메모리 장치 및 이의 동작 방법
US8054685B2 (en) Method of programming nonvolatile memory device
JP2007213806A (ja) 不揮発性半導体記憶装置
JP5242603B2 (ja) 半導体記憶装置
CN114783488A (zh) 页缓冲器、编程方法、存储器装置及系统

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131223

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141218

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151221

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171220

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181219

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191224

Year of fee payment: 14