KR100933860B1 - 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법 - Google Patents

불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법 Download PDF

Info

Publication number
KR100933860B1
KR100933860B1 KR1020070063548A KR20070063548A KR100933860B1 KR 100933860 B1 KR100933860 B1 KR 100933860B1 KR 1020070063548 A KR1020070063548 A KR 1020070063548A KR 20070063548 A KR20070063548 A KR 20070063548A KR 100933860 B1 KR100933860 B1 KR 100933860B1
Authority
KR
South Korea
Prior art keywords
data
node
voltage
programmed
program
Prior art date
Application number
KR1020070063548A
Other languages
English (en)
Other versions
KR20080114203A (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 KR1020070063548A priority Critical patent/KR100933860B1/ko
Publication of KR20080114203A publication Critical patent/KR20080114203A/ko
Application granted granted Critical
Publication of KR100933860B1 publication Critical patent/KR100933860B1/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

본원 발명의 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법은 프로그램을 위해 선택된 메모리 셀에 하위비트 프로그램을 완료하는 단계와, 상기 선택된 메모리 셀과 연결되는 데이터 래치부의 제1 노드에 상위비트 데이터를 설정하는 단계와, 상기 선택된 메모리 셀에 상위비트 프로그램을 실시하는 단계와, 상기 선택된 메모리 셀의 문턱전압이 제1 검증전압이상으로 프로그램된 경우 상기 제1 노드에 제1 데이터를 설정하는 단계와, 상기 선택된 메모리 셀의 문턱전압이 제2 검증전압이상으로 프로그램된 경우 상기 제1 노드에 상기 제1 데이터와 상반된 레벨의 제2 데이터를 설정하는 단계와, 상기 선택된 메모리 셀의 문턱전압이 제3 검증전압이상으로 프로그램된 경우 상기 제1 노드에 상기 제1 데이터를 설정하는 단계와, 상기 제1 노드에 설정된 데이터에 따라 상기 상위비트 프로그램을 반복하는 단계를 포함하는 것을 특징으로 한다.
불휘발성 메모리 장치, 멀티 레벨 셀

Description

불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법{Method for multi level cell programming of non volatile memory device}
도 1은 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 구성을 도시한 회로도이다.
도 2는 본원 발명에 따른 멀티레벨 셀 프로그램의 순서를 도시한 셀의 문턱전압 분포도이다.
도 3은 본원 발명에 따른 멀티레벨 셀 프로그램 방법을 도시한 순서도이다.
도 4a는 제1 노드에 설정된 데이터가 하이레벨인 경우에 대한 검증동작을 도시한 파형도이다.
도 4b는 제1 노드에 설정된 데이터가 로우레벨인 경우에 대한 검증 동작을 도시한 파형도이다.
<도면의 주요 부분에 대한 설명>
100: 불휘발성 메모리 장치 110: 메모리 셀 어레이
112: 비트라인 선택부 120: 비트라인 센싱부
122: 감지노드 프리차지부 130: 데이터 전송부
140: 데이터 래치부 150: 데이터 설정부
160: 감지노드 센싱부
본 발명은 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법에 관한 것이다.
최근 들어 전기적으로 프로그램(program)과 소거(erase)가 가능하고, 일정 주기로 데이터를 재작성해야하는 리프레시(refresh) 기능이 필요 없는 비휘발성 메모리 소자에 대한 수요가 증가하고 있으며, 그 집적도를 높이기 위한 방법으로 하나의 셀에 1 비트 이상의 데이터를 저장하고자 하는 시도가 계속 진행중이다.
상기 불휘발성 메모리 장치는 통상적으로 데이터가 저장되는 셀들이 매트릭스 형태로 구성된 메모리 셀 어레이, 상기 메모리 셀 어레이의 특정 셀들에 대하여 메모리를 기입하거나 특정 셀에 저장되었던 메모리를 독출하는 페이지 버퍼를 포함한다. 상기 페이지 버퍼는 특정 메모리 셀과 접속된 비트라인 쌍, 메모리 셀 어레이에 기록할 데이터를 임시저장하거나, 메모리 셀 어레이로부터 특정 셀의 데이터를 독출하여 임시 저장하는 레지스터, 특정 비트라인 또는 특정 레지스터의 전압 레벨을 감지하는 감지노드, 상기 특정 비트라인과 감지노드의 접속여부를 제어하는 비트라인 선택부를 포함한다.
하나의 셀에 2비트 이상의 데이터를 프로그램하는 멀티레벨 셀 불휘발성 메모리 장치의 경우 하위비트 프로그램 및 상위비트 프로그램을 진행하는데, 상위비 트 프로그램 동작 전에 하위비트 프로그램 상태를 독출하여 그 상태를 구분하는 동작을 수행하게 된다. 또한, 이를 위해 두 개의 데이터 래치부를 이용한 구성을 취하고 있다. 다만, 집적 면적을 감소시키기 위하여 상기 래치부를 하나만 포함하는 불휘발성 메모리 장치로서 상기 멀티 레벨 셀 프로그램 동작을 수행할 필요성이 있다.
전술한 필요성에 따라, 하나의 데이터 래치부만을 갖는 멀티 레벨 셀 불휘발성 메모리 장치로서 멀티 레벨 셀 프로그램 동작을 원할하게 할 수 있는 프로그램 방법을 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위한 본원 발명의 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법은 선택된 메모리 셀을 위한 하위비트 프로그램을 완료하는 단계와, 상기 선택된 메모리 셀과 연결되는 데이터 래치부의 제1 노드에 상위비트 데이터를 설정하는 단계와, 상기 선택된 메모리 셀을 위한 상위비트 프로그램을 실시하는 단계와, 상기 선택된 메모리 셀의 문턱전압이 제1 검증전압이상으로 프로그램된 경우 상기 제1 노드에 제1 데이터를 설정하는 단계와, 상기 선택된 메모리 셀의 문턱전압이 제2 검증전압이상으로 프로그램된 경우 상기 제1 노드에 상기 제1 데이터와 상반된 레벨의 제2 데이터를 설정하는 단계와, 상기 선택된 메모리 셀의 문턱전압이 제3 검증전압이상으로 프로그램된 경우 상기 제1 노드에 상기 제1 데이터를 설정하는 단계와, 상기 제1 노드에 설정된 데이터에 따라 상기 상위비트 프로그램을 반복하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면들을 참조하여 본원 발명의 바람직한 실시예를 상세히 설 명하기로 한다.
도 1은 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 구성을 도시한 회로도이다.
상기 불휘발성 메모리 장치(100)는 다수의 메모리 셀을 포함하는 메모리 셀 어레이(110), 특정 셀과 접속된 비트라인을 감지노드와 선택적으로 접속시키는 비트라인 선택부(112), 독출/검증 동작에서 비트라인과 감지노드를 선택적으로 접속시켜 특정 셀에 저장된 데이터를 센싱하는 비트라인 센싱부(120), 감지노드에 하이레벨의 전원 전압을 인가하는 감지노드 프리차지부(122), 특정 셀에 프로그램시킬 데이터를 임시 저장하거나 특정 셀로부터 독출한 데이터를 임시 저장하는 데이터 래치부(140), 상기 데이터 래치부에 저장된 데이터를 감지노드에 인가하는 데이터 전송부(130), 상기 데이터 래치부에 저장시킬 데이터를 입력하는 데이터 설정부(150), 상기 감지노드의 레벨에 따라 데이터 래치부의 특정노드에 접지전압을 인가시키는 감지노드 센싱부(160)를 포함한다.
메모리 셀 어레이(110)는 데이타를 저장하는 메모리 셀들과, 상기 메모리 셀들을 선택하여 활성화하는 워드 라인들과, 상기 메모리 셀의 데이타를 입출력할 수 있는 비트 라인들(BLe, BLo)을 포함하며, 상기 복수개의 워드 라인들 및 복수개의 비트 라인들이 메트릭스 형태로 배열된 구조이다. 상기 메모리 셀 어레이(110)는 소스 선택 트랜지스터(SSL)와 드레인 선택 트랜지스터(DSL)들 사이에 직렬 연결된 메모리 셀들을 포함하는데 이를 스트링(string) 구조라 한다. 상기 메모리 셀들의 게이트는 워드 라인들에 연결되며, 동일한 워드 라인에 공통으로 연결된 메모리 셀들의 집합을 페이지(page)라 한다. 각각의 비트 라인에 연결된 복수개의 스트링들이 공통 소스 라인에 병렬로 연결되어 블록(block)을 구성한다.
상기 비트라인 선택부(112)는 제1 비트라인 선택신호(BSLe)에 응답하여 상기 이븐 비트라인(BLe)과 감지노드(SO)를 접속시키는 NMOS 트랜지스터(N116)와, 제2 비트라인 선택신호(BSLo)에 응답하여 상기 오드 비트라인(BLo)과 감지노드(SO)를 접속시키는 NMOS 트랜지스터(N118)를 포함한다.
또한, 상기 비트라인 선택부(110)는 특정 레벨의 제어신호(VIRPWR)를 인가하는 제어신호 입력단, 제1 디스차지 신호(DISCHe)에 응답하여 상기 이븐 비트라인(BLe)과 제어신호 입력단을 접속시키는 NMOS 트랜지스터(N112), 제2 디스차지 신호(DISCHo)에 응답하여 상기 오드 비트라인(BLo)과 제어신호 입력단을 접속시키는 NMOS 트랜지스터(N114)를 포함한다.
상기 비트라인 센싱부(120)는 비트라인 센싱신호(PB_SENSE)에 응답하여 상기 비트라인 선택부(120)와 감지노드를 선택적으로 접속시킨다. 이를 위해, 상기 비트라인 선택부(120)와 감지노드 사이에 접속된 NMOS 트랜지스터(N120)를 포함한다. 상기 비트라인 센싱부(120)의 구체적인 동작은 추후에 상세히 설명하기로 한다.
상기 감지노드 프리차지부(122)는 프리차지신호(Prechb)에 응답하여 상기 감 지노드(SO)에 하이레벨 전압(VDD)을 인가한다. 이를 위해, 상기 전원전압단자(VDD)와 감지노드 사이에 접속된 PMOS 트랜지스터(P122)를 포함한다. 상기 감지노드 프리차지부(122)의 구체적인 동작은 추후에 상세히 설명하기로 한다.
상기 데이터 래치부(140)는 특정 셀에 프로그램시킬 데이터를 임시 저장하거나 특정 셀로부터 독출한 데이터를 임시 저장한다. 이를 위해, 제1 인버터(IV142)의 출력단자를 제2 인버터(IV144)의 입력단자에 접속시키고, 제2 인버터(IV144)의 출력단자를 제1 인버터(IV142)의 입력단자에 접속시켜 구성한다.
이때, 제1 인버터(IV142)의 출력단자와 제2 인버터(IV144)의 입력단자가 접속되는 노드를 제1 노드(Q)라 하고, 제2 인버터(IV144)의 출력단자와 제1 인버터(IV142)의 입력단자가 접속되는 노드를 제2 노드(Qb)라 한다.
예를 들어, 제1 노드(Q)에 하이레벨 데이터가 인가된 경우에는, 제2 인버터에 의하여 해당 데이터가 반전되어 제2 노드(Qb)에 로우레벨 데이터가 인가되고, 이는 다시 제1 인버터에 의하여 반전되어 제1 노드(Q)에 인가되었던 하이레벨 데이터가 그대로 유지되는 데이터 저장 효과가 나타난다. 역으로, 제1 노드(Q)에 로우레벨 데이터가 인가된 경우에는, 제2 인버터에 의하여 해당 데이터가 반전되어 제2 노드(Qb)에 하이레벨 데이터가 인가되고, 이는 다시 제1 인버터에 의하여 반전되어 제1 노드(Q)에 인가되었던 로우레벨 데이터가 그대로 유지되는 데이터 저장 효과가 나타난다.
상기 데이터 전송부(130)는 상기 데이터 래치부(140)의 제1 노드(Q) 또는 제2 노드(Qb)에 저장된 데이터를 선택적으로 감지노드에 인가시킨다. 이를 위해, 상기 제1 노드(Q)와 감지노드를 선택적으로 접속시키는 제1 전송 트랜지스터(N130) 및 상기 제2 노드(Qb)와 감지노드를 선택적으로 접속시키는 제2 전송 트랜지스터(N132)를 포함한다.
상기 제1 전송 트랜지스터(N130)는 제1 데이터 전송신호(TRAN)에 응답하여 제1 노드에 저장된 데이터를 상기 감지노드로 전송한다. 또한, 상기 제2 전송 트랜지스터(N132)는 제2 데이터 전송신호(TRAN_N)에 응답하여 제2 노드(Qb)에 저장된 데이터를 상기 감지노드로 전송한다
따라서, 제1 노드에 저장된 데이터를 상기 감지노드에 전송하고자 하는 경우에는 하이 레벨의 제1 데이터 전송 신호를 인가하며, 제2 노드에 저장된 데이터를 상기 감지노드에 전송하고자 하는 경우에는 하이 레벨의 제2 데이터 전송 신호를 인가한다.
상기 데이터 설정부(150)는 상기 데이터 래치부(140)의 제1 노드(Q)에 접지전압을 인가시키는 제1 데이터 설정 트랜지스터(N150)와, 제2 노드(Qb)에 접지전압을 인가시키는 제2 데이터 설정 트랜지스터(N152)를 포함한다.
상기 제1 데이터 설정 트랜지스터(N150)는 상기 감지노드 센싱부(160)와 제1 노드 사이에 접속되며, 제1 데이터 설정 신호(RESET)에 응답하여 상기 감지노드 센싱부(160)가 전달하는 접지전압을 상기 제1 노드에 인가시킨다.
또한, 상기 제2 데이터 설정 트랜지스터(N152)는 상기 감지노드 센싱부(160)와 제2 노드 사이에 접속되며, 제2 데이터 설정 신호(SET)에 응답하여 상기 감지노드 센싱부(160)가 전달하는 접지전압을 상기 제2 노드에 인가시킨다.
상기 감지노드 센싱부(160)는 감지노드의 전압레벨에 따라 접지전압을 상기 데이터 설정부(150)에 인가시킨다. 이를 위해, 상기 데이터 설정부(150)에 접지단자 사이에 접속된 NMOS 트랜지스터(N160)를 포함한다.
따라서, 감지노드의 전압레벨에 따라 접지전압을 상기 데이터 설정부에 인가한다. 감지노드의 전압레벨이 하이레벨인 경우에 한하여, 접지전압을 상기 데이터 설정부에 인가시키게 된다. 이때, 하이레벨의 제1 데이터 설정 신호(RESET)가 인가되면, 상기 제1 노드(Q)에 접지전압이 인가되는바, 이는 제1 노드에 로우 레벨 데이터가 인가된 것으로 본다. 그러나, 하이레벨의 제2 데이터 설정 신호(SET)가 인가되면, 상기 제2 노드(Qb)에 접지전압이 인가되는바, 이는 제1 노드에 하이 레벨 데이터가 인가된 것으로 본다.
이상에서 살펴본 바와 같이, 본원 발명의 불휘발성 메모리 장치의 페이지 버퍼에는 종래와 달리 하나의 래치만을 포함하고 있다. 이제 이러한 불휘발성 메모리 장치의 멀티레벨 셀 프로그램 방법에 대해 살펴보기로 한다.
도 2는 본원 발명에 따른 멀티레벨 셀 프로그램의 순서를 도시한 셀의 문턱 전압 분포도이다.
본원 발명은 2 비트 멀리레벨 셀 프로그램에 대한 것이다.
제1 상태는 하위비트(LSB) 프로그램 및 상위비트(MSB) 프로그램 전의 상태를 나타내는 것이다. 이때 불휘발성 메모리 장치의 페이지 버퍼에는 '11'데이터가 순차적으로 입력된다.
제2 상태는 하위비트 프로그램은 하지 않고, 상위비트 프로그램만 실행한 경우의 분포를 나타내는 것이다. 이때 불휘발성 메모리 장치의 페이지 버퍼에는 '10'데이터가 순차적으로 입력된다.
제3 상태는 상위비트 프로그램은 하지 않고, 하위비트 프로그램만 실행한 경우의 분포를 나타내는 것이다. 이때 불휘발성 메모리 장치의 페이지 버퍼에는 '01'데이터가 순차적으로 입력된다.
제4 상태는 하위비트 프로그램 및 상위비트 프로그램을 모두 실행한 경우의 분포를 나타내는 것이다. 이때 불휘발성 메모리 장치의 페이지 버퍼에는 '00'데이터가 순차적으로 입력된다.
이제 그 프로그램 방법에 대하여 상세 순서를 살펴보기로 한다.
도 3은 본원 발명에 따른 멀티레벨 셀 프로그램 방법을 도시한 순서도이다.
먼저 하위비트 데이터를 설정한다(단계 310).
즉, 하위비트를 프로그램하려는 경우('00', '10' 데이터)에는 상기 데이터 래치부(140)의 제1 노드(Q)에 로우 레벨 데이터를 인가시킨다. 더욱 상세하게는 프 리차지부에 하이레벨 전압을 인가하여 상기 감지노드 센싱부(160)의 NMOS 트랜지스터(N160)를 턴온시키고, 하이레벨의 제1 데이터 설정 신호(RESET)를 인가시켜, 로우 레벨 전압이 제1 노드(Q)에 인가되도록 한다.
그러나, 하위비트를 프로그램하지 않는 경우('11', '01' 데이터)에는 상기 데이터 래치부(140)의 제1 노드(Q)에 하이 레벨 데이터를 인가시킨다. 더욱 상세하게는 프리차지부에 하이레벨 전압을 인가하여 상기 감지노드 센싱부(160)의 NMOS 트랜지스터(N160)를 턴온시키고, 하이레벨의 제2 데이터 설정 신호(SET)를 인가시켜, 하이 레벨 전압이 제1 노드(Q)에 인가되도록 한다.
다음으로, 하위비트 프로그램을 진행한다(단계 320).
상기 감지노드 프리차지부(122)를 이용하여 감지노드(SO)를 하이레벨로 프리차지 시킨 후, 하이레벨의 제1 데이터 전송신호(TRAN)를 인가하여 제1 노드(Q)에 저장된 데이터가 감지노드에 인가되도록 한다. 하위비트를 프로그램하고자 하는 경우('00', '10' 데이터)에는 로우레벨의 데이터가 감지노드에 인가되어 상기 감지노드는 로우레벨로 디스차지된다. 그러나, 하위비트를 프로그램하지 않는 경우('01', '11' 데이터)에는 하이레벨의 데이터가 감지노드에 인가되어 상기 감지노드는 하이레벨을 유지한다. 워드라인에 프로그램 전압 인가시에 감지노드의 전압레벨에 따라 프로그램 여부가 결정된다.
다음으로, 제2 검증전압(PV2)을 기준으로 상기 하위비트 프로그램에 대한 검 증동작을 실시한다(단계 330).
이를 위해, 먼저 상기 감지노드 프리차지부(122)를 이용하여 감지노드(SO)와 비트라인을 하이레벨로 프리차지 시킨다.
다음으로, 검증하고자 하는 셀이 포함된 워드라인에 제2 검증전압(PV2)을 인가하여 프로그램 여부를 검증하게 되는데, 해당 셀이 제2 검증전압(PV2) 이상으로 프로그램된 경우에는 해당 셀의 문턱전압이 제2 검증전압(PV2) 보다 크므로 해당 셀은 턴온되지 않아 비트라인에서 셀 스트링으로 이어지는 전류 경로가 형성되지 않는다. 따라서, 해당 비트라인은 하이레벨 전압을 그대로 유지한다.
그러나, 해당 셀이 제2 검증전압(PV2) 이상으로 프로그램되지 않은 경우에는 해당 셀의 문턱전압이 제2 검증전압(PV2) 보다 작으므로 해당 셀은 턴온되어 비트라인에서 셀 스트링으로 이어지는 전류 경로가 형성된다. 따라서, 해당 비트라인은 로우레벨로 전압을 디스차지 된다.
즉, 해당 셀이 제2 검증전압 이상으로 프로그램된 경우에는 해당 비트라인은 하이레벨 전압을 유지하고 그렇지 못한 경우에는 로우레벨 전압을 유지한다. 프로그램 대상이 아니었던 셀 역시 마찬가지로 로우레벨 전압을 유지한다. 비트라인의 전압레벨은 그대로 감지노드(SO)로 인가되며, 상기 감지노드 센싱부(160) 및 데이터 설정부(150)를 동작시켜 프로그램 여부에 따라 제1 노드(Q)의 데이터를 재설정 한다.
상기 하위비트 프로그램 동작에 의해 적절히 프로그램이 된 경우에는 상기 감지노드(SO)의 전압레벨이 하이레벨을 유지하므로, 이는 감지노드 센싱부(160)에 전달되어 접지전압이 상기 데이터 설정부(150)에 인가되도록 한다. 이와 동시에 하이레벨의 제2 데이터 설정신호(SET)를 인가시켜 제1 노드(Q)에 하이레벨 데이터가 저장되도록 한다. 그러나, 상기 하위비트 프로그램 동작에도 불구하고 프로그램이 되지 않은 경우에는 상기 감지노드(SO)의 전압레벨이 로우레벨로 천이되므로 상기 감지노드 센싱부(160)가 동작하지 않아 초기에 저장되었던 제1 노드(Q)의 데이터가 그대로 유지된다.
참고로, 앞서 언급하였듯이 하위비트가 프로그램 대상이었던 셀의 경우 제1 노드(Q)에 로우 레벨 데이터가 저장되어 있었고, 소거 대상이었던 셀의 경우 제1 노드(Q)에 하이 레벨 데이터가 저장되어 있었다.
따라서, 프로그램 대상이면서 적절히 프로그램이 된 경우에는 제1 노드(Q)의 데이터가 하이 레벨 데이터로 변경된다. 그러나, 프로그램 대상이면서 프로그램이 되지 않은 경우에는 로우 레벨 데이터를 그대로 유지하게 된다. 한편, 소거 대상이었던 셀의 경우에는 최초의 하이 레벨 데이터를 그대로 유지하게 된다.
상기 검증동작에 따라 프로그램이 되지 않은 셀이 있는 경우에는 다시 프로그램 동작을 실시한다.
이와 같은 프로그램 및 검증 동작은 프로그램 대상이면서 프로그램이 되지 않은 셀이 없어질 때까지, 이상적으로는 특정 셀이 소거 대상인지 프로그램 대상인지 여부를 불문하고 제1 노드(Q)에 하이레벨 데이터가 저장될 때까지 반복된다.
다음으로, 상위비트 프로그램을 위해 상위비트 데이터를 설정한다(단계 340).
즉, 상위비트를 프로그램하려는 경우('01', '00' 데이터)에는 상기 데이터 래치부(140)의 제1 노드(Q)에 로우 레벨 데이터를 인가시킨다. 더욱 상세하게는 프리차지부에 하이레벨 전압을 인가하여 상기 감지노드 센싱부(160)의 NMOS 트랜지스터(N160)를 턴온시키고, 하이레벨의 제1 데이터 설정 신호(RESET)를 인가시켜, 로우 레벨 전압이 제1 노드(Q)에 인가되도록 한다.
그러나, 상위비트를 프로그램하지 않는 경우('11', '10' 데이터)에는 상기 데이터 래치부(140)의 제1 노드(Q)에 하이 레벨 데이터를 인가시킨다. 더욱 상세하게는 프리차지부에 하이레벨 전압을 인가하여 상기 감지노드 센싱부(160)의 NMOS 트랜지스터(N160)를 턴온시키고, 하이레벨의 제2 데이터 설정 신호(SET)를 인가시켜, 하이 레벨 전압이 제1 노드(Q)에 인가되도록 한다.
다음으로, 상위비트 프로그램을 진행한다(단계 350).
상기 감지노드 프리차지부(122)를 이용하여 감지노드(SO)를 하이레벨로 프리차지시킨 후, 하이레벨의 제1 데이터 전송신호(TRAN)를 인가하여 제1 노드(Q)에 저장된 데이터가 감지노드에 인가되도록 한다. 상위비트를 프로그램하고자 하는 경우('01', '00' 데이터)에는 로우레벨의 데이터가 감지노드에 인가되어 상기 감지노드는 로우레벨로 디스차지된다. 그러나, 상위비트를 프로그램하지 않는 경우('11', '10' 데이터)에는 하이레벨의 데이터가 감지노드에 인가되어 상기 감지노드는 하이레벨을 유지한다. 워드라인에 프로그램 전압 인가시에 감지노드의 전압레벨에 따라 프로그램 여부가 결정된다.
다음으로, 제1 내지 제3 검증전압(PV1 ~ PV3)을 기준으로 상기 상위비트 프로그램에 대한 검증동작을 실시한다(단계 360~390). 도 4a 및 4b를 참조하여 상세히 설명하도록 한다.
도 4a는 상기 제1 노드(Q)에 설정된 데이터가 하이레벨인 경우에 대한 검증 동작을 도시한 파형도이며, 도 4b는 상기 제1 노드(Q)에 설정된 데이터가 로우레벨인 경우에 대한 검증 동작을 도시한 파형도이다.
먼저 제1 검증전압을 기준으로 상위비트 프로그램에 대한 검증동작을 실시한다(단계 360).
이를 위해, 상기 감지노드 프리차지부(122)를 이용하여 감지노드(SO)와 비트라인을 하이레벨로 프리차지 시킨다(T1 구간).
또한, 하이 레벨의 드레인 선택 신호(DSL)와 소스 선택 신호(SSL)를 인가하하여, 비트라인과 셀 스트링을 접속시키고, 셀 스트링과 공통 소스라인을 접속시킨다. 또한, 제1 전압레벨(V1)의 비트라인 센싱신호(PB_SENSE)를 인가하여 감지노드와 비트라인을 접속시킨다. 이에 따라, 비트라인의 전압이 점차적으로 상승하는 것을 볼 수 있다.
다음으로, 상기 감지노드 프리차지 동작을 중단하고 제1 검증전압을 기준으 로 하여 특정 셀의 프로그램 여부에 따라 비트라인의 전압레벨을 평가시킨다(T2 구간).
이를 위해, 하이레벨의 프리차지 신호(Prechb)를 인가하고, 선택된 워드라인에는 제1 검증전압(PV1)을 인가한다. 이때, 비선택된 워드라인에는 패스전압을 인가한다(미도시됨).
해당 셀의 프로그램 여부에 따라 비트라인의 전압레벨이 달라지게 되는바, 해당 셀이 프로그램된 경우(문턱전압이 제1 검증전압보다 큰 경우)에는 하위비트 프로그램에 대한 검증동작에서와 같이, 비트라인의 전압레벨이 하이레벨을 유지하게 되며, 프로그램이 수행되지 않은 경우(문턱전압이 제1 검증전압보다 작은 경우)에는 비트라인의 전압레벨이 로우레벨로 천이된다.
한편, 이 구간 동안에는 감지노드가 플로팅 상태에 있는바, 이를 이용하여 검증이 필요하지 않은 셀들에 대해서는 감지노드의 전압레벨을 로우레벨로 천이시키는 동작을 수행한다. 즉, 이미 제1 노드(Q)에 하이레벨 데이터가 인가된 경우(소거 대상 셀이거나, 프로그램 대상이면서 프로그램된 것으로 감지된 셀)에는 추가적인 검증동작이나 프로그램 동작이 불필요한 상태이므로 이에 대해서는 감지노드의 전압 레벨을 로우레벨로 천이시키게 된다.
이를 위해, 하이레벨의 제2 데이터 전송신호(TRAN_N)를 일정기간 인가시킨다. 이에 따라, 제1 노드(Q)에 저장된 데이터가 반전되어 감지노드에 인가되며, 제1 노드에 하이레벨 데이터가 저장되었던 경우(도 4a의 경우)에는 감지노드가 로우 레벨로 천이됨을 볼 수 있다.
이와 같이 감지노드가 로우레벨로 천이된 후에 각 구간에서 검증을 거치게 되지만, 감지노드가 다시 하이레벨로 상승하지는 못하게 된다. 따라서, 감지노드 센싱부(160)가 동작하지 않게 되며, 제1 노드(Q)에 저장되었던 하이레벨 데이터는 그대로 유지되게 된다.
따라서, 이와 같은 동작에 따라 검증이 불필요한 셀(소거대상 셀)이나 검증을 한번 통과한 셀들은 확정적으로 검증대상에서 제외되는 효과가 있다.
다음으로, 상기 제1 검증전압을 기준으로 한 평가 결과를 센싱한다(T3).
이를 위해, 비트라인 센싱부(120)에 제2 전압레벨(V2)의 비트라인 센싱신호(PB_SENSE)를 인가한다. 따라서, 해당 셀이 제1 검증전압 이상으로 프로그램된 경우에는 비트라인의 전압레벨이 커서 상기 NMOS 트랜지스터(N114)가 턴온되지 않아 감지노드의 전압레벨이 그대로 유지된다.
그러나, 해당 셀이 제1 검증전압 이상으로 프로그램되지 않은 경우에는 비트라인의 전압레벨이 낮아서 상기 NMOS 트랜지스터(N114)가 턴온되며, 이에 따라 감지노드의 전압레벨이 로우레벨로 천이된다.
따라서, 특정 셀의 프로그램 여부에 따라 감지노드 센싱부(160)의 동작여부가 결정된다. 즉, 특정 셀이 프로그램된 경우에 한하여 상기 감지노드 센싱부(160)가 동작하여 접지전압을 데이터 설정부(150)로 전달하게 된다.
한편, 이 구간에서는 하이레벨의 제2 데이터 설정신호(SET)를 인가한다. 이 에 따라, 특정 셀이 프로그램된 경우에는 접지전압이 제2 노드(Qb)에 인가되며, 제1 노드(Q)에 하이레벨 데이터가 저장된다.
도 4a의 경우 최초 제1 노드(Q)에 하이레벨 데이터가 저장되어 있었고, T2 구간에서 제2 데이터 전송신호(TRAN_N)의 인가에 따라, 감지노드가 로우레벨로 천이되었는바, 이 경우 검증대상에서 제외되게 된다. 따라서, 제1 노드(Q)의 하이레벨 데이터가 그대로 유지된다.
도 4b의 경우 최초 제1 노드(Q)에 로우레벨 데이터가 저장되어 있었고(프로그램 대상), 해당 셀의 프로그램 여부에 따라 제1 노드(Q)에 인가되는 데이터가 달라지게 된다. 프로그램 동작에도 불구하고 프로그램이 되지 않으면(즉, 문턱전압이 제1 검증전압보다 작은 경우) 제1 노드(Q)에 로우레벨 데이터가 그대로 유지된다.
그러나, 프로그램이 성공하면(즉, 문턱전압이 제1 검증전압보다 큰 경우) 제1 노드(Q)에 하이레벨 데이터가 저장된다.
정리하면, 상기 프로그램에 의해 제1 검증전압 이상으로 프로그램된 경우에는 제1 노드(Q)에 하이레벨 데이터가 저장되도록 설정하며(단계 362), 그렇지 못한 경우에는 초기에 제1 노드(Q)에 저장된 데이터가 그대로 유지되도록 한다. 그리고, 이후 제2 검증전압을 기준으로 하는 검증동작을 실시하게 된다.
이제 제2 검증전압을 기준으로 상위비트 프로그램에 대한 검증동작을 실시한 다(단계 370).
먼저, 제2 검증전압(PV2)을 기준으로 하여 특정 셀의 프로그램 여부에 따라 비트라인의 전압레벨을 평가시킨다(T4 구간).
이를 위해, 선택된 워드라인에는 제2 검증전압(PV2)을 인가하고, 비선택된 워드라인에는 패스전압을 인가한다(미도시됨).
해당 셀의 프로그램 여부에 따라 비트라인의 전압레벨이 달라지게 되는바, 해당 셀이 프로그램된 경우(문턱전압이 제2 검증전압보다 큰 경우)에는 비트라인의 전압레벨이 하이레벨을 유지하게 되며, 프로그램이 수행되지 않은 경우(문턱전압이 제2 검증전압보다 작은 경우)에는 비트라인의 전압레벨이 로우레벨로 천이된다.
다음으로, 상기 제2 검증전압을 기준으로 한 평가 결과를 센싱한다(T5).
이를 위해, 비트라인 센싱부(120)에 제2 전압레벨(V2)의 비트라인 센싱신호(PB_SENSE)를 인가한다. 따라서, 해당 셀이 제2 검증전압 이상으로 프로그램된 경우에는 비트라인의 전압레벨이 커서 상기 NMOS 트랜지스터(N114)가 턴온되지 않아 감지노드의 전압레벨이 그대로 유지된다.
그러나, 해당 셀이 제2 검증전압 이상으로 프로그램되지 않은 경우에는 비트라인의 전압레벨이 낮아서 상기 NMOS 트랜지스터(N114)가 턴온되며, 이에 따라 감지노드의 전압레벨이 로우레벨로 천이된다.
따라서, 특정 셀의 프로그램 여부에 따라 감지노드 센싱부(160)의 동작여부가 결정된다. 즉, 특정 셀이 프로그램된 경우에 한하여 상기 감지노드 센싱부(160) 가 동작하여 접지전압을 데이터 설정부(150)로 전달하게 된다.
한편, 이 구간에서는 하이레벨의 제1 데이터 설정신호(RESET)를 인가한다. 이에 따라, 특정 셀이 프로그램된 경우에는 접지전압이 제1 노드(Q)에 인가되며, 제1 노드(Q)에 로우레벨 데이터가 저장된다.
상기 구간에서는 앞선 구간(T3)에서와는 달리 제1 데이터 설정신호를 인가하고 있으며, 이는 본원 발명의 특징적인 구송요소이다. 이에 대하여 더욱 상세히 설명하기로 한다.
도 2를 다시 참조하면, 하위비트 프로그램에 의해서 제1 상태('11')와 제 3상태('10')의 분포가 형성된다. 이에 대하여 상위비트 프로그램을 실시하게 되면, 제2 상태('01')와 제4 상태('00')가 형성되어 총 네가지 상태가 형성된다.
이때, 제2 상태는 제1 상태에 대한 프로그램으로부터 비롯된 것이며, 제4 상태는 제3상태에 대한 프로그램으로부터 비롯된 것이다.
한편, 상위비트 프로그램에 대비하여 제1 노드(Q)에 데이터를 설정하는 단계(340)에서는 프로그램하고자 하는 목적상태가 제2 상태인지 제4 상태인지를 불문하고 로우레벨의 동일한 데이터가 인가된다. 따라서, 검증을 실시할 경우 목적상태가 제2 상태인지 제4 상태인지에 대한 정보가 없이 검증한다면, 제4 상태를 목적으로 하는 경우에는 제1 검증전압(PV1)이상으로만 프로그램되면 검증이 종료되는 문제점이 발생할 수 있다. 즉, 두 상태를 구분하여 검증할 필요성이 있는 것이다.
종래 기술에서는 이를 위해, 상위비트 프로그램 동작전에 하위비트 프로그램 상태를 독출하여 그 상태를 구분하는 동작을 수행하였다. 또한, 이를 위해 두개의 데이터 래치부를 이용한 구성을 취하고 있다. 본원 발명에서는, 하나의 데이터 래치부만으로 이러한 구분 동작을 실시할 수 있는 방법을 제시하고자 한다.
하위비트 프로그램이 종료되면 제1 상태와 제3 상태의 분포가 남는다. 따라서, 제4 상태로 프로그램하고자 하는 경우 해당 셀들은 상위비트 프로그램 전에 이미 제2 검증전압 이상의 문턱전압을 갖고 있다.
즉, 제1 노드에 동일하게 로우레벨 데이터가 인가되더라도 제2 상태로 프로그램하고자 하는 경우에는 해당 셀이 제1 검증전압과 제2 검증전압 사이에 분포하겠지만, 제4 상태로 프로그램하고자 하는 경우에는 해당 셀이 제2 검증전압과 제3 검증전압사이에 분포하게 됨으로써, 그 문턱전압의 분포가 상이하게 된다.
이와 같은 현상을 이용하여 제1 검증전압에 의한 검증이후 순차적으로 제2 검증전압에 의한 검증을 거치게 된다. 즉, 제2 상태로 프로그램하고자 하는 경우에는 제1 검증전압 이상으로만 프로그램되면 검증이 종료된다. 이를 위해, 앞선 단계(360, 362)에서 제1 검증전압 이상으로 프로그램된 경우 제1 노드의 데이터를 하이 레벨로 설정하였다. 다만, 이러한 동작은 제4 상태로 프로그램하고자 하는 경우에도 마찬가지로 설정되므로 별도의 조치를 취할 필요가 있다.
즉, 제4 상태로 프로그램하고자 하는 셀들은 이미 제2 검증전압 이상으로 프로그램 되어 있는 상태이므로, 제2 검증전압을 기준으로 검증하여 그보다 문턱전압이 높은 경우에는 제4 상태로 프로그램하고자 하는 셀로 간주하고 제1 노드의 데이 터를 상기 단계(360, 362)와 상반된 레벨로 설정한다.
다시 말하면, 제1 검증전압이상으로 프로그램이 종료된후 제2 검증전압을 기준으로 다시 검증하여 제2 상태로 프로그램하고자 하는 셀과 제4 상태로 프로그램하고자 하는 셀로 구분하는 것이다. 제2 상태로 프로그램하고자 하는 셀은 더이상 프로그램하는 것이 불필요하므로 제1 노드에 저장된 하이레벨 데이터를 그대로 유지시키고, 제4 상태로 프로그램하고자 하는 셀은 제3검증 전압이상으로 문턱전압을 상승시킬 필요가 있으므로, 제1 노드에 저장된 하이레벨 데이터를 로우레벨 데이터로 천이시키는 것이다.
따라서, 상기 제2 검증전압을 기준으로 하는 검증동작을 통해 제2 검증전압이상으로 프로그램된 경우라고 센싱되면 제1 노드에 로우레벨 데이터가 설정되도록 제1 데이터 설정신호(RESET)를 하이 레벨로 인가한다.
만약, 제2 검증전압 이상으로 프로그램되지 않은 경우라면 데이터 센싱부(160) 자체가 동작하지 않으므로, 제1 노드에 저장되었던 데이터가 그대로 유지된다.
도 4b를 다시 참조하면, 상기 센싱결과 제2 검증전압이상으로 프로그램된 경우(제4 상태로 프로그램하려는 경우)라고 판단되어 제1 노드(Q)의 데이터를 로우레벨 데이터로 설정하였다. 만약, 센싱결과 제2 검증전압 보다 낮게 프로그램된 경우(제2 상태로 프로그램하려는 경우)라면 제1 노드(Q)의 데이터가 하이레벨로 유지될 것이다.
정리하면, 상기 프로그램에 의해 제2 검증전압 이상으로 프로그램된 경우에는 제1 노드(Q)에 로우레벨 데이터가 저장되도록 설정하며(단계 372), 그렇지 못한 경우에는 초기에 제1 노드(Q)에 저장된 데이터가 그대로 유지되도록 한다. 그리고, 이후 제3 검증전압을 기준으로 하는 검증동작을 실시하게 된다.
이제, 제3 검증전압을 기준으로 상위비트 프로그램에 대한 검증동작을 실시한다(단계 380).
먼저, 제3 검증전압(PV3)을 기준으로 하여 특정 셀의 프로그램 여부에 따라 비트라인의 전압레벨을 평가시킨다(T6 구간).
이를 위해, 선택된 워드라인에는 제3 검증전압(PV3)을 인가하고, 비선택된 워드라인에는 패스전압을 인가한다(미도시됨). 제3 검증전압을 기준으로 하여 특정 셀의 프로그램 여부에 따라 비트라인의 전압레벨을 평가시킨다.
해당 셀의 프로그램 여부에 따라 비트라인의 전압레벨이 달라지게 되는바, 해당 셀이 프로그램된 경우(문턱전압이 제3 검증전압보다 큰 경우)에는 비트라인의 전압레벨이 하이레벨을 유지하게 되며, 프로그램이 수행되지 않은 경우(문턱전압이 제3 검증전압보다 작은 경우)에는 비트라인의 전압레벨이 로우레벨로 천이된다.
다음으로, 상기 제3 검증전압을 기준으로 한 평가 결과를 센싱한다(T7).
이를 위해, 비트라인 센싱부(120)에 제2 전압레벨(V2)의 비트라인 센싱신 호(PB_SENSE)를 인가한다. 따라서, 해당 셀이 제3 검증전압 이상으로 프로그램된 경우에는 비트라인의 전압레벨이 커서 상기 NMOS 트랜지스터(N114)가 턴온되지 않아 감지노드의 전압레벨이 그대로 유지된다.
그러나, 해당 셀이 제3 검증전압 이상으로 프로그램되지 않은 경우에는 비트라인의 전압레벨이 낮아서 상기 NMOS 트랜지스터(N114)가 턴온되며, 이에 따라 감지노드의 전압레벨이 로우레벨로 천이된다.
따라서, 특정 셀의 프로그램 여부에 따라 감지노드 센싱부(160)의 동작여부가 결정된다. 즉, 특정 셀이 프로그램된 경우에 한하여 상기 감지노드 센싱부(160)가 동작하여 접지전압을 데이터 설정부(150)로 전달하게 된다.
한편, 이 구간에서는 하이레벨의 제2 데이터 설정신호(SET)를 인가한다. 이에 따라, 특정 셀이 프로그램된 경우에는 접지전압이 제2 노드(Qb)에 인가되며, 제1 노드(Q)에 하이레벨 데이터가 저장된다.
도 4b를 다시 참조하면, 앞선 구간에서 센싱결과 제1 노드(Q)에 로우레벨 데이터가 저장되어 있었고(프로그램 대상), 해당 셀의 프로그램 여부에 따라 제1 노드(Q)에 인가되는 데이터가 달라지게 된다. 프로그램 동작에도 불구하고 프로그램이 되지 않으면(즉, 문턱전압이 제3 검증전압보다 작은 경우) 제1 노드(Q)에 로우레벨 데이터가 그대로 유지된다.
그러나, 프로그램이 성공하면(즉, 문턱전압이 제3 검증전압보다 큰 경우) 제1 노드(Q)에 하이레벨 데이터가 저장된다.
정리하면, 상기 프로그램에 의해 제3 검증전압 이상으로 프로그램된 경우에는 제1 노드(Q)에 하이레벨 데이터가 저장되도록 설정하며(단계 382), 그렇지 못한 경우에는 초기에 제1 노드(Q)에 저장된 데이터가 그대로 유지되도록 한다.
다음으로, 제1 노드(Q)에 설정된 데이터를 판독하여 프로그램이 완료되었는지 여부를 판단한다(단계 390).
앞선 단계들(360 내지 390)을 순차적으로 수행한 결과, 제1 노드에 모두 하이레벨 데이터가 설정된 경우에는 프로그램이 모두 완료된 것으로 보고 상위비트 프로그램을 종료한다.
그러나, 제1 노드에 로우레벨 데이터가 설정된 페이지 버퍼가 있는 경우에는 상위 비트 프로그램 동작을 반복하여 실시한다.
도 4a의 경우 최초 제1 노드(Q)에 하이레벨 데이터가 저장되어 있었고, T2 구간에서 제2 데이터 전송신호(TRAN_N)의 인가에 따라, 감지노드가 로우레벨로 천이되었는바, 이 경우 검증대상에서 제외되게 된다. 따라서, 제1 노드(Q)의 하이레벨 데이터가 그대로 유지된다.
도 4b의 경우 최초 제1 노드(Q)에 로우레벨 데이터가 저장되어 있었고(프로그램 대상), 해당 셀의 프로그램 여부에 따라 제1 노드(Q)에 인가되는 데이터가 달라지게 된다. 프로그램 동작에도 불구하고 프로그램이 되지 않으면(즉, 문턱전압이 제1 검증전압보다 작은 경우) 제1 노드(Q)에 로우레벨 데이터가 그대로 유지된다.
그러나, 프로그램이 성공하면(즉, 문턱전압이 제1 검증전압보다 큰 경우) 제1 노드(Q)에 하이레벨 데이터가 저장된다.
검증하고자 하는 셀이 포함된 워드라인에 제1 검증전압(PV1)을 인가하여 프로그램 여부를 검증하게 되는데, 해당 셀이 제1 검증전압(PV1) 이상으로 프로그램된 경우에는 해당 셀의 문턱전압이 제1 검증전압(PV1) 보다 크므로 해당 셀은 턴온되지 않아 비트라인에서 셀 스트링으로 이어지는 전류 경로가 형성되지 않는다. 따라서, 해당 비트라인은 하이레벨 전압을 그대로 유지한다.
그러나, 해당 셀이 제2 검증전압(PV1) 이상으로 프로그램되지 않은 경우에는 해당 셀의 문턱전압이 제2 검증전압(PV2) 보다 작으므로 해당 셀은 턴온되어 비트라인에서 셀 스트링으로 이어지는 전류 경로가 형성된다. 따라서, 해당 비트라인은 로우레벨로 전압을 디스차지 된다.
즉, 해당 셀이 제2 검증전압 이상으로 프로그램된 경우에는 해당 비트라인은 하이레벨 전압을 유지하고 그렇지 못한 경우에는 로우레벨 전압을 유지한다. 프로그램 대상이 아니었던 셀 역시 마찬가지로 로우레벨 전압을 유지한다. 비트라인의 전압레벨은 그대로 감지노드(SO)로 인가되며, 상기 감지노드 센싱부(150) 및 데이터 설정부(140)를 동작시켜 프로그램 여부에 따라 제1 노드(Q)의 데이터를 재설정 한다.
상기 하위비트 프로그램 동작에 의해 적절히 프로그램이 된 경우에는 상기 감지노드(SO)의 전압레벨이 하이레벨을 유지하므로, 이는 감지노드 센싱부(150)에 전달되어 접지전압이 상기 데이터 설정부(140)에 인가되도록 한다. 이와 동시에 하이레벨의 제2 데이터 설정신호(SET)를 인가시켜 제1 노드(Q)에 하이레벨 데이터가 저장되도록 한다. 그러나, 상기 하위비트 프로그램 동작에도 불구하고 프로그램이 되지 않은 경우에는 상기 감지노드(SO)의 전압레벨이 로우레벨로 천이되므로 상기 감지노드 센싱부(150)가 동작하지 않아 초기에 저장되었던 제1 노드(Q)의 데이터가 그대로 유지된다.
참고로, 앞서 언급하였듯이 하위비트가 프로그램 대상이었던 셀의 경우 제1 노드(Q)에 로우 레벨 데이터가 저장되어 있었고, 소거 대상이었던 셀의 경우 제1 노드(Q)에 하이 레벨 데이터가 저장되어 있었다.
따라서, 프로그램 대상이면서 적절히 프로그램이 된 경우에는 제1 노드(Q)의 데이터가 하이 레벨 데이터로 변경된다. 그러나, 프로그램 대상이면서 프로그램이 되지 않은 경우에는 로우 레벨 데이터를 그대로 유지하게 된다. 한편, 소거 대상이었던 셀의 경우에는 최초의 하이 레벨 데이터를 그대로 유지하게 된다.
상기 검증동작에 따라 프로그램이 되지 않은 셀이 있는 경우에는 다시 프로그램 동작을 실시한다.
이와 같은 프로그램 및 검증 동작은 프로그램 대상이면서 프로그램이 되지 않은 셀이 없어질 때까지, 이상적으로는 특정 셀이 소거 대상인지 프로그램 대상인지 여부를 불문하고 제1 노드(Q)에 하이레벨 데이터가 저장될 때까지 반복된다.
전술한 본원 발명의 구성에 따라, 하나의 래치부만을 갖는 페이지 버퍼만으로도 멀티 레벨 셀 프로그램을 원활하게 수행할 수 있다. 따라서, 통상적으로 페이지 버퍼에 포함된 두 개의 래치 중 하나의 래치를 제거할 수 있으며, 그에 따라 전체적인 면적을 감소시킬 수 있게 된다.

Claims (6)

  1. 선택된 메모리 셀을 위한 하위비트 프로그램을 완료하는 단계와,
    상기 선택된 메모리 셀과 연결되는 데이터 래치부의 제1 노드에 상위비트 데이터를 설정하는 단계와,
    상기 선택된 메모리 셀을 위한 상위비트 프로그램을 실시하는 단계와,
    상기 선택된 메모리 셀의 문턱전압이 제1 검증전압이상으로 프로그램된 경우 상기 제1 노드에 제1 데이터를 설정하는 단계와,
    상기 선택된 메모리 셀의 문턱전압이 제2 검증전압이상으로 프로그램된 경우 상기 제1 노드에 상기 제1 데이터와 상반된 레벨의 제2 데이터를 설정하는 단계와,
    상기 선택된 메모리 셀의 문턱전압이 제3 검증전압이상으로 프로그램된 경우 상기 제1 노드에 상기 제1 데이터를 설정하는 단계와,
    상기 제1 노드에 설정된 데이터에 따라 상기 상위비트 프로그램을 반복하는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 불휘발성 메모리 장치의 프로그램 방법.
  2. 제1항에 있어서, 상기 상위비트 데이터를 설정하는 단계는 프로그램 대상인 경우 제1 노드에 상기 제2 데이터를 설정하고 소거 대상인 경우 제1 노드에 상기 제1 데이터를 설정하는 것을 특징으로 하는 멀티 레벨 셀 불휘발성 메모리 장치의 프로그램 방법.
  3. 제1항에 있어서, 상기 선택된 메모리 셀의 문턱전압이 상기 제1 검증전압이상으로 프로그램된 경우 상기 제1 노드에 제1 데이터를 설정하는 단계는 제1 검증전압이상으로 프로그램된 경우에 로우레벨 전압을 데이터 설정부로 인가시키는 단계와,
    상기 데이터 설정부에 하이레벨의 제2 데이터 설정 신호를 인가하여 상기 제1 노드에 하이 레벨 전압을 인가시키는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 불휘발성 메모리 장치의 프로그램 방법.
  4. 제1항에 있어서, 상기 선택된 메모리 셀의 문턱전압이 상기 제2 검증전압이상으로 프로그램된 경우 상기 제1 노드에 제2 데이터를 설정하는 단계는 제2 검증전압이상으로 프로그램된 경우에 로우레벨 전압을 데이터 설정부로 인가시키는 단계와,
    상기 데이터 설정부에 하이레벨의 제1 데이터 설정 신호를 인가하여 상기 제1 노드에 로우 레벨 전압을 인가시키는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 불휘발성 메모리 장치의 프로그램 방법.
  5. 제1항에 있어서, 상기 선택된 메모리 셀의 문턱전압이 상기 제3 검증전압이상으로 프로그램된 경우 상기 제1 노드에 제1 데이터를 설정하는 단계는 제3 검증전압이상으로 프로그램된 경우에 로우레벨 전압을 데이터 설정부로 인가시키는 단계와,
    상기 데이터 설정부에 하이레벨의 제2 데이터 설정 신호를 인가하여 상기 제1 노드에 하이 레벨 전압을 인가시키는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 불휘발성 메모리 장치의 프로그램 방법.
  6. 제1항에 있어서, 상기 제1 노드에 설정된 데이터에 따라 상기 상위비트 프로그램을 반복하는 단계는 복수의 페이지 버퍼의 제1 노드에 설정된 데이터가 모두 제1 데이터인 경우 상위비트 프로그램 반복을 중단하는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 불휘발성 메모리 장치의 프로그램 방법.
KR1020070063548A 2007-06-27 2007-06-27 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법 KR100933860B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070063548A KR100933860B1 (ko) 2007-06-27 2007-06-27 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070063548A KR100933860B1 (ko) 2007-06-27 2007-06-27 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20080114203A KR20080114203A (ko) 2008-12-31
KR100933860B1 true KR100933860B1 (ko) 2009-12-24

Family

ID=40371341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070063548A KR100933860B1 (ko) 2007-06-27 2007-06-27 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법

Country Status (1)

Country Link
KR (1) KR100933860B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8279675B2 (en) 2008-11-19 2012-10-02 Hynix Semiconductor Inc. Nonvolatile memory device and method of programming the same
KR101017782B1 (ko) * 2008-11-19 2011-02-28 주식회사 하이닉스반도체 불휘발성 메모리 장치
KR101139095B1 (ko) * 2010-07-09 2012-04-30 에스케이하이닉스 주식회사 불휘발성 메모리 소자 및 이의 프로그램 방법
KR101855435B1 (ko) 2010-11-15 2018-05-08 삼성전자주식회사 최대 검증-시간을 조절할 수 있는 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 메모리 시스템
KR20140028718A (ko) * 2012-08-30 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR102290448B1 (ko) * 2014-09-04 2021-08-19 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리의 동작 방법
KR102649347B1 (ko) * 2016-10-11 2024-03-20 삼성전자주식회사 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000003017A (ko) * 1998-06-25 2000-01-15 윤종용 플래시 메모리 장치와 그의 프로그램 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000003017A (ko) * 1998-06-25 2000-01-15 윤종용 플래시 메모리 장치와 그의 프로그램 방법

Also Published As

Publication number Publication date
KR20080114203A (ko) 2008-12-31

Similar Documents

Publication Publication Date Title
KR100923821B1 (ko) 불휘발성 메모리 장치의 페이지 버퍼 및 그 프로그램 방법
KR100885784B1 (ko) 불휘발성 메모리 장치의 소프트 프로그램 방법
KR101099911B1 (ko) 반도체 메모리 장치 및 그 동작 방법
KR101044540B1 (ko) 반도체 메모리 장치 및 이의 프로그램 방법
KR101829208B1 (ko) 반도체 메모리 장치의 동작 방법
KR100953063B1 (ko) 불휘발성 메모리 장치의 소거 방법
KR101009096B1 (ko) 불휘발성 메모리 소자 및 이의 프로그램 검증 동작 방법
TWI569274B (zh) 堆疊式記憶體陣列裝置之感測操作
US8279675B2 (en) Nonvolatile memory device and method of programming the same
KR100933860B1 (ko) 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법
KR101005184B1 (ko) 불휘발성 메모리 장치 및 그 동작 방법
US8351270B2 (en) Nonvolatile memory device and method of programming the device
JP2008091011A (ja) フラッシュメモリ素子とそのプログラム方法
US7515476B2 (en) Non-volatile memory device and data read method and program verify method of non-volatile memory device
CN106710617B (zh) 非易失性存储器件
KR100898684B1 (ko) 플래시 메모리 소자 및 그의 프로그램 방법
KR100938044B1 (ko) 불휘발성 메모리 장치 및 그 멀티 레벨 셀 프로그램 방법
KR100965067B1 (ko) 불휘발성 메모리 소자의 동작 방법
KR20090000332A (ko) 불휘발성 메모리 장치의 데이터 판독 방법
KR100875013B1 (ko) 불휘발성 메모리 장치와 불휘발성 메모리 장치의 데이터독출 방법 및 프로그램 검증 방법
KR100816121B1 (ko) 불휘발성 메모리장치의 멀티비트 프로그램 방법
KR100705222B1 (ko) 불휘발성 메모리 장치 및 그것의 소거 검증 방법
KR100881520B1 (ko) 불휘발성 메모리 장치와 불휘발성 메모리 장치의 데이터 독출 방법 및 프로그램 검증 방법
CN118471284A (zh) 执行编程操作的存储器装置及其操作方法
KR20100129080A (ko) 불휘발성 메모리 장치의 동작 방법

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
LAPS Lapse due to unpaid annual fee