KR20080113918A - 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법 - Google Patents

멀티 레벨 셀 플래시 메모리소자의 프로그램 방법 Download PDF

Info

Publication number
KR20080113918A
KR20080113918A KR1020070062954A KR20070062954A KR20080113918A KR 20080113918 A KR20080113918 A KR 20080113918A KR 1020070062954 A KR1020070062954 A KR 1020070062954A KR 20070062954 A KR20070062954 A KR 20070062954A KR 20080113918 A KR20080113918 A KR 20080113918A
Authority
KR
South Korea
Prior art keywords
program
programming
memory cell
cell
level
Prior art date
Application number
KR1020070062954A
Other languages
English (en)
Other versions
KR100877104B1 (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 KR1020070062954A priority Critical patent/KR100877104B1/ko
Priority to US11/966,451 priority patent/US7701768B2/en
Publication of KR20080113918A publication Critical patent/KR20080113918A/ko
Application granted granted Critical
Publication of KR100877104B1 publication Critical patent/KR100877104B1/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
    • 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
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

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

Abstract

프로그램 동작시 인접 셀의 상호간섭을 최소화하여 균일하고 좁은 문턱전압 분포를 갖도록 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법은, 셀 당 최소 2비트가 저장되는 플래시 메모리소자를 프로그램 방법에 있어서, 프로그램할 메모리 셀 중 대부분의 메모리 셀이 포지티브(positive)의 문턱전압을 갖도록 보조 프로그램을 수행하는 단계와, 메모리 셀의 하위비트를 소정 레벨로 프로그램하는 단계와, 프로그램된 하위비트의 데이터를 감지하는 단계, 및 감지된 하위비트의 데이터에 따라 메모리 셀의 상위비트를 적정 레벨로 프로그램하는 단계를 포함한다.
멀티 레벨 셀, ISPP, 하위비트, 상위비트, 간섭, 보조 프로그램

Description

멀티 레벨 셀 플래시 메모리소자의 프로그램 방법{Method for programming multi-level cell flash memory device}
도 1은 2(bit) MLC 구조의 낸드 플래시 메모리소자의 문턱전압 분포를 나타낸 도면이다.
도 2a 내지 도 2d는 종래의 멀티 레벨 셀을 갖는 플래시 메모리소자의 프로그램 과정에서의 문턱전압의 분포를 나타낸 도면이다.
도 3은 본 발명에 따른 멀티 레벨 셀을 갖는 플래시 메모리소자의 프로그램 방법을 설명하기 위한 도면으로, LSB 프로그램 과정의 흐름도이다.
도 4a 내지 도 4d는 본 발명의 LSB 프로그램 과정 중의 메모리 셀의 문턱전압 분포를 나타낸 도면이다.
도 5는 본 발명에 의한 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법 중 상위비트(MSB)를 프로그램하는 과정의 흐름도이다.
도 6a 및 도 6b는 본 발명에 의한 멀티 레벨 셀 플래시 메모리소자의 하위비트(LSB)를 프로그램 과정 중의 메모리 셀의 문턱전압 분포를 나타낸 도면이다.
도 7은 본 발명의 다른 실시예에 따른 멀티 레벨 셀 플래시 메모리소자의 하위비트(LSB)를 프로그램하는 과정의 흐름도이다.
도 8a 및 도 8b는 도 7의 하위비트(LSB) 프로그램 과정에서의 메모리 셀의 문턱전압 분포를 나타낸 도면이다.
도 9는 본 발명의 다른 실시예에 따른 MLC 플래시 메모리소자의 상위비트(MSB)를 프로그램하는 과정의 흐름도이다.
도 10은 도 9의 상위비트(MSB) 프로그램 과정에서의 메모리 셀의 문턱전압 분포를 나타낸 도면이다.
본 발명은 플래시 메모리소자의 구동방법에 관한 것으로, 특히 멀티 레벨 셀을 구비하는 플래시 메모리소자의 프로그램 방법에 관한 것이다.
플래시 메모리소자는 전기적으로 프로그램(program) 및 소거(erase)가 가능한 비휘발성 메모리소자로서, MP3 플레이어, 디지털 카메라, 캠코더(camcoder), 노트북 컴퓨터, PDA, 셀룰러폰(cellular phone) 등의 휴대용 가전(portable electronics)과 컴퓨터 바이오스(BIOS), 프린터, USB 드라이브(drive) 등에 널리 사용된다.
플래시 메모리소자 중에서 특히 낸드(NAND) 플래시 메모리소자는 현재 데이터저장 매체로서 사용이 계속 증가하고 있으며, 그에 따라 대용량의 플래시 메모리소자가 요구되고 있다. 최근에는 보다 작은 칩 사이즈(chip size)에서 저장용량을 증가시키기 위하여, 하나의 메모리 셀에 2 비트(bit) 이상 복수개의 데이터를 저장할 수 있는 다중 비트 셀에 대한 연구가 활발히 진행되고 있다. 이러한 방식의 메 모리 셀은 통상 멀티 레벨 셀(Multi-Level Cell; MLC)이라고 한다. 멀티 레벨 셀은 하나의 메모리 셀이 프로그램/소거의 두 개의 상태(state)를 가지는 싱글 레벨 셀(Single Level Cell; SLC)과는 달리, 하나의 메모리 셀을 가지고 두 비트, 세 비트 그리고 네 비트 이상의 데이터를 나타낼 수 있으므로 SLC와 비교할 때 2배 이상의 메모리 용량을 구현할 수 있다. 멀티 레벨 셀은 통상 두 개 이상의 문턱전압 분포를 가지며, 이에 대응되는 두 개 이상의 데이터 저장상태를 가진다.
도 1은 셀 당 2(bit)가 저장되는 MLC 구조의 낸드 플래시 메모리소자의 문턱전압 분포와 그에 대응하는 데이터 값을 나타낸 도면이다.
도 1을 참조하면, 멀티 레벨 셀은 여러 개의 데이터 저장상태를 갖는데, 예컨대 2(bit)의 데이터를 프로그램할 수 있는 멀티 레벨 셀(MLC)의 경우, 도시된 바와 같이 네 개의 데이터 저장상태, 즉 [11], [01], [10] 및 [00]의 저장상태를 가진다. 이들의 분포는 각각 멀티 레벨 셀의 문턱전압 분포에 대응된다. 일반적으로, [11] 상태는 소거된 상태이며 나머지 [01], [10] 및 [00] 상태는 프로그램된 상태이다. MLC 소자의 프로그램은 소거상태인 [11]에서 시작된다. 소거된 상태의 문턱전압 분포(110)와 프로그램된 상태의 문턱전압 분포들(120, 130, 140)은 제1 읽기전압(R1)(일반적으로 0V)에 의해 구별된다. 프로그램된 상태의 문턱전압 분포들(120, 130, 140)은 각각 제2 읽기전압(R2) 및 제3 읽기전압(R3)에 의해 구별된다. 이와 같이 MLC 소자의 경우, 프로그램된 상태의 문턱전압 분포들(120, 130, 140)이 모두 제1 읽기전압(R1)과 패스전압(Vpass) 사이에서 상호 이격되도록 배치되어야 하므로, 프로그램 후 문턱전압 분포의 폭을 최대한 좁게 형성하여야 한다.
플래시 메모리소자의 프로그램 동작은 파울러-노드하임 터널링(Fowler-Nordheim Tunneling)에 의해 이루어지는데, 선택된 메모리 셀의 워드라인에 소정의 프로그램 전압이 인가되도록 하고 비트라인으로는 접지전압이 인가되도록 한다. 선택되지 않은 메모리 셀의 프로그램을 방지하기 위해서는 비트라인으로 전원전압을 인가한다. 선택된 메모리 셀의 워드라인으로 프로그램 전압이, 그리고 비트라인으로 접지전압이 인가되면 메모리 셀의 플로팅 게이트와 채널 사이에는 높은 전계(electric field)가 형성된다. 이러한 전계에 의해 채널의 전자들이 플로팅 게이트와 채널 사이의 터널산화막을 통과하는 터널링이 발생한다. 이와 같이 플로팅 게이트로의 전자들의 축적에 의해 메모리 셀의 문턱전압이 상승하게 된다.
도 2a 내지 도 2d는 종래의 멀티 레벨 셀(MLC) 플래시 메모리소자의 프로그램 과정에서의 메모리 셀의 문턱전압 분포를 나타낸 도면이다.
MLC 플래시 메모리소자의 프로그램 동작은 하위비트(LSB)를 먼저 프로그램한 다음 상위비트(MSB)를 프로그램하는 방식으로 이루어지는데 증감 스텝 펄스 프로그램(Incremental Step Pulse Program; ISPP) 방식을 사용한다.
도 2a를 참조하면, 네거티브 문턱전압을 갖는 [11] 상태의 메모리 셀의 하위비트(LSB)를 프로그램하여 제2 프로그램 레벨을 갖는 [10] 상태로 만든다.
도 2b는 [11] 상태의 메모리 셀을 [10] 상태로 프로그램한 후의 인접 셀의 상호간섭(interference)에 의해 문턱전압의 변동이 발생한 것을 나타낸 도면으로, 문턱전압 분포의 우측 테일(tail)이 이동하여 문턱전압 분포의 폭이 넓어졌음을 알 수 있다.
다음에, 도 2c와 같이, 제1 프로그램 레벨인 [01] 상태와 제3 프로그램 레벨인 [00] 상태로 프로그램하기 위해서, [11] 상태의 메모리 셀의 상위비트(MSB)를 프로그램하여 제1 프로그램 레벨의 [01] 상태로 만들고, [10] 상태의 메모리 셀의 상위비트(MSB)를 프로그램하여 제3 프로그램 레벨을 갖는 [00] 상태로 만든다.
도 2d는 상위비트(MSB)를 프로그램한 후의 인접 셀 간의 상호간섭에 의해 문턱전압 분포의 변동이 발생한 것을 나타낸 도면이다.
이와 같이, 멀티 레벨 셀을 갖는 플래시 메모리소자를 프로그램할 때 소거상태인 [11] 상태로부터 제1 프로그램 레벨인 [01] 상태로 프로그램할 때 인접 셀에 의한 상호간섭이 가장 크게 나타나 문턱전압 분포의 변동 폭이 가장 크게 나타난다. 그 이유는, 소거 상태인 [11]의 데이터 저장상태를 갖는 메모리 셀의 문턱전압은 네거티브(negative) 하기 때문에, 실제 메모리 셀의 문턱전압이 네거티브 영역의 어디에 위치하는지를 정확히 측정하기가 어렵기 때문이다. 따라서, 소거 상태인 [11] 상태에서 [01] 상태로 프로그램할 때 주변 셀에 미치는 바이어스 차가 가장 크게 된다. 이로 인해, 도 2d에 도시된 것과 같이, [10] 상태로 프로그램된 메모리 셀의 경우 문턱전압 분포와 읽기전압(R3) 사이에 마진(margin)이 거의 없기 때문에 읽기동작시 페일(fail)이 발생할 가능성이 높다.
따라서, 프로그램 후 메모리 셀이 균일하고 좁은 문턱전압 분포를 갖도록 하기 위해서는 소거 상태에서 [01] 상태로 프로그램할 때의 인접 셀에 미치는 바이어스 차를 가능한 작게 하여 인접 셀의 상호간섭을 최소화할 수 있는 프로그램 방법에 대한 연구가 필요한 실정이다.
본 발명이 이루고자 하는 기술적 과제는, 프로그램 동작시 인접 셀의 상호간섭을 최소화하여 균일하고 좁은 문턱전압 분포를 갖도록 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법을 제공하는 데 있다.
상기 기술적 과제를 달성하기 위하여 본 발명에 따른 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법은, 셀 당 최소 2비트가 저장되는 플래시 메모리소자를 프로그램 방법에 있어서, 프로그램할 메모리 셀 중 대부분의 메모리 셀이 포지티브(positive)의 문턱전압을 갖도록 보조 프로그램을 수행하는 단계와, 상기 메모리 셀의 하위비트를 소정 레벨로 프로그램하는 단계와, 상기 프로그램된 하위비트의 데이터를 감지하는 단계; 및 감지된 하위비트의 데이터에 따라 상기 메모리 셀의 상위비트를 적정 레벨로 프로그램하는 단계를 포함하는 것을 특징으로 한다.
상기 보조 프로그램을 수행하는 단계는, 선택된 블럭 내의 모든 메모리 셀에 소정 프로그램 전압을 인가하는 단계와, 상기 메모리 셀의 프로그램 상태를 검증하는 단계와, 상기 검증단계를 패스(pass)한 경우 보조 프로그램을 종료하고, 검증단계를 패스하지 못한 경우 소정의 스텝 전압씩 프로그램 전압을 증가시켜 재프로그램하는 단계로 이루어질 수 있다.
상기 검증단계에서, 상기 선택된 블럭 내의 메모리 셀 중 검증전압을 넘어선 메모리 셀이 하나라도 존재할 경우 검증단계를 패스(pass)한 것으로 판정할 수 있다.
상기 메모리 셀의 하위비트를 프로그램하는 단계 및 상위비트를 프로그램하는 단계는 증감스텝펄스프로그램(ISPP) 방식으로 수행될 수 있다.
그리고, 상기 보조 프로그램을 수행하는 단계 전에, 선택된 블록의 메모리 셀의 데이터를 소거하는 단계를 포함할 수 있다.
상기 메모리 셀의 상위비트를 프로그램하는 단계에서, 감지된 하위비트의 데이터에 따라 각각 서로 다른 시작 전압을 사용하여 프로그램할 수 있다.
본 발명에 따른 다른 프로그램 방법은, 셀 당 최소 2비트가 저장되는 플래시 메모리소자를 프로그램 방법에 있어서, 프로그램할 메모리 셀의 하위비트를 소정 레벨로 프로그램하는 단계와, 상기 메모리 셀 중 소거상태에서 제1 프로그램 레벨로 프로그램될 메모리 셀의 대부분이 포지티브(positive)의 문턱전압을 갖도록 보조 프로그램을 수행하는 단계와, 상기 메모리 셀의 하위비트의 데이터를 감지하는 단계, 및 감지된 하위비트의 데이터에 따라 상기 메모리 셀의 상위비트를 적정 레벨로 프로그램하는 단계를 포함하는 것을 특징으로 한다.
상기 보조 프로그램을 수행하는 단계는, 소거상태에서 제1 프로그램 레벨로 프로그램될 메모리 셀에 소정 프로그램 전압을 인가하는 단계와, 상기 메모리 셀의 프로그램 상태를 검증하는 단계와, 상기 검증단계를 패스(pass)한 경우 보조 프로그램을 종료하고, 검증단계를 패스하지 못한 경우 소정의 스텝 전압씩 프로그램 전압을 증가시켜 프로그램하는 단계로 이루어질 수 있다.
상기 검증단계에서, 상기 선택된 블럭 내의 메모리 셀 중 검증전압을 넘어선 메모리 셀이 하나라도 존재할 경우 검증단계를 패스(pass)한 것으로 판정할 수 있 다.
상기 메모리 셀의 하위비트를 프로그램하는 단계 및 상위비트를 프로그램하는 단계는 증감스텝펄스프로그램(ISPP) 방식으로 수행될 수 있다.
상기 메모리 셀의 상위비트를 프로그램하는 단계에서, 감지된 하위비트의 데이터에 따라 각각 서로 다른 시작 전압을 사용하여 프로그램할 수 있다.
상기 프로그램할 메모리 셀의 하위비트를 소정 레벨로 프로그램하기 전에, 선택된 블록의 메모리 셀을 소거하는 단계를 포함할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 그러나, 본 발명의 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시예들로 인해 한정되는 것으로 해석되어서는 안된다.
플래시 메모리소자의 프로그램 동작은, 선택된 메모리 셀 트랜지스터들의 플로팅 게이트에 전자들을 주입하는 프로그램 과정과, 프로그램된 메모리 셀 트랜지스터의 문턱전압이 원하는 적정 문턱전압에 도달했는지를 검증하는 프로그램 검증과정으로 이루어진다. 프로그램 동작은 미리 정해진 프로그램 반복 횟수의 범위 내에서 선택된 모든 메모리 셀들 각각에 대해 원하는 문턱전압 레벨에 도달할 때까지 반복적으로 수행된다.
멀티 레벨 셀 구조를 가능하게 하려면 각 프로그램 상태(status)의 문턱전압 분포의 폭을 균일하고도 가능한 좁게 만드는 것이 중요하다. 이를 위하여 본 발명 에 따른 프로그램 방법은, 통상의 소거 상태인 [11] 상태의 메모리 셀의 문턱전압을, 제어가능한 0V 이상에 올려놓은 후 메인(main) 프로그램을 시작함으로써 소거 상태로부터 프로그램할 때 주변 셀과의 바이어스의 차이를 줄여 주변 셀의 상호간섭 효과를 최소화하는 점에 그 특징이 있다.
본 발명에 따른 프로그램 동작은, 예를 들어 2비트의 데이터를 저장할 수 있는 MLC의 경우 하위비트(LSB)를 프로그램하는 과정과, 상위비트(MSB)를 프로그램하는 과정으로 나뉘어 진행된다. 하위비트(LSB)를 프로그램하는 과정은 소거 상태에서 하위비트(LSB)만 바뀌도록 프로그램하는 과정으로, 프로그램 후에 [10] 상태가 된다. 이때, 소거상태에서 [01] 상태로 프로그램할 때의 문턱전압의 변동 폭을 가능한 작게 하기 위하여, 소거상태인 메모리 셀의 네거티브 문턱전압을 0V 이상으로 올려놓는 과정을 수행한 후에 하위비트(LSB)에 대한 프로그램을 수행한다. 그리고, 상위비트(MSB)를 프로그램하는 과정은 상기 하위비트(LSB) 프로그램의 결과를 감지한 후, 그 결과에 따라 상위비트(MSB)의 프로그램을 수행하는 과정이다. 만약 하위비트(LSB) 프로그램 결과 '1'이 감지되었다면 데이터 저장상태는 [11]이므로 상위비트(MSB)를 '0'으로 프로그램하여 [01]의 상태가 되도록 하고, 하위비트(LSB) 프로그램 결과 '0'이 감지되었다면 데이터 저장상태는 [10]이므로 상위비트(MSB)를 '0'으로 프로그램하여 [00] 상태가 되도록 한다.
도 3은 본 발명에 따른 멀티 레벨 셀(MLC) 플래시 메모리소자의 프로그램 방법을 설명하기 위한 도면으로, 하위비트(LSB)를 프로그램하는 과정의 흐름도이다.
도 3을 참조하면, 하위비트(LSB) 프로그램 동작이 시작되면, 선택된 블록 내 의 모든 메모리 셀의 워드라인에 소정의 프로그램 전압을 인가하여 프로그램한다(단계 310). 이 단계는 하위비트(LSB)를 프로그램하기 전에, 프로그램할 때 주변 셀에 미치는 바이어스 차이를 최소화하기 위하여 [11] 상태의 메모리 셀의 문턱전압을 0V보다 큰 포지티브(positive) 값을 갖는 [11'] 상태로 만드는 과정이다. 이를 위하여, 선택된 블록 내의 모든 메모리 셀에 워드라인에 소정의 프로그램 전압을 인가하여 대부분의 메모리 셀의 문턱전압 분포의 우측 테일(tail)이 도 4a에 도시된 것과 같이 0V보다 큰 포지티브 값을 갖도록 프로그램한다.
프로그램 펄스를 인가한 후에는 선택된 블록 내의 메모리 셀들이 원하는 레벨로 프로그램되었는지를 검증하고(단계 320), 검증단계를 패스했는지를 판단한다(단계 330). 상기 검증 단계에서는 0V보다 큰 검증전압(PV1')이 사용된다. 상기 프로그램 단계(단계 310)는 대부분의 메모리 셀의 문턱전압을 0V 이상으로 올려놓기 위한 보조 프로그램단계이므로, 상기 검증결과 블록 내의 메모리 셀 중 하나의 메모리 셀이라도 검증전압(PV1')을 통과한 셀이 있으면 검증단계를 패스(pass)한 것으로, 검증전압(PV1')을 통과한 메모리 셀이 존재하지 않으면 패스하지 못한 것으로 판단한다.
상기 검증 단계를 패스(pass)하지 못하였다면 통상의 ISPP 방법을 따라 스텝전압만큼 프로그램 전압을 증가시켜가면서 프로그램하고 검증하는 과정을 반복한다.
메모리 셀이 원하는 레벨로 프로그램되어 상기 검증단계를 패스(pass)한 경우에는, 메모리 셀의 하위비트(LSB)에 대한 메인(main) 프로그램 동작을 수행한다. 먼저, 메모리 셀의 하위비트(LSB)를 프로그램하기 위한 데이터를 로딩하고(단계 340), 소정의 프로그램 펄스를 인가하여 프로그램한다(단계 350). 하위비트(LSB)를 프로그램한 후에는 메모리 셀이 적정한 레벨로 프로그램되었는지를 검증한다(단계 360, 370). 이 검증 단계에서는 제2 프로그램 레벨을 갖는 [10] 상태를 검증하기 위한 전압인 PV3'을 검증전압으로 사용한다. 검증결과 메모리 셀이 원하는 레벨로 프로그램되었다면 하위비트(LSB)를 프로그램하는 동작을 종료한다. 메모리 셀이 원하는 레벨로 프로그램되지 못했다면, 통상의 ISPP 방식에 따라 스텝 전압만큼 프로그램 전압을 증가시켜가며 원하는 레벨이 될 때까지 정해진 루프(loop) 범위 내에서 프로그램 및 검증과정을 반복한다.
도 4a 내지 도 4d는 본 발명의 하위비트(LSB) 프로그램 과정 중의 메모리 셀의 문턱전압 분포를 나타낸 도면이다.
도 4a는 소거된 상태에서 소정의 프로그램 전압을 인가하여 [11'] 상태로 만드는 과정의 메모리 셀의 문턱전압 분포를 나타낸 도면이고, 도 4b는 [11'] 상태에서의 인접 셀의 상호간섭에 의한 문턱전압 분포의 변동을 나타낸 도면이다.
도 4c는 보조프로그램 과정에 따라 [11']로 프로그램된 상태에서 하위비트(LSB)를 프로그램하는 과정의 문턱전압 분포를 나타낸 도면이고, 도 4d는 하위비트(LSB)를 프로그램한 후의 인접 셀에 의한 상호간섭의 영향으로 메모리 셀의 문턱전압이 변화된 것을 보여주는 도면이다.
종래의 경우와는 달리, [11'] 상태에서 [10] 상태로 프로그램될 때 인접 셀에 미치는 바이어스의 차이가 현저히 줄어들었기 때문에, 메모리 셀의 문턱전압 분 포의 변동이 감소하였음을 알 수 있다. 이와 같이, MLC 플래시 메모리소자의 프로그램 초기 단계에서, 하위비트(LSB)를 프로그램하기 전에 소거상태의 메모리 셀을 0V보다 큰 문턱전압을 갖는 [11']의 상태로 만든 후에 하위비트(LSB)를 프로그램함으로써 인접 셀에 의한 상호간섭의 영향을 감소시켜 셀의 문턱전압의 변동폭을 감소시킬 수 있다.
도 5는 본 발명에 의한 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법 중 상위비트(MSB)를 프로그램하는 과정의 흐름도이다.
도 5를 참조하면, 상위비트(MSB) 프로그램 과정이 시작되면, 하위비트(LSB)의 데이터를 읽기 위하여 데이터를 로딩한다(단계 510). 하위비트(LSB)의 데이터에 따라서 프로그램 전압을 다르게 설정하여야 하기 때문에, 로딩된 하위비트(LSB)의 데이터 값을 읽는다(단계 520). 이때, 제2 프로그램 레벨과 제3 프로그램 레벨을 구분하는 R3를 읽기전압으로 사용한다. 하위비트(LSB)의 데이터를 읽은 후에는 읽은 데이터의 결과에 따라 상위비트를 프로그램한다(단계 530). 하위비트의 데이터가 '0'이면 메모리 셀은 [10]의 상태이므로, 상위비트를 프로그램하여 [00] 상태가 되도록 프로그램한다. 하위비트의 데이터가 '1'인 경우에는 메모리 셀은 [11'] 상태이므로 상위비트를 프로그램하여 [01] 상태가 되도록 한다.
상위비트를 프로그램한 후에는 메모리 셀이 원하는 레벨로 프로그램되었는지 검증하는 검증단계를 수행한다(단계 540 내지 580). 이때, 프로그램하고자 하는 레벨에 따라 제1 내지 제4 검증전압(PV1 ∼ PV4)을 사용하여 검증한다.
모든 메모리 셀이 원하는 레벨로 프로그램된 경우에는 프로그램을 완료하고, 원하는 레벨로 프로그램되지 않았다면 하위비트(LSB)의 경우와 마찬가지로 통상의 ISPP 방식에 따라 일정 스텝 전압씩 프로그램 전압을 증가시켜가며 원하는 레벨이 될 때까지 정해진 루프(loop) 범위 내에서 프로그램 및 검증과정을 반복하여 수행한다.
도 6은 상위비트(MSB)를 프로그램 과정 중의 메모리 셀의 문턱전압 분포를 나타낸 도면이다.
도면에서 좌측은 하위비트의 데이터를 감지하여 [11] 상태의 메모리 셀의 상위비트를 프로그램하여 [01] 상태로 만드는 과정을 나타내고, 우측은 [10] 상태의 메모리 셀의 상위비트를 프로그램하여 [00] 상태로 만드는 과정을 나타낸다.
도 7은 본 발명의 다른 실시예에 따른 멀티 레벨 셀(MLC) 플래시 메모리소자의 프로그램 방법을 설명하기 위한 도면으로, 하위비트(LSB)를 프로그램하는 과정의 흐름도이다. 그리고, 도 8a 및 도 8b는 하위비트(LSB)를 프로그램하는 과정의 메모리 셀의 문턱전압 분포를 나타낸다. 본 실시예에서는, 네거티브 문턱전압을 갖는 [11] 상태에서 하위비트(LSB)를 ISPP 방식으로 프로그램한 다음에, 블럭 내의 모든 메모리 셀에 소정의 프로그램 전압을 인가하여 메모리 셀의 문턱전압을 일정 레벨 이상 올려놓는 보조 프로그램을 수행하는 방법을 제시한다. 즉, 하위비트(LSB)를 프로그램한 후 상위비트(MSB)를 프로그램하기 전에 보조 프로그램 동작을 수행하는 것이다.
도 7을 참조하면, 프로그램 동작이 시작되면 하위비트(LSB)를 프로그램하기 위하여 데이터를 로딩한 다음 소정 전압을 시작 바이어스로 하여 하위비트(LSB)를 프로그램한다(단계 710). 다음, 제3 검증전압(PV3')을 사용하여 프로그램된 메모리 셀의 상태를 검증하고 검증단계를 패스했는지를 판단한다(단계 720, 730).
검증단계를 패스하지 못한 경우 소정 크기의 스텝 전압만큼 프로그램 전압을 증가시켜가면서 검증단계를 패스할 때까지 하위비트(LSB)를 프로그램한다.
모든 메모리 셀이 일정 레벨로 프로그램되어 검증단계를 패스한 경우, 메모리 셀의 문턱전압을 상향시키기 위한 보조 프로그램을 수행하기 위하여 데이터를 로딩한다(단계 740). 데이터 로딩 후, [11] 상태에서 [01] 상태로 프로그램될 메모리 셀의 워드라인에 소정의 프로그램 전압을 인가한다(단계 750). PV1'를 검증전압으로 사용하여 메모리 셀의 프로그램 상태를 검증한다(단계 760, 770). 검증단계를 패스한 경우에는 프로그램을 완료하고, 패스하지 못한 경우에는 ISPP 방식에 따라 패스할 때까지 프로그램 및 검증을 반복한다.
도 9는 본 발명의 다른 실시예에 따른 MLC 플래시 메모리소자의 프로그램 방법을 설명하기 위한 도면으로, 상위비트(MSB)를 프로그램하는 과정의 흐름도이다.
상위비트(MSB) 프로그램 과정이 시작되면, 하위비트(LSB)의 데이터를 읽기 위하여 데이터를 로딩한다(단계 910). 하위비트(LSB)의 데이터에 따라서 프로그램 전압을 다르게 설정하여야 하기 때문에, 로딩된 하위비트(LSB)의 데이터 값을 읽는다(단계 920). 이때, 제2 프로그램 레벨과 제3 프로그램 레벨을 구분하는 R3를 읽기전압으로 사용한다. 하위비트(LSB)의 데이터를 읽은 후에는 읽은 데이터의 결과에 따라 상위비트를 프로그램한다(단계 930). 하위비트의 데이터가 '0'이면 메모리 셀은 [10]의 상태이므로, 상위비트를 프로그램하여 [00] 상태가 되도록 프로그램한 다. 하위비트의 데이터가 '1'인 경우에는 메모리 셀은 [11'] 상태이므로 상위비트를 프로그램하여 [01] 상태가 되도록 한다.
상위비트를 프로그램한 후에는 메모리 셀이 원하는 레벨로 프로그램되었는지 검증하는 검증단계를 수행한다(단계 940 내지 970). 이때, 프로그램하고자 하는 레벨에 따라 제1 내지 제4 검증전압(PV1 ∼ PV4)을 사용하여 검증한다.
검증결과에 따라 패스 여부를 판단하여(단계 980), 모든 메모리 셀이 원하는 레벨로 프로그램된 경우에는 프로그램을 완료하고, 원하는 레벨로 프로그램되지 않았다면 하위비트(LSB)의 경우와 마찬가지로 통상의 ISPP 방식에 따라 일정 스텝 전압씩 프로그램 전압을 증가시켜가며 원하는 레벨이 될 때까지 정해진 루프(loop) 범위 내에서 프로그램 및 검증과정을 반복하여 수행한다.
도 10은 상위비트(MSB) 프로그램 과정에서의 문턱전압 분포를 나타낸 도면이다.
도면에서 좌측은 하위비트의 데이터를 감지하여 [11] 상태의 메모리 셀의 상위비트를 프로그램하여 [01] 상태로 만드는 과정을 나타내고, 우측은 [10] 상태의 메모리 셀의 상위비트를 프로그램하여 [00] 상태로 만드는 과정을 나타낸다.
이와 같은 본 발명의 프로그램 방법은 상술한 2비트 소자뿐만 아니라 4비트 또는 그 이상의 멀티 레벨 셀(MLC) 플래시 소자에도 효과적으로 적용할 수 있다.
지금까지 설명한 바와 같이 본 발명에 의한 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법에 따르면, 프로그램 초기 단계에서 하위비트(LSB)를 프로그램하 기 전 또는 후에 소거상태의 메모리 셀을 포지티브(positive) 문턱전압을 갖도록 보조 프로그램 동작을 수행함으로써 인접 셀에 의한 상호간섭의 영향을 감소시켜 셀의 문턱전압의 변동폭을 감소시킬 수 있으며, 문턱전압 분포를 좁고 균일하게 만들 수 있다.
본 발명은 상기 실시예에 한정되지 않으며, 본 발명의 기술적 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형이 가능함은 당연하다.

Claims (12)

  1. 셀 당 최소 2비트가 저장되는 플래시 메모리소자를 프로그램 방법에 있어서,
    프로그램할 메모리 셀 중 대부분의 메모리 셀이 포지티브(positive)의 문턱전압을 갖도록 보조 프로그램을 수행하는 단계;
    상기 메모리 셀의 하위비트를 소정 레벨로 프로그램하는 단계;
    상기 프로그램된 하위비트의 데이터를 감지하는 단계; 및
    감지된 하위비트의 데이터에 따라 상기 메모리 셀의 상위비트를 적정 레벨로 프로그램하는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  2. 제1항에 있어서,
    상기 보조 프로그램을 수행하는 단계는,
    선택된 블럭 내의 모든 메모리 셀에 소정 프로그램 전압을 인가하는 단계와,
    상기 메모리 셀의 프로그램 상태를 검증하는 단계와,
    상기 검증단계를 패스(pass)한 경우 보조 프로그램을 종료하고, 검증단계를 패스하지 못한 경우 소정의 스텝 전압씩 프로그램 전압을 증가시켜 재프로그램하는 단계로 이루어지는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  3. 제2항에 있어서,
    상기 검증단계에서, 상기 선택된 블럭 내의 메모리 셀 중 검증전압을 넘어선 메모리 셀이 하나라도 존재할 경우 검증단계를 패스(pass)한 것으로 판정하는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  4. 제1항에 있어서,
    상기 메모리 셀의 하위비트를 프로그램하는 단계 및 상위비트를 프로그램하는 단계는 증감스텝펄스프로그램(ISPP) 방식으로 수행되는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  5. 제1항에 있어서,
    상기 보조 프로그램을 수행하는 단계 전에,
    선택된 블록의 메모리 셀의 데이터를 소거하는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  6. 제1항에 있어서,
    상기 메모리 셀의 상위비트를 프로그램하는 단계에서,
    감지된 하위비트의 데이터에 따라 각각 서로 다른 시작 전압을 사용하여 프로그램하는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  7. 셀 당 최소 2비트가 저장되는 플래시 메모리소자를 프로그램 방법에 있어서,
    프로그램할 메모리 셀의 하위비트를 소정 레벨로 프로그램하는 단계;
    상기 메모리 셀 중 소거상태에서 제1 프로그램 레벨로 프로그램될 메모리 셀의 대부분이 포지티브(positive)의 문턱전압을 갖도록 보조 프로그램을 수행하는 단계;
    상기 메모리 셀의 하위비트의 데이터를 감지하는 단계; 및
    감지된 하위비트의 데이터에 따라 상기 메모리 셀의 상위비트를 적정 레벨로 프로그램하는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  8. 제7항에 있어서,
    상기 보조 프로그램을 수행하는 단계는,
    소거상태에서 제1 프로그램 레벨로 프로그램될 메모리 셀에 소정 프로그램 전압을 인가하는 단계와,
    상기 메모리 셀의 프로그램 상태를 검증하는 단계와,
    상기 검증단계를 패스(pass)한 경우 보조 프로그램을 종료하고, 검증단계를 패스하지 못한 경우 소정의 스텝 전압씩 프로그램 전압을 증가시켜 프로그램하는 단계로 이루어지는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  9. 제8항에 있어서,
    상기 검증단계에서, 상기 선택된 블럭 내의 메모리 셀 중 검증전압을 넘어선 메모리 셀이 하나라도 존재할 경우 검증단계를 패스(pass)한 것으로 판정하는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  10. 제7항에 있어서,
    상기 메모리 셀의 하위비트를 프로그램하는 단계 및 상위비트를 프로그램하는 단계는 증감스텝펄스프로그램(ISPP) 방식으로 수행되는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  11. 제7항에 있어서,
    상기 메모리 셀의 상위비트를 프로그램하는 단계에서,
    감지된 하위비트의 데이터에 따라 각각 서로 다른 시작 전압을 사용하여 프로그램하는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
  12. 제7항에 있어서,
    상기 프로그램할 메모리 셀의 하위비트를 소정 레벨로 프로그램하기 전에,
    선택된 블록의 메모리 셀을 소거하는 단계를 포함하는 것을 특징으로 하는 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법.
KR1020070062954A 2007-06-26 2007-06-26 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법 KR100877104B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070062954A KR100877104B1 (ko) 2007-06-26 2007-06-26 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법
US11/966,451 US7701768B2 (en) 2007-06-26 2007-12-28 Method for programming multi-level cell flash memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070062954A KR100877104B1 (ko) 2007-06-26 2007-06-26 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20080113918A true KR20080113918A (ko) 2008-12-31
KR100877104B1 KR100877104B1 (ko) 2009-01-07

Family

ID=40160218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070062954A KR100877104B1 (ko) 2007-06-26 2007-06-26 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법

Country Status (2)

Country Link
US (1) US7701768B2 (ko)
KR (1) KR100877104B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101138101B1 (ko) * 2010-05-27 2012-04-24 에스케이하이닉스 주식회사 불휘발성 메모리 소자의 프로그램 방법
KR20140026150A (ko) * 2012-08-24 2014-03-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US8848450B2 (en) 2010-11-15 2014-09-30 Samsung Electronics Co., Ltd. Method and apparatus for adjusting maximum verify time in nonvolatile memory device
US10522219B2 (en) 2012-11-05 2019-12-31 SK Hynix Inc. Semiconductor memory device and method of programming multi bit data of the same

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102027455A (zh) 2008-05-13 2011-04-20 拉姆伯斯公司 用于存储器器件的分式编程命令
US8009471B2 (en) * 2009-12-15 2011-08-30 Seagate Technology Llc Low-wear writing in a solid state memory device
KR20120059035A (ko) 2010-11-30 2012-06-08 에스케이하이닉스 주식회사 반도체 메모리 장치의 프로그램 방법
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20130001442A (ko) * 2011-06-27 2013-01-04 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
CN103366811A (zh) * 2012-03-26 2013-10-23 中国科学院微电子研究所 多位半导体存储器的编程方法
KR102112596B1 (ko) 2013-03-15 2020-05-19 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그래밍 방법
KR20150018291A (ko) * 2013-08-09 2015-02-23 에스케이하이닉스 주식회사 메모리 시스템
KR102649347B1 (ko) 2016-10-11 2024-03-20 삼성전자주식회사 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법
KR101873655B1 (ko) * 2016-11-30 2018-07-02 엘에스산전 주식회사 모니터링 화면 표시 방법
US10380018B2 (en) 2017-04-04 2019-08-13 Micron Technology, Inc. Garbage collection
US10325668B2 (en) 2017-04-05 2019-06-18 Micron Technology, Inc. Operation of mixed mode blocks
US10452282B2 (en) 2017-04-07 2019-10-22 Micron Technology, Inc. Memory management

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100206696B1 (ko) 1995-12-21 1999-07-01 김광호 불휘발성 반도체 메모리의 프로그램 방법
JP3999900B2 (ja) * 1998-09-10 2007-10-31 株式会社東芝 不揮発性半導体メモリ
ITMI20022570A1 (it) * 2002-12-05 2004-06-06 Simicroelectronics S R L Metodo di programmazione di una memoria a semiconduttore non-volatile programmabile elettricamente
KR100512181B1 (ko) * 2003-07-11 2005-09-05 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
US7212436B2 (en) 2005-02-28 2007-05-01 Micron Technology, Inc. Multiple level programming in a non-volatile memory device
KR100764747B1 (ko) * 2006-09-15 2007-10-08 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101138101B1 (ko) * 2010-05-27 2012-04-24 에스케이하이닉스 주식회사 불휘발성 메모리 소자의 프로그램 방법
US8848450B2 (en) 2010-11-15 2014-09-30 Samsung Electronics Co., Ltd. Method and apparatus for adjusting maximum verify time in nonvolatile memory device
KR20140026150A (ko) * 2012-08-24 2014-03-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10522219B2 (en) 2012-11-05 2019-12-31 SK Hynix Inc. Semiconductor memory device and method of programming multi bit data of the same

Also Published As

Publication number Publication date
US7701768B2 (en) 2010-04-20
US20090003055A1 (en) 2009-01-01
KR100877104B1 (ko) 2009-01-07

Similar Documents

Publication Publication Date Title
KR100877104B1 (ko) 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법
KR100811274B1 (ko) 낸드형 플래쉬 메모리소자의 데이터 소거방법
US7339834B2 (en) Starting program voltage shift with cycling of non-volatile memory
US8958249B2 (en) Partitioned erase and erase verification in non-volatile memory
US9710325B2 (en) On chip dynamic read level scan and error detection for nonvolatile storage
JP4902002B1 (ja) 不揮発性半導体記憶装置
KR101076879B1 (ko) 셀프 부스팅을 이용한 플래시 메모리소자의 프로그램 방법
US6888758B1 (en) Programming non-volatile memory
US7447065B2 (en) Reducing read disturb for non-volatile storage
US7450433B2 (en) Word line compensation in non-volatile memory erase operations
KR100766241B1 (ko) 플래쉬 메모리 소자의 프로그램 방법
US7020017B2 (en) Variable programming of non-volatile memory
US7262994B2 (en) System for reducing read disturb for non-volatile storage
TWI391944B (zh) 非揮發性儲存裝置及用於程式化非揮發性儲存器之方法
KR100967004B1 (ko) 플래시 메모리 장치의 동작 제어 방법
KR20110061625A (ko) 비휘발성 메모리 어레이 중 마지막 워드 라인의 데이터 보존 개선
KR20080046482A (ko) 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
JP5868381B2 (ja) 半導体記憶装置
JP5039105B2 (ja) 不揮発性半導体記憶装置
KR20080041479A (ko) 낸드형 플래쉬 메모리소자의 데이터 소거방법

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
FPAY Annual fee payment

Payment date: 20121121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131122

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141126

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151120

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171124

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181126

Year of fee payment: 11