KR101518199B1 - 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 - Google Patents
오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 Download PDFInfo
- Publication number
- KR101518199B1 KR101518199B1 KR1020080048264A KR20080048264A KR101518199B1 KR 101518199 B1 KR101518199 B1 KR 101518199B1 KR 1020080048264 A KR1020080048264 A KR 1020080048264A KR 20080048264 A KR20080048264 A KR 20080048264A KR 101518199 B1 KR101518199 B1 KR 101518199B1
- Authority
- KR
- South Korea
- Prior art keywords
- read
- error
- code word
- error pattern
- word
- 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/26—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
- 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/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
Abstract
오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리 장치가 제공된다. 본 발명의 에러 정정 장치는 멀티 레벨 셀(MLC, Multi-Level Cell)로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지를 판단하는 판단부, 상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키는 판독 전압 제어부, 및 상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 선정된 판독 에러 패턴을 기반으로 코드 워드를 선택하는 코드 워드 결정부를 포함할 수 있고, 이를 통해 메모리 장치의 데이터를 장기간 유지하였을 경우 발생할 수 있는 판독 에러를 효율적으로 정정할 수 있다.
멀티 비트 셀, 멀티 레벨 셀, 측면 전계, 측면 전하 이동, 전하 트랩형 플래시
Description
본 발명은 메모리 장치의 데이터의 판독 오류를 정정하는 방법에 관한 것으로, 보다 상세하게는 멀티 레벨 셀(Multi-level Cell, MLC) 또는 멀티 비트 셀(Multi-Bit Cell, MBC) 메모리 장치의 판독 데이터의 오류를 정정하는 장치 및 방법에 관한 것이다.
최근 메모리의 고집적화 요구에 응답하여 하나의 메모리 셀에 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)의 이용이 활발해지고 있다.
또한, 멀티 레벨 셀을 포함하는 전하 트랩형 메모리(Charge Trap Memory)의 경우 메모리 셀 내에 저장된 전하와 인접 셀 내에 저장된 전하 간의 정전기적 인력에 의한 전하의 측면 이동으로 인하여 데이터를 장기간 유지하였을 경우, 판독 에러를 효율적으로 정정할 수 있는 필요성이 있다.
본 발명의 실시예들에 따르면 멀티 레벨 셀로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하지 아니한 경우 선정된 판독 에러 패턴을 기반으로 상기 판독 워드에 대응하는 코드 워드를 선택할 수 있다.
본 발명의 실시예들에 따르면 판독 오류의 발생 확률이 높은 판독 에러 패턴 및 에러 제어 코드(ECC)를 병행하여 관리함으로써 인접 셀 간의 측면 전하 이동으로 인하여 발생할 수 있는 판독 에러(read error)를 효과적으로 정정할 수 있다.
본 발명의 일 실시예에 따른 에러 정정 장치는 멀티 레벨 셀(MLC, Multi-Level Cell)로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지를 판단하는 판단부, 상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키는 판독 전압 제어부, 및 상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 선정된 판독 에러 패턴을 기반으로 코드 워드를 선택하는 코드 워드 결정부를 포함할 수 있다.
본 발명의 다른 실시예에 따른 메모리 장치는 복수의 멀티 레벨 셀(MLC, Multi-Level Cell)을 포함하는 멀티 레벨 셀 어레이, 상기 멀티 레벨 셀로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하지 아니한 경우의 비트 에러를 분석하여 선정된 판독 에러 패턴을 기반으로 상기 판독 워드에 대한 코드 워드를 선택하여 디코딩하는 에러 정정부, 및 상기 디코딩된 코드 워드를 호스트로 전송하는 호스트 인터페이스를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 에러 정정 방법은 멀티 레벨 셀(MLC, Multi-Level Cell)로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지를 판단하는 단계, 상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키는 단계, 및 상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 선정된 판독 에러 패턴을 기반으로 코드 워드를 선택하는 단계를 포함할 수 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리 장치를 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치를 도시하는 것이다.
도 1을 참조하면, 메모리 장치(100)는 멀티 레벨 셀 어레이(110), 에러 정정부(120), 및 호스트 인터페이스(130)를 포함한다.
멀티 레벨 셀 어레이(110)는 복수의 멀티 레벨 셀(MLC, Multi-Level Cell)들 을 포함한다. 플래시 메모리(flash memory) 또는 EEPROM(Electrically Erasable and Programmable Read Only Memory) 등의 비휘발성 메모리(non-volatile memory)의 멀티 레벨 셀에 데이터를 저장하는 과정은 프로그램 과정이라고도 불리며, 멀티 레벨 셀의 문턱 전압을 변경하는 과정일 수 있다.
비휘발성 메모리의 멀티 레벨 셀에 데이터를 프로그램하는 과정은 F-N 터널링 (Fowler-Nordheim tunneling, F-N tunneling) 또는 핫 캐리어 이펙트(hot carrier effect) 등의 메커니즘을 이용하여 수행될 수 있다. F-N 터널링은 멀티 레벨 셀의 문턱 전압을 변화시킬 수 있다. 싱글 비트 셀은 낮은 문턱 전압 레벨 또는 높은 문턱 전압 레벨을 가질 수 있고, 상기 2개의 문턱 전압 레벨들을 이용하여 "0" 또는 "1"의 데이터를 표현할 수 있다.
또한, 전하 트랩형 플래시(CTF, Charge Trap Flash) 메모리인 경우, 멀티 레벨 셀 어레이(110)는 전하를 트랩할 수 있는 전하 트랩 사이트를 포함하는 절연층을 포함할 수 있다,
멀티 레벨 셀에서는 인접 셀 간에 전하 포텐셜 차이가 존재한다. 이러한 포텐셜 차이로 인하여 측면 전계가 발생하고, 멀티 레벨 셀의 전하 트랩층에 저장된 전하가 워드 라인(Word line) 방향으로 이동한다.,
전하 트랩층에 저장된 전하가 워드 라인 방향으로 이동하는 경우 프로그램된 셀의 문턱 전압은 점차 감소하게 되고, 저장된 데이터는 상실하게 될 수 있으며, 이로 인하여 메모리의 신뢰성은 저하된다.
실리콘 나이트라이드(Si3N4)와 같은 전하 트랩층에서는 전하가 이동하는 이 동도(mobility)는 전하 트랩층에 인가될 수 있는 전계(electric field)의 세기에 따라 비선형적으로 변화하고, 상기 전계의 세기가 크면 클수록 전하 이동도는 비선형적으로 증가한다.
구체적으로 4레벨(level)의 멀티레벨 (MLC)인 경우, 셀은 프로그램 상태로서 00 상태이거나 01 상태이거나 10 상태의 3 레벨을 가지며, 삭제 상태로서 11 상태를 갖는다. 또한, 프로그램 상태가 3개의 상태로 나누어져 있기 때문에, 프로그램 상태의 최대 문턱전압은 약 4.5V 를 갖게 되며, 삭제 상태로는 -2V 에서 -4V 의 상태를 포함할 수 있다. 이 경우 장시간 데이터를 보유할 시에, 셀에 저장된 전자의 대다수가 인접한 셀로 이동하여, 상기 데이터가 초기의 입력상태를 유지할 수 없다.
이러한, 데이터 판독 시 발생하는 오류를 정정하기 위하여, 에러 정정 코드(ECC, Error Correction Code)를 이용한다. 즉, 멀티 레벨 셀에 데이터를 저장하기 전에 최초의 데이터에 에러 정정 코드를 부가하는 과정을 ECC 인코딩이라 하고, 상기 멀티 레벨 셀로부터 독출한 데이터로부터 부가된 정보와 최초의 정보를 분리하여 최초의 정보를 복원하는 과정을 ECC 디코딩이라 한다.
ECC 디코더의 예에 따라서는 입력 코드워드의 오류 개수가 오류 정정 능력 이하이면 상기 입력 코드워드의 모든 오류를 정정할 수 있는 경우가 있다. 오류 정정 능력이 명시적으로 드러나는 코드로는 블록 코드(block codes) 등이 있다. 블록 코드의 예로는, BCH(Bose, Ray-Chaudhuri, Hocquenghem) 코드 또는 리드 솔로몬 (Reed-Solomon, RS) 코드 등이 있으며, 이에 대한 디코딩 기법으로 메 짓(Meggitt) 디코딩 기법, 벌레캠프메시(Berlekamp-Massey) 디코딩 기법, 유클리드(Euclid) 디코딩 기법 등이 있다.
그러나, 일반적인 ECC 디코딩 기법으로는 입력 코드워드의 오류 개수가 오류 정정 능력을 벗어날 경우에는 보다 정확하고 진정한 코드 워드의 선택이 불가능하다.
이를 위해 본 발명의 에러 정정부(120)는 멀티 레벨 셀로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하지 아니한 경우의 비트 에러를 분석하여 선정된 판독 에러 패턴을 기반으로 상기 판독 워드에 대한 코드 워드를 선택하여 디코딩한다.
호스트 인터페이스(130)는 디코딩된 코드 워드를 호스트(200)로 전송한다. 호스트(200)는 모바일 기기의 컨트롤러, 컴퓨터 장치의 컨트롤러 등을 포함한다. 호스트 인터페이스(130)는 호스트(200)와 멀티 레벨 셀 간의 인터페이스를 위한 제어 및 버퍼링 역할을 수행한다.
판독 에러 페턴은 상기 멀티 레벨 셀에 저장된 인접 셀 간의 데이터 저장 패턴에 대응하여 발생하는 데이터 에러 패턴을 포함한다.
또한, 판독 에러 패턴은 상기 멀티 레벨 셀의 인접 셀 간의 측면 전계(lateral electric field)에 의해 발생하는 데이터 에러 패턴을 포함할 수 있고, 상기 데이터 에러 패턴은 상기 측면 전계에 의한 측면 전하 이동으로 인한 상기 멀티 레벨 셀의 문턱 전압 변화에 대응될 수 있다.
이하에서는 도 2를 참고하여 본 발명의 에러 정정부(120)를 구체적으로 설명 하기로 한다.
도 2는 본 발명의 일실시예에 의한 에러 정정부의 구성을 도시한 블록도이다.
도 2를 참고하면, 에러 정정부(120)는 판단부(121), 판독전압 제어부(122), 및 코드 워드 결정부(123)를 포함한다.
판단부(121)는 멀티 레벨 셀(MLC, Multi-Level Cell)로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지를 판단한다.
판독 전압 제어부(122)는 상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시킨다.
코드 워드 결정부(123)는 상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 선정된 판독 에러 패턴을 기반으로 상기 판독 워드에 대한 코드 워드를 선택한다.
코드 워드 결정부(123)는 상기 분석된 비트 에러에 대한 비트 에러 수의 증감이 없는 경우에, 상기 판독 에러 패턴을 기반으로 상기 코드 워드를 선택한다.
실시예에 따라서는 코드 워드 결정부(123)는 상기 판독 에러 패턴에 대한 빈도 정보를 분석하고, 상기 분석된 빈도 정보가 최대인 상기 판독 에러 패턴을 포함하는 상기 코드 워드를 선택할 수 있다.
실시예에 따라서는 코드 워드 결정부(123)는 상기 판독 워드 및 상기 코드 워드와의 해밍 거리(hamming distance)를 분석하고, 상기 분석된 해밍 거리가 최소인 상기 코드 워드를 선택할 수 있다.
또한, 실시예에 따라서는 상기 멀티 레벨 셀은 인코딩 전 데이터가 포함하는 상기 판독 에러 패턴의 비중(weight)에 대한 에러 패턴 정보를 저장하고, 코드 워드 결정부(123)는 상기 에러 패턴 정보 및 분석된 해밍 거리를 기반으로 상기 코드 워드를 선택할 수 있다.
본 발명에서의 판독 에러 패턴은 멀티 레벨 셀의 인접 셀 간에 저장된 데이터에 대한 데이터 저장 패턴에 대응하여 발생하는 데이터 에러 패턴을 포함할 수 있다.
실시예에 따라서는 상기 판독 에러 패턴은 상기 멀티 레벨 셀의 인접 셀 간의 측면 전계(lateral electric field)에 의해 발생하는 데이터 에러 패턴을 포함할 수도 있다. 이 경우, 상기 데이터 에러 패턴은 상기 측면 전계에 의한 측면 전하 이동으로 인한 상기 멀티 레벨 셀의 문턱 전압 변화에 대응한 것이고, 코드 워드 결정부(123)는 상기 데이터 에러 패턴을 포함하는 상기 코드 워드를 선택할 수 있다.
본 발명의 에러 정정부(120)는 상기 선택된 코드 워드를 디코딩하는 디코딩부(124)를 더 포함할 수도 있다.
이하에서는 도 3을 참조하여 본 발명의 에러 정정부(120)의 동작을 구체적으로 설명하기로 한다.
도 3은 본 발명의 일실시예에 의한 도 1의 에러 정정부의 동작의 일 예를 도시한 것이다.
도 3을 참조하면, 멀티 레벨 셀들이 저장할 수 있는 2비트의 데이터 및 문턱 전압의 관계가 도시된다.
멀티 레벨 셀들의 문턱 전압의 산포(distribution)는 문턱 전압에 대응하는 멀티 레벨 셀들의 개수로 나타내어진다.
멀티 레벨 셀들 각각의 전기적 특성이 미세하게 다르기 때문에 멀티 레벨 셀들의 문턱 전압은 일정 범위를 가지는 산포를 형성할 수 있다.
산포(311)는 데이터 "11"이 저장된 멀티 레벨 셀들을 도시한 것이다.
산포(312)는 데이터 "10"이 저장된 멀티 레벨 셀들을 도시한 것이다.
산포(313)는 데이터 "00"이 저장된 멀티 레벨 셀들을 도시한 것이다.
산포(314)는 데이터 "01"이 저장된 멀티 레벨 셀들을 도시한 것이다.
메모리 장치(100)는 제2 읽기 전압 레벨(322)을 이용하여 메모리 페이지의 멀티 레벨 셀들에 저장된 MSB를 판정할 수 있다. 메모리 장치(100)는 제2 읽기 전압 레벨(322)보다 높은 문턱 전압을 가지는 멀티 레벨 셀들에 저장된 MSB를 "0"으로 판정하고, 제2 읽기 전압 레벨(322)보다 낮은 문턱 전압을 가지는 멀티 레벨 셀들에 저장된 MSB를 "1"로 판정할 수 있다.
메모리 장치(100)는 제1 읽기 전압 레벨(321) 및 제3 읽기 전압 레벨(323)을 이용하여 메모리 페이지의 멀티 레벨 셀들에 저장된 LSB를 판정할 수 있다. 메모리 장치(100)는 제1 읽기 전압 레벨(321)보다 낮은 문턱 전압을 가지는 멀티 레벨 셀들에 저장된 LSB를 "1"로 판정할 수 있다. 메모리 장치(100)는 제3 읽기 전압 레벨(323)보다 높은 문턱 전압을 가지는 멀티 레벨 셀들에 저장된 LSB를 "1"로 판정할 수 있다. 메모리 장치(100)는 제1 읽기 전압 레벨(321)보다 높고 제3 읽기 전 압 레벨(323)보다 낮은 문턱 전압을 가지는 멀티 레벨 셀들에 저장된 LSB를 "0"으로 판정할 수 있다.
상태(state)(315)는 식별된 멀티 레벨 셀의 문턱 전압이 데이터 프로그램 시에 산포(314)에 포함됨을 나타낸다. 이 때 상기 식별된 멀티 레벨 셀에 프로그램된 데이터는 "01"이다.
본 발명의 실시예에 따른 전하 트랩형 플래시 메모리 장치의 경우, 인접한 셀 간의 측면 전계(lateral electric field)로 인하여 멀티 레벨 셀에 저장된 전하가 측면 이동하여 문턱 전압가 감소 혹은 증가할 수 있는 문제가 발생할 수 있다. 즉, 셀에 가장 상위 레벨의 데이터, 즉 문턱 전압이 가장 높은 값을 갖는 상태가 저장되어 있고, 그 인접 셀에 가장 하위 레벨의 데이터, 즉 문턱 전압이 가장 낮은 값을 갖는 상태가 저장되어 있는 데이터 저장 패턴을 갖는 경우, 인접 셀 간의 측면 전위차가 최대가 될 것이고, 측면 전하 이동이 가장 활발하게 발생한다.
도 3의 경우, 멀티 레벨 셀의 인접 셀 간 데이터 저장 패턴이 문턱 전압이 가장 낮은 레벨인 " 11" 상태와 가장 높은 레벨인 "01" 상태로 이루어진 경우('110111' 또는 '011101') 측면 전하 이동이 가장 용이하게 발생한다.
화살표(340)는 측면 전계로 인하여 발생한 측면 전하 이동으로 인한 상기 식별된 멀티 레벨 셀의 문턱 전압의 변화를 나타낸다.
상태(335)는 데이터 독출 시에 상기 식별된 멀티 레벨 셀의 문턱 전압이 산포(333)에 포함됨을 나타낸다. 이 때 상기 식별된 멀티 레벨 셀로부터 읽힌 데이터는 "00"이다.
판독 전압 제어부(122)는 상기 멀티 레벨 셀로부터 독출된 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시킨다.
코드 워드 결정부(123)는 상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 상술한 데이터 저장 패턴을 포함하는 에러가 발생하기 쉬운 판독 에러 패턴을 기반으로 상기 판독 워드에 대한 코드 워드를 선택한다.
상술한 바와 같이 판독 에러 패턴은 멀티 레벨 셀의 인접 셀 간에 저장된 데이터에 대한 데이터 저장 패턴에 대응하여 발생하는 데이터 에러 패턴을 포함할 수 있고, 실시예에 따라서는 상기 멀티 레벨 셀의 인접 셀 간의 측면 전계(lateral electric field)에 의해 발생하는 데이터 에러 패턴을 포함할 수도 있다. 이 경우, 상기 데이터 에러 패턴은 상기 측면 전계에 의한 측면 전하 이동으로 인한 상기 멀티 레벨 셀의 문턱 전압 변화에 대응한 것이고, 코드 워드 결정부(123)는 상기 데이터 에러 패턴을 포함하는 상기 코드 워드를 선택할 수 있다
코드 워드 결정부(123)는 상기 분석된 비트 에러에 대한 비트 에러 수의 증감이 없는 경우에, 상기 판독 에러 패턴을 기반으로 상기 코드 워드를 선택한다.
실시예에 따라서는 코드 워드 결정부(123)는 상기 판독 에러 패턴에 대한 빈도 정보를 분석하고, 상기 분석된 빈도 정보가 최대인 상기 판독 에러 패턴을 포함하는 상기 코드 워드를 선택할 수 있다. 즉, 상기 판독 에러 패턴을 가장 많이 포함하고 있는 상기 코드 워드를 선택할 수 있다.
실시예에 따라서는 코드 워드 결정부(123)는 상기 판독 워드 및 상기 코드 워드와의 해밍 거리(hamming distance)를 분석하고, 상기 분석된 해밍 거리가 최소인 상기 코드 워드를 선택할 수 있다. 상기 해밍 거리는 같은 비트 수를 갖는 2진 부호 사이에 대응되는 비트값이 일치하지 않는 개수를 의미한다.
또한, 실시예에 따라서는 상기 멀티 레벨 셀은 인코딩 전 데이터가 포함하는 상기 판독 에러 패턴의 비중(weight)에 대한 에러 패턴 정보를 별도의 더미 셀(dummy cell)에 기록하고, 코드 워드 결정부(123)는 상기 에러 패턴 정보 및 분석된 해밍 거리를 기반으로 상기 코드 워드를 선택할 수 있다. 즉, 코드 워드 결정부(123)는 상기 판독 에러 패턴의 비중이 가장 높고, 상기 해밍 거리가 가장 최소인 코드 워드를 선택할 수 있다.
도 3의 실시예에서는 멀티 레벨 셀이 2비트의 데이터를 저장하는 경우가 도시되었으나 본 발명의 실시예는 멀티 레벨 셀이 m비트 ( m > 2 )의 데이터를 저장하는 경우에도 적용될 수 있다.
이하에서는 도 4 내지 도 5를 참조하여, 판독 워드가 오류 정정 능력 범위에 존재하지 아니한 경우의 에러 정정 방법을 구체적으로 설명하기로 한다.
도 4는 본 발명의 일실시예에 의한 판독 오류를 정정하는 방법을 도시한 흐름도이다.
도 4를 참조하면, 판독 오류 정정 방법은 멀티 레벨 셀로부터 독출한다(S410).
멀티 레벨 셀로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지 를 판단한다(S420)
이후, 상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키고, 상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 선정된 판독 에러 패턴을 기반으로 코드 워드를 선택한다(S430)
이하에서는 도 5a 내지 도 5c 를 참조하여, 단계(S430)을 구체적으로 설명하기로 한다.
도 5a는 본 발명의 일실시예에 따른 판독 에러 패턴을 고려한 코드 워드를 선택하여 오류를 정정하는 방법을 설명하기 위한 흐름도이다.
도 5a 를 참조하면, 단계(S420)에서 판독 워드가 오류 정정 능력 범위에 존재하지 아니한 경우, 판독 전압을 증가 또는 감소하여 변경한다(S421).
이후, 멀티 레벨 셀로부터 판독 워드를 재독출하고, 재독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지를 다시 판단한다(S423).
재독출된 판독 워드가 오류 정정 능력 범위에 존재하는 경우 단계(S440)으로 진행한다.
반면, 재독출된 판독 워드가 오류 정정 능력 범위에 존재하지 않는 경우에는 상기 멀티 레벨 셀에 인가되는 판독 전압이 임계 전압 이하인지를 판단한다(S424). 판독 전압이 임계 전압 이하가 아닌 경우에는 단계(S421)로 진행하여 다시 판독 전압을 변경하여 재독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지와, 상기 변경된 판독 전압이 임계 전압 이하인 지를 판단한다.
반면, 단계(S424)에서 판독 전압이 임계 전압 이하인 경우에는 비트 에러 수의 증감이 있는 지를 판단하여 비트 에러 수의 증감이 없는 경우에만 즉, 비트 에러 수가 최소인 경우에만 단계(S426)으로 진행한다(S425).
비트 에러 수의 증감이 있는 경우에는 판독 전압을 재변경하여 단계(S421) 내지 단계(S424)의 과정을 반복한다.
이후, 단계(S425)에서 비트 에러 수의 증감이 없고, 비트 에러 수가 최소인 경우에는 판독 에러 패턴에 대한 빈도 정보를 분석하고, 상기 빈도 정보가 최대인 코드 워드를 선택한다(S426). 즉, 판독 에러 패턴이 가장 많이 포함하고 있는 코드 워드가 다른 후보 코드 워드 대비 진정 코드 워드일 가능성이 높기 때문에 빈도 정보가 최대인 코드 워드를 선택한다.
도 5b는 본 발명의 다른 실시예에 따른 판독 에러 패턴을 고려한 코드 워드를 선택하여 오류를 정정하는 방법을 설명하기 위한 흐름도이다.
도 5b를 참조하면, 단계(S421) 내지 단계(S425)의 과정은 도 5a와 동일하므로 그 설명은 생략하기로 한다.
본 발명의 다른 실시예에 따른 판독 에러 패턴을 고려한 코드 워드를 선택하여 오류를 정정하는 방법은 단계(S427)에서 상기 재독출된 판독 워드 및 비트 에러와의 해밍 거리를 분석하고, 상기 해밍 거리가 최소이며, 판독 에러 패턴의 수가 최대인 경우의 상기 코드 워드를 선택한다.
도 5c는 본 발명의 또 다른 실시예에 따른 판독 에러 패턴을 고려한 코드 워드를 선택하여 오류를 정정하는 방법을 설명하기 위한 흐름도이다.
도 5c를 참조하면, 단계(S421) 내지 단계(S425)의 과정은 도 5a와 동일하므로 그 설명은 생략하기로 한다.
본 발명의 또 다른 실시예에 따른 판독 에러 패턴을 고려한 코드 워드를 선택하여 오류를 정정하는 방법은 단계(S428)에서 멀티 레벨 셀의 더미 셀(dummy cell)에 포함된 상기 판독 에러 패턴의 비중(weight)에 대한 에러 패턴 정보, 및 상기 재독출된 판독 워드와 비트 에러를 고려하여 분석된 해밍 거리를 기반으로 상기 코드 워드를 선택한다. 즉, 상기 해밍 거리가 최소인 코드 워드 군 중에서 상기 비중이 가장 큰 코드 워드를 선택할 수 있다. 또한, 상기 판독 에러 패턴의 비중은 상기 판독 에러 패턴의 빈도 정보를 포함할 수 있다.
다시 도 4를 참조하면, 단계(S420)에서 상기 판독 워드가 상기 오류 정정 능력 범위에 존재하는 경우, 상기 판독 워드에 대응하는 코드 워드를 디코딩하여 출력하고(S440), 또한, 단계(S430)에서 상기 판독 에러 패턴을 기반으로 선택된 코드 워드를 디코딩하여 출력한다(S440).
본 발명의 실시예들에 따른 에러 정정 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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은 본 발명의 일 실시예에 따른 메모리 장치를 도시하는 것이다.
도 2는 본 발명의 일실시예에 의한 에러 정정부의 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 의한 도 1의 에러 정정부의 동작의 일 예를 도시한 것이다.
도 4는 본 발명의 일실시예에 의한 판독 오류를 정정하는 방법을 도시한 흐름도이다.
도 5a는 본 발명의 일실시예에 따른 판독 에러 패턴을 고려한 코드 워드를 선택하여 오류를 정정하는 방법을 설명하기 위한 흐름도이다.
도 5b는 본 발명의 다른 실시예에 따른 판독 에러 패턴을 고려한 코드 워드를 선택하여 오류를 정정하는 방법을 설명하기 위한 흐름도이다.
도 5c는 본 발명의 또 다른 실시예에 따른 판독 에러 패턴을 고려한 코드 워드를 선택하여 오류를 정정하는 방법을 설명하기 위한 흐름도이다.
Claims (17)
- 멀티 레벨 셀(MLC, Multi-Level Cell)로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지를 판단하는 판단부;상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키는 판독 전압 제어부; 및상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 선정된 판독 에러 패턴을 기반으로 코드 워드를 선택하는 코드 워드 결정부를 포함하고,상기 코드 워드 결정부는상기 판독 에러 패턴에 대한 빈도 정보를 분석하고, 상기 분석된 빈도 정보가 최대인 상기 판독 에러 패턴을 포함하는 상기 코드 워드를 선택하는 것을 특징으로 하는 에러 정정 장치.
- 제1항에 있어서,상기 코드 워드 결정부는상기 분석된 비트 에러에 대한 비트 에러 수의 증감이 없는 경우에, 상기 판독 에러 패턴을 기반으로 상기 코드 워드를 선택하는 것을 특징으로 하는 에러 정정 장치.
- 삭제
- 제1항에 있어서,상기 코드 워드 결정부는상기 판독 워드 및 상기 코드 워드와의 해밍 거리(hamming distance)를 분석하고, 상기 분석된 해밍 거리가 최소인 상기 코드 워드를 선택하고,상기 멀티 레벨 셀은 인코딩 전 데이터가 포함하는 상기 판독 에러 패턴의 비중(weight)에 대한 에러 패턴 정보를 저장하고,상기 코드 워드 결정부는 상기 에러 패턴 정보 및 상기 분석된 해밍 거리를 기반으로 상기 코드 워드를 선택하는 것을 특징으로 하는 에러 정정 장치.
- 삭제
- 제1항에 있어서,상기 판독 에러 패턴은상기 멀티 레벨 셀의 인접 셀 간의 데이터 저장 패턴에 대응하여 발생하는 데이터 에러 패턴을 포함하는 것을 특징으로 하는 에러 정정 장치.
- 제1항에 있어서,상기 판독 에러 패턴은상기 멀티 레벨 셀의 인접 셀 간의 측면 전계(lateral electric field)에 의해 발생하는 데이터 에러 패턴을 포함하고,상기 데이터 에러 패턴은 상기 측면 전계에 의한 측면 전하 이동으로 인한 상기 멀티 레벨 셀의 문턱 전압 변화에 대응한 것이고,상기 코드 워드 결정부는 상기 데이터 에러 패턴을 포함하는 상기 코드 워드를 선택하는 것을 특징으로 하는 에러 정정 장치.
- 삭제
- 제1항에 있어서,상기 에러 정정 장치는상기 선택된 코드 워드를 디코딩하는 디코딩부를 더 포함하는 에러 정정 장치.
- 복수의 멀티 레벨 셀(MLC, Multi-Level Cell)을 포함하는 멀티 레벨 셀 어레이;상기 멀티 레벨 셀로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하지 아니한 경우의 비트 에러를 분석하여 선정된 판독 에러 패턴을 기반으로 상기 판독 워드에 대한 코드 워드를 선택하여 디코딩하는 에러 정정부; 및상기 디코딩된 코드 워드를 호스트로 전송하는 호스트 인터페이스를 포함하고,상기 에러 정정부는상기 독출된 판독 워드가 상기 오류 정정 능력 범위에 존재하는 지를 판단하는 판단부;상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키는 판독 전압 제어부; 및상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 상기 판독 에러 패턴을 기반으로 상기 코드 워드를 선택하는 코드 워드 결정부를 포함하며,상기 코드 워드 결정부는상기 판독 에러 패턴에 대한 빈도 정보를 분석하고, 상기 분석된 빈도 정보가 최대인 상기 판독 에러 패턴을 포함하는 상기 코드 워드를 선택하는 것을 특징으로 하는 메모리 장치.
- 삭제
- 제10항에 있어서,상기 메모리 장치는 전하 트랩형 플래시(CTF, Charge Trap Flash) 메모리 장치인 것을 특징으로 하는 메모리 장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080048264A KR101518199B1 (ko) | 2008-05-23 | 2008-05-23 | 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 |
US12/453,813 US8560901B2 (en) | 2008-05-23 | 2009-05-22 | Apparatus, method and memory device for error correction by increasing or decreasing a read voltage and analyzing frequency information for a read error pattern |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080048264A KR101518199B1 (ko) | 2008-05-23 | 2008-05-23 | 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090122060A KR20090122060A (ko) | 2009-11-26 |
KR101518199B1 true KR101518199B1 (ko) | 2015-05-06 |
Family
ID=41342987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080048264A KR101518199B1 (ko) | 2008-05-23 | 2008-05-23 | 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8560901B2 (ko) |
KR (1) | KR101518199B1 (ko) |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8619742B2 (en) * | 2006-10-31 | 2013-12-31 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for coding WCDMA MIMO CQI reports |
US8751755B2 (en) | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
KR101602316B1 (ko) * | 2009-02-09 | 2016-03-22 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 데이터 처리 방법 |
KR20120059506A (ko) * | 2009-08-25 | 2012-06-08 | 샌디스크 아이엘 엘티디 | 플래시 저장 디바이스로의 데이터 복원 |
WO2011024022A1 (en) | 2009-08-31 | 2011-03-03 | Sandisk Il Ltd. | Preloading data into a flash storage device |
DE112011100371B4 (de) * | 2010-01-28 | 2020-11-19 | International Business Machines Corporation | Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts |
US8407449B1 (en) | 2010-02-26 | 2013-03-26 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table |
US8576625B1 (en) | 2010-04-20 | 2013-11-05 | Marvell International Ltd. | Decoder parameter estimation using multiple memory reads |
KR20120064462A (ko) | 2010-12-09 | 2012-06-19 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템 |
US8665650B2 (en) * | 2011-02-18 | 2014-03-04 | Marvell World Trade Ltd. | Reliability metrics management for soft decoding |
US9047210B2 (en) | 2011-09-15 | 2015-06-02 | Sandisk Technologies Inc. | Data storage device and method to correct bit values using multiple read voltages |
US9058289B2 (en) | 2011-11-07 | 2015-06-16 | Sandisk Enterprise Ip Llc | Soft information generation for memory systems |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
JP5740296B2 (ja) | 2011-12-16 | 2015-06-24 | 株式会社東芝 | 半導体記憶装置、半導体記憶装置の制御方法、制御プログラム |
KR101919934B1 (ko) | 2012-04-19 | 2018-11-20 | 삼성전자주식회사 | 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법 및 극 부호화된 부호어를 불휘발성 메모리 장치의 멀티 비트 데이터에 매핑하는 매핑 패턴을 선택하는 매핑 패턴 선택 방법 |
KR20140012319A (ko) * | 2012-07-19 | 2014-02-03 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
KR101939234B1 (ko) | 2012-07-23 | 2019-01-16 | 삼성전자 주식회사 | 메모리 장치, 메모리 시스템 및 상기 메모리 장치의 독출 전압의 제어 방법 |
CN108595345B (zh) * | 2012-07-25 | 2021-11-23 | 慧荣科技股份有限公司 | 管理闪存中所储存的数据的方法及相关记忆装置与控制器 |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US8898548B1 (en) | 2012-08-24 | 2014-11-25 | Western Digital Technologies, Inc. | Methods, data storage devices and systems having variable size ECC page size |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9507523B1 (en) | 2012-10-12 | 2016-11-29 | Western Digital Technologies, Inc. | Methods, devices and systems for variable size logical page management in a solid state drive |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9400721B2 (en) | 2013-03-11 | 2016-07-26 | Seagate Technology Llc | Error correction code seeding |
US9262264B2 (en) * | 2013-03-11 | 2016-02-16 | Seagate Technology Llc | Error correction code seeding |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9367246B2 (en) * | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9147490B2 (en) * | 2013-03-15 | 2015-09-29 | Sandisk Technologies Inc. | System and method of determining reading voltages of a data storage device |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9270296B1 (en) | 2013-11-13 | 2016-02-23 | Western Digital Technologies, Inc. | Method and system for soft decoding through single read |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9007854B1 (en) | 2013-12-09 | 2015-04-14 | Western Digital Technologies, Inc. | Method and system for optimized soft decoding in a data storage device |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
GB2527318A (en) * | 2014-06-17 | 2015-12-23 | Ibm | Estimation of level-thresholds for memory cells |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9472270B2 (en) * | 2014-10-24 | 2016-10-18 | Sandisk Technologies Llc | Nonvolatile storage reflow detection |
KR102381218B1 (ko) * | 2015-09-25 | 2022-04-01 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10262728B2 (en) * | 2016-10-07 | 2019-04-16 | Samsung Electronics Co., Ltd. | Mapping bits to memory cells using sector spreading |
KR102648618B1 (ko) * | 2018-03-28 | 2024-03-19 | 에스케이하이닉스 주식회사 | 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템 |
US10839935B2 (en) * | 2019-02-05 | 2020-11-17 | International Business Machines Corporation | Dynamic redundancy for memory |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006245579A (ja) * | 2005-02-28 | 2006-09-14 | Infineon Technologies Ag | 電荷トラップメモリセルを有する半導体メモリとその形成方法 |
JP2007128577A (ja) * | 2005-11-01 | 2007-05-24 | Toshiba Corp | 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2839339B2 (ja) * | 1990-08-06 | 1998-12-16 | 松下電器産業株式会社 | 直交変換符号化装置および直交変換符号化方法 |
JP4467815B2 (ja) | 2001-02-26 | 2010-05-26 | 富士通マイクロエレクトロニクス株式会社 | 不揮発性半導体メモリの読み出し動作方法および不揮発性半導体メモリ |
WO2005017911A1 (en) | 2003-08-13 | 2005-02-24 | Koninklijke Philips Electronics N.V. | Improved erase and read schemes for charge trapping non-volatile memories |
US20060233279A1 (en) * | 2005-04-13 | 2006-10-19 | Ryder Brian D | System and method of adjusting output voltage of a transmitter based on error rate |
US20070047327A1 (en) * | 2005-08-31 | 2007-03-01 | Micron Technology, Inc. | Erase method for flash memory |
JP2007207343A (ja) | 2006-02-01 | 2007-08-16 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
US7511646B2 (en) * | 2006-05-15 | 2009-03-31 | Apple Inc. | Use of 8-bit or higher A/D for NAND cell value |
US7876621B2 (en) * | 2007-04-23 | 2011-01-25 | Sandisk Il Ltd. | Adaptive dynamic reading of flash memories |
US7460404B1 (en) * | 2007-05-07 | 2008-12-02 | Sandisk Corporation | Boosting for non-volatile storage using channel isolation switching |
KR20080102030A (ko) * | 2007-05-17 | 2008-11-24 | 삼성전자주식회사 | 플래시 메모리 소자, 그 제조 방법 및 동작 방법 |
KR100884234B1 (ko) * | 2007-05-25 | 2009-02-18 | 삼성전자주식회사 | 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법 |
KR100891005B1 (ko) * | 2007-06-28 | 2009-03-31 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법 |
-
2008
- 2008-05-23 KR KR1020080048264A patent/KR101518199B1/ko not_active IP Right Cessation
-
2009
- 2009-05-22 US US12/453,813 patent/US8560901B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006245579A (ja) * | 2005-02-28 | 2006-09-14 | Infineon Technologies Ag | 電荷トラップメモリセルを有する半導体メモリとその形成方法 |
JP2007128577A (ja) * | 2005-11-01 | 2007-05-24 | Toshiba Corp | 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム |
Also Published As
Publication number | Publication date |
---|---|
US8560901B2 (en) | 2013-10-15 |
KR20090122060A (ko) | 2009-11-26 |
US20090292972A1 (en) | 2009-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101518199B1 (ko) | 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 | |
KR101434405B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101436505B1 (ko) | 메모리 장치 | |
KR101403314B1 (ko) | 메모리 장치 및 데이터 비트 저장 방법 | |
KR101506655B1 (ko) | 메모리 장치 및 메모리 데이터 오류 관리 방법 | |
KR101425020B1 (ko) | 메모리 장치 및 데이터 판정 방법 | |
US9990247B2 (en) | Write mapping to mitigate hard errors via soft-decision decoding | |
KR101466698B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101386489B1 (ko) | 메모리 장치 및 멀티 비트 프로그래밍 방법 | |
US9553612B2 (en) | Decoding based on randomized hard decisions | |
US8589756B2 (en) | Semiconductor memory device, semiconductor memory system, and erasure correction method | |
KR20090117172A (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
KR101650123B1 (ko) | 페이지-기반 반복 복호 구조를 갖는 메모리 시스템 및 그것의 페이지-기반 반복 복호 방법 | |
CN107590018B (zh) | 译码方法、存储器控制电路单元及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |