KR20140033224A - 메모리 셀들을 프로그램하는 디바이스들 및 방법들 - Google Patents

메모리 셀들을 프로그램하는 디바이스들 및 방법들 Download PDF

Info

Publication number
KR20140033224A
KR20140033224A KR1020147002994A KR20147002994A KR20140033224A KR 20140033224 A KR20140033224 A KR 20140033224A KR 1020147002994 A KR1020147002994 A KR 1020147002994A KR 20147002994 A KR20147002994 A KR 20147002994A KR 20140033224 A KR20140033224 A KR 20140033224A
Authority
KR
South Korea
Prior art keywords
data
page
programming
programmed
cells
Prior art date
Application number
KR1020147002994A
Other languages
English (en)
Other versions
KR101634884B1 (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 KR20140033224A publication Critical patent/KR20140033224A/ko
Application granted granted Critical
Publication of KR101634884B1 publication Critical patent/KR101634884B1/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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or 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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • 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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Landscapes

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

Abstract

전하-저장 구조 대 전하-저장 구조 결합을 감소시키기 위해서와 같이, 메모리 셀들, 즉 SLC 및 MLC 양쪽 모두를 프로그램하는 디바이스들 및 방법들이 도시되며 설명된다. 메모리 셀들의 프로그래밍은 데이터의 제 2 페이지에 데이터의 제 1 페이지를 비교하는 것, 및 결합에 의해 데이터의 제 2 페이지를 프로그램하는 것으로부터 영향을 받을 가능성이 없는 데이터의 제 1 페이지에 해당하는 셀들을 추가로 프로그램하는 것을 포함할 수 있다.

Description

메모리 셀들을 프로그램하는 디바이스들 및 방법들{DEVICES AND METHODS OF PROGRAMMING MEMORY CELLS}
본 발명은 일반적으로 메모리들에 관한 것으로, 특히 하나 이상의 실시예들에서, 본 발명은 메모리 셀들을 프로그램하는 것에 관한 것이다.
메모리 디바이스들은 통상적으로 컴퓨터들 또는 다른 전자 디바이스들에서의 내부의, 반도체, 집적 회로들로서 제공된다. 랜덤-액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 및 플래시 메모리를 포함한 많은 상이한 유형들의 메모리가 있다.
플래시 메모리 디바이스들은 광범위한 전자 애플리케이션들을 위한 비-휘발성 메모리의 인기 있는 소스로 개발되어왔다. 플래시 메모리 디바이스들은 통상적으로 고 메모리 밀도들, 고 신뢰성, 및 저 전력 소비를 허용하는 1-트랜지스터 메모리 셀을 사용한다. 전하 저장 구조(예로서, 플로팅 게이트들 또는 전하 트랩들)의 프로그래밍 또는 다른 물리적 현상들(예로서, 상 변화 또는 분극화)을 통한, 셀들의 임계 전압에서의 변화들이 각각의 셀의 데이터 상태를 결정한다. 플래시 메모리에 대한 상용들은 개인용 컴퓨터들, 개인용 디지털 보조기들(PDA들), 디지털 카메라들, 디지털 미디어 플레이들, 디지털 레코더들, 게임들, 기기들, 차량들, 무선 디바이스들, 셀룰러 전화기들, 및 착탈 가능한 메모리 모듈들을 포함하며, 플래시 메모리에 대한 사용들은 계속해서 확대된다.
플래시 메모리는 통상적으로 NOR 플래시 및 NAND 플래시로서 알려진 두 개의 기본적인 아키텍처들 중 하나를 이용한다. 지정은 디바이스들을 판독하기 위해 사용된 로직으로부터 도출된다. NOR 플래시 아키텍처에서, 메모리 셀들의 로직 컬럼은 통상적으로 비트 라인들로서 불리우는, 데이터 라인에 결합된 각각의 메모리 셀과 병렬로 결합된다. NAND 플래시 아키텍처에서, 메모리 셀들의 컬럼은 비트 라인에 결합된 컬럼의 하나의 제 1 메모리 셀과 직렬로 결합된다.
전자 시스템들의 성능 및 복잡도가 증가함에 따라, 시스템에서의 부가적인 메모리를 위한 요건이 또한 증가한다. 그러나, 시스템의 비용들을 계속해서 감소시키기 위해, 부품들 카운트는 최소로 유지되어야 한다. 이것은 다중레벨 셀들(multilevel cells; MLC)과 같은 기술들을 사용함으로써 집적 회로의 메모리 밀도를 증가시킴으로써 성취될 수 있다. 예를 들면, MLC NAND 플래시 메모리는 매우 비용 효율적인 비-휘발성 메모리이다.
다중레벨 셀들은 셀의 특정 임계 전압(Vt) 범위에 데이터 상태, 예로서 비트 패턴을 할당함으로써 종래의 플래시 셀의 아날로그 특징을 이용할 수 있다. 산업에서, 이들 데이터 상태들은 종종 "레벨들(levels)"로서 불리운다. 이러한 기술은 메모리 셀의 수명 동작 동안 셀에 할당된 전압 범위들의 양 및 할당된 전압 범위들의 안정성에 의존하여, 셀당 둘 이상의 정보 비트들의 저장을 허용한다.
많은 플래시 메모리들, 즉 단일 레벨 셀(SLC) 및 MLC 메모리들에서, 전하 저장 구조 결합은, 부분적으로는 증가하는 메모리 밀도들 및 유사한 것으로 인해 증가해 왔다. 결합은 액세스 라인들(워드 라인들로서 불리우는 라인들과 같은) 사이에서 및 데이터 라인들(비트 라인들로서 불리우는 라인들과 같은) 사이에서 발생한다. 결합은 메모리에서 프로그램되는 데이터에 대한 비트 패턴에 의존하여, 짝수 및 홀수 메모리 페이지들 사이에서와 같이, 메모리의 인접한 페이지들의 워드 라인들 사이에서 일어난다. 셀 임계 전압들이 프로그래밍으로 인해 변할 때, 임계 전압에서의 변화들은 결합 효과들을 추가로 증가시킬 수 있다.
상기 서술된 이유들로 및 본 명세서를 판독 및 이해할 때 이 기술분야의 숙련자들에게 명백할 다른 이유들로, 이 기술분야에서 메모리들에서의 개선된 보상을 위한 요구가 존재한다.
도 1은 본 발명의 일 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 2는 도 1의 방법에 따라 프로그램된 단일 레벨 셀 메모리에 대한 임계 전압 레벨들의 그래픽 표현이다.
도 3은 도 1의 방법에 따라 프로그램된 다중 레벨 셀 메모리에 대한 임계 전압 레벨들의 그래픽 표현이다.
도 4는 본 발명의 또 다른 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 5는 도 4의 방법에 따라 프로그램된 메모리에 대한 임계 전압 레벨들의 그래픽 표현이다.
도 6은 본 발명의 또 다른 실시예에 따른 방법의 플로우 차트 다이어그램이다.
도 7은 본 발명의 실시예에 따른 전자 시스템의 블록 도식이다.
본 실시예들에 대한 이하의 상세한 설명에서, 도면 번호들이 상세한 설명의 일부를 형성하는 첨부 도면들에 제공되고, 실시예들이 실시될 수 있는 특정 실시예들이 예시의 방식으로 공개된다. 이들 실시예들은 이 기술분야의 숙련자들이 본 발명을 실시할 수 있도록 충분히 상세히 설명되며 다른 실시예들이 이용될 수 있고 프로세스, 전기적 또는 기계적 변화들이 본 발명의 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해된다. 그러므로, 다음의 상세한 설명은 제한적 의미로 취해지지 않는다.
메모리를 프로그램하는 방법(100)이 도 1에 도시된다. 방법(100)은 블록(102)에서 제 1 검증 레벨을 사용하여 데이터의 제 1 페이지를 프로그램하는 단계, 블록(104)에서 데이터의 제 1 페이지를 프로그램될 데이터의 제 2(예로서, 인접한) 페이지와 비교하는 단계, 블록(106)에서 추가로 프로그램될 데이터의 제 1 페이지의 서브세트를 결정하는 단계, 및 블록(108)에서 제 2 검증 레벨을 사용하여 서브세트를 프로그램하는 단계를 포함한다. 일 실시예에서, 블록(104)에서와 같이 비교하는 것은, OR 함수로 데이터의 제 1 페이지를 데이터의 제 2 페이지의 역과 결합함으로써 행해진다. OR 함수를 갖고, 일 실시예에서 서브세트를 결정하는 것은 다음과 같다.
제 2 페이지에 대한 데이터를 갖고 프로그램될 셀이 소거된 채로 있을 때(예로서, 로직 1로 남아있는), 제 1 페이지에 대한 데이터를 갖고 프로그램된 인접한 셀 상에 어떤 뚜렷한 결합 효과도 없을 가능성이 존재한다. 이러한 상황에서, 제 1 검증 레벨로 프로그램된 셀은 제 2 검증 레벨(예로서, 그것의 타겟 레벨에 해당하는)로 보다 높게 안전하게 프로그램될 수 있다. 제 2 페이지에 대한 데이터를 갖고 프로그램될 셀이 프로그램될 때(예로서, 로직 0으로), 제 1 페이지에 대한 데이터를 갖고 프로그램된 인접한 셀 상에 프로그램 전압의 뚜렷한 결합 효과가 있을 가능성이 있다. 이러한 상황에서, 제 1 검증 레벨로 프로그램된 셀은, 데이터의 제 2 페이지를 프로그램하는 것으로 인한 결합이 그것의 타겟 레벨을 향해 셀의 임계 전압을 이동시킬 것이기 때문에, 추가 프로그래밍이 금지된다.
프로그래밍 동작의 일 예(200)가 도 2에 도시된다. 개시할 때, 모든 셀들은 소거되며, 따라서 모든 셀들은 소거 임계 전압으로부터 시작한다. 이 예를 위해, 데이터의 제 1 페이지는 nQ(202)로서 식별되며 0(프로그램) 및 1(소거) 값들에 의해 표현되고, nQ 데이터는 0101010110으로서 표현된다. 데이터의 제 2 페이지는 (n+1)Q(204)로서 식별되며 또한 0(프로그램) 및 1(소거) 값들에 의해 표현되고, (n+1)Q 데이터는 1101101010으로서 표현된다. (n+1)Q 데이터의 역(또한 (n+1)Q'로서 나타내어지는)(206)은 0010010101이다.
이 예에서, nQ 데이터는 임계 전압 레벨 프로그램 (0)(검증 1)을 사용하여 프로그램된다. nQ 데이터를 갖고 프로그램될 셀들 중 5개는 프로그램되는 반면, 5개는 소거된 채로 있다. (n+1)Q 데이터가 결정되고, 역전되며, OR 함수로 nQ 데이터와 결합된다. OR 함수로 데이터(202) 및 데이터(206)를 결합하는 것은 아이템들(2081 내지 20810)에 대해 0111010111로서 표현되는, 데이터(208)를 초래한다. 아이템들(2081, 2083, 2085, 2087, 및 20810)은 데이터(nQ(202))의 제 1 페이지에 해당하는 프로그램된 셀들(이후 "제 1 페이지의 프로그램된 셀들"로서 나타내어지는)에 대한 OR 결과들을 표시한다. 아이템들(2082, 2084, 2086, 2088, 및 2089)은 데이터(nQ(202))의 제 1 페이지에 해당하는 소거된(1) 셀들(이후 "제 1 페이지의 소거된 셀들"로서 나타내어지는)에 대한 OR 결과들을 표시한다. 이들 셀들에 대한 전하-저장 구조 대 전하-저장 구조 결합으로부터의 임의의 교란이 소거 임계치의 밖으로 이들 셀의 임계 전압 값을 이동시킬 가능성이 없기 때문에, 제 1 페이지의 소거된 셀들에 해당하는 결과들, 즉 0 또는 1은 무시될 수 있다. 제 1 페이지의 프로그램된 셀들에 해당하는 1 결과들은 제 2 페이지에 해당하는 셀들이 또한 프로그램될 것임을 표시한다. 이것은 이들 셀들과 연관된 교란이 될 가능성이 있음을 의미한다. 일 실시예에서, 이것은 제 1 페이지에 해당하는 셀들의 추가 프로그래밍의 금지를 트리거한다. 제 1 페이지의 프로그램된 셀들에 해당하는 0 결과들은 제 2 페이지에 해당하는 셀들이 소거된 채로 있을 것임을 표시한다. 이것은 이들 셀들과 연관된 어떤 교란도 없거나 또는 교란이 적을 가능성이 있음을 의미한다. 일 실시예에서 이것은 제 2 임계 전압 레벨(검증 2)을 사용하여 결과들(2081, 2085, 및 2087)에 해당하는 제 1 페이지의 셀들의 추가 프로그래밍을 트리거한다. 프로그래밍은 제 2 페이지의 프로그래밍과 이어진다.
또 다른 프로그래밍 동작의 일 예(300)가 도 3에 도시된다. MLC 메모리들은 그것들이 소거 레벨(0) 이외에, 도 3에서 레벨들(1, 2, 및 3)로서 도시된 다수의 프로그램 레벨들을 가진다는 점에서 SLC 메모리들과 상이하다. 예(300)는 4개의 레벨들을 저장할 수 있는 셀 메모리당 2개의 비트들을 위한 것이다. 일 실시예에서, 예의 MLC의 프로그래밍은 다음의 순서로 수행된다: 제 1 하위 페이지(n)가 먼저 프로그램되고, 이어서 제 2(예로서, 인접한) 하위 페이지(n+1), 제 1 상위 페이지(n+2), 및 제 2 상위 페이지(n+3)가 프로그램된다.
개시할 때, 모든 셀들이 소거되며, 따라서 모든 셀들은 소거 임계 전압으로부터 시작한다. 이 예를 위해, 제 1 페이지의 레벨들(0 및 1)의 프로그래밍에 대해, 데이터의 제 1 하위 페이지는 nQ(302)로서 식별되고 0(프로그램) 및 1(소거) 값들에 의해 표현되며, nQ 데이터는 0101010110으로서 표현된다. 데이터의 제 2 상위 페이지는 (n+3)Q(304)로서 식별되고 0(프로그램) 및 1(소거) 값들에 의해 또한 표현되며, (n+3)Q 데이터(304)는 1101101010으로서 표현된다. (n+3)Q 데이터의 역(또한 (n+3)Q'로서 나타내어지는)(306)은 0010010101이다. 부가적인 검증 레벨들(검증 12 및 검증 13)은 MLC의 레벨들(2 및 3)의 프로그래밍을 위해 사용된다.
이 예에서, 제 1 페이지의 레벨들(0 및 1)의 프로그래밍은 다음과 같이 성취된다. nQ 데이터는 임계 전압 레벨(프로그램 0)(검증 11))을 사용하여 프로그램된다. nQ 데이터를 갖고 프로그램될 셀들 중 5개가 프로그램되는 반면, 5개는 소거된 채로 있다. (n+3)Q 데이터가 결정되고, 역전되며, OR 함수로 nQ 데이터와 결합된다. OR 함수로 데이터(302) 및 데이터(306)를 결합하는 것은 아이템들(3081 내지 30810)에 대해 0111010111로서 표현되는, 데이터(308)를 초래한다. 아이템들(3081, 3083, 3085, 3087, 및 30810)은 데이터(nQ(302))의 제 1 페이지에 해당하는 프로그램된 셀들에 대한 OR 결과들을 표시한다. 아이템들(3082, 3084, 3086, 3088, 및 3089)은 데이터(nQ(302))의 제 1 페이지에 해당하는 소거된(1) 셀들에 대한 OR 결과들을 표시한다. 이들 셀들에 대한 결합으로부터의 임의의 교란이 소거 임계치 밖으로 이들 셀들의 임계 전압 값을 이동시킬 가능성이 없기 때문에, 제 1 페이지의 소거된 셀들에 해당하는 결과들, 0 또는 1은 무시될 수 있다. 제 1 페이지의 프로그램된 셀들에 해당하는 1 결과들은 제 2 페이지에 해당하는 셀들이 또한 레벨(2 및 3) 프로그래밍 동안 프로그램될 것임을 표시한다. 이것은 이들 셀들과 연관된 교란이 될 가능성이 있음을 의미한다. 이것은, 일 실시예에서, 제 1 페이지에 해당하는 셀들의 추가 프로그래밍의 금지를 트리거한다. 제 1 페이지의 프로그램된 셀들에 해당하는 0 결과들은 제 2 페이지에 해당하는 셀들이 제 2 페이지의 레벨(2 및 3) 프로그래밍 동안 프로그래밍을 겪지 않을 것임을 표시한다. 이것은 이들 셀들과 연관된 어떤 교란도 없거나 또는 교란이 적을 가능성이 있음을 의미한다. 이것은 일 실시예에서 제 2 임계 전압 레벨(검증 21)로 0의 308 결과들을 갖고 nQ의 이들 셀들의 추가 프로그래밍을 트리거한다.
제 1 페이지의 레벨들(0 및 1)의 프로그래밍에 이어서, 상위 페이지 프로그래밍이 수행된다. 이 예를 위해, 제 1 페이지의 레벨들(2 및 3)의 프로그래밍에 대해, 데이터의 제 1 상위 페이지는 (n+2)Q(352)로서 식별되고 0(프로그램) 및 1(소거) 값들에 의해 표현되며, (n+2)Q 데이터는 0111010010으로서 표현된다. 데이터의 제 2 상위 페이지는 (n+3)Q(354)로서 식별되고 0(프로그램) 및 1(소거) 값들에 의해 또한 표현되며, (n+3)Q 데이터는 1101101010으로서 표현된다. (n+3)Q 데이터의 역(또한 (n+3)Q'로서 나타내어지는)(356)은 0010010101이다.
이 예에서, 제 1 페이지의 레벨들(2 및 3)의 프로그래밍은 다음과 같이 성취된다. (n+2)Q 데이터는 임계 전압 레벨(프로그램(2 또는 3))(검증 12 또는 검증 13)을 사용하여 프로그램된다. 이 예에서, (n+2)Q 데이터는 0111010010으로서 표현된다. (n+2)Q 데이터를 갖고 프로그램될 셀들 중 5개는 레벨(2 및 3) 프로그래밍 동안 프로그램되는 반면, 5개는 레벨(2 및 3) 프로그래밍 동안 프로그램되지 않는다. (n+3)Q 데이터가 결정되고, 역전되며, OR 함수로 (n+2)Q 데이터와 결합된다. OR 함수로 데이터(352) 및 데이터(356)를 결합하는 것은 아이템들(3581 내지 35810)에 대해 1111010011로서 표현되는, 데이터(358)를 초래한다. 아이템들(3581, 3585, 3587, 3588, 및 35810)은 레벨(2 또는 3) 프로그래밍 동안 프로그램된 제 1 페이지의 셀들에 대한 OR 결과들을 표시한다. 아이템들(3582, 3583, 3584, 3586, 및 3589)은 레벨(2 또는 3) 프로그래밍 동안 프로그램되지 않은 제 1 페이지의 셀들에 대한 OR 결과들을 표시한다. 레벨(2 또는 3) 프로그래밍 동안 프로그램되지 않는 제 1 페이지의 셀들에 해당하는 결과들, 0 또는 1은, 이들 셀들에 대한 결합으로부터의 임의의 교란이 그것들의 현재 임계치 밖으로 이들 셀들의 임계 전압 값을 이동시킬 가능성이 없기 때문에, 무시될 수 있다. 레벨(2 또는 3) 프로그래밍 동안 프로그램되는 제 1 페이지의 셀들에 해당하는 1 결과들은 제 2 페이지에 해당하는 셀들이 레벨(2 또는 3) 프로그래밍 동안 또한 프로그램될 것임을 표시한다. 이것은 이들 셀들과 연관된 교란이 될 가능성이 있음을 의미한다. 이것은, 일 실시예에서, 제 1 페이지에 해당하는 셀들의 추가 프로그래밍의 금지를 트리거한다. 레벨(2 또는 3) 프로그래밍 동안 프로그램되는 제 1 페이지의 셀들에 해당하는 0 결과들은 제 2 페이지에 해당하는 셀들이 레벨(2 또는 3) 프로그래밍 동안 프로그래밍을 겪지 않을 것임을 표시한다. 이것은 이들 셀들과 연관된 어떤 교란도 없거나 또는 교란이 적을 가능성이 있음을 의미한다. 이것은 일 실시예에서 2개의 제 2 임계 전압 레벨들(검증 22 또는 검증 23) 중 하나를 사용하여 결과들(3585, 3587 및 3588)에 해당하는 제 1 페이지의 이들 셀들의 추가 프로그래밍을 트리거한다.
다양한 실시예들에서, 데이터의 제 1 페이지는 메모리의 데이터의 짝수 페이지일 수 있으며, 데이터의 제 2 페이지는 메모리의 데이터의 홀수 페이지일 수 있다. 다른 실시예들에서, 데이터의 제 1 페이지는 셀들의 로우 또는 셀들의 로우의 일부에 프로그램될 데이터에 해당할 수 있는 반면, 데이터의 제 2 페이지는 셀들의 인접한 로우 또는 셀들의 인접한 로우의 일부에 프로그램될 데이터에 해당할 수 있다.
OR 함수로의 결합은 본 발명의 범위로부터 벗어나지 않고 다양한 구성요소들을 사용하여 성취될 수 있다는 것이 이해되어야 한다. 단지 예시이며 한정이 아닌, OR 함수는 다양한 실시예들에서 전용 하드웨어 회로로서 또는 제어기 내에 구현될 수 있다. 속도 대 다이 스페이스(die space)의 고려사항들이 어떻게 OR 함수를 구현할지에 대하여 이루어질 선택을 허용한다.
도 1 내지 도 3에 대하여 상술된 다양한 실시예들은 비트 라인 교란을 다루는 비트 라인 동작들과 함께 뿐만 아니라, 실드 비트 라인 구조들과 함께 사용하기 위해 처리할 수 있다. 실시예들은 워드 라인 교란을 다룰 수 있으며, 다른 실시예들에서, 본 발명의 범위로부터 벗어나지 않고, 비트 라인 교란을 다루는 알려진 방법들과 조합될 수 있다.
MLC 메모리를 프로그램하는 방법(400)의 또 다른 실시예가 도 4에 도시되며, 방법(400)에 따라 레벨들을 프로그램하는 그래픽 표현(500)이 도 5에 도시된다. 방법(400)은 블록(402)에서 데이터의 제 1 페이지를 프로그램하는 단계, 블록(404)에서 데이터의 제 1 페이지 상에서 데이터의 제 2(예로서, 인접한) 페이지를 프로그램하는 결합 효과를 결정하는 단계, 및 블록(406)에서 결정된 결합 효과 및 임계치의 비교에 응답하여 데이터의 제 1 페이지의 프로그래밍을 조정하는 단계를 포함한다. 블록(404)에서처럼 결정하는 것은 일 실시예에서 데이터의 제 2 페이지를 로딩하고, 로딩된 데이터의 제 2 페이지를 프로그램된 제 1 페이지 데이터와 비교함으로써 행해진다. 일 실시예에서 조정하는 것은 상위 페이지 프로그래밍 동안 프로그램되지 않을 데이터의 제 2 페이지에 해당하는 셀들에 인접한 데이터의 제 1 페이지를 갖고 프로그램되는 이들 셀들을 추가로 프로그램하는 것을 포함한다.
일 실시예에서, 결합 효과를 결정하는 것은 데이터의 제 2 페이지를 갖고 프로그램될 셀들이 어떤 레벨로 프로그램되는지를 결정하는 것을 포함한다. 데이터의 제 2 페이지의 데이터를 갖고 프로그램될 셀이 보다 높은 임계 전압 레벨(예를 들면, 도 5에 도시된 바와 같이 셀(MLC) 당 2개의 비트들의 레벨(1) 또는 레벨(3))로 프로그램될 때, 결합은 이들 셀들의 프로그래밍과 연관된 임계 전압 교란을 이들 레벨들로 유도할 가능성이 있으며, 따라서, 데이터의 제 1 페이지를 갖고 프로그램된 해당 셀에 대한 초기 프로그램 레벨은 동일한 채로 있다. 데이터의 제 2 페이지의 데이터를 갖고 프로그램될 셀이 보다 낮은 임계 전압 레벨(예를 들면 도 5에 도시된 셀(MLC)당 2개의 비트들의 레벨(0) 또는 레벨(2))로 프로그램될 때, 결합은 해당 셀들의 프로그래밍과 연관된 임계 전압 교란을 이들 레벨들로 유도할 가능성이 없으며, 따라서 보완 프로그래밍 프로세스는 제 1 페이지의 이들 셀들을 보다 높은 임계 전압 분포로 프로그램한다. 그 후, 홀수 페이지 프로그래밍이 수행된다. 이러한 홀수 페이지 프로그래밍은 데이터의 제 2 페이지의 셀들의 프로그래밍에 해당하는 제 1 페이지의 셀들을 보다 높은 임계 전압 레벨로 이동시켜서, 제 2 페이지 프로그래밍 후 임계 전압들의 보다 촘촘한 분포를 야기한다.
도 5는 방법(400)에 따른 프로그래밍의 예(500)를 도시한다. 데이터의 제 1 페이지의 프로그래밍 후, 데이터의 제 1 페이지를 갖고 프로그램된 메모리 셀들은 프로그램 레벨들로서 레벨들(0, 1, 2, 및 3)(LV0, LV1, LV2, 및 LV3)을 갖고, 502에 도시되는 바와 같은 임계 전압 분포를 가진다. 데이터의 제 2 페이지가 로딩된 후, 데이터의 제 1 페이지를 갖고 프로그램된 셀들의 판독이 수행되며, 추가 프로그래밍은 504에 도시되는 바와 같이, 데이터의 제 2 페이지의 프로그래밍 동안 레벨들(0 또는 2)로 프로그램되는 해당 셀을 가진 데이터의 제 1 페이지를 갖고 프로그램된 이들 셀들에 대해 수행된다. 분포들(5041)은 추가로 프로그램되지 않는 이들 레벨들에 대한 분포들을 도시하며, 분포들(5042)은 추가로 프로그램되는 이들 레벨들에 대한 분포들을 도시한다. 데이터의 제 2 페이지의 프로그래밍 동안 레벨들(1 또는 3)로 프로그램되는 해당 셀을 가진 데이터의 제 1 페이지를 갖고 프로그램된 이들 셀들에 대해, 어떤 추가의 프로그래밍도 수행되지 않는다. 데이터의 제 2 페이지를 프로그래밍한 후, 제 2 페이지 프로그래밍에 대한 결과적인 분포가 506에 도시된다. 제 2 페이지 프로그래밍은 또한 508에 도시되는 바와 같이, 데이터의 프로그램된 제 1 페이지를 표현하기 위해 이들 분포들을 그것들의 최종 분포들로 이동시키는 이들 분포들(5041)에 대한 결합 효과를 야기한다.
도 6에 도시된, 또 다른 실시예에서, 메모리를 프로그램하는 또 다른 방법(600)이 도시된다. 방법(600)은 블록(602)에서 데이터의 짝수 페이지를 프로그램하는 단계, 블록(604)에서 데이터의 홀수 페이지를 로딩하는 단계, 블록(606)에서 데이터의 짝수 페이지를 판독하는 단계, 블록(608)에서 데이터의 프로그램된 짝수 페이지 상에서 데이터의 홀수 페이지를 프로그램하는 결합 효과를 결정하는 단계, 블록(610)에서 임계치보다 작은 각각의 결정된 결합 효과에 응답하여 짝수 페이지의 데이터를 추가로 프로그램하는 단계, 및 블록(612)에서 데이터의 홀수 페이지를 프로그램하는 단계를 포함한다. 일 실시예에서 결정하는 것은 짝수 페이지의 데이터를 갖고 프로그램된 셀 및 홀수 페이지의 데이터를 갖고 프로그램될 해당하는 셀 사이에서의 임계 전압 이동의 양을 결정하는 것을 포함한다.
도 7은 본 발명의 일 실시예에 따르며 본 발명의 다양한 실시예들이 실시될 수 있는 메모리 디바이스(701)의 간소화된 블록 다이어그램이다. 메모리 디바이스(701)는 로우들 및 컬럼들로 배열된 메모리 셀들의 어레이(704)를 포함한다. 다양한 실시예들은 주로 NAND 메모리 어레이들을 참조하여 설명될 것이지만, 다양한 실시예들은 메모리 어레이(704)의 특정 아키텍처에 제한되지 않는다. 본 실시예에 적합한 다른 어레이 아키텍처들의 몇몇 예들은 NOR 어레이들, AND 어레이들, 및 가상 접지 어레이들을 포함한다. 일반적으로, 그러나, 여기에 설명된 실시예들은 예를 들면, 각각의 메모리 셀의 임계 전압을 표시한 데이터 신호의 발생을 허용하는 임의의 어레이 아키텍처에 적응 가능하다. 또한, 여기에 설명된 실시예들은 본 발명의 범위로부터 벗어나지 않고 SLC 및 MLC 메모리들과 함께 사용하기 위해 처리할 수 있다.
로우 디코드 회로(708) 및 컬럼 디코드 회로(710)가 메모리 디바이스(701)에 제공된 디코드 어드레스 신호들에 제공된다. 어드레스 신호들은 액세스 메모리 어레이(704)에 수신되며 디코딩된다. 메모리 디바이스(701)는 또한 메모리 디바이스(701)로부터의 데이터 및 상태 정보의 출력뿐만 아니라 메모리 디바이스(701)로의 명령어들, 어드레스들 및 데이터의 입력을 관리하기 위해 입력/출력(I/O) 제어 회로(712)를 포함한다. 어드레스 레지스터(714)는 디코딩 이전에 어드레스 신호들을 래치(latch) 하기 위해 I/O 제어 회로(712) 및 로우 디코드 회로(708)와 컬럼 디코드 회로(710) 사이에서 결합된다. 명령어 레지스터(724)는 인입 명령어들을 래치하기 위해 I/O 제어 회로(712) 및 제어 로직(716) 사이에서 결합된다. 일 실시예에서, 제어 로직(716), 제어 회로(712) 및/또는 펌웨어는 개별적으로, 조합하여, 또는 다른 요소들과 조합하여, 제어기를 형성할 수 있다. 그러나, 여기에 사용된 바와 같이, 제어기는 이러한 구성요소들 중 임의의 것 또는 그 모두를 반드시 포함할 필요는 없다. 몇몇 실시예들에서, 제어기는 내부 제어기(예로서, 메모리 어레이와 동일한 다이 상에 위치된) 및/또는 외부 제어기를 포함할 수 있다. 제어 로직(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)의 타겟 메모리 셀들은 그것들의 임계 전압 레벨들을 표시한 전압들이 샘플 및 유지 회로(718)에 유지된 레벨들과 일치할 때까지 프로그램될 수 있다. 이것은 일 예로서, 타겟 메모리 셀의 임계 전압에 유지된 전압 레벨을 비교하기 위해 차동 감지 디바이스를 사용하여 성취될 수 있다. 종래의 메모리 프로그래밍과 같이, 프로그래밍 펄스들은 원하는 값에 도달하거나 또는 그것을 초과할 때까지 그것의 임계 전압을 증가시키기 위해 타겟 메모리 셀에 인가될 수 있다. 판독 동작에서, 타겟 메모리 셀들의 임계 전압 레벨들은 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)의 타겟 메모리 셀들은 예를 들면, 그것들의 임계 전압 레벨들을 표시한 전압들이 데이터 래치들에 유지된 데이터와 일치할 때까지, 설명된 바와 같은 두 세트들의 프로그래밍 펄스들을 사용하여 프로그램된다. 이것은 일 예로서 유지된 데이터를 타겟 메모리 셀의 임계 전압에 비교하도록 차동 감지 디바이스들을 사용하여 성취될 수 있다.
부가적으로, 도 7의 메모리 디바이스가 다양한 신호들의 수신 및 출력을 위한 일반적인 관례들에 따라 설명되었지만, 다양한 실시예들이 설명된 특정 신호들 및 I/O 구성들에 의해 제한되지 않는다는 것이 주의된다. 예를 들면, 명령어 및 어드레스 신호들은 데이터 신호들을 수신하는 것들로부터 분리된 입력들에서 수신될 수 있거나 또는 데이터 신호들은 I/O 버스(734)의 단일 I/O 라인을 통해 연속으로 송신될 수 있다. 데이터 신호들이 개개의 비트들 대신에 비트 패턴들을 표현하기 때문에, 8-비트 데이터 신호의 직렬 통신은 개개의 비트들을 표현한 8개의 신호들의 병렬 통신만큼 효율적일 수 있다.
특정 실시예들이 여기에 예시되고 설명되었지만, 동일한 목적을 달성하기 위해 산출되는 임의의 배열이 도시된 특정 실시예들로 대체될 수 있다는 것이 이 기술분야의 숙련자들에 의해 이해될 것이다. 본 발명의 많은 적응들이 이 기술분야의 숙련자들에게 명백할 것이다. 따라서, 본 출원은 본 발명의 임의의 적응들 또는 변형들을 커버하도록 의도된다.

Claims (16)

  1. 메모리 셀들을 프로그램하는 방법에 있어서,
    제 1 검증 레벨을 사용하여 데이터의 제 1 페이지를 프로그램하는 단계;
    상기 데이터의 제 1 페이지를 프로그램될 데이터의 제 2 페이지와 비교하는 단계;
    추가로 프로그램될 상기 데이터의 제 1 페이지의 서브세트를 결정하는 단계; 및
    제 2 검증 레벨을 사용하여 상기 서브세트를 프로그램하는 단계를 포함하는, 메모리 셀들을 프로그램하는 방법.
  2. 청구항 1에 있어서,
    비교 단계는 OR 함수로 상기 데이터의 제 1 페이지를 상기 데이터의 제 2 페이지의 역(inverse)과 결합하는 단계를 더 포함하는, 메모리 셀들을 프로그램하는 방법.
  3. 청구항 2에 있어서,
    서브세트를 결정하는 단계는:
    상기 데이터의 제 1 페이지에 해당하는 상기 메모리 셀들 중 어떤 것이 프로그램되고, 소거된 채로 있을 상기 제 2 페이지에 해당하는 메모리 셀들에 인접한 지를 결정하는 단계를 더 포함하는, 메모리 셀들을 프로그램하는 방법.
  4. 청구항 1에 있어서,
    상기 데이터의 제 2 페이지는 데이터의 인접한 페이지인, 메모리 셀들을 프로그램하는 방법.
  5. 청구항 1에 있어서,
    상기 제 1 검증 레벨은 상기 제 1 페이지에 해당하는 프로그램된 셀에 대한 제 1 임계 전압이며, 상기 제 2 검증 레벨은 상기 데이터의 제 2 페이지를 프로그램한 후 데이터의 제 2 페이지에 해당하는 인접한 셀이 소거된 채로 있다면 제 2 임계 전압 레벨인, 메모리 셀들을 프로그램하는 방법.
  6. 청구항 5에 있어서,
    상기 데이터의 제 2 페이지에 해당하는 상기 인접한 셀이 상기 데이터의 제 2 페이지의 프로그래밍 동안 프로그램된다면 상기 프로그램된 셀의 추가 프로그래밍을 금지하는 단계를 더 포함하는, 메모리 셀들을 프로그램하는 방법.
  7. 청구항 1에 있어서,
    상기 데이터의 제 1 페이지를 상기 데이터의 제 2 페이지와 비교하는 단계는:
    상기 데이터의 제 2 페이지를 프로그램하는 결합 효과를 결정하는 단계; 및
    상기 결정된 결합 효과 및 임계치의 비교에 응답하여 상기 데이터의 제 1 페이지의 프로그래밍을 조정하는 단계를 더 포함하는, 메모리 셀들을 프로그램하는 방법.
  8. 청구항 7에 있어서,
    결정하는 단계는:
    상기 데이터의 제 2 페이지를 로딩하는 단계; 및
    상기 로딩된 데이터의 제 2 페이지를 상기 프로그램된 데이터의 제 1 페이지와 비교하는 단계를 포함하는, 메모리 셀들을 프로그램하는 방법.
  9. 청구항 7에 있어서,
    조정 단계는 상기 임계치보다 작게 결정된 결합 효과를 가진 상기 제 1 페이지의 데이터를 추가로 프로그램하는 단계를 포함하는, 메모리 셀들을 프로그램하는 방법.
  10. 청구항 9에 있어서,
    추가로 프로그램하는 단계는 상기 임계치보다 작게 결정된 결합 효과를 가진 상기 제 1 페이지의 데이터를 보다 높은 프로그래밍 레벨로 추가로 프로그램하는 단계를 포함하는, 메모리 셀들을 프로그램하는 방법.
  11. 청구항 7에 있어서,
    상기 데이터의 제 1 페이지의 프로그래밍을 조정한 후 상기 데이터의 제 2 페이지를 프로그램하는 단계를 더 포함하는, 메모리 셀들을 프로그램하는 방법.
  12. 청구항 7에 있어서,
    상기 메모리 셀들은 다중 레벨 셀(MLC) 메모리를 포함하며, 조정 단계는 상기 데이터의 제 2 페이지를 갖고 프로그램될 해당하는 셀들이 상기 MLC의 상기 레벨들의 보다 낮은 레벨로 프로그램될 때 상기 제 1 페이지의 데이터를 추가로 프로그램하는 단계를 포함하는, 메모리 셀들을 프로그램하는 방법.
  13. 청구항 7에 있어서,
    상기 데이터의 제 1 페이지는 데이터의 짝수 페이지이며 상기 데이터의 제 2 페이지는 데이터의 홀수 페이지인, 메모리 셀들을 프로그램하는 방법.
  14. 디바이스에 있어서,
    논리 페이지들로 배열된 메모리 셀들의 어레이; 및
    데이터의 제 1 페이지에 해당하는 프로그램된 셀에 대하여 제 1 임계 전압 레벨을 사용하여 상기 어레이에서 상기 제 1 페이지를 프로그램하고, 상기 데이터의 제 1 페이지를 상기 어레이에서의 데이터의 제 2 페이지와 비교하며, 상기 데이터의 제 2 페이지를 프로그램한 후 상기 데이터의 제 2 페이지에 해당하는 인접한 셀이 소거된 채로 있다면 제 2 임계 전압 레벨을 사용하여 상기 프로그램된 셀을 프로그램하도록 구성된 제어기를 포함하는, 디바이스.
  15. 청구항 14에 있어서,
    상기 제어기는 또한 상기 데이터의 제 2 페이지에 해당하는 상기 인접한 셀이 상기 데이터의 제 2 페이지의 프로그래밍 동안 프로그램된다면 상기 프로그램되는 셀의 추가 프로그래밍을 금지하도록 구성되는, 디바이스.
  16. 청구항 14에 있어서,
    상기 제어기는 OR 함수로 상기 데이터의 제 1 페이지를 상기 데이터의 제 2 페이지의 역과 결합함으로써 비교하도록 추가로 구성되는, 디바이스.
KR1020147002994A 2011-07-07 2012-06-28 메모리 셀들을 프로그램하는 디바이스들 및 방법들 KR101634884B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/178,217 2011-07-07
US13/178,217 US8537623B2 (en) 2011-07-07 2011-07-07 Devices and methods of programming memory cells
PCT/US2012/044522 WO2013006355A2 (en) 2011-07-07 2012-06-28 Devices and methods of programming memory cells

Publications (2)

Publication Number Publication Date
KR20140033224A true KR20140033224A (ko) 2014-03-17
KR101634884B1 KR101634884B1 (ko) 2016-06-29

Family

ID=47437633

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147002994A KR101634884B1 (ko) 2011-07-07 2012-06-28 메모리 셀들을 프로그램하는 디바이스들 및 방법들

Country Status (6)

Country Link
US (2) US8537623B2 (ko)
EP (1) EP2729935A4 (ko)
JP (1) JP6117779B2 (ko)
KR (1) KR101634884B1 (ko)
CN (1) CN103718247B (ko)
WO (1) WO2013006355A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013122799A (ja) * 2011-12-09 2013-06-20 Toshiba Corp 不揮発性半導体記憶装置
JP6457364B2 (ja) 2015-09-11 2019-01-23 東芝メモリ株式会社 メモリシステム
US9666282B1 (en) * 2016-05-03 2017-05-30 Micron Technology, Inc. Program inhibiting in memory devices
US9589659B1 (en) 2016-05-25 2017-03-07 Micron Technology, Inc. Pre-compensation of memory threshold voltage
EP3427644B1 (en) 2017-07-14 2022-12-28 Asahi Kasei Kabushiki Kaisha Concentration measuring module, dialyzer, and concentration calculating method
US10607693B2 (en) 2018-06-29 2020-03-31 Micron Technology, Inc. Misplacement mitigation algorithm
US11972812B2 (en) * 2021-12-13 2024-04-30 Sandisk Technologies Llc Non-volatile memory with data refresh based on data states of adjacent memory cells

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040170056A1 (en) * 2002-11-29 2004-09-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US20060120162A1 (en) * 2004-11-12 2006-06-08 Kabushiki Kaisha Toshiba Method of writing data to a semiconductor memory device
US20080056007A1 (en) * 2006-09-01 2008-03-06 Dong-Ku Kang Flash memory device using program data cache and programming method thereof
US20080253188A1 (en) * 2006-02-16 2008-10-16 Micron Technology, Inc. Programming method to reduce gate coupling interference for non-volatile memory

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4023953B2 (ja) * 1999-06-22 2007-12-19 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
JP4005000B2 (ja) 2003-07-04 2007-11-07 株式会社東芝 半導体記憶装置及びデータ書き込み方法。
US6996004B1 (en) 2003-11-04 2006-02-07 Advanced Micro Devices, Inc. Minimization of FG-FG coupling in flash memory
US6888758B1 (en) 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US7221592B2 (en) * 2005-02-25 2007-05-22 Micron Technology, Inc. Multiple level programming in a non-volatile memory device
JP4157563B2 (ja) * 2006-01-31 2008-10-01 株式会社東芝 半導体集積回路装置
KR100763353B1 (ko) * 2006-04-26 2007-10-04 삼성전자주식회사 인접하는 메모리셀과의 커플링 노이즈를 저감시키는불휘발성 반도체 메모리 장치
US7952922B2 (en) * 2006-06-06 2011-05-31 Micron Technology, Inc. Method for programming a non-volatile memory device to reduce floating-gate-to-floating-gate coupling effect
KR101048834B1 (ko) 2006-07-20 2011-07-13 샌디스크 코포레이션 프로그래밍 중의 커플링 보상
US7894269B2 (en) 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
JP4918136B2 (ja) * 2006-07-20 2012-04-18 サンディスク コーポレイション 結合を使用する隣接素子の検出に基づく結合の補償
US7400535B2 (en) 2006-07-20 2008-07-15 Sandisk Corporation System that compensates for coupling during programming
US7486566B2 (en) * 2006-12-28 2009-02-03 Intel Corporation Methods, apparatus, and systems for flash memory bit line charging
JP4869088B2 (ja) * 2007-01-22 2012-02-01 株式会社東芝 半導体記憶装置及びその書き込み方法
US7599224B2 (en) 2007-07-03 2009-10-06 Sandisk Corporation Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
KR101378349B1 (ko) * 2008-01-30 2014-03-28 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
KR100953045B1 (ko) * 2008-05-23 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US7746691B2 (en) * 2008-06-10 2010-06-29 Micron Technology, Inc. Methods and apparatus utilizing predicted coupling effect in the programming of non-volatile memory
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
KR101436506B1 (ko) * 2008-07-23 2014-09-02 삼성전자주식회사 메모리 장치 및 메모리 데이터 프로그래밍 방법
US8482976B2 (en) * 2008-12-09 2013-07-09 Kabushiki Kaisha Toshiba Semiconductor memory device and semiconductor memory system storing multilevel data
JP2010165400A (ja) * 2009-01-14 2010-07-29 Toshiba Corp 不揮発性半導体記憶装置及びそのシステム
KR101534274B1 (ko) 2009-02-25 2015-07-06 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
KR101600539B1 (ko) * 2009-04-07 2016-03-08 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
US7898864B2 (en) 2009-06-24 2011-03-01 Sandisk Corporation Read operation for memory with compensation for coupling based on write-erase cycles
US8130543B2 (en) * 2009-08-13 2012-03-06 Macronix International Co., Ltd. Method and apparatus for increasing memory programming efficiency through dynamic switching of sense amplifiers
KR101099911B1 (ko) * 2009-12-17 2011-12-28 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040170056A1 (en) * 2002-11-29 2004-09-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US20060120162A1 (en) * 2004-11-12 2006-06-08 Kabushiki Kaisha Toshiba Method of writing data to a semiconductor memory device
US20080253188A1 (en) * 2006-02-16 2008-10-16 Micron Technology, Inc. Programming method to reduce gate coupling interference for non-volatile memory
US20080056007A1 (en) * 2006-09-01 2008-03-06 Dong-Ku Kang Flash memory device using program data cache and programming method thereof

Also Published As

Publication number Publication date
WO2013006355A3 (en) 2013-04-04
US9312023B2 (en) 2016-04-12
EP2729935A4 (en) 2015-04-08
JP2014518430A (ja) 2014-07-28
CN103718247A (zh) 2014-04-09
EP2729935A2 (en) 2014-05-14
US20140016411A1 (en) 2014-01-16
US20130010537A1 (en) 2013-01-10
WO2013006355A2 (en) 2013-01-10
US8537623B2 (en) 2013-09-17
CN103718247B (zh) 2017-03-08
KR101634884B1 (ko) 2016-06-29
JP6117779B2 (ja) 2017-04-19

Similar Documents

Publication Publication Date Title
US11222699B2 (en) Two-part programming methods
US9312023B2 (en) Devices and methods of programming memory cells
US10014062B2 (en) Apparatus and methods for determining a pass/fail condition of a memory device
US10325661B2 (en) Methods of programming memory
US9484101B2 (en) Methods of programming memories
KR20140024956A (ko) 프로그래밍 방법들 및 메모리들

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

Year of fee payment: 4