KR20120076787A - 비휘발성 메모리 장치의 프로그램 방법 - Google Patents

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

Info

Publication number
KR20120076787A
KR20120076787A KR1020100138502A KR20100138502A KR20120076787A KR 20120076787 A KR20120076787 A KR 20120076787A KR 1020100138502 A KR1020100138502 A KR 1020100138502A KR 20100138502 A KR20100138502 A KR 20100138502A KR 20120076787 A KR20120076787 A KR 20120076787A
Authority
KR
South Korea
Prior art keywords
program
level cells
state
programmed
bit
Prior art date
Application number
KR1020100138502A
Other languages
English (en)
Other versions
KR101798013B1 (ko
Inventor
장준석
곽동훈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100138502A priority Critical patent/KR101798013B1/ko
Priority to DE102011055714.8A priority patent/DE102011055714B8/de
Priority to US13/305,183 priority patent/US20120170364A1/en
Priority to JP2011275666A priority patent/JP5921870B2/ja
Priority to CN201110453269.1A priority patent/CN102543192B/zh
Priority to CN201710058923.6A priority patent/CN107093453B/zh
Publication of KR20120076787A publication Critical patent/KR20120076787A/ko
Priority to US14/274,041 priority patent/US9281069B2/en
Priority to US15/003,072 priority patent/US9818475B2/en
Application granted granted Critical
Publication of KR101798013B1 publication Critical patent/KR101798013B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Abstract

비휘발성 메모리 장치의 프로그램 방법에서, 멀티 레벨 셀들에 멀티 비트 데이터의 하위 비트를 프로그램하는 하위 비트 프로그램, 및 멀티 레벨 셀들에 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다. 상위 비트 프로그램을 수행하도록, 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 대한 프리 프로그램을 수행하고, 멀티 레벨 셀들을 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램을 수행한다. 비휘발성 메모리 장치의 프로그램 방법에 의해 문턱 전압 분포들의 폭이 감소될 수 있다.

Description

비휘발성 메모리 장치의 프로그램 방법{METHOD OF PROGRAMMING A NONVOLATILE MEMORY DEVICE}
본 발명은 비휘발성 메모리 장치에 관한 것으로서, 더욱 상세하게는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에 관한 것이다.
비휘발성 메모리 장치의 메모리 셀들은, 저장되는 데이터의 비트 수에 따라, 셀마다 한 비트의 데이터를 저장하는 단일 레벨 셀(Single Level Cell; SLC)들 또는 셀마다 2 비트 이상의 데이터를 저장하는 멀티 레벨 셀(Multi Level Cell; MLC)들로 분류될 수 있다. 멀티 레벨 셀들은 서로 다른 논리 상태들을 나타내는 복수의 문턱 전압 분포들을 이용하여 멀티 비트 데이터를 저장할 수 있다. 예를 들어, 2비트의 데이터를 저장하는 멀티 레벨 셀들은 논리 상태들 “11”, “10”, “01” 및 “00”을 나타내는 4 개의 문턱 전압 분포들을 이용할 수 있다.
멀티 비트 데이터를 정확하게 기입 및 독출하기 위해서는, 멀티 레벨 셀들의 문턱 전압 분포들이 적당한 센싱 마진만큼 서로 이격되어야 한다. 그러나, 비휘발성 메모리 장치의 집적도가 증가함에 따라, 인접한 메모리 셀들간의 커플링, 프로그램 디스터브 등에 의해 문턱 전압 분포들이 넓어지는 문제가 있다.
상기와 같은 문제점을 해결하기 위하여, 본 발명의 일 목적은 메모리 셀들 간의 커플링 및/또는 프로그램 디스터브에 의한 문턱 전압 분포의 증가를 최소화할 수 있는 비휘발성 메모리 장치의 프로그램 방법을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에서, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 하위 비트를 프로그램하는 하위 비트 프로그램이 수행되고, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다. 상기 상위 비트 프로그램이 수행되도록, 상기 멀티 레벨 셀들 중 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 대한 프리 프로그램이 수행되고, 상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램이 수행된다.
일 실시예에서, 상기 프리 프로그램이 수행되도록, 상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 원샷(one-shot) 펄스가 인가될 수 있다.
일 실시예에서, 상기 프리 프로그램은 증가형 스텝 펄스 프로그램(Incremental Step Pulse Program) 방식으로 수행될 수 있다.
일 실시예에서, 상기 프리 프로그램이 수행되도록, 상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 증가형 스텝 펄스가 인가되고, 상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 프리 프로그램 검증 전압이 인가될 수 있다.
일 실시예에서, 상기 프리 프로그램 검증 전압은 상기 최상위 프로그램 상태에 상응하는 검증 전압보다 낮은 전압 레벨을 가질 수 있다.
일 실시예에서, 상기 프리 프로그램이 수행되도록, 상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들이 제1 중간 상태로 프로그램되고, 상기 제1 중간 상태가 복수의 구간들로 구분되며, 상기 복수의 구간들에 따라 서로 다른 크기로 문턱 전압들을 증가시켜 상기 제1 중간 상태로 프로그램된 멀티 레벨 셀들이 상기 제1 중간 상태보다 좁은 폭을 가지는 제2 중간 상태로 프로그램될 수 있다.
일 실시예에서, 상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들이 상기 제1 중간 상태로 프로그램되도록, 상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 제1 원샷 펄스가 인가될 수 있다.
일 실시예에서, 상기 제1 중간 상태가 복수의 구간들로 구분되도록, 상기 제1 중간 상태로 프로그램된 멀티 레벨 셀들에 적어도 하나의 전압을 인가하여 상기 제1 중간 상태로 프로그램된 멀티 레벨 셀들 각각이 속한 구간이 확인될 수 있다.
일 실시예에서, 상기 적어도 하나의 전압은, 제1 전압 및 상기 제1 전압보다 높은 전압 레벨을 가지는 제2 전압을 포함하고, 상기 복수의 구간들은, 상기 제1 전압보다 낮은 전압 레벨을 가지는 제1 구간, 상기 제1 전압보다 높고 상기 제2 전압보다 낮은 전압 레벨을 가지는 제2 구간, 및 상기 제2 전압보다 높은 전압 레벨을 가지는 제3 구간을 포함할 수 있다.
일 실시예에서, 상기 복수의 구간들은, 제1 구간, 상기 제1 구간보다 높은 전압 레벨을 가지는 제2 구간, 및 상기 제2 구간 보다 높은 전압 레벨을 가지는 제3 구간을 포함하고, 상기 제1 중간 상태로 프로그램된 멀티 레벨 셀들이 상기 제2 중간 상태로 프로그램되도록, 상기 제1 구간에 속하는 멀티 레벨 셀들에 연결된 비트 라인들에 제1 전원 전압이 인가되고, 상기 제2 구간에 속하는 멀티 레벨 셀들에 연결된 비트 라인들에 포싱 전압이 인가되며, 상기 제3 구간에 속하는 멀티 레벨 셀들에 연결된 비트 라인들에 제2 전원 전압이 인가되고, 선택된 워드 라인에 제2 원샷 펄스가 인가될 수 있다.
일 실시예에서, 상기 제1 전원 전압은 저전원 전압이고, 상기 제2 전원 전압은 고전원 전압이며, 상기 포싱 전압은, 상기 제1 전원 전압보다 높고 상기 제2 전원 전압보다 낮은 전압 레벨을 가질 수 있다.
일 실시예에서, 상기 포싱 전압은, 상기 제1 구간과 상기 제2 구간을 구분하기 위한 제1 전압과 상기 제2 구간과 상기 제3 구간을 구분하기 위한 제2 전압의 전압 레벨 차에 상응하는 전압 레벨을 가질 수 있다.
일 실시예에서, 상기 선택된 워드 라인에 상기 제2 원샷 펄스가 인가될 때, 상기 제3 구간에 속하는 멀티 레벨 셀들의 문턱 전압들은 실질적으로 증가되지 않고, 상기 제2 원샷 펄스에 의한 상기 제1 구간에 속하는 멀티 레벨 셀들의 문턱 전압 증가는 상기 제2 원샷 펄스에 의한 상기 제2 구간에 속하는 멀티 레벨 셀들의 문턱 전압 증가보다 클 수 있다.
일 실시예에서, 상기 하위 비트 프로그램 및 상기 메인 프로그램은 증가형 스텝 펄스 프로그램 방식으로 수행될 수 있다.
상기 일 목적을 달성하기 위해, 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에서, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 하위 비트를 프로그램하는 하위 비트 프로그램이 수행되고, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다. 상기 상위 비트 프로그램이 수행되도록, 상기 멀티 레벨 셀들 중 적어도 하나의 프로그램 상태로 프로그램될 멀티 레벨 셀들에 대한 프리 프로그램이 수행되고, 상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램이 수행된다.
일 실시예에서, 상기 적어도 하나의 프로그램 상태는, 상기 프로그램 상태들 중 가장 높은 전압 레벨을 가지는 최상위 프로그램 상태를 포함할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로그램 상태는, 상기 프로그램 상태들을 모두 포함할 수 있다.
일 실시예에서, 상기 프리 프로그램이 수행되도록, 상기 멀티 레벨 셀들에 상기 프로그램 상태들에 각각 상응하는 복수의 원샷 펄스들이 순차적으로 인가될 수 있다.
일 실시예에서, 상기 프리 프로그램이 수행되도록, 상기 멀티 레벨 셀들에 증가형 스텝 펄스가 인가되고, 상기 멀티 레벨 셀들에 복수의 프리 프로그램 검증 전압들이 순차적으로 인가될 수 있다.
일 실시예에서, 상기 프리 프로그램이 수행되도록, 상기 멀티 레벨 셀들이 제1 중간 상태들로 프로그램되고, 상기 제1 중간 상태들 각각이 복수의 구간들로 구분되며, 상기 제1 중간 상태들 각각의 상기 복수의 구간들에 따라 서로 다른 크기로 문턱 전압들을 증가시켜 상기 제1 중간 상태들로 프로그램된 멀티 레벨 셀들이 상기 제1 중간 상태들보다 각각 좁은 폭을 가지는 제2 중간 상태들로 프로그램될 수 있다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법은 메모리 셀들 간의 커플링 및 프로그램 디스터브에 의한 문턱 전압 분포의 증가를 최소화할 수 있다.
또한, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법은 문턱 전압 분포들의 폭을 감소시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 3은 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 다른 예를 나타내는 도면이다.
도 4는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 또 다른 예를 나타내는 도면이다.
도 5는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 또 다른 예를 나타내는 도면이다.
도 6은 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 또 다른 예를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 8은 도 7의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 9는 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 10은 도 9의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 11은 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 12는 도 11의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 13은 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 14는 도 13의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 15는 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 16은 도 15의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 17은 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 18은 도 17의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 19는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 프로그램 순서를 설명하기 위한 표이다.
도 20은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 21은 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 블록도이다.
도 22는 본 발명의 실시예들에 따른 메모리 시스템이 메모리 카드에 응용된 예를 나타내는 도면이다.
도 23은 본 발명의 실시예들에 따른 메모리 시스템이 솔리드 스테이트 드라이브에 응용된 예를 나타내는 도면이다.
도 24는 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성 요소에 대해서는 동일하거나 유사한 참조 부호를 사용한다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 1을 참조하면, 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치에서, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 하위 비트(Least Significant Bit; LSB)를 프로그램하는 하위 비트 프로그램이 수행된다(S110). 여기서, 상기 멀티 비트 데이터는 2 비트 이상의 데이터를 나타내고, 멀티 레벨 셀은 셀마다 2 비트 이상의 데이터를 저장하는 비휘발성 메모리 셀을 나타낸다.
예를 들어, 상기 멀티 레벨 셀들에 연결된 비트 라인들에 상기 멀티 비트 데이터의 상기 하위 비트에 따라 제1 전원 전압(예를 들어, 저전원 전압, 또는 접지 전압) 또는 제2 전원 전압(예를 들어, 고전원 전압)이 선택적으로 인가되고, 상기 멀티 레벨 셀들에 연결된 워드 라인에 프로그램 전압을 인가함으로써 상기 하위 비트 프로그램이 수행될 수 있다.
일 실시예에서, 상기 하위 비트 프로그램은 증가형 스텝 펄스 프로그램(Incremental Step Pulse Program; ISPP) 방식으로 수행될 수 있다. 예를 들어, 상기 멀티 레벨 셀들에 매 프로그램 루프마다 소정의 전압 레벨만큼 증가하는 증가형 스텝 펄스를 인가하고, 상기 멀티 레벨 셀들에 상기 하위 비트가 프로그램되었는지를 확인하도록 상기 멀티 레벨 셀들에 상기 하위 비트에 상응하는 검증 전압을 인가함으로써, 상기 하위 비트 프로그램이 수행될 수 있다. 실시예에 따라, 상기 ISPP 방식으로 수행되는 LSB 메인 프로그램 전에 LSB 프리 프로그램이 수행될 수 있다.
상기 하위 비트 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트(Most Significant Bit; MSB)를 프로그램하는 상위 비트 프로그램이 수행된다(S120). 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함한다.
상기 멀티 레벨 셀들 중 적어도 하나의 프로그램 상태로 프로그램될 멀티 레벨 셀들을 상기 적어도 하나의 프로그램 상태보다 낮은 전압 레벨을 가지는 적어도 하나의 중간 상태로 프로그램함으로써, 상기 프리 프로그램이 수행될 수 있다(S130). 일 실시예에서, 상기 멀티 비트 데이터에 상응하는 프로그램 상태들 중 가장 높은 전압 레벨을 가지는 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 대한 프리 프로그램이 수행될 수 있다. 다른 실시예에서, 상기 프로그램 상태들로 프로그램될 멀티 레벨 셀들 모두에 대한 프리 프로그램이 수행될 수 있다. 또 다른 실시예에서, 상기 상위 비트의 값에 따라 상기 프로그램 상태들 중 일부 상태들로 프로그램될 멀티 레벨 셀들에 대한 프리 프로그램이 수행될 수 있다.
상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 상기 프로그램 상태들로 프로그램함으로써, 상기 메인 프로그램이 수행될 수 있다(S150). 일 실시예에서, 상기 메인 프로그램은 ISPP 방식으로 수행될 수 있다. 예를 들어, 상기 멀티 레벨 셀들에 매 프로그램 루프마다 소정의 전압 레벨만큼 증가하는 증가형 스텝 펄스를 인가하고, 상기 멀티 레벨 셀들이 상기 프로그램 상태들로 프로그램되었는지를 확인하도록 상기 멀티 레벨 셀들에 상기 프로그램 상태들에 각각 상응하는 검증 전압들을 인가함으로써, 상기 메인 프로그램이 수행될 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램을 수행한 후 상기 프로그램 상태들에 대한 상기 메인 프로그램을 수행함으로써, 커플링(coupling), 디스터브(disturb) 등에 의한 소거 상태의 멀티 레벨 셀들의 문턱 전압 분포의 증가를 최소화할 수 있다.
또한, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 상기 프로그램 상태들로 프로그램될 멀티 레벨 셀들 모두에 대한 상기 프리 프로그램을 수행한 후 상기 프로그램 상태들에 대한 상기 메인 프로그램을 수행함으로써, 상기 멀티 레벨 셀들의 문턱 전압 분포들 각각의 폭을 최소화할 수 있다.
도 2는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 1 및 도 2를 참조하면, 하위 비트 프로그램이 수행되면(S110), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 제1 중간 상태(IP1)를 가질 수 있다. 예를 들어, 멀티 레벨 셀에 프로그램될 상기 멀티 비트 데이터의 상기 하위 비트가 “1”인 경우, 상기 멀티 레벨 셀은 소거 상태(E0)를 가질 수 있다. 또한, 멀티 레벨 셀에 프로그램될 상기 멀티 비트 데이터의 상기 하위 비트가 “0”인 경우, 상기 멀티 레벨 셀은 제1 중간 상태(IP1)를 가질 수 있다.
프리 프로그램이 수행되면(S130), 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들은 최상위 프로그램 상태(P3)에 상응하는 중간 상태(P3’)를 가질 수 있다. 제1 중간 상태(IP1)를 가지는 멀티 레벨 셀들 중 제2 프로그램 상태(P2)로 프로그램될 멀티 레벨 셀들의 문턱 전압들은 실질적으로 증가하지 않고, 제1 중간 상태(IP1)를 가지는 멀티 레벨 셀들 중 제3 프로그램 상태(P3), 즉 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들의 문턱 전압들은 상기 프리 프로그램에 의해 증가될 수 있다.
메인 프로그램이 수행되면(S150), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다. 예를 들어, 상기 메인 프로그램에 의해, 소거 상태(E0)를 가지는 멀티 레벨 셀들 중 적어도 일부는 상기 멀티 비트 데이터에 따라 제1 검증 전압(VVRF1)에 상응하는 제1 프로그램 상태(P1)로 프로그램되고, 제1 중간 상태(IP1)를 가지는 멀티 레벨 셀들은 제2 검증 전압(VVRF2)에 상응하는 제2 프로그램 상태(P2)로 프로그램되며, 제3 프로그램 상태(P3)에 상응하는 중간 상태(P3’)를 가지는 멀티 레벨 셀들은 제3 프로그램 상태(P3)로 프로그램될 수 있다.
예를 들어, 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3)는 멀티 비트 데이터 “11”, “01”, “00” 및 “10”에 각각 상응할 수 있다. 실시예에 따라, 상태들(E0, P1, P2, P3)에 각각 할당되는 멀티 비트 데이터의 로직 값들은 다양할 수 있다.
소거 상태(E0)를 가지는 멀티 레벨 셀의 원치 않는 문턱 전압 변화(shift)는, 주로, 상기 멀티 레벨 셀과 동일한 워드 라인에 연결된 멀티 레벨 셀들이 제1 및 제2 프로그램 상태들(P1, P2)로 프로그램될 때 발생하는 프로그램 디스터브, 및 상기 멀티 레벨 셀과 인접한 메모리 셀들이 최상위 프로그램 상태(P3)로 프로그램됨에 따라 발생하는 커플링에 기인한다. 한편, 상기 프로그램 디스터브에 의한 상기 문턱 전압 변화의 크기는 소거 상태(E0)를 가지는 상기 멀티 레벨 셀의 문턱 전압의 값에 따라 달라지나, 상기 커플링에 의한 상기 문턱 전압 변화의 크기는 소거 상태(E0)를 가지는 상기 멀티 레벨 셀의 문턱 전압의 값과 실질적으로 무관하다. 본 발명의 실시예들에 따른 프로그램 방법에서, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램이 수행됨으로써, 소거 상태(E0)를 가지는 상기 멀티 레벨 셀이 상기 커플링에 의한 영향을 받은 후, 상기 프로그램 디스터브에 의한 영향을 받는다. 이에 따라, 소거 상태(E0)를 가지는 상기 멀티 레벨 셀의 문턱 전압이 상기 커플링에 의해 증가된 후 상기 프로그램 디스터브에 의한 영향을 받으므로, 상기 멀티 레벨 셀의 전체적인 문턱 전압 변화가 감소될 수 있다.
또한, 본 발명의 실시예들에 따른 프로그램 방법에서, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들이 상기 프리 프로그램에 의해 최상위 프로그램 상태(P3)에 상응하는 검증 전압(VVRF3)과 상대적으로 가까운 문턱 전압들을 가지므로, 상기 멀티 레벨 셀들이 상기 메인 프로그램에서 상대적으로 낮은 전압 레벨을 가지는 초기의 프로그램 펄스들에 의해 최상위 프로그램 상태(P3)로 프로그램될 수 있다. 이에 따라, 상기 메인 프로그램이 신속하게 완료될 수 있고, 최상위 프로그램 상태(P3)의 폭이 감소될 수 있다.
도 3은 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 다른 예를 나타내는 도면이다.
도 1 및 도 3을 참조하면, 하위 비트 프로그램이 수행되면(S110), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 제1 중간 상태(IP1)를 가질 수 있다.
프리 프로그램이 수행되면(S130), 프로그램 상태들(P1, P2, P3)로 프로그램될 멀티 레벨 셀들은 프로그램 상태들(P1, P2, P3)에 상응하는 중간 상태들(P1’, P2’, P3’)을 가질 수 있다. 예를 들어, 상기 프리 프로그램에 의해, 소거 상태(E0)를 가지는 멀티 레벨 셀들 중 제1 프로그램 상태(P1)로 프로그램될 멀티 레벨 셀들은 제1 프로그램 상태(P1)에 상응하는 중간 상태(P1’)로 프로그램되고, 제1 중간 상태(IP1)를 가지는 멀티 레벨 셀들 중 제2 프로그램 상태(P2)로 프로그램될 멀티 레벨 셀들은 제2 프로그램 상태(P2)에 상응하는 중간 상태(P2’)로 프로그램되며, 제1 중간 상태(IP1)를 가지는 멀티 레벨 셀들 중 제3 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들은 제3 프로그램 상태(P3)에 상응하는 중간 상태(P3’)로 프로그램될 수 있다.
메인 프로그램이 수행되면(S150), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다. 예를 들어, 상기 메인 프로그램에 의해, 제1 프로그램 상태(P1)에 상응하는 중간 상태(P1’)를 가지는 멀티 레벨 셀들은 제1 프로그램 상태(P1)로 프로그램되고, 제2 프로그램 상태(P2)에 상응하는 중간 상태(P2’)를 가지는 멀티 레벨 셀들은 제2 프로그램 상태(P2)로 프로그램되며, 제3 프로그램 상태(P3)에 상응하는 중간 상태(P3’)를 가지는 멀티 레벨 셀들은 제3 프로그램 상태(P3)로 프로그램될 수 있다.
메모리 셀이 프로그램된 후, 상기 메모리 셀에 인접한 메모리 셀이 프로그램되면, 상기 메모리 셀의 문턱 전압은 상기 인접한 메모리 셀과의 커플링에 의해 원치 않게 증가될 수 있다. 본 발명의 실시예들에 따른 프로그램 방법에서, 프로그램 상태들(P1, P2, P3)로 프로그램될 멀티 레벨 셀들이 상기 프리 프로그램에 의해 프로그램 상태들(P1, P2, P3)에 상응하는 검증 전압들(VVRF1, VVRF2, VVRF3)과 상대적으로 가까운 문턱 전압들을 가지므로, 상기 메인 프로그램 시 상기 멀티 레벨 셀들의 문턱 전압 증가가 상대적으로 작을 수 있다. 이에 따라, 커플링에 의한 원치 않은 문턱 전압 증가가 감소되고, 프로그램 상태들(P1, P2, P3) 각각이 상대적으로 좁은 폭을 가질 수 있다.
예를 들어, 제1 메모리 셀(희생 셀, victim cell)에 인접한 제2 메모리 셀(공격 셀, aggressor cell)이 제3 프로그램 상태(P3)로 프로그램되는 경우, 상기 제2 메모리 셀은 상기 프리 프로그램에 의해 제3 검증 전압(VVRF3)에 근접한 문턱 전압을 가지고, 상기 메인 프로그램 동안의 상기 제2 메모리 셀의 문턱 전압 증가는 상대적으로 작다. 이에 따라, 상기 메인 프로그램 동안, 상기 제1 메모리 셀이 상기 제2 메모리 셀보다 먼저 프로그램 완료되더라도, 상기 제2 메모리 셀의 문턱 전압 증가가 크지 않으므로, 상기 제2 메모리 셀과의 커플링에 의한 상기 제1 메모리 셀의 원치 않은 문턱 전압 증가가 감소될 수 있다.
도 4는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 또 다른 예를 나타내는 도면이다.
도 1 및 도 4를 참조하면, 하위 비트 프로그램이 수행되면(S110), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 제1 중간 상태(IP1)를 가질 수 있다.
중간 비트(Intermediate Significant Bit; ISB) 프로그램이 수행되면, 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터의 중간 비트 및 상기 하위 비트에 따라 소거 상태(E0), 제2 중간 상태(IP2), 제3 중간 상태(IP3), 또는 제4 중간 상태(IP4)를 가질 수 있다. 예를 들어, 소거 상태(E0), 제2 중간 상태(IP2), 제3 중간 상태(IP3) 및 제4 중간 상태(IP4)는, 이에 한정되지는 않으나, 상기 중간 비트 및 상기 하위 비트 “11”, “01”, “00” 및 “10”에 각각 상응할 수 있다. 실시예에 따라, 상태들(E0, IP2, IP3, IP4)에 각각 할당되는 멀티 비트 데이터의 로직 값들은 다양할 수 있다.
일 실시예에서, 상기 중간 비트 프로그램은 ISPP 방식으로 수행될 수 있다. 예를 들어, 상기 멀티 레벨 셀들에 매 프로그램 루프마다 소정의 전압 레벨만큼 증가하는 증가형 스텝 펄스를 인가하고, 상기 멀티 레벨 셀들이 제2 내지 제4 중간 상태들(IP2, IP3, IP4)로 프로그램되었는지를 확인하도록 상기 멀티 레벨 셀들에 제2 내지 제4 중간 상태들(IP2, IP3, IP4)에 상응하는 검증 전압을 인가함으로써, 상기 중간 비트 프로그램이 수행될 수 있다.
프리 프로그램이 수행되면(S130), 최상위 프로그램 상태(P7)로 프로그램될 멀티 레벨 셀들은 최상위 프로그램 상태(P7)에 상응하는 중간 상태(P7’)를 가질 수 있다. 제4 중간 상태(IP4)를 가지는 멀티 레벨 셀들 중 제6 프로그램 상태(P6)로 프로그램될 멀티 레벨 셀들의 문턱 전압들은 실질적으로 증가하지 않고, 제4 중간 상태(IP4)를 가지는 멀티 레벨 셀들 중 제7 프로그램 상태(P7), 즉 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들의 문턱 전압들은 상기 프리 프로그램에 의해 증가될 수 있다.
메인 프로그램이 수행되면(S150), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제3 프로그램 상태(P3), 제4 프로그램 상태(P4), 제5 프로그램 상태(P5), 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 가질 수 있다. 예를 들어, 상기 메인 프로그램에 의해, 소거 상태(E0)를 가지는 멀티 레벨 셀들 중 적어도 일부는 상기 멀티 비트 데이터에 따라 제1 검증 전압(VVRF1)에 상응하는 제1 프로그램 상태(P1)로 프로그램되고, 제2 중간 상태(IP2)를 가지는 멀티 레벨 셀들은 제2 검증 전압(VVRF2)에 상응하는 제2 프로그램 상태(P2) 또는 제3 검증 전압(VVRF3)에 상응하는 제3 프로그램 상태(P3)로 프로그램되며, 제3 중간 상태(IP3)를 가지는 멀티 레벨 셀들은 제4 검증 전압(VVRF4)에 상응하는 제4 프로그램 상태(P4) 또는 제5 검증 전압(VVRF5)에 상응하는 제5 프로그램 상태(P5)로 프로그램되고, 제4 중간 상태(IP4)를 가지는 멀티 레벨 셀들은 제6 검증 전압(VVRF6)에 상응하는 제6 프로그램 상태(P6)로 프로그램되며, 제7 프로그램 상태(P7)에 상응하는 중간 상태(P7’)를 가지는 멀티 레벨 셀들은 제7 프로그램 상태(P7)로 프로그램될 수 있다.
예를 들어, 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제3 프로그램 상태(P3), 제4 프로그램 상태(P4), 제5 프로그램 상태(P5), 제6 프로그램 상태(P6) 및 제7 프로그램 상태(P7)는 멀티 비트 데이터 “111”, “011”, “001”, “101”, “100”, “000”, “010” 및 “110”에 각각 상응할 수 있다. 실시예에 따라, 상태들(E0, P1, P2, P3, P4, P5, P6, P7)에 각각 할당되는 멀티 비트 데이터의 로직 값들은 다양할 수 있다.
본 발명의 실시예들에 따른 프로그램 방법에서, 최상위 프로그램 상태(P7)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램이 수행됨으로써, 소거 상태(E0)를 가지는 멀티 레벨 셀의 전체적인 문턱 전압 변화가 감소될 수 있고, 최상위 프로그램 상태(P7)의 폭이 감소될 수 있다.
도 5는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 또 다른 예를 나타내는 도면이다.
도 1 및 도 5를 참조하면, 하위 비트 프로그램이 수행되면(S110), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 제1 중간 상태(IP1)를 가질 수 있다.
중간 비트 프로그램이 수행되면, 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터의 중간 비트 및 상기 하위 비트에 따라 소거 상태(E0), 제2 중간 상태(IP2), 제3 중간 상태(IP3), 또는 제4 중간 상태(IP4)를 가질 수 있다.
프리 프로그램이 수행되면(S130), 프로그램 상태들(P1, P2, P3, P4, P5, P6, P7)로 프로그램될 멀티 레벨 셀들은 프로그램 상태들(P1, P2, P3, P4, P5, P6, P7)에 상응하는 중간 상태들(P1’, P2’, P3’, P4’, P5’, P6’, P7’)을 가질 수 있다. 예를 들어, 상기 프리 프로그램에 의해, 소거 상태(E0)를 가지는 멀티 레벨 셀들 중 제1 프로그램 상태(P1)로 프로그램될 멀티 레벨 셀들은 제1 프로그램 상태(P1)에 상응하는 중간 상태(P1’)로 프로그램되고, 제2 중간 상태(IP2)를 가지는 멀티 레벨 셀들 중 제2 프로그램 상태(P2)로 프로그램될 멀티 레벨 셀들은 제2 프로그램 상태(P2)에 상응하는 중간 상태(P2’)로 프로그램되며, 제2 중간 상태(IP2)를 가지는 멀티 레벨 셀들 중 제3 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들은 제3 프로그램 상태(P3)에 상응하는 중간 상태(P3’)로 프로그램되며, 제3 중간 상태(IP3)를 가지는 멀티 레벨 셀들 중 제4 프로그램 상태(P4)로 프로그램될 멀티 레벨 셀들은 제4 프로그램 상태(P4)에 상응하는 중간 상태(P4’)로 프로그램되며, 제3 중간 상태(IP3)를 가지는 멀티 레벨 셀들 중 제5 프로그램 상태(P5)로 프로그램될 멀티 레벨 셀들은 제5 프로그램 상태(P5)에 상응하는 중간 상태(P5’)로 프로그램되며, 제4 중간 상태(IP4)를 가지는 멀티 레벨 셀들 중 제6 프로그램 상태(P6)로 프로그램될 멀티 레벨 셀들은 제6 프로그램 상태(P6)에 상응하는 중간 상태(P6’)로 프로그램되며, 제4 중간 상태(IP4)를 가지는 멀티 레벨 셀들 중 제7 프로그램 상태(P7)로 프로그램될 멀티 레벨 셀들은 제7 프로그램 상태(P7)에 상응하는 중간 상태(P7’)로 프로그램될 수 있다.
메인 프로그램이 수행되면(S150), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제3 프로그램 상태(P3), 제4 프로그램 상태(P4), 제5 프로그램 상태(P5), 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 가질 수 있다.
본 발명의 실시예들에 따른 프로그램 방법에서, 프로그램 상태들(P1, P2, P3, P4, P5, P6, P7)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램이 수행됨으로써, 커플링에 의한 원치 않은 문턱 전압 증가가 감소되고, 프로그램 상태들(P1, P2, P3, P4, P5, P6, P7) 각각이 상대적으로 좁은 폭을 가질 수 있다.
도 4 및 도 5에 도시되지는 않았지만, 상기 중간 비트 프로그램은 프리 프로그램을 포함할 수 있다.
도 6은 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 또 다른 예를 나타내는 도면이다.
도 1 및 도 6을 참조하면, 하위 비트 프로그램이 수행되면(S110), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 제1 중간 상태(IP1)를 가질 수 있다.
중간 비트 프로그램이 수행되면, 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터의 중간 비트 및 상기 하위 비트에 따라 소거 상태(E0), 제2 중간 상태(IP2), 제3 중간 상태(IP3), 또는 제4 중간 상태(IP4)를 가질 수 있다. 상기 중간 비트 프로그램은 상기 중간 비트에 대한 프리 프로그램 및 상기 중간 비트에 대한 메인 프로그램을 포함할 수 있다. 상기 중간 비트에 대한 상기 프리 프로그램에 의해, 제2 중간 상태(IP2), 제3 중간 상태(IP3), 및 제4 중간 상태(IP4)로 프로그램될 멀티 레벨 셀들이 중간 상태들(IP2’, IP3’, IP4’)로 프로그램되고, 상기 중간 비트에 대한 메인 프로그램에 의해, 중간 상태들(IP2’, IP3’, IP4’)로 프로그램된 멀티 레벨 셀들이 제2 중간 상태(IP2), 제3 중간 상태(IP3), 및 제4 중간 상태(IP4)로 프로그램될 수 있다.
도 6에는 제2 내지 제4 중간 상태(IP2, IP3, IP4)로 프로그램될 멀티 레벨 셀들 모두가 중간 상태들(IP2’, IP3’, IP4’)로 프리 프로그램되는 예가 도시되어 있으나, 실시예에 따라, 상기 중간 비트에 대한 상기 프리 프로그램은 제2 내지 제4 중간 상태(IP2, IP3, IP4) 중 일부 상태로 프로그램될 멀티 레벨 셀들이 중간 상태로 프로그램될 수 있다.
상위 비트에 대한 프리 프로그램이 수행되면(S130), 프로그램 상태들(P1, P2, P3, P4, P5, P6, P7)로 프로그램될 멀티 레벨 셀들은 프로그램 상태들(P1, P2, P3, P4, P5, P6, P7)에 상응하는 중간 상태들(P1’, P2’, P3’, P4’, P5’, P6’, P7’)을 가질 수 있다.
상기 상위 비트에 대한 메인 프로그램이 수행되면(S150), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제3 프로그램 상태(P3), 제4 프로그램 상태(P4), 제5 프로그램 상태(P5), 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 가질 수 있다.
도 2 및 도 3에는 2 비트의 데이터를 저장하는 멀티 레벨 셀에 대한 프로그램 방법의 예들이 도시되어 있고, 도 4 내지 도 6에는 3 비트의 데이터를 저장하는 멀티 레벨 셀에 대한 프로그램 방법의 예들이 도시되어 있으나, 실시예에 따라, 본 발명의 실시예들에 따른 프로그램 방법은 4 비트 이상의 데이터를 저장하는 멀티 레벨 셀에 적용될 수 있다.
도 7은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이고, 도 8은 도 7의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 7 및 도 8을 참조하면, 하위 비트 프로그램이 수행되면(S210), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 중간 상태(IP1)를 가질 수 있다.
상기 하위 비트 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다(S220). 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함한다.
상기 멀티 레벨 셀들 중 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 원샷(one-shot) 펄스(OSP)를 인가함으로써, 상기 프리 프로그램이 수행된다(S230). 여기서, 원샷 펄스(OSP)는 한번 인가되는 하나의 펄스를 의미한다. 예를 들어, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 연결된 비트 라인들에 제1 전원 전압(예를 들어, 저전원 전압, 또는 접지 전압)을 인가하고, 나머지 멀티 레벨 셀들에 연결된 비트 라인들에 제2 전원 전압(예를 들어, 고전원 전압)을 인가하며, 상기 멀티 레벨 셀들에 연결된 워드 라인(즉, 선택된 워드 라인)에 원샷 펄스(OSP)를 인가함으로써, 상기 프리 프로그램이 수행될 수 있다. 상기 프리 프로그램이 수행되면, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들은 최상위 프로그램 상태(P3)에 상응하는 중간 상태(P3’)를 가질 수 있다.
메인 프로그램이 수행되면(S250), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램을 수행함으로써, 커플링, 디스터브 등에 의한 소거 상태의 멀티 레벨 셀들의 원치 않는 문턱 전압 분포의 증가를 최소화할 수 있고, 프로그램 상태들(P1, P2, P3)의 폭을 감소시킬 수 있다.
도 9는 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이고, 도 10은 도 9의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 9 및 도 10을 참조하면, 하위 비트 프로그램이 수행되면(S310), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 중간 상태(IP1)를 가질 수 있다.
상기 하위 비트 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다(S320). 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함한다.
상기 멀티 레벨 셀들에 프로그램 상태들(P1, P2, P3)에 각각 상응하는 복수의 원샷 펄스들(OSP1, OSP2, OSP3)을 인가함으로써, 상기 프리 프로그램이 수행된다(S330). 예를 들어, 제1 프로그램 상태(P1)로 프로그램될 멀티 레벨 셀들에 제1 원샷 펄스(OSP1)를 인가하여 제1 프로그램 상태(P1)에 상응하는 중간 상태(P1’)로 프로그램하고, 제2 프로그램 상태(P2)로 프로그램될 멀티 레벨 셀들에 제2 원샷 펄스(OSP2)를 인가하여 제2 프로그램 상태(P2)에 상응하는 중간 상태(P2’)로 프로그램하며, 제3 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 제3 원샷 펄스(OSP3)를 인가하여 제3 프로그램 상태(P3)에 상응하는 중간 상태(P3’)로 프로그램할 수 있다.
제1 내지 제3 원샷 펄스들(OSP1, OSP2, OSP3)은 순차적으로 인가될 수 있다. 예를 들어, 제1 프로그램 상태(P1)로 프로그램될 멀티 레벨 셀들에 연결된 비트 라인들에 제1 전원 전압을 인가하고, 나머지 멀티 레벨 셀들에 연결된 비트 라인들에 제2 전원 전압을 인가하며, 선택된 워드 라인에 제1 원샷 펄스(OSP1)를 인가하여 제1 프로그램 상태(P1)로 프로그램될 멀티 레벨 셀들을 프리 프로그램할 수 있다. 그 후, 제2 프로그램 상태(P2)로 프로그램될 멀티 레벨 셀들에 연결된 비트 라인들에 상기 제1 전원 전압을 인가하고, 나머지 멀티 레벨 셀들에 연결된 비트 라인들에 상기 제2 전원 전압을 인가하며, 선택된 워드 라인에 제2 원샷 펄스(OSP2)를 인가하여 제2 프로그램 상태(P2)로 프로그램될 멀티 레벨 셀들을 프리 프로그램할 수 있다. 그 후, 제3 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 연결된 비트 라인들에 상기 제1 전원 전압을 인가하고, 나머지 멀티 레벨 셀들에 연결된 비트 라인들에 상기 제2 전원 전압을 인가하며, 선택된 워드 라인에 제3 원샷 펄스(OSP3)를 인가하여 제3 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들을 프리 프로그램할 수 있다.
메인 프로그램이 수행되면(S350), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다.
상술한 바와 같이, 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 프로그램 상태들(P1, P2, P3)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램을 수행함으로써, 상태들(E0, P1, P2, P3)의 폭을 감소시킬 수 있다.
도 11은 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이고, 도 12는 도 11의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 11 및 도 12를 참조하면, 하위 비트 프로그램이 수행되면(S410), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 중간 상태(IP1)를 가질 수 있다.
상기 하위 비트 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다(S420). 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함한다.
상기 멀티 레벨 셀들 중 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들이 ISPP 방식으로 프리 프로그램된다(S430). 예를 들어, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 연결된 비트 라인들에 제1 전원 전압을 인가하고, 나머지 멀티 레벨 셀들에 연결된 비트 라인들에 제2 전원 전압을 인가하며, 선택된 워드 라인에 증가형 스텝 펄스를 인가함으로써, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들이 최상위 프로그램 상태(P3)에 상응하는 중간 상태(P3’)로 프로그램될 수 있다. 또한, 상기 선택된 워드 라인에 프리 프로그램 검증 전압(VPREVRF)을 인가함으로써, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들이 최상위 프로그램 상태(P3)에 상응하는 중간 상태(P3’)로 프로그램되었는지를 검증할 수 있다. 또한, 상기 검증 단계에서 프로그램되지 않은 것을 판단된 멀티 레벨 셀들에 연결된 비트 라인들에 상기 제1 전원 전압을 인가하고, 나머지 멀티 레벨 셀들에 연결된 비트 라인들에 상기 제2 전원 전압을 인가하며, 상기 선택된 워드 라인에 스텝 전압만큼 증가된 상기 증가형 스텝 펄스를 인가하는 프로그램 단계가 다시 수행될 수 있다. 그 후, 상기 검증 단계가 다시 수행될 수 있다. 이와 같이, 상기 프로그램 단계 및 상기 검증 단계는, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들의 문턱 전압들이 프리 프로그램 검증 전압 이상이 될 때까지 반복될 수 있다. 상기 ISPP 방식의 프리 프로그램이 수행되면, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들은 최상위 프로그램 상태(P3)에 상응하는 중간 상태(P3’)를 가질 수 있다.
실시예에 따라, 중간 상태(P3’)에 상응하는 프리 프로그램 검증 전압(VPREVRF)은 최상위 프로그램 상태(P3)에 상응하는 검증 전압(VVRF3)보다 낮은 전압 레벨을 가질 수 있다. 또한, 멀티 레벨 셀을 중간 상태(P3’)로 프로그램하기 위한 ISPP 시작 전압은 상기 멀티 레벨 셀을 최상위 프로그램 상태(P3)로 프로그램하기 위한 ISPP 시작 전압보다 낮은 전압 레벨을 가질 수 있다.
메인 프로그램이 수행되면(S450), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다.
상술한 바와 같이, 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램을 수행함으로써, 커플링, 디스터브 등에 의한 소거 상태의 멀티 레벨 셀들의 원치 않는 문턱 전압 분포의 증가를 최소화할 수 있고, 프로그램 상태들(P1, P2, P3)의 폭을 감소시킬 수 있다.
도 13은 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이고, 도 14는 도 13의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 13 및 도 14를 참조하면, 하위 비트 프로그램이 수행되면(S510), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 중간 상태(IP1)를 가질 수 있다.
상기 하위 비트 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다(S520). 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함한다.
상기 멀티 레벨 셀들이 ISPP 방식으로 프리 프로그램된다(S530). 예를 들어, 제1 프로그램 상태(P1)로 프로그램될 멀티 레벨 셀들이 상기 ISPP 방식으로 제1 프로그램 상태(P1)에 상응하는 중간 상태(P1’)로 프리 프로그램되고, 제2 프로그램 상태(P2)로 프로그램될 멀티 레벨 셀들이 상기 ISPP 방식으로 제2 프로그램 상태(P2)에 상응하는 중간 상태(P2’)로 프리 프로그램되고, 제3 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들이 상기 ISPP 방식으로 제3 프로그램 상태(P3)에 상응하는 중간 상태(P3’)로 프리 프로그램될 수 있다. 실시예에 따라, 제1 내지 제3 프로그램 상태들(P1, P2, P3)에 대한 ISPP 방식의 프리 프로그램은 동시에 수행될 수 있다. 예를 들어, 동일한 증가형 스텝 펄스를 인가함으로써, 제1 내지 제3 프로그램 상태들(P1, P2, P3)에 대한 프리 프로그램이 수행될 수 있다. 상기 프리 프로그램은 프리 프로그램 검증 전압들(VPREVRF1, VPREVRF2, VPREVRF3)을 순차적으로 인가하는 검증 단계를 포함할 수 있다. 상기 프리 프로그램에 의해, 제1 프로그램 상태(P1)로 프로그램될 멀티 레벨 셀들의 문턱 전압들이 제1 프리 프로그램 검증 전압(VPREVRF1) 이상이 되고, 제2 프로그램 상태(P2)로 프로그램될 멀티 레벨 셀들의 문턱 전압들이 제2 프리 프로그램 검증 전압(VPREVRF2) 이상이 되며, 제3 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들의 문턱 전압들이 제3 프리 프로그램 검증 전압(VPREVRF3) 이상이 될 수 있다.
실시예에 따라, 중간 상태들(P1’, P2’, P3’)에 상응하는 프리 프로그램 검증 전압들(VPREVRF1, VPREVRF2, VPREVRF3)은 제1 내지 제3 프로그램 상태들(P1, P2, P3)에 상응하는 검증 전압들(VVRF1, VVRF2, VVRF3)보다 각각 낮은 전압 레벨을 가질 수 있다. 또한, 멀티 레벨 셀을 중간 상태들(P1’, P2’, P3’)로 프로그램하기 위한 ISPP 시작 전압은 상기 멀티 레벨 셀을 제1 내지 제3 프로그램 상태들(P1, P2, P3)로 프로그램하기 위한 ISPP 시작 전압보다 낮은 전압 레벨을 가질 수 있다.
메인 프로그램이 수행되면(S550), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다.
상술한 바와 같이, 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 프로그램 상태들(P1, P2, P3)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램을 수행함으로써, 상태들(E0, P1, P2, P3)의 폭을 감소시킬 수 있다.
도 15는 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이고, 도 16은 도 15의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 15 및 도 16을 참조하면, 하위 비트 프로그램이 수행되면(S610), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 중간 상태(IP1)를 가질 수 있다.
상기 하위 비트 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다(S620). 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함한다.
상기 멀티 레벨 셀들 중 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 제1 원샷 펄스(OSP1)를 인가함으로써, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들이 최상위 프로그램 상태(P3)에 상응하는 제1 중간 상태(P3’’)로 프리 프로그램된다(S631). 예를 들어, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 연결된 비트 라인들에 제1 전원 전압을 인가하고, 나머지 멀티 레벨 셀들에 연결된 비트 라인들에 제2 전원 전압을 인가하며, 선택된 워드 라인에 제1 원샷 펄스(OSP1)를 인가함으로써, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들이 최상위 프로그램 상태(P3)에 상응하는 제1 중간 상태(P3’’)로 프리 프로그램될 수 있다.
제1 중간 상태(P3’’)로 프리 프로그램된 멀티 레벨 셀들(661, 662, 663)에 적어도 하나의 전압을 인가함으로써, 제1 중간 상태(P3’’)가 복수의 구간들(S1, S2, S3)로 구분될 수 있다(S633). 예를 들어, 상기 적어도 하나의 전압은 제1 전압(V1) 및 제1 전압(V1)보다 높은 전압 레벨을 가지는 제2 전압(V2)을 포함하고, 제1 중간 상태(P3’’)는 제1 전압(V1)보다 낮은 전압 레벨을 가지는 제1 구간(S1), 제1 전압(V1)보다 높고 제2 전압(V2)보다 낮은 전압 레벨을 가지는 제2 구간(S2), 및 제2 전압(V2)보다 높은 전압 레벨을 가지는 제3 구간(S3)으로 구분될 수 있다. 또한, 상기 선택된 워드 라인에 제1 전압(V1) 및 제2 전압(V2)을 순차적으로 인가함으로써, 제1 중간 상태(P3’’)로 프리 프로그램된 멀티 레벨 셀들(661, 662, 663) 각각이 제1 구간(S1), 제2 구간(S2) 또는 제3 구간(S3) 중 어느 구간에 속하는지가 확인될 수 있다.
복수의 구간들(S1, S2, S3)에 따라 서로 다른 크기로 문턱 전압들을 증가시킴으로써, 제1 중간 상태(P3’’)로 프리 프로그램된 멀티 레벨 셀들이 제1 중간 상태(P3’’)보다 좁은 폭을 가지는 제2 중간 상태(P3’)로 프리 프로그램될 수 있다(S635). 예를 들어, 제1 구간(S1)에 속하는 멀티 레벨 셀들(661)에 연결된 비트 라인들에 상기 제1 전원 전압을 인가하고, 제2 구간(S2)에 속하는 멀티 레벨 셀들(662)에 연결된 비트 라인들에 포싱 전압을 인가하며, 제3 구간(S3)에 속하는 멀티 레벨 셀들(663)에 연결된 비트 라인들에 상기 제2 전원 전압을 인가하고, 상기 선택된 워드 라인에 제2 원샷 펄스(OSP2)를 인가함으로써, 제1 중간 상태(P3’’)로 프리 프로그램된 멀티 레벨 셀들이 제2 중간 상태(P3’)로 프리 프로그램될 수 있다. 상기 제1 전원 전압은 저전원 전압(또는, 접지 전압)이고, 상기 제2 전원 전압은 고전원 전압이며, 상기 포싱 전압은 상기 제1 전원 전압보다 높고 상기 제2 전원 전압보다 낮은 전압 레벨을 가질 수 있다. 예를 들어, 상기 포싱 전압은, 제1 구간(S1)과 제2 구간(S2)을 구분하기 위한 제1 전압(V1)과 제2 구간(S2)과 제3 구간(S3)을 구분하기 위한 제2 전압(V2)의 전압 레벨 차에 상응하는 전압 레벨을 가질 수 있다. 상기 포싱 전압에 의해, 제2 구간(S2)에 속하는 멀티 레벨 셀들(662)의 채널 전압들이 증가됨으로써, 멀티 레벨 셀들(662)에 대한 제2 원샷 펄스(OSP2)의 유효 전압이 감소될 수 있다. 이에 따라, 제2 구간(S2)에 속하는 멀티 레벨 셀들의 문턱 전압 증가는 제1 구간(S1)에 속하는 멀티 레벨 셀들(661)의 문턱 전압 증가는 보다 작을 수 있다. 또한, 제3 구간(S3)에 속하는 멀티 레벨 셀들(663)에 연결된 비트 라인들에 상기 제2 전원 전압이 인가됨으로써, 제3 구간(S3)에 속하는 멀티 레벨 셀들(663)의 문턱 전압들은 실질적으로 증가되지 않을 수 있다.
이와 같이, 제1 원샷 펄스(OSP1)의 인가, 복수의 구간들(S1, S2, S3)로의 구분, 및 제2 원샷 펄스(OSP2)의 인가에 의해, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램이 수행될 수 있다(S630). 상술한 바와 같이, 복수의 구간들(S1, S2, S3)에 따라 서로 다른 크기로 문턱 전압들이 증가됨으로써, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들이 좁은 폭을 가지는 제2 중간 상태(P3’)로 프리 프로그램될 수 있다.
메인 프로그램이 수행되면(S650), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다.
상술한 바와 같이, 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 최상위 프로그램 상태(P3)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램을 수행함으로써, 커플링, 디스터브 등에 의한 소거 상태의 멀티 레벨 셀들의 원치 않는 문턱 전압 분포의 증가를 최소화할 수 있고, 프로그램 상태들(P1, P2, P3)의 폭을 감소시킬 수 있다.
도 17은 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이고, 도 18은 도 17의 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 17 및 도 18을 참조하면, 하위 비트 프로그램이 수행되면(S710), 멀티 레벨 셀들은 멀티 비트 데이터의 하위 비트에 따라 소거 상태(E0) 또는 중간 상태(IP1)를 가질 수 있다.
상기 하위 비트 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램이 수행된다(S720). 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함한다.
상기 멀티 레벨 셀들에 복수의 제1 원샷 펄스들(OSP1_1, OSP1_2, OSP1_3)를 인가함으로써, 상기 멀티 레벨 셀들이 프로그램 상태들(P1, P2, P3)에 상응하는 제1 중간 상태들(P1’’, P2’’, P3’’)로 프리 프로그램된다(S731). 복수의 제1 원샷 펄스들(OSP1_1, OSP1_2, OSP1_3)은 선택된 워드 라인에 순차적으로 인가될 수 있다.
제1 중간 상태들(P1’’, P2’’, P3’’) 각각이 복수의 구간들로 구분될 수 있다(S733). 예를 들어, 제1 프로그램 상태(P1)에 상응하는 제1 중간 상태(P1’’)가 제1 전압(V1_1) 및 제2 전압(V2_1)을 이용하여 세 개의 구간들로 구분되고, 제2 프로그램 상태(P2)에 상응하는 제1 중간 상태(P2’’)가 제1 전압(V1_2) 및 제2 전압(V2_2)을 이용하여 세 개의 구간들로 구분되며, 제3 프로그램 상태(P3)에 상응하는 제1 중간 상태(P3’’)가 제1 전압(V1_3) 및 제2 전압(V2_3)을 이용하여 세 개의 구간들로 구분될 수 있다.
제1 중간 상태들(P1’’, P2’’, P3’’) 각각의 상기 복수의 구간들에 따라 서로 다른 크기로 문턱 전압들을 증가시킴으로써, 제1 중간 상태들(P1’’, P2’’, P3’’)로 프리 프로그램된 멀티 레벨 셀들이 제1 중간 상태들(P1’’, P2’’, P3’’)보다 각각 좁은 폭을 가지는 제2 중간 상태들(P1’, P2’, P3’)로 프리 프로그램될 수 있다(S735). 제1 중간 상태들(P1’’, P2’’, P3’’) 각각의 제1 구간들에는 제1 전원 전압이 인가되고, 제1 중간 상태들(P1’’, P2’’, P3’’) 각각의 제2 구간들에는 포싱 전압이 인가되며, 제1 중간 상태들(P1’’, P2’’, P3’’) 각각의 제3 구간들에는 제2 전원 전압이 인가될 수 있다. 또한, 상기 선택된 워드 라인에 복수의 제2 원샷 펄스들(OSP2_1, OSP2_2, OSP2_3)이 순차적으로 인가될 수 있다. 제1 중간 상태들(P1’’, P2’’, P3’’) 각각의 제2 구간들에 속하는 멀티 레벨 셀들의 문턱 전압 증가는 제1 중간 상태들(P1’’, P2’’, P3’’) 각각의 제1 구간들에 속하는 멀티 레벨 셀들의 문턱 전압 증가보다 각각 작을 수 있다. 또한, 제1 중간 상태들(P1’’, P2’’, P3’’) 각각의 제3 구간들에 속하는 멀티 레벨 셀들의 문턱 전압들은 실질적으로 증가되지 않을 수 있다.
이와 같이, 복수의 제1 원샷 펄스들(OSP1_1, OSP1_2, OSP1_3)의 인가, 각 상태(P1’’, P2’’, P3’’)를 복수의 구간들로의 구분, 및 복수의 제2 원샷 펄스들(OSP2_1, OSP2_2, OSP2_3)의 인가에 의해, 상기 멀티 레벨 셀들에 대한 상기 프리 프로그램이 수행될 수 있다(S730). 상술한 바와 같이, 각 상태에 대하여 복수의 구간들에 따라 서로 다른 크기로 문턱 전압들이 증가됨으로써, 상기 멀티 레벨 셀들이 각각 좁은 폭을 가지는 제2 중간 상태들(P1’, P2’, P3’)로 프리 프로그램될 수 있다.
메인 프로그램이 수행되면(S750), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다.
상술한 바와 같이, 본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 프로그램 상태들(P1, P2, P3)로 프로그램될 멀티 레벨 셀들에 대한 상기 프리 프로그램을 수행함으로써, 상태들(E0, P1, P2, P3)의 폭을 감소시킬 수 있다.
도 7 내지 도 18에는 2 비트의 데이터를 저장하는 멀티 레벨 셀에 대한 프로그램 방법의 실시예들이 도시되어 있으나, 본 발명의 실시예들에 따른 프로그램 방법은 3 비트 이상의 데이터를 저장하는 멀티 레벨 셀에 적용될 수 있다.
도 19는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프로그램되는 멀티 레벨 셀들의 프로그램 순서를 설명하기 위한 표이다.
도 19를 참조하면, 다음 워드 라인(즉, 현재 워드 라인에 인접한 워드 라인)에 대한 하위 비트 프로그램이 수행된 후, 현재 워드 라인에 대한 하위 비트 프로그램이 수행된다.
예를 들어, 제1 워드 라인(WL1)에 대한 하위 비트 프로그램이 수행되고, 제2 워드 라인(WL2)에 대한 하위 비트 프로그램이 수행된다. 그 후, 제1 워드 라인(WL1)에 대한 상위 비트 프로그램이 수행된다. 상기 하위 비트 프로그램 및/또는 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함할 수 있다. 상기 프리 프로그램 및 상기 메인 프로그램은 한 번의 시퀀스로 수행될 수 있다. 그 후, 제3 워드 라인(WL3)에 대한 하위 비트 프로그램이 수행되고, 제2 워드 라인(WL2)에 대한 상위 비트 프로그램이 수행될 수 있다.
이와 같이, 다음 워드 라인에 대한 하위 비트 프로그램을 수행한 후, 현재 워드 라인에 대한 상위 비트 프로그램을 수행함으로써, 워드 라인 커플링이 최소화될 수 있다.
도 20은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 20을 참조하면, 비휘발성 메모리 장치(800)는 메모리 셀 어레이(810), 페이지 버퍼부(820), 로우 디코더(830), 전압 생성기(840) 및 제어 회로(850)를 포함한다.
메모리 셀 어레이(810)는 워드 라인들 및 비트 라인들에 연결된 멀티 레벨 셀들을 포함한다. 상기 멀티 레벨 셀들 각각은 2 비트 이상을 가지는 멀티 비트 데이터를 저장할 수 있다. 도 1 내지 도 19에 도시된 본 발명의 실시예들에 따른 프로그램 방법에 의해, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터가 프로그램될 수 있다.
상기 멀티 레벨 셀들에 대한 프로그램은 하위 비트 프로그램 및 상위 비트 프로그램을 포함한다. 상기 상위 비트 프로그램은 프리 프로그램 및 메인 프로그램을 포함한다. 상기 프리 프로그램은 적어도 하나의 상태로 프로그램될 멀티 레벨 셀들에 대하여 수행될 수 있다. 예를 들어, 최상위 프로그램 상태 또는 모든 프로그램 상태들에 대한 멀티 레벨 셀들이 프리 프로그램될 수 있다. 실시예에 따라, 상기 프리 프로그램은, 원샷 펄스를 인가하거나, ISPP를 이용하거나, 원샷 펄스 인가 후 복수의 구간 별로 문턱 전압을 증가시킴으로써 수행될 수 있다. 이에 따라, 본 발명의 실시예들에 따른 프로그램 방법에서, 상태들 각각의 폭이 감소될 수 있다.
페이지 버퍼부(820)는 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작할 수 있다. 예를 들어, 페이지 버퍼부(820)는 독출 동작 모드에서 감지 증폭기로서 동작하고, 프로그램 동작 모드에서 기입 드라이버로서 동작할 수 있다. 페이지 버퍼부(820)는 상기 비트 라인들에 연결되고, 상기 멀티 비트 데이터를 일시적으로 저장하는 페이지 버퍼들을 포함할 수 있다. 상기 페이지 버퍼들 각각은 상기 비트 라인들 중 상응하는 비트 라인에 연결되고, 상응하는 멀티 비트 데이터를 일시적으로 저장 데이터 래치들을 포함할 수 있다.
로우 디코더(830)는 로우 어드레스에 응답하여 워드 라인을 선택할 수 있다. 로우 디코더(830)는 전압 생성기(840)로부터 제공되는 워드 라인 전압들을 선택 및 비선택된 워드 라인들로 전달한다. 프로그램 동작 시, 로우 디코더(830)는 선택된 워드 라인에 프로그램 전압을 전달하고, 비선택된 워드 라인에 패스 전압을 전달할 수 있다.
전압 생성기(840)는 제어 회로(850)의 제어에 따라 프로그램을 위한 프로그램 전압, 패스 전압, 프리 프로그램 검증 전압, 검증 전압 및 독출 전압과 같은 워드 라인 전압들을 생성할 수 있다.
제어 회로(850)는 상기 멀티 비트 데이터를 메모리 셀 어레이(810)에 프로그램하기 위하여 페이지 버퍼부(820), 로우 디코더(830) 및 전압 생성기(840)를 제어할 수 있다. 제어 회로(850)는 상기 하위 비트 프로그램, 상기 프리 프로그램 및 상기 메인 프로그램을 수행하도록 페이지 버퍼부(820), 로우 디코더(830) 및 전압 생성기(840)를 제어할 수 있다. 예를 들어, 제어 회로(850)는, 프로그램 동작 시, 선택된 워드 라인에 원샷 펄스, 증가형 스텝 펄스, 프리 프로그램 검증 전압 또는 검증 전압을 인가하고, 비선택된 워드 라인들에 패스 전압이 인가되도록 로우 디코더(830) 및 전압 생성기(840)를 제어할 수 있다.
비휘발성 메모리 장치(800)는 적어도 하나의 상태에 대한 프리 프로그램을 수행한다. 이에 따라, 비휘발성 메모리 장치(800)의 멀티 레벨 셀들은 좁은 폭을 가지는 상태들로 프로그램될 수 있다.
도 21은 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 블록도이다.
도 21을 참조하면, 메모리 시스템(900)은 메모리 컨트롤러(910) 및 비휘발성 메모리 장치(920)를 포함한다.
비휘발성 메모리 장치(200)는 메모리 셀 어레이(921) 및 페이지 버퍼부(922)를 포함한다. 페이지 버퍼부(922)는 비트 라인들에 연결되고, 멀티 비트 데이터를 일시적으로 저장하는 페이지 버퍼들을 포함할 수 있다. 메모리 셀 어레이(921)는 워드 라인들 및 상기 비트 라인들에 연결된 멀티 레벨 셀들을 포함할 수 있다. 상기 멀티 레벨 셀들은 하위 비트 프로그램, 프리 프로그램, 및 메인 프로그램에 의해 좁은 폭을 가지는 문턱 전압 분포들을 가질 수 있다.
메모리 컨트롤러(910)는 비휘발성 메모리 장치(920)를 제어한다. 메모리 컨트롤러(910)는 외부의 호스트(미도시)와 비휘발성 메모리 장치(920) 사이의 데이터 교환을 제어할 수 있다. 메모리 컨트롤러(910)는 중앙 처리 장치(911), 버퍼 메모리(912), 호스트 인터페이스(913) 및 메모리 인터페이스(914)를 포함할 수 있다. 중앙 처리 장치(911)는 상기 데이터 교환을 위한 동작을 수행할 수 있다. 버퍼 메모리(912)는 DRAM(Dynamic random access memory), SRAM(Static random access memory), PRAM(Phase random access memory), FRAM(Ferroelectric random access memory), RRAM(Resistive random access memory), 또는 MRAM(Magnetic random access memory)으로 구현될 수 있다. 버퍼 메모리(912)는 중앙 처리 장치(911)의 동작 메모리일 수 있다. 실시예에 따라, 버퍼 메모리(912)는 메모리 컨트롤러(910)의 내부 또는 외부에 위치할 수 있다.
호스트 인터페이스(913)는 상기 호스트와 연결되고, 메모리 인터페이스(914)는 비휘발성 메모리 장치(920)와 연결된다. 중앙 처리 장치(911)는 호스트 인터페이스(913)를 통하여 상기 호스트와 통신할 수 있다. 예를 들어, 호스트 인터페이스(913)는 USB(Universal Serial Bus), MMC(Multi-Media Card), PCI-E(Peripheral Component Interconnect-Express), SAS(Serial-attached SCSI), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Disk Interface), IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트와 통신하도록 구성될 수 있다. 또한, 중앙 처리 장치(911)는 메모리 인터페이스(914)를 통하여 비휘발성 메모리 장치(920)와 통신할 수 있다. 실시예에 따라, 메모리 컨트롤러(910)는 스타트-업 코드를 저장하는 비휘발성 메모리 장치(미도시)를 더 포함할 수 있고, 에러 정정을 위한 에러 정정 블록(915)을 더 포함할 수 있다.
일 실시예에서, 메모리 컨트롤러(910)는 비휘발성 메모리 장치(920)에 빌트-인(built-in)되어 구현될 수 있다. 메모리 컨트롤러(910)가 빌트-인되어 구현된 NAND 플래시 메모리 장치를 소위 원낸드 메모리 장치(One-NAND memory device)라 명명할 수 있다.
메모리 시스템(900)은 메모리 카드(memory card), 솔리드 스테이트 드라이브(solid state drive) 등과 같은 형태로 구현될 수 있다. 비휘발성 메모리 장치(920), 메모리 컨트롤러(910), 및/또는 메모리 시스템(900)은 다양한 형태들의 패키지를 이용하여 구현될 수 있는데, 예를 들어, 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) 등과 같은 패키지를 이용하여 구현될 수 있다.
실시예에 따라, 멀티 레벨 셀들은 전하 저장층을 갖는 다양한 셀 구조들 중 하나를 이용하여 구현될 수 있다. 전하 저장층을 갖는 셀 구조는, 전하 트랩층을 이용하는 전하 트랩 플래시 구조, 어레이들이 다층으로 적층되는 스택 플래시 구조, 소스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조 등이 적용될 수 있다.
도 22는 본 발명의 실시예들에 따른 메모리 시스템이 메모리 카드에 응용된 예를 나타내는 도면이다.
도 22를 참조하면, 메모리 시스템(1000)은 복수의 접속 핀들(1010), 메모리 컨트롤러(1020) 및 비휘발성 메모리 장치(1030)를 포함한다.
호스트(미도시)와 메모리 시스템(1000) 사이의 신호들이 송수신되도록 복수의 접속 핀들(1010)은 호스트에 연결될 수 있다. 복수의 접속 핀들(1010)은 클록 핀, 커맨드 핀, 데이터 핀 및/또는 리셋 핀을 포함할 수 있다.
메모리 컨트롤러(1020)는, 상기 호스트로부터 데이터를 수신하고, 상기 수신된 데이터를 비휘발성 메모리 장치(1030)에 저장할 수 있다.
비휘발성 메모리 장치(1030)는 멀티 레벨 셀들을 포함한다. 상기 멀티 레벨 셀들은, 하위 비트 프로그램, 프리 프로그램 및 메인 프로그램에 의해 좁은 문턱 전압 분포들을 가지도록 프로그램될 수 있다.
도 22의 메모리 시스템(1000)은 메모리 카드일 수 있다. 예를 들어, 메모리 시스템(1000)은 멀티미디어 카드(MultiMedia Card; MMC), 임베디드 멀티미디어 카드(embedded MultiMedia Card; eMMC), 하이브리드 임베디드 멀티미디어 카드(hybrid embedded MultiMedia Card; hybrid eMMC), SD(Secure Digital) 카드, 마이크로 SD 카드, 메모리 스틱(Memory Stick), ID 카드, PCMCIA(Personal Computer Memory Card International Association) 카드, 칩 카드(Chip Card), USB 카드, 스마트 카드(Smart Card), CF 카드(Compact Flash Card)등과 같은 메모리 카드일 수 있다.
실시예에 따라, 메모리 시스템(1000)은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 호스트에 장착될 수 있다.
도 23은 본 발명의 실시예들에 따른 메모리 시스템이 솔리드 스테이트 드라이브에 응용된 예를 나타내는 도면이다.
도 23을 참조하면, 메모리 시스템(1100)은 솔리드 스테이트 드라이브(Solid State Drive; SSD)일 수 있다. 메모리 시스템(1100)은 메모리 컨트롤러(1110) 및 복수의 비휘발성 메모리 장치들(1120)을 포함한다.
메모리 컨트롤러(1110)는, 호스트(미도시)로부터 데이터를 수신하고, 상기 수신된 데이터를 복수의 비휘발성 메모리 장치들(1120)에 저장할 수 있다.
복수의 비휘발성 메모리 장치들(1120)은 멀티 레벨 셀들을 포함한다. 상기 멀티 레벨 셀들은, 하위 비트 프로그램, 프리 프로그램 및 메인 프로그램에 의해 좁은 문턱 전압 분포들을 가지도록 프로그램될 수 있다.
실시예에 따라, 메모리 시스템(1100)은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 호스트에 장착될 수 있다.
도 24는 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 24를 참조하면, 컴퓨팅 시스템(1200)은 프로세서(1210), 메모리(1220), 사용자 인터페이스(1230) 및 메모리 시스템(900)을 포함한다. 실시예에 따라, 컴퓨팅 시스템(1200)은 베이스밴드 칩 셋(baseband chipset)과 같은 모뎀(1240)을 더 포함할 수 있다.
프로세서(1210)는 특정 계산들 또는 태스크들을 실행하는 특정 소프트웨어를 실행하는 것과 같이 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(1210)는 마이크로프로세서 또는 중앙 처리 장치(CPU)일 수 있다. 프로세서(1210)는 어드레스 버스, 제어 버스 및/또는 데이터 버스와 같은 버스(1250)를 통하여 메모리(1220)에 연결될 수 있다. 예를 들어, 메모리(1220)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 또한, 프로세서(1210)는 주변 구성요소 상호연결(peripheral component interconnect, PCI) 버스와 같은 확장 버스에 연결될 수 있다. 이에 따라, 프로세서(1210)는 키보드 또는 마우스와 같은 하나 이상의 입력 장치, 프린터 또는 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함하는 사용자 인터페이스(1230)를 제어할 수 있다. 모뎀(1240)은 외부 장치와 무선으로 데이터를 송수신할 수 있다. 비휘발성 메모리 장치(920)에는 프로세서(1210)에 의해 처리된 데이터 또는 모뎀(1240)을 통하여 수신된 데이터 등이 메모리 콘트롤러(910)를 통해 저장될 수 있다. 컴퓨팅 시스템(1200)은 동작 전압을 공급하기 위한 파워 서플라이를 더 포함할 수 있다. 또한, 컴퓨팅 시스템(1200)은 실시예에 따라 응용 칩셋(application chipset), 카메라 이미지 프로세서(camera image processor, CIS) 등을 더 포함할 수 있다.
비휘발성 메모리 장치(920)에 포함된 멀티 레벨 셀들은, 하위 비트 프로그램, 프리 프로그램 및 메인 프로그램에 의해 좁은 문턱 전압 분포들을 가지도록 프로그램될 수 있다.
본 발명은 멀티 레벨 셀을 포함하는 비휘발성 메모리 장치, 및 이를 를 이용하는 다양한 장치 및 시스템에 적용될 수 있다. 따라서, 본 발명은 비휘발성 메모리 장치를 구비하는 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 전자 기기에 확대 적용될 수 있을 것이다.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
S110, S210, S310, S410, S510, S610, S710: 하위 비트 프로그램
S120, S220, S320, S420, S520, S620, S720: 상위 비트 프로그램
S130, S230, S330, S430, S530, S630, S730: 프리 프로그램
S150, S250, S350, S450, S550, S650, S750: 메인 프로그램

Claims (10)

  1. 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에 있어서,
    상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 하위 비트를 프로그램하는 하위 비트 프로그램을 수행하는 단계; 및
    상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램을 수행하는 단계를 포함하고,
    상기 상위 비트 프로그램을 수행하는 단계는,
    상기 멀티 레벨 셀들 중 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 대한 프리 프로그램을 수행하는 단계; 및
    상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램을 수행하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  2. 제1 항에 있어서, 상기 프리 프로그램을 수행하는 단계는,
    상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 원샷(one-shot) 펄스를 인가하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  3. 제1 항에 있어서, 상기 프리 프로그램은 증가형 스텝 펄스 프로그램(Incremental Step Pulse Program) 방식으로 수행되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  4. 제1 항에 있어서, 상기 프리 프로그램을 수행하는 단계는,
    상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들을 제1 중간 상태로 프로그램하는 단계;
    상기 제1 중간 상태를 복수의 구간들로 구분하는 단계; 및
    상기 복수의 구간들에 따라 서로 다른 크기로 문턱 전압들을 증가시켜 상기 제1 중간 상태로 프로그램된 멀티 레벨 셀들을 상기 제1 중간 상태보다 좁은 폭을 가지는 제2 중간 상태로 프로그램하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  5. 제4 항에 있어서, 상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들을 상기 제1 중간 상태로 프로그램하는 단계는,
    상기 최상위 프로그램 상태로 프로그램될 멀티 레벨 셀들에 제1 원샷 펄스를 인가하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  6. 제4 항에 있어서, 상기 제1 중간 상태를 복수의 구간들로 구분하는 단계는,
    상기 제1 중간 상태로 프로그램된 멀티 레벨 셀들에 적어도 하나의 전압을 인가하여 상기 제1 중간 상태로 프로그램된 멀티 레벨 셀들 각각이 속한 구간을 확인하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  7. 제4 항에 있어서, 상기 복수의 구간들은, 제1 구간, 상기 제1 구간보다 높은 전압 레벨을 가지는 제2 구간, 및 상기 제2 구간 보다 높은 전압 레벨을 가지는 제3 구간을 포함하고, 상기 제1 중간 상태로 프로그램된 멀티 레벨 셀들을 상기 제2 중간 상태로 프로그램하는 단계는,
    상기 제1 구간에 속하는 멀티 레벨 셀들에 연결된 비트 라인들에 제1 전원 전압을 인가하는 단계;
    상기 제2 구간에 속하는 멀티 레벨 셀들에 연결된 비트 라인들에 포싱 전압을 인가하는 단계;
    상기 제3 구간에 속하는 멀티 레벨 셀들에 연결된 비트 라인들에 제2 전원 전압을 인가하는 단계; 및
    선택된 워드 라인에 제2 원샷 펄스를 인가하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  8. 제7 항에 있어서, 상기 선택된 워드 라인에 상기 제2 원샷 펄스가 인가될 때, 상기 제3 구간에 속하는 멀티 레벨 셀들의 문턱 전압들은 실질적으로 증가되지 않고,
    상기 제2 원샷 펄스에 의한 상기 제1 구간에 속하는 멀티 레벨 셀들의 문턱 전압 증가는 상기 제2 원샷 펄스에 의한 상기 제2 구간에 속하는 멀티 레벨 셀들의 문턱 전압 증가보다 큰 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  9. 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에 있어서,
    상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 하위 비트를 프로그램하는 하위 비트 프로그램을 수행하는 단계; 및
    상기 멀티 레벨 셀들에 상기 멀티 비트 데이터의 상위 비트를 프로그램하는 상위 비트 프로그램을 수행하는 단계를 포함하고,
    상기 상위 비트 프로그램을 수행하는 단계는,
    상기 멀티 레벨 셀들 중 적어도 하나의 프로그램 상태로 프로그램될 멀티 레벨 셀들에 대한 프리 프로그램을 수행하는 단계; 및
    상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램을 수행하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  10. 제9 항에 있어서, 상기 적어도 하나의 프로그램 상태는, 상기 프로그램 상태들을 모두 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
