KR101014926B1 - 불휘발성 메모리 장치의 프로그램 검증 방법 - Google Patents

불휘발성 메모리 장치의 프로그램 검증 방법 Download PDF

Info

Publication number
KR101014926B1
KR101014926B1 KR1020080046615A KR20080046615A KR101014926B1 KR 101014926 B1 KR101014926 B1 KR 101014926B1 KR 1020080046615 A KR1020080046615 A KR 1020080046615A KR 20080046615 A KR20080046615 A KR 20080046615A KR 101014926 B1 KR101014926 B1 KR 101014926B1
Authority
KR
South Korea
Prior art keywords
program
cells
target cells
page buffer
data
Prior art date
Application number
KR1020080046615A
Other languages
English (en)
Other versions
KR20090120685A (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 KR1020080046615A priority Critical patent/KR101014926B1/ko
Priority to US12/469,346 priority patent/US7965553B2/en
Publication of KR20090120685A publication Critical patent/KR20090120685A/ko
Application granted granted Critical
Publication of KR101014926B1 publication Critical patent/KR101014926B1/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
    • 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
    • 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
    • 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
    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • 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

본원 발명의 불휘발성 메모리 장치의 프로그램 검증 방법은 프로그램 동작을 수행하는 단계와, 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수를 카운팅하는 단계와, 상기 페일 비트의 개수가 ECC(Error correction code) 처리 비트 수보다 작은 경우에는 전체 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 상기 페일 비트의 개수가 상기 ECC 처리 비트 수보다 큰 경우에는 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 한다.
ECC, 페일 비트, 샘플

Description

불휘발성 메모리 장치의 프로그램 검증 방법{Programming and verifying method for non volatile memory device}
본원 발명은 불휘발성 메모리 장치의 프로그램 검증 방법에 관한 것이다.
최근 들어 전기적으로 프로그램(program)과 소거(erase)가 가능하고, 일정 주기로 데이터를 재작성해야하는 리프레시(refresh) 기능이 필요 없는 불휘발성 메모리 소자에 대한 수요가 증가하고 있다.
상기 불휘발성 메모리 셀은 전기적인 프로그램/소거 동작이 가능한 소자로서 얇은 산화막에 인가되는 강한 전기장에 의해 전자가 이동하면서 셀의 문턱전압을 변화시켜 프로그램 및 소거 동작을 수행한다.
상기 불휘발성 메모리 장치는 통상적으로 데이터가 저장되는 셀들이 매트릭스 형태로 구성된 메모리 셀 어레이, 상기 메모리 셀 어레이의 특정 셀들에 대하여 메모리를 기입하거나 특정 셀에 저장되었던 메모리를 독출하는 페이지 버퍼를 포함한다. 상기 페이지 버퍼는 특정 메모리 셀과 접속된 비트라인 쌍, 메모리 셀 어레이에 기록할 데이터를 임시저장하거나, 메모리 셀 어레이로부터 특정 셀의 데이터를 독출하여 임시 저장하는 레지스터, 특정 비트라인 또는 특정 레지스터의 전압 레벨을 감지하는 감지노드, 상기 특정 비트라인과 감지노드의 접속여부를 제어하는 비트라인 선택부를 포함한다.
불휘발성 메모리 셀은 하나의 셀에 다양한 상태를 저장할 수 있는바, 이를 위해서는 프로그램 동작시에 각각 서로 다른 상태로 문턱전압을 상승시켜야 한다. 이론적으로는 동일한 프로그램 전압이 인가되면 동일한 정도로 문턱전압이 상승하여야 할 것이나, 실제 메모리 셀들의 특성이 균일하지는 않기 때문에, 다른 셀들에 비하여 프로그램 속도가 빠르거나 느린 셀들이 존재하게 된다. ISPP(Incremental step pulse program) 방식에 따라 프로그램을 수행하는 경우, 전체 셀 들이 목표로 하는 문턱전압 이상으로 프로그램될 때까지 프로그램 펄스를 지속적으로 인가하게 된다. 이때 프로그램 속도가 느린 셀이 포함되어 있는 경우, 해당 셀이 특정 문턱전압이상으로 프로그램될 때까지 지속적으로 프로그램 펄스를 인가하여야 하므로 프로그램 동작에 소요되는 시간이 증가하게 된다. 따라서 프로그램 속도가 느린 셀 때문에 프로그램 동작에 소요되는 시간을 감소시킬 필요가 있다.
전술한 문제점에 따라 본원 발명이 해결하고자 하는 과제는 프로그램 속도가 느린 셀이 있는 경우 특정 시점에서 인위적으로, 해당 셀들이 프로그램된 것으로 페이지 버퍼의 데이터를 설정하는 불휘발성 메모리 장치의 프로그램 검증 방법을 제공하는 것이다.
전술한 과제를 해결하기 위한 본원 발명의 불휘발성 메모리 장치의 프로그램 검증 방법은 프로그램 동작을 수행하는 단계와, 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수를 카운팅하는 단계와, 상기 페일 비트의 개수가 ECC(Error correction code) 처리 비트 수보다 작은 경우에는 전체 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 상기 페일 비트의 개수가 상기 ECC 처리 비트 수보다 큰 경우에는 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 한다.
또한 본원 발명의 불휘발성 메모리 장치의 프로그램 검증 방법은 프로그램 동작을 수행하는 단계와, 제1 프로그램 대상 셀들이 제1 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수에 따라 제1 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 제2 프로그램 대상 셀들이 제2 검증 전압 이상 으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수에 따라 제2 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 제3 프로그램 대상 셀들이 제3 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수에 따라 제3 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 상기 전체 프로그램 대상 셀들이 각 검증 전압 이상으로 모두 프로그램될때까지 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 한다.
또한, 본원 발명의 불휘발성 메모리 장치의 프로그램 검증 방법은 일반 메모리 셀들 및 샘플 셀들에 대하여 프로그램 동작을 수행하는 단계와, 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 페일 셀들이 있는 경우에는 상기 샘플 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 상기 샘플 셀들이 검증 전압 이상으로 모두 프로그램된 경우에는 전체 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 상기 확인 결과 검증 전압보다 낮게 프로그램된 샘플 셀이 있는 경우에는 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 한다.
또한, 본원 발명의 불휘발성 메모리 장치의 프로그램 검증 방법은 일반 메모리 셀들 및 샘플 셀들에 대하여 프로그램 동작을 수행하는 단계와, 제1 프로그램 대상 셀들이 제1 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상 기 확인 결과 페일 셀들이 있는 경우에는 상기 샘플 셀들의 상태에 따라 제1 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 제2 프로그램 대상 셀들이 제2 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 페일 셀들이 있는 경우에는 상기 샘플 셀들의 상태에 따라 제2 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 제3 프로그램 대상 셀들이 제3 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와, 상기 확인 결과 페일 셀들이 있는 경우에는 상기 샘플 셀들의 상태에 따라 제3 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와, 상기 전체 프로그램 대상 셀들이 각 검증 전압 이상으로 모두 프로그램될 때까지 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 한다.
전술한 본원 발명의 구성에 의하면 슬로우 셀이 검증전압 이상으로 프로그램될 때까지 지속적으로 프로그램 동작을 수행하는 것이 아니라, 특정 시점 이후, 즉 페일 비트의 수가 ECC 처리 비트 수보다 작아 지거나, 샘플 셀이 모두 프로그램 완료되는 시점에는 추가적으로 프로그램 동작을 수행하지 않는다. 따라서 프로그램 검증 동작에 소요되는 시간을 감소시킬 수 있다.
이하, 첨부된 도면들을 참조하여 본원 발명의 바람직한 실시예를 상세히 살펴보기로 한다. 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.
도 1은 통상적인 불휘발성 메모리 장치의 메모리 셀이 가질 수 있는 상태를 표시한 도면이다.
하나의 불휘발성 메모리 셀에는 둘 이상의 상태를 저장할 수 있다. 즉 싱글 레벨 셀 프로그램에 의하여 문턱전압이 서로 다른 두 개의 상태(‘1’, ‘0’)를 저장할 수 있으며, 이러한 문턱전압의 차이를 이용하여 독출 동작이 수행된다. 2비트 멀티 레벨 셀 프로그램을 수행하는 경우에는 하나의 메모리 셀에 문턱전압이 서로 다른 네 개의 상태(‘11’, ‘01’, ‘00’, ‘10’)를 저장할 수 있다. 3비트 멀티 레벨 셀 프로그램을 수행하는 경우에는 하나의 메모리 셀에 문턱전압이 서로 다른 여덟 개의 상태(‘111’, ‘011’, ‘001’, ‘101’, ‘100’, ‘000’, ‘010’, ‘110’)를 저장할 수 있다. 이론적으로는 n비트 멀티 레벨 셀 프로그램 시 2^n 개의 서로 다른 상태를 저장하게 된다. 한편, 도면에 표시된 2 진수는 하나의 예를 나타내는 것일 뿐, 실시 예에 따라 변경될 수 있음은 당연하다.
이렇게 하나의 메모리 셀이 다양한 상태를 저장할 수 있는바, 이를 위해서는 프로그램 동작시에 각각 서로 다른 상태로 문턱전압을 상승시켜야 한다. 프로그램 동작은 각 셀의 문턱전압을 목표로 하는 문턱전압까지 상승시키는 것이다. 이론적으로는 동일한 프로그램 전압이 인가되면 동일한 정도로 문턱전압이 상승하여야 할 것이나, 실제 메모리 셀들의 특성이 균일하지는 않기 때문에, 다른 셀들에 비하여 프로그램 속도가 빠르거나 느린 셀들이 존재하게 된다. ISPP(Incremental step pulse program) 방식에 따라 프로그램을 수행하는 경우, 전체 셀 들이 목표로 하는 문턱전압 이상으로 프로그램될 때까지 프로그램 펄스를 지속적으로 인가하게 된다. 이때 프로그램 속도가 느린 셀이 포함되어 있는 경우, 해당 셀이 특정 문턱전압이상으로 프로그램 될 때까지 지속적으로 프로그램 펄스를 인가하여야 하므로 프로그램 동작에 소요되는 시간이 증가하게 된다. 도면을 참조하여 더욱 상세히 살펴보기로 한다.
도 2는 통상적인 불휘발성 메모리 셀의 프로그램 속도 차이를 도시한 도면이다.
초기 상태에서의 문턱전압은 제1 셀이 더욱 높은 것으로 가정한다. 그러나 제2 셀의 경우 한번의 프로그램 펄스가 인가시에 상승하는 문턱전압의 크기가 더 큰 것을 알 수 있다. 즉, 제2 셀의 프로그램 속도가 제1 셀의 프로그램 속도보다 빠른 상태이다. 이러한 경우 N 번의 프로그램 펄스가 인가된 후에 제2 셀의 문턱전압이 검증기준전압이상으로 상승하여 프로그램 동작이 완료 되나, 프로그램 속도가 느린 제1 셀은 m 번의 프로그램 펄스가 더 인가되어야 프로그램 동작이 완료된다. 즉, 프로그램 속도가 느린 셀이 존재함으로써, 전체 프로그램 동작에 소요되는 시간이 증가하게 된다.
이에 본원 발명에서는 프로그램 속도가 느린 셀들의 경우 특정 시점이후에 프로그램된 것으로 간주를 하고 프로그램 동작을 완료시키고자 한다. 프로그램 동 작과 관련하여 본원 발명에 사용될 페이지 버퍼의 구성을 살펴보기로 한다.
도 3은 본원 발명에 적용되는 불휘발성 메모리 장치의 페이지 버퍼를 도시한 회로도이다.
상기 페이지 버퍼(300)는 특정 셀과 접속된 비트라인을 감지노드와 선택적으로 접속시키는 비트라인 선택부(310), 감지노드에 하이레벨의 전원 전압을 인가하는 감지노드 프리차지부(320), 특정 셀에 프로그램시킬 데이터를 임시 저장하거나 특정 셀로부터 독출한 데이터를 임시 저장하는 제1 레지스터(330)와 제2 레지스터(340), 상기 감지노드의 레벨에 따라 상기 레지스터에 접지전압을 인가시키는 접지전압 공급부(350), 특정 레지스터(330, 340)에 저장된 데이터에 따라 검증 완료 여부를 알리는 검증신호 출력부(360)를 포함한다.
상기 페이지 버퍼(300)의 상세 구성은 당업자에게 공지되어 있는 내용이므로, 상세 구성에 대한 설명은 생략하기로 한다. 한편, 상기 페이지 버퍼(300)는 프로그램 동작 및 검증 동작시의 동작을 설명하기 위해 예시로 제시한 것으로서, 다양한 형태의 페이지 버퍼에 본원 발명이 적용될 수 있음은 당업자에게 자명한 내용일 것이다.
본 발명과 관련하여 프로그램 동작 및 검증 동작시 페이지 버퍼의 동작을 살펴보기로 한다.
프로그램 동작시에는 상기 제1 레지스터(330)의 래치(334)의 제1 노드(QA)에 저장된 데이터에 따라 프로그램 여부가 결정된다. 통상적으로는 제1 노드(QA)에 하 이레벨 데이터(‘1’)가 저장된 경우 소거 대상이 되며, 로우 레벨 데이터(‘0’)가 저장된 경우 프로그램 대상이 된다. 이는 데이터 전송부(332), 감지노드(SO)를 거쳐 각 비트라인에 인가된다.
상기 설정된 데이터에 따라 프로그램 동작이 수행된 후, 프로그램 대상 셀의 문턱전압이 검증기준전압 이상으로 상승하였는지 여부를 확인하는 검증동작을 수행한다. 검증 동작시에는 감지노드(SO)를 하이레벨로 프리차지 시켜둔다. 그리고 프로그램 대상 셀의 프로그램이 완료된 경우, 감지노드(SO)는 하이레벨을 그대로 유지한다. 그러나 소거 대상 셀 또는 프로그램 대상 셀임에도 기준전압이상으로 프로그램 되지 못한 경우에는 상기 감지노드(SO)는 로우 레벨로 디스차지 된다. 따라서 감지노드(SO)에 인가되는 전압 레벨을 근거로 프로그램 여부를 확인할 수 있게 된다. 즉, 프로그램 대상 셀이 기준전압이상으로 프로그램된 경우, 상기 감지노드(SO)가 하이레벨 상태를 유지하므로, 상기 접지 전압공급부(350)가 구동되고, 제1 데이터 설정신호(READA_N)를 데이터 설정부(336)에 인가시키면, 제1 노드(QA)에 하이레벨 데이터(‘1’)가 저장된다.
소거 대상 셀의 경우, 초기에 제1 노드(QA)에 하이레벨 데이터(‘1’)가 저장된 상태이고, 검증결과 상기 감지노드(SO)가 로우 레벨 상태가 될것이므로, 접지 전압공급부(350)가 구동되지 않아 상기 제1 노드(QA)에 저장되었던 하이 레벨 데이터(‘1’)가 그대로 유지된다.
프로그램 대상 셀 중 기준전압이상으로 프로그램되지 못한 셀의 경우, 검증결과 상기 감지노드(SO)가 로우 레벨 상태가 될 것이므로, 접지 전압공급부(350)가 구동되지 않아 상기 제1 노드(QA)에 저장되었던 로우 레벨 데이터(‘0’)가 그대로 유지된다. 즉, 프로그램 대상 셀임에도 프로그램이 완료되지 못한 경우에만 제1 노드(QA)에 로우 레벨 데이터(‘0’)가 저장된다. 이 데이터가 모두 하이레벨 데이터(‘1’)로 바뀔때까지 프로그램 동작이 계속된다. 한편, 검증 동작시에는 상기 검증신호 출력부(360)를 이용하여 검증의 완료 여부를 확인하게 된다. 즉, 제1 노드(QA)에 하이레벨 데이터가 저장된 경우 출력단이 플로팅상태가 되므로, 모든 페이지 버퍼의 검증신호 출력부(360)의 출력단이 플로팅 상태인지 여부로 검증의 완료여부를 확인하게 된다.
정리하면, 페이지 버퍼에 포함된 래치의 특정 노드에 저장된 데이터를 근거로 특정 셀의 프로그램 여부를 확인할 수 있다. 또한, 상기 특정 노드에 저장된 데이터를 외부로 출력시켜 프로그램 대상이면서 프로그램 되지 않은 셀, 즉 페일 셀의 개수를 확인 할 수 있다.
도 4는 통상의 불휘발성 메모리 장치의 프로그램 검증 동작시에 프로그램 속도에 따른 페이지 버퍼의 데이터의 변화를 도시한 표이다.
먼저 싱글 레벨 셀 프로그램의 경우, 정상셀은 N번째 프로그램 펄스가 인가된 뒤에 래치에 저장된 데이터가 모두 하이 레벨(‘1’)로 변경되었다. 그러나 프로그램 속도가 느린 슬로우 셀은 m 번의 프로그램 펄스가 더 인가된 후에야 래치에 저장된 데이터가 모두 하이 레벨(‘1’)로 변경되었다.
마찬가지로, 멀티 레벨 셀 프로그램의 경우, 제1 검증전압(PV1) 이상으로 프 로그램될 셀 중 정상 셀들은 N1 번째 프로그램 펄스가 인가된 뒤에 래치에 저장된 데이터가 모두 하이 레벨(‘1’)로 변경되었다. 그러나 제1 검증전압(PV1) 이상으로 프로그램될 셀 중 프로그램 속도가 느린 슬로우 셀은 m1 번의 프로그램 펄스가 더 인가된 후에야 래치에 저장된 데이터가 모두 하이 레벨(‘1’)로 변경되었다. 또한, 제2 검증전압(PV2) 이상으로 프로그램될 셀 중 정상 셀들은 N2 번째 프로그램 펄스가 인가된 뒤에 래치에 저장된 데이터가 모두 하이 레벨(‘1’)로 변경되었다. 그러나 제2 검증전압(PV2) 이상으로 프로그램될 셀 중 프로그램 속도가 느린 슬로우 셀은 m2 번의 프로그램 펄스가 더 인가된 후에야 래치에 저장된 데이터가 모두 하이 레벨(‘1’)로 변경되었다. 또한, 제3 검증전압(PV3) 이상으로 프로그램될 셀 중 정상 셀들은 N3 번째 프로그램 펄스가 인가된 뒤에 래치에 저장된 데이터가 모두 하이 레벨(‘1’)로 변경되었다. 그러나 제3 검증전압(PV3) 이상으로 프로그램될 셀 중 프로그램 속도가 느린 슬로우 셀은 m3 번의 프로그램 펄스가 더 인가된 후에야 래치에 저장된 데이터가 모두 하이 레벨(‘1’)로 변경되었다.
이에 본원 발명에서는 슬로우 셀들이 모두 프로그램 될 때까지 프로그램 펄스를 인가하지 않고, 특정시점에 프로그램이 완료된 것으로 처리하고자 한다. 즉, 인위적으로 페이지 버퍼의 래치에 저장된 데이터를 변경하는 것이다.
도 5는 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 동작시에 프로그램 속도에 따른 페이지 버퍼의 데이터의 변화를 도시한 표이다.
먼저 싱글 레벨 셀 프로그램의 경우, N 번의 프로그램 펄스가 인가된 후에도 프로그램이 완료되지 않은 슬로우 셀이 있는 경우, 특정 시점에 해당 셀들의 페이지 버퍼에 저장된 데이터를 인위적으로 변경시킨다. 즉 제1 노드(QA)에 저장된 로우 레벨의 데이터를 하이레벨로 변경시킨다.
멀티 레벨 셀 프로그램의 경우도 마찬가지로, 각 검증전압을 기준으로 하는 검증동작 수행후에도 슬로우 셀이 있는 경우에는, 특정 시점에 해당 셀들의 페이지 버퍼에 저장된 데이터를 인위적으로 변경시킨다. 즉 제1 노드(QA)에 저장된 로우 레벨의 데이터를 하이레벨로 변경시킨다.
이제 상기 특정 시점과 슬로우 셀의 데이터 설정 방법에 대하여 살펴보기로 한다.
도 6은 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 도시한 순서도이다.
먼저 프로그램 동작을 수행한다(단계 610). ISPP 프로그램 동작에 따라 프로그램 대상 셀이 포함된 페이지에 프로그램 펄스를 인가한다. 상기 프로그램 동작에 의하여, 프로그램 대상 셀들의 문턱전압이 상승하게 된다.
다음으로, 프로그램 대상 셀들이 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 620). 앞서 설명한 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 전체 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 프로그램이 완료된 것으로 본다.
상기 확인 결과 프로그램이 완료된 경우에는 프로그램 동작이 종료된다.
그러나 상기 확인 결과 프로그램 대상 셀들 중 검증전압이상으로 프로그램되지 않은 셀이 있는 경우에는 그렇지 못한 셀들의 개수, 즉 페일 비트의 개수를 카운팅한다(단계 630). 페일 비트의 경우 제1 노드(QA)에 프로그램 완료된 셀과는 상이한 레벨의 데이터가 저장된다. 따라서 각 페이지 버퍼에 저장된 데이터를 외부로 출력시켜 각 데이터의 레벨을 기준으로 페일 비트를 카운트할 수 있다. 이러한 기능을 수행하는 것으로 페일 비트 카운터등이 사용되고 있다.
다음으로, 상기 카운팅한 페일 비트의 개수가 불휘발성 메모리 장치의 ECC(Error correction code) 처리 비트수보다 작은지 여부를 확인한다(단계 640). 최근 불휘발성 메모리 장치에서는 ECC 알고리즘을 이용하여 데이터를 저장하고, 독출시에 ECC 알고리즘을 이용하여 오류가 있는 데이터를 수정한다. 이러한 ECC 알고리즘은 제어부를 통하여 수행되며, 본원 발명은 ECC 알고리즘이 사용되는 불휘발성 메모리 장치에 한하여 적용될 수 있다. 이때, 불휘발성 메모리 장치에 사용되는 ECC 알고리즘의 처리능력은 제어부에 사용되는 프로세서의 처리능력에 따라 미리 설정된다. 예를 들어, n비트의 에러를 처리할 수 있는 ECC 알고리즘을 사용한다면, n비트 이하의 에러 발생시에는 ECC 알고리즘을 통해 해당 에러를 정정할 수 있으나, 그 이상의 에러 발생시에는 ECC 알고리즘으로도 처리가 불가능하다. 즉, 페일 비트 수의 개수가 ECC 처리 비트수의 이하인 경우에는 ECC 알고리즘을 통해 에러 정정이 가능하므로, 해당 셀이 포함된 메모리 셀들에 대해서도 검증이 완료된 것으로 판단하는 것이다.
상기 판단결과 페일 비트수가 ECC 처리 비트 수 보다 큰 경우에는 ECC에 의 한 에러 정정이 불가능한 상태이므로, 상기 프로그램 동작을 반복한다(단계 640, 660, 610). 즉, 프로그램 전압을 스텝전압 만큼 증가시켜 프로그램 동작을 반복수행한다.
그러나 상기 판단결과 페일 비트수가 ECC 처리 비트 수 보다 작은 경우에는 ECC에 의한 에러 정정이 가능한 상태이므로, 검증이 완료된 것으로 보고, 페일 비트가 출력된 페이지 버퍼가 패스신호를 출력하도록 데이터를 설정한다(단계 640, 650).
앞서 설명한 바와 같이 검증 동작의 수행으로 각 페이지 버퍼에 포함된 래치의 제1 노드(QA)에는 셀의 상태에 따라 하이레벨 또는 로우레벨 데이터가 저장된다. 검증전압이상으로 프로그램 완료된 셀의 경우 상기 제1 노드(QA)에 하이레벨 데이터가 저장된다면, 프로그램 완료되지 못한 셀의 경우 로우레벨 데이터가 저장된다. 즉, 페일 비트가 출력된 페이지 버퍼의 제1 노드(QA)에는 로우레벨 데이터가 저장된다. 본원 발명에서는 이를 하이레벨 데이터가 저장되도록 한다. 즉, 전체 페이지 버퍼의 감지노드(SO)를 하이레벨로 프리차지시켜 접지 전압 공급부(350)를 구동시키고, 상기 제1 데이터 설정신호(READA_N)를 인가하여 제1 노드(QA)에 하이레벨 데이터를 저장시킨다.
상기 단계(650)를 수행하면, 전체 셀이 검증전압 이상으로 프로그램된 것으로, 즉 패스된 것으로 데이터가 설정되므로, 이후 프로그램 동작을 더 수행하지 않고 종료시킨다.
도 7은 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 도시한 순서도이다.
상기 방법은 2비트 멀티 레벨 셀 프로그램 동작시에 적용가능하다. 2비트 멀티 레벨 셀 프로그램 동작 중 MSB 비트 프로그램 동작시에는 총 세 개의 검증전압(PV1, PV2, PV3)을 기준으로 검증 동작을 수행한다.
먼저 프로그램 동작을 수행한다(단계 710). ISPP 프로그램 동작에 따라 프로그램 대상 셀이 포함된 페이지에 프로그램 펄스를 인가한다. 상기 프로그램 동작에 의하여, 프로그램 대상 셀들의 문턱전압이 상승하게 된다.
다음으로, 제1 프로그램 대상 셀들이 제1 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 720). 상기 제1 프로그램 대상 셀들은 제1 검증전압(PV1)이상 제2 검증전압(PV2) 미만으로 프로그램될 셀들이다. 앞서 설명한 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 제1 프로그램 대상 셀들의 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 프로그램이 완료된 것으로 본다. 이때, 동일 페이지에 포함된 제2 및 제3 프로그램 대상 셀들은 상기 검증동작이 수행되지 않도록 차단한다. 상기 차단 방법은 당업자에게 공지된 사항인바 상세 내용에 대한 설명은 생략하기로 한다.
상기 동작 수행결과 제1 검증전압보다 낮게 프로그램된 제1 프로그램 대상 셀들이 있는 경우에는 페일비트수에 따른 페이지 버퍼 데이터 설정동작을 수행한다(단계 722).
상기 데이터 설정동작은 도 6에서 설명한 동작과 거의 동일하다.
즉, 제1 프로그램 대상 셀들 중 제1 검증전압이상으로 프로그램되지 못한 페일 셀들의 개수를 카운팅하고(단계 760), 페일 비트 수가 ECC 처리 비트 수 보다 작은 경우에는 페일 비트가 출력된 페이지 버퍼가 패스신호를 출력하도록 데이터를 설정한다(단계 764). 상세 동작은 도 6과 동일하다. 한편, 상기 제2 및 제3 프로그램 대상 셀들은 차단된 상태이므로, 제1 프로그램 대상 셀들의 페이지 버퍼에 대해서만 상기 데이터 설정동작이 수행된다.
다음으로, 제2 프로그램 대상 셀들이 제2 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 730). 상기 제2 프로그램 대상 셀들은 제2 검증전압(PV2)이상 제3 검증전압(PV3) 미만으로 프로그램될 셀들이다. 앞서 설명한 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 제2 프로그램 대상 셀들의 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 프로그램이 완료된 것으로 본다. 이때, 동일 페이지에 포함된 제1 및 제3 프로그램 대상 셀들은 상기 검증동작이 수행되지 않도록 차단한다.
상기 동작 수행결과 제2 검증전압보다 낮게 프로그램된 제2 프로그램 대상 셀들이 있는 경우에는 페일비트수에 따른 페이지 버퍼 데이터 설정동작을 수행한다(단계 732).
상기 데이터 설정동작은 앞서 설명한 동작과 거의 동일하다.
즉, 제2 프로그램 대상 셀들 중 제2 검증전압이상으로 프로그램되지 못한 페일 셀들의 개수를 카운팅하고(단계 760), 페일 비트 수가 ECC 처리 비트 수 보다 작은 경우에는 페일 비트가 출력된 페이지 버퍼가 패스신호를 출력하도록 데이터를 설정한다(단계 764).
상기 제1 및 제3 프로그램 대상 셀들은 차단된 상태이므로, 제2 프로그램 대상 셀들의 페이지 버퍼에 대해서만 상기 데이터 설정동작이 수행된다.
다음으로, 제3 프로그램 대상 셀들이 제3 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 740). 상기 제3 프로그램 대상 셀들은 제3 검증전압(PV3)이상 으로 프로그램될 셀들이다. 앞서 설명한 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 제3 프로그램 대상 셀들의 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 프로그램이 완료된 것으로 본다. 이때, 동일 페이지에 포함된 제1 및 제2 프로그램 대상 셀들은 상기 검증동작이 수행되지 않도록 차단한다.
상기 동작 수행결과 제3 검증전압보다 낮게 프로그램된 제3 프로그램 대상 셀들이 있는 경우에는 페일비트수에 따른 페이지 버퍼 데이터 설정동작을 수행한다(단계 742).
상기 데이터 설정동작은 앞서 설명한 동작과 거의 동일하다.
즉, 제3 프로그램 대상 셀들 중 제3 검증전압이상으로 프로그램되지 못한 페일 셀들의 개수를 카운팅하고(단계 760), 페일 비트 수가 ECC 처리 비트 수 보다 작은 경우에는 페일 비트가 출력된 페이지 버퍼가 패스신호를 출력하도록 데이터를 설정한다(단계 764).
상기 제1 및 제2 프로그램 대상 셀들은 차단된 상태이므로, 제3 프로그램 대상 셀들의 페이지 버퍼에 대해서만 상기 데이터 설정동작이 수행된다.
이와 같은 동작을 수행하여 전체 메모리 셀들이 각 검증전압이상으로 프로그램된 경우에는 프로그램 동작을 종료하고, 그렇지 않은 경우에는 프로그램 전압을 증가시켜 프로그램 동작을 반복한다(단계 750, 752, 710).
도 6과 도 7의 방법에서는 페일 비트의 개수를 ECC 처리비트수와 비교하여 검증동작을 더 수행할지 여부를 판단하였다. 즉, 한 페이지에 포함된 페일 비트의 개수가 ECC 처리비트수 보다 작은 경우에는 검증동작을 종료하고, 페일 비트가 모두 패스된 상태로 보기 위하여 페이지 버퍼의 데이터 설정을 변경시킨다. 페일 비트가 출력되었던 셀의 경우 검증전압이하로 프로그램되었으므로, 이후 독출 동작시 프로그램되지 않은 셀로 독출될 것이나, ECC 처리 알고리즘을 수행할 경우 에러 정정이 가능하므로 실제 출력되는 결과에는 문제가 없게 된다.
이제 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 살펴보기로 한다. 본 실시예에서는 일반 메모리 셀들 중 일부의 셀들을 샘플 셀로 지정하고, 해당 셀들의 검증완료 여부를 근거로 검증동작을 더 수행할지 여부를 판단한다. 상기 샘플 셀은 일반 메모리 셀과 동일한 물성을 갖는 셀로 추출한다. 도면을 통해 상세 동작을 살펴보기로 한다.
도 8은 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 도시한 순서도이다.
먼저 프로그램 동작을 수행한다(단계 810). ISPP 프로그램 동작에 따라 프로그램 대상 셀이 포함된 페이지에 프로그램 펄스를 인가한다. 상기 프로그램 동작에 의하여, 프로그램 대상 셀들의 문턱전압이 상승하게 된다.
다음으로, 프로그램 대상 셀들이 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 820). 앞서 설명한 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 전체 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 프로그램이 완료된 것으로 본다.
상기 확인 결과 프로그램이 완료된 경우에는 프로그램 동작이 종료된다.
그러나 상기 확인 결과 프로그램 대상 셀들 중 검증전압이상으로 프로그램되지 않은 셀이 있는 경우에는 샘플 셀들이 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 830).
즉 샘플 셀들과 접속된 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 상기 샘플 셀들과 접속된 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 샘플 셀들의 프로그램이 완료된 것으로 본다.
다음으로, 상기 샘플 셀들이 검증전압이상으로 프로그램 완료된 경우에는, 슬로우 셀들에 대하여 추가적으로 프로그램/검증 동작을 수행하지 않고, 페일비트가 출력된 페이지 버퍼가 패스신호를 출력하도록 데이터를 설정한다(단계 840). 상기 페이지 버퍼를 이용한 데이터 설정방법은 앞서 설명한 방법과 같다.
상기 단계(840)를 수행하면, 전체 셀이 검증전압 이상으로 프로그램된 것으로, 즉 패스된 것으로 데이터가 설정되므로, 이후 프로그램 동작을 더 수행하지 않 고 종료시킨다.
도 9는 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 도시한 순서도이다.
상기 방법은 2비트 멀티 레벨 셀 프로그램 동작시에 적용가능하다. 2비트 멀티 레벨 셀 프로그램 동작 중 MSB 비트 프로그램 동작시에는 총 세 개의 검증전압(PV1, PV2, PV3)을 기준으로 검증 동작을 수행한다.
먼저 프로그램 동작을 수행한다(단계 910). ISPP 프로그램 동작에 따라 프로그램 대상 셀이 포함된 페이지에 프로그램 펄스를 인가한다. 상기 프로그램 동작에 의하여, 프로그램 대상 셀들의 문턱전압이 상승하게 된다.
다음으로, 제1 프로그램 대상 셀들이 제1 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 920). 앞서 설명한 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 제1 프로그램 대상 셀들의 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 프로그램이 완료된 것으로 본다. 이때, 동일 페이지에 포함된 제2 및 제3 프로그램 대상 셀들은 상기 검증동작이 수행되지 않도록 차단한다.
상기 동작 수행결과 제1 검증전압보다 낮게 프로그램된 제1 프로그램 대상 셀들이 있는 경우에는 샘플 셀들의 상태에 따른 페이지 버퍼 데이터 설정동작을 수행한다(단계 922).
상기 데이터 설정동작은 도 8에서 설명한 동작과 거의 동일하다.
다만, 도 8과는 달리 샘플 셀들을 제1 프로그램 대상 셀, 제2 프로그램 대상 셀, 제3 프로그램 대상 셀로 구분한다. 즉, 샘플 셀들 내에서 제1 검증전압 이상으로 프로그램할 셀, 제2 검증전압 이상으로 프로그램할 셀, 제3 검증전압이상으로 프로그램할 셀을 지정한다.
따라서 샘플 셀들 중 제1 프로그램 대상 셀들이 제1 검증전압이상으로 프로그램되었는지 여부를 확인한 후, 프로그램이 완료된 경우에는 페일 비트가 출력된 페이지 버퍼가 패스신호를 출력하도록 데이터를 설정한다(단계 962). 상기 페이지 버퍼를 이용한 데이터 설정방법은 앞서 설명한 방법과 같다. 한편, 상기 제2 및 제3 프로그램 대상 셀들은 차단된 상태이므로, 제1 프로그램 대상 셀들의 페이지 버퍼에 대해서만 상기 데이터 설정동작이 수행된다.
다음으로, 제2 프로그램 대상 셀들이 제2 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 930). 상기 제2 프로그램 대상 셀들은 제2 검증전압(PV2)이상 제3 검증전압(PV3) 미만으로 프로그램될 셀들이다. 앞서 설명한 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 제2 프로그램 대상 셀들의 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 프로그램이 완료된 것으로 본다. 이때, 동일 페이지에 포함된 제1 및 제3 프로그램 대상 셀들은 상기 검증동작이 수행되지 않도록 차단한다.
상기 동작 수행결과 제2 검증전압보다 낮게 프로그램된 제2 프로그램 대상 셀들이 있는 경우에는 샘플 셀들의 상태에 따른 페이지 버퍼 데이터 설정동작을 수행한다(단계 932).
상기 데이터 설정동작은 앞서 설명한 동작과 거의 동일하다.
즉, 샘플 셀들 중 제2 프로그램 대상 셀들이 제2 검증전압이상으로 프로그램되었는지 여부를 확인한후, 프로그램이 완료된 경우에는 페일 비트가 출력된 페이지 버퍼가 패스신호를 출력하도록 데이터를 설정한다(단계 962). 상기 페이지 버퍼를 이용한 데이터 설정방법은 앞서 설명한 방법과 같다. 한편, 상기 제1 및 제3 프로그램 대상 셀들은 차단된 상태이므로, 제2 프로그램 대상 셀들의 페이지 버퍼에 대해서만 상기 데이터 설정동작이 수행된다.
다음으로, 제3 프로그램 대상 셀들이 제3 검증전압이상으로 프로그램되었는지 여부를 확인한다(단계 940). 상기 제3 프로그램 대상 셀들은 제3 검증전압(PV3)이상 으로 프로그램될 셀들이다. 앞서 설명한 페이지 버퍼의 래치에 저장된 데이터를 기준으로 확인한다. 예를 들어, 제3 프로그램 대상 셀들의 페이지 버퍼의 상기 제1 노드(QA)에 하이 레벨 데이터가 저장된 경우는 프로그램이 완료된 것으로 본다. 이때, 동일 페이지에 포함된 제1 및 제2 프로그램 대상 셀들은 상기 검증동작이 수행되지 않도록 차단한다.
상기 동작 수행결과 제3 검증전압보다 낮게 프로그램된 제3 프로그램 대상 셀들이 있는 경우에는 샘플 셀들의 상태에 따른 페이지 버퍼 데이터 설정동작을 수행한다(단계 942).
상기 데이터 설정동작은 앞서 설명한 동작과 거의 동일하다.
즉, 샘플 셀들 중 제3 프로그램 대상 셀들이 제3 검증전압이상으로 프로그램 되었는지 여부를 확인한후, 프로그램이 완료된 경우에는 페일 비트가 출력된 페이지 버퍼가 패스신호를 출력하도록 데이터를 설정한다(단계 972). 상기 페이지 버퍼를 이용한 데이터 설정방법은 앞서 설명한 방법과 같다. 한편, 상기 제1 및 제2 프로그램 대상 셀들은 차단된 상태이므로, 제3 프로그램 대상 셀들의 페이지 버퍼에 대해서만 상기 데이터 설정동작이 수행된다.
이와 같은 동작을 수행하여 전체 메모리 셀들이 각 검증전압이상으로 프로그램된 경우에는 프로그램 동작을 종료하고, 그렇지 않은 경우에는 프로그램 전압을 증가시켜 프로그램 동작을 반복한다(단계 950, 952, 910).
도 8과 도 9의 방법에서는 샘플 셀들의 프로그램 상태를 확인하여 검증동작을 더 수행할지 여부를 판단하였다.
도 1은 통상적인 불휘발성 메모리 장치의 메모리 셀이 가질 수 있는 상태를 표시한 도면이다.
도 2는 통상적인 불휘발성 메모리 셀의 프로그램 속도 차이를 도시한 도면이다.
도 3은 본원 발명에 적용되는 불휘발성 메모리 장치의 페이지 버퍼를 도시한 회로도이다.
도 4는 통상의 불휘발성 메모리 장치의 프로그램 검증 동작시에 프로그램 속도에 따른 페이지 버퍼의 데이터의 변화를 도시한 표이다.
도 5는 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 동작시에 프로그램 속도에 따른 페이지 버퍼의 데이터의 변화를 도시한 표이다.
도 6은 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 도시한 순서도이다.
도 7은 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 도시한 순서도이다.
도 8은 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 도시한 순서도이다.
도 9는 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 검증 방법을 도시한 순서도이다.

