KR20240083501A - 프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법 - Google Patents

프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20240083501A
KR20240083501A KR1020220167720A KR20220167720A KR20240083501A KR 20240083501 A KR20240083501 A KR 20240083501A KR 1020220167720 A KR1020220167720 A KR 1020220167720A KR 20220167720 A KR20220167720 A KR 20220167720A KR 20240083501 A KR20240083501 A KR 20240083501A
Authority
KR
South Korea
Prior art keywords
program
voltage
memory cells
loops
states
Prior art date
Application number
KR1020220167720A
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 KR1020220167720A priority Critical patent/KR20240083501A/ko
Priority to US18/331,689 priority patent/US20240185922A1/en
Priority to CN202310896216.XA priority patent/CN118155690A/zh
Publication of KR20240083501A publication Critical patent/KR20240083501A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0491Virtual ground arrays
    • 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/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/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

Landscapes

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

Abstract

반도체 메모리 장치는 메모리 블록, 주변 회로 및 제어 로직을 포함한다. 상기 메모리 블록은 복수의 메모리 셀들을 포함한다. 상기 주변 회로는 상기 복수의 메모리 블록들 중 선택된 메모리 셀들에 대하여, 복수의 프로그램 루프들을 포함하는 프로그램 동작을 수행한다. 상기 프로그램 동작 중 상기 선택된 메모리 셀들과 연결된 비트 라인의 전압을 설정하는 과정에서, 상기 제어 로직은, 현재 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하도록 상기 주변 회로를 제어하고, 상기 현재 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서 프로그램 완료된 것으로 연결된 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하도록 상기 주변 회로를 제어하며, 상기 현재 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서 프로그램 완료되지 않은 것으로 연결된 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압을 인가하도록 상기 주변 회로를 제어한다.

Description

프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법 {SEMICONDUCTOR MEMORY DEVICE PERFORMING PROGRAM OPERATION AND OPERATING METHOD THEREOF}
본 발명은 전자 장치에 관한 것으로, 보다 구체적으로는 프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법에 관한 것이다.
반도체 메모리 장치는 스트링이 반도체 기판에 수평하게 배열된 2차원 구조로 형성되거나, 스트링이 반도체 기판에 수직으로 적층된 3차원 구조로 형성될 수 있다. 3차원 메모리 장치는 2차원 메모리 장치의 집적도 한계를 해소하기 위하여 고안된 메모리 장치로써, 반도체 기판 상에 수직방향으로 적층된 다수의 메모리 셀들을 포함할 수 있다.
반도체 메모리 장치의 프로그램 동작 시, 서로 다른 데이터를 저장하는 메모리 셀의 문턱 전압은 서로 다른 문턱 전압 상태에 포함되도록 프로그램 된다. 예를 들어, 하나의 비트 데이터를 저장하는 싱글 레벨 셀(single-level cell; SLC)들은 대응하는 비트 데이터에 따라 서로 다른 두 개의 문턱 전압 상태 중 어느 하나에 속하도록 프로그램 된다. 다른 예로서, 두 개의 비트 데이터를 저장하는 멀티 레벨 셀(multi-level cell; MLC)들은 대응하는 비트 데이터에 따라 서로 다른 네 개의 문턱 전압 상태 중 어느 하나에 속하도록 프로그램 된다.
선택된 메모리 셀의 프로그램을 위해, 선택된 메모리 셀과 연결된 워드 라인에 프로그램 전압이 인가되고, 비선택된 메모리 셀과 연결된 워드 라인들에는 프로그램 패스 전압이 인가된다. 또한, 선택된 메모리 셀들과 각각 연결된 비트 라인들에는 프로그램 허용 전압 또는 프로그램 금지 전압이 선택적으로 인가된다.
본 발명의 실시 예는 프로그램 동작에서 메모리 셀들의 문턱 전압 분포를 향상시킬 수 있는 반도체 메모리 장치 및 그 동작 방법을 제공한다.
본 발명의 일 실시 예에 따른 반도체 메모리 장치는 메모리 블록, 주변 회로 및 제어 로직을 포함한다. 상기 메모리 블록은 복수의 메모리 셀들을 포함한다. 상기 주변 회로는 상기 복수의 메모리 블록들 중 선택된 메모리 셀들에 대하여, 복수의 프로그램 루프들을 포함하는 프로그램 동작을 수행한다. 상기 프로그램 동작 중 상기 선택된 메모리 셀들과 연결된 비트 라인의 전압을 설정하는 과정에서, 상기 제어 로직은 현재 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하고, 상기 현재 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서 프로그램 완료된 것으로 연결된 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하며, 상기 현재 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서 프로그램 완료되지 않은 것으로 연결된 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압을 인가하도록 상기 주변 회로를 제어한다.
본 발명의 다른 실시 예에 따른 반도체 메모리 장치의 동작 방법은, 복수의 프로그램 루프들 중 현재 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들을 프로그램 금지 셀로 설정한 상태에서, 선택된 메모리 셀들에 프로그램 펄스를 인가하는 단계 및 선택된 메모리 셀들에 대한 검증 동작을 수행하는 단계를 포함한다.
본 기술은 프로그램 동작에서 메모리 셀들의 문턱 전압 분포를 향상시킬 수 있는 반도체 메모리 장치 및 그 동작 방법을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 반도체 메모리 장치를 설명하기 위한 도면이다.
도 2는 프로그램 동작 시 선택된 워드라인에 인가되는 전압을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 반도체 메모리 장치의 동작 방법을 나타내는 순서도이다.
도 4는 도 3의 단계(S130)의 일 실시 예를 나타내는 순서도이다.
도 5는 도 4의 단계(S210)의 일 실시 예를 나타내는 순서도이다.
도 6은 도 4의 단계(S230)의 일 실시 예를 나타내는 순서도이다.
도 7은 도 5의 단계(S211)의 일 실시 예를 나타내는 순서도이다.
도 8은 도 5의 단계(S211)의 다른 실시 예를 나타내는 순서도이다.
도 9는 도 8에 도시된 실시 예를 설명하기 위한 타이밍도이다.
도 10a는 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 프로그램 금지 셀의 변화를 나타내는 그래프이다.
도 10b는 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 워드 라인(WL)의 RC 지연을 나타내는 그래프이다.
도 10c는 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 메모리 셀의 문턱 전압 변화를 설명하기 위한 그래프이다.
도 11은 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 워드 라인과 채널 간 커패시턴스의 변화를 설명하기 위한 그래프이다.
도 12는 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 실효적인 프로그램 펄스 인가 시간이 증가함을 설명하기 위한 그래프이다.
도 13은 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 실효적인 프로그램 펄스 인가 시간의 변화를 설명하기 위한 그래프이다.
도 14는 도 4의 단계(S210)의 다른 실시 예를 나타내는 순서도이다.
도 15은 도 14의 단계(S216)의 일 실시 예를 나타내는 순서도이다.
도 16은 도 14 및 도 15에 도시된 실시 예에 따라, 프로그램 루프 수의 변화에 따라 프로그램 전압의 인가 시간을 결정하는 예시를 나타내는 그래프이다.
도 17은 도 14 및 도 15에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 실효적인 프로그램 펄스 인가 시간의 변화를 설명하기 위한 그래프이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
도 1은 본 발명의 실시예에 따른 반도체 메모리 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 반도체 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 제어 로직(140) 및 전압 생성부(150)를 포함한다.
메모리 셀 어레이(110)는 다수의 메모리 블록들(BLKa~BLKz)을 포함한다. 다수의 메모리 블록들(BLKa~BLKz)은 워드라인들(WLs)을 통해 어드레스 디코더(120)에 연결된다. 다수의 메모리 블록들(BLKa~BLKz)은 비트 라인들(BL1 내지 BLm)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 다수의 메모리 블록들(BLKa~BLKz) 각각은 다수의 메모리 셀들을 포함한다. 실시 예로서, 다수의 메모리 셀들은 비휘발성 메모리 셀들로 구성될 수 있다.
도 1에서 메모리 셀 어레이에 포함된 다수의 메모리 블록들(BLKa~BLKz) 중 메모리 블록(BLKa)의 구조가 도시되어 있다. 도 1을 참조하면, 드레인 선택 라인(DSL)과 소스 선택 라인(SSL) 사이에 서로 평행하게 배열된 다수의 워드 라인들(WL1~WLn)이 연결될 수 있다. 보다 구체적으로 설명하면, 메모리 블록(BLKa)은 비트 라인들(BL1~BLm)과 공통 소스 라인(CSL) 사이에 연결된 다수의 스트링(strings; ST)들을 포함할 수 있다. 비트 라인들(BL1~BLm)은 대응하는 스트링(ST)들에 각각 연결될 수 있고, 공통 소스 라인(CSL)은 스트링(ST)들에 공통으로 연결될 수 있다. 스트링(ST)들은 서로 동일하게 구성될 수 있으므로, 제1 비트 라인(BL1)에 연결된 스트링(ST)을 예를 들어 구체적으로 설명하도록 한다.
스트링(ST)은 소스 라인(SL)과 제1 비트 라인(BL1) 사이에서 서로 직렬로 연결된 소스 선택 트랜지스터(SST), 다수의 메모리 셀들(MC1~MCn) 및 드레인 선택 트랜지스터(DST)를 포함할 수 있다. 하나의 스트링(ST)에는 소스 선택 트랜지스터(SST)와 드레인 선택 트랜지스터(DST)가 적어도 하나 이상씩 포함될 수 있다.
소스 선택 트랜지스터(SST)의 소스(source)는 공통 소스 라인(CSL)에 연결될 수 있고, 드레인 선택 트랜지스터(DST)의 드레인(drain)은 제1 비트 라인(BL1)에 연결될 수 있다. 메모리 셀들(MC1~MCn)은 소스 선택 트랜지스터(SST)와 드레인 선택 트랜지스터(DST) 사이에서 직렬로 연결될 수 있다. 서로 다른 스트링(ST)들에 포함된 소스 선택 트랜지스터(SST)들의 게이트들은 소스 선택 라인(SSL)에 연결될 수 있고, 드레인 선택 트랜지스터(DST)들의 게이트들은 드레인 선택 라인(DSL)에 연결될 수 있고, 메모리 셀들(MC1~MCn)의 게이트들은 다수의 워드 라인들(WL1~WLn)에 연결될 수 있다. 서로 다른 스트링(ST)들에 포함된 메모리 셀들 중에서 동일한 워드 라인에 연결된 메모리 셀들의 그룹을 물리 페이지(physical page; PG)라 할 수 있다. 따라서, 메모리 블록(BLKa)에는 워드 라인들(WL1~WLn)의 개수만큼의 물리 페이지(PG)들이 포함될 수 있다.
하나의 메모리 셀은 1비트의 데이터를 저장할 수 있다. 이를 통상적으로 싱글 레벨 셀(single level cell; SLC)라고 부른다. 이 경우 하나의 물리 페이지(PG)는 하나의 논리 페이지(logical page; LPG) 데이터를 저장할 수 있다. 하나의 논리 페이지(LPG) 데이터는 하나의 물리 페이지(PG)에 포함된 셀 개수만큼의 데이터 비트들을 포함할 수 있다.
한편, 하나의 메모리 셀은 2 비트 이상의 데이터를 저장할 수 있다. 이 경우 하나의 물리 페이지(PG)는 2 이상의 논리 페이지(logical page; LPG) 데이터를 저장할 수 있다.
도 1에서, 2차원 형태의 메모리 블록의 구조가 도시되어 있으나, 본 발명은 이에 한정되지 않는다. 즉, 도 1의 메모리 블록들(BLKa~BLKz) 각각은 3차원 형태의 메모리 블록으로 구성될 수도 있다.
어드레스 디코더(120), 읽기 및 쓰기 회로(130) 및 전압 생성부(150)는 메모리 셀 어레이(110)를 구동하는 주변 회로로서 동작한다. 주변 회로는 제어 로직(140)의 제어에 기초하여, 메모리 셀 어레이(110)에 대한 리드 동작, 프로그램 동작 및 소거 동작을 수행할 수 있다. 어드레스 디코더(120)는 워드 라인들(WLs)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 제어 로직(140)의 제어에 응답하여 동작하도록 구성된다. 구체적으로, 제어 로직(140)은 어드레스 디코딩 제어 신호(CTRLAD)를 어드레스 디코더(120)로 전달하고, 어드레스 디코더(120)는 어드레스 디코딩 제어 신호(CTRLAD)에 기초하여 디코딩 동작을 수행한다.
또한, 어드레스 디코더(120)는 프로그램 동작 시 전압 생성부(150)에서 발생된 프로그램 전압(VPGM)을 선택된 워드 라인에 인가하고, 나머지 비선택된 워드 라인들에는 프로그램 패스 전압을 인가한다. 또한, 어드레스 디코더(120)는 프로그램 검증 동작 시 전압 생성부(150)에서 발생된 검증 전압(Vvf)을 선택된 워드 라인에 인가하고, 나머지 비선택된 워드 라인들에는 검증 패스 전압을 인가한다.
읽기 및 쓰기 회로(130)는 다수의 페이지 버퍼들(PB1~PBm)을 포함한다. 읽기 및 쓰기 회로(130)는 메모리 셀 어레이(110)의 읽기 동작시에는 “읽기 회로(read circuit)”로 동작하고, 기입 동작시에는 “쓰기 회로(write circuit)”로 동작할 수 있다. 다수의 페이지 버퍼들(PB1~PBm)은 비트 라인들(BL1~BLm)을 통해 메모리 셀 어레이(110)에 연결된다. 읽기 및 쓰기 회로(130)는 제어 로직(140)에서 출력되는 페이지 버퍼 제어 신호(CTRLPB)에 응답하여, 수신한 데이터(DATA)에 대한 프로그램 동작을 수행한다.
제어 로직(140)은 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 및 전압 생성부(150)에 연결된다. 제어 로직(140)은 외부로부터 커맨드(CMD)를 수신할 수 있다. 제어 로직(140)은 수신한 커맨드(CMD)에 대응하는 동작을 수행하도록 어드레스 디코더(120), 읽기 및 쓰기 회로(130) 및 전압 생성부(150)를 제어할 수 있다. 즉, 제어 로직(140)은 전압 생성 제어 신호(CTRLVG)를 통해 전압 생성부(150)의 동작을 제어할 수 있다. 또한, 제어 로직(140)은 어드레스 디코딩 제어 신호(CTRLAD)를 통해 어드레스 디코더(120)의 동작을 제어할 수 있다. 한편, 제어 로직(140)은 페이지 버퍼 제어 신호(CTRLPB)를 통해 읽기 및 쓰기 회로(130) 내 페이지 버퍼들(PB1~PBm)의 동작을 제어할 수 있다.
전압 생성부(150)는 제어 로직(140)에서 출력되는 전압 생성 제어 신호(CTRLVG)에 응답하여 다양한 동작 전압들을 생성할 수 있다. 예를 들어, 전압 생성부(150)는 프로그램 동작에 사용되는 프로그램 전압(VPGM) 및 프로그램 검증 동작에 사용되는 검증 전압(Vvf)을 생성할 수 있다. 또한, 전압 생성부(150)는 프로그램 패스 전압 및 검증 패스 전압을 생성할 수도 있다.
프로그램 동작은 페이지 단위로 수행될 수 있다. 하나의 워드 라인에 공통으로 연결된 메모리 셀들은 물리 페이지를 구성할 수 있다. 실시 예에서, 물리 페이지는 적어도 하나 이상의 논리 페이지를 포함할 수 있다. 따라서, 물리 페이지에 저장된 데이터인 페이지 데이터는 적어도 하나 이상의 복수의 논리 페이지 데이터를 포함할 수 있다. 예를 들어, 메모리 셀이 SLC 모드로 프로그램 되는 경우, 물리 페이지는 하나의 논리 페이지를 포함하고, 페이지 데이터는 하나의 논리 페이지 데이터를 포함할 수 있다. 또는 메모리 셀이 MLC 모드로 프로그램 되는 경우, 물리 페이지는 두 개의 논리 페이지들을 포함하고, 페이지 데이터는 두 개의 논리 페이지 데이터를 포함할 수 있다. 이 때, 두 개의 논리 페이지 데이터는 하위 비트(Least Significant Bit, LSB) 페이지 데이터 및 상위 비트(Most Significant Bit, MSB) 페이지 데이터일 수 있다. 또는 메모리 셀이 TLC 모드로 프로그램 되는 경우, 물리 페이지는 세 개의 논리 페이지들을 포함하고, 페이지 데이터는 세 개의 논리 페이지 데이터를 포함할 수 있다. 이 때, 세 개의 논리 페이지 데이터는 하위 비트(Least Significant Bit, LSB) 페이지 데이터, 중간 비트(Central Significant Bit, CSB) 페이지 데이터 및 상위 비트(Most Significant Bit, MSB) 페이지 데이터일 수 있다.
프로그램 동작이 수행되기 전, 메모리 셀들은 소거 상태(E)(도 9 참조)에 대응되는 문턱 전압을 가질 수 있다. 프로그램 동작이 수행되면, 선택된 페이지에 포함된 메모리 셀들은 각 메모리 셀에 저장되는 데이터에 따라 소거 상태(E), 제1 내지 제3 프로그램 상태(PV1~PV3)(도 9 참조) 중 어느 하나의 상태에 대응되는 문턱 전압을 가질 수 있다. 프로그램 검증 동작 시, 검증 전압(Vvf1, Vvf2, Vvf3)이 사용될 수 있다. 예를 들어, 제1 프로그램 상태(PV1)를 타겟으로 하는 메모리 셀의 문턱 전압이 제1 검증 전압(Vvf1)보다 큰지 여부를 판단함으로써, 해당 메모리 셀의 프로그램이 완료되었는지 여부를 판단할 수 있다. 제1 프로그램 상태(PV1)로 프로그램 될 메모리 셀들 중, 제1 검증 전압(Vvf1)보다 큰 문턱 전압을 갖는 메모리 셀들과 연결된 비트 라인에는 프로그램 금지 전압이 인가된다. 또한, 제1 프로그램 상태(PV1)로 프로그램 될 메모리 셀들 중, 제1 검증 전압(Vvf1)보다 작은 문턱 전압을 갖는 메모리 셀들과 연결된 비트 라인에는 프로그램 허용 전압이 인가된다. 프로그램 금지 전압은 프로그램 허용 전압보다 큰 전압이다. 일 실시 예에서, 프로그램 금지 전압은 전원 전압일 수 있다. 일 실시 예에서, 프로그램 허용 전압은 접지 전압일 수 있다.
선택된 워드 라인에 프로그램 전압이 인가되는 동안, 프로그램 금지 전압이 인가되는 비트 라인과 연결된 메모리 셀들의 문턱 전압은 유지된다. 한편, 선택된 워드 라인에 프로그램 전압이 인가되는 동안, 프로그램 허용 전압이 인가되는 비트 라인과 연결된 메모리 셀들의 문턱 전압은 증가한다.
이하에서는, 설명의 편의상 메모리 셀이 MLC 모드로 프로그램 되는 경우를 가정하여, 설명한다. 다만, 이는 설명의 편의를 위한 것이고, 본원 발명의 실시 예가 이에 한정되는 것은 아니다.
반도체 메모리 장치의 프로그램 동작은 복수의 프로그램 루프들을 포함할 수 있다. 구체적으로, 반도체 메모리 장치의 프로그램 동작 시 먼저 제1 프로그램 루프(1st PGM Loop)가 수행될 수 있다. 제1 프로그램 루프(1st PGM Loop)가 수행된 후, 선택된 페이지에 포함된 메모리 셀들에 대한 프로그램이 완료되지 않으면 제2 프로그램 루프(2nd PGM Loop)가 수행될 수 있다. 제2 프로그램 루프(2nd PGM Loop)가 수행된 후, 선택된 페이지에 포함된 메모리 셀들에 대한 프로그램이 완료되지 않으면 제3 프로그램 루프(3rd PGM Loop)가 수행될 수 있다. 이러한 방식으로, 선택된 페이지에 포함된 메모리 셀들에 대한 프로그램이 완료될 때까지, 또는 최대 프로그램 루프에 도달할 때까지 복수의 프로그램 루프들이 반복 수행될 수 있다.
복수의 프로그램 루프들 각각은 프로그램 펄스 인가 단계 및 프로그램 검증 단계를 포함할 수 있다. 프로그램 펄스 인가 단계에서는 선택된 워드 라인에 프로그럼 전압을 인가하여, 프로그램 허용 셀들의 문턱 전압을 상승시킬 수 있다.
프로그램 검증 단계에서는, 전술한 바와 같이 프로그램 대상으로 선택된 메모리 셀들이 원하는 레벨의 검증 전압 이상으로 프로그램 되었는지 여부를 검증할 수 있다. 검증 동작의 결과, 검증 전압 이상으로 프로그램되지 않은 메모리 셀의 경우, 다음 프로그램 루프에서 프로그램 허용 셀로서 동작할 수 있다. 이 때, 이전 프로그램 루프에 비하여 더 큰 전압 레벨을 갖는 프로그램 펄스가 프로그램 허용 셀들에 인가될 수 있다. 한편, 검증 전압 이상으로 프로그램된 메모리 셀의 경우, 다음 프로그램 루프에서 프로그램 금지 셀로서 동작할 수 있다. 선택된 워드 라인에 프로그램 펄스가 인가하더라도 프로그램 금지 셀의 문턱 전압은 상승하지 않을 수 있다.
도 2는 프로그램 동작 시 선택된 워드라인에 인가되는 전압을 설명하기 위한 도면이다.
도 2를 참조하면, 멀티 레벨 셀(multi-level cell; MLC)의 프로그램 상태를 형성하기 위한 프로그램 동작은 복수의 프로그램 루프들를 포함할 수 있다.
도 2를 참조하면, 제1 프로그램 루프의 프로그램 펄스 인가 단계에서, 선택된 워드 라인에 제1 프로그램 전압(Vpgm1)이 인가된다. 또한, 제1 프로그램 루프의 검증 단계에서, 선택된 워드 라인에 제1 검증 전압(Vvf1)이 인가될 수 있다. 전술한 바와 같이, 프로그램 동작의 초반에는 제2 및 제3 프로그램 상태로 프로그램 된 메모리 셀들이 존재하지 않을 수 있다. 이에 따라, 제1 프로그램 루프(1st PGM Loop)에서는 제1 검증 전압(Vvf1)만을 이용하여 검증 동작을 수행할 수 있다.
이후, 제2 프로그램 루프의 프로그램 펄스 인가 단계에서 선택된 워드 라인에 제2 프로그램 전압(Vpgm2)이 인가되고, 검증 단계에서 선택된 워드 라인에 제1 검증 전압(Vvf1)이 인가될 수 있다.
이후, 제3 프로그램 루프의 프로그램 펄스 인가 단계에서 선택된 워드 라인에 제3 프로그램 전압(Vpgm3)이 인가될 수 있다. 또한, 제3 프로그램 루프의 검증 단계에서 선택된 워드 라인에 제1 검증 전압(Vvf1) 및 제2 검증 전압(Vvf2)이 인가될 수 있다.
도 2에 의하면, 제3 프로그램 루프의 검증 단계 수행 결과, 제1 프로그램 상태(PV1)에 대한 검증이 패스된 것으로 도시되었다. 따라서, 이후의 프로그램 루프들에서는 제1 검증 전압(Vvf1)을 이용하지 않을 수 있다. 이에 따라, 제4 프로그램 루프의 프로그램 펄스 인가 단계에서 선택된 워드 라인에 제4 프로그램 전압(Vpgm4)이 인가되고, 검증 단계에서 선택된 워드 라인에 제2 검증 전압(Vvf2)이 인가될 수 있다.
이후, 제5 프로그램 루프의 프로그램 펄스 인가 단계에서 선택된 워드 라인에 제5 프로그램 전압(Vpgm5)이 인가될 수 있다. 또한, 제5 프로그램 루프의 검증 단계에서 선택된 워드 라인에 제2 검증 전압(Vvf2) 및 제3 검증 전압(Vvf3)이 인가될 수 있다. 이러한, 방식으로, 제2 프로그램 상태(PV2) 및 제3 프로그램 상태(PV3)에 대한 검증이 패스될 때까지 프로그램 루프들이 반복 수행될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 반도체 메모리 장치의 동작 방법을 나타내는 순서도이다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 반도체 메모리 장치의 동작 방법은, 프로그램 커맨드를 수신하는 단계(S110), 선택된 메모리 셀들에 대한 프로그램 루프를 수행하는 단계(S130) 및 선택된 메모리 셀들에 대한 프로그램이 완료되었는지 여부를 판단하는 단계(S150)를 포함한다.
단계(S110)에서, 반도체 메모리 장치(100)는 외부로부터 프로그램 커맨드를 수신할 수 있다. 일 예로서, 반도체 메모리 장치(100)는 컨트롤러 또는 호스트로부터 프로그램 커맨드를 수신할 수 있다. 프로그램 커맨드와 함께, 단계(S110)에서 반도체 메모리 장치(100)는 프로그램 데이터 및 프로그램 어드레스를 함께 수신할 수 있다. 반도체 메모리 장치(100)는 수신한 프로그램 커맨드에 응답하여, 프로그램 데이터를 프로그램 어드레스에 대응하는 메모리 셀들에 프로그램하는 동작을 시작할 수 있다.
단계(S130)에서, 반도체 메모리 장치(100)의 주변 회로는 제어 로직(140)의 제어에 기초하여, 프로그램 어드레스에 기초하여 선택된 메모리 셀들에 프로그램 데이터를 프로그램하기 위한 프로그램 루프를 수행할 수 있다. 일 실시 예에서, 하나의 프로그램 루프는 프로그램 펄스 인가 단계 및 프로그램 검증 단계를 포함할 수 있다.
단계(S150)에서, 반도체 메모리 장치(100)의 제어 로직(140)은 단계(S130)에서 수행한 프로그램 루프에 의해 선택된 메모리 셀들의 프로그램이 완료되었는지 여부를 판단할 수 있다. 선택된 메모리 셀들의 프로그램이 완료된 경우(S150: 예), 프로그램 동작이 종료될 수 있다. 선택된 메모리 셀들의 프로그램이 완료되지 않은 경우(S150: 아니오), 단계(S130)로 되돌아가 후속 프로그램 루프를 수행할 수 있다.
도 4는 도 3의 단계(S130)의 일 실시 예를 나타내는 순서도이다.
도 4를 참조하면, 선택된 메모리 셀들에 대한 프로그램 루프를 수행하는 단계(S130)는, 선택된 메모리 셀들에 프로그램 펄스를 인가하는 단계(S210) 및 선택된 메모리 셀들에 대한 검증 동작을 수행하는 단계(S230)를 포함한다. 단계(S210)의 실시 예들에 대해서는 도 5, 도 7, 도 14 등을 참조하여 후술하기로 한다. 한편, 단계(S230)의 실시 예에 대해서는 도 6을 참조하여 후술하기로 한다.
도 5는 도 4의 단계(S210)의 일 실시 예를 나타내는 순서도이다.
도 5를 참조하면, 선택된 메모리 셀들에 프로그램 펄스를 인가하는 단계는, 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정하는 단계(S211), 비선택된 워드 라인에 프로그램 패스 전압을 인가하는 단계(S213) 및 미리 결정된 시간 동안, 선택된 워드 라인에 프로그램 전압을 인가하는 단계(S215)를 포함한다.
단계(S211)에서, 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정한다. 예를 들어, 단계(S211)에서 프로그램 허용 셀과 연결된 비트 라인에는 프로그램 허용 전압을 인가하고, 프로그램 금지 셀과 연결된 비트 라인에는 프로그램 금지 전압을 인가한다. 이를 통해, 선택된 메모리 셀들 각각의 프로그램 상태에 따른 비트 라인 전압이 설정된다. 단계(S211)의 예시적인 실시 예들에 대해서는 도 7 및 도 8을 참조하여 후술하기로 한다.
단계(S213)에서, 비선택된 워드 라인에 프로그램 패스 전압을 인가한다. 선택된 메모리 셀들을 포함하는 메모리 블록과 연결된 워드 라인들 중, 선택된 메모리 셀들과 연결된 워드 라인은 선택된 워드 라인이 되고, 그 이외의 워드 라인들은 비선택된 워드 라인이 된다. 비선택된 워드 라인에 프로그램 패스 전압을 인가함에 따라, 비선택된 워드 라인들과 연결된 메모리 셀들의 문턱 전압은 변화하지 않는다.
단계(S215)에서, 미리 결정된 시간 동안, 선택된 워드 라인에 프로그램 전압을 인가한다. 미리 결정된 시간동안 선택된 워드 라인에 인가되는 프로그램 전압은 프로그램 펄스를 구성할 수 있다. 이에 따라, 선택된 메모리 셀들 중 프로그램 허용 전압이 인가되는 비트 라인과 연결된 프로그램 허용 셀의 문턱 전압이 상승한다. 또한, 선택된 메모리 셀들 중 프로그램 금지 전압이 인가되는 비트 라인과 연결된 프로그램 금지 셀의 문턱 전압은 유지된다.
도 6은 도 4의 단계(S230)의 일 실시 예를 나타내는 순서도이다.
도 6에서, 제1 검증 전압을 이용한 검증 단계의 예시적인 실시 예가 도시되어 있으나, 본 발명은 이에 한정되지 않는다. 즉, 제2 또는 제3 검증 전압을 이용한 검증 단계 또한 도 6에 도시된 것과 유사하게 수행될 수 있다.
도 6을 참조하면, 선택된 메모리 셀들에 대한 검증 동작을 수행하는 단계(S230)는 선택된 워드 라인에 제1 검증 전압을 인가하는 단계(S231) 및 제1 프로그램 상태로 프로그램 될 메모리 셀들의 문턱 전압 각각이 제1 검증 전압보다 큰지 여부를 판별하는 단계(S233)를 포함한다.
단계(S231)에서, 타겟 프로그램 상태인 제1 프로그램 상태(PV1)에 대응하는 제1 검증 전압(Vvf1)에 선택된 워드 라인에 인가된다. 한편, 단계(S231)에서, 비선택된 워드 라인에는 검증 패스 전압이 인가될 것이다.
이후 단계(S233)에서 주변 회로의 각 페이지 버퍼들은 비트 라인들을 통해 선택된 메모리 셀들 각각의 문턱 전압이 제1 검증 전압(Vvf1)보다 큰지 여부를 센싱하고, 센싱 결과를 페이지 버퍼 내 래치에 저장할 수 있다. 제1 프로그램 상태로 프로그램 될 메모리 셀들 중 제1 검증 전압(Vvf1)보다 큰 문턱 전압을 갖는 메모리 셀은 이후 프로그램 루프에서 프로그램 금지 셀이 된다. 또한, 제1 프로그램 상태로 프로그램 될 메모리 셀들 중 제1 검증 전압(Vvf1)보다 작은 문턱 전압을 갖는 메모리 셀은 이후 프로그램 루프에서 프로그램 허용 셀이 된다.
도 7은 도 5의 단계(S211)의 일 실시 예를 나타내는 순서도이다.
도 7을 참조하면, 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정하는 단계(S211)는, 소거 상태(E)에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하는 단계(S310), 이전 프로그램 루프에서, 타겟 프로그램 상태로 프로그램 완료된 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하는 단계(S330) 및 이전 프로그램 루프에서, 타겟 프로그램 상태로 프로그램 완료되지 않은 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압을 인가하는 단계(S350)를 포함한다.
단계(S310)에서는 선택된 메모리 셀들 중 대응하는 상태가 소거 상태(E)인 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가한다. 대응하는 상태가 소거 상태(E)인 메모리 셀들은 이미 타겟으로 하는 상태에 문턱 전압이 속하므로, 더 이상 문턱 전압이 증가하여야 할 필요가 없다. 따라서 소거 상태(E)를 타겟으로 하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가한다.
단계(S330)에서, 타겟 프로그램 상태로 프로그램 완료된 것으로 판별된 메모리 셀들과 연결된 비트 라인에도 프로그램 금지 전압을 인가한다. 타겟 프로그램 상태로 프로그램 완료된 프로그램 금지 셀의 문턱 전압은 더 이상 증가할 필요가 없다. 따라서, 소거 상태(E)를 타겟으로 하는 메모리 셀들과 동일하게, 이미 타겟 프로그램 상태로 프로그램 완료된 메모리 셀들과 연결된 비트 라인에도 프로그램 금지 전압을 인가한다.
반면, 타겟 프로그램 상태로 프로그램 완료되지 않은 것으로 판별된 메모리 셀들의 문턱 전압은 증가하여야 한다. 따라서 단계(S350)에서 타겟 프로그램 상태로 프로그램 완료되지 않은 것으로 판별된 프로그램 허용 셀들과 연결된 비트 라인에는 프로그램 허용 전압을 인가한다.
도 7에서 단계(S310)의 수행 이후에 단계(S330)가 수행되고, 단계(S330)의 수행 이후에 단계(S350)가 수행되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다. 도 7에 도시된 각 단계들(S310, S330, S350)의 선후 관계는 필요에 따라 다양하게 결정될 수 있다. 또는, 도 7에 도시된 각 단계들(S310, S330, S350)은 동시에 수행될 수도 있다.
도 7에 도시된 실시 예에 의하면, 프로그램 루프 수가 증가함에 따라 프로그램 금지 셀들의 숫자가 증가하게 된다. 프로그램 동작 이전에 메모리 셀들은 소거 상태의 문턱 전압을 갖는다. 프로그램 동작이 진행됨에 따라, 제1 프로그램 상태(PV1)로 프로그램 완료된 메모리 셀들이 프로그램 금지 셀로 변화하고, 이후 제2 프로그램 상태(PV2) 및 제3 프로그램 상태(PV3)로 프로그램 완료된 메모리 셀들 또한 각각 프로그램 금지 셀로 변화한다.
프로그램 금지 셀과 연결된 비트 라인에는 프로그램 금지 전압이 인가된다. 이에 따라 프로그램 금지 셀의 채널은 플로팅 상태를 유지하므로, 프로그램 금지 셀의 워드 라인과 채널 간 커패시턴스는 상대적으로 작다. 이는 프로그램 금지 셀의 개수가 증가함에 따라, 선택된 워드 라인과 선택된 메모리 셀들 간의 전체 커패시턴스 값이 감소함을 의미한다.
프로그램 루프 수가 증가함에 따라 프로그램 금지 셀들의 숫자가 증가하고, 이에 따라 선택된 워드 라인과 선택된 메모리 셀들 간의 전체 커패시턴스 값이 감소한다. 이는 선택된 워드 라인에 전압 인가 시 발생하는 RC 지연이 감소함을 의미하며, 이는 또한 프로그램 전압 인가 시 선택된 워드 라인에 나타나는 전압의 상승 속도가 빨라질 수 있음을 의미한다.
프로그램 금지 셀들의 숫자가 증가하더라도 선택된 워드 라인과 선택된 메모리 셀들 간의 전체 커패시턴스 값이 감소하지 않는 이상적인 케이스를 고려하면, 워드 라인의 RC 지연 값이 일정하므로, 프로그램 루프 수가 증가하더라도 프로그램 허용 대상인 메모리 셀의 문턱 전압 증가 속도가 완만하게 증가한다.
그러나, 실제 케이스에서 프로그램 금지 셀들의 숫자가 증가하면 프로그램 전압 인가 시 선택된 워드 라인에 나타나는 전압의 상승 속도가 빨라지므로, 프로그램 루프 수가 증가함에 따라 메모리 셀의 문턱 전압 변화 폭 또한 전술한 이상적인 케이스보다 가파르게 증가한다. 이에 따라, 프로그램 루프 수 증가 시 프로그램 허용 셀의 문턱 전압 이동 폭이 필요로 하는 양보다 과도하게 증가하게 된다. 이는 프로그램 동작 완료 시 전체 메모리 셀들의 문턱 전압 분포 특성을 악화시키는 원인이 된다.
본 발명의 일 실시 예에 따르면, 프로그램 루프 수에 따라 타겟 프로그램 상태들을 제1 그룹 및 제2 그룹으로 구분한다. 이후 제1 그룹에 속하는 타겟 프로그램 상태에 대응하는 메모리 셀들은 프로그램 완료 여부와 무관하게 프로그램 금지 셀로 설정한다. 이에 따라, 프로그램 루프 수 증가에 따른 프로그램 금지 셀들의 개수를 평활화할 수 있다. 결과적으로, 프로그램 루프 수 증가에 따른 워드 라인의 RC 지연 또한 평활화되며, 최종적으로 메모리 셀들의 문턱 전압 분포 특성을 향상시킬 수 있다.
도 8은 도 5의 단계(S211)의 다른 실시 예를 나타내는 순서도이다.
도 8을 참조하면, 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정하는 단계(S211)는, 소거 상태(E)에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하는 단계(S310), 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하는 단계(S320), 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서, 타겟 프로그램 상태로 프로그램 완료된 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하는 단계(S340) 및 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서, 타겟 프로그램 상태로 프로그램 완료되지 않은 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압을 인가하는 단계(S360)를 포함한다.
도 8의 단계(S310)는 도 7의 단계(S310)와 실질적으로 동일하므로, 중복되는 설명은 생략하기로 한다.
단계(S320)에서, 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가한다. 본 명세서에서, "제1 그룹의 타겟 프로그램 상태"에 대응하는 메모리 셀들은 프로그램 완료 여부와 무관하게 프로그램 금지 셀로 결정된다.
일 실시 예에서, 프로그램 동작의 초반에, 제1 그룹의 타겟 프로그램 상태는 제2 및 제3 프로그램 상태(PV2, PV3)를 포함할 수 있다. 한편, 프로그램 동작의 중반에서, 제1 그룹의 타겟 프로그램 상태는 제3 프로그램 상태(PV3)를 포함할 수 있다. 또한, 프로그램 동작의 후반에, 제1 그룹의 타겟 프로그램 상태에는 어떠한 프로그램 상태도 포함되지 않을 수 있다.
이에 따라, 프로그램 동작의 초반에, 제2 및 제3 프로그램 상태(PV2, PV3)에 대응하는 메모리 셀들은 프로그램 금지 셀이 된다. 한편, 프로그램 동작의 중반에, 제2 프로그램 상태(PV2)에 대응하는 메모리 셀들은 프로그램 허용 셀이 되고, 제3 프로그램 상태(PV3)에 대응하는 메모리 셀들은 여전히 프로그램 금지 셀을 유지한다. 또한, 프로그램 동작의 후반에, 제3 프로그램 상태(PV3)에 대응하는 메모리 셀들은 프로그램 허용 셀이 된다.
단계(S340)에서, 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서, 타겟 프로그램 상태로 프로그램 완료된 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가한다. “제2 그룹의 타겟 프로그램 상태”는 제1 내지 제3 프로그램 상태들 중 “제1 그룹의 타겟 프로그램 상태”를 제외한 나머지 프로그램 상태가 된다.
예를 들어, 프로그램 동작의 초반에, 제1 그룹의 타겟 프로그램 상태가 제2 및 제3 프로그램 상태(PV2, PV3)를 포함하는 경우 제2 그룹의 타겟 프로그램 상태는 제1 프로그램 상태(PV1)를 포함한다. 한편, 프로그램 동작의 중반에서, 제1 그룹의 타겟 프로그램 상태가 제3 프로그램 상태(PV3)를 포함하는 경우 제2 그룹의 타겟 프로그램 상태는 제1 및 제2 프로그램 상태들(PV1, PV2)를 포함한다. 또한, 프로그램 동작의 후반에, 제1 그룹의 타겟 프로그램 상태에는 어떠한 프로그램 상태도 포함되지 않는 경우, 제2 그룹의 타겟 프로그램 상태는 제1 내지 제3 프로그램 상태들(PV1~PV3)를 포함한다.
상기 예시에서, 프로그램 동작의 초반에 포함된 프로그램 루프에서, 단계(S340)에서는 제1 프로그램 상태(PV1)에 대응하는 메모리 셀들 중 이전 프로그램 루프에서 프로그램 완료된 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가한다.
단계(S360)에서, 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서, 타겟 프로그램 상태로 프로그램 완료되지 않은 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압을 인가한다. 전술한 예시에 의하면, 프로그램 동작의 초반에 포함된 프로그램 루프에서, 단계(S360)에서는 제1 프로그램 상태(PV1)에 대응하는 메모리 셀들 중 이전 프로그램 루프에서 프로그램이 완료되지 않은 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압을 인가한다.
도 8에서 도시된 각 단계들(S310, S320, S340, S360)의 수행 순서는 필요에 따라 다양하게 결정될 수도 있다. 일 실시 예에서, 도 8에서 도시된 각 단계들(S310, S320, S340, S360)은 동시에 수행될 수도 있다.
도 9는 도 8에 도시된 실시 예를 설명하기 위한 타이밍도이다.
도 9를 참조하면, 각 프로그램 루프에서 제3 프로그램 상태(PV3), 제2 프로그램 상태(PV2), 제1 프로그램 상태(PV1) 및 소거 상태(E)를 타겟으로 하는 메모리 셀들과 연결된 비트 라인(BL)의 설정 전압이 도시되어 있다. 도 9에서는 전체 프로그램 동작에서 각 비트 라인의 전압 변화를 전부 도시한 것이 아니라, 각 프로그램 루프 중 프로그램 펄스 인가 단계(S210)에 포함된 비트 라인 전압의 설정 단계(S211)에서 설정되는 비트 라인의 전압만을 도시하였다. 이하에서는 도 8 및 도 9를 함께 참조하여 설명하기로 한다.
먼저, 복수의 프로그램 루프들 중 최초 프로그램 루프(L1)에서 소거 상태(E)에 대응하는 메모리 셀들과 연결된 비트 라인들의 전압은 제1 전압(V1)에서 제2 전압(V2)으로 변화할 수 있다(S310). 소거 상태(E)에 대응하는 메모리 셀들의 문턱 전압은 증가할 필요가 없기 때문에, 제1 프로그램 루프부터 프로그램 동작이 종료되는 동안 소거 상태(E)에 대응하는 메모리 셀들과 연결된 비트 라인의 전압은 제2 전압(V2)으로 유지된다.
한편, 루프(L1)에서, 제1 그룹에 속하는 프로그램 상태들은 제2 및 제3 프로그램 상태들(PV2, PV3)이다. 이에 따라, 루프(L1)에서, 제2 및 제3 프로그램 상태들(PV2, PV3)에 대응하는 메모리 셀들과 연결된 비트 라인들의 전압은 제1 전압(V1)에서 제2 전압(V2)으로 변화할 수 있다(S320).
반면, 루프(L1)에서 제2 그룹에 속하는 제1 프로그램 상태(PV1)에 대응하는 메모리 셀들과 연결된 비트 라인들에는 제1 전압(V1)이 인가될 수 있다(S360).
도 9에서, 제1 전압(V1)은 프로그램 허용 전압이고, 제2 전압(V2)은 프로그램 금지 전압이다. 일 실시 예에서, 제1 전압(V1)은 접지 전압일 수 있다. 또한, 일 실시 예에서, 제2 전압(V2)은 전원 전압일 수 있다.
이후 루프(L2)에서, 제1 프로그램 상태(PV1)로 프로그램될 메모리 셀들 중 제1 검증 전압(Vvf1)보다 큰 문턱 전압을 갖는 메모리 셀들이 나타나기 시작한다. 이에 따라, 루프(L2) 이후에 제1 프로그램 상태(PV1)로 프로그램될 메모리 셀들이 프로그램 허용 셀에서 프로그램 금지 셀로 변화한다. 결과적으로, 제1 프로그램 상태(PV1)로 프로그램될 메모리 셀들과 연결된 비트 라인들에 인가되는 전압이 제1 전압(V1)에서 제2 전압(V2)으로 변화한다(S340). 루프(L6)에서, 제1 프로그램 상태(PV1)로 프로그램 될 메모리 셀들의 프로그램이 완료된다. 따라서, 루프(L6) 이후에 제1 프로그램 상태(PV1)에 대응하는 메모리 셀들과 연결된 비트 라인들에는 모두 제2 전압(V2)이 인가된다.
루프(L3)에서, 제1 그룹 및 제2 그룹에 속하는 프로그램 상태가 변경된다. 구체적으로, 루프(L3)에서, 제1 그룹에 속하는 프로그램 상태는 제3 프로그램 상태(PV3)가 되고, 제2 그룹에 속하는 프로그램 상태는 제1 및 제2 프로그램 상태가 된다. 즉, 루프(L3)에서, 제2 프로그램 상태(PV2)는 제1 그룹에서 제2 그룹으로 변경된다. 이에 따라, 루프(L3)에서, 제2 프로그램 상태(PV2)로 프로그램될 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압이 인가된다(S360). 한편, 루프(L3)에서, 제3 프로그램 상태(PV3)에 대응하는 메모리 셀들과 연결된 비트 라인들의 전압은 제2 전압(V2)을 유지한다(S320).
루프(L4)에서, 제2 프로그램 상태(PV2)로 프로그램될 메모리 셀들 중 제2 검증 전압(Vvf2)보다 큰 문턱 전압을 갖는 메모리 셀들이 나타나기 시작한다. 이에 따라, 루프(L4) 이후에 제2 프로그램 상태(PV2)로 프로그램될 메모리 셀들이 프로그램 허용 셀에서 프로그램 금지 셀로 변화한다. 결과적으로, 루프(L4) 이후에 제2 프로그램 상태(PV2)로 프로그램될 메모리 셀들과 연결된 비트 라인들에 인가되는 전압이 제1 전압(V1)에서 제2 전압(V2)으로 변화한다(S340). 루프(L8)에서, 제2 프로그램 상태(PV2)로 프로그램 될 메모리 셀들의 프로그램이 완료된다. 따라서, 루프(L8) 이후에 제2 프로그램 상태(PV2)에 대응하는 메모리 셀들과 연결된 비트 라인들에는 모두 제2 전압(V2)이 인가된다.
루프(L5)에서, 제1 그룹 및 제2 그룹에 속하는 프로그램 상태가 변경된다. 구체적으로, 루프(L5)에서, 제1 그룹에 속하는 프로그램 상태는 없고, 제2 그룹에 속하는 프로그램 상태는 제1 내지 제3 프로그램 상태가 된다. 즉, 루프(L5)에서, 제3 프로그램 상태(PV3)는 제1 그룹에서 제2 그룹으로 변경된다. 이에 따라, 루프(L5)에서, 제3 프로그램 상태(PV3)로 프로그램될 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압이 인가된다(S360).
루프(L7)에서, 제3 프로그램 상태(PV3)로 프로그램될 메모리 셀들 중 제3 검증 전압(Vvf3)보다 큰 문턱 전압을 갖는 메모리 셀들이 나타나기 시작한다. 이에 따라, 루프(L7) 이후에, 제3 프로그램 상태(PV3)로 프로그램될 메모리 셀들이 프로그램 허용 셀에서 프로그램 금지 셀로 변화한다. 결과적으로, 루프(L7) 이후에 제3 프로그램 상태(PV3)로 프로그램될 메모리 셀들과 연결된 비트 라인들에 인가되는 전압이 제1 전압(V1)에서 제2 전압(V2)으로 변화한다(S340). 루프(L9)에서, 제3 프로그램 상태(PV3)로 프로그램 될 메모리 셀들의 프로그램이 완료된다. 최종적으로, 루프(L9)에서 선택된 메모리 셀들에 대한 프로그램 동작이 종료된다.
도 10a는 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 프로그램 금지 셀의 변화를 나타내는 그래프이다.
도 9 및 도 10a를 참조하면, 프로그램 초반에 소거 상태(E), 제2 및 제3 프로그램 상태(PV2, PV3)에 대응하는 메모리 셀들이 프로그램 금지 셀이 되고, 제1 프로그램 상태(PV1)에 대응하는 메모리 셀들이 프로그램 허용 셀이 된다. 프로그램 루프 수가 증가함에 따라 제1 프로그램 상태(PV1)에 대응하는 메모리 셀들이 프로그램 금지 셀이 되면서, 전체 프로그램 금지 셀들의 숫자가 증가한다. 루프(L3)에서, 제2 프로그램 상태(PV2)에 대응하는 메모리 셀들이 프로그램 금지 셀에서 프로그램 허용 셀로 변경된다. 이에 따라 루프(L3)에서 프로그램 금지 셀들의 개수가 일시적으로 감소한다. 루프(L3) 이후에, 프로그램 루프 수가 증가함에 따라 제1 및 제2 프로그램 상태(PV1, PV2)에 대응하는 메모리 셀들이 프로그램 금지 셀이 되면서, 전체 프로그램 금지 셀들의 숫자가 증가한다. 루프(L5)에서, 제3 프로그램 상태(PV3)에 대응하는 메모리 셀들이 프로그램 금지 셀에서 프로그램 허용 셀로 변경된다. 이에 따라 루프(L5)에서 프로그램 금지 셀들의 개수가 일시적으로 감소한다. 루프(L5) 이후에, 프로그램 루프 수가 증가함에 따라 제1 내지 제3 프로그램 상태(PV1~PV3)에 대응하는 메모리 셀들이 프로그램 금지 셀이 되면서, 전체 프로그램 금지 셀들의 숫자가 증가한다.
도 10b는 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 워드 라인(WL)의 RC 지연을 나타내는 그래프이다.
도 10a에 도시된 바와 같이, 루프(L3) 이전에 프로그램 금지 셀들의 숫자가 증가하다가 루프(L3)에서 프로그램 금지 셀들의 숫자가 일시적으로 감소한다. 이후 루프들(L3~L5) 동안 프로그램 금지 셀들의 숫자가 증가하다가 루프(L5)에서 프로그램 금지 셀들의 숫자가 일시적으로 감소한다. 또한, 루프(L5) 이후에 프로그램 금지 셀들의 숫자가 점차 증가한다.
따라서, 도 10b에 도시된 바와 같이, 루프(L3) 이전에 워드 라인의 RC 지연이 점차 감소하다가 루프(L3)에서 워드 라인의 RC 지연이 일시적으로 증가한다. 이후 루프들(L3~L5) 동안 워드 라인의 RC 지연이 점차 감소하다가 루프(L5)에서 워드 라인의 RC 지연이 일시적으로 증가한다. 또한, 루프(L5) 이후에 워드 라인의 RC 지연이 점차 감소한다.
도 10c는 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 메모리 셀의 문턱 전압 변화를 설명하기 위한 그래프이다.
도 10c에서, 이상적인 케이스에서 메모리 셀의 문턱 전압 변화가 실선으로 도시되었다. 전술한 바와 같이, 이상적인 케이스에서는 워드 라인의 RC 지연 값이 일정하므로, 메모리 셀의 문턱 전압 증가 속도가 완만하게 나타난다.
한편, 도 10c의 점선으로 도시된 바와 같이, 도 8 및 도 9를 통해 설명한 실시 예에 의하면 프로그램 동작 동안 프로그램 루프 수에 따라 타겟 프로그램 상태들을 제1 그룹 및 제2 그룹으로 구분한다. 이후 제1 그룹에 속하는 타겟 프로그램 상태에 대응하는 메모리 셀들은 프로그램 완료 여부와 무관하게 프로그램 금지 셀로 설정한다. 이에 따라, 도 10a에 도시된 바와 같이 프로그램 루프 수 증가에 따른 프로그램 금지 셀들의 개수를 평활화할 수 있다. 따라서, 도 10b에 도시된 바와 같이 프로그램 루프 수 증가에 따른 워드 라인의 RC 지연 또한 평활화된다. 결과적으로, 메모리 셀들의 문턱 전압 변화가 이상적인 케이스와 크게 차이가 나지 않게 된다.
도 11은 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 워드 라인과 채널 간 커패시턴스의 변화를 설명하기 위한 그래프이다.
도 11을 참조하면, 일반적인 방식, 즉 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 워드 라인과 채널 간 커패시턴스의 변화가 점선으로 도시되어 있다. 또한, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 워드 라인과 채널 간 커패시턴스의 변화가 실선으로 도시되어 있다.
전술한 바와 같이, 도 8 및 도 9를 통해 설명한 바와 같이 메모리 셀들을 프로그램하는 경우, 프로그램 동작 동안 프로그램 루프 수에 따라 타겟 프로그램 상태들을 제1 그룹 및 제2 그룹으로 구분한다. 이후 제1 그룹에 속하는 타겟 프로그램 상태에 대응하는 메모리 셀들은 프로그램 완료 여부와 무관하게 프로그램 금지 셀로 설정한다. 상대적으로 전체 프로그램 동작 동안 워드 라인과 채널 간 커패시턴스가 낮아진다. 점선으로 도시한 일반적인 방식과 비교하여 보면, 프로그램 동작 초반에 워드 라인과 채널 간 커패시턴스의 차이가 가장 크고, 프로그램 동작의 후반으로 갈수록 워드 라인과 채널 간 커패시턴스의 차이가 작아진다. 이는 프로그램 동작의 진행 상태에 따라, 실효적인 프로그램 펄스의 인가 시간이 차이가 남을 의미한다. 실효적인 프로그램 펄스의 인가 시간에 대해서는 도 12 및 도 13을 참조하여 설명하기로 한다.
도 12는 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 실효적인 프로그램 펄스 인가 시간이 증가함을 설명하기 위한 그래프이다.
도 12를 참조하면, 일반적인 방식, 즉 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 워드 라인으로 인가되는 프로그램 펄스가 점선으로 도시되어 있다. 또한, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 워드 라인으로 인가되는 프로그램 펄스가 실선으로 도시되어 있다.
먼저 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우의 프로그램 펄스에 대해 설명하기로 한다. 시간(t0)에서, 선택된 워드 라인에 프로그램 전압(VPGM)을 인가하기 시작한다. 이 경우 워드 라인의 RC 지연에 의해, 워드 라인 전압은 바로 프로그램 전압(VPGM)이 되지 않는다. 워드 라인의 전압은 시간(t0)에서부터 상승하기 시작하여, 일정 시간 후에 프로그램 전압(VPGM)에 도달한다.
이후 시간(t3)에서 선택된 워드 라인에 프로그램 전압(VPGM)이 인가되는 것이 중단된다. 대신에, 시간(t3)에서 선택된 워드 라인에 접지 전압이 인가된다. 이 경우, 워드 라인의 전압은 시간(t3)에서부터 하락하기 시작하여, 일정 시간 후에 접지 전압에 도달한다.
워드 라인에 프로그램 전압(VPGM)을 인가하기 시작한 시점은 시간(t0)이고, 워드 라인에 프로그램 전압(VPGM) 대신 접지 전압을 인가하기 시작한 시점은 시간(t3)이다. 따라서, 기간(t0~t3)은 “프로그램 전압의 인가 시간(tVPGMAPP)”으로 지칭할 수 있다.
도 12의 그래프에서, 실효 프로그램 전압(VPGMEFF)은 메모리 셀들의 문턱 전압을 상승시킬 수 있는 실효적인 전압을 의미할 수 있다. 실효 프로그램 전압(VPGMEFF)은 필요에 따라 다양한 값으로 설정될 수 있다. 일 예로서, 실효 프로그램 전압(VPGMEFF)은 프로그램 전압(VPGM)의 약 90%에 해당하는 값일 수 있다. 다른 예로서, 실효 프로그램 전압(VPGMEFF)은 프로그램 전압(VPGM)의 약 98%에 해당하는 값일 수 있다. 이와 같이, 실효 프로그램 전압(VPGMEFF)은 필요에 따라 다양한 값으로 결정 가능하다.
도 12의 점선을 참조하면, 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 시간(t0)부터 워드 라인의 전압이 상승하기 시작하여 시간(t2)에 워드 라인의 전압이 실효 프로그램 전압(VPGMEFF)에 도달한다. 한편, 시간(t3)부터 워드 라인의 전압이 하강하기 시작하여 시간(t5)에 워드 라인의 전압이 실효 프로그램 전압(VPGMEFF)에 도달한다. 따라서, 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF1)은 점선의 그래프가 실효 프로그램 전압(VPGMEFF)보다 큰 구간인 기간(t2~t5)이 된다.
한편, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우의 프로그램 펄스에 대해 설명하기로 한다. 도 7을 통해 설명한 방식과 동일하게, 시간(t0)에서 선택된 워드 라인에 프로그램 전압(VPGM)을 인가하기 시작한다. 이 경우 워드 라인의 RC 지연에 의해, 워드 라인 전압은 바로 프로그램 전압(VPGM)이 되지 않는다. 또한, 시간(t3)에서 선택된 워드 라인에 프로그램 전압(VPGM)이 인가되는 것이 중단되고, 선택된 워드 라인에 접지 전압이 인가된다.
도 12의 실선을 참조하면, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 시간(t0)부터 워드 라인의 전압이 상승하기 시작하여 시간(t1)에 워드 라인의 전압이 실효 프로그램 전압(VPGMEFF)에 도달한다. 한편, 시간(t3)부터 워드 라인의 전압이 하강하기 시작하여 시간(t4)에 워드 라인의 전압이 실효 프로그램 전압(VPGMEFF)에 도달한다. 따라서, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF2)은 점선의 그래프가 실효 프로그램 전압(VPGMEFF)보다 큰 구간인 기간(t2~t3)이 된다.
한편, 워드 라인의 RC 지연 시간이 상대적으로 긴 점선에 따른 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF1)은, RC 지연 시간이 상대적으로 짧은 실선에 따른 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF2)보다 짧다.
도 13은 도 8 및 도 9에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 실효적인 프로그램 펄스 인가 시간의 변화를 설명하기 위한 그래프이다.
도 13을 참조하면, 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수가 증가함에 따른 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF1)이 점선으로 도시되어 있다. 또한, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수가 증가함에 따른 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF2)이 실선으로 도시되어 있다.
도 13에 도시된 바와 같이, 인가 시간(tPULSEEFF1)이 인가 시간(tPULSEEFF2)보다 짧고, 프로그램 동작의 초반에 그 차이가 가장 많이 난다. 프로그램 루프 수가 반복됨에 따라 인가 시간(tPULSEEFF1)과 인가 시간(tPULSEEFF2)의 차이는 줄어든다.
즉, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF2)은 기존 방식인 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF1)과 차이가 있다. 실효적인 프로그램 펄스의 인가 시간이 기존 방식과 차이나는 경우, 이는 메모리 셀들의 프로그램 성능을 낮추는 원인이 될 수 있다.
본 발명의 일 실시 예에 따른 반도체 메모리 장치의 동작 방법에 의하면, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 워드 라인에 인가되는 프로그램 전압의 인가 시간(tVPGMAPP)을 적응적으로 결정한다. 보다 구체적으로, 프로그램 동작의 초기 구간에는 워드 라인에 인가되는 프로그램 전압의 인가 시간(tVPGMAPP)을 상대적으로 짧게 설정하고, 프로그램 동작의 후기 구간에는 워드 라인에 인가되는 프로그램 전압의 인가 시간(tVPGMAPP)을 상대적으로 길게 설정한다. 특히, 도 8 및 도 9를 통해 설명한 방식에 따라 프로그램 금지 셀이 일시적으로 상승하는 시점에 프로그램 전압의 인가 시간(tVPGMAPP)을 증가시킨다. 이 경우 실효적인 프로그램 펄스의 인가 시간을 기존 방식과 유사하게 설정할 수 있다.
도 14는 도 4의 단계(S210)의 다른 실시 예를 나타내는 순서도이다.
도 14를 참조하면, 선택된 메모리 셀들에 프로그램 펄스를 인가하는 단계는, 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정하는 단계(S211), 비선택된 워드 라인에 프로그램 패스 전압을 인가하는 단계(S213), 현재 프로그램 루프 수에 기초하여, 프로그램 전압의 인가 시간(tVPGMAPP)을 결정하는 단계(S216) 및 결정된 시간 동안, 선택된 워드 라인에 프로그램 전압을 인가하는 단계(S218)를 포함한다.
단계(S211)에서, 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정한다. 본 발명의 일 실시 예에 따르면, 단계(S211)에서는 도 8 및 도 9를 통해 설명한 방법에 따라 비트 라인의 전압을 설정할 수 있다.
단계(S213)에서, 비선택된 워드 라인에 프로그램 패스 전압을 인가한다. 선택된 메모리 셀들을 포함하는 메모리 블록과 연결된 워드 라인들 중, 선택된 메모리 셀들과 연결된 워드 라인은 선택된 워드 라인이 되고, 그 이외의 워드 라인들은 비선택된 워드 라인이 된다. 비선택된 워드 라인에 프로그램 패스 전압을 인가함에 따라, 비선택된 워드 라인들과 연결된 메모리 셀들의 문턱 전압은 변화하지 않는다.
단계(S216)에서, 현재 프로그램 루프 수에 기초하여, 프로그램 전압의 인가 시간(tVPGMAPP)을 결정한다. 구체적으로, 현재 프로그램의 루프 수가 상대적으로 작은 경우, 워드 라인에 인가되는 프로그램 전압의 인가 시간(tVPGMAPP)을 상대적으로 짧게 결정한다. 또한, 현재 프로그램의 루프 수가 상대적으로 큰 경우, 워드 라인에 인가되는 프로그램 전압의 인가 시간(tVPGMAPP)을 상대적으로 길게 결정한다. 단계(S216)의 구체적인 실시 예에 대해서는 도 15를 참조하여 후술하기로 한다.
단계(S218)에서, 결정된 시간 동안, 선택된 워드 라인에 프로그램 전압을 인가한다. 구체적으로, 단계(S216)에서 결정된 프로그램 전압의 인가 시간(tVPGMAPP) 동안, 선택된 워드 라인에 프로그램 전압(VPGM)을 인가한다. 단계(S218)에 따라, 선택된 메모리 셀들 중 프로그램 허용 전압이 인가되는 비트 라인과 연결된 프로그램 허용 셀의 문턱 전압이 상승한다. 또한, 선택된 메모리 셀들 중 프로그램 금지 전압이 인가되는 비트 라인과 연결된 프로그램 금지 셀의 문턱 전압은 유지된다.
도 15는 도 14의 단계(S216)의 일 실시 예를 나타내는 순서도이다.
도 15를 참조하면, 도 14의 단계(S216)은, 제1 그룹의 타겟 프로그램 상태들을 확인하는 단계(S410), 이전 프로그램 루프와 비교하여, 제1 그룹의 타겟 프로그램 상태들의 개수가 감소하였는지 여부를 판단하는 단계(S430), 제1 그룹의 타겟 프로그램 상태들의 개수가 감소한 경우(S430: 예), 프로그램 전압의 인가 시간(tVPGMAPP)을 증가시키는 단계(S450) 및 제1 그룹의 타겟 프로그램 상태들의 개수가 감소하지 않은 경우(S430: 아니오), 프로그램 전압의 인가 시간(tVPGMAPP)을 유지하는 단계(S470)를 포함한다.
도 9를 참조한 예시에서, 제1 그룹의 타겟 프로그램 상태들의 개수는 루프(L3) 및 루프(L5)에서 감소한다. 즉, 루프(L3) 이전의 초기 프로그램 루프들에서, 프로그램 전압의 인가 시간(tVPGMAPP)은 상대적으로 작은 초기값을 가질 수 있다.
루프(L3)에서, 제1 그룹의 타겟 프로그램 상태들에서 제2 프로그램 상태(PV2)가 제외된다. 이에 따라, 제1 그룹의 타겟 프로그램 상태들의 개수가 감소하였으므로(S430: 예), 루프(L3)에서 프로그램 전압의 인가 시간(tVPGMAPP)을 증가시킨다. 반면에, 루프(L3) 이후에는 루프(L5)까지 제1 그룹의 타겟 프로그램 상태들의 개수가 유지되므로(S430: 아니오), 프로그램 전압의 인가 시간(tVPGMAPP) 또한 유지된다.
루프(L4)에서, 제1 그룹의 타겟 프로그램 상태들에서 제3 프로그램 상태(PV3)가 제외된다. 이에 따라, 제1 그룹의 타겟 프로그램 상태들의 개수가 감소하였으므로(S430: 예), 루프(L5)에서 프로그램 전압의 인가 시간(tVPGMAPP)을 증가시킨다. 반면에, 루프(L5) 이후에는 제1 그룹의 타겟 프로그램 상태들의 개수가 유지되므로(S430: 아니오), 프로그램 전압의 인가 시간(tVPGMAPP) 또한 유지된다.
도 16은 도 14 및 도 15에 도시된 실시 예에 따라, 프로그램 루프 수의 변화에 따라 프로그램 전압의 인가 시간을 결정하는 예시를 나타내는 그래프이다.
도 15를 참조하여 전술한 바와 같이, 루프(L3) 이전의 초기 프로그램 루프들에서, 프로그램 전압의 인가 시간(tVPGMAPP)은 상대적으로 작은 초기값을 갖는다.
루프(L3)에서 제1 그룹의 타겟 프로그램 상태들의 개수가 감소하였으므로(S430: 예), 루프(L3)에서 프로그램 전압의 인가 시간(tVPGMAPP)이 증가한다. 또한, 루프(L3) 이후에는 루프(L5)까지 제1 그룹의 타겟 프로그램 상태들의 개수가 유지되므로(S430: 아니오), 프로그램 전압의 인가 시간(tVPGMAPP) 또한 유지된다.
루프(L5)에서 제1 그룹의 타겟 프로그램 상태들의 개수가 다시 한 번 감소하였으므로(S430: 예), 루프(L5)에서 프로그램 전압의 인가 시간(tVPGMAPP)이 증가한다. 또한, 루프(L5) 이후에는 제1 그룹의 타겟 프로그램 상태들의 개수가 유지되므로(S430: 아니오), 프로그램 전압의 인가 시간(tVPGMAPP) 또한 유지된다.
도 17은 도 14 및 도 15에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수의 증가에 따른 실효적인 프로그램 펄스 인가 시간의 변화를 설명하기 위한 그래프이다.
도 17을 참조하면, 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우, 프로그램 루프 수가 증가함에 따른 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF1)이 점선으로 도시되어 있다. 또한, 도 8 및 도 9를 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 동안, 도 14 및 도 15에 도시된 실시 예에 따라 프로그램 전압의 인가 시간을 결정하는 경우 프로그램 루프 수가 증가함에 따른 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF2 ')이 실선으로 도시되어 있다.
도 17에 도시된 바와 같이, 도 14 및 도 15에 도시된 실시 예에 따라 프로그램 전압의 인가 시간을 결정하는 경우 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF2')은 기존 방식인 도 7을 통해 설명한 방식에 따라 메모리 셀들을 프로그램하는 경우 실효적인 프로그램 펄스의 인가 시간(tPULSEEFF1)과 유사하게 된다. 이에 따라, 메모리 셀들의 프로그램 성능의 열화를 최소화할 수 있다.
100: 반도체 메모리 장치 110: 메모리 셀 어레이
120: 어드레스 디코더 130: 읽기 및 쓰기 회로
140: 제어 로직 150: 전압 생성부

Claims (18)

  1. 복수의 메모리 셀들을 포함하는 메모리 블록;
    상기 복수의 메모리 블록들 중 선택된 메모리 셀들에 대하여, 복수의 프로그램 루프들을 포함하는 프로그램 동작을 수행하는 주변 회로; 및
    상기 프로그램 동작 중 상기 선택된 메모리 셀들과 연결된 비트 라인의 전압을 설정하는 과정에서, 현재 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하고, 상기 현재 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서 프로그램 완료된 것으로 연결된 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하며, 상기 현재 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서 프로그램 완료되지 않은 것으로 연결된 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압을 인가하도록 상기 주변 회로를 제어하는 제어 로직을 포함하는 반도체 메모리 장치.
  2. 제1 항에 있어서, 상기 프로그램 동작 중 상기 선택된 메모리 셀들과 연결된 선택된 워드 라인에 프로그램 전압을 인가하는 과정에서, 상기 제어 로직은 상기 현재 프로그램 루프 수에 기초하여, 상기 프로그램 전압의 인가 시간을 결정하고, 상기 주변 회로는 상기 결정된 인가 시간 동안 상기 선택된 워드 라인에 상기 프로그램 전압을 인가하는, 반도체 메모리 장치.
  3. 제1 항에 있어서, 상기 프로그램 동작에 의해 상기 선택된 메모리 셀들의 문턱 전압은 소거 상태 및 제1 내지 제N 프로그램 상태 중 어느 하나에 속하게 되고,
    상기 제어 로직은:
    제1 내지 제A 프로그램 루프 동안, 상기 제1 그룹의 타겟 프로그램 상태는 상기 제2 내지 제N 프로그램 상태를 포함하고, 상기 제2 그룹의 타겟 프로그램 상태는 상기 제1 프로그램 상태를 포함하도록, 상기 제1 및 제2 그룹의 타겟 프로그램 상태들을 설정하고,
    제(A+1) 내지 제B 프로그램 루프 동안, 상기 제1 그룹의 타겟 프로그램 상태는 상기 제3 내지 제N프로그램 상태를 포함하고, 상기 제2 그룹의 타겟 프로그램 상태는 상기 제1 및 제2 프로그램 상태들을 포함하도록, 상기 제1 및 제2 그룹의 타겟 프로그램 상태들을 설정하는, 반도체 메모리 장치.
    (N은 3 이상의 자연수, A는 2 이상의 자연수, B는 A보다 큰 자연수)
  4. 제3 항에 있어서, 상기 제어 로직은:
    제(B+1) 내지 제C 프로그램 루프 동안, 상기 제1 그룹의 타겟 프로그램 상태는 상기 제4 내지 제N프로그램 상태를 포함하고, 상기 제2 그룹의 타겟 프로그램 상태는 상기 제1 내지 제3 프로그램 상태들을 포함하도록, 상기 제1 및 제2 그룹의 타겟 프로그램 상태들을 설정하는, 반도체 메모리 장치.
    (N은 4 이상의 자연수, C는 4 이상의 자연수)
  5. 제2 항에 있어서, 상기 주변 회로는,
    상기 현재 프로그램 루프 수가 상대적으로 작을수록, 상대적으로 짧은 시간동안 상기 프로그램 전압을 상기 선택된 워드 라인에 인가하고,
    상기 현재 프로그램 루프 수가 상대적으로 클수록, 상대적으로 긴 시간 동안 상기 프로그램 전압을 상기 선택된 워드 라인에 인가하는, 반도체 메모리 장치.
  6. 제2 항에 있어서, 상기 제어 로직은,
    상기 제1 그룹의 타겟 프로그램 상태의 개수가 변경되는 경우, 상기 프로그램 전압의 인가 시간을 변경하는, 반도체 메모리 장치.
  7. 제6 항에 있어서, 상기 제1 그룹의 타겟 프로그램 상태의 개수가 감소하는 경우, 상기 주변 회로는 상기 프로그램 전압이 상기 선택된 워드 라인에 인가되는 시간을 증가시키는, 반도체 메모리 장치.
  8. 복수의 프로그램 루프들 중 현재 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들을 프로그램 금지 셀로 설정한 상태에서, 선택된 메모리 셀들에 프로그램 펄스를 인가하는 단계; 및
    선택된 메모리 셀들에 대한 검증 동작을 수행하는 단계를 포함하는, 반도체 메모리 장치의 동작 방법.
  9. 제8 항에 있어서, 상기 선택된 메모리 셀들에 프로그램 펄스를 인가하는 단계에서는, 상기 현재 프로그램 루프 수에 의해 결정되는 시간동안 상기 선택된 메모리 셀들과 연결된 선택된 워드 라인에 프로그램 전압이 인가되는, 반도체 메모리 장치의 동작 방법.
  10. 제9 항에 있어서, 상기 선택된 메모리 셀들에 프로그램 펄스를 인가하는 단계는:
    현재 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들을 프로그램 금지 셀로 설정하도록, 상기 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정하는 단계;
    상기 선택된 워드 라인을 제외한 비선택된 워드 라인에 프로그램 패스 전압을 인가하는 단계; 및
    상기 선택된 워드 라인에 프로그램 전압을 인가하는 단계를 포함하는, 반도체 메모리 장치의 동작 방법.
  11. 제10 항에 있어서, 상기 선택된 워드 라인에 프로그램 전압을 인가하는 단계는:
    상기 현재 프로그램 루프 수에 기초하여, 프로그램 전압의 인가 시간을 결정하는 단계; 및
    상기 결정된 프로그램 전압의 인가 시간 동안, 상기 선택된 워드 라인에 프로그램 전압을 인가하는 단계를 포함하는, 반도체 메모리 장치의 동작 방법.
  12. 제11 항에 있어서, 상기 현재 프로그램 루프 수에 기초하여, 프로그램 전압의 인가 시간을 결정하는 단계는:
    상기 제1 그룹의 타겟 프로그램 상태들을 확인하는 단계; 및
    이전 프로그램 루프와 비교하여, 상기 제1 그룹의 타겟 프로그램 상태들의 개수가 감소한 경우, 상기 프로그램 전압의 인가 시간을 증가시키는 단계를 포함하는, 반도체 메모리 장치의 동작 방법.
  13. 제11 항에 있어서, 상기 현재 프로그램 루프 수에 기초하여, 프로그램 전압의 인가 시간을 결정하는 단계는:
    상기 제1 그룹의 타겟 프로그램 상태들을 확인하는 단계; 및
    이전 프로그램 루프와 비교하여, 상기 제1 그룹의 타겟 프로그램 상태들의 개수가 감소하지 않은 경우, 상기 프로그램 전압의 인가 시간을 유지시키는 단계를 포함하는, 반도체 메모리 장치의 동작 방법.
  14. 제10 항에 있어서, 상기 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정하는 단계는:
    상기 현재 프로그램 루프 수에 의해 결정되는 제1 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하는 단계;
    상기 현재 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서 프로그램 완료된 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하는 단계; 및
    상기 현재 프로그램 루프 수에 의해 결정되는 제2 그룹의 타겟 프로그램 상태에 대응하는 메모리 셀들 중, 이전 프로그램 루프에서 프로그램 완료되지 않은 것으로 판별된 메모리 셀들과 연결된 비트 라인에 프로그램 허용 전압을 인가하는 단계를 포함하는, 반도체 메모리 장치의 동작 방법.
  15. 제14 항에 있어서, 상기 선택된 메모리 셀들과 각각 연결된 비트 라인의 전압을 설정하는 단계는:
    소거 상태에 대응하는 메모리 셀들과 연결된 비트 라인에 프로그램 금지 전압을 인가하는 단계를 더 포함하는, 반도체 메모리 장치의 동작 방법.
  16. 제14 항에 있어서, 상기 프로그램 동작에 의해 상기 선택된 메모리 셀들의 문턱 전압은 소거 상태 및 제1 내지 제N 프로그램 상태 중 어느 하나에 속하게 되고,
    상기 현재 프로그램 루프가 제1 내지 제A 프로그램 루프인 경우, 상기 제1 그룹의 타겟 프로그램 상태는 상기 제2 내지 제N 프로그램 상태를 포함하고, 상기 제2 그룹의 타겟 프로그램 상태는 상기 제1 프로그램 상태를 포함하는, 반도체 메모리 장치의 동작 방법.
    (N은 3 이상의 자연수, A는 2 이상의 자연수)
  17. 제16 항에 있어서,
    상기 현재 프로그램 루프가 제(A+1) 내지 제B 프로그램 루프인 경우, 상기 제1 그룹의 타겟 프로그램 상태는 상기 제3 내지 제N 프로그램 상태를 포함하고, 상기 제2 그룹의 타겟 프로그램 상태는 상기 제1 및 제2 프로그램 상태를 포함하는, 반도체 메모리 장치의 동작 방법.
    (B는 A보다 큰 자연수)
  18. 제17 항에 있어서,
    상기 현재 프로그램 루프가 제(B+1) 내지 제C 프로그램 루프인 경우, 상기 제1 그룹의 타겟 프로그램 상태는 상기 제4 내지 제N 프로그램 상태를 포함하고, 상기 제2 그룹의 타겟 프로그램 상태는 상기 제1 내지 제3 프로그램 상태를 포함하는, 반도체 메모리 장치의 동작 방법.
    (N은 4 이상의 자연수, C는 4 이상의 자연수)
KR1020220167720A 2022-12-05 2022-12-05 프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법 KR20240083501A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220167720A KR20240083501A (ko) 2022-12-05 2022-12-05 프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법
US18/331,689 US20240185922A1 (en) 2022-12-05 2023-06-08 Memory device performing program operation and method of operating the same
CN202310896216.XA CN118155690A (zh) 2022-12-05 2023-07-20 执行编程操作的存储器装置以及操作存储器装置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220167720A KR20240083501A (ko) 2022-12-05 2022-12-05 프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20240083501A true KR20240083501A (ko) 2024-06-12

Family

ID=91280018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220167720A KR20240083501A (ko) 2022-12-05 2022-12-05 프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법

Country Status (3)

Country Link
US (1) US20240185922A1 (ko)
KR (1) KR20240083501A (ko)
CN (1) CN118155690A (ko)

Also Published As

Publication number Publication date
CN118155690A (zh) 2024-06-07
US20240185922A1 (en) 2024-06-06

Similar Documents

Publication Publication Date Title
KR101198515B1 (ko) 반도체 메모리 소자의 동작 방법
KR101119371B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
US7808829B2 (en) Flash memory device capable of overcoming fast program/slow erase phenomenon and erase method thereof
KR101211840B1 (ko) 반도체 메모리 장치의 프로그램 방법
US8773911B2 (en) Semiconductor device and erase methods thereof
US9761318B1 (en) Semiconductor memory device
KR101264019B1 (ko) 반도체 장치의 동작 방법
US8520435B2 (en) Nonvolatile memory device and method of operating the same
JP2011018397A (ja) Nand型フラッシュメモリ
US8553465B2 (en) Semiconductor memory device and method of programming the same
JP2018163727A (ja) 半導体記憶装置
KR102416047B1 (ko) 더미 셀의 제어 방법 및 반도체 장치
KR20120059035A (ko) 반도체 메모리 장치의 프로그램 방법
US20150270003A1 (en) Non-volatile memory and method for programming the same
KR20200104668A (ko) 수직형 메모리 장치 및 이의 동작 방법
KR20120005831A (ko) 메모리 장치 및 이의 동작 방법
KR20240083501A (ko) 프로그램 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법
US20240212760A1 (en) Semiconductor memory device for performing blind program operation and method of operating the same
KR20240075511A (ko) 프로그램 동작을 수행하는 반도체 장치 및 그 동작 방법
US20240161831A1 (en) Memory device for performing foggy-fine program operation and method of operating the memory device
US20240038312A1 (en) Memory device for effectively checking program state and operation method thereof
KR101818439B1 (ko) 메모리 및 메모리의 프로그램 방법
KR20240077007A (ko) 프로그램 동작을 수행하는 반도체 장치 및 그 동작 방법
KR20230073066A (ko) 선택 워드 라인과 인접한 워드 라인들에 개별적으로 전압들을 인가하는 메모리 장치 및 이의 동작 방법
KR20240096189A (ko) 메모리 장치 및 그것의 동작 방법