KR101518199B1 - 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 - Google Patents

오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 Download PDF

Info

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
Application number
KR1020080048264A
Other languages
English (en)
Other versions
KR20090122060A (ko
Inventor
설광수
박성일
조경래
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080048264A priority Critical patent/KR101518199B1/ko
Priority to US12/453,813 priority patent/US8560901B2/en
Publication of KR20090122060A publication Critical patent/KR20090122060A/ko
Application granted granted Critical
Publication of KR101518199B1 publication Critical patent/KR101518199B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1072Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects
    • G11C2211/5634Reference cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Abstract

오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리 장치가 제공된다. 본 발명의 에러 정정 장치는 멀티 레벨 셀(MLC, Multi-Level Cell)로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지를 판단하는 판단부, 상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키는 판독 전압 제어부, 및 상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 선정된 판독 에러 패턴을 기반으로 코드 워드를 선택하는 코드 워드 결정부를 포함할 수 있고, 이를 통해 메모리 장치의 데이터를 장기간 유지하였을 경우 발생할 수 있는 판독 에러를 효율적으로 정정할 수 있다.
멀티 비트 셀, 멀티 레벨 셀, 측면 전계, 측면 전하 이동, 전하 트랩형 플래시

Description

오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리 장치{ERROR CORRECTION APPARATUS, METHOD THERE-OF AND MEMORY DEVICE COMPRISING THE APPARATUS}
본 발명은 메모리 장치의 데이터의 판독 오류를 정정하는 방법에 관한 것으로, 보다 상세하게는 멀티 레벨 셀(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)

  1. 멀티 레벨 셀(MLC, Multi-Level Cell)로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하는 지를 판단하는 판단부;
    상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키는 판독 전압 제어부; 및
    상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 선정된 판독 에러 패턴을 기반으로 코드 워드를 선택하는 코드 워드 결정부
    를 포함하고,
    상기 코드 워드 결정부는
    상기 판독 에러 패턴에 대한 빈도 정보를 분석하고, 상기 분석된 빈도 정보가 최대인 상기 판독 에러 패턴을 포함하는 상기 코드 워드를 선택하는 것을 특징으로 하는 에러 정정 장치.
  2. 제1항에 있어서,
    상기 코드 워드 결정부는
    상기 분석된 비트 에러에 대한 비트 에러 수의 증감이 없는 경우에, 상기 판독 에러 패턴을 기반으로 상기 코드 워드를 선택하는 것을 특징으로 하는 에러 정정 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 코드 워드 결정부는
    상기 판독 워드 및 상기 코드 워드와의 해밍 거리(hamming distance)를 분석하고, 상기 분석된 해밍 거리가 최소인 상기 코드 워드를 선택하고,
    상기 멀티 레벨 셀은 인코딩 전 데이터가 포함하는 상기 판독 에러 패턴의 비중(weight)에 대한 에러 패턴 정보를 저장하고,
    상기 코드 워드 결정부는 상기 에러 패턴 정보 및 상기 분석된 해밍 거리를 기반으로 상기 코드 워드를 선택하는 것을 특징으로 하는 에러 정정 장치.
  5. 삭제
  6. 제1항에 있어서,
    상기 판독 에러 패턴은
    상기 멀티 레벨 셀의 인접 셀 간의 데이터 저장 패턴에 대응하여 발생하는 데이터 에러 패턴을 포함하는 것을 특징으로 하는 에러 정정 장치.
  7. 제1항에 있어서,
    상기 판독 에러 패턴은
    상기 멀티 레벨 셀의 인접 셀 간의 측면 전계(lateral electric field)에 의해 발생하는 데이터 에러 패턴을 포함하고,
    상기 데이터 에러 패턴은 상기 측면 전계에 의한 측면 전하 이동으로 인한 상기 멀티 레벨 셀의 문턱 전압 변화에 대응한 것이고,
    상기 코드 워드 결정부는 상기 데이터 에러 패턴을 포함하는 상기 코드 워드를 선택하는 것을 특징으로 하는 에러 정정 장치.
  8. 삭제
  9. 제1항에 있어서,
    상기 에러 정정 장치는
    상기 선택된 코드 워드를 디코딩하는 디코딩부
    를 더 포함하는 에러 정정 장치.
  10. 복수의 멀티 레벨 셀(MLC, Multi-Level Cell)을 포함하는 멀티 레벨 셀 어레이;
    상기 멀티 레벨 셀로부터 독출된 판독 워드가 오류 정정 능력 범위에 존재하지 아니한 경우의 비트 에러를 분석하여 선정된 판독 에러 패턴을 기반으로 상기 판독 워드에 대한 코드 워드를 선택하여 디코딩하는 에러 정정부; 및
    상기 디코딩된 코드 워드를 호스트로 전송하는 호스트 인터페이스
    를 포함하고,
    상기 에러 정정부는
    상기 독출된 판독 워드가 상기 오류 정정 능력 범위에 존재하는 지를 판단하는 판단부;
    상기 판독 워드가 상기 오류 정정 능력 범위에 존재하지 아니한 경우에 상기 멀티 레벨 셀에 인가하는 판독 전압을 증감시키는 판독 전압 제어부; 및
    상기 판독 전압의 증감에 따른 비트 에러를 분석하고, 상기 분석된 비트 에러에 대응하여, 상기 판독 에러 패턴을 기반으로 상기 코드 워드를 선택하는 코드 워드 결정부
    를 포함하며,
    상기 코드 워드 결정부는
    상기 판독 에러 패턴에 대한 빈도 정보를 분석하고, 상기 분석된 빈도 정보가 최대인 상기 판독 에러 패턴을 포함하는 상기 코드 워드를 선택하는 것을 특징으로 하는 메모리 장치.
  11. 삭제
  12. 제10항에 있어서,
    상기 메모리 장치는 전하 트랩형 플래시(CTF, Charge Trap Flash) 메모리 장치인 것을 특징으로 하는 메모리 장치.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
KR1020080048264A 2008-05-23 2008-05-23 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 KR101518199B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
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