KR20070042495A - 비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한가변적인 전류 싱킹 - Google Patents

비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한가변적인 전류 싱킹 Download PDF

Info

Publication number
KR20070042495A
KR20070042495A KR1020067017085A KR20067017085A KR20070042495A KR 20070042495 A KR20070042495 A KR 20070042495A KR 1020067017085 A KR1020067017085 A KR 1020067017085A KR 20067017085 A KR20067017085 A KR 20067017085A KR 20070042495 A KR20070042495 A KR 20070042495A
Authority
KR
South Korea
Prior art keywords
reservoir
programming
volatile
current
programming mode
Prior art date
Application number
KR1020067017085A
Other languages
English (en)
Other versions
KR100861422B1 (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 KR20070042495A publication Critical patent/KR20070042495A/ko
Application granted granted Critical
Publication of KR100861422B1 publication Critical patent/KR100861422B1/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
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3481Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/005Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Non-Volatile Memory (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

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

Description

비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한 가변적인 전류 싱킹{VARIABLE CURRNET SINKING FOR COARSE/FINE PROGRAMMING OF NON-VOLATILE MEMORY}
본 발명은 비휘발성 메모리에 관한 기술이다.
본 출원은 다음 2건의 미국 특허출원과 연관되어 있다. 즉, Daniel C Guterman, Nima Mokhlesi 와 Yupin Fong 에 의해 "Charge Packet Metering For Coarse/Fine Programming Of Non-Volatile Memory"라는 명칭으로 본 출원과 동일자로 출원된 미국 특허출원과 Daniel C Guterman, Nima Mokhlesi 와 Yupin Fong 에 의해 "Efficient Verification 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 301161, 미국특허 US 5712815, 미국특허 US 5220531, 미국특허 US 5761222 가 그것들이다.
프로그래밍 과정동안에 메모리 셀을 검증하고자 할 때, 전술한 일부 해결책들은 먼저 비정밀 모드에서 검증 과정을 수행한 후에 이어서 정밀 모드에서 검증 과정을 수행할 것이다. 이와같은 검증 과정은 검증에 필요한 시간을 증가시킨다. 상기한 비정밀/정밀 프로그래밍 방법은 상기한 고성능의 검증 과정(Smart Verify Process)과 연동하여 함께 사용될 수도 있다.
메모리 기기들이 점점 더 작아지고 조밀해지게 되면서, 조밀한 임계 전압 분포와 적절한 프로그래밍 시간에 대한 요구는 날로 증가하고 있다. 비록 비정밀/정밀 프로그래밍 방법이 일부 현존하는 이슈에 대한 해법을 제공할 순 있겠지만, 상기한 비정밀/정밀 프로그래밍 방법을 더욱 더 개선한다면 원하는 조밀한 임계전압 분포와 적절한 프로그램 시간을 얻을 수 있다.
본 발명이 속하는 기술분야를 크게 생각해 본다면, 비휘발성 메모리에 관한 기술이며, 좀더 상세하게는 향상된 비정밀/정밀 프로그래밍 방법에 관한 것이다.
본 발명의 일 실시예는 비 휘발성 저장소자들을 프로그래밍하는 장치를 포함하여 이루어진다. 상기 장치는 하나 또는 그 이상의 검증 선택 회로들, 프로그래밍 회로와 통신할 수 있는 비 휘발성 저장소자들을 포함한다. 상기 검증 선택 회로들은 비 휘발성 저장소자들의 제 2 서브세트는 정밀 검증되게함과 동시에 비 휘발성 저장소자들의 제 1 서브세트는 비정밀 검증되게한다.
본 발명의 일부 실시예들은 비 휘발성 저장소자와 통신하는 감지회로, 상기 감지회로의 출력를 기반으로 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인지 아니면 정밀 프로그래밍 모드인지를 알려주는 출력신호를 생성하는 프로그래밍 모드 지시회로와 상기 프로그래밍 모드 지시회로와 통신하는 제 1 선택회로를 포함하여 이루어진다. 상기 제 1 선택회로는, 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인 경우 비정밀 검증신호를 상기 비 휘발성 저장소자에 인가하며, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드인 경우 정밀 검증신호를 상기 비 휘발성 저장소자에 인가한다.
구현을 위한 하나의 실시예에서 상기 장치는, 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인지 정밀 프로그래밍 모드인지를 판단하는 여러 단계들을 포함하여 이루어진 방법을 수행한다. 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드라고 판단되면, 상기 비 휘발성 저장소자에 대한 정밀 검증이 수행되는 일 없이, 상기 비 휘발성 저장소자에 대한 비정밀 검증이 수행된다.
상기 비 휘발성 저장소자가 정밀 프로그래밍 모드라고 판단되면, 상기 비 휘발성 저장소자에 대한 비정밀 검증이 수행되는 일 없이 상기 비 휘발성 저장소자에 대한 정밀 검증이 수행된다.
본 발명의 다른 실시예는 게이트와 제어 단자들의 세트를 갖는 비 휘발성 저장소자를 포함하여 이루어진다. 또한 상기 장치는, 최소한 하나 이상의 상기 제어 단자들과 통신하는 스위칭 가능한 전류 싱킹(sinking) 디바이스를 포함하여 이루어진다.
상기 스위칭 가능한 전류 싱킹 디바이스는, 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드에 있다면 상기 제어 단자에 비정밀 전류 싱크(sink)를 제공하며, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드에 있다면 상기 제어 단자에 정밀 전류 싱크를 제공한다.
어떤 실시예들에서는 전류 싱크는 정밀 프로그래밍 모드인 동안에만 제공되며, 비정밀 프로그래밍 모드에서는 제공되지 않는다.
본 발명의 또 다른 실시예는 상기 비 휘발성 저장소자와 통신하는 감지회로, 상기 감지회로의 출력을 기초로 하여 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드인지 아니면 정밀 프로그래밍 모드인지를 알려주는 출력신호를 생성하는 프로그래밍 모드 지시회로, 그리고 상기 프로그래밍 모드 지시회로와 상기 비 휘발성 저장소자와 통신하는 스위칭 가능한 전류 싱킹 디바이스를 포함하여 이루어진다.
상기 스위칭 가능한 전류 싱킹 디바이스는, 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드에 있다면 상기 비 휘발성 저장소자에 비정밀 전류 싱크를 제공하며, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드에 있다면 상기 비 휘발성 저장소자에 정밀 전류 싱크를 제공한다.
어떤 실시예에서는, 비 휘발성 메모리의 게이트에 공통 프로그래밍 신호를 인가하고, 비정밀 프로그래밍 동안 비 휘발성 메모리로부터의 제 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)의 컬럼라인들을 따라 확장된 조향 게이트들은 배선(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 폴리실리콘막은 상기 제 1 폴리실리콘막 상에 처음으로 형성된 유전막의 상면과 조향 게이트들 사이에서 노출된 영역들의 상면을 포함하는 전체 표면 상에 형성된다.
워드라인은 읽기나 쓰기 동작시에 자신이 속한 열(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)를 갖는다. 오른편의 두번째 영역(T2-right)은 플로팅 게이트(57)와 조향 게이트(83)에 의해 유사한 방법으로 제어된다. 첫번째 영역(T1-left)과 두번째 영역(T2-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)의 출력을 기초로 하는 다중화기(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)는 비정밀모드 동안의 프로그래밍에 사용되며 캐패시터(844)는 정밀모드 동안의 프로그래밍에 사용된다. 스위치(840)는 C/F 레지스터(420)에 저장된 데이터에 기초하여, 캐패시터(842)와 캐패시터(844) 중에서 하나를 선택한다.
어떤 실시예들에서는, 캐패시터를 이용하여 제어 라인(예를들면, 단자 51')을 선행충전하게 되면, 제어라인이 접지전위가 됨을 유의해야 한다. 조향 게이트에 펄스가 인가될 때, 이러한 선행충전 상태는 캐패시터쪽으로의 전류 싱크를 야기하며, 캐패시터의 전압은 디바이스가 궁극적으로 셧다운 될 때까지 상승할 것이다.
전류가 캐패시터쪽으로 흐름에 따라, 단자 51'의 전압은, 프로그래밍을 유효하게 중단시킬 정도의 충분히 높은 레벨이 될 때까지 상승할 것이다.
각각의 펄스가 인가된 이후에, 상기 메모리 셀은 검증된다. 전술한 전하 패킷 계량 기법은 상기한 고성능의 검증 과정(Smart Verify Process) 및/또는 상기한 비정밀/정밀 동시 검증과정에 조합되어 선택적으로 사용될 수 있다.
어떤 실시예들에서는 상기의 비정밀/정밀 동시 검증, 프로그래밍 과정동안의 전류 싱킹(sinking), 프로그램 과정동안의 전하 계량 모두가, 복수 메모리 셀들을 위해 워드라인 또는 조향 게이트들에 인가되는(메모리 셀의 구조에 따라 다름) 공통 신호(예를 들면, 계단형의 Vpgm)를 예상한다는 점을 유의 해야한다.
전술한 본 발명에 대한 상세한 설명은 예시와 설명의 목적으로만 제공되었다. 전술한 본 발명에 대한 상세한 설명은, 본 발명을 완벽하게 설명하기 위한 것이 아니며, 본 발명을 개시된 특정한 형태로 제한하고자 함이 아니다. 상기 기술 내용의 관점에서 많은 수정 및 변경이 가능하다. 기술된 실시예들은 본 발명의 사상과 실제적인 응용예를 가장 잘 설명하기 위해 선택되었고, 이에 따라 당업자는 본 발명을 다양한 실시예에서 사용할 수 있고 예정된 특정한 사용에 적합하도록 다양한 변형을 할 수 있을 것이다. 본 발명의 범위는 이하 첨부된 청구범위에 의해 정의된다.

Claims (46)

  1. 게이트와 2개의 제어 단자들을 갖는 비 휘발성 저장소자; 및
    상기 제어 단자들 중 하나와 통신하는 스위칭 가능한 전류싱킹 소자 -여기서, 상기 스위칭 가능한 전류싱킹 소자는 상기 비 휘발성 저장소자가 비정밀 프로그래밍 모드에 있으면 상기 제어단자들 중 하나에 비정밀 전류 싱크를 제공하며, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드에 있으면 상기 제어단자들 중 하나에 정밀 전류 싱크를 제공함를 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 장치.
  2. 제 1 항에 있어서, 상기 비정밀 전류 싱크는,
    상기 정밀 전류 싱크보다 더 큰 것을 특징으로 하는 프로그래밍 장치.
  3. 제 1 항에 있어서, 상기 스위칭 가능한 전류 싱킹 소자는,
    2 가지 전류 싱크 모드들로 작동할 수 있는 하나의 전류 싱크를 포함하는 것을 특징으로 하는 프로그래밍 장치.
  4. 제 1 항에 있어서,
    상기 비 휘발성 저장소자와 통신하는 감지회로; 및
    상기 감지회로의 출력에 기초하여 상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드에 있는지 또는 정밀 프로그래밍 모드에 있는지를 알려주는 출력신호를 제공하는 프로그래밍 모드 지시회로 -여기서, 상기 스위칭 가능한 전류 싱킹 소자는 상기 프로그래밍 모드 지시회로와 통신하며, 상기 프로그래밍 모드 지시회로의 출력에 기초하여 상기 비정밀 전류 싱크와 상기 정밀 전류 싱크사이에서 스위치함를 더 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 장치.
  5. 제 1 항에 있어서, 상기 스위칭 가능한 전류싱킹 소자는,
    상기 비정밀 전류 싱크를 제공하는 제 1 전류 싱크 유닛,
    상기 정밀 전류 싱크를 제공하는 제 2 전류 싱크 유닛,
    상기 제 1 전류 싱크 유닛과 상기 제 2 전류 싱크 유닛중 하나를 선택하는 스위치를 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 장치.
  6. 제 5 항에 있어서,
    상기 비 휘발성 저장소자와 통신하는 감지회로; 및
    상기 감지회로의 출력에 기초하여 상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드에 있는지 또는 정밀 프로그래밍 모드에 있는지를 알려주는 출력신호를 제공하는 프로그래밍 모드 지시회로 -여기서, 상기 스위치는 상기 프로그래밍 모드 지시회로와 통신하며, 상기 프로그래밍 모드 지시회로의 정보에 기초하여 상기 제 1 전류 싱크 유닛과 상기 제 2 전류 싱크 유닛사이에서 스위치함를 더 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 장치.
  7. 제 1 항에 있어서,
    상기 비 휘발성 저장소자와 통신하는 감지회로;
    상기 감지회로의 출력에 기초하여 상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드에 있는지 또는 정밀 프로그래밍 모드에 있는지를 알려주는 출력신호를 제공하는 프로그래밍 모드 지시회로 -여기서, 상기 스위칭 가능한 전류 싱킹 소자는 상기 프로그래밍 모드 지시회로와 통신함-; 및
    상기 감지회로와 상기 프로그래밍 모드 지시회로와 통신하는 선택회로 -여기서, 상기 선택회로는 상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드에 있으면 비정밀 기준신호를 상기 감지회로에 제공하고, 상기 비 휘발성 저장소자가 상기 정밀 프로그래밍 모드에 있으면 정밀 기준신호를 상기 감지회로에 제공함를 더 포함하여 이루어지는 것을 특징으로 하는 프로그램 장치.
  8. 제 7 항에 있어서, 상기 감지회로는,
    상기 프로그램 모드 지시회로의 출력에 근거하여 상기 비정밀 기준신호와 상기 정밀 기준신호중 어느 하나를 상기 비 휘발성 저장소자에 대한 데이터와 비교하되, 이는 상기 비 휘발성 저장소자가 특정한 검증레벨에 도달하였는지를 판별하기 위한 것임을 특징으로 하는 프로그래밍 장치.
  9. 제 8 항에 있어서, 상기 프로그래밍 모드 지시회로는,
    저장유닛을 더 포함하여 이루어지며,
    여기서, 상기 저장유닛은 상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드인지 정밀 프로그래밍 모드인지를 알려주는 데이터를 저장하는 것을 특징으로 하는 프로그래밍 장치.
  10. 제 7 항에 있어서, 상기 감지회로는,
    상기 비 휘발성 저장소자가 검증 요구조건을 만족하였는지를 판별하기 위한 비트라인 방전 분석을 수행하는 전기회로를 더 포함하여 이루어지는 것을 특징으로 하는 프로그램 장치.
  11. 제 1 항에 있어서,
    상기 2 개의 제어 단말들은 비트라인들인 것을 특징으로 하는 프로그래밍 장치.
  12. 제 1 항에 있어서,
    상기 제어 단말들 중 하나는 소스 단자인 것을 특징으로 하는 프로그래밍 장치.
  13. 제 1 항에 있어서,
    상기 비 휘발성 저장소자는 플래쉬 메모리 소자인 것을 특징으로 하는 프로 그래밍 장치.
  14. 제 1 항에 있어서,
    상기 비 휘발성 저장소자는 복수-상태 플래쉬 메모리 소자인 것을 특징으로 하는 프로그래밍 장치.
  15. 제 1 항에 있어서,
    상기 비 휘발성 저장소자는 복수-상태 저장소자이며; 그리고
    상기 스위칭 가능한 전류 싱킹 소자는 서로 다른 상태들을 위해 상기 제어 터미널들 중 하나에 서로 다른 비정밀 전류 싱크들을 제공하며 서로 다른 상태들을 위해 상기 제어 터미널들 중 하나에 서로 다른 정밀 전류 싱크들을 제공하는 것을 특징으로 하는 프로그래밍 장치.
  16. 상기 비 휘발성 저장소자와 통신하는 감지회로;
    상기 감지회로의 출력에 기초하여 상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드에 있는지 또는 정밀 프로그래밍 모드에 있는지를 알려주는 출력신호를 제공하는 프로그래밍 모드 지시회로; 및
    상기 비 휘발성 저장소자와 상기 프로그래밍 모드 지시회로와 통신하는 스위칭 가능한 전류 싱킹 소자 -여기서, 상기 스위칭 가능한 전류싱킹 소자는 상기 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드에 있으면 상기 비 휘발성 저장소 자에 비정밀 전류 싱크를 제공하며, 상기 비 휘발성 저장소자가 정밀 프로그래밍 모드에 있으면 상기 비 휘발성 저장소자에 정밀 전류 싱크를 제공함를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍하기 위한 장치.
  17. 제 16 항에 있어서, 상기 비정밀 전류 싱크는,
    상기 정밀 전류 싱크보다 더 큰 전류 싱크인 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍하기 위한 장치.
  18. 제 15 항에 있어서, 상기 스위칭 가능한 전류 싱킹 소자는,
    2 가지 전류 싱크 모드들로 작동할 수 있는 하나의 전류 싱크를 포함하는 것을 특징으로 하는 프로그래밍 장치.
  19. 제 16 항에 있어서,
    상기 스위칭 가능한 전류 싱킹 소자는,
    상기 비정밀 전류 싱크를 제공하는 제 1 전류 싱크 유닛과, 상기 정밀 전류 싱크를 제공하는 제 2 전류 싱크 유닛과, 상기 제 1 전류 싱크 유닛과 상기 제 2 전류 싱크 유닛중 하나를 선택하는 스위치를 포함하며; 그리고
    상기 스위치는,
    상기 프로그래밍 모드 지시회로와 통신하며, 상기 프로그래밍 모드 지시회로의 출력에 기초하여 상기 제 1 전류 싱크 유닛 또는 상기 제 2 전류 싱크 유닛사이 에서 스위치 하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍하기 위한 장치.
  20. 제 16 항에 있어서,
    상기 스위칭 가능한 전류 싱킹 디바이스는
    상기 비 휘발성 저장소자의 소스 단자와 통신하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍하기 위한 장치.
  21. 제 16 항에 있어서,
    상기 스위칭 가능한 전류 싱킹 디바이스는
    상기 비 휘발성 저장소자의 비트라인과 통신하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍하기 위한 장치.
  22. 제 16 항에 있어서,
    상기 스위칭 가능한 전류 싱킹 디바이스는
    상기 비 휘발성 저장소자의 제어라인과 통신하는 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍하기 위한 장치.
  23. 제 16 항에 있어서,
    상기 비 휘발성 저장소자는 플래쉬 메모리인 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍하기 위한 장치.
  24. 제 16 항에 있어서,
    상기 비 휘발성 저장소자는 복수-상태 플래쉬 메모리인 것을 특징으로 하는 비 휘발성 저장소자를 프로그래밍하기 위한 장치.
  25. 제 16 항에 있어서, 상기 스위칭 가능한 전류 싱킹 디바이스는
    서로 다른 상태들을 위해 서로 다른 비정밀 전류 싱크들을 제공하며, 서로 다른 상태들을 위해 서로 다른 정밀 전류 싱크들을 제공하는 것을 특징으로 하는 비 휘발성 저장소자들을 프로그래밍하는 방법.
  26. 상기 비 휘발성 저장소자들과 통신하는 프로그래밍 회로; 및
    상기 비 휘발성 저장소자들과 통신하는 하나 이상의 스위칭 가능한 전류 싱크 회로들 -여기서, 상기 하나 이상의 스위칭 가능한 전류 싱크 회로들은 비정밀 프로그래밍 모드에 있는 상기 비 휘발성 저장소자들의 제 1 서브세트는 제 1 전류 싱크를 받게함과 동시에 정밀 프로그래밍 모드에 있는 상기 비 휘발성 저장소자들의 제 2 서브세트는 제 2 전류 싱크를 받게함을 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자들을 프로그래밍하는 장치.
  27. 제 26 항에 있어서, 상기 프로그래밍 회로는,
    상기 비 휘발성 저장소자들에게 공통 조향신호를 제공하는 것을 특징으로 하는 비 휘발성 저장소자들을 프로그래밍하는 장치.
  28. 제 26 항에 있어서,
    특정한 비 휘발성 저장소자를 위한 상기 스위칭 가능한 상기 전류 싱크 회로들 중 하나는,
    상기 특정한 비 휘발성 저장소자와 통신하는 감지회로;
    상기 감지회로에 기초하여, 상기 특정한 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드인지 정밀 프로그래밍 모드인지를 지시하는 출력을 제공하는 프로그래밍 모드 지시회로; 및
    상기 프로그래밍 모드 지시회로와 상기 특정한 비 휘발성 저장소자와 통신하는 스위칭 가능한 전류 싱킹 디바이스 -여기서, 상기 스위칭 가능한 전류 싱킹 디바이스는, 상기 특정한 비 휘발성 저장소자가 상기 비정밀 프로그래밍 모드에 있다면 상기 제 1 전류 싱크를 상기 특정한 비 휘발성 저장소자에 제공하며, 상기 특정한 비 휘발성 저장소자가 상기 정밀 프로그래밍 모드에 있다면 상기 제 2 전류 싱크를 상기 특정한 비 휘발성 저장소자에 제공함를 포함하여 이루어지는 것을 특징으로 하는 비 휘발성 저장소자들을 프로그래밍하는 장치.
  29. 제 28 항에 있어서, 상기 제 1 전류 싱크는
    상기 제 2 전류 싱크보다 더 큰 것을 특징으로 하는 비 휘발성 저장소자들을 프로그래밍하는 장치.
  30. 제 28 항에 있어서, 상기 스위칭 가능한 전류 싱킹 디바이스는
    2 가지 전류 싱크 모드들로 작동할 수 있는 하나의 전류 싱크를 포함하는 것을 특징으로 하는 비 휘발성 저장소자들을 프로그래밍하는 장치.
  31. 제 28 항에 있어서, 상기 비 휘발성 저장소자들은
    플래쉬 메모리 소자들인 것을 특징으로 비 휘발성 저장소자들을 프로그래밍하는 장치.
  32. 제 28 항에 있어서, 상기 비 휘발성 저장소자들은
    복수-상태 플래쉬 메모리 소자들인 것을 특징으로 비 휘발성 저장소자들을 프로그래밍하는 장치.
  33. 비 휘발성 저장소자들에 대한 비정밀 프로그래밍 모드를 수행하는 수단;
    상기 비정밀 프로그래밍 모드 동안 제 1 전류를 싱킹하는 수단; 및
    제 2 전류를 싱킹하도록 스위칭함으로서 상기 비 휘발성 저장소자들에 대한 정밀 프로그래밍 모드로 스위칭하는 수단을 포함하여 이루어진 것을 특징으로 하는 프로그래밍 장치.
  34. 제 26 항에 있어서, 상기 하나 이상의 스위칭 가능한 전류 싱크 회로들은
    상기 비 휘발성 저장소자 하나 당 하나의 스위칭 가능한 전류 싱크 회로를 포함하는 것을 특징으로 하는 비 휘발성 저장소자들을 프로그래밍하는 장치.
  35. 제 34 항에 있어서,
    비 휘발성 저장소자에 대한 비정밀 프로그래밍 모드를 수행하는 단계 -여기서, 상기 비정밀 프로그래밍 모드는 제 1 전류를 싱킹하는 것을 포함함-; 및
    제 2 전류를 싱킹하도록 스위칭함으로서 상기 비 휘발성 저장소자에 대한 정밀 프로그래밍 모드로 스위칭하는 단계를 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  36. 제 35 항에 있어서,
    상기 비 휘발성 저장소자의 임계전압이 제 1 검증레벨에 도달했는지를 판별하는 단계 -여기서, 상기 스위칭 하는 단계는 상기 비 휘발성 저장소자의 상기 임계전압이 상기 제 1 검증레벨에 도달했을 때 시작함-; 및
    상기 비 휘발성 저장소자의 상기 임계전압이 제 2 검증레벨에 도달했는지를 판별하는 단계 -여기서, 상기 정밀 프로그래밍 모드는 상기 비 휘발성 저장소자의 상기 임계전압이 상기 제 2 검증레벨에 도달했을 때 완료함를 더 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  37. 제 35 항에 있어서, 상기 제 1 전류는
    상기 제 2 전류보다 큰 것을 특징으로 하는 프로그래밍 방법.
  38. 제 35 항에 있어서, 상기 비 휘발성 저장소자는
    플래쉬 메모리 소자인 것을 특징으로 하는 프로그래밍 방법.
  39. 제 35 항에 있어서,
    상기 비 휘발성 저장소자는 복수-상태 플래쉬 메모리 소자인 것을 특징으로 하는 프로그래밍 방법.
  40. 제 35 항에 있어서,
    상기 비 휘발성 저장소자의 임계전압의 변화는, 상기 비정밀 프로그래밍 모드에 비해 상기 정밀 프로그래밍 모드 동안에 감소하는 것을 특징으로 하는 프로그래밍 방법.
  41. 프로그램 전압 신호를 비 휘발성 저장소자에 인가하는 단계;
    비정밀 프로그래밍을 수행하기 위해 상기 비 휘발성 저장소자로부터의 제 1 전류를 싱킹하는 단계;
    상기 비 휘발성 저장소자의 임계전압이 제 1 검증레벨에 도달했는지를 판별하는 단계; 및
    상기 비 휘발성 저장소자의 상기 임계전압이 상기 제 1 검증레벨에 도달하면 제 2 전류를 싱크하도록 스위칭하는 단계 -여기서, 상기 스위칭하는 단계는 상기 비 휘발성 저장소자가 정밀 프로그래밍을 수행하도록 함를 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
  42. 제 41 항에 있어서,
    상기 제 1 전류는 상기 제 2 전류보다 큰 것을 특징으로 하는 프로그래밍 방법.
  43. 제 41 항에 있어서,
    상기 비 휘발성 저장소자는 플래쉬 메모리 소자인 것을 특징으로 하는 프로그래밍 방법.
  44. 제 41 항에 있어서,
    상기 비 휘발성 저장소자는 복수-상태 플래쉬 메모리 소자인 것을 특징으로 하는 프로그래밍 방법.
  45. 제 41 항에 있어서,
    상기 프로그램 전압은 상기 비 휘발성 저장소자의 제어 게이트에 인가되는 것을 특징으로 하는 프로그래밍 방법.
  46. 복수-상태 비 휘발성 저장소자들에 대한 비정밀 프로그래밍 모드를 수행하는 단계 -여기서, 상기 비정밀 프로그래밍 모드는 전류들의 제 1 세트를 싱킹하는 것을 포함함(서로 다른 상태들로 프로그램될 비 휘발성 저장 소자들이 상기 제 1 세트의 전류 중에서 서로 다른 전류들을 싱크 하는 것처럼)-; 및
    상기 싱킹을 전류들의 제 2 세트로 스위칭함으로써(서로 다른 상태들로 프로그램될 비 휘발성 저장 소자들이 상기 제 2 세트의 전류 중에서 서로 다른 전류들을 싱크 하는 것처럼) 상기 비 휘발성 저장소자에 대한 정밀 프로그래밍 모드로 스위칭하는 단계를 포함하여 이루어지는 것을 특징으로 하는 프로그래밍 방법.
KR1020067017085A 2004-01-27 2005-01-25 비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한가변적인 전류 싱킹 KR100861422B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/766,786 2004-01-27
US10/766,786 US7002843B2 (en) 2004-01-27 2004-01-27 Variable current sinking for coarse/fine programming of non-volatile memory

Publications (2)

Publication Number Publication Date
KR20070042495A true KR20070042495A (ko) 2007-04-23
KR100861422B1 KR100861422B1 (ko) 2008-10-02

Family

ID=34795742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067017085A KR100861422B1 (ko) 2004-01-27 2005-01-25 비 휘발성 메모리의 비정밀/정밀 프로그래밍을 위한가변적인 전류 싱킹

Country Status (8)

Country Link
US (2) US7002843B2 (ko)
EP (1) EP1711948B1 (ko)
JP (1) JP4726807B2 (ko)
KR (1) KR100861422B1 (ko)
CN (1) CN1930631B (ko)
AT (1) ATE527661T1 (ko)
TW (1) TWI266325B (ko)
WO (1) WO2005073977A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995189B2 (en) 2010-02-19 2015-03-31 Samsung Electronics Co., Ltd. Method and apparatus for managing open blocks in nonvolatile memory device

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068539B2 (en) * 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
US7002843B2 (en) * 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking 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
US7352618B2 (en) * 2004-12-15 2008-04-01 Samsung Electronics Co., Ltd. Multi-level cell memory device and associated read method
US7251167B2 (en) * 2004-12-29 2007-07-31 Macronix International Co., Ltd. Method for programming multi-level nitride read-only memory cells
US7130210B2 (en) * 2005-01-13 2006-10-31 Spansion Llc Multi-level ONO flash program algorithm for threshold width control
US7301817B2 (en) * 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
JP4855474B2 (ja) * 2005-10-27 2012-01-18 サンディスク コーポレイション スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
WO2007132456A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
KR100809333B1 (ko) * 2006-09-04 2008-03-05 삼성전자주식회사 상변화 메모리 장치의 기입 검증 방법 및 그 방법을사용하는 상변화 메모리 장치
US7961511B2 (en) * 2006-09-26 2011-06-14 Sandisk Corporation Hybrid programming methods and systems for non-volatile memory storage elements
CN101601094B (zh) 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
WO2008053472A2 (en) * 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
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
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7623389B2 (en) * 2006-12-21 2009-11-24 Sandisk Corporation System for low voltage programming of non-volatile memory cells
US7944749B2 (en) * 2006-12-21 2011-05-17 Sandisk Corporation Method of low voltage programming of non-volatile memory cells
WO2008079725A2 (en) * 2006-12-21 2008-07-03 Sandisk Corporation Method and system of low voltage programming of non-volatile memory cells
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US8369141B2 (en) * 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US7643348B2 (en) * 2007-04-10 2010-01-05 Sandisk Corporation Predictive programming in non-volatile memory
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
ITRM20070273A1 (it) * 2007-05-16 2008-11-17 Micron Technology Inc Lettura di celle di memoria non volatile a livello mutiplo.
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
US7489543B1 (en) * 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
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
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
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
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US7916544B2 (en) * 2008-01-25 2011-03-29 Micron Technology, Inc. Random telegraph signal noise reduction scheme for semiconductor memories
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
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7800945B2 (en) * 2008-06-12 2010-09-21 Sandisk Corporation Method for index programming and reduced verify in nonvolatile memory
US7826271B2 (en) * 2008-06-12 2010-11-02 Sandisk Corporation Nonvolatile memory with index programming and reduced verify
US7813172B2 (en) 2008-06-12 2010-10-12 Sandisk Corporation Nonvolatile memory with correlated multiple pass programming
US7796435B2 (en) * 2008-06-12 2010-09-14 Sandisk Corporation Method for correlated multiple pass programming in nonvolatile memory
CN102099865B (zh) * 2008-07-22 2014-05-28 Lsi公司 用于在闪存存储器中每信号电平编程多个编程值的方法和装置
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7715235B2 (en) * 2008-08-25 2010-05-11 Sandisk Corporation Non-volatile memory and method for ramp-down programming
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
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
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in 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
US7821840B2 (en) * 2008-11-24 2010-10-26 Spansion Llc Multi-phase programming of multi-level memory
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
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
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8270199B2 (en) 2009-04-03 2012-09-18 Sandisk 3D Llc Cross point non-volatile memory cell
US7978498B2 (en) * 2009-04-03 2011-07-12 Sandisk 3D, Llc Programming non-volatile storage element using current from other element
US8139391B2 (en) 2009-04-03 2012-03-20 Sandisk 3D Llc Multi-bit resistance-switching memory cell
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
CN102054070B (zh) * 2009-10-30 2014-11-26 新思科技(上海)有限公司 非线性电路直流工作点的支路电流计算方法与装置
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
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
US8233324B2 (en) 2010-03-25 2012-07-31 Sandisk Il Ltd. Simultaneous multi-state read or verify in non-volatile storage
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
KR101635446B1 (ko) * 2010-05-25 2016-07-04 삼성전자주식회사 반도체 메모리 장치의 블록 병합 방법
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
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
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9036415B2 (en) 2011-12-21 2015-05-19 Sandisk Technologies Inc. Mitigating variations arising from simultaneous multi-state sensing
US8582381B2 (en) 2012-02-23 2013-11-12 SanDisk Technologies, Inc. Temperature based compensation during verify operations for non-volatile storage
US8885416B2 (en) 2013-01-30 2014-11-11 Sandisk Technologies Inc. Bit line current trip point modulation for reading nonvolatile storage elements
US9947682B2 (en) 2014-11-18 2018-04-17 Sandisk Technologies Llc Three dimensional non-volatile memory with separate source lines
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
US9911488B2 (en) 2015-10-22 2018-03-06 Sandisk Technologies Llc Three dimensional non-volatile memory with shorting source line/bit line pairs
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
US10910061B2 (en) * 2018-03-14 2021-02-02 Silicon Storage Technology, Inc. Method and apparatus for programming analog neural memory in a deep learning artificial neural network
US11430491B2 (en) 2020-04-30 2022-08-30 Taiwan Semiconductor Manufacturing Company, Ltd. Device and method for reading data in memory
CN112201293B (zh) * 2020-10-18 2023-12-15 本征信息技术(苏州)有限公司 多层单元非易失性存储器的一种编程方法
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

Family Cites Families (34)

* 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
US5712180A (en) * 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
KR950000273B1 (ko) * 1992-02-21 1995-01-12 삼성전자 주식회사 불휘발성 반도체 메모리장치 및 그 최적화 기입방법
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
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 半導体記憶装置
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 株式会社東芝 半導体記憶装置
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 ソニー株式会社 不揮発性半導体記憶装置
JPH11265587A (ja) * 1998-03-17 1999-09-28 Sanyo Electric Co Ltd 不揮発性半導体メモリ装置
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 不揮発性半導体記憶装置
US6301161B1 (en) * 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
JP3922516B2 (ja) 2000-09-28 2007-05-30 株式会社ルネサステクノロジ 不揮発性メモリと不揮発性メモリの書き込み方法
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
US6856551B2 (en) * 2003-02-06 2005-02-15 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US7002843B2 (en) * 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking for coarse/fine programming of non-volatile memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995189B2 (en) 2010-02-19 2015-03-31 Samsung Electronics Co., Ltd. Method and apparatus for managing open blocks in nonvolatile memory device

Also Published As

Publication number Publication date
JP4726807B2 (ja) 2011-07-20
KR100861422B1 (ko) 2008-10-02
US7002843B2 (en) 2006-02-21
ATE527661T1 (de) 2011-10-15
US20060067121A1 (en) 2006-03-30
TWI266325B (en) 2006-11-11
WO2005073977A3 (en) 2006-03-23
TW200605084A (en) 2006-02-01
CN1930631B (zh) 2012-09-05
EP1711948B1 (en) 2011-10-05
US20050162924A1 (en) 2005-07-28
WO2005073977A2 (en) 2005-08-11
EP1711948A2 (en) 2006-10-18
US7414887B2 (en) 2008-08-19
JP2007520029A (ja) 2007-07-19
CN1930631A (zh) 2007-03-14

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
KR101357068B1 (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
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120907

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130906

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160831

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 11