KR100816121B1 - 불휘발성 메모리장치의 멀티비트 프로그램 방법 - Google Patents

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

Info

Publication number
KR100816121B1
KR100816121B1 KR1020060136361A KR20060136361A KR100816121B1 KR 100816121 B1 KR100816121 B1 KR 100816121B1 KR 1020060136361 A KR1020060136361 A KR 1020060136361A KR 20060136361 A KR20060136361 A KR 20060136361A KR 100816121 B1 KR100816121 B1 KR 100816121B1
Authority
KR
South Korea
Prior art keywords
cell
bit
program
programmed
register
Prior art date
Application number
KR1020060136361A
Other languages
English (en)
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 KR1020060136361A priority Critical patent/KR100816121B1/ko
Application granted granted Critical
Publication of KR100816121B1 publication Critical patent/KR100816121B1/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
    • 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/10Programming or data input circuits
    • G11C16/12Programming voltage switching 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/26Sensing or reading circuits; Data output circuits

Landscapes

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

Abstract

본원 발명의 불휘발성 메모리 장치의 멀티비트 프로그램 방법은 특정 셀들에 대하여 제1 비트의 프로그램 동작을 완료하는 단계와, 상기 단계에서 프로그램되지 않은 제1 셀그룹과, 상기 단계에서 프로그램된 제2 셀그룹 중 제2 비트를 프로그램할 셀에 대하여 해당 셀과 접속된 페이지 버퍼의 제1 레지스터에 프로그램 정보를 저장하는 단계와, 각 셀의 제1 비트가 프로그램되지 않은 셀인지를 판단하는 단계와, 각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀을 특정하는 단계와, 상기 특정된 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀을 프로그램하는 제1 프로그램 동작 단계와, 각 셀의 제1 비트가 프로그램된 셀인지를 판단하는 단계와, 각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀을 특정하는 단계와, 상기 특정된 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀을 프로그램하는 제2 프로그램 동작 단계를 포함하는 것을 특징으로 한다.
멀티레벨 셀, MLC, 멀티비트 프로그램

Description

불휘발성 메모리장치의 멀티비트 프로그램 방법{The method programming multi-bits in nonvolatile memory device}
도 1은 본 발명이 적용되는 NAND형 플래쉬 메모리 소자의 페이지 버퍼의 회로도이다.
도 2는 본 발명의 일 실시 예에 따른 2 비트 프로그램 방법을 설명하기 위한 문턱전압 분포도이다.
도 3a 및 3b는 본 발명의 일실시 예에 따른 프로그램 방법을 도시한 도면이다.
도 4는 본 발명의 일실시 예에 따른 프로그램 방법을 도시한 흐름도이다.
도 5는 본 발명의 일실시 예에 따른 프로그램 동작에 의한 각 비트라인 및 레지스터의 전압 레벨을 표시한 표이다.
도 6은 본 발명의 또 다른 실시 예에 따른 3 비트 프로그램 방법을 설명하기 위한 문턱전압 분포도이다.
도 7은 본 발명의 또 다른 실시 예에 따른 프로그램 방법을 도시한 도면이다.
도 8은 본 발명의 또 다른 실시 예에 따른 프로그램 방법을 도시한 흐름도이다
도 9는 본 발명의 또 다른 실시 예에 따른 프로그램 동작에 의한 각 비트라인 및 레지스터의 전압 레벨을 표시한 표이다.
도 10a 및 10b 는 본 발명의 또 다른 실시예에 따른 N 비트 프로그램 방법을 도시한 흐름도이다.
<도면의 주요 부분에 대한 설명>
110: 검증신호 공급부 120: 비트라인 선택부
130: 감지전압 공급부
140: 제1 레지스터 150: 제2 레지스터
160: 프리차지부 170: 데이터 입출력부
본 발명은 불휘발성 메모리장치의 프로그램 방법에 관한 것으로, 특히 불휘발성 메모리장치의 멀티비트 프로그램 방법에 관한 것이다.
최근 들어 전기적으로 프로그램(program)과 소거(erase)가 가능하고, 일정 주기로 데이터를 재작성해야하는 리프레시(refresh) 기능이 필요 없는 비휘발성 메모리 소자에 대한 수요가 증가하고 있으며, 그 집적도를 높이기 위한 방법으로 하나의 셀에 1 비트 이상의 데이터를 저장하고자 하는 시도가 계속 진행중이다.
이와 같이 다수비트의 데이터를 저장할 수 있는 불휘발성 메모리 장치를 멀 티 비트(Multi-bits) 또는 멀티레벨 셀 (Multi-level cell, MLC) 불휘발성 메모리 장치라고 한다. 예를 들어 2 비트를 저장하는 불휘발성 메모리 장치는 하나의 셀에 '11, 10, 01, 00' 과 같이 총 네 개의 데이터를 저장할 수 있어 그 집적도를 논리적인 측면에서 증가시킬수 있다.
상기 장치는 단일 비트를 저장하는 싱글레벨 셀(Single-level cell, SLC) 불휘발성 메모리 장치에 비해 그 집적도는 높으나, 하나의 셀에 여러개의 데이터를 저장하게 되므로 프로그램 방법이 복잡하다는 특징이 있으며, 이로 인해 통상적으로 사용되는 듀얼 레지스터 형태의 페이지 버퍼만으로는 효율적인 프로그램이 어려워 별도의 데이터 저장용 래치를 필요로 하게 된다.
상술한 문제점을 해결하기 위하여 본원 발명은 기존의 듀얼 레지스터 형태의 페이지 버퍼만으로도 불휘발성 메모리 장치에 대하여 효율적으로 멀티비트 프로그램할 수 있는 불휘발성 메모리장치의 멀티비트 프로그램 방법을 제공하는 것을 목적으로 한다.
상술한 목적을 달성하기 위한 본원 발명의 불휘발성 메모리장치의 멀티비트 프로그램 방법은 특정 셀들에 대하여 제1 비트의 프로그램 동작을 완료하는 단계와, 상기 단계에서 프로그램되지 않은 제1 셀그룹과, 상기 단계에서 프로그램된 제2 셀그룹 중 제2 비트를 프로그램할 셀에 대하여 해당 셀과 접속된 페이지 버퍼의 제1 레지스터에 프로그램 정보를 저장하는 단계와, 각 셀의 제1 비트가 프로그램되 지 않은 셀인지를 판단하는 단계와, 각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀을 특정하는 단계와, 상기 특정된 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀을 프로그램하는 제1 프로그램 동작 단계와, 각 셀의 제1 비트가 프로그램된 셀인지를 판단하는 단계와, 각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀을 특정하는 단계와, 상기 특정된 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀을 프로그램하는 제2 프로그램 동작 단계를 포함하는 것을 특징으로 한다.
또한, 본원 발명의 불휘발성 메모리장치의 멀티비트 프로그램 방법은 특정 셀들에 대하여 제1 비트부터 제M-1 비트까지의 프로그램 동작을 완료하는 단계와, M 번째 비트를 프로그램하고자 하는지 여부에 대한 정보를 각 셀과 접속된 페이지 버퍼의 제1 레지스터에 저장하는 단계와, 상기 제M-1 비트까지 프로그램 동작이 완료된 셀들 중 문턱전압이 제일 작은 셀 그룹에 대하여, 각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버퍼의 제2 레지스터에 전달하여 상기 제M 비트를 프로그램할 셀을 특정하는 단계와, 상기 특정된 제M 비트를 프로그램할 셀을 프로그램하는 프로그램 동작 단계와, 상기 제M-1 비트까지 프로그램 동작이 완료된 셀들의 각 문턱전압이 증가하는 순서에 따라 각 셀그룹별로 상기 제M 비트를 프로그램할 셀을 특정하고 특정된 셀을 프로그램하는 단계를 반복수행하는 단계를 포함하는 것을 특징으로 한다.
또한, 본원 발명의 불휘발성 메모리장치의 멀티비트 프로그램 방법은 특정 셀들에 대하여 제1 비트부터 제M-1 비트까지의 프로그램 동작을 완료하는 단계와, M 번째 비트를 프로그램하고자 하는지 여부에 대한 정보를 각 셀과 접속된 페이지 버퍼의 제1 레지스터에 저장하는 단계와, 상기 제M-1 비트까지 프로그램 동작이 완료된 셀들 중 문턱전압이 제일 큰 셀 그룹에 대하여, 각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버퍼의 제2 레지스터에 전달하여 상기 제M 비트를 프로그램할 셀을 특정하는 단계와, 상기 특정된 제M 비트를 프로그램할 셀을 프로그램하는 프로그램 동작 단계와, 상기 제M-1 비트까지 프로그램 동작이 완료된 셀들의 각 문턱전압이 감소하는 순서에 따라 각 셀그룹별로 상기 제M 비트를 프로그램할 셀을 특정하고 특정된 셀을 프로그램하는 단계를 반복수행하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명이 적용되는 NAND형 플래쉬 메모리 소자의 페이지 버퍼의 회로도이다.
상기 페이지 버퍼는 메모리 셀 어레이(미도시됨)와 비트라인(BLe, BLo)을 통해 접속되어 각 비트라인에 선택적으로 검증 신호를 공급하는 검증신호 공급부(110), 특정 비트라인과 감지라인(SO)과의 연결을 제어하는 비트라인 선택부(120), 특정 비트라인을 특정 전압으로 프리차지시키는 감지전압 공급부(130), 메모리 셀 어레이에 저장된 또는 저장될 데이터를 임시로 저장하는 제1 및 제2 레지스터(140, 150), 감지라인에 선택적으로 전원전압을 공급하는 프리차지부(160), 상기 제1 레지스터(140)에 포함된 래치에 데이터를 입력하거나 래치에 저장된 데이터를 출력하는 데이터 입출력부(170)를 포함한다.
상기 검증신호 공급부(110)는 이븐 비트라인(BLe)과 오드 비트라인(BLo) 사이에 직렬로 연결되고 디스차지 신호(DISCHe 및 DISCHo)에 응답하여 턴온되는 NMOS 트랜지스터(N112, N114)를 포함한다. 따라서, 각 트랜지스터(N112, N114)는 디스차지 신호(DISCHe 또는 DISCHo)의 전압레벨에 따라 검증 신호(VIRPWR)를 비트라인(BLe 또는 BLo)에 인가시킨다.
상기 비트라인 선택부(120)는 비트라인(BLe 및 BLo)과 감지전압 공급부(130)사이에 연결된 NMOS 트랜지스터(N122, N124)를 포함한다. 따라서, 비트라인 선택 신호(BSLe 또는 BSLo)의 전압 레벨에 따라 NMOS 트랜지스터(N122, N124)가 턴온되어 비트라인(BLe 또는 BLo)과 감지전압 공급부(130)가 접속된다.
상기 감지전압 공급부(130)는 상기 비트라인 선택부(120)의 NMOS 트랜지스터(N122, N124)의 접속노드와 감지라인(SO) 사이에 접속된 NMOS 트랜지스터(N132)를 포함한다. 상기 NMOS 트랜지스터(N132)는 게이트에 인가되는 전압(PBSENSE,V1 또는 V2)에 의해 제어되어 상기 비트라인을 특정 전압 레벨(V1-Vt 또는 V2-Vt)로 프리차지 시킨다.
상기 제1 레지스터(140)는 감지 노드(SO)와 입출력 단자(미도시됨)사이에 연결되며, 데이터를 임시저장하는 래치(142), 상기 래치의 제1 노드(QB)와 접속된 NMOS 트랜지스터(N142, N148), 상기 래치의 제2 노드(QBb)와 접속된 NMOS 트랜지스터(N144), 상기 NMOS 트랜지스터(N144)와 접지 사이에 접속된 NMOS 트랜지스터(N146)을 포함한다.
상기 래치(142)는 제1 및 제2 인버터(IV142, IV144)를 포함하며, 제1 인버터(IV142)의 출력 단자와 제2 인버터(IV144)의 입력단자가 서로 접속되고, 제2 인버터(IV144)의 출력 단자와 제1 인버터(IV142)의 입력단자가 서로 접속된다. 따라서, 제1 노드(QB)의 전압상태와 제2 노드(QBb)의 전압상태가 서로 역전된 상태로 전압레벨이 저장된다.
상기 NMOS 트랜지스터(N142)는 리셋 전압(RESETB)에 응답하여 제1 노드(QB)에 접지 전압을 공급한다.
상기 NMOS 트랜지스터(N144)는 특정 전압(READB)에 응답하여 상기 NMOS 트랜지스터(N146)과 제2 노드(QBb)를 접속시키며, 상기 NMOS 트랜지스터(N146)는 감지 라인(SO)의 전압레벨에 응답하여 접지전압을 제2 노드(QBb)에 공급한다.
상기 NMOS 트랜지스터(N148)는 특정 전압(TRANB)에 응답하여 제1 노드(QB)에 저장된 전압 레벨을 감지라인(SO)에 인가한다.
상기 제2 레지스터(150)는 감지 노드(SO)와 입출력 단자(미도시됨)사이에 연결되며, 데이터를 임시저장하는 래치(152), 상기 래치의 제1 노드(QA)와 접속된 NMOS 트랜지스터(N154, N158), 상기 래치의 제2 노드(QAb)와 접속된 NMOS 트랜지스터(N152), 상기 NMOS 트랜지스터(N152, N154)와 접지 사이에 접속된 NMOS 트랜지스 터(N156)를 포함한다.
상기 래치(152)는 제1 및 제2 인버터(IV152, IV154)를 포함하며, 제1 인버터(IV152)의 출력 단자와 제2 인버터(IV154)의 입력단자가 서로 접속되고, 제2 인버터(IV154)의 출력 단자와 제1 인버터(IV152)의 입력단자가 서로 접속된다. 따라서, 제1 노드(QA)의 전압상태와 제2 노드(QAb)의 전압상태가 서로 역전된 상태로 전압레벨이 저장된다.
상기 NMOS 트랜지스터(N152)는 특정 전압(READA)에 응답하여 제2 노드(QAb)와 상기 NMOS 트랜지스터(N156)를 접속시키며, 상기 NMOS 트랜지스터(N154)는 특정 전압(READA_N)에 응답하여 상기 제1 노드(QA)와 상기 NMOS 트랜지스터(N156)를 접속시킨다.
후에 상세히 설명하겠지만, 상기 특정 전압(READA, READA_N)에 인가되는 신호를 조절하여 제2 레지스터의 제1 노드(QA)를 하이레벨 또는 로우레벨 정보로 초기화 시킬수 있다. 특정 메모리 셀의 문턱전압이 특정 독출 기준전압보다 작은지 여부를 판단하는 경우에는 하이레벨의 특정 전압(READA_N)을 인가하여 접지전압원이 제1 노드(QA)에 인가되도록 하여 로우레벨 정보를 저장시키고, 특정 메모리 셀의 문턱전압이 특정 독출 기준전압보다 큰지 여부를 판단하는 경우에는 하이레벨의 특정 전압(READA)을 인가하여 접지전압원이 제2 노드(QAb)에 인가되도록 하여 제1 노드(QA)에 하이레벨 정보를 저장시킨다.
한편, 상기 NMOS 트랜지스터(N156)는 감지 라인(SO)의 전압레벨에 응답하여 접지전압을 상기 NMOS 트랜지스터(N152, N154)의 접속노드에 공급한다. 따라서, 접지전압의 레벨과 상기 특정 전압(READA 또는 READA_N)의 레벨에 따라 제1 노드(QA) 또는 제2 노드(QAb) 접지전압이 인가된다.
상기 NMOS 트랜지스터(N158)는 특정 전압(TRANA)에 응답하여 제1 노드(QA)에 저장된 전압 레벨을 감지라인(SO)에 인가한다.
한편, 상기 프리차지부(160)는 전원전압(VDD)과 감지라인(SO)사이에 접속되며, 특정 전압(PRECH_N)에 응답하여 턴온되는 PMOS 트랜지스터(P162)를 포함한다.
상기 데이터 입출력부(170)는 상기 제1 레지스터(140)에 포함된 래치의 제1 노드와 제1 데이터 입력단(YAb) 사이에 접속된 NMOS 트랜지스터(N172)와 래치의 제2 노드와 제2 데이터 입력단(YA) 사이에 접속된 NMOS 트랜지스터(N174)를 포함하며, 각 트랜지스터의 게이트는 컬럼선택신호(YAD)에 의하여 제어된다. 따라서, 컬럼선택신호의 레벨에 따라 제1 데이터 입력단(YAb)의 신호가 제1 노드(QB)에 입력되고 제2 데이터 입력단(YA)의 신호가 제2 노드(QBb)에 입력된다.
도 2는 본 발명의 일 실시 예에 따른 2 비트 메모리 셀에서의 각 데이터당 셀의 분포 상태와 프로그램 방법을 도시한 도면이다.
도시된 도면에는 각 셀의 문턱전압의 상승에 따라 좌측부터 '11, 10, 01, 00'의 상태값을 갖는 것으로 설정되어있지만, 본원 발명은 그 상태값이 '11, 10, 00, 01'로 설정된 경우에 대해서도 그 적용이 가능하다.
먼저 제1 비트(LSB, Least Significant Bit)를 프로그램하면 '0' 과 '1'의 두가지 상태 값을 갖는다.
다음으로 제2 비트(MSB, Most Significant Bit)를 프로그램하는데, 제1 비트가 '1'인 경우 프로그램을 하면 '10'(B case)로 상태가 바뀌며 프로그램을 하지 않으면 '11'(A case)로 상태가 유지된다. 또한, 제1 비트가 '0'인 경우 프로그램을 하면 '00'(D case)로 상태가 바뀌며 프로그램을 하지 않으면 '01'(C case)로 상태가 유지된다.
도시된 전압 (PV1, PV2, PV3)은 각 상태들을 검증하는 검증전압으로서, 제1 검증 기준 전압(PV1)은 각 셀들이 제2 상태(B case)를 만족하는지를 검증하는 기준전압이 되며 , 제2 검증 기준 전압(PV2)은 제3 상태(C case), 제3 검증 기준 전압(PV3)은 제4 상태(D case)를 만족하는지를 검증하는 기준전압이 된다.
또한, 도시된 전압(RD1, RD2, RD3)은 독출 동작시 각 셀의 상태를 판단하기 위해 선택된 워드라인에 인가되는 독출 기준 전압이다.
이때 제1 독출 기준 전압(RD2)은 제1 비트의 프로그램 여부를 판단하는 기준전압이 된다.
도 3a 및 3b는 본 발명의 일실시 예에 따른 프로그램 방법을 도시한 도면이다.
본 발명에서는 제2 비트 프로그램 동작시 제1 비트가 프로그램된 셀과 프로그램되지 않은 셀들을 서로 구분하여 시간적으로 상이하게 프로그램 동작을 진행한다.
도 3a에 도시된 바와 같이, 제1 비트가 프로그램되지 않은 셀을 프로그램하는 제1 프로그램 동작과 제1 비트가 프로그램된 셀을 프로그램하는 제2 프로그램 동작을 시간적으로 서로 상이하게 진행한다.
이때, 도 3b에 도시된 바와 같이, 프로그램전압은 ISPP(Incremental Step Pulse Programming) 방식에 따라 점차적으로 증가되면서 인가되며, 프로그램전압펄스 인가후에 각 셀들이 프로그램되었는지 여부를 판단하기 위해 검증전압펄스를 인가한다. 따라서, 각 프로그램 동작 구간은 프로그램 전압펄스를 인가하는 구간과 함께 검증전압펄스를 인가하는 구간을 포함한다.
도 4는 본 발명의 일실시 예에 따른 프로그램 방법을 도시한 흐름도이며, 도 5는 본 발명의 일실시 예에 따른 프로그램 동작에 의한 각 비트라인 및 레지스터의 전압 레벨을 표시한 표이다.
앞서 살펴본 도 1과 함께 도 4 및 도 5를 참조하여 상세한 프로그램 방법을 살펴보기로 한다.
먼저 특정 메모리 셀에 대해 제1 비트를 프로그램 시킨다(단계 400).
프로그램 동작을 위해 선택된 워드라인에 대해서는 ISPP 방법에 따라 고전압이 인가되고 선택되지 않은 워드라인에 대해서는 프로그램 방지전압을 인가하며, 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 감지전압 공급부(130)의 NMOS 트랜지스터(N132)에 특정 전압(VDD+Vth)을 인가한다. 이때, 제2 레지스터의 제1 노드(QA)에 저장된 데이터에 따라 비트라인의 전압레벨이 달라지는 데, 제1 노드(QA)에 저장된 데이터가 로우레벨이면 비트라인의 전압레벨이 OV가 되어 프로그램 동작이 일어나며, 제1 노드(QA)에 저장된 데이터가 하이레벨이면 비트라인의 전압레벨이 하이레벨이되어 프로그램 동작이 일어나지 않는다.
또한, 상기 해당 메모리 셀의 제1 비트가 모두 프로그램되었는지 여부를 확인하기 위해 제2 검증 기준 전압(PV2)을 기준으로 검증단계를 거친다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하며, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제2 검증 기준 전압(PV2)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 독출전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀이 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제2 검증 기준 전압(PV2)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀이 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제2 검증 기준 전압(PV2)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가 하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀이 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 턴온되면, 접지전압이 제2 노드(QAb)에 인가되어 제1 노드(QA)에 하이레벨의 데이터가 저장된다. 그러나, 선택된 셀이 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 로우레벨의 데이터를 그대로 유지하게 된다.
따라서, 상기 프로그램 동작에 의해 프로그램되었다면, 제2 레지스터의 제1 노드(QA)에 하이레벨의 데이터가 저장되게 되므로, 다시는 프로그램 동작이 일어나지 않게 된다. 그러나, 프로그램시키려던 셀들 중에 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨의 데이터가 저장되게 되므로 여전히 프로그램 대상이 되며, 이러한 셀들이 없어질때까지 프로그램 동작이 계속된다.
다음으로 제2 비트에 입력할 데이터를 상기 제1 레지스터(140)에 저장시키는 데이터 입력 단계를 수행한다(단계 410). 즉, 상기 단계(400)에서 제1 비트가 프로그램되지 않은 셀그룹과 프로그램된 셀그룹 중 제2 비트를 프로그램할 셀에 대하여 해당 셀과 접속된 페이지 버퍼의 제1 레지스터에 프로그램 정보를 저장한다.
제2 비트에 입력할 데이터는 '0' 또는 '1'이 되며 앞서 살펴본 도 2의 제1 상태(A case)와 제3 상태(C case)의 경우에는 '1'이 입력되고, 제2 상태(B case)와 제4 상태(D case)의 경우에는 '0'이 입력된다. 따라서, 제1 레지스터에 포함된 래치의 제1 노드(QB)에 도 5와 같이 제1 및 제3 상태(A, C)에 대해서는 하이 레벨의 전압이 인가되고 제2 및 제4 상태(B, D)에 대해서는 로우 레벨의 전압이 인가된다. 이와 같은 데이터 입력은 앞서 설명한 데이터 입출력부(170)를 통해 이루어진다. 즉 특정 셀에 대해 제2 비트를 '0'으로 입력하고자 하는 경우 제1 레지스터의 제1 노드(QB)를 로우 레벨로 만들어야 하며, 이는 데이터 입출력부(170)의 제1 데이터 입력단(YAb)에 로우 레벨 신호를 인가하고, 게이트에 하이레벨의 컬럼 선택신호(YAD)를 인가함으로서 이루어진다.
다음으로 제1 비트가 프로그램되지 않은 제1 셀 그룹 중 특정 셀을 프로그램하기 위해, 해당 셀의 제1 비트가 프로그램되지 않은 셀인지를 확인하고 프로그램되지 않은 셀 중 제2 비트를 프로그램할 셀을 특정한다(단계 420).
먼저 특정 셀의 제1 비트가 프로그램되지 않은 셀인지를 확인하는데, 이를 위해 셀의 선택된 워드라인에 대해 도 2의 제1 독출 기준 전압(RD2)을 인가하여 해당 셀의 프로그램 여부를 확인한다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 제2 레지스터에 포함된 래치의 제1 노드(QA)와 접속된 NMOS 트랜지스터(N154)의 게이트에 하이레벨의 전압(READA_N)을 인가하여 NMOS 트랜지스터(N156)를 통해 제1 노드(QA)를 로우 레벨로 초기화시킨다.
상기 감지라인(SO)이 전원전압레벨로 프리차지된 상태에서 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제1 독출 기준 전압(RD2)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 패스전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀이 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제1 독출 기준 전압(RD2)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀이 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제1 독출 기준 전압(RD2)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀이 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 턴온되면, 접지전압이 제2 노드(QAb)에 인가되어 제1 노드(QA)에 저장되어 있던 로우레벨의 데이터가 하이레벨의 데이터로 반전되어 저장된다. 그러나, 선택된 셀이 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 로우레벨의 데이터를 그대로 유지하게 된다.
따라서, 도 5와 같이 제1 비트가 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨 데이터를 저장하게 되고, 제1 비트가 프로그램된 셀들은 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 저장하게 된다.
다음으로, 제1 비트가 프로그램되지 않은 셀 중 제2 비트를 프로그램할 셀을 특정하기 위해 제1 레지스터의 제1 노드(QB)에 저장된 데이터를 제2 레지스터의 제1 노드(QA)로 전달한다.
이때, 현재의 프로그램 동작은 제1 비트가 프로그램되지 않은 셀 중 제2 비트를 프로그램시킬 셀에 대해서만 프로그램하는 동작이며, 페이지 버퍼의 구성상 해당 셀을 프로그램시키기 위해서는 제2 레지스터의 제1 노드(QA)에 로우 레벨 전압을 저장하여야 한다. 따라서, 제2 비트를 프로그램하고자 하는 셀, 즉 제1 레지스터의 제1 노드(QB)에 저장된 데이터가 로우 레벨인 경우가 그 대상이 된다.
이를 위해, 즉, 제1 레지스터의 제1 노드(QB)에 저장된 로우 레벨의 데이터가 그대로 제2 레지스터의 제1 노드(QA)에 저장되도록 하이레벨의 특정 전압(TRANB)을 인가하여 제1 레지스터의 NMOS 트랜지스터(N148)를 턴온시켜 감지라인(SO)에 제1 노드(QB)의 데이터가 인가되도록 한다. 따라서, 상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보가 반전되거나 그대로 유지된다. 즉, 제1 노드(QB)의 데이터가 하이레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)을 턴온시키게 되고, 하이레벨의 특정전압(READA)이 NMOS 트랜지스터(N152)에 인가되면, 제2 레지스터의 제1 노드(QA)에는 하이레벨의 전압이 인가된다. 따라서, 제2 비트를 프로그램하지 않으려는 셀들의 경우에는(도 5의 A case, C case) 제2 레지스터의 제1 노드(QA)에 하이레벨의 전압이 저장된다.
그러나, 제1 노드(QB)의 데이터가 로우레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)는 턴오프 상태이므로, 제1 노드(QA)는 종전에 가진 전압레벨이 그대로 유지된다. 따라서, 제1 비트를 프로그램했던 셀들의 경우에는(도 5의 D case) 앞서 살펴본바와 같이 제2 레지스터의 제1 노드(QA)에 저장되었던 하이레벨의 전압이 유지되며, 제1 비트가 프로그램되지 않았던 셀들의 경우에는(도 5의 B case) 제1 노드(QA)에 저장되었던 로우레벨의 전압이 유지된다.
도 5에서 보다시피 제2 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보이므로, 결과적으로 상기 단계(420)를 거친 결과 제1 비트가 프로그램되지 않았으면서 제2 비트를 프로그램하려는 셀들에 대해서만 제2 레지스터의 제1 노드(QA)에 로우레벨의 전압이 저장된다.
다음으로, 제1 프로그램 동작을 수행한다(단계 430).
프로그램 동작을 위해 선택된 워드라인에 대해서는 ISPP 방법에 따라 고전압이 인가되고 선택되지 않은 워드라인에 대해서는 프로그램 방지전압을 인가하며, 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 감지전압 공급부(130)의 NMOS 트랜지스터(N132)에 특정 전압(VDD+Vth)을 인가한다. 이때, 제2 레 지스터의 제1 노드(QA)에 저장된 데이터에 따라 비트라인의 전압레벨이 달라지는데, 제1 노드(QA)에 저장된 데이터가 로우레벨이면 비트라인의 전압레벨이 OV가 되어 프로그램 동작이 일어나며, 제1 노드(QA)에 저장된 데이터가 하이레벨이면 비트라인의 전압레벨이 하이레벨이되어 프로그램 동작이 일어나지 않는다.
따라서, 앞선 단계(420)에 제2 레지스터의 제1 노드(QA)에 저장된 상태값에 따라 비트라인의 전압레벨이 결정되며, 결국 제1 비트가 프로그램되지 않았으면서 제2 비트를 프로그램하려는 셀들에 대해서만 프로그램 동작이 일어난다.
다음으로, 제1 비트가 프로그램되지 않았으면서 제2 비트를 프로그램하려는 셀들이 모두 프로그램되었는지 검증한다(단계 440).
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하며, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제1 검증 기준 전압(PV1)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 독출전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀이 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제1 검증 기준 전압(PV1)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀이 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제1 검증 기준 전압(PV1)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀이 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 턴온되면, 접지전압이 제2 노드(QAb)에 인가되어 제1 노드(QA)에 하이레벨의 데이터가 저장된다. 그러나, 선택된 셀이 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 로우레벨의 데이터를 그대로 유지하게 된다.
따라서, 제1 비트가 프로그램되지 않은 셀 중 제2 비트를 프로그램시키려던 셀들이 앞선 단계(430)의 프로그램 동작에 의해 프로그램되었다면, 제2 레지스터의 제1 노드(QA)에 하이레벨의 데이터가 저장되게 되므로, 다시는 프로그램 동작이 일어나지 않게 된다. 그러나, 제1 비트가 프로그램되지 않은 셀 중 제2 비트를 프로그램시키려던 셀들 중에 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨의 데이터가 저장되게 되므로 여전히 프로그램 대상이 되며, 이러한 셀들이 없어질때까지 프로그램 동작이 계속된다(단계 450). 참고로, 제1 비트가 프로그램되지 않은 셀 중 제2 비트도 프로그램시키지 않으려는 셀들(A case)의 경우에도 상기 제1 감지 기준 전압레벨에 도달하지는 못하지만, 상기 단계(420)에서 제1 노드(QA)에 저장되었던 하이레벨 값이 그대로 유지되므로 프로그램 대상이 되지 않는다.
다음으로 제1 비트가 프로그램된 제2 셀 그룹 중 특정 셀을 프로그램하기 위해, 해당 셀의 제1 비트가 프로그램되었는지 여부를 확인하고 프로그램된 셀 중 제2 비트를 프로그램할 셀을 특정한다(단계 460).
먼저 특정 셀의 제1 비트가 프로그램되었는지 여부를 확인하는데, 이를 위해 셀의 선택된 워드라인에 대해 도 2의 제1 독출 기준 전압(RD2)을 인가하여 해당 셀의 프로그램 여부를 확인한다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 제2 레지스터에 포함된 래치의 제2 노드(QAb)와 접속된 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 NMOS 트랜지스터(N156)를 통해 제1 노드(QA)를 하이레벨로 초기화시킨다.
상기 단계(420)에서와는 달리 제1 노드(QA)를 하이레벨로 초기화시킨 이유는 본 단계에서는 제1 비트가 프로그램된 셀들만을 프로그램 대상에 포함시키기 위함이며, 후에 자세히 살펴보겠지만 제1 노드(QA)가 하이레벨로 초기화됨에 따라 제1 비트가 프로그램되지 않은 셀들은 제1 독출 기준 전압(RD2)을 기준으로 판단시에 그 문턱전압이 더 낮으므로 감지라인(SO)의 전압레벨에 변화가 없으며, 이로 인해 제1 노드(QA)의 초기화된 값이 그대로 유지되며, 이는 이후 해당셀에 대한 프로그램을 방지하는 역할을 하게 된다.
이어서, 상기 감지라인(SO)이 전원전압레벨로 프리차지된 상태에서 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제1 독출 기준 전압(RD2)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 패스전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀이 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제1 독출 기준 전압(RD2)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀이 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제1 독출 기준 전압(RD2)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀이 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N154)의 게이트에 하이레벨의 전압(READA_N)을 인가하여 턴온시키면, 접지전압이 제1 노드(QA)에 인가되어 제1 노드(QA)에 저장되어 있던 하이레벨의 데이터가 로우레벨의 데이터로 반전되어 저장된다. 그러나, 선택된 셀이 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 하이레벨의 데이터를 그대로 유지하게 된다.
따라서, 도 5와 같이 제1 비트가 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 저장하게 되고, 제1 비트가 프로그램된 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨 데이터를 저장하게 된다.
다음으로, 제1 비트가 프로그램된 셀 중 제2 비트를 프로그램할 셀을 특정하기 위해 제1 레지스터의 제1 노드(QB)에 저장된 데이터를 제2 레지스터의 제1 노드(QA)로 전달한다.
이때, 현재의 프로그램 동작은 제1 비트가 프로그램된 셀 중 제2 비트를 프로그램시킬 셀에 대해서만 프로그램하는 동작이며, 페이지 버퍼의 구성상 해당 셀을 프로그램시키기 위해서는 제2 레지스터의 제1 노드(QA)에 로우 레벨 전압을 저장하여야 한다. 따라서, 제2 비트를 프로그램하고자 하는 셀, 즉 제1 레지스터의 제1 노드(QB)에 저장된 데이터가 로우 레벨인 경우가 그 대상이 된다.
이를 위해, 즉, 제1 레지스터의 제1 노드(QB)에 저장된 로우 레벨의 데이터가 그대로 제2 레지스터의 제1 노드(QA)에 저장되도록 하이레벨의 특정 전압(TRANB)을 인가하여 제1 레지스터의 NMOS 트랜지스터(N148)를 턴온시켜 감지라 인(SO)에 제1 노드(QB)의 데이터가 인가되도록 한다. 따라서, 상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보가 반전되거나 그대로 유지된다. 즉, 제1 노드(QB)의 데이터가 하이레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)을 턴온시키게 되고, 하이레벨의 특정전압(READA)이 NMOS 트랜지스터(N152)에 인가되면, 제2 레지스터의 제1 노드(QA)에는 하이레벨의 전압이 인가된다. 따라서, 제2 비트를 프로그램하지 않으려는 셀들의 경우에는(도 5의 A case, C case) 제2 레지스터의 제1 노드(QA)에 하이레벨의 전압이 저장된다.
그러나, 제1 노드(QB)의 데이터가 로우레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)는 턴오프 상태이므로, 제1 노드(QA)는 종전에 가진 전압레벨이 그대로 유지된다. 따라서, 제1 비트가 프로그램되지 않았던 셀들의 경우에는(도 5의 B case) 앞서 살펴본바와 같이 제2 레지스터의 제1 노드(QA)에 저장되었던 하이레벨의 전압이 유지되며, 제1 비트를 프로그램하였던 셀들의 경우에는(도 5의 D case) 제1 노드(QA)에 저장되었던 로우레벨의 전압이 유지된다.
도 5에서 보다시피 제2 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보이므로, 결과적으로 상기 단계(460)를 거친 결과 제1 비트를 프로그램하였으면서 제2 비트를 프로그램하려는 셀들에 대해서만 제2 레지스터의 제1 노드(QA)에 로우레벨의 전압이 저장된다.
다음으로, 제2 프로그램 동작을 수행한다(단계 470).
프로그램 동작을 위해 선택된 워드라인에 대해서는 ISPP 방법에 따라 고전압 이 인가되고 선택되지 않은 워드라인에 대해서는 프로그램 방지전압을 인가하며, 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 감지전압 공급부(130)의 NMOS 트랜지스터(N132)에 특정 전압(VDD+Vth)을 인가한다. 이때, 제2 레지스터의 제1 노드(QA)에 저장된 데이터에 따라 비트라인의 전압레벨이 달라지는데, 제1 노드(QA)에 저장된 데이터가 로우레벨이면 비트라인의 전압레벨이 OV가 되어 프로그램 동작이 일어나며, 제1 노드(QA)에 저장된 데이터가 하이레벨이면 비트라인의 전압레벨이 하이레벨이되어 프로그램 동작이 일어나지 않는다.
따라서, 앞선 단계(460)에서 제2 레지스터의 제1 노드(QA)에 저장된 상태값에 따라 비트라인의 전압레벨이 결정되며, 결국 제1 비트를 프로그램하였으면서 제2 비트를 프로그램하려는 셀들에 대해서만 프로그램 동작이 일어난다.
다음으로, 제1 비트를 프로그램하였으면서 제2 비트를 프로그램하려는 셀들이 모두 프로그램되었는지 검증한다(단계 480).
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하며, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제3 검증 기준 전압(PV3)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 독출전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하 여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀이 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제3 검증 기준 전압(PV3)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀이 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제3 검증 기준 전압(PV3)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀이 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 턴온되면, 접지전압이 제2 노드(QAb)에 인가되어 제1 노드(QA)에 하이레벨의 데이터가 저장된다. 그러나, 선택된 셀이 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 로우레벨의 데이터를 그대로 유지하게 된다.
따라서, 제1 비트가 프로그램된 셀 중 제2 비트를 프로그램시키려던 셀들이 앞선 단계(470)의 프로그램 동작에 의해 프로그램되었다면, 제2 레지스터의 제1 노드(QA)에 하이레벨의 데이터가 저장되게 되므로, 다시는 프로그램 동작이 일어나지 않게 된다. 그러나, 제1 비트가 프로그램된 셀 중 제2 비트를 프로그램시키려던 셀들 중에 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨의 데 이터가 저장되게 되므로 여전히 프로그램 대상이 되며, 이러한 셀들이 없어질때까지 프로그램 동작이 계속된다(단계 490). 참고로, 나머지 셀들(A, B, C case)의 경우에도 상기 제1 감지 기준 전압레벨에 도달하지는 못하지만, 상기 단계(460)에서 제1 노드(QA)에 저장되었던 하이레벨 값이 그대로 유지되므로 프로그램 대상이 되지 않는다.
정리하면 제1 비트 프로그램 동작 단계(400)를 통해 제1 비트가 프로그램되지 않은 셀(A case)과 제1 비트가 프로그램된 셀(C case)이 형성되며, 상기 제1 프로그램 동작 단계(430)에 의해 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀(B case)이 형성되고, 상기 제2 프로그램 동작 단계(470)에 의해 제1 비트가 프로그램되었으면서 제2 비트도 프로그램된 셀(D case)이 형성된다.
이제 본 발명의 또 다른 실시 예에 따라 3 비트 메모리 셀에서의 프로그램 방법을 설명하기로 한다.
도 6은 본 발명의 또 다른 실시 예에 따른 3 비트 메모리 셀에서의 각 데이터당 셀의 분포 상태와 프로그램 방법을 도시한 도면이다.
3 비트 메모리 셀의 프로그램 방법은 앞서 설명한 2비트 메모리 셀의 프로그램 결과를 그대로 이용한다.
즉 2비트 메모리 셀의 프로그램 결과 '11, 01, 10, 00' 의 데이터를 갖는 셀들이 각각 형성되며, 각 셀들을 프로그램하거나 프로그램하지 않음으로서 도시된 바와 같은 셀들이 형성된다.
즉 '11'이 프로그램된 셀들 중 특정 셀들 만을 프로그램함으로써 '011'(B case)의 데이터가 저장된 셀들이 형성되고, 프로그램되지 않은 셀들은 '111'(A case)의 데이터를 저장하고 있는 것으로 본다. 또한, '01'이 프로그램된 셀들 중 특정 셀들 만을 프로그램함으로써 '001'(D case)의 데이터가 저장된 셀들이 형성되고, 프로그램되지 않은 셀들은 '101'(C case)의 데이터를 저장하고 있는 것으로 본다. 또한, '10'이 프로그램된 셀들 중 특정 셀들 만을 프로그램함으로써 '010'(F case)의 데이터가 저장된 셀들이 형성되고, 프로그램되지 않은 셀들은 '111'(E case)의 데이터를 저장하고 있는 것으로 본다. 또한, '00'이 프로그램된 셀들 중 특정 셀들 만을 프로그램함으로써 '000'(H case)의 데이터가 저장된 셀들이 형성되고, 프로그램되지 않은 셀들은 '100'(G case)의 데이터를 저장하고 있는 것으로 본다.
도시된 전압 (PV1, PV2,...,PV7)은 각 상태들을 검증하는 검증전압으로서, 제1 검증 기준 전압(PV1)은 각 셀들이 제2 상태(B case)를 만족하는지를 검증하는 기준전압이 되며 , 제2 검증 기준 전압(PV2)은 제3 상태(C case), 제3 검증 기준 전압(PV3)은 제4 상태(D case), 제4 검증 기준 전압(PV4)은 제5 상태(E case), 제5 검증 기준 전압(PV5)은 제6 상태(F case), 제6 검증 기준 전압(PV6)은 제7 상태(G case), 제7 검증 기준 전압(PV7)은 제8 상태(H case)를 만족하는지를 검증하는 기준전압이 된다.
또한, 도시된 전압(RD1, RD2,...RD7)은 독출 동작시 각 셀의 상태를 판단하기 위해 선택된 워드라인에 인가되는 독출 기준 전압이다.
제1 독출 기준 전압(RD2)은 제1 비트 및 제2 비트가 프로그램되지 않은 셀인지를 판단하는 기준전압이 되며, 제2 독출 기준 전압(RD4)은 제1 비트가 프로그램되지 않은 경우에 있어서 제2 비트가 프로그램된 셀인지를 판단하는 기준전압, 제3 독출 기준 전압(RD6)은 제1 비트가 프로그램된 경우에 있어서 제2 비트가 프로그램되지 않은 셀인지를 판단하는 기준전압이 된다.
도 7은 본 발명의 또 다른 실시 예에 따른 프로그램 방법을 도시한 도면이다.
본 발명에서는 제3 비트 프로그램 동작시 제1 비트 및 제2 비트가 프로그램되지 않은 셀, 제1 비트는 프로그램되지 않고 제2 비트가 프로그램된 셀, 제1 비트는 프로그램되고 제2 비트는 프로그램되지 않은 셀, 제1 비트 및 제2 비트가 프로그램된 셀들을 서로 구분하여 시간적으로 상이하게 프로그램 동작을 진행한다.
도시된 바와 같이, 제1 비트 및 제2 비트가 프로그램되지 않은 셀을 프로그램하는 제1 프로그램 동작, 제1 비트는 프로그램되지 않고 제2 비트가 프로그램된 셀을 프로그램하는 제2 프로그램 동작, 제1 비트는 프로그램되고 제2 비트는 프로그램되지 않은 셀을 프로그램하는 제3 프로그램 동작, 제1 비트 및 제2 비트가 프로그램된 셀을 프로그램하는 제4 프로그램 동작을 시간적으로 서로 상이하게 진행한다.
이때, 도 7에 도시된 바와 같이, 프로그램전압은 ISPP(Incremental Step Pulse Programming) 방식에 따라 점차적으로 증가되면서 인가되며, 프로그램전압펄 스 인가후에 각 셀들이 프로그램되었는지 여부를 판단하기 위해 검증전압펄스를 인가한다. 따라서, 각 프로그램 동작 구간은 프로그램 전압펄스를 인가하는 구간과 함께 검증전압펄스를 인가하는 구간을 포함한다.
도 8은 본 발명의 또 다른 실시 예에 따른 프로그램 방법을 도시한 흐름도이며, 도 9는 본 발명의 또 다른 실시 예에 따른 프로그램 동작에 의한 각 비트라인 및 레지스터의 전압 레벨을 표시한 표이다.
앞서 살펴본 도 1과 함께 도 8 및 도 9를 참조하여 상세한 프로그램 방법을 살펴보기로 한다.
먼저 특정 메모리 셀에 대해 제1 비트와 제2 비트를 프로그램 시킨다(단계 800, 810).
이 프로그램에 대한 상세한 동작은 앞서 설명한 내용으로 대체한다.
다음으로 제3 비트에 입력할 데이터를 상기 제1 레지스터(140)에 저장시키는 데이터 입력 단계를 수행한다(단계 820).
제3 비트에 입력할 데이터는 '0' 또는 '1'이 되며 앞서 살펴본 도 6의 제1 상태(A case), 제3 상태(C case), 제5 상태(E case), 제7 상태(G case)의 경우에는 '1'이 입력되고, 제2 상태(B case), 제4 상태(D case), 제6 상태(F case), 제8 상태(H case)의 경우에는 '0'이 입력된다. 따라서, 제1 레지스터에 포함된 래치의 제1 노드(QB)에 도 9와 같이 제1, 제3, 제5 및 제7 상태(A, C, E, G case)에 대해서 는 하이 레벨의 전압이 인가되고 제2, 제4, 제6 및 제8 상태(B, D, F, H case)에 대해서는 로우 레벨의 전압이 인가된다. 이와 같은 데이터 입력은 앞서 설명한 데이터 입출력부(170)를 통해 이루어진다. 즉 특정 셀에 대해 제2 비트를 '0'으로 입력하고자 하는 경우 제1 레지스터의 제1 노드(QB)를 로우 레벨로 만들어야 하며, 이는 데이터 입출력부(170)의 제1 데이터 입력단(YAb)에 로우 레벨 신호를 인가하고, 게이트에 하이레벨의 컬럼 선택신호(YAD)를 인가함으로서 이루어진다.
다음으로 제1 비트 및 제2 비트가 프로그램되지 않은 셀인지를 확인하고, 해당 셀들 중 제3 비트를 프로그램할 셀을 특정한다(단계 830).
먼저 특정 셀의 제1 비트 및 제2 비트가 프로그램되지 않은 셀인지 여부를 확인하는데, 이를 위해 셀의 선택된 워드라인에 대해 도 6의 제1 독출 기준 전압(RD2)을 인가하여 해당 셀의 프로그램 여부를 확인한다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 제2 레지스터에 포함된 래치의 제1 노드(QA)와 접속된 NMOS 트랜지스터(N154)의 게이트에 하이레벨의 전압(READA_N)을 인가하여 NMOS 트랜지스터(N156)를 통해 제1 노드(QA)를 로우 레벨로 초기화시킨다.
상기 감지라인(SO)이 전원전압레벨로 프리차지된 상태에서 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제1 독출 기준 전압(RD2)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 패스전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀에 제1 비트 및 제2 비트가 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제1 독출 기준 전압(RD2)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀에 제1 비트 또는 제2 비트가 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제1 독출 기준 전압(RD2)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀에 제1 비트 또는 제2 비트가 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 턴온되면, 접지전압이 제2 노드(QAb)에 인가되어 제1 노드(QA)에 저장되어 있던 로우레벨의 데이터가 하이레벨의 데이터로 반전되어 저장된다.
그러나, 선택된 셀에 제1 비트 및 제2 비트가 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 로우레벨의 데이터를 그대로 유지하게 된다.
따라서, 도 9와 같이 제1 비트 및 제2 비트가 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨 데이터를 저장하게 되고, 제1 비트 또는 제2 비트가 프로그램된 셀들은 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 저장하게 된다.
다음으로, 제1 비트 및 제2 비트가 프로그램되지 않은 셀 중 제3 비트를 프로그램할 셀을 특정하기 위해 제1 레지스터의 제1 노드(QB)에 저장된 데이터를 제2 레지스터의 제1 노드(QA)로 전달한다.
이때, 현재의 프로그램 동작은 제1 비트 및 제2 비트가 프로그램되지 않은 셀 중 제3 비트를 프로그램시킬 셀에 대해서만 프로그램하는 동작이며, 페이지 버퍼의 구성상 해당 셀을 프로그램시키기 위해서는 제2 레지스터의 제1 노드(QA)에 로우 레벨 전압을 저장하여야 한다. 따라서, 제3 비트를 프로그램하고자 하는 셀, 즉 제1 레지스터의 제1 노드(QB)에 저장된 데이터가 로우 레벨인 경우가 그 대상이 된다.
이를 위해, 즉, 제1 레지스터의 제1 노드(QB)에 저장된 로우 레벨의 데이터가 그대로 제2 레지스터의 제1 노드(QA)에 저장되도록 하이레벨의 특정 전압(TRANB)을 인가하여 제1 레지스터의 NMOS 트랜지스터(N148)를 턴온시켜 감지라인(SO)에 제1 노드(QB)의 데이터가 인가되도록 한다. 따라서, 상기 감지라인의 전 압레벨에 따라 제2 레지스터에 저장된 정보가 반전되거나 그대로 유지된다. 즉, 제1 노드(QB)의 데이터가 하이레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)을 턴온시키게 되고, 하이레벨의 특정전압(READA)이 NMOS 트랜지스터(N152)에 인가되면, 제2 레지스터의 제1 노드(QA)에는 하이레벨의 전압이 인가된다. 따라서, 제3 비트를 프로그램하지 않으려는 셀들의 경우(도 6의 A, C, E, G case)에는 제2 레지스터의 제1 노드(QA)에 하이레벨의 전압이 저장된다.
그러나, 제1 노드(QB)의 데이터가 로우레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)는 턴오프 상태이므로, 제1 노드(QA)는 종전에 가진 전압레벨이 그대로 유지된다. 따라서, 제1 비트 또는 제2 비트를 프로그램했던 셀들의 경우(도 6의 D, F, H case)에는 앞서 살펴본바와 같이 제2 레지스터의 제1 노드(QA)에 저장되었던 하이레벨의 전압이 유지되며, 제1 비트 및 제2 비트가 프로그램되지 않았던 셀들의 경우에는(도 6의 B case) 제1 노드(QA)에 저장되었던 로우레벨의 전압이 유지된다.
도 9에서 보다시피 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보이므로, 결과적으로 상기 단계(830)를 거친 결과 제1 비트 및 제2 비트가 프로그램되지 않았으면서 제3 비트를 프로그램하려는 셀들에 대해서만 제2 레지스터의 제1 노드(QA)에 로우레벨의 전압이 저장된다.
다음으로, 제1 프로그램 동작을 수행한다(단계 832).
구체적인 프로그램 동작은 앞선 실시예의 경우와 유사하며 제1 비트 및 제2 비트가 프로그램되지 않았으면서 제3 비트를 프로그램하려는 셀들에 대해서만 프로그램 동작이 일어난다.
다음으로, 제1 비트 및 제2 비트가 프로그램되지 않았으면서 제3 비트를 프로그램하려는 셀들이 모두 프로그램되었는지 검증한다(단계 834).
구체적인 검증 동작은 앞선 실시예의 경우와 유사하며 해당 셀의 문턱전압의 분포가 제1 검증 기준 전압(PV1)보다 큰지 여부를 검증한다.
따라서, 제1 비트 및 제2 비트가 프로그램되지 않은 셀 중 제3 비트를 프로그램시키려던 셀들이 앞선 단계(830)의 프로그램 동작에 의해 프로그램되었다면, 제2 레지스터의 제1 노드(QA)에 하이레벨의 데이터가 저장되게 되므로, 다시는 프로그램 동작이 일어나지 않게 된다. 그러나, 제1 비트 및 제2 비트가 프로그램되지 않은 셀 중 제3 비트를 프로그램시키려던 셀들 중에 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨의 데이터가 저장되게 되므로 여전히 프로그램 대상이 되며, 이러한 셀들이 없어질 때까지 프로그램 동작이 계속된다(단계 836).
다음으로 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀인지를 확인하고, 해당 셀들 중 제3 비트를 프로그램할 셀을 특정한다(단계 840).
먼저 특정 셀의 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀인지를 확인하는데, 이를 위해 셀의 선택된 워드라인에 대해 제1 독출 기준 전압(RD2)을 인가하여 해당 셀의 프로그램 여부를 확인한다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 제2 레지스터에 포함된 래치의 제2 노드(QAb)와 접속된 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 NMOS 트랜지스터(N156)를 통해 제1 노드(QA)를 하이레벨로 초기화시킨다.
상기 단계(830)에서와는 달리 제1 노드(QA)를 하이레벨로 초기화시킨 이유는 본 단계에서는 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀들만을 프로그램 대상에 포함시키기 위함이며, 후에 자세히 살펴보겠지만 제1 노드(QA)가 하이레벨로 초기화됨에 따라 제1 비트 및 제2 비트가 프로그램되지 않은 셀들은 제1 독출 기준 전압(RD2)을 기준으로 판단시에 그 문턱전압이 더 낮으므로 감지라인(SO)의 전압레벨에 변화가 없으며, 이로 인해 제1 노드(QA)의 초기화된 값이 그대로 유지되며, 이는 이후 해당셀에 대한 프로그램을 방지하는 역할을 하게 된다.
이어서, 상기 감지라인(SO)이 전원전압레벨로 프리차지된 상태에서 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제1 독출 기준 전압(RD2)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 패스전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하 여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀의 제1비트 및 제2 비트가 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제1 독출 기준 전압(RD2)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀의 제1 비트 또는 제2 비트가 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제1 독출 기준 전압(RD2)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀의 제1비트 또는 제2 비트가 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N154)의 게이트에 하이레벨의 전압(READA_N)을 인가하여 턴온시키면, 접지전압이 제1 노드(QA)에 인가되어 제1 노드(QA)에 저장되어 있던 하이레벨의 데이터가 로우레벨의 데이터로 반전되어 저장된다. 그러나, 선택된 셀의 제1 비트 및 제2 비트가 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 하이레벨의 데이터를 그대로 유지하게 된다.
따라서, 도 9와 같이 제1 비트 및 제2 비트가 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 저장하게 되고, 제1 비트 또는 제2 비트가 프로그램된 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨 데이터를 저장 하게 된다. 이때, 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀들에 대해서만 제3 비트를 프로그램하는 단계이므로 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀과 제1 비트 및 제2 비트가 프로그램된 셀들을 추가로 걸러내는 작업을 한다. 상기 걸러낼 대상은 모두 제1 비트가 프로그램된 셀들이므로 제2 독출 기준 전압(RD4)을 기준으로 다시 한번 독출 동작을 실시하도록 한다.
이를 위해 셀의 선택된 워드라인에 대해 제2 독출 기준 전압(RD4)을 인가하여 해당 셀의 프로그램 여부를 확인한다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제2 독출 기준 전압(RD4)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 패스전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀의 제1 비트가 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제2 독출 기준 전압(RD4)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀의 제1 비 트가 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제2 독출 기준 전압(RD4)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀의 제1 비트가 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 턴온시키면, 접지전압이 제2 노드(QAb)에 인가되어 제1 노드(QA)에 저장되어 있던 로우레벨의 데이터가 하이레벨의 데이터로 반전되어 저장된다. 그러나, 선택된 셀의 제1 비트가 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 데이터를 그대로 유지하게 된다.
따라서, 도 9와 같이 앞서 설명한 제1 독출 기준 전압(RD2)을 기준으로 독출 동작을 했을때, 제1 비트 및 제2 비트가 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 그대로 유지하게 되고, 제1 비트가 프로그램된 셀들도 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 저장하게 된다.
다음으로, 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀중 제3 비트를 프로그램할 셀을 특정하기 위해 제1 레지스터의 제1 노드(QB)에 저장된 데이터를 제2 레지스터의 제1 노드(QA)로 전달한다.
이때, 현재의 프로그램 동작은 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀중 제3 비트를 프로그램할 셀에 대해서만 프로그램하는 동작이며, 페이지 버퍼의 구성상 해당 셀을 프로그램시키기 위해서는 제2 레지스터의 제1 노드(QA)에 로우 레벨 전압을 저장하여야 한다. 따라서, 제3 비트를 프로그램하고자 하는 셀, 즉 제1 레지스터의 제1 노드(QB)에 저장된 데이터가 로우 레벨인 경우가 그 대상이 된다.
이를 위해, 즉, 제1 레지스터의 제1 노드(QB)에 저장된 로우 레벨의 데이터가 그대로 제2 레지스터의 제1 노드(QA)에 저장되도록 하이레벨의 특정 전압(TRANB)을 인가하여 제1 레지스터의 NMOS 트랜지스터(N148)를 턴온시켜 감지라인(SO)에 제1 노드(QB)의 데이터가 인가되도록 한다. 따라서, 상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보가 반전되거나 그대로 유지된다. 즉, 제1 노드(QB)의 데이터가 하이레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)을 턴온시키게 되고, 하이레벨의 특정전압(READA)이 NMOS 트랜지스터(N152)에 인가되면, 제2 레지스터의 제1 노드(QA)에는 하이레벨의 전압이 인가된다. 따라서, 제3 비트를 프로그램하지 않으려는 셀들의 경우에는(도 6의 A, C, E, G case) 제2 레지스터의 제1 노드(QA)에 하이레벨의 전압이 저장된다.
그러나, 제1 노드(QB)의 데이터가 로우레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)는 턴오프 상태이므로, 제1 노드(QA)는 종전에 가진 전압레벨이 그대로 유지된다. 따라서, 제1 비트가 프로그램되지 않았던 셀들의 경우(도 6의 B case)와 제1 비트를 프로그램하였던 셀들의 경우(도 6의 F, H case)에는 앞서 살펴본 바와 같이 제2 레지스터의 제1 노드(QA)에 저장되었던 하이레벨의 전압이 유지되며, 제1 비트가 프로그램되지 않았으면서 제2 비트를 프로그램한 셀 중 제3 비트를 프로그램하려는 셀들의 제1 노드(QA)에 저장되었던 로우레벨의 전압이 유지된다.
도 9에서 보다시피 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보이므로, 결과적으로 상기 단계(840)를 거친 결과 제1 비트가 프로그램되지 않았으면서 제2 비트를 프로그램한 셀 중 제3 비트를 프로그램하려는 셀들에 대해서만 제2 레지스터의 제1 노드(QA)에 로우레벨의 전압이 저장된다.
다음으로, 제2 프로그램 동작을 수행한다(단계 842).
구체적인 프로그램 동작은 앞선 실시예의 경우와 유사하며 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀중 제3 비트를 프로그램하려는 셀들에 대해서만 프로그램 동작이 일어난다.
다음으로, 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀중 제3 비트를 프로그램하려는 셀들이 모두 프로그램되었는지 검증한다(단계 844).
구체적인 검증 동작은 앞선 실시예의 경우와 유사하며 해당 셀의 문턱전압의 분포가 제2 검증 기준 전압(PV3)보다 큰지 여부를 검증한다.
따라서, 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀중 제3 비트를 프로그램하려는 셀들이 앞선 단계(842)의 프로그램 동작에 의해 프로그램되었다면, 제2 레지스터의 제1 노드(QA)에 하이레벨의 데이터가 저장되게 되므로, 다시는 프로그램 동작이 일어나지 않게 된다. 그러나, 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀중 제3 비트를 프로그램하려는 셀들 중에 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨의 데이터가 저장되게 되므로 여전히 프로그램 대상이 되며, 이러한 셀들이 없어질 때까지 프로그램 동작이 계속된다(단계 846).
다음으로 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀인지를 확인하고, 해당 셀들 중 제3 비트를 프로그램할 셀을 특정한다(단계 850).
먼저 특정 셀의 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀인지를 확인하는데, 이를 위해 셀의 선택된 워드라인에 대해 제2 독출 기준 전압(RD4)을 인가하여 해당 셀의 프로그램 여부를 확인한다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 제2 레지스터에 포함된 래치의 제2 노드(QAb)와 접속된 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 NMOS 트랜지스터(N156)를 통해 제1 노드(QA)를 하이레벨로 초기화시킨다.
상기 단계(830)에서와는 달리 제1 노드(QA)를 하이레벨로 초기화시킨 이유는 앞선 단계(840)에서와 유사하다.
이어서, 상기 감지라인(SO)이 전원전압레벨로 프리차지된 상태에서 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제2 독출 기준 전압(RD4)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 패스전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀의 제1 비트가 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제2 독출 기준 전압(RD4)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀의 제1 비트가 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제2 독출 기준 전압(RD4)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀의 제1 비트가 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N154)의 게이트에 하이레벨 의 전압(READA_N)을 인가하여 턴온시키면, 접지전압이 제1 노드(QA)에 인가되어 제1 노드(QA)에 저장되어 있던 하이레벨의 데이터가 로우레벨의 데이터로 반전되어 저장된다. 그러나, 선택된 셀의 제1 비트가 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 하이레벨의 데이터를 그대로 유지하게 된다.
따라서, 도 9와 같이 제1 비트가 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 저장하게 되고, 제1 비트가 프로그램된 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨 데이터를 저장하게 된다. 이때, 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀들에 대해서만 제3 비트를 프로그램하는 단계이므로 제1 비트 및 제2 비트가 프로그램된 셀들을 추가로 걸러내는 작업을 한다. 상기 걸러낼 대상은 모두 제1 비트 및 제2 비트가 프로그램된 셀들이므로 제3 독출 기준 전압(RD6)을 기준으로 다시 한번 독출 동작을 실시하도록 한다.
이를 위해 셀의 선택된 워드라인에 대해 제3 독출 기준 전압(RD6)을 인가하여 해당 셀의 프로그램 여부를 확인한다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제3 독출 기준 전압(RD6)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 패스전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀의 제1 비트 또는 제2 비트가 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제3 독출 기준 전압(RD6)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택된 셀의 제1 비트 및 제2 비트가 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제3 독출 기준 전압(RD6)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀의 제1 비트 및 제2 비트가 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 턴온시키면, 접지전압이 제2 노드(QAb)에 인가되어 제1 노드(QA)에 저장되어 있던 로우레벨의 데이터가 하이레벨의 데이터로 반전되어 저장된다. 그러나, 선택된 셀의 제1 비트 또는 제2 비트가 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므 로, 제1 노드(QA)는 초기에 저장된 데이터를 그대로 유지하게 된다.
따라서, 도 9와 같이 앞선 제2 독출 기준 전압(RD4)을 기준으로 독출 동작을 했을때, 제1 비트가 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 그대로 유지하게 되고, 제1 비트 및 제2 비트가 프로그램된 셀들도 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 저장하게 된다.
다음으로, 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀중 제3 비트를 프로그램할 셀을 특정하기 위해 제1 레지스터의 제1 노드(QB)에 저장된 데이터를 제2 레지스터의 제1 노드(QA)로 전달한다.
이때, 현재의 프로그램 동작은 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀중 제3 비트를 프로그램할 셀에 대해서만 프로그램하는 동작이며, 페이지 버퍼의 구성상 해당 셀을 프로그램시키기 위해서는 제2 레지스터의 제1 노드(QA)에 로우 레벨 전압을 저장하여야 한다. 따라서, 제3 비트를 프로그램하고자 하는 셀, 즉 제1 레지스터의 제1 노드(QB)에 저장된 데이터가 로우 레벨인 경우가 그 대상이 된다.
이를 위해, 즉, 제1 레지스터의 제1 노드(QB)에 저장된 로우 레벨의 데이터가 그대로 제2 레지스터의 제1 노드(QA)에 저장되도록 하이레벨의 특정 전압(TRANB)을 인가하여 제1 레지스터의 NMOS 트랜지스터(N148)를 턴온시켜 감지라인(SO)에 제1 노드(QB)의 데이터가 인가되도록 한다. 따라서, 상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보가 반전되거나 그대로 유지된다. 즉, 제 1 노드(QB)의 데이터가 하이레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)을 턴온시키게 되고, 하이레벨의 특정전압(READA)이 NMOS 트랜지스터(N152)에 인가되면, 제2 레지스터의 제1 노드(QA)에는 하이레벨의 전압이 인가된다. 따라서, 제3 비트를 프로그램하지 않으려는 셀들의 경우에는(도 6의 A, C, E, G case) 제2 레지스터의 제1 노드(QA)에 하이레벨의 전압이 저장된다.
그러나, 제1 노드(QB)의 데이터가 로우레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)는 턴오프 상태이므로, 제1 노드(QA)는 종전에 가진 전압레벨이 그대로 유지된다. 따라서, 제1 비트가 프로그램되지 않았던 셀들의 경우(도 6의 B, D case)와 제1 비트를 프로그램하였던 셀들의 경우(도 6의 H case)에는 앞서 살펴본 바와 같이 제2 레지스터의 제1 노드(QA)에 저장되었던 하이레벨의 전압이 유지되며, 제1 비트를 프로그램하였으면서 제2 비트가 프로그램되지 않은 셀 중 제3 비트를 프로그램하려는 셀들의 제1 노드(QA)에 저장되었던 로우레벨의 전압이 유지된다.
도 9에서 보다시피 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보이므로, 결과적으로 상기 단계(850)를 거친 결과 제1 비트가 프로그램되지 않았으면서 제2 비트를 프로그램한 셀 중 제3 비트를 프로그램하려는 셀들에 대해서만 제2 레지스터의 제1 노드(QA)에 로우레벨의 전압이 저장된다.
다음으로, 제3 프로그램 동작을 수행한다(단계 852).
구체적인 프로그램 동작은 앞선 실시예의 경우와 유사하며 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀중 제3 비트를 프로그램하려는 셀들에 대해서만 프로그램 동작이 일어난다.
다음으로, 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀중 제3 비트를 프로그램하려는 셀들이 모두 프로그램되었는지 검증한다(단계 854).
구체적인 검증 동작은 앞선 실시예의 경우와 유사하며 해당 셀의 문턱전압의 분포가 제3 검증 기준 전압(PV5)보다 큰지 여부를 검증한다.
따라서, 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀중 제3 비트를 프로그램하려는 셀들이 앞선 단계(852)의 프로그램 동작에 의해 프로그램되었다면, 제2 레지스터의 제1 노드(QA)에 하이레벨의 데이터가 저장되게 되므로, 다시는 프로그램 동작이 일어나지 않게 된다. 그러나, 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀중 제3 비트를 프로그램하려는 셀들 중에 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨의 데이터가 저장되게 되므로 여전히 프로그램 대상이 되며, 이러한 셀들이 없어질 때까지 프로그램 동작이 계속된다(단계 856).
다음으로 제1 비트 및 제2 비트가 프로그램된 셀인지를 확인하고, 해당 셀들 중 제3 비트를 프로그램할 셀을 특정한다(단계 860).
먼저 특정 셀의 제1 비트 및 제2 비트가 프로그램된 셀인지를 확인하는데, 이를 위해 셀의 선택된 워드라인에 대해 제3 독출 기준 전압(RD6)을 인가하여 해당 셀의 프로그램 여부를 확인한다.
구체적으로 살펴보면, 먼저 상기 프리차지부(160)의 PMOS 트랜지스터(P162)에 로우레벨 신호를 인가하여 감지라인(SO)을 전원전압레벨로 프리차지시키고, 상기 제2 레지스터에 포함된 래치의 제2 노드(QAb)와 접속된 NMOS 트랜지스터(N152)의 게이트에 하이레벨의 전압(READA)을 인가하여 NMOS 트랜지스터(N156)를 통해 제1 노드(QA)를 하이레벨로 초기화시킨다.
상기 단계(830)에서와는 달리 제1 노드(QA)를 하이레벨로 초기화시킨 이유는 앞선 단계(840, 850)에서와 유사하다.
이어서, 상기 감지라인(SO)이 전원전압레벨로 프리차지된 상태에서 상기 비트라인 선택부(120)를 통해 특정 비트라인을 선택하고, 상기 감지전압 공급부(130)의 NMOS 트랜지스터(N132)의 게이트에 제1 감지전압(V1)을 인가하여 특정 비트라인을 특정 전압 레벨(V1-Vt)로 프리차지 시킨다. 한편, 이때 선택된 워드라인에는 제3 독출 기준 전압(RD6)이 인가되고, 선택되지 않은 워드라인 및 스트링 선택라인에는 패스전압이 인가된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 로우레벨 전압을 인가하여 턴오프시킴으로서 비트라인의 전압 레벨을 평가하게 되는데, 선택된 셀의 제1 비트 또는 제2 비트가 프로그램되지 않은 경우 즉, 해당 셀의 문턱전압의 분포가 제3 독출 기준 전압(RD6)보다 작은 경우에는 해당 비트라인이 디스차지되고, 선택 된 셀의 제1 비트 및 제2 비트가 프로그램된 경우 즉, 해당 셀의 문턱전압의 분포가 제3 독출 기준 전압(RD6)보다 큰 경우에는 해당 비트라인이 프리차지 전압을 유지하게 된다.
다음으로, 상기 NMOS 트랜지스터(N132)의 게이트에 제2 감지전압(V2)을 인가하는데, 비트라인의 전압이 특정 전압(V2-Vt)보다 작으면 감지라인(SO)은 비트라인의 전압레벨까지 디스차지되고, 비트라인의 전압이 특정 전압(V2-Vt)보다 크면 감지라인(SO)은 전원전압(VCC)을 유지하게 된다. 따라서, 선택된 셀의 제1 비트 및 제2 비트가 프로그램된 경우에는 감지라인(SO)의 전압이 전원전압을 유지하게 되어 NMOS 트랜지스터(N156)을 턴온시키게 되고, 이때 NMOS 트랜지스터(N154)의 게이트에 하이레벨의 전압(READA_N)을 인가하여 턴온시키면, 접지전압이 제1 노드(QA)에 인가되어 제1 노드(QA)에 저장되어 있던 하이레벨의 데이터가 로우레벨의 데이터로 반전되어 저장된다. 그러나, 선택된 셀의 제1 비트 또는 제2 비트가 프로그램되지 않은 경우에는 감지라인(SO)의 전압이 NMOS 트랜지스터(N156)를 턴온시키지 못하므로, 제1 노드(QA)는 초기에 저장된 하이레벨의 데이터를 그대로 유지하게 된다.
따라서, 도 9와 같이 제1 비트 또는 제2 비트가 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 하이레벨 데이터를 저장하게 되고, 제1 비트 및 제2 비트가 프로그램된 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨 데이터를 저장하게 된다.
다음으로, 제1 비트 및 제2 비트가 프로그램된 셀중 제3 비트를 프로그램할 셀을 특정하기 위해 제1 레지스터의 제1 노드(QB)에 저장된 데이터를 제2 레지스터의 제1 노드(QA)로 전달한다.
이때, 현재의 프로그램 동작은 제1 비트 및 제2 비트가 프로그램된 셀중 제3 비트를 프로그램할 셀에 대해서만 프로그램하는 동작이며, 페이지 버퍼의 구성상 해당 셀을 프로그램시키기 위해서는 제2 레지스터의 제1 노드(QA)에 로우 레벨 전압을 저장하여야 한다. 따라서, 제3 비트를 프로그램하고자 하는 셀, 즉 제1 레지스터의 제1 노드(QB)에 저장된 데이터가 로우 레벨인 경우가 그 대상이 된다.
이를 위해, 즉, 제1 레지스터의 제1 노드(QB)에 저장된 로우 레벨의 데이터가 그대로 제2 레지스터의 제1 노드(QA)에 저장되도록 하이레벨의 특정 전압(TRANB)을 인가하여 제1 레지스터의 NMOS 트랜지스터(N148)를 턴온시켜 감지라인(SO)에 제1 노드(QB)의 데이터가 인가되도록 한다. 따라서, 상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보가 반전되거나 그대로 유지된다. 즉, 제1 노드(QB)의 데이터가 하이레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)을 턴온시키게 되고, 하이레벨의 특정전압(READA)이 NMOS 트랜지스터(N152)에 인가되면, 제2 레지스터의 제1 노드(QA)에는 하이레벨의 전압이 인가된다. 따라서, 제3 비트를 프로그램하지 않으려는 셀들의 경우에는(도 6의 A, C, E, G case) 제2 레지스터의 제1 노드(QA)에 하이레벨의 전압이 저장된다.
그러나, 제1 노드(QB)의 데이터가 로우레벨인 경우 제2 레지스터의 NMOS 트랜지스터(N156)는 턴오프 상태이므로, 제1 노드(QA)는 종전에 가진 전압레벨이 그대로 유지된다. 따라서, 제1 비트 또는 제2 비트가 프로그램되지 않았던 셀들의 경 우(도 6의 B, D, F case)에는 앞서 살펴본 바와 같이 제2 레지스터의 제1 노드(QA)에 저장되었던 하이레벨의 전압이 유지되며, 제1 비트 및 제2 비트가 프로그램된 셀 중 제3 비트를 프로그램하려는 셀들의 제1 노드(QA)에 저장되었던 로우레벨의 전압이 그대로 유지된다.
도 9에서 보다시피 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보이므로, 결과적으로 상기 단계(860)를 거친 결과 제1 비트 및 제2 비트를 프로그램한 셀 중 제3 비트를 프로그램하려는 셀들에 대해서만 제2 레지스터의 제1 노드(QA)에 로우레벨의 전압이 저장된다.
다음으로, 제4 프로그램 동작을 수행한다(단계 862).
구체적인 프로그램 동작은 앞선 실시예의 경우와 유사하며 제1 비트 및 제2 비트가 프로그램되었으면서 제3 비트를 프로그램하려는 셀들에 대해서만 프로그램 동작이 일어난다.
다음으로, 제1 비트 및 제2 비트가 프로그램되었으면서 제3 비트를 프로그램하려는 셀들이 모두 프로그램되었는지 검증한다(단계 864).
구체적인 검증 동작은 앞선 실시예의 경우와 유사하며 해당 셀의 문턱전압의 분포가 제4 검증 기준 전압(PV7)보다 큰지 여부를 검증한다.
따라서, 제1 비트 및 제2 비트가 프로그램되었으면서 제3 비트를 프로그램하 려는 셀들이 앞선 단계(862)의 프로그램 동작에 의해 프로그램되었다면, 제2 레지스터의 제1 노드(QA)에 하이레벨의 데이터가 저장되게 되므로, 다시는 프로그램 동작이 일어나지 않게 된다. 그러나, 제1 비트 및 제2 비트가 프로그램되었으면서 제3 비트를 프로그램하려는 셀들 중에 프로그램되지 않은 셀들은 제2 레지스터의 제1 노드(QA)에 로우레벨의 데이터가 저장되게 되므로 여전히 프로그램 대상이 되며, 이러한 셀들이 없어질 때까지 프로그램 동작이 계속된다(단계 866).
정리하면 제1 비트 및 제2 비트 프로그램 동작 단계(800, 810)를 통해 제1 비트 및 제2 비트가 프로그램되지 않은 셀(A case), 제1 비트가 프로그램되지 않았으면서 제2 비트가 프로그램된 셀(C case), 제1 비트가 프로그램되었으면서 제2 비트가 프로그램되지 않은 셀(E case), 제1 비트 및 제2 비트가 프로그램된 셀(G case)이 형성되며, 상기 제1 프로그램 동작 단계(830)에 의해 제1 비트 및 제2 비트가 프로그램되지 않았으면서 제3 비트가 프로그램된 셀(B case), 제1 비트가 프로그램되지 않았으면서 제2 비트 및 제3 비트가 프로그램된 셀(D case), 제1 비트가 프로그램되었으면서 제2 비트는 프로그램되지 않고 제3 비트가 프로그램된 셀(F case), 제1 비트 및 제2 비트가 프로그램되었으면서 제3 비트가 프로그램된 셀(H case)이 형성된다.
도 10a 및 10b 는 본 발명의 또 다른 실시예에 따른 N 비트 메모리 셀에서의 프로그램 방법을 도시한 흐름도이다.
도 10a의 경우는 앞서 살펴보았던 것처럼 M 번째 비트의 프로그램 동작을 각 셀들의 문턱전압 분포가 증가하는 방향으로 진행하는 경우의 실시 예를 도시한 것이고, 도 10b의 경우는 그와 반대로 M 번째 비트의 프로그램 동작을 각 셀들의 문턱전압 분포가 감소하는 방향으로 진행하는 경우의 실시 예를 도시한 것이다.
도 10a의 실시 예를 먼저 살펴보기로 하면, 총 N 비트를 저장하는 메모리 셀의 경우 2N 개의 상태를 저장할 수 있다. 이때, N 비트중 M 번째 비트를 프로그램 한다고 가정하면 해당 비트에 대해서만 총 2M-1 번의 프로그램 동작을 서로 다르게 진행하게 된다. 왜냐하면, M-1 번째 비트의 프로그램 동작에 의해 2M-1 개의 상태가 발생하게 되며, M 번째 비트를 프로그램할 때에는 상기 발생한 2M-1 개의 각 상태에 대해 프로그램 동작을 수행하기 때문이다.
먼저, 총 N 비트를 저장하는 메모리 셀의 경우 M 번째 비트(M < N)를 프로그램한다고 가정하고 M-1 번째 비트까지 프로그램 동작을 완료한다(단계 1010). 이는 첫 번째 비트부터 계속적으로 M-1 번째 비트까지 특정 셀들에 대해 각 셀에 대해 입력된 데이터대로 프로그램되었거나 프로그램되지 않았다는 것을 의미하며, 첫 번째 비트부터 M-1 번째 비트까지 모든 비트가 프로그램되었다는, 즉 모든 비트에 0이 입력되었다는 것을 의미하는 것은 아니다.
다음으로, M 번째 비트를 프로그램하고자 하는지 여부에 대한 정보를 각 셀의 페이지 버퍼에 포함된 제1 레지스터에 저장한다(단계 1020).
다음으로, 앞선 프로그램 단계(1010)에서 M-1 번째 비트까지 프로그램 동작이 완료된 셀들 중 각 셀들의 문턱전압이 증가하는 순서대로 프로그램 동작을 진행한다.
먼저, 각 셀들의 문턱전압이 제일 작은 셀들을 특정한다(단계 1030).
다음으로, 각 셀들의 문턱전압이 제일 작은 셀들 중 M 번째 비트를 프로그램하고자 하는 셀들을 특정한다(단계 1032).
상기 셀들을 특정하는 구체적인 방법은 앞서 설명한 실시예의 내용을 참조하도록 한다.
다음으로 상기 특정된 문턱전압이 제일 작은 셀들 중 M 번째 비트를 프로그램하고자 하는 셀에 대해 제1 프로그램 동작을 진행한다(단계 1034).
다음으로 상기 문턱전압이 제일 작은 셀들 중 M 번째 비트를 프로그램하고자 하는 셀이 모두 프로그램되었는지를 검증하며(단계 1036), 상기 검증결과 모두 프로그램되지 않았다면, 상기 제1 프로그램 동작을 반복한다(단계 1038).
제1 프로그램 동작을 완료한 후 다음으로 문턱전압이 작은 셀들 중 M번째 비트를 프로그램하고자 하는 셀들을 프로그램하며, 계속적으로 문턱전압이 증가하는 순서대로 프로그램 동작을 반복하여 문턱전압이 제일 큰 2M-1 번째 셀들에 대해서 까지 프로그램 동작을 반복한다(단계 1040). 여기서 Last는 문턱전압이 제일 큰 2M-1 번째 셀을 나타낸다.
이제 도 10b의 실시 예를 살펴보기로 한다.
먼저, 총 N 비트를 저장하는 메모리 셀의 경우 M 번째 비트(M < N)를 프로그램한다고 가정하고 M-1 번째 비트까지 프로그램 동작을 완료한다(단계 1050). 이는 첫 번째 비트부터 계속적으로 M-1 번째 비트까지 특정 셀들에 대해 각 셀에 대해 입력된 데이터대로 프로그램되었거나 프로그램되지 않았다는 것을 의미하며, 첫 번째 비트부터 M-1 번째 비트까지 모든 비트가 프로그램되었다는, 즉 모든 비트에 0이 입력되었다는 것을 의미하는 것은 아니다.
다음으로, M 번째 비트를 프로그램하고자 하는지 여부에 대한 정보를 각 셀의 페이지 버퍼에 포함된 제1 레지스터에 저장한다(단계 1060).
다음으로, 앞선 프로그램 단계(1050)에서 M-1 번째 비트까지 프로그램 동작이 완료된 셀들 중 각 셀들의 문턱전압이 감소하는 순서대로 프로그램 동작을 진행한다.
먼저, 각 셀들의 문턱전압이 제일 큰 셀들을 특정한다(단계 1070).
다음으로, 각 셀들의 문턱전압이 제일 큰 셀들 중 M 번째 비트를 프로그램하고자 하는 셀들을 특정한다(단계 1072).
상기 셀들을 특정하는 구체적인 방법은 앞서 설명한 실시예의 내용을 참조하도록 한다.
다음으로 상기 특정된 문턱전압이 제일 큰 셀들 중 M 번째 비트를 프로그램하고자 하는 셀에 대해 제1 프로그램 동작을 진행한다(단계 1074).
다음으로 상기 문턱전압이 제일 큰 셀들 중 M 번째 비트를 프로그램하고자 하는 셀이 모두 프로그램되었는지를 검증하며(단계 1076), 상기 검증결과 모두 프 로그램되지 않았다면, 상기 제1 프로그램 동작을 반복한다(단계 1078).
제1 프로그램 동작을 완료한 후 다음으로 문턱전압이 높은 셀들 중 M번째 비트를 프로그램하고자 하는 셀들을 프로그램하며, 계속적으로 문턱전압이 감소하는 순서대로 프로그램 동작을 반복하여 문턱전압이 제일 작은 2M-1 번째 셀들에 대해서 까지 프로그램 동작을 반복한다(단계 1080).
상술한 구성에 의하여, 기존에 사용되던 듀얼 레지스터 형태의 페이지 버퍼외에 추가적인 레지스터가 없이도 불휘발성 메모리장치에 대하여 멀티비트 프로그램 동작을 원활히 할 수 있게 되므로, 추가 레지스터에 소요되는 비용 또는 면적등의 면에서 이득을 얻을 수 있다.

