KR100764747B1 - 플래시 메모리 장치 및 그것의 프로그램 방법 - Google Patents

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

Info

Publication number
KR100764747B1
KR100764747B1 KR1020060089685A KR20060089685A KR100764747B1 KR 100764747 B1 KR100764747 B1 KR 100764747B1 KR 1020060089685 A KR1020060089685 A KR 1020060089685A KR 20060089685 A KR20060089685 A KR 20060089685A KR 100764747 B1 KR100764747 B1 KR 100764747B1
Authority
KR
South Korea
Prior art keywords
state
program
memory cells
temporary
programming
Prior art date
Application number
KR1020060089685A
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 KR1020060089685A priority Critical patent/KR100764747B1/ko
Priority to US11/651,521 priority patent/US7539063B2/en
Priority to CN2007103051876A priority patent/CN101197189B/zh
Application granted granted Critical
Publication of KR100764747B1 publication Critical patent/KR100764747B1/ko

Links

Images

Classifications

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

Landscapes

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

Abstract

본 발명에 따른 적어도 제 1 내지 제 4 상태들 중 어느 하나를 나타내고, 상위 및 하위 비트를 포함하는 멀티-비트 데이터를 저장하기 위한 복수의 메모리 셀들을 구비한 플래시 메모리 장치의 프로그램 방법은, 상기 하위 비트에 따라 상기 복수의 메모리 셀들을 임시 상태로 프로그램하는 단계; 및 상기 상위 비트에 따라 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계를 포함하되, 상기 제 2 내지 제 4 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계는 상기 복수의 메모리 셀들 중 일부 또는 전부가 1회의 프로그램 동작 구간 동안 적어도 두 개의 상태들로 동시에 프로그램되는 동작이 포함된다.

Description

플래시 메모리 장치 및 그것의 프로그램 방법{FLASH MEMORY DEVICE AND PROGRAM METHOD THEREOF}
도 1은 일반적인 MLC 플래시 메모리 장치의 프로그램 방식을 보여주는 도면;
도 2a는 일반적인 MLC 플래시 메모리 장치의 LSB 프로그램 방식을 간략히 보여주는 도면;
도 2b는 일반적인 MLC 플래시 메모리 장치의 MSB 프로그램 방식을 간략히 보여주는 도면;
도 3은 본 발명의 제 1 옵션에 따른 MSB 프로그램의 순서를 간략히 보여주는 도면;
도 4는 본 발명의 제 2 옵션에 따른 MSB 프로그램 순서를 간략히 보여주는 도면;
도 5는 각 옵션별 프로그램 특성을 보여주는 그래프;
도 6은 본 발명에 따른 옵션별 MLC 프로그램 방식이 선택 가능한 플래시 메모리 장치를 간략히 보여주는 블록도;
도 7은 본 발명에 따른 MLC 프로그램 방법을 간략히 설명하는 흐름도;
도 8a는 본 발명의 플래시 메모리 장치를 채택한 모바일 기기의 일 예를 간략히 보여주는 블록도;
도 8b는 본 발명의 플래시 메모리 장치를 채택한 모바일 기기의 다른 예를 간략히 보여주는 블록도.
* 도면의 주요 부분에 대한 부호 설명 *
10 : 소거 상태 '11' 20 : 임시 상태 '10*'
30 : 상태 '10' 100 : 플래시 메모리 장치
110 : 셀 어레이 120 : X-디코더
130 :페이지 버퍼 140 : Y-패스 게이트
150 : 입출력 버퍼 160 : 옵션 선택수단
170 : 프로그램 제어부 180 : 고전압 발생기
200 : 모바일 기기 210 : CPU
220 : 디스플레이 230 : 입출력 수단
240 : 버스 250 : 하드 디스크
260 : 플래시 메모리 270 : 램
280 : 메모리 제어기
본 발명은 플래시 메모리 장치에 관한 것으로, 좀 더 구체적으로는 멀티 비트 데이터를 저장하는 플래시 메모리 장치 및 그것의 프로그램 방법에 관한 것이 다.
최근 동향에 따르면, 휘발성 메모리들과 불 휘발성 메모리들과 같은 저장 장치들의 응용들이 MP3 플레이어, PMP, 휴대전화, 노트북 컴퓨터, PDA, 등과 같은 모바일 기기들로 급속히 확산되고 있다. 그러한 모바일 기기들은 다양한 기능들(예를 들면, 동영상 재생 기능)을 제공하기 위해서 점차 대용량의 저장 장치들을 필요로 하고 있다. 그러한 요구를 충족하기 위한 다양한 노력들이 행해져 오고 있다. 그러한 노력들 중 하나로서 하나의 메모리 셀에 2비트 데이터 또는 그보다 많은 데이터 비트들을 저장하는 멀티 비트 메모리 장치가 제안되어 오고 있다. 메모리 셀당 다중 비트 데이터가 저장되는 메모리 셀을 이하에서는 "MLC(Multi-Leveled Cell)"라 칭하기로 한다.
하나의 메모리 셀에 1비트 데이터를 저장하는 경우, 메모리 셀은 2개의 문턱전압 분포들 중 어느 하나에 속하는 문턱전압을 갖는다. 즉, 메모리 셀은 데이터 '1'과 데이터 '0'을 각각 나타내는 2개의 상태들 중 하나를 갖는다. 이에 반해서, 하나의 메모리 셀에 2비트 데이터를 저장하는 경우, 메모리 셀은 4개의 문턱전압 분포들 중 어느 하나에 속하는 문턱전압을 갖는다. 즉, 하나의 메모리 셀은 데이터 '11', 데이터 '10', 데이터 '00', 그리고 데이터 01'을 각각 나타내는 4개의 상태들 중 하나를 갖는다. 4개의 상태들에 대응하는 문턱전압 분포들이 각각 정해진 문턱전압 윈도 내에 존재하기 위해서는 문턱전압 분포를 조밀하게 제어하여야 한다. 이를 위해서, ISPP(Incremental Step Pulse Programming) 스킴을 이용한 프로그램 방법이 제안되어 오고 있다. ISPP 스킴에 따르면, 문턱전압이 프로그램 루프들의 반복에 따라 프로그램 전압의 증가분만큼 이동된다. 프로그램 전압의 증가분을 작게 설정함으로써 문턱전압 분포를 더욱 조밀하게 제어하는 것이 가능하다. 이러한 ISPP 스킴에 따라, MLC 셀들은 LSB 페이지 프로그램 단계와 MSB 페이지 프로그램 단계를 통하여 2비트 데이터가 저장된다. 여기서, MSB(Most Significant Bit)는 셀에 저장되는 2비트의 데이터에서 상측 비트(Upper bit)를 의미한다. LSB(Least Significant Bit)는 셀에 저장되는 2비트의 데이터에서 하측 비트(Lower bit)를 가리킨다. 일반적으로, 페이지(Page) 단위로 프로그램되는 NAND형 플래시 메모리 장치는 하나의 페이지를 프로그램하기 위해 대응하는 페이지의 LSB 데이터와 MSB 데이터를 순차적으로 프로그램한다.
도 1은 MLC를 포함하는 플래시 메모리 장치의 프로그램 순서를 간략히 보여주는 도면이다. 도 1을 참조하면, MLC의 프로그램 동작은 먼저 LSB가 프로그램되고 그 이후에 MSB가 프로그램된다. LSB의 프로그램 동작에 의해, 프로그램 대상 메모리 셀은 소거 상태 '11'로부터 상태 '10'으로 천이 되거나, 소거 상태 '11'을 유지하게 된다. 그 이후, MSB를 프로그램하는 단계에서, 프로그램 대상 메모리 셀은 MSB가 '0'로 전환되도록 프로그램된다. 즉, 메모리 셀은 소거 상태 '11'로부터 상태 '01'로 프로그램된다. LSB 프로그램 단계에서 이미 상태 '10'으로 프로그램된 메모리 셀은 상태 '10'을 유지하거나, 또는 상태 '00'으로 천이하도록 프로그램된다. 그러나, LSB 프로그램 동작은 MSB 프로그램 동작에서보다 메모리 셀의 문턱 전압의 상승 폭이 크다. 이것은 ISPP 에 의한 프로그램 루프 횟수가 많다는 것을 의미한다. 프로그램 루프 횟수가 많을수록 인접한 메모리 셀들로 미치는 커플링 효과 의 영향은 커진다.
도 2a는 LSB 프로그램시에 인접한 메모리 셀로의 커플링 영향을 적게 미치는 동시에, 커플링 영향에 따라 증가된 문턱 전압의 효과를 무효화하기 위해 제안되는 LSB 프로그램 방식이다. 도 2a를 참조하면, LSB 프로그램 동작시에, 소거 상태(10)로부터 상태 '10'(30)으로 직접 프로그램하지 않고, 그 이전의 임시 상태 '10*'(20)으로 프로그램한다. 이 경우, 상태 '10'(30)에 대응하는 검증 읽기 전압(Vvfy2)보다 낮은 검증 읽기 전압(Vvfy_low)이 사용된다. 따라서 LSB 프로그램 동작시, 소거 상태 '11'로부터 낮은 검증 읽기 전압(Vvfy2_low)에 대응하는 임시 상태 '10*'(20)으로 문턱 전압의 상태가 변화되기 때문에 인접한 셀들로의 커플링 영향을 줄일 수 있다.
도 2b는 상술한 LSB 프로그램에 뒤따르는 MSB 프로그램을 간략히 보여주는 도면이다. 도 2b를 참조하면, 각 케이스(Case 1, Case 2, Case 3)들은 임시 상태 '10*'(20) 또는 소거 상태 '11'로부터 MSB의 프로그램에 따르는 상태 천이의 양상을 보여준다. 메모리 셀은 소거 상태 '11'(10)로부터 상태 '01'(40)로 천이하도록 MSB가 프로그램될 수 있다. 이미 임시 상태 '10*'(20)으로 프로그램된 메모리 셀은 MSB 프로그램 단계에서, 상태 '10'(30) 또는 상태 '00'(50)으로 프로그램될 수 있다. 이 경우, 임시 상태 '10*'(20)은 이미 인접한 메모리 셀들에 의한 커플링의 영향을 받아 그 산포가 다소 확장되었더라도, MSB 프로그램을 통하여 조밀한 상태('10' 및 '00')로 문턱전압의 형성이 가능하다.
그러나 상술한 멀티-비트 데이터의 프로그램 방식에 따르면 각각의 케이스(Case)에 따라서 MSB의 프로그램에 소요되는 시간에 편차가 발생한다. 하나의 MSB 페이지를 프로그램하기 위해서는 각각의 케이스를 순차적으로 수행하게 되는데, 이는 많은 프로그램 루프 수를 필요로 한다. 따라서, 셀 특성 및 루프 수를 고려하여 플래시 메모리 장치의 프로그램 시간을 단축할 수 있는 스킴이 요구되고 있다.
본 발명의 목적은 멀티 레벨 셀에 있어서 MSB 프로그램 시간을 최적화할 수 있는 MSB 프로그램 방법 및 그 방법을 구현할 수 있는 플래시 메모리 장치를 제공하는 데 있다.
상술한 제반 목적들을 달성하기 위한 본 발명의 일 특징에 따르면, 적어도 제 1 내지 제 4 상태들 중 어느 하나를 나타내고, 상위 및 하위 비트를 포함하는 멀티-비트 데이터를 저장하기 위한 복수의 메모리 셀들을 구비한 플래시 메모리 장치의 프로그램 방법은, 상기 하위 비트에 따라 상기 복수의 메모리 셀들을 임시 상태로 프로그램하는 단계; 및 상기 상위 비트에 따라 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계를 포함하되, 상기 제 2 내지 제 4 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계는 상기 복수의 메모리 셀들 중 일부 또는 전부가 1회의 프로그램 동 작 구간 동안 적어도 두 개의 상태들로 동시에 프로그램되는 동작이 포함된다.
상술한 목적을 달성하기 위한 본 발명의 다른 특징에 따르면, 적어도 제 1 내지 제 4 상태들 중 어느 하나를 나타내고, 상위 및 하위 비트를 포함하는 멀티-비트 데이터를 저장하기 위한 복수의 메모리 셀들을 구비한 플래시 메모리 장치의 프로그램 방법은, 상기 하위 비트에 따라 임시 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계; 그리고 상기 상위 비트를 프로그램하는 방법을 선택하기 위한 옵션 정보에 응답하여 상이한 프로그램 방법들 중 어느 하나에 따라 상기 복수의 메모리 셀들을 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태들 중 어느 한 상태로 프로그램하는 단계를 포함한다.
상술한 목적을 달성하기 위한 본 발명의 플래시 메모리 장치는, 적어도 제 1 내지 제 4 상태들 중 어느 하나를 나타내고, 상위 및 하위 비트를 포함하는 멀티-비트 데이터를 저장하기 위한 복수의 메모리 셀들을 포함하는 셀 어레이; 상기 복수의 메모리 셀들 중 선택된 메모리 셀들의 워드 라인으로 프로그램 전압과 복수 레벨의 검증 읽기 전압을 제공하는 전압 발생기; 상기 복수의 메모리 셀들 각각의 비트 라인들에 연결되며, 상기 멀티-비트 데이터를 상기 선택된 메모리 셀들로 기입하고 검증 읽기 동작 및 독출 동작을 수행하는 페이지 버퍼; 옵션 정보에 응답하여 상기 복수의 메모리 셀들의 상위 비트를 프로그램하도록 상기 페이지 버퍼 및 상기 전압 발생기를 제어하는 프로그램 제어부; 및 상기 상위 비트의 프로그램 방식으로 제 1 옵션 또는 제 2 옵션 중 어느 하나를 선택하도록 설정되며 상기 옵션 정보를 생성하는 옵션 선택 수단을 포함한다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 낸드 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
또한, 프로그램 동작의 단위에 있어서, "프로그램 루프(Loop)"는 하나의 펄스로 제공되는 프로그램 전압(Vpgm)과 그에 대응되는 검증 읽기 동작(Verify read)을 위한 검증 읽기 전압(Vvfy)이 워드 라인으로 인가되는 구간을 의미한다. "프로그램 사이클(Cycle)"은 프로그램되는 메모리 셀들이 ISPP 스킴에 따르는 복수의 "프로그램 루프"에 의해서 검증 읽기 전압 이상으로 프로그램 완료되는 구간을 의미한다. 따라서, "프로그램 사이클"은 프로그램 전압(Vpgm)의 레벨이 증가하는 복수의 "프로그램 루프"를 포함한다.
도 3은 본 발명의 제 1 옵션(Option 1)에 따른 MSB 프로그램 방법을 개략적으로 보여주는 표이다. 도 3을 참조하면, 본 발명에 따른 MSB의 프로그램 방법은 임시 상태 '10'(20)으로부터 최상위 상태 '00'으로 프로그램되는 제 1 프로그램 단계를 포함한다. 또한, 본 발명의 MSB 프로그램 방법은 동일 프로그램 사이클 구간 동안 상태 '11'로부터 상태 '01' 및 임시 상태 '10'으로부터 상태 '10'으로 프로그램되는 제 2 프로그램 단계를 포함한다. 제 1 옵션에 포함되는 제 1 내지 제 2 프로그램 단계에 포함되는 케이스들은 임의로 구성될 수 있다. 여기서, 제 1 프로그램 동작시에는 제 3 케이스(Case 3)에 따른 MSB의 프로그램을 수행하고, 제 2 프로그램 동작시에 제 1 케이스 및 제 2 케이스(Case 1 + Case 2)를 동시에 진행하는 MSB 프로그램의 실시예에 대해서 설명하기로 한다. 이하에서는 상술한 제 1 옵션에 따른 MSB 프로그램 단계들이 도 2a 및 도 2b를 참조하여 상세히 설명될 것이다.
LSB 페이지의 프로그램이 완료되면, 플래시 메모리 장치는 각 셀들의 현재 상태가 소거 상태 '11'(10)인지 또는 임시 상태 '10'(20)인지를 검출하기 위한 독출 동작(Read operation)을 실시한다. 검출된 결과는 페이지 버퍼(미도시됨)에 구비되는 제 1 래치에 저장된다. 그리고 MSB 페이지의 데이터가 상술한 검출 결과와 병행하여 페이지 버퍼의 제 2 래치에 로드될 것이다. 이런 동작을 위해서 하나의 메모리 셀에 대응하는 페이지 버퍼 유닛은 2비트의 데이터를 저장할 수 있어야 할 것이다. 예를 들면, 상술한 독출 결과가 소거 상태 '11'을 나타내는 경우 '1', 임시 상태 '10'(20)을 나타내는 경우 '0'의 데이터가 각 페이지 버퍼의 제 1 래치에 저장된다고 가정하기로 한다. 또한, 각 페이지 버퍼 유닛들의 제 2 래치 들에는 프 로그램될 MSB 페이지 데이터들이 로드될 것이다. 만일, 하나의 메모리 셀에 대응하는 제 1 래치의 데이터를 'A', 제 2 래치의 데이터를 'B'라 가정하는 경우, 이러한 페이지 버퍼의 래치 상태를 [AB]라 표현하기로 한다. 따라서, 제 1 프로그램 동작시에는 제 3 케이스(Case 3)의 실시를 위한 페이지 버퍼 유닛의 래치 상태가 [00]인 셀들이 선택될 것이다. 제 1 프로그램이 종료되면, 제 2 프로그램을 위해 소거 상태 '11'로부터 상태 '01'로 프로그램되는 셀과 임시 상태 '10'(20)로부터 상태 '10'으로 프로그램되어야 하는 셀들이 선택된다. 따라서, 각 페이지 버퍼 유닛의 래치 상태가 [10] 및 [01]인 셀들이 선택되며, 선택된 셀들에 대해 제 2 프로그램 동작이 진행된다. 제 2 프로그램 동작은 하나의 프로그램 사이클 구간(Program cycle duration) 동안 서로 다른 두 상태로의 프로그램(즉, '11'→'01' 및 '10*'→'10')이 진행된다. 따라서, 하나의 루프 동안, 두 번의 검증 읽기(Verify read) 동작이 필요하다. 즉, 워드 라인으로의 프로그램 전압(Vpgm) 인가 이후에 검증 읽기 전압(Vvfy1) 및 검증 읽기 전압(Vvfy2)에 의한 검증 읽기 동작이 각각 진행된다. 결국, 제 2 프로그램의 프로그램 루프(Loop) 구간은 두 번의 검증 읽기 동작을 포함한다. 따라서, 제 2 프로그램에서의 프로그램 루프(Loop) 구간은 제 1 프로그램의 프로그램 루프(Loop) 구간보다 길다. 그러나 제 2 프로그램의 사이클은 두 케이스를 동시에 진행하기 때문에 각각의 케이스를 별도로 진행하는 경우보다 소요되는 프로그램 루프 수는 감소하게 된다.
여기서, 케이스의 조합 예를 제 1 프로그램 시에는 제 3 케이스를, 제 2 프 로그램 동작시에는 제 1 및 제 2 케이스(Case 1 + Case 2)를 동시에 수행하는 방식으로 제 1 옵션의 실시예를 설명하였으나 본 발명은 이에 국한되지 않는다. 즉, 도 3에 도시된 바와 같이, 제 1 프로그램 동작시에는 제 2 케이스를, 제 2 프로그램 동작시에는 제 1 및 제 3 케이스를 동시에 수행하는 방식으로 MSB를 프로그램할 수 있다.
도 4는 본 발명에 따른 MSB 프로그램 방식의 제 2 옵션을 개략적으로 보여주는 표이다. 도 4를 참조하면, 본 발명에 따른 플래시 메모리 장치의 MSB 프로그램 단계는 각각의 케이스별로 프로그램되는 제 1 내지 제 3 프로그램 단계를 포함한다. 제 1 프로그램 단계에서는, 임시 상태 '10'(20)으로부터 최상위 상태 '00'로 프로그램되는 제 3 케이스(Case 3)가 적용된다. 제 2 프로그램 단계에서는 임시 상태 '10'(20)으로부터 상태 '10'으로 프로그램되는 제 2 케이스(Case 2)가 적용된다. 제 3 프로그램 단계에서는 소거 상태 '11'로부터 상태 '01'로 프로그램되는 제 3 케이스(Case 3)가 적용된다. 본 발명의 제 2 옵션(Option 2)에서는, 상술한 각각 하나의 케이스를 포함하는 프로그램 단계들이 순차적으로 진행된다. 따라서, 하나의 MSB 페이지가 프로그램되기 위해서는 적어도 3번의 프로그램 사이클이 필요하다. 각 프로그램 사이클에서 사용되는 프로그램 루프는 한 번의 프로그램 전압 인가와 한 번의 검증 읽기 동작을 포함할 것이다. 이러한 프로그램 단계별로 적용되는 케이스의 조합은 상술한 설명에 따른 조합뿐 아니라 다양하게 변형될 수 있음은 이 분야에서 통상의 지식을 습득한 자들에게는 자명하다.
도 5는 MSB 프로그램에 소요되는 각 옵션별 소요 시간을 루프 수의 변화에 따라 도시한 그래프이다. 도 5를 참조하면, 일반적으로 루프 수에 따라서 각각의 옵션에 대응하는 MSB의 프로그램 시간은 달라진다. 이러한 MSB 프로그램 시간(tPGM_MSB)의 옵션별 차이는 제 1 옵션의 특징에 기인한다. 제 1 옵션의 제 2 프로그램 동작의 경우, 하나의 프로그램 루프는 두 번의 검증 읽기 동작(Verify read operation)을 포함한다. 그러나 제 1 옵션의 제 2 프로그램 동작은 두 케이스가 동시에 진행되기 때문에 하나의 MSB 페이지를 기입하기 위한 프로그램 사이클(Program Cycle)의 수는 2회가 되며, 제 2 옵션의 3회보다 적다. 결국, 제 1 옵션은 전체 프로그램에 소요되는 루프 수는 상대적으로 적은 반면, 프로그램 루프의 평균 구간이 제 2 옵션에 비하여 길다. 제 2 옵션은 전체 프로그램에 소요되는 루프 수는 많지만, 각각의 루프 구간은 제 1 옵션에 비하여 상대적으로 짧다. 이러한 MSB 프로그램 시간의 옵션별 특징은, 메모리 셀의 고유 특성에 따라 옵션을 선택할 수 있는 여지를 제공한다. 즉, 메모리 셀의 특성을 검출하여 최적화된 MSB 프로그램 시간을 갖도록 상술한 두 옵션들 중 어느 하나를 선택할 수 있다.
다시 도 5를 참조하면, MSB 프로그램 방식으로 제 1 옵션을 채택하는 경우, 프로그램 루프 수가 많이 소요되는 셀들일수록 MSB의 프로그램에 소요되는 시간은 제 2 옵션에 비하여 상대적으로 증가한다. 제 1 옵션의 제 2 프로그램 동작시, 하나의 루프는 2회의 검증 읽기 동작이 포함되어 일반적인 루프 구간(예를 들면, 50㎲)보다 긴 루프 구간(예를 들면, 70㎲)을 갖는다. 따라서, 제 1 옵션은 프로그램에 소요되는 루프 수가 많은 특성의 메모리 셀들에 적용하는 경우, 상대적으로 불 리하다. 그러나 프로그램에 소요되는 루프 수가 적게 소요(n회 이하)되는 경우, 제 1 옵션은 상대적으로 제 2 옵션에 비하여 속도 측면에서 유리하다.
반면에, 제 2 옵션은 프로그램 동작시 소요되는 루프 수가 적은 메모리 셀들에 있어서 상대적으로 더 많은 프로그램 시간이 소요된다. 제 2 옵션은 3회의 프로그램 사이클을 가지나, 각 루프는 단지 1회의 검증 읽기 동작만을 포함한다.
이러한 특성을 간략히 표현하면, 하나의 프로그램 사이클에 하나의 케이스만 포함되는 경우 하나의 루프에 소요되는 시간을 tMSB1, 하나의 프로그램 사이클에 두 케이스를 포함하는 경우 하나의 루프에 소요되는 시간을 tMSB2라 칭하기로 한다. 이 경우 하나의 루프에 두 번의 검증 읽기 동작이 포함되는 tMSB2가 더 길 수밖에 없다. 또한, 셀 특성이 프로그램을 위해 소요되는 루프 수에 있어서도 각 옵션에 따라 달라진다. 즉, 모든 MSB 페이지를 프로그램하기 위해 소요되는 루프 수에 있어서 하나의 사이클에 두 케이스가 포함되는 제 1 옵션의 경우와 하나의 사이클에 하나의 케이스만을 포함하는 제 2 옵션은 차이가 존재한다. 하나의 프로그램 단계에 하나의 케이스만을 갖는 경우 소요되는 루프 수를 'Loop1MSB', 하나의 프로그램 단계에 두 케이스를 포함하는 경우 패스 되기까지 소요되는 루프 수를 'Loop2MSB'라 칭하기로 한다. 이때, 하나의 루프에서 두 가지 케이스가 동시에 진행되는 'Loop2MSB'가 상대적으로 더 적을 수밖에 없다.
이상을 정리하면, 아래 수학식 1로 표현될 수 있다.
Figure 112006066840576-pat00002
상술한 수학식 1에 따른 셀의 프로그램 특성을 고려하여 메모리 장치의 최적의 프로그램 속도를 도출할 수 있는 옵션을 선택할 수 있다.
결국, 프로그램에 소요되는 루프 수가 상대적으로 많은 메모리 셀(즉, Loop 수가 n회 보다 큰 경우)들은 제 2 옵션을 적용하는 것이 바람직하다. 반면에, 루프 수가 적게 소요되는 메모리 셀들(즉, Loop 수가 n회 보다 적게 소요되는 셀 특성의 경우)은 제 1 옵션을 적용하여 MSB를 프로그램하는 것이 프로그램 속도면에서 바람직하다.
도 6은 본 발명에 따른 MSB 프로그램의 옵션을 선택할 수 있는 플래시 메모리 장치를 간략히 보여주는 블록도이다. 도 6을 참조하면, 본 발명에 따른 플래시 메모리 장치(100)는 멀티-비트 데이터를 저장하기 위한 셀 어레이(110)를 포함하며, 페이지 버퍼(130) 및 프로그램 제어부(170)를 포함한다. 특히, 본 발명의 플래시 메모리 장치(100)는 MSB 프로그램 방식을 선택할 수 있는 옵션 선택 수단(160)을 포함한다. 프로그램 제어부(170)는 옵션 선택 수단(160)으로부터 전달되는 옵션 선택 신호(Option1, Option2)에 응답하여 MSB 프로그램 시에 제 1 옵션 또는 제 2 옵션에 따른 프로그램 동작을 수행한다.
셀 어레이(110)는 복수의 메모리 셀들을 포함하며, 워드 라인 및 비트 라인의 교차 영역에 메모리 셀들이 형성된다. 셀 어레이(110)는 소거 동작의 단위가 되 는 메모리 블록을 포함한다. 메모리 블록은 다시, 프로그램의 단위가 되며 워드 라인을 공유하는 셀들의 단위인 페이지로 구분된다. 프로그램 동작시에 페이지 버퍼(130)에 로드된 프로그램 데이터가 상술한 페이지 단위로 셀들에 기입된다. 일반적으로 멀티 레벨 셀(Multi-level Cell)로 구성되는 셀 어레이(110)의 프로그램에서는 커플링 효과를 줄이고, 부스팅 효율을 위해서 2개의 페이지 단위로 순차적으로 프로그램된다.
X-디코더(120)는 행 어드레스(미도시됨)에 응답하여 고전압 발생기(180)로부터 제공되는 워드 라인 전압을 선택적으로 셀 어레이의 워드 라인으로 전달한다. 일반적으로 X-디코더(120)는 블록 어드레스에 응답하여 블록 단위를 선택하고, 페이지를 선택한다. 프로그램 동작시, X-디코더(120)는 선택된 페이지의 워드 라인으로는 고전압 발생기(180)로부터 제공되는 프로그램 전압(Vpgm) 및 검증 읽기 전압(Vvfy)을 전달한다.
페이지 버퍼(130)는 프로그램 제어부(170)에 의해 제어되며, 셀 어레이(110)의 각 비트 라인에 대응되는 페이지 버퍼 유닛들을 갖는다. 페이지 버퍼(130)는 동작 모드에 따라 감지 증폭기(Sense Amplifier)로서 또는 기입 드라이버(Write Driver)로서 동작한다. 각 페이지 버퍼 유닛은 하나의 비트 라인 또는 한 쌍의 비트 라인들 중 어느 하나에 전기적으로 연결되며, 비트 라인을 통해 셀(110)로부터 데이터를 읽거나 비트 라인을 통해 셀 어레이(110)에 데이터를 저장한다. 본 발명의 페이지 버퍼(130)에 포함되는 각 페이지 버퍼 유닛들은 MSB 프로그램을 위해서 로드되는 MSB 데이터 비트를 저장하는 제 1 래치를 포함한다. 또한, 페이지 버퍼 유닛들은 각각 셀에 대한 LSB 프로그램의 결과를 독출한다. 페이지 버퍼 유닛들은 독출 결과가 '11' 상태인지 '10*'상태인지의 여부를 나타내는 비트 데이터를 저장하는 제 2 래치를 포함한다. 따라서, 페이지 버퍼 유닛들은 각각 적어도 2비트의 데이터를 저장할 수 있는 래치를 구비하여 MSB 프로그램 동작시에 기입 드라이버로써 동작한다.
Y-패스 게이트(140)는 프로그램 제어부(170)에 의해 제어되며, 열 어드레스에 대응하는 페이지 버퍼(130)의 데이터를 입출력 버퍼(150)로 전달한다. 프로그램 동작을 위해서, Y-패스 게이트(140)는 입출력 버퍼(160)로부터 입력되는 프로그램 데이터를 페이지 버퍼(130)에 전달한다. 입출력 버퍼(150)는 프로그램 동작시에는 외부로부터 입력되는 프로그램 데이터를 일시 저장하고, 메모리 장치 내부로 전달한다. 독출 동작시, 입출력 버퍼(150)는 독출된 데이터를 외부로 전달한다.
옵션 선택 수단(160)으로는 제 1 옵션(Option 1) 또는 2 옵션(Option 2)의 MSB 프로그램 방식에 대한 옵션 선택 정보가 저장된다. 옵션 선택 수단(160)에 옵션의 선택 정보가 저장되기 이전에, 어느 옵션이 바람직한 속도 특성을 갖는지 검출하는 테스트 공정이 진행될 것이다. 테스트 공정에서 검출된 셀 특성에 따라, 바람직한 옵션이 선택되고, 옵션 선택 수단(160)에 그 정보가 저장된다. 옵션 선택 수단(160)은 퓨즈 옵션 회로로 구성될 수 있다. 이 경우, 옵션의 선택 정보는 테스트 공정에서 퓨즈를 절단하는 퓨즈 프로그램을 통해서 저장될 수 있다.
다시 도면을 참조하면, 옵션 선택 수단(160)은 패드(Pad)를 구비하고 그 본 딩(Bonding)의 여부에 따라서 제 1 옵션 또는 제 2 옵션이 선택될 수 있다. 또는, 옵션 선택 수단(160)은 외부로부터 전달되는 옵션 선택 명령어에 응답하여 제 1 옵션 또는 제 2 옵션의 여부를 결정하는 명령어 디코더 또는 명령어 레지스터 등으로 구성될 수 있다. 이 경우, 명령어에 따라서 옵션이 선택될 수 있어, 일회성 퓨즈 프로그램이나 본딩에 의한 경우보다 자유로운 측면이 있다. 따라서, 명령어에 의한 옵션의 선택하는 방식은 테스트 공정에서 셀의 특성을 측정하는 경우에 바람직한 방법이 될 것이다.
프로그램 제어부(170)는 상술한 옵션 정보에 응답하여 대응하는 옵션에 따라 MSB 프로그램을 수행한다. 제 1 옵션의 선택시에는 하나의 프로그램 사이클 구간 동안 2가지 케이스에 해당하는 프로그램 동작을 수행한다. 특히 제 1 옵션에서 2가지 케이스가 동시에 실시되는 제 2 프로그램 단계에서는 하나의 루프는 2번의 검증 읽기 동작을 포함하게 될 것이다. 프로그램 제어부(170)는 고전압 발생기(180) 및 페이지 버퍼(130)를 제어하여 상술한 제 2 프로그램 단계를 수행하게 될 것이다.
고전압 발생기(180)는 프로그램 제어부(170)의 제어 동작에 응답하여 셀 어레이(110)의 워드 라인으로 제공되는 전압을 생성한다. 고전압 발생기(180)는 LSB프로그램 동작시 통상의 검증 읽기 전압(Vvfy2)보다 낮은 검증 전압(Vvfy2_low)을 선택 워드 라인으로 제공한다. MSB 프로그램 시에는 각 상태에 대응하는 검증 읽기 전압을 대응하는 워드 라인들로 제공한다. 본 발명의 제 1 옵션에 포함되는 제 2 프로그램 동작시, 고전압 발생기(180)는 하나의 프로그램 루프 구간 동안 프로그램 전압(Vpgm)과 2 개의 검증 읽기 전압(Vvfy1, Vvfy2)을 제공하게 될 것이다.
이상에서 설명한 본 발명에 따른 플래시 메모리 장치는 테스트 공정에서 검출된 셀의 특성에 최적화되는 MSB 프로그램 방식을 선택할 수 있다. 특히, 루프 횟수가 많은 메모리 셀이 경우 제 2 옵션에 따라 MSB 프로그램 동작이 진행되도록 옵션 선택 수단을 설정할 수 있다. 프로그램 동작시에 상대적으로 루프 횟수가 적게 소요되는 경우, 제 1 옵션을 선택하도록 옵션 선택 수단(160)을 설정할 수 있다.
도 7은 상술한 도 6의 프로그램 제어부(170)가 MSB 프로그램 옵션에 응답하여 수행하는 MSB 페이지의 프로그램 방법을 간략히 설명하는 흐름도이다. 도 6을 참조하면, 본 발명에 따른 프로그램 제어부(170)는 옵션 정보(Option 1, Option 2)에 응답하여 제 1 옵션 또는 제 2 옵션에 따라 MSB 페이지를 프로그램할 수 있다. 이하 각 옵션에 따라 진행되는 프로그램 단계들이 상술한 도면들에 의거하여 상세히 설명될 것이다.
LSB 페이지의 프로그램이 완료되면, MSB 페이지를 메모리 셀로 프로그램하는 MSB 프로그램 동작이 시작된다. MSB 프로그램을 위해서 프로그램 제어부(170)는 옵션 선택 수단(160)으로부터 MSB 프로그램을 위해 이미 정의된 옵션 정보를 전달받는다(S10). 프로그램 제어부(170)는 전달받은 옵션 정보가 제 1 옵션(Option 1) 또는 제 2 옵션(Option 2)인지를 판단한다(S20).
만일 제 1 옵션(Option 1)으로 MSB를 프로그램하도록 선택된 경우, 2회의 프로그램 사이클이 사용되는 제 1 옵션에 따라 프로그램 동작을 진행한다. 제 1 옵션에 따른 프로그램 동작은 우선 LSB의 프로그램이 완료된 페이지 단위의 메모리 셀들을 독출하는 것으로 시작한다(S30). LSB 프로그램의 결과를 독출하여, 프로그램 제어부(170)는 각 메모리 셀들의 문턱 전압 상태를 소거 상태 '11' 혹은 임시 상태 '10'에 있는지 판단한다. 만일 소거 상태 '11'에 있는 경우 해당하는 페이지 버퍼의 제 1 래치에는 '1'로 기입될 것이다. 그러나, 임시 상태 '10'으로 LSB 프로그램된 셀이라면 페이지 버퍼(130)에 구비된 제 1 래치에는 '0'으로 기입될 것이다. 그리고 상술한 페이지 버퍼(130)의 제 2 래치들로는 프로그램될 MSB 페이지 데이터들이 로드된다. 프로그램 제어부(170)는 상술한 페이지 버퍼(130)의 래치 데이터를 가지고 3가지 케이스(Case) 중 어느 하나를 적용하는 제 1 프로그램 동작을 수행한다. 본 발명의 실시예에서 설명한 바와 같이, 프로그램 제어부(170)는 임시 상태 '10'로부터 최상위 상태 '00'으로 프로그램하는 제 3 케이스(Case 3)를 제 1 프로그램 동작에 적용할 수 있다(S40). 1회의 프로그램에서 하나의 상태 천이가 이루어지는 제 1 프로그램 동작이 종료되면, 프로그램 제어부(170)는 한 번의 프로그램 동작시에 2개의 상태 천이가 발생하는 제 2 프로그램 동작을 수행한다. 앞서 제 3 케이스(Case 3)를 제 1 프로그램에 적용하는 경우, 제 2 프로그램 동작에서는 제 1 케이스와 제 2 케이스가 동시에 수행된다. 따라서, 앞서 설명된 바와 같이, 하나의 프로그램 루프(Loop)는 2개의 상태 천이에 대한 패스(Pass) 여부를 감지하기 위해 2회의 검증 읽기 동작을 포함하게 된다. 특히, 제 1 케이스 및 제 2 케이스가 제 2 프로그램 동작시 동시 적용되는 경우 하나의 루프에는 2회의 검증 읽기 동작이 포함된다. 즉, 하나의 루프는 상태 '01'과 상태 '10'으로의 프로그램 여부를 감지하는 검증 읽기 전압(Vvfy1) 및 검증 읽기 전압(Vvfy2)에 의한 각각의 검증 읽기 동 작들을 포함한다. 두 가지의 상태 천이가 모두 완료되면, 제 1 옵션에 의한 MSB 페이지의 프로그램 동작은 종료된다(S50).
반면에, 제 2 옵션(Option 2)에 따라 MSB가 프로그램되도록 설정된 경우, 프로그램 제어부(170)는 하나의 프로그램 단계(Program Cycle)에서 하나의 상태 천이가 발생하는 제 2 옵션에 따르는 프로그램 동작을 수행한다. 우선, 프로그램 제어부(170)는 LSB의 프로그램 결과를 독출한다(S60). LSB의 프로그램 결과를 독출하여, 프로그램 제어부(170)는 메모리 셀들의 문턱 전압 상태를 소거 상태 '11' 혹은 임시 상태 '10'에 있는지 판단한다. 소거 상태 '11'에 분포하는 메모리 셀들에 대응하는 페이지 버퍼 유닛의 제 1 래치에는 '1'이 기입될 것이다. 그러나, 임시 상태 '10'으로 LSB가 프로그램된 셀이라면 페이지 버퍼 유닛의 제 1 래치에는 '0'이 기입될 것이다. 그리고 상술한 페이지 버퍼(130)에 포함되는 각 페이지 버퍼 유닛들의 제 2 래치들로는 프로그램될 MSB 페이지 데이터들이 로드된다. 프로그램 제어부(170)는 페이지 버퍼(130)에 로드된 데이터를 참조하여 제 1 프로그램 동작을 수행한다. 다양한 실시예들이 가능하나, 제 1 프로그램 동작에서 상태천이('10'→'00')를 가능하게 하는 제 3 케이스(Case 3)를 수행할 수 있다(S70). 제 2 프로그램 동작시에는 상태 천이 ('10'→'10')를 위한 제 2 케이스(Case 2)를 수행할 수 있다. 여기서 제 2 케이스(Case 2)는 상태 '10'을 갖는 모든 셀들에 대해서 적용된다(S80). 제 3 프로그램 동작시에는 상태 천이 ('11'→'01')를 위한 제 1 케이 스(Case 1)에 따라 MSB 프로그램을 수행할 수 있다(S90). 여기서, 각각 프로그램 단계(S70, S80, S90)에 대응하는 케이스를 제 3 케이스, 제 2 케이스, 제 1 케이스로 배열하였으나 이는 예시적인 것일 뿐, 본 발명은 이에 국한되지 않음은 이 분야에서 통상의 지식을 습득한 자들에게는 자명하다.
도 8a는 본 발명에 따른 플래시 메모리 장치를 적용하는 모바일 기기(200)의 구성예를 간략히 보여주는 블록도이다. 본 발명의 프로그램 방식으로 프로그램되는 멀티 레벨 셀을 포함하는 플래시 메모리 장치는 대용량 저장 장치로서 사용될 수 있다. 도 8a를 참조하면, 본 발명의 플래시 메모리(260)는 모바일 기기(200)의 하드 디스크(250)에 적용될 수 있다. 여기서, 본 발명의 플래시 메모리 장치(260)는 하드 디스크(250)의 대용량 저장 매체로서 사용될 수 있다. 즉, 본 발명의 플래시 메모리 장치는 반도체 디스크(Solid State Disk)로 제공될 수 있다. 또는, 본 발명의 플래시 메모리 장치는 하이브리드 하드 디스크(Hybrid hare disk)에서 사용되는 플래시 메모리 소자로 사용될 수 있다. 일반적인 모바일 기기(200)는 하드 디스크(250)로부터 전달되는 데이터가 버스(240)를 통해서 램(270)이나 중앙처리장치(210) 등으로 전달된다. 또는, 램(270)에 저장되고, 입출력 장치(230)에 응답하여 중앙처리장치(210)에 의해서 내부에서 생산된 데이터가 버스(240)를 경유하여 다시 하드 디스크(250)에 저장될 수 있다. 하드 디스크(250)에 데이터가 저장되는 과정에서 상술한 2가지 옵션 중 선택된 한 가지 방식으로 MSB 페이지가 프로그램될 것이다.
도 8b는 본 발명에 따른 플래시 메모리 장치를 대용량 저장 장치로 사용하는 모바일 기기(300)의 또 다른 예를 간략히 보여주는 블록도이다. 도 8b를 참조하면, 본 발명의 플래시 메모리(260)는 모바일 기기(300)에 사용되는 불휘발성 메모리 소자로 사용될 수 있다. 이 경우에는 데이터 교환을 위한 인터페이싱 동작을 수행하는 메모리 제어기(280)가 포함된다. 메모리 제어기(280)에 의해서 모바일 기기(300)의 버스(240)로의 데이터 입출력이 이루어진다.
상술한 본 발명의 실시예에 따르면, 본 발명의 플래시 메모리 장치는 프로그램 루프 수 등의 측정된 데이터를 기초로 옵션을 선택하는 것으로 프로그램 속도를 향상시킬 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등 물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
상술한 바와 같이, 본 발명에 따른 플래시 메모리 장치 및 프로그램 방법에 따르면 옵션의 선택에 따라 MSB 페이지의 프로그램 속도를 향상시킬 수 있다.

