KR20120118764A - 불휘발성 메모리 장치의 프로그램 방법 - Google Patents

불휘발성 메모리 장치의 프로그램 방법 Download PDF

Info

Publication number
KR20120118764A
KR20120118764A KR1020110036352A KR20110036352A KR20120118764A KR 20120118764 A KR20120118764 A KR 20120118764A KR 1020110036352 A KR1020110036352 A KR 1020110036352A KR 20110036352 A KR20110036352 A KR 20110036352A KR 20120118764 A KR20120118764 A KR 20120118764A
Authority
KR
South Korea
Prior art keywords
program
voltage
memory cell
logic state
logic
Prior art date
Application number
KR1020110036352A
Other languages
English (en)
Other versions
KR101772578B1 (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 KR1020110036352A priority Critical patent/KR101772578B1/ko
Priority to US13/443,053 priority patent/US8902666B2/en
Publication of KR20120118764A publication Critical patent/KR20120118764A/ko
Application granted granted Critical
Publication of KR101772578B1 publication Critical patent/KR101772578B1/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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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

Landscapes

  • Read Only Memory (AREA)

Abstract

본 발명은 불휘발성 메모리 장치의 프로그램 방법에 관한 것이다. 본 발명의 실시 예에 따르면, 목표 논리 상태에 따라 하나의 프로그램 전압이 선택 메모리 셀에 인가되거나, 복수의 프로그램 전압들이 선택 메모리 셀에 인가될 것이다. 또한, 논리 상태들의 목표 검증 전압 간의 간격에 따라 하나의 프로그램 검증 전압이 선택 메모리 셀에 인가되거나, 복수의 프로그램 검증 전압들이 선택 메모리 셀에 인가될 것이다. 이러한 프로그램 동작을 통해 메모리 셀은 조밀한 문턱 전압 분포를 가질 수 있을 뿐만 아니라, 프로그램 속도 역시 향상될 수 있다.

Description

불휘발성 메모리 장치의 프로그램 방법{PROGRAMMING METHOD FOR NONVOLATILE MEMORY DEVICE}
본 발명은 불휘발성 메모리 장치에 관한 것으로, 더욱 상세하게는 불휘발성 메모리 장치의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 일반적으로 휘발성 메모리와 불휘발성 메모리 장치로 분류된다. 휘발성 메모리 장치는 전원이 차단될 때 저장된 데이터를 잃지만, 불휘발성 메모리 장치는 전원이 차단되더라도 저장된 데이터를 보존할 수 있다. 불휘발성 메모리 장치는 다양한 형태의 메모리 셀 트랜지스터들을 포함한다. 불휘발성 메모리 장치는 메모리 셀 트랜지스터의 구조에 따라 플래시 메모리 장치, 강유전체 램(Ferroelectric RAM: FRAM), 마그네틱 램(Magnetic RAM: MRAM), 상 변화 램(Phase change RAM: PRAM)등으로 구분될 수 있다.
불휘발성 메모리 장치 중에서 플래시 메모리 장치는 메모리 셀과 비트 라인의 연결 상태에 따라 크게 노어(NOR) 플래시 메모리 장치와 낸드(NAND) 플래시 메모리 장치로 구분된다. 노어 플래시 메모리 장치는 1개의 비트 라인에 2개 이상의 메모리 셀 트렌지스터들이 병렬로 연결되는 구조를 갖는다. 따라서, 노어 플래시 메모리 장치는 우수한 랜덤 액세스(random access) 시간 특성을 갖는다. 반면, 낸드 플래시 메모리 장치는 1개의 비트 라인에 2개 이상의 메모리 셀 트렌지스터들이 직렬로 연결되는 구조를 갖는다. 이러한 구조를 셀 스트링(string) 구조라고 하며, 셀 스트링당 한 개의 비트 라인 컨택(contact)을 필요로 한다. 따라서, 낸드 플래시 메모리 장치는 집적도면에서 우수한 특성을 갖는다.
플래시 메모리 장치의 메모리 셀들은 문턱 전압 분포에 따라 온 셀(on cell)과 오프 셀(off cell)로 구분된다. 온 셀은 소거된 셀(erased cell)이고, 오프 셀은 프로그램된 셀(programmed cell)이다. 메모리 셀은 적어도 1비트 데이터를 저장한다. 예를 들면, 하나의 메모리 셀이 1비트 데이터를 저장하는 경우, 메모리 셀은 소거 상태와 하나의 프로그램 상태 중 어느 하나에 속하도록 프로그램된다. 다른 예로써, 하나의 메모리 셀이 2비트 데이터를 저장하는 경우, 메모리 셀은 소거 상태와 3개의 프로그램 상태들 중 어느 하나에 속하도록 프로그램된다. 다른 예로써, 하나의 메모리 셀이 3비트 데이터를 저장하는 경우, 메모리 셀은 소거 상태와 7개의 프로그램 상태들 중 어느 하나에 속하도록 프로그램된다. 플래시 메모리 장치의 저장 용량을 증가시키기 위해서, 더욱 많은 데이터를 저장하기 위한 다양한 기술들이 활발히 연구되고 있다.
메모리 셀에 저장된 데이터는 메모리 셀들의 문턱 전압의 크기를 감지하여 독출된다. 독출 시 발생하는 에러를 줄이고 데이터의 신뢰성을 높이기 위해서, 메모리 셀들은 조밀한 문턱 전압 분포를 갖도록 프로그램되어야 한다. 특히, 하나의 메모리 셀이 멀티 비트를 저장하는 멀티 레벨 셀(MLC) 플래시 메모리 장치에 있어서, 읽기 마진을 확보하기 위해서, 메모리 셀들은 조밀한 문턱 전압 분포를 갖도록 프로그램되어야 한다.
본 발명의 목적은 프로그램 속도가 향상된 불휘발성 메모리 장치의 프로그램 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 이전 논리 상태들로부터 현재 논리 상태들로 메모리 셀들을 프로그램하기 위한 불휘발성 메모리 장치의 프로그램 방법은, 프로그램 전압을 선택된 메모리 셀에 인가하는 단계; 및 상기 현재 논리 상태들을 검증하기 위한 프리 검증 전압과 목표 검증 전압을 상기 선택된 메모리 셀에 인가하는 단계를 포함하되, 상기 현재 논리 상태들 중 하나인 제 1 논리 상태의 목표 검증 전압과 상기 현재 논리 상태들 중 하나인 제 2 논리 상태의 목표 검증 전압 간의 간격이, 상기 이전 논리 상태들 중 하나인 제 3 논리 상태의 목표 검증 전압과 상기 이전 논리 상태들 중 하나인 제 4 논리 상태의 목표 검증 전압 간의 간격보다 작은 경우, 상기 제 1 논리 상태를 검증하기 위한 목표 검증 전압을 상기 제 2 논리 상태를 검증하기 위한 프리 검증 전압으로 사용한다.
실시 예에 있어서, 상기 프리 검증 전압에 의해서 온 셀로 판별되고, 상기 목표 검증 전압에 의해서 프로그램 페일된 것으로 판별된 상기 선택된 메모리 셀의 비트 라인에 인가되는 전압은 상기 프로그램 전압이 상기 선택된 메모리 셀에 인가되는 동안 조절된다.
실시 예에 있어서, 상기 선택된 메모리 셀의 비트 라인에 접지 전압보다 높고 프로그램 금지 전압보다 낮은 전압이 인가된다.
실시 예에 있어서, 상기 프리 검증 전압은 상기 목표 검증 전압보다 낮다.
실시 예에 있어서, 상기 제 2 논리 상태는 상기 제 1 논리 상태보다 높은 문턱 전압을 갖는 프로그램 상태이다.
실시 예에 있어서, 상기 제 1 논리 상태가 상기 현재 논리 상태들 중에서 가장 낮은 문턱 전압을 갖는 프로그램 상태이면, 상기 제 1 논리 상태의 프리 검증 전압과 상기 제 1 논리 상태의 목표 검증 전압이 상기 선택된 메모리 셀에 독립적으로 인가된다.
실시 예에 있어서, 상기 프로그램 전압을 상기 선택된 메모리 셀에 인가하는 단계와, 상기 프리 검증 전압과 상기 목표 검증 전압을 상기 선택된 메모리 셀에 인가하는 단계는 하나의 프로그램 루프로 구성되고, 상기 선택된 메모리 셀은 상기 프로그램 루프를 반복하여 프로그램된다.
실시 예에 있어서, 상기 프로그램 루프가 반복될 때마다, 상기 프로그램 전압은 증가된다.
실시 예에 있어서, 상기 이전 논리 상태들로 상기 메모리 셀들을 프로그램하는 단계를 더 포함하되, 상기 이전 논리 상태들로 상기 메모리 셀들을 프로그램하는 단계는, 적어도 두 개의 프로그램 전압을 선택된 메모리 셀에 인가하는 단계; 및 상기 이전 논리 상태들을 검증하기 위한 목표 검증 전압을 상기 선택된 메모리 셀에 인가하는 단계를 포함한다.
본 발명의 다른 실시 예에 따른 이전 페이지의 논리 상태들로부터 현재 페이지의 논리 상태들로 메모리 셀들을 프로그램하기 위한 불휘발성 메모리 장치의 프로그램 방법은, 상기 이전 페이지의 논리 상태들로 상기 메모리 셀들을 프로그램하기 위한 이전 페이지 프로그램 단계; 및 상기 현재 페이지의 논리 상태들로 상기 메모리 셀들을 프로그램하기 위한 현재 페이지 프로그램 단계를 포함하되, 상기 이전 페이지 프로그램 단계는, 적어도 두 개의 프로그램 전압을 선택된 메모리 셀에 인가하기 위한 제 1 프로그램 단계; 및 상기 선택된 메모리 셀의 논리 상태들을 검증하기 위한 목표 검증 전압을 상기 선택된 메모리 셀에 인가하기 위한 제 1 검증 단계를 포함하고, 상기 현재 페이지 프로그램 단계는, 프로그램 전압을 선택된 메모리 셀에 인가하기 위한 제 2 프로그램 단계; 및 상기 선택된 메모리 셀의 논리 상태를 검증하기 위한 프리 검증 전압과 목표 검증 전압을 상기 선택된 메모리 셀에 인가하기 위한 제 2 검증 단계를 포함하고, 상기 제 2 검증 단계는 제 1 논리 상태를 검증하기 위한 목표 검증 전압을 제 2 논리 상태를 검증하기 위한 프리 검증 전압으로 사용하는 단계를 포함한다.
실시 예에 있어서, 상기 제 1 프로그램 단계는, 제 1 프로그램 전압을 인가하기 위한 단계; 및 제 2 프로그램 전압을 인가하기 위한 단계를 포함한다.
실시 예에 있어서, 상기 제 1 프로그램 전압은 상기 제 2 프로그램 전압보다 높다.
실시 예에 있어서, 상기 제 1 논리 상태는 상기 제 2 논리 상태보다 낮은 문턱 전압을 갖는 프로그램 상태이다.
실시 예에 있어서, 상기 제 2 프로그램 단계와 상기 제 2 프로그램 단계는 하나의 프로그램 루프로 구성되고, 상기 선택된 메모리 셀은 상기 프로그램 루프를 반복하여 프로그램된다.
실시 예에 있어서, 이전 프로그램 루프에서 상기 프리 검증 전압에 의해서 온셀로 판정되고, 상기 목표 검증 전압에 의해서 프로그램 페일된 것으로 판별된 상기 선택 메모리 셀의 비트 라인에 접지 전압보다 높은 전압이 인가된다.
본 발명의 실시 예에 따르면, 메모리 셀들의 문턱 전압 분포를 조밀하게 할 수 있을 뿐만 아니라, 불휘발성 메모리 장치의 프로그램 속도를 향상시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 예시적으로 보여주는 블럭도이다.
도 2는 본 발명의 실시 예에 따른 3-단계 프로그램 방식에 따라 프로그램이 수행될 때 변화되는 문턱 전압 분포들을 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 3-단계 프로그램 방식에 따라 프로그램이 수행될 때 변화되는 또 다른 문턱 전압 분포들을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 쉐도우 프로그램 방식에 따라 프로그램이 수행될 때 변화되는 문턱 전압 분포들을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 중복 펄스 프로그램 방식의 프로그램 검증 전압을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 중복 펄스 프로그램 방식의 프로그램 루프를 예시적으로 보여주는 도면이다.
도 7은 비트 라인 포싱 프로그램 방식을 예시적으로 설명하기 위한 도면이다.
도 8은 본 발명의 실시 예에 따른 스킵 프로그램 검증 방식의 프로그램 검증 전압을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 스킵 프로그램 검증 방식의 프로그램 루프를 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 데이터 처리 시스템을 예시적으로 보여주는 블럭도이다.
도 11은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 또 다른 데이터 처리 시스템을 예시적으로 보여주는 블럭도이다.
도 12는 도 10의 데이터 처리 시스템을 장착하는 컴퓨터 시스템을 예시적으로 보여주는 블럭도이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 본 명세서에서 특정한 용어들이 사용되었으나. 이는 본 발명을 설명하기 위한 목적에서 사용된 것이며, 의미 한정이나 특허 청구 범위에 기재된 본 발명의 권리 범위를 제한하기 위하여 사용된 것은 아니다.
본 명세서에서 ‘및/또는’이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, ‘연결되는/결합되는’이란 표현은 다른 구성요소와 직접적으로 연결되거나 다른 구성요소를 통해 간접적으로 연결되는 것을 포함하는 의미로 사용된다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 ‘포함한다’ 또는 ‘포함하는’으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작 및 소자의 존재 또는 추가를 의미한다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 예시적으로 보여주는 블럭도이다. 도 1을 참조하면, 불휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 행 디코더(130), 데이터 입출력 회로(150), 및 제어 로직(170)을 포함한다.
메모리 셀 어레이(110)는 비트 라인들(BL0 내지 BLn) 및 워드 라인들(WL0 내지 WLm)의 교차 영역에 배열된 복수의 메모리 셀들을 포함한다. 각각의 메모리 셀은 적어도 1비트의 데이터를 저장한다. 예를 들면, 각각의 메모리 셀은 1비트의 데이터를 저장할 수 있다. 이러한 메모리 셀은 싱글 레벨 셀(SLC)이라 불린다. 다른 예로써, 각각의 메모리 셀은 2비트 데이터 또는 그 이상의 데이터를 저장할 수 있다. 이러한 메모리 셀은 멀티 레벨 셀(MLC)이라 불린다. 멀티 레벨 셀(MLC)은 멀티 비트 데이터에 따라 소거 상태 및 복수의 논리 상태들 중 어느 하나에 대응하는 문턱 전압을 갖도록 프로그램된다.
행 디코더(130)는 행 어드레스(RADD)에 응답하여 워드 라인들(WL0 내지 WLm)을 선택한다. 행 디코더(130)는 전압 발생기(171)로부터 제공되는 각종 워드 라인 전압을 선택된 워드 라인들로 전달한다. 예시적으로, 프로그램 동작 시, 행 디코더(130)는 선택 워드 라인으로 프로그램 전압(Vpgm) 또는 검증 전압(Vvfy)을, 비선택 워드 라인으로 패스 전압(Vpass)을 전달한다.
데이터 입출력 회로(150)는 제어 로직(170)의 제어에 따라 동작한다. 데이터 입출력 회로(150)는 동작 모드에 따라 쓰기 드라이버로써 또는 감지 증폭기로써 동작한다. 예를 들면, 데이터 입출력 회로(150)는 프로그램 동작 시 데이터 입출력 버퍼(도시되지 않음)를 통해 입력된 데이터를 메모리 셀 어레이(110)에 저장한다. 다른 예로써, 데이터 입출력 회로(150)는 읽기 동작 시 메모리 셀 어레이(110)로부터 읽혀진 데이터를 데이터 입출력 버퍼(도시되지 않음)를 통해 출력한다. 데이터 입출력 회로(150)는 비트 라인들(BL0 내지 BLn) 각각에 연결된 복수의 데이터 입출력 회로들을 포함할 수 있다. 비트 라인들(BL0 내지 BLn)은 각각의 데이터 입출력 회로(150)에 의해서 선택 또는 제어된다.
제어 로직(170)은 외부 장치(예를 들면, 메모리 컨트롤러, 메모리 인터페이스, 호스트 장치 등)로부터 제공된 제어 신호(CTRL)에 응답하여 불휘발성 메모리 장치(100)의 제반 동작을 제어한다. 예를 들면, 제어 로직(170)은 불휘발성 메모리 장치(100)의 읽기, 프로그램(또는 쓰기), 소거 동작을 제어한다. 이러한 동작을 위해서, 제어 로직(170)은 전압 발생기(171) 및 데이터 입출력 회로(150)를 제어한다.
제어 로직(170)은, 프로그램 동작으로서, 선택 메모리 셀에 프로그램 전압(Vpgm)을 인가하기 위한 프로그램 동작과 선택 메모리 셀의 프로그램 상태를 검증하기 위한 프로그램 검증 동작을 제어한다. 이러한 프로그램 동작과 프로그램 검증 동작은 하나의 프로그램 루프를 형성할 것이다. 선택 메모리 셀은 복수의 프로그램 루프 동작을 통해 목표 논리 상태로 프로그램된다. 프로그램 루프가 반복될 때마다, 프로그램 전압(Vpgm)은 미리 설정된 값만큼 증가될 것이다. 즉, 프로그램 동작은 증가형 스텝 펄스 프로그램(incremental step pulse program: ISPP) 방식으로 수행될 것이다.
본 발명의 실시 예에 따르면, 목표 논리 상태에 따라 하나의 프로그램 전압(Vpgm)이 선택 메모리 셀에 인가되거나, 복수의 프로그램 전압들(Vpgm)이 선택 메모리 셀에 인가될 것이다. 또한, 논리 상태들의 목표 검증 전압 간의 간격에 따라 하나의 프로그램 검증 전압(Vvfy)이 선택 메모리 셀에 인가되거나, 복수의 프로그램 검증 전압들(Vvfy)이 선택 메모리 셀에 인가될 것이다. 이러한 프로그램 동작을 통해 메모리 셀은 조밀한 문턱 전압 분포를 가질 수 있을 뿐만 아니라, 프로그램 속도 역시 향상될 수 있다. 본 발명의 실시 예에 따른 프로그램 동작은 후술되는 도 5 내지 도 9를 통해 상세히 설명될 것이다.
도 2는 본 발명의 실시 예에 따른 3-단계 프로그램 방식에 따라 프로그램이 수행될 때 변화되는 문턱 전압 분포들을 예시적으로 보여주는 도면이다. 도 1 및 도 2를 참조하면, 워드 라인들(WL1 내지 WLm)에 연결된 메모리 셀들은 셀 당 3비트의 데이터를 저장하는 멀티 레벨 셀을 예시할 것이다. 하지만, 메모리 셀들이 복수 비트의 데이터를 저장할 수 있음은 잘 이해될 것이다.
워드 라인들(WL1 내지 WLm)에 연결된 메모리 셀들이 셀 당 m비트를 저장하면, 워드 라인들(WL1 내지 WLm)에 연결된 메모리 셀들은 m개의 저장 행들을 통해 액세스된다. 이하에서, 이러한 저장 행은 "페이지"라 칭해진다. 앞서 가정한 바와 같이, 메모리 셀들은 3비트의 데이터를 저장할 것이다. 이 경우, 3비트의 데이터는 3개의 페이지 어드레스를 통해 액세스되는 메모리 셀들에 저장된다. 즉, 제 1 비트 데이터는 제 1 페이지 어드레스를 통해, 제 2 비트 데이터는 제 2 페이지 어드레스를 통해, 제 3 비트 데이터는 제 3 페이지 어드레스를 통해 액세스되는 메모리 셀들에 저장된다.
먼저, 선택된 워드 라인의 메모리 셀들에는 2-페이지 데이터(즉, 제 1 페이지 데이터 및 제 2 페이지 데이터)가 저장된다. 이때, 도 2에 도시된 1-단계 프로그램(1-step PGM)의 문턱 전압 분포와 같이, 논리 상태(E)에 대응하는 문턱 전압을 갖는 메모리 셀들은 프로그램될 데이터에 따라 논리 상태들(Q1 내지 Q3) 중 어느 하나에 대응하는 문턱 전압을 갖도록 프로그램된다. 논리 상태(E)는 소거 상태를 의미하고, 논리 상태들(Q1 내지 Q3)은 프로그램 상태를 의미한다.
그 다음, 선택된 워드 라인의 메모리 셀들에는 1-페이지 데이터(즉, 제 3 페이지 데이터)가 저장된다. 이때, 도 2에 도시된 2-단계 프로그램(2-step PGM)의 문턱 전압 분포와 같이, 선택된 워드 라인의 메모리 셀들은 이전의 논리 상태들(E, Q1 내지 Q3)로부터 현재 논리 상태들(E, P1 내지 P7)로 프로그램된다.
예를 들면, 논리 상태(E)에 대응하는 문턱 전압을 갖는 메모리 셀들은 프로그램될 데이터에 따라 논리 상태(P1)에 대응하는 문턱 전압을 갖도록 프로그램된다. 논리 상태(Q1)에 대응하는 문턱 전압을 갖는 메모리 셀들은 프로그램될 데이터에 따라 논리 상태들(P2 및 P3) 각각에 대응하는 문턱 전압을 갖도록 프로그램된다. 논리 상태(Q2)에 대응하는 문턱 전압을 갖는 메모리 셀들은 프로그램될 데이터에 따라 논리 상태들(P4 및 P5) 각각에 대응하는 문턱 전압을 갖도록 프로그램된다. 논리 상태(Q3)에 대응하는 문턱 전압을 갖는 메모리 셀들은 프로그램될 데이터에 따라 논리 상태들(P6 및 P7) 각각에 대응하는 문턱 전압을 갖도록 프로그램된다.
선택된 워드 라인의 메모리 셀들에 대한 3-단계 프로그램 동작은 1-단계 프로그램 및 2-단계 프로그램 동작 이후에 수행된다. 이때, 도 2에 도시된 3-단계 프로그램(3-step PGM)의 문턱 전압 분포와 같이, 선택된 워드 라인의 메모리 셀들은 최종 논리 상태들(E, P1 내지 P7) 각각에 대응하는 문턱 전압을 갖도록 프로그램된다. 선택된 워드 라인의 메모리 셀들은 3-단계 프로그램 동작에 의해서 2-단계 프로그램 동작이 수행되었을 때보다 더 조밀한 문턱 전압을 갖도록 프로그램된다.
도 3은 본 발명의 실시 예에 따른 3-단계 프로그램 방식에 따라 프로그램이 수행될 때 변화되는 또 다른 문턱 전압 분포들을 예시적으로 보여주는 도면이다. 도 1 및 도 3을 참조하면, 워드 라인들(WL1 내지 WLm)에 연결된 메모리 셀들은 셀 당 3비트의 데이터를 저장하는 멀티 레벨 셀을 예시할 것이다. 하지만, 메모리 셀들이 복수 비트의 데이터를 저장할 수 있음은 잘 이해될 것이다.
먼저, 선택된 워드 라인의 메모리 셀들에는 3-페이지 데이터(즉, 제 1 페이지 데이터, 제 2 페이지 데이터 및 제 3 페이지 데이터)가 저장된다. 이때, 도 3에 도시된 1-단계 프로그램(1-step PGM)의 문턱 전압 분포와 같이, 선택된 워드 라인의 메모리 셀들은 프로그램될 데이터에 따라 논리 상태들(E, P1 내지 P7) 각각에 대응하는 문턱 전압을 갖도록 프로그램된다. 논리 상태(E)는 소거 상태를 의미하고, 논리 상태들(P1 내지 P7)은 프로그램 상태를 의미한다.
그 다음, 선택된 워드 라인의 메모리 셀들이 조밀한 문턱 전압을 갖도록 2-단계 프로그램 동작 및 3-단계 프로그램 동작이 순차적으로 수행된다. 도 3의 2-단계 프로그램(2-step PGM) 및 3-단계 프로그램(3-step PGM)의 문턱 전압 분포와 같이, 선택된 워드 라인의 메모리 셀들은 2-단계 프로그램 동작 및 3-단계 프로그램 동작이 수행될수록 점차 조밀한 문턱 전압을 갖도록 프로그램된다. 예를 들면, 선택된 워드 라인의 메모리 셀들은 2-단계 프로그램 동작에 의해서 1-단계 프로그램 동작이 수행되었을 때보다 더 조밀한 문턱 전압을 갖도록 프로그램된다. 또한, 선택된 워드 라인의 메모리 셀들은 3-단계 프로그램 동작에 의해서 2-단계 프로그램 동작이 수행되었을 때보다 더 조밀한 문턱 전압을 갖도록 프로그램된다.
도 4는 본 발명의 실시 예에 따른 쉐도우 프로그램(shadow program) 방식에 따라 프로그램이 수행될 때 변화되는 문턱 전압 분포들을 예시적으로 보여주는 도면이다. 도 1 및 도 4를 참조하면, 워드 라인들(WL1 내지 WLm)에 연결된 메모리 셀들은 셀 당 3비트의 데이터를 저장하는 멀티 레벨 셀을 예시할 것이다. 하지만, 메모리 셀들이 복수 비트의 데이터를 저장할 수 있음은 잘 이해될 것이다.
3비트의 데이터는 3개의 페이지 어드레스를 통해 액세스되는 메모리 셀들에 저장된다. 즉, 제 1 비트 데이터는 제 1 페이지 어드레스를 통해, 제 2 비트 데이터는 제 2 페이지 어드레스를 통해, 제 3 비트 데이터는 제 3 페이지 어드레스를 통해 액세스되는 메모리 셀들에 저장된다.
제 1 비트 데이터가 프로그램되기 전에, 메모리 셀들은 논리 상태(E)에 대응하는 문턱 전압을 갖는다. 메모리 셀들은 제 1 비트 데이터에 따라 2개의 논리 상태들(E 및 R1) 중 어느 하나에 대응하는 문턱 전압을 갖도록 프로그램된다. 논리 상태(E)는 소거 상태를 의미하고, 논리 상태(R1)는 프로그램 상태를 의미한다.
제 2 비트 데이터가 프로그램되기 전에, 메모리 셀들은 논리 상태들(E 및 R1) 중 어느 하나에 대응하는 문턱 전압을 갖는다. 메모리 셀들은 제 2 비트 데이터에 따라 4개의 논리 상태들(E 및 Q1 내지 Q3) 중 어느 하나에 대응하는 문턱 전압을 갖도록 프로그램된다. 논리 상태(E)는 소거 상태를 의미하고, 논리 상태들(Q1 내지 Q3)은 프로그램 상태를 의미한다.
도시된 바와 같이, 제 1 비트 데이터에 따른 논리 상태(E)로부터 프로그램되는 메모리 셀들은 논리 상태들(E 및 Q1) 중 어느 하나에 대응하는 문턱 전압을 갖는다. 그리고 제 1 비트 데이터에 따른 논리 상태(R1)로부터 프로그램되는 메모리 셀들은 논리 상태들(Q2 및 Q3) 중 어느 하나에 대응하는 문턱 전압을 갖는다.
제 3 비트 데이터가 프로그램되기 전에 메모리 셀들은 논리 상태들(E 및 Q1 내지 Q3) 중 어느 하나에 대응하는 문턱 전압을 갖는다. 메모리 셀들은 제 3 비트 데이터에 따라 8개의 논리 상태들(E, P1 내지 P7) 중 어느 하나에 대응하는 문턱 전압을 갖도록 프로그램된다. 논리 상태(E)는 소거 상태를 의미하고, 논리 상태들(P1 내지 P7)은 프로그램 상태를 의미한다.
도시된 바와 같이, 제 1 비트 데이터 및 제 2 비트 데이터에 따른 논리 상태(E)로부터 프로그램되는 메모리 셀들은 논리 상태들(E 및 P1) 중 어느 하나에 대응하는 문턱 전압을 갖는다. 그리고 제 1 비트 데이터 및 제 2 비트 데이터에 따른 논리 상태(Q1)로부터 프로그램되는 메모리 셀들은 논리 상태들(P2 및 P3) 중 어느 하나에 대응하는 문턱 전압을 갖는다. 그리고 제 1 비트 데이터 및 제 2 비트 데이터에 따른 논리 상태(Q2)로부터 프로그램되는 메모리 셀들은 논리 상태들(P4 및 P5) 중 어느 하나에 대응하는 문턱 전압을 갖는다. 그리고 제 1 비트 데이터 및 제 2 비트 데이터에 따른 논리 상태(Q3)로부터 프로그램되는 메모리 셀들은 논리 상태들(P6 및 P7) 중 어느 하나에 대응하는 문턱 전압을 갖는다.
메모리 셀들에 저장되는 비트 수가 증가하면 증가할수록, 메모리 셀들의 논리 상태를 판별하기 위한 읽기 마진(RM1, RM2, RM3)의 크기는 좁아질 것이다. 즉, 메모리 셀들에 저장되는 비트 수가 증가하면 증가할수록, 논리 상태들 간의 간격은 좁아질 것이다. 따라서, 메모리 셀들은 보다 큰 읽기 마진(RM1, RM2, RM3)을 확보하기 위해서 조밀한 문턱 전압 분포를 갖도록 프로그램되어야 한다. 또한, 메모리 셀들은 메모리 셀들 간의 커플링(예를 들면, F-poly 커플링)이 유발되지 않도록 프로그램되어야 한다. 즉, 메모리 셀들은 하나의 프로그램 전압(Vpgm)이 인가될 때 문턱 전압 변화량이 급격히 증가되지 않도록 프로그램되어야 한다.
도 5는 본 발명의 실시 예에 따른 중복 펄스 프로그램 방식의 프로그램 검증 전압을 예시적으로 보여주는 도면이다. 그리고 도 6은 본 발명의 실시 예에 따른 중복 펄스 프로그램 방식의 프로그램 루프를 예시적으로 보여주는 도면이다. 본 발명의 실시 예에 따른 프로그램 동작에 따르면, 메모리 셀들 간의 커플링이 유발되지 않도록 복수의 프로그램 전압들(Vpgm)이 순차적으로 선택 워드 라인에 인가될 것이다. 이러한 프로그램 방식은 "중복 펄스 프로그램 방식"이라 칭해진다.
이하에서, 설명의 간략화를 위해서, 도 4에서 설명된 쉐도우 프로그램 방식을 통해 중복 펄스 프로그램 방식이 설명될 것이다.
도 5 및 도 6을 참조하면, 중복 펄스 프로그램 방식에 따르면, 프로그램 동작은 복수의 프로그램 루프 동작들(PL1 내지 PLk)을 포함한다. 프로그램 루프가 반복될 때마다, 프로그램 전압(Vpgm)은 미리 설정된 값(ΔV)만큼 증가된다. 즉, 앞서 설명된 바와 같이, 프로그램 동작은 증가형 스텝 펄스 프로그램 방식으로 수행된다.
이전 논리 상태들(E 및 R1)로부터 현재 논리 상태들(E, Q1 내지 Q3)로 프로그램하기 위해서, 적어도 2개의 프로그램 전압들이 선택 워드 라인에 인가된다. 최초 프로그램 루프(PL1)를 예로 들면, 제 2 비트의 데이터를 프로그램하기 위해서 프로그램 전압(Vpgm11)과 프로그램 전압(Vpgm12)이 선택 워드 라인에 인가된다. 프로그램 전압(Vpgm11)은 제 1 비트 데이터에 따른 논리 상태(E)로부터 프로그램되는 메모리 셀을 프로그램하기 위한 전압이다. 그리고 프로그램 전압(Vpgm12)은 제 1 비트 데이터에 따른 논리 상태(R1)로부터 프로그램되는 메모리 셀을 프로그램하기 위한 전압이다.
프로그램 전압들(Vpgm11 및 Vpgm12)이 선택 워드 라인에 인가된 후, 프로그램 검증 전압들(TVvfy_Q1 내지 TVvfy_Q3)이 선택 워드 라인에 인가된다. 프로그램 검증 전압들(TVvfy_Q1 내지 TVvfy_Q3)은 메모리 셀이 논리 상태들(Q1 내지 Q3)로 프로그램되었는지의 여부(예를 들면, 프로그램 패스 또는 프로그램 페일)를 판별하기 위한 전압들이다. 이하에서, 이러한 프로그램 검증 전압들을 "목표 검증 전압"이라 칭해진다.
목표 검증 전압(TVvfy_Q1)은 논리 상태(Q1)로 프로그램되는 메모리 셀의 프로그램 패스/페일 여부를 판별하기 위해서 사용된다. 목표 검증 전압(TVvfy_Q2)은 논리 상태(Q2)로 프로그램되는 메모리 셀의 프로그램 패스/페일 여부를 판별하기 위해서 사용된다. 목표 검증 전압(TVvfy_Q3)은 논리 상태(Q3)로 프로그램되는 메모리 셀의 프로그램 패스/페일 여부를 판별하기 위해서 사용된다.
선택 워드 라인에 연결된 메모리 셀들이 모두 프로그램될 때까지(즉, 모두 프로그램 패스될 때까지), 또는 미리 설정된 수만큼 프로그램 루프가 수행될 때까지, 프로그램 루프 동작들(PL1 내지 PLk)이 반복될 것이다.
본 발명의 실시 예에 따른 중복 펄스 프로그램 방식에 따르면, 제 1 비트 데이터에 따른 논리 상태(E)로부터 프로그램되는 메모리 셀들의 문턱 전압 변화량은 제 1 비트 데이터에 따른 논리 상태(R1)로부터 프로그램되는 메모리 셀들의 문턱 전압 변화량과 유사할 것이다. 따라서, 논리 상태(Q1)로 프로그램되는 메모리 셀들과 논리 상태들(Q2 및 Q3)로 프로그램되는 메모리 셀들은 유사한 시기에 프로그램이 완료될 것이다. 그 결과, 메모리 셀들간의 커플링이 감소될 것이다.
한편, 제 1 비트 데이터에 따른 논리 상태(R1)로부터 프로그램되는 메모리 셀들 중에서, 논리 상태(Q2)로 프로그램되는 메모리 셀들(도 3의 A 영역)의 비트 라인에는 양의 전압이 인가된다. 즉, 논리 상태(Q2)로 프로그램되는 메모리 셀은 비트 라인 포싱(bit line forcing) 프로그램 방식을 통해 프로그램된다. 이러한 비트 라인 포싱 프로그램 방식은 도 7을 참조하여 상세히 설명될 것이다.
도 7은 비트 라인 포싱 프로그램 방식을 예시적으로 설명하기 위한 도면이다. 도 7을 참조하면, 설명의 간략화를 위해서, 비트 라인들(BL0 내지 BL1) 및 워드 라인(WLm)의 교차 영역에 배열되는 4개의 메모리 셀들(MC0 내지 MC3)을 예시할 것이다.
도 7을 참조하면, 짝수 페이지를 프로그램하기 위한 바이어스 조건이 예시적으로 도시되어 있다. 짝수 페이지를 프로그램하는 경우, 홀수 페이지에 대응하는 비트 라인들(BL0_o 및 BL1_o)에는 프로그램 금지(inhibit)되도록 전원 전압(Vcc)이 인가된다. 선택 트랜지스터들(SST0_o 및 SST1_o)은 선택 트랜지스터들(SST0_o 및 SST1_o)의 게이트-소스 전압(Vgs)이 문턱 전압(Vth)에 도달하지 못하기 때문에, 턴 오프된다. 그 결과, 전원 전압(Vcc)이 인가된 비트 라인들(BL0_o 및 BL1_o)에 연결된 메모리 셀 스트링의 채널은 플로팅된다. 플로팅된 채널의 전위는 커플링 효과에 의해서 상승하기 때문에, 메모리 셀들(MC1 및 MC3)의 게이트와 채널 간에 F-N 터널링 효과는 발생되지 않는다. 즉, 메모리 셀들(MC1 및 MC3)은 프로그램되지 않는다.
반면, 짝수 페이지에 대응하는 비트 라인들(BL0_e 및 BL1_e)에는 F-N 터널링 효과를 발생시킬 수 있는 전압이 인가된다. 즉, 비트 라인(BL0_e)에는 접지 전압(0V)이 인가된다. 그리고 비트 라인(BL1_e)에는 비트 라인 포싱 전압이 인가된다. 예시적으로, 비트 라인(BL1_e)에는 비트 라인 포싱 전압으로 1V 전압이 인가된다. 비트 라인 포싱 전압은 접지 전압보다 높고, 프로그램 금지하기 위한 전압보다 낮을 것이다.
비트 라인들(BL0_e 및 BL1_e)에 인가되는 이러한 전압들로 인해서 메모리 셀들(MC0 및 MC1)의 게이트와 채널 간에 F-N 터널링 효과가 발생된다. 즉, 메모리 셀들(MC0 및 MC3)은 프로그램된다. 한편, 비트 라인(BL1_e)에 인가된 비트 라인 포싱 전압(1V)으로 인해서, 메모리 셀(MC2)의 게이트와 채널 간의 전위차는 메모리 셀(MC0)의 게이트와 채널 간의 전위차보다 작을 것이다. 그 결과, 메모리 셀(MC2)의 게이트와 채널 간에 발생되는 F-N 터널링 효과는 메모리 셀(MC0)의 게이트와 채널 간에 발생되는 F-N 터널링 효과보다 작게 발생될 것이다. 비트 라인(BL1_e)에 인가되는 비트 라인 포싱 전압(1V)으로 인해서, 메모리 셀(MC2)의 게이트와 채널 간에 발생되는 F-N 터너링 효과는 제어되고, 메모리 셀(MC2)은 조밀한 문턱 전압을 갖도록 프로그램될 수 있다.
도 8은 본 발명의 실시 예에 따른 스킵 프로그램 검증 방식의 프로그램 검증 전압을 예시적으로 보여주는 도면이다. 그리고 도 9는 본 발명의 실시 예에 따른 스킵 프로그램 검증 방식의 프로그램 루프를 예시적으로 보여주는 도면이다. 본 발명의 실시 예에 따른 프로그램 동작에 따르면, 메모리 셀들이 조밀한 문턱 전압 분포를 갖도록, 프리 검증 전압(PVvfy)과 목표 검증 전압(TVvfy)이 선택 워드 라인에 인가될 것이다. 그리고, 프로그램 속도가 향상되도록, 제 1 논리 상태의 목표 검증 전압(TVvfy)이 제 2 논리 상태의 프리 검증 전압(PVvfy)으로 사용될 것이다. 여기에서, 제 1 논리 상태의 문턱 전압은 제 2 논리 상태의 문턱 전압보다 낮을 것이다.
이러한 프로그램 검증 방식은 "스킵(skip) 프로그램 검증 방식"이라 칭해지고, 프리 검증 전압(PVvfy)의 인가에 의한 프로그램 검증 동작은 "프리 검증 동작"이라 칭해지고, 목표 검증 전압(TVvfy)의 인가에 의한 프로그램 검증 동작은 "목표 검증 동작"이라 칭해진다.
이하에서, 설명의 간략화를 위해서, 도 4에서 설명된 쉐도우 프로그램 방식을 통해 스킵 프로그램 검증 방식이 설명될 것이다.
도 8 및 도 9를 참조하면, 스킵 프로그램 검증 방식에 따르면, 프로그램 동작은 복수의 프로그램 루프 동작들(PL1 내지 PLk)을 포함한다. 프로그램 루프가 반복될 때마다, 프로그램 전압(Vpgm)은 미리 설정된 값(ΔV)만큼 증가된다. 즉, 앞서 설명된 바와 같이, 프로그램 동작은 증가형 스텝 펄스 프로그램 방식으로 수행된다.
이전 논리 상태들(E, Q1 내지 Q3)로부터 현재 논리 상태들(E, P1 내지 P7)로 프로그램하기 위해서, 프로그램 전압(Vpgm)이 선택 워드 라인에 인가된 후에, 프리 검증 전압(PVvfy)과 목표 검증 전압(TVvfy)이 선택 워드 라인에 인가된다. 프리 검증 전압(PVvfy)은 앞서 설명된 비트 라인 포싱 프로그램 방식으로 프로그램될 메모리 셀을 판별하기 위한 전압이다. 그리고 목표 검증 전압(TVvfy)은 메모리 셀들이 논리 상태들(P1 내지 P7)로 프로그램되었는지의 여부(예를 들면, 프로그램 패스 또는 프로그램 페일)를 판별하기 위한 전압이다.
조금 더 구체적으로 설명하면 다음과 같다. 도 8을 참조하면, 프리 검증 전압(PVvfy_P1)은 제 1 비트 데이터 및 제 2 비트 데이터에 따른 논리 상태(E)로부터 프로그램되는 메모리 셀들 중, 비트 라인 포싱 프로그램 방식을 통해 논리 상태(P1)로 프로그램될 메모리 셀을 판별하기 위해서 사용된다. 즉, 프리 검증 전압(PVvfy_P1)은 논리 상태(E)로부터 프로그램되는 메모리 셀들 중, 프리 검증 전압(PVvfy_P1)보다 높고 목표 검증 전압(TVvfy_P1)보다 낮은 문턱 전압을 갖는 메모리 셀(즉, B 영역에 위치한 메모리 셀)을 판별하기 위해서 사용된다. 프리 검증 전압(PVvfy_P1)에 의해서 온 셀로 판별된 메모리 셀(즉, B 영역에 위치한 메모리 셀)은 조밀한 문턱 전압 분포를 갖도록 비트 라인 포싱 프로그램 방식을 통해 프로그램될 것이다. 목표 검증 전압(TVvfy_P1)은 논리 상태(P1)로 프로그램되는 메모리 셀의 프로그램 패스/페일 여부를 판별하기 위해서 사용된다.
또한, 목표 검증 전압(TVvfy_P1)은 제 1 비트 데이터 및 제 2 비트 데이터에 따른 논리 상태(Q1)로부터 프로그램되는 메모리 셀들 중, 비트 라인 포싱 프로그램 방식을 통해 논리 상태(P2)로 프로그램될 메모리 셀을 판별하기 위해서도 사용된다. 즉, 목표 검증 전압(TVvfy_P1)은 논리 상태(Q1)로부터 프로그램되는 메모리 셀들 중, 목표 검증 전압(TVvfy_P1)보다 높고 목표 검증 전압(TVvfy_P2)보다 낮은 문턱 전압을 갖는 메모리 셀(즉, C 영역에 위치한 메모리 셀)을 판별하기 위해서 사용된다. 목표 검증 전압(TVvfy_P1)에 의해서 온 셀로 판별된 메모리 셀(즉, C 영역에 위치한 메모리 셀)은 조밀한 문턱 전압 분포를 갖도록 비트 라인 포싱 프로그램 방식을 통해 프로그램될 것이다. 목표 검증 전압(TVvfy_P2)은 논리 상태(P2)로 프로그램되는 메모리 셀의 프로그램 패스/페일 여부를 판별하기 위해서 사용된다.
또한, 목표 검증 전압(TVvfy_P2)은 제 1 비트 데이터 및 제 2 비트 데이터에 따른 논리 상태(Q1)로부터 프로그램되는 메모리 셀들 중, 비트 라인 포싱 프로그램 방식을 통해 논리 상태(P3)로 프로그램될 메모리 셀을 판별하기 위해서도 사용된다. 이러한 방식으로, 목표 검증 전압(TVvfy_P3)은 비트 라인 포싱 프로그램 방식을 통해 논리 상태(P4)로 프로그램될 메모리 셀을 판별하기 위해서, 목표 검증 전압(TVvfy_P4)은 비트 라인 포싱 프로그램 방식을 통해 논리 상태(P5)로 프로그램될 메모리 셀을 판별하기 위해서 사용된다. 또한, 목표 검증 전압(TVvfy_P5)은 비트 라인 포싱 프로그램 방식을 통해 논리 상태(P6)로 프로그램될 메모리 셀을 판별하기 위해서, 목표 검증 전압(TVvfy_P6)은 비트 라인 포싱 프로그램 방식을 통해 논리 상태(P7)로 프로그램될 메모리 셀을 판별하기 위해서 사용된다.
즉, 본 발명의 실시 예에 따르면, 목표 논리 상태보다 낮은 문턱 전압을 갖는 논리 상태를 검증하기 위한 목표 검증 전압을 목표 논리 상태의 프리 검증 전압으로 사용하여 프로그램 동작이 수행된다. 이에 따라, 메모리 셀을 프로그램하는 속도가 향상될 수 있다.
한편, 본 발명의 실시 예에 따르면, 이전 논리 상태들의 목표 검증 전압들 간의 간격과 현재 논리 상태들의 목표 검증 전압들 간의 간격에 따라 스킵 프로그램 검증 방식이 프로그램 검증 방식으로써 사용되거나 사용되지 않을 것이다.
조금 더 구체적으로 설명하면 다음과 같다. 도 8을 참조하면, 이전 논리 상태들의 목표 검증 전압들(TVvfy_Q1 내지 TVvfy_Q3) 간의 간격을 제 1 간격(TVI_P)이라 하자. 도면의 간략화를 위해서, 제 1 간격(TVI_P)이 이전 논리 상태들(Q1 및 Q2)의 목표 검증 전압들(TVvfy_Q1 및 TVvfy_Q2) 간의 간격으로 도시되었지만, 이전 논리 상태들(Q2 및 Q3)의 목표 검증 전압들(TVvfy_Q2 및 TVvfy_Q3) 간의 간격 역시 제 1 간격(TVI_P)과 동일할 수 있음은 잘 이해될 것이다. 현재 논리 상태들의 목표 검증 전압들(TVvfy_P1 내지 TVvfy_P7) 간의 간격을 제 2 간격(TVI_C)이라 하자. 도면의 간략화를 위해서, 제 2 간격(TVI_C)이 현재 논리 상태들(P1 및 P2)의 목표 검증 전압들(TVvfy_P1 및 TVvfy_P2) 간의 간격으로 도시되었지만, 현재 논리 상태들(P2 내지 P7)의 목표 검증 전압들(TVvfy_P2 내지 TVvfy_P7) 간의 간격 역시 제 2 간격(TVI_C)과 동일할 수 있음은 잘 이해될 것이다. 본 발명의 실시 예에 따르면, 현재 논리 상태들(P1 내지 P7) 간의 제 2 간격(TVI_C)이 이전 논리 상태들(Q1 내지 Q3) 간의 제 1 간격(TVI_P)보다 작은 경우에만 스킵 프로그램 검증 방식이 현재 논리 상태들의 프로그램 검증 방식으로써 사용될 것이다. 한편, 목표 프로그램 상태가 현재 논리 상태(P1)인 경우 프리 검증 전압(PVvfy_P1)과 목표 검증 전압(TVvfy_P1)이 독립적으로 선택 워드 라인에 인가될 것이다.
비록, 도 8 및 도 9에서는 도 4의 쉐도우 프로그램 방식으로 프로그램되는 메모리 셀들에 스킵 프로그램 검증 방식이 적용되는 예를 설명하였지만, 도 2 및 도 3의 3-단계 프로그램 방식으로 프로그램되는 메모리 셀들에 스킵 프로그램 검증 방식이 적용될 수 있음은 잘 이해될 것이다.
도 10은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 데이터 처리 시스템을 예시적으로 보여주는 블럭도이다.
도 10을 참조하면, 데이터 처리 시스템(1000)은 데이터 저장 장치(1100)와 호스트 장치(1500)로 구성된다. 데이터 저장 장치(1100)는 솔리드 스테이트 드라이브(solid state drive, 이하, 'SSD'라 칭함)일 것이다. SSD(1100)는 SSD 컨트롤러(1200), 버퍼 메모리 장치(1300), 그리고 저장 매체(1400)를 포함한다. 본 발명의 실시 예에 따른 SSD(1100)는 슈퍼 캐패시터들(super capacitors)을 포함하는 임시 전원 회로를 더 포함할 수 있다. 이러한 임시 전원 회로는 서든 파워 오프(sudden power off)가 발생하는 경우, SSD(1100)가 정상적으로 종료되도록 전원을 공급할 수 있다.
SSD(1100)는 호스트(1500)의 액세스 요청에 응답하여 동작한다. 즉, 호스트(1500)로부터의 요청에 응답하여 SSD 컨트롤러(1200)는 저장 매체(1400)를 액세스하도록 구성된다. 예를 들면, SSD 컨트롤러(1200)는 저장 매체(1400)의 읽기, 쓰기 및 소거 동작을 제어하도록 구성된다. 버퍼 메모리 장치(1300)는 저장 매체(1400)에 저장될 데이터를 임시 저장하도록 구성된다. 또한, 버퍼 메모리 장치(1300)는 저장 매체(1400)로부터 읽혀진 데이터를 임시 저장하도록 구성된다. 버퍼 메모리 장치(1300)에 저장된 데이터는 SSD 컨트롤러(1200)의 제어에 따라 저장 매체(1400) 또는 호스트(1500)로 전송된다.
SSD 컨트롤러(1200)는 복수의 채널들(CH0~CHk)을 통해 저장 매체(1400)와 연결된다. 복수의 불휘발성 메모리 장치들(NVM00~NVM0i, NVMk0~NVMki)은 각각의 채널들(CH0~CHk)에 연결된다. 저장 매체(1400)는 본 발명의 실시 예에 따른 불휘발성 메모리 장치로 구성될 것이다. 따라서, SSD(1100)의 데이터 신뢰성이 향상될 뿐만 아니라, 동작 속도, 예를 들면, 프로그램 속도가 향상될 것이다.
도 11은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 또 다른 데이터 처리 시스템을 예시적으로 보여주는 블럭도이다.
도 11을 참조하면, 데이터 처리 시스템(2000)은 호스트 장치(2100)와 데이터 저장 장치(2150)를 포함한다. 데이터 저장 장치(2150)는 컨트롤러(2200) 및 데이터 저장 매체(2900)를 포함한다. 데이터 저장 장치(2150)는 복수의 데이터 저장 매체로 구성된 데이터 저장 매체(2900)를 포함할 수 있다.
컨트롤러(2200)는 호스트(2100) 및 데이터 저장 매체(2900)에 연결된다. 호스트(2100)로부터의 요청에 응답하여, 컨트롤러(2200)는 데이터 저장 매체(2900)를 액세스하도록 구성된다. 예를 들면, 컨트롤러(2200)는 데이터 저장 매체(2900)의 읽기, 쓰기 또는 소거 동작을 제어하도록 구성된다. 컨트롤러(2200)는 데이터 저장 매체(2900) 및 호스트(2100) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(2200)는 데이터 저장 매체(2900)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
컨트롤러(2200)는 호스트 인터페이스(2300), 중앙 처리 장치(2400), 메모리 인터페이스(2500), 램(2600) 및 에러 정정 코드 유닛(2700)과 같은 잘 알려진 구성 요소들을 포함할 수 있다. 램(2600)은 중앙 처리 장치(2400)의 동작 메모리(working memory)로써 이용될 수 있다. 중앙 처리 장치(2400)는 컨트롤러(2200)의 제반 동작을 제어한다.
호스트 인터페이스(2300)는 호스트(2100)와 컨트롤러(2200) 사이의 데이터 교환을 수행하기 위한 프로토콜(protocol)을 포함할 수 있다. 예를 들면, 호스트 인터페이스(2300)는 USB(Universal Serial Bus) 프로토콜, MMC(Multimedia Card) 프로토콜, PCI(Peripheral Component Interconnection) 프로토콜, PCI-E(PCI-Express) 프로토콜, ATA(Advanced Technology Attachment) 프로토콜, SATA(Serial ATA) 프로토콜, SCSI(Small Computer Small Interface) 프로토콜, ESDI(Enhanced Small Disk Interface) 프로토콜, 그리고 IDE(Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 호스트(2300)와 통신하도록 구성될 수 있다.
에러 정정 코드 유닛(2700)은 데이터 저장 매체(2900)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성될 수 있다. 데이터 저장 매체 인터페이스(2500)는 데이터 저장 매체(2900)와 컨트롤러(2200)를 인터페이싱(interfacing)할 수 있다. 데이터 저장 매체(2900)는 본 발명의 실시 예에 따른 불휘발성 메모리 장치로 구성될 것이다. 따라서, 데이터 저장 장치(2150)의 데이터 신뢰성이 향상될 뿐만 아니라, 동작 속도, 예를 들면, 프로그램 속도가 향상될 것이다.
컨트롤러(2200) 및 데이터 저장 매체(2900)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(2200) 및 데이터 저장 매체(2900)는 하나의 반도체 장치로 집적되어 PCMCIA(personal computer memory card international association) 카드, CF(compact flash) 카드, 스마트 미디어(smart media) 카드, 메모리 스틱(memory stick), 멀티 미디어(multi media) 카드(MMC, RS-MMC, MMC-micro), SD(secure digital) 카드(SD, Mini-SD, Micro-SD, SDHC), UFS(niversal flash storage) 등을 구성할 수 있다.
다른 예로써, 컨트롤러(2200) 또는 데이터 저장 매체(2900)는 다양한 형태들의 패키지(package)로 실장될 수 있다. 예를 들면, 컨트롤러(2200) 또는 데이터 저장 매체(2900)는 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 package(MQFP), thin quad flat package(TQFP), small outline IC(SOIC), shrink small outline package(SSOP), thin small outline package(TSOP), thin quad flat package(TQFP), system in package(SIP), multi chip package(MCP), wafer-level fabricated package(WFP), wafer-level processed stack package(WSP) 등과 같은 방식으로 패키지되어 실장될 수 있다.
도 12는 도 10의 데이터 처리 시스템을 장착하는 컴퓨터 시스템을 예시적으로 보여주는 블럭도이다.
본 발명에 따른 컴퓨터 시스템(3000)은 시스템 버스(3700)에 전기적으로 연결되는 네트워크 어댑터(3100), 중앙 처리 장치(3200), 데이터 저장 장치(3300), 램(3400), 롬(3500) 그리고 사용자 인터페이스(3600)를 포함한다. 여기에서, 데이터 저장 장치(3300)는 도 10에 도시된 데이터 처리 시스템(1000)의 데이터 저장 장치(1100)로 구성될 수 있다. 또는, 데이터 저장 장치(3300)는 도 11의 데이터 처리 시스템(2000)의 데이터 저장 장치(2150)로 구성될 수 있다.
네트워크 어댑터(3100)는 컴퓨터 시스템(3000)과 외부의 네트워크들 간의 인터페이싱을 제공한다. 중앙 처리 장치(3200)는 램(3400)에 상주하는 운영 체제(Operating System)나 응용 프로그램(Application Program)을 구동하기 위한 제반 연산처리를 수행한다. 데이터 저장 장치(3300)는 컴퓨터 시스템(3000)에서 필요한 제반 데이터를 저장한다. 예를 들면, 데이터 저장 장치(3300)에는 컴퓨터 시스템(3000)을 구동하기 위한 운영 체제(Operating System), 응용 프로그램(Application Program), 다양한 프로그램 모듈(Program Module), 프로그램 데이터(Program data), 그리고 유저 데이터(User data) 등이 저장된다.
램(3400)은 컴퓨터 시스템(3000)의 워킹 메모리로 사용될 수 있다. 부팅 시에 램(3400)에는 데이터 저장 장치(3300)로부터 읽혀진 운영 체제(Operating System), 응용 프로그램(Application Program), 다양한 프로그램 모듈(Program Module)과 프로그램들의 구동에 소요되는 프로그램 데이터(Program data)가 로드된다. 롬(3500)에는 부팅시 운영 체제(Operating System)가 구동되기 이전부터 활성화되는 기본적인 입출력 시스템인 바이오스(BIOS: Basic Input/Output System)가 저장된다. 유저 인터페이스(3600)를 통해서 컴퓨터 시스템(3000)과 사용자 사이의 정보 교환이 이루어진다.
이외에도, 컴퓨터 시스템(3000)은 배터리(Battery)나 모뎀(Modem) 등을 더 포함할 수 있다. 또한, 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨터 시스템에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램(Mobile DRAM) 등이 더 제공될 수 있음은 잘 이해될 것이다.
이상에서, 본 발명은 구체적인 실시 예를 통해 설명되고 있으나, 본 발명은 그 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있음은 잘 이해될 것이다. 그러므로, 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위 및 이와 균등한 것들에 의해 정해져야 한다. 본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 잘 이해될 것이다.
100 : 불휘발성 메모리 장치
110 : 메모리 셀 어레이
130 : 행 디코더
150 : 데이터 입출력 회로
170 : 제어 로직

Claims (10)

  1. 이전 논리 상태들로부터 현재 논리 상태들로 메모리 셀들을 프로그램하기 위한 불휘발성 메모리 장치의 프로그램 방법에 있어서:
    프로그램 전압을 선택된 메모리 셀에 인가하는 단계; 및
    상기 현재 논리 상태들을 검증하기 위한 프리 검증 전압과 목표 검증 전압을 상기 선택된 메모리 셀에 인가하는 단계를 포함하되,
    상기 현재 논리 상태들 중 하나인 제 1 논리 상태의 목표 검증 전압과 상기 현재 논리 상태들 중 하나인 제 2 논리 상태의 목표 검증 전압 간의 간격이, 상기 이전 논리 상태들 중 하나인 제 3 논리 상태의 목표 검증 전압과 상기 이전 논리 상태들 중 하나인 제 4 논리 상태의 목표 검증 전압 간의 간격보다 작은 경우, 상기 제 1 논리 상태를 검증하기 위한 목표 검증 전압을 상기 제 2 논리 상태를 검증하기 위한 프리 검증 전압으로 사용하는 프로그램 방법.
  2. 제 1 항에 있어서,
    상기 프리 검증 전압에 의해서 온 셀로 판별되고, 상기 목표 검증 전압에 의해서 프로그램 페일된 것으로 판별된 상기 선택된 메모리 셀의 비트 라인에 인가되는 전압은 상기 프로그램 전압이 상기 선택된 메모리 셀에 인가되는 동안 조절되는 프로그램 방법.
  3. 제 2 항에 있어서,
    상기 선택된 메모리 셀의 비트 라인에 접지 전압보다 높고 프로그램 금지 전압보다 낮은 전압이 인가되는 프로그램 방법.
  4. 제 1 항에 있어서,
    상기 제 2 논리 상태는 상기 제 1 논리 상태보다 높은 문턱 전압을 갖는 프로그램 상태인 프로그램 방법.
  5. 제 1 항에 있어서,
    상기 제 1 논리 상태가 상기 현재 논리 상태들 중에서 가장 낮은 문턱 전압을 갖는 프로그램 상태이면, 상기 제 1 논리 상태의 프리 검증 전압과 상기 제 1 논리 상태의 목표 검증 전압이 상기 선택된 메모리 셀에 독립적으로 인가되는 프로그램 방법.
  6. 이전 페이지의 논리 상태들로부터 현재 페이지의 논리 상태들로 메모리 셀들을 프로그램하기 위한 불휘발성 메모리 장치의 프로그램 방법에 있어서:
    상기 이전 페이지의 논리 상태들로 상기 메모리 셀들을 프로그램하기 위한 이전 페이지 프로그램 단계; 및
    상기 현재 페이지의 논리 상태들로 상기 메모리 셀들을 프로그램하기 위한 현재 페이지 프로그램 단계를 포함하되,
    상기 이전 페이지 프로그램 단계는,
    적어도 두 개의 프로그램 전압을 선택된 메모리 셀에 인가하기 위한 제 1 프로그램 단계; 및
    상기 선택된 메모리 셀의 논리 상태들을 검증하기 위한 목표 검증 전압을 상기 선택된 메모리 셀에 인가하기 위한 제 1 검증 단계를 포함하고,
    상기 현재 페이지 프로그램 단계는,
    프로그램 전압을 선택된 메모리 셀에 인가하기 위한 제 2 프로그램 단계; 및
    상기 선택된 메모리 셀의 논리 상태를 검증하기 위한 프리 검증 전압과 목표 검증 전압을 상기 선택된 메모리 셀에 인가하기 위한 제 2 검증 단계를 포함하고,
    상기 제 2 검증 단계는 제 1 논리 상태를 검증하기 위한 목표 검증 전압을 제 2 논리 상태를 검증하기 위한 프리 검증 전압으로 사용하는 단계를 포함하는 프로그램 방법.
  7. 제 6 항에 있어서,
    상기 제 1 프로그램 단계는,
    제 1 프로그램 전압을 인가하기 위한 단계; 및
    제 2 프로그램 전압을 인가하기 위한 단계를 포함하는 프로그램 방법.
  8. 제 7 항에 있어서,
    상기 제 1 프로그램 전압은 상기 제 2 프로그램 전압보다 높은 프로그램 방법.
  9. 제 6 항에 있어서,
    상기 제 2 프로그램 단계와 상기 제 2 프로그램 단계는 하나의 프로그램 루프로 구성되고, 상기 선택된 메모리 셀은 상기 프로그램 루프를 반복하여 프로그램되는 프로그램 방법.
  10. 제 9 항에 있어서,
    이전 프로그램 루프에서 상기 프리 검증 전압에 의해서 온셀로 판정되고, 상기 목표 검증 전압에 의해서 프로그램 페일된 것으로 판별된 상기 선택 메모리 셀의 비트 라인에 접지 전압보다 높은 전압이 인가되는 프로그램 방법.
KR1020110036352A 2011-04-19 2011-04-19 불휘발성 메모리 장치의 프로그램 방법 KR101772578B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110036352A KR101772578B1 (ko) 2011-04-19 2011-04-19 불휘발성 메모리 장치의 프로그램 방법
US13/443,053 US8902666B2 (en) 2011-04-19 2012-04-10 Programming method for nonvolatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110036352A KR101772578B1 (ko) 2011-04-19 2011-04-19 불휘발성 메모리 장치의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20120118764A true KR20120118764A (ko) 2012-10-29
KR101772578B1 KR101772578B1 (ko) 2017-08-30

Family

ID=47021249

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110036352A KR101772578B1 (ko) 2011-04-19 2011-04-19 불휘발성 메모리 장치의 프로그램 방법

Country Status (2)

Country Link
US (1) US8902666B2 (ko)
KR (1) KR101772578B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140017616A (ko) * 2011-03-25 2014-02-11 마이크론 테크놀로지, 인크. 비-휘발성 메모리 프로그래밍
US9275751B2 (en) 2013-09-13 2016-03-01 Samsung Electronics Co., Ltd. Nonvolatile memory device and program method
US9607698B2 (en) 2015-07-23 2017-03-28 SK Hynix Inc. Semiconductor memory device and operating method thereof

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9627085B2 (en) 2012-11-29 2017-04-18 Silicon Motion Inc. Refresh method for flash memory and related memory controller thereof
CN105027216B (zh) * 2013-03-14 2017-09-22 硅存储技术公司 非易失性存储器编程算法装置和方法
KR102053958B1 (ko) 2013-05-27 2019-12-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 재프로그램 방법
US9595317B2 (en) * 2015-05-28 2017-03-14 Sandisk Technologies Llc Multi-state programming for non-volatile memory
CN107045892B (zh) * 2015-11-26 2023-08-29 三星电子株式会社 非易失性存储器和包括非易失性存储器的存储装置
US9842655B2 (en) 2015-12-08 2017-12-12 Intel Corporation Reducing verification checks when programming a memory device
KR102341261B1 (ko) 2017-11-13 2021-12-20 삼성전자주식회사 매스비트 카운터를 포함하는 메모리 장치 및 그의 동작 방법
KR102461099B1 (ko) * 2018-08-07 2022-11-01 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 저장 장치 및 그 동작 방법
KR20220067419A (ko) * 2020-11-17 2022-05-24 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이들의 동작 방법
KR20220139081A (ko) 2021-04-07 2022-10-14 에스케이하이닉스 주식회사 비휘발성 메모리 장치에 데이터를 프로그램 및 검증하기 위한 장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100706816B1 (ko) 2006-03-10 2007-04-12 삼성전자주식회사 프로그램 속도를 향상시킬 수 있는 불휘발성 메모리 장치및 그것의 프로그램 방법
US7619920B2 (en) 2007-07-05 2009-11-17 Kabushiki Kaisha Toshiba NAND type flash memory and write method of the same
JP5172555B2 (ja) 2008-09-08 2013-03-27 株式会社東芝 半導体記憶装置
KR101600539B1 (ko) 2009-04-07 2016-03-08 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
KR101554727B1 (ko) * 2009-07-13 2015-09-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101616097B1 (ko) * 2009-11-11 2016-04-28 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140017616A (ko) * 2011-03-25 2014-02-11 마이크론 테크놀로지, 인크. 비-휘발성 메모리 프로그래밍
US9275751B2 (en) 2013-09-13 2016-03-01 Samsung Electronics Co., Ltd. Nonvolatile memory device and program method
US9607698B2 (en) 2015-07-23 2017-03-28 SK Hynix Inc. Semiconductor memory device and operating method thereof

Also Published As

Publication number Publication date
US8902666B2 (en) 2014-12-02
KR101772578B1 (ko) 2017-08-30
US20120269002A1 (en) 2012-10-25

Similar Documents

Publication Publication Date Title
US9741441B2 (en) Nonvolatile memory system including nonvolatile memory device and memory controller and operating method of memory controller
KR101772578B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US8665649B2 (en) Non-volatile memory device and ISPP programming method
US8705279B2 (en) Nonvolatile memory device and reading method thereof
US8270227B2 (en) Nonvolatile memory device and method of reading same
US8164952B2 (en) Nonvolatile memory device and related method of programming
US9281068B2 (en) Nonvolatile memory and related reprogramming method
US9818477B2 (en) Methods of programming memory cells in non-volatile memory devices
US8743632B2 (en) Nonvolatile memory device, operating method thereof, and data storage device having the same
US9627070B2 (en) Program method of nonvolatile memory device for having dense threshold voltage distribution by controlling voltage of bit line according to threshold voltage of memory cell
CN107808682B (zh) 控制电路、外围电路、半导体存储器件及其操作方法
US8611150B2 (en) Flash memory device including flag cells and method of programming the same
KR20140103755A (ko) 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
US11989082B2 (en) Non-volatile memory device, method of operating the device, and memory system including the device
KR20140013383A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US11854623B2 (en) Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods
KR102387956B1 (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템
KR20190073128A (ko) 메모리 장치 및 그 동작 방법
US20210166747A1 (en) Memory device and method of operating the memory device
US20220293194A1 (en) Modulation of source voltage in nand-flash array read
US11941271B2 (en) Storage devices performing secure erase and operating methods thereof

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