본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 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) 등을 더 포함할 수도 있다.
이상, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법, 이를 수행하는 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 등에 대하여 도면을 참조하여 설명하였지만, 상기 설명은 예시적인 것으로서 본 발명의 기술적 사상을 벗어나지 않는 범위에서 해당 기술 분야에서 통상의 지식을 가진 자에 의하여 수정 및 변경될 수 있을 것이다. 예를 들어, 상기에서는 비휘발성 메모리 장치로서 플래시 메모리 장치 특히, 낸드 플래시 메모리 장치를 참조하여 설명하였지만, 본 발명의 비휘발성 메모리 장치는 이에 한정되는 것이다.