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

KR20200126609A - 비휘발성 메모리 장치 및 그 프로그래밍 방법 - Google Patents

비휘발성 메모리 장치 및 그 프로그래밍 방법 Download PDF

Info

Publication number
KR20200126609A
KR20200126609A KR1020190050453A KR20190050453A KR20200126609A KR 20200126609 A KR20200126609 A KR 20200126609A KR 1020190050453 A KR1020190050453 A KR 1020190050453A KR 20190050453 A KR20190050453 A KR 20190050453A KR 20200126609 A KR20200126609 A KR 20200126609A
Authority
KR
South Korea
Prior art keywords
program
program verification
normal
voltage
initial
Prior art date
Application number
KR1020190050453A
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 KR1020190050453A priority Critical patent/KR20200126609A/ko
Priority to US16/686,567 priority patent/US11164643B2/en
Priority to CN201911256059.6A priority patent/CN111863102A/zh
Priority to US16/942,148 priority patent/US11164640B2/en
Publication of KR20200126609A publication Critical patent/KR20200126609A/ko
Priority to US17/510,447 priority patent/US11901012B2/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • 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/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/5642Sensing or reading circuits; Data output 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/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Landscapes

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

Abstract

본 개시의 기술적 사상에 따른 비휘발성 메모리 장치는, 비트 라인들에 각각 연결된 메모리 셀들을 포함하는 메모리 셀 어레이, 비트 라인들에 각각 연결된 페이지 버퍼들을 포함하는 페이지 버퍼부, 그리고 메모리 셀들에 대한 프로그램 동작을 제어하는 제어 로직을 포함하고, 제어 로직은 프로그램 동작 시 노멀 프로그램 검증 조건을 이용하여 메모리 셀들에 대한 노멀 프로그램 검증 동작을 수행하고, 프로그램 동작 중 서스펜드 커맨드가 수신될 경우 노멀 프로그램 검증 조건과 다른 이니셜 프로그램 검증 조건을 이용하여 메모리 셀들에 대한 이니셜 프로그램 검증 동작을 수행한다.

Description

비휘발성 메모리 장치 및 그 프로그래밍 방법{Non-volatile memory device and programming method thereof}
본 개시의 기술적 사상은 메모리 장치에 관한 것이며, 더욱 상세하게는, 프로그램 동작 중 서스펜드-리쥼 동작이 수행되는 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 프로그래밍 방법에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용되며, 휘발성 메모리 장치와 비휘발성 메모리 장치로 구분된다. 비휘발성 메모리 장치의 프로그램 동작의 수행 중에 독출 동작의 수행이 요구되는 경우, 수행 중인 프로그램 동작을 서스펜드하고 독출 동작을 수행한 후, 서스펜드된 프로그램 동작을 리쥼할 수 있다. 이때, 서스펜드와 리쥼 사이의 시간 간격은 프로그램 문턱 전압 산포 열화의 원인이 될 수 있다.
본 개시의 기술적 사상은, 프로그램 서스펜드-리쥼 동작 시 프로그램 문턱 전압 산포의 열화를 방지할 수 있는 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 프로그램 방법을 제공한다.
본 개시의 기술적 사상에 따른 비휘발성 메모리 장치는, 비트 라인들에 각각 연결된 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 비트 라인들에 각각 연결된 페이지 버퍼들을 포함하는 페이지 버퍼부, 및 상기 메모리 셀들에 대한 프로그램 동작을 제어하는 제어 로직을 포함하고, 상기 제어 로직은, 상기 프로그램 동작 시 노멀 프로그램 검증 조건을 이용하여 상기 메모리 셀들에 대한 노멀 프로그램 검증 동작을 수행하고, 상기 프로그램 동작 중 서스펜드 커맨드가 수신될 경우 상기 노멀 프로그램 검증 조건과 다른 이니셜 프로그램 검증 조건을 이용하여 상기 메모리 셀들에 대한 이니셜 프로그램 검증 동작을 수행한다.
또한, 본 개시의 다른 기술적 사상에 따른 비휘발성 메모리 장치의 프로그래밍 방법은, 프로그램 커맨드에 응답하여, 메모리 셀들이 연결된 선택 워드 라인에 제1 프로그램 전압을 인가하는 단계, 서스펜드 커맨드 또는 상기 서스펜드 커맨드 이후의 리쥼 커맨드에 응답하여, 상기 메모리 셀들에 각각 연결된 비트 라인들에 각각 연결된 센싱 노드들의 전압 레벨들을 이니셜 디벨롭 시간 동안 디벨롭 함으로써 이니셜 프로그램 검증 동작을 수행하는 단계, 상기 리쥼 커맨드에 응답하여, 상기 선택 워드 라인에 제2 프로그램 전압을 인가하는 단계, 및 상기 이니셜 디벨롭 시간과 다른 노멀 디벨롭 시간 동안 상기 센싱 노드들의 전압 레벨들을 디벨롭 함으로써 노멀 프로그램 검증 동작을 수행하는 단계를 포함한다.
또한, 본 개시의 다른 기술적 사상에 따른 비휘발성 메모리 장치의 프로그래밍 방법은, 프로그램 커맨드에 응답하여, 메모리 셀들이 연결된 선택 워드 라인에 제1 프로그램 전압을 인가하는 단계, 서스펜드 커맨드 또는 상기 서스펜드 커맨드 이후의 리쥼 커맨드에 응답하여, 상기 선택 워드 라인에 이니셜 프로그램 검증 전압을 인가함으로써 이니셜 프로그램 검증 동작을 수행하는 단계, 상기 리쥼 커맨드에 응답하여, 상기 선택 워드 라인에 제2 프로그램 전압을 인가하는 단계, 및 상기 선택 워드 라인에 상기 이니셜 프로그램 검증 전압과 다른 노멀 프로그램 검증 전압을 인가함으로써 노멀 프로그램 검증 동작을 수행하는 단계를 포함한다.
본 개시의 기술적 사상에 따르면, 비휘발성 메모리 장치는 프로그램 동작 중 서스펜드 커맨드가 수신될 경우 노멀 프로그램 검증 조건과 다른 이니셜 프로그램 검증 조건을 이용하여 이니셜 프로그램 검증 동작을 수행함으로써, 서스펜드-리쥼 시간에 따른 메모리 셀의 프로그램 문턱 전압 산포 열화를 방지할 수 있다. 이에 따라, 비휘발성 메모리 장치의 에러 비트를 감소시켜 독출 에러를 방지하고, 비휘발성 메모리 장치의 신뢰성을 향상시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따라, 도 1의 비휘발성 메모리 장치를 더욱 상세하게 나타내는 블록도이다.
도 3은 본 개시의 일 실시예에 따른 메모리 블록을 예시적으로 나타내는 회로도이다.
도 4는 본 개시의 일 실시예에 따라 다수의 프로그램 루프들을 포함하는 프로그램 동작을 예시적으로 나타낸다.
도 5는 본 개시의 일 실시예에 따라 메모리 컨트롤러와 비휘발성 메모리 장치 사이의 동작을 나타내는 흐름도이다.
도 6은 본 개시의 일 실시예에 따라 프로그램 동작 중의 서스펜드-리쥼 동작을 나타낸다.
도 7a 및 도 7b는 본 개시의 일 실시예에 따라 서스펜드-리쥼 동작에 의해 발생하는 문턱 전압 산포의 열화를 나타낸다.
도 8은 본 개시의 일 실시예에 따라 프로그램 동작 중의 서스펜드-리쥼 동작을 나타낸다.
도 9는 본 개시의 일 실시예에 따른 비휘발성 메모리 장치의 프로그래밍 방법을 나타내는 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 노멀 프로그램 검증 동작과 이니셜 프로그램 검증 동작들을 나타낸다.
도 11a 및 도 11b는 본 개시의 일 실시예에 따른 페이지 버퍼를 각각 나타내는 블록도이다.
도 12는 본 개시의 일 실시예에 따라, 프로그램 동작 시 메모리 셀의 문턱 전압에 따른 래치 값을 설명하는 도면이다.
도 13은 본 개시의 일 실시예에 따라, 프로그램 동작 시 선택 워드 라인과 선택 비트 라인의 전압들을 예시적으로 나타낸다.
도 14는 본 개시의 일 실시예에 따른 노멀 프로그램 검증 동작에 따른 센싱 노드 전압 변화를 예시적으로 나타낸다.
도 15a 및 도 15b는 본 개시의 일 실시예에 따른 이니셜 프로그램 검증 동작에 따른 센싱 노드 전압 변화를 예시적으로 나타낸다.
도 16은 본 개시의 일 실시예에 따른 페이지 버퍼의 일부를 나타내는 회로도이다.
도 17은 본 개시의 일 실시예에 따라 프로그램 검증 동작 시 도 16의 페이지 버퍼에 포함된 제1 내지 제4 트랜지스터들에 인가되는 제어 신호들을 예시적으로 나타낸다.
도 18a는 본 개시의 비교예에 따라 서스펜드-리쥼 동작에 의한 문턱 전압 산포를 나타내고, 도 18b은 본 개시의 일 실시예에 따라 서스펜드-리쥼 동작에 의한 문턱 전압 산포를 나타낸다.
도 19 및 도 20은 본 개시의 일 실시예에 따른 비휘발성 메모리 장치의 프로그래밍 방법을 각각 나타내는 흐름도들이다.
도 21a 및 도 21b는 본 개시의 일 실시예에 따른 프로그램 검증 동작 시 워드 라인 전압들을 각각 나타낸다.
도 22는 본 개시의 일 실시예에 따른 비휘발성 메모리 장치의 프로그래밍 방법을 나타내는 흐름도이다.
도 23은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 24는 본 개시의 일부 실시예들에 따른 메모리 장치를 SSD(Solid State Drive) 시스템에 적용한 예를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템(10)을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 비휘발성 메모리 장치(Non-volatile Memory Device, NVM)(100) 및 메모리 컨트롤러(200)를 포함할 수 있다. 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 페이지 버퍼부(120) 및 제어 로직(130)을 포함할 수 있다. 메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함하고, 페이지 버퍼부(120)는 복수의 페이지 버퍼들을 포함할 수 있다.
메모리 컨트롤러(200)는 호스트(HOST)로부터의 읽기/쓰기 요청에 응답하여 비휘발성 메모리 장치(100)에 저장된 데이터를 독출하도록 또는 비휘발성 메모리 장치(100)에 데이터를 프로그램하도록 비휘발성 메모리 장치(100)를 제어할 수 있다. 구체적으로, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)에 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 제공함으로써, 비휘발성 메모리 장치(100)에 대한 프로그램, 독출 및 소거 동작을 제어할 수 있다. 또한, 프로그램하기 위한 데이터(DATA)와 독출된 데이터(DATA)가 메모리 컨트롤러(200)와 비휘발성 메모리 장치(100) 사이에서 송수신될 수 있다.
메모리 컨트롤러(200)는 서스펜드 커맨드(SUS_CMD) 및 리쥼 커맨드(RES_CMD)를 생성하고, 생성된 서스펜드 커맨드(SUS_CMD) 및 리쥼 커맨드(RES_CMD)를 비휘발성 메모리 장치(100)에 전송할 수 있다. 예를 들어, 비휘발성 메모리 장치(100)가 프로그램 동작을 수행하는 중에, 메모리 컨트롤러(200)는 호스트로부터 독출 요청을 수신할 수 있다. 이때, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)에 서스펜드 커맨드(SUS_CMD)를 전송하고, 비휘발성 메모리 장치(100)에 대한 독출 동작을 제어할 수 있다. 독출 동작이 완료되면, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)에 리쥼 커맨드(RES_CMD)를 전송할 수 있다. 이하에서는, 비휘발성 메모리 장치(100)의 프로그램 동작 중의 서스펜드-리쥼 동작을 중심으로 설명하기로 한다. 그러나, 본 발명은 이에 한정되지 않으며, 본 개시의 실시예들은 비휘발성 메모리 장치(100)의 소거 동작 중의 서스펜드-리쥼 동작에 대해서 적용될 수 있다.
구체적으로, 메모리 컨트롤러(200)는 서스펜드/리쥼 컨트롤러(210)를 포함할 수 있고, 서스펜드/리쥼 컨트롤러(210)가 비휘발성 메모리 장치(100)에 대한 서스펜드 동작 및 리쥼 동작을 제어할 수 있다. 일 실시예에서, 서스펜드/리쥼 컨트롤러(210)는 소프트웨어 또는 펌웨어로 구현될 수 있고, 메모리 컨트롤러(200)에 포함된 프로세서가 서스펜드/리쥼 컨트롤러(210)의 기능을 수행하기 위한 명령어들을 수행할 수 있다. 일 실시예에서, 서스펜드/리쥼 컨트롤러(210)는 하드웨어로 구현될 수도 있다.
제어 로직(130)은 메모리 컨트롤러(200)로부터 프로그램 커맨드(PGM_CMD)를 수신할 수 있고, 수신한 프로그램 커맨드(PGM_CMD)에 응답하여 메모리 셀 어레이(110)에 포함된 메모리 셀들에 대한 프로그램 동작을 제어할 수 있다. 이때, 제어 로직(130)은 프로그램 동작 시 복수의 프로그램 루프들이 순차적으로 수행할 수 있고, 각 프로그램 루프는 노멀 프로그램 검증 조건이 적용되는 노멀 프로그램 검증 동작을 포함할 수 있다. 예를 들어, 노멀 프로그램 검증 조건은 노멀 디벨롭 시간, 노멀 프로그램 검증 전압 등을 포함할 수 있다.
한편, 제어 로직(130)은 프로그램 동작 중에 메모리 컨트롤러(200)로부터 서스펜드 커맨드(SUS_CMD)를 수신할 수 있고, 수신한 서스펜드 커맨드(SUS_CMD)에 응답하여 이니셜(initial) 프로그램 검증 동작을 수행할 수 있다. 또한, 제어 로직(130)은 서스펜드 커맨드(SUS_CMD) 이후에 메모리 컨트롤러(200)로부터 리쥼(RES_CMD)를 수신할 수 있고, 수신한 리쥼 커맨드(RES_CMD)에 응답하여 이니셜 프로그램 검증 동작을 수행할 수도 있다. 여기서, 이니셜 프로그램 검증 동작은 노멀 프로그램 검증 조건과 다른 이니셜 프로그램 검증 조건이 적용되는 프로그램 검증 동작이며, "서스펜드 프로그램 검증 동작" 또는 "리쥼 프로그램 검증 동작"이라고 지칭할 수도 있다. 예를 들어, 이니셜 프로그램 검증 조건은 노멀 디벨롭 시간과 다른 이니셜 디벨롭 시간, 노멀 프로그램 검증 전압과 다른 이니셜 프로그램 검증 전압 등을 포함할 수 있다.
도 2는 본 개시의 일 실시예에 따라, 도 1의 비휘발성 메모리 장치(100)를 더욱 상세하게 나타내는 블록도이다.
도 2를 참조하면, 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 페이지 버퍼부(120), 제어 로직(130), 전압 생성부(140), 및 로우 디코더(150)를 포함할 수 있다. 도 2에는 도시되지 않았으나, 비휘발성 메모리 장치(100)는 데이터 입출력 회로 또는 입출력 인터페이스 등을 더 포함할 수 있다. 또한, 비휘발성 메모리 장치(100)는 컬럼 로직, 전압 생성부, 프리-디코더, 온도 센서, 커맨드 디코더, 어드레스 디코더 등을 더 포함할 수 있다.
메모리 셀 어레이(110)는 비트 라인들(BL)을 통해 페이지 버퍼부(120)에 연결될 수 있고, 워드 라인들(WL), 스트링 선택 라인들(SSL) 및 그라운드 선택 라인들(GSL)을 통해 로우 디코더(150)에 연결될 수 있다. 메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1 내지 BLKz)을 포함할 수 있고(z는 양의 정수), 복수의 메모리 블록들(BLK1 내지 BLKz) 각각은 복수의 메모리 셀들을 포함할 수 있고, 예를 들어, 메모리 셀들은 플래쉬 메모리 셀들일 수 있다. 이하에서는, 복수의 메모리 셀들이 낸드(NAND) 플래쉬 메모리 셀들인 경우를 예로 하여 본 개시의 실시예들을 상술하기로 한다. 그러나, 본 발명은 이에 한정되지 않고, 일부 실시예들에서, 복수의 메모리 셀들은 ReRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
일 실시예에서, 메모리 셀 어레이(110)는 3차원 메모리 셀 어레이를 포함할 수 있고, 3차원 메모리 셀 어레이는 복수의 낸드 스트링들을 포함할 수 있으며, 각 낸드 스트링은 기판 위에 수직으로 적층된 워드 라인들에 각각 연결된 메모리 셀들을 포함할 수 있으며, 이에 대해 도 3을 참조하여 상술하기로 한다. 미국 특허공개공보 제7,679,133호, 미국 특허공개공보 제8,553,466호, 미국 특허공개공보 제8,654,587호, 미국 특허공개공보 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 본 명세서에 인용 형식으로 결합된다. 일부 실시예에서, 메모리 셀 어레이(110)는 2차원 메모리 셀 어레이를 포함할 수 있고, 2차원 메모리 셀 어레이는 행 및 열 방향을 따라 배치된 복수의 낸드 스트링들을 포함할 수 있다.
페이지 버퍼부(120)는 복수의 페이지 버퍼들(PB1 내지 PBn)을 포함할 수 있고(n은 2 이상의 정수), 복수의 페이지 버퍼들(PB1 내지 PBn)은 복수의 비트 라인들(BL)을 통해 메모리 셀들과 각각 연결될 수 있다. 페이지 버퍼부(120)는 칼럼 어드레스(Y-ADDR)에 응답하여 비트 라인들(BL) 중 일부 비트 라인을 선택할 수 있다. 구체적으로, 페이지 버퍼부(120)는 동작 모드에 따라 기입 드라이버 또는 감지 증폭기로서 동작한다.
제어 로직(130)은 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로, 메모리 셀 어레이(110)에 데이터를 프로그램, 메모리 셀 어레이(110)로부터 데이터를 독출, 또는 메모리 셀 어레이(110)에 저장된 데이터를 소거하기 위한 각종 제어 신호, 예를 들어, 전압 제어 신호(CTRL_vol), 로우 어드레스(X-ADDR) 및 칼럼 어드레스(Y-ADDR)를 출력할 수 있다. 이로써, 제어 로직(130)은 비휘발성 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(130)은 노멀 프로그램 검증 동작과 이니셜 프로그램 검증 동작을 다르게 제어할 수 있다. 노멀 프로그램 검증 동작은 서스펜드 커맨드(SUS_CMD)가 수신되기 전의 프로그램 루프, 또는 이니셜 프로그램 검증 동작 이후의 프로그램 루프에서 수행될 수 있다. 이니셜 프로그램 검증 동작은 서스펜드 커맨드(SUS_CMD) 또는 서스펜드 커맨드(SUS_CMD) 이후에 수신되는 리쥼 커맨드(RES_CMD)에 응답하여 수행될 수 있다.
제어 로직(130)은 프로그램 루프, 프로그램 상태 등에 따라 이니셜 디벨롭 검증 동작 및 노멀 디벨롭 검증 동작을 선택적으로 수행할 수 있다. 예를 들어, 서스펜드 커맨드(SUS_CMD)가 수신된 시점의 현재 프로그램 루프가 N 보다 작을 경우, 제어 로직(130)은 서스펜드 커맨드(SUS_CMD) 또는 리쥼 커맨드(RES_CMD)에 응답하여 이니셜 프로그램 검증 동작이 아닌 노멀 프로그램 검증 동작을 수행할 수도 있다. 또한, 제어 로직(130)은 프로그램 루프, 프로그램 상태 등에 따라 이니셜 프로그램 검증 조건과 노멀 프로그램 검증 조건 사이의 오프셋을 변경할 수 있다.
이니셜 프로그램 검증 동작은 제1 내지 제M 프로그램 상태들의 프로그램 완료 여부를 검출하기 위한 제1 내지 제M 이니셜 프로그램 검증 동작들을 포함할 수 있다. 일 실시예에서, 제어 로직(130)은 제1 내지 제M 이니셜 프로그램 검증 동작들에 대한 이니셜 프로그램 검증 조건들을 독립적으로 제어할 수 있다. 예를 들어, 제어 로직(130)은 제1 및 제2 이니셜 프로그램 검증 동작 시에는 노멀 디벨롭 시간을 적용하고, 제3 및 제4 이니셜 프로그램 검증 동작 시에는 노멀 디벨롭 시간보다 긴 이니셜 디벨롭 시간을 적용하고, 제5 및 제6 이니셜 프로그램 검증 동작 시에는 노멀 디벨롭 시간보다 짧은 이니셜 디벨롭 시간을 적용할 수도 있다.
일 실시예에서, 제어 로직(130)은 포싱 디벨롭 시간과 메인 디벨롭 시간을 독립적으로 제어할 수 있다. 예를 들어, 제어 로직(130)은 포싱 디벨롭 시간은 노멀 포싱 디벨롭 시간과 동일하게 결정하고, 메인 디벨롭 시간은 노멀 메인 디벨롭 시간과 다르게 결정할 수 있다. 예를 들어, 제어 로직(130)은 포싱 디벨롭 시간은 노멀 포싱 디벨롭 시간보다 길게 결정하고, 메인 디벨롭 시간은 노멀 메인 디벨롭 시간보다 짧게 결정할 수도 있다.
일 실시예에서, 제어 로직(130)은 노멀 프로그램 검증 동작에 적용되는 노멀 디벨롭 시간과 이니셜 프로그램 검증 동작에 적용되는 이니셜 디벨롭 시간을 다르게 제어할 수 있다. 또한, 제어 로직(130)은 프로그램 루프, 프로그램 상태 등에 따라 노멀 디벨롭 시간에 비해 이니셜 디벨롭 시간을 증가 또는 감소시킬 수 있다. 또한, 제어 로직(130)은 프로그램 루프, 프로그램 상태 등에 따라 노멀 디벨롭 시간에 대한 이니셜 디벨롭 시간의 오프셋을 변경할 수 있다.
일 실시예에서, 제어 로직(130)은 노멀 프로그램 검증 동작에 적용되는 노멀 프로그램 검증 전압과 이니셜 프로그램 검증 동작에 적용되는 이니셜 프로그램 검증 전압을 다르게 제어할 수 있다. 또한, 제어 로직(130)은 프로그램 루프, 프로그램 상태 등에 따라 노멀 프로그램 검증 전압에 비해 이니셜 프로그램 검증 전압을 증가 또는 감소시킬 수 있다. 또한, 제어 로직(130)은 프로그램 루프, 프로그램 상태 등에 따라 노멀 프로그램 검증 전압에 대한 이니셜 프로그램 검증 전압의 오프셋을 변경할 수 있다.
전압 생성부(140)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(110)에 대한 프로그램, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성부(140)는 워드 라인 전압(VWL), 예를 들어, 프로그램 전압, 독출 전압, 프로그램 검증 전압 등을 생성할 수 있다. 이때, 프로그램 검증 전압은 노멀 프로그램 검증 전압과 이니셜 프로그램 검증 전압을 포함할 수 있다.
로우 디코더(150)는 로우 어드레스(X-ADDR)에 응답하여, 복수의 메모리 블록들(BLK1 내지 BLKz) 중 하나를 선택할 수 있고, 선택된 메모리 블록의 워드 라인들(WL) 중 하나를 선택할 수 있고, 복수의 스트링 선택 라인들(SSL) 중 하나를 선택할 수 있다. 로우 디코더(150)는 노멀 프로그램 검증 동작 시 선택 워드 라인에 노멀 프로그램 검증 전압을 인가하고, 이니셜 프로그램 검증 동작 시 선택 워드 라인에 이니셜 프로그램 검증 전압을 인가할 수 있다.
도 3은 본 개시의 일 실시예에 따른 메모리 블록(BLK)을 예시적으로 나타내는 회로도이다.
도 3을 참조하면, 메모리 블록(BLK)은 낸드 스트링들(NS11 내지 NS33), 워드 라인들(WL1 내지 WL8), 비트 라인들(BL1 내지 BL3), 그라운드 선택 라인들(GSL1 내지 GSL3), 스트링 선택 라인들(SSL1 내지 SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 메모리 블록(BLK)은 도 2의 메모리 블록들(BLK1 내지 BLKz) 중 하나에 대응할 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.
제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 제공되고 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 제공된다. 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 내지 MC8) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다.
스트링 선택 트랜지스터(SST)는 대응하는 스트링 선택 라인(SSL1 내지 SSL3)에 연결된다. 메모리 셀들(MC1 내지 MC8)은 각각 대응하는 워드 라인들(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL1 내지 GSL3)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL1 내지 BL3)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
도 4는 본 개시의 일 실시예에 따라 다수의 프로그램 루프들을 포함하는 프로그램 동작을 예시적으로 나타낸다.
도 1 및 도 4를 함께 참조하면, 프로그램 동작은 다수의 프로그램 루프(예를 들어, PL1 내지 PL21)를 포함하고, 각각의 프로그램 루프는 프로그램 실행 동작(PE)과 프로그램 검증(VFY)을 포함할 수 있다. 예를 들어, 메모리 셀이 3 비트 데이터를 저장할 수 있는 TLC(Triple Level Cell)인 경우, 메모리 셀은 제1 프로그램 상태(P1) 내지 제7 프로그램 상태(P7) 중 하나로 프로그램될 수 있다. 프로그램 검증 동작(VFY)은 제1 프로그램 상태(P1)에 대응하는 제1 프로그램 검증 동작(VFY1) 내지 제7 프로그램 상태(P7)에 대응하는 제7 프로그램 검증 동작(VFY7) 중 하나 이상을 포함할 수 있다.
다수의 프로그램 루프가 진행됨에 따라 메모리 셀들이 점차적으로 프로그램 패스가 된다. 프로그램 패스란 메모리 셀들이 타겟 문턱 전압 영역으로 진입하는 것을 의미한다. 예를 들어, 타겟 문턱 전압이 가장 낮은 제1 프로그램 상태(P1)를 타겟으로 하는 메모리 셀들은 제7 프로그램 루프(PL7)에서 모두 프로그램 패스가 될 수 있다. 타겟 문턱 전압 영역이 가장 높은 제7 프로그램 상태(P7)가 프로그램 패스 된 후 최종적으로 프로그램 동작이 종료한다.
프로그램 동작 중에, 비휘발성 메모리 장치(100)가 메모리 컨트롤러(200)로부터 서스펜드 커맨드(SUS_CMD)를 수신할 경우, 프로그램 동작은 서스펜드될 수 있다. 도 4에서는 제11 프로그램 루프(PL11)에서 프로그램 동작이 서스펜드 된 것으로 도시되었으나, 이는 일 예에 불과하며, 제1 내지 제21 프로그램 루프들(PL1 내지 PL21) 중 임의의 프로그램 루프에서 프로그램 동작이 서스펜드될 수 있다.
도 5는 본 개시의 일 실시예에 따라 메모리 컨트롤러(200)와 비휘발성 메모리 장치(100) 사이의 동작을 나타내는 흐름도이다. 도 6은 본 개시의 일 실시예에 따라 프로그램 동작 중의 서스펜드-리쥼 동작을 나타낸다.
도 5 및 도 6을 함께 참조하면, 단계 S100에서, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)에 프로그램 커맨드(PGM_CMD)를 전송한다. 단계 S110에서, 비휘발성 메모리 장치(100)는 프로그램 커맨드(PGM_CMD)에 응답하여 프로그램 실행 동작을 수행한다. 예를 들어, 단계 S110은 제N 프로그램 루프(PL_N)에 대응할 수 있다. 제N 프로그램 루프(PL_N)의 프로그램 실행 구간에서 선택 워드 라인(WLsel)에 제1 프로그램 전압(VPGM1)이 인가될 수 있다. 여기서, N은 자연수일 수 있다.
단계 S120에서, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)에 서스펜드 커맨드(SUS_CMD)를 전송한다. 이에 따라, 비휘발성 메모리 장치(100)의 프로그램 동작을 서스펜드될 수 있다. 일 실시예에서, 제N 프로그램 루프(PL_N)의 프로그램 실행 중 서스펜드 커맨드(SUS_CMD)가 수신된 경우, 비휘발성 메모리 장치(100)는 수행 중이던 프로그램 실행 동작을 완료한 후 서스펜드에 진입할 수 있다. 단계 S130에서, 비휘발성 메모리 장치(100)는 프로그램 동작이 서스펜드되었음을 나타내는 응답 메시지를 메모리 컨트롤러(200)에 전송한다.
단계 S140에서, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)에 독출 커맨드(READ_CMD)를 전송한다. 단계 S150에서, 비휘발성 메모리 장치(100)는 독출 동작을 수행한다. 단계 S155에서, 비휘발성 메모리 장치(100)는 독출된 데이터를 메모리 컨트롤러(200)에 전송한다. 그러나, 본 발명은 이에 한정되지 않으며, 메모리 컨트롤러(200)는 서스펜드 커맨드(SUS_CMD)와 리쥼 커맨드(RES_CMD) 사이에 다른 커맨드를 전송할 수 있고, 이에 따라, 비휘발성 메모리 장치(100)는 수신한 커맨드에 따른 동작을 수행할 수 있다.
단계 S160에서, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)에 리쥼 커맨드(RES_CMD)를 전송한다. 비휘발성 메모리 장치(100)가 리쥼 커맨드(RES_CMD)를 수신함으로써, 프로그램 동작이 리쥼될 수 있다. 이때, 서스펜드 시점에서 리쥼 시점까지의 시간을 "서스펜드-리쥼 시간(tRES)"라고 지칭할 수 있다. 일 실시예에서, 서스펜드-리쥼 시간(tRES)는 서스펜드 커맨드(SUS_CMD)의 수신 시점부터 리쥼 커맨드(RES_CMD)의 수신 시점까지의 시간 간격에 대응할 수 있다. 일 실시예에서, 서스펜드-리쥼 시간(tRES)는 프로그램 동작이 실제로 서스펜드된 시점부터 프로그램 동작이 리쥼된 시점까지의 시간 간격에 대응할 수도 있다.
도 7a 및 도 7b는 본 개시의 일 실시예에 따라 서스펜드-리쥼 동작에 의해 발생하는 문턱 전압 산포의 열화를 나타낸다.
도 7a를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 제1 산포(71)는 서스펜드에 진입한 시점의 산포에 대응할 수 있고, 복수의 프로그램 상태들(예를 들어, 도 4의 P1 내지 P7) 중 하나일 수 있다. 제2 산포(72)는 서스펜드-리쥼 시간(tRES)이 경과한 후의 산포, 즉, 리쥼 시점의 산포에 대응할 수 있다. 서스펜드-리쥼 시간(tRES) 동안 메모리 셀의 전하 저장층에 존재하던 전하가 외부로 빠져 나오는 차지 로스(charge loss) 현상이 발생할 수 있고, 이에 따라, 메모리 셀의 문턱 전압이 낮아질 수 있다.
제N 프로그램 루프(PL_N)의 프로그램 실행 동작에 의해, 제1 산포(71)와 같이, 메모리 셀의 문턱 전압이 프로그램 검증 전압(Vvfy)보다 높아진 경우, 서스펜드-리쥼 동작 없이 프로그램 실행 후 바로 프로그램 검증 동작이 수행된다면 메모리 셀은 프로그램 패스로 판단될 것이다. 그러나, 서스펜드 커맨드(SUS_CMD)에 의해 프로그램 서스펜드에 진입한 경우, 서스펜드-리쥼 시간(tRES)에 의해, 제2 산포(72)와 같이, 메모리 셀의 문턱 전압이 낮아질 수 있고, 프로그램 리쥼 후 프로그램 검증 동작에 의해 프로그램 페일로 판단될 수 있다. 프로그램 페일로 판단된 메모리 셀은 제N+1 프로그램 루프(PL_N+1)에서 프로그램 실행 동작이 수행되고, 이에 따라, 제3 산포(73)와 같이, 메모리 셀의 문턱 전압이 타겟 영역(TG)보다 높게 형성될 수 있고, 비휘발성 메모리 장치(100)에 대해 독출 에러가 발생할 수 있다.
도 7b를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 제1 산포(74)는 서스펜드-리쥼 동작 없이 프로그램 동작이 수행된 경우 메모리 셀들의 문턱 전압 산포를 나타내고, 제2 산포(75)는 프로그램 동작 중 서스펜드-리쥼 동작에 수행된 경우 메모리 셀들의 문턱 전압 산포를 나타낸다. 프로그램 동작 중 서스펜드-리쥼 동작이 수행된 경우 오버 프로그램에 의해 제2 산포(75)와 같이, 프로그램 문턱 전압 산포가 오른쪽으로 더 넓어질 수 있다. 이러한 프로그램 문턱 전압 산포의 열화는 프로그램 동작 종료 후 독출 동작 수행 시 독출 페일을 초래하여 비휘발성 메모리 장치의 신뢰성을 저하시킬 수 있다.
다시 도 5 및 도 6을 참조하면, 단계 S170에서, 비휘발성 메모리 장치(100)는 이니셜 프로그램 검증 조건으로 이니셜 프로그램 검증 동작(INT_VFY)을 수행한다. 이때, 이니셜 프로그램 검증 조건은 서스펜드 커맨드(SUS_CMD)가 수신되기 전에 수행되는, 또는 리쥼 커맨드(RES_CMD) 수신 후의 프로그램 루프에서 수행되는 노멀 프로그램 검증 동작에 적용되는 노멀 프로그램 검증 조건과 다를 수 있다. 예를 들어, 검증 조건은 디벨롭 시간, 프로그램 검증 전압 등을 포함할 수 있다. 이에 대해, 도 9 내지 도 23을 참조하여 더욱 상세하게 설명하기로 한다. 또한, 일부 실시예들에서, 단계 S170은 단계 S120과 S130 사이 또는, 단계 S130과 단계 S140 사이에 수행될 수도 있다. 이에 대해 도 8을 참조하여 후술하기로 한다.
단계 S180에서, 비휘발성 메모리 장치(100)는 프로그램 실행 동작을 수행한다. 예를 들어, 단계 S180은 제N+1 프로그램 루프(PL_N+1)에 대응할 수 있다. 제N+1 프로그램 루프(PL_N+1)의 프로그램 실행 구간에서 선택 워드 라인(WLsel)에 제2 프로그램 전압(VPGM2)이 인가될 수 있고, 제2 프로그램 전압(VPGMS2)은 제1 프로그램 전압(VPGM1)에 비해 ISPP(Incremental Step Pulse Program) 레벨만큼 전압 레벨이 높을 수 있다.
단계 S190에서, 비휘발성 메모리 장치(100)는 노멀 프로그램 검증 조건으로 노멀 프로그램 검증 동작을 수행한다. 예를 들어, 단계 S180은 제N+1 프로그램 루프(PL_N+1)에 대응할 수 있다. 제N+1 프로그램 루프(PL_N+1)의 프로그램 검증 구간에서 노멀 프로그램 검증 동작(N_VFY)이 수행될 수 있다. 이때, 노멀 프로그램 검증 동작(N_VFY)은 노멀 프로그램 검증 조건에 따라 프로그램 검증 동작을 수행할 수 있다. 이에 대해, 도 9 내지 도 23을 참조하여 더욱 상세하게 설명하기로 한다.
도 8은 본 개시의 일 실시예에 따라 프로그램 동작 중의 서스펜드-리쥼 동작을 나타낸다.
도 8을 참조하면, 본 실시예는 도 5 및 도 6에 예시된 동작의 변형 예에 대응할 수 있다. 본 실시예에 따르면, 이니셜 프로그램 검증 동작(INT_VFY)은 서스펜드 커맨드(SUS_CMD)를 수신한 이후에, 그리고, 리쥼 커맨드(RES_CMD)를 수신하기 전에 수행될 수 있다. 이때, 이니셜 프로그램 검증 동적(INT_VFY)은 노멀 프로그램 검증 조건과 다른 이니셜 프로그램 검증 조건을 이용하여 수행될 수 있다. 이와 같이, 이니셜 프로그램 검증 동작(INT_VFY)은 서스펜드 커맨드(SUS_CMD)를 수신한 이후 또는 리쥼 커맨드(RES_CMD)를 수신한 이후에 수행될 수 있다.
도 9는 본 개시의 일 실시예에 따른 비휘발성 메모리 장치의 프로그래밍 방법을 나타내는 흐름도이다.
도 9를 참조하면, 본 실시예에 따른 프로그래밍 방법은 비휘발성 메모리 장치의 프로그램 동작 중에 서스펜드-리쥼 동작이 수행되는 경우 비휘발성 메모리 장치의 동작 방법에 대응할 수 있다. 예를 들어, 본 실시예에 따른 프로그래밍 방법은 도 2의 비휘발성 메모리 장치(100)에서 수행될 수 있다. 도 1 내지 도 8을 참조하여 상술된 내용은 본 실시예에 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S210에서, 프로그램 커맨드(PGM_CMD)에 응답하여, 선택 워드 라인(WLsel)에 제1 프로그램 전압(PGM1)을 인가한다. 이때, 단계 S210은 프로그램 실행 동작에 대응하며, 예를 들어, 도 6의 제N 프로그램 루프(PL_N)의 프로그램 실행 동작에 대응할 수 있다. 단계 S230에서, 서스펜드 커맨드(SUS_CMD) 또는 리쥼 커맨드(RES_CMD)에 응답하여, 이니셜 디벨롭 시간 동안 센싱 노드의 전압 레벨을 디벨롭함으로써 이니셜 프로그램 검증 동작(INT_VFY)을 수행한다. 일 실시예에서, 도 5 및 도 6에 예시된 바와 같이, 단계 S230은 리쥼 커맨드(RES_CMD)를 수신한 이후에 수행될 수 있다. 일 실시예에서, 도 8에 예시된 바와 같이, 단계 S230은 서스펜드 커맨드(SUS_CMD)를 수신한 이후에 수행될 수 있다.
단계 S250에서, 리쥼 커맨드(RES_CMD)에 응답하여, 선택 워드 라인(WLsel)에 제2 프로그램 전압(PGM2)을 인가한다. 이때, 단계 S250은 프로그램 실행 동작에 대응하며, 예를 들어, 도 6의 제N+1 프로그램 루프(PL_N+1)의 프로그램 실행 동작에 대응할 수 있다. 단계 S270에서, 노멀 디벨롭 시간 동안 센싱 노드의 전압 레벨을 디벨롭함으로써 노멀 프로그램 검증 동작(N_VFY)을 수행한다.
도 10은 본 개시의 일 실시예에 따른 노멀 프로그램 검증 동작(101)과 이니셜 프로그램 검증 동작들(102, 103)을 나타낸다.
도 10을 참조하면, 노멀 프로그램 검증 동작(101)은 프로그램 동작 시 일반적으로 수행되는 프로그램 검증 동작에 대응할 수 있고, 프리차지 구간(1011), 디벨롭 구간(1012), 및 센싱 구간(1013)을 포함할 수 있다. 프리차지 구간(1011)은 비트 라인(BL) 또는 센싱 노드(예를 들어, 도 11a의 SO)의 전압을 프리차지 레벨로 프리차지하는 동작이 수행되는 구간에 대응할 수 있다. 디벨롭 구간(1012)은 프리차지 구간(1011)과 센싱 구간(1013) 사이의 시간 구간에 대응하며, 비트 라인(BL)과 센싱 노드(SO)를 전기적으로 연결하여 센싱 노드(SO)의 전압을 디벨롭하는 동작이 수행되는 구간에 대응할 수 있다. 센싱 구간(1013)은 센싱 노드(SO)의 전압을 센싱하는 동작이 수행되는 구간에 대응할 수 있다.
이니셜 프로그램 검증 동작(102)은 프로그램 동작 중 서스펜드-리쥼 동작이 수행되는 경우의 프로그램 검증 동작의 일 예에 대응할 수 있고, 프리차지 구간(1021), 디벨롭 구간(1022), 및 센싱 구간(1023)을 포함할 수 있다. 프리차지 구간(1021), 디벨롭 구간(1022), 및 센싱 구간(1023)은 각각 프리차지 구간(1011), 디벨롭 구간(1012), 및 센싱 구간(1013)에 대응할 수 있다. 이때, 이니셜 프로그램 검증 동작(102)의 디벨롭 구간(1022)의 길이는 노멀 프로그램 검증 동작(101)의 디벨롭 구간(1012)의 길이보다 짧을 수 있다.
이니셜 프로그램 검증 동작(103)은 프로그램 동작 중 서스펜드-리쥼 동작이 수행되는 경우의 프로그램 검증 동작의 다른 예에 대응할 수 있고, 프리차지 구간(1031), 디벨롭 구간(1032), 및 센싱 구간(1033)을 포함할 수 있다. 프리차지 구간(1031), 디벨롭 구간(1032), 및 센싱 구간(1033)은 각각 프리차지 구간(1011), 디벨롭 구간(1012), 및 센싱 구간(1013)에 대응할 수 있다. 이때, 이니셜 프로그램 검증 동작(103)의 디벨롭 구간(1032)의 길이는 노멀 프로그램 검증 동작(101)의 디벨롭 구간(1012)의 길이보다 길 수 있다.
도 11a 및 도 11b는 본 개시의 일 실시예에 따른 페이지 버퍼를 각각 나타내는 블록도이다.
도 11a를 참조하면, 페이지 버퍼(121)는 센싱 노드(SO)에 연결된 센스 래치(1211), 포스(force) 래치(1212), 상위 비트 래치(예를 들어, M-래치)(1213), 하위 비트 래치(예를 들어, L-래치)(1214), 및 캐시 래치(1215)를 포함할 수 있다. 또한, 페이지 버퍼(121)는 비트 라인(BL)과 센싱 노드(SO) 사이에 연결된 제1 트랜지스터(TR1)를 더 포함할 수 있다.
센스 래치(1211)는 독출 또는 프로그램 검증 동작 시, 메모리 셀에 저장된 데이터 또는 메모리 셀의 문턱 전압의 센싱 결과를 저장할 수 있다. 또한, 센스 래치(1211)는 프로그램 실행 동작 시, 비트 라인(BL)에 프로그램 비트라인 전압(예를 들어, 도 13의 Vprogram_BL) 또는 프로그램 금지 전압(예를 들어, 도 13의 Vinhibit)을 인가하는 데 활용될 수 있다. 포스 래치(1212)는 프로그램 동작 시 문턱 전압 산포를 개선하기 위해 활용될 수 있다. 프로그램 동작 중 메모리 셀의 문턱 전압에 따라 포스 래치(1212)에 저장된 값이 변경될 수 있고, 프로그램 실행 중 포스 래치(1212)에 저장된 값에 따라 비트 라인(BL)에 인가되는 전압이 가변될 수 있다. 이에 대해서는 도 13을 참조하여 더욱 자세히 설명할 것이다.
상위 비트 래치(1213), 하위 비트 래치(1214), 및 캐시 래치(1215)는 프로그램 동작 시 외부에서 입력된 데이터를 저장하기 위해 활용될 수 있고, 데이터 래치라고 지칭할 수 있다. 하나의 메모리 셀에 3비트의 데이터를 프로그램 하는 경우, 3비트의 데이터는 상위 비트 래치(1213), 하위 비트 래치(1214) 및 캐시 래치(1215)에 각각 저장될 수 있다. 메모리 셀의 프로그램이 완료될 때까지, 상위 비트 래치(1213), 하위 비트 래치(1214) 및 캐시 래치(1215)는 저장된 데이터를 유지할 수 있다. 또한, 캐시 래치(1215)는 독출 동작 시 메모리 셀로부터 읽어낸 데이터를 센스 래치(1211)로부터 전송 받아 데이터 출력 라인(DOUT)을 통해 외부로 출력할 수 있다.
제1 트랜지스터(TR1)는 비트 라인(BL)과 센싱 노드(SO) 사이의 연결을 제어하는 비트 라인 셧-오프(shut-off) 신호(BLSHF)에 의해 구동되며, 이에 따라, "비트 라인 셧-오프 트랜지스터"라고 지칭할 수도 있다. 예를 들어, 메모리 셀로부터 데이터를 읽어낼 때, 제1 트랜지스터(TR1)는 턴-온(turn-on)되어 비트 라인(BL)과 센스 래치(1211)를 전기적으로 연결시켜 준다. 또한, 센스 래치(1211)에 저장된 데이터를 캐시 래치(1215)로 전송하거나, 캐시 래치(1215)에 저장된 데이터를 포스 래치(1212)로 전송할 때 제1 트랜지스터(TR1)는 턴-오프(turn-off)될 수 있다.
도 11b를 참조하면, 페이지 버퍼(121a)는 도 11a의 페이지 버퍼(121)에 비해 서스펜드-리쥼 래치(SR-Latch; 1217)를 더 포함할 수 있다. 프로그램 동작 중 서스펜드에 진입하면, 캐시 래치(1215)에 저장된 데이터를 서스펜드-리쥼 래치(1217)로 전송한 후 캐시 래치(1215)를 사용 가능하게(available) 만들 수 있다. 이후, 요청된 독출 동작이 수행될 수 있고, 센스 래치(1211)는 독출 데이터를 저장하고, 센스 래치(1211)에 저장된 독출 데이터는 캐시 래치(1215)로 전송되어 데이터 출력 라인(DOUT)을 통해 외부로 출력될 수 있다. 이후, 서스펜드-리쥼 래치(1217)에 저장된 데이터를 다시 캐시 래치(1215)로 전송 하고, 서스펜드 된 프로그램 동작을 재개할 수 있다.
도 12는 본 개시의 일 실시예에 따라, 프로그램 동작 시 메모리 셀의 문턱 전압에 따른 래치 값을 예시적으로 나타내는 도면이다.
도 11a 및 도 12를 함께 참조하면, 메모리 컨트롤러(200)로부터 수신된 3비트의 프로그램 데이터가 상위 비트 래치(1213), 하위 비트 래치(1214) 및 캐시 래치(1215)에 각각 1비트씩 저장된다. 예를 들어, 프로그램 데이터가 '110'인 경우, 타켓 프로그램 상태는 제1 프로그램 상태(P1)이고, 상위 비트 래치(1213)에 '1', 하위 비트 래치(1214)에 '1', 그리고 캐시 래치(1215)에 '0'이 저장될 수 있다.
상위 비트 래치(1213), 하위 비트 래치(1214) 및 캐시 래치(1215)에 저장된 값들은, 메모리 셀의 문턱 전압이 타겟 영역에 들어가기 전에는 외부에서 입력된 프로그램 데이터 값을 유지하고 있다가, 타겟 영역에 들어간 때 모두 '1'의 값으로 변경될 수 있다. 예를 들어, 프로그램 데이터가 '110'인 경우, 메모리 셀의 문턱 전압이 제1 영역(R1) 또는 제2 영역(R2)에 진입한 때 상위 비트 래치(1213), 하위 비트 래치(1214) 및 캐시 래치(1215)에 저장된 값들은 원래의 프로그램 데이터 값인 '110'을 유지하게 된다. 메모리 셀의 문턱 전압이 제3 영역(R3)에 진입한 때, 상위 비트 래치(1213), 하위 비트 래치(1214) 및 캐시 래치(1215)에 저장된 값들은 모두 '1'로 변경될 수 있다.
포스 래치(1212)는 포스 데이터(force data)를 저장한다. 포스 데이터는 초기에 '1'로 설정된 후, 메모리 셀의 문턱 전압이 타겟 영역에 못 미치는 포싱(forcing) 영역 또는 포싱 레인지(range)에 진입한 때 '0'으로 반전될 수 있다. 예를 들어, 프로그램 데이터가 '110'인 경우, 메모리 셀의 문턱 전압이 제2 영역(R2)에 진입한 때 포스 래치(1212)에 저장된 값이 '1'에서 '0'으로 반전된다. 포스 데이터를 활용하여 프로그램 실행 동작 중 비트 라인 전압을 제어하고 프로그램 문턱 전압 산포를 보다 좁게 형성할 수 있다. 도 12에는 제1 프로그램 상태(P1)에 대한 제1 내지 제3 영역들(R1 내지 R3)이 도시되어 있으나, 다른 프로그램 상태들에 대해서도 타겟 영역을 기준으로 제1 내지 제3 영역들이 구분될 수 있다.
도 13은 본 개시의 일 실시예에 따라, 프로그램 동작 시 선택 워드 라인과 선택 비트 라인의 전압들을 예시적으로 나타낸다.
도 12 및 도 13을 함께 참조하면, 제N-1 프로그램 루프(PL_N-1)의 프로그램 실행 동작 시, 선택 워드 라인(WLsel)에 프로그램 전압(VPGM)이 인가될 수 있다. 선택 메모리 셀의 문턱 전압이 제1 영역(R1)에 있다면 상위 비트 래치(1213), 하위 비트 래치(1214) 및 캐시 래치(1215)는 초기의 프로그램 데이터를 유지하고 있고, 포스 래치(1212)의 값은 '1'일 수 있다. 그 결과, 선택 비트 라인(BLsel)에는 프로그램 비트 라인 전압(Vprogram_BL)이 인가될 수 있다. 프로그램 비트라인 전압(Vprogram_BL)은 통상적으로 접지(ground) 전압이다. 이후 프로그램 검증 동작이 수행되고, 프로그램 검증 동작은 제1 프로그램 검증 동작(VFY1) 내지 제7 프로그램 검증 동작(VFY7) 중 하나 이상을 포함할 수 있고, 선택 워드 라인(WLsel)에는 프로그램 검증 전압(Vvfy)이 인가될 수 있다.
제N 프로그램 루프(PL_N)의 프로그램 실행 동작 시, 선택 워드 라인(WLsel)에는 제N-1 프로그램 루프(PL_N-1)의 프로그램 전압(VPGM)에 비해 ISPP만큼 더 높은 전압(VPGM+ISPP)이 인가될 수 있다. 선택 메모리 셀의 문턱 전압이 제2 영역(R2)에 있다면, 포스 래치(1212)의 값이 초기 값에서 반전된 값, 즉 '0'일 수 있고, 그 결과 선택 비트 라인(BLsel)에는 프로그램 포스 전압(VFORCE)이 인가될 수 있다. 프로그램 포스 전압(VFORCE)은 접지 전압 보다는 높고 프로그램 금지 전압(Vinhibit) 보다는 낮을 수 있다. 이러한 프로그램 포스 전압(VFORCE)을 이용하여 프로그램 문턱 전압 산포의 폭을 좁게 제어할 수 있다.
제N+1 프로그램 루프(PL_N+1)의 프로그램 실행 동작 시, 선택 워드 라인(WLsel)에는 제N-1 프로그램 루프(PL_N-1)의 프로그램 전압(VPGM)에 비해 2ISPP만큼 더 높은 전압(VPGM+2ISPP)이 인가될 수 있다. 선택 메모리 셀의 문턱 전압이 제3 영역(R3)에 있다면, 선택 메모리 셀에 대응하는 페이지 버퍼(121)의 데이터 래치들은 모두 '1'의 값을 가지게 되고, 그 결과 선택 비트 라인(BLsel)에는 프로그램 금지 전압(Vinhibit)이 인가될 수 있다. 프로그램 금지 전압(Vinhibit)은 통상적으로 내부 전원 전압(VCC)일 수 있다.
도 14는 본 개시의 일 실시예에 따라, 노멀 프로그램 검증 동작에 따른 센싱 노드 전압 변화를 예시적으로 나타낸다.
도 14를 참조하면, 가로축은 시간을 나타내고, 세로축은 센싱 노드(SO)의 전압(V_SO)을 나타낸다. 본 실시예에 따른 노멀 프로그램 검증 동작은 도 10의 노멀 프로그램 검증 동작(101)의 일 구현 예에 대응할 수 있다. 일 실시예에서, 노멀 프로그램 검증 동작은 포싱 센싱 구간(141) 및 메인 센싱 구간(142)을 포함하는 2-스텝 검증 동작일 수 있다. 포싱 센싱 구간(141)은 포싱 센싱 또는 프리 검증(pre-verification) 동작이 수행되는 구간일 수 있다. 메인 센싱 구간(142)은 메인 센싱 또는 메인 검증 동작이 수행되는 구간일 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 노멀 프로그램 검증 동작은 메인 센싱 구간(142)만 포함하는 1-스텝 검증 동작일 수도 있다.
포싱 센싱 구간(141)은 제1 프리차지 구간(1411), 제1 디벨롭 구간(1412) 및 제1 센싱 구간(1413)을 포함할 수 있다. 제1 디벨롭 구간(1412)에서, 비트 라인의 전압 레벨에 따라 센싱 노드(SO)의 전압 레벨이 변화하게 된다. 이때, 제1 디벨롭 구간(1412)의 길이는 노멀 포싱 디벨롭 시간(Tf)에 대응할 수 있다. 한편, 메인 센싱 구간(142)은 제2 프리차지 구간(1421), 제2 디벨롭 구간(1422) 및 제2 센싱 구간(1423)을 포함할 수 있다. 이때, 제2 디벨롭 구간(1422)의 길이는 노멀 메인 디벨롭 시간(Tm)에 대응할 수 있다. 노멀 메인 디벨롭 시간(Tm)은 노멀 포싱 디벨롭 시간(Tf)보다 길 수 있다.
도 15a 및 도 15b는 본 개시의 일부 실시예들에 따라, 이니셜 프로그램 검증 동작에 따른 센싱 노드 전압 변화를 예시적으로 나타낸다.
도 14 및 도 15a를 함께 참조하면, 본 실시예에 따른 이니셜 프로그램 검증 동작은 도 10의 이니셜 프로그램 검증 동작(102)의 일 구현 예에 대응할 수 있다. 포싱 센싱 구간(151)은 제1 프리차지 구간(1511), 제1 디벨롭 구간(1512) 및 제1 센싱 구간(1513)을 포함할 수 있다. 제1 디벨롭 구간(1512)의 길이는 제1 포싱 디벨롭 시간(Tf')에 대응할 수 있고, 제1 포싱 디벨롭 시간(Tf')은 노멀 포싱 디벨롭 시간(Tf)보다 길 수 있다. 한편, 메인 센싱 구간(152)은 제2 프리차지 구간(1521), 제2 디벨롭 구간(1522) 및 제2 센싱 구간(1523)을 포함할 수 있다. 이때, 제2 디벨롭 구간(1522)의 길이는 제1 메인 디벨롭 시간(Tm')에 대응할 수 있고, 제1 메인 디벨롭 시간(Tm')은 노멀 메인 디벨롭 시간(Tm)보다 길 수 있다.
도 14 및 도 15b를 함께 참조하면, 본 실시예에 따른 이니셜 프로그램 검증 동작은 도 10의 이니셜 프로그램 검증 동작(103)의 일 구현 예에 대응할 수 있다. 포싱 센싱 구간(151')은 제1 프리차지 구간(1511), 제1 디벨롭 구간(1512') 및 제1 센싱 구간(1513)을 포함할 수 있다. 제1 디벨롭 구간(1512')의 길이는 제2 포싱 디벨롭 시간(Tf")에 대응할 수 있고, 제2 포싱 디벨롭 시간(Tf")은 노멀 포싱 디벨롭 시간(Tf)보다 짧을 수 있다. 한편, 메인 센싱 구간(152')은 제2 프리차지 구간(1521), 제2 디벨롭 구간(1522') 및 제2 센싱 구간(1523)을 포함할 수 있다. 이때, 제2 디벨롭 구간(1522')의 길이는 제2 메인 디벨롭 시간(Tm")에 대응할 수 있고, 제2 메인 디벨롭 시간(Tm")은 노멀 메인 디벨롭 시간(Tm)보다 짧을 수 있다.
도 16은 본 개시의 일 실시예에 따른 페이지 버퍼(PB)의 일부를 나타내는 회로도이다.
도 16을 참조하면, 페이지 버퍼(PB)는 제1 내지 제4 트랜지스터들(TR1 내지 TR4) 및 센스 래치(1211)를 포함할 수 있다. 페이지 버퍼(PB)는 도 1의 복수의 페이지 버퍼들(PB1 내지 PBn) 중 하나일 수 있고, 도 11a의 페이지 버퍼(121) 또는 도 11b의 페이지 버퍼(121a)의 구현 예에 대응할 수 있다. 예를 들어, 제1 센싱 노드(SO1)는 도 11a의 페이지 버퍼(121)의 센싱 노드(SO)에 대응할 수 있다. 도시되지는 않았지만, 제1 센싱 노드(SO1)는 포스 래치(1212), 상위 비트 래치(1213), 하위 비트 래치(1214) 및 캐시 래치(1215)에도 연결될 수 있다.
제1 트랜지스터(TR1)는 비트 라인(BL)과 제2 센싱 노드(SO2) 사이에 연결되고, 비트 라인 셧-오프 신호(BLSHF)에 의해 구동될 수 있다. 제2 트랜지스터(TR2)는 제1 센싱 노드(SO1)와 제2 센싱 노드(SO2) 사이에 연결되고, 비트 라인 연결 제어 신호(CLBLK)에 의해 구동될 수 있다. 제3 트랜지스터(TR3)는 제2 센싱 노드(SO2)에 연결되고, 비트 라인 클램핑 신호(BLCLAMP)에 의해 구동될 수 있다. 비트 라인 클램핑 신호(BLCLAMP)가 활성화되면, 제3 트랜지스터(TR3)는 제2 센싱 노드(SO2)의 전압을 클램핑할 수 있다. 예를 들어, 제1 내지 제3 트랜지스터들(TR1 내지 TR3)은 NMOS 트랜지스터로 구현될 수 있다.
제4 트랜지스터(TR4)는 제1 센싱 노드(SO1)에 연결되고, 비트 라인 셋업 신호(BLSETUP)에 의해 구동될 수 있다. 비트 라인 셋업 신호(BLSETUP)가 활성화되면, 제3 트랜지스터(TR3)는 비트 라인(BL) 또는 제1 센싱 노드(SO1)의 전압을 프리차지 레벨로 프리차지할 수 있다. 예를 들어, 제4 트랜지스터(TR4)는 PMOS 트랜지스터로 구현될 수 있다.
도 17은 본 개시의 일 실시예에 따라 프로그램 검증 동작 시 도 16의 페이지 버퍼(PB)에 포함된 제1 내지 제4 트랜지스터들(TR1 내지 TR4)에 인가되는 제어 신호들을 예시적으로 나타낸다.
도 1, 도 16 및 도 17을 함께 참조하면, 프로그램 검증 동작은 예를 들어, 제1 프로그램 검증 동작(VFY1) 및 제2 프로그램 검증 동작(VFY2)을 포함할 수 있다. 제1 프로그램 검증 동작(VFY1)은 메모리 셀이 제1 프로그램 상태(P1)로 프로그램 완료되었는지 검증하는 동작을 나타내고, 제2 프로그램 검증 동작(VFY2)은 메모리 셀이 제2 프로그램 상태(P2)로 프로그램 완료되었는지 검증하는 동작을 나타낼 수 있다. 그러나, 프로그램 검증 동작은 더 많은 프로그램 상태들의 프로그램 완료를 검증하기 위하여 더 많은 프로그램 검증 동작들을 포함할 수도 있다.
제1 프로그램 검증 동작(VFY1)은 제1 포싱 센싱 구간(FS1) 및 제1 메인 센싱 구간(MS1)을 포함할 수 있다. 제1 포싱 센싱 구간(FS1)은 제1 프리차지 구간(PRE11), 제1 디벨롭 구간(DEV11) 및 제1 센싱 구간(SEN11)을 포함할 수 있다. 제1 프리차지 구간(PRE11)은 비트 라인 셋업 신호(BLSETUP)의 활성화 구간, 다시 말해, 비트 라인 셋업 신호(BLSETUP)가 로직 로우로 천이되는 시점부터 비트 라인 셋업 신호(BLSETUP)가 로직 하이로 천이되는 시점까지의 시간 구간으로 정의될 수 있다.
제1 디벨롭 구간(DEV11)은 비트 라인 셋업 신호(BLSETUP)의 비활성화 시점부터 비트 라인 연결 제어 신호(CLBLK)의 비활성화 시점까지의 시간 구간으로 정의될 수 있다. 다시 말해, 제1 디벨롭 구간(DEV11)은 비트 라인 셋업 신호(BLSETUP)가 로직 하이로 천이되는 시점부터 비트 라인 연결 제어 신호(CLBLK)가 로직 로우로 천이되는 시점까지의 시간 구간으로 정의될 수 있다.
일 실시예에 따르면, 프로그램 검증 동작이 노멀 프로그램 검증 동작인지 이니셜 프로그램 검증 동작인지에 따라, 제1 디벨롭 구간(DEV11)의 길이가 변경될 수 있다. 이에 따라, 제어 로직(130)은 프로그램 검증 동작의 종류에 따라, 비트 라인 셋업 신호(BLSETUP)의 비활성화 시점 또는 비트 라인 연결 제어 신호(CLBLK)의 비활성화 시점을 제어할 수 있다. 구체적으로, 이니셜 프로그램 검증 동작 시, 제어 로직(130)은 비트 라인 셋업 신호(BLSETUP)의 비활성화 시점 또는 비트 라인 연결 제어 신호(CLBLK)의 비활성화 시점을 노멀 프로그램 검증 동작과 다르게 제어할 수 있다.
제1 센싱 구간(SEN11)은 비트 라인 연결 제어 신호(CLBLK)의 비활성화 구간, 다시 말해, 비트 라인 연결 제어 신호(CLBLK)가 로직 로우로 천이되는 시점부터 비트 라인 연결 제어 신호(CLBLK)가 로직 하이로 천이되는 시점까지의 시간 구간으로 정의될 수 있다. 제1 디벨롭 구간(DEV11)의 길이가 변경되는 경우, 제1 센싱 구간(SEN11)의 개시 시점도 변경될 수 있다. 이에 따라, 제어 로직(130)은 프로그램 검증 동작의 종류에 따라, 비트 라인 연결 제어 신호(CLBLK)의 비활성화 시점을 제어할 수 있다.
제1 메인 센싱 구간(MS1)은 제2 프리차지 구간(PRE12), 제2 디벨롭 구간(DEV12) 및 제2 센싱 구간(SEN12)을 포함할 수 있다. 제2 프리차지 구간(PRE12)은 비트 라인 셋업 신호(BLSETUP)의 활성화 구간으로 정의될 수 있다. 제2 디벨롭 구간(DEV12)은 비트 라인 셋업 신호(BLSETUP)의 비활성화 시점부터 비트 라인 연결 제어 신호(CLBLK)의 비활성화 시점까지의 시간 구간으로 정의될 수 있다. 제2 센싱 구간(SEN12)은 비트 라인 연결 제어 신호(CLBLK)의 비활성화 구간으로 정의될 수 있다.
일 실시예에 따르면, 프로그램 검증 동작이 노멀 프로그램 검증 동작인지 이니셜 프로그램 검증 동작인지에 따라, 제2 디벨롭 구간(DEV12)의 길이가 변경될 수 있다. 이에 따라, 제어 로직(130)은 프로그램 검증 동작의 종류에 따라, 비트 라인 셋업 신호(BLSETUP)의 비활성화 시점 또는 비트 라인 연결 제어 신호(CLBLK)의 비활성화 시점을 제어할 수 있다. 구체적으로, 이니셜 프로그램 검증 동작 시, 제어 로직(130)은 비트 라인 셋업 신호(BLSETUP)의 비활성화 시점 또는 비트 라인 연결 제어 신호(CLBLK)의 비활성화 시점을 노멀 프로그램 검증 동작과 다르게 제어할 수 있다. 또한, 제어 로직(130)은 프로그램 검증 동작의 종류에 따라, 비트 라인 연결 제어 신호(CLBLK)의 비활성화 시점을 제어할 수 있다.
제2 프로그램 검증 동작(VFY2)은 제2 포싱 센싱 구간(FS2) 및 제2 메인 센싱 구간(MS2)을 포함할 수 있다. 제2 포싱 센싱 구간(FS2)은 제1 프리차지 구간(PRE21), 제1 디벨롭 구간(DEV21) 및 제1 센싱 구간(SEN21)을 포함할 수 있고, 각각 제1 프리차지 구간(PRE11), 제1 디벨롭 구간(DEV11) 및 제1 센싱 구간(SEN11)에 대응할 수 있는바 중복된 설명은 생략한다. 제2 메인 센싱 구간(MS2)은 제2 프리차지 구간(PRE22), 제2 디벨롭 구간(DEV22) 및 제2 센싱 구간(SEN22)을 포함할 수 있고, 각각 제2 프리차지 구간(PRE12), 제2 디벨롭 구간(DEV12) 및 제2 센싱 구간(SEN12)에 대응할 수 있는바 중복된 설명은 생략한다.
도 18a는 본 개시의 비교예에 따라 서스펜드-리쥼 동작에 의한 문턱 전압 산포를 나타내고, 도 18b은 본 개시의 일 실시예에 따라 서스펜드-리쥼 동작에 의한 문턱 전압 산포를 나타낸다.
도 18a를 참조하면, 제1 산포(181)는 타겟 산포를 나타내고, 제2 산포(182)는 서스펜드에 진입한 시점의 초기 산포를 나타내고, 제3 산포(183)는 서스펜드-리쥼 시간(tRES)이 경과한 후 차지 로스에 의한 변경 산포를 나타내며, 제4 산포(184)는 프로그램 재개 후의 재 프로그램 수행에 의한 산포를 나타낸다. 제1 포싱 영역 또는 제1 포싱 레인지(FR1)는 프로그램 검증 전압(Vvfy)보다 낮은 소정의 영역에 대응할 수 있다. 이때, 제1 포싱 영역(FR)은 노멀 프로그램 검증 동작 시 적용되는 포싱 영역일 수 있고, 예를 들어, 도 12의 제2 영역(R2)에 대응할 수 있다.
제1 메모리 셀의 문턱 전압이 제1 포싱 영역(FR)보다 낮은 경우, 리쥼 커맨드(RES_CMD)를 수신한 이후에 노멀 프로그램 검증 동작을 수행하면 제1 메모리 셀은 프로그램 페일로 판단될 것이다. 이때, 제1 메모리 셀을 ISPP만큼 증가한 프로그램 전압(예를 들어, 도 13의 VPGM+ISPP)으로 다시 프로그램할 경우, 제1 메모리 셀의 문턱 전압은 타겟 산포(181)보다 높을 수 있다. 이에 따라, 에러 비트가 발생할 수 있고, 독출 에러가 발생할 수 있다.
도 18b를 참조하면, 본 실시예에 따르면, 서스펜드 커맨드(SUS_CMD) 또는 리쥼 커맨드(RES_CMD)를 수신한 이후의 이니셜 프로그램 검증 동작 시, 디벨롭 시간을 노멀 디벨롭 시간과 다르게 함으로써 제1 포싱 영역(FR)을 제2 포싱 영역(FR')으로 변경할 수 있다. 이에 따라, 제1 포싱 영역(FR)에 포함되지 않았던 제1 메모리 셀이 제2 포싱 영역(FR')에 포함될 수 있고, 제1 메모리 셀에 연결된 페이지 버퍼에 포함된 포스 래치의 값은 '1'에서 '0'으로 변경될 수 있다. 이로써, 프로그램 동작이 재개된 이후의 프로그램 루프에서 제1 메모리 셀에 연결된 비트 라인에 포스 전압(VFORCE)이 인가될 수 있고, 제1 메모리 셀의 문턱 전압은 도 18a보다 적게 상승할 수 있다. 결과적으로, 제1 메모리 셀의 오버 프로그램을 방지함으로써, 제1 산포(181)의 상위 전압 레벨과 제4 산포(184')의 상위 전압 레벨의 차이를 감소시킬 수 있다.
도 19는 본 개시의 일 실시예에 따른 비휘발성 메모리 장치의 프로그래밍 방법을 나타내는 흐름도이다.
도 1 및 도 19를 함께 참조하면, 단계 S310에서, 비휘발성 메모리 장치(100)는 프로그램 커맨드(PGM_CMD)를 수신한다. 단계 S320에서, 비휘발성 메모리 장치(100)는 프로그램 커맨드(PGM_CMD)에 응답하여 적어도 하나의 프로그램 루프를 수행한다. 단계 S330에서, 비휘발성 메모리 장치(100)는 서스펜드 커맨드(SUS_CMD)를 수신한다. 단계 S340에서, 비휘발성 메모리 장치(100)는 리쥼 커맨드(RES_CMD)를 수신한다.
단계 S350에서, 비휘발성 메모리 장치(100)는 현재 프로그램 루프가 N 이상인지 판단한다. 여기서, N은 2 이상의 자연수일 수 있다. 판단 결과, 현재 프로그램 루프가 N 이상이면, 단계 S360에서, 이니셜 디벨롭 시간을 이용하여 이니셜 프로그램 검증 동작을 수행한다. 한편, 현재 프로그램 루프가 N보다 작으면, 단계 S370에서, 노멀 디벨롭 시간을 이용하여 노멀 프로그램 검증 동작을 수행한다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예들에서, 단계 S350 내지 S370은 S330과 S340 사이에 수행될 수도 있다. 단계 S380에서, 비휘발성 메모리 장치(100)는 리쥼 커맨드(RES_CMD)에 응답하여 다음 프로그램 루프들을 순차적으로 수행한다.
한편, 일부 실시예들에 따른 비휘발성 메모리 장치의 프로그래밍 방법은 단계 S350 대신 제M 프로그램 상태로 프로그램 완료되었는지 여부를 판단할 수도 있다. 이때, 제M 프로그램 상태로 프로그램 완료된 경우 이니셜 프로그램 검증 동작을 수행하고, 제M 프로그램 상태로 프로그램 완료되지 않은 경우 노멀 프로그램 검증 동작을 수행할 수 있다.
도 20은 본 개시의 일 실시예에 따른 비휘발성 메모리 장치의 프로그래밍 방법을 나타내는 흐름도이다.
도 20을 참조하면, 본 실시예에 따른 프로그래밍 방법은 도 9에 예시된 프로그래밍 방법의 변형 예에 대응할 수 있고, 도 9를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다. 예를 들어, 본 실시예에 따른 프로그래밍 방법은 도 2의 비휘발성 메모리 장치(100)에서 시계열적으로 수행되는 단계들을 포함할 수 있다.
단계 S410에서, 프로그램 커맨드(PGM_CMD)에 응답하여, 선택 워드 라인(WLsel)에 제1 프로그램 전압(PGM1)을 인가한다. 이때, 단계 S210은 프로그램 실행 동작에 대응하며, 예를 들어, 도 6의 제N 프로그램 루프(PL_N)의 프로그램 실행 동작에 대응할 수 있다. 단계 S430에서, 서스펜드 커맨드(SUS_CMD) 또는 리쥼 커맨드(RES_CMD)에 응답하여, 선택 워드 라인(WLsel)에 이니셜 프로그램 검증 전압을 인가함으로써 이니셜 프로그램 검증 동작(INT_VFY)을 수행한다. 일 실시예에서, 도 5 및 도 6에 예시된 바와 같이, 단계 S430은 리쥼 커맨드(RES_CMD)를 수신한 이후에 수행될 수 있다. 일 실시예에서, 도 8에 예시된 바와 같이, 단계 S430은 서스펜드 커맨드(SUS_CMD)를 수신한 이후에 수행될 수 있다.
단계 S450에서, 리쥼 커맨드(RES_CMD)에 응답하여, 선택 워드 라인(WLsel)에 제2 프로그램 전압(PGM2)을 인가한다. 이때, 단계 S450은 프로그램 실행 동작에 대응하며, 예를 들어, 도 6의 제N+1 프로그램 루프(PL_N+1)의 프로그램 실행 동작에 대응할 수 있다. 단계 S470에서, 선택 워드 라인(WLsel)에 노멀 프로그램 검증 전압을 인가함으로써 노멀 프로그램 검증 동작(N_VFY)을 수행한다. 이때, 노멀 프로그램 검증 전압은 이니셜 프로그램 검증 전압과 다를 수 있다.
도 21a 및 도 21b는 본 개시의 일 실시예에 따른 프로그램 검증 동작 시 시간에 따른 워드 라인 전압들을 각각 나타낸다.
도 21a를 참조하면, 제1 프로그램 검증 순서에 따르면 하위 프로그램 상태부터 상위 프로그램 상태의 순서로 프로그램 검증 동작을 수행할 수 있다. 예를 들어, 제1 프로그램 상태(P1)에 대한 제1 프로그램 검증 동작(VFY1)을 수행하고, 이어서, 제2 프로그램 상태(P2)에 대한 제2 프로그램 검증 동작(VFY2)을 수행할 수 있다.
프로그램 검증 동작이 노멀 프로그램 검증 동작(예를 들어, 도 6의 N_VFY)인 경우, 선택 워드 라인(WLsel)의 전압은 노멀 프로그램 검증 전압(211)에 대응할 수 있다. 제1 프로그램 검증 동작(VFY1) 시 노멀 프로그램 검증 전압(211)은 제1 노멀 프로그램 검증 전압(Vvfy1)에 대응할 수 있고, 제2 프로그램 검증 동작(VFY2) 시 노멀 프로그램 검증 전압(211)은 제2 노멀 프로그램 검증 전압(Vvfy2)에 대응할 수 있다. 이때, 비선택 워드 라인(WLunsel)의 전압은 독출 금지 전압(Vr)에 대응할 수 있다. 예를 들어, 독출 금지 전압(Vr)은 제7 노멀 프로그램 검증 전압(Vvfy7)보다 더 높을 수 있다.
프로그램 검증 동작이 이니셜 프로그램 검증 동작(예를 들어, 도 6의 INT_VFY)인 경우, 선택 워드 라인(WLsel)의 전압은 이니셜 프로그램 검증 전압(212a) 또는 이니셜 프로그램 검증 전압(212b)에 대응할 수 있다. 선택 워드 라인(WLsel)의 전압은 이니셜 프로그램 검증 전압(212a)인 경우, 제1 프로그램 검증 동작(VFY1) 시 이니셜 프로그램 검증 전압(212a)은 제1 노멀 프로그램 검증 전압(Vvfy1)보다 높을 수 있고, 제2 프로그램 검증 동작(VFY2) 시 이니셜 프로그램 검증 전압(212a)은 제2 노멀 프로그램 검증 전압(Vvfy2)보다 높을 수 있다. 선택 워드 라인(WLsel)의 전압이 이니셜 프로그램 검증 전압(212b)인 경우, 제1 프로그램 검증 동작(VFY1) 시 이니셜 프로그램 검증 전압(212b)은 제1 노멀 프로그램 검증 전압(Vvfy1)보다 낮을 수 있고, 제2 프로그램 검증 동작(VFY2) 시 이니셜 프로그램 검증 전압(212b)은 제2 노멀 프로그램 검증 전압(Vvfy2)보다 낮을 수 있다.
도 21b를 참조하면, 제2 프로그램 검증 순서에 따르면 상위 프로그램 상태부터 하위 프로그램 상태의 순서로 프로그램 검증 동작을 수행할 수 있다. 예를 들어, 제7 프로그램 상태(P7)에 대한 제7 프로그램 검증 동작(VFY7)을 수행하고, 이어서, 제6 프로그램 상태(P6)에 대한 제6 프로그램 검증 동작(VFY6)을 수행할 수 있다.
프로그램 검증 동작이 노멀 프로그램 검증 동작(예를 들어, 도 6의 N_VFY)인 경우, 선택 워드 라인(WLsel)의 전압은 노멀 프로그램 검증 전압(214)에 대응할 수 있다. 제7 프로그램 검증 동작(VFY7) 시 노멀 프로그램 검증 전압(214)은 제7 노멀 프로그램 검증 전압(Vvfy7)에 대응할 수 있고, 제6 프로그램 검증 동작(VFY6) 시 노멀 프로그램 검증 전압(214)은 제6 노멀 프로그램 검증 전압(Vvfy6)에 대응할 수 있다. 이때, 비선택 워드 라인(WLunsel)의 전압은 독출 금지 전압(Vr)에 대응할 수 있다. 예를 들어, 독출 금지 전압(Vr)은 제7 노멀 프로그램 검증 전압(Vvfy7)보다 더 높을 수 있다.
프로그램 검증 동작이 이니셜 프로그램 검증 동작(예를 들어, 도 6의 INT_VFY)인 경우, 선택 워드 라인(WLsel)의 전압은 이니셜 프로그램 검증 전압(215a) 또는 이니셜 프로그램 검증 전압(215b)에 대응할 수 있다. 선택 워드 라인(WLsel)의 전압은 이니셜 프로그램 검증 전압(215a)인 경우, 제7 프로그램 검증 동작(VFY7) 시 이니셜 프로그램 검증 전압(215a)은 제7 노멀 프로그램 검증 전압(Vvfy7)보다 높을 수 있고, 제6 프로그램 검증 동작(VFY6) 시 이니셜 프로그램 검증 전압(215a)은 제6 노멀 프로그램 검증 전압(Vvfy6)보다 높을 수 있다. 선택 워드 라인(WLsel)의 전압이 이니셜 프로그램 검증 전압(215b)인 경우, 제7 프로그램 검증 동작(VFY7) 시 이니셜 프로그램 검증 전압(215b)은 제7 노멀 프로그램 검증 전압(Vvfy7)보다 낮을 수 있고, 제6 프로그램 검증 동작(VFY6) 시 이니셜 프로그램 검증 전압(215b)은 제6 노멀 프로그램 검증 전압(Vvfy6)보다 낮을 수 있다.
도 22는 본 개시의 일 실시예에 따른 비휘발성 메모리 장치의 프로그래밍 방법을 나타내는 흐름도이다.
도 1 및 도 22를 함께 참조하면, 단계 S510에서, 비휘발성 메모리 장치(100)는 프로그램 커맨드(PGM_CMD)를 수신한다. 단계 S520에서, 비휘발성 메모리 장치(100)는 프로그램 커맨드(PGM_CMD)에 응답하여 적어도 하나의 프로그램 루프를 수행한다. 단계 S530에서, 비휘발성 메모리 장치(100)는 서스펜드 커맨드(SUS_CMD)를 수신한다. 단계 S540에서, 비휘발성 메모리 장치(100)는 리쥼 커맨드(RES_CMD)를 수신한다.
단계 S550에서, 비휘발성 메모리 장치(100)는 메모리 셀들이 제M 프로그램 상태로 프로그램 완료되었는지 여부를 판단할 수도 있다. 판단 결과, 메모리 셀들이 제M 프로그램 상태로 프로그램 완료된 경우, 단계 S560에서, 이니셜 프로그램 검증 전압을 이용하여 이니셜 프로그램 검증 동작을 수행한다. 한편, 메모리 셀들이 제M 프로그램 상태로 프로그램 완료되지 않은 경우, 단계 S570에서, 노멀 프로그램 검증 전압을 이용하여 노멀 프로그램 검증 동작을 수행한다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예들에서, 단계 S550 내지 S570은 S530과 S540 사이에 수행될 수도 있다. 단계 S580에서, 비휘발성 메모리 장치(100)는 리쥼 커맨드(RES_CMD)에 응답하여 다음 프로그램 루프들을 순차적으로 수행한다.
한편, 일부 실시예들에 따른 비휘발성 메모리 장치의 프로그래밍 방법은 단계 S550 대신 현재 프로그램 루프가 N 이상인지 판단할 수 있다. 판단 결과, 현재 프로그램 루프가 N 이상이면, 노멀 프로그램 검증 전압과 다른 이니셜 프로그램 검증 전압을 이용하여 이니셜 프로그램 검증 동작을 수행할 수 있다. 한편, 현재 프로그램 루프가 N보다 작으면, 노멀 프로그램 검증 전압을 이용하여 노멀 프로그램 검증 동작을 수행할 수 있다.
도 23은 본 개시의 일 실시예에 따른 메모리 시스템(10a)을 나타내는 블록도이다. 메모리 시스템(10a)은 도 1의 메모리 시스템(10)의 변형 예에 대응할 수 있고, 도 1 내지 도 22를 참조하여 상술된 내용은 본 실시예에 적용될 수 있다.
도 23을 참조하면, 메모리 시스템(10a)은 비휘발성 메모리 장치(100a) 및 메모리 컨트롤러(200a)를 포함할 수 있다. 메모리 컨트롤러(200a)는 서스펜드/리쥼 컨트롤러(210a) 및 온도 센서(220)를 포함할 수 있다. 비휘발성 메모리 장치(100a)는 메모리 셀 어레이(110), 페이지 버퍼부(120), 제어 로직(130a) 및 온도 센서(160)를 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 메모리 시스템(10a)은 온도 센서(220) 및 온도 센서(160) 중 하나만 포함할 수도 있다.
온도 센서(220)는 메모리 시스템(10a)의 온도를 센싱하고, 센싱된 온도(TP)를 서스펜드/리쥼 컨트롤러(210a)에 제공할 수 있다. 서스펜드/리쥼 컨트롤러(210a)는 센싱된 온도(TP)를 기초로 서스펜드/리쥼 동작을 제어할 수 있다. 구체적으로, 서스펜드/리쥼 컨트롤러(210a)는 센싱된 온도(TP)에 따라 이니셜 프로그램 검증 동작의 이니셜 프로그램 검증 조건을 제어할 수 있고, 제어된 이니셜 프로그램 검증 조건을 비휘발성 메모리 장치(100a)에 전송할 수 있다.
온도 센서(160)는 비휘발성 메모리 장치(100a)의 온도를 센싱하고, 센싱된 온도(TP')를 제어 로직(130a)에 제공할 수 있다. 제어 로직(130a)은 센싱된 온도(TP')를 기초로 이니셜 프로그램 검증 동작의 이니셜 프로그램 검증 조건을 제어할 수 있다. 예를 들어, 센싱된 온도(TP')가 기준 온도 이상인 경우, 제어 로직(130a)은 서스펜드-리쥼 동작 시 이니셜 프로그램 검증 동작을 수행할 수 있다. 예를 들어, 센싱된 온도(TP')가 증가함에 따라, 제어 로직(130a)은 이니셜 프로그램 검증 조건과 노멀 프로그램 검증 조건 사이의 오프셋을 증가 또는 감소시킬 수 있다.
도 24는 본 개시의 일부 실시예들에 따른 메모리 장치를 SSD 시스템(1000)에 적용한 예를 나타내는 블록도이다.
도 24를 참조하면, SSD 시스템(1000)은 호스트(1100) 및 SSD(1200)를 포함할 수 있다. SSD(1200)는 신호 커넥터를 통해 호스트(1100)와 신호를 주고 받으며, 전원 커넥터를 통해 전원을 입력 받는다. SSD(1200)는 SSD 컨트롤러(1210), 보조 전원 장치(1220) 및 메모리 장치들(1230, 1240, 1250)을 포함할 수 있다. 메모리 장치들(1230, 1240, 1250)은 도 1 내지 도 23을 참조하여 상술된 실시예들을 이용하여 구현될 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 비트 라인들에 각각 연결된 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 비트 라인들에 각각 연결된 페이지 버퍼들을 포함하는 페이지 버퍼부; 및
    상기 메모리 셀들에 대한 프로그램 동작을 제어하는 제어 로직을 포함하고,
    상기 제어 로직은,
    상기 프로그램 동작 시, 노멀(normal) 프로그램 검증 조건을 이용하여 상기 메모리 셀들에 대한 노멀 프로그램 검증 동작을 수행하고,
    상기 프로그램 동작 중 서스펜드(suspend) 커맨드가 수신될 경우, 상기 노멀 프로그램 검증 조건과 다른 이니셜(initial) 프로그램 검증 조건을 이용하여 상기 메모리 셀들에 대한 이니셜 프로그램 검증 동작을 수행하는 것을 특징으로 하는 비휘발성 메모리 장치.
  2. 제1항에 있어서, 상기 이니셜 프로그램 검증 동작은 상기 서스펜드 커맨드 또는 상기 서스펜드 커맨드 이후에 수신되는 리쥼(resume) 커맨드에 응답하여 수행되는 것을 특징으로 하는 비휘발성 메모리 장치.
  3. 제1항에 있어서, 상기 노멀 프로그램 검증 동작은 상기 서스펜드 커맨드가 수신되기 전의 프로그램 루프, 또는 상기 이니셜 프로그램 검증 동작 이후의 프로그램 루프에서 수행되는 것을 특징으로 하는 비휘발성 메모리 장치.
  4. 제1항에 있어서,
    상기 노멀 프로그램 검증 조건은 노멀 디벨롭(develop) 시간을 포함하고,
    상기 이니셜 프로그램 검증 조건은 상기 노멀 디벨롭 시간과 다른 이니셜 디벨롭 시간을 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  5. 제4항에 있어서,
    상기 노멀 디벨롭 시간은, 상기 노멀 프로그램 검증 동작에서 상기 비트 라인들의 프리차지 구간과 상기 비트 라인들에 각각 연결된 센싱 노드들의 센싱 구간 사이의 시간 구간에 대응하고,
    상기 이니셜 디벨롭 시간은, 상기 이니셜 프로그램 검증 동작에서 상기 비트 라인들의 프리차지 구간과 상기 센싱 노드들의 센싱 구간 사이의 시간 구간에 대응하는 것을 특징으로 하는 비휘발성 메모리 장치.
  6. 제4항에 있어서, 상기 페이지 버퍼들 중 제1 페이지 버퍼는,
    상기 비트 라인들 중 제1 비트 라인에 연결된 제1 센싱 노드에 연결되고, 비트 라인 셋업 신호에 의해 구동되는 제1 트랜지스터; 및
    상기 제1 비트 라인과 상기 제1 센싱 노드 사이에 연결되고, 비트 라인 연결 제어 신호에 의해 구동되는 제2 트랜지스터를 포함하고,
    상기 이니셜 디벨롭 시간 및 상기 노멀 디벨롭 시간은, 상기 비트 라인 셋업 신호의 비활성화 시점부터 상기 비트 라인 연결 제어 신호의 비활성화 시점까지의 시간 구간에 대응하는 것을 특징으로 하는 비휘발성 메모리 장치.
  7. 제1항에 있어서,
    상기 노멀 프로그램 검증 조건은 노멀 프로그램 검증 전압을 포함하고,
    상기 이니셜 프로그램 검증 조건은 상기 노멀 프로그램 검증 전압과 다른 이니셜 프로그램 검증 전압을 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  8. 제7항에 있어서,
    상기 메모리 셀들에 연결된 선택 워드 라인을 구동하는 로우 디코더를 더 포함하고,
    상기 로우 디코더는 상기 노멀 프로그램 검증 동작 시 상기 선택 워드 라인에 상기 노멀 프로그램 검증 전압을 인가하고, 상기 이니셜 프로그램 검증 동작 시 상기 선택 워드 라인에 상기 이니셜 프로그램 검증을 인가하는 것을 특징으로 하는 비휘발성 메모리 장치.
  9. 제1항에 있어서, 상기 서스펜드 커맨드는 상기 프로그램 동작의 제N 프로그램 루프 이후에 수신되고, N은 2 이상의 자연수인 것을 특징으로 하는 비휘발성 메모리 장치.
  10. 제9항에 있어서,
    상기 프로그램 동작의 제1 내지 제(N-1) 프로그램 루프들 중 하나에서 상기 서스펜드 커맨드가 수신될 경우, 상기 제어 로직은, 상기 서스펜드 커맨드 또는 상기 서스펜드 커맨드 이후의 리쥼 커맨드에 응답하여, 상기 노멀 프로그램 검증 조건을 이용하여 상기 메모리 셀들에 대해 프로그램 검증 동작을 수행하는 것을 특징으로 하는 비휘발성 메모리 장치.
  11. 제1항에 있어서, 상기 서스펜드 커맨드는 상기 메모리 셀들이 제M 프로그램 상태로 프로그램 완료된 이후에 수신되고, M은 2 이상의 자연수인 것을 특징으로 하는 비휘발성 메모리 장치.
  12. 제11항에 있어서,
    상기 메모리 셀들이 상기 제M 프로그램 상태로 프로그램 완료되기 이전에 상기 서스펜드 커맨드가 수신될 경우, 상기 제어 로직은, 상기 서스펜드 커맨드 또는 상기 서스펜드 커맨드 이후의 리쥼 커맨드에 응답하여, 상기 노멀 프로그램 검증 조건을 이용하여 상기 메모리 셀들에 대해 프로그램 검증 동작을 수행하는 것을 특징으로 하는 비휘발성 메모리 장치.
  13. 비휘발성 메모리 장치의 프로그래밍 방법으로서,
    프로그램 커맨드에 응답하여, 메모리 셀들이 연결된 선택 워드 라인에 제1 프로그램 전압을 인가하는 단계;
    서스펜드 커맨드 또는 상기 서스펜드 커맨드 이후의 리쥼 커맨드에 응답하여, 상기 메모리 셀들에 각각 연결된 비트 라인들에 각각 연결된 센싱 노드들의 전압 레벨들을 이니셜 디벨롭 시간 동안 디벨롭 함으로써 이니셜 프로그램 검증 동작을 수행하는 단계;
    상기 리쥼 커맨드에 응답하여, 상기 선택 워드 라인에 제2 프로그램 전압을 인가하는 단계; 및
    상기 이니셜 디벨롭 시간과 다른 노멀 디벨롭 시간 동안 상기 센싱 노드들의 전압 레벨들을 디벨롭 함으로써 노멀 프로그램 검증 동작을 수행하는 단계를 포함하는 방법.
  14. 제13항에 있어서,
    상기 이니셜 디벨롭 시간은, 상기 이니셜 프로그램 검증 동작에서 상기 비트 라인들의 프리차지 구간과 상기 센싱 노드들의 센싱 구간 사이의 시간 구간에 대응하고,
    상기 노멀 디벨롭 시간은, 상기 노멀 프로그램 검증 동작에서 상기 비트 라인들의 프리차지 구간과 상기 센싱 노드들의 센싱 구간 사이의 시간 구간에 대응하는 것을 특징으로 하는 방법.
  15. 제13항에 있어서, 상기 노멀 프로그램 검증 동작을 수행하는 단계는,
    상기 제1 프로그램 전압을 인가하는 단계 또는 상기 제2 프로그램 전압을 인가하는 단계 이후에 수행되는 것을 특징으로 하는 방법.
  16. 제13항에 있어서, 상기 이니셜 디벨롭 시간은 포싱(forcing) 디벨롭 시간을 포함하고, 상기 이니셜 프로그램 검증 동작을 수행하는 단계는,
    제1 프리차지 구간 동안, 상기 비트 라인들의 전압을 프리차지 레벨로 프리차지 하는 단계;
    상기 포싱 디벨롭 시간 동안, 상기 센싱 노드들의 전압을 디벨롭하는 단계; 및
    제1 센싱 구간 동안, 상기 센싱 노드들의 전압을 센싱하는 단계를 포함하고,
    상기 제1 포싱 디벨롭 시간은, 상기 노멀 프로그램 검증 동작에 적용되는 노멀 포싱 디벨롭 시간과 다른 것을 특징으로 하는 방법.
  17. 제16항에 있어서, 상기 이니셜 디벨롭 시간은 메인(main) 디벨롭 시간을 더 포함하고, 상기 이니셜 프로그램 검증 동작을 수행하는 단계는,
    상기 제1 센싱 구간 이후의 제2 프리차지 구간 동안, 상기 비트 라인들의 전압을 상기 프리차지 레벨로 프리차지 하는 단계;
    상기 메인 디벨롭 시간 동안, 상기 센싱 노드들의 전압을 디벨롭하는 단계; 및
    제2 센싱 구간 동안, 상기 센싱 노드들의 전압을 센싱하는 단계를 더 포함하고,
    상기 메인 디벨롭 시간은, 상기 노멀 프로그램 검증 동작에 적용되는 노멀 메인 디벨롭 시간과 다른 것을 특징으로 하는 방법.
  18. 제13항에 있어서,
    상기 서스펜드 커맨드는 상기 프로그램 동작의 제N 프로그램 루프 이후에 수신되거나, 또는 상기 메모리 셀들이 제M 프로그램 상태로 프로그램 완료된 이후에 수신되고, N과 M은 2 이상의 자연수인 것을 특징으로 하는 방법.
  19. 비휘발성 메모리 장치의 프로그래밍 방법으로서,
    프로그램 커맨드에 응답하여, 메모리 셀들이 연결된 선택 워드 라인에 제1 프로그램 전압을 인가하는 단계;
    서스펜드 커맨드 또는 상기 서스펜드 커맨드 이후의 리쥼 커맨드에 응답하여, 상기 선택 워드 라인에 이니셜 프로그램 검증 전압을 인가함으로써 이니셜 프로그램 검증 동작을 수행하는 단계;
    상기 리쥼 커맨드에 응답하여, 상기 선택 워드 라인에 제2 프로그램 전압을 인가하는 단계; 및
    상기 선택 워드 라인에 상기 이니셜 프로그램 검증 전압과 다른 노멀 프로그램 검증 전압을 인가함으로써 노멀 프로그램 검증 동작을 수행하는 단계를 포함하는 방법.
  20. 제19항에 있어서, 상기 노멀 프로그램 검증 동작을 수행하는 단계는,
    상기 제1 프로그램 전압을 인가하는 단계 또는 상기 제2 프로그램 전압을 인가하는 단계 이후에 수행되는 것을 특징으로 하는 방법.
KR1020190050453A 2019-04-30 2019-04-30 비휘발성 메모리 장치 및 그 프로그래밍 방법 KR20200126609A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020190050453A KR20200126609A (ko) 2019-04-30 2019-04-30 비휘발성 메모리 장치 및 그 프로그래밍 방법
US16/686,567 US11164643B2 (en) 2019-04-30 2019-11-18 Non-volatile memory device and programming method thereof
CN201911256059.6A CN111863102A (zh) 2019-04-30 2019-12-10 非易失性存储器装置及其编程方法
US16/942,148 US11164640B2 (en) 2019-04-30 2020-07-29 Non-volatile memory device and programming method thereof
US17/510,447 US11901012B2 (en) 2019-04-30 2021-10-26 Non-volatile memory device and programming method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190050453A KR20200126609A (ko) 2019-04-30 2019-04-30 비휘발성 메모리 장치 및 그 프로그래밍 방법

Publications (1)

Publication Number Publication Date
KR20200126609A true KR20200126609A (ko) 2020-11-09

Family

ID=72970774

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190050453A KR20200126609A (ko) 2019-04-30 2019-04-30 비휘발성 메모리 장치 및 그 프로그래밍 방법

Country Status (3)

Country Link
US (1) US11164643B2 (ko)
KR (1) KR20200126609A (ko)
CN (1) CN111863102A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021174564A (ja) * 2020-04-24 2021-11-01 キオクシア株式会社 半導体記憶装置
JP7461794B2 (ja) * 2020-05-15 2024-04-04 ルネサスエレクトロニクス株式会社 半導体装置
KR20230002812A (ko) 2020-05-19 2023-01-05 양쯔 메모리 테크놀로지스 씨오., 엘티디. 메모리 디바이스 및 그 프로그램 동작
CN111758131B (zh) * 2020-05-19 2022-03-15 长江存储科技有限责任公司 用于存储器的程序暂停和恢复的控制方法与控制器
CN113921062A (zh) * 2021-09-17 2022-01-11 长江存储科技有限责任公司 存储器及其操作方法
KR20230068683A (ko) * 2021-11-11 2023-05-18 삼성전자주식회사 서스펜드 동작 검사 방법
US20240062831A1 (en) * 2022-08-18 2024-02-22 Yangtze Memory Technologies Co., Ltd. Memory device and read operation during suspension of program operation thereof

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4986213B2 (ja) 2006-07-31 2012-07-25 ルネサスエレクトロニクス株式会社 半導体集積回路及び記憶装置
US8850103B2 (en) 2009-08-28 2014-09-30 Microsoft Corporation Interruptible NAND flash memory
KR101881595B1 (ko) 2011-12-22 2018-07-25 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 이의 소거 방법
US8817569B2 (en) 2012-03-19 2014-08-26 Sandisk Technologies Inc. Immunity against temporary and short power drops in non-volatile memory
KR102116258B1 (ko) 2013-12-24 2020-06-05 삼성전자주식회사 메모리 시스템 및 그것을 포함하는 유저 장치
KR102187637B1 (ko) 2014-02-03 2020-12-07 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
US10431315B2 (en) * 2016-11-29 2019-10-01 Samsung Electronics Co., Ltd. Operation method of a nonvolatile memory device for controlling a resume operation
KR102639697B1 (ko) 2017-01-09 2024-02-21 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그램 방법
JP6783682B2 (ja) * 2017-02-27 2020-11-11 キオクシア株式会社 半導体記憶装置及びメモリシステム
US10971487B2 (en) 2018-05-28 2021-04-06 SK Hynix Inc. Semiconductor memory device

Also Published As

Publication number Publication date
US11164643B2 (en) 2021-11-02
CN111863102A (zh) 2020-10-30
US20200350029A1 (en) 2020-11-05

Similar Documents

Publication Publication Date Title
KR20200126609A (ko) 비휘발성 메모리 장치 및 그 프로그래밍 방법
JP5214896B2 (ja) プログラム速度を向上させることができる不揮発性メモリ装置及びそれのプログラム方法
KR102336662B1 (ko) 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
JP5393999B2 (ja) プログラムディスターブを減少させることができるフラッシュメモリ装置及びそのプログラム方法
US20050157560A1 (en) Non-volatile semiconductor memory device
KR20180081956A (ko) 비휘발성 메모리 장치 및 그 프로그램 방법
KR101009096B1 (ko) 불휘발성 메모리 소자 및 이의 프로그램 검증 동작 방법
US8605512B2 (en) Nonvolatile semiconductor memory device and method of operating a nonvolatile memory device
US8085600B2 (en) Program and verify method of nonvolatile memory device
JP2009301616A (ja) 不揮発性半導体記憶装置
JPH11110986A (ja) 電気的に消去及びプログラムできるメモリセルを備えている半導体メモリ装置
JP2013125576A (ja) 不揮発性半導体記憶装置
JP2009043390A (ja) 不揮発性メモリ装置のソフトプログラム方法
KR100967000B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US9343161B2 (en) Semiconductor memory device and methods of operating the same
JP2008016112A (ja) 半導体記憶装置
KR20130044693A (ko) 반도체 메모리 장치 및 그 동작 방법
JP5085058B2 (ja) プログラムの検証読み取り中に列スキャンを通じてプログラム時間を短縮させうるフラッシュメモリ装置のプログラム方法
US11164640B2 (en) Non-volatile memory device and programming method thereof
JP4931404B2 (ja) 不揮発性メモリ装置
US11901012B2 (en) Non-volatile memory device and programming method thereof
JP2692635B2 (ja) 不揮発性半導体記憶装置及びそのデータ消去方法
JP4613353B2 (ja) 半導体装置およびプログラム方法
CN113241109A (zh) 非易失性存储器设备
JP2010086623A (ja) Nand型フラッシュメモリ

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right