KR101787177B1 - 복수 패스들로 분해된 계단 파형을 사용하는 프로그램 알고리즘 - Google Patents

복수 패스들로 분해된 계단 파형을 사용하는 프로그램 알고리즘 Download PDF

Info

Publication number
KR101787177B1
KR101787177B1 KR1020147001625A KR20147001625A KR101787177B1 KR 101787177 B1 KR101787177 B1 KR 101787177B1 KR 1020147001625 A KR1020147001625 A KR 1020147001625A KR 20147001625 A KR20147001625 A KR 20147001625A KR 101787177 B1 KR101787177 B1 KR 101787177B1
Authority
KR
South Korea
Prior art keywords
subset
memory cells
word line
verification
memory
Prior art date
Application number
KR1020147001625A
Other languages
English (en)
Other versions
KR20140061351A (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 KR20140061351A publication Critical patent/KR20140061351A/ko
Application granted granted Critical
Publication of KR101787177B1 publication Critical patent/KR101787177B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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

Landscapes

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

Abstract

일반적인 계단형의 파형이 복수 패스들로 분해되는 비휘발성 메모리 장치들에 적합한 프로그래밍 알고리즘들이 제시된다. 동일한 펄스들이 사용되지만, 이들의 순서는 상이하며, 매 N번째 펄스의 N 서브세트들로 나누어져 N 프로그래밍 패스들이 있다. 예를 들면, 4 패스 버전에서, 제 1 패스는 계단의 펄스들(1, 5, 9,)을 순차적으로 가질 것이며; 제 2 패스는 제 3 및 제 4 패스들에 대해 펄스들(2, 6, 10,); 등등을 가질 것이다. 프로그램 전압(VPGM)을 높이기 위해 큰 스텝 크기, 예비-검증 및 옮겨진 검증 마진들을 사용함으로써, 협 분포가 복수 패스들로 얻어질 수 있다. 또한, 보완적인 한 세트의 특징들에서, 공유된 검증 레벨들의 사용에 의해 신속 패스 기입(QPW) 검증을 행하는 결점없이 QPW가 사용될 수 있다.

Description

복수 패스들로 분해된 계단 파형을 사용하는 프로그램 알고리즘{PROGROM ALGORITHM WITH STAIRCASE WAVEFORM DECOMPOSED INTO MULTIPLE PASSES}
본 발명은 일반적으로 전기적으로 소거가능하고 프로그램가능한 판독-전용 메모리(EEPROM) 및 플래시 EEPROM과 같은 비휘발성 반도체 메모리에 관한 것으로, 특히 증가된 정확도로 데이터를 기입하는 프로그래밍 알고리즘들에 관한 것이다.
전하를 비휘발성으로 저장할 수 있는, 특히 소형 폼 팩터 카드로서 패키지되는 EEPROM 및 플래시 EEPROM 형태의 고체상태 메모리는 다양한 모바일 및 휴대 장치들, 특히 정보기기 및 소비자 전자제품들에서 선택되는 저장장치가 되었다. 고체상태 메모리이기도 한 RAM(random access momory)과는 달리, 플래시 메모리는 비휘발성이고 전원이 턴 오프 된 뒤라도 자신의 저장된 데이터를 보존한다. 높은 비용에도 불구하고 플래시 메모리는 대량 저장응용들에서 점점 더 사용되고 있다. 하드드라이브들 및 플로피 디스크들과 같은 회전하는 자기 매체에 기초한 종래의 대량 저장장치는 모바일 및 휴대 환경엔 적합하지 않다. 이것은 디스크 드라이브들이 부피가 커지기 쉽고, 기계적 고장이 나기 쉬우며 큰 레이턴시 및 큰 전력요건을 갖기 때문이다. 이들 바람직하지 못한 속성들로 인해서 디스크 기반의 저장장치는 대부분의 모바일 및 휴대 응용들에서 실현되지 못한다. 반면, 내장형이면서도 착탈가능한 카드인 플래시 메모리는 이의 소형 크기, 저 전력 소비, 고속 및 고 신뢰도 특징으로 인해 모바일 및 휴대 환경에서 이상적으로 적합하다.
EEPROM 및 전기적으로 프로그램가능한 판독전용 메모리(EPROM)는 소거될 수 있고 새로운 데이터가 이들의 메모리 셀들에 기입 또는 "프로그램"되게 할 수 있는 비휘발성 메모리이다. 이들은, 전계효과 트랜지스터 구조에서, 소스 영역과 드레인 영역 사이에, 반도체 기판 내 채널 영역 위에 배치된 플로팅(비접속된) 도전성 게이트를 이용한다. 이때 제어 게이트는 플로팅 게이트 위에 제공된다. 트랜지스터의 임계전압 특징은 플로팅 게이트 상에 보존되는 전하량에 의해 제어된다. 즉, 플로팅 게이트 상에 소정 레벨의 전하에 대해서, 소스 영역과 드레인 영역간에 도통이 되게 트랜지스터가 턴 "온"이 되기 전에 제어 게이트에 인가되어야 하는 대응하는 전압(임계)이 있다.
플로팅 게이트는 일 범위의 전하들을 보존할 수 있고 따라서 임계 전압 윈도우 내의 임의의 임계 전압 레벨에 프로그램될 수 있다. 임계 전압 윈도우의 크기는 장치의 최소 및 최대 임계 레벨들에 의해 그 범위가 정해지는데, 이는 플로팅 게이트에 프로그램될 수 있는 일 범위의 전하들에 대응한다. 임계 윈도우는 일반적으로 메모리 장치의 특징들, 동작조건들 및 이력에 따른다. 윈도우 내의 각각의 서로 구별되고 결정이 가능한 임계전압 레벨의 범위는 원리적으로는 셀의 명확한 메모리 상태를 지정하기 위해 사용될 수 있다. 임계전압이 2개의 서로 구별되는 영역들로 분할될 때, 각 메모리 셀은 한 비트의 데이터를 저장할 수 있을 것이다. 유사하게, 임계 전압 윈도우가 2 이상의 서로 구별되는 영역들로 분할될 때, 각 메모리 셀은 1 비트 이상의 데이터를 저장할 수 있을 것이다.
일반적인 2-상태 EEPROM 셀에서는 도통 윈도우를 2개의 영역들로 분할하기 위해서 적어도 한 개의 전류 구분점 레벨이 설정된다. 소정의 고정된 전압들을 인가함으로써 셀이 판독될 때, 이의 소스/드레인 전류는 구분점 레벨(또는 기준전류(IREF))와 비교함으로써 메모리 상태로 결정된다. 판독된 전류가 구분점 레벨의 전류보다 크다면, 셀은 한 로직 상태(예를 들어, "0" 상태)에 있는 것으로 판정된다. 반면, 전류가 구분점 레벨보다 낮다면, 셀은 다른 로직 상태(예를 들면, "1" 상태)인 것으로 판정된다. 이에 따라, 이러한 2-상태 셀은 1비트의 디지털 정보를 저장한다. 외부에서 프로그램될 수 있는 기준 전류원은 흔히 구분점 레벨 전류를 발생하기 위해 메모리 시스템의 일부로서 제공된다.
메모리 용량을 증가시키기 위해서, 플래시 EEPROM 장치들은 반도체 기술 상태가 진보함에 따라 점점 더 고 밀도로 제조되고 있다. 저장용량을 증가시키는 또 다른 방법은 각 메모리 셀에 2 이상의 상태들을 저장하는 것이다.
복수-상태 혹은 복수-레벨 EEPROM 메모리 셀에 있어서, 도통 윈도우는 각 셀이 한 비트 이상의 데이터를 저장할 수 있게 하나 이상의 구분점에 의해 2 이상의 영역들로 분할된다. 이에 따라, 주어진 EEPROM 어레이가 저장할 수 있는 정보는 각 셀이 저장할 수 있는 상태들의 수에 따라 증가된다. 복수-상태 혹은 복수-레벨의 메모리 셀들을 가진 EEPROM 혹은 플래시 EEPROM은 미국특허 5,172,338에 기술되어 있다.
메모리 셀로서 작용하는 트랜지스터는 전형적으로 두 가지 메커니즘들 중 한 메커니즘에 의해 "프로그램된" 상태로 프로그램된다. "핫 전자 주입"에서, 드레인에 인가되는 고(high) 전압은 기판 채널 영역을 지나는 전자들을 가속시킨다. 이와 동시에, 제어 게이트에 인가되는 고 전압은 핫 전자들을 얇은 게이트 유전체를 통과해 플로팅 게이트로 가게 한다. "터널링 주입"에서는 고 전압이 기판에 관하여 제어 게이트에 인가된다. 이렇게 하여, 기판으로부터 개재된 플로팅 게이트로 전자들이 가게 된다.
메모리 장치는 많은 메커니즘들에 의해 소거될 수 있다. EPROM에 있어서, 메모리는 자외 방사선에 의해 플로팅 게이트로부터 전하를 제거함으로써 다량으로 소거가 될 수 있다. EEPROM에 있어서, 메모리 셀은 플로팅 게이트 내 전자들을 얇은 산화막을 통과하여 기판 채널 영역으로 터널링되게 하기 위해서(즉, 파울러-노다임 터널링) 제어 게이트에 관하여 기판에 고 전압을 인가함으로써 전기적으로 소거될 수 있다. 전형적으로, EEPROM은 한 바이트씩 소거될 수 있다. 플래시 EEPROM에 있어서, 메모리는 한번에 전부 혹은 한번에 하나 이상의 블록들이 전기적으로 소거될 수 있는데, 여기서 블록은 512 바이트 또는 그 이상의 바이트의 메모리로 구성될 수 있다.
메모리 장치들은 전형적으로 카드 상에 실장될 수 있는 하나 이상의 메모리 칩들을 포함한다. 각 메모리 칩은 디코더들 및 소거, 기입 및 판독 회로들과 같은 주변 회로들에 의해 지원되는 메모리 셀들의 어레이를 포함한다. 더 정교한 메모리 장치들은 지능형의 고 레벨의 메모리 동작들 및 인터페이싱을 수행하는 외부 메모리 제어기로 동작한다.
최근에 사용되는 많은 상업적으로 성공한 비휘발성 고체상태 메모리 장치들이 있다. 이들 메모리 장치들은 플래시 EEPROM일 수도 있고 혹은 다른 유형들의 메모리 셀들을 채용할 수 있다. 플래시 메모리 및 시스템들 및 이들을 제조하는 방법들의 예들이 미국특허 5,070,032, 5,095,344, 5,315,541, 5,343,063, 5,661,053, 5,313,421, 6,222,762에 주어져 있다. 특히, NAND 스트링 구조들을 가진 플래시 메모리 장치가 미국특허 5,570,315, 5,903,495, 6,046,935에 기술되어 있다. 또한, 비휘발성 메모리 장치들은 전하를 저장하기 위한 유전체층을 가진 메모리 셀들로부터 제조된다. 앞에서 기술된 도전성 플로팅 게이트 요소들 대신, 유전체층이 사용된다. 유전체 저장 요소를 이용하는 이러한 메모리 장치들이, Eitan et al., "NROM: A Novel Localized Trapping, 2-bit nonvolatile Memory Cell" IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545에 기술되어 있다. ONO 유전체층은 소스 확산영역과 드레인 확산영역 사이의 채널을 가로질러 확장하여 있다. 한 데이터 비트용의 전하는 드레인에 인접한 유전체층 내에 모이고 다른 데이터 비트용의 전하는 소스에 인접한 유전체층 내에 모인다. 예를 들면, 미국특허 5,768,192 및 6,011,725는 두 개의 이산화실리콘층들 사이에 개재된 트랩 유전층을 가진 비휘발성 메모리 셀을 개시하고 있다. 복수 상태 데이터 저장은 유전체 내 공간적으로 분리된 전하 저장 영역들의 2진 상태들을 개별적으로 판독함으로써 구현된다.
판독 및 프로그램 수행들을 개선하기 위해서, 어레이 내 복수 전하 저장 소자들 또는 메모리 트랜지스터들은 병렬로 판독되는 프로그램된다. 이에 따라, 한 "페이지"의 메모리 소자들이 함께 판독 또는 프로그램된다. 현존의 메모리 아키텍처들에서, 한 행은 전형적으로 몇개의 인터리브된 페이지들을 내포하며, 혹은 한 페이지를 구성할 수 있다. 페이지의 모든 메모리 소자들은 함께 판독 또는 프로그램될 것이다.
데이터를 정확하기 저장하기 위해서, 정확하게 기입될 필요가 있다. 더 큰 밀도로 데이터를 증가시키기 위해서, 메모리 장치들은 셀당 복수 비트들의 데이터를 저장하게 만들어지고 있다. 또한, 스케일링이 산화물 계면 트래핑에 기인하여 프로그램을 더 혼랍스럽게 만드는 경향이 있고 프로그램/소거가 포화할 수도 있어, 데이터 상태들은 모두가 임계 전압들의 작은 윈도우 내에 내포될 것이 요구된다. 이들 두 경향들은 데이터가 더 엄밀한 분포들을 갖고 기입될 것을 요구한다. 또한, 회로들이 저장 밀도들 또한 증가시키기 위해 더 작은 스케일로 만들어지고 있음에 따라, 더 작은 장치들은 기입 정확도에 영향을 미치는 현상들을 야기하거나 증폭시킨다.
그러므로, 고용량 및 고성능 비휘발성 메모리.에 대한 일반적인 필요성이 있다. 특히, 전술한 결점이 최소화되는 개선된 프로그래밍 수행을 가진 고용량 비휘발성 메모리 를 가질 필요성이 있다.
제 1 세트의 측면들에 따라, 비휘발성 메모리 장치를 프로그램하는 방법이 제시된다. 방법은 증가하는 진폭의 계단을 형성하는 펄스들을 제 1 워드라인에 인가하는 단계; 각 펄스를 제 1 워드라인에 인가한 후에, 제 1 워드라인을 따른 메모리 셀들에 대해 검증 동작을 수행하는 단계를 포함한다. 펄스 열은 적어도 제 1 서브세트 및 제 2 서브세트를 포함하는 계단의 일련의 복수의 N 서브세트들로서 제 1 워드라인에 인가된다. 제 1 서브세트는 증가하는 진폭의 순서로 순차적으로 인가되는 계단의 제 1의 매 N번째 후속 펄스를 포함하고, 제 2 서브세트는 증가하는 진폭의 순서로 순차적으로 인가되는 계단의 제 2의 매 N번째 후속 펄스를 포함하며, 제 2 서브세트는 제 1 서브세트 인가에 이어 인가된다. 또한, 방법은 셀들의 목표 데이터 상태에 대응하는 서브세트의 검증 레벨에서 검증한 것에 응하여 제 1 워드라인을 따른 메모리 셀들을 추가의 프로그래밍으로부터 차단하는 단계로서, 각 서브세트는 검증 동작들을 위해 다른 한 세트의 검증 레벨들을 사용하는 것인, 단계, 및, 제 1 서브세트를 인가함에 이어 그리고 제 2 서브세트를 인가하기 전에, 제 1 워드라인을 따른 메모리 셀들을 추가의 프로그래밍을 허용하기 위해 해제하는 단계를 포함한다.
본원의 다른 측면들은 복수의 메모리 셀들 각각을 복수의 목표 데이터 상태들 중 하나로 기입하는 방법을 제시한다. 방법은 일련의 펄스들을 제 1 워드라인에 인가하는 단계; 각 펄스를 제 1 워드라인에 인가한 후에, 제 1 워드라인을 따른 메모리 셀들에 대해 검증 동작을 수행하는 단계를 포함한다. 검증 동작은 초기 검증 레벨들 및 각 목표 데이터 상태에 대한 차단 검증 레벨을 포함하며, 초기 검증 레벨은 목표 데이터 상태들 각각에 대한 대응하는 차단 검증 레벨보다 낮다. 대응하는 셀의 초기 검증 레벨에서 검증한 것에 응하여 더 느리게 프로그램하기 위해 메모리 셀들 상에 상기 바이어스가 개별적으로 변경되며; 대응하는 셀의 차단 검증 레벨에서 검증한 것에 응하여 제 1 워드라인을 따른 메모리 셀들을 추가의 프로그래밍으로부터 개별적으로 차단한다. 복수-상태들 중 제 1 상태에 대한 초기 검증 레벨은 복수-상태들 중 제 2 상태에 대한 차단 검증 레벨과 동일하며, 복수-상태들 중 제 1 상태는 복수-상태들 중 제 2 상태와는 다르다.
본 발명의 여러 측면들, 잇점들, 특징들 및 실시예들은 이의 예시적 예들의 다음 설명에 포함되고 이의 설명은 동반된 도면들에 관련하여 취해질 것이다. 본원에서 참조되는 모든 특허들, 특허출원들, 논문들, 그외 공보, 문서 및 자료들은 모든 목적을 위해 이들 전부가 참조로서 본원에 포함된다. 포함시킨 공보, 문서 혹은 자료들의 어느 것과 본원 간에 용어들의 정의 혹은 사용에 있어 어떤 모순 혹은 상충되는 범위에 있어선 본원의 것들이 우선할 것이다.
도 1은 본 발명이 구현될 수 있는 비휘발성 메모리 칩의 기능 블록들을 개요적으로 도시한 것이다.
도 2는 비휘발성 메모리 셀을 개요적으로 도시한 것이다.
도 3은 플로팅 게이트가 언제든 선택적으로 저장하고 있을 수 있는 4개의 서로 다른 전하들(Q1 ~ Q4)에 대한 소스-드레인 전류(ID)와 제어 게이트 전압(VCG) 간의 관계를 도시한 것이다.
도 4는 NOR 어레이의 메모리 셀들의 예를 도시한 것이다.
도 5a는 NAND 스트링으로 구성된 일련의 메모리 셀들을 개요적으로 도시한 것이다.
도 5b는 도 5a에 도시된 것과 같은 NAND 스트링들(50)로 구성된 NAND 어레이(200) 메모리 셀들의 예를 도시한 것이다.
도 6은 메모리 셀 어레이에 대해 한 뱅크의 p개의 감지모듈들을 내포하는, 도 1에 도시된 판독/기입 회로들(270A, 270B)을 도시한 것이다.
도 7은 도 6에 도시된 감지모듈들의 바람직한 구성을 개요적으로 도시한 것이다.
도 8은 도 7에 도시된 판독/기입 스택들을 상세히 도시한 것이다.
도 9(0) ~ 도 9(2)는 한 집단의 4-상태 메모리 셀들을 프로그래밍하는 예를 도시한 것이다.
도 10(0) ~ 도 10(2)는 한 집단의 8-상태 메모리 셀들을 프로그래밍하는 예를 도시한 것이다.
도 11는 4-상태 메모리 셀을 목표 메모리 상태로 프로그래하기 위한 종래의 기술을 도시한 것이다.
도 12는 계단을 서브세트들로 나누는 것을 도시한 것이다.
도 13은 분포의 메모리 셀들을 차단하는 프로세스를 도시한 것이다.
도 14는 서로 다른 패스들에 대한 검증 레벨들의 관계를 도시한 것이다.
도 15 및 도 16은 각각 제 1 패스의 펄스들 및 각 펄스에 대한 차단을 도시한 것이다.
도 17 및 도 18은 각각 제 2 패스의 펄스들 및 각 펄스에 대한 차단을 도시한 것이다.
도 19 및 도 20은 각각 제 3 패스의 펄스들 및 각 펄스에 대한 차단을 도시한 것이다.
도 21 및 도 22는 각각 제 4 패스의 펄스들 및 각 펄스에 대한 차단을 도시한 것이다.
도 23은 제 1 패스가 연무 프로그램 동작일 때 검증 레벨들의 관계를 도시한 것이다.
도 25 ~ 도 27은 래치 할당들의 예들을 도시한 것이다.
도 28은 신속 패스 기입이 사용될 때 검증 레벨들의 관계를 도시한 것이다.
도 29는 검증 레벨들을 공유하는 예를 도시한 것이다.
메모리 시스템
도 1 내지 도 11은 본 발명의 여러 특징들이 구현될 수 있는 메모리 시스템들의 예를 도시한 것이다.
도 1은 본 발명이 구현될 수 있는 비휘발성 메모리 칩의 기능 블록들을 개요적으로 도시한 것이다. 메모리 칩(100)은 2차원 어레이의 메모리 셀들(200), 제어회로(210), 그리고 이를테면 디코더들, 판독/기입 회로들 및 멀티플렉서들과 같은 주변회로들을 포함한다.
메모리 어레이(200)는 행(row) 디코더들(230)(230A, 230B로 분할된)을 통해 워드라인들에 의해서 그리고 컬럼 디코더들(260)(260A, 260B로 분할된)을 통해 비트라인들에 의해 어드레스될 수 있다(도 4 및 도 5 참조). 판독/기입 회로들(270)(270A, 270B로 분할된)은 한 페이지의 메모리 셀들이 병렬로 판독 또는 프로그램될 수 있게 한다. 데이터 I/O 버스(231)는 판독/기입 회로들(270)에 결합된다.
바람직한 실시예에서, 한 페이지는 동일 워드라인을 공유하는 인접한 한 행의 메모리 셀들로부터 구성된다. 한 행의 메모리 셀들이 복수의 페이지들로 분할되는 또 다른 실시예에서, 판독/기입 회로들(270)을 개개의 페이지들에 멀티플렉스하기 위해 블록 멀티플렉서들(250)(250A 및 250B로 분할된)이 제공된다. 예를 들면, 홀수 열 및 짝수 열의 메모리 셀들에 의해 각각 형성된 2개의 페이지들이 판독/기입 회로들에 멀티플렉스된다.
도 1은 각 측에 액세스 라인들 및 회로의 밀도들이 절반으로 감소되게 여러 주변회로들에 의한 메모리 어레이(200)에의 액세스가 어레이의 양 대향측들 상에 대칭형으로 구현되는 바람직한 배열을 도시한 것이다. 이에 따라, 행 디코더는 행 디코더들(230A, 230B)로 분할되고 컬럼 디코더는 컬럼 디코더들(260A, 260B)로 분할된다. 한 행의 메모리 셀들이 복수의 블록들로 분할되는 실시예에서, 페이지 멀티플렉서(250)는 페이지 멀티플렉서들(250A, 250B)로 분할된다. 마찬가지로, 판독/기입 회로들(270)은 어레이(200)의 하부로부터 비트라인들에 연결하는 판독/기입회로들(270A)과 어레이(200)의 상부로부터 비트라인들에 연결하는 판독/기입 회로들(270B)로 분할된다. 이에 따라, 판독/기입 모듈들의 밀도, 따라서 감지모듈들(380)의 밀도가 근본적으로 절반으로 감소된다.
제어회로(110)는 메모리 어레이(200)에 메모리 동작들을 수행하기 위해 판독/기입 회로들(270)과 공조하는 온-칩 제어기이다. 제어회로(110)는 전형적으로 상태머신(112) 및 그외에, 온칩 어드레스 디코더 및 파워 제어 모듈(명백히 도시되지 않음)과 같은 회로들을 포함한다. 상태머신(112)은 메모리 동작들의 칩 수준의 제어를 제공한다. 제어회로는 외부 메모리 제어기를 통해 호스트와 통신한다.
메모리 어레이(200)는 전형적으로 행들 및 컬럼들로 배열되고 워드라인들 및 비트라인들에 의해 어드레스가 지정될 수 있는 2차원 어레이의 메모리 셀들로서 구성된다. 어레이는 NOR형 혹은 NAND형 아키텍처에 따라 형성될 수 있다.
도 2는 비휘발성 메모리 셀을 개요적으로 도시한 것이다. 메모리 셀(10)은 플로팅 게이트 또는 유전체층과 같은 전하 저장유닛(20)을 갖는 전계효과 트랜지스터에 의해 구현될 수 있다. 또한, 메모리 셀(10)은 소스(14), 드레인(16), 및 제어 게이트(30)를 포함한다.
최근에 사용되는 상업적으로 성공한 많은 비휘발성 고체상태 메모리 장치들이 있다. 이들 메모리 장치들은 각 유형이 하나 이상의 전하저장 소자를 갖는 것인 서로 다른 유형들의 메모리 셀들을 채용할 수 있다.
전형적인 비휘발성 메모리 셀들은 EEPROM 및 플래시 EEPROM을 포함한다. EEPROM 셀들 및 이들을 제조하는 방법들의 예들이 미국특허 5,595,924에 주어져 있다. EEPROM 셀들, 메모리 시스템들에서 이들의 사용 및 이들을 제조하는 방법들의 예들은 미국특허 5,070,032, 5,095,344, 5,315,541, 5,343,063, 5,661,053, 5,313,421, 6,222,762에 주어져 있다. 특히, NAND 셀 구조들을 가진 메모리 장치들의 예들은 미국특허 5,570,315, 5,903,495, 6,046,935에 기술되어 있다. 또한, 유전 저장소자를 이용하는 메모리 장치들의 예들이, Eitan et al, "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell", IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545, 및 미국특허 5,768,192 및 6,011,725에 기술되어 있다.
실제로, 셀의 메모리 상태는 일반적으로 기준전압이 제어 게이트에 인가될 때 셀의 소스 전극 및 드레인 전극을 지나는 도통전류를 감지함으로써 판독된다. 이에 따라, 셀의 플로팅 게이트 상에 각각의 주어진 전하에 대해서, 고정된 기준 제어 게이트 전압에 관한 대응하는 도통전류가 검출될 수 있다. 유사하게, 플로팅 게이트에 프로그램될 수 있는 전하의 범위는 대응하는 임계 전압 윈도우 또는 대응하는 도통전류 윈도우를 정의한다.
대안적으로, 분할된 현 윈도우 중에서 도통전류를 검출하는 대신에, 제어 게이트에 테스트되는 주어진 메모리 상태에 대한 임계 전압을 설정하고 도통전류가 임계전류보다 낮은지 아니면 높은지를 검출하는 것이 가능하다. 일 구현에서 임계전류에 대한 도통전류의 검출은 도통전류가 비트라인의 커패시턴스를 통해 방전하는 방전률을 조사함으로써 달성된다.
도 3은 언제든 선택적으로 플로팅 게이트가 저장하고 있을 수 있는 4개의 서로 다른 전하들(Q1 ~ Q4)에 대해 소스-드레인 전류(ID)와 제어 게이트 전압(VCG) 간에 관계를 도시한 것이다. VCG에 대한 ID의 4개의 실선 곡선들은 4개의 가능한 메모리 상태들에 대응하여 각각 메모리 셀의 플로팅 게이트 상에 프로그램될 수 있는 4개의 가능한 전하 레벨들을 나타낸다. 예로서, 한 집단의 셀들의 임계 전압 윈도우는 0.5V 내지 3.5V의 범위일 수 있다. 각각 하나는 소거된 상태이고 6개는 프로그램된 상태들을 나타내는 7개의 가능한 메모리 상태들 "0", "1", "2", "3", "4", "5", "6"은 임계 윈도우를 각각 0.5의 간격으로 5개의 영역들로 분할함으로써 구별될 수 있다. 예를 들면, 기준전류로서 2㎂의 IREF가 도시된 바와 같이 사용된다면, Q1으로 프로그램된 셀은 VCG = 0.5V 및 1.0V에 의해 구별되는 임계 윈도우의 영역에서 곡선이 IREF와 교차하기 때문에 메모리 상태 "1"에 있는 것으로 간주될 수 있다. 유사하게, Q4는 메모리 상태 "5"에 있다.
전술한 바로부터 알 수 있듯이, 메모리 셀에 더 많은 상태들이 저장되게 할수록, 임계 윈도우는 더욱 미세하게 분할된다. 예를 들면, 메모리 장치는 -1.5V 내지 5V 범위의 임계전압을 갖는 메모리 셀들을 가질 수 있다. 이것은 6.5V의 최대폭을 제공한다. 메모리 셀이 16개의 상태들을 저장한다면, 각 상태는 임계 윈도우에서 20O mV 내지 30O mV를 점유할 수 있다. 이것은 요구되는 분해능을 달성할 수 있기 위해서 프로그래밍 및 판독동작들에 있어 더 높은 정밀도를 요구할 것이다.
도 4는 NOR 어레이 메모리 셀의 예를 도시한 것이다. 메모리 어레이(200)에서, 각 한 행의 메모리 셀들은 이들의 소스들(14) 및 드레인들(16)에 의해 데이지 체인 방식으로 연결된다. 이 설계를 가상 그라운드 설계라고도 한다. 한 행에 셀들(10)은 이들의 제어 게이트들(30)이 워드라인, 이를테면 워드라인(42)에 연결된다. 한 컬럼에 셀들은 이들의 소스들 및 드레인들이 각각 비트라인들(34, 36)과 같은 선택된 비트라인들에 연결된다.
도 5a는 NAND 스트링으로 구성된 한 스트링의 메모리 셀들을 개요적으로 도시한 것이다. NAND 스트링(50)은 소스들 및 드레인들이 데이지 체인식으로 연결된 직렬의 메모리 트랜지스터들(M1, M2,...Mn)(예를 들면, n = 4, 8, 16 혹은 그 이상)로 구성된다. 한 쌍의 선택 트랜지스터들(S1, S2)은 각각 NAND 스트링의 소스 단자(54) 및 드레인 단자(56)를 통해 메모리 트랜지스터들의 체인이 외부에 연결되는 것을 제어한다. 메모리 어레이에서, 소스 선택 트랜지스터(S1)가 턴 온 되었을 때, 소스 단자는 소스 라인에 결합된다(도 5b 참조). 마찬가지로, 드레인 선택 트랜지스터(S2)가 턴 온 되었을 때, NAND 스트링의 드레인 단자는 메모리 어레이의 비트 라인에 결합된다. 체인 내 각 메모리 트랜지스터(10)는 메모리 셀로서 작용한다. 이것은 의도하는 메모리 상태를 나타내기 위해서 주어진 전하량을 저장하기 위해 전하 저장 요소(20)를 갖는다. 각각의 메모리 트랜지스터의 제어 게이트(30)는 판독 및 기입 동작들에 대해 제어할 수 있게 한다. 도 5b에서 알게 되는 바와 같이, 한 행의 NAND 스트링의 대응하는 메모리 트랜지스터들의 제어 게이트들(30)은 모두가 동일 워드라인에 연결된다. 마찬가지로, 선택 트랜지스터들(S1, S2) 각각의 제어 게이트(32)는 각각 이의 소스 단자(54) 및 드레인 단자(56)를 통해 NAND 스트링에 대한 제어 액세스를 제공한다. 마찬가지로, 한 행의 NAND 스트링의 대응하는 선택 트랜지스터들의 제어 게이트들(32)은 모두가 동일 선택라인에 연결된다.
NAND 스트링 내의 어드레스된 메모리 트랜지스터(10)가 프로그래밍 동안에 판독되거나 검증될 때, 이의 제어 게이트(30)엔 적합한 전압이 공급된다. 동시에, NAND 스트링(50) 내의 어드레스 지정이 안 된 나머지 메모리 트랜지스터들은 이들의 제어 게이트들에 충분한 전압을 인가함으로써 완전히 턴 온 된다. 이에 따라, 개개의 메모리 트랜지스터의 소스에서 NAND 스트링의 소스 단자(54)로 그리고 마찬가지로 개개의 메모리 트랜지스터의 드레인에 대해서는 셀의 드레인 단자(56)로의 도통경로가 유효하게 만들어진다. 이러한 NAND 셀 구조들을 갖는 메모리 장치들이 미국특허들 5,570,315, 5,903,495 및 6,046,935에 기술되어 있다.
도 5b는 도 5a에 도시된 것과 같은 NAND 스트링들(50)로부터 구성되는, NAND 어레이(200)의 메모리 셀들의 예를 도시한 것이다. NAND 스트링들의 각 컬럼을 따라, 비트라인(36)과 같은 비트라인이 각 NAND 스트링의 드레인 단자(56)에 결합된다. 각 한 뱅크의 NAND 스트링들을 따라, 소스 라인(34)과 같은 소스 라인이 각 NAND 스트링의 소스 단자들(54)에 결합된다. 한 뱅크의 NAND 스트링들 내에 한 행의 메모리 셀들을 따라 제어 게이트들 또한, 워드라인(42)과 같은 워드라인에 연결된다. 한 뱅크의 NAND 스트링들 내에 한 행의 선택 트랜지스터들을 따라 제어 게이트들은 선택라인(44)과 같은 선택라인에 연결된다. 한 뱅크의 NAND 스트링들 내에 전체 한 행의 메모리 셀들은 한 뱅크의 NAND 스트링들의 워드라인들 및 선택라인들에 적합한 전압들에 의해 어드레스될 수 있다. NAND 스트링 내에 한 메모리 트랜지스터가 판독되고 있을 때, 그 스트링 내에 나머지 메모리 트랜지스터들은 이들의 연관된 워드라인들을 통해 확고하게 턴 온 되므로 스트링을 통하는 전류는 근본적으로 판독되는 셀 내 저장된 전하의 레벨에 의존한다.
감지회로 및 기술
도 6은 도 1에 도시된 판독/기입 회로들(270A, 270B)을 도시한 것으로, 메모리 셀들의 한 어레이에 대해 한 뱅크의 p개의 감지모듈들을 내포한다. 병렬로 동작하는 전체 한 뱅크의 p 감지모듈들(480)은 한 행을 따른 한 블록(또는 페이지)의 p 셀들(10)이 병렬로 판독 또는 프로그램될 수 있게 한다. 근본적으로, 감지모듈1은 셀1에 전류(I1)을 감지할 것이며, 감지모듈2는 셀2에 전류(I2)을 감지할 것이며,...,감지모듈 p는 셀p에 전류(Ip)를 감지할 것이며, 등등이 행해진다. 소스 라인(34)에서 결집 노드(CLSRC)로 그리고 이로부터 그라운드로 흘러나가는 페이지에 대한 총 셀 전류(iTOT)는 p 셀들 내 모든 전류들의 합이 될 것이다. 종래의 메모리 아키텍처에서, 한 공통의 워드라인을 가진 한 행의 메모리 셀들은 2 이상의 페이지들을 형성하는데, 여기서 한 페이지 내 메모리 셀들이 병렬로 판독 및 프로그램된다. 2개의 페이지들을 가진 한 행의 경우, 한 페이지는 짝수 비트라인들에 의해 액세스되고 다른 한 페이지는 홀수 비트라인들에 의해 액세스된다. 한 페이지의 감지회로들은 언제든 짝수 비트라인들에 결합되거나 아니면 홀수 비트라인들에 결합된다. 이 경우, 각각 개개의 페이지들에 판독/기입 회로들(270A, 270B)을 멀티플렉스하기 위해 페이지 멀티플렉서들(250A, 250B)이 제공된다.
56nm 기술에 기반한 현재 생산되는 칩들에서는 p > 64000이고 43nm 32 Gbit x 4 칩에서는 p > 150000이다. 바람직한 실시예에서, 블록은 연속한 전체 한 행의 셀들이다. 이것이, 페이지가 각각 인접 비트라인들에 결합된 한 행의 인접 메모리 셀들로부터 구성되는 소위 "전(all) 비트라인" 아키텍처이다. 또 다른 실시예에서, 블록은 행 내 셀들의 일부이다. 예를 들면, 일부 셀들은 전체 행의 반 혹은 전체 행의 1/4일 수도 있을 것이다. 일부 셀들은 연속한 인접 셀들일 수도 있고 혹은 하나 걸러 한 셀, 혹은 소정 수의 셀을 걸러 한 셀들일 수도 있을 것이다. 각각의 감지모듈은 비트라인을 통해 메모리 셀에 결합되며 메모리 셀의 도통전류를 감지하기 위한 감지 증폭기를 포함한다. 일반적으로, 판독/기입 회로들이 메모리 어레이의 서로 대향한 양측 상에 분포된다면, 한 뱅크의 p개의 감지모듈들은 2세트의 판독/기입 회로들(270A, 270B) 사이에 분포될 것이다.
도 7은 도 6에 도시된 감지모듈들의 바람직한 구성을 개요적으로 도시한 것이다. p 감지모듈들을 내포하는 판독/기입 회로들(270A, 270B)은 한 뱅크의 판독/기입 스택들(400)로 그룹화된다.
도 8은 도 7에 도시된 판독/기입 스택들을 상세히 도시한 것이다. 각 판독/기입 스택(400)은 한 그룹의 k개의 비트라인들에 병렬로 동작한다. 한 페이지가 p = r*k 비트라인들을 갖고 있다면, r개의 판독/기입 스택들(400-1,..., 400-r)이 있게 될 것이다. 근본적으로, 아키텍처는 k 감지모듈들의 각 스택을 공간 절약을 위해 한 공통의 프로세서(500)가 담당하게 하는 아키텍처이다. 공통 프로세서(500)는 감지모듈들(480)에 그리고 데이터 래치들(430)에 위치된 래치들 내 저장될 업데이트된 데이터를 이들 래치들 내 현재값들에 그리고 상태머신(112)으로부터의 제어들에 기초하여 계산한다. 공통 프로세서의 상세한 설명은 전체 개시된 바를 참조로 본원에 포함시키는 2006년 6월 29일 미국특허출원공개번호 US-2006-0140007-A1에 기술되어 있다.
병렬로 동작하는 분할된 판독/기입 스택들(400)을 전체 한 뱅크로 함으로써 한 행을 따른 한 블록(혹은 페이지)의 p 셀들이 병렬로 판독 혹은 프로그램될 수 있게 된다. 이에 따라, 전체 한 행의 셀들에 대해 p개의 판독/기입 모듈들이 있게 될 것이다. 각 스택이 k 메모리 셀들을 맡고 있으므로, 뱅크 내 판독/기입 스택들의 총 수는 r = p/k로 주어진다. 예를 들면, 뱅크에 스택 수가 r개이면, p = r*k가 된다. 일예의 메모리 어레이는 p = 150000, k = 8을 가질 수 있고 따라서 r = 18750이다.
400-1과 같은 각 판독/기입 스택은 근본적으로 병렬로 한 부분의 k 메모리 셀들을 맡는 한 스택의 감지모듈들(480-1 내지 480-k)을 내포한다. 페이지 제어기(410)는 라인(411)을 통해 제어 및 타이밍 신호들을 판독/기입회로(370)에 제공한다. 페이지 제어기 자체는 라인들(311)을 통해 메모리 제어기(310)에 의존한다. 각각의 판독/기입 스택(400) 간에 통신은 상호연결 스택 버스(431)에 의해 행해지고 페이지 제어기(410)에 의해 제어된다. 제어 라인들(411)은 페이지 제어기(410)로부터 제어 및 클럭신호들을 판독/기입 스택들(400-1)의 구성성분들에 제공한다.
바람직한 배열에서, 스택 버스는 공통 프로세서(500)와 한 스택의 감지모듈들(480) 간에 통신을 위한 SABus(422)와, 프로세서와 한 스택의 데이터 래치들(430) 간에 통신을 위한 DBus(423)으로 분할된다.
한 스택의 데이터 래치들(430)은 스택에 연관된 각 메모리 셀에 하나씩으로 데이터 래치들(430-1 내지 430-k)을 포함한다. I/O 모듈(440)은 데이터 래치들이 데이터를 I/O 버스(231)를 통해 외부와 교환할 수 있게 한다.
또한, 공통 프로세서는 오류상태와 같은 메모리 동작의 상황(status)을 나타내는 상황 신호를 출력하기 위한 출력(507)을 포함한다. 상황 신호는 Or-결선 구성으로 플래그 버스(FLAG BUS)(509)에 연결된 n-트랜지스터(550)의 게이트를 구동하기 위해 사용된다. 플래그 버스는 바람직하게는 제어기(310)에 의해 프리차지되고 판독/기입 스택들 중 어느 것에 의해 상황 신호가 어서트(assert)되었을 때 풀-다운 될 것이다.
복수-상태 메모리 분할의 예
메모리 셀들 각각이 복수의 비트들의 데이터를 저장하는 비휘발성 메모리가 도 3에 관련하여 이미 기술되었다. 한 특별한 예는 각각이 채널 영역과 제어 게이트 사이에 전하 저장층을 갖는 전계-효과 트랜지스터들의 어레이로부터 형성된 메모리이다. 전하 저장층 또는 유닛은 한 범위의 전하들을 저장할 수 있어, 각각의 전계-효과 트랜지스터에 대해 한 범위의 임계 전압들을 생성한다. 가능한 임계 전압들의 범위는 임계 윈도우에 걸쳐 있다. 임계 윈도우가 임계 전압들의 다수의 부-범위들 또는 구역들로 분할될 때, 각각의 결정가능한 구역은 한 메모리 셀에 대해 서로 다른 메모리 상태들을 나타내기 위해 사용된다. 다수의 메모리 상태들은 하나 이상의 2진 비트들에 의해 코딩될 수 있다. 예를 들면, 4개의 구역들로 분할된 메모리 셀은 2-비트 데이터로서 코딩될 수 있는 4 상태들을 지원할 수 있다. 유사하게, 8 구역들로 분할된 메모리 셀은 3-비트 데이터로서 코딩될 수 있는 8 메모리 상태들을 지원할 수 있고, 등등을 할 수 있다.
도 9(0) ~ 도 9(2)는 모집단의 4-상태 메모리 셀들을 프로그래밍하는 예를 도시한 것이다. 도 9(0)는 각각 메모리 상태들 "0", "1", "2" 및 "3"을 나타내는 임계 전압들의 4개의 서로 구별되는 분포들로 프로그램될 수 있는 메모리 셀들의 집단을 도시한 것이다. 도 9(1)는 소거된 메모리에 대해 "소거된" 임계 전압들의 초기 분포를 도시한 것이다. 도 9(2)는 많은 메모리 셀들이 프로그램된 후에 메모리의 예를 도시한 것이다. 근본적으로, 셀은 초기에는 "소거된" 임계 전압을 가지며 프로그래밍은 이를 DV1, DV2 및 DV3로 구분된 3개의 구역들 중 하나로 더 높은 값으로 이동할 것이다. 이렇게 하여, 각 메모리 셀은 3개의 프로그램된 상태 "1", "2" 및 "3" 중 하나로 프로그램되거나 "소거된" 상태로 프로그램되지 않은 채로 있을 수 있다. 메모리가 더욱 프로그래밍 됨에 따라, 도 9(1)에 도시된 바와 같은 "소거된" 상태의 초기 분포는 더 좁아지게 될 것이며 소거된 상태는 "0" 상태로 나타난다.
하위 비트 및 상위 비트를 갖는 2-비트 코드는 4 메모리 상태들 각각을 나타내기 위해 사용될 수 있다. 예를 들면, "0", "1", "2" 및 "3" 상태들은 각각 "11", "01", "00" 및 "10"로 나타낸다. 2-비트 데이터는 각각 3번의 부-패스들에서 판독 구별 임계값들(DV1, DV2, DV3)에 관하여 감지함으로써 2 비트들이 함께 감지되는 "풀-시퀀스" 모드에서 감지함으로써 메모리로부터 판독될 수 있다.
도 10(0) ~ 도 10(2)는 모 집단의 8-상태 메모리 셀들을 프로그램하는 예를 도시한 것이다. 도 10(0)는 각각 메모리 상태들 "0" ~ "7"을 나타내는 임계 전압들의 8개의 서로 구별되는 분포들로 프로그램될 수 있는 모 집단의 메모리 셀들을 도시한 것이다. 도 10(1)은 소거된 메모리에 대한 "소거된" 임계 전압들의 초기 분포를 도시한 것이다. 도 10(2)는 많은 메모리 셀들이 프로그램된 후에 메모리의 예를 도시한 것이다. 근본적으로, 셀은 초기에는 "소거된" 임계 전압을 가지며 프로그래밍은 이를, DV1 ~ DV7에 의해 구별되는 7개의 구역들 중 하나로 더 높은 값으로 이동시킬 것이다. 이렇게 하여, 각 메모리 셀은 7개의 프로그램된 상태 "1" ~ "7" 중 하나로 프로그램되거나 "소거된" 상태로 프로그램되지 않은 채로 있을 수 있다. 메모리가 더욱 프로그래밍 됨에 따라, 도 10(1)에 도시된 바와 같은 "소거된" 상태의 초기 분포는 더 좁아지게 될 것이며 소거된 상태는 "0" 상태로 나타난다.
하위 비트 및 상위 비트를 갖는 3-비트 코드는 4개의 메모리 상태들 각각을 나타내기 위해 사용될 수 있다. 예를 들면, "0", "1", "2", "3", "4", "5", "6" 및 "7" 상태들은 각각 "111", "O11", "001", "101", "100", "000", "010" 및 "110"로 나타낸다. 3-비트 데이터는 각각 7번의 부-패스들에서 판독 구별 임계값들(DV1 ~ DV7)에 관하여 감지함으로써 3 비트들이 함께 감지되는 "풀-시퀀스" 모드에서 감지함으로써 메모리로부터 판독될 수 있다.
페이지 또는 워드라인 프로그래밍 및 검증
한 페이지를 프로그램하는 한 방법은 풀-시퀀스 프로그래밍이다. 페이지의 모든 셀들은 초기에는 소거된 상태에 있다. 이에 따라, 페이지의 모든 셀들은 소거된 상태에서 이들의 목표 상태들을 향하여 병렬로 프로그램된다. 목표 상태로서 "1" 상태를 가진 메모리 셀들은 일단 이들이 "1" 상태로 프로그램되었으면 추가 프로그래밍로부터 금지될 것이지만 목표 상태들 "2" 또는 그 이상을 가진 다른 메모리 셀들은 추가 프로그래밍이 될 것이다. 결국, 목표 상태로서 "2"를 가진 메모리 셀들도 추가 프로그래밍으로부터 차단될 것이다. 유사하게, 점진적 프로그래밍 펄스들에 따라 목표 상태들 "3" ~ "7"을 가진 셀에 도달되고 차단된다.
도 11은 4-상태 메모리 셀을 목표 메모리 상태로 프로그래밍하기 위한 종래의 기술을 도시한 것이다. 프로그래밍 회로들은 일반적으로 일련의 프로그래밍 펄스들을 한 선택된 워드라인에 인가한다. 이렇게 하여, 제어 게이트들이 워드라인에 결합된 한 페이지의 메모리 셀들은 함께 프로그램될 수 있다. 사용되는 프로그래밍 펄스열은 메모리 셀의 전하 저장 유닛에 프로그램된 축적된 전자들을 상쇄하기 위해서 증가되는 주기 또는 진폭을 가질 수 있다. 프로그래밍 전압(VPGM)은 프로그래밍되는 페이지의 워드라인에 인가된다. 프로그래밍 전압(VPGM)은 초기 전압 레벨(VPGM0)부터 시작하는 계단 파형 형태의 일련의 프로그래밍 전압 펄스들이다. 각 펄스에서 셀의 전하 저장 소자에 증분적 전하들을 더하려는 시도로, 프로그래밍되는 페이지의 각 셀에는 이 일련의 프로그래밍 전압 펄스들이 가해진다. 프로그래밍 펄스들 사이에서, 셀은 이의 임계 전압을 판정하기 위해 다시 판독된다. 다시 판독하는 프로세스는 하나 이상의 감지 동작을 수반할 수 있다. 프로그래밍은 셀의 임계 전압이 목표 상태에 대응하는 임계 전압 구역 이내에 속하는 것으로 검증되었을 때 그 셀에 대해 중단된다. 페이지의 메모리 셀이 이의 목표 상태로 프로그램되었을 때는 언제나, 이것은 프로그램-금지되나 다른 셀들은 페이지의 모든 셀들이 프로그램-검증될 때까지 계속하여 프로그래밍 된다.
복수 패스들로 분해되는 계단 프로그래밍 파형
이 단락의 기술들은 메모리 장치들의 프로그래밍 정확도에 영항을 미칠 수 있는 다양한 현상들, 특히 한 비트라인(프로그램이 될 수 있든 아니면 금지되었든간에) 상에 레벨이 이웃 비트라인에 프로그래밍에 현저하게 영향을 미치는, 이를테면 전자 디-트랩(de-trap) 및 나카무라 효과와 같은, 작은 장치 스케일들에서 일어나는 것들을 감소시키는 것을 목표로 한다. 이것은 성능을 감소시킴이 없이 한 프로그램 시퀀스를 복수 프로그램 패스들로 바꿈으로써 행해진다. 프로그램 전압(VPGM)을 높이기 위해 큰 스텝(step) 크기, 예비-검증 및 옮겨진 검증 마진들을 사용함으로써, 협 분포가 복수 패스들로 얻어질 수 있다. 또한, 이하 더욱 논의되는 바와 같이, 신속 패스 기입(QPW) 검증을 행하는 결점 없이 QPW이 행해질 수 있다.
치수에 있어 기술 축소에 따라, 관계되는 많은 새로운 현상들이 존재한다. 하나는 플로팅 게이트 상에 전자들이 디-트랩되어 유실되는 전자 디-트랩이다. 수 십 나노미터의 스케일들까지 기술 축소에 따라 각 전자가 고려될 것이기 때문에, 디-트랩은 임계 전압들을 현저히 이동되게 할 것이다. 디-트랩된 셀들은 이들 셀들이 충분한 임계 전압(Vth) 값들을 확실히 갖게 하는데 도움을 주기 위해 재-프로그램될 수 있다. 이 단락의 복수 패스 프로그램은 디-트랩된 셀들을 재-프로그램하는데 도움을 줄 수 있다. (여기에서 제시되는 것들을 보충하여, 전자 디-트랩 및 이 문제를 다루기 위한 추가의 기술들에 대해 더 상세한 것은 미국특허 6,850,441 및 2011년 3월 25일에 출원된 미국특허출원번호 13/072,387에서 발견될 수 있다).
또한, 프로그램 교란(disturb) 메커니즘들은 높은 VPGM 값들이 인가될 때 낮은 상태들에 가장 영향을 미칠 것이다. 또한, 프로그램 교란을 보상하기 위해 낮은 상태 검증은 옮겨질 수 있기 때문에, 복수 패스들은 낮은 상태 프로그램 교란 문제들을 처리하는 데에도 도움을 줄 것이다.
이웃 채널은 이 채널이 상승될 때 프로그램 금지 동안 이웃 플로팅 게이트와 결합하게 될 것이기 때문에(나카무라 효과), 이것은 이웃이 차단된 동안 가외의 Vth 이동들을 야기할 것이다. 복수 프로그램 패스들을 사용함으로써, 제 1 패스에서, 비교적 많은 수의 셀들이 동시에 차단되어, 많은 나카무라 효과를 야기하여 Vth 분포가 넓어지게 할 것이다. 제 2 패스는 예비-검증에 기인하여, 일부 셀들을 시작부터 금지되게 할 것이다. 더 많은 패스들이 진행됨에 따라, 차단된 동일 상태에 셀들의 수는 점점 적어지게 될 것이다. 최종 패스는 프로그램되는 최소 수의 셀들을 가지며, 대부분의 셀들은 금지된다. 그러므로, 나카무라 효과가 억제될 것이다.
도 12는 도 11과 유사하게, VPGM 계단을 사용하지만, 분명하게 도시되지 않았으나 펄스들 사이에 검증을 가진 전형적인 프로그램 시퀀스를 도시한 것이다. 여기에서는 어떤 상태로 프로그램하는 것을 종료하기 위해 1 ~ 16으로 숫자가 매겨진 16개의 펄스들이 도시되었다. 여기에서 문자들 A ~ D는 계단이 나누어질 서브세트들에 대응한다. 데이터 상태들 각각에 대한 협 분포로 셀들을 프로그램하는 프로세스는 자연적 분포를 한번헤 한 스텝 밀어내는 프로세스이다. 일부 비트들이 검증을 패스한 즉시, 비트들은 차단될 것이며 더 이상의 프로그래밍은 일어나지 않는다. 자연적 분포는 점차적으로 이동되어 협 분포로 고정된다.
계단의 스텝 크기 DVPGM는 최종 목표의 Vth 분포 폭을 결정할 것이다. 도 13은 차단하는 프로세스를 도시한 것이다. 자연적 분포는 많은 슬롯들로 분할되는데, 여기에서는 이들 중 첫 번째 18개가 숫자가 매겨졌다. 각 슬롯은 프로그램 목표에 도달하기 위해 어떤 수의 프로그램 펄스들을 요구하는 일 그룹의 셀들을 나타낸다. 수는 프로그램을 종료하기 위한 프로그램 펄스들의 수를 나타낸다. 맨위에 라인 상에서, 피크를 이룬 분포는 달성되려고 시도하고 있는 상태를 나타낸다. 제 1 펄스는 VPGM의 초기값이며, 각 후속되는 펄스 -여기에서는 9 펄스들이 도시되었다- 는 분포에서 제 1 빈(bin)을 요망되는 레벨로 옮길 것이다. DVPGM의 스텝 크기만큼 증가된 후속되는 펄스들 각각은 분포를 좁혀, 다음 빈(bin)의 셀들을 유치할 것이다.
이 단락에서 제시되는 기술들에서, 계단은 복수의 서브세트(subset)들로 분해될 것이다. 모든 펄스들이 여전히 포함될 것이지만, 순서는 재배열되며, 따라서 N 서브세트들이 사용된다면, 제 1 서브세트는 펄스 1, 펄스 N+1, 펄스 2N+1, 등등이 될 것이며, N 서브세트들의 나머지에 대해, 다음 서브세트는 제 2의 매 N번째 후속되는 펄스, 등등이 될 것이다. 이 프로그램 시퀀스는 예를 들면 4 부분들로 취해질 수 있다. 목적은 4번의 패스들로 프로그램하고 도 13에 관하여 기술되는 전형적인 프로그램 시퀀스에 대해 동일한 프로그램 수행 및 분포를 달성하는 것이다.
프로그램 데이터는 모든 4번의 패스들 동안 데이터 래치 내에 유지될 수 있고, 혹은 시스템은 원래의 데이터가 2진 비휘발성 캐시 배열을 사용하여 시스템들 내에 유지되는 2진 블록으로부터 데이터를 판독할 수도 있을 것이며(예를 들면, 미국특허공개 US-2010-0172179-Al 및 US-2010-0172180-A1 참조), 패스된 셀들을 차단하기 위해 가외의 래치가 사용될 수 있다. 마지막 패스는 캐시 동작들을 위해 필요하다면 래치를 해제할 수 있다. (래치 구조들에 대한 더 많은 정보는 미국특허 7,158,421 및 7,206,230)에 기술되어 있다). 패스 1에서, 도 12에 A 펄스들에 대응하는 4 패스들의 예시적인 실시예를 고찰하면, 검증은 목표 Vth 레벨로부터 멀어지게 옮겨질 것이다. 이것은 과잉 프로그래밍을 방지하기 위해 대응하는 일 그룹의 셀들을 차단할 것이며, 이렇게 하지 않는다면 큰 스텝 크기는 많은 셀들을 과잉(over)-프로그램하게 될 것이기 때문이다. 스텝 크기는 4*DVPGM이 될 것인데, 예를 들면, 스텝 크기는 한 완전한 계단에 대해 0.2V이고, 그러면 각 패스에 대해 0.8V 스텝이 사용될 수 있다. 다음(여기에서는, 제 2) 패스로 진행하기 전에, 셀들은 해제(unlcok)될 필요가 있을 것이다.
패스 2에서, 제 2 패스 프로그램으로 진행하기 전에 검증을 패스한 셀들을 차단하기 위해 최종 목표의 Vth에서 예비-검증이 사용될 수 있다. 제 1 패스로부터 일부 셀들이 디-트랩이 발생하게 한다면, 이 셀은 펄스 +DVPGM로 제 2 패스에서 다시 프로그램될 것이다. 제 2 패스 검증 레벨은 제 1 패스보다 높은 DVPGM 레벨이며, 따라서 과잉-프로그래밍을 방지하기 위해 여전히 낮을지라도, 레벨은 제 1 패스의 레벨 이상으로 여전히 높아진다. 낮은 상태에 대한 프로그램 교란을 처리하기 위해서, 제 2 패스 검증 레벨은 낮은 상태 검증을 위한 DVPGM 증가보다 약간 더 높을 수 있다. 패스 3에서, 제 3 패스 프로그램으로 진행하기 전에 예비-검증을 패스한 셀을 차단하기 위해 최종 목표의 Vth에서 예비-검증이 다시 사용될 수 있다. 제 3 패스 검증 레벨은 제 2 패스보다 더 높은 DVPGM 레벨이다. 패스 4의 마지막 서브세트에 대해서, 예시적 실시예는 제 4 패스 프로그램으로 진행하기 전에 검증을 패스한 셀들을 차단할 최종 목표의 Vth에서 예비-검증을 다시 포함한다. 이것이 여기에서는 마지막 패스이기 때문에, 제 4 패스 검증 레벨은 목표인 상태 검증 레벨에 있을 것이다.
도 14는 예시적 실시예들의 예비-검증 레벨 및 4 패스 검증 레벨들에 대한 상대적 전압 레벨들의 몇몇을 도시한 것이다. 한 주어진 데이터 상태로 기입되는 셀들에 대한 요망되는 일종의 엄밀하게 피크를 이룬 최종 분포가 도시되었고, 이 상태는 분포의 낮은 끝측에서 최종 검증 레벨에 의해 결정된다. (소거되지 않은 상태들 각각에 대해 유사한 배열이 있을 것이다). 최종 검증 레벨로 기입될 셀이 이미 이 레벨에 있다면, 이 셀은 더 이상 기입되지 않아야 하므로, 이 레벨에서 예비-검증이 행해진다. 마지막 패스(제 4)는 최종 목표 Vth 레벨을 사용할 것이며, 제 3 레벨, 제 2 레벨, 및 제 1 레벨 각각은 이 최종 레벨로부터 증가적으로 낮아지는데(step down), 각각은 스텝 크기 DVPGM로 증분적 증가의 스텝 크기로 취해진 량만큼 낮아진다. 프로그램 펄스들 사이에서 프로그램 검증은 스텝 크기들을 수용하고 일부 셀들이 목표 임계 전압에 아직 도달되지 않을 수 있는 일 그룹의 셀들을 차단하기 위해 이동되어야 하며, 여기에서 이들 초기 패스들 각각 후에 셀들은 다음 패스로 가기 전에 해제될 것이다.
제 1 패스를 살펴보면, 도 15에 도시된 바와 같이, 프로그램 펄스들은 4번 큰 스텝 크기로 인가될 것이며, 도 12에 A로 표기된 것들에 대응한다. 여기에서, A 펄스들은 이들의 관계를 더 명확하게 하는데 도움을 주기 위해 도 12에서와 동일한 위치로 도시되었는데, 실제로 실제 타이밍은 도 12 또는 도 11에서처럼 개개의 사이와 동일한 간격을 사용할 것이며, 이들은 필요한 펄스간 동작들을 허용하기 위해 실제만큼 가깝게 배치된다. 도 11에 도시된 바와 같이, 대응하는 셀들을 차단하기 위해 프로그램 펄스들 사이에서 검증이 있을 것이지만, 그러나 이것은 논의를 단순화하기 위해서 도 12엔 도시되지 않았다.
제 1 패스를 더욱 고찰하면, 도 16은 도 13과 동등한 제 1 패스이다. 맨 위에 라인 상에 도시된 바와 같이, 패스 1에서 제 1 프로그램 펄스는 초기 VPGM 값을 갖고 시작할 것이다. 여기에서, 이 워드라인에 대한 VPGM 값을 찾기 위해 제 1 패스에 미국특허공개 번호 US-2010-0091573-A1 및 US-2010-0091568-A1와 같은, 스마트 검증 알고리즘이 적용될 수 있다. 이 새로이 발견된 VPGM 값은 미래에 패스들을 위해 저장될 수 있다. 제 검증 후에, 슬롯 1 셀들만이 이들의 목표 Vth 레벨에 도달하였더라도 1,2,3,4 슬롯들 내 셀들은 차단하지 않는다면, 다음 펄스가 많은 셀들을 오버슈트(overshoot)하게 할 것이기 때문에, 차단할 것이다. 슬롯들 2,3,4 셀들은 제 1 패스 동안 차단되고, 이들은 미래의 패스들에서 더욱 프로그램될 것이다. 프로세스는 후속 패스 1 펄스들로 계속되고, 후속 펄스-검증은 모든 셀들이 프로그래밍을 종료할 때까지 진행할 것이다. 이 제 1 패스는 프로세스 속도를 높이기 위해 미국특허 7,800,945에 기술된 감소된 검증 알고리즘을 이용할 수도 있다.
제 2 패스를 도 17 및 도 18에 나타내었고, 이들은 각각 도 15 및 도 16에 제 1 패스에 대응한다. 셀들을 해제한 후에, 제 2 패스는 프로그램을 시작하기 전에 모든 상태들에 대한 예비-검증으로 시작할 것이다. 예비-검증 후에, 슬롯들 1, 5, 9, 13, 17 내 셀들은 이 패스 동안 차단될 것이다. 일부 셀들이 디-트랩 또는 다른 메커니즘에 기인하여 Vth 강하를 갖는다면, 이들은 이전에 차단되었을 때보다 1 DVPGM 증분 더 높은 펄스로 다시 프로그램될 수 있다. 도 18에서, 예비-차단 셀들은 빈 슬롯들을 갖는다. 제 1 프로그램 펄스는 VPGM+DVPGM 레벨을 사용할 것이다. 또한, 프로그램 펄스들 사이에서 검증 레벨들은 이전의 패스보다 1 DVPGM 높게 이동된다. 이어, 프로세스는 모든 셀들이 대응하는 제 2 패스 검증에서 차단할 때까지 계속된다.
도 19 및 도 20은 대응하는 제 3 패스 도면들이다. 예시적 실시예에 있어서, 제 3 패스는 프로그램을 시작하기 전에 모든 상태들에 대한 예비-검증으로 다시 시작할 것이다. 예비-검증 후에, 슬롯들 1, 2, 5, 6, 9, 10, 13, 14, 17, 18 내 셀들은 이 패스에서 임의의 프로그래밍으로부터 차단될 것이다. 일부 셀들이 디-트랩에 기인하여 Vth 강하를 갖는다면, 이들은 마지막 차단보다 1 DVPGM 더 높은 펄스로 다시 프로그램될 수 있다. 도 20에서, 예비-차단 셀들은 빈 슬롯들을 갖는다. 제 1 프로그램 펄스는 VPGM+2*DVPGM 레벨을 사용할 것이며, 프로그램 펄스들 사이에 검증 레벨들은 이전 패스보다 1 DVPGM 높게 이동된다.
제 4(그리고 이 실시예에서, 마지막) 패스를 도 21 및 도 22에 나타내었다. 전처럼, 해제 후에, 제 4 패스는 프로그램하기를 시작하기 전에 모든 상태들에 대한 예비-검증으로 시작할 것이다. 예비-검증 후에 슬롯들 1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17, 18 내 셀들은 이 패스 동안 차단될 것이다. 일부 셀들이 디-트랩 또는 다른 메커니즘에 기인하여 Vth 강하를 갖는다면, 이들은 마지막 차단보다 1 DVPGM 더 높은 펄스로 다시 프로그램될 수 있다. 도 22에서, 예비-차단된 셀들은 빈 슬롯들을 갖는다. 제 1 프로그램 펄스는 VPGM+3*DVPGM 레벨을 사용할 것이다. 프로그램 펄스들 사이에 검증 레벨들은 이전 패스보다 1 DVPGM 더 높게 이동된다. 도 22에 도시된 바와 같이, 프로그램되고 차단하게 될 훨씬 적은 수의 셀들이 있다. 더 적은 한 집단의 차단은 나카무라 효과의 결과적인 량을 현격하게 감소시킬 것이며, 이것은 플로팅 게이트에 채널 부스팅 커플링에 기인하여 Vth 말단이 더 높아지게 할 수도 있을 것이다.
또한, 기술된 골격은 프로그램 시간을 절약하기 위해서 복수 패스 프로그램의 부분으로서 연무(foggy) 프로그램을 포함시킬 수 있는데; 예를 들면, 패스 1은 연무 국면으로서 사용될 수 있고, 반면 2 패스들은 상세(fine) 모드로서 사용될 수 있다. 제 1 패스는 프로그램 속도를 높이기 위해 감소된 검증을 사용할 수 있다. (프로그래밍 국면의 최종 결과가 상이한 데이터 상태들의 분포들을 쉽게 판독될 수 있게 되는 지점까지 해상되지 않는 것인 연무 프로그래밍의 논의에 대해서는 예를 들면 미국특허 출원번호 12/642,740를 참조한다). 연무와 상세 사이에 검증 레벨은 이하 더 기술되는 바와 같이 조절될 수 있다.
복수-패스 알고리즘의 데이터 래치 요건은 통상의 프로그램 알고리즘에서와 동일할 것이다. 총 프로그램 펄스들의 수는 순서는 재배열되었지만 사용되는 동일 스텝들만큼의 단일 패스 배열과 동일하다. 각 패스는 예비-검증 시간을 추가할 것이다. 각 패스 내에 더 큰 도약들을 도입하고, 이어 다음 패스 동안 백업함으로써, 이 알고리즘은 디-트랩의 Vth 강하를 수용할 수 있고 또한 높은 VPGM 프로그램 교란에 의해 야기되는 낮은 상태 넓어짐을 감소시킬 수 있다. 정규 프로그램 시퀀스와 유사하게 비트라인간 유핀 효과(용량성 플로팅 게이트 커플링)가 제거될 수 있다. 대다수의 데이터가 이미 차단되어 있고, 프로그램 개체수가 원래의 단지 1/4인 것에 기인하여, 나카무라 효과 또한 최종 패스에서 감소될 수 있다. 검증 동작들 동안에, 개체수의 대부분은 프로그램되어 있으며, 따라서 이것은 또한 채널간 커플링 효과를 극복하는 측면에서 최종 판독 바이어스와 매우 비슷하다.
지금까지는 복수 패스들의 서로 다른 것들이 한번에 단일 워드라인에 대해에서만 논의되었다. 복수 패스들이 각 워드라인 상에서 연속적으로 수행될 수 있을지라도, 유핀 및 다른 효과들을 최소화하기 위해 워드라인들 간에 도약하면서, 여기저기에서 동작하는 것이 흔히 잇점이 있을 것이다. 이것은, 예를 들면, WLn 상에 하위 페이지가 기입되고 이어 WL(n+l) 상에 하위 페이지, 이어 WLn 상에 다음 페이지를 위해 복귀하고, 등등을 하는 미국특허 출원번호 12/051,462, 12/051,492, 및 12/642,740에 기술된 바와 같은 연무-상세 프로그래밍 또는 페이지씩 프로그래밍일 때와 유사한 상황이다. 현재 기술되는 복수-패스 알고리즘에서, 이것은 예를 들면, 기입되는 모든 워드라인들 상에 모든 패스들을 통해서, 제 1 패스가 WLn 상에서 행해지게 되고, 이어 WL(n+l) 상에서 제 1 패스, 이어 WLn 상에서 다음 패스, 등등인 것으로, 바뀔 수도 있을 것이다.
제 1 패스 상에 연무 프로그램의 사용을 고찰하면, 이것은 제 1 패스가 예비-워드라인 커플링이 되게 하고, 나중에 패스들이 사후(post)-워드라인 커플링 상에서 될 수 있게 한다. 도 23은 서로 다른 패스들을 위해 검증 레벨들에 있어 대응하는 이동을 도시한 것이다. 연무 프로그램은 유핀 효과의 워드라인-워드라인 용량성 커플링 전에 제 1 패스에서 행해진다. 이어 사후-유핀 효과로서, 다음 워드라인이 이의 연무 프로그램으로 행해진 후에 상세 프로그래밍이 행해질 수 있다. 상세 검증 레벨들은 서로 다른 후속 패스들에 대해 서로 다를 것이다. 연무 검증 레벨에서 가장 낮은 상세 검증 레벨까지의 거리는 몇 DVPGM 떨어져 있을 수 있다. 연무 분포는 곡선(601)처럼 넓어지게 될 것이다. 연무 프로그램으로 다음 워드라인을 프로그램함에 의한 워드라인-워드라인 커플링 후에, 곡선(601)은 곡선(605)으로 상측 말단을 넓힐 수 있다. 최종 분포(603)의 상측 끝은 곡선(605) 상측 말단과 일렬이 될 것이다. 워드라인-워드라인 유핀 효과에 기인하여, 패스들의 검증 레벨은 조절되어야 한다. 예를 들면, 워드라인-워드라인 커플링이 없다면, 시스템은 각 패스에서 VPGM 및 검증 레벨을 0.2V 이동시켜, 최종 0.2V의 최종 폭 분포를 얻기 위해서 모든 패스들에 대해 예를 들면 0.8V 스텝 크기를 사용할 수 있다. 워드라인들에 대해 하측-중간형(lower-middle type) 프로그램 시퀀스로부터 워드라인-워드라인 커플링에 있어선(예를 들면, 미국특허 7,502,255 참조), 시스템은 각 패스에서 VPGM 및 검증 레벨을 0.2V 이동시켜, 0.2V 폭의 최종 분포를 얻기 위해 모든 패스들에 대해 0.7V(혹은 그 미만) 스텝 크기를 사용할 수 있다.
또한, 복수-패스 기입 기술은 다음 논의의 부분들에 관련이 있는 데이터 래치 구조들에 대한 더 상세한 것도 제공하는 미국특허 7,158,421 및 7,206,230에 더 상세히 기술된 신속 패스 기입(QPW) 기술을 포함시킬 수 있다. 전형적인 기입 동작에서, 일단 메모리 셀이 이의 목표 값에서 검증하면, 이 셀은 추가의 프로그래밍으로부터 차단된다. 신속 패스 기입 배열에서, 추가의, 낮은 검증 레벨이 사용되고 따라서 셀이 이 낮은 레벨에서 검증될 때, 이의 프로그래밍 레이트는 느려지지만, 완전히 차단하지 않고, 차단은 정규의 레벨에서 검증한 후에 일어난다. 이것은 전형적으로는, 이를테면 차단을 위해 사용되는 최대의 값까지는 아니지만 비트라인 레벨을 다소 상승시키는 것과 같이, 바이어스 조건들을 변경함으로써 달성된다.
신속 패스 기입 프로그램은 한 슬롯은 상승된 비트라인 바이어스를 사용하여 저속 프로그램 모드에서 한 슬롯을 사용하고, 어떠한 금지도 없이 고속 프로그램 모드에서 다른 슬롯을 사용하여, 두 빈들(bins)을 동시에 프로그램함으로써 스텝들의 수를 감소시킬 수 있다. 이제 도 24와 이의 맨 위에 라인을 참조하면, 기입은 빈 2에 대해선 고속 프로그램과 빈 1에 대해선 저속 프로그램을 사용하여 슬롯 1 및 슬롯 2를 함께 프로그램할 것이다. 다음 패스에선, 슬롯 1 및 슬롯 2 둘 다 차단할 것이다. 예시적 실시예에서, 단지 한 신속 패스 펄스만이 한 패스에서 사용될 것이다. 또 다른 신속 패스 기입들이 필요하다면, 이것은 다음 패스에서 행해질 것이다.
신속 패스 기입을 구현하기 위해서, 서로 다른 패스들 사이에 원 데이터가 유지되어야 한다면, 기입되는 각 셀을 위해 추가의 데이터 래치가 포함될 수 있다. 예를 들면, 셀당 2-비트가 기입되고 있다면, 셀이 차단되어져 금지되었는지를 계속 파악하기 위한 한 래치와, 셀이 신속 패스 기입 레벨에서 검증되었고 부분적으로 금지될 필요가 있는지 여부를 위한 한 래치로서, 2개의 래치들이 데이터를 유지하기 위해 사용된다. 이들 할당들이 도 25에 도시되었는데, 두 래치들(ADL, BDL)은 2 비트의 데이터("D2 데이터")을 저장하며, 한 래치(CDL)는 셀이 검증되어졌고 차단("금지")될 것인지를 나타내며, 한 래치(DDL)는 셀이 신속 패스 레벨에서 검증되어졌고 저속 모드로 전환될 것인지를 나타낸다("QPW 차단"). (여기에서 예시적 실시예는 셀당 2비트를 저장하는 시스템에 대한 것이다. 더 많은 비트들을 가진 다른 셀들에 대해서, 래치들의 수는 각각에 대해 추가의 비트만큼 대응하여 증가되거나, 2진 시스템에 대해선 1만큼 감소될 것이다).
메모리가 데이터를 보관하는 2진 비휘발성 블록들을 포함하게, 기입되는 데이터가 안전하게 다른 어떤 곳에 보관될 수 있는 배열에서, 시스템은 2진 블록 또는 다른 소스로부터 원 데이터를 곧바로 다시 판독할 수있어, 셀당 필요한 데이터 래치들를 1만큼 감소시킨다. (2진 형태로 데이터를 저장하고 이어 이를 복수-상태 포맷으로 재기입하는 메모리 시스템의 예들은 예를 들면, 미국특허공개 US-2010-0172179-A1 및 US-2010-0172180-A1을 참조한다). 이러한 배열로 데이터 래치들의 할당의 예가 도 26에 도시되었다.
금지 및 신속 패스 기입 데이터 래치들이 바이어스 레벨들로 어떻게 해석(translate)될 수 있는지의 예가 도 27에 도시되었다. 처음에, 두 래치들은 0에 있을 것이며, 어떠한 금지도 없을 것이며(즉, 비트라인은 그라운드에 있다), 셀은 고속 프로그래밍을 가질 것이다. 셀이 최종 검증 레벨이 아니라 신속 패스 기입 레벨에서 검증될 때, QPW 래치는 1로 설정될 것이며, 프로그램 레이트는 비트라인을 약간 상승시킴으로써 느려질 것이다. QPW 및 최종 검증 레벨 둘 다를 패스하였을 때, 셀 상에 프로그래밍은 대응하는 비트라인을 금지 값 위로 취함으로써 금지된다.
신속 패스 기입은 이상적인 경우에 ½ DVPGM 폭으로 분포를 프로그램할 수 있다. 도 28에서, 검증 레벨들은 신속 패스 기입 검증 레벨들 뿐만 아니라 4 패스들에 대해 도시되었다. 예시적 실시예에서, QPW 검증은 예비-검증과 유사하에, 각 프로그램 패스의 시작에서만 행해진다. QPW 프로세스는 많은 추가의 검증 동작들을 요구하지 않으며 시스템은 상태당 단지 한번의 QPW 검증만을 행할 수 있어 대응하는 시간을 절약한다.
검증 시간량을 감소시키는 일반적인 방법은 도 29에 관련하여 기술될 수 있다. 이것은 셀당 2비트를 저장하지만 쉽게 다른 값들까지 확장하는 시스템의 맥락에서 다시 논의될 것이다. (도 29에서, 상태들은 가장 낮은 또는 "소거된" 상태에 대해선 E로 표기되었고, E 상태부터 프로그램된 더 높은 레벨들에 대해 A, B, C로 표기되었다. 상태들을 나타내는 A, B, C,는 도 12의 A, B, C, D 및 위에 다른 것들과 혼돈되지 않아야 하며, 이들은 계단의 서브세트들을 지칭한다). 도 29는 맨 위에 라인의 제 1 패스가 상태 분포들이 여전히 넓게 퍼지는 연무 패스인, 연무-상세 변형예에 대한 3개의 프로그래밍 패스들을 도시한 것이다. 이어, 후속 패스들은 더 느린 비트들에 대해 예비-검증을 사용하는 상세-유형의 패스들이 될 것이며 분포들은 더 엄밀해질 것이다. 제 1 패스에서, 각 상태에 대해 낮은 신속 패스 기입 검증 레벨(AVL, BVL, CVL) 뿐만 아니라 패스들의 검증 레벨이 도시되었다(AV1, BV1, CV1). 이 배열에서, QPW 검증(AVL, BVL 및 CVL)은 이전 상태 상세 검증 레벨과 정렬됨에 유의한다: BVL=AV1 및 CVL=BV1, 등등. 이 수법은 시스템이 복수 패스 알고리즘을 사용하고 있는지에 관계없이, 다른 3 비트들/셀 검증 동작들에 대해 사용될 수 있다. 후속 패스들에 있어서, 각 상태에 대해 예비-검증 레벨(PAV2, 등) 및 패스들의 검증 레벨(AVI, 등)이 도시되었다.
연무-상세 변형예를 포함하여, 복수-패스 알고리즘에서, 이전 패스로부터의 Vth 분포는 반분되고 현 패스에 포개질 것이다. 예를 들면, 분포(701)가 하측 절반은 상측 절반에 포개진다. 이것은 프로그램 목표로부터 먼 셀들이 많지 않음을 쉽게 예측할 수 있게 한다. 또한, 목표 레벨로부터 Vth 거리는 너무 멀리 떨어져 있을 수 없다. 프로그램 시퀀스의 시작에서 예비-검증의 사용은 느린 비트들이 고속 프로그래밍을 경험하게 할 수 있다. 도 29의 제 1 패스에서와 같은 신속 패스 기입 알고리즘을 살펴보면, 낮은 검증들이 총 검증 시간의 절반을 차지한다. 검증량은 프로그램 시퀀스의 시작에서 1회 예비-검증을 통해 감소될 수 있고, 이어 낮은 Vth 셀들에게 고정된 수의 풀(full) 프로그램 펄스들을 주며, 이어 차단까지 신속 패스 기입 저속 프로그램을 사용한다.
한 주어진 패스에서 검증 동작 수를 감소시키는 또 다른 보완적인 방법은 검증 레벨들의 공유를 통해서이다. 예를 들면, 제 1 패스 (연무)로 되돌아 가면, 각 상태는 낮은, 신속 패스 기입 검증과, 셀을 완전히 차단하기 위해 사용되는 높은 레벨인, 두 개의 서로 다른 검증 레벨들을 갖는다. 이 시점에서 분포들은 꽤 넓기 때문에, 한 상태에 대한 낮은 검증 레벨은 다음 낮은 상태의 더 높은 검증 레벨을 위해서도 사용될 수 있다. 예를 들면, BVL은 검증들의 수를 감소시키기 위해 AVI를 사용할 수 있다. 예시적 실시예에서, 후속 패스는 프로그램 시퀀스의 시작에서 1회 저(low) 검증을 행할 것이다. 이것은 프로그램 펄스의 시작에서 1회 신속 패스 기입 검증을 행함으로써, 가외의 검증 시간을 추가함이 없이 신속 패스 기입을 포함시킬 수 있게 할 수 있다.
결어
본 발명의 다양한 측면들이 어떤 실시예들에 관하여 기술되었으나, 발명은 첨부한 청구항들의 전체 범위 내에서 보호되게 한 것임을 알 것이다.

Claims (13)

  1. 비휘발성 메모리 장치를 프로그래밍하는 방법으로서,
    증가하는 진폭의 계단을 형성하는 펄스들을 제 1 워드라인에 인가하는 단계;
    각 펄스를 상기 제 1 워드라인에 인가한 후에, 상기 제 1 워드라인을 따라 메모리 셀들에 대한 검증 동작을 수행하는 단계 - 일련의 펄스가 상기 계단의 일련의 복수의 N 서브세트들로서 상기 제 1 워드라인에 인가되고, 상기 일련의 복수의 N 서브세트는 적어도 제 1 서브세트와 제 2 서브세트를 포함하고, 상기 제 1 서브세트는 증가하는 진폭의 순서로 순차적으로 인가되는 상기 계단의 제 1 펄스 및 매 N번째 후속 펄스를 포함하고, 상기 제 2 서브세트는 증가하는 진폭의 순서로 순차적으로 인가되는 상기 계단의 제 2 펄스 및 매 N번째 후속 펄스를 포함하며, 상기 제 2 서브세트는 상기 제 1 서브세트가 인가된 후에 인가됨 - ;
    상기 셀들의 목표 데이터 상태에 대응하는 서브세트의 검증 레벨에서 검증한 것에 응답하여, 상기 제 1 워드라인을 따라 상기 메모리 셀들이 추가로 프로그래밍되는 것을 차단(lock out)하는 단계 - 각 서브세트는 검증 동작들을 위해 상이한 세트의 검증 레벨들을 사용함 - ; 및
    상기 제 1 서브세트가 인가된 후에 그리고 상기 제 2 서브세트가 인가되기 전에, 상기 제 1 워드라인을 따라 상기 메모리 셀들이 추가로 프로그래밍되는 것을 허용하기 위해 해제(unlock)하는 단계
    를 포함하는, 비휘발성 메모리 장치 프로그래밍 방법.
  2. 제 1 항에 있어서,
    추가로 프로그래밍되는 것을 허용하기 위해 상기 메모리 셀들을 해제하고 나서 그리고 상기 제 2 서브세트를 인가하기 전에, 예비-검증 동작을 수행하는 단계; 및
    상기 셀들의 목표 데이터 상태에 대응하는 예비-검증 레벨에서 예비-검증된 메모리 셀들이 상기 제 2 서브세트에 의해 프로그래밍되는 것으로부터 차단하는 단계를 더 포함하는, 비휘발성 메모리 장치 프로그래밍 방법.
  3. 제 1 항에 있어서,
    상기 비휘발성 메모리는 데이터를 복수 상태 포맷으로 저장하며, 상기 검증 동작은 복수의 상기 데이터 상태들에 대해 상기 제 1 워드라인을 따라 상기 메모리 셀들을 검증하는, 비휘발성 메모리 장치 프로그래밍 방법.
  4. 제 1 항에 있어서,
    상기 제 1 서브세트는 연무(foggy) 프로그래밍 프로세스이며, 상기 제 1 서브세트를 인가한 후에 그러나 상기 제 2 서브세트를 인가하기 전에, 메모리 셀들의 분포가 서로 구별되는 복수 상태들로 완전히 해상(resolve)되지 않는, 비휘발성 메모리 장치 프로그래밍 방법.
  5. 제 1 항에 있어서,
    상기 제 1 서브세트 및 상기 제 2 서브세트 중 적어도 하나에 대해서, 상기 제 1 펄스 이전에, 각 목표 데이터 상태에 대해, 메모리 셀들을 추가 프로그래밍으로부터 차단하기 위해 사용되는 상기 대응하는 검증 레벨보다 낮은 한 세트의 초기 검증 레벨들을 사용하여 초기 검증 동작을 수행하는 단계; 및
    상기 셀들의 목표 데이터 상태에 대응하는 상기 서브세트의 초기 검증 레벨에서의 검증에 응답하여 더 느리게 프로그래밍되도록 상기 메모리 셀들에 대한 바이어스를 변경하는 단계
    를 더 포함하는, 비휘발성 메모리 장치 프로그래밍 방법.
  6. 제 5 항에 있어서,
    상기 제 1 서브세트 및 상기 제 2 서브세트 중 적어도 하나에 대해서, 각 펄스 후에, 각 목표 데이터 상태에 대해, 메모리 셀들을 추가의 프로그래밍으로부터 차단하기 위해 사용되는 상기 대응하는 검증 레벨보다 낮은 한 세트의 초기 검증 레벨들을 사용하여 초기 검증 동작을 수행하는 단계; 및
    상기 셀들의 목표 데이터 상태에 대응하는 상기 서브세트의 초기 검증 레벨에서의 검증에 응답하여 더 느리게 프로그래밍되도록 상기 메모리 셀들에 대한 바이어스를 변경하는 단계
    를 더 포함하는, 비휘발성 메모리 장치 프로그래밍 방법.
  7. 제 5 항에 있어서,
    상기 비휘발성 메모리는 데이터를 복수 상태 포맷으로 저장하며, 상기 검증 동작은 복수의 상기 데이터 상태들에 대해 상기 제 1 워드라인을 따라 상기 메모리 셀들을 검증하는, 비휘발성 메모리 장치 프로그래밍 방법.
  8. 제 7 항에 있어서,
    상기 복수 상태들 중 제 1 상태에 대한 초기 검증 레벨은 상기 복수 상태들 중 제 2 상태를 차단하기 위해 사용되는 검증 레벨과 동일하며, 상기 복수 상태들 중 상기 제 1 상태는 상기 복수 상태들 중 상기 제 2 상태와는 상이한, 비휘발성 메모리 장치 프로그래밍 방법.
  9. 제 1 항에 있어서,
    증가하는 진폭의 계단을 형성하는 펄스들을 제 2 워드라인에 인가하는 단계;
    각 펄스를 상기 제 2 워드라인에 인가한 후에, 상기 제 2 워드라인을 따라 메모리 셀들에 대한 검증 동작을 수행하는 단계 - 일련의 펄스가 상기 계단의 일련의 복수의 N 서브세트들로서 상기 제 2 워드라인에 인가되고, 상기 일련의 복수의 N 서브세트들은 적어도 제 1 서브세트 및 제 2 서브세트를 포함하며, 상기 제 1 서브세트는 증가하는 진폭의 순서로 순차적으로 인가되는 상기 계단의 상기 제 1 펄스 및 매 N번째 후속 펄스를 포함하고, 상기 제 2 서브세트는 증가하는 진폭의 순서로 순차적으로 인가되는 상기 계단의 상기 제 2 펄스 및 매 N번째 후속 펄스를 포함하며, 상기 제 2 서브세트는 상기 제 1 서브세트가 인가된 후에 인가됨 - ;
    상기 셀들의 목표 데이터 상태에 대응하는 서브세트의 검증 레벨에서의 검증에 응답하여, 상기 제 2 워드라인을 따라 상기 메모리 셀들이 추가로 프로그래밍되는 것을 차단하는 단계 - 각 서브세트는 검증 동작들을 위해 상이한 세트의 검증 레벨들을 사용함 - ; 및
    상기 제 1 서브세트가 인가된 후에 그리고 상기 제 2 서브세트가 인가되기 전에, 상기 제 2 워드라인을 따라 상기 메모리 셀들이 추가로 프로그래밍되는 것을 허용하기 위해 해제하는 단계 - 상기 제 1 서브세트가 인가된 후에 그리고 상기 제 2 서브세트가 인가되기 전에, 제 2 워드라인을 따라 상기 제 1 서브세트가 인가됨 -
    를 더 포함하는, 비휘발성 메모리 장치 프로그래밍 방법.
  10. 제 9 항에 있어서,
    상기 제 2 워드라인은 상기 제 1 워드라인에 이웃하는, 비휘발성 메모리 장치 프로그래밍 방법.
  11. 복수의 목표 데이터 상태들 중 하나로 복수의 메모리 셀들 각각을 기입하는 방법으로서,
    일련의 펄스들을 제 1 워드라인에 인가하는 단계;
    각 펄스를 상기 제 1 워드라인에 인가한 후에, 상기 제 1 워드라인을 따라 메모리 셀들에 대해 검증 동작을 수행하는 단계 - 상기 검증 동작은 초기 검증 레벨들 및 각 목표 데이터 상태에 대한 차단 검증 레벨을 포함하며, 상기 초기 검증 레벨은 상기 목표 데이터 상태들 각각에 대해 대응하는 상기 차단 검증 레벨보다 낮음 - ;
    대응하는 상기 셀의 초기 검증 레벨에서의 검증에 응답하여 더 느리게 프로그래밍되도록 상기 메모리 셀들에 대한 바이어스를 개별적으로 변경하는 단계; 및
    대응하는 상기 셀의 차단 검증 레벨에서의 검증에 응답하여 상기 제 1 워드라인을 따라 상기 메모리 셀들이 추가로 프로그래밍되는 것을 개별적으로 차단하는 단계 - 상기 복수 상태들 중 제 1 상태에 대한 초기 검증 레벨은 상기 복수 상태들 중 제 2 상태에 대한 차단 검증 레벨과 동일하며, 상기 복수 상태들 중 상기 제 1 상태는 상기 복수 상태들 중 상기 제 2 상태와는 상이함 -
    를 포함하는, 복수의 메모리 셀들 각각을 기입하는 방법.
  12. 제 11 항에 있어서,
    상기 검증 레벨들은 메모리 셀들의 분포가 서로 구별되는 복수 상태들로 완전히 해상되지 않는 연무 프로그래밍 프로세스를 위한 것인, 복수의 메모리 셀들 각각을 기입하는 방법.
  13. 제 11 항에 있어서,
    상기 검증 레벨들은 메모리 셀들의 분포가 서로 구별되는 복수 상태들로 완전히 해상되지 않는 복수-패스 프로그래밍 프로세스를 위한 것인, 복수의 메모리 셀들 각각을 기입하는 방법.
KR1020147001625A 2011-07-21 2012-07-05 복수 패스들로 분해된 계단 파형을 사용하는 프로그램 알고리즘 KR101787177B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/188,352 US8432740B2 (en) 2011-07-21 2011-07-21 Program algorithm with staircase waveform decomposed into multiple passes
US13/188,352 2011-07-21
PCT/US2012/045605 WO2013012567A1 (en) 2011-07-21 2012-07-05 Program algorithm with staircase waveform decomposed into multiple passes

Publications (2)

Publication Number Publication Date
KR20140061351A KR20140061351A (ko) 2014-05-21
KR101787177B1 true KR101787177B1 (ko) 2017-10-18

Family

ID=46640094

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147001625A KR101787177B1 (ko) 2011-07-21 2012-07-05 복수 패스들로 분해된 계단 파형을 사용하는 프로그램 알고리즘

Country Status (4)

Country Link
US (1) US8432740B2 (ko)
KR (1) KR101787177B1 (ko)
CN (1) CN103797540B (ko)
WO (1) WO2013012567A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9007841B1 (en) * 2013-10-24 2015-04-14 Western Digital Technologies, Inc. Programming scheme for improved voltage distribution in solid-state memory
US9530506B2 (en) 2014-11-21 2016-12-27 Sandisk Technologies Llc NAND boosting using dynamic ramping of word line voltages
KR20160129430A (ko) * 2015-04-30 2016-11-09 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법
CN107958687B (zh) * 2016-10-18 2021-05-11 群联电子股份有限公司 存储器编程方法、存储器控制电路单元及其存储装置
US10460797B2 (en) 2017-09-08 2019-10-29 Macronix International Co., Ltd. Method for programming non-volatile memory and memory system
US10424387B1 (en) 2018-05-16 2019-09-24 Sandisk Technologies Llc Reducing widening of threshold voltage distributions in a memory device due to temperature change
US11049578B1 (en) 2020-02-19 2021-06-29 Sandisk Technologies Llc Non-volatile memory with program verify skip
US11288011B2 (en) 2020-03-26 2022-03-29 Western Digital Technologies, Inc. Non-volatile memory array with write failure protection for multi-level cell (MLC) storage elements using coupled writes
US11250920B2 (en) * 2020-06-30 2022-02-15 Sandisk Technologies Llc Loop-dependent switching between program-verify techniques
US11328780B1 (en) 2020-12-09 2022-05-10 Sandisk Technologies Llc Reduced verify scheme during programming based on spacing between verify levels
US11532370B1 (en) 2021-05-25 2022-12-20 Sandisk Technologies Llc Non-volatile memory with fast multi-level program verify

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1426968A2 (en) 2002-12-05 2004-06-09 STMicroelectronics S.r.l. Method of programming an electrically programmable non-volatile semiconductor memory
US20090190397A1 (en) 2008-01-30 2009-07-30 Samsung Electronics Co., Ltd. Memory device and data reading method
WO2011066234A1 (en) 2009-11-25 2011-06-03 Sandisk Corporation Programming non-volatile memory with reduced number of verify operations
US20110149651A1 (en) 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Non-Volatile Memory And Method With Atomic Program Sequence And Write Abort Detection
US20110161784A1 (en) 2009-12-30 2011-06-30 Selinger Robert D Method and Controller for Performing a Copy-Back Operation

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5149208A (en) 1990-04-02 1992-09-22 Balanced Engines, Inc. Bearing with lubricating and non-lubricating spacers
JPH0453096A (ja) 1990-06-19 1992-02-20 Toshiba Corp アナログ記憶装置
US5146208A (en) 1990-08-17 1992-09-08 Parra Jorge M Method and apparatus for detecting intrusion into a body of water
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5701266A (en) 1995-12-14 1997-12-23 Intel Corporation Programming flash memory using distributed learning methods
US5729489A (en) 1995-12-14 1998-03-17 Intel Corporation Programming flash memory using predictive learning methods
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
EP0913832B1 (en) 1997-11-03 2003-07-23 STMicroelectronics S.r.l. Method for multilevel programming of a nonvolatile memory, and a multilevel nonvolatile memory
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6522584B1 (en) * 2001-08-02 2003-02-18 Micron Technology, Inc. Programming methods for multi-level flash EEPROMs
US6850441B2 (en) 2002-01-18 2005-02-01 Sandisk Corporation Noise reduction technique for transistors and small devices utilizing an episodic agitation
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US20060140007A1 (en) 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
KR100766241B1 (ko) 2006-05-10 2007-10-10 주식회사 하이닉스반도체 플래쉬 메모리 소자의 프로그램 방법
US7486561B2 (en) 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7489549B2 (en) 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7696035B2 (en) 2006-11-13 2010-04-13 Sandisk Corporation Method for fabricating non-volatile memory with boost structures
US7468920B2 (en) 2006-12-30 2008-12-23 Sandisk Corporation Applying adaptive body bias to non-volatile storage
US7502255B2 (en) 2007-03-07 2009-03-10 Sandisk Corporation Method for cache page copy in a non-volatile memory
US7904793B2 (en) 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US20080247254A1 (en) 2007-04-05 2008-10-09 Hao Thai Nguyen Method for temperature compensating bit line during sense operations in non-volatile storage
KR20100050471A (ko) * 2007-06-21 2010-05-13 샌디스크 코포레이션 프로그램 펄스 지속 시간의 지능적 제어
KR101373794B1 (ko) * 2007-06-25 2014-03-13 샌디스크 테크놀로지스, 인코포레이티드 저장 소자들 사이에 개별적으로 제어가 가능한 차폐 플레이트들을 갖는 비휘발성 저장장치
US7679229B2 (en) * 2007-10-12 2010-03-16 Bose Corporation Relieving stress in a flexure
KR100922977B1 (ko) 2007-12-27 2009-10-22 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US7986554B2 (en) 2008-03-19 2011-07-26 Sandisk Technologies Inc. Different combinations of wordline order and look-ahead read to improve non-volatile memory performance
US7961512B2 (en) 2008-03-19 2011-06-14 Sandisk Corporation Adaptive algorithm in cache operation with dynamic data latch requirements
US7826271B2 (en) 2008-06-12 2010-11-02 Sandisk Corporation Nonvolatile memory with index programming and reduced verify
US7800945B2 (en) 2008-06-12 2010-09-21 Sandisk Corporation Method for index programming and reduced verify in nonvolatile memory
US7808831B2 (en) * 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
US8130552B2 (en) 2008-09-11 2012-03-06 Sandisk Technologies Inc. Multi-pass programming for memory with reduced data storage requirement
US7768836B2 (en) 2008-10-10 2010-08-03 Sandisk Corporation Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1426968A2 (en) 2002-12-05 2004-06-09 STMicroelectronics S.r.l. Method of programming an electrically programmable non-volatile semiconductor memory
US20090190397A1 (en) 2008-01-30 2009-07-30 Samsung Electronics Co., Ltd. Memory device and data reading method
WO2011066234A1 (en) 2009-11-25 2011-06-03 Sandisk Corporation Programming non-volatile memory with reduced number of verify operations
US20110149651A1 (en) 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Non-Volatile Memory And Method With Atomic Program Sequence And Write Abort Detection
US20110161784A1 (en) 2009-12-30 2011-06-30 Selinger Robert D Method and Controller for Performing a Copy-Back Operation

Also Published As

Publication number Publication date
US8432740B2 (en) 2013-04-30
WO2013012567A1 (en) 2013-01-24
US20130021849A1 (en) 2013-01-24
CN103797540B (zh) 2016-08-17
CN103797540A (zh) 2014-05-14
KR20140061351A (ko) 2014-05-21

Similar Documents

Publication Publication Date Title
KR101787177B1 (ko) 복수 패스들로 분해된 계단 파형을 사용하는 프로그램 알고리즘
KR101942134B1 (ko) Nand 플래시 메모리에 대한 기입 동작들 동안에 소스, 웰, 및 비트라인들을 등화 및 레귤레이트함에 의한 충전 사이클링
KR101578812B1 (ko) 가장 빠른 및/또는 가장 느린 프로그래밍 비트를 무시하여 프로그램 검증이 감소된 비휘발성 메모리와 방법
JP5266389B2 (ja) ランプダウンプログラミングのための不揮発性メモリおよび方法
US8374031B2 (en) Techniques for the fast settling of word lines in NAND flash memory
KR101541710B1 (ko) 비휘발성 메모리 및 인접한 교란에 대해 파이프라인식 정정으로 감지하는 방법
US7224614B1 (en) Methods for improved program-verify operations in non-volatile memories
KR101197478B1 (ko) 파워 절약 독출 및 프로그램 검증 동작들을 구비한비휘발성 메모리 및 방법
US7310255B2 (en) Non-volatile memory with improved program-verify operations
US7508721B2 (en) Use of data latches in multi-phase programming of non-volatile memories
JP4638544B2 (ja) 不揮発性メモリにおける改善されたプログラムベリファイ操作のための方法および装置
US20100165743A1 (en) Non-Volatile Memory And Method With Continuous Scanning Time-Domain Sensing
KR20150028785A (ko) 혼성 록아웃을 가진 비휘발성 메모리를 위한 콤팩트한 고속 감지 증폭기
KR20150030219A (ko) 감소된 레이아웃 면적 및 파워 소비를 가진 비휘발성 메모리를 위한 콤팩트한 고속 감지 증폭기
US20150371703A1 (en) Memory cells using multi-pass programming
KR20100014242A (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