KR101039962B1 - 불휘발성 메모리 소자 및 프로그램 방법 - Google Patents

불휘발성 메모리 소자 및 프로그램 방법 Download PDF

Info

Publication number
KR101039962B1
KR101039962B1 KR1020090058464A KR20090058464A KR101039962B1 KR 101039962 B1 KR101039962 B1 KR 101039962B1 KR 1020090058464 A KR1020090058464 A KR 1020090058464A KR 20090058464 A KR20090058464 A KR 20090058464A KR 101039962 B1 KR101039962 B1 KR 101039962B1
Authority
KR
South Korea
Prior art keywords
program
current
verification
latch
fail
Prior art date
Application number
KR1020090058464A
Other languages
English (en)
Other versions
KR20110001073A (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 KR1020090058464A priority Critical patent/KR101039962B1/ko
Priority to US12/826,064 priority patent/US8270215B2/en
Priority to JP2010147827A priority patent/JP2011008910A/ja
Publication of KR20110001073A publication Critical patent/KR20110001073A/ko
Application granted granted Critical
Publication of KR101039962B1 publication Critical patent/KR101039962B1/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
    • 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
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Abstract

본 발명은 메모리 셀들이 연결되는 복수개의 비트라인들 각각에 연결되고, 데이터 저장을 위한 제 1 및 제 2 래치를 포함하는 페이지 버퍼들을 포함하는 페이지 버퍼부; 상기 제 2 래치의 제 1 노드가 공통 연결되는 검증라인의 전류를 센싱하고, 변경되는 기준전류와 비교하여 페일 비트를 카운팅하는 페일 비트 카운팅부; 및 상기 제 1 래치로 다음번 프로그램을 위한 데이터를 입력시키고, 상기 페일 카운팅부에서 카운팅한 페일 비트의 개수에 따라 에러 보정 여부를 판단하여, 그 판단 결과에 따라 프로그램 동작을 제어하는 제어부를 포함하는 불휘발성 메모리 소자와 프로그램 방법을 제공한다.
프로그램, 캐시 프로그램, ECC

Description

불휘발성 메모리 소자 및 프로그램 방법{Non volatile memory device and method of programming the same}
본 발명은 불휘발성 메모리 소자 및 프로그램 방법에 관한 것이다.
불휘발성 메모리 소자는 데이터의 기록 및 삭제가 자유로운 램(RAM; Random Access Memory)의 장점과 전원의 공급 없이도 저장된 데이터를 보존하는 롬(ROM; Read Only Memory)의 장점을 동시에 지니고 있어 최근 디지털 카메라, PDA(Personal Digital Assistant), MP3 플레이어 등 휴대용 전자기기의 저장매체로 널리 채택되고 있다.
도 1a는 불휘발성 메모리 소자이다.
도 1a를 참조하면, 불휘발성 메모리 소자(100)는 메모리 셀 어레이(110), 페이지 버퍼부(120) 및 제어부(130)를 포함한다.
메모리 셀 어레이(110)는 복수개의 메모리 블록들을 포함하고, 메모리 블록들은 복수개의 메모리 셀들을 포함한다. 메모리 셀들은 비트라인(Bit Line; BL)과 워드라인(Word Line; WL)에 연결된다.
페이지 버퍼부(120)는 하나 이상의 비트라인에 연결되는 페이지 버퍼(PB)들 을 포함하고, 페이지 버퍼(PB)들에 공통 연결되는 검증라인(nWDo)을 통해 검증신호가 출력된다.
제어부(130)는 불휘발성 메모리 소자(100)의 동작 제어를 위한 제어신호를 출력하고, 또한 검증신호를 이용해서 프로그램 패스와 페일 여부를 판단한다. 그리고 에러보정을 위한 ECC(131)를 포함한다.
ECC(Error Correcting Code)(131)는 프로그램 검증이나 데이터 독출시에 설정된 개수 이상의 에러에 대해서 에러 보정을 수행한다.
ECC(131)에 의해서 불휘발성 메모리 소자(100)는 지능형 검증(Intelligent Verify)을 수행할 수 있다. 지능형 검증은 프로그램 검증시에 페일 비트의 개수가 ECC 보정이 가능한 정도일 때는 더 이상의 프로그램을 진행하지 않도록 하는 방법으로 프로그램 시간을 단축할 수 있다.
상기의 불휘발성 메모리 소자(100)의 페이지 버퍼를 좀 더 상세히 설명하면 다음과 같다.
도 1b는 도 1a의 페이지 버퍼를 나타낸다.
도 1b에서 메모리 셀 어레이(110)는 다수의 메모리 블록들(BK0 내지 KBn)을 포함하고, 각각의 메모리 블록은 복수개의 셀 스트링(CS; Cell String)들을 포함한다. 그리고 각각의 셀 스트링(CS)들은 비트라인(Bit Line; BLE 또는 BLO)에 연결된다.
각각의 셀 스트링(CS)은 드레인 선택 트랜지스터(Drain Select Transistor; DST)와 소오스 선택 트랜지스터(Source Select Transistor; SST)의 사이에 제 1 내 지 제 32 메모리 셀(C0 내지 C31)이 직렬로 연결된다.
드레인 선택 트랜지스터(DST)의 게이트에는 드레인 선택 라인(Drain Select Line; DSL)이 연결되고, 소오스 선택 트랜지스터(SST)의 게이트에는 소오스 선택 라인(Source Select Line; SSL)이 연결된다.
그리고 제 1 내지 제 32 메모리 셀(C0 내지 C31)의 게이트에는 각각 제 1 내지 제 32 워드라인(WL1 내지 WL31)이 연결된다.
불휘발성 메모리 소자(100)는 프로그램을 수행할 때 페이지 단위로 프로그램을 수행한다. 이때 메모리 셀에 저장할 수 있는 비트의 개수가 하나인 싱글 레벨 셀(Single Level Cell)은 하나의 페이지가 하나의 워드라인에 대응된다.
그리고 메모리 셀에 저장할 수 있는 비트의 개수가 2개 이상인 멀티 레벨 셀(Multi Level Cell)의 경우에는 하나의 워드라인은 물리적인 페이지에 대응되고, 하나의 워드라인에는 저장될 수 있는 비트의 개수에 따라서 논리적인 페이지가 복수개 포함된다. 예를 들어 3비트를 저장할 수 있는 경우 하나의 물리 페이지는 3개의 논리 페이지를 포함한다.
상기 드레인 선택 트랜지스터(DST)의 드레인단에는 비트라인(BLE 또는 BLO)이 연결되고, 소오스 선택 트랜지스터(SST)의 소오스단에는 공통 소오스 라인(Source Line; SL)이 연결된다.
한편, 페이지 버퍼부(120)는 하나 이상의 비트라인과 연결되는 페이지 버퍼(PB)들이 연결된다. 각각의 페이지 버퍼(PB)는 각각 비트라인 선택부(121), 센싱부(122), 프리차지부(123), 캐시래치와 메인 래치(L1, L2)를 포함한다.
비트라인 선택부(121)는 이븐 비트라인(BLE)과 오드 비트라인(BLO) 중에서 하나를 선택하여 제 1 센싱노드(SO1)와 연결하고, 센싱부(122)는 제 1 센싱노드(SO1)와 연결되는 비트라인의 전압을 센싱하여 제 2 센싱노드(SO2)의 전압을 변경시킨다.
프리차지부(123)는 제 2 센싱노드(SO2)를 프리차지하고, 캐시 래치와 메인 래치(L1, L2)는 제 2 센싱노드(SO2)의 전압 레벨에 따른 데이터를 래치하거나, 프로그램할 데이터를 래치했다가 상기 제 2 센싱노드(SO2)로 전달한다.
캐시 래치(L1)는 데이터 입출력 라인(IO)과 연결되어 데이터를 입출력하고, 캐시 프로그램시의 데이터 저장을 한다. 그리고 메인 래치(L2)는 캐시 래치(L1)에서 전달된 데이터를 프로그램할 때 사용된다.
그리고 프로그램 검증을 수행할 때는 메인 래치(L2)에 검증 결과를 캐시 래치(L1)로 이동시킨 후, 캐시 래치(L1)와 연결된 검증라인(nWDo)을 통해 프로그램 검증을 수행한다. 또한 페이지 버퍼는 데이터 보존을 위해 임시래치(Temp)(미도시)가 더 포함될 수 있다.
비트라인 선택부(121)는 제 1 내지 제 4 NMOS 트랜지스터(N1 내지 N4)를 포함하고, 센싱부(122)는 제 5 NMOS 트랜지스터(N5)를 포함한다. 프리차지부(123)는 PMOS 트랜지스터(P)를 포함하고, 래치부(124)는 하나 이상의 래치회로를 포함한다.
제 1 및 제 2 NMOS 트랜지스터(N1, N2)는 이븐 비트라인(BLE)과 오드 비트라인(BLO)의 사이에 연결되고, 제 1 및 제 2 NMOS 트랜지스터(N1, N2)의 접속점으로 가변전압(VIRPWR)이 입력된다.
제 1 NMOS 트랜지스터(N1)의 게이트에는 이븐 디스차지 제어신호(DISCHE)가 입력되고, 제 2 NMOS 트랜지스터(N2)의 게이트에는 오드 디스차지 제어신호(DISCHO)가 입력된다.
제 3 NMOS 트랜지스터(N3)는 이븐 비트라인(BLE)과 제 1 센싱노드(SO1)의 사이에 연결되고, 제 4 NMOS 트랜지스터(N4)는 오드 비트라인(BLO)과 제 1 센싱노드(SO1)의 사이에 연결된다.
제 3 NMOS 트랜지스터(N3)의 게이트에는 이븐 선택 신호(SELBLE)가 입력되고, 제 4 NMOS 트랜지스터(N4)의 게이트에는 오드 선택 신호(SELBLO)가 입력된다.
제 5 NMOS 트랜지스터(N5)는 제 1 및 제 2 센싱노드(SO1, SO2)의 사이에 연결되고 제 5 NMOS 트랜지스터(N5)의 게이트에는 센싱신호(SENSE)가 입력된다.
PMOS 트랜지스터(P)는 전원 입력단과 제 2 센싱노드(SO2)의 사이에 연결되고, PMOS 트랜지스터(P)의 게이트에는 프리차지 제어신호(PRECHSO_N)가 입력된다.
불휘발성 메모리 소자에서 지능형 검증을 수행할 때는 4개의 컬럼 단위로 페일 검증을 하는 컬럼 스캔 방식을 이용한다. 이븐 비트라인(BLe)과 오드 비트라인(BLo)으로 구성되는 비트라인 쌍을 하나의 컬럼 라인으로 할 때, 메모리 셀 어레이(110)는 복수개의 컬럼라인이 포함된다. 즉 하나의 컬럼 라인에 하나의 페이지 버퍼가 연결된다.
이때 모든 컬럼라인들에 대해서 컬럼 어드레스 순서로 4개씩의 컬럼라인 단위로 모든 컬럼라인에 연결된 페이지 버퍼의 메인 래치(L2)에 저장된 프로그램 검증 결과를 확인하는 것을 컬럼 스캔이라고 한다.
한편, 불휘발성 메모리 소자(100)는 프로그램 시간 단축을 위해서 캐시 프로그램 방식을 이용한다. 캐시 프로그램 방식은 메인 래치(L2)에서 프로그램이 진행되는 동안 캐시 래치(L1)가 사용되지 않기 때문에 캐시 래치(L1)로 다음 페이지에 프로그램될 데이터를 입력받는 것을 말한다.
도 2는 불휘발성 메모리 소자의 프로그램 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 불휘발성 메모리 소자(100)에 프로그램 동작을 지시하기 위해서는 프로그램 명령(80h)이 입력되고, 어드레스 정보(ADD) 및 프로그램할 데이터(DATA)와 실행 명령(15h)이 입력된다.
상기의 명령에 따라서 n 페이지의 프로그램이 진행된다. 불휘발성 메모리 소자의 프로그램 동작은 이미 공지되어 있는 기술이므로 설명을 생략한다.
이때 불휘발성 메모리 소자(100)의 메모리 셀들이 2비트의 정보를 저장할 수 있는 멀티 레벨 셀인 경우에 프로그램 동작을 통해서 메모리 셀들은 제 1 내지 제 4 문턱전압 분포에 포함되도록 문턱전압이 변경된다. 그리고 프로그램 검증을 위해서는 제 1 내지 제 3 검증전압(PV1 내지 PV3)을 이용해서 프로그램 검증을 수행한다.
일반적으로 제 1 검증전압(PV1)을 이용한 프로그램 검증 결과가 패스가 되면, 캐시 래치(L1)가 사용되지 않는 상태로 변경된다. 따라서 다음번 페이지에 프로그램할 데이터가 미리 입력되는 캐시 프로그램 방식을 적용할 수 있다.
즉, 도 2에 나타난 바와 같이 제 1 검증전압(PV1)에 대해 프로그램 패스가 되면, 캐시 래치(L1)가 비어 있는 상태, 즉 사용되지 않는 상태가 되기 때문에 제 2 내지 제 3 검증전압(PV2, PV3)에 대해 프로그램 검증이 패스될 때까지 N 페이지의 프로그램이 진행되면서, N+1 페이지에 대한 프로그램 명령(80h), 어드레스(ADD), 데이터(DATA) 및 실행명령(15h)이 입력될 수 있다.
N+1 페이지에 프로그램하기 위한 데이터는 캐시 래치(L1)에 입력된다. 그리고 N 페이지의 프로그램이 완료되면 캐시 래치(L1)에 입력된 N+1 페이지에 프로그램할 데이터가 메인 래치(L2)로 옮겨져서 N+1 페이지 프로그램을 진행한다.
그러나 만약 불휘발성 메모리 소자(100)가 지능형 검증을 수행하는 경우에는 문제가 발생될 수 있다. 그 이유는 제 1 검증전압(PV1)에 대한 프로그램 검증이 패스되었다고 하더라도, 제 2 및 제 3 검증전압(PV2, PV3)에 대한 프로그램 검증은 계속된다. 이때 지능형 검증을 이용한다면, 메인 래치(L2)의 검증데이터를 캐시 래치(L1)로 옮겨서 컬럼 스캔을 하는 검증 동작이 병행되어야 한다.
만약 지능형 검증을 위한 컬럼 스캔이 수행되면서 N+1 페이지 데이터가 입력된다면 두개의 데이터가 캐시 래치(L1)에 입력되는 상황이 발생되므로 데이터 충돌로 인해서 오류가 발생된다. 이러한 오류를 방지하기 위해서 N+1 페이지의 데이터가 입력되는 동안에는 컬럼 스캔을 중단하고 데이터 입력이 모두 될 때까지 대기한다.
그리고 데이터 입력이 완료된 후에, 캐시 래치(L1)의 데이터를 임시 래치(미도시)로 옮기고, 그 이후에 컬럼 스캔을 수행한다. 따라서 프로그램 시간은 계속해서 길어지게 되는 문제가 발생된다.
따라서 본 발명이 이루고자 하는 기술적 과제는 불휘발성 메모리 소자의 페이지 버퍼에 회로를 추가하지 않고 검증 라인을 통해서 프로그램 페일 여부를 판단하여 지능형 검증을 수행하도록 함으로써 캐시 프로그램과 지능형 검증을 동시에 수행하도록 하여 프로그램 시간을 줄일 수 있는 불휘발성 메모리 소자 및 프로그램 방법을 제공하는데 있다.
본 발명의 특징에 따른 불휘발성 메모리 소자는,
메모리 셀들이 연결되는 복수개의 비트라인들; 데이터 입력 및 출력 라인과 연결되어, 상기 데이터 입출력 라인으로부터 데이터를 입력받거나 상기 데이터 입출력 라인으로 데이터를 출력하는 제 1 래치와, 검증 라인에 연결되는 제 2 래치를 포함하고, 상기 비트라인들 중 하나에 연결되는 페이지 버퍼를 복수개 포함하는 페이지 버퍼부; 상기 제 2 래치들이 공통 연결되는 상기 검증 라인에 연결되고, 상기 검증 라인의 전류에 기초하여 페일 비트의 수를 카운팅하는 페일 비트 카운터부; 및 상기 페이지 버퍼부와 상기 페일 비트 카운터부에 연결되고 다음 프로그램을 위한 데이터를 상기 제 1 래치에 입력하고, 상기 페일 비트 카운터부에 의해 카운팅된 페일 비트의 수에 기초하여 에러 정정이 가능한지 여부를 판단하여, 그 판단결과에 따른 프로그램 동작을 제어하는 제어부를 포함한다.
삭제
상기 페일 비트 카운팅부는, 상기 검증라인의 전류를 센싱하기 위한 전류 센싱부; 및 상기 전류 센싱부가 센싱하는 전류의 크기와 페일 비트 개수에 따라 변경되는 전류 크기를 갖는 기준전류들을 비교하여, 그 비교결과에 따른 패스 검증신호를 출력하는 전류 비교부를 포함한다.
상기 제어부는, 상기 패스 검증 신호의 논리레벨이 제 1 논리 레벨에서 제 2 논리레벨로 변경되는 시점에서의 기준전류의 크기에 따라 페일 비트를 카운팅하는 것을 특징으로 한다.
캐시 프로그램 명령에 따라 상기 다음번 프로그램할 데이터를 상기 제 1 래치에 저장하는 것을 특징으로 한다.
상기 제어부는, 상기 제 1 래치가 프로그램 또는 프로그램 검증 동작에 대해서 사용되지 않는지 여부를 판단하고, 상기 다음번 프로그램할 데이터를 입력하는 것을 특징으로 한다.
본 발명의 특징에 따른 불휘발성 메모리 소자의 프로그램 방법은,
불휘발성 메모리 소자의 비트라인에 연결되는 페이지 버퍼의 제 1 래치 및 제 2 래치에 저장된 데이터를 프로그램 하기 위한 프로그램 동작을 실시하는 단계;
캐시 프로그램 명령에 응답하여 상기 제 1 래치가 사용 가능한지 판단하는 단계; 상기 캐시 프로그램 명령과 함께 입력되는 데이터를 상기 제 1 래치에 저장하고, 동시에 상기 제 2 래치를 이용하여 프로그램 동작에 대한 프로그램 검증 동작을 실시하는 단계를 포함한다.
상기 페일 비트의 개수를 카운팅하는 단계는, 상기 검증라인이 전류량을 센싱하는 단계; 상기 센싱된 전류량과 페일 비트의 개수에 따라 변경되는 기준전류를 비교하고, 그 비교결과에 따라 제어신호를 출력하는 단계; 및 상기 제어신호의 논리 레벨이 변경되는 시점에 따라 페일 비트의 개수를 판단하는 단계를 포함한다.
상기 카운팅된 페일 비트의 개수가 설정된 개수보다 크면 프로그램 전압을 상승시키고 상기 제 2 래치에 저장된 데이터 상태에 따른 프로그램을 진행하고 프로그램 검증을 수행하는 것을 특징으로 한다.
상기 카운팅된 페일 비트의 개수가 설정된 개수 이하이면, 상기 제 2 래치의 데이터 프로그램을 완료한 후, 상기 제 1 래치의 데이터를 상기 제 2 래치로 이동시켜 프로그램을 수행하는 것을 특징으로 한다.
이상에서 설명한 바와 같이, 본 발명에 따른 불휘발성 메모리 소자 및 프로그램 방법은 페이지 버퍼의 래치들을 이용해서 캐시 프로그램을 수행하면서 지능형 검증을 동시에 수행하도록 함으로써 프로그램 시간을 줄이면서 데이터 충돌이 없이 지능형 검증과 캐시 프로그램을 수행할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 3a는 본 발명의 실시 예에 따른 불휘발성 메모리 소자를 나타낸다.
도 3a를 참조하면, 본 발명의 실시 예에 따른 불휘발성 메모리 소자(300)는 메모리 셀 어레이(310), 페이지 버퍼부(320), 제어부(330), 전류 센싱부(340) 및 전류 비교부(350)를 포함한다.
메모리 셀 어레이(310)는 복수개의 메모리 블록들을 포함하고, 메모리 블록들은 복수개의 메모리 셀들을 포함한다. 메모리 셀들은 비트라인(Bit Line; BL)과 워드라인(Word Line; WL)에 연결된다.
페이지 버퍼부(320)는 하나 이상의 비트라인에 연결되는 페이지 버퍼(PB)들을 포함하고, 페이지 버퍼(PB)들에 공통 연결되는 검증라인(nWDo)을 통해 검증신호가 출력된다.
검증라인(nWDo)은 전류 센싱부(340)로 연결된다. 전류 센싱부(340)는 검증라인(nWDo)에 전류에 따라서 검증신호(PASS)를 출력한다. 전류 비교부(350)는 전류 센싱부(340)에서 센싱한 검증라인(nWDo)의 전류들의 크기에 따라서 검증신호(PASS)의 논리레벨을 변경시킨다.
제어부(330)는 검증신호(PASS)의 변경에 따라서 페일 비트 카운팅을 하고, 그 결과에 따라 프로그램 동작을 제어한다. 제어부(330)는 에러보정을 위한 ECC(331)를 포함한다.
제어부(330)는 카운팅된 페일 비트의 개수에 따라서 에러 보정이 가능한 경우, 프로그램 동작을 종료하도록 하는 지능형 검증(Intelligent Verify)을 수행할 수 있다.
상기의 페이지 버퍼(PB)를 좀 더 상세히 설명하면 다음과 같다.
도 3b는 도 3a의 페이지 버퍼를 나타낸다.
도 3a를 참조하면, 페이지 버퍼(PB)에 연결되는 비트라인(BL)과 연결된 셀 스트링(SC)도 상세히 나타내었다.
도 3a에서, 메모리 셀 어레이(310)는 다수의 메모리 블록들(BK0 내지 KBn)을 포함하고, 각각의 메모리 블록은 복수개의 셀 스트링(CS; Cell String)들을 포함한다. 그리고 각각의 셀 스트링(CS)들은 비트라인(Bit Line; BLE 또는 BLO)에 연결된다.
각각의 셀 스트링(CS)은 드레인 선택 트랜지스터(Drain Select Transistor; DST)와 소오스 선택 트랜지스터(Source Select Transistor; SST)의 사이에 제 1 내지 제 32 메모리 셀(C0 내지 C31)이 직렬로 연결된다.
드레인 선택 트랜지스터(DST)의 게이트에는 드레인 선택 라인(Drain Select Line; DSL)이 연결되고, 소오스 선택 트랜지스터(SST)의 게이트에는 소오스 선택 라인(Source Select Line; SSL)이 연결된다.
그리고 제 1 내지 제 32 메모리 셀(C0 내지 C31)의 게이트에는 각각 제 1 내지 제 32 워드라인(WL1 내지 WL31)이 연결된다.
불휘발성 메모리 소자(300)는 프로그램을 수행할 때 페이지 단위로 프로그램을 수행한다. 이때 메모리 셀에 저장할 수 있는 비트의 개수가 하나인 싱글 레벨 셀(Single Level Cell)은 하나의 페이지가 하나의 워드라인에 대응된다.
그리고 메모리 셀에 저장할 수 있는 비트의 개수가 2개 이상인 멀티 레벨 셀(Multi Level Cell)의 경우에는 하나의 워드라인은 물리적인 페이지에 대응되고, 하나의 워드라인에는 저장될 수 있는 비트의 개수에 따라서 논리적인 페이지가 복수개 포함된다. 예를 들어 3비트를 저장할 수 있는 경우 하나의 물리 페이지는 3개 의 논리 페이지를 포함한다.
상기 드레인 선택 트랜지스터(DST)의 드레인단에는 비트라인(BLE 또는 BLO)이 연결되고, 소오스 선택 트랜지스터(SST)의 소오스단에는 공통 소오스 라인(Source Line; SL)이 연결된다.
한편, 페이지 버퍼부(320)는 하나 이상의 비트라인과 연결되는 페이지 버퍼들이 연결된다. 도 3a는 하나의 페이지 버퍼 회로만을 나타낸다. 페이지 버퍼는 각각 비트라인 선택부(321), 센싱부(322), 프리차지부(323), 캐시 래치(324) 및 메인 래치(325)를 포함한다.
비트라인 선택부(321)는 이븐 비트라인(BLE)과 오드 비트라인(BLO) 중에서 하나를 선택하여 제 1 센싱노드(SO1)와 연결하고, 센싱부(322)는 제 1 센싱노드(SO1)와 연결되는 비트라인의 전압을 센싱하여 제 2 센싱노드(SO2)의 전압을 변경시킨다.
프리차지부(323)는 제 2 센싱노드(SO2)를 프리차지하고, 캐시 래치(324)와 메인 래치(325)는 제 2 센싱노드(SO2)의 전압 레벨에 따른 데이터를 래치하거나, 프로그램할 데이터를 래치했다가 상기 제 2 센싱노드(SO2)로 전달한다.
캐시 래치(324)는 데이터 입출력 라인(IO)과 연결되어 데이터를 입출력한다. 그리고 메인 래치(325)는 캐시 래치(324)를 통해서 전달된 데이터를 프로그램하는 동작에 사용된다. 그리고 메인 래치(325)는 검증라인(nWDo)을 통해서 프로그램 검증 결과에 따른 검증 신호를 출력한다.
또한 페이지 버퍼는 프로그램을 동작하는 동안 데이터 보존을 위해 임시래 치(Temp)(미도시)가 더 포함될 수 있다.
비트라인 선택부(321)는 제 1 내지 제 4 NMOS 트랜지스터(NM1 내지 NM4)를 포함하고, 센싱부(322)는 제 5 NMOS 트랜지스터(NM5)를 포함한다. 프리차지부(323)는 제 1 PMOS 트랜지스터(PM1)를 포함한다.
제 1 및 제 2 NMOS 트랜지스터(NM1, NM2)는 이븐 비트라인(BLE)과 오드 비트라인(BLO)의 사이에 연결되고, 제 1 및 제 2 NMOS 트랜지스터(NM1, NM2)의 접속점으로 가변전압(VIRPWR)이 입력된다.
제 1 NMOS 트랜지스터(NM1)의 게이트에는 이븐 디스차지 제어신호(DISCHE)가 입력되고, 제 2 NMOS 트랜지스터(NM2)의 게이트에는 오드 디스차지 제어신호(DISCHO)가 입력된다.
제 3 NMOS 트랜지스터(NM3)는 이븐 비트라인(BLE)과 제 1 센싱노드(SO1)의 사이에 연결되고, 제 4 NMOS 트랜지스터(NM4)는 오드 비트라인(BLO)과 제 1 센싱노드(SO1)의 사이에 연결된다.
제 3 NMOS 트랜지스터(NM3)의 게이트에는 이븐 선택 신호(SELBLE)가 입력되고, 제 4 NMOS 트랜지스터(NM4)의 게이트에는 오드 선택 신호(SELBLO)가 입력된다.
제 5 NMOS 트랜지스터(NM5)는 제 1 및 제 2 센싱노드(SO1, SO2)의 사이에 연결되고 제 5 NMOS 트랜지스터(NM5)의 게이트에는 센싱신호(SENSE)가 입력된다.
제 1 PMOS 트랜지스터(PM1)는 전원 입력단과 제 2 센싱노드(SO2)의 사이에 연결되고, 제 1 PMOS 트랜지스터(PM1)의 게이트에는 프리차지 제어신호(PRECHSO_N)가 입력된다.
그리고 페이지 버퍼(PB)의 메인 래치(L2)가 공통 연결되는 검증라인(nWDo)이 연결되는 전류 센싱부(340)는 페이지 버퍼의 메인 래치(325)가 연결되는 검증 라인(nWDo)로부터 모든 페이지 버퍼들의 메인 래치(325)를 통해 전류를 센싱하여 검증라인(nWDo)의 전류를 출력하고, 전류 비교부(350)는 전류 센싱부(340)가 출력하는 전류의 크기를 기준전류들과 비교하여 페일 비트의 개수를 판단한다.
페일 비트를 카운팅할 때 페이지 버퍼부(320)에 모든 페이지 버퍼(PB)들의 전류를 센싱하는 경우에는 기준전류의 개수가 많아져야 한다. 기준전류의 개수가 많아지는 것은 전류 비교부(350)가 커지는 것을 의미한다.
따라서 본 발명의 실시 예에서는 전류 비교부(350)가 너무 커지지 않도록 하기 위하여, 페이지 버퍼부(320)의 페이지 버퍼(PB)들을 일정 개수의 그룹으로 나누고, 각각의 페이지 버퍼 그룹별로 페일 비트를 카운팅한후, 마지막으로 전체 페일 비트를 합하는 방법을 사용한다.
본 발명의 실시 예에서는 8개의 페이지 버퍼 그룹을 나누고, 각각의 페이지 퍼 그룹을 선택하기 위해서 페이지 버퍼 그룹 선택 신호(PPCHECK[7:0])를 이용한다.
도 3c는 도 3b의 페이지 버퍼부와 전류 센싱부 및 전류 비교부의 회로를 나타낸다.
도 3c를 참조하면, 페이지 버퍼부(320)에 모든 페이지 버퍼의 메인 래치(325)들은 검증라인(nWDo)에 공통으로 연결된다. 도 3c의 페이지 버퍼부(320)는 첫 번째 페이지 버퍼 선택 신호(PBCHECK[0])에 의해서 선택되는 첫 번째 페이지 버 퍼 그룹만을 도시한 것이다.
검증라인(nWDo)은 전류 센싱부(340)로 연결되고, 전류 센싱부(340)는 검증라인(nWDo)의 전류를 센싱하여 출력하고, 전류 센싱부(340)가 출력하는 전류는 전류 비교부(350)에서 복수개의 기준전류들과 비교하여 페일 비트의 개수를 판단한다.
페이지 버퍼부(320)의 메인 래치(325)는 제 6 NMOS 트랜지스터(NM6)와 래치회로(L)를 포함한다. 그리고 전류 센싱부(340)는 제 2 내지 제 7 PMOS 트랜지스터(PM2 내지 PM7)를 포함하고, 제 7 및 제 8 NMOS 트랜지스터(NM7, NM8) 및 제 1 인버터(IN1)를 포함한다.
그리고 전류 비교부(350)는 기준전류 생성부(351)와 제 1 내지 제 5 전류 생성부(352 내지 356)를 포함한다. 기준전류 생성부(351)는 제 9 및 제 10 NMOS 트랜지스터(NM9, NM10)를 포함하고, 제 1 전류 생성부(352)는 제 11 및 제 12 NMOS 트랜지스터(NM11, NM12)를 포함한다. 제 2 내지 제 5 전류 생성부(353 내지 356)는 제 1 전류 비교부(352)와 동일하게 구성된다.
이러한 제 1 내지 제 5 전류 생성부(352 내지 356)는 각각 제 1 내지 제 5 비트 판단신호(B0 내지 B4)에 의해서 I 의 전류가 흐르게 한다.
제 6 NMOS 트랜지스터(NM6)는 검증라인(nWDo)이 연결되는 노드(K1)와 접지노드 사이에 연결되고, 제 6 NMOS 트랜지스터(NM6)의 게이트는 래치회로(L)의 노드(QM)에 연결된다.
제 2 및 제 3 PMOS 트랜지스터(PM2, PM3)는 전원전압(VDD) 입력단과 노드(K3)의 사이에 직렬로 연결된다. 제 2 PMOS 트랜지스터(PM2)의 게이트에는 제 1 페일 비트 감지 인에이블 신호(FBD_ENb; Fail Bit Detection Enable)가 입력되고 제 3 PMOS 트랜지스터(PM3)의 게이트는 제 7 NMOS 트랜지스터(NM7)의 드레인단에 연결된다.
제 7 및 제 8 NMOS 트랜지스터(NM7, NM8)는 제 3 PMOS 트랜지스터(PM3)의 게이트와 접지노드 사이에 연결된다. 제 7 NMOS 트랜지스터(NM7)의 게이트에는 제어신호(GBIAS)가 입력되고, 제 8 NMOS 트랜지스터(NM8)는 페이지 버퍼 제 2 페일 비트 감지 인에이블 신호(FBD_EN)가 입력된다.
제 4 및 제 6 PMOS 트랜지스터(PM4, PM6)는 노드(K3)와 노드(K1)의 사이에 직렬로 연결된다. 그리고 제 5 및 제 7 PMOS 트랜지스터(PM5, PM7)는 노드(K3)와 노드(K4)의 사이에 직렬로 연결된다.
제 4 및 제 5 PMOS 트랜지스터(PM4, PM5)의 게이트는 서로 연결되어 있으며, 동시에 노드(K2)에 연결된다. 노드(K2)는 제 4 PMOS 트랜지스터(PM4)와 제 6 PMOS 트랜지스터(PM6)의 접속점이다.
제 6 및 제 7 PMOS 트랜지스터(PM6, PM7)의 게이트는 서로 연결되어 있으며, 동시에 노드(K1)에 연결된다.
제 1 인버터(IN1)는 노드(K4)의 전압레벨을 반전하여 출력한다. 제 1 인버터(IN1)의 출력신호 패스검증신호(PASS)이다. 패스 검증신호(PASS)에 의해서 프로그램 패스 또는 프로그램 페일을 판단한다. 상기 패스 검증 신호(PASS)는 제어부(330)로 입력된다.
제 9 및 제 10 NMOS 트랜지스터(NM9, NM10)는 노드(K4)와 접지노드 사이에 직렬로 연결되고, 제 9 NMOS 트랜지스터(NM9)에는 패스제어신호(Bpass)가 입력되고, 제 10 NMOS 트랜지스터(NM10)의 게이트에는 전류 비교 제어신호(FBD_VB)가 입력된다.
제 9 및 제 10 NMOS 트랜지스터(NM9, NM10)는 기준전류 생성부(351)이다. 기준전류 생성부(351)는
Figure 112009039565179-pat00001
의 전류가 흐를 수 있도록 설계된다.
제 11 및 제 12 NMOS 트랜지스터(NM11, NM12)는 노드(K4)와 접지노드 사이에 직렬로 연결되고, 제 11 NMOS 트랜지스터(NM11)의 게이트는 제 1 비트 판단신호(B0)가 입력된다.
제 2 내지 제 5 전류 생성부(353 내지 356)의 회로 구성도 상기 제 1 전류 생성부(352)와 동일하게 각각 두 개의 NMOS 트랜지스터들이 직렬로 구성된다. 그리고 각각 제 2 내지 제 5 비트 판단신호(B1 내지 B4)가 입력되고, 전류 비교 제어신호(FBD_VB)도 공통으로 입력된다.
페일 비트를 카운팅하기 위해서, 먼저 패스 제어신호(Bpass)와 전류 비교 제어신호(FBD_VB)를 하이 레벨로 인가한다. 이에 따라 제 9 및 제 10 NMOS 트랜지스터(NM9, NM10)가 턴온된다.
상기한 페이지 버퍼부(320)에 노드(QM)에 데이터 상태에 따라서 검증라인(nWDo)의 전류가 변경된다. 그리고 전류 미러에 의해서 노드(K4)에는 동일한 검증라인(nWDo)과 동일한 전류가 흐르게 된다.
노드(QM)가 '1'상태이면 프로그램이 페일된 것이고, 노드(QM)가 '0'상태이면 프로그램이 패스된 것을 나타낸다.
페이지 버퍼부(320)에 모든 페이지 버퍼의 노드(QM)가 '0'상태이면 프로그램 패스가 된다. 프로그램 패스 상태에서는 검증라인(nWDo)을 통해서 전류 라인이 생성되지 않는다. 따라서 노드(K4)는 접지노드에 연결되어 패스 검증신호(PASS)가 하이 레벨로 출력된다.
노드(QM)가 '0'상태인 것은 프로그램이 패스되었음을 의미하는 것으로, 패스 검증신호(PASS)가 하이 레벨로 출력되면 프로그램 패스가 되었음을 의미한다.
만약 하나의 페이지 버퍼의 노드(QM)는 '1'상태라면 제 6 NMOS 트랜지스터(NM6)가 턴온되어 검증라인(nWDo)에 전류 라인이 생성된다. 하나의 페이지 버퍼만이 페일된 경우 검증라인(nWDo)의 전류가 I 라고 가정한다.
그리고 전류 미러에 의해서 검증라인(nWDo)에 전류와 동일한 전류 I 가 노드(K4)에 흐르게 된다. 이때 제 9 및 제 10 NMOS 트랜지스터(NM9, NM10)가 턴온 된 상태이다.
그러나 제 9 및 제 10 NMOS 트랜지스터(NM9, NM10)를 통해서 접지노드로 흐를 수 있는 전류는
Figure 112009039565179-pat00002
이다. 따라서 전류 I 중에서
Figure 112009039565179-pat00003
만이 접지노드로 빠져나가기 때문에 노드(K4)의 전압 레벨이 VCC/2 보다 크게 변경된다. 이때 노드(K4)의 전압에 의해 제 1 인버터(IN1)는 로우 레벨의 패스 검증신호(PASS)를 출력한다.
제어부(330)는 페이지 버퍼 그룹마다 정확히 몇 개의 비트가 페일 되었는지를 확인하기 위하여 제 1 내지 제 5 비트 판단신호(B0 내지 B5)를 차례로 인가한 다.
먼저 제 1 비트 판단신호(B0)를 하이 레벨로 인가하면, 제 1 전류 생성부(352)가 동작한다. 이에 따라 기준전류 생성부(351)에서는
Figure 112009039565179-pat00004
의 전류가 흐르고, 제 1 전류 생성부(352)에서 I 의 전류가 흐른다. 따라서 검증라인(nWDo)에 흐르는 전류 I는 모두 접지노드로 빠져나가고 노드(K4)는 로우 레벨이 된다. 따라서 검증 패스신호(PASS)는 하이 레벨로 변경된다.
제어부(330)는 검증 패스신호(PASS)가 제 1 비트 판단신호(B0)를 인가함에 따라 로우 레벨에서 하이 레벨로 변경되는 것을 확인할 수 있다. 따라서 1비트가 페일된 것으로 판단한다.
만약 두 개의 비트가 페일 되었다면 검증라인(nWDo)에는 2I의 전류가 흐른다. 따라서 기준전류 생성부(351)가 동작할 때 검증 패스신호(PASS)는 로우 레벨이다.
그리고 제어부(330)가 제 1 비트 판단신호(B0)를 출력하면 전류 I 가 빠져나가게 된다. 그러나 검증라인(nWDo)에 흐르는 전류가 2I 이므로, 노드(K4)는 여전히
Figure 112009039565179-pat00005
의 전류가 흐르게 된다. 따라서 검증 패스신호(PASS)는 로우 레벨이 유지된다.
제어부(330)가 제 1 비트 판단신호(B0)를 하이 레벨로 출력함과 동시에, 제 2 비트 판단신호(B1)를 하이 레벨로 출력하면, 제 1 및 제 2 전류 생성부(352, 353)가 동시에 동작하고, 모두 2I의 전류가 접지노드로 흐를 수 있게 된다.
따라서 노드(K4)의 전압 레벨이 떨어지고 검증 패스신호(PASS)는 하이 레벨 로 변경된다.
제어부(330)는 제 2 비트 판단신호(B1)까지 하이 레벨로 출력했을 때, 검증 패스신호(PASS)가 하이 레벨로 변경되는 것을 확인함으로써 2비트의 페일 비트가 발생되었음을 확인할 수 있다.
상기의 동작과 유사하게, 제 1 내지 제 5 비트 판단신호(B0 내지 B4)를 차례로 인가하여 최대 5비트까지 페일 비트를 카운팅할 수 있다.
한편, 상기 페이지 버퍼부(320)의 페이지 버퍼들은 제 1 내지 제 8 페이지 버퍼 그룹으로 나뉘고, 각각의 그룹이 차례로 검증라인(nWDo)에 연결되도록 함으로써 8개의 그룹 단위로 페일 비트를 카운팅한다. 이를 위해서 제 1 내지 제 8 페이지 버퍼 그룹 선택신호(PBCHECK[7:0])를 이용해서 각각의 페이지 버퍼 그룹을 선택한다. 그리고 각각의 페이지 버퍼 그룹에 대해서 5개의 페일 비트까지는 ECC가 가능하다면, 제 1 내지 제 5 전류 생성부(352 내지 356)를 구비한다.
만약 각각의 페이지 버퍼 그룹에 대해서 k 개의 페일 비트까지 ECC가 가능하다면, 전류 생성부의 개수도 그에 맞게 늘리거나 줄여서 구성함으로써 ECC가 가능한 페일 비트 개수를 카운팅할 수 있다.
상기의 페일 비트를 카운팅하여 ECC 여부를 판단하기 위한 제어부(330)는 다음의 기능 블록을 포함한다.
도 3d는 도 3a의 제어부를 나타낸다.
도 3d를 참조하면, 제어부(330)는 검증 제어부(331), 컨트롤러(332) 및 SR 버스부(333)를 포함한다.
검증 제어부(331)는 컨트롤러(332)에서 입력되는 제어신호들(SD_EN, FBD_EN, FBD_PRE_EN, MC_PBCHECK)에 따라서 페일 비트 검증을 위한 제어신호(B[4:0], PBCHECK[7:0])를 출력한다.
제어신호(SD_EN)는 프로그램 검증시에 하나의 비트라도 페일이 나면 프로그램을 다시 수행하도록 하는 싱글 비트 검증 방식을 선택하기 위한 제어신호이고, 제 1 페일 비트 감지 신호(FBD_EN)는 프로그램 검증시에 페일 비트가 ECC 에러가 가능한 정도까지 발생되었는지 카운팅하는 멀티 비트 검증 방식을 선택하기 위한 제어신호이다.
그리고 제어신호(FBD_PRE_EN)는 멀티 비트 검증 방식의 동작을 인에이블 시키기 위한 인에이블 신호이다. 또한 컨트롤러(332)에서 출력하는 페이지 버퍼 선택신호(MC_PBCHECK[7:0])는 페일 비트 검증시에 페이지 버퍼 그룹들을 차례로 선택하기 위한 신호이다.
그리고 검증 제어부(331)는 검증 패스신호(PASS)에 따라서 제 1 내지 제 3 프로그램 완료신호(MPV1END, MSBPGMEND, LSBPGMEND)를 출력하고, 검증 패스 신호(PASS)에 따른 페일 비트 카운팅 결과에 따라서 ECC까 가능한지 여부에 대한 ECC 판단신호(PB_ECC_FAIL)를 출력한다
컨트롤러(332)는 불휘발성 메모리 소자(300)의 동작을 제어하기 위한 제어신호들(SD_EN, FBD_EN, FBD_PRE_EN, MC_PBCHECK[7:0])을 출력하는데, 검증 제어부(331)가 제공하는 제 1 내지 제 3 프로그램 완료신호(MPV1END, MSBPGMEND, LSBPGMEND)에 따른 프로그램 동작을 제어하고, 또한 ECC 기능을 가진다.
그리고 컨트롤러(332)는 불휘발성 메모리 소자(300)의 동작에 따라서 변경되는 상태코드 정보(CI...., CI_SR[7:0])를 출력한다.
SR 버스부(333)는 검증 제어부(331)에서 제공하는 ECC 판단신호(PB_ECC_FAIL)와, 컨트롤러(332)가 제공하는 상태코드 정보(CI..., CI_SR[7:0])를 불휘발성 메모리 소자(300)의 외부 컨트롤러(미도시)로 출력한다. 이때 IO 버스(IOBUS)를 이용한다.
상기의 검증 제어부(331)는 페일 비트를 카운팅하여 ECC가 가능한지 여부를 판단하기 위한 검증부(334)와 검증 패스신호(PASS)에 따라 제 1 내지 제 3 프로그램 완료신호(MPV1END, MSBPGMEND, LSBPGMEND)를 출력하기 위한 검증판단부(335)를 포함한다.
도 3e는 도 3d의 검증 제어부를 나타낸다.
도 3e를 참조하면, 검증부(334)는 비트 카운터(331a), 제 1 및 제 2 플립플롭(331b, 331c), ECC 판단부(331d) 및 MUX(331e)를 포함한다. 그리고 검증 판단부(335)는 제 3 내지 제 5 플립플롭(331f 내지 331h)을 포함한다.
비트 카운터(331a)는 제 1 페일 비트 감지 신호(PBD_EN)와 검증 패스신호(PASS) 및 클럭신호(FBD_CLK)를 입력받고, 검증 패스신호(PASS)가 변경되는 시점에 따라 결정되는 페일 비트 정보(INT_FB[5:0])를 출력한다. 이때 8 개의 페이지 버퍼 그룹에 대해서 차례로 페일 비트 카운팅이 수행되므로, 비트 카운터(331a)는 8 개의 페이지 버퍼그룹에 대해 출력되는 각각의 검증 패스신호(PASS)의 변경 시점에 따라서 카운팅되는 페일 비트 정보(INT_FB[5:0])를 차례로 출력한다. 즉, 페일 비트 정보(INT_FB[5:0])가 출력되는 횟수가 8번이 된다.
비트 카운터(331a)가 출력하는 페일 비트 정보(INT_FB[5:0])는 제 1 플립플롭(331b)으로 입력되고, 제 1 플립 플롭(331b)은 비트 카운터(331a)로부터 입력되는 페일 비트 정보(INT_FB[5:0])를 래치제어신호(FBLAT)에 의해 래치한다.
래치 제어신호(FBLAT)는 검증 제어부(331)의 내부적으로 생성되는 신호이다. 제 1 플립플롭(331b)에 래치된 페일 비트 정보(INT_FB[5:0])는 가산 회로(add)에서 통해서 더해지고, 제 2 플립플롭(331c)에 임시 저장된다.
즉, 8번 출력되는 페일 비트 정보(INT_FB[5:0])를 차례로 입력받는 가산회로(add)에서 차례로 페일 비트 정보(INT_FB[5:0])에 있는 페일 비트의 개수를 더하고, 더해진 값은 가산 래치제어신호(FBADDLAT)에 따라서 제 2 플립 플롭(331c)에 임시 저장되며, 8개의 페일 비트 정보(INT_FB[5:0])가 모두 더해지면, 최종적으로 전체 페일 비트정보(FB_SUM[5:0])로서 출력된다.
그리고 ECC 판단부(331d)는 ECC가 가능한 페일 비트의 개수 N 에 대한 정보와, 전체 페일 비트 정보(FB_SUM[5:0])를 비교하여 ECC가 가능한지 여부에 따른 ECC 판단신호(PB_ECC_FAIL)를 출력한다.
한편, 먹스(331e)는 제어신호(SD_EN)가 입력되면 싱글 비트 검증 방식으로 판단하여, 전체 페이지 버퍼의 검증라인 체크를 하기 위한 체크신호(PBCHECK)를 출력한다.
그리고 먹스(331e)는 제 1 페일 비트 감지 신호(FBD_EN)가 입력되면, 8개의 페이지 버퍼 그룹별로 페일 비트를 각각 체크할 수 있도록 하는 페이지 버퍼 선택 신호(PBCHECK[7:0])를 차례로 출력한다.
즉 제 1 내지 제 8 페이지 버퍼 선택 신호(PBCHECK[7:0])에 의해서 차례로 페이지 버퍼 그룹이 선택되고, 각각의 페이지 버퍼 그룹의 페일 비트 개수를 비트 카운터(331a)가 카운팅한 후, 페일 비트를 모두 더하여 전체 페일 비트 정보(FB_SUM[5:0])로 만든 후, ECC 판단부(331d)에서 ECC가 가능한지 여부에 따른 ECC 판단신호(PB_ECC_FAIL)를 출력한다.
ECC 판단 신호(PB_ECC_FAIL)는 SR 버스부(333)로 전달되어, 외부 컨트롤러(미도시)에서 프로그램 상태를 판단할 수 있게 한다.
검증부(334)에 제 1 앤드 게이트(AND1)는 제어신호(LOGRST, RST4MCOUTS)에 의해서 초기 리셋 신호를 출력하여 비트카운터(331a)와 제 1 및 제 2 플립플롭(331b, 331c)을 리셋 시킨다. 제어신호(LOGRST, RST4MCOUTS)는 불휘발성 메모리 소자(300)이 초기 동작 시작이나, 리셋 동작에서 인가되는 신호들로 컨트롤러(332)에서 입력되거나, 검증 제어부(331)에서 내부적으로 생성될 수 있는 신호이다.
한편, 검증 제어부(335)는 컨트롤러(332)에서 프로그램을 종료할지, 또는 계속 진행할지를 판단할수 있도록 제 1 내지 제 3 프로그램 완료신호(MPV1END, MSBPGMEND, LSBPGMEND)를 출력한다. 이를 위해서 검증 제어부(335)는 제 3 내지 제 5 플립플롭(331f 내지 331h)을 포함한다.
그리고 검증 제어부(335)의 제 2 앤드 게이트(AND2)는 상기 제 1 앤드 게이트(AND1)와 유사하게 제어신호(LOGRST, RST4MCOUTS)에 의해서 초기 리셋 신호를 출력하여 제 3 내지 제 5 플립플롭(331f, 내지 331h)를 리셋 시킨다.
제 3 내지 제 5 플립플롭(331f 내지 331h)은 각각 D 플립플롭으로써, D 단에 검증 패스신호(PASS) 신호가 입력된다.
그리고 제 3 내지 제 5 플립플롭(331f 내지 331h)의 클럭단에 각각 제 1 내지 제 3 검증 체크 신호(MC_CHECKLSB, MC_CHECKMPV1, MC_CHECKMSB)가 입력된다.
제 3 플립플롭(331f)은 제 1 검증 체크신호(MC_CHECKLSB)가 하이 레벨로 입력된 상태에서, 검증 패스신호(PASS)가 입력되면, 제 1 프로그램 완료신호(LSBPGMEND)를 출력한다.
제 4 플립플롭(331g)은 제 2 검증 체크신호(MC_CHECKMPV1)가 하이 레벨로 입력된 상태에서, 검증 패스신호(PASS)가 입력되면 제 2 프로그램 완료신호(MPV1END)를 출력한다.
제 5 플립플롭(331h)은 제 3 검증 체크신호(MC_CHECKMSB)가 하이 레벨로 입력된 상태에서, 검증 패스신호(PASS)가 입력되면 제 3 프로그램 완료신호(MSBPGMEND)를 출력한다.
상기 제 1 내지 제 3 프로그램 완료신호(MPV1END, MSBPGMEND, LSBPGMEND)에 의해서 컨트롤러(332)는 프로그램 진행 또는 프로그램 종료 등의 동작 제어를 한다.
상기 도 3b 내지도 3e에 나타난 본 발명의 실시 예에 따른 검증라인(nWDo)을 이용한 페일 비트 카운팅과 ECC 방식을 이용해서 캐시 래치(324)를 이용해서 캐시 프로그램을 위한 데이터를 입력받는 캐시 프로그램 방식과, 메인 래치(325)의 검증라인(nWDo)을 이용해서 페일 비트를 카운팅해서 ECC 가능한지 여부에 따라 프로그 램 검증을 하는 지능형 검증 방식을 동시에 진행할 수 있다.
도 4는 본 발명의 실시 예에 따른 프로그램 동작을 설명하기 위한 타이밍도이다.
도 4를 참조하면, 먼저 본 발명의 실시 예에 따른 불휘발성 메모리 소자(300)에 프로그램 명령과, 어드레스 정보, 프로그램할 데이터가 입력된다.
상기 어드레스 정보에 따라서 프로그램을 위한 비트라인과 워드라인이 선택되고, 프로그램할 데이터는 캐시 래치(324)와 메인 래치(325)에 저장된다.
그리고 프로그램 동작이 실행된다. 불휘발성 메모리 소자(300)의 프로그램 동작은 이미 공지된 기술에 따라 진행된다.
프로그램 동작에 이어서 프로그램 검증을 하게 되는데, 제 1 내지 제 3 검증전압(PV1 내지 PV3)을 이용해서 제 1 및 제 3 검증을 차례로 수행한다.
제 1 검증이 완료되면, 캐시 래치(324)를 사용할 수 있게 된다. 따라서 캐시 프로그램 동작에 따라서 캐시 래치(324)로 다음번 프로그램할 데이터가 입력될 수 있다.
이때 프로그램 동작은 여전히 동작을 하고 있기 때문에 메인 래치(325)는 프로그램 검증을 수행하고 있다.
본 발명의 실시 예에서는 캐시 래치(324)로 다음번 프로그램할 데이터를 입력받고, 메인 래치(325)로 프로그램 검증을 수행한다. 이를 위해서 도 3b와 같이 검증라인(nWDo)을 통해서 전류 센싱을 통해 페일 비트를 확인한다.
이를 위해서 멀티 비트 검증 방식을 위한 제 1 페일 비트 감지 신호(FBD_EN) 를 하이 레벨로 인가하고, 동작 인에이블을 위한 제어신호(FBD_PRE_N)를 하이 레벨로 인가한다. 제 1 페일 비트 감지 신호(FBD_EN)와 제 2 페일 비트 감지 신호(FBD_ENb)는 반전관계이다. 그리고 인에이블을 위해서 제어신호(GBIAS)도 하이 레벨로 인가된다.
제 2 페일 비트 감지 신호(FBD_ENb)가 로우 레벨이면 제 2 PMOS 트랜지스터(PM2)가 턴온되고, 제1페일 비트 감지 신호(FBD_EN)가 하이 레벨이면 제 8 NMOS 트랜지스터(NM8)가 턴온되고, 제어신호(GBIAS)가 하이 레벨이면 제 7 NMOS 트랜지스터(NM7)가 턴온된다.
제 7 및 제 8 NMOS 트랜지스터(NM7, NM8)가 턴온되면, 제 3 PMOS 트랜지스터(PM3)의 게이트가 접지노드에 연결되므로 제 3 PMOS 트랜지스터(PM3)도 턴온된다.
따라서 노드(K3)로 전원전압(VDD)이 인가된다.
그리고 제 1 페이지 버퍼 선택 신호[0]에 의해서 제 1 페이지 버퍼 그룹을 선택하고, 제 1 페이지 버퍼 그룹에 포함되는 페이지 버퍼들의 메인 래치(325)의 검증 데이터를 검증라인(nWDo)을 통해서 확인한다.
즉, 제 1 페이지 버퍼 선택 신호(PBCHECK[0])를 하이 레벨로 인가하여 제 1 페이지 버퍼 그룹에 포함되는 페이지 버퍼들의 메인 래치(325)의 데이터 상태에 따라서 검증라인(nWDo)에 전류 경로가 생성된다. 그리고 검증라인(nWDo)의 전류량과 동일한 전류가 노드(K4)에 흐른다.
앞서 도 3b에서 설명한 바와 같이, 제 1 페이지 그룹의 페이지 버퍼들이 모 두 만약 모두 프로그램 패스가 되었다면 검증라인(nWDo)에 전류 경로가 생성되지 않아 노드(K4)가 제 9 및 제 10 NMOS 트랜지스터(NM9, NM10)를 통해서 접지노드에 연결된다. 따라서 패스 검증신호(PASS)가 하이 레벨로 인가된다.
이와 같이 제 2 내지 제 8 페이지 선택 신호(PBCHECK[7:2]를 차례로 인가하면서 검증라인(nWDo)을 통해 페일 비트를 카운팅한다.
즉, 도 4에 나타난 바와 같이 제 1 페이지 버퍼 선택신호 (PBCHECK[0])가 하이 레벨인 상태에서 제 1 페이지 버퍼 그룹들에 프로그램 검증 결과에 따라 검증 라인(nWDo)이 전류라인이 생성되도록 하고, 이후에 제 1 내지 제 5 비트 판단신호(B0 내지 B4)를 차례로 인가함으로써 페일 비트 카운팅을 한다. 이때 노드(K4)의 전류(I)에 따라서 페일 비트 카운팅이 이루어진다. 도 4의 전류(I)는 제 1 내지 제 5 비트 판단신호(B0 내지 B4)가 인가됨에 따라서 전류 비교부(350)를 통해 디스차지되는 전류량을 나타낸다.
제 1 내지 제 8 페이지 버퍼 선택 신호(PBCHECK[7:0])에 따라 카운팅된 전체 페일 비트수 정보(FB_SUM[5:0])를 이용해서 검증 제어부(331)가 ECC가 가능한지 여부에 따른 ECC 판단 신호(PB_ECC_FAIL)를 컨트롤러(332)로 출력한다.
컨트롤러(332)는 ECC 판단 신호(PB_ECC_FAIL)에 따라서 프로그램을 더 수행하거나, 프로그램을 종료한다. 즉 ECC 판단 신호(PB_ECC_FAIL)에 의해서 ECC가 가능한 것으로 판단되면 프로그램을 종료한다. 그러나 ECC 판단 신호(PB_ECC_FAIL)에 의해서 ECC가 가능하지 않다고 판단되면, ISPP(Increment Step Pulse Program) 방식에 따라서 프로그램 전압을 상승시켜 프로그램을 진행한다.
ECC가 가능하여 프로그램이 종료된 이후에는, 캐시 프로그램을 위해 상기 캐시 래치(324)에 저장되어 있는 데이터를 이용한 프로그램을 진행한다.
이와 같이 캐시 래치(324)에는 캐시 프로그램을 위한 데이터가 입력되고, 메인 래치(325)에서는 프로그램과 프로그램 검증을 수행하고, 또한 프로그램 검증을 수행할 때 지능형 프로그램 검증 방식을 이용할 수 있다.
메인 래치(325)의 프로그램 검증을 위해서 검증 라인(nWDo)을 통해 전류 비교를 하여 페일 비트를 카운팅함으로써 캐시 래치(324)에 저장된 데이터에 영향을 주지 않으면서 프로그램 시간을 단축시켜 프로그램 성능을 향상시킨다.
도 5a 내지 도 5c는 본 발명의 실시 예에 따른 프로그램 검증을 설명하기 위한 동작 순서도이다.
도 5a를 참조하면, 먼저 프로그램명령에 따라 선택된 메모리 셀에 프로그램이 진행된다. 그리고 프로그램 검증 결과가 메인 래치(325)에 저장된다(S501, S503).
그리고 멀티 비트 검증 방식으로 페일 비트를 체크할 것인지를 판단한다(S505). 이는 컨트롤러(332)에서 제어신호(SD_EN)가 출력되는지, 제 1 페일 비트 감지신호(FBD_EN)가 출력되는지를 이용해서 판단한다.
만약, 멀티 비트 검증 방식인 경우에는, LSB 페이지의 프로그램인지를 판단한다(S507). 현재 LSB페이지의 프로그램이 아니라 MSB 프로그램을 하고 있는 중이면, 단계S503에 대해서 검증결과가 패스인지를 확인한다.
검증이 패스되었다면, 프로그램이 완료되고(S529), 프로그램 동작은 종료된 다.
그러나 검증이 패스되지 않았다면, 검증 라인을 제 1 내지 제 8 페이지 그룹 별로 체크한다(S511)
이를 이해서 먼저 제 1 페이지 버퍼 선택 신호(PBCHECK[0])부터 인에이블 시켜, 전체 패스가 되었는지(S515), 아니라면 페일 비트가 몇 개인지 카운팅을 한다(S517). 이러한 페일 비트 카운팅은 제 1 내지 제 8 페이지 버퍼 선택신호(PBCHECK[7:0])에 의해서 반복된다. 페일 비트 카운팅의 방식은 앞서 도 3c의 동작 설명에서 했으므로 생략한다.
그리고 페일 비트가 카운팅된 결과는 검증 제어부(331)에서 페이지 버퍼 그룹별로 더하여 전체 페일 비트 정보(FB_SUM[5:0])로 만든다(S523). 이에 대한 동작 과정은 도 3d에서 했으므로 생략한다.
그리고 전체 페일 비트 정보(FB_SUM[5:0])를 이용해서 ECC가 가능한지를 판단한 후(S525), ECC가 가능하다면 프로그램이 종료된다(S529). ECC가 가능하지 않다면 프로그램 전압을 상승시켜(S527) 다시 프로그램동작을 한다(S501).
한편, 도 5b는 멀티 비트 검증 방식이 아닌, 싱글 비트 검증 방식을 선택 한 경우의 동작을 나타낸다.
도 5b를 참조하면, 도 5a의 단계S505의 판단결과, 싱글 비트 검증을 하는 방식이라면, 전체 페이지 버퍼를 선택하여(PBCHECK), 프로그램 패스가 되었는지 판단하고(S530), 하나라도 프로그램 패스가 되지 않았다면 프로그램 전압을 상승시켜(S532), 다시 프로그램 동작을 수행한다(S501),
전체 패스가 되었다면, 프로그램을 종료한다(S534).
그리고 도 5c와 같이 LSB페이지 프로그램의 경우에는, 제 1 내지 제 8 페이지 버퍼 선택신호(PBCHECK[7:0])에 의해서 페일 비트를 카운팅하고(S550 내지 S558), 전체 페일 비트를 계산한다(S560). 이때 계산되는 전체 페일 비트는 물론 LSB 페이지 프로그램 결과에 따른 페일 비트의 개수를 말한다.
그리고 ECC가 가능하다면(S563), MSB 프로그램을 이어서 진행할 것인지 판단한다(S566). MSB 프로그램을 진행할 것이라면, MSB 데이터를 입력받아(S568), 프로그램을 진행한다(S501). MSB 프로그램 진행을 하는 동안에도 도 5a에서 설명한 바와 같이 페일 비트 체크를 할 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
도 1a는 불휘발성 메모리 소자이다.
도 1b는 도 1a의 페이지 버퍼를 나타낸다.
도 2는 불휘발성 메모리 소자의 프로그램 동작을 설명하기 위한 도면이다.
도 3a는 본 발명의 실시 예에 따른 불휘발성 메모리 소자를 나타낸다.
도 3b는 도 3a의 페이지 버퍼를 나타낸다.
도 3c는 도 3b의 페이지 버퍼부와 전류 센싱부 및 전류 비교부의 회로를 나타낸다.
도 3d는 도 3a의 제어부를 나타낸다.
도 3e는 도 3d의 검증 제어부를 나타낸다.
도 4는 본 발명의 실시 예에 따른 프로그램 동작을 설명하기 위한 타이밍도이다.
도 5a 내지 도 5c는 본 발명의 실시 예에 따른 프로그램 검증을 설명하기 위한 동작 순서도이다.
*도면의 주요 부분의 간단한 설명*
300 : 불휘발성 메모리 소자 310 : 메모리 셀 어레이
320 : 페이지 버퍼부 330 : 제어부
340 : 전류 센싱부 350 : 전류 비교부

Claims (20)

  1. 메모리 셀들이 연결되는 복수개의 비트라인들;
    데이터 입력 및 출력 라인과 연결되어, 상기 데이터 입출력 라인으로부터 데이터를 입력받거나 상기 데이터 입출력 라인으로 데이터를 출력하는 제 1 래치와, 검증 라인에 연결되는 제 2 래치를 포함하고, 상기 비트라인들 중 하나에 연결되는 페이지 버퍼를 복수개 포함하는 페이지 버퍼부;
    상기 제 2 래치들이 공통 연결되는 상기 검증 라인에 연결되고, 상기 검증 라인의 전류에 기초하여 페일 비트의 수를 카운팅하는 페일 비트 카운터부; 및
    상기 페이지 버퍼부와 상기 페일 비트 카운터부에 연결되고 다음 프로그램을 위한 데이터를 상기 제 1 래치에 입력하고, 상기 페일 비트 카운터부에 의해 카운팅된 페일 비트의 수에 기초하여 에러 정정이 가능한지 여부를 판단하여, 그 판단결과에 따른 프로그램 동작을 제어하는 제어부를 포함하는 불휘발성 메모리 소자.
  2. 제1항에 있어서,
    상기 페일 비트 카운터부는,
    상기 검증 라인에 연결되고, 상기 검증 라인의 전류를 감지하는 전류 감지부; 와
    상기 전류 감지부와 연결되고, 적어도 하나의 기준전류와 상기 감지된 전류를 비교하고, 비교 결과에 따라 페일 비트의 개수를 나타내는 검증 신호를 생성하는 전류 비교부를 포함하는 불휘발성 메모리 소자.
  3. 제 2항에 있어서,
    상기 제어부는 상기 검증 신호가 제 1 로직 레벨에서 제 2 로직 레벨로 변경되는 것에 기초하여 하나 이상의 페일 비트가 있음을 판단하는 불휘발성 메모리 소자.
  4. 제 3항에 있어서,
    상기 제어부는 상기 검증 신호가 제 2 로직 레벨에서 제 1 로직 레벨로 변경되는 직후에 기초하여 페일 비트의 수를 판단하는 것을 특징으로 하는 불휘발성 메모리 소자.
  5. 제2항에 있어서,
    상기 전류 비교부는 상기 검증 라인의 전류를 감지한 것에 응답하여 상기 검증 신호를 제 1 로직 레벨에서 제 2 로직레벨로 변경되게 하는 불휘발성 메모리 소자.
  6. 제 5항에 있어서,
    상기 제어부는,
    상기 전류 비교부는 상기 검증 신호가 제 1 로직 레벨에서 제 2 로직 레벨로 변경하는 것에 응답하여, 상기 전류 비교부가 상기 검증 신호가 제 2 로직 레벨에서 제 1 로직 레벨로 변경될 때까지 적어도 하나의 기준 전류와 감지 전류를 차례로 비교하게 하는 불휘발성 메모리 소자.
  7. 제 6항에 있어서,
    상기 제어부는 기준 전류와 감지 전류를 비교할 때 상기 검증 신호가 제 2 로직 레벨에서 제 1 로직 레벨로 변경되는 것에 기초하여 페일 비트의 수를 판단하는 불휘발성 메모리 소자.
  8. 제2항에 있어서,
    상기 전류 비교부는 전류 감지부가 상기 감지 라인의 전류를 감지할 때 상기 전류 감지부로부터 제공되는 전류를 부분적으로 디스차지 하기 위한 기준 전류 생성기를 포함하고, 상기 전류를 부분적으로 디스차지 하는 것은 상기 검증 신호가 제 1 로직 레벨에서 제 2 로직 레벨로 변경될 수 있는 정도로 디스차지 하는 불휘발성 메모리 소자.
  9. 제 8항에 있어서,
    상기 전류 비교부는 적어도 상기 기준전류 생성기에 병렬로 연결되는 하나의 기준 전류 생성기를 더 포함하고 상기 제어부는 상기 전류 감지부에서 제공되는 전류의 일부를 디스차지 시키기 위해 적어도 하나의 기준전류 생성기를 차례로 턴온 시키는 불휘발성 메모리 소자.
  10. 제 1항에 있어서,
    상기 페이지 버퍼부는 하나 이상의 페이지 버퍼들을 포함하는 복수개의 페이지 버퍼 그룹을 포함하고,
    상기 제어부는,
    하나의 페이지 버퍼 그룹의 페이지 버퍼의 제 2 래치를 상기 검증 라인에 동시에 연결시켜 하나의 페이지 버퍼의 페일 비트의 수를 카운팅하고,
    각 페이지 버퍼그룹의 페일 비트의 수를 더하여 모든 페이지 버퍼 그룹의 전체 페일 비트 수를 계산하고, 상기 전체 페일 비트 수에 따라 에러 정정이 가능한지 여부를 판단하는 불휘발성 메모리 소자.
  11. 제 1항에 있어서,
    상기 제어부는 캐시 프로그램 명령에 응답하여 다음으로 프로그램할 데이터를 상기 제 1 래치에 저장하는 불휘발성 메모리 소자.
  12. 제 11항에 있어서,
    상기 제어부는 상기 제 1 래치가 프로그램 동작 또는 프로그램 검증 동작 중인지를 판단하고 판단하고, 다음번으로 프로그램할 데이터를 입력하는 불휘발성 메모리 소자.
  13. 제 11항에 있어서,
    상기 제어부는,
    상기 제 1 래치에 다음번으로 프로그램할 데이터를 입력하는 것과 동시에, 상기 제 2 래치를 이용하여 현재의 데이터 프로그램 동작에 대한 검증 동작이 실시되게 하는 불휘발성 메모리 소자.
  14. 불휘발성 메모리 소자의 비트라인에 연결되는 페이지 버퍼의 제 1 래치 및 제 2 래치에 저장된 데이터를 프로그램 하기 위한 프로그램 동작을 실시하는 단계;
    캐시 프로그램 명령에 응답하여 상기 제 1 래치가 사용 가능한지 판단하는 단계;
    상기 캐시 프로그램 명령과 함께 입력되는 데이터를 상기 제 1 래치에 저장하고, 동시에 상기 제 2 래치를 이용하여 프로그램 동작에 대한 프로그램 검증 동작을 실시하는 단계를 포함하는 불휘발성 메모리 소자의 프로그램 방법.
  15. 제14항에 있어서,
    상기 프로그램 검증 동작에서,
    상기 제 2 래치에 연결된 검증 라인을 이용해서 페일 비트의 개수를 카운팅 하는 단계; 및
    만약 상기 페일 비트의 개수가 에러정정이 가능한 페일 비트보다 작으면 프로그램을 종료시키는 단계를 포함하는 불휘발성 메모리 소자의 프로그램 방법.
  16. 제15항에 있어서,
    상기 카운팅 하는 단계는,
    상기 검증 라인의 전류를 감지하는 단계;
    상기 감지된 전류와 페일 비트의 수에 따른 기준 전류들을 비교하고, 상기 비교에 결과에 따라 검증 신호를 생성하는 단계; 및
    상기 비교를 하는 동안 검증 신호의 로직 레벨이 변경되는 때의 페일 비트의 수를 확인하는 단계를 포함하는 불휘발성 메모리 소자의 프로그램 방법.
  17. 제15항에 있어서,
    상기 카운팅된 페일 비트의 수가 상기 에러 정정이 가능한 페일 비트의 수보다 크면,
    프로그램 전압을 상승시키는 단계;
    상기 상승된 프로그램 전압을 이용하여 제 2 래치에 저장된 데이터 상태에 따른 프로그램 동작을 실시하는 단계; 및
    상기 상승된 프로그램 전압에 의해 실시된 프로그램 동작에 대한 프로그램 검증 동작을 실시하는 단계를 더 포함하는 불휘발성 메모리 소자의 프로그램 방법.
  18. 제 15항에 있어서,
    상기 카운팅된 페일 비트의 수가 상기 에러 정정이 가능한 페일 비트의 수와 같거나 작으면,
    상기 제 2 래치에 저장된 데이터에 대한 프로그램 동작을 완료하는 단계;
    상기 제 1 래치에 저장된 다음번 프로그램할 데이터를 상기 제 2 래치로 전달하는 단계; 및
    상기 다음번 프로그램 동작을 실시하는 단계를 더 포함하는 불휘발성 메모리 소자의 프로그램 방법.
  19. 제14항에 있어서,
    상기 프로그램 검증이 싱글 비트 검증 인지 멀티 비트 검증인지를 판단하는 단계;
    만약 상기 프로그램 검증이 싱글 비트 검증인 경우, 적어도 하나의 페일 비트 감지에 응답하여,
    프로그램 전압을 상승시키는 단계; 및
    상기 상승된 프로그램 전압을 이용한 프로그램 동작을 다시 실시하는 단계를 더 포함하는 불휘발성 메모리 소자의 프로그램 방법.
  20. 제15항에 있어서,
    상기 프로그램 동작이 LSB 페이지 프로그램 동작인지 MSB 페이지 프로그램 동작인지를 판단하는 단계; 및
    상기 프로그램 동작이 LSB 페이지 프로그램 동작이고, 카운팅된 페일 비트의 수가 에러정정이 가능한 페일 비트의 수보다 적으면, MSB 페이지 프로그램 동작을 실시하는 단계를 더 포함하는 불휘발성 메모리 소자의 프로그램 방법.
KR1020090058464A 2009-06-29 2009-06-29 불휘발성 메모리 소자 및 프로그램 방법 KR101039962B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090058464A KR101039962B1 (ko) 2009-06-29 2009-06-29 불휘발성 메모리 소자 및 프로그램 방법
US12/826,064 US8270215B2 (en) 2009-06-29 2010-06-29 Nonvolatile memory device and method of programming the same
JP2010147827A JP2011008910A (ja) 2009-06-29 2010-06-29 不揮発性メモリ素子及びプログラム方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090058464A KR101039962B1 (ko) 2009-06-29 2009-06-29 불휘발성 메모리 소자 및 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20110001073A KR20110001073A (ko) 2011-01-06
KR101039962B1 true KR101039962B1 (ko) 2011-06-09

Family

ID=43380559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090058464A KR101039962B1 (ko) 2009-06-29 2009-06-29 불휘발성 메모리 소자 및 프로그램 방법

Country Status (3)

Country Link
US (1) US8270215B2 (ko)
JP (1) JP2011008910A (ko)
KR (1) KR101039962B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021338B2 (en) 2011-11-04 2015-04-28 Samsung Electronics Co., Ltd. Memory system and data storage method
US10402247B2 (en) 2016-01-15 2019-09-03 Samsung Electronics Co., Ltd. Operating method of non-volatile memory device
US10665302B2 (en) 2016-01-15 2020-05-26 Samsung Electroncis Co., Ltd. Non-volatile memory device and operating method thereof

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101802815B1 (ko) 2011-06-08 2017-12-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 프로그램 방법
KR101676816B1 (ko) 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP5259765B2 (ja) * 2011-03-29 2013-08-07 株式会社東芝 不揮発性半導体メモリ
US8854898B2 (en) * 2011-12-14 2014-10-07 Micron Technology, Inc. Apparatuses and methods for comparing a current representative of a number of failing memory cells
KR20130121434A (ko) 2012-04-27 2013-11-06 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR102096285B1 (ko) * 2013-07-30 2020-04-02 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
US9093159B2 (en) * 2013-09-13 2015-07-28 Kabushiki Kaisha Toshiba Semiconductor memory device
KR102293169B1 (ko) * 2014-06-25 2021-08-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
KR20160008875A (ko) * 2014-07-15 2016-01-25 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20160071120A (ko) 2014-12-11 2016-06-21 에스케이하이닉스 주식회사 반도체 메모리 장치 그것의 동작 방법
JP5909294B1 (ja) * 2015-03-11 2016-04-26 力晶科技股▲ふん▼有限公司 不揮発性記憶装置のための書き込み回路及び方法、並びに不揮発性記憶装置
KR20170010620A (ko) * 2015-07-20 2017-02-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102372889B1 (ko) 2015-10-23 2022-03-10 삼성전자주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템
KR102365171B1 (ko) 2015-12-10 2022-02-21 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
JP6238378B2 (ja) * 2016-02-09 2017-11-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
KR102634421B1 (ko) * 2016-11-21 2024-02-06 에스케이하이닉스 주식회사 페일 비트 카운터 및 이를 포함하는 반도체 메모리 장치
KR102491358B1 (ko) * 2016-11-22 2023-01-26 매그나칩 반도체 유한회사 센스 앰프 구동 장치
CN108665932A (zh) * 2017-04-01 2018-10-16 北京兆易创新科技股份有限公司 一种nand闪存的编程方法和装置
US10445173B2 (en) 2017-06-26 2019-10-15 Macronix International Co., Ltd. Method and device for programming non-volatile memory
KR102576849B1 (ko) * 2018-07-13 2023-09-14 에스케이하이닉스 주식회사 메모리 장치
JP7313889B2 (ja) * 2019-04-24 2023-07-25 キオクシア株式会社 半導体記憶装置及びメモリシステム
CN111599400B (zh) * 2020-04-08 2021-09-07 长江存储科技有限责任公司 一种失败比特数统计方法及存储器设备
DE102021113450A1 (de) 2020-08-13 2022-02-17 Samsung Electronics Co., Ltd. Seitenpufferschaltungen und diese enthaltende nichtflüchtige Speichervorrichtungen
CN112352282B (zh) 2020-09-24 2022-09-16 长江存储科技有限责任公司 用于nand存储器编程的架构和方法
US11942165B2 (en) 2020-09-24 2024-03-26 Yangtze Memory Technologies Co., Ltd. Architecture and method for NAND memory programming
US11501841B2 (en) 2021-02-08 2022-11-15 Macronix International Co., Ltd. Memory device and control method thereof
TWI775310B (zh) * 2021-02-08 2022-08-21 旺宏電子股份有限公司 記憶體裝置及其控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080063599A (ko) * 2007-01-02 2008-07-07 주식회사 하이닉스반도체 멀티 레벨 셀 플래쉬 메모리의 페이지 버퍼 회로 및 동작방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3093723B2 (ja) * 1998-04-22 2000-10-03 日本電気アイシーマイコンシステム株式会社 半導体集積回路
KR100399365B1 (ko) * 2000-12-04 2003-09-26 삼성전자주식회사 페일 비트 검출 스킴을 구비한 불휘발성 반도체 메모리장치 및 그것의 페일 비트 카운트 방법
JP2005353242A (ja) * 2004-06-14 2005-12-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
JP2006012367A (ja) * 2004-06-29 2006-01-12 Toshiba Corp 不揮発性半導体記憶装置
JP4261461B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
JP4261462B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 不揮発性メモリシステム
JP4874721B2 (ja) * 2006-06-23 2012-02-15 株式会社東芝 半導体記憶装置
KR100943141B1 (ko) * 2008-01-10 2010-02-18 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
JP2010020843A (ja) * 2008-07-10 2010-01-28 Toshiba Corp 半導体記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080063599A (ko) * 2007-01-02 2008-07-07 주식회사 하이닉스반도체 멀티 레벨 셀 플래쉬 메모리의 페이지 버퍼 회로 및 동작방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021338B2 (en) 2011-11-04 2015-04-28 Samsung Electronics Co., Ltd. Memory system and data storage method
US10402247B2 (en) 2016-01-15 2019-09-03 Samsung Electronics Co., Ltd. Operating method of non-volatile memory device
US10665302B2 (en) 2016-01-15 2020-05-26 Samsung Electroncis Co., Ltd. Non-volatile memory device and operating method thereof

Also Published As

Publication number Publication date
US20100329030A1 (en) 2010-12-30
JP2011008910A (ja) 2011-01-13
KR20110001073A (ko) 2011-01-06
US8270215B2 (en) 2012-09-18

Similar Documents

Publication Publication Date Title
KR101039962B1 (ko) 불휘발성 메모리 소자 및 프로그램 방법
US8059460B2 (en) Method of programming nonvolatile memory device
US9064580B2 (en) Nonvolatile semiconductor memory device and write-in method thereof
US8923056B2 (en) Non-volatile memory device for reducing operating time and method of operating the same
US7813186B2 (en) Flash memory device and programming method thereof
KR101014926B1 (ko) 불휘발성 메모리 장치의 프로그램 검증 방법
US8773915B2 (en) Semiconductor memory device and operating method thereof
US8335107B2 (en) Semiconductor memory device and method of operating the same
US20040228194A1 (en) Nonvolatile semiconductor memory and read method
US7738303B2 (en) Method of erasing a nonvolatile memory device
CN109102829B (zh) 用于储存装置的状态相关的感测电路和感测操作
US8085587B2 (en) Non-volatile memory device and method of verifying a program operation in the same
JP2006012367A (ja) 不揮発性半導体記憶装置
US8804391B2 (en) Semiconductor memory device and method of operating the same
TWI496150B (zh) 分段程式化之方法及其記憶體裝置
US8184483B2 (en) Nonvolatile memory device and method of programming the same
US8897069B2 (en) Semiconductor memory device and operating method thereof
KR20100085659A (ko) 불휘발성 메모리 장치의 프로그램 방법
US8036034B2 (en) Semiconductor storage device equipped with a sense amplifier for reading data and threshold-voltage-information data
KR100592743B1 (ko) 비휘발성 반도체 기억 장치
KR100861378B1 (ko) 플래시 메모리소자의 프로그램 방법
KR20100013962A (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20100100437A (ko) 비휘발성 메모리 장치의 데이터 독출 방법 및 이를 포함하는 데이터 입출력 방법
JP2006190488A (ja) 半導体記憶装置の書き込み方法
KR20120005828A (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