KR100891405B1 - 불휘발성 메모리 장치 및 그 동작 방법 - Google Patents

불휘발성 메모리 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR100891405B1
KR100891405B1 KR1020070097295A KR20070097295A KR100891405B1 KR 100891405 B1 KR100891405 B1 KR 100891405B1 KR 1020070097295 A KR1020070097295 A KR 1020070097295A KR 20070097295 A KR20070097295 A KR 20070097295A KR 100891405 B1 KR100891405 B1 KR 100891405B1
Authority
KR
South Korea
Prior art keywords
program
voltage
speed
program speed
difference
Prior art date
Application number
KR1020070097295A
Other languages
English (en)
Other versions
KR20090032246A (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 KR1020070097295A priority Critical patent/KR100891405B1/ko
Priority to US12/233,241 priority patent/US7800952B2/en
Priority to CN200810167435XA priority patent/CN101399083B/zh
Publication of KR20090032246A publication Critical patent/KR20090032246A/ko
Application granted granted Critical
Publication of KR100891405B1 publication Critical patent/KR100891405B1/ko
Priority to US12/856,190 priority patent/US8000149B2/en

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits

Landscapes

  • Read Only Memory (AREA)

Abstract

본원 발명의 불휘발성 메모리 장치의 동작 방법은 전체 메모리 셀에 대한 최초 프로그램 동작을 하는 단계와, 기준 메모리 셀에 대하여 제1 프로그램 속도를 측정하는 단계와, 상기 제1 프로그램 속도를 프로그램 속도 저장부에 저장하는 단계와, 프로그램/소거 횟수가 특정 기준값에 해당하기 전까지 프로그램/소거 동작을 반복하여 실시하는 단계와, 상기 프로그램/소거 횟수가 특정 기준값에 해당되는 경우 상기 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정하는 단계와, 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이를 계산하는 단계와, 상기 계산된 프로그램 속도의 차이에 따라 프로그램 시작 전압을 설정하는 단계와, 상기 설정된 프로그램 시작 전압에 따라 프로그램/소거 동작을 하는 단계를 포함하는 것을 특징으로 한다.
프로그램/소거 동작 횟수, 불휘발성 메모리 장치

Description

불휘발성 메모리 장치 및 그 동작 방법{Non volatile memory device and method for operating thereof}
본원 발명은 불휘발성 메모리 장치의 프로그램 전압을 프로그램/소거 동작 횟수에 따라 가변적으로 제어하는 불휘발성 메모리 장치 및 그 동작 방법에 관한 것이다.
최근 들어 전기적으로 프로그램(program)과 소거(erase)가 가능하고, 일정 주기로 데이터를 재작성해야하는 리프레시(refresh) 기능이 필요 없는 불휘발성 메모리 소자에 대한 수요가 증가하고 있다.
상기 불휘발성 메모리 장치는 각 셀의 플로팅 게이트에 전자를 삽입 또는 제거함으로써 프로그램 또는 소거 동작을 수행하는 것을 특징으로 한다.
상기 불휘발성 메모리 장치 중 NAND 형 불휘발성 메모리 장치는 복수의 메모리 셀이 직렬로 접속된 셀 스트링들을 다수 포함하고 있다. 상기 셀 스트링의 구조상, 특정 셀을 독출 하는 경우 선택된 셀 외에 비선택된 셀은 바이패스 또는 턴온되도록 제어한다. 따라서, 비선택된 셀의 워드라인에는 해당 셀의 문턱 전압보다 큰 레벨의 패스전압을 인가하여 해당 셀을 턴온시키게 된다. 그러나, 비선택된 셀 중 프로그램의 속도가 빨라서 문턱전압이 다른 셀 들에 비해 높게 프로그램된 경우에는 해당 상기 패스전압이 인가되더라도 턴온되지 않을 가능성이 있다. 이와 같이 턴온 되지 않은 셀이 발생하게 되면, 해당 셀 스트링에서 선택된 셀의 프로그램 여부를 정확히 독출해 낼 수 없게 된다.
이와 같은 현상은 같은 프로그램 전압을 받으면서도, 셀의 특성에 따라 문턱전압의 상승이 빠른 셀 들과 상대적으로 문턱전압의 상승이 느린 셀들이 공존하기 때문이다. 이러한 현상을 방지하기 위하여, 프로그램 속도가 빠른 셀은 상대적으로 낮은 프로그램 전압에서, 프로그램 속도가 느린 셀은 상대적으로 높은 프로그램 전압에서 프로그램이 완료되도록 하는 ISPP(Incremental step pulse program) 프로그램 방법을 사용하고 있다.
그러나 셀의 특성 또는 셀의 프로그램 속도가 항상 균일한 것은 아니며, 프로그램과 소거 동작을 반복적으로 사용하다보면 셀의 터널 산화막(Tunnel oxide)에 손상이 가거나 트랩등이 발생하여 전체적으로 프로그램 속도가 상승하는 방향으로 변화하게 된다.
이와 같이 프로그램과 소거 동작을 반복할수록 셀의 프로그램 속도가 상승하게 되는바, 그에 따라 프로그램 전압을 제어할 필요성이 있다.
전술한 목적을 달성하기 위하여 미리 지정된 프로그램/소거 동작 횟수에 따라 프로그램 속도를 측정하고 그 값에 따라 프로그램 시작 전압을 재설정하는 불휘발성 메모리 장치를 제공하는 것을 목적으로 한다.
또한, 상기 불휘발성 메모리 장치를 이용한 동작 방법을 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위한 본원 발명의 불휘발성 메모리 장치는 전체 메모리 셀 중 기준 메모리 셀들의 프로그램 속도를 측정하는 프로그램 속도 검출부와, 상기 프로그램 속도를 저장하는 프로그램 속도 저장부와, 프로그램/소거 동작의 횟수에 따라 상기 프로그램 속도 저장부에 저장된 제1 프로그램 속도와 상기 프로그램 속도 검출부를 통해 검출한 제2 프로그램 속도를 비교하여 프로그램 전압의 변경 여부를 결정하는 프로그램 전압 제어부를 포함하는 것을 특징으로 한다.
또한, 본원 발명의 불휘발성 메모리 장치의 동작 방법은 전체 메모리 셀에 대한 최초 프로그램 동작을 하는 단계와, 기준 메모리 셀에 대하여 제1 프로그램 속도를 측정하는 단계와, 상기 제1 프로그램 속도를 프로그램 속도 저장부에 저장하는 단계와, 프로그램/소거 횟수가 특정 기준값에 해당하기 전까지 프로그램/소거 동작을 반복하여 실시하는 단계와, 상기 프로그램/소거 횟수가 특정 기준값에 해당되는 경우 상기 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정하는 단계와, 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이를 계산하는 단계와, 상기 계산된 프로그램 속도의 차이에 따라 프로그램 시작 전압을 설정하는 단계와, 상기 설정된 프로그램 시작 전압에 따라 프로그램/소거 동작을 하는 단계를 포함하는 것을 특징으로 한다.
또한, 본원 발명의 불휘발성 메모리 장치의 동작 방법은 전체 메모리 셀에 대한 최초 프로그램 동작을 하는 단계와, 기준 메모리 셀에 대하여 제1 프로그램 속도를 측정하는 단계와, 상기 제1 프로그램 속도를 프로그램 속도 저장부에 저장하는 단계와, 프로그램/소거 횟수가 기준값에 해당하기 전까지 프로그램/소거 동작을 반복하여 실시하는 단계와, 상기 프로그램/소거 횟수가 기준값에 해당되는 경우 상기 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정하는 단계와, 상기 기준 메모리 셀의 분포 변화량을 결정하는 단계와, 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이를 계산하는 단계와, 상기 계산된 프로그램 속도의 차이와 상기 분포 변화량에 따라 프로그램 시작 전압을 설정하는 단계와, 상기 설정된 프로그램 시작 전압에 따라 프로그램/소거 동작을 하는 단계를 포함하는 것을 특징으로 한다.
전술한 구성에 따라 미리 지정된 프로그램/소거 동작 횟수에 따라 프로그램 시작 전압을 재설정할 수 있다. 즉, 불휘발성 메모리 장치의 동작중에 특정 프로그램/소거 동작 횟수에 도달하게 되면 그 시점의 프로그램 속도에 따라 ISPP의 프로그램 시작 전압을 감소시킬 것인지 그대로 유지할 것인지 여부를 판단하게 된다.
그 결과, 프로그램 속도가 상대적으로 빠른 셀들이 정상적인 문턱전압의 분포를 벗어나는 현상을 방지할 수 있다.
또한, 프로그램/소거 동작횟수의 변화와 관계없이 프로그램 펄스의 인가횟수를 일정하게 유지할 수 있다.
한편, 프로그램/소거 동작횟수에 따른 프로그램 속도 차이뿐만 아니라 문턱 전압의 분포 변화량도 고려하여 프로그램 시작 전압을 재설정할 수 있다.
이하, 첨부된 도면들을 참조하여 본원 발명의 바람직한 실시예를 상세히 살펴보기로 한다. 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발며의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.
도 1은 본원 발명에 사용되는 불휘발성 메모리 장치의 셀 스트링 구조를 도시한 도면이다.
본원 발명의 낸드형 불휘발성 메모리 장치는 복수의 메모리 셀이 직렬 접속된 셀 스트링(110)을 포함한다.
또한, 상기 셀 스트링과 비트라인(B/L)을 선택적으로 접속시키는 드레인 선택 트랜지스터와, 상기 셀 스트링과 접지를 선택적으로 접속시키는 소스 선택 트랜지스터를 포함한다.
독출 동작의 경우, 독출 대상으로 선택된 셀(C114)의 게이트에 독출 기준 전압(Vrd)을 인가하고, 나머지 비선택된 셀(C112, C116)에는 패스 전압(Vpass)을 인가한다. 예를 들면, 선택된 셀에 대하여 0V의 독출 기준 전압을 인가하고, 비선택된 셀에는 3.5V의 패스전압을 인가하는 것이다. 이와 함께, 상기 드레인 선택 트랜지스터와 소스 선택 트랜지스터의 게이트에도 각각 3.5V의 패스전압을 인가한다.
이와 같은 설정에 따라, 해당 셀이 0V 이상으로 프로그램되었는지 여부에 따라 비트라인에서 접지로 이어지는 전류 경로의 형성여부가 결정된다. 즉, 해당 셀이 0V 이상으로 프로그램된 경우 해당 셀이 턴온되지 않아 전류 경로는 형성되지 않는다. 그러나, 그렇지 못한 경우에는 해당 셀이 턴온되어 전류 경로가 형성되어 전류가 흐르게 된다.
이때, 선택된 셀 외에 비선택된 셀의 문턱전압에 의하여 전류 경로의 형성여부가 제어된다면 선택된 셀의 문턱전압을 정확히 독출해 낼 수 없게 된다. 즉, 비선택된 셀의 프로그램 속도가 다른 셀보다 빨라서, 문턱전압이 상기 패스전압보다 높은 상황 이라면(C116의 경우), 해당 셀은 패스전압의 인가에도 불구하고 턴온되지 않게 된다.
문턱전압의 분포도를 통하여 더욱 상세히 살펴보기로 한다.
도 2는 불휘발성 메모리 장치의 프로그램에 따른 문턱전압의 분포를 도시한 도면이다.
문턱전압이 0V 이하인 셀(ON 셀)들과, 문턱전압이 0V 이상으로 프로그램 된 셀(OFF 셀)들의 분포가 도시되어 있다.
독출동작의 경우, 비선택된 셀은 모두 턴온이 되도록 하기 위하여 통상적인 ON 셀의 분포(0.5~1.5V)보다 큰 패스전압(3.5V)을 인가하지만, 그 패스전압보다 문턱전압이 높은 셀들(C116)이 있다면, 해당셀은 턴온되지 않게 된다.
이와 같이 셀의 프로그램 속도가 상이함에 따라 프로그램 독출 동작에 미치는 영향이 커질 수 있다.
이와 같은 현상은 같은 프로그램 전압을 받으면서도, 셀의 특성에 따라 문턱전압의 상승이 빠른 셀 들과 상대적으로 문턱전압의 상승이 느린 셀들이 공존하기 때문이다. 이러한 현상을 방지하기 위하여, 프로그램 속도가 빠른 셀은 상대적으로 낮은 프로그램 전압에서, 프로그램 속도가 느린 셀은 상대적으로 높은 프로그램 전압에서 프로그램이 완료되도록 하는 ISPP(Incremental step pulse program) 프로그램 방법을 사용하고 있다.
그러나 셀의 특성 또는 셀의 프로그램 속도가 항상 균일한 것은 아니며, 프로그램과 소거 동작을 반복적으로 사용하다보면 셀의 터널 산화막(Tunnel oxide)에 손상이 가거나 트랩등이 발생하여 전체적으로 프로그램 속도가 상승하는 방향으로 변화하게 된다.
도 3은 프로그램 동작 및 소거 동작의 반복 실시 횟수에 따른 문턱전압의 변화를 나타내는 특성 그래프이다.
프로그램 동작 및 소거 동작 횟수가 증가함에 따라, 프로그램 동작이나 소거 동작을 실시한 후에 메모리 셀의 문턱전압이 목표 전압보다 높게 변하게 된다. 즉, 프로그램 동작 시 메모리 셀이 빠르게 프로그램되어 문턱전압이 목표 전압보다 높게 프로그램 동작이 이루어진다. 그리고, 소거 동작 시 메모리 셀이 느리게 소거되어 문턱전압이 목표 전압보다 높게 소거 동작이 이루어진다.
따라서, 이러한 현상을 해결하기 위하여, ISPP의 시작 바이어스를 더욱 낮게 인가하는 방법을 사용하기도 한다. 즉, 그래프에서 볼때, 문턱 전압이 전체적으로 1.5V 정도 상승하는 방향으로 진행되면, 프로그램 시작전압을 1.5V 낮게 인가하는 것이다. 그러나, 이러한 방법은 낮게 인가한 전압만큼 프로그램 시간을 증가시키는 문제점이 있다. 즉, ISPP 프로그램의 스텝전압이 0.3V이고, 각 프로그램 사이클당 소요되는 시간이 50us이라고 한다면 1.5V를 증가시키는데 250us 정도의 시간이 추가되는 문제점이 있다.
도 4는 본원 발명의 일실시 예에 따른 불휘발성 메모리 장치를 도시한 블럭도이다.
상기 불휘발성 메모리 장치(400)는 데이터가 저장되는 일반 메모리 셀(410), 상기 일반 메모리 셀(410)과 동일한 기능을 수행하되 셀의 프로그램 속도를 측정하 기 위한 표본이 되는 기준 메모리 셀(420), 상기 기준 메모리 셀(420)들의 프로그램 속도을 저장하는 프로그램 속도 저장부(430)를 포함한다.
이때, 상기 프로그램 속도란 상기 기준 메모리 셀(420)들이 특정 검증 전압이상으로 모두 프로그램되는 시점에 해당 워드라인에 인가되는 프로그램 전압, 또는 해당 프로그램 전압에 도달할 때까지 인가한 프로그램 펄스의 횟수를 의미한다. 이에 대한 설명은 추후에 더욱 상세히 설명하기로 한다.
한편, 상기 불휘발성 메모리 장치(400)는 상기 일반 메모리 셀(410) 및 상기 기준 메모리 셀(420)에 대하여 프로그램 전압을 인가하는 프로그램 전압 공급부(440), 상기 기준 메모리 셀(420)들이 특정 검증 전압이상으로 모두 프로그램 되었는지를 판단하고 해당 시점에 해당 워드라인에 인가되는 전압을 검출하는 프로그램 속도 검출부(450), 불휘발성 메모리 장치의 전체 프로그램/소거 동작 횟수를 저장하는 프로그램/소거 횟수 저장부(460), 프로그램/소거 동작의 횟수에 따라 상기 프로그램 속도 저장부(430)에 저장된 제1 프로그램 속도와 상기 프로그램 속도 검출부(450)를 통해 검출한 제2 프로그램 속도를 비교하여 프로그램 전압을 감소시킬 것인지 여부를 결정하는 프로그램 전압 제어부(470)를 포함한다.
각 구성요소에 대하여 더욱 상세히 살펴보기로 한다.
상기 일반 메모리 셀(410)과 기준 메모리 셀(420)은 앞서 언급한 낸드형 불휘발성 메모리 셀에 해당하며, 동일하게 프로그램/독출/소거 동작을 실시하게 된다.
다만, 상기 기준 메모리 셀(420)은 셀의 프로그램 속도를 측정하기 위한 표본이 되는 셀들의 집합이 된다. 일부 셀 그룹들 만으로도 전체 메모리 셀의 속도를 예측할 수 있으므로, 전체 메모리 셀중 일부 셀 그룹들을 선택하여 해당 셀들의 프로그램 속도를 측정한다.
이때, 상기 기준 메모리 셀은 블록 단위, 플레인 단위 또는 페이지 단위별로 1개 또는 복수개의 셀로 구성할 수 있다.
프로그램 속도에 대해 간략히 살펴보기로 한다.
ISPP 방식의 프로그램 방법은 프로그램 시작 전압을 스텝 전압만큼 지속적으로 상승시켜 프로그램하는 방법이다. 따라서, 상승된 전압이 낮거나 상승횟수가 낮은 상태에서 프로그램이 완료되면 프로그램 속도가 빠르다고 본다.
일 실시예에 따르면, 상기 프로그램 속도는 목표로 하는 검증전압이상으로 프로그램이 완료될 때 해당 워드라인에 인가되는 프로그램 전압으로 비교할 수 있다. 즉, 낮은 프로그램 전압에서도 프로그램이 완료되면 해당 셀의 프로그램 속도는 빠르다고 본다.
또 다른 실시예에 따르면, 상기 프로그램 속도는 목표로 하는 검증전압이상으로 프로그램이 완료될 때 해당 워드라인에 인가되는 프로그램 전압에 도달할 때까지 인가한 전압의 횟수로 비교할 수 있다. 즉, 낮은 전압 횟수에서도 프로그램이 완료되면 해당 셀의 프로그램 속도는 빠르다고 본다.
이와 같은 방식에 따라 기준 메모리 셀(420)들의 프로그램 속도를 측정하게 된다.
상기 프로그램 속도 저장부(430)는 상기 프로그램 속도를 저장하는 곳이다.
상기 프로그램 속도 저장부(430)는 메모리 셀, 플래그 셀, 또는 스페어 셀등과 같은 불휘발성 메모리 영역에 구비될 수 있다. 또한, 실시예에 따라 도시된 것과는 달리 제어부에 포함되는 레지스터, 롬 또는 캠셀(Cam cell)등에 구비될 수 있다.
일 실시예에 따라, 상기 저장되는 프로그램 속도는 목표로 하는 검증전압이상으로 프로그램이 완료될 때 해당 워드라인에 인가되는 프로그램 전압이 될 수 있다.
또다른 실시예에 따라, 상기 저장되는 프로그램 속도는 목표로 하는 검증전압이상으로 프로그램이 완료될 때 해당 워드라인에 인가되는 프로그램 전압에 도달할 때까지 인가한 프로그램 펄스의 횟수가 될 수 있다.
한편, 상기 프로그램 속도 저장부(430)에 저장되는 데이터는 프로그램/소거 횟수별로 저장되는데, 해당 횟수는 프로그램/소거 동작이 1회 완료 될때마다 할 수 도 있고, 실시자의 선택에 따라 n회 마다 주기적으로 저장하도록 할 수 있다.
실시예에 따라, Log(M)회 마다 저장하도록 하거나, 10배수, 100배수, 1000배수 또는 10000 배수 등으로 저장하도록 할 수 있다.
이때 프로그램/소거 동작이 반복되는 횟수는 소거 동작을 기준으로 결정하는 것이 이상적이며, 실시자의 선택에 따라 프로그램 동작을 기준으로 결정할 수도 있다.
또한, 상기 프로그램 전압 공급부(440)는 상기 일반 메모리 셀(410), 기준 메모리 셀(420)에 대하여 프로그램 전압을 공급한다.
ISPP 방식에 따라 시작 프로그램 전압을 스텝 전압만큼 지속적으로 상승시켜 인가하게 된다.
상기 프로그램 전압 공급부(440)는 상기 프로그램 전압 제어부(470)에 응답하여 상기 시작 프로그램 전압 또는 스텝 전압을 가변하여 공급한다.
프로그램/소거 동작 회수가 증가하여 프로그램 속도가 높다고 판단되면, 상기 시작 프로그램을 낮춰서 공급하는 것이다. 이때 낮춰서 공급하는 정도는 단위 스텝 전압 정도로 한다. 예를 들어, 스텝 전압이 0.3V 라고 가정하면 프로그램의 속도가 높다고 판단될 때, 0.3V 단위로 감소시키는 것이다.
또한, 상기 프로그램 속도 검출부(450)는 상기 기준 메모리 셀(420)들이 특정 검증 전압이상으로 모두 프로그램되었는지를 판단하고 해당 시점에 해당 워드라인에 인가되는 전압을 검출한다.
또는 실시예에 따라, 상기 기준 메모리 셀(420)들이 특정 검증 전압이상으로 모두 프로그램되었는지를 판단하고 해당 시점에 해당 워드라인에 인가되는 전압에 도달 할 때까지 인가한 프로그램 펄스의 횟수를 검출한다.
또한, 상기 프로그램 속도 검출부(450)는 이렇게 검출한 프로그램 속도를 상기 프로그램 속도 저장부(430)에 저장시킨다.
상기 프로그램/소거 횟수 저장부(460)는 불휘발성 메모리 장치의 동작 동안 수행된 전체 프로그램/소거 동작 횟수를 저장한다.
불휘발성 메모리 장치에 전원 공급이 중단되는 경우에도 해당 횟수를 저장할 수 있도록 불휘발 특성을 갖는 메모리로 구성한다.
도면에는, 제어부에 포함되는 것으로 도시되어있으나, 실시예에 따라 메모리 영역에 포함되도록 구성할 수 있다.
상기 프로그램 전압 제어부(470)는 프로그램/소거 동작의 횟수에 따라 상기 프로그램 속도 저장부(430)에 저장된 제1 프로그램 속도와 상기 프로그램 속도 검출부(450)를 통해 검출한 제2 프로그램 속도를 비교하여 프로그램 전압을 감소시킬 것인지 여부를 결정한다.
본원 발명에서는 프로그램/소거 동작의 횟수가 증가할수록 프로그램 속도가 빨라지는 불휘발성 메모리 셀들의 특성을 반영하여 특정 횟수별로 프로그램 속도가 빨라졌는지를 비교하고 그에 따라 프로그램 시작전압을 감소시킬 것인지를 판단한다.
일 실시예에 따라, 프로그램/소거 동작을 1회 마친 후의 프로그램 속도를 검출하여 제1 프로그램 속도로서 상기 프로그램 속도 저장부(430)에 저장한다.
다음으로, 프로그램/소거 동작을 n회 마친 후의 프로그램 속도를 검출하여 상기 제1 프로그램 속도와 비교한다. 비교 결과에 따라 프로그램 속도가 기준치보 다 빨라진 경우에는 상기 프로그램 전압 공급부(440)를 제어하여 상기 프로그램 시작전압을 변경하도록 한다.
이제 상기 불휘발성 메모리 장치를 이용한 프로그램/소거 방법을 더욱 상세히 살펴보기로 한다.
도 5는 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 도시한 순서도이다.
먼저, 전체 메모리 셀에 대한 프로그램 동작을 수행한다(단계 510).
일반 메모리 셀(410)과 기준 메모리 셀(420)을 따로 구분하지 않고 동일하게 프로그램 동작을 수행한다.
다음으로, 상기 기준 메모리 셀(420)에 대하여 제1 프로그램 속도를 측정한다(단계 520).
보다 상세하게는, 상기 기준 메모리 셀에 대하여 프로그램 동작을 완료한 시점에 워드라인에 인가되는 프로그램 전압을 측정하거나, 상기 프로그램 전압이 인가되도록 ISPP 방식에 따라 인가한 프로그램 펄스의 개수를 측정하는 것이다.
이는 앞서 설명한 프로그램 속도 검출부(420)를 통하여 실행된다.
다음으로, 상기 제1 프로그램 속도를 프로그램 속도 저장부(430)에 저장한 다(단계 430).
프로그램 속도 저장부(430)의 구성에 따라 그 저장 방법은 상이할 수 있으며, 저장되는 프로그램 속도는 프로그램 전압 또는 프로그램 펄스의 개수 데이터가 된다.
예를 들어, 16V를 프로그램 시작전압으로 인가하여 프로그램을 시작하고 19V에 프로그램이 완료되었다면 제1 프로그램 속도는 19V 라고 저장된다.
그리고, 이때 인가한 프로그램 펄스의 개수가 5개 라면 제1 프로그램 속도는 5개라고 저장된다.
다음으로, 프로그램/소거 동작의 횟수가 기준값(N(i))에 해당하는지를 판단한다(단계 540).
본원 발명에서는 프로그램/소거 동작이 일정 횟수에 도달한 경우에 한하여 프로그램 속도를 측정하고 그 결과에 따라 프로그램 시작전압을 변경시킨다.
이때, 상기 기준값은 도 3의 특성 그래프에 따라 결정한다.
앞서 언급한 바와 같이 Log(M)회 마다 측정하도록 하거나, 10배수, 100배수, 1000배수 또는 10000 배수 등에 해당하는 경우에 측정하도록 한다.
판단 결과, 기준값에 해당하지 않는 경우에는 프로그램/소거 동작을 반복적으로 실행한다(단계 560).
동작중에 목표로 하는 전체 프로그램/소거 동작이 완료되면 동작이 중지된 다(단계 570). 다만, 이는 도 5에 도시된 실시예 자체가 중지된다는 의미는 아니다. 즉, 어플리케이션에 따라 일시적으로 동작이 중지될 수는 있으나, 불휘발성 메모리 장치가 다시 동작하면, 상기 알고리즘은 재수행된다.
판단 결과, 상기 기준값에 해당하는 경우에는 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정한다(단계 544).
프로그램/소거가 기준값 만큼 진행된 상태에서는 상기 프로그램 속도가 변화되었을 수 있으므로, 프로그램 속도를 다시 측정한다. 이는 제1 프로그램 속도와 비교하기 위한 값이다.
다음으로, 상기 측정한 제2 프로그램 속도와 상기 저장된 제1 프로그램 속도의 차이가 스텝 전압보다 큰지 여부를 비교한다(단계 550). 전체적으로 프로그램 속도가 빨라지게 되므로, 제2 프로그램 속도로서 저장된 프로그램 전압 또는 프로그램 펄스의 개수는 제1 프로그램 속도에 비하여 감소될 것이다.
따라서, 제1 프로그램 속도가 제2 프로그램 속도보다 상기 스텝 전압만큼 큰지 여부를 판단한다.
앞서 예로 언급한 제1 프로그램 속도가 19V라고 가정하자. 또한, ISPP 방식에서 인가되는 스텝 전압이 0.3V라고 가정하자.
프로그램/소거를 기준값 만큼 진행한 후 측정한 제2 프로그램 속도가 18.6V인 경우에는 제1 프로그램 속도와의 차이가 스텝 전압보다 크다고 본다.
그러나, 제2 프로그램 속도가 18.8V 인경우에는 제1 프로그램 속도와의 차이가 스텝 전압보다 작다고 본다.
또한, 앞서 예로 언급한 제1 프로그램 속도가 5개라고 가정하자. 즉, 5번의 스텝 전압 인가만으로 프로그램이 완료되었다는 의미이다.
프로그램/소거를 기준값 만큼 진행한 후 측정한 제2 프로그램 속도가 4개인 경우에는 제1 프로그램 속도와의 차이가 스텝 전압보다 크다고 본다.
그러나, 제2 프로그램 속도가 5개인경우에는 제1 프로그램 속도와의 차이가 스텝 전압보다 작다고 본다.
상기 비교 결과, 제1 프로그램 속도와 제2 프로그램 속도의 차이가 스텝 전압(Vstep)보다 작은 경우에는 프로그램 시작 전압의 변경 없이 프로그램/소거 동작을 반복하여 실행한다(단계 560).
그러나, 상기 비교 결과, 제1 프로그램 속도와 제2 프로그램 속도의 차이가 스텝 전압보다 큰 경우에는 프로그램 시작 전압을 변경한다(단계 552).
즉, 앞서 언급한 예에 따라 16V를 프로그램 시작전압으로 인가하여 프로그램을 시작하였고, 제1 프로그램 속도가 19V이고 제2 프로그램 속도가 18.6V 라면 상기 프로그램 시작전압을 스텝 전압만큼 감소시킨다.
이때, 그 비교 결과 프로그램 속도 차이가 스텝 전압의 n 배수만큼 차이가 나면 n 배수만큼 시작전압을 감소시킨다.
예를 들어 제1 프로그램 속도가 19V 이고 제2 프로그램 속도가 18V라면 스텝전압의 4배만큼 차이가 있는 것은 아니지만, 3배만큼의 차이는 있는 것이므로, 스텝 전압의 3배만큼을 감소시킨다.
이처럼 시작 전압을 변경하게 되면, 낮은 전압에서 프로그램을 시작하게 되므로 프로그램 속도가 상승한 셀들에 대하여 프로그램 속도를 낮출 수 있는 효과가 있다.
한편, 실시예에 따라 프로그램 펄스의 개수를 프로그램 속도로 저장한 경우에는 그 차이 만큼에 해당하는 스텝 전압에 해당하는 전압을 감소시키게 된다.
즉, 제1 프로그램 속도가 5개이고 제2 프로그램 속도가 4개 라면 1개의 스텝 전압 만큼을 감소시킨다.
비교 결과 개수의 차이가 1 이상인 경우에는 그 이상을 감소시킨다.
예를 들어 제1 프로그램 속도가 5개이고 제2 프로그램 속도가 2개라면 3개의 스텝 전압에 해당하는 0.9V를 감소시킨다.
다음으로, 상기 제2 프로그램 속도를 프로그램 속도 저장부에 제1 프로그램 속도로서 저장한다(단계 554).
이후 프로그램 속도가 변경될 경우 그 판단은 상기 새로이 측정된 프로그램 속도를 기준으로 판단하여야 하므로 이러한 단계를 수행한다.
다음으로, 상기 기준값을 재설정한다(단계 542).
동작에 따라 프로그램/소거 횟수가 다음 기준값(N(i+1))에 도달하게 될 것이므로, 그에 대비하여 기준값을 재설정한다.
예를 들어 상기 N(i)로서 Log (M) 값을 사용한다고 가정하면, 제1 프로그램 속도로는 M=1 인 경우를 측정하여 저장한다.
다음으로, M=10 인 경우 i=1 이라 하고, M=100 인 경우 i=2가 되며 M=1000인 경우 i=3이 될 것이다.
따라서, 프로그램/소거 횟수가 10인 경우에 제2 프로그램 속도를 측정하게 되며, 그 다음으로 100인 경우, 1000인 경우 등에 제2 프로그램 속도를 측정하게 된다.
이와 같은 기준값은 도 3의 그래프에 접근하도록 사용자가 가변할 수 있다.
이와 같은 동작을 반복 실시하게 되면, 설계자가 미리 지정한 프로그램/소거 횟수 기준값 마다 제1 프로그램 속도와 제2 프로그램 속도를 비교하여 프로그램 시작전압을 변경하게 된다.
도 6은 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 동작을 도시한 순서도이다.
전체적인 순서는 도 5의 실시예와 유사하지만, 제1 프로그램 속도와 제2 프로그램 속도의 비교 단계, 제1 프로그램 속도의 재설정 여부에 있어서 차이가 있다.
즉, 본 실시예에서는 최초 저장되는 제1 프로그램 속도를 변경하지 않는다. 바람직하게는, 제1 프로그램 속도를 상기 프로그램 속도 저장부에 영구 저장시킨다. 따라서, 도 5의 프로그램 속도 재설정 단계(554)를 수행하지 않는다.
그리고, 제2 프로그램 속도와 제1 프로그램 속도의 차이를 비교하는 단계에서는 프로그램/소거횟수의 기준값에 따라 비교대상이 되는 스텝 전압을 변경시키게 된다.
즉, 최초 기준값(N(1))을 기준으로 비교할 경우에는 제1 프로그램 속도와 제2 프로그램 속도의 차이가 단위 스텝전압보다 큰지 여부를 판단한다.
판단 결과, 그 차이가 단위 스텝전압보다 작다면 프로그램 시작 전압을 변경하지 않는다. 그러나 그 차이가 단위 스텝전압보다 크다면 프로그램 시작 전압을 단위 스텝전압만큼 감소시킨다.
다음으로, 프로그램/소거 횟수가 증가하여 제2 기준값(N(2))을 기준으로 비교할 경우에는 해당 기준값을 기준으로 하는 제2 프로그램 속도를 재측정하고 제1 프로그램 속도와의 차이를 비교하는데, 이때는 제1 프로그램 속도와 제2 프로그램 속도와의 차이가 2배의 스텝전압보다 큰지 여부를 판단한다.
판단 결과, 그 차이가 2배의 스텝전압보다 크다면 프로그램 시작 전압을 2배의 단위 스텝전압만큼 감소시킨다.
또한, 그 차이가 2배의 스텝전압보다는 작으나 단위 스텝전압보다 크다면 시작 전압을 단위 스텝전압만큼 감소시킨다.
또한, 그 차이가 단위 스텝전압보다 작으면 프로그램 시작 전압을 변경시키지 않는다.
이를 일반화 해보면, 프로그램/소거 횟수가 증가하여 제i 기준값(N(i))을 기준으로 비교할 경우에는 해당 기준값을 기준으로 하는 제2 프로그램 속도를 재측정하고 제1 프로그램 속도와의 차이를 비교하는데, 이때는 제1 프로그램 속도와 제2 프로그램 속도와의 차이가 i배의 스텝전압보다 큰지 여부를 판단한다.
판단 결과, 그 차이가 i배의 스텝전압보다 크다면 프로그램 시작 전압을 i배의 단위 스텝전압만큼 감소시킨다.
또한, 그 차이가 i배의 스텝전압보다는 작으나 i-1 배의 스텝전압보다 크다면 시작 전압을 단위 스텝전압만큼 감소시킨다.
또한, 그 차이가 i-1 배의 스텝전압보다는 작으나 i-2 배의 스텝전압보다 크다면 시작 전압을 단위 스텝전압 만큼 감소 시킨다.
상기 과정을 계속 반복하여, 그 차이가 단위 스텝전압보다 작으면 프로그램 시작 전압을 변경시키지 않는다.
도 7은 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치를 도시한 블럭도이다.
상기 불휘발성 메모리 장치(700)는 도 4의 것과 마찬가지로, 일반 메모리 셀(710), 상기 일반 메모리 셀(710)과 동일한 기능을 수행하되 셀의 프로그램 속도를 측정하기 위한 표본이 되는 기준 메모리 셀(720), 상기 기준 메모리 셀(720)들의 프로그램 속도을 저장하는 프로그램 속도 저장부(730), 상기 일반 메모리 셀(710) 및 상기 기준 메모리 셀(720)에 대하여 프로그램 전압을 인가하는 프로그램 전압 공급부(740), 상기 기준 메모리 셀(720)들이 특정 검증 전압이상으로 모두 프로그램 되었는지를 판단하고 해당 시점에 해당 워드라인에 인가되는 전압을 검출하는 프로그램 속도 검출부(750), 불휘발성 메모리 장치의 전체 프로그램/소거 동작 횟수를 저장하는 프로그램/소거 횟수 저장부(760), 프로그램/소거 동작의 횟수에 따라 상기 프로그램 속도 저장부(730)에 저장된 제1 프로그램 속도와 상기 프로그램 속도 검출부(750)를 통해 검출한 제2 프로그램 속도를 비교하여 프로그램 전압을 감소시킬 것인지 여부를 결정하는 프로그램 전압 제어부(780)를 포함한다.
또한, 상기 불휘발성 메모리 장치(700)는 프로그램/소거 횟수에 따른 문턱전압의 분포 변화를 프로그램 전압 제어에 반영하는 분포 변화량 결정부(770)를 포함한다.
상기 불휘발성 메모리 셀은 프로그램/소거 횟수의 증가에 따라 프로그램 속도가 증가하는 경향이 있으며, 그에 따라 전체적인 분포도 넓어지는 특성이 있다. 예를 들어, 프로그램/소거를 1회만 한 경우의 오프 셀의 최고 문턱전압과 최저 문 턱전압의 차이가 1V라고 가정할 때, 프로그램/소거를 1000회 한 경우의 오프 셀의 최고 문턱전압과 최저 문턱전압의 차이가 1.1V로 증가하는 경향이 있다.
이렇게 분포 변화가 있는 경우에는 그 변화량만큼을 고려하여 프로그램 전압을 설정하여야 한다. 즉, 프로그램 속도가 커진 상황에서, 문턱전압의 분포에 변화량이 발생한 경우에는 상기 프로그램 속도 값의 차이에서 분포 변화량을 뺀 값이 스텝전압과 같은지 여부를 판단하여 프로그램 전압을 재설정한다.
상기 분포 변화량 결정부(770)는 크게 두 가지 방법으로 분포 변화량을 결정할 수 있다.
먼저, 프로그램/소거 횟수별로 나타나는 분포 변화의 정도를 통계적으로 측정하여 이를 반영한다. 즉, 상기 기준값(N(i))에 해당 될 때의 분포 변화의 정도를 미리 측정하고, 이를 저장하여, 해당 횟수가 되면 그 분포 변화량을 읽어 프로그램 전압 제어에 사용한다.
한편, 상기 분포 변화량 결정부(770)는 기준값에 따른 분포 변화량을 저장하는 복수의 레지스터를 저장한다.
두 번째로는, 프로그램/소거 횟수별로 나타나는 분포 변화의 정도를 직접 측정하여 이를 반영한다. 즉, 최초 기준값에 해당 될 때의 최고 문턱 전압값을 측정하여 미리 저장하여 두고, 그 다음 기준값(N(i))에 해당 될 때의 최고 문턱 전압값 을 측정하여 상기 저장한 값과 비교하여 그 차이를 비교한다. 원칙적으로는 최저 문턱 전압값과 최고 문턱 전압값의 차이를 구하여 그것을 기준으로 비교할 것이나, 최저 문턱 전압값은 검증 기준 전압과 같은 값을 갖게 되므로, 최고 문턱 전압값들 끼리 비교하는 것만으로도 상기 분포 변화의 정도를 측정할 수 있다.
이때, 상기 최고 문턱 전압값은 두 가지 원리로 측정이 가능하다.
첫 번째로는, 검증 단계에서 전체 셀이 모두 패스가 되도록 하는 전압을 워드라인에 인가한 상태에서 해당 전압을 일정하게 감소시켜 나갈 때 최초의 페일 셀이 나타나는 시점에서 인가되는 전압을 최고 문턱 전압으로 사용할 수 있다.
바람직하게는, 프로그램이 완료된 기준 메모리 셀을 독출할 때 전체 셀이 프로그램된 것으로 독출되는 상태(전체 셀 패스 상태)에서 독출 전압을 0.1V 씩 감소하면서 측정하며, 프로그램되지 않은 셀이 있는 것으로 독출되는 최초의 시점에 인가되는 독출 전압을 최고 문턱 전압으로 사용한다.
두 번째로는, 검증 단계에서 일부 페일 셀이 나타나도록 하는 전압을 워드라인에 인가한 상태에서 해당 전압을 일정하게 증가시켜 나갈 때 전체 셀이 모두 패스가 되는 시점에서 인가되는 전압을 최고 문턱 전압으로 사용할 수 있다.
바람직하게는, 프로그램이 완료된 기준 메모리 셀을 독출할 때 일부 셀만이 프로그램된 것으로 독출되는 상태(일부 셀 페일 상태)에서 독출 전압을 0.1V 씩 증가하면서 측정하며, 전체 셀이 프로그램된 것으로 독출되는 상태(전체 셀 패스 상 태)의 시점에 인가되는 독출 전압을 최고 문턱 전압으로 사용한다.
이와 같이 측정한 최고 문턱 전압값들을 비교하여 그 차이를 분포 변화량으로 결정한다.
한편, 상기 분포 변화량 결정부(770)는 직전 기준값에서의 최고 문턱 전압값을 저장하는 하나 이상의 레지스터를 포함한다.
그리고, 현재 기준값에서의 최고 문턱 전압값을 상기 레지스터에 저장된 문턱 전압값과 비교하게 된다.
이와 같이 결정된 상기 분포 변화량은 다음과 같이 사용된다.
제1 프로그램 속도와 제2 프로그램 속도의 차이를 비교하는데 있어서, 그 차이가 스텝 전압과 분포 변화량의 합보다 큰지 여부를 판단하는 것이다. 그보다 큰 경우에는 분포 변화량까지 반영하여 프로그램 전압을 재설정하게 된다.
상기 불휘발성 메모리 장치의 구체적인 동작을 살펴보기로 한다.
도 8은 본원 발명의 또다른 실시예에 따른 불휘발성 메모리 장치의 동작을 도시한 순서도이다.
각 단계의 세부적인 내용은 도 5에 대한 설명과 거의 동일하다.
먼저, 전체 메모리 셀에 대한 프로그램 동작을 수행한다(단계 810).
다음으로, 상기 기준 메모리 셀(420)에 대하여 제1 프로그램 속도를 측정한다(단계 820).
다음으로, 상기 제1 프로그램 속도를 프로그램 속도 저장부(430)에 저장한다(단계 830).
다음으로, 프로그램/소거 동작의 횟수가 기준값(N(i))에 해당하는지를 판단한다(단계 840).
상기 판단 결과, 기준값에 해당하지 않는 경우에는 프로그램/소거 동작을 반복적으로 실행한다(단계 860).
동작중에 목표로 하는 전체 프로그램/소거 동작이 완료되면 동작이 중지된다(단계 870).
상기 판단 결과, 상기 기준값에 해당하는 경우에는 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정한다(단계 842).
다음으로, 상기 기준 메모리셀의 분포변화량을 결정한다(단계 844).
상기 결정 방법으로 두 가지 실시예를 제시한다.
첫번째로는, 상기 분포 변화량 결정부(770)에 저장된 분포 변화량을 읽어들여 결정한다.
상기 분포 변화량 결정부에는 프로그램/소거 횟수별로 나타나는 분포 변화량이 미리 저장되어 있다. 따라서, 상기 기준값(N(i))에 해당되는 분포 변화량을 상기 프로그램 전압 제어부로 전송하게 된다.
두번째로는, 상기 기준 메모리 셀(720)에 대한 분포 변화량을 직접 측정하여 결정한다.
즉, 상기 분포변화량 결정부(770)를 통해 제1 기준값(N(i-1))에서의 최고 문턱 전압값과 제2 기준값(N(i))에서의 최고 문턱전압값의 차이를 비교하게 된다.
이를 위해 상기 분포 변화량 결정부에 저장된 제1 기준값(N(i-1))에서의 최고 문턱 전압값을 읽고, 상기 측정한 제2 기준값(N(i))에서의 최고 문턱 전압값의 차이를 분포 변화량으로 결정한다.
다음으로, 상기 측정한 제2 프로그램 속도와 상기 저장된 제1 프로그램 속도의 차이가 상기 스텝 전압과 분포 변화량의 합보다 큰지 여부를 비교한다(단계 850).
앞서 예로 언급한 제1 프로그램 속도가 19V라고 가정하자. 또한, ISPP 방식에서 인가되는 스텝 전압이 0.3V라고 가정하자.
한편, 상기 프로그램/소거를 기준값 만큼 진행한 후의 분포 변화량이 0.1V 라고 가정하자.
프로그램/소거를 기준값 만큼 진행한 후 측정한 제2 프로그램 속도가 18.5V 인 경우에는 제1 프로그램 속도와의 차이가 스텝 전압과 분포 변화량의 합보다 크다고 본다.
그러나, 제2 프로그램 속도가 18.8V 인경우에는 제1 프로그램 속도와의 차이가 스텝 전압과 분포 변화량의 합보다 작다고 본다.
상기 비교 결과, 제1 프로그램 속도와 제2 프로그램 속도의 차이가 스텝 전압과 분포 변화량의 합보다 작은 경우에는 프로그램 시작 전압의 변경 없이 프로그램/소거 동작을 반복하여 실행한다(단계 860).
그러나, 상기 비교 결과, 제1 프로그램 속도와 제2 프로그램 속도의 차이가 스텝 전압과 분포 변화량의 합보다 큰 경우에는 프로그램 시작 전압을 변경한다(단계 852).
즉, 앞서 언급한 예에 따라 16V를 프로그램 시작전압으로 인가하여 프로그램을 시작하였고, 제1 프로그램 속도가 19V이고 제2 프로그램 속도가 18.5V 라면 상기 프로그램 시작전압을 스텝 전압만큼 감소시킨다.
이처럼 시작 전압을 변경하게 되면, 낮은 전압에서 프로그램을 시작하게 되므로 프로그램 속도가 상승한 셀들에 대하여 프로그램 속도를 낮출 수 있는 효과가 있다.
다음으로, 상기 제2 프로그램 속도를 프로그램 속도 저장부에 제1 프로그램 속도로서 저장한다(단계 854).
이후 프로그램 속도가 변경될 경우 그 판단은 상기 새로이 측정된 프로그램 속도를 기준으로 판단하여야 하므로 이러한 단계를 수행한다.
다만, 제2 프로그램 속도를 제1 프로그램 속도로 재설정하는 단계는 상기 프로그램 시작 전압을 변경하는 단계와 시간적으로 선후 관계에 있는 단계는 아니다. 즉, 상기 단계(550)를 수행한 후라면 도시된 바와 달리 프로그램 시작 전압 변경단계를 수행하기 전이나, 그와 동시에 수행하여도 무방하다.
다음으로, 상기 기준값을 재설정한다(단계 856).
이와 같은 동작을 반복 실시하게 되면, 설계자가 미리 지정한 프로그램/소거 횟수 기준값 마다 제1 프로그램 속도와 제2 프로그램 속도를 비교하여 프로그램 시작전압을 변경하게 된다.
도 1은 본원 발명에 사용되는 불휘발성 메모리 장치의 셀 스트링 구조를 도시한 도면이다.
도 2는 불휘발성 메모리 장치의 프로그램에 따른 문턱전압의 분포를 도시한 도면이다.
도 3은 프로그램 동작 및 소거 동작의 반복 실시 횟수에 따른 문턱전압의 변화를 나타내는 특성 그래프이다.
도 4는 본원 발명의 일실시 예에 따른 불휘발성 메모리 장치를 도시한 블럭도이다.
도 5는 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 동작을 도시한 순서도이다.
도 6은 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 동작을 도시한 순서도이다.
도 7은 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치를 도시한 블럭도이다.
도 8은 본원 발명의 또다른 실시예에 따른 불휘발성 메모리 장치의 동작을 도시한 순서도이다.
<도면의 주요 부분에 대한 설명>
410, 710: 일반 메모리 셀
420, 720: 기준 메모리 셀
430, 730: 프로그램 속도 저장부
440, 740: 프로그램 전압 공급부
450, 750: 프로그램 속도 검출부
460, 760: 프로그램/소거 횟수 저장부
470, 780: 프로그램 전압 제어부
770: 분포 변화량 결정부

Claims (23)

  1. 전체 메모리 셀 중 기준 메모리 셀들의 프로그램 속도를 측정하는 프로그램 속도 검출부와,
    상기 프로그램 속도를 저장하는 프로그램 속도 저장부와,
    프로그램/소거 동작의 횟수에 따라 상기 프로그램 속도 저장부에 저장된 제1 프로그램 속도와 상기 프로그램 속도 검출부를 통해 검출한 제2 프로그램 속도를 비교하여 프로그램 전압의 변경 여부를 결정하는 프로그램 전압 제어부를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치.
  2. 제1항에 있어서, 상기 프로그램 속도 검출부는 상기 기준 메모리 셀들이 특정 검증 전압이상으로 모두 프로그램되었는지를 판단하고 해당 시점에 해당 셀들의 워드라인에 인가되는 프로그램 전압을 검출하는 것을 특징으로 하는 불휘발성 메모리 장치.
  3. 제1항에 있어서, 상기 프로그램 속도 검출부는 상기 기준 메모리 셀들이 특정 검증 전압이상으로 모두 프로그램되었는지를 판단하고 해당 시점에 해당 셀들의 워드라인에 인가되는 프로그램 전압에 도달할 때까지 인가한 프로그램 펄스의 횟수를 검출하는 것을 특징으로 하는 불휘발성 메모리 장치.
  4. 제1항에 있어서, 상기 불휘발성 메모리 장치의 동작 동안 수행된 전체 프로그램/소거 동작 횟수를 저장하는 프로그램/소거 횟수 저장부를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치.
  5. 제1항에 있어서, 프로그램/소거 횟수에 따른 문턱 전압의 분포 변화량을 저장하는 분포 변화량 결정부를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치.
  6. 제1항에 있어서, 제1 프로그램/소거 횟수에서의 최고 문턱 전압 값과 상기 제1 프로그램/소거 횟수보다 큰 제2 프로그램/소거 횟수에서의 최고 문턱 전압 값을 비교하여 분포 변화량을 출력하는 분포 변화량 결정부를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치.
  7. 제1항에 있어서, 상기 프로그램 속도 저장부는 최초 프로그램 후의 프로그램 속도를 영구 저장하는 것을 특징으로 하는 불휘발성 메모리 장치.
  8. 전체 메모리 셀에 대한 최초 프로그램 동작을 하는 단계와,
    기준 메모리 셀에 대하여 제1 프로그램 속도를 측정하는 단계와,
    상기 제1 프로그램 속도를 프로그램 속도 저장부에 저장하는 단계와,
    프로그램/소거 횟수가 특정 기준값에 해당하기 전까지 프로그램/소거 동작을 반복하여 실시하는 단계와,
    상기 프로그램/소거 횟수가 특정 기준값에 해당되는 경우 상기 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정하는 단계와,
    상기 제1 프로그램 속도와 제2 프로그램 속도의 차이를 계산하는 단계와,
    상기 계산된 프로그램 속도의 차이에 따라 프로그램 시작 전압을 설정하는 단계와,
    상기 설정된 프로그램 시작 전압에 따라 프로그램/소거 동작을 하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  9. 제8항에 있어서, 상기 기준 메모리 셀에 대하여 제1 프로그램 속도를 측정하는 단계와,
    상기 프로그램/소거 횟수가 특정 기준값에 해당되는 경우 상기 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정하는 단계는
    상기 기준 메모리 셀들이 특정 검증 전압이상으로 모두 프로그램되었는지를 판단하고 해당 시점에 해당 셀들의 워드라인에 인가되는 프로그램 전압을 검출하는 단계를 각각 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  10. 제8항에 있어서, 상기 기준 메모리 셀에 대하여 제1 프로그램 속도를 측정하는 단계와,
    상기 프로그램/소거 횟수가 특정 기준값에 해당되는 경우 상기 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정하는 단계는
    상기 기준 메모리 셀들이 특정 검증 전압이상으로 모두 프로그램되었는지를 판단하고 해당 시점에 해당 셀들의 워드라인에 인가되는 프로그램 전압에 도달할 때까지 인가한 프로그램 펄스의 횟수를 검출하는 단계를 각각 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  11. 제8항에 있어서, 상기 프로그램 속도 차이를 계산하는 단계를 수행한 후 상기 제2 프로그램 속도를 제1 프로그램 속도로서 재설정하는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  12. 제8항에 있어서, 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이를 계산하는 단계는 제1 기준값에서 제2 프로그램 속도로 측정되어 제1 프로그램 속도로서 재설정된 값과, 상기 제1 기준값보다 큰 제2 기준값에서 측정된 제2 프로그램 속도의 차이를 계산하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  13. 제8항에 있어서, 상기 프로그램 시작 전압을 설정하는 단계는 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이가 스텝 전압보다 크거나 같은 경우 프로그램 시작전압을 스텝전압만큼 감소시키는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  14. 제8항에 있어서, 상기 프로그램 시작 전압을 설정하는 단계는 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이가 스텝 전압보다 작은 경우 프로그램 시작전압을 그대로 유지시키는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  15. 제8항에 있어서, 상기 프로그램 시작 전압을 설정하는 단계는 제1 프로그램 속도와 제2 프로그램 속도의 차이가 1개의 프로그램 펄스 인가 횟수보다 크거나 같은 경우 프로그램 시작 전압을 스텝전압만큼 감소시키는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  16. 제8항에 있어서, 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이를 계산하는 단계는 최초 프로그램 동작후에 영구 저장된 제1 프로그램 속도와, n 번째 기준값에서 측정된 제2 프로그램 속도와의 차이를 계산하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  17. 제8항에 있어서, 상기 프로그램 시작 전압을 설정하는 단계는 최초 프로그램 동작후에 영구 저장된 제1 프로그램 속도와 n 번째 기준값에서 측정된 제2 프로그램 속도와의 차이가 n 배의 스텝전압보다 크거나 같은 경우 프로그램 시작전압을 n 배의 스텝전압만큼 감소시키는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  18. 전체 메모리 셀에 대한 최초 프로그램 동작을 하는 단계와,
    기준 메모리 셀에 대하여 제1 프로그램 속도를 측정하는 단계와,
    상기 제1 프로그램 속도를 프로그램 속도 저장부에 저장하는 단계와,
    프로그램/소거 횟수가 기준값에 해당하기 전까지 프로그램/소거 동작을 반복하여 실시하는 단계와,
    상기 프로그램/소거 횟수가 기준값에 해당되는 경우 상기 기준 메모리 셀에 대하여 제2 프로그램 속도를 측정하는 단계와,
    상기 기준 메모리 셀의 분포 변화량을 결정하는 단계와,
    상기 제1 프로그램 속도와 제2 프로그램 속도의 차이를 계산하는 단계와,
    상기 계산된 프로그램 속도의 차이와 상기 분포 변화량에 따라 프로그램 시작 전압을 설정하는 단계와,
    상기 설정된 프로그램 시작 전압에 따라 프로그램/소거 동작을 하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  19. 제18항에 있어서, 상기 분포 변화량을 결정하는 단계는 프로그램/소거 동작 횟수에 따라 미리 지정된 분포 변화량을 읽어들이는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  20. 제18항에 있어서, 상기 분포 변화량을 결정하는 단계는 제1 기준값에서의 최고 문턱 전압값과 상기 제1 기준값보다 큰 제2 기준값에서의 최고 문턱 전압값의 차이를 계산하는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  21. 제18항에 있어서, 상기 프로그램 시작 전압을 설정하는 단계는 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이가 스텝 전압보다 크거나 같은 경우 프로그램 시작전압을 스텝전압만큼 감소시키는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  22. 제18항에 있어서, 상기 프로그램 시작 전압을 설정하는 단계는 상기 제1 프로그램 속도와 제2 프로그램 속도의 차이가 스텝 전압보다 작은 경우 프로그램 시작전압을 그대로 유지시키는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
  23. 제18항에 있어서, 상기 프로그램 시작 전압을 설정하는 단계는 최초 프로그램 동작후에 영구 저장된 제1 프로그램 속도와 n 번째 기준값에서 측정된 제2 프로그램 속도와의 차이가 n배의 스텝전압보다 크거나 같은 경우 프로그램 시작전압을 n배의 스텝전압만큼 감소시키는 단계를 포함하는 것을 특징으로 하는 불휘발성 메모리 장치의 동작 방법.
KR1020070097295A 2007-09-27 2007-09-27 불휘발성 메모리 장치 및 그 동작 방법 KR100891405B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070097295A KR100891405B1 (ko) 2007-09-27 2007-09-27 불휘발성 메모리 장치 및 그 동작 방법
US12/233,241 US7800952B2 (en) 2007-09-27 2008-09-18 Non-volatile memory device and method of operating the same
CN200810167435XA CN101399083B (zh) 2007-09-27 2008-09-26 非易失性存储装置及其操作方法
US12/856,190 US8000149B2 (en) 2007-09-27 2010-08-13 Non-volatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070097295A KR100891405B1 (ko) 2007-09-27 2007-09-27 불휘발성 메모리 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20090032246A KR20090032246A (ko) 2009-04-01
KR100891405B1 true KR100891405B1 (ko) 2009-04-02

Family

ID=40508107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070097295A KR100891405B1 (ko) 2007-09-27 2007-09-27 불휘발성 메모리 장치 및 그 동작 방법

Country Status (3)

Country Link
US (2) US7800952B2 (ko)
KR (1) KR100891405B1 (ko)
CN (1) CN101399083B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170053032A (ko) * 2015-11-05 2017-05-15 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
KR20170065240A (ko) * 2015-12-03 2017-06-13 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20190060409A (ko) * 2017-11-24 2019-06-03 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266349A (ja) 2008-04-28 2009-11-12 Toshiba Corp 不揮発性半導体記憶装置
KR101596827B1 (ko) 2009-10-14 2016-02-23 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR101655306B1 (ko) 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
KR20120004742A (ko) * 2010-07-07 2012-01-13 주식회사 하이닉스반도체 비휘발성 메모리 및 이의 프로그램 방법
KR101784973B1 (ko) * 2010-11-11 2017-10-13 삼성전자주식회사 메모리 소자의 동작 전압 제공 방법 및 메모리 컨트롤러
US8806106B2 (en) * 2010-11-12 2014-08-12 Seagate Technology Llc Estimating wear of non-volatile, solid state memory
US20130159610A1 (en) * 2011-12-16 2013-06-20 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory device related method of operation
KR20130070927A (ko) * 2011-12-20 2013-06-28 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작 방법
JP2013143155A (ja) * 2012-01-06 2013-07-22 Powerchip Technology Corp 不揮発性半導体記憶装置とその書き込み方法
US9098401B2 (en) * 2012-11-21 2015-08-04 Apple Inc. Fast secure erasure schemes for non-volatile memory
US9646705B2 (en) * 2013-06-12 2017-05-09 Samsung Electronics Co., Ltd. Memory systems including nonvolatile memory devices and dynamic access methods thereof
KR20170028152A (ko) * 2015-09-03 2017-03-13 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR102347182B1 (ko) * 2015-09-04 2022-01-04 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US9953703B2 (en) 2015-10-16 2018-04-24 Samsung Electronics Co., Ltd. Programming method of non volatile memory device
US9543001B1 (en) * 2015-12-31 2017-01-10 Macronix International Co., Ltd. Programming memory cells
KR102423291B1 (ko) 2016-01-15 2022-07-20 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
JP2017224366A (ja) * 2016-06-14 2017-12-21 ルネサスエレクトロニクス株式会社 フラッシュメモリ
TWI708253B (zh) * 2018-11-16 2020-10-21 力旺電子股份有限公司 非揮發性記憶體良率提升的設計暨測試方法
CN110364215B (zh) * 2019-07-16 2021-05-25 武汉新芯集成电路制造有限公司 闪存htol测试方法
CN111276176A (zh) * 2020-02-11 2020-06-12 上海威固信息技术股份有限公司 一种三维堆叠闪存单元阈值电压分布模型构建方法
JP2022040515A (ja) * 2020-08-31 2022-03-11 ウィンボンド エレクトロニクス コーポレーション フラッシュメモリおよびプログラミング方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030031652A (ko) * 2001-10-15 2003-04-23 주식회사 하이닉스반도체 플래시 이이피롬의 프로그램회로 및 이를 이용한 프로그램방법
KR20060023798A (ko) * 2004-09-10 2006-03-15 매그나칩 반도체 유한회사 플래시 메모리 테스트 장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3451118B2 (ja) * 1993-12-15 2003-09-29 株式会社日立製作所 半導体不揮発性記憶装置
US6452837B2 (en) * 1999-12-27 2002-09-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory and threshold voltage control method therefor
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
ITMI20022668A1 (it) * 2002-12-18 2004-06-19 Simicroelectronics S R L Dispositivo di memoria non volatile con migliorata velocita'
US7466588B2 (en) * 2004-10-07 2008-12-16 Nokia Corporation Method for improving programming speed in memory devices
JP4435200B2 (ja) * 2007-04-03 2010-03-17 株式会社東芝 半導体記憶装置のデータ書き込み方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030031652A (ko) * 2001-10-15 2003-04-23 주식회사 하이닉스반도체 플래시 이이피롬의 프로그램회로 및 이를 이용한 프로그램방법
KR20060023798A (ko) * 2004-09-10 2006-03-15 매그나칩 반도체 유한회사 플래시 메모리 테스트 장치 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170053032A (ko) * 2015-11-05 2017-05-15 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
KR102397394B1 (ko) * 2015-11-05 2022-05-12 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
KR20170065240A (ko) * 2015-12-03 2017-06-13 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR102502234B1 (ko) * 2015-12-03 2023-02-21 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20190060409A (ko) * 2017-11-24 2019-06-03 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
KR102504295B1 (ko) * 2017-11-24 2023-02-27 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법

Also Published As

Publication number Publication date
CN101399083A (zh) 2009-04-01
US20100302862A1 (en) 2010-12-02
CN101399083B (zh) 2011-11-16
US7800952B2 (en) 2010-09-21
KR20090032246A (ko) 2009-04-01
US20090086545A1 (en) 2009-04-02
US8000149B2 (en) 2011-08-16

Similar Documents

Publication Publication Date Title
KR100891405B1 (ko) 불휘발성 메모리 장치 및 그 동작 방법
KR100824203B1 (ko) 플래시 메모리 소자의 프로그램 방법
KR100953045B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US7800946B2 (en) Flash memory device and operating method thereof
EP2427885B1 (en) Multiple level program verify in a memory device
US8284611B2 (en) Verifying and programming method of nonvolatile memory device
US7372754B2 (en) Method and apparatus for controlling slope of word line voltage in nonvolatile memory device
KR101184814B1 (ko) 불휘발성 메모리 장치 및 이의 프로그램 방법
KR100909961B1 (ko) 프로그램 전압 발생 회로 및 방법, 그리고 이를 이용한불휘발성 메모리 장치
KR20120126436A (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 프로그램 방법
JP2002157890A (ja) 不揮発性半導体記憶装置および不揮発性半導体記憶装置のデータ消去方法
KR20120006936A (ko) 비휘발성 메모리 블록의 소프트 프로그램
JP2008262623A (ja) 不揮発性半導体記憶装置
KR20150035223A (ko) 반도체 메모리 장치 및 이의 동작방법
KR20070057716A (ko) 멀티 레벨 셀을 갖는 플래시 메모리 장치의 프로그램 방법
JP2003123487A (ja) 不揮発性半導体記憶装置およびその書き込み時間決定方法
KR101674070B1 (ko) 불휘발성 메모리 소자의 프로그램 동작 방법
KR100972715B1 (ko) 플래시 메모리 소자 및 그의 프로그램 동작 방법
JP2005228371A (ja) 半導体記憶装置及びその閾値電圧制御方法
KR100967010B1 (ko) 불휘발성 메모리 장치 및 그 프로그램 방법
JP2009070531A (ja) 半導体装置及びその制御方法
JP2013125574A (ja) 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法
KR20150075887A (ko) 메모리 시스템 및 이의 동작 방법
KR20090068667A (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: 20120222

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee