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

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

Info

Publication number
KR101046839B1
KR101046839B1 KR1020090058494A KR20090058494A KR101046839B1 KR 101046839 B1 KR101046839 B1 KR 101046839B1 KR 1020090058494 A KR1020090058494 A KR 1020090058494A KR 20090058494 A KR20090058494 A KR 20090058494A KR 101046839 B1 KR101046839 B1 KR 101046839B1
Authority
KR
South Korea
Prior art keywords
program
start voltage
voltage
pulses
input
Prior art date
Application number
KR1020090058494A
Other languages
English (en)
Other versions
KR20100129105A (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/787,769 priority Critical patent/US8184483B2/en
Publication of KR20100129105A publication Critical patent/KR20100129105A/ko
Application granted granted Critical
Publication of KR101046839B1 publication Critical patent/KR101046839B1/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/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Landscapes

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

Abstract

본 발명은 비트라인들과 워드라인들에 연결되어 데이터를 저장하기 위한 제 1 메모리 셀 그룹과, 제 1 및 제 2 프로그램 시작전압을 포함하는 옵션정보를 저장하는 제 2 메모리 셀 그룹을 포함하는 메모리 셀 어레이; 상기 비트라인들 중 하나 이상의 비트라인에 연결되고, 상기 제 1 또는 제 2 메모리 셀 그룹에 포함되는 메모리 셀들에 저장할 데이터를 임시 저장하거나, 상기 메모리 셀들에 저장된 데이터를 독출하여 저장하기 위한 페이지 버퍼들을 포함하는 페이지 버퍼부; 및 전원이 입력되고 최초로 수행되는 프로그램 동작시, 제 1 검증전압에 의해 프로그램 패스가 되기까지의 프로그램 펄스의 개수를 카운팅하고 상기 옵션정보에 포함되는 제 1 프로그램 펄스 개수와 상기 카운팅된 프로그램 펄스 개수를 비교하고, 비교결과에 따라 상기 제 1 또는 제 2 프로그램 시작전압중 어느 하나를 선택하여 시작전압으로 결정한 후, 전원이 오프될 때까지 상기 시작전압을 이용하여 프로그램을 수행하도록 제어하는 제어부를 불휘발성 메모리 소자 및 그 프로그램 방법을 제공한다.
프로그램 펄스, 블라인드, 시작전압

Description

불휘발성 메모리 소자 및 그 프로그램 방법{Non volatile memory device and method of programming the same}
본 발명은 불휘발성 메모리 소자의 프로그램 방법에 관한 것이다.
전기적으로 프로그램(Program)과 소거(Erase)가 가능하며, 전원이 공급되지 않는 상태에서도 데이터가 소거되지 않고 저장 가능한 불휘발성 메모리 소자의 수요가 증가하고 있다. 그리고 많은 수의 데이터를 저장할 수 있는 대용량 메모리 소자의 개발을 위해서, 메모리 셀의 고집적화 기술이 개발되고 있다.
최근에는 집적도를 더욱 향상시키기 위해 한 개의 메모리 셀에 복수개의 데이터를 저장할 수 있는 다중 비트 셀에 대한 연구가 활발히 진행되고 있다. 이러한 방식의 메모리 셀을 통상 멀티 레벨 셀(Multi Level Cell; MLC)이라 한다. 이와 대비되는 단일 비트의 메모리 셀을 싱글 레벨 셀(Single Level Cell; SLC)이라 한다.
도 1은 불휘발성 메모리 소자의 프로그램 동작을 설명하기 위한 순서도이다.
이때 도 1의 프로그램 동작은 2비트의 데이터 저장을 할 수 있는 메모리 셀을 포함하는 불휘발성 메모리 소자에서 LSB(Least Significant Bit) 페이지 프로그램 이후의 MSB(Most Significant Bit) 프로그램을 수행하는 과정만을 나타낸다.
도 1을 참조하면, 프로그램을 위하여 프로그램 명령과, 프로그램을 수행할 어드레스 및 프로그램할 데이터가 불휘발성 메모리 소자에 입력되고(S101 내지 S105), 최종적으로 실행명령이 입력된다(S107).
이에 따라서 프로그램을 진행하고(S109), 제 1 내지 제 3 검증전압(PV1 내지 PV3)을 이용한 프로그램 검증을 수행한다(S111 내지 S115).
상기 프로그램이 진행될 때, 프로그램을 위해 선택되는 워드라인에는 프로그램 전압(Vpgm)이 인가된다. 그리고 제 1 내지 제 3 검증전압(PV1 내지 PV3)을 이용한 제 1 내지 제 3 검증이 수행된다.
프로그램 과정은 제 1 내지 제 3 검증이 모두 패스(Pass) 되었을 때 종료된다. 상기의 제 1 내지 제 3 검증이 패스되지 않으면, 다시 프로그램 전압(Vpgm)을 높여서 인가하고 프로그램을 수행한다. 이때 프로그램 전압(Vpgm)은 ISPP(Increment Step Program Pulse) 방식에 따라서 프로그램 시작전압(Vpgm_start)으로부터 스텝전압만큼 상승되는 전압으로 변경된다.
도 2는 프로그램 펄스에 따라 선택된 워드라인에 인가되는 전압 레벨을 나타낸다.
도 2를 참조하면, 프로그램 펄스에 따라서 프로그램 시작전압(Vpgm_start)로부터 스텝전압 만큼 상승되는 프로그램 전압이 인가되고, 각각의 프로그램 전압 인가 후에 제 1 내지 제 3 검증전압(PV1 내지 PV3)이 인가된다. 이때 제 1 내지 제 3 검증전압(PV1 내지 PV3)을 별도로 나타내지 않고 프로그램 검증 펄스(하나의 펄스로만 표시)로 나타내었다.
도 2에 나타난 바와 같이, 실제로 프로그램이 시작되는 프로그램 시작전압(Vpgm_start)은 15V 이다. 그리고 어느 정도 프로그램 펄스가 인가되는 동안에는 제 1 검증(PV1)만을 하고, 이후에 제 2 검증(PV2)을 수행하고 제 3 검증(PV3)을 수행한다. 이는 처음 프로그램 펄스가 인가되어 프로그램이 진행되는 동안에는 모든 메모리 셀들의 문턱전압이 제 2 및 제 3 검증전압(PV2, PV3)에 대해 패스될 정도로 상승되지 않기 때문이다.
또한 도 2에는 실제 프로그램이 되기 시작하는 전압보다 낮은 13V부터 프로그램 전압이 인가되고 있는 것을 확인할 수 있다. 이와 같이 실제 프로그램이 시작되는 전압보다 낮은 전압부터 프로그램 전압이 인가되고 있는 이유는 메모리 셀의 소거/쓰기 사이클(Erase/Write Cycle)이 진행됨에 따라서 메모리 셀의 문턱전압이 변동되기 때문이다.
즉 초기에 메모리 셀들의 문턱전압에 비해서, 소거/쓰기 사이클이 많이 진행될수록 메모리 셀들에 전자가 트랩(trap)되어 소거를 수행한 이후에도 메모리 셀의 문턱전압이 상승된다. 따라서 초기에는 15V부터 프로그램 전압을 인가해도 되지만, 이후에는 15V로 프로그램 전압을 처음부터 인가하기 시작하면 오버 프로그램되는 메모리 셀들이 발생된다. 따라서 처음부터 프로그램 전압을 13V부터 시작한다. 그러나 초기에 메모리 셀들은 실제로 15V의 프로그램 전압이 인가되기 시작하면서부터 프로그램이 된다고 할 수 있다. 이러한 방식으로 프로그램 전압을 인가하는 방식을 블라인드 프로그램 방식이라고 한다. 즉 처음 13V부터 15V가 될 때까지의 블라인드 프로그램 전압이 인가되는 동안에는 프로그램 전압 인가에 따른 프로그램 효과가 없고, 이후에 소거/쓰기 사이클이 많이 진행되면 13V부터 인가되는 프로그램 전압에 의해 프로그램이 정상적으로 진행될 수 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는 메모리 셀의 소거/쓰기 사이클에 따라서 프로그램 시작 전압을 변경하는 불휘발성 메모리 소자 및 그 프로그램 방법을 제공하는데 있다.
본 발명의 특징에 따른 불휘발성 메모리 소자는,
비트라인들과 워드라인들에 연결되어 데이터를 저장하기 위한 제 1 메모리 셀 그룹과, 제 1 및 제 2 프로그램 시작전압을 포함하는 옵션정보를 저장하는 제 2 메모리 셀 그룹을 포함하는 메모리 셀 어레이; 상기 비트라인들 중 하나 이상의 비트라인에 연결되고, 상기 제 1 또는 제 2 메모리 셀 그룹에 포함되는 메모리 셀들에 저장할 데이터를 임시 저장하거나, 상기 메모리 셀들에 저장된 데이터를 독출하여 저장하기 위한 페이지 버퍼들을 포함하는 페이지 버퍼부; 및 전원이 입력되고 최초로 수행되는 프로그램 동작시, 제 1 검증전압에 의해 프로그램 패스가 되기까지의 프로그램 펄스의 개수를 카운팅하고 상기 옵션정보에 포함되는 제 1 프로그램 펄스 개수와 상기 카운팅된 프로그램 펄스 개수를 비교하고, 비교결과에 따라 상기 제 1 또는 제 2 프로그램 시작전압중 어느 하나를 선택하여 시작전압으로 결정한 후, 전원이 오프될 때까지 상기 시작전압을 이용하여 프로그램을 수행하도록 제어하는 제어부를 포함한다.
상기 제어부는, 상기 제 1 검증전압에 의한 프로그램이 패스될 때까지 프로그램 펄스의 개수를 카운팅하는 카운터; 상기 카운터가 카운팅한 프로그램 펄스의 개수와, 상기 제 1 프로그램 펄스 개수를 비교하고, 그 비교결과에 따른 제 1 플래그신호를 출력하는 비교기; 및
상기 제 1 플래그 신호에 따라서 상기 제 1 및 제 2 프로그램 시작전압 중 하나를 상기 시작전압으로 설정하여 출력하고, 상기 시작전압을 설정함에 따라 제 2 플래그 신호를 출력하는 먹스를 포함한다.
상기 카운터 및 상기 비교기는 상기 제 2 플래그 신호에 의해서 동작이 중단되는 것을 특징으로 한다.
상기 제 1 프로그램 시작전압은 최초로 동작을 시작하면서부터 프로그램 동작에 적용되도록 하는 디폴트 프로그램 시작 전압인 것을 특징으로 한다.
상기 제어부는, 상기 제 1 프로그램 펄스 개수보다 상기 카운팅된 프로그램 펄스의 개수가 작으면 상기 제 1 프로그램 시작전압에서 상기 제 2 프로그램 시작전압으로 상기 시작전압을 변경하는 것을 특징으로 한다.
상기 제 1 프로그램 시작전압은 상기 제 2 프로그램 시작전압보다 높은 전압 레벨인 것을 특징으로 한다.
본 발명의 특징에 따른 불휘발성 메모리 소자의 프로그램 방법은,
테스트 결과에 따라 제 1 프로그램 시작전압부터 프로그램 전압을 인가하여 프로그램을 수행한 결과, 제 1 검증전압에 대한 프로그램 패스가 되는 제 1 프로그램 펄스 개수 및 상기 제 1 프로그램 시작전압과 제 2 프로그램 시작전압을 옵션정보로 저장하는 불휘발성 메모리 소자가 제공되는 단계; 상기 불휘발성 메모리 소자에 전원이 입력되고, 상기 옵션정보를 로딩하는 단계; 입력되는 프로그램 명령이 상기 전원이 입력된 후 최초로 입력되는 프로그램 명령인지 여부를 판단하고, 상기 프로그램 명령이 상기 전원이 입력된 후 최초로 입력되는 프로그램 명령인 경우, 상기 제 1 프로그램 시작전압부터 상승되는 프로그램 전압을 인가하여 프로그램을 진행하고, 상기 제 1 검증전압에 대해 프로그램 패스가 되는 프로그램 펄스의 개수를 카운팅 하는 단계; 및 상기 카운팅된 프로그램 펄스의 개수와 상기 제 1 프로그램 펄스 개수를 비교하고, 그 결과에 따라 상기 제 1 또는 제 2 프로그램 시작전압을 프로그램 시작전압으로 설정하는 단계를 포함한다.
상기 입력되는 프로그램 명령이 상기 전원이 입력된 후 최초로 입력되는 프로그램 명령인지 여부를 판단한 결과, 상기 프로그램 명령이 상기 전원이 입력된 후 최초로 입력되는 프로그램 명령이 아닌 경우, 상기 설정된 프로그램 시작전압부터 상승되는 프로그램 전압을 인가하여 프로그램을 수행하고, 프로그램 펄스 카운팅은 수행하지 않는 단계를 더 포함한다.
상기 제 1 프로그램 시작전압은 상기 제 2 프로그램 시작전압보다 높은 전압 레벨인 것을 특징으로 한다.
상기 카운팅된 펄스의 개수가 상기 제 1 프로그램 펄스 개수보다 작으면, 상기 제 2 프로그램 시작 전압을 상기 프로그램 시작전압으로 설정하는 것을 특징으로 한다.
이상에서 설명한 바와 같이, 본 발명에 따른 불휘발성 메모리 소자 및 그 프로그램 방법은 메모리 셀의 소거/쓰기 사이클이 진행됨에 따라서 메모리 셀의 문턱전압 분포를 파악한 후, 프로그램 시작 전압을 변경함으로써 블라인드 프로그램 방식을 사용하지 않아서 프로그램 시간을 줄일 수 있고, 메모리 셀의 프로그램 상태 에 따라 오버 프로그램이 되지 않도록 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 3a는 본 발명의 실시 예에 따른 불휘발성 메모리 소자를 나타낸다.
도 3a를 참조하면, 본 발명의 실시 예에 따른 불휘발성 메모리 소자(300)는 메모리 셀 어레이(310), 페이지 버퍼부(320), X 디코더(330), 전압 제공부(340) 및 제어부(350)를 포함한다.
메모리 셀 어레이(310)는 메인 셀부(311)와 스페어(Spare) 셀부(312)를 포함하고, 또한 옵션정보 저장을 위한 캠(CAM; Code Address Memory)셀이 포함되는 캠셀부(313)를 포함한다.
메인 셀부(311)는 데이터 저장을 위한 메모리 셀들을 포함하고, 스페어 셀부(312)는 메인 셀부(311)에 페일이 발생한 메모리 셀에 대신할 리던던시 셀을 포함한 여분의 메모리 셀들을 포함한다.
그리고 메모리 셀들은 메모리 블록 단위로 그룹화 된다.
페이지 버퍼부(320)는 선택된 메모리 셀에 프로그램할 데이터를 외부에서 입력받아 임시 저장하거나, 선택된 메모리 셀에 프로그램된 데이터를 독출하여 임시 저장하는 페이지 버퍼들을 포함한다.
X 디코더(330)는 메모리 셀 어레이(310)에서 메모리 블록을 선택하여 인에이블 시키고, 프로그램이나 데이터 독출 동작을 위한 동작 전압이 제공되는 글로벌 라인들을 인에이블된 메모리 블록에 연결한다.
전압 제공부(340)는 프로그램이나 데이터 독출을 위한 동작 전압을 제공한다.
그리고 제어부(350)는 불휘발성 메모리 소자(300)에 처음으로 프로그램 이 진행되는 동안 제 1 검증전압(PV1)에 대해 프로그램 패스가 될 때까지 입력되는 프로그램 펄스의 개수를 카운팅하여 그 정보를 저장하고, 이후의 소거/쓰기 사이클이 진행됨에 따라 제 1 검증전압(PV1)에 대해 프로그램 패스가 되는 프로그램 펄스 개수를 저장된 프로그램 펄스 개수와 비교하여 프로그램 전압 시작전압(Vpgm_start)을 결정한다.
도 3b는 도 3a의 제어부를 나타낸다.
도 3b를 참조하면, 본 발명의 실시 예에 따른 불휘발성 메모리 소자(300)의 제어부(350)는 카운터(351), 비교기(352), 및 먹스(353)를 포함한다.
카운터(351)는 프로그램 펄스가 인가되는 개수를 카운팅하고, 비교기(352)는 테스트를 걸쳐서 미리 저장되는 제 1 프로그램 펄스 개수(CAM_PGMSTEP)와 현재 카운팅된 제 2 프로그램 펄스의 개수를 비교하여 제 1 플래그 신호(Start_Flag)로 출력하고, 먹스(353)는 제 1 플래그 신호(Start_Flag)에 따라 두개 이상으로 입력되는 전압(Vpgm_start1, Vpgm_start2) 중에서 하나를 선택하여 프로그램 시작전 압(Vpgm_start)으로 출력한다.
상기 제 1 프로그램 펄스 개수(CAM_PGMSTEP)는 불휘발성 메모리 소자(300)가 최초로 사용될 때 테스트를 통해서 카운팅되어 캠셀에 저장되는 정보이다.
상기 먹스(353)에 입력되는 전압으로는 제 1 프로그램 시작전압(Vpgm_start1)과 제 2 프로그램 시작전압(Vpgm_start2)이다. 제 1 프로그램 시작전압(Vpgm_start1)은 최초에 불휘발성 메모리 소자에 프로그램이 진행될 때 적용되는 시작전압이고, 제 2 프로그램 시작 전압(Vpgm_start2)은 설정된 횟수의 소거/쓰기 사이클이 진행된 이후에 메모리 셀의 문턱전압이 높아져 있을 때 적용하기 위한 시작전압이다. 제 1 프로그램 시작전압(Vpgm_start1)은 제 2 프로그램 시작 전압(Vpgm_start2)보다 높은 전압이고, 제 1 및 제 2 프로그램 시작전압(Vpgm_start1, Vpgm_start2)에 대한 정보는 캠셀에 저장되어 있다.
또한 먹스(353)는 프로그램 시작전압(Vpgm_start)이 출력된 이후에는, 파워가 오프되었다가 다시 온 되기 전에는 프로그램 펄스 비교를 하지 않도록 하기 위해 프로그램 시작 전압(Vpgm_start)이 설정되었음을 나타내는 제 2 플래그 신호(Out_Flag)를 출력한다.
제 2 플래그 신호(Out_Flag)는 시스템 내부에서 어느 정도 지연되어 카운터(351) 및 비교기(352)로 전송한다. 상기의 지연시간은 불휘발성 메모리 소자(300)에 따라 다를 수 있으며, 지연되어 카운터(351) 및 비교기(352)에 입력되어도 다음번 동작에 영향을 주지 않는다.
제 2 플래그 신호(Out_Flag)를 입력받은 카운터(351)와 비교기(352)는 이후 부터는 펄스 카운트나 비교 동작을 수행하지 않는다. 따라서 다시 파워가 오프되었다가 온이 되기 전까지는 이미 설정된 프로그램 시작전압(Vpgm_start)이 그대로 사용된다.
상기한 제어부(350)에 의해서 프로그램 시작전압(Vpgm_start)이 변경되는 과정을 좀 더 상세히 설명하면 다음과 같다.
도 4는 불휘발성 메모리 소자의 소거/쓰기 사이클 진행에 따른 문턱전압 분포 변경을 나타낸다.
도 4를 참조하면, 제 1 문턱전압 분포(410)로 프로그램되는 메모리 셀들은 프로그램과 소거가 반복되어 소거/쓰기 사이클이 커지면 제 2 문턱전압 분포(420)와 같이 오버 프로그램이 될 수 있다. 따라서 프로그램을 시작할 때의 프로그램 시작전압(Vpgm_start)을 높게 설정한 후 고정하면 소거/쓰기 사이클이 늘어나면서 메모리 셀의 문턱전압이 높아져 오버 프로그램이 된다.
이를 위해서 본 발명은 다음과 같이 프로그램 시작전압(Vpgm_start)을 변경한다.
도 5는 본 발명의 실시 예에 따른 초기 프로그램 펄스의 개수를 저장하는 동작을 설명하기 위한 순서도이다.
도 5는 본 발명의 실시 예에 따른 불휘발성 메모리 소자(300)의 초기 테스트의 동작에서 제 1 검증전압(PV1)에 대해 검증 패스가 되는 펄스의 개수를 캠셀에 저장하기 위한 동작을 나타낸다. 이때 2비트 데이터를 저장할 수 있는 멀티 레벨 셀로 상기 불휘발성 메모리 소자(300)가 구성되는 경우, LSB(Least Significant Bit) 페이지 프로그램은 완료된 후, MSB(Most Significant Bit) 프로그램 진행시에 제 1 내지 제 3 검증전압(PV1 내지 PV3)을 이용한 제 1 내지 제 3 검증을 수행한다.
이때, 본 발명의 실시 예에서는 제 1 검증전압(PV1)에 의한 제 1 검증이 패스될 때까지 인가되는 프로그램 펄스의 개수를 카운팅하여 저장한다.
도 5를 참조하면, 테스트가 시작되면(S501), 프로그램 명령어와, 프로그램할 어드레스 및 데이터가 입력되고 실행명령이 최종적으로 입력된다(S501 내지 S509). 상기 명령어와 어드레스, 데이터 및 실행명령의 입력은 테스트 동작 중에 외부에서 입력하지 않고 테스트관련 장치에서 자동으로 입력되도록 하는 것도 가능하다.
한편, 실행 명령에 의해서, 프로그램이 실행된다(S511). 엄밀히 말하면 MSB 페이지 프로그램이 진행되는 것이고, 디폴트(Default)로 설정되는 프로그램 시작전압(Vpgm_start)로부터 프로그램 전압이 시작된다.
상기 디폴트로 설정되는 프로그램 시작전압은 불휘발성 메모리 소자(300)의 사용이 시작되면서 소거/쓰기 사이클이 진행되지 않았을 때 정상적으로 프로그램이 시작되게 하는 전압으로, 본 발명의 실시 예에서는 15V 정도라고 가정한다. 그리고 상기의 디폴트 프로그램 시작 전압인 15V가 상기 도 3b의 설명에서는 제 1 프로그램 시작전압(Vpgm_start1)으로 설정된다.
프로그램이 실행되면, 15V의 시작전압부터 프로그램 전압이 인가된다. 첫 번째 프로그램 펄스에 대한 프로그램 실행이후에는 제 1 검증이 수행된다. 그리고 제 1 검증에서 패스가 되었는지를 판단한다(S513).
만약 제 1 검증에서 패스가 되었다면, 1번의 프로그램 펄스가 인가된 상태이므로 '1'이라는 카운팅 정보가 저장된다(S517). 그러나 제 1 검증에서 패스가 되지 않았다면, 프로그램 펄스 카운팅이 되고(S515), 제 2 및 제 3 검증이 수행되어 패스 여부를 확인한다(S459, S451).
상기 제 2 및 제 3 검증은 처음 프로그램 펄스부터 수행하거나, 설정된 프로그램 펄스가 진행된 이후부터 수행할 수 있다.
본 발명의 실시 예에서는 7번째 프로그램 펄스에 의한 프로그램이 진행된 후, 제 1 검증이 패스되었다고 가정한다. 따라서 카운팅 정보는 '7'이 된다.
그리고 상기 카운팅 정보는 캠셀에 저장된다.
캠셀은 불휘발성 메모리 소자(300)가 동작하기 위해 필요한 옵션 정보와, 동작 전압 정보 등을 저장하고 있다. 본 발명의 실시 예에서는 캠셀에 제 1 프로그램 시작전압(Vpgm_start1)과, 제 2 프로그램 시작전압(Vpgm_start2)이 저장되어 있으며, 도 5의 테스트를 거쳐 제 1 검증이 패스되는 프로그램 펄스의 개수가 '7'로 저장된다.
이후에 불휘발성 메모리 소자(300)가 실제로 사용될 때는 전원이 입력되어 구동을 시작할 때마다, 제 1 검증이 패스되는 프로그램 펄스의 개수를 확인하고, 미리 저장된 '7'과 비교하여 제 1 또는 제 2 프로그램 시작전압(Vpgm_start1, Vpgm_start2)을 선택하여 적용하게 한다.
도 6a는 본 발명의 실시 예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 6a를 참조하면, 본 발명의 실시 예에 따른 불휘발성 메모리 소자(300)에 전원이 입력되면, 초기화를 수행하는 한편 캠셀에 저장된 옵션 정보 데이터를 로딩한다(S601).
그리고 프로그램 명령과, 어드레스 정보, 프로그램할 데이터 및 실행 명령이 입력되면(S603 내지 S609), 입력된 프로그램 명령이 전원이 입력된 후 처음으로 입력된 프로그램 명령인지를 확인한다(S611).
만약 전원이 입력된 후, 처음으로 입력되는 프로그램 명령이라면 프로그램을 수행한 후(S613), 제 1 검증을 수행하고 프로그램 펄스의 카운팅을 한다(S615, S617).
그리고 제 1 검증에 패스되면(S615), 지금까지 카운팅한 프로그램 펄스의 수를 상기 도 5에서 설명했던 캠셀에 저장해 두었던 펄스의 수와 비교한다(S619). 상기의 도 3b에서는 캠셀에 저장된 프로그램의 펄스의 수를 제 1 프로그램 펄스 개수(CAM_PGMSTEP)라 하고, 현재까지 카운팅된 프로그램 펄스의 수를 제 2 프로그램 펄스 개수로 하였다.
상기의 비교는 도 3b에 설명한 제어부(350)에서 수행한다.
카운터(351)가 프로그램 펄스의 수를 카운팅하고, 제 1 검증에 패스가 되면, 지금까지 카운팅한 제 2 프로그램 펄스 개수를 비교기(352)로 전달한다.
또한, 비교기(352)에는 앞서 단계 S601에서 초기화과정에 로딩된 캠셀에 저장된 제 1 프로그램 펄스 개수(CAM_PGMSTEP)와 제 2 프로그램 펄스 개수를 비교한다. 비교기(352)는 제 1 프로그램 펄스 개수(CAM_PGMSTEP)가 제 2 프로그램 펄스 개수보다 작으면 제 1 플래그 신호(Start_Flag)를 로우 레벨로 출력하고, 제 1 프로그램 펄스 개수(CAM_PGMSTEP)가 제 2 프로그램 펄스 개수보다 크면 제 1 플래그 신호(Start_Flag)는 하이 레벨로 출력된다.
먹스(353)는 제 1 플래그 신호(Start_Flag)가 로우 레벨로 입력되면 제 1 프로그램 시작전압(Vpgm_start1)을 프로그램 시작전압(Vpgm_start)으로 출력한다.
또한 먹스(353)는 제 1 플래그 신호(Start_Flag)가 하이 레벨로 입력되면 제 2 프로그램 시작전압(Vpgm_start2)을 프로그램 시작전압(Vpgm_start)으로 출력한다.
그리고 먹스(353)는 프로그램 시작전압(Vpgm_start)을 출력하면서 제 2 플래그 신호(Out_Flag)를 출력한다.
상기 제 2 플래그 신호(Out_Flag)에 의해서 카운터(351)와 비교기(352)의 동작이 중단된다.
이때, 도 6a에서 만약 제 1 프로그램 펄스 개수(CAM_PGMSTEP)가 제 2 프로그램 펄스 개수보다 작다면(S621), 소거/쓰기 사이클이 적은 숫자임을 의미한다. 소거/쓰기 사이클이 적은 것은 메모리 셀 어레이(310)에 프로그램과 소거가 많이 반복되지 않았음을 의미한다. 따라서 메모리 셀의 문턱전압이 오버 프로그램이 발생할 정도로 높아지지 않은 상태라 판단할 수 있다. 따라서 제 1 프로그램 시작전압(Vpgm_start)이 프로그램 시작전압(Vpgm_start)로 출력되는데, 이미 제 1 프로그램 시작전압(Vpgm_start)이 프로그램 시작전압으로 설정된 상태이다.
그리고 제 2 및 제 3 검증을 수행하여(S625, S627) 프로그램을 완료한다.
그러나 제 1 프로그램 펄스 개수(CAM_PGMSTEP)가 제 2 프로그램 펄스 개수보다 크다면, 소거/쓰기 사이클이 크다는 것을 의미한다. 소거/쓰기 사이클이 크다는 것은, 메모리 셀 어레이(310)가 프로그램과 소거 동작을 많이 반복했음을 의미한다. 따라서 메모리 셀의 문턱전압이 높아져 있어서 기존의 프로그램 시작전압으로 프로그램을 수행하면 메모리 셀이 오버 프로그램될 수 있다.
따라서 제 1 프로그램 시작전압(Vpgm_start1)에서 제 2 프로그램 시작전압(Vpgm_start2)로 프로그램 시작전압(Vpgm_start)이 변경 설정된다(S623).
또한 프로그램 완료를 위해 제 2 및 제 3 검증도 수행되고, 제 1 내지 제 3 검증이 모두 패스되면 프로그램은 완료된다.
상기의 단계S623에 의해서 프로그램 시작전압(Vpgm_start)이 변경 설정된 이후에 프로그램 명령이 입력되면 단계S611에 의해서 전원이 입력된 후의 첫 번째 프로그램 명령이 아닌 것으로 판단된다.
따라서 단계S630의 프로그램 수행과정이 수행된다.
도 6b는 도 6a의 단계S630의 프로그램 과정을 설명하기 위한 순서도이다.
도 6b를 참조하면, 도 6a의 단계S611에서 전원이 입력된 후 처음으로 입력된 프로그램 명령이 아니라면, 설정된 프로그램 시작전압(Vpgm_start)을 확인하고(S631), 확인된 프로그램 시작전압(Vpgm_start)을 이용해서 프로그램과 제 1 내지 제 3 검증을 수행한다(S633 내지 S639).
제어부(350)는 소거/쓰기 사이클이 커져서 메모리 셀에 문턱전압이 높아지면 제어부(350)에서는 제 1 프로그램 시작전압(Vpgm_start1)에서 제 2 프로그램 시작 전압(Vpgm_start2)로 프로그램 시작전압(Vpgm_start)을 변경한다.
도 7은 본 발명의 실시 예에 따라 소거/쓰기 사이클이 적을 때 프로그램 펄스에 따라 인가되는 프로그램 전압 레벨을 나타낸다.
도 7을 참조하면, 처음에 소거/쓰기 사이클이 크지 않은 상태에서는 제 1 프로그램 전압(Vpgm_start1)을 프로그램 시작전압(Vpgm_start)으로 설정하여 프로그램전압을 인가한다. 따라서 처음부터 앞으로 소거/쓰기 사이클이 커질 때 오버 프로그램이 발생할 것을 예상하여 블라인드 프로그램 펄스를 인가하지 않아도 되기 때문에 프로그램 시간을 단축할 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
도 1은 불휘발성 메모리 소자의 프로그램 동작을 설명하기 위한 순서도이다.
도 2는 프로그램 펄스에 따라 선택된 워드라인에 인가되는 전압 레벨을 나타낸다.
도 3a는 본 발명의 실시 예에 따른 불휘발성 메모리 소자를 나타낸다.
도 3b는 도 3a의 제어부를 나타낸다.
도 4는 불휘발성 메모리 소자의 소거/쓰기 사이클 진행에 따른 문턱전압 분포 변경을 나타낸다.
도 5는 본 발명의 실시 예에 따른 초기 프로그램 펄스의 개수를 저장하는 동작을 설명하기 위한 순서도이다.
도 6a는 본 발명의 실시 예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 6b는 도 6a의 단계S630의 프로그램 과정을 설명하기 위한 순서도이다.
도 7은 본 발명의 실시 예에 따라 소거/쓰기 사이클이 적을 때 프로그램 펄스에 따라 인가되는 프로그램 전압 레벨을 나타낸다.
*도면의 주요 부분의 간단한 설명*
310 : 메모리 셀 어레이 320 : 페이지 버퍼부
330 : X 디코더 340 : 전압 제공부
350 : 제어부 351 : 카운터
352 : 비교기 353 : 먹스

Claims (10)

  1. 비트라인들과 워드라인들에 연결되어 데이터를 저장하기 위한 제 1 메모리 셀 그룹과, 제 1 및 제 2 프로그램 시작전압을 포함하는 옵션정보를 저장하는 제 2 메모리 셀 그룹을 포함하는 메모리 셀 어레이;
    상기 비트라인들 중 하나 이상의 비트라인에 연결되고, 제 1 또는 제 2 메모리 셀 그룹에 포함되는 상기 메모리 셀들에 저장할 데이터를 임시 저장하거나, 상기 메모리 셀들에 저장된 데이터를 독출 하여 저장하기 위한 페이지 버퍼들을 포함하는 페이지 버퍼부; 및
    전원이 입력되고 최초로 수행되는 프로그램 동작시, 제 1 검증전압에 의해 프로그램 패스가 되기까지의 프로그램 펄스의 개수를 카운팅하고 상기 옵션정보에 포함되는 제 1 프로그램 펄스 개수와 상기 카운팅된 프로그램 펄스 개수를 비교하고, 비교결과에 따라 상기 제 1 또는 제 2 프로그램 시작전압중 어느 하나를 선택하여 시작전압으로 결정한 후, 전원이 오프될 때까지 상기 시작전압을 이용하여 프로그램을 수행하도록 제어하는 제어부
    를 포함하는 불휘발성 메모리 소자.
  2. 제 1항에 있어서,
    상기 제어부는,
    상기 제 1 검증전압에 의한 프로그램이 패스될 때까지 프로그램 펄스의 개수를 카운팅하는 카운터;
    상기 카운터가 카운팅한 프로그램 펄스의 개수와, 상기 제 1 프로그램 펄스 개수를 비교하고, 그 비교결과에 따른 제 1 플래그신호를 출력하는 비교기; 및
    상기 제 1 플래그 신호에 따라서 상기 제 1 및 제 2 프로그램 시작전압 중 하나를 상기 시작전압으로 설정하여 출력하고, 상기 시작전압을 설정함에 따라 제 2 플래그 신호를 출력하는 먹스
    를 포함하는 불휘발성 메모리 소자.
  3. 제 2항에 있어서,
    상기 카운터 및 상기 비교기는 상기 제 2 플래그 신호에 의해서 동작이 중단되는 것을 특징으로 하는 불휘발성 메모리 소자.
  4. 제 1항에 있어서,
    상기 제 1 프로그램 시작전압은 최초로 동작을 시작하면서부터 프로그램 동작에 적용되도록 하는 디폴트 프로그램 시작 전압인 것을 특징으로 하는 불휘발성 메모리 소자.
  5. 제 4항에 있어서,
    상기 제어부는,
    상기 제 1 프로그램 펄스 개수보다 상기 카운팅된 프로그램 펄스의 개수가 작으면 상기 제 1 프로그램 시작전압에서 상기 제 2 프로그램 시작전압으로 상기 시작전압을 변경하는 것을 특징으로 하는 불휘발성 메모리 소자.
  6. 제 5항에 있어서,
    상기 제 1 프로그램 시작전압은 상기 제 2 프로그램 시작전압보다 높은 전압 레벨인 것을 특징으로 하는 불휘발성 메모리 소자.
  7. 테스트 결과에 따라 제 1 프로그램 시작전압부터 프로그램 전압을 인가하여 프로그램을 수행한 결과, 제 1 검증전압에 대한 프로그램 패스가 되는 제 1 프로그램 펄스 개수 및 상기 제 1 프로그램 시작전압과 제 2 프로그램 시작전압을 옵션정보로 저장하는 불휘발성 메모리 소자가 제공되는 단계;
    상기 불휘발성 메모리 소자에 전원이 입력되고, 상기 옵션정보를 로딩하는 단계;
    입력되는 프로그램 명령이 상기 전원이 입력된 후 최초로 입력되는 프로그램 명령인지 여부를 판단하고, 상기 프로그램 명령이 상기 전원이 입력된 후 최초로 입력되는 프로그램 명령인 경우, 상기 제 1 프로그램 시작전압부터 상승하는 프로그램 전압을 인가하여 프로그램을 진행하고, 상기 제 1 검증전압에 대해 프로그램 패스가 되는 프로그램 펄스의 개수를 카운팅하는 단계; 및
    상기 카운팅된 프로그램 펄스의 개수와 상기 제 1 프로그램 펄스 개수를 비교하고, 그 결과에 따라 상기 제 1 또는 제 2 프로그램 시작전압을 프로그램 시작전압으로 설정하는 단계
    를 포함하는 불휘발성 메모리 소자의 동작 방법.
  8. 제 7항에 있어서,
    상기 입력되는 프로그램 명령이 상기 전원이 입력된 후 최초로 입력되는 프로그램 명령인지 여부를 판단한 결과, 상기 프로그램 명령이 상기 전원이 입력된 후 최초로 입력되는 프로그램 명령이 아닌 경우, 상기 설정된 프로그램 시작전압부터 상승되는 프로그램 전압을 인가하여 프로그램을 수행하고, 프로그램 펄스 카운팅은 수행하지 않는 단계를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 소자의 동작 방법.
  9. 제 7항에 있어서,
    상기 제 1 프로그램 시작전압은 상기 제 2 프로그램 시작전압보다 높은 전압 레벨인 것을 특징으로 하는 불휘발성 메모리 소자의 동작 방법.
  10. 제 9항에 있어서,
    상기 카운팅된 펄스의 개수가 상기 제 1 프로그램 펄스 개수보다 작으면, 상기 제 2 프로그램 시작 전압을 상기 프로그램 시작전압으로 설정하는 것을 특징으로 하는 불휘발성 메모리 소자의 동작 방법.
KR1020090058494A 2009-05-29 2009-06-29 불휘발성 메모리 소자 및 그 프로그램 방법 KR101046839B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/787,769 US8184483B2 (en) 2009-05-29 2010-05-26 Nonvolatile memory device and method of programming the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20090047830 2009-05-29
KR1020090047830 2009-05-29

Publications (2)

Publication Number Publication Date
KR20100129105A KR20100129105A (ko) 2010-12-08
KR101046839B1 true KR101046839B1 (ko) 2011-07-06

Family

ID=43505884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090058494A KR101046839B1 (ko) 2009-05-29 2009-06-29 불휘발성 메모리 소자 및 그 프로그램 방법

Country Status (1)

Country Link
KR (1) KR101046839B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11600344B2 (en) 2020-04-08 2023-03-07 SK Hynix Inc. Memory device and method of operating the memory device including program verify operation with program voltage adjustment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102090589B1 (ko) * 2013-01-14 2020-03-18 삼성전자주식회사 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070002411A (ko) * 2005-06-30 2007-01-05 주식회사 하이닉스반도체 프로그램 속도를 향상시키는 ispp 방식을 이용한플래시 메모리 장치의 프로그램 방법
KR20090015276A (ko) * 2007-08-08 2009-02-12 주식회사 하이닉스반도체 플래시 메모리 소자 및 그 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070002411A (ko) * 2005-06-30 2007-01-05 주식회사 하이닉스반도체 프로그램 속도를 향상시키는 ispp 방식을 이용한플래시 메모리 장치의 프로그램 방법
KR20090015276A (ko) * 2007-08-08 2009-02-12 주식회사 하이닉스반도체 플래시 메모리 소자 및 그 동작 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11600344B2 (en) 2020-04-08 2023-03-07 SK Hynix Inc. Memory device and method of operating the memory device including program verify operation with program voltage adjustment

Also Published As

Publication number Publication date
KR20100129105A (ko) 2010-12-08

Similar Documents

Publication Publication Date Title
US8184483B2 (en) Nonvolatile memory device and method of programming the same
JP5214896B2 (ja) プログラム速度を向上させることができる不揮発性メモリ装置及びそれのプログラム方法
EP2126923B1 (en) Non-volatile memory with dynamic multi-mode operation
US8159882B2 (en) Nonvolatile semiconductor memory device and memory system
JP3672435B2 (ja) 不揮発性メモリ装置
US8004898B2 (en) Nonvolatile memory device, program method thereof, and memory system including the same
US8050101B2 (en) Nonvolatile memory devices having erased-state verify capability and methods of operating same
CN1905069B (zh) 将多级单元快闪存储设备编程的方法和装置
US20120173920A1 (en) Memory system and method of operating the same
US7782667B2 (en) Method of operating a flash memory device
KR102031742B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US9312024B2 (en) Flash memory device having efficient refresh operation
JP2009301616A (ja) 不揮発性半導体記憶装置
US9524782B2 (en) Nonvolatile memory device and method of writing data in nonvolatile memory device
US8274840B2 (en) Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same
JP2015176627A (ja) 半導体記憶装置
JP2009146474A (ja) 不揮発性半導体記憶装置
JP2008016112A (ja) 半導体記憶装置
TW201727644A (zh) 用於快閃記憶體之增量階躍脈衝編程之自適應方案
US7684239B2 (en) Flash memory device for over-sampling read and interfacing method thereof
JP2008262623A (ja) 不揮発性半導体記憶装置
KR102019567B1 (ko) 반도체 기억장치 및 이의 동작 설정 방법
JP2009048750A (ja) 不揮発性半導体記憶装置
KR101046839B1 (ko) 불휘발성 메모리 소자 및 그 프로그램 방법
US8000154B2 (en) Non-volatile memory device and method of controlling a bulk voltage 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
LAPS Lapse due to unpaid annual fee