KR101506655B1 - 메모리 장치 및 메모리 데이터 오류 관리 방법 - Google Patents
메모리 장치 및 메모리 데이터 오류 관리 방법 Download PDFInfo
- Publication number
- KR101506655B1 KR101506655B1 KR1020080044964A KR20080044964A KR101506655B1 KR 101506655 B1 KR101506655 B1 KR 101506655B1 KR 1020080044964 A KR1020080044964 A KR 1020080044964A KR 20080044964 A KR20080044964 A KR 20080044964A KR 101506655 B1 KR101506655 B1 KR 101506655B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory cells
- data
- memory
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- 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
- 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/5642—Sensing or reading circuits; Data output 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
- 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
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- 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
- 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/563—Multilevel memory reading aspects
- G11C2211/5634—Reference cells
-
- 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)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
메모리 장치 및 메모리 데이터 오류 관리 방법이 제공된다. 메모리 장치는 메모리 셀들로부터 읽은 데이터의 오류 비트를 검출 및 정정하고, 상기 검출된 오류 비트가 저장된 메모리 셀을 식별한다. 메모리 장치는 상기 식별된 메모리 셀에 상기 정정된 비트에 대응하는 검증 전압을 할당하고, 나머지 메모리 셀에 상기 읽은 데이터에 대응하는 검증 전압을 할당한다. 메모리 장치는 할당된 검증 전압을 이용하여 메모리 셀들에 저장된 데이터를 재조정한다. 이를 통해 메모리 장치의 데이터의 유지(retention) 기간을 늘일 수 있다.
멀티 비트 셀, 멀티 레벨 셀, ECC, Error Control Coding, charge loss
Description
본 발명은 메모리 장치에 저장된 데이터의 오류를 관리하는 방법에 관한 것이다.
싱글 레벨 셀(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개의 산포들 간의 거리는 줄어들고, 산포들 간의 거리가 더욱 줄어들면 산포들끼리 겹칠 수 있다. 산포들끼리 겹치면 판독 실패율이 증가할 수 있다.
멀티 레벨 셀 메모리의 이용이 최근의 추세로 확산되고 있는 가운데, 데이터 를 저장하고 읽는 과정에서 발생하는 오류를 검출하고, 검출된 오류를 정정하는 오류 제어 코드(error control codes or error control coding or error correction codes, ECC)의 이용이 활발해지고 있다.
본 발명의 실시예들에 따르면 오류를 검출 및 정정하여 멀티 비트 셀에 저장된 데이터를 재조정함으로써 데이터의 유지(retention) 시간을 늘일 수 있다.
본 발명의 실시예들에 따르면 데이터의 오류 비율이 기준 이하로 유지되도록 관리할 수 있다.
본 발명의 일 실시예에 따른 메모리 장치는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 복수의 메모리 셀들로부터 데이터를 읽는 독출부, 상기 읽은 데이터의 오류 비트를 검출하고, 상기 복수의 메모리 셀들 중 상기 검출된 오류 비트가 저장된 메모리 셀을 식별하고, 상기 검출된 오류 비트를 정정하는 오류 정정부, 상기 식별된 메모리 셀에 상기 정정된 비트에 대응하는 검증 전압을 할당하고, 상기 복수의 메모리 셀들 중 상기 식별된 메모리 셀 이외의 나머지 메모리 셀들에 상기 읽은 데이터에 대응하는 검증 전압을 할당하는 제어부, 및 상기 할당된 검증 전압을 이용하여 상기 복수의 메모리 셀들에 저장된 데이터를 재조정하는 프로그래밍부를 포함할 수 있다.
본 발명의 다른 실시예에 따른 메모리 데이터 오류 관리 방법은 복수의 메모리 셀들로부터 데이터를 읽는 단계, 상기 읽은 데이터의 오류 비트를 검출하는 단계, 상기 복수의 메모리 셀들 중 상기 검출된 오류 비트가 저장된 메모리 셀을 식별하는 단계, 상기 검출된 오류 비트를 정정하는 단계, 상기 식별된 메모리 셀에 상기 정정된 비트에 대응하는 검증 전압을 할당하는 단계, 상기 복수의 메모리 셀들 중 상기 식별된 메모리 셀 이외의 나머지 메모리 셀들에 상기 읽은 데이터에 대 응하는 검증 전압을 할당하는 단계, 및 상기 할당된 검증 전압을 이용하여 상기 복수의 메모리 셀들에 저장된 데이터를 재조정하는 단계를 포함할 수 있다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.
도 1을 참조하면, 메모리 장치(100)는 멀티 비트 셀 어레이(110), 독출부(reading unit)(120), 오류 검출부(130), 문턱 전압 추정부(140) 및 제어부(150)를 포함한다.
멀티 비트 셀 어레이(110)는 복수의 멀티 비트 셀들을 포함한다. 플래시 메모리(flash memory) 또는 EEPROM(Electrically Erasable and Programmable Read Only Memory) 등의 비휘발성 메모리(non-volatile memory)의 멀티 비트 셀에 데이터를 저장하는 과정은 프로그램 과정이라고도 불리며, 멀티 비트 셀의 문턱 전압을 변경하는 과정일 수 있다. 멀티 비트 셀에 데이터를 프로그램하는 과정에는 멀티 비트 셀로부터 데이터를 읽는 과정보다 긴 시간이 걸릴 수 있다.
멀티 비트 셀에 데이터를 프로그램하는 과정에 상대적으로 긴 시간이 걸리기 때문에 메모리 장치(100)는 복수의 멀티 비트 셀들에 동시에 데이터를 프로그램하여 전체 데이터의 프로그램 시간을 단축할 수 있다. 동시에 프로그램되는 멀티 비트 셀들의 집합을 본 명세서에서는 설명의 편의 상 메모리 페이지(memory page)(111)로 명명하기로 한다. 예를 들어 메모리 페이지(111)는 1000개의 멀티 비트 셀들을 포함할 수 있고, 멀티 비트 셀 어레이(110)는 1000개의 메모리 페이지들을 포함할 수 있다.
비휘발성 메모리의 멀티 비트 셀에 데이터를 프로그램하는 과정은 F-N 터널링 (Fowler-Nordheim tunneling, F-N tunneling) 또는 핫 캐리어 이펙트(hot carrier effect) 등의 메커니즘을 이용하여 수행될 수 있다. F-N 터널링은 멀티 비트 셀의 문턱 전압을 변화시킬 수 있다. 싱글 비트 셀은 낮은 문턱 전압 레벨 또는 높은 문턱 전압 레벨을 가질 수 있고, 상기 2개의 문턱 전압 레벨들을 이용하여 "0" 또는 "1"의 데이터를 표현할 수 있다.
멀티 비트 셀이 2m개의 문턱 전압 레벨들 중 어느 하나를 가질 수 있는 경우 상기 멀티 비트 셀은 최대 m비트의 데이터를 저장할 수 있다. 멀티 비트 셀에 저장되는 m비트의 데이터는 최상위 비트(most significant bit, MSB)로부터 최하위 비트(least significant bit, LSB)로 정렬될 수 있다. 본 명세서에서는 설명의 편의 상 LSB에 대응하는 비트 계층(bit layer)을 제1 비트 계층이라 하고, LSB의 다음 상위 비트에 대응하는 비트 계층을 제2 비트 계층이라 명명하기로 한다. 이 때 MSB에 대응하는 비트 계층을 제m 비트 계층이라 할 수 있다. 메모리 페이지(111)의 멀티 비트 셀들 각각에 저장된 제1 비트 계층의 데이터의 집합을 제1 데이터 페이지, 제2 비트 계층의 데이터의 집합을 제2 데이터 페이지라 할 수 있다.
실시예에 따라서는 메모리 페이지(111)는 하나의 워드 라인(word line)에 연 결된 멀티 비트 셀들의 집합일 수 있다.
독출부(120)는 메모리 페이지(111)의 멀티 비트 셀들로부터 동시에 데이터를 읽을 수 있다. 메모리 페이지(111)가 하나의 워드 라인에 연결된 멀티 비트 셀들의 집합인 경우 독출부(120)는 상기 워드 라인에 특정 전압을 인가함으로써 메모리 페이지(111) 내의 멀티 비트 셀들로부터 데이터를 읽을 수 있다. 독출부(120)는 메모리 페이지(111) 내의 멀티 비트 셀들로부터 제1 데이터 페이지 및 제2 데이터 페이지를 읽을 수 있다.
오류 검출부(130)는 제1 데이터 페이지의 오류 비트를 검출하고, 메모리 페이지(111) 내의 멀티 비트 셀들 중 상기 검출된 오류 비트가 저장된 멀티 비트 셀을 식별할 수 있다.
문턱 전압 추정부(140)는 상기 검출된 오류 비트 및 제2 데이터 페이지에 기초하여 상기 식별된 멀티 비트 셀의 문턱 전압의 변화를 추정할 수 있다.
제어부(150)는 상기 추정된 문턱 전압의 변화에 따라 상기 식별된 멀티 비트 셀에 저장된 데이터를 재조정할 수 있다.
실시예에 따라서는 제어부(150)는 상기 추정된 문턱 전압의 변화에 따라 상기 식별된 멀티 비트 셀의 문턱 전압을 조정할 수 있다. 이 때 제어부(150)는 상기 식별된 멀티 비트 셀에 연결된 워드 라인(word line) 및 비트 라인(bit line)에 특정 전압을 인가(force)할 수 있다. 제어부(150)는 F-N 터널링 등의 메커니즘을 이용하여 상기 식별된 멀티 비트 셀의 문턱 전압을 변경함으로써 상기 식별된 멀티 비트 셀에 저장된 데이터의 오류가 정정되도록 상기 식별된 멀티 비트 셀에 저장된 데이터를 재조정할 수 있다.
멀티 비트 셀은 컨트롤 게이트(control gate, CG) 및 플로팅 게이트(floating gate, FG)를 포함하고, CG 및 FG 사이에는 절연체(insulator)가 삽입될 수 있다. FG 및 서브스트레이트(substrate) 사이에도 절연체가 삽입될 수 있다. 멀티 비트 셀에 데이터를 프로그램하는 과정은 FG에 전자(electron)를 충전(charging)하는 과정일 수 있고, 멀티 비트 셀의 데이터를 소거(erase)하는 과정은 FG로부터 전자를 방전(discharging)하는 과정일 수 있다.
특정한 바이어스 조건(bias condition) 하에서, 서브스트레이트 영역 중 FG에 가장 근접한 영역에는 채널이 형성될 수 있다. 채널은 서브스트레이트 영역의 소수 반송자(minority carrier)들이 밀집해서 생성되는 영역이며, 이들 소수 반송자들을 제어하여 멀티 비트 셀에 데이터를 프로그램하거나 멀티 비트 셀로부터 데이터를 소거할 수 있다.
서브스트레이트 영역의 소스(source), 드레인(drain) 및 CG에 특정한 바이어스가 인가되면, 채널의 소수 반송자들이 FG로 이동할 수 있다. 채널의 소수 반송자들이 FG로 이동하는 프로그램 과정 및 FG로부터 방전되는 소거 과정이 반복되면 FG 및 서브스트레이트 간의 절연체에 물리적인 데미지(damage)가 가해질 수 있다.
FG에 반송자가 축적되어 전하가 형성되면, 형성된 전하로부터 멀티 비트 셀의 데이터가 결정된다. 축적된 반송자는 시간이 지나면서 누설된다. 반송자가 누설되는 정도에 영향을 미치는 원인으로는 P/E cycle(Program and Erase Cycle), 물리적인 데미지 등이 있을 수 있다. FG에 저장된 전하가 누설 경로를 경유하여 유 실되면 멀티 비트 셀에 저장된 데이터에 오류가 포함될 수 있다.
FG에 저장된 전하(charge)가 유실되는 과정을 charge loss 메커니즘이라고도 하며, 일반적으로 멀티 비트 셀의 문턱 전압을 낮추는 경향이 있다.
멀티 비트 셀의 문턱 전압을 원하는 레벨보다 높이는 메커니즘의 예로는 FG 커플링(coupling) 등을 들 수 있다.
FG 커플링이란, 중심 멀티 비트 셀의 문턱 전압이 주변의 멀티 비트 셀들의 문턱 전압의 변화량에 따라 영향 받는 현상을 말한다. 멀티 비트 셀들의 FG들 간의 기생 커패시턴스(parasitic capacitance)의 커플링으로 인해 중심 멀티 비트 셀의 문턱 전압이 영향 받는다.
만일 프로그래밍 과정이 문턱 전압을 증가시킨다면 중심 멀티 비트 셀의 문턱 전압은 FG 커플링에 의해 원하는 레벨보다 높아지게 된다.
문턱 전압 추정부(140)는 상기 식별된 멀티 비트 셀의 문턱 전압의 변화를 추정할 수 있다. 상기 식별된 멀티 비트 셀의 문턱 전압의 변화의 원인으로는 앞에서 설명한 전하 유실 또는 FG 커플링 등을 들 수 있다.
제어부(150)는 메모리 페이지(111)의 멀티 비트 셀들에 연결된 워드 라인에 제1 조건 전압을 인가하고, 상기 식별된 멀티 비트 셀에 연결된 비트 라인(bit line)에 제2 조건 전압을 인가하고, 메모리 페이지(111) 내의 멀티 비트 셀들 중 상기 식별된 멀티 비트 셀 이외의 나머지 멀티 비트 셀들에 연결된 비트 라인들에는 제3 조건 전압을 인가할 수 있다.
제1 조건 전압은 멀티 비트 셀들의 소수 반송자 채널(minority carrier channel)을 활성화하는 전압 레벨일 수 있고, 제2 조건 전압은 상기 식별된 멀티 비트 셀의 문턱 전압을 변경할 수 있도록 하는 program 전압 레벨일 수 있다. 제3 조건 전압은 상기 나머지 멀티 비트 셀들의 문턱 전압이 변경되지 않도록 하는 program inhibit 전압 조건일 수 있다.
제어부(150)는 메모리 페이지(111)의 멀티 비트 셀들을 소거하는 과정 없이 상기 식별된 멀티 비트 셀의 문턱 전압을 조정함으로써 데이터의 오류 레벨을 관리할 수 있다.
제어부(150)는 상기 식별된 멀티 비트 셀의 문턱 전압을 조정하는 제1 방법 또는 상기 식별된 멀티 비트 셀에 저장된 데이터를 새로운 멀티 비트 셀들에 프로그램하는 제2 방법 중 어느 하나를 선택할 수 있다. 제2 방법은 상기 식별된 멀티 비트 셀에 저장된 데이터뿐만 아니라 메모리 페이지(111)의 멀티 비트 셀들에 저장된 데이터를 새로운 메모리 페이지의 멀티 비트 셀들에 저장할 수도 있다.
제어부(150)는 상기 추정된 문턱 전압의 변화에 따라 상기 제1 방법 또는 상기 제2 방법 중 어느 하나를 선택할 수 있다. 제어부(150)는 상기 추정된 문턱 전압의 변화가 기준치보다 크면 상기 제2 방법을 선택하고, 상기 추정된 문턱 전압의 변화가 기준치보다 크지 않으면 상기 제1 방법을 선택할 수 있다.
제어부(150)는 멀티 비트 셀에 저장된 데이터의 오류 정도가 크면 메모리 페이지(111)에 저장된 데이터를 새로운 메모리 페이지에 저장하여 오류 레벨을 관리할 수 있다.
제어부(150)는 상기 검출된 오류 비트의 개수에 기초하여 상기 제1 방법 또 는 상기 제2 방법 중 어느 하나를 선택할 수 있다. 제어부(150)는 상기 검출된 오류 비트의 개수가 기준치보다 크면 상기 제2 방법을 선택하고, 상기 검출된 오류 비트의 개수가 기준치보다 크지 않으면 상기 제1 방법을 선택할 수 있다.
제어부(150)는 상기 제2 방법을 선택하는 경우 메시지(message) 및 잉여 정보(redundant information)의 비율을 조정하여 프로그램 데이터를 생성하고, 상기 생성된 프로그램 데이터를 상기 새로운 메모리 페이지의 멀티 비트 셀들에 프로그램할 수 있다. 제어부(150)는 새롭게 프로그램되는 프로그램 데이터의 ECC(error control codes or error correcting codes) 성능을 조정할 수 있다.
정보를 전송하기 전에 최초의 정보에 ECC를 부가하여 전송 정보를 생성하는 과정을 ECC 인코딩이라 하고, 전송 정보를 수신한 뒤 수신된 전송 정보로부터 부가된 정보와 최초의 정보를 분리하여 최초의 정보를 복원하는 과정을 ECC 디코딩이라 한다.
최초의 정보를 메시지라 하기도 하고, 부가되는 정보를 잉여 정보라 하기도 한다. 일반적으로 메시지에 대한 잉여 정보의 비율이 클수록 ECC 디코딩 과정에서 많은 오류를 정정할 수 있다. 제어부(150)는 제2 방법을 선택하는 경우 새로운 메모리 페이지에 데이터를 프로그램하기 전에 오류 정정 능력을 조정할 수 있다.
메모리 장치(100)는 주기적으로 메모리 페이지(111)의 멀티 비트 셀들로부터 제1 데이터 페이지 및 제2 데이터 페이지를 읽을 수 있다. 메모리 장치(100)는 주기적으로 메모리 페이지(111)에 저장된 데이터의 오류 레벨을 체크함으로써 데이터의 오류 레벨을 목표 이하로 유지할 수 있다.
메모리 장치(100)는 메모리 페이지(111)에 저장된 데이터의 오류 레벨이 ECC 디코더의 오류 정정 능력(error correcting capability)를 초과하기 전에 오류 비트를 저장하는 멀티 비트 셀의 문턱 전압을 조정함으로써 데이터의 오류 레벨을 오류 정정 능력 이하로 유지할 수 있다.
ECC 디코더의 예에 따라서는 입력 코드워드의 오류 개수가 오류 정정 능력 이하이면 상기 입력 코드워드의 모든 오류를 정정할 수 있는 경우가 있다. 오류 정정 능력이 명시적으로 드러나는 코드로는 블록 코드(block codes) 등이 있다. 블록 코드의 예로는, BCH(Bose, Ray-Chaudhuri, Hocquenghem) 코드 또는 리드 솔로몬 (Reed-Solomon, RS) 코드 등이 있으며, 이에 대한 디코딩 기법으로 메짓(Meggitt) 디코딩 기법, 벌레캠프메시(Berlekamp-Massey) 디코딩 기법, 유클리드(Euclid) 디코딩 기법 등이 있다.
실시예에 따라서는 제어부(150)는 제1 데이터 페이지의 메트릭 (metric)에 기초하여 상기 식별된 멀티 비트 셀에 저장된 데이터를 재조정할 지 여부를 결정할 수 있다. 독출부(120)가 복수의 연판정(soft decision) 레벨들을 이용하여 제1 데이터 페이지를 연판정하는 경우, 판정 결과 값은 메트릭으로 나타내어질 수 있다. 이 때 연판정 결과 값은 문턱 전압에 의해 생성되는 메트릭 공간에서의 멀티 비트 셀들 각각의 위치 또는 거리로 나타내어질 수도 있다.
실시예에 따라서는 제어부(150)는 제1 데이터 페이지의 신드롬 (syndrome)에 기초하여 상기 식별된 멀티 비트 셀에 저장된 데이터를 재조정할 지 여부를 결정할 수 있다. 오류 검출부(130)는 독출부(120)에 의해 읽힌 제1 데이터 페이지에 신드 롬 검출 행렬을 곱하여 제1 데이터 페이지의 신드롬을 계산할 수 있다. 계산된 신드롬이 영 벡터(zero vector)가 아니면 제1 데이터 페이지는 오류 비트를 포함하고 있는 것으로 간주될 수 있다. 신드롬 검출 행렬은 메시지로부터 코드워드를 생성하는 생성자 행렬(generator matrix)로부터 계산될 수 있다.
실시예에 따라서는 제어부(150)는 제1 데이터 페이지의 비트 오류 비율 (bit error rate, BER)에 기초하여 상기 식별된 멀티 비트 셀에 저장된 데이터를 재조정할 지 여부를 결정할 수 있다.
도 2는 도 1의 독출부(120)의 일 예를 상세히 도시하는 도면이다.
도 2를 참조하면, 독출부(120)는 기준 전압 생성부(210) 및 문턱 전압 감지부(220)를 포함한다.
기준 전압 생성부(210)는 기준 전압 레벨을 생성한다.
문턱 전압 감지부(220)는 기준 전압을 이용하여 메모리 페이지(111)의 멀티 비트 셀들 각각의 문턱 전압의 범위를 감지한다. 독출부(120)는 상기 감지된 문턱 전압의 범위로부터 제1 데이터 페이지 및 제2 데이터 페이지를 판정할 수 있다.
기준 전압 생성부(210)는 제1 기준 전압 레벨을 생성하고, 제1 기준 전압 레벨에 대응하는 제1 워드 라인 전압 레벨을 생성할 수 있다. 독출부(120)는 제1 워드 라인 전압 레벨을 메모리 페이지(111)의 멀티 비트 셀들에 연결된 워드 라인에 인가(force)할 수 있다.
메모리 페이지(111)의 멀티 비트 셀들 중 제1 워드 전압 레벨보다 높은 문턱 전압을 가지는 멀티 비트 셀은 턴 온(turn on)될 수 있다. 턴 온 된 멀티 비트 셀 의 드레인(drain) 단자 및 소스(source) 단자 간에는 전류가 흐를 수 있다.
메모리 페이지(111)의 멀티 비트 셀들 중 제1 워드 전압 레벨보다 낮은 문턱 전압을 가지는 멀티 비트 셀은 턴 오프(turn off)될 수 있다. 턴 오프 된 멀티 비트 셀의 드레인(drain) 단자 및 소스(source) 단자 간에는 전류가 흐르지 않을 수 있다.
문턱 전압 감지부(220)는 메모리 페이지(111)의 멀티 비트 셀들 각각의 비트 라인을 경유하여 흐르는 전류를 감지하여 메모리 페이지(111)의 멀티 비트 셀들 각각의 문턱 전압이 제1 기준 전압 레벨보다 높은지 낮은지를 감지할 수 있다.
기준 전압 생성부(210)는 제2 기준 전압 레벨을 생성할 수 있고, 제2 기준 전압 레벨에 대응하는 제2 워드 라인 전압 레벨을 생성할 수 있다. 문턱 전압 감지부(220)는 제2 워드 라인 전압 레벨이 워드 라인에 인가되면 메모리 페이지(111)의 멀티 비트 셀들 각각의 문턱 전압이 제2 기준 전압 레벨보다 높은지 낮은지를 감지할 수 있다.
멀티 비트 셀들이 m비트의 데이터를 저장하면 독출부(120)는 (2m - 1) 개의 기준 전압 레벨들을 이용하여 문턱 전압의 범위를 감지할 수 있다. 독출부(120)가 메모리 페이지(111)의 멀티 비트 셀들에 저장된 데이터를 연판정하는 경우 (2m - 1) 개 이상의 기준 전압 레벨들을 필요로 할 수 있다.
도 3은 도 1의 오류 검출부(130)의 일 예를 상세히 도시하는 도면이다.
도 3을 참조하면, 오류 검출부(130)는 ECC 디코더(310) 및 셀 식별부(320)를 포함한다.
ECC 디코더(310)는 제1 데이터 페이지를 디코드하여 제1 데이터 페이지의 오류 비트를 검출할 수 있다.
셀 식별부(320)는 메모리 페이지(111)의 멀티 비트 셀들 중 상기 검출된 오류 비트를 저장하는 멀티 비트 셀을 식별할 수 있다.
ECC 디코딩 방법의 실시예에 따라서는 코드워드의 오류 비트를 검출하고, 검출된 오류 비트의 위치를 식별할 수 있다. ECC 디코더(310)는 식별된 오류 비트의 위치를 셀 식별부(320)로 전달할 수 있다. 셀 식별부(320)는 ECC 디코딩 정보를 이용하여 오류 비트를 저장하는 멀티 비트 셀을 식별할 수 있다.
도 4는 도 1의 메모리 페이지(111)의 일 부분의 예를 상세히 도시하는 도면이다.
도 4를 참조하면, 메모리 페이지(111)는 6개의 멀티 비트 셀들(410 내지 460)을 포함한다.
6개의 멀티 비트 셀들(410 내지 460)은 하나의 워드 라인에 연결된다.
설명의 편의 상 멀티 비트 셀(420) 및 멀티 비트 셀(460)은 오류 비트를 저장하고 있다고 가정한다. 나머지 멀티 비트 셀들(410, 430, 440, 450)은 오류 비트를 저장하지 않는다고 가정한다.
제어부(150)는 워드 라인에 제1 조건 전압을 인가하고, 멀티 비트 셀(420) 및 멀티 비트 셀(460) 각각에 연결된 비트 라인들 각각에 제2 조건 전압을 인가하고, 나머지 멀티 비트 셀들(410, 430, 440, 450)에 연결된 비트 라인들 각각에는 제3 조건 전압을 인가할 수 있다.
제1 조건 전압은 멀티 비트 셀들의 소수 반송자 채널(minority carrier channel)을 활성화하는 전압 레벨일 수 있고, 제2 조건 전압은 멀티 비트 셀(420) 및 멀티 비트 셀(460) 각각의 문턱 전압을 변경할 수 있도록 하는 program 전압 레벨일 수 있다. 제3 조건 전압은 나머지 멀티 비트 셀들(410, 430, 440, 450) 각각의 문턱 전압이 변경되지 않도록 하는 program inhibit 전압 조건일 수 있다.
메모리 장치(100)는 오류 비트가 저장된 멀티 비트 셀들(420, 460)에 대해서만 선택적으로 프로그램 동작을 수행하고, 멀티 비트 셀들(420, 460)에 저장된 데이터를 조정할 수 있다.
도 5는 도 1의 메모리 장치(100)의 동작의 일 예를 도시하는 도면이다.
도 5를 참조하면, 메모리 페이지(111)의 멀티 비트 셀들이 저장하는 2비트의 데이터 및 문턱 전압의 관계가 도시된다.
멀티 비트 셀들의 문턱 전압의 산포(distribution)는 문턱 전압에 대응하는 멀티 비트 셀들의 개수로 나타내어진다.
멀티 비트 셀들 각각의 전기적 특성이 미세하게 다르기 때문에 멀티 비트 셀들의 문턱 전압은 일정 범위를 가지는 산포를 형성할 수 있다.
산포(511)는 데이터 "11"이 저장된 멀티 비트 셀들을 도시한다.
산포(512)는 데이터 "10"이 저장된 멀티 비트 셀들을 도시한다.
산포(513)는 데이터 "00"이 저장된 멀티 비트 셀들을 도시한다.
산포(514)는 데이터 "01"이 저장된 멀티 비트 셀들을 도시한다.
독출부(120)는 제2 읽기 전압 레벨(522)을 이용하여 메모리 페이지(111)의 멀티 비트 셀들에 저장된 MSB를 판정할 수 있다. 독출부(120)는 제2 읽기 전압 레벨(522)보다 높은 문턱 전압을 가지는 멀티 비트 셀들에 저장된 MSB를 "0"으로 판정하고, 제2 읽기 전압 레벨(522)보다 낮은 문턱 전압을 가지는 멀티 비트 셀들에 저장된 MSB를 "1"로 판정할 수 있다.
독출부(120)는 제1 읽기 전압 레벨(521) 및 제3 읽기 전압 레벨(523)을 이용하여 메모리 페이지(111)의 멀티 비트 셀들에 저장된 LSB를 판정할 수 있다. 독출부(120)는 제1 읽기 전압 레벨(521)보다 낮은 문턱 전압을 가지는 멀티 비트 셀들에 저장된 LSB를 "1"로 판정할 수 있다. 독출부(120)는 제3 읽기 전압 레벨(523)보다 높은 문턱 전압을 가지는 멀티 비트 셀들에 저장된 LSB를 "1"로 판정할 수 있다. 독출부(120)는 제1 읽기 전압 레벨(521)보다 높고 제3 읽기 전압 레벨(523)보다 낮은 문턱 전압을 가지는 멀티 비트 셀들에 저장된 LSB를 "0"으로 판정할 수 있다.
메모리 페이지(111)의 멀티 비트 셀들에 저장된 LSB에 의해 제1 데이터 페이지가 생성되고, 메모리 페이지(111)의 멀티 비트 셀들에 저장된 MSB에 의해 제2 데이터 페이지가 생성된다.
매핑 관계(531)는 제1 데이터 페이지의 데이터 패턴 및 문턱 전압의 산포 간의 관계를 도시하고, 매핑 관계(532)는 제2 데이터 페이지의 데이터 패턴 및 문턱 전압의 산포 간의 관계를 도시한다.
오류 검출부(130)는 제1 데이터 페이지에 대하여 ECC 디코딩을 수행하고, 제 1 데이터 페이지의 오류를 검출할 수 있다. 오류 검출부(130)는 ECC 디코딩 결과를 이용하여 상기 검출된 오류가 저장된 멀티 비트 셀을 식별할 수 있다.
문턱 전압 추정부(140)는 상기 검출된 오류 비트 및 제2 데이터 페이지에 기초하여 상기 식별된 멀티 비트 셀에 저장된 데이터의 변화를 추출할 수 있다. 문턱 전압 추정부(140)는 상기 식별된 멀티 비트 셀에 저장된 MSB 및 상기 검출된 오류 비트(LSB에 대하여 검출된 오류)에 기초하여 상기 식별된 멀티 비트 셀의 문턱 전압의 변화를 추정할 수 있다. 문턱 전압 추정부(140)는 매핑 관계(531) 및 매핑 관계(532)를 이용하여 상기 추출된 데이터 변화에 따른 문턱 전압의 변화를 추정할 수 있다.
예를 들어 독출부(120)가 상기 식별된 멀티 비트 셀로부터 읽은 LSB가 "0"이고 오류 검출부(130)에 의해 상기 "0"은 검출된 오류 비트라고 가정한다. 독출부(120)가 상기 식별된 멀티 비트 셀로부터 읽은 MSB가 "0"이면 문턱 전압 추정부(140)는 상기 식별된 멀티 비트 셀의 문턱 전압이 데이터 프로그램 시에는 제3 읽기 전압 레벨(523)보다 높았다가 데이터 독출 시에는 제3 읽기 전압 레벨(523)보다 낮아졌음을 추정할 수 있다.
도 6은 도 1의 메모리 장치(100)의 동작의 다른 예를 도시하는 도면이다.
도 6을 참조하면, 메모리 페이지(111)의 멀티 비트 셀들이 저장하는 2비트의 데이터 및 문턱 전압의 관계가 도시된다.
멀티 비트 셀들의 문턱 전압의 산포(distribution)는 문턱 전압에 대응하는 멀티 비트 셀들의 개수로 나타내어진다.
산포(611)는 데이터 "11"이 저장된 멀티 비트 셀들을 도시한다.
산포(612)는 데이터 "10"이 저장된 멀티 비트 셀들을 도시한다.
산포(613)는 데이터 "00"이 저장된 멀티 비트 셀들을 도시한다.
산포(614)는 데이터 "01"이 저장된 멀티 비트 셀들을 도시한다.
상태(state)(615)는 식별된 멀티 비트 셀의 문턱 전압이 데이터 프로그램 시에 산포(614)에 포함됨을 나타낸다. 이 때 상기 식별된 멀티 비트 셀에 프로그램된 데이터는 "01"이다.
화살표(640)는 시간 경과에 따른 상기 식별된 멀티 비트 셀의 문턱 전압의 변화를 나타낸다.
산포(621)는 데이터 "11"이 저장된 멀티 비트 셀들을 도시한다.
산포(622)는 데이터 "10"이 저장된 멀티 비트 셀들을 도시한다.
산포(623)는 데이터 "00"이 저장된 멀티 비트 셀들을 도시한다.
산포(624)는 데이터 "01"이 저장된 멀티 비트 셀들을 도시한다.
상태(625)는 데이터 독출 시에 상기 식별된 멀티 비트 셀의 문턱 전압이 산포(623)에 포함됨을 나타낸다. 이 때 상기 식별된 멀티 비트 셀로부터 읽힌 데이터는 "00"이다.
제어부(150)는 상기 식별된 멀티 비트 셀에 프로그램 동작을 수행하여 상기 식별된 멀티 비트 셀의 문턱 전압을 높일 수 있다. 화살표(650)는 상기 프로그램 동작에 의한 상기 식별된 멀티 비트 셀의 문턱 전압의 상승을 나타낸다.
산포(631)는 데이터 "11"이 저장된 멀티 비트 셀들을 도시한다.
산포(632)는 데이터 "10"이 저장된 멀티 비트 셀들을 도시한다.
산포(633)는 데이터 "00"이 저장된 멀티 비트 셀들을 도시한다.
산포(634)는 데이터 "01"이 저장된 멀티 비트 셀들을 도시한다.
상태(635)는 상기 프로그램 동작에 의하여 회복된 상기 식별된 멀티 비트 셀의 문턱 전압을 나타낸다. 이 때 상기 식별된 멀티 비트 셀에 저장된 데이터는 "01"이다.
메모리 장치(100)는 메모리 페이지(111)의 멀티 비트 셀들에 저장된 데이터 중 오류 비트의 비율에 따라 오류 비트가 저장된 멀티 비트 셀에 대한 선택적 회복 동작을 수행할지 또는 새로운 메모리 페이지의 멀티 비트 셀들에 새롭게 데이터를 프로그램할지를 결정할 수 있다. 메모리 장치(100)는 오류 비트의 비율이 기준값 이상이면 새로운 메모리 페이지의 멀티 비트 셀들에 새롭게 데이터를 프로그램하고 오류 비트의 비율이 기준값 미만이면 오류 비트가 저장된 멀티 비트 셀에 대한 선택적 회복 동작을 수행할 수 있다.
메모리 장치(100)는 상기 식별된 멀티 비트 셀의 문턱 전압의 변화가 기준값 이상이면 새로운 메모리 페이지의 멀티 비트 셀들에 새롭게 데이터를 프로그램하고 문턱 전압의 변화가 기준값 미만이면 오류 비트가 저장된 멀티 비트 셀에 대한 선택적 회복 동작을 수행할 수 있다.
도 5 및 도 6의 실시예에서는 멀티 비트 셀이 2비트의 데이터를 저장하는 경우가 도시되었으나 본 발명의 실시예는 멀티 비트 셀이 m비트 ( m > 2 )의 데이터를 저장하는 경우에도 적용될 수 있다.
도 7은 본 발명의 다른 실시예에 따른 메모리 데이터 오류 관리 방법을 도시하는 동작 흐름도이다.
도 7을 참조하면, 메모리 데이터 오류 관리 방법은 복수의 멀티 비트 셀들로부터 제1 데이터 페이지를 읽는다(S710).
메모리 데이터 오류 관리 방법은 상기 멀티 비트 셀들로부터 제2 데이터 페이지를 읽는다(S720). 실시예에 따라서는 단계(S720)이 단계(S710)에 앞서 수행될 수도 있다.
메모리 데이터 오류 관리 방법은 제1 데이터 페이지의 오류 비트를 검출한다(S730).
메모리 데이터 오류 관리 방법은 상기 멀티 비트 셀들 중 상기 검출된 오류 비트가 저장된 멀티 비트 셀을 식별한다(S740).
메모리 데이터 오류 관리 방법은 상기 검출된 오류 비트 및 제2 데이터 페이지에 기초하여 상기 식별된 멀티 비트 셀의 문턱 전압의 변화를 추정한다(S750).
메모리 데이터 오류 관리 방법은 상기 추정된 문턱 전압의 변화에 따라 상기 식별된 멀티 비트 셀에 저장된 데이터를 재조정한다(S760).
실시예에 따라서는 메모리 데이터 오류 관리 방법은 단계(S730)에서 제1 데이터 페이지를 ECC 디코드하고 ECC 디코딩 결과를 이용하여 제1 데이터 페이지의 오류 비트를 검출할 수 있다.
실시예에 따라서는 메모리 데이터 오류 관리 방법은 단계(S760)에서 상기 추정된 문턱 전압의 변화에 따라 상기 식별된 멀티 비트 셀의 문턱 전압을 조정할 수 있다.
실시예에 따라서는 메모리 데이터 오류 관리 방법은 단계(S760)에서 상기 추정된 문턱 전압의 변화에 기초하여 제1 방법 또는 제2 방법 중 하나를 선택할 수 있다. 이 때 제1 방법은 상기 식별된 멀티 비트 셀의 문턱 전압을 조정하는 방법이고, 제2 방법은 상기 식별된 멀티 비트 셀에 저장된 데이터를 새로운 멀티 비트 셀들에 프로그램하는 방법일 수 있다.
실시예에 따라서는 메모리 데이터 오류 관리 방법은 단계(S760)에서 상기 검출된 오류 비트의 개수에 기초하여 상기 제1 방법 또는 상기 제2 방법 중 하나를 선택할 수 있다.
도 8은 도 7의 단계(S760)의 일 예를 상세히 도시하는 동작 흐름도이다.
도 8을 참조하면, 메모리 데이터 오류 관리 방법은 검출된 오류 비트의 비율이 기준치보다 큰지 여부를 판정할 수 있다(S810).
메모리 데이터 오류 관리 방법은 검출된 오류 비트의 비율이 기준치보다 크면 새로운 멀티 비트 셀들에 제1 데이터 페이지 및 제2 데이터 페이지를 프로그램할 수 있다(S830).
메모리 데이터 오류 관리 방법은 검출된 오류 비트의 비율이 기준치 이하이면 상기 식별된 멀티 비트 셀의 문턱 전압을 조정할 수 있다(S820).
도 9는 본 발명의 또 다른 실시예에 따른 메모리 장치(900)를 도시하는 도면이다.
도 9를 참조하면, 메모리 장치(900)는 메모리 셀 어레이(910), 독출부(920), 오류 정정부(930), 제어부(940) 및 프로그래밍부(950)를 포함한다.
메모리 셀 어레이(910)는 복수의 메모리 셀들을 포함할 수 있다. 이 때 동시에 프로그램되는 메모리 셀들의 집합을 메모리 페이지(911)라 할 수 있다.
독출부(920)는 메모리 페이지(911)에 포함되는 메모리 셀들로부터 데이터를 읽을 수 있다.
오류 정정부(930)는 상기 읽은 데이터의 오류 비트를 검출할 수 있다. 오류 정정부(930)는 메모리 페이지(911)에 포함되는 메모리 셀들 중 상기 검출된 오류 비트가 저장된 메모리 셀을 식별할 수 있다. 오류 정정부(930)는 상기 검출된 오류 비트를 정정(correct)할 수 있다.
오류 정정부(930)는 상기 읽은 데이터에 ECC 디코딩을 수행하여 상기 읽은 데이터의 오류 비트를 검출하고 상기 검출된 오류 비트를 정정할 수 있다. 도 3의 ECC 디코더(310) 및 셀 식별부(320)는 오류 정정부(930)의 실시예에 적용될 수 있다.
제어부(940)는 상기 식별된 메모리 셀에 상기 정정된 비트에 대응하는 검증 전압을 할당하고, 메모리 페이지(911)에 포함되는 메모리 셀들 중 상기 식별된 메모리 셀 이외의 나머지 메모리 셀들에 상기 읽은 데이터에 대응하는 검증 전압을 할당할 수 있다.
프로그래밍부(950)는 상기 할당된 검증 전압을 이용하여 메모리 페이지(911)에 포함되는 메모리 셀들에 저장된 데이터를 재조정할 수 있다. 프로그래밍부(950)는 메모리 페이지(911)에 포함된 메모리 셀들 각각의 문턱 전압이 상기 할 당된 검증 전압 이상일 때까지 메모리 페이지(911)에 포함된 메모리 셀들 각각의 문턱 전압을 증가시킬 수 있다. 프로그래밍부(950)는 메모리 페이지(11)에 포함된 메모리 셀들 중 상기 할당된 검증 전압 이상의 문턱 전압을 가지는 메모리 셀에 대하여 프로그래밍을 금지(inhibit programming)할 수 있다.
프로그래밍부(950)는 상기 할당된 검증 전압을 이용하여 메모리 페이지(911)에 포함된 메모리 셀들의 문턱 전압을 재조정하는 제1 방법 또는 메모리 페이지(911)에 포함된 메모리 셀들에 저장된 데이터를 새로운 메모리 페이지에 포함되는 메모리 셀들에 프로그램하는 제2 방법 중 어느 하나를 수행할 수 있다.
제어부(940)는 상기 검출된 오류 비트의 개수에 기초하여 상기 제1 방법 또는 상기 제2 방법 중 어느 하나를 선택할 수 있고, 상기 선택된 방법을 프로그래밍부(950)가 수행하도록 프로그래밍부(950)를 제어할 수 있다.
프로그래밍부(950)는 제2 방법이 선택된 경우 메시지(message) 및 잉여 정보(redundant information)의 비율을 조정하여 프로그램 데이터를 생성하고, 상기 생성된 프로그램 데이터를 상기 새로운 메모리 페이지에 포함되는 메모리 셀들에 프로그램할 수 있다. 프로그래밍부(950)는 잉여 정보의 비율을 높임으로써 프로그램 데이터의 오류 정정 능력을 높일 수 있다.
ECC 인코더(encoder)는 메시지 및 잉여 정보에 ECC 인코딩을 수행하여 코드워드(codeword)를 생성할 수 있다. 프로그래밍부(950)는 생성된 코드워드를 상기 새로운 메모리 페이지에 포함되는 메모리 셀들에 프로그램할 수 있다. 독출부(920)는 메모리 페이지(911) 또는 상기 새로운 메모리 페이지에 포함되는 메모리 셀들로부터 코드워드를 읽을 수 있다. 오류 정정부(930)의 ECC 디코더(decoder)는 코드워드에 ECC 디코딩을 수행하여 메시지를 복원할 수 있다.
오류 정정부(930)는 상기 읽은 코드워드로부터 검출된 오류 비트 또는 심볼의 개수를 제1 기준치 및 제2 기준치와 비교할 수 있다. 상기 제1 기준치 및 상기 제2 기준치는 ECC 디코더의 오류 정정 능력보다 작고, 상기 제1 기준치는 상기 제2 기준치보다 작을 수 있다.
제어부(940)는 검출된 오류 비트 또는 심볼의 개수가 상기 제1 기준치 이하이면 제1 방법을 선택할 수 있다. 제어부(940)는 검출된 오류 비트 또는 심볼의 개수가 상기 제1 기준치보다 크고 상기 제2 기준치 이하이면 제2 방법을 선택할 수 있다.
오류 정정부(930)는 상기 읽은 코드워드의 비트 오류 비율(bit error rate, BER)을 계산할 수 있다. 제어부(940)는 상기 계산된 BER에 기초하여 제1 방법 또는 제2 방법 중 어느 하나를 선택할 수 있다. 예를 들어 제어부(940)는 BER이 제1 기준치 이하이면 제1 방법을 선택하고 BER이 상기 제1 기준치보다 크고 제2 기준치 이하이면 제2 방법을 선택할 수 있다.
실시예에 따라서는 메모리 셀 어레이(910)는 파일럿 셀(pilot cell)을 포함할 수 있다. 상기 파일럿 셀은 데이터를 저장하지 않을 수 있고, 메모리 장치(900)가 문턱 전압의 변화를 추정하기 위한 표본(sample) 역할을 할 수 있다.
제어부(940)는 상기 파일럿 셀을 이용하여 문턱 전압의 변화를 추정할 수 있다. 제어부(940)는 상기 추정된 문턱 전압의 변화에 따라 제1 방법 또는 제2 방법 중 어느 하나를 선택할 수 있다. 제어부(940)는 상기 파일럿 셀을 이용하여 charge loss 등에 의한 산포(distribution)의 왜곡 정도를 분석할 수 있다.
제어부(940)는 메모리 페이지(911)의 메모리 셀들 중 일부의 메모리 셀에 데이터가 프로그램된 시간 정보를 저장할 수 있다. 이 때 시간 정보는 싱글 비트 프로그래밍 방법에 의하여 저장될 수 있다. 이 때 시간 정보를 저장하기 위하여 잉여 비트의 비율을 높인 ECC 인코딩 기법이 이용될 수 있다.
제어부(940)는 현재의 시간 정보 및 상기 저장된 시간 정보를 비교하여 상기 현재의 시간 정보 및 상기 저장된 시간 정보의 차이가 기준치 이하이면 제1 방법을 선택할 수 있다. 제어부(940)는 상기 현재의 시간 정보 및 상기 저장된 시간 정보의 차이가 기준치보다 크면 제2 방법을 선택할 수 있다.
제어부(940)는 제1 방법이 수행된 횟수가 기준치 이상이면 제2 방법을 선택할 수 있다.
독출부(920)는 시간 주기마다 메모리 셀 어레이(910) 내의 메모리 셀들로부터 데이터를 읽을 수 있다. 메모리 장치(900)는 상기 시간 주기마다 메모리 셀 어레이(910) 내의 메모리 셀들에 저장된 데이터를 읽고, 상기 저장된 데이터의 오류를 관리할 수 있다. 제어부(940)는 메모리 셀 어레이(910) 내의 메모리 셀들이 소거된 횟수에 기초하여 상기 시간 주기를 결정할 수 있다. 메모리 셀들이 프로그램되고 소거된 횟수는 P/E cycle이라 하며 P/E cycle이 큰 메모리 셀들은 charge loss에 의한 문턱 전압의 변화가 클 것으로 예상될 수 있다. 제어부(940)는 P/E cycle이 클수록 상기 시간 주기를 짧게 설정할 수 있다.
실시예에 따라서는 메모리 셀 어레이(910) 내의 메모리 셀들은 멀티 비트 데이터를 저장할 수 있는 멀티 비트 셀들일 수 있다. 이 때 독출부(920)는 메모리 페이지(911)에 포함된 메모리 셀들로부터 복수의 데이터 페이지들을 읽을 수 있다. 오류 정정부(930)는 상기 읽은 복수의 데이터 페이지들의 오류 비트를 검출하고 상기 검출된 오류 비트를 정정할 수 있다. 오류 정정부(930)는 상기 검출된 오류 비트를 상기 정정된 비트로 대체하여 데이터 페이지들을 복원할 수 있다. 제어부(940)는 상기 복원된 데이터 페이지들에 기초하여 상기 식별된 메모리 셀에 할당될 검증 전압을 결정할 수 있다.
도 11은 도 9의 메모리 장치(900)의 동작의 일 예를 도시하는 도면이다.
도 11을 참조하면, 문턱 전압 레벨에 대응하는 메모리 셀의 개수가 도시된다.
데이터 A가 저장된 메모리 셀의 문턱 전압은 산포(1110)를 형성할 수 있다.
데이터 B가 저장된 메모리 셀의 문턱 전압은 산포(1120)를 형성할 수 있다. 이 때 프로그래밍부(950)는 전압 레벨(1150)을 검증 전압으로 선택하고, 상기 선택된 검증 전압을 이용하여 데이터 B를 프로그램할 수 있다.
데이터 B가 저장된 후 시간이 경과하면 charge loss에 의하여 메모리 셀의 문턱 전압이 감소할 수 있다. 시간이 경과된 후 데이터 B가 저장된 메모리 셀의 문턱 전압은 산포(1130)를 형성할 수 있다.
독출부(920)는 전압 레벨(1140)을 읽기 전압(또는 기준 전압)으로 선택할 수 있다. 독출부(920)는 상기 선택된 읽기 전압을 이용하여 메모리 셀들에 저장된 데 이터를 읽을 수 있다. 독출부(920)는 전압 레벨(1140)보다 높은 문턱 전압을 가지는 메모리 셀들에 저장된 데이터를 B로 판정하고 전압 레벨(1140)보다 낮은 문턱 전압을 가지는 메모리 셀들에 저장된 데이터를 A로 판정할 수 있다.
시간 경과에 따라 데이터 B가 저장된 메모리 셀의 문턱 전압이 산포(1130)를 형성하므로, 독출부(920)는 산포(1130)에 대응하는 메모리 셀들 중 산포 부분(1131)에 대응하는 메모리 셀들에 저장된 데이터를 A로 판정할 수 있다. 산포 부분(1131)은 산포(1130)에 대응하는 메모리 셀들 중 전압 레벨(1140)보다 낮은 문턱 전압을 가지는 메모리 셀들이 형성하는 산포 부분이다.
오류 정정부(930)는 ECC 디코딩을 수행하여 산포 부분(1131)에 대응하는 메모리 셀들에 저장된 데이터의 오류를 검출할 수 있다. 오류 정정부(930)는 상기 검출된 오류가 저장된 메모리 셀을 식별함으로써 산포 부분(1131)에 대응하는 메모리 셀들을 식별할 수 있다.
제어부(940)는 전압 레벨(1150)을 상기 식별된 메모리 셀들(산포 부분(1131)에 대응하는 메모리 셀들)의 검증 전압으로 선택할 수 있다. 제어부(940)는 전압 레벨(1160)을 산포(1110)에 대응하는 메모리 셀들의 검증 전압으로 선택할 수 있다. 제어부(940)는 전압 레벨(1140)에 의한 판정 결과 대신 ECC 디코딩에 의한 오류 정정 결과에 기초하여 산포 부분(1131)에 대응하는 메모리 셀들의 검증 전압을 선택할 수 있다.
제어부(940)는 산포 부분(1132) 및 산포 부분(1133)에 대응하는 메모리 셀들의 검증 전압으로 전압 레벨(1150)을 선택할 수 있다. 제어부(950)는 전압 레 벨(1140)에 의한 판정 결과에 기초하여 산포 부분(1132) 및 산포 부분(1133)에 대응하는 메모리 셀들의 검증 전압을 선택할 수 있다.
프로그래밍부(950)는 할당된 검증 전압을 이용하여 메모리 셀들 각각의 문턱 전압을 재조정할 수 있다. 프로그래밍부(950)는 산포(1110)에 대응하는 메모리 셀들에 검증 전압으로 할당된 전압 레벨(1160)을 이용하여 산포(1110)에 대응하는 메모리 셀들의 문턱 전압을 재조정할 수 있다. 산포(1110)에 대응하는 메모리 셀들의 문턱 전압은 전압 레벨(1160)보다 높으므로 프로그래밍부(950)는 산포(1110)에 대응하는 메모리 셀들에 대하여 프로그래밍을 금지할 수 있다.
프로그래밍부(950)는 산포(1130)에 대응하는 메모리 셀들에 검증 전압으로 할당된 전압 레벨(1150)을 이용하여 산포(1130)에 대응하는 메모리 셀들의 문턱 전압을 재조정할 수 있다. 프로그래밍부(950)는 산포 부분(1131) 및 산포 부분(1132)에 대응하는 메모리 셀들의 문턱 전압이 전압 레벨(1150) 이상이 될 때까지 산포 부분(1131) 및 산포 부분(1132)에 대응하는 메모리 셀들의 문턱 전압을 증가시킬 수 있다. 산포 부분(1133)에 대응하는 메모리 셀들의 문턱 전압은 전압 레벨(1150)보다 높으므로 프로그래밍부(950)는 산포 부분(1133)에 대응하는 메모리 셀들에 대하여 프로그래밍을 금지할 수 있다.
메모리 장치(900)는 오류가 저장된 것으로 식별된 메모리 셀들(산포 부분(1131)에 대응하는 메모리 셀들) 뿐만 아니라 데이터 B가 저장된 것으로 판정된 메모리 셀들에 대해서도 데이터 재조정의 sequence를 수행할 수 있다. 메모리 장치(900)는 읽기 전압인 전압 레벨(1140)보다 높고 검증 전압인 전압 레벨(1150)보 다 낮은 문턱 전압을 가지는 메모리 셀들(산포 부분(1132)에 대응하는 메모리 셀들)의 문턱 전압을 전압 레벨(1150) 이상으로 증가시킬 수 있다.
산포 부분(1132)에 대응하는 메모리 셀들에 저장된 데이터는 전압 레벨(1140)에 의하여 오류 없이 판정될 수 있지만 charge loss 등에 의하여 데이터 오염이 진행 중일 수 있다. 메모리 장치(900)는 산포 부분(1132)에 대응하는 메모리 셀들에 저장된 데이터를 재조정함으로써 진행 중인 데이터 오염을 줄일 수 있다.
실시예에 따라서는, 메모리 장치(900)는 산포 부분(1131)에 대응하는 메모리 셀들에는 전압 레벨(1150)고 다른 전압 레벨을 검증 전압으로 설정할 수 있다. 예를 들어 메모리 장치(900)는 산포 부분(1131)에 대응하는 메모리 셀들의 데이터 오염 가능성이 높으므로 전압 레벨(1150)보다 높은 전압 레벨을 검증 전압으로 설정할 수도 있다.
메모리 장치(900)는 외부 호스트로부터 메모리 장치(900)에 대한 접근 요청에 응답하여 데이터를 외부 호스트로 전송할 수 있다. 이 때 메모리 장치(900)는 외부 호스트로 상기 데이터를 전송하기 전에 상기 데이터를 재조정할 수 있다. 메모리 장치(900)는 상기 재조정된 데이터를 외부 호스트로 전송함으로써 외부 호스트에 전송되는 데이터에 포함되는 오류를 줄일 수 있다.
메모리 장치(900)는 외부 호스트로부터 메모리 장치(900)에 대한 접근 요청이 없는 휴지 상태(idle state)일 때 메모리 셀 어레이(910)에 저장된 데이터를 재조정할 수 있다. 메모리 장치(900)는 휴지 상태 동안 메모리 셀 어레이(910)에 저 장된 데이터를 재조정함으로써 메모리 셀 어레이(910)에 저장된 데이터에 포함된 오류를 줄일 수 있다.
도 10은 본 발명의 또 다른 실시예에 따른 메모리 데이터 오류 관리 방법을 도시하는 도면이다.
도 10을 참조하면, 메모리 데이터 오류 관리 방법은 복수의 메모리 셀들로부터 데이터를 읽는다(S1010).
메모리 데이터 오류 관리 방법은 상기 읽은 데이터의 오류 비트를 검출한다(S1020).
메모리 데이터 오류 관리 방법은 상기 복수의 메모리 셀들 중 상기 검출된 오류 비트가 저장된 메모리 셀을 식별한다(S1030).
메모리 데이터 오류 관리 방법은 상기 검출된 오류 비트를 정정한다(S1040).
메모리 데이터 오류 관리 방법은 상기 식별된 메모리 셀에 상기 정정된 비트에 대응하는 검증 전압을 할당한다(S1050).
메모리 데이터 오류 관리 방법은 상기 복수의 메모리 셀들 중 상기 식별된 메모리 셀 이외의 나머지 메모리 셀들에 상기 읽은 데이터에 대응하는 검증 전압을 할당한다(S1060).
메모리 데이터 오류 관리 방법은 상기 할당된 검증 전압을 이용하여 상기 복수의 메모리 셀들에 저장된 데이터를 재조정한다(S1070).
본 발명의 실시예들에 따른 메모리 데이터 오류 관리 방법은 플래시 Flash memory, Dynamic Random Access Memory (DRAM), Phase change RAM (PRAM), Magnetic Random Access Memory (MRAM) 등 다양한 메모리에 적용될 수 있다.
본 발명의 실시예들에 따른 메모리 데이터 오류 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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의 독출부(120)의 일 예를 상세히 도시하는 도면이다.
도 3은 도 1의 오류 검출부(130)의 일 예를 상세히 도시하는 도면이다.
도 4는 도 1의 메모리 페이지(111)의 일 부분의 예를 상세히 도시하는 도면이다.
도 5는 도 1의 메모리 장치(100)의 동작의 일 예를 도시하는 도면이다.
도 6은 도 1의 메모리 장치(100)의 동작의 다른 예를 도시하는 도면이다.
도 7은 본 발명의 다른 실시예에 따른 메모리 데이터 오류 관리 방법을 도시하는 동작 흐름도이다.
도 8은 도 7의 단계(S760)의 일 예를 상세히 도시하는 동작 흐름도이다.
도 9는 본 발명의 또 다른 실시예에 따른 메모리 장치(900)를 도시하는 도면이다.
도 10은 본 발명의 또 다른 실시예에 따른 메모리 데이터 오류 관리 방법을 도시하는 도면이다.
도 11은 도 9의 메모리 장치(900)의 동작의 일 예를 도시하는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 멀티 비트 셀 어레이
120: 독출부
130: 오류 검출부
140: 문턱 전압 추정부
150: 제어부
Claims (23)
- 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;상기 복수의 메모리 셀들로부터 데이터를 읽는 독출부;상기 읽은 데이터의 오류 비트를 검출하고, 상기 복수의 메모리 셀들 중 상기 검출된 오류 비트가 저장된 메모리 셀을 식별하고, 상기 검출된 오류 비트를 정정하는 오류 정정부;상기 식별된 메모리 셀에 상기 정정된 비트에 대응하는 검증 전압을 할당하고, 상기 복수의 메모리 셀들 중 상기 식별된 메모리 셀 이외의 나머지 메모리 셀들에 상기 읽은 데이터에 대응하는 검증 전압을 할당하는 제어부; 및상기 할당된 검증 전압을 이용하여 상기 복수의 메모리 셀들 중 적어도 하나의 문턱 전압을 변경함으로써 상기 복수의 메모리 셀들에 저장된 데이터를 재조정하는 프로그래밍부를 포함하며,상기 제어부는상기 복수의 메모리 셀들에 상기 데이터가 저장될 때 이용되었던 이전 검증 전압과는 다른 전압 레벨을 상기 검증 전압으로 설정하는 메모리 장치.
- 제1항에 있어서,상기 복수의 메모리 셀들 각각은 멀티 비트 데이터를 저장하는 멀티 비트 셀이고,상기 독출부는상기 복수의 메모리 셀들로부터 복수의 데이터 페이지들을 읽고,상기 오류 정정부는상기 읽은 복수의 데이터 페이지들의 오류 비트를 검출하고, 상기 검출된 오류 비트를 정정하고,상기 제어부는상기 정정된 비트 및 상기 복수의 데이터 페이지들에 기초하여 상기 정정된 비트에 대응하는 검증 전압을 결정하는 메모리 장치.
- 제1항에 있어서,상기 프로그래밍부는상기 복수의 메모리 셀들 각각의 문턱 전압이 상기 할당된 검증 전압 이상일 때까지 상기 복수의 메모리 셀들 각각의 문턱 전압을 증가시키는 메모리 장치.
- 제3항에 있어서,상기 프로그래밍부는상기 복수의 메모리 셀들 중 상기 할당된 검증 전압 이상의 문턱 전압을 가지는 메모리 셀에 대하여 문턱 전압의 변화를 최소화하는 프로그램 조건 전압을 인가하는 메모리 장치.
- 제1항에 있어서,상기 오류 정정부는상기 읽은 데이터를 디코드하여 상기 읽은 데이터의 오류 비트를 검출하고 상기 검출된 오류 비트를 정정하는 ECC 디코더; 및상기 메모리 셀들 중 상기 검출된 오류 비트가 저장된 메모리 셀을 식별하는 셀 식별부를 포함하는 메모리 장치.
- 제1항에 있어서,상기 제어부는상기 검출된 오류 비트의 개수에 기초하여, 상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제1 방법 또는 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메모리 셀들에 프로그램하는 제2 방법 중 어느 하나를 선택하고, 상기 프로그래밍부가 상기 선택된 상기 제1 방법 또는 상기 제2 방법 중 어느 하나를 수행하도록 상기 프로그래밍부를 제어하는 메모리 장치.
- 제6항에 있어서,상기 프로그래밍부는상기 제2 방법이 선택된 경우 메시지 및 잉여 정보의 비율을 조정하여 프로그램 데이터를 생성하고, 상기 생성된 프로그램 데이터를 상기 새로운 메모리 셀들에 프로그램하는 메모리 장치.
- 제1항에 있어서,상기 제어부는상기 메모리 셀 어레이 내의 파일럿 셀을 이용하여 상기 복수의 메모리 셀들의 문턱 전압의 변화를 추정하고, 상기 추정된 문턱 전압의 변화에 기초하여, 상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제1 방법 또는 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메모리 셀들에 프로그램하는 제2 방법 중 어느 하나를 선택하고, 상기 프로그래밍부가 상기 선택된 상기 제1 방법 또는 상기 제2 방법 중 어느 하나를 수행하도록 상기 프로그래밍부를 제어하는 메모리 장치.
- 제1항에 있어서,상기 제어부는상기 복수의 메모리 셀들에 데이터가 프로그램된 시간 정보를 저장하고, 상기 저장된 시간 정보에 기초하여, 상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제1 방법 또는 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메모리 셀들에 프로그램하는 제2 방법 중 어느 하나를 선택하고, 상기 프로그래밍부가 상기 선택된 상기 제1 방법 또는 상기 제2 방법 중 어느 하나를 수행하도록 상기 프로그래밍부를 제어하는 메모리 장치.
- 제1항에 있어서,상기 제어부는상기 프로그래밍부가 상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제 1 방법을 수행하도록 제어하고, 상기 제1 방법이 수행된 횟수가 기준치보다 크면 상기 프로그래밍부가 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메모리 셀들에 프로그램하는 제2 방법을 수행하도록 상기 프로그래밍부를 제어하는 메모리 장치.
- 제1항에 있어서,상기 제어부는상기 복수의 메모리 셀들이 소거된 횟수에 기초하여, 상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제1 방법 또는 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메모리 셀들에 프로그램하는 제2 방법 중 어느 하나를 선택하고, 상기 프로그래밍부가 상기 선택된 상기 제1 방법 또는 상기 제2 방법 중 어느 하나를 수행하도록 상기 프로그래밍부를 제어하는 메모리 장치.
- 제1항에 있어서,상기 독출부는시간 주기마다 상기 복수의 메모리 셀들로부터 데이터를 읽는 메모리 장치.
- 제12항에 있어서,상기 독출부는상기 복수의 메모리 셀들이 소거된 횟수에 기초하여 상기 시간 주기를 결정 하는 메모리 장치.
- 제1항에 있어서,상기 제어부는상기 읽은 데이터의 메트릭, 신드롬 또는 비트 오류 비율 중 적어도 하나 이상에 기초하여 상기 복수의 메모리 셀들에 저장된 데이터를 재조정하도록 상기 프로그래밍부를 제어하는 메모리 장치.
- 청구항 15은(는) 설정등록료 납부시 포기되었습니다.제1항에 있어서,상기 독출부는상기 복수의 메모리 셀들에 저장된 상기 데이터에 대한 호스트로부터의 접근 요청에 응답하여 상기 복수의 메모리 셀들로부터 상기 데이터를 읽는 메모리 장치.
- 청구항 16은(는) 설정등록료 납부시 포기되었습니다.제1항에 있어서,상기 독출부는호스트로부터 상기 복수의 메모리 셀들에 저장된 데이터에 대한 접근 요청이 없는 휴지 기간 동안 상기 복수의 메모리 셀들로부터 상기 데이터를 읽는 메모리 장치.
- 복수의 메모리 셀들로부터 데이터를 읽는 단계;상기 읽은 데이터의 오류 비트를 검출하는 단계;상기 복수의 메모리 셀들 중 상기 검출된 오류 비트가 저장된 메모리 셀을 식별하는 단계;상기 검출된 오류 비트를 정정하는 단계;상기 식별된 메모리 셀에 상기 정정된 비트에 대응하는 검증 전압을 할당하는 단계;상기 복수의 메모리 셀들 중 상기 식별된 메모리 셀 이외의 나머지 메모리 셀들에 상기 읽은 데이터에 대응하는 검증 전압을 할당하는 단계; 및상기 할당된 검증 전압을 이용하여 상기 복수의 메모리 셀들 중 적어도 하나의 문턱 전압을 변경함으로써 상기 복수의 메모리 셀들에 저장된 데이터를 재조정하는 단계를 포함하며,상기 검증 전압은 상기 복수의 메모리 셀들에 상기 데이터가 저장될 때 이용되었던 이전 검증 전압과는 다른 전압 레벨로 설정되는 메모리 데이터 오류 관리 방법.
- 제17항에 있어서,상기 복수의 메모리 셀들에 저장된 데이터를 재조정하는 단계는상기 검출된 오류 비트의 개수에 기초하여, 상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제1 방법 또는 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메모리 셀들에 프로그램하는 제2 방법 중 어느 하나를 선택하는 단계;상기 제1 방법이 선택된 경우 상기 복수의 메모리 셀들 각각의 문턱 전압이 상기 할당된 검증 전압 이상일 때까지 상기 복수의 메모리 셀들 각각의 문턱 전압을 증가시키는 단계; 및상기 제2 방법이 선택된 경우 상기 새로운 메모리 셀들 각각의 문턱 전압이 상기 할당된 검증 전압 이상일 때까지 상기 새로운 메모리 셀들 각각의 문턱 전압을 증가시키는 단계를 포함하는 메모리 데이터 오류 관리 방법.
- 제17항에 있어서,상기 복수의 메모리 셀들에 저장된 데이터를 재조정하는 단계는파일럿 셀을 이용하여 상기 복수의 메모리 셀들의 문턱 전압의 변화를 추정하는 단계; 및상기 추정된 문턱 전압의 변화에 기초하여, 상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제1 방법 또는 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메모리 셀들에 프로그램하는 제2 방법 중 어느 하나를 선택하는 단계를 포함하는 메모리 데이터 오류 관리 방법.
- 제17항에 있어서,상기 복수의 메모리 셀들에 저장된 데이터를 재조정하는 단계는상기 복수의 메모리 셀들에 데이터가 프로그램된 시간 정보를 저장하는 단계; 및상기 저장된 시간 정보에 기초하여, 상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제1 방법 또는 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메 모리 셀들에 프로그램하는 제2 방법 중 어느 하나를 선택하는 단계를 포함하는 메모리 데이터 오류 관리 방법.
- 제17항에 있어서,상기 복수의 메모리 셀들에 저장된 데이터를 재조정하는 단계는상기 복수의 메모리 셀들의 문턱 전압을 재조정하는 제1 방법을 수행하는 단계;상기 제1 방법이 수행된 횟수가 기준치보다 큰지 여부를 판정하는 단계; 및상기 제1 방법이 수행된 횟수가 상기 기준치보다 크면 상기 복수의 메모리 셀들에 저장된 데이터를 새로운 메모리 셀들에 프로그램하는 제2 방법을 수행하는 단계를 포함하는 메모리 데이터 오류 관리 방법.
- 제17항 내지 제21항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
- 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080044964A KR101506655B1 (ko) | 2008-05-15 | 2008-05-15 | 메모리 장치 및 메모리 데이터 오류 관리 방법 |
US12/453,163 US8972775B2 (en) | 2008-05-15 | 2009-04-30 | Memory device and method of managing memory data error including determining verification voltages and changing threshold voltages based on a corrected error bit |
PCT/KR2009/002530 WO2009139574A2 (en) | 2008-05-15 | 2009-05-13 | Memory device and method of managing memory data error |
JP2011509408A JP2011521394A (ja) | 2008-05-15 | 2009-05-13 | メモリ装置およびメモリデータ誤り管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080044964A KR101506655B1 (ko) | 2008-05-15 | 2008-05-15 | 메모리 장치 및 메모리 데이터 오류 관리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090119117A KR20090119117A (ko) | 2009-11-19 |
KR101506655B1 true KR101506655B1 (ko) | 2015-03-30 |
Family
ID=41317304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080044964A KR101506655B1 (ko) | 2008-05-15 | 2008-05-15 | 메모리 장치 및 메모리 데이터 오류 관리 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8972775B2 (ko) |
JP (1) | JP2011521394A (ko) |
KR (1) | KR101506655B1 (ko) |
WO (1) | WO2009139574A2 (ko) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011123964A (ja) * | 2009-12-11 | 2011-06-23 | Toshiba Corp | 半導体記憶装置 |
US8938013B2 (en) * | 2010-03-16 | 2015-01-20 | Cleversafe, Inc. | Dispersal of priority data in a dispersed storage network |
US8539321B2 (en) * | 2010-11-10 | 2013-09-17 | Infineon Technologies Ag | Apparatus and method for correcting at least one bit error within a coded bit sequence |
JP2012123600A (ja) | 2010-12-08 | 2012-06-28 | Toshiba Corp | メモリシステム及びメモリコントローラ |
KR101214285B1 (ko) * | 2010-12-30 | 2012-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US8503242B2 (en) | 2011-04-14 | 2013-08-06 | Micron Technology, Inc. | Methods and devices for determining sensing voltages |
US20130031431A1 (en) * | 2011-07-28 | 2013-01-31 | Eran Sharon | Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats |
JP2013041634A (ja) * | 2011-08-11 | 2013-02-28 | Fujitsu Ltd | 不揮発性半導体記憶装置 |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9021319B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
US8737133B2 (en) | 2011-10-18 | 2014-05-27 | Seagate Technology Llc | Shifting cell voltage based on grouping of solid-state, non-volatile memory cells |
US8760932B2 (en) | 2011-10-18 | 2014-06-24 | Seagate Technology Llc | Determination of memory read reference and programming voltages |
US8711619B2 (en) * | 2011-10-18 | 2014-04-29 | Seagate Technology Llc | Categorizing bit errors of solid-state, non-volatile memory |
US8693257B2 (en) | 2011-10-18 | 2014-04-08 | Seagate Technology Llc | Determining optimal read reference and programming voltages for non-volatile memory using mutual information |
US9239781B2 (en) | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
KR20140012319A (ko) * | 2012-07-19 | 2014-02-03 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
US9123445B2 (en) * | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9202580B2 (en) * | 2013-01-30 | 2015-12-01 | Globalfoundries Inc. | Level-estimation in multi-level cell memory |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9183137B2 (en) | 2013-02-27 | 2015-11-10 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9135109B2 (en) | 2013-03-11 | 2015-09-15 | Seagate Technology Llc | Determination of optimum threshold voltage to read data values in memory cells |
US9367391B2 (en) * | 2013-03-15 | 2016-06-14 | Micron Technology, Inc. | Error correction operations in a memory device |
US9043780B2 (en) | 2013-03-27 | 2015-05-26 | SMART Storage Systems, Inc. | Electronic system with system modification control mechanism and method of operation thereof |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
KR102076231B1 (ko) * | 2013-07-09 | 2020-02-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
KR102190399B1 (ko) | 2013-10-11 | 2020-12-11 | 삼성전자주식회사 | 신뢰성을 보장할 수 있는 불휘발성 메모리 장치의 동작 방법 및 상기 방법을 수행하는 메모리 시스템 |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
KR102187643B1 (ko) | 2013-12-04 | 2020-12-08 | 삼성전자주식회사 | 메모리 시스템 및 그것을 포함하는 유저 장치 |
US9305663B2 (en) * | 2013-12-20 | 2016-04-05 | Netapp, Inc. | Techniques for assessing pass/fail status of non-volatile memory |
US20150254131A1 (en) * | 2014-03-07 | 2015-09-10 | Kabushiki Kaisha Toshiba | Memory controller, storage device and memory control method |
KR102221752B1 (ko) * | 2014-03-20 | 2021-03-02 | 삼성전자주식회사 | 메모리 장치의 프로그램 방법 및 이를 포함하는 데이터 독출 방법 |
US9837145B2 (en) * | 2015-08-28 | 2017-12-05 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Multi-level flash storage device with minimal read latency |
US9418731B1 (en) * | 2015-11-06 | 2016-08-16 | Phison Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
US10552069B2 (en) | 2017-07-07 | 2020-02-04 | Sap Se | Caching the topology of a distributed data storage system |
TWI628660B (zh) * | 2017-09-19 | 2018-07-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 |
US11068186B2 (en) | 2018-02-09 | 2021-07-20 | Micron Technology, Inc. | Providing recovered data to a new memory cell at a memory sub-system based on an unsuccessful error correction operation |
US11061762B2 (en) * | 2019-02-04 | 2021-07-13 | Intel Corporation | Memory programming techniques |
CN110036446A (zh) * | 2019-02-20 | 2019-07-19 | 长江存储科技有限责任公司 | 用于对存储器***编程的方法 |
KR102601152B1 (ko) * | 2019-05-10 | 2023-11-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11139026B2 (en) * | 2020-02-05 | 2021-10-05 | Intel Corporation | Variable reference based sensing scheme |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0877785A (ja) * | 1994-08-31 | 1996-03-22 | Toshiba Corp | 半導体記憶装置 |
JP2000149592A (ja) | 1998-11-11 | 2000-05-30 | Nec Ic Microcomput Syst Ltd | 不良救済用メモリセル及びそれを用いた記憶装置 |
US20070091677A1 (en) | 2005-10-25 | 2007-04-26 | M-Systems Flash Disk Pioneers Ltd. | Method for recovering from errors in flash memory |
US7715239B2 (en) | 2006-05-01 | 2010-05-11 | Micron Technology, Inc. | Memory voltage cycle adjustment |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5754566A (en) * | 1996-09-06 | 1998-05-19 | Intel Corporation | Method and apparatus for correcting a multilevel cell memory by using interleaving |
US5859858A (en) * | 1996-10-25 | 1999-01-12 | Intel Corporation | Method and apparatus for correcting a multilevel cell memory by using error locating codes |
KR100255957B1 (ko) * | 1997-07-29 | 2000-05-01 | 윤종용 | 전기적으로 소거 및 프로그램 가능한 메모리 셀들을 구비한반도체 메모리 장치 |
KR100266748B1 (ko) | 1997-12-31 | 2000-10-02 | 윤종용 | 반도체 메모리 장치 및 그 장치의 에러 정정 방법 |
JPH11339496A (ja) | 1998-05-22 | 1999-12-10 | Nec Corp | 多値セルのecc回路 |
JP3937214B2 (ja) * | 1999-09-17 | 2007-06-27 | 株式会社ルネサステクノロジ | エラー訂正回数を記録する記憶装置 |
JP4323707B2 (ja) | 2000-10-25 | 2009-09-02 | 富士通マイクロエレクトロニクス株式会社 | フラッシュメモリの欠陥管理方法 |
JP2002197878A (ja) * | 2000-12-26 | 2002-07-12 | Hitachi Ltd | 半導体装置及びデータ処理システム |
JP3940570B2 (ja) * | 2001-07-06 | 2007-07-04 | 株式会社東芝 | 半導体記憶装置 |
JP4437519B2 (ja) | 2001-08-23 | 2010-03-24 | スパンション エルエルシー | 多値セルメモリ用のメモリコントローラ |
JP2003100095A (ja) | 2001-09-21 | 2003-04-04 | Hitachi Ltd | 半導体集積回路装置 |
JP2003242787A (ja) * | 2002-02-14 | 2003-08-29 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6751766B2 (en) | 2002-05-20 | 2004-06-15 | Sandisk Corporation | Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data |
JP4187197B2 (ja) | 2002-11-07 | 2008-11-26 | シャープ株式会社 | 半導体メモリ装置の制御方法 |
US7372731B2 (en) | 2003-06-17 | 2008-05-13 | Sandisk Il Ltd. | Flash memories with adaptive reference voltages |
JP4213053B2 (ja) * | 2004-01-29 | 2009-01-21 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
US7239557B2 (en) * | 2005-06-17 | 2007-07-03 | Micron Technology, Inc. | Program method with optimized voltage level for flash memory |
KR100634457B1 (ko) * | 2005-07-04 | 2006-10-16 | 삼성전자주식회사 | 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치 |
JP2007066386A (ja) | 2005-08-30 | 2007-03-15 | Toshiba Corp | 半導体記憶装置 |
JP4660353B2 (ja) * | 2005-11-01 | 2011-03-30 | 株式会社東芝 | 記憶媒体再生装置 |
KR101375955B1 (ko) * | 2006-05-12 | 2014-03-18 | 애플 인크. | 메모리 디바이스 내의 왜곡 추정 및 상쇄 |
US7568135B2 (en) * | 2006-05-15 | 2009-07-28 | Apple Inc. | Use of alternative value in cell detection |
US7355892B2 (en) * | 2006-06-30 | 2008-04-08 | Sandisk Corporation | Partial page fail bit detection in flash memory devices |
JP4791912B2 (ja) | 2006-08-31 | 2011-10-12 | 株式会社東芝 | 不揮発性半導体記憶装置及び不揮発性記憶システム |
KR100769258B1 (ko) * | 2006-10-23 | 2007-10-22 | 삼성전자주식회사 | 문턱 전압 분포를 줄일 수 있는 불 휘발성 메모리 장치 |
US7904788B2 (en) * | 2006-11-03 | 2011-03-08 | Sandisk Corporation | Methods of varying read threshold voltage in nonvolatile memory |
US7814401B2 (en) * | 2006-12-21 | 2010-10-12 | Ramot At Tel Aviv University Ltd. | Soft decoding of hard and soft bits read from a flash memory |
KR100799018B1 (ko) | 2006-12-27 | 2008-01-28 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자 및 자기 보상 방법 |
US7633797B2 (en) * | 2007-01-25 | 2009-12-15 | Macronix International Co., Ltd. | Flash memory and method for determining logic states thereof |
JP2008257773A (ja) * | 2007-04-02 | 2008-10-23 | Toshiba Corp | 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード |
US7849383B2 (en) * | 2007-06-25 | 2010-12-07 | Sandisk Corporation | Systems and methods for reading nonvolatile memory using multiple reading schemes |
US8000141B1 (en) * | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US7821840B2 (en) * | 2008-11-24 | 2010-10-26 | Spansion Llc | Multi-phase programming of multi-level memory |
US8499227B2 (en) * | 2010-09-23 | 2013-07-30 | Micron Technology, Inc. | Memory quality monitor based compensation method and apparatus |
-
2008
- 2008-05-15 KR KR1020080044964A patent/KR101506655B1/ko active IP Right Grant
-
2009
- 2009-04-30 US US12/453,163 patent/US8972775B2/en active Active
- 2009-05-13 WO PCT/KR2009/002530 patent/WO2009139574A2/en active Application Filing
- 2009-05-13 JP JP2011509408A patent/JP2011521394A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0877785A (ja) * | 1994-08-31 | 1996-03-22 | Toshiba Corp | 半導体記憶装置 |
JP2000149592A (ja) | 1998-11-11 | 2000-05-30 | Nec Ic Microcomput Syst Ltd | 不良救済用メモリセル及びそれを用いた記憶装置 |
US20070091677A1 (en) | 2005-10-25 | 2007-04-26 | M-Systems Flash Disk Pioneers Ltd. | Method for recovering from errors in flash memory |
US7715239B2 (en) | 2006-05-01 | 2010-05-11 | Micron Technology, Inc. | Memory voltage cycle adjustment |
Also Published As
Publication number | Publication date |
---|---|
WO2009139574A3 (en) | 2010-06-24 |
KR20090119117A (ko) | 2009-11-19 |
WO2009139574A2 (en) | 2009-11-19 |
US8972775B2 (en) | 2015-03-03 |
US20090287975A1 (en) | 2009-11-19 |
JP2011521394A (ja) | 2011-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101506655B1 (ko) | 메모리 장치 및 메모리 데이터 오류 관리 방법 | |
KR101466698B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101434405B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101414494B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101425020B1 (ko) | 메모리 장치 및 데이터 판정 방법 | |
KR101518199B1 (ko) | 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 | |
KR101528167B1 (ko) | 메모리 장치 및 메모리 데이터 판정 방법 | |
JP6127200B2 (ja) | メモリデバイスにおけるエラー訂正動作 | |
KR101423052B1 (ko) | 메모리 장치 및 읽기 레벨 제어 방법 | |
US8243511B2 (en) | Reuse of information from memory read operations | |
KR101979734B1 (ko) | 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 | |
KR101378349B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101466270B1 (ko) | 비휘발성 메모리 시스템 및 그것의 데이터 처리 방법 | |
KR101378602B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 | |
KR20100013485A (ko) | 메모리 장치 및 웨어 레벨링 방법 | |
KR20090117172A (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR20090083204A (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20180228 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190228 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20200228 Year of fee payment: 6 |