KR100895331B1 - 비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한 전하패킷 계량 - Google Patents

비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한 전하패킷 계량 Download PDF

Info

Publication number
KR100895331B1
KR100895331B1 KR1020067017086A KR20067017086A KR100895331B1 KR 100895331 B1 KR100895331 B1 KR 100895331B1 KR 1020067017086 A KR1020067017086 A KR 1020067017086A KR 20067017086 A KR20067017086 A KR 20067017086A KR 100895331 B1 KR100895331 B1 KR 100895331B1
Authority
KR
South Korea
Prior art keywords
charge
programming
reservoir
volatile
storage device
Prior art date
Application number
KR1020067017086A
Other languages
English (en)
Other versions
KR20070007285A (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 KR20070007285A publication Critical patent/KR20070007285A/ko
Application granted granted Critical
Publication of KR100895331B1 publication Critical patent/KR100895331B1/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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5624Concurrent multilevel programming and programming verification

Landscapes

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

Abstract

비정밀 프로그래밍 프로세스를 첫번째로 수행하고 뒤이어 정밀 프로그래밍 프로세스를 수행함으로써 비 휘발성 메모리 소자가 프로그램된다. 어떤 비 휘발성 메모리 셀들은 비정밀 프로그래밍 과정을 통해 검증되는 반면에 다른 비 휘발성 메모리 셀들은 정밀 프로그래밍 과정을 통해 검증되는 효율적인 검증 체계를 사용함으로써 상기의 비정밀/정밀 프로그래밍 방법은 향상될 수 있다. 상기 정밀 프로그래밍 프로세스는 전류 싱킹, 전하 패킷 계량 또는 다른 적절한 수단들을 통해 완수될 수 있다.
플래쉬 메모리, 프로그래밍, 비정밀, 정밀

Description

비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한 전하 패킷 계량{CHARGE PACKET METERING FOR COARSE/FINE PROGRAMMING OF NON-VOLATILE MEMORY}
본 발명은 비휘발성 메모리에 관한 기술이다.
본 출원은 다음 2건의 미국 특허출원과 연관되어 있다. 즉, Daniel C Guterman, Nima Mokhlesi 와 Yupin Fong 에 의해 "Efficient Verification For Coarse/Fine Programming Of Non-Volatile Memory"라는 명칭으로 본 출원과 동일자로 출원된 미국 특허출원과 Daniel C Guterman, Nima Mokhlesi 와 Yupin Fong 에 의해 "Variable Current Sinking For Coarse/Fine Programming Of Non-Volatile Memory"라는 명칭으로 본 출원과 동일자로 출원된 미국 특허출원과 관련되어 있고, 상기 연관된 2건의 출원들은 본 발명에 대한 참조로서 본 명세서에 전체로서 편입되어 있다.
반도체 메모리 장치는 다양한 전자 장치에서 더욱더 일반적으로 사용되어 왔다. 예를 들어, 비휘발성 반도체 메모리는 셀룰러 전화기, 디지털 카메라, 개인 휴대정보 단말기(PDA), 휴대용 연산 장치, 비-휴대용 연산 장치 및 기타 장치에서 사용된다. 전기적으로 소거가능하고 프로그램가능한 판독 전용 메모리(Electrical Erasable Programmable Read Only Memory,EEPROM) 및 플래시 메모리가 가장 일반적 인 비휘발성 반도체 메모리이다.
통상적인 EEPROM과 플래시 메모리는 플로팅 게이트(floating gate)를 사용하는데, 이는 반도체 기판의 채널영역과 절연되어 있으며 채널영역의 상부에 위치한다. 플로팅 게이트는 소스와 드레인 영역 사이에 위치한다. 제어 게이트(control gate)는 플로팅 게이트로부터 절연되어 그 위에 제공된다. 트랜지스터의 임계 전압은 플로팅 게이트 상에 유지되는 전하량에 의해 제어된다.
즉, 트랜지스터가 자신의 소스와 드레인 사이에서 도통(conduction)을 허용하기 위해 턴온되기 전에 제어 게이트에 인가되어야 하는 전압의 최소 크기는 플로팅 게이트 상의 전하 레벨에 의해 제어된다.
일부 EEPROM 및 플래시 메모리 장치는 2개의 전하 범위를 저장하기 위해 사용되는 플로팅 게이트를 구비하고, 이에 따라 메모리 셀은 2개의 상태 사이에서 프로그래밍/소거될 수 있다.
EEPROM 또는 플래시 메모리 장치를 프로그래밍할 때, 통상적으로 프로그램 전압은 제어 게이트에 인가되고 비트 라인은 접지된다. 채널로부터의 전자들은 플로팅 게이트로 주입된다. 전자들이 플로팅 게이트에 축적될 때, 플로팅 게이트는 음으로 대전되고 메모리 셀의 임계 전압은 증가한다.
통상적으로, 제어 게이트에 인가된 프로그램 전압은 일련의 펄스들로서 인가된다. 펄스들의 진폭은 미리 결정된 계단 크기(예를들면, 0.2V)만큼 각각의 연속적인 펄스를 따라 증가한다.
펄스들 사이의 간격에서, 검증 동작(verify operations)들이 수행된다. 즉, 병렬로 프로그램될 셀들의 그룹중에서 각각의 셀에 프로그래밍된 레벨이, 연속적인 프로그래밍 펄스들 사이에서 판독되는데, 이는 상기 프로그래밍된 레벨이 검증 레벨(프로그램되어질 레벨)보다 동일하거나 큰지를 판별하기 위해서이다.
프로그래밍을 검증하는 한가지 수단은 특정 비교 지점에서의 도통을 시험하는 것이다. 충분히 프로그램되었다고 검증된 셀들은 록-아웃(lock-out) 되는데, NAND 셀들의 경우, 비트라인 전압을 0 에서 Vdd(예를들면, 2.5V)까지 증가시킴으로서 이러한 셀들에 대한 프로그래밍 과정이 종료된다.
어떤 경우에는 상기 펄스들의 갯수는 제한될 것이며(예를들면, 20개의 펄스들), 주어진 메모리 셀이 상기 마지막 펄스에 의해 완벽하게 프로그램되지 않았다면, 에러가 추정된다.
어떤 구현예들에서는 메모리 셀들은 프로그래밍 되기전에 소거된다(블록단위로 또는 다른 단위들로). 프로그래밍에 관련된 좀더 자세한 내용은 2003년 3월 5일자로 미국에 출원된 "Self Boosting Technique"(출원번호 10/379,608) 과, 2003년 7월 29일자로 미국에 출원된 "Detecting Over Programmed Memory"(출원번호 10/629,068)에서 찾아볼수 있으며, 상기의 2건의 출원들은 본 발명에 대한 참조로서 본 명세서에 전체로서 편입되어 있다.
도1은 플래쉬 메모리 셀의 제어 게이트(또는, 다른 경우에는 스티어링 게이트)로 인가되는 프로그램 전압신호(Vpgm)가 도시되어 있다. 상기 프로그램 전압신호(Vpgm)는 시간상에서 진폭이 증가하는 일련의 펄스들을 포함한다.
프로그램 펄스들의 시작시에는, 프로그램될 모든 셀들의 비트라인들(예를 들 면, 드레인에 연결됨)은 접지되어 있으며, 따라서 채널과 게이트 사이에서 Vpgm 의 전압차가 발생한다.
일단, 한 셀이 목적 전압(프로그램 검증을 통과)에 도달하면, 각각의 비트라인 전압은 Vdd 까지 증가하므로 상기 메모리 셀은 프로그램 금지 모드로 들어간다(그 셀에 대한 프로그램은 금지됨).
복수-상태의 플래쉬 메모리 셀은, 금지된 전압 범위에 의해 분리되는, 복수개이면서 별개인 허용된 임계전압 범위들을 정의함으로써 구현할 수 있다.
예를 들면, 도2에는 3 비트의 데이터에 상응하는 8개의 임계 범위들(0, 1, 2, 3, 4, 5, 6, 7)이 도시되어 있다. 다른 메모리 셀들은 8개 초과 또는 8개 미만의 임계 범위들을 사용할 수 있다. 각각 별개인 임계 전압 범위들은 데이터 비트들의 세트를 위해 기 설정된 값들에 대응한다.
어떤 구현예에서는 이러한 데이터 값들(예를 들면, 논리 상태들)은 그레이 코드(gray code) 할당기법을 이용하여 임계 전압 범위에 지정되는데, 이는 플로팅 게이트의 임계전압이 인접한 물리적 상태로 잘못 천이하였더라도, 하나의 비트만이 영향을 받게하기 위함이다.
메모리 셀 내로 프로그램되는 데이터와 상기 셀의 임계 전압 범위 사이의 특정한 관계는 셀들에 적용된 데이터 인코딩 체계(encoding scheme)에 따라 좌우된다.
예를 들면, 미국등록특허 US 6,222,762 와 2003년 6월 13일에 출원된 미국특허출원(출원번호 10/461,244) "Tracking Cells For A Memory System" 에는 복수-상 태의 플래쉬 메모리 셀들을 위한 다양한 데이터 인코딩 체계가 개시되어 있으며, 상기의 등록과 출원은 참고로서 본 명세서에 전체적으로 편입된다.
전술한 바와같이, 플래쉬 메모리 셀들을 프로그래밍할 때에, 프로그래밍 펄스들 사이에서 상기 메모리 셀들이 검증되는데, 이는 상기 메모리 셀들이 목적하는 임계 전압에 도달하였는지를 확인하기 위해서이다.
검증하는 방법들 중의 하나는 목적하는 임계값에 상응하는 워드라인에 펄스를 인가한 후, 그 메모리 셀이 턴온되는지 안되는지를 판단하는 방법이 있다. 만일 메모리 셀이 턴온되었다면, 이는 그 메모리 셀이 목적하는 임계 전압값에 도달하였음을 의미한다. 플래쉬 메모리 셀들로 구성된 어레이들의 경우, 많은 셀들이 병렬로 검증된다.
복수-상태 플래쉬 메모리들로 구성된 어레이들의 경우, 메모리 셀이 어떤 상태에 있는지를 판단하기 위해, 각각의 상태에 대한 검증 동작이 수행될 것이다.
예를 들면, 8개의 상태들로 데이터를 저장할 수 있는 복수-상태 메모리 셀에 대해서는 7개의 비교 지점들에 대한 검증 동작이 수행되어야 할 것이다. 도3에는 3개의 프로그래밍 펄스들인 10a, 10b, 10c(이들은 도1에도 도시되어 있음)가 도시되어 있다. 프로그래밍 펄스들 사이에는 7개의 검증 동작을 수행하기 위한 7개의 검증 펄스가 있다. 시스템은 상기 7개의 검증 동작을 기반으로 메모리 셀들의 상태를 판단할 수 있다.
이와같이 각각의 프로그래밍 펄스들 후에, 7개의 검증 동작을 수행하는 것은 프로그래밍 과정을 더디게 만든다. 검증에 소요되는 시간 부담을 경감하는 방법들 중의 하나는 좀 더 효율적인 검증방법을 사용하는 것이다. 예를 들면, 본 발명에 대한 참고로서 본 명세서에 전체적으로 편입된, 2002년 12월 5일자 미국 출원인 "Smart Verify for Multi-State Memories" (미국 특허출원번호 10/314,055) 에는 고성능의 검증 과정(Smart Verify Process)이 개시되어 있다.
상기한 고성능의 검증 과정을 사용하는 프로그램/검증 시퀀스 동안에, 복수-상태 메모리에 적용되는 쓰기 시퀀스를 위한 예시적인 구현예를 참고로 살펴보면 다음과 같다.
즉, 과정을 처음 시작할 때에는, 선택된 메모리 셀들이 프로그램될 예정인 복수-상태 중에서 가장 낮은 상태(예를 들면, 도2의 상태 1)만이 검증 동작 동안에 체크된다. 일단, 하나 혹은 그 이상의 메모리 셀들이 첫번째 저장 상태(예를 들면, 도2의 상태 1)에 도달하면, 일련의 복수-상태 중에서 다음번 상태(예를 들면, 도2의 상태 2)가 검증 과정에 추가된다.
이와같이 다음 번 상태가 검증과정에 추가되는 방법으로는 다음과 같은 방법이 있을 수 있다. 즉, 시퀀스 동안 전술한 첫번째 저장 상태에 가장 빨리 도달한 메모리 셀들이 있으면, 이를 기반으로 다음 번 상태가 즉각적으로 검증과정에 추가되는 방법이 있겠으며, 또는 일반적으로 메모리들은 한 상태에서 다음 상태로 천이하기 위해서는 여러번의 프로그래밍 단계를 거치도록 디자인되므로 이를 감안하여 여러번의 싸이클에 해당하는 지연시간 이후에 검증과정에 추가되는 방법이 있을 수도 있다.
상기의 지연시간은 고정적일 수도 있으며 또는, 매개변수를 이용한 구현예를 이용함으로써 디바이스의 특성에 맞게 적절한 정도의 지연시간이 선택되도록 할 수도 있다. 이와같이 검증 단계에서, 체크가 이미 끝난 상태들의 세트에 상태들을 추가하는 것은 가장 높은 상태가 추가될 때 까지 진행된다. 이와 유사하게, 더 낮은 상태들은 검증 세트들로부터 제거될 수 있는데, 이러한 더 낮은 상태에 해당하는 모든 메모리 셀들은 목적 값들에 대한 검증이 성공적으로 수행되었으므로, 후속 프로그래밍으로부터는 록 아웃된다.
이와같이 적당한 속도를 가지면서 프로그래밍을 진행하는 것 말고도, 복수-상태 메모리 셀에서 적절한 데이터 저장능력을 확보하기 위해서는, 복수-상태 메모리셀의 복수개의 임계전압 범위가 충분한 여유를 가지고 서로 분리되어 있어야 하는데, 그래야만 메모리 셀이 명확하게 프로그램되거나 판독될 수 있기 때문이다.
추가적으로 조밀한 임계전압 분포가 바람직하다. 조밀한 임계전압 분포를 얻기 위해서는, 전형적으로 작은 프로그램 단계가 사용되어 왔지만 이는 메모리 셀들의 임계전압에 대한 프로그래밍을 더욱 더디게 만들었다. 즉, 원하는 임계전압 분포가 조밀하면 조밀할 수록, 프로그램 단계는 더 작아지며, 프로그래밍 과정의 속도 역시 더 느려진다.
프로그래밍 과정의 속도를 많이 저하시키지 않고도 조밀한 임계전압 분포를 얻을 수 있는 방법중의 하나는, 2 가지 모드(mode, phase)을 갖는 프로그래밍 과정을 이용하는 것이다.
그 첫번째 모드는 비정밀(coarse) 프로그래밍 모드로, 이 모드에서는 좀 더 빠른 방식으로 임계 전압값을 증가시키는 것이 주요 관심사이며 조밀한 임계 전압 분포에는 상대적으로 관심이 적다.
그 두번째 모드는 정밀(fine) 프로그래밍 모드로, 이 모드는 목적하는 임계 전압에 도달하기 위해서 좀더 느린 방식으로 임계 전압값을 증가시키는 반면에 조밀한 임계전압 분포 또한 획득하고자 하는 모드이다.
비정밀/정밀 프로그래밍에 대한 실시예는 하기의 특허문서들에 개시되어 있으며 이들은 본 발명에 대한 참조로서 본 명세서에 전체로서 편입된다. 즉, 2002년 1월 22일자로 미국에 출원된 "Non-Volatile Semiconductor Memory Device Adapted to Store A Multi-Valued Data in a Single Memory Cell" (출원번호 10/051,372), 미국특허 US 6301161, 미국특허 US 5712815, 미국특허 US 5220531, 미국특허 US 5761222 가 그것들이다.
프로그래밍 과정동안에 메모리 셀을 검증하고자 할 때, 전술한 일부 해결책들은 먼저 비정밀 모드에서 검증 과정을 수행한 후에 이어서 정밀 모드에서 검증 과정을 수행할 것이다. 이와같은 검증 과정은 검증에 필요한 시간을 증가시킨다. 상기한 비정밀/정밀 프로그래밍 방법은 상기한 고성능의 검증 과정(Smart Verify Process)과 연동하여 함께 사용될 수도 있다.
메모리 기기들이 점점 더 작아지고 조밀해지게 되면서, 조밀한 임계 전압 분포와 적절한 프로그래밍 시간에 대한 요구는 날로 증가하고 있다. 비록 비정밀/정밀 프로그래밍 방법이 일부 현존하는 이슈에 대한 해법을 제공할 순 있겠지만, 상기한 비정밀/정밀 프로그래밍 방법을 더욱 더 개선한다면 원하는 조밀한 임계전압 분포와 적절한 프로그램 시간을 얻을 수 있다.
본 발명이 속하는 기술분야를 크게 생각해 본다면, 비휘발성 메모리에 관한 기술이며, 좀더 상세하게는 향상된 비정밀/정밀 프로그래밍 방법에 관한 것이다.
본 발명의 일 실시예는 비 휘발성 저장소자들을 프로그래밍하는 장치를 포함하여 이루어진다. 상기 장치는 하나 또는 그 이상의 검증 선택 회로들, 프로그래밍 회로와 통신할 수 있는 비 휘발성 저장소자들을 포함한다. 상기 검증 선택 회로들은 비 휘발성 저장소자들의 제 2 서브세트는 정밀 검증되게함과 동시에 비 휘발성 저장소자들의 제 1 서브세트는 비정밀 검증되게한다.
본 발명의 일부 실시예들은 비 휘발성 저장소자와 통신하는 감지회로, 상기 감지회로의 출력를 기반으로 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인지 아니면 정밀 프로그래밍 모드인지를 알려주는 출력신호를 생성하는 프로그래밍 모드 지시회로와 상기 프로그래밍 모드 지시회로와 통신하는 제 1 선택회로를 포함하여 이루어진다. 상기 제 1 선택회로는, 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인 경우 비정밀 검증신호를 상기 비 휘발성 저장소자에 인가하며, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드인 경우 정밀 검증신호를 상기 비 휘발성 저장소자에 인가한다.
구현을 위한 하나의 실시예에서 상기 장치는, 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인지 정밀 프로그래밍 모드인지를 판단하는 여러 단계들을 포함하여 이루어진 방법을 수행한다. 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드라고 판단되면, 상기 비 휘발성 저장소자에 대한 정밀 검증이 수행되는 일 없이, 상기 비 휘발성 저장소자에 대한 비정밀 검증이 수행된다.
상기 비 휘발성 저장소자가 정밀 프로그래밍 모드라고 판단되면, 상기 비 휘발성 저장소자에 대한 비정밀 검증이 수행되는 일 없이 상기 비 휘발성 저장소자에 대한 정밀 검증이 수행된다.
본 발명의 다른 실시예는 게이트와 제어 단자들의 세트를 갖는 비 휘발성 저장소자를 포함하여 이루어진다. 또한 상기 장치는, 최소한 하나 이상의 상기 제어 단자들과 통신하는 스위칭 가능한 전류 싱킹(sinking) 디바이스를 포함하여 이루어진다.
상기 스위칭 가능한 전류 싱킹 디바이스는, 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드에 있다면 상기 제어 단자에 비정밀 전류 싱크를 제공하며, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드에 있다면 상기 제어 단자에 정밀 전류 싱크를 제공한다.
어떤 실시예들에서는 전류 싱크는 정밀 프로그래밍 모드인 동안에만 제공되며, 비정밀 프로그래밍 모드에서는 제공되지 않는다.
본 발명의 또 다른 실시예는 상기 비 휘발성 저장소자와 통신하는 감지회로, 상기 감지회로의 출력을 기초로 하여 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인지 아니면 정밀 프로그래밍 모드인지를 알려주는 출력신호를 생성하는 프로그래밍 모드 지시회로, 그리고 상기 프로그래밍 모드 지시회로와 상기 비 휘발성 저장소자와 통신하는 스위칭 가능한 전류 싱킹 디바이스를 포함하여 이루어진다.
상기 스위칭 가능한 전류 싱킹 디바이스는, 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드에 있다면 상기 비 휘발성 저장소자에 비정밀 전류 싱크를 제공하며, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드에 있다면 상기 비 휘발성 저장소자에 정밀 전류 싱크를 제공한다.
어떤 실시예에서는, 비 휘발성 저장소자의 게이트에 공통 프로그래밍 신호를 인가하고, 비정밀 프로그래밍 동안 비 휘발성 저장소자로부터의 제 1 전류를 싱크하고, 비 휘발성 저장소자의 임계전압이 제 1 검증레벨에 도달하였는지를 판별하고 비 휘발성 저장소자의 임계전압이 상기 제 1 검증레벨에 도달하였는지에 대한 판단결과에 대응하여 제 2 전류를 싱크하도록 스위칭한다.
본 발명의 다른 실시예는 상기 비 휘발성 저장소자와 통신하는 감지회로, 상기 감지회로를 기반으로 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인지 아니면 정밀 프로그래밍 모드인지를 알려주는 출력신호를 생성하는 프로그래밍 모드 지시회로, 그리고 상기 프로그래밍 모드 지시회로와 상기 비 휘발성 저장소자와 통신하는 스위칭 가능한 전하 패킷 계량(metering) 회로를 포함하여 이루어진다.
상기 스위칭 가능한 전하 패킷 계량회로는, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드에 있음을 알려주는 상기 프로그래밍 모드 지시회로의 출력에 대응하여 상기 비 휘발성 저장소자에 계량된 전하를 제공한다.
본 발명의 또 다른 실시예는, 비 휘발성 저장소자들의 세트와, 상기 비 휘발성 저장소자들과 통신하는 개별적으로 스위칭 가능한 전하 패킷 계량 시스템을 포함하여 이루어진다.
상기 개별적으로 스위칭 가능한 전하 패킷 계량 시스템은, 개별적으로 스위치되어 정밀 프로그래밍 모드에서 상기 비 휘발성 저장소자들을 프로그래밍하기 위해서 특정하게 계량된 전하를 제공하는 바, 이때 비정밀 프로그래밍 모드에서는 상기 비 휘발성 저장소자들을 프로그래밍하기 위해 상기 특정하게 계량된 전하를 제공하지는 않는다.
본 발명의 한 실시예는, 비 휘발성 저장소자에 대한 비정밀 프로그래밍 과정을 수행하는 단계, 상기 비 휘발성 저장소자가 정밀 프로그래밍 과정으로 스위치해야 하는지를 판단하는 단계, 그리고 이에 상응하여 상기 정밀 프로그래밍 과정을 수행하는 단계를 포함하여 이루어진다.
정밀 프로그래밍 과정을 구현하는 한 예는, 상기 비 휘발성 저장소자를 프로그램하기 위해서, 비 휘발성 저장소자를 위한 제어 라인을 선행 충전(pre-charge)하는 단계와 상기 비 휘발성 저장소자를 경유하여 상기 제어 라인을 방전시키는 단계를 포함하여 이루어진다.
도면과 연계되어 본 발명의 바람직한 실시예를 설명한 후술될 기재에 의해, 이상에서 설명한 바와 같은 본 발명의 목적 및 장점과 본 발명의 또 다른 목적 및 장점은 좀더 명확해질 것이다.
도1 에는 비 휘발성 메모리 셀들을 프로그램하기 위해 사용되는 프로그램 전압의 일례가 도시되어 있다.
도2 에는 비 휘발성 저장장치를 위한 상태 간격의 일례가 도시되어 있다.
도3 에는 플래쉬 메모리 셀들을 프로그램하기 위한 프로그램 전압 펄스들과 상기 프로그램 펄스들 사이의 검증 펄스들의 일례가 도시되어 있다.
도4 에는 본 발명을 구현할 수 있는 플래쉬 메모리 시스템의 실시예에 대한 블록도가 도시되어 있다.
도5 에는 도4에 도시된 시스템에서 메모리 셀 어레이의 일정영역에 대한 일실시예의 평면도가 도시되어 있다.
도6 에는 도5에 도시된 메모리 셀 어레이에서 A-A 절단면을 따른 부분적인 단면도가 도시되어 있다.
도7 에는 도3에 도시된 구조와 전기적으로 등가인 회로가 도시되어 있다.
도8 에는 일 방향으로 메모리 셀들을 동작시키기 위한 예제 전압들에 관한 테이블이 도시되어 있다.
도9A 에는 비정밀/정밀 프로그래밍시 시간축에 상응하는 임계전압과 비트라인 전압에 대한 그래프가 포함되어 있다.
도9B 에는 비정밀/정밀 프로그래밍시 시간축에 상응하는 임계전압과 비트라인 전압에 대한 대체 그래프가 포함되어 있다.
도10 에는 비 휘발성 메모리를 프로그램하기 위한 과정에 대한 일 실시예를 기술하는 플로우 차트가 도시되어 있다.
도11 에는 비정밀/정밀 검증을 수행하기 위한 과정에 대한 일 실시예를 기술하는 플로우 차트가 도시되어 있다.
도12 에는 비 휘발성 메모리 셀을 검증하는데 사용되는 구성요소들에 관한 블록도가 도시되어 있다.
도13 에는 감지시에 시간축에 상응하는 비트라인 전압에 관한 그래프가 도시되어 있다.
도14 에는 비 휘발성 메모리 셀을 검증하는데 사용되는 구성요소들에 관한 대체 블록도가 도시되어 있다.
도15 에는 비 휘발성 메모리 셀을 검증하는데 사용되는 구성요소들에 관한 대체 블록도가 도시되어 있다.
도16 에는 임계전압 대비 프로그램 펄스에 대한 그래프가 도시되어 있다.
도17 에는 전류 싱크에 관한 제 1 실시예를 이용하는 비 휘발성 메모리의 개략도가 도시되어 있다.
도18 에는 전류 싱크에 관한 제 2 실시예를 이용하는 비 휘발성 메모리의 개략도가 도시되어 있다.
도19 에는 전류 싱크를 사용하는 비정밀/정밀 프로그래밍 과정에 대한 일 실시예를 기술하는 플로우 차트가 도시되어 있다.
도20 에는 전하 패킷 계량에 관한 제 1 실시예를 이용하는 비 휘발성 메모리의 개략도가 도시되어 있다.
도21 에는 전압 대비 시간에 관한 그래프가 도시되어 있다.
도22 에는 전하 패킷 계량을 사용하는 비정밀/정밀 프로그래밍 과정에 대한 일 실시예를 기술하는 플로우 차트가 도시되어 있다.
도23 에는 전하 패킷 계량에 관한 제 2 실시예를 이용하는 비 휘발성 메모리의 개략도가 도시되어 있다.
도24 에는 전하 패킷 계량에 관한 제 3 실시예를 이용하는 비 휘발성 메모리의 개략도가 도시되어 있다.
도25 에는 전하 패킷 계량에 관한 제 4 실시예를 이용하는 비 휘발성 메모리의 개략도가 도시되어 있다.
Ⅰ. 메모리 시스템
본 발명의 다양한 측면을 포함하는 예제적인 메모리 시스템이 도4의 블록도에서 일반적으로 도시되어 있다. 도4에 도시된 구조 말고도 다른 구조들이 본 발명과 관련하여 사용될 수 있다.
개별적으로 어드레스 가능한 굉장히 많은 수의 메모리 셀들(11)은 컬럼(column)과 로우(row)로 구성된 어레이에서 정렬된다. 어레이(11)의 컬럼라인들을 따라 확장된 비트라인들은 배선(15)을 통해 비트라인 디코더, 드라이버 그리고 감지증폭기 회로(13)와 전기적으로 연결된다. 어레이(11)의 로우라인들을 따라 확장된 워드라인들은 배선(17)을 통해 워드라인 디코더, 드라이버 회로(19)와 전기적으로 연결된다.
메모리 셀 어레이(11)의 컬럼라인들을 따라 확장된 조향(steering) 게이트들은 배선(23)을 통해 조향 게이트 디코더, 드라이버 회로(21)와 전기적으로 연결된다. 각각의 회로들(13, 19, 그리고 21)은 버스(Bus)(25)를 통해 제어기(27)로부터 주소들을 입력받는다. 디코더와 드라이버 회로들(13, 19, 21)은 또한 개별적인 제어 및 상태 신호라인(29, 31, 33)을 통해 제어기(27)와 연결된다.
조향 게이트들과 비트라인들에 인가되는 전압들은, 제어 및 드라이버 회로(13, 21)를 서로 연결하는 버스(22)를 통해서 조정된다.
일부 실시예에서 제어기(27)는, 여기에 기술된 기능들을 조정하기 위한 상태 머신(state machine)를 포함하여 이루어진다. 다른 실시예에서는 상기 상태 머신은 상기 제어기와는 독립적으로 동작한다.
제어기(27)는 배선(35)을 통해서 호스트 기기(미도시)와 연결될 수 있다. 상기 호스트는 개인용 컴퓨터, 노트북 컴퓨터, 휴대용 기기, 디지털 카메라, 오디오 플레이어, 휴대폰 또는 다양한 다른 기기가 될 수 있다. 도4에 도시된 메모리 시스템은, PCMCIA, 컴팩플래쉬TM, MMCTM, 스마트미디어, 시큐어디지털TM, 메모리스틱, 그리고 다른것들 중의 하나와 같이 현존하는 복수개의 물리적이고 전기적인 기준들 중 하나에 따라서 카드형태로 구현될 수 있다. 카드 형식으로 구현되는 경우, 상기 라인들(35)은 카드의 커넥터에 연결되며, 상기 커넥터는 호스트 기기의 상보적 커넥터와 인터페이스 된다.
또는 도4에 도시된 메모리 시스템은 호스트 기기에 삽입되어(embedded) 구현될 수도 있다. 또는 메모리 시스템의 나머지 구성요소들은 착탈이 가능한 카드에 잔존하는 반면에 제어기(27)가 호스트 기기에 삽입되어 구현될 수도 있다. 또 다른 실시예들에서는 상기 메모리 시스템은 카드 이외의 형식으로 패키지될 수 있다. 예를 들면, 상기 메모리 시스템은 하나 또는 그 이상의 집적회로로 구현될 수 있으며 또는 하나 또는 그 이상의 회로기판 또는 다른 패키지들을 이용하여 구현될 수 있 다.
디코더 및 드라이버 회로(13, 19, 21)는, 프로그래밍, 읽기 그리고 소거 기능들을 수행하기 위한 제어신호에 따라 각각의 제어 및 상태 배선들(29, 31, 33)을 통해 인가되는 적절한 전압을 어레이(11)의 각각의 라인들에 제공하는데, 이는 버스(25)를 통해 어레이(11)에 접근하는 것과 유사하다.
전압 레벨들과 다른 어레이 매개변수들을 포함하는 상태 신호들은, 동일한 제어 및 상태 배선들(29, 31, 33)을 통해 어레이(11)에서 제어기(27)로 공급된다. 회로(13)에 포함된 복수개의 감지 증폭기는 전류 또는 전압레벨들을 입력받는데, 상기 전류 또는 전압레벨들은 어레이(11) 내부에서 어드레스된 메모리 셀들의 상태들을 나타낸다. 상기 감지증폭기는 읽기 동작 동안에 배선(41)을 통해서 메모리 셀들의 상태에 관한 정보를 제어기(27)로 제공한다. 통상적으로 많은 수의 메모리 셀들에 대한 상태들을 병렬로 읽기 위해서 많은 수의 감지증폭기가 사용된다.
Ⅱ. 메모리 셀
도5 에는 메모리 어레이(11)의 일정부분에 대한 첫번째 구현예에 관한 평면도가 도시되어 있다. 도6 에는 메모리 셀 어레이에서 A-A 절단면을 따른 부분적인 단면도가 도시되어 있다. 기판과 도전성 구성요소들은 그 사이에 위치한 유전막에 대한 상세한 표현없이 도시되고 있는데, 이는 도면을 단순화하기 위함이다. 하지만, 적절한 산화막들이 도전성막들 사이에 그리고 도전성막들과 기판 사이에 포함되어야 함은 충분히 이해될 것이다.
실리콘 기판(45)은 평탄한 상면(47)을 포함하여 구성되어 있다. 최초의 이온 주입공정과 후속 확산공정을 통해서, 연장된 확산영역(49, 51, 53)은 상부 표면(47)을 거쳐 기판(45) 내부에 형성된다. 연장된 확산영역(49, 51, 53)은 메모리 셀들의 소스들과 드레인들로 사용된다.
이러한 설명들을 위한 약속을 제공하기 위해서, 상기 확산영역들은 "x" 방향으로 일정거리 이격되어 있으며, "y" 방향으로 연장된 길이를 갖고 있다. 이러한 "x" 와 "y" 방향들은 본질적으로 서로 직교한다.
로우(row)들과 컬럼(column)들로 구성된 어레이 안에서, 적절한 게이트 유전막이 구비된 많은 수의 플로팅 게이트들이 기판 표면(47)의 건너편에 구비되어 있다.
플로팅 게이트들(55, 56, 57, 58, 59, 60) 로 이루어진 하나의 열(row)은 플로팅 게이트들(62, 63, 64, 65, 66, 67) 로 이루어진 또 다른 하나의 열에 평행하여 인접하고 있다.
플로팅 게이트들(69, 55, 62, 71, 73) 로 이루어진 하나의 행(column)은 플로팅 게이트들(75, 56, 63, 77, 79) 로 이루어진 또 다른 하나의 행에 평행하여 인접하고 있다.
상기 플로팅 게이트들은 도전성으로 도핑된 다결정 실리콘(폴리실리콘)의 제1 막으로 이루어지는 바, 상기 폴리실리콘은 기판 상에 형성된 후 하나 이상의 마스킹 단계를 이용하는 식각공정을 통해 개별적인 플로팅 게이트들로 분리된다.
비트라인 디코더 및 드라이버 회로(13)(도4에 도시됨)는 배선(15)를 통해, 도5의 확산영역들(49, 51, 53)를 포함하여 어레이의 모든 비트라인들(소스/드레인 확산영역들)과 연결된다. 개별적인 메모리 셀들로 구성된 컬럼들의 상기 소스들과 상기 드레인들은, 버스(25)를 통해 인가되는 주소와 배선(29)를 통해 인가되는 제어 신호들에 대응하여 읽기 또는 프로그래밍 동작을 수행하기 위해 적절한 동작전압에 연결되어 있다.
도5와 도6에 도시된 구조는 2개의 플로팅 게이트 컬럼마다 하나의 조향 게이트를 사용한다. 조향 게이트(81, 83, 85)는 "y" 방향으로 연장되어 있으며, "x" 방향의 폭을 갖는데, 2개의 인접한 플로팅 게이트 컬럼과 상기 2개의 인접한 플로팅 게이트 컬럼 사이에 위치한 소스/드레인 확산영역을 가로질러 확장된다.
"x" 방향에서, 그 어떤 2개의 조향 게이트들간의 간격은, 2개의 조향 게이트에 의해 중첩되는 인접한 플로팅 게이트 칼럼간의 간격보다는 최소한 큰데, 이는 기판 상에서 상기 게이트가 이러한 간격을 가지고 나중에 형성되도록 하기 위함이다.
상기 조향 게이트는 도전성으로 도핑된 제 2 폴리실리콘막을 식각하여 형성되는데, 상기 제 2 폴리실리콘막은 제 1 폴리실리콘막과 적절한 폴리실리콘 막간 유전막(inter-polysilicon layer dielectric)을 포함하는 전체 표면상에 형성된다.
조향 게이트 디코더 및 드라이버 회로(21)(도4에 도시됨)는 배선(23)을 통해 모든 조향 게이트들과 연결되어 있으며, 드라이버 및 감지증폭기(13)가 제공하는 데이터, 배선(33)을 통한 제어신호들 그리고 버스(25)를 통해 제공되는 어드레스들에 대응하여 조향 게이트들 각각의 전압들을 개별적으로 조절할 수 있다.
워드라인들(91, 92, 93, 94, 95)은 "x" 방향으로 길게 늘어져 있으며, 조향 게이트들 상에서 y 방향으로 일정한 간격을 갖고 있으며 각 워드라인은 플로팅 게이트들의 열(row)과 정렬되어 확장된다.
상기 워드라인들은 도전성으로 도핑된 제 3 폴리실리콘막을 식각하여 형성되는 바, 상기 제 3 폴리실리콘막은 상기 제 2 폴리실리콘막 상에 처음으로 형성된 유전막의 상면과 조향 게이트들 사이에서 노출된 영역들의 상면을 포함하는 전체 표면 상에 형성된다.
워드라인은 읽기나 쓰기 동작시에 자신이 속한 열(row)에 있는 모든 메모리 셀을 선택한다. 선택 게이트(워드라인) 디코더 및 드라이버 회로(19)는 메모리 셀 어레이에서 하나의 열(row)을 개별적으로 선택하기 위해 각각의 워드라인에 연결되어 있다. 비트라인과 조향 게이트 디코더 및 드라이버 회로(13, 21)(도4에 도시됨)에 의해, 선택된 열내에 있는 개별적인 메모리 셀들에 대한 읽기나 쓰기가 가능해진다.
비록 전술한 구조에서 상기 게이트들은 도핑된 폴리실리콘 물질로 구성되었지만, 도전성을 갖는 다른 물질들이 전술한 3개의 폴리실리콘 막들 중 최소한 하나 이상을 대체하기 위해 사용될 수 있다.
예를 들면, 워드라인들과 선택 게이트들이 형성되는 상기 제 3 폴리실리콘막은, 도전성을 높이기 위해 텅스텐과 같은 도전성과 내열성을 갖는 금속 실리사이드가 폴리실리콘 상부에 형성된 폴리사이드(polycide) 물질로 구성될 수도 있다. 폴리사이드는 상기의 제 1 또는 제 2 폴리실리콘막을 대체하기 위해서는 잘 사용되지 않는데, 이는 폴리사이드에서 형성된 폴리실리콘 층간 실리콘 산화막(inter-polycrystalline-silicon oxide)의 품질이 대부분 만족스럽지 못하기 때문이다.
도5나 도6에는 금속 도전막은 도시하지 않았다. 통상적으로 상기 확산영역들과 상기 폴리실리콘들의 전도도는 금속의 전도도보다 훨씬 나쁘기 때문에, 금속 도전체는, 상기 폴리실리콘들과 확산영역들의 길이를 따라서 주기적으로 일정간격을 두고 중간에 개재된 막들을 관통하여 각각의 금속배선과 연결된 별도의 막들을 포함하여 이루어진다. 도5 내지 도6의 실시예에 도시된 모든 확산영역들과 모든 폴리실리콘막들은 개별적으로 구동되어야 하므로, 확산영역들과 폴리실리콘막들의 갯수와 이러한 금속배선들의 갯수 사이에는 일대일 대응이 이루어짐이 일반적이다.
도7은 도6에 도시된 구조와 전기적으로 등가인 회로가 도시되어 있는데, 등가인 구성요소들은, 프라임(')이 더 추가된 것을 제외하고는 도5와 도6의 도면부호와 동일한 도면부호로 표시되었다. 도시된 구조는 인접한 구조와 소스와 드레인 확산영역을 공유하고 있다. 인접한 확산영역(49, 51) 사이에서 기판에 형성된 채널을 통한 도통(conduction)은 3개의 다른 영역에서 서로 다른 게이트 요소에 의해 제어된다.
왼편의 첫번째 영역(T1-left)은, 첫번째 영역의 상부에서 바로 밀착된 플로팅 게이트(56)와 첫번째 영역과 전기용량적으로 연결된 조향 게이트(81)를 갖는다. 오른편의 두번째 영역(T1-right)은 플로팅 게이트(57)와 조향 게이트(83)에 의해 유사한 방법으로 제어된다. 첫번째 영역(T1-left)과 두번째 영역(T1-right) 사이에 있는 세번째 영역은, 워드라인(92)의 일부인 선택 게이트(99)에 의해 제어된다.
확산영역들(49, 51) 사이에서 채널을 통한 전자들의 전도 레벨은, 이러한 서로 다른 게이트 요소들이 게이트들에 인가된 전압들을 통해 그들 각각의 채널 영역들에 제공한 전기장에 영향을 받는다.
플로팅 게이트의 상기 전압은, 플로팅 게이트가 운반하는 순수한 전기적인 전하의 레벨에 다른 게이트들 및 노드들과 전기용량적으로 커플링된 모든 전치 전하(displacement charge)를 합한 값에 좌우된다. 플로팅 게이트 하부의 채널 부분을 통해 허용되는 전도 레벨은, 플로팅 게이트상의 전압에 의해 제어된다.
선택 게이트(99)에 인가되는 전압에 의해 채널은, 단순히 턴 오프될 수도 있으며, 소스/드레인 영역들을 연결하여 개개의 셀들을 선택하기 위해 원하는 전도 레벨로 될 수 있다. 어떤 실시예에서는 하나의 개별적인 메모리 셀은 3개의 트랜지스터가 직렬로 연결된 것으로 간주될 수 있으며, 채널의 3개의 서로 다른 영역들(T1-left, T2, T1-right)중 어느 하나에 대응한다. 다른 실시예에서는 각 플로팅 게이트는 하나의 메모리 셀로 간주될 수 있다.
하나의 메모리 셀에 있는 2개의 플로팅 게이트 중 하나의 플로팅 게이트는, 메모리 셀에 있는 다른 하나의 플로팅 게이트(선택되지 않은 플로팅 게이트, 이하에서는 비 선택 플로팅 게이트라 함) 상의 조향 게이트에 전압을 인가함으로서 프로그래밍과 읽기 동작을 위해서 선택되는데, 이를 통해 상기 다른 하나의 플로팅 게이트에 의해 얼만큼의 전하(전하량은 플로팅 게이트의 상태와 관련있다)가 운반되는지에 상관없이 상기 다른 하나의 플로팅 게이트 아래에 있는 채널 영역이 적절한 도전성을 갖는다.
상기 메모리 셀의 선택 트랜지스터가 워드라인에 인가된 충분한 전압에 의해 턴온될 때, 그 셀을 겨냥한 읽기 동작과 프로그래밍 동작에 대해 반응하는 것은 상기 선택된 플로팅 게이트 뿐이다.
하나의 플로팅 게이트의 상태를 읽는 동안에, 소스와 드레인 사이를 흐르는 셀의 전류는, 상기 선택된 플로팅 게이트에 의해 운반되는 전하의 양에 좌우되며 다른 플로팅 게이트에 의한 전하는 고려대상이 아니다.
비록, 비 선택 플로팅 게이트 상부의 조향 게이트에 전압이 인가되면 비 선택 플로팅 게이트 아래의 채널부분이 도전성으로 되며, 상기 전압은 같은 조향 게이트를 통해 인접한 셀의 인접한 플로팅 게이트에도 커플링되어 있지만, 인접한 셀의 다른 구성요소들에 대해 적절한 전압 조건들을 마련하게 되면, 상기 전압이 인접한 셀에 가하는 영향을 회피할 수 있다.
도5 내지 도7에 도시된 실시예의 플로팅 게이트들은, 비트라인들(소스와 드레인 확산영역들)과 2개의 조향 게이트에 전압들을 인가함으로써 바람직하게 프로그램 될 수 있는데, 이와같이 함으로써 기판의 채널영역에 있는 전자들은 게이트 유전막을 지나서 선택된 플로팅 게이트로 주입되기에 충분한 에너지를 얻을 수 있다.
이를 위한 바람직한 기술은 미국 등록특허 US 5313421, US 5712180 에 개시된 "source side injection" 에 잘 기술되어 있으며, 상기 특허들은 본 발명에 대한 참조로서 본 명세서에 전체로서 편입된다.
도5 내지 도7에 도시된 실시예에서 메모리 셀들에 대한 소거(erase)동작을 수행하기 위해서, 선택된 플로팅 게이트들의 전자들이 워드라인의 선택 게이트 또는 채널을 통해 제거되는 방식으로 상기 메모리 셀들이 디자인되거나 동작할 수도 있다.
만일 선택 게이트를 이용하여 소거 동작이 수행된다면, 플로팅 게이트의 가장자리(103)와 선택 게이트(99) 사이의 유전막은, 플로팅 게이트의 가장자리에서 성장된 얇은 두께의 산화막인 것이 바람직하며, 셀의 다양한 구성요소에 적절한 전압이 인가되었을 때 이를 통해 전자들이 빠져나간다. 동일한 내용이 플로팅 게이트의 가장자리(105)와 선택 게이트(99) 사이에도 적용된다.
선택 게이트(99)를 통해 소거동작이 수행되도록 디자인되어 있는 경우에는, 기판 표면(47)과 선택 게이트 사이에 위치한 게이트 절연막에 걸리는 전압 기울기를, 그 게이트 절연막의 절연파괴(breakdown) 레벨보다 충분히 낮게 유지해야만 한다.
하지만, 메모리 셀에 인가되는 다른 전압은 5 볼트 또는 그 이하인데 반하여, 워드라인에 인가되는 전압은 기본적으로 10 볼트 이상까지 올라가며, 소거 동작시에는 때때로 20 볼트 또는 그 이상의 전압이 인가되는 경우도 있기 때문에, 상술한 점이 문제가 되고 있다.
선택 게이트 유전막(선택 게이트와 기판 표면사이에 개재된 유전막)에 걸리는 전압 기울기를 감소시킬 수 있는데, 선택 게이트 유전막의 두께를 더 두껍게 만들거나 또는 통상적으로 사용되는 것보다 더 높은 유전상수를 갖는 물질을 선택 게이트 유전막으로 사용함으로써 전압 기울기를 감소시킬 수 있다. 후자는 선택 트랜지스터의 동작에 악영향을 미칠 수도 있다.
만일, 메모리 셀들에 대한 소거동작이 채널을 통하여 이루어진다면, 도5 내지 도7에 도시된 실시예들은 어느정도 변형되어야 한다.
첫번째로, 선택 게이트(99)와 인접한 플로팅 게이트의 가장자리(103, 105) 사이에 개재된 유전막은 더 두꺼워져야 하는데, 이는 플로팅 게이트에 대한 소거동작이 선택 게이트를 통해 이루어지는 것을 방지하기 위함이다.
두번째로, 플로팅 게이트의 저면과 기판 표면(47) 사이에 개재된 게이트 유전막의 두께는 약 100Å 정도로 얇아져야 하는데, 이는 상기 유전막을 관통하는 전자들의 터널링 현상을 더 용이하게 하기 위함이다.
세번째로, 블록단위로 동시에 소거되어야 하는 메모리 셀들은 컬럼들(columns)을 따라서 그룹을 이루거나 또는 블록들 내에서 그룹을 이루어야 한다.
어떤 실시예에서는, 하나의 블록이 기판 상에서 다른 블록들과 분리되어 있다. 이는 통상적인 3중 웰 공정(triple well process)을 이용하면 되는데, 3중 웰 공정에서는 p형 기판에 n형 웰이 형성되며, 상기 n형 웰 내에 셀들의 블록이 있는 p형 웰이 배치되어, 상기 블록을 다른 블록들과 분리하고 있다. 이후, 소거될 블록들이 있는 p형 웰에 적절한 소거 전압이 인가되므로, 다른 블록들에 영향을 미치지 않고 소거동작이 진행된다.
도4 내지 도7에 도시된 구조들에 대한 좀 더 상세한 설명은, 미국특허 US 6151248 에 개시되어 있으며, 상기 특허는 본 발명에 대한 참조로서 본 명세서에 전체로서 편입된다.
도4 내지 도7에 도시된 구조는 적절한 메모리 셀에 대한 하나의 실시예이다. 다른 구조들 역시 본 발명에 적용될 수 있다. 예를 들면, 어떤 실시예에서는 전하를 저장하는 유전막이 포함된 다중막으로 이루어진 유전막이 사용될 수도 있다.
본 발명의 다른 실시예들에서는 NAND 타입의 플래쉬 메모리 셀이 사용되거나 또는 NOR 타입의 플래쉬 메모리 셀이 사용될 수 도 있다.
NAND 타입 플래쉬 메모리 셀에 대한 적절한 실시예들과 동작설명은 하기의 미국등록특허와 미국출원특허(미국특허 US 5570315, US 5774397, US 6046935, US 5386422, US 6456528 그리고 출원번호는 09/893277, 공개번호는 US2003/0002348 인 미국 특허출원)에 개시되어 있으며 이들은 모두 본 발명에 대한 참조로서 본 명세서에 전체로서 참조된다. 다음 하기의 등록특허들(미국특허 US 5095344, US 5172338, US 5890192, US 6151248)에는 NOR 타입 플래쉬 메모리에 대한 실시예와 설명이 개시되어 있으며 이들은 모두 본 발명에 대한 참조로서 본 명세서에 전체로서 참조된다. 다른 타입들을 갖는 플래쉬 메모리 셀들과 다른 타입들을 갖는 비 휘발성 저장소자들 역시 본 발명에 사용될 수 있다.
Ⅲ. 메모리 어레이 동작
메모리 셀 어레이(11)에 대한 프로그램, 읽기, 소거동작에 사용되는 동작전압들의 일 예가 도8의 테이블에 도시되어 있다. 2 번째 줄은 선택 게이트(워드라인)를 이용하여 소거동작이 수행되는 셀들의 동작과 관련되며, 8 번째 줄은 기판을 통해 소거동작이 수행되는 셀들의 변형된 동작에 관한 것이다. 이러한 실시예에서, p형 도핑영역과 비트라인 확산영역을 포함하고 있으며 셀들이 형성된 기판은 n 형이다. 상기 기판은 이러한 동작들이 수행되는 동안 접지되어 있다.(ground potential)
도8의 테이블에서 첫번째 줄을 참조하면, 비 선택 열(row)에 대한 전압조건들이 도시되어 있다. 비 선택 열(row)에 대한 워드라인은 드라이버 회로(도4의 도면부호 19)에 의해 접지되어 있다. 도8의 테이블에서, 비 선택 열에 대응하는 비트 라인들(확산영역들)의 칼럼과 셀들의 조향 게이트들의 칼럼에 개시되어 있는 "X" 는 이러한 요소들에 인가되는 전압은 어찌되든지 상관없다(don't care)는 것을 나타낸다.
회로(13, 19, 21)들 중 그 어떤 것도 음전압을 발생시키고 있지 않으므로, 상기한 실시예에서 하나의 열(row)의 선택 게이트들에 인가된 0 볼트는, 상기 열(row)을 따르는 모든 셀이 동작되지 않는다는 것을 보장한다. 그들의 채널들을 통해서 어떤 전류도 흐르지 못한다. 워드라인에 0 볼트가 인가된 상기 열에 대한 영향 없이, 동일한 칼럼의 서로 다른 열에 속하는 다른 셀들에 대한 프로그래밍 또는 읽기 동작이 수행될 수 있다.
상기 테이블의 두번째 줄은, 워드라인의 선택 게이트를 통해 소거동작이 수행되도록 디자인된 셀들을 소거하는 경우에 적용될 수 있는 전압들의 세트에 관한 일례를 도시하고 있다.
10 ~ 25 볼트(예를 들면, 20 볼트)의 고전압인 소거전압 VE 는 드라이버 회로(19)에 의해 워드라인들에 인가되는데, 상기 워드라인들은 자신에게 속한 플로팅 게이트들이 소거되어야 하는 모든 워드라인들을 말한다.
이와같은 동작은, 많은 숫자의 연속된 열들 내에 있는 모든 셀들을 포함하는 블록을 최소한 하나 이상 포함하여 수행되는 것이 일반적이다. 하지만, 선호되는 응용예에서는 더 적거나 또는 더 많은 셀들이 동시에 소거될 수 있다. 또한, 소거 블록은 하나의 열에 해당하는 셀들로 제한될 수 도 있다.
하나 또는 그 이상으로 선택된 열들에 속하는 메모리 셀들의 조향 게이트들은, 드라이버 회로(21)에 의해 저전압(예를 들면, 0 볼트) 상태가 되는데, 이는 플로팅 게이트들의 전압을 저전압으로 유지하기 위함이며, 조향 게이트들과 플로팅 게이트들 사이에 형성된 높은 정도의 용량결합(capacitive coupling)에 의해서 플로팅 게이트들의 전압을 저전압으로 유지하는 것이 가능해진다.
이와같이 플로팅 게이트들과 그들 각각의 선택 게이트들(워드라인들) 사이에서 야기된 전위차는, 전자들이 중간에 개재된 유전막을 통해 터널링하도록 유도한다. 소거동작에 관한 좀더 자세한 설명은 미국특허 US 5270979 에 개시되어 있으며, 이는 본 발명에 대한 참조로서 본 명세서에 전체로서 편입된다.
도8에 도시된 테이블의 세번째 줄과 네번째 줄은, 하나의 메모리 셀에 있는 두개의 플로팅 게이트들의 상태를 판독하는데 사용될 수 있는 전압들의 일례를 도시하고 있다. 세번째 줄은 왼쪽 플로팅 게이트를 위한 것이며, 네번째 줄은 오른편 플로팅 게이트를 위한 것이다.
각각의 케이스에서, 채널을 통해 전류가 흐를 수 있도록 셀의 선택 트랜지스터를 턴온시키기에 충분한 전압인 VSR 까지 선택 게이트에 인가되는 전압을 상승시킴으로서 상기 메모리 셀은 사용가능해 진다. 이와같은 전압은 일반적으로 선택 트랜지스터의 문턱전압보다 1 볼트 정도 높은 전압이다.
하나의 플로팅 게이트에 대한 전압 상태를 읽는 경우에는, 읽혀질 상기 플로팅 게이트 상의 조향 게이트에는 전압 VM 이 인가되며, 다른 플로팅 게이트 상의 조 향 게이트에 인가되는 전압은 VBR 까지 상승하는데, 이는 도8에 도시된 테이블의 세번째 줄과 네번째 줄에 개시된 바와같다.
비 선택 플로팅 게이트의 상태가 어떻게 프로그램되어 있는지에 관계없이, 비 선택 플로팅 게이트 하부의 채널영역이 충분히 도전성을 갖게 하기 위하여, 전압 VBR 은 충분히 높은 고전압(예를 들면, 8 볼트)이 된다.
선택된 플로팅 게이트의 상태를 읽기 위하여, 전압 VM 은 읽기 동작동안 다수의 전압값들의 계단형태가 되며(이에 대해선 후술한다), 그리고 셀 전류가 기 정의된 임계값을 넘어서게 될 때 회로(13)내부의 감지증폭기에 의해 플로팅 게이트의 상태 값이 검출된다.
도8에 도시된 테이블의 다섯번째 줄과 여섯번째 줄은, 하나의 메모리 셀에 있는 두개의 플로팅 게이트들 중 하나를 프로그래밍하는데 사용될 수 있는 전압들의 일례를 도시하고 있다.
동작을 위한 셀을 선택하기 위해서, 선택 게이트에 인가되는 전압은 셀의 선택 트랜지스터를 턴온하기에 충분할 정도로 상승한다.
전압 VSP 는 읽기동작 동안 사용되는 전압인 VSR 과 다를 수도 있는데, 이는 소스 쪽의 주입 프로그래밍 속도(source side injection programming speed)를 최적화하기 위함이다. 예를 들면, 선택 트랜지스터의 문턱전압이 1 볼트 일때, VSP는 2.2 볼트이다.
프로그램되어지기 위해 선택된 플로팅 게이트와 셀의 같은 편에 위치한 비트라인 확산영역에 인가되는 전압은, 프로그래밍 동작동안 최대 비트라인 전압(예를 들면, 5 볼트)으로 상승한다. 상기 전압은 충분히 높은 전압이 되는데, 이는 플로팅 게이트 채널과 선택 게이트 채널간의 간격에서 충분한 전기장이 형성되어 소스 사이드 열 전자 프로그래밍(source side hot electron programming)을 얻을 정도로, 상기 전압은 충분히 높은 전압이 된다.
프로그래밍 동작 동안, 비 선택 플로팅 게이트와 셀의 같은 편에 위치한 비트라인 확산영역은 0 볼트 부근에서 바이어스 된다.
비 선택 플로팅 게이트 상부의 조향 게이트에 인가되는 전압은, 비 선택 플로팅 게이트 아래에 위치한 채널 영역이 충분히 도전되도록 하는 전압(예를 들면, VBP 는 8 볼트)인, 전압 VBP 까지 상승하는데, 이는 비 선택 플로팅 게이트에 얼마만큼의 플로팅 게이트 전압이 존재하는지에 관계없이, 원하는 플로팅 게이트를 프로그램하는 것을 방해하지 않기 위해서이다(플로팅 게이트 전압들의 프로그래밍 윈도우 범위 내에서).
전압 VP 는 선택된 플로팅 게이트의 상부에 위치한 조향 게이트에 인가되는 전압이며, 이 전압으로 인해 선택된 플로팅 게이트의 전압이 선택된 플로팅 게이트 하부의 채널에서 원하는 전기장 조건(열 전자 프로그래밍을 위한 조건)을 만들어 낼 수 있는 만큼의, 레벨을 갖게된다.
예를 들면, 전압 VP 는 5 내지 12 볼트 이내의 값을 가질 수 있다. 이 전압 은 프로그래밍 동작동안 변할 수 있다.
전형적으로는, 프로그래밍용 전압들의 적절한 세트가 소거된 셀에 제일 먼저 인가되며, 뒤이어 읽기용 전압들의 세트가 인가되는데, 만일 선택된 플로팅 게이트가 원하는 전압 상태(이진 저장을 위한 프로그램 상태 또는 다중레벨 저장을 위한 변화가능한 저장 상태중 하나일 수도 있음)로 프로그램되어 있지 않다는 것이, 읽기 과정에서 알려지면 다시 프로그램용 전압들이 인가되는데, 다시 인가되는 전압들은 먼저 번 세트와는 부분적으로 다를 수도 있다.
프로그래밍을 위해 선택된 열에 속해있긴 하지만 자신들은 프로그램되지 않을 셀들에 인가되는 전압들이, 도8에 도시된 테이블의 일곱번째 줄에 개시되어 있다. 예를 들면, 어레이의 구획된 부분내에 있는 하나의 열에서, 동시에 프로그램되는 많은 수의 셀들은 상기 열을 따라 배치되는데, 그들 자신들 사이사이에 프로그램되지 않는 다른 셀들이 교변적으로 배치된다. 이와같이 프로그램되지 않는 셀들이 인가받는 전압이 도8에 도시된 테이블의 일곱번째 줄에 개시되어 있다.
마주보고 있는 상기 비트라인 확산영역들은, 채널로 전류가 흘러들어가지 않도록 하기 위하여 동일한 전압으로 유지된다(예를 들면, 둘다 0 볼트 또는 둘다 5 볼트). 첫번째 줄에서 사용된 정의와 마찬가지로, 상기 "X" 는 이러한 셀들의 조향 게이트들에 인가되는 전압이 무엇이든지 상관없다(don't care) 라는 뜻이다.
기판을 통하여 소거동작이 이루어지도록 디자인된 메모리 어레이에서는, 두번째 줄의 전압들 대신에 여덟번째 줄의 소거전압 조건들이 적용된다. 소거될 셀들 의 블록을 포함하는 p형 웰과 p형 웰을 둘러싼 n형 웰 모두, 소거전압 VE 까지 상승하는데, 예를 들면 10 ~ 25 볼트(적절하게는 20 볼트)의 범위를 갖는다. 이들 셀들에 대한 프로그래밍 동작과 읽기 동작 동안에는 이러한 웰들은 접지 전위를 유지한다.
양의 전압인 VSE 는 소거동작 동안에 선택 게이트들에 인가됨이 바람직한데, 이는 기판과 선택 게이트 사이에서 형성되는 과도한 전위차에 의해 선택 게이트 유전막이 손상될 수도 있기 때문에, 선택 게이트 유전막에 인가되는 전압을 감소시키기 위함이며, 그렇지 않으면, 셀의 동작을 위한 적절한 두께보다 더 두껍게 선택 게이트 유전막을 만들어야 한다.
이와같은 전압(VSE)은, 선택 게이트와 소거되야할 인접한 플로팅 게이트들을 부분적으로 결합시키기 때문에, 너무 높은 전압이어서는 안된다. 그렇지 않으면, 상기 소거동작을 위해 고 전압상태로 만들어진 플로팅 게이트들과 기판의 채널 사이의 전위차가 너무 많이 감소한다. VE 값에 좌우되긴 하지만, VSE 의 예시적인 범위는 3 ~ 12 볼트정도이다. VE 값이 20 볼트인 경우에는, VSE 는 10 볼트 정도가 바람직하다.
도8에 도시된 값들은 하나의 예시에 불과하다. 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 다른 적절한 값들과 메모리 시스템에 대한 다른 적절한 동작방법을 사용할 수 있을 것이다.
Ⅳ. 비정밀/정밀 프로그래밍
도9A에는 비정밀/정밀 프로그래밍 과정에 대한 실시예가 어떻게 수행되는지를 알려주기 위해, 시간에 대한 임계전압(VTH)의 그래프와 시간에 대한 비트라인 전압(VBL)의 그래프가 도시되어 있다. 비정밀/정밀 프로그래밍 방법에 대한 다양한 대체물과 실시예들이 사용될 수 있다.
도9A에 도시된 방법은 비정밀 프로그래밍 과정을 수행하는 것으로 프로그래밍 과정을 시작하고 있다. 메모리 셀의 임계전압이 VLA에 도달하면, 메모리 셀은 프로그래밍 속도를 낮추기 위해 비트라인 전압을 VI 으로 상승시켜 정밀 프로그래밍 과정으로 진입한다. 정밀 프로그래밍 과정 동안은, 비정밀 프로그래밍에 비해서 프로그래밍의 속도가 느려진다. 따라서, 정밀 프로그래밍 과정 동안에는, 프로그램 단계(step) 당 임계전압의 변화는 더 작아질 것이다.
메모리 셀의 임계전압이 목표 임계전압 레벨인 VV에 이르기 전까지는, 메모리 셀은 정밀 프로그래밍 과정을 유지할 것이다. 메모리 셀의 임계전압이 VV에 도달하면, 메모리 셀의 비트라인 전압은 Vdd 로 상승하는데, 이는 상기 메모리 셀에 대한 더 이상의 프로그래밍을 방지하기 위함이다. 어떤 실시예에서는 VLA는 VV 보다 하나의 VPGM 계단 크기만큼 적은 값이다. 다른 실시예들에서는 VLA 과 VV 사이의 차이가 더 크다.(즉, 차이가 하나의 VPGM 계단 크기보다 더 크다.)
도9A에 도시된 과정은 하나의 비정밀 프로그래밍 모드와 하나의 정밀 프로그래밍 모드를 나타내고 있다. 다른 실시예들에서는 복수개의 비정밀 프로그래밍 모드들 및/과 복수개의 정밀 프로그래밍 모드들이 사용될 수 있다. 예를 들면, 도9B는 3 가지 모드들을 보여주고 있다. 다른 실시예들에서는 3개 이상의 모드들이 사용될 수도 있다. 도9B 에는 메모리 셀의 임계전압이 VLA2 에 다다르기 전까지 수행되는 첫번째 모드(가장 비정밀한 모드)가 도시되어 있다. 바로 그 시점에서, 메모리 셀은 중간 프로그래밍 모드(가장 비정밀한 모드보다는 정밀하고 가장 정밀한 모드보다는 비정밀한)로 천이하는데, 이때 비트라인 전압은 VI1 까지 상승한다.
메모리 셀은 그 임계전압이 VLA1 까지 상승하기 전에는 중간 프로그래밍 모드를 유지할 것이며, 임계전압이 VLA1 까지 상승하는 바로 그 시점에서 가장 정밀한 모드로 진입하며 비트라인 전압은 VI2 까지 상승한다. 메모리 셀은 메모리 셀의 임계전압이 VV 까지 상승하기 전에는 가장 정밀한 프로그래밍 모드를 유지할 것이다.
메모리 셀의 임계전압이 VV 까지 상승하면, 비트라인 전압은 Vdd 까지 상승하는데, 이는 상기 메모리 셀에 대한 더 이상의 프로그래밍을 방지하기 위함이다. 다른 실시예들에서는 전술한 바와같이, 3개 모드 이상의 모드들이 사용될 수 있다(예를 들면, 4개 모드 또는 5개 모드).
도10은 비정밀/정밀 프로그래밍 과정들에 대한 하나의 실시예를 기술하고 있는 순서도이다. 단계 202 에서는, 프로그램 되어질 메모리의 부분영역이 선택된다. 어떤 실시예에서, 이는 메모리 구조에 적절한 하나 또는 그 이상의 쓰기 단위들이 될 수 있다. 쓰기 단위의 한 일례는 페이지(page)라고 일컫어 진다. 다른 실시예들에서는 다른 단위들 및/또는 구조들이 사용될 수도 있다. 단계 204 에서는, 프리-프로그래밍(pre-programming) 과정이 때때로 사용될 수도 있는데, 이 과정에서는 어드레스된 메모리 셀에 대해, 데이터에 의존적이지 않는 프로그래밍이 수행되며, 이는 저장 소자의 웨어(wear)을 고르게 하고 후속될 소거과정에서 좀더 정형화된 시작점을 제공하기 위함이다.
단계 206 에서는, 사용되고 있는 저장 요소의 형식에 알맞은 하나의 소거동작이 수행된다. 적절하면서도 훌륭한 소거과정에 대한 일례가 미국특허 US 5095344 에 개시되어 있는데, 이는 본 발명에 대한 참고로서 본 명세서에 전체로서 편입된다. 단계 208 에서는, 실제 쓰기동작을 고려하여, 소거된 메모리 셀들의 임계전압들을 좀더 정형화된 시작범위로 만들기 위한 소프트 프로그래밍 과정이 포함된다.
어떤 실시예에서는, 만일 소거동작 동안(또는 소프트 프로그래밍 동안)에 메모리 셀들 중 어느 하나라도 검증에 실패할 경우, 메모리 셀들은 논리 주소 간격에 상관없이 매핑될 수 있다.(they can be mapped out of the logical address space) 바로 이 시점에서 상기 메모리는 데이터에 의존적인 프로그래밍에 대한 준비가 된다.
단계 210 에서, 프로그램 전압(VPGM)은 초기 값으로 세팅된다. 예를 들면, 어떤 실시예들에서는 도1에 도시된 계단형 파형이 사용되며 단계 210 은 초기 펄스에 대한 세팅을 포함한다. 또한, 단계 210 에서는, 프로그램 카운터(PC)는 0으로 초기화된다. 단계 220 에서 프로그램 펄스가 인가된다. 예를 들면, 단계 220에 대한 한번의 반복이 도3의 프로그램 펄스(10a)를 인가하는 것을 포함한다.
단계 222 에서는, 비정밀 검증과정과 정밀 검증과정이 동시에 수행된다. 정밀 프로그래밍에서 검증되는 하나 또는 그 이상의 메모리 셀들과 시간적으로 겹치는 방법을 통해 하나 또는 그 이상의 메모리 셀들이 비정밀 프로그래밍에서 검증된다.
예를 들어 이진 메모리 셀(예를들면, 2 개의 상태)의 경우에는, 어떤 메모리 셀들이 비정밀 프로그래밍에서 검증되는 동안에 다른 메모리 셀들은 정밀 프로그래밍에서 검증된다. 복수-상태의 메모리 셀들의 경우, 어떤 메모리 셀들이 특정 상태를 위한 비정밀 프로그래밍에서 검증되는 동안에 다른 메모리 셀들은 동일한 특정 상태를 위한 정밀 프로그래밍에서 검증된다.
복수-상태의 메모리 셀들에 대한 다른 실시예에서는, 서로 다른 메모리 셀들이 서로 다른 상태들에 대해 동시에 프로그램/검증될 수 있는데, 어떤 메모리 셀들은 비정밀 프로그래밍에서 검증되며 다른 메모리 셀들은 정밀 프로그래밍에서 검증된다. 단계 222에 관한 좀더 자세한 설명은 후술된다.
단계 224 에서는, 모든 메모리 셀들의 임계전압들이 그 메모리 셀에 대한 마지막 목적 전압에 모두 도달하였는지에 대한 여부가 판별된다. 만약 그렇다면, 프로그래밍 과정은 단계 226에서 성공정으로 완료된다(상태 = 통과).
만일, 모든 메모리 셀에 대한 모든 검증이 이루어지지 않았다면, 프로그램 카운터(PC)는 20보다 작은가의 여부가 판별된다(20개의 프로그램 펄스를 쓰는 경우). 만일 프로그램 카운터가 20 보다 크다면(단계 228), 프로그램 과정은 실패한 것이다(단계 230).
만일 프로그램 카운터(PC)가 20 보다 작다면, 프로그램 카운터는 1 만큼 증가하고 프로그램 전압은 다음번 펄스값으로 계단 상승한다(단계 230). 단계 230의 후속으로, 과정은 단계 220으로 되돌아 가고 다음번 프로그램 펄스가 메모리 셀들에 인가된다.
Ⅴ. 검증
도11은 비정밀 검증과 정밀 검증을 동시에 수행하는(도10의 단계 222를 참조) 일 실시예에 대한 순서도이다. 도11의 단계 302 에서, 특정 플래쉬 메모리 셀이 비정밀 프로그래밍 모드에 있는지 정밀 프로그래밍 모드에 있는지를 판별하기 위해, 시스템은 레지스터(또는 다른 저장소자)를 체크할 것이다.
만일, 메모리 셀이 비정밀 프로그래밍 모드라면(단계 304), 비정밀 검증이 수행된다(단계 306).
예를 들어 도9A를 참조하면, 메모리 셀은 자기의 임계전압을 전압 VLA 와 비교하도록 할 수 있다. 만일, 메모리 셀의 임계전압이 VLA 보다 크면(단계 308), 그 메모리 셀은 비정밀 검증 테스트를 통과한 것이다. 만일, 메모리 셀의 임계전압이 VLA 보다 작다면, 그 메모리 셀은 비정밀 검증 테스트를 통과하지 못한 것이다. 만일 그 메모리 셀이 비정밀 검증 테스트를 통과하지 못했다면, 그 메모리 셀은 비정 밀 프로그래밍 모드로 남아있는다(단계 310). 만일 그 메모리 셀이 비정밀 검증 테스트를 통과하였다면, 그 메모리 셀은 정밀 프로그래밍 모드로 전환될 것이다(단계 312).
만일, 단계 304 에서 메모리 셀이 정밀 프로그래밍 모드에 있다고 판단되면, 정밀 검증 과정이 수행될 것이다(단계 320).
예를 들어 도9A를 참조하면, 메모리 셀의 임계전압은 마지막 목적 임계 전압인 Vv 와 비교될 수 있다. 만일, 메모리 셀의 임계전압이 목적 전압인 Vv 보다 크다면(단계 322), 그 메모리 셀은 정밀 검증 테스트를 통과한 것이며 그 메모리 셀은 프로그래밍이 금지될 것이다(단계 324). 메모리 셀에 대한 더 이상의 프로그래밍을 금지하는 하나의 실시예로는, 비트라인 전압을 Vdd 까지 상승시키는 방법이 있으며, 메모리 셀을 록 아웃(lock-out)시키는 다른 수단들도 사용되어 질 수 있다.
만일, 단계 322 에서, 정밀 검증 테스트를 통과하지 못한 것으로 판명되면(예를 들면, 메모리 셀의 임계전압이 목적전압인 VV 보다 작은 경우), 그 메모리 셀에 대한 후속 프로그래밍은 금지되지 않을 것이다(단계 326).
도11에 도시된 과정은 하나의 개별적인 셀에 대해 수행된다. 많은 실시예들에서 다수의 셀들은 동시에 프로그램되어질 수 있다. 따라서, 도11에 도시된 과정은 다수의 셀들에 대해서도 동시에 수행될 수 있다. 이와같은 프로그래밍 과정 동안에, 다른 셀들이 정밀 프로그램 과정에 있는 반면에 어떤 셀들은 비정밀 프로그래밍 과정에 있을 수도 있다. 따라서, 어떤 셀들은 단계 306 의 비정밀 검증을 수 행할 것이며 다른 셀들은 단계 320의 정밀 검증을 수행할 것이다. 예를 들면, 상태 2(도2 참조)로 프로그램되는 한 세트의 셀들은, 다른 셀들에 비해 어떤 셀들을 좀더 빨리 프로그램되게 할 수 있다.
상기 좀더 빨리 프로그램되는 셀들은 정밀 모드에 좀더 빨리 진입할 것이다. 정밀 모드에 있는 이러한 셀들에서는 자신들의 임계전압이 검증 포인트인 상태 2의 VV 전압과 비교되는 반면에, 비정밀 모드에 있는 다른 셀들에서는 임계전압이 상태 2 의 VLA 와 비교될 것이다.
도11에 도시된 과정은 효율적인데, 왜냐하면, 주어진 어떤 셀에서의 각각의 검증단계는 비정밀 검증만이 수행되게 하거나 또는 정밀 검증만이 수행되게 할 것이며, 두가지 검증이 모두 수행되지 않기 때문이다.
달리말하면, 종래기술에서는 비정밀 검증과 정밀 검증 두개를 순차적으로 수행했었다.
본 발명의 일실시예에 따르면, 만일 메모리 셀이 복수-상태 셀이고 복수 상태에 대한 검증 테스트가 수행되어야 한다고 하면, 복수 상태들에 대한 비정밀 검증들이 실행되거나 또한 복수 상태들에 대한 정밀 검증들이 실행될 것이다. 하지만, 특정 메모리 셀의 복수 상태들에 대해 비정밀 검증과 정밀 검증들 둘다가 실행되지는 않을 것이다.
예를 들어, 7 개의 검증 펄스들이 도시된 도3으로 돌아가 보자. 8 개의 상태를 갖는 메모리 셀의 경우, 비정밀 검증 과정에서 7 개의 검증 펄스들이 사용되거 나 또는 정밀 검증 과정에서 7 개의 검증펄스들이 사용될 것이다.
종래기술이 적용된 어떤 기기들에서는, 만일 8 개의 상태가 있다고 하면, 14 개의 검증펄스들이 필요할 것인 바, 즉 비정밀 모드를 위한 7 개의 검증펄스와 정밀 모드를 위한 7 개의 검증펄스가 필요할 것이다. 따라서, 도11의 과정은 필요한 검증펄스들의 갯수를 줄일 수 있는 장점이 있다.
도12는 도11에 도시된 과정을 구현하고자 하는 실시예에서 사용된 구성요소들을 도시한 블록도면이다. 도12에 도시된 회로는 1 비트를 위한 회로이다. 한 실시예에서는 이러한 회로들이 각 비트라인 마다 존재할 수 있다. 그 외의 다른 실시예에서는 한 쌍의 비트라인 마다 이러한 회로들이 존재할 수 있다.
도12에는 스위치(400)와 캐패시터(402)에 연결된 비트라인이 도시되어 있다. 캐패시터는 또한 접지단과 연결되어 있다. 스위치(400)는 다중화기(404)로부터 신호를 입력받는다. 다중화기(404)로부터 입력된 신호는 프로그래밍에 사용된다.
다중화기(404)는 Vpc 와 Vpf 의 두 신호를 입력받으며, C/F 레지스터(420)의 지시에 따라 상기 두 신호중의 하나를 선택한다. 스위치(400)는 또한 감지 증폭기(410)의 입력단에 연결되어 있다. 신호 Vref 는 감지 증폭기(410)의 입력단에 연결되어 있다.
감지 증폭기(410)의 출력은 C/F 레지스터에 데이터를 제공한다. CF 레지스터의 출력은 다중화기(404), 록-아웃 레지스터(422), 다중화기(430)에 데이터를 제공한다. 다중화기(430)는 Tc 와 Tf 의 두 신호를 입력받으며, C/F 레지스터(420)의 데이터에 따라 상기 두 신호중의 하나를 선택한다. 다중화기(430)의 출력은 감지증 폭기(410)의 다른 입력단에 연결되어 있다.
도12에 도시된 회로의 동작은 비트라인 방전 검증 과정에 기초한다. 우선, 비트라인은 충전된다. 다음으로, 하나의 검증 펄스가 상기 비트라인에 소속된 메모리셀의 제어 게이트(또는 조향 게이트)에 인가된다. 이후, 상기 비트라인은 방전이 허용된다. 방전률에 기초하여, 그 메모리 셀이 특정한 임계 전압값보다 더 높은지 아니면 더 낮은 지가 판별된다.
도13 에는 비트라인 전압(Vb1) 대 시간의 그래프를 도시되어 있다. 하나의 실시예에서 비트라인들은 시간 T 의 주기동안 방전되도록 허용된다. 시간 T 에서 비트라인의 전압은 기준전압인 Vref 와 비교된다. 만일, 비트라인 전압이 기준전압보다 크다면, 그 메모리 셀은 더 낮은 드라이빙 능력을 갖고 있으며 목적하는 임계전압보다 더 많이 프로그램되었다는 걸 나타낸다. 만일 시간 T 에서, 비트라인 전압이 기준전압보다 작다면, 그 메모리 셀의 임계전압은 목적 임계전압보다 낮다.
또 다른 실시예에서는, 고정된 시간 T 이후에 비트라인 전압을 측정하는 대신에, 비트라인의 전압이 Vref에 도달할 때까지 방전되는 것이 허용된다. 이후, 이 방전시간이 기 설정된 시간들의 세트와 비교되는데, 이는 임계전압이 목적 임계전압보다 높은지 낮은지를 판별하기 위해서 이다.
비정밀/정밀 방법을 이용하여 프로그램되는 셀에 관한 하나의 실시예에서, 비정밀 프로그래밍을 위한 하나의 Vref와 정밀 프로그램을 위한 다른 하나의 Vref를 가짐으로서 비정밀과 정밀 사이에서 비교 지점은 변할 수도 있다.
다른 실시예에서는 시간 T 의 양이 변화할 수도 있는 바, 비정밀 프로그래밍과 관련된 방전을 위한 하나의 시간 T1 과, 정밀 프로그래밍 동안의 방전과 연관된 시간 T2 가 있다. 다른 실시예에서는, 비정밀한 프로그래밍에서 사용되는 하나의 선행충전 값과 정밀 프로그래밍에서 사용되는 또 다른 하나의 선행충전값이 있는 식으로, 비트라인에 대한 선행충전(pre-charge)이 변화할 수도 있다. 또는 전술한 것들의 조합이 사용될 수도 있다.
다른 실시예에서는, 전류 비교기들을 이용하는 정적인 감지 방법이 사용될 수 있다. 이러한 실시예에서는, 고정된 기준값인 Vref 은, 비정밀/정밀 프로그래밍에 대해 특화된 기준 전류값들의 세트로 대체된다. 주어진 메모리 셀에 대해, 기준 전류값이 셀 전류를 초과하는 경우, 관련된 감지증폭기는 셀의 임계전압이 목적 전압보다 더 많이 프로그램되었다는 사실을 알려줄 것이다. 더 많은 내용은 미국특허 US 622762 에 개시되어 있으며, 이는 본 발명에 대한 참조로서 본 명세서에 전체로서 편입된다.
도12에 도시된 장치에 대한 하나의 실시예에서, C/F 레지스터(420)는, 특정한 메모리 셀이 비정밀 프로그래밍 모드에 있는지 아니면 정밀 프로그래밍 모드에 있는 지를 알려주는 1 비트 레지스터이다.
프로그래밍 동안에, 만일 메모리 셀이 비정밀 프로그래밍 모드에 있다면, 다중화기(404)는 비정밀 모드 프로그램 전압(Vpc)을 스위치(400)를 거쳐 비트라인으로 보낼 것이다. 만일 메모리 셀이 정밀 프로그래밍 모드에 있다면, 다중화기(404)는 정밀 모드 프로그램 전압(Vpf)을 스위치(400)를 거쳐 비트라인으로 보낼 것이다.
검증동작 동안, 감지증폭기(410)는, 비트라인 전압과 기준 전압 Vref 을 비교하는 회로를 포함한다. 검증동작 동안, 만일 메모리 셀이 비정밀 모드에 있다면, 다중화기(430)는 C/F 레지스터(420)의 출력에 근거하여 비정밀 시간 스트로브 Tc 를 선택할 것이다. 감지증폭기(410)는 Tc 에 의해 지시되는 시간내에 고정된 기준값인 Vref 까지 비트라인이 방전했는지의 여부를 판별할 것이다.
만일, Tc 에 의해 지시되는 시간내에 고정된 기준값인 Vref 까지 비트라인이 방전했기 때문에, 메모리 셀이 비정밀 검증을 통과했다고 감지증폭기가 판별하였다면, 메모리 셀이 이제부터는 정밀 프로그래밍 모드에 있음을 알려줄 수 있도록 상기 레지스터를 변경하라는 신호가 C/F 레지스터(420)에 입력될 것이다.
바로 이 시점에서, 다중화기(404, 430)는 자신들의 선택을 바꾸게 되고 따라서, 다중화기(404)는 상기 셀이 다음 번에 프로그램될 때에 비트라인에 전압 Vpf 를 인가하게 될 것이며, 다중화기(430)는 검증 동작에 대한 다음 번 비교가 있을 때에 감지증폭기(410)에 시간 스트로브 Tf 를 보낼 것이다.
만일 정밀 모드 동안에, Tf 에 의해 표상되는 시간내에서 고정된 기준값인 Vref 까지 비트라인이 방전했기 때문에, 메모리 셀이 정밀 검증 과정을 성공적으로 통과했다고 감지증폭기가 판별하였다면, 감지증폭기(410)는, 상기 셀에 대한 후속 프로그래밍이 금지되었음을 록-아웃 레지스터(422)가 알려주도록 하는 신호를 C/F 레지스터(420)에 보낸다.
도14는 검증동작을 위한 두번째 실시예를 도시하고 있다.
비트라인 전압을 비교하기 위해 고정된 기준전압값과 관련된 한 쌍의 감지 시간들을 사용하는 대신에, 한 쌍의 기준 전류 소스들이 사용된다. 주어진 메모리 셀에 대하여, 기준 전류가 셀 전류를 넘어서게 되면, 관련된 감지증폭기는 메모리 셀이 목적 임계 조건(임계전압)을 초과하도록 프로그램되었음을 반영하는 이러한 조건들을 알려줄 것이다. 따라서, 다중화기(430)는, C/F 레지스터(420)의 출력을 기초로, 비정밀 모드를 위한 전류 소스(Ic)를 제공할 것인지 아니면 정밀 모드를 위한 전류 소스(If)를 제공할 것인지 중에서 선택하게 된다.
도15는 다른 대체적인 실시예를 도시하고 있다. 도15에서 다중화기(448)는 비정밀 프로그래밍 모드를 위한 기준 전압인 Vrc 와 정밀 프로그래밍 모드를 위한 기준 전압인 Vrf 중에서 하나를 선택하여 감지증폭기(410)로 공급한다. 이러한 실시예에서, 감지증폭기(410)는 고정된 시간주기 T 이후의 방전된 비트라인 전압과 C/F 레지스터(420)의 턴온(turn on)을 기초로 하는 다중화기(448)의 출력인 기준 전압을 비교할 것이다.
Ⅵ. 전류 싱킹(Current Sinking)
전술한 바와같이, 비정밀 프로그래밍 모드에서 정밀 프로그래밍 모드로 메모리 셀의 모드를 천이시키는 방법중의 하나는 비트라인의 전압을 상승시키는 것이다.
비트라인의 전압을 상승시키게 되면, 프로그래밍 속도가 느려진다. 따라서, 정밀 프로그래밍 모드에 있는 메모리 셀의 임계전압은 좀 더 작은 증가치를 갖고 상승하게 되며, 더 조밀한 임계전압의 분포를 얻을 수 있다.
비정밀 프로그래밍 모드에서 정밀 프로그래밍 모드로 메모리 셀의 모드를 천 이시키는 다른 방법은, 메모리 셀의 채널을 따라 흐르는 전류의 양을 변화시키는 것이다.
프로그램 동작동안에, 메모리 셀의 소스는 접지전압 이상으로 상승하게 될 것이며, 선택 게이트의 전도 특성에 좌우된다.
얼마나 많은 전류를 채널을 통해 흐르게 할 것인가를 제어하기 위해, 전류 싱크가 상기 소스에 연결될 수 도 있다. 싱크 전류가 크면 클 수록 채널을 따라 흐르는 전류가 커질 것이며 메모리 셀도 더 빠르게 프로그램된다.
전류 싱크의 성능이 낮아지면(즉, 더 적은 전류를 싱크하면), 채널의 전류는 감소하며 메모리 셀은 좀 더 느리게 프로그램될 것이다. 예를 들어, 만일 전류 싱크가 비정밀 모드동안에 1000㎁ 의 전류를 싱크하고 정밀모드 동안에는 100㎁ 의 전류를 싱크한다면, 채널의 전류는 원래보다 1/10 로 감소할 것이며 메모리 셀은 약 10배 정도 느리게 프로그램될 것이다.
도16은 계단형의 제어 게이트 프로그램 펄스들에 대비된 상대적인 임계전압의 증가를 도시한 그래프이며, 1000㎁ 의 전류 싱크와 250㎷ 크기를 갖는 일련의 계단형 제어 게이트 프로그래밍 펄스들을 기초로 정상상태 프로그래밍 조건을 설정한 그래프이다.
도16에는 서로 다른 전류 싱크들을 사용하여 메모리 셀을 프로그램하는 5개의 프로그래밍 커브들 500, 502, 504, 506 그리고 508 이 도시되어 있다. 그래프 500과 관련된 메모리 셀은 1000㎁ 의 전류 싱크를 갖고 있으며 정상상태(steady state) 프로그래밍 동작을 지속적으로 수행하는 경우이다. 그래프 502과 관련된 메모리 셀은 562㎁ 까지 저하한 전류 싱크를 갖고 있다. 그래프 504과 관련된 메모리 셀은 316㎁ 까지 저하한 전류 싱크를 갖고 있다. 그래프 506과 관련된 메모리 셀은 178㎁ 까지 저하한 전류 싱크를 갖고 있다. 그래프 508과 관련된 메모리 셀은 100㎁ 까지 저하한 전류 싱크를 갖고 있다.
도16으로부터 알 수 있듯이, 전류 싱크가 크면 클수록 메모리 셀은 더욱 빠르게 프로그램된다.
예를 들면, 첫번째 프로그램 펄스 이후에, 커브 508과 관련된 메모리 셀은 20㎷로 증가된 임계전압을 갖게 되고, 커브 506과 관련된 메모리 셀은 33㎷로 증가된 임계전압을 갖게 되고, 커브 504와 관련된 메모리 셀은 68㎷로 증가된 임계전압을 갖게 되고, 커브 502와 관련된 메모리 셀은 112㎷로 증가된 임계전압을 갖게 되고, 커브 500과 관련된 메모리 셀은 234㎷로 증가된 임계전압을 갖게 되는데, 이들은 한 스텝당 250㎷ 의 크기를 갖는 계단형 제어 게이트 프로그래밍 전압에 대한 정상상태 응답을 반영한 것이다.
두번째 프로그래밍 펄스 이후에, 커브 508과 관련된 메모리 셀은 47㎷로 증가된 임계전압을 갖게 되고, 커브 506과 관련된 메모리 셀은 90㎷로 증가된 임계전압을 갖게 되고, 커브 504와 관련된 메모리 셀은 159㎷로 증가된 임계전압을 갖게 되고, 커브 502와 관련된 메모리 셀은 270㎷로 증가된 임계전압을 갖는다.
세번째 프로그래밍 펄스 이후에, 커브 508과 관련된 메모리 셀은 87㎷로 증가된 임계전압을 갖게 되고, 커브 506과 관련된 메모리 셀은 159㎷로 증가된 임계전압을 갖게 되고, 커브 504와 관련된 메모리 셀은 271㎷로 증가된 임계전압을 갖는다.
네번째 프로그래밍 펄스 이후에, 커브 508과 관련된 메모리 셀은 144㎷로 증가된 임계전압을 갖게 되고, 커브 506과 관련된 메모리 셀은 249㎷로 증가된 임계전압을 갖는다.
다섯번째 프로그래밍 펄스 이후에, 커브 508과 관련된 메모리 셀은 221㎷로 증가된 임계전압을 갖는다.
결론적으로, 도16에 도시된 바와같이, 전류가 싱크되는 양을 감소시킴으로서 프로그래밍 속도를 느리게 할 수 있다. 따라서, 어떤 실시예에서는 2개의 전류 싱크들 사이에서 교대함으로서 비정밀 모드와 정밀 모드 사이를 교대할 수 있다. 예를 들면, 비정밀 모드에서는 큰 전류 싱크(예를 들면, 1000㎁)를 가질 수 있고, 정밀 모드에서는 작은 전류 싱크(예를 들면, 100㎁)를 가질 수 있다.
또는, 비정밀 모드에서는 전류 싱크가 없는 반면에 정밀 모드에서는 프로그래밍 속도를 감소시키기 위한 전류 싱크를 가질 수 있다. 이와는 다른 조합도 또한 사용가능하다.
도17은 도7의 체계를 따르는 메모리 구성요소를 도시한 도면인데, 부가적인 전류 싱크(600)가 오른쪽 비트라인 또는 제어 라인(오른쪽 BL, 51')에 연결된 상태를 도시한 도면이다. 도17에 도시된 실시예에서 플로팅 게이트(56')가 프로그램될 예정이다. 어떤 실시예에서는, 상기 제어라인들(49', 51')은 둘다 비트라인으로 여겨지기도 한다. 다른 실시예에서는, 제어라인(51')은 소스라인 또는 다른 제어라인으로 여겨질 수도 있다.
전술한 바와같이 전류 싱크(600)는 C/F 레지스터(420)에 연결되어 있다. 어떤 실시예에서는 전류싱크(600)는 변화가능한 전류싱크이다. 이 말은, 전류싱크(600)가 서로 다른 레벨들을 갖는 전류를 싱크할 수 있다는 의미이다.
예를 들면, 전류싱크는 2개의 서로 다른 레벨을 갖는 전류를 싱크할 수 있는데, 하나의 레벨은 정밀 모드를 위한 것이며 다른 하나의 레벨은 비정밀 모드를 위한 것이다. C/F 레지스터(420)의 지시에 근거하여, 적절한 전류 싱크 레벨이 선택될 수 있다.
예를 들어 만일, 플로팅 게이트(56')가 비정밀 모드라는 것을 C/F 레지스터(420)가 알려주면, 전류 싱크(600)는 비정밀모드를 위한 적절한 전류 싱크값을 선택한다. 만일, 플로팅 게이트(56')가 정밀 모드라는 것을 C/F 레지스터(420)가 알려주면, 전류 싱크(600)는 정밀 모드를 위한 적절한 전류 싱크값을 선택한다.
다른 실시예에서는, 전류 싱크(600)는 정밀 모드에서만 사용될 것이며, 비정밀 모드동안에는 전류 싱크(600)를 바이패스 하는 스위치가 단자(51')과 접지단 사이에 구비될 것이다. 이러한 스위치는 CF 레지스터에 저장된 값을 기초로 하여 제어될 것이다.
도17의 실시예에서, 프로그램 전압(예를 들면, 전술한 계단형 제어 게이트 프로그램 전압)은 왼쪽 조향 게이트(81')에 인가된다.
다른 실시예에서는, 도17의 전류 싱크(600)는, 복수 상태 메모리 셀의 각각의 상태에 대해, 비정밀과 정밀값들의 서로 다른 세트들에 상응하는 전류를 싱크할 수 있는 변화가능한 전류싱크이다.
예를 들어 만일, 7 개의 프로그램된 상태가 있다고 하면, 전류 싱크(600)는 14개(만일 중첩이 있다면 14개 보다는 적다)의 서로 다른 레벨의 전류를 싱크할 수 있을 것이다. 또는, 14개(만일 중첩이 있다면 14개 보다는 적다)의 서로 다른 전류 싱크들이 있을 수도 있다.
서로 다른 상태들을 위해서 전류 싱크 값들에 대한 서로 다른 세트들을 채택하는 것이 프로그래밍 과정에 대해 좀 더 효율적이기 때문에, 좀더 작은 프로그래밍 펄스들이 필요하며(예를 들어, 200㎷ 의 스텝 크기), 더 낮은 상태(예를 들면, 상태 1로 프로그램된)를 목표로 프로그램된 셀이 과도하게 프로그램되는 것을(over-programmed) 야기함이 없이, 좀더 심하게 프로그램된 메모리 셀(예를 들어, 상태 7로 프로그램된 메모리셀)들이 좀더 빨리 프로그램될 수 있다.
상술한 체계에 대한 하나의 실시예에서는, 전술한 상기한 고성능의 검증 체계(Smart Verify scheme)을 이용하는 대신에, 각 프로그래밍 펄스 이후에 모든 상태들에 대한 검증이 수행될 수도 있다.
아래에 도시된 테이블은 전류 싱크 값들의 세트에 대한 일례를 보여준다. 2개의 옵션이 정밀모드를 위해서 제공된다는 점을 유의하라. 정밀모드를 디자인하고자 하는 회로 다지이너는, 정밀 모드에서 프로그래밍 속도를 얼마나 감소시키고자 하는 가에 따라, 2 개의 옵션중에서 선태할 수 있는데, 2번째 옵션은 비정밀 모드에서 정밀모드로 천이할 때에 프로그래밍 속도는 더 느리게 할 수 있는 강력한 옵션이다.
Assuming a state-to-state separation of 500 mV
State VT Coarse Current Sink Value(nA) Fine Current Sink Value(option 1)(nA) Fine Current Sink Value(option 2) (nA)
7 3.5 1000.19 409.67 167.79
6 3.0 409.67 167.79 68.73
5 2.5 167.79 68.73 28.15
4 2.0 68.73 28.15 11.53
3 1.5 28.15 11.53 4.72
2 1.0 11.53 4.72 1.93
1 0.5 4.72 1.93 0.79
비교되는 임의의 2 체계를 위해 상태와 상태간의 여유(margin)를 동일하게 유지하면서, 상태와 상태간의 분리간격들(state-to-state separations)은 프로그래밍 전압 분포들이 조밀해 질 수 있는 정도와 동일한 정도로 감소될 수 있다.
이를 위해 다음 테이블에는, 상태와 상태간의 분리간격이 400㎷ 이며 7 개의 상태를 프로그램하기 위해 필요한 일정 전류 싱크값들의 범위가 나타나 있다.
Assuming a state-to-state separation of 400 mV
State VT Coarse Current Sink Value(nA) Fine Current Sink Value(option 1)(nA) Fine Current Sink Value(option 2) (nA)
7 2.8 1000.15 489.71 239.78
6 2.4 489.71 239.78 117.40
5 2.0 239.78 117.40 57.48
4 1.6 117.40 57.48 28.14
3 1.2 57.48 28.14 13.78
2 0.8 28.14 13.78 6.74
1 0.4 13.78 6.74 3.30
상기의 전류 싱크 값들의 세트들은 예시적인 목적을 위한 것이며 이외에도 특정한 구현예에 따른 다른 많은 값들이 사용될 수 있음을 유의해야 한다. 나아가, 정밀 모드에서 사용되는 많은 전류 싱크값들은, 다른 상태를 위한 비정밀모드에서 사용되는 전류 싱크값들과 동일하다는 점을 주의깊게 봐야 한다. 예를들면, 정밀모드(옵션 1)의 상태 5 를 위한 전류 싱크값과 비정밀모드의 상태 4 를 위한 전류 싱크값은 모두 117.04㎁ 이다.
이와같은 겹침(overlap)을 이용하면, 이러한 실시예를 구현하는데 필요한 논 리회로의 숫자를 감소시킬 수 있으며, 다른 예에서는 전류 싱크들의 숫자 또는 전류 싱크의 복잡함 또한 감소시킬 수 있다.
도18은 스위치(620)를 제어하기 위해 C/F 레지스터(420)가 사용되는 대체적인 실시예를 도시한 도면이다. 스위치(620)는 두개의 전류 싱크(622, 624)중에서 하나를 선택한다. 전류 싱크(622)는 비정밀모드를 위해 전류를 싱크하며, 전류 싱크(624)는 정밀모드를 위해 전류를 싱크한다.
만일, 플로팅 게이트(56')가 비정밀모드에서 프로그래밍 되고 있다고 CF 레지스터(420)가 알려주면, CF 레지스터(420)는 전류 싱크(622)를 선택하라고 스위치(620)에 신호를 전송할 것이다.
만일, 플로팅 게이트(56')가 정밀모드에서 프로그래밍 되고 있다면, CF 레지스터(420)는 전류 싱크(624)를 선택하라고 스위치(620)에 신호를 전송할 것이다.
따라서, 비정밀모드에서 정밀모드로의 전환은 전류 싱크들을 스위칭함으로서 이루어진다. 여기서, 정밀모드를 위한 전류 싱크(624)는 비정밀모드를 위한 전류 싱크(622)보다 더 적은 전류를 싱크한다는 점을 유의해야 한다.
도19는 지금까지 설명한 전류 싱크 기술을 이용한 공정에 관한 순서도이다. 단계 650 에서, 메모리 셀은 비정밀 프로그래밍 모드에서 프로그래밍을 시작한다. 첫번째 임계전압 검증 레벨에 도달할 때 까지 비정밀 프로그래밍 모드는 유지된다. 비정밀 프로그래밍 모드를 수행하기 위하여, 단계 652에서 전류 싱크 매커니즘은 비정밀모드로 세팅된다. 어떤 실시예들에서는, 비정밀모드에서 어떤 전류싱크도 사용되지 않는다.
단계 652는, 도18의 전류싱크(622)를 선택하는 과정, 도17의 전류싱크(600)를 적절히 제어하는 과정을 포함할 수도 있다. 단계 650 과 단계 652 는 비정밀모드가 완료될 때 까지 계속될 것이다(이것이 바로 단계 652 밑의 화살표가 점선으로 처리된 이유임).
비정밀 검증 레벨에 도달했기 때문에 비정밀 프로그래밍 모드가 완료될 때에, 단계 654에서 정밀 프로그래밍 모드가 시작될 것이다. 정밀 프로그래밍 모드의 일부로서, 단계 656 에서 전류 싱크는 정밀 모드로 세팅된다.
어떤 실시예에서는, 단계 656은 도17의 전류 싱크(600)을 적절히 세팅하는 과정이 포함될 수 있다. 다른 실시예에서는, 단계 656은, 도18의 전류싱크(624)를 선택하는 과정을 포함한다. 도19에 도시된 과정은 하나의 메모리 셀을 위한 것이다.
복수개의 메모리 셀들은 도19에 도시된 과정을 동시에 수행할 것인 바, 어떤 메모리 셀들은 비정밀 프로그래밍 모드에 있고 다른 메모리 셀들은 정밀 프로그래밍 모드에 있는 식으로 수행한다는 것을 유의해야 한다.
여기에서 상세히 설명된 전류 싱크 기술과 연관되는 도19의 과정은, 도17과 도18에 도시된 메모리들 이외에도 다른 타입을 갖는 메모리 셀에도 적용될 수 있다. 예를 들면, 도17과 도18은 메모리 셀 하나당 2 개의 플로팅 게이트가 있는 메모리 타입을 포함한다. 여기에서 설명된 전류 싱크 기술은 하나의 플로팅 게이트가 있는 메모리 셀에도 적용될 수 있는데, 이 경우 전류싱크 회로는 한 플로팅 게이트의 소스측에 연결되는 것이 바람직하다.
전류 싱크 기술은 2개 이상의 플로팅 게이트가 있는 메모리 셀에도 적용될 수 있다. 전형적으로 전류 싱크는 프로그램 되어질 플로팅 게이트의 소스측에 연결될 것이다. 하지만 다른 실시예에서는 전류 싱크가 프로그래밍 속도를 좌우하는 다른 제어 라인들에 연결될 수 도 있다. 예를들면, 소스와 드레인의 방향은 어떤 구조냐에 따라 임의로 정해질 수 있으므로, 본 발명은 "소스측" 에 한정되지 않는다.
상술한 바와같이 비정밀/정밀 프로그래밍을 위해 전류 싱크들을 이용하는 점은, 앞서 설명된 비정밀/정밀 동시 검증과정(concurrent coarse/fine verification process)과 결합되어 사용될 수 있다. 교번하는 모드에서, 정밀모드 대 비정밀모드로 진입하기 위한 전류 싱크 과정은, 앞서 설명된 비정밀/정밀 동시 검증과정 없이도 이용될 수 있다.
또한, 상술한 바와같은 전류 싱크 기술(비정밀/정밀 동시 검증과 결합되거나 또는 결합되지 않은)은 앞서 설명된 고성능의 검증 과정(Smart Verify Process)과 함께 또는 단독으로 사용될 수 있다.
또한, 상기 고성능의 검증 과정(Smart Verify Process)은, 비정밀/정밀 검증 사이에서 전환하기 위해 전류 싱크를 사용함이 없이, 기 비정밀/정밀 동시 검증과정과 함께 사용될 수 있다.
Ⅶ. 전하 패킷 계량
메모리 셀을 정밀 프로그래밍 모드로 진입시킬 수 있는 또 다른 실시예들의 세트가 도20 내지 도25에 도시되어 있다. 이러한 실시예들에서는, 메모리 셀을 프로그래밍하는데 이용될 수 있는 전하를 제한함으로서 정밀 프로그래밍 모드를 제공 한다. 예를 들어, 도20에는 플로팅 게이트(56')가 프로그램되는 구성을 갖는 도7의 메모리 셀이 도시되어 있다. C/F 레지스터(420)의 제어를 받는 스위치(700)가 오른쪽 비트라인 단자(51')에 연결되어 있다. 스위치는 2 개의 입력을 갖는다.
제 1 입력은 도면부호 702 로 명명되어 있다. 플로팅 게이트(56')가 비정밀 모드에 있음을 C/F 레지스터(420)가 알려줄 때, 스위치(700)는 입력(702)을 선택하게 되는데, 입력(702)은 비정밀모드 동안에 비트라인에 연결된 통상적인 구성요소들이 될 것이다. 즉, 어떤 실시예에서는 비정밀 프로그래밍 모드 동안에 전하 패킷 계량이 없다는 의미이다.
만일, C/F 레지스터(420)가 알려준 바와같이 플로팅 게이트(56')가 정밀 프로그래밍 모드에 있다면, 스위치(700)는 단자(51')를 스위치(708)와 캐패시터(710)에 연결할 것이다. 캐패시터(710)의 다른쪽 단은 기준전위(예를 들면, 접지전위)에 연결되어 있다. 스위치(708)는 선행충전기(712)(예를 들면, 전압 공급기)에 연결되어 있다.
구성요소 708, 710 그리고 712는 2 단계 방법의 부품으로서 정밀 프로그래밍 모드를 위해서 사용된다. 첫번째 단계에서, 캐패시터(710)는 스위치(708)를 통해 선행충전기(712)에 연결되어 있으며 프로그래밍 소스 바이어스인 선행충전 전압으로 충전된다. 두번째 단계에서, 캐패시터(710)는 선행충전기(712)와의 연결이 끊어지게 되며, 이후 제어 게이트 프로그래밍 전압 펄스가 왼쪽 조향 게이트(81')에 인가된다.
선행충전 전압이 충전된 캐패시터(710)는 메모리 셀을 관통하는 전류를 통해 방전되며, 전자들은 플로팅 게이트(56')로 주입된다. 이와같이 캐패시터가 충분히 방전되었을 때, 열전자 주입과 프로그래밍은 중단된다. 따라서, 캐패시터에 충전된 상대적인 전하량은 얼마나 많이 프로그래밍이 발생하는지를 제한한다. 캐패시터에 적은 양의 전하가 충전되어 있다면, 이는 곧 임계전압이 조금만 변화한다는 것을 의미한다.
예를 들어, 커패시턴스 C 를 갖고 동일한 전압에 의해 선행충전되는 캐패시터보다, 동일한 전압에 의해 선행충전되되 2 배의 커패시턴스(예를 들면, 2C)를 갖는 캐패시터는 2배의 상대 전하를 저장할 수 있으며 프로그램 역시 2 배로 할 수 있다. 도20에 도시된 구성요소 420 와 700~712 는 1 개의 비트라인을 위한 것이다.
어떤 실시예에서는 각 비트라인 마다 유사한 구성요소들의 세트가 사용된다.
도21은 2 개의 그래프가 도시되어 있다. 위쪽의 그래프는 단자 51' 에서의 전압 대 시간을 그린 그래프이고, 아래쪽의 그래프는 선택 게이트의 전압 대 시간을 도시한 그래프이다.
시간 t0 에서, 캐패시터(710)는 선행충전되고, 따라서 단자 51' 의 제어라인을 선행충전한다. 시간 t1 에서 선택 게이트가 턴온되었을 때, 도20의 캐패시터(710)는 전류 방전을 시작하며, 전류의 흐름이 감소함과 더불어 단자 51' 의 전압은 상승할 것이다. 결과적으로, 캐패시터가 충분히 방전하면 채널의 전류는 흐름을 멈춘다.
도22는 전술한 전하 계량을 수행하는 하나의 실시예를 기술하는 순서도이다. 단계 740 에서, 적절한 선행충전기가 선택된다. 어떤 실시예에서는, 비정밀모드를 위해서는 선행충전기가 없으며 선행충전기는 정밀모드를 위해서는만 존재한다.
다른 실시예들에서는, 제 1 선행충전기가 비정밀모드를 위해 사용될 수 있으며, 제 2 선행충전기가 정밀모드를 위해 사용된다.
단계 742 에서, 선행충전을 허가하는 스위치(예를들어, 스위치 708)가 닫락 되어 선행충전이 시작된다. 단계 744 에서, 상기 스위치는 개방되는데, 이는 선행충전의 종료를 의미한다.
단계 746 에서, 조향 게이트에 공급되는 펄스가 인가되며 선택 게이트가 턴온됨에 따라 채널을 따라 전류가 흐르고 전자들은 플로팅 게이트로 주입되는데, 이는 캐패시터가 충분히 방전될때 까지 계속된다.
도23에는 비정밀 프로그래밍 모드를 위해서는 하나의 선행충전기가 사용되고 정밀 프로그래밍 모드를 위해서는 다른 하나의 선행충전기가 사용되는, 다른 실시예에 관한 블록도가 도시되어 있다.
스위치(780)는 단자(51')에 연결되어 있으며, C/F 레지스터(420)의 제어를 받는다. 만일, 플로팅 게이트(56')가 비정밀 프로그래밍 모드에 있다고 C/F 레지스터(420)가 알려주면, 스위치(780)는 구성요소 782, 784, 786 을 선택할 것이다.
만일, 플로팅 게이트(56')가 정밀 프로그래밍 모드에 있다고 C/F 레지스터(420)가 알려주면, 스위치(780)는 구성요소 790, 792, 794 를 선택할 것이다.
제 1 선행충전기(786)는 스위치(782)에 연결되어 있으며, 스위치(782)는 캐패시터(784)와 연결되어 있다. 스위치(782)가 단락될 때, 제 1 선행충전기(786)는 비정밀 프로그래밍 모드를 위해 캐패시터(784)를 충전한다.
캐패시터(784)에 대한 충전이 끝나고 스위치(782)가 개방되면, 캐패시터(784)는 플로팅 게이트(56')를 프로그램하기 위해 메모리 셀을 통해 방전(스위치 780을 통한 방전)을 시작한다.
제 2 선행충전기(794)는 스위치(790)가 단락될 때 캐패시터(792)를 충전하기 위해 사용된다. 캐패시터(792)에 대한 충전이 끝나고 스위치(790)가 개방되면, 캐패시터(792)는 정밀 프로그래밍 모드 동안에 메모리 셀을 통해 방전을 시작하는데, 이는 플로팅 게이트(56')를 프로그램하기 위해서이다.
어떤 실시예에서는, 제 1 선행충전기(786)는 제 2 선행충전기(794) 보다 낮은 전압을 갖게 되며, 따라서 비정밀 프로그래밍 모드를 위한 캐패시터(784)는 정밀 프로그래밍 모드를 위한 캐패시터(792) 보다 상대적으로 높은 값으로 충전된다.
캐패시터에 저장된 전하량이 크면 클수록, 더 많은 프로그래밍이 발생할 것이다. 따라서, 비정밀모드에서는 더 많은 프로그래밍이 허용될 것이며, 정밀모드에서는 더 적은 프로그래밍이 허용될 것이다.
공급되는 양(전압 또는 다른 형식의 공급도 가능함)에 대한 정확한 값과 캐패시터의 정확한 값은, 비정밀 대 정밀 프로그래밍을 구별하는 목적들 뿐만 아니라, 특정한 요구사항들, 디바이스 최적화, 시뮬레이션, 및/또는 디바이스 특성에 따라 좌우된다.
도24는 메모리 셀 내의 전하를 계량하는 대안적인 실시예를 도시하고 있다. 도24에는 가변적인 선행충전기(800)에 연결된 C/F 레지스터(420)가 도시되어 있다. 선행충전기(800)는 최소한 2 가지 이상의 공급값들을 제공할 수 있는 바, 하나의 공급값은 비정밀 프로그래밍을 위한 것이고 나머지 하나의 공급값은 정밀 프로그래밍 모드를 위한 것이다. C/F 레지스터(420)의 데이터에 기초하여, 적절한 공급값이 스위치(802)로 제공된다. 스위치(802)는 캐패시터(804)와 단자(51')에 연결되어 있다. 따라서, 비정밀 프로그래밍 모드 동안에는, 선행충전기(800)는 플로팅 게이트(56')를 프로그래밍하기 위해 비정밀 충전값을 캐패시터(804)에 제공할 것이다.
정밀 프로그래밍 모드 동안에는, 선행충전기(800)는 플로팅 게이트(56')를 프로그래밍하기 위해 정밀 충전값(비정밀 충전값보다는 상대적으로 작은 크기를 갖음)을 캐패시터(804)에 제공할 것이다.
도25는 전술한 전하 계량에 대해 또 다른 대체적인 실시예를 도시하고 있다. 도25에 도시된 실시예는 비정밀모드와 정밀모드 모두를 위한 공통 선행충전기(848)에 대한 사용을 포함한다. 하지만, 스위치(840)가 2개의 서로 다른 캐패시터중에서 하나를 선택하는데 사용된다.
캐패시터(842)는 비정밀모드 동안의 프로그래밍에 사용되며, 상기 캐패시터(842) 보다 용량이 작은 캐패시터(844)는 정밀모드 동안의 프로그래밍에 사용된다. 스위치(840)는 C/F 레지스터(420)에 저장된 데이터에 기초하여, 캐패시터(842)와 캐패시터(844) 중에서 하나를 선택한다.
어떤 실시예들에서는, 캐패시터를 이용하여 제어 라인(예를들면, 단자 51')을 선행충전하게 되면, 제어라인이 접지전위가 됨을 유의해야 한다. 조향 게이트에 펄스가 인가될 때, 이러한 선행충전 상태는 캐패시터쪽으로의 전류 싱크를 야기하며, 캐패시터의 전압은 디바이스가 궁극적으로 셧다운 될 때까지 상승할 것이다.
전류가 캐패시터쪽으로 흐름에 따라, 단자 51'의 전압은, 프로그래밍을 유효하게 중단시킬 정도의 충분히 높은 레벨이 될 때까지 상승할 것이다.
각각의 펄스가 인가된 이후에, 상기 메모리 셀은 검증된다. 전술한 전하 패킷 계량 기법은 상기한 고성능의 검증 과정(Smart Verify Process) 및/또는 상기한 비정밀/정밀 동시 검증과정에 조합되어 선택적으로 사용될 수 있다.
어떤 실시예들에서는 상기의 비정밀/정밀 동시 검증, 프로그래밍 과정동안의 전류 싱킹(sinking), 프로그램 과정동안의 전하 계량 모두가, 복수 메모리 셀들을 위해 워드라인 또는 조향 게이트들에 인가되는(메모리 셀의 구조에 따라 다름) 공통 신호(예를 들면, 계단형의 Vpgm)를 예상한다는 점을 유의 해야한다.
전술한 본 발명에 대한 상세한 설명은 예시와 설명의 목적으로만 제공되었다. 전술한 본 발명에 대한 상세한 설명은, 본 발명을 완벽하게 설명하기 위한 것이 아니며, 본 발명을 개시된 특정한 형태로 제한하고자 함이 아니다. 상기 기술 내용의 관점에서 많은 수정 및 변경이 가능하다. 기술된 실시예들은 본 발명의 사상과 실제적인 응용예를 가장 잘 설명하기 위해 선택되었고, 이에 따라 당업자는 본 발명을 다양한 실시예에서 사용할 수 있고 예정된 특정한 사용에 적합하도록 다양한 변형을 할 수 있을 것이다. 본 발명의 범위는 이하 첨부된 청구범위에 의해 정의된다.

Claims (45)

  1. 비 휘발성 저장소자를 프로그래밍 하는 장치에 있어서,
    상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인지 정밀 프로그래밍 모드인지를 알려주는 출력을 제공하는 프로그래밍 모드 지시기 ; 및
    상기 프로그래밍 모드 지시기와 상기 비 휘발성 저장소자와 통신하는 스위칭 가능한 전하 패킷 계량회로를 포함하여 이루어지며,
    여기서, 상기 스위칭 가능한 전하 패킷 계량회로는 상기 비 휘발성 저장소자가 상기 정밀 프로그래밍 모드에 있음을 알려주는 상기 프로그래밍 모드 지시기에 응하여 상기 비 휘발성 저장소자에 계량된 전하를 제공하며,
    상기 계량된 전하는,
    전하 저장 소자를 충전하는 단계;
    상기 비 휘발성 저장소자에 프로그램 신호를 인가하는 단계; 및
    상기 비 휘발성 저장소자를 통해 상기 전하 저장 소자를 방전하는 단계
    를 포함하는 상기 전하 패킷 계량회로의 동작에 의해서 생성되는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  2. 제 1 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량회로는,
    소스; 및
    상기 소스와 전하 저장 디바이스와 통신하는 제 1 스위치
    를 포함하여 이루어지며,
    여기서, 상기 전하 저장 디바이스는 상기 제 1 스위치와 상기 비 휘발성 저장소자의 제어라인과 통신하며,
    여기서, 상기 제 1 스위치는 상기 소스가 상기 전하 저장 디바이스를 충전하 는 것을 선택적으로 허용하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  3. 제 2 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량회로는,
    제 2 스위치를 더 포함하여 이루어지며
    여기서, 상기 제 2 스위치는 상기 제어라인, 상기 전하 저장 디바이스 그리고 상기 프로그래밍 모드 지시기와 통신하며,
    여기서, 상기 제 2 스위치는, 상기 비 휘발성 저장소자가 상기 정밀 프로그래밍 모드에 있다고 상기 프로그래밍 모드 지시기가 알려줄 때, 상기 전하 저장 디바이스와 상기 제어라인을 선택적으로 연결하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  4. 제 1 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량회로는,
    제 1 소스;
    상기 제 1 소스와 통신하는 제 1 스위치;
    상기 제 1 스위치와 통신하는 제 1 전하 저장 디바이스 -여기서, 상기 제 1 스위치는 상기 제 1 소스가 상기 제 1 전하 저장 디바이스를 충전하는 것을 선택적으로 허용함-;
    제 2 소스;
    상기 제 2 소스와 통신하는 제 2 스위치;
    상기 제 2 스위치와 통신하는 제 2 전하 저장 디바이스 -여기서, 상기 제 2 스위치는 상기 제 2 소스가 상기 제 2 전하 저장 디바이스를 충전하는 것을 선택적으로 허용함-; 및
    상기 프로그래밍 모드 지시기에 기초하여, 상기 제 1 전하 저장 디바이스와 상기 제 2 전하 저장 디바이스 중 어느 하나를 상기 비 휘발성 저장소자의 제어라인과 연결하는 제 3 스위치
    를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  5. 제 1 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량회로는,
    상기 프로그래밍 모드 지시기와 통신하는 가변 소스;
    상기 가변 소스와 통신하는 제 1 스위치; 및
    상기 제 1 스위치와 통신하는 전하 저장 디바이스
    -여기서, 상기 제 1 스위치는 상기 가변 소스가 상기 전하 저장 디바이스를 충전하는 것을 선택적으로 허용하고,
    상기 전하 저장 디바이스는 상기 비 휘발성 저장소자에 대한 전하 제공이 가능하며,
    만일, 상기 비 휘발성 저장 소자가 비정밀 모드에 있다고 상기 프로그래밍 모드 지시기가 알려주면 상기 가변 소스는 상기 전하 저장 디바이스를 제 1 레벨로 충전하며 만일, 상기 비 휘발성 저장 소자가 정밀 모드에 있다고 상기 프로그래밍 모드 지시기가 알려주면 상기 가변 소스는 상기 전하 저장 디바이스를 제 2 레벨로 충전함-
    를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  6. 제 1 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량회로는,
    소스;
    상기 소스와 상기 프로그래밍 모드 지시기와 통신하는 제 1 스위치;
    상기 제 1 스위치와 통신하는 제 1 전하 저장 디바이스; 및
    상기 제 1 스위치와 통신하는 제 2 전하 저장 디바이스 -여기서, 상기 제 1 스위치는 상기 프로그래밍 모드 지시기에 기초하여, 상기 소스가 상기 제 1 전하 저장 디바이스와 상기 제 2 전하 저장 디바이스 중 어느 하나를 충전하는 것을 선택적으로 허용함-
    를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  7. 제 6 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량회로는,
    상기 제 1 스위치와 상기 소스 사이에 연결되어 상기 소스가 상기 제 1 스위치와 선택적으로 통신할 수 있도록 하는 제 2 스위치
    를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래 밍 하는 장치.
  8. 제 1 항에 있어서,
    상기 스위칭 가능한 전하 패킷 계량 회로는 소스, 상기 소스와 통신하는 제 1 스위치, 전하 저장 디바이스를 포함하여 이루어지며;
    상기 전하 저장 디바이스는 상기 제 1 스위치와 상기 비 휘발성 저장소자의 제어라인과 통신하며, 상기 제 1 스위치는 상기 소스가 상기 전하 저장 디바이스를 충전하는 것을 선택적으로 허용하며; 그리고
    상기 비 휘발성 저장소자를 프로그래밍하기 위해, 상기 전하 저장 디바이스는 상기 제어라인을 통해 방전하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  9. 제 1 항에 있어서,
    상기 비 휘발성 저장소자와 통신하는 감지회로 -여기서, 상기 프로그래밍 모드 지시기는 상기 감지회로에 기초하여 상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드 또는 상기 정밀 프로그래밍 모드인지를 알려주는 상기 출력을 제공함-; 및
    상기 프로그래밍 모드 지시기 및 상기 감지회로와 통신하는 선택회로 -여기서, 상기 선택회로는 만일, 상기 비 휘발성 저장 소자가 상기 비정밀 모드에 있다면 비정밀 기준신호를 상기 감지회로에 제공하며 만일, 상기 비 휘발성 저장 소자가 상기 정밀 모드에 있다면 정밀 기준신호를 상기 감지회로에 제공함-
    를 더 포함하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  10. 제 9 항에 있어서, 상기 감지회로는
    상기 비정밀 기준신호와 상기 정밀 기준신호중 어느 하나를 상기 비 휘발성 저장소자에 대한 데이터와 비교하되, 이는 상기 비 휘발성 저장소자가 특정한 검증레벨에 도달하였는지를 판별하기 위한 것임을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  11. 제 10 항에 있어서, 상기 프로그래밍 모드 지시기는,
    상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드 또는 상기 정밀 프로그래밍 모드인지를 알려주는 데이터를 저장하는 저장 유닛을 포함하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  12. 제 11 항에 있어서,
    상기 비 휘발성 저장소자는 복수-상태 플래쉬 메모리 디바이스이며;
    상기 스위칭 가능한 전하 패킷 계량회로는 소스, 상기 소스와 통신하는 제 1 스위치, 그리고 캐패시터를 포함하여 이루어지며;
    상기 캐패시터는 상기 제 1 스위치와 상기 비 휘발성 저장소자의 제어라인과 통신하며, 상기 제 1 스위치는 상기 소스가 상기 캐패시터를 충전하도록 선택적으로 허용하며; 및
    상기 비 휘발성 저장소자를 프로그래밍하기 위해, 상기 캐패시터는 상기 비 휘발성 전하 저장소자의 제어라인을 통해 방전하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  13. 제 1 항에 있어서,
    상기 비 휘발성 전하 저장소자는 플래쉬 메모리 디바이스인 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  14. 제 1 항에 있어서,
    상기 비 휘발성 전하 저장소자는 복수-상태 플래쉬 메모리 디바이스인 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  15. 제어 터미널들을 갖는 비 휘발성 저장소자들의 세트; 및
    상기 제어 터미널들과 통신하는 개별적으로 스위칭 가능한 전하 패킷 계량 시스템 -여기서, 상기 개별적으로 스위칭 가능한 전하 패킷 계량 시스템은 개별적으로 스위치되어 계량된 특정 전하를 제공하는데, 이는 정밀 프로그래밍 모드에 있는 상기 비 휘발성 저장소자들을 프로그램하기 위함이며, 비정밀 프로그래밍 모드에 있는 비 휘발성 저장소자들을 프로그램하기 위해 상기 계량된 특정 전하를 공급 하지는 않음-
    을 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  16. 제 15 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량 시스템은,
    상기 비 휘발성 저장소자들의 세트에 대한 비트라인들의 세트중에서 각각의 비트라인에 대한 전하 패킷 계량 회로를 포함하여 이루어지며,
    상기 각각의 전하 패킷 계량 회로는 개별적으로 스위치될 수 있는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  17. 제 15 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량 시스템은,
    소스, 상기 소스와 통신하는 제 1 스위치, 그리고 제 1 전하 저장 디바이스를 포함하여 이루어지며,
    상기 제 1 전하 저장 디바이스는 상기 제 1 스위치와 제 1 비 휘발성 저장소자의 제 1 제어라인과 통신하며,
    상기 제 1 스위치는 상기 소스가 상기 제 1 전하 저장 디바이스를 충전하는 것을 선택적으로 허용하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  18. 제 17 항에 있어서,
    상기 스위칭 가능한 전하 패킷 계량 시스템은,
    제 2 스위치를 더 포함하여 이루어지며,
    상기 제 2 스위치는 상기 제어라인과 상기 전하 저장 디바이스와 통신하며; 그리고 상기 제 2 스위치는, 상기 비 휘발성 저장 소자가 상기 정밀 프로그래밍 모드에 있을 때, 상기 전하 저장 디바이스와 상기 제어라인을 선택적으로 연결하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  19. 제 15 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량 시스템은,
    제 1 소스;
    상기 제 1 소스와 통신하는 제 1 스위치;
    상기 제 1 스위치와 통신하는 제 1 전하 저장 디바이스
    -여기서, 상기 제 1 스위치는 상기 제 1 소스가 상기 제 1 전하 저장 디바이스를 충전하는 것을 선택적으로 허용함-;
    제 2 소스;
    상기 제 2 소스와 통신하는 제 2 스위치;
    상기 제 2 스위치와 통신하는 제 2 전하 저장 디바이스
    -여기서, 상기 제 2 스위치는 상기 제 2 소스가 상기 제 2 전하 저장 디바이스를 충전하는 것을 선택적으로 허용함-; 및
    특정 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드인지 또는 정밀 프로그래밍 모드인지에 따라, 상기 제 1 전하 저장 디바이스와 상기 제 2 전하 저장 디바이스 중 어느 하나를 상기 특정 비 휘발성 저장소자의 제어라인과 연결하는 제 3 스위치
    를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  20. 제 15 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량 시스템은,
    가변 소스;
    상기 가변 소스와 통신하는 제 1 스위치; 및
    상기 제 1 스위치와 통신하는 제 1 전하 저장 디바이스
    -여기서, 상기 제 1 스위치는 상기 가변 소스가 상기 제 1 전하 저장 디바이스를 충전하는 것을 선택적으로 허용하고,
    상기 제 1 전하 저장 디바이스는 제 1 비 휘발성 저장소자에 대한 전하 제공이 가능하며,
    만일, 상기 제 1 비 휘발성 저장 소자가 상기 비정밀 프로그래밍 모드에 있다면 상기 가변 소스는 상기 제 1 전하 저장 디바이스를 제 1 레벨로 충전하며 만일, 상기 제 1 비 휘발성 저장 소자가 정밀 모드에 있다면 상기 가변 소스는 상기 제 1 전하 저장 디바이스를 제 2 레벨로 충전함-
    를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  21. 제 15 항에 있어서, 상기 스위칭 가능한 전하 패킷 계량 시스템은,
    소스;
    제 1 비 휘발성 저장소자와 통신하는 제 1 스위치;
    상기 제 1 스위치와 통신하는 제 1 전하 저장 디바이스; 및
    상기 제 1 스위치와 통신하는 제 2 전하 저장 디바이스
    -여기서, 상기 제 1 스위치는, 상기 제 1 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드인지 상기 정밀 프로그래밍 모드인지에 따라, 상기 소스가 상기 제 1 전하 저장 디바이스 또는 상기 제 2 전하 저장 디바이스중 어느 하나를 충전하는 것을 선택적으로 허용함-
    를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  22. 제 15 항에 있어서,
    상기 스위칭 가능한 전하 패킷 계량 회로는 소스, 상기 소스와 통신하는 제 1 스위치, 그리고 캐패시터를 포함하여 이루어지며;
    상기 캐패시터는 상기 제 1 스위치와 상기 비 휘발성 저장소자의 제어라인과 통신하며 -여기서, 상기 제 1 스위치는 상기 소스가 상기 캐패시터를 충전하는 것을 선택적으로 허용함; 그리고
    상기 캐패시터는 상기 비 휘발성 저장소자를 프로그램하기 위해 상기 비 휘 발성 소자의 제어라인을 통해 방전하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  23. 제 15 항에 있어서,
    상기 비 휘발성 저장소자들은 플래쉬 메모리 디바이스의 어레이를 포함하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  24. 제 15 항에 있어서,
    상기 비 휘발성 저장소자들은 복수-상태 플래쉬 메모리 디바이스를 포함하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  25. 제 15 항에 있어서, 상기 전하 패킷 계량 시스템은,
    각각의 비 휘발성 저장소자를 위한 전하 패킷 계량 회로를 포함하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍 하는 장치.
  26. 비 휘발성 저장소자에 대한 비정밀 프로그램을 수행하는 수단;
    상기 비 휘발성 저장소자의 임계전압이 제 1 검증레벨에 도달했는지와 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드로 되어야 하는지를 판별하는 수단; 그리고
    상기 비 휘발성 저장소자가 상기 정밀 프로그래밍 모드를 수행하도록 상기 비 휘발성 저장소자의 전하를 계량하는 수단
    을 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 장치.
  27. 비 휘발성 저장소자가 제 1 조건에 도달할 때 까지 상기 비 휘발성 저장소자에 대한 비정밀 프로그래밍 모드를 수행하는 단계;
    상기 비 휘발성 저장소자에 대한 전하를 계량함으로서 상기 비 휘발성 저장소자에 대한 정밀 프로그래밍 모드를 수행하는 단계를 포함하여 이루어지며,
    상기 비 휘발성 저장소자에 대한 전하를 계량하는 것은,
    전하 저장 소자를 충전하는 단계;
    상기 비 휘발성 저장소자에 프로그램 신호를 인가하는 단계; 및
    상기 비 휘발성 저장소자를 통해 상기 전하 저장 소자를 방전하는 단계
    를 포함하는 것을 특징으로 하는 프로그래밍 방법.
  28. 제 27 항에 있어서,
    상기 비 휘발성 저장소자에 대한 비정밀 프로그래밍 모드가 완료되면 뒤이어 상기 비 휘발성 저장소자에 대한 상기 정밀 프로그래밍 모드가 시작되는 것을 특징으로 하는 프로그래밍 방법.
  29. 삭제
  30. 제 27 항에 있어서, 상기 비 휘발성 저장소자에 대한 전하를 계량하는 것은,
    전원에 캐패시터를 연결하고 상기 캐패시터를 충전하는 단계;
    상기 캐패시터를 충전한 후에 상기 캐패시터와 상기 전원 사이의 연결을 개방하는 단계;
    상기 비 휘발성 저장소자에 프로그램 신호를 인가하는 단계; 및
    상기 비 휘발성 저장소자를 통해 상기 전하 저장 소자를 방전하는 단계를 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  31. 제 27 항에 있어서, 상기 비 휘발성 저장소자에 대한 전하를 계량하는 것은,
    상기 비 휘발성 저장소자와 관련된 비트라인들을 선행 충전하는 단계;
    상기 선행 충전이후에 상기 비트라인들을 플로팅 상태로 만드는 단계;
    공통 프로그램 신호를 상기 비 휘발성 저장소자에 인가하는 단계; 및
    상기 비 휘발성 저장소자를 통해 상기 전하 저장 소자를 방전하는 단계
    를 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  32. 제 27 항에 있어서, 상기 비 휘발성 저장소자에 대한 전하를 계량하는 것은,
    전하 계량 시스템의 캐패시터들을 스위칭하는 것을 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  33. 제 27 항에 있어서, 상기 비 휘발성 저장소자에 대한 전하를 계량하는 것은,
    전하 계량 시스템의 전원들을 스위칭하는 것을 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  34. 제 27 항에 있어서, 상기 비 휘발성 저장소자에 대한 전하를 계량하는 것은,
    전하 계량 시스템의 가변 전원을 스위칭하는 것을 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  35. 제 27 항에 있어서, 상기 비정밀 프로그램 모드는,
    상기 비 휘발성 저장소자에 대한 전하를 계량하는 것을 포함하지 않는 것을 특징으로 하는 프로그래밍 방법.
  36. 제 27 항에 있어서, 상기 비 휘발성 저장소자는,
    복수-상태 플래쉬 메모리 디바이스인 것을 특징으로 하는 프로그래밍 방법.
  37. 제 27 항에 있어서, 상기 비 휘발성 저장소자에 대한 전하를 계량하는 것은,
    전하 저장 소자를 충전하는 단계;
    상기 비 휘발성 저장소자에 공통 프로그램 신호를 인가하는 단계
    -여기서, 상기 공통 프로그램 신호는 공통 워드라인을 따라 복수개의 비 휘발성 저장소자에 인가됨- ; 및
    상기 비 휘발성 저장소자를 통해 상기 전하 저장 소자를 방전하는 단계를 포 함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  38. 비 휘발성 저장소자에 대한 비정밀 프로그래밍 프로세스를 수행하는 단계;
    상기 비 휘발성 저장소자가 정밀 프로그래밍 프로세스로 스위치해야 하는지를 판별하는 단계; 및
    상기 비 휘발성 저장소자가 정밀 프로그래밍 프로세스로 스위치해야 하는 지에 대한 판별에 대응하여 상기 정밀 프로그래밍 프로세스를 수행하는 단계
    -여기서, 상기 정밀 프로그래밍 프로세스는,
    상기 비 휘발성 저장소자의 제어라인을 선행 충전하는 단계와
    상기 비 휘발성 저장소자를 프로그램하기 위해 상기 제어라인을 통해 상기 비 휘발성 저장소자를 방전하는 단계를 포함하여 이루어짐-
    를 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  39. 제 38 항에 있어서,
    상기 제어라인을 선행충전하는 단계는 캐패시터를 충전하는 것을 포함하는 것을 특징으로 하는 프로그래밍 방법.
  40. 제 38 항에 있어서,
    상기 제어라인을 선행 충전하는 단계는, 전하 저장 디바이스를 전원에 연결하는 것을 포함하며 -여기서, 상기 전하 저장 디바이스는 상기 비 휘발성 저장소자 에 연결됨- ; 그리고
    상기 제어라인을 방전하는 단계는,
    상기 전원과 상기 전하 저장 디바이스간의 연결을 끊는 것을 포함하는 것을 특징으로 하는 프로그래밍 방법.
  41. 제 38 항에 있어서,
    상기 제어라인은 복수개의 비 휘발성 저장소자들의 비트라인 것을 특징으로 하는 프로그래밍 방법.
  42. 제 38 항에 있어서,
    상기 제어라인은 가변 전원을 이용하여 선행 충전되며; 그리고
    상기 정밀 프로그래밍 프로세스는, 상기 정밀 프로그래밍 프로세스에 적합한 신호를 제공하기 위해 상기 가변 전원을 변경하는 것을 포함하여 이루어진 것을 특징으로 하는 프로그래밍 방법.
  43. 제 38 항에 있어서,
    상기 제어라인은, 제 1 전원을 이용하여 상기 비정밀 프로그래밍 프로세스 동안 선행충전되며;
    상기 제어라인은, 제 2 전원을 이용하여 상기 정밀 프로그래밍 프로세스 동안 선행충전되며; 그리고
    상기 정밀 프로그래밍 프로세스는 상기 제 1 전원을 상기 제 2 전원으로 스위칭하는 것을 포함하는 것을 특징으로 하는 프로그래밍 방법.
  44. 제 38 항에 있어서,
    상기 제어라인은, 제 1 전하 저장 디바이스를 이용하여 상기 정밀 프로그래밍 프로세스 동안 선행 충전되며;
    상기 제어라인은, 상기 정밀 프로그래밍 프로세스가 아닌 동안 제 2 전하 저장 디바이스를 이용하여 선행 충전되며; 그리고
    상기 정밀 프로그래밍 프로세스는 상기 제 2 전하 저장 디바이스에서 상기 제 1 전하 저장 디바이스로 스위칭하는 것을 포함하는 것을 특징으로 하는 프로그래밍 방법.
  45. 제 38 항에 있어서,
    상기 비 휘발성 저장소자는 복수-상태 플래쉬 메모리 디바이스인 것을 특징으로 하는 프로그래밍 방법.
KR1020067017086A 2004-01-27 2005-01-25 비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한 전하패킷 계량 KR100895331B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/766,116 US7068539B2 (en) 2004-01-27 2004-01-27 Charge packet metering for coarse/fine programming of non-volatile memory
US10/766,116 2004-01-27

Publications (2)

Publication Number Publication Date
KR20070007285A KR20070007285A (ko) 2007-01-15
KR100895331B1 true KR100895331B1 (ko) 2009-05-07

Family

ID=34795598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067017086A KR100895331B1 (ko) 2004-01-27 2005-01-25 비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한 전하패킷 계량

Country Status (9)

Country Link
US (3) US7068539B2 (ko)
EP (1) EP1714293B1 (ko)
JP (1) JP2007520028A (ko)
KR (1) KR100895331B1 (ko)
CN (1) CN1930633B (ko)
AT (1) ATE448550T1 (ko)
DE (1) DE602005017584D1 (ko)
TW (1) TWI343056B (ko)
WO (1) WO2005073980A1 (ko)

Families Citing this family (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139198B2 (en) * 2004-01-27 2006-11-21 Sandisk Corporation Efficient verification for coarse/fine programming of non-volatile memory
US7068539B2 (en) * 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
US7009889B2 (en) * 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
US7289363B2 (en) * 2005-05-19 2007-10-30 Micron Technology, Inc. Memory cell repair using fuse programming method in a flash memory device
EP1891644B1 (en) * 2005-06-15 2009-02-11 Micron Technology, Inc. Selective slow programming convergence in a flash memory device
ITRM20050310A1 (it) * 2005-06-15 2006-12-16 Micron Technology Inc Convergenza a programmazione selettiva lenta in un dispositivo di memoria flash.
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7224614B1 (en) 2005-12-29 2007-05-29 Sandisk Corporation Methods for improved program-verify operations in non-volatile memories
US7310255B2 (en) 2005-12-29 2007-12-18 Sandisk Corporation Non-volatile memory with improved program-verify operations
US7349260B2 (en) 2005-12-29 2008-03-25 Sandisk Corporation Alternate row-based reading and writing for non-volatile memory
KR101317625B1 (ko) 2005-12-29 2013-10-10 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 메모리에서 향상된 프로그램-검증 작동을 위한방법 및 장치
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
CN103208309B (zh) 2006-05-12 2016-03-09 苹果公司 存储设备中的失真估计和消除
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
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008053473A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
KR100888847B1 (ko) * 2007-06-28 2009-03-17 삼성전자주식회사 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
US7508715B2 (en) * 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7599224B2 (en) * 2007-07-03 2009-10-06 Sandisk Corporation Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8443242B2 (en) 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
US8607128B2 (en) 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
WO2009072103A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8259521B2 (en) 2008-05-28 2012-09-04 Macronix International Co., Ltd. Method and circuit for testing a multi-chip package
US8059447B2 (en) * 2008-06-27 2011-11-15 Sandisk 3D Llc Capacitive discharge method for writing to non-volatile memory
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8130528B2 (en) 2008-08-25 2012-03-06 Sandisk 3D Llc Memory system with sectional data lines
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8027209B2 (en) * 2008-10-06 2011-09-27 Sandisk 3D, Llc Continuous programming of non-volatile memory
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8279650B2 (en) 2009-04-20 2012-10-02 Sandisk 3D Llc Memory system with data line switching scheme
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US7885091B2 (en) * 2009-05-26 2011-02-08 Sandisk 3D Llc Limited charge delivery for programming non-volatile storage elements
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
TWI501226B (zh) * 2011-05-20 2015-09-21 Semiconductor Energy Lab 記憶體裝置及驅動記憶體裝置的方法
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
TWI485711B (zh) * 2012-03-20 2015-05-21 Ememory Technology Inc 快閃記憶體裝置
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
JP2015204126A (ja) * 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9947682B2 (en) 2014-11-18 2018-04-17 Sandisk Technologies Llc Three dimensional non-volatile memory with separate source lines
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9548130B2 (en) 2015-04-08 2017-01-17 Sandisk Technologies Llc Non-volatile memory with prior state sensing
US9922719B2 (en) 2015-06-07 2018-03-20 Sandisk Technologies Llc Multi-VT sensing method by varying bit line voltage
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US20170117036A1 (en) 2015-10-22 2017-04-27 Sandisk Technologies Llc Source line driver for three dimensional non-volatile memory
US9715924B2 (en) 2015-10-22 2017-07-25 Sandisk Technologies Llc Three dimensional non-volatile memory with current sensing programming status
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
KR102491133B1 (ko) * 2016-03-21 2023-01-25 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
JP2021044044A (ja) 2019-09-13 2021-03-18 キオクシア株式会社 メモリシステム
US11682459B2 (en) * 2020-05-13 2023-06-20 Silicon Storage Technology, Inc. Analog neural memory array in artificial neural network comprising logical cells and improved programming mechanism
US20220066651A1 (en) * 2020-08-31 2022-03-03 Micron Technology, Inc. Asychronous power loss handling using dummy writes in memory devices
US11335407B1 (en) 2020-12-18 2022-05-17 Micron Technology, Inc. One-ladder read of memory cells coarsely programmed via interleaved two-pass data programming techniques
US11456038B2 (en) 2020-12-18 2022-09-27 Micron Technology, Inc. Simplified operations to read memory cells coarsely programmed via interleaved two-pass data programming techniques
US11430526B2 (en) * 2020-12-18 2022-08-30 Micron Technology, Inc. Interleaved two-pass data programming techniques with reduced write amplification
US11462265B2 (en) * 2020-12-18 2022-10-04 Micron Technology, Inc. Reading memory cells coarsely programmed via interleaved two-pass data programming techniques
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US20230238037A1 (en) * 2022-01-25 2023-07-27 Macronix International Co., Ltd. Content addressable memory device and method for data searching and comparing thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301161B1 (en) 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
US6317364B1 (en) 1992-01-14 2001-11-13 Sandisk Corporation Multi-state memory
US20020057598A1 (en) 2000-09-28 2002-05-16 Yoshinori Sakamoto Non-volatile memory and method of non-volatile memory programming

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US57598A (en) * 1866-08-28 Improvement in ladies fans
US5220531A (en) * 1991-01-02 1993-06-15 Information Storage Devices, Inc. Source follower storage cell and improved method and apparatus for iterative write for integrated circuit analog signal recording and playback
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5712180A (en) * 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US5412601A (en) * 1992-08-31 1995-05-02 Nippon Steel Corporation Non-volatile semiconductor memory device capable of storing multi-value data in each memory cell
US5623436A (en) * 1993-06-17 1997-04-22 Information Storage Devices Method and apparatus for adjustment and control of an iterative method of recording analog signals with on-chip trimming techniques
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3476952B2 (ja) * 1994-03-15 2003-12-10 株式会社東芝 不揮発性半導体記憶装置
JP3730272B2 (ja) * 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
DE69421925T2 (de) * 1994-09-30 2000-03-16 St Microelectronics Srl Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts
JPH09251782A (ja) * 1996-03-14 1997-09-22 Fujitsu Ltd 半導体記憶装置
US5726934A (en) * 1996-04-09 1998-03-10 Information Storage Devices, Inc. Method and apparatus for analog reading values stored in floating gate structures
US5712815A (en) * 1996-04-22 1998-01-27 Advanced Micro Devices, Inc. Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells
US6134148A (en) 1997-09-30 2000-10-17 Hitachi, Ltd. Semiconductor integrated circuit and data processing system
JP3679544B2 (ja) * 1997-03-28 2005-08-03 三洋電機株式会社 不揮発性半導体メモリ装置
JP3481817B2 (ja) * 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
US5877984A (en) * 1997-09-05 1999-03-02 Information Storage Devices, Inc. Method and apparatus for adjustment and control of an iterative method of recording analog signals with on chip selection of a voltage ramp amplitude
US5926409A (en) * 1997-09-05 1999-07-20 Information Storage Devices, Inc. Method and apparatus for an adaptive ramp amplitude controller in nonvolatile memory application
JP3906545B2 (ja) * 1998-02-03 2007-04-18 ソニー株式会社 不揮発性半導体記憶装置
US5969986A (en) * 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
JP2000040382A (ja) * 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
US6151248A (en) * 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
JP2001067884A (ja) * 1999-08-31 2001-03-16 Hitachi Ltd 不揮発性半導体記憶装置
US6292394B1 (en) * 2000-06-29 2001-09-18 Saifun Semiconductors Ltd. Method for programming of a semiconductor memory cell
JP2002152885A (ja) 2000-11-14 2002-05-24 Sony Corp スピーカ装置
WO2002056316A1 (fr) * 2001-01-12 2002-07-18 Hitachi, Ltd. Memoire remanente a semi-conducteur
JP3631463B2 (ja) * 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6424566B1 (en) * 2001-02-08 2002-07-23 Advanced Micro Devices, Inc. Program reconnaissance to eliminate variations in vt distributions of multi-level cell flash memory designs
US6738289B2 (en) * 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
EP1249842B1 (en) 2001-04-10 2009-08-26 STMicroelectronics S.r.l. Method for programming nonvolatile memory cells with program and verify algorithm using a staircase voltage with varying step amplitude
US6532172B2 (en) * 2001-05-31 2003-03-11 Sandisk Corporation Steering gate and bit line segmentation in non-volatile memories
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6597603B2 (en) * 2001-11-06 2003-07-22 Atmel Corporation Dual mode high voltage power supply for providing increased speed in programming during testing of low voltage non-volatile memories
US6529412B1 (en) * 2002-01-16 2003-03-04 Advanced Micro Devices, Inc. Source side sensing scheme for virtual ground read of flash eprom array with adjacent bit precharge
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
US6977959B2 (en) * 2003-01-17 2005-12-20 Xilinx, Inc. Clock and data recovery phase-locked loop
US6856551B2 (en) * 2003-02-06 2005-02-15 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
JP2004335056A (ja) * 2003-05-12 2004-11-25 Sharp Corp 複数のメモリセルを有する半導体記憶装置をプログラムする方法および消去する方法
US7002843B2 (en) * 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking for coarse/fine programming of non-volatile memory
US7068539B2 (en) 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
US7139198B2 (en) * 2004-01-27 2006-11-21 Sandisk Corporation Efficient verification for coarse/fine programming of non-volatile memory
US7020026B2 (en) 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317364B1 (en) 1992-01-14 2001-11-13 Sandisk Corporation Multi-state memory
US6301161B1 (en) 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
US20020057598A1 (en) 2000-09-28 2002-05-16 Yoshinori Sakamoto Non-volatile memory and method of non-volatile memory programming

Also Published As

Publication number Publication date
CN1930633A (zh) 2007-03-14
KR20070007285A (ko) 2007-01-15
TWI343056B (en) 2011-06-01
CN1930633B (zh) 2011-06-29
US7068539B2 (en) 2006-06-27
US20060203563A1 (en) 2006-09-14
US20060221700A1 (en) 2006-10-05
US20050162923A1 (en) 2005-07-28
EP1714293A1 (en) 2006-10-25
US7447075B2 (en) 2008-11-04
DE602005017584D1 (de) 2009-12-24
JP2007520028A (ja) 2007-07-19
US7453730B2 (en) 2008-11-18
ATE448550T1 (de) 2009-11-15
TW200606948A (en) 2006-02-16
EP1714293B1 (en) 2009-11-11
WO2005073980A1 (en) 2005-08-11

Similar Documents

Publication Publication Date Title
KR100895331B1 (ko) 비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한 전하패킷 계량
KR100861422B1 (ko) 비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한가변적인 전류 싱킹
KR100858745B1 (ko) 비 휘발성 메모리의 비정밀/정밀 프로그래밍에 대한효율적인 검증
US7177199B2 (en) Behavior based programming of non-volatile memory
US20070171744A1 (en) Memories with alternate sensing techniques
KR20030096307A (ko) 플래시 메모리 어레이의 코어 셀들의 소프트 프로그램 및소프트 프로그램 검증
US7173860B2 (en) Source controlled operation of non-volatile memories
KR100928735B1 (ko) 메모리 디바이스에서 소프트 프로그램 검증을 위한 방법및 장치
US11139022B1 (en) Source line voltage control for NAND memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130403

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140401

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee