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

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

Info

Publication number
KR20100054465A
KR20100054465A KR1020080113411A KR20080113411A KR20100054465A KR 20100054465 A KR20100054465 A KR 20100054465A KR 1020080113411 A KR1020080113411 A KR 1020080113411A KR 20080113411 A KR20080113411 A KR 20080113411A KR 20100054465 A KR20100054465 A KR 20100054465A
Authority
KR
South Korea
Prior art keywords
program
target cells
state information
start voltage
cells
Prior art date
Application number
KR1020080113411A
Other languages
English (en)
Other versions
KR100965076B1 (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 KR1020080113411A priority Critical patent/KR100965076B1/ko
Publication of KR20100054465A publication Critical patent/KR20100054465A/ko
Application granted granted Critical
Publication of KR100965076B1 publication Critical patent/KR100965076B1/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/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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase 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/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

Landscapes

  • Read Only Memory (AREA)

Abstract

본원 발명의 불휘발성 메모리 장치의 프로그램 방법은 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 슬로우 셀인 경우 제1 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 패스트 셀인 경우 상기 제1 시작전압보다 낮은 제2 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 제1 시작전압에 의한 프로그램 동작을 수행한 경우, 해당 프로그램 동작에 의한 프로그램 대상 셀들의 문턱전압 변화량에 기초하여 해당 프로그램 대상 셀들의 프로그램 속도를 판단하는 단계와, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 기준값보다 빠른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 포함한다.
프로그램 속도, 프로그램/소거 동작 횟수

Description

불휘발성 메모리 장치의 프로그램 방법{Programming method for non volatile memory device}
본원 발명은 불휘발성 메모리 장치의 프로그램 방법에 관한 것이다.
최근 들어 전기적으로 프로그램(program)과 소거(erase)가 가능하고, 일정 주기로 데이터를 재작성해야하는 리프레시(refresh) 기능이 필요 없는 불휘발성 메모리 소자에 대한 수요가 증가하고 있다.
상기 불휘발성 메모리 셀은 전기적인 프로그램/소거 동작이 가능한 소자로서 얇은 산화막에 인가되는 강한 전기장에 의해 전자가 이동하면서 셀의 문턱전압을 변화시켜 프로그램 및 소거 동작을 수행한다.
불휘발성 메모리 장치는 통상적으로 데이터가 저장되는 셀들이 매트릭스 형태로 구성된 메모리 셀 어레이, 상기 메모리 셀 어레이의 특정 셀들에 대하여 메모리를 기입하거나 특정 셀에 저장되었던 메모리를 독출하는 페이지 버퍼를 포함한다. 상기 페이지 버퍼는 특정 메모리 셀과 접속된 비트라인 쌍, 메모리 셀 어레이에 기록할 데이터를 임시저장하거나, 메모리 셀 어레이로부터 특정 셀의 데이터를 독출하여 임시 저장하는 레지스터, 특정 비트라인 또는 특정 레지스터의 전압 레벨 을 감지하는 감지노드, 상기 특정 비트라인과 감지노드의 접속여부를 제어하는 비트라인 선택부를 포함한다.
이러한 불휘발성 메모리 장치는 프로그램/소거 동작의 횟수가 증가할수록 프로그램 속도가 증가하는 것으로 알려져 있다. 프로그램/소거 동작의 횟수가 증가할수록 각 메모리 셀의 플로팅 게이트에 트랩되는 차지(charge)가 증가하면서 각 셀의 문턱전압이 높아지기 때문이다. 따라서 ISPP(Incremental step pulse program)프로그램 방법에 따른 프로그램 펄스가 상대적으로 적게 인가되더라도 목표로 하는 문턱전압 이상으로 프로그램된다.
이러한 특성을 고려하여 상기 ISPP 프로그램 방법에서 프로그램 시작전압을 낮게 설정하여 인가하는 방법을 고려할 수 있다. 프로그램/소거 동작 횟수가 낮은 시점에서도 이러한 방법을 사용할 경우 프로그램 시간이 증가하는 문제가 발생한다. 즉 프로그램 시작 전압이 낮아짐에 따라 인가하여야 하는 펄스가 더 많아지기 때문이다.
전술한 문제점에 따라 본원 발명이 해결하고자 하는 과제는 프로그램/소거 동작 횟수의 증가에 의한 프로그램 속도의 변경에 따라 가변적으로 프로그램 시작전압을 설정할 수 있는 불휘발성 메모리 장치의 프로그램 방법을 제공하는 것이다.
전술한 과제를 해결하기 위한 본원 발명의 불휘발성 메모리 장치의 프로그램 방법은 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 슬로우 셀인 경우 제1 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 패스트 셀인 경우 상기 제1 시작전압보다 낮은 제2 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 제1 시작전압에 의한 프로그램 동작을 수행한 경우, 해당 프로그램 동작에 의한 프로그램 대상 셀들의 문턱전압 변화량에 기초하여 해당 프로그램 대상 셀들의 프로그램 속도를 판단하는 단계와, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 기준값보다 빠른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 포함한다.
또한, 본원 발명의 불휘발성 메모리 장치의 프로그램 방법은 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 슬로우 셀인 경우 제1 시작전압에 의한 프로그램 동 작을 수행하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 패스트 셀인 경우 상기 제1 시작전압보다 낮은 제2 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 각 프로그램 동작에 의한 프로그램 대상 셀들의 문턱전압 변화량에 기초하여 해당 프로그램 대상 셀들의 프로그램 속도를 판단하는 단계와, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 상기 상태 정보에 포함된 프로그램 속도와 다른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 포함한다.
전술한 본원 발명의 과제 해결 수단에 따라 전술한 본원 발명의 과제 해결 수단에 따라 프로그램 시작전압을 가변적으로 설정할 수 있다. 특히 프로그램/소거 동작 횟수가 작은 초기 동작시에는 프로그램 시작전압을 상대적으로 크게 설정하여 프로그램 속도가 느린 셀의 특성을 보상할 수 있다. 또한, 프로그램/소거 동작 횟수가 큰 후기 동작시에는 프로그램 시작전압을 상대적으로 작게 설정하여 프로그램 속도가 빠른 셀의 특성을 보상할 수 있다. 그에 따라 전체적인 프로그램 동작에 소요되는 시간을 감소시킬 수 있다.
이하, 첨부된 도면들을 참조하여 본원 발명의 바람직한 실시예를 상세히 살펴보기로 한다. 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제 공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.
도 1은 본원 발명이 적용되는 불휘발성 메모리 장치의 전체 구성을 도시한 도면이다.
상기 불휘발성 메모리 장치(100)는 메모리 셀 어레이(102), 페이지 버퍼(108), X/Y-디코더(104, 106), 고전압 발생기(110), 명령어 인터페이스 로직부(112), 명령어 레지스터(114), 어드레스 레지스터/카운터(116), 데이터 레지스터(118), IO 버퍼부(120)를 포함한다. 상기 불휘발성 메모리 장치의 동작을 살펴보기로 한다.
먼저, 상기 명령어 인터페이스 로직부(112)에 대하여 칩 인에이블 신호(/CE) 가 디스에이블되고, 라이트 인에이블 신호(/WE)가 토글되면, 이에 응답하여, 상기 명령어 인터페이스 로직부(112)가 상기 IO 버퍼부(110)와 명령어 레지스터(114)를 통하여 수신되는 명령어 신호를 수신하고, 그 명령어에 따라 프로그램 명령, 소거 명령 또는 독출 명령등을 발생시킨다. 이때, 상기 명령어 신호는 상기 불휘발성 메모리 장치의 동작 모드를 결정하는 페이지 프로그램 셋업 코드(page program setup code)를 포함한다. 한편, 상기 명령어 인터페이스 로직부(112)에서 출력되는 동작상태 신호(/R/B)는 일정 시간 동안 디스에이블되는데, 외부의 메모리 컨트롤러(미도시)는 상기 동작상태 신호(/R/B)를 수신하고 상기 불휘발성 메모리 장치가 프로그램/소거/독출 등의 동작 상태임을 인식한다. 즉, 상기 동작상태 신호(/R/B)가 디스에이블되는 시간 동안, 상기 메모리 셀 어레이 중 하나의 페이지에 대한 프로그 램/소거/독출 등이 실행된다.
또한, 어드레스 레지스터/카운터(116)는 상기 IO 버퍼부(120)를 통하여 수신되는 어드레스 신호를 수신하고, 로우 어드레스 신호 및 칼럼 어드레스 신호를 발생시킨다. 상기 어드레스 신호는 상기 메모리 셀 중 하나에 포함되는 페이지들 중 하나에 대응한다. 상기 데이터 레지스터(118)는 상기 IO 버퍼부(120)를 통하여 수신되는 각종 데이터들을 임시저장하고, Y-디코더(106)로 전달한다.
상기 고전압 발생기(110)는 상기 프로그램 명령, 소거 명령 또는 독출 명령에 응답하여 바이어스 전압들을 발생하고 이를 페이지 버퍼(108), X-디코더(104) 등에 공급한다.
상기 X-디코더(104)는 상기 로우 어드레스 신호에 응답하여, 상기 메모리 셀 어레이의 블록들 중 하나에 상기 고전압 발생기(110)로 부터 공급받은 바이어스 전압들을 메모리 셀 어레이(102)에 공급한다. 상기 Y-디코더(106)는 상기 컬럼 어드레스 신호에 응답하여, 상기 페이지 버퍼를 통하여 상기 메모리 셀 어레이의 블록들에 의해 공유되는 비트 라인들(미도시)에 데이터 신호를 공급한다.
상기 페이지 버퍼(108)는 상기 IO 버퍼부(110) 및 상기 Y-디코더(106)를 통하여 수신되는 데이터 신호를 래치하여 상기 메모리 셀 어레이의 블록들에 의해 공유되는 비트 라인들(미도시)에 출력한다.
도 2는 통상적인 불휘발성 메모리 장치의 프로그램/소거 동작횟수의 증가에 따른 문턱전압 변화특성을 도시한 그래프이다.
도시된 바와 같이 프로그램/소거 동작 횟수가 증가할수록 프로그램 상태의 문턱 전압 및 소거 상태의 문턱전압이 커지는 현상이 발생한다. 이는 프로그램/소거 동작 횟수가 증가할수록 불휘발성 메모리 셀의 플로팅 게이트에 트랩되는 차지가 증가함에 따라 소거 상태에서도 문턱전압이 증가하기 때문에 발생한다. 그 결과 동일한 프로그램 펄스 인가에 따른 문턱전압의 변화량은 더욱 커지게 된다. 이와 같은 문턱전압의 변화량을 프로그램 속도로 정의한다. 즉 동일한 프로그램 펄스를 인가할 때 문턱전압의 변화량이 더 크면 프로그램 속도가 더 큰 것으로 본다.
도시된 바와 같이 프로그램/소거 동작 횟수가 10회인 경우 프로그램 상태의 문턱전압보다 프로그램/소거 동작 횟수가 10K인 경우 프로그램 상태의 문턱전압이 더 큰 것을 알 수 있다. 이는 소거 상태에서도 마찬가지이다. 이와 같이 프로그램/소거 동작의 횟수에 따라 프로그램 속도가 변하게 됨에 따라, 이러한 변화량을 보상하기 위한 프로그램 방법이 사용되고 있다.
도 3은 통상적으로 사용되는 불휘발성 메모리 장치의 프로그램 방법의 개념을 설명하기 위한 도면이다.
도시된 바와 같이 ISPP(Incremental step pulse program) 프로그램 방법에 따라 프로그램 동작이 수행된다. 즉 프로그램 펄스를 인가한 후 검증동작을 실시하며, 각 반복동작마다 프로그램 전압을 스텝전압(Vstep) 만큼 상승시켜 프로그램 동작을 반복한다. 이때 프로그램/소거 동작 횟수에 따라 프로그램 속도가 상이해 지는 점을 고려하여 더미 프로그램 펄스가 인가되는 구간을 추가한다.
프로그램/소거 동작 횟수가 1회인 경우에는 제1 시작전압(Vstart1)을 기준으로 하여 ISPP 프로그램 동작을 수행한다. 그러나 프로그램/소거 동작 횟수가 10K 인 경우에는 프로그램 속도가 빠른 상태이므로 상기 제1 시작전압(Vstart1)보다 작은 제2 시작전압(Vstart2)을 기준으로 ISPP 프로그램 동작을 수행할 필요가 있다. 따라서 프로그램/소거 동작을 처음 시작할 때부터 제2 시작전압(Vstart2)을 기준으로 ISPP 프로그램 동작을 수행한다. 프로그램 시작전압이 낮으므로 프로그램/소거 동작 횟수가 1회 내지 10K 인 경우에는 실질적으로 프로그램 효과가 나타나지 않을 수도 있다. 따라서 프로그램/소거 동작 횟수가 1회 내지 10K 인 경우에는 제2 시작전압(Vstart2)이 인가되는 시점부터 제1 시작전압(Vstart1)이 인가되기 직전까지 인가되는 프로그램 펄스가 더미(dummy) 프로그램 펄스가 될 수 있다. 프로그램/소거 동작 횟수가 10K 이상이 되는 경우를 위해, 더미 프로그램 펄스를 인가하고 있으나, 프로그램/소거 동작 횟수가 10K가 되기 전까지는 총 프로그램 시간이 길어지는 문제점이 발생하게 된다.
도 4는 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 프로그램 방법을 도시한 순서도이다.
먼저, 프로그램 명령이 입력된다(단계 410).
다음으로, 프로그램 대상 셀들의 셀 상태 정보를 체크한다(단계 420).
상기 셀 상태 정보는 메모리 셀들의 프로그램 속도에 대한 정보를 포함한다.
이때 상기 셀 상태 정보는 프로그램 대상이 되는 셀들의 프로그램 속도가 빨 라서 패스트 셀(fast cell)로 분류되어 있거나, 프로그램 속도가 느려서 슬로우 셀(slow cell)로 분류되어 별도의 저장소에 저장되어 있다. 상기 슬로우 셀과 패스트 셀의 분류는 실시자의 선택에 따라 결정된다. 즉 반복적인 실험을 거쳐 최적화된 값을 기준으로 하여, 해당 기준값보다 프로그램 속도가 빠른 경우에는 패스트 셀로 분류하고, 그보다 프로그램 속도가 느린 경우에는 슬로우 셀로 분류한다.
상기 셀 상태 정보는 불휘발성 메모리 장치의 제어부에 포함되는 레지스터 또는 불휘발성 메모리 셀들의 스페어 셀, 캠셀 등에 저장될 수 있다. 상기 레지스터에 저장되는 경우에는 불휘발성 메모리 장치에 전원전압이 공급되는 경우, 파워업 리셋신호에 의하여 상기 셀 상태 정보는 초기값으로 설정된다. 바람직하게는, 상기 셀 상태 정보의 초기값은 프로그램 대상셀들이 슬로우 셀임을 지시하는 값으로 설정된다.
상기 스페어 셀들의 경우, 소거 동작의 단위가 되는 메모리 셀 블록 별로, 또는 프로그램 동작의 단위가 되는 페이지 별로 각 셀들의 프로그램 속도를 저장하도록 할 수 있다. 각 페이지 별로 프로그램 대상 셀들의 상태 정보를 저장할 수도 있고, 각 메모리 셀 블록 별로 프로그램 대상 셀들의 상태 정보를 저장할 수도 있다.
즉, 동일 페이지 내에 있는 프로그램 대상 셀들의 상태 정보는 동일하게 설정하거나, 동일 메모리 셀 블록 내에 있는 프로그램 대상 셀들의 상태 정보는 동일하게 설정한다. 다만, 동질 메모리 셀 블록은 동일 소거 동작 횟수를 가지므로, 메모리 셀 블록별로 상태 정보가 저장되도록 설정하는 것이 효율적일 수 있다. 이때 셀 상태 정보가 동일한 경우에는 동일한 프로그램 시작전압이 인가된다.
만약 페이지 별로 셀 상태 정보를 별도 저장한다면, 각 페이지 별로 프로그램 시작전압이 상이하게 설정될 수 있다.
상기 셀 상태 정보 체크 결과, 프로그램 대상 셀이 슬로우 셀인 경우에는 제1 시작전압에 따라 프로그램 동작을 수행한다(단계 430, 450).
상기 제1 시작전압(Vstart1)은 도 3에서 설명한 바와 같이 프로그램/소거 동작 횟수가 낮은 초기 동작시에 인가되는 전압이다.
다음으로, 프로그램 대상 셀들의 프로그램 속도를 판단한다(단계 460).
상기 제1 시작전압(Vstart1)을 한번 인가한 상태에서 각 셀들의 문턱전압 변화량을 측정하여 프로그램 속도를 판단하는 것이다.
상기 판단 결과 프로그램 대상 셀들의 속도가 빠른 패스트 셀인 경우에는 상기 저장된 셀 상태 정보를 갱신한다(단계 470, 480).
즉, 상기 레지스터등에 저장된 셀 상태 정보에는 프로그램 대상 셀들이 슬로우 셀이라는 정보가 저장되어 있으므로, 이를 수정하여 패스트 셀이라는 정보를 저장한다. 셀 상태 정보가 레지스터에 저장되는 실시예의 경우, 레지스터 자체는 전원공급이 차단될때 마다 저장된 정보가 초기화 되므로, 이와 같은 동작에 의하여 정확한 셀 상태 정보를 확인할 수 있다.
그리고 이후에 ISPP 프로그램 방법에 따라 프로그램 전압을 증가시켜가면서 프로그램 동작 및 검증 동작을 반복수행한다(단계 490).
한편, 상기 판단 결과 프로그램 대상 셀들의 속도가 느린 슬로우 셀인 경우에는 상기 저장된 셀 상태 정보를 유지하고, 프로그램 동작 및 검증 동작을 반복수행하여 프로그램 동작을 완료한다(단계 470, 490).
한편, 상기 단계(430)에서 상기 셀 상태 정보 체크 결과, 프로그램 대상 셀이 패스트 셀인 경우에는 제2 시작전압에 따라 프로그램 동작을 수행한다(단계 430, 440).
상기 제2 시작전압(Vstart2)은 도 3에서 설명한 바와 같이 프로그램/소거 동작 횟수가 높은 구간에서 인가되는 전압이며, 상기 제1 시작전압(Vstart1) 보다 작다.
즉, 프로그램 상태 정보확인 결과, 프로그램 대상 셀들이 패스트 셀인 것으로 확인된 경우, 감소된 프로그램 시작전압에 따라 ISPP 프로그램 동작을 수행한다(단계 490).
정리하면, 프로그램 동작을 수행할 때 마다, 해당 셀들의 프로그램 속도에 대한 정보를 미리 체크하여 프로그램 시작전압을 설정한다. 실시예에 따라 매 페이지 별로, 또는 메모리 셀 블록 별로 별도 저장된 셀 상태 정보를 체크하여 프로그램 시작전압을 상이하게 설정한다. 즉 프로그램 속도가 빠른 패스트 셀인 경우에는 프로그램 시작전압을 낮게 설정하고, 프로그램 속도가 느린 슬로우 셀인 경우에는 프로그램 시작전압을 높게 설정한다.
도 5는 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 방법을 도시한 순서도이다.
전체 적인 동작은 도 4와 거의 같다.
다만 상태 정보 확인 결과 프로그램 대상 셀들이 패스트 셀인 경우, 이후에 수행되는 절차에 다소 차이가 있다.
프로그램 상태 정보확인 결과, 프로그램 대상 셀들이 패스트 셀인 것으로 확인된 경우, 제2 프로그램 시작전압에 따라 프로그램 동작을 수행하며(단계 540), 이에 의한 프로그램 동작에 대해서도 프로그램 대상 셀들의 프로그램 속도를 판단한다(단계 560).
즉, 제2 시작전압(Vstart2)을 한번 인가한 상태에서 각 셀들의 문턱전압 변화량을 측정하여 프로그램 속도를 판단하는 것이다.
상기 판단 결과 프로그램 대상 셀들의 속도가 기존에 저장된 상태 정보의 값과 변경된 경우에는 상기 저장된 셀 상태 정보를 갱신한다(단계 570, 580).
즉, 제1 프로그램 시작전압에 따라 프로그램 동작을 수행한 경우에는 프로그램 대상 셀들이 슬로우 셀이라는 정보가 저장되어 있고, 제2 프로그램 시작전압에 따라 프로그램 동작을 수행한 경우에는 프로그램 대상 셀들이 패스트 셀이라는 정보가 저장되어 있다.
그러나 실제 판단 결과, 프로그램 상태 정보와는 달리 프로그램 속도가 기준값보다 빠르다거나, 기준값 보다 느린 경우에는 셀 상태 정보를 갱신한다(단계 580).
바람직하게는, 제1 프로그램 시작전압에 따라 프로그램 동작을 수행하였는데, 상기 판단결과 패스트 셀로 판단된 경우 패스트 셀이라는 상태 정보를 저장한다. 또한, 제2 프로그램 시작전압에 따라 프로그램 동작을 수행하였는데, 상기 판단결과 슬로우 셀로 판단된 경우 슬로우 셀이라는 상태 정보를 저장한다.
이러한 실시예에 따라 초기 레지스터에 패스트 셀이라는 상태 정보를 저장한 경우에도 셀 상태에 따라 다시 프로그램 시작전압을 조정할 수 있다.
정리하면, 프로그램 동작을 수행할 때 마다, 해당 셀들의 프로그램 속도에 대한 정보를 미리 체크하여 프로그램 시작전압을 설정한다. 실시예에 따라 매 페이지 별로, 또는 메모리 셀 블록 별로 별도 저장된 셀 상태 정보를 체크하여 프로그램 시작전압을 상이하게 설정한다. 즉 프로그램 속도가 빠른 패스트 셀인 경우에는 프로그램 시작전압을 낮게 설정하고, 프로그램 속도가 느린 슬로우 셀인 경우에는 프로그램 시작전압을 높게 설정한다.
도 1은 본원 발명이 적용되는 불휘발성 메모리 장치의 전체 구성을 도시한 도면이다.
도 2는 통상적인 불휘발성 메모리 장치의 프로그램/소거 동작횟수의 증가에 따른 문턱전압 변화특성을 도시한 그래프이다.
도 3은 통상적으로 사용되는 불휘발성 메모리 장치의 프로그램 방법의 개념을 설명하기 위한 도면이다.
도 4는 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 프로그램 방법을 도시한 순서도이다.
도 5는 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 방법을 도시한 순서도이다.

Claims (10)

  1. 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계와,
    상기 체크 결과 상기 프로그램 대상 셀들이 슬로우 셀인 경우 제1 시작전압에 의한 프로그램 동작을 수행하는 단계와,
    상기 체크 결과 상기 프로그램 대상 셀들이 패스트 셀인 경우 상기 제1 시작전압보다 낮은 제2 시작전압에 의한 프로그램 동작을 수행하는 단계와,
    상기 제1 시작전압에 의한 프로그램 동작을 수행한 경우, 해당 프로그램 동작에 의한 프로그램 대상 셀들의 문턱전압 변화량에 기초하여 해당 프로그램 대상 셀들의 프로그램 속도를 판단하는 단계와,
    상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 기준값보다 빠른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  2. 제1항에 있어서, 상기 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계는
    불휘발성 메모리 장치의 상태 정보 저장소에 기 저장된 상태 정보를 독출하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 방법.
  3. 제1항에 있어서, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 기준값보다 빠른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계는
    상기 프로그램 대상 셀들이 패스트 셀이라는 정보를 상기 상태 정보로 저장시키는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 방법.
  4. 제1항에 있어서, 상기 제2 시작전압에 의한 프로그램 동작을 수행한 후 ISPP(Incremental step pulse program) 프로그램 방법에 따라 프로그램 전압을 증가시켜가면서 프로그램 동작 및 검증 동작을 반복수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 방법.
  5. 제1항에 있어서, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 기준값보다 느린 경우 ISPP 프로그램 방법에 따라 프로그램 전압을 증가시켜가면서 프로그램 동작 및 검증 동작을 반복수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 방법.
  6. 제1항에 있어서, 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 수행한 후 ISPP 프로그램 방법에 따라 프로그램 전압을 증가시켜가면서 프로그램 동작 및 검증 동작을 반복수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 방법.
  7. 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계와,
    상기 체크 결과 상기 프로그램 대상 셀들이 슬로우 셀인 경우 제1 시작전압에 의한 프로그램 동작을 수행하는 단계와,
    상기 체크 결과 상기 프로그램 대상 셀들이 패스트 셀인 경우 상기 제1 시작전압보다 낮은 제2 시작전압에 의한 프로그램 동작을 수행하는 단계와,
    상기 각 프로그램 동작에 의한 프로그램 대상 셀들의 문턱전압 변화량에 기초하여 해당 프로그램 대상 셀들의 프로그램 속도를 판단하는 단계와,
    상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 상기 상태 정보에 포함된 프로그램 속도와 다른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  8. 제7항에 있어서, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 상기 상태 정보에 포함된 프로그램 속도와 다른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계는
    상기 제1 프로그램 시작전압에 따라 프로그램 동작을 수행하고, 상기 판단결과 패스트 셀로 판단된 경우 패스트 셀이라는 상태 정보를 저장하는 단계와,
    상기 제2 프로그램 시작전압에 따라 프로그램 동작을 수행하고, 상기 판단결과 스로우 셀로 판단된 경우 스로우 셀이라는 상태 정보를 저장하는 단계를 포함하 는 불휘발성 메모리 장치의 프로그램 방법.
  9. 제7항에 있어서, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 상기 상태 정보에 포함된 프로그램 속도와 동일한 경우 ISPP프로그램 방법에 따라 프로그램 전압을 증가시켜가면서 프로그램 동작 및 검증 동작을 반복수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 방법.
  10. 제7항에 있어서, 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 수행한 후 ISPP 프로그램 방법에 따라 프로그램 전압을 증가시켜가면서 프로그램 동작 및 검증 동작을 반복수행하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 프로그램 방법.
KR1020080113411A 2008-11-14 2008-11-14 불휘발성 메모리 장치의 프로그램 방법 KR100965076B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080113411A KR100965076B1 (ko) 2008-11-14 2008-11-14 불휘발성 메모리 장치의 프로그램 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080113411A KR100965076B1 (ko) 2008-11-14 2008-11-14 불휘발성 메모리 장치의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20100054465A true KR20100054465A (ko) 2010-05-25
KR100965076B1 KR100965076B1 (ko) 2010-06-21

Family

ID=42279189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080113411A KR100965076B1 (ko) 2008-11-14 2008-11-14 불휘발성 메모리 장치의 프로그램 방법

Country Status (1)

Country Link
KR (1) KR100965076B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705287B2 (en) 2010-10-27 2014-04-22 SK Hynix Inc. Semiconductor memory device and method of operating the same
KR20170085774A (ko) * 2016-01-15 2017-07-25 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
KR20200034189A (ko) * 2018-09-21 2020-03-31 에스케이하이닉스 주식회사 메모리 시스템, 그것의 동작 방법 및 비휘발성 메모리 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101939235B1 (ko) 2011-08-03 2019-01-17 삼성전자 주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR101942863B1 (ko) 2012-06-19 2019-01-28 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9953703B2 (en) 2015-10-16 2018-04-24 Samsung Electronics Co., Ltd. Programming method of non volatile memory device
KR20220076974A (ko) 2020-12-01 2022-06-08 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909638B2 (en) * 2003-04-30 2005-06-21 Freescale Semiconductor, Inc. Non-volatile memory having a bias on the source electrode for HCI programming

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705287B2 (en) 2010-10-27 2014-04-22 SK Hynix Inc. Semiconductor memory device and method of operating the same
KR20170085774A (ko) * 2016-01-15 2017-07-25 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
KR20200034189A (ko) * 2018-09-21 2020-03-31 에스케이하이닉스 주식회사 메모리 시스템, 그것의 동작 방법 및 비휘발성 메모리 장치

Also Published As

Publication number Publication date
KR100965076B1 (ko) 2010-06-21

Similar Documents

Publication Publication Date Title
KR100976696B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US8630123B2 (en) Method of operating nonvolatile memory device
JP5072723B2 (ja) 不揮発性半導体記憶装置
KR100965071B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR100953045B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US7616496B2 (en) Charge trap type non-volatile memory device and program method thereof
KR100996108B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR100908533B1 (ko) 불휘발성 메모리 장치의 독출 방법
KR100965076B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR101099982B1 (ko) 불휘발성 메모리 장치의 동작 방법
KR100967026B1 (ko) 불휘발성 메모리 장치 및 그 캐쉬리드 방법
US20100046293A1 (en) Memory cell block of nonvolatile memory device and method of managing supplementary information
KR101068496B1 (ko) 불휘발성 메모리 장치의 소거방법 및 프로그램 방법
JP5280027B2 (ja) 半導体装置及びその制御方法
KR100891411B1 (ko) 불휘발성 메모리 장치 및 그 독출 방법
KR100967010B1 (ko) 불휘발성 메모리 장치 및 그 프로그램 방법
KR101981798B1 (ko) 불휘발성 메모리 장치의 소거 방법 및 소프트 프로그램 방법
JP5522682B2 (ja) 半導体メモリ
KR20100027781A (ko) 불휘발성 메모리 장치의 소거 방법 및 그를 이용한 동작 방법
KR20100027784A (ko) 불휘발성 메모리 장치의 소거 방법 및 소프트 프로그램 방법
KR20090120683A (ko) 불휘발성 메모리 장치의 프로그램 방법 및 소거 방법
KR20090000330A (ko) 불휘발성 메모리 장치의 데이터 설정 방법
KR20090026510A (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20090011170A (ko) 불휘발성 메모리 장치의 독출/검증 전압 제어부 및 독출전압 인가 방법
KR20100054481A (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
LAPS Lapse due to unpaid annual fee