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

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

Info

Publication number
KR20090041157A
KR20090041157A KR1020070106724A KR20070106724A KR20090041157A KR 20090041157 A KR20090041157 A KR 20090041157A KR 1020070106724 A KR1020070106724 A KR 1020070106724A KR 20070106724 A KR20070106724 A KR 20070106724A KR 20090041157 A KR20090041157 A KR 20090041157A
Authority
KR
South Korea
Prior art keywords
bit
program
cell
programmed
voltage
Prior art date
Application number
KR1020070106724A
Other languages
English (en)
Other versions
KR101391881B1 (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 KR1020070106724A priority Critical patent/KR101391881B1/ko
Priority to US12/255,211 priority patent/US7876614B2/en
Priority to JP2008271080A priority patent/JP5599145B2/ja
Priority to CN200810177840XA priority patent/CN101430933B/zh
Publication of KR20090041157A publication Critical patent/KR20090041157A/ko
Application granted granted Critical
Publication of KR101391881B1 publication Critical patent/KR101391881B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • 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/5642Sensing 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/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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Landscapes

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

Abstract

본 발명의 플래시 메모리 장치는 셀 당 복수의 비트를 프로그램하되, 상기 복수의 비트 중 프로그램을 위해 선택된 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 선택된 비트의 프로그램 및 읽기 동작을 제어한다. 그 결과, 중간 비트에 대한 프로그램이 생략되더라도 정확한 프로그램 및 읽기 동작이 가능해 진다.
플래시 메모리, 프로그램, 읽기, MLC

Description

멀티-비트 플래시 메모리 장치 및 그것의 프로그램 및 읽기 방법{MULTI-BIT FLASH MEMORY DEVICE AND PROGRAM AND READ METHODS THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 하나의 메모리 셀에 멀티 비트 데이터를 저장할 수 있는 멀티 비트 플래시 메모리 장치 및그것의 프로그램 및 읽기 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(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에 비해 집적도가 매우 높은 장점을 가진다.
플래시 메모리 장치는, 각각의 메모리 셀에 저장되는 비트 수에 따라서 각각의 메모리 셀에 저장 가능한 데이터 상태가 결정된다. 하나의 메모리 셀에 1-비트 데이터를 저장하는 메모리 셀을 단일 비트 셀(single-bit cell) 또는 단일 레벨 셀(single-level cell ; SLC)이라 한다. 그리고, 하나의 메모리 셀에 멀티-비트 데이터(예를 들면, 2 비트 이상)를 저장하는 멀티 비트 셀(multi-bit cell), 멀티 레벨 셀(multi-level cell ; MLC), 또는 멀티 스테이트 셀(multi-state cell)이라 한다. 최근 들어, 메모리 장치에 대한 고집적 요구가 높아짐에 따라, 하나의 메모리 셀에 멀티-비트 데이터를 저장하는 멀티 레벨 플래시 메모리에 대한 연구가 활발히 진행되고 있다.
본 발명의 목적은 멀티 레벨 셀(MLC)에 멀티-비트 데이터(예를 들면, 2 비트 이상)를 정확하게 프로그램할 수 있는 프로그램 방법을 제공하는 데 있다.
본 발명의 다른 목적은 프로그램이 진행된 상태에 따라서 멀티 레벨 셀(MLC)에 프로그램된 데이터를 정확히 읽어낼 수 있는 읽기 방법을 제공하는 데 있다.
상기의 과제를 이루기 위하여 본 발명에 의한 플래시 메모리 장치의 프로그램 방법은, 셀 당 복수의 비트를 프로그램하되, 상기 복수의 비트 중 프로그램을 위해 선택된 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 선택된 비트의 프로그램 조건을 설정하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램 조건은 증가형 스텝 펄스 프로그래밍(incremental step pulse programming: ISPP)의 각 프로그램 루프에 적용되는 프로그램 전압(Vpgm)의 레벨, 프로그램 전압(Vpgm)의 인가 횟수, 전압 증가분(△V), 프로그램 전압 인가 시간 중 적어도 하나를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 셀의 i+1 번째 (i는 양의 정수) 비트를 프로그램할 때 상기 프로그램 조건을 설정하는 방법은, 플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계; 상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계; 그리고 상기 i 번째 비트의 프로 그램이 생략된 경우 상기 i번째 비트에 소정의 데이터를 일률적으로 프로그램한 후, 상기 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램된 i+1 번째 비트에는 i+1번째 비트의 정상 읽기 전압이 적용되는 것을 특징으로 한다.
이 실시예에 있어서, 상기 셀의 i+1 번째 (i는 양의 정수) 비트를 프로그램할 때 상기 프로그램 조건을 설정하는 방법은, 플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계; 상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계; 그리고 상기 i 번째 비트의 프로그램이 생략된 경우 상기 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 i 번째 비트의 프로그램이 생략되지 않은 경우 상기 i+1번째 비트는 i+1번째 페이지 프로그램 알고리즘을 통해 프로그램되고, 상기 i 번째 비트의 프로그램이 생략된 경우 상기 i+1번째 비트는 i번째 페이지 프로그램 알고리즘을 통해 프로그램되는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램된 i+1 번째 비트는 i+1번째 비트에 대한 정상 읽기 전압을 이용하여 읽혀지는 것을 특징으로 한다.
이 실시예에 있어서, 상기 셀의 i+1 번째 (i는 양의 정수) 비트를 프로그램 할 때 상기 프로그램 조건을 설정하는 방법은, 플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계; 상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계; 그리고 상기 i 번째 비트의 프로그램이 생략된 경우 i번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 i 번째 비트의 프로그램이 생략되지 않은 경우 상기 i+1번째 비트는 i+1번째 페이지 프로그램 알고리즘을 통해 프로그램되고, 상기 i 번째 비트의 프로그램이 생략된 경우 상기 i+1번째 비트는 i번째 페이지 프로그램 알고리즘을 통해 프로그램되는 것을 특징으로 한다.
이 실시예에 있어서, 상기 i 번째 비트의 프로그램이 생략된 경우 상기 i번째 비트는 상기 i+1번째 비트와 동일한 값으로 프로그램되는 것을 특징으로 한다.
이 실시예에 있어서, 상기 i 번째 비트의 프로그램이 생략된 경우 상기 프로그램된 i+1 번째 비트는 i번째 비트에 대한 정상 읽기 전압을 이용하여 읽혀지는 것을 특징으로 한다.
이 실시예에 있어서, 상기 셀의 i+1 번째 (i는 양의 정수) 비트를 프로그램할 때 상기 프로그램 조건을 설정하는 방법은, 상기 셀의 i 번째 비트의 프로그램 생략 여부와 상관없이 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계를 포함하며, 상기 셀에서는 i+1 번째 페이지 프로그램 알고리즘이 수행되는 것을 특징으로 한다.
이 실시예에 있어서, 상기 i 번째 비트의 프로그램이 생략되지 않은 경우 상기 프로그램된 i+1 번째 비트는 i+1번째 비트에 대한 정상 읽기 전압을 이용하여 읽혀지고, 상기 i 번째 비트의 프로그램이 생략된 경우 상기 i+1 번째 비트의 프로그램 상태에 대응되도록 정의된 읽기 전압을 이용하여 읽혀지는 것을 특징으로 한다.
상기의 과제를 이루기 위하여 본 발명에 의한 플래시 메모리 장치의 읽기 방법은, 셀 당 복수의 비트가 프로그램되며, 상기 복수의 비트 중 읽기 위해 선택된 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 선택된 비트의 읽기 전압을 설정하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 셀의 i+1 번째 (i는 양의 정수) 비트를 읽을 때 상기 읽기 전압을 설정하는 방법은, 플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계; 상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트의 정상 읽기 전압을 상기 셀의 i+1번째 비트의 읽기 전압으로 설정하는 단계; 그리고 상기 i 번째 비트의 프로그램이 생략된 경우 i번째 비트의 정상 읽기 전압을 상기 셀의 i+1번째 비트의 읽기 전압으로 설정하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 셀의 i+1 번째 (i는 양의 정수) 비트를 읽을 때 상기 읽기 전압을 설정하는 방법은, 플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계; 상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트의 정상 읽기 전압을 상기 셀의 i+1번째 비트의 읽기 전 압으로 설정하는 단계; 그리고 상기 i 번째 비트의 프로그램이 생략된 경우 i+1 번째 비트의 프로그램 상태에 대응되도록 정의된 읽기 전압을 상기 셀의 i+1번째 비트의 읽기 전압으로 설정하는 단계를 포함하는 것을 특징으로 한다.
상기의 과제를 이루기 위하여 본 발명에 의한 플래시 메모리 장치는, 셀 당 복수의 비트가 프로그램되는 메모리 셀들의 어레이; 그리고 상기 셀에 프로그램될 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 프로그램될 비트에 대한 프로그램 조건을 설정하는 제어 회로를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램 조건은 증가형 스텝 펄스 프로그래밍(incremental step pulse programming: ISPP)의 각 프로그램 루프에 적용되는 프로그램 전압(Vpgm)의 레벨, 프로그램 전압(Vpgm)의 인가 횟수, 전압 증가분(△V), 프로그램 전압 인가 시간 중 적어도 하나를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 제어 회로는 상기 셀로부터 읽어낼 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 읽어낼 비트의 읽기 전압을 설정하는 것을 특징으로 한다.
이상과 같은 본 발명에 의하면, 멀티 레벨 셀(MLC)에 프로그램되는 멀티-비트 데이터 중 적어도 하나의 비트에 대한 프로그램 동작이 생략되더라도 이에 영향을 받지 않고 다음 비트에 대한 프로그램을 정확히 수행할 수 있게 된다.
그리고, 멀티 레벨 셀(MLC)에 프로그램되는 멀티-비트 데이터 각각에 대한 프로그램 여부를 고려하여 읽기 동작이 제어되므로, 멀티 레벨 셀(MLC)에 프로그램 되는 멀티-비트 데이터 중 적어도 하나의 비트에 대한 프로그램 동작이 생략되더라도 이에 영향을 받지 않고 다음 비트에 대한 읽기 동작을 정확히 수행할 수 있게 된다.
이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
본 발명의 신규한 프로그램 방법 및 읽기 방법은, 각각의 메모리 셀에 저장되는 복수의 비트 각각에 대한 프로그램 여부를 고려하여 프로그램 및 읽기 동작을 제어한다. 따라서, 선택된 메모리 셀에 프로그램되는 복수의 비트 중 적어도 하나의 비트에 대한 프로그램 동작이 생략되더라도 이에 영향을 받지 않고 다음 비트에 대한 프로그램 동작 및 읽기 동작을 정확히 수행할 수 있게 된다.
아래에 설명될 본 발명에 따른 플래시 메모리 장치의 회로 구성과, 그것에 의해 수행되는 프로그램 동작 및 읽기 동작은 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
도 1은 본 발명에 따른 플래시 메모리 장치(100)의 개략적인 구성을 보여주는 도면이다. 그리고, 도 2 및 도 3은 도 1에 도시된 셀 어레이(110)의 구성 예를 보여주는 도면이다.
도 1 내지 도 3을 참조하면, 본 발명의 플래시 메모리 장치(100)는 N-비트 데이터 정보(N은 1 또는 그보다 큰 정수)를 저장하는 메모리 셀 어레이(110)를 포함한다. 셀 당 N-비트 데이터 정보를 저장하는 메모리 셀을 멀티 레벨 셀(multi- level cell ; MLC)이라 한다. 메모리 셀 어레이(110)는 일반 데이터를 저장하기 위한 메인 영역과, 메인 영역 및 일반 데이터와 관련된 부가 정보(예를 들면, 플래그 정보, 에러 정정 코드, 디바이스 코드, 메이커 코드, 페이지 정보 등)를 저장하기 위한 스페어 영역으로 구분될 수 있다. 메인 영역에는 N-비트 데이터가 저장될 수 있고, 스페어 영역에는 1-비트 데이터 또는 N-비트 데이터가 저장될 수 있다.
셀 어레이(110)는 복수의 행들(또는 워드 라인들)과 복수의 열들(또는 비트 라인들)로 배열된 메모리 셀들을 포함한다. 셀 어레이(110)에 포함된 복수의 메모리 셀들은 복수의 메모리 블록들(Memory Blocks ; MBs)을 구성한다. 각각의 메모리 블록(MB)에 포함된 메모리 셀들은 도 2에 도시된 바와 같이 낸드(NAND) 스트링 구조를 가질 수 있고, 도 3에 도시된 바와 같이 노어(NOR) 구조를 가질 수 있다. 아래에서 상세히 설명되겠지만, 본 발명의 플래시 메모리 장치(100)의 동작 특성은 도 2 및 도 3에 도시된 낸드형 메모리 셀들 및 노어형 메모리 셀들에게 모두 적용될 수 있다. 뿐만 아니라, 본 발명의 플래시 메모리 장치(100)의 동작 특성은 전하 저장층이 전도성 부유 게이트로 구성된 플래시 메모리 장치는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(Charge Trap Flash, "CTF"라 불림)에도 본 발명의 동작 특성이 모두 적용 가능하다.
본 발명에서는 본 발명이 적용되는 일 예로서 낸드 스트링 구조를 가지는 멀티 레벨 셀(MLC) 플래시 메모리가 예시적으로 설명될 것이다. 그러나, 아래에서 설명될 플래시 메모리는 특정 형태에만 국한되지 않으며, 아래에서 설명될 본 발명의 플래시 메모리의 프로그램 또는 읽기 특성 또한 도 2에 도시된 플래시 메모리 셀들 에만 국한되는 것이 아님은 이 분야의 통상의 지식을 가진 이들에 있어 자명하다.
도 2를 참조하면, 하나의 메모리 블록(MB)에는 복수의 열들 또는 비트 라인들(BL0∼BLn-1)에 각각 대응하는 복수의 스트링들(111)이 포함된다. 각 스트링(111)에는 스트링 선택 트랜지스터(SST), 복수 개의 메모리 셀들(M0∼Mm-1), 그리고 접지 선택 트랜지스터(GST)가 포함된다. 각 스트링(111)에 있어서, 스트링 선택 트랜지스터(SST)의 드레인은 대응하는 비트 라인에 연결되고, 접지 선택 트랜지스터(GST)의 소오스는 공통 소오스 라인(CSL)에 연결된다. 그리고, 스트링 선택 트랜지스터(SST)의 소오스와 접지 선택 트랜지스터(GST)의 드레인 사이에는 복수 개의 메모리 셀들(M0∼Mm-1)이 직렬 연결된다. 동일 행에 배열된 메모리 셀들의 제어 게이트들은 대응되는 워드라인(WL0-WLn -1)과 공통으로 연결된다. 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)을 통해 인가되는 전압에 의해 제어되고, 접지 선택 트랜지스터(GST)는 접지 선택 라인(GSL)을 통해 인가되는 전압에 의해 제어된다. 그리고, 메모리 셀들(M0∼Mm-1)은 대응하는 워드 라인(WL0∼WLm-1)을 통해 인가되는 전압에 의해서 제어된다. 각각의 워드 라인(WL0∼WLm-1)에 접속된 메모리 셀들은 한 페이지 또는 복수 개의 페이지 분량에 해당되는 데이터를 저장한다.
낸드형 플래시 메모리의 프로그램 또는 읽기 동작은 페이지 단위로 수행되고, 프로그램된 데이터의 소거 동작은 페이지가 여러 개 모인 단위인 블록 단위로 수행된다. 각각의 페이지에 대한 프로그램 동작 또는 소거 동작과 관련된 정보는 스페어 영역(또는 메인 영역의 일부 영역)에 할당된 플래그 셀에 저장된다. 이를 플래그 정보(FL)라 한다. 셀 당 N 비트의 데이터가 저장되는 멀티 레벨 셀의 경우, 각각의 비트에 대한 프로그램 동작이 최대 N회까지 각각 독립적으로 수행될 수 있다. 멀티 레벨 셀의 각 비트에 대한 프로그램 동작은 동일 워드 라인(WL0∼WLm-1)에 접속된 셀에서 페이지 단위로 수행된다. 각각의 비트에 대응되는 페이지 프로그램 정보(이하, 플래그 정보(FL)라 칭함)는 대응되는 플래그 셀에 각각 독립적으로 저장된다. 상기 플래그 셀은 도 2에 도시된 낸드 스트링의 구조와 동일한 구조를 가지는 멀티 레벨 셀(MLC) 및/또는 단일 레벨 셀(SLC)로 구성될 수 있다. 그리고, 상기 플래그 셀은 셀 어레이(110)의 스페어 영역 내에 형성될 수도 있고, 셀 어레이(110)의 메인 영역 내에 형성될 수도 있다. 플래그 셀의 형태 및 개수는 셀 어레이(110)의 구조에 따라 다양하게 변형될 수 있다.
다시 도 1을 참조하면, 제어 회로(150)는 플래시 메모리(100)의 프로그램, 소거, 및 읽기 동작과 관련된 제반 동작을 제어한다. 프로그램될 데이터는 제어 회로(150)의 제어에 따라 버퍼(미 도시됨)를 통해 기입 독출회로(130)로 로딩된다. 프로그램이 실행되는 구간 동안 제어 회로(150)는 디코딩 회로(120), 전압 발생 회로(160), 그리고 기입 독출회로(130)를 제어하여, 선택된 워드 라인으로 프로그램 전압(Vpgm)이, 비선택된 워드 라인들로 패스 전압(Vpass)이, 그리고 메모리 셀들이 형성된 벌크에 0V의 전압이 인가되도록 한다. 프로그램 전압(Vpgm)은 증가형 스텝 펄스 프로그래밍(incremental step pulse programming: ISPP) 방식에 따라 발생된다. 프로그램 전압(Vpgm)의 레벨은 프로그램 루프들이 반복됨에 따라 소정의 전압 증가분(△V) 만큼 단계적으로 증가한다. 각각의 프로그램 루프에서 사용되는 프로 그램 전압들(Vpgm)의 인가 횟수, 전압 레벨, 그리고 전압 인가 시간 등은 외부(예를 들면, 메모리 컨트롤러) 또는 내부(예를 들면, 제어 회로(150))의 제어에 따라 다양한 형태로 변경 및 변형될 수 있다. 특히, 본 발명에서는 이전 비트에 대한 프로그램 진행 상태를 근거로 하여 다음 비트에 대한 프로그램 전압과 읽기 전압의 레벨을 조절한다. 각 비트에 대한 프로그램 진행 상태는 플래그 정보(FL)를 이용하여 확인할 수 있다. 상기 플래그 정보는 선택된 메모리 셀에서 몇 번째 비트에 대한 프로그램이 진행되었는지, 또는 몇 번째 비트의 프로그램 동작이 생략(skip) 되었는지에 대한 정보를 제공하는데 사용된다.
도 1에서, 전압 발생 회로(160)는 동작 모드에 따라서 각각의 워드 라인들으로 공급될 워드 라인 전압들(예를 들면, 프로그램 전압(Vpgm), 읽기 전압(Vread), 패스 전압(Vpass), 등)과, 메모리 셀들이 형성된 벌크(예를 들면, 웰 영역)로 공급될 전압을 발생한다. 전압 발생 회로(160)의 전압 발생 동작은 제어 회로(150)의 제어에 의해 수행된다. 디코딩 회로(120)는 제어 회로(150)의 제어에 응답해서 메모리 셀 어레이(110)의 메모리 블록들(또는 섹터들) 중 하나를 선택하고, 선택된 메모리 블록의 워드 라인들 중 하나를 선택한다. 디코딩 회로(120)는 제어 회로(150)의 제어에 응답해서 전압 발생 회로(160)로부터 발생된 워드라인 전압을 선택된 워드 라인 및 비선택된 워드 라인들로 각각 제공한다.
기입 독출 회로(130)는 제어 회로(150)에 의해서 제어되며, 동작 모드에 따라 감지 증폭기(sense amplifier)로서 또는 기입 드라이버(write driver)로서 동작한다. 예를 들면, 검증/정상 읽기 동작의 경우 기입 독출 회로(130)는 메모리 셀 어레이(110)로부터 데이터를 읽기 위한 감지 증폭기로서 동작한다. 정상 읽기 동작시 기입 독출 회로(130)로부터 읽혀진 데이터는 버퍼를 통해 외부(예를 들면, 메모리 컨트롤러 또는 호스트)로 출력되는 반면, 검증 읽기 동작시 읽혀진 데이터는 패스/페일 검증 회로(미 도시됨)로 제공된다.
프로그램 동작의 경우 기입 독출 회로(130)는 메모리 셀 어레이(110)에 저장될 데이터에 따라 비트 라인들을 구동하는 기입 드라이버로서 동작한다. 기입 독출 회로(130)는 프로그램 동작시 메모리 셀 어레이(110)에 쓰일 데이터를 버퍼로부터 입력받고, 입력된 데이터에 따라 비트라인들을 구동한다. 이를 위해 기입 독출 회로(130)는 열들(또는 비트 라인들) 또는 열쌍(또는 비트 라인 쌍들)에 각각 대응되는 복수 개의 페이지 버퍼들(미도시됨)로 구성될 수 있다. 기입 독출 회로(130)에 의해 수행되는 프로그램 동작 및 읽기 동작은 제어 회로(150)의 제어에 응답해서 멀티 레벨 셀(MLC)을 구성하는 각각의 비트에 대해 각각 독립적으로 수행된다. 이 경우, 프로그램/읽기 동작에 사용될 프로그램/읽기 전압은, 현재 프로그램될/읽혀질 비트 바로 이전 비트에 대한 프로그램 수행 여부에 따라서 달라지게 된다.
도 4는 도 2에 도시된 플래시 메모리 셀의 프로그램 상태 분포를 보여주는 도면으로, 3 비트 멀티 레벨 셀의 프로그램 상태 분포가 예시적으로 도시되어 있다. 그러나, 이는 본 발명이 적용되는 일 예에 불과하며, 도 4에 도시된 프로그램 상태의 분포는 다양한 형태로 변경 가능하다.
도 4를 참조하면, 하나의 메모리 셀에는 N 비트(예를 들면, 3 비트)가 저장 가능하며, 각각의 비트는 독립적으로 수행되는 페이지 프로그램 동작을 통해 각각 독립적으로 프로그램된다. 여기서, 각각의 비트에 대응되는 페이지 프로그램 동작에는 각각 독립적인 페이지 프로그램 알고리즘이 적용된다. 각각의 페이지 프로그램 알고리즘은 ISPP 프로그램 알고리즘에서 각각의 프로그램 루프에 적용되는 프로그램 알고리즘을 의미한다.
예를 들면, 제 1 페이지 프로그램 알고리즘을 통해 1번째 비트(1st bit)(즉, 최하위 비트(Least Significant Bit ; LSB))에 대한 프로그램이 수행된다. 제 1 페이지 프로그램 알고리즘에서는 페이지 버퍼에 로딩된 데이터 값에 따라서 최하위 비트의 값만 "1" 또는 "0"의 값으로 프로그램된다. 이때, 상위 2 개의 비트는 소거된 상태(즉, "11")를 유지한다. 그 결과, 제 1 페이지 프로그램 알고리즘에 의해 메모리 셀은 "111"의 데이터 상태와 "110"의 데이터 상태 중 어느 하나를 갖게 된다. "111" 상태를 갖는 메모리 셀은 소거된 상태의 메모리 셀이며, "110" 상태를 갖는 메모리 셀의 문턱 전압은 "111" 상태의 메모리 셀의 문턱 전압보다 높게 프로그램된 셀을 의미한다.
이어서, 제 2 페이지 프로그램 알고리즘을 통해 2번째 비트(2nd bit)에 대한 프로그램이 수행된다. 제 2 페이지 프로그램 알고리즘에서는 페이지 버퍼에 로딩된 데이터 값에 따라서 선택된 메모리 셀의 2번째 비트의 값만 "1" 또는 "0"의 값으로 프로그램된다. 이 때, 1번째 비트 값과 3번째 비트 값은 이전의 상태를 그대로 유지한다. 즉, "111" 상태를 갖는 메모리 셀은 프로그램 알고리즘에 의해 2번째 비트의 값만 "1" 또는 "0"의 값으로 프로그램되어, 프로그램 상태가 "111" 및 "101" 중 어느 하나를 갖도록 천이된다. 그리고, "110" 상태를 갖는 메모리 셀은 2번째 비트 의 값만 "1" 또는 "0"의 값으로 프로그램되어, 프로그램 상태가 "100" 및 "110" 중 어느 하나를 갖도록 천이된다.
계속해서, 제 3 페이지 프로그램 알고리즘을 통해 3번째 비트(3rd bit)(즉, 최상위 비트(Most Significant Bit ; MSB))에 대한 프로그램이 수행된다. 3번째 비트에 대한 프로그램 알고리즘에서는 페이지 버퍼에 로딩된 데이터 값에 따라서 선택된 메모리 셀의 3번째 비트의 값만 "1" 또는 "0"의 값으로 프로그램된다. 이 때, 1번째 비트 값과 2번째 비트 값은 이전의 상태를 그대로 유지한다. 그 결과, 메모리 셀은 "111", "011", "001", "101", "100", "000", "010" 및 "110" 중 어느 하나를 갖도록 프로그램된다.
프로그램 동작시 할당되는 페이지 어드레스는 워드라인 방향으로 연속적으로 할당될 수도 있고, 비연속적으로 할당될 수 있다. 내부적으로 할당되는 페이지 어드레스는 선택된 메모리 셀의 사용 빈도 등을 고려하여 내부적으로 결정된다. 이와 같은 페이지 어드레싱 방식은 단일 레벨 플래시 메모리 장치는 물론 멀티 레벨 플래시 메모리 장치에도 모두 적용된다. 복수의 데이터 비트가 저장되는 멀티 레벨 셀의 경우, 내부적으로 할당되는 페이지 어드레스는 각각의 비트에 대해 각각 독립적으로 수행된다.
도 5는 도 2에 도시된 플래시 메모리 셀의 각 비트에 대한 페이지 어드레스 할당 결과를 예시적으로 보여주는 도면이다.
도 5를 참조하면, 프로그램 동작시 각각의 플래시 메모리 셀에는 최하위 비트(Least Significant Bit ; LSB)로부터 최상위 비트(MSB)에 이르기까지 프로그램 에 사용될 페이지 어드레스가 각각 순차적으로 할당된다. 이 경우 인접 메모리 셀에 i 또는 i 보다 작은 비트가 프로그램되어 있기만 하면 선택된 메모리 셀에 i+1 번째 비트를 프로그램하기 위한 페이지 어드레스가 지정될 수 있다. 하지만, 이와 같은 페이지 어드레스 할당 조건에 따르면, 도 5에 도시된 바와 같이 일부 메모리 셀에서 중간 비트에 대해 페이지 어드레스의 할당이 생략(skip)될 수 있다. 어드레스 할당이 생략되었다는 것은 해당 메모리 셀에서 해당 비트에 대한 프로그램 동작이 생략됨을 의미한다.
도 5를 참조하면, 메모리 셀 M0과 M3에는 각각 1번째 비트를 프로그램하기 위한 어드레스로부터 3번째 비트를 프로그램하기 위한 어드레스까지 총 3개의 어드레스가 모두 할당되어 있다. 그러므로, 메모리 셀 M0과 M3에서는 1번째 비트부터 3번째 비트까지 3개의 비트에 대한 프로그램이 순차적으로 수행될 것이다. 이 경우, 프로그램 상태 분포는 도 4에 도시되어 있는 1번째 내지 3번째 페이지 프로그램 알고리즘의 프로그램 상태 천이 결과와 같게 될 것이다. 그리고, 메모리 셀 M2에는 3번째 비트를 프로그램하기 위한 어드레스는 할당되어 있지 않고, 1번째 및 2번째 비트를 프로그램하기 위한 어드레스만 할당되어 있다. 그러므로, 메모리 셀 M2에서는 1번째 비트와 2번째 비트에 대한 프로그램만이 순차적으로 수행될 것이다. 이 경우, 프로그램 상태 분포는 도 4에 도시되어 있는 1번째 및 2번째 프로그램 알고리즘의 프로그램 상태 천이 결과와 같게 될 것이다. 즉, 멀티 레벨 셀을 구성하는 복수의 비트 중 바로 이전의 비트에 대한 프로그램이 생략되지 않은 경우(예를 들면, 메모리 셀 M0, M3, 그리고 M2의 경우), 프로그램 상태 분포는 도 4에 도시되어 있는 프로그램 상태 천이 결과를 따르게 될 것이다.
한편, 메모리 셀 M1에는 2번째 비트를 프로그램하기 위한 어드레스가 할당되어 있지 않고, 1번째 및 3번째 비트를 프로그램하기 위한 어드레스만 할당되어 있다. 그러므로, 메모리 셀 M1에서는 1번째 비트에 대한 프로그램이 수행된 후 2번째 비트에 대한 프로그램이 생략될 것이다. 그리고 나서 3번째 비트에 대한 프로그램이 수행될 것이다. 각각의 비트에 대한 프로그램 동작은 바로 이전 비트에 대한 프로그램 상태와 밀접한 관계를 가지고 있다. 생략된 중간 비트에 대한 프로그램 동작은 도 4에 도시된 프로그램 상태 분포를 변화시키는 요인으로서 작용하게 될 것이다. 그러므로, 본 발명에서는 중간 비트에 대한 프로그램 동작이 생략되더라도 프로그램 상태 분포에 변화가 발생하지 않도록 하는(또는 프로그램 상태에 변화가 발생하더라도 이를 읽기 동작에 정확히 반영할 수 있는) 새로운 방식의 프로그램 전압 및/또는 읽기 방법을 제공한다. 본 발명의 실시예에 따른 프로그램 방법들과 읽기 방법들은 다음과 같다.
도 6은 본 발명의 제 1 실시예에 따른 프로그램 방법을 보여주는 흐름도이다. 도 6에는 멀티 레벨 셀에서 i번째 비트의 프로그램 여부를 고려하여 i+1번째 비트를 프로그램하는 방법이 예시적으로 도시되어 있다. 그리고, 도 7은 도 6에 도시된 프로그램 방법에 따른 프로그램 상태 변화를 보여주는 도면이다. 도 7에는 3 비트 멀티 레벨 셀에서 2번째 비트의 프로그램이 생략된 경우 본 발명의 제 1 실시예에 따른 3번째 비트에 대한 프로그램 상태 변화가 예시적으로 도시되어 있다. 하지만, 아래에서 설명될 본 발명의 프로그램 및 읽기 특성은 3 비트 멀티 레벨 셀에 만 국한되지 않고, 다양한 형태의 멀티 레벨 셀에도 적용 가능하다.
도 6을 참조하면, 본 발명에 따른 플래시 메모리 장치의 프로그램 방법은 i+1번째 비트에 대한 프로그램을 수행할 때, 먼저 선택된 메모리 셀의 i번째(예를 들면 2번째) 비트에 대응되는 플래그 셀의 상태를 체크한다(S1000 단계). 상기 플래그 셀에는 i번째 비트가 프로그램 되었는지 여부를 나타내는(즉, i번째 페이지 프로그램 알고리즘의 수행 여부를 나타내는) 플래그 정보(FL)가 저장되어 있다. 예를 들면, 선택된 메모리 셀의 i번째 비트가 프로그램된 경우, 대응되는 플래그 셀에는 플래그 정보(FL)가 소정의 값(예를 들면, '1' 또는 '0')으로 설정되어 있을 것이다. 만일 선택된 메모리 셀의 i번째 비트가 프로그램되지 않았다면, 대응되는 플래그 셀에는 플래그 정보(FL)가 설정되어 있지 않을 것이다.
S1000 단계에서의 판별 결과, 선택된 메모리 셀의 i번째 비트에 대응되는 플래그 정보(FL)가 소정의 값으로 설정되어 있으면, i+1번째(예를 들면 3번째) 페이지 프로그램 알고리즘이 수행된다(S1100 단계). S1100 단계에서는 정상적인 i+1번째 페이지 프로그램 알고리즘을 위한 ISPP 프로그램 조건(예를 들면, 프로그램 전압(Vpgm)의 레벨, 프로그램 전압(Vpgm)의 인가 횟수, 전압 증가분(△V), 프로그램 전압 인가 시간 등)이 적용된다. 이 경우, 중간 비트에 대한 프로그램 동작은 생략되어 있지 않다. 그러므로, 프로그램 상태는 도 4와 같이 단계적으로 천이된다.
한편 S1000 단계에서의 판별 결과, 선택된 메모리 셀의 i번째(예를 들면 2번째) 비트에 대응되는 플래그 정보(FL)가 소정의 값으로 설정되어 있지 않으면, 선택된 메모리 셀의 i번째 비트를 '1'의 값으로 프로그램하는 i번째 페이지 프로그램 알고리즘이 수행된다(S1200 단계). 즉, S1200 단계에서는 프로그램될 데이터 값에 상관없이 선택된 메모리 셀들의 i번째 비트에 대해 일률적으로 '1'의 데이터 값을 프로그램한다. S1200 단계에서는 i번째 페이지 프로그램 알고리즘을 위한 ISPP 프로그램 조건이 적용된다. 상기 ISPP 프로그램 조건은 외부(예를 들면, 메모리 컨트롤러) 또는 내부(예를 들면, 제어 회로(150))의 제어에 따라 다양한 형태로 변경 및 변형될 수 있다. S1200 단계에서 수행된 프로그램 동작에 의해 얻어진 i번째 비트의 프로그램 상태 변화는 도 7의 1201 및 1202와 같다. 이어서, 수순은 S1100 단계로 진행하여 정상적인 i+1번째(예를 들면, 3번째) 페이지 프로그램 알고리즘을 수행한다. i+1번째 페이지 프로그램 알고리즘에서는 페이지 버퍼에 로딩된 프로그램 데이터 값에 따라서 선택된 메모리 셀의 i+1번째 비트 값이 '0' 또는 '1'의 값으로 프로그램된다. S1100 단계에서 수행된 프로그램 알고리즘에 의한 i+1번째 비트의 프로그램 상태 변화는 도 7의 1101 및 1102와 같다.
앞에서 설명한 바와 같이, 본 발명에 따른 프로그램 방법은 i+1번째 페이지 프로그램 알고리즘을 수행하기에 앞서 i번째 비트에 대한 프로그램 여부를 먼저 확인한다. 그리고, 확인된 결과에 따라서 i+1번째 페이지 프로그램 알고리즘을 정상적으로 수행하거나, 또는 i번째 비트를 '1'의 값으로 프로그램한 후 i+1번째 페이지 프로그램 알고리즘을 수행하게 된다. 이와 같은 프로그램 방법에 따르면, 중간 비트에 대한 프로그램이 생략되더라도 프로그램 상태 천이가 단계적으로 진행될 수 있게 된다. 급속한 프로그램 상태는 인접한 메모리 셀들간에 발생되는 커플링의 영향을 더욱 증가시킬 것이다. 이와 같은 문제를 방지하기 위해, 본 발명에 따른 프 로그램 방법은 중간 비트에 대한 프로그램이 생략되더라도 중간 비트에 인위적인 데이터(즉, 1)를 기입한다. 그 결과, 프로그램 프로그램 상태 천이가 단계적으로 수행될 수 있게 된다. 이와 같은 프로그램 방법에 따르면 비록 중간 비트에 대한 프로그램이 생략되더라도 커플링의 영향을 줄일 수 있고, 나중에 수행되는 비트에 대해 정확한 프로그램을 수행할 수 있게 된다. 도 7에 도시된 프로그램 상태 변화를 참조하면, 중간 비트(예를 들면, i번째 비트)에 대한 프로그램이 생략되더라도 i+1번째 비트의 프로그램 상태는 도 4에 도시된 프로그램 상태에 그대로 대응됨을 알 수 있다. 그러므로, 본 발명의 제 1 실시예에 따른 프로그램 방법에 의해 프로그램된 데이터 값은 정상 읽기(normal read) 동작시 별도의 전압 조정 없이 읽어낼 수 있게 된다.
도 8은 본 발명의 제 2 실시예에 따른 프로그램 방법을 보여주는 흐름도이다. 도 8에는 멀티 레벨 셀에서 i번째 비트의 프로그램 여부를 고려하여 i+1번째 비트를 프로그램하는 방법이 예시적으로 도시되어 있다. 그리고, 도 9은 도 8에 도시된 프로그램 방법에 따른 프로그램 상태 변화를 보여주는 도면이다. 도 9에는 3 비트 멀티 레벨 셀에서 2번째 비트의 프로그램이 생략된 경우 본 발명의 제 2 실시예에 따른 3번째 비트에 대한 프로그램 상태 변화가 예시적으로 도시되어 있다. 하지만, 아래에서 설명될 본 발명의 프로그램 및 읽기 특성은 3 비트 멀티 레벨 셀에만 국한되지 않고, 다양한 형태의 멀티 레벨 셀에도 적용 가능하다.
도 8을 참조하면, 본 발명에 따른 플래시 메모리 장치의 프로그램 방법은 i+1번째 비트에 대한 프로그램을 수행할 때, 먼저 선택된 메모리 셀의 i번째(예를 들면 2번째) 비트에 대응되는 플래그 셀의 상태를 체크한다(S2000 단계). S2000 단계에서의 판별 결과, 선택된 메모리 셀의 i번째 비트에 대응되는 플래그 정보(FL)가 소정의 값으로 설정되어 있으면, i+1번째(예를 들면 3번째) 페이지 프로그램 알고리즘이 수행된다(S2100 단계). S2100 단계에서는 정상적인 i+1번째 페이지 프로그램 알고리즘을 위한 ISPP 프로그램 조건이 적용된다. 이 경우, 중간 비트에 대한 프로그램 동작은 생략되어 있지 않으므로, 프로그램 상태는 도 4와 같은 형태로 천이된다.
한편 S2000 단계에서의 판별 결과, 선택된 메모리 셀의 i번째(예를 들면 2번째) 비트에 대응되는 플래그 정보(FL)가 소정의 값으로 설정되어 있지 않으면, 프로그램 조건이 i+1번째 페이지 프로그램 알고리즘을 위한 ISPP 프로그램 조건으로 설정된다(S2200 단계). 이어서, S2200 단계에서 설정된 프로그램 조건을 이용하여 i번째(예를 들면 2번째) 페이지 프로그램 알고리즘이 수행된다(S2300 단계). S2300 단계에서 실질적으로 프로그램되는 데이터는 선택된 메모리 셀의 i+1번째 비트로서(도 9의 2301, 2302 참조), i번째 이하의 비트 값은 이전의 상태를 그대로 유지한다(도 9의 2001, 2002 참조).
이 분야의 통상의 지식을 가진 이들에게 잘 알려져 있는 바와 같이, i+1번째 페이지 프로그램 알고리즘을 위한 프로그램 전압(Vpgm)의 레벨은 i번째 페이지 프로그램 알고리즘을 위한 프로그램 전압(Vpgm)의 레벨보다 높다. 그러므로, 본 발명의 S2300 단계에서 수행되는 i번째 페이지 프로그램 알고리즘의 프로그램 상태 변화는 정상적인 i번째 페이지 프로그램 알고리즘에서 얻어지는 프로그램 상태 변화 보다 큰 특징을 갖는다. 즉, 본 발명에 따른 프로그램 방법에 따르면, 높아진 ISPP 프로그램 조건으로 인해 i-1번째(예를 들면 1번째) 프로그램 상태 값이 i+1번째(예를 들면, 3번째) 프로그램 상태 값으로 직접 천이하게 된다. 이때 얻어진 i+1번째(예를 들면, 3번째) 프로그램 상태 값은 도 4의 프로그램 상태에 그대로 대응된다. 그러므로, 본 발명의 제 2 실시예에 따른 프로그램 동작에 의해 프로그램된 데이터 값은 정상 읽기(normal read) 동작시 별도의 전압 조정 없이 읽어낼 수 있다.
도 10은 본 발명의 제 3 실시예에 따른 프로그램 방법을 보여주는 흐름도이다. 도 10에는 멀티 레벨 셀에서 i번째 비트의 프로그램 여부를 고려하여 i+1번째 비트를 프로그램하는 방법이 예시적으로 도시되어 있다. 그리고, 도 11은 도 10에 도시된 프로그램 방법에 따른 프로그램 상태 변화를 보여주는 도면이다. 도 11에는 3 비트 멀티 레벨 셀에서 2번째 비트의 프로그램이 생략된 경우 본 발명의 제 3 실시예에 따른 3번째 비트에 대한 프로그램 상태 변화가 예시적으로 도시되어 있다. 하지만, 아래에서 설명될 본 발명의 프로그램 및 읽기 특성은 3 비트 멀티 레벨 셀에만 국한되지 않고, 다양한 형태의 멀티 레벨 셀에도 적용 가능하다.
도 10을 참조하면, 본 발명에 따른 플래시 메모리 장치의 프로그램 방법은 i+1번째 비트에 대한 프로그램을 수행할 때, 먼저 선택된 메모리 셀의 i번째(예를 들면 2번째) 비트에 대응되는 플래그 셀의 상태를 체크한다(S3000 단계). S3000 단계에서의 판별 결과, 선택된 메모리 셀의 i번째 비트에 대응되는 플래그 정보(FL)가 소정의 값으로 설정되어 있으면, i+1번째(예를 들면 3번째) 페이지 프로그램 알고리즘이 수행된다(S3100 단계). S3100 단계에서는 정상적인 i+1번째 페이지 프로 그램 알고리즘을 위한 ISPP 프로그램 조건이 적용된다. 이 경우, 중간 비트에 대한 프로그램 동작은 생략되어 있지 않으므로, 프로그램 상태는 도 4와 같은 형태로 천이된다.
한편 S3000 단계에서의 판별 결과, 선택된 메모리 셀의 i번째(예를 들면 2번째) 비트에 대응되는 플래그 정보(FL)가 소정의 값으로 설정되어 있지 않으면, 프로그램 조건이 i번째 페이지 프로그램 알고리즘을 위한 ISPP 프로그램 조건으로 설정된다(S3200 단계). 상기 ISPP 프로그램 조건은 외부(예를 들면, 메모리 컨트롤러) 또는 내부(예를 들면, 제어 회로(150))의 제어에 의해 설정되며, 외부 또는 내부의 제어에 의해 다양한 형태로 변경 및 변형 가능하다. 이어서, S3200 단계에서 설정된 프로그램 조건을 이용하여 i번째(예를 들면 2번째) 페이지 프로그램 알고리즘이 수행된다(S3300 단계). S3300 단계에서 프로그램에 사용되는 데이터는 i+1번째 비트에 프로그램되기 위해 페이지 버퍼에 로딩된 데이터이다. 이와 같은 프로그램 방법에 따르면 i+1번째 비트에 프로그램 되기 위해 로딩된 데이터가 선택된 메모리 셀의 i+1번째 비트와 i번째 비트에 모두 프로그램된다(도 11의 3201, 3202 참조). 그 결과, i+1번째 비트와 i번째 비트는 서로 동일한 값을 가지게 되고, i-1번째의 비트 값은 이전의 프로그램 상태를 그대로 유지하게 된다(도 11의 3001, 3002 참조).
이상과 같은 본 발명의 프로그램 방법에 따르면, 선택된 메모리 셀의 i+1번째의 비트는 i 번째 페이지 프로그램 알고리즘을 위한 ISPP 조건을 이용하여 프로그램된다. 이 경우, 프로그램하고자 하는 i+1번째 비트는 원하는 값으로 프로그램 되지만, 그것의 프로그램 상태는 i 번째 페이지 프로그램 알고리즘의 프로그램 상태에 대응되도록 천이된다. 그러므로, 본 발명에서 프로그램된 i+1번째 비트의 데이터 값은 정상 읽기(normal read) 동작시 i번째 비트를 읽을 때 사용하는 전압을 이용하여 읽어낸다. 읽기 전압의 조정은 외부(예를 들면, 메모리 컨트롤러) 또는 내부(예를 들면, 제어 회로(150))의 제어에 따라 다양한 형태로 변경 및 변형될 수 있다.
도 12는 도 10에 도시된 방법에 따라 프로그램된 i+1번째 비트의 값을 읽는 방법을 보여주는 흐름도이다. 도 12에 도시된 읽기 방법은 프로그램된 멀티 레벨 셀의 i+1번째 비트에 대한 정상 읽기(normal-read) 방법을 보여주는 흐름도이다.
도 12를 참조하면, 선택된 메모리 셀에서 i+1 비트의 값을 읽기 위해서는 먼저 읽고자 하는 비트(즉, i+1번째 비트)와 바로 이전의 비트(즉, i번째 비트)에 대응되는 플래그 셀의 상태(FLi +1, FLi)를 체크한다(S4000 단계). S4000 단계에서의 판별 결과, i+1번째 비트와 i번째 비트에 대응되는 플래그 셀의 상태(FLi +1, FLi)가 모두 소정의 값으로 설정되어 있으면, 읽기 전압의 변동 없이 i+1번째 비트에 대한 정상 읽기 동작을 수행한다(S4100 단계).
한편 S4000 단계에서의 판별 결과, i+1번째 비트에 대응되는 플래그 셀의 상태(FLi +1)만 소정의 값으로 설정되어 있으면(즉, 바로 이전 비트인 i번째 비트에 대응되는 플래그 셀의 상태(FLi)가 설정되어 있지 않으면), 읽기 전압을 i번째 비트에 대한 정상 읽기 전압으로 재설정한 후, 이를 이용하여 i+1 비트에 대한 읽기 동작 을 수행한다(S4200 단계). 이와 같은 데이터 읽기 동작에 따르면 정확한 데이터 읽기 동작이 가능해진다.
도 13은 본 발명의 제 4 실시예에 따른 프로그램 방법을 보여주는 흐름도이다. 도 13에는 i+1번째 비트에 대한 프로그램 방법이 예시적으로 도시되어 있다. 도 14는 도 13에 도시된 프로그램 방법에 따른 메모리 셀의 프로그램 상태 변화를 보여주는 도면이다. 도 14에는 3 비트 멀티 레벨 셀에서 2번째 비트의 프로그램이 생략된 경우, 본 발명의 제 4 실시예에 따른 3번째 비트에 대한 프로그램 상태 변화가 예시적으로 도시되어 있다.
도 13 및 도 14를 참조하면, 본 발명에 따른 플래시 메모리 장치의 프로그램 방법은 i+1번째 비트(예를 들면, 3번째 비트)에 대한 프로그램을 수행할 때, 선택된 메모리 셀의 이전 비트(예를 들면, 2번째 비트)에 대한 프로그램 여부를 고려하지 않고 직접 i+1번째 비트에 대한 프로그램을 수행한다(S5000 단계). 이 경우, 추가적인 프로그램 전압 조정은 수행되지 않고, 현재 수행되는 프로그램 알고리즘(즉, i+1번째 페이지 프로그램 알고리즘)에서 필요로 하는 ISPP 프로그램 조건이 그대로 사용된다. 이때의 프로그램 상태 천이는 도 14의 5101-5103와 같다.
i+1번째 페이지 프로그램 알고리즘이 수행되고 나면, 대응되는 플래그 셀에는 플래그 정보(FL)가 설정된다. 이와 같은 플래그 정보(FL)의 설정 동작은 이전에 수행된 페이지 프로그램 알고리즘에서도 마찬가지로 수행된다. 예를 들면, 선택된 메모리 셀의 i번째 비트가 프로그램된 경우, 대응되는 플래그 셀에는 플래그 정보(FL)가 소정의 값(예를 들면, '1' 또는 '0')으로 설정될 것이다. 만일 선택된 메 모리 셀의 i번째 비트가 프로그램되지 않았다면, 대응되는 플래그 셀에는 플래그 정보(FL)가 설정되지 않을 것이다.
본 발명에 따른 프로그램 방법에 따르면, 2번째 비트에 대한 프로그램이 생략된 경우 3번째 비트에 대한 프로그램 상태의 분포는 도 4의 프로그램 상태의 분포와 달라지게 될 것이다. 그러나, 프로그램 상태의 분포가 달라졌다 하더라도 이전 비트에 대한 프로그램 수행 여부에 따라서 읽기 전압만 조정한다면 i+1번째 비트에 프로그램된 값을 정확하게 읽어올 수 있을 것이다. 그러므로, 본 발명에서는 이와 같은 특성을 이용하여 프로그램된 비트에 대한 읽기 동작시, 이전 비트에 대한 프로그램 수행 여부에 따라서 현재 읽어오고자 하는 비트의 읽기 전압을 조절한다. 상기 읽기 전압은 외부(예를 들면, 메모리 컨트롤러) 또는 내부(예를 들면, 제어 회로(150))의 제어에 따라 다양한 형태로 변경 및 변형될 수 있다.
도 15는 도 13에 도시된 방법에 따라 프로그램된 i+1번째 비트의 값을 읽는 방법을 보여주는 흐름도이다. 도 15에 도시된 읽기 방법은 프로그램된 멀티 레벨 셀의 i+1번째 비트에 대한 정상 읽기(normal-read) 방법을 보여주는 흐름도이다.
도 15를 참조하면, 선택된 메모리 셀에서 i+1 비트의 값을 읽기 위해서는 먼저 읽고자 하는 비트(즉, i+1번째 비트)와 바로 이전의 비트(즉, i번째 비트)에 대응되는 플래그 셀의 상태(FLi +1, FLi)를 체크한다(S6000 단계). S6000 단계에서의 판별 결과, i+1번째 비트와 i번째 비트에 대응되는 플래그 셀의 상태(FLi +1, FLi)가 모두 소정의 값으로 설정되어 있으면, i+1번째 비트에 대한 정상 읽기 동작을 수행한 다(S6100 단계). 이 경우, 읽기 전압은 i+1번째 비트를 읽기 위해 정의된 정상적인 읽기 전압을 그대로 이용한다.
한편 S6000 단계에서의 판별 결과, i+1번째 비트에 대응되는 플래그 셀의 상태(FLi +1)만 소정의 값으로 설정되어 있으면(즉, 바로 이전 비트인 i번째 비트에 대응되는 플래그 셀의 상태(FLi)가 설정되어 있지 않으면), 도 15에 대응되는 프로그램 상태에 대응되도록 설정된 읽기 전압을 이용하여 i+1 비트에 대한 읽기 동작을 수행한다(S6200 단계). 상기 읽기 전압의 레벨은 도 14에 도시된 프로그램 상태에 따라 정의된다. 도 13 내지 도 15에 도시된 프로그램 방법 및 읽기 방법에 따르면 프로그램 동작시 중간 비트에 대한 프로그램이 생략되었는지에 상관없이 일률적인 제어 방식에 의해 프로그램을 수행할 수 있기 때문에, 프로그램 동작을 제어하는 구성이 간단한 장점이 있다. 또한, 이전 비트에 대한 프로그램 수행 여부에 따라서 현재 읽어오고자 하는 비트의 읽기 전압을 조절하기 때문에, 정확한 데이터 읽기 동작이 가능해 진다.
도 16은 도 1에 도시된 본 발명의 플래시 메모리 장치(100)를 포함하는 메모리 시스템(1000)의 개략적인 구성을 보여주는 도면이다.
도 16을 참조하면, 본 발명에 따른 메모리 시스템(1000)은 플래시 메모리 장치(100)와 메모리 컨트롤러(200)를 포함한다. 플래시 메모리 장치(100)의 구성은 도 1에 도시된 것과 실질적으로 동일하다. 그러므로, 그것에 대한 중복되는 설명은 이하 생략된다. 메모리 컨트롤러(200)는 플래시 메모리 장치(100)를 제어하도록 구 성된다. 플래시 메모리 장치(100)는 앞서 설명된 프로그램 방법들 중 하나와, 읽기 방법들 중 어느 하나에 따라 프로그램 및 읽기 동작을 수행하도록 구성된다. 프로그램 및 읽기에 사용될 프로그램 전압 및 읽기 전압은 메모리 컨트롤러(200) 또는 플래시 메모리 장치(100) 내부의 제어 회로(150)의 제어에 의해 선택된다. 프로그램 및 읽기에 사용될 프로그램 전압 및 읽기 전압은, 선택된 메모리 셀에서 수행된 각 비트의 프로그램 수행 여부를 고려하여 메모리 컨트롤러(200) 또는 내부의 제어 회로(150)에 의해서 결정된다. 선택된 메모리 셀의 각 비트의 프로그램 수행 여부는 플래그 셀에 저장되어 있는 플래그 정보(FL)를 이용하여 판별된다.
도 16에 도시된 플래시 메모리 시스템(1000)은 메모리 카드 및/또는 메모리 카드 시스템을 구성할 수 있다. 이러한 경우, 메모리 컨트롤러(200)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 수 있다. 잘 알려져 있는 바와 같이, 플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 불 휘발성 메모리 장치이다. 이와 같은 특성 때문에 플래시 메모리장치는 데이터 스토리지 뿐만 아니라 전원 공급에 상관없이 보존되어야 할 내용을 기억시키는 코드 스토리지로서 보다 널리 사용된다. 이와 같은 특성을 갖는 플래시 메모리 장치는 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들에 사용될 수 있고, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에도 사용될 수 있다.
도 17은 본 발명에 따른 플래시 메모리 장치(100)를 포함하는 컴퓨팅 시스템(2000)의 개략적인 구성을 보여주는 도면이다.
도 17을 참조하면, 본 발명에 따른 컴퓨팅 시스템(2000)은 버스(400)에 전기적으로 연결된 플래시 메모리 장치(100), 메모리 컨트롤러(200), 베이스밴드 칩셋(baseband chipset)과 같은 모뎀(300), 마이크로프로세서(500), 그리고 사용자 인터페이스(600)를 포함한다. 도 17에 도시된 플래시 메모리 장치(100)는 도 1에 도시된 것과 실질적으로 동일하게 구성된다. 플래시 메모리 장치(100)에는 마이크로프로세서(500)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 메모리 컨트롤러(200)를 통해 저장된다.
플래시 메모리 장치(100)는 앞서 설명된 프로그램 방법들 중 하나와, 읽기 방법들 중 어느 하나에 따라 프로그램 및 읽기 동작을 수행하도록 구성된다. 프로그램 및 읽기에 사용될 프로그램 전압 및 읽기 전압은 메모리 컨트롤러(200) 또는 플래시 메모리 장치(100) 내부의 제어 회로(150)의 제어에 의해 선택된다. 프로그램 및 읽기에 사용될 프로그램 전압 및 읽기 전압은, 선택된 메모리 셀에서 수행된 각 비트의 프로그램 수행 여부를 고려하여 메모리 컨트롤러(200) 또는 내부의 제어 회로(150)에 의해서 결정된다. 선택된 메모리 셀의 각 비트의 프로그램 수행 여부는 플래그 셀에 저장되어 있는 플래그 정보(FL)를 이용하여 판별된다.
본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(700)가 추가적으로 제공된다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 메모리 컨트롤러(200)와 플래시 메모리 장치(100)는, 예를 들면, 데이터를 저장하는 데 불 휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다. 본 발명의 예시적인 실시예에 있어서, 메모리 셀들은 전하 저장층을 갖는 다양한 셀 구조들 중 하나를 이용하여 구현될 수 있다. 전하 저장층을 갖는 셀 구조는, 전하 트랩층을 이용하는 전하 트랩 플래시 구조, 어레이들이 다층으로 적층되는 스택 플래시 구조, 소오스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조 등이 적용될 수 있음은 이 분야의 통상의 지식을 가진 이들에게 있어 자명하다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명에 따른 플래시 메모리 장치의 개략적인 구성을 보여주는 도면이다.
도 2 및 도 3은 도 1에 도시된 셀 어레이의 구성 예를 보여주는 도면이다.
도 4는 도 2에 도시된 플래시 메모리 셀의 프로그램 상태 분포를 보여주는 도면이다.
도 5는 도 2에 도시된 플래시 메모리 셀의 각 비트에 대한 페이지 어드레스 할당 결과를 예시적으로 보여주는 도면이다.
도 6은 본 발명의 제 1 실시예에 따른 프로그램 방법을 보여주는 흐름도이다.
도 7은 도 6에 도시된 프로그램 방법에 따른 프로그램 상태 변화를 보여주는 도면이다.
도 8은 본 발명의 제 2 실시예에 따른 프로그램 방법을 보여주는 흐름도이다.
도 9은 도 8에 도시된 프로그램 방법에 따른 프로그램 상태 변화를 보여주는 도면이다.
도 10은 본 발명의 제 3 실시예에 따른 프로그램 방법을 보여주는 흐름도이다.
도 11은 도 10에 도시된 프로그램 방법에 따른 프로그램 상태 변화를 보여주는 도면이다.
도 12는 도 10에 도시된 방법에 따라 프로그램된 i+1번째 비트의 값을 읽는 방법을 보여주는 흐름도이다.
도 13은 본 발명의 제 4 실시예에 따른 프로그램 방법을 보여주는 흐름도이다.
도 14는 도 13에 도시된 프로그램 방법에 따른 메모리 셀의 프로그램 상태 변화를 보여주는 도면이다.
도 15는 도 13에 도시된 방법에 따라 프로그램된 i+1번째 비트의 값을 읽는 방법을 보여주는 흐름도이다.
도 16은 도 1에 도시된 본 발명의 플래시 메모리 장치를 포함하는 메모리 시스템의 개략적인 구성을 보여주는 도면이다.
도 17은 본 발명에 따른 플래시 메모리 장치를 포함하는 컴퓨팅 시스템의 개략적인 구성을 보여주는 도면이다.
*도면의 주요 부분에 대한 부호의 설명*
100 : 플래시 메모리 110 : 셀 어레이
120 : 디코딩 회로 130 : 기입 독출회로
150 : 제어 회로 160 : 전압 발생 회로
200 : 메모리 컨트롤러 1000 : 메모리 시스템
2000 : 컴퓨팅 시스템

Claims (21)

  1. 셀 당 복수의 비트를 프로그램하되,
    상기 복수의 비트 중 프로그램을 위해 선택된 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 선택된 비트의 프로그램 조건을 설정하는 플래시 메모리 장치의 프로그램 방법.
  2. 제 1 항에 있어서,
    상기 프로그램 조건은 증가형 스텝 펄스 프로그래밍(incremental step pulse programming: ISPP)의 각 프로그램 루프에 적용되는 프로그램 전압(Vpgm)의 레벨, 프로그램 전압(Vpgm)의 인가 횟수, 전압 증가분(△V), 프로그램 전압 인가 시간 중 적어도 하나를 포함하는 플래시 메모리 장치의 프로그램 방법.
  3. 제 1 항에 있어서,
    상기 셀의 i+1 번째 (i는 양의 정수) 비트를 프로그램할 때 상기 프로그램 조건을 설정하는 방법은
    플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계;
    상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단 계; 그리고
    상기 i 번째 비트의 프로그램이 생략된 경우 상기 i번째 비트에 소정의 데이터를 일률적으로 프로그램한 후, 상기 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계를 포함하는 플래시 메모리 장치의 프로그램 방법.
  4. 제 3 항에 있어서,
    상기 프로그램된 i+1 번째 비트에는 i+1번째 비트의 정상 읽기 전압이 적용되는 플래시 메모리 장치의 프로그램 방법.
  5. 제 1 항에 있어서,
    상기 셀의 i+1 번째 (i는 양의 정수) 비트를 프로그램할 때 상기 프로그램 조건을 설정하는 방법은
    플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계;
    상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계; 그리고
    상기 i 번째 비트의 프로그램이 생략된 경우 상기 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계 를 포함하는 플래시 메모리 장치의 프로그램 방법.
  6. 제 5 항에 있어서,
    상기 i 번째 비트의 프로그램이 생략되지 않은 경우 상기 i+1번째 비트는 i+1번째 페이지 프로그램 알고리즘을 통해 프로그램되고,
    상기 i 번째 비트의 프로그램이 생략된 경우 상기 i+1번째 비트는 i번째 페이지 프로그램 알고리즘을 통해 프로그램되는 플래시 메모리 장치의 프로그램 방법.
  7. 제 5 항에 있어서,
    상기 프로그램된 i+1 번째 비트는 i+1번째 비트에 대한 정상 읽기 전압을 이용하여 읽혀지는 플래시 메모리 장치의 프로그램 방법.
  8. 제 1 항에 있어서,
    상기 셀의 i+1 번째 (i는 양의 정수) 비트를 프로그램할 때 상기 프로그램 조건을 설정하는 방법은
    플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계;
    상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단 계; 그리고
    상기 i 번째 비트의 프로그램이 생략된 경우 i번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계를 포함하는 플래시 메모리 장치의 프로그램 방법.
  9. 제 8 항에 있어서,
    상기 i 번째 비트의 프로그램이 생략되지 않은 경우 상기 i+1번째 비트는 i+1번째 페이지 프로그램 알고리즘을 통해 프로그램되고,
    상기 i 번째 비트의 프로그램이 생략된 경우 상기 i+1번째 비트는 i번째 페이지 프로그램 알고리즘을 통해 프로그램되는 플래시 메모리 장치의 프로그램 방법.
  10. 제 8 항에 있어서,
    상기 i 번째 비트의 프로그램이 생략된 경우 상기 i번째 비트는 상기 i+1번째 비트와 동일한 값으로 프로그램되는 플래시 메모리 장치의 프로그램 방법.
  11. 제 8 항에 있어서,
    상기 i 번째 비트의 프로그램이 생략된 경우 상기 프로그램된 i+1 번째 비트는 i번째 비트에 대한 정상 읽기 전압을 이용하여 읽혀지는 플래시 메모리 장치의 프로그램 방법.
  12. 제 1 항에 있어서,
    상기 셀의 i+1 번째 (i는 양의 정수) 비트를 프로그램할 때 상기 프로그램 조건을 설정하는 방법은
    상기 셀의 i 번째 비트의 프로그램 생략 여부와 상관없이 i+1번째 비트 프로그램 알고리즘의 프로그램 조건을 적용하여 상기 셀의 i+1번째 비트를 프로그램하는 단계를 포함하며, 상기 셀에서는 i+1 번째 페이지 프로그램 알고리즘이 수행되는 플래시 메모리 장치의 프로그램 방법.
  13. 제 12 항에 있어서,
    상기 i 번째 비트의 프로그램이 생략되지 않은 경우 상기 프로그램된 i+1 번째 비트는 i+1번째 비트에 대한 정상 읽기 전압을 이용하여 읽혀지고,
    상기 i 번째 비트의 프로그램이 생략된 경우 상기 i+1 번째 비트의 프로그램 상태에 대응되도록 정의된 읽기 전압을 이용하여 읽혀지는 플래시 메모리 장치의 프로그램 방법.
  14. 셀 당 복수의 비트가 프로그램되며,
    상기 복수의 비트 중 읽기 위해 선택된 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 선택된 비트의 읽기 전압을 설정하는 플래시 메모리 장치의 읽기 방법.
  15. 제 14 항에 있어서,
    상기 셀의 i+1 번째 (i는 양의 정수) 비트를 읽을 때 상기 읽기 전압을 설정하는 방법은
    플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계;
    상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트의 정상 읽기 전압을 상기 셀의 i+1번째 비트의 읽기 전압으로 설정하는 단계; 그리고
    상기 i 번째 비트의 프로그램이 생략된 경우 i번째 비트의 정상 읽기 전압을 상기 셀의 i+1번째 비트의 읽기 전압으로 설정하는 단계를 포함하는 플래시 메모리 장치의 읽기 방법.
  16. 제 14 항에 있어서,
    상기 셀의 i+1 번째 (i는 양의 정수) 비트를 읽을 때 상기 읽기 전압을 설정하는 방법은
    플래그 정보를 확인하여 상기 셀의 i 번째 비트의 프로그램 생략 여부를 판별하는 단계;
    상기 i 번째 비트의 프로그램이 생략되지 않은 경우 i+1번째 비트의 정상 읽기 전압을 상기 셀의 i+1번째 비트의 읽기 전압으로 설정하는 단계; 그리고
    상기 i 번째 비트의 프로그램이 생략된 경우 i+1 번째 비트의 프로그램 상태 에 대응되도록 정의된 읽기 전압을 상기 셀의 i+1번째 비트의 읽기 전압으로 설정하는 단계를 포함하는 플래시 메모리 장치의 읽기 방법.
  17. 셀 당 복수의 비트가 프로그램되는 메모리 셀들의 어레이; 그리고
    상기 셀에 프로그램될 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 프로그램될 비트에 대한 프로그램 조건을 설정하는 제어 회로를 포함하는 플래시 메모리 장치.
  18. 제 17 항에 있어서,
    상기 프로그램 조건은 증가형 스텝 펄스 프로그래밍(incremental step pulse programming: ISPP)의 각 프로그램 루프에 적용되는 프로그램 전압(Vpgm)의 레벨, 프로그램 전압(Vpgm)의 인가 횟수, 전압 증가분(△V), 프로그램 전압 인가 시간 중 적어도 하나를 포함하는 플래시 메모리 장치.
  19. 제 17 항에 있어서,
    상기 제어 회로는 상기 셀로부터 읽어낼 비트 바로 이전 비트의 프로그램 생략 여부에 따라서 상기 읽어낼 비트의 읽기 전압을 설정하는 플래시 메모리 장치.
  20. 플래시 메모리 장치; 그리고
    상기 플래시 메모리 장치를 제어하는 메모리 컨트롤러를 포함하며,
    상기 플래시 메모리 장치는 청구항 17에 기재된 것을 포함하는 메모리 시스템.
  21. 호스트;
    플래시 메모리 장치; 그리고
    상기 호스트의 요청에 따라 상기 플래시 메모리 장치를 제어하는 메모리 컨트롤러를 포함하며,
    상기 플래시 메모리 장치는 청구항 17에 기재된 것을 포함하는 컴퓨팅 시스템.
KR1020070106724A 2007-10-23 2007-10-23 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 및 읽기방법 KR101391881B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070106724A KR101391881B1 (ko) 2007-10-23 2007-10-23 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 및 읽기방법
US12/255,211 US7876614B2 (en) 2007-10-23 2008-10-21 Multi-bit flash memory device and program and read methods thereof
JP2008271080A JP5599145B2 (ja) 2007-10-23 2008-10-21 マルチビットフラッシュメモリ装置及びそれのプログラム及び読み出し方法
CN200810177840XA CN101430933B (zh) 2007-10-23 2008-10-23 多比特快闪存储器件及其编程和读取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070106724A KR101391881B1 (ko) 2007-10-23 2007-10-23 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 및 읽기방법

Publications (2)

Publication Number Publication Date
KR20090041157A true KR20090041157A (ko) 2009-04-28
KR101391881B1 KR101391881B1 (ko) 2014-05-07

Family

ID=40563330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070106724A KR101391881B1 (ko) 2007-10-23 2007-10-23 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 및 읽기방법

Country Status (4)

Country Link
US (1) US7876614B2 (ko)
JP (1) JP5599145B2 (ko)
KR (1) KR101391881B1 (ko)
CN (1) CN101430933B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120079202A (ko) * 2011-01-04 2012-07-12 삼성전자주식회사 부분-이레이즈 동작을 수행할 수 있는 비휘발성 메모리 장치, 이의 동작 방법, 및 상기 비휘발성 메모리 장치를 포함하는 장치들
US9007827B2 (en) 2012-10-31 2015-04-14 Samsung Electronics Co., Ltd. Nonvolatile memory device and method of programming nonvolatile memory device
US9548125B2 (en) 2014-12-11 2017-01-17 SK Hynix Inc. Semiconductor device having multi-level cell and method of reading the same

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100933852B1 (ko) * 2007-12-28 2009-12-24 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
US8068365B2 (en) 2008-02-04 2011-11-29 Mosaid Technologies Incorporated Non-volatile memory device having configurable page size
US8120990B2 (en) * 2008-02-04 2012-02-21 Mosaid Technologies Incorporated Flexible memory operations in NAND flash devices
JP2010140521A (ja) * 2008-12-09 2010-06-24 Powerchip Semiconductor Corp 不揮発性半導体記憶装置とその読み出し方法
US8026544B2 (en) * 2009-03-30 2011-09-27 Sandisk Technologies Inc. Fabricating and operating a memory array having a multi-level cell region and a single-level cell region
KR101635504B1 (ko) 2009-06-19 2016-07-04 삼성전자주식회사 3차원 수직 채널 구조를 갖는 불 휘발성 메모리 장치의 프로그램 방법
KR101082756B1 (ko) 2010-07-09 2011-11-10 주식회사 하이닉스반도체 반도체 메모리 소자의 동작 방법
JP2012048791A (ja) * 2010-08-27 2012-03-08 Toshiba Corp 多値不揮発性半導体メモリシステム
KR101203341B1 (ko) * 2010-09-14 2012-11-20 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그의 동작 방법
CN102347069B (zh) * 2011-05-26 2013-04-03 忆正存储技术(武汉)有限公司 多层式存储闪存阵列的编程方式及其切换控制方法
JP2013041654A (ja) * 2011-08-19 2013-02-28 Toshiba Corp 不揮発性記憶装置
KR20160073834A (ko) * 2014-12-17 2016-06-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템 동작 방법
FR3031832B1 (fr) * 2015-01-15 2017-02-03 Commissariat Energie Atomique Systeme de caracterisation d'une cellule memoire flash
US9224492B1 (en) * 2015-02-17 2015-12-29 Phison Electronics Corp. Memory management method, memory storage device and memory controlling circuit unit
CN104978153B (zh) * 2015-07-10 2018-12-25 北京兆易创新科技股份有限公司 资料存储型闪存中配置信息的方法与装置
US11120884B2 (en) 2015-09-30 2021-09-14 Sunrise Memory Corporation Implementing logic function and generating analog signals using NOR memory strings
US9543033B1 (en) 2015-11-19 2017-01-10 Kabushiki Kaisha Toshiba Semiconductor memory device, control method, and memory system
CN105895156B (zh) * 2016-03-30 2019-09-20 深圳忆联信息***有限公司 一种信息处理方法及电子设备
KR102513489B1 (ko) * 2016-08-26 2023-03-23 선라이즈 메모리 코포레이션 3차원 어레이에서 용량 결합된 비휘발성 박막 트랜지스터 스트링
WO2021127218A1 (en) 2019-12-19 2021-06-24 Sunrise Memory Corporation Process for preparing a channel region of a thin-film transistor
US11842777B2 (en) 2020-11-17 2023-12-12 Sunrise Memory Corporation Methods for reducing disturb errors by refreshing data alongside programming or erase operations
US11848056B2 (en) 2020-12-08 2023-12-19 Sunrise Memory Corporation Quasi-volatile memory with enhanced sense amplifier operation
TW202310429A (zh) 2021-07-16 2023-03-01 美商日升存儲公司 薄膜鐵電電晶體的三維記憶體串陣列

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
KR0169412B1 (ko) * 1995-10-16 1999-02-01 김광호 불휘발성 반도체 메모리 장치
KR0170707B1 (ko) * 1995-11-29 1999-03-30 김광호 비휘발성 메모리 소자 및 그 구동 방법
KR0172408B1 (ko) * 1995-12-11 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 및 그의 구동방법
KR0170714B1 (ko) * 1995-12-20 1999-03-30 김광호 낸드형 플래쉬 메모리 소자 및 그 구동방법
JP2870478B2 (ja) * 1996-04-25 1999-03-17 日本電気株式会社 不揮発性半導体記憶装置及びその動作方法
KR100204342B1 (ko) * 1996-08-13 1999-06-15 윤종용 불 휘발성 반도체 메모리 장치
US5862074A (en) * 1996-10-04 1999-01-19 Samsung Electronics Co., Ltd. Integrated circuit memory devices having reconfigurable nonvolatile multi-bit memory cells therein and methods of operating same
KR100205006B1 (ko) * 1996-10-08 1999-06-15 윤종용 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치
KR100257868B1 (ko) * 1997-12-29 2000-06-01 윤종용 노어형 플래시 메모리 장치의 소거 방법
KR100258574B1 (ko) * 1997-12-30 2000-06-15 윤종용 반도체 메모리 장치 및 그 장치의 프로그램/소거 검증 방법
DE19815874C2 (de) 1998-04-08 2002-06-13 Infineon Technologies Ag ROM-Halbleiter-Speichervorrichtung mit Implantationsbereichen zur Einstellung eines Kontaktwiderstandes und Verfahren zu deren Herstellung
US5973958A (en) * 1998-06-23 1999-10-26 Advanced Micro Devices, Inc. Interlaced storage and sense technique for flash multi-level devices
KR100290283B1 (ko) * 1998-10-30 2001-05-15 윤종용 불휘발성 반도체 메모리 장치 및 그의 워드 라인 구동 방법
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6772274B1 (en) * 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
KR100407572B1 (ko) * 2001-01-10 2003-12-01 삼성전자주식회사 낸드형 플래쉬 메모리 장치에서의 셀 드레쉬홀드 전압의분포를 개선하는 방법
US6549483B2 (en) * 2001-03-30 2003-04-15 Atmos Corporation RAM having dynamically switchable access modes
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
GB0123416D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
KR100463197B1 (ko) * 2001-12-24 2004-12-23 삼성전자주식회사 멀티-페이지 프로그램 동작, 멀티-페이지 읽기 동작,그리고 멀티-블록 소거 동작을 갖는 낸드 플래시 메모리장치
KR100437461B1 (ko) * 2002-01-12 2004-06-23 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 소거, 프로그램,그리고 카피백 프로그램 방법
US6549457B1 (en) 2002-02-15 2003-04-15 Intel Corporation Using multiple status bits per cell for handling power failures during write operations
US6986016B2 (en) * 2002-09-30 2006-01-10 International Business Machines Corporation Contiguous physical memory allocation
US6847550B2 (en) * 2002-10-25 2005-01-25 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
JP3935139B2 (ja) * 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
KR100496866B1 (ko) * 2002-12-05 2005-06-22 삼성전자주식회사 미프로그램된 셀들 및 과프로그램된 셀들 없이 균일한문턱 전압 분포를 갖는 플레쉬 메모리 장치 및 그프로그램 검증 방법
US7085909B2 (en) * 2003-04-29 2006-08-01 International Business Machines Corporation Method, system and computer program product for implementing copy-on-write of a file
JP4005000B2 (ja) 2003-07-04 2007-11-07 株式会社東芝 半導体記憶装置及びデータ書き込み方法。
KR100505705B1 (ko) * 2003-08-22 2005-08-03 삼성전자주식회사 플래쉬 메모리 셀의 안정적인 프로그래밍을 위한 프로그램전압 발생 회로 및 그 프로그래밍 방법
JP2005092923A (ja) * 2003-09-12 2005-04-07 Renesas Technology Corp 半導体記憶装置
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
WO2005078732A1 (en) * 2004-02-05 2005-08-25 Iota Technology, Inc. Electronic memory with tri-level cell pair
US7057939B2 (en) * 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
TWI249670B (en) * 2004-04-29 2006-02-21 Mediatek Inc System and method capable of sequentially writing a flash memory
JP4192129B2 (ja) * 2004-09-13 2008-12-03 株式会社東芝 メモリ管理装置
US7254075B2 (en) * 2004-09-30 2007-08-07 Rambus Inc. Integrated circuit memory system having dynamic memory bank count and page size
JP4713873B2 (ja) 2004-11-12 2011-06-29 株式会社東芝 半導体記憶装置
US7230851B2 (en) * 2004-12-23 2007-06-12 Sandisk Corporation Reducing floating gate to floating gate coupling effect
US7457909B2 (en) * 2005-01-14 2008-11-25 Angelo Di Sena Controlling operation of flash memories
KR100666174B1 (ko) * 2005-04-27 2007-01-09 삼성전자주식회사 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법
KR100739967B1 (ko) * 2005-05-27 2007-07-16 주식회사 하이닉스반도체 플래시 메모리 장치의 프로그램 방법
KR100642892B1 (ko) * 2005-07-19 2006-11-03 주식회사 하이닉스반도체 면적이 감소된 페이지 버퍼 회로와 그 독출 및 프로그램동작 방법
KR100669351B1 (ko) 2005-07-29 2007-01-16 삼성전자주식회사 멀티 레벨 셀 플래시 메모리의 프로그램 방법 및 장치
KR100729359B1 (ko) * 2005-09-23 2007-06-15 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
US7516297B2 (en) * 2005-11-10 2009-04-07 Hewlett-Packard Development Company, L.P. Memory management
KR100666223B1 (ko) * 2006-02-22 2007-01-09 삼성전자주식회사 메모리셀 사이의 커플링 노이즈를 저감시키는 3-레벨불휘발성 반도체 메모리 장치 및 이에 대한 구동방법
US7400527B2 (en) * 2006-03-16 2008-07-15 Flashsilicon, Inc. Bit symbol recognition method and structure for multiple bit storage in non-volatile memories
KR100816155B1 (ko) * 2006-12-28 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 멀티레벨 셀 프로그램 방법
US7986554B2 (en) * 2008-03-19 2011-07-26 Sandisk Technologies Inc. Different combinations of wordline order and look-ahead read to improve non-volatile memory performance

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120079202A (ko) * 2011-01-04 2012-07-12 삼성전자주식회사 부분-이레이즈 동작을 수행할 수 있는 비휘발성 메모리 장치, 이의 동작 방법, 및 상기 비휘발성 메모리 장치를 포함하는 장치들
US9007827B2 (en) 2012-10-31 2015-04-14 Samsung Electronics Co., Ltd. Nonvolatile memory device and method of programming nonvolatile memory device
US9183938B2 (en) 2012-10-31 2015-11-10 Samsung Electronics Co., Ltd. Nonvolatile memory device and method of programming nonvolatile memory device
US9548125B2 (en) 2014-12-11 2017-01-17 SK Hynix Inc. Semiconductor device having multi-level cell and method of reading the same

Also Published As

Publication number Publication date
JP2009104763A (ja) 2009-05-14
CN101430933B (zh) 2013-07-10
US7876614B2 (en) 2011-01-25
KR101391881B1 (ko) 2014-05-07
CN101430933A (zh) 2009-05-13
US20090103360A1 (en) 2009-04-23
JP5599145B2 (ja) 2014-10-01

Similar Documents

Publication Publication Date Title
KR101391881B1 (ko) 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 및 읽기방법
KR101401558B1 (ko) 플래시 메모리 장치, 그것의 프로그램 및 소거 방법들,그리고 그것을 포함하는 메모리 시스템 및 컴퓨터 시스템
US8446766B2 (en) Nonvolatile memory device and related programming method
US9087608B2 (en) Method of programming non-volatile memory device and non-volatile memory device using the same
US8539138B2 (en) Flash memory device and method of programming flash memory device
US10573378B2 (en) Methods of programming memory devices
US8107296B2 (en) Mitigation of data corruption from back pattern and program disturb in a non-volatile memory device
EP2427885B1 (en) Multiple level program verify in a memory device
KR101487524B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20100010355A (ko) 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법
KR101308014B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 리커버리 방법
KR101373186B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법들, 그리고그것을 포함하는 메모리 시스템 및 컴퓨터 시스템
KR20150091665A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20120021758A (ko) 비휘발성 메모리 장치 및 그 프로그램 방법, 메모리 시스템
KR101456592B1 (ko) 멀티-비트 플래시 메모리 장치 및 그것의 플래그 셀 분석방법
US8045382B2 (en) Flash memory devices and erasing methods thereof
KR101642930B1 (ko) 더미 셀을 갖는 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20090124291A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
JP2009238328A (ja) 不揮発性半導体記憶装置及び不揮発性半導体記憶システム

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

Year of fee payment: 6