KR101662309B1 - 비휘발성 메모리 장치의 프로그램 방법 - Google Patents
비휘발성 메모리 장치의 프로그램 방법 Download PDFInfo
- Publication number
- KR101662309B1 KR101662309B1 KR1020100011624A KR20100011624A KR101662309B1 KR 101662309 B1 KR101662309 B1 KR 101662309B1 KR 1020100011624 A KR1020100011624 A KR 1020100011624A KR 20100011624 A KR20100011624 A KR 20100011624A KR 101662309 B1 KR101662309 B1 KR 101662309B1
- Authority
- KR
- South Korea
- Prior art keywords
- voltage
- memory cells
- program
- pass
- verify
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
비휘발성 메모리 장치의 프로그램 방법에 의하면, 프로그램 전압 및 제 1 내지 제 2 검증 전압에 기초하여 증가형 스텝 펄스 프로그램 동작을 수행하고, 제 1 검증 전압에 기초한 메모리 셀들의 제 1 패스-패일 결과에 따라 프로그램 전압의 증가분을 변경하며, 제 2 검증 전압에 기초한 메모리 셀들의 제 2 패스-패일 결과에 따라 증가형 스텝 펄스 프로그램 동작을 종료한다.
Description
본 발명은 반도체 메모리 장치에 관한 것으로, 보다 상세하게는 비휘발성 메모리 장치의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 전원이 공급되지 않는 상태에서 데이터를 보존할 수 있는지에 따라 휘발성 메모리 장치와 비휘발성 메모리 장치로 분류될 수 있다. 최근, 전자 기기가 저전력화 및 소형화됨에 따라 비휘발성 메모리 장치 중에서 플래시 메모리 장치(flash memory device)가 널리 사용되고 있다. 일반적으로, 플래시 메모리 장치에서는 터널링 현상을 이용하여 메모리 셀들을 프로그램하는데, 프로그램 상태의 문턱 전압 산포를 조밀하게 하기 위하여 증가형 스텝 펄스 프로그램(Incremental Step Pulse Program; ISPP) 방식이 적용되고 있다.
증가형 스텝 펄스 프로그램 방식은 프로그램 루프마다 프로그램 전압을 인가함으로써 메모리 셀들을 프로그램하고, 메모리 셀들의 문턱 전압을 검증 전압과 비교함으로써 프로그램 상태를 검증하며, 문턱 전압이 검증 전압까지 상승되지 않은 메모리 셀들에 일정한 스텝(step)만큼 증가된 프로그램 전압을 인가함으로써 프로그램을 반복한다. 이 때, 문턱 전압이 검증 전압까지 상승한 메모리 셀들에 대해서는 프로그램을 종료한다.
이와 같이, 증가형 스텝 펄스 프로그램 방식에서는 프로그램 루프마다 프로그램 전압이 일정한 스텝만큼 증가하게 된다. 그러나, 종래의 증가형 스텝 펄스 프로그램 방식은 기 설정된 스텝만큼 프로그램 전압을 증가시키기 때문에, 기 설정된 스텝이 상대적으로 큰 경우에는 프로그램 전압이 과도하게 증가되어 문턱 전압 산포의 폭이 커지며, 프로그램 디스터브(program disturb)와 불필요한 전력 소비가 발생할 수 있고, 기 설정된 스텝이 상대적으로 작은 경우에는 프로그램 루프 횟수가 과도하게 증가되어 비휘발성 메모리 장치의 성능이 저하될 수 있다.
본 발명의 일 목적은 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서, 메모리 셀들의 프로그램 상태를 반영하여 프로그램 전압의 증가분을 적응적으로(adaptively) 감소시킬 수 있는 비휘발성 메모리 장치의 프로그램 방법을 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 비휘발성 메모리 장치에서 프로그램 전압 및 제 1 내지 제 2 검증 전압에 기초하여 증가형 스텝 펄스 프로그램 동작을 수행하고, 상기 제 1 검증 전압에 기초한 메모리 셀들의 제 1 패스-패일 결과에 따라 상기 프로그램 전압의 증가분을 변경하며, 상기 제 2 검증 전압에 기초한 상기 메모리 셀들의 제 2 패스-패일 결과에 따라 상기 증가형 스텝 펄스 프로그램 동작을 종료할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 1 검증 전압은 상기 제 2 검증 전압보다 작거나 같을 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 2 검증 전압은 목표 문턱 전압에 상응할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서, 상기 메모리 셀들에 상기 프로그램 전압을 인가하여 상기 메모리 셀들의 문턱 전압들을 상승시키고, 상기 메모리 셀들의 문턱 전압들을 상기 제 1 검증 전압과 비교하여 상기 제 1 패스-패일 결과를 생성하며, 상기 메모리 셀들의 문턱 전압들을 상기 제 2 검증 전압과 비교하여 상기 제 2 패스-패일 결과를 생성할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 1 패스-패일 결과의 생성은 기 설정된 횟수만큼의 프로그램 루프가 진행된 시점 이후부터 수행될 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 1 패스-패일 결과의 생성은 상기 증가분이 변경된 시점 이후부터 수행되지 않을 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 1 패스-패일 결과의 생성 및 상기 제 2 패스-패일 결과의 생성은 상기 증가분이 변경된 시점 이후부터 수행되지 않을 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 1 패스-패일 결과를 생성함에 있어서, 상기 제 1 검증 전압보다 작은 문턱 전압을 갖는 상기 메모리 셀들을 제 1 패일 메모리 셀로 판단하고, 상기 제 1 검증 전압보다 큰 문턱 전압을 갖는 상기 메모리 셀들을 제 1 패스 메모리 셀로 판단할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 증가분을 변경함에 있어서, 상기 메모리 셀들 중에서 상기 제 1 패일 메모리 셀이 존재하면 상기 증가분을 유지시키고, 상기 메모리 셀들 중에서 상기 제 1 패일 메모리 셀이 존재하지 않으면 상기 증가분을 감소시킬 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 2 패스-패일 결과를 생성함에 있어서, 상기 제 2 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀들을 제 2 패일 메모리 셀로 판단하고, 상기 제 2 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀들을 제 2 패스 메모리 셀로 판단할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 증가형 스텝 펄스 프로그램 동작을 종료함에 있어서, 상기 메모리 셀들 중에서 상기 제 2 패일 메모리 셀이 존재하면 상기 증가형 스텝 펄스 프로그램 동작을 유지시키고, 상기 메모리 셀들 중에서 상기 제 2 패일 메모리 셀이 존재하지 않으면 상기 증가형 스텝 펄스 프로그램 동작을 종료시킬 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 비휘발성 메모리 장치는 낸드(NAND) 플래시 메모리 장치 또는 노어(NOR) 플래시 메모리 장치일 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 메모리 셀들은 싱글 레벨 셀(single level cell; SLC) 또는 멀티 레벨 셀(multi level cell; MLC)일 수 있다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 비휘발성 메모리 장치에서 프로그램 전압 및 제 1 내지 제 n (단, n은 2이상의 정수) 검증 전압에 기초하여 증가형 스텝 펄스 프로그램 동작을 수행하고, 상기 제 1 내지 제 n-1 검증 전압에 기초한 상기 메모리 셀들의 제 1 내지 제 n-1 패스-패일 결과에 따라 프로그램 전압의 증가분을 변경하며, 제 n 검증 전압에 기초한 상기 메모리 셀들의 제 n 패스-패일 결과에 따라 상기 증가형 스텝 펄스 프로그램 동작을 종료할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 증가분은 제 1 내지 제 n-1 증가분을 포함할 수 있고, 상기 제 1 내지 제 n-1 증가분은 n이 증가함에 따라 작아질 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 1 내지 제 n 검증 전압은 n이 증가함에 따라 커지거나 또는 같을 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 n 검증 전압은 목표 문턱 전압에 상응할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서, 상기 메모리 셀들에 상기 프로그램 전압을 인가하여 상기 메모리 셀들의 문턱 전압들을 상승시키고, 상기 메모리 셀들의 문턱 전압들을 상기 제 1 내지 제 n 검증 전압과 비교하여 상기 제 1 내지 제 n 패스-패일 결과를 생성할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 제 1 내지 제 n 패스-패일 결과를 생성함에 있어서, 상기 제 1 내지 제 n 검증 전압보다 작은 문턱 전압을 갖는 상기 메모리 셀들을 각각 제 1 내지 제 n 패일 메모리 셀로 판단하고, 상기 제 1 내지 제 n 검증 전압보다 큰 문턱 전압을 갖는 상기 메모리 셀들을 각각 제 1 내지 제 n 패스 메모리 셀로 판단할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 증가분을 변경함에 있어서, 상기 메모리 셀들 중에서 상기 제 1 내지 제 n-1 패일 메모리 셀이 존재하면 상기 증가분을 각각 상기 제 1 내지 제 n-1 증가분으로 결정할 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 증가형 스텝 펄스 프로그램 동작을 종료함에 있어서, 상기 메모리 셀들 중에서 상기 제 n 패일 메모리 셀이 존재하면 상기 증가형 스텝 펄스 프로그램 동작을 유지시키고, 상기 메모리 셀들 중에서 상기 제 n 패일 메모리 셀이 존재하지 않으면 상기 증가형 스텝 펄스 프로그램 동작을 종료시킬 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 비휘발성 메모리 장치는 낸드 플래시 메모리 장치 또는 노어 플래시 메모리 장치일 수 있다.
상기 프로그램 방법의 실시예들에 의하면, 상기 메모리 셀들은 싱글 레벨 셀 또는 멀티 레벨 셀일 수 있다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법은 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서, 메모리 셀들의 프로그램 상태를 반영하여 프로그램 전압의 증가분을 적응적으로 감소시킴으로써, 문턱 전압 산포를 조밀하게 할 수 있고, 프로그램 전압의 과도한 상승에 따른 프로그램 디스터브와 불필요한 전력 소비를 방지할 수 있다. 뿐만 아니라, 복수의 검증 전압들에 기초하여 메모리 셀들의 프로그램 상태를 검증함으로써 공통 소스 라인(common source line) 노이즈에 의한 오차까지 보상할 수 있다.
다만, 본 발명의 효과는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 2는 도 1의 프로그램 방법을 구체적으로 나타내는 순서도이다.
도 3a 내지 도 3f는 도 1의 프로그램 방법에 의하여 메모리 셀들이 프로그램되는 일 예를 나타내는 도면이다.
도 4는 도 1의 프로그램 방법에 의하여 메모리 셀들에 프로그램 전압이 인가되는 일 예를 나타내는 도면이다.
도 5a 내지 도 5c는 도 1의 프로그램 방법에서 공통 소스 라인 노이즈에 의한 효과를 나타내는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 7a 내지 도 7b는 도 6의 프로그램 방법을 구체적으로 나타내는 순서도이다.
도 8a 내지 도 8f는 도 6의 프로그램 방법에 의하여 메모리 셀들이 프로그램되는 일 예를 나타내는 도면이다.
도 9는 도 6의 프로그램 방법에 의하여 메모리 셀들에 프로그램 전압이 인가되는 일 예를 나타내는 도면이다.
도 10은 본 발명의 실시예들에 따른 프로그램 방법을 수행하는 비휘발성 메모리 장치를 나타내는 블록도이다.
도 11은 도 10의 비휘발성 메모리 장치를 구비하는 메모리 시스템을 나타내는 블록도이다.
도 12는 도 11의 메모리 시스템을 구비하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 2는 도 1의 프로그램 방법을 구체적으로 나타내는 순서도이다.
도 3a 내지 도 3f는 도 1의 프로그램 방법에 의하여 메모리 셀들이 프로그램되는 일 예를 나타내는 도면이다.
도 4는 도 1의 프로그램 방법에 의하여 메모리 셀들에 프로그램 전압이 인가되는 일 예를 나타내는 도면이다.
도 5a 내지 도 5c는 도 1의 프로그램 방법에서 공통 소스 라인 노이즈에 의한 효과를 나타내는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 7a 내지 도 7b는 도 6의 프로그램 방법을 구체적으로 나타내는 순서도이다.
도 8a 내지 도 8f는 도 6의 프로그램 방법에 의하여 메모리 셀들이 프로그램되는 일 예를 나타내는 도면이다.
도 9는 도 6의 프로그램 방법에 의하여 메모리 셀들에 프로그램 전압이 인가되는 일 예를 나타내는 도면이다.
도 10은 본 발명의 실시예들에 따른 프로그램 방법을 수행하는 비휘발성 메모리 장치를 나타내는 블록도이다.
도 11은 도 10의 비휘발성 메모리 장치를 구비하는 메모리 시스템을 나타내는 블록도이다.
도 12는 도 11의 메모리 시스템을 구비하는 컴퓨팅 시스템을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 프로그램 전압 및 제 1 내지 제 2 검증 전압에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램(Incremental Step Pulse Program; ISPP) 동작을 수행(단계 S120)하는 동안에, 제 1 검증 전압에 기초한 메모리 셀들의 제 1 패스-패일 결과에 따라 프로그램 전압의 증가분을 변경(단계 S140)할 수 있고, 제 2 검증 전압에 기초한 메모리 셀들의 제 2 패스-패일 결과에 따라 증가형 스텝 펄스 프로그램 동작을 종료(단계 S160)할 수 있다.
불휘발성 메모리 장치(예를 들어, 플래시 메모리 장치)에서 메모리 셀들이 프로그램되기 위해서는, 선택된 메모리 셀들에 연결된 비트라인(bitline)들에 접지 전압이 인가되고, 비선택된 메모리 셀들에 연결된 비트라인들에 프로그램 금지 전압(program prohibition voltage)으로 전원 전압이 인가되며, 스트링 선택 라인(string selection line)에는 스트링 선택 트랜지스터(string selection transistor)들을 턴온시키기 위한 전원 전압이 인가될 수 있다. 또한, 선택된 메모리 셀들에 연결된 워드라인(wordline)에 프로그램 전압(program voltage)이 인가되고, 비선택된 메모리 셀들에 연결된 워드라인에는 패스 전압(pass voltage)이 인가될 수 있다. 따라서, 비선택된 메모리 셀들의 채널들은 전원 전압에서 스트링 선택 트랜지스터의 문턱 전압만큼 강하된 전압 레벨로 부스팅(boosting)되어 비선택된 메모리 셀들에 연결된 스트링 선택 트랜지스터들은 실질적으로 차단(shut-off)될 수 있다. 그 결과, 선택된 메모리 셀들은 플로팅 게이트(floating gate)와 채널(channel) 사이에 발생하는 F-N 터널링(Fowler-Nordheim tunneling)에 의하여 프로그램되고, 비선택된 메모리 셀들은 상기 부스팅에 의하여 플로팅 게이트와 채널 사이에 F-N 터널링이 발생되지 않아 프로그램되지 않는다.
한편, 메모리 셀들의 문턱 전압은 채널 넓이(channel width), 채널 길이(channel length), 산화막 두께 등의 공정 조건에 따라 결정될 수 있다. 또한, 하나의 메모리 셀 어레이(memory cell array)에 형성된 메모리 셀들이라고 하더라도, 다양한 원인들(예를 들어, 메모리 셀들의 제조 공정 오차, 메모리 셀들의 소거/프로그램 동작에 따른 열화 정도의 차이)에 의하여 같은 프로그램 전압이 인가되더라도 문턱 전압의 변화 속도가 상이할 수 있다. 이러한 문턱 전압의 변화 속도에 따라 메모리 셀들을 구분할 수 있는데, 문턱 전압이 빠르게 변화하는 메모리 셀을 패스트 메모리 셀(fast memory cell)이라 명명할 수 있고, 문턱 전압이 느리게 변화하는 메모리 셀을 슬로우 메모리 셀(slow memory cell)이라 명명할 수 있다. 즉, 메모리 셀 어레이에는 슬로우 메모리 셀과 패스트 메모리 셀이 동시에 존재하므로, 메모리 셀들에 같은 크기의 프로그램 전압을 같은 횟수만큼 인가하면, 패스트 메모리 셀은 문턱 전압이 목표 문턱 전압까지 상승한 채로 프로그램이 완료될 수 있지만, 슬로우 메모리 셀은 문턱 전압이 목표 문턱 전압까지 상승하지 못한 채로 프로그램이 완료될 수 있다. 나아가, 슬로우 메모리 셀을 기준으로 프로그램 전압을 인가하게 되면, 문턱 전압의 변화 속도에 의하여 문턱 전압 산포가 넓어질 수 있다.
이러한 문제점을 해결하기 위하여, 최근에는 불휘발성 메모리 장치에 증가형 스텝 펄스 프로그램 방식이 적용되고 있다. 증가형 스텝 펄스 프로그램 방식은 메모리 셀들에 프로그램 전압을 인가한 이후에, 검증 전압에 기초하여 메모리 셀들의 프로그램 상태를 검증하는 방식이다. 이 때, 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀들에 대해서는 프로그램을 종료(즉, 프로그램 금지 전압을 인가)하고, 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀들에 대해서는 기 설정된 스텝(step)만큼 증가시킨 프로그램 전압을 다시 인가하여 프로그램을 반복한다. 일반적으로, 프로그램 전압을 인가하여 메모리 셀들을 프로그램하고, 메모리 셀들의 프로그램 상태를 검증하는 과정을 프로그램 루프라고 하는데, 증가형 스텝 펄스 프로그램 방식에서는 이러한 프로그램 루프가 반복적으로 수행된다. 즉, 기 설정된 스텝만큼 증가된 프로그램 전압이 목표 문턱 전압에 도달하지 못한 메모리 셀들에 반복적으로 인가됨으로써, 메모리 셀들의 문턱 전압은 패스트 메모리 셀인지 또는 슬로우 메모리 셀인지 여부와 관계없이 모두 목표 문턱 전압까지 상승할 수 있다.
본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 상술한 증가형 스텝 펄스 프로그램 방식을 이용한다. 다만, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서 프로그램 전압 및 제 1 내지 제 2 검증 전압에 기초하여 프로그램 루프를 반복할 수 있다. 그 결과, 제 1 내지 제 2 검증 전압에 기초하여 수행된 제 1 내지 제 2 패스-패일 결과에 기초하여, 공통 소스 라인 노이즈에 의한 오차를 보상하면서도, 메모리 셀들의 프로그램 상태에 따라 프로그램 전압의 증가분을 감소시킬 수 있다. 이하, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에 대하여 구체적으로 설명하기로 한다. 설명의 편의를 위하여, 메모리 셀들이 1비트의 데이터를 저장할 수 있는 싱글 레벨 셀(single level cell; SLC)임을 가정하여 설명되나, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 메모리 셀들이 복수 비트의 데이터를 저장할 수 있는 멀티 레벨 셀(multi level cell; MLC)에도 적용될 수 있는 것이다.
본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에 의하면, 프로그램 전압 및 제 1 내지 제 2 검증 전압에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램 동작이 수행(단계 S120)될 수 있다. 일 실시예에서, 증가형 스텝 펄스 프로그램 동작의 수행(단계 S120)은 매 프로그램 루프마다 선택된 메모리 셀들에 연결된 비트라인들에 접지 전압이 인가되고, 비선택된 메모리 셀들에 연결된 비트라인들에 프로그램 금지 전압이 인가되며, 스트링 선택 라인에 전원 전압이 인가되고, 선택된 메모리 셀들에 연결된 워드라인에 프로그램 전압이 인가되며, 비선택된 메모리 셀들에 연결된 워드라인에 패스 전압이 인가됨으로써, 기 설정된 시간 동안 메모리 셀들에 발생하는 F-N 터널링에 의하여 메모리 셀들이 프로그램될 수 있다. 이후, 메모리 셀들의 문턱 전압이 제 1 검증 전압과 비교됨으로써 생성되는 제 1 패스-패일 결과 및 메모리 셀들의 문턱 전압이 제 2 검증 전압과 비교됨으로써 생성되는 제 2 패스-패일 결과에 기초하여 메모리 셀들의 문턱 전압이 목표 문턱 전압까지 상승하였는지 검증될 수 있다.
메모리 셀들의 프로그램 상태가 검증됨에 있어서, 제 1 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀들은 제 1 패일(fail) 메모리 셀로 판단되고, 제 1 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀들은 제 1 패스(pass) 메모리 셀로 판단된다. 제 1 패스-패일 결과는 제 1 패일 메모리 셀 및 제 1 패스 메모리 셀에 대한 정보를 포함할 수 있다. 마찬가지로, 제 2 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀들이 제 2 패일 메모리 셀로 판단하고, 제 2 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀들이 제 2 패스 메모리 셀로 판단된다. 제 2 패스-패일 결과는 제 1 패일 메모리 셀 및 제 1 패스 메모리 셀에 대한 정보를 포함할 수 있다. 실시예에 따라, 제 1 검증 전압은 제 2 검증 전압보다 작거나 같고, 제 2 검증 전압은 실질적으로 목표 문턱 전압(즉, 프로그램 하고자 하는 문턱 전압)에 상응할 수 있다. 이와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 목표 문턱 전압인 제 2 검증 전압보다 기 설정된 값만큼 작은 제 1 검증 전압으로 메모리 셀들의 프로그램 상태를 1차적으로 검증하고, 목표 문턱 전압인 제 2 검증 전압으로 메모리 셀들의 프로그램 상태를 2차적으로 검증함으로써, 공통 소스 라인 노이즈에 의한 오차를 보상할 수 있을 뿐만 아니라, 프로그램 전압의 증가분을 감소시켜도 무방한 상태를 파악하여, 프로그램 전압의 증가분을 감소시킴으로써 프로그램 전압의 과도한 상승에 따른 프로그램 디스터브와 불필요한 전력 소비를 방지할 수 있다.
제 1 패스-패일 결과의 생성은 메모리 셀들의 문턱 전압을 리드(read)하기 위한 제 1 검증 리드 동작(verify read operation) 및 제 1 검증 전압과 메모리 셀들의 문턱 전압을 비교하기 위한 제 1 상태 체크 동작(status check operation)을 수행함으로써 이루어질 수 있다. 마찬가지로, 제 2 패스-패일 결과의 생성도 메모리 셀들의 문턱 전압을 리드하기 위한 제 2 검증 리드 동작 및 제 2 검증 전압과 메모리 셀들의 문턱 전압을 비교하기 위한 제 2 상태 체크 동작으로 이루어질 수 있다. 일 실시예에서, 제 1 검증 리드 동작 및 제 1 상태 체크 동작이 수행되어 제 1 패스-패일 결과가 생성된 이후에, 제 2 검증 리드 동작 및 제 2 상태 체크 동작이 수행되어 제 2 패스-패일 결과가 생성될 수 있다. 다른 실시예에서, 제 1 검증 리드 동작 및 제 2 검증 리드 동작이 수행되고, 제 1 상태 체크 동작 및 제 2 상태 체크 동작이 동시에 수행됨으로써 제 1 내지 제 2 패스-패일 결과가 생성될 수 있다. 이 때, 제 1 내지 제 2 패스-패일 결과를 생성하기 위하여 수행되는 제 1 내지 제 2 상태 체크 동작은 열 스캔 패스/패일 체크(column scan pass/fail check) 방식 또는 와이어드 오어 패스/패일 체크(W-OR pass/fail check) 방식으로 수행될 수 있다. 예를 들어, 열 스캔 패스/패일 체크 방식이 적용되는 경우, 비휘발성 메모리 장치에 데이터가 로드(load)되어 메모리 셀들이 프로그램되면, 메모리 셀들의 프로그램 상태를 리드하기 위한 검증 리드 동작이 수행된다. 이후, 검증 리드 동작에 의하여 리드된 프로그램 상태가 레지스터에 임시적으로 저장되고, 레지스터에 임시적으로 저장된 프로그램 상태가 내부 데이터 버스에 로드되어 검증 전압과 비교되는 상태 체크 동작이 수행될 수 있다.
일 실시예에서, 제 1 패스-패일 결과의 생성은 기 설정된 횟수만큼의 프로그램 루프가 진행된 시점 이후부터 수행될 수 있다. 이는 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서 초기 프로그램 루프에서는 메모리 셀들의 문턱 전압이 목표 문턱 전압에 한참 미치지 못하기 때문이다. 이에, 초기 프로그램 루프에서는 제 1 패스-패일 결과가 생성되지 않고, 제 2 패스-패일 결과만이 생성되며, 메모리 셀들의 프로그램 상태의 검증은 제 2 패스-패일 결과에 기초하여 이루어질 수 있다. 그 결과, 비휘발성 메모리 장치는 초기 프로그램 루프에서 제 1 패스-패일 결과를 생성하는 부담이 줄어들어 성능이 향상될 수 있다. 실시예에 따라, 제 1 패스-패일 결과의 생성을 생략하는 방식은 초기 프로그램 루프에서 제 1 검증 리드 동작 및 제 1 상태 체크 동작을 생략하거나 또는 제 1 검증 리드 동작은 수행하되 제 1 상태 체크 동작은 생략하는 방식으로 이루어질 수 있다.
다른 실시예에서, 제 1 패스-패일 결과의 생성은 프로그램 전압의 증가분이 변경된 시점 이후부터 수행되지 않을 수 있다. 이는 제 1 검증 전압이 제 2 검증 전압보다 낮기 때문에, 메모리 셀들의 문턱 전압이 모두 제 1 검증 전압보다 높아져서 프로그램 전압의 증가분이 감소된 시점 이후에, 제 1 패스-패일 결과는 더 이상 생성될 필요가 없기 때문이다. 이에, 후기 프로그램 루프에서는 제 1 패스-패일 결과가 생성되지 않고, 제 2 패스-패일 결과만이 생성되며, 메모리 셀들의 프로그램 상태의 검증은 제 2 패스-패일 결과에 기초하여 이루어질 수 있다. 그 결과, 비휘발성 메모리 장치는 초기 프로그램 루프에서 제 1 패스-패일 결과를 생성하는 부담이 줄어들어 성능이 향상될 수 있다.
또 다른 실시예에서, 제 1 및 제 2 패스-패일 결과의 생성은 프로그램 전압의 증가분이 변경된 시점 이후부터 수행되지 않고, 증가형 스텝 펄스 프로그램 동작이 종료될 수 있다. 이는 프로그램 전압의 증가분이 제 1 검증 전압과 제 2 검증 전압의 차이와 같은 경우 보통 제 2 패스-패일의 결과는 항상 패스로 나오기 때문이다.
한편, 제 1 검증 전압은 실질적인 목표 문턱 전압인 제 2 검증 전압과 같을 수도 있다. 이는 제 1 검증 전압과 제 2 검증 전압이 같다고 하더라도, 제 1 검증 전압이 공통 소스 라인 노이즈의 영향에 의해서 제 2 검증 전압보다 실질적으로 작아지기 때문이다. 이에 대해서는 도 6a 내지 도 6c를 참조하여 자세하게 설명하기로 한다.
프로그램 전압 및 제 1 내지 제 2 검증 전압에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램 동작이 수행(단계 S120)되는 동안에, 제 1 검증 전압에 기초한 메모리 셀들의 제 1 패스-패일 결과에 따라 프로그램 전압의 증가분이 변경(단계 S140)될 수 있다. 즉, 제 1 패스-패일 결과가 문턱 전압이 제 1 검증 전압보다 낮은 제 1 패일 메모리 셀 및 문턱 전압이 제 1 검증 전압보다 높은 제 1 패스 메모리 셀에 대한 정보를 포함하고 있으므로, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 제 1 패스-패일 결과에 따라 메모리 셀들이 모두 제 1 패스 메모리 셀로 판단되면 프로그램 전압의 증가분을 감소시킬 수 있다. 구체적으로, 메모리 셀들 중에 제 1 패일 메모리 셀이 존재하면, 프로그램 전압의 증가분은 유지되고, 다음 프로그램 루프에서 프로그램 전압은 유지된 증가분만큼 증가되어 메모리 셀들에 다시 인가될 수 있다. 또한, 메모리 셀들 중에 제 1 패일 메모리 셀이 존재하지 않으면, 프로그램 전압의 증가분은 감소되고, 다음 프로그램 루프에서 프로그램 전압은 감소된 증가분만큼 증가되어 메모리 셀들에 다시 인가될 수 있다.
프로그램 전압 및 제 1 내지 제 2 검증 전압에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램 동작이 수행(단계 S120)되는 동안에, 제 2 검증 전압에 기초한 메모리 셀들의 제 2 패스-패일 결과에 따라 증가형 스텝 펄스 프로그램 동작이 종료(단계 S160)될 수 있다. 즉, 제 2 패스-패일 결과가 문턱 전압이 제 2 검증 전압보다 낮은 제 2 패일 메모리 셀 및 문턱 전압이 제 2 검증 전압보다 높은 제 2 패스 메모리 셀에 대한 정보를 포함하고 있으므로, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 제 2 패스-패일 결과에 따라 증가형 스텝 펄스 프로그램 동작을 종료시킬 수 있다. 여기서, 증가형 스텝 펄스 프로그램 동작이 종료된다는 것은 더 이상의 프로그램 루프가 진행되지 않는다는 것을 의미한다. 상술한 바와 같이, 증가형 스텝 펄스 프로그램 동작이 수행되는 동안에도, 문턱 전압이 제 2 검증 전압 즉, 목표 문턱 전압보다 큰 메모리 셀들에 대해서는 다음 프로그램 루프에서 프로그램이 수행되지 않는다. 구체적으로, 메모리 셀들 중에 제 2 패일 메모리 셀이 존재하면 프로그램 동작을 유지시키고, 메모리 셀들 중에 제 2 패일 메모리 셀이 존재하지 않으면 증가형 스텝 펄스 프로그램 동작을 종료시킬 수 있다. 즉, 메모리 셀들 중에 제 2 패일 메모리 셀이 존재하면, 문턱 전압이 목표 문턱 전압보다 작은 메모리 셀들이 있음을 의미하는 것이므로, 다음 프로그램 루프가 진행될 수 있다. 반면에, 메모리 셀들 중에 제 2 패일 메모리 셀이 존재하지 않으면, 모든 메모리 셀들의 문턱 전압이 목표 문턱 전압보다 크다는 것을 의미하므로, 증가형 스텝 펄스 프로그램 동작은 종료될 수 있다. 한편, 이전 프로그램 루프에서 프로그램 전압의 증가분이 감소되는 것으로 결정되면, 다음 프로그램 루프에서 증가형 스텝 펄스 프로그램 동작이 종료될 수 있도록 구현되는 것이 바람직하다.
이와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서, 제 1 내지 제 2 검증 전압에 기초하여 공통 소스 라인 노이즈에 의한 오차를 보상할 수 있을 뿐만 아니라, 프로그램 전압의 증가분을 적응적으로 감소시킴으로써 프로그램 전압의 과도한 상승에 따른 프로그램 디스터브와 불필요한 전력 소비를 방지할 수 있다. 한편, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 다양한 컴퓨팅 시스템에서 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 기록 매체에 기록될 수 있다. 이러한 컴퓨터 판독 가능 기록 매체는 하드 디스크, 플로피 디스크, 자기 테이프와 같은 자기 기록 매체, 씨디롬(CDROM), 디브이디(DVD)와 같은 광 기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 기록 매체 또는 프로그램 명령을 저장하고 수행하도록 제조된 하드웨어 장치로 구현될 수 있다.
도 2는 도 1의 프로그램 방법을 구체적으로 나타내는 순서도이다.
도 2를 참조하면, 도 1의 프로그램 방법은 제 1 증가분으로 증가하는 프로그램 전압을 인가하여 메모리 셀들을 프로그램(단계 S210)하고, 메모리 셀들의 문턱 전압을 제 1 검증 전압과 비교하여 제 1 패스-패일 결과를 생성(단계 S220)하며, 제 1 패스-패일 결과에 기초하여 문턱 전압이 제 1 검증 전압보다 낮은 메모리 셀이 남아있는지 여부를 판단(단계 S230)한다. 이 때, 메모리 셀들의 모든 문턱 전압이 제 1 검증 전압보다 큰 경우에는 프로그램 전압의 증가분을 제 1 증가분에서 제 2 증가분으로 변경(단계 S240)한다. 또한, 메모리 셀들의 문턱 전압을 제 2 검증 전압과 비교하여 제 2 패스-패일 결과를 생성(단계 S250)하며, 제 2 패스-패일 결과에 기초하여 문턱 전압이 제 2 검증 전압보다 낮은 메모리 셀이 남아있는지 여부를 판단(단계 S260)한다. 이 때, 메모리 셀들의 모든 문턱 전압이 제 2 검증 전압보다 큰 경우에는 증가형 스텝 펄스 프로그램 동작을 종료하고, 문턱 전압이 제 2 검증 전압보다 작은 메모리 셀이 남아있는 경우에는 프로그램 전압을 증가분만큼 증가(단계 S270)시켜 제 2 검증 전압보다 작은 메모리 셀들에 대하여 다음 프로그램 루프를 진행한다. 상술한 바와 같이, 제 1 검증 전압은 제 2 검증 전압보다 작거나 같을 수 있고, 제 2 검증 전압은 목표 문턱 전압에 상응할 수 있다.
프로그램 전압에 기초하여 증가형 스텝 펄스 프로그램 동작이 수행될 때, 프로그램 루프마다 메모리 셀들의 문턱 전압들이 제 1 검증 전압과 비교되는 방식으로 제 1 패스-패일 결과가 생성될 수 있다. 제 1 패스-패일 결과는 제 1 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀인 제 1 패일 메모리 셀 및 제 1 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀인 제 1 패스 메모리 셀에 대한 정보를 포함할 수 있다. 실시예에 따라, 제 1 패스-패일 결과의 생성은 증가형 스텝 펄스 프로그램 동작의 초기 프로그램 루프에서는 수행되지 않고, 기 설정된 횟수만큼의 프로그램 루프가 진행된 시점 이후부터 수행될 수 있다. 또한, 제 1 패스-패일 결과의 생성은 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 감소된 시점 이후부터는 수행되지 않을 수 있다. 이에 대해서는 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다. 한편, 제 1 검증 전압이 목표 문턱 전압인 제 2 검증 전압보다 작기 때문에, 메모리 셀들이 제 1 패스-패일 결과에 따라 제 1 패일 메모리 셀과 제 1 패스 메모리 셀로 구분되고, 제 2 패스-패일 결과에 따라 제 1 패스 메모리 셀이 다시 제 2 패일 메모리 셀과 제 2 패스 메모리 셀로 구분된다.
메모리 셀들 중에서 문턱 전압이 제 1 검증 전압보다 낮은 메모리 셀이 남아 있는지 여부가 판단되면, 그 판단 결과에 따라 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 변경될 수 있다. 구체적으로, 메모리 셀들 중에서 문턱 전압이 제 1 검증 전압보다 낮은 메모리 셀인 제 1 패일 메모리 셀이 존재하면, 프로그램 전압을 제 1 증가분만큼 증가시켜서 다음 프로그램 루프를 진행하고, 메모리 셀들 중에서 문턱 전압이 제 1 검증 전압보다 낮은 메모리 셀인 제 1 패일 메모리 셀이 존재하지 않으면, 프로그램 전압을 제 2 증가분만큼 증가시켜서 다음 프로그램 루프를 진행한다. 즉, 메모리 셀들의 문턱 전압을 제 1 검증 전압과 비교한 제 1 패스-패일 결과에 기초하여, 메모리 셀들의 모든 문턱 전압이 제 1 검증 전압보다 큰 경우에, 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 변경된다. 상술한 바와 같이, 증가형 스텝 펄스 프로그램 동작이 수행됨에 있어서, 메모리 셀들의 프로그램 상태에 따라 프로그램 전압의 증가분이 감소되는 것이므로, 제 1 증가분은 제 2 증가분보다 작은 값이다.
프로그램 전압에 기초하여 증가형 스텝 펄스 프로그램 동작이 수행될 때, 프로그램 루프마다 메모리 셀들의 문턱 전압들이 제 2 검증 전압과 비교되는 방식으로 제 2 패스-패일 결과가 생성될 수 있다. 제 2 패스-패일 결과는 제 2 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀인 제 2 패일 메모리 셀 및 제 2 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀인 제 2 패스 메모리 셀에 대한 정보를 포함할 수 있다. 실시예에 따라, 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 감소된 이후에는, 프로그램 루프에서 제 1 패스-패일 결과의 생성은 생략되고, 제 2 패스-패일 결과의 생성만이 수행될 수 있다. 이에 대해서는 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다. 한편, 제 1 검증 전압이 제 2 검증 전압보다 작기 때문에, 메모리 셀들이 제 1 패스-패일 결과에 따라 제 1 패일 메모리 셀과 제 1 패스 메모리 셀로 구분되고, 제 2 패스-패일 결과에 따라 제 1 패스 메모리 셀이 다시 제 2 패일 메모리 셀과 제 2 패스 메모리 셀로 구분된다.
메모리 셀들 중에서 문턱 전압이 제 2 검증 전압보다 낮은 메모리 셀이 남아 있는지 여부가 판단되면, 그 판단 결과에 따라 증가형 스텝 펄스 프로그램 동작은 종료될 수 있다. 구체적으로, 메모리 셀들 중에서 문턱 전압이 제 2 검증 전압보다 낮은 메모리 셀인 제 2 패일 메모리 셀이 존재하면, 프로그램 전압을 제 2 증가분만큼 증가시켜 다음 프로그램 루프를 진행하고, 메모리 셀들 중에서 문턱 전압이 제 2 검증 전압보다 낮은 메모리 셀인 제 2 패일 메모리 셀이 존재하지 않으면, 증가형 스텝 펄스 프로그램 동작을 종료한다. 즉, 메모리 셀들의 문턱 전압을 제 2 검증 전압과 비교한 제 2 패스-패일 결과에 기초하여, 메모리 셀들의 모든 문턱 전압이 제 2 검증 전압보다 큰 경우에는, 모든 메모리 셀들의 프로그램이 완료된 것이므로, 증가형 스텝 펄스 프로그램 동작이 종료된다. 한편, 이전 프로그램 루프에서 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 감소되는 것으로 결정되면, 다음 프로그램 루프에서 증가형 스텝 펄스 프로그램 동작이 종료되도록 구현되는 것이 바람직하다. 상술한 바와 같이, 제 1 검증 전압은 제 2 검증 전압보다 작거나 같을 수 있는데, 제 1 검증 전압과 제 2 검증 전압이 같은 경우에도, 공통 소스 라인 노이즈의 영향에 의하여 제 1 검증 전압이 제 2 검증 전압보다 실질적으로 작게 되는 효과가 있다.
도 3a 내지 도 3f는 도 1의 프로그램 방법에 의하여 메모리 셀들이 프로그램되는 일 예를 나타내는 도면이다. 설명의 편의를 위하여, 도 3a 내지 도 3f에서는 메모리 셀들을 싱글 레벨 셀(SLC)로 가정하고 있으나, 도 1의 프로그램 방법은 메모리 셀들이 멀티 레벨 셀(MLC)인 경우에도 동일하게 적용될 수 있다.
도 3a를 참조하면, 제 1 프로그램 루프(LOOP1)가 시작된다. 제 1 프로그램 루프(LOOP1)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 1 프로그램 전압(VSTART)이 인가되어 메모리 셀들이 프로그램되면, 제 1 검증 전압(VVF1) 및 제 2 검증 전압(VVF2)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 도시된 바와 같이, 제 1 검증 전압(VVF1)은 제 2 검증 전압(VVF2)보다 작으며, 제 2 검증 전압(VVF2)은 프로그램 하고자 하는 문턱 전압 즉, 목표 문턱 전압에 상응한다. 그 결과, 제 1 패스-패일 결과(FIRST Y-SCAN)는 패일(FAIL)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)도 패일(FAIL)로 결정된다. 즉, 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단), 제 1 검증 전압(VVF1)보다는 크고 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀이면서 제 2 패일 메모리 셀로 판단) 및 제 2 검증 전압(VVF2)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀로 판단)이 존재한다는 결과가 도출된다. 상술한 바와 같이, 초기 프로그램 루프에서는 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성이 생략될 수 있는 것이므로, 제 1 프로그램 루프에서 제 1 검증 리드 동작 및 제 1 상태 체크 동작이 생략되거나 또는 제 1 검증 리드 동작은 수행되지만 제 1 상태 체크 동작이 생략될 수 있다. 이에, 도 3a에서 제 1 검증 전압(VVF1)을 점선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 2 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 2 패스 메모리 셀들은 프로그램되지 않고, 제 2 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 2 패일 메모리 셀들은 프로그램될 수 있다.
도 3b를 참조하면, 제 1 프로그램 루프(LOOP1)가 종료되면 제 2 프로그램 루프(LOOP2)가 시작된다. 제 2 프로그램 루프(LOOP2)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 2 프로그램 전압(VSTART+1*VSTEP)이 인가되어 메모리 셀들이 프로그램되면, 제 1 검증 전압(VVF1) 및 제 2 검증 전압(VVF2)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 제 1 스텝 펄스 전압(VSTEP)에 상응한다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)는 다시 패일(FAIL)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)도 다시 패일(FAIL)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하였지만, 여전히 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단), 제 1 검증 전압(VVF1)보다는 크고 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀이면서 제 2 패일 메모리 셀로 판단) 및 제 2 검증 전압(VVF2)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀로 판단)이 존재한다는 결과가 도출된다. 마찬가지로, 초기 프로그램 루프에서는 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성이 생략될 수 있는 것이므로, 도 3b에서 제 1 검증 전압(VVF1)을 점선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 2 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 2 패스 메모리 셀들은 프로그램되지 않고, 제 2 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 2 패일 메모리 셀들은 프로그램될 수 있다.
도 3c를 참조하면, 제 2 프로그램 루프(LOOP2)가 종료되면 제 3 프로그램 루프(LOOP3)가 시작된다. 제 3 프로그램 루프(LOOP3)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 3 프로그램 전압(VSTART+2*VSTEP)이 인가되어 메모리 셀들이 프로그램되면, 제 1 검증 전압(VVF1) 및 제 2 검증 전압(VVF2)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 여전히 제 1 스텝 펄스 전압(VSTEP)에 상응한다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)는 다시 패일(FAIL)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)도 다시 패일(FAIL)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하였지만, 여전히 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단), 제 1 검증 전압(VVF1)보다는 크고 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀이면서 제 2 패일 메모리 셀로 판단) 및 제 2 검증 전압(VVF2)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀로 판단)이 존재한다는 결과가 도출된다. 마찬가지로, 초기 프로그램 루프에서는 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성이 생략될 수 있는 것이므로, 도 3c에서 제 1 검증 전압(VVF1)을 점선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 2 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 2 패스 메모리 셀들은 프로그램되지 않고, 제 2 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 2 패일 메모리 셀들은 프로그램될 수 있다.
도 3d를 참조하면, 제 3 프로그램 루프(LOOP3)가 종료되면 제 4 프로그램 루프(LOOP4)가 시작된다. 제 4 프로그램 루프(LOOP4)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 4 프로그램 전압(VSTART+3*VSTEP)이 인가되어 메모리 셀들이 프로그램되면, 제 1 검증 전압(VVF1) 및 제 2 검증 전압(VVF2)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 여전히 제 1 스텝 펄스 전압(VSTEP)에 상응한다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)는 다시 패일(FAIL)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)도 다시 패일(FAIL)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하였지만, 여전히 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단), 제 1 검증 전압(VVF1)보다는 크고 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀이면서 제 2 패일 메모리 셀로 판단) 및 제 2 검증 전압(VVF2)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀로 판단)이 존재한다는 결과가 도출된다. 여기서, 제 4 프로그램 루프(LOOP4)에서는 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성이 생략되지 않으므로, 도 3d에서 제 1 검증 전압(VVF1)을 실선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 2 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 2 패스 메모리 셀들은 프로그램되지 않고, 제 2 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 2 패일 메모리 셀들은 프로그램될 수 있다.
도 3e를 참조하면, 제 4 프로그램 루프(LOOP4)가 종료되면 제 5 프로그램 루프(LOOP5)가 시작된다. 제 5 프로그램 루프(LOOP5)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 5 프로그램 전압(VSTART+4*VSTEP)이 인가되어 메모리 셀들이 프로그램되면, 제 1 검증 전압(VVF1) 및 제 2 검증 전압(VVF2)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 여전히 제 1 스텝 펄스 전압(VSTEP)에 상응한다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)는 패스(PASS)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)는 패일(FAIL)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하여 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단)은 존재하지 않고, 제 1 검증 전압(VVF1)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀로 판단)만이 존재한다는 결과가 도출된다. 제 5 프로그램 루프(LOOP5)에서도 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성이 생략되지 않으므로, 도 3e에서 제 1 검증 전압(VVF1)을 실선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 2 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 2 패스 메모리 셀들은 프로그램되지 않고, 제 2 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 2 패일 메모리 셀들은 프로그램될 수 있다. 제 1 패일 메모리 셀들이 존재하지 않으므로, 다음 프로그램 루프에서의 프로그램 전압(VPGM)의 증가분은 감소하게 된다.
도 3f를 참조하면, 제 5 프로그램 루프(LOOP5)가 종료되면 제 6 프로그램 루프(LOOP6)가 시작된다. 제 6 프로그램 루프(LOOP6)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 6 프로그램 전압(VSTART+5*VSTEP-VDOWN)이 인가되어 메모리 셀들이 프로그램되면, 제 1 검증 전압(VVF1) 및 제 2 검증 전압(VVF2)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 제 2 스텝 펄스 전압(VSTEP-VDOWN)으로서 제 1 스텝 펄스 전압(VSTEP)에 비하여 기 설정된 값(VDOWN)만큼 감소된 것이다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)도 패스(PASS)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)도 패스(PASS)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하여 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패일 메모리 셀로 판단)은 존재하지 않고, 제 2 검증 전압(VVF2)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀로 판단)만이 존재한다는 결과가 도출된다. 상술한 바와 같이, 프로그램 전압(VPGM)의 증가분이 감소된 이후에는 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성이 생략될 수 있으므로, 도 3f에서 제 1 검증 전압(VVF1)을 점선으로 표시하였다. 결국, 메모리 셀들의 모든 문턱 전압이 목표 문턱 전압인 제 2 검증 전압보다 크게 되었으므로, 증가형 스텝 펄스 프로그램 동작은 종료되게 된다.
도 3a 내지 도 3f에서는 이전 프로그램 루프에서 프로그램 전압(VPGM)의 증가분이 감소되는 것으로 결정되면, 다음 프로그램 루프에서 바로 증가형 스텝 펄스 프로그램 동작이 종료되는 것으로 도시되었으나, 요구되는 조건에 따라, 프로그램 전압(VPGM)의 증가분이 감소된 이후에 프로그램 전압(VPGM)의 감소된 증가분(VSTEP-VDOWN)에 기초하여 복수의 프로그램 루프가 더 수행됨으로써 증가형 스텝 펄스 프로그램 동작이 종료될 수도 있다. 한편, 도 1의 프로그램 방법은 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서, 메모리 셀들의 문턱 전압 산포를 조밀하게 할 수 있으므로, 비휘발성 메모리 장치가 싱글 레벨 셀에 비하여 문턱 전압 산포가 조밀해야 하는 멀티 레벨 셀을 포함하는 경우에 더욱 효과적일 수 있다.
도 4는 도 1의 프로그램 방법에 의하여 메모리 셀들에 프로그램 전압이 인가되는 일 예를 나타내는 도면이다.
도 4를 참조하면, 프로그램 전압(VP) 및 제 1 내지 제 2 검증 전압(V1, V2)에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램 동작이 수행(단계 S120)되는 동안에, 제 1 검증 전압(V1)에 기초한 메모리 셀들의 제 1 패스-패일 결과에 따라 프로그램 전압(VP)의 증가분이 제 1 증가분(ΔVPGM1)에서 제 2 증가분(ΔVPGM2)으로 변경(단계 S140)될 수 있고, 제 2 검증 전압(V2)에 기초한 메모리 셀들의 제 2 패스-패일 결과에 따라 증가형 스텝 펄스 프로그램 동작이 종료(단계 S160)될 수 있다.
도 4에서, X축은 증가형 스텝 펄스 프로그램 동작에 따른 시간의 경과를 나타내고, Y축은 메모리 셀들에 연결된 워드라인에 인가되는 전압들을 나타낸다. 예를 들어, 제 1 프로그램 루프(L(1))에서, 메모리 셀들에 연결된 워드라인에 프로그램 전압(VP)이 일정시간 동안 인가됨으로써 메모리 셀들이 프로그램되면, 제 1 검증 전압(V1)과 메모리 셀들의 문턱 전압이 일정시간 동안 비교됨으로써 메모리 셀들의 프로그램 상태가 1차 검증된 후, 제 2 검증 전압(V2)과 메모리 셀들의 문턱 전압이 일정시간 동안 비교됨으로써 메모리 셀들의 프로그램 상태가 2차 검증된다. 이러한 방식으로, 제 1 프로그램 루프(L(1))가 종료되면, 제 1 증가분(ΔVPGM1)만큼 증가한 프로그램 전압(VP)에 기초하여 제 2 프로그램 루프(L(2))가 시작된다. 제 2 내지 제 m 프로그램 루프(L(2), ..., L(m))도 프로그램-1차 검증-2차 검증으로 이어지는 일련의 과정이 수행된다.
구체적으로, 제 m-2 프로그램 루프(L(m-2))까지는 프로그램 전압(VP)이 제 1 증가분(ΔVPGM1)만큼씩 증가한다. 제 1 증가분(ΔVPGM1)만큼 증가하는 프로그램 전압(VP)이 메모리 셀들의 워드라인에 인가됨으로써 메모리 셀들이 프로그램되면, 제 1 검증 전압(V1) 및 제 2 검증 전압(V2)에 기초하여 메모리 셀들의 프로그램 상태가 검증된다. 제 1 검증 전압(V1)은 제 2 검증 전압(V2)보다 작은 값을 가지며, 제 2 검증 전압(V2)은 목표 문턱 전압에 상응한다. 1차 검증과 2차 검증이 순차적으로 수행되므로, 제 1 내지 제 2 패스-패일 결과도 순차적으로 생성될 수 있다. 다음 프로그램 루프에서, 제 2 검증 전압(V2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패일 메모리 셀로 판단)에 대해서는 프로그램이 수행되고, 제 2 검증 전압(V2)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀로 판단)에 대해서는 프로그램이 수행되지 않는다. 상술한 바와 같이, 초기 프로그램 루프에서는 제 1 패스-패일 결과의 생성이 생략될 수 있는 것이므로, 제 1 내지 제 2 프로그램 루프(L(1), L(2))에서 제 1 검증 전압(V1)을 점선으로 표시하였다.
제 m-2 프로그램 루프(L(m-2))에서 메모리 셀들의 모든 문턱 전압이 제 1 검증 전압(V1)보다 크게 되면, 프로그램 전압(VP)의 증가분은 제 1 증가분(ΔVPGM1)에서 제 2 증가분(ΔVPGM2)으로 변경된다. 이에, 제 m-1 프로그램 루프(L(m-1))부터 증가형 스텝 펄스 프로그램 동작이 종료될 때까지 프로그램 전압(VP)은 매 프로그램 루프마다 제 2 증가분(ΔVPGM2)만큼 증가한다. 제 2 증가분(ΔVPGM2)만큼 증가하는 프로그램 전압(VP)이 메모리 셀들의 워드라인에 인가됨으로써 메모리 셀들이 프로그램되면, 제 1 검증 전압(V1) 및 제 2 검증 전압(V2)에 기초하여 메모리 셀들의 프로그램 상태가 검증된다. 실시예에 따라, 프로그램 전압(VP)의 증가분은 제 1 증가분(ΔVPGM1)에서 제 2 증가분(ΔVPGM2)으로 감소된 이후부터는 제 1 패스-패일 결과가 필요하지 않으므로, 제 1 패스-패일 결과의 생성은 생략될 수 있다. 이에, 제 m 프로그램 루프(L(m))에서 제 1 검증 전압(V1)을 점선으로 표시하였다. 다음 프로그램 루프에서, 제 2 검증 전압(V2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패일 메모리 셀로 판단)에 대해서는 프로그램이 수행되고, 제 2 검증 전압(V2)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀)에 대해서는 프로그램이 수행되지 않는다. 이후, 메모리 셀들의 모든 문턱 전압이 제 2 검증 전압(V2)보다 크게 되는 프로그램 루프를 마지막으로 증가형 스텝 펄스 프로그램 동작은 종료된다.
일반적으로, 비휘발성 메모리 장치에서 증가형 스텝 펄스 프로그램 방식으로 메모리 셀들을 프로그램하는 경우에, 프로그램 전압(VP)의 증가분이 작을수록 조밀한 문턱 전압 산포를 얻을 수 있지만, 증가형 스텝 펄스 프로그램을 종료하기 전까지 수행해야 하는 프로그램 루프 횟수는 증가하게 된다. 반대로, 프로그램 전압(VP)의 증가분이 클수록 증가형 스텝 펄스 프로그램을 종료하기 전까지 수행해야 하는 프로그램 루프 횟수는 감소하지만, 조밀한 문턱 전압의 산포를 얻을 수 없어 비휘발성 메모리 장치의 동작 신뢰성이 떨어지게 된다. 이러한 문제점을 해결하기 위하여, 도 1의 프로그램 방법은 제 1 내지 제 2 검증 전압(V1, V2)에 기초한 제 1 내지 제 2 패스-패일 결과에 기초하여 초기 프로그램 루프에서는 프로그램 전압(VP)의 증가분을 크게 하고, 후기 프로그램 루프에서는 프로그램 전압(VP)의 증가분을 작게 함으로써, 프로그램 전압의 과도한 상승에 따른 프로그램 디스터브와 불필요한 전력 소비를 방지할 수 있고, 문턱 전압 산포의 조밀도를 향상시킬 수 있다.
도 5a 내지 도 5c는 도 1의 프로그램 방법에서 공통 소스 라인 노이즈에 의한 효과를 나타내는 도면이다.
도 5a를 참조하면, 비휘발성 메모리 장치(예를 들어, 낸드 플래시 메모리 장치)에 구비되는 메모리 셀 어레이는 컬럼(column) 방향으로 형성되는 복수의 셀 스트링들로 구성된다. 구체적으로, 셀 스트링들은 스트링 선택 트랜지스터(SST), 메모리 셀들(C0, ..., Cn) 및 그라운드 선택 트랜지스터(GST)가 직렬로 연결되는 구조로 이루어진다. 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)과 연결되고, 스트링 선택 트랜지스터(SST)들의 게이트는 스트링 선택 라인(SSL)에 연결되며, 그라운드 선택 트랜지스터(GST)들의 게이트는 그라운드 선택 라인(GSL)에 연결된다. 또한, 메모리 셀들(C0, ..., Cn)의 게이트는 워드라인(WL0, ..., WLn)과 연결되는데, 워드라인(WL0, ..., WLn) 방향으로 연결된 메모리 셀들은 하나의 페이지(PAGE)를 구성한다. 비트라인(BL1, ..., BLm)은 각각 페이지 버퍼부의 페이지 버퍼(PB1, ..., PBm)에 연결된다.
증가형 스텝 펄스 프로그램 동작을 수행하기 위하여, 선택된 메모리 셀들(C0_1, C0_2, C0_3)에 연결된 워드라인(WL0)에 프로그램 전압을 인가하고, 선택되지 않은 메모리 셀들(C1, ..., Cn)에 연결된 워드라인(WL1, ..., WLn)에는 패스 전압을 인가한다. 또한, 선택된 메모리 셀들(C0_1, C0_2, C0_3)에 연결된 비트라인(BL1, ..., BL3)에는 접지 전압을 인가하고, 선택되지 않은 메모리 셀들(C0_4, ..., C0_m)에 연결된 비트라인에는 프로그램 금지 전압을 인가할 수 있다. 매 프로그램 루프에서, 선택된 메모리 셀들(C0_1, C0_2, C0_3)이 프로그램되면, 선택된 메모리 셀들(C0_1, C0_2, C0_3)의 문턱 전압이 목표 문턱 전압까지 상승하였는지를 검증한다. 이 때, 선택된 메모리 셀들(C0_1, C0_2, C0_3)의 문턱 전압이 모두 목표 문턱 전압까지 상승하지 않았을 경우에, 프로그램 전압을 기 설정된 값만큼 증가시키는 방식으로 프로그램을 반복할 수 있다. 이 때, 문턱 전압이 목표 문턱 전압까지 상승한 메모리 셀들에 대해서는 연결된 비트라인에 프로그램 금지 전압을 인가함으로써 프로그램이 수행되지 않도록 한다.
상술한 바와 같이, 하나의 워드라인(WL0, ..., WLn)을 공유하는 메모리 셀들(C0, ..., Cn)의 프로그램 특성은 제공 공정 상의 오차, 소거/프로그램 동작에 의한 열화 등에 따라 상이하게 된다. 즉, 하나의 메모리 셀 어레이에 형성되는 메모리 셀들이라고 하더라도, 문턱 전압이 빠르게 상승하는 패스트 메모리 셀과 문턱 전압이 느리게 상승하는 슬로우 메모리 셀로 나뉘어 지게 된다. 예를 들어, 제 1 메모리 셀(C0_1)이 패스트 메모리 셀이고, 제 2 및 제 3 메모리 셀(C0_2, C0_3)이 슬로우 메모리 셀인 경우에, 프로그램 루프에서 선택된 메모리 셀들(C0_1, C0_2, C0_3)이 프로그램된 이후, 선택된 메모리 셀들(C0_1, C0_2, C0_3)의 프로그램 상태를 검증하는 과정에서 비트라인(BL1, ..., BL3)을 통해 흐르는 전류량이 각각 상이하게 된다. 구체적으로, 제 1 메모리 셀(C0_1)의 문턱 전압이 목표 문턱 전압까지는 상승하지 않았더라도, 제 2 및 제 3 메모리 셀(C0_2, C0_3)의 문턱 전압보다 빠르게 상승한다.
이러한 상황에서, 셀 스트링들 사이의 공통 소스 라인(CSL)에는 사실상 저항 성분(Ra, Rb, Rc)이 있어, 제 1 비트라인(BL1)의 프리차지(precharge) 전압이 방전(discharge)되기 전에 공통 소스 라인(CSL)의 전압이 높아져, 제 1 메모리 셀(C0_1)의 바디 바이어스(body bias)가 높아지게 된다. 그 결과, 제 1 메모리 셀(C0_1)의 문턱 전압이 높아지는 것과 같은 현상이 발생하게 되어, 제 1 메모리 셀(C0_1)의 문턱 전압이 목표 문턱 전압까지 상승하지 않았음에도 불구하고, 목표 문턱 전압까지 상승한 것으로 오판될 수 있다. 따라서, 제 1 메모리 셀(C0_1)의 문턱 전압이 목표 문턱 전압까지 상승하지 않았음에도, 패스 메모리 셀로 판단되어 다음 프로그램 루프에서 프로그램되지 않기 때문에, 증가형 스텝 펄스 프로그램 동작이 종료되었을 때, 제 1 메모리 셀(C0_1)의 문턱 전압은 목표 문턱 전압보다 낮은 상태가 된다. 이와 같이, 제 1 메모리 셀(C0_1)의 문턱 전압이 공통 소스 라인(CSL)의 저항 성분(Ra, Rb, Rc)에 의하여 상승하는 것처럼 보이는 현상을 소위 공통 소스 라인 노이즈라 명명한다.
도 5b를 참조하면, 공통 소스 라인 노이즈에 의하여 제 1 메모리 셀(C0_1)이 목표 문턱 전압까지 프로그램되지 않는 언더(under) 프로그램 현상이 발생할 수 있다. 즉, 공통 소스 라인 노이즈가 발생하면 메모리 셀들의 바디 바이어스가 높아지기 때문에, 문턱 전압이 목표 문턱 전압인 제 2 검증 전압(VVF2)까지 상승하지 않았음에도 불구하고, 증가형 스텝 펄스 프로그램 동작이 종료될 수 있다. 따라서, 정상적으로 프로그램이 완료된 메모리 셀들(B)에 비하여 언더 프로그램된 메모리 셀들(A)이 발생하게 된다. 비휘발성 메모리 장치의 리드 동작 시에, 언더 프로그램된 메모리 셀들(A)은 소거 상태로 판단되기 때문에, 비휘발성 메모리 장치의 동작 신뢰성은 크게 떨어지게 된다. 이와 같이, 언더 프로그램된 메모리 셀들(A)의 존재로 인하여 비휘발성 메모리 장치의 센싱 마진은 감소하게 되는데, 이러한 현상은 비휘발성 메모리 장치의 사이즈(size)가 작아지면서 공통 소스 라인의 저항이 증가하고, 비휘발성 메모리 장치의 메모리 셀들이 복수의 비트를 저장하는 멀티 레벨 셀로 이루어짐에 따라, 더욱 빈번하게 발생하고 있다.
도 5c를 참조하면, 도 1의 프로그램 방법이 공통 소스 라인 노이즈에 의한 언더 프로그램 현상을 방지하기 위하여, 프로그램 루프에서 메모리 셀들이 프로그램된 이후, 제 1 내지 제 2 검증 전압(VVF1, VVF2)에 기초하여 메모리 셀들의 프로그램 상태를 검증하고 있음이 나타나 있다. 상술한 바와 같이, 제 1 검증 전압(VVF1)은 제 2 검증 전압(VVF1)보다 작은 값을 가지며, 제 1 검증 전압(VVF1)에 기초하여 메모리 셀들의 프로그램 상태가 1차 검증되고, 제 2 검증 전압(VVF2)에 기초하여 메모리 셀들의 프로그램 상태가 2차 검증된다. 이와 같이, 목표 문턱 전압에 상응하는 제 2 검증 전압(VVF2)보다 작은 제 1 검증 전압(VVF1)에 기초한 검증까지 수행하기 때문에, 공통 소스 라인 노이즈에 의한 오차를 보상할 수 있다. 따라서, 도 1의 프로그램 방법은 공통 소스 라인 노이즈에 의하여 발생할 수 있는 언더 프로그램 현상을 방지할 수 있다.
한편, 제 1 검증 전압(VVF1)과 제 2 검증 전압(VVF2)이 같은 값을 가질 수 있는데, 제 1 검증 전압(VVF1)과 제 2 검증 전압(VVF2)이 같은 값을 가진다고 하더라도, 공통 소스 라인 노이즈에 의하여 제 1 검증 전압(VVF1)이 제 2 검증 전압(VVF2)보다 실질적으로 작게 될 수 있다. 예를 들어, 제 1 및 제 2 검증 전압(VVF1, VVF2)이 목표 문턱 전압으로 설정되어 있는 경우에, 공통 소스 라인 노이즈가 발생하면 메모리 셀들의 바디 바이어스가 높아져서 메모리 셀들의 문턱 전압이 상승한 것처럼 보이게 된다. 이에, 제 1 검증 전압(VVF1)은 상대적으로 낮은 전압(VEFF)인 것처럼 보이게 된다. 이러한 현상은 목표 문턱 전압까지 상승하지 못한 메모리 셀들이 많은 초기 프로그램 루프에서, 비트라인을 통해 전류가 많이 흐르게 되어 잘 발생한다. 반면에, 목표 문턱 전압까지 상승한 메모리 셀들이 많은 후반 프로그램 루프에서는 비트라인을 통해 전류가 적게 흐르게 되어 잘 발생하지 않는다. 따라서, 제 1 검증 전압(VVF1)과 제 2 검증 전압(VVF2)이 같은 값을 갖는 경우에도, 제 1 검증 전압(VVF1)이 제 2 검증 전압(VVF2)보다 낮은 값을 갖는 경우와 실질적으로 동일한 효과를 얻을 수 있다.
도 6은 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 6을 참조하면, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 프로그램 전압 및 제 1 내지 제 n (단, n은 2이상의 정수) 검증 전압에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램(ISPP) 동작을 수행(단계 S320)하는 동안에, 제 1 내지 제 n-1 검증 전압에 기초한 메모리 셀들의 제 1 내지 제 n-1 패스-패일 결과에 따라 프로그램 전압의 증가분을 제 1 증가분에서 제 n-1 증가분까지 변경(단계 S340)할 수 있고, 제 n 검증 전압에 기초한 메모리 셀들의 제 n 패스-패일 결과에 따라 증가형 스텝 펄스 프로그램 동작을 종료(단계 S360)할 수 있다.
본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서 프로그램 전압 및 제 1 내지 제 n 검증 전압에 기초하여 메모리 셀들을 프로그램하기 위한 프로그램 루프를 반복할 수 있다. 그 결과, 공통 소스 라인 노이즈에 의한 오차를 보상하면서도, 메모리 셀들의 프로그램 상태에 따라 프로그램 전압의 증가분을 감소시킬 수 있다. 이하, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에 대하여 구체적으로 설명하기로 한다. 설명의 편의를 위하여, 메모리 셀들이 1비트의 데이터를 저장할 수 있는 싱글 레벨 셀(SLC)임을 가정하여 설명하나, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 메모리 셀들이 복수 비트의 데이터를 저장할 수 있는 멀티 레벨 셀(MLC)에도 적용될 수 있는 것이다.
프로그램 전압 및 제 1 내지 제 n 검증 전압에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램 동작이 수행(단계 S320)될 수 있다. 일 실시예에서, 증가형 스텝 펄스 프로그램 동작의 수행은 매 프로그램 루프마다 선택된 메모리 셀들에 연결된 비트라인들에 접지 전압이 인가되고, 비선택된 메모리 셀들에 연결된 비트라인들에 프로그램 금지 전압이 인가되며, 스트링 선택 라인에 전원 전압이 인가되고, 선택된 메모리 셀들에 연결된 워드라인에 프로그램 전압이 인가되며, 비선택된 메모리 셀들에 연결된 워드라인에 패스 전압이 인가됨으로써, 기 설정된 시간 동안 메모리 셀들에 발생하는 F-N 터널링에 의하여 메모리 셀들을 프로그램하는 방식으로 이루어질 수 있다. 메모리 셀들이 프로그램되면, 메모리 셀들의 문턱 전압이 제 1 내지 제 n 검증 전압과 비교되어 생성되는 제 1 내지 제 n 패스-패일 결과에 기초하여 메모리 셀들의 문턱 전압이 목표 문턱 전압까지 상승하였는지 검증될 수 있다.
메모리 셀들의 프로그램 상태가 검증됨에 있어서, 제 1 내지 제 n 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀들은 제 1 내지 제 n 패일 메모리 셀로 판단되고, 제 1 내지 제 n 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀들은 제 1 내지 제 n 패스 메모리 셀로 판단된다. 따라서, 이러한 제 1 내지 제 n 패스-패일 결과는 제 1 내지 제 n 패일 메모리 셀 및 제 1 내지 제 n 패스 메모리 셀에 대한 정보를 포함할 수 있다. 일 실시예에서, 제 1 내지 제 n 검증 전압은 n이 증가함에 따라 커지고, 제 n 검증 전압은 실질적으로 목표 문턱 전압에 상응할 수 있다. 다른 실시예에서, 제 1 내지 제 n 검증 전압은 모두 실질적인 목표 문턱 전압에 상응할 수 있다. 이는 제 1 내지 제 n 검증 전압이 서로 같다고 하더라도, 공통 소스 라인 노이즈의 영향에 의해서 제 1 내지 제 n 검증 전압은 n이 증가함에 따라 실질적으로 커지기 때문이다. 이와 같이, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 목표 문턱 전압인 제 n 검증 전압보다 작은 제 1 내지 제 n-1 검증 전압으로 메모리 셀들의 프로그램 상태를 순차적으로 검증하고, 목표 문턱 전압인 제 n 검증 전압으로 메모리 셀들의 프로그램 상태를 최종적으로 검증함으로써, 공통 소스 라인 노이즈에 의한 오차를 보상할 수 있을 뿐만 아니라, 프로그램 전압의 증가분을 감소시켜도 무방한 시점에서 프로그램 전압의 증가분을 감소시킴으로써 프로그램 전압의 과도한 상승에 따른 프로그램 디스터브와 불필요한 전력 소비를 방지할 수 있다.
제 1 내지 제 n 패스-패일 결과는 각각 메모리 셀들의 문턱 전압을 리드하기 위한 제 1 내지 제 n 검증 리드 동작 및 제 1 내지 제 n 검증 전압과 메모리 셀들의 문턱 전압을 비교하기 위한 제 1 내지 제 n 상태 체크 동작이 수행됨으로써 생성될 수 있다. 이 때, 제 1 내지 제 n 상태 체크 동작은 열 스캔 패스/패일 체크 방식 또는 와이어드 오어 패스/패일 체크 방식으로 수행될 수 있다. 실시예에 따라, 제 1 내지 제 n 패스-패일 결과의 생성은 프로그램 루프에 따라 일부 생략될 수 있다. 일 예로, 제 1 프로그램 루프에서는 제 n 패스-패일 결과가 생성되고, 제 2 프로그램 루프에서는 제 n-1 내지 제 n 패스-패일 결과가 생성되며, 제 3 프로그램 루프에서는 제 n-2 내지 제 n 패스-패일 결과가 생성될 수 있다. 이는 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서 초기 프로그램 루프에서는 메모리 셀들의 문턱 전압이 목표 문턱 전압에 한참 미치지 못하기 때문에, 상대적으로 낮은 검증 전압에 기초한 패스-패일 결과의 생성은 생략되어도 무방하기 때문이다. 다른 예로, 메모리 셀들의 문턱 전압이 모두 제 1 검증 전압보다 높아져서 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 변경된 이후에는 제 1 패스-패일 결과가 생성되지 않고, 메모리 셀들의 문턱 전압이 모두 제 2 검증 전압보다 높아져서 프로그램 전압의 증가분이 제 2 증가분에서 제 3 증가분으로 변경된 이후에는 제 1 내지 제 2 패스-패일 결과가 생성되지 않으며, 메모리 셀들의 문턱 전압이 모두 제 3 검증 전압보다 높아져서 프로그램 전압의 증가분이 제 3 증가분에서 제 4 증가분으로 변경된 이후에는 제 1 내지 제 3 패스-패일 결과가 생성되지 않을 수 있다. 이와 같이, 프로그램 루프의 진행에 따라 제 1 내지 제 n 패스-패일 결과는 일부만이 선택적으로 생성될 수 있는 것이므로, 비휘발성 메모리 장치가 매 프로그램 루프에서 제 1 내지 제 n 패스-패일 결과를 모두 생성해야 하는 부담이 줄어 성능이 향상될 수 있다.
프로그램 전압 및 제 1 내지 제 n 검증 전압에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램 동작이 수행(단계 S320)되는 동안에, 제 1 내지 제 n-1 검증 전압에 기초한 메모리 셀들의 제 1 내지 제 n-1 패스-패일 결과에 따라 프로그램 전압의 증가분이 제 1 증가분에서 제 n-1 증가분으로 변경(단계 S340)될 수 있다. 제 1 내지 제 n-1 증가분은 n이 증가함에 따라 작아진다. 예를 들어, 제 1 패스-패일 결과가 문턱 전압이 제 1 검증 전압보다 낮은 제 1 패일 메모리 셀 및 문턱 전압이 제 1 검증 전압보다 높은 제 1 패스 메모리 셀에 대한 정보를 포함하고 있으므로, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 제 1 패스-패일 결과에 기초하여, 메모리 셀들이 모두 제 1 패스 메모리 셀로 판단되면 프로그램 전압의 증가분을 제 1 증가분에서 제 2 증가분으로 감소시킬 수 있다. 이러한 방식으로, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 제 1 내지 제 n-1 패스-패일 결과에 따라 프로그램 전압의 증가분을 제 1 증가분에서 제 n-1 증가분으로 감소시킬 수 있다.
프로그램 전압 및 제 1 내지 제 n 검증 전압에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램 동작이 수행(단계 S320)되는 동안에, 제 n 검증 전압에 기초한 메모리 셀들의 제 n 패스-패일 결과에 따라 증가형 스텝 펄스 프로그램 동작이 종료(단계 S360)될 수 있다. 즉, 제 n 패스-패일 결과가 문턱 전압이 제 n 검증 전압보다 낮은 제 n 패일 메모리 셀 및 문턱 전압이 제 n 검증 전압보다 높은 제 n 패스 메모리 셀에 대한 정보를 포함하고 있으므로, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 메모리 셀들 중에 제 n 패일 메모리 셀이 존재하면 프로그램 동작을 유지시키고, 메모리 셀들 중에 제 n 패일 메모리 셀이 존재하지 않으면 증가형 스텝 펄스 프로그램 동작을 종료시킬 수 있다. 즉, 메모리 셀들 중에 제 n 패일 메모리 셀이 존재하면, 문턱 전압이 목표 문턱 전압보다 작은 메모리 셀들이 있음을 의미하는 것이므로, 다음 프로그램 루프가 진행될 수 있다. 반면에, 메모리 셀들 중에 제 n 패일 메모리 셀이 존재하지 않으면, 메모리 셀들의 모든 문턱 전압이 목표 문턱 전압보다 크다는 것을 의미하므로, 증가형 스텝 펄스 프로그램 동작은 종료될 수 있다. 여기서, 증가형 스텝 펄스 프로그램 동작이 종료된다는 것은 더 이상의 프로그램 루프가 진행되지 않는다는 것을 의미한다. 상술한 바와 같이, 증가형 스텝 펄스 프로그램 동작이 수행되는 동안에도, 문턱 전압이 제 n 검증 전압 즉, 목표 문턱 전압보다 큰 메모리 셀들에 대해서는 다음 프로그램 루프에서 프로그램이 수행되지 않는다.
이와 같이, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 증가형 스텝 펄스 프로그램 동작을 수행함에 있어서, 제 1 내지 제 n 검증 전압에 기초하여 공통 소스 라인 노이즈에 의한 오차를 보상할 수 있을 뿐만 아니라, 프로그램 전압의 증가분을 적응적으로 감소시킴으로써 프로그램 전압의 과도한 상승에 따른 프로그램 디스터브와 불필요한 전력 소비를 방지할 수 있다. 한편, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 다양한 컴퓨팅 시스템에서 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 기록 매체에 기록될 수 있다. 이러한 컴퓨터 판독 가능 기록 매체는 하드 디스크, 플로피 디스크, 자기 테이프와 같은 자기 기록 매체, 씨디롬, 디브이디와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 기록 매체 또는 프로그램 명령을 저장하고 수행하도록 제조된 하드웨어 장치로 구현될 수 있다.
도 7a 내지 도 7b는 도 6의 프로그램 방법을 구체적으로 나타내는 순서도이다. 다만, 설명의 편의를 위하여 n은 3이라고 가정한다.
도 7a 내지 도 7b를 참조하면, 도 6의 프로그램 방법은 제 1 증가분으로 증가하는 프로그램 전압을 인가하여 메모리 셀들을 프로그램(단계 S410)하고, 메모리 셀들의 문턱 전압을 제 1 검증 전압과 비교하여 제 1 패스-패일 결과를 생성(단계 S420a)하며, 제 1 패스-패일 결과에 기초하여 문턱 전압이 제 1 검증 전압보다 낮은 메모리 셀이 남아있는지 여부를 판단(단계 S430a)한다. 이 때, 메모리 셀들의 모든 문턱 전압이 제 1 검증 전압보다 큰 경우에는 프로그램 전압의 증가분을 제 1 증가분에서 제 2 증가분으로 변경(단계 S440a)한다. 또한, 메모리 셀들의 문턱 전압을 제 2 검증 전압과 비교하여 제 2 패스-패일 결과를 생성(단계 S420b)하며, 제 2 패스-패일 결과에 기초하여 문턱 전압이 제 2 검증 전압보다 낮은 메모리 셀이 남아있는지 여부를 판단(단계 S430b)한다. 이 때, 메모리 셀들의 모든 문턱 전압이 제 2 검증 전압보다 큰 경우에는 프로그램 전압의 증가분을 제 2 증가분에서 제 3 증가분으로 변경(단계 S440b)한다. 이후, 메모리 셀들의 문턱 전압을 제 3 검증 전압과 비교하여 제 3 패스-패일 결과를 생성(단계 S450)하며, 제 3 패스-패일 결과에 기초하여 문턱 전압이 제 3 검증 전압보다 낮은 메모리 셀이 남아있는지 여부를 판단(단계 S460)한다. 이 때, 메모리 셀들의 모든 문턱 전압이 제 3 검증 전압보다 큰 경우에는 증가형 스텝 펄스 프로그램 동작을 종료하고, 문턱 전압이 제 3 검증 전압보다 작은 메모리 셀이 남아있는 경우에는 프로그램 전압을 증가분만큼 증가(단계 S470)시켜 제 3 검증 전압보다 작은 메모리 셀들에 대하여 다음 프로그램 루프를 진행한다. 상술한 바와 같이, 제 1 검증 전압은 제 2 검증 전압보다 작거나 같을 수 있고, 제 2 검증 전압은 제 3 검증 전압보다 작거나 같을 수 있으며, 제 3 검증 전압은 목표 문턱 전압에 상응할 수 있다.
프로그램 전압에 기초하여 증가형 스텝 펄스 프로그램 동작이 수행될 때, 프로그램 루프마다 메모리 셀들의 문턱 전압들이 제 1 검증 전압과 비교되는 방식으로 제 1 패스-패일 결과가 생성될 수 있다. 제 1 패스-패일 결과는 제 1 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀인 제 1 패일 메모리 셀 및 제 1 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀인 제 1 패스 메모리 셀에 대한 정보를 포함할 수 있다. 실시예에 따라, 제 1 패스-패일 결과의 생성은 증가형 스텝 펄스 프로그램 동작의 초기 프로그램 루프에서는 수행되지 않고, 기 설정된 횟수만큼의 프로그램 루프가 진행된 시점 이후부터 수행될 수 있다. 또한, 제 1 패스-패일 결과의 생성은 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 감소된 시점 이후부터는 수행되지 않을 수 있다. 이에 대해서는 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다.
메모리 셀들 중에서 문턱 전압이 제 1 검증 전압보다 낮은 메모리 셀이 남아 있는지 여부가 판단되면, 그 판단 결과에 따라 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 변경될 수 있다. 구체적으로, 메모리 셀들 중에서 문턱 전압이 제 1 검증 전압보다 낮은 메모리 셀인 제 1 패일 메모리 셀이 존재하면, 프로그램 전압을 제 1 증가분만큼 증가시켜서 다음 프로그램 루프를 진행하고, 메모리 셀들 중에서 문턱 전압이 제 1 검증 전압보다 낮은 메모리 셀인 제 1 패일 메모리 셀이 존재하지 않으면, 프로그램 전압을 제 2 증가분만큼 증가시켜 다음 프로그램 루프를 진행한다. 즉, 메모리 셀들의 문턱 전압을 제 1 검증 전압과 비교한 제 1 패스-패일 결과에 기초하여, 메모리 셀들의 모든 문턱 전압이 제 1 검증 전압보다 큰 경우에, 프로그램 전압의 증가분이 제 1 증가분에서 제 2 증가분으로 변경된다.
프로그램 전압에 기초하여 증가형 스텝 펄스 프로그램 동작이 수행될 때, 프로그램 루프마다 메모리 셀들의 문턱 전압들이 제 2 검증 전압과 비교되는 방식으로 제 2 패스-패일 결과가 생성될 수 있다. 제 2 패스-패일 결과는 제 2 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀인 제 2 패일 메모리 셀 및 제 2 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀인 제 2 패스 메모리 셀에 대한 정보를 포함할 수 있다. 실시예에 따라, 제 2 패스-패일 결과의 생성은 증가형 스텝 펄스 프로그램 동작의 초기 프로그램 루프에서는 수행되지 않고, 기 설정된 횟수만큼의 프로그램 루프가 진행된 시점 이후부터 수행될 수 있다. 또한, 제 2 패스-패일 결과의 생성은 프로그램 전압의 증가분이 제 2 증가분에서 제 3 증가분으로 감소된 시점 이후부터는 수행되지 않을 수 있다. 이에 대해서도 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다.
메모리 셀들 중에서 문턱 전압이 제 2 검증 전압보다 낮은 메모리 셀이 남아 있는지 여부가 판단되면, 그 판단 결과에 따라 프로그램 전압의 증가분이 제 2 증가분에서 제 3 증가분으로 변경될 수 있다. 구체적으로, 메모리 셀들 중에서 문턱 전압이 제 2 검증 전압보다 낮은 메모리 셀인 제 2 패일 메모리 셀이 존재하면, 프로그램 전압을 제 2 증가분만큼 증가시켜서 다음 프로그램 루프를 진행하고, 메모리 셀들 중에서 문턱 전압이 제 2 검증 전압보다 낮은 메모리 셀인 제 2 패일 메모리 셀이 존재하지 않으면, 프로그램 전압을 제 3 증가분만큼 증가시켜 다음 프로그램 루프를 진행한다. 즉, 메모리 셀들의 문턱 전압을 제 2 검증 전압과 비교한 제 2 패스-패일 결과에 기초하여, 메모리 셀들의 모든 문턱 전압이 제 2 검증 전압보다 큰 경우에, 프로그램 전압의 증가분이 제 2 증가분에서 제 3 증가분으로 변경된다.
프로그램 전압에 기초하여 증가형 스텝 펄스 프로그램 동작이 수행될 때, 프로그램 루프마다 메모리 셀들의 문턱 전압들이 제 3 검증 전압과 비교되는 방식으로 제 3 패스-패일 결과가 생성될 수 있다. 제 3 패스-패일 결과는 제 3 검증 전압보다 작은 문턱 전압을 갖는 메모리 셀인 제 3 패일 메모리 셀 및 제 3 검증 전압보다 큰 문턱 전압을 갖는 메모리 셀인 제 3 패스 메모리 셀에 대한 정보를 포함할 수 있다. 실시예에 따라, 프로그램 전압의 증가분이 제 2 증가분에서 제 3 증가분으로 감소된 이후에는, 프로그램 루프에서 제 1 내지 제 2 패스-패일 결과의 생성은 생략되고, 제 3 패스-패일 결과의 생성만이 수행될 수 있다. 이에 대해서는 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다.
메모리 셀들 중에서 문턱 전압이 제 3 검증 전압보다 낮은 메모리 셀이 남아 있는지 여부가 판단되면, 그 판단 결과에 따라 증가형 스텝 펄스 프로그램 동작은 종료될 수 있다. 구체적으로, 메모리 셀들 중에서 문턱 전압이 제 3 검증 전압보다 낮은 메모리 셀인 제 3 패일 메모리 셀이 존재하면, 프로그램 전압을 제 3 증가분만큼 증가시켜 다음 프로그램 루프를 진행하고, 메모리 셀들 중에서 문턱 전압이 제 3 검증 전압보다 낮은 메모리 셀인 제 3 패일 메모리 셀이 존재하지 않으면, 증가형 스텝 펄스 프로그램 동작을 종료한다. 즉, 메모리 셀들의 문턱 전압을 제 3 검증 전압과 비교한 제 3 패스-패일 결과에 기초하여, 메모리 셀들의 모든 문턱 전압이 제 3 검증 전압보다 큰 경우에는, 모든 메모리 셀들의 프로그램이 완료된 것이므로, 증가형 스텝 펄스 프로그램 동작이 종료된다. 한편, 이전 프로그램 루프에서 프로그램 전압의 증가분이 제 2 증가분에서 제 3 증가분으로 감소되는 것으로 결정되면, 다음 프로그램 루프에서 증가형 스텝 펄스 프로그램 동작이 종료되도록 구현되는 것이 바람직하다.
도 8a 내지 도 8f는 도 6의 프로그램 방법에 의하여 메모리 셀들이 프로그램되는 일 예를 나타내는 도면이다. 설명의 편의를 위하여, 도 8a 내지 도 8f에서는 메모리 셀들을 싱글 레벨 셀(SLC)로 가정하고 있으나, 도 6의 프로그램 방법은 메모리 셀들이 멀티 레벨 셀(MLC)인 경우에도 동일하게 적용될 수 있다.
도 8a를 참조하면, 제 1 프로그램 루프(LOOP1)가 시작된다. 제 1 프로그램 루프(LOOP1)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 1 프로그램 전압(VSTART)이 인가되어 메모리 셀들이 프로그램되면, 제 1 내지 제 3 검증 전압(VVF1, ..., VVF3)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 도시된 바와 같이, 제 1 검증 전압(VVF1)은 제 2 검증 전압(VVF2)보다 작고, 제 2 검증 전압(VVF2)은 제 3 검증 전압(VVF3)보다 작으며, 제 3 검증 전압(VVF3)은 목표 문턱 전압에 상응한다. 그 결과, 제 1 패스-패일 결과(FIRST Y-SCAN)는 패일(FAIL)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)도 패일(FAIL)로 결정되고, 제 3 패스-패일 결과(THIRD Y-SCAN)도 패일(FAIL)로 결정된다. 즉, 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단), 제 1 검증 전압(VVF1)보다는 크고 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀이면서 제 2 패일 메모리 셀로 판단), 제 2 검증 전압(VVF2)보다는 크고 제 3 검증 전압(VVF3)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀이면서 제 3 패일 메모리 셀로 판단) 및 제 3 검증 전압(VVF3)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 3 패스 메모리 셀로 판단)이 존재한다는 결과가 도출된다. 상술한 바와 같이, 초기 프로그램 루프에서는 제 1 내지 제 2 패스-패일 결과(FIRST Y-SCAN, SECOND Y-SCAN)의 생성이 생략될 수 있는 것이므로, 도 8a에서 제 1 내지 제 2 검증 전압(VVF1, VVF2)을 점선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 3 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 3 패스 메모리 셀들은 프로그램되지 않고, 제 3 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 3 패일 메모리 셀들은 프로그램될 수 있다.
도 8b를 참조하면, 제 1 프로그램 루프(LOOP1)가 종료되면 제 2 프로그램 루프(LOOP2)가 시작된다. 제 2 프로그램 루프(LOOP2)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 2 프로그램 전압(VSTART+1*VSTEP)이 인가되어 메모리 셀들이 프로그램되면, 제 1 내지 제 3 검증 전압(VVF1, VVF2, VVF3)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 제 1 스텝 펄스 전압(VSTEP)에 상응한다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)는 다시 패일(FAIL)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)는 다시 패일(FAIL)로 결정되며, 제 3 패스-패일 결과(THIRD Y-SCAN)도 다시 패일(FAIL)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하였지만, 여전히 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단), 제 1 검증 전압(VVF1)보다는 크고 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀이면서 제 2 패일 메모리 셀로 판단), 제 2 검증 전압(VVF2)보다는 크고 제 3 검증 전압(VVF3)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀이면서 제 3 패일 메모리 셀로 판단) 및 제 3 검증 전압(VVF3)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 3 패스 메모리 셀로 판단)이 존재한다는 결과가 도출된다. 초기 프로그램 루프에서는 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성이 생략될 수 있는 것이므로, 도 8b에서 제 1 검증 전압(VVF1)을 점선으로 표시하였고, 제 2 프로그램 루프(LOOP2)에서 제 2 패스-패일 결과(SECOND Y-SCAN)의 생성이 생략되지 않으므로, 도 10b에서 제 2 검증 전압(VVF2)을 실선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 3 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 3 패스 메모리 셀들은 프로그램되지 않고, 제 3 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 3 패일 메모리 셀들은 프로그램될 수 있다.
도 8c를 참조하면, 제 2 프로그램 루프(LOOP2)가 종료되면 제 3 프로그램 루프(LOOP3)가 시작된다. 제 3 프로그램 루프(LOOP3)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 3 프로그램 전압(VSTART+2*VSTEP)이 인가되어 메모리 셀들이 프로그램되면, 제 1 내지 제 3 검증 전압(VVF1, VVF2, VVF3)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 여전히 제 1 스텝 펄스 전압(VSTEP)에 상응한다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)는 다시 패일(FAIL)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)는 다시 패일(FAIL)로 결정되며, 제 3 패스-패일 결과(THIRD Y-SCAN)도 다시 패일(FAIL)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하였지만, 여전히 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단), 제 1 검증 전압(VVF1)보다는 크고 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀이면서 제 2 패일 메모리 셀로 판단), 제 2 검증 전압(VVF2)보다는 크고 제 3 검증 전압(VVF3)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀이면서 제 3 패일 메모리 셀로 판단) 및 제 3 검증 전압(VVF3)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 3 패스 메모리 셀로 판단)이 존재한다는 결과가 도출된다. 제 3 프로그램 루프(LOOP3)에서 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성도 생략되지 않으므로, 도 8c에서 제 1 검증 전압(VVF1)을 실선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 3 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 3 패스 메모리 셀들은 프로그램되지 않고, 제 3 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 3 패일 메모리 셀들은 프로그램될 수 있다.
도 8d를 참조하면, 제 3 프로그램 루프(LOOP3)가 종료되면 제 4 프로그램 루프(LOOP4)가 시작된다. 제 4 프로그램 루프(LOOP4)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 4 프로그램 전압(VSTART+3*VSTEP-VDOWN1)이 인가되어 메모리 셀들이 프로그램되면, 제 1 내지 제 3 검증 전압(VVF1, ..., VVF3)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 제 2 스텝 펄스 전압(VSTEP-VDOWN)에 상응한다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)는 패스(PASS)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)는 패일(FAIL)로 결정되며, 제 3 패스-패일 결과(THIRD Y-SCAN)는 패일(FAIL)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하여 제 1 검증 전압(VVF1)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패일 메모리 셀로 판단)은 존재하지 않고, 제 1 검증 전압(VVF1)보다는 크고 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 1 패스 메모리 셀이면서 제 2 패일 메모리 셀로 판단), 제 2 검증 전압(VVF2)보다는 크고 제 3 검증 전압(VVF3)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀이면서 제 3 패일 메모리 셀로 판단) 및 제 3 검증 전압(VVF3)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 3 패스 메모리 셀로 판단)이 존재한다는 결과가 도출된다. 결국, 다음 프로그램 루프에서 제 3 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 3 패스 메모리 셀들은 프로그램되지 않고, 제 3 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 3 패일 메모리 셀들은 프로그램될 수 있다.
도 8e를 참조하면, 제 4 프로그램 루프(LOOP4)가 종료되면 제 5 프로그램 루프(LOOP5)가 시작된다. 제 5 프로그램 루프(LOOP5)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 5 프로그램 전압(VSTART+4*VSTEP-VDOWN2)이 인가되어 메모리 셀들이 프로그램되면, 제 1 내지 제 3 검증 전압(VVF1, VVF2, VVF3)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 제 1 스텝 펄스 전압(VSTEP-VDOWN1)에서 제 2 스텝 펄스 전압(VSTEP-VDOWN2)으로 감소된 것이다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)는 패스(PASS)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)도 패스(PASS)로 결정되며, 제 3 패스-패일 결과(THIRD Y-SCAN)는 패일(FAIL)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하여 제 2 검증 전압(VVF2)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패일 메모리 셀로 판단)은 존재하지 않고, 제 2 검증 전압(VVF2)보다는 크고 제 3 검증 전압(VVF3)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 2 패스 메모리 셀이면서 제 3 패일 메모리 셀로 판단) 및 제 3 검증 전압(VVF3)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 3 패스 메모리 셀로 판단)만이 존재한다는 결과가 도출된다. 프로그램 전압(VPGM)의 증가분이 제 1 스텝 펄스 전압(VSTEP-VDOWN1)에서 제 2 스텝 펄스 전압(VSTEP-VDOWN2)으로 감소된 이후에는 제 1 패스-패일 결과(FIRST Y-SCAN)의 생성이 생략될 수 있으므로, 도 8e에서 제 1 검증 전압(VVF1)을 점선으로 표시하였다. 결국, 다음 프로그램 루프에서 제 3 패스 메모리 셀들에 연결되는 비트라인들에 프로그램 금지 전압이 인가됨으로써 제 3 패스 메모리 셀들은 프로그램되지 않고, 제 3 패일 메모리 셀들에 연결되는 비트라인들에 접지 전압이 인가됨으로써 제 3 패일 메모리 셀들은 프로그램될 수 있다.
도 8f를 참조하면, 제 5 프로그램 루프(LOOP5)가 종료되면 제 6 프로그램 루프(LOOP6)가 시작된다. 제 6 프로그램 루프(LOOP6)에서, 메모리 셀들의 워드라인에 프로그램 전압(VPGM)으로서 제 6 프로그램 전압(VSTART+5*VSTEP-VDOWN3)이 인가되어 메모리 셀들이 프로그램되면, 제 1 내지 제 3 검증 전압(VVF1, VVF2, VVF3)에 의하여 메모리 셀들의 프로그램 상태가 검증될 수 있다. 이 때, 프로그램 전압(VPGM)의 증가분은 제 2 스텝 펄스 전압(VSTEP-VDOWN2)에서 제 3 스텝 펄스 전압(VSTEP-VDOWN3)으로 감소된 것이다. 도시된 바와 같이, 제 1 패스-패일 결과(FIRST Y-SCAN)도 패스(PASS)로 결정되고, 제 2 패스-패일 결과(SECOND Y-SCAN)도 패스(PASS)로 결정되며, 제 3 패스-패일 결과(THIRD Y-SCAN)도 패스(PASS)로 결정된다. 즉, 메모리 셀들의 문턱 전압이 상승하여 제 3 검증 전압(VVF3)보다 작은 문턱 전압을 갖는 메모리 셀들(즉, 제 3 패일 메모리 셀로 판단)은 존재하지 않고, 제 3 검증 전압(VVF3)보다 큰 문턱 전압을 갖는 메모리 셀들(즉, 제 3 패스 메모리 셀로 판단)만이 존재한다는 결과가 도출된다. 상술한 바와 같이, 프로그램 전압(VPGM)의 증가분이 제 2 스텝 펄스 전압(VSTEP-VDOWN2)에서 제 3 스텝 펄스 전압(VSTEP-VDOWN3)으로 감소된 이후에는 제 1 내지 제 2 패스-패일 결과(FIRST Y-SCAN, SECOND Y-SCAN)의 생성이 생략될 수 있으므로, 도 8f에서 제 1 내지 제 2 검증 전압(VVF1, VVF2)을 점선으로 표시하였다. 결국, 메모리 셀들의 모든 문턱 전압이 목표 문턱 전압인 제 3 검증 전압보다 크게 되었으므로, 증가형 스텝 펄스 프로그램 동작은 종료되게 된다.
도 9는 도 6의 프로그램 방법에 의하여 메모리 셀들에 프로그램 전압이 인가되는 일 예를 나타내는 도면이다. 다만, 설명의 편의를 위하여 n을 3이라 가정한다.
도 9를 참조하면, 프로그램 전압(VP) 및 제 1 내지 제 3 검증 전압(V1, V2, V3)에 기초하여 메모리 셀들에 증가형 스텝 펄스 프로그램 동작이 수행(단계 S320)되는 동안에, 제 1 검증 전압(V1)에 기초한 메모리 셀들의 제 1 패스-패일 결과에 따라 프로그램 전압(VP)의 증가분이 제 1 증가분(ΔVPGM1)에서 제 2 증가분(ΔVPGM2)으로 변경(단계 S340)될 수 있고, 제 2 검증 전압(V2)에 기초한 메모리 셀들의 제 2 패스-패일 결과에 따라 프로그램 전압(VP)의 증가분이 제 2 증가분(ΔVPGM2)에서 제 3 증가분(ΔVPGM3)으로 변경(단계 S340)될 수 있다. 또한, 목표 문턱 전압에 상응하는 제 3 검증 전압(V3)에 기초한 메모리 셀들의 제 3 패스-패일 결과에 따라 증가형 스텝 펄스 프로그램 동작이 종료(단계 S360)될 수 있다.
도 9에서, X축은 증가형 스텝 펄스 프로그램 동작에 따른 시간의 경과를 나타내고, Y축은 메모리 셀들에 연결된 워드라인에 인가되는 전압들을 나타낸다. 예를 들어, 제 1 프로그램 루프(L(1))에서, 메모리 셀들에 연결된 워드라인에 프로그램 전압(VP)이 일정시간 동안 인가됨으로써 메모리 셀들이 프로그램되면, 제 1 검증 전압(V1)과 메모리 셀들의 문턱 전압이 일정시간 동안 비교됨으로써 메모리 셀들의 프로그램 상태가 1차 검증된 후, 제 2 검증 전압(V2)과 메모리 셀들의 문턱 전압이 일정시간 동안 비교됨으로써 메모리 셀들의 프로그램 상태가 2차 검증되며, 제 3 검증 전압(V3)과 메모리 셀들의 문턱 전압이 일정시간 동안 비교됨으로써 메모리 셀들의 프로그램 상태가 3차 검증된다. 이러한 방식으로, 제 1 프로그램 루프(L(1))가 종료되면, 제 1 증가분(ΔVPGM1)만큼 증가한 프로그램 전압(VP)에 기초하여 제 2 프로그램 루프(L(2))가 시작된다. 제 2 내지 제 m 프로그램 루프(L(2), ..., L(m))도 프로그램-1차 검증-2차 검증-3차 검증으로 이어지는 일련의 과정이 수행된다.
구체적으로, 제 2 프로그램 루프(L(2))까지는 프로그램 전압(VP)이 제 1 증가분(ΔVPGM1)만큼씩 증가하고, 제 3 내지 제 m-1 프로그램 루프(L(3), ..., L(m-1))에서 프로그램 전압(VP)이 제 2 증가분(ΔVPGM2)만큼씩 증가하며, 제 m 프로그램 루프(L(m))부터는 프로그램 전압(VP)이 제 3 증가분(ΔVPGM3)만큼씩 증가한다. 매 프로그램 루프마다, 프로그램 전압(VP)이 메모리 셀들의 워드라인에 인가됨으로써 메모리 셀들이 프로그램되면, 제 1 내지 제 3 검증 전압(V1, V2, V3)에 기초하여 메모리 셀들의 프로그램 상태가 검증된다. 제 1 검증 전압(V1)은 제 2 검증 전압(V2)보다 작은 값을 가지고, 제 2 검증 전압(V2)은 제 3 검증 전압(V3)보다 작은 값을 가지며, 제 3 검증 전압(V3)은 목표 문턱 전압에 상응한다. 1차 검증, 2차 검증 및 3차 검증이 순차적으로 수행되므로, 제 1 내지 제 3 패스-패일 결과도 순차적으로 생성될 수 있다. 다만, 초기 프로그램 루프에서는 제 1 패스-패일 결과의 생성이 생략될 수 있는 것이므로, 제 1 프로그램 루프(L(1))에서 제 1 검증 전압(V1)을 점선으로 표시하였다.
제 2 프로그램 루프(L(2))에서 메모리 셀들의 모든 문턱 전압이 제 1 검증 전압(V1)보다 크게 되면, 프로그램 전압(VP)의 증가분은 제 1 증가분(ΔVPGM1)에서 제 2 증가분(ΔVPGM2)으로 감소된다. 이에, 제 3 프로그램 루프(L(3))부터는 프로그램 전압(VP)이 제 2 증가분(ΔVPGM2)만큼 상승하게 된다. 마찬가지로, 제 m-1 프로그램 루프(L(m-1))에서 메모리 셀들의 모든 문턱 전압이 제 2 검증 전압(V2)보다 크게 되면, 프로그램 전압(VP)의 증가분은 제 2 증가분(ΔVPGM2)에서 제 3 증가분(ΔVPGM3)으로 감소된다. 이에, 제 m 프로그램 루프(L(m))부터는 프로그램 전압(VP)이 제 3 증가분(ΔVPGM3)만큼 상승하게 된다. 상술한 바와 같이, 프로그램 전압(VP)의 증가분이 제 1 증가분(ΔVPGM1)에서 제 2 증가분(ΔVPGM2)으로 감소된 이후부터는 제 1 패스-패일 결과가 필요하지 않으므로, 제 1 패스-패일 결과의 생성은 생략될 수 있다. 이에, 제 3 프로그램 루프(L(3))에서 제 1 검증 전압(V1)을 점선으로 표시하였다. 마찬가지로, 프로그램 전압(VP)의 증가분이 제 2 증가분(ΔVPGM2)에서 제 3 증가분(ΔVPGM3)으로 감소된 이후부터는 제 1 내지 제 2 패스-패일 결과가 필요하지 않으므로, 제 1 내지 제 2 패스-패일 결과의 생성은 생략될 수 있다. 이에, 제 m 프로그램 루프(L(m))에서 제 1 내지 제 2 검증 전압(V1, V2)을 점선으로 표시하였다. 이후, 메모리 셀들의 모든 문턱 전압이 제 3 검증 전압(V3)보다 크게 되는 프로그램 루프를 마지막으로 증가형 스텝 펄스 프로그램 동작은 종료된다.
일반적으로, 비휘발성 메모리 장치에서 증가형 스텝 펄스 프로그램 방식으로 메모리 셀들을 프로그램하는 경우에, 프로그램 전압(VP)의 증가분이 작을수록 조밀한 문턱 전압 산포를 얻을 수 있지만, 증가형 스텝 펄스 프로그램을 종료하기 전까지 수행해야 하는 프로그램 루프 횟수는 증가하게 된다. 반대로, 프로그램 전압(VP)의 증가분이 클수록 증가형 스텝 펄스 프로그램을 종료하기 전까지 수행해야 하는 프로그램 루프 횟수는 감소하지만, 조밀한 문턱 전압의 산포를 얻을 수 없어 비휘발성 메모리 장치의 동작 신뢰성이 떨어지게 된다. 이러한 문제점을 해결하기 위하여, 도 6의 프로그램 방법은 제 1 내지 제 3 검증 전압(V1, V2, V3)에 기초한 제 1 내지 제 3 패스-패일 결과에 기초하여 초기 프로그램 루프에서는 프로그램 전압(VP)의 증가분을 크게 하고, 후기 프로그램 루프에서는 프로그램 전압(VP)의 증가분을 작게 함으로써, 프로그램 전압의 과도한 상승에 따른 프로그램 디스터브와 불필요한 전력 소비를 방지할 수 있고, 문턱 전압 산포의 조밀도를 향상시킬 수 있다.
도 10은 본 발명의 실시예들에 따른 프로그램 방법을 수행하는 비휘발성 메모리 장치를 나타내는 블록도이다.
도 10을 참조하면, 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 로우 디코더(120), 페이지 버퍼부(130), 패스-패일 검출기(140), 프로그램 제어기(150) 및 전압 생성기(160)를 포함할 수 있다.
메모리 셀 어레이(110)는 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(110)는 전하 저장층을 갖는 다양한 셀 구조들 중 하나를 이용하여 구현될 수 있다. 전하 저장층을 갖는 셀 구조로는 전하 트랩층을 이용하는 전하 트랩 플래시 구조, 어레이들이 다층으로 적층되는 스택 플래시 구조, 소스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조 등이 적용될 수 있다. 비휘발성 메모리 장치(100)는 낸드 플래시 메모리 장치일 수 있으나, 이에 한정되는 것은 아니다. 메모리 셀 어레이(110)에 포함되는 메모리 셀들은 로우 디코더(120)를 거쳐 입력되는 워드라인 전압들(WLV) 및 페이지 버퍼부(130)를 거쳐 입력되는 비트라인 전압들에 기초하여 프로그램될 수 있다. 이 때, 메모리 셀 어레이(100)는 페이지 단위로 프로그램될 수 있다. 즉, 한번의 프로그램 동작에 의하여 선택된 워드라인에 연결된 메모리 셀들이 동시에 프로그램될 수 있다. 메모리 셀 어레이(110)에 포함되는 메모리 셀들은 1비트의 데이터를 저장하는 싱글 레벨 셀(SLC)일 수 있고, 복수 비트의 데이터를 저장하는 멀티 레벨 셀(MLC)일 수 있다.
로우 디코더(120)는 전압 생성기(160)로부터 입력되는 워드라인 전압들(WLV)을 메모리 셀 어레이(110)에 제공할 수 있다. 로우 디코더(120)는 어드레스 버퍼로부터 행 어드레스 신호를 인가받아 워드라인 전압들(WLV)을 각각 상응하는 워드라인들에 인가할 수 있다. 로우 디코더(120)는 증가형 스텝 펄스 프로그램 동작 시에는 워드라인 전압들(WLV)로서 프로그램 전압, 패스 전압을 제공할 수 있는데, 선택된 워드라인에는 프로그램 전압을 인가하고, 비선택된 워드라인에는 패스 전압을 인가할 수 있다.
페이지 버퍼부(130)는 페이지 버퍼들을 포함할 수 있고, 페이지 버퍼들은 각각 메모리 셀 어레이(110)의 비트라인들과 각각 연결될 수 있다. 페이지 버퍼부(130)는 데이터 입출력 신호(DIO)를 송수신함으로써, 비휘발성 메모리 장치(100)의 동작 모드에 따라 기입 드라이버(write driver) 또는 감지 증폭기(sense amplifier)로서 동작할 수 있다. 예를 들면, 페이지 버퍼부(130)는 리드 동작 모드에서 감지 증폭기로서 동작하고, 프로그램 동작 모드에서 기입 드라이버로서 동작할 수 있다. 또한, 페이지 버퍼부(130)는 증가형 스텝 펄스 프로그램 동작 시에는 메모리 셀들의 패스 혹은 패일 여부를 검증하기 위하여 검증 전압들을 인가할 수 있고, 비트라인을 통하여 메모리 셀들의 문턱 전압을 감지할 수 있다.
패스-패일 검출기(140)는 열 스캔 패스/패일 체크 방식 또는 와이어드 오어 패스/패일 체크 방식으로 메모리 셀들의 패스 혹은 패일 여부를 판단할 수 있다. 패스-패일 검출기(140)는 증가형 스텝 펄스 프로그램 동작 시에 매 프로그램 루프에서 복수의 검증 전압들을 이용하여 메모리 셀들의 프로그램 상태를 검증할 수 있다. 예를 들어, 목표 문턱 전압인 제 2 검증 전압과 제 2 검증 전압보다 작은 제 1 검증 전압을 이용하여 메모리 셀들의 프로그램 상태를 검증하는 경우에는, 패스-패일 검출기(140)가 메모리 셀들의 문턱 전압을 리드하기 위한 제 1 검증 리드 동작 및 제 1 검증 전압과 메모리 셀들의 문턱 전압을 비교하기 위한 제 1 상태 체크 동작을 수행한 이후에, 메모리 셀들의 문턱 전압을 리드하기 위한 제 2 검증 리드 동작 및 제 2 검증 전압과 메모리 셀들의 문턱 전압을 비교하기 위한 제 2 상태 체크 동작을 수행할 수 있다.
프로그램 제어기(150)는 패스-패일 검출기(140)에서 생성된 패스-패일 결과들(PFR)에 기초하여 증가형 스텝 펄스 프로그램 동작을 제어할 수 있다. 일 실시예에서, 증가형 스텝 펄스 프로그램 동작 시에 프로그램 루프에서 제 1 및 제 2 검증 전압에 기초하여 제 1 내지 제 2 패스-패일 결과가 생성되는 경우, 프로그램 제어기(150)는 제 1 패스-패일 결과에 기초하여 프로그램 전압의 증가분을 감소시킬 수 있고, 제 2 패스-패일 결과에 기초하여 증가형 스텝 펄스 프로그램 동작을 종료시킬 수 있다. 다른 실시예에서, 증가형 스텝 펄스 프로그램 동작 시에 프로그램 루프에서 제 1 및 제 n 검증 전압에 기초하여 제 1 내지 제 n 패스-패일 결과가 생성되는 경우, 프로그램 제어기(150)는 제 1 내지 제 n-1 패스-패일 결과에 기초하여 프로그램 전압의 증가분을 감소시킬 수 있고, 제 n 패스-패일 결과에 기초하여 증가형 스텝 펄스 프로그램 동작을 종료시킬 수 있다. 다만, 이에 대해서는 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다.
전압 생성기(160)는 비휘발성 메모리 장치(100)의 동작 모드에 따라 워드라인들에 인가될 워드라인 전압들(WLV)을 생성하고, 이를 로우 디코더(120)를 거쳐 메모리 셀 어레이(110)에 제공할 수 있다. 예를 들어, 리드 동작 모드에서는 리드 전압 및 리드 검증 전압을 생성할 수 있고, 프로그램 동작 모드에서는 프로그램 전압 및 패스 전압을 생성할 수 있으며, 소거 동작 모드에서는 소거 전압을 생성할 수 있다. 특히, 전압 생성기(160)는 증가형 스텝 펄스 프로그램 동작 시에, 프로그램 루프마다 프로그램 전압을 생성함에 있어서, 프로그램 전압의 증가분을 적응적으로 감소시킴으로써, 프로그램 전압의 과도한 상승에 따른 프로그램 디스터브와 불필요한 전력 소비를 방지할 수 있다. 다만, 이에 대해서는 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다.
도 11은 도 10의 비휘발성 메모리 장치를 구비하는 메모리 시스템을 나타내는 블록도이다.
도 11을 참조하면, 메모리 시스템(300)은 비휘발성 메모리 장치(100) 및 메모리 컨트롤러(200)를 포함할 수 있다.
비휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 로우 디코더(120), 페이지 버퍼부(130), 패스-패일 검출기(140), 프로그램 제어기(150) 및 전압 생성기(160)를 포함할 수 있다. 실시예에 따라, 비휘발성 메모리 장치(100)는 낸드 플래시 메모리 장치일 수 있다. 비휘발성 메모리 장치(100)는 증가형 스텝 펄스 프로그램 동작을 수행할 수 있으며, 증가형 스텝 펄스 프로그램 동작 시에 프로그램 루프마다 증가하는 프로그램 전압의 증가분을 적응적으로 감소시킬 수 있다. 다만, 비휘발성 메모리 장치(100)에 대해서는 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다.
메모리 컨트롤러(200)는 중앙 처리 장치(210), 램(220), 호스트 인터페이스(230) 및 메모리 인터페이스(240)를 포함할 수 있다. 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)를 제어할 수 있고, 외부의 호스트와 비휘발성 메모리 장치(100) 사이의 데이터 송수신을 수행할 수 있다. 중앙 처리 장치(210)는 데이터 송수신을 위하여 램(220), 호스트 인터페이스(230) 및 메모리 인터페이스(240)을 제어할 수 있다. 램(220)은 호스트로부터 제공되는 데이터 또는 비휘발성 메모리 장치(100)로부터 제공되는 데이터를 일시적으로 저장할 수 있다. 실시예에 따라, 램(200)은 디램(Dynamic Random Access Memory; DRAM), 에스램(Static Random Access Memory; SRAM), 피램(Phase Random Access Memory; PRAM), 에프램(Ferroelectric Random Access Memory; FRAM), 알램(Resistive Random Access Memory; RRAM) 및/또는 엠램(Magnetic Random Access Memory; MRAM)으로 구현될 수 있다. 호스트 인터페이스(230)는 호스트와 연결되어 통신을 수행하고, 메모리 인터페이스(240)는 비휘발성 메모리 장치(100)와 연결되어 통신을 수행한다. 나아가, 중앙 처리 장치(210)는 메모리 인터페이스(240)를 통하여 비휘발성 메모리 장치(100)를 제어할 수도 있다.
실시예에 따라, 호스트 인터페이스(230)는 호스트와 범용직렬버스(USB), 멀티미디어 카드(MMC), 피씨아이(PCI), 피씨아이-익스프레스(PCI-Express), 에이티에이(ATA), 직렬-에이티에이(S-ATA), 병렬-에이티에이(P-ATA), 스카시(SCSI), 이에스디아이(ESDI), 에스에이에스(SAS) 및 아이디이(IDE) 등과 같은 표준 프로토콜을 이용하여 데이터 통신을 수행할 수 있다. 메모리 인터페이스(240)는 비휘발성 메모리 장치(100)와 낸드 인터페이스 프로토콜 등과 같은 표준 프로토콜을 이용하여 데이터 통신을 수행할 수 있다. 한편, 메모리 컨트롤러(200)는 비휘발성 메모리 장치들(100)에 빌트 인(built-in)되어 구현될 수 있는데, 메모리 컨트롤러(200)가 빌트 인되어 구현된 비휘발성 메모리 장치(100)를 소위 원낸드 메모리 장치(One-NAND memory device)라 명명할 수 있다.
메모리 시스템(200)은 메모리 카드(memory card), 솔리드 스테이트 드라이브(solid state drive) 등과 같은 형태로 구현될 수 있다. 메모리 시스템(200)은 다양한 형태들의 패키지를 이용하여 구현될 수 있는데, 예를 들어, PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지를 이용하여 구현될 수 있다.
도 12는 도 11의 메모리 시스템을 구비하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 12를 참조하면, 컴퓨팅 시스템(500)은 메모리 시스템(300), 프로세서(410), 메모리(420), 유저 인터페이스(430) 및 파워 서플라이(440)를 포함할 수 있다.
메모리 시스템(300)은 비휘발성 메모리 장치(100) 및 메모리 컨트롤러(200)를 포함할 수 있다. 다만, 메모리 시스템(300)에 대해서는 상술한 바 있으므로, 중복되는 설명을 생략하기로 한다. 프로세서(410)는 특정 계산들 또는 태스크들을 수행하기 위한 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(410)는 마이크로프로세서일 수 있다. 프로세서(410)는 어드레스 버스, 제어 버스 및/또는 데이터 버스를 통하여 메모리(420)에 연결될 수 있다. 예를 들어, 메모리(420)는 디램(DRAM), 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 프로세서(410)는 주변 구성요소 상호연결(peripheral component interconnect; PCI) 버스와 같은 확장 버스에 연결될 수도 있다. 프로세서(410)는 키보드 또는 마우스와 같은 하나 이상의 입력 장치, 프린터 또는 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함하는 사용자 인터페이스(430)를 제어할 수 있다. 나아가, 컴퓨팅 시스템(500)은 동작 전압을 공급하기 위한 파워 서플라이(440)를 포함할 수 있으며, 실시예에 따라, 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor; CIS) 등을 더 포함할 수도 있다.
이상, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법, 이를 수행하는 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 등에 대하여 도면을 참조하여 설명하였지만, 상기 설명은 예시적인 것으로서 본 발명의 기술적 사상을 벗어나지 않는 범위에서 해당 기술 분야에서 통상의 지식을 가진 자에 의하여 수정 및 변경될 수 있을 것이다. 예를 들어, 상기에서는 비휘발성 메모리 장치로서 플래시 메모리 장치 특히, 낸드 플래시 메모리 장치를 참조하여 설명하였지만, 본 발명의 비휘발성 메모리 장치는 이에 한정되는 것이다.
본 발명은 비휘발성 메모리 장치(예를 들어, 플래시 메모리 장치 등)를 이용하는 다양한 시스템에 적용될 수 있다. 따라서, 본 발명은 비휘발성 메모리 장치를 구비하는 컴퓨터, 노트북, 핸드폰, 스마트폰, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), MP3 플레이어, 디지털 TV, 디지털 카메라, 포터블 게임 콘솔, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 메모리 카드 등과 같은 전자 기기에 확대 적용될 수 있을 것이다.
이상에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 비휘발성 메모리 장치 110: 메모리 셀 어레이
120: 로우 디코더 130: 페이지 버퍼부
140: 패스-패일 검출기 150: 프로그램 제어기
160: 전압 생성기 200: 메모리 컨트롤러
300: 메모리 시스템 500: 컴퓨팅 시스템
120: 로우 디코더 130: 페이지 버퍼부
140: 패스-패일 검출기 150: 프로그램 제어기
160: 전압 생성기 200: 메모리 컨트롤러
300: 메모리 시스템 500: 컴퓨팅 시스템
Claims (10)
- 비휘발성 메모리 장치에서 프로그램 전압 및 제 1 내지 제 2 검증 전압에 기초하여 증가형 스텝 펄스 프로그램 동작을 수행하는 단계;
상기 제 1 검증 전압에 기초한 메모리 셀들의 제 1 패스-패일 결과에 따라 상기 프로그램 전압의 증가분을 변경하는 단계; 및
상기 제 2 검증 전압에 기초한 상기 메모리 셀들의 제 2 패스-패일 결과에 따라 상기 증가형 스텝 펄스 프로그램 동작을 종료하는 단계를 포함하고,
상기 제 1 검증 전압은 상기 제 2 검증 전압보다 작은 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법. - 제 1 항에 있어서, 상기 제 2 검증 전압은 목표 문턱 전압인 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
- 제 2 항에 있어서, 상기 증가형 스텝 펄스 프로그램 동작을 수행하는 단계는
상기 메모리 셀들에 상기 프로그램 전압을 인가하여 상기 메모리 셀들의 문턱 전압들을 상승시키는 단계;
상기 메모리 셀들의 문턱 전압들을 상기 제 1 검증 전압과 비교하여 상기 제 1 패스-패일 결과를 생성하는 단계; 및
상기 메모리 셀들의 문턱 전압들을 상기 제 2 검증 전압과 비교하여 상기 제 2 패스-패일 결과를 생성하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법. - 제 3 항에 있어서, 상기 제 1 패스-패일 결과를 생성하는 단계는 기 설정된 횟수만큼의 프로그램 루프가 진행된 시점 이후부터 수행되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
- 제 3 항에 있어서, 상기 제 1 패스-패일 결과를 생성하는 단계는 상기 증가분이 변경된 시점 이후부터 수행되지 않는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
- 제 5 항에 있어서, 상기 제 2 패스-패일 결과를 생성하는 단계는 상기 증가분이 변경된 시점 이후부터 수행되지 않는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
- 제 3 항에 있어서, 상기 제 1 패스-패일 결과를 생성하는 단계는
상기 제 1 검증 전압보다 작은 문턱 전압을 갖는 상기 메모리 셀들을 제 1 패일 메모리 셀로 판단하는 단계; 및
상기 제 1 검증 전압보다 큰 문턱 전압을 갖는 상기 메모리 셀들을 제 1 패스 메모리 셀로 판단하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법. - 제 7 항에 있어서, 상기 증가분을 변경하는 단계는
상기 메모리 셀들 중에서 상기 제 1 패일 메모리 셀이 존재하면 상기 증가분을 유지시키는 단계; 및
상기 메모리 셀들 중에서 상기 제 1 패일 메모리 셀이 존재하지 않으면 상기 증가분을 감소시키는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법. - 제 3 항에 있어서, 상기 제 2 패스-패일 결과를 생성하는 단계는
상기 제 2 검증 전압보다 작은 문턱 전압을 갖는 상기 메모리 셀들을 제 2 패일 메모리 셀로 판단하는 단계; 및
상기 제 2 검증 전압보다 큰 문턱 전압을 갖는 상기 메모리 셀들을 제 2 패스 메모리 셀로 판단하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법. - 제 9 항에 있어서, 상기 증가형 스텝 펄스 프로그램 동작을 종료하는 단계는
상기 메모리 셀들 중에서 상기 제 2 패일 메모리 셀이 존재하면 상기 증가형 스텝 펄스 프로그램 동작을 유지시키는 단계; 및
상기 메모리 셀들 중에서 상기 제 2 패일 메모리 셀이 존재하지 않으면 상기 증가형 스텝 펄스 프로그램 동작을 종료시키는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100011624A KR101662309B1 (ko) | 2010-02-08 | 2010-02-08 | 비휘발성 메모리 장치의 프로그램 방법 |
US13/022,688 US8446776B2 (en) | 2010-02-08 | 2011-02-08 | Method of programming memory cells for a non-volatile memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100011624A KR101662309B1 (ko) | 2010-02-08 | 2010-02-08 | 비휘발성 메모리 장치의 프로그램 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110092136A KR20110092136A (ko) | 2011-08-17 |
KR101662309B1 true KR101662309B1 (ko) | 2016-10-04 |
Family
ID=44353611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100011624A KR101662309B1 (ko) | 2010-02-08 | 2010-02-08 | 비휘발성 메모리 장치의 프로그램 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8446776B2 (ko) |
KR (1) | KR101662309B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698761B2 (en) | 2017-07-06 | 2020-06-30 | SK Hynix Inc. | Memory system and method for operating semiconductor memory device |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365040B2 (en) | 2007-09-20 | 2013-01-29 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009072100A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Systems and methods for temporarily retiring memory portions |
WO2009074978A2 (en) | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
KR20100101798A (ko) * | 2009-03-10 | 2010-09-20 | 삼성전자주식회사 | 메모리 장치의 프로그램 방법 및 이를 위한 메모리 장치 |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
KR101669550B1 (ko) * | 2009-09-10 | 2016-10-26 | 삼성전자주식회사 | 공통 소스 라인의 노이즈를 줄이는 플래시 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8516274B2 (en) * | 2010-04-06 | 2013-08-20 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
KR101211840B1 (ko) * | 2010-12-30 | 2012-12-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
KR101861084B1 (ko) * | 2011-07-11 | 2018-05-28 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이의 동작 방법, 및 비휘발성 메모리 장치를 포함하는 전자 장치 |
US9082489B2 (en) * | 2012-01-13 | 2015-07-14 | Stec, Inc. | Programming algorithm for improved flash memory endurance and retention |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8838883B2 (en) | 2012-04-13 | 2014-09-16 | Sandisk Technologies Inc. | System and method of adjusting a programming step size for a block of a memory |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
KR20130139598A (ko) * | 2012-06-13 | 2013-12-23 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR20140006460A (ko) * | 2012-07-05 | 2014-01-16 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치 |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
JP2014241180A (ja) * | 2013-06-11 | 2014-12-25 | 株式会社東芝 | 不揮発性半導体記憶装置及びその動作方法 |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
KR102118979B1 (ko) * | 2013-09-13 | 2020-06-05 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9348694B1 (en) * | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9786388B1 (en) * | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US8995198B1 (en) * | 2013-10-10 | 2015-03-31 | Spansion Llc | Multi-pass soft programming |
US8902668B1 (en) | 2013-10-15 | 2014-12-02 | Sandisk Technologies Inc. | Double verify method with soft programming to suppress read noise |
US8908441B1 (en) | 2013-10-15 | 2014-12-09 | Sandisk Technologies Inc. | Double verify method in multi-pass programming to suppress read noise |
KR20150059498A (ko) * | 2013-11-22 | 2015-06-01 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US9269432B2 (en) | 2014-01-09 | 2016-02-23 | Micron Technology, Inc. | Memory systems and memory programming methods |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
KR20150143113A (ko) * | 2014-06-13 | 2015-12-23 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9343141B2 (en) | 2014-07-15 | 2016-05-17 | Sandisk Technologies Inc. | Reprogramming memory with single program pulse per data state |
US9324419B2 (en) | 2014-07-15 | 2016-04-26 | Sandisk Technologies Inc. | Multiple pass programming for memory with different program pulse widths |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
KR102333743B1 (ko) * | 2015-01-21 | 2021-12-01 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법 |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
KR20160138757A (ko) * | 2015-05-26 | 2016-12-06 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
KR20170011644A (ko) * | 2015-07-23 | 2017-02-02 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
KR102436347B1 (ko) * | 2015-12-16 | 2022-08-25 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 위크 셀 검출 방법 |
KR102423291B1 (ko) * | 2016-01-15 | 2022-07-20 | 삼성전자주식회사 | 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법 |
JP6490018B2 (ja) * | 2016-02-12 | 2019-03-27 | 東芝メモリ株式会社 | 半導体記憶装置 |
US11574691B2 (en) | 2016-02-24 | 2023-02-07 | Samsung Electronics Co., Ltd. | Memory device and memory system |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
US9703494B1 (en) * | 2016-09-26 | 2017-07-11 | Intel Corporation | Method and apparatus for protecting lower page data during programming in NAND flash |
US10388382B2 (en) | 2017-08-31 | 2019-08-20 | Micron Technology, Inc. | Methods and apparatus for programming memory |
US10460797B2 (en) | 2017-09-08 | 2019-10-29 | Macronix International Co., Ltd. | Method for programming non-volatile memory and memory system |
TWI663600B (zh) * | 2017-09-08 | 2019-06-21 | 旺宏電子股份有限公司 | 編程非揮發性記憶體的方法及記憶體系統 |
TWI635499B (zh) * | 2017-09-11 | 2018-09-11 | 旺宏電子股份有限公司 | 編程非揮發性記憶體的方法及記憶體系統 |
US10607693B2 (en) * | 2018-06-29 | 2020-03-31 | Micron Technology, Inc. | Misplacement mitigation algorithm |
CN110838324A (zh) * | 2018-08-17 | 2020-02-25 | 北京兆易创新科技股份有限公司 | 一种存储器的编程方法和系统 |
US11076356B2 (en) * | 2019-02-25 | 2021-07-27 | Honeywell International Inc. | Cellular modem with dynamic low battery voltage threshold control |
KR20200116265A (ko) * | 2019-04-01 | 2020-10-12 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작 방법 |
US11145388B2 (en) * | 2019-09-30 | 2021-10-12 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory device and operating method using the same |
KR20210111584A (ko) * | 2020-03-03 | 2021-09-13 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
JP2022036654A (ja) * | 2020-08-24 | 2022-03-08 | キオクシア株式会社 | メモリデバイス及びメモリシステム |
JP2022040515A (ja) * | 2020-08-31 | 2022-03-11 | ウィンボンド エレクトロニクス コーポレーション | フラッシュメモリおよびプログラミング方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7259976B2 (en) | 2005-06-30 | 2007-08-21 | Hynix Semiconductor Inc. | Program control circuit of flash memory device having MLC and method thereof |
US7310271B2 (en) | 2005-04-11 | 2007-12-18 | Hynix Semiconductor Inc. | Program-verify method of non-volatile memory device |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100719368B1 (ko) | 2005-06-27 | 2007-05-17 | 삼성전자주식회사 | 플래시 메모리 장치의 적응적 프로그램 방법 및 장치 |
KR100683856B1 (ko) * | 2006-01-12 | 2007-02-15 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
KR100683858B1 (ko) * | 2006-01-12 | 2007-02-15 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
KR100771520B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
KR100851853B1 (ko) * | 2006-11-22 | 2008-08-13 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법 |
KR100801035B1 (ko) * | 2006-12-14 | 2008-02-04 | 삼성전자주식회사 | 멀티 레벨 셀의 프로그램 방법, 페이지 버퍼 블록 및 이를포함하는 불휘발성 메모리 장치 |
JP4435200B2 (ja) | 2007-04-03 | 2010-03-17 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法 |
US8000150B2 (en) * | 2007-06-19 | 2011-08-16 | Samsung Electronics Co., Ltd. | Method of programming memory device |
KR101322378B1 (ko) * | 2007-07-09 | 2013-10-30 | 삼성전자주식회사 | 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법 |
KR100880320B1 (ko) * | 2007-07-25 | 2009-01-28 | 주식회사 하이닉스반도체 | 플래시 메모리 소자 및 프로그램 방법 |
KR100967007B1 (ko) * | 2007-11-29 | 2010-06-30 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자의 프로그램 검증 방법 |
KR100965029B1 (ko) * | 2008-05-13 | 2010-06-21 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치 및 그 프로그램 검증 방법 |
KR101014926B1 (ko) * | 2008-05-20 | 2011-02-15 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 프로그램 검증 방법 |
KR101412690B1 (ko) * | 2008-05-28 | 2014-06-27 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
KR101642819B1 (ko) * | 2009-08-31 | 2016-07-26 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 구동 방법, 그것을 포함하는 메모리 시스템 |
KR101616097B1 (ko) * | 2009-11-11 | 2016-04-28 | 삼성전자주식회사 | 불휘발성 메모리 장치의 프로그램 방법 |
-
2010
- 2010-02-08 KR KR1020100011624A patent/KR101662309B1/ko active IP Right Grant
-
2011
- 2011-02-08 US US13/022,688 patent/US8446776B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7310271B2 (en) | 2005-04-11 | 2007-12-18 | Hynix Semiconductor Inc. | Program-verify method of non-volatile memory device |
US7259976B2 (en) | 2005-06-30 | 2007-08-21 | Hynix Semiconductor Inc. | Program control circuit of flash memory device having MLC and method thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698761B2 (en) | 2017-07-06 | 2020-06-30 | SK Hynix Inc. | Memory system and method for operating semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
US20110194353A1 (en) | 2011-08-11 |
KR20110092136A (ko) | 2011-08-17 |
US8446776B2 (en) | 2013-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101662309B1 (ko) | 비휘발성 메모리 장치의 프로그램 방법 | |
US11017861B2 (en) | Semiconductor memory device and method of operating the same | |
US10665308B2 (en) | Semiconductor memory device | |
US9852788B2 (en) | Multipage program scheme for flash memory | |
US8665649B2 (en) | Non-volatile memory device and ISPP programming method | |
US10573378B2 (en) | Methods of programming memory devices | |
US8432741B2 (en) | Nonvolatile memory device and nonvolatile memory system employing same | |
US7463526B2 (en) | Programming method for flash memory capable of compensating reduction of read margin between states due to high temperature stress | |
US20150146485A1 (en) | Method of programming non-volatile memory device and non-volatile memory device using the same | |
US8385120B2 (en) | Method of programming a nonvolatile memory device | |
US8902666B2 (en) | Programming method for nonvolatile memory device | |
US20090296486A1 (en) | Memory device and memory programming method | |
TWI746844B (zh) | 記憶體裝置及其操作方法 | |
KR20120030281A (ko) | 플래시 메모리 장치, 및 그의 프로그램 검증 방법 | |
US20100110796A1 (en) | Method of performing erase operation in non-volatile memory device | |
JP2011253608A (ja) | ダイナミック検証モード選択を有する不揮発性メモリー装置とその動作方法、駆動方法、並びにプログラミング方法、メモリーシステム、メモリーカード及びソリッドステートドライバー | |
US8879320B2 (en) | Method of programming multi-level cells in non-volatile memory device | |
KR20130110290A (ko) | 공유 비트 라인 구조를 가지는 비휘발성 메모리 장치의 프로그램 방법 | |
US11024397B2 (en) | Nonvolatile memory device with verification signal to indicate success or failure of programming memory cell and method for operating thereof | |
CN114360614A (zh) | 半导体存储器装置及其操作方法 |
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 |