KR20000052798A - 에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치 - Google Patents
에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치 Download PDFInfo
- Publication number
- KR20000052798A KR20000052798A KR1019990703616A KR19997003616A KR20000052798A KR 20000052798 A KR20000052798 A KR 20000052798A KR 1019990703616 A KR1019990703616 A KR 1019990703616A KR 19997003616 A KR19997003616 A KR 19997003616A KR 20000052798 A KR20000052798 A KR 20000052798A
- Authority
- KR
- South Korea
- Prior art keywords
- error
- data
- charge state
- multilevel cell
- bit
- Prior art date
Links
Classifications
-
- 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
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
방법 및 장치는 멀티레벨 셀 메모리(204)로부터 판독된 데이터를 정정한다. 멀티레벨 셀은 3개 이상의 전하 상태를 저장할 수 있다. 상기 멀티레벨 셀로부터 판독된 제 1 전하 상태는 에러인 것으로 결정된다. 만약 상기 멀티레벨 셀이 제 2 상태를 유지시키면 제공되는 것에 대응하는 출력이 제공되고, 상기 제 2 전하 상태는 상기 제 1 상태보다 더 많은 전하를 가진다.
Description
멀티레벨 셀 메모리는 멀티레벨 셀로 구성된다. 각 셀들은 다중 전하 상태 또는 레벨을 저장 할 수 있다. 각 전하 상태는 메모리 소자 비트 패턴과 관련있다.
도 1은 레벨(0 - 3)의 4개의 전하 상태를 저장하는 종래의 멀티레벨 셀을 도시한다. 레벨(3)은 레벨(2)보다 더 높은 전하를 유지하고, 레벨(2)는 레벨(1)보다 더 높은 전하를 유지하고, 레벨(1)은 레벨(0)보다 더 높은 전하를 유지한다. 기준 전압은 다양한 전하 상태들을 분리한다. Vref2는 레벨(3)과 레벨(2)을 분리한다. Vref1은 레벨(2)와 레벨(1)을 분리한다. Vref0는 레벨(1) 과 레벨(0)을 분리한다.
각 전하 상태는 관련된 메모리 소자 비트 패턴을 가진다. 일실시예로서, 메모리 비트(00)는 레벨(3)과 관련되고, 메모리 비트 패턴(10)은 레벨(2)과 관련되며, 메모리 비트 패턴(01)은 레벨(1)과 관련되고, 메모리 비트 패턴(11)은 레벨(0)과 관련된다.
멀티레벨 셀 메모리는 그 자신이 저장할 수 있는 전하 상태의 수에 의거하여 1비트 이상의 데이터를 저장할 수 있다. 가령, 4개의 전하 상태를 저장 할 수 있는 멀티레벨 셀 메모리는 2비트의 데이터를 저장 할 수 있고, 8개의 전하 상태를 저장 할 수 있는 멀티레벨 셀 메모리는 3비트의 데이터를 저장 할 수 있고, 16개의 전하 상태를 저장 할 수 있는 멀티레벨 셀 메모리는 4비트의 데이터를 저장 할 수 있다. 각각의 n비트 멀티레벨 셀 메모리들에 대해서, 다양한 메모리 소자 비트 패턴들은 각각의 다른 전하 상태들과 관련되도록 실시 되어질 수 있다.
그러나, 멀티레벨 셀에 저장할 수 있는 전하 상태들의 수는 2의 거듭제곱에 제한되어 있지 않다. 가령, 3개의 전하 상태를 가진 멀티레벨 셀은 1.5비트의 데이터를 저장 한다. 이 멀티레벨 셀이 추가 디코딩 로직과 결합되고 제 2 유사 멀티레벨 셀에 결합 될 때, 3비트의 데이터가 2개 셀의 조합의 결과로서 제공된다. 다른 다양한 멀티 셀 조합이 또한 가능하다.
멀티레벨 셀 메모리의 일예가 미국 특허번호 제 5,450,363 호에 설명되어 있고, Christopherson등에 의해 "Gray Coding for a Multilevel Cell Memory System"이라 칭해지고, 본 출원의 공동 양도인에게 양도했다. 상기 363특허는 멀티레벨 셀 메모리의 일 실시를 설명한다. 멀티레벨 셀 메모리는 EPROM, EEPROM 및 flash EPROM과 같은 DRAM 및 ROM의 다양한 유형에서 사용될 수 있다.
도 2는 프로세서(100) 및 멀티레벨 셀 메모리(104)의 종래기술의 설명을 도시한다. 프로세서(100)는 버스(102) 및 메모리(104)에 결합된다. 메모리(104)는 인터페이스 콘트롤러(105) 및 멀티레벨 셀 메모리 어레이(150)를 포함한다. 프로세서(100)는 버스(102)를 통해 인터페이스 콘트롤러(150)에 또한 결합된다. 인터페이스 콘트롤러(105)는 멀티레벨 셀 메모리 어레이(150)를 제어하기 위해 필요한 동작을 제공한다. 일실시예로, 인터페이스(105) 및 멀티레벨 셀 메모리 어레이(150)는 단일 직접회로 다이 상에 위치된다.
에러 코드
데이터는 전형적으로 특정의 메모리 어레이에 제공되고 소정의 비트 수를 포함한 유닛에 있는 메모리 어레이로부터 검색되며, 여기서 "데이터 워드"로 칭해진다. 상기 데이터가 메모리 어레이에 저장되면, 때때로 인코더가 에러 코드를 생성하기 위해서 사용된다. 상기 에러 코드는, 상기 에러 코드와 관련된 데이터 워드로 검색 될 수 있도록, 저장 될 수 있다. 종래기술에 공지된 바와 같이, 데이터 워드가 메모리 어레이로부터 검색되면, 에러 디코딩 회로는, 상기 메모리 어레이로부터 판독된 데이터 워드에서 발견된 에러를 검출, 위치지정 및/또는 정정하기위한 데이터 워드와 관련된 이전에 보관된 에러 코드를 사용한다.
에러 검출 코드, 에러 위치 지정코드 및 에러 정정 코드를 포함한, 다른 유형의 에러 코드가 있다. 에러 검출 코드는 에러의 발생 유무를 검출하지만, 에러를 정정할 수는 없다. 에러 위치지정 코드는 에러를 검출하고, 에러를 비트 블록으로 집중화 할 수 있지만, 비트 블록내에서 에러난 비트의 정확한 위치를 결정할 수 없다. 에러 정정 코드는 데이터 워드에서 단일 비트 에러를 검출하고 에러를 정정 할 수 있다. 에러 정정 코드의 한 유형인 해밍 코드는, 단일 비트 에러를 정정 할 수는 것 이외에도, 추가적으로 데이터 워드에서 더블 비트 에러를 검출(정정은 못함)할 수 있다.
한 그룹의 에러 위치지정 코드가, 1994년 11월, 정보 이론에 관한 IEEE 보고서의 제 40권, 제 6호에 있는, E.Fujiwara 및 M.Kitakami에 의한 "A Class of Error-Locating Codes for Byte-Organized Memory Systems" 에서 설명되고 있다. Fujiwara는 고장 허용 메모리 시스템에서 사용되는 에러 위치지정 코드를 설명한다. 에러가 메모리 블록에서 검출되면, 에러난 메모리 카드의 위치가 결정되고 보조카드로 바뀐다.
에러 위치지정 코드가, 정보 이론에 관한 1963년 4월, IEEE 보고서에 있는, Wolf 및 B.Elspas에 의한 "Error-Locating Codes A New Concept in Error Control" 에서 또한 설명된다.
발명의 요약
방법 및 장치는 메모리의 멀티레벨 셀로부터 판독된 데이터를 정정한다. 멀티레벨 셀은 3개 이상의 전하 상태를 저장 할 수 있다. 멀티레벨 셀로부터 판독된 제 1 전하 상태는 에러가 난 것으로 결정된다. 멀티레벨 셀이 제 2 전하 상태를 유지할 때 제공되는 것에 대응하여 출력이 제공되고, 여기서 상기 제 2 전하 상태는 상기 제 1 전하 상태이상의 전하를 가진다.
본 발명의 다른 특징 및 장점은 첨부된 도면 및 하기의 상세 설명으로부터 명백 할 것이다.
본 발명은 메모리 디바이스 분야에 관한 것이다. 특히, 본 발명은 멀티레벨 셀 메모리로부터 판독된 데이터의 에러를 정정하는 것에 관한 것이다.
도 1은 4개의 전하 상태를 저장하는 종래기술의 멀티레벨 셀의 설명도.
도 2는 종래기술의 프로세서 및 멀티레벨 셀 메모리의 설명도.
도 3은 본 발명에 도입된 프로세서 및 멀티레벨 셀 메모리의 설명도.
도 4는 메모리 어레이에 데이터를 프로그래밍(가령,기록)을 위해 사용된 에러 정정 회로의 실시도.
도 5는 메모리 어레이(250)로부터 데이터를 판독하기 위해 사용된 에러 정정 회로의 실시도.
도 6은 메모리 어레이에 기록 및 메모리 어레이로부터 판독을 위해 사용될 수 있는 데이터 버퍼, 및 에러 인코더 및 디코더(EED)를 포함한 에러 정정 회로의 실시도.
도 7은 메모리 어레이에 데이터를 기록하는 에러 정정 회로의 또 다른 실시도.
도 8은 메모리 어레이로부터 데이터를 판독하는 에러 정정 회로의 또 다른 실시도.
도 9는 데이터 워드가 멀티레벨 셀 메모리에 기록될 때 에러 정정 코드를 발생시키는 처리 흐름도.
도 10은 데이터 워드 및 이와 관련된 에러 위치지정 코드의 대표도.
도 11은 8비트 에러 위치지정 코드와 함께 이와 관련된 64비트 데이터 워드의 예시도.
도 12는 멀티레벨 셀 메모리로부터 데이터 워드를 판독할 때 에러 위치지정 코드에 의해 검출된 에러를 정정하는 처리 흐름도.
멀티레벨 셀 메모리에서 에러를 정정하는 방법 및 장치가 설명된다.
상기 방법은 한개 이상의 멀티레벨 셀로부터 판독된 데이터 워드에서 에러를 정정하기 위해서 에러 위치지정 코드를 사용한다. 에러 위치지정 코드는, 에러를 포함하지만 어떤 비트가 에러난 것이지를 식별하지 않는 데이터 워드내에서, 비트 블록을 지시한다. 비트 블록이 한개 이상의 멀티레벨 셀에 대응되기 때문에, 에러 위치지정코드는 에러난 멀티레벨 셀을 식별한다.
본 발명은 에러난 멀티레벨 셀의 식별을 사용하고, 이 사실로서 멀티레벨 셀의 주 고장 메카니즘이 전하 손실이라고 인식한다. 일단 특정 멀티레벨 셀이 부정확하게 판독된 것으로 식별되면, 멀티레벨 셀의 정확한 상태가, 멀티레벨 셀로부터 판독되었던 전하 상태보다 더 많은 전하를 갖는 전하 상태인 것이, 예측되어 질 수 있다.
Fujiwara(배경기술에서 언급)의 에러 위치지정 코드가 에러났던 메모리 블록을 검출하는데 사용되고 그 결과, 메모리 블록을 저장하는 메모리 카드의 기능이 억제되는 반면에, 본 발명은 고장을 정정하기 위해서 멀티레벨 셀의 고장 메카니즘을 사용한다. 멀티레벨 셀의 표준 고장 모드는 전하 손실에 의거하여 단 방향성이기 때문에, Fujiwara가 설명한 무작위 대신에, 본 발명은 에러난 멀티레벨 셀의 정확한 상태를 예측할 수 있다.
에러난 멀티레벨 셀의 정정은, 에러난 멀티레벨 셀이 다음의 더 높은 전하 상태에 있을 때, 취해졌던 값을 반영하기 위해서 에러난 멀티레벨 셀로부터 판독된 데이터를 수정함으로써, 얻어진다. 에러 위치지정 코드는, 상기 수정이 에러를 정정했는지 안했는지를 검사하기위해, 사용된다. 만약 에러난 멀티레벨 셀로부터 수정된 데이터가 여전히 부정확하다면, 상기 수정 프로세서는 다시 반복될 수 있다. 만약 다중 멀티레벨 셀들이 에러이면, 한 개의 멀티레벨 셀로부터의 데이터는 에러가 정정될 때까지 일정하게 유지될 수 있고, 그 나머지를 수정한다.
본 발명을 설명하는 동안, Fujiwara가 설명한 에러 위치지정 코드는 일 실시예로 언급된다. 그러나, 다른 알고리즘 및 다른 유형의 실시들이 에러난 멀티레벨 셀을 식별하기위해 또한 사용되어 질 수 있다.
도 3내지 도 9는 본 발명의 샘플 실시예를 도시한다. 도 3은 프로세서(200) 및 멀티레벨 셀 메모리(204)를 도시한다. 프로세서(200)는 버스(202)에 결합된다. 멀티레벨 셀 메모리(204)는 인터페이스 콘트롤러(205), 멀티레벨 셀 메모리 어레이(205) 및 에러 정정 회로(260)를 포함한다. 인터페이스 콘트롤러(205)는 멀티레벨 셀 메모리 어레이(250) 및 에러 정정 회로(260)를 제어하기위해 필요한 동작을 제공하도록 결합된다. 인터페이스 콘트롤러(205) 및 에러 정정 회로(260)는 버스(202)에 결합된다. 멀티레벨 셀 메모리 어레이(250)는 에러 정정 회로(260)에 결합된다. 프로세서(200)는 메로리(204)에 데이터를 기록하고 메모리(204)로부터 데이터를 판독한다.
일실시예로, 인터페이스 콘트롤러(205), 멀티레벨 셀 메모리 어레이(250) 및 에러 정정 회로(260)는 단일 직접회로 다이상에 위치결정된다. 또 다른 실시예로, 에러 정정 회로(260)는 메모리 어레이(250) 및 인터페이스 콘트롤러(205)로부터 분리된다. 가령, 에러 정정 회로는 분리 칩상에 주재한다.
도 4는 데이터를 메모리 어레이(250)에 프로그래밍( 가령, 기록)하기위해 사용되는 에러 정정 회로(260)의 일실시예를 도시한다. 에러 정정 회로(260)는 데이터 버퍼(302), 에러 버퍼(304) 및 에러 인코더(300)를 포함한다.
버스(202)는 데이터 버퍼 버스(308)를 통해 데이터 버퍼(302)에 결합된다. 데이터 버퍼(302)는 메모리 버스(312)를 통해 메모리 어레이(250)에 결합된다. 데이터 버퍼는 버스(314)를 통해 에러 인코더(300)에 결합된다. 에러 인코더(300)는 버스(316)를 통해 에러 버퍼(304)에 결합되고, 에러 버퍼(304)는 에러 버스(318)를 통해 메모리 어레이(250)에 결합된다.
데이터는 데이터 버퍼 버스(308)를 통해 데이터 버퍼(302)에 기록된다. 데이터 버퍼 버스(308)를 통한 각 데이터의 전송은 전형적으로 데이터 버퍼(302)의 폭의 일부이다. 가령, 데이터 버퍼 버스(308)는 8비트 또는 16비트 폭이 될 수 있고, 데이터 비트(302)는 64비트 폭이 될 수 있다.
데이터 버퍼(302)의 전체 폭이 버스(202)로부터의 데이터로 기록 되었을 때, 데이터 버퍼(302)에 있는 64비트 데이터 워드가 메모리 버스(312)를 통해 메모리 어레이(250)에 전송된다. 에러 인코더(300)는, 버스(314)를 통해 데이터 버퍼(302)로부터의 데이터 입력을 사용하여, 에러 버퍼(304)에 제공되는 에러 정정 코드를 생성한다. 에러 버퍼(304)는 버스(318)를 통해 에러 정정 코드를 메모리 어레이(250)에 제공한다.
본 발명의 일실시예로, 에러 인코더(300)는 에러 위치지정 코드를 생성하며, 상기 에러 위치지정 코드는 1994년 11월, 정보 이론에 관한 IEEE 보고서의 제 40권, 제 6호에 있는, E.Fujiwara 및 M.Kitakami에 의한 "A Class of Error Locating Codes for Byte-Organized Memory Systems" 에서 설명된 것과 같은 에러 정정 코드류이다. 에러 위치지정 코드는 데이터 워드내에서 한개 이상의 데이터 블록을 검출하지만, 에러난 블록의 정확한 비트를 지시하지 못한다. 또한, 에러 위치지정 코드는 단일 비트 에러를 검출 할 수 있다.
본 발명의 일 실시예로, 데이터 버퍼(302)에 의해 제공된 데이터 워드 및 에러 버퍼(304)에 의해 제공된 에러 코드는 연속적으로 메모리 어레이(250)에 저장된다. 또 다른 실시예로, 에러 코드는 이와 관련된 데이터 워드로부터 분리 저장 영역에 저장된다.
도 5는 메모리 어레이(250)로부터 데이터를 판독하기 위해 사용되는 에러 정정 회로(260)의 실시예를 도시한다. 에러 정정 회로(260)는 데이터 버퍼(320), 에러 버퍼(322) 및 에러 인코더 및 디코더(EED)(324)를 포함한다.
판독 동작 동안, 데이터 워드가 버스(330)를 통해 메모리 어레이(250)로부터 데이터 버퍼(320)로 제공된다. 유사하게, 데이터 워드와 관련된 에러 정정 코드가 에러 버퍼(322)에 제공된다. 일실시예로, 에러 정정 코드가 버스(322)를 통해 메모리 어레이(250)로부터 제공된다.
데이터 버퍼(320)는 버스(334)를 통해 데이터를 EED(324)로 제공하기위해 결합되어 있다. 에러 버퍼(322)는 버스(336)를 통해 에러 정정 코드를 EED(324)에 제공하기위해 결합되어 있다. EED(324)는, 데이터 버퍼(320) 및 에러 버퍼(322) 모두로부터 입력을 받자마자, 메모리 어레이로부터 판독되었던 데이터 워드에 에러 비트 유무를 결정한다. 만약 데이터 워드에 어떠한 에러 비트가 있다면, EED(324)는 에러난 비트를 정정하기위해 적당한 신호(340)를 표명하고, 상기는 도 11 및 도 12에 관해서 설명될 것이다. 신호(340)는 데이터 버퍼(320)의 데이터 비트의 어떠한 것이라도 개별적으로 변화시킨다. EED(324)는 더 이상 에러난 비트를 갖지 않는 마지막 데이터 값을 결정하기 전에 데이터 버퍼(320)에서 다양한 데이터 값을 반복적으로 시험할 필요가 있다. 데이터 버퍼(320)는 버스(338)를 통해 버스(202)로 결합된다.
도 6은 데이터 버퍼(350), 및 메모리 어레이(250)에 기록하고 메모리 어레이(250)로부터 판독하는데 사용되어 질 수 있는 에러 인코더 및 더코더(EED)를 포함한 에러 정정 회로(260)의 실시예를 도시한다. EED(354)는, 데이터 워드로부터 에러 위치지정 코드를 발생시키는 인코더 및 메모리 어레이로부터 판독할 때 데이터 워드를 정정하는데 사용되는 디코더를 포함한다.
도 7은 메모리 어레이(250)에 데이터를 기록하기위한 에러 정정 회로(260)의 또 다른 실시예를 도시한다. 그러나, 도 7의 에러 정정 회로(260)는 도 4의 데이터 버퍼 또는 에러 버퍼를 포함하지 않는다. 데이터 워드는 버스(380)를 통해 버스(202)로부터 메모리 어레이(250)로 제공된다. 데이터 워드가 버스(382)를 통해 인코더(384)에 입력으로서 또한 제공된다. 인코더(384)는 에러 위치지정 코드를 발생시키고 버스(386)를 통해 메모리 어레이(250)에 에러 위치지정 코드를 제공한다. 이 실시예는, 인코더(384)에 입력 데이터가 변화되기 전에 인코더(384)가 에러 정정 코드를 발생시킬 충분한 시간을 가질 때, 도입될 수 있다.
도 8은 메모리 어레이(250)로부터 데이터를 판독하기위해 에러 정정 회로(260)의 또 다른 실시예를 도시한다. 도 8의 에러 회로(260)는 도 5의 데이터 버퍼 또는 에러 버퍼를 포함하지 않는다.
데이터 워드는 신호선(388a-z)을 통해 메모리 어레이(250)로부터 에러 정정 회로(260)로 제공된다. 데이터 워드는 신호선(389a-z)을 통해 인코더(390)로 제공된다. 인코더는 데이터 워드를 재부호화하고 신호선(393a-m)으로 에러 정정 코드를 제공한다. 재부호화된 에러 정정 코드는 이전에 보관되었었고 신호선(392a-m)으로 제공된 에러 정정 코드와 비교된다. 가령, 이 비교는 XOR회로로 실행된다. 이 비교의 출력은 디코더(394)에 제공된다. 상기 디코더는 데이터 워드에서 검출된 에러를 정정하기위해 초기 신호(388a-z)를 수정할 수 있는 신호(396a-z)를 제공한다. 정정된 데이터 워드는 신호선(398)을 통해 버스(202)에 제공된다.
대체 실시예로, 도 7의 프로그래밍 회로 및 도 8의 판독 회로가 인코더를 공유하기위해 결합될 수 있다.
도 9는 데이터 워드가 멀티레벨 셀 메모리에 기록될 때 에러 정정 코드를 발생시키는데 있어서 취해진 단계를 보여주는 흐름도이다. 하기의 설명은 도 4의 프로그래밍 회로에 관해서이다. 이 흐름도는 블록(400)에서 시작되고, 여기서부터, 동작이 블록(402)에서 계속된다. 블록(402)에서, 데이터 버퍼(302)는 데이터 워드를 구성한 데이터로 채워져 있다. 데이터 버퍼(302)에 기록은, 데이터 버스 버퍼(308)가 일반적으로 데이터 버퍼(302)만큼 넓지 않기 때문에, 여러번의 버스 싸이클을 취할지도 모른다.
동작은 블록(404)에서 시작되고, 여기에서 데이터 워드 비트는 에러 위치지정 코드를 발생시키기위해 인코더(300)에 의해 처리된다. 블록(406)에서, 데이터 워드 및 에러 위치지정 코드는 멀티레벨 셀 메모리(204)에 저장된다. 동작은 블록(410)에서 종료된다.
도 10은 데이터 워드(420) 및 이와 관련된 에러 위치지정 코드(430)의 대표도이다. 에러 위치지정 코드(430)는, 데이터 워드(420)에서 에러난 비트군, 소위 "바이트"를 지시하는 포인트로 복호화된다.
일실시예로, 각 바이트는 정확히 단일 멀티레벨 셀에 대응된다, 즉, 각 바이트는 특정의 멀티레벨 셀에 저장된 비트 수로 구성되고, 각 바이트는 멀티레벨 셀 경계에 맞춤 되어 있다. 이 경우에, 에러 위치지정 코드가 에러난 바이트를 식별할 때, 에러난 멀티레벨 셀을 또한 식별한다. 멀티레벨 셀의 고장 메카니즘이 전하 손실에 의거하여 예측될 수 있기 때문에, 에러난 멀티레벨 셀의 정확한 상태가, 에러난 멀티레벨 셀로부터 판독된 전하 상태보다 더 많은 전하를 가진 전하 상태인 것으로 예측된다.
또 다른 실시예로, 에러난 바이트는 2개의 멀티레벨 셀과 오버랩한다. 즉, 바이트의 일부는 어느 하나의 멀티레벨 셀에 저장되고, 바이트의 일부는 또 다른 멀티레벨 셀에 저장된다. 상기는 바이트의 비트 수가 멀티레벨 셀에서 저장된 비트 수와 같지 않을 때, 또는 바이트가 멀티레벨 셀 경계에 대해 맞춤이 되어있지 않을 때, 발생할 수 있다. 2개의 멀티레벨 셀의 오버랩이 발생하면, 에러난 바이트와 관련된 하나 또는 두개 모두의 셀이, 2개의 멀티레벨 셀중의 하나 또는 두개 모두의 더 높은 전하 상태를 예측함으로써, 정정될 수 있다. 유사하게, 2개 이상의 멀티레벨 셀의 오버랩이, 하나 이상의 에러난 멀티레벨 셀의 더 높은 전하 상태를 예측함으로써, 정정 될 수 있다.
도 11은 64비트 데이터 워드(450)의, 이와 관련된 8비트 에러 위치지정 코드와 함께, 예를 도시한다. 에러 위치지정 코드(460)는 Fujiwara가 설명한 에러 위치지정 코드의 유형이다. 상기(460)는 에러난 n비트 바이트를 검출할 수 있다. 또한 상기(460)는 단일 비트 에러를 또한 검출할 수 있다. 도 11은 n=4 일 경우의 예를 도시한다. 데이터 워드는 2개의 32비트 블록으로 또한 나누어진다. 8비트 에러 위치지정 코드(460)는 32비트 블록의 각각에서 한개의 4비트 바이트 에러를 검출할 수 있다.
그러므로, 데이터 워드가 4비트 멀티레벨 셀 메모리(여기에서 각 셀은 16개의 전하 상태를 가짐)에 저장되면, 각각의 4비트 바이트는 특정의 멀티레벨 셀에 대응한다. 에러가 4비트 바이트중의 하나에서 검출되면, 4비트 바이트와 관련된 멀티레벨 셀로부터 판독된 데이터는 에러난 것이다. 에러 위치지정 코드를 사용하여, 에러난 멀티레벨 셀은 각 블록내에서 결정될 수 있다.
다중 에러난 멀티레벨 셀은 동일한 데이터 워드내에서 결정될 수 있으며, 이것은 데이터 워드(450)의 2개의 분리 4비트 바이트를 지시하는 에러 위치지정 코드(460)에 의해 도 11에 도시된다. 에러 정정의 정확도는, 이전에 언급된 E.Fujiwara 와 M.kitakami에 의한 IEEE 논문에서 설명된 것과 같이, 에러난 비트 및 n비트 바이트의 수에 의존하여 변화한다. n비트 바이트의 다양한 구성 및 m 비트 블록은, 에러 위치의 레벨 및 원하는 정정 성능을 얻기위해, 실시 될 수 있다.
에러 위치지정 코드는, 이 코드를 실행하는데 더 적은 비트가 필요하기때문에 에러 정정 코드보다 장점이 있다. 상기 사실은 비용 및 메모리 어레이의 크기를 감소시킨다. 비교컨대, 만약 8비트 해밍 코드(에러 정정 코드 유형)가 에러 위치지정 코드(460)의 위치에서 사용되면, 데이터 워드(450)에 있는 단일 비트 에러가 정정 될 수 있다. 만약 이중 비트 에러가 데이터 워드(450)에서 발생하면, 이중 비트 에러는 검출되나 해밍 코드에 의해서 정정 될 수 없다. 그래서 에러 위치지정 코드(460)는 에러 정정 해밍 코드 보다도 더 좋은 데이터의 에러 정정 방법을 제공한다.
멀티레벨 셀에 대한 유력한 고장 메카니즘으로 멀티레벨 셀이 전하를 손실하는 것이기 때문에, 에러난 멀티레벨 셀이 결정되면 에러난 멀티레벨 셀이 현재상태보다 더 높은 전하 레벨을 가짐을 예측하는 것이 가능하다.
도 12는 멀티레벨 셀 메모리로부터 데이터 워드를 판독할 때 에러 위치지정 코드에의해 검출된 에러 정정 처리 흐름도이다. 도 5의 판독 회로에 관해서 하기에 설명한다. 흐름도는 블록(500)에서 시작하고, 여기로부터 블록(502)에서 계속된다. 블록(502)에서, 데이터 워드 및 이와 관련된 에러 위치지정 코드는 멀티레벨 셀 메모리내에서 판독된다. 데이터 워드는 데이터 버퍼(302)에서 유지되고, 에러 위치지정 코드는 에러 버퍼(322)에서 유지된다.
블록(504)에서, 데이터 비트 및 에러 위치지정 코드는 데이터 워드에 에러가 있는지 없는지를 결정하기 위해 EED(324)를 통해 처리된다. EED(324)에 의해 실행되는 데이터 비트 및 에러 위치지정 코드의 처리는 공지의 회로에 의해 실시된다.
블록(506)에서, 어떠한 에러도 검출되지 않았다면, 동작은 블록(560)에서 계속되고, 여기에서 동작은 종료한다. 그러나 만약 에러가 검출되었다면, 동작은 블록(510)에서 계속된다.
블록(510)에서, 만약 EED(324)가 단일 비트 에러를 검출했다면, 동작은 블록(512)에서 계속되고, 여기에서 만약 EED(324)는 데이터 버퍼(320)의 적당한 비트 값을 바꾸는 신호선(340)들 중의 한개를 표명함으로써 데이터 버퍼(320)내의 단일 비트 에러를 정정한다. 블록(512)으로부터, 동작은 블록(560)에서 계속되고, 여기에서 동작은 종료한다.
그러나, 블록(510)에서 디코더가, 도 11에 관해서 설명되었던 4비트 바이트 에러와 같은 멀티 비트 바이트 에러를 검출했다면, 동작은 블록(520)에서 계속된다. 블록(520)에서, 데이터 워드의 일부를 저장한 한개 이상의 에러난 멀티레벨 셀이 결정된다. 이러한 에러난 멀티레벨 셀은 EED(324)에 의해 지시된다. 블록(522)에서, 에러난 셀(들)의 현재 전하 상태는 멀티레벨 셀에 관한 종래기술의 공지의 회로에 의해 검출된다. 블록(524)에서, 에러난 셀(들)에 대응한 메모리 소자 비트 패턴은 다음의 더 높은 전하 상태의 메모리 소자 비트 패턴으로 수정된다. 일 실시예로, 현재의 전하 상태로부터 다음의 직접적인 더 높은 전하 상태는 가장 가능한 정정 수단으로 예측된다. 또 다른 실시예로, 다음의 더 높은 전하 상태와 상이한 전하 상태가 더욱더 에러를 정정할 수 있을지도 모른다. 가령, 현저한 에러 모드로 멀티레벨 셀의 특정한 전하 상태가 두 상태를 스킵하는 것이 실험적으로 밝혀질 수 있다. 이 경우에 있어서, 에러는, 판독된 전하 상태로부터 다음의 더 높은 제 2 전하 상태가 가장 가능성 있는 정정 수단임을 예측함으로써, 정정될 수 있다. 유사하게, 만약 특정의 고장 모드가 멀티레벨 셀의 유일한 고장 모드라는 것이 밝혀지면, 정정 알고리즘은 단지 필요한 정정 수단을 취하기위해 적당히 실시된다.
블록(526)에서, 수정된 데이터 워드 및 에러 위치지정 코드는, 블록(524)에서 수행된 데이터 워드의 수정에 의해 에러가 정정되어졌는지를 알기위해, EED(324)를 통해 처리된다.
만약 더 높은 전하 상태로 다시 수정될 수 있는 에러난 멀티레벨 셀(들)과 관련된 에러 및 비트가 여전히 존재한다면, 동작은 블록(530)에서 블록(524)까지 계속된다. 그러나, 만약 더 높은 전하 상태로 수정될 수 없는 에러난 멀티레벨 셀과 관련된 메모리 소자 비트 패턴 및 에러가 여전히 존재하는 두 조건이 만족되면, 동작은 블록(540)에서 계속된다.
블록(540)에서, 데이터 워드에서 에러가 여전히 존재하면, 동작은 블록(550)에서 계속되고, 여기서 에러는 플래그된다. 프로세서(200) 또는 데이터 워드를 요구하는 다른 디바이스는 에러가 발생한 것을 알고 있다.
그러나, 블록(540)에서, 에러가 더이상 검출되지 않으면, 동작은 블록(560)에서 계속된다.
블록(560)에서, 흐름도는 종결한다. 데이터 버퍼(320)는 에러가 정정된 데이터 워드를 유지한다. 멀티레벨 셀 메모리의 일실시예에 있어서, 에러난 멀티레벨 셀은 데이터 버퍼(320)에서 유지된 정정된 데이터 워드로 재기록된다. 그러나, 다른 실시예들에 있어서, 메모리 어레이에 대한 정정은 되지 않는다. 이는 메모리 어레이에 다시 기록하기 위해서 추가 회로를 첨가시키는 복잡성 때문이다. 게다가, 플래시 메모리 실시예로, 일반적으로, 모든 블록은 이전에 플래시 메모리에 이미 기록된 데이터 워드를 재기록하기 위해서 소거되어져야만 한다.
상기 설명에서, 본 발명은 특정 실시예에 관해서 설명되어졌다. 그러나. 첨부된 청구항에서 설명된 본 발명의 더 넓은 사상 및 범위를 벗어나지 않고 다양한 수정과 변경이 일어 날 수 있음은 명백하다. 따라서 상세 설명 및 도면은 제한적 의미라기 보다는 예시적 의미로 간주되어져야한다.
Claims (16)
- 멀티레벨 셀이 3개 이상의 전하 상태를 저장 할 수 있고, 메모리의 상기 멀티레벨 셀로부터 데이터를 판독하는 방법에 있어서,(a) 멀티레벨 셀로부터 판독된 제 1 전하 상태가 에러임을 결정하는 단계; 및(b) 제 2 전하 상태를 유지하는 멀티레벨 셀에 대응하는 출력을 제공하는 단계를 포함하고,상기 제 2 전하 상태가 상기 제 1 전하 상태보다 더 많은 전하를 가지는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 멀티레벨 셀로부터 판독된 제 1 전하 상태가 에러임을 결정하는 단계(a)가 에러 코드를 사용함으로써 실행되는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 멀티레벨 셀로부터 판독된 제 1 전하 상태가 에러임을 결정하는 단계(a)가 에러 위치지정 코드를 사용함으로써 실행되는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 제 2 전하 상태가 상기 제 1 전하 상태보다 1개의 전하 상태를 더 가진 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 제 2 전하 상태가 상기 제 1 전하 상태보다 2개의 전하 상태를 더 가진 것을 특징으로 하는 방법.
- 멀티레벨 셀 각각이 1비트 이상의 데이터를 저장하고, 상기 멀티레벨 셀이 포함된 메모리로부터 데이터를 판독하는 방법에 있어서,(a) 한 세트의 멀티레벨 셀에 저장된 데이터 비트를 판독하는 단계;(b) 상기 데이터 비트와 관련된 에러 코드 비트를 판독하는 단계;(c) 상기 한 세트의 멀티레벨 셀로부터 판독된 상기 데이터 비트가 에러난 타겟 비트를 포함하는 것을 결정하기위해 상기 에러 코드 비트를 사용하는 단계; 및(d) 제 2 전하 상태를 유지하는 상기 타겟 멀티레벨 셀에 대응하는 상기 타겟 비트를 수정하는 단계를 포함하고,상기 타겟 비트는 타겟 멀티레벨 셀과 관련되고, 상기 타겟 비트가 상기 타겟 멀티레벨 셀이 제 1 전하 상태를 유지하는 것을 지시하고,상기 제 2 전하 상태가 상기 제 1 전하 상태보다 더 많은 전하를 유지하는 것을 특징으로하는 방법.
- 제 6 항에 있어서, 상기 에러 코드 비트는 에러 위치지정 비트임을 특징으로하는 방법.
- 제 6 항에 있어서,(e) 단계(d)에서 수정되었던 상기 타겟 비트가 여전히 에러인지를 결정하고, 만약 상기 타겟 비트가 여전히 에러라면 제 3 전하 상태를 유지하는 상기 타겟 멀티레벨 셀에 대응하는 상기 타겟 비트를 수정하는 단계를 더 포함하고,상기 제 3 전하 상태가 상기 제 2 전하 상태보다 더 많은 전하를 유지하는 것을 특징으로 하는 방법.
- 제 6항에 있어서, 타겟 비트는 제 2 타겟 멀티레벨 셀과 또한 관련되어 있고, 상기 타겟 비트가, 상기 제 2 타겟 멀티레벨 셀이 제 4 전하 상태를 유지하는 것을 지시하는 방법에 있어서,(e) 제 5 전하 상태를 유지하는 상기 제 2 타겟 멀티레벨 셀에 대응하는 상기 타겟 비트를 수정하는 단계를 더 포함하고,상기 제 5 전하 상태가 상기 제 4 전하 상태보다 더 많은 전하를 유지하는 것을 특징으로하는 방법.
- 멀티레벨 셀 메모리로부터 데이터를 판독하는 방법에 있어서,(a) 상기 멀티레벨 셀 메모리에서, 소정의 데이터 비트 수 및 소정의 에러 위치지정 비트 수를 포함한 코드 워드를 액세스하는 단계;(b) 제 1 전하 상태를 사실상 유지하는 제 1 멀티레벨 셀에 대응되는 소정 데이터 비트 수의 일부가 부정확함을 결정하기위해 에러 위치지정 비트를 사용하는 단계; 및(c) 상기 제 1 전하 상태보다 더 높은 전하 상태에 대응하기 위해 상기 제 1 멀티레벨 셀과 관련된 상기 소정의 데이터 비트 수의 일부를 수정하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서,(d) 단계(c)에서 수정되었던 상기 소정의 데이터 비트 수에서 에러를 검사하는 단계; 및(e) 상기 에러가 정정되기까지 다음의 더 높은 전하 상태에 대응하기 위해 상기 제 1 멀티레벨 셀에 관련된 상기 소정의 데이터 비트 수의 일부를 수정하는 단계를 더 포함하는 것을 특징으로하는 방법.
- 적어도 각각 2비트 데이터를 저장할 수 있는 복수의 멀티레벨 셀을 포함한 메모리 어레이; 및상기 메모리 어레이로부터 상기 데이터를 수신하기 위해 결합되어 있고, 상기 멀티레벨 셀중의 하나에 의해 제공된 에러난 메모리 소자 비트 패턴을 정정 할 수 있는 디코더를 포함하고 있으며, 상기 디코더가, 상기 에러난 메모리 소자 비트 패턴과 관련된 전하 상태에 의거하여 정확한 메모리 소자 비트 패턴을 예측하는, 에러 회로를 포함하는 것을 특징으로하는 회로.
- 제 12 항에 있어서, 상기 에러난 메모리 소자 비트 패턴을 저장할 수 있고,상기 데이터 버퍼내에 저장된 개별적 비트를 수정하는 상기 디코더로부터 입력을 허락하는 데이터 버퍼를 더 포함하고 있는 것을 특징으로 하는 회로.
- 적어도 2비트의 데이터를 저장할 수 있는 멀티레벨 셀;적어도 상기 멀티레벨 셀의 2비트의 데이터와 관련된 에러 위치지정 비트를 발생시키는 에러 코드 발생기; 및상기 멀티레벨 셀로부터 적어도 2비트의 데이터를 검색할 때, 에러 유무를 결정하는 에러 코드 디코더를 포함하는 것을 특징으로하는 메모리.
- 제 14 항에 있어서, 적어도 2비트의 데이터를 저장하는 상기 에러 코드 디코더에 결합되어 있고,자체내에 저장된 비트가 수정되도록 허락하는 데이터 버퍼를 더 포함하는 것을 특징으로 하는 메모리.
- 데이터 워드를 저장하고, 각각 3개 이상의 전하 상태를 저장 할 수 있는, 멀티레벨 셀의 어레이; 및에러난 멀티레벨 셀의 위치를 결정하기위해 상기 데이터 워드와 관련된 에러 위치지정 코드를 사용하는 제 1 회로; 및상기 에러난 멀티레벨 셀과 관련된 메모리 출력을 제공하고, 상기 메모리 출력은 상기 에러난 멀티레벨 셀로부터 판독된 전하 상태보다 더 높은 전하 상태에 대응하는, 제 2 회로를 포함한 에러 정정 회로를 포함하는 것을 특징으로하는 메모리.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/740,247 US5859858A (en) | 1996-10-25 | 1996-10-25 | Method and apparatus for correcting a multilevel cell memory by using error locating codes |
US08/740,247 | 1996-10-25 | ||
US8/740,247 | 1996-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000052798A true KR20000052798A (ko) | 2000-08-25 |
KR100331139B1 KR100331139B1 (ko) | 2002-04-01 |
Family
ID=24975669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019997003616A KR100331139B1 (ko) | 1996-10-25 | 1997-08-06 | 에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5859858A (ko) |
JP (1) | JP3982639B2 (ko) |
KR (1) | KR100331139B1 (ko) |
CN (1) | CN1113294C (ko) |
AU (1) | AU3911797A (ko) |
DE (2) | DE19782077B4 (ko) |
MY (1) | MY114049A (ko) |
TW (1) | TW368622B (ko) |
WO (1) | WO1998019241A1 (ko) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3165101B2 (ja) * | 1998-03-05 | 2001-05-14 | 日本電気アイシーマイコンシステム株式会社 | 多値式半導体メモリ装置およびその不良救済方法 |
US6532556B1 (en) | 2000-01-27 | 2003-03-11 | Multi Level Memory Technology | Data management for multi-bit-per-cell memories |
US6396744B1 (en) | 2000-04-25 | 2002-05-28 | Multi Level Memory Technology | Flash memory with dynamic refresh |
US7079422B1 (en) | 2000-04-25 | 2006-07-18 | Samsung Electronics Co., Ltd. | Periodic refresh operations for non-volatile multiple-bit-per-cell memory |
US6856568B1 (en) | 2000-04-25 | 2005-02-15 | Multi Level Memory Technology | Refresh operations that change address mappings in a non-volatile memory |
US6466476B1 (en) | 2001-01-18 | 2002-10-15 | Multi Level Memory Technology | Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell |
JP4437519B2 (ja) * | 2001-08-23 | 2010-03-24 | スパンション エルエルシー | 多値セルメモリ用のメモリコントローラ |
US6751766B2 (en) | 2002-05-20 | 2004-06-15 | Sandisk Corporation | Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data |
JP3935139B2 (ja) | 2002-11-29 | 2007-06-20 | 株式会社東芝 | 半導体記憶装置 |
ITMI20022669A1 (it) * | 2002-12-18 | 2004-06-19 | Simicroelectronics S R L | Struttura e metodo di rilevamento errori in un dispositivo |
US8848442B2 (en) * | 2006-03-06 | 2014-09-30 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7388781B2 (en) * | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
DE102006010820A1 (de) | 2006-03-07 | 2007-09-13 | Micronas Gmbh | Fehlerkorrektur- und Fehlererfassungs-Verfahren zum Auslesen von gespeicherten Informationsdaten und Speichersteuereinrichtung dafür |
US7945840B2 (en) * | 2007-02-12 | 2011-05-17 | Micron Technology, Inc. | Memory array error correction apparatus, systems, and methods |
US7633798B2 (en) * | 2007-11-21 | 2009-12-15 | Micron Technology, Inc. | M+N bit programming and M+L bit read for M bit memory cells |
KR101515122B1 (ko) * | 2008-02-15 | 2015-04-27 | 삼성전자주식회사 | 저장된 데이터의 오류에 기반하여 기준 전압을 제어하는 방법과 메모리 데이터 검출 장치 |
KR101434405B1 (ko) | 2008-02-20 | 2014-08-29 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 읽기 방법 |
KR101506655B1 (ko) * | 2008-05-15 | 2015-03-30 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 오류 관리 방법 |
US20100016675A1 (en) * | 2008-07-18 | 2010-01-21 | Cohen Jason C | Method of assessing a condition using sucking patterns |
KR101537018B1 (ko) * | 2008-10-01 | 2015-07-17 | 삼성전자주식회사 | 보안 메모리 인터페이스, 이를 포함하는 시스템 및 스마트카드 |
US8291297B2 (en) * | 2008-12-18 | 2012-10-16 | Intel Corporation | Data error recovery in non-volatile memory |
US8589766B2 (en) * | 2010-02-24 | 2013-11-19 | Apple Inc. | Codeword remapping schemes for non-volatile memories |
US8732557B2 (en) | 2011-05-31 | 2014-05-20 | Micron Technology, Inc. | Data protection across multiple memory blocks |
US20150067437A1 (en) * | 2013-08-30 | 2015-03-05 | Kuljit S. Bains | Apparatus, method and system for reporting dynamic random access memory error information |
KR102157875B1 (ko) | 2013-12-19 | 2020-09-22 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것을 포함한 메모리 시스템 |
US9501350B2 (en) * | 2014-09-22 | 2016-11-22 | Empire Technology Development Llc | Detecting unidirectional resistance drift errors in a multilevel cell of a phase change memory |
US9519539B2 (en) * | 2014-10-24 | 2016-12-13 | Macronix International Co., Ltd. | Monitoring data error status in a memory |
US9679661B1 (en) | 2016-06-28 | 2017-06-13 | Sandisk Technologies Llc | Non-volatile storage system with self-test for read performance enhancement feature setup |
US9672940B1 (en) | 2016-08-18 | 2017-06-06 | Sandisk Technologies Llc | Non-volatile memory with fast read process |
CN114765055B (zh) * | 2021-01-14 | 2024-05-03 | 长鑫存储技术有限公司 | 纠错系统 |
US11599417B2 (en) | 2021-01-14 | 2023-03-07 | Changxin Memory Technologies, Inc. | Error correction system |
US11990201B2 (en) | 2021-01-14 | 2024-05-21 | Changxin Memory Technologies, Inc. | Storage system |
EP4071762B1 (en) | 2021-01-14 | 2023-07-05 | Changxin Memory Technologies, Inc. | Error correction system |
CN114765056B (zh) | 2021-01-14 | 2024-07-12 | 长鑫存储技术有限公司 | 存储系统 |
JP2023512892A (ja) | 2021-01-14 | 2023-03-30 | チャンシン メモリー テクノロジーズ インコーポレイテッド | 比較システム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0600137A1 (en) * | 1992-11-30 | 1994-06-08 | International Business Machines Corporation | Method and apparatus for correcting errors in a memory |
US5550849A (en) * | 1993-05-20 | 1996-08-27 | Ceram Incorporated | Method and apparatus for detecting single or multiple bit errors instorage devices |
JP3999822B2 (ja) * | 1993-12-28 | 2007-10-31 | 株式会社東芝 | 記憶システム |
US5450363A (en) * | 1994-06-02 | 1995-09-12 | Intel Corporation | Gray coding for a multilevel cell memory system |
EP0704854B1 (en) * | 1994-09-30 | 1999-12-01 | STMicroelectronics S.r.l. | Memory device having error detection and correction function, and methods for writing and erasing the memory device |
US5555250A (en) * | 1994-10-14 | 1996-09-10 | Compaq Computer Corporation | Data error detection and correction system |
EP0709776B1 (en) * | 1994-10-31 | 2000-02-23 | STMicroelectronics S.r.l. | Method for detecting and correcting an error in a multilevel memory and memory device implementing the method |
US5475693A (en) * | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
US5541886A (en) * | 1994-12-27 | 1996-07-30 | Intel Corporation | Method and apparatus for storing control information in multi-bit non-volatile memory arrays |
-
1996
- 1996-10-25 US US08/740,247 patent/US5859858A/en not_active Expired - Fee Related
-
1997
- 1997-08-06 JP JP52043798A patent/JP3982639B2/ja not_active Expired - Lifetime
- 1997-08-06 DE DE19782077A patent/DE19782077B4/de not_active Expired - Fee Related
- 1997-08-06 AU AU39117/97A patent/AU3911797A/en not_active Abandoned
- 1997-08-06 CN CN97180925A patent/CN1113294C/zh not_active Expired - Fee Related
- 1997-08-06 DE DE19782077T patent/DE19782077T1/de active Pending
- 1997-08-06 WO PCT/US1997/013918 patent/WO1998019241A1/en active IP Right Grant
- 1997-08-06 KR KR1019997003616A patent/KR100331139B1/ko not_active IP Right Cessation
- 1997-09-10 MY MYPI97004200A patent/MY114049A/en unknown
- 1997-10-09 TW TW086114878A patent/TW368622B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
AU3911797A (en) | 1998-05-22 |
CN1113294C (zh) | 2003-07-02 |
KR100331139B1 (ko) | 2002-04-01 |
JP2001503181A (ja) | 2001-03-06 |
DE19782077T1 (de) | 1999-09-23 |
DE19782077B4 (de) | 2011-04-07 |
WO1998019241A1 (en) | 1998-05-07 |
CN1242088A (zh) | 2000-01-19 |
MY114049A (en) | 2002-07-31 |
US5859858A (en) | 1999-01-12 |
TW368622B (en) | 1999-09-01 |
JP3982639B2 (ja) | 2007-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100331139B1 (ko) | 에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치 | |
US5754566A (en) | Method and apparatus for correcting a multilevel cell memory by using interleaving | |
CN100545817C (zh) | 用于提高数据可靠性的数据管理技术 | |
US6625061B2 (en) | Method of managing a defect in a flash memory | |
KR100632952B1 (ko) | 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치 | |
KR100321302B1 (ko) | 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩 | |
EP1164589A1 (en) | Storage device having an error correction function | |
EP1635261A1 (en) | Memory with embedded error correction code circuit | |
US20070234143A1 (en) | Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices | |
US20040243909A1 (en) | Error detection, documentation, and correction in a flash memory device | |
EP0030612A2 (en) | Method of correcting double errors in a data storage apparatus and data storage apparatus | |
EP1974471A2 (en) | A method of arranging data in a multi-level cell memory device | |
KR920001104B1 (ko) | 어드레스 라인 오류 테스트 방법 | |
US4598402A (en) | System for treatment of single bit error in buffer storage unit | |
US20080072119A1 (en) | Allowable bit errors per sector in memory devices | |
EP0242595A2 (en) | Error detection using variable field parity checking | |
JP2007533060A (ja) | データメモリ内の誤りを訂正するデータ処理デバイス | |
CN116153378A (zh) | 错误检查刷写操作方法和使用该方法的半导体系统 | |
US20050091569A1 (en) | System and method for securely storing data in a memory | |
US7181655B2 (en) | Method and circuit arrangement for memory error processing | |
CN111831486B (zh) | 半导体装置和包括该半导体装置的半导体系统 | |
US11231990B2 (en) | Device and method for generating error correction information | |
JPH08203292A (ja) | 不揮発性メモリ | |
KR20050064887A (ko) | 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법 | |
US20020174397A1 (en) | Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function |
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: 20120309 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |