KR100845529B1 - 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 - Google Patents
플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 Download PDFInfo
- Publication number
- KR100845529B1 KR100845529B1 KR1020070000732A KR20070000732A KR100845529B1 KR 100845529 B1 KR100845529 B1 KR 100845529B1 KR 1020070000732 A KR1020070000732 A KR 1020070000732A KR 20070000732 A KR20070000732 A KR 20070000732A KR 100845529 B1 KR100845529 B1 KR 100845529B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- ecc
- flash memory
- memory device
- stored
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2945—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using at least three error correction codes
-
- 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
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/136—Reed-Muller [RM] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/1505—Golay Codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
Claims (32)
- M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)를 저장하는 플래시 메모리 장치의 이씨씨 제어기에 있어서:제 1 에러 정정 방식에 따라 상기 플래시 메모리 장치에 저장될 프로그램 데이터로부터 제 1 ECC 데이터를 생성하도록 구성된 제 1 ECC 블록과; 그리고제 2 에러 정정 방식에 따라 상기 제 1 ECC 블록으로부터 출력되는 제 1 ECC 데이터 및 상기 프로그램 데이터로부터 제 2 ECC 데이터를 생성하도록 구성된 제 2 ECC 블록을 포함하며, 상기 프로그램 데이터, 상기 제 1 ECC 데이터, 그리고 상기 제 2 ECC 데이터는 상기 플래시 메모리 장치에 저장되는 것을 특징으로 하는 이씨씨 제어기.
- 제 1 항에 있어서,상기 제 2 ECC 블록은 상기 플래시 메모리 장치로부터 읽혀진 독출 데이터 에 포함된 제 2 ECC 데이터를 이용하여 상기 독출 데이터를 디코딩하도록 구성되며, 상기 제 1 ECC 블록은 상기 제 2 ECC 블록으로부터 출력되는 상기 독출 데이터에 포함된 제 1 ECC 데이터를 이용하여 상기 독출 데이터의 에러를 정정하도록 구성되는 것을 특징으로 하는 이씨씨 제어기.
- 제 2 항에 있어서,상기 제 1 에러 정정 방식은 리니어 블록 방식이고, 상기 제 2 에러 정정 방식은 최대 가능도(ML) 방식인 것을 특징으로 하는 이씨씨 제어기.
- 제 1 항에 있어서,상기 제 2 ECC 블록은 상기 프로그램 데이터 및 상기 제 1 ECC 데이터에 패리티 정보를 추가하여 상기 제 2 ECC 데이터를 생성하는 것을 특징으로 하는 이씨씨 제어기.
- 제 1 항에 있어서,상기 플래시 메모리 장치는 낸드 플래시 메모리 장치, 노어 플래시 메모리 장치, PRAM, 그리고 MRAM 중 어느 하나인 것을 특징으로 하는 이씨씨 제어기.
- 제 1 항에 있어서,상기 플래시 메모리 장치는 상기 프로그램 데이터가 저장되는 제 1 저장 영역과 상기 제 1 ECC 데이터와 상기 제 2 ECC 데이터가 저장되는 제 2 저장 영역을 포함하는 것을 특징으로 하는 이씨씨 제어기.
- 제 6 항에 있어서,상기 제 1 저장 영역의 메모리 셀들 각각은 M-비트 데이터를 저장하고, 상기 제 2 저장 영역의 메모리 셀들 각각은 1-비트 데이터를 저장하는 것을 특징으로 하 는 이씨씨 제어기.
- M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)를 저장하는 플래시 메모리 장치와; 그리고상기 플래시 메모리 장치를 제어하도록 구성된 메모리 제어기를 포함하며, 상기 메모리 제어기는 리니어 블록 방식으로 상기 플래시 메모리 장치에 저장될 데이터를 엔코딩하도록 그리고 최대 가능도 방식으로 상기 리니어 블록 방식으로 엔코딩된 데이터를 엔코딩하도록 구성된 이씨씨 제어기를 포함하며, 상기 이씨씨 제어기에 의해서 엔코딩된 데이터는 상기 플래시 메모리 장치에 저장되는 메모리 시스템.
- 제 8 항에 있어서,상기 이씨씨 제어기는상기 리니어 블록 방식에 따라 상기 플래시 메모리 장치에 저장될 프로그램 데이터로부터 제 1 ECC 데이터를 생성하도록 구성된 제 1 ECC 블록과; 그리고상기 최대 가능도 방식에 따라 상기 제 1 ECC 블록으로부터 출력되는 제 1 ECC 데이터 및 상기 프로그램 데이터로부터 제 2 ECC 데이터를 생성하도록 구성된 제 2 ECC 블록을 포함하며,상기 프로그램 데이터, 상기 제 1 ECC 데이터, 그리고 상기 제 2 ECC 데이터는 상기 플래시 메모리 장치에 동시에 저장되는 메모리 시스템.
- 제 9 항에 있어서,상기 제 2 ECC 블록은 상기 플래시 메모리 장치로부터 읽혀진 독출 데이터 에 포함된 제 2 ECC 데이터를 이용하여 상기 독출 데이터를 디코딩하도록 구성되며, 상기 제 1 ECC 블록은 상기 제 2 ECC 블록으로부터 출력되는 상기 독출 데이터에 포함된 제 1 ECC 데이터를 이용하여 상기 독출 데이터의 에러를 정정하도록 구성되는 메모리 시스템.
- 제 10 항에 있어서,상기 제 2 ECC 블록은 상기 프로그램 데이터 및 상기 제 1 ECC 데이터에 패리티 정보를 추가하여 상기 제 2 ECC 데이터를 생성하는 메모리 시스템.
- 제 9 항에 있어서,상기 플래시 메모리 장치는 상기 프로그램 데이터가 저장되는 제 1 저장 영역과 상기 제 1 ECC 데이터와 상기 제 2 ECC 데이터가 저장되는 제 2 저장 영역을 포함하는 것을 메모리 시스템.
- 제 12 항에 있어서,상기 제 1 저장 영역의 메모리 셀들 각각은 M-비트 데이터를 저장하고, 상기 제 2 저장 영역의 메모리 셀들 각각은 1-비트 데이터를 저장하는 메모리 시스템.
- 제 8 항에 있어서,상기 메모리 제어기는 컴퓨팅 시스템의 메인 모드에 장착되도록 구성되는 메모리 시스템.
- 제 8 항에 있어서,상기 플래시 메모리 장치와 상기 메모리 제어기는 플래시 메모리 카드를 구성하는 메모리 시스템.
- M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)를 저장하는 플래시 메모리 장치와; 그리고상기 플래시 메모리 장치를 제어하도록 구성된 메모리 제어기를 포함하며,상기 메모리 제어기는상기 플래시 메모리 장치에 저장될 프로그램 데이터로부터 CRC 값을 생성하여 제 1 데이터 패턴을 출력하는 제 1 ECC 블록과;리니어 블록 방식에 따라 상기 제 1 데이터 패턴으로부터 제 1 ECC 데이터를 생성하여 제 2 데이터 패턴을 출력하는 제 2 ECC 블록과; 그리고최대 가능도 방식에 따라 상기 제 2 데이터 패턴으로부터 제 2 ECC 데이터를 생성하여 제 3 데이터 패턴을 출력하는 제 3 ECC 블록을 포함하는 메모리 시스템.
- 제 16 항에 있어서,상기 제 3 ECC 블록은 상기 플래시 메모리 장치로부터 읽혀진 독출 데이터 에 포함된 제 2 ECC 데이터를 이용하여 상기 독출 데이터를 디코딩하도록 구성되고, 상기 제 2 ECC 블록은 상기 제 2 ECC 블록으로부터 출력되는 상기 독출 데이터에 포함된 제 1 ECC 데이터를 이용하여 상기 독출 데이터의 에러를 정정하도록 구성되며, 상기 제 1 ECC 블록은 상기 제 2 ECC 블록으로부터 출력되는 상기 독출 데이터에 포함된 CRC 값을 이용하여 상기 독출 데이터의 에러 여부를 검출하도록 구성된 메모리 시스템.
- 제 17 항에 있어서,상기 제 3 ECC 블록은 상기 제 2 데이터 패턴에 패리티 정보를 추가하여 상기 제 2 ECC 데이터를 생성하는 메모리 시스템.
- 제 17 항에 있어서,상기 플래시 메모리 장치는 상기 프로그램 데이터가 저장되는 제 1 저장 영역과 상기 CRC 값, 상기 제 1 ECC 데이터, 그리고 상기 제 2 ECC 데이터가 저장되는 제 2 저장 영역을 포함하는 메모리 시스템.
- 제 19 항에 있어서,상기 제 1 저장 영역의 메모리 셀들 각각은 M-비트 데이터를 저장하고, 상기 제 2 저장 영역의 메모리 셀들 각각은 1-비트 데이터를 저장하는 메모리 시스템.
- 플래시 메모리 장치에 저장되는 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)의 에러를 정정하는 방법에 있어서:제 1 에러 정정 방식에 따라 상기 플래시 메모리 장치에 저장될 프로그램 데이터로부터 제 1 ECC 데이터를 생성하는 단계와; 그리고제 2 에러 정정 방식에 따라 상기 제 1 ECC 블록으로부터 출력되는 제 1 ECC 데이터 및 상기 프로그램 데이터로부터 제 2 ECC 데이터를 생성하는 단계를 포함하며, 상기 프로그램 데이터, 상기 제 1 ECC 데이터, 그리고 상기 제 2 ECC 데이터는 상기 플래시 메모리 장치에 동시에 저장되는 것을 특징으로 하는 에러 정정 방법.
- 제 21 항에 있어서,상기 플래시 메모리 장치로부터 읽혀진 독출 데이터 에 포함된 제 2 ECC 데이터를 이용하여 상기 독출 데이터를 디코딩하는 단계와; 그리고상기 제 2 ECC 블록으로부터 출력되는 상기 독출 데이터에 포함된 제 1 ECC 데이터를 이용하여 상기 독출 데이터의 에러를 정정하는 단계를 더 포함하는 것을 특징으로 하는 에러 정정 방법.
- 제 21 항에 있어서,상기 제 1 에러 정정 방식은 리니어 블록 방식이고, 상기 제 2 에러 정정 방 식은 최대 가능도(ML) 방식인 것을 특징으로 하는 에러 정정 방법.
- 제 21 항에 있어서,상기 제 2 ECC 데이터는 상기 프로그램 데이터 및 상기 제 1 ECC 데이터에 패리티 정보를 추가함으로서 생성되는 것을 특징으로 하는 에러 정정 방법.
- 제 21 항에 있어서,상기 플래시 메모리 장치는 낸드 플래시 메모리 장치, 노어 플래시 메모리 장치, PRAM, 그리고 MRAM 중 어느 하나인 것을 특징으로 하는 에러 정정 방법.
- 제 21 항에 있어서,상기 플래시 메모리 장치는 상기 프로그램 데이터가 저장되는 제 1 저장 영역과 상기 제 1 ECC 데이터와 상기 제 2 ECC 데이터가 저장되는 제 2 저장 영역을 포함하는 것을 특징으로 하는 에러 정정 방법.
- 제 26 항에 있어서,상기 제 1 저장 영역의 메모리 셀들 각각은 M-비트 데이터를 저장하고, 상기 제 2 저장 영역의 메모리 셀들 각각은 1-비트 데이터를 저장하는 것을 특징으로 하는 에러 정정 방법.
- 플래시 메모리 장치에 저장되는 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)의 에러를 정정하는 방법에 있어서:상기 플래시 메모리 장치에 저장될 프로그램 데이터로부터 CRC 값을 생성하여 제 1 데이터 패턴을 출력하는 단계와;리니어 블록 방식에 따라 상기 제 1 데이터 패턴으로부터 제 1 ECC 데이터를 생성하여 제 2 데이터 패턴을 출력하는 단계와; 그리고최대 가능도 방식에 따라 상기 제 2 데이터 패턴으로부터 제 2 ECC 데이터를 생성하여 제 3 데이터 패턴을 출력하는 단계를 포함하며, 상기 프로그램 데이터, 상기 CRC 값, 상기 제 1 ECC 데이터, 그리고 상기 제 2 ECC 데이터로 구성된 상기 제 3 데이터 패턴은 상기 플래시 메모리 장치에 저장되는 것을 특징으로 하는 에러 정정 방법.
- 제 28 항에 있어서,상기 플래시 메모리 장치로부터 읽혀진 독출 데이터에 포함된 제 2 ECC 데이터를 이용하여 상기 독출 데이터를 디코딩하는 단계와;상기 제 2 ECC 블록으로부터 출력되는 상기 독출 데이터에 포함된 제 1 ECC 데이터를 이용하여 상기 독출 데이터의 에러를 정정하는 단계와;그리고상기 제 2 ECC 블록으로부터 출력되는 상기 독출 데이터에 포함된 CRC 값을 이용하여 상기 독출 데이터의 에러 여부를 검출하는 단계를 더 포함하는 것을 특징으로 하는 에러 정정 방법.
- 제 28 항에 있어서,상기 제 2 ECC 데이터는 상기 제 2 데이터 패턴에 패리티 정보를 추가함으로써 생성되는 것을 특징으로 하는 에러 정정 방법.
- 제 28 항에 있어서,상기 플래시 메모리 장치는 상기 프로그램 데이터가 저장되는 제 1 저장 영역과 상기 CRC 값, 상기 제 1 ECC 데이터, 그리고 상기 제 2 ECC 데이터가 저장되는 제 2 저장 영역을 포함하는 것을 특징으로 하는 에러 정정 방법.
- 제 31 항에 있어서,상기 제 1 저장 영역의 메모리 셀들 각각은 M-비트 데이터를 저장하고, 상기 제 2 저장 영역의 메모리 셀들 각각은 1-비트 데이터를 저장하는 것을 특징으로 하는 에러 정정 방법.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070000732A KR100845529B1 (ko) | 2007-01-03 | 2007-01-03 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
US11/785,719 US8112689B2 (en) | 2007-01-03 | 2007-04-19 | ECC controller for use in flash memory device and memory system including the same |
JP2007339977A JP2008165805A (ja) | 2007-01-03 | 2007-12-28 | フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム |
DE102008003113.5A DE102008003113B4 (de) | 2007-01-03 | 2008-01-02 | ECC-Steuereinheit, Speichersystem und Verfahren zur Korrektur eines Fehlers |
CN2008100920056A CN101256842B (zh) | 2007-01-03 | 2008-01-03 | 纠错码控制器和包括该纠错码控制器的存储器系统 |
US13/241,343 US8140935B2 (en) | 2007-01-03 | 2011-09-23 | ECC controller for use in flash memory device and memory system including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070000732A KR100845529B1 (ko) | 2007-01-03 | 2007-01-03 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080064029A KR20080064029A (ko) | 2008-07-08 |
KR100845529B1 true KR100845529B1 (ko) | 2008-07-10 |
Family
ID=39510069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070000732A KR100845529B1 (ko) | 2007-01-03 | 2007-01-03 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8112689B2 (ko) |
JP (1) | JP2008165805A (ko) |
KR (1) | KR100845529B1 (ko) |
CN (1) | CN101256842B (ko) |
DE (1) | DE102008003113B4 (ko) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7744387B2 (en) * | 1999-08-04 | 2010-06-29 | Super Talent Electronics, Inc. | Multi-level cell (MLC) rotate flash memory device |
KR100852193B1 (ko) * | 2007-05-02 | 2008-08-13 | 삼성전자주식회사 | 오류 제어 코드 장치 및 그 방법 |
US8065583B2 (en) | 2007-07-06 | 2011-11-22 | Micron Technology, Inc. | Data storage with an outer block code and a stream-based inner code |
US8051358B2 (en) * | 2007-07-06 | 2011-11-01 | Micron Technology, Inc. | Error recovery storage along a nand-flash string |
JP4564520B2 (ja) * | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
US8046542B2 (en) * | 2007-11-21 | 2011-10-25 | Micron Technology, Inc. | Fault-tolerant non-volatile integrated circuit memory |
US8499229B2 (en) | 2007-11-21 | 2013-07-30 | Micro Technology, Inc. | Method and apparatus for reading data from flash memory |
JP5166074B2 (ja) | 2008-02-29 | 2013-03-21 | 株式会社東芝 | 半導体記憶装置、その制御方法、および誤り訂正システム |
KR101483190B1 (ko) * | 2008-09-05 | 2015-01-19 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
CN102272730B (zh) | 2008-10-09 | 2017-05-24 | 美光科技公司 | 经虚拟化错误校正码nand |
TWI475378B (zh) * | 2008-10-09 | 2015-03-01 | Micron Technology Inc | 耦合至一主機之儲存系統、與儲存系統中之nand記憶體介接之控制器及管理nand記憶體裝置堆疊之方法 |
KR100955157B1 (ko) * | 2008-12-24 | 2010-04-28 | 서울대학교산학협력단 | 메모리 장치 및 메모리 장치의 관리 방법 |
US8438455B2 (en) * | 2008-12-31 | 2013-05-07 | Intel Corporation | Error correction in a solid state disk |
US8924819B2 (en) * | 2009-01-23 | 2014-12-30 | Macronix International Co., Ltd. | Memory device and operation method thereof |
TWI404067B (zh) * | 2009-02-27 | 2013-08-01 | Macronix Int Co Ltd | 記憶體裝置及其操作方法 |
KR20100104840A (ko) | 2009-03-19 | 2010-09-29 | 삼성전자주식회사 | 셀 패턴에 따라 추가 ecc가 가능한 반도체 메모리 장치,상기 장치를 포함하는 전자 시스템 |
US8560898B2 (en) * | 2009-05-14 | 2013-10-15 | Mediatek Inc. | Error correction method and error correction apparatus utilizing the method |
KR20110017613A (ko) * | 2009-08-14 | 2011-02-22 | 삼성전자주식회사 | 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들 |
US8510628B2 (en) * | 2009-11-12 | 2013-08-13 | Micron Technology, Inc. | Method and apparatuses for customizable error correction of memory |
KR20110073932A (ko) * | 2009-12-24 | 2011-06-30 | 주식회사 하이닉스반도체 | Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법 |
KR101678404B1 (ko) * | 2010-02-25 | 2016-11-23 | 삼성전자주식회사 | 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법 |
TWI456579B (zh) * | 2010-03-26 | 2014-10-11 | Silicon Motion Inc | 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器 |
US8386895B2 (en) | 2010-05-19 | 2013-02-26 | Micron Technology, Inc. | Enhanced multilevel memory |
WO2012037032A2 (en) * | 2010-09-15 | 2012-03-22 | Sandisk Technologies Inc. | System and method of distributive ecc processing |
US8788922B2 (en) * | 2011-02-28 | 2014-07-22 | Apple Inc | Error correction codes for incremental redundancy |
JP2013029882A (ja) * | 2011-07-26 | 2013-02-07 | Toshiba Corp | メモリコントローラ、半導体記憶装置および復号方法 |
CN102567132B (zh) * | 2011-12-30 | 2014-12-03 | 记忆科技(深圳)有限公司 | 端对端芯片数据通路保护装置及其方法 |
US9093154B2 (en) * | 2012-01-16 | 2015-07-28 | Silicon Motion, Inc. | Method, memory controller and system for reading data stored in flash memory |
US8954825B2 (en) | 2012-03-06 | 2015-02-10 | Micron Technology, Inc. | Apparatuses and methods including error correction code organization |
US8793556B1 (en) | 2012-05-22 | 2014-07-29 | Pmc-Sierra, Inc. | Systems and methods for reclaiming flash blocks of a flash drive |
US8972824B1 (en) | 2012-05-22 | 2015-03-03 | Pmc-Sierra, Inc. | Systems and methods for transparently varying error correction code strength in a flash drive |
US9021337B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive |
US8788910B1 (en) | 2012-05-22 | 2014-07-22 | Pmc-Sierra, Inc. | Systems and methods for low latency, high reliability error correction in a flash drive |
US9183085B1 (en) | 2012-05-22 | 2015-11-10 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency |
US9021333B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for recovering data from failed portions of a flash drive |
US8996957B1 (en) | 2012-05-22 | 2015-03-31 | Pmc-Sierra, Inc. | Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes |
US9176812B1 (en) | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
US9047214B1 (en) | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
US9021336B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages |
US9110824B2 (en) * | 2012-06-08 | 2015-08-18 | Silicon Motion Inc. | Method, controller, and memory device for correcting data bit(s) of at least one cell of flash memory |
TWI514405B (zh) * | 2012-06-08 | 2015-12-21 | Silicon Motion Inc | 修正快閃記憶體之至少一儲存單元之資料位元的方法、控制器及記憶體裝置 |
US8924820B2 (en) | 2012-07-27 | 2014-12-30 | Kabushiki Kaisha Toshiba | Memory controller, semiconductor memory system, and memory control method |
KR101979734B1 (ko) * | 2012-08-07 | 2019-05-17 | 삼성전자 주식회사 | 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 |
TWI479314B (zh) * | 2012-08-30 | 2015-04-01 | Phison Electronics Corp | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 |
JP2014092973A (ja) * | 2012-11-05 | 2014-05-19 | Toshiba Corp | メモリシステム |
US9577673B2 (en) | 2012-11-08 | 2017-02-21 | Micron Technology, Inc. | Error correction methods and apparatuses using first and second decoders |
CN103970619B (zh) * | 2013-02-06 | 2017-09-29 | 东芝存储器株式会社 | 控制器 |
CN104008069B (zh) * | 2013-02-22 | 2018-06-15 | 中兴通讯股份有限公司 | 一种数据保护方法、装置及设备 |
US9208018B1 (en) | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US9009565B1 (en) | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
US9053012B1 (en) | 2013-03-15 | 2015-06-09 | Pmc-Sierra, Inc. | Systems and methods for storing data for solid-state memory |
US9081701B1 (en) | 2013-03-15 | 2015-07-14 | Pmc-Sierra, Inc. | Systems and methods for decoding data for solid-state memory |
US9026867B1 (en) | 2013-03-15 | 2015-05-05 | Pmc-Sierra, Inc. | Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory |
KR102108386B1 (ko) | 2013-12-23 | 2020-05-08 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들 |
US9417945B2 (en) | 2014-03-05 | 2016-08-16 | International Business Machines Corporation | Error checking and correction for NAND flash devices |
JP6131207B2 (ja) | 2014-03-14 | 2017-05-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
KR101651573B1 (ko) | 2014-08-14 | 2016-08-26 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 및 그 프로그래밍 방법 |
US10395753B2 (en) | 2014-08-28 | 2019-08-27 | Winbond Electronics Corp. | Semiconductor memory device and programming method thereof |
US9588772B2 (en) | 2015-02-20 | 2017-03-07 | Kabushiki Kaisha Toshiba | Memory controller and decoding method |
US10193576B2 (en) * | 2015-10-30 | 2019-01-29 | Toshiba Memory Corporation | Memory system and memory device |
JP6479638B2 (ja) * | 2015-12-09 | 2019-03-06 | 株式会社東芝 | ビデオサーバ装置およびデータ書き込み/読み出し方法 |
JP6088675B1 (ja) | 2016-02-02 | 2017-03-01 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
KR102370278B1 (ko) * | 2017-11-30 | 2022-03-07 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 그의 동작방법 |
CN110333965B (zh) * | 2019-05-30 | 2023-05-26 | 深圳市博德越科技有限公司 | 一种固态硬盘控制器装置及固态硬盘数据校验方法 |
US11164652B2 (en) | 2019-06-21 | 2021-11-02 | Micron Technology, Inc. | Two-layer code with low parity cost for memory sub-systems |
DE102019120801B3 (de) * | 2019-08-01 | 2020-12-03 | Infineon Technologies Ag | Vorrichtungen und Verfahren zur Datenspeicherung |
US11296729B2 (en) | 2020-07-23 | 2022-04-05 | Micron Technology, Inc. | Data reliability for extreme temperature usage conditions in data storage |
US11157359B2 (en) * | 2020-09-24 | 2021-10-26 | Intel Corporation | Techniques to implement a hybrid error correction code scheme |
CN112596674B (zh) * | 2020-12-21 | 2023-10-13 | 成都储迅科技有限责任公司 | 一种用于固态硬盘主控缓存数据双重保护的方法及系统 |
KR102598152B1 (ko) * | 2022-04-22 | 2023-11-06 | 청주대학교 산학협력단 | 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010067139A (ko) * | 1999-12-16 | 2001-07-12 | 가나이 쓰토무 | 기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를이용하는 메모리 카드 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62194745A (ja) * | 1986-02-20 | 1987-08-27 | Nec Corp | 誤り訂正回路 |
JP2696212B2 (ja) * | 1987-05-06 | 1998-01-14 | セイコーエプソン株式会社 | 誤り訂正装置 |
JP3999822B2 (ja) * | 1993-12-28 | 2007-10-31 | 株式会社東芝 | 記憶システム |
US5475693A (en) * | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
US5754566A (en) | 1996-09-06 | 1998-05-19 | Intel Corporation | Method and apparatus for correcting a multilevel cell memory by using interleaving |
JPH11143787A (ja) * | 1997-11-06 | 1999-05-28 | Hitachi Ltd | 記録再生装置 |
EP0969480A4 (en) | 1998-01-21 | 2000-11-22 | Sony Corp | CODING METHOD AND MEMORY DEVICE |
KR100370014B1 (ko) | 2000-05-16 | 2003-01-29 | 엘지전자 주식회사 | 공기조화기의 실외기의 소음 저감구조 |
US6553536B1 (en) * | 2000-07-07 | 2003-04-22 | International Business Machines Corporation | Soft error correction algebraic decoder |
JP4437519B2 (ja) * | 2001-08-23 | 2010-03-24 | スパンション エルエルシー | 多値セルメモリ用のメモリコントローラ |
EP1355234B1 (en) | 2002-04-15 | 2016-06-29 | Micron Technology, Inc. | Use of an error correction circuit in program and erase verify procedures |
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 |
JP4550439B2 (ja) * | 2003-02-28 | 2010-09-22 | 東芝メモリシステムズ株式会社 | Ecc制御装置 |
TWI227395B (en) * | 2003-06-02 | 2005-02-01 | Genesys Logic Inc | Method for parallel processing of memory data and error correction code and related device thereof |
US7023735B2 (en) | 2003-06-17 | 2006-04-04 | Ramot At Tel-Aviv University Ltd. | Methods of increasing the reliability of a flash memory |
US7418644B2 (en) | 2004-03-01 | 2008-08-26 | Hewlett-Packard Development Company, L.P. | System for error correction coding and decoding |
US7464241B2 (en) * | 2004-11-22 | 2008-12-09 | Intel Corporation | Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding |
US7809994B2 (en) * | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
KR100872186B1 (ko) * | 2007-01-04 | 2008-12-09 | 삼성전자주식회사 | 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템 |
KR100842680B1 (ko) * | 2007-01-08 | 2008-07-01 | 삼성전자주식회사 | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 |
-
2007
- 2007-01-03 KR KR1020070000732A patent/KR100845529B1/ko active IP Right Grant
- 2007-04-19 US US11/785,719 patent/US8112689B2/en active Active
- 2007-12-28 JP JP2007339977A patent/JP2008165805A/ja active Pending
-
2008
- 2008-01-02 DE DE102008003113.5A patent/DE102008003113B4/de active Active
- 2008-01-03 CN CN2008100920056A patent/CN101256842B/zh active Active
-
2011
- 2011-09-23 US US13/241,343 patent/US8140935B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010067139A (ko) * | 1999-12-16 | 2001-07-12 | 가나이 쓰토무 | 기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를이용하는 메모리 카드 |
Also Published As
Publication number | Publication date |
---|---|
US8112689B2 (en) | 2012-02-07 |
CN101256842B (zh) | 2013-03-06 |
US20080163023A1 (en) | 2008-07-03 |
JP2008165805A (ja) | 2008-07-17 |
DE102008003113B4 (de) | 2022-07-28 |
US8140935B2 (en) | 2012-03-20 |
US20120011416A1 (en) | 2012-01-12 |
DE102008003113A1 (de) | 2008-07-17 |
CN101256842A (zh) | 2008-09-03 |
KR20080064029A (ko) | 2008-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100845529B1 (ko) | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 | |
KR100842680B1 (ko) | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 | |
US8769374B2 (en) | Multi-write endurance and error control coding of non-volatile memories | |
US8065583B2 (en) | Data storage with an outer block code and a stream-based inner code | |
US9195539B2 (en) | Method for reading data from block of flash memory and associated memory device | |
TWI514388B (zh) | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 | |
US9405624B2 (en) | On-die error detection and correction during multi-step programming | |
JP2015507409A (ja) | 代数符号を用いるマルチフェーズecc符号化 | |
US10114693B2 (en) | Memory systems and electronic systems performing an adaptive error correction operation with pre-checked error rate, and methods of operating the memory systems | |
US10691538B2 (en) | Methods and apparatuses for error correction | |
KR20080064299A (ko) | 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템 | |
US11550663B2 (en) | Changing of error correction codes based on the wear of a memory sub-system | |
KR20150062384A (ko) | 연접 오류 정정 장치 | |
KR20170012006A (ko) | 메모리 컨트롤러와 이를 포함하는 메모리 시스템 | |
TWI682399B (zh) | 操作記憶體之方法及用於錯誤率降低之設備 | |
KR20160075001A (ko) | 플래시 메모리 시스템 동작 방법 | |
CN111796774B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
KR20210010807A (ko) | 비휘발성 메모리의 불량 행 관리를 수행하는 메모리 시스템 및 이의 동작 방법 | |
CN113138947B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
US20190294497A1 (en) | Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same |
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: 20130701 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140630 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150630 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160630 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170630 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180629 Year of fee payment: 11 |