KR101124126B1 - 불휘발성 메모리 소자의 프로그램 방법 - Google Patents

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

Info

Publication number
KR101124126B1
KR101124126B1 KR1020100060448A KR20100060448A KR101124126B1 KR 101124126 B1 KR101124126 B1 KR 101124126B1 KR 1020100060448 A KR1020100060448 A KR 1020100060448A KR 20100060448 A KR20100060448 A KR 20100060448A KR 101124126 B1 KR101124126 B1 KR 101124126B1
Authority
KR
South Korea
Prior art keywords
program
memory cells
over
voltage
next page
Prior art date
Application number
KR1020100060448A
Other languages
English (en)
Other versions
KR20110001916A (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 US12/826,123 priority Critical patent/US8422305B2/en
Publication of KR20110001916A publication Critical patent/KR20110001916A/ko
Application granted granted Critical
Publication of KR101124126B1 publication Critical patent/KR101124126B1/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
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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/08Address circuits; Decoders; Word-line control 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/10Programming or data input circuits
    • G11C16/12Programming voltage switching 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/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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Abstract

본 발명은, 페이지 버퍼들에 프로그램 데이터가 입력되는 단계; 상기 프로그램 데이터에 따라, 선택된 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램 동작 및 프로그램 검증동작을 수행하는 단계; 기 메모리 셀들의 문턱전압이 상기 목표레벨에 모두 도달하면, 상기 메모리 셀들 중 오버 프로그램된 메모리 셀들이 발생했는지를 검증하기 위한 오버 프로그램 검증 동작을 수행하는 단계; 상기 오버 프로그램 검증 동작에 의해, 오버 프로그램된 메모리 셀들에 대하여 에러 정정 동작의 가능 여부를 판단하는 단계; 상기 에러 정정 동작이 가능한 경우, 프로그램 동작을 종료하는 단계; 및 상기 오버 프로그램된 셀들에 대하여 에러 정정 동작이 가능하지 않은 경우, 다음 페이지를 선택하고, 상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램 동작 및 프로그램 검증동작을 수행하는 단계를 포함하는 불휘발성 메모리 소자의 프로그램 방법으로 이루어진다.

Description

불휘발성 메모리 소자의 프로그램 방법{Method of programming of a non-volatile memory device}
본 발명은 불휘발성 메모리 소자의 프로그램 방법에 관한 것으로 특히, 오버 프로그램된 셀이 발생하는 경우의 프로그램 방법에 관한 것이다.
도 1a 및 도 1b는 종래기술에 따른 문제점을 설명하기 위한 그래프이다.
선택된 워드라인에 인가되는 프로그램 전압(Vpgm Bias) 레벨이 증가할수록 프로그램될 메모리 셀들의 문턱전압(Cell Vt)도 증가한다. 도 1a와 같이, 워드라인에 인가되는 전압 레벨과 메모리 셀들의 문턱전압(Vt)이 서로 정비례하는 것이 이상적이다. 하지만, 문턱전압(Vt)이 증가하는데에 한계가 있으며, 메모리 셀들의 전기적 특성 또한 서로 다르기 때문에, 실질적으로는 도 1b와 같이 워드라인에 인가되는 전압 레벨(Vpgm Bias)과 메모리 셀들의 문턱전압(Cell Vt)은 서로 비례하되 정비례하지는 않는다.
프로그램 동작은 선택된 워드라인에 프로그램 전압(Vpgm)의 레벨을 점차 높이면서 프로그램할 메모리 셀들의 문턱전압을 높이는 ISPP(Incremental Step Pulse Program) 방식으로 수행한다. 특히, ISPP 방식의 프로그램 동작의 경우, 메모리 셀들의 문턱전압이 불규칙적으로 증가하면 프로그램 동작의 신뢰도가 저하될 수 있다. 프로그램 전압(Vpgm)의 스텝전압(프로그램 전압의 증가량)이 0.5V이고, 프로그램될 메모리 셀들의 문턱전압 레벨의 범위가 1.0V 내지 1.5V라고 가정한다. 이때, 선택된 워드라인에 17V의 프로그램 전압(Vpgm)을 인가하여 메모리 셀들의 문턱전압이 0.6V가 되었다고 하면, 1.0V보다 낮으므로 N-1번째 프로그램 동작으로는 검증동작을 패스하지 못하게 된다.
이어서, 선택된 워드라인에 전압 레벨이 0.5V 증가된 17.5V의 N번째 프로그램 전압(Vpgm)을 인가하면 메모리 셀들의 문턱전압은 0.5V가 증가한 1.1V가 되는 것이 정상이고, 모든 메모리 셀들의 문턱전압이 1.0V에 도달하였으면 검증동작이 패스된다. 하지만, N번째 프로그램 전압(Vpgm)을 인가하였을 때 문턱전압이 정상적으로 증가하지 못하고 예를 들어 0.3V만 증가하였다면, 문턱전압은 0.9V가 되어 검증동작을 패스하지 못하게 된다. 이러한 경우, N+1번째 프로그램 동작을 수행하는데, N+1번째 프로그램 전압으로 18.0V를 인가한다. 이때, 메모리 셀의 문턱전압이 정상적으로 증가하여 N번째 프로그램 동작에서 증가하지 못한 0.2V와 N+1번째 프로그램 동작의 증가량인 0.5V가 더해진 0.7V가 증가하게 된다. 즉, N+1번째 프로그램 동작을 수행하여 메모리 셀의 문턱전압은 1.6V가 되는데, 이는 검증동작을 패스하기 위한 전압 레벨의 범위보다 더 높은 전압이므로, 이를 오버 프로그램이라 한다. 오버 프로그램된 메모리 셀들의 경우, 문턱전압이 높기 때문에 인접한 메모리 셀들의 프로그램 동작시 간섭이 발행하면 문턱전압의 레벨이 증가할 수 있다. 증가된 메모리 셀들의 문턱전압은 인접한 셀들의 프로그램 동작 시 상승할 수 있으며, 상승된 문턱전압의 레벨이 다른 데이터에 해당하는 문턱전압 레벨까지 상승할 경우, 프로그램 동작 시 저장된 데이터와 다른 데이터가 독출될 수 있다.
본 발명이 해결하고자 하는 과제는, 프로그램 동작 시 에러 정정 코드(error correction code)를 이용한 에러 정정 동작의 가능여부를 판단하여, 가능하지 않은 경우 다음 페이지를 선택하고 이전 페이지의 프로그램 동작을 다음 페이지에 수행함으로써, 프로그램 동작 및 독출 동작의 신뢰도를 개선하고자 한다.
본 발명의 제1 실시 예에 따른 불휘발성 메모리 소자의 프로그램 방법은, 페이지 버퍼들에 프로그램 데이터가 입력되는 단계; 상기 프로그램 데이터에 따라, 선택된 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램 동작 및 프로그램 검증동작을 수행하는 단계; 상기 메모리 셀들의 문턱전압이 상기 목표레벨에 모두 도달하면, 상기 메모리 셀들 중 오버 프로그램된 메모리 셀들이 발생했는지를 검증하기 위한 오버 프로그램 검증 동작을 수행하는 단계;
상기 오버 프로그램 검증 동작에 의해, 오버 프로그램된 메모리 셀들에 대하여 에러 정정 동작의 가능 여부를 판단하는 단계; 상기 에러 정정 동작이 가능한 경우, 프로그램 동작을 종료하는 단계; 및 상기 오버 프로그램된 셀들에 대하여 에러 정정 동작이 가능하지 않은 경우, 다음 페이지를 선택하고, 상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램 동작 및 프로그램 검증동작을 수행하는 단계를 포함한다.
상기 오버 프로그램 검증 동작 결과, 오버 프로그램되지 않는 셀들에 대하여 프로그램 동작을 종료하는 단계를 더 포함한다.
상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 수행하는 프로그램 동작은 상기 프로그램 데이터에 따라 수행한다.
상기 프로그램 동작은 ISPP(Incremental Step Pulse Program) 방식으로 수행한다.
상기 오버 프로그램 검증 동작은, 선택된 워드라인에는 오버 프로그램 검증전압을 인가하고, 비선택된 워드라인들에는 패스전압을 인가하여 수행한다.
상기 오버 프로그램 검증전압은 상기 프로그램 검증 동작 시 상기 선택된 워드라인에 인가되는 검증전압보다 높은 전압이다.
상기 에러 정정 동작의 가능 여부는, 상기 오버 프로그램된 메모리 셀들의 개수에 따라 판단한다.
상기 오버 프로그램된 메모리 셀들의 개수가 설정된 개수보다 적으면 상기 에러 정정 동작이 가능한 것으로 판단하고, 상기 설정된 개수와 같거나 이보다 많으면 상기 에러 정정 동작이 불가능한 것으로 판단한다.
상기 오버 프로그램 검증동작은, 상기 모든 메모리 셀들의 문턱전압이 상기 목표레벨에 도달하지 못한 셀이 적어도 하나 이상 있으면 수행하지 않는다.
상기 다음 페이지의 프로그램 동작은, 상기 다음 페이지에 포함된 메모리 셀들의 문턱전압이 상기 목표레벨에 도달할 때까지 반복 수행한다.
상기 다음 페이지의 프로그램 동작 결과, 상기 에러 정정 동작이 불가능하면 그 다음 페이지를 선택하여 상기 프로그램 동작을 수행한다.
본 발명의 제2 실시 예에 따른 불휘발성 메모리 소자의 프로그램 방법은, 프로그램 명령 신호에 응답하여 선택된 메모리 셀 블록을 소거하는 단계; 페이지 버퍼들에 프로그램 데이터가 입력되는 단계; 선택된 워드라인에 프로그램 전압을 인가하여 프로그램할 메모리 셀들의 문턱전압을 상승시키는 프로그램 단계; 상기 선택된 워드라인에 검증전압을 인가하여 상기 메모리 셀들의 문턱전압이 목표레벨에 도달했는지를 검증하는 프로그램 검증 단계; 상기 메모리 셀들의 문턱전압이 상기 목표레벨에 모두 도달할 때까지 상기 프로그램 전압을 상승시키면서 프로그램 동작을 반복 수행하는 단계; 상기 메모리 셀들의 문턱전압이 상기 목표레벨에 모두 도달했으면, 상기 프로그램된 메모리 셀들 중 오버 프로그램된 메모리 셀이 있는지를 판단하는 오버 프로그램 검증 단계; 상기 오버 프로그램된 메모리 셀들의 개수가 설정된 개수와 같거나, 이보다 많은 경우 프로그램 동작을 종료하는 단계; 및 상기 오버 프로그램된 메모리 셀들의 개수가 상기 설정된 개수보다 적은 경우, 다음 페이지를 선택하고, 상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램 동작 및 프로그램 검증 동작을 수행하는 단계를 포함한다.
상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 수행하는 프로그램 동작은 상기 프로그램 데이터에 따라 수행한다.
상기 프로그램 동작은 ISPP(Incremental Step Pulse Program) 방식으로 수행한다.
상기 오버 프로그램 동작 시 상기 비선택된 워드라인에 인가하는 상기 패스전압은 상기 프로그램 검증 동작 수행시 상기 선택된 워드라인에 인가하는 검증전압과 동일한 레벨을 갖는다.
상기 설정된 개수는 에러 정정 동작이 가능한 셀의 개수이다.
상기 오버 프로그램 검증 동작은 상기 모든 메모리 셀들의 문턱전압이 상기 목표레벨에 도달하지 못한 셀들이 적어도 하나 이상 있으면 수행하지 않는다.
상기 다음 페이지의 프로그램 동작은 상기 다음 페이지에 포함된 메모리 셀들의 개수가 설정된 개수보다 많은 경우, 그 다음 페이지를 선택하여 상기 프로그램 동작을 수행한다.
상기 다음 페이지의 오버 프로그램 동작 시, 오버 프로그램된 메모리 셀들의 개수가 설정된 개수보다 많은 경우, 그 다음 페이지를 선택하여 상기 프로그램 동작을 수행한다.
상기 오버 프로그램 검증 동작 시, 상기 선택된 워드라인에 상기 프로그램 검증 단계시 상기 선택된 워드라인에 인가된 프로그램 검증전압보다 높은 오버 프로그램 검증전압을 인가하여 수행한다.
본 발명은, 선택된 페이지의 프로그램 동작 시 에러 정정 코드를 이용한 에러 정정 동작이 불가능한 페이지의 프로그램 동작을 다음 페이지에 재수행 함으로써 프로그램 동작 및 후속 독출 동작의 신뢰도를 개선할 수 있다.
도 1a 및 도 1b는 종래기술에 따른 문제점을 설명하기 위한 그래프이다.
도 2는 본 발명의 프로그램 동작을 설명하기 위한 불휘발성 메모리 장치의 블럭도이다.
도 3은 본 발명에 따른 프로그램 동작 방법을 설명하기 위한 순서도이다.
도 4는 ISPP 방식의 프로그램 방법을 설명하기 위한 도면이다.
도 5a 내지 도 5c는 본 발명에 따른 프로그램 동작 방법을 설명하기 위한 타이밍도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 2는 본 발명의 프로그램 동작을 설명하기 위한 불휘발성 메모리 장치의 블럭도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 반도체 메모리 장치는 메모리 셀 어레이(110), 제어 회로(120), 전압 발생 회로(130), 로우 디코더(140), 페이지 버퍼 회로부(150), 컬럼 선택 회로(160), 입출력 회로(170), 및 패스/페일 체크 회로(180)를 포함한다.
메모리 셀 어레이(110)는 복수의 메모리 블록들을 포함한다. 도 2에는 그 중 하나의 메모리 블록이 도시되어 있다. 각각의 메모리 블록은 메인 셀 어레이(MCA)와 플래그 셀 어레이(FCA)를 포함한다.
각각의 메모리 블록은 페이지 단위로 구분할 수 있다. 페이지는 하나의 워드라인(예, WL0)에 연결된 메모리 셀들(Ca0 내지 Ck0)을 포함한다. 또한, 페이지는 짝수 번째 비트라인들(BL0, BL2,..., BLk-1)에 연결된 메모리 셀들(Ca0, Cc0, ..., Ck-10)을 포함하는 이븐 페이지와 홀수번째 비트라인들(BL1, BL3,..., BLk)에 연결된 메모리 셀들(Cb0, Cd0,..., Ck0)을 포함하는 오드 페이지로 구분될 수도 있다.
불휘발성 메모리 장치에서, 메모리 블록은 소거의 기본 단위이고, 페이지(또는, 이븐 페이지와 오드 페이지)는 프로그램 동작 또는 리드 동작의 기본 단위가 된다.
메모리 블록에 포함된 메모리 셀들은 스트링 단위로 구분될 수도 있다. 즉, 메모리 블록은 복수의 스트링들(ST1 내지 STk)을 포함한다. 각각의 스트링(ST1)은 공통 소스 라인(CSL)에 연결되는 소스 셀렉트 트랜지스터(SST), 복수의 메모리 셀들(Ca0 내지 Can), 그리고 비트라인(BL1)에 연결되는 드레인 셀렉트 트랜지스터(DST)로 구성된다. 소스 셀렉트 트랜지스터(SST)의 게이트는 소스 셀렉트 라인(SSL)에 연결되고, 메모리 셀들(Ca0 내지 Can)의 게이트들은 워드 라인들(WL0 내지 WLn)에 각각 연결되며, 드레인 셀렉트 트랜지스터(DST)의 게이트는 드레인 셀렉트 라인(DSL)에 연결된다. 스트링들(ST1 내지 STk)은 대응하는 비트 라인들(BL1 내지 BLk)과 각각 연결되고 공통 소스 라인(CSL)과 공통으로 연결된다.
제어 회로(120)는 명령 신호(CMD)에 응답하여 내부적으로 프로그램 동작 신호(PGM), 리드 동작 신호(READ) 또는 소거 동작 신호(ERASE)를 출력하고, 동작의 종류에 따라 페이지 버퍼 회로부(150)에 포함된 페이지 버퍼들(150a 내지 150k)을 제어하기 위한 제어 신호들(PS SIGNALS)을 출력한다. 또한, 제어 회로(120)는 어드레스 신호(ADD)에 응답하여 내부적으로 로우 어드레스 신호(RADD)와 컬럼 어드레스 신호(CADD)를 출력한다. 또한, 제어 회로(120)는 프로그램 동작 시 패스/페일 체크 회로(180)에서 출력되는 체크 신호(CS)에 따라 선택된 메모리 셀들의 문턱전압들이 최소한 목표레벨까지 상승하였는지를 확인하고, 확인 결과에 따라 프로그램 동작의 종료 여부를 결정한다. 또한, 제어 회로(120)는 선택된 메모리 셀들 중에서 문턱전압이 목표레벨보다 낮은 에러 셀들의 개수에 따라, 에러 정정 가능 여부를 판단하여 ECC(Error Checking and Correction) 처리로 보정할 것인지 또는 다른 페이지를 선택하여 재프로그램할 것인지를 결정한다. 구체적인 동작은 후술하기로 한다.
전압 공급 회로(130, 140)는 제어 회로(120)의 신호들(READ, PGM, ERASE, RADD)에 따라 메모리 셀들의 프로그램, 소거 또는 리드 동작에 필요한 동작 전압들을 선택된 메모리 블록의 스트링들(ST1 내지 STk)로 공급한다. 이러한 전압 공급 회로는 전압 발생 회로(130) 및 로우 디코더(140)를 포함한다.
전압 발생 회로(130)는 제어 회로(120)의 내부 명령 신호인 동작 신호들(PGM, READ, ERASE)에 응답하여 메모리 셀들을 프로그램, 리드 또는 소거하기 위한 동작 전압들(Vpgm, Vread, Vpass, VDSL, VSSL, VCSL, Vf)을 글로벌 라인들로 출력한다.
로우 디코더(140)는 제어 회로(120)의 로우 어드레스 신호들(RADD)에 응답하여, 전압 발생 회로(130)에서 발생된 동작 전압들을 메모리 셀 어레이(110)의 메모리 블록들 중 선택된 메모리 블록의 스트링들(ST1 내지 STk)로 전달한다. 즉, 동작 전압들은 선택된 메모리 블록의 로컬 라인들(DSL, WL[n:0], SSL)로 인가된다.
페이지 버퍼 회로부(150)는 비트라인들(BL1 내지 BLk)과 각각 연결되는 페이지 버퍼들(150a 내지 150k)을 포함한다. 제어 회로(120)의 제어 신호들(PB SIGNALS)에 응답하여 셀들(Ca0,..., Ck0)에 데이터를 저장하는데 필요한 전압을 비트라인들(BL1 내지 BL4)에 각각 인가한다. 구체적으로, 페이지 버퍼들(150a 내지 150k)은 셀들(Ca0,..., Ck0)의 프로그램 동작, 소거 동작 또는 리드 동작 시 비트라인들(BL1 내지 BLk)을 프리차지 하거나, 비트라인들(BL1 내지 BLk)의 전압 변화에 따라 검출된 메모리 셀들(Ca0,..., Ck0)의 문턱전압 레벨에 대응하는 데이터를 래치한다. 즉, 페이지 버퍼(150)는 메모리 셀들(Ca0,..., Ck0)에 저장되는 데이터에 따라 비트라인들(BL1 내지 BLk)의 전압을 조절하고, 메모리 셀들(Ca0,..., Ck0)에 저장된 데이터를 검출한다.
컬럼 선택 회로(160)는 제어 회로(120)에서 출력된 컬럼 어드레스 신호(CADD)에 응답하여 페이지 버퍼들(150a 내지 150k)을 선택하고, 선택된 페이지 버퍼에 래치된 데이터를 출력한다.
입출력 회로(170)는 프로그램 동작 시 외부로부터 입력된 데이터를 페이지 버퍼들(150a 내지 150k)로 입력하기 위하여 제어 회로(120)의 제어에 따라 데이터를 컬럼 선택 회로(160)에 전달한다. 컬럼 선택 회로(160)가 전달된 데이터를 페이지 버퍼들(150a 내지 150k)에 차례대로 입력하면 페이지 버퍼들(150a 내지 150k)은 입력된 데이터를 내부 래치에 저장한다. 또한, 리드 동작 시 입출력 회로(170)는 페이지 버퍼들(150a 내지 150k)로부터 컬럼 선택 회로(160)를 통해 전달된 데이터를 외부로 출력한다.
패스/페일 체크 회로(180)는 프로그램 동작 중 실시되는 프로그램 검증 동작에서 프로그램된 메모리 셀들 중 문턱전압이 목표레벨보다 낮은 에러 셀의 발생 여부를 체크하고 그 결과를 체크 신호(PFC)로 출력한다. 또한, 패스/페일 체크 회로(180)는 에러 셀 발생 시 발생된 에러 셀들의 개수를 카운팅하고 카운팅 결과를 카운팅 신호(CS)로 출력하는 기능도 수행한다.
제어 회로(120)는 메모리 셀들의 프로그램 동작 시 선택된 워드라인에 인가되는 프로그램 전압의 레벨을 조절하고, 프로그램 검증 동작 시 선택된 워드라인으로 인가되는 검증 전압들(Vf)이 선택적으로 인가될 수 있도록 전압 발생 회로(130)를 제어한다. 이때, 패스/페일 체크 회로(180)의 체크 신호(CS)에 따라 제어 회로(120)가 전압 발생 회로(130)를 제어할 수도 있다.
도 3은 본 발명에 따른 프로그램 동작 방법을 설명하기 위한 순서도이다.
프로그램 동작은 프로그램 명령(200) 단계, 프로그램 데이터 입력(210) 단계, 선택된 페이지 프로그램(220) 단계, 검증 완료 판단(230) 단계, 검증 완료가 안 된 경우 수행하는 프로그램 전압 증가(250) 단계, 오버 프로그램된 셀 발생 여부의 판단(240) 단계, ECC(Error Correction Code) 가능 여부 판단(260) 단계 및 다음 페이지 선택(270) 단계를 포함한다.
제어 회로로부터 프로그램 명령(200)이 발생하면, 페이지 버퍼 회로부에 포함된 복수의 페이지 버퍼들에 각각 프로그램 데이터가 입력된다(210).
페이지 버퍼들에 입력된 프로그램 데이터를 이용하여 선택된 페이지의 프로그램 동작을 수행한 후(270), 프로그램 동작이 수행된 메모리 셀들의 문턱전압이 모두 목표레벨에 도달했는지를 판단하기 위한 검증동작을 수행한다(230). 프로그램 동작은 선택된 워드라인에 프로그램 전압을 인가하여 수행하며, 스텝전압 만큼 프로그램 전압을 점차 증가시키는 ISPP(Incremental Step Pulse Program) 방식으로 수행한다. 검증동작 결과 문턱전압이 목표레벨에 도달하지 못한 메모리 셀이 있는 경우, 선택된 워드라인에 인가하는 프로그램 전압(Vpgm)을 스텝전압(Vs)만큼 증가시킨 후(250), 선택된 페이지의 프로그램 동작을 수행한다(220). 검증동작은 각각의 페이지 버퍼에 입력된 프로그램 데이터와 메모리 셀로부터 센싱된 전압을 비교하여 판단한다. 선택된 페이지의 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램(220), 검증(230) 및 프로그램 전압 증가(250) 단계를 반복 수행한다. 프로그램 방법을 보다 구체적으로 설명하면 다음과 같다.
도 4는 ISPP 방식의 프로그램 동작 방법을 설명하기 위한 도면이다.
도 4를 참조하면, ISPP 방식의 프로그램 동작은 선택된 워드라인에 프로그램 전압(Vpgm)을 인가하여 프로그램 동작을 수행한 후, 프로그램 동작에 대한 검증동작(verify operation)을 수행한다. 검증동작은 메모리 셀들의 문턱전압이 모두 목표레벨에 도달했는지 여부를 판단한다. 이처럼, 선택된 페이지의 메모리 셀들의 문턱전압이 모두 목표레벨에 도달할 때까지 선택된 워드라인에 프로그램 전압(Vpgm)을 인가하는 동작 및 검증동작을 반복 수행한다.
검증 결과(230), 선택된 페이지의 메모리 셀들의 문턱전압이 모두 목표레벨에 도달하였으면, 오버 프로그램된 셀이 발생했는지 여부를 검증하는 오버 프로그램 검증 동작(240)을 수행한다.
오버 프로그램 검증 동작(240)에서는, 문턱전압이 목표레벨에 도달한 메모리 셀들이 오버 프로그램되었는지를 판단한다. 특히, 프로그램 속도가 다른 셀들보다 빠른 셀들의 경우, 높은 레벨의 프로그램 상태의 문턱전압과의 차이가 좁아지기 때문에 후속 프로그램 동작 시 간섭으로 인한 레벨 상승시 다른 데이터로 독출될 수 있다. 이에 따라, 오버 프로그램 검증 동작(240)은 목표레벨보다 높은 기준레벨에 따라 수행하여 오버 프로그램된 셀들을 판별할 수 있다. 오버 프로그램 검증 동작(240) 시 선택된 페이지에서 프로그램된 모든 메모리 셀들의 문턱전압이 기준레벨보다 낮으면 정상 셀로 판별하고 프로그램 동작을 종료한다. 또한, 오버 프로그램 검증 동작은 선택된 워드라인에는 오버 검증전압을 인가하고, 비선택된 워드라인들에는 패스전압을 인가하여 수행한다. 오버 프로그램 검증 동작에서의 패스전압은 메모리 셀들의 문턱전압이 목표레벨에 도달했는지를 판단하기 위한 검증동작에서의 검증전압과 동일하다.
오버 프로그램 검증 동작(240)시 기준레벨보다 높은 문턱전압을 갖는 메모리 셀이 발생한 경우, 에러 정정 코드(Error Correction Code)를 이용한 에러 정정 동작(ECC)이 가능한지 여부를 판단(260)한다. ECC 가능 여부는 선택된 페이지의 메모리 셀들 중, 에러가 발생할 셀들의 개수를 카운팅하여 설정된 개수보다 적으면 ECC가 가능한 것으로 판단한다. ECC가 가능할 경우, 오버 프로그램이 수행되었더라도, 독출동작시 에러 정정 코드를 이용하여 정상적인 데이터를 독출할 수 있다. 하지만, ECC가 불가능할 정도로 많은 개수의 셀들에 에러가 발생하면, 즉 오버 프로그램된 셀들의 개수가 설정된 개수와 같거나 많으면 다음 페이지(page)를 선택하고(270), 페이지 버퍼들에 입력된 프로그램 데이터를 이용하여 프로그램 동작을 재수행한다.
즉, 선택된 페이지에서 에러가 발생한 셀들의 개수가 ECC가 가능한 개수를 초과하는 경우, 다음 페이지를 선택하여 이전 페이지에 수행한 프로그램 동작을 재수행한다. 만약, 새로 선택된 페이지에서도 에러가 발생한 셀들의 개수가 ECC가 가능한 개수를 초과하면, 그 다음 페이지를 선택하여 프로그램 동작을 수행한다.
오버 프로그램 검증 동작을 적용한 프로그램 방법의 실시 예를 설명하면 다음과 같다.
도 5a 내지 도 5c는 본 발명에 따른 프로그램 동작 방법을 설명하기 위한 타이밍도이다.
도 5a를 참조하면, 제1 실시예에 따른 프로그램 동작 방법은 다음과 같다.
프로그램 구간에서는 선택된 워드라인(Sel. WL) 및 나머지 워드라인들(Unsel. WL)로 프로그램 패스전압(Vpass)을 인가한 한 후, 선택된 워드라인(Sel. WL)으로 프로그램 전압(Vpgm)을 인가하여 프로그램 동작을 수행한다.
검증구간에서는 프로그램할 메모리 셀들의 문턱전압이 모두 목표레벨에 도달할 때까지는 검증전압(Vf1)만을 이용하다가, 프로그램할 모든 메모리 셀들의 문턱전압이 모두 목표레벨에 도달하면 오버 검증전압(Vf2)을 이용한 오버 프로그램 검증 동작을 수행한다. 오버 프로그램 검증 동작은 선택된 워드라인(Sel. WL)에 검증전압(Vf1)을 인가하다가 전압 강하 없이 선택된 워드라인(Sel. WL)에 오버 검증전압을 인가하여 수행할 수 있다. 검증동작은, 선택된 워드라인(Sel. WL)에는 검증전압(Vf1) 또는 오버 검증전압(Vf2)을 인가하고, 나머지 워드라인들(Unsel. WL)에는 패스전압을 인가하여 수행한다. 검증전압(Vf1)과 오버 검증전압(Vf2)의 전위 차이는 프로그램 동작시 프로그램 전압의 증가량인 스텝전압(Vs)과 동일하게 할 수 있다.
선택된 워드라인(Sel. WL)에 검증전압(Vf1)을 인가하는 검증동작을 수행하다가, 검증동작이 패스되면 검증전압(Vf1)에 스텝전압(Vs)을 합한 오버 검증전압(Vf2)을 인가하는 오버 프로그램 검증 동작을 수행한다. 오버 프로그램 검증 동작은 여러번 수행할 수도 있으나, 동작시간 단축을 위하여 한 번만 수행하는 것이 바람직하다. 이때, 선택되지 않은 나머지 워드라인들(Unsel. WL)에는 검증패스전압을 인가하며, 검증패스전압은 검증전압(Vf1)과 동일한 레벨이 될 수 있다.
도 5b를 참조하면, 제2 실시예에 따른 프로그램 동작 방법은 다음과 같다.
제1 실시예에서 설명한 바와 동일하게 프로그램 동작을 진행하다가, 검증전압(Vf1)을 이용한 검증동작이 패스되면, 선택된 워드라인(Sel. WL)을 디스차지(discharge)한 후에, 선택된 워드라인(Sel. WL)에 검증전압(Vf1)보다 높은 검증전압(Vf2)을 인가하여 오버 프로그램 검증 동작을 수행한다.
도 5c를 참조하면, 제3 실시예에 따른 프로그램 동작 방법은 다음과 같다.
제3 실시예에서는, 프로그램 구간에서 선택된 워드라인(Sel. WL)으로 프로그램 전압을 인가함과 동시에 비트라인(bitline)에 인가되는 전압을 조절하여, 선택된 메모리 셀들이 동시에 서로 다른 문턱전압을 갖도록 하는 프로그램 동작을 수행한다. 이때, 제1 및 제2 검증전압(Vf1 및 Vf2)은 프로그램된 메모리 셀에 해당하는 검증전압이 되며, 제3 검증전압(Vf3)은 오버 프로그램 검증 동작을 위한 오버 검증전압이 된다. 오버 프로그램 검증 동작은 제2 검증동작이 패스(pass)되면 수행한다. 이때, 오버 프로그램 검증 동작 시, 선택된 워드라인(Sel. WL)에 인가되는 제3 검증전압(Vf3)은 제2 검증전압(Vf2)보다 스텝전압(Vs)만큼 높은 레벨로 인가하는 것이 바람직하다. 또한, 제3 실시예에서도 제2 실시예와 같이 제1 검증전압(Vf1)을 인가한 후에 워드라인을 디스차지 시키고, 워드라인에 제2 검증전압(Vf2)을 인가한 후, 워드라인을 디스차지 시키고, 워드라인에 제3 검증전압(Vf3)을 인가하여 실시할 수 있다.
상술한 바와 같이, 프로그램 동작시 전기적 특성이 불균일한 메모리 셀의 검증동작을 오버 프로그램 검증 동작을 통하여 판별할 수 있으므로, 불휘발성 메모리 소자의 신뢰도를 행상시킬 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
110 : 메모리 셀 어레이 120 : 제어 회로
130 : 전압 발생 회로 140 : 로우 디코더
150 : 페이지 버퍼 회로부 160 : 컬럼 선택회로
170 : 입출력 회로 180 : 패스/페일 체크 회로

Claims (20)

  1. 페이지 버퍼들에 프로그램 데이터가 입력되는 단계;
    상기 프로그램 데이터에 따라, 선택된 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램 동작 및 프로그램 검증동작을 수행하는 단계;
    상기 메모리 셀들의 문턱전압이 상기 목표레벨에 모두 도달하면, 상기 메모리 셀들 중 오버 프로그램된 메모리 셀들이 발생했는지를 검증하기 위한 오버 프로그램 검증 동작을 수행하는 단계;
    상기 오버 프로그램 검증 동작에 의해, 오버 프로그램된 메모리 셀들에 대하여 에러 정정 동작의 가능 여부를 판단하는 단계;
    상기 에러 정정 동작이 가능한 경우, 프로그램 동작을 종료하는 단계; 및
    상기 오버 프로그램된 셀들에 대하여 에러 정정 동작이 가능하지 않은 경우, 다음 페이지를 선택하고, 상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램 동작 및 프로그램 검증동작을 수행하는 단계를 포함하는 불휘발성 메모리 소자의 프로그램 방법.
  2. 제1항에 있어서,
    상기 오버 프로그램 검증 동작 결과, 오버 프로그램되지 않는 셀들에 대하여 프로그램 동작을 종료하는 단계를 더 포함하는 불휘발성 메모리 소자의 프로그램 방법.
  3. 제1항에 있어서,
    상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 수행하는 프로그램 동작은 상기 프로그램 데이터에 따라 수행하는 불휘발성 메모리 소자의 프로그램 방법.
  4. 제1항에 있어서,
    상기 프로그램 동작은 ISPP(Incremental Step Pulse Program) 방식으로 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  5. 제1항에 있어서,
    상기 오버 프로그램 검증 동작은, 선택된 워드라인에는 오버 프로그램 검증전압을 인가하고, 비선택된 워드라인들에는 패스전압을 인가하여 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  6. 제5항에 있어서,
    상기 오버 프로그램 검증전압은 상기 프로그램 검증 동작 시 상기 선택된 워드라인에 인가되는 검증전압보다 높은 전압인 불휘발성 메모리 소자의 프로그램 동작 방법.
  7. 제1항에 있어서,
    상기 에러 정정 동작의 가능 여부는, 상기 오버 프로그램된 메모리 셀들의 개수에 따라 판단하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  8. 제7항에 있어서,
    상기 오버 프로그램된 메모리 셀들의 개수가 설정된 개수보다 적으면 상기 에러 정정 동작이 가능한 것으로 판단하고, 상기 설정된 개수와 같거나 이보다 많으면 상기 에러 정정 동작이 불가능한 것으로 판단하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  9. 제8항에 있어서,
    상기 오버 프로그램 검증동작은, 상기 모든 메모리 셀들의 문턱전압이 상기 목표레벨에 도달하지 못한 셀이 적어도 하나 이상 있으면 수행하지 않는 불휘발성 메모리 소자의 프로그램 동작 방법.
  10. 제1항에 있어서,
    상기 다음 페이지의 프로그램 동작은, 상기 다음 페이지에 포함된 메모리 셀들의 문턱전압이 상기 목표레벨에 도달할 때까지 반복 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  11. 제1항에 있어서,
    상기 다음 페이지의 프로그램 동작 결과, 상기 에러 정정 동작이 불가능하면 그 다음 페이지를 선택하여 상기 프로그램 동작을 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  12. 프로그램 명령 신호에 응답하여 선택된 메모리 셀 블록을 소거하는 단계;
    페이지 버퍼들에 프로그램 데이터가 입력되는 단계;
    선택된 워드라인에 프로그램 전압을 인가하여 프로그램할 메모리 셀들의 문턱전압을 상승시키는 프로그램 단계;
    상기 선택된 워드라인에 검증전압을 인가하여 상기 메모리 셀들의 문턱전압이 목표레벨에 도달했는지를 검증하는 프로그램 검증 단계;
    상기 메모리 셀들의 문턱전압이 상기 목표레벨에 모두 도달할 때까지 상기 프로그램 전압을 상승시키면서 프로그램 동작을 반복 수행하는 단계;
    상기 메모리 셀들의 문턱전압이 상기 목표레벨에 모두 도달했으면, 상기 프로그램된 메모리 셀들 중 오버 프로그램된 메모리 셀이 있는지를 판단하는 오버 프로그램 검증 단계;
    상기 오버 프로그램된 메모리 셀들의 개수가 설정된 개수와 같거나, 이보다 많은 경우 프로그램 동작을 종료하는 단계; 및
    상기 오버 프로그램된 메모리 셀들의 개수가 상기 설정된 개수보다 적은 경우, 다음 페이지를 선택하고, 상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 프로그램 동작 및 프로그램 검증 동작을 수행하는 단계를 포함하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  13. 제12항에 있어서,
    상기 선택된 다음 페이지에 포함된 메모리 셀들의 문턱전압이 목표레벨에 모두 도달할 때까지 수행하는 프로그램 동작은 상기 프로그램 데이터에 따라 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  14. 제12항에 있어서,
    상기 프로그램 동작은 ISPP(Incremental Step Pulse Program) 방식으로 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  15. 제12항에 있어서,
    상기 오버 프로그램 검증 동작 시 비선택된 워드라인에 인가하는 패스전압은 상기 프로그램 검증 동작 수행시 상기 선택된 워드라인에 인가하는 검증전압과 동일한 레벨을 갖는 불휘발성 메모리 소자의 프로그램 동작 방법.
  16. 제12항에 있어서,
    상기 설정된 개수는 에러 정정 동작이 가능한 셀의 개수인 불휘발성 메모리 소자의 프로그램 동작 방법.
  17. 제12항에 있어서,
    상기 오버 프로그램 검증 동작은 상기 모든 메모리 셀들의 문턱전압이 상기 목표레벨에 도달하지 못한 셀들이 적어도 하나 이상 있으면 수행하지 않는 불휘발성 메모리 소자의 프로그램 동작 방법.
  18. 제12항에 있어서,
    상기 다음 페이지의 프로그램 동작은 상기 다음 페이지에 포함된 메모리 셀들의 개수가 설정된 개수보다 많은 경우, 그 다음 페이지를 선택하여 상기 프로그램 동작을 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  19. 제12항에 있어서,
    상기 다음 페이지의 오버 프로그램 동작 시, 오버 프로그램된 메모리 셀들의 개수가 설정된 개수보다 많은 경우, 그 다음 페이지를 선택하여 상기 프로그램 동작을 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
  20. 제12항에 있어서,
    상기 오버 프로그램 검증 동작 시, 상기 선택된 워드라인에 상기 프로그램 검증 단계시 상기 선택된 워드라인에 인가된 프로그램 검증전압보다 높은 오버 프로그램 검증전압을 인가하여 수행하는 불휘발성 메모리 소자의 프로그램 동작 방법.
KR1020100060448A 2009-06-29 2010-06-25 불휘발성 메모리 소자의 프로그램 방법 KR101124126B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/826,123 US8422305B2 (en) 2009-06-29 2010-06-29 Method of programming nonvolatile memory device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090058490 2009-06-29
KR20090058490 2009-06-29

Publications (2)

Publication Number Publication Date
KR20110001916A KR20110001916A (ko) 2011-01-06
KR101124126B1 true KR101124126B1 (ko) 2012-03-22

Family

ID=43610382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100060448A KR101124126B1 (ko) 2009-06-29 2010-06-25 불휘발성 메모리 소자의 프로그램 방법

Country Status (1)

Country Link
KR (1) KR101124126B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120119322A (ko) 2011-04-21 2012-10-31 에스케이하이닉스 주식회사 반도체 메모리 장치
KR20170011641A (ko) 2015-07-23 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060114319A (ko) * 2003-07-29 2006-11-06 샌디스크 코포레이션 인접 메모리 셀들의 프로그래밍 이후 오버 프로그래밍된메모리 셀들 검출
KR20080069498A (ko) * 2007-01-23 2008-07-28 주식회사 하이닉스반도체 불휘발성 메모리 소자의 소거 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060114319A (ko) * 2003-07-29 2006-11-06 샌디스크 코포레이션 인접 메모리 셀들의 프로그래밍 이후 오버 프로그래밍된메모리 셀들 검출
KR20080069498A (ko) * 2007-01-23 2008-07-28 주식회사 하이닉스반도체 불휘발성 메모리 소자의 소거 방법

Also Published As

Publication number Publication date
KR20110001916A (ko) 2011-01-06

Similar Documents

Publication Publication Date Title
KR101198515B1 (ko) 반도체 메모리 소자의 동작 방법
US8422305B2 (en) Method of programming nonvolatile memory device
CN102099867B (zh) 非易失性存储器的擦除-验证处理
US7800946B2 (en) Flash memory device and operating method thereof
KR101184814B1 (ko) 불휘발성 메모리 장치 및 이의 프로그램 방법
KR101211840B1 (ko) 반도체 메모리 장치의 프로그램 방법
KR101212387B1 (ko) 반도체 메모리 소자의 독출 방법
US8363471B2 (en) Nonvolatile memory device and method of programming the same
KR101264019B1 (ko) 반도체 장치의 동작 방법
US8520435B2 (en) Nonvolatile memory device and method of operating the same
US8971109B2 (en) Semiconductor memory device and method of operating the same
JP2014225310A (ja) 不揮発性半導体記憶装置
US8804433B2 (en) Semiconductor memory device and operating method thereof
US20130083600A1 (en) Semiconductor device and method of operating the same
TW201539456A (zh) 堆疊式記憶體陣列裝置之感測操作
US8351270B2 (en) Nonvolatile memory device and method of programming the device
US20150270003A1 (en) Non-volatile memory and method for programming the same
KR20120059035A (ko) 반도체 메모리 장치의 프로그램 방법
KR101203256B1 (ko) 불휘발성 메모리 장치 및 이의 동작 방법
KR20110116473A (ko) 반도체 메모리 장치의 동작 방법
KR101075505B1 (ko) 메모리 장치 및 이의 동작 방법
KR20150035223A (ko) 반도체 메모리 장치 및 이의 동작방법
KR101124126B1 (ko) 불휘발성 메모리 소자의 프로그램 방법
KR20140021909A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20120005831A (ko) 메모리 장치 및 이의 동작 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170124

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180122

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 9