Claims (31)

  1. 적어도 제 1 내지 제 4 상태들 중 어느 하나를 나타내고, 상위 및 하위 비트를 포함하는 멀티-비트 데이터를 저장하기 위한 복수의 메모리 셀들을 구비한 플래시 메모리 장치의 프로그램 방법에 있어서:
    상기 하위 비트에 따라 상기 복수의 메모리 셀들을 임시 상태로 프로그램하는 단계; 및
    상기 상위 비트에 따라 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계를 포함하되,
    상기 제 2 내지 제 4 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계는 상기 복수의 메모리 셀들 중 일부 또는 전부가 1회의 프로그램 동작 구간 동안 적어도 두 개의 상태들로 동시에 프로그램되는 동작이 포함되는 것을 특징으로 하는 프로그램 방법.
  2. 제 1 항에 있어서,
    상기 임시 상태로의 프로그램을 위한 검증 읽기 전압은, 상기 제 2 상태에 대응하는 검증 읽기 전압보다 높고 상기 제 3 상태에 대응하는 검증 읽기 전압보다 낮은 것을 특징으로 하는 프로그램 방법.
  3. 제 2 항에 있어서,
    상기 제 2 내지 제 4 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계는,
    상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태들 중 어느 하나의 상태로 프로그램하는 제 1 프로그램 단계; 및
    프로그램 동작 구간 동안, 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 1 프로그램 단계에서 제외된 나머지 두 개의 상태로 메모리 셀들을 동시에 프로그램하는 제 2 프로그램 단계를 포함하는 것을 특징으로 하는 프로그램 방법.
  4. 제 3 항에 있어서,
    상기 제 1 프로그램 단계는, 상기 상위 비트에 따라 상기 임시 상태로 프로그램된 셀들을 상기 제 4 상태로 프로그램하는 단계인 것을 특징으로 하는 프로그램 방법.
  5. 제 4 항에 있어서,
    상기 제 2 프로그램 단계 동안, 상기 복수의 메모리 셀들 중 상기 제 1 프로그램 단계에서 제외된 메모리 셀들은 상기 상위 비트에 따라 상기 제 1 상태로부터 상기 제 2 상태로, 그리고 상기 임시 상태로부터 상기 제 3 상태로 동시에 프로그램되는 것을 특징으로 하는 프로그램 방법.
  6. 제 5 항에 있어서,
    상기 제 1 상태는 '11', 상기 제 2 상태는 '01', 상기 제 3 상태는 '10', 상기 제 4 상태는 '00'에 각각 대응되며, 상기 임시 상태는 상기 제 2 상태보다는 높고 제 3 상태보다 낮은 임시 '10' 상태인 것을 특징으로 하는 프로그램 방법.
  7. 제 6 항에 있어서,
    상기 제 2 프로그램 단계는, 상기 제 2 상태 및 상기 제 3 상태로의 프로그램 여부를 검증하는 2회의 검증 읽기 동작이 수행되는 프로그램 루프를 포함하는 프로그램 방법.
  8. 제 1 항에 있어서,
    상기 1회의 프로그램 동작 구간은 증가형 스텝 펄스 프로그램(ISPP)에 있어서 1비트 데이터 기입이 이루어지는 프로그램 사이클인 것을 특징으로 하는 프로그램 방법.
  9. 적어도 제 1 내지 제 4 상태들 중 어느 하나를 나타내고, 상위 및 하위 비트를 포함하는 멀티-비트 데이터를 저장하기 위한 복수의 메모리 셀들을 구비한 플래시 메모리 장치의 프로그램 방법에 있어서:
    상기 하위 비트에 따라 임시 상태로 상기 복수의 메모리 셀들을 프로그램하는 단계; 그리고
    상기 상위 비트를 프로그램하는 방법을 선택하기 위한 옵션 정보에 응답하여 상이한 프로그램 방법들 중 어느 하나에 따라 상기 복수의 메모리 셀들을 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태들 중 어느 한 상태로 프로그램하는 단계를 포함하는 프로그램 방법.
  10. 제 9 항에 있어서
    상기 옵션 정보에 의해서 상기 상이한 프로그램 방법들 중 제 1 프로그램 방법이 선택되면, 상기 상위 비트에 따라 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 상태, 상기 제 3 상태 또는 상기 제 4 상태로 상기 복수의 메모리 셀들이 프로그램되되, 1회의 프로그램 동작 구간 동안 적어도 두 개의 상태로 동시에 프로그램되는 단계를 포함하는 것을 특징으로 하는 프로그램 방법.
  11. 제 10 항에 있어서,
    상기 제 1 프로그램 방법은,
    상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태들 중 어느 하나의 상태로 프로그램하는 제 1 프로그램 단계; 및
    동일한 프로그램 동작 구간 동안, 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 1 프로그램 단계에서 제외된 나머지 두 개의 상태로 프로그램하는 제 2 프로그램 단계를 포함하는 것을 특징으로 하는 프로그램 방법.
  12. 제 11 항에 있어서,
    상기 임시 상태로 하위 비트가 프로그램된 메모리 셀들 중 일부 또는 전부는,
    상기 제 1 프로그램 단계에서 상기 상위 비트에 따라 상기 제 4 상태로 프로그램되는 것을 특징으로 하는 프로그램 방법.
  13. 제 12 항에 있어서,
    상기 제 2 프로그램 단계에서는 상기 상위 비트에 따라,
    상기 복수의 메모리 셀들 중 상기 제 1 프로그램 단계에서 제외된 메모리 셀들이 상기 제 1 상태로부터 상기 제 2 상태로, 상기 임시 상태로부터 상기 제 3 상태로 동일 프로그램 동작 구간에서 동시에 프로그램되는 것을 특징으로 하는 프로그램 방법.
  14. 제 13 항에 있어서,
    상기 제 1 상태는 '11', 상기 제 2 상태는 '01', 상기 제 3 상태는 '10', 상기 제 4 상태는 '00'에 각각 대응되며, 상기 임시 상태는 상기 제 2 상태보다는 높고 제 3 상태보다 낮은 임시 '10' 상태인 것을 특징으로 하는 프로그램 방법.
  15. 제 11 항에 있어서,
    상기 1회의 프로그램 동작 구간은 증가형 스텝 펄스 프로그램(ISPP)에 있어서 1비트 데이터 기입이 이루어지는 프로그램 사이클인 것을 특징으로 하는 프로그 램 방법.
  16. 제 15 항에 있어서,
    상기 제 2 프로그램 단계는, 상기 제 2 상태 및 상기 제 3 상태로의 프로그램의 패스 여부를 검증(Verify)하는 2회의 검증 읽기 동작이 수행되는 프로그램 루프(loop)를 포함하는 것을 특징으로 하는 프로그램 방법.
  17. 제 9 항에 있어서,
    상기 옵션 정보에 의해서 상기 상이한 프로그램 방법들 중 제 2 프로그램 방법이 선택되면, 상기 상위 비트에 따라 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태들 중 어느 한 상태로 상기 복수의 메모리 셀들이 프로그램되는 단계들을 포함하되, 상기 단계들은 각각 1회의 프로그램 동작 구간 동안 하나의 상태로 프로그램되는 단계들인 것을 특징으로 하는 프로그램 방법.
  18. 제 17 항에 있어서,
    상기 제 2 프로그램 방법은,
    상기 상위 비트에 응답하여 선택된 메모리 셀들을 상기 임시 상태로부터 상기 제 4 상태로 프로그램하는 제 1 프로그램 단계;
    상기 상위 비트에 응답하여 선택된 메모리 셀들을 상기 임시 상태로부터 상기 제 3 상태로 프로그램하는 제 2 프로그램 단계; 및
    상기 상위 비트에 응답하여 선택된 메모리 셀들을 상기 제 1 상태로부터 상기 제 2 상태로 프로그램하는 제 3 프로그램 단계를 포함하는 것을 특징으로 하는 프로그램 방법.
  19. 제 18 항에 있어서,
    상기 제 1 상태는 '11', 상기 제 2 상태는 '01', 상기 제 3 상태는 '10', 상기 제 4 상태는 '00'에 각각 대응되며, 상기 임시 상태는 상기 제 2 상태보다는 높고 제 3 상태보다 낮은 임시 '10' 상태인 것을 특징으로 하는 프로그램 방법.
  20. 적어도 제 1 내지 제 4 상태들 중 어느 하나를 나타내고, 상위 및 하위 비트를 포함하는 멀티-비트 데이터를 저장하기 위한 복수의 메모리 셀들을 포함하는 셀 어레이;
    상기 복수의 메모리 셀들 중 선택된 메모리 셀들의 워드 라인으로 프로그램 전압과 복수 레벨의 검증 읽기 전압을 제공하는 전압 발생기;
    상기 복수의 메모리 셀들 각각의 비트 라인들에 연결되며, 상기 멀티-비트 데이터를 상기 선택된 메모리 셀들로 기입하고 검증 읽기 동작 및 독출 동작을 수행하는 페이지 버퍼;
    옵션 정보에 응답하여 상기 복수의 메모리 셀들의 상위 비트를 프로그램하도록 상기 페이지 버퍼 및 상기 전압 발생기를 제어하는 프로그램 제어부; 및
    상기 상위 비트의 프로그램 방식으로 제 1 옵션 또는 제 2 옵션 중 어느 하 나를 선택하도록 설정되며 상기 옵션 정보를 생성하는 옵션 선택 수단을 포함하는 플래시 메모리 장치.
  21. 제 20 항에 있어서,
    상기 프로그램 제어부는, 상기 제 1 옵션으로 상기 옵션 정보를 제공받는 경우, 상기 상위 비트의 프로그램 동작시에 1회의 프로그램 사이클 구간 동안 두 개의 상태로 프로그램 되도록 상기 페이지 버퍼 및 상기 전압 발생기를 제어하는 것을 특징으로 하는 플래시 메모리 장치.
  22. 제 21 항에 있어서,
    상기 프로그램 제어부는,
    상기 상위 비트에 응답하여 상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 상태 내지 상기 제 4 상태로 상기 복수의 메모리 셀들을 프로그램하되, 하나의 프로그램 사이클 동안 적어도 두 개의 상태로 프로그램되도록 상기 페이지 버퍼 및 상기 전압 발생기를 제어하는 것을 특징으로 하는 플래시 메모리 장치.
  23. 제 22 항에 있어서,
    상기 프로그램 제어부는,
    상기 제 1 상태 또는 상기 임시 상태로부터 상기 제 2 내지 제 4 상태들 중 어느 하나의 상태로 1차 프로그램하고, 1 회의 프로그램 사이클 구간 동안 상기 제 1 상태 또는 상기 임시 상태로부터 상기 1차 프로그램 시 제외된 나머지 두 개의 상태로 2차 프로그램하는 것을 특징으로 하는 플래시 메모리 장치.
  24. 제 23 항에 있어서,
    상기 프로그램 제어부는,
    상기 상위 비트에 응답하여 상기 1차 프로그램 동안 상기 임시 상태로 프로그램된 셀들을 상기 제 4 상태로 프로그램하는 것을 특징으로 하는 플래시 메모리 장치.
  25. 제 24 항에 있어서,
    상기 프로그램 제어부는,
    상기 상위 비트에 응답하여 상기 2차 프로그램 동안 상기 1차 프로그램에서 제외된 셀들을 상기 제 1 상태로부터 상기 제 2 상태로, 상기 임시 상태로부터 상기 제 3 상태로 동일 프로그램 사이클 구간 동안 프로그램하는 것을 특징으로 플래시 메모리 장치.
  26. 제 25 항에 있어서,
    상기 제 1 상태는 '11', 상기 제 2 상태는 '01', 상기 제 3 상태는 '10', 상기 제 4 상태는 '00'에 각각 대응되며, 상기 임시 상태는 상기 제 2 상태보다는 높고 제 3 상태보다 낮은 임시 '10' 상태인 것을 특징으로 하는 플래시 메모리 장치.
  27. 제 25 항에 있어서,
    상기 프로그램 제어부는 상기 2 차 프로그램 동안, 1회의 프로그램 루프 내에서 상기 제 2 상태 및 상기 제 3 상태로의 프로그램 여부를 검증하기 위한 2회의 검증 읽기 동작이 수행되도록 상기 전압 발생기 및 상기 페이지 버퍼를 제어하는 것을 특징으로 하는 플래시 메모리 장치.
  28. 제 20 항에 있어서,
    상기 프로그램 제어부는,
    상기 제 2 옵션에 따라 상기 상위 비트를 프로그램하도록 상기 옵션 정보를 제공받는 경우, 상기 상위 비트의 프로그램 동작시에 1회의 프로그램 사이클 구간 동안 하나의 상태로 프로그램 되도록 상기 페이지 버퍼 및 상기 전압 발생기를 제어하는 것을 특징으로 하는 플래시 메모리 장치.
  29. 제 28 항에 있어서,
    상기 프로그램 제어부는,
    상기 상위 비트에 응답하여 선택된 메모리 셀들을 상기 임시 상태로부터 상기 제 4 상태로 프로그램하고, 상기 상위 비트에 응답하여 선택된 메모리 셀들을 상기 임시 상태로부터 상기 제 3 상태로 프로그램하며, 그리고 상기 상위 비트에 응답하여 선택된 메모리 셀들을 상기 제 1 상태로부터 상기 제 2 상태로 프로그램 하는 것을 특징으로 하는 플래시 메모리 장치.
  30. 제 29 항에 있어서,
    상기 제 1 상태는 '11', 상기 제 2 상태는 '01', 상기 제 3 상태는 '10', 상기 제 4 상태는 '00'에 각각 대응되며, 상기 임시 상태는 상기 제 2 상태보다는 높고 제 3 상태보다 낮은 임시 '10' 상태인 것을 특징으로 하는 플래시 메모리 장치.
  31. 제 20 항에 있어서,
    상기 페이지 버퍼는,
    상기 하위 비트의 프로그램 결과를 독출한 데이터를 저장하는 제 1 래치; 및
    프로그램될 상기 상위 비트를 저장하는 제 2 래치를 포함하는 것을 특징으로 하는 플래시 메모리 장치.
KR1020060089685A 2006-09-15 2006-09-15 플래시 메모리 장치 및 그것의 프로그램 방법 KR100764747B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060089685A KR100764747B1 (ko) 2006-09-15 2006-09-15 플래시 메모리 장치 및 그것의 프로그램 방법
US11/651,521 US7539063B2 (en) 2006-09-15 2007-01-10 Flash memory devices and programming methods for the same
CN2007103051876A CN101197189B (zh) 2006-09-15 2007-09-17 闪存装置和用于该闪存装置的编程方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060089685A KR100764747B1 (ko) 2006-09-15 2006-09-15 플래시 메모리 장치 및 그것의 프로그램 방법

Publications (1)

Publication Number Publication Date
KR100764747B1 true KR100764747B1 (ko) 2007-10-08

Family

ID=39188392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060089685A KR100764747B1 (ko) 2006-09-15 2006-09-15 플래시 메모리 장치 및 그것의 프로그램 방법

Country Status (3)

Country Link
US (1) US7539063B2 (ko)
KR (1) KR100764747B1 (ko)
CN (1) CN101197189B (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110065897A (ko) * 2009-12-10 2011-06-16 삼성전자주식회사 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
KR20110125029A (ko) * 2010-05-12 2011-11-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101468099B1 (ko) * 2008-07-24 2014-12-03 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
KR20160064849A (ko) * 2014-11-28 2016-06-08 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR101787612B1 (ko) 2011-07-12 2017-10-19 삼성전자주식회사 비휘발성 메모리 장치의 데이터 저장 방법 및 구동 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
KR100854970B1 (ko) * 2007-01-08 2008-08-28 삼성전자주식회사 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법
KR100877104B1 (ko) * 2007-06-26 2009-01-07 주식회사 하이닉스반도체 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법
US8248848B1 (en) 2007-10-01 2012-08-21 Marvell International Ltd. System and methods for multi-level nonvolatile memory read, program and erase
KR101552209B1 (ko) * 2008-10-17 2015-09-11 삼성전자주식회사 멀티 비트를 프로그램하는 가변 저항 메모리 장치
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US8228728B1 (en) * 2009-09-14 2012-07-24 Marvell International Ltd. Programming method for multi-level cell flash for minimizing inter-cell interference
KR101874408B1 (ko) * 2011-11-09 2018-07-05 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US8885410B2 (en) 2012-08-29 2014-11-11 Sandisk Technologies Inc. Direct multi-level cell programming
KR102002826B1 (ko) * 2012-12-04 2019-07-23 삼성전자 주식회사 저장 장치, 플래시 메모리 및 저장 장치의 동작 방법
CN104102592B (zh) * 2013-04-03 2017-06-13 北京兆易创新科技股份有限公司 一种存储器的编写方法和装置
US9466369B1 (en) * 2015-12-21 2016-10-11 Sandisk Technologies Llc Word line-dependent ramping of pass voltage and program voltage for three-dimensional memory
KR20210116080A (ko) * 2020-03-17 2021-09-27 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09139092A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 不揮発性半導体記憶装置
KR20000005160A (ko) * 1998-10-01 2000-01-25 가나이 쓰토무 불휘발성 반도체기억장치
US6091631A (en) 1998-07-01 2000-07-18 Advanced Micro Devices, Inc. Program/verify technique for multi-level flash cells enabling different threshold levels to be simultaneously programmed

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100208433B1 (ko) * 1995-12-27 1999-07-15 김영환 플래쉬 메모리 소자 및 그를 이용한 프로그램 방법
KR100330164B1 (ko) * 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
JP2001093288A (ja) * 1999-09-20 2001-04-06 Toshiba Corp 不揮発性半導体記憶装置
JP4270994B2 (ja) 2003-09-29 2009-06-03 株式会社東芝 不揮発性半導体記憶装置
JP4427361B2 (ja) * 2004-03-16 2010-03-03 株式会社東芝 不揮発性半導体メモリ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09139092A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 不揮発性半導体記憶装置
US6091631A (en) 1998-07-01 2000-07-18 Advanced Micro Devices, Inc. Program/verify technique for multi-level flash cells enabling different threshold levels to be simultaneously programmed
KR20000005160A (ko) * 1998-10-01 2000-01-25 가나이 쓰토무 불휘발성 반도체기억장치

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101468099B1 (ko) * 2008-07-24 2014-12-03 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
KR20110065897A (ko) * 2009-12-10 2011-06-16 삼성전자주식회사 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
KR101636248B1 (ko) 2009-12-10 2016-07-06 삼성전자주식회사 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
KR20110125029A (ko) * 2010-05-12 2011-11-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101662277B1 (ko) 2010-05-12 2016-10-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101787612B1 (ko) 2011-07-12 2017-10-19 삼성전자주식회사 비휘발성 메모리 장치의 데이터 저장 방법 및 구동 방법
KR20160064849A (ko) * 2014-11-28 2016-06-08 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102239868B1 (ko) 2014-11-28 2021-04-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
US20080068883A1 (en) 2008-03-20
CN101197189B (zh) 2012-05-09
CN101197189A (zh) 2008-06-11
US7539063B2 (en) 2009-05-26

Similar Documents

Publication Publication Date Title
KR100764747B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
KR100805840B1 (ko) 캐시를 이용한 플래시 메모리 장치 및 그것의 프로그램방법
KR100771520B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
US7463526B2 (en) Programming method for flash memory capable of compensating reduction of read margin between states due to high temperature stress
US7468907B2 (en) Programming method for flash memory capable of compensating reduction of read margin between states due to hot temperature stress
US7684238B2 (en) Methods of programming multi-bit flash memory devices and related devices
US8456912B2 (en) Nonvolatile memory device and method for operating the same
US7738294B2 (en) Programming multilevel cell memory arrays
US7701775B2 (en) Flash memory device utilizing multi-page program method
KR100669351B1 (ko) 멀티 레벨 셀 플래시 메모리의 프로그램 방법 및 장치
US20080181000A1 (en) Method Of Improving Programming Precision In Flash Memory
US8203878B2 (en) Non-volatile memory devices and programming methods for the same
KR100841336B1 (ko) 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리를 구비한 메모리 시스템
KR100673026B1 (ko) 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법
JP2006294217A (ja) ビットスキャン方式を使用するnorフラッシュメモリ装置及びそれのプログラム方法
US6937522B2 (en) Nonvolatile semiconductor memory device
JP5264047B2 (ja) 半導体メモリ装置の制御情報をプログラムするための方法と装置
JP2009070539A (ja) 不揮発性メモリ装置及びそのマルチレベルセルプログラム方法
JP2007164892A (ja) 不揮発性半導体記憶装置のしきい値読み出し方法及び不揮発性半導体記憶装置
US8036042B2 (en) Method of operating nonvolatile memory device
KR100673025B1 (ko) 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법
KR20110001098A (ko) 불휘발성 메모리 소자의 프로그램 방법
KR100621637B1 (ko) 프로그램 시간을 단축시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법
KR100861378B1 (ko) 플래시 메모리소자의 프로그램 방법
US20110038204A1 (en) Method and apparatus for increasing memory programming efficiency through dynamic switching of sense amplifiers

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120925

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160930

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 12