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

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

Info

Publication number
KR20190060409A
KR20190060409A KR1020170158571A KR20170158571A KR20190060409A KR 20190060409 A KR20190060409 A KR 20190060409A KR 1020170158571 A KR1020170158571 A KR 1020170158571A KR 20170158571 A KR20170158571 A KR 20170158571A KR 20190060409 A KR20190060409 A KR 20190060409A
Authority
KR
South Korea
Prior art keywords
memory cells
program
voltage
cell group
bit line
Prior art date
Application number
KR1020170158571A
Other languages
English (en)
Other versions
KR102504295B1 (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 KR1020170158571A priority Critical patent/KR102504295B1/ko
Priority to US16/198,013 priority patent/US10748632B2/en
Priority to CN201811406794.6A priority patent/CN109841254B/zh
Publication of KR20190060409A publication Critical patent/KR20190060409A/ko
Application granted granted Critical
Publication of KR102504295B1 publication Critical patent/KR102504295B1/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/5671Digital 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 trapping in an insulator
    • 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/08Address circuits; Decoders; Word-line control 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/14Circuits for erasing electrically, e.g. erase 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/24Bit-line control 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/30Power supply 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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • 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
    • 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
    • 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
    • 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/5622Concurrent multilevel programming of more than one cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B43/27EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels

Landscapes

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

Abstract

본 개시의 기술적 사상의 일측면에 따른 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법은, 복수의 메모리 셀들은 제1 메모리 셀들 및 제1 메모리 셀들보다 문턱 전압이 낮은 제2 메모리 셀들을 포함하고, 제1 메모리 셀들의 비트 라인에 프로그램 포싱 전압을 인가하는 제1 프로그램하는 단계, 제2 메모리 셀들의 제1 프로그램하는 단계 이후의 문턱 전압을 기초로, 제2 메모리 셀들을 프로그램 속도에 따른 제1 셀 그룹, 제2 셀 그룹, 및 제3 셀 그룹으로 구분하는 단계, 및 제1 메모리 셀들 및 제1 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가하는 제2 프로그램하는 단계를 포함하고, 프로그램 포싱 전압은 프로그램 금지 전압보다 낮은 레벨을 가질 수 있다.

Description

비휘발성 메모리 장치 및 이의 프로그램 방법{Nonvolatile Memory Device, and Programming Method Thereof}
본 개시의 기술적 사상은 비휘발성 메모리 장치의 프로그램 방법에 관한 것이다.
반도체 메모리 장치에는 DRAM, SRAM 등과 같은 휘발성 메모리와 EEPROM, FRAM, PRAM, MRAM, Flash Memory 등과 같은 비휘발성 메모리로 구분될 수 있다. 휘발성 메모리 장치는 전원 공급이 차단되면 저장된 데이터를 잃는, 반면, 비휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다.
비휘발성 메모리를 사용하는 장치들로는, 예를 들어, MP3 플레이어, 디지털 카메라, 휴대전화, 캠코더, 플래시 카드 및 SSD(Solid State Disk) 등이 있다. 저장장치로 비휘발성 메모리를 사용하는 장치들이 증가하면서, 비휘발성 메모리의 용량도 급속히 증가하고 있다. 프로그램 방법으로는 ISPP(Increment Step Pulse Program) 방식에 의한 프로그램 동작이 사용될 수 있고, 프로그램 전압 펄스가 메모리 셀들에 제공된 후 검증 전압을 이용하여 메모리 셀들의 프로그램 상태를 검증할 수 있다. 다만, 이러한 검증 동작을 완료한 이후에도 메모리 셀 특성에 의하여 메모리 셀에 저장된 데이터에 대한 신뢰성이 저하되는 문제가 발생하였다.
본 개시의 기술적 사상이 해결하려는 과제는 프로그램 속도를 향상시키고, 프로그램 상태의 메모리 셀들의 문턱 전압 산포의 폭을 감소시킬 수 있는 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법을 제공하는 데에 있다.
본 개시의 기술적 사상의 일측면에 따른 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법은, 복수의 메모리 셀들은 제1 메모리 셀들 및 제1 메모리 셀들보다 문턱 전압이 낮은 제2 메모리 셀들을 포함하고, 제1 메모리 셀들의 비트 라인에 프로그램 포싱 전압을 인가하는 제1 프로그램하는 단계, 제2 메모리 셀들의 제1 프로그램하는 단계 이후의 문턱 전압을 기초로, 제2 메모리 셀들을 프로그램 속도에 따른 제1 셀 그룹, 제2 셀 그룹, 및 제3 셀 그룹으로 구분하는 단계, 및 제1 메모리 셀들 및 제1 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가하는 제2 프로그램하는 단계를 포함하고, 프로그램 포싱 전압은 프로그램 금지 전압보다 낮은 레벨을 가질 수 있다.
본 개시의 기술적 사상의 일측면에 따른, 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법은, 복수의 메모리 셀들은 문턱 전압의 레벨에 따라 제1 내지 제3 셀 그룹으로 분류되고, 제1 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가하는 단계, 제2 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압보다 낮은 레벨을 갖는 프로그램 포싱 전압을 인가하는 단계, 복수의 메모리 셀들의 워드 라인에 제1 프로그램 펄스를 인가하여 제1 프로그램을 수행하는 단계, 및 제1 셀 그룹 및 제2 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가한 후, 복수의 메모리 셀들의 워드 라인에 제2 프로그램 펄스를 인가하여 제2 프로그램을 수행하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 비휘발성 메모리 장치는, 복수의 메모리 셀들을 포함하는 셀 어레이, 제1 프로그램 루프에서 복수의 메모리 셀들의 워드 라인에 제1 프로그램 펄스를 제공하고, 제2 프로그램 루프에서 복수의 메모리 셀들의 워드 라인에 제2 프로그램 펄스를 제공하는 로우 디코더, 복수의 메모리 셀들의 비트 라인에 프로그램 금지 전압 및 프로그램 포싱 전압을 제공하는 페이지 버퍼, 및 제1 프로그램 루프 및 제2 프로그램 루프가 순차적으로 수행되도록 로우 디코더 및 페이지 버퍼를 제어하는 제어 로직을 포함하고, 복수의 메모리 셀들 중 제1 메모리 셀들은, 상기 제1 프로그램 루프에서 비트 라인에 프로그램 포싱 전압이 인가되고, 제어 로직은, 제2 프로그램 루프에서 제1 메모리 셀들의 비트 라인에 프로그램 금지 전압이 인가되도록 페이지 버퍼를 제어할 수 있다.
본 개시의 기술적 사상에 따른 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법에 따르면, 이전 프로그램 루프에서 비트 라인에 포싱 전압이 인가된 메모리 셀들은 다음 프로그램 루프에서 비트 라인에 프로그램 금지 전압을 인가하여, 프로그램되는 것을 금지시킬 수 있다. 따라서, 메모리 셀이 과도하게 프로그램되어, 타겟 상태를 초과하여 프로그램되는 것을 방지할 수 있고, 문턱 전압 산포의 폭을 감소시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 2는 본 개시의 실시예에 따른 메모리 블록의 일 예를 나타내는 회로도이다.
도 3은 본 개시의 실시예에 따른 메모리 블록의 다른 예를 나타내는 회로도이다.
도 4는 도 3의 회로도에 따른 메모리 블록을 나타내는 사시도이다.
도 5a은 본 개시의 예시적 실시예에 따른 프로그램 방법을 단계별로 나타낸 그래프이다.
도 5b는 본 개시의 예시적 실시예에 따른 프로그램 방법을 나타낸 순서도이다.
도 5c는 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치에 포함된 복수의 메모리 셀들에 인가되는 비트 라인 전압을 설명하기 위한 그래프이다.
도 6a은 본 개시의 예시적 실시예에 따른 프로그램 방법을 단계별로 나타낸 그래프이다.
도 6b는 본 개시의 예시적 실시예에 따른 프로그램 방법을 나타낸 순서도이다.
도 7a 및 도 7b는 본 개시의 예시적 실시예에 따른 프로그램 방법에 따라 워드 라인에 공급되는 전압을 나타내는 그래프이다.
도 8은 본 개시의 예시적 실시예에 따른 프로그램 방법을 나타낸 순서도이다.
도 9는 본 개시의 다른 예시적 실시예에 따른 프로그램 방법을 단계별로 나타낸 그래프이다.
도 10은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치를 프로그램 하는 방법을 설명하기 위한 순서도이다.
도 11은 본 개시의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 1은 본 개시의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 1을 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 제어 로직(120), 전압 생성부(130), 로우 디코더(140) 및 페이지 버퍼(150)를 포함할 수 있다. 도시되지는 않았으나, 메모리 장치(100)는 데이터 입출력 회로 또는 입출력 인터페이스를 더 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함하고, 워드 라인들(WL), 스트링 선택 라인들(SSL), 그라운드 선택 라인들(GSL) 및 복수의 비트 라인들(BL)에 연결될 수 있다. 구체적으로, 메모리 셀 어레이(110)는 워드 라인들(WL), 스트링 선택 라인들(SSL) 및 그라운드 선택 라인들(GSL)을 통해 로우 디코더(140)에 연결되고, 복수의 비트 라인들(BL)을 통해 페이지 버퍼(150)에 연결될 수 있다.
메모리 셀 어레이(110)는 복수의 블록들(BLK1 내지 BLKz)을 포함할 수 있다. 예를 들면, 복수의 블록들(BLK1 내지 BLKz) 각각은 3차원 구조(또는 수직 구조)를 가질 수 있다. 구체적으로, 각 블록은 제1 내지 제3 방향들을 따라 신장된 구조물들을 포함한다. 예를 들면, 각 블록은 제3 방향을 따라 신장된 복수의 낸드 스트링들(이하 '스트링들'이라 지칭함)을 포함한다. 이때, 복수의 스트링들은 제1 및 제2 방향들을 따라 특정 거리만큼 이격되어 제공될 수 있다. 블록들(BLK1 내지 BLKz)은 로우 디코더(140)에 의해 선택될 수 있다. 예를 들면, 로우 디코더(140)는 블록들(BLK1 내지 BLKz) 중 블록 어드레스에 대응하는 블록을 선택할 수 있다.
메모리 셀 어레이(110)에 포함되는 각 메모리 셀은 2 비트 이상의 데이터를 저장하는 멀티 레벨 셀(multi level cell, MLC)일 수 있다. 예를 들어, 메모리 셀은 2 비트 데이터를 저장하는 멀티 레벨 셀(multi level cell, MLC)일 수 있다. 또 다른 예로서, 메모리 셀은 3 비트 데이터를 저장하는 트리플 레벨 셀(triple level cell, TLC)일 수 있다. 그러나, 본 개시는 이에 한정되지 않고, 다른 실시예에서, 메모리 셀 어레이(110)에 포함되는 일부 메모리 셀들은 1 비트 데이터를 저장하는 싱글 레벨 셀(single level cell, SLC)이고, 다른 일부 메모리 셀들은 멀티 레벨 셀(multi level cell, MLC)일 수 있다.
복수의 메모리 블록(BLK1~BLKi)은 싱글 레벨 셀들을 포함하는 싱글 레벨 셀 블록, 멀티 레벨 셀들을 포함하는 멀티 레벨 셀 블록 및 트리플 레벨 셀들을 포함하는 트리플 레벨 셀 블록 중 적어도 하나를 포함할 수 있다. 메모리 셀 어레이(110)에 포함된 복수의 메모리 블록들 중 일부 메모리 블록은 싱글 레벨 셀 블록일 수 있고, 다른 블록들은 멀티 레벨 셀 블록 또는 트리플 레벨 셀 블록일 수 있다.
메모리 셀 어레이(110)에 소거 전압이 인가되면 복수의 메모리 셀들은 소거 상태가 되며, 메모리 셀 어레이(110)에 프로그램 펄스가 인가되면 복수의 메모리 셀들은 프로그램 상태가 된다. 이 때, 각 메모리 셀은 문턱 전압(threshold voltage, Vth)에 따라 구분되는 소거 상태(E) 및 적어도 하나의 프로그램 상태를 가질 수 있다.
예를 들어, 메모리 셀들은 소거 상태에서 프로그램 상태에 대응하여 미리 설정된 프로그램 펄스에 기초하여 프로그램된 후, 상기 메모리 셀들의 가우시안 형태의 문턱 전압 산포에 기초하여 프로그램 속도에 따른 세 개의 셀 그룹으로 구분될 수 있다. 이 후, 세 개의 셀 그룹 중 메모리 셀들의 문턱 전압 산포의 최상위 영역에 대응하는 제1 셀 그룹을 제외한 제2 셀 그룹 및 제3 셀 그룹이, 제1 프로그램 펄스를 기초로, 상기 프로그램 상태로 재프로그램될 수 있다. 이때, 제1 프로그램 펄스는 원-샷 메모리 셀들의 산포 등에 따라 미리 설정될 수 있다. 일 실시예에 있어서, 제1 셀 그룹은 세 개의 셀 그룹 중 가장 빠른 속도로 프로그램되며, 제1 셀 그룹의 산포는 프로그램 상태의 타겟 산포에 포함될 수 있다. 이에 대한 설명은 도 5a에서 후술하겠다.
다른 일 실시예에서는, 메모리 셀들은 소거 상태에서 프로그램 상태에 대응하여 미리 설정된 프로그램 펄스에 기초하여 프로그램된 후, 제1 프로그램 펄스에 기초하여 재프로그램 되어, 상기 메모리 셀들의 문턱 전압 산포의 폭이 감소될 수 있다. 이 후, 상기 메모리 셀들은 프로그램 속도에 따른 세 개의 셀 그룹으로 구분될 수 있다. 이에 대한 설명은 도 9에서 후술하겠다.
제어 로직(120)은 메모리 컨트롤러(200)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(110)에 데이터를 기입하거나 메모리 셀 어레이(110)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(120)은 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다. 일 실시예에서, 복수의 메모리 셀들을 프로그램하는 데 있어, 복수의 프로그램 루프가 순차적으로 수행될 수 있고, 제어 로직(120)은 복수의 프로그램 루프들이 수행되도록 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(120)에서 출력된 각종 제어 신호는 전압 생성부(130), 로우 디코더(140) 및 페이지 버퍼(150)에 제공될 수 있다. 제어 로직(120)은 전압 생성부(130)에 전압 제어 신호(CTRL_vol)를 제공할 수 있다. 본 개시의 일 실시예에서, 제어 로직(120)은 메모리 셀들에 데이터를 기입하기 위하여 메모리 셀 어레이(110)에 제공되는 프로그램 펄스 및 검증 전압 생성을 제어하기 위한 전압 제어 신호(CTRL_vol)를 생성할 수 있다.
제어 로직(120)은 전압 생성부(130)가 각 프로그램 루프에서 적어도 하나의 검증 전압 및 적어도 하나의 프로그램 펄스를 생성하도록 전압 생성부(130)를 제어할 수 있고, 제어 로직(120)은 프로그램 루프 횟수가 증가함에 따라 레벨이 변경되는 프로그램 펄스를 생성하도록 전압 생성부(130)를 제어할 수 있다.
전압 생성부(130)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(110)에 대한 프로그램, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 전압 생성부(130)는 워드 라인 전압(VWL), 예를 들어, 프로그램 펄스 및 검증 전압 등을 생성할 수 있다. 일 실시예로, 전압 생성부(130)는 전압 제어 신호(CTRL_vol)를 기초로 하여 프로그램 루프 횟수가 증가함에 따라 레벨이 변경되는 프로그램 펄스 및 검증 전압을 생성할 수 있다. 프로그램 루프가 수행될 때, 일 실시예에 따른 프로그램 방법은 ISPP(Incremental step pulse programming) 방식으로 수행될 수 있으며, 전압 생성부(130)는 프로그램 루프가 수행될 때마다 종전 프로그램 펄스보다 점점 레벨이 높아지는 프로그램 펄스를 생성할 수 있다.
로우 디코더(140)는 제어 로직(120)으로부터 수신한 로우 어드레스(X-ADDR)에 응답하여 워드 라인들(WL) 중 일부 워드 라인을 선택할 수 있다. 구체적으로, 프로그램 동작 시에 로우 디코더(140)는 선택된 워드 라인에 프로그램 펄스를 제공할 수 있다. 또한, 로우 디코더(140)는 제어 로직(120)으로부터 수신한 로우 어드레스(X-ARRD)에 응답하여 스트링 선택 라인들(SSL) 중 일부 스트링 선택 라인 또는 그라운드 선택 라인들(GSL) 중 일부 그라운드 선택 라인을 선택할 수 있다. 로우 디코더(140)는 전압 생성부(130)로부터 매 프로그램 루프마다 적어도 하나의 검증 전압 및 적어도 하나의 프로그램 펄스를 수신하여, 복수의 메모리 셀들의 워드 라인에 제공할 수 있다.
페이지 버퍼(150)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결될 수 있고, 제어 로직(120)으로부터 수신한 칼럼 어드레스(Y-ADDR)에 응답하여 복수의 비트 라인들(BL) 중 일부 비트 라인을 선택할 수 있다. 독출 동작 시에 페이지 버퍼(150)는 감지 증폭기(sense amplifier)로 동작하여 메모리 셀 어레이(110)에 저장된 데이터(DATA)를 감지할 수 있다. 한편, 프로그램 동작 시에 페이지 버퍼(150)는 기입 드라이버(write driver)로 동작하여 메모리 셀 어레이(110)에 저장하고자 하는 데이터(DATA)를 입력시킬 수 있다.
페이지 버퍼(150)는 메모리 셀 어레이(110)로부터 읽은 데이터(DATA)를 저장하거나, 또는 메모리 셀 어레이(110)에 기입될 데이터(DATA)를 저장할 수 있다. 페이지 버퍼(150)는 복수의 데이터 래치들(151)을 포함할 수 있고, 복수의 데이터 래치들(151)은 데이터(DATA)를 일시적으로 저장할 수 있다. 일 실시예에서, 복수의 데이터 래치들(151)에는 메모리 셀 어레이(110)에 포함된 메모리 셀이 이전 프로그램 루프에서 비트 라인에 포싱 전압이 인가된 셀에 대한 정보가 일시적으로 저장될 수 있다.
프로그램 동작 시에 로우 디코더(140)가 선택된 워드 라인에 프로그램 펄스를 인가할 때, 페이지 버퍼(150)는 메모리 셀이 프로그램되는 속도에 따라 복수의 비트 라인들(BL)에 프로그램 금지(inhibit) 전압, 프로그램 포싱(forcing) 전압 및 비트 라인 프로그램 전압과 같은 비트 라인 전압을 인가할 수 있다.
본 개시에 따른 메모리 장치(100)는, 복수의 메모리 셀들의 문턱 전압 산포에 기초하여 복수의 메모리 셀들은 프로그램 속도에 따른 세 개의 셀 그룹으로 구분될 수 있다. 페이지 버퍼(150)는 제1 프로그램 루프에서, 세 개의 셀 그룹 중 메모리 셀들의 산포의 최상위 영역에 대응하는 제1 셀 그룹에는 프로그램 금지 전압, 중간 영역에 대응하는 제2 셀 그룹에는 프로그램 포싱 전압, 최하위 영역에 대응하는 제3 셀 그룹에는 비트 라인 프로그램 전압을 인가할 수 있다. 페이지 버퍼(150)는 제1 프로그램 루프 이후에 수행되는 제2 프로그램 루프에서, 상기 제2 셀 그룹의 메모리 셀들의 문턱 전압 산포와 관계없이, 상기 제2 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가하여 과도하게 프로그램되는 것을 방지할 수 있다.
도 2는 본 개시의 실시예에 따른 메모리 블록의 일 예를 나타내는 회로도이다.
도 2를 참조하면, 메모리 블록(BLKa)은 수평 구조의 낸드 플래쉬 메모리일 수 있다. 메모리 블록(BLKa)은 예를 들어, 개의 메모리 셀들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 스트링(STR)들을 포함할 수 있다. 각 스트링(STR)은 직렬로 연결된 메모리 셀들(MC)의 양 끝에 각각 연결되는 스트링 선택 트랜지스터(SST) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 여기서, 스트링들(STR)의 개수, 워드 라인들(WL)의 개수, 비트 라인들(BL)의 개수는 실시예에 따라 다양하게 변경될 수 있다.
도 2와 같은 구조를 갖는 메모리 블록을 포함하는 낸드 플래쉬 메모리 장치는 메모리 블록 단위로 소거가 수행되고, 각 워드 라인(WL1 내지 WL8)에 대응되는 페이지(PAGE) 단위로 프로그램을 수행할 수 있다. 일 예에서, 메모리 셀(MC)이 싱글 레벨 셀인 경우, 각 워드 라인에 하나의 페이지(PAGE)가 대응될 수 있다. 다른 예에서, 메모리 셀(MC)이 멀티 레벨 셀 또는 트리플 레벨 셀인 경우, 각 워드 라인에 복수의 페이지들(PAGE)이 대응될 수 있다.
도 3은 본 개시의 실시예에 따른 메모리 블록의 다른 예를 나타내는 회로도이다.
도 3을 참조하면, 메모리 블록(BLKb)은 수직 구조의 낸드 플래쉬 메모리일 수 있다. 메모리 블록(BLKb)은 복수의 낸드 스트링들(NS11 내지 NS33), 복수의 워드 라인들(WL1 내지 WL8), 복수의 비트 라인들(BL1 내지 BL3), 그라운드 선택 라인 들(GSL1, GSL2, GSL3), 복수의 스트링 선택 라인들(SSL1 내지 SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.
제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 제공되고 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 제공된다. 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 내지 MC8) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 이하에서는, 편의상 낸드 스트링을 스트링이라고 지칭하기로 한다.
하나의 비트 라인에 공통으로 연결된 스트링들은 하나의 칼럼을 구성한다. 예를 들어, 제1 비트 라인(BL1)에 공통으로 연결된 스트링들(NS11, NS21, NS31)은 제1 칼럼에 대응되고, 제2 비트 라인(BL2)에 공통으로 연결된 스트링들(NS12, NS22, NS32)은 제2 칼럼에 대응되며, 제3 비트 라인(BL3)에 공통으로 연결된 스트링들(NS13, NS23, NS33)은 제3 칼럼에 대응될 수 있다.
하나의 스트링 선택 라인에 연결되는 스트링들은 하나의 로우를 구성한다. 예를 들어, 제1 스트링 선택 라인(SSL1)에 연결된 스트링들(NS11, NS12, NS13)은 제1 로우에 대응되고, 제2 스트링 선택 라인(SSL2)에 연결된 스트링들(NS21, NS22, NS23)은 제2 로우에 대응되며, 제3 스트링 선택 라인(SSL3)에 연결된 스트링들(NS31, NS32, NS33)은 제3 로우에 대응될 수 있다.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL1 내지 SSL3)에 연결된다. 복수의 메모리 셀들(MC1 내지 MC8)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 그라운드 선택 라인들(GSL1, GSL2, GSL3)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되어 있고, 스트링 선택 라인들(SSL1 내지 SSL3)은 서로 분리되어 있다. 예를 들어, 제 1 워드 라인(WL1)에 연결되어 있고 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들을 프로그램하는 경우에는, 제1 워드 라인(WL1)과 제1 스트링 선택 라인(SSL1)이 선택될 수 있다. 일 실시예에 있어서, 도 4에 도시된 바와 같이, 그라운드 선택 라인들(GSL1, GSL2, GSL3)은 서로 분리될 수 있다. 다른 실시예에 있어서, 그라운드 선택 라인들(GSL1, GSL2, GSL3)은 서로 연결될 수 있다.
도 4는 도 3의 회로도에 따른 메모리 블록을 나타내는 사시도이다.
도 4를 참조하면, 메모리 블록(BLKb)은 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 기판(SUB)은 제1 도전형(예를 들어, p 타입)을 가지며, 기판(SUB) 상에 제1 방향(예를 들어, x방향)을 따라 신장되고, 제2 도전형(예를 들어, n 타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공될 수 있다. 공통 소스 라인(CSL)은 수직형 메모리 셀들로 전류를 공급하는 소스 영역으로서 기능할 수 있다.
인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제2 방향(예를 들어, y 방향)을 따라 신장되는 복수의 절연막들(IL)이 제3 방향(예를 들어, z 방향)을 따라 순차적으로 제공되며, 복수의 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격된다. 예를 들어, 복수의 절연막들(IL)은 실리콘 산화물과 같은 절연 물질을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 복수의 절연막들(IL)을 관통하는 채널홀이 형성될 수 있다. 채널홀은 수직 방향으로 연장하는 컵 형상(또는 바닥이 막힌 실린더 형상)으로 형성될 수 있다. 또는 채널홀은 도시된 바와 같이 필라 형상으로 형성될 수 있다. 이하, 채널홀은 필라(pillars)라고 지칭하기로 한다. 복수의 필라들(P)은 복수의 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 수 있다. 구체적으로, 각 필라 (P)의 표면층(surface layer)(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(charge storage layer, CS)이 제공된다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에 게이트 전극(GE)이 제공될 수 있다.
복수의 필라들(P) 상에는 드레인들 또는 드레인 컨택들(DR)이 각각 제공된다. 예를 들어, 드레인들 또는 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들 또는 드레인 컨택들(DR) 상에, 제2 방향(예를 들어, y 방향)으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL)이 제공될 수 있다.
도 4를 참조하여, 메모리 블록의 실시 예를 설명하였다. 그러나, 이에 제한되는 것은 아니며 메모리 블록의 구조는 다양하게 변형될 수 있다.
도 5a은 본 개시의 예시적 실시예에 따른 프로그램 방법을 단계별로 나타낸 그래프이다. 도 5b는 본 개시의 예시적 실시예에 따른 프로그램 방법을 나타낸 순서도이다. 도 5c는 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치에 포함된 복수의 메모리 셀들에 인가되는 비트 라인 전압을 설명하기 위한 그래프이다.
도 5a 및 도 5b를 참조하면, 제1 프로그램 상태(P1)로 프로그램 되기 위한 복수의 메모리 셀들(MC1)을, 문턱 전압을 기초로 프로그램 속도에 따른 세 개의 그룹으로 구분될 수 있다(S110). 검증 독출 동작을 통해 복수의 메모리 셀들(MC1)이 세 개의 셀 그룹으로 구분될 수 있다. 일 실시예에 있어서, 제어 로직(예를 들어, 도 1의 120)은 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2)을 기초로 메모리 셀들을 검증하는 동작을 수행함으로써, 복수의 메모리 셀들(MC1)을 제1 셀 그룹(G1), 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)으로 구분할 수 있다. 상기 구분 동작에 대해서는 도 6a 및 도 6b에서 상술하겠다.
제1 셀 그룹(G1), 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)은 프로그램 속도가 빠른 순으로 구분될 수 있다. 따라서, 제1 셀 그룹(G1)은 문턱 전압 산포의 최상위 영역에 대응될 수 있고, 제3 셀 그룹(G3)은 문턱 전압 산포의 최하위 영역에 대응될 수 있다.
일 실시예에 있어서, 제1 검증 전압(Vrf1)은 복수의 메모리 셀들(MC1)이 제1 프로그램 상태(P1)로 정상적으로 프로그램 되었는지 검증하는 제1 프로그램 상태(P1)에 대한 검증 독출 전압(Vv1)과 동일할 수 있다.
도 5a 내지 도 5c를 참조하면, 제1 프로그램 펄스(Vpgm1)가 인가될 때(PGM), 제1 셀 그룹(G1)의 메모리 셀들의 비트 라인에는 프로그램 금지 전압(Vinh)이 인가되고, 제2 셀 그룹(G2)의 메모리 셀들의 비트 라인에는 프로그램 포싱 전압(Vfor)이 인가(S121)될 수 있고, 제3 셀 그룹(G3)의 메모리 셀들의 비트 라인에는 비트 라인 프로그램 전압(Vpro)이 인가될 수 있다. 프로그램 금지 전압(Vinh)의 레벨은 프로그램 포싱 전압(Vfor)의 레벨보다 높을 수 있고, 프로그램 포싱 전압(Vfor)의 레벨은 비트 라인 프로그램 전압(Vpro)의 레벨보다 높을 수 있다. 일 실시예에서 비트 라인 프로그램 전압(Vpro)은 접지 레벨 또는 0V로 제공되고, 프로그램 금지 전압(Vinh)은 전원 전압으로 제공될 수 있으며, 프로그램 포싱 전압(Vfor)은 접지 레벨과 전원 전압 사이의 값으로 제공될 수 있다.
다시 도 5a 및 도 5b를 참조하면, 복수의 메모리 셀들(MC1)의 워드 라인에는 제1 프로그램 펄스(Vpgm1)가 인가(S123)될 수 있고, 이에 따라 복수의 메모리 셀들(MC1)의 문턱 전압 산포가 변경될 수 있다. 비트 라인에 프로그램 금지 전압(Vinh)이 인가되는 제1 셀 그룹(G1)의 메모리 셀들은 프로그램되지 않고, 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 메모리 셀들이 프로그램 될 수 있다. 따라서, 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 문턱 전압 산포가 우측으로 이동할 수 있다. 이 때, 제2 셀 그룹(G2) 의 메모리 셀들은 비트 라인 프로그램 전압(Vpro)보다 높은 레벨을 갖는 프로그램 포싱 전압(Vfor)이 인가되므로, 제3 셀 그룹(G3)의 메모리 셀들보다 상대적으로 문턱 전압 산포의 이동 정도가 작을 수 있다. 일 실시예에서, 제1 프로그램 펄스(Vpgm1)가 인가 됨에 따라 제2 셀 그룹(G2)은 타겟 산포(TP1)에 포함될 수 있다. 다만, 이에 한정되는 것은 아니며, 제2 셀 그룹(G2)의 메모리 셀들 중 일부는 타겟 산포(TP1)에 포함되지 않고, 제1 검증 전압(Vrf1)보다 낮은 문턱 전압을 가질 수 있다.
복수의 메모리 셀들(MC1)의 워드 라인에 제2 프로그램 펄스(Vpgm2)가 인가될 수 있다(S130). 이 때, 제1 셀 그룹(G1) 및 제2 셀 그룹(G2)의 비트 라인에는 프로그램 금지 전압(Vinh)이 인가될 수 있다. 제1 셀 그룹(G1) 및 제2 셀 그룹(G2)에 대한 정보가 페이지 버퍼(예를 들어, 도 1의 150)의 데이터 래치(예를 들어, 도 1의 151)에 저장될 수 있고, 제어 로직(예를 들어, 도 1의 120)은 S130단계에서 제1 셀 그룹(G1) 및 제2 셀 그룹(G2)의 메모리 셀들에 대한 검증 동작을 별도로 수행하지 않고, 비트 라인에 프로그램 금지 전압(Vinh)이 인가되도록 페이지 버퍼(150)를 제어할 수 있다. 제1 프로그램 펄스(Vpgm1) 및 제2 프로그램 펄스(Vpgm2)에 대한 구체적인 설명은 도 7a 및 도 7b에서 후술하고, S130단계에 대한 구체적인 설명은 도 6a 및 도 6b에서 후술하겠다.
제2 프로그램 펄스(Vpgm2)의 전압 레벨은 제1 프로그램 펄스(Vpgm1)의 레벨보다 높을 수 있다. 따라서, 제3 셀 그룹(G3)의 문턱 전압 산포가 우측으로 이동하며, 제3 셀 그룹(G3)은 타겟 산포(TP1)에 포함될 수 있다. 이로써, 복수의 메모리 셀들(MC1)이 제1 프로그램 상태(P1)로 프로그램될 수 있다. 다만, 이에 한정되는 것은 아니며, 제2 프로그램 펄스(Vpgm2)를 복수의 메모리 셀들(MC1)에 인가한 후에도, 복수의 메모리 셀들(MC1)이 제1 프로그램 상태(P1)로 프로그램되지 않을 수도 있다. 이에 대해서는 도 6a 등에서 후술하겠다.
본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치는, 이전 단계에서 제1 프로그램 펄스를 인가할 때, 비트 라인에 프로그램 포싱 전압이 인가된 제2 셀 그룹(G2)의 메모리 셀들에 대해서는, 제2 프로그램 펄스에 의해 프로그램되지 않도록, 비트 라인에 프로그램 금지 전압을 인가할 수 있다. 따라서, 제2 프로그램 펄스가 인가됨에 따라, 제2 셀 그룹(G2)의 메모리 셀들이 과도하게 프로그램되는 것을 방지하여, 복수의 메모리 셀들의 문턱 전압 산포의 폭을 감소시킬 수 있고, 프로그램 동작의 정확도를 향상시킬 수 있다.
도 6a은 본 개시의 예시적 실시예에 따른 프로그램 방법을 단계별로 나타낸 그래프로써, 도 5a의 S130단계를 설명하기 위한 그래프이다. 도 6b는 본 개시의 예시적 실시예에 따른 프로그램 방법을 나타낸 순서도로써, 도 5b의 S130단계를 설명하기 위한 순서도이다.
도 5a, 도 6a 및 도 6b를 참조하면, 복수의 메모리 셀들(MC1)의 워드 라인에 제1 프로그램 펄스(Vpgm1)가 인가된 이 후, 제3 셀 그룹(G3)의 메모리 셀들의 문턱 전압을 기초로, 제3 셀 그룹(G3)의 메모리 셀들은 프로그램 속도에 따른 세 개의 그룹으로 구분될 수 있다(S131). 일 실시예에 있어서, 제어 로직(예를 들어, 도 1의 120)은 제1 검증 전압(Vrf1) 및 제3 검증 전압(Vrf3)을 기초로 메모리 셀들을 검증하는 동작을 수행함으로써, 제3 셀 그룹(G3)의 메모리 셀들을 제4 셀 그룹(G4), 제5 셀 그룹(G5) 및 제6 셀 그룹(G6)으로 구분할 수 있다. 제4 셀 그룹(G4), 제5 셀 그룹(G5) 및 제6 셀 그룹(G6)은 프로그램 속도가 빠른 순으로 구분될 수 있다.
일 실시예에 있어서, 제3 검증 전압(Vrf3)의 레벨은 도 5a의 제2 검증 전압(Vrf2)의 레벨과 서로 동일할 수 있으나, 이에 한정되는 것은 아니며, 레벨이 서로 상이할 수도 있다.
제1 셀 그룹(G1), 제2 셀 그룹(G2) 및 제4 셀 그룹(G4)의 메모리 셀들의 비트 라인에는 프로그램 금지 전압이 인가되고, 제5 셀 그룹(G5)의 메모리 셀들의 비트 라인에는 프로그램 포싱 전압이 인가(S133)될 수 있다. 제6 셀 그룹(G6)의 메모리 셀들의 비트 라인에는 비트 라인 프로그램 전압이 인가될 수 있다.
복수의 메모리 셀들(MC1)의 워드 라인에는 제2 프로그램 펄스(Vpgm2)가 인가(S135)될 수 있고, 이에 따라 복수의 메모리 셀들(MC1)의 문턱 전압 산포가 변경될 수 있다. 비트 라인에 프로그램 금지 전압이 인가되는 제1 셀 그룹(G1), 제2 셀 그룹(G2) 및 제4 셀 그룹(G4)의 메모리 셀들은 프로그램되지 않고, 제5 셀 그룹(G5) 및 제6 셀 그룹(G6)의 메모리 셀들이 프로그램 될 수 있다. 따라서, 제5 셀 그룹(G5) 및 제6 셀 그룹(G6)의 문턱 전압 산포가 우측으로 이동할 수 있다. 이 때, 제5 셀 그룹(G5)의 메모리 셀들은 비트 라인 프로그램 전압보다 높은 레벨을 갖는 프로그램 포싱 전압이 인가되므로, 제6 셀 그룹(G6)의 메모리 셀들보다 상대적으로 문턱 전압 산포의 이동 정도가 작을 수 있다. 이로써, 복수의 메모리 셀들(MC1)이 제1 프로그램 상태(P1)로 프로그램될 수 있다.
도 7a 및 도 7b는 본 개시의 예시적 실시예에 따른 프로그램 방법에 따라 워드 라인에 공급되는 전압을 나타내는 그래프로써, 도 5a 및 도 5b의 복수의 메모리 셀들을 복수의 셀 그룹으로 구분하는 단계를 설명하기 위한 그래프이다. 여기서, 가로축은 시간(t)을, 세로축은 워드 라인 전압(VWL)의 레벨을 나타낸다.
도 7a를 참조하면, 비휘발성 메모리 장치를 제1 프로그램 상태로 프로그램 하는 방법은 복수의 프로그램 루프들(Loop1, Loop2)을 포함할 수 있다. 예를 들어, 제1 프로그램 루프(Loop1) 및 제2 프로그램 루프(Loop2)가 순차적으로 수행될 수 있다. 제1 프로그램 루프(Loop1) 이전에도 적어도 하나의 프로그램 루프가 수행될 수 있으며, 제2 프로그램 루프(Loop2) 이후에도 적어도 하나의 프로그램 루프가 수행될 수 있으나, 이에 한정되는 것은 아니다.
제1 프로그램 루프(Loop1)가 수행되기 전에, 복수의 메모리 셀들의 워드 라인으로 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2)이 인가됨에 따라, 제1 검증 단계가 수행될 수 있다. 제1 검증 전압(Vrf1)은 제1 프로그램 상태에 대한 검증 독출 전압과 동일한 레벨을 가질 수 있고, 제2 검증 전압(Vrf2)은 제1 검증 전압(Vrf1)보다 낮은 레벨을 가질 수 있다.
복수의 메모리 셀들 각각의 문턱 전압과 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2)을 비교하여, 제1 검증 전압(Vrf1)보다 높은 레벨의 문턱 전압을 가지는 메모리 셀은 제1 셀 그룹으로 검출되고, 제2 검증 전압(Vrf2)보다 낮은 레벨의 문턱 전압을 가지는 메모리 셀은 제3 셀 그룹으로 검출될 수 있다. 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2) 사이의 문턱 전압을 가지는 메모리 셀은 제2 셀 그룹으로 검출될 수 있다.
따라서, 도 5b의 S110단계는, 복수의 메모리 셀들의 워드 라인으로 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2)을 인가함으로써 수행될 수 있다. 제1 셀 그룹, 제2 셀 그룹 및 제3 셀 그룹에 대한 정보는 페이지 버퍼(예를 들어, 도 1의 150)의 데이터 래치(예를 들어, 도 1의 151)에 저장될 수 있다. 제1 프로그램 루프(Loop1) 이후의 프로그램 루프들이 진행되는 동안에도, 데이터 래치(151)에 저장된 상기 검출 결과를 기초로, 페이지 버퍼(150)는 제1 셀 그룹, 제2 셀 그룹 및 제3 셀 그룹으로 구분하여 비트 라인 전압을 인가할 수 있다.
제1 프로그램 루프(Loop1)가 수행되는 동안, 제1 셀 그룹의 메모리 셀들의 비트 라인에는 프로그램 금지 전압이 인가되고, 제2 셀 그룹의 메모리 셀들의 비트 라인에는 프로그램 포싱 전압이 인가되며, 제3 셀 그룹의 메모리 셀들의 비트 라인에는 비트 라인 프로그램 전압이 인가될 수 있다. 복수의 메모리 셀들의 워드 라인에는 제1 프로그램 펄스(Vpgm1)가 인가될 수 있다. 도 7a는 제1 프로그램 루프(Loop1)에서 하나의 제1 프로그램 펄스(Vpgm1)만이 인가되는 것으로 도시되었으나, 이에 한정되는 것은 아니며, 제1 프로그램 루프(Loop1)에서 복수의 프로그램 펄스들이 메모리 셀들의 워드 라인에 인가될 수 있다. 따라서, 제1 프로그램 루프(Loop1)가 수행되는 동안 로우 디코더(예를 들어, 도 1의 140)는 복수의 메모리 셀들의 워드 라인으로 제1 프로그램 펄스(Vpgm1)를 제공할 수 있다. 로우 디코더(140)가 제1 프로그램 펄스(Vpgm1)를 제공할 때, 페이지 버퍼(150)는 제1 셀 그룹의 메모리 셀들의 비트 라인에는 프로그램 금지 전압, 제2 셀 그룹의 메모리 셀들의 비트 라인에는 프로그램 포싱 전압, 제3 셀 그룹의 메모리 셀들의 비트 라인에는 비트 라인 프로그램 전압을 제공할 수 있다.
제1 프로그램 루프(Loop1)에서, 복수의 메모리 셀들의 워드 라인에 제1 프로그램 펄스(Vpgm1)가 인가된 후, 복수의 메모리 셀들의 워드 라인으로 제1 검증 전압(Vrf1) 및 제3 검증 전압(Vrf3)이 인가되는 제2 검증 단계가 수행될 수 있다. 제3 검증 전압(Vrf3)은 제2 검증 전압(Vrf2)과 동일한 레벨을 가질 수 있으나 이에 한정되는 것은 아니다.
복수의 메모리 셀들의 워드 라인으로 제1 검증 전압(Vrf1) 및 제3 검증 전압(Vrf3)이 인가됨에 따라, 제3 셀 그룹의 메모리 셀들 각각의 문턱 전압과 제1 검증 전압(Vrf1) 및 제3 검증 전압(Vrf3)이 비교되어, 제1 검증 전압(Vrf1)보다 높은 레벨의 문턱 전압을 가지는 메모리 셀은 제4 셀 그룹으로 검출되고, 제3 검증 전압(Vrf3)보다 낮은 레벨의 문턱 전압을 가지는 메모리 셀은 제6 셀 그룹으로 검출될 수 있다. 제1 검증 전압(Vrf1) 및 제3 검증 전압(Vrf3) 사이의 문턱 전압을 가지는 메모리 셀은 제5 셀 그룹으로 검출될 수 있다. 따라서, 도 6b의 S131단계는, 복수의 메모리 셀들의 비트 라인으로 제1 검증 전압(Vrf1) 및 제3 검증 전압(Vrf3)을 인가함으로써 수행될 수 있다.
제2 프로그램 루프(Loop2)에서는, 제1 셀 그룹, 제2 셀 그룹 및 제4 셀 그룹의 메모리 셀들의 비트 라인에는 프로그램 금지 전압이 인가되고, 제5 셀 그룹의 메모리 셀들의 비트 라인에는 프로그램 포싱 전압이 인가되며, 제6 셀 그룹의 메모리 셀들의 비트 라인에는 비트 라인 프로그램 전압이 인가될 수 있다. 복수의 메모리 셀들의 워드 라인에는 제1 프로그램 펄스(Vpgm1)보다 높은 레벨을 갖는 제2 프로그램 펄스(Vpgm2)가 인가될 수 있다.
제1 프로그램 루프(Loop1) 이전의 제1 검증 단계 수행에 따른 결과에 기초하여, 제1 프로그램 루프(Loop1)의 제2 검증 단계와 관계 없이, 제1 셀 그룹 및 제2 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압이 인가될 수 있다. 데이터 래치(151)에 저장된 제2 셀 그룹에 대한 정보를 기초로 하여, 페이지 버퍼(150)는 제2 프로그램 루프(Loop2)에서 제2 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가할 수 있다.
본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치는, 이전 단계에서 제1 프로그램 펄스(Vpgm1)를 인가할 때, 비트 라인에 프로그램 포싱 전압이 인가된 제2 셀 그룹의 메모리 셀들에 대해서는, 추가로 프로그램되지 않도록, 비트 라인에 프로그램 금지 전압을 인가하고, 워드 라인에 제2 프로그램 펄스(Vpgm2)를 인가한다. 따라서, 제2 프로그램 펄스(Vpgm2)가 인가됨에 따라, 제2 셀 그룹의 메모리 셀들이 과도하게 프로그램되는 것을 방지하여, 복수의 메모리 셀들의 문턱 전압 산포의 폭을 감소시킬 수 있고, 프로그램 동작의 정확도를 향상시킬 수 있다.
도 7b를 참조하면, 제1 프로그램 루프(Loop1)가 수행되기 전에, 복수의 메모리 셀들의 워드 라인으로 검증 전압(Vrf)이 인가됨에 따라, 제1 검증 단계가 수행될 수 있다. 일 실시예에서, 검증 전압(Vrf)은 제1 프로그램 상태에 대한 검증 독출 전압과 동일한 레벨을 가질 수 있다.
복수의 메모리 셀들의 워드 라인으로 검증 전압(Vrf)이 인가되면, 복수의 메모리 셀들의 비트 라인의 전압 레벨은 디벨로프 단계를 거치면서 점점 감소할 수 있다. 이 때, 비트 라인 전압 레벨이 감소되는 정도는, 복수의 메모리 셀들 각각의 문턱 전압의 레벨에 따라 달라질 수 있다. 페이지 버퍼(예를 들어, 도 1의 150)는 각각의 비트 라인의 전압 레벨을 서로 다른 시간인 제1 시점 및 제2 시점에 센싱하여, 복수의 메모리 셀들을 제1 셀 그룹, 제2 셀 그룹 및 제3 셀 그룹으로 구분하여 검출할 수 있다. 예를 들어, 제1 시점에서 온-셀로 센싱되는 메모리 셀들은 제3 셀 그룹, 제1 시점에서 오프-셀이었으나, 제2 시점에서 온-셀로 센싱되는 메모리 셀들은 제2 셀 그룹, 제1 시점에서 오프-셀로 센싱되는 메모리 셀들은 제1 셀 그룹으로 분류될 수 있다.
따라서, 도 5b의 S110단계는, 복수의 메모리 셀들의 워드 라인으로 검증 전압(Vrf)을 1회 인가함으로써 수행될 수 있다. 검출 결과는 페이지 버퍼(예를 들어, 도 1의 150)의 데이터 래치(예를 들어, 도 1의 151)에 저장될 수 있다. 제1 프로그램 루프(Loop1) 이후의 프로그램 루프들이 진행되는 동안에도, 데이터 래치(151)에 저장된 상기 검출 결과를 기초로, 페이지 버퍼(150)는 제1 셀 그룹, 제2 셀 그룹 및 제3 셀 그룹으로 구분하여 비트 라인 전압을 인가할 수 있다.
제1 프로그램 루프(Loop1)가 수행되는 동안, 제1 셀 그룹의 메모리 셀들의 비트 라인에는 프로그램 금지 전압이 인가되고, 제2 셀 그룹의 메모리 셀들의 비트 라인에는 프로그램 포싱 전압이 인가되며, 제3 셀 그룹의 메모리 셀들의 비트 라인에는 비트 라인 프로그램 전압이 인가될 수 있다. 복수의 메모리 셀들의 워드 라인에는 제1 프로그램 펄스(Vpgm1)가 인가될 수 있다. 도 7b는 제1 프로그램 루프(Loop1)에서 하나의 제1 프로그램 펄스(Vpgm1)만이 인가되는 것으로 도시되었으나, 이에 한정되는 것은 아니며, 제1 프로그램 루프(Loop1)에서 복수의 프로그램 펄스들이 메모리 셀들의 워드 라인에 인가될 수 있다
제1 프로그램 루프(Loop1)에서, 복수의 메모리 셀들의 워드 라인에 제1 프로그램 펄스(Vpgm1)가 인가된 후, 복수의 메모리 셀들의 워드 라인으로 검증 전압(Vrf)이 인가되는 제2 검증 단계가 수행될 수 있다. 제2 검증 단계의 검증 전압(Vrf)은 제1 검증 단계의 검증 전압(Vrf)과 동일한 레벨을 가질 수 있으나, 이에 한정되는 것은 아니다.
복수의 메모리 셀들의 워드 라인으로 검증 전압(Vrf)이 인가되고, 페이지 버퍼(150)가 복수의 메모리 셀들의 비트 라인을 센싱하는 시점에 따라, 제3 셀 그룹의 메모리 셀들은 제4 셀 그룹, 제5 그룹 및 제6 셀 그룹으로 검출할 수 있다. 따라서, 도 6b의 S131단계는, 복수의 메모리 셀들의 워드 라인으로 검증 전압(Vrf)을 1회 인가함으로써 수행될 수 있다.
제2 프로그램 루프(Loop2)에서는, 제1 프로그램 루프(Loop1) 이전의 제1 검증 단계 수행에 따른 결과에 기초하여, 제1 프로그램 루프(Loop1)의 검증 단계와 관계 없이 제1 셀 그룹 및 제2 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압이 인가될 수 있다. 데이터 래치(151)에 저장된 제2 셀 그룹에 대한 정보를 기초로 하여, 페이지 버퍼(150)는 제2 프로그램 루프(Loop2)에서 제2 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가할 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 프로그램 방법을 나타낸 순서도로써, 도 5b의 S130단계 이후의 S140단계를 설명하기 위한 순서도이다.
도 5a, 도 6a 및 도 8을 참조하면, 제2 프로그램 펄스(Vpgm2)를 복수의 메모리 셀들(MC1)에 인가한 후에도, 복수의 메모리 셀들(MC1)이 제1 프로그램 상태(P1)로 프로그램되지 않을 수도 있다. 이 때, 복수의 메모리 셀들(MC1) 중 기준 값 이상의 메모리 셀들이 타겟 산포(TP1)에 포함되지 않을 때, 복수의 메모리 셀들(MC1)이 제1 프로그램 상태(P1)로 프로그램되지 않은 것으로 판단될 수 있다. 예를 들어, 기준 값 이상의 메모리 셀들의 문턱 전압이 검증 독출 전압(Vv1) 이하인 경우에는 메모리 셀들은 제1 프로그램 상태(P1)로 프로그램되지 않은 것으로 볼 수 있다.
제1 프로그램 상태(P1)로 프로그램되지 않은 경우에는, 페이지 버퍼(예를 들어, 도 1의 150)는 제1 셀 그룹(G1), 제2 셀 그룹(G2), 제4 셀 그룹(G4) 및 제5 셀 그룹(G5)의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가(S141)할 수 있다. 제6 셀 그룹(G6)은 문턱 전압을 기초로 세 개의 셀 그룹으로 구분되어, 비트 라인에 각각 프로그램 금지 전압, 프로그램 포싱 전압 및 비트 라인 프로그램 전압이 인가될 수 있다. 복수의 메모리 셀들(MC1)의 워드 라인에는 제3 프로그램 펄스가 인가될 수 있다(S143). 제3 프로그램 펄스의 레벨은 제2 프로그램 펄스의 레벨보다 높을 수 있다. 따라서, 제6 셀 그룹(G6) 중 일부의 문턱 전압 산포가 우측으로 이동할 수 있고, 복수의 메모리 셀들(MC1)이 제1 프로그램 상태(P1)로 프로그램될 수 있다. 본 도면에서는, 제1 내지 제3 프로그램 펄스이 인가되는 경우에 대해서만 설명하고 있으나, 본 개시에 따른 비휘발성 메모리 장치 및 이의 프로그램 방법은 이에 한정되는 것은 아니며, 복수의 메모리 셀들이 프로그램되는 정도에 따라, 프로그램 펄스가 인가되는 횟수는 조절될 수 있다.
도 9는 본 개시의 다른 예시적 실시예에 따른 프로그램 방법을 단계별로 나타낸 그래프이다.
도 9를 참조하면, 비휘발성 메모리 장치는 제1 프로그램 상태(P1)로 프로그램 되기 위한 복수의 메모리 셀들(MC1)을 포함할 수 있다.
원-샷 산포(OS)는 선택된 워드 라인으로 하나의 프로그램 펄스(Vos)가 인가될 때 발생되는 메모리 셀들의 문턱 전압의 산포를 의미한다. 워드 라인에 하나의 프로그램 펄스(Vos)가 인가되면, 상기 워드 라인에 연결된 메모리 셀들의 문턱 전압 산포, 즉, 원-샷 산포(OS)는 도시된 바와 같이, 가우시안 분포를 가질 수 있다.
워드 라인의 프로그램 속도를 감지하기 위하여, 비휘발성 메모리 장치는 워드 라인에 원-샷의 프리 프로그램 펄스(Vos)를 인가함으로써, 선택된 워드 라인의 메모리 셀들을 프리 프로그램 상태(P0)로 프로그램할 수 있다. 이 때, 메모리 장치는, 프리 검증 전압(Vpre)을 기초로, 프리 프로그램 상태(P0)로 프로그램된 메모리 셀들, 즉 프리 프로그램 상태(P0)에 대한 오프셀들의 개수를 카운팅함으로써, 워드 라인의 프로그램 속도를 감지할 수 있다.
프리 프로그램 상태(P0)는, 소거 상태(E)와 제1 프로그램 상태(P1)의 사이에 위치하는 상태일 수 있다. 상기 프리 프로그램 상태(P0)는 메모리 셀들에 저장되는 멀티 비트 데이터에 대응하는 상태는 아니며, 워드 라인의 프로그램 속도를 검출하기 위한 임의의 상태일 수 있다.
카운팅된 프리 프로그램 상태의 오프셀의 개수는 워드 라인의 프로그램 속도에 대응할 수 있다. 오프셀의 개수가 많을수록 프로그램 속도가 빠를 수 있다. 프리 검증 전압(Vpre)을 기준으로, 프리 프로그램 상태(P0)로 프로그램된 메모리 셀들은 제1 셀 그룹(G1'), 프리 프로그램 상태(P0)로 프로그램되지 못한 메모리 셀들은 제2 셀 그룹(G2')으로 구분될 수 있다.
복수의 메모리 셀들의 원-샷 산포(OS)의 폭을 감소시키기 위해, 제1 셀 그룹(G1')의 비트 라인에는 프로그램 포싱 전압이 인가되고, 제2 셀 그룹(G2')의 비트 라인에는 비트 라인 프로그램 전압이 인가되며, 복수의 메모리 셀들의 워드 라인에는 제1 프로그램 펄스(Vpgm1')가 인가될 수 있다. 따라서, 제1 프로그램 펄스(Vpgm1')에 의해 제1 셀 그룹(G1') 및 제2 셀 그룹(G2')의 메모리 셀들의 문턱 전압 산포가 우측으로 이동하고, 문턱 전압 산포의 폭은 감소될 수 있다.
복수의 메모리 셀들(MC1)의 워드 라인에 제1 프로그램 펄스(Vpgm1')가 인가된 이 후, 제2 셀 그룹(G2')의 메모리 셀들의 문턱 전압을 기초로, 제2 셀 그룹(G2')의 메모리 셀들이 세 개의 그룹으로 구분될 수 있다. 제1 검증 전압(Vrf1') 및 제2 검증 전압(Vrf2')을 기초로 메모리 셀들을 검증하는 동작을 수행함으로써, 제2 셀 그룹(G2')의 메모리 셀들을 제1 서브 셀 그룹(SG1), 제2 서브 셀 그룹(SG2) 및 제3 서브 셀 그룹(SG3)으로 구분할 수 있다. 일 실시예에 있어서, 제1 검증 전압(Vrf1')은 복수의 메모리 셀들(MC1)이 제1 프로그램 상태(P1)로 정상적으로 프로그램 되었는지 검증하는 제1 프로그램 상태(P1)에 대한 검증 독출 전압과 동일할 수 있다. 일 실시예에서, 제1 프로그램 펄스(Vpgm1')가 인가된 이 후, 제1 셀 그룹(G1')의 메모리 셀들의 문턱 전압은 제1 검증 전압(Vrf1') 이상일 수 있으나, 이에 한정되는 것은 아니다.
제1 셀 그룹(G1') 및 제1 서브 셀 그룹(SG1)의 메모리 셀들의 비트 라인에는 프로그램 금지 전압이 인가되고, 제2 서브 셀 그룹(SG2)의 메모리 셀들의 비트 라인에는 프로그램 포싱 전압이 인가되며, 제3 서브 셀 그룹(SG3)의 메모리 셀들의 비트 라인에는 비트 라인 프로그램 전압이 인가될 수 있다. 복수의 메모리 셀들(MC1)의 워드 라인에는 제2 프로그램 펄스(Vpgm2')가 인가될 수 있다.
본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치는 상기 검증 동작과 무관하게, 이전 단계에서 비트 라인에 프로그램 포싱 전압이 인가된 제1 셀 그룹(G1')의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가하여, 제2 프로그램 펄스(Vpgm2')로 인해 프로그램되는 것을 방지할 수 있다. 따라서, 제1 셀 그룹(G1')의 메모리 셀들이 제1 프로그램 상태(P1) 이상으로 과도하게 프로그램되는 것을 방지할 수 있다.
제2 프로그램 펄스(Vpgm2')가 인가됨에 따라 제2 서브 셀 그룹(SG2) 및 제3 서브 셀 그룹(SG3)의 메모리 셀들의 산포가 우측으로 이동하여, 복수의 메모리 셀들(MC1)은 제1 프로그램 상태(P1)로 프로그램될 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치를 프로그램 하는 방법을 설명하기 위한 순서도이다.
도 1 및 도 10을 참조하면, 제1 프로그램 상태로 프로그램 되기 위한 복수의 메모리 셀들의 워드 라인에 제1 프로그램 펄스가 인가될 수 있다(S210). 이 때, 복수의 메모리 셀들의 적어도 일부의 메모리 셀들은 비트 라인에 프로그램 포싱 전압이 인가되고, 워드 라인에 제1 프로그램 펄스가 인가될 수 있다. 상기 적어도 일부의 메모리 셀들은 도 5a의 제2 셀 그룹(G2)에 포함된 메모리 셀들일 수 있고, 또는 도 9의 제1 셀 그룹(G1')에 포함된 메모리 셀들일 수 있다. 상기 적어도 일부의 메모리 셀들에 대한 정보는 데이터 래치(151)에 저장될 수 있다.
제어 로직(120)은 데이터 래치(151)에 저장된 상기 적어도 일부의 메모리 셀들에 대한 정보를 기초로, 제2 프로그램 펄스가 인가될 복수의 메모리 셀들 중 S210 단계에서 비트 라인에 프로그램 포싱 전압이 인가된 메모리 셀인지 확인할 수 있다(S220). 프로그램 포싱 전압이 인가된 메모리 셀인 경우에는, 제어 로직(120)은 비트 라인에 프로그램 금지 전압이 인가(S251)되도록 페이지 버퍼(150)를 제어할 수 있다. 따라서, 프로그램 포싱 전압이 인가된 메모리 셀이 제2 프로그램 펄스로 인한 프로그램되는 것을 방지할 수 있다.
일 실시예에서, 도 7a에서 설명한 바와 같이, 제어 로직(120)은 복수의 메모리 셀들을 프로그램 속도에 따른 세 개의 셀 그룹으로 구분하기 위해 전압 생성부(130) 및 로우 디코더(140)를 제어하여 제1 검증 전압 및 제2 검증 전압을 인가할 수 있다. 이 때, 제1 검증 전압은 제1 프로그램 상태에 대한 검증 독출 전압과 동일할 수 있고, 제2 검증 전압은 제1 검증 전압보다 낮은 레벨을 가질 수 있다.
다른 실시예에서, 도 7b에서 설명한 바와 같이, 제어 로직(120)은 전압 생성부(130) 및 로우 디코더(140)를 제어하여 하나의 검증 전압을 인가할 수 있고, 페이지 버퍼(150)에서 비트 라인 전압을 센싱하는 시간을 달리하여, 복수의 메모리 셀들을 프로그램 속도에 따른 세 개의 셀 그룹으로 구분할 수 있다.
S210 단계에서, 비트 라인에 프로그램 포싱 전압이 인가된 셀이 아닌 경우에는, 제1 검증 전압 및 제2 검증 전압과 복수의 메모리 셀들의 문턱 전압을 비교하여, 문턱 전압이 제1 검증 전압보다 큰지 확인될 수 있다(S230). 문턱 전압이 제1 검증 전압보다 큰 메모리 셀은 이미 제1 프로그램 상태로 프로그램되었으므로, 비트 라인에 프로그램 금지 전압이 인가(S251)되어, 제2 프로그램 펄스로 인한 프로그램을 방지할 수 있다.
문턱 전압이 제1 검증 전압보다 작은 경우에는 문턱 전압이 제2 검증 전압보다 큰 지 확인될 수 있다(S240). 문턱 전압이 제2 검증 전압보다 큰 메모리 셀은 제2 프로그램 펄스로 인해 과도하게 프로그램되는 것을 방지하기 위해, 프로그램 포싱 전압이 비트 라인에 인가될 수 있다(S253).
문턱 전압이 제2 검증 전압보다 작은 경우(S251)에는 제1 프로그램 상태로 프로그램되기 위해 비트 라인에 비트 라인 프로그램 전압이 인가될 수 있다(S251).
본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치는, 이전 단계에서 프로그램 펄스를 인가할 때, 비트 라인에 프로그램 포싱 전압이 인가된 메모리 셀들에 대해서는, 검증 동작에 무관하게 비트 라인에 프로그램 금지 전압을 인가하여 이후의 프로그램 동작에 의해 과도하게 프로그램되는 것을 방지한다. 복수의 메모리 셀들의 문턱 전압 산포의 폭을 감소시킬 수 있고, 프로그램 동작의 정확도를 향상시킬 수 있다.
도 11은 본 개시의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 11을 참조하면, 컴퓨팅 시스템(1000)은 메모리 시스템(1100), 프로세서(1200), RAM(1300), 입출력 장치(1400), 및 전원 장치(1500) 포함할 수 있다. 도 24에는 도시되지 않았지만, 컴퓨팅 시스템(1000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(1000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
프로세서(1200)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(1200)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit, CPU)일수 있다. 프로세서(1200)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(1600)를 통하여 RAM(1300), 입출력 장치(1400) 및 메모리 시스템(1100)과 통신을 수행할 수 있다. 프로세서(1200)는 주변 구성요소 상호연결(Peripheral Component Interconnect, PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 시스템(1100)은 도 1 내지 도 10에 도시된 실시예들을 이용하여 구현된 비휘발성 메모리 장치(1110)를 포함할 수 있다. 실시예들에 따라 비휘발성 메모리 장치(1110)를 특정 프로그램 상태로 프로그램하는 동작의 정확도가 향상될 수 있다.
RAM(1300)은 컴퓨팅 시스템(1000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, RAM(1300)은 디램(DRAM), 모바일 디램(mobile DRAM), 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(1400)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(1500)는 컴퓨팅 시스템(1000)의 동작에 필요한 동작 전압을 공급할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 메모리 장치
110: 메모리 셀 어레이
120: 제어 로직
130: 전압 생성부
140: 로우 디코더
150: 페이지 버퍼
151: 데이터 래치

Claims (10)

  1. 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에 있어서,
    상기 복수의 메모리 셀들은 제1 메모리 셀들 및 상기 제1 메모리 셀들보다 문턱 전압이 낮은 제2 메모리 셀들을 포함하고,
    상기 제1 메모리 셀들의 비트 라인에 프로그램 포싱 전압을 인가하는 제1 프로그램을 수행하는 단계;
    상기 제2 메모리 셀들의 상기 제1 프로그램을 수행하는 단계 이후의 문턱 전압을 기초로, 상기 제2 메모리 셀들을 프로그램 속도에 따른 제1 셀 그룹, 제2 셀 그룹, 및 제3 셀 그룹으로 구분하는 단계; 및
    상기 제1 메모리 셀들 및 상기 제1 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가하는 제2 프로그램을 수행하는 단계;를 포함하고,
    상기 프로그램 포싱 전압은 상기 프로그램 금지 전압보다 낮은 레벨을 갖는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  2. 제1 항에 있어서,
    상기 제1 프로그램을 수행하는 단계는,
    상기 복수의 메모리 셀들의 문턱 전압을 기초로, 상기 복수의 메모리 셀들을 상기 제1 메모리 셀들 및 상기 제2 메모리 셀들로 구분하는 단계; 및
    상기 제2 메모리 셀들의 비트 라인에 비트 라인 프로그램 전압을 인가하는 단계를; 포함하는 것을 특징으로 하는 프로그램 방법.
  3. 제1 항에 있어서,
    상기 제2 프로그램을 수행하는 단계는,
    상기 제2 셀 그룹의 메모리 셀들의 비트 라인에 상기 프로그램 포싱 전압을 인가하는 단계; 를 포함하는 비휘발성 메모리 장치의 프로그램 방법.
  4. 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에 있어서,
    상기 복수의 메모리 셀들은 문턱 전압의 레벨에 따라 제1 내지 제3 셀 그룹으로 분류되고,
    상기 제1 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가하는 단계;
    상기 제2 셀 그룹의 메모리 셀들의 비트 라인에 상기 프로그램 금지 전압보다 낮은 레벨을 갖는 프로그램 포싱 전압을 인가하는 단계;
    상기 복수의 메모리 셀들의 워드 라인에 제1 프로그램 펄스를 인가하여 제1 프로그램을 수행하는 단계; 및
    상기 제1 셀 그룹 및 상기 제2 셀 그룹의 메모리 셀들의 비트 라인에 프로그램 금지 전압을 인가한 후, 상기 복수의 메모리 셀들의 워드 라인에 제2 프로그램 펄스를 인가하여 제2 프로그램을 수행하는 단계;를 포함하는 비휘발성 메모리 장치의 프로그램 방법.
  5. 제4 항에 있어서,
    상기 제2 프로그램을 수행하는 단계는,
    상기 제3 셀 그룹의 메모리 셀들의 상기 제1 프로그램하는 단계 이 후의 문턱 전압을 기초로, 상기 제3 셀 그룹의 메모리 셀들을 제4 셀 그룹, 제5 셀 그룹, 및 제6 셀 그룹으로 구분하는 단계;
    상기 제1 셀 그룹, 상기 제2 셀 그룹 및 상기 제4 셀 그룹의 메모리 셀들의 비트 라인에 상기 프로그램 금지 전압을 인가하는 단계;
    상기 제5 셀 그룹의 메모리 셀들의 비트 라인에 상기 프로그램 포싱 전압을 인가하는 단계를 포함하고,
    상기 비휘발성 메모리 장치의 프로그램 방법은,
    상기 제1 셀 그룹, 상기 제2 셀 그룹, 상기 제4 셀 그룹 및 상기 제5 셀 그룹의 메모리 셀들의 비트 라인에 상기 프로그램 금지 전압을 인가하는 단계; 및
    상기 복수의 메모리 셀들의 워드 라인에 제3 프로그램 펄스를 인가하는 제3 프로그램을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  6. 제4 항에 있어서,
    상기 비휘발성 메모리 장치의 프로그램 방법은,
    상기 복수의 메모리 셀들을 상기 제1 내지 상기 제3 셀 그룹으로 분류하기 위하여, 상기 복수의 메모리 셀들의 워드 라인에 검증 전압을 인가하는 단계를 더 포함하고,
    상기 검증 전압을 인가하는 단계는,
    상기 복수의 메모리 셀들의 워드 라인에 서로 다른 전압 레벨을 갖는 제1 검증 전압 및 제2 검증 전압을 인가하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  7. 제6 항에 있어서,
    상기 제1 검증 전압은,
    상기 복수의 메모리 셀들의 타겟 프로그램 상태에 대한 검증 독출 전압의 레벨과 동일한 레벨을 갖는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  8. 제1 메모리 셀들 및 제2 메모리 셀들을 포함하는 복수의 메모리 셀들을 포함하는 셀 어레이;
    제1 프로그램 루프에서 상기 복수의 메모리 셀들의 워드 라인에 제1 프로그램 펄스를 제공하고, 제2 프로그램 루프에서 상기 복수의 메모리 셀들의 워드 라인에 제2 프로그램 펄스를 제공하는 로우 디코더;
    상기 복수의 메모리 셀들의 비트 라인에 프로그램 금지 전압 및 상기 프로그램 금지 전압보다 낮은 레벨을 갖는 프로그램 포싱 전압을 제공하는 페이지 버퍼; 및
    상기 제1 프로그램 루프 및 상기 제2 프로그램 루프가 순차적으로 수행되도록 상기 로우 디코더 및 상기 페이지 버퍼를 제어하는 제어 로직을 포함하고,
    상기 제1 메모리 셀들은, 상기 제1 프로그램 루프에서 비트 라인에 상기 프로그램 포싱 전압이 인가되고,
    상기 제어 로직은,
    상기 제2 프로그램 루프에서 상기 제1 메모리 셀들의 비트 라인에 상기 프로그램 금지 전압이 인가되도록 상기 페이지 버퍼를 제어하는 것을 특징으로 하는 비휘발성 메모리 장치.
  9. 제8 항에 있이서,
    상기 페이지 버퍼는 데이터 래치를 포함하고,
    상기 데이터 래치에는 상기 제1 메모리 셀들에 대한 정보가 저장되는 것을 특징으로 하는 비휘발성 메모리 장치.
  10. 제8 항에 있어서,
    상기 제어 로직은,
    상기 제1 프로그램 루프에서, 상기 제1 메모리 셀들보다 낮은 문턱 갖는 상기 제2 메모리 셀들의 워드 라인에 검증 전압을 인가하도록 상기 로우 디코더를 제어하고,
    상기 페이지 버퍼는, 상기 제2 메모리 셀들의 워드 라인에 인가된 검증 전압에 따른 상기 제2 메모리 셀들의 비트 라인 전압의 변화를 제1 시점 및 제2 시점에 각각 센싱하고,
    상기 페이지 버퍼가 센싱한 결과에 기초하여, 상기 제2 메모리 셀들은 제1 셀 그룹, 제2 셀 그룹 및 제3 셀 그룹으로 분류되는 것을 특징으로 하는 비휘발성 메모리 장치.
KR1020170158571A 2017-11-24 2017-11-24 비휘발성 메모리 장치 및 이의 프로그램 방법 KR102504295B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170158571A KR102504295B1 (ko) 2017-11-24 2017-11-24 비휘발성 메모리 장치 및 이의 프로그램 방법
US16/198,013 US10748632B2 (en) 2017-11-24 2018-11-21 Nonvolatile memory device and method of programming with bit line programming forcing voltage and programming inhibition voltage
CN201811406794.6A CN109841254B (zh) 2017-11-24 2018-11-23 非易失性存储设备及其编程方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170158571A KR102504295B1 (ko) 2017-11-24 2017-11-24 비휘발성 메모리 장치 및 이의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20190060409A true KR20190060409A (ko) 2019-06-03
KR102504295B1 KR102504295B1 (ko) 2023-02-27

Family

ID=66632626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170158571A KR102504295B1 (ko) 2017-11-24 2017-11-24 비휘발성 메모리 장치 및 이의 프로그램 방법

Country Status (3)

Country Link
US (1) US10748632B2 (ko)
KR (1) KR102504295B1 (ko)
CN (1) CN109841254B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11626173B2 (en) 2021-02-25 2023-04-11 SK Hynix Inc. Memory device for performing verify operation and operating method thereof

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10056141B2 (en) * 2014-07-30 2018-08-21 Hewlett Packard Enterprise Development Lp Current behavior of elements
US10839928B1 (en) 2019-05-16 2020-11-17 Sandisk Technologies Llc Non-volatile memory with countermeasure for over programming
US11081198B2 (en) * 2019-05-16 2021-08-03 Sandisk Technologies Llc Non-volatile memory with countermeasure for over programming
EP3909049A4 (en) * 2019-05-17 2022-08-24 Yangtze Memory Technologies Co., Ltd. DATA BUFFERING OPERATION OF A THREE-DIMENSIONAL STORAGE DEVICE WITH STATIC RAM ACCESS MEMORY
WO2021223099A1 (en) * 2020-05-06 2021-11-11 Yangtze Memory Technologies Co., Ltd. Control method and controller of 3d nand flash
KR20220065296A (ko) * 2020-11-13 2022-05-20 삼성전자주식회사 비휘발성 메모리 장치의 블록 내구성 측정 방법 및 이를 이용한 스토리지 장치의 웨어 레벨링 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891405B1 (ko) * 2007-09-27 2009-04-02 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US20110161571A1 (en) * 2009-12-28 2011-06-30 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device
US7983079B2 (en) * 2007-07-09 2011-07-19 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory device and programming method thereof
KR20130015401A (ko) * 2011-08-03 2013-02-14 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR20130016619A (ko) * 2011-08-08 2013-02-18 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
KR20140074552A (ko) * 2012-12-10 2014-06-18 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR20150029405A (ko) * 2013-09-10 2015-03-18 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3977799B2 (ja) 2003-12-09 2007-09-19 株式会社東芝 不揮発性半導体記憶装置
US7643348B2 (en) 2007-04-10 2010-01-05 Sandisk Corporation Predictive programming in non-volatile memory
KR101412974B1 (ko) * 2008-05-28 2014-06-30 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
US7800956B2 (en) 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US8174895B2 (en) 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
KR20110131648A (ko) 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
KR101212745B1 (ko) 2010-09-30 2012-12-14 에스케이하이닉스 주식회사 플래시 메모리 장치 및 프로그램 검증 방법
KR102118979B1 (ko) * 2013-09-13 2020-06-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9165659B1 (en) 2014-05-08 2015-10-20 Sandisk Technologies Inc. Efficient reprogramming method for tightening a threshold voltage distribution in a memory device
KR20160021654A (ko) * 2014-08-18 2016-02-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작방법
KR102235492B1 (ko) * 2014-08-25 2021-04-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법
US9953703B2 (en) * 2015-10-16 2018-04-24 Samsung Electronics Co., Ltd. Programming method of non volatile memory device
KR102473167B1 (ko) * 2015-12-18 2022-12-02 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US10795607B2 (en) * 2017-08-17 2020-10-06 SK Hynix Inc. Memory device, a memory controller, a storage device including the memory device and the memory controller and operating method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983079B2 (en) * 2007-07-09 2011-07-19 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory device and programming method thereof
KR100891405B1 (ko) * 2007-09-27 2009-04-02 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US20110161571A1 (en) * 2009-12-28 2011-06-30 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device
KR20130015401A (ko) * 2011-08-03 2013-02-14 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR20130016619A (ko) * 2011-08-08 2013-02-18 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
KR20140074552A (ko) * 2012-12-10 2014-06-18 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR20150029405A (ko) * 2013-09-10 2015-03-18 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11626173B2 (en) 2021-02-25 2023-04-11 SK Hynix Inc. Memory device for performing verify operation and operating method thereof

Also Published As

Publication number Publication date
CN109841254B (zh) 2024-04-05
US10748632B2 (en) 2020-08-18
KR102504295B1 (ko) 2023-02-27
CN109841254A (zh) 2019-06-04
US20190164618A1 (en) 2019-05-30

Similar Documents

Publication Publication Date Title
KR102504295B1 (ko) 비휘발성 메모리 장치 및 이의 프로그램 방법
US10366769B2 (en) Nonvolatile memory device and programming method for fast and slow cells thereof
KR102606826B1 (ko) 비휘발성 메모리 장치 및 그 소거 방법
US10573378B2 (en) Methods of programming memory devices
KR101913331B1 (ko) 비휘발성 메모리 장치, 그것을 포함하는 비휘발성 메모리 시스템, 그것의 프로그램 방법, 그리고 그것을 제어하는 컨트롤러 동작 방법
KR20230065217A (ko) 비휘발성 메모리 장치 및 그것의 소거 방법
CN109545260B (zh) 非易失性存储器装置和对非易失性存储器装置编程的方法
KR102295521B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
KR20140025164A (ko) 불휘발성 메모리 장치 및 그것의 데이터 처리 방법
KR20130042780A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
JP2018163727A (ja) 半導体記憶装置
KR20180061469A (ko) 부분 읽기 동작을 수행하는 불휘발성 메모리 장치 및 그것의 읽기 방법
KR20190019364A (ko) 비휘발성 메모리 장치 및 이의 동작 방법
US20190267107A1 (en) Nonvolatile memory device and method of operating the same
CN109524045B (zh) 非易失性存储器器件及其操作方法
KR20180086047A (ko) 리커버리 구간을 가변하는 불휘발성 메모리 장치 및 그 동작방법
KR102434986B1 (ko) 데이터 신뢰성이 개선된 메모리 장치 및 이의 동작방법
US11594295B2 (en) Nonvolatile memory device and method of operating the same
KR102397394B1 (ko) 비휘발성 메모리 장치의 동작 방법
KR102502234B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
KR20190085379A (ko) 비휘발성 메모리 장치 및 이의 동작 방법
KR20220076974A (ko) 비휘발성 메모리 장치 및 이의 프로그램 방법
KR102585217B1 (ko) 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
KR102361642B1 (ko) 비휘발성 메모리 장치의 프로그램 방법 및 동작 방법
KR102683414B1 (ko) 비휘발성 메모리 장치 및 그것의 프로그램 방법

Legal Events

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