KR101378602B1 - 메모리 장치 및 메모리 프로그래밍 방법 - Google Patents
메모리 장치 및 메모리 프로그래밍 방법 Download PDFInfo
- Publication number
- KR101378602B1 KR101378602B1 KR1020080044146A KR20080044146A KR101378602B1 KR 101378602 B1 KR101378602 B1 KR 101378602B1 KR 1020080044146 A KR1020080044146 A KR 1020080044146A KR 20080044146 A KR20080044146 A KR 20080044146A KR 101378602 B1 KR101378602 B1 KR 101378602B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit cells
- group
- data page
- bit
- threshold voltage
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
메모리 장치 및 메모리 프로그래밍 방법이 제공된다. 본 발명의 메모리 장치는 복수의 멀티 비트 셀들을 포함하는 멀티 비트 셀 어레이, 상기 복수의 멀티 비트 셀들에 제1 데이터 페이지를 프로그램하고, 상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들에 제2 데이터 페이지를 프로그램하는 프로그래밍부, 상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할하는 제1 제어부, 및 제1 읽기 전압 레벨들 및 상기 제2 데이터 페이지에 기초하여 상기 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하고, 제2 읽기 전압 레벨들 및 상기 제2 데이터 페이지에 기초하여 상기 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 제2 제어부를 포함하며, 이를 통해 데이터 프로그래밍 시의 오류를 줄일 수 있다.
MLC, MBC, 프로그램, 프로그래밍
Description
본 발명은 메모리 장치에 데이터를 프로그램하는 방법에 관한 것으로, 보다 상세하게는 멀티 레벨 셀(Multi-level Cell, MLC) 또는 멀티 비트 셀(Multi-Bit Cell, MBC) 메모리 장치에 데이터를 프로그램하는 장치 및 방법에 관한 것이다.
싱글 레벨 셀(SLC: single-level cell) 메모리는 하나의 메모리 셀에 1비트의 데이터를 저장하는 메모리이다. 싱글 레벨 셀 메모리는 싱글 비트 셀(SBC: single-bit cell) 메모리로도 불린다. 싱글 레벨 셀 메모리의 메모리 셀(싱글 레벨 셀)에 데이터를 저장하는 과정은 프로그램 과정이라고도 불리며, 메모리 셀의 문턱 전압(threshold voltage)을 변화시킬 수 있다. 예를 들어, 싱글 레벨 셀에 논리 "1"의 데이터가 저장된 경우에는 싱글 레벨 셀은 1.0 Volt의 문턱 전압을 가질 수 있으며, 논리 "0"의 데이터가 저장된 경우에는 싱글 레벨 셀은 3.0 Volt의 문턱 전압을 가질 수 있다.
싱글 레벨 셀들 간의 미세한 전기적 특성의 차이로 인해 동일한 데이터가 프로그램된 싱글 레벨 셀들 각각에 형성된 문턱 전압은 일정한 범위의 산 포(distribution)를 가지게 된다. 예를 들어, 메모리 셀로부터 판독된 전압이 0.5-1.5 Volt인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "1"이고, 메모리 셀로부터 판독된 전압이 2.5-3.5 Volt인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "0"으로 판정될 수 있다. 메모리 셀에 저장된 데이터는 판독 동작 시 메모리 셀의 전류/전압의 차이에 의하여 구분된다.
한편 메모리의 고집적화 요구에 응답하여 하나의 메모리 셀에 2비트 이상의 데이터를 프로그램할 수 있는 멀티 레벨 셀(MLC: multi-level cell) 메모리가 제안되었다. 멀티 레벨 셀 메모리는 멀티 비트 셀(MBC: multi-bit cell) 메모리로도 불린다. 그러나, 하나의 메모리 셀에 프로그램되는 비트의 수가 증가할수록 신뢰성은 떨어지고, 판독 실패율(read failure rate)은 증가하게 된다. 하나의 메모리 셀에 m개의 비트를 프로그램하려면, 2m개의 문턱 전압 중 어느 하나가 상기 메모리 셀에 형성되어야 한다. 메모리 셀들 간의 미세한 전기적 특성의 차이로 인해, 동일한 데이터가 프로그램된 메모리 셀들의 문턱 전압들은 일정한 범위의 산포(distribution)를 형성할 수 있다. 이 때, m개의 비트에 의해 생성될 수 있는 2m 개의 데이터 값 각각에 하나씩의 문턱 전압 산포가 대응할 수 있다.
Page단위로 정보를 저장하는 MLC메모리에서, m번째 bit정보를 저장하기 위해선 MLC메모리에 이미 저장된 (m-1)번째 bit까지 저장된 정보를 알아야 한다. (m-1)번째 bit까지의 정보가 저장이 되어 있으면 MLC메모리는 2(m-1)개중 하나의 문턱전압을 형성하고 있고, 문턱전압의 위치를 알기 위해서는 internal read동작을 수행 한다. Internal read는 MLC program를 수행하는 도중에 발생되는 읽기 동작을 의미한다. 그러므로 internal read에서 error가 발생하게 되면 (m-1)번째까지 저장된 정보를 잘못 판단하게 되어 MLC program시 MLC 메모리의 문턱전압을 원하지 않는 곳으로 이동시키게 된다. Program의 완료 후, normal read동작을 통하여 저장된 정보를 읽게 되면 MLC memory는 잘못된 문턱전압을 가지고 있으므로 잘못된 정보를 읽게 되어 error를 발생 시키게 된다.
메모리의 전압 윈도우(voltage window)는 제한되어 있기 때문에, m이 증가함에 따라 인접한 비트들 간의 문턱 전압(threshold)의 2m개의 산포들 간의 거리는 줄어들고, 산포들 간의 거리가 더욱 줄어들면 산포들끼리 겹칠 수 있다. 산포들끼리 겹치면 판독 실패율이 증가할 수 있다.
본 발명의 실시예들에 따르면 멀티 비트 프로그래밍 방법에 새로운 상태 판정 기법을 적용함으로써 프로그래밍 시의 오류를 줄일 수 있다.
본 발명의 일 실시예에 따른 메모리 장치는 복수의 멀티 비트 셀들을 포함하는 멀티 비트 셀 어레이, 상기 복수의 멀티 비트 셀들에 제1 데이터 페이지를 프로그램하고, 상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들에 제2 데이터 페이지를 프로그램하는 프로그래밍부, 상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할하는 제1 제어부, 제1 읽기 전압 레벨 및 상기 제2 데이터 페이지에 기초하여 상기 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하고, 제2 읽기 전압 레벨 및 상기 제2 데이터 페이지에 기초하여 상기 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 제2 제어부를 포함할 수 있다.
본 발명의 다른 실시예에 따른 메모리 프로그래밍 방법은 복수의 멀티 비트 셀들에 제1 데이터 페이지를 프로그램하는 단계, 상기 복수의 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할하는 단계, 제1 읽기 전압 레벨들 및 제2 데이터 페이지에 기초하여 상기 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 단계, 제2 읽기 전압 레벨들 및 상기 제2 데이터 페이지에 기초하여 상기 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 단계, 및 상기 복수의 멀티 비트 셀들에 상기 제2 데이터 페이지를 프로그램하는 단계를 포함할 수 있다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.
도 1을 참조하면, 메모리 장치(100)는 멀티 비트 셀 어레이(110), 프로그래밍부(120), 제1 제어부(130) 및 제2 제어부(140)를 포함한다.
멀티 비트 셀 어레이(110)는 복수의 멀티 비트 셀들을 포함한다.
프로그래밍부(120)는 멀티 비트 셀들 각각의 문턱 전압을 변경시켜 멀티 비트 셀들 각각에 데이터를 프로그램할 수 있다. 멀티 비트 셀이 m비트의 데이터를 저장할 수 있으면 상기 멀티 비트 셀의 문턱 전압은 2m 개의 전압 레벨들 중 어느 하나일 수 있다. 제2 제어부(140)는 상기 멀티 비트 셀에 저장될 데이터에 대응하는 목표 문턱 전압 구간을 설정할 수 있다. 프로그래밍부(120)는 상기 멀티 비트 셀의 문턱 전압이 상기 설정된 목표 문턱 전압 구간에 포함될 때까지 상기 멀티 비트 셀에 프로그램 조건 전압을 인가할 수 있다.
실시예에 따라서는 제2 제어부(140)는 m비트 데이터에 대응하는 2m 개의 목표 문턱 전압 구간들을 설정할 수 있고, 멀티 비트 셀에 저장될 데이터에 기초하여 상기 설정된 목표 문턱 전압 구간들 중 어느 하나를 선택할 수 있다. 프로그래밍부(120)는 상기 멀티 비트 셀의 문턱 전압이 상기 선택된 목표 문턱 전압 구간에 포함될 때까지 상기 멀티 비트 셀에 프로그램 조건 전압을 인가할 수 있다.
실시예에 따라서는 제2 제어부(120)는 m비트 데이터에 대응하는 2m 개의 검증 전압 레벨들을 설정할 수 있고, 멀티 비트 셀에 저장될 데이터에 기초하여 상기 설정된 검증 전압 레벨들 중 어느 하나를 선택할 수 있다. 프로그래밍부(120)는 상기 멀티 비트 셀의 문턱 전압이 상기 선택된 검증 전압 레벨 이상일 때까지 상기 멀티 비트 셀에 프로그램 조건 전압을 인가할 수 있다.
프로그래밍부(120)가 멀티 비트 셀에 데이터를 프로그램하는 과정은 메모리 장치(100)가 멀티 비트 셀에 저장된 데이터를 읽는 과정에 걸리는 시간보다 매우 긴 시간이 걸릴 수 있다. 프로그래밍부(120)는 전체 프로그래밍 시간을 단축하기 위하여 복수의 멀티 비트 셀들에 동시에 데이터를 프로그램할 수 있다. 이 때 제2 제어부(120)는 동시에 프로그램되는 복수의 멀티 비트 셀들 각각에 대한 목표 문턱 전압 구간을 설정할 수 있다. 프로그래밍부(120)는 복수의 멀티 비트 셀들 각각의 문턱 전압이 상기 설정된 목표 문턱 전압 구간에 포함될 때까지 복수의 멀티 비트 셀들 각각에 프로그램 조건 전압을 인가할 수 있다.
동시에 프로그램되는 멀티 비트 셀들의 집합을 본 명세서에서는 메모리 페이지라 명명하기로 한다. 메모리 페이지(111)는 프로그래밍부(120)에 의하여 동시에 프로그램되는 멀티 비트 셀들의 집합일 수 있다. 메모리 페이지(111)의 멀티 비트 셀들 각각이 m비트 데이터를 저장하면 메모리 페이지(111)는 m개의 데이터 페이지들을 저장할 수 있다.
실시예에 따라서는 프로그래밍부(120)는 제1 페이지 프로그래밍 동작(first page programming operation)을 수행함으로써 MSB(Most Significant Bit)를 메모리 페이지(111)의 멀티 비트 셀들에 프로그램할 수 있다. 이 때, 메모리 페이지(111)의 멀티 비트 셀들에 프로그램되는 MSB의 집합을 제1 데이터 페이지라 할 수 있다.
프로그래밍부(120)는 제2 페이지 프로그래밍 동작을 수행함으로써 제2 비트를 메모리 페이지(111)의 멀티 비트 셀들에 프로그램할 수 있다. 이 때 메모리 페이지(111)의 멀티 비트 셀들에 프로그램되는 제2 비트의 집합을 제2 데이터 페이지라 할 수 있다.
프로그래밍부(120)는 제m 페이지 프로그래밍 동작을 수행함으로써 LSB(Least Significant Bit)를 메모리 페이지(111)의 멀티 비트 셀들에 프로그램할 수 있다. 이 때 메모리 페이지(111)의 멀티 비트 셀들에 프로그램되는 LSB의 집합을 제m 데이터 페이지라 할 수 있다.
제1 제어부(130)는 프로그래밍부(120)에 의하여 제1 데이터 페이지가 프로그램된 메모리 페이지(111)의 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할할 수 있다.
제2 제어부(140)는 제1 읽기 전압 레벨들 및 제2 데이터 페이지에 기초하여 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정할 수 있다.
제2 제어부(140)는 제1 그룹의 멀티 비트 셀들 각각의 문턱 전압을 제1 읽기 전압 레벨들과 비교하여 제1 그룹의 멀티 비트 셀들 각각의 문턱 전압 상태를 식별할 수 있다. 제2 제어부(140)는 제1 그룹의 멀티 비트 셀들 각각에 프로그램될 제 2 데이터 페이지 및 상기 식별된 문턱 전압 상태에 기초하여 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정할 수 있다.
제2 제어부(140)는 제2 읽기 전압 레벨들 및 제2 데이터 페이지에 기초하여 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정할 수 있다.
제2 제어부(140)는 제2 그룹의 멀티 비트 셀들 각각의 문턱 전압을 제2 읽기 전압 레벨들과 비교하여 제2 그룹의 멀티 비트 셀들 각각의 문턱 전압 상태를 식별할 수 있다. 제2 제어부(140)는 제2 그룹의 멀티 비트 셀들 각각에 프로그램될 제2 데이터 페이지 및 상기 식별된 문턱 전압 상태에 기초하여 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정할 수 있다.
제2 제어부(140)는, 메모리 페이지(111)의 멀티 비트 셀들에 제1 데이터 페이지가 프로그램된 후, 제1 그룹의 멀티 비트 셀들 각각의 문턱 전압 상태를 제1 읽기 전압 레벨들을 이용하여 식별할 수 있고 제2 그룹의 멀티 비트 셀들 각각의 문턱 전압 상태를 제2 읽기 전압 레벨들을 이용하여 식별할 수 있다.
프로그래밍부(120)는 메모리 페이지(111)의 멀티 비트 셀들 각각의 문턱 전압이 목표 문턱 전압 구간에 포함되도록 제2 데이터 페이지를 메모리 페이지(111)의 멀티 비트 셀들 각각에 프로그램할 수 있다.
제1 제어부(130)는 부가적인 정보(additional information)에 의하여 메모리 페이지(111)의 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할할 수 있다. 부가적인 정보의 예로는 멀티 비트 셀들의 위치, 프로그래밍 순서, P/E 사이클(Program/Erase Cycle), recharge유무, recharge 횟수, 시간 경과, 모니터링 셀 의 산포 폭 변화 정도 등이 있을 수 있다. 모니터링 셀은 멀티 비트 셀 어레이(110)에 포함되며 메모리 장치(100)는 모니터링 셀의 문턱 전압의 산포를 모니터하여 문턱 전압의 변화 경향을 추정할 수 있다.
메모리 장치(100)는 제1 그룹 및 제2 그룹에 대하여 서로 다른 읽기 전압 레벨들을 이용하여 문턱 전압 상태를 식별할 수 있다. 메모리 장치(100)는 멀티 비트 셀의 특성에 기초하여 최적화된 읽기 전압 레벨을 이용하여 문턱 전압 상태를 식별함으로써 데이터를 프로그래밍하는 과정에서의 오류를 최소화할 수 있다.
도 2는 도 1의 메모리 장치(100)의 동작의 일 예를 도시하는 도면이다.
도 2는 문턱 전압 및 문턱 전압에 대응하는 멀티 비트 셀들의 개수를 도시한다.
제1 데이터 페이지(210)가 프로그램된 후 멀티 비트 셀 어레이(110)의 멀티 비트 셀들의 문턱 전압은 산포(211) 및 산포(212)에 대응할 수 있다.
실시예에 따라서는 제1 데이터 페이지(210)는 MSB에 대응할 수 있다. MSB는 "1" 또는 "0"일 수 있다. MSB "1"이 프로그램된 멀티 비트 셀들의 문턱 전압은 산포(211)에 대응할 수 있고, MSB "0"이 프로그램된 멀티 비트 셀들의 문턱 전압은 산포(212)에 대응할 수 있다.
프로그래밍부(120)는 제1 페이지 프로그래밍 동작을 수행함으로써 산포(211) 및 산포(212)를 형성할 수 있다.
메모리 장치(100)는 산포(211) 및 산포(212) 사이의 한 전압 레벨을 읽기 전압 레벨로 설정할 수 있다. 메모리 장치(100)는 상기 설정된 읽기 전압 레벨을 이 용하여 멀티 비트 셀 어레이(110)의 멀티 비트 셀들의 문턱 전압 상태를 식별할 수 있다. 메모리 장치(100)는 상기 설정된 읽기 전압 레벨을 이용하여 멀티 비트 셀들의 문턱 전압이 산포(211)에 대응하는지 또는 산포(212)에 대응하는지를 판정(decision)할 수 있다.
메모리 장치(100)는 멀티 비트 셀들의 문턱 전압 상태 및 제2 데이터 페이지(220)에 기초하여 멀티 비트 셀들의 목표 문턱 전압 상태를 설정할 수 있다. 실시예에 따라서는 제2 데이터 페이지(220)는 제2 비트에 대응할 수 있다.
예를 들어 메모리 장치(100)는 산포(211)에 대응하는 멀티 비트 셀들 중 제2 비트 "1"이 프로그램될 멀티 비트 셀의 목표 문턱 전압 상태를 산포(221)로 설정할 수 있다. 프로그래밍부(120)는 제2 비트 "1"이 프로그램될 멀티 비트 셀에 대하여 문턱 전압 상태의 변경을 최소한으로 억제하는 프로그램 조건 전압을 인가하여 산포(221)를 형성할 수 있다. 이 때 산포(221)에 대응하는 멀티 비트 셀에 프로그램된 데이터는 "11"일 수 있다.
메모리 장치(100)는 산포(211)에 대응하는 멀티 비트 셀들 중 제2 비트 "0"이 프로그램될 멀티 비트 셀의 목표 문턱 전압 상태를 산포(222)로 설정할 수 있다. 프로그래밍부(120)는 제2 비트 "0"이 프로그램될 멀티 비트 셀에 대하여 제2 페이지 프로그래밍 동작을 수행함으로써 산포(222)를 형성할 수 있다. 이 때 산포(222)에 대응하는 멀티 비트 셀에 프로그램된 데이터는 "10"일 수 있다.
메모리 장치(100)는 산포(212)에 대응하는 멀티 비트 셀들 중 제2 비트 "1"이 프로그램될 멀티 비트 셀의 목표 문턱 전압 상태를 산포(223)로 설정할 수 있 다. 프로그래밍부(120)는 제2 비트 "1"이 프로그램될 멀티 비트 셀에 대하여 제2 페이지 프로그래밍 동작을 수행함으로써 산포(223)를 형성할 수 있다. 이 때 산포(223)에 대응하는 멀티 비트 셀에 프로그램된 데이터는 "01"일 수 있다.
메모리 장치(100)는 산포(212)에 대응하는 멀티 비트 셀들 중 제2 비트 "0"이 프로그램될 멀티 비트 셀의 목표 문턱 전압 상태를 산포(224)로 설정할 수 있다. 프로그래밍부(120)는 제2 비트 "0"이 프로그램될 멀티 비트 셀에 대하여 제2 페이지 프로그래밍 동작을 수행함으로써 산포(224)를 형성할 수 있다. 이 때 산포(224)에 대응하는 멀티 비트 셀에 프로그램된 데이터는 "00"일 수 있다.
메모리 장치(100)는 제2 데이터 페이지(220)가 프로그램된 후 산포(221) 및 (222) 사이의 전압 레벨을 읽기 전압 레벨들 중 하나로 설정할 수 있고, 산포(222) 및 산포(223) 사이의 전압 레벨을 읽기 전압 레벨들 중 하나로 설정할 수 있고, 산포(223) 및 산포(224) 사이의 전압 레벨을 읽기 전압 레벨들 중 하나로 설정할 수 있다.
메모리 장치(100)는 3개의 읽기 전압 레벨들을 이용하여 제2 데이터 페이지(220)가 프로그램된 후의 멀티 비트 셀들의 문턱 전압 상태를 식별할 수 있다. 메모리 장치(100)는 식별된 문턱 전압 상태 및 LSB에 기초하여 멀티 비트 셀들의 목표 문턱 전압 구간을 설정할 수 있다. 제3 데이터 페이지(230)는 LSB에 대응할 수 있다.
메모리 장치(100)는 산포(221)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 제1 문턱 전압 상태로 식별할 수 있다. 메모리 장치(100)는 제1 문턱 전압 상 태에 대응하는 멀티 비트 셀들 중 LSB "1"이 프로그램될 멀티 비트 셀에 대하여 목표 문턱 전압 구간(241)을 설정할 수 있다. 메모리 장치(100)는 제1 문턱 전압 상태에 대응하는 멀티 비트 셀들 중 LSB "0"이 프로그램될 멀티 비트 셀에 대하여 목표 문턱 전압 구간(242)을 설정할 수 있다.
메모리 장치(100)는 산포(222)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 제2 문턱 전압 상태로 식별할 수 있다. 메모리 장치(100)는 제2 문턱 전압 상태에 대응하는 멀티 비트 셀들 중 LSB "1"이 프로그램될 멀티 비트 셀에 대하여 목표 문턱 전압 구간(243)을 설정할 수 있다. 메모리 장치(100)는 제2 문턱 전압 상태에 대응하는 멀티 비트 셀들 중 LSB "0"이 프로그램될 멀티 비트 셀에 대하여 목표 문턱 전압 구간(244[2])을 설정할 수 있다.
메모리 장치(100)는 산포(223)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 제3 문턱 전압 상태로 식별할 수 있다. 메모리 장치(100)는 제3 문턱 전압 상태에 대응하는 멀티 비트 셀들 중 LSB "1"이 프로그램될 멀티 비트 셀에 대하여 목표 문턱 전압 구간(245)을 설정할 수 있다. 메모리 장치(100)는 제3 문턱 전압 상태에 대응하는 멀티 비트 셀들 중 LSB "0"이 프로그램될 멀티 비트 셀에 대하여 목표 문턱 전압 구간(246)을 설정할 수 있다.
메모리 장치(100)는 산포(224)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 제4 문턱 전압 상태로 식별할 수 있다. 메모리 장치(100)는 제4 문턱 전압 상태에 대응하는 멀티 비트 셀들 중 LSB "1"이 프로그램될 멀티 비트 셀에 대하여 목표 문턱 전압 구간(247)을 설정할 수 있다. 메모리 장치(100)는 제4 문턱 전압 상 태에 대응하는 멀티 비트 셀들 중 LSB "0"이 프로그램될 멀티 비트 셀에 대하여 목표 문턱 전압 구간(248)을 설정할 수 있다.
전압 레벨(252)은 적절하게 선택된 읽기 전압 레벨의 일 예를 나타낸다. 메모리 장치(100)는 멀티 비트 셀의 문턱 전압이 전압 레벨(252)보다 높은지 낮은지를 판정할 수 있다. 메모리 장치(100)는 멀티 비트 셀의 문턱 전압이 전압 레벨(252)보다 높으면 멀티 비트 셀이 제3 문턱 전압 상태 또는 제4 문턱 전압 상태에 포함되는 것으로 판정할 수 있다. 메모리 장치(100)는 멀티 비트 셀의 문턱 전압이 전압 레벨(252)보다 낮으면 멀티 비트 셀이 제1 문턱 전압 상태 또는 제2 문턱 전압 상태에 포함되는 것으로 판정할 수 있다.
프로그래밍부(120)는 목표 문턱 전압 구간(241)에 대응하는 멀티 비트 셀들에 문턱 전압 상태의 변경을 최소한으로 억제하는 프로그램 조건 전압을 인가하여 산포(231)를 형성할 수 있다. 산포(231)에 대응하는 멀티 비트 셀들은 데이터 "111"를 저장할 수 있다.
프로그래밍부(120)는 목표 문턱 전압 구간(242)에 대응하는 멀티 비트 셀들에 제3 페이지 프로그래밍 동작을 수행함으로써 산포(232)를 형성할 수 있다. 산포(232)에 대응하는 멀티 비트 셀들은 데이터 "110"를 저장할 수 있다.
프로그래밍부(120)는 목표 문턱 전압 구간(243)에 대응하는 멀티 비트 셀들에 제3 페이지 프로그래밍 동작을 수행함으로써 산포(233)를 형성할 수 있다. 산포(233)에 대응하는 멀티 비트 셀들은 데이터 "101"를 저장할 수 있다.
프로그래밍부(120)는 목표 문턱 전압 구간(244)에 대응하는 멀티 비트 셀들 에 제3 페이지 프로그래밍 동작을 수행함으로써 산포(234)를 형성할 수 있다. 산포(234)에 대응하는 멀티 비트 셀들은 데이터 "100"를 저장할 수 있다.
프로그래밍부(120)는 목표 문턱 전압 구간(245)에 대응하는 멀티 비트 셀들에 제3 페이지 프로그래밍 동작을 수행함으로써 산포(235)를 형성할 수 있다. 산포(235)에 대응하는 멀티 비트 셀들은 데이터 "011"를 저장할 수 있다.
프로그래밍부(120)는 목표 문턱 전압 구간(246)에 대응하는 멀티 비트 셀들에 제3 페이지 프로그래밍 동작을 수행함으로써 산포(236)를 형성할 수 있다. 산포(236)에 대응하는 멀티 비트 셀들은 데이터 "010"를 저장할 수 있다.
프로그래밍부(120)는 목표 문턱 전압 구간(247)에 대응하는 멀티 비트 셀들에 제3 페이지 프로그래밍 동작을 수행함으로써 산포(237)를 형성할 수 있다. 산포(237)에 대응하는 멀티 비트 셀들은 데이터 "001"를 저장할 수 있다.
프로그래밍부(120)는 목표 문턱 전압 구간(248)에 대응하는 멀티 비트 셀들에 제3 페이지 프로그래밍 동작을 수행함으로써 산포(238)를 형성할 수 있다. 산포(238)에 대응하는 멀티 비트 셀들은 데이터 "000"를 저장할 수 있다.
전압 레벨(251)은 부적절하게 선택된 읽기 전압 레벨의 일 예를 나타낸다. 메모리 장치(100)는 멀티 비트 셀의 문턱 전압이 전압 레벨(251)보다 높은지 낮은지를 판정할 수 있다. 메모리 장치(100)는 산포(222)에 대응하는 멀티 비트 셀들 중 전압 레벨(251)보다 높은 문턱 전압을 가지는 멀티 비트 셀의 상태를 제3 문턱 전압 상태로 식별할 수 있다. 메모리 장치(100)는 제3 문턱 전압 상태에 대응하는 멀티 비트 셀들 중 LSB "1"이 프로그램될 멀티 비트 셀들에 대하여 목표 문턱 전압 구간(245)을 설정하므로, 산포(222)에 대응하는 멀티 비트 셀들 중 전압 레벨(251)보다 높은 문턱 전압을 가지는 멀티 비트 셀들은 산포(235)를 형성할 수 있다. 이 때 산포(235)에 대응하는 멀티 비트 셀은 데이터 "011"을 저장하는 것으로 간주될 수 있다. 산포(235)에 대응하는 멀티 비트 셀들 중 일부는 산포(222)를 형성하였던 멀티 비트 셀들이므로, 이들 멀티 비트 셀들에 저장되었어야 할 데이터는 "101"이지만 현재 저장된 데이터는 "011"일 수 있다. 메모리 장치(100)는 전압 레벨(251)을 부적절하게 읽기 전압 레벨로 선택함으로써 제3 페이지 프로그래밍 동작 시 MSB 및 제2 비트에 오류를 발생시킬 수 있다.
본 명세서에서는 메모리 장치(100)에 의해 페이지 프로그래밍 동작 사이에 수행되는 문턱 전압 상태 식별 동작을 internal read라 명명하기로 한다. 메모리 장치(100)는 internal read 시에 멀티 비트 셀의 특성에 기초하여 최적의 읽기 전압 레벨을 이용하여 internal read 동작을 수행함으로써 프로그래밍 동작 시 발생할 수 있는 오류를 최소화할 수 있다.
메모리 장치(100)는 부가적인 정보(additional information)에 기초하여 멀티 비트 셀들 각각에 대하여 최적의 읽기 전압 레벨을 결정하고, 멀티 비트 셀들 각각에 대하여 설정된 읽기 전압 레벨을 이용하여 internal read 동작을 수행할 수 있다. 부가적인 정보의 예로는 멀티 비트 셀의 위치, P/E 사이클, 프로그래밍 순서, recharge유무, recharge횟수, 시간경과, 모니터링 셀의 산포 폭의 변화 정도 등이 있음은 앞에서 설명한 바와 같다.
도 3은 도 1의 메모리 장치(100)의 동작의 다른 예를 도시하는 도면이다.
도 3은 문턱 전압 및 문턱 전압을 가지는 멀티 비트 셀들의 개수의 관계를 도시한다.
제1 데이터 페이지기 프로그램된 후 산포(310)에 대응하는 멀티 비트 셀들은 데이터 "11"을 저장할 수 있다.
제1 제어부(130)는 제1 데이터 페이지가 프로그램된 후 산포(320), 산포(330), 산포(340)에 대응하는 멀티 비트 셀들을 제1 그룹으로 선택할 수 있고 산포(321), 산포(331), 산포(341)에 대응하는 멀티 비트 셀들을 제2 그룹으로 선택할 수 있다.
제2 제어부(140)는 제1 그룹으로 선택된 멀티 비트 셀들에 대하여 전압 레벨(351), 전압 레벨(353)을 읽기 전압 레벨로 설정할 수 있고 제2 그룹으로 선택된 멀티 비트 셀들에 대하여 전압 레벨(352), 전압 레벨(354)을 읽기 전압 레벨로 설정할 수 있다.
제2 제어부(140)는 제1 그룹으로 선택된 멀티 비트 셀들에 대하여 전압 레벨(351), 전압 레벨(353)을 이용하여 internal read 동작을 수행할 수 있다. 제2 제어부(140)는 제1 그룹으로 선택된 멀티 비트 셀들 중 산포(320)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 internal read 동작 결과를 이용하여 제1 문턱 전압 상태로 식별할 수 있다. 제2 제어부(140)는 제1 그룹으로 선택된 멀티 비트 셀들 중 산포(330)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 internal read 동작 결과를 이용하여 제2 문턱 전압 상태로 식별할 수 있다. 제2 제어부(140)는 제1 그룹으로 선택된 멀티 비트 셀들 중 산포(340)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 internal read 동작 결과를 이용하여 제3 문턱 전압 상태로 식별할 수 있다.
제2 제어부(140)는 제2 그룹으로 선택된 멀티 비트 셀들에 대하여 전압 레벨(352), 전압 레벨(354)을 이용하여 internal read 동작을 수행할 수 있다. 제2 제어부(140)는 제2 그룹으로 선택된 멀티 비트 셀들 중 산포(321)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 internal read 동작 결과를 이용하여 제1 문턱 전압 상태로 식별할 수 있다. 제2 제어부(140)는 제2 그룹으로 선택된 멀티 비트 셀들 중 산포(331)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 internal read 동작 결과를 이용하여 제2 문턱 전압 상태로 식별할 수 있다. 제2 제어부(140)는 제2 그룹으로 선택된 멀티 비트 셀들 중 산포(341)에 대응하는 멀티 비트 셀들의 문턱 전압 상태를 internal read 동작 결과를 이용하여 제3 문턱 전압 상태로 식별할 수 있다.
실시예에 따라서는 제1 제어부(130)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 제1 워드 라인(word line)에 연결된 멀티 비트 셀들을 제1 그룹으로 설정하고 제2 워드 라인에 연결된 멀티 비트 셀들을 제2 그룹으로 설정할 수 있다. 실시예에 따라서는 메모리 페이지(111)는 하나의 워드 라인에 연결된 멀티 비트 셀들의 집합일 수 있다. 서로 다른 워드 라인에 연결된 멀티 비트 셀들의 특성은 서로 다를 수 있으므로 메모리 장치(100)는 멀티 비트 셀들이 연결된 워드 라인에 따라 internal read 동작의 읽기 전압 레벨을 결정할 수 있다.
실시예에 따라서는 제1 제어부(130)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 짝수 번째 비트 라인(even bit line)에 연결된 멀티 비트 셀들을 제1 그룹으로 설정하고 홀수 번째 비트 라인(odd bit line)에 연결된 멀티 비트 셀들을 상기 제2 그룹으로 설정할 수 있다. even bit line에 연결된 멀티 비트 셀들의 특성은 odd bit line에 연결된 멀티 비트 셀들의 특성과 다를 수 있으므로 메모리 장치(100)는 멀티 비트 셀들이 연결된 비트 라인에 따라 internal read 동작의 읽기 전압 레벨을 결정할 수 있다.
실시예에 따라서는 제1 제어부(130)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 P/E cycle이 기준치 미만인 멀티 비트 셀들을 제1 그룹으로 설정하고 P/E cycle이 상기 기준치 이상인 멀티 비트 셀들을 제2 그룹으로 설정할 수 있다. P/E cycle은 멀티 비트 셀이 프로그램되고 소거된 사이클의 횟수를 의미한다. 멀티 비트 셀의 P/E cycle이 증가할수록 멀티 비트 셀의 charge retention 특성이 열화(degrade)될 수 있다. 메모리 장치(100)는 멀티 비트 셀의 P/E cycle에 따라 internal read 동작의 읽기 전압 레벨을 결정할 수 있다. 예를 들어 메모리 장치(100)는 P/E cycle이 100 이하인 멀티 비트 셀을 제1 그룹으로 선택하고 P/E cycle이 100보다 큰 멀티 비트 셀을 제2 그룹으로 선택할 수 있다.
실시예에 따라서는 제1 제어부(130)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 제1 데이터 페이지가 제1 시간 구간 동안 프로그램된 멀티 비트 셀들을 제1 그룹으로 설정하고 제1 데이터 페이지가 제2 시간 구간 동안 프로그램된 멀티 비트 셀들을 제2 그룹으로 설정할 수 있다. 메모리 장치(100)는 멀티 비트 셀들이 프로그램되는 순서에 따라 internal read 동작의 읽기 전압 레벨을 결정할 수 있다.
제1 시간 구간 동안 제1 데이터 페이지가 프로그램된 멀티 비트 셀들은 제2 시간 구간 동안 수행되는 프로그래밍 동작에 의하여 원치 않는 영향을 받을 수 있다. 프로그래밍 동작이 이전에 프로그램된 멀티 비트 셀에 영향을 미치는 메커니즘의 예로는 프로그램 디스터번스(program disturbance), 및 FG 커플링(Floating Gate coupling) 등이 있을 수 있다.
실시예에 따라서는 프로그래밍부(120)는 멀티 비트 셀들 각각의 게이트 단자(gate terminal)에 프로그램 전압을 인가하여 제1 데이터 페이지를 프로그램할 수 있다. 이 때 제1 제어부(130)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 프로그래밍부(120)와의 거리가 기준치 미만인 멀티 비트 셀들을 제1 그룹으로 설정하고 프로그래밍부(120)와의 거리가 상기 기준치 이상인 멀티 비트 셀들을 상기 제2 그룹으로 설정할 수 있다. 메모리 장치(100)는 프로그래밍부(120)와의 거리에 따라 internal read 동작의 읽기 전압 레벨을 결정할 수 있다. 워드 라인(word line) 또는 비트 라인(bit line)의 기생 저항(parasitic resistance) 및 기생 커패시턴스(parasitic capacitance) 때문에 프로그램 전압이 인가되는 경로가 길수록 인가되는 전압의 레벨이 다를 수 있다.
실시예에 따라서는 제1 제어부(130)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 각각의 오류 통계를 저장하고, 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 상기 저장된 오류 통계가 기준치 미만인 멀티 비트 셀들을 제1 그룹으로 설정하고 상기 저장된 오류 통계가 상기 기준치 이상인 멀티 비트 셀들을 제2 그룹으로 설정할 수 있다. 메모리 장치(100)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 각각의 오류 통계에 기초하여 멀티 비트 셀들 각각의 internal read 동작의 읽기 전압 레벨을 결정할 수 있다.
실시예에 따라서는 제1 제어부(130)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 각각의 recharge 횟수를 저장하고, 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 상기 저장된 recharge 횟수가 기준치 미만인 멀티 비트 셀들을 제1 그룹으로 설정하고 상기 저장된 recharge 횟수가 상기 기준치 이상인 멀티 비트 셀들을 제2 그룹으로 설정할 수 있다. 메모리 장치(100)는 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 각각의 recharge 횟수계에 기초하여 멀티 비트 셀들 각각의 internal read 동작의 읽기 전압 레벨을 결정할 수 있다.
도 4는 도 1의 메모리 장치(100)의 동작의 또 다른 예를 도시하는 도면이다.
도 4를 참조하면, 메모리 장치(100)는 하나의 워드 라인(word line)에 연결된 8개의 멀티 비트 셀들(410 내지 480)을 제1 그룹 및 제2 그룹으로 분할할 수 있다.
멀티 비트 셀(410)은 워드 라인 및 비트 라인 BL0에 연결된다. 멀티 비트 셀(420)은 워드 라인 및 비트 라인 BL1에 연결된다. 멀티 비트 셀(430)은 워드 라인 및 비트 라인 BL2에 연결된다. 멀티 비트 셀(440)은 워드 라인 및 비트 라인 BL3에 연결된다.
멀티 비트 셀(450)은 워드 라인 및 비트 라인 BL4에 연결된다. 멀티 비트 셀(460)은 워드 라인 및 비트 라인 BL5에 연결된다. 멀티 비트 셀(470)은 워드 라 인 및 비트 라인 BL6에 연결된다. 멀티 비트 셀(480)은 워드 라인 및 비트 라인 BL7에 연결된다.
메모리 장치(100)는 even bit line들(BL0, BL2, BL4, BL6)에 연결된 멀티 비트 셀들(410, 430, 450, 470)을 제1 그룹으로 선택할 수 있고 odd bit line들(BL1, BL3, BL5, BL7)에 연결된 멀티 비트 셀들(420, 440, 460, 480)을 제2 그룹으로 선택할 수 있다.
도 5는 도 1의 메모리 장치(100)의 동작의 또 다른 예를 도시하는 도면이다.
도 5를 참조하면, 메모리 장치(100)는 4개의 워드 라인들(WL0, WL1, WL2, WL3) 및 8개의 비트 라인들(BL0. BL1, BL2, BL3, BL4, BL5, BL6, BL7)에 연결된 32개의 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할할 수 있다.
메모리 장치(100)는 비트 라인들에는 무관하게 워드 라인 WL0, WL1에 연결된 멀티 비트 셀들을 제1 그룹으로 선택할 수 있고 워드 라인 WL2, WL3에 연결된 멀티 비트 셀들을 제2 그룹으로 선택할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 메모리 프로그래밍 방법을 도시하는 동작 흐름도이다.
도 6을 참조하면, 메모리 프로그래밍 방법은 멀티 비트 셀들에 제1 데이터 페이지를 프로그램한다(S610).
메모리 프로그래밍 방법은 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할한다(S620).
메모리 프로그래밍 방법은 제1 읽기 전압 레벨들 및 제2 데이터 페이지에 기 초하여 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정한다(S630).
메모리 프로그래밍 방법은 제2 읽기 전압 레벨들 및 제2 데이터 페이지에 기초하여 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정한다(S640).
메모리 프로그래밍 방법은 멀티 비트 셀에 제2 데이터 페이지를 프로그램한다(S650).
도 7은 도 6의 단계(S630)의 일 예를 상세히 도시하는 동작 흐름도이다.
도 7을 참조하면 메모리 프로그래밍 방법은 제1 그룹의 멀티 비트 셀들 각각의 문턱 전압을 제1 읽기 전압 레벨들과 비교한다(S710).
메모리 프로그래밍 방법은 제1 그룹의 멀티 비트 셀들 각각의 문턱 전압 상태 정보를 생성한다(S720).
메모리 프로그래밍 방법은 문턱 전압 상태 정보 및 제2 데이터 페이지에 기초하여 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정한다(S730).
본 발명의 실시예들은 메모리 셀의 문턱 전압을 변화시켜 데이터를 저장하는 메모리 장치에 적용될 수 있다. 이러한 종류의 메모리 장치의 예로는 플래시 메모리(flash memory), EEPROM(Electrically Erasable Programmable Read Only Memory), PRAM(Phase Shift Random Access Memory), MRAM(Magnetic Random Access Memory) 등이 포함될 수 있다.
본 발명의 실시예들에 따른 메모리 프로그래밍 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데 이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명의 실시예들에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 구현될 수 있다. 예를 들면, 본 발명의 실시예들에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 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), 등과 같은 패키지들을 이용하여 구현될 수 있다.
플래시 메모리 장치와 메모리 컨트롤러는 메모리 카드를 구성할 수 있다. 이러한 경우, 메모리 컨트롤러는 USB, MMC, PCI-E, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 수 있다.
플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 비휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 보다 널리 사용될 수 있다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다.
본 발명이 실시예들에 따른 컴퓨팅 시스템은 버스에 전기적으로 연결된 마이크로프로세서, 사용자 인터페이스, 베이스밴드 칩셋(baseband chipset)과 같은 모뎀, 메모리 컨트롤러, 그리고 플래시 메모리 장치를 포함한다. 플래시 메모리 장치에는 마이크로프로세서에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 메모리 컨트롤러를 통해 저장될 것이다. 본 발명의 실시예들에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리가 추가적으로 제공될 것이다.
본 발명의 실시예들에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 메모리 컨트롤러와 플래시 메모리 장치는, 예를 들면, 데이터를 저장하는 데 비휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.
도 2는 도 1의 메모리 장치(100)의 동작의 일 예를 도시하는 도면이다.
도 3은 도 1의 메모리 장치(100)의 동작의 다른 예를 도시하는 도면이다.
도 4는 도 1의 메모리 장치(100)의 동작의 또 다른 예를 도시하는 도면이다.
도 5는 도 1의 메모리 장치(100)의 동작의 또 다른 예를 도시하는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 메모리 프로그래밍 방법을 도시하는 동작 흐름도이다.
도 7은 도 6의 단계(S630)의 일 예를 상세히 도시하는 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 멀티 비트 셀 어레이
120: 프로그래밍부
130: 제1 제어부
140: 제2 제어부
Claims (21)
- 복수의 멀티 비트 셀들을 포함하는 멀티 비트 셀 어레이;상기 복수의 멀티 비트 셀들에 제1 데이터 페이지를 프로그램하고, 상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들에 제2 데이터 페이지를 프로그램하는 프로그래밍부;상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할하는 제1 제어부; 및제1 읽기 전압 레벨들 및 상기 제2 데이터 페이지에 기초하여 상기 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하고, 제2 읽기 전압 레벨들 및 상기 제2 데이터 페이지에 기초하여 상기 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 제2 제어부를 포함하는 메모리 장치.
- 제1항에 있어서,상기 제2 제어부는상기 제1 그룹의 멀티 비트 셀들 각각의 문턱 전압을 상기 제1 읽기 전압 레벨들과 비교하여 상기 제1 그룹의 멀티 비트 셀들 각각의 문턱 전압 상태 정보를 생성하고, 상기 문턱 전압 상태 정보 및 상기 제2 데이터 페이지에 기초하여 상기 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 메모리 장치.
- 제1항에 있어서,상기 제2 제어부는상기 제2 그룹의 멀티 비트 셀들 각각의 문턱 전압을 상기 제2 읽기 전압 레벨들과 비교하여 상기 제2 그룹의 멀티 비트 셀들 각각의 문턱 전압 상태 정보를 생성하고, 상기 문턱 전압 상태 정보 및 상기 제2 데이터 페이지에 기초하여 상기 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 메모리 장치.
- 제1항에 있어서,상기 프로그래밍부는상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 각각의 문턱 전압이 상기 설정된 목표 문턱 전압 구간에 포함되도록 상기 제2 데이터 페이지를 상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들에 프로그램하는 메모리 장치.
- 제1항에 있어서,상기 제1 제어부는상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 제1 워드 라인에 연결된 멀티 비트 셀들을 상기 제1 그룹으로 설정하고 제2 워드 라인에 연결된 멀티 비트 셀들을 상기 제2 그룹으로 설정하는 메모리 장치.
- 제1항에 있어서,상기 제1 제어부는상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 짝수 번째 비트 라인에 연결된 멀티 비트 셀들을 상기 제1 그룹으로 설정하고 홀수 번째 비트 라인에 연결된 멀티 비트 셀들을 상기 제2 그룹으로 설정하는 메모리 장치.
- 제1항에 있어서,상기 제1 제어부는상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 소거 횟수가 기준치 미만인 멀티 비트 셀들을 상기 제1 그룹으로 설정하고 소거 횟수가 상기 기준치 이상인 멀티 비트 셀들을 상기 제2 그룹으로 설정하는 메모리 장치.
- 제1항에 있어서,상기 제1 제어부는상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 상기 제1 데이터 페이지가 제1 시간 구간 동안 프로그램된 멀티 비트 셀들을 상기 제1 그룹으로 설정하고 상기 제1 데이터 페이지가 제2 시간 구간 동안 프로그램된 멀티 비트 셀들을 상기 제2 그룹으로 설정하는 메모리 장치.
- 제1항에 있어서,상기 프로그래밍부는상기 복수의 멀티 비트 셀들 각각의 게이트 단자에 프로그램 전압을 인가하여 상기 제1 데이터 페이지를 프로그램하고,상기 제1 제어부는상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 상기 프로그래밍부와의 거리가 기준치 미만인 멀티 비트 셀들을 상기 제1 그룹으로 설정하고 상기 프로그래밍부와의 거리가 상기 기준치 이상인 멀티 비트 셀들을 상기 제2 그룹으로 설정하는 메모리 장치.
- 제1항에 있어서,상기 제1 제어부는상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 각각의 오류 통계를 저장하고, 상기 제1 데이터 페이지가 프로그램된 멀티 비트 셀들 중 상기 저장된 오류 통계가 기준치 미만인 멀티 비트 셀들을 상기 제1 그룹으로 설정하고 상기 저장된 오류 통계가 상기 기준치 이상인 멀티 비트 셀들을 상기 제2 그룹으로 설정하는 메모리 장치.
- 복수의 멀티 비트 셀들에 제1 데이터 페이지를 프로그램하는 단계;상기 복수의 멀티 비트 셀들을 제1 그룹 및 제2 그룹으로 분할하는 단계;제1 읽기 전압 레벨 및 제2 데이터 페이지에 기초하여 상기 제1 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 단계;제2 읽기 전압 레벨 및 상기 제2 데이터 페이지에 기초하여 상기 제2 그룹의 멀티 비트 셀들 각각의 목표 문턱 전압 구간을 설정하는 단계; 및상기 복수의 멀티 비트 셀들에 상기 제2 데이터 페이지를 프로그램하는 단계를 포함하는 메모리 프로그래밍 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제11항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080044146A KR101378602B1 (ko) | 2008-05-13 | 2008-05-13 | 메모리 장치 및 메모리 프로그래밍 방법 |
US12/453,108 US7864574B2 (en) | 2008-05-13 | 2009-04-29 | Memory device and memory programming method |
PCT/KR2009/002487 WO2009139567A2 (en) | 2008-05-13 | 2009-05-12 | Memory device and memory programming method |
JP2011509406A JP5773367B2 (ja) | 2008-05-13 | 2009-05-12 | メモリ装置およびメモリプログラミング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080044146A KR101378602B1 (ko) | 2008-05-13 | 2008-05-13 | 메모리 장치 및 메모리 프로그래밍 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090118396A KR20090118396A (ko) | 2009-11-18 |
KR101378602B1 true KR101378602B1 (ko) | 2014-03-25 |
Family
ID=41316005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080044146A KR101378602B1 (ko) | 2008-05-13 | 2008-05-13 | 메모리 장치 및 메모리 프로그래밍 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7864574B2 (ko) |
JP (1) | JP5773367B2 (ko) |
KR (1) | KR101378602B1 (ko) |
WO (1) | WO2009139567A2 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
KR101139107B1 (ko) * | 2010-06-04 | 2012-04-30 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 프로그램 방법 |
KR20120059035A (ko) * | 2010-11-30 | 2012-06-08 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8879317B2 (en) * | 2011-03-01 | 2014-11-04 | Sandisk Technologies Inc. | System and method of decoding data from memory based on sensing information and decoded data of neighboring storage elements |
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 |
US9190162B2 (en) * | 2012-03-13 | 2015-11-17 | Micron Technology, Inc. | Nonconsecutive sensing of multilevel memory cells |
US8811074B2 (en) | 2012-04-03 | 2014-08-19 | Seagate Technology Llc | Parametric tracking to manage read disturbed data |
KR102005709B1 (ko) * | 2012-10-22 | 2019-08-01 | 삼성전자 주식회사 | 메모리 장치 구동 방법 및 메모리 시스템 |
JP2014175031A (ja) * | 2013-03-08 | 2014-09-22 | Toshiba Corp | 半導体記憶装置 |
KR102168096B1 (ko) | 2013-03-15 | 2020-10-20 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 데이터 쓰기 방법 |
US9190159B2 (en) * | 2013-03-15 | 2015-11-17 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US9129701B2 (en) | 2013-12-19 | 2015-09-08 | Sandisk Technologies Inc. | Asymmetric state detection for non-volatile storage |
TWI536386B (zh) * | 2015-02-16 | 2016-06-01 | 群聯電子股份有限公司 | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002151601A (ja) | 2000-11-08 | 2002-05-24 | Toshiba Corp | 半導体記憶装置 |
JP2005267687A (ja) | 2004-03-16 | 2005-09-29 | Toshiba Corp | 不揮発性半導体メモリ |
US20080025090A1 (en) | 2004-11-19 | 2008-01-31 | Samsung Electronics Co., Ltd. | Page buffer and multi-state nonvolatile memory device including the same |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3210259B2 (ja) * | 1996-04-19 | 2001-09-17 | 株式会社東芝 | 半導体記憶装置及び記憶システム |
JP3200012B2 (ja) * | 1996-04-19 | 2001-08-20 | 株式会社東芝 | 記憶システム |
JP3976839B2 (ja) * | 1996-07-09 | 2007-09-19 | 株式会社ルネサステクノロジ | 不揮発性メモリシステムおよび不揮発性半導体メモリ |
KR100266748B1 (ko) | 1997-12-31 | 2000-10-02 | 윤종용 | 반도체 메모리 장치 및 그 장치의 에러 정정 방법 |
JP3098486B2 (ja) * | 1998-03-31 | 2000-10-16 | 山形日本電気株式会社 | 不揮発性半導体記憶装置 |
JP3561639B2 (ja) * | 1998-10-29 | 2004-09-02 | 三洋電機株式会社 | 1チップマイクロコンピュータ |
JP3561647B2 (ja) * | 1998-12-10 | 2004-09-02 | 三洋電機株式会社 | 1チップマイクロコンピュータ |
EP1028433B1 (en) | 1999-02-10 | 2004-04-28 | SGS-THOMSON MICROELECTRONICS s.r.l. | Nonvolatile memory and reading method therefor |
JP4039812B2 (ja) * | 2001-01-15 | 2008-01-30 | 松下電器産業株式会社 | 不揮発性記憶装置 |
JP3631463B2 (ja) * | 2001-12-27 | 2005-03-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP4467815B2 (ja) * | 2001-02-26 | 2010-05-26 | 富士通マイクロエレクトロニクス株式会社 | 不揮発性半導体メモリの読み出し動作方法および不揮発性半導体メモリ |
US6522580B2 (en) * | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6697918B2 (en) * | 2001-07-18 | 2004-02-24 | Broadcom Corporation | Cache configured to read evicted cache block responsive to transmitting block's address on interface |
JP4437519B2 (ja) | 2001-08-23 | 2010-03-24 | スパンション エルエルシー | 多値セルメモリ用のメモリコントローラ |
US7301806B2 (en) * | 2001-12-27 | 2007-11-27 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device adapted to store a multi-valued in a single memory cell |
KR100476888B1 (ko) | 2002-04-04 | 2005-03-17 | 삼성전자주식회사 | 온도보상기능을 가진 멀티비트 플래쉬메모리 |
US7206224B1 (en) * | 2004-04-16 | 2007-04-17 | Spansion Llc | Methods and systems for high write performance in multi-bit flash memory devices |
JP2006114078A (ja) * | 2004-10-12 | 2006-04-27 | Toshiba Corp | 不揮発性半導体記憶装置及びその動作方法 |
JP4713873B2 (ja) * | 2004-11-12 | 2011-06-29 | 株式会社東芝 | 半導体記憶装置 |
JP4720152B2 (ja) | 2004-11-17 | 2011-07-13 | パナソニック株式会社 | 不揮発性メモリシステム |
US7212436B2 (en) * | 2005-02-28 | 2007-05-01 | Micron Technology, Inc. | Multiple level programming in a non-volatile memory device |
JP4768298B2 (ja) * | 2005-03-28 | 2011-09-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR100597790B1 (ko) | 2005-05-04 | 2006-07-06 | 삼성전자주식회사 | 멀티레벨 불휘발성 반도체 메모리 장치 및 이에 대한데이터 독출방법 |
KR100600301B1 (ko) * | 2005-05-25 | 2006-07-13 | 주식회사 하이닉스반도체 | 면적이 감소된 페이지 버퍼 회로와, 이를 포함하는 플래시메모리 장치 및 그 프로그램 동작 방법 |
JP4828901B2 (ja) * | 2005-09-22 | 2011-11-30 | 株式会社東芝 | 半導体集積回路装置 |
JP2007102865A (ja) * | 2005-09-30 | 2007-04-19 | Toshiba Corp | 半導体集積回路装置 |
KR100673026B1 (ko) * | 2006-01-24 | 2007-01-24 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
JP2007242700A (ja) * | 2006-03-06 | 2007-09-20 | Toshiba Corp | 半導体メモリ |
JP5095131B2 (ja) | 2006-05-31 | 2012-12-12 | 株式会社東芝 | 半導体記憶装置 |
JP4945187B2 (ja) | 2006-07-31 | 2012-06-06 | 株式会社東芝 | 半導体記憶装置 |
WO2008057822A2 (en) * | 2006-11-03 | 2008-05-15 | Sandisk Corporation | Nonvolatile memory with variable read threshold |
-
2008
- 2008-05-13 KR KR1020080044146A patent/KR101378602B1/ko active IP Right Grant
-
2009
- 2009-04-29 US US12/453,108 patent/US7864574B2/en active Active
- 2009-05-12 WO PCT/KR2009/002487 patent/WO2009139567A2/en active Application Filing
- 2009-05-12 JP JP2011509406A patent/JP5773367B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002151601A (ja) | 2000-11-08 | 2002-05-24 | Toshiba Corp | 半導体記憶装置 |
JP2005267687A (ja) | 2004-03-16 | 2005-09-29 | Toshiba Corp | 不揮発性半導体メモリ |
US20080025090A1 (en) | 2004-11-19 | 2008-01-31 | Samsung Electronics Co., Ltd. | Page buffer and multi-state nonvolatile memory device including the same |
Also Published As
Publication number | Publication date |
---|---|
WO2009139567A3 (en) | 2010-06-24 |
US20090285023A1 (en) | 2009-11-19 |
US7864574B2 (en) | 2011-01-04 |
WO2009139567A2 (en) | 2009-11-19 |
KR20090118396A (ko) | 2009-11-18 |
JP2011521393A (ja) | 2011-07-21 |
JP5773367B2 (ja) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101378602B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 | |
KR101528167B1 (ko) | 메모리 장치 및 메모리 데이터 판정 방법 | |
KR101413137B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 | |
US8059467B2 (en) | Memory device and memory programming method | |
KR101665280B1 (ko) | 메모리 디바이스에서의 에러 정정 동작들 | |
KR101368694B1 (ko) | 메모리 프로그래밍 장치 및 방법 | |
US8473668B2 (en) | Memory device and wear leveling method | |
KR101412974B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 | |
KR101414494B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101437102B1 (ko) | 메모리 장치 및 멀티 비트 셀 특성 추정 방법 | |
KR101772578B1 (ko) | 불휘발성 메모리 장치의 프로그램 방법 | |
US20140211565A1 (en) | Methods of programming multi-level cell nonvolatile memory devices and devices so operating | |
KR20110092091A (ko) | 플래시 메모리 장치 및 그것의 읽기 방법 | |
KR20120030281A (ko) | 플래시 메모리 장치, 및 그의 프로그램 검증 방법 | |
JP2012038410A (ja) | フラッシュメモリ装置及びフラッシュメモリ装置の読み取り方法 | |
US8218371B2 (en) | Multi-bit flash memory device and method of analyzing flag cells of the same | |
KR101437103B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101492857B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 |
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: 20170228 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180228 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190228 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200228 Year of fee payment: 7 |