Claims (16)

  1. 프로그램 동작을 수행하는 단계와,
    프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수를 카운팅하는 단계와,
    상기 페일 비트의 개수가 ECC(Error correction code) 처리 비트 수보다 작은 경우에는 전체 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와,
    상기 페일 비트의 개수가 상기 ECC 처리 비트 수보다 큰 경우에는 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  2. 제1항에 있어서, 상기 확인 결과 패스 셀들만 있는 경우에는 프로그램 동작을 종료하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  3. 제1항에 있어서, 상기 데이터를 설정하는 단계는 상기 페이지 버퍼의 감지노드를 하이레벨로 프리차지시켜 접지전압을 각 페이지 버퍼에 포함된 래치의 특정 노드에 공급하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  4. 프로그램 동작을 수행하는 단계와,
    제1 프로그램 대상 셀들이 제1 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수에 따라 제1 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와,
    제2 프로그램 대상 셀들이 제2 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수에 따라 제2 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와,
    제3 프로그램 대상 셀들이 제3 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 페일 셀들이 있는 경우에는 페일 비트의 개수에 따라 제3 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와,
    상기 전체 프로그램 대상 셀들이 각 검증 전압 이상으로 모두 프로그램될때 까지 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  5. 제4항에 있어서, 상기 데이터를 설정하는 단계는 상기 페이지 버퍼의 감지노드를 하이레벨로 프리차지시켜 접지전압을 각 페이지 버퍼에 포함된 래치의 특정 노드에 공급하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  6. 제4항에 있어서, 상기 페일 비트의 개수에 따라 제1 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계는
    페일 비트의 개수를 카운팅하는 단계와,
    상기 페일 비트의 개수가 ECC 처리 비트 수보다 작은 경우에는 제1 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  7. 제4항에 있어서, 상기 페일 비트의 개수에 따라 제2 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계는
    페일 비트의 개수를 카운팅하는 단계와,
    상기 페일 비트의 개수가 ECC 처리 비트 수보다 작은 경우에는 제2 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계를 포 함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  8. 제4항에 있어서, 상기 페일 비트의 개수에 따라 제3 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계는
    페일 비트의 개수를 카운팅하는 단계와,
    상기 페일 비트의 개수가 ECC 처리 비트 수보다 작은 경우에는 제3 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  9. 일반 메모리 셀들 및 샘플 셀들에 대하여 프로그램 동작을 수행하는 단계와,
    프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 페일 셀들이 있는 경우에는 상기 샘플 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 상기 샘플 셀들이 검증 전압 이상으로 모두 프로그램된 경우에는 전체 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와,
    상기 확인 결과 검증 전압보다 낮게 프로그램된 샘플 셀이 있는 경우에는 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  10. 제9항에 있어서, 상기 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램된 경우에는 프로그램 동작을 종료하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  11. 제9항에 있어서, 상기 데이터를 설정하는 단계는 상기 페이지 버퍼의 감지노드를 하이레벨로 프리차지시켜 접지전압을 각 페이지 버퍼에 포함된 래치의 특정 노드에 공급하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  12. 일반 메모리 셀들 및 샘플 셀들에 대하여 프로그램 동작을 수행하는 단계와,
    제1 프로그램 대상 셀들이 제1 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 페일 셀들이 있는 경우에는 상기 샘플 셀들의 상태에 따라 제1 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와,
    제2 프로그램 대상 셀들이 제2 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 페일 셀들이 있는 경우에는 상기 샘플 셀들의 상태에 따라 제2 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와,
    제3 프로그램 대상 셀들이 제3 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 페일 셀들이 있는 경우에는 상기 샘플 셀들의 상태에 따라 제3 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계와,
    상기 전체 프로그램 대상 셀들이 각 검증 전압 이상으로 모두 프로그램될 때까지 프로그램 전압을 증가시켜 상기 프로그램 동작을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  13. 제12항에 있어서, 상기 데이터를 설정하는 단계는 상기 페이지 버퍼의 감지노드를 하이레벨로 프리차지시켜 접지전압을 각 페이지 버퍼에 포함된 래치의 특정 노드에 공급하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  14. 제12항에 있어서, 상기 샘플 셀들의 상태에 따라 제1 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계는
    샘플 셀들에 포함된 제1 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 상기 샘플 셀들에 포함된 제1 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램된 경우에는 상기 제1 프로그램 대상 셀들의 페이지 버 퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  15. 제12항에 있어서, 상기 샘플 셀들의 상태에 따라 제2 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계는
    샘플 셀들에 포함된 제2 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 상기 샘플 셀들에 포함된 제2 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램된 경우에는 상기 제2 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
  16. 제12항에 있어서, 상기 샘플 셀들의 상태에 따라 제3 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계는
    샘플 셀들에 포함된 제3 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램되었는지 확인하는 단계와,
    상기 확인 결과 상기 샘플 셀들에 포함된 제3 프로그램 대상 셀들이 검증 전압 이상으로 모두 프로그램된 경우에는 상기 제3 프로그램 대상 셀들의 페이지 버퍼가 패스 신호를 출력하도록 데이터를 설정하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 검증 방법.
KR1020080046615A 2008-05-20 2008-05-20 불휘발성 메모리 장치의 프로그램 검증 방법 KR101014926B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080046615A KR101014926B1 (ko) 2008-05-20 2008-05-20 불휘발성 메모리 장치의 프로그램 검증 방법
US12/469,346 US7965553B2 (en) 2008-05-20 2009-05-20 Method of verifying a program operation in a non-volatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080046615A KR101014926B1 (ko) 2008-05-20 2008-05-20 불휘발성 메모리 장치의 프로그램 검증 방법

Publications (2)

Publication Number Publication Date
KR20090120685A KR20090120685A (ko) 2009-11-25
KR101014926B1 true KR101014926B1 (ko) 2011-02-15

Family

ID=41342020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080046615A KR101014926B1 (ko) 2008-05-20 2008-05-20 불휘발성 메모리 장치의 프로그램 검증 방법

Country Status (2)

Country Link
US (1) US7965553B2 (ko)
KR (1) KR101014926B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101394950B1 (ko) * 2013-03-27 2014-05-14 (주)니모스텍 천이 슬로프 기반 에러 확인 회로 및 이를 포함하는 플래시 메모리 장치
KR20140091839A (ko) * 2013-01-14 2014-07-23 삼성전자주식회사 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101074539B1 (ko) * 2009-02-04 2011-10-17 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US8384065B2 (en) * 2009-12-04 2013-02-26 International Business Machines Corporation Gate-all-around nanowire field effect transistors
US8455334B2 (en) * 2009-12-04 2013-06-04 International Business Machines Corporation Planar and nanowire field effect transistors
US8097515B2 (en) * 2009-12-04 2012-01-17 International Business Machines Corporation Self-aligned contacts for nanowire field effect transistors
US8143113B2 (en) * 2009-12-04 2012-03-27 International Business Machines Corporation Omega shaped nanowire tunnel field effect transistors fabrication
US8173993B2 (en) * 2009-12-04 2012-05-08 International Business Machines Corporation Gate-all-around nanowire tunnel field effect transistors
US8129247B2 (en) * 2009-12-04 2012-03-06 International Business Machines Corporation Omega shaped nanowire field effect transistors
US8722492B2 (en) 2010-01-08 2014-05-13 International Business Machines Corporation Nanowire pin tunnel field effect devices
KR101662309B1 (ko) * 2010-02-08 2016-10-04 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20120004742A (ko) * 2010-07-07 2012-01-13 주식회사 하이닉스반도체 비휘발성 메모리 및 이의 프로그램 방법
KR101201582B1 (ko) * 2010-09-06 2012-11-14 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
JP2012133840A (ja) * 2010-12-20 2012-07-12 Samsung Yokohama Research Institute Co Ltd 半導体記憶装置、及び記憶方法
US8719647B2 (en) 2011-12-15 2014-05-06 Micron Technology, Inc. Read bias management to reduce read errors for phase change memory
US9036415B2 (en) * 2011-12-21 2015-05-19 Sandisk Technologies Inc. Mitigating variations arising from simultaneous multi-state sensing
KR20170065969A (ko) * 2015-12-04 2017-06-14 에스케이하이닉스 주식회사 메모리 장치 및 그의 동작방법
KR102423291B1 (ko) 2016-01-15 2022-07-20 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
KR102624620B1 (ko) * 2018-11-02 2024-01-15 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US11183267B2 (en) * 2019-07-12 2021-11-23 Micron Technology, Inc. Recovery management of retired super management units
KR20220022355A (ko) 2020-08-18 2022-02-25 삼성전자주식회사 멀티 페이지 데이터를 프로그램하기 위한 불휘발성 메모리 장치의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060092329A (ko) * 2005-02-17 2006-08-23 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그것의 페이지 버퍼 동작 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005353242A (ja) * 2004-06-14 2005-12-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
KR100739254B1 (ko) * 2006-02-08 2007-07-12 주식회사 하이닉스반도체 프로그램 동작의 패일을 감소시키는 플래시 메모리 장치의페이지 버퍼 회로 및 그 프로그램 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060092329A (ko) * 2005-02-17 2006-08-23 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그것의 페이지 버퍼 동작 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140091839A (ko) * 2013-01-14 2014-07-23 삼성전자주식회사 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법
KR102090589B1 (ko) * 2013-01-14 2020-03-18 삼성전자주식회사 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법
KR101394950B1 (ko) * 2013-03-27 2014-05-14 (주)니모스텍 천이 슬로프 기반 에러 확인 회로 및 이를 포함하는 플래시 메모리 장치

Also Published As

Publication number Publication date
US7965553B2 (en) 2011-06-21
KR20090120685A (ko) 2009-11-25
US20090290418A1 (en) 2009-11-26

Similar Documents

Publication Publication Date Title
KR101014926B1 (ko) 불휘발성 메모리 장치의 프로그램 검증 방법
KR100965071B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US9064580B2 (en) Nonvolatile semiconductor memory device and write-in method thereof
KR101039962B1 (ko) 불휘발성 메모리 소자 및 프로그램 방법
JP4901348B2 (ja) 半導体記憶装置およびその制御方法
TWI451422B (zh) 非揮發性記憶體中改良讀取操作之程式化不同大小邊限及在選擇狀態補償感測之方法和系統
KR101022882B1 (ko) 불휘발성 메모리 장치의 동작 방법
JP2008047273A (ja) 半導体記憶装置およびその制御方法
KR100953063B1 (ko) 불휘발성 메모리 장치의 소거 방법
KR101005117B1 (ko) 불휘발성 메모리 장치의 동작 방법
JP2007500411A (ja) オーバー・プログラミングされたメモリを検出する技術
JP2007500412A (ja) 隣接するメモリセルのプログラミングの後にオーバー・プログラミングされたメモリセルを検出する技術
KR20100012605A (ko) Ecc를 이용하여 프로그램하는 불휘발성 메모리 장치 및그 프로그램 방법
KR100967008B1 (ko) 불휘발성 메모리 장치 및 그 동작 방법
KR20100033816A (ko) 비휘발성 메모리 장치의 프로그램 방법
JP2009070539A (ja) 不揮発性メモリ装置及びそのマルチレベルセルプログラム方法
JP2010287306A (ja) データ値分布に基づいてプログラム状態決定を利用するメモリ装置、及びその駆動方法
US8351270B2 (en) Nonvolatile memory device and method of programming the device
US9576683B2 (en) Systems and methods for hard error reduction in a solid state memory device
KR100933860B1 (ko) 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법
JP2011044200A (ja) 不揮発性半導体記憶装置
KR102528274B1 (ko) 비휘발성 메모리 장치 및 그 구동 방법
KR20100013962A (ko) 불휘발성 메모리 장치의 프로그램 방법
KR100938044B1 (ko) 불휘발성 메모리 장치 및 그 멀티 레벨 셀 프로그램 방법
WO2017075747A1 (en) Methods, systems, and media for programming storage device

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160121

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170124

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180122

Year of fee payment: 8