[go: up one dir, main page]

KR100897604B1 - 검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치 - Google Patents

검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치 Download PDF

Info

Publication number
KR100897604B1
KR100897604B1 KR1020070000807A KR20070000807A KR100897604B1 KR 100897604 B1 KR100897604 B1 KR 100897604B1 KR 1020070000807 A KR1020070000807 A KR 1020070000807A KR 20070000807 A KR20070000807 A KR 20070000807A KR 100897604 B1 KR100897604 B1 KR 100897604B1
Authority
KR
South Korea
Prior art keywords
data
verification
data buffer
memory cells
comparison
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020070000807A
Other languages
English (en)
Other versions
KR20080064063A (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 KR1020070000807A priority Critical patent/KR100897604B1/ko
Priority to US11/763,606 priority patent/US7474566B2/en
Publication of KR20080064063A publication Critical patent/KR20080064063A/ko
Application granted granted Critical
Publication of KR100897604B1 publication Critical patent/KR100897604B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting 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
    • 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

Landscapes

  • Read Only Memory (AREA)

Abstract

비휘발성 메모리 장치 및 그 구동 방법이 개시된다. 상기 비휘발성 메모리 장치의 구동 방법은 프로그램 데이터 버퍼로부터 검증 데이터 버퍼로 복사된 제1 데이터에 기초하여 메모리 셀들을 프로그램하는 단계, 상기 프로그램된 메모리 셀들을 검증한 결과들을 상기 검증 데이터 버퍼에 기록하는 검증 단계 및 상기 검증 데이터 버퍼에 기록된 검증 결과에 기초하여 검증이 성공된 상기 메모리 셀들에 대하여 상기 프로그램하는 단계, 및 상기 검증 단계를 적어도 한번 반복하는 재검증 단계를 구비한다.
비휘발성 메모리 장치

Description

검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치{Method and Non-Volatile Memory Device capable of re-verifying verified memory cell}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 버퍼 프로그램 알고리즘을 사용하여 프로그램 및 검증을 수행하는 플래쉬 메모리 장치의 개념도이다.
도 2는 본 발명의 실시 예들에 따른 비휘발성 메모리 장치의 개념도이다.
도 3은 본 발명의 실시 예들에 따른 비휘발성 메모리 장치의 구성도이다.
도 4는 도 3에 도시된 비휘발성 메모리 장치의 구동 방법을 나타내는 플로챠트이다.
본 발명은 비휘발성 메모리 장치에 관한 것으로, 보다 상세하게는 검증 성공된 메모리 셀에 대하여 프로그램 및 재검증이 가능한 비휘발성 메모리 장치 및 방법에 관한 것이다.
비휘발성 메모리 장치에는, 마스크 롬, EEPROM(Electrically Erasable and Programmable Read Only Memory), EPROM(Erasable and Programmable Read Only Memory) 등이 있다. 이 중에서 EEPROM은 전기적으로 소거 및 프로그램이 가능하므로 계속적인 갱신이 필요한 시스템 프로그래밍(system programming)이나 보조 기억 장치로의 응용이 확대되고 있다.
특히 플래시(flash) EEPROM(이하, 플래쉬 메모리 장치)은 기존의 EEPROM에 비해 집적도가 높아 대용량 보조 기억 장치로의 응용에 매우 유리하다. 플래시 메모리 장치에는 크게 낸드형(NAND-type), NOR형, 및 AND형이 있으며, 낸드형 플래시 메모리 장치는 집적도가 높아 데이터 저장용으로, NOR형 플래시 메모리 장치는 데이터 억세스 속도가 빨라 프로그램 코드 저장용으로 많이 사용된다.
상기 비휘발성 메모리 장치는 플로팅 게이트(Floating Gate)와 컨트롤 게이트를 갖는 MOS 트랜지스터 구조의 다수의 메모리 셀들을 포함하며, 상기 다수의 메모리 셀들은 전기적으로 프로그램(program) 또는 소거(Erase)가 가능하다.
일반적으로 전기적 프로그램 및 소거가 가능한 비휘발성 메모리 장치는 메모리 셀 데이터를 검증할 수 있는 기능이 필수적이다.
이러한 검증 기능은 메모리 셀에 프로그램된 데이터가 정확히 상기 메모리 셀에 기입되었는지를 검증하여, 부정확한 데이터가 존재하는 경우 상기 부정확한 데이터를 교정하는 것이다.
최근 개발되는 멀티 레벨 셀(Multi level Cell, 예컨대, 4 레벨 셀)을 갖는 플래시 메모리 장치는 단일 레벨 셀(single level cell)과 달리 1개의 셀에 2비트 를 저장할 수 있다.
멀티 레벨 메모리 셀들을 포함하는 플래시 메모리 장치는 상기 메모리 셀들 각각에 4레벨 상태가 존재하므로 2 레벨 상태가 존재하는 메모리 셀들을 포함하는 종래의 플래시 메모리 장치에 비하여 더욱 정밀한 프로그램과 검증 기술이 요구된다.
따라서 이러한 멀티 레벨 메모리 셀들을 포함하는 플래시 메모리 장치는 검증의 정확도를 높이기 위하여 프로그램된 메모리 셀에 대하여 검증이 성공하더라도, 검증 성공된 메모리 셀에 대하여 적어도 한 번의 재검증이 요구된다.
멀티 레벨 메모리 셀의 NOR 플래시 메모리 장치는 단일 레벨 셀에 비해 느린 프로그램 속도를 보상하기 위하여 버퍼 프로그램이라는 알고리즘을 사용한다.
도 1은 종래의 버퍼 프로그램 알고리즘을 사용하여 프로그램 및 검증을 수행하는 플래쉬 메모리 장치의 개념도이다. 도 1을 참조하면, M(M은 자연수)개의 프로그램 데이터(PDATA, 예컨대 #1)는 프로그램 데이터 버퍼(10)에 저장되고, 저장된 프로그램 데이터(예컨대 #1)에 기초하여 상기 메모리 셀 어레이 블록(20)은 메모리 셀들(미도시)을 프로그램한다. 상기 프로그램 데이터(PDATA)는 N(N은 자연수) 비트의 프로그램 데이터일 수 있다.
상기 메모리 셀 어레이 블록(20)는 상기 메모리 셀들에 대한 프로그램 수행 후 프로그램된 메모리 셀들을 검증하고, 검증된 결과들(VD)은 상기 프로그램 데이터 버퍼 블록(10)에 기록되고, 저장된다.
이 때 상기 메모리 셀 어레이 블록(20)은 상기 프로그램 데이터 버퍼(10)에 저장된 프로그램 데이터(예컨대, #1) 중 검증에 성공한 메모리 셀에 대응하는 비트 데이터를 제1 레벨 값(예컨대, '1')으로 기록(overwrite)한다.
그리고 상기 메모리 셀 어레이 블록(20)은 검증에 실패한 메모리 셀들에 대해서는 검증 성공될 때까지 프로그램 및 검증을 반복하고, 검증 결과를 상기 프로그램 데이터 버퍼(10)에 기록한다.
상기 프로그램 데이터 버퍼(10)에 저장된 프로그램 데이터(예컨대, #1) 중 상기 검증이 패스된 메모리 셀에 대응하는 비트 데이터는 상기 제1 레벨 값(예컨대, '1')으로 수정되어 기록되므로, 1회 검증 성공 완료 후 상기 프로그램 데이터 버퍼(10)는 상기 메모리 셀들에 프로그램하고자 하는 프로그램 데이터(original program data)를 잃어버린다.
따라서 상기 1회 검증이 성공된 메모리 셀에 대응하는 상기 프로그램 버퍼에 저장된 프로그램 데이터(예컨대, #1의 10101010)가 상기 제1 레벨 값들(예컨대, #1의 '11111111')로 변경되므로 상기 1회 검증이 성공된 메모리 셀에 대하여 추가적인 프로그램 및 검증을 할 수 없는 문제점이 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 검증이 성공된 비휘발성 메모리 장치의 메모리 셀에 대하여 추가적인 프로그램 및 검증이 가능한 비휘발성 메모리 장치 및 방법을 제공하기 위함이다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 비휘발성 메모리 장치의 구동 방법은 프로그램 하는 단계, 검증 단계, 및 재검증 단계를 구비한다.
상기 프로그램 단계에서는 프로그램 데이터 버퍼로부터 검증 데이터 버퍼로 복사된 제1 데이터에 기초하여 메모리 셀들이 프로그램된다.
상기 검증 단계에서는 상기 프로그램된 메모리 셀들을 검증한 결과가 상기 검증 데이터 버퍼에 기록(overwrite)된다. 이 때 상기 비휘발성 메모리 장치의 구동 방법은 상기 제1 데이터에 기초하여 프로그램된 메모리 셀들 중 검증이 성공되지 않은 메모리 셀들에 대하여 검증이 모두 성공될 때까지 상기 프로그램 단계, 및 상기 검증 단계가 반복될 수 있다.
상기 재검증 단계에서는 상기 검증 데이터 버퍼에 기록된 검증 결과에 기초하여, 검증이 성공된 상기 메모리 셀들에 대하여 상기 프로그램하는 단계, 및 상기 검증 단계를 적어도 한번 더 수행된다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 비휘발성 메모리 장치는 프로그램 데이터 버퍼, 검증 데이터 버퍼, 메모리 셀들, 비교부, 및 제어부를 구비한다.
상기 프로그램 데이터 버퍼는 제1 데이터를 저장한다. 상기 검증 데이터 버퍼는 상기 프로그램 데이터 버퍼에 저장된 상기 제1 데이터를 복사하고 저장한다.
상기 메모리 셀들은 상기 검증 데이터 버퍼에 저장된 상기 제1데이터에 기초하여 프로그램된다.
상기 비교부는 상기 제1 데이터와 상기 프로그램된 메모리 셀들로부터 독출된 데이터를 비교하고 비교된 결과에 기초하여 비교 데이터를 상기 검증 데이터 버 퍼로 출력한다. 상기 비교 데이터는 상기 검증 데이터 버퍼에 저장된 상기 제1 데이터를 대신하여 상기 검증 데이터 버퍼에 기록된다.
상기 제어부는 상기 비교 데이터에 기초하여 상기 프로그램된 셀들에 대한 검증 성공 여부를 판단한다.
상기 제어부는 검증 성공된 메모리 셀들에 대하여 상기 프로그램 데이터 버퍼에 저장된 상기 제1 데이터에 기초하여 추가적인 프로그램 또는 검증을 하도록 상기 프로그램 데이터 버퍼, 상기 검증 데이터 버퍼, 상기 메모리 셀들 및 상기 비교부를 제어한다.
상기 기술적 과제를 달성하기 위한 본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 실시 예들에 따른 비휘발성 메모리 장치(200)의 개념도이다. 도 2를 참조하면, 상기 비휘발성 메모리 장치(200)는 프로그램 데이터 버퍼 (210), 검증 데이터 버퍼(220), 및 메모리 셀 어레이 블록(230)을 구비한다.
상기 프로그램 데이터 버퍼(210)는 외부로부터 미리 결정된 프로그램 데이터(PDATA)를 입력받아 저장한다. 상기 프로그램 데이터 버퍼(210)는 M(M은 자연수)개의 N(N은 실수, 예컨대 N=8)비트 프로그램 데이터(#1 내지 #M)를 저장할 수 있 다. 상기 프로그램 데이터(PDATA)는 워드(word) 단위일 수 있다.
상기 검증 데이터 버퍼(220)는 상기 프로그램 데이터 버퍼(210)에 저장된 프로그램 데이터를 복사하여 저장한다.
상기 검증 데이터 버퍼(220)의 데이터 저장 용량은 상기 프로그램 데이터 버퍼(210)의 데이터 저장 용량과 같거나 그보다 작을 수 있다. 예컨대, 상기 검증 데이터 버퍼(220)는 상기 프로그램 데이터 버퍼(210)에 저장된 M개의 프로그램 데이터(#1 내지 #M) 중에서 Z(Z≤M인 자연수)개의 프로그램 데이터(예컨대, #1 내지 #Z)를 복사하여 저장할 수 있다.
상기 메모리 셀 어레이 블록(230)은 상기 검증 데이터 버퍼(220)로 복사된 프로그램 데이터(예컨대, #1 내지 #Z)에 기초하여, 상기 메모리 셀 어레이 블록(230)의 메모리 셀들(미도시)을 프로그램하고, 프로그램된 메모리 셀들에 대한 검증을 수행한다.
상기 메모리 셀 어레이 블록(230)은 다수의 메모리 셀들(미도시) 및 주변회로(미도시)를 포함하며, 상기 검증 데이터 버퍼(220)에 저장된 프로그램 데이터(예컨대, #1 내지 #Z)에 기초하여 상기 다수의 메모리 셀들(미도시)을 프로그램하고, 프로그램된 메모리 셀들에 대하여 검증할 수 있는 기능적인 블록이다.
따라서 상기 메모리 셀 어레이 블록(230)은 제1 데이터(#1)에 기초하여 상기 다수의 메모리 셀들 중 제1 메모리 셀들을 프로그램하고, 프로그램된 데이터를 검증할 수 있다.
구체적으로 상기 메모리 셀 어레이 블록(230)은 상기 제1 데이터(#1, 예컨대 "10101010")에 포함된 미리 결정된 2비트 데이터(예컨대, '10)에 기초하여 상기 제1 메모리 셀들 중 어느 하나의 단위 메모리 셀(예컨대, 2비트를 저장할 수 있는 멀티 레벨 셀)을 프로그램할 수 있다.
상기 메모리 셀 어레이 블록(230)은 프로그램된 상기 어느 하나의 단위 메모리 셀(예컨대, 2비트를 저장할 수 있는 멀티 레벨 셀)에 대한 검증 결과(VD)에 기초하여 상기 검증 데이터 버퍼(220)에 저장된 상기 제1 데이터(예컨대, #1)를 수정한다.
상기 메모리 셀 어레이 블록(230)은 상기 프로그램된 어느 하나의 단위 메모리 셀에 대한 검증이 성공일 때, 상기 검증 데이터 버퍼(220)에 저장된 상기 제1 데이터(#1, 예컨대 "10101010")에 포함된 상기 미리 결정된 2비트 데이터(예컨대, '10)를 검증 성공 데이터 값(예컨대, '11')으로 수정한다. 따라서 상기 검증 데이터 버퍼(220)에는 수정된 제1 데이터(#1', 예컨대 '11101010')가 저장된다.
상기 메모리 셀 어레이 블록(230)은 상기 수정된 제1 데이터(#1, 예컨대, "11101010")에 기초하여 프로그램된 메모리 셀들 중 검증에 실패된 메모리 셀들에 대해서만 검증이 성공될 때까지 상기 프로그램 및 상기 검증 동작을 반복할 수 있다. 왜냐하면 검증 성공된 메모리 셀에 대한 프로그램은 금지(inhibit)될 수 있기 때문이다.
따라서 도 2에 도시된 바와 같이 상기 제1 데이터(#1, 예컨대, "10101010")에 기초하여 프로그램된 상기 메모리 셀들에 대한 검증이 모두 성공될 때, 상기 검증 데이터 버퍼(220)에 저장된 상기 제1 데이터(예컨대, #1)는 상기 검증 성공 데 이터 값들(#1' 예컨대, '11111111')로 수정되어 저장된다.
상기 검증 데이터 버퍼(220)에 저장된 프로그램 데이터(#1, 예컨대, "10101010")에 기초하여 프로그램된 상기 메모리 셀들에 대한 검증이 모두 성공되더라도, 상기 프로그램 데이터 버퍼(210)는 상기 프로그램 데이터(예컨대, #1)가 그대로 유지된다.
따라서 프로그램된 상기 메모리 셀들 각각에 대한 1회 검증이 모두 성공되더라도 상기 검증 데이터 버퍼(220)에 저장된 프로그램 데이터(예컨대, #1)만 수정될 뿐이므로 상기 프로그램 데이터 버퍼(210))에 저장된 상기 프로그램 데이터(#1, 예컨대, "10101010")를 상기 검증 데이터 버퍼(220)로 다시 복사하여 상기 메모리 셀들에 대한 추가적인 프로그램 및 검증 동작은 반복 수행될 수 있다.
따라서 상술한 바와 같이 상기 1회 검증이 성공한 메모리 셀에 대한 재검증이 가능해지므로 멀티 레벨 메모리 셀들에 대한 더 정확한 프로그램이 가능하다.
도 3은 본 발명의 실시 예들에 따른 비휘발성 메모리 장치(300)의 구성도이다. 도 3을 참조하면, 상기 비휘발성 메모리 장치(300)는 I/O 버퍼(310), 제어부(320), 프로그램 데이터 버퍼(210), 검증 데이터 버퍼(220), 메모리 셀 어레이 부(350), 및 비교부(360)를 구비한다.
상기 제어부(320)는 상기 I/O 버퍼(310)를 통하여 상기 비휘발성 메모리 장치(300)의 외부로부터 입력된 미리 결정된 명령(CMD)에 기초하여 다수의 제어 신호들(C1, C2, 및 C3)을 출력한다.
상기 프로그램 데이터 버퍼(210)는 제1 제어 신호(C1)에 응답하여, 상기 I/O 버퍼(220)를 통하여 입력된 프로그램 데이터(PDATA)를 저장한다.
상기 검증 데이터 버퍼(220)는 제2 제어 신호(C2)에 응답하여, 상기 프로그램 데이터 버퍼(210)에 저장된 상기 프로그램 데이터(PDATA)를 복사하여 저장한다.
상기 메모리 셀 어레이부(350)는 다수의 메모리 셀들(미도시), 어드레스된 메모리 셀들로부터 메모리 셀 데이터를 독출하기 위한 감지 증폭부(미도시), 상기 메모리 셀 어드레스를 디코딩하기 위한 어드레스 디코더(미도시), 및 프로그램 데이터를 상기 다수의 메모리 셀들에 기입하기 위한 기입 드라이버(미도시)를 포함할 수 있다.
상기 메모리 셀 어레이부(350)는 제3제어 신호(C3)에 응답하여 상기 검증 데이터 버퍼(220)에 저장된 프로그램 데이터(PDATA, 예컨대, #1)에 기초하여 미리 결정된 메모리 셀들을 프로그램한다.
상기 제3 제어 신호(C3)는 기입 인에이블 신호(W/E), 및 상기 미리 결정된 메모리 셀들의 주소 지정을 위한 X 어드레스(X-Address) 및 Y 어드레스(X-Address)를 포함한다.
상기 비교부(360)는 상기 프로그램 데이터(PDATA)와 상기 프로그램 데이터에 기초하여 프로그램된 메모리 셀들 각각으로부터 독출된 데이터(Dp)를 비교하고, 비교한 결과에 기초하여 비교 데이터(CV)를 출력한다.
구체적으로 상기 비교부(360)는 상기 검증 데이터 버퍼(220)에 저장된 프로그램 데이터(예컨대, 제1 데이터(#1))의 미리 결정된 2비트들(예컨대, 01)과 상기 미리 결정된 2비트들에 기초하여 프로그램된 메모리 셀로부터 독출된 데이터를 비 교할 수 있다.
상기 비교부(360)는 상기 미리 결정된 2비트들과 상기 독출된 데이터가 서로 일치하는 경우 제1 레벨 값들(예컨대, '11')을 포함하는 상기 비교 데이터(CV)를 상기 검증 데이터 버퍼(220) 및 상기 제어부(320)로 출력할 수 있다.
상기 비교 데이터(CV)에 기초하여 상기 검증 데이터 버퍼(220)에 저장된 상기 프로그램 데이터(예컨대, 제1 데이터(#1))가 수정되고, 수정된 데이터(예컨대 #1')가 저장될 수 있다.
상기 제어부(320)는 상기 비교 데이터(CV)에 기초하여 상기 프로그램된 메모리 셀들 각각으로부터 독출된 데이터(Dp)의 검증 성공 여부를 판단한다.
상기 제어부(320)는 검증 성공된 메모리 셀들에 대하여 상기 프로그램 데이터 버퍼(210)에 저장된 상기 프로그램 데이터(예컨대, 상기 제1 데이터(#1))에 기초하여 추가적인 프로그램 또는 검증을 위하여 상기 프로그램 데이터 버퍼(210), 상기 검증 데이터 버퍼(220), 상기 메모리 셀 어레이부(350) 및 상기 비교부(360)를 제어하기 위한 상기 제어 신호들(C1, C2, C3)을 출력한다.
도 4는 도 3에 도시된 비휘발성 메모리 장치의 구동 방법을 나타내는 플로챠트이다. 도 2 내지 도 4를 참조하면, 외부로부터 입력된 M(M은 자연수) 개의 프로그램 데이터(PDATA, 예컨대 #1 내지 #M)가 상기 프로그램 데이터 버퍼(210)에 저장된다(S410). 상기 M개의 프로그램 데이터(PDATA) 각각은 N(N은 실수)비트일 수 있다.
상기 M 개의 프로그램 데이터(예컨대, #1 내지 3M) 중 Z(Z≤M인 자연수)개의 프로그램 데이터, 예컨대 제K(K=1) 프로그램 데이터(#1 내지 #Z)가 검증 데이터 버퍼(220)로 복사되고 저장된다(S420).
상기 검증 데이터 버퍼(220)에 저장된 Z개의 프로그램 데이터(예컨대, #1 내지 #Z) 중 제1 데이터(예컨대, #1)에 기초하여 상기 메모리 셀 어레이부(350)의 미리 결정된 메모리 셀들은 프로그램될 수 있다.
상기 프로그램된 메모리 셀들을 검증하고, 검증 결과를 상기 검증 데이터 버퍼(220)에 기록(overwrite)한다(S430).
상기 제1 데이터(예컨대, #1) 및 상기 제1 데이터(예컨대, #1)에 기초하여 프로그램된 메모리 셀들로부터 독출된 데이터를 서로 대응하는 비트마다 비교하고, 비교 결과에 기초하여 비교 데이터(CV)를 출력한다. 상기 비교 데이터(CV)는 상기 검증 데이터 버퍼(430)에 저장된 상기 제1 데이터(예컨대, #1)를 대신하여 기록(overwrite)될 수 있다.
예컨대, 상기 비교 데이터(CV)는 상기 제1 데이터(예컨대, #1)의 미리 결정된 비트와 상기 미리 결정된 비트에 기초하여 프로그램된 메모리 셀로부터 독출된 데이터의 비트가 일치할 경우 제1 레벨 값(예컨대, '1')을 갖는 비교 비트를 포함할 수 있다.
멀티 레벨 메모리 셀의 경우 상기 비교 데이터(CV)는 상기 제1 데이터(예컨대, #1)에 포함된 미리 결정된 2비트와 상기 미리 결정된 2비트에 기초하여 프로그램된 메모리 셀로부터 독출된 2비트 데이터가 일치할 경우 제1레벨 값('1')을 갖는 비교 비트들('11')을 포함할 수 있다.
상기 검증 데이터 버퍼(220)에 기록된 상기 비교 데이터에 기초하여, 검증에 성공되지 않은 메모리 셀들에 대하여 검증이 성공될 때까지 프로그램 단계(S430), 및 검증 단계(S440)가 반복될 수 있다.
상기 검증 데이터 버퍼(220)에 기록된 검증 결과에 기초하여 상기 프로그램된 메모리 셀들에 대한 검증이 성공된 메모리 셀들에 대하여 복사하는 단계(S420), 상기 프로그램 단계(S430), 및 상기 검증 단계(S440 및 S450)를 적어도 한번 반복한다(S460).
예컨대, 상기 검증 데이터 버퍼(220)에 저장된 상기 제1 데이터(#1)에 기초하여 프로그램된 메모리 셀들에 대한 대한 검증이 모두 성공된 때, 즉 검증 데이터 버퍼(220)에 저장된 데이터가 모두 상기 제1 레벨 값들(예컨대, #1'인 '11111111)일 때 상기 단계들(S420 내지 S460)은 적어도 한번 반복하여 수행될 수 있다.
상기 추가적인 프로그램 및 검증(즉, 재검증)이 필요한지 여부 및 추가적인 검증의 횟수는 미리 설정될 수 있다. 예컨대, 추가 검증 횟수가 3인 경우 상기 단계들(S420 내지 S460)은 3회 반복하여 수행될 수 있다.
상기 프로그램 데이터 버퍼(210)에 저장된 모든 프로그램 데이터(#1 내지 #M)에 기초하여 대응하는 메모리 셀들에 대한 프로그램이 완료되었는지 판단한다(S470)
프로그램이 완료되지 않은 경우 상기 프로그램 데이터 버퍼(210)에 저장된 M개의 프로그램 데이터 중 제K(K=2) 프로그램 데이터를 상기 검증 데이터 버퍼로 복사한 후(SS420), 프로그램이 완료될 때까지 상기 단계들(S420 내지 S480)을 반복 수행한다(S480).
본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 비휘발성 메모리 장치 및 구동 방법은 검증 성공된 프로그램된 메모리 셀에 대하여 추가적인 검증이 가능하여 상기 메모리 셀에 대한 프로그램의 정확도를 높일 수 있는 효과가 있다.

Claims (13)

  1. 프로그램 데이터 버퍼로부터 검증 데이터 버퍼에 복사된 제1 데이터에 기초하여 메모리 셀들을 프로그램하는 단계;
    상기 프로그램된 메모리 셀들을 검증한 결과를 상기 검증 데이터 버퍼에 기록(overwrite)하는 검증 단계; 및
    상기 검증 데이터 버퍼에 기록된 검증 결과에 기초하여, 검증이 성공된 상기 메모리 셀들에 대하여 상기 프로그램하는 단계, 및 상기 검증 단계를 적어도 한번 반복하는 재검증 단계를 구비하며,
    상기 재검증 단계는
    상기 제1 데이터를 상기 프로그램 데이터 버퍼로부터 상기 검증 데이터 버퍼로 재복사하고, 상기 재복사된 제1 데이터에 기초하여 상기 검증이 성공된 상기 메모리 셀들에 대하여 상기 프로그램하는 단계, 및 상기 검증 단계를 적어도 한번 반복하는 비휘발성 메모리 장치의 구동 방법.
  2. 제1항에 있어서, 상기 비휘발성 메모리 장치의 구동 방법은,
    상기 제1 데이터에 기초하여 프로그램된 메모리 셀들 중 검증이 성공되지 않은 메모리 셀들에 대하여 검증이 모두 성공될 때까지 상기 프로그램 단계, 및 상기 검증 단계를 반복하는 단계를 더 구비하는 비휘발성 메모리 장치의 구동 방법.
  3. 제2항에 있어서, 상기 검증 단계는,
    상기 제1 데이터 및 상기 프로그램된 메모리 셀들로부터 독출된 데이터를 서로 대응하는 비트마다 비교하고, 비교 결과에 기초하여 비교 데이터를 출력하는 단계; 및
    상기 비교 데이터를 상기 검증 데이터 버퍼에 기록하는 단계를 구비하는 비휘발성 메모리 장치의 구동 방법.
  4. 제3항에 있어서, 상기 비교 데이터를 출력하는 단계는,
    상기 제1 데이터 및 상기 독출된 데이터 각각의 대응하는 비트가 서로 일치할 경우 제1 레벨 값을 갖는 비교 비트를 포함하는 비교 데이터를 출력하는 비휘발성 메모리 장치의 구동 방법.
  5. 제4항에 있어서, 상기 재검증 단계는,
    상기 비교 데이터의 모든 비교 비트들이 상기 제1레벨 값인 경우 수행되는 비휘발성 메모리 장치의 구동 방법.
  6. 삭제
  7. 삭제
  8. 제1 데이터를 저장하는 프로그램 데이터 버퍼;
    상기 프로그램 데이터 버퍼에 저장된 상기 제1 데이터를 복사하고 저장하는 검증 데이터 버퍼;
    상기 검증 데이터 버퍼에 저장된 데이터에 기초하여 프로그램되는 메모리 셀들;
    상기 검증 데이터 버퍼에 저장된 데이터와 상기 프로그램된 메모리 셀들로부터 독출된 데이터를 비교한 결과에 기초하여 발생된 비교 데이터를 상기 검증 데이터 버퍼에 저장하기 위하여 상기 검증 데이터 버퍼로 출력하는 비교부; 및
    검증 성공된 메모리 셀들에 대하여 상기 제1 데이터에 기초하여 추가적인 프로그램 또는 검증을 위하여 상기 프로그램 데이터 버퍼, 상기 검증 데이터 버퍼, 상기 메모리 셀들 및 상기 비교부를 제어하는 제어부를 구비하는 비휘발성 메모리 장치.
  9. 제8항에 있어서, 상기 비교부는,
    상기 제1 데이터 및 상기 프로그램된 메모리 셀들로부터 독출된 데이터를 대응하는 비트마다 비교하고 상기 대응하는 비트들의 값이 서로 일치할 경우 제1 레벨 값을 갖는 비교 비트를 포함하는 비교 데이터를 상기 검증 데이터 버퍼로 출력하는 비휘발성 메모리 장치.
  10. 제9항에 있어서, 상기 검증 데이터 버퍼는,
    상기 비교 데이터에 기초하여 저장된 데이터를 수정하고, 수정된 데이터를 저장하는 비휘발성 메모리 장치.
  11. 제10항에 있어서, 상기 제어부는,
    상기 검증 데이터 버퍼에 저장된 모든 비트들이 상기 제1레벨 값인 경우 상기 프로그램된 메모리 셀들에 대한 추가적인 프로그램 및 검증을 위하여 상기 프로그램 데이터 버퍼로부터 상기 검증 데이터 버퍼로 상기 제1 데이터를 재복사하도록 제어하는 비휘발성 메모리 장치.
  12. 제11항에 있어서, 상기 제어부는,
    재복사된 상기 제1 데이터에 기초하여, 상기 검증 성공된 메모리 셀들을 프로그램하고 재검증하도록 상기 프로그램 데이터 버퍼, 상기 검증 데이터 버퍼, 상기 비교부, 및 상기 검증 성공된 메모리 셀들을 제어하는 비휘발성 메모리 장치.
  13. 제11항에 있어서,
    상기 제어부는,
    다수의 제어 신호들을 출력하며,
    상기 검증 데이터 버퍼는,
    상기 다수의 제어 신호들 중 제1 제어신호에 응답하여, 상기 프로그램 데이터 버퍼에 저장된 상기 제1 데이터를 복사하고 저장하며,
    상기 메모리 셀들은,
    상기 다수의 제어 신호들 중 제2 제어신호에 응답하여, 상기 검증 데이터 버퍼에 저장된 상기 제1 데이터 또는 상기 비교 데이터에 기초하여 프로그램되며,
    상기 비교부는.
    상기 다수의 제어 신호들 중 제3 제어신호에 응답하여, 상기 제1 데이터와 상기 프로그램된 메모리 셀들로부터 독출된 데이터를 비교하고 비교된 결과에 기초하여 비교 데이터를 상기 검증 데이터 버퍼로 출력하며,
    상기 제어부는,
    상기 비교 데이터에 기초하여 상기 프로그램된 셀에 대한 검증 성공 여부를 판단하고, 검증 성공된 메모리 셀들에 대한 추가적인 프로그램 및 검증을 위하여 상기 제1 제어 신호, 상기 제2 제어 신호, 및 상기 제3 제어 신호를 출력하는 비휘발성 메모리 장치.
KR1020070000807A 2007-01-03 2007-01-03 검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치 Expired - Fee Related KR100897604B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070000807A KR100897604B1 (ko) 2007-01-03 2007-01-03 검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치
US11/763,606 US7474566B2 (en) 2007-01-03 2007-06-15 Non-volatile memory device and method capable of re-verifying a verified memory cell

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070000807A KR100897604B1 (ko) 2007-01-03 2007-01-03 검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치

Publications (2)

Publication Number Publication Date
KR20080064063A KR20080064063A (ko) 2008-07-08
KR100897604B1 true KR100897604B1 (ko) 2009-05-14

Family

ID=39583714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070000807A Expired - Fee Related KR100897604B1 (ko) 2007-01-03 2007-01-03 검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치

Country Status (2)

Country Link
US (1) US7474566B2 (ko)
KR (1) KR100897604B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101001410B1 (ko) 2009-03-24 2010-12-14 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 프로그램 방법
KR20130104287A (ko) * 2012-03-13 2013-09-25 삼성전자주식회사 센싱 검증부를 포함하는 반도체 메모리 장치
US8908441B1 (en) 2013-10-15 2014-12-09 Sandisk Technologies Inc. Double verify method in multi-pass programming to suppress read noise
US8902668B1 (en) 2013-10-15 2014-12-02 Sandisk Technologies Inc. Double verify method with soft programming to suppress read noise
US9165659B1 (en) 2014-05-08 2015-10-20 Sandisk Technologies Inc. Efficient reprogramming method for tightening a threshold voltage distribution in a memory device
US9324419B2 (en) 2014-07-15 2016-04-26 Sandisk Technologies Inc. Multiple pass programming for memory with different program pulse widths
US9343141B2 (en) 2014-07-15 2016-05-17 Sandisk Technologies Inc. Reprogramming memory with single program pulse per data state
KR102514521B1 (ko) * 2016-03-23 2023-03-29 삼성전자주식회사 페이지 버퍼를 포함하는 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법
JP6151830B1 (ja) * 2016-07-05 2017-06-21 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置
US10460797B2 (en) * 2017-09-08 2019-10-29 Macronix International Co., Ltd. Method for programming non-volatile memory and memory system
CN113168377B (zh) * 2018-10-29 2024-04-23 美光科技公司 Slc高速缓存分配
US12354682B2 (en) * 2023-02-24 2025-07-08 SanDisk Technologies, Inc. Intermediate re-verify for achieving tighter threshold voltage distributions in a memory device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940022578A (ko) * 1993-03-03 1994-10-21 세끼모또 타다히로 비휘발성 반도체 메모리 장치를 소거하고 검증하기 위한 방법 및 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100463585B1 (ko) 1997-12-31 2005-05-18 주식회사 하이닉스반도체 플래쉬메모리의센스앰프
JP3093723B2 (ja) 1998-04-22 2000-10-03 日本電気アイシーマイコンシステム株式会社 半導体集積回路
JP2002100192A (ja) * 2000-09-22 2002-04-05 Toshiba Corp 不揮発性半導体メモリ
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
KR100390959B1 (ko) * 2001-06-29 2003-07-12 주식회사 하이닉스반도체 센싱회로를 이용한 멀티레벨 플래시 메모리 프로그램/리드방법
US6813207B2 (en) * 2002-01-11 2004-11-02 Kabushiki Kaisha Toshiba Semiconductor memory device
KR100706252B1 (ko) * 2005-07-27 2007-04-12 삼성전자주식회사 노어 플래시 메모리 장치 및 그것의 프로그램 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940022578A (ko) * 1993-03-03 1994-10-21 세끼모또 타다히로 비휘발성 반도체 메모리 장치를 소거하고 검증하기 위한 방법 및 장치

Also Published As

Publication number Publication date
KR20080064063A (ko) 2008-07-08
US20080158993A1 (en) 2008-07-03
US7474566B2 (en) 2009-01-06

Similar Documents

Publication Publication Date Title
KR100897604B1 (ko) 검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치
US7130217B2 (en) Semiconductor storage device having page copying function
JP3420121B2 (ja) 不揮発性半導体記憶装置
KR100550963B1 (ko) 메모리 카드, 기억 장치 및 기억 시스템
KR100885783B1 (ko) 플래시 메모리 장치 및 동작 방법
KR101468099B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR100836762B1 (ko) 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR100823170B1 (ko) 배드 블록을 싱글 레벨 셀 모드로 사용하는 메모리 시스템및 메모리 카드
KR102140784B1 (ko) 비휘발성 메모리 장치의 데이터 기록 방법
KR20100104840A (ko) 셀 패턴에 따라 추가 ecc가 가능한 반도체 메모리 장치,상기 장치를 포함하는 전자 시스템
KR100291807B1 (ko) 비휘발성 기억소자 및 그 제어방법
JPH11306769A (ja) 不揮発性メモリ装置
JP4672673B2 (ja) 半導体装置および半導体装置の制御方法
JPWO2006011222A1 (ja) 半導体装置および書き込み方法
JP5039168B2 (ja) 半導体記憶装置
CN118016129A (zh) 存储器装置及操作存储器装置的方法
JPWO2005093760A1 (ja) 半導体装置および半導体装置にデータを書き込む方法
JP2006066060A (ja) 不揮発性メモリ装置の初期化状態を検証する方法、及び装置
JP2004030849A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
JP2009015977A (ja) 不揮発性半導体メモリとそれを用いた記憶装置
US20240265974A1 (en) Memory device, operating method of memory device, and memory system
US11443814B1 (en) Memory structure with marker bit and operation method thereof
KR20240069273A (ko) 메모리 장치 및 그 동작 방법
JP2008103076A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
CN117912520A (zh) 储存装置

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20070103

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20080314

Patent event code: PE09021S01D

PG1501 Laying open of application
E90F Notification of reason for final refusal
PE0902 Notice of grounds for rejection

Comment text: Final Notice of Reason for Refusal

Patent event date: 20080909

Patent event code: PE09021S02D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20090213

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20090507

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20090508

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20120430

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20130430

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20130430

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20140430

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20150430

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20160429

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20160429

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20170427

Start annual number: 9

End annual number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20190218