KR101285576B1 - 비휘발성 메모리를 프로그래밍/소거하기 위한 방법 및 장치 - Google Patents
비휘발성 메모리를 프로그래밍/소거하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101285576B1 KR101285576B1 KR1020087012943A KR20087012943A KR101285576B1 KR 101285576 B1 KR101285576 B1 KR 101285576B1 KR 1020087012943 A KR1020087012943 A KR 1020087012943A KR 20087012943 A KR20087012943 A KR 20087012943A KR 101285576 B1 KR101285576 B1 KR 101285576B1
- Authority
- KR
- South Korea
- Prior art keywords
- voltage
- erase
- nvm
- read current
- verify
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
Landscapes
- Read Only Memory (AREA)
Abstract
비휘발성 메모리(non-volatile memory;NVM;14)를 갖는 집적 회로(10)는, 프로그램/소거 사이클의 제 1 부분 동안에 복수의 판독 전류/전압 임계치들 중의 제 1의 것을 선택하고, 상기 프로그램/소거 사이클의 제 2 부분 동안에 복수의 판독 전류/전압 임계치들 중의 제 2의 것을 선택하는 임계치 선택기(28)를 포함하고, 복수의 판독 전류/전압 임계치들 중의 제 1의 것과 복수의 판독 전류/전압 임계치들 중의 제 2의 것은 상이하다. 프로그램/소거 사이클의 제 1 부분은 프로그램/소거 사이클의 제 2 부분 전에 적시에 발생한다. 복수의 판독 전류/전압 임계치들 중의 제 2 것은 복수의 판독 전류/전압 임계치들 중의 제 1의 것보다 낮다.
비휘발성 메모리(NVM), 판독 전류/전압 임계치, 프로그램/소거 사이클, 임계치 선택기, 판독 검증 회로, 소거 펄스 생성기
Description
본 발명은 비휘발성 메모리(non-volatile memory;NVM)에 관한 것이고, 더 구체적으로는, 비휘발성 메모리를 프로그래밍/소거하기 위한 방법 및 장치에 관한 것이다.
복수 번 프로그램되고 소거될 수 있는 비휘발성 메모리(NVM)는 다양한 어플리케이션들에서 일반적으로 사용된다. 일반적으로, NVM은, 데이터 보유 사양이 일치함을 보장하면서 수행될 수 있는 최대수의 프로그램/소거 사이클들을 갖는다.
본 발명은 예를 통해 설명되고, 유사 참조부호들이 유사 요소들을 나타내는 첨부 도면들에 의해 제한되지는 않는다.
도 1은 본 발명의 일 실시예에 따른 집적 회로를 블럭도로 나타낸다.
도 2는 본 발명의 일 실시예에 따른 도 1의 NVM(14)을 블럭도로 나타낸다.
도 3은 본 발명의 일 실시예에 따라 NVM을 소거하기 위한 방법을 블럭도로 나타낸다.
도 4는 본 발명의 일 실시예에 따라 프로그램되고 소거되는 비트들의 분포를 그래프 형태로 나타낸다.
도 5는 본 발명의 일 실시예에 따라 다양한 소거 펄스들을 그래프 형태로 나타낸다.
당업자라면, 도면들의 요소들이 단순성과 명료성을 위해 도시되었고 반드시 치수대로 그려지지는 않았슴을 이해할 것이다. 예를 들어, 도면들에서 일부 요소들의 치수들은 다른 요소들에 비해 과장되어 본 발명의 실시예들의 이해 향상을 도울 것이다.
NVM 셀의 데이터 보유는 사전설정된 데이터 값이 적절히 저장되어 있어서 그것이 NVM 셀로부터 검색가능하도록 하는 시간의 양이다. NVM 셀의 지속시간은, NVM 셀의 상태가 더 이상 신뢰가능하게 변경될 수 없기 전에 수행될 수 있는 프로그램/소거 사이클들의 최대수이다. 하나 이상의 NVM 셀들이 테스트 동안 혹은 사용 동안 장애가 있을 때 NVM 어레이의 생존력을 확장하기 위해 사용될 수 있는 다양한 기술들이 존재함을 주목한다(예를 들어, 용장(redundancy), 에러 교정 코드 등).
NVMs은 임의 원하는 세분성(granularity)으로 프로그램될 수 있다. 다수의 NVMs이 바이트(byte) 당 기반으로 프로그램되지만, 대안적 실시예들은 비트(bit), 워드(word), 롱(long) 워드, 섹터, 블럭 혹은 임의 다른 원하는 기반으로 프로그램될 수 있다. NVMs은 임의의 원하는 세분도(granularity)로 소거될 수 있다. 다수의 NVMs가 섹터 당 기반으로 소거되지만, 대안적 실시예들은 비트, 바이트, 워드, 롱 워드, 블럭 혹은 임의 다른 원하는 기반으로 소거될 수 있다.
한 가지 문제는, 단일 NVM 어레이(30)(도 2 참조)가 제 1 그룹의 고객들에 의해 요구되는 데이터 보유에 대한 최대 사양에 일치해야 하고, 한편 또한 제 2 그룹의 고객들에 의해 요구되는 지속시간 동안에 최대 사양에 일치할 때, 발생한다.
일례로서, 제 1 그룹의 고객들은 소프트웨어 코드, 예를 들어, 제품의 수명 동안(예를 들어, 20년) 저장되어 있어야 하는 프로세서(12)(도 1 참조)에 대한 명령을 저장할 수 있다. 그런 제품의 일례로는 NVM을 사용하여 소프트웨어 코드를 저장하여 엔진 제어를 수행하는 자동차이다. 이 제 1 그룹의 고객들은, NVM이 다수의 프로그램/소거 사이클들을 수행하는 것을 요구하지 않을 것이다. 이 예에서, NVM이 소프트웨어 코드를 저장하면, 이 소프트웨어 코드가 일단 초기에 NVM에 저장되면 소거되고 재기록될 필요가 없을 것이다.
제 2 예로서, 제 2 그룹의 고객들은, 비교적 더 짧은 시간 동안(예를 들어, 1달에서 5년) 저장된 채로 있을 필요가 있는 데이터 값들, 즉, 비휘발성이지만 가변 데이터를 저장할 수 있다. 그런 제품의 일례로는, NVM을 사용하여 데이터 값들을 저장하여 엔진 튜닝 정보를 나타내는 자동차이다. 이 제 2 그룹의 고객들은, NVM이 다수의 프로그램/소거 사이클들을 수행하는 것(예를 들어, 자동차가 시동을 걸거나 끌 때마다 하나의 프로그램/소거 사이클)을 요구할 것이다. 이 예에서, NVM이 데이터 값들을 저장하면, 이 데이터 값들이 새 프로그램/소거 사이클에 의해 리프레쉬(refresh)되어 긴 데이터 보유 시간을 가질 필요가 없을 수 있다.
또한, 일부 고객들은 동일한 어플리케이션에서 양쪽 유형들 모두의 NVM을 요 구할 것이다. 예를 들어, 상술된 자동차 고객들은 소프트웨어 코드를 위한 긴 데이터 보유를 갖는 일부 NVM을 필요로 할 것이고, 또한 빈번히 재기록되는 데이터 값들에 대해 높은 지속시간을 갖는 일부 NVM을 필요로 할 것이다.
도 1은 본 발명의 일 실시예에 따른 집적 회로(IC;10)를 블럭도 형태로 나타낸다. 도시된 실시예에서, IC(10)는 프로세서(12), NVM(14), 선택적 다른 메모리(16), 하나 이상의 선택적 다른 모듈(들)(18), 및 선택적 외부 버스 인터페이스(20)를 가지며, 이들 각각은 양방향으로 버스(22)에 결합된다. 본 명세서에 사용되는 것처럼, 버스라는 용어는, 데이터, 주소, 제어, 혹은 상태와 같은 하나 이상의 다양한 유형들의 정보를 전송하기 위해 사용될 수 있는 복수의 신호들 혹은 도선들을 지칭하기 위해 사용된다.
일부 실시예들에서, IC(10)는 독립형(stand-alone) NVM이고 회로들(12, 16, 및 18)은 구현되지 않는다. 이 경우, 외부 버스 인터페이스(20)는 NVM(14)에 대한 주소 및 데이터 버스 드라이버들을 포함한다. 다른 실시예들에서, IC(10)는 마이크로제어기 상에 이용가능한 단지 하나의 회로로서 NVM(14)을 갖는 마이크로제어기이다. 임의 하나 이상의 회로들(12, 14, 16, 18, 및 20)은, IC(10)로 외부 통신하기 위해 사용될 수 있는 하나 이상의 집적 회로 단자들(도시 안됨)에 결합될 수 있다. 일부 실시예들에서, 외부 버스(24)는 IC(10)에 외부에 있는 회로(도시 안됨)로 통신하기 위해 사용될 수 있다. 다른 메모리(16)는 임의 유형의 메모리일 수 있다. 다른 모듈들(18)은 임의 원하는 목적을 위해 사용되는 회로를 포함할 수 있다. 다른 모듈들(18)의 회로의 일부 예들은 타이머 회로, 통신 인터페이스 회로, 디스플레이 드라이버 회로, 아날로그 대 디지털 컨버터, 디지털 대 아날로그 컨버터, 전력 관리 회로 등을 포함한다.
도 2는 본 발명의 일 실시예에 따른 도 1의 NVM(14)을 블럭도로 나타낸다. 일 실시예에서, NVM(14)은 N 블럭들을 갖는 NVM 어레이(42)를 가지며, N은 1 이상인 임의 정수일 수 있다. 점선들은 NVM 어레이(42)의 블럭들을 나타내기 위해 사용된다. 이들 블럭들은 임의 크기일 수 있다. 각각의 블럭에 대응하는 제어 정보는 또한 각각의 블럭 내에 저장될 수 있다.
NVM(14)은 또한 제어 회로(32), 판독 회로(40), 검증 레벨 생성기(26), 검증 레벨 선택기(28), 판독 검증 회로(30), 전압 생성기(36), 전압 선택기(48), 프로그램/소거 펄스 생성기(64), 및 다른 NVM 회로(38)를 포함한다. 검증 레벨 생성기(26)는 도선들(51 내지 53)을 통해 검증 레벨 선택기로 복수의 검증 레벨들을 제공한다. 검증 레벨 선택기(28)는 제어 회로(32)로부터 도선(44)을 통해 수신된 선택 신호에 기초하여 판독 검증 회로(30)에 도선(46)을 통해 이들 검증 레벨들 중의 하나를 제공한다. 판독 회로(40)는 NVM 어레이(42)에 양방향으로 결합되고, 판독 검증 회로(30)로 도선(60)을 통해 실제 판독 전류를 제공한다. 판독 검증 회로(30)는 양방향으로 제어 회로(32)에 결합되고, 도선(62)을 통해 회로(32)를 제어하기 위해 검증 결과를 제공한다. 제어 회로(32)는 검증 레벨 생성기(26), 다른 NVM 회로(38), 전압 생성기(36), 및 프로그램/소거 펄스 생성기(64)에 양방향으로 결합된다. 전압 생성기(36)는 전압 선택기(48)에 도선들(54 내지 56)을 통해 복수의 전압들을 제공한다. 전압 선택기(48)는 제어 회로(32)로부터 도선(50)을 통해 수신된 선택 신호에 기초하여 프로그램/소거 펄스 생성기(64)에 도선(58)을 통해 이들 전압들 중의 하나를 제공한다. 제어 회로(32)는 프로그램/소거 펄스 카운터(34), 전압 당 최대 펄스 카운트(68), 및 최대 총 펄스 카운트(70)를 포함한다. 전압 당 최대 펄스 카운트(68)와 최대 총 펄스 카운트(70)는, 예를 들어, 제어 회로(32) 내의 레지스터들, 또는 NVM(14) 혹은 IC(10) 내의 다른 곳과 같은 저장 회로에 저장될 수 있다.
프로그램/소거 사이클은 NVM 어레이(42)의 전체 혹은 부분의 프로그래밍 또는 NVM 어레이(42)의 전체 혹은 일부의 소거를 포함할 수 있다. 일 실시예에서, 소거는 로직 레벨 1에 비트 혹은 비트들을 설정하는 것을 지칭하고, 프로그래밍은, 필요하면, 로직 레벨 1 혹은 로직 레벨 0에, 적절한 비트 혹은 비트들을 설정하여 NVM 어레이(42)에 원하는 정보가 저장되도록 나타내는 것을 지칭한다. 일 실시예에서, NVM 어레이(42)의 일부의 프로그래밍은 프로그램될 그 일부의 모든 비트들을 먼저 소거하기 위한 소거 사이클을 포함하고, 후속적으로 저장될 원하는 정보를 나타내기 위해 변경될 필요가 있는 이들 비트들의 상태(예를 들어, 로직 레벨 0)를 변경한다. 또한, 본 명세서에 사용되는 것처럼, 프로그램/소거 사이클이 단지 소거 동작만을 포함할 수 있음을 주목한다. 일 실시예에서, 전체 블럭은 한 번에 소거될 수 있거나, 또는 대안적으로, 하나 이상 혹은 이하의 블럭은 한 번에 소거될 수 있다. 또한, 일 대안적 실시예에서, 소거는 로직 레벨 1보다는 로직 레벨 0에 비트 혹은 비트들을 설정하는 것을 지칭할 수 있다.
NVM 어레이(42)의 일부를 프로그래밍하거나 소거할 때, 이 프로그램/소거 사이클이 성공적임을 결정하기 위해 후속 검증이 수행된다. 검증을 위해, 비트들이 적절히 프로그램/소거되었는 지의 여부를 결정하기 위해 프로그램된/소거된 비트들의 판독이 수행되어 검증 레벨과 비교된다. 예를 들어, 판독 검증 회로(30)는 NVM 어레이(42)의 선택된 비트셀들의 적절한 소거를 검증하기 위해 사용될 수 있다. 판독 회로(40)는, 검증되어야 하는 선택된 비트셀 혹은 비트셀들을 판독하기 위해 사용되는 복수의 센스 증폭기들(도시 안됨)을 포함한다. 판독 회로(40)는 각각의 선택된 비트셀을 센싱하고, 판독 검증 회로(30)로 도선(60)을 통해 실제 판독 전류를 제공한다. (판독 회로(40)의 회로 및 동작이 이 분야에서 알려져 있으므로 본 명세서에서 더 상세히 설명되지 않음을 주목한다) 그 후, 판독 검증 회로(30)는 도선(60)을 통해 수신된 실제 판독 전류와 도선(46)을 통해 제공되는 선택된 검증 레벨을 비교하여, 실제 판독 전류가 선택된 검증 레벨 이상인 지의 여부를 결정한다. 만약 그렇다면, 대응하는 소거된 비트셀의 저장 값은 로직 레벨 1로서 검증되어, 소거가 성공적이었음을 나타낸다.
일 실시예에서, 비트셀들의 그룹의 소거는 일시에 검증될 수 있다. 예를 들어, NVM 어레이(42)의 일부의 모든 비트셀들이 소거되는 경우, 이들은 모두 소거 후에 로직 레벨 1이 되도록 기대된다. 이 예에서, 판독 회로(40)는 소거된 NVM 어레이(42)의 일부의 각각의 비트셀을 센싱하여, 단지 최소 실제 판독 전류만을 판독 검증 회로(30)에 제공할 수 있다. 이 경우 최소 실제 판독 전류가 선택된 검증 레벨 이상이면, 소거된 일부의 모든 비트셀들의 소거는 성공적이었다.
도 4는 NVM 어레이(42)에 존재할 수 있는 "0" 비트들과 "1" 비트들의 일 예시적 분포와, 다양하고 상이한 검증 레벨들 VL1 내지 VLN을 그래프 형태로 나타낸다. y-축은 비트들의 수를 나타내고, x-축은 비트들의 비트셀 전류를 나타낸다. 그러므로, "0" 비트들(저장된 로직 레벨 0을 갖는 비트셀들)의 경우, 비트셀들의 각각의 비트셀 전류들은 0/1 판독 임계 전류보다 작다. "1" 비트들(저장된 로직 레벨 1을 갖는 비트셀들)인 경우, 비트셀들의 각각의 비트셀 전류들은 0/1 판독 임계 전류보다 크다(다른 경우, 전류가 0/1 판독 임계 전류보다 더 작은 임의 "1" 비트는 "0" 비트로서 잘못 판단될 수 있음). 그러므로, 0/1 판독 임계 전류 이하의 전류를 갖는 임의 비트셀은 "0"을 저장하는 것으로서 판독되고, 0/1 판독 임계 전류 이상의 전류를 갖는 임의 비트셀은 "1"을 저장하는 것으로서 판독된다. 그러나, 강한 1 비트를 보장하기 위해, "1" 비트 비트셀 전류들이 0/1 판독 임계 전류보다 더 큰 사전결정된 양인 것이 바람직하다. 예를 들어, 도 4에서, 최적 동작을 위해, "1" 비트들의 비트셀 전류들은 검증 레벨 VL1보다 더 커야 한다. 그러므로, 도 4에 도시된 것처럼, "1" 비트들의 분포는 VL1의 우측에 발생한다. 그러나, 시간이 경과함에 따라, "1" 비트들의 분포는, 예를 들어, 프로그램/소거 사이클들에 의한 디바이스 산화물들의 손상으로 인해, 0/1 판독 임계치에 가까이 좌측으로 이동하기 시작한다.
도 4에 도시된 것처럼, "1" 비트들의 분포가 0/1 판독 임계치에 근접하게 이동할 수 있지만, 다양한 다른 검증 레벨들 VL2 내지 VLN(여기서, N은 임의 정수 값일 수 있음)에 의해 표현되는 것처럼, 여전히 적어도 사전설정된 양만큼 멀리 떨어져 있다. 예를 들어, VL1보다 검증 레벨 VL4가 "1" 비트들을 검증하기 위해 사용되면, 유효한 "1" 비트로서 간주되기 위해 더 적은 비트셀 전류가 필요하므로, 더 많은 비트들이 "1"을 유효하게 저장하는 것으로서 "패스(pass)"될 것이다. 그러나, 비트셀 전류가 VL1 내지 VL3이 아닌 단지 VL4만을 초과하면, "1" 비트는 실제로, NVM이, 비트들이 더 이상 신뢰성 있게 프로그램될 수 없는 시점까지 열화되기 전에, 더 짧은 수명이 남은 약한 "1" 비트이다. 그러므로, 일 실시예에서, 검증 레벨 VL1이 "1" 비트를 검증하기 위해 가능한 사용되고, 그것이 더 이상 가능하지 않을 때는, VL2 내지 VLN과 같은 더 작은 검증 레벨들이 대신 "1" 비트를 검증하기 위해 사용될 수 있으므로, NVM 어레이(42)의 수명을 연장하는 것이 가능하다.
도 2를 다시 참조하면, 판독 검증 회로(30)가 "1" 비트들 검증하기 위해 다양한 검증 레벨들(검증 레벨 선택기(28)에 의해 제공됨) 중의 하나를 사용할 수 있음을 주목한다. 예를 들어, 검증 레벨 생성기(26)는 N 검증 레벨들(예를 들어, 도 4의 VL1 내지 VL4에 대응하는)을 생성하여, 이들을 도선들(51 내지 53)을 통해 검증 레벨 선택기(28)로 제공할 수 있다. 그 후, 검증 레벨 선택기(28)는 도선(44)을 통해 제어 회로(32)로부터 수신된 선택 신호에 기초하여 이들 중의 하나를 선택하여, 실제 검증을 수행하기 위해 도선(46)을 통해 판독 검증 회로(30)에 선택된 검증 레벨을 제공할 수 있다. 그 후, 판독 검증 회로(30)는 판독 회로(40)로부터 수신된 실제 판독 회로와 이 선택된 검증 레벨을 비교하여, 회로(32)를 제어하기 위해 도선(62)을 통해 결과를 제공한다. 제어 회로(32)의 동작은 도 3의 흐름도를 참조하여 더 상세히 논의될 것이다.
NVM 어레이(42)의 일부를 소거하기 위한 소거 동작을 수행하는 프로그램/소거 사이클의 일례는 이제 도 2 및 도 5를 참조하여 설명될 것이다. 일 실시예에서, 복수의 소거 펄스들은, 예를 들어, 프로그램/소거 생성기(64)에 의해서와 같이 생성되어, NVM 어레이(42)의 일부를 소거한다. 이들 펄스들의 일례는 도 5에 도시된다. 일 실시예에서, 약 제 3 소거 전압(EV3)을 갖는 다수의 펄스들(예를 들어, 펄스들(104))을 적용하기 위해 처리하기 전에 약 제 2 소거 전압(EV2)을 갖는 다수의 펄스들(예를 들어, 펄스들(102))을 적용하여 처리하기 전에 약 제 1 소거 전압(EV1)을 갖는 다수의 펄스들(예를 들어, 펄스들(100))이 적용된다. 일 실시예에서, 제 1 소거 전압(예를 들어, EV1)에서 각각의 펄스 후, 소거 펄스가 성공적이었는 지의 여부를 결정하기 위해 검증이 수행된다. 성공적이지 않았으면, 다른 소거 펄스가 동일한 소거 전압에 제공되고나서, 그것이 다시 검증된다. 소거가 성공적이었다고 검증된 임의 시점에서, 프로그램/소거 사이클이 종료한다. 그러나, 동일한 소거 전압에서 사전설정된 수의 펄스들이 수행된 후(예를 들어, 펄스들(100) 전체), 소거가 여전히 성공적이지 않으면, 더 높은 소거 전압(예를 들어, EV2)에 펄스가 제공된다. 부언하면, 이 더 높은 소거 전압에서 각각의 펄스 후에, 소거가 성공적이었는 지의 여부를 보기 위해 검증이 수행되고, 만약 그렇다면, 프로그램/소거 사이클은 성공적으로 그 시점에서 종료한다. 그러나, 이 더 높은 소거 전압에서 사전설정된 수의 펄스들이 수행된 후(예를 들어, 펄스들(102) 전체), 소거가 여전히 성공적이지 않으면, 더 높은 소거 전압(즉, EV3)에 펄스가 제공된다.
이 프로세스는, 성공적 소거가 검증되거나 또는 최대 총 펄스 카운트에 도달될 때까지 계속된다. 예를 들어, 펄스들(106) 전체가 완료되고(즉, 펄스들(100, 102, 104, ...,106) 모두가 완료되었음), 검증이 여전히 성공적 소거를 나타내지 않으면, 프로그램/소거 사이클은 성공적 소거 없이 종료한다(즉, 실패한 소거). 일 실시예에서, 더 높은 소거 전압으로 이동하기 전에 각각의 소거 전압당 제공되는 사전설정된 펄스들의 수는 동일하다. 예를 들어, 최대 5 펄스들이 각각의 소거 전압에 대해 제공될 수 있고, 펄스들의 최대 총 수는 20이다. 그러나, 대안적 실시예들에서, 더 높은 소거 전압으로 이동하기 전에 각각의 소거 전압 당 제공되는 펄스들의 수는 상이하다. 이들 값들은, 예를 들어, 도 2에서 전압 당 최대 펄스 카운트(62)와 최대 총 펄스 카운트(70)에 저장될 수 있다. 대안적으로, 이들 유형의 정보는 NVM 어레이(42)의 각각의 블럭 내에 저장될 수 있고, 각각의 블럭은 상이한 카운트들을 사용할 수 있다. 또한, 소거 펄스 카운터(34)는 소거 전압 당 펄스들의 수와 펄스들의 총 수를 계속 추적하기 위해 임의 수의 카운터들 혹은 다른 회로를 포함할 수 있다. 증가적으로 더 높은 소거 전압들을 갖는 펄스들의 사용이 NVM 어레이(42)에 감소된 손상의 결과를 가져올 수 있음을 주목한다.
그러므로, 각각의 프로그램/소거 사이클은 복수의 상이한 소거 전압들과 복수의 상이한 검증 레벨들을 사용할 수 있음을 주목한다. 예를 들어, 검증 레벨 선택기(28)는 프로그램/소거 사이클의 제 1 부분 동안 제 1 검증 레벨을 선택하고나서, 프로그램/소거 사이클(예를 들어, 제 1 검증 레벨에서 소거 펄스들이 실패했으면)의 제 2 부분(제 1 부분 후, 적시에 발생함) 동안 제 2 검증 레벨을 선택할 수 있음을 주목한다. 그러므로, 프로그램/소거 사이클의 제 1 부분 동안, 판독 검증 회로(30)는 제 1 실제 판독 전류와 제 1 검증 레벨을 비교할 수 있고, 프로그램/소거 사이클의 제 2 부분 동안, 판독 검증 회로(30)는 제 2 실제 판독 전류와 제 2 검증 레벨을 비교할 수 있다.
설명된 실시예에서, 도 2의 다른 NVM 회로(38)는 NVM(14)의 동작을 위해 필요한 모든 다른 회로를 포함한다. 일 실시예에서, 다른 NVM 회로(38)는 충전 펌프, 고 전압 정류기, 고 전압 스위치, 워드 라인 드라이버, 소스 라인 드라이버, 행 디코더, 열 디코더, 버스(22)로의 인터페이스, 레지스터, 그리고 NVM(14)의 기능에 대해 원하는 임의 다른 회로(도시 안됨)를 갖는다. 일 실시예에서, 다른 NVM회로(38)가 종래 방식으로 동작할 수 있음을 주목한다. 또한, 판독 검증 회로(30)에 유사한 회로가 "0" 비트들을 검증하기 위해 사용될 수 있고, "0" 비트들의 비트셀 전류들이, 유효성을 결정하기 위해 통상 0/1 판독 임계 전류 이하인 검증 레벨에 대해 비교됨을 주목한다. 또한, 일 대안적 실시예에서, 0/1 판독 임계 전류 이하의 전류들을 갖는 비트셀들은 "1" 비트들에 대응할 것이고, 한편 0/1 판독 임계 전류 이상의 전류들을 갖는 비트셀들은 "0" 비트들에 대응할 것이다.
도 3은, 본 발명의 일 실시예에 따른 소거 및 검증 과정을 흐름도 형태로 나타낸다. NVM 어레이(42)의 외부 자극이 사용되어 흐름(80)의 소거 동작을 시작할 수 있다. 그런 외부 자극의 일례로는 NVM(14) 내의 소거를 시작하는 프로세서(12)(도 1 참조)일 수 있다. 흐름은 블럭(82)에서 시작하여, 초기 소거 전압과 초기 검증 레벨이 선택된다. 예를 들어, 초기에, 제어 회로(32)는 검증 레벨 생성기로부터 제 1 검증 레벨(즉, 도 4의 VL1)을 선택하기 위해 검증 레벨 선택기(28)(즉, 도선(44)을 통해)에 나타낼 수 있다. 유사하게, 제어 회로(32)는 전압 생성기(36)로부터 제 1 소거 전압(즉, EV1)을 선택하기 위해 전압 선택기(48)(즉, 도선(50)을 통해)에 나타낼 수 있다.
그 후, 흐름은 블럭(84)으로 진행하여, 선택된 소거 전압(블럭(82)에서 선택됨)을 사용하여 소거 펄스가 제공된다. 예를 들어, 프로그램/소거 펄스 생성기(64)는, 예를 들어, 도 5에 도시된 것처럼, 펄스를 생성하기 위해 전압 생성기(48)에 의해 제공되는 소거 전압을 사용할 수 있다. 제어 회로(32)가 또한 펄스의 지속시간에 관련하여서와 같이 프로그램/소거 펄스 생성기(64)에 제어 정보를 제공할 수 있음을 주목한다. 이 제 1 펄스는 NVM 어레이(42)의 선택된 부분을 소거하기 위해 NVM 어레이(42)에 제공된다(여기서, 선택된 부분은 다른 NVM 회로(38)에 의해, 이 분야에서 알려진 것처럼, 나타낼 수 있음).
도 3을 다시 참조하면, 흐름은 블럭(86)으로 진행하여, 선택된 검증 레벨을 사용하여 소거가 검증된다. 예를 들어, 일단 펄스 생성기(64)에 의해 펄스가 제공되면, 판독 검증 회로(30)는, 도 2를 참조하여 상술된 것처럼 판독 검증 회로(30)는 소거를 검증할 수 있다. 예를 들어, 판독 회로(40)는 판독 검증 회로(30)에 실제 판독 전류를 제공하여, 그것을 검증 레벨 선택기(28)로부터의 선택된 검증 레벨과 비교할 수 있다. 그 후, 흐름은 결정 다이아몬드(88)로 진행하여, 실제 판독 전류가 선택된 검증 레벨 이상인 지의 여부가 결정된다. 만약 그렇다면, 흐름은, 성공적 소거여서, 프로그램/소거 사이클이 완료되었음을 나타내는 블럭(90)으로 진행한다. 즉, 블럭(90)에서, 흐름(80)의 소거 동작이 완료된다. 결정 다이아몬드(88)에서, 실제 판독 전류가 선택된 검증 레벨 이상이 아니라고 결정되면, 흐름은 결정 다이아몬드(92)로 진행한다.
결정 다이아몬드(92)에서, 선택된 전압 레벨에서 소거 펄스들의 최대수에 도달하는 지의 여부가 결정된다. 만약 그렇지 않으면, 흐름은 블럭(84)으로 복귀하여, 다른 소거 펄스가 동일한 선택된 전압 레벨에 제공되고, 동일한 검증 레벨에서 검증이 수행된다(블럭(86)). 결정 다이아몬드(92)에서, 선택된 전압 레벨에서 소거 펄스들의 최대수에 도달했다고 결정되면, 흐름이 결정 다이아몬드(94)로 진행된다. 예를 들어, 결정 다이아몬드(92)의 결정을 하기 위해, 제어 회로(32)는, 현재 소거 전압에서 펄스들의 수를 계속 추적하는 제 1 소거 펄스 카운터의 카운트와 현재 소거 전압에 대한 최대 펄스 카운트(예를 들어, 소거 전압 당 최대 펄스 카운트(68)의 일부로서, 저장될 수 있음)를 비교할 수 있다.
결정 다이아몬드(94)에서, 소거 펄스들의 최대 총 수에 도달했는 지의 여부가 결정된다. 예를 들어, 제어 회로(32)는, 이 결정을 하기 위해, 현재 프로그램/소거 사이클의 총 펄스들의 수를 계속 추적하는 제 2 소거 펄스 카운터의 카운트와 최대 총 펄스 카운트(70)를 비교할 수 있다. 소거 펄스들의 최대 총 수에 도달하면, 흐름은 블럭(96)으로 진행하여, 현재 프로그램/소거 사이클이 성공적이지 못한 소거(즉, 실패한 소거)로 종료되었음을 나타낸다. 소거 혹은 프로그래밍 동안의 실패가 NVM 어레이(42) 및/또는 다른 NVM 회로(38)의 회로에 기인할 수 있음을 주목한다.
그러나, 결정 다이아몬드(94)에서, 소거 펄스들의 최대 총 수에 아직 도달하지 않았으면, 흐름은 블럭(98)으로 진행하여, 현재 프로그램/소거 사이클이 계속된다. 블럭(98)에서, 더 높은 소거 전압과 더 낮은 검증 레벨이 선택되고, 흐름은 블럭(84)으로 복귀된다. 예를 들어, 블럭(82)에서 초기 소거 전압과 검증 레벨이 EV1과 VL1 각각에 대응하면, 블럭(98)에서, 더 높은 소거 전압과 더 낮은 검증 레벨은 EV2 및 VL2 각각에 대응할 수 있다. 이 새로운 더 높은 소거 전압으로, 더 강한 소거 펄스가 NVM 어레이(42)에 제공되어 소거를 수행한다. 더욱이, 이 더 높은 소거 전압에서 각각의 소거 펄스 후, 더 낮은 검증 레벨을 사용하여 검증이 수행된다. 이 더 낮은 검증 레벨은 판독 검증 회로(30)가 성공적인 소거를 검증하는 것을 더 용이하도록 할 수 있다. 즉, 각각의 프로그램/소거 사이클은 복수의 상이한 소거 전압들과 복수의 상이한 검증 레벨들을 사용할 수 있다. 증가하는 더 높은 소거 전압들(즉, EV1, EV2,..., EVN)과 증가하는 더 낮은 검증 레벨들(즉, VL1, VL2,..., VLN 각각)을 사용하여, 최적의 데이터 보유 및 지속시간 수행이 어플리케이션에 무관하게 NVM 어레이의 각 비트셀에 대해 수행됨을 보장하기 위해 프로그램/소거 사이클에 의한 손상을 최소화하기 위한 방식으로 소거가 수행되고 검증될 수 있다.
소거 전압들 및 검증 레벨의 임의 시퀀스가 선택될 수 있음을 주목한다. 예를 들어, 사용될 소거 전압들의 시퀀스에서 각각의 소거 전압은 균일하게 이격될 수 있다. 대안적으로, 이들은 균일하게 이격되지 않을 수 있어서, 예를 들어, EV1에서 EV2로 점프는 EV2에서 EV3으로의 후속 점프보다 더 작을 수 있다. 또한, 각각의 소거 전압은 이전 소거 전압보다 반드시 클 필요는 없을 것이다. 유사하게, 선택될 검증 레벨들의 시퀀스에서 각각의 검증 레벨은 균일하게 이격되거나 그렇지 않을 수 있다. 또한, 각각의 검증 레벨은 이전 검증 레벨보다 반드시 더 낮을 필요는 없다. 일 실시예에서, 소거 전압들의 시퀀스는 13 볼트(volts)에서 시작하여, 다음과 같이, 14 볼트까지 매번 200 밀리볼트(millivolts)만큼 증가한다: 13 볼트, 13.2 볼트, 13.4 볼트,..., 14 볼트(EV1, EV2, EV3,..., EVN 각각에 대응하여). 검증 레벨들의 시퀀스는 30 마이크로암페어(microamps)에서 시작하여, 다음과 같이, 10 마이크로암페어까지 매번 4 마이크로암페어만큼 감소된다: 30 마이크로암페어, 26 마이크로암페어, 22 마이크로암페어,..., 10 마이크로암페어(VL1, VL2, VL3,..., VLN에 각각 대응하여). 그러나, 상술된 것처럼, 다수의 상이한 시퀀스들은 소거 전압들과 검증 레벨들의 각각에 대해 사용될 수 있다.
일 실시예에 대해, NVM 셀로부터 실제 판독 전류와 비교되는 검증 레벨이 기준 전류임을 또한 주목한다. 대안적 실시예들은 검증 레벨을 나타내기 위해 기준 전류 이외의 어떤 것을 사용할 수 있다. 예를 들어, 검증 레벨은 기준 전압일 수 있다. 또한, 기준은 판독 전류 외의 어떤 것과 비교될 수 있다. 예를 들어, 검증 레벨은, NVM 셀 전압(즉, 트랜지스터 임계 전압)과 비교되는 기준 전압일 수 있다. 대안적 실시예들은 검증 레벨을 나타내기 위해 임의 원하는 회로 특성을 사용할 수 있다. 그러므로, 일 실시예에서, 검증 레벨은 판독 전류/전압 임계치로서 지칭될 수 있고, 실제 판독 전류는 실제 판독 전류/전압으로서 지칭될 수 있다. 또한, 일 실시예에서, 검증 레벨 선택기(28)는 임계치 선택기로서 지칭될 수 있다.
NVM(14)이 도 2에 도시된 것 이외의 다른 구성들을 포함할 수 있음을 주목한다. 예를 들어, 검증 레벨 생성기(26)와 검증 레벨 선택기(28)는 다양한 방식들로 구현될 수 있다. 일 실시예에서, 검증 레벨 생성기(26)는 임의 수의 검증 레벨들(원하는 유형의 비교에 따라, 전류들 혹은 전압들)을 생성할 수 있고, 그 후, 검증레벨 선택기(28)는 제어 회로(32)로부터의 이들 선택 신호에 기초하여 이들 중의 하나를 선택할 수 있다. 예를 들어, 검증 레벨(28)은 다양하게 생성된 검증 레벨들로부터 선택될 수 있거나, 또는 선택된 검증 레벨을 생성하기 위해 검증 레벨 생성기(26) 내에 인에이블될 회로를 선택할 수 있다. 대안적으로, 이들 기능들은 단일 블럭으로 결합될 수 있다. 또한, 일 실시예에서, 각각의 후속적 검증 레벨은 초기 검증 레벨 혹은 임의 다른 이전 검증 레벨로부터 생성될 수 있다. 검증 레벨 생성기(26)와 검증 레벨 선택기(28)를 참조하여 설명된 동일한 대체안들은 또한 전압 생성기(36)와 전압 선택기(48) 각각에 적용된다. 또한, 제어 회로(32)는, 어느 검증 레벨 및 소거 전압을 선택하거나 혹은 생성할 지를 나타내기 위해, 필요하면, 임의 유형의 제어 신호(들)를 제공할 수 있다.
또한, 임의 유형의 알려진 회로가 NVM(14)의 부분들을 구현하기 위해 사용될 수 있다. 예를 들어, 임의 유형의 전류/전압 레벨 생성기들은 검증 레벨 생성기(26)와 전압 생성기(36)를 구현하기 위해 사용될 수 있다. 유사하게, 임의 유형의 회로는 선택기들(28 및 48)(예를 들어, 멀티플렉서)의 선택 기능을 구현하기 위해 사용될 수 있다. 또한, 알려진 회로는 프로그램/소거 펄스 카운터(34)의 카운터 혹은 카운터들을 구현하고 그리고 프로그램/소거 펄스 생성기(64)를 구현하기 위해 사용될 수 있다. 또한, 제어 회로(32)는 프로세서(12) 상에 실행하는 소프트웨어에, 또는 예를 들어, 흐름(80)의 제어를 구현하는 하드웨어로서, 또는 하드웨어와 소프트웨어의 결합으로서 구현될 수 있다. 제어 회로(32)의 부분들은 또한 NVM(14)을 통해 분산되어 위치될 수 있고, 도 2에 도시된 것처럼, 중앙집중화되지 않을 수 있다. 제어 회로(32)는 또한 NVM(14)의 임의 기능과 관련된 NVM(14)의 임의 부분에 제어 정보 및 신호들을 제공하기 위해 사용될 수 있다. 또한, 예를 들어, 생성기들(26 및 36), 선택기들(28 및 48), 판독 검증 회로(30), 프로그램/소거 펄스 생성기(64), 및 제어 회로(32)와 같이 본 명세서에 설명된 NVM(14)의 특정 부분들이 또한 수행되거나, 또는 "0" 비트들을 프로그래밍하거나 검증하는 것과 같이, NVM(14)의 다른 기능들의 수행을 도울 수 있음을 주목한다. 또한, 본 발명의 실시예들이 복수 번 프로그래밍되고 소거될 수 있는 임의 유형의 NVM에 적용가능함을 주목한다.
본 발명의 일 실시예는, 제 1 소거 전압을 사용하여 적어도 NVM의 일부의 소거 동작을 시작하는 단계, 제 1 판독 전류/전압 임계치를 선택하는 단계, 적어도 NVM의 일부의 제 1 실제 판독 전류/전압을 결정하는 단계, 그리고 제 1 실제 판독 전류/전압과 제 1 판독 전류/전압 임계치를 비교하는 단계를 포함하는 비휘발성 메모리(NVM)를 프로그래밍/소거하기 위한 방법과 관련된다. 제 1 실제 판독 전류/전압이 제 1 판독 전류/전압 임계치보다 더 낮으면, 이 방법은 또한, 적어도 NVM의 일부에 적어도 1개의 소거 펄스를 적용하는 단계, 제 2 판독 전류/전압 임계치를 선택하는 단계, 적어도 NVM의 일부의 제 2 실제 판독 전류/전압을 결정하는 단계, 그리고 제 2 실제 판독 전류/전압과 제 2 판독 전류/전압 임계치를 비교하는 단계를 더 포함한다. 제 2 실제 판독 전류/전압이 제 2 판독 전류/전압 임계치보다 더 낮지 않으면, 소거 동작이 완료된다. 제 1 판독 전류/전압 임계치와 제 2 판독 전류/전압 임계치는 상이하다.
추가적 일 실시예에서, 적어도 1개의 소거 펄스는 제 1 복수의 제 1 소거 펄스들을 포함한다. 제 1 복수의 제 1 소거 펄스들은 N 소거 펄스들을 포함하고, 여기서, N은 NVM에 저장된 값에 의해 결정될 수 있다. 제 1 복수의 제 1 소거 펄스들의 각각은 약 제 1 전압을 가질 수 있다.
추가적 일 실시예에서, 제 2 실제 판독 전류/전압이 제 2 판독 전류/전압 임계치보다 더 낮으면, 이 방법은 적어도 NVM의 일부에 제 2 복수의 제 2 소거 펄스들을 적용하는 단계를 더 포함할 수 있고, 여기서 제 2 소거 펄스들의 각각은 약 제 2 전압을 가지며, 제 2 전압은 제 1 전압과는 상이하다. 제 2 전압은 제 1 전압 이상일 수 있다. 제 2 복수는 제 1 복수와 동일한 수일 수 있다. 제 2 복수에 더해진 제 1 복수가 소거 펄스들의 사전설정된 최대 총 수에 도달했으면, 그리고 제 2 실제 판독 전류/전압이 제 2 판독 전류/전압 임계치보다 더 낮으면, NVM이 실패했다고 간주될 수 있다.
일 추가적 실시예에서, 제 2 판독 전류/전압 임계치는 제 1 판독 전류/전압 임계치보다 더 낮다.
또 다른 실시예는, 프로그램/소거 사이클의 제 1 부분 동안 복수의 판독 전류/전압 임계치들 중의 제 1의 것을 선택하고, 상기 프로그램/소거 사이클의 제 2 부분 동안 복수의 판독 전류/전압 임계치들 중의 제 2의 것을 선택하는 임계치 선택기를 포함하는 비휘발성 메모리(NVM)를 갖는 집적 회로에 관한 것이고, 복수의 판독 전류/전압 임계치들 중의 제 1의 것과 복수의 판독 전류/전압 임계치들 중의 제 2의 것은 상이하다.
추가적 일 실시예에서, 프로그램/소거 사이클의 제 1 부분은 프로그램/소거 사이클의 제 2 부분 전에 적시에 발생하고, 복수의 판독 전류/전압 임계치들 중의 제 2의 것은 복수의 판독 전류/전압 임계치들 중의 제 1의 것보다 더 작다.
또 다른 추가적 실시예에서, 집적 회로는 또한, 프로그램/소거 사이클의 제 1 부분 동안에 제 1 실제 판독 전류/전압과 복수의 판독 전류/전압 임계치들 중의 제 1의 것을 비교하기 위한 판독 검증 회로를 포함하고, 상기 판독 검증 회로는 또한, 상기 프로그램/소거 사이클의 제 2 부분 동안에 제 2 실제 판독 전류/전압과 복수의 판독 전류/전압 임계치들 중의 제 2의 것을 비교하고, 상기 판독 검증 회로는 상기 임계치 선택기에 결합된다. 일 추가적 실시예에서, 집적 회로는 또한, 제 1 실제 판독 전류/전압이 복수의 판독 전류/전압 임계치들 중의 제 1의 것보다 더 낮으면, NVM으로 적어도 하나의 제 1 소거 펄스를 적용하는 소거 펄스 생성기를 포함하고, 상기 소거 펄스 생성기는 또한, 제 2 실제 판독 전류/전압이 복수의 판독 전류/전압 임계치들 중의 제 2의 것보다 더 낮으면 NVM으로 적어도 하나의 제 2 소거 펄스를 적용한다. 또 다른 추가적 실시예에서, 적어도 하나의 제 1 소거 펄스는 제 1 전압을 갖는 제 1 복수의 소거 펄스들을 포함하고, 적어도 하나의 제 2 소거 펄스는 제 2 전압을 갖는 제 2 복수의 소거 펄스들을 포함한다. 제 2 전압은 제 1 전압보다 더 높을 수 있다.
또 다른 대안적 실시예는, NVM 어레이, 복수의 판독 전류/전압 임계치들을 생성하기 위한 수단, 프로그램/소거 사이클의 제 1 부분 동안 복수의 판독 전류/전압 임계치들 중의 제 1의 것을 선택하고, 상기 프로그램/소거 사이클의 제 2 부분 동안에 복수의 판독 전류/전압 임계치들 중의 제 2의 것을 선택하기 위한 수단, 프로그램/소거 사이클의 제 1 부분 동안에 제 1 실제 판독 전류/전압과 복수의 판독 전류/전압 임계치들 중의 제 1의 것을 비교하고, 프로그램/소거 사이클의 제 2 부분 동안에 제 2 실제 판독 전류/전압과 복수의 판독 전류/전압 임계치들 중의 제 2의 것을 비교하기 위한 수단, 그리고 제 1 실제 판독 전류/전압이 복수의 판독 전류/전압 임계치들 중의 제 1의 것보다 더 낮으면, NVM 어레이로 제 1 복수의 제 1 소거 펄스들을 제공하고, 제 2 실제 판독 전류/전압이 복수의 판독 전류/전압 임계치들 중의 제 2의 것보다 더 낮으면, NVM 어레이로 제 2 복수의 제 2 소거 펄스들을 제공하기 위한 수단을 포함하는 비휘발성 메모리(NVM)와 관련된다.
일 추가적 실시예에서, 프로그램/소거 사이클의 제 1 부분은 프로그램/소거 사이클의 제 2 부분 전에 적시에 발생하고, 복수의 판독 전류/전압 임계치들 중의 제 2의 것은 복수의 판독 전류/전압 임계치들 중의 제 1의 것보다 더 낮다. 또 다른 추가적 실시예에서, 제 1 복수의 제 1 소거 펄스들은 제 1 전압을 가지면, 제 2 복수의 제 2 소거 펄스들은 제 2 전압을 갖는다. 일 추가적 실시예에서, 제 2 전압은 제 1 전압보다 더 높고, 추가적 일 실시예에서, 제 2 복수는 제 1 복수와 동일한 수이다.
전술된 명세서에서, 본 발명은 특정 실시예들을 참조하여 설명되었다. 그러나, 당업자라면, 다양한 수정들 및 변경들이 첨부된 청구범위에 기재된 것처럼 본 발명의 범위를 벗어나지 않고 만들어질 수 있음을 이해할 것이다. 따라서, 명세서 및 도면들은 제한적 관점보다는 설명적 관점으로 간주되어야 하고, 모든 그런 수정들은 본 발명의 범위 내에 포함되도록 의도된다.
이득들, 다른 이점들, 및 문제의 해결책들은 특정 실시예들에 대해 상술되었다. 그러나, 임의 이득, 이점, 혹은 해결책이 발생하거나 혹은 더 공고되도록 할 수 있는 이득들, 이점들, 문제의 해결책들, 및 임의 요소(들)는 청구항들 전부 혹은 임의 청구항의 중요한, 필수의, 혹은 기본적 특징 혹은 요소로서 해석되어서는 안 된다. 본 명세서에 사용되는 것처럼, "포함한다(comprises)", "포함하는(comprising)", 혹은 이들의 임의 다른 변형의 용어들은 비배타적 포괄성(non-exclusive inclusion)이 의도되어, 요소들의 리스트를 포함하는 프로세스, 방법, 제품, 혹은 장치는 단지 이들 요소들만을 포함할 뿐만이 아니라, 그런 프로세스, 방법, 제품, 혹은 장치에 명백히 리스트되거나 고유하지 않은 다른 요소들을 포함할 수도 있다.
Claims (20)
- 비휘발성 메모리(non-volatile memory;NVM)를 프로그래밍/소거하기 위한 방법에 있어서,제 1 소거 전압을 사용하여 상기 NVM의 적어도 일부의 소거 동작을 시작하는 단계;제 1 판독 전류/전압 임계치를 선택하는 단계;상기 NVM의 적어도 일부의 제 1 실제 판독 전류/전압을 결정하는 단계;상기 제 1 실제 판독 전류/전압과 상기 제 1 판독 전류/전압 임계치를 비교하는 단계;상기 제 1 실제 판독 전류/전압이 상기 제 1 판독 전류/전압 임계치 이하이면, 상기 NVM의 상기 적어도 일부에 적어도 하나의 소거 펄스를 적용하는 단계와, 제 2 판독 전류/전압 임계치를 선택하는 단계와, 상기 NVM의 상기 적어도 일부의 제 2 실제 판독 전류/전압을 결정하는 단계와, 상기 제 2 실제 판독 전류/전압과 상기 제 2 판독 전류/전압 임계치를 비교하는 단계를 수행하는 단계; 및상기 제 2 실제 판독 전류/전압이 상기 제 2 판독 전류/전압 임계치보다 더 낮지 않으면, 상기 소거 동작을 완료하는 단계를 포함하고,상기 제 1 판독 전류/전압 임계치와 상기 제 2 판독 전류/전압 임계치는 상이한, 비휘발성 메모리(NVM)를 프로그래밍/소거하기 위한 방법.
- 제 1 항에 있어서, 상기 적어도 하나의 소거 펄스는 제 1 복수의 제 1 소거 펄스들을 포함하는, 비휘발성 메모리(NVM)를 프로그래밍/소거하기 위한 방법.
- 제 2 항에 있어서, 상기 제 1 복수의 제 1 소거 펄스들은 N 소거 펄스들을 포함하고, 여기서, N은 상기 NVM에 저장된 값에 의해 결정되는, 비휘발성 메모리(NVM)를 프로그래밍/소거하기 위한 방법.
- 제 2 항에 있어서, 상기 제 1 복수의 제 1 소거 펄스들의 각각은 제 1 전압을 갖는, 비휘발성 메모리(NVM)를 프로그래밍/소거하기 위한 방법.
- 제 4 항에 있어서,상기 제 2 실제 판독 전류/전압이 상기 제 2 판독 전류/전압 임계치보다 더 낮으면, 상기 NVM의 상기 적어도 일부에 제 2 복수의 제 2 소거 펄스들을 적용하는 단계를 수행하는 단계를 더 포함하고,상기 제 2 소거 펄스들의 각각은 제 2 전압을 가지며,상기 제 2 전압은 상기 제 1 전압과는 상이한, 비휘발성 메모리(NVM)를 프로그래밍/소거하기 위한 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/290,321 US7236402B2 (en) | 2005-11-30 | 2005-11-30 | Method and apparatus for programming/erasing a non-volatile memory |
US11/290,321 | 2005-11-30 | ||
PCT/US2006/060671 WO2007111688A2 (en) | 2005-11-30 | 2006-11-08 | Method and apparatus for programming/erasing a non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080080511A KR20080080511A (ko) | 2008-09-04 |
KR101285576B1 true KR101285576B1 (ko) | 2013-07-15 |
Family
ID=38087275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087012943A KR101285576B1 (ko) | 2005-11-30 | 2006-11-08 | 비휘발성 메모리를 프로그래밍/소거하기 위한 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7236402B2 (ko) |
JP (1) | JP5160441B2 (ko) |
KR (1) | KR101285576B1 (ko) |
CN (1) | CN101317231B (ko) |
TW (1) | TWI435330B (ko) |
WO (1) | WO2007111688A2 (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2874732A1 (fr) * | 2004-08-31 | 2006-03-03 | St Microelectronics Sa | Procede de programmation de cellules memoire incluant une detection des degradations de transconductance |
US7397703B2 (en) * | 2006-03-21 | 2008-07-08 | Freescale Semiconductor, Inc. | Non-volatile memory with controlled program/erase |
US20090199058A1 (en) * | 2008-02-06 | 2009-08-06 | Christoph Seidl | Programmable memory with reliability testing of the stored data |
US7903462B1 (en) * | 2008-04-04 | 2011-03-08 | Link A Media Devices Corporation | E/P durability by using a sub-range of a full programming range |
KR101423612B1 (ko) * | 2008-09-16 | 2014-07-25 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템 |
KR101005117B1 (ko) * | 2009-01-23 | 2011-01-04 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 동작 방법 |
KR101038991B1 (ko) * | 2009-03-10 | 2011-06-03 | 주식회사 하이닉스반도체 | 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 |
US8264890B2 (en) * | 2009-04-09 | 2012-09-11 | Sandisk Technologies Inc. | Two pass erase for non-volatile storage |
KR20110126408A (ko) | 2010-05-17 | 2011-11-23 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법 |
CN102034539A (zh) * | 2010-10-25 | 2011-04-27 | 上海宏力半导体制造有限公司 | 纳米晶体器件编程/擦除的方法 |
US8705283B2 (en) * | 2011-07-13 | 2014-04-22 | Vincenzo Ferragina | Erase techniques and circuits therefor for non-volatile memory devices |
CN103390424A (zh) * | 2012-05-08 | 2013-11-13 | 北京兆易创新科技股份有限公司 | 一种存储器的擦除/编程方法及装置 |
CN103632725B (zh) * | 2012-08-24 | 2016-08-10 | 北京兆易创新科技股份有限公司 | 一种快闪存储器的擦除方法和装置 |
US9225356B2 (en) * | 2012-11-12 | 2015-12-29 | Freescale Semiconductor, Inc. | Programming a non-volatile memory (NVM) system having error correction code (ECC) |
US9564216B2 (en) * | 2015-01-30 | 2017-02-07 | Macronix International Co., Ltd. | Stress trim and modified ISPP procedures for PCM |
US9679652B2 (en) * | 2015-05-04 | 2017-06-13 | Phison Electronics Corp. | Threshold based multi-level cell programming for reliability improvement |
CN107665724A (zh) * | 2016-07-27 | 2018-02-06 | 北京兆易创新科技股份有限公司 | 一种存储单元的擦除方法 |
US10297324B2 (en) * | 2017-05-25 | 2019-05-21 | Western Digital Technologies, Inc. | Physical secure erase of solid state drives |
US20240177788A1 (en) * | 2022-11-30 | 2024-05-30 | Sandisk Technologies Llc | Adaptive erase voltages for non-volatile memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030076710A1 (en) | 2001-10-24 | 2003-04-24 | Yair Sofer | Method for erasing a memory cell |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4943948A (en) * | 1986-06-05 | 1990-07-24 | Motorola, Inc. | Program check for a non-volatile memory |
US5268319A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5361227A (en) * | 1991-12-19 | 1994-11-01 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and memory system using the same |
JP3348466B2 (ja) * | 1992-06-09 | 2002-11-20 | セイコーエプソン株式会社 | 不揮発性半導体装置 |
JPH10228784A (ja) * | 1997-02-12 | 1998-08-25 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
JP3781240B2 (ja) * | 1998-09-07 | 2006-05-31 | 株式会社ルネサステクノロジ | 不揮発性半導体メモリおよびそれを内蔵した半導体集積回路 |
US6400603B1 (en) * | 2000-05-03 | 2002-06-04 | Advanced Technology Materials, Inc. | Electronically-eraseable programmable read-only memory having reduced-page-size program and erase |
JP2001319486A (ja) * | 2000-05-12 | 2001-11-16 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
JP2002100192A (ja) * | 2000-09-22 | 2002-04-05 | Toshiba Corp | 不揮発性半導体メモリ |
JP4040405B2 (ja) * | 2002-09-20 | 2008-01-30 | 富士通株式会社 | 不揮発性半導体記憶セルの制御方法、および不揮発性半導体記憶装置 |
KR100496866B1 (ko) * | 2002-12-05 | 2005-06-22 | 삼성전자주식회사 | 미프로그램된 셀들 및 과프로그램된 셀들 없이 균일한문턱 전압 분포를 갖는 플레쉬 메모리 장치 및 그프로그램 검증 방법 |
JP4426868B2 (ja) * | 2003-04-04 | 2010-03-03 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置および半導体集積回路装置 |
JP2005276428A (ja) * | 2005-04-11 | 2005-10-06 | Toshiba Corp | 不揮発性半導体記憶装置 |
-
2005
- 2005-11-30 US US11/290,321 patent/US7236402B2/en active Active
-
2006
- 2006-11-08 CN CN2006800442547A patent/CN101317231B/zh active Active
- 2006-11-08 KR KR1020087012943A patent/KR101285576B1/ko not_active IP Right Cessation
- 2006-11-08 WO PCT/US2006/060671 patent/WO2007111688A2/en active Application Filing
- 2006-11-08 JP JP2008543553A patent/JP5160441B2/ja not_active Expired - Fee Related
- 2006-11-10 TW TW095141602A patent/TWI435330B/zh not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030076710A1 (en) | 2001-10-24 | 2003-04-24 | Yair Sofer | Method for erasing a memory cell |
Also Published As
Publication number | Publication date |
---|---|
KR20080080511A (ko) | 2008-09-04 |
WO2007111688A2 (en) | 2007-10-04 |
JP5160441B2 (ja) | 2013-03-13 |
WO2007111688A3 (en) | 2008-04-24 |
TW200733117A (en) | 2007-09-01 |
CN101317231B (zh) | 2012-03-07 |
TWI435330B (zh) | 2014-04-21 |
CN101317231A (zh) | 2008-12-03 |
US7236402B2 (en) | 2007-06-26 |
US20070121387A1 (en) | 2007-05-31 |
JP2009518766A (ja) | 2009-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101285576B1 (ko) | 비휘발성 메모리를 프로그래밍/소거하기 위한 방법 및 장치 | |
CN101040344B (zh) | 可编程存储器电路及改进其单元阵列中数据保持的方法 | |
US7640389B2 (en) | Non-volatile memory having a multiple block erase mode and method therefor | |
US5930169A (en) | Nonvolatile semiconductor memory device capable of improving of chip's lifetime and method of operating the same | |
KR100611825B1 (ko) | 프로그래밍 방법 및 장치 | |
US9183937B2 (en) | Method and apparatus for the erase suspend operation | |
JP2010535395A (ja) | 動的に調整可能なソフトプログラム検証電圧レベルを有する不揮発性メモリおよびそのための方法 | |
US20100008145A1 (en) | Method of programming nonvolatile memory device | |
JP2005538485A (ja) | メモリセルの隣接する行の記憶素子間の結合の効果を減少させる方法 | |
US20030117886A1 (en) | Non-volatile semiconductor memory device | |
EP1999756B1 (en) | Non-volatile memory with controlled program/erase | |
CN108877863B (zh) | 快闪存储器存储装置及其操作方法 | |
US7292473B2 (en) | Method and apparatus for programming/erasing a non-volatile memory | |
CN107045888B (zh) | 数据擦除方法 | |
JP2004171686A (ja) | 不揮発性半導体記憶装置およびそのデータ消去方法 | |
EP1233421A1 (en) | Method for refreshing stored data in an electrically erasable and programmable non-volatile memory | |
CN110473584B (zh) | 固态储存装置中已抹除区块的再验证方法 | |
CN113327638B (zh) | 闪存及其擦除方法、电子系统和计算机存储介质 | |
JP2006190488A (ja) | 半導体記憶装置の書き込み方法 | |
EP1782426B1 (en) | Self-adaptive program delay circuitry for programmable memories | |
CN107633863B (zh) | 存储器装置及其程式化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160627 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |