KR101903842B1 - 비휘발성 메모리의 개선된 내구성을 위한 동적 소거 깊이 - Google Patents

비휘발성 메모리의 개선된 내구성을 위한 동적 소거 깊이 Download PDF

Info

Publication number
KR101903842B1
KR101903842B1 KR1020157025066A KR20157025066A KR101903842B1 KR 101903842 B1 KR101903842 B1 KR 101903842B1 KR 1020157025066 A KR1020157025066 A KR 1020157025066A KR 20157025066 A KR20157025066 A KR 20157025066A KR 101903842 B1 KR101903842 B1 KR 101903842B1
Authority
KR
South Korea
Prior art keywords
erase
storage elements
volatile storage
group
depth
Prior art date
Application number
KR1020157025066A
Other languages
English (en)
Other versions
KR20150125672A (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 KR20150125672A publication Critical patent/KR20150125672A/ko
Application granted granted Critical
Publication of KR101903842B1 publication Critical patent/KR101903842B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching 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
    • 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/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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

동적 소거 깊이에 의해서 비휘발성 메모리의 내구성을 개선시키는 내용이 개시된다. 메모리 셀들의 그룹이 소거된다. 이후, 소거된 메모리 셀들 중 적어도 일부가 프로그래밍된다. 일반적으로, 메모리 셀들을 프로그래밍하는 것은, 소거 상태로 남아있도록 의도되었던 메모리 셀들의 소거 임계전압 분포에 영향을 미친다. 프로그램 동작이 소거 임계전압 분포에 어떻게 영향을 미치는가에 기초하여 다음번 소거의 소거 깊이가 조절될 수 있다. 일례로서, 프로그래밍 이후에, 소거 분포의 상부 꼬리(upper tail)가 측정된다. 일실시예에서, 상부 꼬리가 높으면 높을수록 다음번 소거가 더 얕아진다. 이러한 것은 내구성을 개선시키는데 도움을 줄 수 있다. 일실시예에서, 적절한 소거 검증 레벨을 결정함으로써 소거 깊이가 동적으로 조절된다. 소거 검증 레벨을 조절하는 대신에(또는 이에 부가하여), 소거 검증이 통과(pass)된 이후에 수행된 소거 펄스들의 개수가 조절되어, 소거 깊이를 동적으로 조절할 수 있다.

Description

비휘발성 메모리의 개선된 내구성을 위한 동적 소거 깊이{DYNAMIC ERASE DEPTH FOR IMPROVED ENDURANCE OF NON-VOLATILE MEMORY}
본 출원은 2013년 3월 4일자로 미국에 출원된 "" 라는 명칭의 미국 가특허출원(61/772,250)의 우선권을 주장하며, 상기 미국 가특허출원은 본 발명에 대한 참조로서 본 명세서에 통합된다.
본 발명은 비휘발성 저장소자를 위한 기술에 관한 발명이다.
반도체 메모리는 다양한 전자 디바이스들에서 사용되고 있다. 예를 들어, 비휘발성 반도체 메모리는 휴대폰, 디지털 카메라, 휴대용 개인단말기(Personal Digital Assistant : PDA), 모바일 컴퓨팅 디바이스, 고정형 컴퓨팅 디바이스 등등에 이용되고 있다. 전기적으로 소거 및 프로그래밍 가능한 판독전용 메모리(Electrical Erasable Programmable Read Only Memory : EEPROM)와 플래시 메모리는 가장 많이 사용되는 비휘발성 반도체 메모리들 중 하나이다.
몇몇 비휘발성 메모리는 플로팅 게이트를 이용하는바, 플로팅 게이트는 반도체 기판 내의 채널 영역으로부터 절연되어 있으며 채널 영역 위에 위치한다. 플로팅 게이트는 소스 영역과 드레인 영역 사이에 위치한다. 플로팅 게이트 위에 제공되는 제어 게이트는 상기 플로팅 게이트로부터 절연된다. 트랜지스터의 임계전압은 플로팅 게이트 상에서 유지되고 있는 전하의 양에 의해 제어된다. 즉, 소스와 드레인 사이에서 도통을 허용하기 위해서 트랜지스터가 턴온되기 전에 제어 게이트에 인가되어야만 하는 전압의 최소량은, 플로팅 게이트 상의 전하의 레벨에 의해 제어된다.
일부 비휘발성 메모리는 정보를 저장하기 위해 전하 포획층을 사용한다. 이러한 일례들 중 하나는, 산화물-질화물-산화물(ONO) 영역이며, ONO 영역에서는 질화물(예컨대, SiN)이 정보를 저장하는 전하 포획층의 역할을 수행한다. 이러한 메모리 셀이 프로그래밍되는 경우, 전자들은 상기 전하 포획층 내에 저장된다.
비휘발성 메모리는 2D 구조 혹은 3D 구조를 가질 수 있다. 최근에는, 메모리 셀들의 스트링들을 갖는 3D 적층 메모리 구조를 이용한 초 고밀도(ultra high density) 저장 디바이스들이 제안되었다. 이러한 저장 디바이스들이 일례는 종종 Bit Cost Scalable(BiCS) 구조라고 지칭된다. 예를 들어, 3D 낸드 적층 메모리 디바이스는 교번하는 전도체 및 절연체 층들의 어레이로부터 형성될 수 있다. 상기 층들 내에 메모리 홀이 드릴링되어, 많은 메모리 층들이 동시에 정의된다. 이후, 적절한 물질들로 상기 메모리 홀을 충전함으로써 낸드 스트링이 형성된다.
직선형 낸드 스트링은 하나의 메모리 홀에서 연장되는 반면에, 파이프형(pipe-) 혹은 U-자 형상의 낸드 스트링(P-BiCS)은 메모리 셀들의 수직 컬럼들의 쌍을 포함하는바, 이는 2개의 메모리 홀들에서 연장되며 그리고 파이프 연결에 의해서 결합된다. 파이프 연결은 비도핑 폴리실리콘으로 형성될 수 있다. 파이프 연결의 전도성을 제어하기 위하여,백 게이트(back gate)가 상기 파이프 연결을 둘러쌀 수도 있다. 메모리 셀들의 제어 게이트들은 전도층들에 의해서 제공된다.
가령, 낸드 플래시 메모리 디바이스 등과 같은 소정의 비휘발성 메모리 디바이스들을 프로그래밍하기 전에, 메모리 셀들은 소거되는 것이 일반적이다. 일부 디바이스들의 경우, 소거 동작은 플로팅 게이트로부터 전자들을 제거한다. 다른 디바이스들의 경우, 소거 동작은 전하 포획층으로부터 전자들을 제거한다.
일반적으로, 메모리 셀들은 소거/프로그램 싸이클(기입/소거 싸이클 혹은 W/E 싸이클이라 지칭되기도 함)이 증가함에 따라 열화되는 것이 일반적이다. 메모리 디바이스가 견뎌낼 수 있으며 그리고 메모리 디바이스가 허용공차 내에서 여전히 동작할 수 있는 W/E 싸이클의 수는 내구성의 일 척도이다. 메모리 셀의 사이즈가 감소함에 따라 내구성이 나빠지는 것이 일반적이다.
본 명세서에 개시된 일실시예는, 비휘발성 저장소자들을 동작시키는 방법을 포함하며, 상기 방법은 다음을 포함한다. 비휘발성 저장소자들의 그룹이 소거된다. 상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트가 프로그래밍된다. 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리(upper tail)가 판별된다. 상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이가 확립된다. 상기 확립된 소거 깊이에 기초하여 비휘발성 저장소자들의 상기 그룹이 소거된다.
본 명세서에 개시된 일실시예는 비휘발성 저장 디바이스를 포함하며, 상기 비휘발성 저장 디바이스는 비휘발성 저장소자들 그룹 및 비휘발성 저장소자들의 상기 그룹과 통신하는 하나 이상의 관리회로들을 포함한다. 상기 하나 이상의 관리회로들은 비휘발성 저장소자들의 상기 그룹을 소거한다. 상기 하나 이상의 관리회로들은 상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍한다. 상기 하나 이상의 관리회로들은 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별한다. 상기 하나 이상의 관리회로들은 상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립한다. 상기 하나 이상의 관리회로들은 상기 확립된 소거 깊이를 이용하여 상기 그룹을 소거한다.
본 명세서에 개시된 일실시예는 비휘발성 저장 디바이스를 포함하며, 상기 비휘발성 저장 디바이스는, 낸드 스트링들로 배열된 비휘발성 저장소자들의 그룹, 상기 비휘발성 저장소자들의 그룹에 관련된 복수의 워드라인들, 및 상기 비휘발성 저장소자들의 그룹과 통신하는 하나 이상의 관리회로들을 포함한다. 상기 하나 이상의 관리회로들은, 비휘발성 저장소자들의 상기 그룹을 소거한다. 상기 하나 이상의 관리회로들은 상기 그룹을 소거한 이후에 복수의 워드라인들 중 제 1 워드라인에 관련된 상기 그룹 내의 비휘발성 저장소자들을 프로그래밍한다. 상기 하나 이상의 관리회로들은 프로그래밍 이후에 제 1 워드라인에 관련된 비휘발성 저장소자들의 소거 상태 to A-상태 실패들(erase state to A-state fails)을 판별한다. 상기 하나 이상의 관리회로들은 소거 상태 to A-상태 실패들에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 검증 레벨을 확립한다. 상기 하나 이상의 관리회로들은 확립된 소거 검증 레벨에 기초하여 상기 그룹을 소거한다.
본 명세서에 개시된 일실시예는 비휘발성 저장소자들의 그룹을 포함하는 비휘발성 저장 디바이스를 동작시키는 방법을 포함하며, 상기 방법은, 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍하는 단계; 상기 프로그래밍을 완료하기 위하여 얼마나 많은 프로그램 루프들이 소요되는지를 판별하는 단계; 및 상기 프로그래밍을 완료하기 위하여 얼마나 많은 프로그램 루프들이 소요되는지 혹은 상기 프로그래밍을 완료하기 위한 최종 프로그래밍 전압의 크기에 기초하여, 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하는 단계를 포함한다.
본 명세서에 개시된 일실시예는 3D 비휘발성 저장 디바이스를 포함하며, 3D 비휘발성 저장 디바이스는, 복수의 워드라인 층들, 스택 내에서 상기 워드라인 층들과 교번하는 복수의 절연층들 및 복수의 비휘발성 저장소자들의 스트링들을 포함한다. 각각의 비휘발성 저장소자 스트링은 복수의 비휘발성 저장소자들을 포함한다. 각각의 비휘발성 저장소자는 복수의 워드라인들 중 한 워드라인에 관련된다. 상기 디바이스는 또한, 비휘발성 저장소자들의 그룹과 통신하는 하나 이상의 관리회로들을 갖는다. 상기 하나 이상의 관리회로들은 비휘발성 저장소자들의 상기 그룹을 소거하고, 상기 하나 이상의 관리회로들은 상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍하고, 상기 하나 이상의 관리회로들은 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별하고, 상기 하나 이상의 관리회로들은 상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하고, 상기 하나 이상의 관리회로들은 상기 확립된 소거 깊이를 이용하여 상기 그룹을 소거한다.
도1a는 낸드 스트링의 상면도이다.
도1b는 도1a의 낸드 스트링의 등가 회로도이다.
도2는 도1a의 낸드 스트링의 단면도이다.
도3은 블록 BLK0에서 도1a 내지 도2에 도시된 바와 같은 3개의 예시적인 낸드 스트링들을 도시한다.
도4는 도3의 BLK0 및 추가 블록들(BLK1 및 BLK2)을 포함하는 낸드 플래시 메모리 셀들의 어레이(400)에 대한 블록도이다.
도5a는 감지 블록의 일례를 예시한 블록도이다.
도5b는 도4의 어레이(400)를 포함하는 비휘발성 메모리 시스템의 블록도이다.
도6은 일실시예에 따른 프로그램 전압 신호를 도시한다.
도7은 비휘발성 메모리를 프로그래밍하는 방법의 일실시예의 순서도이다.
도8a는 각각의 메모리 셀이 4개의 물리적인 상태들에서 2 비트를 저장하는 경우의, 메모리 셀 어레이에 대한 예시적인 임계전압 분포를 나타낸다.
도8b는 예시적인 소거 동작을 도시한다.
도8c는 3D 낸드에서 소거 동작을 수행하는 프로세스의 일실시예에 대한 순서도이다.
도9a는 각각의 소거 펄스 뒤에 검증 펄스가 후속하는 예시적인 소거 동작을 도시한다.
도9b는 마지막, 추가 소거 펄스 뒤에는 검증 펄스가 후속하지 않는 소거 동작의 일례를 도시한다.
도10은 E to A 실패 대 소거 검증 레벨들을 나타낸 그래프이다.
도11a는 여러개의 서로 다른 소거/검증 사이클들에 대한 E to A 실패 대 소거 깊이를 나타낸 그래프이다.
도11b는 여러개의 서로 다른 소거/검증 사이클들에 대한 정규화된 버전의 E to A 실패 대 소거 깊이를 나타낸 그래프이다.
도12a는 최적의 소거 깊이 대 W/E 사이클의 일 가능성에 대한 그래프이다.
도12b는 일실시예에 따른 동적 소거 레벨들을 나타낸 그래프이다.
도13a는 동적 소거 깊이를 이용하여 비휘발성 저장소자를 소거하는 프로세스의 일실시예에 대한 순서도이다.
도13b는 소거 검증 레벨을 조절하는 원하는 소거 깊이를 획득하기 위한 소거 프로세스의 일실시예를 도시한다.
도13c는 검증 패스들 이후의 소거 펄스들의 개수를 조절하는 원하는 소거 깊이를 획득하기 위한 소거 프로세스의 일실시예를 도시한다.
도14a는 프로그래밍이 발생한 이후에 소거 분포의 상위 부분을 도시한 그래프이다.
도14b는 소거 분포의 상부 꼬리를 결정하는 프로세스의 일례를 도시한다.
도14c는 소거 분포의 상부 꼬리를 결정하는 프로세스의 다른 일례를 도시한다.
도14d는 E to A 실패를 결정하는 프로세스의 일례에 대한 순서도이다.
도15a는 소거되는 단위 내의 워드라인들 중 하나에 관련된 소거 분포의 상부 꼬리 근처에 정보를 저장하는 프로세스의 일례를 도시한다.
도15b는 제어기에서 소거 분포의 상부 꼬리 근처에 정보를 저장하는 프로세스의 일례를 도시한다.
도16a는 소거 동작의 예시적인 "전 비트라인(all bit line)" 감지 프로세스 동안에 낸드 스트링에서의 전류 흐름을 도시한다.
도16b는 소거 동작에 대한 짝수 비트라인들의 감지 프로세스 동안에 낸드 스트링에서의 전류 흐름을 도시한다.
도16c는 소거 동작에 대한 홀수 비트라인들의 감지 프로세스 동안에 낸드 스트링에서의 전류 흐름을 도시한다.
도17은 도3의 감지 증폭기(SA0) 및 낸드 스트링(NS0)을 포함하는 예시적인 감지 회로를 도시한다.
도18a는 전류 감지 시간이 조정가능한 파라미터인 경우에 도16a의 감지 체계에 대해 감지된 전류를 도시한다.
도18b는 전류 트립(trip) 레벨이 조정가능한 파라미터인 경우에 도16a의 감지 체계에 대해 감지된 전류를 도시한다.
도19a는 전류 감지 시간이 조정가능한 파라미터인 경우에 도16b 및 도16c의 감지 체계에 대해 감지된 전압을 도시한다.
도19b는 전류 트립 레벨이 조정가능한 파라미터인 경우에 도16b 및 도16c의 감지 체계에 대해 감지된 전압을 도시한다.
도19c는 Vs1의 레벨이 조정가능한 파라미터인 경우에 도16b 및 도16c의 감지 체계에 대해 감지된 전압을 도시한다.
도20은 상기 감지를 다소간 엄격하게 만들기 위한 타겟 검증 레벨에 기초하여 감지 파라미터들을 조절하는 프로세스의 일례를 도시한다.
도21은 프로그램 루프들에 기초하여 메모리 셀들의 그룹에 대한 소거 깊이를 동적으로 조절하는 프로세스의 순서도이다.
도22는 동적 소거 깊이의 실시예가 구현될 수 있는 3D 비휘발성 메모리 디바이스의 단면도이다.
본 명세서에 서술된 기술은 낸드(NAND) 메모리 디바이스 등과 같은 비휘발성 메모리의 내구성(endurance)을 개선하기 위한 것이다. 메모리 셀들은 하나 이상의 절연층들 혹은 유전층들을 가질 수 있다. 이들 절연 혹은 유전 영역은 산화물(가령, 실리콘 산화물)을 포함할 수도 있지만, 이에 한정되는 것은 아니다. 동작 동안에 전자들(혹은 다른 전하 캐리어들)은 이들 절연 혹은 유전 영역내로 진입하거나 혹은 통과할 수 있다. 예를 들면, 2D 낸드의 경우, 플로팅 게이트와 채널 사이에는 터널 산화막이 존재할 수 있다. 또한, 플로팅 게이트와 제어 게이트 사이에는 인터-게이트 유전체(inter-gate dielectric: IPD)가 존재할 수 있다. 다른 유전체들이 이용될 수도 있지만, 상기 IPD는 산화물-질화물-산화물(ONO)로 형성될 수도 있다. 내구성이 열화되는 이유 중 하나는, 예컨대, 터널 산화막 및/또는 IPD 내의 전하 트랩핑이다. 이러한 전하 트랩핑은 추가적인 소거/프로그램 싸이클과 함께 강화되는 것이 일반적이다. 3D 낸드는 저장 소자들 근처에 산화물 영역들을 가질 수도 있음을 유의해야 한다. 따라서, 프로그램 및 소거 동작 동안, 전자들이 3D 낸드의 산화물 영역 내로 진입하거나 통과할 수 있으며, 이는 내구성 문제를 야기한다.
본 명세서에 개시된 실시예들은 소거의 깊이를 동적으로 조절하는 것을 포함하며, 이는 내구성을 개선시킬 수 있다. 일실시예에서, 메모리 셀들의 그룹이 소거된다. 이후, 소거된 메모리 셀들의 적어도 일부가 프로그래밍된다. 일반적으로, 메모리 셀들을 프로그래밍하는 것은, 소거 상태로 남아있도록 의도되었던 메모리 셀들의 소거 임계전압 분포에 영향을 미친다. 프로그램 동작이 소거 임계전압 분포에 어떻게 영향을 미치는가에 기초하여 소거 깊이(후속 소거 동작들에 대한)가 조절될 수 있다. 일례로서, 프로그래밍 이후에, 소거 분포의 상부 꼬리(upper tail)가 측정된다. 일실시예에서, 상부 꼬리가 높으면 높을수록 다음번 소거가 더 얕아진다. 이러한 것은 내구성을 개선시키는데 도움을 줄 수 있다. 일실시예에서, 적절한 소거 검증 레벨을 결정함으로써 소거 깊이가 동적으로 조절된다. 소거 검증 레벨을 조절하는 대신에(또는 이에 부가하여), 소거 검증이 통과(pass)된 이후에 수행된 소거 펄스들의 개수가 조절되어, 소거 깊이를 동적으로 조절할 수 있다.
본 명세서에 개시된 기술들은 2D 낸드 및 3D 낸드에 적용될 수 있지만, 이에 한정되는 것은 아니다. 낸드 플래시 메모리 구조는 2개의 선택 게이트들 사이에 직렬로 연결된 다수의 트랜지스터들을 포함할 수 있다. 직렬인 트랜지스터들과 선택 게이트들은 낸드 스트링이라고 지칭된다. 도1a는 하나의 낸드 스트링(150)을 도시한 평면도이다. 도1b는 이의 등가회로도이다. 도1a 및 도1b에 도시된 낸드 스트링은 제 1 선택 게이트(120)와 제 2 선택 게이트(122) 사이에 직렬로 배치된 4개의 트랜지스터들(100, 102, 104, 106)을 포함한다. 선택 게이트(120)는 낸드 스트링을 비트라인(126)에 연결한다. 선택 게이트(122)는 낸드 스트링을 소스라인(128)에 연결한다. 선택 게이트(120)는 제어 게이트(120CG)에 적절한 전압을 인가함으로써 제어된다. 선택 게이트(122)는 제어 게이트(122CG)에 적절한 전압을 인가함으로써 제어된다. 각각의 트랜지스터들(100, 102, 104, 106)은 제어 게이트와 플로팅 게이트를 갖는다. 트랜지스터(100)는 제어 게이트(100CG)와 플로팅 게이트(100FG)를 갖는다. 트랜지스터(102)는 제어 게이트(102CG)와 플로팅 게이트(102FG)를 갖는다. 트랜지스터(104)는 제어 게이트(104CG)와 플로팅 게이트(104FG)를 갖는다. 트랜지스터(106)는 제어 게이트(106CG)와 플로팅 게이트(106FG)를 갖는다. 제어 게이트(100CG)는 워드라인(WL3)에 연결되며, 제어 게이트(102CG)는 워드라인(WL2)에 연결되며, 제어 게이트(104CG)는 워드라인(WL1)에 연결되며, 제어 게이트(106CG)는 워드라인(WL0)에 연결된다. 일실시예에서, 트랜지스터들(100, 102, 104, 106)은 각각 메모리 셀이다. 다른 실시예들에서, 메모리 셀들은 다수의 트랜지스터들을 포함할 수도 있으며 또는 도면에 도시된 것과 다를 수도 있다. 선택 게이트(120)는 선택라인(SGD)에 연결된다. 선택 게이트(122)는 선택라인(SGS)에 연결된다.
도2는 전술한 낸드 스트링에 대한 일실시예의 단면을 도시한 단면도이다. 도2는 기판에 형성된 2D 낸드 스트링에 대한 것이다. 낸드 스트링의 트랜지스터들은 p-웰 영역(140)에 형성된다. 또한 p-웰 영역은 p형 기판(144)의 n-웰 영역(142) 내에 있을 수도 있다. 각각의 트랜지스터는 적층된 게이트 구조를 포함하는바, 적층된 게이트 구조는 제어 게이트(100CG, 102CG, 104CG, 106CG) 및 플로팅 게이트(100FG, 102FG, 104FG, 106FG)로 구성된다. 플로팅 게이트들은 p-웰의 표면 상에서, 산화층 또는 다른 유전 필름(dielectric film)의 위에 형성된다. 제어 게이트는 플로팅 게이트 위에 있으며, 인터-폴리실리콘 유전층(inter-polysilicon dielectric layer)에 의해서 제어 게이트와 플로팅 게이트는 분리된다. 메모리 셀들(100, 102, 104, 106)의 제어 게이트들은 워드라인들을 형성한다. N+ 도핑층들(130, 132, 134, 136, 138)은 이웃 셀들 사이에서 공유되며, 이에 의해 상기 셀들이 직렬로 서로 연결되어 낸드 스트링을 형성한다. 이러한 N+ 도핑층들은 각 셀의 소스와 드레인을 형성한다. 예를 들면, N+ 도핑층(130)은 트랜지스터(122)의 드레인에 해당하고 트랜지스터(106)의 소스에 해당하며, N+ 도핑층(132)은 트랜지스터(106)의 드레인에 해당하고 트랜지스터(104)의 소스에 해당하며, N+ 도핑층(134)은 트랜지스터(104)의 드레인에 해당하고 트랜지스터(102)의 소스에 해당하며, N+ 도핑층(136)은 트랜지스터(102)의 드레인에 해당하고 트랜지스터(100)의 소스에 해당하며, N+ 도핑층(138)은 트랜지스터(100)의 드레인에 해당하고 트랜지스터(120)의 소스에 해당한다. N+ 도핑층(126)은 낸드 스트링의 비트라인에 연결되며, 반면에 N+ 도핑층(128)은 다수개 낸드 스트링들에 대한 공통 소스라인에 연결된다.
비록, 도1a 내지 도2에서는 하나의 낸드 스트링 내에 4개의 메모리 셀들이 도시되어 있지만, 4개의 트랜지스터들을 이용하는 것은 단지 일례로서 제공된 것이다. 본 명세서에 서술된 기술을 이용하는 낸드 스트링은 4개 보다 더 적은 메모리 셀들을 가질 수 있거나 또는 4개 보다 더 많은 메모리 셀들을 가질 수 있다. 예를 들면, 어떤 낸드 스트링들은 8개의 메모리 셀들을 포함할 수 있으며, 16개, 32개 등등의 메모리 셀들을 가질 수 있다.
각각의 메모리 셀은 디지탈 또는 아날로그 형태로 표현되는 데이터를 저장할 수 있다. 1 비트의 디지탈 데이터를 저장할 때에, 메모리 셀의 가능한 임계전압의 범위는, 논리 데이터 "1" 과 "0" 에 할당되는 2개의 범위로 나뉘어진다. 낸드 타입의 플래시 메모리에 관한 일실시예에서, 메모리 셀이 소거된 이후에, 임계전압은 음의 값을 갖으며, 이는 논리 "1" 상태로 정의될 수 있다. 프로그램 동작 이후에 임계전압은 양의 값을 갖으며, 이는 논리 "0" 상태로 정의될 수 있다. 임계전압이 음(negative)이며 제어 게이트에 0 볼트를 인가하여 판독(read) 동작이 시도될 때, 메모리 셀은 턴온되어 논리 "1"이 저장되었음을 나타낼 것이다. 임계전압이 양(positive)이며 제어 게이트에 0 볼트를 인가하여 판독 동작이 시도될 때, 메모리 셀은 턴온되지 않을 것인 바, 이는 논리 "0"이 저장되었음을 나타낸다.
또한, 하나의 메모리 셀은 복수 상태들을 저장할 수 있는데, 이에 의해 복수 비트들의 디지털 데이터를 저장할 수 있다. 복수 상태들의 데이터를 저장하는 경우에, 임계전압 윈도우는 상기 상태들의 개수로 나뉘어 진다. 예를 들어, 네 개의 상태들이 이용되는 경우, 데이터 값 "11", "10", "01", "00" 에 할당되는 네 개의 임계전압 범위들이 존재할 것이다. 낸드 타입 메모리에 관한 일 실시예에서, 소거 동작 이후의 임계전압은 음이며 "11"로 정의된다. 양의 임계전압들은 상태 "10", "01", "00"를 위해 사용된다. 몇몇 실시예에서는, 그레이 코드(Gray code) 할당을 이용하여 데이터 값들(예컨대, 논리 상태들)이 임계전압 범위들에 할당될 것인바, 만일 플로팅 게이트의 임계전압이 오류로 인해 그 인접한 물리적 상태로 천이될지라도, 오직 하나의 비트만이 영향을 받게될 것이다. 메모리 셀로 프로그램되는 데이터와 그 셀의 임계전압 범위간의 특정한 관계는, 메모리 셀들에 적용된 데이터 인코딩 체계에 의존한다.
낸드 플래시 메모리 이외에도 다른 타입들의 비휘발성 메모리도 본 발명에서 이용가능하다.
플래시 EEPROM 시스템에서 유용한 다른 유형의 메모리 셀은 전도성 플로팅 게이트 대신에 비-전도성인 유전 물질을 이용하여 비휘발성 방식으로 전하를 저장한다. 실리콘 산화물, 실리콘 질화물, 실리콘 산화물(ONO)으로 구성된 삼중 유전층이, 메모리 셀 채널 위의 반-전도성(semi-conductive) 기판의 표면과 전도성 제어 게이트 사이에 샌드위치된다. 셀 채널로부터 상기 질화물 안으로 전자들을 주입함에 의해서 메모리 셀이 프로그램되며, 이들 전자들은 질화물 내의 제한된 영역에 포획되어 저장된다. 이와 같이 저장된 전하는 검출가능한 방식으로, 메모리 셀 채널의 일부분의 임계전압을 변경시킨다. 상기 셀은 핫 홀(hot hole)을 질화물에 주입함으로써 소거된다. 스플릿-게이트 구조인 유사한 셀이 제공될 수도 있으며, 여기서는 도핑된 폴리실리콘 게이트가 메모리 셀 채널의 일부를 넘어 연장되어, 별도의 선택 트랜지스터를 형성한다.
다른 접근법에서는, 각각의 NROM 셀에 2 비트가 저장되는바, 여기에서는 소스 및 드레인 확장부 사이의 채널에 걸쳐서 ONO 유전층이 연장된다. 하나의 데이터 비트를 위한 전하는 드레인에 인접한 유전층 내에 국한되며, 다른 하나의 데이터 비트를 위한 전하는 소스에 인접한 유전층 내에 국한된다. 유전층 내에서 공간적으로 분리된 전하 저장 영역들의 이진 상태들을 별도로 판독함으로써, 다중-상태 데이터 저장이 가능해진다.
도3은 블록 BLK0에서 도1a 내지 도2에 도시된 바와 같은 낸드 스트링의 3개의 일례를 도시한다. 블록 BLK0는, 다수의 낸드 스트링들(NS0, NS1, NS2, ,,,) 및 각각의 감지 증폭기(SA0, SA1, SA2, ...)와 통신하는 각각의 비트라인들(BL0, BL1, BL2, BL0, ...)을 포함한다. 블록 BLK0는, 비휘발성 저장소자들의 세트를 포함한다. 각각의 낸드 스트링은 한쪽 끝에서, 선택 게이트 즉, 드레인(SGD) 트랜지스터에 연결되며, SGD 트랜지스터들의 제어 게이트들은 공통 SGD 라인을 통해 연결된다. 낸드 스트링들은 그들의 다른 한쪽 끝에서, 선택 게이트 즉, 소스(SGS) 트랜지스터에 연결되며, 이들은 공통 소스 라인(SL)에 연결된다. 다수의 워드라인들(WL0-WL63)이 SGS 트랜지스터와 SGD 트랜지스터 사이에 존재한다. WL0은 블록의 소스 사이드(SS)에 인접한 에지 워드라인이며 그리고 WL63은 블록의 드레인 사이드(DS)에 인접한 에지 워드라인이다.
예시적인 낸드 스트링 NS0은 각각의 제어 게이트들(CG63, ... CG32-CG28,..CG0)를 구비한 저장 소자들(301, ... 302-306,... 307), 제어 게이트(CGsgs)를 구비한 SGS 트랜지스터(308) 및 제어 게이트(CGsgd)를 구비한 SGD 트랜지스터(300)를 포함한다. 다른 예시적인 낸드 스트링 NS1은 저장 소자들(311, ... 312-316,... 317), SGS 트랜지스터(318) 및 SGD 트랜지스터(310)를 포함한다. 다른 예시적인 낸드 스트링 NS2는 저장 소자들(321, ... 322-326,... 327), SGS 트랜지스터(328) 및 SGD 트랜지스터(320)를 포함한다. 낸드 스트링(NS0, NS2, ...)은 짝수 낸드 스트링이며, 낸드 스트링(NS1, NS3, ...)은 홀수 낸드 스트링이다. 이와 유사하게, 비트라인(BL0, BL2, ...)은 짝수 비트라인이며, 비트라인(BL1, BL3, ...)은 홀수 비트라인이다. 저장소자들은 사용자 데이터 및/또는 비-사용자 데이터를 저장할 수 있다.
도4는 도3의 BLK0 및 추가 블록들 BLK1 및 BLK2를 포함하는 낸드 플래시 메모리 셀들의 어레이(400)에 대한 블록도이다. 각각의 컬럼을 따라, 비트라인(BL)은 낸드 스트링에 대한 드레인 선택 게이트의 드레인 단자에 접속된다. 낸드 스트링의 각각의 로우(row)를 따라, 소스 라인(SL)은 낸드 스트링들의 소스 선택 게이트들의 모든 소스 단자들을 연결한다(예컨대, NS0의 SE0 에서).
저장소자들의 어레이는 저장소자들의 많은 수의 블록들(예컨대, BLK0-BLK2)로 분할되며, 각각의 블록은 워드라인들의 공통 세트와 통신하는 하나 이상의 낸드 스트링들의 세트, SGS 라인 및 SGD 라인을 포함한다. 또한, 각각의 낸드 스트링은 각각의 비트라인과 통신한다. 예를 들어, BLK0은 비트라인들(BL0, BL1, ... BLn-1)과 각각 통신하며 WL0-WL63, SGS, 및 SGD와 통신하는 낸드 스트링들(NS0, NS1, ... NSn-1)을 포함한다. BLK1은 비트라인들(BL0, BL1, ... BLn-1)과 각각 통신하며 WL0a-WL63a, SGSa, 및 SGDa와 통신하는 낸드 스트링들(NSa0, NSa1, ... NSan-1)을 포함한다. BLK2는 비트라인들(BL0, BL1, ... BLn-1)과 각각 통신하며 WL0b-WLb63, SGSb, 및 SGDb와 통신하는 낸드 스트링들(NSb0, NSb1, ... NSbn-1)을 포함한다.
플래시 EEPROM 시스템에서 공통인 바와 같이, 블록은 소거 단위이다. 즉, 각각의 블록은 함께 소거되는 최소 개수의 저장소자들을 포함한다. 전형적으로, 각각의 블록은 다수의 페이지들로 분할된다. 페이지는 프로그래밍의 최소 단위이다. 하나 이상의 페이지들의 데이터가 저장소자들의 하나의 로우에 저장되는 것이 일반적이다. 예를 들어, 로우는 여러 개의 인터리브된 페이지들을 포함하거나 혹은 하나의 페이지를 구성할 수도 있다. 페이지의 모든 저장소자들은 함께 판독되거나 또는 프로그래밍될 것이다. 또한, 페이지는 하나 이상의 섹터들로부터 사용자 데이터를 저장할 수도 있다. 섹터는 사용자 데이터의 간편 단위(convenient unit)로서 호스트에 의해서 사용되는 논리적인 개념이다. 섹터는 오버헤드 데이터를 포함하지 않는 것이 일반적이며, 이는 제어기에 국한된다. 오버헤드 데이터는 섹터의 사용자 데이터로부터 계산된 에러 정정 코드(ECC)를 포함할 수 있다. 아래에 설명되는 제어기의 일부는, 데이터가 메모리 내에 프로그래밍되는 때에 ECC를 계산하며, 그리고 데이터가 메모리로부터 판독되는 때에 이를 체크한다. 대안적으로는, ECC 및/또는 다른 오버헤드 데이터는 이들과 관련된 사용자 데이터와는 다른 페이지들에 저장되며, 혹은 심지어는 다른 블록들에 저장된다.
일반적으로, 사용자 데이터의 일 섹터는 512 byte이며, 이는 자기(magnetic) 디스크 드라이브의 일 섹터의 크기에 대응한다. 통상적으로 오버헤드 데이터는 추가적인 16-20 byte 이다. 많은 수의 페이지들이 블록을 구성하는바, 예를 들면 대략 8 페이지에서 32 페이지 정도 또는 64 페이지 이상의 페이지들이 블록을 구성한다. 일부 실시예들에서, 낸드 스트링들의 로우는 블록을 구성한다.
일실시예에서는, 소스 및 비트라인들을 플로팅시키면서 p-웰을 충분한 시간 동안 소거 전압(예컨대, 15-20V)으로 상승시키고, 선택 블록의 워드라인들을 접지시킴으로써(혹은, 낮은 바이어스 예컨대 1V를 인가함으로써), 메모리 셀들이 소거된다. 용량성 크로스 커플링(capacitive cross coupling)("크로스" 라는 용어는 인접한 저장소자들로부터의 커플링을 나타냄) 때문에, 비트라인들, 선택 라인들, 및 공통-소스 역시도, 소거 전압의 상당한 비율까지 상승한다. 따라서, 강한 전기장이 선택 메모리 셀들의 터널 산화막들에 인가되며, 그리고 플로팅 게이트의 전자들이 기판 측으로 방출됨에 따라, 선택 메모리 셀들의 데이터가 소거된다. 플로팅 게이트로부터 p-웰 영역으로 전자들이 이송됨에 따라, 선택 메모리 셀의 임계전압이 낮아진다. 소거 동작은, 전체 메모리 어레이, 개별 블록들, 또는 셀들의 다른 단위에 대해서 수행될 수 있다. 일실시예에서, 3D 낸드는 다른 기법들을 이용하여 소거된다. 3D 낸드는 다음에 설명될 것이다.
도5a는 감지 블록(500)의 일실시예를 도시한 블록도이다. 개별 감지 블록(500)은 감지 모듈(580)로 지칭되는 중심부와 공통부(590)로 나뉘어진다. 일실시예에서, 각각의 비트라인에 대해서는 개별적인 감지 모듈(580)이 존재하며 그리고 다수의 감지 모듈(580)들의 세트에 대해서는 하나의 공통부(590)가 존재한다. 본 발명의 일례에서, 감지 블록(500)은 하나의 공통부(590)와 8개의 감지 모듈(580)을 포함할 것이다. 그룹에 있는 각각의 감지 모듈들은 데이터 버스(572)를 통해 관련 공통부와 통신할 것이다.
감지 모듈(580)은, 연결된 비트라인의 도통 전류가 소정의 임계 레벨보다 큰지 작은지를 판별하는 감지 회로(571)를 포함한다. 또한, 감지 모듈(580)은, 상기 연결된 비트라인 상에서 전압 조건을 설정하는데 이용되는 비트라인 래치(582)를 포함한다. 예를 들어, 비트라인 래치(582)에 래치된 소정 상태는, 상기 연결된 비트라인이 프로그램 금지를 나타내는 소정 상태(예컨대, 1.5V ~ 3V)로 되게 할 것이다. 일례로서, 플래그=0 는 프로그래밍을 금지할 수 있는 반면에, 플래그=1 은 프로그래밍을 금지하지 않는다.
공통부(590)는 프로세서(592), 데이터 래치들(594)의 예시적인 3개의 세트들, 데이터 래치들(594)의 세트와 데이터 버스(521) 사이에 접속된 I/O 인터페이스(598)를 포함한다. 데이터 래치들의 일 세트가 각각의 감지 모듈에 제공될 수 있으며, 그리고 DL1, DL2, DL3 으로 식별되는 3개의 데이터 래치들이 각각의 세트에 제공될 수 있다. 데이터 래치들의 사용에 대해서는 후술할 것이다.
프로세서(592)는 계산을 수행한다. 예를 들어, 그 기능들 중 하나는, 감지된 저장소자에 저장된 데이터를 판별하는 것이며 그리고 판별된 데이터를 데이터 래치들의 세트에 저장하는 것이다. 데이터 래치들의 세트(예컨대, 594)에 있는 데이터 래치들 중 적어도 일부는, 판독 동작 동안에 프로세서(592)에 의해 판별된 데이터 비트들을 저장하는데 이용된다. 또한, 데이터 래치들의 세트에 있는 데이터 래치들 중 적어도 일부는, 프로그램 동작 동안에 데이터 버스(521)로부터 입수된 데이터 비트들을 저장하는데 이용된다. 상기 입수된 데이터 비트들은, 메모리에 프로그래밍될 기입 데이터를 나타낸다. I/O 인터페이스(598)는 데이터 래치들(594-697)과 데이터 버스(521) 사이에서 인터페이스를 제공한다.
일실시예에서, 데이터는 프로그램 동작의 시작시에 DL1 및 DL2 래치에 저장된다. 예를 들어, 하위 페이지 데이터가 DL1에 저장될 수 있으며, 상위 페이지 데이터는 DL2에 저장될 수 있다. 일실시예에서, IDL 동안에 메모리 셀들로부터 판독되는 하위 페이지 데이터는 DL1 래치에 저장된다. DL3는 검증 상태 예컨대, 프로그래밍 동안의 록아웃 상태 등을 저장하는데 이용될 수 있다. 예를 들어, 메모리 셀들의 Vt가 타겟 레벨에 도달했다라고 검증되는 때, DL3 래치는 이를 나타내도록 설정될 수 있는바, 이는 상기 메모리 셀에 대한 후속 프로그래밍을 금지시키기 위한 것이다. 이러한 것은 메모리 셀 당 2 비트를 프로그래밍하는 것에 대해 서술함을 유의해야 한다. 일실시예에서, 판독 동작 동안에, DL1 및 DL2 래치들은 메모리 셀로부터 판독된 2 비트들을 저장하는데 이용된다. 메모리 셀 당 3 비트 이상이 될 수도 있음을 유의해야 한다. 메모리 셀 당 각각의 추가 비트가 저장되도록 하나의 추가 래치가 존재할 수도 있다.
판독 또는 다른 감지 동안에, 상태 머신(512)은 어드레싱된 저장소자에게 상이한 제어 게이트 전압들을 공급하는 것을 제어한다. 메모리에 의해 지원되는 다양한 메모리 상태들에 대응하는 다양한 소정의 제어 게이트 전압들을 통과(step through)함에 따라, 상기 감지 모듈(580)은 이들 전압들 중 하나에서 트립(trip)할 수 있으며, 그리고 버스(572)를 통해 감지 모듈(580)로부터 프로세서(592)에게로 출력이 제공될 것이다. 그 시점에서, 프로세서(592)는, 감지 모듈의 트립핑(tripping) 이벤트(들)과 입력 라인들(593)을 통해 상태머신으로부터 인가된 제어 게이트 전압에 대한 정보를 고려함으로써, 결과적인 메모리 상태를 판별한다. 이후, 메모리 상태에 대한 이진 인코딩을 계산하고 그 결과 데이터 비트들을 데이터 래치(예컨대, 594)에 저장한다. 중심부에 대한 또 다른 실시예에서, 비트라인 래치(582)는, 감지 모듈(580)의 출력을 래치하기 위한 래치로서의 임무와 전술한 바와 같은 비트라인 래치로서의 임무를 둘다를 수행한다.
몇몇 구현예들은 다수의 프로세서들(592)을 포함할 수도 있다. 일실시예에서, 각각의 프로세서(592)는 출력 라인(도6에는 미도시)을 포함할 것인바, 출력 라인들 각각은 함께 와이어-논리합(wired-OR'd)된다. 몇몇 실시예들에서, 상기 출력 라인들은 상기 와이어-논리합 라인에 연결되기 전에 반전(inverting) 된다. 이러한 구성은, 프로그래밍 검증 프로세스 동안에, 상기 프로그래밍 프로세스가 언제 완료되는지에 대한 빠른 판별을 가능케 하는바, 이는 상기 와이어-논리합(wired-OR)을 수신하는 상태 머신이, 프로그래밍되는 모든 비트들이 원하는 레벨에 언제 도달했는지를 판별할 수 있기 때문이다. 예를 들어, 각각의 비트가 원하는 레벨에 도달하면, 그 비트에 대해서 논리 0이 와이어-논리합 라인으로 보내질 것이다(또는, 데이터 1 이 반전된다). 모든 비트들이 데이터 0을 출력하면(또는, 반전된 데이터 1), 상태머신은 프로그래밍 프로세스를 종료해야함을 알게된다. 각각의 프로세서가 8개의 감지 모듈과 통신하므로, 상기 상태 머신은 와이어-논리합 라인을 8번 판독해야할 필요가 있거나, 또는 관련 비트라인들의 결과들을 축적하도록 논리회로(logic)가 프로세서에 부가되는바, 따라서 상기 상태머신은 와이어-논리합 라인을 한번만 판독하면 된다.
프로그램 또는 검증 동안에, 프로그래밍될 데이터는 데이터 버스(521)로부터 데이터 래치들(594-597)의 세트 내에 저장된다. 상태 머신(312)의 제어하에서, 프로그래밍 동작은, 어드레스된 저장소자들의 제어 게이트들에 인가되는 일련의 프로그래밍 전압 펄스들을 포함한다. 각각의 프로그래밍 펄스에 뒤이어서, 저장소자가 원하는 상태로 프로그래밍되었는지를 판별하는 리드 백(read back)(검증 동작)이 수반된다. 프로세서(592)는, 원하는 메모리 상태와 관련하여, 리드 백 메모리 상태를 모니터링한다. 2개의 상태(원하는 메모리 상태와 검증된 메모리 상태)가 서로 일치하면, 상기 프로세서(592)는 비트라인 래치(582)을 세팅하는바, 이는 프로그램 금지를 나타내는 소정 상태로 그 비트라인을 끌어올리기(pull) 위함이다. 이는, 상기 비트라인에 접속된 저장소자에 대한 후속 프로그래밍을 금지하는바, 심지어 프로그래밍 펄스들이 상기 저장소자의 제어 게이트에 인가되더라도, 프로그래밍이 금지된다. 다른 실시예에서, 상기 프로세서는 초기에 비트라인 래치(582)를 로드(load)하며 그리고 감지 회로는 검증 프로세스 동안에 그것을 초기값으로 세팅한다.
각각의 데이터 래치 스택(594-597)은 감지 모듈(580)에 대응하는 데이터 래치들의 스택을 포함한다. 일실시예에서는, 감지 모듈(580) 하나당 3개의 데이터 래치들이 존재한다. m 저장소자들의 판독/기입 블록에 대응하는 DL1 및 DL2 데이터 래치들 모두는 함께 링크되어 블록 쉬프트 레지스터를 형성할 수 있으며, 따라서 데이터의 블록이 직렬 이송에 의하여 입력 또는 출력될 수 있다.
일실시예에서, DL1 및 DL2 래치들의 목적중 하나는 저장소자 내로 프로그래밍될 데이터를 저장하는 것이다. 예를 들어, 저장소자들은 저장소자 당 2 비트를 저장할 수 있다. 일실시예에서, 하위 페이지 데이터가 초기에 DL1 래치에 저장되며 그리고 상위 페이지 데이터가 초기에 DL2 래치에 저장된다.
일실시예에서, 저장소자들은 저장소자 당 3 비트를 저장한다. 이 경우, 저장소자에 프로그래밍될 세번째 데이터 비트를 초기에 저장하기 위한 추가적인 데이터 래치(도5a에는 미도시)가 존재할 수 있다. 일실시예에서, 저장소자들은 저장소자 당 4 비트를 저장하며 이 경우, 저장소자에 프로그래밍될 세번째 및 네번째 데이터 비트를 초기에 저장하기 위한 2개의 추가적인 데이터 래치(도5a에는 미도시)가 존재할 수 있다. 저장소자들은 저장소자 당 5 비트 이상을 저장할 수 있으며 이 경우, 각각의 비트에 대해 데이터 래치가 하나씩 존재할 수 있다.
판독 동작들과 감지 증폭기들에 대한 추가적인 정보는, 다음의 특허문헌들에서 찾아볼 수 있다. (1) "Non-Volatile Memory And Method With Reduced Source Line Bias Errors" 라는 명칭의 미국등록특허(US 7,196,931). (2) "Non-Volatile Memory And Method with Improved Sensing" 라는 명칭의 미국등록특허(US 7,023,736). (3) "Memory Sensing Circuit and Method For Low Voltage Operation" 라는 명칭의 미국등록특허(US 7,046,568) (4) "Compensating for Coupling During Read Operations of Non- Volatile Memory" 라는 명칭의 미국등록특허(US 7,196,928). (5) "Reference Sense Amplifier For Non-Volatile Memory" 라는 명칭의 미국등록특허(US 7,327,619). 이들 5개의 특허문헌들은 본 발명에 대한 참조로서 그 전체내용이 본 명세서에 통합된다.
도5b는 도4의 어레이(400)를 포함하는 비휘발성 메모리 시스템의 블록도이다. 메모리 어레이(400)는 2D 구조 혹은 3D 구조를 포함할 수 있다. 3D 구조의 일례는 BiCS 구조이다. 3D 구조는 3D 수직 낸드 스트링을 포함할 수 있다. 3D 수직 낸드 스트링의 메모리 셀들은 정보를 저장하기 위한 ONO 층을 포함할 수 있다. 정보는 가령, 실리콘 질화물(SiN) 등과 같은 전하 포획 층에 저장될 수 있지만, SiN 으로만 한정되는 것은 아니다. ONO 층은 2D 및 3D 낸드 뿐만 아니라 다른 구조들에서도 정보를 저장하는데 이용될 수 있음을 유의해야 한다. 따라서, 플로팅 게이트가 정보를 저장하는데 이용될 수도 있지만, 필수적인 것은 아니다.
본 발명의 일실시예에 따른 비휘발성 메모리 시스템은, 메모리 셀들의 페이지를 병렬로 판독 및 프로그래밍하기 위한 판독/기입(read/write) 회로를 구비한 메모리 디바이스(596)를 포함한다. 메모리 디바이스(596)는 하나 이상의 메모리 다이(598)를 포함할 수 있다. 메모리 다이(598)는, 메모리 셀들의 2차원 어레이(400), 제어회로(510), 그리고 판독/기입 회로(565)를 포함한다. 메모리 어레이(400)는 로우 디코더(530)를 통하여 워드라인들에 의해서 그리고 컬럼 디코더(560)를 통하여 비트라인들에 의해서 어드레스 가능하다. 판독/기입 회로(565)는, 다수의 감지 블록들(500)을 포함하며, 그리고 메모리 셀들의 페이지가 병렬로 판독 및 프로그래밍되는 것을 가능케 한다. 상기 하나 이상의 메모리 다이(598)와 같이, 제어기(550)는 동일한 메모리 디바이스(596)(예컨대, 착탈가능한 메모리 카드) 내에 포함되는 것이 일반적이다. 명령들(commands) 및 데이터는, 라인(520)을 통해 호스트(570)와 제어기(550) 사이에서 전송되며, 그리고 라인(518)을 통해 제어기와 하나 이상의 메모리 다이(598) 사이에서 전송된다.
제어회로(510)는 판독/기입 회로(565)와 협동하여 메모리 어레이(400) 상에 메모리 동작들을 수행한다. 상기 제어회로(510)는, 상태머신(512), 온-칩 어드레스 디코더(514), 그리고 전력 제어 모듈(516)을 포함한다. 상태머신(512)은 메모리 동작들에 대한 칩-레벨(chip-level) 제어를 제공한다. 온-칩 어드레스 디코더(314)는, 호스트 혹은 메모리 제어기에 의해 이용되는 어드레스와 디코더들(530, 560)에 의해 이용되는 하드웨어 어드레스 사이에서 어드레스 인터페이스를 제공한다. 전력 제어 모듈(516)은, 메모리 동작 동안에 워드라인들 및 비트라인들에 공급되는 전력 및 전압들을 제어한다. 다른 접근법에서는, 듀얼 로우/컬럼 디코더들 및 판독/기입 회로들이 이용된다. 제어 회로는 하나 이상의 컴포넌트들 예컨대 (510, 512, 514, 516, 530, 550을 포함하는 것으로 간주될 수 있다..
도6에는 본 발명의 일실시예에 따른 프로그램 전압 신호가 도시되어 있다. 이 신호는 증가하는 크기를 갖는 펄스들의 세트를 가지고 있다. 펄스들의 크기는, 기 설정된 스텝 사이즈에 의해 각 펄스마다 증가한다. 복수 비트들의 데이터를 저장하는 메모리 셀들을 포함하는 일 실시예에서, 예시적인 스텝 사이즈는 0.2 볼트(또는 0.4 볼트)이다. 각각의 프로그램 펄스들 사이에 검증 펄스들이 존재한다. 도6의 신호는 4개의 상태를 갖는 메모리셀을 가정한 것이며, 따라서, 3개의 검증 펄스들을 포함한다. 예를 들면, 프로그래밍 펄스들(660과 662) 사이에는 3개의 연속적인 검증 펄스들이 있다. 첫번째 검증 펄스(664)는 0 볼트의 검증 전압 레벨로 도시되어 있다. 두번째 검증 펄스(666)는 두번째 검증 전압 레벨에서 상기 첫번째 검증 펄스를 후속한다. 세번째 검증 펄스(668)는 세번째 검증 전압 레벨에서 두번째 검증 펄스(666)를 후속한다. 8개 상태의 데이터를 저장할 수 있는 다중 상태 메모리 셀은, 7개의 비교 지점들에서 검증 동작들을 수행할 필요가 있을 수 있다. 2개의 연속적인 프로그래밍 펄스들 사이의 7개의 검증 레벨들에서 7개의 검증 동작들을 수행하기 위해 7개의 검증 펄스들이 차례로 인가된다. 7개의 검증 동작들에 기초하여 상기 시스템은 메모리 셀들의 상태를 결정할 수 있다.
도7은 비휘발성 메모리를 프로그래밍하기 위한 방법의 일실시예를 도시한 순서도이다. 프로그래밍될 메모리 셀들이 단계 740에서 소거된다. 단계 740은 프로그래밍될 메모리 셀들 이외의 메모리 셀들을 소거하는 것을 포함할 수 있다(예컨대, 블록들 혹은 다른 단위들에서). 단계 742에서, 소거된 메모리 셀들에 대한 소거 임계 전압들의 분포를 좁히기 위해 소프트 프로그래밍이 수행된다. 일부 메모리 셀들은 소거 프로세스의 결과로서, 필요한 것보다 더 깊이 소거된 상태에 있을 수 있다. 소프트 프로그래밍은 소거된 메모리 셀들의 임계전압을 소거 검증 레벨에 보다 가깝게 이동시키도록 작은 프로그래밍 펄스들을 인가할 수 있다. 도7의 단계 750에서, "데이터 로드" 명령이 제어기(550)에 의해 발행되고 그리고 명령 회로로 입력되어, 데이터가 데이터 입/출력 버퍼에 입력되게 한다. 단계 752에서, 페이지 어드레스를 지정하는 어드레스 데이터가 제어기 혹은 호스트로부터 로우 제어기 혹은 디코더(514)로 입력된다. 입력 데이터는 페이지 어드레스로 인식되며, 그리고 상태 머신(512)을 통해 래치되고, 명령 회로로의 어드레스 래치 신호 입력에 의해서 영향을 받는다. 단계 754에서, 어드레스된 페이지에 대한 프로그램 데이터의 페이지가 프로그래밍을 위해 데이터 입/출력 버퍼로 입력된다. 예를 들어, 512 바이트의 데이터가 입력될 수 있다. 이 데이터는 선택 비트라인들에 대한 적절한 레지스터들 내에 래치된다. 일부 실시예들에서, 데이터는 또한 검증 동작들에서 이용될 선택 비트라인들에 대한 제 2 레지스터에 래치된다. 단계 756에서, "프로그램" 명령이 제어기에 의해 발행되어 데이터 입/출력 버퍼로 입력된다. 이 명령은, 명령 회로로의 명령 래치 신호 입력을 통하여 상태 머신(512)에 의해 래치된다.
"프로그램" 명령에 의해서 트리거링되어, 단계 754에서 래치된 데이터가 상태 머신에 의해서 제어되는 선택 메모리 셀들 내에 프로그래밍될 것이다(적절한 워드라인에 인가되는 도6의 계단형 펄스들을 이용하여). 단계 758에서, 선택 워드라인에 인가되는 프로그래밍 펄스 전압 레벨(Vpgm)은 시작 펄스(예컨대, 12V)로 초기화되며 그리고 상태 머신(512)에 의해서 유지되는 프로그램 카운터(PC)는 0으로 초기화된다. 단계 760에서, 제 1 Vpgm 펄스가 선택 워드 라인에 인가된다. 특정 데이터 래치에 논리 "0"이 저장되어 대응 메모리 셀이 프로그래밍되어야 함을 나타낸다면, 대응하는 비트 라인이 접지된다. 반면에, 특정 래치에 논리 "1"이 저장되어 대응 메모리 셀이 그것의 현재 데이터 상태로 유지되어야 함을 나타낸다면, 대응하는 비트 라인은 VDD에 연결되어 프로그래밍이 금지된다.
단계 762에서, 선택 메모리 셀들의 상태들이 검증된다. 선택 메모리 셀의 타겟 임계전압이 적절한 레벨에 도달했음이 검출된다면, 대응하는 데이터 래치에 저장된 데이터는 논리 "1" 로 변경된다. 선택 메모리 셀의 타겟 임계전압이 적절한 레벨에 도달하지 못했음이 검출된다면, 대응하는 데이터 래치에 저장된 데이터는 변경되지 않는다. 이러한 방식으로, 대응하는 데이터 래치 내에 논리 "1"이 저장된 비트라인은 프로그래밍될 필요가 없다. 데이터 래치들 모두가 논리 "1"을 저장할 때, 상태 머신(222)은 모든 선택된 셀들이 프로그래밍되었음을 인지한다. 단계(764)에서, 모든 데이터 래치들이 논리 "1"을 저장하고 있는지가 체크된다. 모든 데이터 래치들이 논리 "1"을 저장하고 있다면, 모든 선택된 메모리 셀들이 프로그래밍되었고 그들의 타겟 상태들로 검증되었으므로 프로그래밍 프로세스는 완료되며 성공적인 것이다. 단계 766에서 "패스(PASS)" 상태가 보고된다.
단계 764에서, 모든 데이터 래치들이 논리 "1"을 저장하고 있는 것은 아니라고 결정되면, 프로그래밍 프로세스가 계속된다. 단계 768에서, 프로그램 제한값(program limit value)에 대해 프로그램 카운터(PC)가 체크된다. 프로그램 제한 값의 일 예는 20이다. 그러나, 다양한 실시예들에서 다른 값들이 또한 사용될 수 있다. 만약 프로그램 카운터(PC)가 20 보다 작지 않다면, 단계 769에서 성공적으로 프로그램되지 않은 비트들의 수가 소정 개수 이하인지가 결정된다. 상기 성공적으로 프로그램되지 않은 비트들의 수가 소정 개수 이하이면, 프로그래밍 프로세스는 "패스"로 플래그되고, 단계 771에서 패스(PASS) 상태가 보고된다. 성공적으로 프로그래밍되지 않은 비트들은 판독 프로세스 동안 에러 정정을 사용하여 정정될 수 있다. 그러나, 성공적으로 프로그래밍되지 않은 비트들의 수가 소정 개수보다 크다면, 프로그램 프로세스는 실패로 플래그되고 단계 770에서 실패(FAIL) 상태가 보고된다. 단계 772에서, 프로그램 카운터(PC)가 20보다 작다면, Vpgm 레벨은 스텝 사이즈 만큼 증가하고, 그리고 프로그램 카운트 PC가 증분된다. 단계 772 이후에, 프로세스는 단계 760으로 되돌아가, 다음 Vpgm 펄스가 인가된다.
도7의 순서도는 이진 저장소자에 저장될 수 있는 싱글-패스(single pass) 프로그래밍 방법을 도시한다. 다중 레벨 저장소자에 적용될 수 있는 투-패스(two-pass) 프로그래밍 방법에서는, 예컨대, 다수의 프로그래밍 혹은 검증 단계들이 상기 순서도의 한번의 반복(single iteration)에서 이용될 수도 있다. 단계 758-772는 프로그래밍 동작의 각각의 패스에 대해서 수행될 수도 있다. 제 1 패스에서, 하나 이상의 프로그래밍 펄스들이 인가될 수 있으며 그리고 셀이 적절한 중간 상태에 있는지를 판별하도록 그 결과가 검증될 수 있다. 제 2 패스에서, 하나 이상의 프로그래밍 펄스들이 인가될 수 있으며 그리고 셀이 적절한 최종 상태에 있는지를 판별하도록 그 결과가 검증될 수 있다.
성공적인 프로그래밍 프로세스의 말미에서, 메모리 셀들의 임계전압들은 프로그래밍된 메모리 셀들에 대한 임계전압들의 하나 이상의 분포들 내에 있어야 하거나 혹은 소거된 메모리 셀들에 대한 임계전압들의 분포 내에 있어야 한다. 도8a는 각각의 메모리 셀이 4개의 물리적 상태에서 2 비트의 데이터를 저장하고 있는 메모리 셀 어레이에 대한 예시적인 임계전압 분포들을 도시한다. 분포(800)는 소거된 상태("11"을 저장)에 있는 셀들의 임계전압들의 분포를 나타내며, 이는 네가티브 임계전압 레벨을 가질 수 있다. 분포(802)는 제 1 프로그래밍된 상태("A")("10"을 저장)에 있는 셀들의 임계전압들의 분포를 나타낸다. 분포(804)는 제 2 프로그래밍된 상태("B")("00"을 저장)에 있는 셀들의 임계전압들의 분포를 나타낸다. 분포(806)는 제 3 프로그래밍된 상태("C")("01"을 저장)에 있는 셀들의 임계전압들의 분포를 나타낸다.
메모리 셀들을 프로그래밍할 때에, 메모리 셀들은 A, B, C 상태들 각각에 대한 검증 기준 레벨들 Vva, Vvb, 및 Vvc 을 이용하여 검증될 수 있다. 메모리 셀들을 판독하는 경우, 판독 기준 레벨 Vra 가 이용되어, 메모리 셀들이 A-상태 분포에 있는지 혹은 이 보다 높은지를 판별할 수 있다. 이와 유사하게, Vrb 및 Vrc는 B-상태 및 C-상태 각각에 대한 판독 기준 레벨이다.
메모리 셀들이 초기에 소거되는 경우, 초기 소거 분포(801)를 야기하는 소거 검증 레벨 Vev 를 이용하여 메모리 셀들이 소거될 수도 있음을 유의해야 한다. 다른 상태들에 대한 후속 프로그래밍은 소거 분포의 상부 꼬리가 우측으로 쉬프트되게 할 수 있다. 다음과 같은 경우도 가능한바, 최종 소거 분포(800)의 일부는 A-상태 판독 레벨보다 위에(더 높은 Vth) 있을 수도 있다.
물론, 메모리가 5개 이상의 물리적 상태들로 동작한다면, 상기 상태들의 개수와 동등한 개수의 다수의 임계전압 분포들이 메모리 셀들의 정의된 임계전압 윈도우 내에 존재할 것이다. 또한, 비록 특정한 비트 패턴들이 임계전압 분포들 혹은 물리적 상태들 각각에 할당되었지만, 다른 비트 패턴들도 할당될 수 있다.
일실시예에서, 메모리 셀들은 소스 및 비트라인들을 플로팅시키면서 p-웰을 소거 전압(예컨대, 20V)으로 상승시키고, 그리고 선택 블록의 워드라인들을 접지시킴으로써(혹은, 0V를 인가함으로써), 소거된다. 용량성 커플링 때문에, 비선택 워드라인들(예컨대, 선택되지 않은, 소거되지 않아야 하는 블록에 있는 것들), 비트라인들, 선택 라인들, 및 공통-소스 라인들 역시도, 높은 포지티브 전위(예컨대, 20V)로 상승된다. 따라서, 강한 전기장이 선택된 블록의 메모리 셀들의 터널 산화막들에 인가되며, 그리고 플로팅 게이트의 전자들이 기판 측으로 방출됨에 따라, 선택 메모리 셀들의 데이터가 소거된다. 소거는, 전하 저장 영역(예컨대, 플로팅 게이트 혹은 전하 포획 층)으로부터 전자들을 이송시킴으로써 메모리 셀의 임계전압을 낮추는 것을 지칭한다. 플로팅 게이트를 갖는 디바이스의 경우, 충분한 전자들이 플로팅 게이트로부터 P-웰 영역으로 이송됨에 따라, 선택된 셀의 임계전압은 네가티브가 된다. 임계전압이, 기결정된 충분히 낮은 값에 도달하게 되면, 메모리 셀은 소거된 것으로 여겨지며 그리고 소거 프로세스는 완료 혹은 성공적이라고 간주된다. 따라서, 메모리 셀을 소거한다라는 것은 메모리 셀의 임계전압을 낮추는 것을 지칭하는 것이며, 완전한 소거 혹은 성공적인 소거를 시사하는 것은 아니다. 소거는 전체 메모리 어레이, 상기 어레이의 하나 이상의 블록들 혹은 다른 단위의 메모리 셀들에 대해서 수행될 수 있다. 소거 전압 신호(Verase)는 일련의 소거 전압 펄스들로서 인가되는 것이 일반적이며, 각각의 펄스 사이에서 소거 검증 동작이 수행된다. 만일, 소거되는 셀들의 단위가 소거 전압 펄스의 인가 이후에 소거된 것으로 검증되지 않는다면, 다른 소거 전압 펄스가 p-웰 영역에 인가될 수 있다. 일부 실시예들에서는, 각각의 후속 펄스에 대해서 소거 전압의 피크 값이 증가된다(예컨대, 16V 에서 20V 까지 1V 씩 증분됨).
도8b는 예시적인 소거 동작을 도시한다. 이들 단계들은, Verase 초기화(870); 소거 펄스 인가(872); 소거-검증 테스트 수행(874); 소거-검증 테스트 통과 ? (876); Verase ≤ Verase_max ? (878); Verase 증가(step up)(880); 소거 동작이 성공적으로 종료됨 (882); 및 소거 동작 실패(884) 를 포함한다. 일 접근법에서, Verase는, 저장소자의 플로팅 게이트로부터 전자들을 인출함으로써 저장소자의 Vt를 낮추기 위하여, 블록의 기판에 인가되는 전압의 레벨이다. 소거-검증 테스트를 수행하는 것은, 블록 내의 다수의 워드라인들에게 전압 Vev를 동시에 인가하는 것을 포함할 수 있다. 소거-검증 테스트는, 모든 비트라인들(가령, 도16a), 짝수 비트라인들(도16b), 혹은 홀수 비트라인들(도16c)에 관련된 저장소자들에 대해서 동시에 수행될 수 있다.
결정 단계 876에서, 감지된 저장소자들이 소거 상태에 도달했다면(예컨대, 이들 저장소자들의 Vth 가 Vev 보다 낮아서, 감지된 저장소자들 및 이들의 각각의 낸드 스트링들이 도통 상태임), 소거-검증 테스트가 통과된다.
만일, 결정 단계 876이 "예(ture)" 라면, 소거 동작은 성공적으로 종료한다(단계 882). 만일, 결정 단계 876이 "아니오(false)" 라면, Verase가 스텝 업되며(도9a 참조) 그리고 추가 소거 펄스가 인가된다(Verase가 최대 레벨 Verase_max에 아직 도달하지 않았다면). 만일, 결정 단계 876이 "아니오" 이고 Verase 가 최대 레벨을 초과한다면(예컨대, 결정 단계 878에서 "아니오" 인 경우), 소거 동작은 실패한다(단계 884).
2D 낸드 메모리 디바이스의 일실시예에서, p-웰 기판은 저장소자들을 소거하기 위하여 고전압으로 바이어스된다. 낸드 스트링들은 통상적으로 기판 내에 형성됨을 유의해야 하며, 따라서 제어 게이트들을 예컨대, 접지시키면서 상기 기판에 소거 전압을 인가함으로써, 메모리 셀들이 소거될 수 있다. 이와 달리, 가령, BiCS 등과 같은 3D 적층된 비휘발성 메모리 디바이스에서 낸드 스트링들은 기판 내에 형성되지 않는 것이 일반적이다.
3D 적층된 비휘발성 메모리 디바이스에서의 소거 기법들 중 하나는, 채널을 충전하기 위해 게이트 유도 드레인 누설(gate induced drain leakage: GIDL) 전류를 생성하고, 채널 전위를 소거 전압으로 상승시키고, 그리고 이러한 채널 전위를 소거 동안 유지하는 것이다. 일 접근법에서, 메모리 디바이스는 일측 단부에 드레인측 선택 게이트(SGD) 트랜지스터를 구비하고 타측 단부에 소스측 선택 게이트(SGS) 트랜지스터를 구비한 낸드 스트링들을 포함한다. 소거는 "일측 소거(one-sided erase)" 혹은 "양측 소거(two-sided erase)" 일 수 있다. 일측 소거에서 소거 전압이 비트라인에 인가되거나 혹은 양측 소거에서 소거 전압이 비트라인 및 소스라인에 인가되는 경우, 선택 게이트 트랜지스터들은 충분한 분량의 게이트 유도 드레인 누설(GIDL) 전류를 생성하여 낸드 스트링의 플로팅 보디(채널)를 충전한다 GIDL은 선택 게이트 트랜지스터들의 드레인-게이트 전압(Vdg)에 비례하여 증가한다.
도8c는 3D 낸드에서의 소거 동작을 수행하는 프로세스의 일실시예에 대한 순서도이다. 일반적으로, 소거 동작은 검증 조건이 충족될 때까지 수행되는 다수의 소거-검증 반복들(iterations)을 포함할 수 있으며, 여기서 상기 검증 조건이 충족될 때 소거 동작이 종료된다. 선택적으로는, 검증이 통과된 이후에도 하나 이상의 추가 소거 전압들이 인가될 수도 있다. 일 접근법에서, 메모리 디바이스는 일측 단부에 드레인측 선택 게이트(SGD) 트랜지스터를 구비하고 타측 단부에 소스측 선택 게이트(SGS) 트랜지스터를 구비한 낸드 스트링들을 포함한다(도22 참조). 소거는 "일측 소거(one-sided erase)" 혹은 "양측 소거(two-sided erase)" 일 수 있다. 일측 소거에서 소거 전압이 비트라인에 인가되거나 혹은 양측 소거에서 소거 전압이 비트라인 및 소스라인에 인가되는 경우, 선택 게이트 트랜지스터들은 충분한 분량의 게이트 유도 드레인 누설(GIDL) 전류를 생성하여 낸드 스트링의 플로팅 보디(채널)를 충전한다 GIDL은 선택 게이트 트랜지스터들의 드레인-게이트 전압(Vdg)에 비례하여 증가한다.
단계 816에서, 선택된 블록 내에 있는 선택된 낸드 스트링 상의 저장소자들에 대하여 상태 = 소거 라고 설정된다.
단계 818에서, 비선택 블록들 내에 있는 저장소자들에 대하여 상태 = 금지 라고 설정된다.
단계 821에서, 소거 전압(Verase)이 시작 값으로 초기화된다.
단계 822는 소거 전압을 상기 스트링에 인가함으로써 3D 낸드 스트링의 채널을 충전하며, 각각의 저장소자에 대한 제어 게이트 전압을 상태 = 소거 로 설정함으로써 소거를 격려(encourage)하며, 그리고 각각의 저장소자에 대한 제어 게이트 전압을 플로팅시키거나 혹은 상태 = 금지 로 설정함으로써 소거를 방해(discourage)한다. 예를 들어, 상당히 높은 레벨(예컨대, 10-15V)인 제어 게이트 전압은 터널링 층 양단에 작은 전위차를 생성함으로써, 소거를 방해한다.
예컨대, 0V 혹은 이보다 약간 큰 제어 게이트 전압은, 채널과 제어 게이트 사이의 터널링 층 양단에 큰 전위차를 생성함으로써 소거를 격려하며, 이는 추가 터널링을 격려한다.
단계 823에서, 선택된 블록(선택된 낸드 스트링에 대한) 내의 저장소자들에 대해 소거-검증 테스트가 수행된다. 소거-검증 테스트는 스트링 상의 서로 다른 저장소자들에 대해 동시에 수행될 수 있다. 예를 들어, 이는 스트링을 통하는 전류를 검출하면서, 선택 블록 내의 각각의 저장소자의 제어 게이트에 공통 소거-검증 제어 게이트 전압(Vv_erase)을 인가하는 것을 포함할 수 있다.
만일, 스트링의 전류가 기준 전류 보다 높다면, 이는 상기 스트링이 도통됨을 나타내며, 소거-검증 테스트는 통과한 것이다.
단계 824에서, 선택된 낸드 스트링이 소거-검증 테스트를 통과했다면, 상태 = 금지 로 설정된다. 만일, 선택된 낸드 스트링이 소거-검증 테스트를 통과하지 못했다면, 상태 = 소거 가 지속된다.
결정 단계 826에서는, Verase 가 Verase_max 인지가 결정된다. 그 대답이 "예" 라면, 소거 동작은 실패로 종료된다(단계 827). 그 대답이 "아니오" 라면, Verase 는 단계 828에서 스텝 업되며 그리고 또 다른 반복이 단계 822에서 수행된다.
도9a는 각각의 소거 펄스 뒤에 검증 펄스가 후속하는 예시적인 소거 동작을 도시한다. 일실시예에서, 서로 다른 깊이에서 동적으로 소거하기 위하여, 검증 펄스의 크기가 조절된다. 블록이 형성되어 있는 기판에 하나 이상의 소거 펄스들 예컨대, EP0 ~ EP3(파형 900)를 인가함으로써, 저장소자들의 블록에 대해서 소거 동작이 수행될 수 있다. 제 1 소거 펄스 EP0 이후에, 각각의 소거 펄스의 피크 진폭은, 이전의 소거 펄스로부터 스텝 사이즈 ΔV 만큼 스텝 업될 수 있다. 일 접근법에서, 각각의 소거 펄스기 기판에 인가된 이후에, 검증 동작이 수행된다(파형 910으로 표시됨). 파형 910은 소거 중인 저장소자들의 하나 이상의 워드라인들에 인가되는, 진폭 Vev를 갖는 검증 펄스들 혹은 전압들 VP0 ~ VP3을 도시한다. VP0 ~ VP3 는 각각 EP0 ~ EP3 에 관련되고 이에 후속하는 검증 펄스들이다. 이러한 일례에서, 소거 동작은 VP3 이후에 성공적으로 종료한다라고 가정된다. 따라서, VP0 ~ VP2에 관련된 소거-검증 테스트는 실패이며, 그리고 VP3에 관련된 소거-검증 테스트는 통과된다.
도9b는 예시적인 소거 동작을 도시하는바, 여기서는 여분의 소거 펄스들(XEP) 이후에 검증 펄스가 후속되지 않는다. 일실시예에서는, 서로 다른 깊이에서 동적으로 소거하기 위하여, 마지막 검증 이후에 후속되는 "여분의 펄스들(extra pulses)"의 개수가 조절된다. 소거 펄스들 EP0 ~ EP3 및 XEP(파형 920)를 블록이 형성되어 있는 기판에 인가함으로써, 저장소자들의 블록에 대해서 소거 동작이 수행될 수 있다. EP0 ~ EP3 의 경우, 각 소거 펄스의 피크 진폭은 이전의 소거 펄스로부터 스텝 사이즈 ΔV(ΔVerase) 만큼 스텝 업될 수 있다. 이러한 일례에서, VP0 ~ VP2에 관련된 소거-검증 테스트는 실패이며, 그리고 VP3에 관련된 소거-검증 테스트는 통과된 것으로 가정된다. 도9a에 도시된 바와 같이 이 시점에서 소거 동작을 종료시키는 대신에, 하나 이상의 여분의 혹은 추가 소거 펄스들(XEP)이 기판에 인가되며, 여기서 상기 하나 이상의 여분의 혹은 추가 소거 펄스들 뒤에는 관련 검증 펄스들이 후속되지 않는다. 상기 하나 이상의 여분의 소거 펄스들(XEP)의 피크 진폭은 이전의 소거 펄스 EP3로부터 스텝 사이즈 ΔVx 만큼 스텝 업될 수 있는 바, ΔVx 는 ΔV와 같거나 혹은 다른 값이다. 일실시예에서, ΔVx > ΔV 이다. 파형 930은 소거 중인 저장소자들의 하나 이상의 워드라인들에 인가되는, 진폭 Vev를 갖는 검증 펄스들 혹은 전압들 VP0 ~ VP3을 도시한다. VP0 ~ VP3 는 각각 EP0 ~ EP3 에 관련되고 이에 후속하는 검증 펄스들이다. 이러한 접근법은 소거-검증 테스트를 변경함이 없이, 저장소자들이 충분한 깊이로 소거될 수 있다라는 장점을 갖는다.
도9a 및 도9b의 프로세스들은 3D 낸드에서의 사용을 위해 수정될 수도 있음을 유의해야 한다. 전술한 바와 같이, 3D 낸드에서의 차이점은 기판에 펄스를 인가하는 대신에, 소거를 위하여 GIDL를 생성할 수 있다는 점이다.
동적 소거 깊이(DYNAMIC ERASE DEPTH)
본 명세서에 서술된 기술은 낸드 메모리 디바이스 등과 같은 비휘발성 메모리 디바이스의 내구성을 개선하기 위한 것이다. 메모리 디바이스는 2D 구조 혹은 3D 구조를 포함할 수 있다. 3D 구조의 일례는 BiCS 구조이다. 3D 구조는 3D 수직 낸드 스트링을 포함할 수 있다. 3D 수직 낸드 스트링의 메모리 셀들은 정보를 저장하기 위한 ONO 층을 포함할 수 있다. 정보는 전하 포획 층(가령, SiN, 하지만 이에 한정되는 것은 아님)에 저장될 수 있다. ONO 층은 다른 구조들 뿐만 아니라 2D 낸드 및 3D 낸드 둘다에서 정보를 저장하는데 사용될 수 있음을 유의해야 한다. 따라서, 정보를 저장하는데 플로팅 게이트가 사용될 수도 있지만, 반드시 필요한 것은 아니다.
메모리 셀들은 하나 이상의 절연층들 혹은 유전층들을 가질 수 있다. 이들 영역들은 산화물(예컨대, 실리콘 산화물)을 포함할 수 있지만, 이에 한정되는 것은 아니다. 또한, 전자들은 동작 동안에 이들 영역들로 진입하거나 통과할 수 있다. 예를 들어, 2D 낸드의 경우, 플로팅 게이트와 채널 사이에는 터널 산화막이 존재할 수 있다. 또한, 플로팅 게이트와 제어 게이트 사이에는 인터-게이트 유전체(inter-gate dielectric: IPD)가 존재할 수 있다. 때때로, 상기 IPD는 산화물-질화물-산화물(ONO)로 형성되지만, 다른 유전체들이 사용될 수도 있다. 내구성 열화에 대한 여러 이유들 중 하나는, 예컨대, 터널 산화막 및/또는 IPD 내의 전하 포획이다. 이러한 전하 포획은 추가적인 소거/프로그램 싸이클과 더불어 축적되는 것이 일반적이다. 3D 낸드도 저장소자들 인근에 산화물 영역들을 가질 수도 있음을 유의해야 한다. 따라서, 프로그래밍 및 소거 동작들 동안, 전자들이 3D 낸드의 산화물 영역 내로 진입 혹은 통과할 수 있다.
일부 메모리 디바이스들의 경우, 소거 상태의 임계전압과 가장 높은 프로그래밍된 상태 사이에서의 더 큰 스윙(swing)은 내구성을 더욱 악화시킬 수 있다. 따라서, 내구성의 관점에서, 적어도 일부 디바이스들에 대해서는, 더 얕은(더 높은 Vth) 소거가 보다 양호한 내구성을 야기할 수 있다.
하지만, 더 얕게 소거하는 것은, 불충분하게 소거된 소거 상태 셀들이 더 많아지게 할 수 있으며, 이는 E to A 실패(E to A fails)(또는 E to X 실패, 여기서 X는 A 또는 B 또는 C 가 될 수 있음)로 나타나는 것이 일반적이다. 도10은 소거 검증 레벨 대 E to A 실패를 도시한 그래프이다. E to A 실패(E to A fails)는, 소거 상태를 유지하기로 의도되었지만 다른 메모리 셀들을 프로그래밍한 이후에 그 Vth 가 A 판독 기준 레벨(예컨대, 도8a의 Vra) 보다 높은 메모리 셀을 지칭한다. 더 높은 소거 검증 레벨은 더 얕은 소거에 대응한다. 커브(1002)는 더 얕은 소거가 더 많은 E to A 실패를 야기함을 보여준다. 얕은 소거로 인하여 E to A 실패가 많아지는 이유 중 하나는, 소거 상태의 겉보기(apparent) Vth 를 증가시키는 셀-간섭 효과 때문일 수 있다. 일부 디바이스들의 경우, 상기 셀 간섭 효과는 플로팅 게이트 대 플로팅 게이트 커플링 효과라고 지칭될 때도 있다.
논의를 위한 목적으로, "최적 소거 깊이" 라고 명명된 라인 우측에 있는 영역에서의 E to A 실패는 전하 효과에 의해서 제한되는 것으로 지칭되며, 상기 전하 효과는 "셀-간섭 효과" 라고 지칭될 수도 있다.
소거가 충분히 깊다면, E to A 실패는 소거-깊이에 상당히 독립적일 수 있다. 이러한 체제에서, E to A 실패는 프로그램 방해(program disturb)에 의해서 제한될 수 있으며, 상기 프로그램 방해는 소거 상태의 초기 상태에 무관하다. 논의를 위한 목적으로, "최적 소거 깊이" 라고 명명된 라인 좌측에 있는 영역에서의 E to A 실패는 프로그램 방해에 의해서 제한되는 것으로 지칭된다.
전술한 바를 감안하면, 상기 최적 소거 깊이는 E to A 실패를 최소 레벨(또는 최소 레벨에 적어도 근접한 레벨)로 감소시키는 깊이라고 보여질 수 있다. 즉, 만일 소거가 최적 소거 깊이 보다 더 깊게 수행된다면, E to A 실패의 개수는 내려가지 않을 것이다(혹은 적어도 상당히 내려가지는 않을 것이다). 물론, 가능한 가장 낮은 E to A 실패를 획득하는 소거 깊이에서 본 실시예에 따른 소거가 수행될 필요는 없다.
상술한 바는, 앞서 언급된 2개의 영역들 사이에 대략적으로 위치할 수 있는, 최적의 소거 검증 레벨(혹은 소거 깊이)이 어떻게 존재할 수 있는지에 대한 하나의 가능한 설명을 나타낸다. 하지만, 최적 소거 깊이에 대한 다른 설명들이 존재할 수도 있다.
하지만, 메모리 디바이스가 반복 사용(cycled)됨에 따라(예컨대, W/E 싸이클들), 이상적인 소거 깊이는 더 높은 레벨로 쉬프트될 수 있다. 이러한 쉬프트에 대한 이유 중 하나는, 싸이클링과 더불어 프로그램 방해가 증가하기 때문이다. 프로그램 방해 증가의 가능한 원인 중 하나는, 유효 부스팅 전위(effectiveness of boosting potential)의 감소가 될 수 있다. 부스팅 전위는, 비선택 낸드 스트링들의 채널 전위를 증가시키기 위하여 프로그래밍 동안에 비선택 워드라인들에 인가되는 전압들을 지칭한다. 프로그램 혼란의 이러한 증가는, 프로그램 혼란 체제를 더 높은 소거 검증 레벨들로 쉬프트시킬 수 있다.
이상적인 소거 깊이의 쉬프트에 대한 가능성 있는 두번째 이유는 싸이클링이 증가함에 따라 Icell 이 감소할 수도 있다라는 점이며, 이는 소거 검증의 통과를 더 어렵게 만들 수도 있다. 여기서, "Icell" 은 제어 게이트에 인가되는 기준 전압에 응답하여 메모리 셀에 의해서 도통되는 전류를 지칭한다. 이는 Icell 이 감소함으로써, 동일한 기준 전압이 더 낮은 메모리 셀 전류을 야기함을 의미한다. 싸이클이 증가함에 따른 Icell의 감소는, 동일한 소거 검증 설정들을 사용하는 경우 싸이클들이 많아짐에 따라 소거 깊이가 실제로 더 깊어지게 될 것임을 의미한다. 이는 또한, 디바이스가 반복사용(cycled)됨에 따라 이상적인 소거 검증 세팅이 더 높은 Vt 레벨들로 쉬프트되게 할 수 있다.
전술한 내용은 도11a 및 도11b에 요약되어 있다. 도11a는 여러 개의 서로 다른 W/E 싸이클들에 대한, E to A 실패 대 소거 깊이를 도시한다. 커브(1112)는 최하위 개수의 W/E 싸이클들에 대한 것이다. 커브(1102)는 최상위 개수의 W/E 싸이클들에 대한 것이다. 각각의 커브가 평평해지는 포인트는 E to A 실패가 최소화되는(혹은 이에 근접한) 포인트에 대응한다. 상기 커브들(1102-1112)은 예시적인 상기 디바이스가 더 반복사용됨에 따라 더 얕은 소거가 충분할 것이라는 점을 보여준다.
도11b는 도11a로부터의 커브들의 정규화된 버전(normalized version)을 보여준다. 즉, 이것은 여러 개의 서로 다른 소거/프로그램 싸이클들에 대한 E to A 실패 대 소거 깊이의 정규화된 버전이다. 커브(1152)는 최하위 개수의 W/E 싸이클들에 대한 것이다. 커브(1162)는 최상위 개수의 W/E 싸이클들에 대한 것이다. 화살표는, 증가하는 W/E 싸이클들의 방향을 보여준다. 또한, 이들 커브들(1152-1162)은, E to A 실패가 평평해지는 포인트에 도달하도록 상기 예시적인 디바이스가 더 많이 싸이클됨에 따라 얕은 소거가 충분할 것이라는 점을 보여준다. 달리 말하면, E to A 실패에 상당한 영향을 끼침이 없이, 증가하는 W/E 싸이클들과 더불어 더 얕은 소거가 이용될 수 있다.
도12a는 최적 소거 깊이 대 W/E 싸이클들의 일 가능성에 대한 그래프이다. 커브(1202)는 가능한 하나의 최적 소거 깊이를 나타낸다. 즉, 상기 커브(1202)는 E to A 실패를 최소화(혹은 적어도 최소값에 가깝게 감소시키는)할 것이라 예상되는 소거 깊이를 나타낸다. y-축은 소거 깊이, 혹은 소거 검증 레벨을 나타낸다. 커브(1202)는, 개수 혹은 W/E 싸이클들이 증가함에 따라 소거가 더 얕아야 함을 보여준다.
도12b는 본 발명의 일실시예에 따른 동적 소거 깊이를 나타낸다. x-축은 소거/프로그램(W/E) 싸이클들을 나타낸다. y-축은 메모리 셀 VTH 를 나타낸다. 메모리 셀들이 프로그래밍되는 경우, 본 일례에서 이들 메모리 셀들의 VTH 는 증가한다. A-검증 레벨, B-검증 레벨, 및 C-검증 레벨은 프로그래밍된 상태들에 대한 여러 개의 가능한 검증 레벨들을 지칭한다. 메모리 셀들이 소거되는 경우, 본 일례에서 이들의 VTH 는 감소한다. 고정된 소거 깊이는, W/E 싸이클들이 증가함에 따라 소거 깊이가 변하지 않는 통상적인 소거 프로세스를 지칭한다.
동적 소거 깊이는 본 발명의 일실시예에 따라 소거 깊이가 변화하는 소거 프로세스를 지칭한다. 도시된 바와 같이, 동적 소거 깊이는 W/E 싸이클들이 증가함에 따라 감소할 수 있다. 하지만, W/E 싸이클들의 개수를 단순히 추적하는 것은, 소거가 얼마나 깊어야 하는지에 대한 충분히 정확한 척도(measure)를 제공하지 않을 것이다. 본 발명에 따른 동적 소거 깊이의 실시예들은 소거가 얼마나 깊어야만 하는지를 보다 양호하게 나타낼 수 있는 일부 측정을 수행한다.
도13a는 동적 소거 깊이를 이용하여 비휘발성 저장소자를 소거하는 프로세스(1300)의 일실시예에 대한 순서도이다. 일실시예에서, 상기 프로세스는 낸드 구조에 적용된다. 일실시예에서, 메모리 어레이는 2D 낸드 메모리 어레이이다. 일실시예에서, 메모리 어레이는 3D 낸드 메모리 어레이이다. 일실시예에서, 메모리 셀들은 플로팅 게이트들을 갖는다. 일실시예에서, 메모리 셀들은 전하 저장 영역(예컨대, 실리콘 질화물)을 갖는다.
단계 1302는 비휘발성 저장소자들의 그룹을 소거하는 것을 포함한다. 일실시예에서, 상기 그룹은 비휘발성 저장소자들의 블록이지만, 단계 1302가 블록을 소거하는 것에 한정되는 것은 아니다. 도8b 혹은 도8c에 도시된 기법들도 또한 이용될 수 있다.
단계 1304는 상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍하는 것을 포함한다. 이러한 세트가, 소거되었던 모든 메모리 셀들을 포함할 필요는 없다는 점을 유의해야 한다. 일실시예에서, 프로그래밍되는 상기 세트는 상기 블록 내의 워드라인에 관련된 비휘발성 저장소자들이다. 전체 워드라인이 프로그래밍될 필요는 없다. 또한, 2 이상의 워드라인들이 프로그래밍될 수도 있다.
일반적으로, 메모리 셀들은 이들을 프로그래밍하기 전에 소거된다. 단계 1304에서 메모리 셀들의 세트에 대해서 수행되는 프로그래밍은 이들 메모리 셀들이 여전히 소거 상태에 있는 동안에 수행되는 프로그래밍을 지칭한다. 이러한 프로그래밍은 소거 단계 이후의 임의의 시점에서 수행될 수 있다.
단계 1306은 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 결정하는 것을 포함한다. 이것은 VTH 에 관하여 상부 꼬리의 위치를 결정하는 것을 포함할 수 있다. 단계 1306은 프로그래밍 단계 1304 직후에 수행될 수도 있음을 유의해야 한다. 따라서, 단계 1306은 프로그래밍 동작이 소거 분포의 상부 꼬리에 미친 영향을 판별한다. 일실시예에서, 단계 1306은 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 상태 to A-상태 실패(erase state to A-state fails)를 결정하는 것을 포함한다.
단계 1308은 상부 꼬리에 기초하여 비휘발성 저장소자들의 그룹을 소거하기 위한 소거 깊이를 확립하는 단계를 포함한다. 이러한 소거 깊이는 메모리 셀들의 그룹이 소거되는 다음번에 이용될 수 있을 뿐만 아니라 다른 향후 소거 절차들에서도 이용될 수 있다. 일실시예에서, 소거 깊이는 상부 꼬리가 높을 수록 더 얕으며, 상부 꼬리가 낮을 수록 더 깊다. 일실시예에서, 소거 깊이는 소거 상태 to A-상태 실패(erase state to A-state fails)의 개수가 높을 수록 더 얕으며, 소거 상태 to A-상태 실패의 개수가 낮을 수록 더 깊다.
일실시예에서, 소거 깊이를 확립하도록, 소거 검증 레벨이 결정된다. 소거 검증 레벨은 상부 꼬리가 더 높을 때에 더 높을 수 있으며, 상부 꼬리가 더 낮을 때에 더 낮을 수 있다. 일실시예에서, 소거 깊이를 확립하기 위하여, 소거 검증 패스들 이후에 이용될 소거 펄스들의 개수가 결정된다. 더 깊은 소거에 대해서 더 많은 소거 펄스들이 이용될 수 있으며, 더 얕은 소거에 대해서 더 적은 소거 펄스들이 이용될 수 있다. 또한, 소거 검증 레벨을 선택하는 것과 소거 검증 패스들 이후에 이용될 소거 펄스들의 개수의 조합에 의해서 소거 깊이가 획립될 수 있다.
단계 1310은 단계 1308에서 확립된 소거 깊이를 이용하여 비휘발성 저장소자들의 그룹을 소거하는 단계를 포함할 수 있다. 일부 경우들에서, 단계 1306 및/또는 단계 1308로부터의 정보는 저장되며 따라서 이는 단계 1310의 소거에서 이용가능하다.
도13b는 소거 검증 레벨을 조절하는 바람직한 소거 깊이를 획득하기 위한 소거 프로세스의 일실시예이다. 이는 도13a의 단계 1310의 일실시예이다. 단계 1322에서, 바람직한 소거 깊이에 기초하여 타겟 소거 검증 레벨이 결정된다. 도8a를 참조하면, 소거 검증 레벨 Vev 는 더 깊은 소거를 획득하도록 더 낮은 VTH 로 이동할 수 있거나 혹은 더 얕은 소거를 획득하도록 더 높은 VTH 로 이동할 수 있다.
단계 1324에서, 타겟 소거 검증 레벨을 이용하여 메모리 셀들이 소거된다. 타겟 소거 검증 레벨을 이용하여 소거를 성취하는 다양한 방법들이 존재한다. 도16a-20은, 타겟 소거 검증 레벨을 획득하기 위한 소거 검증 동작 동안에 감지(sensing)를 수정하기 위한 다양한 기법들에 대한 보다 상세한 내용들을 제공한다.
도13c는 검증 패스들 이후에 소거 펄스들의 개수를 조절하는 바람직한 소거 깊이를 획득하기 위한 소거 프로세스의 일실시예를 도시한다. 이는 도13a의 단계 1310의 일실시예이다. 단계 1342에서, 원하는 소거 깊이에 기초하여, 검증 패스들 이후의 소거 펄스들의 타겟 개수가 결정된다. 도9b를 참조하면, "XEP" 펄스들의 개수는 더 깊은 소거를 획득하도록 증가되거나 혹은 더 얕은 소거를 획득하도록 감소될 수 있다. 단계 1344에서, 상기 개수의 "XEP" 펄스들을 이용하여 메모리 셀들이 소거된다. 도13c의 기법은 타겟 소거 깊이를 획득하기 위해 도13b의 기법과 조합될 수도 있음을 유의해야 한다.
도14a는 프로그래밍이 발생한 이후의 소거 분포(1401)의 위쪽 부분을 도시한 그래프이다. x-축은 메모리 셀 VTH 를 나타낸다. 본 일례에서, 상기 위쪽 부분은 A 상태 판독 레벨 바로 위에 있다. x-축에는, 그 각각이 A 상태 판독 레벨 보다 위에서 추가적인 델타 증분을 갖는 여러 개의 기준 전압들이 도시된다. 소거된 상태에 있어야만 하지만, A-상태에 있는 것(예컨대, A 판독 레벨 보다 위인 VTH 를 가짐)으로 판독되는 메모리 셀들은 E to A 실패라고 간주된다.
소거 분포의 상부 꼬리는, 상당히 적은 개수의 메모리 셀들만이 VTH 이상(VTH above)을 갖는 포인트라고 정의될 수 있다. 예를 들어, 소정의 임계 개수의 메모리 셀들이 VTH 이상(VTH above)을 갖는 포인트가 상부 꼬리라고 정의될 수 있다. 특정한 일례로서, 상부 꼬리는 대략 64개 이하의 메모리 셀들이 VTH 이상을 갖는 가장 낮은 포인트라고 정의될 수 있다.
소거 분포의 상부 꼬리는 위치에 관하여 정의될 수도 있는바, 소거 분포의 상부 꼬리는 E to A 실패의 개수가 소정의 임계 실패 개수보다 아래인 위치로 정의될 수 있다. 이는 상부 꼬리가 A-상태 기준 전압(예컨대, Vra) 보다 위에 위치한다고 가정한다. 도14a를 참조하면, 상부 꼬리는 대략 Vra + 2Δ 라고 정의될 수 있다. Vra 및 Vra + Δ 에서, E to A 실패들의 개수는 예컨대, 임계값 보다 많다. 하지만, Vra + 2Δ 에서, E to A 실패들의 개수는 임계값 보다 작다. 또한, Vra + 3Δ 에서, E to A 실패들의 개수는 임계값 보다 작은 것도 사실이다. 하지만, 정의에 의해서, 상기 상부 꼬리는 이러한 판독 기준 레벨들 중 최하위 레벨로 정의될 수도 있다. 더 작은 Δ를 사용하는 경우, 보다 미세한 입상도(granularity)로 상부 꼬리가 위치될 수 있다.
도14b는 소거 분포의 상부 꼬리를 결정하는 프로세스(1420)의 일실시예를 도시한다. 프로세스(1420)는 단계 1306의 일실시예이다. 따라서, 프로세스(1420)는 일 세트의 메모리 셀들이 프로그래밍된 이후에 수행될 수도 있다. 프로세스(1420)에서, E to A 실패들의 소정 임계 개수의 위치에 기초하여 상부 꼬리가 결정된다. 프로세스(1420)를 논의할 때에 도14a가 참조될 것이다.
단계 1422에서, A-상태 판독 기준 레벨(예컨대, Vra) 부근의 제 1 기준 레벨에서 메모리 셀들의 세트가 감지된다. 일실시예에서, 감지는 Vra에서 시작한다. 일반적으로, 판독 기준 전압이 선택 워드라인에 인가되며 그리고 이에 응답하여 낸드 스트링들이 감지된다. 이러한 감지는 제 1 기준 레벨 보다 높은 VTH 를 어떤 메모리 셀들이 갖고 있는지를 판별한다. 테스트 중인 메모리 셀들의 세트는, 하나 이상의 워드라인들에 관련될 수 있다. 이러한 일례에서, 각각의 워드라인은 별도로 테스트될 수 있다. 즉, 테스트 중인 메모리 셀들의 세트에 관련된 서로 다른 워드라인들에게 제 1 기준 레벨이 개별적으로 인가된다.
단계 1424에서, 상기 기준 레벨에 대해서 E to A 실패들의 개수가 판별된다. 일실시예에서, 프로그래밍은 방금 완료되었으며 그리고 어떤 메모리 셀들이 소거 상태를 유지하기로 의도되었는지를 나타내는 정보가 이용가능하다. 이러한 정보는 감지 증폭기 내의 데이터 래치들의 정보에 기초하여 이용가능해질 수 있다. 따라서, 소거 상태에 있어야만 하지만 제 1 기준 레벨 보다 높은 VTH 를 갖는 메모리 셀들의 개수로서, E to A 실패들이 판별될 수 있다. 단계 1424의 일실시예의 경우, 소거 상태 이외의 다른 상태로 프로그래밍된 임의의 메모리 셀들은 이러한 판별에서 고려될 필요가 없다.
단계 1426에서, E to A 실패들의 개수가 임계 개수와 비교된다. 일실시예에서, 이러한 비교는 E to A 실패들의 개수가 임계 개수보다 작은지의 여부를 결정한다. 분석의 간략화를 위해, 제 1 패스(pass)에 대해서 E to A 실패들의 개수는 임계 개수보다 크다 라고 가정될 것이다.
단계 1428에서, 판독 기준 레벨은 델타(Δ)만큼 증분된다. 델타는 임의의 편리한 증분값이 될 수 있다. 이후, 프로세스는 단계 1422로 되돌아가서, 다음 기준 레벨에서 메모리셀 들을 감지한다. 이러한 방식으로, E to A 실패들의 개수가 임계 개수 보다 작아질 때까지 프로세스가 반복된다. 도14a의 일례에서, Vra + 2Δ에서 메모리 셀들이 판독될 때, 이러한 것이 발생한다. 다음으로, 프로세스는 단계 1430에서 종료하는데, 단계 1430에서 상부 꼬리는 Vra + 2Δ 로 정의될 수 있다. 증분값(Δ)이 더 작다면, 상부 꼬리가 더 큰 정확도로 정의될 수 있음을 유의해야 한다. 또한, 다른 변형예들도 가능한바, 가령, 더 높은 판독 기준 레벨에서 시작하여 각각의 이터레이션에서 증분치만큼 감소시키는 것도 가능하다.
또한, E to A 실패들의 개수와 단계 1430에서 판별된 위치 사이에는 소정의 연관성이 존재할 수도 있음을 유의해야 한다. 더 많은 E to A 실패들이 존재하는 경우, 소거 분포의 상부 꼬리는 더 오른쪽(더 높은 VTH)에 있을 수 있다. 이와 반대로, 더 적은 E to A 실패들이 존재하는 경우, 소거 분포의 상부 꼬리는 더 왼쪽(더 낮은 VTH)에 있을 수 있다. 따라서, 비록 단계 1430이 E to A 실패들의 정확한 개수를 판별하지 못할 수도 있지만, 단계 1430은 E to A 실패들의 상대적인 개수에 관한 정보를 제공하는 역할을 수행할 수 있다. 예를 들어, Vra + Δ에서 판독할 때에 E to A 실패들이 임계값 아래로 간다면, 이것은, Vra + 2Δ에서 판독할 때에 E to A 실패들이 임계값 아래로 가는 케이스에 비하여 상대적으로 적은 개수의 E to A 실패들을 나타낼 수 있다. 다른 한편으로, Vra + 3Δ에서 판독할 때에 E to A 실패들이 임계값 아래로 간다면, 이것은, Vra + 2Δ에서 판독할 때에 E to A 실패들이 임계값 아래로 가는 케이스에 비하여 상대적으로 많은 개수의 E to A 실패들을 나타낼 수 있다. 따라서, 단계 1430는 E to A 실패들의 개수에 기초하여 소거 분포의 상부 꼬리에 관한 정보를 결정하는 하나의 방법이 될 수 있다.
도14c는 소거 분포의 상부 꼬리를 결정하는 프로세스(1440)의 일실시예를 도시한다. 프로세스(1440)는 단계 1306의 또 다른 실시예이다. 따라서, 프로세스(1440)는 일 세트의 메모리 셀들이 프로그래밍된 이후에 수행될 수도 있다. 프로세스(1440)에서는, A-상태 판독 기준 레벨 부근에서의 2개의 판독들에 대한 비교 결과에 기초하여 상부 꼬리가 결정된다. 프로세스(1440)를 논의할 때에 도14a가 참조될 것이다. 프로세스(1440)는 선택 워드라인 상의 메모리 셀들을 테스트하는 것을 서술하지만, 다수의 워드라인들 상의 메모리 셀들을 테스트하는 것으로 확장될 수 있다.
단계 1442에서, A-상태 판독 기준 레벨 근처의 제 1 기준 레벨이 메모리 셀들의 세트와 관련된 선택 워드라인에 인가된다. 일례로서, 감지 동작은 Vra + 4Δ 에서 시작한다. 단계 1444에서, 제 1 기준 레벨에 응답하여 어떤 메모리 셀들이 전류를 도통시키는지에 대한 판별이 이루어진다. 달리 말하면, 어떤 메모리 셀들이 제 1 기준 레벨 보다 아래인 VTH 를 갖는지에 대한 판별이 이루어진다(그리고 제 1 기준 레벨 보다 높은 VTH 를 갖는 것들). 여기서 언급되고 있는 메모리 셀들은, 소거 상태를 유지하기로 의도되었던 메모리 셀들만이 될 수 있음을 유의해야 한다. 일실시예에서, 감지 블록(500) 내의 데이터 래치들은 단계 1444의 결과들을 저장한다.
단계 1450에서, 판독 기준 레벨이 소정의 증분값(Δ) 만큼 감소된다. 이것은 임의의 증분값이 될 수 있으며, 도14b에서 이용되었던 Δ와 관련이 없을 수도 있다.
단계 1452에서, 다음 기준 레벨이, 테스트 중인 메모리 셀들의 세트에 관련된 선택 워드라인에 인가된다. 하나의 일례로서, Vra + 3Δ에서 진행될 수 있다. 단계 1454에서, 상기 다음 기준 레벨에 응답하여 어떤 메모리 셀들이 전류를 도통시키는지가 판별된다. 달리 말하면, 상기 다음 기준 레벨보다 높거나/낮은 VTH 를 갖는 각각의 메모리 셀에 대한 판별이 이루어진다. 여기서 언급되고 있는 메모리 셀들은, 소거 상태를 유지하기로 의도되었던 메모리 셀들만이 될 수 있음을 유의해야 한다. 일실시예에서, 단계 1545의 결과들은, 단계 1444의 결과들을 덮어쓰지 않고 데이터 래치들에 저장된다.
단계 1460에서, 마지막 2개의 기준 전압들 사이의 VTH 를 갖는, 테스트 중인 메모리 셀들의 개수가 카운트된다. 여기서 언급되고 있는 메모리 셀들은, 소거 상태를 유지하기로 의도되었던 메모리 셀들만이 될 수 있음을 유의해야 한다. 이러한 카운트는 단계 1458의 카운트로부터 단계 1441의 카운트를 감산함으로써 만들어질 수 있다. 이러한 프로세스에서, 단계 1442의 제 1 기준 전압은 다음번 것보다 높다. 따라서, 제 1 카운트에는 더 적은 개수의 메모리 셀들이 있어야 한다. 일실시예에서, 단계 1460은 단계 1444 및 1454의 데이터 래치들에 저장된 정보의 비교를 포함한다.
단계 1462에서, 단계 1460의 카운트는 임계 개수와 비교된다. 일실시예에서, 상기 비교는 2개의 기준 전압들 사이의 VTH 를 갖는 메모리 셀들의 개수가 상기 임계 개수보다 큰지를 판별한다. 만일 그렇다면, 소거 임계 분포의 상부 꼬리가 발견된 것이다. 도14a를 참조하면, 이러한 테스트를 통과하기에는, Vra + 3Δ 와 Vra + 4Δ 사이의 VTH 를 갖는 메모리 셀들이 충분하지 않음을 알 수 있다. 하지만, Vra + 2Δ 와 Vra + 3Δ 사이에서 테스트하는 경우, 상기 테스트가 통과하기에 충분한 메모리 셀들이 존재할 수 있다. 따라서, 상부 꼬리는 하나의 일례로서 Vra + 2Δ에서 확립될 수 있다. 대안예는 양단을 포함하여 Vra + 2Δ 와 Vra + 3Δ 사이의 소정 포인트로서 상부 꼬리 위치를 정의하는 것이다
단계 1462의 테스트가 통과하지 못했다고 가정하면, 상기 프로세스는 단계 1450으로 되돌아가서, 기준 전압을 감소시킨다. 이후 단계 1452-1462가 반복된다. 이러한 반복에서, 상기 비교는 Vra + 2Δ 와 Vra + 3Δ 사이의 VTH 를 갖는 메모리 셀들에 대한 테스트이다. 전술한 바와 같이, 하나의 일례로서, 프로세스가 종료하는 케이스에서 상기 테스트가 통과될 수 있다.
도14d는 E to A 실패들을 판별하는 프로세스(1480)의 일실시예에 대한 순서도이다. E to A 실패들의 개수는, 도13a의 단계 1306의 소거 분포의 상부 꼬리를 판별하기 위한 방법 중 하나이다. 프로세스 1480에서, E to A 실패들의 개수는 다수의 임계값들과 비교된다. 이러한 프로세스에서 T1 ~ T4 가 이용되지만, 임의의 다른 임계값이 이용될 수도 있다. 본 일례에서, T4 > T3 > T2 > T1 이다.
단계 1482에서, 판독 기준 레벨에서 메모리 셀들의 세트가 감지된다. 이것은, A-상태 판독 기준 레벨 부근의 어딘가에 있는 VTH 를 테스트하기 위한 레벨이 될 수 있다. 일실시예에서, 이것은 A-상태 판독 기준 레벨에 있다. 일실시예에서, 이것은 A-상태 판독 기준 레벨 보다 약간 높다.
단계 1484에서, E to A 실패들의 개수가 판별된다. 이것은 도14a의 단계 1424에서 앞서 서술된 것과 유사한 방식으로 수행될 수 있다. 단계 1486에서, E to A 실패들이 T1 과 비교된다. 만일, E to A 실패들이 T1 보다 작다면, T1에 기초하여 E to A 실패들이 정의된다(단계 1488). 그렇지 않다면, 단계 1490에서 E to A 실패들이 T2 와 비교된다. 만일, E to A 실패들이 T2 보다 작다면, T2에 기초하여 E to A 실패들이 정의된다(단계 1492). 그렇지 않다면, 단계 1494에서 E to A 실패들이 T3 와 비교된다. 만일, E to A 실패들이 T3 보다 작다면, T3에 기초하여 E to A 실패들이 정의된다(단계 1496). 그렇지 않다면, 단계 1497에서 E to A 실패들이 T4 와 비교된다. 만일, E to A 실패들이 T4 보다 작다면, T4에 기초하여 E to A 실패들이 정의된다(단계 1498). E to A 실패들이 T4 보다 작지 않다면, 단계 1499에서 E to A 실패들은 T4와 관련된 레벨 보다 높은 것으로 정의된다.
일부 실시예들에서, 소거 분포의 상부 꼬리에 관한 정보는 저장되며 따라서 이것은 다음 소거 프로세스를 위해서 이용될 수 있다. 도15a는 소거되는 블록 내의 워드라인들 중 하나의 워드라인에 관련된 소거 분포의 상부 꼬리에 관한 정보를 저장하는 프로세스(1500)의 일실시예를 도시한다. 단계 1502에서, 블록 혹은 다른 단위의 메모리 셀들이 소거된다. 단계 1504에서, 소거되었던 상기 단위 내의 하나 이상의 워드라인들이 프로그래밍된다. 단계 1506에서, 프로그래밍된 워드라인들 중 적어도 한 워드라인의 소거 분포의 상부 꼬리에 관한 정보가 판별된다. 도14b 또는 도14c에 도시된 것들과 같은 프로세스들이 이러한 정보를 판별하는데 이용될 수 있다. 이러한 정보는 소거 검증 레벨, 소거 검증 패스들 이후에 사용되는 다수의 소거 펄스들, 또는 다른 정보가 될 수 있다. 이러한 정보는 가령, 소거 분포의 상부 꼬리의 위치, 소정 레벨 보다 높은 VTH 또는 동일한 범위 내의 VTH 를 갖는 메모리 셀들의 개수 등등과 같이, 단순히 수집되었던 정보일 수도 있다. 단계 1508에서, 소거되었던 상기 단위 내의 또 다른 워드라인이 프로그래밍된다. 단계 1510에서, 현재 프로그래밍되는 워드라인에 관련하여, 소거 분포의 상부 꼬리에 관한 정보가 저장된다. 이 정보는 예컨대, 시스템 이용을 위해 예비된 워드라인 상의 메모리 셀에 저장될 수도 있다.
단계 1512에서, 소거 분포의 상부 꼬리에 관한 상기 정보가 저장된 위치로부터 액세스된다. 추가적으로, 만일 소거 깊이가 상기 정보에 특정되어 있지 않다면, 상기 정보에 기초하여 소거 깊이가 결정될 수도 있다. 소거 깊이는, 소거 검증 레벨 및/또는 소거 검증 패스들 이후의 소거 펄스들의 개수를 특정하는 하나 이상의 파라미터들에 의해서 상기 정보 내에 특정될 수도 있다. 단계 1510과 단계 1512 사이에는 점선이 그려져 있는데, 이는 이들 단계들 사이에서 상당한 시간이 경과될 수도 있음을 나타낸다. 단계 1514에서, 메모리 셀들의 단위를 소거할 때에, 상기 액세스된 정보가 이용된다.
도15b는 소거 분포의 상부 꼬리에 관한 정보를 제어기에 저장하는 프로세스(1550)의 일실시예를 도시한다. 프로세스(1500)의 단계들과 유사한 단계들은 동일한 참조 번호를 이용할 것이다. 단계 1502에서 메모리 셀들의 단위가 소거된다. 단계 1504에서, 상기 단위 내의 하나 이상의 워드라인들이 프로그래밍된다. 단계 1506에서, 프로그래밍된 워드라인들 중 적어도 한 워드라인의 소거 분포의 상부 꼬리에 관한 정보가 판별된다. 단계 1508에서, 상기 단위 내의 또 다른 워드라인이 프로그래밍된다. 단계 1552에서, 소거 분포의 상부 꼬리에 관한 상기 정보가 제어기(550)에 저장된다. 일실시예에서, 제어기(550)는 메모리 칩(598)과 별개이다. 하지만, 상기 제어기는 칩 상에 존재할 수도 있다. 단계 1554에서, 소거 분포의 상부 꼬리에 관한 상기 정보가 제어기(550)로부터 액세스된다. 추가적으로, 상기 정보에 기초하여 소거 깊이가 결정될 수도 있다. 단계 1552 및 단계 1554 사이에 도시된 점선은, 이들 단계들 사이에서 상당한 시간이 경과될 수도 있음을 나타낸다. 단계 1514에서, 상기 단위를 소거할 때, 상기 액세스된 정보가 사용된다.
소거 검증 레벨을 획득하기 위하여 감지(sensing)를 조절하는 기법들
소거 깊이를 동적으로 조절하기 위한 기법들 중 하나는 소거 검증 레벨을 선택하는 것이다. 타겟 소거 검증 레벨을 이용하는 검증 동작을 획득하기 위하여 다양한 기법들이 이용될 수 있다. 다음의 섹션들은 타겟 소거 검증 레벨을 획득하도록 소거 검증 동작 동안에 감지가 수행되는 법을 변형하기 위한 다양한 기법들을 서술한다.
도16a는 소거 동작의 예시적인 전 비트라인(all bit line) 감지 프로세스 동안의 낸드 스트링들에서의 전류 흐름을 도시한다. BLK는 낸드 스트링들(NS0-NS2) 및 비트라인들(BL0-BL2)에 각각 연결된 관련 감지 증폭기들(SA0-SA2)을 포함한다. SGD 라인은 SGD 트랜지스터들 1600(제어 게이트 CGsgd를 가짐), 1610, 및 1620의 제어 게이트들에 연결된다. WL63은 저장소자들 1601(제어 게이트 CG63를 가짐), 1611, 및 1621의 제어 게이트들에 연결된다. WL32는 저장소자들 1602(제어 게이트 CG32를 가짐), 1612, 및 1622의 제어 게이트들에 연결된다. WL31은 저장소자들 1603(제어 게이트 CG31를 가짐), 1613, 및 1623의 제어 게이트들에 연결된다. WL30은 저장소자들 1604(제어 게이트 CG30를 가짐), 1614, 및 1624의 제어 게이트들에 연결된다. WL29는 저장소자들 1605(제어 게이트 CG29를 가짐), 1615, 및 1625의 제어 게이트들에 연결된다. WL28은 저장소자들 1606(제어 게이트 CG28를 가짐), 1616, 및 1626의 제어 게이트들에 연결된다. WL0은 저장소자들 1607(제어 게이트 CG0를 가짐), 1617, 및 1627의 제어 게이트들에 연결된다. SGS 라인은 SGS 트랜지스터들 1608(제어 게이트 CGsgs를 가짐), 1618, 및 1628의 제어 게이트들에 연결된다. NS0-NS2의 소스 단부들 SE0-SE2 는 각각 공통 소스 라인 SL에 연결된다.
소거 동작이 블록에 대하여 완료되었는지를 판별하기 위하여 감지가 이용될 수 있다.
네가티브 전 비트라인 감지(negative all bit line sensing)라고 지칭되는 예시적인 감지 프로세스에서, 블록 내의 각각의 낸드 스트링에서 전류가 동시에 감지되는바, 이들 낸드 스트링들에 관련된 감지 증폭기들에 의해서 전류가 감지된다. 예를 들면, NS0, NS1, NS2에서의 전류는 각각 i_NS0, i_NS1, i_NS2 이며, 이는 감지 증폭기들(SA0, SA1, SA2)에 의해서 각각 감지된다. 또한, 제 1 기법에서, 모든 워드라인들의 저장소자들은 동시에 검증된다. 예를 들면, 소거 동작이 블록에 대하여 완료되었는지를 판별하기 위하여, WL0-WL63 은 Vev(가령, 0V)를 수신할 수 있다. 제 2 기법에서, 짝수 워드라인들의 저장소자들은 동시에 검증될 수 있으며, 그 이후에 홀수 워드라인들의 저장소자들이 동시에 검증될 수 있다. 짝수 워드라인들의 저장소자들의 검증되는 때, WL0, WL2, ... WL62는 Vev 혹은 Vv_dem 을 수신할 수 있으며 반면에 WL1, WL3, ... WL63은 Vread를 수신할 수 있다. 제 3 기법에서, 홀수 워드라인들의 저장소자들이 동시에 검증되며, 그 이후에 짝수 워드라인들의 저장소자들이 동시에 검증된다. 따라서, 전 비트라인 감지 또는 짝수/홀수(소스-팔로우어) 감지가 이용되는가에 상관없이, 추가 옵션은 짝수 및 홀수 워드라인들을 함께 검증하는 것(전 워드라인 소거-검증 이라 지칭됨) 또는 짝수 및 홀수 워드라인들을 별도로 검증하는 것(교번 워드라인 소거-검증 이라 지칭됨)이다. 짝수 및 홀수 워드라인들을 별도로 검증하는 것은 기입-소거 내구성을 개선할 수도 있다.
Vs1 은 Vbl 보다 아래인 레벨로 설정될 수 있으며, 따라서 전류는 낸드 스트링의 드레인 단부로부터 소스 단부로 흐른다. 일실시예에서, Vs1 = 1.2V 이며 비트라인들은 Vbl = 1.8V에서 유지된다. 각각의 낸드 스트링에서 전류는 관련된 비트라인들을 통해 흐르며 그리고 관련된 감지 증폭기에 의해서 감지된다. 만일, 감지된 전류가 임계값 혹은 트립 레벨(trip level)(Itrip)을 초과하면, 그 낸드 스트링은 도통 상태에 있는 것으로 판별된다. 만일, 감지된 전류가 트립 레벨을 초과하지 않으면, 그 낸드 스트링은 비도통 상태에 있는 것으로 판별된다. Itrip의 값은 감지 시간(tsense)에 의해서 결정되며, 감지 시간은 메모리 디바이스의 ROM 퓨즈 파라미터에 기초하여 설정될 수 있다. 일실시예에서, Isense 는 tsense 에 반비례한다.
모든 낸드 스트링들, 혹은 거의 모든 낸드 스트링들(무시될 수도 있는 매우 적은 개수의 낸드 스트링들을 제외하고)이 도통 상태에 있는 것으로 판별되는 때에, 소거-검증 테스트가 통과된 것으로 판별된다. 소거 깊이는 Vs1 를 세팅함으로써 제어될 수 있다. Vs1 가 높을수록 더 깊은 소거 깊이가 야기되는데, 이는 높은 Vs1 로 인하여 소거-검증 테스트가 더 엄격해지기 때문이다(통과하기가 더 어려워짐, 더 많은 소거 루프를 필요로 함). Vs1 를 변경하는 것은 소거 검증 레벨을 효과적으로 변경함을 유의해야 한다. 예를 들어, 이는 도8a에서 Vev 를 효과적으로 변경할 수 있다.
SGD 라인 및 SGS 라인은 전압들(Vsgd, Vsgs)을 각각 수신하며, 이는 이들 트랜지스터들을 도통 상태로 만든다.
비록, 네가티브 전 비트라인 감지 체계 및 소스 팔로워 감지 체계에 대하여 감지가 서로 다른 방식으로 수행될 수도 있지만, 이들 2개의 체계들에 대하여 낸드 스트링이 도통 상태 혹은 비도통 상태에 있는지를 판별하는 것은, 낸드 스트링을 통해 흐르는 전류의 양에 의해서 결정된다. 낸드 스트링 전류를 낸드 스트링 저항에 반비례한다. 각각의 소거 펄스에서, Verase 가 증가되어 저장 소자들을 더 깊게 소거하고, 이들의 Vth 를 낮추며, 결과적으로 낸드 스트링의 저항을 감소시킨다. 소정의 검증 펄스 이후에, 낸드 스트링 저항이 충분히 낮은 값에 도달하는 때, 낸드 스트링은 도통 상태라고 판별될 것이며, 소거-검증 테스트는 통과될 것이다.
도16b는 소거 동작에 관한 짝수 비트라인들의 감지 동작 동안에 낸드 스트링에서의 전류 흐름을 도시한다. 다른 유형의 감지는 소스-팔로워 감지이며, 소스-팔로워 감지에서 SL은 Vdd(예컨대, 2.5V) 까지 충전되고, 그리고 감지될 비트라인들(본 일례에서는 짝수 비트라인들)은 초기에는 접지된다. SGD 트랜지스터들은 이들을 도통 상태로 만들도록 충분히 높게 바이어싱되며 따라서, 낸드 스트링 셀 전류는 이들을 통해 흐를 수 있다. 이러한 기법에서, 짝수 및 홀수 비트라인들은, 인접한 비트라인 커플링으로부터의 영향을 회피하도록 개별적으로 검증될 수 있다. 짝수 비트라인들이 검증되는 때, 홀수 비트라인들은 Vdd 로 유지되는바, 이는 홀수 비트라인들을 통하는 원하지 않는 전류 흐름을 방지하기 위한 것이다. 이와 유사하게, 홀수 비트라인들이 검증되는 때, 짝수 비트라인들은 Vdd 로 유지된다. NS0 및 NS2 각각에 대한 전류들(i_NS0 및 i_NS2)로 표시되는 바와 같이, 낸드 스트링 전류는 낸드 스트링의 소스 측으로부터 드레인 측으로 흐른다.
감지 동안에, 감지될 비트라인들은 플로팅 상태로 남으며 그리고 낸드 스트링의 소스측으로부터 드레인측으로 흐르는 전류 때문에 충전된다. 소정 시간을 대기한 이후에, 비트라인이 충전되는 최종 Vbl 레벨이 감지 증폭기에 의해서 판별된다. 만일, Vbl > Vtrip 이라면, 낸드 스트링은 도통 상태에 있는 것으로 판별되며, 여기서 Vtrip 은 메모리 디바이스의 ROM 퓨즈 파라미터에 기초하여 설정될 수 있다.
모든 낸드 스트링들, 혹은 거의 모든 낸드 스트링들(무시될 수도 있는 매우 적은 개수의 낸드 스트링들을 제외하고)이 도통 상태에 있는 것으로 판별되는 때에, 소거-검증 테스트가 통과된 것으로 판별된다. 소거 깊이는 Vtrip 을 세팅함으로써 제어될 수 있다. 트립 전압이 더 높을수록 더 깊은 소거 깊이가 야기되는데, 이는 높은 트립 전압은 소거-검증 테스트를 더 엄격하게 만들어 통과하기가 더 어려워지기 때문이다. 이에 대한 보다 상세한 내용은 도19a 및 도19b를 참조하여 상술될 것이다. 또한, 소거 깊이는 Vdd 를 세팅함으로써 제어될 수 있다. 더 낮은 Vdd 는 더 깊은 소거 깊이를 야기하는데, 이는 더 낮은 Vdd가 소거-검증 테스트를 더 엄격하게 만들기 때문이다.
도16c는 일 접근법에서 짝수 비트라인들에 대한 감지 프로세스 이후에 수행되는, 소거 동작과 관련된 홀수 비트라인들의 감지 프로세스 동안의 낸드 스트링에서의 전류 흐름을 도시한다. 홀수 비트라인들이 검증되는 때, 짝수 비트라인들은 Vdd 를 유지한다. NS1에 대한 전류 i_NS1 로 표시되는 바와 같이, 낸드 스트링 전류는 낸드 스트링의 소스측으로부터 드레인측으로 흐른다.
도17은 도3의 낸드 스트링 NS0 와 감지 증폭기 SA0 를 포함하는 예시적인 감지 회로를 도시한다. NS0 는 기판 상에 제조되며 그리고 기판 내의 채널 영역(1714)을 포함한다. SA0는 감지 모듈(1700), 감지 라인(1702) 및 BL0에 연결된 트랜지스터(1704)를 포함한다. 비트라인 상의 전압은 트랜지스터(1704)를 이용하여 고정될 수도 있으며 혹은 원하는 레벨로 클램프될 수도 있다. SL 드라이버(1718)는 SL 상에 전압 Vsl 을 제공한다. 도16a를 참조하여 서술된 전 비트라인 감지에서, SL 드라이버는 Vsl 을 설정하는데 이용되며 트랜지스터(1704)는 Vbl 을 설정하는데 이용된다. 트랜지스터(1704)는 비트라인 클램프(BLC) 트랜지스터로 지칭될 수도 있다. NS0 내의 저장소자들의 도통 상태들에 따라, 전류가 감지 라인을 통해 BL로부터 SL로 채널(1714) 내에 흐를 수 있다. 감지 모듈은 다양한 방법으로 감지 라인(1702) 상의 전류의 양을 판별할 수 있다(혹은 전류의 양이 소정의 전류-트립 레벨(즉, Itrip) 보다 위인지 아래인지를 적어도 판별할 수 있다). 가능한 일실시예에서, 감지 모듈은 충전되는 캐패시터를 갖는다. 시간 t0에서 캐패시터는 감지 라인을 특정 레베로 충전할 수 있다. 다음으로, 감지 시간에서 전압 레벨이 트립 전압 위인지 혹은 아래인지가 결정된다. 상기 전압 레벨이 트립 전압 위인지 아래인지의 여부에 따라, 감지 시간에서 전류가 트립 전류 위인지 혹은 아래인지가 결정된다. 따라서, 감지 모듈은 감지 라인을 프리-차징하고 이에 후속하여 전류 레벨에 관련된 전압 강하를 판별함으로써, 상기 전류를 판별한다. 전압 강하에 대한 프리-차지 레벨 혹은 트립 레벨을 조절함으로써, 감지 파라미터들이 조절될 수 있다.
도18a는 도16a의 감지 체계에 대하여 전류를 감지하는 때의 커브들을 도시하며, 여기서 전류 감지 시간은 조절가능한 파라미터이다. 감지 동안에 비트라인 전압은 일정하게 유지될 수 있다. 따라서, 고정된 전류가 감지 동안에 낸드 스트링을 통해 흐를 수 있다. 일실시예에서, 낸드 스트링 전류는 "감지 시간" 이라고 지칭되는 시간 기간 동안 감지 증폭기 내의 감지 노드를 디스차지한다. 감지 노드 상의 전압이 감지 시간 동안 소정의 레벨로 디스차지했는지에 대한 여부가 판별된다. 감지 노드는 공지된 캐패시턴스(C)를 가질 수 있으며, 따라서, 낸드 스트링 전류는 I = C dt/dv 공식에 의해서 결정될 수 있다. 상기 공식에서, I 는 낸드 스트링 전류이며, dv는 감지 노드 상에서의 전압 강하이며, dt는 감지 시간이다. 따라서, dv를 증가시키거나 혹은 감지 시간(dt)를 감소시킴으로써, 더 큰 낸드 스트링 전류가 테스트될 수 있다.
도18a는 감지 시간 대 감지 노드에서의 전압을 도시한다. 라인(1800)은 낸드 스트링이 도통 상태에 있으며 상당히 큰 전류가 흐르고 있는 경우를 나타낸다. 따라서, 감지 노드에서의 전압은 매우 큰 분량만큼 디스차지된다. 라인(1806)은 낸드 스트링이 비-도통 상태에 있으며 상당히 작은 전류가 흐르고 있는 경우를 나타낸다. 각각의 경우는 감지 노드 상의 V_cap 에서 시작된다. 감지 노드 상의 전압은, 경계 지점(demarcation point)에 도달하도록 dV_trip 으로 강하할 필요가 있다. 이들 2개의 전압들 사이의 차이가 바로 상기 공식의 dv 이다. 만일, 전압이 감지 시간 동안 상기 경계 지점에 도달하거나 혹은 이를 지나쳐서 떨어지면, 낸드 스트링 전류는 적어도 "I_sense" 이다.
감지 시간 tsense0 혹은 tsense1 에서, 라인(1800)은 포인트(1802)(트립 포인트 dV_trip 보다 위) 혹은 포인트(1804)(dV_trip 아래) 각각에서 값을 갖는다. 더 짧은 감지 시간(tsense0)은 dV_trip 에 도달하기 위하여 더 많은 전류가 흐를 필요가 있음을 의미하며(예컨대, I_sense = dV/tsense), 반면에 더 긴 감지 시간(tsense1)은 dV_trip 에 도달하기 위하여 더 적은 전류가 흐를 필요가 있음을 의미한다. 따라서, 더 긴 감지 시간은 소거-검증이 더 쉽게 통과될 수 있게 하며, 결과적으로 더 얕은 소거 깊이를 야기한다.
도18b는 도16a의 감지 체계에 대하여 감지된 전류를 도시하며, 여기서 트립 레벨은 조절가능한 파라미터이다. 라인(1800)이 반복된다. 감지 시간 tsense 에서, 라인(1800)은 dV_trip0 보다는 높지만 dV_trip1 보다는 낮은 포인트(1808)에서 값을 갖는다. 따라서, 상대적으로 낮은 dV_trip(dV_trip0)은 낸드 스트링이 비-도통 상태에 있다라는 판별을 야기하는 반면에, 상대적으로 높은 dV_trip(dV_trip1)은 낸드 스트링이 도통 상태에 있다라는 판별을 야기한다. 따라서, 더 높은 dV_trip(dV_trip1)은 소거-검증이 더 쉽게 통과될 수 있게 하며, 결과적으로 더 얕은 소거 깊이를 야기한다.
도19a는 도16b 및 도16c의 감지 체계에 대하여 감지된 전압을 도시하며, 여기서 전압 감지 시간은 조절가능한 파라미터이다. 짝수 혹은 홀수 비트라인들의 감지 동안에, to에서 Vsl 이 상승된 이후에 Vbl 이 감지된다. 라인(1900)은, 낸드 스트링이 도통 상태에 있으며 그리고 상당히 큰 전압(Vbl)이 감지되는 경우를 나타낸다. 라인(1906)은, 낸드 스트링이 비도통 상태에 있으며 그리고 상당히 작은 Vbl이 감지되는 경우를 나타낸다. 감지 시간 tsense0 및 tsense1에서, 라인(1900)은 포인트(1902)(트립 전압 Vtrip 아래) 혹은 포인트(1904)(Vtrip 위)에서 각각 값을 갖는다. 따라서, 상대적으로 짧은 감지 시간(tsense0)은 Vsense < Vtrip 이기 때문에 낸드 스트링이 비-도통 상태에 있다라는 판별을 야기하는 반면에, 상대적으로 짧은 긴 시간(tsense1)은 Vsense > Vtrip 이기 때문에 낸드 스트링이 도통 상태에 있다라는 판별을 야기한다. 따라서, 긴 감지 시간 tsense 은 소거-검증이 더 쉽게 통과될 수 있게 하며, 결과적으로 더 얕은 소거 깊이를 야기한다.
도19b는 도16b 및 도16c의 감지 체계에 대하여 감지된 전압을 도시하며, 여기서 전압 트립 레벨은 조절가능한 파라미터이다. 상기 라인들(1900, 1906)이 반복된다. 감지 시간 tsense에서, 라인(1900)은 Vtrip0 보다는 높지만 Vtrip1 보다는 낮은 포인트(1908)에서 값을 갖는다. 따라서, 상대적으로 높은 Vtrip(즉, Vtrip1)은 낸드 스트링이 비-도통 상태에 있다라는 판별을 야기하는 반면에, 상대적으로 낮은 Vtrip(즉, Vtrip0)은 낸드 스트링이 도통 상태에 있다라는 판별을 야기한다. 따라서, 더 낮은 Vtrip은 소거-검증이 더 쉽게 통과될 수 있게 하며, 결과적으로 더 얕은 소거 깊이를 야기한다.
도19c는 도16b 및 도16c의 감지 체계에 대하여 감지된 전압을 도시하며, 여기서 Vsl의 레벨은 조절가능한 파라미터이다. 상기 라인들(1900, 1906)이 반복된다. 라인(1900)은 Vsl = Vsl0 인 경우를 나타내며, 라인(1910)은 Vsl = Vsl1> Vsl0 인 경우를 나타낸다. 감지 시간 tsense에서, 라인(1900)은 Vtrip 보다 낮은 포인트(1914)에서 값을 가지며, 라인(1910)은 Vtrip 보다 높은 포인트(1912)에서 값을 갖는다. 따라서, 상대적으로 낮은 Vsl(즉, Vsl0)은 낸드 스트링이 비-도통 상태에 있다라는 판별을 야기하는 반면에, 상대적으로 높은 Vsl(즉, Vsl1)은 낸드 스트링이 비-도통 상태에 있다라는 판별을 야기한다. 따라서, 더 높은 Vsl 은 소거-검증이 더 쉽게 통과될 수 있게 하며, 결과적으로 더 얕은 소거 깊이를 야기한다.
도20은 소거 검증 레벨에 기초하여 감지 파라미터들을 조절하는 예시적인 프로세스를 도시한다. 전술한 바와 같이, 소거 검증 레벨을 조절하는 것은, 소거 깊이를 동적으로 조절하는 방법들 중 하나이다. 단계 2006는 소거 검증 레벨에 기초하여 감지를 조절하는 단계를 포함한다. 상대적으로 더 엄격한 감지는, 소거-검증 감지가 성공적으로 통과될 수 있는 상대적으로 더 깊은 감지 깊이를 야기한다(예컨대, 소거된 저장소자들에서 더 낮은 VTH). 단계 2006은 하나 이상의 다른 단계들에 의해서 구현될 수 있다. 예를 들어, 이들 단계들은 다음을 포함할 수 있다. 도18a 내지 도18b에서 dV-trip이라 지칭되는 트립 레벨을 조절하는 단계(전 비트라인 감지에 대해서 감지를 더 엄격하게 만들기 위해 트립 레벨을 낮추는 것)(2000); 전압 트립 레벨을 조절하는 단계(짝수/홀수 비트라인 감지에 대해서 감지를 더 엄격하게 만들기 위해 트립 레벨을 높이는 것)(2002); Vev 를 조절하는 것(감지를 더 엄격하게 만들기 위해 Vev 를 낮추는 것)(2004); Vread 를 조절하는 것(감지를 더 엄격하게 만들기 위해 Vread 를 낮추는 것)(2006); 감지 시간을 조절하는 것(감지를 더 엄격하게 만들기 위해 감지 시간을 짧게하는 것)(2008); Vbl 을 조절하는 것(전 비트라인 감지에 대하여 감지를 더 엄격하게 만들기 위해 Vbl 을 낮추는 것)(2010); Vsl 을 조절하는 것(개별 짝수/홀수 비트라인 감지에 대하여 감지를 더 엄격하게 만들기 위해 Vsl 을 낮추는 것)(2012).
단계 2000에 관하여, 도18b는 서로 다른 전류 레벨들 dV_trip0 및 dV_trip1 의 일례들을 제공한다. 추가적인 트립 레벨들도 또한 이용될 수 있다. 주어진 tsense에 대하여 dV_trip 이 낮다면, 감지의 소거-검증 테스트는 더 엄격하다. 앞서 제공된 일례에서, 더 낮은 dV_trip 은 감지 노드에서의 더 큰 전압 강하를 나타냄을 유의해야 한다.
단계 2002에 관하여, 도19b는 서로 다른 전압 트립 레벨들 Vtrip0 및 Vtrip1 의 일례들을 제공한다. 추가적인 전압 트립 레벨들도 또한 이용될 수 있다. 주어진 tsense에 대하여 Vtrip 이 높다면, 감지의 소거-검증 테스트는 더 엄격하다.
단계 2004에 관하여, 도8a는 Vev, 소거 검증 전압의 일례들을 제공한다. 추가적인 전압 트립 레벨들도 또한 이용될 수 있다. Vev가 더 낮다면, 감지의 소거-검증 테스트는 더 엄격한데, 이는 소거 검증 테스트를 통과하기 위해서는 저장소자들이 좀더 깊숙히 소거될 필요가 있기 때문이다.
단계 2008에 관하여, 도18a 및 도19a는 서로 다른 감지 시간들 tsense0 및 tsense1 의 일례들을 제공한다. 추가적인 감지 시간들이 또한 이용될 수 있다. 주어진 dV_trip(도18a) 및 Vtrip(도19a)에 대해서, tsense 가 더 낮다면, 감지의 소거-검증 테스트는 더 엄격하다.
단계 2010에 관하여, 도18a 내지 도18c에서, 고정된 Vsl에서 전류(I)가 Vbl 에 비례하여 생성된다. 따라서, 고정된 Vsl에서 Vbl 이 더 크면 전류(I)도 더 커질 것이다. 주어진 Itrip 및 tsense에 대하여, Vbl 이 더 낮다면, 감지의 소거-검증 테스트는 더 엄격하다.
단계 2012의 경우, 도19a 내지 도19c에 관련되어 논의된 짝수/홀수 비트라인 감지에 대하여, Vsl에 비례하여 Vsense 가 생성된다. 따라서, Vsl 이 더 크면 Vsense 도 더 커질 것이다. 주어진 Vtrip 및 tsense에 대하여, Vsl 이 더 낮다면, 감지의 소거-검증 테스트는 더 엄격하다.
프로그래밍 팩터들에 기초하는 동적 소거 깊이
소거의 깊이는 프로그래밍 팩터들에 기초하여 결정될 수 있다. 일실시예에서는, 프로그래밍을 완료하기 위하여 얼마나 많은 프로그램 루프들이 걸렸는지에 기초하여 소거 깊이가 결정된다. 일부 디바이스들의 경우, 필요한 개수 혹은 프로그램 루프들은 추가 W/E 싸이클과 더불어 감소한다. 본 기법은 프로그래밍 이후에 소거 분포의 상부 꼬리를 결정할 필요가 없다. 하지만, 적절한 소거 깊이를 판별하기 위한 기법들과 조합될 수도 있다.
도21은 프로그램 루프들에 기초하여 메모리 셀들의 소정 그룹에 대한 소거 깊이를 동적으로 조절하는 프로세스(2100)의 순서도이다. 상기 그룹은 블록이 될 수도 있지만, 이에 한정되는 것은 아니다. 메모리 셀들은 플로팅 게이트들을 가질 수 있다. 메모리 셀들은 가령, SiN 등과 같은 전하 저장 영역을 가질 수 있다. 상기 프로세스는 2D 낸드, 3D 낸드 등에서 수행될 수 있다.
단계 2102에서, 상기 그룹 내의 비휘발성 저장소자들의 세트가 프로그래밍된다. 일실시예에서, 상기 세트는 하나 이상의 워드라인들에 관련된 메모리 셀들이다.
단계 2104에서, 프로그래밍을 완료하기 위하여 얼마나 많은 프로그램 루프들이 걸렸는지에 대한 판별이 수행된다. 일부 디바이스들의 경우, 프로그래밍이 한번에 하나의 워드라인에 수행된다. 프로그래밍되는 각각의 워드라인(혹은 다른 단위)에 대한 최종 루프 카운트가 존재할 수 있다. 일례로서, 서로 다른 프로그래밍 단위들에 대한 카운트들은 평균화될 수도 있다. 다른 통계적인 기법들이 이용되어, 본 단계에서 1개의 루프 카운트 값을 도출할 수 있다. 분명하게도, 프로그램 루프 카운트는 정수일 필요는 없다. 프로그래밍 프로세스 동안 프로그램 전압이 증분될 수 있다. 프로그램 루프들을 모니터링하는 것의 대안예는 어떤 최종 프로그램 전압이 사용되는지를 판별하는 것이다.
단계 2106에서, 프로그래밍을 완료하기 위하여 얼마나 많은 프로그램 루프들이 걸렸는지에 기초하여 비휘발성 저장소자들의 그룹을 소거하기 위한 소거 깊이가 확립된다. 일실시예에서, 더 적은 프로그램 루프들이 있는 것이 소거 깊이는 더 얕게 된다. 이와 반대로, 더 많은 프로그램 루프들은 더 깊은 소거를 나타낸다.
소거 깊이는 또한, 최종 프로그램 전압에 기초하여 확립될 수도 있다. 도6에 도시된 바와 같이, 프로그램 펄스(Vpgm)의 크기는 각각의 프로그램 루프(혹은 적어도 소정의 프로그램 루프들에서)에서 증분될 수 있다.
소거 깊이는 전술한 바와 같이, 소거 검증 레벨을 선택함에 의해서 획득될 수도 있다. 소거 깊이는 전술한 바와 같이, 소거 검증 패스들 이후의 소거 펄스들의 개수를 선택함에 의해서 획득될 수도 있다.
단계 2108에서, 메모리 셀들의 그룹이 소거 깊이로 소거된다. 단계 2102에서의 프로그래밍과 단계 2108에서의 소거 사이에는 매우 큰 시간 간격이 존재할 수도 있음을 유의해야 한다. 따라서, 단계 2104에서 학습된 정보 및/또는 단계 2106에서 결정된 소거 깊이는 저장될 수도 있다. 도15a 및 도15b의 프로세스들과 유사하게 이러한 정보는 프로그래밍 중인 워드라인 혹은 제어기에 저장될 수 있다.
예시적인 3D 메모리 디바이스
도22는 3D 비휘발성 메모리 디바이스의 블록에 대한 단면도이다. 본 명세서에 개시된 동적 소거 깊이 기법들이 이러한 디바이스에서 이용될 수 있다. 도22는 12개의 낸드 스트링들(NSA0 - NSA11)을 갖는다. 스택(2277)은 교번하는 절연체(예컨대, 유전체)와 전도층들(전도층은 하나 이상의 전도체들로 형성된 층이 될 수 있다)을 포함한다. 일실시예에서, 절연체 층들은 산화물이다. 하지만, 다른 절연체가 이용될 수도 있다. 절연체 층들은 D0 ~D8을 포함하며 그리고 예를 들어 SiO2 로 형성될 수 있다. 전도층들은 BG(백 게이트 층: back gate layer), 워드라인 층들을 구성하는 WL0 ~ WL6(즉, 그 층의 메모리 셀들의 제어 게이트들로의 전도성 경로들), 선택 게이트 층을 구성하는 SG(즉, 낸드 스트링들의 선택 게이트들의 제어 게이트들로의 전도성 경로)를 포함한다. 이들 다양한 층들은 본 명세서에서 L0 - L16 층들이라 지칭될 수도 있다. 본 일례에서 절연체 층들 D0 - D8은 L0 - L16 의 짝수 층들에 대응한다. 전도체 층들은 L1 - L15 의 홀수 층들에 대응한다.
메모리 셀들의 컬럼들(C0 - C23)은 다중층 스택으로 도시된다. 스택(2277)은 기판(2190), 상기 기판 상의 절연 필름(2109), 상기 절연 필름 상의 백 게이트 층(BG)(전도층임)을 포함한다. U-형상의 낸드 스트링의 메모리 셀들의 컬럼들의 쌍들 아래의 백 게이트의 부분들 내에 트렌치가 제공된다. 메모리 셀들을 형성하기 위해 상기 컬럼들 내에 제공되는 물질층들은 상기 트렌치들 내에도 제공되며, 그리고 트렌치들의 남아있는 공간은 반도체 물질로 충전되어 연결부(2263)를 제공하는바, 연결부는 상기 컬럼들을 연결한다. 따라서, 각각의 연결부(2263)는 각각의 U-형상의 낸드 스트링의 2개의 컬럼들을 연결한다. 연결부(2263)는 파이프 연결 및 백 게이트를 포함할 수 있다. 파이프 연결은 비도핑 폴리실리콘 또는 다른 물질들로 형성될 수 있다. 백 게이트는 파이프 연결의 전도성을 제어하기 위해 파이프 연결을 둘러쌀 수 있다. 백 게이트는 또한, 파이프 연결의 연결성(connectivity)을 보장한다. 예를 들어, NSA0 는 컬럼들(C0 및 C1)과 연결부(2263)를 포함한다. NSA0는 드레인 단부(2278)와 소스 단부(2302)를 갖는다. NSA1은 컬럼들(C2 및 C3)과 연결부(2263)를 포함한다. NSA1은 드레인 단부(2306)와 소스 단부(2304)를 갖는다. NSA2는 컬럼들(C4 및 C5)과 연결부(2263)를 포함한다. NSA3은 컬럼들(C6 및 C7)과 연결부(2263)를 포함한다. NSA4는 컬럼들(C8 및 C9)과 연결부(2263)를 포함한다. NSA5는 컬럼들(C10 및 C11)과 연결부(2263)를 포함한다. NSA6은 컬럼들(C12 및 C13)과 연결부(2263)를 포함한다. NSA7은 컬럼들(C14 및 C15)과 연결부(2263)를 포함한다. NSA8는 컬럼들(C16 및 C17)과 연결부(2263)를 포함한다. NSA9는 컬럼들(C18 및 C19)과 연결부(2263)를 포함한다. NSA10은 컬럼들(C20 및 C21)과 연결부(2263)를 포함한다. NSA11은 컬럼들(C22 및 C23)과 연결부(2263)를 포함한다.
소스 라인 SLA0 는 인접한 2개의 낸드 스트링들(NSA0 및 NSA1) 각각의 소스 단부들(2302, 2304)에 연결된다. 소스 라인 SLA0 는 또한, x-방향에서 NSA0 및 NSA1 뒤에 있는 메모리 스트링들의 다른 세트들에 연결된다. 상기 스택 내의 추가적인 U-형상 낸드 스트링들은, 단면도에 도시된 U-형상 낸드 스트링들의 뒤편으로(예컨대, x-축을 따라) 연장된다. U-형상 낸드 스트링들 NSA0 내지 NSA11 은 각각 서로 다른 서브-블록이지만, 낸드 스트링들의 공통 세트(SetA0) 이다.
슬릿부(slit portion)(2208)가 또한 일례로서 도시된다. 상기 단면도에서, 다수의 슬릿부들이 도시된다. 몇몇 슬릿부들은 U-형상의 낸드 스트링의 드레인 및 소스측 컬럼들 사이에 존재한다. 이들 슬릿들은 낸드 스트링의 소스 및 드레인측 상의 워드라인들을 분리하는 역할을 수행한다. 다른 슬릿부들은 인접한 2개의 낸드 스트링들의 소스-측들 사이에 존재한다. 다른 슬릿부들은 인접한 2개의 낸드 스트링들의 드레인-측들 사이에 존재한다. 인접한 2개의 낸드 스트링들의 드레인-측들 사이의 슬릿들은 요구되지 않는다. 소스 라인들(SLA0 - SL5)의 부분들이 또한 도시된다. 비트라인 BLA0 의 부분이 또한 도시된다. 짧은 점선들은 메모리 셀들 및 선택 게이트들을 도시한다. 메모리 셀들은 전하 포획 층을 포함할 수 있다.
본 명세서에 개시된 일실시예는, 비휘발성 저장소자들을 동작시키는 방법을 포함하며, 상기 방법은 다음을 포함한다. 비휘발성 저장소자들의 그룹이 소거된다. 상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트가 프로그래밍된다. 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리(upper tail)가 판별된다. 상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이가 확립된다. 상기 확립된 소거 깊이에 기초하여 비휘발성 저장소자들의 상기 그룹이 소거된다.
본 명세서에 개시된 일실시예는 비휘발성 저장 디바이스를 포함하며, 상기 비휘발성 저장 디바이스는 비휘발성 저장소자들 그룹 및 비휘발성 저장소자들의 상기 그룹과 통신하는 하나 이상의 관리회로들을 포함한다. 상기 하나 이상의 관리회로들은 비휘발성 저장소자들의 상기 그룹을 소거한다. 상기 하나 이상의 관리회로들은 상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍한다. 상기 하나 이상의 관리회로들은 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별한다. 상기 하나 이상의 관리회로들은 상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립한다. 상기 하나 이상의 관리회로들은 상기 확립된 소거 깊이를 이용하여 상기 그룹을 소거한다.
본 명세서에 개시된 일실시예는 비휘발성 저장 디바이스를 포함하며, 상기 비휘발성 저장 디바이스는, 낸드 스트링들로 배열된 비휘발성 저장소자들의 그룹, 상기 비휘발성 저장소자들의 그룹에 관련된 복수의 워드라인들, 및 상기 비휘발성 저장소자들의 그룹과 통신하는 하나 이상의 관리회로들을 포함한다. 상기 하나 이상의 관리회로들은, 비휘발성 저장소자들의 상기 그룹을 소거한다. 상기 하나 이상의 관리회로들은 상기 그룹을 소거한 이후에 복수의 워드라인들 중 제 1 워드라인에 관련된 상기 그룹 내의 비휘발성 저장소자들을 프로그래밍한다. 상기 하나 이상의 관리회로들은 프로그래밍 이후에 제 1 워드라인에 관련된 비휘발성 저장소자들의 소거 상태 to A-상태 실패들(erase state to A-state fails)을 판별한다. 상기 하나 이상의 관리회로들은 소거 상태 to A-상태 실패들에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 검증 레벨을 확립한다. 상기 하나 이상의 관리회로들은 확립된 소거 검증 레벨에 기초하여 상기 그룹을 소거한다.
본 명세서에 개시된 일실시예는 비휘발성 저장소자들의 그룹을 포함하는 비휘발성 저장 디바이스를 동작시키는 방법을 포함하며, 상기 방법은, 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍하는 단계; 상기 프로그래밍을 완료하기 위하여 얼마나 많은 프로그램 루프들이 소요되는지를 판별하는 단계; 및 상기 프로그래밍을 완료하기 위하여 얼마나 많은 프로그램 루프들이 소요되는지 혹은 상기 프로그래밍을 완료하기 위한 최종 프로그래밍 전압의 크기에 기초하여, 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하는 단계를 포함한다.
본 명세서에 개시된 일실시예는 3D 비휘발성 저장 디바이스를 포함하며, 3D 비휘발성 저장 디바이스는, 복수의 워드라인 층들, 스택 내에서 상기 워드라인 층들과 교번하는 복수의 절연층들 및 복수의 비휘발성 저장소자들의 스트링들을 포함한다. 각각의 비휘발성 저장소자 스트링은 복수의 비휘발성 저장소자들을 포함한다. 각각의 비휘발성 저장소자는 복수의 워드라인들 중 한 워드라인에 관련된다. 상기 디바이스는 또한, 비휘발성 저장소자들의 그룹과 통신하는 하나 이상의 관리회로들을 갖는다. 상기 하나 이상의 관리회로들은 비휘발성 저장소자들의 상기 그룹을 소거하고, 상기 하나 이상의 관리회로들은 상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍하고, 상기 하나 이상의 관리회로들은 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별하고, 상기 하나 이상의 관리회로들은 상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하고, 상기 하나 이상의 관리회로들은 상기 확립된 소거 깊이를 이용하여 상기 그룹을 소거한다.
소거 깊이를 동적으로 조절하기 위한 기법들은 다양한 유형의 메모리 셀들에 적용될 수 있는바, 가령, 플로팅 게이트들을 갖는 메모리 셀들 뿐만 아니라, 전하 저장 영역들(예컨대, ONO)을 갖는 메모리 셀들에 적용될 수 있다. 또한, 소거 깊이를 동적으로 조절하기 위한 기법들은 2D 구조 뿐만 아니라 3D 낸드 등과 같은 3D 구조에도 적용될 수 있다. 3D 낸드는 수직 낸드 스트링들을 가질 수 있다. 전술한 바와 같은 일례들은 개시된 것 만으로 본 발명을 제한하고자 의되된 것이 아니다.
해당 방법들, 시스템들 및 본 명세서에 제공된 방법들을 수행하기 위한 실행가능한 코드를 갖는 컴퓨터- 혹은 프로세서-판독가능한 저장 디바이스가 또한 제공된다.
앞서 설명된 본 발명의 상세한 설명은 예시 및 설명을 위한 목적으로 제공된 것이다. 이는, 실시예에 대한 모든 것을 속속들이 규명한다던가 또는 개시된 실시예들만으로 본 발명을 제한하고자 의도된 것이 아님을 유의해야 한다. 전술한 가르침에 비추어 볼때, 다양한 변형예와 수정예들이 가능할 것이다. 본 발명의 기술적 사상과 그의 실제적인 응용을 최적으로 설명하기 위해, 본 발명의 실시예들이 선택되었다. 따라서, 해당 기술분야의 당업자들은 다양한 실시예들을 통해서 본 발명을 가장 잘 활용할 수 있을 것이며, 고려중인 특정한 용도에 적합한 다양한 변형예들을 가장 잘 활용할 수 있을 것이다. 본 발명의 범위는 첨부된 청구항들에 의해서 정의되어야 한다.

Claims (15)

  1. 비휘발성 저장소자의 동작 방법으로서,
    비휘발성 저장소자들의 그룹을 소거하는 단계;
    상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍하는 단계;
    상기 프로그래밍 단계 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리(upper tail)를 판별하는 단계;
    상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하는 단계; 및
    상기 확립된 소거 깊이에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하는 단계
    를 포함하는 비휘발성 저장소자의 동작 방법.
  2. 제1항에 있어서,
    상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하는 단계는,
    상부 꼬리 임계전압(Vth)이 더 높을 때에 더 얕게 소거 깊이를 확립하고 상기 상부 꼬리 임계전압(Vth)이 더 낮을 때에 더 깊게 소거 깊이를 확립하는 단계를 포함하는 비휘발성 저장소자의 동작 방법.
  3. 제1항에 있어서,
    상기 프로그래밍 단계 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별하는 단계는,
    상기 프로그래밍 단계 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 상태 to A-상태 실패들(erase state to A-state fails)을 판별하는 단계를 포함하는 비휘발성 저장소자의 동작 방법.
  4. 제3항에 있어서,
    상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하는 단계는,
    상기 소거 상태 to A-상태 실패들의 분량(amount)이 더 많을 때에 더 얕게 소거 깊이를 확립하고 상기 소거 상태 to A-상태 실패들의 분량이 더 적을 때에 더 깊게 소거 깊이를 확립하는 단계를 포함하는 비휘발성 저장소자의 동작 방법.
  5. 제1항에 있어서,
    상기 프로그래밍 단계 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별하는 단계는,
    상기 프로그래밍 단계 이후에 소거 상태에 있을 것으로 의도되었던 상기 세트 내의 비휘발성 저장소자들의 게이트들에게 하나 이상의 기준 전압들을 인가하는 단계 - 상기 하나 이상의 기준 전압들은 A-상태 판독 기준 레벨 부근에 있음 -;
    상기 프로그래밍 단계 이후에 소거 상태에 있을 것으로 의도되었던 상기 세트 내의 비휘발성 저장소자들이 상기 기준 전압들 각각에 응답하여 전류를 도통시키는지의 여부를 감지하는 단계; 및
    전류를 도통시키는 상기 소거 상태에 있을 것으로 의도되었던 상기 세트 내의 비휘발성 저장소자들의 개수가 임계값보다 작은 가장 높은 기준 전압을 선택하는 단계
    를 포함하는 비휘발성 저장소자의 동작 방법.
  6. 제1항에 있어서,
    상기 확립된 소거 깊이에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하는 단계는,
    상기 소거 깊이에 기초하는 소거 검증 레벨을 이용하여 비휘발성 저장소자들의 상기 그룹을 소거하는 단계를 포함하는 비휘발성 저장소자의 동작 방법.
  7. 제1항에 있어서,
    상기 확립된 소거 깊이에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하는 단계는,
    상기 소거 깊이에 의존하는, 소거 검증 패스들(erase verify passes) 이후의 복수의 소거 펄스들을 이용하여 비휘발성 저장소자들의 상기 그룹을 소거하는 단계를 포함하는 비휘발성 저장소자의 동작 방법.
  8. 제1항에 있어서,
    상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍하는 단계는,
    블록 내의 제 1 워드라인에 관련된 비휘발성 저장소자들을 프로그래밍하는 단계를 포함하고, 또한,
    상기 제 1 워드라인을 프로그래밍한 이후에 상기 블록 내의 제 2 워드라인을 프로그래밍하는 단계;
    상기 제 1 워드라인에 대한 소거 분포의 상부 꼬리를 판별하는 것에 기초하는 정보를 저장하는 단계 - 상기 정보는 상기 제 2 워드라인을 프로그래밍할 때에 상기 제 2 워드라인에 관련된 하나 이상의 비휘발성 저장소자들에 저장됨 -;
    비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하기 위하여, 상기 제 2 워드라인에 관련된 상기 하나 이상의 비휘발성 저장소자들로부터의 상기 저장된 정보를 액세스하는 단계
    를 더 포함하는 비휘발성 저장소자의 동작 방법.
  9. 제1항에 있어서,
    상기 프로그래밍 단계 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별하는 단계는,
    제 1 기준 레벨에서 상기 세트 내의 비휘발성 저장소자들에 대한 제 1 판독 동작을 수행하는 단계;
    제 2 기준 레벨에서 상기 세트 내의 비휘발성 저장소자들에 대한 제 2 판독 동작을 수행하는 단계; 및
    상기 제 1 판독 동작 및 제 2 판독 동작에 기초하여, 얼마나 많은 비휘발성 저장소자들이 상기 제 1 기준 레벨과 상기 제 2 기준 레벨 사이의 임계 전압을 갖는지를 판별하는 단계
    를 포함하는 비휘발성 저장소자의 동작 방법.
  10. 비휘발성 저장 디바이스로서,
    비휘발성 저장소자들의 그룹;
    비휘발성 저장소자들의 상기 그룹과 통신하는 하나 이상의 관리회로들
    을 포함하고,
    상기 하나 이상의 관리회로들은 비휘발성 저장소자들의 상기 그룹을 소거하고, 상기 하나 이상의 관리회로들은 상기 그룹을 소거한 이후에 상기 그룹 내의 비휘발성 저장소자들의 세트를 프로그래밍하고, 상기 하나 이상의 관리회로들은 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별하고, 상기 하나 이상의 관리회로들은 상기 상부 꼬리에 기초하여 비휘발성 저장소자들의 상기 그룹을 소거하기 위한 소거 깊이를 확립하고, 상기 하나 이상의 관리회로들은 상기 확립된 소거 깊이를 이용하여 상기 그룹을 소거하는 비휘발성 저장 디바이스.
  11. 제10항에 있어서,
    상기 하나 이상의 관리회로들은, 상부 꼬리 임계전압(Vth)이 더 높을 때에 더 얕게 소거 깊이를 확립하고 상기 상부 꼬리 임계전압(Vth)이 더 낮을 때에 더 깊게 소거 깊이를 확립하는 비휘발성 저장 디바이스.
  12. 제10항에 있어서,
    상기 하나 이상의 관리회로들이 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별하는 때에, 상기 하나 이상의 관리회로들은 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 상태 to A-상태 실패들을 판별하고,
    상기 하나 이상의 관리회로들은 상기 소거 상태 to A-상태 실패들의 분량(amount)이 더 많을 때에 더 얕은 소거 깊이를 확립하고 상기 소거 상태 to A-상태 실패들의 분량이 더 적을 때에 더 깊은 소거 깊이를 확립하는 비휘발성 저장 디바이스.
  13. 제10항에 있어서,
    상기 하나 이상의 관리회로들이 상기 프로그래밍 이후에 상기 세트 내의 비휘발성 저장소자들의 소거 분포의 상부 꼬리를 판별하는 때에, 상기 하나 이상의 관리회로들은 상기 프로그래밍 이후에 소거 상태에 있을 것으로 의도되었던 상기 세트 내의 비휘발성 저장소자들에 대한 하나 이상의 판독들을 A-상태 판독 기준 레벨 부근의 대응 기준 레벨들에서 수행하고,
    상기 하나 이상의 관리회로들은 소거 상태 to A-상태 실패들의 개수가 임계값보다 작은 가장 높은 기준 레벨을 판별하는 비휘발성 저장 디바이스.
  14. 제10항에 있어서,
    상기 하나 이상의 관리회로들은 미래의 소거 동작에 대해 비휘발성 저장소자들의 상기 그룹에 관련된 블록 내에 상기 확립된 소거 검증 레벨을 저장하는 비휘발성 저장 디바이스.
  15. 제10항에 있어서,
    비휘발성 저장소자들의 상기 그룹은 3D 메모리 어레이의 일부분인 비휘발성 저장 디바이스.
KR1020157025066A 2013-03-04 2014-03-03 비휘발성 메모리의 개선된 내구성을 위한 동적 소거 깊이 KR101903842B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361772250P 2013-03-04 2013-03-04
US61/772,250 2013-03-04
US14/195,265 US9214240B2 (en) 2013-03-04 2014-03-03 Dynamic erase depth for improved endurance of non-volatile memory
US14/195,265 2014-03-03
PCT/US2014/019995 WO2014137928A2 (en) 2013-03-04 2014-03-03 Dynamic erase depth for improved endurance of non-volatile memory

Publications (2)

Publication Number Publication Date
KR20150125672A KR20150125672A (ko) 2015-11-09
KR101903842B1 true KR101903842B1 (ko) 2018-10-02

Family

ID=51420888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157025066A KR101903842B1 (ko) 2013-03-04 2014-03-03 비휘발성 메모리의 개선된 내구성을 위한 동적 소거 깊이

Country Status (5)

Country Link
US (2) US9214240B2 (ko)
EP (1) EP2965319B1 (ko)
KR (1) KR101903842B1 (ko)
CN (1) CN105144300B (ko)
WO (1) WO2014137928A2 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8787088B2 (en) * 2012-06-29 2014-07-22 Sandisk Technologies Inc. Optimized erase operation for non-volatile memory with partially programmed block
US20140198576A1 (en) * 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
US9214240B2 (en) * 2013-03-04 2015-12-15 Sandisk Technologies Inc. Dynamic erase depth for improved endurance of non-volatile memory
JP6179206B2 (ja) * 2013-06-11 2017-08-16 株式会社リコー メモリ制御装置
US9082493B2 (en) * 2013-10-31 2015-07-14 Freescale Semiconductor, Inc. Adaptive erase methods for non-volatile memory
US9361990B1 (en) * 2014-12-18 2016-06-07 SanDisk Technologies, Inc. Time domain ramp rate control for erase inhibit in flash memory
US9343171B1 (en) 2015-02-09 2016-05-17 Sandisk Technologies Inc. Reduced erase-verify voltage for first-programmed word line in a memory device
US9318209B1 (en) 2015-03-24 2016-04-19 Sandisk Technologies Inc. Digitally controlled source side select gate offset in 3D NAND memory erase
US9466384B1 (en) * 2015-04-13 2016-10-11 Macronix International Co., Ltd. Memory device and associated erase method
KR102291309B1 (ko) 2015-05-20 2021-08-20 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
KR102314135B1 (ko) * 2015-06-22 2021-10-18 삼성전자 주식회사 적응적인 루프를 수행하는 플래시 메모리 장치, 메모리 시스템 및 그 동작방법
KR102347182B1 (ko) * 2015-09-04 2022-01-04 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US9449698B1 (en) 2015-10-20 2016-09-20 Sandisk Technologies Llc Block and zone erase algorithm for memory
US9564226B1 (en) * 2015-10-30 2017-02-07 Sandisk Technologies Llc Smart verify for programming non-volatile memory
KR102606497B1 (ko) 2016-06-27 2023-11-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 소거 방법
US10381094B2 (en) 2016-10-11 2019-08-13 Macronix International Co., Ltd. 3D memory with staged-level multibit programming
US10269439B2 (en) 2017-03-28 2019-04-23 Western Digital Technologies, Inc. Post write erase conditioning
KR102242565B1 (ko) 2017-06-08 2021-04-20 삼성전자주식회사 소거 상태 정보를 기초로 메모리 장치를 제어하는 메모리 컨트롤러 및 이의 동작 방법
KR20190018323A (ko) * 2017-08-14 2019-02-22 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10249382B2 (en) * 2017-08-22 2019-04-02 Sandisk Technologies Llc Determination of fast to program word lines in non-volatile memory
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
US10381095B1 (en) 2018-02-28 2019-08-13 Sandisk Technologies Llc Non-volatile memory with smart erase verify
US10643692B2 (en) 2018-03-02 2020-05-05 Sandisk Technologies Llc Adaptive programming voltage for non-volatile memory devices
US10438673B1 (en) * 2018-04-27 2019-10-08 Shine Bright Technology Limited Erasing method and storage medium
US11081186B2 (en) 2018-06-08 2021-08-03 Samsung Electronics Co., Ltd. Non-volatile memory device and erasing method of the same
KR102606826B1 (ko) 2018-06-08 2023-11-27 삼성전자주식회사 비휘발성 메모리 장치 및 그 소거 방법
KR102573308B1 (ko) 2018-06-18 2023-08-31 삼성전자 주식회사 소거 제어 회로를 포함하는 비휘발성 메모리 장치
CN110634524A (zh) * 2018-06-25 2019-12-31 北京兆易创新科技股份有限公司 一种非易失存储器擦除方法及装置
US10679708B2 (en) 2018-09-17 2020-06-09 Western Digital Technologies, Inc. Pre-program read to counter wordline failures
US10614898B1 (en) 2018-09-19 2020-04-07 Sandisk Technologies Llc Adaptive control of memory cell programming voltage
KR102654308B1 (ko) 2018-11-26 2024-04-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US10978160B2 (en) 2018-12-31 2021-04-13 Sandisk Technologies Llc Mitigating grown bad blocks
US10665303B1 (en) * 2019-05-10 2020-05-26 Macronix International Co., Ltd. Erasing blocks with few programmed pages
US10910076B2 (en) * 2019-05-16 2021-02-02 Sandisk Technologies Llc Memory cell mis-shape mitigation
US11164634B2 (en) 2019-06-24 2021-11-02 Western Digital Technologies, Inc. Non-volatile storage system with fast SLC operation
US11768701B2 (en) * 2019-09-17 2023-09-26 Western Digital Technologies, Inc. Exception analysis for data storage devices
JP2021128810A (ja) * 2020-02-13 2021-09-02 キオクシア株式会社 半導体記憶媒体及びメモリシステム
CN113450856A (zh) * 2020-03-24 2021-09-28 西部数据技术公司 存储器设备及其操作方法
CN113821156A (zh) * 2020-06-18 2021-12-21 桑迪士克科技有限责任公司 前瞻识别潜在不可校正的误差校正存储器单元和现场对策
US11568943B2 (en) 2020-11-24 2023-01-31 Sandisk Technologies Llc Memory apparatus and method of operation using zero pulse smart verify
US11342035B1 (en) 2020-11-24 2022-05-24 Sandisk Technologies Llc Memory apparatus and method of operation using one pulse smart verify
US11636905B2 (en) 2020-12-07 2023-04-25 Sandisk Technologies Llc Temperature compensation for unselected sub-block inhibit bias for mitigating erase disturb
US11342030B1 (en) 2021-01-11 2022-05-24 Elite Semiconductor Microelectronics Technology Inc. Erase voltage compensation mechanism for group erase mode with bit line leakage detection method
US11355198B1 (en) 2021-01-19 2022-06-07 Sandisk Technologies Llc Smart erase scheme
CN112786097B (zh) * 2021-01-29 2024-04-09 山东华芯半导体有限公司 一种基于擦除时间判断NAND Flash对浅擦除处理的方法
CN112908389B (zh) * 2021-03-08 2021-12-17 长江存储科技有限责任公司 三维非易失性存储器的数据擦除验证
US11557358B2 (en) 2021-04-15 2023-01-17 Sandisk Technologies Llc Memory apparatus and method of operation using adaptive erase time compensation for segmented erase
US11587629B2 (en) * 2021-06-08 2023-02-21 Western Digital Technologies, Inc. Detecting latent defects in a memory device during an erase operation based on physical and logical segment fail bits
US11574693B2 (en) * 2021-06-15 2023-02-07 Sandisk Technologies Llc Memory apparatus and method of operation using periodic normal erase dummy cycle to improve stripe erase endurance and data retention
CN113488097B (zh) * 2021-06-30 2024-03-29 恒烁半导体(合肥)股份有限公司 一种用于存储器芯片的参考电流高效调整方法、装置及应用
US11705206B2 (en) 2021-08-17 2023-07-18 Sandisk Technologies Llc Modifying program and erase parameters for single-bit memory cells to improve single-bit/multi-bit hybrid ratio
US11830564B2 (en) * 2021-08-30 2023-11-28 Sandisk Technologies Llc Detecting bit line open circuits and short circuits in memory device with memory die bonded to control die
US11972819B2 (en) 2022-07-25 2024-04-30 Sandisk Technologies Llc Non-volatile memory with one sided phased ramp down after program-verify
US11972805B2 (en) 2022-08-05 2024-04-30 Sandisk Technologies Llc Non-volatile memory with narrow and shallow erase

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070104004A1 (en) 1997-09-08 2007-05-10 So Hock C Multi-Bit-Per-Cell Flash EEprom Memory with Refresh
US20070247918A1 (en) 2004-08-30 2007-10-25 Renesas Technology Corp. Semiconductor Integrated Circuit
US20080144396A1 (en) 2006-12-19 2008-06-19 Kuo-Tung Chang Erasing flash memory using adaptive drain and/or gate bias
US20090268516A1 (en) 2008-04-29 2009-10-29 Mark Murin Method for adaptive setting of state voltage levels in non-volatile memory
US20110013460A1 (en) 2009-07-16 2011-01-20 Yingda Dong Dynamically adjustable erase and program levels for non-volatile memory

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928001B2 (en) 2000-12-07 2005-08-09 Saifun Semiconductors Ltd. Programming and erasing methods for a non-volatile memory cell
JP4282248B2 (ja) * 2001-03-30 2009-06-17 株式会社東芝 半導体記憶装置
US6643181B2 (en) 2001-10-24 2003-11-04 Saifun Semiconductors Ltd. Method for erasing a memory cell
US7196931B2 (en) 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7327619B2 (en) 2002-09-24 2008-02-05 Sandisk Corporation Reference sense amplifier for non-volatile memory
US7046568B2 (en) 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
JP4424952B2 (ja) 2003-09-16 2010-03-03 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US7957189B2 (en) 2004-07-26 2011-06-07 Sandisk Il Ltd. Drift compensation in a flash memory
EP1684307A1 (en) 2005-01-19 2006-07-26 Saifun Semiconductors Ltd. Method, circuit and systems for erasing one or more non-volatile memory cells
US7486564B2 (en) 2005-03-31 2009-02-03 Sandisk Corporation Soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells
US7196928B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
KR100715151B1 (ko) * 2006-05-23 2007-05-10 삼성전자주식회사 메모리 섹터별로 소거 패스 전압을 가지는 불휘발성 반도체메모리 장치 및 이에 대한 소거 방법
KR100851853B1 (ko) 2006-11-22 2008-08-13 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
US7746704B1 (en) * 2007-09-21 2010-06-29 Marvell International Ltd. Program-and-erase method for multilevel nonvolatile memory
JP4881401B2 (ja) * 2009-03-23 2012-02-22 株式会社東芝 Nand型フラッシュメモリ
US7907449B2 (en) * 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
US8130551B2 (en) 2010-03-31 2012-03-06 Sandisk Technologies Inc. Extra dummy erase pulses after shallow erase-verify to avoid sensing deep erased threshold voltage
US8787088B2 (en) 2012-06-29 2014-07-22 Sandisk Technologies Inc. Optimized erase operation for non-volatile memory with partially programmed block
US9214240B2 (en) * 2013-03-04 2015-12-15 Sandisk Technologies Inc. Dynamic erase depth for improved endurance of non-volatile memory
US8891308B1 (en) * 2013-09-11 2014-11-18 Sandisk Technologies Inc. Dynamic erase voltage step size selection for 3D non-volatile memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070104004A1 (en) 1997-09-08 2007-05-10 So Hock C Multi-Bit-Per-Cell Flash EEprom Memory with Refresh
US20070247918A1 (en) 2004-08-30 2007-10-25 Renesas Technology Corp. Semiconductor Integrated Circuit
US20080144396A1 (en) 2006-12-19 2008-06-19 Kuo-Tung Chang Erasing flash memory using adaptive drain and/or gate bias
US20090268516A1 (en) 2008-04-29 2009-10-29 Mark Murin Method for adaptive setting of state voltage levels in non-volatile memory
US20110013460A1 (en) 2009-07-16 2011-01-20 Yingda Dong Dynamically adjustable erase and program levels for non-volatile memory

Also Published As

Publication number Publication date
WO2014137928A2 (en) 2014-09-12
EP2965319B1 (en) 2017-04-19
KR20150125672A (ko) 2015-11-09
WO2014137928A3 (en) 2014-12-04
US20140247666A1 (en) 2014-09-04
US8958249B2 (en) 2015-02-17
US9214240B2 (en) 2015-12-15
CN105144300A (zh) 2015-12-09
US20140247667A1 (en) 2014-09-04
EP2965319A2 (en) 2016-01-13
CN105144300B (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
KR101903842B1 (ko) 비휘발성 메모리의 개선된 내구성을 위한 동적 소거 깊이
EP2867899B1 (en) Optimized erase operation for non-volatile memory with partially programmed block
US9330779B2 (en) Detecting programmed word lines based on NAND string current
KR102095137B1 (ko) 비-휘발성 메모리에 대한 서브-블록 모드
CN106688042B (zh) 用于数据刷新的部分块擦除
KR101655352B1 (ko) 고유 임계 전압 분포 탐지에 의한 메모리의 프로그램 디스터브 예측
KR101569862B1 (ko) 비휘발성 저장 소자를 위한 소거-검증 프로세스
TWI389124B (zh) 於非揮發性記憶體中使用不同參考位準以改良感測之粗略/精細程式化確認方法及系統
WO2016081064A1 (en) Nand boosting using dynamic ramping of word line voltages
WO2016130193A1 (en) Reduced current program verify in non-volatile memory
WO2011123279A1 (en) Extra dummy erase pulses after shallow erase -verify to avoid sensing deep erased threshold voltage
WO2016089467A1 (en) Operation modes for an inverted nand architecture
WO2016130192A1 (en) Reduced current erase verify in non-volatile memory
WO2020263317A1 (en) Threshold voltage setting with boosting read scheme
KR101080394B1 (ko) 비휘발성 저장장치에 대한 저항 감지 및 보상
KR102597307B1 (ko) 소거 교란을 완화시키기 위한 선택되지 않은 서브-블록 억제 바이어스에 대한 온도 보상

Legal Events

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