KR101434405B1 - 메모리 장치 및 메모리 데이터 읽기 방법 - Google Patents
메모리 장치 및 메모리 데이터 읽기 방법 Download PDFInfo
- Publication number
- KR101434405B1 KR101434405B1 KR1020080015310A KR20080015310A KR101434405B1 KR 101434405 B1 KR101434405 B1 KR 101434405B1 KR 1020080015310 A KR1020080015310 A KR 1020080015310A KR 20080015310 A KR20080015310 A KR 20080015310A KR 101434405 B1 KR101434405 B1 KR 101434405B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- bit
- error
- page
- memory
- 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
-
- 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
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
메모리 장치 및 메모리 데이터 읽기 방법이 제공된다. 본 발명의 메모리 장치는 멀티 비트 셀 어레이, 상기 멀티 비트 셀 어레이 내의 메모리 페이지로부터 제1 데이터 페이지를 읽고, 상기 읽은 제1 데이터 페이지의 오류 비트를 검출하는 오류 검출부, 및 상기 오류 비트가 저장된 멀티 비트 셀을 식별하고, 제2 데이터 페이지 중 상기 식별된 멀티 비트 셀에 저장된 데이터를 추정하는 추정부를 포함하는 것을 특징으로 하며, 이를 통해 멀티 비트 셀에 저장된 데이터를 읽을 때의 오류를 줄일 수 있고, 멀티 비트 셀의 상태를 추가적인 오버헤드 없이 모니터할 수 있다.
멀티 비트 셀, 멀티 레벨 셀, 문턱 전압, charge loss
Description
본 발명은 메모리 장치의 데이터를 읽는 방법에 관한 것으로, 보다 상세하게는 멀티 레벨 셀(Multi-level Cell, MLC) 또는 멀티 비트 셀(Multi-Bit Cell, MBC) 메모리 장치의 데이터를 읽는 장치 및 방법에 관한 것이다.
싱글 레벨 셀(SLC: Single-Level Cell) 메모리는 하나의 메모리 셀에 1비트의 데이터를 저장하는 메모리이다. 싱글 레벨 셀 메모리는 싱글 비트 셀(SBC: Single-Bit Cell) 메모리로도 불린다. 싱글 레벨 셀 메모리의 싱글 레벨 셀에 1비트의 데이터를 저장하는 과정은 프로그램 과정이라고도 불리며, 싱글 레벨 셀의 문턱 전압을 변화 시킨다. 싱글 레벨 셀에 저장되는 1비트의 데이터가 "0"인지 "1인지에 따라 싱글 레벨 셀의 메모리는 높은 문턱 전압 레벨 또는 낮은 문턱 전압 레벨을 가질 수 있다. 싱글 레벨 셀에 저장된 데이터를 읽는 과정은 싱글 레벨 셀의 문턱 전압을 감지(sense)하여 감지된 문턱 전압이 기준 전압(reference voltage) (또는 읽기 전압(read voltage) ) 레벨보다 높은지 또는 낮은지를 판정함으로써 실행된다.
싱글 레벨 셀들 각각의 미세한 전기적 특성의 차이로 인해 싱글 레벨 셀들 각각의 문턱 전압은 일정한 범위의 산포(distribution)를 가질 수 있다. 예를 들어, 감지된 싱글 비트 셀의 문턱 전압이 0.5-1.5 볼트(volt)인 경우에는 싱글 비트 셀에 저장된 데이터는 논리 "1"이고, 감지된 싱글 비트 셀의 문턱 전압이 2.5-3.5 볼트인 경우에는 싱글 비트 셀에 저장된 데이터는 논리 "0"으로 해석될 수 있다.
싱글 비트 셀의 문턱 전압을 감지하는 과정은, 싱글 비트 셀의 게이트 단자(gate terminal)에 일정 레벨의 전압을 인가하고 싱글 비트 셀의 소스(source), 드레인(drain) 단자 간에 흐르는 전류의 크기를 감지함으로써 실행될 수 있다.
한편 메모리의 고집적화 요구에 응답하여 하나의 메모리 셀에 2비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(MLC: multi-level cell) 메모리가 제안되었다. 멀티 레벨 셀 메모리는 멀티 비트 셀(MBC: multi-bit cell) 메모리로도 불린다.
본 명세서에서는 멀티 레벨 셀 메모리에서 데이터를 읽을 때의 오류를 줄일 수 있는 멀티 레벨(또는 멀티 비트) 데이터 읽기 장치 및 방법이 제안된다.
본 발명의 일 실시예에 따르면 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 읽기 기법을 적용함으로써, 데이터를 읽을 때의 오류를 줄일 수 있다.
본 발명의 일 실시예에 따르면 멀티 레벨 셀의 특성의 모니터링을 위한 오버헤드를 최소화할 수 있다.
본 발명의 일 실시예에 따르면 메모리로부터 읽은 데이터의 오류 정정 가능성 (error correctability) 을 높일 수 있다.
본 발명의 일 실시예에 따른 메모리 장치는 멀티 비트 셀 어레이, 상기 멀티 비트 셀 어레이 내의 메모리 페이지로부터 제1 데이터 페이지를 읽고, 상기 읽은 제1 데이터 페이지의 오류 비트를 검출하는 오류 검출부, 및 상기 오류 비트가 저장된 멀티 비트 셀을 식별하고, 제2 데이터 페이지 중 상기 식별된 멀티 비트 셀에 저장된 데이터를 추정하는 추정부를 포함할 수 있다.
본 발명의 다른 실시예에 따른 메모리 장치는 메모리 셀 어레이, 상기 메모리 셀 어레이로부터 데이터를 읽고, 상기 읽은 데이터의 오류 비트를 검출하는 오류 검출부, 및 상기 검출된 오류 비트의 패턴에 기초하여 상기 메모리 셀 어레이 내의 메모리 셀들의 문턱 전압의 변화를 추정하는 추정부를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 메모리 데이터 읽기 방법은 멀티 비트 셀 어레이 내의 메모리 페이지로부터 제1 데이터 페이지를 읽는 단계, 상기 읽은 제1 데이터 페이지의 오류 비트를 검출하는 단계, 상기 검출된 오류 비트가 저장된 멀티 비트 셀을 식별하는 단계, 제2 데이터 페이지 중 상기 식별된 멀티 비트 셀에 저장된 데이터를 추정하는 단계를 포함할 수 있다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
하나의 멀티 비트 셀에 저장되는 비트의 수가 증가할수록 신뢰성은 떨어지고, 판독 실패율(read failure rate)은 증가하게 된다. 하나의 멀티 비트 셀이 m 비트의 데이터를 저장할 수 있다면, 하나의 멀티 비트 셀에 형성되는 문턱 전압 레벨은 2m 개 중 어느 하나일 수 있다. 멀티 비트 셀들 각각이 가지는 미세한 전기적 특성의 차이로 인해, 멀티 비트 셀 어레이(array)의 멀티 비트 셀들 각각이 m비트의 데이터를 저장할 수 있다면, 멀티 비트 셀 어레이의 멀티 비트 셀들의 문턱 전압 레벨들은 2m개의 산포들을 형성할 수 있다.
메모리 장치의 전압 윈도우(voltage window)는 제한되어 있으므로, m이 증가 함에 따라 인접한 산포들 간의 간격은 줄어들게 되고, 더욱 m이 증가하면 인접한 산포들은 서로 겹칠 수 있다. 인접한 산포들이 서로 겹치면 멀티 비트 셀들에 저장된 데이터의 판독 실패율이 증가한다.
멀티 비트 셀들에 데이터를 저장하고, 멀티 비트 셀들로부터 데이터를 읽는 과정에서 발생하는 오류를 검출하고, 검출된 오류를 정정하기 위해 오류 정정 코드 또는 오류 제어 코드(error correction codes or error control codes, ECC)가 이용될 수 있다.
ECC는 유효 정보(effective information)에 잉여 비트(redundant bit)를 부가하여 유효 정보에 대한 오류를 검출하고, 정정할 수 있는 코드이다. 본 발명의 일 실시예에 따른 메모리 장치는 데이터를 저장하는 과정에서 데이터를 ECC 인코드하고, ECC 인코드된 데이터를 저장할 수 있다. 이 때, 메모리 장치는 멀티 비트 셀들로부터 읽은 데이터를 ECC 디코드하고, ECC 디코드된 데이터로부터 유효 정보를 추출할 수 있다.
ECC 디코딩 기법에 따라서는, 읽은 데이터에 존재하는 오류의 개수 및 오류 비트의 위치까지 알 수 있는 기법이 있을 수 있다. ECC 디코딩 기법에 따라서는, 일정 비율 이하로 오류가 발생하면 발생된 오류를 모두 정정할 수 있는 기법이 있을 수 있다.
오류 정정 능력(error correcting capability)이 명시적으로 드러나는 코드로는 순환 코드(cyclic codes) 등이 있다. 순환 코드의 예로는, BCH(Bose, Ray-Chaudhuri, Hocquenghem) 코드 또는 리드 솔로몬 (Reed-Solomon) 코드 등이 있으 며, 이에 대한 디코딩 기법으로 메짓(Meggitt) 디코딩 기법, 벌레캠프 메시 (Berlekamp-Massey) 디코딩 기법, 유클리드(Euclid) 디코딩 기법 등이 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(100)를 도시하는 도면이다.
도 1을 참조하면, 메모리 장치(100)는 멀티 비트 셀 어레이(110), 오류 검출부(120) 및 데이터 추정부(130)를 포함한다.
멀티 비트 셀 어레이(110)는 복수의 멀티 비트 셀들을 포함한다. 하나의 멀티 비트 셀은 멀티 비트 데이터를 저장할 수 있다. 메모리 장치가 하나의 멀티 비트 셀에 데이터를 저장하는 과정은 '프로그래밍'이라고도 불리며, F-N 터널링 (Fowler-Nordheim tunneling, F-N tunneling) 등의 메커니즘을 이용하여 수행될 수 있다.
프로그래밍 과정은 멀티 비트 셀의 문턱 전압을 변화시킨다. 하나의 멀티 비트 셀이 최대 m비트의 데이터를 저장할 수 있다면, 하나의 멀티 비트 셀에 형성되는 문턱 전압 레벨은 2m개 중 하나이다.
메모리 장치(100)는 멀티 비트 셀 어레이(110)로부터 데이터를 읽을 때 소요되는 시간을 단축하기 위하여 다수의 인접한 멀티 비트 셀들로부터 동시에 데이터를 읽을 수 있다. 이 때, 동시에 데이터를 읽히는 다수의 멀티 비트 셀들의 집합을 메모리 페이지(111)라 할 수 있다. 하나의 메모리 페이지(111)는 하나의 워드 라인(word line)에 연결된 멀티 비트 셀들의 집합일 수 있다.
하나의 멀티 비트 셀에 저장되는 m비트의 데이터는 최상위 비트(most significant bit, MSB)로부터 최하위 비트(least significant bit, LSB)로 정렬될 수 있다. 메모리 장치(100)는 하나의 멀티 비트 셀로부터 MSB를 읽은 후 MSB보다 하위 비트들을 순차적으로 읽을 수 있다. 이 때, LSB가 상기 멀티 비트 셀에 마지막으로 읽힐 수 있다.
실시예에 따라서는, 메모리 장치(100)는 하나의 멀티 비트 셀로부터 LSB를 읽은 후 LSB보다 상위 비트들을 순차적으로 읽을 수 있다. 이 때, MSB가 상기 멀티 비트 셀에 마지막으로 읽힐 수 있다.
메모리 장치(100)는 메모리 페이지(111) 내의 멀티 비트 셀들 각각으로부터 MSB들을 읽은 후 MSB보다 하위 비트들을 순차적으로 읽을 수 있다. 메모리 페이지(111)의 멀티 비트 셀들 각각으로부터 읽은 MSB들의 집합을 하나의 데이터 페이지라 할 수 있다.
메모리 장치(100)는 메모리 페이지(111) 내의 멀티 비트 셀들 각각으로부터 LSB들을 마지막으로 읽을 수 있다. 메모리 페이지(111) 내의 멀티 비트 셀들 각각으로부터 읽은 LSB들의 집합을 또 하나의 데이터 페이지라 할 수 있다.
메모리 페이지(111) 내의 멀티 비트 셀들 각각이 m비트의 데이터를 저장할 수 있으면, m개의 데이터 페이지들이 메모리 페이지(111)에 저장될 수 있다. 메모리 장치(100)는 메모리 페이지(111)로부터 m개의 데이터 페이지들을 읽을 수 있다. 이 때, 제1 데이터 페이지는 MSB에 대응하고, 제2 데이터 페이지는 제2 비트에 대응하고, 제3 데이터 페이지는 LSB에 대응할 수 있다.
오류 검출부(120)는 메모리 페이지(111)로부터 제1 데이터 페이지를 읽고, 읽은 제1 데이터 페이지의 오류 비트를 검출한다.
데이터 추정부(130)는 검출된 오류 비트가 저장된 멀티 비트 셀을 식별하고, 제2 데이터 페이지의 데이터 중 식별된 멀티 비트 셀에 저장된 데이터를 추정한다.
다른 실시예에 따라서는, 메모리 장치(100)는 하나의 멀티 비트 셀로부터 LSB를 읽은 후 LSB보다 상위 비트들을 순차적으로 읽을 수 있다. 이 때, MSB가 상기 멀티 비트 셀에 마지막으로 읽힐 수 있다. 이 때, 제1 데이터 페이지는 LSB에 대응하고, 제2 데이터 페이지는 제2 비트에 대응하고, 제3 데이터 페이지는 MSB에 대응할 수 있다.
도 2는 데이터 추정부(130)의 데이터 추정 과정의 일 예를 도시하는 도면이다.
도 2를 참조하면, 가로축은 멀티 비트 셀의 문턱 전압을 나타내고, 세로축은 해당 문턱 전압을 가지는 멀티 비트 셀들의 개수를 나타낸다.
도 2를 참조하면, 멀티 비트 셀 어레이(110) 내의 멀티 비트 셀들 각각이 2비트의 데이터를 저장하는 실시예가 도시된다.
데이터 "11"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(220)를 형성하고, 데이터 "10"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(230)를 형성한다. 데이터 "00"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(240)를 형성하고, 데이터 "01"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(250)를 형성한다.
오류 검출부(120)는 전압 레벨(210)과 멀티 비트 셀들 각각의 문턱 전압을 비교한다. 오류 검출부(120)는 전압 레벨(210)보다 높은 문턱 전압을 가지는 멀티 비트 셀들의 MSB를 "0"으로 판정할 수 있고, 전압 레벨(210)보다 낮은 문턱 전압을 가지는 멀티 비트 셀들의 MSB를 "1"로 판정할 수 있다.
멀티 비트 셀 어레이(110)에 데이터가 저장된 후 충분히 긴 시간이 경과한 경우, 멀티 비트 셀 어레이(110)에 저장된 데이터가 오염되었을 가능성이 있다. 예를 들어, 데이터 "00"이 저장된 멀티 비트 셀의 문턱 전압이 시간이 경과함에 따라 낮아져서 상기 멀티 비트 셀이 전압 레벨(210)보다 낮은 문턱 전압을 가지는 경우에, 오류 검출부(120)는 상기 멀티 비트 셀에 저장된 MSB를 "1"로 판정할 수 있다. 오류 검출부(120)는 메모리 페이지(111)로부터 읽은 제1 데이터 페이지에 대하여 오류를 체크할 수 있고, 오류를 체크한 결과 MSB "0"이 저장된 멀티 비트 셀로부터 읽은 MSB가 "1"로 판정되었음을 검출할 수 있다. 데이터 추정부(130)는 상기 검출된 오류 MSB가 저장된 상기 멀티 비트 셀을 식별할 수 있다.
즉, 오류 검출부(120)가 읽은 제1 데이터 페이지에 대하여 오류를 체크한 결과, "1"로 읽힌 데이터가 오류 비트임을 검출하면, 데이터 추정부(130) 또는 오류 검출부(120)는 검출된 오류 비트를 "0"으로 정정할 수 있고, 데이터 추정부(130)는 검출된 오류 비트가 저장된 멀티 비트 셀을 식별할 수 있다.
데이터 추정부(130)는, 오류 검출부(120)가 MSB에 대응하는 제1 데이터 페이지의 오류를 검출하는 과정으로부터 식별된 멀티 비트 셀에 저장된 LSB를 추정할 수 있다. 데이터 추정부(130)는 멀티 비트 셀 어레이(110) 내의 멀티 비트 셀들의 문턱 전압 및 데이터 간의 매핑 관계에 기초하여, 전압 레벨(210)에 의해 검출된 오류 비트가 저장된 멀티 비트 셀은 - 오류가 없었다면 - 산포(240)에 대응하였을 것이라고 추정할 수 있다. 이러한 추정이 가능한 이유는 산포(250)는 산포(240)보다 전압 레벨(210)로부터 멀리 떨어져 있으므로, 산포(250)에 대응하였던 멀티 비트 셀의 문턱 전압이 전압 레벨(210)보다 낮아질 확률(probability)보다는 산포(240)에 대응하였던 멀티 비트 셀의 문턱 전압이 전압 레벨(210)보다 낮아질 확률이 충분히 높기 때문이다.
오류 검출부(120)는 전압 레벨(210)을 이용하여 MSB에 대응하는 제1 데이터 페이지의 오류를 검출하고, 데이터 추정부(130)는 검출된 오류 비트가 저장된 멀티 비트 셀을 식별하고, 식별된 멀티 비트 셀에 저장된 MSB를 "0"으로 정정할 수 있다. 이 때, 데이터 추정부(130)는 식별된 멀티 비트 셀에 저장된 LSB를 "0"으로 추정할 수 있다. 식별된 멀티 비트 셀은 오류가 없었다면 산포(240)에 대응하였을 가능성이 높기 때문이다.
한편, 데이터 "10"이 저장된 멀티 비트 셀의 문턱 전압이 시간이 경과함에 따라 또는 인접한 멀티 비트 셀들의 문턱 전압의 변화에 영향 받아 높아져서 전압 레벨(210)보다 높아지는 경우가 있을 수 있다. 오류 검출부(120)는 전압 레벨(210)을 이용하여 MSB에 대응하는 제1 데이터 페이지를 읽고, 읽은 제1 데이터 페이지의 오류 비트를 검출할 수 있다. 데이터 "10"이 저장된 멀티 비트 셀의 문턱 전압이 전압 레벨(210)보다 높아진 경우에 상기 멀티 비트 셀에 저장된 MSB는 "0"으로 판정될 수 있다. 오류 검출부(120)에 의하여 읽은 제1 데이터 페이지 중 "0"이 오류 비트로 검출되면, 데이터 추정부(130)는 검출된 오류 비트 "0"이 저장 된 멀티 비트 셀을 식별하고, 식별된 멀티 비트 셀에 저장된 데이터가 "10"이었음을 추정할 수 있다. 이러한 추정이 가능한 이유는, 산포(220)가 산포(230)보다 전압 레벨(210)으로부터 멀리 떨어져 있으므로, 산포(220)에 대응하던 멀티 비트 셀의 문턱 전압이 전압 레벨(210)보다 높아질 확률보다는 산포(230)에 대응하던 멀티 비트 셀의 문턱 전압이 전압 레벨(210)보다 높아질 확률이 충분히 높기 때문이다.
오류 검출부(120)는 MSB에 대한 오류 비트를 검출하고, 데이터 추정부(130)는 검출된 오류 비트의 패턴 및 저장된 데이터와 문턱 전압의 매핑 관계에 기초하여 오류가 정정된 MSB 및 LSB를 추정할 수 있다.
도 2의 실시예에서는, MSB에 대하여 검출된 오류 비트가 저장된 멀티 비트 셀의 LSB는 "0"으로 추정될 수 있다. 오류 검출부(120)는 메모리 페이지(111)로부터 LSB에 대응하는 제2 데이터 페이지를 읽고, 읽은 제2 데이터 페이지의 오류를 검출할 수 있다. 이 때, 오류 검출부(120)는 데이터 추정부(130)에 의하여 추정된 LSB를 이용하여 제2 데이터 페이지의 오류 비트를 용이하게 검출할 수 있다.
도 3은 데이터 추정부(130)의 데이터 추정 과정의 다른 예를 도시하는 도면이다.
도 3을 참조하면, 가로축은 멀티 비트 셀의 문턱 전압을 나타내고, 세로축은 해당 문턱 전압을 가지는 멀티 비트 셀들의 개수를 나타낸다.
도 3을 참조하면, 멀티 비트 셀 어레이(110) 내의 멀티 비트 셀들 각각이 3비트의 데이터를 저장하는 실시예가 도시된다.
데이터 "111"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(311)를 형성 하고, 데이터 "110"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(312)를 형성한다. 데이터 "100"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(313)를 형성하고, 데이터 "101"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(314)를 형성한다.
데이터 "001"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(315)를 형성하고, 데이터 "000"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(316)를 형성한다. 데이터 "010"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(317)를 형성하고, 데이터 "011"을 저장하는 멀티 비트 셀들의 문턱 전압들은 산포(318)를 형성한다.
오류 검출부(120)는 전압 레벨(330)을 이용하여 메모리 페이지(111)로부터 MSB에 대응하는 제1 데이터 페이지를 읽는다. 오류 검출부(120)는 읽은 제1 데이터 페이지의 오류 비트를 검출한다.
데이터 추정부(130)는 검출된 오류 비트가 저장된 멀티 비트 셀을 식별한다. 도 3을 참조하면, 식별된 멀티 비트 셀은 산포(314)에 대응하거나 산포(315)에 대응할 확률이 높으므로, 데이터 추정부(130)는 식별된 멀티 비트 셀에 저장된 제2 비트를 "0"으로 추정하고, 식별된 멀티 비트 셀에 저장된 LSB를 "1"로 추정할 수 있다.
오류 검출부(120)는 전압 레벨(320) 및 전압 레벨(340)을 이용하여 메모리 페이지(111)로부터 제2 비트에 대응하는 제2 데이터 페이지를 읽는다. 오류 검출부(120)는 읽은 제2 데이터 페이지의 오류 비트를 검출한다. 이 때, 오류 검출 부(120)는 데이터 추정부(130)에 의해 추정된 제2 비트를 이용하여 읽은 제2 데이터 페이지의 오류 비트를 검출할 수 있다.
오류 검출부(120)가 제2 데이터 페이지를 읽은 결과, 데이터 추정부(130)에 의해 식별된 멀티 비트 셀로부터 제2 비트 "0"이 읽혔다면, 읽힌 제2 비트 "0"은 데이터 추정부(130)에 의해 추정된 제2 비트 "0"과 일치한다. 따라서, 오류 검출부(120)는 식별된 멀티 비트 셀의 제2 비트 "0"을 정확한 값으로 간주하고 나머지 멀티 비트 셀의 제2 비트의 오류를 검출할 수 있다.
도 3의 실시예에서, 제1 데이터 페이지를 읽는 과정은 하나의 전압 레벨(330)을 이용하고, 제2 데이터 페이지를 읽는 과정은 두 개의 전압 레벨들(320, 340)을 이용하므로, 제2 데이터 페이지의 오류가 제1 데이터 페이지의 오류보다 많을 가능성이 높다. 오류 검출부(120)는 제2 데이터 페이지에 대한 오류를 검출하는 과정에서 일부 멀티 비트 셀 - 데이터 추정부(130)에 의해 식별된 - 에 대하여 미리 추정된 제2 비트를 이용할 수 있으므로, 오류 검출 과정의 효율을 높일 수 있다.
오류 검출부(120)는 전압 레벨(320) 및 전압 레벨(340)을 이용하여 읽은 제2 데이터 페이지의 오류 비트를 검출할 수 있다. 이 때, 검출된 오류 비트가 저장된 멀티 비트 셀은 전압 레벨(320)과 인접한 산포(312) 또는 산포(313)에 대응할 수 있고, 전압 레벨(340)과 인접한 산포(316) 또는 산포(317)에 대응할 수 있다. 따라서, 데이터 추정부(130)는 검출된 오류 비트가 저장된 멀티 비트 셀을 식별할 수 있고, 식별된 멀티 비트 셀들의 LSB를 "0"으로 추정할 수 있다.
오류 검출부(120)는 메모리 페이지(111)로부터 LSB에 대응하는 제3 데이터 페이지를 읽고, 읽은 제3 데이터 페이지의 오류 비트를 검출한다. 이 때, 오류 검출부(120)는 데이터 추정부(130)에 의해 추정된 LSB - 제1 데이터 페이지 및 제2 데이터 페이지의 오류 검출 과정에서 추정된 - 를 이용하여 오류 비트 검출 과정의 효율을 높일 수 있다.
오류 검출부(120)가 읽은 제1 데이터 페이지, 읽은 제2 데이터 페이지 및 읽은 제3 데이터 페이지의 오류 비트를 검출하는 과정은 ECC 디코딩 과정일 수 있다. 오류 검출부(120)는 읽은 제1 데이터 페이지, 읽은 제2 데이터 페이지 및 읽은 제3 데이터 페이지를 ECC 디코드하여 데이터 페이지 각각의 오류 비트를 검출할 수 있다.
앞에서도 설명한 바와 같이, 순환 코드(cyclic codes)를 이용하는 ECC 디코딩 과정은 오류 정정 능력(error correcting capability) 이하의 오류가 발생하면, 모든 오류를 정정할 수 있다. 오류 검출부(120)는 검출된 오류 비트의 개수가 오류 정정 능력을 초과하는 경우 읽기 전압 레벨들을 조정하여 추가로 메모리 페이지(111)로부터 데이터를 읽을 수 있다.
메모리 페이지(111)는 하나의 워드 라인(word line)에 연결된 멀티 비트 셀들의 집합일 수 있다. 워드 라인은, 메모리 페이지(111)의 멀티 비트 셀들 각각의 게이트 단자(gate terminal)에 연결될 수 있다. 오류 검출부(120)는 워드 라인에 인가되는 전압을 조정하여 읽기 전압 레벨들을 조정할 수 있다.
오류 검출부(120)는, 전하 유실 메커니즘(charge loss mechanism)에 의해 멀 티 비트 셀들의 문턱 전압이 낮아졌을 것으로 예상되는 경우에는, 워드 라인에 인가되는 전압을 낮추고, 추가로 메모리 페이지(111)로부터 데이터를 읽을 수 있다.
제1 데이터 페이지가 MSB에 대응하고, 제2 데이터 페이지가 제2 비트에 대응하고, 제3 데이터 페이지가 LSB에 대응하는 도 3의 실시예에서, 오류 검출부(120)는 하나의 전압 레벨(330)을 이용하여 제1 데이터 페이지를 읽을 수 있다.
오류 검출부(120)는 두 개의 전압 레벨들(320, 340)을 이용하여 제2 데이터 페이지를 읽을 수 있다. 제1 데이터 페이지를 읽는 과정에서는 산포(314) 및 산포(315)에 대응하는 멀티 비트 셀들이 오류를 가질 확률(probability)이 높고, 제2 데이터 페이지를 읽는 과정에서는, 산포(312), 산포(313), 산포(316) 및 산포(317)에 대응하는 멀티 비트 셀들이 오류를 가질 확률이 높다. 따라서, 제1 데이터 페이지에 비해 제2 데이터 페이지의 오류가 많을 확률이 높다.
본 발명의 실시예에 따라서는, 오류 검출부(120)는 비트 오류 비율(bit error rate, BER)이 낮은 제1 데이터 페이지를 읽고, 읽은 제1 데이터 페이지의 오류 비트를 검출할 수 있다. 추정부(120)는 제1 데이터 페이지의 오류 비트로부터 제2 데이터 페이지의 데이터 중 일부를 추정할 수 있다. 추정부(120)에 의해 추정된 제2 데이터 페이지의 데이터는 오류가 정정된(error-corrected) 데이터이다. 이 때, 제2 데이터 페이지의 BER은 제1 데이터 페이지의 BER보다 높을 수 있다. 오류 검출부(120)는 제2 데이터 페이지를 읽고, 데이터 추정부(130)에 의해 추정된 제2 데이터 페이지의 일부 데이터를 이용하여 읽은 제2 데이터 페이지의 오류 비트를 검출할 수 있다. 제2 데이터 페이지의 BER이 높더라도, 데이터 추정부(130)에 의해 제2 데이터 페이지의 데이터 중 일부가 미리 추정되기 때문에 (제2 데이터 페이지의 데이터 중 일부의 오류가 미리 정정되기 때문에) 오류 검출부(120)는 제2 데이터 페이지의 오류 비트를 효율적으로 검출할 수 있고, 검출된 오류 비트를 효율적으로 정정할 수 있다.
도 3의 실시예에 따르면, LSB에 대응하는 제3 데이터 페이지를 읽는 과정에서는 8개의 산포들(311, 312, 313, 314, 315, 316, 317, 318)에 대응하는 멀티 비트 셀들이 오류를 가질 확률이 높으므로, 제3 데이터 페이지는 제2 데이터 페이지보다 높은 BER을 가질 것으로 쉽게 예측될 수 있다.
데이터 추정부(130)는 제1 데이터 페이지의 오류 비트를 이용하여 산포(314) 및 산포(315)에 대응하는 멀티 비트 셀들의 오류 중 일부 - 제2 데이터 페이지 및 제3 데이터 페이지의 오류 중 일부- 를 미리 검출 및 정정할 수 있고, 제2 데이터 페이지의 오류 비트를 이용하여 산포(312), 산포(313), 산포(316) 및 산포(317)에 대응하는 멀티 비트 셀들의 오류 중 일부 - 제3 데이터 페이지의 오류 중 일부 - 를 검출 및 정정할 수 있다. 오류 검출부(120)는 제3 데이터 페이지를 읽고, 데이터 추정부(130)에 의해 추정된 제3 데이터 페이지 중 일부의 값을 이용하여 읽은 제3 데이터 페이지의 오류 비트를 검출 및 정정하므로, 제3 데이터 페이지의 BER이 높더라도 제3 데이터 페이지의 오류를 효율적으로 정정할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 메모리 장치(400)를 도시하는 도면이다.
도 4를 참조하면, 메모리 장치(400)는 멀티 비트 셀 어레이(410), 오류 검출 부(420) 및 추정부(430)를 포함한다.
멀티 비트 셀 어레이(410)는 메모리 페이지(411)를 포함한다. 도 4에서는 하나의 메모리 페이지(411)가 도시되었지만, 멀티 비트 셀 어레이(410)는 복수의 메모리 페이지들(도시되지 않음)을 포함할 수 있다.
오류 검출부(420)는 메모리 페이지(411)로부터 제1 데이터 페이지를 읽고, 읽은 제1 데이터 페이지의 오류 비트를 검출한다.
데이터 추정부(130)는 검출된 오류 비트가 저장된 멀티 비트 셀을 식별하고, 식별된 멀티 비트 셀에 저장된 데이터를 추정한다. 이 때, 추정되는 데이터는 식별된 멀티 비트 셀에 저장된 모든 데이터일 수 있다.
예를 들어, 제1 데이터 페이지에 대한 오류 검출 과정으로부터 식별된 멀티 비트 셀에 4비트의 데이터가 저장되었다면, 데이터 추정부(130)는 식별된 멀티 비트 셀에 저장된 4비트의 데이터를 모두 추정할 수 있다. 보다 일반적으로 메모리 페이지(411)에 m개의 데이터 페이지들이 저장되었다면, 데이터 추정부(130)는 식별된 멀티 비트 셀에 저장된 m비트의 데이터를 모두 추정할 수 있다.
데이터 추정부(130)는 추정된 데이터를 오류 검출부(120)로 전달할 수 있다.
오류 검출부(120)는 제2 데이터 페이지 및 제3 데이터 페이지의 오류를 검출하는 과정에서 데이터 추정부(130)에 의해 추정된 데이터를 이용할 수 있다. 보다 일반적으로 메모리 페이지(411)에 m개의 데이터 페이지들이 저장되었다면, 오류 검출부(120)가 k번째 데이터 페이지(1 ≤ k ≤ m)의 오류를 검출하는 과정에서, 데이터 추정부(130)는 (k+1) 번째 데이터 페이지 내지 m번째 데이터 페이지의 데이터를 추정할 수 있다. 오류 검출부(120)는 (k+1) 번째 데이터 페이지 내지 m번째 데이터 페이지의 오류를 검출하는 과정에서 데이터 추정부(130)에 의해 추정된 데이터를 이용할 수 있다.
오류 검출부(120)는 ECC 디코더(421) 및 출력부(420)를 포함한다.
ECC 디코더(421)는 읽은 제1 데이터 페이지를 ECC 디코드하여 읽은 제1 데이터 페이지의 오류 비트를 검출한다. ECC 디코더(421)는 순환 코드(cyclic codes)를 이용하는 ECC 디코딩 기법을 이용하여 읽은 제1 데이터 페이지의 오류 비트의 개수 및 오류 비트의 위치를 검출한다.
ECC 디코더(421)는 검출된 오류 비트를 정정하고, 오류가 정정된(error-corrected) 제1 데이터 페이지를 출력부(422)로 전달한다.
출력부(422)는 오류가 정정된 제1 데이터 페이지를 출력할 수 있다.
ECC 디코더(421)는 검출된 오류 비트의 위치를 추정부(430)로 전달한다.
ECC 디코더(421)는 추정부(430)에 의해 추정된 데이터를 이용하여 제2 데이터 페이지를 ECC 디코드한다. 추정부(430)에 의해 추정된 데이터는 오류가 정정된 데이터로 간주될 수 있으므로, ECC 디코더(421)는 추정된 데이터에 상대적으로 높은 (1에 매우 가까운) LLR(Log Likelihood Ratio)를 할당하고, 제2 데이터 페이지를 ECC 디코드할 수 있다.
도 5는 멀티 비트 셀들의 문턱 전압이 변화되는 과정의 일 예를 도시하는 도면이다.
도 5를 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압을 나타내고, 세로축 은 해당 문턱 전압을 가지는 멀티 비트 셀들의 개수를 나타낸다.
특정 데이터가 저장된 멀티 비트 셀들은 산포(520)에 대응할 수 있다. 산포(520)에 대응하는 멀티 비트 셀들의 문턱 전압은 시간이 경과함에 따라 변화하거나 주변의 멀티 비트 셀들의 문턱 전압의 변화에 따라 변화할 수 있다.
멀티 비트 셀들의 문턱 전압이 시간이 경과함에 따라 낮아지는 경우에, 일정 시간이 경과한 후 멀티 비트 셀들의 문턱 전압은 산포(510)를 형성할 수 있다.
주변의 멀티 비트 셀들의 문턱 전압이 높아짐에 따라 (주변의 멀티 비트 셀들에 대한 프로그램 과정 등의 이유로) 멀티 비트 셀들의 문턱 전압이 높아지는 경우에 시간이 경과한 후 멀티 비트 셀들의 문턱 전압은 산포(530)를 형성할 수 있다.
시간이 경과함에 따라 멀티 비트 셀들의 문턱 전압이 낮아지는 현상은 전하 유실 (charge loss) 메커니즘에 의해 일어날 수 있다.
멀티 비트 셀은 제어 게이트(Control Gate, CG) 및 FG 사이에 절연체 (insulator) 층이 위치하고, FG 및 substrate 사이에도 절연체 층이 위치하는 구조를 가진다. 메모리 장치는 멀티 비트 셀의 CG 및 substrate 에 특정 전압을 인가하여 전하를 FG에 충전(charge)하거나 FG로부터 방전(discharge)할 수 있다. 전하가 FG에 충전 또는 FG로부터 방전되는 과정은 F-N 터널링 또는 핫 캐리어 효과 등의 메커니즘에 의해 수행될 수 있다. FG에 충전된 전하는 방전 조건이 갖추어지기 전에는 FG에 유지되어야 하지만, 자연적인 확산 현상에 의해 FG에 충전되어 있는 전하가 주위로 퍼져서, FG내의 전하가 줄어들거나, FG 주변의 절연체가 손상되어 전하의 누설 경로(leaking path)가 형성되면 FG에 충전된 전하가 유실될 수 있다.
일반적으로 FG에 충전된 전하가 유실되는 전하 유실 메커니즘은 멀티 비트 셀의 문턱 전압을 낮추는 경향이 있다.
중심 멀티 비트 셀의 문턱 전압이 주변의 멀티 비트 셀들의 문턱 전압의 변화량에 따라 영향 받는 현상은 FG 커플링 메커니즘(Floating Gate coupling, FG coupling)이라고 불릴 수 있다. 멀티 비트 셀들의 FG들 간의 기생 커패시턴스 (parasitic capacitance) 의 커플링으로 인해 중심 멀티 비트 셀의 문턱 전압이 영향 받는 현상이다.
만일, 프로그래밍 과정이 멀티 비트 셀의 문턱 전압을 높인다면, 중심 멀티 비트 셀의 문턱 전압은 FG 커플링에 의해 원하는 값보다 높아지게 된다.
FG 커플링과 같은 메커니즘에 의해, 멀티 비트 셀들의 문턱 전압의 산포는 확산되는 경향을 가진다. 일반적으로 FG 커플링에 의한 문턱 전압의 변화는 문턱 전압이 낮은 경우에 더 크게 나타난다는 사실이 알려져 있다.
멀티 비트 셀이 동작하는 전압 윈도우(voltage window)는 제한되어 있으므로, 문턱 전압의 산포가 확산될수록 서로 인접한 문턱 전압의 산포들간의 간격이 좁아져, 경계선이 오버랩될 가능성이 높아지게 된다. 문턱 전압의 산포가 겹치는 정도가 심할수록 멀티 비트 셀에 저장된 데이터를 정확하게 읽어내지 못하는 오류 비율(error rate)이 증가하게 된다.
도 6은 본 발명의 또 다른 실시예에 따른 메모리 장치(600)를 도시하는 도면이다.
도 6을 참조하면, 메모리 장치(600)는 멀티 비트 셀 어레이(610), 오류 검출부(620) 및 추정부(630)를 포함한다.
멀티 비트 셀 어레이(610)는 메모리 페이지(611) 외에도 복수의 메모리 페이지들(도시되지 않음)을 더 포함한다. 메모리 페이지(611)는 복수의 멀티 비트 셀들을 포함한다. 메모리 장치(600)는 메모리 페이지(611)의 멀티 비트 셀들에 저장된 데이터를 동시에 읽을 수 있다.
오류 검출부(620)는 메모리 페이지(611)로부터 데이터를 읽고, 읽은 데이터의 오류 비트를 검출한다.
추정부(630)는 검출된 오류 비트의 패턴에 기초하여 메모리 페이지(611) 내의 멀티 비트 셀들의 문턱 전압의 변화를 추정한다.
도 7은 도 6의 추정부(630)의 일 예를 도시하는 도면이다.
도 7을 참조하면, 추정부(630)는 문턱 전압 감지부(710), 범위 추정부(720) 및 연산부(730)를 포함한다.
문턱 전압 감지부(710)는 오류 검출부(620)에 의해 검출된 오류 비트를 저장하는 멀티 비트 셀을 식별할 수 있다. 문턱 전압 감지부(710)는 식별된 멀티 비트 셀의 문턱 전압 또는 문턱 전압의 범위를 감지할 수 있다.
실시예에 따라서는, 오류 검출부(620)가 메모리 페이지(611) 내의 멀티 비트 셀들에 저장된 데이터를 읽는 과정에서 상기 멀티 비트 셀들 각각의 문턱 전압이 감지될 수 있다. 이 때, 문턱 전압 감지부(710)는 새롭게 문턱 전압을 감지할 수도 있고, 또는 새롭게 문턱 전압을 감지하지 않고 오류 검출부(620)에 의해 감지된 문턱 전압을 이용할 수도 있다.
범위 추정부(720)는 오류 검출부(620)에 의해 검출된 오류 비트의 패턴에 기초하여 식별된 멀티 비트 셀의 정정된 문턱 전압의 범위를 추정할 수 있다.
범위 추정부(720)가 문턱 전압의 범위를 추정하는 과정은 도 3을 이용하여 설명될 수 있다. 도 3은 도 1의 데이터 추정부(130)의 동작을 도시하는 도면이지만, 범위 추정부(720)의 동작도 유사하게 설명될 수 있다.
오류 검출부(620)는 순환 코드(cyclic codes)를 이용하는 ECC(error control codes) 디코딩 기법 등에 의하여 동시에 읽은 데이터 중 오류 비트를 검출할 수 있다. 오류 검출부(620)는 메모리 페이지(611) 내의 멀티 비트 셀들에 저장된 데이터를 동시에 읽고, 읽은 데이터를 ECC 디코드할 수 있다. 순환 코드를 이용하는 ECC 디코딩 기법 중에서는 오류 비트의 개수 및 오류 비트의 위치를 알 수 있는 기법이 있다. 오류 검출부(620)는 읽은 데이터를 ECC 디코드하여 오류 비트를 정정할 수 있고, 정정된 비트의 개수 및 정정된 비트의 위치를 식별할 수 있다.
오류 검출부(620)는 전압 레벨(330)을 이용하여 메모리 페이지(611) 내의 멀티 비트 셀들에 저장된 MSB를 읽을 수 있다. 이 때, 오류 검출부(620) 또는 범위 추정부(720)는, "1"로 읽힌 비트 중 하나가 오류 비트로서 검출되면 상기 비트의 올바른 값은 "0"임을 알 수 있다.
검출된 오류 비트가 나타내는 사실은 MSB "0"을 저장하도록 프로그램된 멀티 비트 셀의 문턱 전압이 전압 레벨(330)보다 낮아졌다는 것이다. 문턱 전압 감지부(710)는 상기 검출된 오류 비트가 저장된 멀티 비트 셀을 식별할 수 있다. 이 경우, 문턱 전압 감지부(710)는 식별된 멀티 비트 셀의 현재 문턱 전압이 전압 레벨(330)보다 낮다고 판정할 수 있다. 실시예에 따라서는, 감지부(710)는 추가적인 읽기 동작을 수행하여 식별된 멀티 비트 셀의 문턱 전압을 감지할 수 있다. 실시예에 따라서는, 감지부(710)는 오류 검출부(620)가 메모리 페이지(611) 내의 멀티 비트 셀들에 저장된 모든 데이터 페이지들을 읽는 과정에서 얻어진 문턱 전압 정보를 이용하여, 식별된 멀티 비트 셀의 문턱 전압을 알 수 있다.
범위 추정부(720)는 식별된 멀티 비트 셀이 전압 레벨(330)보다 높은 문턱 전압을 가지도록 프로그램되었으나, 시간이 경과함에 따라 식별된 멀티 비트 셀의 문턱 전압이 낮아져 현재는 식별된 멀티 비트 셀이 전압 레벨(330)보다 낮은 문턱 전압을 가지고 있다는 사실에 기초하여 식별된 멀티 비트 셀의 프로그램 당시의 문턱 전압의 범위를 추정할 수 있다.
산포(316)에 대응하도록 프로그램된 멀티 비트 셀의 문턱 전압이 시간이 경과함에 따라 전압 레벨(330)보다 낮아질 확률은 산포(315)에 대응하도록 프로그램된 멀티 비트 셀의 문턱 전압이 시간이 경과함에 따라 전압 레벨(330)보다 낮아질 확률에 비해 무시할 만큼 작을 수 있다.
범위 추정부(720)는 식별된 멀티 비트 셀의 프로그램된 때의 문턱 전압이 산포(315)의 범위에 포함되었을 것이라고 추정할 수 있다. 즉, 범위 추정부(720)는 식별된 멀티 비트 셀의 프로그램된 때의 문턱 전압의 범위를 산포(315)의 범위로 추정할 수 있다.
연산부(730)는 문턱 전압 감지부(710)에 의해 감지된 문턱 전압(식별된 멀티 비트 셀의 문턱 전압) 및 범위 추정부(720)에 의해 추정된 문턱 전압의 범위의 차이를 연산하고, 연산된 결과로부터 식별된 멀티 비트 셀의 문턱 전압의 변화를 추정할 수 있다.
또는, 연산부(720)는 멀티 비트 셀 어레이(610) 내의 멀티 비트 셀들 중 MSB를 읽는 과정에서 오류 비트로 검출된 MSB "1"의 비율로부터 멀티 비트 셀 어레이(610) 내의 멀티 비트 셀들의 문턱 전압의 변화 경향을 추정할 수 있다.
이 때, 메모리 장치(600)는 멀티 비트 셀들의 문턱 전압의 변화 경향을 추정함에 있어 부가적인 데이터 저장 영역 등의 오버헤드를 필요로 하지 않을 수 있다.
도 6의 메모리 장치(600)는 멀티 비트 셀 어레이(610)를 포함하고 있으나, 본 발명의 실시예들은 멀티 비트 셀을 이용하는 메모리에만 국한되지 않고 싱글 비트 셀을 이용하는 메모리에도 적용될 수 있다.
도 8은 본 발명의 일 실시예에 따른 메모리 데이터 읽기 방법을 도시하는 동작 흐름도이다.
도 8을 참조하면, 메모리 데이터 읽기 방법은 멀티 비트 셀 어레이 내의 메모리 페이지로부터 제1 데이터 페이지를 읽는다(S810).
메모리 데이터 읽기 방법은 읽은 제1 데이터 페이지의 오류 비트를 검출한다(S820).
메모리 데이터 읽기 방법은 검출된 오류 비트가 저장된 멀티 비트 셀을 식별한다(S830).
메모리 데이터 읽기 방법은 제2 데이터 페이지 중 식별된 멀티 비트 셀에 저 장된 데이터를 추정한다(S840).
단계(S840)는 검출된 오류 비트의 오류 패턴에 기초하여 제2 데이터 페이지 중 식별된 멀티 비트 셀에 저장된 데이터를 추정할 수 있다.
단계(S840)는 멀티 비트 셀 어레이 내의 멀티 비트 셀들의 문턱 전압과 데이터의 매핑 관계에 기초하여 제2 데이터 페이지 중 식별된 멀티 비트 셀에 저장된 데이터를 추정할 수 있다.
메모리 데이터 읽기 방법은 메모리 페이지로부터 제2 데이터 페이지를 읽는다(S850).
메모리 데이터 읽기 방법은 추정된 데이터를 이용하여, 단계(S850)에서 읽은 제2 데이터 페이지의 오류 비트를 검출한다(S860).
도 9는 본 발명의 다른 실시예에 따른 메모리 데이터 읽기 방법을 도시하는 동작 흐름도이다.
도 9를 참조하면, 메모리 데이터 읽기 방법은 멀티 비트 셀 어레이 내의 메모리 페이지로부터 제1 데이터 페이지를 읽는다(S910).
메모리 데이터 읽기 방법은 읽은 제1 데이터 페이지의 오류 비트를 검출한다(S920).
메모리 데이터 읽기 방법은 검출된 오류 비트의 개수가 오류 정정 가능 범위(또는 오류 정정 능력)을 초과하는지 여부를 판정한다(S930).
메모리 데이터 읽기 방법은 단계(S930)의 판정 결과 검출된 오류 비트의 개수가 오류 정정 가능 범위를 초과하면, 읽기 전압 레벨들을 조정한다(S940).
메모리 데이터 읽기 방법은 단계(S940)에서 조정된 읽기 전압 레벨들을 이용하여 제1 데이터 페이지를 추가적으로 더 읽는다(S910).
메모리 데이터 읽기 방법은 단계(S930)의 판정 결과 검출된 오류 비트의 개수가 오류 정정 가능 범위를 초과하지 않으면, 검출된 오류 비트의 패턴에 기초하여 메모리 페이지의 멀티 비트 셀들의 문턱 전압의 변화 경향을 추정한다(S950).
메모리 데이터 읽기 방법은 검출된 오류 비트가 저장된 멀티 비트 셀을 식별한다(S960).
메모리 데이터 읽기 방법은 제2 데이터 페이지 중 식별된 멀티 비트 셀에 저장된 데이터를 추정한다(S970).
본 발명에 따른 메모리 데이터 읽기 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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는 데이터 추정부(130)의 데이터 추정 과정의 일 예를 도시하는 도면이다.
도 3은 데이터 추정부(130)의 데이터 추정 과정의 다른 예를 도시하는 도면이다.
도 4는 본 발명의 다른 실시예에 따른 메모리 장치(400)를 도시하는 도면이다.
도 5는 멀티 비트 셀들의 문턱 전압이 변화되는 과정의 일 예를 도시하는 도면이다.
도 6은 본 발명의 또 다른 실시예에 따른 메모리 장치(600)를 도시하는 도면이다.
도 7은 도 6의 추정부(630)의 일 예를 도시하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 메모리 데이터 읽기 방법을 도시하는 동작 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 메모리 데이터 읽기 방법을 도시하는 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 멀티 비트 셀 어레이
111: 메모리 페이지
120: 오류 검출부
130: 데이터 추정부
Claims (14)
- 멀티 비트 셀 어레이;상기 멀티 비트 셀 어레이 내의 메모리 페이지로부터 제1 데이터 페이지를 읽고, 상기 읽은 제1 데이터 페이지의 오류 비트를 검출하는 오류 검출부; 및상기 오류 비트가 저장된 멀티 비트 셀의 위치를 식별하고, 상기 식별된 위치의 멀티 비트 셀에 저장된 데이터 중 제2 데이터 페이지에 포함되는 데이터를 추정하는 추정부를 포함하는 메모리 장치.
- 제1항에 있어서,상기 추정부는상기 오류 비트의 오류 패턴 및 상기 멀티 비트 셀 어레이 내의 멀티 비트 셀들의 문턱 전압과 데이터의 매핑 관계에 기초하여 상기 식별된 멀티 비트 셀에 저장된 상기 제2 데이터 페이지의 데이터를 추정하는 메모리 장치.
- 제1항에 있어서,상기 오류 검출부는상기 읽은 제1 데이터 페이지를 오류 제어 코드(ECC) 디코드하여 상기 오류 비트를 검출하는 메모리 장치.
- 제1항에 있어서,상기 오류 검출부는상기 메모리 페이지로부터 상기 제2 데이터 페이지를 읽고, 상기 추정부에 의해 추정된 데이터를 이용하여 상기 읽은 제2 데이터 페이지의 오류 비트를 검출하는 메모리 장치.
- 제1항에 있어서,상기 오류 검출부는상기 검출된 오류 비트의 개수가 오류 정정 능력을 초과하는 경우 읽기 전압 레벨들을 조정하여 추가로 상기 메모리 페이지로부터 데이터를 읽는 메모리 장치.
- 삭제
- 삭제
- 삭제
- 멀티 비트 셀 어레이 내의 메모리 페이지로부터 제1 데이터 페이지를 읽는 단계;상기 읽은 제1 데이터 페이지의 오류 비트를 검출하는 단계;상기 검출된 오류 비트가 저장된 멀티 비트 셀의 위치를 식별하는 단계;상기 식별된 위치의 멀티 비트 셀에 저장된 데이터 중 제2 데이터 페이지에 포함된 데이터를 추정하는 단계;를 포함하는 메모리 데이터 읽기 방법.
- 제9항에 있어서,상기 추정하는 단계는 상기 검출된 오류 비트의 오류 패턴 및 상기 멀티 비트 셀 어레이 내의 멀티 비트 셀들의 문턱 전압과 데이터의 매핑 관계에 기초하여 상기 식별된 멀티 비트 셀에 저장된 상기 제2 데이터 페이지의 데이터를 추정하는 메모리 데이터 읽기 방법.
- 제9항에 있어서,상기 메모리 페이지로부터 상기 제2 데이터 페이지를 읽는 단계; 및상기 추정된 데이터를 이용하여 상기 읽은 제2 데이터 페이지의 오류 비트를 검출하는 단계를 더 포함하는 메모리 데이터 읽기 방법.
- 제9항에 있어서,상기 검출된 오류 비트의 개수가 오류 정정 능력을 초과하는 경우 읽기 전압 레벨들을 조정하여 추가로 상기 메모리 페이지로부터 데이터를 읽는 단계를 더 포함하는 메모리 데이터 읽기 방법.
- 제9항에 있어서,상기 검출된 오류 비트의 오류 패턴에 기초하여 상기 메모리 페이지의 멀티 비트 셀들의 문턱 전압의 변화 경향을 추정하는 단계를 더 포함하는 메모리 데이터 읽기 방법.
- 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080015310A KR101434405B1 (ko) | 2008-02-20 | 2008-02-20 | 메모리 장치 및 메모리 데이터 읽기 방법 |
US12/216,744 US8239747B2 (en) | 2008-02-20 | 2008-07-10 | Nonvolatile memory devices that utilize error correction estimates to increase reliability of error detection and correction operations |
PCT/KR2008/004531 WO2009104843A1 (en) | 2008-02-20 | 2008-08-04 | Memory device and memory data reading method |
JP2010547549A JP5241860B2 (ja) | 2008-02-20 | 2008-08-04 | メモリ装置およびメモリデータ読み出し方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080015310A KR101434405B1 (ko) | 2008-02-20 | 2008-02-20 | 메모리 장치 및 메모리 데이터 읽기 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090090063A KR20090090063A (ko) | 2009-08-25 |
KR101434405B1 true KR101434405B1 (ko) | 2014-08-29 |
Family
ID=40956289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080015310A KR101434405B1 (ko) | 2008-02-20 | 2008-02-20 | 메모리 장치 및 메모리 데이터 읽기 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8239747B2 (ko) |
JP (1) | JP5241860B2 (ko) |
KR (1) | KR101434405B1 (ko) |
WO (1) | WO2009104843A1 (ko) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100907218B1 (ko) * | 2007-03-28 | 2009-07-10 | 삼성전자주식회사 | 읽기 레벨 제어 장치 및 그 방법 |
US8230300B2 (en) * | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
KR101378365B1 (ko) * | 2008-03-12 | 2014-03-28 | 삼성전자주식회사 | 하이브리드 메모리 데이터 검출 장치 및 방법 |
US8392779B2 (en) * | 2008-04-25 | 2013-03-05 | Qimonda Ag | Interface voltage adjustment based on error detection |
TW201005519A (en) * | 2008-07-16 | 2010-02-01 | Raydium Semiconductor Corp | Memory and pixel data storing method |
US7924614B2 (en) * | 2009-01-19 | 2011-04-12 | Macronix International Co., Ltd. | Memory and boundary searching method thereof |
KR101655306B1 (ko) | 2010-02-24 | 2016-09-07 | 삼성전자주식회사 | 메모리 시스템 및 그것의 액세스 방법 |
KR101201582B1 (ko) * | 2010-09-06 | 2012-11-14 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR101214285B1 (ko) * | 2010-12-30 | 2012-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US8631288B2 (en) | 2011-03-14 | 2014-01-14 | Micron Technology, Inc. | Methods, devices, and systems for data sensing in a memory system |
KR101941270B1 (ko) | 2012-01-03 | 2019-04-10 | 삼성전자주식회사 | 멀티-레벨 메모리 장치를 제어하는 메모리 제어기 및 그것의 에러 정정 방법 |
KR101892038B1 (ko) * | 2012-01-30 | 2018-08-27 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 독출 방법 |
KR102081581B1 (ko) * | 2012-11-02 | 2020-02-26 | 삼성전자 주식회사 | 메모리 장치 구동 방법 |
US9257203B2 (en) | 2012-12-06 | 2016-02-09 | Micron Technology, Inc. | Setting a default read signal based on error correction |
KR102123946B1 (ko) | 2012-12-28 | 2020-06-17 | 삼성전자주식회사 | 멀티 레벨 셀 메모리 장치 및 그것의 동작방법 |
US20150074492A1 (en) * | 2013-09-11 | 2015-03-12 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
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 |
KR102219293B1 (ko) * | 2014-07-28 | 2021-02-23 | 삼성전자 주식회사 | 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법 |
KR102188061B1 (ko) * | 2014-07-29 | 2020-12-07 | 삼성전자 주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법 |
KR102468751B1 (ko) * | 2018-05-09 | 2022-11-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN111383694A (zh) * | 2018-12-30 | 2020-07-07 | 北京兆易创新科技股份有限公司 | 非易失性存储器及其操作方法 |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
US11876532B1 (en) * | 2021-07-29 | 2024-01-16 | Marvell Asia Pte Ltd | Method and apparatus for determining bit-error rate in a data channel |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11317095A (ja) * | 1997-06-06 | 1999-11-16 | Nippon Steel Corp | 半導体記憶装置、その使用方法及びその読み出し方法並びに使用方法及び読み出し方法が記憶された記憶媒体 |
JP2001503181A (ja) | 1996-10-25 | 2001-03-06 | インテル・コーポレーション | エラー位置指定コードを用いて複数レベルセルメモリの訂正を行う方法および装置 |
US6704230B1 (en) | 2003-06-12 | 2004-03-09 | International Business Machines Corporation | Error detection and correction method and apparatus in a magnetoresistive random access memory |
US7639531B2 (en) | 2006-05-15 | 2009-12-29 | Apple Inc. | Dynamic cell bit resolution |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475693A (en) * | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
KR100266748B1 (ko) * | 1997-12-31 | 2000-10-02 | 윤종용 | 반도체 메모리 장치 및 그 장치의 에러 정정 방법 |
JP2000251484A (ja) | 1999-02-26 | 2000-09-14 | Sony Corp | 不揮発性半導体記憶装置 |
US6360347B1 (en) * | 1999-05-18 | 2002-03-19 | Advanced Micro Devices, Inc. | Error correction method for a memory device |
IT1321049B1 (it) * | 2000-11-07 | 2003-12-30 | St Microelectronics Srl | Metodo di costruzione di un codice a controllo dell'errore polivalenteper celle di memoria multilivello funzionanti a un numero variabile di |
JP2003100095A (ja) | 2001-09-21 | 2003-04-04 | Hitachi Ltd | 半導体集積回路装置 |
KR100577988B1 (ko) | 2003-12-24 | 2006-05-11 | 주식회사 포인칩스 | 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법 |
JP2005267676A (ja) | 2004-03-16 | 2005-09-29 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置 |
JP4991131B2 (ja) | 2005-08-12 | 2012-08-01 | 株式会社東芝 | 半導体記憶装置 |
JP4999921B2 (ja) * | 2006-05-12 | 2012-08-15 | アノビット テクノロジーズ リミテッド | メモリ素子用の歪み推定と誤り訂正符号化の組み合せ |
JP2008090451A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 記憶装置 |
KR101466698B1 (ko) * | 2008-02-19 | 2014-11-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 읽기 방법 |
-
2008
- 2008-02-20 KR KR1020080015310A patent/KR101434405B1/ko active IP Right Grant
- 2008-07-10 US US12/216,744 patent/US8239747B2/en active Active
- 2008-08-04 WO PCT/KR2008/004531 patent/WO2009104843A1/en active Application Filing
- 2008-08-04 JP JP2010547549A patent/JP5241860B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001503181A (ja) | 1996-10-25 | 2001-03-06 | インテル・コーポレーション | エラー位置指定コードを用いて複数レベルセルメモリの訂正を行う方法および装置 |
JPH11317095A (ja) * | 1997-06-06 | 1999-11-16 | Nippon Steel Corp | 半導体記憶装置、その使用方法及びその読み出し方法並びに使用方法及び読み出し方法が記憶された記憶媒体 |
US6704230B1 (en) | 2003-06-12 | 2004-03-09 | International Business Machines Corporation | Error detection and correction method and apparatus in a magnetoresistive random access memory |
US7639531B2 (en) | 2006-05-15 | 2009-12-29 | Apple Inc. | Dynamic cell bit resolution |
Also Published As
Publication number | Publication date |
---|---|
WO2009104843A1 (en) | 2009-08-27 |
US8239747B2 (en) | 2012-08-07 |
JP2011512612A (ja) | 2011-04-21 |
JP5241860B2 (ja) | 2013-07-17 |
US20090210776A1 (en) | 2009-08-20 |
KR20090090063A (ko) | 2009-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101434405B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101466698B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
US8560901B2 (en) | Apparatus, method and memory device for error correction by increasing or decreasing a read voltage and analyzing frequency information for a read error pattern | |
US8972775B2 (en) | Memory device and method of managing memory data error including determining verification voltages and changing threshold voltages based on a corrected error bit | |
US8200607B2 (en) | Memory devices and data decision methods | |
US8499217B2 (en) | Memory device and error control codes decoding method | |
KR101378349B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101414494B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101483190B1 (ko) | 메모리 시스템 및 그것의 데이터 처리 방법 | |
KR101528167B1 (ko) | 메모리 장치 및 메모리 데이터 판정 방법 | |
US8243511B2 (en) | Reuse of information from memory read operations | |
US9990247B2 (en) | Write mapping to mitigate hard errors via soft-decision decoding | |
US8301978B2 (en) | Memory device and method of storing data with error correction using codewords | |
US8589756B2 (en) | Semiconductor memory device, semiconductor memory system, and erasure correction method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180731 Year of fee payment: 5 |