KR101634264B1 - 플래시 메모리의 적응적 알고리즘을 위한 방법, 장치, 및 제작물 - Google Patents
플래시 메모리의 적응적 알고리즘을 위한 방법, 장치, 및 제작물 Download PDFInfo
- Publication number
- KR101634264B1 KR101634264B1 KR1020147037178A KR20147037178A KR101634264B1 KR 101634264 B1 KR101634264 B1 KR 101634264B1 KR 1020147037178 A KR1020147037178 A KR 1020147037178A KR 20147037178 A KR20147037178 A KR 20147037178A KR 101634264 B1 KR101634264 B1 KR 101634264B1
- Authority
- KR
- South Korea
- Prior art keywords
- programming
- memory
- voltage
- sector
- pulses
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- 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
- G11C16/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; 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/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
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
- G11C16/3409—Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
-
- 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/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
- G11C16/3413—Circuits or methods to recover overprogrammed nonvolatile memory cells detected during program verification, usually by means of a "soft" erasing step
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
메모리 디바이스에 대한 방법, 장치, 및 제작물이 제공된다. 메모리 디바이스는 섹터들을 포함하는 메모리 셀 영역을 포함하고, 각각의 섹터는 메모리 셀들을 포함한다. 메모리 디바이스는 메모리 셀들에 대한 프로그래밍 동작들 및 소거 동작들을 제어하도록 구성되는 메모리 제어기를 더 포함한다. 메모리 셀들에 대한 소거 동작들 동안, 섹터의 소거되는 비-프로그래밍된 메모리 셀 각각이 프로그래밍 검증이 통과될 때까지 프로그래밍 전압으로 적어도 하나의 프로그래밍 펄스를 인가함에 의해 프로그래밍되는 사전-프로그래밍이 발생한다. 이후에, 프로그래밍-검증이 통과될 때까지 인가된 프로그래밍 펄스들의 개수에 기초하여 프로그래밍 전압이 조절된다. 그 섹터의 후속의 프로그래밍 동작들 동안, 프로그래밍 펄스들이 조절된 프로그래밍 전압으로 인가된다.
Description
본 발명은 컴퓨터로 판독 가능한 메모리(computer-readable memory)에 관한 것이고, 그리고 상세하게는 하지만 배타적이지 않게는, 소거 동작의 사전-프로그래밍 단계(pre-programming phase) 동안 요구되는 프로그래밍 펄스들의 개수가 후속의(subsequent) 프로그래밍 동작들 동안 사용되는 프로그래밍 전압을 조절하도록 사용될 수 있는, 플래시 메모리 소거(erasing) 및 프로그래밍에 대한 알고리즘을 위한 방법, 장치(apparatus), 및 제작물(manufacture)에 관한 것이다.
다양한 종류들의 전자 메모리(electronic memory)가 최근에 개발되어져 왔다. 몇몇의 대표적인(exemplary) 메모리 종류들은 전기적으로 소거 가능하고 프로그래밍 가능한 판독 전용 메모리(EEPROM) 및 전기적으로 프로그래밍 가능한 판독 전용 메모리(EPROM)가 있다. EEPROM은 쉽게 소거 가능하지만 저장 용량에 있어 밀도가 부족한 반면에, EPROM은 값이 싸고 더 밀도 있지만 쉽게 소거되지 않는다. "플래시(flash)" EEPROM, 또는 플래시 메모리는, 이 2개의 메모리 종류들의 이점들(advantages)을 조합한다. 이 종류의 메모리는, 자동차들, 산업 제어 시스템들, 기타 등등과 같은 큰 전자제품들로부터, 랩탑 컴퓨터들, 휴대용 음악 플레이어들, 핸드폰들, 기타 등등과 같은 작은 휴대용 전자제품들까지의 많은 전자 제품들에서 사용된다.
플래시 메모리는 단일 비트가 메모리 셀 각각 내에 홀드되는(held) 많은 메모리 셀들로 일반적으로 구성된다. 그러나 MirrorBit TM으로 알려진 더 최근의 기술의 플래시 메모리는 2개의 물리적으로 구별되는(distinct) 비트들을 메모리 셀의 대항하는 측면들 상에 저장함에 의해 전통적인 플래시 메모리(conventional flash memory)의 밀도를 2배로 만든다. 비트의 판독(reading) 또는 기록(writing)은 셀의 반대편 상의 비트와 독립적으로 발생한다. 메모리 셀은 반도체 기판(semiconductor substrate)에 형성된 비트 라인들로 구성된다. 옥사이드-나이트라이드-옥사이드(Oxide-nitride-oxide, ONO) 유전체 층은 기판 및 비트 라인들의 상부에 형성된다. 나이트라이드는 2개의 절연 층들(insulating layers) 사이의 전하 저장 층의 역할을 한다. 워드 라인들은 이후에 비트 라인들에 수직으로 ONO 층의 상부에 형성된다. 비트 라인에 인가된 전압과 함께, 제어 게이트로서 동작하는, 워드 라인에 전압을 인가하는 것은, 메모리 셀 어레이(memory cell array)의 그 위치로부터 또는 그 위치에 데이터를 판독하거나 기록하는 것을 가능하게 한다. MirrorBit TM 플래시 메모리는 NOR 플래시 및 NAND 플래시를 포함하는 다른 종류들의 플래시 메모리에 적용될 수 있다.
본 발명의 다양한 실시예들은 도면들을 참조로 하여 상세히 기술될 것이고, 몇몇의 도면들 내내 동일한 참조 번호는 동일한 부분들 및 어셈블리들을 표현한다. 다양한 실시예들의 참조는 본 발명의 범위를 제한하지 않고, 본 발명의 범위는 이 문서에 첨부된 청구항들의 범위에 의해서만 제한된다. 추가적으로, 이 명세서에서 제시된 어떤 예들도 제한되는 것으로 의도되지 않았고 단지 청구된 발명에 대한 많은 가능한 실시예들 중 몇몇을 제시한 것일 뿐이다.
명세서 및 청구항들 내내, 다음의 용어들은, 문맥상 다른 것을 지시하지 않는 한, 적어도 이 문서에서 분명하게 관련된 의미들을 갖는다. 아래에 식별된 의미들은 필연적으로 용어들을 한정하는 것이 아니라, 단지 용어들에 대한 묘사적인 예시들을 제공하는 것일 뿐이다. "하나의" 및 "상기 하나의"의 의미는 복수의 언급을 포함하고, 그리고 "~에서"의 의미는 "~에서"와 "~상에서"를 포함한다. 이 문서에서 사용되는 "한 실시예들에서" 라는 구절은 이 구절이 동일한 실시예를 참조할지라도, 동일한 실시예를 반드시 참조하지는 않는다. 유사하게, 이 문서에서 사용되는 "몇몇의 실시예에서"라는 구절은, 여러 번 사용될 때, 이 구절이 동일한 실시예들을 참조할지라도, 동일한 실시예들을 반드시 참조하지는 않는다. 본 명세서에서 사용되는 바와 같이, 용어 "또는"은, 문맥상 분명히 다른 것을 지시하지 않는 한, 포함적인 "또는" 연산자(inclusive "or" operator)이고, 용어 "및/또는"(and/or)과 등가이다. 용어 "부분적으로 기초하여", "적어도 부분적으로 기초하여", "기초하여"는, 문맥상 분명히 다른 것을 지시하지 않는 한, 배타적인 것이 아니며 기술되지 않은 추가적인 요소들에 기초하는 것을 가능하게 한다. 용어 "결합되는"은 접속되는 항목들 사이의 직접적인 전기적 접속, 또는 하나 이상의 수동 또는 능동의 중간 디바이스들을 통한 간접적인 접속 중 적어도 하나를 의미한다. 용어 "신호"는 적어도 하나의 전류, 전압, 전하, 온도, 데이터, 또는 다른 신호를 의미한다.
간단히 말하면, 본 발명은 섹터들을 포함하는 메모리 셀 영역을 포함하는 메모리 디바이스에 관한 것이고, 여기서 각 섹터는 메모리 셀들을 포함한다. 상기 메모리 디바이스는 상기 메모리 셀들에 대한 프로그램 동작들 및 소거 동작들을 제어하도록 구성되는 메모리 제어기를 포함한다. 메모리 셀들에 대한 소거 동작들 동안, 사전-프로그래밍이 수행되는 바, 사전-프로그래밍에서는 소거 중인 섹터 내의 비-프로그래밍된(un-programmed) 메모리 셀 각각이 프로그래밍 검증을 통과할 때까지 프로그래밍 전압에서 적어도 하나의 프로그래밍 펄스를 인가함에 의해서 프로그래밍 된다. 그 섹터에서의 후속의 프로그래밍 동작들 동안, 프로그래밍 펄스들이 조절된 프로그래밍 전압으로 인가된다.
본 발명의 제한적이지 않은(non-limiting) 그리고 총망라 적이지 않은(non-exhaustive) 실시예들은 다음의 도면들을 참고로 하여 기술되고:
도 1은 메모리의 일 실시예의 블럭도를 도시한다.
도 2는 도 1의 메모리에서 이용될 수 있는 메모리의 핵심 섹션들 및 주변 섹션들의 실시예의 부분 상평면도(partial top plan view)를 도시한다.
도 3은 도 1의 메모리 디바이스의 일 실시예의 블럭도를 도시한다.
도 4는 도 1 또는 도 3의 메모리 디바이스의 일 실시예의 블럭도를 도시한다.
도 5는 본 발명의 양상들에 부합하도록, 도 4의 메모리 디바이스를 포함하는 시스템의 일 실시예의 블럭도를 도시한다.
도 1은 메모리의 일 실시예의 블럭도를 도시한다.
도 2는 도 1의 메모리에서 이용될 수 있는 메모리의 핵심 섹션들 및 주변 섹션들의 실시예의 부분 상평면도(partial top plan view)를 도시한다.
도 3은 도 1의 메모리 디바이스의 일 실시예의 블럭도를 도시한다.
도 4는 도 1 또는 도 3의 메모리 디바이스의 일 실시예의 블럭도를 도시한다.
도 5는 본 발명의 양상들에 부합하도록, 도 4의 메모리 디바이스를 포함하는 시스템의 일 실시예의 블럭도를 도시한다.
도 1은 본 발명의 실시예들이 이용될 수 있는 메모리 환경을 도시한다. 도면들에 도시된 모든 컴포넌트들(components)이 본 발명을 실행하기 위해 요구되지는 않을 수 있고, 컴포넌트들의 배열 및 종류에서의 변형들은 본 발명의 사상 또는 범위로부터 벗어남이 없이 이루어질 수 있다. 예를 들어, 본 발명의 몇몇의 실시예들은 MirrorBit TM NOR 플래시 메모리의 문맥에서 기술되었음에도 불구하고, 이 문서에서 기술된 제조물(fabrication)은 다른 다양한 종류들의 플래시 메모리와 같은 다른 종류들의 마이크로전자 메모리들 또는 디바이스들을 제작하는 데 이용될 수 있다.
도시된 대로, 메모리(100)는 어레이된 메모리(110) 및 메모리 제어기(130)를 포함한다. 메모리 제어기(130)는 신호 경로(106)를 통해 어드레싱 데이터 및 프로그래밍 데이터를 통신하도록 구성된다. 예를 들어, 신호 경로(106)는 8, 16, 또는 그 이상의 입/출력 라인들의 데이터를 제공할 수 있다. 메모리 제어기(130)는 또한 신호 경로(103)를 통해 어레이된 메모리(110)에 액세스하도록 구성된다. 예를 들어, 메모리 제어기(130)는 신호 경로(103)를 통해 어레이된 메모리(110)의 부분들에서 판독, 기록, 소거할 수 있으며 그리고 다른 동작들을 수행할 수 있다. 게다가, 단일 라인들로 도시되었음에도 불구하고, 신호 경로(103) 및/또는 신호 경로(106)는 복수의 신호 라인들 및/또는 버스 라인들을 통해 분포될 수 있다.
어레이된 메모리(110)는 메모리 제어기(130)를 통해 액세스(access)될 수 있는 메모리 섹터들(120)(섹터들 1-i로서 개별적으로 식별됨)을 포함한다. 메모리 섹터들(120)은, 예를 들어, 개별적으로 또는 집합적으로 액세스될 수 있는 256, 512, 1024, 2048 또는 그 이상의 섹터들을 포함할 수 있다. 다른 예시들에서, 메모리 섹터들의 개수 및/또는 배열은 다를 수 있다. 한 실시예에서, 예를 들어, 섹터들(120)은 더 일반적으로 메모리 블럭들을 나타낼 수 있으며 그리고/또는 비트 라인, 워드 라인, 및/또는 섹터 토폴로지(topology)와 다른 구성(configuration)을 갖도록 구성될 수 있다.
메모리 제어기(130)는 디코더 컴포넌트(132), 전압 발생기 컴포넌트(134) 및 제어기 컴포넌트(136)를 포함한다. 한 실시예에서, 메모리 제어기(130)는 어레이된 메모리(110)와 동일한 칩 상에 위치할 수 있다. 다른 실시예에서, 메모리 제어기(130)는 다른 칩 상에 위치할 수 있고, 또는 메모리 제어기(130)의 부분들은 다른 칩 상에 위치하거나 칩 밖에 위치할 수 있다. 예를 들어, 디코더 컴포넌트(132), 제어기 컴포넌트(134), 및 전압 발생기 컴포넌트(136)는 다른 칩 상에 위치할 수 있지만 동일한 회로 보드 상에 함께 위치할 수 있다. 다른 실시예들에서, 메모리 제어기(130)의 다른 구현들이 가능하다. 예를 들어, 메모리 제어기(130)는 프로그램 가능한 마이크로제어기(microcontroller)를 포함할 수 있다.
디코더 컴포넌트(132)는 어드레싱 신호 경로(106)를 통해 메모리 어드레스들을 수신하도록, 그리고 어레이된 메모리(110)의 아키텍처(architecture)에 따라서 개별적인 섹터들, 어레이들, 또는 셀들을 선택하도록 구성된다.
디코더 컴포넌트(132)는 예를 들어, 다양한 어드레싱 체계(addressing schemes) 중 어떤 것에 기초하여 섹터들, 어레이들, 및/또는 셀들을 선택하기 위한 멀티플렉서 회로들(multiplexer circuits), 증폭기 회로들(amplifier circuits), 조합 논리(combinational logic), 등등을 포함한다. 예를 들어, 메모리 어드레스의 부분(또는 비트들의 그룹)은 어레이된 메모리(110) 내의 섹터를 식별할 수 있고 또 다른 부분(또는 비트들의 또 다른 그룹)은 특정한 섹터 내의 코어 셀 어레이(core cell array)를 식별할 수 있다.
전압 발생기 컴포넌트(134)는 하나 이상의 공급 전압들(도시되지 않음)을 수신하도록 그리고 판독, 기록, 소거, 사전-프로그래밍(pre-programming), 소프트 프로그래밍(soft programming), 및/또는 불완전-소거 검증 동작들(under-erase verifying operations)을 위해 요구되는 다양한 기준 전압들(reference voltages)을 제공하도록 구성된다. 예를 들어, 전압 발생기 컴포넌트(134)는 제어기 컴포넌트(136)에 의해 제어될 수 있는 하나 이상의 캐스코드 회로들(cascode circuits), 증폭기 회로들(amplifier circuits), 조정 회로들(regulator circuits), 및/또는 스위치 회로들(switch circuits)을 포함할 수 있다.
제어기 컴포넌트(136)는 메모리(100)의 좌표 판독(coordinate reading), 기록, 소거, 및 다른 동작들을 하도록 구성된다. 한 실시예에서, 제어기 컴포넌트(136)는 업스트림(upstream) 시스템 제어기(도시되지 않음)로부터 데이터를 수신하고 전송하도록 구성된다. 그러한 시스템 제어기는, 예를 들어, 신호 경로(106)를 통해 통신하기 위한 실행가능한 프로세서 명령들과 함께 로딩될 수 있는 프로세서 및 스태틱 랜덤 액세스 메모리(SRAM)를 포함할 수 있다. 다른 실시예에서, 메모리 제어기(130)의 다른 부분들뿐만 아니라 제어기 컴포넌트(136)도 시스템 제어기 또는 시스템 제어기의 부분에 임베디드되거나(embedded) 그렇지 않으면 통합될 수 있다. 메모리 제어기는 프로세서로 실행 가능한 코드가 안에 인코딩된 프로세서로 판독 가능한 매체를 포함할 수 있고, 상기 코드는 메모리 제어기(130)에서 하나 이상의 프로세서에 의해 실행될 때, 동작들(actions)을 가능하게 한다.
제어기 컴포넌트(136)의 실시예들은 상태 머신(state machine) 및/또는 비교 회로들(comparator circuits)을 포함할 수 있다. 상태 머신 및 비교 회로들은 메모리(100)의 판독, 기록, 소거, 또는 다른 동작들을 수행하기 위한 무수히 많은(myriad of) 알고리즘들 중의 어떤 것을 호출(invoke)하기 위한 다양한 회로들 중의 어떤 것이든지 포함할 수 있다. 상태 머신들 및 비교 회로들은 또한, 예를 들어, 비교기들(comparators), 증폭기 회로들, 센싱 증폭기들(sense amplifiers), 조합 논리, 또는 등등을 포함할 수 있다.
몇몇의 실시예들에서, 메모리(100)는 플래시-기반 NAND 셀들, NOR 셀들, 또는 상기 2개의 하이브리드들(hybrids)과 같은, 플래시-기반 메모리 셀들을 포함하는 플래시 기반 메모리를 포함한다. 메모리 제어기(130)는 양호한(good) 판독 마진 비트 분포(read margin bit distribution)가 유지되도록 시간이 지남에 따라 프로그램 성능이 변화하는 것에 대해 적응하는 적응적인 방식(adaptive manner)으로 소거 및 프로그래밍 동작들을 수행하도록 구성된다.
도 2는 메모리의 개별적인 섹션들의 부분 상평면도를 도시한다. 코어 섹션(201)은, 예를 들어, 도 1의 섹터(120)의 부분의 실시예일 수 있고, 그리고 어레이된 코어 메모리 셀들(arrayed core memory cells)을 포함할 수 있다. 주변 섹션(peripheral section)(202)은, 예를 들어, 도 1의 메모리 제어기(110)의 실시예일 수 있고 또는 도 1의 메모리 제어기(110)의 부분일 수 있다.
코어 섹션(201)은 코어 폴리실리콘 라인들(core polysilicon lines)(241), 전도성 영역들(conductive regions)(242), 및 기판의 부분(portion of substrae)(205)을 포함한다. 코어 폴리실리콘 라인들(241)의 부분들은 개별적인 메모리 셀들(도 2에 도시되지 않음)의 게이트들에 결합되고 워드 라인, 소스 선택 게이트 라인, 및/또는 드레인 선택 게이트 라인으로서 구성될 수 있다. 전도성 영역들(242)의 부분들은, 예를 들어, 소스/드레인 영역들 및/또는 전도성 라인들을 형성하기 위한 기판(205)의 p-타입 및/또는 n-타입 도핑된 영역들(doped regions)을 포함할 수 있다. 예를 들어, 전도성 영역들(242)은 비트 라인들 및/또는 다른 신호 라인들의 부분들을 형성할 수 있다. 또한, 몇몇의 실시예들에서, 개별적인 전도성 영역들(242)은 적어도 부분적으로는 개별적인 코어 폴리실리콘 라인들(241)의 아래로 연장한다.
한 실시예에서, 코어 섹션(201)은 NOR 토폴로지로 구성되고, 그리고 개별적인 메모리 셀들은 개별적인 전도성 영역(242)을 통해 개별적으로 액세스될 수 있다. 또 다른 실시예에서, 코어 섹션(201)은 NAND 토폴로지로 구성되고, 그리고 개별적인 메모리 셀들은 개별적인 전도성 영역들(242)을 통해 집합적이지만 개별적이지 않게 액세스될 수 있다. 다른 실시예들에서, 하이브리드 아키텍처들이 이용될 수 있다. 예를 들어, 코어 섹션(201)은 NAND-기반의 부분 그리고 NOR-기반의 또 다른 부분을 갖도록 구성될 수 있다. 또한, 도 2에 도시되지 않았음에도 불구하고, 코어 섹션(201)은 유전체의(dielectric), 전도성의, 또는 다른 층들과 같은, 다양한 상호접속(interconnect) 및/또는 패시베이션(passivation) 층들 중의 어떤 것이든 포함할 수 있다. 예를 들어, 전도성 영역(242)은 유전체 스페이서 층(dielectric spacer layer) 아래에 위치될 수 있다.
주변 섹션(202)은 주변 폴리실리콘 라인들(251), 전도성 영역들(252), 상호접속들(253)을 포함한다. 주변 폴리실리콘 라인들(251)의 부분들은 개별적인 주변 디바이스들(도 2에 도시되지 않음)에 결합된다.
전도성 영역들(252)의 부분들은, 예를 들어, 소스, 드레인, 또는 다른 종류의 웰(well)과 같은 전도성 피쳐들(conductive features)을 형성하기 위한 기판(205)의 p-타입 및/또는 n-타입의 도핑된 영역을 포함할 수 있다. 상호접속들(253)은 주변 섹션(202)의 부분들을 전기적으로 상호결합하고 그리고/또는 코어 섹션(201)을 주변 섹션(202)과 전기적으로 결합하는 전도성 라인들을 포함할 수 있다. 예를 들어, 상호접속들(253)은 금속 라인들 및 비아들(vias)의 조합을 포함할 수 있다. 또한, 도 2에 도시되지 않았지만, 주변 섹션(202)은 또한 다양한 다른 상호접속 및/또는 패시베이션 층들 중 어떤 것이든지 포함할 수 있다.
도 3은 메모리 디바이스(300)의 실시예의 블럭도를 도시한다. 메모리 디바이스(300)는 메모리 제어기(330) 및 메모리 셀들(310)을 포함한다.
메모리 셀들(310)은, 예를 들어, 섹터들을 포함하는 메모리 셀 영역을 포함할 수 있고, 여기서 각각의 섹터는 메모리 셀들을 포함한다. 메모리 제어기(330)는 메모리 셀들(310)에 대한 프로그래밍 동작들 및 소거 동작들을 제어하도록 구성된다. 메모리 제어기(330)가 메모리 셀들(310)에 대해 소거 동작을 수행할 때, 상기 소거 동작은 실제의 소거(actual erase) 이전에 발생하는 프로그래밍 단계(programming phase)를 포함한다. 상기 소거 동작 내에 발생하는 이 프로그래밍 단계는 "사전-프로그래밍"이라고 언급될 수 있다.
사전-프로그래밍 동안, 적어도 하나의 프로그래밍 펄스가 프로그래밍 검증이 통과될 때까지 소거 중인 섹터 내의 메모리 셀 각각에 프로그래밍 전압으로 인가된다. 인가되는 프로그래밍 펄스들(상기 프로그래밍 검증이 통과될 때까지)의 개수는 저장된다. 상기 프로그래밍 전압은 프로그래밍 검증이 통과될 때까지 인가되는 프로그래밍 펄스들의 개수에 기초하여 이후에 조절된다. 상기 소거 동작에 후속적인 프로그래밍 동작 동안, 프로그래밍 되어야 할 비트 각각에 프로그래밍 펄스들이 인가되고, 가장 최근의 조절된 프로그래밍 전압이 사용된다.
도 4는 메모리 디바이스(400)의 실시예의 블럭도를 도시하고, 상기 메모리 디바이스는 도 3의 메모리 디바이스(300)의 실시예로서 이용될 수 있다. 메모리 디바이스(400)는 메모리 어레이(402) 및 메모리 어레이(402) 내에 위치한 개별 메모리 셀들(403)을 포함한다. 메모리 셀들(403)은 메모리 어레이(402) 내의 N+1 개의 로우들(rows)과 M+1 개의 컬럼들(columns)로 구성된다. 한 실시예에서, 메모리 어레이(402)의 로우 각각은 BLO에서 BLN까지의 비트 라인들 중 2개에 의해 액세스된다. 메모리 어레이(402)의 컬럼 각각은 WL0에서 WLM까지의 워드 라인들 중 1개에 의해 액세스된다. 따라서, 메모리 셀들(403) 각각은 상기 셀의 대응하는 비트 라인들 및 대응하는 워드 라인을 활성화함에 의해 액세스 될 수 있다. 한 실시예에서, 메모리 어레이(402)의 컬럼 각각은 데이터 워드를 정의한다. 만약 N+1이 8의 값을 갖는 경우, 메모리 어레이(402)의 컬럼 각각 내의 셀들은 1 바이트의 데이터를 정의한다.
메모리 셀들(403)은 서로 다른 실시예들에서 서로 다른 방식들로 비트들을 저장하는 플래시 메모리 셀들일 수 있다. 다양한 실시예들에서, 단일 셀은 하나 이상의 비트들을 저장할 수 있다. 예를 들어, 몇몇의 메모리 셀들은 단일 셀 디바이스들이고, 몇몇의 메모리 셀들은 이중 셀 디바이스들이며, 그리고 몇몇의 실시예들에서는, 아래에 더 상세히 논의되듯이, 2개 이상의 구별되는 레벨의 문턱 전압(threshold voltage)이 셀들 당 2개 이상의 비트를 표현하기 위해 사용될 수 있다. 몇몇의 실시예들에서, 플래시 메모리는 플로팅-게이트 트랜지스터들(floating-gate transistors)로부터 만들어진 메모리 셀들의 배열에 정보를 저장한다. 예를 들어, NOR 게이트 플래시에서, 트랜지스터들은 상기 트랜지스터가, 1개 대신에 2개의 게이트들(플로팅 게이트 및 제어 게이트)을 갖는다는 점을 제외하고는 표준적인 금속 산화막 반도체 전계 효과 트랜지스터(metal-oxide-semiconductor field-effect transistor, "MOSFET")와 닮았다. 상부에 있는 것은 다른 금속 산화막 반도체 트랜지스터들에서와 같이, 제어 게이트(control gate, "CG")이지만 상기 제어 게이트 하부에는 산화물 층(oxide layer)에 의해 사방이 절연된(insulated all around) 플로팅 게이트(floating gate, "FG")가 있다. FG는 CG와 MOSFET 채널 사이에 삽입되어 있다. FG는 절연 층에 의해 전기적으로 고립되기 때문에, FG 상에 놓인 어떤 전자들이든지 FG 상에 트랩되고, 그리고 일반적인 조건에서는, 수 년동안 방전되지 않을 것이다. FG가 전하를 홀딩할 때, FG는 CG로부터의 전계(electric field)를 차단하고(부분적으로 무효화하고), 이는 셀의 문턱 전압("Vt")을 수정한다. MOSFET의 문턱 전압은 보통 트랜지스터의 절연 층(산화물)과 기판(몸체) 사이의 인터페이스(interface)에서 역전층이 형성하는 게이트 전압으로서 정의된다. 판독(read-out) 동안, CG에 전압이 인가되고, 그리고 셀의 Vt에 의존해서, MOSFET 채널은 전도성이 되거나 절연 상태로 남아있고, 상기 Vt는 또한 FG 상의 전하에 의해 제어된다. MOSFET 채널을 통한 전류 흐름(current flow)은 센싱되고, 이는 디바이스에 대한 문턱 전압(voltage threshold)의 결정을 허용하고, 상기 결정은 또한 디바이스 내에 저장된 이진 데이터(binary data)에 관한 정보를 제공한다.
단일 셀 디바이스에서, 트랜지스터의 제어 게이트 각각은 상기 저장된 정보를 나타내는 단일 전하량을 저장한다. 상기 단일 셀 디바이스의 기본(default) 또는 "비-프로그래밍된" 상태에서, 상기 제어 게이트로 적절한 전압의 인가 하에 상기 채널을 통해 전류가 흐를 것이기 때문에, 상기 단일 셀 디바이스는 이진값 "1"에 논리적으로 등가이다.
이중 셀 디바이스에서, 제어 게이트 각각은 상기 저장된 정보를 나타내는 2개의 전하량들을 저장한다. 즉, 2개의 물리적으로 구별되는 전하량들이 상기 플로팅 게이트의 대항하는 측면들 상에 저장된다. 플로팅 게이트의 한쪽편에서의 데이터의 판독 또는 기록은 상기 플로팅 게이트의 반대쪽편 상에 저장된 데이터와 독립적으로 발생한다. 이 기술에서, 상기 FG는 2개의 거울 같은(mirrored) 또는 상보적인(complementary) 부분들로 분리되고, 각각은 독립된 정보를 저장하기 위해 만들어진다. 이중 셀 각각은, 전통적인 셀과 같이, 소스 및 드레인을 갖는 게이트를 갖는다. 하지만, 이중 셀에서는 소스 및 드레인으로의 접속들은 2개의 비트들의 저장을 허용하기 위해 동작에 있어 반전(reverse)될 수 있다. 메모리 셀들 각각은 다중-층들을 포함한다. 전하-트랩 유전체 층(charge-trapping dielectric layer)은 반도체 기판상에 형성된다. 전하-트랩 유전체 층은 일반적으로 3개의 구별되는 층들로 구성된다: 제1 절연 층, 전하-트랩 층, 및 제2 절연 층. 워드-라인들은 본질적으로 상기 비트 라인들에 수직인 전하-트랩 유전체 층 상에 형성된다. 프로그래밍 회로망은 제어 게이트로 동작하는 워드-라인에 신호를 인가함에 의해, 그리고 한 비트가 한 배열로 접속된 소스 및 드레인에 의해 저장되고, 상보적 비트가 또 다른 배열로 접속된 소스 및 드레인에 의해 저장되는 것과 같은 비트 라인 접속을 변경함에 의해, 셀 당 2개의 비트들을 제어한다.
단일-레벨 셀(single-level cell, "SLC") 디바이스에서, 셀 각각은, 상기 셀이 "비-프로그래밍"(값 "1"을 갖음)되거나 "프로그래밍"(값 "0"을 갖음)되는, 단지 1 비트의 정보만을 저장한다. 다중-레벨 셀(multi-level cell, "MLC") 디바이스들 또한 존재하고 상기 MLC 디바이스들은 이들의 셀들의 플로팅 게이트들에 인가할 전기적 전하의 다중의 레벨들 사이에서 선택함에 의해 셀 당 1개 이상의 비트를 저장할 수 있다. 이 디바이스들에서, FG 상의 전하의 레벨을 더 정밀하게(precisely) 결정하기 위하여, (단순히 전하 흐름의 존재 또는 부재보다는) 전하 흐름의 양이 센싱된다.
한 예시로서, 이중 셀 디바이스는 1개의 트랜지스터가 16개의 서로 다른 상태들과 같도록 셀 당 4개의 비트들(four-bits-per-cell)을 저장하는 MLC 디바이스일 수도 있다. 이는 플래시 디바이스들에 대해 더 큰 용량과, 더 작은 다이 사이즈들 및 더 낮은 비용들을 가능하게 한다.
메모리 디바이스(400)는 온도-센싱 디바이스(461), 제어기(436), 디코더(481), 디코더(482), 전압 조정기(483), 전압 조정기(484), 전하 펌프(485), 및 전하 펌프(486)를 더 포함한다.
전하 펌프(485)는 부스팅된(boosted) 비트 라인 전압을 제공하도록 구성된다. 전하 펌프(486)는 부스팅된 워드 라인 전압을 제공하도록 구성된다. 전압 조정기(483)는 전하 펌프(485)로부터 부스팅된 전압을 수신하도록 구성되고, 제어기(436)로부터의 제어에 기초하여 조절된 부스팅된 비트 라인 전압을 제공하도록 구성된다. 유사하게, 전압 조정기(484)는 전하 펌프(486)로부터 부스팅된 전압을 수신하도록 구성되고, 제어기(436)로부터의 제어에 기초하여 조절된 부스팅된 워드 라인 전압을 제공하도록 구성된다.
디코더(481) 및 디코더(482) 각각은 제어기(436)로부터 어드레스 버스 정보를 수신할 수 있고 상기 커맨드와 관련된 원하는 메모리 셀(들)(예를 들어, 메모리 위치(들))을 액세스하거나 선택하는 것을 가능하게 하기 위해, 그리고 제어기(436)에 의해 제어되는 타이밍에 따라 상기 비트 라인들(디코더(481)) 및 상기 워드 라인들(디코더(482))에 필요한 전압들을 제공하기 위해 그러한 정보를 이용할 수 있다.
디코더(481)는 또한 몇몇의 실시예들에서 섹터 디코더(sector decoder)를 포함할 수 있다. 그와 같이, 디코더(409)는 메모리 디바이스(400)내의 특정한 컬럼 또는 컬럼들의 그룹을 액세스하거나 선택하는 것을 가능하게 하도록 구성될 수 있다. 예를 들어, 컬럼들의 그룹은 섹터를 정의할 수 있고, 그리고 컬럼들의 또다른 그룹은 또다른 섹터를 정의할 수 있다. 또다른 실시예에서, 부분(401)은 특정한 메모리 어레이(404)에 대한 어레이 디코더를 포함할 수 있다. 추가적으로, 어레이 디코더들의 실시예들은 섹터 디코더와 개별적으로 또는 섹터 디코더와 함께 동작하도록 구성될 수 있다.
메모리 제어기(436)는 또한 메모리 어레이(402)에 대한 판독, 기록, 및/또는 소거를 위해 WL0에서 WLM까지의 개별적인 워드 라인들의 활성화(activation) 및 비-활성화(de-activation)를 제어하도록 구성될 수 있다. 예를 들어, 메모리 제어기(410)는 디코더(482)에 선택 신호(select signal)를 제공할 수 있는데 이는 WL1부터 WLM까지의 컬럼들 중 1개를, 그 컬럼을 활성화하기 위해서 선택하기 위한 것이다. 더욱이, 메모리 제어기(436)는 기록되거나 판독될 BL0부터 BLN까지의 특정한 로우들(또는 섹터)을 선택하기 위해 디코더(481)에 선택 신호를 제공할 수 있다. 판독 동작은 저장된 비트의 값을 판독하기 위해 사용되지만 상기 비트를 변경하지는 않는다. 프로그래밍 동작은 비트를 비-프로그래밍된 값에서 프로그래밍된 값으로 변경하는 비트-변경 동작(bit-altering operation)이다. 소거 동작은 비트를 프로그래밍된 값에서 비-프로그래밍된 값으로 변경하는 비트-변경 동작이다.
한 실시예에서, 특정한 메모리 셀(403)에 대한 프로그래밍 동작들은 다음과 같이 수행된다. 제어기(436)는 전압 조정기(481)에 의해 제공되는 부스팅된 전압이 상기 메모리 셀에 대한 적절한 비트 라인에 결합되게 하도록, 그리고 전압 조정기(484)에 의해 제공되는 부스팅된 전압이 상기 메모리 셀에 대한 적절한 워드 라인에 결합되게 하도록 구성된다. 이 전압들은 특정한 시간 기간에 대해 메모리 셀(403)에 제공된다. 몇몇의 실시예들에서, 펄스 지속시간(pulse duration)은 100에서 200ns의 범위이다. 상기 펄스가 완료된 이후의 시간에, 프로그래밍-검증(program-verify)은 상기 셀의 문턱 전압이 프로그래밍된 비트가 되기 위한 적절한 전압에 도달했는지 아닌지를 결정하기 위해 수행된다. 만약 그렇다면, 비트의 프로그래밍이 완료된다. 만약 그렇지 않다면, 프로그래밍-검증이 성공적이거나, 동작시간이 끝날 때까지, 유사한 반복되는 펄스들이 수행된다.
몇몇의 실시예들에서, 메모리 셀 각각의 좌측과 우측 모두에 비트가 저장된다. 이 실시예들 중 몇몇에서, 프로그래밍 동작들 동안, 프로그래밍 패스 각각에 대해, 메모리 셀의 좌측에 대한 프로그래밍 패스가 먼저 발생하고, 그리고 우측이 후속적으로 발생한다. 메모리 제어기(403)가 좌측 비트들의 프로그래밍의 성능을 제어할 때, 프로그래밍 되고 있는 좌측 비트들 각각에 대해, 부스팅된 워드 라인 전압이 상기 메모리 셀의 제어 게이트에 인가되고, 상기 부스팅된 비트 라인 전압은 메모리 셀의 좌측에 인가되고, 메모리 셀의 우측은 접지된다. 몇몇의 실시예들에서, 부스팅된 워드 라인 전압은 부스팅된 비트 라인 전압 이전에 인가된다. 하지만, 워드 라인 전압의 인가는, 그 자체로는, 셀의 프로그래밍에 대해 적은(little) 영향을 끼친다. 워드 라인 전압이 메모리 셀에 인가된 후에, 비트 라인 전압이 인가된다. 몇몇의 실시예들에서, 부스팅된 워드 라인 전압들은 약 8 또는 9 볼트이고, 그리고 부스팅된 비트 라인 전압은 약 5 볼트이다. 부스팅된 워드 라인 전압과 부스팅된 비트 라인 전압 둘 다가 메모리 셀에 인가된 때는, 프로그래밍 펄스의 시작이 된다.
이러한 실시예들에서, 프로그래밍 될 좌측 비트들이 프로그래밍 펄스들을 수신한 후에, 프로그래밍 될 우측 비트들이 실질적으로 동일한 방식으로 프로그래밍 펄스들을 수신하고, 이는 프로그래밍 될 우측 비트들 각각에 대해, 셀의 우측은 부스팅된 비트 라인 전압을 수신하고, 셀의 좌측이 접지된다는 차이를 갖는다.
이러한 실시예들에서, 메모리 측면들의 양 측면들 모두에 프로그래밍 펄스들이 인가된 후에, 만약 프로그래밍 될 셀들의 일부만이 아직 성공적으로 프로그래밍 된 경우, 프로그래밍-검증이 성공적이거나, 동작시간이 끝날 때까지, 유사한 반복되는 펄스들이 수행된다(다시, 좌측 및 우측 패스들을 교대로).
메모리 디바이스(400)의 실시예들은 메모리 디바이스(400)의 수명 동안에 타이트한(tight) VT 분포들을 유지함에 의해 메모리 디바이스(400)의 수명 동안에 양호한 판독 마진(good read margin)을 유지한다. 메모리 디바이스(400) 각각은 VCC 윈도우, 온도 윈도우, 및 디바이스의 수명 윈도우를 갖고, 메모리 디바이스(400)는 상기 윈도우들 상에서 동작 가능해야 한다. 만약 판독 마진이 이 인자들(factors)로 인해 너무 작아지면, 비트는 부정확하게 판독될 수 있다.
메모리 디바이스(400)의 몇몇의 실시예들에서, 상기 부분의 수명에 따른 메모리 디바이스(400)의 프로그래밍 성능은 "욕조 곡선(bathtub curve)"이다. 수명 초기(Beginning of life, BOL)에, 특정한 프로그래밍 성능이 있고, 그리고 디바이스가 노후됨에 따라, 메모리 셀들은 프로그래밍하기에 상당히 더 쉬워진다. 이후에 프로그래밍 성능은, 프로그래밍 될 수 있는 속도가 다시 느려지기 시작하는 수명 종기(End of life, EOL) 근처까지, 상대적으로 긴 시간 기간에 대해 상당히 일정하게 유지된다. 만약 메모리 디바이스(400)가 BOL에서의 프로그래밍 성능으로 조율되어 있고 그 프로그래밍 성능에 대해 수용 가능한(acceptable) 판독 마진이 달성된다면, 메모리 디바이스(400) 사이클이 진행하고 노후될수록, 적응적 조절들(adaptive adjustments) 없이, 판독 마진은 저하될 것이다. 메모리 디바이스(400)의 몇몇 실시예들은 상기 부분의 수명에 따라, 판독 마진이 유지될 수 있도록 메모리 디바이스(400)의 프로그래밍 성능을 추적하는 적응적 조절들을 적용한다.
메모리 디바이스(400)의 몇몇의 실시예들에서, 소거 동작들은 섹터-바이-섹터(sector-by-sector) 기반으로 수행된다. 소거 동작의 시작에서, 벌크 프로그래밍 동작(bulk programming operation)이 상기 섹터 상에서 수행되고, 이는 벌크 프로그래밍 동작이 완료된 후에 섹터 내의 비트 각각이 프로그래밍된 상태에 있는 것을 보장하도록 섹터 내의 비-프로그래밍된 비트 각각을 프로그래밍한다. 소거 동작의 일부로서 발생하는 이 벌크 프로그래밍 단계(bulk programming phase)는 "사전-프로그래밍"이라고 언급될 수 있다. 사전-프로그래밍 이후에, 제어기(436)는 섹터 내의 소거 중인 비트들 각각으로 하여금 프로그래밍된 상태에서 비-프로그래밍된 상태로 변경하도록 하기 위해 소거 동작의 성능을 제어한다.
사전-프로그래밍 동안, 몇몇의 비트들은 비-프로그래밍된 상태에서 프로그래밍된 상태로 변경되고, 그리고 위에 논의되었듯이 펄스들은 프로그래밍 검증이 통과될 때까지 인가된다. 그 섹터에 인가되는 펄스들의 개수는 저장된다.
그 섹터에 대한 펄스들의 저장된 개수는 그 섹터에 대한 나중의 프로그래밍 동작들에 사용된다. 이 저장된 개수는, 만약 필요하다면, 프로그래밍 전압을 조절하기 위한 후속의 프로그래밍 동작들을 조절하기 위해서 사용된다. "프로그래밍 전압"은, 몇몇의 실시예들에서 비트 라인 전압일 수 있지만, 일반적으로 메모리 셀에 인가되는 부스팅된 워드 라인 전압이다. 프로그래밍 전압을 변경시키는 것은 프로그래밍 속도를 변경시킨다.
메모리 디바이스(400) 각각에 대해, 인가될 프로그래밍 펄스들의 최적의 개수(optimal number)가 존재한다. 만약, 단지 1개 또는 2개의 프로그래밍 펄스들과 같이, 상대적으로 적은 개수의 프로그래밍 펄스들 이후에 비트가 프로그래밍 된다면, 판독 마진은 감소할 것이다. 사전-프로그래밍 단계 동안 요구되는 펄스들의 저장된 개수는 후속의 프로그래밍 동작들에 사용되는 프로그래밍 전압을 조절하기 위해 사용된다. 만약 프로그래밍 검증이 통과될 때까지 최적의 개수의 펄스들보다 적은 펄스들이 필요한 경우, 프로그래밍이 너무 빠르게 발생되고, 따라서 프로그래밍 전압이 감소된다. 만약 프로그래밍 검증이 통과될 때까지 최적의 개수의 펄스들보다 많은 펄스들이 필요한 경우, 프로그래밍이 너무 느리게 발생되고, 따라서 프로그래밍 전압이 증가된다. 만약 정확히 최적의 개수의 펄스들이 사용되면, 프로그래밍 전압은 변경되지 않은 채로 남아 있다. 예를 들어, BOL에서 프로그래밍 전압은 9.5V일 것이고, 디바이스의 수명에 따라 약 8.5V로 점진적으로(gradually) 감소될 것이고, 메모리 디바이스(400)의 EOL 근방에서 다시 상승될 것이다. 각각의 경우에 있어서, 상기 변경들은 최종의 소거 동작의 사전-프로그래밍 단계 동안의 프로그래밍 검증에 대해 요구되는 펄스들의 저장된 개수에 기초한다. 몇몇의 실시예들에서, 제1 소거 동작 이전에 사용되는 초기값은 공장에서 조율된다(factory-tuned).
몇몇의 실시예들에서, EOL 근방의 시간에서 프로그래밍 전압이 BOL에서의 시작값 근방으로 돌아갈 경우, 이는 사용자에게 EOL이 근방이고 상기 디바이스는 곧 교체되어야 한다는 경고 또는 표시 신호를 보내기 위해 사용될 수 있다.
몇몇의 실시예들에서, 메모리 디바이스(400)는 모놀리식(monolithic)이고, 그리고 도 4에 도시된 모든 디바이스들은 동일한 칩 상에 함께 위치된다. 다른 실시예들에서, 도 4에 도시된 몇몇의 컴포넌트들은 서로 다른 칩에 위치될 수 있거나, 디바이스들의 부분들은 서로 다른 칩에 위치될 수 있다. 몇몇의 디바이스들은 서로 다른 칩들에 위치될 수 있으나 동일한 회로 보드에 함께 위치될 수 있다(co-located).
메모리 디바이스(400)의 몇몇의 실시예들에서, 소거 동작들은 섹터-바이-섹터 기반으로 수행될 수 있고, 반면에 프로그래밍 및 사전-프로그래밍 동작들은 비트마다의 동작들(bitwise operations)로 수행될 수 있다. 위에 기술되었듯이, "사전-프로그래밍 동안, 몇몇의 비트들은 비-프로그래밍된 상태로부터 프로그래밍된 상태로 변경되고, 그리고 위에 논의되었듯이 펄스들은 프로그래밍 검증이 통과될 때까지 인가된다. 그 섹터에 인가된 펄스들의 개수는 저장된다. 그 섹터에 대한 펄스들의 저장된 개수는 그 섹터에 대한 나중의 프로그래밍 동작들에서 사용된다." 사전-프로그래밍이 비트마다의 동작이기 때문에, 그 섹터에 대한 펄스들의 저장된 개수는 서로 다른 실시예들에서 서로 다를 수 있다. 몇몇의 실시예들에서, 가장 빠른 그리고 가장 느린 비트들이 추적된다. 몇몇의 실시예들에서, 상기 조절은 욕조 곡선과 매칭되는 바, 따라서, 욕조 곡선의 내리막에서, 만약 가장 빠른 비트들이 너무 빠르다면, 프로그래밍 전압이 다음번 프로그래밍에 대해 감소된다. 욕조 곡선의 오르막에서, 만약 가장 느린 비트들이 너무 느리다면, 프로그래밍 전압은 상승 조절된다. 완전한 섹터의 최소 및 최대 펄스 카운트들만을 추적하는 것은 이 조절들을 가능하게 한다. 따라서, 몇몇의 실시예들에서, "그 섹터에 인가되는 펄스들의 개수는 저장된다"는 최소 및 최대 펄스 카운트(상기 섹터의 모든 비트들에 대해)가 저장된다는 의미이다. 이는 다른 실시예들에서 다른 방식들로 행해질 수 있다.
현대의 반도체 디바이스들은 전형적으로 반도체 재료의 기판 표면상에 제작되는(manufactured) 집적 회로들(integrated circuits)로서 생성된다. 프로세싱은 웨이퍼(wafer)를 성장함(growing)에 의해 시작되고, 이는 전형적으로 초크랄스키 프로세스(Czochralski process)를 이용해서 행해진다. 다양한 디바이스들은 퇴적(deposition), 제거 프로세스들(에칭(etching)과 같은), 패터닝(patterning), 및 도핑(doping)을 포함하는 일련의 단계들을 이용해 웨이퍼 상에서 형성된다. 몇몇의 단계들 또는 많은 수백의 그러한 단계들이 다양한 설계들에서 사용될 수 있다. 상기 패터닝 단계는 포토리쏘그라피(photolithography) 또는 다른 리쏘그라피 방법들(lithographic methods)에 의해 수행될 수 있다. 예를 들어, 웨이퍼는 포토레지스트(photoresist)로 코팅될 수 있고, 이는 포토마스킹(photomasking)을 통해 빛을 감광(expose)하는 디바이스를 이용하여 노출될 수 있고, 포토마스크(photomask)에 블럭되지 않은 웨이퍼의 부분들을 빛에 노출시킨다. 빛에 노출되지 않았던 영역들에만 포토레지스트가 남아 있도록 노출된 영역들은 제거된다. 이는 포토마스크 상의 패턴에 따라 층이 에칭되도록 할 수 있다. 디바이스들이 웨이퍼상에 형성된 후에, 디바이스들을 적절히 상호 접속하는 것과 배선들에의 부착을 위해 금속 라인들을 칩 엣지(chip edge)에 가져오는 것을 포함하여, 다양한 백-엔드 프로세싱(back-end processing) 및 패키징(packaging)이 수행된다.
설계자는 제조자(fabricator)에 의해 제공되는 설계 규칙들(design rules)의 집합에 부합하게 디바이스 설계를 생성하고, 상기 설계에 기초하여 일련의 설계 파일들을 생성한다. 다양한 설계 도구들이 설계를 생성하는 것, 설계를 시뮬레이션하는 것, 그리고 레이아웃 규칙들의 위반들(layout rules violations)에 대해 설계를 검사하는 것에 있어 설계자에 의해 사용될 수 있다. 완료되었을 때, 설계 파일들은 제조자에게 제공되고, 이는 디바이스를 제조하는 것에 사용되기 위한 포토마스크들을 생성하는 데 사용된다. 설계 파일들은 네트워크를 통하는 것을 포함해서, 서로 다른 방식들로 통신될 수 있다.
도 4의 메모리 디바이스(400)의 실시예들은 예를 들어, 프로세서 및 다른 컴포넌트들 또는 그러한 컴포넌트들의 시스템들을 포함하여, 다양한 컴포넌트들 및/또는 시스템들 중 어떤 것으로 통합될 수 있다. 도 5는 시스템(590)의 일 실시예를 도시하고, 이는 메모리(520)를 포함하고, 이는 도 4의 메모리 디바이스(400)의 일 실시예이다. 메모리(520)는 프로세서(592), 입력 디바이스들(593), 및/또는 출력 디바이스들(594) 중 어떤 것과도 직접적으로 또는 간접적으로 접속될 수 있다. 일 실시예에서, 메모리(520)는 시스템(590)으로부터 제거될 수 있도록 구성될 수 있다. 또 다른 실시예에서, 메모리(520)는 시스템(590)의 컴포넌트들 또는 컴포넌트들의 부분에 영구적으로(permanently) 접속될 수 있다.
많은 실시예들에서, 시스템(590)의 메모리(520), 프로세서(592), 입력 디바이스들(593), 및/또는 출력 디바이스들(594)은 더 큰 시스템의 부분으로서 기능하도록 조합되어 구성될 수 있다. 예를 들어, 시스템(590)은 핸드폰, 핸드헬드 디바이스(handheld device), 랩탑 컴퓨터, 퍼스널 컴퓨터, 및/또는 서버 디바이스에 포함될 수 있다. 추가적으로 또는 대안적으로, 시스템(590)은 센싱, 이미징, 컴퓨팅, 또는 다른 기능들과 같은, 다양한 프로세싱, 제어기, 및/또는 데이터 저장 기능들 중 어떤 것을 수행할 수 있다. 따라서, 시스템(590)은 그러한 기능들을 이용할 수 있는 넓은 다양한 디바이스들 중 어떤 것으로 통합될 수 있다(예를 들어, 디지털 카메라, MP3 플레이어, GPS 유닛, 그리고 등등).
위의 명세서, 예시들, 그리고 데이터는 본 발명의 구성 요소(composition)의 제작물 및 사용의 기술(description)을 제공한다. 본 발명의 많은 실시예들이 본 발명의 정신 및 범위에서 벗어남이 없이 만들어질 수 있기 때문에, 본 발명은 또한 이하에 첨부되는 청구항들에 속한다.
Claims (12)
- 메모리 디바이스로서,
섹터(sector)를 포함하는 메모리 셀 영역(memory cell region); 및
메모리 제어기(memory controller)
를 포함하고,
상기 메모리 제어기는:
소거 동작(erase operation) 동안에, 상기 섹터의 제1 메모리 셀의 상태가 제1 상태로 변화하도록 상기 제1 메모리 셀에 하나 이상의 제1 프로그래밍 펄스들을 인가하고, 그리고, 후속적으로, 상기 섹터 내의 모든 메모리 셀들이 상기 제1 상태에서 제2 상태로 전이하도록 상기 섹터 내의 모든 메모리 셀들을 제어하고; 그리고
프로그래밍 동작(program operation) 동안에, 상기 섹터의 제2 메모리 셀을 상기 제1 상태로 전이시키기 위해 상기 제2 메모리 셀에 제2 프로그래밍 펄스를 인가하도록 구성되고,
상기 메모리 제어기는, 상기 하나 이상의 제1 프로그래밍 펄스들의 개수에 기초하여 상기 제2 프로그래밍 펄스의 전압을 결정하고, 시간에 따른 상기 제2 프로그래밍 펄스의 전압의 변화들을 모니터(monitor)하고, 상기 제2 프로그래밍 펄스의 전압이 초기값으로부터 감소된 후에 상기 제2 프로그래밍 펄스의 전압이 상기 초기값 근처의 값으로 되돌아올 때에 수명이 끝나감을 경고하는 표시(end-of-life warning indication)를 제공하도록 구성되는,
메모리 디바이스. - 제1항에 있어서,
상기 메모리 제어기는, 상기 하나 이상의 제1 프로그래밍 펄스들의 개수가 프로그래밍 펄스들의 미리-결정된 타겟(target) 개수보다 적은 경우, 상기 제2 프로그래밍 펄스의 전압을 감소시키도록 구성되는,
메모리 디바이스. - 제1항에 있어서,
상기 메모리 제어기는, 상기 하나 이상의 제1 프로그래밍 펄스들의 개수가 프로그래밍 펄스들의 미리-결정된 타겟 개수보다 많은 경우, 상기 제2 프로그래밍 펄스의 전압을 증가시키도록 구성되는,
메모리 디바이스. - 제1항에 있어서,
상기 메모리 제어기는:
상기 하나 이상의 제1 프로그래밍 펄스들의 개수가 프로그래밍 펄스들의 미리-결정된 타겟 개수보다 적은 경우, 상기 제2 프로그래밍 펄스의 전압을 감소시키고, 그리고
상기 하나 이상의 제1 프로그래밍 펄스들의 개수가 프로그래밍 펄스들의 미리-결정된 타겟 개수보다 많은 경우, 상기 제2 프로그래밍 펄스의 전압을 증가시키도록 구성되는,
메모리 디바이스. - 제1항에 있어서,
상기 제2 프로그래밍 펄스의 전압은 워드 라인 전압(word line voltage) 또는 비트 라인 전압(bit line voltage) 중 하나인,
메모리 디바이스. - 제1항에 있어서,
상기 메모리 셀 영역 내의 각각의 메모리 셀은 플래시 메모리 셀인,
메모리 디바이스. - 삭제
- 제1항에 있어서,
상기 섹터 내의 각각의 메모리 셀은 적어도 하나의 비트를 저장하도록 구성되는,
메모리 디바이스. - 제1항에 있어서,
상기 메모리 제어기는, 상기 섹터의 메모리 셀 각각에 하나 이상의 제1 펄스들 각각을 인가하고, 각각의 메모리 셀을 상기 제1 상태로 전이시키는데 필요한 상기 하나 이상의 제1 펄스들의 최소 개수를 저장하도록 구성되고,
상기 메모리 제어기는 상기 하나 이상의 제1 펄스들의 최소 개수에 기초하여 상기 제2 프로그래밍 펄스의 전압을 결정하도록 구성되는,
메모리 디바이스. - 제1항에 있어서,
상기 메모리 제어기는, 상기 섹터의 메모리 셀 각각에 하나 이상의 제1 펄스들 각각을 인가하고, 각각의 메모리 셀을 상기 제1 상태로 전이시키는데 필요한 상기 하나 이상의 제1 펄스들의 최대 개수를 저장하도록 구성되고,
상기 메모리 제어기는 상기 하나 이상의 제1 펄스들의 최대 개수에 기초하여 상기 제2 프로그래밍 펄스의 전압을 결정하도록 구성되는,
메모리 디바이스. - 방법으로서,
메모리 디바이스의 메모리 셀 영역의 섹터를 소거하는 단계 ― 상기 소거하는 단계는: 상기 섹터 내의 제1 메모리 셀에, 상기 제1 메모리 셀의 상태가 제1 상태로 변화할 때까지 하나 이상의 제1 프로그래밍 펄스들을 인가하는 단계; 상기 하나 이상의 제1 프로그래밍 펄스들의 개수를 저장하는 단계; 및 상기 섹터 내의 모든 메모리 셀들이 상기 제1 상태로부터 제2 상태로 전이하도록 제어하는 단계를 포함함 ―;
상기 하나 이상의 제1 프로그래밍 펄스들의 개수에 기초하여 제2 프로그래밍 펄스의 전압을 결정하는 단계;
상기 섹터의 제2 메모리 셀이 상기 제2 상태로부터 상기 제1 상태로 전이하도록 상기 섹터의 상기 제2 메모리 셀에 상기 제2 프로그래밍 펄스를 인가하는 단계;
시간에 따른 상기 제2 프로그래밍 펄스의 전압의 변화들을 모니터하는 단계; 및
상기 제2 프로그래밍 펄스의 전압이 초기값으로부터 감소된 후에 상기 제2 프로그래밍 펄스의 전압이 상기 초기값 근처의 값으로 되돌아올 때에 수명이 끝나감을 경고하는 표시를 제공하는 단계
를 포함하는,
방법. - 내부에 프로세서에 의해 실행 가능한 코드(processor-executable code)가 인코딩되어 있는 프로세서에 의해 판독 가능한 매체(processor-readable medium)로서,
상기 프로세서에 의해 실행 가능한 코드는, 하나 이상의 프로세서들에 의해 실행될 때, 동작들(actions)을 가능하게 하고, 상기 동작들은:
메모리 디바이스의 메모리 셀 영역의 섹터를 소거하는 동작 ― 상기 소거하는 동작은: 상기 섹터 내의 제1 메모리 셀에, 상기 제1 메모리 셀의 상태가 제1 상태로 변화할 때까지 프로그래밍 전압에서 하나 이상의 제1 프로그래밍 펄스들을 인가하는 동작; 상기 하나 이상의 제1 프로그래밍 펄스들의 개수를 저장하는 동작; 및 상기 섹터의 모든 메모리 셀들이 상기 제1 상태로부터 제2 상태로 전이하도록 제어하는 동작을 포함함 ―;
상기 하나 이상의 제1 프로그래밍 펄스들의 개수에 기초하여 제2 프로그래밍 펄스의 전압을 결정하는 동작;
상기 섹터의 제2 메모리 셀이 상기 제2 상태로부터 상기 제1 상태로 전이하도록 상기 섹터의 상기 제2 메모리 셀에 상기 제2 프로그래밍 펄스를 인가하는 동작;
시간에 따른 상기 제2 프로그래밍 펄스의 전압의 변화들을 모니터하는 동작; 및
상기 제2 프로그래밍 펄스의 전압이 초기값으로부터 감소된 후에 상기 제2 프로그래밍 펄스의 전압이 상기 초기값 근처의 값으로 되돌아올 때에 수명이 끝나감을 경고하는 표시를 제공하는 동작
을 포함하는,
프로세서에 의해 판독 가능한 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/486,972 | 2012-06-01 | ||
US13/486,972 US8842477B2 (en) | 2012-06-01 | 2012-06-01 | Method, apparatus, and manufacture for flash memory adaptive algorithm |
PCT/US2013/042673 WO2013181101A2 (en) | 2012-06-01 | 2013-05-24 | Method, apparatus, and manufacture for flash memory adaptive algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150011018A KR20150011018A (ko) | 2015-01-29 |
KR101634264B1 true KR101634264B1 (ko) | 2016-06-28 |
Family
ID=49670089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147037178A KR101634264B1 (ko) | 2012-06-01 | 2013-05-24 | 플래시 메모리의 적응적 알고리즘을 위한 방법, 장치, 및 제작물 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8842477B2 (ko) |
JP (1) | JP5938144B2 (ko) |
KR (1) | KR101634264B1 (ko) |
CN (1) | CN104520933B (ko) |
WO (1) | WO2013181101A2 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9588702B2 (en) | 2014-12-30 | 2017-03-07 | International Business Machines Corporation | Adapting erase cycle parameters to promote endurance of a memory |
US9496043B1 (en) | 2015-06-24 | 2016-11-15 | International Business Machines Corporation | Dynamically optimizing flash data retention or endurance based on data write frequency |
KR102295528B1 (ko) | 2015-08-25 | 2021-08-30 | 삼성전자 주식회사 | 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법 |
KR102389077B1 (ko) * | 2015-11-05 | 2022-04-22 | 에스케이하이닉스 주식회사 | 3 차원 비휘발성 메모리 소자의 초기화 방법 및 이의 프로그래밍 방법 |
KR20190007252A (ko) * | 2017-07-12 | 2019-01-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN111727477A (zh) * | 2020-05-06 | 2020-09-29 | 长江存储科技有限责任公司 | 3d nand闪存的控制方法和控制器 |
US11763910B2 (en) * | 2021-10-20 | 2023-09-19 | Micron Technology, Inc. | Multi-command memory accesses |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008027511A (ja) | 2006-07-20 | 2008-02-07 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
JP2009283117A (ja) | 2008-05-23 | 2009-12-03 | Hynix Semiconductor Inc | 不揮発性メモリ装置のプログラム方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4039812B2 (ja) * | 2001-01-15 | 2008-01-30 | 松下電器産業株式会社 | 不揮発性記憶装置 |
US7324374B2 (en) | 2003-06-20 | 2008-01-29 | Spansion Llc | Memory with a core-based virtual ground and dynamic reference sensing scheme |
US7339834B2 (en) * | 2005-06-03 | 2008-03-04 | Sandisk Corporation | Starting program voltage shift with cycling of non-volatile memory |
KR101012129B1 (ko) * | 2005-08-01 | 2011-02-07 | 샌디스크 코포레이션 | 자기 조정 최대 프로그램 루프에 의한 비휘발성 메모리의프로그래밍 |
ITRM20070167A1 (it) | 2007-03-27 | 2008-09-29 | Micron Technology Inc | Non-volatile multilevel memory cell programming |
US7679961B2 (en) * | 2007-04-25 | 2010-03-16 | Micron Technology, Inc. | Programming and/or erasing a memory device in response to its program and/or erase history |
US7489543B1 (en) | 2007-07-25 | 2009-02-10 | Micron Technology, Inc. | Programming multilevel cell memory arrays |
US7663926B2 (en) | 2007-07-27 | 2010-02-16 | Micron Technology, Inc. | Cell deterioration warning apparatus and method |
US7916543B2 (en) * | 2007-10-22 | 2011-03-29 | Micron Technology, Inc. | Memory cell operation |
KR100960479B1 (ko) * | 2007-12-24 | 2010-06-01 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작 방법 |
US8064252B2 (en) | 2008-11-21 | 2011-11-22 | Micron Technology, Inc. | Multi-pass programming in a memory device |
US7920427B2 (en) * | 2009-02-13 | 2011-04-05 | Micron Technology, Inc. | Dynamic soft program trims |
US8036035B2 (en) * | 2009-03-25 | 2011-10-11 | Micron Technology, Inc. | Erase cycle counter usage in a memory device |
US8139419B2 (en) | 2009-12-08 | 2012-03-20 | Micron Technology, Inc. | Programming methods and memories |
KR101222063B1 (ko) * | 2011-02-28 | 2013-01-15 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치 및 그 동작방법 |
JP2013143155A (ja) * | 2012-01-06 | 2013-07-22 | Powerchip Technology Corp | 不揮発性半導体記憶装置とその書き込み方法 |
-
2012
- 2012-06-01 US US13/486,972 patent/US8842477B2/en active Active
-
2013
- 2013-05-24 JP JP2015515096A patent/JP5938144B2/ja active Active
- 2013-05-24 KR KR1020147037178A patent/KR101634264B1/ko active IP Right Grant
- 2013-05-24 CN CN201380041113.XA patent/CN104520933B/zh active Active
- 2013-05-24 WO PCT/US2013/042673 patent/WO2013181101A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008027511A (ja) | 2006-07-20 | 2008-02-07 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
US20080205137A1 (en) | 2006-07-20 | 2008-08-28 | Kosuke Yanagidaira | Semiconductor memory device and control method of the same |
JP2009283117A (ja) | 2008-05-23 | 2009-12-03 | Hynix Semiconductor Inc | 不揮発性メモリ装置のプログラム方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104520933A (zh) | 2015-04-15 |
JP5938144B2 (ja) | 2016-06-22 |
KR20150011018A (ko) | 2015-01-29 |
US20130322181A1 (en) | 2013-12-05 |
CN104520933B (zh) | 2018-06-01 |
JP2015518231A (ja) | 2015-06-25 |
WO2013181101A3 (en) | 2014-01-23 |
WO2013181101A2 (en) | 2013-12-05 |
US8842477B2 (en) | 2014-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8542537B2 (en) | Method and apparatus for temperature compensation for programming and erase distributions in a flash memory | |
EP3455857B1 (en) | Block health monitoring using threshold voltage of dummy memory cells | |
KR101634264B1 (ko) | 플래시 메모리의 적응적 알고리즘을 위한 방법, 장치, 및 제작물 | |
US8942047B2 (en) | Bit line current trip point modulation for reading nonvolatile storage elements | |
JP5361213B2 (ja) | 不揮発性メモリ装置及びその駆動方法 | |
US9224493B2 (en) | Nonvolatile memory device and read method thereof | |
JP2010009733A (ja) | 不揮発性半導体記憶装置 | |
JP3866650B2 (ja) | 不揮発性半導体記憶装置及びその消去ベリファイ方法 | |
US11257554B2 (en) | Semiconductor memory device and method with selection transistor programming and verification mechanism | |
US10360985B2 (en) | Method and apparatus for staggered start-up of a predefined, random, or dynamic number of flash memory devices | |
KR20080019713A (ko) | 플래시 메모리에 최적화된 전압 레벨을 갖는 프로그램 방법 | |
KR20170073800A (ko) | 불휘발성 메모리 장치 및 그것의 프로그램 방법 | |
US9431503B2 (en) | Integrating transistors with different poly-silicon heights on the same die | |
KR100776901B1 (ko) | Nand형 플래쉬 메모리 소자의 리커버리 방법 | |
CN106251899B (zh) | 非易失性存储器装置 | |
TWI749629B (zh) | 半導體記憶裝置 | |
US8498162B2 (en) | Method, apparatus, and manufacture for flash memory write algorithm for fast bits | |
US8638633B2 (en) | Apparatus and method for external charge pump on flash memory module | |
JP2013041642A (ja) | 半導体装置 | |
KR20070113378A (ko) | 바이트 오퍼레이션 불 휘발성 메모리 장치 | |
JP2009238328A (ja) | 不揮発性半導体記憶装置及び不揮発性半導体記憶システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190604 Year of fee payment: 4 |