KR101212739B1 - 비휘발성 메모리장치 및 이의 동작방법 - Google Patents

비휘발성 메모리장치 및 이의 동작방법 Download PDF

Info

Publication number
KR101212739B1
KR101212739B1 KR1020100131395A KR20100131395A KR101212739B1 KR 101212739 B1 KR101212739 B1 KR 101212739B1 KR 1020100131395 A KR1020100131395 A KR 1020100131395A KR 20100131395 A KR20100131395 A KR 20100131395A KR 101212739 B1 KR101212739 B1 KR 101212739B1
Authority
KR
South Korea
Prior art keywords
program
programmed
data
cache
nonvolatile memory
Prior art date
Application number
KR1020100131395A
Other languages
English (en)
Other versions
KR20120070012A (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 KR1020100131395A priority Critical patent/KR101212739B1/ko
Priority to US13/291,359 priority patent/US8861278B2/en
Priority to TW100143785A priority patent/TWI536385B/zh
Priority to CN201110426284.7A priority patent/CN102568569B/zh
Publication of KR20120070012A publication Critical patent/KR20120070012A/ko
Application granted granted Critical
Publication of KR101212739B1 publication Critical patent/KR101212739B1/ko

Links

Images

Classifications

    • 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
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

비휘발성 메모리의 캐시 프로그램 방법은, 현재의 프로그램 데이터가 메모리셀 어레이에 프로그램되는 단계; 상기 프로그램되는 단계의 진행 정도를 확인하는 단계; 및 상기 프로그램되는 단계가 기설정 정도 이상 진행된 경우에 다음의 프로그램을 위한 데이터를 입력받는 단계를 포함한다.

Description

비휘발성 메모리장치 및 이의 동작방법{NON-VOLATILE MEMORY DEVICE AND CACHE PROGRAM METHOD OF THE SAME}
본 발명은 비휘발성 메모리장치에 관한 것이며, 특히 비휘발성 메모리의 캐시 프로그램 동작에 관한 것이다.
메모리소자는 전원공급 차단시 데이터의 유지 여부에 따라 휘발성 메모리소자와 비휘발성 메모리소자로 나누어진다. 휘발성 메모리소자는 전원공급 차단시 데이터가 소멸되는 메모리소자로서, 디램 및 에스램이 이에 속한다. 비휘발성 메모리소자는 전원공급이 차단되더라도 저장된 데이터가 그대로 유지되는 메모리소자로, 플래쉬 메모리소자가 이에 속한다.
플래쉬 메모리소자는 프로그램 속도를 높이기 위해 캐시(cache) 프로그램 방법을 사용한다. 캐시 프로그램 방법은 프로그램 동작을 수행하는 동안 다음번 프로그램할 데이터를 입력받아 레지스터(ex, 페이지 버퍼의 사용하지 않는 래치)에 미리 저장하고, 프로그램이 완료된 후 미리 레지스터에 저장되어 있던 데이터를 연속하여 프로그램하는 방법이다.
캐시 프로그램 동작은 프로그램 동작시에 다음의 프로그램 동작을 위한 데이터를 미리 입력받아야 하므로, 캐시 프로그램 동작으로 인하여 피크 전류(peak current)가 증가하게 되며, 피크 전류가 비휘발성 메모리를 사용하는 시스템이 공급가능한 전류량을 넘어서면 동작의 불안정 및 불량을 유발할 가능성이 있다. 따라서 캐시 프로그램 동작에 의한 피크 전류의 증가를 방지할 수 있는 기술이 요구된다.
본 발명은 상기한 종래기술의 문제점을 해결하기 위해 제안된 것으로, 캐쉬 프로그램 동작으로 인한 피크 전류의 증가를 방지하고자 하는데 그 목적이 있다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 비휘발성 메모리의 캐시 프로그램 방법은, 현재의 프로그램 데이터가 메모리셀 어레이에 프로그램되는 단계; 상기 프로그램되는 단계의 진행 정도를 확인하는 단계; 및 상기 프로그램되는 단계가 기설정 정도 이상 진행된 경우에 다음의 프로그램을 위한 데이터를 입력받는 단계를 포함한다.
상기 프로그램되는 단계가 기설정 정도 이상 진행되었는지의 확인은 (1)선택된 워드라인에 프로그램 펄스가 인가된 회수를 확인하는 방법, (2)프로그램 페일 셀의 개수를 확인하는 방법, (3)프로그램 완료된 셀의 개수를 확인하는 방법 중 어느 하나의 방법으로 이루어질 수 있다.
또한, 본 발명의 일실시예에 따른 비휘발성 메모리장치는, 다수의 메모리 셀을 포함하는 셀어레이; 현재의 프로그램 데이터와 다음의 프로그램 데이터를 저장하기 위한 제1레지스터와 제2레지스터; 및 상기 현재의 프로그램 데이터가 상기 셀어레이로 프로그램되는 동작이 기설정 정도 이상 진행된 이후에 상기 다음의 프로그램 데이터가 저장되도록 하는 제어부를 포함한다.
상기 제어부는, (1)선택된 워드라인에 프로그램 프로그램 펄스가 인가된 회수를 확인하는 방법, (2)프로그램 페일 셀의 개수를 확인하는 방법, (3)프로그램 완료된 셀의 개수를 확인하는 방법 중 어느 하나의 방법으로 상기 프로그램되는 동작이 기설정 정도 이상 진행되었는지를 확인할 수 있다.
본 발명에 따르면, 현재 수행되고 있는 프로그램 동작이 어느 정도 진행된 이후에 다음의 프로그램을 위한 데이터가 입력된다. 따라서 프로그램 동작 중 전류가 많이 소모되지 않는 구간에 다음의 프로그램의 데이터가 입력되며, 그 결과 캐시 프로그램 동작에 의한 피크 전류의 증가를 방지할 수 있다.
도 1은 비휘발성 메모리의 프로그램 동작 중 프로그램 펄스가 인가되는 프로그램 펄스(program pulse) 구간과 프로그램에 대한 베리파이 동작이 이루어지는 프로그램 베리파이(program verify) 동작 구간에 비트라인(BL)의 전위 변위를 나타낸 도면.
도 2는 프로그램 동작시 프로그램 펄스가 인가될 때마다 프로그램되는 메모리 셀의 개수 및 피크 전류의 변화를 나타낸 그래프.
도 3은 본 발명의 일실시예에 따른 비휘발성 메모리의 캐시 프로그램 방법을 도시한 도면.
도 4는 도 3의 제1상세 실시예 도면.
도 5는 도 3의 제2상세 실시예 도면.
도 6는 도 3의 제3상세 실시예 도면.
도 7는 도 3의 제4상세 실시예 도면.
도 8은 MLC 방식의 LSB 프로그램에서의 문턱전압(A,B) 분포와 MSB 프로그램에서의 문턱전압(C,D,E,F)의 분포를 나타낸 도면.
도 9는 본 발명의 일실시예에 따른 비휘발성 메모리장치의 구성도.
도 10은 본 발명에 따른 비휘발성 메모리장치의 동작을 도시한 타이밍도.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다.
도 1은 비휘발성 메모리의 프로그램 동작 중 프로그램 펄스가 인가되는 프로그램 펄스(program pulse) 구간과 프로그램에 대한 베리파이 동작이 이루어지는 프로그램 베리파이(program verify) 동작 구간에 비트라인(BL)의 전위 변위를 나타낸 도면이다.
비휘발성 메모리의 프로그램 동작은 크게 프로그램 펄스 구간(101)과 프로그램 베리파이 구간(102)으로 나누어진다. 프로그램 펄스 구간 동안에 피크 전류는 비트라인 로딩(비트라인 셋업&리커버리) 구간(t1) 및 펌핑 구간(도면에 미도시)에서 발생한다. 비트라인 로딩 구간(t1)의 피크 전류는 비트라인 로딩 구간(t1)에서의 비트라인의 캐패시턴스(CBL1: 프로그램 펄스 인가시 비트라인 간의 커플링에 의한 캐패시턴스+비트라인 본래의 캐패시턴스), 비트라인 로딩 구간(t1)에서 비트라인의 전압 변동량(ΔVBL1)을 알면 I=C*ΔV/t의 식에 의해 알 수 있다. 즉, 비트라인 로딩 구간(101)의 피크 전류(I1)는 다음의 수학식 1과 같다.
[수학식 1]
I1=CBL1*ΔVBL1/t1
또한, 동일한 원리로 프로그램 베리파이 구간(102)에서의 피크 전류(I2)는 다음의 수학식 2와 같다.
[수학식 1]
I2=CBL2*ΔVBL2/t2
여기서 CBL2는 (프리차지 동작(t2)시 비트라인간의 커플링에 의한 캐패시턴스+비트라인 본래의 캐패시턴스)이며, ΔVBL2은 프리차지 동작(t2)시 비트라인의 전압 변동량이다.
도 1을 통해 확인할 수 있는 바와 같이, 비트라인 로딩 구간(t1)에서의 비트라인 전압 변동량(ΔVBL1)이 프리차지 동작 구간(t2)에서의 비트라인 전압 변동량(ΔVBL2)보다 크기에, 비휘발성 메모리장치의 프로그램 동작에서 피크 전류는 대부분 비트라인 로딩 구간(t1)에서 발생한다.
비트라인 로딩 구간(t1)의 비트라인 캐패시턴스(CBL1)는 프로그램 대상 메모리 셀의 개수와 밀접한 관계가 있다. 프로그램 동작 초기에는 많은 개수의 메모리 셀이 프로그램되어야 하기에 비트라인 캐패시턴스(CBL1) 값이 크지만 프로그램 동작이 진행될수록 프로그램 대상 메모리 셀의 개수가 줄어들기에, 즉 인히빗(inhibit) 셀들이 늘어나기에, 비트라인 캐패시턴스(CBL1) 값이 감소하기 때문이다.
도 2는 프로그램 동작시 프로그램 펄스가 인가될 때마다 프로그램되는 메모리 셀의 개수 및 피크 전류의 변화를 나타낸 그래프이다.
도 2의 상단을 참조하면, 처음 프로그램 펄스가 인가되면 해당 프로그램 펄스에 의해 적은 개수의 메모리 셀이 프로그램되지만, 이후에는 프로그램 펄스의 인가시마다 해당 프로그램 펄스에 의해 프로그램되는 메모리 셀의 개수가 증가한다. 또한, 프로그램 동작이 한참 진행되고 난 이후에는 프로그램 펄스의 인가시마다 프로그램되는 메모리 셀의 개수가 점차로 감소한다. 즉, 프로그램되는 메모리 셀의 개수는 프로그램 펄스가 인가될 때마다 점차로 증가하다가 다시 감소하는 가우시안(gausian) 분포로 묘사될 수 있다.
도 2의 하단을 참조하면, 프로그램 동작의 초기에는(프로그램 펄스가 적은 회수로 인가되었을 때에는) 프로그램되어야 할 메모리 셀의 개수가 많기에 피크 전류가 매우 크다. 그러나 프로그램 동작이 진행될 수록 피크 전류는 점차 줄어든다. 특히, 프로그램되는 메모리 셀의 개수가 최대인 지점(201)을 기준으로 피크 전류는 급격히 감소하게 된다.
앞서 살펴본 바와 같이, 프로그램 동작의 진행 정도에 따라 피크 전류는 점차로 감소한다. 이러한 현상을 이용하여 캐쉬 프로그램 동작시에 다음의 프로그램을 위한 데이터(캐시 데이터)가 입력되는 시점을 제어한다면, 캐쉬 프로그램 동작으로 인하여 피크 전류가 늘어나는 것을 방지할 수 있는데, 이하에서는 이에 대해 알아보기로 한다.
도 3은 본 발명의 일실시예에 따른 비휘발성 메모리의 캐시 프로그램 방법을 도시한 도면이다.
도 3을 참조하면, 먼저 현재의 프로그램 데이터가 메모리셀 어레이에 프로그램하는 단계(S310)가 수행된다.
현재의 프로그램 데이터가 메모리셀 어레이에 프로그램되는 중에, 현재 프로그램 동작이 기설정 정도 이상 진행되었는지 확인하는 단계(S320)가 수행된다. 프로그램 동작(S310)은 프로그램 펄스가 여러 번 인가되는 방식으로 이루어지는데 프로그램 펄스가 인가될 때마다 단계(S320)가 수행될 수도 있으며, 단계(S310)의 수행 중에 일정 주기를 가지고 단계(S320)가 수행될 수도 있다. 단계(S320)에서 프로그램 동작이 기설정 정도 이상 진행되었는지/아닌지를 판단하는 기준은 피크 전류가 충분히 감소하였는지/아닌지를 기준으로 정해진다. 예를 들어, 도 2의 '201'이전 시점에서는 프로그램 동작이 기설정 정도 이하로 진행된 것이고, '201'이후 시점에서는 프로그램 동작이 기설정 정도 이상 진행된 것으로 판단할 수 있다. 프로그램 동작이 기설정 정도 이상 진행되었는지/아닌지에 대한 더욱 상세한 기준에 대해서는 후술하기로 한다.
단계(S320)의 판단결과 아직 프로그램 동작이 기설정 정도 이상 진행되지 않았다고 판단되면, 즉 피크 전류가 충분히 줄어들지 않았다고 판단되면, 현재의 프로그램 데이터를 메모리셀 어레이에 프로그램하는 단계(S310)가 계속 수행된다. 물론, 이 경우에도 단계(S310)의 수행 중에 다시 프로그램 동작이 기설정 정도 이상 진행되었는지를 확인하는 단계(S320)가 주기적으로 수행된다.
단계(S320)의 판단결과 프로그램 동작이 기설정 정도 이상으로 진행되었다고 판단되면, 즉 피크 전류가 충분히 줄어들었다고 판단되면, 다음의 프로그램을 위한 데이터가 입력되며 이와 동시에 현재의 프로그램 동작을 수행하는 단계가 수행된다. 즉, 단계(S330)에서는 현재의 프로그램 동작과 다음의 프로그램을 위한 데이터 입력 동작이 동시에 수행된다. 단계(S330)의 동작이 완료되면, 즉 현재의 프로그램 동작이 완료되고 다음의 프로그램을 위한 데이터의 입력이 완료되면, 단계(S330)에서 입력받은 다음의 프로그램 데이터가 메모리셀 어레이에 프로그램되는 동작이 수행된다(도면에 미도시).
참고로, 단계(S330)에서 다음의 프로그램 데이터가 입력되는 시점은, 비휘발성 메모리장치의 캐시 래디 신호(cache ready signal, 기호는 CACHE RB#)의 활성화 시점을 제어하는 방법으로 이루어질 수 있다. 캐시 래디 신호(CACHE RB#)는 비휘발성 메모리 장치가 메모리 콘트롤러로 전송하는 플래그 신호로, 캐시 래디 신호(CACHE RB#)의 활성화는 비휘발성 메모리장치가 다음의 프로그램 데이터를 받아들일 준비가 되었음을 나타내고, 캐시 래디 신호(CACHE RB#)의 비활성화는 비휘발성 메모리장치가 다음의 프로그램 데이터를 받아들일 준비가 되지 않았음을 나타낸다.
도 4는 도 3의 제1상세 실시예 도면이다.
도 4에 따르면, 도 3의 단계(S320)는 프로그램 펄스의 인가 회수가 기설정 회수(M)를 넘었는지/아닌지를 확인하는 단계(S320_1)로 상세화된다. 프로그램 동작은 선택된 워드라인에 프로그램 펄스가 다수번 인가되면서 이루어지므로, 프로그램 펄스가 몇번 인가되었는지를 확인하면 프로그램 동작이 얼마만큼 진행되었는지를 확인하는 것이 가능하다.
기설정 회수(M)는 프로그램 동작시 소모되는 전류가 상당히 감소되는 지점을 기준으로 설정될 수 있다. 예를 들어, 프로그램 동작시 프로그램 동작이 완료되기까지 프로그램 펄스가 평균적으로 10번 인가되고 프로그램 펄스가 7번 인가된 이후에 프로그램 동작에 의한 소모전류가 감소한다면, 기설정 회수(M)는 7번으로 설정될 수 있다. 이 경우 프로그램 펄스가 7번 인가된 이후에 다음의 프로그램을 위한 데이터가 입력된다.
도 5는 도 3의 제2상세 실시예 도면이다.
도 5에 따르면, 도 3의 단계(S320)는 프로그램 페일 셀의 개수가 기설정 개수(N)를 넘었는지/아닌지를 확인하는 단계(S320_2)로 상세화된다. 프로그램 동작이 진행될수록 프로그램 페일(fail) 셀(프로그램이 완료되지 못한 셀)의 개수가 줄어드므로, 플로그램 페일 셀의 개수를 확인하면 프로그램 동작이 얼마만큼 진행되었는지를 확인하는 것이 가능하다.
기설정 개수(N)는 프로그램 동작시 소모되는 전류가 상당히 줄어드는 지점을 기준으로 설정될 수 있다. 예를 들어, 1페이지(프로그램 동작의 단위)에 4000개의 메모리 셀이 있고 프로그램 페일 셀의 개수가 1000개 이하로 줄어든 이후에 프로그램 동작에 의한 소모전류가 감소한다면, 기설정 개수(N)는 1000으로 설정될 수 있다. 이 경우 프로그램 페일 셀의 개수가 1000개 이하로 감소한 이후에 다음의 프로그램을 위한 데이터가 입력된다.
도 6은 도 3의 제3상세 실시예 도면이다.
도 6에 따르면, 도 3의 단계(S320)는 프로그램 완료된 셀의 개수가 기설정 개수(X)를 넘었는지/아닌지를 확인하는 단계(S320_3)로 상세화된다. 프로그램 동작이 진행될수록 프로그램 완료된 셀의 개수가 늘어나므로, 프로그램 완료된 셀의 개수를 확인하면 프로그램 동작이 얼마만큼 진행되었는지를 확인하는 것이 가능하다.
기설정 개수(X)는 프로그램 동작시 소모되는 전류가 상당히 줄어드는 지점을 기준으로 설정될 수 있다. 예를 들어, 1페이지에 4000개의 메모리 셀이 있고 프로그램 완료 셀의 개수가 3000개 이상으로 늘어난 이후에 프로그램 동작에 의한 소모전류가 감소한다면, 기설정 개수(X)는 3000으로 설정될 수 있다. 이 경우 프로그램 완료 셀의 개수가 3000개 이상으로 늘어난 이후에 다음의 프로그램을 위한 데이터가 입력된다.
도 7은 도 3의 제4상세 실시예 도면인데 도 7의 방법은 MLC 방식의 프로그램 중 MSB프로그램에 적용 가능한 실시예를 도시한다. 그리고, 도 8은 MLC 방식의 LSB 프로그램에서의 문턱전압(A,B) 분포와 MSB 프로그램에서의 문턱전압(C,D,E,F)의 분포를 나타낸다.
도 3 내지 도 6에서 설명한 방식에 의한 캐시 프로그램 방법은 SLC(Single Level Cell) 방식의 프로그램과 MLC(Multi Level Cell) 방식의 프로그램 모두에 적용이 가능하다. 또한, MLC 방식의 프로그램 중 LSB(Least Significant Bit) 프로그램과 MSB(Most Significant Bit) 프로그램 모두에 적용이 가능하다. 즉, 도 3 내지 도 6의 캐시 프로그램 방법은 모든 캐시 프로그램 방법에 적용이 가능하다.
도 7에서는 MLC 방식의 프로그램 중 MSB 프로그램에서 적용이 가능한 캐시 프로그램 방법에 대해 설명하기로 한다.
도 7을 참조하면, 도 3의 단계(S320)는 다수의 MSB프로그램 목표 레벨(D, E, F) 중 적어도 하나의 목표 레벨(D)에 대한 프로그램 동작(MPV1 프로그램 동작)이 완료되었는지/아닌지를 확인하는 단계(S320_4)로 대체된다. MSB프로그램 동작이 진행되면 먼저 MPV1 프로그램 동작이 완료되고, 이후에 MPV2, MPV3 프로그램 동작이 완료된다. 따라서 MPV1 프로그램 동작이 완료되는 경우 프로그램 동작이 어느 정도 이상 진행되었다는 것을 확인하는 것이 가능하다.
도 7에서는 MPV1 프로그램 동작이 완료된 이후에 다음의 프로그램을 위한 데이터가 입력되는 것으로 예시하였지만, 이는 예시일 뿐이며 MPV2 프로그램 동작이 완료된 이후에 다음의 프로그램을 위한 데이터가 입력되도록 설정하는 것도 가능하다.
도 9는 본 발명의 일실시예에 따른 비휘발성 메모리장치의 구성도이다.
도 9에 도시된 바와 같이, 비휘발성 메모리장치는, 다수의 메모리 셀을 포함하는 셀어레이(910); 현재의 프로그램 데이터와 다음의 프로그램 데이터를 저장하기 위한 제1레지스터(920_1)와 제2레지스터(920_2); 현재의 프로그램 데이터가 셀어레이(910)로 프로그램되는 동작이 기설정 정도 이상 진행된 이후에, 다음의 프로그램 데이터가 저장되도록 하는 제어부(930); 데이터를 입/출력하는 IO회로(940); 및 캐시 래디 신호(CACHE RB#)를 출력하는 플래그 출력회로(950)를 포함한다.
제1레지스터(920_1)와 제2레지스터(920_2)는 현재의 프로그램 데이터와 다음의 프로그램 데이터를 저장한다. 제1레지스터(920_1)에 현재의 프로그램 데이터가 저장되어 있으면, 제2레지스터(920_2)에 다음의 프로그램 데이터가 저장된다. 또한, 제2레지스터(920_2)에 현재의 프로그램 데이터가 저장되어 있으면, 제1레지스터(920_1)에 다음의 프로그램 데이터가 저장된다. 즉, 제1레지스터(920_1)와 제2레지스터(920_2) 중 어느 하나의 레지스터에 현재의 프로그램 데이터가 저장되며, 나머지 하나의 레지스터에 다음의 프로그램 데이터가 저장된다.
제어부(930)는 제1레지스터(920_1)와 제2레지스터(920_2) 중 어느 하나의 레지스터(예, 920_1)에 저장되어 있는 현재의 데이터가 셀어레이(910)에 프로그램되는 동작이 기설정 정도 이상 진행되었는지를 확인하고, 프로그램 동작이 기설정 정도 이상 진행되면, 다른 하나의 레지스터(예, 920_2)에 다음의 프로그램 데이터가 저장될 수 있도록 플래그 출력회로(950)로 출력되는 캐시 래디 신호(CACHE RB#)를 활성화한다. 프로그램 동작이 기설정 정도 이상 진행되었는지에 대한 확인은 도 4 내지 도 7에서 설명한 방식으로 이루어질 수 있다.
캐시 래디 신호(CACHE_#)가 활성화되면 IO회로(940)를 통해서 다음의 프로그램을 위한 데이터(캐시 데이터)가 비휘발성 메모리장치로 입력되고, 입력된 데이터가 레지스터(예, 920_2)에 저장된다.
도 10은 본 발명에 따른 비휘발성 메모리장치의 동작을 도시한 타이밍도이다.
도 10을 참조하면, 먼저 현재의 데이터가 셀어레이(910)에 프로그램된다. 프로그램 동작이 어느 정도 진행되면(1002의 지점을 지나면), 캐시 래디 신호(CACHE RB#)가 활성화된다. 그리고 다음의 프로그램 동작을 위한 데이터(캐시 데이터)가 IO회로(940)를 통해 입력되고 레지스터에 저장된다.
도 10의 INTERNAL RB#는 내부 비지(busy) 신호인데, 내부 비지 신호(INTERNAL RB#)가 '로우'인 구간은 비휘발성 메모리장치 내부에서 프로그램 동작이 이루어지고 있음을 나타내며, 내부 비지 신호(INTERNAL RB#)가 '하이'인 구간은 비휘발성 메모리장치 내부에서 프로그램 동작이 이루어지지 않음을 나타낸다.
캐시 래디 신호(CACHE RB#)의 활성화 시점과 내부 비지 신호(INTERNAL RB#)의 활성화 시점의 차이만큼의 시간이 다음의 프로그램 동작을 위한 데이터가 입력되는데 걸리는 시간(data in time)보다 길다면, 캐시 프로그램 동작의 퍼포먼스(performance)에는 아무런 영향을 주기 않으면서도 피크 전류를 감소시킬 수 있다.
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.
910: 셀어레이 920_1, 920_2: 레지스터
930: 제어부 940: IO회로
950: 플래그 출력회로

Claims (13)

  1. 현재의 프로그램 데이터가 메모리셀 어레이에 프로그램되는 단계;
    상기 프로그램되는 단계의 진행 정도를 확인하는 단계; 및
    상기 프로그램되는 단계가 기설정 정도 이상 진행된 경우에 다음의 프로그램을 위한 데이터를 입력받고, 그렇지 않으면 상기 다음의 프로그램을 위한 데이터를 입력받지 않는 단계를 포함하고,
    를 포함하는 비휘발성 메모리의 캐시 프로그램 방법.
  2. 제 1항에 있어서,
    상기 프로그램되는 단계가 기설정 정도 이상 진행되었는지의 확인은
    프로그램 펄스의 인가 회수를 확인하여 이루어지는
    비휘발성 메모리의 캐시 프로그램 방법.
  3. 제 1항에 있어서,
    상기 프로그램되는 단계가 기설정 정도 이상 진행되었는지의 확인은
    프로그램 페일 셀의 개수를 확인하여 이루어지는
    비휘발성 메모리의 캐시 프로그램 방법.
  4. 제 1항에 있어서,
    상기 프로그램되는 단계가 기설정 정도 이상 진행되었는지의 확인은
    프로그램 완료된 셀의 개수를 확인하여 이루어지는
    비휘발성 메모리의 캐시 프로그램 방법.
  5. 제 1항에 있어서,
    상기 프로그램되는 단계의 프로그램 동작은 MSB프로그램 동작이며,
    상기 프로그램되는 단계가 기설정 정도 이상 진행되었는지의 확인은
    다수의 MSB프로그램 목표 레벨 중 적어도 하나의 목표 레벨에 대한 프로그램 동작이 완료되었는지를 확인하여 이루어지는
    비휘발성 메모리의 캐시 프로그램 방법.
  6. 제 1항에 있어서,
    상기 프로그램되는 단계가 기설정 정도 이상 진행된 경우에는
    상기 다음의 프로그램을 위한 데이터가 입력되도록 하기 위하여 캐쉬 레디 신호가 활성화되는
    비휘발성 메모리의 캐시 프로그램 방법.
  7. 제 1항에 있어서,
    상기 다음의 프로그램을 위한 데이터가 입력되는 동안에도 상기 현재의 프로그램 데이터는 프로그램 완료시까지 상기 메모리셀 어레이에 프로그램되는
    비휘발성 메모리의 캐시 프로그램 방법.
  8. 다수의 메모리 셀을 포함하는 셀어레이;
    현재의 프로그램 데이터와 다음의 프로그램 데이터를 저장하기 위한 제1레지스터와 제2레지스터; 및
    상기 현재의 프로그램 데이터가 상기 셀어레이로 프로그램되는 동작이 기설정 정도 이상 진행되면 상기 다음의 프로그램 데이터가 저장되도록 제어하고, 그렇지 않으면 상기 다음의 프로그램 데이터가 저장되지 않도록 제어하는 제어부
    를 포함하는 비휘발성 메모리장치.
  9. 제 8항에 있어서,
    상기 제어부는
    상기 기설정 정도 이상 진행된 이후에 캐시 레디 신호를 활성화하는
    비휘발성 메모리장치.
  10. 제 8항에 있어서,
    상기 제어부는
    프로그램 펄스의 인가 회수를 확인하여 상기 프로그램되는 동작이 기설정 정도 이상 진행되었는지를 확인하는
    비휘발성 메모리장치.
  11. 제 8항에 있어서,
    상기 제어부는
    프로그램 페일 셀의 개수를 확인하여 상기 프로그램되는 동작이 기설정 정도 이상 진행되었는지를 확인하는
    비휘발성 메모리장치.
  12. 제 8항에 있어서,
    상기 제어부는
    프로그램 완료된 셀의 개수를 확인하여 상기 프로그램되는 동작이 기설정 정도 이상 진행되었는지를 확인하는
    비휘발성 메모리장치.
  13. 제 8항에 있어서,
    상기 프로그램되는 동작은 MSB프로그램 동작이며,
    상기 제어부는
    다수의 MSB프로그램 목표 레벨 중 적어도 하나의 목표 레벨에 대한 프로그램 동작이 완료되었는지를 확인하여 상기 프로그램되는 동작이 기설정 정도 이상 진행되었는지를 확인하는
    비휘발성 메모리장치.
KR1020100131395A 2010-12-21 2010-12-21 비휘발성 메모리장치 및 이의 동작방법 KR101212739B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020100131395A KR101212739B1 (ko) 2010-12-21 2010-12-21 비휘발성 메모리장치 및 이의 동작방법
US13/291,359 US8861278B2 (en) 2010-12-21 2011-11-08 Non-volatile memory device and cache program method of the same
TW100143785A TWI536385B (zh) 2010-12-21 2011-11-29 非揮發性記憶體裝置及其快取程式化方法
CN201110426284.7A CN102568569B (zh) 2010-12-21 2011-12-19 非易失性存储器件及其高速缓存编程方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100131395A KR101212739B1 (ko) 2010-12-21 2010-12-21 비휘발성 메모리장치 및 이의 동작방법

Publications (2)

Publication Number Publication Date
KR20120070012A KR20120070012A (ko) 2012-06-29
KR101212739B1 true KR101212739B1 (ko) 2012-12-14

Family

ID=46234219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100131395A KR101212739B1 (ko) 2010-12-21 2010-12-21 비휘발성 메모리장치 및 이의 동작방법

Country Status (4)

Country Link
US (1) US8861278B2 (ko)
KR (1) KR101212739B1 (ko)
CN (1) CN102568569B (ko)
TW (1) TWI536385B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10698819B2 (en) 2017-12-14 2020-06-30 SK Hynix Inc. Memory system and operating method thereof
US10964392B2 (en) 2018-08-27 2021-03-30 SK Hynix Inc. Memory system performing cache program and operating method thereof
US11113202B2 (en) 2019-04-11 2021-09-07 SK Hynix Inc. Operating method forcing the second operation to fail using a scatter-gather buffer and memory system thereof

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3006097A1 (fr) 2013-05-21 2014-11-28 St Microelectronics Rousset Mecanisme d'ecriture d'une memoire eeprom sur bus i2c
FR3006094A1 (fr) * 2013-05-21 2014-11-28 St Microelectronics Rousset Ecriture d'une memoire eeprom sur bus i2c
CN104750425B (zh) * 2013-12-30 2018-12-18 国民技术股份有限公司 一种存储系统及其非易失性存储器的控制方法
KR102180595B1 (ko) 2014-02-06 2020-11-19 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 시스템
KR102444208B1 (ko) 2017-10-19 2022-09-19 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102524916B1 (ko) * 2018-03-13 2023-04-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20200048318A (ko) * 2018-10-29 2020-05-08 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100590388B1 (ko) * 2005-03-10 2006-06-19 주식회사 하이닉스반도체 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법
JP4896011B2 (ja) * 2005-03-31 2012-03-14 スパンション エルエルシー 半導体装置及びその制御方法
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
KR100833199B1 (ko) * 2007-03-19 2008-05-28 삼성전자주식회사 프로그램 동작의 신뢰성을 향상시킬 수 있는 불휘발성메모리 장치 및 그 프로그램 방법
KR100943141B1 (ko) 2008-01-10 2010-02-18 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
KR101098431B1 (ko) 2009-12-31 2011-12-26 주식회사 하이닉스반도체 반도체 메모리 장치의 동작 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10698819B2 (en) 2017-12-14 2020-06-30 SK Hynix Inc. Memory system and operating method thereof
US10964392B2 (en) 2018-08-27 2021-03-30 SK Hynix Inc. Memory system performing cache program and operating method thereof
US11113202B2 (en) 2019-04-11 2021-09-07 SK Hynix Inc. Operating method forcing the second operation to fail using a scatter-gather buffer and memory system thereof

Also Published As

Publication number Publication date
US8861278B2 (en) 2014-10-14
US20120155182A1 (en) 2012-06-21
KR20120070012A (ko) 2012-06-29
CN102568569B (zh) 2016-08-10
TW201232546A (en) 2012-08-01
CN102568569A (zh) 2012-07-11
TWI536385B (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
KR101212739B1 (ko) 비휘발성 메모리장치 및 이의 동작방법
JP4995721B2 (ja) プログラム時間制御を有する不揮発性メモリシステム
US8493792B2 (en) Programming method of non-volatile memory device
KR100794311B1 (ko) 프로그램 에러를 차단할 수 있는 멀티 비트 플래시 메모리장치의 프로그램 방법
KR100816161B1 (ko) 플래시 메모리 소자의 프로그램 방법
US7274599B2 (en) NOR flash memory device using bit scan method and related programming method
KR102031742B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US8174894B2 (en) Program method of flash memory device
KR20120092911A (ko) 반도체 메모리 장치 및 데이터 소거 방법
US20090122615A1 (en) Non-volatile memory device and method of operating the same
US8036042B2 (en) Method of operating nonvolatile memory device
US20120195118A1 (en) Semiconductor memory apparatus, data programming method thereof, and memory system including the same
JP2009043391A (ja) フラッシュメモリ素子のプログラム方法
US20100254193A1 (en) Wiriting method of a nonvolatile memory device
KR101193060B1 (ko) 반도체 메모리 장치 및 그 구동 방법
US8654590B2 (en) Nonvolatile memory device performing a program verification with sense signals based on program data of adjacent memory cells and program method thereof
US9007840B2 (en) Semiconductor memory apparatus and program verification method
US8000154B2 (en) Non-volatile memory device and method of controlling a bulk voltage thereof
CN114121100A (zh) 用于对存储器装置进行编程的方法
KR20120094644A (ko) 비휘발성 메모리 시스템 및 이를 위한 프로그램 방법
US20100226171A1 (en) Method of programming nonvolatile memory device
JP2012155831A (ja) 半導体システム及びデータプログラミング方法
CN111863089B (zh) 存储器装置及非易失性存储器的控制方法
KR20140029709A (ko) 반도체 메모리 장치 및 그의 동작 방법
CN104425030A (zh) 非易失性存储器系统及偏压非易失性存储器的方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151120

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171124

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181126

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191125

Year of fee payment: 8