KR20140024956A - 프로그래밍 방법들 및 메모리들 - Google Patents

프로그래밍 방법들 및 메모리들 Download PDF

Info

Publication number
KR20140024956A
KR20140024956A KR1020147001526A KR20147001526A KR20140024956A KR 20140024956 A KR20140024956 A KR 20140024956A KR 1020147001526 A KR1020147001526 A KR 1020147001526A KR 20147001526 A KR20147001526 A KR 20147001526A KR 20140024956 A KR20140024956 A KR 20140024956A
Authority
KR
South Korea
Prior art keywords
threshold voltage
pretarget
cell
selected cell
programming
Prior art date
Application number
KR1020147001526A
Other languages
English (en)
Other versions
KR101594720B1 (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 KR20140024956A publication Critical patent/KR20140024956A/ko
Application granted granted Critical
Publication of KR101594720B1 publication Critical patent/KR101594720B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

메모리를 프로그램하는 방법들 및 메모리들이 개시된다. 적어도 일 실시예에서, 메모리는 선택된 셀에 대한 사전타겟 임계 전압을 결정함으로써 프로그램되며, 여기에서 상기 사전타겟 임계 전압은 상기 선택된 셀의 적어도 하나의 이웃 셀에 대한 사전타겟 임계 전압 값들을 사용하여 결정된다.

Description

프로그래밍 방법들 및 메모리들{PROGRAMMING METHODS AND MEMORIES}
본 개시 내용은 일반적으로 메모리들에 관한 것으로, 특히, 하나 이상의 실시예들에서, 본 개시 내용은 플래시 메모리들을 프로그래밍하는 것에 관한 것이다.
메모리 디바이스들은 통상적으로 컴퓨터들 또는 다른 전자 디바이스들에서의 내부의, 반도체, 집적 회로들 및/또는 외부 착탈 가능한 디바이스들로서 제공된다. 랜덤-액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 및 플래시 메모리를 포함한 많은 상이한 유형들의 메모리가 있다.
플래시 메모리 디바이스들은 광범위한 전자 애플리케이션들을 위한 비-휘발성 메모리의 인기있는 소스로 개발되어왔다. 플래시 메모리 디바이스들은 통상적으로 높은 메모리 밀도들, 높은 신뢰성, 및 낮은 전력 소비를 허용하는 1-트랜지스터 메모리 셀을 사용한다. 전하 저장 구조들(예로서, 플로팅 게이트들 또는 전하 트랩들) 또는 다른 물리적 현상들(예로서, 상 변화 또는 분극)의 프로그래밍을 통해, 메모리 셀들의 임계 전압에서의 변화들은 각각의 셀의 데이터 값을 결정한다. 상기 셀들은 보통 블록들로 그룹화된다. 블록 내에서의 상기 셀들의 각각은 전하 저장 구조를 충전함으로써와 같이, 전기적으로 프로그램될 수 있다. 이러한 유형의 셀에서의 데이터는 전하 저장 구조에서 전하의 존재 또는 부재에 의해 결정된다. 상기 전하는 소거 동작에 의해 전하 저장 구조로부터 제거될 수 있다. 플래시 메모리를 위한 공통 사용들은 개인용 컴퓨터들, 개인용 디지털 보조기들(PDA들), 디지털 카메라들, 디지털 미디어 플레이들, 디지털 레코더들, 게임들, 기기들, 차량들, 무선 디바이스들, 셀룰러 전화기들, 및 착탈 가능한 메모리 모듈들을 포함할 수 있으며, 플래시 메모리에 대한 사용들은 계속해서 확대된다.
플래시 메모리는 통상적으로 NOR 플래시 및 NAND 플래시로서 알려진 두 개의 기본적인 아키텍처들 중 하나를 이용한다. 지정은 상기 디바이스들을 판독하기 위해 사용된 로직으로부터 도출된다. NOR 플래시 아키텍처에서, 메모리 셀들의 논리적 컬럼은 통상적으로 비트 라인들로서 불리우는 것들과 같은, 데이터 라인에 결합된 각각의 메모리 셀과 병렬로 결합된다. NAND 플래시 아키텍처에서, 메모리 셀들의 컬럼은 단지 비트 라인에 결합된 컬럼의 제 1 메모리 셀과 직렬로 결합된다.
전자 시스템들의 성능 및 복잡도가 증가함에 따라, 시스템에서의 부가적인 메모리를 위한 요건이 또한 증가한다. 그러나, 시스템의 비용들을 계속해서 감소시키기 위해, 부품들 카운트는 최소로 유지되어야 한다. 이것은 다중레벨 셀들(multilevel cells; MLC)과 같은 이러한 기술들을 사용함으로써 집적 회로의 메모리 밀도를 증가시킴으로써 달성될 수 있다. 예를 들면, MLC NAND 플래시 메모리는 매우 비용 효율적인 비-휘발성 메모리이다.
다중레벨 셀들은 상기 셀 상에 저장된 특정 임계 전압(Vt) 범위에 비트 패턴을 할당함으로써 종래의 플래시 셀의 아날로그 특징을 이용할 수 있다. 이러한 기술은 상기 메모리 셀의 수명 동작 동안 할당된 전압 범위들의 안정성 및 상기 셀에 할당된 전압 범위들의 양에 의존하여, 셀당 둘 이상의 비트들의 저장을 허용한다.
예를 들면, 셀은 각각의 범위에 대해 200 mV의 4개의 상이한 전압 범위들을 할당받을 수 있다. 통상적으로, 0.2V 내지 0.4V의 데드 스페이스(dead space)는 상기 범위들이 중첩하는 것을 막기 위해 각각의 범위 사이에 있다. 셀 상에 저장된 전압이 제 1 범위 내에 있다면, 상기 셀은 논리 11 상태를 저장하고 있으며 통상적으로 셀의 소거 상태로 고려된다. 전압이 제 2 범위 내에 있다면, 상기 셀은 논리 01 상태를 저장한다. 이것은 이들 전압 범위들이 메모리 셀의 수명 동작 동안 안정된 채로 있다면 상기 셀을 위해 사용되는 많은 범위들 만큼 계속된다.
둘 이상의 상태들이 각각의 MLC에 저장되므로, 각각의 상태에 대한 전압 범위들의 각각의 폭은 매우 중요할 수 있다. 상기 폭은 메모리 회로의 동작에서 많은 변수들과 관련된다. 예를 들면, 셀은 하나의 온도에서 검증될 수 있으며 상이한 온도에서 판독될 수 있다. 셀이 소거되는지 또는 정확한 Vt 범위로 프로그램되는지를 결정하는 회로는 상기 결정을 해야 한다. 상기 회로는 온도에 의해 영향을 받는 그것의 특성들 중 일부를 가진다. Vt 윈도우는 이들 유형들의 차이들 모두의 합이며, Vt의 인지된 윈도우에서의 시프트로 변환한다. 윈도우가 동작하도록 하기 위해, 4개의 상태들의 폭 더하기 각각의 상태 사이의 마진은 이용가능한 윈도우에 이르러야 한다.
메모리에서의 셀이 프로그램될 때, 셀의 프로그래밍은 상기 셀에 대한 이웃 셀들의 임계 전압에 영향을 미칠 수 있다. 구체적으로, 플로팅 게이트 대 플로팅 게이트 결합 또는 다른 전하 저장 구조 대 전하 저장 구조 결합과 같은, 프로그램 결합은 수평으로 이웃하는 셀, 수직으로 이웃하는 셀, 또는 대각선으로 이웃하는 셀의 임계 전압에 영향을 미칠 수 있다. 셀이 타겟 임계 전압으로 프로그램되며, 이웃 셀이 후속하여 프로그램될 때, 이웃 셀의 임계 전압에서의 움직임은 이미 프로그램된 셀에 대한 결합 효과를 가질 수 있다. 상기 효과는 이웃 셀의 입계 전압의 움직임의 양의, 및 이웃 셀 및 이미 프로그램된 셀 사이의 결합 비의 함수이다. 메모리 셀들에서 셀당 비트들의 수가 증가할수록, 임계 전압 분포 윈도우는 증가하고, 이들 윈도우들에서의 오류에 대한 허용 오차는 감소하며, 플로팅 게이트 대 플로팅 게이트 결합은 상당한 부분의 프로그램 교란이 될 수 있다.
본 명세서를 판독하고 이해할 때 이 기술분야의 숙련자들에게 명백하게 될, 상기 서술된 것들과 같은 이유들로, 그리고 이하에 서술되는 것들과 같은 다른 이유들로, 무엇보다도 메모리 프로그래밍에서의 플로팅 게이트 대 플로팅 게이트 결합을 감소시키기 위한 이 기술분야에서의 요구가 존재한다.
도 1은 본 개시 내용의 일 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 2는 본 개시 내용의 일 실시예에 따른 어레이의 일 부분의 다이어그램이다.
도 3a는 본 개시 내용의 또 다른 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 3b는 본 개시 내용의 또 다른 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 4는 본 개시 내용의 또 다른 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 5는 본 개시 내용의 또 다른 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 6은 본 개시 내용의 또 다른 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 7은 본 개시 내용의 일 실시예에 따른 메모리 어레이 구성을 갖는 적어도 하나의 메모리 디바이스를 가진 전기 시스템의 기능 블록 다이어그램이다.
실시예들에 대한 다음의 상세한 설명에서, 그 일부를 형성하는 첨부 도면들에 대한 참조가 이루어진다. 상기 도면들에서, 유사한 숫자들은 여러 개의 뷰들 전체에 걸쳐 실질적으로 유사한 구성요소들을 설명한다. 이들 실시예들은 이 기술분야의 숙련자들이 본 발명을 실시할 수 있도록 하기 위해 충분히 상세히 설명된다. 다른 실시예들이 이용될 수 있으며 본 발명의 범위로부터 벗어나지 않고 구조적, 논리적, 및 전기적 변화들이 이루어질 수 있다.
그러므로, 다음의 상세한 설명은 제한적인 의미로 취해지지 않으며, 본 개시 내용의 범위는 첨부된 청구항들이 자격이 있는 등가물들의 전체 범위와 함께, 이러한 청구항들에 의해서만 정의된다.
여기에서의 다양한 실시예들은 선택된 셀을 타겟 임계 전압 아래의 임계 전압으로 프로그램하기 위한 사전보상(precompensation)을 포함하며, 상기 사전보상은 선택된 셀에 대한 이웃 셀들의 프로그래밍을 위한 결합 교란을 고려한다. 보다 구체적으로, 다양한 실시예들은 사전보상된 타겟 임계 전압 및 타겟 임계 전압 사이의 갭을 감소시킬 수 있다.
플로팅 게이트 대 플로팅 게이트 결합은 선택된 셀에 대한 이웃 셀들을 프로그램할 때 추후의 프로그램 교란을 설명하기 위해 선택된 셀의 타겟 임계 전압의 감소를 사용하여 보상된다. 그러나, 결합 교란의 양은 프로그래밍 전에 알려지지 않기 때문에, 통상적인 조정들은 메모리의 전체 페이지에 대해 타겟 임계 전압 아래의 설정된 양으로 사전타겟 전압을 간단히 조정한다. 이러한 유형의 조정에서, 몇몇 셀들은 너무 낮은 사전타겟 전압들을 가져서 프로그래밍에서의 증가된 오류를 초래할 뿐만 아니라, 또한 몇몇은 너무 높게 설정된 사전타겟 임계 전압들을 가질 수 있으며, 이것은 오버프로그래밍, 즉 다음 전압 범위로의 프로그래밍을 야기할 수 있다. 이들 오류들의 각각은 당연히 문제이며, 각각은 여기에 설명된 다양한 실시예들에 의해 정정된다.
메모리를 프로그래밍하는 방법(100)은 도 1에서 플로우 차트 형태로 도시된다. 방법(100)은 블록(102)에서 선택된 셀에 대한 사전타겟 임계 전압을 결정하는 단계를 포함한다. 사전타겟 임계 전압을 결정하는 것은 일 실시예에서 선택된 셀 및 그것의 이웃 셀들의 각각 사이의 결합 비들을 사용한다. 선택된 셀의 "이웃 셀들"은 메모리에서 상기 셀에 바로 인접한 이들 셀들을 포함할 수 있다. 예를 들면, 상기 선택된 셀에 수평으로 인접한 셀들이 있을 수 있고(예로서, 동일한 워드 라인 상에 있음), 상기 선택된 셀에 수직으로 인접한 셀들이 있을 수 있으며(예로서, 동일한 비트 라인 상에 있음), 상기 선택된 셀에 대각선으로 인접한 셀들이 있을 수 있다(예로서, 상기 선택된 셀의 비트 라인 및 워드 라인과 상이한 비트 라인 및 워드 라인 상에 있음).
또 다른 실시예에서 결정 단계는 상기 선택된 셀에 대한 타겟 임계 전압과 동일한 양 마이너스 상기 선택된 셀에 대한 모든 이웃 셀들로 인한 합산된 임계 전압 시프트에 비례하는 양으로 상기 선택된 셀에 대한 사전타겟 임계 전압을 설정하는 단계를 더 포함한다. 메모리 디바이스의 어레이(200)의 부분적인 다이어그램이 도 2에 도시된다. 프로그램되는 선택된 셀(202)은 워드 라인(210) 및 비트 라인(220)을 사용하여 액세스된다. 셀(202)은 상기 어레이(200)의 프로그래밍 동안 또한 프로그램될 8개의 이웃 셀들을 가진다. 수평으로 인접한 이웃 셀들은 워드 라인(210) 상에서의 셀들(232 및 234)이다. 수직으로 인접한 이웃 셀들은 비트 라인(220) 상에서의 셀들(236 및 238)이다. 대각선으로 인접한 이웃 셀들은 인접한 비트 라인(218) 및 인접한 워드 라인들(208 및 212) 상에서의 셀들(240 및 242), 및 인접한 비트 라인(222) 및 인접한 워드 라인들(208 및 212) 상에서의 셀들(244 및 246)이다. 알려진 바와 같이, 이웃 셀들(232, 234, 236, 238, 240, 242, 244 및 246)이 프로그램될 때, 상기 프로그래밍은 플로팅 게이트 대 플로팅 게이트 결합으로 인해서와 같이, 셀(202)의 임계 전압에 영향을 미칠 것이다. 선택된 셀(202)에 대한 이웃 셀의 각각의 유형, 예를 들면, 수평 이웃 셀들, 수직 이웃 셀들, 및 대각선 이웃 셀들은 결정될 수 있는(예로서, 측정되거나 또는 미리 결정될 수 있음) 결합 비를 가질 것이다. 이러한 결합 비는 일 실시예에서 상기 선택된 셀(202)에 결합하는 이웃 셀에 대한 임계 전압에서의 움직임의 양의 퍼센티지인 것으로 결정된다. 예를 들면, 수평 이웃 셀에 대한 임계 전압에서의 움직임이 500 밀리볼트들(milliVolts)이고 상기 선택된 셀에 대한 임계 전압에서의 변화가 50 mV이면, 상기 결합 비는 10%이다. 선형 결합이 설명되는 동안, 다른 결합이 또한 여기에 설명된 방법들을 사용하여 보상될 수 있다는 것이 이해되어야 한다. 결합 양이 결정될 수 있다면, 그것은 보상받을 수 있다. 예를 들면, 비-선형 결합과 같은 다른 결합을 결정하기 위한 기술들이 알려져 있으며 여기에 추가로 논의되지는 않는다.
일 실시예에서, 선택된 셀(202)이 그것의 이웃 셀들의 후속 프로그래밍으로 인해 플로팅 게이트 대 플로팅 게이트 결합으로 인한 얼마나 많은 움직임을 가질 것인지에 대한 결정이 이루어진다. 상기 결정은 그 각각의 결합 비에 의해 곱해진 각각의 이웃 셀에 대한 임계 전압 움직임을 결정함으로써(예로서, 계산함으로써) 이루어진다. 각각의 이웃 셀에 대한 각각의 임계 전압 움직임의 합은 선택된 셀(202)에 대한 이웃 셀들의 프로그래밍을 위한 플로팅 게이트 대 플로팅 게이트로 인한 총(예로서, 합산되거나 또는 합산에 비례함) 임계 전압이다. 이러한 결정은 일 실시예에서 선택된 셀(202)에 대한 사전타겟 임계 전압 값을 사전보상하기 위해 사용된다. 즉, 선택된 셀(202)에 결합될 임계 전압 시프트의 양을 아는 것은 상기 선택된 셀(202)의 사전타겟 프로그래밍 임계 전압이 이전 메모리들에서보다 더 큰 특이성을 갖고 결정되도록 허용한다.
선택된 셀(202)의 임계 전압의 움직임을 결정할 때 또 다른 레벨의 특수성에 있어서, 선택된 셀에 대한 이웃 셀들이 어떤 임계 전압으로 프로그래밍되는지에 대한 결정은 상기 이웃 셀들 대 상기 이웃 셀들이 프로그램되는 사전타겟 임계 전압들에 기초하여 이루어지며, 또한 이웃 셀들 대 그것들의 이웃 셀들에 대한 전하 저장 구조 대 전하 저장 구조 결합을 고려한다. 구체적으로, 일 실시예에서, 선택된 셀(202)이 겪게 될 결합의 양의 결정은 그것의 이웃 셀들이 각각에 대한 사전타겟 임계 전압을 사용하여 결정되며, 이것은 결국 상기 이웃 셀들 대 상기 이웃 셀들에 대한 사전타겟 임계 전압을 사용하여 결정된다.
메모리를 프로그램하기 위한 방법(300)은 도 3a에서 플로우 차트 형태로 도시된다. 방법(300)은 블록(302)에서 선택된 셀을 결정된 사전타겟 임계 전압으로 프로그램하는 단계, 블록(304)에서 상기 선택된 셀에 대한 이웃 셀들을 각각의 결정된 사전타겟 임계 전압들로 프로그램하는 단계, 블록(306)에서 상기 선택된 셀을 결정된 타겟 임계 전압으로 프로그램하는 단계, 블록(308)에서 이웃 셀들의 이웃 셀들을 각각의 결정된 사전타겟 임계 전압들로 프로그램하는 단계, 및 블록(310)에서 상기 이웃 셀들을 결정된 타겟 임계 전압으로 프로그램하는 단계를 포함한다. 이웃 셀들 간에 프로그램하는 것은 일 실시예에서 페이지의 모든 셀들이 그것들의 타겟 임계 전압들로 프로그램될 때까지 반복된다.
상기 방법(300)은 도 3b에서 플로우 차트 형태(350)로 도시된 바와 같이 부가적인 프로그래밍 방법들로 확대될 수 있다. 구체적으로, 메모리를 프로그램하는 방법(350)은 블록(352)에서 선택된 셀을 결정된 사전타겟 임계 전압으로 프로그램하는 단계, 블록(354)에서 상기 선택된 셀의 제 1 내지 제 (N-1) 레벨 이웃 셀들을 각각의 결정된 사전타겟 임계 전압들로 프로그램하는 단계, 및 블록(356)에서 선택된 및 후속 레벨 이웃 셀들을 그것들의 결정된 타겟 임계 전압들로 프로그램하는 것을 제 N 및 후속 레벨 이웃 셀들을 그것들의 사전타겟 임계 전압들로 프로그램하는 것과 교대로 행하는 단계를 포함한다. 즉, 상기 방법은 프로그래밍이 완료될 때까지, 제 2 레벨 이웃 셀들을 타겟 임계 전압들로, 제 N 레벨 이웃 셀들을 사전타겟 임계 전압들로, 제 3 레벨 이웃 셀들을 타겟 임계 전압들로, 제 (N+1) 레벨 이웃 셀들을 그것들의 사전타겟 임계 전압들로 등의 패턴으로 셀들에 대한 타겟 임계 전압 및 사전타겟 임계 전압으로의 프로그래밍을 교대로 행한다. 상기 방법은 롤링 N 사전타겟 사전보상으로서 불리울 수 있다.
도 3a는 롤링 2 사전타겟 사전보상을 도시한다. 이 방법은 도 3b에서 롤링 N으로 확대된다. 이웃 레벨 셀들은 이 실시예에 대해 이어지는 바와 같이 정의된다. 선택된 셀에 대한 제 1 레벨 이웃 셀은 상기 선택된 셀로부터 1 워드 라인 떨어지고, 1 비트 라인 떨어지거나, 또는 1 워드 라인 및 1 비트 라인 떨어진 셀이다. 제 2 레벨 이웃 셀은 프로그래밍이 완료될 때까지, 선택된 셀의 이웃 셀에 대한 이웃 셀 등이다.
롤링 3 사전타겟 사전보상에 상기 방법(350)을 적용하는 것은, 다음에 발생한다. 선택된 셀은 그것의 결정된 사전타겟 임계 전압으로 프로그램된다. 상기 선택된 셀에 대한 제 1 및 제 2 레벨 이웃 셀들은 그것들의 결정된 사전타겟 임계 전압으로 프로그램된다. 그 후, 상기 선택된 셀은 그것의 타겟 임계 전압으로 프로그램된다. 그 후, 프로그래밍이 완료될 때까지, 제 3 레벨 이웃 셀들은 그것들의 결정된 임계 전압들로 프로그램되고, 상기 제 1 레벨 이웃 셀들은 그것들의 타겟 임계 전압들로 프로그램된다.
일 실시예에서, 블록(302)에서처럼 상기 선택된 셀을 미리 결정된 사전타겟 임계 전압으로 프로그램하는 단계가 도 4에 도시되며, 블록(402)에서 상기 선택된 셀에 대한 이웃 셀들을 위한 원하는 사전타겟 임계 전압 및 메모리 소거 임계 전압 사이의 임계 전압 차이를 결정하는 단계, 블록(404)에서 이웃 셀들의 추후의 프로그래밍 동안 결합으로 인한 상기 선택된 셀 임계 전압의 총 임계 전압 시프트를 결정(예로서, 계산)하는 단계, 및 블록(406)에서 상기 선택된 셀의 결정된 사전타겟 임계 전압을 상기 결정된 타겟 임계 전압 마이너스 합산된 임계 전압 시프트에 비례하는 양으로 설정하는 단계를 포함한다. 일 실시예에서, 상기 메모리 소거 임계 전압은 상기 어레이의 페이지 또는 블록에 대한 평균 소거 임계 전압이다.
NAND 메모리들에서, 메모리의 블록은 알려진 방식으로 모두 함께 소거된다. 소거된 셀의 상기 임계 전압은 통상적으로 음의 임계 전압이다. 그러나, 블록에서의 모든 셀이 동일한 소거 전압으로 소거하는 것은 아닐 것이다. 몇몇 셀들은 평균 소거 임계 전압보다 많은 음의 임계 전압들을 가질 것이며, 다른 셀들은 상기 평균 소거 임계 전압보다 적은 음의 임계 전압들을 가질 것이다. 또 다른 실시예에서, 각각의 소거된 셀의 실제 전압은 감지 동작에서 결정되며(예로서, 측정되며), 셀의 소거 임계 전압 및 그것의 타겟(또는 사전타겟) 임계 전압 사이의 임계 전압 차이가 결정된다. 이 실시예에서, 셀이 이웃 셀일 때 상기 셀에 대한 임계 전압에서의 움직임의 양의 결정(예로서, 계산)은 상기 이웃 셀의 임계 전압의 움직임의 실제 양이 알려진 이래 상기 사전타겟 임계 전압들에 대한 훨씬 더 엄격한 제어를 허용한다.
도 5에 도시된 또 다른 실시예에서, 메모리를 프로그램하기 위한 방법(500)이 도시된다. 방법(500)은 블록(502)에서 상기 선택된 셀에 대한 타겟 임계 전압 및 상기 선택된 셀의 복수의 이웃하는 셀들에 대한 복수의 사전타겟 임계 전압들에 기초하여 선택된 셀을 사전타겟 임계 전압으로 프로그램하는 단계, 및 블록(504)에서 그것의 이웃 셀 타겟 임계 전압에 대한 타겟 임계 전압 및 상기 이웃 셀의 복수의 이웃 셀들에 대한 복수의 사전타겟 임계 전압들에 기초하여 상기 복수의 이웃 셀들의 각각을 이웃 셀 사전타겟 임계 전압으로 프로그램하는 단계를 포함한다. 하나 이상의 레벨들의 이웃 셀들에 대한 상기 복수의 이웃하는 셀들로 인한 임계 전압 시프트(예로서, 총 결합 전압)가 결정(예로서, 계산)될 수 있으며, 상기 사전타겟 임계 전압은 타겟 임계 전압 마이너스 총 임계 전압 시프트, 또는 그것에 비례하는 양으로서 결정(예로서, 할당)된다. 설명된 바와 같이, 이러한 총 임계 전압 시프트는 이웃 셀들로 인한 결합에 의존하며, 프로그램될 셀의 사전타겟 전압을 보다 정확하게 사전보상하기 위해 상기 이웃 셀들의 감지된 실제 소거 전압드을 사용하여 또한 결정될 수 있다. 또한, 이웃 셀들을 사전타겟 임계 전압으로 프로그램하기 전에, 몇몇 실시예들에서, 이웃 셀들에 대한 이웃 셀들을 위한 사전타겟 임계 전압들이 또한 결정되며, 이러한 프로세스는 상기 메모리의 페이지의 모든 셀들이 프로그램될 때까지 실행될 수 있다는 것이 이해되어야 한다.
이러한 실시예들에서, 프로그래밍 동작이 다음과 같이 수행된다. 선택된 셀은 사전보상된 사전타겟 임게 전압으로 프로그램된다. 이러한 사전보상된 사전타겟 임계 전압은 프로그램되지 않은 이웃 셀들 및 선택된 셀 사이의 결합으로 인한 임계 전압 움직임의 예측된 양을 사용하여 결정(예로서, 계산)된다. 상기 선택된 셀이 사전보상된 사전타겟 임계 전압으로 프로그램되면, 상기 선택된 셀에 대한 이웃 셀들은 그것들의 결정된 사전타겟 임계 전압 값들로 프로그램된다. 그것들의 사전타겟 임계 전압들은 각각 제 2 레벨 이웃 셀 및 상기 제 2 레벨 이웃 셀에 대한 이웃 셀들 사이의 결합으로 인한 임계 전압 움직임의 예측된 양을 사용하여 결정된다. 그 후, 상기 선택된 셀은 그것의 타겟 임계 전압으로 프로그램된다. 그 후 제 2 레벨 이웃 셀들은 상기 이웃 셀들을 위해 사용되는 바와 동일한 결정 프로세스를 사용하여, 그것들의 결정된 사전타겟 임계 전압 값들로 프로그램된다. 그 후, 상기 선택된 셀에 대한 이웃 셀들은 페이지가 완전히 프로그램될 때까지 그것들 각각의 타겟 임계 전압들로 프로그램된다.
상술된 상기 방법들은 두 개의 단계들로 프로그램된 셀의 각각의 레벨을 가진다. 상술된 방법들과 함께 사용할 수 있는 다른 실시예들에서, 부가적인 프로그램 단계들이 셀들의 각각의 레벨을 위해 사용될 수 있다. 즉, 3개의 프로그램 단계들이 사용될 수 있으며, 여기에서 3 패스 프로그래밍(three pass programming)으로서 불리울 수 있다. 3 패스 프로그래밍에서, 셀들의 각각의 레벨은 3개의 단계들에서 프로그램된다. 3 패스 프로그래밍의 일 실시예에서, 프로그래밍 방법은 도 6에 보다 상세히 도시되는 바와 같이 동작한다. 3 패스 프로그래밍에서, 상기 방법들에 설명된 것 대신에 2개의 사전타겟 프로그래밍 단계들이 있다. 구체적으로, 3 패스 프로그래밍은 프로그래밍이 완료될 때까지, 블록(602)에서의 선택된 셀의 사전-사전타겟 프로그래밍, 블록(604)에서의 상기 선택된 셀에 대한 제 1 레벨 이웃 셀들의 사전-사전타겟 프로그래밍, 블록(606)에서의 상기 선택된 셀의 사전타겟 프로그래밍, 블록(608)에서의 제 2 레벨 이웃 셀들의 사전-사전타겟 프로그래밍, 블록(610)에서의 제 1 레벨 이웃 셀들의 사전타겟 프로그래밍, 블록(612)에서의 상기 선택된 셀의 결정된 타겟 임계 전압으로의 프로그래밍, 및 블록(614)에서의 각각의 다음 후속 레벨에 대한 사전-사전타겟, 사전타겟, 및 타겟 프로그래밍을 반복하는 것을 포함한다. 다음 반복을 위한 블록(614)은 제 3 레벨 이웃 셀들을 사전-사전타겟 프로그램하고, 제 2 레벨 이웃 셀들을 사전타겟 프로그램하며, 제 1 레벨 이웃 셀들을 타겟 프로그램할 것이다. 사전-사전타겟 프로그래밍 레벨들은 사전타겟 프로그래밍 레벨들이 일 실시예에서 결정되는 것과 동일한 방식으로 결정된다.
동작에 있어서, 다양한 방법들은 사전타겟 임계 전압들이 타겟 임계 전압들에 더 가깝도록 허용한다. 이것은 결국 프로그래밍에서의 보다 작은 총 오류를 야기한다. 총 오류는 사전타겟 및 타겟 임계 전압들과 결합 비 사이의 전압 갭의 함수이다. 그러므로, 사전타겟 임계 전압 및 타겟 임계 전압 사이의 갭이 감소될 때, 상기 메모리를 프로그래밍하기 위한 전체 오류가 또한 감소된다. 데이터는 하나 이상의 시퀀스에서 사전타겟 레벨들로, 및 최종 시퀀스에서 최종 레벨들로 프로그램된다. 상기 사전타겟 레벨들은 일 실시예에서 엄격한 최종 분포를 가능하게 하는 사전타겟 분포들을 더 엄격하게 하기 위해 교란에 대해 보상받는다.
여기에 설명된 방법들은 파이프라인 방식으로 수행될 수 있다. 즉, 특정한 페이지가 프로그램됨에 따라, 다음 페이지가 버퍼링될 수 있으며, 페이지에 대한 여기 설명된 사전보상은 이전 페이지의 프로그래밍 동안 수행되고, 따라서 프로그래밍이 이전 메모리들에서와 동일한 속도로, 그러나 프로그래밍에서의 감소된 총 오류를 갖고 발생할 수 있다.
도 7은 본 개시 내용의 일 실시예에 따른 메모리 디바이스(701)의 간소화된 블록 다이어그램이며, 여기에서 본 개시 내용의 다양한 실시예들이 실시된다. 메모리 디바이스(701)는 로우들 및 컬럼들로 배열된 메모리 셀들(704)의 어레이를 포함한다. 상기 메모리 디바이스는 또한 예를 들면, 하드웨어, 펌웨어, 및/또는 소프트웨어로 실현될 수 있는, 제어기를 포함한다. 제어기의 일 예는 I/O 제어 회로(712) 및/또는 제어 로직(716)을 포함할 수 있다. 다양한 실시예들이 주로 NAND 메모리 어레이들을 참조하여 설명될 것이지만, 다양한 실시예들은 메모리 어레이(704)의 특정 아키텍처에 제한되지 않는다. 본 실시예들에 적합한 다른 어레이 아키텍처들의 몇몇 예들은 NOR 어레이들, AND 어레이들, 및 가상 접지 어레이들을 포함한다. 그러나, 일반적으로, 여기에 설명된 실시예들은 각각의 메모리 셀의 임계 전압을 표시하는 데이터 신호의 발생을 허용하는 임의의 어레이 아키텍처에 적용 가능하다.
로우 디코드 회로(708) 및 컬럼 디코드 회로(710)는 메모리 디바이스(701)에 제공된 어드레스 신호들을 디코딩하기 위해 제공된다. 어드레스 신호들은 메모리 어레이(704)를 액세스하기 위해 수신되며 디코딩된다. 메모리 디바이스(701)는 또한 메모리 디바이스(701)로부터의 데이터 및 상태 정보의 출력뿐만 아니라 메모리 디바이스(701)로의 명령어들, 어드레스들, 및 데이터의 입력을 관리하기 위해 입력/출력(I/O) 제어 회로(712)를 포함한다. 어드레스 레지스터(714)는 디코딩 이전에 어드레스 신호들을 래치하기 위해 I/O 제어 회로(712) 및 로우 디코드 회로(708)와 컬럼 디코드 회로(710) 사이에서 결합된다. 명령어 레지스터(724)는 인입하는 명령어들을 래치하기 위해 I/O 제어 회로(712) 및 제어 로직(716) 사이에서 결합된다. 제어 로직(716)은 상기 명령어들에 응답하여 메모리 어레이(704)에 대한 액세스를 제어하며 외부 프로세서(730)에 대한 상태 정보를 발생시킨다. 상기 제어 로직(716)은 상기 어드레스들에 응답하여 로우 디코드 회로(708) 및 컬럼 디코드 회로(710)를 제어하기 위해 상기 로우 디코드 회로(708) 및 상기 컬럼 디코드 회로(710)에 결합된다.
제어 로직(716)은 또한 샘플 및 유지 회로(718)에 결합된다. 상기 샘플 및 유지 회로(718)는 아날로그 전압 신호들의 형태로, 인입하거나 또는 송출하는 데이터를 래치한다. 예를 들면, 상기 샘플 및 유지 회로는 메모리 셀에 기록될 데이터를 표현한 인입 전압 신호 또는 메모리 셀로부터 감지된 임계 전압을 표시한 송출 전압 신호를 샘플링하기 위해 커패시터들 또는 다른 아날로그 저장 디바이스들을 포함할 수 있다. 상기 샘플 및 유지 회로(718)는 또한 외부 디바이스에 보다 강력한 데이터 신호를 제공하기 위해 상기 샘플링된 전압의 증폭 및/또는 버퍼링을 위해 제공할 수 있다.
아날로그 전압 신호들의 핸들링은 CMOS 이미저 기술의 영역에서 잘 알려진 접근법과 유사한 접근법을 취할 수 있으며, 여기에서 입사 조명에 응답하여 이미저의 픽셀들로 발생된 전하 레벨들은 커패시터들 상에 저장된다. 이들 전하 레벨들은 그 후 차동 증폭기로의 제 2 입력으로서 기준 커패시터 가진 차동 증폭기를 사용하여 전압 신호들로 변환된다. 차동 증폭기의 출력은 그 후 조명의 강도를 나타내는 디지털 값을 획득하기 위해 아날로그-디지털 변환(ADC) 디바이스들로 전달된다. 본 실시예들에서, 전하는 각각 상기 메모리를 판독하거나 또는 프로그램하기 위한 메모리 셀의 실제 또는 타겟 임계 전압을 표시하는 전압 레벨의 대상이 되는 것에 응답하여 커패시터 상에 저장될 수 있다. 이러한 전하는 그 후 제 2 입력으로서 접지 입력 또는 다른 기준 신호를 가진 차동 증폭기를 사용하여 아날로그 전압으로 변환될 수 있다. 상기 차동 증폭기의 출력은 그 후 판독 동작의 경우에, 메모리 디바이스로부터의 출력을 위해 I/O 제어 회로(712)에 전달될 수 있거나, 메모리 디바이스를 프로그램할 때 하나 이상의 검증 동작들 동안 비교를 위해 사용될 수 있다. I/O 제어 회로(712)는 상기 메모리 디바이스(701)가 아날로그 또는 디지털 데이터 인터페이스와의 통신을 위해 적응될 수 있도록 아날로그 신호로부터 디지털 비트 패턴으로 판독 데이터를 변환하고 디지털 비트 패턴으로부터 아날로그 신호로 기록 데이터를 변환하기 위해 아날로그-디지털 변환 기능 및 디지털-아날로그 변환(DAC) 기능을 선택적으로 포함할 수 있다.
기록 동작 동안, 메모리 어레이(704)의 선택된 메모리 셀들은 일 실시예에서 그것들의 Vt 레벨들을 표시한 전압들이 샘플 및 유지 회로(718)에서 유지된 레벨들과 일치할 때까지, 셀들 및 이웃 셀들에 대한 사전타겟 임계 전압들을 사전보상하기 위해 프로그램된다. 이것은, 일 예로서, 선택된 메모리 셀의 임계 전압에 상기 유지된 임계 전압을 비교하기 위해 차동 감지 디바이스들을 사용하여 달성될 수 있다. 종래의 메모리 프로그래밍과 같이, 프로그래밍 펄스들은 원하는 값에 도달하거나 또는 그것을 초과할 때까지 그것의 임계 전압을 증가시키기 위해 선택된 메모리 셀에 인가될 수 있다. 판독 동작에서, 선택된 메모리 셀들의 Vt 레벨들은 ADC/DAC 기능이 메모리 디바이스의 외부에 제공되는지 또는 그것 내에서 제공되는지 여부에 의존하여 아날로그 신호들로서 직접 또는 상기 아날로그 신호들의 디지털화된 표현으로서 외부 프로세서(도 7에 도시되지 않음)로의 전달을 위해 샘플 및 유지 회로(718)에 전달된다.
셀들의 임계 전압은 다양한 방식들로 결정될 수 있다. 예를 들면, 통상적으로 워드 라인들로 불리우는 것과 같은, 액세스 라인, 전압은 선택된 메모리 셀이 활성화될 때의 포인트에서 샘플링될 수 있다. 대안적으로, 승압 전압은 선택된 메모리 셀의 제 1 소스/드레인 측면에 인가될 수 있으며, 임계 전압은 그것의 제어 게이트 전압 및 그것의 다른 소스/드레인 측면에서의 전압 사이의 차이로서 취해질 수 있다. 전압을 커패시터에 결합함으로써, 전하는 샘플링된 전압을 저장하기 위해 상기 커패시터와 공유될 것이다. 상기 샘플링된 전압은 임계 전압과 동일할 필요는 없으며, 단지 상기 전압을 표시한다는 것을 주의하자. 예를 들면, 승압 전압을 메모리 셀의 제 1 소스/드레인 측면에 및 알려진 전압을 그것의 제어 게이트에 인가하는 경우에, 메모리 셀의 제 2 소스/드레인 측면에서 개발된 전압은 상기 개발된 전압이 메모리 셀의 임계 전압을 표시하는 바와 같이 데이터 신호로서 취해질 수 있다.
샘플 및 유지 회로(718)는 캐싱, 즉 각각의 데이터 값에 대한 다수의 저장 위치들을 포함할 수 있으며, 따라서 상기 메모리 디바이스(701)는 제 1 데이터 값을 외부 프로세서에 전달하면서 다음 데이터 값을 판독하거나 또는 제 1 데이터 값을 메모리 어레이(704)에 기록하면서 다음 데이터 값을 수신할 수 있다. 상태 레지스터(722)는 외부 프로세서에 출력하기 위한 상태 정보를 래치하기 위해 I/O 제어 회로(712) 및 제어 로직(716) 사이에 결합된다.
메모리 디바이스(701)는 제어 링크(732)를 통해 제어 로직(716)에서 제어 신호들을 수신한다. 상기 제어 신호들은 칩 가능(CE#), 명령어 래치 가능(CLE), 어드레스 래치 가능(ALE), 및 기록 가능(WE#)을 포함할 수 있다. 메모리 디바이스(701)는 다중화된 입력/출력(I/O) 버스(734)를 통해 외부 프로세서로부터 명령어들(명령어 신호들의 형태로), 어드레스들(어드레스 신호들의 형태로), 및 데이터(데이터 신호들의 형태로)를 수신할 수 있으며, I/O 버스(734)를 통해 데이터를 외부 프로세서에 출력할 수 있다.
특정 예에서, 명령어들은 I/O 제어 회로(712)에서 I/O 버스(734)의 입력/출력(I/O) 핀들([7:0])을 통해 수신되며 명령어 레지스터(724)에 기록된다. 상기 어드레스들은 I/O 제어 회로(712)에서 버스(734)의 입력 출력(I/O) 핀들([7:0])을 통해 수신되며 어드레스 레지스터(714)에 기록된다. 상기 데이터는 I/O 제어 회로(712)에서, 8개의 병렬 신호들을 수신할 수 있는 디바이스를 위한 입력 출력(I/O) 핀들([7:0]), 또는 16개의 병렬 신호들을 수신할 수 있는 디바이스를 위한 입력 출력(I/O) 핀들([15:0])을 통해 수신될 수 있으며, 샘플 및 유지 회로(718)로 전달된다. 데이터는 또한 8개의 병렬 신호들을 송신할 수 있는 디바이스를 위한 입력 출력(I/O) 핀들([7:0]) 또는 16개의 병렬 신호들을 송신할 수 있는 디바이스를 위한 입력 출력(I/O) 핀들([15:0])을 통해 출력될 수 있다. 부가적인 회로 및 신호들이 제공될 수 있으며, 도 7의 상기 메모리 디바이스는 본 개시 내용의 실시예들에 초점을 맞추도록 돕기 위해 간소화된다는 것이 이 기술분야의 숙련자들에 의해 이해될 것이다.
메모리(700)의 선택된 셀들, 블록들, 페이지들 등에 대한 프로그램 기능은 임계 전압들을 사전보상하기 위한 방법들, 및 도 1 내지 도 6의 어레이들에 대하여 상술된 바와 같이 수행된다.
도 7은 샘플 및 유지 회로(718)에 대하여 설명되었지만, 상기 제어 로직(716)이 본 개시 내용의 범위로부터 벗어나지 않고 샘플 및 유지 회로(718) 대신에 데이터 래치들에 결합될 수 있다는 것이 이해되어야 한다. 데이터 래치들은 인입하거나 또는 송출하는 데이터를 래치한다. 기록 동작 동안, 메모리 어레이(704)의 선택된 메모리 셀들은, 그것들의 Vt 레벨들을 표시한 전압들이 데이터 래치들에 유지된 데이터와 일치할 때까지, 예를 들면, 상술된 바와 같은 2 세트들의 프로그래밍 펄스들을 사용하여 프로그램된다. 이것은 일 예로서, 상기 유지된 데이터를 상기 선택된 메모리 셀의 임계 전압에 비교하기 위해 차동 감지 디바이스들을 사용하여 달성될 수 있다.
부가적으로, 도 7의 메모리 디바이스는 다양한 신호들의 수신 및 출력에 대한 일반적인 관례들에 따라 설명되었지만, 다양한 실시예들이 여기에 명확하게 주지되지 않는다면 설명된 특정 신호들 및 I/O 구성들에 의해 제한되지 않는다는 것이 주의된다. 예를 들면, 명령어 및 어드레스 신호들은 데이터 신호들을 수신하는 것들로부터 분리된 입력들에서 수신될 수 있거나, 또는 데이터 신호들은 I/O 버스(734)의 단일 I/O 라인을 통해 직렬로 송신될 수 있다. 데이터 신호들은 개개의 비트들 대신에 비트 패턴들을 표현하기 때문에, 8-비트 데이터 신호의 직렬 통신은 개개의 비트들을 표현한 8개의 신호들의 병렬 통신만큼 효율적일 수 있다.
결론
메모리를 프로그램하는 방법들 및 상기 방법들을 사용한 메모리들은 다른 것들 중에서도, 소거 상태로부터의 선택된 셀의 이웃하는 셀들을 사전타겟 임계 전압으로 프로그래밍하는 것으로 인한 예측된 임계 전압 시프트에 의존하여 메모리의 선택된 셀을 프로그램하기 위한 사전타겟 임계 전압을 결정한다.
특정 실시예들이 여기에 예시되고 설명되었지만, 동일한 목적을 달성하기 위해 계산되는 임의의 배열이 도시된 특정 실시예에 대해 대체될 수 있다는 것이 이 기술분야의 숙련자들에 의해 이해될 것이다. 이러한 응용은 본 발명의 임의의 적응들 또는 변형들을 커버하도록 의도된다. 그러므로, 본 발명은 단지 청구항들 및 그 등가물들에 의해서만 제한되도록 분명하게 의도된다.

Claims (21)

  1. 메모리를 프로그램하는 방법으로서,
    선택된 셀에 대한 사전타겟 임계 전압을 결정하는 단계를 포함하고, 상기 사전타겟 임계 전압은 상기 선택된 셀의 적어도 하나의 이웃 셀에 대한 사전타겟 임계 전압 값들을 사용하여 결정되는, 메모리를 프로그램하는 방법.
  2. 청구항 1에 있어서,
    상기 결정하는 단계는 상기 선택된 셀 및 상기 적어도 하나의 이웃 셀 사이의 결합 비들을 추가적으로 사용하는, 메모리를 프로그램하는 방법.
  3. 청구항 1에 있어서,
    상기 결정하는 단계는 또한 상기 선택된 셀의 상기 적어도 하나의 이웃 셀의 적어도 하나의 이웃 셀에 대한 사전타겟 임계 전압 값들을 사용하는, 메모리를 프로그램하는 방법.
  4. 청구항 1에 있어서,
    상기 결정하는 단계는:
    상기 선택된 셀에 대한 상기 사전타겟 임계 전압을, 상기 선택된 셀에 대한 타겟 임계 전압과 동일한 양 마이너스 상기 선택된 셀의 복수의 이웃 셀들로 인한 총 임계 전압 시프트에 비례하는 양으로 설정하는 단계를 더 포함하는, 메모리를 프로그램하는 방법.
  5. 청구항 4에 있어서,
    총 임계 전압 시프트에 비례하는 양은:
    상기 선택된 셀의 각각의 이웃 셀에 대해 소거 상태에서 그것의 사전타겟 임계 전압으로 프로그램되는 상기 이웃 셀로 인한 임계 전압 시프트를 결정하고;
    상기 선택된 셀 및 각각의 이웃 셀 사이의 결합 비와, 각각의 이웃 셀에 대한 상기 결정된 임계 전압 시프트를 곱하며;
    상기 총 임계 전압 시프트를 획득하기 위해 각각의 곱해진 결과를 합산함으로써 결정되는, 메모리를 프로그램하는 방법.
  6. 청구항 1에 있어서,
    상기 선택된 셀을 상기 결정된 사전타겟 임계 전압으로 프로그램하는 단계;
    상기 선택된 셀의 이웃 셀들을 각각의 결정된 사전타겟 임계 전압들로 프로그램하는 단계;
    상기 선택된 셀을 결정된 타겟 임계 전압으로 프로그램하는 단계;
    상기 선택된 셀의 상기 이웃 셀들의 이웃 셀들을 각각의 결정된 사전타겟 임계 전압들로 프로그램하는 단계; 및
    상기 선택된 셀의 상기 이웃 셀들을 결정된 타겟 임계 전압으로 프로그램하는 단계를 더 포함하는, 메모리를 프로그램하는 방법.
  7. 청구항 6에 있어서,
    상기 선택된 셀의 상기 이웃 셀들의 이웃 셀들을 프로그램하는 단계 및 상기 선택된 셀의 이웃 셀들을 프로그램하는 단계는 페이지의 모든 셀들이 그 결정된 타겟 임계 전압들로 프로그램될 때까지 반복되는, 메모리를 프로그램하는 방법.
  8. 청구항 6에 있어서,
    상기 선택된 셀을 초기 임계 전압으로 프로그램하는 단계는 상기 초기 임계 전압을 사전보상하는 단계를 더 포함하는, 메모리를 프로그램하는 방법.
  9. 청구항 6에 있어서,
    상기 선택된 셀의 상기 복수의 이웃 셀들의 각각을 각각의 이웃 셀 초기 임계 전압으로 프로그램하는 단계는 상기 이웃 셀 초기 임계 전압을 사전보상하는 단계를 더 포함하는, 메모리를 프로그램하는 방법.
  10. 청구항 1에 있어서,
    상기 선택된 셀에 대한 타겟 임계 전압 및 상기 선택된 셀의 상기 적어도 하나의 이웃 셀에 대한 상기 사전타겟 임계 전압에 기초하여 상기 선택된 셀을 상기 사전타겟 임계 전압으로 프로그램하는 단계; 및
    상기 적어도 하나의 이웃 셀에 대한 타겟 임계 전압 및 상기 각각의 이웃 셀의 복수의 이웃 셀들에 대한 복수의 사전타겟 임계 전압들에 기초하여 상기 적어도 하나의 이웃 셀을 상기 이웃 셀 사전타겟 임계 전압으로 프로그램하는 단계를 더 포함하는, 메모리를 프로그램하는 방법.
  11. 메모리를 프로그램하는 방법으로서,
    선택된 셀을 결정된 사전타겟 임계 전압으로 프로그램하는 단계;
    상기 선택된 셀의 제 1 내지 제 (N-1) 레벨 이웃 셀들을 각각의 결정된 사전타겟 임계 전압들로 프로그램하는 단계; 및
    선택된 및 후속 레벨 셀들을 그 결정된 타겟 임계 전압들로 프로그램하는 것을, 제 N 및 후속 레벨 이웃 셀들을 그 결정된 사전타겟 임계 전압들로 프로그램하는 것과 교대로 행하는 단계를 포함하는, 메모리를 프로그램하는 방법.
  12. 청구항 11에 있어서,
    상기 선택된 셀을 결정된 사전타겟 임계 전압으로 프로그램하는 단계는:
    메모리 소거 임계 전압 및 상기 선택된 셀의 이웃 셀들에 대한 원하는 사전타겟 전압 사이의 임계 전압 차이를 결정하는 단계;
    상기 이웃 셀들의 추후의 프로그래밍 동안의 결합으로 인한 상기 선택된 셀 임계 전압의 총 임계 전압 시프트를 계산하는 단계; 및
    상기 선택된 셀의 상기 결정된 사전타겟 임계 전압을 상기 원하는 사전타겟 임계 전압 마이너스 상기 총 임계 전압 시프트로 설정하는 단계를 포함하는, 메모리를 프로그램하는 방법.
  13. 청구항 11에 있어서,
    상기 선택된 셀을 결정된 사전타겟 임계 전압으로 프로그램하는 단계는:
    실제 소거 임계 전압 및 상기 선택된 셀의 이웃 셀들에 대한 원하는 사전타겟 전압 사이의 임계 전압 차이를 결정하는 단계;
    상기 이웃 셀들의 추후의 프로그래밍 동안의 결합으로 인한 상기 선택된 셀 임계 전압의 총 임계 전압 시프트를 계산하는 단계; 및
    상기 선택된 셀의 상기 결정된 사전타겟 임계 전압을 상기 원하는 사전타겟 임계 전압 마이너스 상기 총 임계 전압 시프트로 설정하는 단계를 포함하는, 메모리를 프로그램하는 방법.
  14. 청구항 11에 있어서,
    상기 선택된 셀을 결정된 사전타겟 임계 전압으로 프로그램하는 단계는, 상기 선택된 셀 및 상기 선택된 셀의 복수의 이웃 셀들 사이의 결합으로 인한 계산된 총 임계 전압 시프트를 사용하여 상기 선택된 셀의 사전타겟 임계 전압의 총 임계 전압 시프트를 결정하는 단계를 포함하는, 메모리를 프로그램하는 방법.
  15. 청구항 14에 있어서,
    상기 총 임계 전압 시프트를 결정하는 단계는:
    상기 복수의 이웃 셀들의 각각의 이웃 셀의 소거 전압 및 그 각각의 사전타겟 임계 전압 사이의 차이를 측정하는 단계;
    상기 선택된 셀 및 상기 각각의 이웃 셀 사이의 결합 비와, 각각의 이웃 셀에 대한 상기 소거 전압 및 그 각각의 사전타겟 임계 전압 사이의 상기 차이를 곱하는 단계; 및
    상기 총 임계 전압 시프트를 획득하기 위해 각각의 곱해진 결과를 가산하는 단계를 더 포함하는, 메모리를 프로그램하는 방법.
  16. 메모리 디바이스로서,
    메모리 셀들의 어레이; 및
    제어기를 포함하고,
    상기 제어기는,
    선택된 셀에 대한 사전타겟 임계 전압을 결정하는 단계로서, 상기 사전타겟 임계 전압은 상기 선택된 셀의 적어도 하나의 이웃 셀에 대한 사전타겟 임계 전압 값들을 사용하여 결정되는, 상기 결정하는 단계를 포함하는 방법을 수행하도록 구성되는, 메모리 디바이스.
  17. 청구항 16에 있어서,
    상기 제어기는 선택된 셀에 대한 상기 사전타겟 임계 전압을 결정하기 위해 상기 선택된 셀 및 상기 적어도 하나의 이웃 셀 사이의 결합 비들을 사용하는, 메모리 디바이스.
  18. 청구항 16에 있어서,
    상기 제어기는 상기 선택된 셀의 상기 적어도 하나의 이웃 셀의 적어도 하나의 이웃 셀에 대한 사전타겟 임계 전압 값들을 사용함으로써 이웃 셀에 대한 상기 사전타겟 임계 전압을 결정하는, 메모리 디바이스.
  19. 청구항 16에 있어서,
    상기 제어기는 상기 선택된 셀에 대한 상기 사전타겟 임계 전압을, 상기 선택된 셀에 대한 타겟 임계 전압과 동일한 양 마이너스 상기 선택된 셀에 대한 복수의 이웃 셀들로 인한 총 임계 전압 시프트에 비례하는 양으로 설정함으로써 사전타겟 임계 전압을 결정하는, 메모리 디바이스.
  20. 청구항 19에 있어서,
    상기 제어기는 상기 선택된 셀의 각각의 이웃에 대해, 소거된 상태로부터 그 사전타겟 임계 전압으로 프로그램되는 상기 이웃 셀에 대한 임계 전압 시프트를 결정하고, 상기 선택된 셀 및 상기 각각의 이웃 셀 사이의 결합 비와, 각각의 이웃 셀에 대한 상기 결정된 임계 전압 시프트를 곱하며, 총 임계 전압 시프트를 획득하기 위해 각각의 곱해진 결과를 합산함으로써 상기 총 임계 전압 시프트를 결정하는, 메모리 디바이스.
  21. 청구항 20에 있어서,
    상기 제어기는 상기 이웃 셀의 각각의 이웃 셀에 대한 사전타겟 임계 전압 값들을 사용하여 각각의 이웃 셀에 대한 사전타겟 임계 전압을 결정하는, 메모리 디바이스.
KR1020147001526A 2011-07-06 2012-06-28 프로그래밍 방법들 및 메모리들 KR101594720B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/176,886 2011-07-06
US13/176,886 US8687431B2 (en) 2011-07-06 2011-07-06 Programming methods and memories
PCT/US2012/044519 WO2013006354A2 (en) 2011-07-06 2012-06-28 Programming methods and memories

Publications (2)

Publication Number Publication Date
KR20140024956A true KR20140024956A (ko) 2014-03-03
KR101594720B1 KR101594720B1 (ko) 2016-02-16

Family

ID=47437632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147001526A KR101594720B1 (ko) 2011-07-06 2012-06-28 프로그래밍 방법들 및 메모리들

Country Status (4)

Country Link
US (2) US8687431B2 (ko)
KR (1) KR101594720B1 (ko)
CN (1) CN103650057B (ko)
WO (1) WO2013006354A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687431B2 (en) * 2011-07-06 2014-04-01 Micron Technology, Inc. Programming methods and memories
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
WO2014210424A2 (en) 2013-06-27 2014-12-31 Aplus Flash Technology, Inc. Novel nand array architecture for multiple simultaneous program and read
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
WO2015100434A2 (en) 2013-12-25 2015-07-02 Aplus Flash Technology, Inc A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US9659636B2 (en) 2014-07-22 2017-05-23 Peter Wung Lee NAND memory array with BL-hierarchical structure for concurrent all-BL, all-threshold-state program, and alternative-WL program, odd/even read and verify operations
US20230298674A1 (en) * 2022-03-17 2023-09-21 Samsung Electronics Co., Ltd Programming by self adjusting program voltage targets compensating for cell-to-cell interference and pe cycles

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090303788A1 (en) * 2008-06-10 2009-12-10 Roohparvar Frankie F Methods and apparatus utilizing predicted coupling effect in the programming of non-volatile memory
KR20100009948A (ko) * 2008-07-21 2010-01-29 재단법인 포항산업과학연구원 면진 장치용 에너지 흡수장치
KR20100067942A (ko) * 2008-12-12 2010-06-22 삼성전자주식회사 불휘발성 메모리 장치의 액세스 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW516037B (en) * 2001-07-13 2003-01-01 Macronix Int Co Ltd Buffer and method for compensating adjacent bit threshold voltage
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7400535B2 (en) 2006-07-20 2008-07-15 Sandisk Corporation System that compensates for coupling during programming
KR100805840B1 (ko) 2006-09-01 2008-02-21 삼성전자주식회사 캐시를 이용한 플래시 메모리 장치 및 그것의 프로그램방법
US7898863B2 (en) * 2007-08-01 2011-03-01 Micron Technology, Inc. Method, apparatus, and system for improved read operation in memory
US8117375B2 (en) 2007-10-17 2012-02-14 Micron Technology, Inc. Memory device program window adjustment
US7924618B2 (en) 2007-12-27 2011-04-12 Hynix Semiconductor Inc. Method of programming non-volatile memory device
KR101069004B1 (ko) 2008-08-01 2011-09-29 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US8045375B2 (en) 2008-10-24 2011-10-25 Sandisk Technologies Inc. Programming non-volatile memory with high resolution variable initial programming pulse
KR101486980B1 (ko) * 2008-10-27 2015-01-30 삼성전자주식회사 불휘발성 메모리의 문턱 전압 산포의 분석 방법
US7940571B2 (en) * 2009-02-26 2011-05-10 Macronix International Co., Ltd. Memory apparatus and method thereof for operating memory
KR20100106761A (ko) 2009-03-24 2010-10-04 주식회사 하이닉스반도체 플래시 소자의 프로그램 동작 방법
KR101099911B1 (ko) * 2009-12-17 2011-12-28 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 동작 방법
US8687431B2 (en) * 2011-07-06 2014-04-01 Micron Technology, Inc. Programming methods and memories

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090303788A1 (en) * 2008-06-10 2009-12-10 Roohparvar Frankie F Methods and apparatus utilizing predicted coupling effect in the programming of non-volatile memory
KR20100009948A (ko) * 2008-07-21 2010-01-29 재단법인 포항산업과학연구원 면진 장치용 에너지 흡수장치
KR20100067942A (ko) * 2008-12-12 2010-06-22 삼성전자주식회사 불휘발성 메모리 장치의 액세스 방법

Also Published As

Publication number Publication date
CN103650057B (zh) 2016-06-29
US9177651B2 (en) 2015-11-03
US8687431B2 (en) 2014-04-01
WO2013006354A3 (en) 2013-03-28
KR101594720B1 (ko) 2016-02-16
US20130010542A1 (en) 2013-01-10
CN103650057A (zh) 2014-03-19
WO2013006354A2 (en) 2013-01-10
US20140104958A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
US9177651B2 (en) Programming methods and memories
US11948644B2 (en) Two-part programming of memory cells
US10325661B2 (en) Methods of programming memory
US20090303789A1 (en) Dynamically configurable mlc state assignment
US20110255341A1 (en) Programming methods for a memory device
US9484101B2 (en) Methods of programming memories
US9312023B2 (en) Devices and methods of programming memory cells

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: 20190117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 5