KR20230096304A - 비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 이를 수행하는 비휘발성 메모리 장치 - Google Patents

비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 이를 수행하는 비휘발성 메모리 장치 Download PDF

Info

Publication number
KR20230096304A
KR20230096304A KR1020210185668A KR20210185668A KR20230096304A KR 20230096304 A KR20230096304 A KR 20230096304A KR 1020210185668 A KR1020210185668 A KR 1020210185668A KR 20210185668 A KR20210185668 A KR 20210185668A KR 20230096304 A KR20230096304 A KR 20230096304A
Authority
KR
South Korea
Prior art keywords
page
voltage
data
page data
reprogramming
Prior art date
Application number
KR1020210185668A
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 KR1020210185668A priority Critical patent/KR20230096304A/ko
Priority to US17/816,601 priority patent/US20230207044A1/en
Priority to EP22193520.8A priority patent/EP4202940A1/en
Priority to CN202211223298.3A priority patent/CN116343871A/zh
Publication of KR20230096304A publication Critical patent/KR20230096304A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/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/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B43/27EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage

Abstract

복수의 페이지들을 포함하는 비휘발성 메모리 장치의 리프로그램 방법에서, 복수의 페이지들에 프로그램되고 복수의 상태들을 포함하는 문턱 전압 산포를 갖는 복수의 페이지 데이터들 중, 제1 페이지에 프로그램된 제1 페이지 데이터를 독출한다. 제1 페이지 데이터에 대한 에러 정정 코드(Error Correction Code; ECC) 디코딩을 수행한다. 제1 페이지 데이터에 대한 ECC 디코딩의 결과 및 적응적으로 가변되는 리프로그램 전압에 기초하여, 제1 페이지 데이터에 포함되는 복수의 비트들 중 에러가 발생하고 복수의 상태들 중 제1 상태에 대응하는 대상(target) 비트들에 대한 리프로그램 동작을 선택적으로 수행한다.

Description

비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 이를 수행하는 비휘발성 메모리 장치{METHOD OF REPROGRAMMING DATA IN NONVOLATILE MEMORY DEVICE, METHOD OF PROGRAMMING DATA IN NONVOLATILE MEMORY DEVICE AND NONVOLATILE MEMORY DEVICE PERFORMING THE SAME}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 비휘발성 메모리 장치의 리프로그램 방법, 비휘발성 메모리 장치의 프로그램 방법, 및 상기 리프로그램 방법 및 상기 프로그램 방법을 수행하는 비휘발성 메모리 장치에 관한 것이다.
반도체 메모리 장치는 전원 공급이 중단될 때 저장된 데이터를 상실하는지 여부에 따라 휘발성 메모리 장치(volatile memory device)와 비휘발성 메모리 장치(nonvolatile memory device)로 구분될 수 있다. 휘발성 메모리 장치는 읽고 쓰는 속도가 빠르지만 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에, 비휘발성 메모리 장치는 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 비휘발성 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다. 한편, 비휘발성 메모리 장치에 저장된 데이터는 시간이 경과함에 따라 전하 손실(charge loss) 등에 의해 열화되어 에러가 발생할 수 있다. 이와 관련하여, 에러 발생을 감소시키고 리텐션(retention) 특성 강화를 위한 다양한 방식들이 연구되고 있다.
본 발명의 일 목적은 프로그램된 데이터의 신뢰성 회복을 위한 비휘발성 메모리 장치의 리프로그램 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 리프로그램 방법을 수행하는데 이용되는 비휘발성 메모리 장치의 프로그램 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 상기 리프로그램 방법 및/또는 상기 프로그램 방법을 수행하는 비휘발성 메모리 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 각각 복수의 메모리 셀들을 포함하는 복수의 페이지들을 포함하는 비휘발성 메모리 장치의 리프로그램 방법에서, 상기 복수의 페이지들에 프로그램되고 복수의 상태들을 포함하는 문턱 전압 산포를 갖는 복수의 페이지 데이터들 중, 제1 페이지에 프로그램된 제1 페이지 데이터를 독출한다. 상기 제1 페이지 데이터에 대한 에러 정정 코드(Error Correction Code; ECC) 디코딩을 수행한다. 상기 제1 페이지 데이터에 대한 상기 ECC 디코딩의 결과 및 적응적으로 가변되는 리프로그램 전압에 기초하여, 상기 제1 페이지 데이터에 포함되는 복수의 비트들 중 에러가 발생하고 상기 복수의 상태들 중 제1 상태에 대응하는 대상(target) 비트들에 대한 리프로그램 동작을 선택적으로 수행한다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 각각 복수의 메모리 셀들을 포함하는 복수의 페이지들을 포함하는 비휘발성 메모리 장치의 프로그램 방법에서, 가변되는 프로그램 전압에 기초한 프로그램 동작 및 프로그램 검증 전압에 기초한 프로그램 검증 동작을 포함하는 프로그램 루프(loop)를 1회 이상 수행하여, 상기 복수의 페이지들 중 제1 페이지에 제1 페이지 데이터를 프로그램한다. 상기 제1 페이지 데이터가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 제1 프로그램 루프 완료 정보를 상기 제1 페이지와 다른 제2 페이지에 저장한다.
상기 또 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비휘발성 메모리 장치는 메모리 셀 어레이 및 제어 회로를 포함한다. 상기 메모리 셀 어레이는 각각 복수의 메모리 셀들을 포함하는 복수의 페이지들을 포함한다. 상기 제어 회로는 상기 메모리 셀 어레이의 동작을 제어한다. 상기 제어 회로는, 상기 복수의 페이지들에 프로그램되고 복수의 상태들을 포함하는 문턱 전압 산포를 갖는 복수의 페이지 데이터들 중, 제1 페이지에 프로그램된 제1 페이지 데이터를 독출하고, 상기 제1 페이지 데이터에 대한 에러 정정 코드(Error Correction Code; ECC) 디코딩의 결과 및 적응적으로 가변되는 리프로그램 전압에 기초하여, 상기 제1 페이지 데이터에 포함되는 복수의 비트들 중 에러가 발생하고 상기 복수의 상태들 중 제1 상태에 대응하는 대상(target) 비트들에 대한 리프로그램 동작을 선택적으로 수행한다.
상기와 같은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 비휘발성 메모리 장치에서는, 리프로그램 동작이 필요한 것으로 판단된 경우에, 문턱 전압 산포에 포함되는 복수의 상태들 중 특정 상태에 대해 리프로그램 동작이 수행되며, 특히 특정 상태에 대응하는 비트들 중 일부 비트에 대해서만 리프로그램 동작이 수행될 수 있다. 또한, 리프로그램 동작에서 이용되는 리프로그램 전압의 전압 레벨은 적응적으로 가변되며, 예를 들어 프로그램 루프 완료 정보에 기초하여 결정될 수 있다. 따라서, 데이터의 신뢰성 저하를 방지하고 비휘발성 메모리 장치의 성능이 향상될 수 있다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법을 나타내는 순서도이다.
도 2는 도 1의 비휘발성 메모리 장치의 리프로그램 방법의 구체적인 일 예를 나타내는 순서도이다.
도 3은 본 발명의 실시예들에 따른 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 4는 본 발명의 실시예들에 따른 메모리 시스템에 포함되는 메모리 컨트롤러의 일 예를 나타내는 블록도이다.
도 5는 본 발명의 실시예들에 따른 메모리 시스템에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 6은 도 5의 비휘발성 메모리 장치의 메모리 셀 어레이에 포함되는 메모리 블록의 일 예를 나타내는 사시도이다.
도 7은 도 6을 참조하여 설명된 메모리 블록의 등가 회로를 나타내는 회로도이다.
도 8a는 도 6 및 7의 메모리 블록이 형성되는 셀 영역의 일 예를 나타내는 평면도이다.
도 8b는 도 8a의 셀 영역에 형성되는 채널 홀의 일 예를 나타내는 단면도이다.
도 9, 10a, 10b 및 10c는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 저장되는 데이터의 문턱 전압 산포를 설명하기 위한 도면들이다.
도 11a, 11b, 11c 및 11d는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에서 수행되는 프로그램 동작 및 리프로그램 동작을 설명하기 위한 도면들이다.
도 12, 13 및 14는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 페이지의 구성을 설명하기 위한 도면들이다.
도 15는 도 2의 제1 페이지 데이터에 대한 ECC 디코딩을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 16은 도 15의 대상 비트들에 대한 리프로그램 동작의 수행 여부를 결정하는 단계의 일 예를 나타내는 순서도이다.
도 17은 도 2의 대상 비트들에 대한 리프로그램 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 18은 도 3의 메모리 시스템에 포함되는 리프로그램 컨트롤러의 일 예를 나타내는 블록도이다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 20 및 21은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법을 나타내는 순서도이다.
도 22는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 23은 도 22의 비휘발성 메모리 장치의 프로그램 방법의 구체적인 일 예를 나타내는 순서도이다.
도 24는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 순서도이다.
도 25는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 나타내는 단면도이다.
도 26은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 전자 시스템을 나타내는 블록도이다.
도 27은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 전자 시스템을 설명하기 위한 사시도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법은, 메모리 셀 어레이 및 제어 회로를 포함하는 비휘발성 메모리 장치에 의해 수행된다. 상기 메모리 셀 어레이는 각각 복수의 메모리 셀들을 포함하는 복수의 페이지들을 포함하고, 상기 제어 회로는 상기 메모리 셀 어레이의 동작을 제어한다. 또한, 상기 비휘발성 메모리 장치는 메모리 컨트롤러에 의해 제어된다. 상기 비휘발성 메모리 장치 및 상기 메모리 컨트롤러의 구조는 도 3 내지 8을 참조하여 후술하도록 한다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법에서, 페이지 단위로 데이터를 독출한다(단계 S100). 예를 들어, 상기 복수의 페이지들에 프로그램된 복수의 페이지 데이터들 중 적어도 하나를 독출할 수 있다. 상기 복수의 페이지 데이터들은 복수의 상태들을 포함하는 문턱 전압 산포를 가질 수 있다. 상기 문턱 전압 산포에 대해서는 도 9 등을 참조하여 후술하도록 한다.
단계 S100에서 수행되는 독출 동작은 프로그램된 데이터의 신뢰성 회복을 위한 데이터 리커버리(recovery) 독출 동작일 수 있다. 예를 들어, 프로그램된 데이터에 대한 에러 정정에 실패하지 않도록, 프로그램된 데이터에 일정 개수 이상의 에러가 발생하면 프로그램된 데이터를 재기록하는 방식으로 에러를 줄일 수 있으며, 이를 위해 상기 데이터 리커버리 독출 동작이 수행될 수 있다. 예를 들어, 단계 S100은 상기 메모리 컨트롤러로부터 수신되는 독출 커맨드(예를 들어, 데이터 리커버리 독출 커맨드)에 기초하여 상기 비휘발성 메모리 장치에 의해 수행될 수 있다.
단계 S100에서 독출된 데이터에 대한 에러 정정 코드(Error Correction Code; ECC) 디코딩을 수행한다(단계 S200). 예를 들어, 상기 복수의 페이지 데이터들 중 적어도 하나에 대한 ECC 디코딩을 수행할 수 있다.
일 실시예에서, 단계 S200의 ECC 디코딩은 상기 메모리 컨트롤러에 의해 수행될 수 있다. 예를 들어, 상기 비휘발성 메모리 장치는 상기 독출된 데이터를 상기 메모리 컨트롤러로 전송하고, 상기 메모리 컨트롤러는 상기 독출된 데이터에 대한 상기 ECC 디코딩을 수행하며, 상기 ECC 디코딩의 결과 및/또는 상기 ECC 디코딩의 결과에 기초하여 생성된 커맨드/제어 신호를 상기 비휘발성 메모리 장치로 전송할 수 있다.
단계 S200에서 수행된 ECC 디코딩의 결과 및 적응적으로 가변되는 리프로그램 전압에 기초하여, 단계 S100에서 독출된 데이터에 포함되는 일부 비트들에 대한 리프로그램 동작을 선택적으로 수행한다(단계 S300). 예를 들어, 상기 리프로그램 동작이 필요한 것으로 판단된 경우에, 상기 일부 비트들을 선별하고 상기 일부 비트들이 저장된 메모리 셀들에만 상기 리프로그램 전압을 인가할 수 있다. 예를 들어, 단계 S300은 상기 메모리 컨트롤러로부터 수신되는 리프로그램 커맨드 및/또는 리프로그램 제어 신호에 기초하여 상기 비휘발성 메모리 장치에 의해 수행될 수 있다.
일 실시예에서, 상기 리프로그램 전압의 전압 레벨은, 데이터가 프로그램되는 동안에 수행된 프로그램 루프(loop)의 횟수를 나타내는 프로그램 루프 완료 정보에 기초하여 결정될 수 있다. 상기 프로그램 루프 및 프로그램 루프 완료 정보에 대해서는 도 11 등을 참조하여 후술하도록 한다.
다른 실시예에서, 상기 리프로그램 전압의 전압 레벨은, 상기 복수의 상태들을 포함하는 상기 문턱 전압 산포의 변화에 의한 문턱 전압의 이동량에 기초하여 결정될 수 있다. 상기 문턱 전압 산포에 대해서는 도 10 등을 참조하여 후술하도록 한다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법에서는, 리프로그램 동작이 필요한 것으로 판단된 경우에, 문턱 전압 산포에 포함되는 복수의 상태들 중 특정 상태에 대해 리프로그램 동작이 수행되며, 특히 특정 상태에 대응하는 비트들 중 일부 비트에 대해서만 리프로그램 동작이 수행될 수 있다. 또한, 리프로그램 동작에서 이용되는 리프로그램 전압의 전압 레벨은 적응적으로 가변되며, 예를 들어 프로그램 루프 완료 정보에 기초하여 결정될 수 있다. 따라서, 데이터의 신뢰성 저하를 방지하고 비휘발성 메모리 장치의 성능이 향상될 수 있다.
도 2는 도 1의 비휘발성 메모리 장치의 리프로그램 방법의 구체적인 일 예를 나타내는 순서도이다. 이하 도 1과 중복되는 설명은 생략한다.
도 1 및 2를 참조하면, 도 2는 도 1의 리프로그램 방법에서 하나의 페이지에 대한 구체적인 동작을 예시하고 있다.
단계 S100에서, 상기 복수의 페이지들에 프로그램되고 상기 복수의 상태들을 포함하는 문턱 전압 산포를 갖는 상기 복수의 페이지 데이터들 중, 제1 페이지에 프로그램된 제1 페이지 데이터를 독출한다(단계 S110).
단계 S200에서, 상기 제1 페이지 데이터에 대한 ECC 디코딩을 수행하고(단계 S210), 상기 제1 페이지 데이터에 대한 상기 ECC 디코딩의 결과에 기초하여 상기 제1 페이지 데이터에 대한 리프로그램 동작이 필요한지 판단한다(단계 S230). 단계 S210에 대해서는 도 15 및 16을 참조하여 후술하도록 한다.
상기 제1 페이지 데이터에 대한 상기 리프로그램 동작이 필요한 것으로 판단된 경우에(단계 S230: 예), 단계 S300에서, 상기 리프로그램 전압에 기초하여 상기 제1 페이지 데이터에 포함되는 복수의 비트들 중 에러가 발생하고 상기 복수의 상태들 중 제1 상태에 대응하는 대상(target) 비트들에 대한 상기 리프로그램 동작을 수행한다(단계 S310). 단계 S310에 대해서는 도 17을 참조하여 후술하도록 한다.
상기 제1 페이지 데이터에 대한 상기 리프로그램 동작이 불필요한 것으로 판단된 경우에(단계 S230: 아니오), 단계 S310이 수행되지 않고(즉, 리프로그램 동작이 수행되지 않고) 프로세스가 종료될 수 있다.
한편, 도 2에서는 하나의 페이지에 대한 동작만을 예시하였으나, 본 발명은 이에 한정되지 않으며, 상기 복수의 페이지들의 전부 또는 일부에 대해 상술한 동작이 수행될 수 있다. 예를 들어, 도 2의 단계 S110, S210, S230 및 S310은 2개 이상의 페이지들에 대해 순차적으로 수행될 수 있다.
도 3은 본 발명의 실시예들에 따른 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 3을 참조하면, 메모리 시스템(10)은 메모리 컨트롤러(20) 및 비휘발성 메모리 장치(50)를 포함한다.
비휘발성 메모리 장치(50)는 메모리 컨트롤러(20)의 제어에 따라 데이터 소거, 기입 및/또는 독출 동작 등을 수행할 수 있다. 이를 위하여, 비휘발성 메모리 장치(50)는 입출력 라인을 통해 메모리 컨트롤러(20)로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신하고, 메모리 컨트롤러(20)와 프로그램 동작 또는 독출 동작을 위한 데이터(DAT)를 송수신할 수 있다. 또한, 비휘발성 메모리 장치(50)는 제어 라인을 통해 메모리 컨트롤러(20)로부터 제어 신호(CTRL)를 수신하고, 전원 라인을 통해 메모리 컨트롤러(20)로부터 전원 전압(PWR)을 제공받을 수 있다.
메모리 컨트롤러(20)는 ECC 엔진(30) 및 리프로그램 컨트롤러(40)를 포함할 수 있다.
ECC 엔진(30)은 ECC 인코딩 및 ECC 디코딩을 수행할 수 있다. 데이터 기입 동작에서, ECC 엔진(30)은 기입하고자 하는 데이터(DAT)에 대한 ECC 인코딩을 수행하여 패리티 데이터를 생성하고, 데이터(DAT) 및 패리티 데이터를 비휘발성 메모리 장치(50)에 제공할 수 있다. 데이터(DAT) 및 패리티 데이터는 비휘발성 메모리 장치(50)에 포함되는 페이지에 저장될 수 있다. 데이터 독출 동작에서, ECC 엔진(30)은 독출된 데이터(DAT) 및 대응하는 패리티 데이터를 비휘발성 메모리 장치(50)로부터 수신하고, 데이터(DAT) 및 패리티 데이터를 기초로 ECC 디코딩을 수행하여 데이터(DAT)의 에러를 정정할 수 있다. 예를 들어, ECC 엔진(30)은 도 1의 단계 S200을 수행할 수 있다.
리프로그램 컨트롤러(40)는 비휘발성 메모리 장치(50)의 리프로그램 동작을 제어할 수 있다. 데이터 기입 동작에서, 리프로그램 컨트롤러(40)는 리프로그램 전압의 전압 레벨을 결정하는데 이용되는 파라미터(예를 들어, 프로그램 루프 완료 정보, 초기 문턱 전압 등)를 기록하도록 비휘발성 메모리 장치(50)를 제어할 수 있다. 데이터 독출 동작(예를 들어, 데이터 리커버리 독출 동작)에서, 리프로그램 컨트롤러(40)는 리프로그램 동작이 필요한지 판단하고, 리프로그램 동작이 필요한 것으로 판단된 경우에 특정 상태의 일부에 대응하는 대상 비트들을 선별하고 기록된 파라미터에 기초하여 리프로그램 전압의 전압 레벨을 결정하며, 리프로그램 동작을 수행하도록 비휘발성 메모리 장치(50)를 제어할 수 있다. 예를 들어, 리프로그램 컨트롤러(40)는 비휘발성 메모리 장치(50)가 도 1의 단계 S300을 수행하도록 제어하며, 리프로그램 제어 신호(RPCTRL)를 제공할 수 있다.
비휘발성 메모리 장치(50)는 본 발명의 실시예들에 따른 비휘발성 메모리 장치이며, 도 1의 단계 S100 및 S300을 수행할 수 있다.
도 4는 본 발명의 실시예들에 따른 메모리 시스템에 포함되는 메모리 컨트롤러의 일 예를 나타내는 블록도이다.
도 4를 참조하면, 메모리 컨트롤러(400)는 프로세서(410), 메모리(420), 리프로그램 컨트롤러(430), 호스트 인터페이스(440), ECC 엔진(450), 비휘발성 메모리 인터페이스(460) 및 AES(Advanced Encryption Standard) 엔진(470)을 포함할 수 있다.
프로세서(410)는 호스트 장치(미도시)로부터 호스트 인터페이스(440)를 통하여 수신된 커맨드에 응답하여 메모리 컨트롤러(400)의 동작을 제어할 수 있다. 예를 들어, 프로세서(410)는 메모리 시스템(예를 들어, 도 3의 10)의 동작을 제어하며, 메모리 시스템(10)을 구동하기 위한 펌웨어(Firmware)를 채용하여 각각의 구성들을 제어할 수 있다.
메모리(420)는 프로세서(410)에 의해 실행 및 처리되는 명령어 및 데이터를 저장할 수 있다. 예를 들어, 메모리(420)는 SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory) 등과 같은 휘발성 메모리로 구현될 수 있다.
리프로그램 컨트롤러(430)는 도 3의 리프로그램 컨트롤러(40)와 실질적으로 동일하며, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법을 구현하는데 이용될 수 있다. 실시예에 따라서, 리프로그램 컨트롤러(430)의 일부 또는 전부는 하드웨어의 형태로 구현될 수도 있고 소프트웨어(즉, 프로그램)의 형태로 구현될 수도 있다.
에러 정정을 위한 ECC 엔진(450)은 도 3의 ECC 엔진(30)과 실질적으로 동일하며, BCH(Bose-Chaudhuri-Hocquenghem) 코드, LDPC(Low Density Parity Check) 코드, 터보 코드(Turbo Code), 리드-솔로몬 코드(Reed-Solomon Code), 콘볼루션 코드(Convolution Code), RSC(Recursive Systematic Code), TCM(Trellis-Coded Modulation), BCM(Block Coded Modulation) 등의 부호화된 변조(Coded Modulation), 또는 다른 에러 정정 코드를 이용하여 ECC 인코딩 및 ECC 디코딩을 수행할 수 있다.
호스트 인터페이스(440)는 상기 호스트 장치와 메모리 시스템(10) 사이의 물리적 연결을 제공할 수 있다. 즉, 호스트 인터페이스(440)는 상기 호스트 장치의 버스 포맷(bus format)에 대응하여 메모리 시스템(10)과의 인터페이싱을 제공할 수 있다.
비휘발성 메모리 인터페이스(460)는 비휘발성 메모리 장치(예를 들어, 도 3의 50)와 데이터를 교환할 수 있다. 비휘발성 메모리 인터페이스(460)는 데이터를 비휘발성 메모리 장치(50)에 전송할 수 있고, 비휘발성 메모리 장치(50)로부터 독출된 데이터를 수신할 수 있다. 예를 들어, 비휘발성 메모리 인터페이스(460)는 토글(Toggle) 혹은 온파이(ONFI)와 같은 표준 규약을 준수하도록 구현될 수 있다.
AES 엔진(470)은 메모리 컨트롤러(400)로 입력되는 데이터에 대한 암호화(encryption) 동작과 복호화(decryption) 동작 중 적어도 하나를, 대칭 키 알고리즘(symmetric-key algorithm)을 이용하여 수행할 수 있다. 상세하게 도시하지는 않았으나, AES 엔진(470)은 암호화 모듈 및 복호화 모듈을 포함할 수 있다. 실시예에 따라서, 상기 암호화 모듈 및 상기 복호화 모듈은 서로 별개의 모듈로 구현될 수도 있고 하나의 모듈로 구현될 수도 있다.
도 5는 본 발명의 실시예들에 따른 메모리 시스템에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 5를 참조하면, 비휘발성 메모리 장치(500)는 메모리 셀 어레이(510), 어드레스 디코더(520), 페이지 버퍼 회로(530), 데이터 입출력 회로(540), 전압 생성기(550) 및 제어 회로(560)를 포함한다.
메모리 셀 어레이(510)는 복수의 스트링 선택 라인들(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인들(GSL)을 통해 어드레스 디코더(520)와 연결된다. 또한, 메모리 셀 어레이(510)는 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(530)와 연결된다. 메모리 셀 어레이(510)는 복수의 워드 라인들(WL) 및 복수의 비트 라인들(BL)에 연결되는 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(510)는 각각 메모리 셀들을 포함하는 복수의 메모리 블록들(BLK1, BLK2, ..., BLKz)로 구분될 수 있다. 또한, 메모리 블록들(BLK1~BLKz) 각각은 복수의 페이지들로 구분될 수 있다.
일 실시예에서, 도 6 및 7을 참조하여 후술하는 것처럼, 메모리 셀 어레이(510)는 기판 상에 삼차원 구조(또는 수직 구조)로 형성되는 삼차원(three dimensional) 메모리 셀 어레이일 수 있다. 이 경우, 메모리 셀 어레이(510)는 서로 적층되어 형성되는 복수의 메모리 셀들을 포함하는 셀 스트링들, 예를 들어 수직 메모리 낸드 스트링들을 포함할 수 있다.
제어 회로(560)는 메모리 컨트롤러(예를 들어, 도 3의 20)로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신하고, 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 비휘발성 메모리 장치(500)의 프로그램 루프, 소거 루프 및 독출 동작을 제어한다. 여기서 프로그램 루프는 프로그램 동작과 프로그램 검증 동작을 포함할 수 있다. 여기서 독출 동작은 노멀 독출 동작과 데이터 리커버리 독출 동작을 포함할 수 있다.
예를 들어, 제어 회로(560)는 커맨드(CMD)에 기초하여 전압 생성기(550)를 제어하기 위한 제어 신호들(CON) 및 페이지 버퍼 회로(530)를 제어하기 위한 제어 신호들(PBC)을 생성하고, 어드레스(ADDR)에 기초하여 로우 어드레스(R_ADDR) 및 컬럼 어드레스(C_ADDR)를 생성할 수 있다. 제어 회로(560)는 로우 어드레스(R_ADDR)를 어드레스 디코더(520)에 제공하고, 컬럼 어드레스(C_ADDR)를 데이터 입출력 회로(540)에 제공할 수 있다.
또한, 제어 회로(560)는 도 1을 참조하여 상술한 본 발명의 실시예들에 따른 리프로그램 방법을 수행하도록 어드레스 디코더(520), 페이지 버퍼 회로(530), 데이터 입출력 회로(540) 및 전압 생성기(550)를 제어할 수 있다. 예를 들어, 데이터 리커버리 독출 동작의 결과 리프로그램 동작이 필요한 것으로 판단된 경우에, 제어 회로(560)는 리프로그램 제어 신호(RPCTRL)를 기초로 프로그램 루프 완료 정보, 문턱 전압의 이동량 등에 의해 결정된 전압 레벨을 갖는 리프로그램 전압(VRPGM)을 이용하여, 특정 상태의 일부에 대응하는 대상 비트들에 대해서만 리프로그램 동작을 수행할 수 있다.
어드레스 디코더(520)는 복수의 스트링 선택 라인들(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인들(GSL)을 통해 메모리 셀 어레이(510)와 연결된다. 예를 들어, 소거/프로그램/독출 동작 시에, 어드레스 디코더(520)는 로우 어드레스(R_ADDR)에 응답하여, 복수의 워드 라인들(WL) 중 적어도 하나, 복수의 스트링 선택 라인들(SSL) 중 적어도 하나 및 복수의 접지 선택 라인들(GSL) 중 적어도 하나를 선택 워드 라인, 선택 스트링 선택 라인 및 선택 접지 선택 라인으로 각각 결정할 수 있다.
전압 생성기(550)는 전원 전압(PWR) 및 제어 신호들(CON)에 기초하여 비휘발성 메모리 장치(500)의 동작에 필요한 전압들(VS)을 생성할 수 있다. 전압들(VS)은 어드레스 디코더(520)를 통해 복수의 스트링 선택 라인들(SSL), 복수의 워드 라인들(WL) 및 복수의 접지 선택 라인들(GSL)에 인가될 수 있다. 예를 들어, 전압들(VS)은 프로그램 루프에 필요한 프로그램 전압(VPGM) 및 프로그램 검증 전압(VPV), 리프로그램 동작에 필요한 리프로그램 전압(VRPGM) 등을 포함할 수 있다. 또한, 전압 생성기(550)는 전원 전압(PWR) 및 제어 신호들(CON)에 기초하여 소거 동작에 필요한 소거 전압(VERS)을 생성할 수 있다.
예를 들어, 프로그램 동작 시에, 전압 생성기(550)는 어드레스 디코더(520)를 통해 상기 선택 워드 라인에 프로그램 전압(VPGM)을 인가하고, 상기 비선택 워드 라인들에는 프로그램 금지 전압을 인가할 수 있다. 프로그램 검증 동작 시에, 전압 생성기(550)는 어드레스 디코더(520)를 통해 상기 선택 워드 라인에 프로그램 검증 전압(VPV)을 인가하고, 상기 비선택 워드 라인들에는 검증 패스 전압을 인가할 수 있다. 예를 들어, 리프로그램 동작 시에, 전압 생성기(550)는 어드레스 디코더(520)를 통해 상기 선택 워드 라인에 리프로그램 전압(VRPGM)을 인가할 수 있다.
또한, 데이터 리커버리 독출 동작 시에, 전압 생성기(550)는 어드레스 디코더(520)를 통해 상기 선택 워드 라인에 인접한 워드 라인에 독출 전압을 인가하고, 상기 선택 워드 라인에는 리커버리 독출 전압을 인가할 수 있다.
페이지 버퍼 회로(530)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(510)와 연결될 수 있다. 페이지 버퍼 회로(530)는 복수의 페이지 버퍼들을 포함할 수 있다. 페이지 버퍼 회로(530)는 메모리 셀 어레이(510)에 프로그램 될 기입 데이터(DAT)를 저장하거나 혹은 메모리 셀 어레이(510)로부터 감지된 독출 데이터(DAT)를 저장할 수 있다. 즉, 페이지 버퍼 회로(530)는 비휘발성 메모리 장치(500)의 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작할 수 있다.
데이터 입출력 회로(540)는 데이터 라인들(DL)을 통해 페이지 버퍼 회로(530)와 연결될 수 있다. 데이터 입출력 회로(540)는 컬럼 어드레스(C_ADDR)에 응답하여, 기입 데이터(DAT)를 페이지 버퍼 회로(530)를 거쳐서 메모리 셀 어레이(510)에 제공하거나 혹은 메모리 셀 어레이(510)로부터 페이지 버퍼 회로(530)를 거쳐서 출력되는 독출 데이터(DAT)를 외부(예를 들어, 도 3의 메모리 컨트롤러(20))에 제공할 수 있다.
도 6은 도 5의 비휘발성 메모리 장치의 메모리 셀 어레이에 포함되는 메모리 블록의 일 예를 나타내는 사시도이다.
도 6을 참조하면, 메모리 블록(BLKi)은 3차원 구조 또는 수직 구조로 형성되는 낸드 스트링들을 포함한다. 메모리 블록(BLKi)은 복수의 방향들(D1, D2, D3)을 따라 신장된 구조물들을 포함한다.
메모리 블록(BLKi)을 형성하기 위해서는, 우선 기판(111)이 제공된다. 예를 들어, 기판(111)은 붕소(B, boron)와 같은 5족 원소가 주입되어 형성된 P-웰로 형성될 수 있다. 또는, 기판(111)은 N-웰 내에 제공되는 포켓 P-웰로 형성될 수 있다. 이하에서, 기판(111)은 P-웰인 것으로 가정한다. 그러나 기판(111)은 P-웰에만 한정되지 않는다.
기판(111) 상에, 제2 방향(D2)을 따라 복수의 도핑 영역들(311, 312, 313, 314)이 형성된다. 예를 들어, 복수의 도핑 영역들(311~314)은 기판(111)과 상이한 N-타입의 도전체로 형성될 수 있다. 이하에서, 복수의 도핑 영역들(311~314)은 N-타입을 갖는 것으로 가정한다. 그러나 복수의 도핑 영역들(311~314)은 N-타입을 갖는 것으로만 한정되지 않는다.
도핑 영역들(311, 312) 사이의 기판(111) 상에, 제1 방향(D1)을 따라 신장되는 복수의 절연 물질들(112)이 제3 방향(D3)을 따라 순차적으로 제공된다. 예를 들어, 복수의 절연 물질들(112)은 제3 방향(D3)을 따라 특정 거리만큼 이격되어 형성될 수 있다. 예를 들어, 복수의 절연 물질들(112)은 실리콘 산화물(silicon oxide)과 같은 절연 물질을 포함할 수 있다.
도핑 영역들(311, 312) 사이의 기판(111) 상에, 제1 방향(D1)을 따라 순차적으로 배치되며 제3 방향(D3)을 따라 복수의 절연 물질들(112)을 관통하는 복수의 필라들(113)이 형성된다. 예를 들어, 복수의 필라들(113)은 복수의 절연 물질들(112)을 관통하여 기판(111)과 연결될 수 있다. 또한, 복수의 필라들(113)은 도핑 영역들(312, 313) 사이의 기판 상에, 및 도핑 영역들(313, 314) 사이의 기판 상에도 형성된다.
일 실시예에서, 각 필라(113)는 복수의 물질들로 구성될 수 있다. 예를 들어, 각 필라(113)의 표면층(114)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 낸드 스트링의 채널이 형성되는 영역으로 기능할 수 있다. 예를 들어, 각 필라(113)의 표면층(114)은 기판(111)과 동일한 타입을 갖는 실리콘 물질을 포함할 수 있다. 이하에서, 각 필라(113)의 표면층(114)은 P-타입 실리콘을 포함하는 것으로 가정한다. 그러나 각 필라(113)의 표면층(114)은 P-타입 실리콘을 포함하는 것으로 한정되지 않는다.
각 필라(113)의 내부층(115)은 절연 물질로 구성된다. 예를 들어, 각 필라(113)의 내부층(115)은 실리콘 산화물(silicon oxide)과 같은 절연 물질을 포함할 수 있다. 예를 들어, 각 필라(113)의 내부층(115)은 에어 갭(air gap)을 포함할 수 있다.
도핑 영역들(311, 312) 사이의 영역에서, 복수의 절연 물질들(112), 복수의 필라들(113), 그리고 기판(111)의 노출된 표면을 따라 절연막(116)이 제공된다. 예를 들어, 제3 방향(D3)을 따라 제공되는 마지막 절연 물질(112)의 제3 방향(D3) 쪽의 노출면에 제공되는 절연막(116)은 제거될 수 있다.
도핑 영역들(311, 312) 사이의 영역에서, 절연막(116)의 노출된 표면상에 복수의 제1 도전 물질들(211, 221, 231, 241, 251, 261, 271, 281, 291)이 제공된다. 예를 들어, 기판(111)에 인접한 절연 물질(112) 및 기판(111) 사이에 제1 방향(D1)을 따라 신장되는 제1 도전 물질(211)이 제공될 수 있다. 구체적으로, 기판(111)에 인접한 절연 물질(112)의 하부면의 절연막(116) 및 기판(111) 사이에, 제1 방향(D1)으로 신장되는 제1 도전 물질(211)이 제공될 수 있다.
절연 물질들(112) 중 특정 절연 물질 상부면의 절연막(116) 및 특정 절연 물질 상부에 배치된 절연 물질의 하부면의 절연막(116) 사이에, 제1 방향(D1)을 따라 신장되는 제1 도전 물질이 제공된다. 예를 들어, 절연 물질들(112) 사이에, 제1 방향(D1)으로 신장되는 제1 도전 물질들(221~281)이 제공될 수 있다. 예를 들어, 제1 도전 물질들(211~291)은 금속 물질일 수 있다. 예를 들어, 제1 도전 물질들(211~291)은 폴리 실리콘 등과 같은 도전 물질들일 수 있다.
도핑 영역들(312, 313) 사이의 영역에서, 그리고 도핑 영역들(313, 314) 사이의 영역에서, 도핑 영역들(311, 312) 사이의 영역 상의 구조물과 동일한 구조물이 제공될 수 있다.
복수의 필라들(113) 상에 복수의 드레인들(320)이 각각 제공된다. 드레인들(320) 상에, 제2 방향(D2)으로 신장된 복수의 제2 도전 물질들(331, 332, 333)이 제공된다. 제2 도전 물질들(331~333)은 제1 방향(D1)을 따라 순차적으로 배치된다. 제2 도전 물질들(331~333) 각각은 대응하는 영역의 드레인(320)과 연결된다. 예를 들어, 드레인들(320) 및 제2 방향(D2)으로 신장된 제2 도전 물질들(331~333)은 각각 콘택 플러그들(contact plug)을 통해 연결될 수 있다. 예를 들어, 제2 도전 물질들(331~333)은 금속 물질들일 수 있다. 예를 들어, 제2 도전 물질들(331~333)은 폴리 실리콘 등과 같은 도전 물질들일 수 있다.
도 6의 예에서, 제1 도전 물질들(211~291)은 워드 라인들(WL), 스트링 선택 라인들(SSL) 및 접지 선택 라인들(GSL)을 형성할 수 있다. 제2 도전 물질들(331~333)은 비트 라인들(BL)을 형성할 수 있다.
도 7은 도 6을 참조하여 설명된 메모리 블록의 등가 회로를 나타내는 회로도이다.
도 7에 도시된 메모리 블록(BLKi)은 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKi)에 포함되는 복수의 메모리 낸드 스트링들은 상기 기판과 수직한 방향으로 형성될 수 있다.
도 7을 참조하면, 메모리 블록(BLKi)은 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 메모리 낸드 스트링들(NS11, NS12, NS13, NS21, NS22, NS23, NS31, NS32, NS33)을 포함할 수 있다. 복수의 메모리 낸드 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, MC3, MC4, MC5, MC6, MC7, MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 비트 라인들(BL1~BL3)은 도 6의 제2 도전 물질들(331~333)에 대응할 수 있고, 도 6의 도핑 영역들(311~314)이 서로 연결되어 공통 소스 라인(CSL)을 형성할 수 있다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1~MC8)은 각각 상응하는 워드 라인(WL1, WL2, WL3, WL4, WL5, WL6, WL7, WL8)에 연결될 수 있다. 접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다.
하나의 비트 라인에 공통으로 연결된 셀 스트링들은 하나의 열을 형성하고, 하나의 스트링 선택 라인에 연결되는 셀 스트링들은 하나의 행을 형성한다. 예를 들어, 제1 비트 라인(BL1)에 연결된 셀 스트링들(NS11, NS21, NS31)은 제1 열을 형성하고, 제1 스트링 선택 라인(SSL1)에 연결된 셀 스트링들(NS11, NS12, NS13)은 제1 행을 형성할 수 있다.
수직형(또는 3차원) 메모리 셀 어레이에 대한 자세한 설명은 본 명세서에 참고 문헌으로 결합된 미국 등록 번호 7,679,133; 8,553,466; 8,654,587; 8,559,235 및 미국 공개 번호 2011/0233648에 기술되어 있다.
도 8a는 도 6 및 7의 메모리 블록이 형성되는 셀 영역의 일 예를 나타내는 평면도이다.
도 8a를 참조하면, 셀 영역(CR)은 복수의 채널 홀들(CH)을 포함한다.
채널 홀의 크기, 예를 들어 채널 홀의 직경(diameter)은 셀 영역(CR) 내의 위치에 따라 다를 수 있다. 구체적으로, 제1 및 제2 에지들(EDG1, EDG2)에 인접한 채널 홀들(CHa)의 경우 주변 밀도가 낮으므로, 공정 상의 이유로 다른 채널 홀들(CHb)과 직경이 다를 수 있다. 셀 영역(CR)의 중심 영역에 위치한 채널 홀들(CHb)의 직경은, 제1 및 제2 에지들(EDG1, EDG2)에 인접한 채널 홀들(CHa)의 직경보다 클 수 있다. 메모리 블록(BLKa)은 제2 에지(EDG2)에 인접하고, 제2 에지(EDG2)로부터 제1 거리(d1)만큼 이격될 수 있다. 메모리 블록(BLKb)은 제1 및 제2 에지들(EDG1, EDG2)에 인접하지 않고, 셀 영역(CR)의 중심에 위치하며, 제2 에지(EDG2)로부터 제2 거리(d2)만큼 이격될 수 있다. 메모리 블록(BLKa)에 포함된 제1 채널 홀(CHa)의 제1 직경은, 메모리 블록(BLKb)에 포함된 제2 채널 홀(CHb)의 제2 직경보다 작을 수 있다.
도 8b는 도 8a의 셀 영역에 형성되는 채널 홀의 일 예를 나타내는 단면도이다.
도 8b를 참조하면, 채널 홀(CHc)에는 표면층(114) 및 내부층(115)를 포함하는 필라가 형성될 수 있다. 예를 들어, 채널 홀(CHc)은 상부에서부터 뚫리기 시작하여 하부까지 뚫릴 수 있고, 채널 홀(CHc)이 형성되기 시작하는 위치(즉, 상부)의 직경(Dc)은 채널 홀(CH)의 형성이 끝나는 위치(즉, 하부)의 직경(Dd)보다 클 수 있다. 예를 들어, 채널 홀(CHc)은 하나의 메모리 블록에 포함될 수 있다.
상술한 것처럼, 채널 홀은 셀 영역(CR) 내에서의 위치에 따라 직경이 달라질 수 있고, 또한 하나의 채널 홀 내에서도 제3 방향(D3)에 따라 직경이 달라질 수 있다. 이러한 채널 홀의 직경(또는 크기)의 차이로 인해, 메모리 셀들 및 페이지들의 특성(또는 신뢰성)(예를 들어, 리텐션 특성)의 차이가 발생할 수 있다. 예를 들어, 채널 홀의 직경이 클수록 신뢰성 열화량이 적거나 신뢰성 열화에 강건하고, 채널 홀의 직경이 작을수록 신뢰성 열화량이 많거나 신뢰성 열화에 취약할 수 있다.
도 9, 10a, 10b 및 10c는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 저장되는 데이터의 문턱 전압 산포를 설명하기 위한 도면들이다.
도 9를 참조하면, 복수의 페이지들에 프로그램된 복수의 페이지 데이터들 중 적어도 하나의 문턱 전압 산포를 예시하고 있다.
도 9에 도시된 것처럼, 상기 문턱 전압 산포는 복수의 상태들(E, P1, P2, ..., P(N-3), P(N-2), P(N-1))(N은 자연수)을 포함할 수 있다. 예를 들어, 상태(E)는 소거 상태를 나타내고, 상태들(P1~P(N-1))은 복수의 프로그램 상태들을 나타낼 수 있다.
일 실시예에서, 각 페이지에 포함되고 각 페이지 데이터를 저장하는 복수의 메모리 셀들은 각각 복수의 데이터 비트들을 저장하는 멀티 레벨 메모리 셀(Multi Level memory Cell; MLC)들일 수 있다. 본 명세서에서, 멀티 레벨 메모리 셀은 2개의 데이터 비트들을 저장하는 메모리 셀 뿐만 아니라, 3개의 데이터 비트들을 저장하는 메모리 셀(즉, Triple Level memory Cell; TLC), 4개의 데이터 비트들을 저장하는 메모리 셀(즉, Quad Level memory Cell; QLC) 등을 모두 포함하는 용어로 사용될 수 있다. 예를 들어, TCL의 경우에 N=8이고 QLC의 경우에 N=16이며, 다만 본 발명은 이에 한정되지 않을 수 있다. 멀티 레벨 메모리 셀의 경우에 기입 모드에서의 프로그램 방식은 쉐도우 프로그램 방식, 리프로그램 방식 또는 온칩 버퍼드 프로그램 방식과 같은 다양한 프로그램 방식이 적용될 수 있다.
일 실시예에서, 복수의 상태들(E, P1~P(N-1))을 판별하는데 복수의 문턱 전압들(VTH1, VTH2, ..., VTH(N-2), VTH(N-1))이 이용될 수 있다. 예를 들어, 문턱 전압(VTH1)을 이용하여 소거 상태(E)인지 또는 프로그램 상태(P1)인지 판별하고, 문턱 전압(VTH2)을 이용하여 프로그램 상태(P1)인지 또는 프로그램 상태(P2)인지 판별할 수 있다.
도 10a, 10b 및 10c를 참조하면, 문턱 전압 산포의 열화 및 리프로그램 동작에 의해 문턱 전압 산포의 열화가 보상되는 것(즉, 신뢰성이 회복되는 것)을 예시하고 있다. 도시의 편의상, 도 9의 복수의 상태들(E, P1~P(N-1)) 중 인접한 2개의 상태들만을 도시하였다.
도 10a는 데이터가 프로그램된 직후의 문턱 전압 산포, 즉 초기 문턱 전압 산포를 나타낸다. 상기 초기 문턱 전압 산포는 프로그램 상태들(P(X-1), PX)(X는 자연수)을 포함하며, 문턱 전압(VTHX)을 이용하여 프로그램 상태(P(X-1))인지 또는 프로그램 상태(PX)인지 판별할 수 있다.
도 10b는 시간의 지남에 따라 도 10a의 상기 초기 문턱 전압 산포가 열화되는 것을 나타낸다. 도 10a의 프로그램 상태들(P(X-1), PX)이 도 10b의 프로그램 상태들(P(X-1)', PX')로 변화하여, 이에 따라 문턱 전압(VTHX) 또한 문턱 전압(VTHX')으로 변화할 수 있다.
일반적으로 NAND 플래시 메모리는 플로팅 게이트(floating gate) 또는 CTF(charge trap flash)에 전하를 채워 메모리 셀의 문턱 전압을 바꾸는 방식으로 데이터를 저장한다. 그러나 채워 넣은 전하는 시간이 지날수록 빠져나가고(즉, charge loss), 이에 따라 문턱 전압이 이동하게 되며, 문턱 전압이 이동하면 해당 메모리 셀은 독출 동작에서 에러를 발생시킬 수 있다.
구체적으로, 프로그램 상태들을 구성하는 메모리 셀들의 산포는 시간이 지남에 따라 전하가 빠져나가면서 문턱 전압이 낮아지는 방향으로 이동할 수 있다. 이 때, 특정 프로그램 상태(예를 들어, PX')에 포함되고 문턱 전압이 가장 낮은 영역에 있는 메모리 셀들은 인접한 하위 프로그램 상태(예를 들어, P(X-1)')의 산포와 겹쳐지면서 '1'과 '0'이 반대로 독출되는 에러를 발생시킬 수 있다. 다시 말하면, 리텐션 특성에 의한 에러 비트들은 대부분 산포 tail 부분에서의 전하 손실에 의해 발생할 수 있다.
도 10c는 도 10b와 같이 열화된 문턱 전압 산포에 대해 본 발명의 실시예들에 따른 리프로그램 동작을 수행하여 문턱 전압 산포의 열화를 보상하는 것을 나타낸다. 빗금 친 영역은 도 10b의 프로그램 상태(PX')에 대응하는 메모리 셀들 중에서 ECC 디코딩을 통한 에러 보정 전후에 값이 바뀐 메모리 셀들의 문턱 전압 분포(즉, 에러 비트 영역(EB))를 나타낸다.
에러 비트 영역(EB)에 대응하는 메모리 셀들만을 리프로그램하여 도 10b의 프로그램 상태(PX')를 도 10c의 프로그램 상태(PX")로 보상하는 경우에(즉, 도 10c의 점선 부분을 실선 부분으로 보상하는 경우에), 에러 비트 영역(EB)에 대응하는 메모리 셀들의 문턱 전압이 증가하여 에러가 감소할 수 있다. 또한, 에러 비트 영역(EB)에 대응하는 메모리 셀들만을 선택적으로 리프로그램하기 때문에, 프로그램 상태(PX")의 최대 문턱 전압이 증가하는 부작용을 방지할 수 있다.
프로그램 상태(PX')에서, 에러 비트 영역(EB)의 오버 프로그램(over program)과 나머지 영역에 대한 디스터브(disturb)를 최소화하기 위해서는 상대적으로 낮은 전압 레벨을 가지는 리프로그램 전압이 사용되어야 한다. 하지만 리프로그램 전압의 전압 레벨이 너무 낮으면 에러 비트 영역(EB)의 문턱 전압 상승이 미미하여 에러 감소 효과가 줄어들 것이다. 따라서, 상술한 두 가지 특성의 균형을 이루기 위해 리프로그램 전압의 적절한 또는 최적의 전압 레벨을 계산할 수 있어야 한다.
일 실시예에서, 리프로그램 동작에 의해 보상되는 프로그램 상태(PX, PX', PX")는 복수의 상태들(도 9의 E, P1~P(N-1)) 중 최상위 상태(P(N-1))일 수 있다(즉, X=N-1). 예를 들어, TCL의 경우에 P7 상태이고 QLC의 경우에 P15 상태일 수 있다. 프로그램 상태(PX)가 프로그램 상태(PX')로 변화하는 문턱 전압 산포의 열화는, 문턱 전압이 높을수록 심할 수 있으며, 따라서 최상위 상태(P(N-1))에 대한 리프로그램 동작을 수행하여 문턱 전압 산포의 열화를 보상할 수 있다. 다만 본 발명은 이에 한정되지 않으며, 최상위 상태(P(N-1))가 아닌 다른 상태에 대해 리프로그램 동작이 수행될 수도 있고 복수의 상태들(E, P1~P(N-1)) 중 2개 이상의 상태들에 대해 리프로그램 동작이 수행될 수도 있다.
도 11a, 11b, 11c 및 11d는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에서 수행되는 프로그램 동작 및 리프로그램 동작을 설명하기 위한 도면들이다.
도 11a를 참조하면, 증가형 스텝 펄스 프로그램(Incremental Step Pulse Program; ISPP) 방식에 기초하여 프로그램 동작이 수행될 수 있다.
구체적으로, 복수의 프로그램 루프들(PLOOP1, PLOOP2, PLOOP3, ..., PLOOPK)(K는 자연수)이 순차적으로 수행되며, 각 프로그램 루프마다 프로그램 전압(VPGM)을 이용한 프로그램 동작들(PO1, PO2, PO3, ..., POK) 중 하나 및 프로그램 검증 전압(VPV)을 이용한 프로그램 검증 동작들(PV1, PV2, PV3, ..., PVK) 중 하나가 순차적으로 수행될 수 있다. 특정 프로그램 루프(예를 들어, PLOOP3)에서 프로그램 동작 및 프로그램 검증 동작이 성공적으로 완료되면, 이후의 프로그램 루프들(예를 들어, PLOOPK)은 수행되지 않고 프로세스가 종료될 수 있다.
일 실시예에서, 현재 프로그램 루프의 프로그램 전압(VPGM)의 전압 레벨은 이전 프로그램 루프의 프로그램 전압(VPGM)의 전압 레벨보다 증가하며, 프로그램 검증 전압(VPV)은 일정한 전압 레벨(VPVL)을 유지할 수 있다. 예를 들어, 프로그램 전압(VPGM)은 제1 프로그램 루프(PLOOP1)에서 초기 전압 레벨(VPLI)을 가지고, 제2 프로그램 루프(PLOOP2)에서 초기 전압 레벨(VPLI)보다 스텝 레벨(ΔVP)만큼 증가된 전압 레벨을 가지고, 제3 프로그램 루프(PLOOP3)에서 제2 프로그램 루프(PLOOP2)의 전압 레벨보다 스텝 레벨(ΔVP)만큼 증가된 전압 레벨을 가지며, 마지막 제K 프로그램 루프(PLOOPK)에서 최종 전압 레벨(VPLF)을 가질 수 있다.
도 11a에서는 프로그램 루프가 반복됨에 따라 프로그램 전압(VPGM)의 전압 레벨만이 증가하는 것으로 도시하였으나, 본 발명은 이에 한정되지 않으며, 프로그램 검증 전압(VPV)의 전압 레벨이 함께 증가할 수도 있다. 또한, 도 11a에서는 프로그램 루프가 반복됨에 따라 프로그램 전압(VPGM)의 전압 레벨이 일정한 스텝 레벨(ΔVP)만큼 증가하는 것으로 도시하였으나, 본 발명은 이에 한정되지 않으며, 프로그램 전압(VPGM)의 전압 레벨의 변화량은 매 프로그램 루프마다 달라질 수도 있다.
도 11b를 참조하면, 싱글 펄스 프로그램(Single Pulse Program) 또는 원샷(one-shot) 프로그램 방식에 기초하여 리프로그램 동작이 수행될 수 있다. 구체적으로, 전압 레벨(VRPL)을 가지는 리프로그램 전압(VRPGM)을 이용하여 1회의 리프로그램 동작이 수행될 수 있다. 이 때, 적절한 리프로그램 동작을 수행하기 위한 최적의 전압 레벨은 메모리 셀의 위치나 현재 수명 등과 같은 다양한 요인에 따라 달라지며, 상기와 같은 다양한 요인을 고려하여 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)을 결정할 필요가 있다.
일 실시예에서, 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)은 데이터가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 프로그램 루프 완료 정보에 기초하여 결정될 수 있다. 다시 말하면, 해당 시점에 가장 적절한 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)은 해당 원본 데이터의 저장 시에 프로그램 루프의 반복 횟수로부터 계산될 수 있다. 도 11a를 참조하여 상술한 것처럼, ISPP 방식에 기초하여 프로그램 동작이 수행되는 경우에, 프로그램 전압(VPGM)의 전압 레벨을 증가시키면서 프로그램 루프가 반복되며, 각 상태가 원하는 문턱 전압까지 프로그램 되었을 경우 해당 상태의 프로그램 루프 완료 정보는 해당 상태를 구성하는 메모리 셀들이 해당 문턱 전압에 다다르기 위한 프로그램 전압에 대응할 수 있다. 그러므로 프로그램 루프 완료 정보를 기록하여 두면, 이후에 프로그램 루프 완료 정보에 기초하여 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)을 계산할 수 있다.
예를 들어, 데이터가 프로그램되는 동안에 수행된 프로그램 루프의 횟수가 증가할수록, 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)은 높아지도록 결정될 수 있다. 도 11a를 참조하여 상술한 것처럼, 프로그램 루프가 반복됨에 따라 프로그램 전압(VPGM)의 전압 레벨이 증가하며, 이에 따라 최적의 리프로그램 동작을 위한 리프로그램 전압(VRPGM)의 전압 레벨(VRPL) 또한 증가할 수 있다.
예를 들어, 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)은 데이터에 대한 프로그램 동작이 완료되는 시점에서의 프로그램 전압(VPGM)의 전압 레벨(VPLE)(즉, 루프 완료 전압 레벨)보다 낮아지도록 결정될 수 있다. 예를 들어, 도 11a에서 프로그램 루프가 3회 수행되고 성공적으로 완료되는 경우에, VPLE=VPLI+2*ΔVP이며, 이에 따라 VRPL<VPLE=VPLI+2*ΔVP일 수 있다.
다른 실시예에서, 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)은 상기 문턱 전압 산포의 변화에 의한 문턱 전압의 이동량에 기초하여 결정될 수 있다. 다시 말하면, 해당 시점에 가장 적절한 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)은 문턱 전압의 변화량을 추적하여(tracking), 즉 해당 원본 데이터의 저장 시의 초기 문턱 전압 및 현재 문턱 전압으로부터 계산될 수 있다. 예를 들어, 도 10a 및 10b를 참조하여 상술한 것처럼, 상기 초기 문턱 전압 산포에서의 문턱 전압(VTHX)과 상기 열화된 문턱 전압 산포에서의 문턱 전압(VTHX')의 차이를 상기 문턱 전압의 이동량으로 계산하고, 상기 문턱 전압의 이동량이 기준 값보다 많은 경우에 상기 문턱 전압의 이동량에 기초하여 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)을 결정할 수 있다.
예를 들어, 상기 문턱 전압의 이동량이 증가할수록, 리프로그램 전압(VRPGM)의 전압 레벨(VRPL)은 높아지도록 결정될 수 있다.
도 11c를 참조하면, 멀티플 펄스 프로그램(Multiple Pulse Program) 방식에 기초하여 리프로그램 동작이 수행될 수 있다. 구체적으로, 전압 레벨(VRPL)을 가지는 리프로그램 전압(VRPGM)을 이용하여 복수 회의 리프로그램 동작이 수행될 수 있다. 복수 개의 펄스들이 인가되는 것을 제외하면, 도 11c의 실시예는 도 11b의 실시예와 실질적으로 동일하며, 중복되는 설명은 생략하도록 한다. 도시하지는 않았으나, 실시예에 따라서 복수 개의 펄스들의 전압 레벨이 서로 다를 수도 있다.
도 11d를 참조하면, 도 11a를 참조하여 상술한 것과 유사하게 복수의 리프로그램 루프들(RPLOOP1, RPLOOP2, ..., RPLOOPk)(k는 자연수)이 순차적으로 수행될 수 있다. 각 리프로그램 루프마다 리프로그램 전압(VRPGM)을 이용한 리프로그램 동작들(RPO1, RPO2, ..., RPOk) 중 하나 및 프로그램 검증 전압(VPV)을 이용한 리프로그램 검증 동작들(RPV1, RPV2, ..., RPVk) 중 하나가 순차적으로 수행될 수 있다. 예를 들어, 리프로그램 루프가 반복됨에 따라 리프로그램 전압(VRPGM)의 전압 레벨이 스텝 레벨(ΔVRP)만큼 증가될 수 있다. 도 11d의 리프로그램 루프들은 도 11a의 프로그램 루프와 동일하고, 도 11d의 리프로그램 전압(VRPGM)은 도 11b의 리프로그램 전압(VRPGM) 유사하며, 중복되는 설명은 생략하도록 한다.
도 12, 13 및 14는 본 발명의 실시예들에 따른 비휘발성 메모리 장치에 포함되는 페이지의 구성을 설명하기 위한 도면들이다.
도 12를 참조하면, 각 페이지는 데이터 영역(610) 및 스페어 영역(620)을 포함할 수 있다. 예를 들어, 모든 페이지들은 동일한 크기의 데이터 영역(610) 및 동일한 크기의 패리티 영역(620)을 포함할 수 있다.
데이터 영역(610)은 페이지 데이터가 저장되는 영역이고, 이 때 상기 페이지 데이터는 사용자 데이터와 같은 실제 데이터일 수 있다. 스페어 영역(620)은 상기 페이지 데이터에 대한 패리티 데이터가 저장되고, 본 발명의 실시예들에 따른 프로그램 루프 완료 정보가 저장되며, 패리티 영역으로 지칭될 수도 있다. 예를 들어, 상기 패리티 데이터는 상기 페이지 데이터에 대한 ECC 인코딩을 수행하여 획득될 수 있다. 예를 들어, 상기 프로그램 루프 완료 정보는 상기 페이지 데이터에 대한 프로그램이 완료된 이후에 획득될 수 있다. 예를 들어, 메모리 컨트롤러(20)에 포함되는 ECC 엔진(30) 및 리프로그램 컨트롤러(40)가 각각 상기 패리티 데이터 및 상기 프로그램 루프 완료 정보를 생성할 수 있다.
도 13을 참조하면, 페이지들(P_(M-1), P_M, P_(M+1))(M은 자연수)에 저장되는 페이지 데이터들(DAT_(M-1), DAT_M, DAT_(M+1)), 패리티 데이터들(PRT_(M-1), PRT_M, PRT_(M+1)) 및 프로그램 루프 완료 정보들(LE_(M-2), LE_(M-1), LE_M)을 예시하고 있다.
페이지들(P_(M-1), P_M, P_(M+1))은 순차적으로 프로그램될 수 있다. 예를 들어, 페이지(P_(M-1))가 프로그램되고, 이후에 페이지(P_M)가 프로그램되며, 이후에 페이지(P_(M+1))가 프로그램될 수 있다.
일 실시예에서, 현재 프로그램되는 현재 페이지에 저장되는 프로그램 루프 완료 정보는 이전에 프로그램된 이전 페이지가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 이전 프로그램 루프 완료 정보일 수 있다. 또한, 상기 현재 페이지가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 현재 프로그램 루프 완료 정보는 다음에 프로그램되는 다음 페이지에 저장될 수 있다.
예를 들어, 페이지(P_(M-1))를 프로그램하는 경우에, 페이지 데이터(DAT_(M-1))가 페이지(P_(M-1))의 데이터 영역(610)에 저장되고, 페이지 데이터(DAT_(M-1))에 대응하는 패리티 데이터(PRT_(M-1)) 및 프로그램 루프 완료 정보(LE_(M-2))가 페이지(P_(M-1))의 스페어 영역(620)에 저장될 수 있다. 이 때, 페이지(P_(M-1))를 프로그램하는 시점에서는 페이지(P_(M-1))가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 미리 알 수 없으며, 따라서 이전에 프로그램된 페이지(즉, 미도시된 P_(M-2))가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 프로그램 루프 완료 정보(LE_(M-2))가 페이지(P_(M-1))의 스페어 영역(620)에 저장될 수 있다. 페이지(P_(M-1))가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 프로그램 루프 완료 정보(LE_(M-1))는 페이지(P_(M-1))에 대한 프로그램이 완료된 이후에 확인할 수 있다.
이후에 페이지(P_M)를 프로그램하는 경우에, 페이지 데이터(DAT_M)가 페이지(P_M)의 데이터 영역(610)에 저장되고, 페이지 데이터(DAT_M)에 대응하는 패리티 데이터(PRT_M) 및 페이지(P_(M-1))가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 프로그램 루프 완료 정보(LE_(M-1))가 페이지(P_M)의 스페어 영역(620)에 저장될 수 있다. 페이지(P_M)가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 프로그램 루프 완료 정보(LE_M)는 페이지(P_M)에 대한 프로그램이 완료된 이후에 확인할 수 있다.
이와 유사하게, 이후에 페이지(P_(M+1))를 프로그램하는 경우에, 페이지 데이터(DAT_(M+1))가 페이지(P_(M+1))의 데이터 영역(610)에 저장되고, 페이지 데이터(DAT_(M+1))에 대응하는 패리티 데이터(PRT_(M+1)) 및 페이지(P_M)가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 프로그램 루프 완료 정보(LE_M)가 페이지(P_(M+1))의 스페어 영역(620)에 저장될 수 있다.
일 실시예에서, 프로그램 루프 완료 정보들(LE_(M-2), LE_(M-1), LE_M)에 대응하는 숫자들의 일부만이 스페어 영역(620)에 저장될 수 있다. 일반적으로 프로그램 루프의 수행 횟수는 특정 숫자 범위 내에 포함될 것으로 예상되며, 따라서 프로그램 루프 완료 정보에 대응하는 숫자의 일부 비트를 생략하고 나머지 비트만을 저장하는 방식이 이용될 수 있다. 예를 들어, 프로그램 루프의 수행 횟수가 8회, 9회, 10회 또는 11회 정도일 것으로 예상되는 경우에, 10진법으로 '8', '9', '10' 및 '11'은 2진법으로 변환하면 '1000', '1001', '1010' 및 '1011'이 되며, 따라서 상위 2비트인 '10'을 삭제하고 '00', '01', '10' 및 '11'만을 스페어 영역(620)에 저장할 수 있다. 이 경우, 스페어 영역(620)에 저장된 프로그램 루프 완료 정보가 '01'이면 프로그램 루프의 수행 횟수가 9회인 것으로 판단할 수 있다.
일 실시예에서, 복수의 프로그램 상태들(도 9의 P1~P(N-1)) 각각에 대해서 도 11a를 참조하여 상술한 ISPP 방식이 수행되며, 프로그램 상태들(P1~P(N-1)) 중 리프로그램 동작이 수행되는 특정 상태(예를 들어, 최상위 상태(P(N-1)))에 대한 프로그램 루프의 수행 횟수가 프로그램 루프 완료 정보들(LE_(M-2), LE_(M-1), LE_M)로서 저장될 수 있다.
도 14를 참조하면, 수직형(또는 3차원) 메모리 셀 어레이에 포함되는 페이지들(P_1, P_2, ..., P_(Y-1), P_Y)(Y는 자연수)을 예시하고 있다.
페이지들(P_1~P_Y)은 제1 메모리 블록(BLK1)에 포함되고, 수직 방향을 따라서, 즉 제1 메모리 블록(BLK1)에 포함되는 제1 채널 홀(CH1)을 따라서 순차적으로 배치될 수 있다. 또한, 페이지들(P_1~P_Y) 각각은 워드 라인들(WL_1, WL_2, ..., WL_(Y-1), WL_Y) 중 하나와 연결될 수 있다.
일 실시예에서, 채널 홀의 직경이 클수록 신뢰성 열화량이 적거나 신뢰성 열화에 강건하고, 채널 홀의 직경이 작을수록 신뢰성 열화량이 많거나 신뢰성 열화에 취약할 수 있다. 따라서, 상부의 워드 라인들(WL_1, WL_2)은 신뢰성 열화 정도가 기준 값보다 작은(즉, 신뢰성 열화량이 적은 또는 신뢰성 열화에 강건한) 워드 라인들(또는 작을 것으로 예상되는 워드 라인들)일 수 있다. 또한, 하부의 워드 라인들(WL_(Y-1), WL_Y)은 상기 신뢰성 열화 정도가 상기 기준 값보다 크거나 같은(즉, 신뢰성 열화량이 많은 또는 신뢰성 열화에 취약한) 워드 라인들(또는 크거나 같을 것으로 예상되는 워드 라인들)일 수 있다. 상부의 워드 라인들(WL_1, WL_2) 및 이와 연결된 페이지들(P_1, P_2)은 전하 손실이 적은 strong 워드 라인/페이지로 지칭되고, 하부의 워드 라인들(WL_(Y-1), WL_Y) 및 이와 연결된 페이지들(P_(Y-1), P_Y)은 전하 손실이 많은 weak 워드 라인/페이지로 지칭될 수도 있다.
일 실시예에서, 하부의 워드 라인들(WL_(Y-1), WL_Y) 및 이와 연결된 페이지들(P_(Y-1), P_Y)에 대해서 리프로그램 동작이 수행될 수 있다. 일 실시예에서, 하부의 워드 라인들(WL_(Y-1), WL_Y) 및 이와 연결된 페이지들(P_(Y-1), P_Y)에 대한 리프로그램 동작의 수행 횟수(또는 빈도)는 상부의 워드 라인들(WL_1, WL_2) 및 이와 연결된 페이지들(P_1, P_2)에 대한 리프로그램 동작의 수행 횟수(또는 빈도)보다 많을 수 있다.
수직형(또는 3차원) 메모리 셀 어레이를 구성하는 워드 라인들은 각각 전하가 빠져나가는 속도가 다를 수 있다. 또한, NAND 특성상 소거 동작은 메모리 블록 단위로 수행하여야 한다. 가장 빠르게 전하가 빠져나가는 워드 라인이 한계에 도달하는 경우에는 상대적으로 준수한 나머지 워드 라인들까지 사용하지 못하고 해당 메모리 블록 전체를 소거하고 다시 써야 하며, 이 경우 WAF(Write Amplification Factor)가 증가하는 문제가 발생할 수 있다. 본 발명의 실시예들에 따라 전하가 빠르게 빠져나가 신뢰성 한계에 도달한 워드 라인에 대해서만 리프로그램 동작을 수행하는 경우에 비휘발성 메모리 장치의 성능이 향상될 수 있다.
도 15는 도 2의 제1 페이지 데이터에 대한 ECC 디코딩을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 2 및 15를 참조하면, 단계 S210에서, 상기 제1 페이지 데이터에 대응하는 제1 패리티 데이터를 독출할 수 있다(단계 S211). 예를 들어, 상기 제1 페이지 데이터 및 상기 제1 패리티 데이터는 각각 상기 제1 페이지의 제1 데이터 영역 및 제1 스페어 영역에 저장되고, 상기 제1 페이지를 독출하는 경우에 상기 제1 페이지 데이터 및 상기 제1 패리티 데이터를 함께 획득할 수 있다. 다시 말하면, 단계 S211은 도 2의 단계 S210과 실질적으로 동시에 수행될 수 있다.
상기 제1 페이지 데이터 및 상기 제1 패리티 데이터를 기초로 상기 ECC 디코딩을 수행하여, 제1 에러 정정 페이지 데이터를 생성하고 상기 제1 페이지 데이터의 제1 에러 개수를 확인하며(단계 S213). 상기 제1 에러 개수 및 기준 개수에 기초하여 상기 대상 비트들에 대한 상기 리프로그램 동작의 수행 여부를 결정할 수 있다(단계 S215).
도 16은 도 15의 대상 비트들에 대한 리프로그램 동작의 수행 여부를 결정하는 단계의 일 예를 나타내는 순서도이다.
도 15 및 16을 참조하면, 단계 S215에서, 상기 제1 에러 개수가 상기 기준 개수보다 많은 경우에(단계 S221: 예), 상기 대상 비트들에 대한 상기 리프로그램 동작을 수행하도록 결정할 수 있다(단계 S223). 상기 제1 에러 개수가 상기 기준 개수보다 적거나 같은 경우에(단계 S221: 아니오), 상기 대상 비트들에 대한 상기 리프로그램 동작을 미수행하도록 결정할 수 있다(단계 S225).
도 17은 도 2의 대상 비트들에 대한 리프로그램 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 2 및 17을 참조하면, 단계 S310에서, 상기 ECC 디코딩이 수행되기 이전의 상기 제1 페이지 데이터와 상기 ECC 디코딩이 수행된 이후의 상기 제1 에러 정정 페이지 데이터를 비교하여, 상기 복수의 비트들 중 에러가 발생한 제1 비트들을 선별할 수 있다(단계 S311). 상기 복수의 페이지들 중 상기 제1 페이지를 포함하는 2개 이상의 페이지들에 대한 독출 동작을 수행하여, 상기 복수의 비트들 중 상기 제1 상태에 대응하는 제2 비트들을 선별할 수 있다(단계 S313). 예를 들어, 멀티 레벨 메모리 셀들의 경우에 특정 상태를 판별하기 위해 2개 이상의 페이지들을 독출할 수 있다. 예를 들어, 상기 제1 상태는 최상위 상태(도 9의 P(N-1))일 수 있다.
상기 제1 비트들 및 상기 제2 비트들에 기초하여 상기 대상 비트들을 선별할 수 있다(단계 S315). 예를 들어, 상기 대상 비트들은 상기 제1 비트들의 일부이면서 상기 제2 비트들의 일부일 수 있다. 예를 들어, 상기 대상 비트들은 도 10c의 에러 비트 영역(EB)에 대응할 수 있다.
상기 리프로그램 전압의 전압 레벨을 결정할 수 있다(단계 S317).
일 실시예에서, 상기 리프로그램 전압의 전압 레벨은 프로그램 루프 완료 정보(도 13의 LE_(M-2), LE_(M-1), LE_M)에 기초하여 결정될 수 있다. 예를 들어, 상기 제1 상태는 최상위 상태(P(N-1))인 경우에, 최상위 상태(P(N-1))에 대한 프로그램 루프의 수행 횟수가 프로그램 루프 완료 정보들(LE_(M-2), LE_(M-1), LE_M)로서 저장될 수 있다.
예를 들어, 상기 대상 비트들이 페이지(도 13의 P_M)에 저장된 경우에, 상기 대상 비트들에 대한 상기 리프로그램 동작을 수행하기 위한 상기 리프로그램 전압의 전압 레벨은, 페이지(P_M)가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 프로그램 루프 완료 정보(LE_M)에 기초하여 결정될 수 있다. 이 경우, 프로그램 루프 완료 정보(LE_M)는 페이지(도 13의 P_(M+1))에 저장되어 있으며, 따라서 페이지(P_(M+1))에 대한 독출 동작이 추가적으로 필요할 수 있다.
다른 예에서, 상기 대상 비트들이 페이지(P_M)에 저장된 경우에, 상기 대상 비트들에 대한 상기 리프로그램 동작을 수행하기 위한 상기 리프로그램 전압의 전압 레벨은, 페이지(P_(M-1))가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 프로그램 루프 완료 정보(LE_(M-1))에 기초하여 결정될 수 있다. 이 경우, 프로그램 루프 완료 정보(LE_(M-1))는 페이지(P_M)에 저장되어 있으며, 따라서 페이지(P_M)에 대한 독출 동작 이외에 추가적인 독출 동작이 필요하지 않을 수 있다. 인접한 페이지들은 루프 횟수가 유사할 것으로 예상되므로, 프로그램 루프 완료 정보(LE_(M-1))를 이용하여 상기 리프로그램 전압의 전압 레벨을 결정할 수도 있다.
다른 실시예에서, 상기 리프로그램 전압의 전압 레벨은 문턱 전압의 이동량(예를 들어, 도 10a의 문턱 전압(VTHX)과 도 10b의 문턱 전압(VTHX')의 차이)에 기초하여 결정될 수 있다.
또 다른 실시예에서, 상기 리프로그램 전압의 전압 레벨은 상기 프로그램 루프 완료 정보 및 상기 문턱 전압의 이동량 모두에 기초하여 결정될 수 있다.
상기 리프로그램 전압을 인가하여 상기 대상 비트들이 저장된 대상 메모리 셀들만을 리프로그램할 수 있다(단계 S319). 예를 들어, 도 11b를 참조하여 상술한 것처럼 상기 리프로그램 전압은 상기 대상 메모리 셀들에 1회 인가될 수도 있고, 도 11c를 참조하여 상술한 것처럼 리프로그램 전압은 상기 대상 메모리 셀들에 복수 회 인가될 수도 있으며, 도 11d를 참조하여 상술한 것처럼 복수의 리프로그램 루프들이 수행될 수도 있다.
도 18은 도 3의 메모리 시스템에 포함되는 리프로그램 컨트롤러의 일 예를 나타내는 블록도이다.
도 18을 참조하면, 리프로그램 컨트롤러(700)는 에러 검출기(710), 상태 검출기(720), 리프로그램 대상 검출기(730), 프로그램 루프 카운터(740) 및 리프로그램 전압 연산기(750)를 포함할 수 있다.
에러 검출기(710)는 제1 페이지 데이터(DAT1)와 제1 에러 정정 페이지 데이터(CDAT1)를 비교하여 제1 비트들(BDAT1)을 선별하며, 도 17의 단계 S311을 수행할 수 있다. 상태 검출기(720)는 2개 이상의 페이지들에 대한 독출 동작을 수행하여 획득된 데이터(DAT2)에 기초하여 제2 비트들(BDAT2)을 선별하며, 도 17의 단계 S313을 수행할 수 있다. 리프로그램 대상 검출기(730)는 제1 비트들(BDAT1) 및 제2 비트들(BDAT2)에 기초하여 대상 비트들(TBDAT)을 선별하며, 도 17의 단계 S315를 수행할 수 있다. 리프로그램 전압 연산기(750)는 프로그램 루프 완료 정보를 포함하는 제1 정보(LE_INF) 및 문턱 전압의 이동량을 포함하는 제2 정보(VTH_INF) 중 적어도 하나에 기초하여 리프로그램 전압의 전압 레벨을 연산하고 리프로그램 전압 제어 신호(VRPGM_CON)를 생성하며, 도 17의 단계 S317을 수행할 수 있다. 대상 비트들(TBDAT) 및 리프로그램 전압 제어 신호(VRPGM_CON)는 리프로그램 제어 신호(RPCTRL)에 포함될 수 있다.
프로그램 루프 카운터(740)는 프로그램 루프의 수행 횟수를 카운트하여 제1 정보(LE_INF)를 생성할 수 있다. 도 13을 참조하여 상술한 것처럼, 제1 정보(LE_INF)는 비휘발성 메모리 장치의 각 페이지에 저장될 수 있다.
도 19는 본 발명의 실시예들에 따른 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템을 나타내는 블록도이다. 이하 도 3과 중복되는 설명은 생략한다.
도 19를 참조하면, 메모리 시스템(10a)은 메모리 컨트롤러(20a) 및 비휘발성 메모리 장치(50a)를 포함한다.
도 3의 리프로그램 컨트롤러(40)가 생략되고 비휘발성 메모리 장치(50a)가 리프로그램 컨트롤러(60)를 포함하는 것을 제외하면, 메모리 시스템(10a)은 도 3의 메모리 시스템(10)과 실질적으로 동일할 수 있다. 리프로그램 컨트롤러(60)는 도 3의 리프로그램 컨트롤러(40)와 실질적으로 동일할 수 있다.
도 20 및 21은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법을 나타내는 순서도이다. 이하 도 1과 중복되는 설명은 생략한다.
도 20 및 21을 참조하면, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리프로그램 방법에서, 단계 S100, S200 및 S300은 도 1을 참조하여 상술한 것과 실질적으로 동일할 수 있다.
도 20의 비휘발성 메모리 장치의 리프로그램 방법에서, 단계 S100에서 독출된 데이터에 대한 적어도 하나의 데이터 복구 동작을 실행할 수 있다(단계 S400). 예를 들어, 도 2의 단계 S110에서 독출된 상기 제1 페이지에 대한 상기 적어도 하나의 데이터 복구 동작을 실행할 수 있다. 예를 들어, 상기 적어도 하나의 데이터 복구 동작은 보정 성능이 낮더라도 미리 정해진 시간 범위 내에서 수행되는 제1 데이터 복구 동작(예를 들어, 성능 방어 코드), 미리 정해진 시간 범위를 벗어나더라도 보정 성능이 높은 제2 데이터 복구 동작(예를 들어, 수명 방어 코드) 등을 포함할 수 있다.
도 21의 비휘발성 메모리 장치의 리프로그램 방법에서, 메모리 블록 단위로 리클레임(reclaim) 동작을 수행할 수 있다(단계 S500). 예를 들어, 상기 제1 페이지를 포함하는 제1 메모리 블록을 복사하여 제2 메모리 블록에 다시 프로그램할 수 있다. 예를 들어, 단계 S500은 상기 제1 메모리 블록이 UECC(Uncorrectable ECC) 상태인 경우에 수행될 수 있다.
실시예에 따라서, 단계 S400 및 S500이 모두 수행될 수도 있다.
도 22는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다. 이하 도 1과 중복되는 설명은 생략한다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법에서, 페이지 단위로 데이터를 프로그램하고(단계 S1100), 페이지 단위로 프로그램 루프 완료 정보를 저장한다(단계 S1200).
도 23은 도 22의 비휘발성 메모리 장치의 프로그램 방법의 구체적인 일 예를 나타내는 순서도이다. 이하 도 22와 중복되는 설명은 생략한다.
도 22 및 23을 참조하면, 가변되는 프로그램 전압에 기초한 프로그램 동작 및 프로그램 검증 전압에 기초한 프로그램 검증 동작을 포함하는 프로그램 루프(loop)를 1회 이상 수행하여, 상기 복수의 페이지들 중 제1 페이지에 제1 페이지 데이터를 프로그램한다(단계 S1110). 상기 제1 페이지 데이터가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 제1 프로그램 루프 완료 정보를 상기 제1 페이지와 다른 제2 페이지에 저장한다(단계 S1210). 예를 들어, 도 13 등을 참조하여 상술한 것처럼 상기 제1 페이지 데이터 및 상기 제1 프로그램 루프 완료 정보가 저장될 수 있다.
도 24는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 순서도이다.
도 24를 참조하면, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 동작 방법에서, 상기 복수의 페이지들에 복수의 페이지 데이터들을 프로그램하고(단계 S2100), 상기 복수의 페이지 데이터들을 선택적으로 리프로그램한다(단계 S2200). 단계 S2100 및 S2200은 각각 본 발명의 실시예들에 따른 프로그램 방법 및 리프로그램 방법에 의해 수행될 수 있다.
도 25는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 나타내는 단면도이다.
도 25를 참조하면, 비휘발성 메모리 장치 또는 메모리 장치(2000)는 C2C(chip to chip) 구조일 수 있다. C2C 구조는 제1 웨이퍼 상에 셀 영역(CELL)을 포함하는 상부 칩을 제작하고, 제1 웨이퍼와 다른 제2 웨이퍼 상에 주변 회로 영역(PERI)을 포함하는 하부 칩을 제작한 후, 상기 상부 칩과 상기 하부 칩을 본딩(bonding) 방식에 의해 서로 연결하는 것을 의미할 수 있다. 일례로, 상기 본딩 방식은 상부 칩의 최상부 메탈층에 형성된 본딩 메탈과 하부 칩의 최상부 메탈층에 형성된 본딩 메탈을 서로 전기적으로 연결하는 방식을 의미할 수 있다. 예컨대, 상기 본딩 메탈이 구리(Cu)로 형성된 경우, 상기 본딩 방식은 Cu-to-Cu 본딩 방식일 수 있으며, 상기 본딩 메탈은 알루미늄(Al) 혹은 텅스텐(W)으로도 형성될 수 있다.
메모리 장치(2000)의 주변 회로 영역(PERI)과 셀 영역(CELL) 각각은 외부 패드 본딩 영역(PA), 워드라인 본딩 영역(WLBA), 및 비트라인 본딩 영역(BLBA)을 포함할 수 있다.
주변 회로 영역(PERI)은 제1 기판(2210), 층간 절연층(2215), 제1 기판(2210)에 형성되는 복수의 회로 소자들(2220a, 2220b, 2220c), 복수의 회로 소자들(2220a, 2220b, 2220c) 각각과 연결되는 제1 메탈층(2230a, 2230b, 2230c), 제1 메탈층(2230a, 2230b, 2230c) 상에 형성되는 제2 메탈층(2240a, 2240b, 2240c)을 포함할 수 있다. 일 실시예에서, 제1 메탈층(2230a, 2230b, 2230c)은 상대적으로 전기적 비저항이 높은 텅스텐으로 형성될 수 있고, 제2 메탈층(2240a, 2240b, 2240c)은 상대적으로 전기적 비저항이 낮은 구리로 형성될 수 있다.
본 명세서에서는 제1 메탈층(2230a, 2230b, 2230c)과 제2 메탈층(2240a, 2240b, 2240c)만 도시되고 설명되나, 이에 한정되는 것은 아니고, 제2 메탈층(2240a, 2240b, 2240c) 상에 적어도 하나 이상의 메탈층이 더 형성될 수도 있다. 제2 메탈층(2240a, 2240b, 2240c)의 상부에 형성되는 하나 이상의 메탈층 중 적어도 일부는, 제2 메탈층(2240a, 2240b, 2240c)을 형성하는 구리보다 더 낮은 전기적 비저항을 갖는 알루미늄 등으로 형성될 수 있다.
층간 절연층(2215)은 복수의 회로 소자들(2220a, 2220b, 2220c), 제1 메탈층(2230a, 2230b, 2230c), 및 제2 메탈층(2240a, 2240b, 2240c)을 커버하도록 제1 기판(2210) 상에 배치되며, 실리콘 산화물, 실리콘 질화물 등과 같은 절연 물질을 포함할 수 있다.
워드라인 본딩 영역(WLBA)의 제2 메탈층(2240b) 상에 하부 본딩 메탈(2271b, 2272b)이 형성될 수 있다. 워드라인 본딩 영역(WLBA)에서, 주변 회로 영역(PERI)의 하부 본딩 메탈(2271b, 2272b)은 셀 영역(CELL)의 상부 본딩 메탈(2371b, 2372b)과 본딩 방식에 의해 서로 전기적으로 연결될 수 있으며, 하부 본딩 메탈(2271b, 2272b)과 상부 본딩 메탈(2371b, 2372b)은 알루미늄, 구리, 혹은 텅스텐 등으로 형성될 수 있다.
셀 영역(CELL)은 적어도 하나의 메모리 블록을 제공할 수 있다. 셀 영역(CELL)은 제2 기판(2310)과 공통 소스 라인(2320)을 포함할 수 있다. 제2 기판(2310) 상에는, 제2 기판(2310)의 상면에 수직하는 제3 방향(D3)을 따라 복수의 워드라인들(2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338; 2330)이 적층될 수 있다. 워드라인들(2330)의 상부 및 하부 각각에는 스트링 선택 라인들과 접지 선택 라인이 배치될 수 있으며, 스트링 선택 라인들과 접지 선택 라인 사이에 복수의 워드라인들(2330)이 배치될 수 있다.
비트라인 본딩 영역(BLBA)에서, 채널 구조체(CH)는 제2 기판(2310)의 상면에 수직하는 제3 방향(D3)(즉, Z축 방향)으로 연장되어 워드라인들(2330), 스트링 선택 라인들, 및 접지 선택 라인을 관통할 수 있다. 채널 구조체(CH)는 데이터 저장층, 채널층, 및 매립 절연층 등을 포함할 수 있으며, 채널층은 제1 메탈층(2350c) 및 제2 메탈층(2360c)과 전기적으로 연결될 수 있다. 예컨대, 제1 메탈층(2350c)은 비트라인 컨택일 수 있고, 제2 메탈층(2360c)은 비트라인일 수 있다. 일 실시예에서, 비트라인(2360c)은 제2 기판(2310)의 상면에 평행한 제2 방향(D2)(즉, Y축 방향)을 따라 연장될 수 있다.
도 25의 예에서, 채널 구조체(CH)와 비트라인(2360c) 등이 배치되는 영역이 비트라인 본딩 영역(BLBA)으로 정의될 수 있다. 비트라인(2360c)은 비트라인 본딩 영역(BLBA)에서 주변 회로 영역(PERI)에서 페이지 버퍼(2393)를 제공하는 회로 소자들(2220c)과 전기적으로 연결될 수 있다. 일례로, 비트라인(2360c)은 주변 회로 영역(PERI)에서 상부 본딩 메탈(2371c, 2372c)과 연결되며, 상부 본딩 메탈(2371c, 2372c)은 페이지 버퍼(2393)의 회로 소자들(2220c)에 연결되는 하부 본딩 메탈(2271c, 2272c)과 연결될 수 있다.
워드라인 본딩 영역(WLBA)에서, 워드라인들(2330)은 제2 방향(D2)에 수직하면서 제2 기판(2310)의 상면에 평행한 제1 방향(D1)(즉, X축 방향)을 따라 연장될 수 있으며, 복수의 셀 컨택 플러그들(2341, 2342, 2343, 2344, 2345, 2346, 3347; 3340)과 연결될 수 있다. 워드라인들(2330)과 셀 컨택 플러그들(2340)은, 제1 방향(D1)을 따라 워드라인들(2330) 중 적어도 일부가 서로 다른 길이로 연장되어 제공하는 패드들에서 서로 연결될 수 있다. 워드라인들(2330)에 연결되는 셀 컨택 플러그들(2340)의 상부에는 제1 메탈층(2350b)과 제2 메탈층(2360b)이 차례로 연결될 수 있다. 셀 컨택 플러그들(2340)은 워드라인 본딩 영역(WLBA)에서 셀 영역(CELL)의 상부 본딩 메탈(2371b, 2372b)과 주변 회로 영역(PERI)의 하부 본딩 메탈(2271b, 2272b)을 통해 주변 회로 영역(PERI)과 연결될 수 있다.
셀 컨택 플러그들(2340)은 주변 회로 영역(PERI)에서 어드레스 디코더 또는 로우 디코더(2394)를 형성하는 회로 소자들(2220b)과 전기적으로 연결될 수 있다. 일 실시예에서, 로우 디코더(2394)를 형성하는 회로 소자들(2220b)의 동작 전압은, 페이지 버퍼(2393)를 형성하는 회로 소자들(2220c)의 동작 전압과 다를 수 있다. 일례로, 페이지 버퍼(2393)를 형성하는 회로 소자들(2220c)의 동작 전압이 로우 디코더(2394)를 형성하는 회로 소자들(2220b)의 동작 전압보다 클 수 있다.
외부 패드 본딩 영역(PA)에는 공통 소스 라인 컨택 플러그(2380)가 배치될 수 있다. 공통 소스 라인 컨택 플러그(2380)는 금속, 금속 화합물, 또는 폴리실리콘 등의 도전성 물질로 형성되며, 공통 소스 라인(2320)과 전기적으로 연결될 수 있다. 공통 소스 라인 컨택 플러그(2380) 상부에는 제1 메탈층(2350a)과 제2 메탈층(2360a)이 차례로 적층될 수 있다. 일례로, 공통 소스 라인 컨택 플러그(2380), 제1 메탈층(2350a), 및 제2 메탈층(2360a)이 배치되는 영역은 외부 패드 본딩 영역(PA)으로 정의될 수 있다.
한편 외부 패드 본딩 영역(PA)에는 입출력 패드들(2205, 2305)이 배치될 수 있다. 제1 기판(2210)의 하부에는 제1 기판(2210)의 하면을 덮는 하부 절연막(2201) 이 형성될 수 있으며, 하부 절연막(2201) 상에 제1 입출력 패드(2205)가 형성될 수 있다. 제1 입출력 패드(2205)는 제1 입출력 컨택 플러그(2203)를 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(2220a, 2220b, 2220c) 중 적어도 하나와 연결되며, 하부 절연막(2201)에 의해 제1 기판(2210)과 분리될 수 있다. 또한, 제1 입출력 컨택 플러그(2203)와 제1 기판(2210) 사이에는 측면 절연막이 배치되어 제1 입출력 컨택 플러그(2203)와 제1 기판(2210)을 전기적으로 분리할 수 있다.
제2 기판(2310)의 상부에는 제2 기판(2310)의 상면을 덮는 상부 절연막(2301)이 형성될 수 있으며, 상부 절연막(2301) 상에 제2 입출력 패드(2305)가 배치될 수 있다. 제2 입출력 패드(2305)는 제2 입출력 컨택 플러그(2303)를 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(2220a, 2220b, 2220c) 중 적어도 하나와 연결될 수 있다. 일 실시예에서, 제2 입출력 패드(2305)는 회로 소자(2220a)와 전기적으로 연결될 수 있다.
실시예에 따라서, 제2 입출력 컨택 플러그(2303)가 배치되는 영역에는 제2 기판(2310) 및 공통 소스 라인(2320) 등이 배치되지 않을 수 있다. 또한, 제2 입출력 패드(2305)는 제3 방향(D3)에서 워드라인들(2380)과 오버랩되지 않을 수 있다. 제2 입출력 컨택 플러그(2303)는 제2 기판(2310)의 상면에 평행한 방향에서 제2 기판(2310)과 분리되며, 셀 영역(CELL)의 층간 절연층(2315)을 관통하여 제2 입출력 패드(2305)에 연결될 수 있다.
실시예에 따라서, 제1 입출력 패드(2205)와 제2 입출력 패드(2305)는 선택적으로 형성될 수 있다. 일례로, 메모리 장치(2000)는 제1 기판(2201)의 상부에 배치되는 제1 입출력 패드(2205)만을 포함하거나, 또는 제2 기판(2301)의 상부에 배치되는 제2 입출력 패드(2305)만을 포함할 수 있다. 또는, 메모리 장치(2000)가 제1 입출력 패드(2205)와 제2 입출력 패드(2305)를 모두 포함할 수도 있다.
셀 영역(CELL)과 주변 회로 영역(PERI) 각각에 포함되는 외부 패드 본딩 영역(PA)과 비트라인 본딩 영역(BLBA) 각각에는 최상부 메탈층의 메탈 패턴이 더미 패턴(dummy pattern)으로 존재하거나, 최상부 메탈층이 비어있을 수 있다.
메모리 장치(2000)는 외부 패드 본딩 영역(PA)에서, 셀 영역(CELL)의 최상부 메탈층에 형성된 상부 메탈 패턴(2372a)에 대응하여 주변 회로 영역(PERI)의 최상부 메탈층에 셀 영역(CELL)의 상부 메탈 패턴(2372a)과 동일한 형태의 하부 메탈 패턴(2273a)을 형성할 수 있다. 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴(2273a)은 주변 회로 영역(PERI)에서 별도의 콘택과 연결되지 않을 수 있다. 이와 유사하게, 외부 패드 본딩 영역(PA)에서 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴(2273a)에 대응하여 셀 영역(CELL)의 상부 메탈층에 주변 회로 영역(PERI)의 하부 메탈 패턴(2273a)과 동일한 형태의 상부 메탈 패턴(2372a)을 형성할 수도 있다.
워드라인 본딩 영역(WLBA)의 제2 메탈층(2240b) 상에는 하부 본딩 메탈(2271b, 2272b)이 형성될 수 있다. 워드라인 본딩 영역(WLBA)에서, 주변 회로 영역(PERI)의 하부 본딩 메탈(2271b, 2272b)은 셀 영역(CELL)의 상부 본딩 메탈(2371b, 2372b)과 본딩 방식에 의해 서로 전기적으로 연결될 수 있다.
또한, 비트라인 본딩 영역(BLBA)에서, 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴(2252)에 대응하여 셀 영역(CELL)의 최상부 메탈층에 주변 회로 영역(PERI)의 하부 메탈 패턴(2252)과 동일한 형태의 상부 메탈 패턴(2392)을 형성할 수 있다. 셀 영역(CELL)의 최상부 메탈층에 형성된 상부 메탈 패턴(2392) 상에는 콘택을 형성하지 않을 수 있다.
메모리 장치(2000)는 본 발명의 실시예들에 따라 구현될 수 있다.
도 26은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 전자 시스템을 나타내는 블록도이다.
도 26을 참조하면, 전자 시스템(3000)은 반도체 장치(3100) 및 반도체 장치(3100)와 전기적으로 연결되는 컨트롤러(3200)를 포함할 수 있다. 전자 시스템(3000)은 하나 또는 복수의 반도체 장치들(3100)을 포함하는 스토리지 장치 또는 이를 포함하는 전자 장치일 수 있다. 예를 들어, 전자 시스템(3000)은 SSD(Solid State Drive) 장치, USB(Universal Serial Bus), 컴퓨팅 시스템, 의료 장치 또는 통신 장치일 수 있다.
반도체 장치(3100)는 본 발명의 실시예들에 따른 비휘발성 메모리 장치일 수 있다. 반도체 장치(3100)는 제1 구조물(3100F) 및 제1 구조물(3100F) 상의 제2 구조물(3100S)을 포함할 수 있다. 제1 구조물(3100F)은 디코더 회로(3110), 페이지 버퍼 회로(3120) 및 로직 회로(3130)를 포함하는 주변 회로 구조물일 수 있다. 제2 구조물(3100S)은 비트 라인(BL), 공통 소스 라인(CSL), 워드라인들(WL), 제1 및 제2 상부 게이트 라인들(UL1, UL2), 제1 및 제2 하부 게이트 라인들(LL1, LL2), 및 비트 라인(BL)과 공통 소스 라인(CSL) 사이의 메모리 셀 스트링들(CSTR)을 포함하는 메모리 셀 구조물일 수 있다.
제2 구조물(3100S)에서, 각각의 메모리 셀 스트링들(CSTR)은 공통 소스 라인(CSL)에 인접하는 하부 트랜지스터들(LT1, LT2), 비트 라인(BL)에 인접하는 상부 트랜지스터들(UT1, UT2), 및 하부 트랜지스터들(LT1, LT2)과 상부 트랜지스터들(UT1, UT2) 사이에 배치되는 복수의 메모리 셀 트랜지스터들(MCT)을 포함할 수 있다.
제1 구조물(3100F)에서, 디코더 회로(3110), 페이지 버퍼 회로(3120) 및 로직 회로(3130)는 도 2의 어드레스 디코더(120), 페이지 버퍼 회로(130) 및 제어 회로(160)에 각각 대응할 수 있다.
공통 소스 라인(CSL), 제1 및 제2 하부 게이트 라인들(LL1, LL2), 워드 라인들(WL) 및 제1 및 제2 상부 게이트 라인들(UL1, UL2)은, 제1 연결 배선들(3115)을 통해 디코더 회로(3110)와 전기적으로 연결될 수 있다. 비트 라인들(BL)은 제2 연결 배선들(3125)을 통해 페이지 버퍼 회로(3120)와 전기적으로 연결될 수 있다. 입출력 패드(3101)는 입출력 연결 배선(3135)을 통해 로직 회로(3130)와 전기적으로 연결될 수 있다.
컨트롤러(3200)는 프로세서(3210), NAND 컨트롤러(3220) 및 호스트 인터페이스(3230)를 포함할 수 있다. 컨트롤러(3200)는 복수의 반도체 장치들(3000)을 제어할 수 있다. 프로세서(3210), NAND 컨트롤러(3220)에 포함되는 NAND 인터페이스(3221) 및 호스트 인터페이스(3230)는 도 23의 프로세서(810), 비휘발성 메모리 인터페이스(840) 및 호스트 인터페이스(830)에 각각 대응할 수 있다.
도 27은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함하는 전자 시스템을 설명하기 위한 사시도이다.
도 27을 참조하면, 전자 시스템(4000)은 메인 기판(4001)과, 메인 기판(4001)에 실장되는 컨트롤러(4002), 하나 이상의 반도체 패키지(4003), 및 DRAM(Dynamic Random Access Memory) 장치(4004)를 포함할 수 있다. 반도체 패키지(4003) 및 DRAM 장치(4004)는 메인 기판(4001)에 형성되는 배선 패턴들(4005)에 의해 컨트롤러(4002)와 서로 연결될 수 있다.
메인 기판(4001)은 외부 호스트와 결합되는 복수의 핀들을 포함하는 커넥터(4006)를 포함할 수 있다. 커넥터(4006)에서 상기 복수의 핀들의 개수와 배치는, 전자 시스템(4000)과 상기 외부 호스트 사이의 통신 인터페이스에 따라 달라질 수 있다. 일 실시예에서, 전자 시스템(4000)은 커넥터(4006)를 통해 외부 호스트로부터 공급받는 전원에 의해 동작할 수 있다.
컨트롤러(4002)는 반도체 패키지(4003)에 데이터를 기록하거나, 반도체 패키지(4003)로부터 데이터를 읽어올 수 있으며, 전자 시스템(4000)의 동작 속도를 개선할 수 있다.
DRAM 장치(4004)는 데이터 저장 공간인 반도체 패키지(4003)와 외부 호스트의 속도 차이를 완화하기 위한 버퍼 메모리일 수 있다. 전자 시스템(4000)에 포함되는 DRAM 장치(4004)는 일종의 캐시 메모리로도 동작할 수 있으며, 반도체 패키지(4003)에 대한 제어 동작에서 임시로 데이터를 저장하기 위한 공간을 제공할 수도 있다.
반도체 패키지(4003)는 서로 이격된 제1 및 제2 반도체 패키지들(4003a, 4003b)을 포함할 수 있다. 제1 및 제2 반도체 패키지들(4003a, 4003b)은 각각 복수의 반도체 칩들(4200)을 포함하는 반도체 패키지일 수 있다. 제1 및 제2 반도체 패키지들(4003a, 4003b) 각각은, 패키지 기판(4100), 패키지 기판(4100) 상의 반도체 칩들(4200), 반도체 칩들(4200) 각각의 하부면에 배치되는 접착층들(4300), 반도체 칩들(4200)과 패키지 기판(2100)을 전기적으로 연결하는 연결 구조물(4400), 및 패키지 기판(4100) 상에서 반도체 칩들(4200) 및 연결 구조물(4400)을 덮는 몰딩층(4500)을 포함할 수 있다.
패키지 기판(4100)은 패키지 상부 패드들(4130)을 포함하는 인쇄 회로 기판일 수 있다. 각각의 반도체 칩(4200)은 입출력 패드(4210)를 포함할 수 있다. 입출력 패드(4210)는 도 26의 입출력 패드(3101)에 해당할 수 있다. 반도체 칩들(4200) 각각은 게이트 전극 구조물들(5210), 각 게이트 전극 구조물들(5210)을 관통하는 메모리 채널 구조물들(5220), 및 게이트 전극 구조물들(5210)을 분리시키는 분리 구조물들(5230)을 포함할 수 있다. 반도체 칩들(4200) 각각은 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 포함할 수 있다.
일 실시예에서, 연결 구조물(4400)은 입출력 패드(4210)와 패키지 상부 패드들(4130)을 전기적으로 연결하는 본딩 와이어일 수 있다.
본 발명의 실시예들은 비휘발성 메모리 장치를 포함하는 임의의 전자 장치 및 시스템에 유용하게 이용될 수 있다. 예를 들어, 본 발명의 실시예들은 PC, 서버 컴퓨터, 데이터 센터, 워크스테이션, 노트북, 핸드폰, 스마트 폰, MP3 플레이어, PDA, PMP, 디지털 TV, 디지털 카메라, 포터블 게임 콘솔, 네비게이션 기기, 웨어러블 기기, IoT 기기, IoE 기기, e-북, VR 기기, AR 기기, 드론 등의 전자 시스템에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (20)

  1. 각각 복수의 메모리 셀들을 포함하는 복수의 페이지들을 포함하는 비휘발성 메모리 장치의 리프로그램 방법으로서,
    상기 복수의 페이지들에 프로그램되고 복수의 상태들을 포함하는 문턱 전압 산포를 갖는 복수의 페이지 데이터들 중, 제1 페이지에 프로그램된 제1 페이지 데이터를 독출하는 단계;
    상기 제1 페이지 데이터에 대한 에러 정정 코드(Error Correction Code; ECC) 디코딩을 수행하는 단계; 및
    상기 제1 페이지 데이터에 대한 상기 ECC 디코딩의 결과 및 적응적으로 가변되는 리프로그램 전압에 기초하여, 상기 제1 페이지 데이터에 포함되는 복수의 비트들 중 에러가 발생하고 상기 복수의 상태들 중 제1 상태에 대응하는 대상(target) 비트들에 대한 리프로그램 동작을 선택적으로 수행하는 단계를 포함하는 비휘발성 메모리 장치의 리프로그램 방법.
  2. 제 1 항에 있어서,
    상기 리프로그램 전압의 전압 레벨은, 상기 복수의 페이지 데이터들이 프로그램되는 동안에 수행된 프로그램 루프(loop)의 횟수를 나타내는 복수의 프로그램 루프 완료 정보들에 기초하여 결정되는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  3. 제 2 항에 있어서,
    상기 제1 페이지 데이터가 프로그램된 상기 제1 페이지는, 상기 제1 페이지 데이터를 저장하는 제1 데이터 영역 및 제1 스페어 영역을 포함하고,
    상기 제1 페이지 데이터가 프로그램된 이후에 제2 페이지 데이터가 프로그램된 제2 페이지는, 상기 제2 페이지 데이터를 저장하는 제2 데이터 영역 및 제2 스페어 영역을 포함하며,
    상기 제1 페이지 데이터가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 제1 프로그램 루프 완료 정보는 상기 제2 스페어 영역에 저장되는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  4. 제 3 항에 있어서,
    상기 대상 비트들에 대한 상기 리프로그램 동작을 수행하기 위한 상기 리프로그램 전압의 전압 레벨은, 상기 제1 프로그램 루프 완료 정보에 기초하여 결정되는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  5. 제 4 항에 있어서,
    상기 제1 페이지 데이터가 프로그램되는 동안에 수행된 프로그램 루프의 횟수가 증가할수록, 상기 리프로그램 전압의 전압 레벨은 증가하는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  6. 제 4 항에 있어서,
    상기 리프로그램 전압의 전압 레벨은, 상기 제1 페이지 데이터가 프로그램되는 동안에 이용되는 프로그램 전압의 루프 완료 전압 레벨보다 낮은 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  7. 제 3 항에 있어서,
    상기 제1 프로그램 루프 완료 정보에 대응하는 제1 숫자의 일부만이 상기 제2 스페어 영역에 저장되는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  8. 제 3 항에 있어서,
    상기 제1 페이지 데이터가 프로그램되기 이전에 프로그램된 제3 페이지 데이터가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 제2 프로그램 루프 완료 정보는 상기 제1 스페어 영역에 저장되며,
    상기 대상 비트들에 대한 상기 리프로그램 동작을 수행하기 위한 상기 리프로그램 전압의 전압 레벨은, 상기 제2 프로그램 루프 완료 정보에 기초하여 결정되는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  9. 제 1 항에 있어서,
    상기 리프로그램 전압의 전압 레벨은, 상기 문턱 전압 산포의 변화에 의한 문턱 전압의 이동량에 기초하여 결정되는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  10. 제 1 항에 있어서, 상기 제1 페이지 데이터에 대한 상기 ECC 디코딩을 수행하는 단계는;
    상기 제1 페이지 데이터에 대응하는 제1 패리티 데이터를 독출하는 단계;
    상기 제1 페이지 데이터 및 상기 제1 패리티 데이터를 기초로 상기 ECC 디코딩을 수행하여, 제1 에러 정정 페이지 데이터를 생성하고 상기 제1 페이지 데이터의 제1 에러 개수를 확인하는 단계; 및
    상기 제1 에러 개수 및 기준 개수에 기초하여 상기 대상 비트들에 대한 상기 리프로그램 동작의 수행 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  11. 제 10 항에 있어서, 상기 대상 비트들에 대한 상기 리프로그램 동작의 수행 여부를 결정하는 단계는,
    상기 제1 에러 개수가 상기 기준 개수보다 많은 경우에, 상기 대상 비트들에 대한 상기 리프로그램 동작을 수행하도록 결정하는 단계; 및
    상기 제1 에러 개수가 상기 기준 개수보다 적거나 같은 경우에, 상기 대상 비트들에 대한 상기 리프로그램 동작을 미수행하도록 결정하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  12. 제 11 항에 있어서, 상기 대상 비트들에 대한 상기 리프로그램 동작을 선택적으로 수행하는 단계는,
    상기 제1 에러 개수가 상기 기준 개수보다 많은 경우에, 상기 ECC 디코딩이 수행되기 이전의 상기 제1 페이지 데이터와 상기 ECC 디코딩이 수행된 이후의 상기 제1 에러 정정 페이지 데이터를 비교하여, 상기 복수의 비트들 중 에러가 발생한 제1 비트들을 선별하는 단계;
    상기 복수의 페이지들 중 상기 제1 페이지를 포함하는 2개 이상의 페이지들에 대한 독출 동작을 수행하여, 상기 복수의 비트들 중 상기 제1 상태에 대응하는 제2 비트들을 선별하는 단계;
    상기 제1 비트들 및 상기 제2 비트들에 기초하여 상기 대상 비트들을 선별하는 단계;
    상기 리프로그램 전압의 전압 레벨을 결정하는 단계; 및
    상기 리프로그램 전압을 인가하여 상기 대상 비트들이 저장된 대상 메모리 셀들만을 리프로그램하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  13. 제 12 항에 있어서,
    상기 대상 비트들은 상기 제1 비트들의 일부이면서 상기 제2 비트들의 일부인 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  14. 제 12 항에 있어서,
    상기 리프로그램 전압은 상기 대상 메모리 셀들에 1회 인가되는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  15. 제 1 항에 있어서,
    상기 제1 상태는 상기 복수의 상태들 중 최상위 상태인 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  16. 제 1 항에 있어서,
    상기 제1 페이지에 대한 적어도 하나의 데이터 복구 동작을 실행하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  17. 제 1 항에 있어서,
    상기 제1 페이지를 포함하는 제1 메모리 블록을 복사하여 제2 메모리 블록에 다시 프로그램하는 리클레임 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 리프로그램 방법.
  18. 각각 복수의 메모리 셀들을 포함하는 복수의 페이지들을 포함하는 비휘발성 메모리 장치의 프로그램 방법으로서,
    가변되는 프로그램 전압에 기초한 프로그램 동작 및 프로그램 검증 전압에 기초한 프로그램 검증 동작을 포함하는 프로그램 루프(loop)를 1회 이상 수행하여, 상기 복수의 페이지들 중 제1 페이지에 제1 페이지 데이터를 프로그램하는 단계; 및
    상기 제1 페이지 데이터가 프로그램되는 동안에 수행된 프로그램 루프의 횟수를 나타내는 제1 프로그램 루프 완료 정보를 상기 제1 페이지와 다른 제2 페이지에 저장하는 단계를 포함하는 비휘발성 메모리 장치의 프로그램 방법.
  19. 제 18 항에 있어서,
    상기 제1 페이지는 제1 데이터 영역 및 제1 스페어 영역을 포함하고,
    상기 제2 페이지는 제2 데이터 영역 및 제2 스페어 영역을 포함하며,
    상기 제1 페이지 데이터는 상기 제1 데이터 영역에 저장되고, 상기 제1 프로그램 루프 완료 정보는 상기 제2 스페어 영역에 저장되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  20. 각각 복수의 메모리 셀들을 포함하는 복수의 페이지들을 포함하는 메모리 셀 어레이; 및
    상기 메모리 셀 어레이의 동작을 제어하는 제어 회로를 포함하고,
    상기 제어 회로는,
    상기 복수의 페이지들에 프로그램되고 복수의 상태들을 포함하는 문턱 전압 산포를 갖는 복수의 페이지 데이터들 중, 제1 페이지에 프로그램된 제1 페이지 데이터를 독출하고,
    상기 제1 페이지 데이터에 대한 에러 정정 코드(Error Correction Code; ECC) 디코딩의 결과 및 적응적으로 가변되는 리프로그램 전압에 기초하여, 상기 제1 페이지 데이터에 포함되는 복수의 비트들 중 에러가 발생하고 상기 복수의 상태들 중 제1 상태에 대응하는 대상(target) 비트들에 대한 리프로그램 동작을 선택적으로 수행하는 비휘발성 메모리 장치.
KR1020210185668A 2021-12-23 2021-12-23 비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 이를 수행하는 비휘발성 메모리 장치 KR20230096304A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210185668A KR20230096304A (ko) 2021-12-23 2021-12-23 비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 이를 수행하는 비휘발성 메모리 장치
US17/816,601 US20230207044A1 (en) 2021-12-23 2022-08-01 Method of reprogramming data in nonvolatile memory device, method of programming data in nonvolatile memory device, nonvolatile memory device performing the same, and method of operating nonvolatile memory device using the same
EP22193520.8A EP4202940A1 (en) 2021-12-23 2022-09-01 Method of reprogramming data in nonvolatile memory device, and method of operating nonvolatile memory device using the same
CN202211223298.3A CN116343871A (zh) 2021-12-23 2022-10-08 在非易失性存储器中重编程数据的方法和编程数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210185668A KR20230096304A (ko) 2021-12-23 2021-12-23 비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 이를 수행하는 비휘발성 메모리 장치

Publications (1)

Publication Number Publication Date
KR20230096304A true KR20230096304A (ko) 2023-06-30

Family

ID=83151433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210185668A KR20230096304A (ko) 2021-12-23 2021-12-23 비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 이를 수행하는 비휘발성 메모리 장치

Country Status (4)

Country Link
US (1) US20230207044A1 (ko)
EP (1) EP4202940A1 (ko)
KR (1) KR20230096304A (ko)
CN (1) CN116343871A (ko)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
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 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR101824068B1 (ko) * 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
KR102381218B1 (ko) * 2015-09-25 2022-04-01 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP2020038738A (ja) * 2018-09-03 2020-03-12 キオクシア株式会社 不揮発性メモリ及びメモリシステム

Also Published As

Publication number Publication date
EP4202940A1 (en) 2023-06-28
US20230207044A1 (en) 2023-06-29
CN116343871A (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
US11334250B2 (en) Nonvolatile memory device, method of operating nonvolatile memory device and storage device including the same
CN107093465B (zh) 包括电压搜索单元的数据存储器装置
US9478296B2 (en) Erase method of nonvolatile memory device and storage device employing the same
KR102369391B1 (ko) 비휘발성 메모리 장치의 데이터 소거 방법 및 이를 수행하는 비휘발성 메모리 장치
KR20170111375A (ko) 메모리 시스템 및 그의 동작 방법
KR20140072637A (ko) 비휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법
KR20130085154A (ko) 비휘발성 메모리 장치, 그것을 포함하는 비휘발성 메모리 시스템, 그것의 프로그램 방법, 그리고 그것을 제어하는 컨트롤러 동작 방법
KR20150091665A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20160073873A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US9460795B2 (en) Nonvolatile memory device, a storage device having the same and an operating method of the same
US11797405B2 (en) Nonvolatile memory device having cell-over-periphery (COP) structure with address re-mapping
KR20160006343A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US9589647B1 (en) Semiconductor device with improved programming reliability
US20230054754A1 (en) Storage devices and methods of operating storage devices
CN115954031A (zh) 存储设备
US10373691B2 (en) Nonvolatile memory device and operating method of the same
US11626171B2 (en) Non-volatile memory device, programming method thereof, and storage device having the same
EP4202940A1 (en) Method of reprogramming data in nonvolatile memory device, and method of operating nonvolatile memory device using the same
US11961553B2 (en) Method of searching read voltage of nonvolatile memory device using regression analysis and method of reading data from nonvolatile memory device using the same
CN111309517A (zh) 操作存储设备的方法和存储设备
KR20210094696A (ko) 비휘발성 메모리 장치, 스토리지 장치, 및 그것의 프로그램 방법
US11380403B2 (en) Method of erasing data in nonvolatile memory device, nonvolatile memory device performing the same and memory controller performing the same
US20230154551A1 (en) Semiconductor device for improving retention performance and operating method thereof
KR20220075571A (ko) 비휘발성 메모리 장치의 데이터 기입 방법, 이를 수행하는 비휘발성 메모리 장치 및 이를 이용한 메모리 시스템의 구동 방법
CN115952027A (zh) 存储设备和操作存储设备的方法