KR20100137128A - 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템 - Google Patents

비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템 Download PDF

Info

Publication number
KR20100137128A
KR20100137128A KR1020090055397A KR20090055397A KR20100137128A KR 20100137128 A KR20100137128 A KR 20100137128A KR 1020090055397 A KR1020090055397 A KR 1020090055397A KR 20090055397 A KR20090055397 A KR 20090055397A KR 20100137128 A KR20100137128 A KR 20100137128A
Authority
KR
South Korea
Prior art keywords
state group
bit data
level cells
data
memory device
Prior art date
Application number
KR1020090055397A
Other languages
English (en)
Other versions
KR101572830B1 (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 KR1020090055397A priority Critical patent/KR101572830B1/ko
Priority to US12/780,978 priority patent/US8391062B2/en
Priority to JP2010140657A priority patent/JP5632210B2/ja
Publication of KR20100137128A publication Critical patent/KR20100137128A/ko
Priority to US13/757,960 priority patent/US8681543B2/en
Application granted granted Critical
Publication of KR101572830B1 publication Critical patent/KR101572830B1/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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

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

Abstract

비휘발성 메모리 장치의 프로그램을 위하여, 멀티 레벨 셀들에 멀티 비트 데이터들을 프리프로그램한다. 각각 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상태 그룹 코드들에 기초하여 멀티 레벨 셀들로부터 프리프로그램된 멀티 비트 데이터들을 독출한다. 멀티 레벨 셀들에 독출된 멀티 비트 데이터들을 재프로그램한다. 컨트롤러에 의한 재프로그램을 위한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행할 수 있다.

Description

비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템{METHOD OF PROGRAMMING A NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY DEVICE AND NONVOLATILE MEMORY SYSTEM}
본 발명은 비휘발성 메모리 장치에 관한 것으로서, 더욱 상세하게는, 멀티 레벨 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템에 관한 것이다.
일반적으로 플래시 메모리 장치와 같은 비휘발성 메모리 장치는 소거(erase)된 상태의 문턱 전압 분포 또는 프로그램(program)된 상태의 문턱 전압 분포를 가지는 메모리 셀을 포함한다. 종래의 플래시 메모리 장치는 매 셀마다 하나의 비트의 데이터를 저장하는 단일 레벨 셀(single level cell, SLC)을 포함하였으나, 근래에는 메모리 장치의 크기를 증가시키지 않으면서 저장 용량을 늘리기 위해 멀티 레벨 셀(multi level cell, MLC)을 가지는 플래시 메모리 장치에 대한 연구가 활발히 진행되고 있다. 멀티 레벨 셀은 하나의 메모리 셀에 2비트 이상의 데이터를 저장한다. 하나의 멀티 레벨 셀에 N 비트의 데이터가 저장되는 경우, 상기 멀티 레벨 셀은 2^N 개로 세분화된 문턱 전압 분포들 중 어느 하나의 분포에 상응하는 문턱 전압을 가지고, 상기 멀티 레벨 셀이 가지는 문턱 전압에 따라 상기 N 비트의 데이터가 저장된다.
제조 공정 기술의 발전으로 메모리 셀간 간격이 작아짐에 따라 셀간 커플링(coupling)에 의해 메모리 셀의 문턱 전압 분포가 넓어지고, 인접한 문턱 전압 분포들이 중첩되는 문제가 발생한다. 게다가, 멀티 레벨 셀에 저장되는 데이터의 비트 수가 증가함에 따라, 멀티 레벨 셀의 상태 구분이 더욱 곤란하게 되는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 컨트롤러에 의한 재프로그램을 위한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행할 수 있는 비휘발성 메모리 장치의 프로그램 방법을 제공하는 것이다.
본 발명의 다른 목적은 컨트롤러에 의한 재프로그램을 위한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행할 수 있는 비휘발성 메모리 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 컨트롤러에 의한 재프로그램을 위한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행할 수 있는 비휘발성 메모리 장치를 포함하는 비휘발성 메모리 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 비휘발성 메모 리 장치의 프로그램 방법에서, 멀티 비트 데이터들이 멀티 레벨 셀들에 프리프로그램된다. 상기 프리프로그램된 멀티 비트 데이터들이 각각 상기 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 독출된다. 상기 독출된 멀티 비트 데이터들이 상기 멀티 레벨 셀들에 재프로그램된다.
일 실시예에서, 상기 상태 그룹은 서로 중첩되지 않은 문턱 전압 분포들을 포함할 수 있다.
일 실시예에서, 상기 멀티 비트 데이터들이 상기 멀티 레벨 셀들에 연결된 페이지 버퍼부에 로딩되고, 상기 페이지 버퍼부에 로딩된 상기 멀티 비트 데이터들이 상기 멀티 레벨 셀들에 프리프로그램될 수 있다.
일 실시예에서, 상기 상태 그룹 코드들은 상기 페이지 버퍼부에 로딩된 상기 멀티 비트 데이터들에 기초하여 생성될 수 있다.
일 실시예에서, 상기 상태 그룹 코드들은 상기 멀티 비트 데이터들 각각의 비트들에 로직 연산을 수행하여 생성될 수 있다.
일 실시예에서, 상기 상태 그룹 코드들이 상기 페이지 버퍼부에 일시적으로 저장될 수 있다.
일 실시예에서, 상기 상태 그룹 코드들이 싱글 레벨 셀들을 포함하는 상태 그룹 코드 메모리 블록에 저장될 수 있다.
일 실시예에서, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들이 프리프로그램된 직후 상기 멀티 레벨 셀들의 문턱 전압들이 확인되고, 상기 확인된 문턱 전 압들에 기초하여 상기 상태 그룹 코드들이 생성될 수 있다.
일 실시예에서, 컨트롤러로부터 상기 상태 그룹 코드들이 수신되고, 상기 멀티 레벨 셀들에 연결된 페이지 버퍼부에 상기 수신된 상태 그룹 코드들이 로딩될 수 있다.
일 실시예에서, 상기 멀티 비트 데이터들이 상기 페이지 버퍼부에 로딩될 때 상기 수신된 상태 그룹 코드들이 로딩될 수 있다.
일 실시예에서, 프리프로그램 검증 전압들을 이용하여 상기 멀티 레벨 셀들에 프리프로그램된 상기 멀티 비트 데이터들이 검증될 때 상기 수신된 상태 그룹 코드들이 로딩될 수 있다.
일 실시예에서, 상태 그룹별로 서로 다른 독출 전압들을 사용하여 상기 프리프로그램된 멀티 비트 데이터들이 독출될 수 있다.
일 실시예에서, 제1 워드 라인에 연결된 멀티 레벨 셀들에 제1 멀티 비트 데이터들이 프리프로그램되고, 상기 제1 멀티 비트 데이터들이 프리프로그램된 후 제2 워드 라인에 연결된 멀티 레벨 셀들에 제2 멀티 비트 데이터들이 프리프로그램되며, 상기 제2 멀티 비트 데이터들이 프리프로그램된 후 상기 제1 워드 라인에 연결된 멀티 레벨 셀들로부터 상기 제1 멀티 비트 데이터들이 독출될 수 있다. 상기 제2 워드 라인은 상기 제1 워드 라인과 인접할 수 있다.
일 실시예에서, 상기 멀티 비트 데이터들이 프리프로그램된 상기 멀티 레벨 셀들의 문턱 전압 분포들은 상기 멀티 레벨 셀들간의 커플링(coupling)에 의해 서로 중첩될 수 있다.
일 실시예에서, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들을 프리프로그램하기 위한 프리프로그램 검증 전압들 각각은 상기 멀티 레벨 셀들에 상기 독출된 멀티 비트 데이터들을 재프로그램하는 위한 재프로그램 검증 전압들 중 상응하는 재프로그램 검증 전압 보다 낮을 수 있다.
일 실시예에서, 상기 상태 그룹 코드들 각각의 비트수는 상기 멀티 레벨 셀들의 문턱 전압 분포들 중 어느 하나의 문턱 전압 분포와 중첩된 문턱 전압 분포들의 수에 따라 결정될 수 있다.
상기 다른 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치는 메모리 셀 어레이, 로우 디코더, 전압 생성기, 페이지 버퍼부 및 제어 회로를 포함한다.
상기 메모리 셀 어레이는 워드 라인들 및 비트 라인들에 연결된 멀티 레벨 셀들을 포함한다. 상기 로우 디코더는 상기 워드 라인들에 워드 라인 전압들을 전달한다. 상기 전압 생성기는 상기 워드 라인 전압들을 생성한다. 상기 페이지 버퍼부는 상기 비트 라인들에 연결되고, 멀티 비트 데이터들 및 각각 상기 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상태 그룹 코드들을 일시적으로 저장하는 페이지 버퍼들을 포함한다. 상기 제어 회로는 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들을 프리프로그램하고, 상기 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 상기 프리프로그램된 멀티 비트 데이터들을 독출하며, 상기 멀티 레벨 셀들에 상기 독출된 멀티 비트 데이터들을 재프로그램하도록 상기 로우 디코더, 상기 전압 생성기 및 상기 페이지 버퍼부를 제어한다.
일 실시예에서, 상기 페이지 버퍼들 각각은, 상기 비트 라인들 중 상응하는 비트 라인에 연결되고, 상기 멀티 비트 데이터들 중 상응하는 멀티 비트 데이터의 비트들을 일시적으로 저장하는 데이터 래치들을 포함할 수 있다.
일 실시예에서, 상기 데이터 래치들 중 적어도 하나의 데이터 래치에는 컨트롤러로부터 수신된 상태 그룹 코드가 일시적으로 저장될 수 있다.
일 실시예에서, 상기 적어도 하나의 데이터 래치에는 프리프로그램 검증 전압들을 이용하여 상기 멀티 레벨 셀들에 프리프로그램된 상기 멀티 비트 데이터들이 검증될 때 상기 컨트롤러로부터 수신된 상기 상태 그룹 코드가 일시적으로 저장될 수 있다.
일 실시예에서, 상기 데이터 래치들 중 적어도 하나의 데이터 래치에는 상기 상응하는 멀티 비트 데이터가 프리프로그램된 직후 상기 상응하는 비트 라인에 연결된 멀티 레벨 셀의 문턱 전압에 기초하여 생성된 상태 그룹 코드가 일시적으로 저장될 수 있다.
일 실시예에서, 상기 페이지 버퍼들 각각은, 상태 그룹 코드를 일시적으로 저장하는 적어도 하나의 상태 그룹 코드 래치를 더 포함할 수 있다.
일 실시예에서, 상기 적어도 하나의 상태 그룹 코드 래치에는 상기 멀티 비트 데이터들이 상기 페이지 버퍼부에 로딩될 때 컨트롤러로부터 수신된 상기 상태 그룹 코드가 일시적으로 저장될 수 있다.
일 실시예에서, 상기 페이지 버퍼들 각각은, 상기 데이터 래치들에 일시적으로 저장된 상기 비트들에 로직 연산을 수행하여 상기 상응하는 비트 라인에 연결된 멀티 레벨 셀의 상태 그룹 코드를 생성하는 로직 회로를 더 포함할 수 있다.
일 실시예에서, 상기 비휘발성 메모리 장치는 상기 상태 그룹 코드들을 저장하는 상태 그룹 코드 메모리 블록을 더 포함할 수 있다. 상기 상태 그룹 코드 메모리 블록은, 상기 상태 그룹 코드들을 저장하는 싱글 레벨 셀들을 포함할 수 있다.
상기 또 다른 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 비휘발성 메모리 시스템은 비휘발성 메모리 장치 및 컨트롤러를 포함한다.
상기 비휘발성 메모리 장치는 멀티 레벨 셀들에 멀티 비트 데이터들을 프리프로그램하고, 각각 상기 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 상기 프리프로그램된 멀티 비트 데이터들을 독출하며, 상기 멀티 레벨 셀들에 상기 독출된 멀티 비트 데이터들을 재프로그램한다. 상기 컨트롤러는 상기 비휘발성 메모리 장치를 제어한다.
일 실시예에서, 상기 컨트롤러는, 호스트로부터 전송된 상기 멀티 비트 데이터들을 일시적으로 저장하는 버퍼 메모리를 포함할 수 있다.
일 실시예에서, 상기 컨트롤러는 상기 버퍼 메모리에 저장된 멀티 비트 데이터들에 기초하여 상태 그룹 코드들을 생성할 수 있다.
상기와 같은 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템은 컨트롤러에 의한 재프로그램을 위한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행할 수 있다.
또한, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템은 재프로그램 동작 시간을 단축시킬 수 있다.
게다가, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템은 멀티 레벨 셀들간의 커플링(coupling)에 의해 문턱 전압 분포들이 중첩되더라도 멀티 레벨 셀들의 상태들을 용이하게 구분할 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들 어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정 의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 1을 참조하면, 비휘발성 메모리 장치의 프로그램 동작을 수행하도록, 멀티 레벨 셀들에 멀티 비트 데이터들을 프리프로그램한다(단계 S110). 상기 멀티 비트 데이터들 각각은 적어도 2비트 이상을 가진다. 상기 멀티 비트 데이터들은 페이지 단위로 상기 멀티 레벨 셀들에 프리프로그램될 수 있다. 일 실시예에서, 상기 멀티 비트 데이터들의 각 비트들이 순차적으로 프리프로그램됨으로써 프리프로그램 동작이 수행될 수 있다. 예를 들어, 상기 멀티 비트 데이터들 각각이 3비트를 가질 경우, 최하위 비트(least significant bit, LSB)를 프리프로그램하는 제1 페이지 프리프로그램이 수행된 후, 제2 비트를 프리프로그램하는 제2 페이지 프리프로그램이 수행될 수 있다. 상기 제2 페이지 프리프로그램이 수행된 후, 최상위 비트(most significant bit, MSB)를 프리프로그램하는 제3 페이지 프리프로그램이 수행될 수 있다. 다른 실시예에서, 상기 멀티 비트 데이터들의 모든 비트들이 동시에 프리프로그램될 수 있다. 상기 멀티 비트 데이터들이 프리프로그램되면, 상기 멀티 레벨 셀들은 상기 멀티 비트 데이터들에 상응하는 문턱 전압들을 가진다. 예를 들어, 상기 멀티 비트 데이터들 각각이 3비트를 가질 경우, 상기 멀티 레벨 셀들 각각은 8개의 문턱 전압 분포들(즉, 상태들) 중 어느 하나의 분포(즉, 상태)에 해당하는 문턱 전압을 가질 수 있다.
상기 멀티 비트 데이터들이 프리프로그램된 상기 멀티 레벨 셀들의 문턱 전압 분포들은 상기 멀티 레벨 셀들간의 커플링(coupling)에 의해 서로 중첩될 수 있다. 예를 들어, 인접한 멀티 레벨 셀들의 플로팅 게이트들 사이의 기생 커패시턴스(parasitic capacitance)에 기인한 용량성 커플링으로 인하여 상기 멀티 레벨 셀들의 문턱 전압들이 변동될 수 있다. 이러한 문턱 전압 변동(threshold voltage shift)에 의해 상기 문턱 전압 분포들이 넓어지고, 인접한 문턱 전압 분포들이 중첩될 수 있다.
상기 프리프로그램된 멀티 비트 데이터들은 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 독출된다(단계 S130). 상기 문턱 전압 분포들을 서로 중첩되지 않은 문턱 전압 분포들을 포함하는 상태 그룹들로 분할하고, 상기 상태 그룹들을 나타내는 상기 상태 그룹 코드들에 기초하여 상기 상태 그룹별로 독출 동작을 수행한다. 이에 따라, 상기 멀티 레벨 셀들간의 커플링에 의해 상기 문턱 전압 분포들이 중첩되더라도, 상기 멀티 레벨 셀들의 상태들이 구분될 수 있다.
상기 상태 그룹 코드들 각각은 상기 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타낸다. 상기 상태 그룹 코드들은 상기 멀티 비트 데이터들에 기초하여 상기 비휘발성 메모리 장치에서 또는 상기 비휘발성 메모리 장치에 연결 된 컨트롤러에서 생성될 수 있다. 일 실시예에서, 상기 상태 그룹 코드들은 상기 비휘발성 메모리 장치가 상기 페이지 버퍼부에 로딩된 상기 멀티 비트 데이터들 각각의 비트들에 로직 연산을 수행하여 생성될 수 있다. 다른 실시예에서, 상기 컨트롤러가 상기 멀티 비트 데이터들에 기초하여 상기 상태 그룹 코드들을 생성하고, 상기 생성된 상태 그룹 코드들을 상기 비휘발성 메모리 장치에 로딩할 수 있다. 또 다른 실시예에서, 상기 비휘발성 메모리 장치는 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들이 프리프로그램된 직후, 즉 상기 멀티 레벨 셀들간의 커플링에 의해 상기 문턱 전압 분포들이 중첩되기 전에 상기 멀티 레벨 셀들의 문턱 전압들을 확인하고, 상기 확인된 문턱 전압들에 기초하여 상기 상태 그룹 코드들을 생성할 수 있다.
상기 상태 그룹 코드들에 기초하여 서로 중첩되지 않은 문턱 전압 분포들을 포함하는 상태 그룹별로 상기 독출 동작이 수행됨으로써, 문턱 전압 분포들이 중첩된 영역의 문턱 전압도 상기 중첩된 문턱 전압 분포들 중 어느 분포에 속하는 문턱 전압인지 구분될 수 있다. 이에 따라, 상기 멀티 레벨 셀들간의 커플링에 의해 상기 문턱 전압 분포들이 중첩되더라도, 상기 프리프로그램된 멀티 비트 데이터들이 정확하게 독출될 수 있다.
상기 독출된 멀티 비트 데이터들이 상기 멀티 레벨 셀들에 재프로그램된다(단계 S150). 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들을 재프로그램하기 위한 재프로그램 검증 전압들 각각은 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들을 프리프로그램하는 위한 프리프로그램 검증 전압들 중 상응하는 프리프로그 램 검증 전압 보다 높을 수 있다. 예를 들어, 원하는 문턱 전압들 보다 낮은 문턱 전압들에 상응하는 상기 프리프로그램 검증 전압들을 이용하여 프리프로그램 동작을 수행하고, 재프로그램 동작 시 상기 프리프로그램 검증 전압들 보다 높은 상기 재프로그램 검증 전압들을 이용하여 상기 멀티 레벨 셀들을 상기 원하는 문턱 전압들로 프로그램할 수 있다.
상기 재프로그램 동작을 수행함으로써, 상기 멀티 레벨 셀들의 상기 문턱 전압 분포들 각각의 폭을 좁힐 수 있다. 재프로그램 동작 동안의 상기 멀티 레벨 셀들의 문턱 전압 상승이 프리프로그램 동작 동안의 문턱 전압 상승에 비하여 작으므로, 상기 재프로그램 동작 후 문턱 전압 분포들은 상기 프리프로그램 동작 후 보다 상기 커플링의 영향을 적게 받는다. 따라서, 상기 재프로그램 동작을 수행함으로써, 상기 멀티 레벨 셀들이 좁은 문턱 전압 분포들을 가질 수 있다.
종래의 비휘발성 메모리 장치에서는, 상기 프리프로그램 동작 후 상기 커플링에 의해 멀티 레벨 셀들의 문턱 전압 분포들이 중첩되는 경우, 상기 멀티 레벨 셀들의 상태들을 구분할 수 없다. 이에 따라, 종래의 비휘발성 메모리 장치에서는, 재프로그램 동작을 수행하기 위하여 컨트롤러에 의해 멀티 비트 데이터들이 다시 로딩되어야 한다. 그러나, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서는, 상기 프리프로그램 동작 후 상기 상태 그룹 코드들에 기초하여 독출 동작을 수행함으로써, 상기 문턱 전압 분포들이 중첩되더라도 상기 멀티 레벨 셀들로부터 프리프로그램된 멀티 비트 데이터들을 독출할 수 있다. 따라서, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법은 컨트롤러에 의한 재프로그램을 위한 풀-페이지(full-page) 데이터 로딩 없이 재프로그램 동작을 수행할 수 있고, 재프로그램 동작 시간을 단축시킬 수 있다.
도 2는 프리프로그램 동작 시 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 2를 참조하면, 멀티 비트 데이터들의 제1 비트들(예를 들어, LSBs)을 프리프로그램하는 제1 페이지 프리프로그램이 수행되면, 상기 멀티 레벨 셀들은 데이터 “1”에 상응하는 문턱 전압 분포(즉, 상태) 또는 데이터 “0”에 상응하는 문턱 전압 분포를 가질 수 있다. 일 실시예에서, 상기 데이터 “1”에 상응하는 문턱 전압 분포는 소거(erase)된 상태의 문턱 전압 분포일 수 있다.
상기 멀티 비트 데이터들의 제2 비트들을 프리프로그램하는 제2 페이지 프리프로그램이 수행되면, 상기 데이터 “1”에 상응하는 문턱 전압 분포를 가지는 멀티 레벨 셀들은 데이터 “11”에 상응하는 문턱 전압 분포 또는 데이터 “01”에 상응하는 문턱 전압 분포를 가질 수 있고, 상기 데이터 “0”에 상응하는 문턱 전압 분포를 가지는 멀티 레벨 셀들은 데이터 “00”에 상응하는 문턱 전압 분포 또는 데이터 “10”에 상응하는 문턱 전압 분포를 가질 수 있다.
상기 멀티 비트 데이터들의 제3 비트들(예를 들어, MSBs)을 프리프로그램하는 제3 페이지 프리프로그램이 수행되면, 상기 데이터 “11”에 상응하는 문턱 전압 분포를 가지는 멀티 레벨 셀들은 데이터 “111”에 상응하는 제1 문턱 전압 분포(E0) 또는 데이터 “011”에 상응하는 제2 문턱 전압 분포(P1)를 가질 수 있고, 상기 데이터 “01”에 상응하는 문턱 전압 분포를 가지는 멀티 레벨 셀들은 데이터 “001”에 상응하는 제3 문턱 전압 분포(P2) 또는 데이터 “101”에 상응하는 제4 문턱 전압 분포(P3)를 가질 수 있고, 상기 데이터 “00”에 상응하는 문턱 전압 분포를 가지는 멀티 레벨 셀들은 데이터 “100”에 상응하는 제5 문턱 전압 분포(P4) 또는 데이터 “000”에 상응하는 제6 문턱 전압 분포(P5)를 가질 수 있고, 상기 데이터 “10”에 상응하는 문턱 전압 분포를 가지는 멀티 레벨 셀들은 데이터 “010”에 상응하는 제7 문턱 전압 분포(P6) 또는 데이터 “110”에 상응하는 제8 문턱 전압 분포(P7)를 가질 수 있다.
상기 제3 페이지 프리프로그램은 프리프로그램 검증 전압들(VPREVRF1, VPREVRF2, VPREVRF3, VPREVRF4, VPREVRF5, VPREVRF6, VPREVRF7)을 이용하여 수행될 수 있다. 예를 들어, 데이터 “110”이 저장되는 멀티 레벨 셀들은 제7 프리프로그램 검증 전압(VPREVRF7) 이상의 문턱 전압들을 가지도록 프리프로그램되고, 데이터 “010”이 저장되는 멀티 레벨 셀들은 제6 프리프로그램 검증 전압(VPREVRF6) 이상의 문턱 전압들을 가지도록 프리프로그램되며, 데이터 “000”이 저장되는 멀티 레벨 셀들은 제5 프리프로그램 검증 전압(VPREVRF5) 이상의 문턱 전압들을 가지도록 프리프로그램되고, 데이터 “100”이 저장되는 멀티 레벨 셀들은 제4 프리프로그램 검증 전압(VPREVRF4) 이상의 문턱 전압들을 가지도록 프리프로그램되고, 데이터 “101”이 저장되는 멀티 레벨 셀들은 제3 프리프로그램 검증 전압(VPREVRF3) 이상의 문턱 전압들을 가지도록 프리프로그램되고, 데이터 “001”이 저장되는 멀티 레벨 셀들은 제2 프리프로그램 검증 전압(VPREVRF2) 이상의 문턱 전압들을 가지도록 프리프로그램되고, 데이터 “011”이 저장되는 멀티 레벨 셀들은 제1 프리프로그램 검증 전압(VPREVRF1) 이상의 문턱 전압들을 가지도록 프리프로그램될 수 있다.
실시예에 따라, 상기 제1 페이지 프리프로그램, 상기 제2 페이지 프리프로그램 및 상기 제3 페이지 프리프로그램 각각은 증가형 스텝 펄스 프로그램(incremental step pulse program, ISPP) 방식으로 수행될 수 있다. 예를 들어, 데이터 “110”을 프리프로그램할 때, 워드 라인에 점점 증가되는 프로그램 전압 및 프로그램 패스 확인을 위한 제7 프리프로그램 검증 전압(VPREVRF7)을 인가하여 프로그램 동작 및 검증 동작을 반복적으로 수행할 수 있다.
도 2에는 상기 멀티 비트 데이터들의 각 비트들이 순차적으로 프리프로그램되는 프리프로그램 동작이 도시되어 있으나, 실시예에 따라 상기 멀티 비트 데이터들의 모든 비트들이 동시에 프리프로그램될 수 있다. 또한, 도 2에는 그레이 배열(gray ordering) 방식으로 멀티 비트 데이터가 문턱 전압 분포들에 할당되는 프리프로그램 동작이 도시되어 있으나, 실시예에 따라 멀티 비트 데이터는 바이너리 배열(binary ordering) 방식으로 문턱 전압 분포들에 할당될 수 있다.
도 3은 독출 동작 시 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 3을 참조하면, 상기 멀티 레벨 셀들은 커플링에 의해 프리프로그램 동작 직후보다 넓어진 문턱 전압 분포들을 가진다. 인접한 멀티 레벨 셀들의 플로팅 게이트들 사이의 기생 커패시턴스에 기인한 용량성 커플링으로 인하여 상기 문턱 전압 분포들이 중첩될 수 있다. 예를 들어, 제2 문턱 전압 분포(P1)는 제3 문턱 전압 분포(P2)와 중첩될 수 있다. 이에 따라, 종래의 프로그램 방법에서는, 멀티 레벨 셀이 제2 문턱 전압 분포(P1)와 제3 문턱 전압 분포(P2)가 중첩된 범위 내의 문턱 전압을 가지는 경우, 상기 멀티 레벨 셀에 저장된 데이터를 독출할 수 없다. 그러나, 본 발명의 일 실시예에 따른 프로그램 방법에서는, 상태 그룹 코드들에 기초하여 상태 그룹별로 독출 동작을 수행함으로써, 상기 멀티 레벨 셀들에 프리프로그램된 멀티 비트 데이터들을 독출할 수 있다.
상기 독출 동작을 수행하기 위하여, 문턱 전압 분포들(E0, P1, P2, P3, P4, P5, P6, P7)을 서로 중첩되지 않은 문턱 전압 분포들을 포함하는 상태 그룹들(GROUP1, GROUP2)로 분할한다. 예를 들어, 제1 내지 제8 문턱 전압 분포들(E0, P1, P2, P3, P4, P5, P6, P7)을 제1 상태 그룹(GROUP1) 및 제2 상태 그룹(GROUP2)으로 분할할 수 있다. 제1 상태 그룹(GROUP1)은 서로 중첩되지 않은 제1 문턱 전압 분포(E0), 제3 문턱 전압 분포(P2), 제5 문턱 전압 분포(P4) 및 제7 문턱 전압 분포(P6)를 포함하고, 제2 상태 그룹(GROUP2)은 서로 중첩되지 않은 제2 문턱 전압 분포(P1), 제4 문턱 전압 분포(P3), 제6 문턱 전압 분포(P5) 및 제8 문턱 전압 분포(P7)를 포함할 수 있다. 각각 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상기 상태 그룹 코드들의 비트수는 상태 그룹들의 수에 따라 결정될 수 있다. 예를 들어, 상기 상태 그룹들의 수가 2인 경우 상기 상태 그룹 코드들의 비트수는 1이고, 상기 상태 그룹들의 수가 3 또는 4인 경우 상기 상태 그룹 코드들의 비트수는 2일 수 있다. 상기 상태 그룹들의 수는 상기 멀티 레벨 셀들의 문턱 전압 분포들 중 어느 하나의 문턱 전압 분포와 중첩된 문턱 전압 분포들의 수에 따라 결정될 수 있다.
상기 상태 그룹 코드들에 기초하여 상기 상태 그룹별로 상기 독출 동작이 수행될 수 있다. 상태 그룹 코드의 값이 “1”인 제1 상태 그룹(GROUP1)에 상응하는 멀티 레벨 셀들에 대한 독출 동작 및 상태 그룹 코드의 값이 “0”인 제2 상태 그룹(GROUP2)에 상응하는 멀티 레벨 셀들에 대한 독출 동작이 개별적으로 수행될 수 있다. 예를 들어, 제1 상태 그룹(GROUP1)에 대한 독출 동작 시, 상기 선택된 워드 라인에 읽기 전압(VREAD1-3)을 인가하였을 때 읽기 전압(VREAD1-3) 보다 높은 문턱 전압을 가지는 오프-셀(off-cell)들 중 상기 상태 그룹 코드의 값이 “1”인 멀티 레벨 셀들로부터만 데이터를 독출하고, 상기 상태 그룹 코드의 값이 “0”인 오프-셀들은 무시될 수 있다. 또한, 2 상태 그룹(GROUP2)에 대한 독출 동작 시, 상기 선택된 워드 라인에 읽기 전압(VREAD2-3)을 인가하였을 때 읽기 전압(VREAD2-3) 보다 높은 문턱 전압을 가지는 오프-셀(off-cell)들 중 상기 상태 그룹 코드의 값이 “0”인 멀티 레벨 셀들로부터만 데이터를 독출하고, 상기 상태 그룹 코드의 값이 “1”인 오프-셀들은 무시될 수 있다.
제1 상태 그룹(GROUP1)에 대한 독출 동작 시, 선택된 워드 라인에 제1 읽기 전압들(VREAD1-1, VREAD1-2, VREAD1-3)을 순차적으로 인가하여 제1 상태 그룹(GROUP1)에 상응하는 멀티 레벨 셀들 각각이 제1 문턱 전압 분포(E0), 제3 문턱 전압 분포(P2), 제5 문턱 전압 분포(P4) 및 제7 문턱 전압 분포(P6) 중 어느 분포를 가지는 지를 확인할 수 있다. 또한, 제2 상태 그룹(GROUP2)에 대한 독출 동작 시, 선택된 워드 라인에 제2 읽기 전압들(VREAD2-1, VREAD2-2, VREAD2-3)을 순차적으로 인가하여 제2 상태 그룹(GROUP2)에 상응하는 멀티 레벨 셀들 각각이 제2 문턱 전압 분포(P1), 제4 문턱 전압 분포(P3), 제6 문턱 전압 분포(P5) 및 제8 문턱 전압 분포(P7) 중 어느 분포를 가지는 지를 확인할 수 있다. 실시예에 따라, 제1 읽기 전압들(VREAD1-1, VREAD1-2, VREAD1-3) 및 제2 읽기 전압들(VREAD2-1, VREAD2-2, VREAD2-3)이 선택된 워드 라인에 인가되는 순서는 다양하게 변경될 수 있다.
이와 같이, 상기 상태 그룹 코드들에 기초하여 독출 동작을 수행함으로써, 상기 멀티 레벨 셀들간의 커플링에 의해 문턱 전압 분포들이 중첩되더라도 상기 멀티 레벨 셀들에 프리프로그램된 상기 멀티 비트 데이터들을 정확하게 독출할 수 있다.
도 4는 재프로그램 동작 시 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 4를 참조하면, 상기 멀티 레벨 셀들로부터 독출된 멀티 비트 데이터들에 기초하여 상기 멀티 레벨 셀들이 제1 내지 제8 문턱 전압 분포들(E0, P1, P2, P3, P4, P5, P6, P7)로 재프로그램될 수 있다. 상기 재프로그램 동작은 재프로그램 검증 전압들(VREVRF1, VREVRF2, VREVRF3, VREVRF4, VREVRF5, VREVRF6, VREVRF7)을 이용하여 수행될 수 있다. 예를 들어, 제8 문턱 전압 분포(P7)를 가지는 멀티 레벨 셀들은 제7 재프로그램 검증 전압(VREVRF7) 이상의 문턱 전압들을 가지도록 재프로그램될 수 있다.
실시예에 따라, 상기 재프로그램 동작은 ISPP 방식으로 수행될 수 있다. 예를 들어, 제8 문턱 전압 분포(P7)를 가지는 멀티 레벨 셀들을 재프로그램할 때, 워드 라인에 점점 증가되는 프로그램 전압 및 프로그램 패스 확인을 위한 제7 재프로 그램 검증 전압(VREVRF7)을 인가하여 프로그램 동작 및 검증 동작을 반복적으로 수행할 수 있다.
도 2의 프리프로그램 검증 전압들(VPREVRF1, VPREVRF2, VPREVRF3, VPREVRF4, VPREVRF5, VPREVRF6, VPREVRF7) 각각은 재프로그램 검증 전압들(VREVRF1, VREVRF2, VREVRF3, VREVRF4, VREVRF5, VREVRF6, VREVRF7) 중 상응하는 재프로그램 검증 전압 보다 낮을 수 있다. 예를 들어, 제1 프리프로그램 검증 전압(VPREVRF1)은 제1 재프로그램 검증 전압(VREVRF1)보다 낮을 수 있다. 원하는 문턱 전압들 보다 낮은 문턱 전압들에 상응하는 프리프로그램 검증 전압들(VPREVRF1, VPREVRF2, VPREVRF3, VPREVRF4, VPREVRF5, VPREVRF6, VPREVRF7)을 이용하여 프리프로그램 동작을 수행하고, 재프로그램 동작 시 프리프로그램 검증 전압들(VPREVRF1, VPREVRF2, VPREVRF3, VPREVRF4, VPREVRF5, VPREVRF6, VPREVRF7) 보다 높은 재프로그램 검증 전압들(VREVRF1, VREVRF2, VREVRF3, VREVRF4, VREVRF5, VREVRF6, VREVRF7)을 이용하여 상기 멀티 레벨 셀들을 상기 원하는 문턱 전압들로 프로그램할 수 있다.
상기 재프로그램 동작을 수행함으로써, 상기 멀티 레벨 셀들의 문턱 전압 분포들(P1, P2, P3, P4, P5, P6, P7) 각각의 폭을 좁힐 수 있다. 재프로그램 동작 동안의 상기 멀티 레벨 셀들의 문턱 전압 상승이 프리프로그램 동작 동안의 문턱 전압 상승에 비하여 작으므로, 상기 재프로그램 동작 후 문턱 전압 분포들은 상기 프리프로그램 동작 후 보다 상기 커플링의 영향을 적게 받는다. 따라서, 상기 재프로그램 동작을 수행함으로써, 상기 멀티 레벨 셀들이 좁은 문턱 전압 분포들을 가질 수 있다.
종래의 비휘발성 메모리 장치에서는, 상기 재프로그램 동작을 수행하기 위하여 컨트롤러에 의해 멀티 비트 데이터들이 다시 로딩되어야 한다. 그러나, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법에서는, 상기 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 프리프로그램된 멀티 비트 데이터들을 독출함으로써, 재프로그램을 위하여 컨트롤러에 의해 풀-페이지 데이터가 로딩되지 않고도 재프로그램 동작을 수행할 수 있고, 재프로그램 동작 시간을 단축시킬 수 있다.
도 5는 독출 동작 시 멀티 레벨 셀들의 문턱 전압 분포들의 다른 예를 나타내는 도면이다.
도 5에는 상기 멀티 레벨 셀들에 4비트의 데이터들이 저장될 때의 상기 독출 동작 시 상기 문턱 전압 분포들의 예가 도시되어 있다. 도 5를 참조하면, 상기 멀티 레벨 셀들은 커플링에 의해 프리프로그램 동작 직후보다 넓어진 문턱 전압 분포들(E0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)을 가진다. 상기 멀티 레벨 셀들의 문턱 전압 분포들(E0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)은 서로 중첩될 수 있다.
문턱 전압 분포들(E0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)은 서로 중첩되지 않은 문턱 전압 분포들을 포함하는 상태 그룹들(GROUP1, GROUP2, GROUP3, GROUP4)로 분할한다. 예를 들어, 문턱 전압 분포들(E0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)을 제1 상태 그룹(GROUP1), 제2 상태 그룹(GROUP2), 제3 상태 그룹(GROUP3) 및 제4 상태 그룹(GROUP4)으로 분할할 수 있다. 제1 상태 그룹(GROUP1)은 서로 중첩되지 않은 제1 문턱 전압 분포(E0), 제5 문턱 전압 분포(P4), 제9 문턱 전압 분포(P8) 및 제13 문턱 전압 분포(P12)를 포함하고, 제2 상태 그룹(GROUP2)은 서로 중첩되지 않은 제2 문턱 전압 분포(P1), 제6 문턱 전압 분포(P5), 제10 문턱 전압 분포(P9) 및 제14 문턱 전압 분포(P13)를 포함하며, 제3 상태 그룹(GROUP3)은 서로 중첩되지 않은 제3 문턱 전압 분포(P2), 제7 문턱 전압 분포(P6), 제11 문턱 전압 분포(P10) 및 제15 문턱 전압 분포(P14)를 포함하고, 제4 상태 그룹(GROUP4)은 서로 중첩되지 않은 제4 문턱 전압 분포(P3), 제8 문턱 전압 분포(P7), 제12 문턱 전압 분포(P11) 및 제16 문턱 전압 분포(P15)를 포함할 수 있다.
상태 그룹들(GROUP1, GROUP2, GROUP3, GROUP4)에는 상태 그룹 코드들이 할당될 수 있다. 예를 들어, 제1 상태 그룹(GROUP1)에는 상태 그룹 코드 “11”이 할당되고, 제2 상태 그룹(GROUP2)에는 상태 그룹 코드 “01”이 할당되며, 제3 상태 그룹(GROUP3)에는 상태 그룹 코드 “00”이 할당되고, 제4 상태 그룹(GROUP4)에는 상태 그룹 코드 “10”이 할당될 수 있다. 상기 상태 그룹 코드들 각각의 비트수는 어느 하나의 문턱 전압 분포와 중첩된 문턱 전압 분포들 중 상기 문턱 전압 분포 보다 큰 문턱 전압 분포들의 수 또는 작은 문턱 전압 분포들의 수에 의해 결정될 수 있다. 예를 들어, 제1 문턱 전압 분포(P1)와 제2 내지 제4 문턱 전압 분포들(P2, P3, P4)이 중첩되어 있으므로, 중첩되지 않은 문턱 전압 분포들을 포함하기 위하여 4개의 상태 그룹들이 필요하다. 이 경우, 상기 상태 그룹 코드들은 2비트를 가질 수 있다.
상기 상태 그룹 코드들에 기초하여 상기 상태 그룹별로 상기 독출 동작이 수행될 수 있다. 즉, 상기 상태 그룹 코드들에 따라 멀티 레벨 셀들에 대한 독출 동작들이 개별적으로 수행될 수 있다. 예를 들어, 제1 상태 그룹(GROUP1)에 대한 독출 동작 시, 상기 선택된 워드 라인에 읽기 전압(VREAD1-3)을 인가하였을 때 읽기 전압(VREAD1-3) 보다 높은 문턱 전압을 가지는 오프-셀(off-cell)들 중 상기 상태 그룹 코드의 값이 “11”인 멀티 레벨 셀들로부터만 데이터를 독출하고, 상기 상태 그룹 코드의 값이 “01”, “00” 또는 “10”인 오프-셀들은 무시될 수 있다.
이와 같이, 상기 상태 그룹 코드들에 기초하여 독출 동작을 수행함으로써, 상기 멀티 레벨 셀들간의 커플링에 의해 문턱 전압 분포들이 중첩되더라도 상기 멀티 레벨 셀들에 프리프로그램된 상기 멀티 비트 데이터들을 정확하게 독출할 수 있다.
도 5에는 4개의 상태 그룹들이 필요한 예가 도시되어 있으나, 중첩된 문턱 전압들의 수는 셀간 간격, ISPP의 횟수, 프로그램 전압의 증가분 등에 의해 변경될 수 있다.
도 6은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 6을 참조하면, 비휘발성 메모리 장치(200)는 메모리 셀 어레이(210), 페이지 버퍼부(220), 로우 디코더(230), 전압 생성기(240) 및 제어 회로(250)를 포함한다.
메모리 셀 어레이(210)는 워드 라인들 및 비트 라인들에 연결된 멀티 레벨 셀들을 포함한다. 상기 멀티 레벨 셀들 각각은 2 비트 이상을 가지는 멀티 비트 데이터를 저장할 수 있다. 상기 멀티 레벨 셀들에는 프리프로그램 동작, 독출 동작 및 재프로그램 동작이 수행되어 멀티 비트 데이터들이 프로그램될 수 있다.
상기 멀티 레벨 셀들은 프리프로그램 검증 전압들을 이용하여 원하는 문턱 전압들 보다 낮은 문턱 전압들로 프리프로그램 될 수 있다. 상기 멀티 비트 데이터들이 프리프로그램된 멀티 레벨 셀들은 커플링에 의해 중첩되는 문턱 전압들을 가질 수 있다. 서로 중첩되지 않는 문턱 전압들을 포함하는 상태 그룹들을 나타내는 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 상기 프리프로그램된 멀티 비트 데이터들을 독출할 수 있다. 상기 멀티 레벨 셀들에는 상기 프리프로그램 검증 전압들 보다 높은 레벨들을 가지는 재프로그램 검증 전압들을 이용하여 상기 독출된 멀티 비트 데이터들이 재프로그램될 수 있다. 이에 따라, 상기 멀티 레벨 셀들은 상기 원하는 문턱 전압들로 프로그램될 수 있다.
페이지 버퍼부(220)는 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작할 수 있다. 예를 들어, 페이지 버퍼부(220)는 독출 동작 모드에서 감지 증폭기로서 동작하고, 프로그램 동작 모드에서 기입 드라이버로서 동작할 수 있다. 페이지 버퍼부(220)는 상기 비트 라인들에 연결되고, 상기 멀티 비트 데이터들 및 각각 상기 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상태 그룹 코드들을 일시적으로 저장하는 페이지 버퍼들을 포함할 수 있다. 상기 페이지 버퍼들 각각은 상기 비트 라인들 중 상응하는 비트 라인에 연결된 데이터 래치들을 포함할 수 있다. 상기 데이터 래치들은 상기 멀티 비트 데이터들 중 상응 하는 멀티 비트 데이터의 비트들을 일시적으로 저장한다.
일 실시예에서, 상기 데이터 래치들 중 적어도 하나의 데이터 래치에는 컨트롤러로부터 수신된 상태 그룹 코드가 일시적으로 저장될 수 있다. 일 예에서, 상기 멀티 비트 데이터들이 페이지 버퍼부(220)에 로딩될 때, 상기 적어도 하나의 데이터 래치에 상기 컨트롤러로부터 수신된 상태 그룹 코드가 일시적으로 저장될 수 있다. 다른 예에서, 상기 프리프로그램 동작 동안 상기 프리프로그램 검증 전압들을 이용하여 상기 멀티 레벨 셀들에 프리프로그램된 상기 멀티 비트 데이터들이 검증될 때, 상기 적어도 하나의 데이터 래치에 상기 컨트롤러로부터 수신된 상태 그룹 코드가 일시적으로 저장될 수 있다.
다른 실시예에서, 상태 그룹 코드가 상기 프리프로그램 동작 직후 상기 상응하는 비트 라인에 연결된 멀티 레벨 셀의 문턱 전압에 기초하여 생성되고, 상기 데이터 래치들 중 적어도 하나의 데이터 래치에는 상기 문턱 전압에 기초하여 생성된 상태 그룹 코드가 일시적으로 저장될 수 있다.
또 다른 실시예에서, 상기 페이지 버퍼들 각각은, 상기 데이터 래치들에 일시적으로 저장된 상기 비트들에 로직 연산을 수행하여 상기 상응하는 비트 라인에 연결된 멀티 레벨 셀의 상태 그룹 코드를 생성하는 로직 회로를 더 포함할 수 있다. 상기 페이지 버퍼들 각각은, 상기 로직 회로에서 생성된 상기 상태 그룹 코드를 일시적으로 저장하는 적어도 하나의 상태 그룹 코드 래치를 더 포함할 수 있다.
로우 디코더(230)는 로우 어드레스에 응답하여 워드 라인을 선택할 수 있다. 로우 디코더(230)는 전압 생성기(240)로부터 제공되는 워드 라인 전압들을 선택 및 비선택된 워드 라인들로 전달한다. 프로그램 동작 시, 로우 디코더(230)는 선택된 워드 라인에 프로그램 전압을 전달하고, 비선택된 워드 라인에 패스 전압을 전달할 수 있다.
전압 생성기(240)는 제어 회로(250)의 제어에 따라 프로그램을 위한 프로그램 전압, 패스 전압, 프리프로그램 검증 전압, 재프로그램 검증 전압 및 독출 전압과 같은 워드 라인 전압들을 생성할 수 있다. 일 실시예에서, 상기 프로그램 전압은 ISPP 전압일 수 있다. 상기 프리프로그램 검증 전압은 상기 재프로그램 검증 전압 보다 낮을 수 있다.
제어 회로(250)는 상기 컨트롤러로부터 제공되는 상기 멀티 비트 데이터들을 메모리 셀 어레이(210)에 프로그램하기 위하여 페이지 버퍼부(220), 로우 디코더(230) 및 전압 생성기(240)를 제어할 수 있다. 제어 회로(250)는 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들을 프리프로그램하고, 상기 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 상기 프리프로그램된 멀티 비트 데이터들을 독출하며, 상기 멀티 레벨 셀들에 상기 독출된 멀티 비트 데이터들을 재프로그램하도록 로우 디코더(230), 전압 생성기(240) 및 페이지 버퍼부(220)를 제어할 수 있다. 예를 들어, 제어 회로(250)는 프로그램 동작 시 선택된 워드 라인에 상기 프로그램 전압, 상기 프리프로그램 검증 전압 또는 상기 재프로그램 검증 전압을 인가하고, 비선택된 워드 라인들에 패스 전압이 인가되도록 로우 디코더(230) 및 전압 생성기(240)를 제어할 수 있다.
비휘발성 메모리 장치(200)는 상기 프리프로그램 동작 후 상기 상태 그룹 코 드들에 기초하여 상기 독출 동작을 수행한다. 이에 따라, 비휘발성 메모리 장치(200)는 재프로그램을 위하여 컨트롤러에 의해 풀-페이지 데이터가 로딩되지 않고도 재프로그램 동작을 수행할 수 있고, 재프로그램 동작 시간을 단축시킬 수 있다.
도 7은 도 6의 비휘발성 메모리 장치에 포함된 메모리 셀 어레이의 일 예를 나타내는 블록도이다.
도 7을 참조하면, 메모리 셀 어레이(210)는 스트링 선택 트랜지스터들(211), 접지 선택 트랜지스터들(212) 및 멀티 레벨 셀들(213)을 포함한다.
스트링 선택 트랜지스터들(211)은 비트 라인들(BL1, BLM)에 연결되고, 접지 선택 트랜지스터들(212)은 공통 소스 라인(CSL)에 연결될 수 있다. 스트링 선택 트랜지스터들(211)과 접지 선택 트랜지스터들(212) 사이에는 멀티 레벨 셀들(213)이 직렬로 연결될 수 있다. 동일한 행에 배열된 멀티 레벨 셀들(213)의 제어 게이트들은 대응되는 워드 라인(WL1, WL2, WL3, WLN-1, WLN)에 공통으로 연결될 수 있다. 스트링 선택 트랜지스터들(211)은 스트링 선택 라인(SSL)을 통해 인가되는 전압에 의해 제어되고, 접지 선택 트랜지스터들(212)은 접지 선택 라인(GSL)을 통해 인가되는 전압에 의해 제어될 수 있다. 멀티 레벨 셀들(213)은 대응하는 워드 라인(WL1, WL2, WL3, WLN-1, WLN)을 통해 인가되는 전압에 의해서 제어될 수 있다. 멀티 레벨 셀들(213)에는 멀티 비트 데이터들이 프로그램될 수 있다.
도 8은 도 1의 비휘발성 메모리 장치의 프로그램 방법의 일 예를 나타내는 순서도이다.
도 7 및 도 8을 참조하면, 다음 워드 라인에 연결된 멀티 레벨 셀들에 프리프로그램 동작이 수행된 후, 현재 워드 라인에 연결된 멀티 레벨 셀들에 독출 동작 및 재프로그램 동작이 수행된다.
예를 들어, 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들에 제1 멀티 비트 데이터들이 프리프로그램된다(단계 S310). 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들에 대한 독출 동작 및 재프로그램 동작이 수행되기 전에 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀들에 제2 멀티 비트 데이터들이 프리프로그램된다(단계 S310). 실시예에 따라, 상기 프리프로그램 동작은 각 비트들을 프리프로그램하는 페이지 프리프로그램 동작들을 포함할 수 있고, 페이지 프리프로그램 동작들 사이에 인접한 워드 라인에 대한 페이지 프리프로그램 동작이 수행될 수 있다. 예를 들어, 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들의 제1 페이지 프리프로그램, 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀들의 제1 페이지 프리프로그램, 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들의 제2 페이지 프리프로그램, 제3 워드 라인(WL3)에 연결된 멀티 레벨 셀들의 제1 페이지 프리프로그램, 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀들의 제2 페이지 프리프로그램 및 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들의 제3 페이지 프리프로그램의 순으로 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들에 대한 프리프로그램 동작이 수행될 수 있다. 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들에 대한 프리프로그램 동작 후, 제4 워드 라인에 연결된 멀티 레벨 셀들의 제1 페이지 프리프로그램, 제3 워드 라인(WL3)에 연결된 멀티 레벨 셀들의 제2 페이지 프리프로그램 및 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀들의 제3 페이지 프리프로그램의 순으로 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀들에 대한 프리프로그램 동작이 수행될 수 있다.
제2 워드 라인(WL2)에 연결된 멀티 레벨 셀들에 대한 프리프로그램 동작이 수행된 후, 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들로부터 상기 제1 멀티 비트 데이터들이 독출되고(단계 S320), 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들에 상기 독출된 제1 멀티 비트 데이터들이 재프로그램된다(단계 S330).
제1 워드 라인(WL1)에 연결된 멀티 레벨 셀들에 대한 독출 동작 및 재프로그램 동작이 수행된 후, 제3 워드 라인(WL3)에 연결된 멀티 레벨 셀들에 제3 멀티 비트 데이터들이 프리프로그램된다(단계 S310). 제3 워드 라인(WL3)에 연결된 멀티 레벨 셀들에 대한 프리프로그램 동작이 수행된 후, 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀들로부터 상기 제2 멀티 비트 데이터들이 독출되고(단계 S320), 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀들에 상기 독출된 제2 멀티 비트 데이터들이 재프로그램된다(단계 S330). 이와 유사한 방식으로, 워드 라인들(WL1, WL2, WL3, WLN-1, WLN)에 연결된 멀티 레벨 셀들(213)에 멀티 비트 데이터들이 프로그램될 수 있다.
이와 같이, 다음 워드 라인에 연결된 멀티 레벨 셀들에 프리프로그램 동작이 수행된 후, 현재 워드 라인에 연결된 멀티 레벨 셀들에 독출 동작 및 재프로그램 동작이 수행됨으로써, 상기 재프로그램 동작 후 인접한 워드 라인에 연결된 멀티 레벨 셀들에 의한 커플링의 영향을 최소화할 수 있다.
도 9는 도 6의 비휘발성 메모리 장치에 포함된 페이지 버퍼의 일 예를 나타 내는 블록도이다.
도 9를 참조하면, 페이지 버퍼(221a)는 제1 데이터 래치(222a), 제2 데이터 래치(223a) 및 제3 데이터 래치(224a)를 포함한다.
제1 데이터 래치(222a), 제2 데이터 래치(223a) 및 제3 데이터 래치(224a)에는 멀티 비트 데이터가 일시적으로 저장될 수 있다. 예를 들어, 제1 데이터 래치(222a)에는 상기 멀티 비트 데이터의 제1 비트(예를 들어, LSB)가 저장되고, 제2 데이터 래치(223a)에는 상기 멀티 비트 데이터의 제2 비트가 저장되며, 제3 데이터 래치(224a)에는 상기 멀티 비트 데이터의 제3 비트(예를 들어, MSB)가 저장될 수 있다. 제3 데이터 래치(224a)에는 비트 라인을 통하여 연결된 멀티 레벨 셀의 상태 그룹 코드가 저장될 수 있다.
일 실시예에서, 제3 데이터 래치(224a)에는 상기 멀티 레벨 셀에 프리프로그램된 멀티 비트 데이터가 검증될 때 컨트롤러로부터 수신된 상태 그룹 코드가 일시적으로 저장될 수 있다.
예를 들어, 다시 도 7을 참조하면, 페이지 버퍼(221a)에는 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 제2 멀티 비트 데이터가 로딩된다. 페이지 버퍼(221a)에 로딩된 상기 제2 멀티 비트 데이터에 기초하여 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작 동안 또는 상기 프리프로그램 동작이 수행된 후, 제3 데이터 래치(224a)에는 상기 컨트롤러로부터 수신된 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀의 상태 그룹 코드가 로딩될 수 있다. 일 실시예 에서, 상기 상태 그룹 코드는 상기 프리프로그램 동작의 검증 동작 동안 로딩될 수 있다. 예를 들어, 도 4의 제5 문턱 전압(P4)에 대한 검증 동작이 수행된 후 상기 컨트롤러로부터 수신된 상기 상태 그룹 코드가 제3 데이터 래치(224a)에 저장될 수 있다.
상기 상태 그룹 코드가 로딩된 후, 제3 데이터 래치(224a)에 저장된 상기 상태 그룹 코드에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 독출 동작이 수행된다. 상기 독출 동작이 수행되면, 페이지 버퍼(221a)에는 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 프리프로그램된 제1 멀티 비트 데이터가 저장된다. 예를 들어, 상기 제1 멀티 비트 데이터가 “001”인 경우, 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀은 도 3의 제3 문턱 전압 분포(P2)를 가진다. 제3 문턱 전압 분포(P2)는 제1 상태 그룹(GROUP1)에 포함되므로, 제3 데이터 래치(224a)에 저장된 상기 상태 그룹 코드는 “1”이다. 상기 독출 동작이 수행되면, 제1 데이터 래치(222a) 및 제2 데이터 래치(223a)에는 상기 제1 멀티 비트 데이터의 제1 비트인 “1” 및 제2 비트인 “0”이 저장될 수 있다. 또한, 제3 데이터 래치(224a)에 저장된 상기 상태 그룹 코드는 제1 데이터 래치(222a) 및 제2 데이터 래치(223a)에 저장된 비트들에 기초하여 반전될 수 있다. 일 실시예에서, 제1 데이터 래치(222a) 및 제2 데이터 래치(223a)에 저장된 비트들이 “10” 또는 “01”인 경우, 제3 데이터 래치(224a)에 저장된 비트가 반전될 수 있다. 상기 상태 그룹 코드 “1”이 반전되어, 제3 데이터 래치(224a)에는 “0”이 저장된다. 이에 따라, 상기 독출 동작이 수행 후, 페이지 버퍼(221a)에는 상기 제1 멀티 비트 데이터 “001”이 저장 된다.
제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 상기 독출 동작이 수행된 후, 페이지 버퍼(221a)에 저장된 상기 제1 멀티 비트 데이터에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 재프로그램 동작이 수행된다. 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 상기 재프로그램 동작이 수행된 후, 페이지 버퍼(221a)에는 제3 워드 라인(WL3)에 연결된 멀티 레벨 셀에 대한 제3 멀티 비트 데이터가 로딩된다. 페이지 버퍼(221a)에 저장된 상기 제3 멀티 비트 데이터에 기초하여 제3 워드 라인(WL3)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 상기 프리프로그램 동작 동안 제3 데이터 래치(224a)에는 상기 컨트롤러로부터 수신된 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀의 상태 그룹 코드가 로딩될 수 있다.
이와 같이, 페이지 버퍼(221a)를 포함하는 비휘발성 메모리 장치는 3 페이지를 가지는 풀-페이지 데이터 로딩 없이 1 페이지를 가지는 상태 그룹 코드 로딩만으로 재프로그램 동작을 수행할 수 있다. 이에 따라, 재프로그램 동작 시간이 단축될 수 있다. 게다가, 상기 상태 그룹 코드 로딩이 프리프로그램 동작 동안 수행되는 경우, 상기 재프로그램 동작 시간은 더욱 단축될 수 있다. 또한, 페이지 버퍼(221a)를 포함하는 비휘발성 메모리 장치를 제어하는 컨트롤러는 멀티 비트 데이터를 저장하는 버퍼 메모리를 효율적으로 활용할 수 있다. 게다가, 페이지 버퍼(221a)를 포함하는 비휘발성 메모리 장치는 별도의 래치 추가 없이 상태 그룹 코드를 저장할 수 있다.
도 10은 도 6의 비휘발성 메모리 장치에 포함된 페이지 버퍼의 다른 예를 나타내는 블록도이다.
도 10을 참조하면, 페이지 버퍼(221b)는 제1 데이터 래치(222b), 제2 데이터 래치(223b), 제3 데이터 래치(224b) 및 상태 그룹 코드 래치(225b)를 포함한다.
제1 데이터 래치(222b), 제2 데이터 래치(223b) 및 제3 데이터 래치(224b)에는 멀티 비트 데이터가 일시적으로 저장될 수 있다. 상태 그룹 코드 래치(225b)에는 제1 상태 그룹 코드가 일시적으로 저장될 수 있다. 또한, 제3 데이터 래치(224b)에는 제2 상태 그룹 코드가 일시적으로 저장될 수 있다. 예를 들어, 상기 제1 상태 그룹 코드는 현재 선택된 워드 라인에 연결된 멀티 레벨 셀의 상태 그룹 코드이고, 상기 제2 상태 그룹 코드는 인접한 워드 라인에 연결된 멀티 레벨 셀의 상태 그룹 코드일 수 있다.
일 실시예에서, 제3 데이터 래치(224b) 또는 상태 그룹 코드 래치(225b)에는 프리프로그램 동작이 수행된 직후 멀티 레벨 셀의 문턱 전압을 확인하여 생성된 상태 그룹 코드가 일시적으로 저장될 수 있다.
예를 들어, 다시 도 7을 참조하면, 제1 데이터 래치(222b), 제2 데이터 래치(223b) 및 제3 데이터 래치(224b)에 제1 멀티 레벨 데이터가 로딩되고, 상기 로딩된 제1 멀티 레벨 데이터에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 상기 프리프로그램 동작이 수행된 직후, 즉 커플링에 의해 문턱 전압 분포들이 중첩되기 전에 제1 워드 라인(WL1)에 독출 전압을 인가하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀의 문턱 전압을 확인하 여 상태 그룹 코드를 생성하고, 상기 생성된 상태 그룹 코드를 상태 그룹 코드 래치(225b)에 저장할 수 있다. 제1 데이터 래치(222b), 제2 데이터 래치(223b) 및 제3 데이터 래치(224b)에 제2 멀티 레벨 데이터가 로딩되고, 상기 로딩된 제2 멀티 레벨 데이터에 기초하여 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 상기 프리프로그램 동작이 수행된 직후, 제2 워드 라인(WL2)에 독출 전압을 인가하여 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀의 상태 그룹 코드를 제3 데이터 래치(224b)에 저장할 수 있다. 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작 및 상태 그룹 코드 독출 동작이 수행된 후, 상태 그룹 코드 래치(225b)에 저장된 상태 그룹 코드에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 독출 동작 및 재프로그램 동작이 수행될 수 있다.
다른 실시예에서, 프리프로그램 동작 동안, 예를 들어, 프리프로그램 검증 전압들을 이용하여 멀티 레벨 셀에 프리프로그램된 멀티 비트 데이터가 검증되는 동안 컨트롤러로부터 상태 그룹 코드를 수신하고, 제3 데이터 래치(224b) 또는 상태 그룹 코드 래치(225b)에는 상기 컨트롤러로부터 수신된 상기 상태 그룹 코드가 일시적으로 저장될 수 있다.
예를 들어, 다시 도 7을 참조하면, 제1 데이터 래치(222b), 제2 데이터 래치(223b) 및 제3 데이터 래치(224b)에 제1 멀티 레벨 데이터가 로딩되고, 상기 로딩된 제1 멀티 레벨 데이터에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 상기 프리프로그램 동작이 수행되는 동안, 예를 들어, 상기 프리프로그램 동작의 검증 동작 동안, 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀의 상태 그룹 코드가 상기 컨트롤러에 의해 상태 그룹 코드 래치(225b)에 로딩될 수 있다. 그 후, 제1 데이터 래치(222b), 제2 데이터 래치(223b) 및 제3 데이터 래치(224b)에 제2 멀티 레벨 데이터가 로딩되고, 상기 로딩된 제2 멀티 레벨 데이터에 기초하여 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 상기 프리프로그램 동작 동안, 상기 컨트롤러에 의해 제3 데이터 래치(224b)에 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀의 상태 그룹 코드가 로딩될 수 있다. 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작 및 상태 그룹 코드 로딩이 수행된 후, 상태 그룹 코드 래치(225b)에 저장된 상태 그룹 코드에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 독출 동작 및 재프로그램 동작이 수행될 수 있다.
이와 같이, 페이지 버퍼(221b)를 포함하는 비휘발성 메모리 장치는 컨트롤러에 의한 재프로그램을 위한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행하여 재프로그램 동작 시간을 단축시킬 수 있다. 일 실시예에서, 페이지 버퍼(221b)를 포함하는 비휘발성 메모리 장치는 상태 그룹 코드를 상기 비휘발성 메모리 장치가 생성하여 상기 컨트롤러는 프리프로그램을 위한 풀-페이지 데이터 로딩 후 버퍼 메모리에 저장된 멀티 비트 데이터를 삭제하여 상기 버퍼 메모리를 효율적으로 활용할 수 있다. 다른 실시예에서, 페이지 버퍼(221b)를 포함하는 비휘발성 메모리 장치는 상태 그룹 코드 로딩을 프리프로그램 동작 동안 수행하여 상기 재프로그램 동작 시간을 더욱 단축시킬 수 있다.
도 11은 도 6의 비휘발성 메모리 장치에 포함된 페이지 버퍼의 또 다른 예를 나타내는 블록도이다.
도 11을 참조하면, 페이지 버퍼(221c)는 제1 데이터 래치(222c), 제2 데이터 래치(223c), 제3 데이터 래치(224c), 제1 상태 그룹 코드 래치(225c) 및 제2 상태 그룹 래치(226c)를 포함한다.
제1 데이터 래치(222c), 제2 데이터 래치(223c) 및 제3 데이터 래치(224c)에는 멀티 비트 데이터가 일시적으로 저장될 수 있다. 제1 상태 그룹 코드 래치(225c)에는 제1 상태 그룹 코드가 일시적으로 저장되고, 제2 상태 그룹 코드 래치(226)에는 제2 상태 그룹 코드가 일시적으로 저장될 수 있다. 예를 들어, 상기 제1 상태 그룹 코드는 현재 선택된 워드 라인에 연결된 멀티 레벨 셀의 상태 그룹 코드이고, 상기 제2 상태 그룹 코드는 인접한 워드 라인에 연결된 멀티 레벨 셀의 상태 그룹 코드일 수 있다.
일 실시예에서, 제1 상태 그룹 코드 래치(225c) 또는 제2 상태 그룹 코드 래치(226)에는 프리프로그램 동작을 위해 페이지 버퍼(221c)에 로딩된 멀티 비트 데이터에 기초하여 생성된 상태 그룹 코드가 일시적으로 저장될 수 있다. 페이지 버퍼(221c)는 제1 데이터 래치(222c), 제2 데이터 래치(223c) 및 제3 데이터 래치(224c)에 일시적으로 저장된 상기 멀티 비트 데이터의 비트들에 로직 연산을 수행하여 상기 상태 그룹 코드를 생성하는 로직 회로를 더 포함할 수 있다.
예를 들어, 다시 도 7을 참조하면, 제1 데이터 래치(222c), 제2 데이터 래치(223c) 및 제3 데이터 래치(224c)에 제1 멀티 레벨 데이터가 로딩되고, 상기 제1 멀티 레벨 데이터에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 상태 그룹 코드가 생성된다. 상기 상태 그룹 코드는 제1 상태 그룹 코드 래치(225c)에 일시적으로 저장된다. 상기 로딩된 제1 멀티 레벨 데이터에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 그 후, 제1 데이터 래치(222c), 제2 데이터 래치(223c) 및 제3 데이터 래치(224c)에 제2 멀티 레벨 데이터가 로딩되고, 상기 제2 멀티 레벨 데이터에 기초하여 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 상태 그룹 코드가 생성된다. 상기 상태 그룹 코드는 제2 상태 그룹 코드 래치(226c)에 일시적으로 저장된다. 상기 로딩된 제2 멀티 레벨 데이터에 기초하여 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된 후, 제1 상태 그룹 코드 래치(225c)에 저장된 상태 그룹 코드에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 독출 동작 및 재프로그램 동작이 수행될 수 있다.
다른 실시예에서, 제1 상태 그룹 코드 래치(225c) 또는 제2 상태 그룹 코드 래치(226)에는 프리프로그램 동작을 위해 페이지 버퍼(221c)에 멀티 비트 데이터가 로딩될 때, 컨트롤러로부터 수신된 상태 그룹 코드가 일시적으로 저장될 수 있다.
예를 들어, 다시 도 7을 참조하면, 제1 데이터 래치(222c), 제2 데이터 래치(223c) 및 제3 데이터 래치(224c)에 제1 멀티 레벨 데이터가 로딩될 때, 상기 컨트롤러에 의해 제1 상태 그룹 코드 래치(225c)에 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 상태 그룹 코드가 로딩될 수 있다. 상기 로딩된 제1 멀티 레벨 데이터에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 그 후, 제1 데이터 래치(222c), 제2 데이터 래치(223c) 및 제3 데이터 래치(224c)에 제2 멀티 레벨 데이터가 로딩되고, 상기 컨트롤러에 의해 제2 상태 그룹 코드 래치(226c)에 제1 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 상태 그룹 코드가 로딩될 수 있다. 상기 로딩된 제2 멀티 레벨 데이터에 기초하여 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된다. 제2 워드 라인(WL2)에 연결된 멀티 레벨 셀에 대한 프리프로그램 동작이 수행된 후, 제1 상태 그룹 코드 래치(225c)에 저장된 상태 그룹 코드에 기초하여 제1 워드 라인(WL1)에 연결된 멀티 레벨 셀에 대한 독출 동작 및 재프로그램 동작이 수행될 수 있다.
이와 같이, 페이지 버퍼(221c)를 포함하는 비휘발성 메모리 장치는 컨트롤러에 의한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행하여 재프로그램 동작 시간을 단축시킬 수 있다.
도 12는 도 6의 비휘발성 메모리 장치에 포함된 메모리 셀 어레이의 일 예를 나타내는 블록도이다.
도 12를 참조하면, 메모리 셀 어레이(210)는 복수의 데이터 블록들(214, 215, 216) 및 상태 그룹 코드 메모리 블록(217)을 포함한다.
복수의 데이터 블록들(214, 215, 216)은 멀티 비트 데이터들을 저장하는 멀티 레벨 셀들을 포함한다. 상태 그룹 코드 메모리 블록(217)은 복수의 데이터 블록들(214, 215, 216)에 포함된 상기 멀티 레벨 셀들의 상태 그룹 코드들을 저장할 수 있다. 일 실시예에서, 상태 그룹 코드 메모리 블록(217)은 싱글 레벨 셀들을 포함할 수 있다. 일 실시예에서, 상태 그룹 코드 메모리 블록(217)은 프리프로그램 동작을 위해 도 6의 페이지 버퍼부(220)에 로딩된 멀티 비트 데이터들에 기초하여 생성된 상태 그룹 코드들을 저장할 수 있다. 다른 실시예에서, 상태 그룹 코드 메모리 블록(217)은 프리프로그램 동작을 위해 도 6의 페이지 버퍼부(220)에 멀티 비트 데이터들이 로딩될 때, 컨트롤러로부터 수신된 상태 그룹 코드들을 저장할 수 있다. 상태 그룹 코드 메모리 블록(217)에 저장된 상태 그룹 코드들이 독출됨으로써, 재프로그램 동작을 위한 독출 동작이 수행될 수 있다.
이와 같이, 상태 그룹 코드 메모리 블록(217)을 포함하는 비휘발성 메모리 장치는 컨트롤러에 의한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행하여 재프로그램 동작 시간을 단축시킬 수 있다.
도 13은 도 6의 비휘발성 메모리 장치에 포함된 로직 회로를 나타내는 블록도이다.
도 13을 참조하면, 로직 회로(260)는 멀티 비트 데이터에 기초하여 상태 그룹 코드를 생성한다. 일 실시예에서, 로직 회로(260)는 도 6의 페이지 버퍼(221)에 포함될 수 있다. 다른 실시예에서, 도 6의 제어 회로(250)에 포함될 수 있다. 예를 들어, 로직 회로(260)는 프리프로그램 동작을 위해 도 6의 페이지 버퍼(221)에 로딩된 멀티 비트 데이터의 비트들에 로직 연산을 수행하여 상기 상태 그룹 코드를 생성할 수 있다.
도 14a 및 14b는 도 13의 로직 회로의 예들을 나타내는 블록도들이다.
도 14a를 참조하면, 로직 회로(260a)는 AND 게이트들(261a, 262a, 263a, 264a) 및 OR 게이트(265a)를 포함한다. 제1 AND 게이트(261a)는 멀티 비트 데이터의 제1 비트(B1), 제2 비트(B2) 및 제3 비트(B3)가 모두 “1”일 때, “1”을 출력할 수 있다. 여기서, 제1 비트(B1)는 최하위 비트(LSB)이고, 제3 비트(B3)는 최상위 비트(MSB)일 수 있다. 즉, 제1 AND 게이트(261a)는 상기 멀티 비트 데이터가 “111”일 때, “1”을 출력할 수 있다. 제2 AND 게이트(262a)는 상기 멀티 비트 데이터가 “001”일 때 “1”을 출력하고, 제3 AND 게이트(263a)는 상기 멀티 비트 데이터가 “100”일 때 “1”을 출력하며, 제4 AND 게이트(264a)는 상기 멀티 비트 데이터가 “010”일 때 “1”을 출력할 수 있다. OR 게이트(265a)는 제1 AND 게이트(261a), 제2 AND 게이트(262a), 제3 AND 게이트(263a) 및 제4 AND 게이트(264a)의 출력들에 OR 연산을 수행한다. 이에 따라, 로직 회로(260a)는 상기 멀티 비트 데이터가 “111”, “001”, “100” 또는 “010”일 때, 상태 그룹 코드 “1”을 출력할 수 있다.
도 14b를 참조하면, 로직 회로(260b)는 XOR 게이트들(261b, 262b)를 포함한다. 제1 XOR 게이트(261b)는 멀티 비트 데이터의 제1 비트(B1) 및 제2 비트(B2)에 XOR 연산을 수행한다. 제1 XOR 게이트(261b)는 제1 비트(B1) 및 제2 비트(B2) 중 하나가 “1”이고, 다른 하나가 “0”일 때, “1”을 출력할 수 있다. 제2 XOR 게이트(262b)는 상기 멀티 비트 데이터의 제3 비트(B3) 및 제1 XOR 게이트(261b)의 출력에 XOR 연산을 수행한다. 제2 XOR 게이트(262b)는 제3 비트(B3) 및 제1 XOR 게이트(261b)의 출력 중 하나가 “1”이고, 다른 하나가 “0”일 때, “1”을 출력할 수 있다. 이에 따라, 로직 회로(260b)는 상기 멀티 비트 데이터가 “111”, “001”, “100” 또는 “010”일 때, 상태 그룹 코드 “1”을 출력할 수 있다.
도 14a 및 도 14b에는 로직 회로(260)의 예들이 도시되어 있으나, 로직 회로(260)는 다양하게 변경될 수 있다. 또한, 멀티 비트 데이터의 비트수에 따라, 로직 회로(260)가 다양하게 변경될 수 있다.
도 15는 도 6의 비휘발성 메모리 장치를 포함하는 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 15를 참조하면, 비휘발성 메모리 시스템(400)은 비휘발성 메모리 장치(200) 및 컨트롤러(300)를 포함한다.
비휘발성 메모리 장치(200)는 메모리 셀 어레이(210) 및 페이지 버퍼부(220)를 포함한다. 페이지 버퍼부(220)는 비트 라인들에 연결되고, 멀티 비트 데이터들을 각각 일시적으로 저장하는 페이지 버퍼들을 포함할 수 있다. 메모리 셀 어레이(210)는 워드 라인들 및 상기 비트 라인들에 연결된 멀티 레벨 셀들을 포함할 수 있다. 상기 멀티 레벨 셀들은 프리프로그램 동작, 독출 동작 및 재프로그램 동작에 의해 좁은 폭을 가지는 문턱 전압 분포들을 가질 수 있다.
컨트롤러(300)는 비휘발성 메모리 장치(200)를 제어한다. 컨트롤러(300)는 외부의 호스트와 비휘발성 메모리 장치(200) 사이의 데이터 교환을 제어할 수 있다. 컨트롤러(300)는 중앙 처리 장치(310), 버퍼 메모리(320), 호스트 인터페이스(330) 및 메모리 인터페이스(340)를 포함할 수 있다. 중앙 처리 장치(310)는 상기 데이터 교환을 위한 동작을 수행할 수 있다. 호스트 인터페이스(330)는 상기 호 스트와 연결되고, 메모리 인터페이스(340)는 비휘발성 메모리 장치(200)와 연결된다. 중앙 처리 장치(310)는 호스트 인터페이스(330)를 통하여 상기 호스트와 통신할 수 있다. 또한, 중앙 처리 장치(310)는 메모리 인터페이스(340)를 통하여 비휘발성 메모리 장치(200)를 제어할 수 있다.
버퍼 메모리(320)는 상기 호스트로부터 제공되는 멀티 비트 데이터들 또는 비휘발성 메모리 장치(200)로부터 독출되는 멀티 비트 데이터들을 일시적으로 저장할 수 있다. 컨트롤러(300)는 상기 호스트로부터 제공되는 멀티 비트 데이터들을 비휘발성 메모리 장치(200)의 페이지 버퍼부(220)에 로딩한다. 비휘발성 메모리 장치(200)가 상태 그룹 코드들에 기초하여 재프로그램 동작을 위한 멀티 비트 데이터들을 독출하므로, 컨트롤러(300)가 비휘발성 메모리 장치(200)에 풀-페이지 데이터를 로딩할 필요가 없다. 따라서, 컨트롤러(300)는 버퍼 메모리(320)를 효율적으로 활용할 수 있고, 버퍼 메모리(320)의 용량을 감소시킬 수 있다.
일 실시예에서, 컨트롤러(300)는 버퍼 메모리(320)에 일시적으로 저장된 멀티 비트 데이터들에 기초하여 상태 그룹 코드들을 생성할 수 있다. 예를 들어, 중앙 처리 장치(310)가 버퍼 메모리(320)에 저장된 멀티 비트 데이터들의 비트들에 로직 연산을 수행하여 상태 그룹 코드들을 생성할 수 있다. 실시예에 따라, 상기 로직 연산은 소프트웨어적으로 또는 하드웨어적으로 구현될 수 있다. 일 실시예에서, 컨트롤러(300)는 도 13 내지 도 14b에 도시된 로직 회로(260)를 포함할 수 있다.
실시예에 따라, 컨트롤러(300)는 스타트-업 코드를 저장하는 비휘발성 메모 리 장치를 더 포함할 수 있고, 에러 정정을 위한 에러 정정 블록(ECC block)을 더 포함할 수 있다. 버퍼 메모리(320)는 DRAM(Dynamic random access memory), SRAM(Static random access memory), PRAM(Phase random access memory), FRAM(Ferroelectric random access memory), RRAM(Resistive random access memory), 또는 MRAM(Magnetic random access memory)으로 구현될 수 있다. 버퍼 메모리(320)는 중앙 처리 장치(310)의 동작 메모리일 수 있다.
비휘발성 메모리 시스템(400)은 메모리 카드 또는 솔리드 스테이트 드라이브(solid state drive/disk, SSD)일 수 있다. 컨트롤러(300)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 호스트와 통신하도록 구성될 수 있다.
비휘발성 메모리 장치(200) 및/또는 컨트롤러(300)는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들어, 비휘발성 메모리 장치(200) 및/또는 컨트롤러(300)는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다. 실시예에 따라, 멀티 레벨 셀들은 전하 저장층을 갖는 다양한 셀 구조들 중 하나를 이용하여 구현될 수 있다. 전하 저장층을 갖는 셀 구조는, 전하 트랩층을 이용하는 전하 트랩 플래시 구조, 어레이들이 다층으로 적층되는 스택 플래시 구조, 소스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조 등이 적용될 수 있다.
도 16은 도 15의 비휘발성 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 16을 참조하면, 컴퓨팅 시스템(500)은 프로세서(510), 메모리 장치(520), 사용자 인터페이스(530) 및 비휘발성 메모리 시스템(400)을 포함한다.
프로세서(510)는 특정 계산들 또는 태스크들을 실행하는 특정 소프트웨어를 실행하는 것과 같이 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(510)는 마이크로프로세서 또는 중앙 처리 장치일 수 있다. 프로세서(510)는 어드레스 버스, 제어 버스 및/또는 데이터 버스를 통하여 메모리 장치(520)에 연결될 수 있다. 예를 들어, 메모리 장치(520)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 정적 랜덤 액세스 메모리(static random access memory, SRAM), 또는 이피롬(erasable programmable read-only memory, EPROM), 이이피롬(electrically erasable programmable read-only memory, EEPROM), 및 플래시 메모리 장치를 포함하는 모든 형태의 비휘발성 메모리일 수 있다. 또한, 프로세서(510)는 주변 구성요소 상호연결(peripheral component interconnect, PCI) 버스 와 같은 확장 버스에 연결될 수 있다. 이에 따라, 프로세서(510)는 키보드 또는 마우스와 같은 하나 이상의 입력 장치, 프린터 또는 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함하는 사용자 인터페이스(530)를 제어할 수 있다. 비휘발성 메모리 장치(200)에는 사용자 인터페이스(530)를 통해 제공되거나, 프로세서(510)에 의해 처리된 멀티 비트 데이터가 컨트롤러(300)를 통해 저장될 수 있다. 컴퓨팅 시스템(500)은 동작 전압을 공급하기 위한 전원(540)을 더 포함할 수 있다. 또한, 컴퓨팅 시스템(500)은 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등을 더 포함할 수 있다.
본 발명의 일 실시예에 따른 컴퓨팅 시스템(500)은 셀룰러 폰, PDA, 디지털 카메라, 포터블 게임 콘솔, MP3 플레이어, 데스크 톱 컴퓨터, 노트북 컴퓨터, 스피커, 비디오, 텔레비전 등일 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템은 컨트롤러에 의한 재프로그램을 위한 풀-페이지 데이터 로딩 없이 재프로그램 동작을 수행할 수 있다. 또한, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템은 재프로그램 동작 시간을 단축시킬 수 있다. 게다가, 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템은 멀티 레벨 셀들을 문턱 전압 분포들이 중첩되지 않도록 프로그램할 수 있다.
본 발명은 임의의 데이터 저장 장치 및 컴퓨팅 시스템에 유용하게 이용될 수 있다. 또한, 본 발명은 메모리 카드, 솔리드 스테이트 드라이브, 셀룰러 폰, PDA, 디지털 카메라, 포터블 게임 콘솔, MP3 플레이어, 데스크 톱 컴퓨터, 노트북 컴퓨터, 스피커, 비디오, 텔레비전 등에 유용하게 이용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
도 2는 프리프로그램 동작 시 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 3은 독출 동작 시 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 4는 재프로그램 동작 시 멀티 레벨 셀들의 문턱 전압 분포들의 예를 나타내는 도면이다.
도 5는 독출 동작 시 멀티 레벨 셀들의 문턱 전압 분포들의 다른 예를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 7은 도 6의 비휘발성 메모리 장치에 포함된 메모리 셀 어레이의 일 예를 나타내는 블록도이다.
도 8은 도 1의 비휘발성 메모리 장치의 프로그램 방법의 일 예를 나타내는 순서도이다.
도 9는 도 6의 비휘발성 메모리 장치에 포함된 페이지 버퍼의 일 예를 나타내는 블록도이다.
도 10은 도 6의 비휘발성 메모리 장치에 포함된 페이지 버퍼의 다른 예를 나 타내는 블록도이다.
도 11은 도 6의 비휘발성 메모리 장치에 포함된 페이지 버퍼의 또 다른 예를 나타내는 블록도이다.
도 12는 도 6의 비휘발성 메모리 장치에 포함된 메모리 셀 어레이의 일 예를 나타내는 블록도이다.
도 13은 도 6의 비휘발성 메모리 장치에 포함된 로직 회로를 나타내는 블록도이다.
도 14a 및 14b는 도 13의 로직 회로의 예들을 나타내는 블록도들이다.
도 15는 도 6의 비휘발성 메모리 장치를 포함하는 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 16은 도 15의 비휘발성 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
<도면의 주요부분에 대한 부호의 설명>
200: 비휘발성 메모리 장치
210: 메모리 셀 어레이
220: 페이지 버퍼부
221, 221a, 221b, 221c: 페이지 버퍼
217: 상태 그룹 코드 메모리 블록
260, 260a, 260b: 로직 회로
300: 컨트롤러
400: 비휘발성 메모리 시스템
500: 컴퓨팅 시스템

Claims (30)

  1. 멀티 레벨 셀들에 멀티 비트 데이터들을 프리프로그램하는 단계;
    각각 상기 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 상기 프리프로그램된 멀티 비트 데이터들을 독출하는 단계; 및
    상기 멀티 레벨 셀들에 상기 독출된 멀티 비트 데이터들을 재프로그램하는 단계를 포함하는 비휘발성 메모리 장치의 프로그램 방법.
  2. 제1 항에 있어서, 상기 상태 그룹은 서로 중첩되지 않은 문턱 전압 분포들을 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  3. 제1 항에 있어서, 상기 멀티 비트 데이터들을 프리프로그램하는 단계는,
    상기 멀티 비트 데이터들을 상기 멀티 레벨 셀들에 연결된 페이지 버퍼부에 로딩하는 단계; 및
    상기 페이지 버퍼부에 로딩된 상기 멀티 비트 데이터들을 상기 멀티 레벨 셀들에 프리프로그램하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  4. 제3 항에 있어서,
    상기 페이지 버퍼부에 로딩된 상기 멀티 비트 데이터들에 기초하여 상기 상태 그룹 코드들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  5. 제4 항에 있어서, 상기 상태 그룹 코드들을 생성하는 단계는,
    상기 멀티 비트 데이터들 각각의 비트들에 로직 연산을 수행하여 상기 상태 그룹 코드들을 생성하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  6. 제4 항에 있어서,
    상기 상태 그룹 코드들을 상기 페이지 버퍼부에 일시적으로 저장하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  7. 제4 항에 있어서,
    싱글 레벨 셀들을 포함하는 상태 그룹 코드 메모리 블록에 상기 상태 그룹 코드들을 저장하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  8. 제1 항에 있어서,
    상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들이 프리프로그램된 직후 상 기 멀티 레벨 셀들의 문턱 전압들을 확인하는 단계; 및
    상기 확인된 문턱 전압들에 기초하여 상기 상태 그룹 코드들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  9. 제1 항에 있어서,
    컨트롤러로부터 상기 상태 그룹 코드들을 수신하는 단계; 및
    상기 멀티 레벨 셀들에 연결된 페이지 버퍼부에 상기 수신된 상태 그룹 코드들을 로딩하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  10. 제9 항에 있어서, 상기 수신된 상태 그룹 코드들을 로딩하는 단계는,
    상기 멀티 비트 데이터들이 상기 페이지 버퍼부에 로딩될 때 상기 수신된 상태 그룹 코드들을 로딩하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  11. 제9 항에 있어서, 상기 수신된 상태 그룹 코드들을 로딩하는 단계는,
    프리프로그램 검증 전압들을 이용하여 상기 멀티 레벨 셀들에 프리프로그램된 상기 멀티 비트 데이터들이 검증될 때 상기 수신된 상태 그룹 코드들을 로딩하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  12. 제1 항에 있어서, 상기 프리프로그램된 멀티 비트 데이터들을 독출하는 단계는,
    상태 그룹별로 서로 다른 독출 전압들을 사용하여 상기 프리프로그램된 멀티 비트 데이터들을 독출하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  13. 제1 항에 있어서,
    상기 멀티 비트 데이터들을 프리프로그램하는 단계는,
    제1 워드 라인에 연결된 멀티 레벨 셀들에 제1 멀티 비트 데이터들을 프리프로그램하는 단계; 및
    상기 제1 멀티 비트 데이터들이 프리프로그램된 후 제2 워드 라인에 연결된 멀티 레벨 셀들에 제2 멀티 비트 데이터들을 프리프로그램하는 단계를 포함하고,
    상기 프리프로그램된 멀티 비트 데이터들을 독출하는 단계는,
    상기 제2 멀티 비트 데이터들이 프리프로그램된 후 상기 제1 워드 라인에 연결된 멀티 레벨 셀들로부터 상기 제1 멀티 비트 데이터들을 독출하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  14. 제13 항에 있어서, 상기 제2 워드 라인은 상기 제1 워드 라인과 인접한 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  15. 제1 항에 있어서, 상기 멀티 비트 데이터들이 프리프로그램된 상기 멀티 레벨 셀들의 문턱 전압 분포들은 상기 멀티 레벨 셀들간의 커플링(coupling)에 의해 서로 중첩되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  16. 제1 항에 있어서, 상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들을 프리프로그램하기 위한 프리프로그램 검증 전압들 각각은 상기 멀티 레벨 셀들에 상기 독출된 멀티 비트 데이터들을 재프로그램하는 위한 재프로그램 검증 전압들 중 상응하는 재프로그램 검증 전압 보다 낮은 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  17. 제1 항에 있어서, 상기 상태 그룹 코드들 각각의 비트수는 상기 멀티 레벨 셀들의 문턱 전압 분포들 중 어느 하나의 문턱 전압 분포와 중첩된 문턱 전압 분포들의 수에 따라 결정되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  18. 워드 라인들 및 비트 라인들에 연결된 멀티 레벨 셀들을 포함하는 메모리 셀 어레이;
    상기 워드 라인들에 워드 라인 전압들을 전달하는 로우 디코더;
    상기 워드 라인 전압들을 생성하는 전압 생성기;
    상기 비트 라인들에 연결되고, 멀티 비트 데이터들 및 각각 상기 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상태 그룹 코드들을 일시적으로 저장하는 페이지 버퍼들을 포함하는 페이지 버퍼부; 및
    상기 멀티 레벨 셀들에 상기 멀티 비트 데이터들을 프리프로그램하고, 상기 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 상기 프리프로그램된 멀티 비트 데이터들을 독출하며, 상기 멀티 레벨 셀들에 상기 독출된 멀티 비트 데이터들을 재프로그램하도록 상기 로우 디코더, 상기 전압 생성기 및 상기 페이지 버퍼부를 제어하는 제어 회로를 포함하는 비휘발성 메모리 장치.
  19. 제18 항에 있어서, 상기 페이지 버퍼들 각각은,
    상기 비트 라인들 중 상응하는 비트 라인에 연결되고, 상기 멀티 비트 데이터들 중 상응하는 멀티 비트 데이터의 비트들을 일시적으로 저장하는 데이터 래치들을 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  20. 제19 항에 있어서, 상기 데이터 래치들 중 적어도 하나의 데이터 래치에는 컨트롤러로부터 수신된 상태 그룹 코드가 일시적으로 저장되는 것을 특징으로 하는 비휘발성 메모리 장치.
  21. 제20 항에 있어서, 상기 적어도 하나의 데이터 래치에는 프리프로그램 검증 전압들을 이용하여 상기 멀티 레벨 셀들에 프리프로그램된 상기 멀티 비트 데이터들이 검증될 때 상기 컨트롤러로부터 수신된 상기 상태 그룹 코드가 일시적으로 저 장되는 것을 특징으로 하는 비휘발성 메모리 장치.
  22. 제19 항에 있어서, 상기 데이터 래치들 중 적어도 하나의 데이터 래치에는 상기 상응하는 멀티 비트 데이터가 프리프로그램된 직후 상기 상응하는 비트 라인에 연결된 멀티 레벨 셀의 문턱 전압에 기초하여 생성된 상태 그룹 코드가 일시적으로 저장되는 것을 특징으로 하는 비휘발성 메모리 장치.
  23. 제19 항에 있어서, 상기 페이지 버퍼들 각각은,
    상태 그룹 코드를 일시적으로 저장하는 적어도 하나의 상태 그룹 코드 래치를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  24. 제23 항에 있어서, 상기 적어도 하나의 상태 그룹 코드 래치에는 상기 멀티 비트 데이터들이 상기 페이지 버퍼부에 로딩될 때 컨트롤러로부터 수신된 상기 상태 그룹 코드가 일시적으로 저장되는 것을 특징으로 하는 비휘발성 메모리 장치.
  25. 제19 항에 있어서, 상기 페이지 버퍼들 각각은,
    상기 데이터 래치들에 일시적으로 저장된 상기 비트들에 로직 연산을 수행하여 상기 상응하는 비트 라인에 연결된 멀티 레벨 셀의 상태 그룹 코드를 생성하는 로직 회로를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  26. 제18 항에 있어서,
    상기 상태 그룹 코드들을 저장하는 상태 그룹 코드 메모리 블록을 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  27. 제26 항에 있어서, 상기 상태 그룹 코드 메모리 블록은,
    상기 상태 그룹 코드들을 저장하는 싱글 레벨 셀들을 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  28. 멀티 레벨 셀들에 멀티 비트 데이터들을 프리프로그램하고, 각각 상기 멀티 레벨 셀들 중 상응하는 멀티 레벨 셀의 상태 그룹을 나타내는 상태 그룹 코드들에 기초하여 상기 멀티 레벨 셀들로부터 상기 프리프로그램된 멀티 비트 데이터들을 독출하며, 상기 멀티 레벨 셀들에 상기 독출된 멀티 비트 데이터들을 재프로그램하는 비휘발성 메모리 장치; 및
    상기 비휘발성 메모리 장치를 제어하는 컨트롤러를 포함하는 비휘발성 메모리 시스템.
  29. 제28 항에 있어서, 상기 컨트롤러는,
    호스트로부터 전송된 상기 멀티 비트 데이터들을 일시적으로 저장하는 버퍼 메모리를 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  30. 제29 항에 있어서, 상기 컨트롤러는 상기 버퍼 메모리에 저장된 멀티 비트 데이터들에 기초하여 상태 그룹 코드들을 생성하는 것을 특징으로 하는 비휘발성 메모리 시스템.
KR1020090055397A 2009-06-22 2009-06-22 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템 KR101572830B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020090055397A KR101572830B1 (ko) 2009-06-22 2009-06-22 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
US12/780,978 US8391062B2 (en) 2009-06-22 2010-05-17 Nonvolatile memory device and related method of programming
JP2010140657A JP5632210B2 (ja) 2009-06-22 2010-06-21 非揮発性メモリ装置及びそのプログラム方法
US13/757,960 US8681543B2 (en) 2009-06-22 2013-02-04 Nonvolatile memory device and related method of programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090055397A KR101572830B1 (ko) 2009-06-22 2009-06-22 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20100137128A true KR20100137128A (ko) 2010-12-30
KR101572830B1 KR101572830B1 (ko) 2015-11-30

Family

ID=43354226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090055397A KR101572830B1 (ko) 2009-06-22 2009-06-22 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템

Country Status (3)

Country Link
US (2) US8391062B2 (ko)
JP (1) JP5632210B2 (ko)
KR (1) KR101572830B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854879B2 (en) 2012-05-09 2014-10-07 Samsung Electronics Co., Ltd. Method of programming a nonvolatile memory device and nonvolatile memory device performing the method
US11398281B2 (en) 2020-09-25 2022-07-26 SK Hynix Inc. Semiconductor memory device and method of operating the same

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101572830B1 (ko) * 2009-06-22 2015-11-30 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
US8467237B2 (en) 2010-10-15 2013-06-18 Micron Technology, Inc. Read distribution management for phase change memory
US8860117B2 (en) 2011-04-28 2014-10-14 Micron Technology, Inc. Semiconductor apparatus with multiple tiers of memory cells with peripheral transistors, and methods
US8874994B2 (en) 2011-07-22 2014-10-28 Sandisk Technologies Inc. Systems and methods of storing data
US9053809B2 (en) * 2011-11-09 2015-06-09 Apple Inc. Data protection from write failures in nonvolatile memory
KR20130053247A (ko) * 2011-11-15 2013-05-23 삼성전자주식회사 불휘발성 메모리 장치에 데이터를 프로그램하는 프로그램 방법 및 불휘발성 메모리 장치를 포함하는 메모리 시스템
US8681569B2 (en) * 2012-02-22 2014-03-25 Silicon Motion, Inc. Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof
US9001575B2 (en) 2012-03-30 2015-04-07 Micron Technology, Inc. Encoding program bits to decouple adjacent wordlines in a memory device
US9105314B2 (en) 2012-04-27 2015-08-11 Micron Technology, Inc. Program-disturb decoupling for adjacent wordlines of a memory device
US8910000B2 (en) * 2012-05-17 2014-12-09 Micron Technology, Inc. Program-disturb management for phase change memory
US8964474B2 (en) * 2012-06-15 2015-02-24 Micron Technology, Inc. Architecture for 3-D NAND memory
US20140198576A1 (en) * 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
KR102009437B1 (ko) * 2013-01-18 2019-08-13 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
US9301723B2 (en) 2013-03-15 2016-04-05 Covidien Lp Microwave energy-delivery device and system
KR102101304B1 (ko) 2013-03-15 2020-04-16 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
JP6179206B2 (ja) * 2013-06-11 2017-08-16 株式会社リコー メモリ制御装置
WO2014210424A2 (en) 2013-06-27 2014-12-31 Aplus Flash Technology, Inc. Novel nand array architecture for multiple simultaneous program and read
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9613704B2 (en) 2013-12-25 2017-04-04 Aplus Flash Technology, Inc 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
TWI559312B (zh) * 2015-05-20 2016-11-21 旺宏電子股份有限公司 記憶體裝置與其程式化方法
US9852795B2 (en) * 2015-09-24 2017-12-26 Samsung Electronics Co., Ltd. Methods of operating nonvolatile memory devices, and memory systems including nonvolatile memory devices
KR102498248B1 (ko) * 2016-02-04 2023-02-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9679650B1 (en) 2016-05-06 2017-06-13 Micron Technology, Inc. 3D NAND memory Z-decoder
US9798481B1 (en) * 2016-06-15 2017-10-24 Winbond Electronics Corp. Memory system includes a memory controller coupled to a non-volatile memory array configured to provide special write operation to write data in the non-volatile memory array before a board mount operation is applied and provde a regular write operation after a board mount operation is applied
JP6652470B2 (ja) 2016-09-07 2020-02-26 キオクシア株式会社 半導体記憶装置
KR102533197B1 (ko) * 2016-09-22 2023-05-17 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10381094B2 (en) 2016-10-11 2019-08-13 Macronix International Co., Ltd. 3D memory with staged-level multibit programming
US10354723B2 (en) 2017-06-29 2019-07-16 SK Hynix Inc. Memory device and method for programming the same
US10748605B2 (en) * 2018-08-08 2020-08-18 Macronix International Co., Ltd. Memory device and programming method of multi-level cell (MLC)
US12002525B2 (en) 2018-11-18 2024-06-04 NEO Semiconductor, Inc. Methods and apparatus for NAND flash memory
US11972811B2 (en) 2018-11-18 2024-04-30 NEO Semiconductor, Inc. Methods and apparatus for NAND flash memory
KR20200071955A (ko) 2018-12-12 2020-06-22 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법, 스토리지 장치의 동작 방법 및 스토리지 장치
US10811109B2 (en) * 2018-12-27 2020-10-20 Sandisk Technologies Llc Multi-pass programming process for memory device which omits verify test in first program pass
US11061762B2 (en) * 2019-02-04 2021-07-13 Intel Corporation Memory programming techniques
US11450381B2 (en) 2019-08-21 2022-09-20 Micron Technology, Inc. Multi-deck memory device including buffer circuitry under array
US11309032B2 (en) 2019-11-26 2022-04-19 Samsung Electronics Co., Ltd. Operating method of memory system including memory controller and nonvolatile memory device
CN112002365B (zh) * 2020-08-21 2022-12-23 中国科学技术大学 基于多比特非易失存储器的并行逻辑运算方法及全加器
US11462279B1 (en) * 2021-05-13 2022-10-04 Western Digital Technologies, Inc. Modified distribution of memory device states
WO2023028410A1 (en) * 2021-08-26 2023-03-02 NEO Semiconductor, Inc. Methods and apparatus for nand flash memory
JP2023116846A (ja) * 2022-02-10 2023-08-23 キオクシア株式会社 半導体記憶装置及び方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4050555B2 (ja) * 2002-05-29 2008-02-20 株式会社東芝 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP2004103089A (ja) 2002-09-06 2004-04-02 Sharp Corp 不揮発性半導体記憶装置およびその再書き込み方法
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US7206224B1 (en) * 2004-04-16 2007-04-17 Spansion Llc Methods and systems for high write performance in multi-bit flash memory devices
JP4410188B2 (ja) 2004-11-12 2010-02-03 株式会社東芝 半導体記憶装置のデータ書き込み方法
JP4157563B2 (ja) 2006-01-31 2008-10-01 株式会社東芝 半導体集積回路装置
KR100766241B1 (ko) 2006-05-10 2007-10-10 주식회사 하이닉스반도체 플래쉬 메모리 소자의 프로그램 방법
US7991960B2 (en) * 2006-10-11 2011-08-02 Arm Limited Adaptive comparison control in a data store
KR100836762B1 (ko) 2006-12-11 2008-06-10 삼성전자주식회사 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR101490421B1 (ko) * 2008-07-11 2015-02-06 삼성전자주식회사 메모리 셀 사이의 간섭을 억제할 수 있는 불휘발성 메모리장치, 컴퓨팅 시스템 및 그것의 프로그램 방법
US8482976B2 (en) * 2008-12-09 2013-07-09 Kabushiki Kaisha Toshiba Semiconductor memory device and semiconductor memory system storing multilevel data
KR101563647B1 (ko) * 2009-02-24 2015-10-28 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
KR101572830B1 (ko) * 2009-06-22 2015-11-30 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
KR20110055178A (ko) * 2009-11-19 2011-05-25 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함한 메모리 시스템
KR20130057086A (ko) * 2011-11-23 2013-05-31 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20130060795A (ko) * 2011-11-30 2013-06-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
KR20130080203A (ko) * 2012-01-04 2013-07-12 삼성전자주식회사 셀 상태들의 비대칭 특성을 고려한 프로그램 데이터를 생성하는 방법 및 그것을 이용한 메모리 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854879B2 (en) 2012-05-09 2014-10-07 Samsung Electronics Co., Ltd. Method of programming a nonvolatile memory device and nonvolatile memory device performing the method
US11398281B2 (en) 2020-09-25 2022-07-26 SK Hynix Inc. Semiconductor memory device and method of operating the same

Also Published As

Publication number Publication date
JP2011003263A (ja) 2011-01-06
US8391062B2 (en) 2013-03-05
KR101572830B1 (ko) 2015-11-30
JP5632210B2 (ja) 2014-11-26
US8681543B2 (en) 2014-03-25
US20130141974A1 (en) 2013-06-06
US20100321998A1 (en) 2010-12-23

Similar Documents

Publication Publication Date Title
KR101572830B1 (ko) 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
US9280420B2 (en) Memory systems and block copy methods thereof
KR101617641B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
US8854879B2 (en) Method of programming a nonvolatile memory device and nonvolatile memory device performing the method
US8503236B2 (en) Nonvolatile memory device, methods of programming the nonvolatile memory device and memory system including the nonvolatile memory device
KR101517597B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법
KR101600539B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR101636248B1 (ko) 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
KR20120076787A (ko) 비휘발성 메모리 장치의 프로그램 방법
KR101532754B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
US10672476B2 (en) Storage device using program speed and method of operating the same
US20140351487A1 (en) Nonvolatile memory and related reprogramming method
KR20140013383A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US8711618B2 (en) Method for programming non-volatile memory device and apparatuses performing the method
KR20100070026A (ko) 멀티-레벨 셀 플래시 메모리 장치 및 이의 독출 방법
US8760919B2 (en) Nonvolatile memory device and method of reading data in nonvolatile memory device
KR101497548B1 (ko) 플래시 메모리 장치, 및 이의 프로그램 및 독출 방법
US9589661B2 (en) Method of programming memory device and method of reading data of memory device including the same
CN111145814A (zh) 非易失性存储器装置和非易失性存储器系统
US20180350443A1 (en) Methods, systems, and media for programming a storage device
KR20220048375A (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: 20181031

Year of fee payment: 4