KR20080019713A - 플래시 메모리에 최적화된 전압 레벨을 갖는 프로그램 방법 - Google Patents

플래시 메모리에 최적화된 전압 레벨을 갖는 프로그램 방법 Download PDF

Info

Publication number
KR20080019713A
KR20080019713A KR1020087001285A KR20087001285A KR20080019713A KR 20080019713 A KR20080019713 A KR 20080019713A KR 1020087001285 A KR1020087001285 A KR 1020087001285A KR 20087001285 A KR20087001285 A KR 20087001285A KR 20080019713 A KR20080019713 A KR 20080019713A
Authority
KR
South Korea
Prior art keywords
programming
data bits
programmed
volatile memory
memory device
Prior art date
Application number
KR1020087001285A
Other languages
English (en)
Other versions
KR100956709B1 (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 KR20080019713A publication Critical patent/KR20080019713A/ko
Application granted granted Critical
Publication of KR100956709B1 publication Critical patent/KR100956709B1/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/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
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Abstract

연속한 프로그래밍 사이클의 프로그래밍 전압을 이전 프로그래밍 사이클 중에 프로그래밍 검증에 실패하여 메모리 어레이 내로 잘못 프로그래밍된 데이터 비트의 퍼센티지와 관련하여 증가시키는 비휘발성 메모리 장치와 프로그래밍 프로세스에 대해 설명된다. 본 발명의 비휘발성 메모리 장치와 프로그래밍 프로세스에 의해서, 평균적인 프로그램 동작 속도가 더 빨라지며, 프로그래밍 전압의 후속된 증가가 특정의 비휘발성 메모리 장치, 프로그래밍되는 특정의 영역이나 행, 및 장치 사용과 마모로 인한 프로그래밍 특성의 변화에 더 정확하게 일치할 수 있다. 본 발명의 일 실시예에서, 제조 공정/설계 및/또는 특정 메모리 장치의 특징은 프로그래밍 전압 증가 프로파일에 대한 실패한 비트 퍼센티지를 발생시켜 원하는 프로그래밍 전압 델타/증가를 설정하는 것이다. 본 발명의 다른 실시예에서, 방법과 장치는 데이터를 비휘발성 메모리 장치, 특히 NAND 및 NOR 구조 플래시 메모리 어레이와 장치에 프로그래밍하는 것에 관한 것이다.
플래시 메모리, 비휘발성 메모리, NAND, NOR, 프로그래밍 전압, 프로그래밍 사이클

Description

프로그래밍에 실패한 것으로 검출된 비트의 수에 따라 전압 레벨을 최적화한 플래시 메모리를 위한 프로그램 방법{PROGRAM METHOD FOR FLASH MEMORY WITH OPTIMIZED VOLTAGE LEVEL DEPENDENT OF THE NUMBER OF BITS DETECTED TO HAVE FAILED PROGRAMMING}
본 발명은 일반적으로 메모리 장치에 관한 것으로, 특히 플래시 메모리 장치에 관한 것이다.
메모리 장치는 통상적으로 컴퓨터에서 내부 저장 영역으로서 제공된다. 메모리란 용어는 집적 회로 칩 형태로 된 데이터 저장 장치를 말한다. 현재, 전자 장치에서는 몇 가지 종류의 메모리가 사용되고 있는데, 한가지 형태는 RAM(random-access memory)이다. RAM은 특성상 컴퓨터 환경에서 메인 메모리로서 사용된다. RAM은 판독 및 기입 메모리를 말한다. 즉, 데이터를 RAM에 기입할 수도 있고, RAM으로부터 데이터를 판독할 수도 있다. 이는 데이터의 판독만 허용하는 ROM과는 대조적인 것이다. 대부분의 RAM은 휘발성인데, 이는 RAM의 내용을 유지하기 위해서는 지속적으로 전기를 공급해야 한다는 것을 뜻한다. 전원이 꺼지면 RAM 내의 모든 데이터는 소실된다.
컴퓨터는 대부분 컴퓨터를 기동하기 위한 명령들을 저장하고 있는 소용량의 리드 온니 메모리(ROM)를 내장하고 있다. RAM과는 달리 ROM에는 기입될 수 없다. 전원이 꺼져도 메모리 셀의 데이터 내용을 손실시키지 않는 메모리 장치를 일반적으로 비휘발성 메모리라 한다. EEPROM(electrically erasable programmable read-only memory)은 전하에 노출시킴으로써 소거될 수 있는 특수 형태의 비휘발성 ROM이다. EEPROM은 전기적으로 절연된 게이트(부동 게이트)를 가진 많은 메모리 셀을 포함한다. 메모리 셀에서는 데이터가 부동 게이트 상에 전하 형태로 저장된다. 통상의 부동 게이트 메모리 셀은, 집적 회로 기판에서 제조되며, 소스 영역, 중간 채널 영역을 형성하기 위해, 이 소스 영역과 이격된 드레인 영역을 포함한다. 부동 게이트는 통상적으로 도핑된 폴리실리콘으로 만들어지며, 채널 영역 위에 배치되고, 통상적으로 산화물과 같은 유전물질에 의해 다른 셀 요소와는 전기적으로 절연되어 있다. 예컨대, 부동 게이트와 채널 영역 사이에는 게이트 산화물이 형성될 수 있다. 제어 게이트는 부동 게이트 위에 배치되며, 이 또한 통상적으로는 도핑된 폴리실리콘으로 만들어진다. 제어 게이트는 다른 유전체 층에 의해 부동 게이트와 전기적으로 분리되어 있다. 따라서, 부동 게이트는 유전체 속에 "부동 상태(floating)"로 있어서, 채널과 제어 게이트로부터 절연되어 있다. 전하는 특수화 프로그래밍과 소거 동작에 따라서 부동 게이트로 수송되거나 부동 게이트로부터 제거된다. 다른 종류의 비휘발성 메모리로는 중합체 메모리, 강유전성 랜덤 액세스 메모리(FeRAM), 오비오닉스 유니파이드 메모리(Ovionics Unified Memory: OUM) 및 자기저항 랜덤 액세스 메모리(MRAM)가 있지만, 이에 제한되는 것은 아니다.
또 다른 종류의 비휘발성 메모리로는 플래시 메모리가 있다. 통상적인 플래 시 메모리는 많은 메모리 셀을 포함하는 메모리 어레이로 이루어져 있다. 메모리 셀 각각은 전계 효과 트랜지스터(FET)에 매립된 부동 게이트나 전하 트래핑 층을 포함한다. 메모리 셀들은 보통은 "소거 블록"으로 불리는 섹션들로 그룹화되어 있다. 소거 블록 내의 메모리 셀 각각은 전하를 부동 게이트 쪽으로 터널링함으로써 선택적으로 전기적으로 프로그램된다. 음전하는 통상적으로 블록 소거 동작에 의해 부동 게이트로부터 제거되고, 소거 블록 내의 모든 부동 게이트 메모리 셀은 한 번의 동작으로 소거된다. 최근의 플래시 메모리 장치에서는 복수의 임계 레벨 또는 비도전성 전하 트래핑 층을 이용하여 메모리 셀 FET의 각 소스/드레인 부근의 전하에 트랩된 데이터를 저장함으로써 하나의 셀에 복수의 비트를 저장하고 있음에 주목한다.
일반적인 두 가지 종류의 플래시 메모리 어레이 구조로서, 그 기본 메모리 셀 구성이 기본 NAND 또는 NOR 게이트 회로와 닮은 "NAND"와 "NOR" 구조가 있다. NOR 어레이 구조에서는 메모리 어레이의 부동 게이트 메모리 셀들은 매트릭스 형태로 배열되어 있다. 어레이 매트릭스의 각 부동 게이트 메모리 셀의 게이트들은 워드 선택 라인(워드 라인)에 행으로(row) 연결되고, 소스/드레인들은 열(column) 비트 라인 및/또는 소스 라인에 연결되어 있다. NAND 어레이 구조도, 어레이의 각 부동 게이트 메모리 셀의 게이트들이 워드 라인에 행으로 연결되도록 부동 게이트 메모리 셀 어레이를 매트릭스 형태로 배열하고 있다. 그러나, 각 메모리 셀은 소스 라인과 열 비트 라인에 직접 연결되는 것은 아니다. 그 대신에, 어레이의 메모리 셀은 통상적으로 8, 16, 32 또는 그 이상의 스트링 형태로 함께 배열되어 있으 며, 이 스트링 내의 메모리 셀들은 공통 소스 라인과 열 비트 라인 사이에서 소스/드레인과 함께 직렬로 서로 연결되어 있다. 그러면, 게이트에 연결된 워드 선택 라인을 선택함으로써 선택된 메모리 셀에 연결된 부동 게이트 메모리 셀의 행을 활성화시킴으로써 NAND 구조 부동 게이트 메모리 어레이의 메모리 셀에 액세스된다. 게다가, 스트링 중에서 선택되지 않은 메모리 셀의 게이트에 연결된 워드 라인도 (더 높은 전압으로) 구동되어, 패스 스루 모드(pass through mode)로 들어가서 선택된 메모리 셀에의 액세스를 가능하게 한다.
플래시 메모리의 일반적인 프로그래밍 기법은, 제어 게이트에 프로그래밍 전압 또는 일련의 프로그래밍 전압 펄스를 인가하여, 선택된 메모리 셀을 프로그램(논리 "0"으로 설정됨)되거나 금지(프로그램되지 않음, 보통은 셀이 소거되게 하여 논리 "1"로 설정되도록 의도됨)되도록 프로그래밍 또는 금지시킴으로써 한 행(한 페이지)의 메모리를 프로그램한다. 이들 프로그래밍 전압 및/또는 펄스는 통상적으로 설계에 의해 설정되며, 특정의 경우에는, 제조 공정 중에 트림되거나(trimmed) 선택되므로 제조 비용을 더 증가시킨다. 그러나, 칩 간, 영역 간 또는 메모리 어레이의 행 간의 제조 공정 편차로 인해 모든 플래시 메모리는 아니지만 플래시 메모리는 주어진 인가 프로그래밍 전압에 대해 동일하게 프로그램될 것이다. 게다가, 개별적인 메모리 장치의 제조 중에 프로그래밍 전압이 선택되는 경우에서도, 메모리 장치의 프로그래밍 특성이 복수의 프로그램/소거 사이클 후에 변할 수 있거나 공급 전압이나 온도에 따라 변한다.
상술한 이유 및 본 명세서를 읽고 이해할 때에 당업자에게 명백하게 될 하기 의 다른 이유 때문에, 본 기술분야에서는 플래시 메모리 어레이를 프로그래밍하는 대안의 방법이 필요하다.
플래시 메모리의 프로그래밍에 대한 상기 문제점과 기타 다른 문제점이 본 발명에서 다루어지며, 다음 상세한 설명을 읽어보고 연구함으로써 이해될 것이다.
여러가지 실시예들은 비휘발성 메모리 장치를 프로그래밍하는 것에 관한 것이며, 메모리 어레이의 행을 프로그래밍하는 등의 병렬 동작으로 데이터를 메모리 어레이에 프로그램하고, 프로그래밍 전압 레벨의 증가에 따라 프로그래밍 사이클이 반복되어 이전 사이클에서 올바르게 프로그램되지 못한 데이터의 임의의 비트를 프로그램한다. 본 발명의 실시예들에서, 연속한 프로그래밍 사이클의 프로그래밍 전압은 이전 프로그래밍 사이클 중에 프로그래밍 검증에 실패하여 메모리 어레이 내로 올바르게 프로그래밍되지 못한 데이터 비트의 퍼센티지와 관련하여 증가된다. 이렇게 하면, 평균 프로그램 동작 속도가 더 빨라지며, 프로그래밍 전압의 후속된 증가가 특정의 비휘발성 메모리 장치, 프로그래밍되는 특정의 영역이나 행, 및 장치 사용과 마모로 인한 프로그래밍 특성의 임의의 변화에 더 정확하게 일치할 수 있다. 본 발명의 일 실시예에서, 제조 공정/설계 및/또는 특정 메모리 장치는, 프로그래밍 전압 증가 프로파일에 대한 실패한 비트 퍼센티지를 발생시켜 주어진 데이터 비트 실패 퍼센티지에 대해 원하는 프로그래밍 전압 델타/증가를 설정하는 것을 특징으로 한다. 본 발명의 일 실시예에서, 방법과 장치는, 비휘발성 메모리 장치, 특히 NAND 및 NOR 구조 플래시 메모리 어레이 및 장치에의 데이터 프로그래밍에 관한 것이다.
일 실시예에서, 본 발명은, 복수의 데이터 비트로 프로그램되도록 선택되는 복수의 메모리 셀에 개시 프로그래밍 전압을 인가함으로써 프로그래밍 사이클에서 상기 비휘발성 메모리 장치의 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하는 단계, 상기 프로그램 사이클 중에 상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키는 단계, 올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블링하는 단계, 및 올바르게 프로그램되지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법을 제공한다.
다른 실시예에서, 본 발명은, 프로그래밍 명령과, 복수의 데이터 비트를 포함하는 프로그램 데이터를 수신하는 단계, 상기 복수의 데이터 비트로 프로그램되도록 선택하는 복수의 메모리 셀에 개시 프로그래밍 전압을 인가함으로써 프로그래밍 사이클에서 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하는 단계, 및 상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 프로그램된 프로그램 데이터의 상기 복수의 데이터 비트를 검증하고, 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키고, 올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블하고, 올바르게 프로그램하지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하고, 하나 이상의 반복 사이클 동안 반복하는 것에 의해, 올바르게 프로그램되지 못한 상기 복수의 메모리 셀 중 임의의 메모리 셀을 프로그램하는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법을 제공한다.
또 다른 실시예에서, 본 발명은, 상기 비휘발성 메모리 장치의 인터페이스 상에서 프로그래밍 명령과, 복수의 데이터 비트를 포함하는 프로그램 데이터를 수신하는 단계, 상기 프로그램 데이터를 데이터 캐시에 전송하는 단계, 상기 프로그램 데이터를 기입 데이터 래치에 전송하는 단계, 상기 데이터 캐시에 보유된 상기 프로그램 데이터에서 프로그램될 비트의 수를 산출하는 단계, 상기 복수의 데이터 비트로 프로그램되도록 선택되는 복수의 메모리 셀에 개시 프로그래밍 전압을 인가함으로써 프로그래밍 사이클에서 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하는 단계, 및 상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 프로그램된 프로그램 데이터의 상기 복수의 데이터 비트를 검증하고, 올바르게 프로그램되지 못한 메모리 셀의 수를 산출하고, 상기 데이터 캐시에 보유된 프로그램될 비트의 수와 관련하여 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지를 산출하고, 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키고, 올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블링하고, 올바르게 프로그램되지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하고, 하나 이상의 반복 사이클 동안 반복하는 것에 의해, 올바르게 프로그램되지 못한 상기 복수의 메모리 셀 중 임의의 메모리 셀을 프로그램하려고 시도하는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법을 제공한다.
또 다른 실시예에서, 본 발명은 비휘발성 메모리 장치에 연결된 호스트를 포함하는 시스템을 제공한다. 비휘발성 메모리 장치는 비휘발성 메모리 어레이, 및 제어 상태 머신 회로를 포함하고, 상기 제어 상태 머신 회로는, 복수의 데이터 비트로 프로그램되도록 선택되는 복수의 메모리 셀에 개시 프로그래밍 전압을 인가하고, 상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 프로그램된 상기 복수의 데이터 비트를 검증하고, 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키고, 올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블링하고, 올바르게 프로그램되지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하고, 하나 이상의 반복 사이클 동안 반복하는 것에 의해, 올바르게 프로그램되지 못한 상기 복수의 메모리 셀 중 임의의 메모리 셀을 프로그램하려고 시도함으로써, 프로그래밍 동작시에 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하도록 구성된다.
또 다른 실시예에서, 본 발명은 프로그램 동작 시에 비휘발성 메모리 어레이에 프로그램될 프로그램 데이터로부터 예상 데이터 비트의 수를 산출하는 단계, 상기 프로그램 동작 시에 프로그램되지 못한 실패 데이터 비트의 수를 산출하는 단계, 및 상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 비교에 따라서 프로그래밍 전압을 증가시키는 단계를 포함하는 비휘발성 메모리 장치 동작 방법을 제공한다.
본 발명의 또 다른 실시예들은 기술적 범위를 변화시킨 방법과 장치를 포함한다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 내장한 시스템의 간소화된 블록도.
도 2는 본 발명의 일 실시예에 따른 NOR 구조 플래시 메모리 어레이의 간소화된 블록도.
도 3은 본 발명의 일 실시예에 따른 NAND 구조 플래시 메모리 어레이의 부동 게이트 메모리 셀의 일련의 스트링의 간소화된 블록도.
도 4는 부동 게이트 메모리 셀의 소거 및 프로그램된 Vt 분포를 상세히 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그래밍 동작을 상세히 도시한 파형도.
도 6은 종래기술의 NAND 구조 플래시 메모리의 프로그래밍 동작의 플로우차트.
도 7은 본 발명의 일 실시예에 따른 NAND 구조 플래시 메모리의 프로그래밍 동작의 플로우차트.
도 8은 본 발명의 실시예에 따른 감지 증폭기 회로와 제어 회로의 개략도.
바람직한 실시예의 하기의 상세한 설명에서는, 본 명세서의 일부를 구성하며 본 발명이 실시될 수 있는 특정의 바람직한 실시예들이 예시적으로 도시되어 있는 첨부 도면을 참조한다. 이 실시예들은 당업자가 본 발명을 실시할 수 있도록 자세히 설명되며, 다른 실시예도 이용될 수 있고, 본 발명의 본질과 범위에서 벗어남이 없이 논리적, 기계적 및 전기적 변경이 가능함은 물론이다. 그러므로, 하기의 상세한 설명은 한정적 의미를 갖는 것이 아니며, 본 발명의 범위는 청구 범위에 의해서만 정해지는 것이다.
본 발명의 실시예들은, 메모리 어레이의 행을 프로그래밍하는 것과 같이 병렬 동작으로 데이터를 비휘발성 어레이에 프로그램해 넣고, 프로그래밍 전압 레벨의 증가에 따라 프로그래밍 사이클이 반복되어 이전 사이클에서 잘못 프로그램된 데이터의 비트를 프로그램하는 비휘발성 메모리 장치를 포함한다. 본 발명의 실시예들에서, 연속한 프로그래밍 사이클의 프로그래밍 전압은 이전 프로그래밍 사이클 중에 프로그래밍 검증에 실패하여 메모리 어레이 내로 잘못 프로그래밍된 데이터 비트의 퍼센티지와 관련하여 증가된다. 이렇게 하면, 평균적인 프로그램 동작 속도가 더 빨라지며, 프로그래밍 전압의 후속된 증가가 특정의 비휘발성 메모리 장치, 프로그래밍되는 특정의 영역이나 행, 및 장치 사용과 마모로 인한 프로그래밍 특성의 변화에 더 정확하게 일치할 수 있다. 본 발명의 일 실시예에서, 제조 공정/설계 및/또는 특정 메모리 장치의 특징은 프로그래밍 전압 증가 프로파일에 대한 실패한 비트 퍼센티지를 발생시켜 주어진 데이터 비트 실패 퍼센티지에 대해 원하 는 프로그래밍 전압 델타/증가를 설정하는 것이다. 본 발명의 일 실시예에서, 방법과 장치는 데이터를 비휘발성 메모리 장치, 특히 NAND 및 NOR 구조 플래시 메모리 어레이와 장치에 프로그래밍하는 것에 관한 것이다.
도 1은 통상적으로 처리 장치이거나 메모리 컨트롤러인 호스트(102)에 연결된 본 발명의 실시예의 비휘발성 메모리 장치(100)를 내장한 시스템(128)의 개략도이다. 플래시 메모리 장치와 같은 비휘발성 메모리(100)는 제어 인터페이스(106)와 어드레스/데이터 인터페이스(108)를 구비하고 있으며, 이들은 각각 처리 장치(102)에 연결되어 메모리 판독 및 기입 액세스를 가능하게 한다. 다른 실시예에서는, 어드레스/데이터 인터페이스(108)는 독립적인 인터페이스로서 분할될 수 있음에 유의한다. 비휘발성 메모리 장치 내부에서는 제어 상태 머신/제어 회로(110)가 비휘발성 메모리 어레이(112)를 관리하고 RAM 제어 레지스터 및 소거 블록 관리 레지스터(114)를 갱신하는 것과 같은 내부 동작을 지시한다. RAM 제어 레지스터 및 테이블(114)은 비휘발성 메모리(100)의 동작 중에 제어 상태 머신(110)에 의해 이용된다. 비휘발성 메모리 어레이(112)는 일련의 메모리 뱅크 또는 세그먼트(116)를 포함하며, 각 뱅크(116)는 논리적으로 일련의 소거 블록(도시되지 않음)으로 구성된다. 메모리 액세스 어드레스는 비휘발성 메모리(100)의 어드레스/데이터 인터페이스(108) 상에서 수신되어 행과 열 어드레스 부분으로 나누어진다. 판독 액세스에서, 행 어드레스는, 선택된 메모리 뱅크에서 관련 스트링 내의 메모리 셀의 행 페이지(도시되지 않음) 및 기타 다른 메모리 셀을 선택하여 작동시키는 행 디코드 회로(120)에 의해 래치되어 디코딩된다. 메모리 셀의 선택된 행의 출력에 서 인코딩된 비트 값은 로컬 비트라인/스트링(도시되지 않음)으로부터 글로벌 비트라인(도시되지 않음)으로 연결되어, 메모리 뱅크에 연결된 감지 증폭기(122)에 의해 검출된다. 감지 증폭기(122)는 통상적으로 데이터 캐시와 기입 데이터 래치 회로(도시되지 않음)를 포함한다. 액세스 중인 열 어드레스는 열 디코드 회로(124)에 의해 래치되어 디코딩된다. 열 디코드 회로의 출력은 감지 증폭기 출력으로부터 원하는 열 데이터를 선택하며, 어드레스/데이터 인터페이스(108)를 통해 메모리 장치로부터의 전송을 위해 데이터 버퍼(126)에 연결된다. 기입 액세스에서는, 행 디코드 회로(120)는 행 페이지를 선택하고, 열 디코드 회로는 기입 감지 증폭기(122)를 선택한다. 기입될 데이터 값은 데이터 버퍼(126)로부터 데이터 캐시로 연결되며, 이어서 열 디코드 회로(124)에 의해 선택된 기입 감지 증폭기(122)의 기입 데이터 래치에 연결되어 메모리 어레이(112)의 선택된 부동 게이트 메모리 셀(도시되지 않음)에 기입된다. 그 다음, 기입된 셀은 선택된 메모리 셀에 올바른 값이 프로그램된 것을 검증하기 위해 판독될 수 있도록 행 및 열 디코드 회로(120, 124) 및 감지 증폭기(122)에 의해 재선택된다. 본 발명의 일 실시예에서는 열 디코드(124)는 선택적으로 메모리 어레이(112)와 감지 증폭기(122) 사이에 배치될 수 있음에 유의한다.
전술한 바와 같이, 비휘발성 메모리 EEPROM과 플래시 메모리 어레이 구조의 두 가지 일반적인 타입은, 그 기본 메모리 셀 구성이 대응하는 논리 게이트 설계와 유사한 "NAND"와 "NOR" 구조이다. NOR 어레이 구조에서, 메모리 어레이의 부동 게이트 메모리 셀은 RAM이나 ROM과 유사한 매트릭스 형태로 배열된다. 어레이 매트 릭스의 각 부동 게이트 메모리 셀의 게이트는 워드 선택 라인(워드 라인)에 행으로 연결되고, 그 드레인은 열 비트 라인에 연결된다. 각 부동 게이트 메모리 셀의 소스는 통상적으로 공통 소스 라인에 연결된다. NOR 구조 부동 게이트 메모리 어레이는 그 게이트에 연결된 워드 라인을 선택함으로써 부동 게이트 메모리 셀의 행을 작동시키는 행 디코더에 의해 액세스된다. 그러면, 선택된 메모리 셀의 행은, 프로그램된 상태에 따라서, 연결된 소스 라인으로부터 연결된 열 비트 라인으로 다른 전류를 흘림으로써 메모리 셀에 저장된 데이터 값을 열 비트 라인에 올려 놓는다. 비트 라인의 열 페이지가 선택되고 감지되며, 그 열 페이지로부터의 감지된 데이터 워드로부터 개별적인 데이터 워드가 선택되어 메모리로부터 전달된다.
NAND 메모리 어레이 구조도, 어레이의 각 부동 게이트 메모리 셀의 게이트가 워드 라인에 행으로 연결되도록 부동 게이트 메모리 셀 어레이를 매트릭스 형태로 배열하고 있다. 그러나, 각 메모리 셀은 소스 라인과 열 비트 라인에 직접 연결되는 것은 아니다. 그 대신에, 어레이의 메모리 셀은 통상적으로 8, 16, 32 또는 그 이상의 스트링 형태로 묶여 배열되어 있으며, 이 스트링 내의 메모리 셀들은 공통 소스 라인과 열 비트 라인 사이에서 소스/드레인과 함께 직렬로 서로 연결되어 있다. 이와 같이 하여, NAND 어레이 구조는 NOR 어레이보다 메모리 셀 밀도 면에서 더 높기는 하지만 일반적으로 액세스 속도 면에서 더 낮고 프로그래밍도 더 복잡하다.
NAND 구조 부동 게이트 메모리 어레이는 게이트에 연결된 워드 선택 라인을 선택하여 부동 게이트 메모리 셀의 행을 작동시키는 행 디코더에 의해 액세스된다. 게다가, 각 스트링 중에서 선택되지 않은 메모리 셀의 게이트에 연결된 워드 라인도 구동된다. 그러나, 각 스트링 중에서 선택되지 않은 메모리 셀은, 셀을 패스 트랜지스터로서 동작시키고 또한 저장된 데이터 값에 의해 제한되지 않게끔 전류를 통과시킬 수 있도록, 통상적으로는 더 높은 게이트 전압으로 구동된다. 그러면 직렬 연결된 스트링의 각 부동 게이트 메모리 셀을 통해 소스 라인으로부터 열 비트 라인으로 전류가 흐르고, 이 전류는 판독되도록 선택된 각 스트링의 메모리 셀에 의해서만 제한된다. 이에 따라, 선택된 메모리 셀의 행의 전류 인코딩된 저장된 데이터 값은 열 비트 라인 상에 올려지게 된다. 비트 라인의 열 페이지가 선택되고 감지되며, 그러면, 그 열 페이지로부터의 감지된 데이터 워드로부터 개별적인 데이터 워드가 선택되어 메모리로부터 전달된다.
도 2는 본 발명의 실시예의 EEPROM 또는 플래시 메모리 장치의 개략적인 NOR 부동 게이트 메모리 어레이(200)를 상세히 도시한 것이다. 도 2에서, 부동 게이트 메모리 셀(202)은 비트 라인(212), 소스 라인(214), 워드 라인(206) 및 기판 접속부(222)를 가진 NOR 구조 메모리 어레이에서 서로 연결된다. 부동 게이트 메모리 셀(202) 각각은 비트 라인(212)과 소스 라인(214)에 각각 연결된 드레인 영역과 소스 영역 사이에 형성된 게이트 절연체 스택으로 이루어진 부동 게이트 전계 효과 트랜지스터(FET)를 갖고 있다.
도 3은 본 발명의 실시예의 EEPROM 또는 플래시 메모리 장치의 개략적인 NAND 부동 게이트 메모리 어레이 스트링(304)을 상세히 도시한 것이다. 도 3에서, 일련의 부동 게이트 메모리 셀(302)은 일련의 NAND 스트링(304)(통상 8, 16, 32 또 는 그 이상의 셀)에서 소스/드레인과 함께 서로 연결된다. 부동 게이트 메모리 셀(302) 각각은 기판 상부 상의 터널 절연체, 터널 절연체 상의 형성된 부동 게이트, 부동 게이트 위에 형성된 인터게이트/인터폴리(intergate/interpoly) 절연체, 및 각 부동 게이트 메모리 셀(302)의 인터게이트/인터폴리 절연체 위에 형성된 제어 게이트(306)(통상적으로 워드 라인의 일부로서 형성됨)로 만들어진 게이트 절연체 스택을 갖고 있다. 게이트 절연체 스택들 간에는 불순물 도핑 영역(통상적으로 N-FET 메모리 셀에 대해 N+)이 형성되어, 추가적으로 NAND 스트링(304)의 셀들을 서로 연결하는 커넥터로서 동작하는 인접 부동 게이트 메모리 셀의 소스 및 드레인 영역을 구성한다. 기판 접속부(322)도 도시되어 있다. 선택 게이트(310)는 NAND 부동 게이트 스트링(304)의 각 단부에 형성되며, NAND 부동 게이트 스트링(304)의 대향 단부를 비트 라인 컨택트(312)와 소스 라인 컨택트(314)에 선택적으로 연결한다.
플래시 메모리의 일반적인 프로그래밍 기법은 메모리 셀의 제어 게이트에 소정의 프로그래밍 전압 또는 일련의 프로그래밍 전압 펄스를 인가하고, 채널을 프로그램 또는 금지 전압에 연결함으로써 선택된 메모리 셀을 프로그램(논리 "0"으로 설정됨)되거나 금지(프로그램되지 않음, 보통은 셀이 소거되게 하는 것으로 논리 "1"로 설정됨)되도록 프로그래밍 또는 금지시킴으로써 메모리의 행(흔히 페이지라고 함)을 프로그램한다. 불행히도 이러한 메모리 셀 프로그래밍은 일반적으로 메모리 어레이의 각 행에 따라 균일하지 않다. 이와 같이 메모리 셀의 부동 게이트로의 캐리어 주입이 불균일하면, 도 4에 도시된 바와 같이, 프로그램된 셀에서 시 프트된 임계 전압의 분포가 생기게 된다. 도 4에는 소거 상태(402)와 프로그램 상태(406)에서 부동 게이트 메모리 셀의 임계 전압(Vt)의 분포가 도시되어 있다. 프로그램된 대로 판독될 메모리 셀에 있어서는, 이 셀은 프로그램된 셀 임계 전압 한계(404)로 그 임계 전압을 시프트시켜야 한다. 그러나, 장치 마모 수준(메모리 셀 기입 피로(fatigue))과 칩 간, 메모리 어레이의 영역 간의 제조 공정 편차로 인해 모든 플래시 메모리는 아니지만 플래시 메모리 셀은 주어진 인가 프로그래밍 전압, 펄스 및 주기에 대해 동일하게 프로그램되어, 도 4에 도시된 바와 같이 소정의 프로그램 사이클 후에 프로그램된 셀 임계 전압 분포(406)가 넓게 변화될 것이다. 그 결과, 프로그래밍 전압이 인가된 셀들 중 많은 것이, 후에 그 개별적인 임계 전압이 프로그램된 셀 임계 전압 한계(404) 이상으로 상승하지 않았는지를 검증하기 위해 체크했을 때에, 프로그램된 대로 판독되지 않을 것이다.
이 때문에, 초기 프로그래밍 시도 후에, 행에 저장된 데이터는 행으로부터 다시 판독되어, 원 데이터에 대해 체크하여 프로그램이 올바르게 되었는지를 검증한다. 그 다음, 통상적으로, 설정된 프로그래밍 사이클 반복 수에 대해 그 셀의 제어 게이트에 부가적인 프로그래밍 펄스를 인가함으로써, 의도한 대로 프로그램되지 않은 셀을 보정하는 노력이 이루어진다. 이러한 부가적인 프로그래밍 전압 펄스도 통상적으로는 메모리 장치의 최대 프로그래밍 전압에 도달할 때까지 선택된 전압 퍼센티지로 단계적으로 상승된다. 도 5에는 비휘발성 메모리 장치의 그와 같은 프로그래밍 동작을 보여주는 파형도(500)가 도시되어 있다. 이 도에서는, 초기 프로그래밍 전압(502)부터 메모리 장치에서 가능한 최대 프로그래밍 전압(508)까지 증가되는 전압 프로그래밍 펄스(502, 504, 506, 508)가 인가되고, 각 펄스 후에는 프로그래밍 결과가 검증된다(510).
도 6은 NAND 또는 병렬 프로그래밍 비휘발성 메모리 장치에서 종래의 프로그래밍 알고리즘(600)의 플로우차트이다. 도 6에서, 프로그램 동작은 단계(602)에서 NAND 구조 플래시 메모리 장치와 같은 비휘발성 메모리 장치에서 어드레스를 포함하는 프로그램 지령을 수신하면서 시작한다. 그 다음, 단계(604)에서, 프로그램 지령에 이어서 프로그램 데이터(통상적으로 2k 바이트)가 메모리 장치로 로드되어 데이터 캐시에 저장된다. 그 다음, 단계(606)에서, 이 데이터는 비휘발성 메모리 어레이의 행으로의 프로그래밍에 대비하여 기입 감지 증폭기의 데이터 래치에 전송된다. 그 다음, 단계(608)에서, 개시 프로그래밍 전압(15V 정도)이 설정되고 프로그램 사이클 루프 카운터가 1로 설정된다. 그 다음, 단계(610)에서, 제어 게이트에 프로그램 전압 펄스를 인가하여 그 채널을 프로그램이나 금지 전압에 연결함으로써 비휘발성 메모리 어레이의 선택된 행에 데이터의 행이 프로그램된다. 프로그래밍 펄스가 인가되고 데이터가 행에 프로그램된 후에는, 단계(612)에서, 이 데이터는 다시 판독되어 데이터 캐시에 보유된 원 데이터와 비교되어 그 데이터가 올바르게 프로그래밍되었는지 검증된다. 프로그램 데이터가 검증을 통과하면(단계(614)), 단계(616)에서 프로그래밍 동작은 완수되어 종료한다. 프로그램 데이터가 검증에 실패하고 프로그램 사이클의 최대 수에 도달하지 않았다면(루프 카운터가 최대값에 도달하지 않았다면(단계(618)), 프로그램 동작은 계속되고 데이터 프로그램을 다시 시도한다. 프로그램 사이클의 최대 수에 도달했다면(루프 카운터가 최대값에 도달했다면), 단계(620)에서 프로그램 동작은 실패한 것이다.
검증에 실패한 데이터 비트를 재프로그램하려는 루프에서, 알고리즘은 단계(622)에서 루프 카운터를 증분하고, 단계(624)에서 셀의 과프로그래밍(over-programming)과 비휘발성 메모리 장치의 불필요한 기입 피로를 방지하기 위하여 프로그램 검증을 통과한 데이터 행의 비트의 프로그래밍을 디스에이블링하거나 금지시킨다. 단계(626)에서 게이트 프로그래밍 전압이 최대 레벨에 있지 않으면, 단계(630)에서 이 전압은 증분된다(프로그램되지 않은 셀은 드물게 실패한 셀이며, 통상적으로 낮은 전압에서는 느린 프로그래밍 셀이 될 뿐이며, 따라서 메모리 장치는 통상적으로는 그 셀에 대한 전압을 증가시키며 재시도할 것이다.). 게이트 프로그래밍 전압이 이미 최대 레벨에 있다면, 단계(628)에서 이 전압은 증분되지 않고 최대값을 유지한다. 그 다음, 알고리즘은 단계(632)에서 루프를 구성하여 단계(610)에서 다시 데이터 행을 프로그램한다. 이러한 알고리즘 루프는 계속되어 프로그램된 데이터가 최종적으로 검증을 통과할 때까지(단계(616)) 또는 프로그래밍 사이클 루프의 최대 수가 초과되어 프로그래밍 동작이 실패할 때까지(단계(630)) 각 루프 상에서 프로그래밍 전압을 증분한다.
상술한 바와 같이, 종래의 프로그래밍 프로세스는 반복적이고 게이트 프로그래밍 전압을 단계적으로 증분하기 때문에 고속 프로그램 동작에는 적합하지 않다. 게다가, 이 프로세스에서는 프로그래밍 전압의 후속된 증가가 특정의 비휘발성 메모리 장치, 프로그래밍되는 특정의 영역이나 행, 및 장치 사용과 마모로 인한 메모리 셀 프로그래밍 특성의 변화에 정확하게 일치하지 않는다.
본 발명의 실시예들은 개선된 프로그래밍 방법을 이용하여 더 고속의 프로그래밍 동작을 제공하며, 프로그래밍 동작을 특정의 비휘발성 메모리 장치와 장치 사용과 마모로 인한 메모리 셀 프로그래밍 특성의 변화에 더 잘 일치시킨다. 본 발명의 실시예에서, 연속한 프로그래밍 사이클의 프로그래밍 전압은 이전 프로그래밍 사이클 중에 프로그래밍 검증에 실패하여 메모리 어레이 내로 잘못 프로그래밍된 데이터 비트의 퍼센티지와 관련하여 증가된다. 이렇게 하면, 프로그램 동작 속도가 더 빨라지며, 프로그래밍 전압의 후속된 증가가 특정의 비휘발성 메모리 장치, 프로그래밍되는 특정의 영역이나 행, 및 장치 사용과 마모로 인한 프로그래밍 특성의 변화에 더 정확하게 일치할 수 있다.
본 발명의 실시예의 프로그래밍 방법은 NAND 플래시 메모리 장치, NOR 플래시 메모리 장치, 그리고 프로그래밍 속도를 향상시키고 프로그래밍 사이클을 특정 메모리 장치에 더 잘 적응시키시 위하여 데이터를 동시에 벌크 프로그램하는 임의의 비휘발성 메모리 장치에 이용될 수 있음에 유의한다.
도 7은 본 발명의 실시예의 프로그래밍 프로세스 플로우차트이다. 도 7에서, 프로그램 동작은 단계(702)에서 NAND 구조 플래시 메모리 장치와 같은 비휘발성 메모리 장치에서 어드레스를 포함하는 프로그램 지령을 수신하면서 시작한다. 그 다음, 단계(704)에서, 프로그램 지령에 이어서 프로그램 데이터(통상적으로 2k 바이트)가 메모리 장치로 로드되어 데이터 캐시에 저장된다. 그 다음, 단계(734)에서 데이터 캐시 내의 데이터는 메모리 장치에 의해 분석되어 프로그램 데이터에서 프로그램될 데이터 비트의 총 수를 판단하여 저장한다. 그 다음, 단계(706)에 서, 이 데이터는 비휘발성 메모리 어레이의 행으로의 프로그래밍에 대비하여 기입 감지 증폭기의 데이터 래치에 전송된다. 그 다음, 단계(708)에서, 개시 프로그래밍 전압(15V 정도)이 설정되고 프로그램 사이클 루프 카운터가 1로 설정된다. 그 다음, 단계(710)에서, 제어 게이트에 프로그램 전압 펄스를 인가하여 그 채널을 프로그램이나 금지 전압에 연결함으로써 비휘발성 메모리 어레이의 선택된 행에 데이터의 행이 프로그램된다. 프로그래밍 펄스가 인가되고 데이터가 행에 프로그램된 후에는, 단계(712)에서, 이 데이터는 다시 판독되어 데이터 캐시에 보유된 원 데이터와 비교되어 그 데이터가 올바르게 프로그래밍되었는지 검증된다. 프로그램 데이터가 검증을 통과하면(단계(714)), 단계(716)에서 프로그래밍 동작은 완수되어 종료한다. 프로그램 데이터가 검증에 실패하고 프로그램 사이클의 최대 수에 도달하지 않았다면(루프 카운터가 최대값에 도달하지 않았다면(단계(718)), 프로그램 동작은 계속되고 그 실패한 데이터 비트를 다시 프로그램한다. 프로그램 사이클의 최대 수에 도달했다면(루프 카운터가 최대값에 도달했다면), 단계(720)에서 프로그램 동작은 실패한 것이다.
검증에 실패한 데이터 비트를 재프로그램하려는 루프에서, 알고리즘은 단계(736)에서 프로그램이 실패한 데이터에서 프로그램 비트의 총 수를 체크하고, 단계(738)에서 실패한 메모리 셀/프로그램 비트의 퍼센티지를 산출한다. 그 다음, 단계(722)에서 루프 카운터를 증분하고, 단계(724)에서 셀의 과프로그래밍을 방지하기 위하여 검증을 통과한 데이터 비트의 프로그래밍을 디스에이블링하거나 금지시킨다. 단계(726)에서 게이트 프로그래밍 전압이 최대 레벨에 있지 않으면, 단 계(730)에서 이 전압은 실패한 비트의 총 퍼센티지에 따라서 증분된다. 이 경우에, 실패한 비트의 퍼센티지가 높을수록, 프로그래밍 전압은 더 높은 퍼센티지로 증가되고, 실패한 비트의 퍼센티지가 낮을수록, 프로그래밍 전압은 더 낮은 퍼센티지로 증가된다. 게이트 프로그래밍 전압이 이미 최대 레벨에 있다면, 단계(728)에서 이 전압은 증가되지 않고 최대값을 유지한다. 그 다음, 알고리즘은 단계(732)에서 루프를 구성하여 단계(710)에서 다시 데이터 행을 프로그램한다. 이러한 알고리즘 루프는 계속되어 프로그램된 데이터가 최종적으로 검증을 통과할 때까지(단계(716)) 또는 프로그래밍 사이클 루프의 최대 수가 초과되어 프로그래밍 동작이 실패할 때까지(단계(720)) 프로그램된 비트에 대한 실패한 비트의 퍼센티지에 따라서 각 루프 상에서 프로그래밍 전압을 증가시킨다.
본 발명의 일 실시예에서, 실패한 비트의 주어진 퍼센티지에 요구되는 전압 증가 변화/델타의 일치 정확도를 증가시키시 위해 메모리 장치의 제조 공정과 설계의 윤곽이 정해진다. 전압 증가 프로파일 곡선에 대한 그와 같은 실패한 비트 퍼센티지는 통상적으로 주어진 공급 전압 또는 메모리 장치 마모 용법 레벨에 대해서 변하지 않으며, 따라서 정확한 전압 증가 맵을 제공하는 것으로 밝혀졌다. 이 프로파일은 메모리 장치 제조 시에 메모리 장치에 내장/프로그램된다. 전압 증가 프로파일링에 대한 이러한 실패한 비트 퍼센티지는 개별적인 메모리 장치에도 적용되어, 전체 메모리 장치 및/또는 메모리 어레이의 개별 영역의 프로파일링이 가능하며, 따라서 전압 증가 프로파일은 개별 메모리 장치에 대해 조정될 수 있음에 유의한다. 그러나, 이것은 통상적으로 제조 공정을 더 복잡하게 하며 제조 비용을 증 가시킬 수도 있음에 유의한다. 게다가, 본 발명의 일 실시예에서, 메모리 장치는 전체 메모리 장치 및/또는 메모리 어레이의 개별 영역에서 메모리 셀 피로와 마모에 대한 내부 프로그래밍 통계를 유지하므로, 개별 메모리 장치의 마모 수준에 따라 전압 증가 프로파일을 조정할 수 있다.
프로그래밍 전압의 더 빠르고 더 정밀하게 증가하기 때문에, 본 발명의 비휘발성 메모리 장치의 프로그래밍 동작은 통상적으로 종래의 메모리 장치보다 적은 프로그래밍 사이클에서 주어진 데이터 행을 프로그램한다. 따라서, 프로그래밍 사이클이 더 적어짐에 따라 기입은 더 빨라지면서도 전력 소모는 줄어들게 되고, 이는 비휘발성 메모리 장치의 전체 동작 속도의 증가로 나타나게 된다.
도 8은 본 발명의 실시예의 메모리 데이터 캐시 및 감지 증폭기 회로(800)의 개략도이다. 도 8에서, 프로그램될 데이터는 I/O 버퍼(도시되지 않음)(816)로부터 각 감지 증폭기(802)의 데이터 캐시 래치(804)로 로드되고, 프로그래밍을 위해 감지 증폭기(802)의 데이터 기입 래치(806)로 전송된다. 기입 데이터 래치 각각은 비트 라인(808)에 연결되고(선택적으로, 이 연결은 열 디코더(도시되지 않음)를 통한다), 프로그래밍을 위해 행 디코더(도시되지 않음)에 의해 선택된 비휘발성 메모리 행의 비트 라인(808)을 통해 연결된 메모리 셀을 프로그램하거나 금지시키는데 이용된다. 비트 합산 회로(810)는 데이터 캐시 래치(804)에 연결되어, 데이터 캐시 래치(804)에 로드된 프로그램 데이터에서 프로그램될 비트의 수를 합산한다. 실패 검증 비트 합산 회로(812)는 기입 데이터 래치(806)에 연결되어, 검증에 실패한 비트의 수를 합산한다. 그러면 비교 및 전압 조정 회로(814)는 프로그램될 비 트의 수와 검증에 실패한 비트의 수를 비교하여 데이터 캐시 래치(804) 내에 보유된 현재 프로그램 데이터로부터 프로그램된 비트의 퍼센티지를 산출하고, 이 퍼센티지를 프로그램 실패한 비트의 상대 퍼센티지에 비례하여 조정하거나 증가된 게이트 프로그래밍 전압 프로파일 테이블에서 실패한 비트를 참조함으로써 다음번 게이트 프로그래밍 전압 레벨을 설정한다.
본 발명의 NAND 및 NOR 구조 비휘발성 메모리 장치 프로그래밍 방법 및 어레이 실시예에 대해 다른 프로그래밍 전압 레벨 및 시퀀스도 가능하며 본 발명의 이점을 갖고서 당업자에게도 명백할 것이다.
이전 프로그래밍 사이클 중에 프로그래밍 검증에 실패하여 메모리 어레이에 올바르게 프로그램되지 못한 데이터 비트의 퍼센티지에 관련하여 연속한 프로그래밍 사이클의 프로그래밍 전압을 증가시키는 비휘발성 메모리 장치 및 프로그래밍 프로세스에 대해 설명하였다. 이와 같은 비휘발성 메모리 장치 및 프로그래밍 프로세스에 따라, 평균적인 프로그램 동작 속도가 더 빨라지며, 프로그래밍 전압의 후속된 증가가 특정의 비휘발성 메모리 장치, 프로그래밍되는 특정의 영역이나 행, 및 장치 사용과 마모로 인한 프로그래밍 특성의 변화에 더 정확하게 일치할 수 있다. 본 발명의 일 실시예에서, 제조 공정/설계 및/또는 특정 메모리 장치의 특징은 프로그래밍 전압 증가 프로파일에 대한 실패한 비트 퍼센티지를 발생시켜 주어진 데이터 비트 실패 퍼센티지에 대해 원하는 프로그래밍 전압 델타/증가를 설정하는 것이다. 본 발명의 다른 실시예에서, 방법과 장치는 데이터를 비휘발성 메모리 장치, 특히 NAND 및 NOR 구조 플래시 메모리 어레이와 장치에 프로그래밍하는 것에 관한 것이다.
지금까지 특정 실시예들에 대해 설명하였지만, 당업자라면 동일한 목적을 달성하는 임의의 구성이 상기 설명된 특정 실시예를 대체할 수 있음을 잘 알 것이다. 본 발명의 여러가지 많은 개조가 가능함은 당업자에게 명백하다. 따라서, 본 출원은 본 발명의 임의의 개조나 변형을 포괄하는 것이다. 본 발명은 이하의 청구범위와 그 등가물에 의해서만 한정됨을 분명히 밝혀 둔다.

Claims (23)

  1. 비휘발성 메모리 장치를 동작시키는 방법으로서,
    프로그램 동작 시에 비휘발성 메모리 어레이에 프로그램될 프로그램 데이터로부터 예상 데이터 비트의 수를 산출하는 단계;
    상기 프로그램 동작 시에 프로그램되지 못한 실패 데이터 비트의 수를 산출하는 단계; 및
    상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 비교에 따라서 프로그래밍 전압을 증가시키는 단계
    를 포함하는 비휘발성 메모리 장치 동작 방법.
  2. 제1항에 있어서,
    상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 비교에 따라서 프로그래밍 전압을 증가시키는 단계는, 상기 프로그래밍 동작 중에 상기 비휘발성 메모리 어레이에 올바르게 프로그램되지 못한 상기 예상 데이터 비트의 퍼센티지에 따라서 프로그래밍 전압을 증가시키는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  3. 제1항에 있어서,
    올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블링하 는 단계; 및
    올바르게 프로그램되지 못한 상기 데이터의 하나 이상의 비트를 프로그램하기 위해 상기 증가된 프로그래밍 전압을 인가하는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  4. 제1항에 있어서,
    하나 이상의 반복 사이클 동안 반복하는 단계;
    프로그램 동작 시에 비휘발성 메모리 어레이에 프로그램될 프로그램 데이터로부터 예상 데이터 비트의 수를 산출하는 단계;
    상기 프로그램 동작 시에 프로그램되지 못한 실패 데이터 비트의 수를 산출하는 단계; 및
    상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 비교에 따라서 프로그래밍 전압을 증가시키는 단계
    를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  5. 제4항에 있어서,
    하나 이상의 반복 사이클 동안 반복하는 단계는, 최대 반복 횟수에 도달할 때까지 또는 실패 데이터 비트의 수가 0(zero)일 때까지 반복하는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  6. 제1항에 있어서,
    상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 비교에 따라서 프로그래밍 전압을 증가시키는 단계는, 상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 비교에 따라서 프로그래밍 전압을 증가시키는 단계를 더 포함하며, 프로그래밍 전압의 총 증가는 특정 최대 프로그래밍 전압 레벨에 의해 제한되는 것인 비휘발성 메모리 장치 동작 방법.
  7. 제1항에 있어서,
    상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 소정 비교를 위해 프로그래밍 전압 증가의 프로파일을 결정하기 위하여, 상기 비휘발성 메모리 장치를 프로파일링하는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  8. 제7항에 있어서,
    상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 소정 비교를 위해 프로그래밍 전압 증가의 프로파일을 결정하기 위하여 상기 비휘발성 메모리 장치를 프로파일링하는 단계는, 상기 비휘발성 메모리 장치 제조 공정에 대해 상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 소정 비교를 위해 프로그래밍 전압 증가의 프로파일을 결정하기 위하여 상기 비휘발성 메모리 장치를 프로파일링하고, 상기 비휘발성 메모리 장치 설계를 특징화하고, 특정 메모리 장치에 대해 상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 소정 비교를 위 해 프로그래밍 전압 증가의 프로파일을 결정하기 위하여 상기 비휘발성 메모리 장치를 프로파일링하고, 특정 메모리 어레이 영역에 대해 상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 소정 비교를 위해 프로그래밍 전압 증가의 프로파일을 결정하기 위하여 상기 비휘발성 메모리 장치를 프로파일링하고, 특정 메모리 셀 마모 레벨에 대해 상기 예상 데이터 비트의 수와 상기 실패 데이터 비트의 수의 소정 비교를 위해 프로그래밍 전압 증가의 프로파일을 결정하기 위하여 상기 비휘발성 메모리 장치를 프로파일링하는 것 중 하나에 의해 상기 비휘발성 메모리 장치를 프로파일링하는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  9. 제1항에 있어서,
    상기 비휘발성 메모리 장치는, 플래시 메모리 장치, EEPROM 메모리 장치, 중합체 메모리 장치, 강유전성 랜덤 액세스 메모리(FeRAM) 장치, 오비오닉스 유니파이드 메모리(Ovionics Unified Memory: OUM) 장치, 및 자기저항 랜덤 액세스 메모리(MRAM) 장치 중 하나인 비휘발성 메모리 장치 동작 방법.
  10. 제1항에 있어서,
    상기 비휘발성 메모리 어레이는, NAND 구조 메모리 어레이와 NOR 구조 메모리 어레이 중 하나인 비휘발성 메모리 장치 동작 방법.
  11. 제1항에 있어서,
    복수의 데이터 비트로 프로그램되도록 선택되는 복수의 메모리 셀에 개시 프로그래밍 전압을 인가함으로써 프로그래밍 사이클에서 상기 비휘발성 메모리 장치의 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하는 단계;
    상기 프로그램 사이클 중에 상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키는 단계;
    올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블링하는 단계; 및
    올바르게 프로그램되지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하는 단계
    를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  12. 제1항에 있어서,
    프로그래밍 명령과, 복수의 데이터 비트를 포함하는 프로그램 데이터를 수신하는 단계;
    상기 복수의 데이터 비트로 프로그램되도록 선택하는 복수의 메모리 셀에 개시 프로그래밍 전압을 인가함으로써 프로그래밍 사이클에서 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하는 단계; 및
    상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 프로그램된 프로그램 데이터의 상기 복수의 데이터 비트를 검증하고,
    상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키고,
    올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블하고,
    올바르게 프로그램하지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하고,
    하나 이상의 반복 사이클 동안 반복하는 것에 의해,
    올바르게 프로그램되지 못한 상기 복수의 메모리 셀 중 임의의 메모리 셀을 프로그램하는 단계를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  13. 제1항에 있어서,
    상기 비휘발성 메모리 장치를 동작시키는 방법은,
    상기 비휘발성 메모리 장치의 인터페이스 상에서 프로그래밍 명령과, 복수의 데이터 비트를 포함하는 프로그램 데이터를 수신하는 단계;
    상기 프로그램 데이터를 데이터 캐시에 전송하는 단계;
    상기 프로그램 데이터를 기입 데이터 래치에 전송하는 단계;
    상기 데이터 캐시에 보유된 상기 프로그램 데이터에서 프로그램될 비트의 수를 산출하는 단계;
    상기 복수의 데이터 비트로 프로그램되도록 선택되는 복수의 메모리 셀에 개시 프로그래밍 전압을 인가함으로써 프로그래밍 사이클에서 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하는 단계; 및
    상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 프로그램된 프로그램 데이터의 상기 복수의 데이터 비트를 검증하고,
    올바르게 프로그램되지 못한 메모리 셀의 수를 산출하고,
    상기 데이터 캐시에 보유된 프로그램될 비트의 수와 관련하여 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지를 산출하고,
    상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키고,
    올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블링하고,
    올바르게 프로그램되지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하고,
    하나 이상의 반복 사이클 동안 반복하는 것에 의해,
    올바르게 프로그램되지 못한 상기 복수의 메모리 셀 중 임의의 메모리 셀을 프로그램하려고 시도하는 단계
    를 더 포함하는 비휘발성 메모리 장치 동작 방법.
  14. 비휘발성 메모리 장치를 프로파일링하는 방법으로서,
    상기 비휘발성 메모리 장치에 프로그램되고 있는 데이터 비트의 소정의 실패 퍼센티지에 대해 후속되는 프로그램 사이클 동안에 원하는 프로그래밍 전압 델타 증가를 특정하기 위하여 상기 비휘발성 메모리 장치를 프로파일링하는 단계를 포함하는 비휘발성 메모리 장치 프로파일링 방법.
  15. 제14항에 있어서,
    상기 비휘발성 메모리 장치에 프로그램되고 있는 데이터 비트의 소정의 실패 퍼센티지에 대해 후속되는 프로그램 사이클 동안에 원하는 프로그래밍 전압 델타 증가를 특정하기 위하여 상기 비휘발성 메모리 장치를 프로파일링하는 단계는, 데이터 비트의 소정의 실패 퍼센티지에 대해 원하는 프로그래밍 전압 델타/증가에 대한 프로파일을 선택하기 위하여 상기 비휘발성 메모리 장치 제조 공정을 특징화하고, 상기 비휘발성 메모리 장치 설계를 특징화하고, 특정 메모리 어레이를 특징화하고, 특정 메모리 어레이 영역을 특징화하고, 특정 메모리 셀 마모 레벨을 특징화하는 것 중 하나에 의해 상기 비휘발성 메모리 장치를 프로파일링하는 단계를 더 포함하는 비휘발성 메모리 장치 프로파일링 방법.
  16. 비휘발성 메모리 장치로서,
    비휘발성 메모리 어레이; 및
    제어 회로
    를 포함하고,
    상기 제어 회로는,
    복수의 데이터 비트로 프로그램되도록 선택되는 복수의 메모리 셀에 개시 프로그래밍 전압을 인가하고,
    상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 프로그램된 상기 복수의 데이터 비트를 검증하고, 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키고, 올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블링하고, 올바르게 프로그램되지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하고, 하나 이상의 반복 사이클 동안 반복하는 것에 의해, 올바르게 프로그램되지 못한 상기 복수의 메모리 셀 중 임의의 메모리 셀을 프로그램하려고 시도함으로써,
    프로그래밍 동작시에 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하도록 구성되는 비휘발성 메모리 장치.
  17. 제16항에 있어서,
    상기 제어 회로는 상기 복수의 데이터 비트 중 어느 것도 검증 실패하지 않을 때까지 또는 최대 반복 수에 도달할 때까지, 하나 이상의 반복 사이클 동안 반복하도록 구성되는 비휘발성 메모리 장치.
  18. 제16항에 있어서,
    상기 제어 회로는, 상기 프로그래밍 사이클 중에 상기 비휘발성 메모리 어레 이의 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키도록 구성되며, 총 프로그래밍 전압 레벨을 특정된 최대 프로그래밍 전압 레벨로 제한하는 단계를 더 포함하는 비휘발성 메모리 장치.
  19. 제16항에 있어서,
    상기 제어 회로는, 데이터 비트의 소정의 실패 퍼센티지에 대해 원하는 프로그래밍 전압 델타 증가를 특정하는 상기 비휘발성 메모리 어레이의 프로파일에 따라서 상기 프로그래밍 전압을 증가시키도록 구성되는 비휘발성 메모리 장치.
  20. 제16항에 있어서,
    상기 비휘발성 메모리 장치는 NAND 구조 플래시 메모리 장치, NOR 구조 플래시 메모리 장치, EEPROM 메모리 장치, 중합체 메모리 장치, 강유전성 랜덤 액세스 메모리(FeRAM) 장치, 오비오닉스 유니파이드 메모리(OUM) 장치, 자기저항 랜덤 액세스 메모리(MRAM) 장치, 및 분자 메모리 장치 중 하나인 비휘발성 메모리 장치.
  21. 제16항에 있어서,
    상기 비휘발성 메모리 장치는,
    복수의 감지 증폭기;
    I/O 버퍼; 및
    메모리 인터페이스
    를 더 포함하고,
    상기 제어 회로는, 상기 비휘발성 메모리 어레이, 상기 I/O 버퍼, 상기 복수의 감지 증폭기 및 상기 메모리 인터페이스에 연결된 제어 상태 머신이며,
    상기 제어 상태 머신은, 복수의 데이터 비트로 프로그램되도록 선택되는 복수의 비휘발성 메모리 셀에 개시 프로그래밍 전압을 인가하고,
    상기 비휘발성 메모리 어레이의 상기 복수의 메모리 셀에 프로그램된 상기 복수의 데이터 비트를 검증하고, 상기 복수의 메모리 셀에 올바르게 프로그램되지 못한 상기 복수의 데이터 비트의 퍼센티지와 선택적으로 관련하여 상기 프로그래밍 전압을 증가시키고, 올바르게 프로그램된 하나 이상의 메모리 셀의 프로그래밍을 디스에이블링하고, 올바르게 프로그램되지 못한 데이터의 하나 이상의 비트를 프로그램하기 위하여 상기 증가된 프로그래밍 전압을 인가하고, 하나 이상의 반복 사이클 동안 반복하는 것에 의해, 올바르게 프로그램되지 못한 상기 복수의 메모리 셀 중 임의의 메모리 셀을 프로그램하려고 시도함으로써,
    프로그래밍 동작시에 상기 메모리 인터페이스에서 수신된 상기 비휘발성 메모리 어레이에 상기 복수의 데이터 비트를 프로그램하도록 구성되는 비휘발성 메모리 장치.
  22. 제16항에 있어서,
    상기 비휘발성 메모리 장치는,
    비휘발성 메모리 장치에 연결된 호스트를 포함하는 시스템의 부분을 더 포함하는 비휘발성 메모리 장치.
  23. 제22항에 있어서,
    상기 호스트는 프로세서와 메모리 컨트롤러 중 하나인 비휘발성 메모리 장치.
KR1020087001285A 2005-06-17 2006-06-13 플래시 메모리에 최적화된 전압 레벨을 갖는 프로그램 방법 KR100956709B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/156,223 2005-06-17
US11/156,223 US7239557B2 (en) 2005-06-17 2005-06-17 Program method with optimized voltage level for flash memory

Publications (2)

Publication Number Publication Date
KR20080019713A true KR20080019713A (ko) 2008-03-04
KR100956709B1 KR100956709B1 (ko) 2010-05-06

Family

ID=37084634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087001285A KR100956709B1 (ko) 2005-06-17 2006-06-13 플래시 메모리에 최적화된 전압 레벨을 갖는 프로그램 방법

Country Status (9)

Country Link
US (4) US7239557B2 (ko)
EP (1) EP1894207B1 (ko)
JP (1) JP4640660B2 (ko)
KR (1) KR100956709B1 (ko)
CN (1) CN101268520B (ko)
AT (1) ATE425539T1 (ko)
DE (1) DE602006005664D1 (ko)
TW (1) TWI305918B (ko)
WO (1) WO2006138333A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7952958B2 (en) 2008-08-07 2011-05-31 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage system
KR101150645B1 (ko) * 2009-03-11 2012-05-29 가부시끼가이샤 도시바 비휘발성 반도체 메모리 장치
US9514827B1 (en) 2015-07-02 2016-12-06 Samsung Electronics Co., Ltd. Memory device, memory system and method of operating memory device

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7656710B1 (en) * 2005-07-14 2010-02-02 Sau Ching Wong Adaptive operations for nonvolatile memories
US7395466B2 (en) * 2005-12-30 2008-07-01 Intel Corporation Method and apparatus to adjust voltage for storage location reliability
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7564718B2 (en) * 2006-04-12 2009-07-21 Infineon Technologies Flash Gmbh & Co. Kg Method for programming a block of memory cells, non-volatile memory device and memory card device
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US20080036487A1 (en) * 2006-08-09 2008-02-14 Arm Limited Integrated circuit wearout detection
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US8037231B2 (en) * 2006-11-28 2011-10-11 Intel Corporation Memory architecture for separation of code and data in a memory device
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US20080141082A1 (en) * 2006-12-06 2008-06-12 Atmel Corporation Test mode multi-byte programming with internal verify and polling function
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
KR100927119B1 (ko) * 2007-05-10 2009-11-18 삼성전자주식회사 불 휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US7697365B2 (en) * 2007-07-13 2010-04-13 Silicon Storage Technology, Inc. Sub volt flash memory system
US7729161B2 (en) * 2007-08-02 2010-06-01 Macronix International Co., Ltd. Phase change memory with dual word lines and source lines and method of operating same
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
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
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
ITRM20080114A1 (it) * 2008-02-29 2009-09-01 Micron Technology Inc Compensazione della perdita di carica durante la programmazione di un dispositivo di memoria.
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7633804B2 (en) * 2008-03-20 2009-12-15 Micron Technology, Inc. Adjusting programming or erase voltage pulses in response to the number of programming or erase failures
KR101506655B1 (ko) * 2008-05-15 2015-03-30 삼성전자주식회사 메모리 장치 및 메모리 데이터 오류 관리 방법
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
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
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. 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
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
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
US8243520B2 (en) * 2009-11-02 2012-08-14 Infineon Technologies Ag Non-volatile memory with predictive programming
US8130553B2 (en) * 2009-12-02 2012-03-06 Seagate Technology Llc Systems and methods for low wear operation of solid state memory
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
JP5566797B2 (ja) * 2010-07-02 2014-08-06 株式会社東芝 不揮発性半導体記憶装置
US9741436B2 (en) 2010-07-09 2017-08-22 Seagate Technology Llc Dynamically controlling an operation execution time for a storage device
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
US8310870B2 (en) * 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
KR101201582B1 (ko) * 2010-09-06 2012-11-14 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8842469B2 (en) * 2010-11-09 2014-09-23 Freescale Semiconductor, Inc. Method for programming a multi-state non-volatile memory (NVM)
TWI447731B (zh) * 2010-12-01 2014-08-01 Phison Electronics Corp 資料讀取方法、記憶體儲存裝置及其控制器
US8605531B2 (en) * 2011-06-20 2013-12-10 Intel Corporation Fast verify for phase change memory with switch
JP5950591B2 (ja) * 2012-01-31 2016-07-13 エスアイアイ・セミコンダクタ株式会社 ボルテージレギュレータ
US9355688B2 (en) 2012-05-08 2016-05-31 Intel Corporation Adaptive voltage input to a charge pump
KR101996004B1 (ko) 2012-05-29 2019-07-03 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템
US8724404B2 (en) 2012-10-15 2014-05-13 United Microelectronics Corp. Memory, supply voltage generation circuit, and operation method of a supply voltage generation circuit used for a memory array
KR102221752B1 (ko) 2014-03-20 2021-03-02 삼성전자주식회사 메모리 장치의 프로그램 방법 및 이를 포함하는 데이터 독출 방법
KR20150130849A (ko) * 2014-05-14 2015-11-24 에스케이하이닉스 주식회사 반도체 장치의 동작 방법
KR102314135B1 (ko) 2015-06-22 2021-10-18 삼성전자 주식회사 적응적인 루프를 수행하는 플래시 메모리 장치, 메모리 시스템 및 그 동작방법
US9489990B1 (en) * 2015-11-17 2016-11-08 Atmel Corporation Adaptive non-volatile memory programming
US10082964B2 (en) 2016-04-27 2018-09-25 Micron Technology, Inc Data caching for ferroelectric memory
KR20180096845A (ko) * 2017-02-20 2018-08-30 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
CN110232945B (zh) * 2018-03-06 2021-04-27 华邦电子股份有限公司 存储器装置以及其写入/擦除方法
US10522226B2 (en) 2018-05-01 2019-12-31 Silicon Storage Technology, Inc. Method and apparatus for high voltage generation for analog neural memory in deep learning artificial neural network
JP2020009511A (ja) 2018-07-05 2020-01-16 キオクシア株式会社 メモリシステム及び不揮発性半導体メモリ
US10741256B2 (en) * 2018-09-18 2020-08-11 Western Digital Technologies, Inc. Data storage systems and methods for improved recovery after a write abort event
US10614898B1 (en) 2018-09-19 2020-04-07 Sandisk Technologies Llc Adaptive control of memory cell programming voltage
US11081170B2 (en) 2018-12-19 2021-08-03 Micron Technology, Inc. Apparatus and methods for programming memory cells responsive to an indication of age of the memory cells
CN111951857B (zh) * 2019-05-15 2023-06-09 兆易创新科技集团股份有限公司 一种非易失性存储器的编程方法及控制装置
CN111951870B (zh) * 2019-05-15 2023-06-20 兆易创新科技集团股份有限公司 一种非易失性存储器的编程方法及控制装置
US10964402B1 (en) * 2020-02-19 2021-03-30 Sandisk Technologies Llc Reprogramming memory cells to tighten threshold voltage distributions and improve data retention
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11749346B2 (en) * 2021-05-19 2023-09-05 Micron Technology, Inc. Overwrite mode in memory programming operations
WO2023272548A1 (en) * 2021-06-30 2023-01-05 Yangtze Memory Technologies Co., Ltd. Data protection for three-dimensional nand memory
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 (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257225A (en) * 1992-03-12 1993-10-26 Micron Technology, Inc. Method for programming programmable devices by utilizing single or multiple pulses varying in pulse width and amplitude
US5357463A (en) * 1992-11-17 1994-10-18 Micron Semiconductor, Inc. Method for reverse programming of a flash EEPROM
DE19542029C1 (de) * 1995-11-10 1997-04-10 Siemens Ag Verfahren zum selbsttätigen Ermitteln der nötigen Hochspannung zum Programmieren/Löschen eines EEPROMs
KR100208433B1 (ko) * 1995-12-27 1999-07-15 김영환 플래쉬 메모리 소자 및 그를 이용한 프로그램 방법
US5768287A (en) * 1996-10-24 1998-06-16 Micron Quantum Devices, Inc. Apparatus and method for programming multistate memory device
JP3786513B2 (ja) * 1997-12-11 2006-06-14 株式会社東芝 不揮発性半導体記憶装置
US6188613B1 (en) * 1998-10-08 2001-02-13 Micron Technology, Inc. Device and method in a semiconductor memory for erasing/programming memory cells using erase/program speeds stored for each cell
US6493270B2 (en) * 1999-07-01 2002-12-10 Micron Technology, Inc. Leakage detection in programming algorithm for a flash memory device
KR100414146B1 (ko) * 2000-06-27 2004-01-13 주식회사 하이닉스반도체 플래쉬 메모리 소자의 소거 방법
JP4250325B2 (ja) * 2000-11-01 2009-04-08 株式会社東芝 半導体記憶装置
US6466480B2 (en) * 2001-03-27 2002-10-15 Micron Technology, Inc. Method and apparatus for trimming non-volatile memory cells
KR100496866B1 (ko) * 2002-12-05 2005-06-22 삼성전자주식회사 미프로그램된 셀들 및 과프로그램된 셀들 없이 균일한문턱 전압 분포를 갖는 플레쉬 메모리 장치 및 그프로그램 검증 방법
US6882567B1 (en) * 2002-12-06 2005-04-19 Multi Level Memory Technology Parallel programming of multiple-bit-per-cell memory cells on a continuous word line
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
KR100505707B1 (ko) * 2003-08-26 2005-08-03 삼성전자주식회사 프로그램 동작시 가변되는 비트 라인의 전압 레벨을조절하는 플래쉬 메모리 장치의 프로그램 제어회로 및 그제어방법
US6977842B2 (en) * 2003-09-16 2005-12-20 Micron Technology, Inc. Boosted substrate/tub programming for flash memories
US6898126B1 (en) * 2003-12-15 2005-05-24 Powerchip Semiconductor Corp. Method of programming a flash memory through boosting a voltage level of a source line

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7952958B2 (en) 2008-08-07 2011-05-31 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage system
KR101150645B1 (ko) * 2009-03-11 2012-05-29 가부시끼가이샤 도시바 비휘발성 반도체 메모리 장치
US9514827B1 (en) 2015-07-02 2016-12-06 Samsung Electronics Co., Ltd. Memory device, memory system and method of operating memory device
US9799404B2 (en) 2015-07-02 2017-10-24 Samsung Electronics Co., Ltd. Memory device, memory system and method of operating memory device

Also Published As

Publication number Publication date
TW200713284A (en) 2007-04-01
KR100956709B1 (ko) 2010-05-06
US20090073772A1 (en) 2009-03-19
TWI305918B (en) 2009-02-01
US20060285396A1 (en) 2006-12-21
JP2008544435A (ja) 2008-12-04
ATE425539T1 (de) 2009-03-15
DE602006005664D1 (de) 2009-04-23
EP1894207A1 (en) 2008-03-05
US20080031047A1 (en) 2008-02-07
CN101268520B (zh) 2012-03-28
US20100142283A1 (en) 2010-06-10
EP1894207B1 (en) 2009-03-11
CN101268520A (zh) 2008-09-17
WO2006138333A1 (en) 2006-12-28
US7239557B2 (en) 2007-07-03
US7453737B2 (en) 2008-11-18
JP4640660B2 (ja) 2011-03-02
US7876623B2 (en) 2011-01-25
US7663934B2 (en) 2010-02-16

Similar Documents

Publication Publication Date Title
KR100956709B1 (ko) 플래시 메모리에 최적화된 전압 레벨을 갖는 프로그램 방법
USRE45754E1 (en) Selective memory cell program and erase
USRE46264E1 (en) Verification process for non-volatile storage
US9710325B2 (en) On chip dynamic read level scan and error detection for nonvolatile storage
USRE46995E1 (en) Programming non-volatile storage using binary and multi-state programming processes
US7535764B2 (en) Adjusting resistance of non-volatile memory using dummy memory cells
US9245637B2 (en) Systems and methods for read disturb management in non-volatile memory
US8929142B2 (en) Programming select gate transistors and memory cells using dynamic verify level
US7983078B2 (en) Data retention of last word line of non-volatile memory arrays
US7768834B2 (en) Non-volatile storage system with initial programming voltage based on trial
US8473809B2 (en) Data coding for improved ECC efficiency
US8964467B1 (en) Systems and methods for partial page programming of multi level cells
US9208889B2 (en) Non-volatile memory including bit line switch transistors formed in a triple-well
WO2010056504A2 (en) Erase voltage reduction in a non-volatile memory device

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130404

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140401

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180418

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 10