KR100854970B1 - 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법 - Google Patents

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

Info

Publication number
KR100854970B1
KR100854970B1 KR1020070002103A KR20070002103A KR100854970B1 KR 100854970 B1 KR100854970 B1 KR 100854970B1 KR 1020070002103 A KR1020070002103 A KR 1020070002103A KR 20070002103 A KR20070002103 A KR 20070002103A KR 100854970 B1 KR100854970 B1 KR 100854970B1
Authority
KR
South Korea
Prior art keywords
data
program
memory cell
bit
voltage
Prior art date
Application number
KR1020070002103A
Other languages
English (en)
Other versions
KR20080065116A (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 삼성전자주식회사
Priority to KR1020070002103A priority Critical patent/KR100854970B1/ko
Priority to US11/946,228 priority patent/US7643340B2/en
Publication of KR20080065116A publication Critical patent/KR20080065116A/ko
Application granted granted Critical
Publication of KR100854970B1 publication Critical patent/KR100854970B1/ko

Links

Images

Classifications

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

Abstract

본 발명의 멀티 비트 플래시 메모리 장치의 프로그램 방법은, 복수의 프로그램 절차들을 통해 선택된 메모리 셀을 멀티 비트 데이터로 프로그램한다. 그러나 현재의 프로그램 절차에서 상기 선택된 메모리 셀에 저장될 데이터는, 상기 선택된 메모리 셀의 데이터와 상기 현재의 프로그램 절차에 의거하여 결정된다.

Description

멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법{MULTI LEVEL CELL FLASH MEMORY DEVICE AND PROGRAM METHOD THEREOF}
도 1은 일반적인 멀티 레벨 셀의 문턱전압 분포 및 각 문턱전압 분포에 대응하는 데이터를 보여주는 도면;
도 2a는 도 1의 설정에서 LSB를 먼저 프로그램하는 경우의 상태 천이도;
도 2b는 도 1의 설정에서 MSB를 먼저 프로그램하는 경우의 상태 천이도;
도 3은 본 발명의 2-비트 셀의 문턱전압 분포 및 각 문턱전압 분포에 대응하는 데이터를 보여주는 도면;
도 4a는 도 3의 설정에서 LSB를 먼저 프로그램하는 경우의 상태 천이도;
도 4b는 도 3의 설정에서 MSB를 먼저 프로그램하는 경우의 상태 천이도;
도 5는 본 발명의 프로그램 방법을 구현하기 위한 메모리 장치의 구성을 간략히 보여주는 블록도;
도 6은 본 발명의 2-비트 셀의 프로그램 방법을 설명하기 위한 흐름도;
도 7a는 본 발명의 3-비트 셀의 문턱전압 분포 및 각 문턱전압 분포에 대응되는 데이터를 보여주는 도면;
도 7b는 3-비트 셀에 프로그램되는 각 페이지의 어드레스 할당 방식을 간략히 보여주는 표;
도 8a는 본 발명에 따른 3-비트 셀의 프로그램 방법의 일 실시예를 보여주는 상태 천이도;
도 8b는 본 발명에 따른 3-비트 셀의 프로그램 방법의 다른 실시예를 보여주는 상태 천이도;
도 8c는 본 발명에 따른 3-비트 셀의 프로그램 방법의 또 다른 실시예를 보여주는 상태 천이도;
도 9는 본 발명의 3-비트 셀의 프로그램 방법을 설명하기 위한 흐름도;
도 10a는 본 발명의 4-비트 셀의 문턱전압 분포 및 각 문턱전압 분포에 대응되는 데이터를 보여주는 도면;
도 10b는 4-비트 셀에 프로그램되는 각 페이지의 어드레스 할당 방식을 간략히 보여주는 표;
도 11a는 본 발명에 따른 4-비트 셀의 프로그램 방법의 일 실시예를 보여주는 상태 천이도;
도 11b는 본 발명에 따른 4-비트 셀의 프로그램 방법의 다른 실시예를 보여주는 상태 천이도;
도 12는 본 발명의 4-비트 셀의 프로그램 방법을 설명하기 위한 흐름도;
*도면의 주요부분에 대한 부호의 설명*
10 : 셀 어레이 20 : 기입 드라이버
30 : 감지 증폭기 40 : 상태 검출기
50 : 프로그램 제어부 60 : 전압 발생기
본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 멀티 레벨 셀을 채택한 플래시 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.
일반적으로, 플래시 메모리 장치(Flash Memory Device)는 전기적으로 프로그램 및 소거 동작이 가능한 불휘발성 반도체 메모리 장치이다. 최근에는 모바일 기기의 대용량 저장장치나 코드 메모리(Code Memory) 등의 적용에서 고용량 혹은 고속 특성이 요구됨에 따라 플래시 메모리가 많은 호응을 얻고 있다. 플래시 메모리 장치는 낸드형(NAND type) 플래시 메모리와 노어형(NOR type) 플래시 메모리로 분류될 수 있다. 노어형 플래시 메모리 장치의 셀 어레이는 하나의 비트 라인에 복수의 메모리 셀들이 병렬로 배열되는 구조를 갖는다. 반면, 낸드형 플래시 메모리는 하나의 비트 라인에 복수 개의 메모리 셀들이 직렬로 배열되는 구조를 갖는다. 노어형 플래시 메모리 반도체 장치는 낸드형 플래시 메모리와 비교할 때, 프로그램 및 읽기 동작에 있어서 월등하게 빠른 속도를 갖기 때문에 빠른 속도 특성을 요하는 분야에서 폭넓게 이용되고 있다. 그러나 소자 배열 특성에 따라 집적도면에서 낸드형 플래시 메모리보다 매우 불리하다. 저장 용량의 한계를 극복하기 위한 대안으로 멀티 레벨 셀(Multi level cell: 이하 MLC) 방식이 보편적으로 채택되고 있다. MLC는 한 개의 메모리 셀에 다수 비트를 저장함으로 물리적 집적도의 한계를 극복하는 수단을 제공한다. 본 발명은 MLC를 채택하는 플래시 메모리 장치에서 각 각의 메모리 셀에 저장되는 두 개 이상의 비트를 서로 다른 내부 어드레스로 지정하고자 하는 경우에 유용하게 사용되는 프로그램 방법에 관한 것이다.
도 1은 셀 당 2비트(MSB+LSB)가 저장되는 MLC의 문턱전압 분포와 그에 대응하는 2비트 데이터 값을 나타낸 도면이다. 도 1을 참조하면, 각각의 문턱전압 상태(State)들은 낮은 순서로부터 데이터 '11', '10', '00', '01'과 각각 대응된다. 일반적으로 데이터 '11'에 대응하는 문턱전압 상태는 소거된 상태이며, 프로그램은 소거 상태인 '11'에서 시작된다.
도 2a는 상술한 도 1의 각 문턱전압과 대응되는 데이터 조합의 경우, 이에 따르는 프로그램 순서를 나타낸 상태도이다. 도 2a의 상태도는 2-비트의 데이터 중 LSB를 먼저 프로그램하고, 이후에 MSB를 프로그램할 때의 상태천이를 도시하였다.
데이터 '11'에 대응하는 문턱전압 상태에서 데이터 '10'에 대응하는 문턱전압 상태로의 LSB 비트만의 전환은 ①경로에 해당하는 프로그램 과정을 따른다. '11'에 대응하는 문턱전압 상태에서 '01'에 대응하는 문턱전압 상태로의 프로그램은 ③경로에 따라 이루어진다. '11'에 대응하는 문턱전압 상태에서 '00'에 대응하는 문턱전압 상태로의 프로그램은 ①경로와 ②경로를 경유하여 최종적으로 '00'에 대응하는 문턱전압 상태로 이동하게 된다. 여기에서 ②경로와 ③경로는 LSB프로그램이 종료된 이후 MSB프로그램 단계에서 이루어지는 프로그램 과정이다. 이상의 LSB를 먼저 프로그램하고 MSB를 이후에 프로그램하는 경우, 도 2a의 상태 천이도에 있어서는 프로그램이 순조롭게 진행된다는 것을 확인할 수 있다.
도 2b는 상술한 도 1의 데이터 조합의 경우, MSB를 먼저 프로그램하고 이후 에 LSB를 프로그램할 수 없는 이유를 설명하기 위한 상태 천이도이다. 도 2b를 참조하여, 이하에서는 프로그램 과정이 순차적으로 설명될 것이다. 최초 소거상태인 '11'에 대응하는 문턱전압 상태에서 '00'에 대응하는 문턱전압 상태로 천이하기 위해서는 우선 MSB가 '1'에서 '0'으로 전환되는 ④경로를 따라야 한다. 이후에 LSB가 '1'에서 '0'으로 전환되는 ⑤경로를 경유하는 프로그램이 이루어져야 함을 도면을 통해 알 수 있다. 그러나 MSB를 먼저 프로그램하고 이후에 LSB를 프로그램할 때 상술한 ⑤경로의 경우는 '01' 상태의 높은 문턱전압 상태에서 '00' 상태의 낮은 문턱전압으로의 프로그램이 이루어져야 한다. ⑤경로와 같은 프로그램은 플래시 메모리의 동작 특성상 제어의 곤란성이 있어 허용되지 않는다. 따라서, 도 1의 데이터 조합의 경우, 프로그램은 LSB를 먼저 프로그램하고 그 이후에 MSB를 프로그램해야 하는 프로그램 순서가 반드시 준수되어야 함이 자명하다.
이러한 문제는 한 셀에 저장되는 2-비트 혹은 그 이상의 데이터를 각각 서로 다른 어드레스로 지정하고자 하는 경우에 LSB를 먼저 프로그램하고 MSB를 프로그램해야 하는 프로그램 순서를 제한한다. 특히 코드 메모리로써 노어 플래시 메모리 장치의 경우, 상술한 프로그램 순서의 제약은 랜덤한 액세스를 원천적으로 제한하는 문제가 있었다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 프로그램 순서에 제약을 받지 않는 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법을 제공하는 데 있다.
상술한 제반 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 본 발명의 멀티 비트 플래시 메모리 징치의 프로그램 방법은, 복수의 프로그램 절차들을 통해 선택된 메모리 셀을 멀티 비트 데이터로 프로그램하되, 현재의 프로그램 절차에서 상기 선택된 메모리 셀에 저장될 데이터는, 상기 선택된 메모리 셀의 데이터와 상기 현재의 프로그램 절차에 의거하여 결정된다.
이 실시예에 있어서, 상기 복수의 프로그램 절차들 각각은 상기 멀티 비트 데이터를 구성하는 비트들 각각을 프로그램하는 단계들이다.
이 실시예에 있어서, 상기 선택된 메모리 셀에 저장될 데이터는 1-비트 데이터이다.
이 실시예에 있어서, 상기 선택된 메모리 셀의 데이터는 상기 현재 프로그램 절차가 수행되기 이전에 상기 선택된 메모리 셀이 갖는 문턱전압에 대응하는 멀티 비트 데이터이다.
이 실시예에 있어서, 상기 현재의 프로그램 절차는 상기 멀티 비트 데이터에 포함되는 복수의 비트들 각각에 대응하는 어드레스에 의해서 정의된다.
이 실시예에 있어서, 상기 현재의 프로그램 절차는, (a) 현재 프로그램 절차에서 프로그램되는 비트의 어드레스를 검출하는 단계; (b) 상기 선택된 메모리 셀의 데이터를 독출하는 단계; 및 (c) 상기 검출된 어드레스와 상기 선택된 메모리 셀의 데이터를 참조하여 타깃 데이터를 결정하는 단계를 포함한다.
이 실시예에 있어서, 상기 현재의 프로그램 절차는, (d) 상기 타깃 데이터에 대응하는 문턱전압을 갖도록 상기 메모리 셀을 프로그램하기 위한 프로그램 전압과 검증 전압을 생성하는 단계와; 및 (e) 상기 프로그램 전압과 상기 검증 전압을 상기 메모리 셀의 워드 라인으로 공급하는 프로그램 단계를 더 포함한다.
이 실시예에 있어서, 상기 멀티 비트 데이터는 2-비트 크기를 갖는다.
이 실시예에 있어서, 상기 멀티 비트의 데이터는 '11', '10', '01', '00'의 순으로 문턱전압의 분포들 각각에 대응한다.
이 실시예에 있어서, 상기 어드레스는 상기 멀티 비트 데이터의 2-비트 데이터 각각에 할당된다.
이 실시예에 있어서, 상기 (c) 단계에서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 데이터의 2-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 멀티 비트 데이터이다.
이 실시예에 있어서, 상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖다.
이 실시예에 있어서, 상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압이다.
이 실시예에 있어서, 상기 (e) 단계는 상기 타깃 데이터로 프로그램이 완료될 때까지 반복되는 프로그램 루프로 수행된다.
이 실시예에 있어서, 상기 멀티 비트 데이터는 3-비트 크기를 갖는다.
이 실시예에 있어서, 상기 멀티 비트의 데이터는 '111', '110', '101', '100', '011', '010', '001','000'의 순으로 문턱전압의 분포들 각각에 대응한다.
이 실시예에 있어서, 상기 어드레스는 상기 멀티 비트 데이터의 3-비트 데이터 각각에 할당된다.
이 실시예에 있어서, 상기 (c) 단계에서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 데이터의 3-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 3-비트 데이터이다.
이 실시예에 있어서, 상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는다.
이 실시예에 있어서, 상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압이다.
이 실시예에 있어서, 상기 (e) 단계는 상기 타깃 데이터로 프로그램이 완료될 때까지 반복되는 프로그램 루프로 수행된다.
이 실시예에 있어서, 상기 멀티 비트 데이터는 4-비트 크기를 갖는다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 '1111', '1110', '1101', '1100', '1011', '1010', '1001','1000', '0111', '0110', '0101', '0100', '0011', '0010', '0001','0000'의 순으로 문턱전압의 분포들에 대응한다.
이 실시예에 있어서, 상기 어드레스는 상기 멀티 비트 데이터의 4-비트 데이터 각각에 할당된다.
이 실시예에 있어서, 상기 (c) 단계에서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 데이터의 4-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 4-비트 데이터이다.
이 실시예에 있어서, 상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는다.
이 실시예에 있어서, 상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압이다.
이 실시예에 있어서, 상기 (e) 단계는 상기 타깃 데이터로 프로그램이 완료될 때까지 반복되는 프로그램 루프로 수행된다.
이 실시예에 있어서, 상기 (a) 내지 (e) 단계는, 상기 멀티 비트의 데이터가 상기 메모리 셀로 프로그램될 때까지 복수 회 반복된다.
상기 목적을 달성하기 위한 본 발명의 하나의 메모리 셀에 복수 비트의 데이터가 저장되는 멀티 비트 플래시 메모리 장치는, 상태 선택신호에 응답하여 상기 메모리 셀을 타깃 문턱전압으로 프로그램하기 위한 전압들을 생성하여 상기 메모리 셀로 공급하는 전압 발생기와; 상기 메모리 셀의 비트 라인을 통하여 상기 메모리 셀 데이터로 데이터를 기입 또는 저장된 데이터를 감지하는 읽기/쓰기 회로와; 프로그램 어드레스에 응답하여 상기 메모리 셀의 프로그램된 데이터를 독출하도록, 상기 독출된 프로그램 데이터와 상기 프로그램 어드레스를 참조하여 타깃 데이터를 도출하고 상기 타깃 데이터에 대응하는 상기 문턱전압으로 상기 메모리 셀을 프로그램하기 위한 상기 상태 선택신호를 생성하는 프로그램 제어부를 포함하되, 상기 프로그램 어드레스는 상기 복수의 비트 데이터 중 어느 한 비트를 순서의 제한 없이 선택될 수 있다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 '11', '10', '01', '00'의 순으로 문턱전압의 분포들 각각에 대응한다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 '111', '110', '101', '100', '011', '010', '001','000'의 순으로 문턱전압 분포들 각각에 대응한다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 '1111', '1110', '1101', '1100', '1011', '1010', '1001','1000', '0111', '0110', '0101', '0100', '0011', '0010', '0001','0000'의 순으로 문턱전압의 분포들 각각에 대응한다.
이 실시예에 있어서, 상기 메모리 셀을 타깃 문턱전압으로 프로그램하기 위한 전압들은 프로그램 전압과 상기 타깃 문턱전압에 대응한다.
이 실시예에 있어서, 상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는다.
이 실시예에 있어서, 상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압이다.
이 실시예에 있어서, 상기 프로그램 제어부는, 상기 메모리 셀이 상기 타깃 데이터로 프로그램이 완료될 때까지 반복되는 프로그램 루프들을 수행한다.
이 실시예에 있어서, 상기 프로그램 어드레스는 상기 복수 비트의 데이터 각각에 대응하는 페이지 어드레스이다.
이 실시예에 있어서, 상기 메모리 셀은 노어(NOR)형 플래시 메모리 셀이다.
이 실시예에 있어서, 상기 메모리 셀은 낸드(NAND)형 플래시 메모리 셀이다.
상기 목적을 달성하기 위한 본 발명의 하나의 메모리 셀에 복수 비트의 데이터가 저장되는 멀티 비트 플래시 메모리 장치의 프로그램 방법은, 프로그램되는 비 트의 어드레스를 검출하는 단계; 선택된 메모리 셀의 데이터를 독출하는 단계; 상기 검출된 어드레스와 상기 선택된 메모리 셀의 데이터를 참조하여 타깃 데이터를 결정하는 단계; 상기 타깃 데이터에 대응하는 문턱전압을 갖도록 상기 메모리 셀을 프로그램하기 위한 프로그램 전압과 검증 전압을 생성하는 단계; 및 상기 프로그램 전압과 상기 검증 전압을 상기 선택된 메모리 셀의 워드 라인으로 공급하는 프로그램 단계를 포함하되, 상기 어드레스는 상기 복수 비트의 데이터 중 어느 한 비트를 프로그램하도록 임의로 선택될 수 있다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 2-비트 크기를 갖는다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 '11', '10', '01', '00'의 순으로 문턱전압의 분포들 각각에 대응한다.
이 실시예에 있어서, 상기 어드레스는 상기 2-비트 각각에 할당된다.
이 실시예에 있어서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 2-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 2-비트 데이터이다.
이 실시예에 있어서, 상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는다.
이 실시예에 있어서, 상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압이다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 3-비트 크기를 갖는다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 '111', '110', '101', '100', '011', '010', '001','000'의 순으로 문턱전압의 분포들에 대응한다.
이 실시예에 있어서, 상기 어드레스는 3-비트들 각각에 할당된다.
이 실시예에 있어서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 3-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 데이터이다.
이 실시예에 있어서, 상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는다.
이 실시예에 있어서, 상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압이다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 4-비트 크기를 갖는다.
이 실시예에 있어서, 상기 복수 비트의 데이터는 '1111', '1110', '1101', '1100', '1011', '1010', '1001','1000', '0111', '0110', '0101', '0100', '0011', '0010', '0001','0000'의 순으로 문턱전압의 분포들에 대응한다.
이 실시예에 있어서, 상기 어드레스는 4-비트 각각에 할당된다.
이 실시예에 있어서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 4-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 데이터이다.
이 실시예에 있어서, 상기 프로그램 전압은 상기 선택된 메모리 셀의 4-비트 데이터에 대응하는 시작 전압을 갖는다.
이 실시예에 있어서, 상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압이다.
이상에서 기술된 멀티 비트 플래시 메모리 장치 및 그 프로그램 방법에 따르면, 각 페이지 데이터의 프로그램 순서의 제약을 해소하여 융통성 있는 프로그램 동작이 가능하다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다. 그리고 데이터 '11'에 대응하는 문턱전압 상태를 표현의 간략화를 위하여 ('11' 상태)라 칭하기로 한다. 즉, '111' 상태는 데이터 '111'에 대응하는 문턱전압 분포를 가리킨다. 또는 '1101' 상태는 데이터 '1101'에 대응하는 문턱전압 분포를 가리키는 것으로 한다.
도 3은 본 발명의 바람직한 실시예를 위한 문턱전압과 데이터의 대응관계를 보여주는 도면이다. 도 3을 참조하면, 본 발명은 '00' 상태에 대응하는 문턱전압 분포가 최상위의 문턱전압이 되도록 설정하였다. 본 발명의 각각의 문턱전압과 대응하는 데이터는 최하위 상태의 문턱전압부터 데이터 '11', '10', '01', '00'의 순서가 되도록 설정한다. 이러한 문턱전압과 데이터의 대응 관계는 MSB 또는 LSB 어느 비트이든지 데이터 '0'로 프로그램하는 경우, 메모리 셀의 문턱전압이 상측으로 이동하도록 설정함으로써 구현 가능하다. 이러한 문턱전압의 분포와 데이터 간의 대응관계는 상위 혹은 하위 중 어느 비트를 먼저 프로그램하더라도 프로그램 이전 상태보다 높은 문턱전압 분포로 천이 되도록 설정하기 위한 것이다.
도 4a는 도 3과 같은 문턱전압과 저장 데이터 간의 대응관계에서 LSB를 먼저 프로그램하고, 이후에 MSB를 프로그램할 때의 경로를 나타내는 상태 천이도이다. 도 4a를 참조하면, '11' 상태에서 '10' 상태로의 프로그램은 ⑦경로로 문턱전압이 이동하도록 LSB만을 프로그램하는 것으로도 가능하다. '11' 상태에서 '01' 상태로의 프로그램은 LSB의 프로그램 동작 시에는 프로그램 금지로 설정된다. 그리고 MSB를 프로그램하는 단계에서 '01' 상태로 프로그램하기 위한 프로그램 전압과 검증 전압이 공급될 것이다. 그리고 '11' 상태에서 '00' 상태로의 프로그램은 LSB를 먼저 프로그램하는 ⑦경로와 뒤따르는 MSB를 프로그램하는 ⑧경로에 따르는 프로그램 동작에 따라 문턱전압이 천이될 수 있다.
도 4b는 도 3과 같은 문턱전압과 저장 데이터 간의 대응관계에서 MSB를 먼저 프로그램하고, 이후에 LSB를 프로그램하는 각각의 경우에 해당하는 상태 천이도이다. 도 4b에 따르면, '11' 상태에서 '00' 상태로 프로그램되는 상태천이의 과정을 살펴보면, '11'에서 '01'로 프로그램되는 ⑩경로와 '01' 상태에서 '00' 상태로 프로그램되는 ⑪경로의 프로그램이 연속적으로 수행되어 완성된다. 종래기술에서는 이런 경우 문턱전압이 높은 상태에서 낮은 상태로 상태천이가 이루어져야 했으나, 본 발명에서는 MSB를 먼저 프로그램하더라도 문턱전압이 낮은 상태에서 높은 상태로 프로그램되도록 모든 프로그램 경로가 구성되었다.
상술한 도 4a 및 도 4b에 따르면, MSB를 먼저 프로그램하는 경우 또는 LSB를 먼저 프로그램하는 경우에, 메모리 셀의 문턱전압이 높은 문턱전압에서 낮은 문턱전압으로 이동하는 상태천이의 문제는 발생하지 않는다. 따라서 본 발명의 도 3의 문턱전압과 데이터 조합의 구성을 통해서 MSB나 LSB중 어떤 것을 먼저 프로그램해도 무관하다. 즉, 본 발명의 프로그램 방법에 따르면 프로그램의 순서에 구애를 받지 않는 플래시 메모리 장치를 구현할 수 있다.
도 5는 상술한 도 4와 같은 프로그램 순서에 구애받지 않는 프로그램 방법을 수행할 수 있는 메모리 장치를 간략히 보여주는 블록도이다. 도 5를 참조하면, 본 발명의 플래시 메모리 장치는 X-디코더와 Y-선택부를 포함하는 셀 어레이(10)와, 입력되는 데이터에 대해 지정되는 셀로의 프로그램이 수행될 수 있도록 비트 라인을 설정하는 기입 드라이버(20)와, 읽기와 검증 동작시 셀의 상태를 감지하는 감지 증폭기(30)와, 감지 증폭기(30)의 감지 결과로부터 셀의 현재 데이터 상태를 검출하는 상태검출기(40)와, 프로그램 시 셀의 상태를 감지하여 전반적인 프로그램 과정을 제어하는 프로그램 제어부(50)와, 프로그램 제어부(50)의 제어에 따라 프로그램 전압을 발생하는 전압발생기(60)를 포함한다. 도 3의 데이터 조합 설정과 상술한 구성들을 통하여 MSB를 먼저 프로그램하거나 LSB를 먼저 프로그램할 수도 있는 멀티 레벨 셀 플래시 메모리 장치가 제공된다.
셀 어레이(10)는 노어(NOR)형 메모리 셀들과, 셀들을 선택하기 위한 X-디코더 및 Y-선택부를 포함한다. 본 발명에서 설명을 위해 개시되는 메모리 셀은 셀 당 2-비트 이상의 데이터 저장되는 멀티 비트 플래시 메모리 셀들을 포함한다. 특히 셀의 문턱전압에 대응하는 2-비트 이상의 멀티 비트 데이터는 상술한 도 3과 같이 최하위 상태의 문턱전압부터 '11', '10', '01', '00'의 순서가 되도록 설정된다. 만일 3-비트 메모리 셀의 데이터는 최하위 문턱전압 상태로부터 '111', '110', '101', '100', '011', '010', '001', '000'의 순서로 문턱전압과의 대응관계를 갖는다. 4-비트 메모리 셀의 경우, 프로그램되는 데이터는 최하위 문턱전압 상태로부터 '1111', '1110', '1101',…, '0001', '0000'의 순서로 문턱전압 상태들과 대응된다. 이러한 문턱전압 상태들과 데이터의 대응관계를 간략히 요약하면, 소거 상태로부터 최상위 문턱전압으로 2진 카운트 다운되는 순서로 멀티 비트 데이터가 문턱전압 상태들과 대응된다.
기입 드라이브(Write Driver)(20)는 메모리 셀의 워드 라인에 프로그램 펄스가 인가되는 시점에 선택된 메모리 셀들의 비트 라인을 활성화한다. 프로그램 동작 시, 후술하게 될 프로그램 제어부(50)로부터 입력되는 기입 활성화 신호(WREN)에 응답하여 전압 발생기(10)에서 공급되는 비트 라인 전압(VBL)을 셀의 비트 라인으로 전달한다. 그리고 워드 라인으로 프로그램 펄스(Vpgm)가 전달되는 동안에 열전자(Hot Electron)의 주입이 효과적으로 일어날 수 있도록 셀의 드레인 측에 비트 라인 전압(VBL) 크기(예를 들면 5V)로 바이어스 한다.
감지 증폭기(Sense Amplifier)(30)는 기입 드라이버(20)와 셀의 비트 라인들에 병렬로 연결되며, 독출 동작과 검증 동작에서 셀 상태를 감지한다. 독출 동작시에는 각 셀들의 워드 라인에는 독출 전압(Vread)이 인가되고, 감지 증폭기(30)는 셀의 온-오프(On-off) 여부를 센싱한다. 멀티 비트의 데이터를 감지하기 위해서, 감지 증폭기(30)는 시리얼 센싱(Sereal Sensing)이나 혹은 페러렐 센싱(Parallel Sensing) 등의 방식으로 셀에 저장된 데이터를 독출한다. 메모리 셀의 패스 여부에 따라 본 발명의 감지 증폭기(30)는 출력신호(SA_OUT)를 출력한다.
상태 검출기(40)는 상술한 감지 증폭기(30)의 셀의 상태를 검출한 결과 데이터를 입력받아 현재 셀의 비트값이 얼마인지를 판단한다. 상태 검출기(40)의 동작은 본 발명의 MSB와 LSB의 순서에 구애됨이 없이 프로그램 가능하도록 설정됨에 따라, 현재 상태에서 목표로 하는 데이터 값으로 프로그램하기 위해서 부가되는 구성이다.
프로그램 제어부(50)는 입력되는 프로그램 어드레스(PGM_ADD)에 따라 2-비트 메모리 셀의 경우에는 MSB의 프로그램인지 또는 LSB의 프로그램인지를 판단한다.
멀티 비트 플래시 메모리 장치에는 하나의 셀에 저장되는 멀티 비트 데이터(또는 복수의 페이지 데이터)의 프로그램 순서(Program Sequence)가 정의되어 있다. 프로그램 순서는 사용자에 의해서 임의로 설정될 수 있다. 멀티 비트 플래시 메모리 장치는 프로그램 순서의 설정 정보를 참조하여 멀티 비트 데이터를 프로그램한다. 멀티 비트 데이터의 프로그램 순서의 설정 정보는 펌웨어에 고정적 설정값으로 제공될 수 있다. 또는 퓨즈 프로그램을 통하여 프로그램 순서의 설정 정보가 제공될 수 있음은 이 분야에서 통상의 지식을 습득한 자들에게는 자명하다. 프로그램 제어부(50)는 현재 메모리 셀의 데이터 비트(P_STATE)를 입력받아 프로그램하고자 하는 목표 상태로 프로그램하기 위한 프로그램 전압을 선택하는 상태 선택신호(S_SEL)를 출력한다. 현재의 상태를 감지하는 경우, 프로그램 제어부(50)는 상술한 감지 증폭기(30)의 감지 동작을 활성화하는 감지활성화 신호(SAEN)를 출력한다. 감지활성화 신호(SAEN)에 응답하여 감지 증폭기(30)는 시리얼 센싱 혹은 페러 렐 센싱에 의한 독출 동작을 수행한다. 프로그램 동작 시, 프로그램 제어부(50)는 기입 드라이버(20)의 비트 라인 설정을 제어한다. 상술한 프로그램 제어부(50)의 동작을 간략히 요약하면, 프로그램 제어부(50)는 프로그램 어드레스(PGM_ADD)를 통해서 셀의 프로그램될 페이지 데이터가 결정되면 현재의 셀에 저장된 데이터(P_STATE)를 우선 감지하여 타깃 문턱전압 상태를 결정한다. 이후에는 타깃 문턱전압 상태로의 프로그램을 위한 전압들이 발생되도록 전압 발생기(60)로 상태 선택신호(S_SEL)를 출력한다.
전압 발생기(60)는 프로그램 및 검증시에 사용될 전압들(VWL, VBL)을 생성하여 셀 어레이(10)의 워드 라인과 기입 드라이버(20)로 공급한다. 워드 라인으로 공급되는 전압(VWL)은 셀을 프로그램할 때 공급되는 프로그램 전압(Vpgm)과 검증(Verify) 동작 동안 공급되는 검증 전압(Vvfy)을 포함한다. 플래시 메모리 장치의 프로그램에 사용되는 전압은 메모리 셀의 문턱전압을 검증 전압(Vvfy)이상으로 이동시키기 위하여 증가형 스텝 펄스 프로그램(Incremental Step Pulse Programming : 이하 ISPP)에 의거, 워드 라인에 인가된다. ISPP는 단계적으로 증가하는 프로그램 펄스(Vpgm)가 인가되고, 이후에는 검증 전압(Vvfy)이 인가되는 루프를 반복하는 프로그램 방식이다. 본 발명의 전압 발생기(10)는 프로그램 제어부(50)로부터 입력되는 상태 선택신호(S_SEL)에 응답하여 타깃 문턱전압 상태로 셀의 문턱전압을 이동시키기 위한 프로그램 전압(Vpgm)을 생성한다. 그리고 전압 발생기(10)는 타깃 문턱전압 상태로의 프로그램 여부를 검증하는 검증 전압(Vvfy)을 생성하여 워드 라인에 공급한다. 각 타깃 문턱전압 상태에 대응하는 프로그램 전압에 있어서, 그 스타트 전압은 현재 셀의 데이터 상태에 따라서 다르다. 다시 말하면, 메모리 셀의 현재의 데이터 상태에 따라 서로 다른 ISPP 스타트 전압이 인가되어야 한다. 더불어, 전압 발생기(10)는 프로그램 활성화를 위해 비트 라인에 공급될 비트 라인 전압(VBL)을 생성하여 기입 드라이버(20)로 제공한다.
여기에서, 상태 검출기(40)의 구성은 프로그램 제어부(50)의 내부에 포함될 수 있으며, 프로그램 제어부(50)가 상술한 상태 검출기(40)의 기능을 수행하는 것으로 구성될 수 있다.
이상의 도 5에 도시한 본 발명의 구성들을 통하여, 본 발명의 플래시 메모리장치는 MSB나 LSB의 프로그램 순서에 상관없이 프로그램하고자 하는 비트를 임의로 선택할 수 있다.
도 6은 상술한 도 5의 구성을 통하여 프로그램 순서에 구애됨이 없이 프로그램할 수 있는 2-비트 메모리 셀의 프로그램 방법을 설명하는 흐름도이다. 이하 본 발명에 따른 프로그램 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
프로그램이 시작되면, 프로그램 제어부(50)는 프로그램 어드레스(PGM_ADD)에 따라 MSB를 프로그램해야 하는지, 또는 LSB를 프로그램해야 하는지를 결정한다. 프로그램 제어부(50)는 입력되는 프로그램 어드레스(PGM_ADD)가 'even'인 경우에는 MSB를 프로그램하도록, 프로그램 어드레스(PGM_ADD)가 'odd'인 경우에는 LSB를 프로그램하도록 결정한다(S10). 이후, 프로그램 제어부(50)는 현재 셀의 상 태(Present state)를 검출한다. 만일 셀의 프로그램되어야 할 비트가 MSB인 경우라면, 이것은 MSB가 소거 상태에 있다는 것을 의미한다. 그러나 LSB의 데이터 값은 정확히 알 수 없다. LSB의 데이터가 '0' 혹은 '1'인지를 알 수 있으면, MSB를 프로그램했을 때의 데이터 상태를 알 수 있기 때문에 프로그램 이후의 문턱전압 위치가 결정된다. 따라서 프로그램 이전 단계로 현재 셀의 상태를 독출하여 셀의 현재 문턱전압 위치와 프로그램했을 때의 문턱전압 위치를 확인한다(S20). MSB를 프로그램해야하는 경우는 현재 셀의 상태가 '11', '10' 둘 중 하나의 상태에 해당됨을 의미한다. 상태 검출기(40)로부터 입력되는 P_STATE신호를 통해서 프로그램 제어부(50)는 셀의 상태가 '11'인지 '10'인지를 판단한다(S30). 만일 현재 셀의 상태가 '11'인 경우에는 MSB를 '01' 상태로 프로그램해야 한다는 것을 의미하므로 프로그램 제어부(50)는 '11' 상태에서 '01' 상태로 프로그램하기 위한 제반 전압을 발생하여 워드 라인 및 비트 라인에 공급되도록 전압발생기(60)를 제어한다. 또한, 감지 활성화 신호를 발생하여 검증 동작이 이루어지도록 감지 증폭기(30)를 제어하여, 목표하는 데이터 상태로의 프로그램 동작을 수행한다(S40). 만일 단계 (S30)에서 현재 셀의 상태가 '10'이었다면, MSB의 프로그램 결과 '00' 상태가 되어야 하므로 이에 대응하는 프로그램 전압과 검증 전압들이 발생하도록 프로그램 제어부(50)는 전압 발생기(60)를 제어한다(S50). MSB에 대한 프로그램이 종료된 뒤 만일 초기상태 '11'에서 '00'으로 프로그램하기 위해서는 도 4b의 경로 ⑩을 거치는 상태천이가 이루어져야 하기 때문에 LSB의 프로그램이 추가로 이루어져야 한다는 것을 알 수 있다. 따라서 두 비트의 연속적인 프로그램이 이루어져야 최종 목표 상태로 프로그 램되는 경우에는 완료 여부를 판단하여 LSB 프로그램을 위한 단계로 이동해야 할 것이다. 목표 상태로 프로그램이 완료되었으면 한 셀에 대한 제반 프로그램 동작은 종료된다.
반면에, 프로그램 어드레스(PGM_ADD)가 'odd'인 경우, LSB를 프로그램해야 한다. 이때, MSB를 프로그램한 이후에 이어지는 LSB 프로그램이 아니라면, MSB의 비트값은 불확실하므로 목표하는 문턱전압으로 프로그램할 각종 전압들(Vpgm, Vvfy, VBL)을 생성할 수 없다. 따라서, 현재의 정확한 데이터 상태를 검출하여 LSB를 프로그램했을 때의 결과적인 문턱전압 위치를 검출해야 한다(S60). LSB를 프로그램해야하는 경우, 현재 셀의 문턱전압 상태는 '11' 또는 '01'에 대응하는 문턱전압을 가지고 있음을 의미한다. 따라서 셀의 현재 문턱전압 상태를 검출하여 '11'인지 '01'인지를 판단한다(S70). 만일 셀의 현재 상태가 '11'이라면, LSB를 프로그램하여 '10' 상태로 프로그램되어야 한다는 것을 의미한다. 따라서, 프로그램 제어부(50)는 '11'로부터 '10'으로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy)들을 생성하도록 전압발생기(60)를 제어한다(S80). 만일 셀의 현재 상태가 '01'이라면, LSB를 프로그램하여 '00' 상태로 천이해야 한다는 것을 의미하므로, 프로그램 제어부(50)는 '01' 상태에서 '00' 상태로 문턱전압을 이동하기 위한 프로그램 전압(Vpgm)과 검증 전압(Vvfy)이 발생하도록 전압발생기(60)로 상태 선택신호(S_SEL)를 전달한다(S90). 그 이후에는 셀의 모든 비트들이 입력되는 데이터로 프로그램되었는지 확인하여 프로그램 완료시에는 제반 프로그램 동작을 종료한다. 만일 LSB가 먼저 프로그램되고, '11' 상태에서 '00' 상태로 프로그램되는 도 4a의 경로 ⑦→⑧의 경우에는 이후의 MSB의 프로그램을 위한 단계 (S10)으로 되돌아 갈 수 있다. 그러나 LSB의 프로그램만으로 셀의 모든 프로그램이 완료되는 경우나, LSB의 프로그램이 MSB 프로그램의 후속단계였을 경우에는 하나의 셀에 대한 제반 프로그램을 종료한다.
이상의 프로그램 방법을 통해 설명한 본 발명은 최소한 2-비트 데이터를 저장하는 멀티 레벨 셀에 있어서, 프로그램 순서에 관계없이 LSB 및 MSB 중 어느 것이든 먼저 프로그램할 수 있다.
도 7a는 하나의 메모리 셀에 3-비트가 저장되는 셀들의 문턱전압 분포 및 각 문턱전압 분포에 대응되는 데이터를 보여주는 도면이다. 도 7a를 참조하면, 3-비트 데이터를 저장하는 멀티 비트 플래시 메모리 장치의 메모리 셀은 8개에 문턱전압 상태들 중 어느 하나에 포함되는 문턱전압을 갖는다. 본 발명에서는 예시적으로 상태 '1' 내지 상태 '8'로 표기하기로 한다. 상태 '1'은 데이터 '111'에 대응하는 것으로 표현될 수 있다. 그리고 상태 '2'는 데이터 '110'에, 상태 '3'은 데이터 '101'에, 상태 '8'은 데이터 '000'에 각각 대응된다.
도 7b는 하나의 메모리 셀에 입력되는 데이터의 어드레스 할당 정보를 간략히 보여주는 표이다. 도 7b에 따르면, 3-비트 플래시 메모리 셀 하나(Cell 0)는 하나의 물리적 어드레스(Physical address)를 가진다. 그러나 하나의 메모리 셀에 3비트가 프로그램되기 위해서, 3-비트 플래시 메모리 셀은 3개의 논리 어드레스(Logical address)를 갖는다. 즉, LSB에 해당하는 제1페이지(1st page)는 (3n), 제2페이지(2nd page)는 (3n+1), MSB에 해당하는 제3페이지(3rd page)는 (3n+2)의 논리 어드레스에 대응된다. 물론 하나의 3-비트 플래시 메모리 셀의 입출력(I/O Information)단은 (I/O_0)로 동일하게 할당된다. 3-비트 데이터의 프로그램 동작시, 본 발명의 멀티 비트 플래시 메모리 장치는 제1페이지 내지 제3페이지 데이터 중 어느 것을 먼저 프로그램하더라도 3-비트의 데이터를 모두 프로그램할 수 있다.
도 8a는 본 발명에 따른 3-비트 셀의 프로그램 방법의 일 실시예를 보여주는 상태 천이도이다. 도 8a를 참조하면, 제3페이지(또는 MSB 페이지) 데이터를 최초로 프로그램하는 경우의 상태천이의 양상이 간략히 도시되었다. 즉, 도 8a는 MSB페이지(3n+2)→제2페이지(3n+1)→LSB페이지(3n)의 순서로 데이터 '111'로부터 데이터 '000'로의 프로그램 동작에 따른 상태천이과정(State transition path)을 도시하고 있다. 최초에 MSB페이지(3n+2) 데이터가 3-비트 셀로 프로그램되면, 문턱전압은 상태 '1'로부터 상태 '5'로 천이된다. 즉 메모리 셀은 데이터 '111'로부터 데이터 '011'으로 프로그램된다. 이어서, 제2페이지(3n+1) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '5'로부터 상태 '7'로 이동한다. 즉, 메모리 셀은 데이터 '011'로부터 데이터 '001'로 프로그램된다. 마지막으로 LSB 또는 제1페이지(3n) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '7'로부터 상태 '8'로 천이한다. 즉, 메모리 셀은 데이터 '001'로부터 데이터 '000'으로 프로그램된다.
도 8b는 본 발명에 따른 3-비트 셀의 프로그램 방법의 다른 실시예를 보여주는 상태 천이도이다. 도 8b를 참조하면, 제2페이지(3n+1) 데이터를 최초로 프로그램하는 경우의 상태천이의 양상이 간략히 도시되었다. 즉, 도 8b는 제2페이 지(3n+1)→MSB페이지(3n+2)→LSB페이지(3n)의 순서로 데이터 '111'로부터 데이터 '000'로의 프로그램 동작에 따른 상태천이과정(State transition path)을 도시하고 있다. 최초에 제2페이지(3n+1) 데이터가 3-비트 셀로 프로그램되면, 상태 '1'로부터 상태 '3'으로 문턱전압이 천이된다. 즉 메모리 셀은 데이터 '111'로부터 데이터 '101'로 프로그램된다. 이어서, 제3페이지(3n+2) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '3'로부터 상태 '7'로 이동한다. 즉, 메모리 셀은 데이터 '101'로부터 데이터 '001'로 프로그램된다. 마지막으로 LSB 또는 제1페이지(3n) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '7'로부터 상태 '8'로 천이한다. 즉, 메모리 셀은 데이터 '001'로부터 데이터 '000'으로 프로그램된다.
도 8c는 본 발명에 따른 3-비트 셀의 프로그램 방법의 또 다른 실시예를 보여주는 상태 천이도이다. 도 8c를 참조하면, 제1페이지 또는 LSB 페이지(3n) 데이터를 최초로 프로그램하는 경우의 상태천이의 양상이 간략히 도시되었다. 즉, 도 8c는 제1(LSB)페이지(3n)→제3(MSB)페이지(3n+2)→제2페이지(3n)의 순서로 데이터 '111'로부터 데이터 '000'로의 프로그램 동작에 따른 상태천이과정(State transition path)을 도시하고 있다. 최초에 제1페이지(3n) 데이터가 3-비트 셀로 프로그램되면, 상태 '1'로부터 상태 '2'으로 문턱전압이 천이된다. 즉 메모리 셀은 데이터 '111'로부터 데이터 '110'로 프로그램된다. 이어서, 제3페이지(3n+2) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '2'로부터 상태 '6'로 이동한다. 즉, 메모리 셀은 데이터 '110'으로부터 데이터 '010'으로 프로그램된다. 마지막으로 제2페이지(3n) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '6'으로부 터 상태 '8'로 천이한다. 즉, 메모리 셀은 데이터 '010'으로부터 데이터 '000'으로 프로그램된다.
이상의 도 8a 내지 도 8c에 설명된 상태천이 양상에 따르면, 어떠한 페이지가 먼저 프로그램되더라도 프로그램 순서에 관계없이 3-비트 데이터를 하나의 메모리 셀로 프로그램할 수 있다.
도 9는 본 발명의 3-비트 셀의 프로그램 방법을 설명하기 위한 흐름도이다. 도 9를 참조하면, 3-비트 플래시 메모리 장치의 3개 페이지 데이터(3n+2, 3n+1, 3n) 중 어느 하나의 프로그램 동작이 간략히 도시되어 있다. 최초에 프로그램되는 페이지 데이터는 제3페이지 또는 MSB페이지(3n+2), 제2페이지(3n+1), 제1페이지 또는 LSB페이지(3n) 들 중 어느 하나일 수 있다. 본 발명에 따른 3-비트 플래시 메모리 장치의 프로그램 방법에 따르면, 프로그램 순서의 제약을 받지 않는 3-비트 플래시 메모리 장치를 구현할 수 있다. 좀더 상세히 설명하면 다음과 같다.
프로그램이 시작되면, 프로그램 제어부(50)는 사용자에 의해 설정된 프로그램 순서(Program sequence)에 따라 제1 내지 제3페이지 데이터를 프로그램하기 위한 단계들을 진행한다. 우선, 프로그램 제어부(50)는 입력되는 데이터의 페이지 어드레스를 검출한다(S100). 3-비트 플래시 메모리 장치의 경우, 검출되는 페이지 어드레스는 제3페이지 어드레스(3n+2), 제2페이지 어드레스(3n+1), 제1페이지 어드레스(3n)들 중 어느 하나일 것이다(S110).
프로그램될 데이터의 페이지 어드레스가 제3페이지 어드레스(3n+2)로 검출되면, 프로그램 제어부(50)는 메모리 셀의 현재 데이터를 독출하도록 감지 증폭 기(30) 및 전압 발생기(60)를 제어한다(S120). 독출된 현재 데이터가 '111'인 경우, 제3페이지 데이터를 프로그램하면 메모리 셀은 데이터 '011'에 대응하는 상태 '5'에 대응하는 문턱전압을 갖는다. 따라서, 프로그램 제어부(50)는 상태 '1'로부터 상태 '5'로의 프로그램 동작을 위한 프로그램 전압(Vpgm)과 검증 전압(Vvfy5)을 생성하도록 전압 발생기(60)를 제어한다. 전압 발생기(60)는 프로그램 제어부(50)의 제어에 응답하여 상태 '1'로부터 상태 '5'로 프로그램하기 위한 스타트 전압(Start voltage)을 설정한다. 또한, 전압 발생기(60)는 상태 '5'로 프로그램 완료되었는지를 검증하기 위한 검증 전압(Vvfy5)을 생성한다(S131). 프로그램 전압과 검증 전압의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '011'에 대응하는 상태 '5'로의 프로그램 동작을 실행한다. 프로그램 제어부(50)는 선택된 메모리 셀의 워드 라인에 생성된 프로그램 전압을 인가하고 뒤따라 상태 '5'로의 프로그램 여부를 검증하는 프로그램 루프를 반복적으로 실시한다(S132).
만일 단계 (S130)에서 독출된 셀의 현재 데이터가 '110'으로 판정되는 경우, 제3페이지 데이터를 프로그램하면 메모리 셀은 데이터 '010'에 대응하는 상태 '6'에 대응하는 문턱전압을 갖는다. 따라서, 프로그램 제어부(50)는 상태 '2'로부터 상태 '6'으로의 프로그램 동작을 위한 프로그램 전압(Vpgm)과 검증 전압(Vvfy6)을 생성하도록 전압 발생기(60)를 제어한다. 전압 발생기(60)는 프로그램 제어부(50)의 제어에 응답하여 상태 '2'로부터 상태 '6'으로 프로그램하기 위한 스타트 전압(Start voltage)을 설정한다. 또한, 전압 발생기(60)는 상태 '6'으로 프로그램 완료되었는지를 검증하기 위한 검증 전압(Vvfy6)을 생성한다(S133). 프로그램 전압 과 검증 전압의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '010'에 대응하는 상태 '6'으로의 프로그램 동작을 실행한다. 프로그램 제어부(50)는 선택된 메모리 셀의 워드 라인에 생성된 프로그램 전압을 인가하고 뒤따라 상태 '6'으로의 프로그램 여부를 검증하는 프로그램 루프를 반복적으로 실시한다(S134).
셀의 현재 데이터가 '101' 또는 '100'인 경우에도 제3페이지 데이터가 프로그램되는 경우에 갖게 되는 문턱전압 분포로 프로그램하기 위한 프로그램 전압 및 검증 전압들이 각각 설정된다(S135, S137). 그리고 설정된 프로그램 전압 및 검증 전압에 의해서 메모리 셀은 타깃 문턱전압을 갖도록 프로그램된다(S136, S138). 프로그램 동작에 의해서 메모리 셀의 문턱 전압이 타깃 문턱전압 상태로 이동이 완료되면, 제3페이지(또는 MSB 페이지) 데이터의 프로그램은 종료된다.
프로그램될 데이터의 페이지 어드레스(PGM_ADD)가 제2페이지 어드레스(3n+1)로 검출되면, 프로그램 제어부(50)는 메모리 셀의 현재 데이터를 독출하도록 감지 증폭기(30) 및 전압 발생기(60)를 제어한다(S140). 독출된 현재 데이터가 '111'인 경우, 제2페이지 데이터를 프로그램하면 메모리 셀은 데이터 '101'에 대응하는 상태 '3'에 대응하는 문턱전압을 갖는다. 따라서, 프로그램 제어부(50)는 상태 '1'로부터 상태 '3'으로의 프로그램 동작을 위한 프로그램 전압(Vpgm)과 검증 전압(Vvfy3)을 생성하도록 전압 발생기(60)를 제어한다(S151). 프로그램 전압과 검증 전압의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '101'에 대응하는 상태 '3'로의 프로그램 동작을 실행한다. 프로그램 제어부(50)는 선택된 메모리 셀의 워드 라인에 생성된 프로그램 전압을 인가하고 뒤따라 상태 '3'로의 프로그램 여부를 검증하는 프로그램 루프를 반복적으로 실시한다(S152). 독출된 현재 데이터가 각각 '110', '011', '010' 경우, 셀의 문턱 전압은 데이터 '100', '001', '000'로 각각 프로그램되어야 한다. 따라서, 전압 발생기(60)는 상태 '4', 상태 '7', 상태 '8'로 프로그램하기 위한 프로그램 전압 및 검증 전압을 생성한다(S153, S155, S157). 그리고 생성된 프로그램 전압 및 검증 전압에 의해서 메모리 셀은 타깃 문턱전압 상태들로 프로그램될 것이다(S154, S156, S158). 프로그램 동작에 의해서 메모리 셀의 문턱 전압이 타깃 문턱전압 상태로 이동이 완료되면, 제2페이지 데이터의 프로그램 동작은 종료된다.
프로그램될 데이터의 페이지 어드레스(PGM_ADD)가 제1페이지(LSB 페이지) 어드레스(3n)로 검출되면, 프로그램 제어부(50)는 메모리 셀의 현재 데이터를 독출하도록 감지 증폭기(30) 및 전압 발생기(60)를 제어한다(S160). 독출된 현재 데이터가 '111'인 경우, 제1페이지 데이터를 프로그램하면 메모리 셀은 데이터 '110'에 대응하는 상태 '2'에 대응하는 문턱전압을 갖는다(S170). 따라서, 프로그램 제어부(50)는 상태 '1'로부터 상태 '2'로의 프로그램 동작을 위한 프로그램 전압(Vpgm)과 검증 전압(Vvfy2)을 생성하도록 전압 발생기(60)를 제어한다(S171). 프로그램 전압과 검증 전압의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '110'에 대응하는 상태 '2'로의 프로그램 동작을 실행한다. 프로그램 제어부(50)는 선택된 메모리 셀의 워드 라인에 생성된 프로그램 전압을 인가하고 뒤따라 상태 '2'로의 프로그램 여부를 검증하는 프로그램 루프를 반복적으로 실시한다(S172). 독출된 현재 데이터가 각각 '101', '011', '001' 경우, 셀의 문턱 전압은 데이터 '100', '010', '000'로 각각 프로그램되어야 한다. 따라서, 전압 발생기(60)는 상태 '4', 상태 '6', 상태 '8'로 프로그램하기 위한 프로그램 전압 및 검증 전압을 생성한다(S173, S175, S177). 그리고 생성된 프로그램 전압 및 검증 전압에 의해서 메모리 셀은 타깃 문턱전압 상태들로 프로그램될 것이다(S174, S176, S178). 프로그램 동작에 의해서 메모리 셀의 문턱 전압이 타깃 문턱전압 상태로 이동이 완료되면, 제1페이지(LSB 페이지) 데이터의 프로그램 동작은 종료된다.
이상에서 설명된 본 발명에 따른 프로그램 방법에 따르면, 3-비트의 데이터 중 어느 페이지 데이터를 먼저 프로그램하더라도, 현재 셀의 상태로부터 타깃 문턱전압으로 프로그램될 수 있음이 설명되었다. 즉, 본 발명의 3-비트 데이터의 프로그램 방법에 따르면, 메모리 셀의 프로그램 동작시에 각각의 페이지의 프로그램 순서에 제한받지 않는 메모리 장치를 구현할 수 있다.
도 10a는 하나의 메모리 셀에 4-비트가 저장되는 셀들의 문턱전압 분포 및 각 문턱전압 분포에 대응되는 데이터를 보여주는 도면이다. 도 10a를 참조하면, 4-비트 데이터를 저장하는 멀티 비트 플래시 메모리 장치의 메모리 셀은 16개에 문턱전압 상태들 중 어느 하나에 대응되는 문턱전압을 갖는다. 상태 '1'은 데이터 '1111'에 대응한다. 그리고 상태 '2'는 데이터 '1110'에, 상태 '3'은 데이터 '1101'에, 상태 '4'는 데이터 '1100'에, 상태 '16'은 데이터 '0000'에 각각 대응된다. 이러한 방식으로 각각의 문턱전압 상태들은 대응되는 4-비트 데이터와 각각 대응된다.
도 10b는 하나의 메모리 셀에 입력되는 데이터의 어드레스 할당 정보를 간략 히 보여주는 표이다. 도 10b에 따르면, 4-비트 플래시 메모리 셀 하나(Cell 0)는 하나의 물리적 어드레스(Physical address)를 가진다. 그러나 하나의 메모리 셀에 4-비트가 프로그램되기 위해서, 4-비트 플래시 메모리 셀은 4개의 논리 어드레스(Logical address)를 갖는다. 즉, LSB에 해당하는 제1페이지(1st page)는 (4n), 제2페이지(2nd page)는 (4n+1), 제3페이지(3rd page)는 (4n+2), MSB에 해당하는 제4페이지(4th page)는 (4n+3)의 논리 어드레스에 대응된다. 물론 하나의 4-비트 플래시 메모리 셀의 입출력(I/O Information) 단은 하나의 경로(I/O_0)로 동일하게 할당된다.
도 11a는 본 발명에 따른 4-비트 셀의 프로그램 과정을 특정 프로그램 순서로 설정된 경우에 대하여 보여주는 상태 천이도이다. 도 11a를 참조하면, 제2페이지(4n+1) 데이터를 최초로 프로그램하는 경우의 상태천이의 양상이 간략히 도시되었다. 즉, 도 11a는 제2페이지(4n+1)→제3페이지(4n+2)→제1페이지(4n)→제4페이지(4n+3)의 순서로 데이터 '1111'로부터 데이터 '0000'로의 프로그램 동작에 따른 상태천이과정(State transition path)을 도시하고 있다. 최초에 제2페이지(4n+1) 데이터가 4-비트 셀로 프로그램되면, 문턱전압은 상태 '1'로부터 상태 '3'로 천이된다. 즉, 메모리 셀은 데이터 '1111'로부터 데이터 '1101'로 프로그램된다. 이어서, 제3페이지(4n+2) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '3'로부터 상태 '7'로 이동한다. 즉, 메모리 셀은 데이터 '1101'로부터 데이터 '1001'로 프로그램된다. 이어서, 제1페이지(4n) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '7'로부터 상태 '8'로 이동한다. 즉, 메모리 셀은 데이터 '1001'로부 터 데이터 '1000'로 프로그램된다. 마지막으로 MSB 페이지 또는 제4페이지(4n+3) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '8'로부터 상태 '16'으로 천이한다. 즉, 메모리 셀은 데이터 '1000'로부터 데이터 '0000'으로 프로그램된다.
도 11b는 본 발명에 따른 4-비트 셀의 프로그램 과정을 또 다른 프로그램 순서로 설정된 경우에 대하여 보여주는 상태 천이도이다. 도 11b를 참조하면, 제3페이지(4n+2) 데이터를 최초로 프로그램하는 경우의 상태천이의 양상이 간략히 도시되었다. 즉, 도 11b는 제3페이지(4n+2)→제2페이지(4n+1)→제4페이지(4n+3)→제1페이지(4n)의 순서로 데이터 '1111'로부터 데이터 '0000'로의 프로그램 동작에 따른 상태천이 경로(State transition path)를 도시하고 있다. 최초에 제3페이지(4n+2) 데이터가 4-비트 셀로 프로그램되면, 문턱전압은 상태 '1'로부터 상태 '5'로 천이된다. 즉, 메모리 셀은 데이터 '1111'로부터 데이터 '1011'로 프로그램된다. 이어서, 제2페이지(4n+1) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '5'로부터 상태 '7'로 이동한다. 즉, 메모리 셀은 데이터 '1011'로부터 데이터 '1001'로 프로그램된다. 이어서, 제4페이지(4n+3) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '7'로부터 상태 '15'로 이동한다. 즉, 메모리 셀은 데이터 '1001'로부터 데이터 '0001'로 프로그램된다. 마지막으로 LSB 페이지 또는 제1페이지(4n) 데이터가 프로그램되면, 메모리 셀의 문턱전압은 상태 '15'로부터 상태 '16'으로 천이한다. 즉, 메모리 셀은 데이터 '0001'로부터 데이터 '0000'으로 프로그램된다.
이와 같이, 본 발명의 프로그램 방법에 따르면, 프로그램 순서에 구애됨 없이 4-비트 데이터의 프로그램이 가능하다.
도 12는 본 발명의 4-비트 셀의 프로그램 방법을 설명하기 위한 흐름도이다. 도 12를 참조하면, 4-비트 플래시 메모리 장치의 4개 페이지 데이터(4n+3, 4n+2, 4n+1, 4n) 중 어느 하나의 프로그램 동작이 간략히 도시되어 있다. 어느 한 페이지 데이터는 제4페이지 또는 MSB페이지(4n+3), 제3페이지(4n+2), 제2페이지(4n+1), 제1페이지 또는 LSB페이지(4n) 들 중 어느 하나일 수 있다. 본 발명에 따른 4-비트 플래시 메모리 장치의 프로그램 방법에 따르면, 프로그램 순서의 제약을 받지 않는 4-비트 플래시 메모리 장치를 구현할 수 있다.
프로그램이 시작되면, 프로그램 제어부(50)는 사용자에 의해 설정된 프로그램 순서(Program sequence)에 따라 제1 내지 제4페이지 데이터를 프로그램하기 위한 단계들을 진행한다. 우선, 프로그램 제어부(50)는 입력되는 데이터의 페이지 어드레스를 검출한다(S200). 4-비트 플래시 메모리 장치의 경우, 검출되는 페이지 어드레스는 제4페이지 어드레스(4n+3), 제3페이지 어드레스(4n+2), 제2페이지 어드레스(4n+1), 제1페이지 어드레스(4n)들 중 어느 하나일 것이다(S210).
만일, 프로그램되는 1-비트 데이터의 페이지 어드레스가 제4페이지(4n+3)로 검출되면, 절차는 제4페이지 즉 MSB 페이지를 프로그램하기 위한 단계(S220)로 이동한다. 프로그램되는 1-비트 데이터의 페이지 어드레스가 제3페이지(4n+2)로 검출되면, 제3페이지를 프로그램하기 위한 단계(S240)로 이동한다. 프로그램되는 1-비트 데이터의 페이지 어드레스가 제2페이지(4n+1)로 검출되면, 절차는 제2페이지를 프로그램하기 위한 단계 (S260)로 이동한다. 그리고, 프로그램되는 1-비트 데이터의 페이지 어드레스가 제1페이지(4n)로 검출되면, 절차는 제1페이지 즉 LSB 페이지 를 프로그램하기 위한 단계(S280)로 이동한다.
제4페이지를 프로그램하기 위한 단계(S220)에서, 우선 메모리 셀의 현재 저장된 데이터(또는 현재 상태, Present state)를 독출한다. 그리고 현재의 저장된 데이터 상태에 따라서, 절차는 각각에 대응되는 스텝들로 이동한다(S230). 메모리 셀의 현재 데이터가 데이터 '1111'인 경우, 프로그램 제어부(50)는 데이터 '0111'로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy9)을 생성하도록 전압 발생기(60)를 제어한다(S231). 프로그램 전압(Vpgm) 및 검증 전압(Vvfy9)의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '0111' 또는 문턱전압 상태 '9'로 문턱전압이 이동하도록 메모리 셀을 프로그램한다(232). 데이터 '0111'로 메모리 셀을 프로그램하기 위한 프로그램 루프들이 종료되면, 제4페이지 데이터의 프로그램 동작은 종료된다. 메모리 셀의 현재 데이터가 데이터 '1110'인 경우, 프로그램 제어부(50)는 데이터 '0110'으로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy10)을 생성하도록 전압 발생기(60)를 제어한다(S233). 프로그램 전압(Vpgm) 및 검증 전압(Vvfy10)의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '0110' 또는 문턱전압 상태 '10'으로 문턱전압이 이동하도록 메모리 셀을 프로그램한다(234). 데이터 '0110'으로 프로그램하기 위한 프로그램 루프들이 종료되면, 제4페이지 데이터의 프로그램 동작은 종료된다. 상술한 제4페이지 데이터(4n+3)의 프로그램은 제4페이지의 논리 비트값이 '1'인 현재 데이터에 대해서 수행될 수 있다. 즉, 제4페이지 데이터의 프로그램 동작은 문턱전압 상태 '1' 내지 문턱전압 상태 '8'에 대응하는 데이터를 갖는 메모리 셀들에 대해서 수행될 수 있다.
제3페이지 데이터(4n+2)의 프로그램 동작은 메모리 셀의 현재 데이터 또는 현재 상태를 검출하는 단계(S240)로부터 시작된다. 우선 메모리 셀의 현재 저장된 데이터(또는 현재 상태, Present state)를 독출한다(S240). 그리고 현재의 저장된 데이터 상태에 따라서, 절차는 각각에 대응되는 스텝들로 이동한다(S250). 메모리 셀의 현재 데이터가 데이터 '1111'인 경우, 프로그램 제어부(50)는 데이터 '1011'로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy5)을 생성하도록 전압 발생기(60)를 제어한다(S251). 프로그램 전압(Vpgm) 및 검증 전압(Vvfy5)의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '1011' 또는 문턱전압 상태 '5'로 문턱전압이 이동하도록 메모리 셀을 프로그램한다(S252). 데이터 '1011'로 메모리 셀을 프로그램하기 위한 프로그램 루프들이 종료되면, 제3페이지 데이터의 프로그램 동작은 종료된다. 메모리 셀의 현재 데이터가 데이터 '1110'인 경우, 프로그램 제어부(50)는 데이터 '1010'으로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy6)을 생성하도록 전압 발생기(60)를 제어한다(S253). 프로그램 전압(Vpgm) 및 검증 전압(Vvfy6)의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '1010' 또는 문턱전압 상태 '6'으로 문턱전압이 이동하도록 메모리 셀을 프로그램한다(S254). 데이터 '1010'으로 프로그램하기 위한 프로그램 루프들이 종료되면, 제3페이지 데이터의 프로그램 동작은 종료된다. 상술한 제3페이지 데이터(4n+2)의 프로그램은 제3페이지의 논리 비트값이 '1'인 현재 데이터에 대해서 수행될 수 있다.
제2페이지 데이터(4n+1)의 프로그램 동작은 메모리 셀의 현재 데이터 또는 현재 상태를 검출하는 단계(S260)로부터 시작된다. 우선 메모리 셀의 현재 저장된 데이터(또는 현재 상태, Present state)를 독출한다(S260). 그리고 현재의 저장된 데이터 상태에 따라서, 절차는 각각에 대응되는 스텝들로 이동한다(S270). 메모리 셀의 현재 데이터가 데이터 '1111'인 경우, 프로그램 제어부(50)는 데이터 '1101'로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy3)을 생성하도록 전압 발생기(60)를 제어한다(S271). 프로그램 전압(Vpgm) 및 검증 전압(Vvfy3)의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '1101' 또는 문턱전압 상태 '3'로 문턱전압이 이동하도록 메모리 셀을 프로그램한다(S272). 데이터 '1101'로 메모리 셀을 프로그램하기 위한 프로그램 루프들이 종료되면, 제2페이지 데이터의 프로그램 동작은 종료된다. 메모리 셀의 현재 데이터가 데이터 '1110'인 경우, 프로그램 제어부(50)는 데이터 '1100'으로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy4)을 생성하도록 전압 발생기(60)를 제어한다(S273). 프로그램 전압(Vpgm) 및 검증 전압(Vvfy4)의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '1100' 또는 문턱전압 상태 '4'로 문턱전압이 이동하도록 메모리 셀을 프로그램한다(S274). 데이터 '1100'으로 프로그램하기 위한 프로그램 루프들이 종료되면, 제2페이지 데이터의 프로그램 동작은 종료된다. 상술한 제2페이지 데이터(4n+1)의 프로그램은 제2페이지의 논리 비트값이 '1'인 현재 데이터에 대해서 수행될 수 있다.
제1페이지 데이터(4n)의 프로그램 동작은 메모리 셀의 현재 데이터 또는 현재 상태를 검출하는 단계(S280)로부터 시작된다. 우선 메모리 셀의 현재 저장된 데이터(또는 현재 상태, Present state)를 독출한다(S280). 그리고 현재의 저장된 데 이터 상태에 따라서, 절차는 각각에 대응되는 스텝들로 이동한다(S290). 메모리 셀의 현재 데이터가 데이터 '1111'인 경우, 프로그램 제어부(50)는 데이터 '1110'으로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy2)을 생성하도록 전압 발생기(60)를 제어한다(S291). 프로그램 전압(Vpgm) 및 검증 전압(Vvfy2)의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '1110' 또는 문턱전압 상태 '2'로 문턱전압이 이동하도록 메모리 셀을 프로그램한다(S292). 데이터 '1110'으로 메모리 셀을 프로그램하기 위한 프로그램 루프들이 종료되면, 제1페이지 데이터의 프로그램 동작은 종료된다. 메모리 셀의 현재 데이터가 데이터 '1101'인 경우, 프로그램 제어부(50)는 데이터 '1100'으로 프로그램하기 위한 프로그램 전압(Vpgm) 및 검증 전압(Vvfy4)을 생성하도록 전압 발생기(60)를 제어한다(S293). 프로그램 전압(Vpgm) 및 검증 전압(Vvfy4)의 설정이 완료되면, 프로그램 제어부(50)는 데이터 '1100' 또는 문턱전압 상태 '4'로 문턱전압이 이동하도록 메모리 셀을 프로그램한다(S294). 데이터 '1100'으로 프로그램하기 위한 프로그램 루프들이 종료되면, 제1페이지 데이터의 프로그램 동작은 종료된다. 상술한 제1페이지 데이터(4n+1)의 프로그램은 제1페이지의 논리 비트값이 '1'인 현재 데이터에 대해서 수행될 수 있다.
이상에서 설명된 4-비트 플래시 메모리 장치의 프로그램 방법에 따르면, 프로그램 순서의 제약을 받지 않고 4-비트 데이터를 프로그램할 수 있다. 외부에서 제공되는 4-비트 데이터 중 어느 페이지든지 사용자의 설정에 따라서 우선적으로 프로그램이 가능하다.
상술한 도면들을 통해서 본 발명의 실시예들을 2 내지 4-비트에 대해서 각각 의 프로그램 방법들이 설명되었으나, 본 발명은 이에 국한되지 않는다. 즉, 4-비트 이상의 데이터를 하나의 메모리 셀에 저장하는 멀티 레벨 셀들을 구비하는 모든 멀티 비트 플래시 메모리 장치에 적용될 수 있다. 더불어 노어형 플래시 메모리 장치를 예로 들어 설명하였으나, 낸드형(NAND type) 플래시 메모리 장치에도 동일한 프로그램 절차에 따라 적용될 수 있음은 이 분야에서 통상의 지식을 습득한 자들에게는 자명하다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명의 멀티 레벨 셀을 포함하는 플래시 메모리 장치는 멀티 비트 데이터의 어느 비트라도 순서에 구애됨 없이 먼저 프로그램할 수 있다. 따라서, 다양한 시스템의 요구사항에 대해 보다 융통성 있는 프로그램이 가능하다.

Claims (59)

  1. 멀티 비트들 각각을 프로그램하기 위한 복수의 프로그램 절차들을 통해 선택된 메모리 셀을 프로그램하는 플래시 메모리 장치의 프로그램 방법에 있어서:
    현재의 프로그램 절차에서 상기 선택된 메모리 셀에 저장될 데이터는, 상기 선택된 메모리 셀의 데이터와 상기 현재의 프로그램 절차에 대응하는 어드레스에 의거하여 결정되며,
    상기 멀티 비트들 중 어느 하나를 선택하기 위한 상기 어드레스는 상기 복수의 프로그램 절차들의 우선 순위에 관계없이 제공되는 프로그램 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 선택된 메모리 셀의 데이터는 상기 현재 프로그램 절차가 수행되기 이전에 상기 선택된 메모리 셀이 갖는 문턱 전압에 대응하는 멀티 비트 데이터인 것을 특징으로 하는 프로그램 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 현재의 프로그램 절차는,
    (a) 현재 프로그램 절차에서 프로그램되는 비트의 어드레스를 검출하는 단계;
    (b) 상기 선택된 메모리 셀의 데이터를 독출하는 단계; 및
    (c) 상기 검출된 어드레스와 상기 선택된 메모리 셀의 데이터를 참조하여 타깃 데이터를 결정하는 단계를 포함하는 프로그램 방법.
  7. 제 6 항에 있어서,
    상기 현재의 프로그램 절차는,
    (d) 상기 타깃 데이터에 대응하는 문턱전압을 갖도록 상기 메모리 셀을 프로그램하기 위한 프로그램 전압과 검증 전압을 생성하는 단계와; 및
    (e) 상기 프로그램 전압과 상기 검증 전압을 상기 메모리 셀의 워드 라인으로 공급하는 프로그램 단계를 더 포함하는 프로그램 방법.
  8. 제 7 항에 있어서,
    상기 멀티 비트 데이터는 2-비트 크기를 갖는 프로그램 방법.
  9. 제 8 항에 있어서,
    상기 멀티 비트의 데이터는 '11', '10', '01', '00'의 순으로 문턱전압의 분포들 각각에 대응하는 것을 특징으로 하는 프로그램 방법.
  10. 제 9 항에 있어서,
    상기 어드레스는 상기 멀티 비트 데이터의 2-비트 데이터 각각에 할당되는 것을 특징으로 하는 프로그램 방법.
  11. 제 10 항에 있어서,
    상기 (c) 단계에서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 데이터의 2-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 멀티 비트 데이터인 것을 특징으로 하는 프로그램 방법.
  12. 제 11 항에 있어서,
    상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는 것을 특징으로 하는 프로그램 방법.
  13. 제 12 항에 있어서,
    상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압인 것을 특징으로 하는 프로그램 방법.
  14. 제 7 항에 있어서,
    상기 (e) 단계는 상기 타깃 데이터로 프로그램이 완료될 때까지 반복되는 프로그램 루프로 수행되는 것을 특징으로 하는 프로그램 방법.
  15. 제 7 항에 있어서,
    상기 멀티 비트 데이터는 3-비트 크기를 갖는 프로그램 방법.
  16. 제 15 항에 있어서,
    상기 멀티 비트의 데이터는 '111', '110', '101', '100', '011', '010', '001','000'의 순으로 문턱전압의 분포들 각각에 대응하는 것을 특징으로 하는 프로그램 방법.
  17. 제 16 항에 있어서,
    상기 어드레스는 상기 멀티 비트 데이터의 3-비트 데이터 각각에 할당되는 것을 특징으로 하는 프로그램 방법.
  18. 제 17 항에 있어서,
    상기 (c) 단계에서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 데이터의 3-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 3-비트 데이터인 것을 특징으로 하는 프로그램 방법.
  19. 제 18 항에 있어서,
    상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는 것을 특징으로 하는 프로그램 방법.
  20. 제 19 항에 있어서,
    상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압인 것을 특징으로 하는 프로그램 방법.
  21. 제 20 항에 있어서,
    상기 (e) 단계는 상기 타깃 데이터로 프로그램이 완료될 때까지 반복되는 프로그램 루프로 수행되는 것을 특징으로 하는 프로그램 방법.
  22. 제 7 항에 있어서,
    상기 멀티 비트 데이터는 4-비트 크기를 갖는 프로그램 방법.
  23. 제 22 항에 있어서,
    상기 복수 비트의 데이터는 '1111', '1110', '1101', '1100', '1011', '1010', '1001','1000', '0111', '0110', '0101', '0100', '0011', '0010', '0001','0000'의 순으로 문턱전압의 분포들에 대응하는 것을 특징으로 하는 프로그램 방법.
  24. 제 23 항에 있어서,
    상기 어드레스는 상기 멀티 비트 데이터의 4-비트 데이터 각각에 할당되는 것을 특징으로 하는 프로그램 방법.
  25. 제 24 항에 있어서,
    상기 (c) 단계에서, 상기 타깃 데이터는 상기 선택된 메모리 셀의 데이터의 4-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 4-비트 데이터인 것을 특징으로 하는 프로그램 방법.
  26. 제 25 항에 있어서,
    상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는 것을 특징으로 하는 프로그램 방법.
  27. 제 26 항에 있어서,
    상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압인 것을 특징으로 하는 프로그램 방법.
  28. 제 27 항에 있어서,
    상기 (e) 단계는 상기 타깃 데이터로 프로그램이 완료될 때까지 반복되는 프로그램 루프로 수행되는 것을 특징으로 하는 프로그램 방법.
  29. 제 7 항에 있어서,
    상기 (a) 내지 (e) 단계는, 상기 멀티 비트의 데이터가 상기 메모리 셀로 프로그램될 때까지 복수 회 반복되는 프로그램 방법.
  30. 하나의 메모리 셀에 복수 비트의 데이터가 저장되는 멀티 비트 플래시 메모리 장치에 있어서,
    상태 선택신호에 응답하여 상기 메모리 셀을 타깃 문턱전압으로 프로그램하기 위한 전압들을 생성하여 상기 메모리 셀로 공급하는 전압 발생기와;
    상기 메모리 셀의 비트 라인을 통하여 상기 메모리 셀 데이터로 데이터를 기입 또는 저장된 데이터를 감지하는 읽기/쓰기 회로와;
    프로그램 어드레스에 응답하여 상기 메모리 셀의 프로그램된 데이터를 독출하도록, 상기 독출된 프로그램 데이터와 상기 프로그램 어드레스를 참조하여 타깃 데이터를 도출하고 상기 타깃 데이터에 대응하는 상기 문턱전압으로 상기 메모리 셀을 프로그램하기 위한 상기 상태 선택신호를 생성하는 프로그램 제어부를 포함하되,
    상기 프로그램 어드레스는 상기 복수의 비트 데이터 중 어느 한 비트를 순서의 제한 없이 선택될 수 있는 것을 특징으로 하는 플래시 메모리 장치.
  31. 제 30 항에 있어서,
    상기 복수 비트의 데이터는 '11', '10', '01', '00'의 순으로 문턱전압의 분포들 각각에 대응하는 플래시 메모리 장치.
  32. 제 30 항에 있어서,
    상기 복수 비트의 데이터는 '111', '110', '101', '100', '011', '010', '001','000'의 순으로 문턱전압 분포들 각각에 대응하는 플래시 메모리 장치.
  33. 제 30 항에 있어서,
    상기 복수 비트의 데이터는 '1111', '1110', '1101', '1100', '1011', '1010', '1001','1000', '0111', '0110', '0101', '0100', '0011', '0010', '0001','0000'의 순으로 문턱전압의 분포들 각각에 대응하는 플래시 메모리 장치.
  34. 제 30 항에 있어서,
    상기 메모리 셀을 타깃 문턱전압으로 프로그램하기 위한 전압들은 프로그램 전압과 상기 타깃 문턱전압에 대응하는 검증 전압을 포함하는 플래시 메모리 장치.
  35. 제 34 항에 있어서,
    상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는 것을 특징으로 하는 플래시 메모리 장치.
  36. 제 34 항에 있어서,
    상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압인 것을 특징으로 하는 플래시 메모리 장치.
  37. 제 30 항에 있어서,
    상기 프로그램 제어부는, 상기 메모리 셀이 상기 타깃 데이터로 프로그램이 완료될 때까지 반복되는 프로그램 루프들을 수행하는 플래시 메모리 장치.
  38. 제 30 항에 있어서,
    상기 프로그램 어드레스는 상기 복수 비트의 데이터 각각에 대응하는 페이지 어드레스인 것을 특징으로 하는 플래시 메모리 장치.
  39. 제 30 항에 있어서,
    상기 메모리 셀은 노어(NOR)형 플래시 메모리 셀인 것을 특징으로 하는 플래시 메모리 장치.
  40. 제 30 항에 있어서,
    상기 메모리 셀은 낸드(NAND)형 플래시 메모리 셀인 것을 특징으로 하는 플래시 메모리 장치.
  41. 하나의 메모리 셀에 복수 비트의 데이터가 저장되는 멀티 비트 플래시 메모리 장치의 프로그램 방법에 있어서,
    프로그램되는 비트의 어드레스를 검출하는 단계;
    선택된 메모리 셀의 데이터를 독출하는 단계;
    상기 검출된 어드레스와 상기 선택된 메모리 셀의 데이터를 참조하여 타깃 데이터를 결정하는 단계;
    상기 타깃 데이터에 대응하는 문턱전압을 갖도록 상기 메모리 셀을 프로그램하기 위한 프로그램 전압과 검증 전압을 생성하는 단계; 및
    상기 프로그램 전압과 상기 검증 전압을 상기 선택된 메모리 셀의 워드 라인으로 공급하는 프로그램 단계를 포함하되,
    상기 어드레스는 상기 복수 비트의 데이터 중 어느 한 비트를 프로그램하도록 임의로 선택될 수 있는 것을 특징으로 하는 프로그램 방법.
  42. 제 41 항에 있어서,
    상기 복수 비트의 데이터는 2-비트 크기를 갖는 프로그램 방법.
  43. 제 42 항에 있어서,
    상기 복수 비트의 데이터는 '11', '10', '01', '00'의 순으로 문턱전압의 분포들 각각에 대응하는 것을 특징으로 하는 프로그램 방법.
  44. 제 42 항에 있어서,
    상기 어드레스는 상기 2-비트 각각에 할당되는 것을 특징으로 하는 프로그램 방법.
  45. 제 44 항에 있어서,
    상기 타깃 데이터는 상기 선택된 메모리 셀의 2-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 2-비트 데이터인 것을 특징으로 하는 프로그램 방법.
  46. 제 45 항에 있어서,
    상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는 것을 특징으로 하는 프로그램 방법.
  47. 제 46 항에 있어서,
    상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압인 것을 특징으로 하는 프로그램 방법.
  48. 제 41 항에 있어서,
    상기 복수 비트의 데이터는 3-비트 크기를 갖는 프로그램 방법.
  49. 제 48 항에 있어서,
    상기 복수 비트의 데이터는 '111', '110', '101', '100', '011', '010', '001','000'의 순으로 문턱전압의 분포들에 대응하는 것을 특징으로 하는 프로그램 방법.
  50. 제 49 항에 있어서,
    상기 어드레스는 3-비트들 각각에 할당되는 것을 특징으로 하는 프로그램 방법.
  51. 제 49 항에 있어서,
    상기 타깃 데이터는 상기 선택된 메모리 셀의 3-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 데이터인 것을 특징으로 하는 프로그램 방법.
  52. 제 49 항에 있어서,
    상기 프로그램 전압은 상기 선택된 메모리 셀의 데이터에 대응하는 시작 전압을 갖는 것을 특징으로 하는 프로그램 방법.
  53. 제 52 항에 있어서,
    상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압인 것을 특징 으로 하는 프로그램 방법.
  54. 제 41 항에 있어서,
    상기 복수 비트의 데이터는 4-비트 크기를 갖는 프로그램 방법.
  55. 제 54 항에 있어서,
    상기 복수 비트의 데이터는 '1111', '1110', '1101', '1100', '1011', '1010', '1001','1000', '0111', '0110', '0101', '0100', '0011', '0010', '0001','0000'의 순으로 문턱전압의 분포들에 대응하는 것을 특징으로 하는 프로그램 방법.
  56. 제 54 항에 있어서,
    상기 어드레스는 4-비트 각각에 할당되는 것을 특징으로 하는 프로그램 방법.
  57. 제 54 항에 있어서,
    상기 타깃 데이터는 상기 선택된 메모리 셀의 4-비트 데이터 중 상기 검출된 어드레스에 대응하는 비트를 논리 '0'로 전환한 데이터인 것을 특징으로 하는 프로그램 방법.
  58. 제 54 항에 있어서,
    상기 프로그램 전압은 상기 선택된 메모리 셀의 4-비트 데이터에 대응하는 시작 전압을 갖는 것을 특징으로 하는 프로그램 방법.
  59. 제 58 항에 있어서,
    상기 검증 전압은 상기 타깃 데이터에 대응하는 워드 라인 전압인 것을 특징으로 하는 프로그램 방법.
KR1020070002103A 2006-06-16 2007-01-08 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법 KR100854970B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070002103A KR100854970B1 (ko) 2007-01-08 2007-01-08 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법
US11/946,228 US7643340B2 (en) 2006-06-16 2007-11-28 Method and apparatus for programming multi level cell flash memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070002103A KR100854970B1 (ko) 2007-01-08 2007-01-08 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20080065116A KR20080065116A (ko) 2008-07-11
KR100854970B1 true KR100854970B1 (ko) 2008-08-28

Family

ID=39188393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070002103A KR100854970B1 (ko) 2006-06-16 2007-01-08 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법

Country Status (2)

Country Link
US (1) US7643340B2 (ko)
KR (1) KR100854970B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275745B2 (en) 2013-03-05 2016-03-01 SK Hynix Inc. Semiconductor device and method of operating the same

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168215A1 (en) * 2007-01-05 2008-07-10 Anxiao Jiang Storing Information in a Memory
US7960224B2 (en) * 2007-04-03 2011-06-14 Macronix International Co., Ltd. Operation method for multi-level switching of metal-oxide based RRAM
US7898851B2 (en) * 2007-12-19 2011-03-01 Kabushiki Kaisha Toshiba Semiconductor memory device which includes memory cell having charge accumulation layer and control gate
JP5292052B2 (ja) * 2008-10-21 2013-09-18 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置とその書き込み方法
KR101515098B1 (ko) * 2008-11-20 2015-04-24 삼성전자주식회사 플래시 메모리 장치 및 이의 독출 방법
US8266503B2 (en) * 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US8942035B2 (en) * 2011-03-23 2015-01-27 Seagate Technology Llc Non-sequential encoding scheme for multi-level cell (MLC) memory cells
KR101298191B1 (ko) * 2011-11-04 2013-08-20 에스케이하이닉스 주식회사 반도체 메모리 장치, 이를 위한 연속 프로그램 제어 회로 및 프로그램 방법
US8885410B2 (en) 2012-08-29 2014-11-11 Sandisk Technologies Inc. Direct multi-level cell programming
US9564216B2 (en) * 2015-01-30 2017-02-07 Macronix International Co., Ltd. Stress trim and modified ISPP procedures for PCM
JP6539608B2 (ja) * 2016-03-15 2019-07-03 東芝メモリ株式会社 半導体記憶装置
KR20210083428A (ko) 2019-12-26 2021-07-07 삼성전자주식회사 메모리 장치, 및 이를 포함하는 전자 기기

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000040382A (ja) 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
KR20040072036A (ko) * 2003-02-07 2004-08-16 가부시끼가이샤 르네사스 테크놀로지 메모리시스템
JP2005108303A (ja) 2003-09-29 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5969985A (en) 1996-03-18 1999-10-19 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US5717632A (en) * 1996-11-27 1998-02-10 Advanced Micro Devices, Inc. Apparatus and method for multiple-level storage in non-volatile memories
JP3159105B2 (ja) 1997-02-21 2001-04-23 日本電気株式会社 不揮発性半導体記憶装置及びその書込方法
JPH11185491A (ja) 1997-12-24 1999-07-09 Sony Corp 半導体不揮発性記憶装置
JP2001093288A (ja) 1999-09-20 2001-04-06 Toshiba Corp 不揮発性半導体記憶装置
US7082056B2 (en) 2004-03-12 2006-07-25 Super Talent Electronics, Inc. Flash memory device and architecture with multi level cells
KR100386296B1 (ko) * 2000-12-30 2003-06-02 주식회사 하이닉스반도체 멀티레벨을 가지는 플래쉬 메모리를 프로그램/리드하기위한 회로 및 그 방법
KR100390959B1 (ko) 2001-06-29 2003-07-12 주식회사 하이닉스반도체 센싱회로를 이용한 멀티레벨 플래시 메모리 프로그램/리드방법
US6856534B2 (en) * 2002-09-30 2005-02-15 Texas Instruments Incorporated Ferroelectric memory with wide operating voltage and multi-bit storage per cell
KR100512181B1 (ko) 2003-07-11 2005-09-05 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
KR100630535B1 (ko) 2004-03-23 2006-09-29 에스티마이크로일렉트로닉스 엔.브이. 멀티 레벨 낸드 플래시 메모리 셀의 독출 방법 및 회로
JP4410188B2 (ja) 2004-11-12 2010-02-03 株式会社東芝 半導体記憶装置のデータ書き込み方法
US7251160B2 (en) 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
US7224614B1 (en) 2005-12-29 2007-05-29 Sandisk Corporation Methods for improved program-verify operations in non-volatile memories
US7310255B2 (en) 2005-12-29 2007-12-18 Sandisk Corporation Non-volatile memory with improved program-verify operations
KR100764747B1 (ko) * 2006-09-15 2007-10-08 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000040382A (ja) 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
KR20040072036A (ko) * 2003-02-07 2004-08-16 가부시끼가이샤 르네사스 테크놀로지 메모리시스템
JP2005108303A (ja) 2003-09-29 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275745B2 (en) 2013-03-05 2016-03-01 SK Hynix Inc. Semiconductor device and method of operating the same

Also Published As

Publication number Publication date
US20080068885A1 (en) 2008-03-20
KR20080065116A (ko) 2008-07-11
US7643340B2 (en) 2010-01-05

Similar Documents

Publication Publication Date Title
KR100854970B1 (ko) 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법
KR100669351B1 (ko) 멀티 레벨 셀 플래시 메모리의 프로그램 방법 및 장치
JP4630902B2 (ja) マルチレベルビットフラッシュメモリのための消去アルゴリズム
USRE46665E1 (en) Programming method for non-volatile memory device
US7983079B2 (en) Nonvolatile semiconductor memory device and programming method thereof
US7903467B2 (en) Programming method of multi-bit flash memory device for reducing programming error
KR101676816B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
KR100805840B1 (ko) 캐시를 이용한 플래시 메모리 장치 및 그것의 프로그램방법
US7397704B2 (en) Flash memory device and program method thereof
US6870763B2 (en) Electrically alterable non-volatile memory with n-bits per cell
KR100888695B1 (ko) 과표본화 읽기 동작을 수행하는 플래시 메모리 장치 및그것의 데이터 독출 방법
KR100764747B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
US8054682B2 (en) Non-volatile memory device and page buffer circuit thereof
US7525838B2 (en) Flash memory device and method for programming multi-level cells in the same
TW200305884A (en) Programming non-volatile memory devices
JP2004192789A (ja) 半導体記憶装置
JP2007109364A (ja) フラッシュメモリ素子のプログラム方法
JP2006294217A (ja) ビットスキャン方式を使用するnorフラッシュメモリ装置及びそれのプログラム方法
JP2008181630A (ja) フラッシュメモリ素子のプログラム方法
US8184483B2 (en) Nonvolatile memory device and method of programming the same
JP2009009692A (ja) 不揮発性半導体メモリ装置及びそのプログラム方法
JP4270898B2 (ja) 不揮発性半導体記憶装置
US8000154B2 (en) Non-volatile memory device and method of controlling a bulk voltage thereof
US7894258B2 (en) Flash memory device for determining most significant bit program
US8238160B2 (en) Nonvolatile memory device and memory system having the same

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130731

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140731

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee