KR20100028019A - 비휘발성 메모리 및 예측 프로그래밍 방법 - Google Patents

비휘발성 메모리 및 예측 프로그래밍 방법 Download PDF

Info

Publication number
KR20100028019A
KR20100028019A KR1020097021264A KR20097021264A KR20100028019A KR 20100028019 A KR20100028019 A KR 20100028019A KR 1020097021264 A KR1020097021264 A KR 1020097021264A KR 20097021264 A KR20097021264 A KR 20097021264A KR 20100028019 A KR20100028019 A KR 20100028019A
Authority
KR
South Korea
Prior art keywords
programming
memory
threshold voltage
voltage level
checkpoint
Prior art date
Application number
KR1020097021264A
Other languages
English (en)
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
Priority claimed from US11/733,694 external-priority patent/US7643348B2/en
Priority claimed from US11/733,706 external-priority patent/US7551483B2/en
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20100028019A publication Critical patent/KR20100028019A/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/10Programming or data input circuits
    • 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
    • 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/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/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

메모리 셀 어레이를 구비하는 비휘발성 메모리에서, 상기 메모리 셀은 개별적으로 소정 범위의 임계 전압 레벨들 중 하나에 프로그래밍될 수 있으며, 소정의 메모리 셀을 소정의 목표 임계 전압 레벨로 프로그래밍하기 위해서 인가될 필요가 있는 프로그래밍 전압 레벨을 예측하는 소정의 함수를 제공한다. 이런 방식에서는, 검증 동작을 수행할 필요가 없기 때문에, 상기 프로그래밍 동작의 성능을 크게 향상시킬 수 있다. 바람직한 실시예에서, 상기 소정의 함수는 선형이며, 하나 이상의 체크 포인트에 의해 프로그래밍 중인 각 메모리 셀에 대하여 조정된다. 상기 체크 포인트는 문제가 되는 상기 메모리 셀을 검증된 지정 임계 전압 레벨로 프로그래밍하는 실제 프로그래밍 전압이다.
비휘발성 메모리, 메모리 셀, 임계 전압 레벨, 체크 포인트, 예측 프로그래밍

Description