Claims (29)

  1. 특정 셀들에 대하여 제1 비트의 프로그램 동작을 완료하는 단계와,
    상기 단계에서 프로그램되지 않은 제1 셀그룹과, 상기 단계에서 프로그램된 제2 셀그룹 중 제2 비트를 프로그램할 셀에 대하여 해당 셀과 접속된 페이지 버퍼의 제1 레지스터에 프로그램 정보를 저장하는 단계와,
    각 셀의 제1 비트가 프로그램되지 않은 셀인지를 판단하는 단계와,
    각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀을 특정하는 단계와,
    상기 특정된 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀을 프로그램하는 제1 프로그램 동작 단계와,
    각 셀의 제1 비트가 프로그램된 셀인지를 판단하는 단계와,
    각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀을 특정하는 단계와,
    상기 특정된 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀을 프로그램하는 제2 프로그램 동작 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  2. 제1항에 있어서, 각 프로그램 동작시 선택된 워드라인에 인가되는 프로그램 전압은 ISPP(Incremental Step Pulse Programming) 방식에 따라 점차적으로 증가하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  3. 제1항에 있어서, 상기 각 셀의 제1 비트가 프로그램되지 않은 셀인지를 판단하는 단계는
    상기 제1 프로그램 동작시 해당 비트라인에 연결된 셀이 프로그램되도록 감지라인에 로우레벨 전압을 인가하여 로우레벨 데이터를 각 셀의 제2 레지스터에 저장하는 단계와,
    각 셀의 워드라인에 대하여 제1 독출 기준 전압을 인가하는 단계와,
    각 셀과 연결된 특정 비트라인을 특정 전압으로 프리차지하고 해당 비트라인의 전압 레벨을 평가하여 해당 셀의 문턱전압이 제1 독출 기준 전압보다 작은지를 판단하는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제1 독출 기준 전압보다 작은 경우 제2 레지스터에 저장된 정보를 유지시키는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제1 독출 기준 전압보다 큰 경우 제2 레지스터에 저장된 정보를 반전시키는 단계를 더 포함하는 것을 특징으로하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  4. 제1항에 있어서, 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀을 특정하는 단계는
    상기 제2 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보를 페이지 버퍼의 감지라인에 인가하는 단계와,
    상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보를 반전시키거나 그대로 유지하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  5. 제4항에 있어서, 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보인 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  6. 제1항에 있어서, 상기 제1 프로그램 동작 단계는 상기 제1 셀그룹 중 제2 비트를 프로그램할 셀이 모두 프로그램되었는지를 판단하는 검증 단계와,
    상기 검증 결과 프로그램되지 않은 셀에 대해서는 상기 제1 프로그램 동작 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  7. 제1항에 있어서, 상기 각 셀의 제1 비트가 프로그램된 셀인지를 판단하는 단계는
    상기 제2 프로그램 동작시 해당 비트라인에 연결된 셀이 프로그램되지 않도 록 감지라인에 하이레벨 전압을 인가하여 각 셀의 제2 레지스터에 하이레벨 데이터를 저장하는 단계와,
    각 셀의 워드라인에 대하여 제1 독출 기준 전압을 인가하는 단계와,
    각 셀과 연결된 특정 비트라인을 특정 전압으로 프리차지하고 해당 비트라인의 전압 레벨을 평가하여 해당 셀의 문턱전압이 제1 독출 기준 전압보다 큰지를 판단하는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제1 독출 기준 전압보다 작은 경우 제2 레지스터에 저장된 정보를 유지시키는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제1 독출 기준 전압보다 큰 경우 제2 레지스터에 저장된 정보를 반전시키는 단계를 더 포함하는 것을 특징으로하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  8. 제1항에 있어서, 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀을 특정하는 단계는
    상기 제2 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보를 페이지 버퍼의 감지라인에 인가하는 단계와,
    상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보를 반전시키거나 그대로 유지하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  9. 제8항에 있어서, 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보인 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  10. 제1항에 있어서, 상기 제2 프로그램 동작 단계는 상기 제2 셀그룹 중 제2 비트를 프로그램할 셀이 모두 프로그램되었는지를 판단하는 검증 단계와,
    상기 검증 결과 프로그램되지 않은 셀에 대해서는 상기 제2 프로그램 동작 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  11. 제1항에 있어서, 상기 제1 비트와 제2 비트에 대한 프로그램 동작 단계를 완료한 후 제1 비트 및 제2 비트가 프로그램되지 않은 제3 셀그룹과, 제1 비트가 프로그램되지 않고 제2 비트가 프로그램된 제4 셀그룹과, 제1 비트가 프로그램되고 제2 비트가 프로그램되지 않은 제5 셀그룹과, 제1 비트 및 제2 비트가 프로그램된 제6 셀그룹 중 제3 비트를 프로그램할 셀에 대하여 해당 셀과 접속된 페이지 버퍼의 제1 레지스터에 프로그램 정보를 저장하는 단계와,
    각 셀의 제1 비트 및 제2 비트가 프로그램되지 않은 셀인지를 판단하는 단계와,
    각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제3 셀그룹 중 제3 비트를 프로그램할 셀을 특정하는 단계와,
    상기 특정된 상기 제3 셀그룹 중 제3 비트를 프로그램할 셀을 프로그램하는 제3 프로그램 동작 단계와,
    각 셀의 제1 비트가 프로그램되지 않고 제2 비트가 프로그램된 셀인지를 판단하는 단계와,
    각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제4 셀그룹 중 제3 비트를 프로그램할 셀을 특정하는 단계와,
    상기 특정된 상기 제4 셀그룹 중 제3 비트를 프로그램할 셀을 프로그램하는 제4 프로그램 동작 단계와,
    각 셀의 제1 비트가 프로그램되고 제2 비트가 프로그램되지 않은 셀인지를 판단하는 단계와,
    각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제5 셀그룹 중 제3 비트를 프로그램할 셀을 특정하는 단계와,
    상기 특정된 상기 제5 셀그룹 중 제3 비트를 프로그램할 셀을 프로그램하는 제5 프로그램 동작 단계와,
    각 셀의 제1 비트 및 제2 비트가 프로그램된 셀인지를 판단하는 단계와,
    각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버버퍼의 제2 레지스터에 전달하여 상기 제6 셀그룹 중 제3 비트를 프로그램할 셀을 특정하는 단계와,
    상기 특정된 상기 제6 셀그룹 중 제3 비트를 프로그램할 셀을 프로그램하는 제6 프로그램 동작 단계
    를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  12. 제11항에 있어서, 상기 각 셀의 제1 비트 및 제2 비트가 프로그램되지 않은 셀인지를 판단하는 단계는
    상기 제3 프로그램 동작시 해당 비트라인에 연결된 셀이 프로그램되도록 감지라인에 로우레벨 전압을 인가하여 각 셀의 제2 레지스터에 로우레벨 데이터를 저장하는 단계와,
    각 셀의 워드라인에 대하여 제3 독출 기준 전압을 인가하는 단계와,
    각 셀과 연결된 특정 비트라인을 특정 전압으로 프리차지하고 해당 비트라인의 전압 레벨을 평가하여 해당 셀의 문턱전압이 제3 독출 기준 전압보다 작은지를 판단하는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제3 독출 기준 전압보다 작은 경우 제2 레지스터에 저장된 정보를 유지시키는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제3 독출 기준 전압보다 큰 경우 제2 레지스터에 저장된 정보를 반전시키는 단계를 더 포함하는 것을 특징으로하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  13. 제11항에 있어서, 상기 제3 셀그룹 중 제3 비트를 프로그램할 셀을 특정하는 단계는
    상기 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보를 페이지 버퍼의 감지라인에 인가하는 단계와,
    상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보를 반전시키거나 그대로 유지하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  14. 제13항에 있어서, 상기 제3 셀그룹 중 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보인 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  15. 제11항에 있어서, 상기 제3 프로그램 동작 단계는 상기 제3 셀그룹 중 제3 비트를 프로그램할 셀이 모두 프로그램되었는지를 판단하는 검증 단계와,
    상기 검증 결과 프로그램되지 않은 셀에 대해서는 상기 제3 프로그램 동작 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  16. 제11항에 있어서, 상기 각 셀의 제1 비트가 프로그램되지 않고 제2 비트가 프로그램된 셀인지를 판단하는 단계는
    상기 제4 프로그램 동작시 해당 비트라인에 연결된 셀이 프로그램되지 않도록 감지라인에 하이레벨 전압을 인가하여 각 셀의 제2 레지스터에 하이레벨 데이터를 저장하는 단계와,
    각 셀의 워드라인에 대하여 제3 독출 기준 전압을 인가하는 단계와,
    각 셀과 연결된 특정 비트라인을 특정 전압으로 프리차지하고 해당 비트라인의 전압 레벨을 평가하여 해당 셀의 문턱전압이 제3 독출 기준 전압보다 큰지를 판단하는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제3 독출 기준 전압보다 작은 경우 제2 레지스터에 저장된 정보를 유지시키는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제3 독출 기준 전압보다 큰 경우 제2 레지스터에 저장된 정보를 반전시키는 단계와,
    각 셀의 워드라인에 대하여 제4 독출 기준 전압을 인가하는 단계와,
    각 셀과 연결된 특정 비트라인을 특정 전압으로 프리차지하고 해당 비트라인의 전압 레벨을 평가하여 해당 셀의 문턱전압이 제4 독출 기준 전압보다 작은지를 판단하는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제4 독출 기준 전압보다 작은 경우 제2 레지스터에 저장된 정보를 유지시키는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제4 독출 기준 전압보다 큰 경우 제2 레지스터에 저장된 정보를 반전시키는 단계를 더 포함하는 것을 특징으로하는 불휘 발성 메모리 장치의 멀티비트 프로그램 방법.
  17. 제11항에 있어서, 상기 제4 셀그룹 중 제3 비트를 프로그램할 셀을 특정하는 단계는 상기 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보를 페이지 버퍼의 감지라인에 인가하는 단계와,
    상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보를 반전시키거나 그대로 유지하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  18. 제14항에 있어서, 상기 제4 셀그룹 중 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보인 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  19. 제11항에 있어서, 상기 제4 프로그램 동작 단계는 상기 제4 셀그룹 중 제3 비트를 프로그램할 셀이 모두 프로그램되었는지를 판단하는 검증 단계와,
    상기 검증 결과 프로그램되지 않은 셀에 대해서는 상기 제3 프로그램 동작 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  20. 제11항에 있어서, 상기 각 셀의 제1 비트가 프로그램되고 제2 비트가 프로그 램되지 않은 셀인지를 판단하는 단계는
    상기 제5 프로그램 동작시 해당 비트라인에 연결된 셀이 프로그램되지 않도록 감지라인에 하이레벨 전압을 인가하여 각 셀의 제2 레지스터에 하이레벨 데이터를 저장하는 단계와,
    각 셀의 워드라인에 대하여 제4 독출 기준 전압을 인가하는 단계와,
    각 셀과 연결된 특정 비트라인을 특정 전압으로 프리차지하고 해당 비트라인의 전압 레벨을 평가하여 해당 셀의 문턱전압이 제4 독출 기준 전압보다 큰지를 판단하는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제4 독출 기준 전압보다 작은 경우 제2 레지스터에 저장된 정보를 유지시키는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제4 독출 기준 전압보다 큰 경우 제2 레지스터에 저장된 정보를 반전시키는 단계와,
    각 셀의 워드라인에 대하여 제5 독출 기준 전압을 인가하는 단계와,
    각 셀과 연결된 특정 비트라인을 특정 전압으로 프리차지하고 해당 비트라인의 전압 레벨을 평가하여 해당 셀의 문턱전압이 제5 독출 기준 전압보다 작은지를 판단하는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제5 독출 기준 전압보다 작은 경우 제2 레지스터에 저장된 정보를 유지시키는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제5 독출 기준 전압보다 큰 경우 제2 레지스터에 저장된 정보를 반전시키는 단계를 더 포함하는 것을 특징으로하는 불휘 발성 메모리 장치의 멀티비트 프로그램 방법.
  21. 제11항에 있어서, 상기 제5 셀그룹 중 제3 비트를 프로그램할 셀을 특정하는 단계는 상기 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보를 페이지 버퍼의 감지라인에 인가하는 단계와,
    상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보를 반전시키거나 그대로 유지하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  22. 제21항에 있어서, 상기 제5 셀그룹 중 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보인 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  23. 제11항에 있어서, 상기 제5 프로그램 동작 단계는 상기 제5 셀그룹 중 제3 비트를 프로그램할 셀이 모두 프로그램되었는지를 판단하는 검증 단계와,
    상기 검증 결과 프로그램되지 않은 셀에 대해서는 상기 제3 프로그램 동작 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  24. 제11항에 있어서, 상기 각 셀의 제1 비트 및 제2 비트가 프로그램된 셀인지 를 판단하는 단계는
    상기 제6 프로그램 동작시 해당 비트라인에 연결된 셀이 프로그램되지 않도록 감지라인에 하이레벨 전압을 인가하여 각 셀의 제2 레지스터에 하이레벨 데이터를 저장하는 단계와,
    각 셀의 워드라인에 대하여 제5 독출 기준 전압을 인가하는 단계와,
    각 셀과 연결된 특정 비트라인을 특정 전압으로 프리차지하고 해당 비트라인의 전압 레벨을 평가하여 해당 셀의 문턱전압이 제5 독출 기준 전압보다 큰지를 판단하는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제5 독출 기준 전압보다 작은 경우 제2 레지스터에 저장된 정보를 유지시키는 단계와,
    상기 판단 결과 해당 셀의 문턱전압이 제5 독출 기준 전압보다 큰 경우 제2 레지스터에 저장된 정보를 반전시키는 단계를 더 포함하는 것을 특징으로하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  25. 제11항에 있어서, 상기 제6 셀그룹 중 제3 비트를 프로그램할 셀을 특정하는 단계는 상기 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보를 페이지 버퍼의 감지라인에 인가하는 단계와,
    상기 감지라인의 전압레벨에 따라 제2 레지스터에 저장된 정보를 반전시키거나 그대로 유지하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  26. 제25항에 있어서, 상기 제6 셀그룹 중 제3 비트를 프로그램할 셀의 제1 레지스터에 저장된 프로그램 정보는 상기 제2 레지스터에 저장된 정보를 유지시키는 정보인 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  27. 제11항에 있어서, 상기 제6 프로그램 동작 단계는 상기 제6 셀그룹 중 제3 비트를 프로그램할 셀이 모두 프로그램되었는지를 판단하는 검증 단계와,
    상기 검증 결과 프로그램되지 않은 셀에 대해서는 상기 제3 프로그램 동작 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  28. 특정 셀들에 대하여 제1 비트부터 제M-1 비트까지의 프로그램 동작을 완료하는 단계와,
    M 번째 비트를 프로그램하고자 하는지 여부에 대한 정보를 각 셀과 접속된 페이지 버퍼의 제1 레지스터에 저장하는 단계와,
    상기 제M-1 비트까지 프로그램 동작이 완료된 셀들 중 문턱전압이 제일 작은 셀 그룹에 대하여, 각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버퍼의 제2 레지스터에 전달하여 상기 제M 비트를 프로그램할 셀을 특정하는 단계와,
    상기 특정된 제M 비트를 프로그램할 셀을 프로그램하는 프로그램 동작 단계 와,
    상기 제M-1 비트까지 프로그램 동작이 완료된 셀들의 각 문턱전압이 증가하는 순서에 따라 각 셀그룹별로 상기 제M 비트를 프로그램할 셀을 특정하고 특정된 셀을 프로그램하는 단계를 반복수행하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
  29. 특정 셀들에 대하여 제1 비트부터 제M-1 비트까지의 프로그램 동작을 완료하는 단계와,
    M 번째 비트를 프로그램하고자 하는지 여부에 대한 정보를 각 셀과 접속된 페이지 버퍼의 제1 레지스터에 저장하는 단계와,
    상기 제M-1 비트까지 프로그램 동작이 완료된 셀들 중 문턱전압이 제일 큰 셀 그룹에 대하여, 각 셀의 제1 레지스터에 저장된 프로그램 정보를 각 셀과 접속된 페이지 버퍼의 제2 레지스터에 전달하여 상기 제M 비트를 프로그램할 셀을 특정하는 단계와,
    상기 특정된 제M 비트를 프로그램할 셀을 프로그램하는 프로그램 동작 단계와,
    상기 제M-1 비트까지 프로그램 동작이 완료된 셀들의 각 문턱전압이 감소하는 순서에 따라 각 셀그룹별로 상기 제M 비트를 프로그램할 셀을 특정하고 특정된 셀을 프로그램하는 단계를 반복수행하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 멀티비트 프로그램 방법.
KR1020060136361A 2006-12-28 2006-12-28 불휘발성 메모리장치의 멀티비트 프로그램 방법 KR100816121B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060136361A KR100816121B1 (ko) 2006-12-28 2006-12-28 불휘발성 메모리장치의 멀티비트 프로그램 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060136361A KR100816121B1 (ko) 2006-12-28 2006-12-28 불휘발성 메모리장치의 멀티비트 프로그램 방법

Publications (1)

Publication Number Publication Date
KR100816121B1 true KR100816121B1 (ko) 2008-03-21

Family

ID=39411475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060136361A KR100816121B1 (ko) 2006-12-28 2006-12-28 불휘발성 메모리장치의 멀티비트 프로그램 방법

Country Status (1)

Country Link
KR (1) KR100816121B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679358B1 (ko) 2009-08-14 2016-11-24 삼성전자 주식회사 플래시 메모리 장치, 이의 프로그램 방법 및 독출 방법
KR20200077566A (ko) * 2017-12-20 2020-06-30 실리콘 스토리지 테크놀로지 인크 플래시 메모리에서의 프로그래밍 동안 플로팅 게이트와 플로팅 게이트 간의 커플링 효과들을 최소화시키기 위한 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014873A (ja) 1999-06-30 2001-01-19 Nec Corp 不揮発性半導体記憶装置
JP2001325796A (ja) 2000-03-08 2001-11-22 Toshiba Corp 不揮発性半導体記憶装置
KR20050094569A (ko) * 2004-03-23 2005-09-28 주식회사 하이닉스반도체 멀티 레벨 낸드 플래시 메모리 셀의 독출 방법 및 회로
KR20060130984A (ko) * 2005-06-14 2006-12-20 주식회사 하이닉스반도체 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014873A (ja) 1999-06-30 2001-01-19 Nec Corp 不揮発性半導体記憶装置
JP2001325796A (ja) 2000-03-08 2001-11-22 Toshiba Corp 不揮発性半導体記憶装置
KR20050094569A (ko) * 2004-03-23 2005-09-28 주식회사 하이닉스반도체 멀티 레벨 낸드 플래시 메모리 셀의 독출 방법 및 회로
KR20060130984A (ko) * 2005-06-14 2006-12-20 주식회사 하이닉스반도체 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679358B1 (ko) 2009-08-14 2016-11-24 삼성전자 주식회사 플래시 메모리 장치, 이의 프로그램 방법 및 독출 방법
KR20200077566A (ko) * 2017-12-20 2020-06-30 실리콘 스토리지 테크놀로지 인크 플래시 메모리에서의 프로그래밍 동안 플로팅 게이트와 플로팅 게이트 간의 커플링 효과들을 최소화시키기 위한 시스템 및 방법
KR102352387B1 (ko) * 2017-12-20 2022-01-17 실리콘 스토리지 테크놀로지 인크 플래시 메모리에서의 프로그래밍 동안 플로팅 게이트와 플로팅 게이트 간의 커플링 효과들을 최소화시키기 위한 시스템 및 방법

Similar Documents

Publication Publication Date Title
US5570315A (en) Multi-state EEPROM having write-verify control circuit
US9263146B2 (en) Flash multi-level threshold distribution scheme
JP4170952B2 (ja) 半導体記憶装置
US7978532B2 (en) Erase method of flash memory device
KR100816155B1 (ko) 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 멀티레벨 셀 프로그램 방법
KR100885784B1 (ko) 불휘발성 메모리 장치의 소프트 프로그램 방법
US7561474B2 (en) Program verifying method and programming method of flash memory device
US8238163B2 (en) Nonvolatile memory device
JP2009070539A (ja) 不揮発性メモリ装置及びそのマルチレベルセルプログラム方法
US8351270B2 (en) Nonvolatile memory device and method of programming the device
KR100933860B1 (ko) 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법
KR101044488B1 (ko) 불휘발성 메모리 장치와 그를 이용한 불휘발성 메모리 장치의 프로그램 방법 및 검증 방법
KR100938044B1 (ko) 불휘발성 메모리 장치 및 그 멀티 레벨 셀 프로그램 방법
KR100816121B1 (ko) 불휘발성 메모리장치의 멀티비트 프로그램 방법
CN106710617B (zh) 非易失性存储器件
JP5284391B2 (ja) 半導体記憶装置
JP2007103010A (ja) 不揮発性半導体記憶装置

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee