[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102336662B1 - 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법 - Google Patents

비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법 Download PDF

Info

Publication number
KR102336662B1
KR102336662B1 KR1020170132754A KR20170132754A KR102336662B1 KR 102336662 B1 KR102336662 B1 KR 102336662B1 KR 1020170132754 A KR1020170132754 A KR 1020170132754A KR 20170132754 A KR20170132754 A KR 20170132754A KR 102336662 B1 KR102336662 B1 KR 102336662B1
Authority
KR
South Korea
Prior art keywords
program
memory cells
voltage
word line
selected word
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020170132754A
Other languages
English (en)
Other versions
KR20190041320A (ko
Inventor
이지상
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR1020170132754A priority Critical patent/KR102336662B1/ko
Priority to CN201810762275.7A priority patent/CN109658972B/zh
Priority to DE102018116915.9A priority patent/DE102018116915B4/de
Priority to US16/108,323 priority patent/US10699788B2/en
Priority to JP2018189019A priority patent/JP7061549B2/ja
Publication of KR20190041320A publication Critical patent/KR20190041320A/ko
Priority to US16/881,779 priority patent/US10957397B2/en
Priority to US17/025,281 priority patent/US11158381B2/en
Application granted granted Critical
Publication of KR102336662B1 publication Critical patent/KR102336662B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/025Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/26Sensing or reading circuits; Data output 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/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • 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/3472Circuits or methods to verify correct erasure of nonvolatile memory cells whilst erasing is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate erasure
    • 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/3481Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

복수의 워드 라인들에 각각 연결된 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 동작 방법이 개시된다. 본 동작 방법은 프로그램 커맨드에 응답하여 복수의 워드 라인들 중 선택 워드 라인에 소거 검출 전압을 인가함으로써 선택 워드 라인에 연결된 메모리 셀들에 대해 소거 검출 동작을 수행하고, 소거 검출 동작 이후에 선택 워드 라인에 프로그램 전압을 인가하며, 소거 검출 동작이 수행된 메모리 셀들 중 오프 셀들의 개수를 카운팅한다.

Description

비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법{Non-volatile memory device and method of operating the non-volatile memory device}
본 개시의 기술적 사상은 메모리 장치에 관한 것이며, 더욱 상세하게는, 불량 워드 라인을 검출할 수 있는 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용되며, 휘발성 메모리 장치와 비휘발성 메모리 장치로 구분된다. 비휘발성 메모리 장치의 일 예로서, 플래시 메모리 장치는 휴대폰, 디지털 카메라, 휴대용 정보 단말기(PDA), 이동식 컴퓨터 장치, 고정식 컴퓨터 장치 및 기타 장치에서 사용될 수 있다. 최근 정보 통신 장치의 다기능화에 따라 메모리 장치의 대용량화 및 고집적화가 요구되고 있다.
본 개시의 기술적 사상은 프로그램 시에 불량 워드 라인을 검출할 수 있는 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법을 제공한다.
본 개시의 기술적 사상에 따른 비휘발성 메모리 장치의 동작 방법은, 복수의 워드 라인들에 각각 연결된 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 동작 방법으로서, 프로그램 커맨드에 응답하여, 상기 복수의 워드 라인들 중 선택 워드 라인에 소거 검출 전압을 인가함으로써 상기 선택 워드 라인에 연결된 메모리 셀들에 대해 소거 검출 동작을 수행하는 단계, 상기 소거 검출 동작 이후에, 상기 선택 워드 라인에 프로그램 전압을 인가하는 단계, 및 상기 소거 검출 동작이 수행된 상기 메모리 셀들 중 오프 셀들의 개수를 카운팅하는 단계를 포함한다.
또한, 본 개시의 기술적 사상에 따른 비휘발성 메모리 장치의 동작 방법은, 복수의 워드 라인들에 각각 연결된 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 동작 방법으로서, 프로그램 커맨드에 응답하여, 상기 복수의 워드 라인들 중 선택 워드 라인에 프로그램 전압을 인가하는 단계, 상기 프로그램 전압을 인가한 후에, 상기 선택 워드 라인에 소거 검출 전압을 인가함으로써 상기 선택 워드 라인에 연결된 메모리 셀들 중 프로그램 인히빗 메모리 셀들에 대해 소거 검출 동작을 수행하는 단계, 및 상기 소거 검출 동작이 수행된 상기 프로그램 인히빗 메모리 셀들 중 오프 셀들의 개수를 카운팅하는 단계를 포함한다.
또한, 본 개시의 기술적 사상에 따른 비휘발성 메모리 장치의 동작 방법은, 복수의 워드 라인들에 각각 연결된 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 동작 방법으로서, 프로그램 커맨드에 응답하여, 상기 복수의 워드 라인들 중 선택 워드 라인에 프로그램 전압을 인가하는 단계, 프로그램 검증 전압을 이용하여 상기 선택 워드 라인에 연결된 메모리 셀들 중 프로그램된 메모리 셀들에 대해 프로그램 검증 동작을 수행하는 단계, 상기 프로그램 검증 전압을 이용하여 상기 선택 워드 라인에 연결된 메모리 셀들 중 프로그램 인히빗 메모리 셀들에 대해 소거 검출 동작을 수행하는 단계, 및 상기 소거 검출 동작이 수행된 상기 프로그램 인히빗 메모리 셀들 중 오프 셀들의 개수를 카운팅하는 단계를 포함한다.
또한, 본 개시의 기술적 사상에 따른 비휘발성 메모리 장치는, 복수의 워드 라인들 각각에 연결된 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 복수의 워드 라인들 중 선택 워드 라인에 연결된 메모리 셀들과 각각 연결되고, 상기 선택 워드 라인에 대한 프로그램 동작의 수행 전에 또는 수행 중에 상기 메모리 셀들에 대한 소거 검출 결과를 각각 저장하는 복수의 페이지 버퍼들을 포함하는 페이지 버퍼부, 및 상기 페이지 버퍼와 연결되고, 상기 소거 검출 결과로부터 오프 셀들의 개수를 카운팅하도록 구성된 카운터를 포함한다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2a 및 도 2b는 불량 워드 라인을 포함하는 메모리 장치에 대한 동작의 예들을 나타낸다.
도 3은 본 개시의 일 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 4는 도 3의 제1 메모리 블록의 등가 회로도를 나타낸다.
도 5는 도 3의 제1 메모리 블록을 예시적으로 나타내는 사시도이다.
도 6a는 도 4의 메모리 셀들의 문턱 전압 산포를 예시적으로 나타내고, 도 6b는 도 6a의 문턱 전압 산포를 형성하기 위한 프로그램 방법을 예시적으로 나타낸다.
도 7은 본 개시의 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 8은 도 7에 예시된 동작 방법에 따른 메모리 셀들의 문턱 전압 산포를 예시적으로 나타낸다.
도 9는 본 개시의 일 실시예에 따른 메모리 장치의 프로그램 방법을 나타내는 흐름도이다.
도 10a 및 도 10b는 도 9에 예시된 프로그램 방법을 나타내는 타이밍도들이다.
도 11a 내지 도 11c는 본 개시의 일 실시예에 따른 프로그램 방법을 수행하기 위한 프로그램 시퀀스들을 나타낸다.
도 12 및 도 13은 본 개시의 일부 실시예들에 따른 메모리 컨트롤러와 메모리 장치 사이의 동작을 각각 나타내는 흐름도들이다.
도 14는 본 개시의 일 실시예에 따른 메모리 장치를 나타낸다.
도 15는 본 개시의 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 16은 도 15에 예시된 동작 방법에 따른 메모리 셀들의 문턱 전압 산포를 예시적으로 나타낸다.
도 17은 본 개시의 일 실시예에 따른 메모리 장치의 프로그램 방법을 나타내는 흐름도이다.
도 18a 및 도 18b는 도 17에 예시된 프로그램 방법을 나타내는 타이밍도들이다.
도 19는 본 개시의 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 19는 본 개시의 일 실시예에 따른 메모리 장치의 프로그램 방법을 나타내는 흐름도이다.
도 20a는 본 개시의 일 실시예에 따른 페이지 버퍼를 나타내는 회로도이고, 도 20b는 도 20a의 페이지 버퍼에 인가되는 제어 신호들을 예시적으로 나타내는 타이밍도이다.
도 21은 도 19에 예시된 동작 방법에 따른 메모리 셀들의 문턱 전압 산포를 예시적으로 나타낸다.
도 22는 본 개시의 일 실시예에 따른 메모리 장치를 나타낸다.
도 23은 본 개시의 일 실시예에 따른 메모리 장치의 프로그램 방법을 나타내는 흐름도이다.
도 24는 도 23에 예시된 프로그램 방법에 따른 도 22의 페이지 버퍼부의 동작의 일 예를 설명하기 위한 타이밍도이다.
도 25a 및 도 25b는 도 23에 예시된 프로그램 방법을 나타내는 타이밍도들이다.
도 26은 도 23에 예시된 프로그램 방법에 따른 도 22의 페이지 버퍼부의 동작의 다른 예를 설명하기 위한 타이밍도이다.
도 27은 본 개시의 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 28은 본 개시의 실시예들에 따른 메모리 장치를 SSD 시스템에 적용한 예를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템(10)을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 메모리 장치(100) 및 메모리 컨트롤러(200)를 포함할 수 있다. 메모리 장치(100)는 비휘발성 메모리 장치일 수 있고, 메모리 칩으로 구현될 수 있다. 메모리 장치(100)는 메모리 셀 어레이(110), 페이지 버퍼부(120) 및 카운터(130)를 포함할 수 있다. 일부 실시예들에서, 메모리 시스템(10)은 전자 장치에 내장되는 내부 메모리로 구현될 수 있고, 예를 들어, 임베디드 UFS(Universal Flash Storage) 메모리 장치, eMMC(embedded Multi-Media Card), 또는 SSD(Solid State Drive)일 수 있다. 일부 실시예들에서, 메모리 시스템(10)은 전자 장치에 착탈 가능한 외장 메모리로 구현될 수 있고, 예를 들어, UFS 메모리 카드, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 또는 메모리 스틱(Memory Stick)일 수 있다.
메모리 컨트롤러(200)는 호스트(HOST)로부터의 읽기/쓰기 요청에 응답하여 메모리 장치(100)에 저장된 데이터를 독출하도록 또는 메모리 장치(100)에 데이터를 프로그램하도록 메모리 장치(100)를 제어할 수 있다. 구체적으로, 메모리 컨트롤러(200)는 메모리 장치(100)에 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(100)에 대한 프로그램, 독출 및 소거 동작을 제어할 수 있다. 또한, 프로그램하기 위한 데이터(DATA)와 독출된 데이터(DATA)가 메모리 컨트롤러(200)와 메모리 장치(100) 사이에서 송수신될 수 있다. 메모리 컨트롤러(200)는 ECC 엔진(210)을 포함할 수 있고, ECC 엔진(210)은 메모리 장치(100)로부터 수신한 데이터에서 에러를 정정할 수 있다.
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함할 수 있는데, 예를 들어, 복수의 메모리 셀들은 플래쉬 메모리 셀들일 수 있다. 이하에서는, 복수의 메모리 셀들이 낸드(NAND) 플래쉬 메모리 셀들인 경우를 예로 하여 본 발명의 실시예들을 상술하기로 한다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 RRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다. 일부 실시예들에서, 메모리 셀 어레이(110)는 2차원 메모리 셀 어레이를 포함할 수 있다. 일부 실시예들에서, 메모리 셀 어레이(110)는 복수의 낸드 스트링들을 포함하는 3차원 메모리 셀 어레이를 포함할 수 있으며, 이에 대해 도 4 및 도 5를 참조하여 상술하기로 한다.
3차원 메모리 어레이는 실리콘 기판 위에 배치되는 활성 영역과, 메모리 셀들의 동작과 관련된 회로로서 상기 기판 상에 또는 상기 기판 내에 형성된 회로를 가지는 메모리 셀 어레이들의 적어도 하나의 물리적 레벨에 모놀리식으로 형성된다. 상기 용어 "모놀리식"은 상기 어레이를 구성하는 각 레벨의 층들이 상기 어레이 중 각 하부 레벨의 층들의 바로 위에 적층되어 있음을 의미한다. 본 발명의 기술적 사상에 의한 일 실시예에서, 3차원 메모리 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직 방향으로 배치된 낸드 스트링들을 포함한다. 상기 적어도 하나의 메모리 셀은 전하 트랩층을 포함할 수 있다. 미국 특허공개공보 제7,679,133호, 미국 특허공개공보 제8,553,466호, 미국 특허공개공보 제8,654,587호, 미국 특허공개공보 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 3차원 메모리 어레이가 복수 레벨로 구성되고 워드 라인들 및/또는 비트 라인들이 레벨들 간에 공유되어 있는 3차원 메모리 어레이에 대한 적절한 구성들을 상술하는 것들로서, 본 명세서에 인용 형식으로 결합된다.
페이지 버퍼부(120)는 메모리 셀들에 대한 소거 검출 결과를 저장하고, 저장된 소거 검출 결과에 따른 페이지 버퍼 신호들을 출력할 수 있다. 일 실시예에서, 소거 검출 결과는, 프로그램 동작 시, 선택 워드 라인에 소거 검출 전압을 인가한 경우 비트 라인들에 각각 연결된 센싱 노드들의 전압에 대응될 수 있다. 일 실시예에서, 소거 검출 전압은 메모리 셀들에 대한 최하위 프로그램 상태의 검증 전압(예를 들어, 도 6a의 Vvfy1)보다 낮을 수 있다. 일 실시예에서, 소거 검출 전압은 메모리 셀들에 대한 최하위 프로그램 상태의 검증 전압과 동일할 수 있고, 소거 검출 대상 메모리 셀들에 연결된 센싱 노드들에 대한 디벨롭 타임은 프로그램된 메모리 셀들에 연결된 센싱 노드들에 대한 디벨롭 타임보다 짧을 수 있다.
카운터(130)는 페이지 버퍼부(120)로부터 페이지 버퍼 신호들을 수신하고, 수신한 페이지 버퍼 신호들을 기초로 오프 셀들의 개수를 카운팅할 수 있다. 이때, 오프 셀들의 문턱 전압은 소거 검출 전압보다 높을 수 있다. 일 실시예에서, 오프 셀들은 정상적으로 소거 동작이 수행되지 않은 메모리 셀들에 대응할 수 있다. 일 실시예에서, 오프 셀들은 정상적으로 소거 동작이 수행되었으나 프로그램 디스터브에 의해 문턱 전압이 상승한 메모리 셀들에 대응할 수 있다.
카운팅된 오프 셀들의 개수가 기준 비트보다 많은 경우, 선택 워드 라인을 불량 워드 라인으로 판단될 수 있다. 이때, 메모리 장치(100)는 불량 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 종료할 수 있고, 불량 워드 라인에 연결된 메모리 블록을 페일 블록으로 처리할 수 있다. 일 실시예에서, 메모리 장치(100)는 페일 메시지를 메모리 컨트롤러(200)에 제공할 수 있다. 일 실시예에서, 메모리 장치(100)는 카운팅된 오프 셀들의 개수와 기준 비트의 비교 결과를 메모리 컨트롤러(200)에 제공할 수 있다. 한편, 카운팅된 오프 셀들의 개수가 기준 비트 이하인 경우, 선택 워드 라인을 불량 워드 라인으로 판단하지 않을 수 있다. 이때, 메모리 장치(100)는 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 계속 진행할 수 있다.
도 2a는 불량 워드 라인을 포함하는 메모리 장치에 대한 동작의 일 예를 나타낸다. 도 2a를 참조하면, 메모리 장치에 대한 소거 동작을 수행한 이후, 워드 라인들(WL)에 소거 검증 전압(ERS_VFY)을 인가함으로써 소거 검증 동작을 수행할 수 있다. 프로그램/소거 사이클의 증가에 따른 메모리 장치의 열화 또는 공정적인 결함에 의해 워드 라인들(WL) 중 불량 워드 라인(WLa)이 발생할 수 있다. 이때, 불량 워드 라인(WLa)에 연결된 메모리 셀들에 대해 소거 동작이 정상적으로 수행되지 않을 수 있고, 불량 워드 라인(WLa)에 연결된 메모리 셀들의 문턱 전압은 소거 검증 전압(ERS_VFY) 이하로 충분히 낮아지지 않을 수 있다.
워드 라인들(WL)에 대해 개별적으로 소거 검증 동작을 수행하면 정교한 소거 검증 결과를 얻을 수 있는 반면, 워드 라인들(WL)의 개수의 증가에 따라 소거 검증 횟수도 증가하게 되어 소거 검증 동작에 소요되는 시간이 지나치게 커질 수 있다. 따라서, 워드 라인들(WL)에 동시에 소거 검증 전압(ERS_VFY)을 인가함으로써 소거 검증 동작을 동시에 수행하거나 워드 라인들(WL)을 2개 이상의 그룹들로 나눠서 그룹 별로 소거 검증 동작을 수행할 수 있다. 이 경우, 소거 검증 동작에 소요되는 시간이 감소되는 반면 소거 검증 결과의 정확도를 저하될 수 있다. 예를 들어, 불량 워드 라인(WLa)에 연결된 메모리 셀들은 정상적으로 소거가 되지 않았음에도 소거 검증 결과 소거 패스로 인식되는 경우가 발생할 수 있다.
소거 패스 이후, 불량 워드 라인(WLa)에 연결된 메모리 셀들에 대해 프로그램 동작을 수행할 경우, 정상적으로 소거가 되지 않았던 메모리 셀들은 제1 내지 제7 프로그램 상태들(P1 내지 P7)로 프로그램될 수 있고, 프로그램 검증 결과 프로그램 패스될 수 있다. 프로그램 패스 이후, 불량 워드 라인(WLa)에 연결된 메모리 셀들에 대해 독출 동작을 수행할 경우, 타겟 상태가 소거 상태(E)인 메모리 셀들의 비정상적인 문턱 전압 산포로 인해 독출 오류가 발생할 수 있다. 구체적으로, 메모리 컨트롤러(예를 들어, 도 1의 200)에 포함된 ECC 엔진(예를 들어, 도 1의 210)에 의해서도 정정 불가능한 독출 오류, 다시 말해, UECC(Uncorrectable ECC)가 발생할 수 있다.
도 2b는 불량 워드 라인을 포함하는 메모리 장치에 대한 동작의 다른 예를 나타낸다. 도 2b를 참조하면, 메모리 장치에 대한 소거 동작의 수행 결과, 복수의 워드 라인들(WL) 중 워드 라인(WLb)에 연결된 메모리 셀들의 문턱 전압이 소거 검증 전압(ERS_VFY)에 상당히 인접할 수 있다. 그러나, 워드 라인(WLb)에 연결된 메모리 셀들의 문턱 전압은 소거 검증 전압(ERS_VFY) 보다 낮으므로, 메모리 장치에 대한 소거 검증 결과 소거 패스될 수 있다. 소거 패스 이후, 워드 라인(WLb)에 인접한 워드 라인들에 연결된 메모리 셀들에 대해 프로그램 동작을 수행할 경우, 프로그램 디스터브에 의해 워드 라인(WLb)에 연결된 메모리 셀들 중 일부 메모리 셀들의 문턱 전압이 소거 검증 전압(ERS_VFY) 이상으로 상승할 수 있다. 이와 같이, 소거 동작이 정상적으로 수행된 메모리 셀들의 경우, 프로그램 디스터브에 의해 문턱 전압이 상승하는 진행성 불량이 발생할 수 있다.
이러한 진행성 불량이 발생한 경우, 도 2a를 참조하여 설명한 바와 같이, 워드 라인(WLb)에 연결된 메모리 셀들은 제1 내지 제7 프로그램 상태들(P1 내지 P7)로 프로그램될 수 있고, 프로그램 검증 결과 프로그램 패스될 수 있다. 프로그램 패스 이후, 워드 라인(WLb)에 연결된 메모리 셀들에 대해 독출 동작을 수행할 경우, 타겟 상태가 소거 상태(E)인 메모리 셀들의 비정상적인 문턱 전압 산포로 인해 독출 오류가 발생할 수 있다.
도 3은 본 개시의 일 실시예에 따른 메모리 장치(100)를 나타내는 블록도이다. 도 3을 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 페이지 버퍼부(120), 카운터(130), 패스/페일 체크부(140), 제어 로직(150), 전압 생성부(160) 및 로우 디코더(170)를 포함할 수 있다. 도시되지는 않았으나, 메모리 장치(100)는 데이터 입출력 회로 또는 입출력 인터페이스를 더 포함할 수 있다.
메모리 셀 어레이(110)는 비트 라인들(BL)을 통해 페이지 버퍼부(120)에 연결될 수 있고, 워드 라인들(WL), 스트링 선택 라인들(SSL) 및 그라운드 선택 라인들(GSL)을 통해 로우 디코더(170)에 연결될 수 있다. 메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1 내지 BLKz)을 포함할 수 있고, 각 메모리 블록(BLK1 내지 BLKz)은 복수의 메모리 셀들을 포함할 수 있다. 각 메모리 셀은 하나 또는 그 이상의 비트들을 저장할 수 있으며, 구체적으로, 각 메모리 셀은 싱글 레벨 셀(Single Level Cell, SLC), 멀티 레벨 셀(Multi Level Cell, MLC) 또는 트리플 레벨 셀(Triple Level Cell, TLC)로 이용될 수 있다. 일 실시예에서, 복수의 메모리 블록들(BLK1 내지 BLKz) 중 일부 메모리 블록은 싱글 레벨 셀 블록일 수 있고, 다른 메모리 블록들은 멀티 레벨 셀 블록 또는 트리플 레벨 셀 블록일 수 있다.
페이지 버퍼부(120)는 복수의 페이지 버퍼들(PB1 내지 PBm)을 포함할 수 있다(m은 2 이상의 정수). 일 실시예에서, 각 페이지 버퍼는 하나의 비트 라인에 연결될 수 있다. 일 실시예에서, 각 페이지 버퍼는 하나의 비트 라인 그룹에 연결될 수 있고, 하나의 비트 라인 그룹에 포함된 복수의 비트 라인들은 하나의 페이지 버퍼를 공유할 수 있다. 예를 들어, 네 개의 비트 라인들은 하나의 비트 라인 그룹을 구성할 수 있고, 네 개의 비트 라인들은 하나의 페이지 버퍼를 공유할 수 있다. 카운터(130)는 페이지 버퍼 신호(PBS)를 기초로 오프 셀들의 개수를 카운팅할 수 있고, 카운트 결과(CR)를 생성할 수 있다. 이때, 오프 셀들의 문턱 전압은 소거 검출 전압보다 높을 수 있다. 패스/페일 체크부(140)는 카운트 결과(CR)를 기초로 메모리 셀들에 대한 프로그램 패스 여부를 판단하여, 패스 신호 또는 페일 신호(P/F)를 생성할 수 있다.
제어 로직(150)은 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로, 메모리 셀 어레이(110)에 데이터를 기입하거나 메모리 셀 어레이(110)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(150)은 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다. 구체적으로, 제어 로직(150)은 전압 생성부(160)에 전압 제어 신호(CTRL_vol)를 제공할 수 있고, 로우 디코더(170)에 로우 어드레스(X-ADDR)를 제공할 수 있으며, 페이지 버퍼부(120)에 칼럼 어드레스(Y-ADDR)를 제공할 수 있고, 카운터(130)에 카운팅 제어 신호(CTRL_cnt)를 제공할 수 있다.
전압 생성부(160)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(110)에 대한 프로그램, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성부(160)는 워드 라인 전압(VWL), 예를 들어, 프로그램 전압, 독출 전압, 패스 전압, 소거 검증 전압 또는 프로그램 검증 전압 등을 생성할 수 있다. 또한, 전압 생성부(160)는 전압 제어 신호(CTRL_vol)를 기초로 하여 스트링 선택 라인 전압 및 그라운드 선택 라인 전압을 더 생성할 수 있다. 또한, 전압 생성부(160)는 메모리 셀 어레이(110)에 제공할 소거 전압을 더 생성할 수 있다.
로우 디코더(170)는 로우 어드레스(X-ADDR)에 응답하여, 메모리 블록들(BLK1 내지 BLKz) 중 하나를 선택할 수 있고, 선택된 메모리 블록의 워드 라인들(WL) 중 하나를 선택할 수 있고, 복수의 스트링 선택 라인들(SSL) 중 하나를 선택할 수 있다. 페이지 버퍼부(120)는 칼럼 어드레스(Y-ADDR)에 응답하여 비트 라인들(BL) 중 일부 비트 라인을 선택할 수 있다. 구체적으로, 페이지 버퍼부(120)는 동작 모드에 따라 기입 드라이버 또는 감지 증폭기로서 동작한다.
도 4는 도 3의 제1 메모리 블록(BLK1)의 등가 회로도를 나타낸다.
도 4를 참조하면, 제1 메모리 블록(BLK1)은 낸드 스트링들(NS11 내지 NS33), 워드 라인들(WL1 내지 WL8), 비트 라인들(BL1 내지 BL3), 그라운드 선택 라인들(GSL1 내지 GSL3), 스트링 선택 라인들(SSL1 내지 SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 스트링 선택 트랜지스터(SST)는 대응하는 스트링 선택 라인(SSL1 내지 SSL3)에 연결된다. 복수의 메모리 셀들(MC)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL1 내지 GSL3)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL1 내지 BL3)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
도 5는 도 3의 제1 메모리 블록(BLK1)을 예시적으로 나타내는 사시도이다.
도 5를 참조하면, 제1 메모리 블록(BLK1)은 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 기판(SUB)은 제1 도전형(예를 들어, p 타입)을 가지며, 기판(SUB) 상에 제1 방향을 따라 신장되고, 제2 도전형(예를 들어, n 타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공된다. 인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 신장되는 절연막들(IL)이 제3 방향을 따라 순차적으로 제공되며, 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격된다. 인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 절연막들(IL)을 관통하는 필라들(pillars)(P)이 제공된다. 예를 들어, 필라들(P)은 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 것이다. 구체적으로, 각 필라(P)의 표면층(surface layer)(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(CS)이 제공된다. 전하 저장층(CS)은 터널링 절연층, 전하 트랩층 및 블로킹 절연층을 포함할 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에, 선택 라인들(GSL, SSL) 및 워드 라인들(WL1 내지 WL8)과 같은 게이트 전극(GE)이 제공된다. 복수의 필라들(P) 상에는 드레인 컨택들(DR)이 각각 제공된다. 예를 들어, 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들(DR) 상에, 제2 방향으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL1 내지 BL3)이 제공된다.
도 6a는 도 4의 메모리 셀들의 문턱 전압 산포를 예시적으로 나타내고, 도 6b는 도 6a의 문턱 전압 산포를 형성하기 위한 프로그램 방법을 예시적으로 나타낸다. 도 6a를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 일 실시예에서, 메모리 셀들은 TLC일 수 있고, 소거 상태를 갖는 메모리 셀들은 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1 내지 P7) 중 하나에 대응하는 상태를 갖도록 프로그램될 수 있다. 일 실시예에서, 메모리 셀들은 MLC일 수 있고, 소거 상태를 갖는 메모리 셀들은 소거 상태(E) 및 제1 내지 제3 프로그램 상태들(P1 내지 P3) 중 하나에 대응하는 상태를 갖도록 프로그램될 수 있다. 일 실시예에서, 메모리 셀들은 SLC일 수 있고, 소거 상태를 갖는 메모리 셀들은 소거 상태(E) 또는 제1 프로그램 상태(P1)를 갖도록 프로그램될 수 있다.
도 6b를 참조하면, 메모리 장치는 프로그램 루프들(PL1 내지 PLn)을 수행하여 메모리 셀들이 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1 내지 P7) 중 하나를 갖도록 프로그램할 수 있다(n은 2 이상의 정수). 프로그램 루프들(PL1 내지 PLn) 각각은 프로그램 펄스(Vpgm1 내지 VpgmN)를 인가하는 프로그램 단계와 검증 전압들(Vvfy1 내지 Vvfy7)을 인가하는 검증 단계를 포함할 수 있다. 제1 프로그램 루프(PL1)에서, 제1 프로그램 펄스(Vpgm1)가 선택 워드 라인에 인가되고, 이어서, 검증 전압들(Vvfy1 내지 Vvfy7)이 선택 워드 라인에 순차적으로 인가될 수 있다. 검증 전압들(Vvfy1 내지 Vvfy7)에 의해 검증 패스된 메모리 셀들은 목표 프로그램 상태를 갖는 것으로 판별되고, 제2 프로그램 루프(PL2)에서 프로그램 인히빗될 것이다. 검증 패스는 대응하는 검증 전압에 의해 메모리 셀이 오프 셀(off-cell)로 판독된 것을 가리킨다. 제2 프로그램 루프(PL2)에서, 프로그램 인히빗 메모리 셀들을 제외한 나머지 메모리 셀들을 프로그램하기 위하여 제1 프로그램 펄스(Vpgm1)보다 프로그램 전압 증가량(Vpgm) 만큼 높은 제2 프로그램 펄스(Vpgm2)가 선택 워드 라인에 인가되고, 이어서, 제1 프로그램 루프(PL1)의 검증 단계와 동일하게 검증 동작이 수행된다.
도 7은 본 개시의 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 도 7을 참조하면, 본 실시예에 따른 동작 방법은 메모리 장치의 프로그램 동작 시 소거 검출 동작을 수행함으로써 불량 워드 라인을 체크하는 방법에 대응하고, 예를 들어, 도 3의 메모리 장치(100)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 도 1 내지 도 6b를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
단계 S110에서, 프로그램 커맨드를 수신한다. 예를 들어, 메모리 장치(100)는 메모리 컨트롤러(200)로부터 프로그램 커맨드(CMD)를 수신할 수 있다. 또한, 메모리 장치(100)는 메모리 컨트롤러(200)로부터 어드레스(ADDR) 및 데이터(DATA)를 더 수신할 수 있다. 이와 같이, 불량 워드 라인을 체크하기 위한 소거 검출 동작은 프로그램 커맨드의 수신 이후에 수행될 수 있고, 메모리 장치(100)는 프로그램 동작 시 소거 검출 동작을 수행할 수 있다.
단계 S120에서, 선택 워드 라인에 소거 검출 전압을 인가함으로써 선택 워드 라인에 연결된 메모리 셀들에 대해 소거 검출 동작을 수행한다. 예를 들어, 로우 디코더(170)는 복수의 워드 라인들(WL) 중 어드레스(ADDR)에 대응하는 선택 워드 라인에 소거 검출 전압을 인가할 수 있다. 일 실시예에서, 소거 검출 전압의 전압 레벨은 메모리 셀들에 대한 최하위 프로그램 상태의 검증 전압(예를 들어, 도 6a의 Vvfy1)보다 낮을 수 있다. 일 실시예에서, 소거 검출 전압의 전압 레벨은 메모리 셀들에 대한 소거 상태의 검증 전압 레벨(예를 들어, 도 2의 ERS_VFY)보다 높을 수 있다.
단계 S130에서, 선택 워드 라인에 프로그램 전압을 인가한다. 예를 들어, 로우 디코더(170)는 복수의 워드 라인들(WL) 중 어드레스(ADDR)에 대응하는 선택 워드 라인에 제1 프로그램 펄스(예를 들어, Vpgm1)을 인가할 수 있다. 단계 S140에서, 소거 검출 동작이 수행된 메모리 셀들 중 오프 셀들의 개수를 카운팅한다. 일 실시예에서, 단계 S130과 단계 S140은 실질적으로 동시에 수행될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예들에서, 단계 S140은 단계 S130 이후에 수행될 수 있다. 또한, 일부 실시예들에서, 단계 S130은 단계 S140 이후에 수행될 수도 있다. 이하에서는 도 8을 참조하여 단계 S140에 대해 더욱 자세하게 설명하기로 한다.
도 8은 도 7에 예시된 동작 방법에 따른 메모리 셀들의 문턱 전압 산포를 예시적으로 나타낸다.
도 8을 참조하면, 프로그램 동작 전에, 정상 워드 라인에 연결된 메모리 셀들은 정상 소거 상태(81)를 가질 수 있고, 불량 워드 라인에 연결된 메모리 셀들은 불량 소거 상태(82)를 가질 수 있다. 불량 소거 상태(82)의 메모리 셀들의 문턱 전압들은 정상 소거 상태(81)의 메모리 셀들의 문턱 전압보다 높을 수 있다. 단계 S120에서, 선택 워드 라인에 소거 검출 전압(RD_E)을 인가하고, 단계 S140에서, 오프 셀들의 개수를 카운팅한다. 정상 소거 상태(81)를 갖는 메모리 셀들에 대해 소거 검출 전압(RD_E)을 인가할 경우 오프 셀들의 개수는 0개일 수 있다. 한편, 불량 소거 상태(82)를 갖는 메모리 셀들에 대해 소거 검출 전압(RD_E)을 인가할 경우 오프 셀들의 개수는 불량 소거 상태(82)에서 음영 부분에 대응할 수 있다.
다시 도 7을 참조하면, 단계 S150에서, 오프 셀들의 개수가 기준 비트보다 많은지 판단한다. 구체적으로, 기준 비트는 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 계속해서 진행한 이후, 프로그램된 메모리 셀들에 대한 독출 결과 독출 오류(즉, UECC)가 발생하지 않을 수 있는 값에 대응할 수 있다. 일 실시예에서, 기준 비트는 ECC 엔진(210)에서 정정 가능한 비트 수에 대응할 수 있다. 일 실시예에서, 기준 비트는 변경될 수 있다. 예를 들어, 소거 검출 전압의 전압 레벨을 낮출 경우 기준 비트를 증가시킬 수 있고, 소거 검출 전압의 전압 레벨을 높일 경우 기준 비트를 감소시킬 수 있다. 판단 결과, 오프 셀들의 개수가 기준 비트보다 많은 경우 단계 S160을 수행하고, 그렇지 않으면 단계 S170을 수행한다.
단계 S160에서, 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 종료한다. 구체적으로, 메모리 장치(100)는 선택 워드 라인에 연결된 메모리 블록을 페일 블록으로 처리할 수 있고, 메모리 컨트롤러(200)에 페일 메시지를 전송할 수 있다. 단계 S170에서, 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 계속해서 진행한다. 구체적으로, 메모리 장치(100)는 이어지는 프로그램 루프들을 수행할 수 있다.
도 9는 본 개시의 일 실시예에 따른 메모리 장치의 프로그램 방법을 나타내는 흐름도이다. 도 10a 및 도 10b는 도 9에 예시된 프로그램 방법을 나타내는 타이밍도들이다. 이하에서는, 도 1, 도 9 내지 도 10b를 함께 참조하여 본 실시예에 따른 프로그램 방법을 설명하기로 한다. 본 프로그램 방법은 도 7의 일 구현 예에 대응할 수 있고, 도 7 및 도 8을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
단계 S210에서, 데이터 셋업을 수행한다. 예를 들어, 메모리 장치(100)는 메모리 컨트롤러(200)로부터 프로그램 커맨드(CMD)와 함께 프로그램 데이터(DATA)를 수신하고, 수신한 프로그램 데이터(DATA)를 페이지 버퍼부(120)에 로딩할 수 있다. 단계 S220에서, 선택 워드 라인에 소거 검출 전압(RD_E)을 인가한다. 단계 S230에서, 루프 카운트가 제1 프로그램 루프(PL1)인지 판단한다. 제1 프로그램 루프(PL1)인 경우 단계 S240에서, 선택 워드 라인에 제1 프로그램 펄스(Vpgm1)를 인가함으로써 프로그램을 수행하고, 동시에 오프 셀을 카운팅한다.
단계 S250에서, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF)보다 많은지 판단한다. 판단 결과, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF)보다 많은 경우 도 10a에 예시된 바와 같이 프로그램 동작은 종료하고, 메모리 블록을 페일 블록으로 처리할 수 있다. 한편, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF) 이하인 경우 단계 S260을 수행하고, 도 10b에 예시된 바와 같이 프로그램 동작을 계속해서 진행한다.
단계 S260에서, 모든 프로그램 상태들에 대해 프로그램 패스인지 판단한다. 판단 결과, 프로그램 패스인 경우 프로그램 동작은 종료하고, 그렇지 않은 경우 단계 S270을 수행한다. 단계 S270에서, 선택 워드 라인에 복수의 프로그램 검증 전압들(Vvfy)을 순차적으로 인가함으로써, 프로그램 상태들 별로 프로그램 검증을 수행한다. 단계 S280에서, 루프 카운트를 1만큼 증가한다. 단계 S290에서, 예를 들어, 제2 프로그램 루프(PL2)에서, 선택 워드 라인에 제2 프로그램 펄스(Vpgm2)를 인가함으로써 프로그램을 수행하고, 동시에 패스/페일 체크를 수행한다.
도 11a는 본 개시의 일 실시예에 따른 노멀 프로그램 시퀀스를 나타낸다.
도 11a를 참조하면, 메모리 장치(100)는 입출력 라인(IOx)를 통해 메모리 컨트롤러(200)로부터 제1 커맨드(CMD1), 어드레스(ADDR), LSB 데이터를 포함하는 데이터(DATA), 제2 커맨드(CMD2), 및 제1 데이터 래치를 지시하는 래치 어드레스(L-ADDR)를 수신할 수 있다. 이때, 제1 커맨드(CMD1)는 메모리 동작의 종류를 나타낼 수 있고, 제2 커맨드(CMD2)는 제1 커맨드(CMD1)와 관련된 데이터 출력 플로우가 계속됨을 나타낼 수 있다. 메모리 장치(100)는 로우 레벨의 레디/비지 신호(RnBx)를 메모리 컨트롤러(200)로 전송하고, 레디/비지 신호(RnBi)가 로우 레벨을 유지하는 동안 LSB 데이터를 제1 데이터 래치에 덤프할 수 있다.
이어서, 메모리 장치(100)는 입출력 라인(IOx)를 통해 메모리 컨트롤러(200)로부터 제1 커맨드(CMD1), 어드레스(ADDR), CSB 데이터를 포함하는 데이터(DATA), 제2 커맨드(CMD2), 및 제2 데이터 래치를 지시하는 래치 어드레스(L-ADDR)를 수신할 수 있다. 메모리 장치(100)는 로우 레벨의 레디/비지 신호(RnBx)를 메모리 컨트롤러(200)로 전송하고, 레디/비지 신호(RnBi)가 로우 레벨을 유지하는 동안 CSB 데이터를 제2 데이터 래치에 덤프할 수 있다.
이어서, 메모리 장치(100)는 입출력 라인(IOx)를 통해 메모리 컨트롤러(200)로부터 제1 커맨드(CMD1), 어드레스(ADDR), MSB 데이터를 포함하는 데이터(DATA), 제2 커맨드(CMD2), 및 제3 데이터 래치를 지시하는 래치 어드레스(L-ADDR)를 수신할 수 있다. 메모리 장치(100)는 로우 레벨의 레디/비지 신호(RnBx)를 메모리 컨트롤러(200)로 전송하고, 레디/비지 신호(RnBi)가 로우 레벨을 유지하는 동안 MSB 데이터를 제3 데이터 래치에 덤프할 수 있다.
이어서, 메모리 장치(100)는 제1 커맨드(CMD1), 어드레스(ADDR) 및 제2 커맨드(CMD2)를 포함하는 컨펌(confirm) 커맨드를 수신할 수 있다. 이때, 제1 커맨드(CMD1)는 메모리 동작의 종류를 나타낼 수 있고, 제2 커맨드(CMD2)는 프로그램 동작을 지시할 수 있다. 메모리 장치(100)는 로우 레벨의 레디/비지 신호(RnBx)를 메모리 컨트롤러(200)에 전송하고, 레디/비지 신호(RnBi)가 로우 레벨을 유지하는 동안 프로그램 동작을 수행할 수 있다.
도 11b는 본 개시의 일 실시예에 따라, 데이터 입력 구간 중 수행된 소거 검출 동작에서 불량 워드 라인이 검출되지 않은 경우를 나타낸다. 도 11b를 참조하면, 본 실시예에 따른 프로그램 시퀀스는 도 11a의 변형 예에 대응하며, 구체적으로, LSB 데이터를 덤프하는 구간에서 소거 검출 동작을 시작하는 점에서 도 11a와 다를 수 있다. 본 실시예에서, 메모리 장치(100)는 제1 시점(t1)에서 제2 시점(t2)까지 레디/비디 신호(RnBi)를 로우 레벨로 유지하고, 제1 시점(t1)에 LSB 데이터를 덤핑함과 동시에, 불량 워드 라인을 체크하기 위하여 선택 워드 라인에 연결된 메모리 셀들에 대해 소거 검출 동작을 시작한다. 소거 검출 동작의 결과, 어드레스(ADDR)에 따른 선택 워드 라인에 불량 워드 라인이 아닌 경우, 메모리 장치(100)는 제3 시점(t3)에서 프로그램 동작을 시작한다.
도 11c는 본 개시의 일 실시예에 따라, 데이터 입력 구간 중 수행된 소거 검출 동작에서 불량 워드 라인에 검출된 경우를 나타낸다. 도 11c를 참조하면, 본 실시예에 따른 프로그램 시퀀스는 도 11b의 변형 예에 대응하며, 구체적으로, 컨펌 커맨드를 수신한 이후의 동작이 도 11b와 다를 수 있다. 본 실시예에서, 소거 검출 동작의 결과, 어드레스(ADDR)에 따른 선택 워드 라인에 불량 워드 라인인 경우, 메모리 장치(100)는 제3 시점(t3)에서 프로그램 페일을 나타내는 로우 레벨의 레디/비지 신호(RnBx)를 메모리 컨트롤러(200)에 전송하고, 프로그램 동작을 종료한다.
도 12는 본 개시의 일 실시예에 따른 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타내는 흐름도이다. 구체적으로, 본 실시예에 따른 동작은 프로그램/소거 사이클이 기준 값 이하인 경우에 대응할 수 있다. 단계 S310에서, 메모리 컨트롤러(200)는 프로그램 커맨드를 생성한다. 단계 S320에서, 메모리 컨트롤러(200)는 프로그램/소거 사이클이 기준 값보다 큰지 판단한다. 판단 결과, 프로그램/소거 사이클이 기준 값보다 크지 않으면, 단계 S330 내지 단계 S390을 수행한다. 예를 들어, 단계 S330 내지 단계 S390은 도 11a에 예시된 실시예에 대응할 수 있다.
단계 S330에서, 메모리 컨트롤러(200)는 메모리 장치(100)에 커맨드(CMD), 어드레스(ADDR), LSB 데이터를 전송한다. 예를 들어, 커맨드는 도 11a의 제1 커맨드(CMD1) 및 제2 커맨드(CMD2)를 포함할 수 있다. 단계 S340에서, 메모리 장치(100)는 LSB 데이터를 제1 데이터 래치에 덤핑한다. 단계 S345에서, 메모리 장치(100)는 메모리 컨트롤러(200)에 레디 신호를 전송한다. 예를 들어, 레디 신호는 하이 레벨의 레디/비지 신호(RnBx)에 대응할 수 있다.
단계 S350에서, 메모리 컨트롤러(200)는 메모리 장치(100)에 커맨드(CMD), 어드레스(ADDR), CSB 데이터를 전송한다. 단계 S360에서, 메모리 장치(100)는 CSB 데이터를 제2 데이터 래치에 덤핑한다. 단계 S365에서, 메모리 장치(100)는 메모리 컨트롤러(200)에 레디 신호를 전송한다. 예를 들어, 메모리 셀들이 MLC인 경우 단계 S350 내지 단계 S365는 생략될 수 있다. 단계 S370에서, 메모리 컨트롤러(200)는 메모리 장치(100)에 커맨드(CMD), 어드레스(ADDR), MSB 데이터를 전송한다. 단계 S380에서, 메모리 장치(100)는 MSB 데이터를 제3 데이터 래치에 덤핑한다. 단계 S385에서, 메모리 장치(100)는 메모리 컨트롤러(200)에 레디 신호를 전송한다. 단계 S390에서, 메모리 컨트롤러(200)는 메모리 장치(100)에 컨펌 커맨드 및 어드레스(ADDR)를 전송한다. 단계 S395에서, 메모리 장치(100)는 프로그램 동작을 수행한다.
도 13은 본 개시의 일 실시예에 따른 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타내는 흐름도이다. 구체적으로, 본 실시예에 따른 동작은 프로그램/소거 사이클이 기준 값보다 큰 경우에 대응할 수 있다. 도 13을 참조하면, 단계 S310에서, 메모리 컨트롤러(200)는 프로그램 커맨드를 생성한다. 단계 S320에서, 메모리 컨트롤러(200)는 프로그램/소거 사이클이 기준 값보다 큰지 판단한다. 판단 결과, 프로그램/소거 사이클이 기준 값보다 크지 않으면, 단계 S410 내지 단계 S490을 수행한다. 예를 들어, 단계 S410 내지 단계 S490은 도 11b 및 도 11c에 예시된 실시예들에 대응할 수 있다.
단계 S410에서, 메모리 컨트롤러(200)는 메모리 장치(100)에 커맨드(CMD), 어드레스(ADDR), LSB 데이터를 전송한다. 예를 들어, 커맨드는 도 11b의 제1 커맨드(CMD1) 및 제2 커맨드(CMD2)를 포함할 수 있다. 단계 S420에서, 메모리 장치(100)는 LSB 데이터를 제1 데이터 래치에 덤핑하고, 불량 워드 라인을 체크하기 위한 소거 검출 동작을 수행하고, 오프 셀들의 개수를 카운팅한다. 이때, 소거 검출 동작 및 오프 셀들의 개수를 카운팅하는 동작은 단계 S420 내지 단계 S460 사이의 임의의 구간에서 수행될 수 있다. 단계 S425에서, 메모리 장치(100)는 메모리 컨트롤러(200)에 레디 신호를 전송한다. 예를 들어, 레디 신호는 하이 레벨의 레디/비지 신호(RnBx)에 대응할 수 있다. 한편, 메모리 장치(100)는 소거 검출 동작을 수행하기 위해 레디/비지 신호(RnBi)를 계속해서 로우 레벨로 유지할 수 있다.
단계 S430에서, 메모리 컨트롤러(200)는 메모리 장치(100)에 커맨드(CMD), 어드레스(ADDR), CSB 데이터를 전송한다. 단계 S440에서, 메모리 장치(100)는 CSB 데이터를 제2 데이터 래치에 덤핑한다. 단계 S445에서, 메모리 장치(100)는 메모리 컨트롤러(200)에 레디 신호를 전송한다. 예를 들어, 메모리 셀들이 MLC인 경우 단계 S430 내지 단계 S445는 생략될 수 있다. 단계 S450에서, 메모리 컨트롤러(200)는 메모리 장치(100)에 커맨드(CMD), 어드레스(ADDR), MSB 데이터를 전송한다. 단계 S460에서, 메모리 장치(100)는 MSB 데이터를 제3 데이터 래치에 덤핑한다. 단계 S465에서, 메모리 장치(100)는 메모리 컨트롤러(200)에 레디 신호를 전송한다. 단계 S470에서, 메모리 컨트롤러(200)는 메모리 장치(100)에 컨펌 커맨드 및 어드레스를 전송한다.
단계 S480에서, 메모리 장치(100)는 카운팅된 오프 셀들의 개수가 기준 비트보다 큰지 판단한다. 판단 결과, 카운팅된 오프 셀들의 개수가 기준 비트보다 크면 단계 S485를 수행하고, 그렇지 않은 경우 단계 S490을 수행한다. 단계 S485에서, 메모리 장치(100)는 메모리 컨트롤러(200)에 페일 메시지를 전송한다. 단계 S290에서, 메모리 장치(100)는 프로그램 동작을 수행한다.
도 14는 본 개시의 일 실시예에 따른 메모리 장치(100a)를 나타낸다.
도 14를 참조하면, 메모리 장치(100a)는 도 3의 메모리 장치(100)의 일 예에 대응할 수 있다. 예를 들어, 프로그램 동작을 수행하기 위한 선택 워드 라인은 WL1일 수 있다. 프로그램 수행 구간에서, 선택 워드 라인(WL1)에 프로그램 전압이 인가되고, 제1 비트 라인(BL1)에 접지 전압(GND)이 인가되고, 제2 비트 라인(BL2)에 전원 전압(VDD)이 인가될 수 있다. 이에 따라, 제1 비트 라인(BL1)에 연결된 제1 메모리 셀(MC1)은 프로그램되고, 제2 비트 라인(BL2)에 연결된 제2 메모리 셀(MC2)은 프로그램 인히빗될 수 있다. 이때, 제1 메모리 셀(MC1)은 프로그램된 메모리 셀이라고 지칭할 수 있고, 제2 메모리 셀(MC2)은 프로그램 인히빗 메모리 셀이라고 지칭할 수 있다. 프로그램 검증 구간에서, 선택 워드 라인(WL1)에 소거 검출 전압(RD_E)이 인가되고, 이어서, 선택 워드 라인(WL1)에 제1 프로그램 검증 전압(Vvfy1)이 인가될 수 있다. 이하에서는 도 15 및 도 16을 참조하여 메모리 장치(100a)에 대한 동작 방법을 자세하게 설명하기로 한다.
도 15는 본 개시의 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 도 15를 참조하면, 본 실시예에 따른 동작 방법은 메모리 장치의 프로그램 동작 시 소거 검출 동작을 수행함으로써 불량 워드 라인을 체크하는 방법에 대응하고, 예를 들어, 도 14의 메모리 장치(100a)에서 시계열적으로 수행되는 단계들을 포함할 수 있다.
단계 S510에서, 프로그램 커맨드를 수신한다. 단계 S520에서, 선택 워드 라인에 프로그램 전압을 인가한다. 예를 들어, 선택 워드 라인(WL1)에 제1 프로그램 펄스(Vpgm1)을 인가할 수 있다. 또한, 제1 비트 라인(BL1)에 접지 전압(GND)을 인가하고, 제2 비트 라인(BL2)에 전원 전압(VDD)을 인가할 수 있다. 이로써, 선택 메모리 셀(MC1)은 프로그램되고, 비 선택 메모리 셀(MC2)은 프로그램 인히빗될 수 있다.
단계 S530에서, 선택 워드 라인에 소거 검출 전압을 인가함으로써 선택 워드 라인에 연결된 메모리 셀들에 대해 소거 검출 동작을 수행한다. 예를 들어, 선택 워드 라인(WL1)에 소거 검출 전압(RD_E)를 인가할 수 있다. 일 실시예에서, 소거 검출 전압(RD_E)의 전압 레벨은 메모리 셀들에 대한 최하위 프로그램 상태의 검증 전압(예를 들어, Vvfy1)보다 낮을 수 있다.
단계 S540에서, 프로그램 인히빗 메모리 셀들 중 오프 셀들의 개수를 카운팅한다. 예를 들어, 프로그램 인히빗 메모리 셀들은 타겟 상태가 소거 상태인 메모리 셀들에 대응할 수 있다. 예를 들어, 카운터(130)는 페이지 버퍼부(120)로부터 페이지 버퍼 신호를 수신하고, 수신한 페이지 버퍼 신호를 기초로 오프 셀들의 개수를 카운팅할 수 있다. 일 실시예에서, 상기 방법은 단계 S540과 단계 S550 사이에, 선택 워드 라인에 프로그램 검증 전압을 인가함으로써 선택 워드 라인에 연결된 메모리 셀들에 대해 프로그램 검증 동작을 수행하는 단계를 더 포함할 수 있다.
단계 S550에서, 오프 셀들의 개수가 기준 비트보다 많은지 판단한다. 구체적으로, 기준 비트는 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 계속해서 진행한 이후, 프로그램된 메모리 셀들에 대한 독출 결과 독출 오류(즉, UECC)가 발생하지 않을 수 있는 값에 대응할 수 있다. 판단 결과, 오프 셀들의 개수가 기준 비트보다 많은 경우 단계 S560을 수행하고, 그렇지 않으면 단계 S570을 수행한다. 단계 S560에서, 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 종료한다. 구체적으로, 메모리 장치(100a)는 선택 워드 라인에 연결된 메모리 블록을 페일 블록으로 처리할 수 있다. 단계 S570에서, 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 계속해서 진행한다. 구체적으로, 메모리 장치(100a)는 이어지는 프로그램 루프들을 수행할 수 있다.
도 16은 도 15에 예시된 동작 방법에 따른 메모리 셀들의 문턱 전압 산포를 예시적으로 나타낸다.
도 16을 참조하면, 프로그램 동작 전에, 정상 워드 라인에 연결된 메모리 셀들은 정상 소거 상태(161)를 가질 수 있고, 불량 워드 라인에 연결된 메모리 셀들은 불량 소거 상태(162)를 가질 수 있다. 선택 워드 라인에 제1 프로그램 펄스(Vpgm1)를 인가하면 정상 소거 상태(161)를 갖는 메모리 셀들 중 프로그램된 메모리 셀들은 제1 프로그램 상태(164)를 갖고, 프로그램 인히빗 메모리 셀들은 정상 소거 상태(161)를 유지할 수 있다. 한편, 선택 워드 라인에 제1 프로그램 펄스(Vpgm1)를 인가하면 불량 소거 상태(162)를 갖는 메모리 셀들 중 프로그램된 메모리 셀들은 제1 프로그램 상태(163)를 갖고, 프로그램 인히빗 메모리 셀들은 불량 소거 상태(162)를 유지할 수 있다. 불량 소거 상태(162)를 갖는 메모리 셀들에 대해 소거 검출 전압(RD_E)을 인가할 경우 오프 셀들의 개수는 불량 소거 상태(162)의 음영 부분에 대응할 수 있다.
도 17은 본 개시의 일 실시예에 따른 메모리 장치의 프로그램 방법을 나타내는 흐름도이다. 도 18a 및 도 18b는 도 17에 예시된 프로그램 방법을 나타내는 타이밍도들이다. 이하에서는, 도 14, 도 17 내지 도 18b를 함께 참조하여 본 실시예에 따른 프로그램 방법을 설명하기로 한다. 본 프로그램 방법은 도 15의 일 구현 예에 대응할 수 있고, 도 15 및 도 16을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
단계 S610에서, 데이터 셋업을 수행한다. 단계 S620에서, 루프 카운트가 제1 프로그램 루프(PL1)인지 판단한다. 제1 프로그램 루프(PL1)인 경우 단계 S630에서, 선택 워드 라인에 제1 프로그램 펄스(Vpgm1)를 인가함으로써 프로그램을 수행한다. 단계 S640에서, 선택 워드 라인에 소거 검출 전압(RD_E)을 인가한다. 단계 S650에서, 선택 워드 라인에 복수의 프로그램 검증 전압들(Vvfy)을 순차적으로 인가함으로써, 프로그램 상태들 별로 프로그램 검증을 수행한다. 일 실시예에서, 단계 S640 이후 단계 S650이 수행될 수 있다. 일 실시예에서, 단계 S650 이후 단계 S640이 수행될 수도 있다. 단계 S655에서, 루프 카운트를 1만큼 증가한다.
단계 S660에서, 루프 카운트가 제2 프로그램 루프(PL2)인지 판단한다. 제2 프로그램 루프(PL2)인 경우 단계 S670에서, 선택 워드 라인에 제2 프로그램 펄스(Vpgm2)를 인가함으로써 프로그램을 수행하고, 동시에 오프 셀들의 개수를 카운팅한다. 단계 S675에서, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF)보다 많은지 판단한다. 판단 결과, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF)보다 많은 경우 도 18a에 예시된 바와 같이 프로그램 동작은 종료하고, 메모리 블록을 페일 블록으로 처리할 수 있다. 한편, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF) 이하인 경우 단계 S680을 수행하고, 도 18b에 예시된 바와 같이 프로그램 동작을 계속해서 진행한다.
단계 S680에서, 모든 프로그램 상태들에 대해 프로그램 패스인지 판단한다. 판단 결과, 프로그램 패스인 경우 프로그램 동작은 종료하고, 그렇지 않은 경우 단계 S650을 수행한다. 단계 S650에서, 선택 워드 라인에 복수의 프로그램 검증 전압들(Vvfy)을 순차적으로 인가함으로써, 프로그램 상태들 별로 프로그램 검증을 수행한다. 단계 S655에서, 루프 카운트를 1만큼 증가한다. 단계 S660에서, 루프 카운트가 제2 프로그램 루프(PL2)인지 판단한다. 단계 S690에서, 예를 들어, 제3 프로그램 루프(PL3)에서, 선택 워드 라인에 제3 프로그램 펄스(Vpgm3)를 인가함으로써 프로그램을 수행하고, 동시에 프로그램 동작의 패스/페일을 체크한다.
도 19는 본 개시의 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 도 19를 참조하면, 본 실시예에 따른 동작 방법은 메모리 장치의 프로그램 동작 시 소거 검출 동작을 수행함으로써 불량 워드 라인을 체크하는 방법에 대응하고, 예를 들어, 도 14의 메모리 장치(100a)에서 시계열적으로 수행되는 단계들을 포함할 수 있다.
단계 S710에서, 프로그램 커맨드를 수신한다. 단계 S720에서, 선택 워드 라인에 프로그램 전압을 인가한다. 예를 들어, 선택 워드 라인(WL1)에 제1 프로그램 펄스(Vpgm1)을 인가할 수 있다. 또한, 제1 비트 라인(BL1)에 접지 전압(GND)을 인가하고, 제2 비트 라인(BL2)에 전원 전압(VDD)을 인가할 수 있다. 이로써, 선택 메모리 셀(MC1)은 프로그램되고, 비 선택 메모리 셀(MC2)은 프로그램 인히빗될 수 있다. 단계 S730에서, 프로그램 검증 전압 및 제1 디벨롭 타임을 이용하여, 프로그램 인히빗 메모리 셀들에 대해 소거 검출 동작을 수행한다. 단계 S740에서, 프로그램 검증 전압 및 제2 디벨롭 타임을 이용하여, 프로그램된 메모리 셀들에 대해 프로그램 검증 동작을 수행한다. 일 실시예에서, 제1 디벨롭 타임은 제2 디벨롭 타임보다 짧을 수 있다.
단계 S750에서, 프로그램 인히빗 메모리 셀들 중 오프 셀들의 개수를 카운팅한다. 예를 들어, 프로그램 인히빗 메모리 셀들은 타겟 상태가 소거 상태인 메모리 셀들에 대응할 수 있다. 단계 S760에서, 오프 셀들의 개수가 기준 비트보다 많은지 판단한다. 판단 결과, 오프 셀들의 개수가 기준 비트보다 많은 경우 단계 S770을 수행하고, 그렇지 않으면 단계 S780을 수행한다. 단계 S770에서, 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 종료한다. 구체적으로, 메모리 장치(100a)는 선택 워드 라인에 연결된 메모리 블록을 페일 블록으로 처리할 수 있다. 단계 S780에서, 선택 워드 라인에 연결된 메모리 셀들에 대한 프로그램 동작을 계속해서 진행한다. 구체적으로, 메모리 장치(100a)는 이어지는 프로그램 루프들을 수행할 수 있다.
도 20a는 본 개시의 일 실시예에 따른 페이지 버퍼(PB)를 나타내는 회로도이다.
도 20a를 참조하면, 페이지 버퍼(PB)는 도 14의 제1 및 제2 페이지 버퍼들(PB1, PB2) 중 하나에 대응할 수 있다. 페이지 버퍼(PB)는 센싱 노드(SO)에 각각 연결되는 프리차지 회로(Precharge Circuit)(PC), 센싱 래치(Sensing Latch)(SL), 제1 내지 제3 데이터 래치들(Data Latch)(DL1 내지 DL3) 및 캐쉬 래치(Cache Latch)(CL)를 포함할 수 있다. 제1 내지 제3 데이터 래치들(DL1 내지 DL3)의 개수는 메모리 셀에 저장되는 데이터 비트에 따라 변경될 수 있다. 또한, 페이지 버퍼(PB)는 비트 라인 선택 트랜지스터(TR1), 비트 라인 전압 제어 트랜지스터(TR2), 프리차지 트랜지스터(TR3) 및 모니터링 트랜지스터들(TR4 내지 TR8)을 더 포함할 수 있다.
일 실시예에서, 페이지 버퍼(PB)는 프로그램 동작 시 프로그램된 메모리 셀들에 대해서는 프로그램 검증을 수행하고, 프로그램 인히빗 메모리 셀들에 대해서는 소거 검출을 수행할 수 있다. 구체적으로, 페이지 버퍼(PB)는 프로그램 검증 동작 시 비트 라인(BL)을 통해서 감지된 데이터를 센싱 래치(SL)에 저장한다. 이때, 프로그램된 메모리 셀들에 대한 제2 디벨롭 타임은, 프로그램 인히빗 메모리 셀들에 대한 제1 디벨롭 타임보다 길 수 있다.
센싱 래치(SL)에 저장된 감지된 데이터에 따라서 타깃 데이터가 저장된 제1 데이터 래치(DL1)가 설정될 수 있다. 예를 들면, 감지된 데이터가 프로그램 완료된 것을 나타내는 경우, 제1 데이터 래치(DL1)는 후속되는 프로그램 루프에서 선택된 메모리 셀에 대한 프로그램 인히빗 설정으로 전환된다. 캐시 래치(CL)는 외부에서 제공되는 입력 데이터를 일시 저장할 수 있다. 프로그램 동작 시, 캐시 래치(CL)에 저장되는 타깃 데이터가 제1 내지 제3 데이터 래치들(DL1 내지 DL3)에 저장될 수 있다.
도 20b는 도 20a의 페이지 버퍼(PB)에 인가되는 제어 신호들을 예시적으로 나타내는 타이밍도이다.
도 20a 및 도 20b를 참조하면, T1 시점에서, 센싱 노드(SO)를 프리자치하기 위해 프리차지 제어 신호(LOAD)가 로우 레벨(예를 들어, 0V)로 제공된다. 이로써, 프리차지 트랜지스터(TR3)가 턴온되며, 센싱 노드(SO)의 전압 레벨은 프리차지 레벨(예를 들어, Vpre2)로 상승할 수 있다. 또한, 센싱 노드(SO)와 연결된 비트 라인(BL)을 프리차지 하기 위해 비트 라인 전압 제어 신호(BLSHF)가 전원 전압 레벨(예를 들어, VDD)로 천이된다. 이로써, 비트 라인 전압 제어 트랜지스터(TR2)가 턴온되며, 비트 라인(BL)의 전압 레벨은 소정의 비트 라인 전압으로 상승할 수 있다. 비트 라인(BL)에 대한 프리차지 동작은 프리차지 트랜지스터(TR3)가 턴오프될 때까지 진행된다. 이때, 비트 라인 클램핑 제어 신호(BLCLAMP), 그라운드 제어 신호(SOGND), 모니터 제어 신호(MON1)은 로우 레벨(예를 들어, 0V)로, 그리고, 비트 라인 셋업 제어 신호(BLSETUP)는 전원 전압 레벨(예를 들어, VDD)로 제공될 수 있다.
T2 시점에서, 센싱 노드(SO)의 디벨롭 동작이 진행된다. 센싱 노드(SO)의 디벨롭을 위해 프리차지 제어 신호(LOAD)와 모니터 제어 신호(MON1)는 전원 전압 레벨(예를 들어, VDD)로 천이한다. 이에 따라, 선택된 메모리 셀의 문턱 전압에 따라 센싱 노드(SO)의 전압이 감소할 수 있고, 센싱 노드(SO)의 전압은 센싱 래치(SL)에 저장될 수 있다. T3 시점에서, 센싱 래치(SL)에 저장된 데이터에 따라 데이터 래치(DL)에 데이터가 래치될 수 있다.
도 21은 도 19에 예시된 동작 방법에 따른 메모리 셀들의 문턱 전압 산포를 예시적으로 나타낸다. 도 21을 참조하면, 프로그램 동작 전에, 정상 워드 라인에 연결된 메모리 셀들은 정상 소거 상태(211)를 가질 수 있고, 불량 워드 라인에 연결된 메모리 셀들은 불량 소거 상태(212)를 가질 수 있다. 선택 워드 라인에 제1 프로그램 펄스(Vpgm1)를 인가하면 선택 워드 라인에 연결된 메모리 셀들 중 프로그램된 메모리 셀들은 제1 프로그램 상태(213)를 갖고, 프로그램 인히빗 메모리 셀들은 정상 소거 상태(211) 또는 불량 소거 상태(212)를 유지할 수 있다.
일 실시예에서, 제1 프로그램 검증 전압(Vvfy1) 및 제1 디벨롭 타임(DVS1)을 이용하여 프로그램 인히빗 메모리 셀들에 대해 소거 검출 동작을 수행할 수 있다. 이어서, 프로그램 인히빗 메모리 셀들 중 오프 셀들의 개수를 카운팅할 수 있고, 오프 셀들은 불량 소거 상태(212)에서 음영 부분에 대응할 수 있다. 일 실시예에서, 제1 프로그램 검증 전압(Vvfy1) 및 제2 디벨롭 타입(DVS2)을 이용하여 프로그램된 셀들에 대해 프로그램 검증 동작을 수행할 수 있다.
도 22는 본 개시의 일 실시예에 따른 메모리 장치(100b)를 나타낸다.
도 22를 참조하면, 메모리 장치(100b)는 도 3의 메모리 장치(100)의 일 예에 대응할 수 있다. 페이지 버퍼부(120a)는 제1 및 제2 페이지 버퍼들(121, 122)을 포함할 수 있다. 제1 페이지 버퍼(121)는 프리차지부(1211), 연결부(1212) 및 래치(1213)를 포함할 수 있고, 연결부(1212)는 제1 비트 라인(BL1)과 제1 센싱 노드(SO1)를 연결할 수 있다. 제2 페이지 버퍼(122)는 프리차지부(1221), 연결부(1222) 및 래치(1223)를 포함할 수 있고, 연결부(1222)는 제2 비트 라인(BL2)과 제2 센싱 노드(SO2)를 연결할 수 있다. 예를 들어, 프리차지부들(1211, 1221) 각각은 도 20a의 프리차지 회로(PC) 및 제3 트랜지스터(TR3)에 대응할 수 있고, 연결부들(1212, 1222) 각각은 도 20a의 제1 및 제2 트랜지스터들(TR1, TR2)에 대응할 수 있고, 래치들(1213, 1223) 각각은 도 20a의 제4 내지 제8 트랜지스터들(TR4 내지 TR8), 센싱 래치(SL), 제1 내지 제3 데이터 래치들(DL1 내지 DL3) 및 캐시 래치(CL)에 대응할 수 있다.
프로그램 구간에서, 선택 워드 라인(WL1)에 프로그램 전압이 인가되고, 제1 비트 라인(BL1)에 접지 전압(GND)이 인가되고, 제2 비트 라인(BL2)에 전원 전압(VDD)이 인가될 수 있다. 이에 따라, 제1 비트 라인(BL1)에 연결된 메모리 셀(MC1)은 프로그램되고, 제2 비트 라인(BL2)에 연결된 메모리 셀(MC2)은 프로그램 인히빗될 수 있다. 프로그램 검증 구간에서, 선택 워드 라인(WL1)에 제1 프로그램 검증 전압(Vvfy1)이 인가될 수 있다. 일 실시예에서, 제1 메모리 셀(MC1)에 연결된 제1 페이지 버퍼(121)는 제2 디벨롭 타임(DVL2) 동안 제1 센싱 노드(SO1)를 디벨롭함으로써 제1 메모리 셀(MC1)에 대한 프로그램 검증 동작을 수행할 수 있다. 일 실시예에서, 제2 메모리 셀(MC2)에 연결된 제2 페이지 버퍼(122)는 제1 디벨롭 타임(DVS1) 동안 제2 센싱 노드(SO2)를 디벨롭함으로써 제2 메모리 셀(MC2)에 대한 소거 검출 동작을 수행할 수 있다. 이하에서는 도 23 내지 도 25b를 참조하여 메모리 장치(100b)에 대한 동작 방법을 자세하게 설명하기로 한다.
도 23은 본 개시의 일 실시예에 따른 메모리 장치의 프로그램 방법을 나타내는 흐름도이다. 도 24는 도 23에 예시된 프로그램 방법에 따른 도 22의 페이지 버퍼부의 동작의 일 예를 설명하기 위한 타이밍도이다. 도 25a 및 도 25b는 도 23에 예시된 프로그램 방법을 나타내는 타이밍도들이다. 본 실시예에 따른 프로그램 방법은 예를 들어, 도 22의 메모리 장치(100b)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 이하에서는, 도 23 내지 도 25b를 함께 참조하여 본 실시예에 따른 프로그램 방법을 설명하기로 한다. 본 프로그램 방법은 도 19의 일 구현 예에 대응할 수 있고, 도 19 내지 도 21을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
단계 S810에서, 데이터 셋업을 수행한다. 단계 S820에서, 루프 카운트가 제1 프로그램 루프(PL1)인지 판단한다. 제1 프로그램 루프(PL1)인 경우 단계 S830에서, 선택 워드 라인에 제1 프로그램 펄스(Vpgm1)를 인가함으로써 프로그램을 수행한다. 단계 S840에서, 모든 프로그램 상태들에 대해 프로그램 패스인지 판단한다. 판단 결과, 프로그램 패스인 경우 프로그램 동작은 종료하고, 그렇지 않은 경우 단계 S845를 수행한다. 단계 S845에서, 루프 카운트가 제1 프로그램 루프(PL1)인지 판단한다.
제1 프로그램 루프(PL1)인 경우 단계 S850에서, 제1 프로그램 검증 전압(Vvfy1)을 이용하여 프로그램된 메모리 셀들에 대한 프로그램 검증 동작을 수행하고, 동시에, 프로그램 인히빗 메모리 셀들에 대한 소거 검출 동작을 수행한다. 예를 들어, 선택 워드 라인에 제1 프로그램 검증 전압(Vvfy1)이 인가되는 프로그램 검증 구간은 프리차지 구간, 디벨롭 구간 및 센싱 구간에 대응할 수 있다. 프리차지 구간에서, 제1 및 제2 비트 라인들(BL1, BL2)은 소정의 비트 라인 전압으로 프리차지되고, 제1 및 제2 센싱 노드들(SO1, SO2)는 프리차지 전압(예를 들어, 도 20a의 Vpre2)으로 프리차지될 수 있다.
디벨롭 구간은, 프로그램된 메모리 셀(MC1)에 연결된 제1 페이지 버퍼(121)와 프로그램 인히빗된 메모리 셀(MC2)에 연결된 제2 페이지 버퍼(122)에 대해 서로 다를 수 있다. 일 실시예에서, 프로그램 인히빗 메모리 셀(MC2)에 연결된 제2 센싱 노드(SO2)는 제1 디벨롭 타임(DVL1) 동안 디벨롭될 수 있다. 일 실시예에서, 프로그램된 메모리 셀(MC1)에 연결된 제1 센싱 노드(SO1)는 제2 디벨롭 타임(DVL2) 동안 디벨롭될 수 있다. 일 실시예에서, 제2 디벨롭 타임(DVL2)이 제1 디벨롭 타임(DVL1)보다 길 수 있다.
먼저, 프로그램 인히빗 메모리 셀(MC2)에 연결된 제2 센싱 노드(SO2)에 대한 소거 검출 동작을 설명하기로 한다. 예를 들어, 제2 센싱 노드(SO2)의 전압이 실선 그래프(241)에 대응하는 경우, 제1 디벨롭 타임(DVL1) 동안 제2 센싱 노드(SO2)의 전압은 기준 전압(Vref) 이하로 하강할 수 있고, 이에 따라, 프로그램 인히빗 메모리 셀(MC2)은 온 셀로 센싱될 수 있다. 한편, 제2 센싱 노드(SO2)의 전압이 점선 그래프(242)에 대응할 경우, 제1 디벨롭 타임(DVL1) 동안 제2 센싱 노드(SO2)의 전압 기준 전압(Vref) 이하로 하강하지 않을 수 있고, 이에 따라, 프로그램 인히빗 메모리 셀(MC2)은 오프 셀로 센싱될 수 있다.
다음으로, 프로그램된 메모리 셀(MC1)에 연결된 제1 센싱 노드(SO1)에 대한 프로그램 검증 동작을 설명하기로 한다. 예를 들어, 제1 센싱 노드(SO1)의 전압이 실선 그래프(241)에 대응하는 경우, 제2 디벨롭 타임(DVL2) 동안 제1 센싱 노드(SO1)의 전압은 기준 전압(Vref) 이하로 하강할 수 있고, 이에 따라, 프로그램된 메모리 셀(MC1)은 온 셀로 센싱될 수 있다. 또한, 제1 센싱 노드(SO1)의 전압이 점선 그래프(242)에 대응할 경우, 제2 디벨롭 타임(DVL2) 동안 제1 센싱 노드(SO1)의 전압은 기준 전압(Vref) 이하로 하강할 수 있고, 이에 따라, 프로그램된 메모리 셀(MC1)은 온 셀로 센싱될 수 있다.
이와 같이, 본 실시예에 따르면, 프로그램된 메모리 셀들에 대한 프로그램 검증 동작을 위한 제2 디벨롭 타임(DVL2)을 프로그램 인히빗 메모리 셀들에 대한 소거 검출 동작을 위한 제1 디벨롭 타임(DVL1)보다 길게 함으로써, 프로그램 인히빗 메모리 셀들 중 제1 프로그램 검증 전압(Vvfy1)보다 낮은 문턱 전압을 갖는 메모리 셀들을 오프 셀로 판별할 수 있다. 따라서, 소거 검출 동작을 위해, 제1 프로그램 검증 전압(Vvfy1)보다 낮은 소거 검출 전압을 인가하는 것과 동일한 효과를 얻을 수 있다.
단계 S865에서, 루프 카운트를 1만큼 증가한다. 단계 S810에서, 루프 카운트가 제1 프로그램 루프(PL1)인지 판단하고, 단계 S870에서, 루프 카운트가 제2 프로그램 루프(PL2)인지 판단한다. 제2 프로그램 루프(PL2)인 경우 단계 S880에서, 선택 워드 라인에 제2 프로그램 펄스(Vpgm2)를 인가함으로써 프로그램을 수행하고, 동시에 오프 셀들의 개수를 카운팅한다. 단계 S885에서, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF)보다 많은지 판단한다. 판단 결과, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF)보다 많은 경우 도 25a에 예시된 바와 같이 프로그램 동작은 종료하고, 메모리 블록을 페일 블록으로 처리할 수 있다. 한편, 카운팅된 오프 셀들의 개수(CNTcell)가 기준 비트(REF) 이하인 경우 단계 S840을 수행하고, 도 25b에 예시된 바와 같이 프로그램 동작을 계속해서 진행한다.
단계 S840에서, 모든 프로그램 상태들에 대해 프로그램 패스인지 판단한다. 판단 결과, 프로그램 패스인 경우 프로그램 동작은 종료하고, 그렇지 않은 경우 단계 S845를 수행한다. 루프 카운트가 제2 프로그램 루프(PL2)인 경우 단계 S860에서, 선택 워드 라인에 복수의 프로그램 검증 전압들(Vvfy)을 순차적으로 인가함으로써, 프로그램 상태들 별로 프로그램 검증을 수행한다. 단계 S865에서, 루프 카운트를 1만큼 증가한다. 단계 S820에서, 루프 카운트가 제1 프로그램 루프(PL1)인지 판단하고, 단계 S870에서, 루프 카운트가 제2 프로그램 루프(PL2)인지 판단한다. 루프 카운트가 제3 프로그램 루프(PL3)인 경우 단계 S890에서, 선택 워드 라인에 제3 프로그램 펄스(Vpgm3)를 인가함으로써 프로그램을 수행하고, 동시에 프로그램 동작의 패스/페일을 체크한다.
도 26은 도 23에 예시된 프로그램 방법에 따른 도 22의 페이지 버퍼부의 동작의 다른 예를 설명하기 위한 타이밍도이다. 이하에서는 도 23 및 도 26을 함께 참조하여 페이지 버퍼부의 동작을 설명하기로 한다. 일 실시예에서, 제1 프로그램 검증 전압(Vvfy1)을 이용하여 프로그램된 메모리 셀들에 대한 프로그램 검증 동작을 수행하고, 동시에, 프로그램 인히빗 메모리 셀들에 대한 소거 검출 동작을 수행한다. 예를 들어, 선택 워드 라인에 제1 프로그램 검증 전압(Vvfy1)이 인가되는 프로그램 검증 구간은 제1 프리차지 구간, 제1 디벨롭 구간, 제1 센싱 구간, 제2 프리차지 구간, 제2 디벨롭 구간 및 제2 센싱 구간에 대응할 수 있다. 제1 프리차지 구간에서, 제1 및 제2 비트 라인들(BL1, BL2)은 소정의 비트 라인 전압으로 프리차지되고, 제1 및 제2 센싱 노드들(SO1, SO2)는 프리차지 전압(예를 들어, 도 20a의 Vpre2)으로 프리차지될 수 있다.
제1 디벨롭 구간에서, 제1 및 제2 센싱 노드들(SO1, SO2)을 제1 디벨롭 타임(DVL1) 동안 디벨롭할 수 있다. 예를 들어, 제1 센싱 노드(SO1)를 통해 감지된 데이터를 래치(1213)에 포함된 제1 센싱 래치에 저장하고, 제2 센싱 노드(SO2)를 통해 감지된 데이터를 래치(1223)에 포함된 제1 센싱 래치에 저장할 수 있다. 제1 센싱 구간에서, 래치들(1213, 1223) 각각에서, 제1 센싱 래치에 저장된 데이터에 따라 데이터 래치가 설정될 수 있다. 제2 프리차지 구간에서, 제1 및 제2 센싱 노드들(SO1, SO2)을 프리차지 전압(Vpre2)으로 프리차지할 수 있다.
제2 디벨롭 구간에서, 제1 및 제2 센싱 노드들(SO1, SO2)을 제2 디벨롭 타임(DVL2) 동안 디벨롭할 수 있다. 이때, 제2 디벨롭 타임(DLV2)은 제1 디벨롭 타임(DVL1) 보다 길 수 있다. 예를 들어, 제1 센싱 노드(SO1)를 통해 감지된 데이터를 래치(1213)에 포함된 제2 센싱 래치에 저장하고, 제2 센싱 노드(SO2)를 통해 감지된 데이터를 래치(1223)에 포함된 제2 센싱 래치에 저장할 수 있다. 이때, 복수의 데이터 래치들 중 하나는 제2 센싱 래치로 이용될 수 있다. 제2 센싱 구간에서, 래치들(1213, 1223) 각각에서, 제2 센싱 래치에 저장된 데이터에 따라 데이터 래치가 설정될 수 있다.
일 실시예에서, 프로그램된 메모리 셀(MC1)에 연결된 제1 페이지 버퍼(121)는 제2 센싱 래치에 저장된 데이터를 기초로 프로그램 패스/페일을 판단할 수 있다. 일 실시예에서, 프로그램 인히빗된 메모리 셀(MC2)에 연결된 제2 페이지 버퍼(122)는 제1 센싱 래치에 저장된 데이터를 기초로 소거 검출 동작을 수행할 수 있다. 이에 따라, 선택 워드 라인에 동일한 제1 프로그램 검증 전압(Vvfy1)을 인가하더라도 프로그램된 메모리 셀들에 대해서는 프로그램 검증 동작을 수행하고, 프로그램 인히빗 메모리 셀들에 대해서는 소거 검출 동작을 수행하는 결과를 얻을 수 있다.
도 27은 본 개시의 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 도 27을 참조하면, 본 실시예에 따른 동작 방법은 메모리 장치의 프로그램 동작 시 소거 검출 동작을 수행함으로써 불량 워드 라인을 체크하는 방법에 대응하고, 예를 들어, 도 3의 메모리 장치(100)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 도 1 내지 도 26을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
단계 S910에서, 프로그램 커맨드를 수신한다. 단계 S920에서, 프로그램/소거 사이클이 기준 값보다 큰지 판단한다. 판단 결과, 프로그램/소거 사이클이 기준 값보다 크면 단계 S930을 수행하고, 그렇지 않으면 단계 S970을 수행할 수 있다. 단계 S930에서, 프로그램 동작 수행 전에 또는 수행 중에 소거 검출 동작을 수행한다. 단계 S940에서, 오프 셀들의 개수를 카운팅한다. 단계 S950에서, 오프 셀들의 개수가 기준 비트보다 큰지 판단한다. 판단 결과, 오프 셀들의 개수가 기준 비트보다 크면 단계 S960을 수행하고, 그렇지 않으면 단계 S970을 수행한다.
도 28은 본 개시의 실시예들에 따른 메모리 장치를 SSD 시스템(1000)에 적용한 예를 나타내는 블록도이다. 도 28을 참조하면, SSD 시스템(1000)은 호스트(1100) 및 SSD(1200)를 포함할 수 있다. SSD(1200)는 신호 커넥터를 통해 호스트(1100)와 신호를 주고 받으며, 전원 커넥터를 통해 전원을 입력 받는다. SSD(1200)는 SSD 컨트롤러(1210), 보조 전원 장치(1220) 및 메모리 장치들(1230, 1240, 1250)을 포함할 수 있다. 메모리 장치들(1230, 1240, 1250)은 수직 적층형 NAND 플래시 메모리 장치일 수 있다. 이때, SSD(1200)는 도 1 내지 도 27을 참조하여 상술된 실시예들을 이용하여 구현될 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 복수의 워드 라인들 및 페이지 버퍼부를 포함하는 비휘발성 메모리 장치의 동작 방법으로서,
    프로그램 커맨드에 응답하여, 상기 복수의 워드 라인들 중 선택 워드 라인에 소거 검출 전압을 인가하는 단계;
    상기 선택 워드 라인에 연결된 메모리 셀들에 대한 소거 검출 결과를 상기 페이지 버퍼부에 저장함으로써 소거 검출 동작을 수행하는 단계;
    상기 소거 검출 동작 이후에, 상기 선택 워드 라인에 프로그램 전압을 인가하는 단계; 및
    상기 페이지 버퍼부에 저장된 상기 소거 검출 결과로부터, 상기 메모리 셀들 중 오프 셀들의 개수를 카운팅하는 단계를 포함하고,
    상기 카운팅하는 단계는, 상기 프로그램 전압을 인가하는 단계와 병렬적으로 수행되는 방법.
  2. 제1항에 있어서,
    상기 오프 셀들의 개수가 기준 비트보다 많은 경우 상기 프로그램 커맨드에 따른 프로그램 동작을 종료하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 오프 셀들의 개수가 기준 비트보다 많은 경우 상기 선택 워드 라인에 연결된 메모리 블록을 페일(fail) 블록으로 처리하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 소거 검출 전압의 전압 레벨은, 상기 메모리 셀들에 대한 최하위 프로그램 상태의 검증 전압 레벨보다 낮은 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 소거 검출 전압의 전압 레벨은, 상기 메모리 셀들에 대한 소거 상태의 검증 전압 레벨보다 높은 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 소거 검출 전압의 전압 레벨은, 상기 메모리 셀들에 대한 최하위 프로그램 상태의 검증 전압 레벨과 동일하고,
    상기 소거 검출 동작 시 센싱 노드의 디벨롭 타임(develop time)은, 상기 최하위 프로그램 상태의 검증 동작 시 센싱 노드의 디벨롭 타임보다 짧은 것을 특징으로 하는 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 프로그램 전압을 인가하는 단계 이후에, 상기 선택 워드 라인에 프로그램 검증 전압을 인가하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 프로그램 커맨드에 따른 프로그램 동작은, 순차적으로 수행되는 복수의 프로그램 루프들을 포함하고, 상기 복수의 프로그램 루프들의 각각은 프로그램 수행 구간 및 상기 프로그램 수행 구간 이후의 프로그램 검증 구간을 포함하며,
    상기 카운팅하는 단계는, 상기 복수의 프로그램 루프들 중 제1 프로그램 루프의 프로그램 수행 구간에 수행되는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 프로그램 커맨드를 수신하는 단계를 더 포함하고, 상기 프로그램 커맨드를 수신하는 단계는,
    제1 프로그램 커맨드, 어드레스 및 LSB(Least Significant Bit) 데이터를 수신하는 단계; 및
    제2 프로그램 커맨드, 상기 어드레스 및 MSB(Most Significant Bit) 데이터를 수신하는 단계를 포함하고,
    상기 소거 검출 동작을 수행하는 단계는, 상기 제1 프로그램 커맨드를 수신하는 단계 이후에 수행되는 것을 특징으로 하는 방법.
  11. 복수의 워드 라인들 및 페이지 버퍼부를 포함하는 비휘발성 메모리 장치의 동작 방법으로서,
    프로그램 커맨드에 응답하여, 상기 복수의 워드 라인들 중 선택 워드 라인에 프로그램 전압을 인가하는 단계;
    상기 프로그램 전압을 인가한 후에, 상기 선택 워드 라인에 소거 검출 전압을 인가하는 단계;
    상기 선택 워드 라인에 연결된 메모리 셀들 중 프로그램 인히빗 메모리 셀들에 대한 소거 검출 결과를 상기 페이지 버퍼부에 저장함으로써 소거 검출 동작을 수행하는 단계;
    상기 선택 워드 라인에 상기 프로그램 전압보다 높은 전압 레벨을 갖는 추가 프로그램 전압을 인가하는 단계; 및
    상기 페이지 버퍼부에 저장된 상기 소거 검출 결과로부터, 상기 프로그램 인히빗 메모리 셀들 중 오프 셀들의 개수를 카운팅하는 단계를 포함하고,
    상기 카운팅하는 단계는, 상기 추가 프로그램 전압을 인가하는 단계와 병렬적으로 수행되는 방법.
  12. 제11항에 있어서,
    상기 오프 셀들의 개수가 기준 비트보다 많은 경우 상기 프로그램 커맨드에 따른 프로그램 동작을 종료하는 단계를 더 포함하는 방법.
  13. 제11항에 있어서,
    상기 소거 검출 동작을 수행한 후에, 상기 선택 워드 라인에 프로그램 검증 전압을 인가함으로써 상기 선택 워드 라인에 연결된 상기 메모리 셀들 중 프로그램된 메모리 셀들에 대해 프로그램 검증 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제11항에 있어서,
    상기 프로그램 전압을 인가하는 단계 이후에 그리고, 상기 소거 검출 동작을 수행하기 전에, 상기 선택 워드 라인에 프로그램 검증 전압을 인가함으로써 상기 선택 워드 라인에 연결된 상기 메모리 셀들 중 프로그램된 메모리 셀들에 대해 프로그램 검증 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 삭제
  16. 복수의 워드 라인들에 각각 연결된 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 동작 방법으로서,
    프로그램 커맨드에 응답하여, 상기 복수의 워드 라인들 중 선택 워드 라인에 프로그램 전압을 인가하는 단계;
    프로그램 검증 전압을 이용하여, 상기 선택 워드 라인에 연결된 메모리 셀들 중 프로그램된 메모리 셀들에 대해 프로그램 검증 동작을 수행하는 단계;
    상기 프로그램 검증 전압을 이용하여, 상기 선택 워드 라인에 연결된 메모리 셀들 중 프로그램 인히빗 메모리 셀들에 대해 소거 검출 동작을 수행하는 단계; 및
    상기 소거 검출 동작이 수행된 상기 프로그램 인히빗 메모리 셀들 중 오프 셀들의 개수를 카운팅하는 단계를 포함하는 방법.
  17. 제16항에 있어서,
    상기 오프 셀들의 개수가 기준 비트보다 많은 경우 상기 프로그램 커맨드에 따른 프로그램 동작을 종료하는 단계를 더 포함하는 방법.
  18. 제16항에 있어서,
    상기 소거 검출 동작 시, 상기 프로그램 인히빗 메모리 셀들에 대한 디벨롭 구간은 제1 디벨롭 타임에 대응하고,
    상기 프로그램 검증 동작 시, 상기 프로그램된 메모리 셀들에 대한 디벨롭 구간은 상기 제1 디벨롭 타임보다 긴 제2 디벨롭 타임에 대응하는 것을 특징으로 하는 방법.
  19. 제16항에 있어서,
    상기 프로그램 인히빗 메모리 셀들은 타겟 상태가 소거 상태인 메모리 셀들인 것을 특징으로 하는 방법.
  20. 삭제
KR1020170132754A 2017-10-12 2017-10-12 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법 Active KR102336662B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020170132754A KR102336662B1 (ko) 2017-10-12 2017-10-12 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
CN201810762275.7A CN109658972B (zh) 2017-10-12 2018-07-12 非易失性存储器设备及其操作方法
DE102018116915.9A DE102018116915B4 (de) 2017-10-12 2018-07-12 Betriebsverfahren einer nichtflüchtigen Speichervorrichtung
US16/108,323 US10699788B2 (en) 2017-10-12 2018-08-22 Non-volatile memory device and operating method thereof for performing an erase detect operation
JP2018189019A JP7061549B2 (ja) 2017-10-12 2018-10-04 不揮発性メモリ装置及びその動作方法
US16/881,779 US10957397B2 (en) 2017-10-12 2020-05-22 Non-volatile memory device, storage device, and programming method thereof for performing an erase detect operation
US17/025,281 US11158381B2 (en) 2017-10-12 2020-09-18 Non-volatile memory device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170132754A KR102336662B1 (ko) 2017-10-12 2017-10-12 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20190041320A KR20190041320A (ko) 2019-04-22
KR102336662B1 true KR102336662B1 (ko) 2021-12-07

Family

ID=65910395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170132754A Active KR102336662B1 (ko) 2017-10-12 2017-10-12 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법

Country Status (5)

Country Link
US (2) US10699788B2 (ko)
JP (1) JP7061549B2 (ko)
KR (1) KR102336662B1 (ko)
CN (1) CN109658972B (ko)
DE (1) DE102018116915B4 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11158381B2 (en) 2017-10-12 2021-10-26 Samsung Electronics Co., Ltd. Non-volatile memory device and operating method thereof
KR102336662B1 (ko) * 2017-10-12 2021-12-07 삼성전자 주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
US10636493B2 (en) * 2018-06-27 2020-04-28 Western Digital Technologies, Inc. Relaxed erase parameters for block erasures in non-volatile storage media
JP2020042889A (ja) * 2018-09-13 2020-03-19 キオクシア株式会社 半導体記憶装置
KR102713393B1 (ko) * 2019-02-11 2024-10-04 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
KR102752629B1 (ko) * 2019-12-04 2025-01-10 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
KR102820746B1 (ko) 2020-07-24 2025-06-13 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR102810858B1 (ko) * 2020-08-12 2025-05-20 삼성전자주식회사 비휘발성 메모리 및 비휘발성 메모리의 불량 메모리 셀 블록 검출 방법
KR20220043973A (ko) 2020-09-28 2022-04-06 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
KR20220109766A (ko) 2021-01-29 2022-08-05 삼성전자주식회사 페이지 버퍼를 통해 감지되는 데이터의 신뢰성을 향상시키기 위한 불휘발성 메모리 장치
KR20220120033A (ko) * 2021-02-22 2022-08-30 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US20220283738A1 (en) * 2021-03-04 2022-09-08 Macronix International Co., Ltd. Flash memory and writing method thereof
US11430527B1 (en) * 2021-04-19 2022-08-30 Macronix International Co., Ltd. Method for performing operation in memory device
US11557348B1 (en) 2021-06-24 2023-01-17 Western Digital Technologies, Inc. Enhanced word line stripe erase abort detection
KR20230050549A (ko) 2021-10-07 2023-04-17 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
US11972815B2 (en) * 2022-05-10 2024-04-30 Sandisk Technologies, Llc Post-write read techniques to improve programming reliability in a memory device
KR20240036278A (ko) * 2022-09-13 2024-03-20 삼성전자주식회사 플래시 메모리를 포함하는 저장 장치 및 그것의 블록 이어쓰기 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100794311B1 (ko) 2006-12-27 2008-01-11 삼성전자주식회사 프로그램 에러를 차단할 수 있는 멀티 비트 플래시 메모리장치의 프로그램 방법
US20130286733A1 (en) 2010-07-07 2013-10-31 Skymedi Corporation Method of programming/reading a non-volatile memory with a sequence
US20170229189A1 (en) 2016-02-04 2017-08-10 SK Hynix Inc. Semiconductor memory device and operating method thereof

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6333871B1 (en) * 1998-02-16 2001-12-25 Hitachi, Ltd. Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation
US6515910B1 (en) * 2001-03-06 2003-02-04 Aplus Flash Technology Inc. Bit-by-bit Vt-correction operation for nonvolatile semiconductor one-transistor cell, nor-type flash EEPROM
JP2003036681A (ja) * 2001-07-23 2003-02-07 Hitachi Ltd 不揮発性記憶装置
US6498752B1 (en) * 2001-08-27 2002-12-24 Aplus Flash Technology, Inc. Three step write process used for a nonvolatile NOR type EEPROM memory
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
KR100568118B1 (ko) * 2004-09-30 2006-04-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 위한 고속 검증 방법
US7251160B2 (en) 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
US7403428B2 (en) 2005-03-31 2008-07-22 Sandisk Corporation Systems for erasing non-volatile memory utilizing changing word line conditions to compensate for slower erasing memory cells
KR20090016945A (ko) 2007-08-13 2009-02-18 삼성전자주식회사 읽기동작타임을 줄일 수 있는 플래시 메모리 시스템 및그것의 읽기 동작 방법
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
KR100972715B1 (ko) 2008-08-01 2010-07-27 주식회사 하이닉스반도체 플래시 메모리 소자 및 그의 프로그램 동작 방법
KR101532754B1 (ko) * 2008-09-22 2015-07-02 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20100058166A (ko) 2008-11-24 2010-06-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
KR20110001067A (ko) 2009-06-29 2011-01-06 주식회사 하이닉스반도체 불휘발성 메모리 소자의 소거 방법
KR101617641B1 (ko) 2009-08-27 2016-05-03 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
US8054684B2 (en) 2009-12-18 2011-11-08 Sandisk Technologies Inc. Non-volatile memory and method with atomic program sequence and write abort detection
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR102318561B1 (ko) 2014-08-19 2021-11-01 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법
KR102292217B1 (ko) 2015-02-06 2021-08-24 삼성전자주식회사 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템
KR102451154B1 (ko) * 2015-12-07 2022-10-06 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
KR102473167B1 (ko) * 2015-12-18 2022-12-02 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR102466412B1 (ko) 2016-01-14 2022-11-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
JP6238378B2 (ja) 2016-02-09 2017-11-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
KR102336662B1 (ko) * 2017-10-12 2021-12-07 삼성전자 주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100794311B1 (ko) 2006-12-27 2008-01-11 삼성전자주식회사 프로그램 에러를 차단할 수 있는 멀티 비트 플래시 메모리장치의 프로그램 방법
US20130286733A1 (en) 2010-07-07 2013-10-31 Skymedi Corporation Method of programming/reading a non-volatile memory with a sequence
US20170229189A1 (en) 2016-02-04 2017-08-10 SK Hynix Inc. Semiconductor memory device and operating method thereof

Also Published As

Publication number Publication date
US10957397B2 (en) 2021-03-23
US10699788B2 (en) 2020-06-30
JP2019075185A (ja) 2019-05-16
CN109658972B (zh) 2023-10-13
DE102018116915A1 (de) 2019-04-18
DE102018116915B4 (de) 2023-04-27
JP7061549B2 (ja) 2022-04-28
US20190115081A1 (en) 2019-04-18
US20200286566A1 (en) 2020-09-10
KR20190041320A (ko) 2019-04-22
CN109658972A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
KR102336662B1 (ko) 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
US20230170025A1 (en) Non-volatile memory device and programming method thereof
CN110580929B (zh) 非易失性存储器装置及非易失性存储器装置的擦除方法
US10854250B2 (en) Memory device including a circuit for detecting word line defect and operating method thereof
US11158381B2 (en) Non-volatile memory device and operating method thereof
CN107017027B (zh) 非易失性存储器设备和操作非易失性存储器设备的方法
KR102386242B1 (ko) 전원 전압 변동에 독립적인 워드 라인 불량 검출 회로를 포함하는 메모리 장치 및 그 구동 방법
KR101184814B1 (ko) 불휘발성 메모리 장치 및 이의 프로그램 방법
US8971109B2 (en) Semiconductor memory device and method of operating the same
JP2003217288A (ja) リードディスターブを緩和したフラッシュメモリ
JP2009266349A (ja) 不揮発性半導体記憶装置
KR102342849B1 (ko) 비휘발성 메모리 장치, 메모리 시스템, 상기 비휘발성 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
JP2010123201A (ja) 不揮発性半導体記憶装置
KR101668340B1 (ko) Nand형 플래시 메모리 및 그의 프로그래밍 방법
CN111312314B (zh) 非易失性存储器设备及其操作方法
JP2020047321A (ja) 半導体記憶装置
JP4698605B2 (ja) 半導体装置および半導体装置の制御方法
JP4931404B2 (ja) 不揮発性メモリ装置
CN111724852A (zh) 非易失性存储器件及其擦除方法
US7286398B2 (en) Semiconductor device and method of controlling said semiconductor device
JP2012123856A (ja) 不揮発性半導体記憶装置
JP5081755B2 (ja) 不揮発性半導体記憶装置とその読み出し方法
CN110838318A (zh) 提高存储器数据可靠性的方法和系统
KR20240175492A (ko) 채널 프리차지 동작을 수행하기 위한 메모리 장치 및 메모리 장치의 동작방법
KR20150049364A (ko) 반도체 메모리 장치 및 그것을 소거하는 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20171012

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20200707

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20171012

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210715

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20211102

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20211202

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20211203

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20241126

Start annual number: 4

End annual number: 4