비휘발성 메모리 및 예측 프로그래밍 방법{NON-VOLATILE MEMORY AND METHOD FOR PREDICTIVE PROGRAMMING}
본 발명은, 전기적으로 삭제 및 프로그래밍 가능한 읽기 전용 메모리 (EEPROM) 및 플래시 EEPROM과 같은 비휘발성 반도체 메모리에 관한 것으로, 보다 구체적으로는 프로그램-검증 동작 횟수가 최소화되는 메모리 및 프로그래밍 동작에 관한 것이다.
최근에는, 특히 소형 카드로서 패키징된 EEPROM 및 플래시 EEPROM의 형태로 전하의 비휘발성 저장이 가능한 고체 상태 메모리는 다양한 이동성 휴대용 장치, 정보 가전 및 소비 가전 제품에서 선택된 기억 장치가 된다. 고체 상태 메모리인 랜덤 액세스 메모리(RAM)와 달리, 플래시 메모리는 비휘발성이며 전원이 턴오프된 이후에라도 저장된 데이터를 보유한다. 더 높은 비용에도 불구하고, 플래시 메모리는 대용량 저장 애플리케이션에서 점점 더 사용되고 있다. 하드 드라이브 및 플로피 디스크와 같은 회전 자기 매체에 기반한 기존 대용량 스토리지는 상기 모바일 및 휴대 환경에는 적합하지 않다. 이것은 디스크 드라이브가 부피가 큰 경향이 있으며 기계적 결함이 발생하기 쉽고 잦은 지연 및 높은 전원을 필요로 하기 때문이다. 이런 바람직하지 않은 속성은 디스크 기반 스토리지를 대부분의 이동성 휴대용 애플리케이션에서 비실용적이게 만든다. 다른 한편, 매립형 및 이동식 카드 형태의 플래시 메모리는 그것의 소형 크기, 저전력소비, 고속 및 높은 신뢰성 특성 때문에 상기 이동성 및 휴대 환경에 이상적으로 적합하다.
EEPROM 및 전기적으로 프로그래밍 가능한 읽기 전용 메모리(EPROM)은 삭제 가능하며 자신들의 메모리 셀에 쓰여지거나 프로그래밍된 새로운 데이터를 가질 수 있는 비휘발성 메모리이다. 양측은 전계 효과 트랜지스터 구조로서 소스 영역과 드레인 영역사이에서 반도체 기판의 채널 영역 상에 위치하는 플로팅 (미연결) 도전성 게이트를 채택하고 있다. 이 때, 제어 게이트는 상기 플로팅 게이트상에 제공된다. 상기 트랜지스터의 임계 전압 특성은 상기 플로팅 게이트상에 유지된 전하량에 의해 제어된다.
즉, 상기 플로팅 게이트상의 소정 레벨의 전하에 대해서, 상기 트랜지스터의 소스 영역 및 드레인 영역사이에 전도가 이루어지도록, 상기 트랜지스터가 턴온되기 전에 상기 제어 게이트에 인가되어야 하는 해당 전압(임계)이 존재한다.
상기 플로팅 게이트는 일정 범위의 전하량을 보유할 수 있어, 임계 전압 창 내에 소정의 임계 전압 레벨로 프로그래밍될 수 있다. 상기 임계 전압 창의 크기는 상기 플로팅 게이트로 프로그래밍될 수 있는 상기 범위의 전하량에 순서대로 해당하는 상기 장치의 최소 및 최대 임계 전압 레벨에 의해 한정되지 않는다. 일반적으로 상기 임계 창은 상기 메모리 장치의 특성, 동작 조건 및 이력에 따른다. 상기 창내의 각각의 명확한 변형가능 임계 전압 레벨 범위는 원칙적으로 상기 셀의 일정한 메모리 상태를 지정하는데 사용될 수 있다. 상기 임계 전압은 두 개의 명확한 영역으로 분할되며, 각각의 메모리 셀은 1비트의 데이터를 저장할 수 있을 것이다. 유사하게, 상기 임계 전압 창이 두 개 이상의 일정 영역으로 분할되며, 각 메모리 셀은 1비트 이상의 데이터를 저장할 수 있을 것이다.
상기 일반적인 2-상태 EEPROM 셀에서, 상기 도전 창을 두 개의 영역으로 분할하기 위해서, 적어도 하나의 전류 브레이크 포인트 레벨이 설정된다. 소정의 고정 전압을 인가하여 셀이 해독되는 경우에, 그것의 소스/드레인 전류는 상기 브레이크포인트 레벨(또는 기준 전류 IREF)와 비교하여 메모리 상태로 변형된다. 상기 전류 지정값이 상기 브레이크포인트 레벨의 전류 지정값보다 높은 경우에, 상기 셀은 하나의 논리 상태(예를 들어, “제로’ 상태)라고 판단된다. 한편, 상기 전류가 상기 브레이크포인트 레벨 미만인 경우에, 상기 셀은 다른 논리 상태(예를 들어, “1” 상태)라고 판단된다. 그리하여, 그런 2-상태 셀은 1비트의 디지털 정보를 저장한다. 외부에서 프로그래밍 가능한 기존 전류 소스는 종종 메모리 시스템의 일부로서 제공되어, 상기 브레이크포인트 레벨 전류를 생성한다.
메모리 용량을 증가시키기 위해, 상기 반도체 기술의 상태가 발달함에 따라 플래시 EEPROM 장치는 점점 더 높은 밀도로 제작된다. 스토리지 용량을 증가시키기 위한 다른 방법은 각 메모리 셀이 두 개 이상의 상태를 저장하게 하는 것이다.
다중 상태 또는 다중 레벨의 EEPROM 메모리 셀의 경우에, 상기 도전 창이 하나 이상의 브레이크포인트에 의해 두 개 이상의 영역으로 분할되어, 각 셀은 1비트 이상의 데이터를 저장할 수 있다. 따라서, 소정의 EEPROM 어레이가 저장할 수 있는 이런 정보는 각 셀이 저장할 수 있는 상태 개수에 따라 증가한다. 다중 상태 또는 다중 레벨의 메모리 셀을 구비한 EEPROM 또는 플래시 EEPROM은 미국 특허 No. 5,172,338에 개시되어 있다.
메모리 셀로서 기능하는 상기 트랜지스터는 일반적으로 두 메커니즘 중 하나에 의해 "프로그래밍된" 상태로 프로그래밍된다. "고온 전자 주입" 과정에서, 상기 드레인에 인가된 고전압은 상기 기판 채널 영역을 가로지르는 전자들을 가속화한다. 동시에, 상기 제어 게이트에 인가된 고전압은 상기 고온 전자를 박막 게이트 유전체를 통해 상기 플로팅 게이트로 당긴다. “터널링 주입” 과정에서, 고전압이 상기 기판에 대응하는 상기 제어 게이트에 인가된다. 이런 방식으로, 전자들은 상기 기판으로부터 상기 중간 플로팅 게이트로 당겨진다.
상기 메모리 장치는 수 많은 매커니즘에 의해 삭제될 수 있다. EPROM의 경우에, 상기 메모리는 자외선 방사에 의해 상기 플로팅 게이트로부터 전하를 제거하여 대량으로 삭제 가능하다. EEPROM의 경우에, 박막 산화물을 통과한 상기 플로팅 게이트의 전자들을 상기 기판 채널 영역(예를 들어, Fowler_Nordheim 터널링)으로 유도하기 위해서, 메모리 셀은 상기 제어 게이트에 대응하는 기판에 고전압을 인가하여 전기적으로 삭제가능하다. 일반적으로, 상기 EEPROM은 바이트 단위로 삭제가능하다. 플래시 EEPROM의 경우에, 상기 메모리는 한번에 모두 또는 한번에 하나 이상의 블록을 전기적으로 삭제할 수 있으며, 상기 블록은 512 바이트 이상의 메모리로 구성될 수 있다.
일반적으로, 상기 메모리 장치는 카드에 탑재될 수 있는 하나 이상의 메모리 칩을 포함한다. 각 메모리 칩은 디코더와 같은 주변 회로 및 삭제, 쓰기, 및 읽기 회로에 의해 지지되는 일련의 메모리 셀을 포함한다. 상기 더욱 복잡해진 메모리 장치들은 지능화되고 더 높은 레벨의 메모리 동작 및 인터페이싱을 수행하는 외부 메모리 제어기와 함께 동작한다.
오늘날 상업적으로 성공한 수 많은 비휘발성 고체 상태 메모리 장치가 사용되고 있다. 이런 메모리 장치들은 플래시 EEPROM일 수 있고 다른 형태의 비휘발성 메모리 셀일 수도 있다. 플래시 메모리 및 시스템 그리고 그것들을 제조하는 예들은, 미국 특허 Nos. 5,070,032, 5,095,344, 5,315,541, 5,343,063, and 5,661,053, 5,313,421, 6,222,762에 예시되어 있다. 특히, NAND 스트링 구조의 플래시 메모리 장치는 미국 특허 Nos. 5,570,315, 5,903,495, 6,046,935에 개시되어 있다. 또한, 비휘발성 메모리 장치는 전하를 저장하기 위한 유전체층을 갖춘 메모리 셀로 제조된다. 상기 기술된 도전성 플로팅 게이트 소자 대신에, 유전체층이 사용된다. 유전체 스토리지 소자를 사용하는 이러한 메모리 장치는 Eitan 등에 의해 저술된 ‘“NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545’에 기술되어 있다. ONO 유전체층은 소스 및 드레인 확산 사이에서 상기 채널을 통해 연장된다. 하나의 데이터 비트에 대한 전하는 상기 드레인에 인접한 유전체층에 한정되며 다른 하나의 데이터 비트에 대한 전하는 상기 소스에 인접한 유전체 층에 한정된다. 예를 들어, 미국 특허 5,768,192 및 6,011,725는 두 개의 이산화규소층 사이에 끼워진 트래핑 유전체를 구비한 비휘발성 메모리 셀을 개시한다. 다중 상태 데이터 스토리지는 상기 유전체 내 공간적으로 분리된 전하 저장 영역의 바이너리 상 태를 개별적으로 판독하여 구현된다.
읽기 및 프로그램 성능을 향상시키기 위해서, 일렬로 배열된 다중 전하 저장 소자 또는 메모리 트랜지스터는 병렬로 읽거나 프로그래밍된다. 그리하여, 메모리 소자의 "페이지"도 함께 읽거나 프로그래밍된다. 기존 메모리 구조의 경우에, 행은 일반적으로 몇 개의 상호 배치된 페이지를 포함하거나 하나의 페이지를 구성할 수 있다. 페이지의 모든 메모리 소자들은 함께 읽거나 프로그래밍된다.
일련의 교번적 프로그램/검증 사이클을 사용하는 종래 프로그래밍 기술은 셀의 임계 전압이 상대적으로 큰 vpgm의 변동에 따라 초기에 빠르게 증가하는 프로그래밍 공정에서의 불확실성을 다룬다. 그러나, 상기 플로팅 게이트로 프로그래밍된 전하가 상기 전하를 상기 플로팅 게이트로 더욱 통과시키기 위해서 유효 전계를 감소시키는 차단막으로서 기능함에 따라, 상기와 같은 증가는 약해지며 결국에는 멈추게 된다. 상기 공정은 매우 비선형으로 나타나기 때문에, 시행착오적 접근이 채택된다.
상기 프로그램/검증 프로그래밍 기술의 단점은 상기 검증 사이클이 시간을 소요하며 성능에 영향을 미친다는 것이다. 상기 문제점은 다중 비트를 저장할 수 있는 메모리 셀들의 구현을 통해 악화된다. 메모리 셀의 가능한 다중 상태 각각에 대해 반드시 검증이 필요하다. 16개의 가능한 메모리 상태의 메모리의 경우에, 이것은 각 검증 단계가 적어도 16개의 감지 동작을 유도할 것이다. 일부 다른 방식에서, 더 많은 검증이 필요할 수 있다. 따라서, 다중레벨 메모리 셀("MLC")에서 구별가능한 상태 레벨의 수가 증가함에 따라, 상기 프로그램/검증 방식의 검증 사이클 은 점점 더 시간을 소요하게 된다.
2006년 9월 12일에 Loc Tu등에 의해 출원된 "초기 프로그래밍 전압의 선형 계산을 이용한 비휘발성 메모리에 대한 방법"이란 제목의 미국 특허 출원 No. 11/531,227은 선형 계산법에 의한 초기 프로그래밍 전압 계산 방법을 개시하고 있다. 비휘발성 메모리에 대한 양호한 프로그래밍 성능을 얻기 위해서, 상기 초기 프로그래밍 전압(VPGMO) 및 상기 스텝 크기는 공장에서 최적으로 선택되어야 한다. 이것은 메모리 셀의 각 페이지를 테스트하여 이루어진다. 선택된 페이지에 결합된 워드 라인은 상기 페이지가 지정된 패턴으로 검증될 때까지 펄스사이에서 검증을 통해 계단 형태 파형의 일련의 전압 펼스에 의해 연속적으로 프로그래밍된다. 상기 페이지의 프로그래밍시 검증된 프로그래밍 전압은 상기 페이지에 대한 시작 프로그래밍 전압의 초기값으로 선형으로 축소시켜 계산하는데 사용될 것이다. 이런 계산은 제 2 패스에서 제 1 패스로부터의 계산을 사용하여 더욱 정밀해 질 수 있다. 따라서, 종래 교번적 프로그래밍 및 검증은 페이지를 성공적으로 프로그래밍하기 위한 최종 프로그래밍 전압을 설정하는데 사용된다. 그 후, 상기 최종 프로그래밍 전압은 상기 페이지에 대한 계산된 초기 프로그래밍 전압에 도달하도록 선형으로 축소된다. 이런 형태의 축소는 페이지 레벨에서 대규모로 이루어지며, 셀 단위를 기준으로 현장에서의 종래 메모리를 프로그래밍 및 검증하는데 있어서 단점을 처리하지는 않는다.
따라서, 고용량 및 고성능 비휘발성 메모리가 일반적으로 필요하다. 특히, 상기 단점이 최소화되는 향상된 프로그래밍 성능을 갖춘 고용량 비휘발성 메모리를 구비할 필요가 있다.
본 발명의 한 가지 일반적인 양상에 따라, 일련의 메모리 셀을 구비한 비휘발성 메모리에서, 상기 메모리 셀은 개별적으로 소정 범위의 임계 전압 레벨들 중 하나에 프로그래밍될 수 있으며, 소정의 메모리 셀을 소정의 목표 임계 전압 레벨로 프로그래밍하기 위해서 인가될 필요가 있는 프로그래밍 전압 레벨을 예측하는 소정의 함수를 제공한다. 이런 방식에서는, 검증 동작을 수행할 필요가 없기 때문에, 상기 프로그래밍 동작의 성능을 크게 향상시킬 수 있다.
일 실시예에서, 상기 소정의 함수는 소정의 목표 임계 전압 레벨을 위하여 프로그래밍 전압 레벨을 비례적으로 산출하는 선형 함수과 유사하다. 상기 선형 함수는 상기 메모리 어레이의 셀들의 적용가능한 소정의 평균값에 의해 주어진 기울기를 갖는다. 상기 선형 함수는 소정의 메모리 셀에 대해 선형 함수에 체크 포인트를 기결정하여 상기 소정의 메모리 셀에 대해 유일하게 결정된다. 상기 체크 포인트는 상기 메모리 셀을 지정된 임계 전압 레벨로 프로그래밍하는 실제 프로그래밍 전압에 기반을 둔다. 상기 체크 포인트는 바람직하게 상기 메모리 셀의 최저 프로그램 상태중 하나에 대응된다. 상기 메모리 셀은 우선 상기 체크 포인트로 프로그래밍되며, 예를 들어, 종래 프로그램/검증 프로그래밍 기법에 의해 검증된다. 이런 방식으로, 상기 메모리 셀을 상기 지정된 메모리 상태로 프로그래밍하는 데 필요한 실제 프로그래밍 전압의 체크 포인트 값이 결정된다. 따라서, 상기 소정의 함수는 상기 메모리 셀을 상기 목표 임계 전압 레벨로 프로그래밍하기 위한 프로그래밍 전압값으로 결정하는 사용되기 전에 상기 체크 포인트 임계 전압 레벨에서 평가될 때, 상기 체크 포인트 프로그래밍 전압값을 산출하기 위해 조정된다.
다른 실시예에서, 복수의 체크 포인트들은 상기 메모리 셀들에 의해 지지되는 가능한 임계 전압 레벨들의 범위에서 지정된다. 각 체크 포인트는 각 체크 포인트 주변의 소정의 부분적인 함수를 조정하는데 사용된다. 상기 소정의 부분적인 함수는 관련 체크 포인트 주변에서 목표 임계 전압 레벨로 프로그래밍하기 위한 프로그래밍 전압 레벨을 예측하는데 사용된다.
상기 예측 프로그래밍 기법은 목표 상태로의 프로그래밍이 검증 동작을 필요로 하지 않는 다는 점에서 장점이 있다. 검증 동작은 일반적으로 가능한 메모리 상태들의 개수보다 훨씬 적은 체크 포인트를 결정하는 경우에만 필요하다.
상기 예측 프로그래밍이 잘못된 결과를 오류가 발생한 결과를 가져오는 변동이 있으나, 이런 변동은 적절한 에러 정정 코드(“ECC”)에 의해 처리할 수 있는 통계적으로 예측가능한 오류이다.
본 발명의 추가적인 특징 및 장점은 바람직한 실시예들의 다음 설명을 통해 이해될 것이며, 상기 설명은 첨부된 도면을 참조하여 이루어져야 한다.
도 1은, 본 발명이 구현될 수 있는 비휘발성 메모리 칩의 함수 블록을 개략적으로 도시하는 도면.
도 2는, 비휘발성 메모리 셀을 개략적으로 도시하는 도면.
도 3은, 플로팅 게이트가 선택적으로 어느 한 번에 선택적으로 저장할 수 있는 4개의 다른 전하량 Q1 내지 Q4에 대한 소스-드레인 전류(ID) 및 제어 게이트 전압(VCG) 사이의 관계를 도시하는 도면.
도 4는, NOR 배열 메모리 셀의 예를 도시하는 도면.
도 5a는, NAND 스트링으로 구성된 일련의 메모리 셀을 개략적으로 도시하는 도면.
도 5b는, 도 5a에 도시된 것과 같은 NAND 스트링들(50)로 구성된 NAND 배열의 메모리 셀들(200)의 예를 도시하는 도면.
도 6은, 메모리 셀을 목표 메모리 상태로 프로그래밍하기 위한 종래 기술을 도시하는 도면.
도 7은, 소정의 메모리 장치의 다양한 메모리 셀 그리고 인가된 프로그래밍 전압 및 임계 전압 레벨 사이의 상기 관찰된 관계를 프로그래밍한 예를 도시하는 도면.
도 8은, 소정의 메모리 장치에서 메모리 셀의 샘플에 대한 도 7에 도시된 기울기 분포를 개략적으로 도시하는 도면.
도 9는, 상기 메모리 셀을 목표 임계 전압 레벨로 프로그래밍할 필요가 있는 상기 프로그래밍 전압을 제공하기 위해 사용된 소정의 함수의 바람직한 실시예을 도시하는 도면.
도 10은, 본 발명의 일반적인 실시예에 따른 예측 프로그래밍을 도시하는 흐 름도.
도 11은, 예측 프로그래밍 모드에서 적용에 따른 도 9에 도시된 소정의 함수의 조정에 따른 상기 프로그래밍 전압을 도시하는 도면.
도 12는, 도 11에 도시된 프로그래밍 과정 동안 1 페이지의 메모리 셀들의 다양한 메모리 상태의 분포를 개략적으로 도시하는 도면.
도 13은, 체크 포인트를 사용한 메모리 셀의 소정 함수를 조정하는 것을 포함하는 도 10에 도시된 단계 300을 도시하는 흐름도.
도 14는, 하나 이상의 체크 포인트를 사용하는 예측 프로그래밍의 실시예의 제 1 예를 도시하는 도면.
도 15는, 도 14에 도시된 체크 포인트들은 상기 체크 포인트들에 대응하는 다양한 관련 소정의 로컬 함수들을 조정하기 위해 사용되는 형태를 도시하는 도면.
도 16은, 하나 이상의 체크 포인트를 사용하는 예측 프로그래밍의 실시예의 제 2 예를 도시하는 도면.
메모리 시스템
도 1 내지 도 5는 본 발명의 다양한 양상들이 구현될 수 있는 예시적인 메모리 시스템을 도시한다.
도 6은 종래 프로그래밍 기법을 도시한다.
도 7 내지 16은 본 발명의 다양한 양상 및 실시예들을 도시한다.
도 1은 본 발명이 구현될 수 있는 비휘발성 메모리 칩의 함수 블록을 개략적 으로 도시한다. 상기 메모리 칩(100)은 2차원 배열의 메모리 셀들(200), 제어 회로(210), 및 디코더, 판독/기록 회로 및 멀티플렉서와 같은 주변 회로를 포함한다.
상기 메모리 어레이(200)은 로우 디코더(230)(230A 및 230B로 분할)을 경유하는 워드 라인 그리고 컬럼 디코더(260)(260A 및 260B로 분할)을 경유한 비트 라인에 의해 지정가능하다 (도 4 및 5 참조). 상기 판독/기록 회로(270)(270A 및 270B로 분할)은 1페이지의 메모리 셀을 병렬로 읽거나 프로그래밍할 수 있게 한다. 데이터 I/O 버스(231)은 상기 판독/기록 회로(270)에 결합된다.
바람직한 실시예에서, 페이지는 상기 동일한 워드 라인을 공유한 인접하는 일련의 메모리 셀들로 구성된다. 일련의 메모리 셀들이 다수의 페이지들로 분할되는 다른 실시예에서, 블록 멀티플렉서들(250)(250A 및 250B로 분할)은 상기 판독/기록 회로(270)을 상기 개별 페이지들로 다중화하기 위해서 제공된다. 예를 들어, 메모리 셀의 짝수 및 홀수 열에 의해 각각 형성된 두 개의 페이지는 상기 판독/기록 회로로 다중화된다.
도 1은 상기 다양한 주변 회로들에 의한 상기 메모리 어레이(200)에 접근은 상기 어레이의 반대편에서 대칭적으로 구현되어, 각 측면에서 접근 라인 및 회로의 밀도는 반으로 감소하게 된다. 그리하여, 상기 로우 디코더는 로우 디코더들(230A 및 230B)로 분할되며 상기 컬럼 디코더는 컬럼 디코더들(260A 및 260B)로 분할된다. 일련의 메모리 셀들이 복수의 페이지로 분할되는 본 실시예에서, 상기 페이지 멀리플렉서(250)은 페이지 멀티플렉서들(250A 및 250B)로 분할된다. 유사하게, 상기 판독/기록 회로(270)은 상기 어레이(200)의 상부로부터 비트라인으로 연결하는 판독/기록 회로(270A)와 하부로부터 비트 라인에 연결되는 판독/기록 회로(270B)로 분할된다. 이런 방식으로 판독/기록 모듈들의 밀도 및 감지 모듈들(380)의 밀도는 필연적으로 반으로 감소한다.
제어 회로(110)은 상기 메모리 어레이(200)상에 메모리 동작을 수행하기 위해서 상기 판독/기록 회로(270)과 협력하는 온칩 제어기이다. 상기 제어 회로(110)은 상태 머신(112) 및 온칩 어드레스 디코더 및 전원 제어 모듈(미도시)와 같은 기타 회로들을 크게 포함한다. 상기 상태 머신(112)는 메모리 동작의 칩레벨 제어를 제공한다. 상기 제어 회로는 외부 메모리 제어기를 통해 호스트와 통신한다.
상기 메모리 어레이(200)은 일반적으로 행과 열에 배열된 2차원 배열의 메모리 셀들로서 구성되고 워드라인 및 비트라인으로 어드레스될 수 있다. 상기 어레이는 NOR 타입 또는 NAND 타입 구조에 따라 형성될 수 있다.
도 2는 비휘발성 메모리 셀을 개략적으로 도시한다. 메모리 셀(10)은 플로팅 게이트 또는 유전체층과 같은 전하저장부(20)를 구비한 전계 효과 트랜지스터에 의해 구현될 수 있다. 상기 메모리 셀(10)은 또한 소스(14), 드레인(16), 및 제어 게이트(30)을 포함한다.
오늘날 상업적으로 성공한 수 많은 비휘발성 고체 상태 메모리 장치가 사용되고 있다. 이런 메모리 장치는 다른 형태의 메모리 셀을 채택할 수도 있으며, 각 형태의 메모리 셀은 하나 이상의 전하 저장 소자를 구비한다.
일반적인 비휘발성 메모리 셀은 EEPROM 및 플래시 EEPROM을 포함한다. EEPROM 셀들 및 그것들을 제조하는 방법의 예들은 미국 특허 No. 5,595,924에 기술 되어 있다. 플래시 EEPROM 셀들, 메모리 시스템에서의 그것들의 용도, 및 그것들을 제조하는 방법의 예들은 미국 특허 No. 5,070,032, 5,095,344, 5,315,541, 5,343,063, 5,661,053, 5,313,421, 6,222,762에 기술되어 있다. 특히, NAND 셀 구조를 갖는 메모리 장치의 예는, 미국 특허 Nos. 5,570,315, 5,903,495, 6,046,935에 개시되어 있다. 또한, 유전체 저장 소자를 사용하는 메모리 장치들의 예들은 Eitan 등에 의해 저술된 ‘“NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545’ 그리고 미국 특허 Nos. 5,768,192, 6,011,725에 기술되어 있다.
실제로, 기준 전압이 상기 제어 게이트에 인가될 때, 셀의 메모리 상태는 상기 셀의 소스 전극 및 드레인 전극을 가로지르는 도전성 전류를 감지하여 일반적으로 판독된다. 그리하여, 셀의 플로팅 게이트 상의 각각의 소정의 전하량별로, 고정된 기준 제어 게이트 전압에 대해 해당 도전성 전류가 탐지될 수 있다. 유사하게, 상기 플로팅 게이트로 프로그래밍 가능한 전하량의 범위는 해당 임계 전압 창 또는 해당 전도성 전류 창을 정의한다.
또는, 분할된 전류 창 중에서 상기 전도성 전류를 탐지하는 대신에, 상기 제어 게이트에서 테스트시 소정의 메모리 상태에 대한 임계 전압을 설정하고 상기 전도성 전류가 임계 전압보다 낮거나 높은지 여부를 탐지할 수 있다. 임계 전류에 대응하는 상기 전도성 전류의 탐지는 상기 판단을 검토하여 이루어지는 일 실시예에서, 상기 전도성 전류는 상기 비트 라인의 캐피시턴스를 통해 방전된다.
도 3은 플로팅 게이트가 선택적으로 어느 한 번에 저장할 수 있는 4개의 다른 전하량 Q1 내지 Q4에 대한 소스-드레인 전류(ID) 및 제어 게이트 전압(VCG) 사이의 관계를 도시한다. 4개의 솔리드 ID - VCG 곡선은 4개의 가능한 메모리 상태들에 각각 대응하는 메모리 셀의 플로팅 게이트에 프로그래밍될 수 있는 4개의 가능한 전하량 레벨을 나타낸다. 일예로서, 소정의 셀들의 임계 전압 창의 범위는 0.5V 내지 3.5V이다. 각각이 하나의 삭제된 상태 및 6개의 프로그래밍된 상태들을 각각 나타내는 7개의 가능한 메모리 상태들 "0", "1", "2", "3", "4", "5", "6"이 0.5V의 간격으로 상기 임계 창을 5개의 영역으로 분할하여 구별될 수 있다. 예를 들어, 도시된 바와 같이, 2μA의 기준 전류(IREF)가 사용되면, Q1으로 프로그래밍된 셀은 그것의 곡선이 VCG = 0.5V 및 1.0V에 의해 구별된 임계 창의 영역에서 IREF와 교차하기 때문에, 메모리 상태 “1”에 있다고 판단될 수 있다. 유사하게, Q4는 메모리 상태 “5”를 유지한다. 상기 설명에서 알 수 있는 바와 같이, 메모리 셀의 저장되는 상태가 증가할수록, 임계 창은 더욱 분명하게 분할된다. 예를 들어, 메모리 장치는 -1.5V 내지 5V의 범위의 임계 창을 갖춘 메모리 셀을 구비할 수 있다. 이것은 6.5V의 최대 폭을 제공한다. 상기 메모리 셀이 16개의 상태를 저장할 경우에, 각 상태는 상기 임계 창에서 200mV에서 300mV까지의 범위를 차지한다. 이것은 요구된 해결책을 달성하기 위해서 프로그래밍 및 읽기 동작에서 더 높은 정밀성을 요구한다.
도 4는 NOR 어레이 메모리 셀의 예를 도시한다. 상기 메모리 어레이(200)에 서, 각 행의 메모리 셀은 데이지 체인 방식으로 자신들의 소스(14) 및 드레인(16)에 의해 연결된다. 이 디자인은 때때로 가상 접지 설계로 불린다. 행에 배열된 셀들(10)은 워드 라인(42)와 같은 워드 라인에 연결된 자신들의 제어 게이트들(30)을 포함한다. 열에 배열된 셀은 비트 라인들(34,36)과 같은 선택된 비트 라인들에 각각 연결된 자신들의 소스들 및 드레인들을 포함한다.
도 5(a)는 NAND 스트링으로 구성된 일련의 메모리 셀을 개략적으로 도시한다. NAND 스트링(50)은 상기 소스들 및 드레인들에 의해 데이지 체인방식으로 연결된 일련의 메모리 트랜지스터들(M1, M2, … Mn)(예를 들어, n= 4, 8, 16 또는 그 이상)로 구성된다. 한 쌍의 선택된 트랜지스터들(S1,S2)은 NAND 스트링의 소스 단자(54) 및 드레인 단자(56)을 각각 경유하여 외부로 메모리 트랜지스터 체인 연결을 제어한다. 메모리 어레이에서, 상기 소스 선택 트랜지스터(S1)이 턴온되면, 상기 소스 단자는 소스 라인에 결합된다(도 5(b) 참고). 유사하게, 상기 드레인 선택 트랜지스터(S2)가 턴온되면, 상기 NAND 스트링의 드레인 단자는 상기 메모리 어레이의 비트 라인에 결합된다. 체인 연결된 각 메모리 트랜지스터(10)은 메모리 셀의 역할을 수행한다. 그것은 의도된 메모리 상태를 나타내기 위해서 소정의 전하량을 저장하는 전하 저장 소자(20)을 구비한다. 각 메모리 트랜지스터의 제어 게이트(30)은 읽기 및 쓰기 동작들에 대한 제어를 가능하게 한다. 도 5(b)에서 알 수 있는 바와 같이, 행으로 배열된 NAND 스트링의 해당 메모리 트랜지스터들의 제어 게이트들(30)은 모두 상기 동일한 워드 라인에 연결된다. 유사하게, 선택 트랜지스터들(S1,S2) 각각의 제어 게이트(32)는 각각 소스 단자(54) 및 드레인 단자(56)을 통해 상기 NAND 스트링으로의 접속 제어를 제공한다. 이와 같이, 행으로 배열된 NAND 스트링의 해당 선택 트랜지스터들의 제어 게이트들(32)은 모두 상기 동일한 선택 라인에 연결된다.
NAND 스트링내 어드레스된 메모리 트랜지스터(10)가 프로그래밍 과정에서 판독되거나 검증되면, 제어 게이트(30)은 적당한 전압을 공급받는다. 동시에, 상기 NAND 스트링(50)의 나머지 비어드레스된 메모리 트랜지스터들은 그것들의 제어 게이트상에 충분한 전압을 인가하여 완전히 턴온된다. 이런 방식으로, 도전성 경로는 상기 개별 메모리 트랜지스터의 소스로부터 상기 NAND 스트링의 소스 단자(54)로 효과적으로 생성되고, 이와 마찬가지로, 상기 개별 메모리 트랜지스터의 드레인으로부터 상기 셀이 드레인 단자(56)로 생성된 도전성 경로가 생성된다. 그런 NAND 스트링 구조의 메모리 장치들은 미국 특허 Nos. 5,570,315, 5,903,495, 6,046,935에 개시되어 있다.
도 5B는 도 5(a)에 도시된 것과 같은 NAND 스트링들(50)로 구성된 메모리 셀의 NAND 어레이(200)의 예를 도시한다. NAND 스트링의 각 열을 따라, 비트 라인(36)과 같은 비트 라인이 각 NAND 스트링의 드레인 단자(56)에 결합된다. NAND 스트링의 각 뱅크를 따라, 소스 라인(34)과 같은 소스 라인이 각 NAND 스트링의 소스 단자(54)에 결합된다. 또한, 뱅크로 배열된 NAND 스트링들의 행으로 배열된 메모리 셀을 따라 제어 게이트들이 워드 라인(42)와 같은 워드 라인에 연결된다. 뱅크로 배열된 NAND 스트링의 행으로 배열된 선택 트랜지스터들을 따라 제어 게이트들이 선택 라인(44)과 같은 선택 라인에 연결된다. 뱅크로 배열된 NAND 스트링의 행으로 배열된 메모리 셀들 전체는 뱅크로 배열된 NAND 스트링의 워드 라인들 및 선택 라인들에 적절한 전압을 인가하여 어드레스될 수 있다. NAND 스트링내 메모리 트랜지스터가 판독되면, 상기 스트링내 잔존하는 메모리 트랜지스터들은 그것들의 관련 워드 라인들을 통해 턴온되어 상기 스트링을 통해 흐로는 전류는 필연적으로 판독된 셀에 저장된 전하량에 따른다.
도 6은 메모리 셀을 목표 메모리 상태로 프로그래밍하기 위한 종래 기술을 도시한다. 프로그래밍 전압(VPGM)은 결합된 워드 라인을 통해 상기 메모리 셀의 제어 게이트에 인가된다. 상기 VPGM은 초기 전압 레벨(VPGMO)로부터 시작되는 계단 형상의 파형의 형태로 일련의 프로그래밍 전압 펄스들이다. 프로그래밍중인 셀은 증가하는 전하량을 상기 플로팅 게이트에 더하는 시도를 할 때마다, 이런 일련의 프로그래밍 전압 펄스를 인가받는다. 프로그래밍 펄스들 사이에서, 상기 셀은 브레이크포인트 레벨에 해당하는 소스-드레인 전류을 결정하도록 재판독되거나 검증된다. 상기 재판독 공정은 하나 이상의 감지 동작을 포함할 수 있다. 상기 셀이 목표 상태에 도달한 것으로 검증되면, 상기 셀에 대한 프로그래밍은 중단된다. 사용된 프로그래밍 펄스 트레인은 상기 메모리 셀의 전하 저장부로 프로그래밍되는 축적되는 전자들을 방해하기 위해서 증가하는 기간 또는 진폭을 가질 수 있다. 프로그래밍 회로들은 일반적으로 일련의 프로그래밍 펄스들을 선택된 워드 라인으로 인가한다. 이런 방식으로, 제어 게이트들이 상기 워드 라인에 결합된 한 페이지의 메모리 셀은 동시에 프로그래밍될 수 있다. 상기 페이지의 메모리 셀은 그것의 목표 상태로 프로그래밍될 때마다, 상기 페이지의 모든 셀들의 프로그래밍이 검증될 때까지 다른 셀들이 계속해서 프로그래밍되는 동안 그것의 프로그래밍이 금지된다.
일련의 교번적 프로그램/검증 사이클을 사용하는 종래 프로그래밍 기술은 셀의 임계 전압이 상대적으로 큰 VPGM의 변동에 따라 초기에 빠르게 증가하는 프로그래밍 공정에서의 불확실성을 다룬다. 그러나, 상기 플로팅 게이트로 프로그래밍된 전하가 상기 전하를 상기 플로팅 게이트로 더욱 통과시키기 위해서 유효 전계를 감소시키는 차단막으로서 기능함에 따라, 상기와 같은 증가는 약해지며 결국에는 멈추게 된다. 상기 공정은 매우 비선형으로 나타나기 때문에, 시행착오적 접근이 채택된다.
상기 프로그램/검증 프로그래밍 기술의 단점은 상기 검증 사이클이 시간을 소요하며 성능에 영향을 미친다는 것이다. 상기 문제점은 다중 비트를 저장할 수 있는 메모리 셀들의 구현을 통해 악화된다. 메모리 셀의 가능한 다중 상태 각각에 대해 반드시 검증이 필요하다. 16개의 가능한 메모리 상태의 메모리의 경우에, 이것은 각 검증 단계가 적어도 16개의 감지 동작을 유도하는 것을 의미한다. 일부 다른 방식에서, 더 많은 검증이 필요할 수 있다. 따라서, 다중레벨 메모리 셀(“MLC”)에서 상태 레벨의 수가 증가함에 따라, 상기 프로그램/검증 방식의 검증 사이클은 점점 더 시간을 소요하게 된다.
그리하여, 상기 단점이 최소화되는 향상된 프로그래밍 성능을 갖춘 메모리 장치가 필요하다.
예측 프로그래밍 기법
본 발명의 실시형태에 따라, 일련의 메모리 셀을 구비한 비휘발성 메모리에서, 상기 메모리 셀은 개별적으로 소정 범위의 임계 전압 레벨들 중 하나에 프로그래밍될 수 있으며, 소정의 메모리 셀을 소정의 목표 임계 전압 레벨로 프로그래밍하기 위해서 인가될 필요가 있는 프로그래밍 전압 레벨을 예측하는 소정의 기능을 제공한다. 이런 방식에서는, 검증 동작을 수행할 필요가 없기 때문에, 상기 프로그래밍 동작의 성능을 크게 향상시킬 수 있다.
일 실시예에서, 상기 소정의 함수는 소정의 목표 임계 전압 레벨을 위하여 프로그래밍 전압 레벨을 비례적으로 산출하는 선형 함수과 유사하다. 상기 선형 함수는 상기 메모리 어레이의 셀들의 적용가능한 소정의 평균값에 의해 주어진 기울기를 갖는다. 상기 선형 함수는 소정의 메모리 셀에 대해 선형 함수에 체크 포인트를 기결정하여 상기 소정의 메모리 셀에 대해 유일하게 결정된다. 상기 체크 포인트는 상기 메모리 셀을 지정된 임계 전압 레벨로 프로그래밍하는 실제 프로그래밍 전압에 기반을 둔다. 상기 체크 포인트는 바람직하게 상기 메모리 셀의 최저 프로그램 상태 중 하나에 대응된다. 상기 메모리 셀은 우선 상기 체크 포인트로 프로그래밍되며, 예를 들어, 종래 프로그램/검증 프로그래밍 기법에 의해 검증된다. 이런 방식으로, 상기 메모리 셀을 상기 지정된 메모리 상태로 프로그래밍하는 데 필요한 실제 프로그래밍 전압의 체크 포인트 값이 결정된다. 따라서, 상기 소정의 함수는 상기 메모리 셀을 상기 목표 임계 전압 레벨로 프로그래밍하기 위한 프로그래밍 전압값으로 결정하는데 사용되기 전에 상기 체크 포인트 임계 전압 레벨에서 평가될 때, 상기 체크 포인트 프로그래밍 전압값을 산출하기 위해 조정된다.
다른 실시예에서, 복수의 체크 포인트들은 상기 메모리 셀들에 의해 지지되는 가능한 임계 전압 레벨들의 범위에서 지정된다. 각 체크 포인트는 각 체크 포인트 주변의 소정의 부분적인 함수를 조정하는데 사용된다. 상기 소정의 부분적인 함수는 관련 체크 포인트 주변에서 목표 임계 전압 레벨로 프로그래밍하기 위한 프로그래밍 전압 레벨을 예측하는데 사용된다.
상기 예측 프로그래밍 기법은 목표 상태로의 프로그래밍이 검증 동작을 필요로 하지 않는다는 점에서 장점이 있다. 검증 동작은 일반적으로 가능한 메모리 상태들의 개수보다 훨씬 적은 체크 포인트를 결정하는 경우에만 필요하다.
상기 예측 프로그래밍이 오류가 발생한 결과를 가져오는 변동이 있으나, 이런 변동은 적절한 에러 정정 코드(“ECC”)에 의해 처리할 수 있는 통계적으로 예측가능한 오류이다.
도 7은 소정의 메모리 장치의 다양한 메모리 셀 그리고 인가된 프로그래밍 전압 및 임계 전압 레벨 사이의 상기 관찰된 관계를 프로그래밍한 예를 도시한다. 개별 메모리 셀에 대한 프로그래밍 동작은 상기 임계 창의 실제적인 범위를 가로지름에도 놀랍게도 선형인 것을 알 수 있다. 어레이내 개별 셀은 프로그래밍된 임계 전압이 프로그래밍 전압 레벨의 변화에 실질적으로 비례하는 동일한 방식으로 동작한다. 상기 개별 셀이 매우 깊게 삭제됨에 따라, 그리고 기타 요인들로 인해, 상기 개별 셀들인 지정된 체크 포인트에 도달하는 프로그래밍 펄스의 개수가 다를 수 있으나, 이러한 각각의 개별 셀에 대한 소정의 함수는 거의 유사한 기울기를 갖는다. 도 7은 중간 비율의 프로그래밍 셀들(솔리드 라인들)의 일부 예들 뿐만 아니라, 저 속 프로그래밍 셀 및 고속 프로그래밍 셀 각각의 예를 도시한다. 상기 다른 예를 사이의 기울기의 차이는 미미하다는 것을 알 수 있다.
도 8은 소정의 메모리 장치에서 메모리 셀의 샘플에 대한 도 7에 도시된 기울기 분포를 개략적으로 도시한다. 상기 분포는 필연적으로 대략 0.9 정도의 평균 기울기와 대략 0.1의 표준 편차를 갖는 정상적인 분포를 나타낸다. 상기 실제 프로그래밍은 두 개의 다른 포르그래밍 전압 스텝 크기들을 채택한다. 양 스텝 크기들은 유사한 분포 및 평균 기울기를 산출하는 것을 알 수 있다.
도 9는 상기 메모리 셀을 목표 임계 전압 레벨로 프로그래밍할 필요가 있는 상기 프로그래밍 전압을 제공하기 위해 사용된 소정의 함수의 바람직한 실시예을 도시한다. 상기 소정의 함수는 하기의 관계에 의해 상기 목표 임계 레벨(VT)가 상기 프로그래밍 전압(VPGM)의 함수로서 주어지는 선형 함수과 유사하다.
VT(VPGM) = <기울기> VPGM + VT(0) 식(1)
{여기서, <기울기> = ΔVT/ΔVPGM}
반대로,
VPGM(VT) = l/<기울기> [VT - VT(0)] 식(2)
상기 바람직한 실시예에서, 평균 <기울기>는 공장에서 유사한 생산 배치로부터 샘플들을 테스트하여 선결정될 수 있다. 예를 들어, 상기 테스트에서는 <기울기>는 0.9로 산출될 수 있다. VT(0)은 셀 의존적이며, 각 셀의 예측 프로그래밍 이 전에 각 메모리 셀로부터 체크 포인트에 의해 선결정된다. 일단 <Slope> 및 VT(0)은 주어지며, 상기 메모리 셀에 대한 소정의 함수가 정의되며, 식(2)는 목표 임계 전압 레벨로 프로그래밍되는데 필요한 프로그래밍 전압 레벨을 얻는데 사용될 수 있다.
도 10은 본 발명의 일 실시예에 따른 예측 프로그래밍을 도시하는 흐름도이다.
단계 300: 프로그래밍중인 메모리 셀에 대한 소정의 함수를 제공하는 단계로서, 상기 함수는, 메모리 셀이 프로그래밍되도록 정해진 임계 전압 레벨의 함수로서 프로그래밍 전압값을 산출하는, 소정의 함수를 제공하는 단계.
단계 310: 진폭이 증가하는 프로그래밍 전압으로 상기 메모리 셀을 상기 목표 임계 전압 레벨로 프로그래밍한다. 상기 프로그래밍 전압은 결합된 워드 라인을 통해 상기 메모리 셀의 제어 게이트로 인가된다.
단계 320: 상기 프로그래밍 전압이 상기 목표 임계 전압 레벨에서 판단된 상기 소정의 함수에 의해 결정된 값에 거의 도달한 후, 상기 메모리 셀의 프로그래밍을 중단한다. 일반적으로, 상기 동일한 워드 라인에 결합된 한 페이지의 메모리 셀은 동시에 프로그래밍된다. 상기 문제의 메모리 셀이 상기 목표 임계 전압 레벨에서 판단된 소정의 함수에 의해 결정된 값을 수신하면, 상기 페이지의 다른 메모리 셀들에 대한 워드 라인에 가능한 추가적인 프로그래밍 펄스에도 불구하고 더 이상의 프로그래밍의 진행이 금지된다.
일반적으로, 상기 소정의 함수는 선형 함수과 유사할 필요는 없다. 상기 소정의 함수가 광범위한 임계 전압 레벨을 정확하게 덮는 경우에, 상기 함수는 일부 적당한 함수에 의해 모델화된 공장의 생산 배치를 테스트하여 결정될 수 있다.
일반적으로, 상기 프로그래밍중인 메모리 셀은 동시에 프로그래밍중인 한 페이지의 유사한 메모리 셀들 중의 하나이다. 상기 페이지의 각 메모리 셀에 대해 제공된 소정의 함수일 것이다. 상기 페이지의 모든 메모리 셀들이 동일한 워드 라인을 공유하기 때문에, 일단 상기 페이지의 메모리 셀이 상기 예측 프로그래밍 전압에 의해 프로그래밍되면 더 이상의 프로그래밍의 진행은 금지된다.
도 10에 도시된 상기 예측 프로그래밍 모드는 상기 메모리 어레이(200)의 메모리 동작을 제어하는 제어 회로(110)의 상태 머신(112)(도 1 참조)에서 바람직하게 구현된다.
도 11은 예측 프로그래밍 모드에서 적용에 따른 도 9에 도시된 소정의 함수의 조정에 따른 상기 프로그래밍 전압을 도시한다.
초기 단계에서, 상기 메모리 셀에 대한 체크 포인트(0)는 상기 삭제 상태와 관련된 것으로 간주되는 것보다 다소 높은 임계 전압 레벨(체크 포인트 임계 전압 레벨)에 있는 것으로 지정된다. 일련의 증가하는 프로그래밍 전압 펄스들은 상기 메모리 셀을 상기 체크 포인트 임계 전압 레벨로 프로그래밍하기 위해 인가된다. 상기 프로그래밍 모드는 상기 체크 포인트 임계 전압 레벨의 프로그래밍이 검증될 때까지 교번적으로 프로그래밍 및 검증 동작을 수행하는 종래의 모드일 수 있다. 일단 체크 포인트(0)에 대한 한 세트의 좌표들[VPGM, VT]checkpoint(0)이 주어지고, 식(2)의 형태의 상기 소정의 함수(도 9 참조)는 VT(0)에 대하여 해결되며, 완전히 설명될 수 있다.
상기 식(2)의 형태의 소정의 함수가 설명된 후에, 상기 메모리 셀은 목표 임계 전압 레벨 또는 목표 메모리 상태에 대해 계산된 프로그래밍 전압 레벨을 제공하는 상기 소정의 함수를 사용하는 예측 모드에서 프로그래밍될 수 있다. 바람직한 실시예에서, 상기 프로그래밍 전압 스텝 크기는 조정되어 각 추가적인 펄스는 상기 메모리 셀을 다음 메모리 상태로 프로그래밍한다. 16개의 가능한 메모리 상태를 갖는 메모리 셀의 예로, 상기 펄스 크기는 300mV일 수 있다. 이런 방식으로, 하나의 추가 펄스는 메모리를 상태(1)로 프로그래밍하고, 다른 추가 펄스는 상기 메모리를 상태(2)로 프로그래밍한다. 그리하여, 소정의 메모리 상태로의 프로그래밍은 상태(0)로부터 상태의 개수를 카운트하고 동일한 수의 펄스들을 공급하도록 감소된다. 예를 들어, 일단 플래그가 상태(0)로 설정된 후에, 상기 메모리 셀은 상태 개수와 동일한 펄스 개수에 의해 프로그래밍 될 수 있기 때문에, 상기 대상 상태는 상태(0)을 벗어나게 된다.
기타 프로그래밍 펄스 크기들도 가능하다. 예를 들어, 16개의 가능한 메모리 상태를 갖는 메모리 셀에 대하여, 상기 펄스 크기는 150mV일 수 있다. 이 경우에, 한 메모리 상태로부터 다음 근접한 메모리 상태로 프로그래밍하는데 두 개의 펄스가 소요된다. 이것은 상기 목표 임계치로부터의 마진을 사용하는 일부 실시예에서 유용한 프로그래밍에서 더욱 세부적인 해결책을 제공한다.
도 12는 도 11에 도시된 프로그래밍 과정에서 1페이지의 메모리 셀들의 다양한 메모리 상태의 분포를 개략적으로 도시한다. 상기 페이지의 메모리 셀은 낮은 임계 전압 레벨중 어느 하나를 유지할 수 있는 삭제 상태의 모든 메모리 셀들로부터 시작한다. 상기 초기 프로그래밍 단계 동안에, 일련의 프로그램/검증 사이클(예를 들어, x 프로그램 펄스들의 총합 + n*x 검증 단계)은 상기 메모리 셀을 상기 삭제 상태로부터 상태(0)로 프로그래밍할 것이다. 일반적으로, 각 메모리 셀에 대한 x는 서로 독립적이다. 일단 메모리 셀이 상태(0)을 유지하면, 예측 프로그래밍 모드가 시작되고 각 추가적인 펄스가 상기 메모리 셀을 다음 메모리 상태로 프로그래밍한다.
도 13은 체크 포인트를 사용한 메모리 셀의 소정 함수를 조정하는 것을 포함하는 도 10에 도시된 단계 300을 도시하는 흐름도이다.
단계 302: 해당 체크 포인트 프로그래밍 전압값에 의해 프로그래밍 가능한 지정된 체크 포인트 임계 전압 레벨로서 함수의 체크 포인트를 지정한다.
단계 304: 상기 체크 포인트 임계 전압 레벨의 프로그래밍이 검증될 때까지, 교번적 프로그래밍 및 검증에 의해 상기 해당 체크 포인트 프로그래밍 전압값을 결정한다.
단계 306: 상기 메모리 셀을 상기 목표 임계 전압 레벨로 프로그래밍하기 위한 프로그래밍 전압값을 결정하는데 사용되기 전에 상기 체크 포인트 임계 전압 레벨에서 평가될 때, 상기 체크 포인트 프로그래밍 전압값을 산출하기 위하여 상기 소정의 함수를 조정한다.
도 14는 하나 이상의 체크 포인트를 사용하는 예측 프로그래밍의 실시예의 제 1 예를 도시한다. 상기 제 1예에서, 상기 예측 모드에 의해 프로그래밍될 모든 메모리 상태가 상기 체크 포인트 모드하에서 프로그래밍된 메모리 상태보다 우선한다. 상기 체크 포인트 모드는 단계 302 및 단계 304에서 도 13에서 기술된다. 상기 메모리 셀은 상태(0), 상태(1), 상태(2),…로 단계적으로 프로그래밍될 수 있다면, 짝수 상태인, 상태(0), 상태(2), 상태(4),… 또한 체크 포인트로 지정될 수 있다. 이런 상태들은 상기 프로그램/검증 프로그래밍 모드에 의해 앞선 상태로부터 도달한다(도 6 참조). 각 체크 포인트로부터, 소정의 함수는 상기 다음 메모리 상태들, 예를 들어, 홀수 상태들인, 상태(1), 상태(3), 상태(5)를 예측적으로 프로그래밍하는데 조정되고 사용될 수 있다.
상기 소정의 함수는 모든 다른 메모리 상태로 재조정되며 상기 셀 프로그래밍 형태는 그런 짧은 간격에서 양호한 선형성을 나타내기 때문에, 도 14에 도시된 실시예는 예측 모드에서의 프로그래밍이 가장 정확하게 수행되게 한다. 모든 다른 메모리 상태만이 체크 포인트 모드에서 프로그래밍됨에 따라, 종래 프로그래밍(도 6 참조)에서 상기 검증 동작의 적어도 반은 수행되지 않는다.
도 15는, 도 14에 도시된 체크 포인트들은 상기 체크 포인트들에 대응하는 다양한 관련 소정의 함수들을 조정하기 위해 사용되는 형태를 도시한다. 모든 로컬 소정의 함수들은 선형이고 동일한 소정의 평균 기울기를 갖는 것을 알 수 있다. 상기 체크 포인트(0)은 상기 부분적인 소정의 함수(400)에 대한 경계 조건을 설정하 는데 사용된다. 유사하게, 상기 체크 포인트(2)는 상기 부분적인 소정의 함수(420)에 대한 경계 조건을 설정하는데 사용되며, 상기 체크 포인트(4)는 상기 부분적인 소정의 함수(440)에 대한 경계 조건을 설정하는데 사용된다.
일단 부분적인 소정의 함수가 설정되면, 상기 다음 메모리 상태에 대한 프로그래밍 전압 레벨을 산출하는데 사용될 수 있다. 그리하여, 상기 부분적인 소정의 함수(400)는 상기 셀을 상태(1)로 프로그래밍하기 위한 프로그래밍 전압 레벨을 산출하는데 사용되며, 상기 부분적인 소정의 함수(420)는 상기 셀을 상태(3)을 프로그래밍하기 위한 프로그래밍 전압 레벨을 산출하는데 사용되며, 상기 부분적인 소정의 기능(440)은 상기 셀을 상태(5)로 프로그래밍하기 위한 프로그래밍 전압 레벨을 산출하는데 사용된다.
도 16은 하나 이상의 체크 포인트를 사용하는 예측 프로그래밍의 실시예의 제 2 예를 도시한다. 도 14 및 도 15에 도시된 제 1예와 비교하여, 상기 제 2예는 4개의 메모리 상태마다 지정된 체크 포인트를 사용한다. 그리하여, 체크 포인트(0)은 상태(0), 상태(4), 상태(8) 등에서 지정된다. 상기 체크 포인트(0)에 의해 설정된 상기 부분적인 소정의 함수는 다음 3개의 메모리 상태들, 즉, 상태(1), 상태(2), 및 상태(3)에 대한 프로그래밍 전압을 예측하는데 사용된다. 유사하게, 체크 포인트(4)에 의해 설정된 상기 부분적인 소정의 함수는 이어지는 3개의 메모리 상태들, 즉, 상태(5), 상태(6) 및 상태(7)에 대해 각각 프로그래밍 전압을 예측하는데 사용될 것이다. 이런 제 2예로부터 도출된 상기 예측 프로그래밍된 전압은 제 1예만큼 정확하지는 않지만, 수 많은 애플리케이션에 충분히 사용될 수 있다. 그것 은 프로그램-검증 동작들의 개수를 더욱 줄일 수 있는 장점이 있다.
메모리 셀의 상기 임계 창에서 임계치 범위 중에서 다른 지정된 체크 포인트의 변동이 가능하다. 성능 및 정확성 사이의 균형에 따라 선택이 이루어질 수 있다.
예를 들어, 일부 프로그래밍 알고리즘에서, 상기 페이지의 메모리 셀은 모두 제 1 패스에서 셀들 각각의 목표 상태들에 가깝게 프로그래밍된다. 그 후, 제 2 프로그래밍 패스는 상기 각각의 목표 상태로의 프로그래밍을 완료한다. 상기 2-패스 접근은 이웃하는 메모리 셀들의 플로팅 게이트 사이에서 프로그램 오류를 제거하는데 사용된다. 상기 제 1 패스 프로그래밍은 상기 제 2 패스 만큼의 높은 정밀도를 요구하지 않기 때문에, 상기 제 1 패스는 시간을 절약하기 위해 상기 예측 프로그래밍 모드를 사용하여 수행될 수 있다. 일부 실시예에서, 상기 제 2 프로그래밍 패스는 또한 바람직하게는 적소에 더 많은 체크 포인트를 가지고 상기 예측 프로그래밍 모드를 채용하게 된다.
상기 예측 프로그래밍 모드는 상기 목표 임계 전압 레벨을 벗어날 매우 작은 가능성(0.1% 미만으로 추정)을 배제하지 않는다. 목표 메모리 상태를 벗어나는 경우에, 상기 에러는 구현된 에러 정정 코드에 의해 정정될 수 있다.
2개의 체크 포인트들이 유효한 경우에, 상기 소정의 함수의 기울기를 독립적으로 설정할 수 있다. 일단 상기 소정의 함수가 상술되면, 이어지는 메모리 상태들에 대한 프로그래밍 전압 레벨을 산출하는데 사용될 수 있다.
여기서, 모든 특허, 특허 출원, 조항, 서적, 명세서, 기타 공보, 문서 및 참 고 문헌은 모든 목적을 위하여 온전히 그래도 본 참조에 의해 통합된다. 상기 통합된 공보, 문서 또는 문헌 및 본 문서의 텍스트들 중의 일부 사이의 용어의 정의 또는 용도의 불일치 또는 상충의 범위까지, 본 문서의 용어의 정의 또는 용도가 보편화되어야 한다.
본 발명의 다양한 양상이 상기의 실시예를 참고로 설명되어 있지만, 본 발명은 첨부된 청구항의 범위 내에서 보호받을 수 있음을 이해한다.
상술한 바와 같이, 본 발명은, 전기적으로 삭제 및 프로그래밍 가능한 읽기 전용 메모리 (EEPROM) 및 플래시 EEPROM과 같은 비휘발성 반도체 메모리를 제공하고, 보다 구체적으로는 프로그램-검증 동작 횟수가 최소화되는 메모리 및 프로그래밍 동작을 제공하는데 사용된다.

Claims (36)

  1. 일련의 메모리 셀을 구비한 비휘발성 메모리에서, 상기 메모리 셀은 임계 전압 레벨들 범위 중의 하나로 개별적으로 프로그래밍 가능하며, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법에 있어서,
    프로그래밍 중인 메모리 셀에 대해 소정의 함수를 제공하는 단계로서, 상기 함수는, 메모리 셀이 프로그래밍되도록 정해진 임계 전압 레벨의 함수로서 프로그래밍 전압값을 산출하는, 함수를 제공하는 단계와,
    진폭이 증가하는 프로그래밍 전압으로 상기 메모리 셀을 상기 목표 임계 저압 레벨로 프로그래밍하는 단계와,
    상기 프로그래밍 전압이 상기 목표 임계 전압 레벨에서 평가된 소정의 함수에 의해 결정된 값에 거의 도달한 후 상기 메모리 셀의 프로그래밍을 중단하는 단계를
    포함하는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  2. 제 1항에 있어서, 상기 점점 증가하는 진폭을 갖는 프로그래밍 전압은 일련의 전압 펄스인, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  3. 제 1항에 있어서, 상기 소정의 함수는 거의 선형 함수인, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  4. 제 1항에 있어서, 상기 소정의 함수를 제공하는 단계는,
    해당 체크 포인트 프로그래밍 임계 전압값에 의해 프로그래밍 가능한 지정된 체크 포인트 임계 전압 레벨로서 함수의 체크 포인트를 지정하고,
    상기 체크 포인트 임계 전압 레벨의 프로그래밍이 검증될 때까지 교번적으로 프로그래밍 및 검증 동작을 수행하여 상기 해당 체크 포인트 프로그래밍 전압값을 결정하며,
    상기 메모리 셀을 상기 목표 임계 전압 레벨로 프로그래밍하기 위한 프로그래밍 전압값을 결정하기 위해 사용되기 전에 상기 체크 포인트 임계 전압 레벨에서 평가될 때, 상기 체크 포인트 프로그래밍 전압값을 산출하기 위해 상기 소정의 함수를 조정하는 것을
    포함하는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  5. 제 4항에 있어서, 상기 목표 임계 전압 레벨은 상기 체크 포인트 임계 전압 레벨로부터 소정의 전압 미만인, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  6. 제 4항에 있어서, 하나 이상의 체크 포인트 임계 전압 레벨은 임계 전압 레벨 중에서 지정되는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  7. 제 4항에 있어서, 상기 소정의 함수는 선형이고 추정된 기울기 및 체크 포인트에 의해 정의되는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  8. 제 4항에 있어서, 상기 소정의 함수는 거의 선형이고 적어도 2개의 체크 포인트들에 의해 정의되는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  9. 제 1항에 있어서, 상기 비휘발성 메모리는 1비트 이상의 데이터를 개별적으로 저장하는 메모리 셀을 구비하는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  10. 제 1항에 있어서, 상기 비휘발성 메모리는 전하 저장 소자로 프로그래밍된 전하량으로서 데이터를 개별적으로 저장하는 메모리 셀을 구비하는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  11. 제 1항에 있어서, 상기 전하 저장 소자가 전계 효과 트랜지스터의 플로팅 게이트인, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  12. 제 1항에 있어서, 상기 전하 저장 소자가 전계 효과 트랜지스터에서 유전체층인, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  13. 제 1항에 있어서, 상기 비휘발성 메모리는 NAND 구조를 가지는 메모리 셀을 구비하는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  14. 제 1항에 있어서, 상기 비휘발성 메모리는 플래시 EEPROM인, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  15. 제 1항에 있어서, 상기 비휘발성 메모리는 메모리 카드로 구현되는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  16. 제 1항에 있어서, 상기 비휘발성 메모리는 컴퓨터 장치에 내장되는, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  17. 제 1항 내지 제 16항 중 어느 한 항에 있어서, 상기 메모리 셀은 함께 프로그래밍된 하나의 그룹의 메모리 셀 중 하나인, 메모리 셀을 목표 임계 전압 레벨로 프로그래밍하는 방법.
  18. 비휘발성 메모리에 있어서,
    메모리 셀 어레이로서, 상기 메모리 셀은 임계 전압 레벨의 범위 중 하나로 개별적으로 프로그래밍 가능한, 메모리 셀 어레이와,
    한 페이지의 메모리 셀을 병렬로 판독 및 프로그래밍하는 판독/기록 회로와,
    상기 판독/기록 회로를 포함하는 비휘발성 메모리의 동작을 제어하는 상태 머신을
    포함하고,
    상기 상태 머신은,
    프로그래밍중인 메모리 셀에 대한 소정의 함수를 제공하며, 상기 함수는 메모리 셀이 해당 레벨로 프로그래밍되는 임계 전압 레벨의 함수로서 프로그래밍 전압값을 산출하고,
    진폭이 증가하는 프로그래밍 전압으로 상기 메모리 셀을 상기 목표 임계 저압 레벨로의 프로그래밍을 제어하며,
    상기 프로그래밍된 전압이 상기 목표 임계 전압 레벨에서 평가된 상기 소정의 함수에 의해 결정된 값에 거의 도달한 후 상기 메모리 셀의 프로그래밍을 중단하는, 비휘발성 메모리.
  19. 제 18항에 있어서, 상기 증가하는 진폭을 갖는 프로그래밍 전압은 일련의 전압 펄스인, 비휘발성 메모리.
  20. 제 18항에 있어서, 상기 소정의 함수는 거의 선형 함수인, 비휘발성 메모리.
  21. 제 18항에 있어서, 소정의 함수를 제공하는 상기 상태 머신은,
    해당 체크 포인트 프로그래밍 전압값에 의해 프로그래밍 가능한 지정된 체크 포인트 임계 전압 레벨로서 함수의 체크 포인트를 지정하고,
    상기 체크 포인트 임계 전압 레벨의 프로그래밍이 검증될 때까지 교번적으로 프로그래밍 및 검증 동작을 수행하여 상기 해당 체크 포인트 프로그래밍 전압값을 결정하며,
    상기 메모리 셀을 상기 목표 임계 전압 레벨로 프로그래밍하기 위한 프로그래밍 전압값을 결정하기 위해 사용되기 전에 상기 체크 포인트 임계 전압 레벨에서 평가될 때, 상기 체크 포인트 프로그래밍 전압값을 산출하기 위해 상기 소정의 함수를 조정하는 것을
    더 포함하는, 비휘발성 메모리.
  22. 제 21항에 있어서, 상기 목표 임계 전압 레벨은 상기 체크 포인트 임계 전압 레벨로부터 소정의 전압 미만인, 비휘발성 메모리.
  23. 제 21항에 있어서, 하나 이상의 체크 포인트 임계 전압 레벨은 임계 전압 레벨 중에서 지정되는, 비휘발성 메모리.
  24. 제 21항에 있어서, 상기 소정의 함수는 선형이고 추정된 기울기 및 체크 포인트에 의해 정의되는, 비휘발성 메모리.
  25. 제 21항에 있어서, 상기 소정의 함수는 선형이고 추정된 기울기 및 적어도 두 개의 체크 포인트에 의해 정의되는, 비휘발성 메모리.
  26. 제 18항에 있어서, 상기 비휘발성 메모리는 1비트 이상의 데이터를 개별적으로 저장한 메모리 셀을 구비하는, 비휘발성 메모리.
  27. 제 18항에 있어서, 상기 비휘발성 메모리는 전하 저장 소자로 프로그래밍된 전하량으로서 데이터를 개별적으로 저장하는 메모리 셀을 구비하는, 비휘발성 메모리.
  28. 제 18항에 있어서, 상기 전하 저장 소자가 전계 효과 트랜지스터의 플로팅 게이트인, 비휘발성 메모리.
  29. 제 18항에 있어서, 상기 전하 저장 소자는 전계 효과 트랜지스터에서 유전체층인, 비휘발성 메모리.
  30. 제 18항에 있어서, 상기 비휘발성 메모리는 NAND 구조를 가지는 메모리 셀을 구비하는, 비휘발성 메모리.
  31. 제 18항에 있어서, 상기 비휘발성 메모리는 플래시 EEPROM인, 비휘발성 메모 리.
  32. 제 18항에 있어서, 상기 비휘발성 메모리는 메모리 카드로 구현되는, 비휘발성 메모리.
  33. 제 18항에 있어서, 상기 비휘발성 메모리는 컴퓨터 장치에 내장되는, 비휘발성 메모리.
  34. 비휘발성 메모리로서,
    메모리 셀 어레이로서, 상기 메모리 셀은 임계 전압 레벨들의 범위 중 하나로 개별적으로 프로그래밍 가능한, 메모리 셀 어레이와,
    프로그래밍중인 메모리 셀에 대한 소정의 함수를 제공하는 수단으로서, 상기 함수는, 메모리 셀이 프로그래밍되도록 정해진 임계 전압 레벨의 함수로서 프로그래밍 전압값을 산출하는, 수단과,
    진폭이 증가하는 프로그래밍 전압으로 상기 메모리 셀을 상기 목표 임계 저압 레벨로의 프로그래밍을 제어하는 수단과,
    상기 프로그래밍이 상기 목표 임계 전압 레벨에서 평가된 상기 소정의 함수에 의해 결정된 값에 거의 도달한 후 상기 메모리 셀의 프로그래밍을 중단하는 수단을
    포함하는, 비휘발성 메모리.
  35. 제 34항에 있어서,
    해당 체크 포인트 프로그래밍 전압값에 의해 프로그래밍 가능한 지정된 체크 포인트 임계 전압 레벨로서 함수의 체크 포인트를 지정하는 수단과,
    상기 체크 포인트 임계 전압 레벨의 프로그래밍이 검증될 때까지 교번적으로 프로그래밍 및 검증 동작을 수행하여 상기 해당 체크 포인트 프로그래밍 전압값을 결정하는 수단과,
    상기 메모리 셀을 상기 목표 임계 전압 레벨로 프로그래밍하기 위한 프로그래밍 전압값을 결정하기 위해 사용되기 전에 상기 체크 포인트 임계 전압 레벨에서 평가될 때, 상기 체크 포인트 프로그래밍 전압값을 산출하기 위해 상기 소정의 함수를 조정하는 수단을
    더 포함하는, 비휘발성 메모리.
  36. 제 18항 내지 제 36항 중 어느 한 항에 있어서, 상기 메모리 셀은 함께 프로그래밍된 하나의 그룹의 메모리 셀 중 하나인, 비휘발성 메모리.
KR1020097021264A 2007-04-10 2008-04-09 비휘발성 메모리 및 예측 프로그래밍 방법 KR20100028019A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/733,694 US7643348B2 (en) 2007-04-10 2007-04-10 Predictive programming in non-volatile memory
US11/733,706 2007-04-10
US11/733,694 2007-04-10
US11/733,706 US7551483B2 (en) 2007-04-10 2007-04-10 Non-volatile memory with predictive programming

Publications (1)

Publication Number Publication Date
KR20100028019A true KR20100028019A (ko) 2010-03-11

Family

ID=39712596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097021264A KR20100028019A (ko) 2007-04-10 2008-04-09 비휘발성 메모리 및 예측 프로그래밍 방법

Country Status (6)

Country Link
EP (1) EP2135252A2 (ko)
JP (1) JP2010524147A (ko)
KR (1) KR20100028019A (ko)
CN (1) CN101711414B (ko)
TW (1) TWI371041B (ko)
WO (1) WO2008124760A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200031886A (ko) * 2018-09-17 2020-03-25 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
WO2008053473A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Memory cell readout using successive approximation
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7706182B2 (en) 2006-12-03 2010-04-27 Anobit Technologies Ltd. Adaptive programming of analog memory cells using statistical characteristics
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
JP5529858B2 (ja) * 2008-06-12 2014-06-25 サンディスク テクノロジィース インコーポレイテッド インデックスプログラミングおよび削減されたベリファイを有する不揮発性メモリおよび方法
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8223556B2 (en) * 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8681562B2 (en) 2011-01-10 2014-03-25 Micron Technology, Inc. Memories and methods of programming memories
JP2014053060A (ja) 2012-09-07 2014-03-20 Toshiba Corp 半導体記憶装置及びその制御方法
KR102449196B1 (ko) * 2016-01-15 2022-09-29 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
JP6539608B2 (ja) * 2016-03-15 2019-07-03 東芝メモリ株式会社 半導体記憶装置
CN110556145A (zh) * 2018-06-01 2019-12-10 北京兆易创新科技股份有限公司 一种存储单元的编程方法、装置、电子设备及存储介质
CN110556146A (zh) * 2018-06-01 2019-12-10 北京兆易创新科技股份有限公司 一种存储单元的编程方法、装置、电子设备及存储介质
CN110556150A (zh) * 2018-06-01 2019-12-10 北京兆易创新科技股份有限公司 一种存储单元的编程方法、装置、电子设备及存储介质
CN110610739B (zh) * 2019-09-17 2021-06-18 珠海创飞芯科技有限公司 一种阈值电压调节方法
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0453096A (ja) * 1990-06-19 1992-02-20 Toshiba Corp アナログ記憶装置
US5729489A (en) * 1995-12-14 1998-03-17 Intel Corporation Programming flash memory using predictive learning methods
EP0913832B1 (en) * 1997-11-03 2003-07-23 STMicroelectronics S.r.l. Method for multilevel programming of a nonvolatile memory, and a multilevel nonvolatile memory
DE69927967T2 (de) * 1999-08-03 2006-07-27 Stmicroelectronics S.R.L., Agrate Brianza Programmierungverfahren eines nichtflüchtigen Multibit Speichers durch Regelung der Gatespannung
US6504760B1 (en) * 2001-06-22 2003-01-07 Intel Corporation Charging a capacitance of a memory cell and charger
US7042766B1 (en) * 2004-07-22 2006-05-09 Spansion, Llc Method of programming a flash memory device using multilevel charge storage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200031886A (ko) * 2018-09-17 2020-03-25 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Also Published As

