KR20160021654A - 반도체 메모리 장치 및 이의 동작방법 - Google Patents

반도체 메모리 장치 및 이의 동작방법 Download PDF

Info

Publication number
KR20160021654A
KR20160021654A KR1020140107220A KR20140107220A KR20160021654A KR 20160021654 A KR20160021654 A KR 20160021654A KR 1020140107220 A KR1020140107220 A KR 1020140107220A KR 20140107220 A KR20140107220 A KR 20140107220A KR 20160021654 A KR20160021654 A KR 20160021654A
Authority
KR
South Korea
Prior art keywords
memory cells
program
verify
voltage
threshold voltage
Prior art date
Application number
KR1020140107220A
Other languages
English (en)
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 KR1020140107220A priority Critical patent/KR20160021654A/ko
Priority to US14/592,672 priority patent/US9478304B2/en
Priority to TW104100932A priority patent/TWI657449B/zh
Priority to CN201510509325.7A priority patent/CN105374397B/zh
Publication of KR20160021654A publication Critical patent/KR20160021654A/ko
Priority to US15/274,602 priority patent/US20170011801A1/en

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/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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • 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
    • 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

Landscapes

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

Abstract

본 기술은 목표레벨이 서로 다른 메모리 셀들의 문턱전압들이 상기 목표레벨보다 낮은 서브레벨까지 동시에 높아지도록 제1 프로그램 동작을 수행하는 단계; 서로 다른 검증전압들을 이용하여 상기 메모리 셀들을 각각 검증하는 단계; 상기 메모리 셀들의 문턱전압들을 분리하는 제2 프로그램 동작을 수행하는 단계; 및 상기 메모리 셀들의 문턱전압들이 각각의 상기 목표레벨보다 높아지도록 제3 프로그램 동작을 수행하는 단계를 포함하는 반도체 메모리 장치 및 이의 동작방법을 포함한다.

Description

반도체 메모리 장치 및 이의 동작방법{Semiconductor memory device and operating method thereof}
본 발명은 반도체 메모리 장치 및 이의 동작방법에 관한 것으로, 보다 구체적으로는 반도체 메모리 장치의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 데이터가 저장되는 메모리 셀 어레이를 포함한다. 메모리 셀 어레이는 다수의 메모리 블록들로 이루어지며, 각각의 메모리 블록은 다수의 메모리 셀들을 포함한다.
기존에는 하나의 메모리 셀에 1 비트(bit)의 정보를 저장하는 싱글 레벨 셀(single level cell; 이하 SLC) 방식이 사용되었으나, 데이터 용량 증가 및 제조비용 절감을 위하여 최근에는 하나의 메모리 셀에 1 비트보다 많은 정보를 저장하는 기술이 연구되고 있다. 예를 들면, 하나의 메모리 셀에 2 비트(bits)의 정보를 저장하는 방식을 멀티 레벨 셀(multi level cell; 이하 MLC) 방식이 이라 하며, 하나의 메모리 셀에 3 비트(bits)의 정보를 저장하는 방식을 트리플 레벨 셀(triple level cell; 이하 TLC)이라 한다. 최근에는, 하나의 메모리 셀에 4 비트(bits)의 정보를 저장하는 쿼드러플 레벨 셀(quadruple level cell; 이하 QLC) 방식도 활발히 연구되고 있다.
하지만, 데이터 저장 방식이 SLC 방식에서 MLC, TLC 및 QLC 방식으로 고도화될수록 반도체 메모리 장치는 더욱 복잡한 연산을 수행해야 하기 때문에, 동작시간이 증가하고, 이로 인해 반도체 메모리 장치의 수명이 단축될 수도 있다.
본 발명의 실시예는 프로그램 동작시간을 단축하고 문턱전압 분포를 좁힐 수 있는 반도체 메모리 장치 및 이의 동작방법을 제공한다.
본 발명의 실시예에 따른 반도체 메모리 장치의 동작방법은, 목표레벨이 서로 다른 메모리 셀들의 문턱전압들이 상기 목표레벨보다 낮은 서브레벨까지 동시에 높아지도록 제1 프로그램 동작을 수행하는 단계; 서로 다른 검증전압들을 이용하여 상기 메모리 셀들을 각각 검증하는 단계; 상기 메모리 셀들의 문턱전압들을 분리하는 제2 프로그램 동작을 수행하는 단계; 및 상기 메모리 셀들의 문턱전압들이 각각의 상기 목표레벨보다 높아지도록 제3 프로그램 동작을 수행하는 단계를 포함한다.
본 발명의 실시예에 따른 반도체 메모리 장치의 동작방법은, 목표레벨이 서로 다른 제1 내지 제3 메모리 셀들의 문턱전압을 상기 목표레벨보다 낮은 서브레벨로 동시에 높이는 제1 프로그램 동작을 수행하는 단계; 상기 제1 메모리 셀들을 제1 검증전압을 사용하여 검증하는 제1 검증 동작을 수행하는 단계; 상기 제2 메모리 셀들을 제2 검증전압을 사용하여 검증하는 제2 검증 동작을 수행하는 단계; 상기 제3 메모리 셀들을 제3 검증전압을 사용하여 검증하는 제3 검증 동작을 수행하는 단계; 상기 제1 내지 제3 메모리 셀들의 문턱전압을 서로 분리하기 위한 제2 프로그램 동작을 수행하는 단계; 및 상기 제1 내지 제3 메모리 셀들의 문턱전압이 제1 내지 제3 목표레벨보다 높아지도록 상기 제1 내지 제3 메모리 셀들을 프로그램하는 제3 프로그램 동작을 수행하는 단계를 포함한다.
본 발명의 실시예에 따른 반도체 메모리 장치의 동작방법은, 목표레벨이 서로 다른 메모리 셀들로 이루어진 다수의 메모리 셀 그룹들을 정의하는 단계; 상기 메모리 셀 그룹들 별로 문턱전압 분포가 서로 달라지도록 제1 프로그램 동작을 수행하는 단계; 상기 목표레벨이 서로 다른 메모리 셀들을 서로 다른 검증전압들을 사용하여 검증하는 단계; 상기 메모리 셀들의 문턱전압 분포가 서로 분리되도록 제2 프로그램 동작을 수행하는 단계; 및 상기 메모리 셀들의 문턱전압이 상기 목표레벨에 각각 도달하도록 제3 프로그램 동작을 수행하는 단계를 포함한다.
본 발명의 실시예에 따른 반도체 메모리 장치는, 데이터가 저장되는 다수의 메모리 셀들을 포함하는 메모리 셀 어레이; 상기 메모리 셀들의 프로그램, 리드 및 소거 동작을 수행하는 주변회로; 및 상기 메모리 셀들 중, 목표레벨이 서로 다른 메모리 셀들의 문턱전압들이 상기 목표레벨보다 낮은 서브레벨까지 동시에 높아지도록 제1 프로그램 동작을 수행하고, 서로 다른 검증전압들을 이용하여 상기 메모리 셀들을 각각 검증하고, 상기 메모리 셀들의 문턱전압들을 분리하는 제2 프로그램 동작을 수행하고, 상기 메모리 셀들의 문턱전압들이 각각의 상기 목표레벨보다 높아지도록 제3 프로그램 동작을 수행하도록 상기 주변회로를 제어하는 제어회로를 포함한다.
본 기술은 프로그램 동작시간을 단축함으로써 반도체 메모리 장치의 수명 단축을 억제할 수 있으며, 프로그램된 메모리 셀들의 문턱전압 분포 폭을 좁힘으로써 프로그램 동작의 신뢰도를 개선할 수 있다.
도 1은 본 발명에 따른 반도체 메모리 장치를 개략적으로 설명하기 위한 도면이다.
도 2는 다양한 프로그램 방식에 따른 문턱전압 분포를 설명하기 위한 도면이다.
도 3은 본 발명에 따른 프로그램 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 제1 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 제2 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 제3 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 제4 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예를 적용한 트리플 레벨 셀 방식의 제1 실시예를 설명하기 위한 도면이다.
도 9는 프로그램 펄스와 검증전압을 설정하는 방법을 설명하기 위한 도면이다.
도 10은 본 발명의 실시예를 적용한 트리플 레벨 셀 방식의 제2 실시예를 설명하기 위한 도면이다.
도 11은 본 발명에 따른 실시예를 적용한 쿼드러플 레벨 셀 방식의 프로그램 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 솔리드 스테이트 드라이브를 설명하기 위한 블록도이다.
도 13은 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 메모리 시스템을 설명하기 위한 블록도이다.
도 14는 본 발명의 실시 예에 따른 반도체 메모리 장치를 포함하는 컴퓨팅 시스템의 개략적인 구성을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 1은 본 발명에 따른 반도체 메모리 장치를 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 반도체 메모리 장치(1100)는 데이터가 저장되는 메모리 셀 어레이(110)와, 메모리 셀 어레이(110)의 프로그램, 리드 및 소거 동작을 수행하는 주변회로(120)와, 주변회로(120)를 제어하는 제어회로(130)를 포함한다.
메모리 셀 어레이(110)는 다수의 메모리 블록들을 포함한다. 특히, 메모리 블록들은 2차원 또는 3차원 구조로 구성될 수 있다. 예를 들면, 2차원 구조의 메모리 블록들은 반도체 기판에 대하여 수평으로 배열된 다수의 스트링들을 포함하며, 3차원 구조의 메모리 블록들은 반도체 기판에 대하여 수직으로 배열된 다수의 스트링들을 포함한다. 스트링들 각각은 비트라인들(BL)과 공통 소오스 라인 사이에서 서로 직렬로 연결된 드레인 셀렉트 트랜지스터, 메모리 셀들 및 소오스 셀렉트 트랜지스터를 포함한다.
주변회로(120)는 전압 생성 회로(21), 로우 디코더(22), 페이지 버퍼(23), 컬럼 디코더(24) 및 입출력 회로(25)를 포함한다.
전압 생성 회로(21)는, 동작명령신호(OP_CMD)에 응답하여 다양한 레벨의 동작전압들을 생성한다. 동작명령신호(OP_CMD)는 프로그램 명령신호, 리드 명령신호 및 소거 명령신호를 포함할 수 있다. 예를 들어, 전압 생성 회로(21)는 소거 전압(Vera), 프로그램 전압(Vpgm), 리드 전압(Vread) 및 패스전압(Vpass)을 생성하며, 이 외에도 다양한 레벨을 갖는 전압들을 생성한다. 소거 전압(Vera)은 선택된 메모리 블록에 전달되며, 프로그램 전압(Vpgm), 리드 전압(Vread) 및 패스전압(Vpass)을 포함한 나머지 전압들은 로우 디코더(22)로 인가된다.
로우 디코더(22)는 로우 어드레스(RADD)에 응답하여 메모리 셀 어레이(110)에 포함된 메모리 블록들 중 하나를 선택하고, 선택된 메모리 블록에 연결된 워드라인들(WL), 드레인 셀렉트 라인들(DSL) 및 소오스 셀렉트 라인들(SSL)에 동작전압들을 전달한다.
페이지 버퍼(23)는 비트라인들(BL)을 통해 메모리 블록들과 연결되며, 프로그램, 리드 및 소거 동작시 선택된 메모리 블록과 데이터를 주고 받고, 전달받은 데이터를 임시로 저장한다.
컬럼 디코더(24)는 컬럼 어드레스(CADD)에 응답하여 페이지 버퍼(23)와 데이터를 주고받는다.
입출력 회로(25)는 외부로부터 전달받은 명령신호(CMD) 및 어드레스(ADD)를 제어회로(130)에 전달하고, 외부로부터 전달받은 데이터(DATA)를 컬럼 디코더(24)에 전송하고, 컬럼 디코더(24)로부터 전달받은 데이터(DATA)를 외부로 출력하거나 제어회로(130)에 전달한다.
제어회로(130)는 명령신호(CMD) 및 어드레스(ADD)에 응답하여 주변회로(120)를 제어한다. 예를 들면, 제어회로(130)는 명령신호(CMD) 및 어드레스(ADD)에 응답하여 프로그램 동작, 리드 동작 또는 소거 동작을 수행하도록 주변회로(120)를 제어한다.
도 2는 다양한 프로그램 방식에 따른 문턱전압 분포를 설명하기 위한 도면이다.
도 2를 참조하면, 반도체 메모리 장치는 데이터가 저장되는 다수의 메모리 셀들을 포함하는데, 메모리 셀에 저장되는 비트(bit)의 수에 따라 프로그램 방식이 달라진다.
하나의 메모리 셀에 1 비트(bit)의 정보를 저장하는 싱글 레벨 셀(single level cell; 이하 SLC) 방식에서는, 문턱전압 분포에 따라 메모리 셀들은 소거 상태(Se)와 하나의 프로그램 상태(Sp)로 구분될 수 있다.
하나의 메모리 셀에 2 비트(bits)의 정보를 저장하는 멀티 레벨 셀(multi level cell; 이하 MLC) 방식에서는, 문턱전압 분포에 따라 메모리 셀들은 소거 상태(Me)와 세 개의 프로그램 상태들(Mp)로 구분될 수 있다.
하나의 메모리 셀에 3 비트(bits)의 정보를 저장하는 트리플 레벨 셀(triple level cell; 이하 TLC) 방식에서는, 문턱전압 분포에 따라 메모리 셀들은 소거 상태(Ce)와 일곱 개의 프로그램 상태들(Cp)로 구분될 수 있다.
하나의 메모리 셀에 4 비트(bits)의 정보를 저장하는 쿼드러플 레벨 셀(quadruple level cell; 이하 QLC) 방식에서는, 문턱전압 분포에 따라 메모리 셀들은 소거 상태(Qe)와 열다섯 개의 프로그램 상태들(Qp)로 구분될 수 있다.
SLC 방식에서 QLC 방식으로 프로그램 방법이 고도화될수록 문턱전압 분포들의 개수가 많아지기 때문에, 프로그램 동작시간이 증가하고 문턱전압 분포들 간의 폭(MA1, MA2, MA3 및 MA4)은 좁아진다.
프로그램 동작시간과 문턱전압 분포 폭을 좁히기 위한 프로그램 방법을 설명하면 다음과 같다.
도 3은 본 발명에 따른 프로그램 방법을 설명하기 위한 순서도이다.
도 3을 참조하면, 제어회로(도 1의 130)에 프로그램 명령이 입력되면, 제어회로(130)는 메모리 셀들의 문턱전압들이 설정된 개수로 분류되도록 제1 프로그램 동작을 수행하고, 메모리 셀들을 검증한 후, 검증 결과에 따라 메모리 셀들의 문턱전압들이 목표 개수만큼 분리되도록 제2 프로그램 동작을 수행하고, 메모리 셀들의 문턱전압들이 각각의 목표레벨보다 높아지도록 제3 프로그램 동작을 수행하도록 주변회로(도 1의 120)를 제어한다.
상술한 프로그램 동작은 제1 프로그램 동작(31), 검증 동작(32), 제2 프로그램 동작(33) 및 제3 프로그램 동작(34)을 포함할 수 있다. 각각의 동작을 구체적으로 설명하면 다음과 같다.
1) 제1 프로그램 동작 (31)
프로그램 동작이 시작되면, 선택된 워드라인에 프로그램 펄스를 인가하여 선택된 메모리 셀들의 문턱전압들이 상승하도록 제1 프로그램 동작을 수행한다. TLC 또는 QLC 방식과 같이 최종 목표레벨들의 개수가 많을 경우, 제1 프로그램 동작은 목표레벨이 서로 다른 메모리 셀들을 그룹화한 후, 그룹화된 메모리 셀들의 문턱전압들이 최종 목표레벨보다 낮은 서브레벨로 동시에 상승되도록 수행된다. 예를 들면, 목표레벨이 서로 다른 메모리 셀들로 이루어진 다수의 메모리 셀 그룹들을 정의하고, 메모리 셀 그룹들 각각의 문턱전압을 서로 다른 서브레벨들로 높인다. 이때, 프로그램 동작시간을 단축하기 위하여, 선택된 워드라인에 프로그램 펄스(program pulse)를 인가하여 각 메모리 셀 그룹별로 제1 프로그램 동작을 수행한다. 즉, 서로 다른 프로그램 펄스들을 선택된 워드라인에 순차적으로 인가하여 서로 다른 그룹에 포함된 메모리 셀들의 문턱전압 분포들이 서로 구분되도록 제1 프로그램 동작을 수행한다. 이때, 프로그램 펄스는 선택된 워드라인에 한 번씩 인가될 수 있다. 또한, 선택된 메모리 셀 그룹에 연결된 비트라인들에는 프로그램 허용전압(예컨대, 0V)이 인가되고, 나머지 메모리 셀 그룹들에 연결된 비트라인들에는 프로그램 금지전압(예컨대, VCC)이 인가된다.
2) 검증 동작 (32)
그룹화된 메모리 셀들을 검증하되, 목표레벨의 개수에 따라 설정된 서로 다른 검증레벨들을 사용하여 메모리 셀들을 검증한다. 예를 들면, 제1 메모리 셀 그룹에 포함된 메모리 셀들의 목표레벨의 개수가 2개인 경우에는 2개의 서로 다른 검증레벨들이 사용되고, 목표레벨의 개수가 3개인 경우에는 3개의 서로 다른 검증레벨들이 사용된다.
특히, 검증 동작(32)에 사용되는 검증레벨들은 검증 대상이 되는 메모리 셀들의 문턱전압 분포에 따라 결정되는데, 검증전압은 문턱전압 분포 중 가장 낮은 전압보다 높게 설정된다. 따라서, 검증 동작을 수행하면 검증레벨들보다 낮은 문턱전압을 갖는 메모리 셀들이 존재하고, 이로 인해 검증 동작 결과는 페일이 된다.
3) 제2 프로그램 동작 (33)
검증 동작 결과에 따라, 메모리 셀들의 문턱전압들이 목표레벨의 개수만큼 분리되도록 제2 프로그램 동작을 수행한다. 제2 프로그램 동작은 페일된 메모리 셀들을 대상으로 수행한다. 예를 들면, 페일된 메모리 셀들이 연결된 선택된 워드라인에 프로그램 펄스를 인가하여, 목표레벨에 관계없이 페일된 메모리 셀들을 동시에 높인다. 프로그램 펄스는 동작시간을 단축하기 위하여 선택된 워드라인에 한 번만 인가한다. 서로 다른 검증 동작이 수행된 메모리 셀들을 동일한 프로그램 펄스를 사용하여 프로그램하면, 문턱전압 분포에 차이가 발생한다. 예를 들어, 검증 동작(32)에서 제1 메모리 셀들보다 제2 메모리 셀들에 더 높은 검증레벨이 사용된 경우, 제2 프로그램 동작을 수행하면 제2 메모리 셀들의 문턱전압이 제1 메모리 셀들의 문턱전압보다 더 높게 상승할 수 있다. 이로 인해, 목표레벨이 서로 다른 메모리 셀들의 문턱전압 분포를 서로 분리할 수 있다.
4) 제3 프로그램 동작 (34)
목표레벨들의 개수에 맞게 메모리 셀들의 문턱전압 분포들이 분류되면, 메모리 셀들의 문턱전압들이 각각의 목표레벨에 도달하도록 제2 프로그램 동작을 수행한다. 제3 프로그램 동작은 ISPP(Incremental Step Pulse Program) 방식으로 수행할 수 있다.
상술한 프로그램 방법을 기초로 한 다양한 실시예를 설명하면 다음과 같다.
도 4는 본 발명의 제1 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 소거 상태(ER)인 메모리 셀들의 프로그램 동작이 시작되면, 제1 목표레벨(VT1)로 프로그램될 제1 메모리 셀들(A1)과 제2 목표레벨(VT2)로 프로그램될 제2 메모리 셀들(A2)의 문턱전압들을 동시에 높이기 위한 제1 프로그램 동작(41)을 수행한다. 제1 프로그램 동작(41)은 제1 메모리 셀들(A1)과 제2 메모리 셀들(A2)이 연결된 선택된 워드라인에 프로그램 펄스를 인가하여 수행할 수 있다. 즉, 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 제1 및 제2 메모리 셀들(A1 및 A2)의 문턱전압들을 동시에 높인다. 이때, 제1 프로그램 동작(41)만으로는 제1 및 제2 메모리 셀들(A1 및 A2)의 문턱전압을 제1 또는 제2 목표레벨(VT1 또는 VT2)까지 높이기는 어려우므로, 다음의 동작들을 수행한다.
제1 프로그램 동작(41)이 수행된 제1 및 제2 메모리 셀들(A1 및 A2) 중 제1 메모리 셀들(A1)의 문턱전압을 검증하기 위하여 제1 검증전압(VS1)을 사용한 제1 검증 동작(42)을 수행한다. 예를 들면, 제1 검증전압(VS1)은 제1 프로그램 동작(41)이 수행된 제1 메모리 셀들(A1)의 문턱전압 분포의 1/2에 해당되는 전압으로 설정될 수 있다. 따라서, 제1 검증 동작(42)을 수행하면, 제1 검증전압(VS1)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 제1 검증 동작(42)은 페일(fail)로 결정된다.
제1 검증 동작(42)이 종료되면, 제1 프로그램 동작(41)이 수행된 제1 및 제2 메모리 셀들(A1 및 A2) 중 제2 메모리 셀들(A2)의 문턱전압을 검증하기 위하여 제2 검증전압(VS2)을 사용한 제2 검증 동작(43)을 수행한다. 제2 검증전압(VS2)은 제1 검증전압(VS1)보다 높고 제1 프로그램 동작(41)이 수행된 메모리 셀들의 문턱전압 중 가장 높은 전압(VR)보다 낮은 전압으로 설정될 수 있다. 따라서, 제2 검증 동작(43)을 수행하면, 제2 검증전압(VS2)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 제2 검증 동작(43)은 페일(fail)로 결정된다.
제2 검증 동작(43)이 종료되면, 제1 프로그램 동작(41)으로 인해 동일한 구간에 분포하는 제1 및 제2 메모리 셀들(A1 및 A2)의 문턱전압을 서로 분리하기 위한 제2 프로그램 동작(44)이 수행된다. 제2 프로그램 동작(44)은 제1 및 제2 검증 동작들(42 및 43)에서 페일(fail)된 메모리 셀들에 동시에 수행된다. 예를 들면, 제2 프로그램 동작(44)은 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 수행할 수 있다. 선택된 워드라인에 프로그램 펄스를 인가하면, 제1 및 제2 메모리 셀들(A1 및 A2) 중 페일된 메모리 셀들의 문턱전압이 동시에 높아지는데, 이전 단계에서 수행된 제1 및 제2 검증 동작들(42 및 43)로 인해 메모리 셀들의 문턱전압이 서로 달라진다. 동일한 프로그램 펄스가 선택된 워드라인에 인가되더라도, 상대적으로 더 높은 검증전압이 사용된 메모리 셀들의 문턱전압이 다른 메모리 셀들보다 더 높아진다. 즉, 제1 및 제2 검증 동작들(42 및 43)에서 사용된 제1 및 제2 검증전압들(VS1 및 VS2)의 차이로 인해, 후속 수행하는 제2 프로그램 동작(44)에서 동일한 프로그램 펄스를 사용하더라도 제1 및 제2 메모리 셀들(A1 및 A2)의 문턱전압 분포에 차이가 발생한다.
제2 프로그램 동작(44)에 의해 제1 및 제2 메모리 셀들(A1 및 A2)의 문턱전압 분포가 서로 분리되면, 제3 프로그램 동작(45)을 수행하여 제1 및 제2 메모리 셀들(A1 및 A2)의 문턱전압이 각각의 목표레벨(VT1 및 VT2)에 도달하도록 한다. 예를 들면, 제3 프로그램 동작은 제1 메모리 셀들(A1)에 수행하는 프로그램 동작과 제2 메모리 셀들(A2)에 수행하는 프로그램 동작을 포함한다. 제1 및 제2 메모리 셀들(A1 및 A2)에 각각 수행하는 프로그램 동작들은 ISPP(Incremental Step Pulse Program) 방식으로 수행될 수 있다. 제3 프로그램 동작을 수행하여 제1 메모리 셀들(A1)의 문턱전압이 제1 목표레벨(VT1)보다 높아지고, 제2 메모리 셀들(A2)의 문턱전압이 제2 목표레벨(VT2)보다 높아지면, 제1 및 제2 메모리 셀들(A1 및 A2)이 포함된 페이지(page)의 프로그램 동작이 종료된다.
도 5는 본 발명의 제2 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 소거 상태(ER)인 메모리 셀들의 프로그램 동작이 시작되면, 제1 목표레벨(VT1)로 프로그램될 제1 메모리 셀들(A1), 제2 목표레벨(VT2)로 프로그램될 제2 메모리 셀들(A2) 및 제3 목표레벨(VS3)로 프로그램될 제3 메모리 셀들(A3)의 문턱전압들을 동시에 높이기 위한 제1 프로그램 동작(51)을 수행한다. 제1 프로그램 동작(51)은 제1 내지 제3 메모리 셀들(A1~A3)이 연결된 선택된 워드라인에 프로그램 펄스를 인가하여 수행할 수 있다. 예를 들면, 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압들을 동시에 높인다. 이때, 제1 프로그램 동작(51)만으로는 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압을 제1, 제2 또는 제3 목표레벨(VT1, VT2 또는 VT3)까지 높이기 어려우므로, 다음의 동작들을 수행한다.
제1 프로그램 동작(51)이 수행된 제1 내지 제3 메모리 셀들(A1~A3) 중 제1 메모리 셀들(A1)의 문턱전압을 검증하기 위하여 제1 검증전압(VS1)을 사용한 제1 검증 동작(52)을 수행한다. 제1 검증전압(VS1)은 제1 프로그램 동작(51)이 수행된 제1 메모리 셀들(A1)의 문턱전압 분포의 1/2에 해당되는 전압과 가장 낮은 전압 사이의 전압으로 설정될 수 있다. 따라서, 제1 검증 동작(52)을 수행하면, 제1 검증전압(VS1)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 제1 검증 동작(52)은 페일(fail)로 결정된다.
제1 검증 동작(52)이 종료되면, 제1 프로그램 동작(51)이 수행된 제1 내지 제3 메모리 셀들(A1~A3) 중 제2 메모리 셀들(A2)의 문턱전압을 검증하기 위하여 제2 검증전압(VS2)을 사용한 제2 검증 동작(53)을 수행한다. 제2 검증전압(VS2)은 제1 프로그램 동작(51)이 수행된 제2 메모리 셀들(A2)의 문턱전압 분포의 1/2에 해당되는 전압으로 설정될 수 있다. 따라서, 제2 검증 동작(53)을 수행하면, 제2 검증전압(VS2)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 제2 검증 동작(53)은 페일(fail)로 결정된다.
제2 검증 동작(52)이 종료되면, 제1 프로그램 동작(51)이 수행된 제1 내지 제3 메모리 셀들(A1~A3) 중 제3 메모리 셀들(A3)의 문턱전압을 검증하기 위하여 제3 검증전압(VS3)을 사용한 제3 검증 동작(54)을 수행한다. 제3 검증전압(VS3)은 제2 검증전압(VS2)보다 높고 제1 프로그램 동작(51)이 수행된 메모리 셀들의 문턱전압 중 가장 높은 전압(VR)보다 낮은 전압으로 설정될 수 있다. 따라서, 제3 검증 동작(54)을 수행하면, 제3 검증전압(VS3)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 제3 검증 동작(54)은 페일(fail)로 결정된다.
제3 검증 동작(54)이 종료되면, 제1 프로그램 동작(51)으로 인해 동일한 구간에 분포하는 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압을 서로 분리하기 위한 제2 프로그램 동작(55)이 수행된다. 제2 프로그램 동작(55)은 선택된 워드라인에 프로그램 펄스를 한 번 또는 두 번 인가하여 수행할 수 있다. 예를 들면, 제1 내지 제3 메모리 셀들(A1~A3)이 연결된 비트라인들에 프로그램 허용전압(예컨대, 0V)을 인가하고 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압 분포를 서로 분리할 수 있다. 다만, 프로그램 펄스를 한 번만 사용하는 경우에는, 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압 분포 차이가 크지 않으므로, 프로그램 펄스를 두 번 사용하는 것이 바람직하다.
프로그램 펄스를 두 번 사용하는 경우에는, 제1 내지 제3 메모리 셀들(A1~A3)이 연결된 비트라인들에 프로그램 허용전압을 인가하고 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압 분포를 분리한 후, 제1 메모리 셀들(A1)에 연결된 비트라인들에는 프로그램 금지전압(예컨대, VCC)을 인가하고 제2 및 제3 메모리 셀들(A2 및 A3)에 연결된 비트라인들에는 프로그램 허용전압을 인가하고 선택된 워드라인에 프로그램 펄스를 한 번 더 인가하여 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압 분포를 추가적으로 분리할 수 있다. 두 번째 사용하는 프로그램 펄스는 제2 프로그램 동작(55)에서 처음 사용된 프로그램 펄스보다 높은 레벨을 갖는다. 도 5의 제2 프로그램 동작(55)에는 프로그램 펄스를 두 번 사용한 경우의 문턱전압 분포가 도시되어 있다.
선택된 워드라인에 프로그램 펄스를 인가하면, 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압이 동시에 높아지는데, 이전 단계에서 수행된 제1 내지 제3 검증 동작들(52~54)로 인해 메모리 셀들의 문턱전압이 서로 달라진다. 선택된 워드라인에 동일한 프로그램 펄스가 인가되더라도, 상대적으로 더 높은 검증전압이 사용된 메모리 셀들의 문턱전압이 다른 메모리 셀들보다 더 높아진다. 즉, 제1 내지 제3 검증 동작들(52~54)에서 사용된 제1 내지 제3 검증전압들(VS1, VS2 및 VS3)의 차이로 인해, 후속 수행하는 제2 프로그램 동작(55)에서 동일한 프로그램 펄스를 사용하더라도 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압 분포에 차이가 발생한다.
제2 프로그램 동작(55)에 의해 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압 분포가 서로 분리되면, 제3 프로그램 동작(56)을 수행하여 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압이 각각의 목표레벨(VT1, VT2 또는 VT3)에 도달하도록 한다. 예를 들면, 제3 프로그램 동작(56)은 제1 메모리 셀들(A1)에 수행하는 프로그램 동작과 제2 메모리 셀들(A2)에 수행하는 프로그램 동작 및 제3 메모리 셀들(A3)에 수행하는 프로그램 동작을 포함한다. 제1 내지 제2 메모리 셀들(A1~A3)에 각각 수행하는 프로그램 동작들은 ISPP(Incremental Step Pulse Program) 방식으로 수행될 수 있다. 제3 프로그램 동작(56)을 수행하여 제1 메모리 셀들(A1)의 문턱전압이 제1 목표레벨(VT1)보다 높아지고, 제2 메모리 셀들(A2)의 문턱전압이 제2 목표레벨(VT2)보다 높아지고, 제3 메모리 셀들(A3)의 문턱전압이 제3 목표레벨(VT3)보다 높아지면, 제1 내지 제3 메모리 셀들(A1~A3)이 포함된 페이지(page)의 프로그램 동작이 종료된다.
도 6은 본 발명의 제3 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 소거 상태(ER)인 메모리 셀들의 프로그램 동작이 시작되면, 제1 목표레벨(VT1)로 프로그램될 제1 메모리 셀들(A1), 제2 목표레벨(VT2)로 프로그램될 제2 메모리 셀들(A2) 및 제3 목표레벨(VS3)로 프로그램될 제3 메모리 셀들(A3)의 문턱전압들을 동시에 높이기 위한 제1 프로그램 동작(61)을 수행한다. 제1 프로그램 동작(61)은 제1 내지 제3 메모리 셀들(A1~A3)이 연결된 선택된 워드라인에 프로그램 펄스를 인가하여 수행할 수 있다. 예를 들면, 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압들을 동시에 높인다. 이때, 제1 프로그램 동작(61)만으로는 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압을 제1, 제2 또는 제3 목표레벨(VT1, VT2 또는 VT3)까지 높이기 어려우므로, 다음의 동작들을 수행한다.
제1 프로그램 동작(61)이 수행된 제1 내지 제3 메모리 셀들(A1~A3) 중 제1 메모리 셀들(A1)의 문턱전압을 검증하기 위하여 제1 검증전압(VS1)을 사용한 제1 검증 동작(62)을 수행한다. 제1 검증전압(VS1)은 제1 프로그램 동작(61)이 수행된 제1 메모리 셀들(A1)의 문턱전압 분포의 1/2에 해당되는 전압과 문턱전압 분포에서 가장 높은 전압 사이의 전압으로 설정될 수 있다. 따라서, 제1 검증 동작(62)을 수행하면, 제1 검증전압(VS1)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 제1 검증 동작(62)은 페일(fail)로 결정된다.
제1 검증 동작(62)이 종료되면, 제1 프로그램 동작(61)이 수행된 제1 내지 제3 메모리 셀들(A1~A3) 중 제2 메모리 셀들(A2)의 문턱전압을 검증하기 위하여 제2 검증전압(VS2)을 사용한 제2 검증 동작(63)을 수행한다. 제2 검증전압(VS2)은 제1 프로그램 동작(61)이 수행된 제2 메모리 셀들(A2)의 문턱전압 분포에서 가장 높은 전압과 제2 목표레벨(VT2) 사이의 전압으로 설정될 수 있다. 따라서, 제2 검증 동작(63)을 수행하면, 제2 검증전압(VS2)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 제2 검증 동작(63)은 페일(fail)로 결정된다.
제2 검증 동작(62)이 종료되면, 제1 프로그램 동작(61)이 수행된 제1 내지 제3 메모리 셀들(A1~A3) 중 제3 메모리 셀들(A3)의 문턱전압을 검증하기 위하여 제3 검증전압(VS3)을 사용한 제3 검증 동작(64)을 수행한다. 제3 검증전압(VS3)은 제2 검증전압(VS2)과 제3 목표레벨(VR3) 사이의 전압으로 설정될 수 있다. 따라서, 제3 검증전압(VS3)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 제3 검증 동작(64)은 페일(fail)로 결정된다.
제3 검증 동작(64)이 종료되면, 제1 프로그램 동작(61)으로 인해 동일한 구간에 분포하는 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압을 서로 분리하기 위한 제2 프로그램 동작(65)이 수행된다. 제2 프로그램 동작(65)은 선택된 워드라인에 프로그램 펄스를 세 번 인가하여 수행할 수 있다. 예를 들면, 제1 내지 제3 메모리 셀들(A1~A3)이 연결된 비트라인들에 프로그램 허용전압을 인가하고 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압 분포를 분리한 후, 제1 메모리 셀들(A1)에 연결된 비트라인들에는 프로그램 금지전압(예컨대, VCC)을 인가하고 제2 및 제3 메모리 셀들(A2 및 A3)에 연결된 비트라인들에는 프로그램 허용전압을 인가하고 선택된 워드라인에 프로그램 펄스를 한 번 더 인가하여 제1 메모리 셀들(A1)의 문턱전압 분포와 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압 분포를 서로 분리한 후, 제1 및 제2 메모리 셀들(A1 및 A2)에 연결된 비트라인들에는 프로그램 금지전압을 인가하고 제3 메모리 셀들(A3)에 연결된 비트라인들에는 프로그램 허용전압을 인가하고 선택된 워드라인에 프로그램 펄스를 한 번 더 인가하여 제1 및 제2 메모리 셀들(A1 및 A2)의 문턱전압 분포와 제3 메모리 셀들(A3)의 문턱전압 분포를 서로 분리할 수 있다. 두 번째 사용된 프로그램 펄스는 제2 프로그램 동작(65)에서 처음 사용된 프로그램 펄스보다 높은 레벨을 가지며, 세 번째 사용된 프로그램 펄스는 제2 프로그램 동작(65)에서 두 번째로 사용된 프로그램 펄스보다 높은 레벨을 갖는다.
선택된 워드라인에 프로그램 펄스를 인가하면, 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압이 동시에 높아지는데, 이전 단계에서 수행된 제1 내지 제3 검증 동작들(62~64)로 인해 메모리 셀들의 문턱전압이 서로 달라진다. 선택된 워드라인에 동일한 프로그램 펄스가 인가되더라도, 상대적으로 더 높은 검증전압이 사용된 메모리 셀들의 문턱전압이 다른 메모리 셀들보다 더 높아진다. 즉, 제2 프로그램 동작(65)에서 동일한 프로그램 펄스를 사용하더라도, 제1 내지 제3 검증 동작들(62~64)에서 사용된 제1 내지 제3 검증전압들(VS1, VS2 및 VS3)의 차이로 인해 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압 분포에 차이가 발생한다.
제2 프로그램 동작(65)에 의해 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압 분포가 서로 분리되면, 제3 프로그램 동작(66)을 수행하여 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압이 각각의 목표레벨(VT1, VT2 또는 VT3)에 도달하도록 한다. 예를 들면, 제3 프로그램 동작(66)은 제1 메모리 셀들(A1)에 수행하는 프로그램 동작과 제2 메모리 셀들(A2)에 수행하는 프로그램 동작 및 제3 메모리 셀들(A3)에 수행하는 프로그램 동작을 포함한다. 제1 내지 제2 메모리 셀들(A1~A3)에 각각 수행하는 프로그램 동작들은 ISPP(Incremental Step Pulse Program) 방식으로 수행될 수 있다. 제3 프로그램 동작(66)을 수행하여 제1 메모리 셀들(A1)의 문턱전압이 제1 목표레벨(VT1)보다 높아지고, 제2 메모리 셀들(A2)의 문턱전압이 제2 목표레벨(VT2)보다 높아지고, 제3 메모리 셀들(A3)의 문턱전압이 제3 목표레벨(VT3)보다 높아지면, 제1 내지 제3 메모리 셀들(A1~A3)이 포함된 페이지(page)의 프로그램 동작이 종료된다.
도 7은 본 발명의 제4 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 소거 상태(ER)인 메모리 셀들의 프로그램 동작이 시작되면, 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압을 동시에 높이기 위한 제1 프로그램 동작(71)을 수행한다. 제1 메모리 셀들(A1)은 문턱전압이 제1 목표레벨(VT1)까지 높아지도록 프로그램될 메모리 셀들이고, 제2 메모리 세들(A2)은 문턱전압이 제1 목표레벨(VT1)보다 높은 제2 목표레벨(VT2)까지 높아지도록 프로그램될 메모리 셀들이고, 제3 메모리 셀들(A3)은 문턱전압이 제2 목표레벨(VT2)보다 높은 제3 목표레벨(VT3)까지 높아지도록 프로그램될 메모리 셀들이고, 제4 메모리 세들(A4)은 문턱전압이 제3 목표레벨(VT3)보다 높은 제4 목표레벨(VT4)까지 높아지도록 프로그램될 메모리 셀들이다.
제1 프로그램 동작(71)은 제1 내지 제4 메모리 셀들(A1~A4)이 연결된 선택된 워드라인에 프로그램 펄스를 인가하여 수행할 수 있다. 즉, 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압들을 동시에 높인다. 이때, 제1 프로그램 동작(71)만으로는 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압을 충분히 높이는데 한계가 있으므로, 다음의 동작들을 수행한다.
제1 프로그램 동작(71)이 수행된 제1 내지 제4 메모리 셀들(A1~A4) 중 제1 메모리 셀들(A1)의 문턱전압을 검증하기 위하여 제1 검증전압(VS1)을 사용한 제1 검증 동작(72)을 수행한다. 제1 검증전압(VS1)은 제1 프로그램 동작(71)이 수행된 제1 메모리 셀들(A1)의 문턱전압 분포의 1/2에 해당되는 전압으로 설정될 수 있다. 따라서, 제1 검증 동작(72)을 수행하면, 제1 검증전압(VS1)보다 낮은 문턱전압을 갖는 메모리 셀들이 항상 존재하기 때문에 제1 검증 동작(72)은 페일(fail)로 결정된다.
제1 검증 동작(72)이 종료되면, 제1 프로그램 동작(71)이 수행된 제1 내지 제4 메모리 셀들(A1~A4) 중 제2 메모리 셀들(A2)의 문턱전압을 검증하기 위하여 제2 검증전압(VS2)을 사용한 제2 검증 동작(73)을 수행한다. 제2 검증전압(VS2)은 제1 검증전압(VS1)과 문턱전압 분포에서 가장 높은 전압 사이의 전압으로 설정될 수 있다. 따라서, 제2 검증 동작(73)은 제2 검증전압(VS2)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 항상 페일(fail)로 결정된다.
제2 검증 동작(73)이 종료되면, 제1 프로그램 동작(71)이 수행된 제1 내지 제4 메모리 셀들(A1~A4) 중 제3 메모리 셀들(A3)의 문턱전압을 검증하기 위하여 제3 검증전압(VS3)을 사용한 제3 검증 동작(74)을 수행한다. 제3 검증전압(VS3)은 제2 검증전압(VS1)과 제3 목표레벨(VT3) 사이의 전압으로 설정될 수 있다. 따라서, 제3 검증 동작(74)은 제3 검증전압(VS3)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 항상 페일(fail)로 결정된다.
제3 검증 동작(74)이 종료되면, 제1 프로그램 동작(71)이 수행된 제1 내지 제4 메모리 셀들(A1~A4) 중 제4 메모리 셀들(A4)의 문턱전압을 검증하기 위하여 제4 검증전압(VS4)을 사용한 제4 검증 동작(75)을 수행한다. 제4 검증전압(VS4)은 제3 검증전압(VS3)과 제4 목표레벨(VT4) 사이의 전압으로 설정될 수 있다. 따라서, 제4 검증 동작(75)은 제4 검증전압(VS4)보다 낮은 문턱전압을 갖는 메모리 셀들에 의해 항상 페일(fail)로 결정된다.
제4 검증 동작(75)이 종료되면, 제1 프로그램 동작(61)으로 인해 동일한 구간에 분포하는 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압을 서로 분리하기 위한 제2 프로그램 동작(76)이 수행된다. 제2 프로그램 동작(76)은 제1 내지 제4 메모리 셀들(A1~A4)에 동시에 수행된다. 예를 들면, 제2 프로그램 동작(76)은 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 수행할 수 있다. 선택된 워드라인에 프로그램 펄스를 인가하면, 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압이 동시에 높아지는데, 이전 단계에서 수행된 제1 내지 제4 검증 동작들(72~75)로 인해 메모리 셀들의 문턱전압이 서로 달라진다. 동일한 프로그램 펄스가 선택된 워드라인에 인가되더라도, 다른 메모리 셀들보다 상대적으로 더 높은 검증전압이 사용된 메모리 셀들의 문턱전압이 더 높아진다. 즉, 제2 프로그램 동작(76)에서 동일한 프로그램 펄스를 사용하더라도, 제1 내지 제4 검증 동작들(72~75)에서 사용된 제1 내지 제2 검증전압들(VS1~VS4)의 차이로 인해 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압 분포에 차이가 발생한다.
제2 프로그램 동작(76)이 종료된 후, 제3 및 제4 메모리 셀들(A3 및 A4)의 문턱전압 분포를 추가로 높이기 위하여 제3 프로그램 동작(77)을 수행할 수 있다. 제3 프로그램 동작(77)에서는 제1 및 제2 메모리 셀들(A1 및 A2)이 비선택되고, 제3 및 제4 메모리 셀들(A3 및 A4)이 선택된다. 예를 들면, 제1 및 제2 메모리 셀들(A1 및 A2)에 연결된 비트라인들에는 프로그램 금지전압을 인가하고, 제3 및 제4 메모리 셀들(A3 및 A4)에 연결된 비트라인들에는 프로그램 허용전압을 인가하고, 선택된 워드라인에 프로그램 펄스를 인가하여 제3 및 제4 메모리 셀들(A3 및 A4)의 문턱전압을 높일 수 있다. 제3 프로그램 동작(77)는 제2 프로그램 동작(76)보다 높은 레벨을 갖는 프로그램 펄스를 선택된 워드라인에 한 번 인가하여 수행할 수 있다.
제3 프로그램 동작(77)에 의해 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압 분포가 서로 분리되면, 제4 프로그램 동작(78)을 수행하여 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압이 각각의 목표레벨(VT1~VT4)에 도달하도록 한다. 예를 들면, 제4 프로그램 동작은 ISPP(Incremental Step Pulse Program) 방식으로 수행될 수 있다. 제4 프로그램 동작(78)을 수행하여 제1 내지 제4 메모리 셀들(A1~A4)의 문턱전압이 제1 내지 제4 목표레벨(VT1~VT4)보다 높아지면, 제1 내지 제4 메모리 셀들(A1~A4)이 포함된 페이지(page)의 프로그램 동작이 종료된다.
도 4 내지 제7에서 상술한 실시예들을 적용한 다양한 프로그램 방법을 설명하면 다음과 같다.
도 8은 본 발명의 실시예를 적용한 트리플 레벨 셀 방식의 제1 실시예를 설명하기 위한 도면이다.
도 8을 참조하면, 소거 상태(ER)인 제1 내지 제7 메모리 셀들(A1~A7) 중, 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압을 동시에 높이고, 제4 및 제5 메모리 셀들(A4 및 A5)의 문턱전압을 동시에 높이고, 제6 메모리 셀들(A6)의 문턱전압을 높인 후, 제7 메모리 셀들(A7)의 문턱전압을 높이기 위한 제1 프로그램 동작(81)을 수행한다. 제1 프로그램 동작(81)을 구체적으로 설명하면 다음과 같다.
선택된 메모리 블록에 대한 프로그램 동작 명령이 제어회로에 인가되면, 제어회로는 선택된 메모리 블록의 소거 동작이 우선적으로 수행되도록 주변회로를 제어한다. 소거 동작이 완료되면, 선택된 메모리 블록에는 소거 상태(ER)인 메모리 셀들만 존재한다. 소거 상태(ER)인 메모리 셀들 중, 목표레벨이 서로 다른 메모리 셀들을 각각 제1 메모리 셀들(A1), 제2 메모리 셀들(A2), 제3 메모리 셀들(A3), 제4 메모리 셀들(A4), 제5 메모리 셀들(A5), 제6 메모리 셀들(A6) 및 제7 메모리 셀들(A7)로 정의된다. 제1 메모리 셀들(A1)은 목표레벨이 제1 목표레벨(VT1)인 프로그램 대상 셀들이고, 제2 메모리 셀들(A2)은 목표레벨이 제1 목표레벨(VT1)보다 높은 제2 목표레벨(VT2)인 프로그램 대상 셀들이고, 제3 메모리 셀들(A3)은 목표레벨이 제2 목표레벨(VT2)보다 높은 제3 목표레벨(VT3)인 프로그램 대상 셀들이고, 제4 메모리 셀들(A4)은 목표레벨이 제3 목표레벨(VT3)보다 높은 제4 목표레벨(VT4)인 프로그램 대상 셀들이고, 제5 메모리 셀들(A5)은 목표레벨이 제4 목표레벨(VT4)보다 높은 제5 목표레벨(VT5)인 프로그램 대상 셀들이고, 제6 메모리 셀들(A6)은 목표레벨이 제5 목표레벨(VT5)보다 높은 제6 목표레벨(VT6)인 프로그램 대상 셀들이고, 제7 메모리 셀들(A7)은 목표레벨이 제6 목표레벨(VT6)보다 높은 제7 목표레벨(VT7)인 프로그램 대상 셀들이다.
제1 프로그램 동작(81)은 다음과 같이 수행될 수 있다.
제2 및 제3 메모리 셀들(A2 및 A3)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제1 프로그램 펄스를 인가하여 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압을 높인다. 이어서, 제4 및 제5 메모리 셀들(A4 및 A5)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제1 프로그램 펄스보다 레벨이 높은 제2 프로그램 펄스를 인가하여 제4 및 제5 메모리 셀들(A4 및 A5)의 문턱전압을 높인다. 이어서, 제6 메모리 셀들(A6)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제2 프로그램 펄스보다 레벨이 높은 제3 프로그램 펄스를 인가하여 제6 메모리 셀들(A6)의 문턱전압을 높인다. 이어서, 제7 메모리 셀들(A7)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제3 프로그램 펄스보다 레벨이 높은 제4 프로그램 펄스를 인가하여 제7 메모리 셀들(A7)의 문턱전압을 높인다. 제1 내지 제4 프로그램 펄스를 선택된 워드라인에 인가할 때, 프로그램 동작시간을 단축하기 위하여, 제1 내지 제4 프로그램 펄스 각각은 선택된 워드라인에 한 번씩만 인가된다.
상술한 제1 프로그램 동작(81)에서 프로그램 펄스를 선택된 워드라인에 4번 인가함으로써, 선택된 메모리 블록에 포함된 메모리 셀들의 문턱전압을 소거 상태 및 제1 메모리 셀들(ER 및 A1)의 문턱전압 분포와, 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압 분포와, 제4 및 제5 메모리 셀들(A4 및 A5)의 문턱전압 분포와, 제6 메모리 셀들(A6)의 문턱전압 분포와 제7 메모리 셀들(A7)의 문턱전압 분포, 이렇게 5개의 문턱전압 분포들로 구분할 수 있다.
제1 프로그램 동작(81)이 완료되면, 도 4 내지 도 7에서 상술한 바와 같이, 제1 내지 제7 메모리 셀들(A1~A7)에 대하여 서로 다른 검증전압을 사용한 검증 동작을 수행한다. 검증 동작이 완료되면 5개의 문턱전압 분포들을 최종 문턱전압 개수인 8개로 구분하기 위한 제2 프로그램 동작(82)을 수행한다.
제2 프로그램 동작(82)은 다음과 같이 수행될 수 있다.
제1 메모리 셀들(A1)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제5 프로그램 펄스를 인가하여 제1 메모리 셀들(A1)의 문턱전압을 소거 상태(ER)보다 높인다. 이어서, 제2 및 제3 메모리 셀들(A2 및 A3)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제5 프로그램 펄스보다 레벨이 높은 제6 프로그램 펄스를 인가하여 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압을 높인다. 제2 및 제3 메모리 셀들(A2 및 A3)은 제6 프로그램 펄스에 의해 동시에 프로그램되지만, 이전에 수행된 검증 동작에 의해 제3 메모리 셀들(A3)의 문턱전압이 제2 메모리 셀들(A2)의 문턱전압보다 더 높아진다. 이어서, 제4 및 제5 메모리 셀들(A4 및 A5)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제6 프로그램 펄스보다 레벨이 높은 제7 프로그램 펄스를 인가하여 제4 및 제5 메모리 셀들(A4 및 A5)의 문턱전압을 높인다. 제4 및 제5 메모리 셀들(A4 및 A5)은 제7 프로그램 펄스에 의해 동시에 프로그램되지만, 이전에 수행된 검증 동작에 의해 제5 메모리 셀들(A5)의 문턱전압이 제4 메모리 셀들(A4)의 문턱전압보다 더 높아진다. 이어서, 제6 메모리 셀들(A6)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제7 프로그램 펄스보다 레벨이 높은 제8 프로그램 펄스를 인가하여 제6 메모리 셀들(A6)의 문턱전압을 높인다. 이어서, 제7 메모리 셀들(A7)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제8 프로그램 펄스보다 레벨이 높은 제9 프로그램 펄스를 인가하여 제7 메모리 셀들(A7)의 문턱전압을 높인다.
상술한 제2 프로그램 동작에서 상술한 바와 같이, 프로그램 펄스를 선택된 워드라인에 5번 인가함으로써, 선택된 메모리 블록에 포함된 메모리 셀들의 문턱전압을 소거 상태(ER), 제1 메모리 셀들(A1)의 문턱전압 분포와, 제2 메모리 셀들(A2)의 문턱전압 분포와, 제3 메모리 셀들(A3)의 문턱전압 분포와, 제4 메모리 셀들(A4)의 문턱전압 분포와, 제5 메모리 셀들(A5)의 문턱전압 분포와, 제6 메모리 셀들(A6)의 문턱전압 분포와, 제7 메모리 셀들(A7)의 문턱전압 분포, 이렇게 8개의 문턱전압 분포들로 구분할 수 있다.
제2 프로그램 동작(82)이 종료되어 문턱전압 분포 개수가 8개가 되면, 제1 내지 제7 메모리 셀들(A1~A7)의 문턱전압이 제1 내지 제7 목표레벨들(VT1~VT7)에 도달할 때까지 ISPP(Incremental Step Pulse) 방식으로 프로그램 동작(83~85)을 수행한다.
상술한 바와 같이 TLC 방식의 프로그램 동작을 수행하면, 프로그램 펄스의 사용 횟수를 줄일 수 있으므로, 프로그램 동작시간을 단축할 수 있다.
도 9는 도 8의 프로그램 동작에서 사용되는 프로그램 펄스와 검증전압을 설정하는 방법을 설명하기 위한 도면이다.
도 9를 참조하여, 메모리 셀들의 문턱전압을 높이는 단계에서의 프로그램 펄스 설정 방법과, 문턱전압 분포의 폭을 좁히는 단계에서의 프로그램 펄스 및 검증전압 설정 방법을 각각 설명하도록 한다.
1) 문턱전압을 높이는 단계
소거 상태인 메모리 셀들의 문턱전압을 처음 높이는 시작 프로그램 펄스는 미리 설정된 레벨을 갖는다. 즉, 시작 프로그램 펄스는 반도체 메모리 장치에 미리 설정되어 있는 레벨을 사용한다. 시작 프로그램 펄스의 레벨을 'VB1'(단위: Volt)으로 정의한다. 도 9에서 'H1'은 소거 상태인 메모리 셀들에 시작 프로그램 펄스(VB1)를 한 번 인가한 후의 메모리 셀들의 문턱전압 분포이다. 이는, 도 8의 제1 프로그램 동작(81)에 대응될 수 있다. 예를 들면, 도 8의 제1 프로그램 동작(81)에서는 제1 내지 제4 프로그램 펄스들이 사용되는데, 제1 내지 제4 프로그램 펄스들은 각각 미리 설정된 레벨을 갖는다. 설명의 편의를 위하여, 'H1'의 문턱전압 분포를 제1 문턱전압 분포(H1)라고 정의하고, 제1 문턱전압 분포(H1)의 가장 낮은 전압 레벨을 0V라고 하고 가장 높은 전압 레벨을 'R1'(단위: Volt)이라고 정의한다. 따라서, 제1 문턱전압 분포(H1)의 폭은 'R1'이 된다.
제1 프로그램 펄스를 인가하여 메모리 셀들이 제1 문턱전압 분포(H1)를 갖도록 한 후, 제2 프로그램 펄스의 레벨(VB2)은 '수학식 1'과 같이 설정될 수 있다.
Figure pat00001
'수학식 1'을 참조하면, 'VB2'는 다음(next) 프로그램 펄스의 레벨(단위: Volt)이고, 'R2'는 다음 프로그램 펄스에 의해 프로그램되는 메모리 셀들의 문턱전압 중 가장 높게 예상되는 전압(단위: Volt)을 의미한다. 즉, 'R2'는 반도체 메모리 장치에 미리 설정된 값이며, 다음 프로그램 펄스의 레벨(VB2)은 제1 프로그램 펄스의 레벨(VB1), 'R1' 및 'R2'를 '수학식 1'과 같이 연산하여 산출될 수 있다.
'수학식 1'에 의해 레벨이 결정된 제2 프로그램 펄스를 이용하여 메모리 셀들을 프로그램하면, 메모리 셀들의 문턱전압은 도 9의 'H2'와 같이 높아진다. 'H2'의 문턱전압 분포는 제2 문턱전압 분포(H2)로 정의되며, 제2 문턱전압 분포(H2)는 도 8의 제2 프로그램 동작(82)에 대응될 수 있다. 예를 들면, 제1 내지 제7 메모리 셀들 각각에 해당되는 'R2', 'R1' 및 제1 프로그램 펄스의 레벨(VB1)을 각각 연산하여, 제5 내지 제9 프로그램 펄스들을 각각 산출하고, 산출된 제5 내지 제9 프로그램 펄스들을 이용하여 도 8의 제2 프로그램 동작(82)을 수행할 수 있다.
2) 문턱전압 분포의 폭을 좁히는 단계
메모리 셀들이 제2 프로그램 펄스에 의해 제2 문턱전압 분포(H2)를 가지면, 제2 문턱전압 분포(H2)의 폭(W)을 좁히기 위한 프로그램 동작을 수행한다. 이는, 도 8의 제3 프로그램 동작(83)에 대응될 수 있다. 문턱전압 분포의 폭을 좁히는 단계는 ISPP 방식의 프로그램 방법으로 수행할 수 있다. ISPP 방식의 프로그램 방법은 프로그램 펄스를 선택된 워드라인에 인가하여 메모리 셀들의 문턱전압을 높이는 단계와 메모리 셀들을 검증하는 단계를 포함한다. 메모리 셀들의 문턱전압을 높이는 단계에서 프로그램 펄스의 레벨(VB3)은 '수학식 2'와 같이 설정될 수 있다.
Figure pat00002
'수학식 2'를 참조하면, 'W'는 제2 문턱전압 분포(H2)의 폭(단위: Volt)을 의미한다. ISPP 방식의 프로그램 동작에서, 프로그램 펄스의 레벨(VB3)은 이전 프로그램 펄스의 레벨(VB2)과 문턱전압 분포의 폭(W)을 '수학식 2'와 같이 연산하여 산출될 수 있다. 산출된 프로그램 펄스를 이용하여 메모리 셀들의 문턱전압을 상승시킨 후, 메모리 셀들을 검증하는 단계를 수행한다.
메모리 셀들을 검증하는 단계에서 검증전압(Vf)은 '수학식 3'과 같이 설정될 수 있다.
Figure pat00003
'수학식 3'을 참조하면, 검증전압(Vf)은 제2 문턱전압 분포(H2)에서 가장 높은 전압(R2)과 제2 문턱전압 분포(H2)의 폭(W)을 연산하여 산출된다. 제2 문턱전압 분포(H2)의 폭(W)을 반으로 좁히기 위해 제2 문턱전압 분포(H2)의 중심을 기준으로 하여 기준보다 낮은 문턱전압을 갖는 메모리 셀들을 후속 프로그램 펄스를 이용하여 프로그램함으로써, 문턱전압 분포(H3)의 폭을 좁힐 수 있다.
도 10은 본 발명의 실시예를 적용한 트리플 레벨 셀 방식의 제2 실시예를 설명하기 위한 도면이다.
도 10을 참조하면, 소거 상태(ER)인 제1 내지 제7 메모리 셀들(A1~A7) 중, 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압을 동시에 높이고, 제4 및 제5 메모리 셀들(A4 및 A5)의 문턱전압을 동시에 높이고, 제6 및 제7 메모리 셀들(A6 및 A7)의 문턱전압을 높이기 위한 제1 프로그램 동작(101)을 수행한다. 제1 프로그램 동작(101)을 구체적으로 설명하면 다음과 같다.
선택된 메모리 블록에 대한 프로그램 동작 명령이 제어회로에 인가되면, 제어회로는 선택된 메모리 블록의 소거 동작이 우선적으로 수행되도록 주변회로를 제어한다. 소거 동작이 완료되면, 선택된 메모리 블록에는 소거 상태(ER)인 메모리 셀들만 존재한다. 소거 상태(ER)인 메모리 셀들 중, 목표레벨이 서로 다른 메모리 셀들을 각각 제1 메모리 셀들(A1), 제2 메모리 셀들(A2), 제3 메모리 셀들(A3), 제4 메모리 셀들(A4), 제5 메모리 셀들(A5), 제6 메모리 셀들(A6) 및 제7 메모리 셀들(A7)로 정의된다. 제1 메모리 셀들(A1)은 목표레벨이 제1 목표레벨(VT1)인 프로그램 대상 셀들이고, 제2 메모리 셀들(A2)은 목표레벨이 제1 목표레벨(VT1)보다 높은 제2 목표레벨(VT2)인 프로그램 대상 셀들이고, 제3 메모리 셀들(A3)은 목표레벨이 제2 목표레벨(VT2)보다 높은 제3 목표레벨(VT3)인 프로그램 대상 셀들이고, 제4 메모리 셀들(A4)은 목표레벨이 제3 목표레벨(VT3)보다 높은 제4 목표레벨(VT4)인 프로그램 대상 셀들이고, 제5 메모리 셀들(A5)은 목표레벨이 제4 목표레벨(VT4)보다 높은 제5 목표레벨(VT5)인 프로그램 대상 셀들이고, 제6 메모리 셀들(A6)은 목표레벨이 제5 목표레벨(VT5)보다 높은 제6 목표레벨(VT6)인 프로그램 대상 셀들이고, 제7 메모리 셀들(A7)은 목표레벨이 제6 목표레벨(VT6)보다 높은 제7 목표레벨(VT7)인 프로그램 대상 셀들이다.
제1 프로그램 동작(101)은 다음과 같이 수행될 수 있다.
제2 및 제3 메모리 셀들(A2 및 A3)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제1 프로그램 펄스를 인가하여 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압을 높인다. 이어서, 제4 및 제5 메모리 셀들(A4 및 A5)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제1 프로그램 펄스보다 레벨이 높은 제2 프로그램 펄스를 인가하여 제4 및 제5 메모리 셀들(A4 및 A5)의 문턱전압을 높인다. 이어서, 제6 및 제7 메모리 셀들(A6 및 A7)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제2 프로그램 펄스보다 레벨이 높은 제3 프로그램 펄스를 인가하여 제6 및 제7 메모리 셀들(A6 및 A7)의 문턱전압을 높인다. 제1 내지 제3 프로그램 펄스를 선택된 워드라인에 인가할 때, 프로그램 동작시간을 단축하기 위하여, 제1 내지 제3 프로그램 펄스 각각은 선택된 워드라인에 한 번씩만 인가된다.
상술한 제1 프로그램 동작(101)에서 프로그램 펄스를 선택된 워드라인에 3번 인가함으로써, 선택된 메모리 블록에 포함된 메모리 셀들의 문턱전압을 소거 상태 및 제1 메모리 셀들(ER 및 A1)의 문턱전압 분포와, 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압 분포와, 제4 및 제5 메모리 셀들(A4 및 A5)의 문턱전압 분포와, 제6 및 제7 메모리 셀들(A6 및 A7)의 문턱전압 분포, 이렇게 4개의 문턱전압 분포들로 구분할 수 있다.
제1 프로그램 동작(101)이 완료되면, 도 4 내지 도 7에서 상술한 바와 같이, 제1 내지 제7 메모리 셀들(A1~A7)에 대하여 서로 다른 검증전압을 사용한 검증 동작을 수행한다. 검증 동작이 완료되면 4개의 문턱전압 분포들을 최종 문턱전압 개수인 8개로 구분하기 위한 제2 프로그램 동작(102)을 수행한다.
제2 프로그램 동작(102)은 다음과 같이 수행될 수 있다.
제1 메모리 셀들(A1)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제4 프로그램 펄스를 인가하여 제1 메모리 셀들(A1)의 문턱전압을 소거 상태(ER)보다 높인다. 이어서, 제2 및 제3 메모리 셀들(A2 및 A3)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제4 프로그램 펄스보다 레벨이 높은 제5 프로그램 펄스를 인가하여 제2 및 제3 메모리 셀들(A2 및 A3)의 문턱전압을 높인다. 제2 및 제3 메모리 셀들(A2 및 A3)은 제5 프로그램 펄스에 의해 동시에 프로그램되지만, 이전에 수행된 검증 동작에 의해 제3 메모리 셀들(A3)의 문턱전압이 제2 메모리 셀들(A2)의 문턱전압보다 더 높아진다. 이어서, 제4 및 제5 메모리 셀들(A4 및 A5)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제5 프로그램 펄스보다 레벨이 높은 제6 프로그램 펄스를 인가하여 제4 및 제5 메모리 셀들(A4 및 A5)의 문턱전압을 높인다. 제4 및 제5 메모리 셀들(A4 및 A5)은 제6 프로그램 펄스에 의해 동시에 프로그램되지만, 이전에 수행된 검증 동작에 의해 제5 메모리 셀들(A5)의 문턱전압이 제4 메모리 셀들(A4)의 문턱전압보다 더 높아진다. 이어서, 제6 및 제7 메모리 셀들(A6 및 A7)에 연결된 비트라인들에 프로그램 허용전압을 인가하고 나머지 비트라인들에 프로그램 금지전압을 인가한 상태에서, 선택된 워드라인에 제6 프로그램 펄스보다 레벨이 높은 제7 프로그램 펄스를 인가하여 제6 및 제7 메모리 셀들(A6 및 A7)의 문턱전압을 높인다.
상술한 제2 프로그램 동작(102)에서 프로그램 펄스를 선택된 워드라인에 4번 인가함으로써, 선택된 메모리 블록에 포함된 메모리 셀들의 문턱전압을 소거 상태(ER), 제1 메모리 셀들(A1)의 문턱전압 분포와, 제2 메모리 셀들(A2)의 문턱전압 분포와, 제3 메모리 셀들(A3)의 문턱전압 분포와, 제4 메모리 셀들(A4)의 문턱전압 분포와, 제5 메모리 셀들(A5)의 문턱전압 분포와, 제6 메모리 셀들(A6)의 문턱전압 분포와, 제7 메모리 셀들(A7)의 문턱전압 분포, 이렇게 8개의 문턱전압 분포들로 구분할 수 있다.
제2 프로그램 동작(102)이 종료되어 문턱전압 분포 개수가 8개가 되면, 제1 내지 제7 메모리 셀들(A1~A7)의 문턱전압이 제1 내지 제7 목표레벨들(VT1~VT7)에 도달할 때까지 ISPP(Incremental Step Pulse) 방식으로 프로그램 동작(103~105)을 수행한다. ISPP 방식에서 사용되는 프로그램 펄스 및 검증전압은 도 9에서 상술한 방법으로 설정될 수 있다.
상술한 바와 같이 TLC 방식의 프로그램 동작을 수행하면, 프로그램 펄스의 사용 횟수를 줄일 수 있으므로, 프로그램 동작시간을 단축할 수 있다. 또한, 문턱전압 분포의 폭을 좁힐 수 있으므로, 프로그램 동작의 신뢰성을 개선할 수 있다.
도 11은 본 발명에 따른 실시예를 적용한 쿼드러플 레벨 셀 방식의 프로그램 방법을 설명하기 위한 도면이다.
도 11을 참조하면, 쿼드러플 레벨 셀(QLC) 방식의 프로그램 방법도 상술한 TLC 방식의 프로그램 방법을 적용하여 수행할 수 있다. 예를 들면, 제1 프로그램 동작(111)을 수행하여 소거 상태(ER)인 제1 내지 제15 메모리 셀들(A1~A15) 중, 제1 내지 제3 메모리 셀들(A1~A3)의 문턱전압을 동시에 높이고, 제4 내지 제6 메모리 셀들(A4~A6)의 문턱전압을 동시에 높이고, 제7 내지 제9 메모리 셀들(A7~A9)의 문턱전압을 동시에 높이고, 제10 내지 제12 메모리 셀들(A10~A12)의 문턱전압을 동시에 높이고, 제13 내지 제15 메모리 셀들(A13~A15)의 문턱전압을 동시에 높인다. 각 그룹의 메모리 셀들의 문턱전압을 높이는 각각의 단계는 선택된 워드라인에 프로그램 펄스를 한 번씩 인가하여 수행할 수 있다. 도 11의 제1 프로그램 동작(111)은 도 5의 제1 프로그램 동작(51)을 참조하여 수행할 수 있다.
제1 프로그램 동작(111)이 완료되면, 제1 내지 제15 메모리 셀들(A1~A15)을 서로 다른 검증전압들을 이용한 검증 동작을 수행한다. 검증 동작은 도 5의 제1 내지 제3 검증 동작들(52~54)을 참조하여 수행할 수 있다.
제2 프로그램 동작(112)을 수행하여 제1 내지 제15 메모리 셀들(A1~A15)의 문턱전압 분포들을 분리한다. 도 11의 제2 프로그램 동작(112)은 도 5의 제2 프로그램 동작(55)을 참조하여 수행할 수 있다.
제3 프로그램 동작(113)을 수행하여 제1 내지 제15 메모리 셀들(A1~A15)의 문턱전압이 각각의 목표레벨(VT1~VT15)에 도달하도록 한다. 도 11의 제3 프로그램 동작(112)은 도 5의 제3 프로그램 동작(55)과 같이 ISPP 방식으로 수행될 수 있으며, 프로그램 펄스 및 검증전압은 도 9에서 상술한 바와 같이 설정될 수 있다.
TLC 또는 QLC 방식 외에도, QLC 방식보다 더 많은 문턱전압 분포를 갖는 프로그램 방법에도 상술한 프로그램 방법을 적용할 수 있다.
도 12는 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 솔리드 스테이트 드라이브를 설명하기 위한 블록도이다.
도 12를 참조하면, 드라이브 장치(2000)는 호스트(2100; Host)와 SSD(2200)를 포함한다. SSD(2200)는 SSD 제어부(2210; SSD Controller), 버퍼 메모리(2220; Buffer Memory) 및 반도체 메모리 장치(1100)를 포함한다.
SSD 제어부(2210)는 호스트(2100)와 SSD(2200)와의 물리적 연결을 제공한다. 즉, SSD 제어부(2210)는 호스트(2100)의 버스 포맷(Bus Format)에 대응하여 SSD(2200)와의 인터페이싱을 제공한다. 특히, SSD 제어부(2210)는 호스트(2100)로부터 제공되는 명령어를 디코딩한다. 디코딩된 결과에 따라, SSD 제어부(2210)는 반도체 메모리 장치(1100)를 액세스한다. 호스트(2100)의 버스 포맷(Bus format)으로 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등이 포함될 수 있다.
버퍼 메모리(2220)에는 호스트(2100)로부터 제공되는 프로그램 데이터 또는 반도체 메모리 장치(1100)로부터 리드된 데이터가 임시적으로 저장된다. 호스트(2100)의 리드 요청시 반도체 메모리 장치(1100)에 존재하는 데이터가 캐시되어 있는 경우, 버퍼 메모리(2220)는 캐시된 데이터를 직접 호스트(2100)로 제공하는 캐시 기능을 지원한다. 일반적으로, 호스트(2100)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 SSD(2200)의 메모리 채널의 전송 속도보다 빠르다. 즉, 호스트(2100)의 인터페이스 속도가 SSD(2200)의 메모리 채널의 전송 속도보다 빠른 경우, 대용량의 버퍼 메모리(2220)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다. 버퍼 메모리(2220)는 대용량의 보조 기억 장치로 사용되는 SSD(2200)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다.
반도체 메모리 장치(1100)는 SSD(2200)의 저장 매체로서 제공된다. 예를 들면, 반도체 메모리 장치(1100)는 도 1에서 상술한 바와 같이 대용량의 저장 능력을 가지는 불휘발성 메모리 장치로 제공될 수 있으며, 불휘발성 메모리 중에서도 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다.
도 13은 본 발명의 실시예에 따른 반도체 메모리 장치를 포함하는 메모리 시스템을 설명하기 위한 블록도이다.
도 13을 참조하면, 본 발명에 따른 메모리 시스템(3000)은 메모리 제어부(3100)와 반도체 메모리 장치(1100)를 포함할 수 있다.
반도체 메모리 장치(1100)는 도 1과 실질적으로 동일하게 구성될 수 있으므로, 반도체 메모리 장치(1100)에 대한 구체적인 설명은 생략한다.
메모리 제어부(3100)는 반도체 메모리 장치(1100)를 제어하도록 구성될 수 있다. SRAM(3110)은 CPU(3120)의 워킹 메모리로 사용될 수 있다. 호스트 인터페이스(3130; Host I/F)는 메모리 시스템(3000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비할 수 있다. 메모리 제어부(3100)에 구비된 에러 정정 회로(3140; ECC)는 반도체 메모리 장치(1100)로부터 리드된 데이터에 포함되어 있는 에러를 검출 및 정정할 수 있다. 반도체 인터페이스(3150; Semiconductor I/F)는 반도체 메모리 장치(1100)와 인터페이싱 할 수 있다. CPU(3120)는 메모리 제어부(3100)의 데이터 교환을 위한 제어동작을 수행할 수 있다. 또한, 도 13에는 도시되지 않았지만, 메모리 시스템(3000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있다.
본 발명에 따른 메모리 시스템(3000)은, 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 장치들 중 하나에 적용될 수 있다.
도 14는 본 발명의 실시 예에 따른 반도체 메모리 장치를 포함하는 컴퓨팅 시스템의 개략적인 구성을 설명하기 위한 도면이다.
도 14를 참조하면, 본 발명에 따른 컴퓨팅 시스템(4000)은 버스(4300)에 전기적으로 연결된 반도체 메모리 장치(1100), 메모리 제어부(4100), 모뎀(4200), 마이크로프로세서(4400) 및 사용자 인터페이스(4500)를 포함한다. 본 발명에 따른 컴퓨팅 시스템(4000)이 모바일 장치인 경우, 컴퓨팅 시스템(4000)의 동작 전압을 공급하기 위한 배터리(4600)가 추가적으로 제공될 수 있다. 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(4000)에는 응용 칩셋(application chip set), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 포함될 수 있다.
반도체 메모리 장치(1100)는 도 1과 실질적으로 동일하게 구성될 수 있으므로, 반도체 메모리 장치(1100)에 대한 구체적인 설명은 생략한다.
메모리 제어부(4100)와 반도체 메모리 장치(1100)는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
본 발명에 따른 반도체 메모리 장치 및 메모리 제어부는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 반도체 메모리 장치 및 메모리 제어부는 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), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP) 및 Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장 될 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
1100: 반도체 메모리 장치 110: 메모리 셀 어레이
120: 주변회로 130: 제어 회로
21: 전압 생성 회로 22: 로우 디코더
23: 페이지 버퍼 24: 컬럼 디코더
25: 입출력 회로

Claims (32)

  1. 목표레벨이 서로 다른 메모리 셀들의 문턱전압들이 상기 목표레벨보다 낮은 서브레벨까지 동시에 높아지도록 제1 프로그램 동작을 수행하는 단계;
    서로 다른 검증전압들을 이용하여 상기 메모리 셀들을 각각 검증하는 단계;
    상기 메모리 셀들의 문턱전압들을 분리하는 제2 프로그램 동작을 수행하는 단계; 및
    상기 메모리 셀들의 문턱전압들이 각각의 상기 목표레벨에 도달하도록 제3 프로그램 동작을 수행하는 단계를 포함하는 반도체 메모리 장치의 동작방법.
  2. 제1항에 있어서, 상기 제1 프로그램 동작은,
    소거 상태인 상기 메모리 셀들에 연결된 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 수행하는 반도체 메모리 장치의 동작방법.
  3. 제2항에 있어서,
    상기 제1 프로그램 동작은 검증 동작 없이 수행되는 반도체 메모리 장치의 동작방법.
  4. 제2항에 있어서,
    상기 제1 프로그램 동작은 상기 메모리 셀들의 문턱전압들이 서로 동일한 분포를 갖도록 수행되는 반도체 메모리 장치의 동작방법.
  5. 제1항에 있어서,
    상기 메모리 셀들을 검증하는 단계에서, 상기 서로 다른 검증전압들은 상기 메모리 셀들의 문턱전압 중 가장 낮은 전압보다 높고 상기 목표레벨보다 낮게 설정되는 반도체 메모리 장치의 동작방법.
  6. 제5항에 있어서,
    상기 메모리 셀들을 검증하는 단계의 결과는 페일(fail)이 되는 반도체 메모리 장치의 동작방법.
  7. 제1항에 있어서, 상기 제2 프로그램 동작은,
    상기 메모리 셀들이 연결된 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 수행하는 반도체 메모리 장치의 동작방법.
  8. 제7항에 있어서,
    상기 제2 프로그램 동작은 검증 동작 없이 수행되는 반도체 메모리 장치의 동작방법.
  9. 제7항에 있어서,
    상기 제2 프로그램 동작에 사용되는 프로그램 펄스는 상기 제1 프로그램 동작에 사용되는 프로그램 펄스보다 높은 레벨로 설정된 반도체 메모리 장치의 동작방법.
  10. 제7항에 있어서,
    상기 제2 프로그램 동작에 사용되는 프로그램 펄스의 레벨은 상기 제1 프로그램 동작에 사용된 프로그램 펄스의 레벨과, 상기 제2 프로그램 동작에 사용되는 프로그램 펄스에 의해 프로그램되는 상기 메모리 셀들의 문턱전압 중 가장 높게 예상되는 전압 레벨과, 상기 제1 프로그램 동작에 사용된 프로그램 펄스에 의해 프로그램되는 상기 메모리 셀들의 문턱전압 중 가장 높은 전압 레벨을 연산하여 설정하는 반도체 메모리 장치의 동작방법.
  11. 제1항에 있어서,
    상기 제3 프로그램 동작은 ISPP(Incremental Step Pulse Program) 방식으로 수행되는 반도체 메모리 장치의 동작방법.
  12. 제11항에 있어서,
    상기 제3 프로그램 동작은 프로그램 펄스를 선택된 워드라인에 인가하여 상기 메모리 셀들의 문턱전압을 높이는 단계와 상기 메모리 셀들을 검증하는 단계를 포함하는 반도체 메모리 장치의 동작방법.
  13. 목표레벨이 서로 다른 제1 내지 제3 메모리 셀들의 문턱전압을 상기 목표레벨보다 낮은 서브레벨로 동시에 높이는 제1 프로그램 동작을 수행하는 단계;
    상기 제1 메모리 셀들을 제1 검증전압을 사용하여 검증하는 제1 검증 동작을 수행하는 단계;
    상기 제2 메모리 셀들을 제2 검증전압을 사용하여 검증하는 제2 검증 동작을 수행하는 단계;
    상기 제3 메모리 셀들을 제3 검증전압을 사용하여 검증하는 제3 검증 동작을 수행하는 단계;
    상기 제1 내지 제3 메모리 셀들의 문턱전압을 서로 분리하기 위한 제2 프로그램 동작을 수행하는 단계; 및
    상기 제1 내지 제3 메모리 셀들의 문턱전압이 제1 내지 제3 목표레벨보다 높아지도록 상기 제1 내지 제3 메모리 셀들을 프로그램하는 제3 프로그램 동작을 수행하는 단계를 포함하는 반도체 메모리 장치의 동작방법.
  14. 제13항에 있어서,
    상기 제1 메모리 셀들은 문턱전압이 상기 제1 목표레벨보다 높아지도록 프로그램되고, 상기 제2 메모리 셀들은 문턱전압이 상기 제1 목표레벨보다 높은 제2 목표레벨보다 높아지도록 프로그램되고, 상기 제3 메모리 셀들은 문턱전압이 상기 제2 목표레벨보다 높은 제3 목표레벨보다 높아지도록 프로그램되는 반도체 메모리 장치의 동작방법.
  15. 제13항에 있어서, 상기 제1 프로그램 동작은,
    검증 동작 없이, 소거 상태인 상기 제1 내지 제3 메모리 셀들에 연결된 워드라인에 제1 프로그램 펄스를 한 번 인가하여 수행하는 반도체 메모리 장치의 동작방법.
  16. 제13항에 있어서,
    서로 다른 상기 제1 내지 제3 검증전압들은 상기 제1 내지 제3 메모리 셀들의 문턱전압 중 가장 낮은 전압보다 높게 설정되는 반도체 메모리 장치의 동작방법.
  17. 제13항에 있어서, 상기 제2 프로그램 동작은,
    상기 제1 내지 제3 메모리 셀들을 선택하고, 선택된 워드라인에 제2 프로그램 펄스를 인가하는 단계; 및
    상기 제2 및 제3 메모리 셀들을 선택하고, 상기 선택된 워드라인에 제3 프로그램 펄스를 인가하는 단계를 포함하는 반도체 메모리 장치의 동작방법.
  18. 제17항에 있어서,
    상기 제2 및 제3 프로그램 펄스들은 상기 선택된 워드라인에 각각 한 번 인가되는 반도체 메모리 장치의 동작방법.
  19. 제18항에 있어서,
    상기 제3 프로그램 펄스는 상기 제2 프로그램 펄스보다 높게 설정되는 반도체 메모리 장치의 동작방법.
  20. 제17항에 있어서,
    상기 선택된 워드라인에 상기 제3 프로그램 펄스를 인가한 후,
    상기 제3 메모리 셀들을 선택하고, 상기 선택된 워드라인에 제4 프로그램 펄스를 인가하는 단계를 더 포함하는 반도체 메모리 장치의 동작방법.
  21. 제13항에 있어서,
    상기 제3 프로그램 동작은 상기 제1 내지 제3 메모리 셀들 각각에 대하여 ISPP(Incremental Step Pulse Program) 방식으로 수행되는 반도체 메모리 장치의 동작방법.
  22. 목표레벨이 서로 다른 메모리 셀들로 이루어진 다수의 메모리 셀 그룹들을 정의하는 단계;
    상기 메모리 셀 그룹들 별로 문턱전압 분포가 서로 달라지도록 제1 프로그램 동작을 수행하는 단계;
    상기 목표레벨이 서로 다른 메모리 셀들을 서로 다른 검증전압들을 사용하여 검증하는 단계;
    상기 메모리 셀들의 문턱전압 분포가 서로 분리되도록 제2 프로그램 동작을 수행하는 단계; 및
    상기 메모리 셀들의 문턱전압이 상기 목표레벨에 각각 도달하도록 제3 프로그램 동작을 수행하는 단계를 포함하는 반도체 메모리 장치의 동작방법.
  23. 제22항에 있어서, 상기 제1 프로그램 동작은,
    상기 메모리 셀 그룹들 중에서 선택된 메모리 셀 그룹에 따라 서로 다른 프로그램 펄스들을 선택된 워드라인에 순차적으로 인가하여 수행하는 반도체 메모리 장치의 동작방법.
  24. 제22항에 있어서, 상기 검증전압들은,
    검증 대상 메모리 셀들의 문턱전압 중 가장 낮은 전압보다 높게 설정되는 반도체 메모리 장치의 동작방법.
  25. 제22항에 있어서, 상기 제2 프로그램 동작은,
    검증동작 없이, 상기 메모리 셀들 중에서 목표레벨이 서로 동일한 메모리 셀들을 선택하고, 상기 선택된 메모리 셀들에 연결된 워드라인에 프로그램 펄스를 인가하여 수행하는 반도체 메모리 장치의 동작방법.
  26. 제22항에 있어서,
    상기 제3 프로그램 동작은 ISPP(Incremental Step Pulse Program) 방식으로 수행되는 반도체 메모리 장치의 동작방법.
  27. 데이터가 저장되는 다수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 메모리 셀들의 프로그램, 리드 및 소거 동작을 수행하는 주변회로; 및
    상기 메모리 셀들 중, 목표레벨이 서로 다른 메모리 셀들의 문턱전압들이 상기 목표레벨보다 낮은 서브레벨까지 동시에 높아지도록 제1 프로그램 동작을 수행하고, 서로 다른 검증전압들을 이용하여 상기 메모리 셀들을 각각 검증하고, 상기 메모리 셀들의 문턱전압들을 분리하는 제2 프로그램 동작을 수행하고, 상기 메모리 셀들의 문턱전압들이 각각의 상기 목표레벨보다 높아지도록 제3 프로그램 동작을 수행하도록 상기 주변회로를 제어하는 제어회로를 포함하는 반도체 메모리 장치.
  28. 제27항에 있어서, 상기 제어회로는,
    검증 동작 없이, 소거 상태인 상기 메모리 셀들에 연결된 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 상기 제1 프로그램 동작을 수행하도록 상기 제어회로를 제어하는 반도체 메모리 장치.
  29. 제27항에 있어서, 상기 제어회로는,
    상기 메모리 셀들을 각각 검증할 때, 상기 제1 프로그램 동작이 수행된 상기 메모리 셀들의 문턱전압 중 가장 낮은 전압보다 높고 상기 목표레벨보다 낮은 검증전압을 사용하도록 상기 주변회로를 제어하는 반도체 메모리 장치.
  30. 제27항에 있어서, 상기 제어회로는,
    상기 메모리 셀들이 연결된 선택된 워드라인에 프로그램 펄스를 한 번 인가하여 상기 제2 프로그램 동작을 수행하도록 상기 주변회로를 제어하는 반도체 메모리 장치.
  31. 제27항에 있어서, 상기 제어회로는,
    ISPP(Incremental Step Pulse Program) 방식으로 상기 제3 프로그램 동작이 수행되도록 상기 주변회로를 제어하는 반도체 메모리 장치.
  32. 제27항에 있어서, 상기 제어회로는,
    상기 제1 및 제2 프로그램 동작에서는 검증동작을 생략하고, 상기 제3 프로그램 동작에서는 검증동작을 수행하도록 상기 주변회로를 제어하는 반도체 메모리 장치.
KR1020140107220A 2014-08-18 2014-08-18 반도체 메모리 장치 및 이의 동작방법 KR20160021654A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140107220A KR20160021654A (ko) 2014-08-18 2014-08-18 반도체 메모리 장치 및 이의 동작방법
US14/592,672 US9478304B2 (en) 2014-08-18 2015-01-08 Semiconductor memory device and operating method thereof
TW104100932A TWI657449B (zh) 2014-08-18 2015-01-12 半導體記憶體裝置及其操作方法
CN201510509325.7A CN105374397B (zh) 2014-08-18 2015-08-18 半导体存储器件及其操作方法
US15/274,602 US20170011801A1 (en) 2014-08-18 2016-09-23 Semiconductor memory device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140107220A KR20160021654A (ko) 2014-08-18 2014-08-18 반도체 메모리 장치 및 이의 동작방법

Publications (1)

Publication Number Publication Date
KR20160021654A true KR20160021654A (ko) 2016-02-26

Family

ID=55302639

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140107220A KR20160021654A (ko) 2014-08-18 2014-08-18 반도체 메모리 장치 및 이의 동작방법

Country Status (4)

Country Link
US (2) US9478304B2 (ko)
KR (1) KR20160021654A (ko)
CN (1) CN105374397B (ko)
TW (1) TWI657449B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170104839A (ko) * 2016-03-08 2017-09-18 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20170116469A (ko) * 2016-04-11 2017-10-19 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US11908532B2 (en) 2021-08-04 2024-02-20 SK Hynix Inc. Memory device and method of operating the memory device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101736457B1 (ko) * 2011-07-12 2017-05-17 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치의 소거 방법, 불휘발성 메모리 장치의 동작 방법, 불휘발성 메모리 장치를 포함하는 메모리 시스템, 메모리 시스템의 동작 방법, 불휘발성 메모리 장치를 포함하는 메모리 카드 및 솔리드 스테이트 드라이브
KR20160138757A (ko) * 2015-05-26 2016-12-06 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102503169B1 (ko) * 2015-11-03 2023-02-24 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20170073980A (ko) * 2015-12-21 2017-06-29 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9767909B1 (en) * 2016-03-17 2017-09-19 Micron Technology, Inc. Memory cell programming utilizing conditional enabling of memory cells
KR102572610B1 (ko) * 2016-05-17 2023-09-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
TWI635499B (zh) * 2017-09-11 2018-09-11 旺宏電子股份有限公司 編程非揮發性記憶體的方法及記憶體系統
KR102504295B1 (ko) * 2017-11-24 2023-02-27 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
US10482974B1 (en) 2018-08-21 2019-11-19 Micron Technology, Inc. Operation of a memory device during programming
JP2021044044A (ja) 2019-09-13 2021-03-18 キオクシア株式会社 メモリシステム
CN114913906A (zh) * 2021-06-17 2022-08-16 长江存储科技有限责任公司 存储器系统及其编程方法
CN114783487A (zh) * 2022-03-03 2022-07-22 长江存储科技有限责任公司 存储器的编程方法、存储器装置及存储器系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537358A (en) * 1994-12-06 1996-07-16 National Semiconductor Corporation Flash memory having adaptive sensing and method
US8223551B2 (en) * 2009-02-19 2012-07-17 Micron Technology, Inc. Soft landing for desired program threshold voltage
KR101517597B1 (ko) 2009-03-25 2015-05-07 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법
KR101634340B1 (ko) * 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
US8472257B2 (en) * 2011-03-24 2013-06-25 Sandisk Technologies Inc. Nonvolatile memory and method for improved programming with reduced verify
US8526240B2 (en) * 2011-08-17 2013-09-03 Ememory Technology Inc. Flash memory and memory cell programming method thereof
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
JP5740296B2 (ja) * 2011-12-16 2015-06-24 株式会社東芝 半導体記憶装置、半導体記憶装置の制御方法、制御プログラム
KR20140026141A (ko) * 2012-08-24 2014-03-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170104839A (ko) * 2016-03-08 2017-09-18 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20170116469A (ko) * 2016-04-11 2017-10-19 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US11908532B2 (en) 2021-08-04 2024-02-20 SK Hynix Inc. Memory device and method of operating the memory device

Also Published As

Publication number Publication date
US20170011801A1 (en) 2017-01-12
US9478304B2 (en) 2016-10-25
CN105374397A (zh) 2016-03-02
CN105374397B (zh) 2021-01-26
TW201608569A (zh) 2016-03-01
TWI657449B (zh) 2019-04-21
US20160049200A1 (en) 2016-02-18

Similar Documents

Publication Publication Date Title
KR20160021654A (ko) 반도체 메모리 장치 및 이의 동작방법
CN109935267B (zh) 半导体存储器装置及其操作方法
US9466381B2 (en) Semiconductor device
US9466360B2 (en) Semiconductor device and method of operating the same
US10839925B2 (en) Semiconductor memory device and method of operating the same
US9679638B2 (en) Semiconductor device and method of operating the same
US9330766B1 (en) Semiconductor device and operating method thereof
US20160104540A1 (en) Non-volatile memory device and operating method thereof
US9472290B2 (en) Semiconductor device and method of erasing the same
US9940030B2 (en) Memory system and method of operating the same
US20190377641A1 (en) Memory system having storage device and memory controller and operating method thereof
KR20190079112A (ko) 반도체 메모리 장치 및 그 동작 방법
US9569142B2 (en) Semiconductor device and method of operating the same according to degree of deterioration
CN111341370B (zh) 半导体存储器装置、控制器、存储装置及其操作方法
US10192628B1 (en) Semiconductor memory device and method of operating the same
US20150370481A1 (en) Semiconductor device
US9508445B2 (en) Semiconductor device and read operation method including a source line check circuit
KR102542299B1 (ko) 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
KR20220145695A (ko) 컨트롤러 및 그 동작 방법
TW202119421A (zh) 半導體記憶體裝置及其操作方法
KR20220063609A (ko) 반도체 메모리 장치 및 그 동작 방법
US11961571B2 (en) Semiconductor memory device detecting program failure, and method of operating the same
KR20160071118A (ko) 반도체 장치 및 이의 동작 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination