KR101413137B1 - 메모리 장치 및 메모리 프로그래밍 방법 - Google Patents
메모리 장치 및 메모리 프로그래밍 방법 Download PDFInfo
- Publication number
- KR101413137B1 KR101413137B1 KR1020080065068A KR20080065068A KR101413137B1 KR 101413137 B1 KR101413137 B1 KR 101413137B1 KR 1020080065068 A KR1020080065068 A KR 1020080065068A KR 20080065068 A KR20080065068 A KR 20080065068A KR 101413137 B1 KR101413137 B1 KR 101413137B1
- Authority
- KR
- South Korea
- Prior art keywords
- error
- read
- data page
- voltage level
- information
- Prior art date
Links
Images
Classifications
-
- 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
- G11C16/10—Programming or 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
메모리 장치 및 메모리 프로그래밍 방법이 제공된다. 본 발명의 메모리 장치는 복수의 멀티 레벨 셀을 포함하는 멀티 레벨 셀 어레이, 상기 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램하고, 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램하는 프로그래밍부, 읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대응하는 읽기 에러 정보를 분석하고, 상기 분석된 읽기 에러 정보에 기반하여 읽기 에러의 정정 여부를 판단하는 에러 분석부, 및 상기 읽기 에러의 정정 여부에 대한 판단 결과에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절하는 제어부를 포함하며, 이를 통해 데이터 페이지의 읽기(판독)/프로그램 시에 포함된 에러의 발생 가능성을 줄일 수 있다.
멀티 레벨 셀, 읽기 전압 레벨, 프로그래밍, 데이터 페이지, 에러 정정
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 개의 데이터 값 각각에 하나씩의 문턱 전압 산포가 대응할 수 있다.
그러나, 메모리의 전압 윈도우(voltage window)는 제한되어 있기 때문에, m이 증가함에 따라 인접한 비트들 간의 문턱 전압(threshold)의 2m개의 산포들 간의 거리는 줄어들고, 산포들 간의 거리가 더욱 줄어들면 산포들끼리 겹칠 수 있다. 산포들끼리 겹치면 판독 실패율이 증가할 수 있다.
산포들의 분포 영역이 중첩하게 되어 셀에 저장된 정보의 상태(state)를 정확하게 판독할 수 없는 오류가 발생하게 된다.
본 발명의 실시예들에 따르면 데이터 페이지의 읽기(판독)/프로그램 시에 포함된 에러의 발생 가능성을 줄일 수 있다.
본 발명의 실시예에 따른 메모리 장치는 복수의 멀티 레벨 셀을 포함하는 멀티 레벨 셀 어레이, 상기 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램하고, 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램하는 프로그래밍부, 읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대응하는 읽기 에러 정보를 분석하고, 상기 분석된 읽기 에러 정보에 기반하여 읽기 에러의 정정 여부를 판단하는 에러 분석부, 및 상기 읽기 에러의 정정 여부에 대한 판단 결과에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절하는 제어부를 포함할 수 있다.
본 발명의 다른 실시예에 따른 메모리 프로그래밍 방법은 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램하는 단계, 읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대응하는 읽기 에러 정보를 분석하고, 상기 분석된 읽기 에러 정보에 기반하여 읽기 에러의 정정 여부를 판단하는 단계, 상기 읽기 에러의 정정 여부에 대한 판단 결과에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절하는 단계, 및 상기 읽기 전압 레벨 및 상기 제1 데이터 페이지에 기반하여 상기 멀티 레벨 셀에 제2 데이터 페이지를 프로그램하는 단계를 포함할 수 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 메모리 장치 및 메모리 데이터 프로그래밍 방법을 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.
도 1을 참조하면, 메모리 장치(100)는 멀티 레벨 셀 어레이(110), 프로그래밍부(120), 에러 분석부(130) 및 제어부(140)를 포함한다.
멀티 레벨 셀 어레이(110)는 복수의 멀티 레벨 셀들을 포함한다. 플래시 메모리(flash memory) 또는 EEPROM(Electrically Erasable and Programmable Read Only Memory) 등의 비휘발성 메모리(non-volatile memory)의 멀티 레벨 셀에 데이터를 저장하는 과정은 프로그램 과정이라고도 불리며, 멀티 레벨 셀의 문턱 전압을 변경하는 과정일 수 있다.
프로그래밍부(120)는 멀티 레벨 셀들 각각의 문턱 전압을 변경시켜 멀티 레벨 셀들 각각에 데이터를 프로그램할 수 있다. 멀티 레벨 셀이 m비트의 데이터를 저장할 수 있으면 상기 멀티 레벨 셀의 문턱 전압은 2m 개의 전압 레벨들 중 어느 하나일 수 있다.
프로그래밍부(120)가 멀티 레벨 셀에 데이터를 프로그램하는 과정에는 메모리 장치(100)가 멀티 레벨 셀에 저장된 데이터를 읽는 과정에 걸리는 시간보다 매우 긴 시간이 걸릴 수 있다. 프로그래밍부(120)는 전체 프로그래밍 시간을 단축하기 위하여 복수의 멀티 레벨 셀들에 동시에 데이터를 프로그램할 수 있다.
본 명세서에서는 동시에 프로그램되는 멀티 레벨 셀들의 집합을 메모리 페이지라 명명하기로 한다. 메모리 페이지(111)는 프로그래밍부(120)에 의하여 동시에 프로그램되는 멀티 레벨 셀들의 집합일 수 있다. 메모리 페이지(111)의 멀티 레벨 셀들 각각이 m비트 데이터를 저장하면 메모리 페이지(111)는 m개의 데이터 페이지들을 저장할 수 있다.
프로그래밍부(120)는 상기 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램하고, 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램한다.
실시예에 따라서는 프로그래밍부(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 데이터 페이지라 할 수 있다.
에러 분석부(130)는 읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대응하는 읽기 에러 정보를 분석하고, 상기 분석된 읽기 에러 정보에 기반하여 읽기 에러의 정정 여부를 판단한다.
제어부(140)는 상기 읽기 에러의 정정 여부에 대한 판단 결과에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절한다. 이를 위해 제어부(140)는 상기 복수의 멀티 레벨 셀에 상기 읽기 전압 레벨을 인가하여 상기 제1 데이터 페이지를 판독하는 판독부(141), 및 상기 읽기 에러의 정정 여부에 대한 결과에 대응하여 상기 읽기 전압 레벨을 조절하는 읽기 전압 레벨 조절부(142)를 포함할 수 있다.
실시예에 따라서는 제어부(140)는 상기 제1 데이터 페이지의 읽기 에러 정보를 기반으로 상기 읽기 전압 레벨을 조절하고, 프로그래밍부(120)는 상기 제1 데이터 페이지 및 상기 조절된 읽기 전압 레벨에 대응하여 상기 제2 데이터 페이지를 프로그램할 수 있다.
실시예에 따라서는 본 발명의 제어부(140)는 상기 제1 데이터 페이지에 대응하는 부가 정보를 기반으로 상기 읽기 전압 레벨을 조절할 수 있다. 상기 부가 정보는 상기 읽기 에러 정보에 포함될 수 있고, 상기 부가 정보는 상기 제1 데이터 페이지가 프로그램된 상기 복수의 멀티 레벨 셀의 위치 정보, 상기 제1 데이터 페이지가 프로그램되는 프로그래밍 순서 정보, P/E 사이클(Program/Erase Cycle) 정보, 전하 손실(charge loss) 정보, 상기 읽기 에러의 비트 수 정보, 또는 비트 오더링(bit ordering) 정보를 포함할 수 있다.
본 발명의 읽기 에러 정보는 제1 데이터 페이지의 에러 비트 수에 대한 에러 카운팅 정보를 포함할 수 있고, 에러 분석부(130)는 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하지 아니한 경우 상기 읽기 에러를 정정하며, 프로그래밍부(120)는 상기 읽기 에러가 정정된 이후 상기 제2 데이터 페이지를 프로그램할 수 있다.
반면에, 프로그래밍부(120)는 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하는 경우, 상기 읽기 에러를 정정하지 아니하고 상기 제1 데이터 페이지가 프로그램된 상기 멀티 레벨 셀에 상기 제2 데이터 페이지를 프로그램할 수 있다.
실시예에 따라서는 읽기 에러 정보는 상기 제1 데이터 페이지에 대한 에러 감지 정보를 포함할 수 있고, 에러 분석부(130)는 상기 에러 감지 정보에 기반하여 상기 읽기 에러의 정정 여부를 판단할 수 있다. 이 경우 제어부(140)는 상기 에러 감지 정보에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절할 수 있다.
실시예에 따라서는 제어부(140)는 조절된 읽기 전압 레벨에 기초한 상기 제1 데이터 페이지의 판독/재판독 과정을 선정된 횟수(loop)로 반복할 수 있다.
실시예에 따라서는 본 발명의 에러 분석부(130)는 상기 읽기 에러의 정정에 소요되는 에러 정정 디코딩 시간 및 상기 제어된 읽기 전압 레벨을 상기 복수의 멀티 레벨 셀에 인가하여 상기 제1 데이터 페이지에 대한 판독하는 데 소요되는 판독 소요 시간을 비교 분석할 수 있다. 에러 분석부(130)는 비교 분석 결과, 상기 에러 정정 디코딩 시간이 상기 판독 소요 시간보다 적은 경우에 상기 읽기 에러를 정정할 수 있고, 상기 비교 분석 결과, 상기 에러 정정 디코딩 시간이 상기 판독 소요 시간보다 적지 아니한 경우에 제어부(140)는 읽기 전압 레벨을 조절할 수 있다.
메모리 장치(100)는 제1 데이터 페이지를 프로그램하고, 읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대해 판독 과정을 거친 후 읽기 에러의 정정이 필요한 경우 상기 읽기 에러를 정정한 후 제2 데이터 페이지를 프로그램할 수 있고, 또는 상기 읽기 전압 레벨을 조절할 수도 있으며, 상기 읽기 에러가 존재하지 않거나 상기 읽기 에러가 오류 정정 능력 범위에 존재할 정도의 것일 경우 상기 읽기 에러의 정정 또는 상기 읽기 전압 레벨의 조절 없이 제2 데이터 페이지를 프로그램할 수 있다.
이를 통해 메모리 장치(100)는 멀티 레벨 셀의 데이터 페이지 프로그램 시에 수행되는 판독 과정 시 발생할 수 있는 읽기 에러의 오류를 최소화할 수 있다. 이하에서는 도 2를 참조하여, 메모리 장치(100)의 동작을 구체적으로 설명하기로 한다.
도 2는 본 발명의 메모리 장치에서 수행될 수 있는 메모리 장치의 동작을 설명하기 위한 일 예를 도시한 것이다.
도 2는 문턱 전압 및 문턱 전압에 대응하는 멀티 레벨 셀들의 개수를 도시한다.
최초 데이터 페이지(210)가 프로그램된 후 멀티 레벨 셀 어레이(110)의 멀티 레벨 셀들의 문턱 전압은 산포(211) 및 산포(212)에 대응할 수 있다.
실시예에 따라서는 최초 데이터 페이지(210)는 MSB에 대응할 수 있다. MSB는 "1" 또는 "0"일 수 있다. MSB "1"이 프로그램된 멀티 레벨 셀들의 문턱 전압은 산포(211)에 대응할 수 있고, MSB "0"이 프로그램된 멀티 레벨 셀들의 문턱 전압은 산포(212)에 대응할 수 있다.
프로그래밍부(120)는 최초 페이지 프로그래밍 동작을 수행함으로써 산포(211) 및 산포(212)를 형성할 수 있다.
메모리 장치(100)는 산포(211) 및 산포(212) 사이의 한 전압 레벨을 읽기 전압 레벨로 설정할 수 있다. 메모리 장치(100)는 상기 설정된 읽기 전압 레벨을 이용하여 멀티 레벨 셀 어레이(110)의 멀티 레벨 셀들의 문턱 전압 상태를 식별할 수 있다. 메모리 장치(100)는 상기 설정된 읽기 전압 레벨을 이용하여 멀티 레벨 셀들의 문턱 전압이 산포(211)에 대응하는지 또는 산포(212)에 대응하는지를 판정(decision)할 수 있다.
프로그래밍부(120)는 제1 페이지 프로그래밍 동작을 수행함으로써 산포(221), 산포(222), 산포(223), 및 산포(224)를 구성하여 제1 데이터 페이지(220) 를 형성할 수 있다.
메모리 장치(100)는 최초 데이터 페이지(210)를 프로그램한 이후, 읽기 전압 레벨에 기초하여 최초 데이터 페이지(210)에 대해 판독 과정을 거친 후 읽기 에러의 정정이 필요한 경우 상기 읽기 에러를 정정한 후 제1 데이터 페이지(220)를 프로그램할 수 있고, 또는 상기 읽기 전압 레벨을 조절할 수도 있으며 상기 읽기 에러가 존재하지 않거나 상기 읽기 에러가 오류 정정 능력 범위에 존재할 정도의 것일 경우 상기 읽기 에러의 정정 또는 상기 읽기 전압 레벨의 조절 없이 제1 데이터 페이지(220)를 프로그램할 수 있다. 실시예에 따라서는 제1 데이터 페이지(220)는 제2 비트에 대응할 수 있다.
프로그래밍부(120)는 전술한 바와 같은 과정을 통하여 제2 페이지 프로그래밍 동작을 수행함으로써 산포(231), 산포(232), 산포(233), 산포(234), 산포(235), 산포(236), 산포(237), 및 산포(238)을 구성하여 제2 데이터 페이지(230)를 형성할 수 있다. 실시예에 따라서는 제2 데이터 페이지(230)는 제3 비트에 대응할 수 있다.
읽기 전압 레벨(251)은 부적절하게 선택된 읽기 전압 레벨의 일 예를 나타낸다. 메모리 장치(100)는 멀티 레벨 셀의 문턱 전압이 읽기 전압 레벨(251)보다 높은지 낮은지를 판정할 수 있다. 메모리 장치(100)는 산포(222)에 대응하는 멀티 레벨 셀들 중 읽기 전압 레벨(251)보다 높은 문턱 전압을 가지는 멀티 레벨 셀의 상태를 식별할 수 있다. 메모리 장치(100)는 멀티 레벨 셀들 중 LSB "1"이 프로그램될 멀티 레벨 셀들에 대하여 문턱 전압 구간(245)을 설정하므로, 산포(222)에 대 응하는 멀티 레벨 셀들 중 일부는 산포(235)를 형성할 수 있다. 이 때 산포(235)에 대응하는 멀티 레벨 셀은 데이터 "011"을 저장하는 것으로 간주될 수 있다. 산포(235)에 대응하는 멀티 레벨 셀들 중 일부는 산포(222)를 형성하였던 멀티 레벨 셀들이므로, 이들 멀티 레벨 셀들에 저장되었어야 할 데이터는 "101"이지만 현재 저장된 데이터는 "011"일 수 있다. 메모리 장치(100)는 읽기 전압 레벨(251)을 부적절하게 읽기 전압 레벨로 선택함으로써 제2 페이지 데이터 프로그래밍 동작 시 최초 데이터 페이지 및 제1 데이터 페이지(MSB 및 제2 비트)에 에러를 발생시킬 수 있다.
본 명세서에서는 메모리 장치(100)에 의해 페이지 프로그래밍 동작 사이에 수행되는 문턱 전압 상태 식별 동작을 internal read라 명명하기로 한다.
메모리 장치(100)는 제1 데이터 페이지(220)를 프로그램한 이후, 읽기 전압 레벨에 기초하여 제1 데이터 페이지에 대해 판독 과정을 거친 후 읽기 에러의 정정이 필요한 경우 상기 읽기 에러를 정정한 후 제2 데이터 페이지(230)를 프로그램할 수 있고, 또는 상기 읽기 전압 레벨을 조절할 수도 있으며 상기 읽기 에러가 존재하지 않거나 상기 읽기 에러가 오류 정정 능력 범위에 존재할 정도의 것일 경우 상기 읽기 에러의 정정 또는 상기 읽기 전압 레벨의 조절 없이 제2 데이터 페이지(230)를 프로그램할 수 있다.
보다 상세하게는 도 1에서 전술한 바와 같이 메모리 장치(100)는 읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대응하는 읽기 에러 정보를 분석하고, 상기 분석된 읽기 에러 정보에 기반하여 읽기 에러의 정정 여부를 판단하며, 상기 읽기 에러의 정정 여부에 대한 판단 결과에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절한다.
실시예에 따라서는 메모리 장치(100)는 상기 제1 데이터 페이지의 읽기 에러 정보를 기반으로 상기 읽기 전압 레벨을 조절하고, 상기 제1 데이터 페이지 및 상기 조절된 읽기 전압 레벨에 대응하여 상기 제2 데이터 페이지를 프로그램할 수 있다.
또한, 실시예에 따라서는 메모리 장치(100)는 상기 제1 데이터 페이지에 대응하는 부가 정보를 기반으로 상기 읽기 전압 레벨을 조절할 수 있다. 상기 부가 정보는 상기 읽기 에러 정보에 포함될 수 있고, 상기 부가 정보는 상기 제1 데이터 페이지가 프로그램된 상기 복수의 멀티 레벨 셀의 위치 정보, 상기 제1 데이터 페이지가 프로그램되는 프로그래밍 순서 정보, P/E 사이클(Program/Erase Cycle) 정보, 전하 손실(charge loss) 정보, 상기 읽기 에러의 비트 수 정보, 또는 비트 오더링(bit ordering) 정보를 포함할 수 있다.
본 발명의 읽기 에러 정보는 제1 데이터 페이지의 에러 비트 수에 대한 에러 카운팅 정보를 포함할 수 있고, 메모리 장치(100)는 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하지 아니한 경우 상기 읽기 에러를 정정하며, 상기 읽기 에러가 정정된 이후 상기 제2 데이터 페이지를 프로그램할 수 있다. 반면, 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하는 경우, 상기 읽기 에러를 정정하지 아니하고 상기 제1 데이터 페이지가 프로그램된 상기 멀티 레벨 셀에 상기 제2 데이터 페이지를 프로그램할 수 있다.
또한, 실시예에 따라서는 읽기 에러 정보는 상기 제1 데이터 페이지에 대한 에러 감지 정보를 포함할 수 있고, 메모리 장치(100)는 상기 에러 감지 정보에 기반하여 상기 읽기 에러의 정정 여부를 판단할 수 있다. 이 경우 메모리 장치(100)는 상기 에러 감지 정보에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절할 수 있다.
또한, 실시예에 따라서는 메모리 장치(100)는 조절된 읽기 전압 레벨에 기초한 상기 제1 데이터 페이지의 판독/재판독 과정을 선정된 횟수(loop)로 반복할 수 있다.
또한, 실시예에 따라서는 메모리 장치(100)는 상기 읽기 에러의 정정에 소요되는 에러 정정 디코딩 시간 및 상기 제어된 읽기 전압 레벨을 상기 복수의 멀티 레벨 셀에 인가하여 상기 제1 데이터 페이지에 대한 판독 소요 시간을 비교 분석할 수 있고, 비교 분석 결과, 상기 에러 정정 디코딩 시간이 상기 판독 소요 시간보다 적은 경우에 상기 읽기 에러를 정정할 수 있으며, 상기 비교 분석 결과, 상기 에러 정정 디코딩 시간이 상기 판독 소요 시간보다 적지 아니한 경우에 메모리 장치(100)는 읽기 전압 레벨을 조절할 수 있다.
본 발명에서의 제1 데이터 페이지는 멀티 레벨 셀에 저장되는 데이터의 제 n번째 비트일 수 있고, 제2 데이터 페이지는 제n+1번째 비트일 수 있다.
실시예에 따라서는 메모리 장치(100)는 상기 제1 데이터 페이지가 선정된 비트 구간(예를 들어 k번째 비트 < n번째 비트< m번째 비트)에 속하는 지 여부에 따라 선택적으로 읽기 전압 레벨을 조절하거나, 읽기 에러를 정정할 수 있다.
이를 통하여 읽기 에러를 포함한 internal read를 효과적으로 제어 가능하다. 이하에서는 본 발명의 메모리 장치에서 수행될 수 있는 메모리 페이지 데이터의 프로그래밍 방법을 상세히 설명하기로 한다.
도 3은 본 발명의 메모리 프로그래밍 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 메모리 프로그래밍 방법은 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램한다(S310).
메모리 프로그래밍 방법은 읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대응하는 읽기 에러 정보를 분석하고, 상기 분석된 읽기 에러 정보에 기반하여 읽기 에러의 정정 여부를 판단한다(S320).
상기 읽기 에러 정보는 제1 데이터 페이지에 대응하는 부가 정보를 포함할 수 있고, 실시예에 따라서는 상기 읽기 에러 정보는 제1 데이터 페이지의 에러 비트 수에 대한 에러 카운팅 정보를 포함할 수 있다.
또한, 실시예에 따라서는 읽기 에러 정보는 상기 제1 데이터 페이지에 대한 에러 감지 정보를 포함할 수 있다.
메모리 프로그래밍 방법은 상기 읽기 에러의 정정 여부에 대한 판단 결과에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절한다(S330).
상기 읽기 전압 레벨 및 상기 제1 데이터 페이지에 기반하여 상기 제1 데이터 페이지가 프로그램된 상기 멀티 레벨 셀에 제2 데이터 페이지를 프로그램한다(S340).
메모리 프로그래밍 방법은 상기 제1 데이터 페이지를 프로그램한 이후, 읽기 전압 레벨에 기초하여 제1 데이터 페이지에 대해 판독 과정을 거친 후 읽기 에러의 정정이 필요한 경우 상기 읽기 에러를 정정한 후 제2 데이터 페이지를 프로그램할 수 있고, 또는 상기 읽기 전압 레벨을 조절할 수도 있으며, 상기 읽기 에러가 존재하지 않거나 상기 읽기 에러가 오류 정정 능력 범위에 존재할 정도의 것일 경우 상기 읽기 에러의 정정 또는 상기 읽기 전압 레벨의 조절 없이 제2 데이터 페이지를 프로그램할 수 있다.
이하에서는 도 4 내지 도 9를 참조하여 본 발명의 메모리 프로그래밍 방법을 상세히 설명하기로 한다.
도 4 내지 도 9는 본 발명의 메모리 장치에서 수행될 수 있는 메모리 프로그래밍 방법의 실시예들을 도시한 흐름도이다.
도 4를 참조하면, 메모리 프로그래밍 방법은 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램한다(S410).
메모리 프로그래밍 방법은 읽기 에러 정보에 포함되는 부가 정보를 기반으로 제1 데이터 페이지에 대한 읽기 전압 레벨을 조절한다(S420). 상기 부가 정보는 상기 제1 데이터 페이지가 프로그램된 상기 복수의 멀티 레벨 셀의 위치 정보, 상기 제1 데이터 페이지가 프로그램되는 프로그래밍 순서 정보, P/E 사이클(Program/Erase Cycle) 정보, 전하 손실(charge loss) 정보, 상기 읽기 에러의 비트 수 정보, 또는 비트 오더링(bit ordering) 정보를 포함한다.
상기 멀티 레벨 셀의 위치 정보는 제1 데이터 페이지가 프로그램된 후의 산포에 대응하는 멀티 레벨 셀의 위치에 따른 정보로서, 실시예에 따라서는 메모리 프로그래밍 방법은 상기 멀티 레벨 셀의 위치 정보에 따라 상기 멀티 레벨 셀들 중 제1 위치에 대응하는 멀티 레벨 셀들에 대해서는 제1 읽기 전압 레벨로 조절할 수 있고, 제2 위치에 대응하는 멀티 레벨 셀들에 대해서는 제2 읽기 전압 레벨로 조절할 수 있다.
메모리 프로그래밍 방법은 상기 위치 정보에 따른 조절된 읽기 전압 레벨에 기초하여 internal read 동작을 수행할 수 있다.
실시예에 따라서는 상기 위치 정보는 제1 데이터 페이지가 프로그램된 멀티 레벨 셀들 중 제1 워드 라인(word line)에 연결된 멀티 레벨 셀 및 제2 워드 라인에 연결된 멀티 레벨 셀을 구분할 수 있는 정보일 수 있다. 서로 다른 워드 라인에 연결된 멀티 레벨 셀들의 특성은 서로 다를 수 있으므로 메모리 프로그래밍 방법은 멀티 레벨 셀들이 연결된 워드 라인에 따라 internal read 동작의 읽기 전압 레벨을 조절할 수 있다.
또한, 실시예에 따라서는 상기 위치 정보는 제1 데이터 페이지가 프로그램된 멀티 레벨 셀들 중 짝수 번째 비트 라인(even bit line)에 연결된 멀티 레벨 셀 및 홀수 번째 비트 라인(odd bit line)에 연결된 멀티 레벨 셀을 구분할 수 있는 정보일 수 있다. even bit line에 연결된 멀티 레벨 셀들의 특성은 odd bit line에 연결된 멀티 레벨 셀들의 특성과 다를 수 있으므로 메모리 프로그래밍 방법은 멀티 레벨 셀들이 연결된 비트 라인에 따라 internal read 동작의 읽기 전압 레벨을 결정할 수 있다.
또한, P/E cycle 정보는 멀티 레벨 셀이 프로그램되고 소거된 사이클의 횟수 에 대한 정보일 수 있다. 멀티 레벨 셀의 P/E cycle이 증가할수록 멀티 레벨 셀의 전하 보전(charge retention) 특성이 열화(degrade)될 수 있다. 메모리 프로그래밍 방법은 멀티 레벨 셀의 P/E cycle에 따라 internal read 동작의 읽기 전압 레벨을 조절할 수 있다. 예를 들어 P/E cycle이 특정 횟수 이하인 멀티 레벨 셀과 이상인 멀티 레벨 셀에 대해서 구분하여 읽기 전압 레벨을 조절할 수 있다.
상기 프로그래밍 순서 정보는 제1 데이터 페이지가 프로그램된 멀티 레벨 셀들의 제1 데이터 페이지가 프로그래밍된 시간에 대한 정보로서, 본 발명의 메모리 프로그래밍 방법은 상기 멀티 레벨 셀들이 프로그램되는 순서에 따라 internal read 동작의 읽기 전압 레벨을 조절할 수 있다. 즉, 제1 시간 구간 동안 제1 데이터 페이지가 프로그램된 멀티 레벨 셀들은 제2 시간 구간 동안 수행되는 프로그래밍 동작에 의하여 원치 않는 영향을 받을 수 있다. 프로그래밍 동작이 이전에 프로그램된 멀티 레벨 셀에 영향을 미치는 메커니즘의 예로는 프로그램 디스터번스(program disturbance), 및 FG 커플링(Floating Gate coupling) 등이 있을 수 있다.
메모리 프로그래밍 방법은 조절된 상기 읽기 전압 레벨을 멀티 레벨 셀에 인가하여 상기 제1 데이터 페이지를 판독한다(S430).
메모리 프로그래밍 방법은 상기 읽기 전압 레벨 및 제1 데이터 페이지에 기반하여 상기 제1 데이터 페이지가 프로그램된 상기 멀티 레벨 셀에 제2 데이터 페이지를 프로그램한다(S440).
도 5를 참조하면, 메모리 프로그래밍 방법은 복수의 멀티 레벨 셀에 제1 데 이터 페이지를 프로그램한다(S510).
메모리 프로그래밍 방법은 읽기 전압 레벨에 기초하여 제1 데이터 페이지에 대응하는 에러 비트 수에 대한 에러 카운팅 정보를 분석한다(S520). 상기 단계(S520)에서는 error counting code 에 기반하여 상기 읽기 에러 비트 수에 대한 분석이 가능할 수 있다.
이후, 메모리 프로그래밍 방법은 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하는 지를 판단하고(S530), 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하지 않는 경우 읽기 에러를 정정한다(S540). 상기 읽기 에러를 정정하는 과정은 ECC(Error correction code) 프로세스를 포함할 수 있다.
반면, 메모리 프로그래밍 방법은 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하는 경우에는 ECC 와 같은 프로세스를 통하여 읽기 에러를 정정하지 아니하고, 상기 읽기 전압 레벨 및 제1 데이터 페이지에 기반하여 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램한다(S550).
도 6을 참조하면, 메모리 프로그래밍 방법은 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램한다(S610).
메모리 프로그래밍 방법은 읽기 전압 레벨에 기초하여 제1 데이터 페이지에 대응하는 에러 감지 정보를 분석한다(S620). 상기 단계(S620)에서는 error detection code 에 기반하여 읽기 에러가 존재하는 지를 판단할 수 있다.
이후, 메모리 프로그래밍 방법은 상기 읽기 에러가 존재하는 지를 판단하고(S630), 상기 읽기 에러가 존재하는 경우라면 읽기 에러를 정정한다(S640). 상 기 읽기 에러를 정정하는 과정은 ECC(Error correction code) 프로세스를 포함할 수 있다.
반면, 메모리 프로그래밍 방법은 상기 읽기 에러가 존재하지 않는 경우에는 ECC 와 같은 프로세스를 통하여 읽기 에러를 정정하지 아니하고, 상기 읽기 전압 레벨 및 제1 데이터 페이지에 기반하여 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램한다(S650).
도 7을 참조하면, 메모리 프로그래밍 방법은 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램한다(S710).
메모리 프로그래밍 방법은 읽기 전압 레벨에 기초하여 제1 데이터 페이지에 대응하는 에러 감지 정보를 분석한다(S720). 상기 단계(S720)에서는 error detection code 에 기반하여 읽기 에러가 존재하는 지를 판단할 수 있다
메모리 프로그래밍 방법은 상기 에러 감지 정보에 대응하여 읽기 전압 레벨의 조절이 필요할 지를 판단한다(S730).
메모리 프로그래밍 방법은 상기 읽기 전압 레벨의 조절이 필요하다고 판단되는 경우, 상기 읽기 전압 레벨에 기초한 제1 데이터 페이지의 에러 비트 수에 대한 에러 카운팅 정보를 분석하여 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하는 지를 판단한다(S740).
메모리 프로그래밍 방법은 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하는 경우에는 상기 읽기 전압 레벨을 조절하고 단계(S720)으로 진행한다(S750). 반면, 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하지 아니 한 경우에는 상기 읽기 전압 레벨을 조절하지 아니하고 상기 읽기 에러를 정정한다(S760). 상기 읽기 에러를 정정하는 과정은 ECC(Error correction code) 프로세스를 포함할 수 있다.
또한, 메모리 프로그래밍 방법은 단계(S730)에서 읽기 전압 레벨의 조절이 필요하지 않다고 판단되는 경우에는 상기 읽기 전압 레벨의 조절 과정 또는 ECC 와 같은 프로세스를 통한 읽기 에러의 정정 과정 없이, 상기 읽기 전압 레벨 및 제1 데이터 페이지에 기반하여 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램한다(S770).
도 7의 메모리 프로그래밍 방법에 의하는 경우 에러 감지 정보 및 에러 카운팅 정보에 의하여 읽기 전압 레벨을 조절하거나 또는 읽기 에러를 정정함으로써 선택적으로 internal read 시의 읽기 에러를 효과적으로 제어할 수 있다.
도 8을 참조하면, 메모리 프로그래밍 방법은 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램한다(S810).
메모리 프로그래밍 방법은 읽기 전압 레벨에 기초하여 제1 데이터 페이지에 대응하는 에러 감지 정보를 분석한다(S820). 상기 단계(S820)에서는 error detection code 에 기반하여 읽기 에러가 존재하는 지를 판단할 수 있다
메모리 프로그래밍 방법은 상기 에러 감지 정보에 대응하여 읽기 전압 레벨의 조절이 필요할 지 여부와 읽기 전압 레벨의 조절에 의한 internal read 이 수행된 횟수(loop)를 판단한다(S830).
메모리 프로그래밍 방법은 상기 읽기 전압 레벨의 조절이 필요하고, 상기 internal read가 수행된 횟수가 기설정된 횟수(k)인 경우에만 상기 제1 데이터 페이지에 대한 읽기 전압 레벨을 조절한다(S840).
반면, 메모리 프로그래밍 방법은 상기 읽기 전압 레벨의 조절이 필요하지 아니하거나, 또는 상기 internal read가 수행된 횟수가 기설정된 횟수(k)가 아닌 경우에는 상기 읽기 전압 레벨을 조절하지 아니하고, 상기 읽기 전압 레벨 및 제1 데이터 페이지에 기반하여 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램한다(S850).
도 9를 참조하면, 메모리 프로그래밍 방법은 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램한다(S910).
메모리 프로그래밍 방법은 읽기 전압 레벨에 기초하여 제1 데이터 페이지에 대응하는 에러 감지 정보를 분석한다(S920). 상기 단계(S920)에서는 error detection code 에 기반하여 읽기 에러가 존재하는 지를 판단할 수 있다
메모리 프로그래밍 방법은 상기 에러 감지 정보에 대응하여 읽기 전압 레벨의 조절이 필요할 지를 판단한다(S930).
메모리 프로그래밍 방법은 상기 읽기 전압 레벨의 조절이 필요하다고 판단되는 경우, 상기 읽기 에러의 정정에 소요되는 에러 정정 디코딩 시간 및 상기 제어된 읽기 전압 레벨을 상기 복수의 멀티 레벨 셀에 인가하여 상기 제1 데이터 페이지에 대한 판독하는 데 소요되는 판독 소요 시간을 비교 분석한다(S940). 이는 멀티 레벨 셀의 비트 수가 증가할수록 판독 소요 시간은 크게 증가하기 때문이다.
메모리 프로그래밍 방법은 비교 분석 결과, 상기 에러 정정 디코딩 시간이 상기 판독 소요 시간보다 큰 경우에는 상기 읽기 전압 레벨을 조절하여 단계(S920)으로 진행한다(S950).
반면, 메모리 프로그래밍 방법은 비교 분석 결과, 상기 에러 정정 디코딩 시간이 상기 판독 소요 시간보다 적은 경우에 상기 읽기 에러를 정정한다(S960). 상기 읽기 에러를 정정하는 과정은 ECC(Error correction code) 프로세스를 포함할 수 있다.
또한, 메모리 프로그래밍 방법은 단계(S930)에서 읽기 전압 레벨의 조절이 필요하지 않다고 판단되는 경우에는 상기 읽기 전압 레벨의 조절 과정 또는 ECC 와 같은 프로세스를 통한 읽기 에러의 정정 과정 없이, 상기 읽기 전압 레벨 및 제1 데이터 페이지에 기반하여 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램한다(S970).
본 발명의 실시예들은 메모리 셀의 문턱 전압을 변화시켜 데이터를 저장하는 메모리 장치에 적용될 수 있다. 이러한 종류의 메모리 장치의 예로는 플래시 메모리(flash memory), EEPROM(Electrically Erasable Programmable Read Only 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는 본 발명의 메모리 장치에서 수행될 수 있는 메모리 장치의 동작을 설명하기 위한 일 예를 도시한 것이다.
도 3은 본 발명의 메모리 프로그래밍 방법을 설명하기 위한 흐름도이다.
도 4 내지 도 9는 본 발명의 메모리 장치에서 수행될 수 있는 메모리 프로그래밍 방법의 실시예들을 도시한 흐름도이다.
Claims (16)
- 복수의 멀티 레벨 셀을 포함하는 멀티 레벨 셀 어레이;상기 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램하고, 상기 제1 데이터 페이지가 프로그램된 멀티 레벨 셀에 제2 데이터 페이지를 프로그램하는 프로그래밍부;읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대응하는 읽기 에러 정보를 분석하고, 상기 분석된 읽기 에러 정보에 기반하여 읽기 에러의 정정 여부를 판단하는 에러 분석부; 및상기 읽기 에러의 정정 여부에 대한 판단 결과에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절하는 제어부를 포함하는 메모리 장치.
- 제1항에 있어서,상기 제어부는상기 복수의 멀티 레벨 셀에 상기 읽기 전압 레벨을 인가하여 상기 제1 데이터 페이지를 판독하는 판독부; 및상기 읽기 에러의 정정 여부에 대한 결과에 대응하여 상기 읽기 전압 레벨을 조절하는 읽기 전압 레벨 조절부를 포함하는 것을 특징으로 하는 메모리 장치.
- 제1항에 있어서,상기 제어부는 상기 제1 데이터 페이지의 상기 읽기 에러 정보를 기반으로 상기 읽기 전압 레벨을 조절하고, 상기 프로그래밍부는 상기 제1 데이터 페이지 및 상기 조절된 읽기 전압 레벨에 대응하여 상기 제2 데이터 페이지를 프로그램하는 것을 특징으로 하는 메모리 장치.
- 제1항에 있어서,상기 제어부는 상기 제1 데이터 페이지에 대응하는 부가 정보를 기반으로 상기 읽기 전압 레벨을 조절하는 것을 특징으로 하는 메모리 장치.
- 제4항에 있어서,상기 부가 정보는 상기 제1 데이터 페이지가 프로그램된 상기 복수의 멀티 레벨 셀의 위치 정보, 상기 제1 데이터 페이지가 프로그램되는 프로그래밍 순서 정보, P/E 사이클(Program/Erase Cycle) 정보, 전하 손실(charge loss) 정보, 상기 읽기 에러의 비트 수 정보, 또는 비트 오더링(bit ordering) 정보를 포함하는 것을 특징으로 하는 메모리 장치.
- 제1항에 있어서,상기 읽기 에러 정보는 상기 제1 데이터 페이지의 에러 비트 수에 대한 에러 카운팅 정보를 포함하고,상기 에러 분석부는 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하지 아니한 경우 상기 읽기 에러를 정정하며,상기 프로그래밍부는 상기 읽기 에러가 정정된 이후 상기 제2 데이터 페이지를 프로그램하는 것을 특징으로 하는 메모리 장치.
- 제6항에 있어서,상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하는 경우, 상기 제어부는 상기 에러 카운팅 정보에 대응하여 상기 읽기 전압 레벨을 조절하는 것을 특징으로 하는 메모리 장치.
- 제6항에 있어서,상기 프로그래밍부는 상기 에러 카운팅 정보가 오류 정정 능력 범위에 존재하는 경우 상기 제1 데이터 페이지가 프로그램된 상기 멀티 레벨 셀에 상기 제2 데이터 페이지를 프로그램하는 것을 특징으로 하는 메모리 장치.
- 제1항에 있어서,상기 읽기 에러 정보는 상기 제1 데이터 페이지에 대한 에러 감지 정보를 포함하고, 상기 에러 분석부는 상기 에러 감지 정보에 기반하여 상기 읽기 에러의 정정 여부를 판단하는 것을 특징으로 하는 메모리 장치.
- 제9항에 있어서,상기 제어부는 상기 에러 감지 정보에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절하는 것을 특징으로 하는 메모리 장치.
- 제1항에 있어서,상기 제어부는 상기 조절된 읽기 전압 레벨에 기초한 상기 제1 데이터 페이지의 재판독을 선정된 횟수로 반복하는 것을 특징 하는 메모리 장치.
- 제1항에 있어서,상기 에러 분석부는 상기 읽기 에러의 정정에 소요되는 에러 정정 디코딩 시간 및 상기 제어된 읽기 전압 레벨을 상기 복수의 멀티 레벨 셀에 인가하여 상기 제1 데이터 페이지에 대한 판독 소요 시간을 비교 분석하는 것을 특징으로 하는 메모리 장치.
- 제12항에 있어서,상기 에러 분석부는 상기 에러 정정 디코딩 시간이 상기 판독 소요 시간보다 적은 경우에 상기 읽기 에러를 정정하는 것을 특징으로 하는 메모리 장치.
- 제12항에 있어서,상기 비교 분석 결과, 상기 에러 정정 디코딩 시간이 상기 판독 소요 시간보다 적지 아니한 경우에 상기 제어부는 상기 읽기 전압 레벨을 조절하는 것을 특징으로 하는 메모리 장치.
- 복수의 멀티 레벨 셀에 제1 데이터 페이지를 프로그램하는 단계;읽기 전압 레벨에 기초하여 상기 제1 데이터 페이지에 대응하는 읽기 에러 정보를 분석하고, 상기 분석된 읽기 에러 정보에 기반하여 읽기 에러의 정정 여부를 판단하는 단계;상기 읽기 에러의 정정 여부에 대한 판단 결과에 대응하여 상기 제1 데이터 페이지에 대한 상기 읽기 전압 레벨을 조절하는 단계; 및상기 읽기 전압 레벨 및 상기 제1 데이터 페이지에 기반하여 상기 제1 데이터 페이지가 프로그램된 상기 멀티 레벨 셀에 제2 데이터 페이지를 프로그램하는 단계를 포함하는 메모리 프로그래밍 방법.
- 제15항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080065068A KR101413137B1 (ko) | 2008-07-04 | 2008-07-04 | 메모리 장치 및 메모리 프로그래밍 방법 |
US12/318,560 US8179718B2 (en) | 2008-07-04 | 2008-12-31 | Memory device and memory programming method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080065068A KR101413137B1 (ko) | 2008-07-04 | 2008-07-04 | 메모리 장치 및 메모리 프로그래밍 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100004731A KR20100004731A (ko) | 2010-01-13 |
KR101413137B1 true KR101413137B1 (ko) | 2014-07-01 |
Family
ID=41464283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080065068A KR101413137B1 (ko) | 2008-07-04 | 2008-07-04 | 메모리 장치 및 메모리 프로그래밍 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8179718B2 (ko) |
KR (1) | KR101413137B1 (ko) |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533384B2 (en) | 2007-12-27 | 2013-09-10 | Sandisk Enterprise Ip Llc | Flash memory controller garbage collection operations performed independently in multiple flash memory groups |
US8407564B2 (en) * | 2009-07-15 | 2013-03-26 | Intel Corporation | Prediction and cancellation of systematic noise sources in non-volatile memory |
TWI412036B (zh) * | 2009-07-22 | 2013-10-11 | Silicon Motion Inc | 資料讀取的方法及資料儲存裝置 |
TWI462104B (zh) * | 2010-08-04 | 2014-11-21 | Silicon Motion Inc | 資料寫入方法及資料儲存裝置 |
KR101784973B1 (ko) * | 2010-11-11 | 2017-10-13 | 삼성전자주식회사 | 메모리 소자의 동작 전압 제공 방법 및 메모리 컨트롤러 |
US8358542B2 (en) | 2011-01-14 | 2013-01-22 | Micron Technology, Inc. | Methods, devices, and systems for adjusting sensing voltages in devices |
CN102163165B (zh) * | 2011-05-26 | 2012-11-14 | 忆正存储技术(武汉)有限公司 | 一种闪存错误预估模块及其预估方法 |
US9158356B2 (en) * | 2011-06-28 | 2015-10-13 | Infinera Corporation | Adaptive voltage scaling based on the results of forward error correction processing |
US8793543B2 (en) * | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
US20130343131A1 (en) * | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
US8839073B2 (en) | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
US9239754B2 (en) | 2012-08-04 | 2016-01-19 | Seagate Technology Llc | Single read based soft-decision decoding of non-volatile memory |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9257203B2 (en) | 2012-12-06 | 2016-02-09 | Micron Technology, Inc. | Setting a default read signal based on error correction |
US9543019B2 (en) * | 2012-12-11 | 2017-01-10 | Intel Corporation | Error corrected pre-read for upper page write in a multi-level cell memory |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9349489B2 (en) | 2013-01-11 | 2016-05-24 | Sandisk Technologies Inc. | Systems and methods to update reference voltages in response to data retention in non-volatile memory |
US9318215B2 (en) * | 2013-02-14 | 2016-04-19 | Sandisk Technologies Inc. | Systems and methods to update reference voltages of non-volatile memory |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
KR20150020478A (ko) * | 2013-08-16 | 2015-02-26 | 삼성전자주식회사 | 비휘발성 메모리 장치의 독출 방법 |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US20150074492A1 (en) * | 2013-09-11 | 2015-03-12 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US20150161001A1 (en) * | 2013-12-06 | 2015-06-11 | Western Digital Technologies, Inc. | Misprogramming prevention in solid-state memory |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
TWI523025B (zh) * | 2013-12-27 | 2016-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其錯誤校正方法 |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
KR20160004073A (ko) * | 2014-07-02 | 2016-01-12 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 구동 방법 |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9728278B2 (en) | 2014-10-24 | 2017-08-08 | Micron Technology, Inc. | Threshold voltage margin analysis |
KR102239868B1 (ko) | 2014-11-28 | 2021-04-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20160073834A (ko) * | 2014-12-17 | 2016-06-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템 동작 방법 |
US10347343B2 (en) | 2015-10-30 | 2019-07-09 | Seagate Technology Llc | Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean |
US10192614B2 (en) | 2015-10-30 | 2019-01-29 | Seagate Technology Llc | Adaptive read threshold voltage tracking with gap estimation between default read threshold voltages |
KR102609130B1 (ko) | 2016-02-17 | 2023-12-05 | 삼성전자주식회사 | 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치 |
US10381090B2 (en) * | 2017-03-31 | 2019-08-13 | Samsung Electronics Co., Ltd. | Operation method of nonvolatile memory device and storage device |
US10817196B2 (en) * | 2017-07-07 | 2020-10-27 | Sap Se | Page list based crash recovery |
TWI628660B (zh) * | 2017-09-19 | 2018-07-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 |
KR102579824B1 (ko) * | 2018-02-27 | 2023-09-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102648618B1 (ko) * | 2018-03-28 | 2024-03-19 | 에스케이하이닉스 주식회사 | 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템 |
KR102567314B1 (ko) * | 2018-04-27 | 2023-08-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200136743A (ko) | 2019-05-28 | 2020-12-08 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20220022355A (ko) * | 2020-08-18 | 2022-02-25 | 삼성전자주식회사 | 멀티 페이지 데이터를 프로그램하기 위한 불휘발성 메모리 장치의 동작 방법 |
US11894077B2 (en) * | 2022-02-23 | 2024-02-06 | Sandisk Technologies Llc | Self-diagnostic smart verify algorithm in user mode to prevent unreliable acquired smart verify program voltage |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080137415A1 (en) | 2006-12-11 | 2008-06-12 | Seung Jae Lee | Multi-Bit Flash Memory Device and Program Method Thereof |
US20090003057A1 (en) | 2007-06-28 | 2009-01-01 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and systems including multi-level cells using modified read voltages and methods of operating the same |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0922387A (ja) | 1995-07-07 | 1997-01-21 | Hitachi Ltd | メモリ装置 |
JP4041076B2 (ja) | 2004-02-27 | 2008-01-30 | 株式会社東芝 | データ記憶システム |
JP2006048783A (ja) | 2004-08-02 | 2006-02-16 | Renesas Technology Corp | 不揮発性メモリおよびメモリカード |
JP4585520B2 (ja) | 2004-10-14 | 2010-11-24 | 株式会社アドバンテスト | 試験装置及び試験方法 |
WO2007119485A1 (ja) | 2006-04-06 | 2007-10-25 | Advantest Corporation | 試験装置および試験方法 |
US7486561B2 (en) * | 2006-06-22 | 2009-02-03 | Sandisk Corporation | Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages |
-
2008
- 2008-07-04 KR KR1020080065068A patent/KR101413137B1/ko active IP Right Grant
- 2008-12-31 US US12/318,560 patent/US8179718B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080137415A1 (en) | 2006-12-11 | 2008-06-12 | Seung Jae Lee | Multi-Bit Flash Memory Device and Program Method Thereof |
US20090003057A1 (en) | 2007-06-28 | 2009-01-01 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and systems including multi-level cells using modified read voltages and methods of operating the same |
Also Published As
Publication number | Publication date |
---|---|
KR20100004731A (ko) | 2010-01-13 |
US8179718B2 (en) | 2012-05-15 |
US20100002506A1 (en) | 2010-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101413137B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 | |
US9087608B2 (en) | Method of programming non-volatile memory device and non-volatile memory device using the same | |
KR101528167B1 (ko) | 메모리 장치 및 메모리 데이터 판정 방법 | |
KR101378602B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 | |
KR101412690B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 | |
US8200607B2 (en) | Memory devices and data decision methods | |
KR101378349B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101368694B1 (ko) | 메모리 프로그래밍 장치 및 방법 | |
KR101414494B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
JP5090538B2 (ja) | メモリ装置およびメモリデータ読み出し方法 | |
KR101434405B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101437102B1 (ko) | 메모리 장치 및 멀티 비트 셀 특성 추정 방법 | |
KR101497548B1 (ko) | 플래시 메모리 장치, 및 이의 프로그램 및 독출 방법 | |
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: 20170518 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180517 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190520 Year of fee payment: 6 |