KR1020100138502A 2010-12-30 2010-12-30 비휘발성 메모리 장치의 프로그램 방법 KR101798013B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020100138502A KR101798013B1 (ko) 2010-12-30 2010-12-30 비휘발성 메모리 장치의 프로그램 방법
DE102011055714.8A DE102011055714B8 (de) 2010-12-30 2011-11-25 Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
US13/305,183 US20120170364A1 (en) 2010-12-30 2011-11-28 Method Of Programming A Nonvolatile Memory Device
JP2011275666A JP5921870B2 (ja) 2010-12-30 2011-12-16 不揮発性メモリ装置のプログラム方法
CN201110453269.1A CN102543192B (zh) 2010-12-30 2011-12-30 非易失性存储器件的编程方法
CN201710058923.6A CN107093453B (zh) 2010-12-30 2011-12-30 非易失性存储器件的编程方法
US14/274,041 US9281069B2 (en) 2010-12-30 2014-05-09 Method of programming a nonvolatile memory device
US15/003,072 US9818475B2 (en) 2010-12-30 2016-01-21 Method of programming nonvolatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100138502A KR101798013B1 (ko) 2010-12-30 2010-12-30 비휘발성 메모리 장치의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20120076787A true KR20120076787A (ko) 2012-07-10
KR101798013B1 KR101798013B1 (ko) 2017-11-16

Family

ID=46349883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100138502A KR101798013B1 (ko) 2010-12-30 2010-12-30 비휘발성 메모리 장치의 프로그램 방법

Country Status (5)

Country Link
US (3) US20120170364A1 (ko)
JP (1) JP5921870B2 (ko)
KR (1) KR101798013B1 (ko)
CN (2) CN107093453B (ko)
DE (1) DE102011055714B8 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130125426A (ko) * 2012-05-09 2013-11-19 삼성전자주식회사 비휘발성 메모리 장치의 프로그래밍 방법
KR20140096796A (ko) * 2013-01-29 2014-08-06 삼성전자주식회사 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법
KR20170024222A (ko) * 2015-08-24 2017-03-07 삼성전자주식회사 표면 실장 기술의 적용에 따른 메모리 셀의 문턱 전압 산포 변화 복구 기능을 갖는 데이터 스토리지 및 그것의 동작 방법
KR20180039970A (ko) * 2016-10-11 2018-04-19 삼성전자주식회사 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법
DE102011055714B4 (de) 2010-12-30 2018-09-20 Samsung Electronics Co., Ltd. Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
US10147491B2 (en) 2016-09-08 2018-12-04 SK Hynix Inc. Semiconductor memory device and programming method thereof

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7656709B2 (en) 2007-05-03 2010-02-02 Micron Technology, Inc. NAND step up voltage switching method
US8355280B2 (en) * 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
KR101785007B1 (ko) 2011-06-14 2017-11-07 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온-칩 버퍼 프로그램 방법
US20130219107A1 (en) * 2012-02-21 2013-08-22 Sandisk Technologies Inc. Write abort recovery through intermediate state shifting
DE102013108456B4 (de) * 2012-08-08 2024-03-07 Samsung Electronics Co., Ltd. Nichtflüchtige Speichervorrichtung und Programmierverfahren
JP2014059930A (ja) * 2012-09-18 2014-04-03 Toshiba Corp 不揮発性半導体記憶装置
KR102005709B1 (ko) * 2012-10-22 2019-08-01 삼성전자 주식회사 메모리 장치 구동 방법 및 메모리 시스템
KR102125376B1 (ko) * 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
US8995169B1 (en) * 2013-09-12 2015-03-31 Sandisk 3D Llc Method of operating FET low current 3D Re-RAM
KR20150061098A (ko) * 2013-11-25 2015-06-04 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 프로그래밍 방법
US9171628B2 (en) * 2014-03-13 2015-10-27 Macronix International Co., Ltd. Incremental step pulse programming (ISPP) scheme capable of determining a next starting pulse based on a current program-verify pulse for improving programming speed
KR102192539B1 (ko) * 2014-05-21 2020-12-18 삼성전자주식회사 반도체 장치 및 이의 프로그램 방법
US9633719B2 (en) 2015-05-29 2017-04-25 Micron Technology, Inc. Programming memory cells to be programmed to different levels to an intermediate level from a lowest level
US9633720B2 (en) * 2015-09-10 2017-04-25 Kabushiki Kaisha Toshiba Semiconductor memory device
CN105719694B (zh) * 2016-01-22 2019-12-03 清华大学 Nand存储器的多比特编程方法及装置
US10217515B2 (en) 2017-04-01 2019-02-26 Intel Corporation Programming memory devices
US10614886B2 (en) * 2017-09-22 2020-04-07 Samsung Electronics Co., Ltd. Nonvolatile memory device and a method of programming the nonvolatile memory device
US10811109B2 (en) * 2018-12-27 2020-10-20 Sandisk Technologies Llc Multi-pass programming process for memory device which omits verify test in first program pass
KR20210054376A (ko) 2019-11-05 2021-05-13 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR20210116080A (ko) * 2020-03-17 2021-09-27 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242891A (ja) 1997-12-26 1999-09-07 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
JP4050555B2 (ja) * 2002-05-29 2008-02-20 株式会社東芝 不揮発性半導体記憶装置およびそのデータ書き込み方法
US6888758B1 (en) 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
TWI267864B (en) * 2004-05-06 2006-12-01 Samsung Electronics Co Ltd Method and device for programming control information
KR100632940B1 (ko) 2004-05-06 2006-10-12 삼성전자주식회사 프로그램 사이클 시간을 가변시킬 수 있는 불 휘발성반도체 메모리 장치
US7173859B2 (en) 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
JP4874566B2 (ja) 2005-04-11 2012-02-15 株式会社東芝 半導体記憶装置
US7184317B2 (en) 2005-06-30 2007-02-27 Infineon Technologies Ag Method for programming multi-bit charge-trapping memory cell arrays
KR100669351B1 (ko) * 2005-07-29 2007-01-16 삼성전자주식회사 멀티 레벨 셀 플래시 메모리의 프로그램 방법 및 장치
JP4991131B2 (ja) 2005-08-12 2012-08-01 株式会社東芝 半導体記憶装置
JP2007102865A (ja) 2005-09-30 2007-04-19 Toshiba Corp 半導体集積回路装置
KR100763353B1 (ko) * 2006-04-26 2007-10-04 삼성전자주식회사 인접하는 메모리셀과의 커플링 노이즈를 저감시키는불휘발성 반도체 메모리 장치
KR100854970B1 (ko) 2007-01-08 2008-08-28 삼성전자주식회사 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법
US7474560B2 (en) 2006-08-21 2009-01-06 Micron Technology, Inc. Non-volatile memory with both single and multiple level cells
KR100866954B1 (ko) * 2006-09-29 2008-11-05 삼성전자주식회사 멀티 레벨 셀의 프로그래밍 시간을 줄일 수 있는 플래쉬메모리 장치 및 그 프로그래밍 방법
KR100769776B1 (ko) * 2006-09-29 2007-10-24 주식회사 하이닉스반도체 낸드 플래시 메모리 소자의 프로그램 방법
US7489547B2 (en) 2006-12-29 2009-02-10 Sandisk Corporation Method of NAND flash memory cell array with adaptive memory state partitioning
US7606070B2 (en) 2006-12-29 2009-10-20 Sandisk Corporation Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation
TWI380311B (en) * 2006-12-29 2012-12-21 Sandisk Technologies Inc Systems and methods for margined neighbor reading for non-volatile memory read operations including coupling compensation
KR100816161B1 (ko) 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
KR100823174B1 (ko) * 2007-02-27 2008-04-18 삼성전자주식회사 멀티-페이지 프로그램 스킴을 갖는 플래시 메모리 장치 및그것의 멀티-페이지 프로그램 방법
JP4435200B2 (ja) * 2007-04-03 2010-03-17 株式会社東芝 半導体記憶装置のデータ書き込み方法
KR100875979B1 (ko) * 2007-04-19 2008-12-24 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법
KR100877104B1 (ko) 2007-06-26 2009-01-07 주식회사 하이닉스반도체 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법
WO2009006513A1 (en) * 2007-07-03 2009-01-08 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
KR100861378B1 (ko) 2007-10-10 2008-10-01 주식회사 하이닉스반도체 플래시 메모리소자의 프로그램 방법
JP2009104729A (ja) 2007-10-24 2009-05-14 Toshiba Corp 不揮発性半導体記憶装置
KR100932368B1 (ko) * 2007-11-21 2009-12-16 주식회사 하이닉스반도체 플래시 메모리 소자의 동작 방법
US7688638B2 (en) * 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
KR100960479B1 (ko) 2007-12-24 2010-06-01 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
KR100965029B1 (ko) * 2008-05-13 2010-06-21 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 프로그램 검증 방법
US7800956B2 (en) 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
KR101468099B1 (ko) 2008-07-24 2014-12-03 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
US7839687B2 (en) * 2008-10-16 2010-11-23 Sandisk Corporation Multi-pass programming for memory using word line coupling
KR101024142B1 (ko) * 2009-02-02 2011-03-22 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
KR20100107294A (ko) * 2009-03-25 2010-10-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR101594030B1 (ko) * 2009-05-13 2016-02-29 삼성전자주식회사 플래시 메모리 장치의 프로그램 방법
KR101116643B1 (ko) 2009-06-25 2012-03-07 김경현 다기능 미닫이 창호
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101893562B1 (ko) * 2012-01-09 2018-10-04 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011055714B4 (de) 2010-12-30 2018-09-20 Samsung Electronics Co., Ltd. Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
KR20130125426A (ko) * 2012-05-09 2013-11-19 삼성전자주식회사 비휘발성 메모리 장치의 프로그래밍 방법
KR20140096796A (ko) * 2013-01-29 2014-08-06 삼성전자주식회사 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법
KR20170024222A (ko) * 2015-08-24 2017-03-07 삼성전자주식회사 표면 실장 기술의 적용에 따른 메모리 셀의 문턱 전압 산포 변화 복구 기능을 갖는 데이터 스토리지 및 그것의 동작 방법
US10147491B2 (en) 2016-09-08 2018-12-04 SK Hynix Inc. Semiconductor memory device and programming method thereof
KR20180039970A (ko) * 2016-10-11 2018-04-19 삼성전자주식회사 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법

Also Published As

Publication number Publication date
US20120170364A1 (en) 2012-07-05
US20160141025A1 (en) 2016-05-19
CN102543192B (zh) 2017-03-01
CN107093453A (zh) 2017-08-25
JP2012142067A (ja) 2012-07-26
JP5921870B2 (ja) 2016-05-24
DE102011055714B8 (de) 2018-11-22
US9818475B2 (en) 2017-11-14
CN107093453B (zh) 2020-08-18
US20140247657A1 (en) 2014-09-04
DE102011055714A1 (de) 2012-07-05
CN102543192A (zh) 2012-07-04
US9281069B2 (en) 2016-03-08
KR101798013B1 (ko) 2017-11-16
DE102011055714B4 (de) 2018-09-20

Similar Documents

Publication Publication Date Title
KR101798013B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
KR101821604B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
JP5632210B2 (ja) 非揮発性メモリ装置及びそのプログラム方法
KR102090589B1 (ko) 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법
US8854879B2 (en) Method of programming a nonvolatile memory device and nonvolatile memory device performing the method
US8164952B2 (en) Nonvolatile memory device and related method of programming
CN107369470B (zh) 存储设备的编程方法和使用其的存储系统
KR20110131648A (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
KR102005888B1 (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
US8499210B2 (en) Flash memory device, flash memory system, and method of programming flash memory device
KR20140008705A (ko) 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
KR20160060917A (ko) 비휘발성 메모리 소자 및 이의 프로그래밍 방법
CN111258793B (zh) 存储器控制器及其操作方法
JP2011165301A (ja) フラッシュメモリ装置及びその読み出し方法
KR20130087737A (ko) 비휘발성 메모리 장치의 데이터 독출 방법
KR20120118764A (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20150024024A (ko) 비휘발성 메모리 장치의 구동 방법
KR20130052811A (ko) 불휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
US8760919B2 (en) Nonvolatile memory device and method of reading data in nonvolatile memory device
KR20130110290A (ko) 공유 비트 라인 구조를 가지는 비휘발성 메모리 장치의 프로그램 방법
US11894059B2 (en) Apparatus and method for programming data in a non-volatile memory device
CN115775582A (zh) 将数据编程在非易失性存储器装置中的设备、系统及方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant