KR100836762B1 - 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법 - Google Patents

멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법 Download PDF

Info

Publication number
KR100836762B1
KR100836762B1 KR1020060125731A KR20060125731A KR100836762B1 KR 100836762 B1 KR100836762 B1 KR 100836762B1 KR 1020060125731 A KR1020060125731 A KR 1020060125731A KR 20060125731 A KR20060125731 A KR 20060125731A KR 100836762 B1 KR100836762 B1 KR 100836762B1
Authority
KR
South Korea
Prior art keywords
program
memory cells
threshold voltage
voltage
read
Prior art date
Application number
KR1020060125731A
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060125731A priority Critical patent/KR100836762B1/ko
Priority to US12/000,209 priority patent/US7920420B2/en
Application granted granted Critical
Publication of KR100836762B1 publication Critical patent/KR100836762B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply 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

Abstract

본 발명에 따른 멀티 비트 플래시 메모리 장치의 프로그램 방법은, 문턱전압 상태에 따라 상기 복수의 메모리 셀들을 복수의 그룹으로 분류하는 단계; 및 프로그램 데이터로 상기 복수의 메모리 셀들을 프로그램하는 단계를 포함하되, 상기 프로그램 단계에서 상기 분류된 그룹들의 메모리 셀들은 상기 분류된 그룹 단위로 각각 선택되어 프로그램되는 것을 특징으로 한다.

Description

멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법{MULTI BIT FLASH MEMORY DEVICE AND PROGRAM METHOD THEREOF}
도 1은 바이너리 배열(Binary Ordering) 방식에 따라 멀티 비트 데이터를 페이지 단위로 프로그램하는 과정을 간략히 보여주는 도면;
도 2는 도 1의 순서에 따른 프로그램 동작을 간략히 보여주는 타이밍도;
도 3은 그레이 배열(Gray Ordering) 방식에 따라 멀티 비트 데이터를 페이지 단위로 프로그램하는 과정을 간략히 보여주는 도면;
도 4는 도 3의 순서에 따른 프로그램 동작을 간략히 보여주는 타이밍도;
도 5는 본 발명의 프로그램 방법에 따라 멀티 비트 데이터를 프로그램하는 플래시 메모리 장치를 간략히 보여주는 블록도;
도 6은 바이너리 배열(Binary Ordering) 방식에 있어서, 본 발명의 프로그램 방법을 간략히 보여주는 도면;
도 7은 도 6의 분류에 따른 본 발명의 프로그램 동작을 간략히 보여주는 타이밍도;
도 8은 도 7의 각 프로그램 구간들에서 공급되는 프로그램 전압을 도시한 파형도;
도 9는 그레이 배열(Gray Ordering) 방식에 있어서, 본 발명의 프로그램 방 법을 간략히 보여주는 도면;
도 10은 도 9의 분류에 따른 본 발명의 프로그램 동작을 간략히 보여주는 타이밍도;
도 11은 본 발명의 멀티 비트 플래시 메모리 장치를 장착한 시스템을 간략히 보여주는 블록도.
*도면의 주요 부분에 대한 부호의 설명*
100, 410 : 멀티 비트 플래시 메모리 장치
110 : 셀 어레이 120 : 비트 라인 스위치
130 : 페이지 버퍼 블록 140 : 제어 로직
150 : 전압 발생기 160 : 행 디코더
420 : 메모리 제어기 430 : 중앙처리장치
440 : 램 450 : 유저 인터페이스
460 : 전원
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 멀티 비트 플래시 메모리 장치의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 불휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분된다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 불휘발성 반도체 메모리 장치는 외부 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로 불휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다. 불휘발성 반도체 메모리 장치로는 마스크 롬(Mask read-only memory, MROM), 프로그램 가능한 롬(Programmable read-only memory, PROM), 소거 및 프로그램 가능한 롬(Erasable programmable read-only memory, EPROM), 전기적으로 소거 및 프로그램 가능한 롬(Electrically erasable programmable read-only memory, EEPROM) 등이 있다.
일반적으로, MROM, PROM 및 EPROM은 시스템 자체적으로 소거 및 쓰기가 자유롭지 못해 일반 사용자들이 기억 내용을 갱신하기가 용이하지 않다. 이에 반해 EEPROM은 전기적으로 소거 및 쓰기가 가능하기 때문에, 계속적인 갱신이 필요한 시스템 프로그래밍(System programming)이나 보조 기억 장치로의 응용이 확대되고 있다. 특히 플래시(Flash) EEPROM은 기존의 EEPROM에 비해 집적도가 높아, 대용량 보조 기억 장치로의 응용에 매우 유리하다. 플래시 EEPROM 중에서도 낸드형(NAND-type) 플래시 EEPROM(이하, '낸드형 플래시 메모리'라 칭함)은 다른 플래시 EEPROM에 비해 집적도가 매우 높은 장점을 가진다.
최근 들어, 메모리 장치에 대한 고집적 요구가 높아짐에 따라, 하나의 메모리 셀에 멀티 비트 데이터를 저장하는 멀티 비트 메모리 장치들이 U.S. Patent No. 7,035,144에 "FLASH MEMORY DEVICE HAVING MULTI-LEVEL CELL AND READING AND PROGRAMMING METHOD THEREOF"라는 제목으로, U.S. Patent No. 6,082,056에 "FLASH MEMORY DEVICE AND ARCHITECTURE WITH MULTI LEVEL CELLS"라는 제목으로 각각 게재되어 있으며, 이 출원의 레퍼런스에 포함된다.
하나의 메모리 셀에 1-비트 데이터를 저장하는 경우, 메모리 셀은 2개의 문턱전압 분포들, 즉 데이터 "1"과 데이터 "0" 중 어느 하나에 대응되는 문턱전압 분포를 갖는다. 이에 반해서, 하나의 메모리 셀에 2-비트 데이터를 저장하는 경우, 메모리 셀은 4개의 문턱전압 분포들 중 어느 하나에 속하는 문턱전압을 갖는다. 또한, 하나의 메모리 셀에 3-비트 데이터를 저장하는 경우, 메모리 셀은 8개의 문턱전압 분포들 중 어느 하나에 포함되는 문턱전압을 갖는다. 최근에는, 하나의 메모리 셀에 4-비트 데이터를 저장하기 위한 다양한 기술들이 활발히 연구되고 있다.
도 1은 바이너리 배열(Binary ordering) 방식으로 멀티 비트 데이터가 문턱전압 상태에 할당되는 메모리 셀의 프로그램 과정을 보여주는 도면이다. 하나의 메모리 셀에 4-비트 데이터를 저장하기 위해서, 4-비트 데이터는 페이지 단위로 프로그램된다. 제1페이지(Page 1)의 프로그램 이후, 메모리 셀들 각각은 "1" 또는 "0"에 대응하는 어느 하나의 문턱전압 상태를 갖는다. 제2페이지(Page 2)의 프로그램 이후, 메모리 셀들 각각은 "11", "01", "10" 및 "00" 중 어느 하나의 문턱전압 상태를 갖는다. 제3페이지(Page 3)의 프로그램 동작 이후에 메모리 셀들 각각은 "111", "011", "101", "001", "110", "010", "100" 및 "000" 중 어느 하나의 문턱전압 상태를 갖는다. 제4페이지(또는, MSB 페이지)를 프로그램한 이후 수행되는 검증 동작은 사전 읽기(Preliminary Read) 동작과 검증 읽기(Verify Read) 동작을 포 함한다. 사전 읽기 동작에서는 제 1 읽기 전압들(Vpre1~Vpre8 : 10)이 선택된 메모리 셀들의 워드 라인에 제공된다. 검증 읽기 동작에서는 제 2 읽기 전압들(Vfy1~Vfy8 : 20)이 선택된 메모리 셀들의 워드 라인으로 인가된다. 프로그램 전압이 인가된 이후, MSB 페이지가 "0"인 셀들의 문턱전압이 제 1 읽기 전압(VpreX)과 제 2 읽기 전압(VfyX) 사이에 존재하는 것으로 판명되면, 검증 패스(Verify pass)로 판정된다. 검증 패스(Verify pass)로 판정되는 메모리 셀들은 이후의 프로그램 루프에서 프로그램 금지(Program Inhibit)된다.
도 2는 도 1의 바이너리 배열(Binary ordering) 방식으로 코딩되는 플래시 메모리 셀의 프로그램 동작 및 검증 동작을 시간순으로 도시한 타이밍도이다. 도 2를 참조하면, 프로그램 실행 동작 이후에는 문턱전압 상태를 감지하는 사전 읽기(Preliminary read)와 검증 읽기(Verify read) 동작이 모든 문턱전압 상태 각각에 대해서 이루어진다. 그리고 제1루프에서 페일(Fail)로 판별된 셀들을 재프로그램하기 위한 제2루프가 수행된다. 각각의 루프에서 사전 읽기(Pre RD) 및 검증 읽기(Verify)는 제1루프에서와 동일하게 수행된다. 이러한 동작은 선택된 모든 메모리 셀들이 패스(Pass) 될 때까지 진행된다.
도 3은 그레이 배열(Gray ordering) 방식으로 프로그램 데이터가 문턱전압 상태에 할당되는 메모리 셀의 프로그램 과정을 보여주는 도면이다. 제1페이지(Page 1)의 프로그램 이후, 메모리 셀들 각각은 "1" 또는 "0"에 대응하는 어느 하나의 문턱전압 상태를 갖는다. 제2페이지(Page 2)의 프로그램 이후, 메모리 셀들 각각은 "11", "10", "00" 및 "01" 중 어느 하나의 문턱전압 상태를 갖는다. 제3페이 지(Page 3)의 프로그램 동작 이후에 메모리 셀들 각각은 "111", "110", "100", "101", "001", "000", "010" 및 "011" 중 어느 하나의 문턱전압 상태를 갖는다. 제4페이지(또는, MSB 페이지)를 프로그램 동작을 위해 제3페이지까지의 프로그램 상태가 독출되는 사전 읽기(Preliminary Read) 동작이 수행된다. 사전 읽기(Preliminary Read) 동작의 결과에 따라서 메모리 셀들 중에서 프로그램될 제4페이지의 데이터가 "1"인 셀들은 프로그램 금지(Program Inhibit)된다. 프로그램 금지됨에 따라, 제4페이지의 데이터가 "1"인 셀들은 제3페이지의 프로그램 당시 설정된 문턱전압 상태를 유지한다. 사전 읽기 동작에 의해서 선택된 셀들 중 프로그램될 제4페이지 데이터가 "0"인 셀들은 제4페이지의 데이터가 "0"에 대응하는 문턱전압 상태들로 프로그램된다. 선택된 메모리 셀들로 1회 프로그램 전압(예를 들면, ISPP 전압)이 인가된 후, 메모리 셀들의 프로그램 여부를 판단하는 검증 읽기 동작이 제 2 읽기 전압들(Vfy1~Vfy8)에 의해서 수행된다. 검증 읽기 동작에 의해서 패스(Pass)로 판정되는 메모리 셀들은 프로그램 금지(Program Inhibit)되며, 페일(Fail)로 판정된 메모리 셀들은 재프로그램 되도록 설정된다.
도 4는 도 3의 제4페이지(Page 4)를 프로그램하기 위한 제반 프로그램 동작을 간략히 보여주는 타이밍도이다. 도 4를 참조하면, 제4페이지(Page 3)의 프로그램을 실행하기 이전에 제3페이지(Page 3)의 프로그램 결과에 대한 사전 읽기(Preliminary Read:Pre RD) 동작이 수행된다. 사전 읽기 동작에 의해서 선택된 메모리 셀들은 프로그램 실행 구간(Program Execution Period) 동안, 워드 라인에 프로그램 전압(Vpgm)이 인가됨으로써 타깃 문턱전압 상태로 프로그램된다. 그 이후 에는 각 메모리 셀들의 프로그램 여부를 판별하는 검증 동작이 검증 구간(Verify Period) 동안 수행된다. 검증 구간 동안, 각각의 메모리 셀들의 문턱전압 상태가 제 2 읽기 전압(Vfy1~Vfy8)에 의해서 독출된다. 그리고 제1프로그램 루프에서 페일(Fail)로 판정된 셀들을 재프로그램하기 위한 제2프로그램 루프가 수행된다. 제2프로그램 루프는 상술한 검증 읽기 동작에 의해서 페일(Fail)로 판별된 셀들에 대해서 수행된다. 프로그램 실행 동작과 검증 동작은 선택된 모든 메모리 셀들이 패스(Pass) 될 때까지 진행된다.
이상에서 도면들을 통해서 설명된 바에 따르면, 제4페이지(Page 4 또는 MSB 페이지)의 프로그램 실행 동작(Program Execution)은 선택된 모든 메모리 셀들에 대해서 동시에 수행된다. 즉, 선택된 메모리 셀들은 프로그램 실행 동작시에 모두 동일한 레벨의 프로그램 전압을 인가받는다. 이러한 프로그램 방식에서, 사전 읽기 동작을 위해서는 페이지 버퍼의 래치들이 적어도 4개 이상 필요하고, 멀티 비트 데이터의 프로그램을 위해서 소요되는 시간 또한 길어지게 된다. 따라서, 멀티 비트 데이터의 프로그램에서 프로그램 시간을 단축하고, 페이지 버퍼에 구비되는 래치 수를 줄일 수 있는 프로그램 방법이 요구되고 있다.
본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, 멀티 비트 데이터를 프로그램하기 위해 소요되는 페이지 버퍼의 래치 수를 줄일 수 있는 멀티 비트 데이터의 프로그램 방법을 제공하는 데 있다.
본 발명의 다른 목적은 멀티 비트 데이터의 프로그램에 소요되는 프로그램 시간을 단축할 수 있는 프로그램 방법을 제공하는 데 있다.
상기의 과제를 이루기 위하여 본 발명에 의한 멀티 비트 플래시 메모리의 프로그램 방법은, 문턱전압 상태에 따라 상기 복수의 메모리 셀들을 복수의 그룹으로 분류하는 단계; 및 프로그램 데이터로 상기 복수의 메모리 셀들을 프로그램하는 단계를 포함하되, 상기 프로그램 단계에서 상기 분류된 그룹들의 메모리 셀들은 상기 분류된 그룹 단위로 각각 선택되어 프로그램된다.
이 실시예에 있어서, 상기 복수의 메모리 셀들 각각은 제1 내지 제4페이지에 대응하는 4-비트 데이터를 저장하는 플래시 메모리 셀들이다.
이 실시예에 있어서, 상기 프로그램 데이터는 제4페이지 데이터이다.
이 실시예에 있어서, 상기 복수의 그룹들 각각은 하나의 문턱전압 상태를 갖는 메모리 셀들을 포함한다.
이 실시예에 있어서, 상기 복수의 그룹들 각각은 서로 다른 적어도 2개의 문턱전압 상태들 중 어느 하나의 상태를 갖는 메모리 셀들을 포함한다.
이 실시예에 있어서, 상기 프로그램 데이터를 기입하는 단계는, 선택된 그룹의 메모리 셀들을 선택하는 단계; 상기 선택된 메모리 셀들의 비트 라인으로 프로그램 데이터를, 워드 라인으로 프로그램 전압을 인가하는 단계; 및 상기 선택된 메모리 셀들의 프로그램 여부를 검증하는 단계를 포함한다.
이 실시예에 있어서, 상기 선택된 메모리 셀들 이외의 메모리 셀들은 프로그램 금지된다.
이 실시예에 있어서, 상기 검증하는 단계에서, 상기 선택된 메모리 셀들의 문턱전압들은 타깃 문턱전압 상태의 하한 및 상한의 범위 이내에 존재하는지를 검출된다.
이 실시예에 있어서, 상기 타깃 문턱전압 상태의 하한 및 상한의 범위를 검출하는 동작은 상기 그룹에 포함되는 문턱전압 상태 각각에 대해서 수행된다.
이 실시예에 있어서, 상기 프로그램 전압을 인가하는 단계와 상기 검증하는 단계는 하나의 프로그램 루프를 구성하며, 상기 프로그램 루프는 상기 선택된 메모리 셀들이 각각의 타깃 문턱전압 상태로 프로그램되는 순간까지 반복된다.
이 실시예에 있어서, 상기 프로그램하는 단계에서, 상기 그룹의 선택은 높은 문턱전압 상태의 메모리 셀들이 먼저 프로그램된다.
이 실시예에 있어서, 상기 각각의 그룹은 서로 다른 프로그램 시작 전압으로 프로그램된다.
이 실시예에 있어서, 상대적으로 높은 문턱전압 상태를 갖는 그룹의 프로그램 시작 전압은 낮은 문턱전압 상태를 갖는 그룹의 프로그램 시작 전압보다 높다.
이 실시예에 있어서, 상기 프로그램 데이터를 기입하는 단계는, 선택된 그룹의 메모리 셀들을 선택하는 단계; 상기 선택된 메모리 셀들의 문턱전압 상태를 독출하는 제 1 읽기 동작을 수행하는 단계; 상기 선택된 메모리 셀들의 워드 라인으로 프로그램 전압을 인가하는 단계; 그리고 상기 선택된 그룹의 메모리 셀들을 검증하는 단계를 포함한다.
이 실시예에 있어서, 상기 선택하는 단계에서, 상기 선택된 메모리 셀들 이 외의 메모리 셀들은 프로그램 금지된다.
이 실시예에 있어서, 상기 제 1 읽기 동작을 수행하는 단계는 상기 선택된 메모리 셀들의 문턱전압이 상기 적어도 2개의 문턱전압 상태들 중 어느 상태에 포함되는지를 감지하여 데이터로 저장하는 단계를 포함한다.
이 실시예에 있어서, 상기 선택된 그룹에 포함되는 문턱전압 상태가 2개인 경우, 상기 제 1 읽기 동작은 1회 수행된다.
이 실시예에 있어서, 상기 선택된 그룹에 포함되는 문턱전압 상태가 2개인 경우, 상기 검증하는 단계는 상기 2개의 문턱전압 상태로부터 프로그램된 또 다른 2개의 문턱전압 상태들 각각에 대해 서로 다른 검증 전압들로 2회의 검증 읽기 동작을 수행한다.
이 실시예에 있어서, 상기 선택된 그룹에 포함되는 문턱전압 상태가 4개인 경우, 상기 제 1 읽기 동작은 3회 수행된다.
이 실시예에 있어서, 상기 프로그램 전압을 인가하는 단계와 상기 검증하는 단계는 상기 선택된 메모리 셀들이 모두 각각의 타깃 문턱전압 상태로 프로그램되는 순간까지 반복된다.
이 실시예에 있어서, 상기 프로그램 데이터는 상기 멀티 비트 데이터의 최상위(MSB) 페이지 데이터이다.
상기 목적을 달성하기 위한 본 발명에 따른 멀티 비트 플래시 메모리 장치는, 각각이 멀티 비트 데이터를 저장하며 동일 워드 라인에 연결되는 복수의 메모리 셀들을 갖는 셀 어레이; 상기 복수의 메모리 셀들의 비트 라인들에 연결되며, 메모리 셀들의 읽기 및 프로그램 동작을 수행하도록 구성된 페이지 버퍼 블록; 그리고 상기 멀티 비트 데이터 중 어느 한 페이지 데이터의 프로그램 동작시, 상기 복수의 메모리 셀들을 문턱전압 상태에 따라 복수의 그룹으로 분류하고, 상기 분류된 그룹 단위로 메모리 셀들을 프로그램하도록 상기 페이지 버퍼 블록을 제어하는 제어 로직을 포함한다.
이 실시예에 있어서, 상기 페이지 버퍼 블록은 상기 복수의 메모리 셀들 각각의 비트 라인에 전기적으로 연결되는 복수의 페이지 버퍼들을 포함한다.
이 실시예에 있어서, 상기 프로그램 동작시, 상기 제어 로직은 프로그램을 위해 선택된 그룹의 비트 라인들로 프로그램 데이터가 전달되도록 상기 페이지 버퍼 블록을 제어한다.
이 실시예에 있어서, 상기 프로그램 동작시, 상기 제어 로직은 상기 선택된 그룹 이외의 비트 라인들로는 프로그램 금지를 위한 비트 라인 전압이 제공되도록 상기 페이지 버퍼 블록을 제어한다.
이 실시예에 있어서, 상기 프로그램 동작시, 상기 제어 로직의 제어에 따라 상기 워드 라인으로 프로그램 전압을 인가한다.
이 실시예에 있어서, 상기 프로그램 동작시, 상기 제어 로직은 상기 프로그램 전압의 인가 후에 상기 워드 라인으로 제 1 읽기 전압 및 제 2 읽기 전압을 제공하여 검증 동작을 수행한다.
이 실시예에 있어서, 상기 프로그램 동작시, 상기 제어 로직은 상기 선택된 그룹의 메모리 셀들의 문턱 전압 상태를 독출하기 위하여 제 1 읽기 전압에 따른 사전 읽기 동작을 수행하도록 상기 페이지 버퍼 블록을 제어한다.
이 실시예에 있어서, 상기 프로그램 동작시, 상기 사전 읽기 동작 이후에 상기 선택된 그룹에 대응하는 페이지 버퍼의 데이터가 상기 메모리 셀들로 프로그램되도록 상기 워드 라인으로 프로그램 전압이 공급된다.
이 실시예에 있어서, 상기 프로그램 동작시, 상기 프로그램 전압의 인가 이후에 제 2 읽기 전압에 따른 검증 읽기 동작이 수행되도록 상기 페이지 버퍼 블록을 제어한다.
이 실시예에 있어서, 상기 제어 로직의 제어에 따라 상기 프로그램 전압, 상기 제 1 읽기 전압 및 상기 제 2 읽기 전압을 상기 워드 라인으로 제공하는 전압 발생기를 더 포함한다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않 고 관점 및 응용에 따라 수정되거나 변경될 수 있다. 이하, 본 발명에 따른 실시예들이 첨부된 도면을 참조하여 상세히 설명될 것이다.
도 5는 본 발명에 따른 멀티 비트 데이터의 프로그램 방법을 수행하기 위한 멀티 비트 플래시 메모리 장치의 일례를 개략적으로 도시한 블록도이다. 도 5를 참조하면, 프로그램 동작시, 본 발명의 멀티 비트 플래시 메모리 장치(100)는 선택되는 메모리 셀들을 각각의 문턱전압 상태에 따라 복수의 그룹으로 분할한다. 분할된 메모리 셀들은 분할된 각각의 그룹 단위로 프로그램된다.
셀 어레이(110)는 4-비트 또는 그 이상의 데이터를 저장할 수 있는 멀티 비트 플래시 메모리 셀들을 포함한다. 일반적으로 멀티 비트 플래시 메모리 셀들은 하나의 셀에 복수 비트 데이터를 저장하기 위하여 다수의 문턱전압 상태들 중 어느 하나로 프로그램된다. 셀 어레이(110)에 포함되는 메모리 셀들은 워드 라인을 통해서 프로그램 전압(Vpgm), 제 1 읽기 전압들(Vpre1~Vpre7) 또는 제 2 읽기 전압들(Vfy1~Vfy8)을 제공받는다. 프로그램 전압(Vpgm)의 인가와 동시에 비트 라인을 통해서 제공되는 페이지 데이터가 메모리 셀들에 프로그램된다. 메모리 셀들에 프로그램된 페이지 데이터는 페이지 버퍼 블록(130)에 의해서 감지된다.
비트 라인 선택회로(120)는 제어 로직(140)의 제어에 응답하여 페이지 버퍼(130)로부터 제공되는 비트 라인 전압을 짝수 비트 라인(BLe)과 홀수 비트 라인(BLo) 중 어느 한쪽에 선택적으로 전달한다.
페이지 버퍼 블록(130)은 동작 모드에 따라 기입 드라이버로써 또는 감지 증폭기로써 동작한다. 예를 들면, 페이지 버퍼 블록(130)은 사전 읽기(Preliminary Read) 동작 시에는 감지 증폭기로써, 프로그램 실행(Program Execution) 동작에서는 기입 드라이버로써 동작한다. 페이지 버퍼 블록(130)은 제어 로직(140)의 제어에 따라 메모리 셀의 프로그램된 상태를 독출하기 위한 사전 읽기(Preliminary Read) 동작을 수행한다. 메모리 셀의 프로그램 상태를 제 1 읽기 전압(Vpre1~Vpre7)에 따라 순차적으로 수행하여 독출된 데이터를 래치한다.
프로그램 동작시, 본 발명의 페이지 버퍼 블록(130)은 입력되는 프로그램 데이터를 페이지 단위로 래치한다. 래치된 페이지 단위의 프로그램 데이터는 셀 어레이의 비트 라인으로 전달되어 프로그램된다. 그러나, 본 발명의 페이지 버퍼 블록(130)은 로드된 프로그램 데이터를 동시에 비트 라인으로 전달하지 않는다. 페이지 버퍼 블록(130)은 각각의 페이지 버퍼들(PB)에 로드된 프로그램 데이터를 제어 로직(140)에 의해 선택된 그룹 단위로 각각의 비트 라인에 전달한다. 따라서, 비선택된 그룹에 포함되는 페이지 버퍼들(PB)의 비트 라인들은 프로그램 금지를 위한 비트 라인 전압(Vcc)으로 바이어스된다. 좀더 구체적으로 설명하면, 프로그램 동작시, 제1그룹에 포함되는 메모리 셀들의 비트 라인으로는 페이지 버퍼(PB)에 로드된 데이터가 전달된다. 그러나 제1그룹을 제외한 나머지 메모리 셀들에 대응하는 비트 라인들로는 프로그램 금지(Program Inhibit)를 위한 비트 라인 전압(예를 들면 Vcc)가 인가된다.
제어 로직(140)은, 프로그램 동작시, 분할되는 메모리 셀들의 그룹에 따라 각각의 페이지 버퍼들(PB)을 활성화 또는 비활성화시킨다. 예를 들면, 선택되는 그룹의 메모리 셀들과 연결된 비트 라인들로는 페이지 버퍼에 로드된 데이터가 전달 되도록 비트 라인을 활성화한다. 반면에, 선택되지 않은 그룹의 메모리 셀들과 연결되는 비트 라인들로는 프로그램 금지(Program Inhibit)에 대응하는 비트 라인 전압(예를 들면 Vcc)이 인가되도록 페이지 버퍼 블록(130)을 제어한다. 동시에 워드 라인으로는 프로그램 전압(Vpgm)이 인가되도록 전압 발생기(150)를 제어한다. 사전 읽기 동작이나 검증 읽기 동작시, 제어 로직(140)은 워드 라인으로 제 1 읽기 전압(Vpre1~Vpre7) 또는 제 2 읽기 전압(Vfy1~Vfy8)이 공급되도록 전압 발생기(150)를 제어한다. 동시에, 제어 로직(140)은 상술한 제 1 읽기 전압(Vpre1~Vpre7) 또는 제 2 읽기 전압(Vfy1~Vfy8)에 응답하여 비트 라인으로 제공되는 메모리 셀의 데이터를 감지하도록 페이지 버퍼 블록(130)을 제어한다.
전압 발생기(150)는 제어 로직(140)의 제어에 응답하여 각 모드에 대응하는 전압을 발생한다. 프로그램 실행 동작시, 전압 발생기(150)는 메모리 셀의 워드 라인으로 프로그램 전압을 인가한다. 사전 읽기 동작시에는 제 1 읽기 전압(Vpre1~Vpre7)을 순차적으로 생성하여 선택된 워드 라인으로 제공한다. 검증 읽기 동작 시에는 제 2 읽기 전압(Vfy1~Vfy8)을 생성하여 순차적으로 선택된 메모리 셀들이 연결된 워드 라인으로 제공한다. 행 디코더(160)는 전압 발생기(150)에 의해서 생성되는 워드 라인 전압을 행 어드레스(미 도시됨)에 응답하여 선택된 워드 라인으로 제공한다.
이상에서 설명된 본 발명의 멀티 비트 플래시 메모리 장치는, 입력되는 페이지 데이터 중 선택된 그룹의 메모리 셀들에 대응하는 페이지 버퍼들만을 활성화한다. 이를 위하여 제어 로직(140)은 선택된 그룹의 페이지 버퍼(PB)에 연결된 비트 라인들로는 프로그램 데이터에 대응하는 비트 라인 전압을 전달하도록 페이지 버퍼 블록(130)을 제어한다. 제어 로직(140)은 비선택된 그룹의 페이지 버퍼(PB)에 연결되는 비트 라인들로는 프로그램 금지(Program Inhibit)를 위한 비트 라인 전압(예를 들면 Vcc)을 인가하도록 페이지 버퍼 블록(130)을 제어한다. 입력된 프로그램 데이터가 각각의 대응하는 메모리 셀들로 프로그램될 때까지 메모리 셀들의 그룹 단위의 선택 동작은 지속된다. 여기서, 비선택된 그룹의 메모리 셀들에 대응하는 비트 라인들을 비활성화하는 동작이 제어 로직(140)에 의해 페이지 버퍼 블록(130)에서 이루어진다고 설명되었으나, 이러한 비활성화 동작은 이에 국한되지 않는다. 즉, 비선택된 그룹의 메모리 셀에 대응하는 비트 라인들은 제어 로직(140)의 제어에 따라 비트 라인 스위치(120)에서 프로그램 금지(Program inhibit)를 위한 비트 라인 전압(즉, Vcc)으로 바이어스될 수 있다.
도 6은 제4페이지의 프로그램을 위해서 이루어지는 선택 동작을 설명하기 위한 도면이다. 도 6을 참조하면, 바이너리(Binary ordering) 방식으로 프로그램 데이터가 문턱전압 상태에 할당되는 메모리 셀들의 그룹 분할 방법이 예시적으로 도시되었다. 제4페이지의 프로그램을 위해서 메모리 셀들은 4개의 그룹으로 분할된다.
제1그룹(200)은 제3페이지의 프로그램 결과에 따라 문턱전압 상태 "100"(201) 및 문턱전압 상태 "000"(203)로 프로그램된 메모리 셀들이 포함된다. 문턱전압 상태 "100"(201)에 포함되는 메모리 셀들은 제4페이지 데이터가 "0"인 경우에는 데이터 "0100"에 대응하는 문턱전압 상태(202)로 프로그램된다. 문턱전압 상태 "000"(203)에 포함되는 메모리 셀들은 제4페이지 데이터가 "0"인 경우에는 데이터 "0000"에 대응하는 문턱전압 상태(204)로 프로그램된다. 제1그룹(200)에 포함되는 메모리 셀들의 제4페이지 프로그램 동작은 다음과 같다. 먼저, 제1그룹(200)에 포함되는 메모리 셀들 만이 선택되어 프로그램 전압(Vpgm)이 인가된다. 그리고, 사전 읽기 동작이 제 1 읽기 전압 (Vpre7)에 의해서 수행된다. 사전 읽기 동작 이후에는 검증 읽기 동작이 제 2 읽기 전압(Vfy7)에 의해서 이루어진다. 그리고 문턱전압 상태 (201)에 대응하는 메모리 셀들의 데이터 "0100"으로의 프로그램 여부가 판정된다. 만일 제4페이지 데이터가 "0"인 메모리 셀들의 문턱전압 상태가 제 2 읽기 전압(Vfy7)과 제 1 읽기 전압(Vpre7) 사이에 존재하면 이는 패스(Pass)로 판정되고 페이지 버퍼(PB)에는 "1"이 로드될 것이다. 그러나, 제4페이지 데이터가 "0"인 메모리 셀들의 문턱전압 상태가 제 2 읽기 전압(Vfy7)과 제 1 읽기 전압(Vpre7) 사이에 존재하지 않는 것으로 감지되면 페일(Verify fail)로 판정된다. 따라서, 이후에 수행되는 재프로그램을 위해 "0"가 페이지 버퍼(PB)에 로드될 것이다. 또한, 문턱전압 상태 (203)에 대응하는 메모리 셀들의 데이터 "0000"으로의 프로그램 여부를 감지하기 위한 동작이 이어진다. 만일 제4페이지 데이터가 "0"인 메모리 셀들의 문턱전압 상태가 제 2 읽기 전압(Vfy8)과 제 1 읽기 전압(Vpre8) 사이에 존재하면 패스(Pass)로 판정되고 페이지 버퍼(PB)에는 "1"이 로드될 것이다. 그러나, 제4페이지 데이터가 "0"인 메모리 셀들의 문턱전압 상태가 제 2 읽기 전압(Vfy8)과 제 1 읽기 전압(Vpre8) 사이에 존재하지 않는 것으로 감지되면 이는 페일(Verify fail)로 판정된다. 따라서, 이후에 수행되는 재프로그램을 위해 "0"가 페이지 버퍼 에 로드될 것이다.
제1그룹(200)에 포함되는 메모리 셀들의 검증 동작이 종료되면, 제2그룹(210)에 포함되는 메모리 셀들로의 프로그램 실행(Program Execution) 및 검증 동작이 수행된다. 프로그램 실행(Program Execution) 동작 이후, 제2그룹(210)에 포함되는 메모리 셀들(211 및 213에 대응)은 제 1 읽기 전압(Vpre5) 및 제 2 읽기 전압(Vfy5)에 의해서 그리고 제 1 읽기 전압 (Vpre6) 및 제 2 읽기 전압(Vfy6)에 의하여 검증된다. 제3그룹(220)에 포함되는 메모리 셀들도 프로그램 실행(Program Execution) 동작에 의해서 프로그램되고, 사전 및 제 2 읽기 전압들(Vpre3, Vfy3, Vpre4, Vfy4)에 의해서 검증된다. 제4그룹(230)에 포함되는 메모리 셀들은 프로그램 실행(Program Execution) 동작에 의해서 프로그램되고, 사전 및 제 2 읽기 전압들(Vpre1, Vfy1, Vpre2, Vfy2)에 의해서 검증된다. 선택된 모든 메모리 셀들로의 프로그램 루프가 종료되면, 이전의 검증 동작에 의해서 페일(fail)로 판정된 메모리 셀들에 대한 재프로그램 동작을 위한 프로그램 루프가 이어진다. 이러한 프로그램 루프는 프로그램 전압이 인가되는 프로그램 실행 구간(Program Execution duration) 및 제 1 읽기 전압 및 제 2 읽기 전압에 의한 검증 동작이 수행되는 검증 구간을 포함한다. 이러한 프로그램 루프들은 선택된 모든 메모리 셀들이 프로그램 패스(Program Pass)로 판정되는 시점까지 지속된다. 재프로그램을 위한 프로그램 루프는 상술한 제1프로그램 루프와 동일한 방식 및 순서에 따른다.
도 7은 도 6의 분류에 따라 각 그룹의 메모리 셀들을 프로그램하기 위한 동작들이 시간 순서대로 도시된 타이밍도이다. 도 7을 참조하면, 프로그램에 소요되 는 시간은 각 그룹(4개의 그룹)의 메모리 셀들이 프로그램되는 4개의 구간(T1~T4)으로 구분될 수 있다.
구간 (T1)에서는 제1그룹에 포함되는 메모리 셀들이 프로그램된다. 구간 (T1)은 제1그룹에 포함되는 메모리 셀들만을 선택하는 데이터 셋업(Data Setup) 구간으로부터 시작된다. 데이터 셋업 구간 동안, 제4페이지에 해당하는 프로그램 데이터가 대응하는 각각의 페이지 버퍼에 로드된다. 그리고 제1그룹에 대응하는 페이지 버퍼의 비트 라인들만 활성화될 것이다. 제2그룹 내지 제4그룹에 대응하는 페이지 버퍼의 비트 라인들은 프로그램 금지(Program Inhibit)를 위한 비트 라인 전압(Vcc)으로 바이어스될 것이다. 데이터의 셋업이 완료되면, 제어 로직(140)은 워드 라인으로 프로그램 전압을 인가하여 제1그룹에 대응하는 메모리 셀들을 프로그램하는 제1루프(1st loop) 동작을 시작한다. 워드 라인으로 프로그램 전압을 인가하는 프로그램 실행 동작(PGM)이 완료되면, 제어 로직(140)은 제1그룹의 메모리 셀들에 대한 검증 동작을 수행한다. 검증 동작은 문턱전압 상태 "0100"로 프로그램된 메모리 셀들 및 문턱전압 상태 "0000"로 프로그램된 메모리 셀들에 대해서 수행된다. 문턱전압 상태 "0100"은 제 1 읽기 전압 (Vpre7)과 제 2 읽기 전압 (Vfy7)에 의해서 검증된다. 메모리 셀들의 문턱전압이 제 1 읽기 전압 (Vpre7)과 제 2 읽기 전압 (Vfy7)의 사이에 존재하면 패스(Pass)로 판정된다. 패스로 판정된 메모리 셀들은 이후의 재프로그램 루프(2nd loop~Nth loop)에서는 프로그램 금지(Program Inhibit)된다. 문턱전압 상태 "0000"은 제 1 읽기 전압 (Vpre8)과 제 2 읽기 전압 (Vfy8)에 의해서 검증된다. 제1루프의 프로그램 전압에 의해서 프로그램된 메모리 셀들의 문턱전압이 제 1 읽기 전압 (Vpre8)과 제 2 읽기 전압 (Vfy8)의 사이에 존재하면 패스(Pass)로 판정된다. 패스로 판정된 메모리 셀들은 이후의 재프로그램 루프(2nd loop~Nth loop)에서는 프로그램 금지(Program Inhibit)된다. 검증 동작에서 페일(Fail)로 판정된 메모리 셀들은 이후의 재프로그램 루프(2nd loop)에서 다시 재프로그램되도록 선택된다. 재프로그램 루프들(2nd loop~Nth loop)에서 인가되는 프로그램 전압은 증가된 스텝 크기를 갖는 ISPP 방식에 준함은 이 분야에서 통상의 지식을 습득한 자들에게는 자명하다. 프로그램 실행 동작(PGM) 및 제 1 읽기 전압(Vpre7, Vpre8) 및 제 2 읽기 전압(Vfy7, Vfy8)에 의한 검증 동작은 제1그룹에 포함되는 모든 메모리 셀들이 패스(Pass)될 때까지 반복된다.
제1그룹의 프로그램 동작이 완료되면, 제2그룹의 메모리 셀들에 대한 프로그램 및 검증 동작의 수행을 위한 구간 (T2)가 이어진다. 구간 (T2)는 제2그룹의 메모리 셀들만을 선택하고 나머지 그룹의 메모리 셀들은 프로그램 금지(Program Inhibit)하는 데이터 셋업(Data setup) 동작으로부터 시작된다. 데이터 셋업 동작시, 제2그룹을 제외한 나머지 메모리 셀들에 대응하는 비트 라인들은 프로그램 금지를 위한 비트 라인 전압(예를 들면, Vcc)이 로드된다. 데이터 셋업 동작이 완료되면, 제2그룹에 메모리 셀들에 대한 제1프로그램 루프가 시작된다. 제1프로그램 루프는 프로그램 전압이 인가되는 프로그램 실행 동작(PGM)과 그에 뒤따르는 검증 동작으로 이루어진다. 프로그램 실행 동작에서, 선택된 메모리 셀들의 비트 라인으로는 프로그램 데이터에 대응하는 비트 라인 전압이 인가되나, 비선택된 모든 메모리 셀들의 비트 라인들로는 프로그램 금지를 위한 비트 라인 전압(예를 들면, Vcc) 이 제공된다. 이후에 수행되는 검증 동작은 문턱전압 상태 "0110" 및 문턱전압 상태 "0010"에 대해서 수행된다. 문턱전압 상태 "0110"은 제 1 읽기 전압 (Vpre5)과 제 2 읽기 전압 (Vfy5)에 의해서 검증된다. 제1루프에 의해서 프로그램된 메모리 셀들의 문턱전압이 제 1 읽기 전압 (Vpre5)과 제 2 읽기 전압 (Vfy5)의 사이에 존재하면 패스(Pass)로 판정된다. 패스(Pass)로 판정된 메모리 셀들은 이후의 재프로그램 루프(2nd loop~Nth loop)에서는 프로그램 금지(Program Inhibit)된다. 문턱전압 상태 "0010"은 제 1 읽기 전압 (Vpre6)과 제 2 읽기 전압 (Vfy6)에 의해서 검증된다. 제1루프의 프로그램 전압에 의해서 프로그램된 메모리 셀들의 문턱전압이 제 1 읽기 전압 (Vpre6)과 제 2 읽기 전압 (Vfy6)의 사이에 존재하면 패스(Pass)로 판정된다. 검증 동작에 의해서 페일(Fail)로 판정된 메모리 셀들은 재프로그램을 위한 루프(2nd loop)에서 거듭하여 증가된 스텝 펄스로 프로그램되고 검증된다.
제3그룹 및 제4그룹에 속하는 메모리 셀들 또한 상술한 제1그룹 및 제2그룹과 동일한 방식의 프로그램 실행 및 검증 동작에 의해서 타깃 문턱전압 상태들로 프로그램된다.
이상에서는 본 발명에 따른 바이너리 배열(Binary ordering) 방식으로 코딩되는 멀티 비트 데이터의 저장방법이 설명되었다. 본 발명의 프로그램 방법에 따르면, 하나의 페이지 데이터를 프로그램하기 위해 메모리 셀들을 동시에 타깃 문턱전압 상태로 프로그램하지 않는다. 그 대신, 본 발명의 프로그램 방법은 메모리 셀들을 복수의 그룹으로 분할하고 각 그룹 단위로 프로그램한다. 따라서, 분할된 그룹에 대해서만 사전 읽기 동작을 수행하기 때문에 각각의 페이지 버퍼는 1-비트의 사 전 읽기 데이터만을 저장한다. 따라서, 3-비트의 사전 읽기 결과를 저장하는 일반적인 프로그램 방식에 비하여 칩 면적을 줄일 수 있다.
도 8은 메모리 셀들 각각이 그 워드 라인으로 제공받는 프로그램 전압(Vpgm)의 파형을 간략히 보여주는 파형도이다. 도 8을 참조하면, 분할된 각각의 그룹에 대응하는 메모리 셀들로는 루프가 증가할수록 증가된 스텝 크기의 펄스들을 제공하기 위한 계단형 전압이 제공된다. 그러나, 제3페이지 데이터의 프로그램 이후, 각 그룹에 포함되는 메모리 셀들의 문턱전압 상태는 서로 다르다. 제1그룹의 메모리 셀들은 제2그룹의 메모리 셀들보다 문턱전압이 높은 상태로 프로그램되어 있다. 따라서 각각의 그룹의 프로그램 동작에 있어서, 프로그램 시작 전압은 동일할 필요가 없다. 이미 문턱전압 상태 "100" 또는 "000"으로 프로그램된 제1그룹에 포함되는 메모리 셀들을 프로그램하기 위한 프로그램 시작 전압(Program start voltage)은 제2그룹의 프로그램 시작 전압보다 높다. 제2그룹의 프로그램 시작 전압은 제3그룹의 프로그램 시작 전압보다 높다. 마찬가지로 제3그룹의 프로그램 시작 전압은 제4그룹의 프로그램 시작 전압보다 높다. 여기서, 높은 문턱전압을 갖는 제1그룹에 포함되는 메모리 셀들부터 프로그램하는 이유는 인접한 메모리 셀들 간의 커플링 효과(Coupling Effect)에 의한 프로그램 디스터브(Program disturb) 특성을 향상시키기 위해서이다. 상대적으로 높은 문턱전압 상태로 프로그램된 메모리 셀들이 받는 스트레스는 상대적으로 낮은 문턱전압 상태로 프로그램된 메모리 셀들이 받는 스트레스보다 작기 때문이다.
높은 문턱전압으로 프로그램된 그룹(제1그룹)을 높은 프로그램 시작 전압으 로 먼저 프로그램하는 본 발명의 프로그램 방법에 따라, 프로그램 이후의 문턱전압 상태의 확장을 감소시킬 수 있다. 이러한 특성은 읽기 마진의 확보가 용이하지 못한 멀티 비트 플래시 메모리 장치에 있어서 고신뢰도의 독출 동작을 가능케 한다.
도 9는 그레이 배열(Gray ordering) 방식의 셀 어레이에서의 제4페이지의 프로그램을 위해서 이루어지는 선택 동작을 설명하기 위한 도면이다. 도 9를 참조하면, 본 발명의 그레이 배열(Gray ordering) 방식에 따라 메모리 셀들을 문턱전압 상태에 의해서 분할하는 그룹 분할 방법이 예시적으로 도시되었다. 제4페이지의 프로그램을 위해서 메모리 셀들은 4개의 그룹으로 분할된다.
제1그룹(300)은 제3페이지의 프로그램 결과에 따라 문턱전압 상태 "111"(301) 및 문턱전압 상태 "110"(302)로 프로그램된 메모리 셀들이 포함된다. 문턱전압 상태 "111"(301)에 포함되는 메모리 셀들은 제4페이지 데이터가 "1"인 경우에는 프로그램 금지되어 데이터 "1111"에 대응하는 문턱전압 상태(301)로 유지된다. 문턱전압 상태 "110"(302)에 포함되는 메모리 셀들은 제4페이지 데이터가 "1"인 경우에는 데이터 "1110"에 대응하는 문턱전압 상태(302)로 유지된다.
제1그룹(300)의 메모리 셀들에 프로그램되는 제4페이지 데이터가 "0"인 경우의 프로그램 동작은 다음과 같다. 먼저, 제1그룹(300)에 포함되는 메모리 셀들 만이 선택되고 나머지 그룹의 메모리 셀들은 프로그램 금지(Program inhibit)되도록 설정된다. 그리고, 사전 읽기 동작이 제 1 읽기 전압(Vpre1)에 의해서 수행된다. 제 1 읽기 전압(Vpre1)에 의해서 "111"로 독출된 메모리 셀들은 문턱전압 상태 "0111"(372)로 프로그램되기 위한 프로그램 전압이 인가되며 검증된다. 제 1 읽기 전압(Vpre1)에 의해서 "110"로 독출된 메모리 셀들은 문턱전압 상태 "0110"(371)로 프로그램되도록 프로그램 전압이 인가되고 검증된다. 프로그램 실행 동작(PGM) 시, 페이지 버퍼에는 프로그램 데이터가 로드되고, 메모리 셀들의 워드 라인으로는 프로그램 전압(Vpgm)이 인가된다. 검증 동작시, 문턱전압 상태 "110"로 사전 읽기 동작에 의해서 독출된 메모리 셀들의 문턱전압 상태 "0110"(371)로의 프로그램 성공 여부가 제 2 읽기 전압 (Vfy7)에 의해서 검출된다. 문턱전압 상태 "111"로 사전 읽기 동작에 의해서 독출된 메모리 셀들의 문턱전압 상태 "0111"(372)로의 프로그램 성공 여부가 제 2 읽기 전압 (Vfy8)에 의해서 검증된다. 제1그룹(300)에 대한 프로그램 동작은 1회의 사전 읽기 동작과 뒤따르는 복수의 프로그램 루프들로 이루어진다. 각각의 프로그램 루프들은 프로그램 실행 및 검증 동작을 포함한다. 복수의 프로그램 루프들은 모든 제1그룹(300)의 메모리 셀들이 타깃 문턱전압 상태로 프로그램될 때까지 반복된다.
제2그룹(310)에 포함되는 메모리 셀들은 데이터 셋업(Data Setup) 동작시 프로그램 동작을 위해 선택된다. 그리고 선택된 메모리 셀들에 대한 1회의 사전 읽기 동작(Preliminary Read)이 제 1 읽기 전압(Vpre3)에 의해서 수행된다. 사전 읽기 동작 이후, 제2그룹(310)에 포함되는 메모리 셀들에 대한 프로그램 실행 동작 및 제 2 읽기 전압들(Vfy5, Vfy6)에 의한 검증 동작으로 이루어지는 프로그램 루프들이 반복될 것이다. 검증 동작시, 문턱전압 상태 "100"로 사전 읽기 동작에 의해서 독출된 메모리 셀들에 대해 문턱전압 상태 "0100"(362)로 프로그램되었는지의 여부가 제 2 읽기 전압 (Vfy6)에 의해서 검증된다. 문턱전압 상태 "101"로 제 1 읽기 동작에 의해서 독출된 메모리 셀들의 문턱전압 상태 "0101"(361)로 프로그램되었는지의 여부는 제 2 읽기 전압 (Vfy5)에 의해서 검증된다. 제2그룹에 포함되는 모든 메모리 셀들이 패스(Pass)로 판정될 때까지 증가된 프로그램 전압에 의한 프로그램 실행 동작(PGM)과 제 2 읽기 전압들(Vfy5, Vfy6)에 의한 검증 동작은 반복된다.
제3그룹(320) 및 제4그룹(330)에 포함되는 메모리 셀들도 제1그룹(300) 또는 제2그룹(310)의 메모리 셀들과 동일한 방식으로 프로그램 및 검증된다. 단, 프로그램 루프를 진행하기 이전에 진행되는 사전 읽기 동작은 제3그룹(320)의 메모리 셀들에 대해서 제 1 읽기 전압 (Vpre5)으로, 제4그룹(330)의 메모리 셀들에 해서는 제 1 읽기 전압 (Vpre7)에 의해서 이루어진다.
도 10은 상술한 도 9의 분류에 따라 각 그룹의 메모리 셀들을 프로그램하기 위한 동작들이 시간 순서대로 도시된 타이밍도이다. 도 10을 참조하면, 프로그램 시간은 4개의 그룹 각각에 포함되는 메모리 셀들이 프로그램되는 4개의 구간(T1~T4)으로 구분될 수 있다.
구간 (T1)에서는 제1그룹(300, 도 9 참조)에 포함되는 메모리 셀들이 프로그램된다. 구간 (T1)은 제1그룹에 포함되는 메모리 셀들만을 선택하는 데이터 셋업 구간으로부터 시작된다. 데이터 셋업(Data setup) 구간 이전에, 페이지 버퍼들(PB)에는 제4페이지 데이터가 이미 로드되어 있다. 따라서, 데이터 셋업 구간 동안, 선택된 제1그룹(300)에 대응하는 비트 라인들은 페이지 버퍼에 로드된 데이터가 전달되도록 설정된다. 그러나, 제1그룹을 제외한 나머지 그룹(제2그룹~제4그룹)에 대응하는 비트 라인들로는 프로그램 금지(Program Inhibit)를 위한 비트 라인 바이어스 동작이 수행된다.
그레이 배열(Gray ordering) 방식으로 프로그램 데이터가 코딩되는 멀티 비트 플래시 메모리 장치에서는 앞서 설명된 바이너리 배열(Binary ordering)과는 달리 데이터 셋업 구간에 뒤따라 사전 읽기 동작이 1회만 실시된다. 데이터 셋업 구간에서 선택된 제1그룹(300)의 메모리 셀들에 대해서 제 1 읽기 전압(Vpre1)에 의한 사전 읽기(Pre RD) 동작이 수행된다. 사전 읽기(Pre RD) 동작에 의해서 제1그룹(300)의 메모리 셀들이 문턱전압 상태가 독출되며, 독출된 문턱전압 상태는 검증 동작시 참조된다. 사전 읽기(Pre RD) 동작에 뒤따라, 프로그램 전압이 인가되는 프로그램 실행 동작 및 제 2 읽기 전압들(Vfy7, Vfy8)에 의해서 프로그램된 메모리 셀들이 검증되는 검증 동작을 포함하는 제1프로그램 루프(1st loop)가 실시된다. 검증 동작시, 패스(Pass)로 판정된 메모리 셀들에 대응하는 페이지 버퍼에는 이후의 프로그램 루프에서 프로그램 금지(Program Inhibit) 시키기 위한 설정이 이루어진다. 그러나 페일(Fail)로 판정된 메모리 셀들의 페이지 버퍼에는 이전에 로드된 페이지 데이터가 유지될 것이다. 제1프로그램 루프(1st loop)에서 페일(Fail)로 판별된 메모리 셀들을 제1프로그램 루프에서보다 증가된 프로그램 전압으로 프로그램하는 제2프로그램 루프(2nd loop)가 실시된다. 이러한 프로그램 루프는 제1그룹에 포함되는 메모리 셀들이 모두 패스(Pass)로 판별되는 순간까지 반복적으로 지속된다.
제1그룹에 대한 프로그램 동작이 완료되면, 제2그룹의 메모리 셀들에 대한 프로그램 및 검증 동작의 수행을 위한 구간 (T2)가 뒤따른다. 구간 (T2) 내지 구간 (T4) 각각은 구간 (T1)에서 설명된 1회의 사전 읽기 동작(Pre RD)과 제1그룹의 선택된 모든 메모리 셀들이 프로그램 완료될 때까지 반복되는 프로그램 루프들이 수행된다.
이상에서 도면을 통하여 본 발명의 그레이 배열(Gray ordering) 방식으로 프로그램 데이터가 코딩되는 멀티 비트 플래시 메모리 장치의 프로그램 방법이 개시되었다. 본 발명의 멀티 비트 데이터의 프로그램 방법에 따르면, 메모리 셀들은 제3페이지의 프로그램 동작에 의해서 형성된 문턱전압 상태에 따라 복수의 그룹으로 분할된다. 그리고 메모리 셀들은 각각의 그룹 단위로 제4페이지 데이터가 프로그램된다. 각각의 그룹을 프로그램하는 동작은 선택된 그룹만을 활성화하는 데이터 셋업 동작, 1회의 사전 읽기 동작, 그리고 프로그램 실행 및 검증 동작이 반복되는 복수의 프로그램 루프들을 포함한다. 상술한 방법에 따르면, 선택된 그룹에 대해서만 1회의 사전 읽기 동작을 수행하기 때문에, 페이지 버퍼는 1-비트의 사전 읽기 결과를 저장하기 1개의 래치와 프로그램 데이터를 저장하기 위한 1개의 래치를 포함할 수 있다. 따라서, 페이지 버퍼는 최소 2개의 래치만을 구비하고도 멀티 비트 데이터를 프로그램할 수 있다.
이상에서 제3페이지의 프로그램 이후에 형성되는 8개의 문턱전압 분포를 각각 2개의 문턱전압 분포를 포함하는 4개의 그룹으로 분할하는 방식으로 메모리 셀들의 그룹 분할 방식이 설명되었다. 그러나 본 발명의 그룹 분할 방법은 이에 국한되지 않는다. 즉, 메모리 셀들을 분할하는 그룹 각각이 4개의 문턱전압 분포를 포함하도록 2개의 그룹으로 분할될 수 있다. 또는, 하나의 그룹은 하나의 문턱전압 산포에 대응하는 메모리 셀들만을 포함하도록 분할될 수 있다.
이상의 본 발명에 따른 실시예들에 의하면, 본 발명은 각각의 배열 방식에 따라 서로 다른 이점을 가진다. 바이너리 배열(Binary Ordering) 방식으로 코딩되는 멀티 비트 플래시 메모리 장치에서는 선택된 그룹의 메모리 셀들에 대해서만 사전 읽기 동작 및 검증 읽기 동작을 실시한다. 따라서, 그룹별 프로그램 회수는 증가할 수 있으나 독출 회수는 감소한다. 따라서, 멀티 비트 데이터를 프로그램하기 위한 전체 프로그램 속도는 증가한다. 반면에, 그레이 배열 (Gray ordering) 방식으로 코딩되는 멀티 비트 플래시 메모리 장치에서는 각 그룹에 대한 사전 읽기 동작은 1회만 필요하다. 그리고 1회의 사전 읽기 동작을 위해서는 1-비트의 크기를 저장하는 동작을 요구하기 때문에 페이지 버퍼에 포함되는 래치 수는 2개만 있으면 충분하다. 하지만, 각각의 그룹에 대하여 프로그램 루프(프로그램 실행 동작+검증 동작)를 진행하기 때문에 프로그램 전압이 인가되는 프로그램 실행 동작의 횟수는 증가한다. 결국, 프로그램 속도의 이점은 없으나 페이지 버퍼에 구비되는 래치의 수를 획기적으로 줄일 수 있다.
도 11는 본 발명의 멀티 비트 플래시 메모리 장치를 구비하는 시스템(400)의 일예를 간략히 도시한 블록도이다. 도 11을 참조하면, 모바일 기기나 데스크 톱 컴퓨터와 같은 시스템에서 본 발명의 멀티 비트 플래시 메모리 장치(410)가 장착된다. 본 발명에 따른 시스템은 버스(470)에 전기적으로 연결된 중앙처리장치(430), 램(440), 유저 인터페이스(450), 전원(460), 메모리 컨트롤러(420), 그리고 플래시 메모리 장치(410)를 포함한다. 플래시 메모리 장치(410)는 앞서 언급된 멀티 비트 플래시 메모리 장치와 실질적으로 동일하게 구성될 것이다. 멀티 비트 플래시 메모리 장치(410)에는 유저 인터페이스(450)를 통해서 제공되거나 또는, 중앙처리장치(430)에 의해서 처리된 데이터가 메모리 제어기(420)를 통해 저장된다. 여기서, 멀티 비트 플래시 메모리 장치(410)와 메모리 제어기(420)가 별도의 구성으로 도시되었으나, 메모리 제어기(420)는 멀티 칩 플래시 메모리 장치(410)의 내부에 포함될 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상과 같은 본 발명에 의하면, 멀티 비트 플래시 메모리 장치의 프로그램 속도를 증가시킬 있는 프로그램 방법이 제공된다. 또한, 본 발명의 프로그램 방법은 멀티 비트 플래시 메모리 장치의 프로그램 동작에서 요구하는 페이지 버퍼의 래 치 수를 감소시킬 수 있다.

Claims (31)

  1. 복수의 메모리 셀들 각각으로 멀티 비트 데이터를 저장하는 플래시 메모리 장치의 프로그램 방법에 있어서:
    문턱전압 상태에 따라 상기 복수의 메모리 셀들을 복수의 그룹으로 분류하는 단계; 및
    프로그램 데이터로 상기 복수의 메모리 셀들을 프로그램하는 단계를 포함하되, 상기 프로그램 단계에서 상기 분류된 그룹들의 메모리 셀들은 상기 분류된 그룹 단위로 각각 선택되어 프로그램되는 것을 특징으로 하는 프로그램 방법.
  2. 제 1 항에 있어서,
    상기 복수의 메모리 셀들 각각은 제1 내지 제4페이지에 대응하는 4-비트 데이터를 저장하는 플래시 메모리 셀들인 것을 특징으로 하는 프로그램 방법.
  3. 제 2 항에 있어서,
    상기 프로그램 데이터는 제4페이지 데이터인 것을 특징으로 하는 프로그램 방법.
  4. 제 3 항에 있어서,
    상기 복수의 그룹들 각각은 하나의 문턱전압 상태를 갖는 메모리 셀들을 포 함하는 것을 특징으로 하는 프로그램 방법.
  5. 제 3 항에 있어서,
    상기 복수의 그룹들 각각은 서로 다른 적어도 2개의 문턱전압 상태들 중 어느 하나의 상태를 갖는 메모리 셀들을 포함하는 것을 특징으로 하는 프로그램 방법.
  6. 제 5 항에 있어서,
    상기 프로그램 데이터를 기입하는 단계는,
    선택된 그룹의 메모리 셀들을 선택하는 단계;
    상기 선택된 메모리 셀들의 비트 라인으로 프로그램 데이터를, 워드 라인으로 프로그램 전압을 인가하는 단계; 및
    상기 선택된 메모리 셀들의 프로그램 여부를 검증하는 단계를 포함하는 프로그램 방법.
  7. 제 6 항에 있어서,
    상기 선택된 메모리 셀들 이외의 메모리 셀들은 프로그램 금지되는 것을 특징으로 하는 프로그램 방법.
  8. 제 7 항에 있어서,
    상기 검증하는 단계에서, 상기 선택된 메모리 셀들의 문턱전압들은 타깃 문턱전압 상태의 하한 및 상한의 범위 이내에 존재하는지를 검출되는 것을 특징으로 하는 프로그램 방법.
  9. 제 8 항에 있어서,
    상기 타깃 문턱전압 상태의 하한 및 상한의 범위를 검출하는 동작은 상기 그룹에 포함되는 문턱전압 상태 각각에 대해서 수행되는 프로그램 방법.
  10. 제 6 항에 있어서,
    상기 프로그램 전압을 인가하는 단계와 상기 검증하는 단계는 하나의 프로그램 루프를 구성하며, 상기 프로그램 루프는 상기 선택된 메모리 셀들이 각각의 타깃 문턱전압 상태로 프로그램되는 순간까지 반복되는 프로그램 방법.
  11. 제 6 항에 있어서,
    상기 프로그램하는 단계에서, 상기 그룹의 선택은 높은 문턱전압 상태의 메모리 셀들이 먼저 프로그램되는 것을 특징으로 하는 프로그램 방법.
  12. 제 11 항에 있어서,
    상기 각각의 그룹은 서로 다른 프로그램 시작 전압으로 프로그램되는 것을 특징으로 하는 프로그램 방법.
  13. 제 12 항에 있어서,
    상대적으로 높은 문턱전압 상태를 갖는 그룹의 프로그램 시작 전압은 낮은 문턱전압 상태를 갖는 그룹의 프로그램 시작 전압보다 높은 것을 특징으로 하는 프로그램 방법.
  14. 제 5 항에 있어서,
    상기 프로그램 데이터를 기입하는 단계는,
    선택된 그룹의 메모리 셀들을 선택하는 단계;
    상기 선택된 메모리 셀들의 문턱전압 상태를 독출하는 제 1 읽기 동작을 수행하는 단계;
    상기 선택된 메모리 셀들의 워드 라인으로 프로그램 전압을 인가하는 단계; 그리고
    상기 선택된 그룹의 메모리 셀들을 검증하는 단계를 포함하는 프로그램 방법.
  15. 제 14 항에 있어서,
    상기 선택하는 단계에서, 상기 선택된 메모리 셀들 이외의 메모리 셀들은 프로그램 금지되는 것을 특징으로 하는 프로그램 방법.
  16. 제 14 항에 있어서,
    상기 제 1 읽기 동작을 수행하는 단계는 상기 선택된 메모리 셀들의 문턱전압이 상기 적어도 2개의 문턱전압 상태들 중 어느 상태에 포함되는지를 감지하여 데이터로 저장하는 단계를 포함하는 프로그램 방법.
  17. 제 16 항에 있어서,
    상기 선택된 그룹에 포함되는 문턱전압 상태가 2개인 경우, 상기 제 1 읽기 동작은 1회 수행되는 프로그램 방법.
  18. 제 17 항에 있어서,
    상기 선택된 그룹에 포함되는 문턱전압 상태가 2개인 경우, 상기 검증하는 단계는 상기 2개의 문턱전압 상태로부터 프로그램된 또 다른 2개의 문턱전압 상태들 각각에 대해 서로 다른 검증 전압들로 2회의 검증 읽기 동작을 수행하는 프로그램 방법.
  19. 제 16 항에 있어서,
    상기 선택된 그룹에 포함되는 문턱전압 상태가 4개인 경우, 상기 제 1 읽기 동작은 3회 수행되는 프로그램 방법.
  20. 제 14 항에 있어서,
    상기 프로그램 전압을 인가하는 단계와 상기 검증하는 단계는 상기 선택된 메모리 셀들이 모두 각각의 타깃 문턱전압 상태로 프로그램되는 순간까지 반복되는 프로그램 방법.
  21. 제 1 항에 있어서,
    상기 프로그램 데이터는 상기 멀티 비트 데이터의 최상위(MSB) 페이지 데이터인 것을 특징으로 하는 프로그램 방법.
  22. 각각이 멀티 비트 데이터를 저장하며 동일 워드 라인에 연결되는 복수의 메모리 셀들을 갖는 셀 어레이;
    상기 복수의 메모리 셀들의 비트 라인들에 연결되며, 메모리 셀들의 읽기 및 프로그램 동작을 수행하도록 구성된 페이지 버퍼 블록; 그리고
    상기 멀티 비트 데이터 중 어느 한 페이지 데이터의 프로그램 동작시, 상기 복수의 메모리 셀들을 문턱전압 상태에 따라 복수의 그룹으로 분류하고, 상기 분류된 그룹 단위로 메모리 셀들을 프로그램하도록 상기 페이지 버퍼 블록을 제어하는 제어 로직을 포함하는 플래시 메모리 장치.
  23. 제 22 항에 있어서,
    상기 페이지 버퍼 블록은 상기 복수의 메모리 셀들 각각의 비트 라인에 전기적으로 연결되는 복수의 페이지 버퍼들을 포함하는 플래시 메모리 장치.
  24. 제 23 항에 있어서,
    상기 프로그램 동작시, 상기 제어 로직은 프로그램을 위해 선택된 그룹의 비트 라인들로 프로그램 데이터가 전달되도록 상기 페이지 버퍼 블록을 제어하는 플래시 메모리 장치.
  25. 제 23 항에 있어서,
    상기 프로그램 동작시, 상기 제어 로직은 상기 선택된 그룹 이외의 비트 라인들로는 프로그램 금지를 위한 비트 라인 전압이 제공되도록 상기 페이지 버퍼 블록을 제어하는 플래시 메모리 장치.
  26. 제 23 항에 있어서,
    상기 프로그램 동작시, 상기 제어 로직의 제어에 따라 상기 워드 라인으로 프로그램 전압을 인가하는 플래시 메모리 장치.
  27. 제 26 항에 있어서,
    상기 프로그램 동작시, 상기 제어 로직은 상기 프로그램 전압의 인가 후에 상기 워드 라인으로 제 1 읽기 전압 및 제 2 읽기 전압을 제공하여 검증 동작을 수행하는 플래시 메모리 장치.
  28. 제 23항에 있어서,
    상기 프로그램 동작시, 상기 제어 로직은 상기 선택된 그룹의 메모리 셀들의 문턱 전압 상태를 독출하기 위하여 제 1 읽기 전압에 따른 사전 읽기 동작을 수행하도록 상기 페이지 버퍼 블록을 제어하는 플래시 메모리 장치.
  29. 제 28 항에 있어서,
    상기 프로그램 동작시, 상기 사전 읽기 동작 이후에 상기 선택된 그룹에 대응하는 페이지 버퍼의 데이터가 상기 메모리 셀들로 프로그램되도록 상기 워드 라인으로 프로그램 전압이 공급되는 것을 특징으로 하는 플래시 메모리 장치.
  30. 제 29 항에 있어서,
    상기 프로그램 동작시, 상기 프로그램 전압의 인가 이후에 제 2 읽기 전압에 따른 검증 읽기 동작이 수행되도록 상기 페이지 버퍼 블록을 제어하는 플래시 메모리 장치.
  31. 제 30 항에 있어서,
    상기 제어 로직의 제어에 따라 상기 프로그램 전압, 상기 제 1 읽기 전압 및 상기 제 2 읽기 전압을 상기 워드 라인으로 제공하는 전압 발생기를 더 포함하는 플래시 메모리 장치.
KR1020060125731A 2006-12-11 2006-12-11 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법 KR100836762B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060125731A KR100836762B1 (ko) 2006-12-11 2006-12-11 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
US12/000,209 US7920420B2 (en) 2006-12-11 2007-12-11 Multi bit flash memory device and method of programming the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060125731A KR100836762B1 (ko) 2006-12-11 2006-12-11 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법

Publications (1)

Publication Number Publication Date
KR100836762B1 true KR100836762B1 (ko) 2008-06-10

Family

ID=39497805

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060125731A KR100836762B1 (ko) 2006-12-11 2006-12-11 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법

Country Status (2)

Country Link
US (1) US7920420B2 (ko)
KR (1) KR100836762B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965071B1 (ko) * 2008-07-10 2010-06-21 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR20110048638A (ko) * 2009-11-03 2011-05-12 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
KR20110114020A (ko) * 2010-04-12 2011-10-19 삼성전자주식회사 멀티-비트 메모리의 프로그램 방법 및 그것을 이용한 데이터 저장 시스템
US8111563B2 (en) 2009-03-26 2012-02-07 Samsung Electronics Co., Ltd. Multi-level nonvolatile memory device with fast execution of program speed and programming method of the same
US8391062B2 (en) 2009-06-22 2013-03-05 Samsung Electronics Co., Ltd. Nonvolatile memory device and related method of programming

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009016949A1 (ja) * 2007-07-27 2009-02-05 Konica Minolta Opto, Inc. 撮像装置
US7660151B2 (en) * 2007-09-17 2010-02-09 Qimonda Ag Method for programming an integrated circuit, method for programming a plurality of cells, integrated circuit, cell arrangement
KR101378349B1 (ko) * 2008-01-30 2014-03-28 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
US8854887B2 (en) 2008-07-10 2014-10-07 Hynix Semiconductor Inc. Nonvolatile memory device and method of programming the same
US8089805B2 (en) 2008-11-20 2012-01-03 Micron Technology, Inc. Two-part programming methods and memories
KR20100097407A (ko) * 2009-02-26 2010-09-03 삼성전자주식회사 저항성 메모리 장치, 이를 포함하는 메모리 시스템 및 저항성 메모리 장치의 프로그램 방법
KR101184830B1 (ko) * 2010-10-27 2012-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20130071686A (ko) * 2011-12-21 2013-07-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20140005697A (ko) * 2012-07-06 2014-01-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
US8824203B2 (en) * 2012-07-13 2014-09-02 Micron Technology, Inc. Multiple step programming in a memory device
JP6262063B2 (ja) 2014-03-18 2018-01-17 東芝メモリ株式会社 不揮発性メモリおよび書き込み方法
US9865352B2 (en) * 2015-10-28 2018-01-09 Sandisk Technologies, Llc Program sequencing
US10658066B2 (en) 2018-09-05 2020-05-19 Micron Technology, Inc. First-pass continuous read level calibration
US10629278B2 (en) 2018-09-05 2020-04-21 Micron Technology, Inc. First-pass dynamic program targeting (DPT)
US10885975B2 (en) * 2019-03-07 2021-01-05 Micron Technology, Inc. Dragging first pass read level thresholds based on changes in second pass read level thresholds

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768188A (en) * 1995-12-11 1998-06-16 Samsung Electronics Co., Ltd. Multi-state non-volatile semiconductor memory and method for driving the same
US6233174B1 (en) * 1998-02-16 2001-05-15 Hitachi, Ltd. Non volatile semiconductor, memory
US7054193B1 (en) * 2002-12-06 2006-05-30 Samsung Electronics Co., Ltd. Non-uniform programming pulse width for writing of multi-bit-per-cell memories
US20070016722A1 (en) * 2005-06-24 2007-01-18 Lee Jung-Woo Flash memory device with multi level cell and burst access method therein

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2598895A (en) * 1994-06-02 1996-01-04 Intel Corporation Dynamic single to multiple bit per cell memory
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
KR100379553B1 (ko) 2001-01-11 2003-04-10 주식회사 하이닉스반도체 플래쉬 메모리 셀의 어레이 및 이를 이용한 데이터프로그램방법 및 소거방법
US6738289B2 (en) * 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
US6493269B1 (en) * 2001-05-31 2002-12-10 Sandisk Corporation Dual cell reading and writing technique
US7362616B2 (en) * 2005-07-28 2008-04-22 Stmicroelectronics S.R.L. NAND flash memory with erase verify based on shorter evaluation time
US7813170B2 (en) * 2005-11-11 2010-10-12 Kabushiki Kaisha Toshiba Semiconductor memory device capable of memorizing multivalued data
US7602650B2 (en) * 2006-08-30 2009-10-13 Samsung Electronics Co., Ltd. Flash memory device and method for programming multi-level cells in the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768188A (en) * 1995-12-11 1998-06-16 Samsung Electronics Co., Ltd. Multi-state non-volatile semiconductor memory and method for driving the same
US6233174B1 (en) * 1998-02-16 2001-05-15 Hitachi, Ltd. Non volatile semiconductor, memory
US7054193B1 (en) * 2002-12-06 2006-05-30 Samsung Electronics Co., Ltd. Non-uniform programming pulse width for writing of multi-bit-per-cell memories
US20070016722A1 (en) * 2005-06-24 2007-01-18 Lee Jung-Woo Flash memory device with multi level cell and burst access method therein

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965071B1 (ko) * 2008-07-10 2010-06-21 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US8050097B2 (en) 2008-07-10 2011-11-01 Hynix Semiconductor Inc. Method of programming nonvolatile memory device
US8111563B2 (en) 2009-03-26 2012-02-07 Samsung Electronics Co., Ltd. Multi-level nonvolatile memory device with fast execution of program speed and programming method of the same
US8391062B2 (en) 2009-06-22 2013-03-05 Samsung Electronics Co., Ltd. Nonvolatile memory device and related method of programming
US8681543B2 (en) 2009-06-22 2014-03-25 Samsung Electronics Co., Ltd. Nonvolatile memory device and related method of programming
KR20110048638A (ko) * 2009-11-03 2011-05-12 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
US8446775B2 (en) 2009-11-03 2013-05-21 Samsung Electronics Co., Ltd. Methods of programming semiconductor memory devices
US8681545B2 (en) 2009-11-03 2014-03-25 Samsung Electronics Co., Ltd. Methods of programming semiconductor memory devices
KR101634340B1 (ko) 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
KR20110114020A (ko) * 2010-04-12 2011-10-19 삼성전자주식회사 멀티-비트 메모리의 프로그램 방법 및 그것을 이용한 데이터 저장 시스템
KR101653262B1 (ko) 2010-04-12 2016-09-02 삼성전자주식회사 멀티-비트 메모리의 프로그램 방법 및 그것을 이용한 데이터 저장 시스템

Also Published As

Publication number Publication date
US20080137416A1 (en) 2008-06-12
US7920420B2 (en) 2011-04-05

Similar Documents

Publication Publication Date Title
KR100836762B1 (ko) 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR101322378B1 (ko) 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
KR101434404B1 (ko) 파라미터를 추출하는 불휘발성 메모리 장치 및 그것을포함하는 불휘발성 메모리 시스템
KR100794311B1 (ko) 프로그램 에러를 차단할 수 있는 멀티 비트 플래시 메모리장치의 프로그램 방법
US7423908B2 (en) Nonvolatile memory devices and methods of controlling the wordline voltage of the same
KR101626548B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR100850509B1 (ko) 프로그램 에러를 감소시킬 수 있는 멀티 비트 플래시메모리 장치의 프로그램 방법
KR100721062B1 (ko) 멀티레벨 메모리 내의 일부 메모리 블록을 바이너리 메모리블록으로 이용하는 비휘발성 반도체 메모리 장치
US8050101B2 (en) Nonvolatile memory devices having erased-state verify capability and methods of operating same
US8031525B2 (en) Flash memory device and program method thereof
US7986552B2 (en) Nonvolatile memory device and method of operation to program/read data by encoding/decoding using actual data and random data for program/read operation
US7907446B2 (en) Nonvolatile semiconductor memory device and method of driving the same
JP2004022112A (ja) 不揮発性半導体メモリ装置
JP5264047B2 (ja) 半導体メモリ装置の制御情報をプログラムするための方法と装置
JP2006031871A (ja) 半導体記憶装置
JP2010079774A (ja) 半導体記憶システム
KR100837279B1 (ko) 과표본화 읽기 동작을 수행하는 플래시 메모리 장치 및그것의 인터페이싱 방법
KR100590219B1 (ko) 프로그램 시간을 줄일 수 있는 불 휘발성 메모리 장치
US8331144B2 (en) Non-volatile memory device and program method thereof
JP4750034B2 (ja) 半導体装置および書き込み方法
KR101504342B1 (ko) 불휘발성 메모리 장치, 그것을 포함한 컴퓨팅 시스템 및그것의 워드 라인 구동 방법
JP4672673B2 (ja) 半導体装置および半導体装置の制御方法
US11894057B2 (en) Memory device performing program operation and method of operating the same
US11335421B2 (en) Memory device and method of operating the same
US20060083080A1 (en) User configurable commands for flash memory

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160531

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 12