Publication number Publication date
JP2010524147A (ja) 2010-07-15
TWI371041B (en) 2012-08-21
CN101711414A (zh) 2010-05-19
TW200907975A (en) 2009-02-16
EP2135252A2 (en) 2009-12-23
WO2008124760A2 (en) 2008-10-16
CN101711414B (zh) 2013-06-26
WO2008124760A3 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
KR20100028019A (ko) 비휘발성 메모리 및 예측 프로그래밍 방법
US7965562B2 (en) Predictive programming in non-volatile memory
KR101905218B1 (ko) 감소된 검증을 가진 개선된 프로그래밍을 위한 비휘발성 메모리 및 방법
JP5266393B2 (ja) 最も速いおよび/または最も遅いプログラミングビットを無視することによってプログラムベリファイを削減する不揮発性メモリおよび方法
US8300458B2 (en) Nonvolatile memory with correlated multiple pass programming
US7551483B2 (en) Non-volatile memory with predictive programming
US7826271B2 (en) Nonvolatile memory with index programming and reduced verify
USRE45813E1 (en) Reducing the impact of interference during programming
USRE45910E1 (en) Programming non-volatile storage including reducing impact from other memory cells
US7800945B2 (en) Method for index programming and reduced verify in nonvolatile memory
JP5529858B2 (ja) インデックスプログラミングおよび削減されたベリファイを有する不揮発性メモリおよび方法
US7796435B2 (en) Method for correlated multiple pass programming in nonvolatile memory
JP2009522707A (ja) 不揮発性メモリにおける改善されたプログラムベリファイ操作のための方法および装置
JP5395167B2 (ja) 相関複数パスプログラミングのための不揮発性メモリおよび方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid