KR102411922B1 - 메모리 셀의 잘못된 형상 완화 - Google Patents

메모리 셀의 잘못된 형상 완화 Download PDF

Info

Publication number
KR102411922B1
KR102411922B1 KR1020200033749A KR20200033749A KR102411922B1 KR 102411922 B1 KR102411922 B1 KR 102411922B1 KR 1020200033749 A KR1020200033749 A KR 1020200033749A KR 20200033749 A KR20200033749 A KR 20200033749A KR 102411922 B1 KR102411922 B1 KR 102411922B1
Authority
KR
South Korea
Prior art keywords
program
state
group
memory
memory cells
Prior art date
Application number
KR1020200033749A
Other languages
English (en)
Other versions
KR20200132671A (ko
Inventor
샹 양
Original Assignee
샌디스크 테크놀로지스 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 샌디스크 테크놀로지스 엘엘씨 filed Critical 샌디스크 테크놀로지스 엘엘씨
Publication of KR20200132671A publication Critical patent/KR20200132671A/ko
Application granted granted Critical
Publication of KR102411922B1 publication Critical patent/KR102411922B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/30EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region
    • H10B43/35EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region with cell select transistors, e.g. NAND
    • 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/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing 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/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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • H01L27/11575
    • 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
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/50EEPROM devices comprising charge-trapping gate insulators characterised by the boundary region between the core and peripheral circuit regions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/10EEPROM devices comprising charge-trapping gate insulators characterised by the top-view layout

Landscapes

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

Abstract

메모리 홀의 잘못된 형상의 문제들을 완화시키기 위한 기법들이 제공된다. 일 태양에서, 하나 이상의 제어 회로들은 제1 프로그램 파라미터를 사용하여 비휘발성 메모리 셀들의 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하도록 구성된다. 하나 이상의 제어 회로들은 그룹의 임계 전압들을 측정하여 그룹 내의 메모리 홀의 잘못된 형상의 심각도를 결정한다. 하나 이상의 제어 회로들은 그룹 내의 메모리 홀의 잘못된 형상의 심각도에 기초하여 선택된 제2 프로그램 파라미터를 사용하여 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍한다.

Description

메모리 셀의 잘못된 형상 완화{MEMORY CELL MIS-SHAPE MITIGATION}
본 발명은 메모리 디바이스들의 동작에 관한 것이다.
반도체 메모리는 셀룰러 전화기, 디지털 카메라, 개인 휴대 정보 단말기, 의료용 전자기기, 모바일 컴퓨팅 디바이스, 서버, 솔리드 스테이트 드라이브, 비-모바일 컴퓨팅 디바이스 및 다른 디바이스와 같은 다양한 전자 디바이스들에서 널리 사용된다. 반도체 메모리는 비휘발성 메모리 또는 휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는, 비휘발성 메모리가 전원(예를 들어, 배터리)에 접속되어 있지 않을 때에도 정보가 저장 및 보유되게 한다.
3차원(3D) 메모리 구조에서, 메모리 셀들은 스택(stack)에서 수직 스트링들로 배열될 수 있으며, 여기서 스택은 교번하는 전도성 층 및 유전체 층을 포함한다. 전도성 층들은 메모리 셀들에 접속되는 워드 라인들로서 작용한다. 메모리 셀들의 스트링들은 교번하는 산화실리콘 층들 및 희생 층들의 스택을 관통하여 메모리 홀들을 천공함으로써, 희생 층들을 전도성 층들로 대체함으로써, 그리고 메모리 셀 재료들의 환형 필름들로 메모리 홀들을 충전함으로써 형성될 수 있다. 전도성 층들은 메모리 셀들의 제어 게이트들뿐만 아니라 워드 라인들 양측 모두로서 역할을 한다. 환형 필름들은 제어 게이트에 인접한 블로킹 층, 전하 저장 영역, 터널 유전체, 및 채널(또는 바디(body))을 포함할 수 있다.
일부 기법들에서, 메모리 셀들의 그룹을 프로그래밍하기 전에, 그룹은 소거 상태로 지칭되는 것으로 소거된다. 이어서, 메모리 셀들 중 일부는 소거 상태로부터 하나 이상의 프로그래밍된 상태들로 프로그래밍된다. 메모리 셀들 중 일부는 프로그래밍 후에 소거 상태에 남아 있을 수 있다. 일부 프로그래밍 기법들에서, 각각의 메모리 셀은 프로그래밍 후 2개의 상태들 중 하나에 있고, 이는 단일 레벨 셀("SLC")로 지칭될 수 있다. 일부 프로그래밍 기법들에서, 각각의 메모리 셀은 프로그래밍 후 4개 이상의 상태들 중 하나에 있고, 이는 다중-레벨 셀("MLC")로 지칭될 수 있다. 일부 메모리 셀들은 프로그램가능 임계 전압(Vt)을 갖는다. 소거 상태 및 하나 이상의 프로그래밍된 상태들은 메모리 셀 임계 전압의 관점에서 정의될 수 있다.
프로그래밍 동안, 프로그래밍 전압은 프로그래밍을 위해 선택되는 메모리 셀들에 접속되는 워드 라인("선택된 워드 라인")에 인가될 수 있다. 이어서, 메모리 셀들의 임계 전압들은 각각의 메모리 셀들이 프로그래밍될 상태에 대한 적절한 검증 전압에서 테스트된다. 검증 단계 후에, 다른 프로그래밍 전압이 선택된 워드 라인에 인가될 수 있다. 일부 기법들에서, 프로그램 전압의 크기는 각각의 검증 단계 후에 증가된다. 검증을 통과한 메모리 셀들은 추가 프로그래밍으로부터 록아웃(lock out)될 수 있다.
선택된 워드 라인에 접속되는 메모리 셀들 중 일부("선택되지 않은 메모리 셀들")는 프로그래밍으로부터 금지될 필요가 있을 수 있다. 일부 기법들에서, 어떠한 메모리 셀도 프로그래밍을 수신하지 않을 워드 라인들("선택되지 않은 워드 라인들")에는 부스팅 전압들이 인가된다. 부스팅 전압들은 프로그래밍으로부터 금지될 그러한 선택되지 않은 메모리 셀들의 채널 전위를 상승시키는 것을 돕고, 이에 의해 선택되지 않은 메모리 셀들의 원하지 않는 프로그래밍을 방지한다.
유사한 도면번호의 요소들은 상이한 도면들 내의 공통 컴포넌트들을 지칭한다.
도 1은 메모리 디바이스의 기능 블록도이다.
도 2는 도 1의 감지 블록(51)의 일 실시예를 도시한 블록도이다.
도 3은 메모리 시스템의 일 실시예를 도시한 블록도이다.
도 4는 메모리 디바이스의 사시도이다.
도 4a는 일 실시예에서, 3D 메모리 구조물의 예시적인 워드 라인 층의 평면도를 도시한다.
도 4b는 도 4a와 부합하는 예시적인 SGD 층의 평면도를 도시한다.
도 4c는 도 4의 블록들 중 하나의 블록의 일부의 예시적인 단면도를 도시한다.
도 4d는 도 4c의 영역(423)의 도면을 도시한다.
도 4e는 도 4d의 메모리 홀(410)의 (x-y 평면에서의) 단면을 도시한다.
도 5는 심각하게 잘못 형상화된(mis-shaped) 메모리 홀의 예의 단면도이다.
도 6은 어레이로 구성된 메모리 셀들의 NAND 스트링들을 프로그래밍하기 위한 프로세스의 일 실시예를 설명하는 흐름도이다.
도 7a는 프로그래밍된 메모리 셀들에 대한 임계 전압들의 분포들을 도시한다.
도 7b는 심각한 잘못된 형상을 갖는 메모리 셀들의 그룹에 의해 발생할 수 있는 가능한 문제를 예시하기 위해 프로그래밍 후의 8개의 가능한 임계 전압 분포들을 도시한다.
도 7c는 도 7a의 예에서 사용된 것과는 상이한 프로그램 파라미터들을 사용한 프로그래밍 후의 8개의 임계 전압 분포들을 도시한다.
도 7d는 도 7c의 예에서 사용된 것과는 상이한 프로그램 파라미터들을 사용하여 예시하기 위해 프로그래밍 후의 임계 전압 분포들을 도시한다.
도 8은 메모리 셀들의 그룹의 메모리 홀의 잘못된 형상의 심각도에 하나 이상의 프로그램 파라미터들을 맞추는 데 사용되는, 메모리 셀들을 프로그래밍하는 프로세스의 일 실시예이다.
도 9는 소거 검증 전압과 A-상태 검증 전압 사이의 구역 내의 메모리 셀들의 카운트에 기초하여 A-상태 검증 전압이 조정되는 프로세스의 일 실시예의 흐름도이다.
도 10은 소거 검증 전압과 A-상태 검증 전압 사이의 구역 내의 메모리 셀들의 카운트에 기초하여 프로그램 스텝 크기가 조정되는 프로세스의 일 실시예의 흐름도이다.
도 11은 소거 검증 전압과 A-상태 검증 전압 사이의 구역 내의 메모리 셀들의 카운트에 기초하여 프로그램 스텝 크기 및 하나 이상의 검증 레벨들 양측 모두가 조정되는 프로세스의 일 실시예의 흐름도이다.
잘못 형상화된 비휘발성 메모리 셀들의 완화를 위한 기법들이 제공된다. 잘못된 형상은 메모리 셀의 성능에 부정적인 영향을 줄 수 있다. 예를 들어, 잘못된 형상은 소거 상태로 유지되어야 하는 메모리 셀들이 프로그래밍 직후에 다른 상태에 있도록 할 수 있다. 아래에서 더 상세히 논의되는 바와 같이, 이러한 문제의 가능한 원인은 잘못 형상화된 메모리 홀에 존재하는 메모리 셀 내의 전기장의 성질이다.
일부 실시예들에서, 메모리 홀들 내에 존재하는 메모리 셀들의 잘못된 형상이 완화된다. 메모리 홀은, 반도체 제조 프로세스 동안 형성되고 메모리 셀 또는 메모리 셀의 일부분이 형성되는 임의의 개구이다. 일부 실시예들에서, 메모리 홀들은 교번하는 산화실리콘 층들 및 질화실리콘 층들의 스택을 관통하여 메모리 홀들을 천공함으로써, 질화실리콘 층들을 전도성 층들로 대체함으로써, 그리고 메모리 셀 재료들의 환형 필름들로 메모리 홀들을 충전함으로써 형성된다. 전도성 층들은 메모리 셀들의 제어 게이트들뿐만 아니라 워드 라인들 양측 모두로서 역할을 한다. 환형 필름들은 제어 게이트에 인접한 블로킹 산화물 층, 전하 저장 영역, 터널 유전체, 및 채널(또는 바디)을 포함할 수 있다.
도 4e는 본 명세서에서 메모리 홀(MH)로 지칭되는 것에 존재하는 비휘발성 메모리 셀의 환형 필름의 일례의 단면도를 도시한다. 몇몇 환형 메모리 셀 필름들(463 내지 467)이 도시되어 있다. 이들 필름들(463 내지 467)은 메모리 홀 내에 형성될 수 있다. 예를 들어, 비휘발성 메모리 셀은 블로킹 산화물/블록 하이-k 재료(463), SiN 또는 다른 질화물과 같은 전하 트래핑(charge-trapping) 층 또는 필름(464), 터널링 층(465), 폴리실리콘 바디 또는 채널(466), 및 유전체 코어(467)를 포함할 수 있다. 일부 실시예들에서, 블로킹 산화물(463)은 전도성 제어 게이트(도 4e에는 도시되지 않음)에 의해 둘러싸인다.
제조 프로세스의 제한들로 인해, 메모리 홀은 잘못 형상화될 수 있다. 도 5는 잘못 형상화된 메모리 홀에 존재하는 비휘발성 메모리 셀의 환형 필름들의 다른 예의 단면도를 도시한다. 메모리 홀의 불규칙적인 형상으로 인해, 환형 필름들(463 내지 467)은 또한 불규칙적인 형상들을 갖는다. 위에 언급된 바와 같이, 환형 필름들은 전도성 제어 게이트에 의해 둘러싸일 수 있다. 전도성 제어 게이트는 도 5에 도시되어 있지 않지만, 전도성 제어 게이트가 필름(463)의 경계에서 불규칙적인 형상을 가질 것임을 이해할 것이다. 메모리 홀의 불규칙적인 형상은 메모리 셀 내의 전기장의 강도에 영향을 준다. 예를 들어, 메모리 셀 동작 동안, 전압들이 제어 게이트에 인가될 때, 전기장은 제어 게이트 형상이 더 뾰족한 곳에서 더 강할 수 있고 제어 게이트 형상이 더 직선형인 곳에서 더 약할 수 있다. 대조적으로, 메모리 셀 동작 동안, 전기장은 도 4e의 예시적인 메모리 홀에 대해 더 균일할 것이다. 도 5의 메모리 홀의 잘못된 형상의 하나의 가능한 결과는 (선택된 워드 라인에 접속된) 선택되지 않은 메모리 셀들의 원하지 않는 프로그래밍을 방지하도록 의도되는 (제어 게이트에 인가되는) 부스팅 전압들이 바람직하지 않은 프로그래밍을 방지하기에 충분히 효과적이지 않을 수 있다는 것이다. 가능한 영향은 소거 상태로 유지되어야 하는 메모리 셀들이 프로그래밍 직후에 프로그래밍된 상태(예컨대, A-상태)에 있다는 것이다.
일부 실시예들에서, 비휘발성 메모리 셀들의 그룹의 프로그래밍 동안 하나 이상의 프로그램 파라미터들은 그룹 내의 메모리 홀의 잘못된 형상의 심각도(severity)에 기초하여 선택된다. 하나 이상의 프로그램 파라미터들은 1) 프로그램 루프들 사이의 프로그램 전압 스텝 크기; 2) 소거 상태 검증 기준 전압과 A-상태 검증 기준 전압 사이의 전압 갭(gap); 3) 메모리 셀이 그의 타깃 상태로 프로그래밍되었는지 여부를 검증하는 데 사용되는 하나 이상의 검증 기준 레벨들; 및/또는 4) 최저 프로그래밍된 상태에 대한 제1 검증 기준 전압과 최고 프로그래밍된 상태에 대한 제2 검증 기준 전압 사이의 전압 갭을 포함할 수 있지만, 이에 한정되지는 않는다.
각각의 메모리 홀의 잘못된 형상의 심각도를 특징지으려고 시도하기보다는, 일부 실시예들에서, 메모리 셀들의 그룹의 메모리 홀의 잘못된 형상의 심각도가 결정되는 것에 유의한다. 그룹 내의 잘못된 형상의 심각도에 상당한 변동이 있을 수 있다. 그룹 내의 (도 4e의 예와 같은) 일부 메모리 홀들은 잘 형성될 수 있고, 그룹 내의 (도 5의 예와 같은) 다른 메모리 홀들은 매우 불규칙적일 수 있고, 그룹 내의 다른 메모리 홀들은 도 4e의 예와 도 5의 예 사이의 불규칙성을 가질 수 있고, 또 다른 것들은 도 5의 예보다 훨씬 더 불규칙적일 수 있다. 일부 실시예들에서, 그룹 내의 메모리 홀의 잘못된 형상의 심각도는 그룹을 프로그래밍한 직후에 소거 상태 검증 전압과 A-상태 검증 전압 사이의 구역 내의 임계 전압을 갖는 메모리 셀들의 수에 기초한다. 이 구역은 소거 상태 검증 기준 전압과 A-상태 검증 기준 전압 사이의 전체 영역을 차지할 필요가 없다는 것에 유의한다. 예를 들어, 구역은 A-상태를 판독하는 데 사용되는 기준 전압과 A-상태 검증 기준 전압 사이에 있을 수 있다.
전술한 내용은 메모리 셀들의 그룹의 잘못된 형상의 심각도에 프로그램 파라미터들을 맞추기 위해 사용될 수 있다. 메모리 셀들의 그룹에 대한 메모리 홀들이 심각하게 잘못 형상화되는 경우에, 하나 이상의 프로그램 파라미터들이 잘못된 형상으로 인해 발생하는 하나 이상의 문제들을 다루도록 선택될 수 있다. 그룹 내의 메모리 홀들 중 일부가 (심지어 많은 메모리 홀들이) 잘 형성될 수 있음에 유의한다. 일 실시예에서, 소거 상태 검증 전압과 A-상태 검증 레벨 사이의 마진은 그룹 내의 메모리 홀의 잘못된 형상이 임계치 초과라는 것에 응답하여 증가된다. 일 실시예에서, 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 더 작은 프로그램 스텝 크기가 사용된다. 일 실시예에서, 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 더 작은 프로그램 스텝 크기 및 증가된 A-상태 검증 레벨 양측 모두가 사용된다. 이러한 세트의 프로그램 파라미터들을 사용하면, 그렇지 않은 경우 사용하기에 부적절할 수 있는 메모리 셀들의 그룹(예를 들어, 다이, 평면, 블록)이 사용되게 할 수 있다.
메모리 셀들의 그룹에 대한 메모리 홀들의 잘못된 형상의 심각도가 낮은 경우에, 프로그램 파라미터들은, 예를 들어 디폴트 값들에 대한 성능 레벨을 증가시키도록 조정될 수 있다. 그룹 내의 메모리 홀들 중 몇몇은 (도 5의 예에서와 같이) 다소 불규칙적이거나 심지어 심각하게 불규칙적일 수 있다는 것에 유의한다. 일 실시예에서, 메모리 셀들의 그룹에 대한 성능 레벨은 메모리 홀의 잘못된 형상의 심각도가 임계치 미만인 것으로 결정하는 것에 응답하여 (디폴트 성능 레벨에 비해) 증가된다. 일 실시예에서, 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 (디폴트 프로그램 스텝 크기에 비해) 더 큰 프로그램 스텝 크기가 사용된다. 더 큰 프로그램 스텝 크기를 사용하는 것은 프로그래밍 시간을 감소시킴으로써 성능을 개선시킬 수 있다. 일 실시예에서, 소거 상태 검증 기준 전압과 A-상태 검증 기준 레벨 사이의 마진은 그룹 내의 메모리 홀의 잘못된 형상이 임계치 미만이라는 것에 응답하여 (디폴트 A-상태 검증 기준 레벨에 비해) 감소되며, 이는 다른 프로그래밍된 상태들 사이의 더 큰 마진들을 허용할 수 있다. 일 실시예에서, 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 더 큰 프로그램 스텝 크기 및 감소된 A-상태 검증 레벨 양측 모두가 사용된다. 따라서, 디폴트 성능 레벨들에 비해 성능이 개선될 수 있다.
도 1 내지 도 4e는 본 명세서에서 제안되는 기술을 구현하는 데 사용될 수 있는 메모리 시스템의 일례를 설명한다. 도 1은 예시적인 메모리 시스템(100)의 기능 블록도이다. 도 1에 도시된 컴포넌트들은 전기 회로들이다. 메모리 시스템(100)은 하나 이상의 메모리 다이들(108)을 포함한다. 하나 이상의 메모리 다이들(108)은 완전한 메모리 다이들 또는 부분 메모리 다이들일 수 있다. 일 실시예에서, 각각의 메모리 다이(108)는 메모리 구조물(126), 제어 회로부(110), 및 판독/기록 회로들(128)을 포함한다. 메모리 구조물(126)은 로우(row) 디코더(124)를 통해 워드 라인들에 의해 그리고 컬럼(column) 디코더(132)를 통해 비트 라인들에 의해 어드레싱가능하다. 판독/기록/소거 회로들(128)은 SB1, SB2, ..., SBp(감지 회로부)를 포함한 다수의 감지 블록들(51)을 포함하고, 한 페이지의 메모리 셀들이 동시에 판독 또는 프로그래밍되는 것을 허용한다. 또한, 많은 스트링들의 메모리 셀들이 동시에 소거될 수 있다.
일부 시스템들에서는, 하나 이상의 메모리 다이(108)와 동일한 패키지(예컨대, 착탈식 저장 카드) 내에 제어기(122)가 포함된다. 그러나, 다른 시스템들에서, 제어기는 메모리 다이(108)로부터 분리될 수 있다. 일부 실시예들에서, 제어기는 메모리 다이(108)와는 상이한 다이 상에 있을 것이다. 일부 실시예들에서는, 하나의 제어기(122)가 다수의 메모리 다이(108)와 통신할 것이다. 다른 실시예들에서, 각각의 메모리 다이(108)는 그 자신의 제어기를 갖는다. 커맨드들 및 데이터가 데이터 버스(120)를 통하여 호스트(140)와 제어기(122) 사이에서 전달되고, 라인들(118)을 통하여 제어기(122)와 하나 이상의 메모리 다이(108) 사이에서 전달된다. 일 실시예에서, 메모리 다이(108)는 라인들(118)에 접속된 한 세트의 입력 및/또는 출력(I/O) 핀들을 포함한다.
제어 회로부(110)는 판독/기록 회로들(128)과 협력하여 메모리 구조물(126)에 대한 메모리 동작들(예컨대, 기록, 판독, 소거, 및 기타)을 수행하며, 상태 머신(112), 온-칩 어드레스 디코더(114), 및 전력 제어 회로(116)를 포함한다. 일 실시예에서, 제어 회로부(110)는 버퍼들, 예컨대 레지스터들, ROM 퓨즈(fuse)들, 및 디폴트 값들, 예컨대, 베이스 전압들 및 다른 파라미터들을 저장하기 위한 다른 저장 디바이스들을 포함한다.
온-칩 어드레스 디코더(114)는 디코더들(124, 132)에 의해 사용되는 하드웨어 어드레스에 호스트(140) 또는 제어기(122)에 의해 사용되는 어드레스들 사이의 어드레스 인터페이스를 제공한다. 전력 제어 회로(116)는 메모리 동작들 동안 워드 라인들, 비트 라인들, 및 선택 라인들에 공급되는 전력 및 전압들을 제어한다. 전력 제어 회로(116)는, 일 실시예에서, 전압 회로부를 포함한다. 전력 제어 회로(116)는 전압들을 생성하기 위한 전하 펌프들을 포함할 수 있다. 감지 블록들은 비트 라인 드라이버들을 포함한다. 전력 제어 회로(116)는, 일 실시예에서, 상태 머신(112)의 제어 하에서 실행된다.
상태 머신(112) 및/또는 제어기(122)(또는 동등하게 기능화된 회로들)는, 도 1에 도시된 다른 회로들의 전부 또는 그들의 서브세트와 조합하여, 본 명세서에 기술되는 기능들을 수행하는 하나 이상의 제어 회로들로 간주될 수 있다. 하나 이상의 제어 회로들은 하드웨어만을 포함할 수 있거나, 또는 (펌웨어를 포함하는) 소프트웨어와 하드웨어의 조합을 포함할 수 있다. 예를 들어, 본 명세서에서 기술되는 기능들을 수행하도록 펌웨어에 의해 프로그래밍된 제어기가 제어 회로의 일례이다. 하나 이상의 제어 회로들은 프로세서, PGA(Programmable Gate Array, FPGA(Field Programmable Gate Array), ASIC(Application Specific Integrated Circuit), 집적 회로 또는 다른 타입의 회로를 포함할 수 있다.
(온-칩 또는 오프-칩) 제어기(122)(이는, 일 실시예에서, 전기 회로임)는, 하나 이상의 프로세서들(122c), ROM(122a), RAM(122b), 메모리 인터페이스(MI)(122d) 및 호스트 인터페이스(HI)(122e)를 포함할 수 있으며, 이들은 모두 상호접속된다. 저장 디바이스들(ROM(122a), RAM(122b))은 한 세트의 명령어들(펌웨어를 포함함)과 같은 코드(소프트웨어)를 저장하고, 하나 이상의 프로세서들(122c)은 한 세트의 명령어들을 실행하여 본 명세서에서 기술되는 기능을 제공하도록 동작가능하다. 대안으로 또는 추가로, 하나 이상의 프로세서들(122c)은 하나 이상의 워드 라인들에 접속된 메모리 셀들의 예약된 영역과 같은 메모리 구조물 내의 저장 디바이스로부터의 코드에 액세스할 수 있다. RAM(122b)은 (아래에서 논의되는) 캐싱 프로그램 데이터를 포함한, 제어기(122)에 대한 데이터를 저장하기 위한 것일 수 있다. ROM(122a), RAM(122b) 및 프로세서(122c)와 통신 상태에 있는 메모리 인터페이스(122d)는 제어기(122)와 하나 이상의 메모리 다이(108) 사이에 전기적 인터페이스를 제공하는 전기 회로이다. 예를 들어, 메모리 인터페이스(122d)는 신호들의 포맷 또는 타이밍을 변경할 수 있고, 버퍼를 제공할 수 있고, 서지(surge)들로부터 분리될 수 있고, I/O를 래칭할 수 있고, 등등일 수 있다. 하나 이상의 프로세서들(122c)은 메모리 인터페이스(122d)를 통해 제어 회로부(110)(또는 메모리 다이(108)의 다른 컴포넌트)에 커맨드들을 발행할 수 있다. 호스트 인터페이스(122e)는 호스트(140)로부터 커맨드들, 어드레스들 및/또는 데이터를 수신하여 호스트(140)에 데이터 및/또는 상태를 제공하기 위해 호스트(140)의 데이터 버스(120)와의 전기적 인터페이스를 제공한다.
일 실시예에서, 메모리 구조물(126)은 다수의 메모리 레벨들이 웨이퍼와 같은 단일 기판 위에 형성되는 비휘발성 메모리 셀들의 3차원 메모리 어레이를 포함한다. 메모리 구조물은 실리콘(또는 다른 타입의) 기판 위에 활성 영역이 배치되어 있는 메모리 셀들의 어레이들의 하나 이상의 물리적 레벨들에서 모놀리식으로 형성되는 임의의 타입의 비휘발성 메모리를 포함할 수 있다. 일례에서, 비휘발성 메모리 셀들은 전하 트래핑 재료를 갖는 수직 NAND 스트링들을 포함한다.
다른 실시예에서, 메모리 구조물(126)은 비휘발성 메모리 셀들의 2차원 메모리 어레이를 포함한다. 일례에서, 비휘발성 메모리 셀들은 플로팅 게이트들을 활용하는 NAND 플래시 메모리 셀들이다. 다른 타입들의 메모리 셀들(예컨대, NOR-타입 플래시 메모리)이 또한 사용될 수 있다.
메모리 구조물(126)에 포함된 메모리 어레이 아키텍처 또는 메모리 셀의 정확한 타입은 상기의 예들로 제한되지 않는다. 많은 상이한 타입들의 메모리 어레이 아키텍처들 또는 메모리 기술들이 메모리 구조물(126)을 형성하는 데 이용될 수 있다. 어떠한 특정의 비휘발성 메모리 기술도 본 명세서에서 제안되는 새롭게 청구되는 실시예들의 목적을 위해 필요하지는 않다. 메모리 구조물(126)의 메모리 셀들에 적절한 기술들의 다른 예들은 위상 변화 메모리(예컨대, PCM) 등을 포함한다. 메모리 구조물(126)의 메모리 셀 아키텍처들에 대한 적절한 기술들의 예들은 2차원 어레이들, 3차원 어레이들, 교차점 어레이(cross-point array)들, 적층형 2차원 어레이들, 수직 비트 라인 어레이들 등을 포함한다.
당업자는, 본 명세서에서 설명되는 기술이 단일의 특정 메모리 구조물에 제한되는 것이 아니라, 본 명세서에서 설명되는 바와 같은 기술의 사상 및 범주 내에서 그리고 당업자에 의해 이해되는 바와 같이 많은 관련 메모리 구조물들을 커버함을 인식할 것이다.
저장 디바이스는 한 세트의 명령어들과 같은 코드를 포함하고, 프로세서는 한 세트의 명령어들을 실행하여 본 명세서에서 설명되는 기능을 제공하도록 동작가능하다. 대안으로 또는 추가로, 프로세서는 하나 이상의 워드 라인들에서의 메모리 셀들의 예약된 영역과 같은 메모리 구조물의 저장 디바이스(126a)로부터의 코드에 액세스할 수 있다.
예를 들어, 코드는 예컨대, 프로그래밍, 판독 및 소거 동작들을 위해 메모리 구조물에 액세스하기 위해 제어기에 의해 사용될 수 있다. 코드는 부트 코드 및 제어 코드(예를 들어, 한 세트의 명령어들)를 포함할 수 있다. 부트 코드는 부팅 또는 시동 프로세스 동안 제어기를 초기화하고 제어기가 메모리 구조물에 액세스할 수 있게 하는 소프트웨어이다. 코드는 하나 이상의 메모리 구조물을 제어하기 위해 제어기에 의해 사용될 수 있다. 전력 공급 시에, 프로세서(122c)는 실행을 위해 ROM(122a) 또는 저장 디바이스(126)로부터 부트 코드를 페치(fetch)하고, 부트 코드는 시스템 컴포넌트들을 초기화하고 제어 코드를 RAM(122b)에 로딩한다. 일단 제어 코드가 RAM에 로딩되면, 그것은 프로세서에 의해 실행된다. 제어 코드는 메모리의 제어 및 할당, 명령어들의 처리의 우선 순위화, 및 입력 및 출력 포트들의 제어와 같은 기본 작업들을 수행하도록 드라이버들을 포함한다.
대체적으로, 제어 코드는 아래에서 추가로 논의되는 흐름도들의 단계들을 포함한 본 명세서에 기술된 기능들을 수행하기 위한, 그리고 아래에서 추가로 논의되는 것들을 포함한 전압 파형들을 제공하기 위한 명령어들을 포함할 수 있다. 제어 회로는 명령어들을 실행하여 본 명세서에 기술된 기능들을 수행하도록 구성될 수 있다.
도 2는 도 1의 감지 블록(51)의 일 실시예를 도시한 블록도이다. 개별 감지 블록(51)은 감지 회로들(60 내지 63) 또는 감지 증폭기들로 지칭되는 하나 이상의 코어 부분들, 및 관리 회로(190)로 지칭되는 공통 부분으로 분할된다. 일 실시예에서, 각각의 비트 라인/NAND 스트링에 대한 별개의 감지 회로 및 한 세트의 다수의, 예컨대 4개 또는 8개의 감지 회로들에 대한 하나의 공통 관리 회로(190)가 있을 것이다. 그룹 내의 감지 회로들 각각은 데이터 버스(172)를 통해 연관된 관리 회로와 통신한다. 따라서, 한 세트의 저장 요소들(메모리 셀들)의 감지 회로들과 통신하는 하나 이상의 관리 회로들이 있다.
감지 회로(60)는, 일례로서, 접속된 비트 라인 내의 전도 전류가 사전결정된 임계 레벨을 초과하는지 또는 그 미만인지 여부를 결정함으로써 감지를 수행하는 감지 회로부(170)를 포함한다. 감지는 판독 또는 검증 동작에서 발생할 수 있다. 감지 회로는 또한, 프로그램 동작에서 프로그램 전압의 인가 동안 비트 라인 전압을 공급한다.
감지 회로는 Vbl 셀렉터(173), 감지 노드(171), 비교 회로(175) 및 트립 래치(trip latch)(174)를 포함할 수 있다. 프로그램 전압의 인가 동안, Vbl 셀렉터(173)는 프로그램 인에이블 전압(예컨대, V_pgm_enable) 또는 프로그램-금지 전압(예컨대, Vbl_inh)을 메모리 셀에 접속된 비트 라인으로 패스할 수 있다. 본 명세서에서, "프로그램 인에이블 전압"은 프로그램 전압(예컨대, Vpgm)이 또한 메모리 셀에 인가되는 동안 메모리 셀의 프로그래밍을 가능하게 하는, 메모리 셀에 인가된 전압으로서 정의된다. 소정 실시예들에서, 프로그램 인에이블 전압은 메모리 셀에 커플링된 비트 라인에 인가되는 반면, 프로그램 전압은 메모리 셀의 제어 게이트에 인가된다. 본 명세서에서, "프로그램 금지 전압"은, 프로그램 전압(예컨대, Vpgm)이 또한 메모리 셀에 인가되는(예컨대, 메모리 셀의 제어 게이트에 인가되는) 동안 메모리 셀에 커플링된 비트 라인에 인가되어 메모리 셀의 프로그래밍을 금지하는 전압으로서 정의된다. 부스팅 전압들(예컨대, Vpass)이 비트 라인에 인가된 프로그램 금지 전압과 함께 선택되지 않은 워드 라인들에 인가될 수 있다는 것에 유의한다.
프로그램 금지 전압들은 프로그래밍되지 않는 메모리 셀들에 커플링된 비트 라인들 및/또는 프로그래밍 프로세스의 실행을 통해 그들 각자의 타깃 임계 전압에 도달한 메모리 셀들을 갖는 비트 라인들에 인가된다. 이들은 "선택되지 않은 비트 라인들"로 지칭될 수 있다. 프로그램 금지 전압들은 프로그래밍될 메모리 셀을 갖는 비트 라인들("선택된 비트 라인들")에는 인가되지 않는다. 프로그램 금지 전압이 선택되지 않은 비트 라인에 인가될 때, 일 실시예에서, 비트 라인은 NAND 채널로부터 컷오프(cut off)된다. 따라서, 일 실시예에서, 프로그램 금지 전압은 NAND 채널로 패스되지 않는다. 부스팅 전압들은 선택되지 않은 워드 라인들에 인가되어 NAND 채널의 전위를 상승시키며, 이는 메모리 셀 - 메모리 셀의 제어 게이트에서 프로그램 전압을 수신함 - 의 프로그래밍을 금지한다.
트랜지스터(55)(예컨대, nMOS)는, 트랜지스터의 제어 게이트 전압을 충분히 높게, 예를 들어 Vbl 셀렉터로부터 패스된 Vbl보다 높게 설정함으로써 Vbl 셀렉터(173)로부터 Vbl을 패스시키기 위한 패스 게이트로서 구성될 수 있다. 예를 들어, 셀렉터(56)는 전력 공급원 전압(Vdd), 예컨대 3 내지 4 V를 트랜지스터(55)의 제어 게이트로 패스할 수 있다.
감지 회로(60)는 전압들이 비트 라인에 인가될 때의 타이밍을 제어하도록 구성된다. 감지 회로(60)는 일 실시예에서, QPW 전압이 비트 라인에 인가되는 시간의 길이를 제어하도록 구성된다. 일 실시예에서, 예측 프로그래밍 동안 약한 프로그램 인에이블 전압이 BL에 인가되는 시간의 길이는 (BL과 연관된 메모리 셀이 프로그래밍될) 비-CP 상태에 좌우된다. 일 실시예에서, 예측 프로그래밍 동안 풀 프로그램 인에이블 및 약한 프로그램 인에이블 전압 양측 모두가 BL에 인가되는 시간의 길이들은 (BL과 연관된 메모리 셀이 프로그래밍될) 비-CP 상태에 좌우된다.
판독 및 검증 동작들과 같은 감지 동작들 동안, 비트 라인 전압은 셀렉터(56)에 의해 패스되는 전압에 기초하여 트랜지스터(55)에 의해 설정된다. 비트 라인 전압은 트랜지스터의 제어 게이트 전압에서 그것의 Vt(예컨대, 1 V)를 뺀 것과 대략 동일하다. 예를 들어, Vbl+Vt가 셀렉터(56)에 의해 패스되면, 비트 라인 전압은 Vbl일 것이다. 이는 소스 라인이 0 V에 있다고 상정한다. 트랜지스터(55)는 제어 게이트 전압에 따라 비트 라인 전압을 클램핑하고 패스 게이트보다는 소스-팔로워(source-follower)로서 작용한다. Vbl 셀렉터(173)는 트랜지스터(55) 상의 제어 게이트 전압보다 높은 Vdd와 같은 상대적으로 높은 전압을 패스하여 소스-팔로워 모드를 제공할 수 있다. 따라서, 감지 동안 트랜지스터(55)는 비트 라인을 충전한다.
하나의 접근법에서, 각각의 감지 회로의 셀렉터(56)는 Vbl 또는 Vdd를 패스하기 위해 다른 감지 회로들의 셀렉터들과는 별개로 제어될 수 있다. 각각의 감지 회로의 Vbl 셀렉터(173)는 또한, 다른 감지 회로들의 Vbl 셀렉터들과는 별개로 제어될 수 있다.
감지 동안, 감지 노드(171)는 Vsense_init=3 V와 같은 초기 전압까지 충전된다. 감지 노드는 이어서 트랜지스터(55)를 통해 비트 라인에 접속되고, 감지 노드의 감쇠의 양은 메모리 셀이 전도성 상태에 있는지 또는 비전도성 상태에 있는지 여부를 결정하는 데 사용된다. 비교 회로(175)는 감지 시간에 감지 노드 전압을 트립 전압과 비교하는 데 사용된다. 감지 노드 전압이 트립 전압(Vtrip) 미만으로 감쇠하는 경우, 메모리 셀은 전도성 상태에 있고 그것의 Vt는 검증 신호의 전압 이하이다. 감지 노드 전압이 Vtrip 미만으로 감쇠하지 않는 경우, 메모리 셀은 비전도성 상태에 있고 그것의 Vt는 검증 신호의 전압을 초과한다. 감지 회로(60)는 메모리 셀이 전도성 상태에 있는지 또는 비전도성 상태에 있는지 여부에 기초하여 비교 회로(175)에 의해 설정되는 트립 래치(174)를 포함한다. 트립 래치에서의 데이터는 프로세서(192)에 의해 판독되는 비트일 수 있다.
관리 회로(190)는 프로세서(192), 데이터 래치들(194 내지197)의 4개의 예시적인 세트들 및 데이터 래치들(194)의 세트와 데이터 버스(120) 사이에 커플링된 I/O 인터페이스(198)를 포함한다. 예를 들어, 개별 래치들 LDL, MDL 및 UDL을 포함하는 데이터 래치들의 하나의 세트가 각각의 감지 회로에 대해 제공될 수 있다. 일부 경우들에서, 추가 데이터 래치들이 사용될 수 있다. LDL은 데이터의 하부 페이지에 대한 비트를 저장하고, MDL은 데이터의 중간 페이지에 대한 비트를 저장하고, UDL은 데이터의 상부 페이지에 대한 비트를 저장한다. 이것은 메모리 셀당 8-레벨 또는 3-비트의 메모리 디바이스 내에 있다.
프로세서(192)는, 예컨대 감지된 메모리 셀에 저장된 데이터를 결정하고 결정된 데이터를 데이터 래치들의 세트에 저장하기 위해, 계산들을 수행한다. 데이터 래치들(194 내지 197)의 각각의 세트는 판독 동작 동안 프로세서(192)에 의해 결정된 데이터 비트들을 저장하는 데, 그리고 기록 데이터가 메모리 내로 프로그래밍되려는 것으로 나타내는 프로그램 동작 동안 데이터 버스(120)로부터 불러오는 데이터 비트들을 저장하는 데 사용된다. I/O 인터페이스(198)는 데이터 래치들(194 내지 197)과 데이터 버스(120) 사이에 인터페이스를 제공한다.
프로세서(192)는 또한, 래치들의 상태에 기초하여, 어느 전압이 비트 라인에 인가되는지를 결정하는 데 사용될 수 있다. 이것은 약한 프로그램 인에이블 전압이 비트 라인에 인가되는 시간의 길이 및/또는 크기를 관리하는 데 사용될 수 있다.
판독 동안, 시스템의 동작은 어드레싱된 메모리 셀에 대한 상이한 제어 게이트 전압들의 공급을 제어하는 상태 머신(112)의 제어 하에 있다. 그것이 메모리에 의해 지원되는 다양한 메모리 상태들에 대응하는 다양한 사전정의된 제어 게이트 전압들을 통해 스텝형으로 진행됨에 따라, 감지 회로는 이들 전압들 중 하나에서 트리핑할 수 있고, 대응하는 출력이 데이터 버스(172)를 통해 감지 회로로부터 프로세서(192)에 제공될 것이다. 그 시점에서, 프로세서(192)는 감지 회로의 트리핑 이벤트(들) 및 상태 머신으로부터 입력 라인들(193)을 통해 인가된 제어 게이트 전압에 대한 정보를 고려하여 결과적인 메모리 상태를 결정한다. 이어서, 그것은 메모리 상태에 대한 이진 인코딩을 계산하고, 결과의 데이터 비트들을 데이터 래치들(194 내지 197)에 저장한다.
일부 구현예들은 다수의 프로세서들(192)을 포함할 수 있다. 일 실시예에서, 각각의 프로세서(192)는 출력 라인들(도시되지 않음)을 포함하여 출력 라인들 각각이 함께 와이어드-OR(wired-OR)되게 한다. 일부 실시예들에서, 출력 라인들은 와이어드-OR 라인에 접속되기 전에 반전된다. 이러한 구성은, 와이어드-OR를 수신하는 상태 머신이, 프로그래밍되고 있는 모든 비트들이 원하는 레벨에 도달했을 때를 결정할 수 있기 때문에, 프로그램 검증 테스트 동안 프로그래밍 프로세스가 완료될 때의 빠른 결정을 가능하게 한다. 예를 들어, 각각의 비트가 그의 원하는 레벨에 도달했을 때, 그 비트에 대한 로직 0이 와이어드-OR 라인으로 전송될 것이다(또는 데이터 1이 반전된다). 모든 비트들이 데이터 0 (또는 반전된 데이터 1)을 출력할 때, 상태 머신은 프로그래밍 프로세스를 종료하는 것을 알고 있다. 각각의 프로세서가 8개의 감지 회로들과 통신하기 때문에, 상태 머신은 와이어드-OR 라인을 8회 판독할 필요가 있거나, 또는 상태 머신이 와이어드-OR 라인을 1회만 판독하면 되도록 로직이 프로세서(192)에 추가되어 연관된 비트 라인들의 결과들을 누산한다. 유사하게, 로직 레벨들을 정확하게 선택함으로써, 전반적인 상태 머신은 제1 비트가 그의 상태를 변경하는 때를 검출할 수 있고 그에 따라서 알고리즘들을 변경할 수 있다.
메모리 셀들에 대한 프로그램 또는 검증 동작들 동안, 프로그래밍될 데이터(기록 데이터)는 데이터 버스(120)로부터 데이터 래치들(194 내지 197)의 세트에, LDL, MDL 및 UDL 래치들에, 메모리 셀당 3비트 구현예에 저장된다.
프로그램 동작은, 상태 머신의 제어 하에서, 한 세트의 프로그래밍 전압 펄스들을 어드레싱된 메모리 셀들의 제어 게이트들에 인가한다. 각각의 전압 펄스는 증분식 스텝 펄스 프로그래밍으로 지칭되는 프로세스에서 스텝 크기만큼 이전의 프로그램 펄스로부터 크기가 스텝형으로 증가될 수 있다. 각각의 프로그램 전압 다음에는 메모리 셀들이 원하는 메모리 상태로 프로그래밍되었는지를 결정하도록 검증 동작이 뒤따른다. 일부 경우들에서, 프로세서(192)는 원하는 메모리 상태에 대한 재판독(read back)된 메모리 상태를 모니터링한다. 두 상태들이 일치할 때, 프로세서(192)는, 예컨대 그의 래치들을 업데이트함으로써 비트 라인을 프로그램 금지 모드로 설정한다. 이것은 비트 라인에 커플링된 메모리 셀을 추가로 프로그래밍하는 것을, 그의 제어 게이트에 추가 프로그램 펄스들이 인가되더라도, 금지한다.
데이터 래치들(194 내지 197)의 각각의 세트는 각각의 감지 회로에 대한 데이터 래치들의 스택으로서 구현될 수 있다. 일 실시예에서, 감지 회로(60)당 3개의 데이터 래치들이 있다. 일부 구현들에서, 데이터 래치들은 그에 저장된 병렬 데이터가 데이터 버스(120)에 대한 직렬 데이터로 변환되도록, 그리고 그 반대로 되도록 시프트 레지스터로서 구현된다. 메모리 셀들의 판독/기록 블록에 대응하는 데이터 래치들 모두는, 데이터의 블록이 직렬 전송(serial transfer)에 의해 입력 또는 출력될 수 있도록, 블록 시프트 레지스터를 형성하기 위해 함께 연결될 수 있다. 특히, 판독/기록 회로들의 뱅크는 그의 데이터 래치들의 세트 각각이, 이들이 마치 전체 판독/기록 블록에 대한 시프트 레지스터의 일부인 것처럼, 순차적으로 데이터 버스 내로 또는 데이터 버스 외부로 데이터를 시프트하도록 구성된다.
데이터 래치들은 연관된 메모리 셀이 프로그램 동작에서 소정 이정표(milepost)들에 언제 도달했는지를 식별한다. 예를 들어, 래치들은 메모리 셀의 Vt가 특정 검증 전압 미만임을 식별할 수 있다. 데이터 래치들은 메모리 셀이 현재 데이터의 페이지로부터 하나 이상의 비트들을 저장하는지 여부를 나타낸다. 예를 들어, LDL 래치들은 하부 페이지의 데이터를 저장하는 데 사용될 수 있다. LDL 래치는 하부 페이지 비트가 연관된 메모리 셀에 저장될 때 (예를 들어, 0에서 1로) 플립된다. 중간 또는 상부 페이지 비트가 각각 연관된 메모리 셀에 저장될 때 MDL 또는 UDL 래치가 플립된다. 이는 연관된 메모리 셀이 프로그래밍을 완료할 때 발생한다.
도 3은 제어기(122)의 일 실시예의 더 상세한 사항들을 도시한 예시적인 메모리 시스템(100)의 블록도이다. 도 3의 제어기는 플래시 메모리 제어기이지만, 비휘발성 메모리(108)가 플래시로 제한되지 않는다는 것에 유의한다. 따라서, 제어기(122)는 플래시 메모리 제어기의 예로 제한되지 않는다. 본 명세서에 사용되는 바와 같이, 플래시 메모리 제어기는, 플래시 메모리에 저장된 데이터를 관리하고 컴퓨터 또는 전자 디바이스와 같은 호스트와 통신하는 디바이스이다. 플래시 메모리 제어기는 본 명세서에 기술된 특정 기능에 더하여 다양한 기능을 가질 수 있다. 예를 들어, 플래시 메모리 제어기는 메모리가 적절하게 동작하고 있음을 보장하도록, 불량한 플래시 메모리 셀들을 매핑 아웃(mapping out)하도록, 그리고 향후의 결함(failed) 셀들을 대신하기 위한 여분의 메모리 셀들을 할당하도록 플래시 메모리를 포맷화할 수 있다. 여분의 셀들의 일부는, 플래시 메모리 제어기를 동작시키고 다른 특징들을 구현하기 위하여 펌웨어를 보유하는 데 사용될 수 있다. 동작 시, 호스트가 플래시 메모리로부터 데이터를 판독하거나 그에 데이터를 기록할 필요가 있는 경우, 이는 플래시 메모리 제어기와 통신할 것이다. 호스트가, 데이터가 판독/기록될 논리적 어드레스를 제공하는 경우, 플래시 메모리 제어기는 호스트로부터 수신된 논리적 어드레스를 플래시 메모리 내의 물리적 어드레스로 변환할 수 있다. (대안으로, 호스트는 물리적 어드레스를 제공할 수 있다). 플래시 메모리 제어기는 또한, 마모 레벨링(wear leveling)(달리 반복적으로 기록될 메모리의 특정 블록들의 마모를 피하도록 기록들을 분포시킴) 및 가비지 수집(garbage collection)(블록이 풀(full)이 된 후에, 데이터의 유효 페이지들만을 새로운 블록으로 이동시켜, 풀 블록이 소거 및 재사용될 수 있게 함)과 같은, 그러나 그에 제한되지 않는, 다양한 메모리 관리 기능들을 수행할 수 있다.
제어기(122)와 비휘발성 메모리 다이(108) 사이의 인터페이스는 토글 모드(Toggle Mode) 200, 400, 또는 800과 같은 임의의 적합한 플래시 인터페이스일 수 있다. 일 실시예에서, 메모리 시스템(100)은 카드 기반 시스템, 예컨대, SD(Secure Digital) 또는 마이크로-SD(Micro Secure Digital) 카드일 수 있다. 대안의 실시예에서, 메모리 시스템(100)은 임베디드 메모리 시스템의 일부일 수 있다. 예를 들어, 플래시 메모리는 호스트 내에 임베드될 수 있다. 다른 예에서, 메모리 시스템(100)은 솔리드 스테이트 드라이브(solid state drive, SSD)의 형태일 수 있다.
일부 실시예들에서, 비휘발성 메모리 시스템(100)은 제어기(122)와 비휘발성 메모리 다이(108) 사이에 단일 채널을 포함하고, 본 명세서에서 설명되는 주제는 단일 메모리 채널을 갖는 것으로 제한되지 않는다. 예를 들어, 일부 메모리 시스템 아키텍처들에서, 2개, 4개, 8개 또는 그 이상의 채널들이, 제어기 용량에 따라, 제어기와 메모리 다이 사이에 존재할 수 있다. 도면들에 단일 채널이 도시되어 있더라도, 본 명세서에서 설명된 임의의 실시예들에는, 제어기와 메모리 다이 사이에 하나 초과의 채널이 존재할 수 있다.
메모리 다이(108) 상의 메모리 셀들은 하나 이상의 평면들 내에 배열될 수 있다. 일 실시예에서, 메모리 동작들은 동일한 메모리 다이 상의 상이한 평면들 상의 메모리 셀들의 그룹들에 대해 병렬로 수행된다. 일 실시예에서, 메모리 동작들은 상이한 메모리 다이(108) 상의 메모리 셀들의 그룹들에 대해 병렬로 수행된다.
도 3에 도시된 바와 같이, 제어기(122)는 호스트와 인터페이싱하는 프론트엔드 모듈(front end module)(208), 하나 이상의 비휘발성 메모리 다이(108)와 인터페이싱하는 백엔드 모듈(back end module)(210), 및 이제 상세히 설명될 기능들을 수행하는 다양한 다른 모듈들을 포함한다.
도 3에 도시된 제어기(122)의 컴포넌트들은, 예를 들어, 다른 컴포넌트들과 함께 사용하기 위하여 설계된 패키징된 기능적 하드웨어 유닛(예컨대, 전기 회로), 관련된 기능들 중 특정 기능을 통상 수행하는 (마이크로)프로세서 또는 프로세싱 회로부에 의해 실행가능한 프로그램 코드(예컨대, 소프트웨어 또는 펌웨어)의 일부, 또는 더 큰 시스템과 인터페이싱하는 자립형 하드웨어 또는 소프트웨어 컴포넌트의 형태를 취할 수 있다. 예를 들어, 각각의 모듈은 ASIC(application specific integrated circuit), FPGA(Field Programmable Gate Array), 회로, 디지털 논리 회로, 아날로그 회로, 이산 회로들의 조합, 게이트들, 또는 임의의 다른 타입의 하드웨어, 또는 이들의 조합을 포함할 수 있다. 대안으로 또는 추가로, 각각의 모듈은 제어기(122)가 본 명세서에서 기술되는 기능들을 수행하기 위해 프로세서를 프로그래밍하도록 프로세서 판독가능 디바이스(예컨대, 메모리) 내에 저장된 소프트웨어를 포함할 수 있다. 도 3에 도시된 아키텍처는 도 1에 도시된 제어기(122)의 컴포넌트들(즉, RAM, ROM, 프로세서, 인터페이스)을 사용할 수 있는(또는 사용할 수 없는) 하나의 예시적인 구현예이다.
제어기(122)의 모듈들을 다시 참조하면, 버퍼 관리자/버스 제어기(214)는, 랜덤 액세스 메모리(RAM)(216) 내의 버퍼들을 관리하고 제어기(122)의 내부 버스 중재를 제어한다. 판독 전용 메모리(ROM)(108)는 시스템 부트 코드(system boot code)를 저장한다. 도 3에 제어기(122)와 분리되어 위치된 것으로 도시되어 있지만, 다른 실시예들에서, RAM(216) 및 ROM(218) 중 하나 또는 양측 모두는 제어기 내에 위치될 수 있다. 또 다른 실시예들에서, RAM 및 ROM의 일부분들은 제어기(122) 내부와 제어기 외부에 양측 모두에 위치될 수 있다. 추가로, 일부 구현예들에서, 제어기(122), RAM(216), 및 ROM(218)은 별도의 반도체 다이 상에 위치될 수 있다.
프론트엔드 모듈(208)은 호스트 또는 다음 레벨의 저장 제어기와의 전기적 인터페이스를 제공하는 호스트 인터페이스(220) 및 물리 계층 인터페이스(PHY)(222)를 포함한다. 호스트 인터페이스(220)의 타입의 선택은 사용되는 메모리의 타입에 종속될 수 있다. 호스트 인터페이스들(220)의 예들은 SATA, SATA 익스프레스, SAS, 파이버 채널(Fibre Channel), USB, PCIe, 및 NVMe를 포함하지만 이로 제한되지 않는다. 호스트 인터페이스(220)는, 전형적으로, 데이터, 제어 신호들, 및 타이밍 신호들에 대한 전달을 가능하게 한다.
백엔드 모듈(210)은 ECC(Error Correction Code) 엔진(224)을 포함하고, 이 ECC 엔진은 호스트로부터 수신된 데이터 바이트들을 인코딩하고 비휘발성 메모리로부터 판독된 데이터 바이트들을 디코딩 및 에러 정정한다. 커맨드 시퀀서(command sequencer)(226)는 비휘발성 메모리 다이(108)로 송신될 커맨드 시퀀스들, 예컨대, 프로그램 및 소거 커맨드 시퀀스들을 생성한다. RAID(Redundant Array of Independent Dies) 모듈(228)은 RAID 패리티(parity)의 생성 및 결함 데이터의 복구를 관리한다. RAID 패리티는 비휘발성 메모리 시스템(100)에 기록되는 데이터에 대한 무결성 보호(integrity protection)의 추가 레벨로서 사용될 수 있다. 일부 경우들에서, RAID 모듈(228)은 ECC 엔진(224)의 일부일 수 있다. RAID 패리티는 통상의 명칭이 암시하는 바와 같이 여분의 다이 또는 다이들로서 추가될 수 있지만, 이는 또한, 예컨대 여분의 평면, 또는 여분의 블록, 또는 블록 내의 여분의 WL들로서, 기존의 다이 내에 추가될 수 있다는 것에 유의하여야 한다. 비휘발성 메모리(108)에 접속되도록 구성되는 메모리 인터페이스(230)는 비휘발성 메모리 다이(108)에 커맨드 시퀀스들을 제공하고, 비휘발성 메모리 다이(108)로부터 상태 정보를 수신한다. 일 실시예에서, 메모리 인터페이스(230)는 토글 모드 200, 400, 또는 800 인터페이스와 같은 DDR(Double Data Rate) 인터페이스일 수 있다. 플래시 제어 계층(232)은 백엔드 모듈(210)의 전체 동작을 제어한다.
도 3에 도시된 시스템(100)의 추가 컴포넌트들은 비휘발성 메모리 다이(108)의 메모리 셀들의 마모 레벨링을 수행하는 매체 관리 계층(238)을 포함한다. 시스템(100)은, 또한, 제어기(122)와 인터페이싱할 수 있는 외부 전기적 인터페이스들, 외부 RAM, 저항기들, 커패시터들, 또는 다른 컴포넌트들과 같은 다른 개별 컴포넌트들(240)을 포함한다. 대안의 실시예들에서, 물리 계층 인터페이스(222), RAID 모듈(228), 매체 관리 계층(238) 및 버퍼 관리/버스 제어기(214) 중 하나 이상은 제어기(122)에서 필수가 아닌 선택적인 컴포넌트들이다.
FTL(Flash Translation Layer) 또는 MML(Media Management Layer)(238)은 호스트와의 인터페이싱 및 플래시 에러들을 다룰 수 있는 플래시 관리의 일부로서 통합될 수 있다. 특히, MML은 플래시 관리에서의 모듈일 수도 있고, NAND 관리의 실질을 담당할 수도 있다. 특히, MML(238)은, 호스트로부터의 기록들을 다이(108)의 메모리(126)로의 기록들로 변환하는 메모리 디바이스 펌웨어에서의 알고리즘을 포함할 수 있다. MML(238)이 필요할 수 있는데, 그 이유는, 1) 메모리가 제한된 내구성을 가질 수 있고/있거나; 2) 메모리(126)가 단지 다수의 페이지들에만 기록될 수 있고/있거나; 3) 메모리(126)가 그것이 블록(또는 일부 실시예들에서 블록 내의 계층)으로서 소거되지 않는 한 기록되지 않을 수 있기 때문이다. MML(238)은 호스트에 대해 가시적(visible)이지 않을 수 있는 메모리(126)의 이러한 잠재적인 제한들을 이해한다. 따라서, MML(238)은 호스트로부터의 기록들을 메모리(126)로의 기록들로 변환하는 것을 시도한다.
제어기(122)는 하나 이상의 메모리 다이들(108)과 인터페이싱할 수 있다. 일 실시예에서, 제어기(122) 및 다수의 메모리 다이들(비휘발성 저장 시스템(100)을 함께 포함)은 호스트 내부의 하드 디스크 드라이브 대신에, NAS 디바이스로서, 랩톱에서, 태블릿에서, 서버에서, 등등에서 에뮬레이팅(emulate)할 수 있거나, 대체할 수 있거나, 사용될 수 있는 SSD를 구현한다. 추가로, SSD는 하드 드라이브로서 작동하게 될 필요는 없다.
ECC(224), 시퀀서(226), RAID(228), 플래시 제어 계층(232), 매체 관리 계층(238), 및/또는 버퍼 관리/버스 제어부(214) 중 하나 이상은 프로세서 회로로 지칭될 수 있다. 프로세서 회로는 하드웨어만을 포함할 수 있거나, 또는 (펌웨어를 포함한) 소프트웨어와 하드웨어의 조합을 포함할 수 있다. 예를 들어, 본 명세서에서 기술되는 기능들을 수행하도록 펌웨어에 의해 프로그래밍된 제어기가 제어 회로의 일례이다. 프로세서 회로는 프로세서, PGA(Programmable Gate Array, FPGA(Field Programmable Gate Array), ASIC(Application Specific Integrated Circuit), 집적 회로 또는 다른 타입의 회로를 포함할 수 있다.
비휘발성 저장 시스템의 일부 실시예들은 하나의 제어기(122)에 접속되는 하나의 메모리 다이(108)를 포함할 것이다. 그러나, 다른 실시예들은 하나 이상의 제어기들(122)과 통신하는 다수의 메모리 다이(108)를 포함할 수 있다. 일례에서, 다수의 메모리 다이는 한 세트의 메모리 패키지들로 그룹화될 수 있다. 각각의 메모리 패키지는 제어기(122)와 통신하는 하나 이상의 메모리 다이를 포함한다. 일 실시예에서, 메모리 패키지는 하나 이상의 메모리 다이가 상부에 장착된 인쇄 회로 보드(또는 유사한 구조물)를 포함한다. 일부 실시예들에서, 메모리 패키지는 메모리 패키지의 메모리 다이들을 케이싱(encase)하기 위한 몰딩 재료를 포함할 수 있다. 일부 실시예들에서, 제어기(122)는 메모리 패키지들 중 임의의 것으로부터 물리적으로 분리된다.
도 4는 도 1a의 메모리 구조물(126)의 예시적인 3D 구성으로 블록들의 세트를 포함하는 메모리 디바이스(300)의 사시도이다. 기판 상에는, 메모리 셀들(저장 요소들)의 예시적인 블록들(BLK0, BLK1, BLK2, BLK3), 및 블록들에 의한 사용을 위한 회로부를 갖는 주변 영역들이 있다. 기판은 x-y 평면에서 연장되는 주 표면을 갖는다. 블록들은 주 표면 위에 형성될 수 있다. 주변 영역(304)이 각각의 블록의 에지를 따라서 이어지는 한편, 주변 영역(305)은 블록들의 세트의 단부에 있다. 각각의 주변 영역은 회로부를 포함할 수 있고, 이 회로부는 블록들의 제어 게이트 층들, 비트 라인들 및 소스 라인들에 접속될 수 있는 전압 드라이버들을 포함하지만 이들로 제한되지 않는다.
기판(301)은 또한, 회로부들의 신호들을 반송하기 위한 전도성 경로들로 패턴화되는 하나 이상의 하부 금속 층들과 함께 블록들 아래의 회로부들을 지지할 수 있다. 블록들은 메모리 디바이스의 중간 영역(302)에 형성된다. 메모리 디바이스의 상부 영역(303)에는, 하나 이상의 상부 금속 층들이 회로부의 신호들을 반송하기 위한 전도성 경로들로 패턴화된다. 각각의 블록은 메모리 셀들의 적층된 영역을 포함하며, 여기서 스택의 교번하는 레벨들은 워드 라인들을 표현한다. 하나의 가능한 접근법에서, 각각의 블록은 대향하는 계층형(tiered) 측면들을 가지며, 이로부터 수직 접점들이 상부 금속 층으로 상향으로 연장되어 전도성 경로들에 대한 접속부들을 형성한다. 일례로서 4개의 블록들이 도시되어 있지만, 2개 이상의 블록들이 사용되어, x-방향 및/또는 y-방향으로 연장될 수 있다.
하나의 가능한 접근법에서, 블록들은 평면 내에 있고, x-방향에서의 평면의 길이는 워드 라인들로의 신호 경로들이 하나 이상의 상부 금속 층들로 연장되는 방향(워드 라인 또는 SGD 라인 방향)을 표현하고, y-방향에서의 평면의 폭은 비트 라인들로의 신호 경로들이 하나 이상의 상부 금속 층들로 연장되는 방향(비트 라인 방향)을 표현한다. z-방향은 메모리 디바이스의 높이를 표현한다. 블록들은 또한 다수의 평면들로 배열될 수 있다.
도 4a는 일 실시예에서 3D 메모리 구조물의 예시적인 워드 라인 층(400)의 평면도를 도시한다. 3D 메모리 디바이스는 교번하는 전도성 층들 및 유전체 층들의 스택을 포함할 수 있다. 본 명세서에서, 층들은 기판(301)의 x-y 표면에 대한 그들의 배향으로 인해 수평 층들로 지칭될 수 있다. 전도성 층들은 SG 트랜지스터들 및 메모리 셀들의 제어 게이트들을 제공한다. SG 트랜지스터들에 사용되는 층들은 SG 층들이고 메모리 셀들에 사용되는 층들은 워드 라인 층들이다. 또한, 메모리 홀들은 스택 내에 형성되고, 전하 트래핑 재료 및 채널 재료로 충전된다. 전하 트래핑 재료 및 채널 재료에 추가하여, 터널 유전체 재료와 같은 다른 재료가 메모리 홀들 내에 형성될 수 있다. 결과적으로, 수직 NAND 스트링이 형성된다. 소스 라인들은 스택 아래의 NAND 스트링들에 접속되고, 비트 라인들은 스택 위의 NAND 스트링들에 접속된다.
3D 메모리 디바이스 내의 블록(BLK)은 서브블록들로 분할될 수 있으며, 여기서 각각의 서브블록은 공통 SGD 제어 라인을 갖는 한 세트의 NAND 스트링을 포함한다. 또한, 블록 내의 워드 라인 층은 영역들로 분할될 수 있다. 각각의 영역은 메모리 디바이스의 제조 프로세스 동안 워드 라인 층들을 프로세싱하기 위해 스택 내에 주기적으로 형성되는 슬릿들 사이에서 연장될 수 있다. 이러한 공정은 워드 라인 층들의 희생 재료를 금속으로 대체하는 것을 포함할 수 있다. 대체적으로, 슬릿들 사이의 거리는, 희생 재료를 제거하기 위해 에칭제가 측방으로 이동할 수 있는, 그리고 금속이 희생 재료의 제거에 의해 생성되는 공극을 충전하기 위해 이동할 수 있는 거리의 한계를 고려하도록 비교적 작아야 하다. 예를 들어, 슬릿들 사이의 거리는 인접한 슬릿들 사이에 수 개의 로우들의 메모리 홀들을 허용할 수 있다. 메모리 홀들 및 슬릿들의 레이아웃은 또한, 각각의 비트 라인이 상이한 메모리 셀에 접속되는 동안 영역을 가로질러 연장될 수 있는 비트 라인들의 수의 한계를 고려해야 한다. 워드 라인 층들을 프로세싱한 후에, 슬릿들은 선택적으로 스택을 통해 상호접속부를 제공하기 위해 금속으로 충전될 수 있다.
워드 라인 층은, 커넥터(413)에 의해 각각 접속되는 영역들(406, 407, 408, 409)로 분할된다. 금속 충전 슬릿들(401, 402, 403, 404)(예컨대, 금속 상호접속부들)은 영역들(406 내지 409)의 에지들 사이에 그리고 그들에 인접하게 위치될 수 있다. 금속 충전 슬릿들은 스택의 저부로부터 스택의 상단까지 전도성 경로를 제공한다. 예를 들어, 스택의 저부에서의 소스 라인이 스택 위의 전도성 라인에 접속될 수 있고, 여기서 전도성 라인은 메모리 디바이스의 주변 영역에서 전압 드라이버에 접속된다.
일 접근법에서, 블록 내의 워드 라인 층의 최종 영역은 다음 블록 내의 워드 라인 층의 제1 영역에 접속될 수 있다. 이어서, 커넥터가 워드 라인 층에 대한 전압 드라이버에 접속된다. 이러한 예에서, 인접한 슬릿들 사이에 4개의 로우들의 메모리 홀들이 있다. 여기서, 로우는 x-방향으로 정렬되는 메모리 홀들의 그룹이다. 또한, 메모리 홀들의 로우들은 메모리 홀들의 밀도를 증가시키기 위해 엇갈린 패턴으로 있다. 영역(406)은 라인(412a)을 따르는 예시적인 메모리 홀들(410, 411)을 갖는다. 영역(407)은 예시적인 메모리 홀들(414, 415)을 갖는다. 영역(408)은 예시적인 메모리 홀들(416, 417)을 갖는다. 영역(409)은 예시적인 메모리 홀들(418, 419)을 갖는다.
각각의 원은 워드 라인 층 또는 SG 층에서의 메모리 홀의 단면을 나타낸다. 각각의 원은 대안으로 메모리 홀 내의 재료들에 의해 그리고 인접한 워드 라인 층에 의해 제공되는 메모리 셀을 표현할 수 있다. 본 명세서에 사용되는 바와 같이, 메모리 홀이라는 용어는, 예를 들어 에칭으로부터 형성되는 빈 영역뿐만 아니라, 영역이 메모리 셀 필름들로 충전된 후의 영역 양측 모두를 지칭하기 위해 사용될 수 있다는 것에 유의한다.
도 4a 및 다른 도면들이 반드시 축척대로 도시되지는 않는다. 실제로, 영역들은 추가 메모리 홀들을 수용하기 위해 도시된 것보다 y-방향에 대해 x-방향으로 훨씬 더 길 수 있다.
도 4b는 도 4a와 부합하는 예시적인 SGD 층(420)의 평면도를 도시한다. SGD 층은 영역들(426, 427, 428, 429)로 분할된다. 각각의 영역은 상이한 전압 드라이버에 접속될 수 있다. 이것은 워드 라인 층의 하나의 영역 내의 한 세트의 메모리 셀들이 동시에 프로그래밍되게 하는데, 각각의 메모리 셀은 각자의 비트 라인에 접속되는 각자의 NAND 스트링 내에 있다. 각각의 프로그램 전압 동안 프로그래밍을 허용하도록 또는 금지하도록 전압이 각각의 비트 라인 상에 설정될 수 있다.
영역(426)은 비트 라인(BL0)과 일치하는 라인(412b)을 따라 예시적인 메모리 홀들(410, 411)을 갖는다. 영역(427)은 또한 비트 라인(BL1)과 일치하는 예시적인 메모리 홀(414)을 갖는다. 다수의 비트 라인들이 메모리 홀들 위로 연장되고, "X" 심볼들에 의해 표시된 바와 같이 메모리 홀들에 접속된다. BL0은 메모리 홀들(411, 415, 417, 419)을 포함하는 한 세트의 메모리 홀들에 접속된다. 다른 예시적인 비트 라인(BL1)은 메모리 홀들(410, 414, 416, 418)을 포함하는 한 세트의 메모리 홀들에 접속된다. 도 4a 로부터의 금속 충전 슬릿들(401, 402, 403, 404)은 또한, 그들이 스택을 통해 수직으로 연장되는 것으로 도시되어 있다. 비트 라인들은 x 방향으로 SGD 층(420)을 가로질러 시퀀스 BL0 내지 BL23으로 번호가 매겨질 수 있다. 실제로, 더욱 많은 비트 라인들이 SGD 층(420)에 사용될 수 있다.
상이한 서브세트들의 비트 라인들이 상이한 로우들 내의 셀들에 접속된다. 예를 들어, BL0, BL4, BL8, BL12, BL16 및 BL20은 각각의 영역의 우측 에지에서 셀들의 제1 로우 내의 셀들에 접속된다. BL2, BL6, BL10, BL14, BL18 및 BL22는 우측 에지에서 제1 로우에 인접한, 셀들의 인접한 로우 내의 셀들에 접속된다. BL3, BL7, BL11, BL15, BL19 및 BL23은 각각의 영역의 좌측 에지에서 셀들의 제1 로우 내의 셀들에 접속된다. BL1, BL5, BL9, BL13, BL17 및 BL21은 좌측 에지에서 제1 로우에 인접한, 셀들의 인접한 로우 내의 셀들에 접속된다.
도 4a 및 도 4b의 메모리 홀들은 x-y 단면이 원형인 것으로 도시되어 있다. 위에서 언급된 바와 같이, 메모리 홀들은 불규칙적인 형상(예를 들어, 도 5에 도시된 불규칙적인 형상)을 가질 수 있다. 블록 내의 워드 라인 층에서의 메모리 홀들과 같은 그룹의 메모리 홀의 잘못된 형상의 심각도를 특징짓는 기법들이 본 명세서에 개시된다. 그 그룹을 프로그래밍하기 위한 하나 이상의 프로그램 파라미터들은 그룹의 메모리 홀의 잘못된 형상의 심각도에 기초하여 선택될 수 있다. 그러한 선택된 프로그램 파라미터들은 그 그룹에 직접 측정을 수행할 필요 없이 다른 그룹들에 적용될 수 있다. 예를 들어, 블록의 워드 라인에서 메모리 홀의 잘못된 형상의 심각도를 특징짓기 위한 측정을 수행한 후에, 동일한 블록 내의 다른 워드 라인들이 메모리 홀의 잘못된 형상의 대략 동일한 심각도를 갖는 것으로 상정될 수 있다. 다른 한편으로, 제조 프로세스의 성질로 인해, 메모리 홀의 잘못된 형상의 심각도는 블록 내의 층에 좌우될 수 있다.
도 4c는 도 4의 블록들 중 하나의 블록의 일부의 예시적인 단면도를 도시한다. 단면도는 도 4a의 라인(412a)뿐만 아니라 도 4b의 라인(412b)과도 부합한다. 블록은 교번하는 전도성 층들 및 유전체 층들의 스택(432)을 포함한다. 이 예에서, 전도성 층들은 데이터 워드 라인 층들(또는 워드 라인들) WLL0 내지 WLL14 외에도 SGD 층, SGS 층, 더미 워드 라인 층들(또는 워드 라인들) DWLd, DWLs를 포함한다. 유전체 층들은 DL0 내지 DL19로 라벨링된다. 또한, NAND 스트링들 NS1 및 NS2를 포함하는 스택의 영역들이 도시되어 있다. 각각의 NAND 스트링은 메모리 홀(410 또는 411)을 포함하고, 이 메모리 홀은 워드 라인들에 인접한 메모리 셀들을 형성하는 재료들로 충전된다. 스택의 영역(423)이 도 4d에 더 상세히 도시되어 있다. 더 많은 또는 더 적은 SGD 층들, SGS 층들, 더미 워드 라인 층들, 및 데이터 워드 라인 층들이 있을 수 있음에 유의한다.
스택 밑에는 소스 라인(SL)(434)이 있다. 하나의 접근법에서, 소스 라인(SL)의 일부분은 블록 내의 메모리 셀들의 각각의 스트링의 소스 단부와 접촉하는 폴리실리콘 층(434a)을 포함한다. 폴리실리콘 층(434a)은 NAND 스트링 채널(도 4c에는 도시되지 않음)과 전기 접촉한다. 폴리실리콘 층(434a)은 금속(예컨대, 텅스텐) 층(434b)과 접촉한다. 소스 라인(434)은, 일 접근법에서, 평면 내의 블록들 모두에 의해 공유될 수 있다.
NS1은 스택(432)의 저부(466b)에서는 소스 단부(436)를 그리고 스택의 상단(466a)에서는 드레인 단부(452)를 갖는다. 금속 충전 슬릿들(401, 402)은 스택을 가로질러서 상호접속부들로서 주기적으로 제공되고, 이들은 스택을 관통하여 연장되어, 예컨대 소스 라인을 스택 위의 라인에 접속시킨다. 슬릿들은 워드 라인들의 형성 동안 사용될 수 있고, 후속으로, 금속으로 충전될 수 있다. 비트 라인(BL0)의 일부분이 또한 도시되어 있다. 전도성 비아(421)가 NS2의 드레인 단부(452)를 BL0에 접속시킨다.
하나의 접근법에서, 메모리 셀들의 블록은 교번하는 제어 게이트 층들 및 유전체 층들의 스택을 포함하고, 메모리 셀들은 스택 내의 수직으로 연장되는 메모리 홀들에 배열된다.
하나의 접근법에서, 각각의 블록은, 수직 상호접속부들이 SGS, WL 및 SGD 층들을 포함하는 각각의 층에 접속되고 전압 소스들에 대한 수평 경로들로 상향으로 연장되는 테라스형(terraced) 에지를 포함한다.
도 4d는 도 4c의 영역(423)의 도면을 도시한다. 도 4e는 도 4d의 메모리 홀(410)의 (x-y 평면에서의) 단면을 도시한다. 영역(423)은 몇몇 메모리 셀들(482, 483, 484)을 포함한다. 메모리 홀(410)은 다수의 메모리 셀 필름들(463 내지467)을 포함한다. 예를 들어, 각각의 컬럼(예컨대, 재료들에 의해 메모리 홀 내에 형성되는 필러(pillar))은 블로킹 산화물/블록 하이-k 재료(463), SiN 또는 다른 질화물과 같은 전하 트래핑 층 또는 필름(464), 터널링 층(465), 폴리실리콘 바디 또는 채널(466), 및 유전체 코어(467)를 포함할 수 있다. 워드 라인 층은 텅스텐과 같은 전도성 금속을 제어 게이트로서 포함할 수 있다. 예를 들어, 제어 게이트들(492, 493, 494)이 제공된다. 이 예에서, 금속을 제외한 층들 모두가 메모리 홀에 제공된다. 다른 접근법들에서, 메모리 필름 층들 중 일부는 제어 게이트 층 내에 있을 수 있다. 따라서, 메모리 홀(410)은 도 4d 및 도 4e에 도시된 것보다 더 적은 (또는 더 많은) 메모리 필름 층들을 포함할 수 있다. 또한, 도시된 층들 중 일부는 하나 이상의 층들로부터 형성될 수 있음에 유의한다. 추가 필러들이 상이한 메모리 홀들에 유사하게 형성된다. 필러는 NAND 스트링의 컬럼 활성 영역(AA)을 형성할 수 있다.
메모리 셀 트랜지스터가 프로그래밍될 때, 전자들은 메모리 셀 트랜지스터와 연관되는 전하 트래핑 층(464)의 일부분에 저장된다. 이러한 전자들은 채널(466)로부터 전하 트래핑 층 내로, 그리고 터널링 층(465)을 통해 인출된다. 메모리 셀 트랜지스터의 Vt는 저장된 전하의 양에 비례하여 증가된다. 소거 동작 동안, 전자들이 채널로 복귀된다. 비-데이터 트랜지스터들(예컨대, 선택 트랜지스터들, 더미 메모리 셀 트랜지스터들)은 또한, 전하 트래핑 층(464)을 포함할 수 있다. 따라서, 적어도 일부 비-데이터 트랜지스터들의 임계 전압은 또한, 전하 트래핑 층(464)으로부터 전자들을 저장함으로써 또는 제거함으로써 조정될 수 있다. 모든 비-데이터 트랜지스터들이 조정가능한 Vt를 가질 필요는 없다. 예를 들어, 전하 트래핑 층(464)이 모든 선택 트랜지스터에 존재할 필요는 없다.
일부 실시예들에서, 메모리 홀은 교번하는 층들(예컨대, 전도성 재료 및 희생 재료의 교번하는 층들)의 스택 내로 홀들을 천공(또는 에칭)함으로써 형성된다. 메모리 셀 필름들은 메모리 홀의 측벽 상에 침착될 수 있다. 예를 들어, 먼저 블로킹 층(463)은 원자층 증착, 또는 다른 침착 기법을 사용하여 메모리 홀 측벽 상에 침착될 수 있다. 이어서, 전하 트래핑 층(464)이 블로킹 층(463) 위에 침착될 수 있다. 다음으로, 터널링 층(465)이 전하 트래핑 층(464) 위에 침착될 수 있다. 일부 경우들에서, 터널링 층(465)은 산화물-질화물-산화물 구성에서와 같이 다수의 층들을 포함할 수 있다. 이어서, 바디(466)가 터널링 층(465) 위에 침착될 수 있다. 이어서, 유전체 코어(467)가 바디(466) 내에 형성될 수 있다. 다른 기법들이 메모리 셀 필름을 형성하는 데 사용될 수 있다. 위에 언급된 바와 같이, 용어 "메모리 홀"은, 스택 내로 홀들을 천공(또는 에칭)한 후에 존재하는 빈 영역 또는 그것이 메모리 셀 필름으로 충전된 후의 영역 양측 모두를 지칭하는 데 사용될 수 있다.
도 4e의 예에서, 필름들(463 내지 467) 각각은 환형 링을 포함한다. 필름들은 잘못 형상화되지 않은 잘 형성된 메모리 홀의 예를 나타낸다. 필름들(463 내지 467)이 형성된 메모리 홀은 "r"의 반경을 갖는 원형 단면 형상을 갖는다. 동작 동안, 워드 라인들뿐만 아니라 다른 영역들에 전압들이 인가된다. 일례는 선택된 워드 라인에 프로그램 전압을 인가하고 선택되지 않은 워드 라인들에 부스팅 전압들을 인가하는 것이다. 부스팅 전압들은 프로그래밍을 위해 현재 선택되지 않은 메모리 셀들의 원하지 않는 프로그래밍을 방지하는 것을 돕는다. 워드 라인과 메모리 셀 필름들(463 내지 467) 사이의 인터페이스의 형상은 그 영역에서의 전기장의 성질에 영향을 미친다. 따라서, 워드 라인 전압의 성질은 메모리 홀의 형상에 의해 영향을 받을 수 있다.
모든 경우들에서 메모리 홀은 완벽한 원형이 아닐 것이다. 완벽한 원으로부터의 잘못된 형상의 양은 하나의 메모리 홀과 다음 메모리 홀 사이에서 상당히 변할 수 있다. 도 5는 심각하게 잘못 형상화된 메모리 홀의 예의 단면도이다. 메모리 홀은 불규칙적인 형상을 갖는다. 형상은 불규칙적인 원으로서 설명될 수 있다. 불규칙적인 원은 본 명세서에서 "메모리 홀 스트리에이션(striation)"으로 지칭된다. 도 4e의 메모리 홀은 메모리 홀 스트리에이션을 갖지 않는다. r', r'', 및 r'''으로 라벨링된 다수의 라인들이 도 5에 도시되어 있다. 각각의 라인은 메모리 홀의 중심으로서 정의되는 공통 지점으로부터 필름(463)의 외면으로 연장된다. 필름(463)의 외면은 본 예에서 메모리 홀의 경계로서 한정되지만, 언급된 바와 같이, 메모리 홀은 다른 타입들의 필름들로 충전될 수 있음에 유의한다. 라인들(r', r'', 및 r''')은 길이가 상이할 수 있다. 다시 말하면, 메모리 홀의 경계는 형상이 원형이 아니고 불규칙적인 형상을 갖는다. 더욱이, 불규칙적인 형상은 상이한 영역들에서 상이한 곡률들을 갖는다(몇몇 영역들(510, 520, 530)이 파선들로 표시된다). 메모리 홀의 불규칙적인 형상은 비교적 가파른 코너들을 갖는 영역들을 갖는다. 예를 들어, 영역(530)은 상대적으로 가파른 코너를 갖는다. 메모리 홀의 불규칙적인 형상은 비교적 평평한 형상들을 갖는 영역들을 갖는다. 예를 들어, 영역(510)은 비교적 평평한 형상을 갖는다. 메모리 홀의 형상은 전기장의 성질에 영향을 준다. 따라서, 워드 라인에 인가되는 전압들은 메모리 홀의 불규칙적인 형상에 의해 영향을 받을 수 있다. 예를 들어, 전기장은, 메모리 홀 형상이 더 뾰족한 곳에서 더 강할 수 있고 메모리 홀 형상이 더 직선형인 곳에서 더 약할 수 있다. 예를 들어, 메모리 셀 동작 동안, 전압들이 제어 게이트에 인가될 때, 전기장은 제어 게이트 형상이 더 뾰족한 곳에서 더 강할 수 있고 제어 게이트 형상이 더 직선형인 곳에서 더 약할 수 있다. 대조적으로, 전기장은 도 4e의 예에 대해 더 균일할 것이다.
도 5의 메모리 홀의 잘못된 형상의 하나의 가능한 결과는 (선택된 워드 라인에 접속된) 선택되지 않은 메모리 셀들의 원하지 않는 프로그래밍을 방지하도록 의도되는 (제어 게이트에 인가되는) 부스팅 전압들이 바람직하지 않은 프로그래밍을 방지하기에 충분히 효과적이지 않을 수 있다는 것이다. 가능한 영향은 소거 상태로 유지되어야 하는 메모리 셀들이 프로그래밍 직후에 프로그래밍된 상태(예컨대, A-상태)에 있다는 것이다. 도 5의 메모리 홀의 잘못된 형상의 다른 가능한 결과는 프로그래밍 기울기가 더 낮을 수 있다는 것이다. 프로그래밍 기울기는 프로그램 전압의 증가가 메모리 셀 Vt의 변화에 미치는 영향을 지칭한다.
도 6은 어레이로 구성된 메모리 셀들의 NAND 스트링들을 프로그래밍하기 위한 프로세스(600)의 일 실시예를 설명하는 흐름도이다. 하나의 예시적인 실시예에서, 도 6의 프로세스는 위에서 논의된 제어 회로를 사용하여 메모리 다이(108) 상에서 수행된다. 예를 들어, 도 6의 프로세스는 상태 머신(112)의 지시에 의해 수행될 수 있다.
전형적으로, 프로그램 동작 동안 (선택된 워드 라인을 통해) 제어 게이트들에 인가되는 프로그램 전압은 일련의 프로그램 펄스들로서 인가된다. 프로그래밍 펄스들 중 적어도 일부 사이에는 검증을 수행하기 위한 한 세트의 검증 펄스들이 있다. 많은 구현예들에서, 프로그램 펄스들의 크기는 각각의 연속적인 펄스로 사전결정된 스텝 크기만큼 증가된다. 스텝의 크기는, 일부 실시예들에서, 메모리 셀의 잘못된 형상의 심각도의 레벨에 따라 변한다. 도 6의 단계(640)에서, 프로그래밍 전압(Vpgm)은 시작 크기(예컨대, 약 12 내지 16V 또는 다른 적절한 레벨)로 초기화되고, 상태 머신(112)에 의해 유지되는 프로그램 카운터(PC)가 1에서 초기화된다.
일 실시예에서, 프로그래밍되도록 선택된 메모리 셀들(본 명세서에서 선택된 메모리 셀들로 지칭됨)의 그룹은 동시에 프로그래밍되고, 모두 동일한 워드 라인(선택된 워드 라인)에 접속된다. 선택된 워드 라인에 또한 접속되는, 프로그래밍을 위해 선택되지 않은 다른 메모리 셀들(선택되지 않은 메모리 셀들)이 어쩌면 있을 것이다. 즉, 선택된 워드 라인은 또한 프로그래밍되는 것이 금지되기로 되어 있는 메모리 셀들에 접속될 것이다. 예를 들어, 데이터가 한 세트의 메모리 셀들에 기록될 때, 메모리 셀들 중 일부는 상태(S0)(도 6 참조)와 연관된 데이터를 저장할 필요가 있을 것이며, 따라서 그들은 프로그래밍되지 않을 것이다. 추가적으로, 메모리 셀들이 그들의 의도된 타깃 데이터 상태에 도달함에 따라, 그들은 추가 프로그래밍되는 것이 금지될 것이다. 프로그래밍되는 것이 금지될 선택된 워드 라인에 접속된 메모리 셀들을 포함하는 이들 NAND 스트링들(예컨대, 선택되지 않은 NAND 스트링들)은 그들의 채널들이 부스팅되게 하여 프로그래밍을 금지한다. 채널이 부스팅된 전압을 가질 때, 채널과 워드 라인 사이의 전압 차이는 프로그래밍을 야기하기에 충분히 크지 않다. 부스팅을 돕기 위해, 단계(642)에서, 메모리 시스템은 프로그래밍되는 것이 금지될 선택된 워드 라인에 접속된 메모리 셀들을 포함하는 NAND 스트링들의 채널들을 사전충전할 것이다. 일부 실시예들에서, 채널은 NAND 스트링의 드레인 단부로부터 사전충전된다. "드레인 단부"는 비트 라인에 접속된 NAND 스트링의 단부를 의미한다. 일부 실시예들에서, 채널은 소스 단부로부터 사전충전된다. "소스 단부"는 소스 라인에 접속된 NAND 스트링의 단부를 의미한다. 일부 실시예들에서, 채널은 드레인 단부 및 소스 단부 양측 모두로부터 사전충전된다.
단계(644)에서, 프로그래밍되는 것이 금지될 선택된 워드 라인에 접속된 메모리 셀들을 포함하는 NAND 스트링들은 그들의 채널들이 부스팅되게 하여 프로그래밍을 금지한다. 이러한 NAND 스트링들은 본 명세서에서 "선택되지 않은 NAND 스트링들"로 지칭된다. 일 실시예에서, 선택되지 않은 워드 라인들은 부스팅 스킴(scheme)들을 수행하기 위해 하나 이상의 부스팅 전압들(예컨대, 약 7 내지 11 볼트)을 수신한다. 프로그램 금지 전압이 선택되지 않은 NAND 스트링에 커플링된 비트 라인들에 인가된다. 이는 부스팅 전압들이 NAND 채널의 전위를 부스팅하게 한다.
단계(646)에서, 프로그램 신호(Vpgm)의 프로그램 펄스가 선택된 워드 라인(프로그래밍을 위해 선택된 워드 라인)에 인가된다. 일 실시예에서, NAND 스트링 상의 메모리 셀이 프로그래밍되어야 하면, 대응하는 비트 라인은 프로그램 인에이블 전압에서 바이어스된다. 본 명세서에서, 그러한 NAND 스트링은 "선택된 NAND 스트링"으로 지칭된다. 단계(646)에서, 프로그램 펄스는 선택된 워드 라인에 접속된 모든 메모리 셀들에 동시에 인가되어, 선택된 워드 라인에 접속된 모든 메모리 셀들이 (그들이 프로그래밍되는 것이 금지되지 않는다면) 동시에 프로그래밍된다. 즉, 이들은 동시에 또는 중복되는 시간들 동안 (이들 양측 모두는 동시에 발생하는 것으로 간주됨) 프로그래밍된다. 이러한 방식으로, 선택된 워드 라인에 접속된 모든 메모리 셀들은, 그들이 프로그래밍되는 것이 금지되지 않는다면, 그들의 임계 전압 변화를 동시에 가질 것이다.
단계(648)에서, 메모리 셀들의 타깃 상태들에 도달한 메모리 셀들은 추가 프로그래밍으로부터 록아웃된다. 단계(648)는 하나 이상의 검증 기준 레벨들에서 검증을 수행하는 단계를 포함할 수 있다. 일 실시예에서, 검증 프로세스는, 프로그래밍을 위해 선택된 메모리 셀들의 임계 전압들이 적절한 검증 기준 전압에 도달했는지 여부를 테스트함으로써 수행된다. 일 실시예에서, 검증 기준 전압은 타깃 상태의 하부 테일(tail)에 있다. 본 명세서에 사용되는 바와 같이, "하부 테일"은 그의 최저 임계 전압 레벨과 분포의 정점에서의 임계 전압 레벨 사이의 분포의 일부분을 지칭한다. 유사하게, 본 명세서에 사용되는 바와 같이, "상부 테일"은 그의 최고 임계 전압 레벨과 분포의 정점에서의 임계 전압 레벨 사이의 분포의 일부분을 지칭한다.
단계(648)에서, 메모리 셀이 그의 타깃 상태에 도달했다는 것을 (Vt의 테스트에 의해) 메모리 셀이 검증된 후에 메모리 셀은 록아웃될 수 있다.
단계(650)에서, 모든 메모리 셀들이 그들의 타깃 임계 전압들에 도달했다고(통과) 결정되면, 모든 선택된 메모리 셀들이 그들의 타깃 상태들로 프로그래밍되고 검증되었기 때문에 프로그래밍 프로세스는 완료되고 성공적이다. 단계(652)에서 "통과"의 상태가 보고된다. 그렇지 않고, 650에서, 모든 메모리 셀들이 그들의 타깃 임계 전압들에 도달하지 않았다고(실패) 결정되면, 프로그래밍 프로세스는 단계(654)로 계속된다.
단계(654)에서, 메모리 시스템은 그들 각자의 타깃 임계 전압 분포에 아직 도달하지 않은 메모리 셀들의 수를 카운트한다. 즉, 시스템은, 지금까지 그들의 타깃 상태에 도달하는 데 실패한 메모리 셀들의 수를 카운트한다. 이러한 카운팅은 상태 머신, 제어기(122), 또는 다른 로직에 의해 행해질 수 있다. 일 구현예에서, 감지 블록들 각각은 그들 각자의 셀들의 상태(통과/실패)를 저장할 것이다. 일 실시예에서, 최종 검증 단계를 실패한, 현재 프로그래밍되고 있는 메모리 셀들의 총 수를 반영하는 하나의 총 카운트가 있다. 다른 실시예에서, 각각의 데이터 상태에 대해 별개의 카운트들이 계속된다.
단계(656)에서, 단계(654)로부터의 카운트가 사전결정된 한계 이하인지 여부가 결정된다. 일 실시예에서, 사전결정된 한계는 메모리 셀들의 페이지에 대한 판독 프로세스 동안 에러 정정 코드들(ECC)에 의해 정정될 수 있는 비트들의 수이다. 실패한 셀들의 수가 사전결정된 한계 이하이면, 프로그래밍 프로세스가 중지될 수 있고 단계(652)에서 "통과"의 상태가 보고된다. 이러한 상황에서, 완전히 프로그래밍되지 않았던 몇몇의 나머지 메모리 셀들이 판독 프로세스 동안 ECC를 사용하여 정정될 수 있도록 충분한 메모리 셀들이 정확하게 프로그래밍되었다. 일부 실시예들에서, 단계(656)에서 사용되는 사전결정된 한계는 향후/추가 에러들을 허용하도록 판독 프로세스 동안 에러 정정 코드들(ECC)에 의해 정정될 수 있는 비트들의 수 미만이다. 페이지에 대해 메모리 셀들의 전체보다 적은 메모리 셀들을 프로그래밍하는 경우, 또는 단지 하나의 데이터 상태(또는 전체보다 적은 상태들)에 대한 카운트를 비교하는 경우, 사전결정된 한계는 메모리 셀들의 페이지에 대한 판독 프로세스 동안 ECC에 의해 정정될 수 있는 비트들의 수의 (비례하는 또는 비례하지 않는) 일부분일 수 있다. 일부 실시예들에서, 한계는 사전결정되지 않는다. 대신에, 그것은 페이지에 대해 이미 카운트된 에러들의 수, 수행되는 프로그램-소거 사이클들의 수 또는 다른 기준들에 기초하여 변한다.
실패한 메모리 셀들의 수가 사전결정된 한계 이상이면, 프로그래밍 프로세스는 단계(658)에서 계속되고 프로그램 카운터(PC)가 프로그램 한계 값(PL)에 대해 체크된다. 프로그램 한계 값들의 예들은 6, 12, 16, 19 및 30을 포함하지만; 다른 값들이 사용될 수 있다. 프로그램 카운터(PC)가 프로그램 한계 값(PL) 이상이면, 프로그램 프로세스는 실패한 것으로 간주되고 단계(662)에서 실패의 상태가 보고된다. 프로그램 카운터(PC)가 프로그램 한계 값(PL) 미만이면, 프로세스는 단계(660)에서 계속되고, 이 시간 동안 프로그램 카운터(PC)는 1만큼 증분되고 프로그램 전압(Vpgm)은 다음 크기로 스텝형으로 증가된다. 예를 들어, 다음 펄스는 이전 펄스보다 스텝 크기(예컨대, 0.1 내지 1.0 볼트의 스텝 크기)만큼 큰 크기를 가질 것이다. 단계(660) 후에, 프로세스는 단계(642)로 루프 백(loop back)되고, 다른 프로그램 펄스가 선택된 워드 라인에 인가되어, 도 6의 프로그래밍 프로세스의 다른 반복(단계들(642 내지 660))이 수행되게 한다.
성공적인 프로그래밍 프로세스의 종료 시, 메모리 셀들의 임계 전압들은, 적절하게 프로그래밍된 메모리 셀들에 대한 임계 전압들의 하나 이상의 분포들 내에 또는 소거된 메모리 셀들에 대한 임계 전압들의 분포 내에 있어야 한다. 도 7a는 각각의 메모리 셀이 3 비트의 데이터를 저장할 때 메모리 어레이에 대한 예시적인 임계 전압 분포들을 예시한다. 그러나, 다른 실시예들은 (예컨대, 메모리 셀당 1 비트, 2 비트, 4 비트, 또는 5 비트의 데이터와 같이) 메모리 셀당 다른 데이터 용량들을 사용할 수 있다. 도 7a는 8개의 데이터 상태들에 대응하는 8개의 임계 전압 분포들을 도시한다. 제1 임계 전압 분포(데이터 상태)(S0)는 소거되는 메모리 셀들을 표현한다. 상태(S0)는 또한, 본 명세서에서 소거 상태(Er 상태)로 지칭될 수 있다. 다른 7개의 임계 전압 분포들(프로그래밍된 상태들)(S1 내지 S7)은 프로그래밍되는 메모리 셀들을 표현하고, 그에 따라, 프로그래밍된 상태들로도 지칭된다. 프로그래밍된 상태들은 또한, 문자들에 의해 지칭될 수 있다. 예를 들어, 프로그래밍된 상태들(A, B, C, D, E, F, G)의 세트는 프로그래밍된 상태들(S1, S2, S3, S4, S5, S6, S7)의 세트에 대응할 수 있다. 각각의 임계 전압 분포(데이터 상태)는 소정 세트의 데이터 비트들에 대한 사전결정된 값들에 대응한다. 메모리 셀에 프로그래밍된 데이터와 셀의 임계 전압 레벨들 사이의 특정 관계는 셀들에 대해 채택된 데이터 인코딩 스킴에 의존한다. 일 실시예에서, 데이터 값들은 그레이(Gray) 코드 할당을 이용하여 임계 전압 범위들에 할당되어, 메모리의 임계 전압이 그의 이웃하는 물리적 상태로 잘못 변이하는 경우, 단 하나의 비트만이 영향받게 할 것이다.
도 7a는 8개의 임계 전압 분포들(702 내지 716)을 도시한다. 분포(702)는 상태(S0)에 대응하고; 분포(704)는 상태(S1)에 대응하고; 분포(706)는 상태(S2)에 대응하고; 분포(708)는 상태(S3)에 대응하고; 분포(710)는 상태(S4)에 대응하고; 분포(712)는 상태(S5)에 대응하고; 분포(714)는 상태(S6)에 대응하고; 분포(716)는 상태(S7)에 대응한다. 도 7a는 또한, 메모리 셀들로부터 데이터를 판독하기 위한 7개의 판독 기준 전압들(Vr1, Vr2, Vr3, Vr4, Vr5, Vr6, Vr7)을 도시한다. 주어진 메모리 셀의 임계 전압이 7개의 판독 기준 전압들 초과인지 또는 미만인지 여부를 테스트함으로써(예를 들어, 감지 동작들을 수행함으로써), 시스템은 메모리 셀이 어떤 데이터 상태(즉, S0, S1, S2, S3,...)에 있는지를 결정할 수 있다.
도 7a는 또한, 7개의 검증 기준 전압들(Vv1, Vv2, Vv3, Vv4, Vv5, Vv6, Vv7)을 도시한다. 일부 실시예들에서, 메모리 셀들을 데이터 상태(S1)로 프로그래밍할 때, 시스템은 그 메모리 셀들이 Vv1 이상의 임계 전압을 갖고 있는지 여부를 테스트할 것이다. 메모리 셀들을 데이터 상태(S2)로 프로그래밍할 때, 시스템은 메모리 셀들이 Vv2 이상의 임계 전압들을 갖고 있는지 여부를 테스트할 것이다. 메모리 셀들을 데이터 상태(S3)로 프로그래밍할 때, 시스템은 메모리 셀들이 Vv3 이상의 임계 전압을 갖고 있는지 여부를 결정할 것이다. 메모리 셀들을 데이터 상태(S4)로 프로그래밍할 때, 시스템은 그 메모리 셀들이 Vv4 이상의 임계 전압을 갖고 있는지 여부를 테스트할 것이다. 메모리 셀들을 데이터 상태(S5)로 프로그래밍할 때, 시스템은 그 메모리 셀들이 Vv5 이상의 임계 전압을 갖고 있는지 여부를 테스트할 것이다. 메모리 셀들을 데이터 상태(S6)로 프로그래밍할 때, 시스템은 그 메모리 셀들이 Vv6 이상의 임계 전압을 갖고 있는지 여부를 테스트할 것이다. 메모리 셀들을 데이터 상태(S7)로 프로그래밍할 때, 시스템은 그 메모리 셀들이 Vv7 이상의 임계 전압을 갖고 있는지 여부를 테스트할 것이다. 최저 크기 기준 전압(예컨대, Vv1)에 의해 검증되는 프로그래밍된 상태(예컨대, S1 또는 A-상태)는 본 명세서에서 "최저 프로그래밍된 상태"로 지칭된다. 최고 크기 기준 전압(예컨대, Vv7)에 의해 검증되는 프로그래밍된 상태(예컨대, S7 또는 G-상태)는 본 명세서에서 "최고 프로그래밍된 상태"로 지칭된다.
도 7a는 또한, 메모리 셀이 적절히 소거되었는지 여부를 테스트하기 위한 전압 레벨인 Vev("소거 검증 전압")를 도시한다. 도 7a에 도시된 바와 같이, 소거되는 메모리 셀은 Vev 미만의 Vt를 가져야 한다. 아래에서 더 충분히 논의되는 바와 같이, 프로그래밍 프로세스 후에, Vev 미만의 Vt를 가져야 하는(즉, 소거 상태에 있어야 하는) 일부 메모리 셀들은 Vev 초과의 Vt를 가질 수 있다. 일부 경우들에서, Vt는 Vr1 초과일 수 있거나 또는 심지어 Vv1 초과일 수 있다. 잘못 형상화되는 메모리 셀들은 그러한 거동을 나타낼 가능성이 더 클 수 있다. 소거 상태로 유지되어야 하지만 소정 전압(예컨대, Vev 또는 Vr1) 초과의 Vt를 갖는 메모리 셀들은 본 명세서에서 "프로그램 교란된 소거 상태 셀들"로 지칭된다.
전체 시퀀스 프로그래밍으로 알려진 일 실시예에서, 메모리 셀들은 소거된 데이터 상태(S0)로부터 직접적으로 프로그래밍된 데이터 상태들(S1 내지 S7) 중 임의의 프로그래밍된 데이터 상태로 프로그래밍될 수 있다. 예를 들어, 프로그래밍될 메모리 셀들의 집단(population)은 그 집단 내의 모든 메모리 셀들이 소거된 데이터 상태(S0)에 있도록 먼저 소거될 수 있다. 이어서, 메모리 셀들을 직접적으로 데이터 상태들(S1, S2, S3, S4, S5, S6, 및/또는 S7)로 프로그래밍하는 데 프로그래밍 프로세스가 사용된다. 예를 들어, 일부 메모리 셀들이 데이터 상태(S0)로부터 데이터 상태(S1)로 프로그래밍되고 있는 동안, 다른 메모리 셀들은 데이터 상태(S0)로부터 데이터 상태(S2)로 그리고/또는 데이터 상태(S0)로부터 데이터 상태(S3)로, 등등으로 프로그래밍되고 있다. 일부 실시예들에서, 데이터 상태들(S1 내지 S7)은 중첩될 수 있고, 이때 제어기(122)는 저장되고 있는 정확한 데이터를 식별하도록 에러 정정에 의존한다.
본 명세서에 설명되는 기술은 또한 (다수의 단계/위상 프로그래밍을 포함하지만 이들로 제한되지 않는) 전체 시퀀스 프로그래밍뿐 아니라 다른 타입들의 프로그래밍과 함께 사용될 수 있다. 다수의 단계/위상 프로그래밍의 일 실시예에서, 데이터 상태들(S4 내지 S7) 중 임의의 상태에서 종료되는 모든 메모리 셀들은 제1 위상에서 S4 이하인 중간 상태로 프로그래밍된다. 데이터 상태들(S0 내지 S3) 중 임의의 상태에서 종료되는 메모리 셀들은 제1 위상에서 프로그래밍을 수신하지 않는다. 제2 위상에서, 어느 하나의 데이터 상태(S2 또는 S3)에서 종료되는 메모리 셀들은 S2 이하인 상태로 프로그래밍되고; 어느 하나의 데이터 상태(S6 또는 S7)에서 종료되는 메모리 셀들은 S6 이하인 상태로 프로그래밍된다. 제3 위상에서, 메모리 셀들은 그들의 최종 상태들로 프로그래밍된다. 일 실시예에서, 제1 페이지가 제1 위상에서 프로그래밍되고, 제2 페이지가 제2 위상에서 프로그래밍되고, 제3 페이지가 제3 위상에서 프로그래밍된다. 본 명세서에서, 일단 페이지가 메모리 셀들의 그룹 내에서 프로그래밍되면, 메모리 셀들은 페이지를 검색하기 위해 재판독될 수 있다. 따라서, 다중-위상 프로그래밍과 연관된 중간 상태들은 본 명세서에서 프로그래밍된 상태들인 것으로 간주된다.
대체적으로, 검증 동작들 및 판독 동작들 동안, 선택된 워드 라인은 관련된 메모리 셀의 임계 전압이 그러한 레벨에 도달했는지 여부를 결정하기 위해 각각의 판독 동작에 대해 지정되는 레벨(예컨대, 도 7a의 판독 비교 레벨들(Vr1, Vr2, Vr3, Vr4, Vr5, Vr6, Vr7) 참조) 또는 검증 동작에 대해 지정되는 레벨(예컨대, 도 7a의 검증 타깃 레벨들(Vv1, Vv2, Vv3, Vv4, Vv5, Vv6, Vv7) 참조)의 전압에 접속된다. 워드 라인 전압을 인가한 후에, 메모리 셀의 전도 전류는 워드 라인에 인가되는 전압에 응답하여 메모리 셀이 턴온되었는지(전류를 도통시켰는지) 여부를 결정하도록 측정된다. 전도 전류가 소정 값보다 큰 것으로 측정되면, 메모리 셀이 턴온되었고 워드 라인에 인가되는 전압이 메모리 셀의 임계 전압보다 큰 것으로 상정된다. 전도 전류가 소정 값보다 큰 것으로 측정되지 않으면, 메모리 셀이 턴온되지 않았고 워드 라인에 인가되는 전압이 메모리 셀의 임계 전압보다 크지 않은 것으로 상정된다. 판독 또는 검증 프로세스 동안, 선택되지 않은 메모리 셀들에는 그들의 제어 게이트들에서 하나 이상의 판독 패스 전압들(바이패스 전압들로도 지칭됨)이 제공되어, 이들 메모리 셀들은 패스 게이트들로서 동작할 것이다(예컨대, 그들이 프로그래밍되는지 또는 소거되는지 여부와 관계없이 전류를 도통시킴).
판독 또는 검증 동작 동안 메모리 셀의 전도 전류를 측정하는 많은 방법들이 있다. 일례에서, 메모리 셀의 전도 전류는 그것이 감지 증폭기에서 전용 커패시터를 방전시키거나 충전하는 속도에 의해 측정된다. 다른 예에서, 선택된 메모리 셀의 전도 전류는 메모리 셀을 포함하는 NAND 스트링이 대응하는 비트 라인을 방전시키는 것을 허용한다(또는 방전시키는 것을 허용하지 않는다). 비트 라인 상의 전압은, 그것이 방전되었는지 또는 방전되지 않았는지 여부를 알기 위해 일정 기간 후에 측정된다. 본 명세서에 설명된 기술은 검증/판독을 위해 당업계에 공지된 상이한 방법들과 함께 사용될 수 있음에 유의한다. 당업계에 공지된 다른 판독 및 검증 기법들이 또한 사용될 수 있다.
도 7b는 심각한 잘못된 형상을 갖는 메모리 셀들의 그룹에서 발생할 수 있는 가능한 문제를 예시하기 위해 프로그래밍 후의 8개의 가능한 임계 전압 분포들(722 내지 736)을 도시한다. 분포(722)는 상태(S0)에 대응하고; 분포(724)는 상태(S1)에 대응하고; 분포(726)는 상태(S2)에 대응하고; 분포(728)는 상태(S3)에 대응하고; 분포(730)는 상태(S4)에 대응하고; 분포(732)는 상태(S5)에 대응하고; 분포(734)는 상태(S6)에 대응하고; 분포(736)는 상태(S7)에 대응한다. 비교를 위해, 메모리 셀들은 도 7a의 예와 동일한 프로그래밍 파라미터들(예컨대, 프로그램 전압 스텝 크기, 검증 기준 레벨들)을 사용하여 동일한 상태들(S0 내지 S7)로 프로그래밍되었다. 따라서, 검증 기준 레벨들(Vv1 내지 Vv7)은 도 7a 및 도 7b에서 동일하다. 마찬가지로, 판독 기준 레벨들(Vr1 내지 Vv7)은 도 7a 및 도 7b에서 동일하다.
S0 상태의 임계 전압 분포(722)는 도 7a에서의 S0 상태의 임계 전압 분포(702)와 상당히 상이하다. 임계 전압 분포(722)를 참조하면, 메모리 셀들 중 일부는 소거 검증 레벨(Vev) 초과의 Vt를 갖고, 메모리 셀들 중 일부는 Vr1 초과의 Vt를 갖는다. 임계 전압 분포(722) 내의 메모리 셀들 중 일부가 Vv1 초과의 Vt를 갖는 것이 가능하지만, 이는 도 7b에 도시되어 있지 않다. 임계 전압 분포들 및 프로그래밍된 상태들(S1 내지 S7)은 또한 도 7a의 것들과 상이할 수 있다.
일부 실시예들에서, 소거 검증 레벨(Vev)과 S1 검증 레벨(Vv1) 사이에 있는 구역 내의 Vt를 갖는 메모리 셀들로 카운트가 이루어진다. 도 7b는 그러한 구역(720)의 일 실시예를 도시한다. 구역(720)은 Vr1과 Vv1 사이에 있다. 구역은 다른 기준 전압들에 기초하여 한정될 수 있다. 이러한 카운트는 일부 실시예들에서, 그룹에 대한 메모리 홀의 잘못된 형상의 심각도를 결정하는 데 사용된다. 일부 실시예들에서, 높은 카운트는 그룹에 대한 메모리 홀의 잘못된 형상의 높은 심각도를 나타낸다. 일부 실시예들에서, 낮은 카운트는 그룹에 대한 메모리 홀의 잘못된 형상의 낮은 심각도를 나타낸다.
일부 실시예들에서, 하나 이상의 프로그램 파라미터들이 카운트에 기초하여 선택된다. 하나의 실시예에서, 카운트에 기초하여 선택된 하나의 프로그램 파라미터는 프로그램 스텝 크기이다. 예를 들어, 프로세스(600)의 단계(660)에서의 프로그램 스텝 크기가 선택될 수 있다. 일부 실시예들에서, 더 큰 프로그램 스텝 크기는 더 빠른 프로그래밍 및 그에 따른 더 큰 성능을 야기한다. 일부 실시예들에서, 더 작은 프로그램 스텝 크기는 더 느린 프로그래밍을 야기한다. 그러나, 더 작은 프로그램 스텝 크기는 메모리 홀의 잘못된 형상의 높은 심각도를 갖는 그룹이 신뢰성있게 사용되게 할 수 있다. 일부 실시예들에서, 카운트에 기초하여 선택된 다른 프로그램 파라미터는 Vv1이다. Vv1의 조정은 VeV와 Vv1 사이의 마진을 변화시킨다. Vv1이 이동될 때, 다른 검증 기준 레벨들(Vv2 내지 Vv7) 중 하나 이상이 또한 이동될 수 있다(그러나, 전형적으로 Vv7은 이동되지 않는다).
도 7c는 도 7a의 예에서 사용된 것과는 상이한 프로그램 파라미터들을 사용하여 프로그래밍한 후의 8개의 임계 전압 분포들(742 내지 756)을 도시한다. 일 실시예에서, 그룹에 대한 메모리 홀의 잘못된 형상의 심각도가 낮다고 결정하는 것에 응답하여 상이한 프로그램 파라미터들이 사용된다. 도 7c에 사용된 프로그램 파라미터들은 프로그래밍 성능을 증가시키는 데 사용될 수 있다. 분포(742)는 상태(S0)에 대응하고; 분포(744)는 상태(S1)에 대응하고; 분포(746)는 상태(S2)에 대응하고; 분포(748)는 상태(S3)에 대응하고; 분포(750)는 상태(S4)에 대응하고; 분포(752)는 상태(S5)에 대응하고; 분포(754)는 상태(S6)에 대응하고; 분포(756)는 상태(S7)에 대응한다. 언급된 바와 같이, 프로그래밍 성능은 그룹에 대한 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라고 결정하는 것에 응답하여 증가될 수 있다.
비교를 위해, 도 7a로부터의 프로그래밍된 상태들(S1 내지 S7)에 대한 임계 분포들(704 내지 716)이 파선들로 도시되어 있다. 도 7a의 예에서 사용되었던 것보다 높은 성능 레벨을 사용하여, 메모리 셀들은 소거 상태(S0)로부터 임계 분포들(744 내지 756)로 프로그래밍되었다.
메모리 셀들은 도 7a의 예와는 상이한 프로그래밍 파라미터들(예컨대, 프로그램 전압 스텝 크기, 검증 기준 레벨들)을 사용하여 임계 분포들(744 내지 756)로 프로그래밍되었다. 한 가지 차이는 프로그램 전압 스텝 크기가 도 7c의 예에서 더 크다는 것이다. 다른 차이는 Vv1이 도 7a에서보다 도 7c에서 더 낮은 전압에 있다는 것이다. 따라서, Vv1은 도 7a에서보다 도 7c에서 Vev에 더 가깝다. 다른 차이는 Vv1에서 Vv7 사이의 전압 차이가 도 7a에서보다 도 7c에서 더 크다는 것이다. Vv1에서 Vv7 사이에서 더 큰 갭을 갖는 것은 상태들 사이의 증가된 전압 마진으로 인해 신뢰성을 개선할 수 있다.
도 7d는 도 7c의 예에서 사용된 것과는 상이한 프로그램 파라미터들을 사용하는 것을 예시하기 위해 프로그래밍 후의 임계 전압 분포들(762 내지 776)을 도시한다. 일 실시예에서, 그룹에 대한 메모리 홀의 잘못된 형상의 심각도가 높다고 결정하는 것에 응답하여 상이한 프로그램 파라미터들이 사용된다. 분포(762)는 상태(S0)에 대응하고; 분포(764)는 상태(S1)에 대응하고; 분포(766)는 상태(S2)에 대응하고; 분포(768)는 상태(S3)에 대응하고; 분포(770)는 상태(S4)에 대응하고; 분포(772)는 상태(S5)에 대응하고; 분포(774)는 상태(S6)에 대응하고; 분포(776)는 상태(S7)에 대응한다. 프로그래밍 성능(예컨대, 프로그래밍 속도)은 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라고 결정하는 것에 응답하여 감소될 수 있다. 예를 들어, 프로그램 스텝 크기는 감소될 수 있다. 그러나, 더 작은 스텝 크기를 사용하는 것은 더 정밀한 임계 전압 분포들을 형성하는 것을 도울 수 있으며, 이는 신뢰성을 개선할 수 있다.
비교를 위해, 도 7b로부터의 프로그래밍된 상태들 (S1 내지 S7)에 대한 임계 전압 분포들(724 내지 736)이 파선들로 도시되어 있다. 메모리 셀들은 도 7b의 예와는 상이한 프로그래밍 파라미터들(예컨대, 프로그램 전압 스텝 크기, 검증 기준 레벨들)을 사용하여 임계 전압 분포들(764 내지 776)로 프로그래밍되었다. 한 가지 차이는 프로그램 전압 스텝 크기가 도 7d의 예에서 더 작다는 것이다. 다른 차이는 Vv1이 도 7c에서보다 도 7d에서 더 높은 전압에 있다는 것이다. 따라서, Vv1은 도 7c에서보다 도 7d에서 Vev로부터 더 멀다. 다른 차이는 Vv1에서 Vv7 사이의 전압 차이가 도 7c에서보다 도 7d에서 더 작다는 것이다. 그러나, 더 작은 프로그램 스텝 크기는 Vv1에서 Vv7 사이의 더 작은 갭을 보상하는 데 사용될 수 있다.
도 8은 비휘발성 저장 디바이스에서 메모리 셀들을 프로그래밍하는 프로세스(800)의 일 실시예이다. 비휘발성 저장 디바이스는 본 명세서에서 설명된 임의의 비휘발성 저장 디바이스일 수 있다. 일부 실시예들에서, 메모리 셀들은 3D 메모리 어레이 내에 있다. 3차원 어레이는 도 4a 내지 도 4e의 예들과 같은, 그러나 이들로 제한되지 않는 비휘발성 메모리 셀들의 컬럼들을 포함한다. 도 4e의 예에서와 같이, 비휘발성 메모리 홀들 모두가 원형 단면을 갖는 것은 아님에 유의한다. 일부 메모리 셀들은 도 5의 예에서와 같이 심각한 잘못된 형상을 가질 수 있다. 일 실시예에서, 프로세스는 메모리 셀들의 그룹의 메모리 홀의 잘못된 형상의 심각도에 하나 이상의 프로그램 파라미터를 맞추는 데 사용된다. 이는, 그룹의 메모리 홀의 잘못된 형상의 심각도에 기초하여, 상이한 그룹들이 상이한 프로그램 파라미터들을 갖게 한다. 그룹들은 임의의 유닛(예컨대, 워드 라인에 접속된 메모리 셀들, 메모리 셀들의 블록, 평면, 메모리 다이(108))일 수 있다. 일부 실시예들에서, 프로세스(800)는, 도 1에 도시된 다른 회로들의 전부 또는 서브세트와 조합하여, 상태 머신(112) 및/또는 제어기(122)(또는 동등하게 기능화된 회로들)에 의해 수행된다.
단계(802)는 메모리 셀들의 그룹을 소거하는 단계를 포함한다. 메모리 셀들은 소거 상태(예를 들어, S0 또는 Er)로 소거된다. 소거 상태의 상부 경계는 소거 검증 전압(예컨대, VeV)에 의해 한정된다. 다시 말해, 소거 검증 전압이 소거 프로세스 동안 사용되어, 메모리 셀들이 소거 상태에 있는지 여부를 검증한다. 그룹 내의 모든 메모리 셀이 소거가 완료될 소거 검증 전압 미만의 Vt를 갖는 것이 요구되지는 않는다. 일부 실시예들에서, 사전결정된 수의 메모리 셀들은 소거가 완료된 후에 소거 검증 전압 초과의 Vt를 가질 수 있다. 일례로서, 그룹은 하나의 워드 라인에 접속된 메모리 셀들일 수 있다는 점에 유의한다. 이러한 그룹을 소거할 때, 다른 메모리 셀들이 또한 소거될 수 있다. 예를 들어, (그룹이 일부인) 메모리 셀들의 전체 블록이 함께 소거될 수 있다.
단계(804)는 하나 이상의 제1 프로그램 파라미터들을 사용하여 그룹 내의 메모리 셀들을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하는 단계를 포함한다. 하나 이상의 프로그램 파라미터들은 1) 프로그램 루프들 사이의 프로그램 전압 스텝 크기; 2) 소거 상태 검증 전압(예컨대, Vev)과 A-상태(또는 S1) 검증 전압(예컨대, Vv1) 사이의 전압 갭; 3) 메모리 셀이 그의 타깃 상태로 프로그래밍되었는지 여부를 검증하는 데 사용되는 하나 이상의 검증 레벨(예컨대, Vv1 내지 Vv7 중 임의의 것); 및/또는 4) 최저 프로그래밍된 상태(예컨대, S0)에 대한 제1 검증 전압(예컨대, Vv1)과 최고 프로그래밍된 상태(예컨대, S7)에 대한 제2 검증 전압(예컨대, Vv7) 사이의 전압 갭을 포함할 수 있지만, 이에 한정되지는 않는다. 7개 초과 또는 미만의 프로그래밍된 상태들이 사용될 수 있다는 것에 유의한다.
단계(806)는 메모리 셀들의 Vt들에 기초하여 그룹에 대한 메모리 홀의 잘못된 형상의 심각도를 결정하는 단계를 포함한다. 일 실시예에서, 메모리 셀들의 임계 전압들은 메모리 홀의 잘못된 형상의 심각도를 결정하기 위해 측정된다. 메모리 셀들의 임계 전압들이 측정될 수 있는 많은 방식들이 있다. 일부 실시예들에서, 메모리 셀들의 카운트는 Vt 측정치들에 기초하여 이루어진다. 일부 실시예에서, 그룹 내의 메모리 홀의 잘못된 형상의 심각도는 구역 내의 임계 전압을 갖는 메모리 셀들의 수에 기초하여 결정된다. 구역의 일례가 도 7b에 도시되어 있지만, 다른 구역들이 사용될 수 있다. 일 실시예에서, 소거 검증 레벨(Vev)과 S1 검증 레벨(Vv1) 사이에 있는 구역 내에 있는 Vt를 갖는 메모리 셀들의 수의 카운트가 이루어진다. 구역은 소거 검증 레벨(Vev)과 S1 검증 레벨(Vv1) 사이의 전체 갭을 차지하는 데 필요하지 않다. 도 7b는 일 실시예에서 카운트에 사용되는 구역(720)을 도시한다. 구역(720)은 Vr1과 Vv1 사이에 있다. 구역은 다른 기준 전압들에 기초하여 한정될 수 있다. 일부 실시예들에서, 그룹에 대한 메모리 홀의 잘못된 형상의 심각도는 카운트에 기초한다. 일부 실시예들에서, 더 높은 카운트는 그룹에 대한 더 심각한 메모리 홀의 잘못된 형상을 나타낸다. 일부 실시예들에서, 더 낮은 카운트는 그룹에 대한 덜 심각한 메모리 홀의 잘못된 형상을 나타낸다.
일 실시예에서, 단계(806)에서, Vev 미만의 Vt를 갖는 메모리 셀들의 수의 카운트가 이루어진다. 이 예에서, Vev 미만의 영역은 그룹 내의 메모리 홀의 잘못된 형상의 심각도를 결정하는 데 사용되는 구역인 것으로 간주될 수 있다. (Vev 미만의) 이러한 구역 내의 셀들의 카운트는 소거 상태에 있어야 하는(즉, Vev 미만의 Vt를 가져야 하는) 메모리 셀들의 수와 비교된다. 일부 실시예들에서, 데이터 상태들(즉, 소거 상태 및 프로그래밍된 상태들) 각각은 각각 동일한 수의 셀들을 가져야 한다. 예를 들어, 8개의 데이터 상태들이 있으면, 메모리 셀들의 1/8이 소거 상태에 있어야 한다. 따라서, 소거 상태에 있어야 하지만 Vev 초과의 Vt를 갖는 메모리 셀들의 수가 결정될 수 있다. 더 높은 수는 그룹의 더 심각한 메모리 홀의 잘못된 형상을 나타낸다. Vev 미만의 Vt를 갖는 메모리 셀들의 수를 카운트하는 대신에, Vr1과 같은 다른 레벨이 사용될 수 있다.
단계(806)는 일 실시예에서, 그룹 내의 메모리 셀들을 프로그래밍한 직후에 수행된다. 그룹 내의 메모리 셀들을 프로그래밍한 직후는, 판독 교란을 야기할 수 있는 어떠한 개재 감지 동작들이 없는 것, 그리고 그룹에 대한 프로그램 교란을 야기할 수 있는 메모리 셀들의 다른 그룹의 프로그래밍이 없는 것을 의미한다. 따라서, 단계(806)는 일 실시예에서, (다른 그룹들을 프로그래밍하는 것으로부터) 판독 교란 및 프로그램 교란의 영향을 피한다.
단계(806)는 일 실시예에서, 그룹을 프로그래밍한 결과로서 프로그램 교란된 소거 상태 메모리 셀들의 수를 결정한다. 즉, 소거 상태 셀들은, 그룹이 프로그래밍될 때, 프로그래밍을 수신하는 것이 금지되어야 한다. 그러나, 소거 상태 셀들이 적절하게 금지되지 않는 경우 그것은 프로그램 교란을 겪을 수 있다. 그러한 메모리 셀들은 본 명세서에서 프로그램 교란된 소거 상태 메모리 셀들로 지칭된다. 일 실시예에서, 단계(806)에서 설명된 Vt들을 측정하는 기법들 중 임의의 것이 프로그램 교란된 소거 상태 메모리 셀들의 수를 결정하는 데 사용될 수 있다. 그러나, 프로그램 교란된 소거 상태 메모리 셀들의 수를 결정하는 것은 단계(806)에서 설명된 예들에 제한되지 않는다.
단계(808)는 메모리 셀들의 그룹을 소거하는 단계를 포함한다. 단계(806)와 단계(808) 사이의 화살표는 단계(806)와 단계(808) 사이에 상당한 시간이 흐를 수 있다는 것을 나타내도록 파선으로 이루어져 있다.
단계(810)는 하나 이상의 제2 프로그램 파라미터들을 사용하여 그룹 내의 메모리 셀들을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하는 단계를 포함한다. 하나 이상의 제2 프로그램 파라미터들은, 일부 실시예들에서, 그룹에 대한 메모리 홀의 잘못된 형상의 심각도에 기초한다.
일 실시예에서, 단계(810)는 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 하나 이상의 제1 프로그램 파라미터들에 비해 하나 이상의 제2 프로그램 파라미터들에 대해 더 큰 프로그램 스텝 크기를 사용하는 단계를 포함한다. 일 실시예에서, 임계치는 구역(예컨대, 구역(720)) 내의 메모리 셀들의 카운트이다. 일 실시예에서, 단계(810)는 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 하나 이상의 제1 프로그램 파라미터들에 대한 A-상태 검증 전압보다 낮은 하나 이상의 제2 프로그램 파라미터들에 대한 A-상태 검증 전압을 갖는 A-상태를 검증하는 단계를 포함한다.
일 실시예에서, 단계(810)는 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 하나 이상의 제1 프로그램 파라미터들에 비해 하나 이상의 제2 프로그램 파라미터들에 대해 더 작은 프로그램 스텝 크기를 사용하는 단계를 포함한다. 일 실시예에서, 임계치는 구역(예컨대, 구역(720)) 내의 메모리 셀들의 카운트이다. 일 실시예에서, 단계(810)는 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 하나 이상의 제1 프로그램 파라미터들에 대한 A-상태 검증 전압보다 높은 하나 이상의 제2 프로그램 파라미터들에 대한 A-상태 검증 전압을 갖는 A-상태를 검증하는 단계를 포함한다.
도 9는 소거 검증 전압과 A-상태 검증 전압 사이의 구역 내의 메모리 셀들의 카운트에 기초하여 A-상태 검증 전압이 조정되는 프로세스(900)의 일 실시예의 흐름도이다. 프로세스(900)에서의 다양한 단계들이 프로세스(800)에서 사용될 수 있다. 그러나, 프로세스(900)는 프로세스(800)와는 관계없이 수행될 수 있다. 일부 실시예들에서, 프로세스(900)는, 도 1에 도시된 다른 회로들의 전부 또는 서브세트와 조합하여, 상태 머신(112) 및/또는 제어기(122)(또는 동등하게 기능화된 회로들)에 의해 수행된다.
단계(902)는 메모리 셀들의 그룹을 소거하는 단계를 포함한다. 메모리 셀들은 소거 상태(예를 들어, S0 또는 Er)로 소거된다. 소거 프로세스 동안 소거 검증 전압(예컨대, VeV)이 사용되어, 메모리 셀들이 소거 상태에 있는지 여부를 검증한다. 그룹 내의 모든 메모리 셀이 소거가 완료될 소거 검증 전압 미만의 Vt를 갖는 것이 요구되지는 않는다. 일부 실시예들에서, 사전결정된 수의 메모리 셀들은 소거가 완료된 후에 소거 검증 전압 초과의 Vt를 가질 수 있다.
단계(904)는 디폴트 A-상태 검증 전압을 사용하여 메모리 셀들을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하는 단계를 포함한다. 디폴트 A-상태 검증 전압은, 일부 실시예들에서, 메모리 홀의 잘못된 형상의 심각도와 관계없이 사용되는 전압을 지칭한다. 디폴트 A-상태 검증 전압의 일례는 도 7a 내지 도 7d 중 어느 하나에서 Vv1이다. 단계(904)는 프로세스(800)의 단계(804)의 실시예에서 사용될 수 있다.
단계(906)는 소거 검증 레벨(Vev)과 S1 검증 레벨(Vv1) 사이에 있는 구역 내에 있는 Vt를 갖는 메모리 셀들의 수의 카운트를 결정하는 단계를 포함한다. 구역은 소거 검증 레벨(Vev)과 S1 검증 레벨(Vv1) 사이의 전체 갭을 차지하는 데 필요하지 않다. 도 7b는 일 실시예에서 카운트에 사용되는 구역(720)을 도시한다. 구역(720)은 Vr1과 Vv1 사이에 있다. 구역은 다른 기준 전압들에 기초하여 한정될 수 있다. 단계(906)는 일 실시예에서 메모리 셀들을 프로그래밍한 직후에 수행된다. 따라서, 일 실시예에서, 메모리 셀들 상의 판독 교란의 어떠한 영향도 방지된다. 단계(906)는 프로세스(800)의 단계(806)의 실시예에서 사용될 수 있다.
단계(908)는 카운트에 기초하여 A-상태 검증 전압을 설정하는 방법을 결정하는 것이다. A-상태 검증 레벨은 메모리 셀들의 이 그룹이 프로그래밍된 다음에 사용될 것이다. 카운트가 상대적으로 낮으면(제1 임계치(T1) 미만이면), 단계(910)에서 A-상태 검증 전압이 감소된다. A-상태 검증 전압을 감소시키는 예는, 도 7c에 도시된 바와 같이, Vv1로부터 Vv1'으로 감소하는 것이다. 일례는 A-상태 검증 전압을 디폴트 전압으로부터 100 ㎷만큼 감소시키는 것이다. 다른 검증 전압들이 또한 감소될 수 있다. 예를 들어, Vv2 내지 Vv6 중 하나 이상은 각각 Vv2' 내지 Vv6'으로 감소된다. 일례는 B-상태 검증 전압을 디폴트 전압으로부터 80 ㎷만큼 감소시키는 것, C-상태 검증 전압을 디폴트 전압으로부터 60 ㎷만큼 감소시키는 것, D-상태 검증 전압을 디폴트 전압으로부터 40 ㎷만큼 감소시키는 것, E-상태 검증 전압을 디폴트 전압으로부터 30 ㎷만큼 감소시키는 것, F-상태 검증 전압을 디폴트 전압으로부터 20 ㎷만큼 감소시키는 것, 및 G-상태 검증 전압을 디폴트 전압에 있게 하는 것이다.
카운트가 상대적으로 높으면(제2 임계치(T2) 초과이면), 단계(912)에서 A-상태 검증 전압이 증가된다. A-상태 검증 전압을 증가시키는 예는, 도 7d에 도시된 바와 같이, Vv1로부터 Vv1"으로 감소시키는 것이다. 일례는 A-상태 검증 전압을 디폴트 전압으로부터 100 ㎷만큼 증가시키는 것이다. 다른 검증 전압들이 또한 증가될 수 있다. 예를 들어, Vv2 내지 Vv6 중 하나 이상은 각각 Vv2" 내지 Vv6"으로 증가된다. 일례는 B-상태 검증 전압을 디폴트 전압으로부터 80 ㎷만큼 증가시키는 것, C-상태 검증 전압을 디폴트 전압으로부터 60 ㎷만큼 증가시키는 것, D-상태 검증 전압을 디폴트 전압으로부터 40 ㎷만큼 증가시키는 것, E-상태 검증 전압을 디폴트 전압으로부터 30 ㎷만큼 증가시키는 것, F-상태 검증 전압을 디폴트 전압으로부터 20 ㎷만큼 증가시키는 것, 및 G-상태 검증 전압을 디폴트 전압에 있게 하는 것이다.
카운트가 높지도 않고 낮지도 않으면(제1 임계치(T1)와 제2 임계치(T2) 사이이면), A-상태 검증 전압은 단계(914)에서 동일하게 유지된다. 일 실시예에서, 다른 검증 전압들이 또한 동일하게 유지된다.
단계(910)는 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계(912)는 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계들(910, 912) 양측 모두는 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계들(910, 912, 914)은 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다.
도 10은 소거 검증 전압과 A-상태 검증 전압 사이의 구역 내의 메모리 셀들의 카운트에 기초하여 프로그램 스텝 크기가 조정되는 프로세스(1000)의 일 실시예의 흐름도이다. 프로세스(1000)에서의 다양한 단계들이 프로세스(800)에서 사용될 수 있다. 그러나, 프로세스(1000)는 프로세스(800)와는 관계없이 수행될 수 있다. 일부 실시예들에서, 프로세스(1000)는, 도 1에 도시된 다른 회로들의 전부 또는 서브세트와 조합하여, 상태 머신(112) 및/또는 제어기(122)(또는 동등하게 기능화된 회로들)에 의해 수행된다.
단계(1002)는 메모리 셀들의 그룹을 소거하는 단계를 포함한다. 메모리 셀들은 소거 상태(예를 들어, S0 또는 Er)로 소거된다. 소거 프로세스 동안 소거 검증 전압(예컨대, VeV)이 사용되어, 메모리 셀들이 소거 상태에 있는지 여부를 검증한다. 그룹 내의 모든 메모리 셀이 소거가 완료될 소거 검증 전압 미만의 Vt를 갖는 것이 요구되지는 않는다. 일부 실시예들에서, 사전결정된 수의 메모리 셀들은 소거가 완료된 후에 소거 검증 전압 초과의 Vt를 가질 수 있다.
단계(1004)는 디폴트 프로그램 전압 스텝 크기를 사용하여 메모리 셀들을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하는 단계를 포함한다. 디폴트 프로그램 전압 스텝 크기는, 일부 실시예들에서, 메모리 홀의 잘못된 형상의 심각도와 관계없이 사용되는 프로그램 전압 스텝 크기를 지칭한다. 디폴트 프로그램 전압 스텝 크기의 예는 0.6 V이다. 디폴트 프로그램 전압 스텝은 더 높거나 더 낮을 수 있다. 단계(1004)는 프로세스(800)의 단계(804)의 실시예에서 사용될 수 있다.
단계(1006)는 소거 검증 레벨(Vev)과 S1 검증 레벨(Vv1) 사이에 있는 구역 내에 있는 Vt를 갖는 메모리 셀들의 수의 카운트를 결정하는 단계를 포함한다. 구역은 소거 검증 레벨(Vev)과 S1 검증 레벨(Vv1) 사이의 전체 갭을 차지하는 데 필요하지 않다. 도 7b는 일 실시예에서 카운트에 사용되는 구역(720)을 도시한다. 구역(720)은 Vr1과 Vv1 사이에 있다. 구역은 다른 기준 전압들에 기초하여 한정될 수 있다. 단계(1006)는 일 실시예에서 메모리 셀들을 프로그래밍한 직후에 수행된다. 단계(906)는 프로세스(800)의 단계(806)의 실시예에서 사용될 수 있다.
단계(1008)는 카운트에 기초하여 프로그램 전압 스텝 크기를 설정하는 방법을 결정하는 것이다. 카운트가 상대적으로 낮으면(제1 임계치(T1) 미만이면), 단계(1010)에서 프로그램 전압 스텝 크기가 증가된다. 일례는 프로그램 전압 스텝 크기를 디폴트로부터 0.05 V만큼 증가시키는 것이다. 예를 들어, 프로그램 전압 스텝 크기는 0.6 V로부터 0.65 V로 증가될 수 있다. 증가는 0.05 V보다 크거나 또는 작을 수 있다.
카운트가 상대적으로 높으면(제2 임계치(T2) 초과이면), 단계(1012)에서 프로그램 전압 스텝 크기가 감소된다. 일례는 프로그램 전압 스텝 크기를 디폴트로부터 0.05 V만큼 감소시키는 것이다. 예를 들어, 프로그램 전압 스텝 크기는 0.6 V로부터 0.55 V로 감소될 수 있다. 증가는 0.05 V보다 크거나 또는 작을 수 있다. 임계치들(T1, T2)은 프로세스(900)에서 사용되는 임계치들(T1, T2)과 동일할 수 있거나 또는 상이할 수 있음에 유의한다.
카운트가 높지도 않고 낮지도 않으면(제1 임계치(T1)와 제2 임계치(T2) 사이이면), 프로그램 전압 스텝 크기는 단계(1014)에서 동일하게 유지된다.
단계(1010)는 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계(1012)는 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계들(1010, 1012) 양측 모두는 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계들(1010, 1012, 1014)은 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다.
프로세스(900)의 단계들(910 내지 914)에서 수행되는 액션들은 프로세스(1000)의 단계(1010 내지 1014)에서의 액션들과 조합될 수 있다. 다시 말하면, 프로그램 스텝 크기 및 하나 이상의 검증 전압 양측 모두가 조정될 수 있다. 도 11은 소거 검증 전압과 A-상태 검증 전압 사이의 구역 내의 메모리 셀들의 카운트에 기초하여 프로그램 스텝 크기 및 하나 이상의 검증 레벨들 양측 모두가 조정되는 프로세스(1100)의 일 실시예의 흐름도이다. 프로세스(1100)에서의 다양한 단계들이 프로세스(800)에서 사용될 수 있다. 그러나, 프로세스(1100)는 프로세스(800)와는 관계없이 수행될 수 있다. 일부 실시예들에서, 프로세스(1100)는, 도 1에 도시된 다른 회로들의 전부 또는 서브세트와 조합하여, 상태 머신(112) 및/또는 제어기(122)(또는 동등하게 기능화된 회로들)에 의해 수행된다.
단계(1102)는 메모리 셀들의 그룹을 소거하는 단계를 포함한다. 메모리 셀들은 소거 상태(예를 들어, S0 또는 Er)로 소거된다. 소거 프로세스 동안 소거 검증 전압(예컨대, VeV)이 사용되어, 메모리 셀들이 소거 상태에 있는지 여부를 검증한다. 그룹 내의 모든 메모리 셀이 소거가 완료될 소거 검증 전압 미만의 Vt를 갖는 것이 요구되지는 않는다. 일부 실시예들에서, 사전결정된 수의 메모리 셀들은 소거가 완료된 후에 소거 검증 전압 초과의 Vt를 가질 수 있다.
단계(1104)는 디폴트 프로그램 전압 스텝 크기 및 디폴트 검증 전압들을 사용하여 메모리 셀들을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하는 단계를 포함한다. 디폴트 프로그램 전압 스텝 크기 및 디폴트 검증 전압들의 예들은 단계들(1004, 904)과 관련하여 논의되었다.
단계(1106)는 소거 검증 레벨(Vev)과 S1 검증 레벨(Vv1) 사이에 있는 구역 내에 있는 Vt를 갖는 메모리 셀들의 수의 카운트를 결정하는 단계를 포함한다. 단계(1106)는 일 실시예에서 메모리 셀들을 프로그래밍한 직후에 수행된다. 단계(1106)는 프로세스(800)의 단계(806)의 실시예에서 사용될 수 있다. 구역(720)에 기초한 카운팅의 예가 단계들(906, 1006)과 관련하여 논의되었다.
단계(1108)는 카운트에 기초하여 프로그램 전압 스텝 크기 및 하나 이상의 검증 전압들을 설정하는 방법을 결정하는 것이다. 카운트가 상대적으로 낮으면(제1 임계치(T1) 미만이면), 단계(1110)에서 프로그램 전압 스텝 크기가 증가되고 하나 이상의 검증 전압들이 감소된다. 전압 스텝 크기 및 검증 전압들을 증가시키는 것의 예들은 단계들(1010, 910)과 관련하여 논의되었다.
카운트가 상대적으로 높으면(제2 임계치(T2) 초과이면), 단계(1012)에서 프로그램 전압 스텝 크기가 증가되고 하나 이상의 검증 전압들이 증가된다. 전압 스텝 크기를 감소시키고 검증 전압들을 감소시키는 것의 예들은 단계들(1012, 912)과 관련하여 논의되었다.
카운트가 높지도 않고 낮지도 않으면(제1 임계치(T1)와 제2 임계치(T2) 사이이면), 프로그램 전압 스텝 크기 및 검증 전압들은 단계(1114)에서 동일하게 유지된다.
단계(1110)는 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계(1112)는 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계들(1110, 1112) 양측 모두는 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다. 단계들(1110, 1112, 1114)은 (카운트에 따라) 프로세스(800)의 단계(810)의 일 실시예에서 수행된다.
본 명세서에 개시된 제1 실시예는 비휘발성 메모리 셀들, 및 비휘발성 메모리 셀들과 통신하는 하나 이상의 제어 회로들을 포함하는 장치를 포함한다. 하나 이상의 제어 회로들은, 제1 프로그램 파라미터를 사용하여, 비휘발성 메모리 셀들의 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하도록; 그룹의 임계 전압들을 측정하여 그룹 내의 메모리 홀의 잘못된 형상의 심각도를 결정하도록; 그리고 그룹 내의 메모리 홀의 잘못된 형상의 심각도에 기초하여 선택된 제2 프로그램 파라미터를 사용하여 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하도록 구성된다.
제2 실시예에서, 그리고 제1 실시예를 개선하기 위해, 하나 이상의 제어 회로들은 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 제1 프로그램 파라미터에 비해 제2 프로그램 파라미터에 대해 더 큰 프로그램 스텝 크기를 사용하도록 추가로 구성된다.
제3 실시예에서, 그리고 제1 실시예 또는 제2 실시예를 개선하기 위해, 하나 이상의 제어 회로들은 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 더 큰 프로그램 스텝 크기를 사용하는 것과 조합하여 프로그래밍된 상태들 중 최저 상태에 대한 제1 검증 전압과 프로그래밍된 상태들 중 최고 상태에 대한 제2 검증 전압 사이의 더 큰 전압 갭을 사용하도록 추가로 구성된다.
제4 실시예에서, 그리고 제1 실시예 내지 제3 실시예 중 임의의 실시예를 개선하기 위해, 하나 이상의 제어 회로들은 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 제1 프로그램 파라미터에 대한 A-상태 검증 전압보다 낮은 제2 프로그램 파라미터에 대한 A-상태 검증 전압으로 복수의 프로그래밍된 상태들 중 A-상태를 검증하도록 추가로 구성된다.
제5 실시예에서, 그리고 제1 실시예 내지 제4 실시예 중 임의의 실시예를 개선하기 위해, 하나 이상의 제어 회로들은 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 제1 프로그램 파라미터에 비해 제2 프로그램 파라미터에 대해 더 작은 프로그램 스텝 크기를 사용하도록 추가로 구성된다.
제6 실시예에서, 그리고 제1 실시예 내지 제5 실시예 중 임의의 실시예를 개선하기 위해, 하나 이상의 제어 회로들은 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 더 작은 프로그램 스텝 크기를 사용하는 것과 조합하여 프로그래밍된 상태들 중 최저 상태에 대한 제1 검증 전압과 프로그래밍된 상태들 중 최고 상태에 대한 제2 검증 전압 사이의 더 작은 전압 갭을 사용하도록 추가로 구성된다.
제7 실시예에서, 그리고 제1 실시예 내지 제6 실시예 중 임의의 실시예를 개선하기 위해, 하나 이상의 제어 회로들은 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 제1 프로그램 파라미터에 대한 A-상태 검증 전압보다 높은 제2 프로그램 파라미터에 대한 A-상태 검증 전압으로 복수의 프로그래밍된 상태들 중 A-상태를 검증하도록 추가로 구성된다.
제9 실시예에서, 그리고 제1 실시예 내지 제7 실시예 중 임의의 실시예를 개선하기 위해, 하나 이상의 제어 회로들은 일정 구역 내의 임계 전압을 갖는 메모리 셀들의 수에 기초하여 그룹 내의 메모리 홀의 잘못된 형상의 심각도를 결정하도록 추가로 구성된다.
제10 실시예에서, 그리고 제1 실시예 내지 제9 실시예 중 임의의 실시예를 개선하기 위해, 메모리 홀의 잘못된 형상은 메모리 홀 스트리에이션을 포함한다.
제11 실시예에서, 그리고 제1 실시예 내지 제10 실시예 중 임의의 실시예를 개선하기 위해, 비휘발성 메모리 셀들은 메모리 셀 재료의 환형 필름들을 포함한다. 하나 이상의 제어 회로들은 메모리 셀 재료의 환형 필름들의 잘못된 형상의 심각도를 결정하도록 구성된다.
일 실시예는 비휘발성 메모리를 동작시키는 방법을 포함한다. 본 방법은 비휘발성 메모리 셀들의 그룹을 소거 상태의 상부 경계를 한정하는 소거 상태 검증 전압 미만의 레벨로 소거하는 단계; 디폴트 A-상태 검증 전압으로 A-상태를 검증하는 단계를 포함하는, 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하는 단계; 그룹을 프로그래밍한 직후에, 소거 상태 검증 전압과 디폴트 A-상태 검증 전압 사이에 있는 구역 내에 있는 메모리 셀들의 수를 결정하는 단계; 구역 내에 있는 메모리 셀들의 수를 결정한 후에 그룹을 소거 상태로 소거하는 단계; 및 구역 내에 있는 메모리 셀들의 수에 기초하는 검증 전압으로 A-상태를 검증하는 단계를 포함하는, 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하는 단계를 포함한다.
일 실시예는 비휘발성 메모리 셀들의 컬럼들을 포함하는 3차원 어레이; 및 하나 이상의 제어 회로들을 포함하는 비휘발성 저장 디바이스를 포함한다. 하나 이상의 제어 회로들은 제1 프로그램 전압 스텝 크기를 사용하여 비휘발성 메모리 셀들의 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하도록; 그룹을 프로그래밍한 결과로서 프로그램 교란된 소거 상태 메모리 셀들의 수를 결정하도록; 제1 프로그램 전압 스텝 크기를 사용하여 그룹을 프로그래밍한 후에 그룹을 소거하도록; 그리고 제1 프로그램 전압 스텝 크기를 사용할 때 프로그램 교란된 소거 상태 메모리 셀들의 수에 기초하는 제2 프로그램 전압 스텝 크기를 사용하여 그룹을 프로그래밍하도록 구성된다.
본 문헌의 목적상, 명세서 내에서 "일 실시예", "하나의 실시예", "일부 실시예들", 또는 "다른 실시예"에 대한 언급은 상이한 실시예들 또는 동일한 실시예를 기술하는 데 사용될 수 있다.
본 문헌의 목적상, 접속은 직접 접속 또는 (예를 들어, 하나 이상의 다른 부품들을 통한) 간접 접속일 수 있다. 일부 경우들에 있어서, 하나의 요소가 다른 요소에 접속되거나 결합되는 것으로 언급되는 경우, 그 요소는 다른 요소에 직접적으로 접속될 수 있거나, 또는 개재 요소들을 통해 다른 요소에 간접적으로 접속될 수 있다. 하나의 요소가 다른 요소에 직접적으로 접속되는 것으로 언급되는 경우, 그 요소와 다른 요소 사이에는 개재 요소들이 없다. 2개의 디바이스들은, 그들이 직접적으로 또는 간접적으로 접속되어 그들이 그들 사이에서 전자 신호들을 통신할 수 있게 되는 경우에 "통신 중"이다.
본 문헌의 목적상, "~에 기초한"이라는 용어는 "~에 적어도 부분적으로 기초한"으로 해독될 수 있다.
본 문헌의 목적상, 추가 맥락 없이, "제1" 물체, "제2" 물체, 및 "제3" 물체와 같은 숫자와 관련된 용어들의 사용은 물체들의 순차를 암시하는 것이 아니라, 그 대신, 상이한 물체들을 식별하기 위한 식별 목적으로 사용될 수 있다.
본 문헌의 목적상, 물체들의 "세트"라는 용어는 물체들 중 하나 이상의 물체들의 "세트"를 지칭할 수 있다.
전술한 상세한 설명은 예시 및 설명의 목적으로 제시되었다. 그것은 망라하거나 개시된 정확한 형태로 제한하도록 의도되지 않는다. 상기의 교시 내용의 관점에서 많은 수정 및 변형이 가능하다. 기술된 실시예들은 제안된 기술의 원리 및 그의 실제 응용을 가장 잘 설명하기 위해 선택되었고, 이에 의해, 당업자가 다양한 실시예들에서 그리고 심사숙고된 특정 용도에 적절하게 된 바와 같은 다양한 수정예들로 그것을 가장 잘 활용할 수 있게 하였다. 그 범주는 명세서에 첨부된 청구범위에 의해 정의되는 것으로 의도된다.

Claims (20)

  1. 장치로서,
    비휘발성 메모리 셀들; 및
    상기 비휘발성 메모리 셀들과 통신하는 하나 이상의 제어 회로들을 포함하고, 상기 하나 이상의 제어 회로들은,
    제1 프로그램 파라미터를 사용하여, 비휘발성 메모리 셀들의 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하도록;
    제1 프로그램 파라미터를 사용하여 상기 그룹을 프로그래밍한 후에, 상기 그룹의 임계 전압들을 측정하여 상기 그룹 내의 메모리 홀의 잘못된 형상(mis-shape)의 심각도(severity)를 결정하도록;
    상기 그룹 내의 메모리 홀의 잘못된 형상의 심각도를 결정한 후에 상기 그룹을 소거 상태로 소거하도록; 그리고
    상기 그룹 내의 상기 메모리 홀의 잘못된 형상의 심각도에 기초하여 선택된 제2 프로그램 파라미터를 사용하여 상기 그룹을 상기 소거 상태로부터 상기 복수의 프로그래밍된 상태들로 프로그래밍하도록 구성되는, 장치.
  2. 제1항에 있어서, 상기 하나 이상의 제어 회로들은 상기 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 상기 제1 프로그램 파라미터에 비해 상기 제2 프로그램 파라미터에 대해 더 큰 프로그램 전압 스텝 크기를 사용하도록 추가로 구성되는, 장치.
  3. 제2항에 있어서, 상기 하나 이상의 제어 회로들은 상기 메모리 홀의 잘못된 형상의 심각도가 상기 임계치 미만이라는 것에 응답하여 상기 더 큰 프로그램 전압 스텝 크기를 사용하는 것과 조합하여 상기 프로그래밍된 상태들 중 최저 상태에 대한 제1 검증 전압과 상기 프로그래밍된 상태들 중 최고 상태에 대한 제2 검증 전압 사이의 더 큰 전압 갭(gap)을 사용하도록 추가로 구성되는, 장치.
  4. 제1항에 있어서, 상기 하나 이상의 제어 회로들은 상기 메모리 홀의 잘못된 형상의 심각도가 임계치 미만이라는 것에 응답하여 상기 제1 프로그램 파라미터에 대한 A-상태 검증 전압보다 낮은 상기 제2 프로그램 파라미터에 대한 A-상태 검증 전압으로 상기 복수의 프로그래밍된 상태들 중 A-상태를 검증하도록 추가로 구성되는, 장치.
  5. 제1항에 있어서, 상기 하나 이상의 제어 회로들은 상기 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 상기 제1 프로그램 파라미터에 비해 상기 제2 프로그램 파라미터에 대해 더 작은 프로그램 전압 스텝 크기를 사용하도록 추가로 구성되는, 장치.
  6. 제5항에 있어서, 상기 하나 이상의 제어 회로들은 상기 메모리 홀의 잘못된 형상의 심각도가 상기 임계치 초과라는 것에 응답하여 상기 더 작은 프로그램 전압 스텝 크기를 사용하는 것과 조합하여 상기 프로그래밍된 상태들 중 최저 상태에 대한 제1 검증 전압과 상기 프로그래밍된 상태들 중 최고 상태에 대한 제2 검증 전압 사이의 더 작은 전압 갭을 사용하도록 추가로 구성되는, 장치.
  7. 제1항에 있어서, 상기 하나 이상의 제어 회로들은 상기 메모리 홀의 잘못된 형상의 심각도가 임계치 초과라는 것에 응답하여 상기 제1 프로그램 파라미터에 대한 A-상태 검증 전압보다 높은 상기 제2 프로그램 파라미터에 대한 A-상태 검증 전압으로 상기 복수의 프로그래밍된 상태들 중 A-상태를 검증하도록 추가로 구성되는, 장치.
  8. 제1항에 있어서, 상기 하나 이상의 제어 회로들은 일정 구역 내의 임계 전압을 갖는 메모리 셀들의 수에 기초하여 상기 그룹 내의 상기 메모리 홀의 잘못된 형상의 심각도를 결정하도록 추가로 구성되는, 장치.
  9. 제1항에 있어서, 상기 메모리 홀의 잘못된 형상은 메모리 홀 스트리에이션(striation)을 포함하는, 장치.
  10. 제1항에 있어서, 상기 비휘발성 메모리 셀들은 메모리 셀 재료의 환형 필름들을 포함하고, 상기 하나 이상의 제어 회로들은 상기 메모리 셀 재료의 환형 필름들의 잘못된 형상의 심각도를 결정하도록 구성되는, 장치.
  11. 비휘발성 메모리를 동작시키는 방법으로서,
    비휘발성 메모리 셀들의 그룹을 소거 상태의 상부 경계를 한정하는 소거 상태 검증 전압 미만의 레벨로 소거하는 단계;
    디폴트 A-상태 검증 전압으로 A-상태를 검증하는 단계를 포함하는, 상기 그룹을 상기 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하는 단계;
    상기 그룹을 프로그래밍한 직후에, 상기 소거 상태 검증 전압과 상기 디폴트 A-상태 검증 전압 사이에 있는 구역 내에 있는 메모리 셀들의 수를 결정하는 단계;
    상기 구역 내에 있는 상기 메모리 셀들의 수를 결정한 후에 상기 그룹을 상기 소거 상태로 소거하는 단계; 및
    상기 구역 내에 있는 상기 메모리 셀들의 수에 기초하는 검증 전압으로 상기 A-상태를 검증하는 단계를 포함하는, 상기 그룹을 상기 소거 상태로부터 상기 복수의 프로그래밍된 상태들로 프로그래밍하는 단계를 포함하고,
    상기 구역 내에 있는 상기 메모리 셀들의 수에 기초하는 검증 전압으로 상기 A-상태를 검증하는 단계를 포함하는, 상기 그룹을 상기 소거 상태로부터 상기 복수의 프로그래밍된 상태들로 프로그래밍하는 단계는,
    상기 구역 내에 있는 상기 메모리 셀들의 수가 제1 임계치 미만이라는 것에 응답하여 디폴트 프로그램 전압 스텝 크기보다 큰 프로그램 전압 스텝 크기를 사용하여 상기 그룹을 프로그래밍하는 단계; 및
    상기 구역 내에 있는 상기 메모리 셀들의 수가 제2 임계치 초과라는 것에 응답하여 디폴트 프로그램 전압 스텝 크기보다 작은 프로그램 전압 스텝 크기를 사용하여 상기 그룹을 프로그래밍하는 단계를 추가로 포함하는, 방법.
  12. 제11항에 있어서, 상기 구역 내에 있는 상기 메모리 셀들의 수에 기초하는 검증 전압으로 상기 A-상태를 검증하는 단계는,
    상기 수가 상기 제1 임계치 미만이라는 것에 응답하여 상기 디폴트 A-상태 검증 전압 미만인 검증 전압으로 상기 A-상태를 검증하는 단계를 포함하는, 방법.
  13. 삭제
  14. 제11항에 있어서, 상기 구역 내에 있는 상기 메모리 셀들의 수에 기초하는 검증 전압으로 상기 A-상태를 검증하는 단계는,
    상기 수가 상기 제2 임계치 초과라는 것에 응답하여 상기 디폴트 A-상태 검증 전압 초과인 검증 전압으로 상기 A-상태를 검증하는 단계를 포함하는, 방법.
  15. 삭제
  16. 비휘발성 저장 디바이스로서,
    비휘발성 메모리 셀들의 컬럼들을 포함하는 하나 이상의 3차원 어레이들; 및
    하나 이상의 제어 회로들을 포함하고, 상기 하나 이상의 제어 회로들은,
    제1 프로그램 전압 스텝 크기를 사용하여 상기 비휘발성 메모리 셀들의 제1 그룹을 소거 상태로부터 복수의 프로그래밍된 상태들로 프로그래밍하도록;
    상기 제1 프로그램 전압 스텝 크기를 사용하여 상기 제1 그룹을 프로그래밍한 결과로서 프로그램 교란된 소거 상태 메모리 셀들의 수가 제1 임계치 미만인 것으로 결정하도록;
    상기 제1 프로그램 전압 스텝 크기를 사용하여 상기 제1 그룹을 프로그래밍한 후에 상기 제1 그룹을 소거하도록;
    제1 프로그램 전압 스텝 크기를 사용하여 상기 비휘발성 메모리 셀들의 제2 그룹을 소거 상태로부터 상기 복수의 프로그래밍된 상태들로 프로그래밍하도록;
    상기 제1 프로그램 전압 스텝 크기를 사용하여 상기 제2 그룹을 프로그래밍한 결과로서 프로그램 교란된 소거 상태 메모리 셀들의 수가 제2 임계치 초과인 것으로 결정하도록;
    상기 제1 프로그램 전압 스텝 크기를 사용하여 상기 제2 그룹을 프로그래밍한 후에 상기 제2 그룹을 소거하도록;
    상기 제1 그룹 내의 프로그램 교란된 소거 상태 메모리 셀들의 수가 상기 제1 임계치 미만이라는 것에 응답하여 상기 제1 프로그램 전압 스텝 크기보다 큰 제2 프로그램 전압 스텝 크기를 사용하여 상기 제1 그룹을 프로그래밍하도록; 그리고
    상기 제2 그룹 내의 프로그램 교란된 소거 상태 메모리 셀들의 수가 상기 제2 임계치 초과라는 것에 응답하여 상기 제1 프로그램 전압 스텝 크기보다 작은 제3 프로그램 전압 스텝 크기를 사용하여 상기 제2 그룹을 프로그래밍하도록 구성되는, 비휘발성 저장 디바이스.
  17. 삭제
  18. 제16항에 있어서, 상기 하나 이상의 제어 회로들은,
    상기 제1 그룹에 대해 상기 제2 프로그램 전압 스텝 크기를 사용할 때, 상기 수가 상기 제1 임계치 미만이라는 것에 응답하여 상기 제1 프로그램 전압 스텝 크기로 상기 제1 그룹을 프로그래밍할 때 사용된 A-상태 검증 전압보다 낮은 A-상태 검증 전압을 사용하여 A-상태를 검증하도록; 그리고
    상기 제2 그룹에 대해 상기 제3 프로그램 전압 스텝 크기를 사용할 때, 상기 수가 상기 제2 임계치 초과라는 것에 응답하여 상기 제1 프로그램 전압 스텝 크기로 상기 제2 그룹을 프로그래밍할 때 사용된 상기 A-상태 검증 전압보다 높은 A-상태 검증 전압을 사용하여 상기 A-상태를 검증하도록 추가로 구성되는, 비휘발성 저장 디바이스.
  19. 제16항에 있어서, 상기 하나 이상의 제어 회로들은,
    제1 프로그램 전압 스텝 크기를 사용하여 상기 비휘발성 메모리 셀들의 제3 그룹을 소거 상태로부터 상기 복수의 프로그래밍된 상태들로 프로그래밍하도록;
    상기 제1 프로그램 전압 스텝 크기를 사용하여 상기 제3 그룹을 프로그래밍한 결과로서 프로그램 교란된 소거 상태 메모리 셀들의 수가 상기 제1 임계치와 상기 제2 임계치 사이에 있는 것으로 결정하도록;
    상기 제1 프로그램 전압 스텝 크기를 사용하여 상기 제3 그룹을 프로그래밍한 후에 상기 제3 그룹을 소거하도록; 그리고
    상기 제3 그룹에 대한 상기 프로그램 교란된 소거 상태 메모리 셀들의 수가 상기 제1 임계치와 상기 제2 임계치 사이에 있는 것에 응답하여 상기 제1 프로그램 전압 스텝 크기를 사용하여 상기 제3 그룹을 프로그래밍하도록 추가로 구성되는, 비휘발성 저장 디바이스.
  20. 제16항에 있어서, 상기 비휘발성 메모리 셀들의 컬럼들은 상기 컬럼들 내의 메모리 셀 재료의 환형 필름들을 포함하고, 상기 하나 이상의 제어 회로들은 상기 프로그램 교란된 소거 상태 메모리 셀들의 수에 기초하여 상기 환형 필름들의 잘못된 형상의 심각도를 결정하도록 추가로 구성되는, 비휘발성 저장 디바이스.
KR1020200033749A 2019-05-16 2020-03-19 메모리 셀의 잘못된 형상 완화 KR102411922B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/414,577 2019-05-16
US16/414,577 US10910076B2 (en) 2019-05-16 2019-05-16 Memory cell mis-shape mitigation

Publications (2)

Publication Number Publication Date
KR20200132671A KR20200132671A (ko) 2020-11-25
KR102411922B1 true KR102411922B1 (ko) 2022-06-23

Family

ID=73221903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200033749A KR102411922B1 (ko) 2019-05-16 2020-03-19 메모리 셀의 잘못된 형상 완화

Country Status (5)

Country Link
US (2) US10910076B2 (ko)
JP (1) JP6832461B2 (ko)
KR (1) KR102411922B1 (ko)
CN (1) CN111952316A (ko)
DE (1) DE102020105946A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220156399A (ko) * 2021-05-18 2022-11-25 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11562798B2 (en) 2021-06-15 2023-01-24 Sandisk Technologies Llc Programming techniques for memory devices having partial drain-side select gates
US11545226B1 (en) * 2021-06-23 2023-01-03 Sandisk Technologies Llc Systems and methods for compensating for erase speed variations due to semi-circle SGD
JP2023045251A (ja) 2021-09-21 2023-04-03 キオクシア株式会社 半導体記憶装置及びデータ消去方法
US11704190B2 (en) * 2021-10-21 2023-07-18 Western Digital Technologies, Inc. UECC failure handling method
US11955184B2 (en) 2022-05-10 2024-04-09 Sandisk Technologies Llc Memory cell group read with compensation for different programming speeds
CN114995750B (zh) * 2022-05-25 2022-11-18 北京得瑞领新科技有限公司 提高闪存数据可靠性的方法、装置、存储介质及存储设备

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092962A (ja) * 2003-09-16 2005-04-07 Renesas Technology Corp 不揮発性半導体記憶装置
US7177199B2 (en) 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US6888758B1 (en) 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US7072215B2 (en) * 2004-02-24 2006-07-04 Taiwan Semiconductor Manufacturing Company Array structure of two-transistor cells with merged floating gates for byte erase and re-write if disturbed algorithm
US7020017B2 (en) 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
KR100719368B1 (ko) 2005-06-27 2007-05-17 삼성전자주식회사 플래시 메모리 장치의 적응적 프로그램 방법 및 장치
US7920427B2 (en) 2009-02-13 2011-04-05 Micron Technology, Inc. Dynamic soft program trims
US8321727B2 (en) 2009-06-29 2012-11-27 Sandisk Technologies Inc. System and method responsive to a rate of change of a performance parameter of a memory
KR101676816B1 (ko) * 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US8218366B2 (en) * 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
KR101682666B1 (ko) * 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US8737138B2 (en) 2010-11-18 2014-05-27 Micron Technology, Inc. Memory instruction including parameter to affect operating condition of memory
JP5851172B2 (ja) * 2011-09-27 2016-02-03 ラピスセミコンダクタ株式会社 半導体不揮発性メモリ及びデータ書き込み方法
KR20130042780A (ko) * 2011-10-19 2013-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
US8737130B2 (en) 2012-02-29 2014-05-27 Sandisk Technologies Inc. System and method of determining a programming step size for a word line of a memory
JP6088751B2 (ja) * 2012-06-07 2017-03-01 株式会社東芝 半導体メモリ
US9036417B2 (en) 2012-09-06 2015-05-19 Sandisk Technologies Inc. On chip dynamic read level scan and error detection for nonvolatile storage
US20140108705A1 (en) * 2012-10-12 2014-04-17 Sandisk Technologies Inc. Use of High Endurance Non-Volatile Memory for Read Acceleration
US8830717B2 (en) * 2012-11-29 2014-09-09 Sandisk Technologies Inc. Optimized configurable NAND parameters
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US8958249B2 (en) * 2013-03-04 2015-02-17 Sandisk Technologies Inc. Partitioned erase and erase verification in non-volatile memory
US8942038B2 (en) * 2013-04-02 2015-01-27 SanDisk Technologies, Inc. High endurance nonvolatile memory
US8982626B2 (en) * 2013-06-05 2015-03-17 Sandisk Technologies Inc. Program and read operations for 3D non-volatile memory based on memory hole diameter
JP6139370B2 (ja) * 2013-10-17 2017-05-31 株式会社東芝 不揮発性半導体記憶装置
US9620202B2 (en) * 2013-11-01 2017-04-11 Seagate Technology Llc Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory
US8982617B1 (en) * 2013-11-14 2015-03-17 Sandisk Technologies Inc. Block closure techniques for a data storage device
KR20150078165A (ko) * 2013-12-30 2015-07-08 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
JP2015195070A (ja) * 2014-03-31 2015-11-05 株式会社東芝 不揮発性半導体記憶装置
US9792071B2 (en) 2014-12-22 2017-10-17 Sandisk Technologies Llc End of life prediction to reduce retention triggered operations
US9343156B1 (en) * 2015-06-25 2016-05-17 Sandisk Technologies Inc. Balancing programming speeds of memory cells in a 3D stacked memory
KR102251815B1 (ko) * 2015-07-02 2021-05-13 삼성전자주식회사 메모리 장치 및 메모리 시스템
KR102381218B1 (ko) * 2015-09-25 2022-04-01 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9852800B2 (en) 2016-03-07 2017-12-26 Sandisk Technologies Llc Adaptive determination of program parameter using program of erase rate
US9792998B1 (en) * 2016-03-29 2017-10-17 Sandisk Technologies Llc System and method for erase detection before programming of a storage device
US10026487B2 (en) * 2016-06-03 2018-07-17 Sandisk Technologies Llc Non-volatile memory with customized control of injection type of disturb during program verify for improved program performance
US10650885B2 (en) * 2017-03-07 2020-05-12 Alibaba Group Holding Limited Extending flash storage lifespan and data quality with data retention protection
JP2018170057A (ja) * 2017-03-29 2018-11-01 東芝メモリ株式会社 半導体記憶装置及びそのデータ消去制御方法
KR102289598B1 (ko) * 2017-06-26 2021-08-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 그리고 그것의 프로그램 방법
US10580506B2 (en) * 2017-12-07 2020-03-03 Micron Technology, Inc. Semiconductor memory device and erase method including changing erase pulse magnitude for a memory array
JP7212239B2 (ja) * 2018-06-05 2023-01-25 ユナイテッド・セミコンダクター・ジャパン株式会社 不揮発性半導体記憶装置及び不揮発性半導体記憶装置の書き換え方法
JP2020038738A (ja) * 2018-09-03 2020-03-12 キオクシア株式会社 不揮発性メモリ及びメモリシステム
KR102442219B1 (ko) * 2018-10-08 2022-09-08 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR102569820B1 (ko) * 2018-10-25 2023-08-24 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법

Also Published As

Publication number Publication date
JP2020187817A (ja) 2020-11-19
JP6832461B2 (ja) 2021-02-24
US11398285B2 (en) 2022-07-26
KR20200132671A (ko) 2020-11-25
US20200365218A1 (en) 2020-11-19
DE102020105946A1 (de) 2020-12-03
US20200365217A1 (en) 2020-11-19
US10910076B2 (en) 2021-02-02
CN111952316A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
KR102411922B1 (ko) 메모리 셀의 잘못된 형상 완화
CN107958677B (zh) 具有智能温度感测和局部限制的非易失性存储器
CN109427396B (zh) 在非易失性存储器中确定快速编程字线
CN109119120B (zh) 非易失性存储器子区块擦除干扰管理方案
JP6571295B2 (ja) プログラム性能の改良のためのプログラム検証中の注入型擾乱の制御がカスタマイズされる不揮発性メモリ
US9792998B1 (en) System and method for erase detection before programming of a storage device
EP3420555B1 (en) Non-volatile memory with customized control of injection type of disturb during read operations
CN108573733B (zh) 具有编程失败恢复的非易失性存储器
EP3619710B1 (en) Electric field to reduce select gate threshold voltage shift
US10482986B2 (en) Adaptive erase fail bit criteria
US10636498B1 (en) Managing bit-line settling time in non-volatile memory
CN111292792B (zh) 3d存储器中的晶体管阈值电压维持
US10748622B2 (en) State adaptive predictive programming
US10204689B1 (en) Non-volatile memory with methods to reduce creep-up field between dummy control gate and select gate
EP3613047B1 (en) Non-volatile memory with reduced program speed variation
US9910749B2 (en) Non-volatile memory with dynamic repurpose of word line
US11798625B2 (en) Program dependent biasing of unselected sub-blocks
TWI845946B (zh) 未選擇子區塊之程式化相依偏壓
US20220375513A1 (en) Aggressive Quick-Pass Multiphase Programming for Voltage Distribution State Separation in Non-Volatile Memory

Legal Events

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