KR101927212B1 - 비휘발성 메모리 장치의 프로그래밍 방법 - Google Patents

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

Info

Publication number
KR101927212B1
KR101927212B1 KR1020120048910A KR20120048910A KR101927212B1 KR 101927212 B1 KR101927212 B1 KR 101927212B1 KR 1020120048910 A KR1020120048910 A KR 1020120048910A KR 20120048910 A KR20120048910 A KR 20120048910A KR 101927212 B1 KR101927212 B1 KR 101927212B1
Authority
KR
South Korea
Prior art keywords
level
program
state
voltage
cells
Prior art date
Application number
KR1020120048910A
Other languages
English (en)
Other versions
KR20130125426A (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 KR1020120048910A priority Critical patent/KR101927212B1/ko
Priority to US13/755,448 priority patent/US8854879B2/en
Publication of KR20130125426A publication Critical patent/KR20130125426A/ko
Application granted granted Critical
Publication of KR101927212B1 publication Critical patent/KR101927212B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에서는 상기 멀티 레벨 셀들을 복수의 중간 상태들로 프로그램하는 프리 프로그램을 수행한다. 상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램을 수행한다.

Description

비휘발성 메모리 장치의 프로그래밍 방법{METHOD OF PROGRAMMING DATA IN NONVOLATILE MEMORY DEVICE}
본 발명은 반도체 메모리 장치에 관한 것으로서, 더욱 상세하게는 비휘발성 메모리 장치의 데이터 프로그램방법에 관한 것이다.
반도체 메모리 장치는 전원 공급이 중단될 때 저장된 데이터를 상실하는지 여부에 따라, 휘발성 메모리 장치(volatile memory device)와 비휘발성 메모리 장치(nonvolatile memory device)로 구분될 수 있다. 비휘발성 메모리 장치의 메모리 셀들은, 저장되는 데이터의 비트 수에 따라, 셀마다 한 비트의 데이터를 저장하는 단일-레벨 셀(Single-Level Cell; SLC)들 또는 셀마다 두 비트 이상의 데이터를 저장하는 멀티-레벨 셀(Multi-Level Cell; MLC)들로 분류될 수 있다.
멀티 비트 데이터를 정확하게 기입 및 독출하기 위해서는, 멀티 레벨 셀들의 문턱 전압 분포들이 적당한 센싱 마진만큼 서로 이격되어야 한다. 그러나, 비휘발성 메모리 장치의 집적도가 증가함에 따라, 인접한 메모리 셀들간의 커플링, 프로그램 디스터브 등에 의해 문턱 전압 분포들이 넓어지는 문제가 있다.
본 발명의 일 목적은 메모리 셀들 간의 커플링에 의한 문턱 전압 분포의 증가와 프로그램 시간을 감소시킬 수 있는 비휘발성 메모리 장치의 프로그램 방법을 제공하는 것이다.
상기한 본 발명의 일 목적을 달성하기 위한 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에서는 상기 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 중간 상태들로 프로그램하는 프리 프로그램을 수행한다. 상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램을 수행한다.
실시예에 있어서, 상기 프리 프로그램은 상기 멀티 레벨 셀들에 프리 프로그램 펄스를 인가하면서 상기 멀티 레벨 셀들이 연결된 비트라인에 서로 다른 레벨의 비트 라인 강제 전압들을 인가하여 수행될 수 있다.
상기 중간 상태들은 적어도 제1 및 제2 중간 상태들을 포함하고, 상기 제1 중간 상태의 문턱 전압의 분포는 상기 소거 상태의 문턱 전압 분포보다 높고, 상기 제2 중간 상태의 문턱 전압의 분포는 상기 제1 중간 상태의 문턱 전압의 분포보다 높을 수 있다.
상기 소거 상태의 멀티 레벨 셀에는 전원전압 레벨의 인히빗(inhibit) 전압이 인가되고 상기 제1 중간 상태의 멀티 레벨 셀에는 상기 전원전압 레벨과 접지 전압 레벨 사이의 제1 비트 라인 강제 전압이 인가되고, 상기 제2 중간 상태의 멀티 레벨 셀에는 상기 전원 전압 레벨과 상기 접지 전압 레벨 사이의 제2 비트 라인 강제 전압이 인가될 수 있다.
상기 제1 비트 라인 강제 전압의 레벨은 상기 제2 비트 라인 강제 전압의 레벨 보다 높을 수 있다.
상기 프리 프로그램 펄스는 상기 멀티 레벨 셀들에 한번 인가될 수 있다.
실시예에 있어서, 상기 중간 상태들은 소거 상태 및 제1 내지 제6 중간 상태들을 포함하고, 상기 프리 프로그램 펄스는 상기 멀티 레벨 셀들에 복수회 인가될 수 있다.
상기 프리 프로그램을 수행하기 위하여, 상기 소거 상태 및 상기 제1 내지 제6 중간 상태들을 복수의 그룹으로 분할하고, 상기 복수의 그룹들 각각에 상기 프리 프로그램 펄스를 인가하면서, 상기 복수의 그룹들에 속한 멀티 레벨 셀들이 연결된 비트 라인들에 상기 비트 라인 강제 전압을 인가할 수 있다.
상기 제1 내지 제6 중간 상태들 문턱 전압 분포는 점진적으로 높아지고, 상기 문턱 전압 분포가 높은 멀티 레벨 셀들을 포함하는 그룹에는 더 높은 레벨의 상기 프리 프로그램 펄스가 인가될 수 있다.
상기 복수의 그룹들 각각에 속하는 멀티 레벨 셀들중 상기 소거 상태의 멀티 레벨 셀을 제외한 멀티 레벨 셀들의 비트라인들에는 상기 각각의 문턱 전압 분포에 반비례하며 상기 전원 전압 레벨과 접지 전압 레벨 사이의 비트 라인 강제 전압들이 인가될 수 있다.
상기 복수의 그룹들 중 어느 하나의 그룹에 상기 프리 프로그램 펄스가 인가되는 동안에 다른 그룹의 멀티 레벨 셀들에 연결된 비트라인들에는 전원 전압 레벨의 인히빗(inhibit) 전압이 인가될 수 있다.
실시예에 있어서, 상기 메인 프로그램은 증가형 스텝 펄스 프로그램(Incremental Step Pulse Program) 방식으로 수행될 수 있다.
실시예에 있어서, 상기 프리 프로그램을 수행하기 위하여, 상기 복수의 중간 상태들 중 적어도 두 개의 상태를 선택하고, 상기 선택된 적어도 두 개의 중간 상태를 가지는 멀티 레벨 셀에 프리 프로그램 펄스를 인가하면서, 상기 선택된 적어도 두 개의 중간 상태를 가지는 멀티 레벨 셀들이 연결된 비트라인들에 비트라인 강제 전압들을 인가할 수 있다.
상기 비트라인 강제 전압들은 상기 프로그램 상태에 따른 레벨을 가지고, 상기 프리 프로그램 펄스는 상기 멀티 레벨 셀들에 적어도 한번 인가될 수 있다.
상기한 본 발명의 일 목적을 달성하기 위한 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에서는 상기 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩하는 중간 상태들로 프로그램하는 제1 프리 프로그램을 수행한다. 상기 멀티 레벨 셀들에 중간 검증 전압들을 인가하여 상기 중간 상태들을 확인한다. 상기 확인된 중간 상태에 기초하여 상기 멀티 레벨 셀들에 선택적으로 제2 프리 프로그램을 수행한다. 상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램을 수행한다.
상기와 같은 본 발명의 실시예들에 따르면 프리 프로그램을 수행하여 멀티 레벨 셀들 중 적어도 일부(즉, 소거 상태와 문턱 전압 분포의 차이가 큰 멀티 레벨 셀들)의 문턱 전압 분포를 미리 이동시켜 놓고, 메인 프로그램을 수행하여 소거 상태와 가장 가까운 상태의 문턱 전압 분포를 가지는 멀티 레벨 셀의 문턱 전압 분포를 이동시킴으로써 커플링에 의한 문턱 전압 분포의 증가를 감소시킬 수 있다. 또한 하나의 프리 프로그램 펄스에 의하여 복수의 중간 상태들로 프로그램할 수 있기 때문에 프로그램하는데 소요되는 시간을 단축시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 흐름도이다.
도 2a는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프리 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 2b는 본 발명의 실시예들에 따른 프로그램 방법에 따라 메인 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 3은 도 2a의 프리 프로그램이 수행될 때 인가되는 전압들을 나타낸다.
도 4는 본 발명의 실시예들에 따른 도 1의 프리 프로그램을 수행하는 단계를 상세히 나타내는 흐름도이다.
도 5a는 본 발명의 실시예들에 따라 프리 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 5b는 본 발명의 실시예들에 따라 메인 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 6은 도 5a의 프리 프로그램이 수행될 때 인가되는 전압들을 나타낸다.
도 7a는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프리 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 7b는 본 발명의 실시예들에 따른 프로그램 방법에 따라 메인 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 8은 도 7a의 프리 프로그램이 수행될 때 인가되는 전압들을 나타낸다.
도 9는 본 발명의 다른 실시예에 따른 도 1의 프리 프로그램을 수행하는 단계를 상세히 나타내는 흐름도이다.
도 10은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 흐름도이다.
도 11은 본 발명의 실시예들에 따른 프로그램 방법을 수행하는 비휘발성 메모리 장치를 나타내는 블록도이다.
도 12는 본 발명의 일 실시예에 따라 도 11의 메모리 셀 어레이의 일예를 나타낸다.
도 13은 본 발명의 일 실시예에 따라 도 11의 비휘발성 메모리 장치의 메모리 셀 어레이의 일 예를 나타낸다.
도 14는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치에서 온칩 버퍼드 프로그램이 수행되는 것을 설명하기 위한 도면이다.도 15는 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 블록도이다.
도 16은 본 발명의 실시예들에 따른 메모리 시스템이 메모리 카드에 응용된 예를 나타내는 도면이다.
도 17은 본 발명의 실시예들에 따른 메모리 시스템이 솔리드 스테이트 드라이브에 응용된 예를 나타내는 도면이다.
도 18은 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 흐름도이다.
도 1을 참조하면, 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치에서, 상기 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 중간 상태들로 프로그램하는 프리 프로그램이 수행된다(S110). 여기서, 상기 멀티 비트 데이터는 2 비트 이상의 데이터를 나타내고, 멀티 레벨 셀은 셀마다 2 비트 이상의 데이터를 저장하는 비휘발성 메모리 셀을 나타낸다.
예들 들어, 상기 멀티 레벨 셀들이 연결된 워드 라인에 프리 프로그램 펄스를 인가하면서, 상기 멀티 레벨 셀들이 연결된 비트라인들에 서로 다른 레벨의 비트라인 강제 전압을 인가하여 상기 프리프로그램을 수행할 수 있다.
예들 들어, 상기 프로그램하고자 하는 프로그램 상태가 소거 상태이면 이에 해당하는 멀티 레벨 셀에 연결된 비트 라인에는 전원 전압(Vcc) 레벨의 인히빗(inhit) 전압을 인가할 수 있다.. 예들 들어, 상기 프로그램하고자 하는 프로그램 상태가 소거 상태와 문턱 전압 분포가 가장 차이가 나는 상태(최상위 상태)라면 이에 해당하는 멀티 레벨 셀에 연결된 비트 라인에는 접지 전압(0V) 레벨의 비트 라인 강제 전압을 인가하여 상기 중간 상태들 중 하나로 프리 프로그램할 수 있다.
예들 들어, 상기 프로그램하고자 하는 프로그램 상태가 상기 소거 상태와 상기 최상위 상태 사이의 상태라면, 이에 해당하는 멀티 레벨 셀에 연결된 비트 라인에는 전원 전압과 접지 전압 사이의 레벨을 갖는 비트 라인 강제 전압을 인가하여 상기 중간 상태들 중 하나로 프리 프로그램할 수 있다.
상기 프리 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램이 수행된다(S130). 일 실시예에서, 상기 메인 프로그램은 ISPP 방식으로 수행될 수 있다. 예를 들어, 상기 멀티 레벨 셀들에 매 프로그램 루프마다 소정의 전압 레벨만큼 증가하는 증가형 스텝 펄스를 인가하고, 상기 멀티 레벨 셀들이 상기 프로그램 상태들로 프로그램되었는지를 확인하도록 상기 멀티 레벨 셀들에 상기 프로그램 상태들에 각각 상응하는 검증 전압들을 인가함으로써, 상기 메인 프로그램이 수행될 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 멀티 레벨 셀들에 프리 프로그램 펄스를 인가함과 동시에 멀티 레벨 셀들에 연결된 비트 라인들에 비트 라인 강제 전압들을 인가함으로써 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되는 중간 상태들로 프로그램한 후 상기 프로그램 상태들에 대한 메인 프로그램을 수행함으로써 커플링 등에 의한 문턱 전압 분포의 증가를 최소화할 수 있고, 한 번의 프리 프로그램 펄스의 인가로 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되는 중간 상태들로 프로그램함으로써 프로그램 오버헤드를 감소시킬 수 있다.
도 2a는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프리 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 2b는 본 발명의 실시예들에 따른 프로그램 방법에 따라 메인 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 2a 및 도 2b에서는 멀티 레벨 셀들 각각에 2 비트의 데이터를 프로그램 하는 경우를 가정한다.
도 1, 및 도 2a를 참조하면, 프리 프로그램을 수행하기 위하여 (S110), 소거 상태(E0)의 멀티 레벨 셀들에 프로 프로그램 펄스(Vppls)를 인가하여 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 중간 상태들로 프로그램하는 프리프로그램을 수행한다. 프리 프로그램이 수행되면, 멀티 레벨 셀들은 프로그램하고자 하는 프로그램 상태에 따라 소거 상태(E0) 및 제1 내지 및 제3 중간 상태들(IP1~IP3)을 가질 수 있다. 여기서 제1 중간 상태(IP1)의 문턱 전압 분포는 소거 상태(EO)의 문턱 전압 분포와 동일할 수 있다. 제2 중간 상태(IP2)의 문턱 전압 분포는 소거 상태(E0)의 문턱 전압 분포보다 높고, 제3 중간 상태(IP3)의 문턱 전압 분포는 제2 중간 상태(IP2)의 문턱 전압 분포보다 높을 수 있다. 또한 제2 중간 상태(IP2)의 문턱 전압 분포는 소거 상태(E0)와 부분적으로 중첩할 수 있고, 제3 중간 상태(IP3)의 문턱 전압 분포는 제2 중간 상태(IP2)의 문턱 전압 분포와 부분적으로 중첩할 수 있다.
이 때, 멀티 레벨 셀들에 프리 프로그램 펄스(Vppls)가 인가되면서 소거 상태(E0)를 갖는 멀티 레벨 셀에 연결된 비트 라인에는 전원 전압(Vcc) 레벨의 인히빗 전압이 인가될 수 있다. 또한 멀티 레벨 셀들에 프리 프로그램 펄스가 인가되면서 제1 중간 상태(IP)를 갖는 멀티 레벨 셀에 연결된 비트 라인에는 전원 전압(Vcc) 레벨의 비트 라인 강제 전압이 인가될 수 있다. 또한 멀티 레벨 셀들에 프리 프로그램 펄스가 인가되면서 제2 중간 상태(IP2)를 갖는 멀티 레벨 셀에 연결된 비트 라인에는 전원 전압(Vcc) 보다 낮은 제2 레벨의 비트 라인 강제 전압이 인가될 수 있다. 또한 멀티 레벨 셀들에 프리 프로그램 펄스가 인가되면서 제3 중간 상태(IP3)를 갖는 멀티 레벨 셀에 연결된 비트 라인에는 제2 레벨의 비트 라인 강제 전압보다 낮은 제3 레벨의 비트 라인 강제 전압이 인가될 수 있다.
예들 들어, 멀티 레벨 셀에 프로그램될 프로그램 상태가 "00"인 경우, 상기 멀티 레벨 셀은 소거 상태(E0)를 가질 수 있다. 또한 멀티 레벨 셀에 프로그램될 프로그램 상태가 "01"인 경우, 상기 멀티 레벨 셀은 소거 상태(E0)와 동일한 제1 중간 상태(IP1)를 가질 수 있다. 또한 멀티 레벨 셀에 프로그램될 프로그램 상태가 "00"인 경우, 상기 멀티 레벨 셀은 제2 중간 상태(IP2)를 가질 수 있다. 또한 멀티 레벨 셀에 프로그램될 프로그램 상태가 "10"인 경우, 상기 멀티 레벨 셀은 제3 중간 상태(IP3)를 가질 수 있다.
도 2b를 참조하면, 멀티 레벨 셀들에 증가형 스텝 펄스(ISPP)가 인가되어 메인 프로그램이 수행되면(S130), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다. 예를 들어, 상기 메인 프로그램에 의해, 상기 제1 중간 상태(IP1)를 가지는 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 제1 검증 전압(VVRF1)에 상응하는 제1 프로그램 상태(P1)로 프로그램되고, 제2 중간 상태(IP2)를 가지는 멀티 레벨 셀들은 제2 검증 전압(VVRF2)에 상응하는 제2 프로그램 상태(P2)로 프로그램되며, 제3 중간 상태(IP3)를 가지는 멀티 레벨 셀들은 제3 검증 전압(VVRF3)에 상응하는 제3 프로그램 상태(P3)로 프로그램될 수 있다.
예를 들어, 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3)는 멀티 비트 데이터 "11", "01", "00" 및 "10"에 각각 상응할 수 있다. 실시예에 따라, 상태들(E0, P1, P2, P3)에 각각 할당되는 멀티 비트 데이터의 로직 값들은 다양할 수 있다.
도 2a 및 도 2b의 실시예에서는, 멀티 비트 데이터 "11", "01", "00" 및 "10"의 프로그램 상태들 중 "00" 및 "10"의 프로그램 상태를 가지는 멀티 레벨 셀들이 선택되어 소거 상태(E0)와 구분이 되는 제2 중간 상태(IP2) 및 제3 중간 상태(IP3)로 프리 프로그램될 수 있다.
도 3은 도 2a의 프리 프로그램이 수행될 때 인가되는 전압들을 나타낸다.
도 1, 도 2a 내지 및 도 3을 참조하면, 프리 프로그램이 수행되는 동안 멀티 레벨 셀들이 연결되는 선택된 워드 라인(WLs)에 연결된 멀티 레벨 셀들에 프리 프로그램 펄스(Vppls)가 워드 라인 전압(VWLs)으로 인가될 수 있고, 멀티 레벨 셀들 각각이 연결되는 비트 라인들에는 멀티 레벨 셀들 각각의 중간 상태에 따라 전원 전압(Vcc) 레벨 및 제1 내지 제3 레벨(L1~L3)의 비트 라인 강제 전압이 비트 라인 전압들(VBL1~VBL4)로 인가될 수 있다. 여기서 소거 상태(E0)를 가질 멀티 레벨 셀에는 전원 전압(Vcc) 레벨의 인히빗 전압(VBL1)이 인가되고, 소거 상태(E0)와 동일한 제 1 중간 상태(IP1)를 가질 멀티 레벨 셀에는 전원 전압(Vcc) 레벨의 제1 레벨(L1)의 비트 라인 강제 전압(VBL2)이 인가되고, 제2 중간 상태(IP2)를 가질 멀티 레벨 셀에는 제1 레벨(L1)보다 낮은 제2 레벨(L2)의 비트 라인 강제 전압(VBL3)이 인가되고, 제3 중간 상태(IP3)를 가질 멀티 레벨 셀에는 제2 레벨(L2)보다 낮은 제3 레벨(L3)의 비트 라인 강제 전압(VBL4)이 인가될 수 있다. 멀티 레벨 셀들이 연결되는 선택된 워드 라인(WLs)에 연결된 멀티 레벨 셀들에 프리 프로그램 펄스(Vppls)가 인가되면서 서로 다른 레벨의 비트 라인 강제 전압들이 인가되면, 멀티 레벨 셀들에서는 비트 라인 강제 전압의 레벨에 따른 채널 부스팅 효과가 달라서, 멀티 레벨 셀들의 문턱 전압의 증가가 비트 라인 강제 전압의 레벨에 따라 달라질 수 있다.
본 발명의 실시예들에 따른 프로그램 방법에서, 프리 프로그램을 수행하여 멀티 레벨 셀들 중 적어도 일부(즉, 소거 상태와 문턱 전압 분포의 차이가 큰 멀티 레벨 셀들)의 문턱 전압 분포를 미리 이동시켜 놓고, 메인 프로그램을 수행하여 소거 상태와 가장 가까운 상태의 문턱 전압 분포를 가지는 멀티 레벨 셀의 문턱 전압 분포를 이동시킴으로써 소거 상태와 가장 가까운 문턱 전압 분포를 가지는 멀티 레벨 셀이 다른 멀티 레벨 셀의 커플링에 의한 문턱 전압 분포의 증가를 감소시킬 수 있다.
도 4는 본 발명의 일 실시예들에 따른 도 1의 프리 프로그램을 수행하는 단계를 상세히 나타내는 흐름도이다.
도 4를 참조하면, 프리 프로그램을 수행하기 위하여 복수의 중간 상태들을 복수의 그룹으로 분할한다(S111). 분할된 복수의 그룹별로 상기 프리 프로그램 펄스를 인가하면서, 멀티 레벨 셀들에 중간 상태들에 따라 비트 라인 강제 전압을 인가할 수 있다(S113). 도 4에 대하여는 도 5 내지 도 8을 참조하여 보다 상세히 설명한다.
도 5a는 본 발명의 실시예들에 따라 프리 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 5b는 본 발명의 실시예들에 따라 메인 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 5a 및 도 5b에서는 멀티 레벨 셀들 각각에 3 비트의 데이터를 프로그램 하는 경우를 가정한다.
도 1, 도 4 및 도 5a를 참조하면, 프리 프로그램을 수행하기 위하여 (S110), 소거 상태(E0)의 멀티 레벨 셀들에 프로 프로그램 펄스들(Vppls1~Vppls4)를 인가하여 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 중간 상태들로 프로그램하는 프리프로그램을 수행한다. 프로그램이 수행되는 멀티 레벨 셀들은 프로그램하고자 하는 프로그램 상태에 따라 소거 상태(E0) 및 제1 내지 제7 중간 상태들(IP1~IP7)을 가질 수 있다. 여기서 제1 중간 상태(IP1)의 문턱 전압 분포는 소거 상태(EO)의 문턱 전압 분포와 동일하고, 제2 중간 상태(IP2)의 문턱 전압 분포는 제1 중간 상태(IP1)의 문턱 전압 분포보다 높고, 제3 중간 상태(IP3)의 문턱 전압 분포는 제2 중간 상태(IP2)의 문턱 전압 분포보다 높고, 제3 중간 상태(IP4)의 문턱 전압 분포는 제3 중간 상태(IP3)의 문턱 전압 분포보다 높고, 제5 중간 상태(IP5)의 문턱 전압 분포는 제4 중간 상태(IP4)의 문턱 전압 분포보다 높고, 제6 중간 상태(IP6)의 문턱 전압 분포는 제5 중간 상태(IP5)의 문턱 전압 분포보다 높고, 제7 중간 상태(IP7)의 문턱 전압 분포는 제6 중간 상태(IP6)의 문턱 전압 분포보다 높을 수 있다. 즉, 제2 내지 제7 중간 상태들(IP1~IP7)은 소거 상태(E0)와 구분되는 문턱 전압 분포를 갖는다.
이 때 프리 프로그램을 수행하기 위하여, 프로그램하고자 하는 프로그램 상태에 따라 멀티 레벨 셀들이 프리 프로그램에 의하여 프로그램될 복수의 중간 상태들(E0, IP1~IP7)을 복수의 그룹(GR1~GR4)으로 분할할 수 있다(S111). 여기서 제1 그룹(GR1)은 소거 상태(E1) 및 제1 중간 상태(IP1)를 포함하고, 제2 그룹(GR2)은 제2 중간 상태(IP2) 및 제3 중간 상태(IP3)를 포함할 수 있고, 제3 그룹(GR3)은 제4 중간 상태(IP4) 및 제5 중간 상태(IP5)를 포함할 수 있고, 제4 그룹(GR4)은 제6 중간 상태(IP6) 및 제7 중간 상태(IP7)를 포함할 수 있다. 복수의 그룹들(GR1~GR4) 각각에 상기 프리 프로그램 펄스를 인가하면서 복수의 그룹들(GR1~GR4) 각각에 포함되는 중간 상태에 따라 해당하는 멀티 비트 셀들의 비트 라인에 상응하는 비트 라인 금지 전압들을 인가할 수 있다. 즉 도 5에서는 4 개의 그룹들(GR1~GR4)로 분할되었으므로 상기 프리 프로그램 펄스(Vppls1~Vppls4)는 총 4번 인가될 수 있다.
도 5b를 참조하면, 멀티 레벨 셀들에 증가형 스텝 펄스(ISPP)를 인가하여 메인 프로그램이 수행되면(S130), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제3 프로그램 상태(P3), 제4 프로그램 상태(P4), 제5 프로그램 상태(P5), 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 가질 수 있다. 예들 들어, 상기 메인 프로그램에 의하여, 제1 중간 상태(IP1)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제1 검증 전압(VVRF1)에 상응하는 제1 프로그램 상태(P1)로 프로그램되고, 제2 중간 상태(IP2)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제2 검증 전압(VVRF2)에 상응하는 제2 프로그램 상태(P2)로 프로그램되고, 제3 중간 상태(IP3)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제3 검증 전압(VVRF3)에 상응하는 제1 프로그램 상태(P3)로 프로그램되고, 제4 중간 상태(IP4)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제4 검증 전압(VVRF4)에 상응하는 제4 프로그램 상태(P4)로 프로그램되고, 제5 중간 상태(IP5)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제5 검증 전압(VVRF5)에 상응하는 제5 프로그램 상태(P5)로 프로그램되고, 제6 중간 상태(IP6)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제6 검증 전압(VVRF6)에 상응하는 제6 프로그램 상태(P6)로 프로그램되고, 제7 중간 상태(IP7)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제7 검증 전압(VVRF7)에 상응하는 제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)에 각각 할당되는 멀티 비트 데이터의 로직 값들은 다양할 수 있다.
도 6은 도 5a의 프리 프로그램이 수행될 때 인가되는 전압들을 나타낸다.
도 1, 도 4, 도 5a 및 도 6을 참조하면, 프리 프로그램이 수행되는 동안 멀티 레벨 셀들이 연결되는 선택된 워드 라인(WLs)에 연결된 멀티 레벨 셀들에 각 그룹 단위로 프리 프로그램 펄스들(Vppls1~Vppls4)가 워드 라인 전압(VWLs)으로 인가될 수 있고, 각 그룹의 멀티 레벨 셀들 각각이 연결되는 비트 라인들에는 멀티 레벨 셀들 각각의 중간 상태에 따라 전원 전압(Vcc) 레벨 및 제1 내지 제7 레벨(L1~L7)의 비트 라인 강제 전압이 비트 라인 전압들(VBL1~VBL4)로 인가될 수 있다. 여기서 프리 프로그램 펄스들(Vppls1~Vppls4)의 레벨은 점진적으로 증가할 수 있다. 제1 그룹(GR1)의 소거 상태(E0)를 가질 멀티 레벨 셀에는 전원 전압(Vcc) 레벨의 인히빗 전압(VBL1)이 인가되고, 제1 그룹(GR1)의 제 1 중간 상태(IP1)를 가질 멀티 레벨 셀에는 전원 전압(Vcc) 레벨과 동일한 제1 레벨(L1)의 비트 라인 강제 전압(VBL2)이 인가될 수 있다. 제2 그룹(GR2) 제2 중간 상태(IP2)를 가질 멀티 레벨 셀에는 제2 레벨(L2)의 비트 라인 강제 전압(VBL3)이 인가되고, 제2 그룹(GR2)의 제3 중간 상태(IP3)를 가질 멀티 레벨 셀에는 제3 레벨(L3)의 비트 라인 강제 전압(VBL4)이 인가될 수 있다. 여기서 제2 레벨(L2)과 제3 레벨(L3)은 전원 전압(Vcc) 레벨과 접지 전압 레벨 사이이고, 제2 레벨(L2)이 제3 레벨(L3)보다 높을 수 있다. 또한 제3 그룹(GR3) 제4 중간 상태(IP4)를 가질 멀티 레벨 셀에는 제4 레벨(L4)의 비트 라인 강제 전압(VBL5)이 인가되고, 제3 그룹(GR3)의 제5 중간 상태(IP5)를 가질 멀티 레벨 셀에는 제5 레벨(L5)의 비트 라인 강제 전압(VBL6)이 인가될 수 있다. 여기서 제4 레벨(L4)과 제5 레벨(L5)은 전원 전압(Vcc) 레벨과 접지 전압 레벨 사이이고, 제4 레벨(L4)이 제5 레벨(L5)보다 높을 수 있다. 또한, 제4 그룹(GR4) 제6 중간 상태(IP6)를 가질 멀티 레벨 셀에는 제4 레벨(L6)의 비트 라인 강제 전압(VBL7)이 인가되고, 제4 그룹(GR4)의 제7 중간 상태(IP7)를 가질 멀티 레벨 셀에는 제7 레벨(L7)의 비트 라인 강제 전압(VBL8)이 인가될 수 있다. 여기서 제6 레벨(L6)과 제7 레벨(L7)은 전원 전압(Vcc) 레벨과 접지 전압 레벨 사이이고, 제6 레벨(L6)이 제6 레벨(L7)보다 높을 수 있다.
또한 여기서 복수의 그룹들(GR1~GR4) 중 어느 하나의 그룹에 프리 프로그램 펄스들(Vppls1~Vppls4) 중 하나가 인가되는 경우, 다른 그룹들에 속한 멀티 레벨 셀들의 비트 라인들에는 전원 전압(Vcc) 레벨의 인히빗 전압이 인가될 수 있다.
본 발명의 실시예들에 따른 프로그램 방법에서, 3 비트 이상의 데이터를 멀티 비트 셀들에 프로그램하는 경우, 프리 프로그램을 수행하여 멀티 레벨 셀들 중 적어도 일부(즉, 소거 상태와 문턱 전압 분포의 차이가 큰 멀티 레벨 셀들)의 문턱 전압 분포를 미리 이동시켜 놓고, 메인 프로그램을 수행하여 소거 상태와 가장 가까운 상태의 문턱 전압 분포를 가지는 멀티 레벨 셀의 문턱 전압 분포를 이동시킴으로써 소거 상태와 가장 가까운 문턱 전압 분포를 가지는 멀티 레벨 셀이 다른 멀티 레벨 셀의 커플링에 의한 문턱 전압 분포의 증가를 감소시킬 수 있다. 또한 프리 프로그램을 수행할 때, 복수의 중간 상태들을 복수의 그룹으로 분할하고, 각 그룹별로 서로 다른 레벨을 갖는 프리 프로그램 펄스를 인가할 수 있다.
도 7a는 본 발명의 실시예들에 따른 프로그램 방법에 따라 프리 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 7b는 본 발명의 실시예들에 따른 프로그램 방법에 따라 메인 프로그램이 수행될 때 멀티 레벨 셀들의 문턱 전압 분포들의 일 예를 나타내는 도면이다.
도 7a 및 도 7b에서도 멀티 레벨 셀들 각각에 3 비트의 데이터를 프로그램 하는 경우를 가정한다.
도 1, 도 4 및 도 7a를 참조하면, 프리 프로그램을 수행하기 위하여 (S110), 소거 상태(E0)의 멀티 레벨 셀들에 프로 프로그램 펄스들(Vppls1~Vppls3)를 인가하여 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 중간 상태들로 프로그램하는 프리프로그램을 수행한다. 프로그램이 수행되는 멀티 레벨 셀들은 프로그램하고자 하는 프로그램 상태에 따라 소거 상태(E0) 및 제1 내지 제7 중간 상태들(IP1~IP7)을 가질 수 있다. 여기서 제1 중간 상태(IP1)의 문턱 전압 분포는 소거 상태(EO)의 문턱 전압 분포와 동일하고, 제2 중간 상태(IP2)의 문턱 전압 분포는 제1 중간 상태(IP1)의 문턱 전압 분포보다 높고, 제3 중간 상태(IP3)의 문턱 전압 분포는 제2 중간 상태(IP2)의 문턱 전압 분포보다 높고, 제3 중간 상태(IP4)의 문턱 전압 분포는 제3 중간 상태(IP3)의 문턱 전압 분포보다 높고, 제5 중간 상태(IP5)의 문턱 전압 분포는 제4 중간 상태(IP4)의 문턱 전압 분포보다 높고, 제6 중간 상태(IP6)의 문턱 전압 분포는 제5 중간 상태(IP5)의 문턱 전압 분포보다 높고, 제7 중간 상태(IP7)의 문턱 전압 분포는 제6 중간 상태(IP6)의 문턱 전압 분포보다 높을 수 있다. 제1 내지 제7 중간 상태들(IP1~IP7) 중 적어도 일부는 소거 상태(E0)와 구분되면 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖을 수 있다.
이 때 프리 프로그램을 수행하기 위하여, 프로그램하고자 하는 프로그램 상태에 따라 멀티 레벨 셀들이 프리 프로그램에 의하여 프로그램될 복수의 중간 상태들(E0, IP1~IP7)을 복수의 그룹(GR1~GR3)으로 분할할 수 있다(S111). 여기서 제1 그룹(GR1)은 소거 상태(E1, 제1 중간 상태(IP1) 및 제2 중간 상태(IP2)를 포함하고, 제2 그룹(GR2)은 제3 중간 상태(IP2), 제4 중간 상태(IP4) 및 제5 중간 상태(IP5)를 포함하고, 제3 그룹(GR3)은 제6 중간 상태(IP6) 및 제7 중간 상태(IP7)을 포함할 수 있다. 복수의 그룹들(GR1~GR3) 각각에 상기 프리 프로그램 펄스를 인가하면서 복수의 그룹들(GR1~GR3) 각각에 포함되는 중간 상태에 따라 해당하는 멀티 비트 셀들의 비트 라인에 상응하는 비트 라인 금지 전압들을 인가할 수 있다. 즉 도 7에서는 3 개의 그룹들(GR1~GR3)로 분할되었으므로 상기 프리 프로그램 펄스는 총 3번 인가될 수 있다.
도 7b를 참조하면, 멀티 레벨 셀들에 증가형 스텝 펄스(ISPP)를 인가하여 메인 프로그램이 수행되면(S130), 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터에 따라 소거 상태(E0), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제3 프로그램 상태(P3), 제4 프로그램 상태(P4), 제5 프로그램 상태(P5), 제6 프로그램 상태(P6) 또는 제7 프로그램 상태(P7)를 가질 수 있다. 예들 들어, 상기 메인 프로그램에 의하여, 제1 중간 상태(IP1)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제1 검증 전압(VVRF1)에 상응하는 제1 프로그램 상태(P1)로 프로그램되고, 제2 중간 상태(IP2)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제2 검증 전압(VVRF2)에 상응하는 제2 프로그램 상태(P2)로 프로그램되고, 제3 중간 상태(IP3)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제3 검증 전압(VVRF3)에 상응하는 제1 프로그램 상태(P3)로 프로그램되고, 제4 중간 상태(IP4)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제4 검증 전압(VVRF4)에 상응하는 제4 프로그램 상태(P4)로 프로그램되고, 제5 중간 상태(IP5)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제5 검증 전압(VVRF5)에 상응하는 제5 프로그램 상태(P5)로 프로그램되고, 제6 중간 상태(IP6)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제6 검증 전압(VVRF6)에 상응하는 제6 프로그램 상태(P6)로 프로그램되고, 제7 중간 상태(IP7)를 가지는 멀티 비트 셀은 상기 멀티 비트 데이터에 따라 제7 검증 전압(VVRF7)에 상응하는 제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)에 각각 할당되는 멀티 비트 데이터의 로직 값들은 다양할 수 있다.
도 8은 도 7a의 프리 프로그램이 수행될 때 인가되는 전압들을 나타낸다.
도 1, 도 4, 도 7a 및 도 8을 참조하면, 프리 프로그램이 수행되는 동안 멀티 레벨 셀들이 연결되는 선택된 워드 라인(WLs)에 연결된 멀티 레벨 셀들에 각 그룹 단위로 서로 다른 레벨의 프리 프로그램 펄스들(Vppls1~Vppls3)가 워드 라인 전압(VWLs)으로 인가될 수 있고, 각 그룹의 멀티 레벨 셀들 각각이 연결되는 비트 라인들에는 멀티 레벨 셀들 각각의 중간 상태에 따라 전원 전압(Vcc) 레벨 및 제1 내지 제7 레벨(L1~L7)의 비트 라인 강제 전압이 비트 라인 전압들(VBL1~VBL7)로 인가될 수 있다. 여기서 프리 프로그램 펄스들(Vppls1~Vppls3)의 레벨은 점진적으로 증가할 수 있다. 제1 그룹(GR1)의 소거 상태(E0)를 가질 멀티 레벨 셀에는 전원 전압(Vcc) 레벨의 인히빗 전압(VBL1)이 인가되고, 제1 그룹(GR1)의 제 1 중간 상태(IP1)를 가질 멀티 레벨 셀에는 전원 전압(Vcc) 레벨과 동일한 제1 레벨(L1)의 비트 라인 강제 전압(VBL2)이 인가되고 제1 그룹(GR1) 제2 중간 상태(IP2)를 가질 멀티 레벨 셀에는 전원 전압 레벨(Vcc)보다 낮은 제2 레벨(L2)의 비트 라인 강제 전압(VBL3)이 인가될 수 있다. 제2 그룹(GR2)의 제3 중간 상태(IP3)를 가질 멀티 레벨 셀에는 제3 레벨(L3)의 비트 라인 강제 전압(VBL4)이 인가되고, 제2 그룹(GR2) 제4 중간 상태(IP4)를 가질 멀티 레벨 셀에는 제4 레벨(L4)의 비트 라인 강제 전압(VBL5)이 인가되고, 제2 그룹(GR2)의 제5 중간 상태(IP5)를 가질 멀티 레벨 셀에는 제5 레벨(L5)의 비트 라인 강제 전압(VBL6)이 인가될 수 있다.d 여기서, 제3 레벨 내지 제5 레벨(L3~L5)은 전원 전압(Vcc) 레벨과 접지 전압 레벨 사이이고, 제3 레벨(L3)은 제4 레벨(L4)보다 높고 제4 레벨(L4)은 제5 레벨(L5)보다 높을 수 있다. 또한, 제3 그룹(GR3) 제6 중간 상태(IP6)를 가질 멀티 레벨 셀에는 제4 레벨(L6)의 비트 라인 강제 전압(VBL7)이 인가되고, 제3 그룹(GR3)의 제7 중간 상태(IP7)를 가질 멀티 레벨 셀에는 제7 레벨(L7)의 비트 라인 강제 전압(VBL8)이 인가될 수 있다. 여기서 제6 레벨(L6)과 제7 레벨(L7)은 전원 전압(Vcc) 레벨과 접지 전압 레벨 사이이고, 제6 레벨(L6)이 제6 레벨(L7)보다 높을 수 있다.
또한 여기서 복수의 그룹들(GR1~GR3) 중 어느 하나의 그룹에 프리 프로그램 펄스들(Vppls1~Vppls3) 중 하나가 인가되는 경우, 다른 그룹들에 속한 멀티 레벨 셀들의 비트 라인들에는 전원 전압(Vcc) 레벨의 인히빗 전압이 인가될 수 있다.
본 발명의 실시예들에 따른 프로그램 방법에서, 3 비트 이상의 데이터를 멀티 비트 셀들에 프로그램하는 경우, 프리 프로그램을 수행하여 멀티 레벨 셀들 중 적어도 일부(즉, 소거 상태와 문턱 전압 분포의 차이가 큰 멀티 레벨 셀들)의 문턱 전압 분포를 미리 이동시켜 놓고, 메인 프로그램을 수행하여 소거 상태와 가장 가까운 상태의 문턱 전압 분포를 가지는 멀티 레벨 셀의 문턱 전압 분포를 이동시킴으로써 소거 상태와 가장 가까운 문턱 전압 분포를 가지는 멀티 레벨 셀이 다른 멀티 레벨 셀의 커플링에 의한 문턱 전압 분포의 증가를 감소시킬 수 있다. 또한 프리 프로그램을 수행할 때, 복수의 중간 상태들을 복수의 그룹으로 분할하고, 각 그룹별로 서로 다른 레벨을 갖는 프리 프로그램 펄스를 인가할 수 있다.
또한 본 발명의 실시예에서는 복수의 중간 상태들을 각각 4 개의 중간 상태들을 포함하는 2 개의 그룹으로 분할할 수도 있다.
도 9는 본 발명의 다른 실시예에 따른 도 1의 프리 프로그램을 수행하는 단계를 상세히 나타내는 흐름도이다.
도 9를 참조하면, 프리 프로그램을 수행하기 위하여 프로그램될 프로그램 상태에 상응하는 중간 상태로 프로그램하기 위하여 복수의 중간 상태들 중 소거 상태와 구분되는 문턱 전압 분포를 갖는 적어도 두 개의 중간 상태들을 선택한다(S115). 즉, 프리 프로그램에 의하여 복수의 중간 상태들로 모두 프로그램하는 것이 아니라 적어도 일부의 중간 상태들로 프로그램하기 위하여 적어도 두 개의 중간 상태들을 선택할 수 있다. 상기 선택된 중간 상태들로 프로그램하기 위하여 상기 선택된 중간 상태들로 프로그램되어야 하는 멀티 레벨 셀들에 연결된 워드 라인에 프리 프로그램 펄스를 인가하면서, 상기 멀티 레벨 셀들에 연결된 비트 라인들에 선택된 중간 상태에 따른 비트 라인 강제 전압을 인가할 수 있다(S117). 이렇게 프리 프로그램에서 적어도 일부의 중간 상태들로 프리 프리프로그램을 수행하고, 메인 프로그램에서 멀티 비트 데이터에 상응하는 프로그램 상태로 멀티 비트 셀들을 프로그램할 수 있다.
도 10은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 흐름도이다.
도 10을 참조하면, 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치에서, 상기 멀티 레벨 셀들을 복수의 중간 상태들로 프로그램하는 제1 프리 프로그램이 수행된다(S210). 여기서, 상기 멀티 비트 데이터는 2 비트 이상의 데이터를 나타내고, 멀티 레벨 셀은 셀마다 2 비트 이상의 데이터를 저장하는 비휘발성 메모리 셀을 나타낸다.
예들 들어, 상기 멀티 레벨 셀들이 연결된 워드 라인에 제1 프리 프로그램 펄스를 인가하면서, 상기 프로그램하고자 하는 프로그램 상태에 따라 상기 멀티 레벨 셀들이 연결된 비트 라인들에 프로그램하고자 하는 중간 상태에 따른 비트 라인 강제 전압들을 인가함으로써 상기 제1 프리 프로그램이 수행될 수 있다.
예들 들어, 상기 프로그램하고자 하는 프로그램 상태가 소거 상태이면 이에 해당하는 멀티 레벨 셀에 연결된 비트 라인에는 전원 전압(Vcc) 레벨의 인히빗 전압을 인가하여 상기 중간 상태들 중 하나로 프리 프로그램할 수 있다. 예들 들어, 상기 프로그램하고자 하는 프로그램 상태가 소거 상태와 문턱 전압 분포가 가장 차이가 나는 상태(최상위 상태)라면 이에 해당하는 멀티 레벨 셀에 연결된 비트 라인에는 접지 전압(0V) 레벨의 비트 라인 강제 전압을 인가하여 상기 중간 상태들 중 하나로 프리 프로그램할 수 있다.
예들 들어, 상기 프로그램하고자 하는 프로그램 상태가 상기 소거 상태와 상기 최상위 상태 사이의 상태라면, 이에 해당하는 멀티 레벨 셀에 연결된 비트 라인에는 전원 전압과 접지 전압 사이의 레벨을 갖는 비트 라인 강제 전압을 인가하여 상기 중간 상태들 중 하나로 프리 프로그램할 수 있다.
상기 제1 프리 프로그램이 수행된 후, 상기 멀티 레벨 셀들의 중간 상태를 확인한다(S230). 즉 상기 제1 프리 프로그램이 수행된 멀티 레벨 셀들에 중간 상태 확인 전압들을 인가하여 상기 제1 프리 프로그램의 제대로 수행되었는지 여부를 확인한다. 즉 상기 제1 프리 프로그램이 수행된 멀티 레벨 셀들에 상기 중간 상태들에 상응하는 중간 검증 전압들을 인가하여 상기 멀티 레벨 셀들이 상기 중간 상태들로 프로그램되었는지 여부를 확인할 수 있다.
상기 중간 상태 확인 결과에 따라서 선택적으로 제2 프리 프로그램을 수행할 수 있다(S250). 즉 상기 중간 상태 확인 결과에 따라서 상기 중간 상태들에 상응하는 중간 검증 전압 이하로 프로그램된 멀티 레벨 셀들에 제2 프로그램 펄스를 인가하면서 상기 프로그램하고자 하는 프로그램 상태에 따라 상기 멀티 레벨 셀들이 연결된 비트 라인들에 프로그램하고자 하는 중간 상태에 따른 비트 라인 강제 전압들을 인가함으로써 상기 제2 프리 프로그램이 수행될 수 있다. 여기서 상기 제2 프리 프로그램 펄스의 레벨은 상기 제1 프리 프로그램 펄스의 레벨보다 낮을 수 있다.
상기 제2 프리 프로그램이 수행된 후, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램이 수행된다(S270). 일 실시예에서, 상기 메인 프로그램은 ISPP 방식으로 수행될 수 있다. 예를 들어, 상기 멀티 레벨 셀들에 매 프로그램 루프마다 소정의 전압 레벨만큼 증가하는 증가형 스텝 펄스를 인가하고, 상기 멀티 레벨 셀들이 상기 프로그램 상태들로 프로그램되었는지를 확인하도록 상기 멀티 레벨 셀들에 상기 프로그램 상태들에 각각 상응하는 검증 전압들을 인가함으로써, 상기 메인 프로그램이 수행될 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 멀티 레벨 셀들에 프리 프로그램 펄스를 인가함과 동시에 멀티 레벨 셀들에 연결된 비트 라인들에 비트 라인 강제 전압들을 인가함으로써 복수의 중간 상태들로 프로그램한 후 상기 프로그램 상태들에 대한 메인 프로그램을 수행함으로써 커플링 등에 의한 문턱 전압 분포의 증가를 최소화할 수 있고, 한 번의 프리 프로그램 펄스의 인가로 복수의 중간 상태들로 프로그램함으로써 프로그램 오버헤드를 감소시킬 수 있다. 즉 프로그램하는데 소요되는 시간을 감소시킬 수 있다.
도 11은 본 발명의 실시예들에 따른 프로그램 방법을 수행하는 비휘발성 메모리 장치를 나타내는 블록도이다.
도 11을 참조하면, 비휘발성 메모리 장치(10)는 플래시 메모리 장치일 수 있으며, 메모리 셀 어레이(memory cell array)(100), 로우 디코더(row decoder)(700), 입출력 회로(I/O circuit)(300), 제어 회로(control circuit)(500) 및 전압 발생기(voltage generator)(600)를 포함한다.
메모리 셀 어레이(100)는 복수의 워드 라인들(WL)과 복수의 비트 라인들(BL)에 각각 연결되는 복수의 메모리 셀들을 포함한다. 도 12 및 도 13을 참조하여 후술하는 바와 같이, 상기 복수의 메모리 셀들은 각각 낸드 플래시 메모리 셀들일 수 있으며, 2차원 어레이(array) 구조 또는 3차원 수직 어레이 구조로 배열될 수 있다. 상기 복수의 메모리 셀들은 멀티-레벨 셀들일 수 있으며, 쉐도우 프로그램 방식, 리프로그램 방식 또는 온칩 버퍼드 프로그램 방식과 같은 다양한 프로그램 방식을 이용하여 프로그램될 수 있다.
로우 디코더(700)는 로우 어드레스(XADD)에 기초하여 하나의 워드 라인을 선택하는 방식으로 선택 워드 라인에 연결된 복수의 메모리 셀들을 선택한다. 예를 들어, 기입 모드에서 프로그램 전압 및 검증 전압이 상기 선택 워드 라인에 인가되고, 독출 모드에서 독출 전압이 상기 선택 워드 라인에 인가되며, 소거 모드에서 소거 전압이 상기 선택 워드 라인에 인가된다. 워드 라인에 인가되는 워드 라인 전압(VWL)은 제어 회로(500)로부터 제공되는 전압 제어 신호(VCTRL)에 기초하여 전압 발생기(600)로부터 공급된다.
입출력 회로(300)는 복수의 비트 라인들(BL)에 연결되고, 메모리 셀 어레이(100)에 프로그램될 기입 데이터를 저장하거나 혹은 메모리 셀 어레이(100)로부터 감지된 독출 데이터를 저장한다. 입출력 회로(300)는 복수의 비트 라인들(BL)에 상응하는 복수의 페이지 버퍼(310)들을 포함하며, 컬럼 어드레스(YADD)에 기초하여 비트 라인을 선택하는 컬럼 디코더(column decoder, 미도시)를 포함할 수 있다. 페이지 버퍼(310)들은 복수의 데이터 래치들을 각각 포함할 수 있으며, 비휘발성 메모리 장치(10)의 동작 모드에 따라 기입 드라이버 또는 감지 증폭기로서 동작할 수 있다. 예를 들어, 입출력 회로(300)는 상기 기입 모드에서 기입 드라이버로서 동작할 수 있으며, 상기 독출 모드에서 감지 증폭기로서 동작할 수 있다.
입출력 회로(300)는 제어 회로(500)로부터 제공되는 제어 신호(CTRL)에 기초하여 기입 동작 및 독출 동작을 수행한다. 입출력 회로(300)는 상기 기입 모드의 프로그램 동작에서 외부로부터 제공되는 기입 데이터를 로딩하고 기입 데이터에 따라서 프로그램 허용 전압 또는 프로그램 금지 전압을 각각의 비트 라인에 인가하며, 프로그램 동작이 수행된 후에는 프로그램이 성공적으로 수행되었는지를 판단하기 위한 검증 동작을 수행할 수 있다. 입출력 회로(300)는 상기 독출 모드에서 각 비트 라인의 전압을 감지하여 독출 데이터를 출력한다. 입출력 회로(300)가 기입 동작을 수행하는 경우 프리 프로그램 동작과 메인 프로그램을 수행하여 메모리 셀 어레이(100)에 멀티 비트 데이터를 프로그램할 수 있다. 이 경우에, 프리 프로그램을 수행하기 위하여 선택된 워드 라인에 프리 프로그램 펄스(Vppls)를 인가하면서 프로그램하고자 하는 중간 상태에 따른 비트 라인 강제 전압들을 멀티 비트 셀들에 인가할 수 있다.
제어 회로(500)는 비휘발성 메모리 장치(10)의 전반적인 동작을 제어하기 위한 제어 신호(CTRL) 및 전압 발생기(600)의 동작을 제어하기 위한 전압 제어 신호(VCTRL)를 발생한다. 예를 들어, 전압 제어 신호(VCTRL)는 멀티-레벨 셀들에 프리 프로그램을 수행할 때, 멀티 레벨 셀들에 인가되는 프리 프로그램 펄스와 비트 라인 강제 전압을 제어하기 위한 정보를 포함할 수 있다. 실시예에 따라서, 제어 회로(500)는 비휘발성 메모리 장치(10)의 내부 또는 외부에 위치할 수 있다.
전압 발생기(600)는 전압 제어 신호(VCTRL)에 응답하여 워드 라인 전압(VWL) 및 비트 라인 전압(VBL)을 발생한다. 로우 디코더(700)에 제공되는 워드 라인 전압(VWL)은 각 동작 모드에 따른 프로그램 전압(Vpgm) 프리 프로그램 펄스(Vppls), 검증 전압, 독출 전압 및 소거 전압 등을 포함할 수 있다. 입출력 회로(300)에 제공되는 비트 라인 전압(VBL)은 비트라인 강제 전압, 프로그램 허용 전압, 프로그램 금지 전압 및 프리차지 전압 등을 포함할 수 있다.
도 12는 본 발명의 일 실시예에 따라 도 11의 메모리 셀 어레이의 일예를 나타낸다.
도 12를 참조하면, 메모리 셀 어레이(100a)는 스트링 선택 트랜지스터(SST)들, 접지 선택 트랜지스터(GST)들 및 메모리 셀(MC1)들을 포함할 수 있다. 스트링 선택 트랜지스터(SST)들은 비트 라인들(BL(1), ..., BL(m))에 연결되고, 접지 선택 트랜지스터(GST)들은 공통 소스 라인(CSL)에 연결될 수 있다. 동일한 열에 배열된 메모리 셀(MC1)들은 비트 라인들(BL(1), ..., BL(m)) 중 하나와 공통 소스 라인(CSL) 사이에 직렬로 배치될 수 있으며, 동일한 행에 배열된 메모리 셀(MC1)들은 워드 라인들(WL(1), WL(2), WL(3), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 즉, 스트링 선택 트랜지스터(SST)들과 접지 선택 트랜지스터(GST)들 사이에 메모리 셀(MC1)들이 직렬로 연결될 수 있으며, 스트링 선택 라인(SSL)과 접지 선택 라인(GSL) 사이에는 16개, 32개 또는 64개의 복수의 워드 라인들이 배열될 수 있다.
스트링 선택 트랜지스터(SST)들은 스트링 선택 라인(SSL)에 연결되어, 스트링 선택 라인(SSL)으로부터 인가되는 전압의 레벨에 따라 제어될 수 있고, 접지 선택 트랜지스터(GST)들은 접지 선택 라인(GSL)에 연결되어, 접지 선택 라인(GSL)으로부터 인가되는 전압의 레벨에 따라 제어될 수 있다. 메모리 셀(MC1)들은 워드 라인들(WL(1), ..., WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.
낸드 플래시 메모리 장치는 페이지(110a) 단위로 기입 동작 및 독출 동작을 수행하며, 블록(120a) 단위로 소거 동작을 수행한다. 상술한 바와 같이, 낸드 플래시 메모리 장치에서는 각 페이지(110a)마다 적어도 하나의 플래그 셀이 할당될 수 있다.
한편, 실시예에 따라서, 페이지 버퍼(도 11의 PB)들은 각각 짝수 비트 라인과 홀수 비트 라인이 하나씩 연결될 수 있다. 이 경우, 짝수 비트 라인들은 짝수 페이지를 형성하고, 홀수 비트 라인들은 홀수 페이지를 형성하며, 메모리 셀(MC1)들에 대한 기입 동작은 짝수 페이지와 홀수 페이지가 번갈아가며 순차적으로 수행될 수 있다.
도 13은 본 발명의 일 실시예에 따라 도 11의 비휘발성 메모리 장치의 메모리 셀 어레이의 일 예를 나타낸다.
도 13을 참조하면, 메모리 셀 어레이(100b)는 수직 구조를 가지는 복수의 스트링(130b)들을 포함할 수 있다. 스트링(130b)은 제2 방향을 따라 복수 개로 형성되어 스트링 열을 형성할 수 있으며, 상기 스트링 열은 제3 방향을 따라 복수 개로 형성되어 스트링 어레이를 형성할 수 있다. 복수의 스트링(130b)들은 비트 라인들(BL(1), ..., BL(m))과 공통 소스 라인(CSL) 사이에 제1 방향을 따라 직렬로 배치되는 접지 선택 트랜지스터(GSTV)들, 메모리 셀(MC2)들 및 스트링 선택 트랜지스터(SSTV)들을 각각 포함할 수 있다.
접지 선택 트랜지스터(GSTV)들은 접지 선택 라인들(GSL11, GSL12, ..., GSLi1, GSLi2)에 각각 연결되고, 스트링 선택 트랜지스터(SSTV)들은 스트링 선택 라인들(SSL11, SSL12, ..., SSLi1, SSLi2)에 각각 연결될 수 있다. 동일한 층에 배열되는 메모리 셀(MC2)들은 워드 라인들(WL(1), WL(2), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 접지 선택 라인들(GSL11, ..., GSLi2) 및 스트링 선택 라인들(SSL11, ..., SSLi2)은 상기 제2 방향으로 연장되며 상기 제3 방향을 따라 복수 개로 형성될 수 있다. 워드 라인들(WL(1), ..., WL(n))은 상기 제2 방향으로 연장되며 상기 제1 방향 및 상기 제3 방향을 따라 복수 개로 형성될 수 있다. 비트 라인들(BL(1), ..., BL(m))은 상기 제3 방향으로 연장되며 상기 제2 방향을 따라 복수 개로 형성될 수 있다. 메모리 셀(MC2)들은 워드 라인들(WL(1), ..., WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.
도 13의 메모리 셀 어레이(100b)를 포함하는 수직형 플래시 메모리 장치는 낸드 플래시 메모리 셀들을 포함하므로, 일반적인 낸드 플래시 메모리 장치와 마찬가지로 페이지 단위로 기입 동작 및 독출 동작을 수행하며, 블록 단위로 소거 동작을 수행한다.
실시예에 따라서, 하나의 스트링(130b)에 포함되는 두 개의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 연결되고 하나의 스트링에 포함되는 두 개의 접지 선택 트랜지스터들은 하나의 접지 선택 라인에 연결되도록 구현될 수도 있다. 또한, 실시예에 따라서, 하나의 스트링은 하나의 스트링 선택 트랜지스터 및 하나의 접지 선택 트랜지스터를 포함하여 구현될 수도 있다.
도 14는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치에서 온칩 버퍼드 프로그램이 수행되는 것을 설명하기 위한 도면이다.
도 14에서는 설명의 편의상 메모리 셀 어레이(100c)와 도 11의 입출력 회로(300)에 포함될 수 있는 페이저 버퍼부(310)를 도시한다. 페이지 버퍼부(310)는 도 11의 페이지 버퍼들(PB)을 포함할 수 있다.
도 14를 참조하면, 메모리 셀 어레이(100c)는 적어도 하나의 싱글 레벨 셀 블록(SLC BLOCK, 150)과 적어도 하나의 멀티 레벨 셀 블록(MLC BLOCK, 160)을 포함할 수 있다. 멀티-레벨 셀 블록(160)은 워드라인들 및 비트라인들에 연결된 멀티-레벨 셀들을 포함할 수 있다. 상기 멀티-레벨 셀들 각각은 2 비트 이상을 가지는 멀티-비트 데이터를 저장할 수 있다. 싱글 레벨 셀 블록(150)은 외부로부터 제공되는 멀티-비트 데이터(151)를 저장할 수 있다. 싱글 레벨 셀 블록(150)은 고속으로 동작하고 저집적도로 제조되는 블록으로서, 싱글 레벨 셀들을 포함하여 하나의 메모리 셀당 하나의 비트를 저장하게 할 수 있다. 반면에, 멀티-레벨 셀 블록(160)은 저속으로 동작하고 고집적도로 제조되는 블록으로서, 멀티 레벨 셀들을 포함하여 하나의 메모리 셀당 복수의 비트를 저장하게 할 수 있다.
온칩 버퍼드 프로그램 방식을 채용한 낸드 플래시 메모리 장치의 프로그램 동작에서는, 외부로부터 페이지 단위의 데이터들 즉, 페이지 데이터들(DATA)이 입력되면, 최소 프로그램 단위의 페이지 데이터들(DATA)은 페이지 버퍼부(310) 내의 페이지 버퍼들에 로딩(PTA)된 후, 메모리 셀 어레이(100c)의 싱글 레벨 셀 블록(150)으로 로딩(PTB)될 수 있다. 이 때, 최소 프로그램 단위는 요구되는 조건(예를 들어, 프로그램 방식, 셀당 비트 수 등)에 따라 다양하게 설정될 수 있다.
싱글 레벨 셀 블록(150)에 페이지 데이터들(DATA)이 로딩되면, 싱글 레벨 메모리 셀 블록(150)에 로딩된 페이지 데이터들(DATA)은 페이지 버퍼부(310) 내의 페이지 버퍼들에 로딩(PTC)될 수 있다. 이 때, 페이지 버퍼부 블록(310)의 최소 프로그램 단위는 싱글 레벨 셀 블록(150)의 최소 프로그램 단위보다 상대적으로 클 수 있다.
즉 도 14의 비휘발성 메모리 장치는 호스트로부터 메모리 컨트롤러를 통하여 제공된 멀티-비드 데이터를 적어도 하나의 싱글 레벨 셀 블록(150)에 프로그램하고, 적어도 하나의 싱글 레벨 셀 블록(150)에 저장된 상기 멀티-비트 데이터를 적어도 하나의 멀티-레벨 셀 블록(160)에 다시 프로그램할 수 있다. 즉, 도 14의 비휘발성 메모리 장치는 적어도 하나의 싱글 레벨 셀 블록(150)을 버퍼로서 활용하는 온-칩 버퍼드 프로그램(On-chip Buffered Program; OBP)을 수행할 수 있다.
도 15는 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 블록도이다.
도 15를 참조하면, 메모리 시스템(900)은 메모리 컨트롤러(910) 및 비휘발성 메모리 장치(920)를 포함한다.
비휘발성 메모리 장치(920)는 메모리 셀 어레이(921) 및 입출력 회로(922)를 포함한다. 입출력 회로(922)는 복수의 비트 라인들에 연결되고, 메모리 셀 어레이(921)에 프로그램될 기입 데이터를 저장하거나 혹은 메모리 셀 어레이(921)로부터 감지된 독출 데이터를 저장할 수 있으며, 복수의 페이지 버퍼들을 포함할 수 있다. 메모리 셀 어레이(921)는 복수의 워드 라인들과 상기 복수의 비트 라인들에 각각 연결되는 복수의 메모리 셀들을 포함할 수 있으며, 상기 복수의 메모리 셀들은 멀티-비트 데이터를 저장하는 복수의 멀티-레벨 셀들일 수 있다. 비휘발성 메모리 장치(920)는 프로그램 동작을 수행하는 경우에, 멀티 레벨 셀들을의 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 복수의 중간 상태들로 프로그램하는 프리 프로그램을 수행한뒤에 멀티 비트 데이터에 상응하는 프로그램 상태로 프로그램하는 메인 프로그램을 수행하고, 상기 프리 프로그램을 수행할 때 멀티 비트 셀들에 프리 프로그램 펄스를 인가하면서 상기 중간 상태들에 따라서 멀티 비트 셀들의 비트 라인에 비트 라인 강제 전압들을 인가할 수 있다.
메모리 컨트롤러(910)는 비휘발성 메모리 장치(920)를 제어한다. 메모리 컨트롤러(910)는 외부의 호스트(미도시)와 비휘발성 메모리 장치(920) 사이의 데이터 교환을 제어할 수 있다. 메모리 컨트롤러(910)는 중앙 처리 장치(911), 버퍼 메모리(912), 호스트 인터페이스(913) 및 메모리 인터페이스(914)를 포함할 수 있다. 중앙 처리 장치(911)는 상기 데이터 교환을 위한 동작을 수행할 수 있다. 버퍼 메모리(912)는 DRAM(Dynamic random access memory), SRAM(Static random access memory), FRAM(Ferroelectric random access memory), PRAM, RRAM, 또는 MRAM으로 구현될 수 있다. 실시예에 따라서, 버퍼 메모리(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) 및 비휘발성 메모리 장치(920) 각각 별도의 칩으로 구현될 수 있다.
메모리 시스템(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) 등과 같은 패키지를 이용하여 구현될 수 있다.
도 16는 본 발명의 실시예들에 따른 메모리 시스템이 메모리 카드에 응용된 예를 나타내는 도면이다.
도 16를 참조하면, 메모리 카드(1000)는 복수의 접속 핀들(1010), 메모리 컨트롤러(1020) 및 비휘발성 메모리 장치(1030)를 포함한다.
호스트(미도시)와 메모리 카드(1000) 사이의 신호들이 송수신되도록 복수의 접속 핀들(1010)은 상기 호스트에 연결될 수 있다. 복수의 접속 핀들(1010)은 클록 핀, 커맨드 핀, 데이터 핀 및/또는 리셋 핀을 포함할 수 있다.
메모리 컨트롤러(1020)는, 상기 호스트로부터 데이터를 수신하고, 상기 수신된 데이터를 비휘발성 메모리 장치(1030)에 저장할 수 있다.
비휘발성 메모리 장치(1030)는 멀티-레벨 셀들을 포함한다. 비휘발성 메모리 장치(1030)는 프로그램 동작을 수행하는 경우에, 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 복수의 중간 상태들로 프로그램하는 프리 프로그램을 수행한뒤에 멀티 비트 데이터에 상응하는 프로그램 상태로 프로그램하는 메인 프로그램을 수행하고, 상기 프리 프로그램을 수행할 때 멀티 비트 셀들에 프리 프로그램 펄스를 인가하면서 상기 중간 상태들에 따라서 멀티 비트 셀들의 비트 라인에 비트 라인 강제 전압들을 인가할 수 있다.
예를 들어, 메모리 카드(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) 등과 같은 호스트에 장착될 수 있다.
도 17은 본 발명의 실시예들에 따른 메모리 시스템이 솔리드 스테이트 드라이브에 응용된 예를 나타내는 도면이다.
도 17을 참조하면, 솔리드 스테이트 드라이브(Solid State Drive; SSD, 1100)는 메모리 컨트롤러(1110) 및 복수의 비휘발성 메모리 장치들(1120)을 포함한다.
메모리 컨트롤러(1110)는, 호스트(미도시)로부터 데이터를 수신하고, 상기 수신된 데이터를 복수의 비휘발성 메모리 장치들(1120)에 저장할 수 있다.
복수의 비휘발성 메모리 장치들(1120)은 멀티-레벨 셀들을 포함한다. 복수의 비휘발성 메모리 장치들(1120)은 프로그램 동작을 수행하는 경우에, 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 복수의 중간 상태들로 프로그램하는 프리 프로그램을 수행한뒤에 멀티 비트 데이터에 상응하는 프로그램 상태로 프로그램하는 메인 프로그램을 수행하고, 상기 프리 프로그램을 수행할 때 멀티 비트 셀들에 프리 프로그램 펄스를 인가하면서 상기 중간 상태들에 따라서 멀티 비트 셀들의 비트 라인에 비트 라인 강제 전압들을 인가할 수 있다.
실시예에 따라서, 솔리드 스테이트 드라이브(1100)는 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 호스트에 장착될 수 있다.
도 18은 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 18을 참조하면, 컴퓨팅 시스템(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)은 외부 장치와 무선으로 데이터를 송수신할 수 있다.
메모리 시스템(900)은 도 15의 메모리 시스템(900)일 수 있으며, 메모리 컨트롤러(910) 및 비휘발성 메모리 장치(920)를 포함할 수 있다. 비휘발성 메모리 장치(920)에는 프로세서(1210)에 의해 처리된 데이터 또는 모뎀(1240)을 통하여 수신된 데이터 등이 메모리 컨트롤러(910)를 통해 저장될 수 있다. 컴퓨팅 시스템(1200)은 동작 전압을 공급하기 위한 파워 서플라이를 더 포함할 수 있다. 또한, 컴퓨팅 시스템(1200)은, 실시예에 따라서, 응용 칩셋(application chipset), 카메라 이미지 프로세서(camera image processor, CIS) 등을 더 포함할 수 있다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
도 19를 참조하면, 컴퓨팅 시스템(1300)은 프로세서(1310), 입출력 허브(1320), 입출력 컨트롤러 허브(1330), 적어도 하나의 메모리 모듈(1340) 및 그래픽 카드(1350)를 포함한다. 실시예에 따라, 컴퓨팅 시스템(1300)은 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(portable game console), 네비게이션(Navigation) 시스템 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
프로세서(1310)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(1310)는 마이크로프로세서 또는 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 실시예에 따라서, 프로세서(1310)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(1310)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 도 22에는 하나의 프로세서(1310)를 포함하는 컴퓨팅 시스템(1300)이 도시되어 있으나, 실시예에 따라서, 컴퓨팅 시스템(1300)은 복수의 프로세서들을 포함할 수 있다. 또한, 실시예에 따라서, 프로세서(1310)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
프로세서(1310)는 메모리 모듈(1340)의 동작을 제어하는 메모리 컨트롤러(1311)를 포함할 수 있다. 프로세서(1310)에 포함된 메모리 컨트롤러(1311)는 집적 메모리 컨트롤러(Integrated Memory Controller; IMC)라 불릴 수 있다. 메모리 컨트롤러(1311)와 메모리 모듈(1340) 사이의 메모리 인터페이스는 복수의 신호선들을 포함하는 하나의 채널로 구현되거나, 복수의 채널들로 구현될 수 있다. 또한, 각 채널에는 하나 이상의 메모리 모듈(1340)이 연결될 수 있다. 실시예에 따라서, 메모리 컨트롤러(1311)는 입출력 허브(1320) 내에 위치할 수 있다. 메모리 컨트롤러(1311)를 포함하는 입출력 허브(1320)는 메모리 컨트롤러 허브(Memory Controller Hub; MCH)라 불릴 수 있다.
메모리 모듈(1340)은 메모리 컨트롤러(1311)로부터 제공된 데이터를 저장하는 복수의 비휘발성 메모리 장치들을 포함할 수 있다. 상기 비휘발성 메모리 장치들은 각각 멀티-레벨 셀들을 포함하고 프로그램 동작을 수행하는 경우에, 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 복수의 중간 상태들로 프로그램하는 프리 프로그램을 수행한뒤에 멀티 비트 데이터에 상응하는 프로그램 상태로 프로그램하는 메인 프로그램을 수행하고, 상기 프리 프로그램을 수행할 때 멀티 비트 셀들에 프리 프로그램 펄스를 인가하면서 상기 중간 상태들에 따라서 멀티 비트 셀들의 비트 라인에 비트 라인 강제 전압들을 인가할 수 있다.
입출력 허브(1320)는 그래픽 카드(1350)와 같은 장치들과 프로세서(1310) 사이의 데이터 전송을 관리할 수 있다. 입출력 허브(1320)는 다양한 방식의 인터페이스를 통하여 프로세서(1310)에 연결될 수 있다. 예를 들어, 입출력 허브(1320)와 프로세서(1310)는, 프론트 사이드 버스(Front Side Bus; FSB), 시스템 버스(System Bus), 하이퍼트랜스포트(HyperTransport), 라이트닝 데이터 트랜스포트(Lightning Data Transport; LDT), 퀵패스 인터커넥트(QuickPath Interconnect; QPI), 공통 시스템 인터페이스(Common System Interface; CSI) 등의 다양한 표준의 인터페이스로 연결될 수 있다. 도 22에는 하나의 입출력 허브(1320)를 포함하는 컴퓨팅 시스템(1300)이 도시되어 있으나, 실시예에 따라서, 컴퓨팅 시스템(1300)은 복수의 입출력 허브들을 포함할 수 있다.
입출력 허브(1320)는 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 허브(1320)는 가속 그래픽 포트(Accelerated Graphics Port; AGP) 인터페이스, 주변 구성요소 인터페이스-익스프레스(Peripheral Component Interface-Express; PCIe), 통신 스트리밍 구조(Communications Streaming Architecture; CSA) 인터페이스 등을 제공할 수 있다.
그래픽 카드(1350)는 AGP 또는 PCIe를 통하여 입출력 허브(1320)와 연결될 수 있다. 그래픽 카드(1350)는 영상을 표시하기 위한 디스플레이 장치(미도시)를 제어할 수 있다. 그래픽 카드(1350)는 이미지 데이터 처리를 위한 내부 프로세서 및 내부 반도체 메모리 장치를 포함할 수 있다. 실시예에 따라, 입출력 허브(1320)는, 입출력 허브(1320)의 외부에 위치한 그래픽 카드(1350)와 함께, 또는 그래픽 카드(1350) 대신에 입출력 허브(1320)의 내부에 그래픽 장치를 포함할 수 있다. 입출력 허브(1320)에 포함된 그래픽 장치는 집적 그래픽(Integrated Graphics)이라 불릴 수 있다. 또한, 메모리 컨트롤러 및 그래픽 장치를 포함하는 입출력 허브(1320)는 그래픽 및 메모리 컨트롤러 허브(Graphics and Memory Controller Hub; GMCH)라 불릴 수 있다.
입출력 컨트롤러 허브(1330)는 다양한 시스템 인터페이스들이 효율적으로 동작하도록 데이터 버퍼링 및 인터페이스 중재를 수행할 수 있다. 입출력 컨트롤러 허브(1330)는 내부 버스를 통하여 입출력 허브(1320)와 연결될 수 있다. 예를 들어, 입출력 허브(1320)와 입출력 컨트롤러 허브(1330)는 다이렉트 미디어 인터페이스(Direct Media Interface; DMI), 허브 인터페이스, 엔터프라이즈 사우스브릿지 인터페이스(Enterprise Southbridge Interface; ESI), PCIe 등을 통하여 연결될 수 있다.
입출력 컨트롤러 허브(1330)는 주변 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 컨트롤러 허브(1330)는 범용 직렬 버스(Universal Serial Bus; USB) 포트, 직렬 ATA(Serial Advanced Technology Attachment; SATA) 포트, 범용 입출력(General Purpose Input/Output; GPIO), 로우 핀 카운트(Low Pin Count; LPC) 버스, 직렬 주변 인터페이스(Serial Peripheral Interface; SPI), PCI, PCIe 등을 제공할 수 있다.
실시예에 따라서, 프로세서(1310), 입출력 허브(1320) 및 입출력 컨트롤러 허브(1330)는 각각 분리된 칩셋들 또는 집적 회로들로 구현되거나, 프로세서(1310), 입출력 허브(1320) 또는 입출력 컨트롤러 허브(1330) 중 2 이상의 구성요소들이 하나의 칩셋으로 구현될 수 있다.
본 발명은 멀티-레벨 셀을 포함하는 비휘발성 메모리 장치, 및 이를 이용하는 다양한 장치 및 시스템에 적용될 수 있다. 따라서, 본 발명은 비휘발성 메모리 장치를 구비하는 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 전자 기기에 확대 적용될 수 있을 것이다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에 있어서,
    상기 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도 일부가 부분적으로 중첩되는 문턱 전압 분포를 갖는 복수의 중간 상태들로 프로그램하는 프리 프로그램을 수행하는 단계; 및
    상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램을 수행하는 단계를 포함하고,
    상기 프리 프로그램은 상기 멀티 레벨 셀들에 프리 프로그램 펄스를 인가하면서 상기 멀티 레벨 셀들이 연결된 비트라인에 서로 다른 레벨의 비트 라인 강제 전압들을 인가하여 수행되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  2. 제1항에 있어서, 상기 복수의 중간 상태들은 적어도 제1 내지 제3 중간 상태들을 포함하고,
    상기 제1 중간 상태의 문턱 전압의 분포는 상기 소거 상태의 문턱 전압 분포와 동일하고, 상기 제2 중간 상태의 문턱 전압의 분포는 상기 제1 중간 상태의 문턱 전압의 분포보다 높고, 상기 제3 중간 상태의 문턱 전압 분포는 상기 제2 중간 상태의 문턱 전압의 분포보다 높은 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  3. 제2항에 있어서, 상기 소거 상태의 멀티 레벨 셀에는 전원전압 레벨의 인히빗 전압이 인가되고 상기 제1 중간 상태의 멀티 레벨 셀에는 상기 전원 전압 레벨의 제1 비트라인 강제 전압이 인가되고, 상기 제2 중간 상태의 멀티 레벨 셀에는 상기 전원전압 레벨과 접지 전압 레벨 사이의 제2 비트 라인 강제 전압이 인가되고, 상기 제2 중간 상태의 멀티 레벨 셀에는 상기 전원 전압 레벨과 상기 접지 전압 레벨 사이의 제3 비트 라인 강제 전압이 인가되고,
    상기 제2 비트 라인 강제 전압의 레벨은 상기 제3 비트 라인 강제 전압의 레벨 보다 높고,
    상기 프리 프로그램 펄스는 상기 멀티 레벨 셀들에 한번 인가되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  4. 제1항에 있어서, 상기 중간 상태들은 적어도 제1 내지 제7 중간 상태들을 포함하고,
    상기 프리 프로그램 펄스는 상기 멀티 레벨 셀들에 복수회 인가되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  5. 제4항에 있어서
    상기 프리 프로그램을 수행하는 단계는,
    상기 소거 상태 및 상기 제1 내지 제7 중간 상태들을 복수의 그룹들로 분할하는 단계; 및
    상기 복수의 그룹들 각각에 상기 프리 프로그램 펄스를 인가하면서, 상기 복수의 그룹들에 속한 멀티 레벨 셀들이 연결된 비트 라인들에 상기 비트 라인 강제 전압을 인가하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  6. 제5항에 있어서, 상기 제1 중간 상태의 문턱 전압 분포는 상기 소거 상태의 문턱 전압 분포와 동일하고, 상기 제1 내지 제7 중간 상태들 문턱 전압 분포는 점진적으로 높아지고, 상기 복수의 그룹들 각각에 인가되는 상기 프로그램 펄스의 레벨은 상기 복수의 그룹들 각각에 포함되는 멀티 레벨 셀들의 문턱 전압 분포에 따라 증가하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  7. 제6항에 있어서, 상기 복수의 그룹들 각각에 속하는 멀티 레벨 셀들중 상기 소거 상태와 상기 제1 중간 상태의 멀티 레벨 셀들을 제외한 멀티 레벨 셀들의 비트라인들에는 상기 각각의 문턱 전압 분포에 반비례하며 전원 전압 레벨과 접지 전압 레벨 사이의 비트 라인 강제 전압들이 인가되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  8. 제5항에 있어서, 상기 복수의 그룹들 중 어느 하나의 그룹에 상기 프리 프로그램 펄스가 인가되는 동안에 다른 그룹의 멀티 레벨 셀들에 연결된 비트라인들에는 전원 전압 레벨의 인히빗(inhibit) 전압이 인가되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  9. 제1항에 있어서, 상기 프리 프로그램을 수행하는 단계는,
    상기 복수의 중간 상태들 중 적어도 두 개의 상태를 선택하는 단계; 및
    상기 선택된 적어도 두 개의 중간 상태를 가지는 멀티 레벨 셀에 프리 프로그램 펄스를 인가하면서, 상기 선택된 적어도 두 개의 중간 상태를 가지는 멀티 레벨 셀들이 연결된 비트라인들에 비트라인 강제 전압들을 인가하는 단계를 포함하고,
    상기 비트라인 강제 전압들은 상기 프로그램 상태에 따른 레벨을 가지며, 상기 프리 프로그램 펄스는 상기 멀티 레벨 셀들에 적어도 한번 인가되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  10. 멀티 비트 데이터를 저장하는 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에 있어서,
    상기 멀티 레벨 셀들 중 적어도 일부를 소거 상태와 구분되며 적어도일부가 부분적으로 중첩되는 중간 상태들로 프로그램하는 제1 프리 프로그램을 수행하는 단계;
    상기 멀티 레벨 셀들에 중간 검증 전압들을 인가하여 상기 중간 상태들을 확인하는 단계;
    상기 확인된 중간 상태에 기초하여 상기 멀티 레벨 셀들에 선택적으로 제2 프리 프로그램을 수행하는 단계; 및
    상기 멀티 레벨 셀들을 상기 멀티 비트 데이터에 상응하는 프로그램 상태들로 프로그램하는 메인 프로그램을 수행하는 단계를 포함하는 비휘발성 메모리 장치의 프로그램 방법.
KR1020120048910A 2012-05-09 2012-05-09 비휘발성 메모리 장치의 프로그래밍 방법 KR101927212B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120048910A KR101927212B1 (ko) 2012-05-09 2012-05-09 비휘발성 메모리 장치의 프로그래밍 방법
US13/755,448 US8854879B2 (en) 2012-05-09 2013-01-31 Method of programming a nonvolatile memory device and nonvolatile memory device performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120048910A KR101927212B1 (ko) 2012-05-09 2012-05-09 비휘발성 메모리 장치의 프로그래밍 방법

Publications (2)

Publication Number Publication Date
KR20130125426A KR20130125426A (ko) 2013-11-19
KR101927212B1 true KR101927212B1 (ko) 2019-03-07

Family

ID=49548488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120048910A KR101927212B1 (ko) 2012-05-09 2012-05-09 비휘발성 메모리 장치의 프로그래밍 방법

Country Status (2)

Country Link
US (1) US8854879B2 (ko)
KR (1) KR101927212B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140198576A1 (en) * 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
KR102106866B1 (ko) * 2013-01-29 2020-05-06 삼성전자주식회사 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법
JP6179206B2 (ja) * 2013-06-11 2017-08-16 株式会社リコー メモリ制御装置
JP2015053098A (ja) * 2013-09-09 2015-03-19 株式会社東芝 不揮発性半導体記憶装置
US9218885B2 (en) 2014-02-17 2015-12-22 Seagate Technology Llc System to control a width of a programming threshold voltage distribution width when writing hot-read data
US9569117B2 (en) * 2014-03-11 2017-02-14 Kabushiki Kaisha Toshiba Memory system controlling interleaving write to memory chips
CN103984147A (zh) * 2014-05-04 2014-08-13 深圳市华星光电技术有限公司 阵列面板及其制作方法
US9177662B1 (en) * 2014-09-10 2015-11-03 Macronix Internaitonal Co., Ltd. Pre-reading method and programming method for 3D NAND flash memory
US9595317B2 (en) * 2015-05-28 2017-03-14 Sandisk Technologies Llc Multi-state programming for non-volatile memory
KR102309841B1 (ko) * 2015-08-24 2021-10-12 삼성전자주식회사 표면 실장 기술의 적용에 따른 메모리 셀의 문턱 전압 산포 변화 복구 기능을 갖는 데이터 스토리지 및 그것의 동작 방법
KR102396734B1 (ko) * 2015-11-23 2022-05-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102498248B1 (ko) * 2016-02-04 2023-02-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10381094B2 (en) 2016-10-11 2019-08-13 Macronix International Co., Ltd. 3D memory with staged-level multibit programming
US10360973B2 (en) * 2016-12-23 2019-07-23 Western Digital Technologies, Inc. Data mapping enabling fast read multi-level 3D NAND to improve lifetime capacity
KR20190000562A (ko) * 2017-06-23 2019-01-03 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
JP2019057345A (ja) * 2017-09-20 2019-04-11 東芝メモリ株式会社 半導体記憶装置
KR102401061B1 (ko) * 2017-12-26 2022-05-24 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US11334547B2 (en) * 2018-08-20 2022-05-17 Koninklijke Philips N.V. Data-oblivious copying from a first array to a second array
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
US20230041949A1 (en) * 2021-08-05 2023-02-09 Macronix International Co., Ltd. Programming memory devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100037032A1 (en) 2008-08-11 2010-02-11 Spansion Llc Multi-Level Storage Algorithm To Emphasize Disturb Conditions
US9792071B2 (en) 2014-12-22 2017-10-17 Sandisk Technologies Llc End of life prediction to reduce retention triggered operations

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3708912B2 (ja) * 2001-09-12 2005-10-19 株式会社東芝 半導体集積回路装置
US7986553B2 (en) 2007-06-15 2011-07-26 Micron Technology, Inc. Programming of a solid state memory utilizing analog communication of bit patterns
US8064252B2 (en) 2008-11-21 2011-11-22 Micron Technology, Inc. Multi-pass programming in a memory device
KR20100107294A (ko) * 2009-03-25 2010-10-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR101572830B1 (ko) 2009-06-22 2015-11-30 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
KR101554727B1 (ko) 2009-07-13 2015-09-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101634340B1 (ko) 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
KR101798013B1 (ko) * 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US8811091B2 (en) * 2011-12-16 2014-08-19 SanDisk Technologies, Inc. Non-volatile memory and method with improved first pass programming

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100037032A1 (en) 2008-08-11 2010-02-11 Spansion Llc Multi-Level Storage Algorithm To Emphasize Disturb Conditions
US9792071B2 (en) 2014-12-22 2017-10-17 Sandisk Technologies Llc End of life prediction to reduce retention triggered operations

Also Published As

Publication number Publication date
US20130301352A1 (en) 2013-11-14
US8854879B2 (en) 2014-10-07
KR20130125426A (ko) 2013-11-19

Similar Documents

Publication Publication Date Title
KR101927212B1 (ko) 비휘발성 메모리 장치의 프로그래밍 방법
CN106157999B (zh) 包括虚设存储单元的半导体存储器件及其操作方法
JP5829837B2 (ja) ダイナミック検証モード選択を有する不揮発性メモリー装置とその動作方法、駆動方法、並びにプログラミング方法、メモリーシステム、メモリーカード及びソリッドステートドライバー
US8391062B2 (en) Nonvolatile memory device and related method of programming
KR102090589B1 (ko) 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법
US9281068B2 (en) Nonvolatile memory and related reprogramming method
US8385120B2 (en) Method of programming a nonvolatile memory device
CN107369470B (zh) 存储设备的编程方法和使用其的存储系统
US9818477B2 (en) Methods of programming memory cells in non-volatile memory devices
CN111258793B (zh) 存储器控制器及其操作方法
US8611150B2 (en) Flash memory device including flag cells and method of programming the same
KR20120076787A (ko) 비휘발성 메모리 장치의 프로그램 방법
KR20130028589A (ko) 비휘발성 메모리 장치, 그 데이터 판독 방법 및 기록 매체
US10268575B2 (en) Nonvolatile memory device and memory system including the same
KR20100004767A (ko) 공통 소스 라인의 노이즈를 줄이는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템
KR20210027783A (ko) 저장 장치 및 그 동작 방법
KR20150010381A (ko) 비휘발성 메모리 장치 및 그 프로그램 방법
KR20210024912A (ko) 저장 장치 및 그 동작 방법
KR20150068137A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR101878455B1 (ko) 비휘발성 메모리 장치의 데이터 독출 방법 및 구동 방법
KR102182804B1 (ko) 메모리 장치의 독출 방법
KR20130110290A (ko) 공유 비트 라인 구조를 가지는 비휘발성 메모리 장치의 프로그램 방법
US8848450B2 (en) Method and apparatus for adjusting maximum verify time in nonvolatile memory device
JP2023025687A (ja) メモリ装置およびその動作方法
US11817170B2 (en) Storage controller determining error count, method of operating the same, and method of operating storage device including the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant