CN101256842B - 纠错码控制器和包括该纠错码控制器的存储器系统 - Google Patents

纠错码控制器和包括该纠错码控制器的存储器系统 Download PDF

Info

Publication number
CN101256842B
CN101256842B CN2008100920056A CN200810092005A CN101256842B CN 101256842 B CN101256842 B CN 101256842B CN 2008100920056 A CN2008100920056 A CN 2008100920056A CN 200810092005 A CN200810092005 A CN 200810092005A CN 101256842 B CN101256842 B CN 101256842B
Authority
CN
China
Prior art keywords
data
ecc
flash memory
memory device
error correction
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN2008100920056A
Other languages
English (en)
Other versions
CN101256842A (zh
Inventor
洪始勋
李润泰
孔骏镇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN101256842A publication Critical patent/CN101256842A/zh
Application granted granted Critical
Publication of CN101256842B publication Critical patent/CN101256842B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2945Coding, 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
    • 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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/136Reed-Muller [RM] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/1505Golay Codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Abstract

提供了一种快闪存储器装置的ECC(纠错码)控制器,该快闪存储器装置存储M比特数据(M为大于或等于2的正整数),该ECC控制器包括第一ECC块以及第二ECC块,该第一ECC块根据第一纠错方法从将要存储在该快闪存储器装置中的程序数据产生第一ECC数据,该第二ECC块根据第二纠错方法从自第一ECC块输出的第一ECC数据和程序数据产生第二ECC数据,程序数据、第一ECC数据以及第二ECC数据被存储在该快闪存储器装置中。

Description

纠错码控制器和包括该纠错码控制器的存储器系统
技术领域
本公开涉及一种存储器系统,并且更具体地涉及一种用于检测和纠正存储在快闪存储器装置中的多比特数据中的错误的系统和方法。
要求2007年1月3日提交的韩国专利申请No.2007-732在35U.S.C.§119下的优先权,在此通过引用将其全部内容并入这里。
背景技术
存储器装置通常被分为易失性存储器装置和非易失性存储器装置。在易失性存储器装置和非易失性存储器装置之间有许多差异。例如,非易失性存储器装置在该装置断电(power loss)的情况下,保持所存储的数据。然而,当断电时,易失性存储器装置释放所存储的数据。易失性存储器装置包括例如动态随机存取存储器(DRAM)的存储器装置。非易失性存储器装置包括例如快闪存储器装置、只读存储器(ROM)装置、电可编程只读存储器装置(EPROM)以及电可擦除可编程只读(EEPROM)存储器装置。
快闪存储器装置具有许多有益特征。例如,尽管不像动态随机存取存储器(DRAM)那样快,快闪存储器装置也具有较快的读取速度。此外,与硬盘相比,快闪存储器装置可经受对其自身的更强烈撞击。尽管快闪存储器装置可以通过电擦除和复写数据,但是与EEPROM不同,快闪存储器装置可以以块为单位擦除和写入数据。此外,快闪存储器装置成本低于EEPROM。由于这些和其它这种特征,快闪存储器装置可广泛地用作大容量、非易失性、固态存储装置。例如,快闪存储器装置一般用于蜂窝电话、数码相机以及数字录音设备。
通常,快闪存储器装置将数据存储在包括浮置栅极晶体管的阵列中。这些浮栅晶体管被称作单元并且存储比特数据。最初,快闪存储器装置在每个单元中仅可存储1比特数据。然而,被称作多层单元(MLC)装置的较新的快闪存储器装置可以通过控制在一个单元的浮置栅极上累积的电荷量来在一个单元中存储1比特或更多比特。
在本公开中,在一个存储器单元中存储1比特数据的快闪存储器装置被称作单层单元(SLC)快闪存储器装置,并且在一个存储器单元中存储M比特数据的快闪存储器装置称作多层单元(MLC)快闪存储器装置(M为等于或大于2的正整数)。
使用参考电压来读取存储在存储器单元中的数据。具体地,将参考电压施加到存储器单元的控制栅极,并且根据电流是否流经该单元,确定存储在该单元中的数据。此外,对于不同层的数据而言,用于读取数据的每个参考电压的阈电压分布是不同的。例如,用于读取数据‘0’的阈电压分布与用于读取数据‘1’的阈电压分布不同。类似地,用于读取数据‘01’的阈电压分布是不同的,用于读取数据‘11’的阈电压分布也是不同的,依此类推。
用于从快闪存储器装置读取数据的参考阈电压分布的数目取决于在存储器装置中可存储的数据的比特。即,阈电压分布的数目取决于在存储器装置中可存储1比特数据、2比特数据、3比特数据、还是4比特数据等。作为例子,参考图1,两个阈电压分布将用于在一个存储器单元中存储1比特数据。另一方面,参考图2至4,2M个阈电压分布将用于在一个存储器单元中存储M比特数据。例如,4个阈电压分布用于在一个存储单元中存储2比特数据,8个阈电压分布用于在一个存储器单元中存储3比特数据,以及16个阈电压分布用于在一个存储单元中存储4比特数据。因而,随着存储在一个存储器单元中的数据比特的数目增加,将使用更多的阈电压分布。
接着:随着阈电压分布的数目增加,用于从单元中读取数据的总的阈电压增加。然而,如本领域公知的,在升高存储器单元的阈电压方面存在限制。换句话说,存储器单元的阈电压应该分布在预定电压范围之内。这意味着,与在一个存储器单元中存储的数据比特的数目无关,电压阈值分布应当分布在预定电压范围之内。由于这个原因,如图2至图4所示,邻近的阈电压可能互相重叠。由于邻近的阈电压分布重叠,所读取的数据可能包括许多错误比特(例如,几个错误比特或几十个错误比特)。随着存储在一个存储器单元中的数据比特的数目增加,这种现象将更棘手。另外,由于各种其它原因诸如:例如电荷损失(charge loss)、时间消逝、温度增加、在对邻近单元进行编程时产生的耦合、邻近单元的读取操作以及其它的单元缺陷,邻近阈电压分布也可能重叠。
发明内容
本公开的一个方面包括一种快闪存储器装置的ECC(纠错码)控制器,该快闪存储器装置存储M比特数据(M为大于或等于2的正整数)。该ECC控制器包括第一ECC块以及第二ECC块,该第一ECC块根据第一纠错方法从将要存储在快闪存储器装置中的程序数据产生第一ECC数据,该第二ECC块根据第二纠错方法从自第一ECC块输出的第一ECC数据和程序数据产生第二ECC数据,程序数据、第一ECC数据以及第二ECC数据被存储在快闪存储器装置中。
本公开的另一方面包括存储器系统。该存储器系统包括存储M比特数据(M为大于或等于2的正整数)的快闪存储器装置和控制该快闪存储器装置的存储器控制器,其中该存储器控制器包括ECC控制器,该ECC控制器使用第一纠错方法和第二纠错方法对将要存储在快闪存储器装置中的数据进行编码。
本公开的另一方面包括存储器系统。该系统包括存储M比特数据(M为大于或等于2的正整数)的快闪存储器装置和控制该快闪存储器装置的存储器控制器,其中该存储器控制器包括第一ECC块、第二ECC块和第三ECC块,该第一ECC块从将要存储在快闪存储器装置中的程序数据产生CRC(循环冗余校验)值并且输出第一数据样式(data pattern),该第二ECC块根据第一纠错方法从第一数据样式产生第一ECC数据并且输出第二数据样式,以及该第三ECC块根据第二纠错方法从第二数据样式产生第二ECC数据并且输出第三数据样式。
本公开的又一方面包括一种用于纠正存储在快闪存储器装置中的M比特数据(M为大于或等于2的正整数)的错误的方法。该方法包括根据第一纠错方法从将要存储在快闪存储器装置中的程序数据产生第一ECC数据,根据第二纠错方法从自第一ECC块输出的第一ECC数据和程序数据产生第二ECC数据,该程序数据、第一ECC数据以及第二ECC数据被同时存储在快闪存储器装置中。
本公开的另一方面包括一种用于纠正存储在快闪存储器装置中的M比特数据(M为大于或等于2的正整数)的错误的方法。该方法包括从将要存储在快闪存储器装置中的程序数据产生CRC(循环冗余校验)值并且输出第一数据样式,根据第一纠错方法从第一数据样式产生第一ECC数据并且输出第二数据样式,以及根据第二纠错方法从第二数据样式产生第二ECC数据并且输出第三数据样式,包括程序数据、CRC值、第一ECC数据以及第二ECC数据的第三数据样式被存储在快闪存储器装置中。
附图说明
为了提供本公开的进一步的理解而将附图包括在内,并且附图被并入并且构成说明书的一部分。附图示出本公开的示例性实施例,并且与说明书一起用于解释本公开的原理。在附图中:
图1为示出存储1比特数据的通用快闪存储器单元的阈电压分布的视图;
图2为示出存储2比特数据的通用快闪存储器单元的阈电压分布的视图;
图3为示出存储3比特数据的通用快闪存储器单元的阈电压分布的视图;
图4为示出存储4比特数据的通用快闪存储器单元的阈电压分布的视图;
图5为根据示例性公开的实施例的存储器系统的示意性框图;
图6为根据示例性公开的实施例的在图5中示出的ECC控制器的示意性框图;
图7为示出根据示例性公开的实施例的由图6中示出的ECC控制器处理的数据改变的视图;以及
图8为示出根据可替代的示例性公开的实施例的ECC控制器的示意性框图。
具体实施例
下面将参考附图更详细地描述本公开的示例性实施例。然而,本公开可以以不同形式实施,并且本公开不应被解释为限于这里提出的实施例。更确切的,提供这些实施例使得该公开将是彻底的和完整的,并且使得该公开将把本公开的范围充分地传达给本领域技术人员。贯穿全文,相同的参考数字表示相同的元件。
在描述中,将快闪存储器装置示例性地用作非易失性存储器装置以解释本公开的特性和功能。本领域普通技术人员从这里作出的描述,将容易理解其它优势和性能。本公开可以通过其它实施例实现或应用。
图5为根据示例性公开的实施例的存储器系统的示意性框图。参考图5,该存储器系统包括快闪存储器装置100以及存储器控制器200。该快闪存储器装置100在存储器控制器200的控制下操作以每单元存储M比特数据。这里,该M比特数据包括2比特数据、3比特数据以及4比特数据。根据示例性实施例,快闪存储器装置100可以是NAND快闪存储器装置。然而,本领域普通技术人员将理解:快闪存储器装置100不限于NAND快闪存储器装置。例如,可使用诸如NOR快闪存储器装置、PRAM以及MRAM的非易失性存储器装置来实现快闪存储器装置100。
该存储器控制器200基于主机300的请求而控制快闪存储器装置100。此外,存储器控制器200包括主机接口210、快闪接口220、处理单元230以及ECC控制器240。该主机接口210提供与主机300的接口。该快闪接口220提供与快闪存储器装置100的接口。处理单元230整体上控制存储器控制器200的操作。在示例性实施例中,主机300以及存储器控制器200可经由诸如NOR接口、NAND接口、外围组件互连(PCI)、ISO、通用串行总线(USB)或任何其它这种接口的各种接口而进行通信。此外,快闪存储器装置100以及存储器控制器200可经由公知的NAND/NOR接口相互通信。此外,在示例性公开的实施例中,快闪存储器装置100以及存储器控制器200可构成诸如快闪存储器卡和智能卡的存储器卡。而且,存储器控制器200可以直接安装在个人计算机(PC)的主板上。同时,在快闪存储器装置用作缓冲器存储器的情形中,存储器控制器200可用作硬盘驱动器(HDD)的缓冲器控制器。
仍参考图5,ECC控制器240产生将要存储在快闪存储器装置100中的纠错码(ECC)数据。该ECC数据可用于许多用途。例如,ECC数据用于检测和/或纠正错误。具体地,通过使用ECC数据,ECC控制器240检测和纠正从快闪存储器装置100读取的数据中的错误。在示例性实施例中,ECC控制器240使用两级纠错方案。第一纠错方案可用于从将要存储在快闪存储器装置100中的数据产生作为ECC数据的线性块码。而且,该线性块编码可用于检测和纠正在从快闪存储器装置100读取的数据中的错误。该第一纠错方案被称为线性块编码方法。然而,本领域技术人员将理解:在不脱离本公开的范围的情况下,可以使用除了该线性块方法以外的其它纠错方案。此外,第二纠错方案用作如,例如最大似然(ML)方法。该ML方法为一种具有低错误概率的读取数据的编码和解码方法。
在示例性实施例中,ECC控制器240包括第一ECC块242。块242执行线性块编码方法。ECC控制器240还包括第二ECC块244,该第二ECC块244执行ML方法。具体地,第一ECC块242根据线性块编码方法从自主机300传输的数据(被称作程序数据)产生第一ECC数据。而且,第二ECC块244根据ML编码方法从自第一ECC块242输出的数据(即,程序数据和第一ECC数据)产生第二ECC数据。从第二ECC块244输出的数据(程序数据、第一ECC数据以及第二ECC数据)经由快闪接口220被存储在快闪存储器装置100中。
在读取操作期间,从快闪存储器装置100读取的数据(包括程序数据、第一ECC数据以及第二ECC数据)经由快闪接口220被传递到第二ECC块244。第二ECC块244根据ML方法检测和/或纠正所接收的数据(包括程序数据、第一ECC数据以及第二ECC数据)的错误。然后,将通过ML方法如此纠正的数据传输至第一ECC块242。该第一ECC块242根据线性块解码方法检测和/或纠正从第二ECC块240输出的数据(包括程序数据和第一ECC数据)的错误。然后,从第一ECC块242输出的数据经由主机接口210被传输至主机300。
如上所述,所公开的ECC控制器240根据ML方法具有低错误概率地从快闪存储器装置100读取数据,并且根据线性块编码方法具有低错误概率地检测和纠正所读取的数据的错误。这两级纠错方案可以使得更准确地读取多比特数据。
图6为根据示例性公开的实施例的在图5中示出的ECC控制器的示意性框图。参考图6,该ECC控制器240包括第一ECC块242和第二ECC块244。在示例性实施例中,第一ECC块242根据线性块编码方法操作,并且包括线性块编码器242a和线性块解码器242b。类似地,第二ECC块244根据ML编码方法操作,并且包括ML编码器244a和ML解码器244b。
第一ECC块242的线性块编码器242a根据线性块编码方法从自主机300传输的数据(被称作程序数据)产生第一ECC数据。第二ECC块244的ML编码器244a根据ML编码方法从自第一ECC块242的编码器242a输出的数据(即,程序数据和第一ECC数据或数据样式)产生第二ECC数据“ECC2”。此外,从第二ECC块244的ML编码器244a输出的数据(程序数据、第一ECC数据以及第二ECC数据)(或数据样式)经由快闪接口220被存储在快闪存储器装置100中。任何本领域公知的方法可用于将如此编码的数据传输和存储至快闪存储器装置中。
在读取操作中,从快闪存储器装置100读取的数据(包括程序数据、第一ECC数据以及第二ECC数据)经由快闪接口220被传递到第二ECC块240的ML解码器244b。第二ECC块240的ML解码器244b根据ML方法检测和纠正所接收的数据(包括程序数据、第一ECC数据以及第二ECC数据)的错误。具体地,ML解码器244b检测低错误概率的数据。即,通过ML解码器244b获得具有低错误概率的数据。以这样方式获得的数据的错误可由ML解码器244b部分地纠正。同样,因为从快闪存储器100输出的数据开始就具有低错误概率,所以以这种方式获得的数据在不需要纠错的情况下就可以输出。第一ECC块242的线性块解码器242b根据线性块解码方法检测和纠正从第二ECC块240的ML解码器244b输出的数据(包括程序数据和第一ECC数据)的错误。从第一ECC块242的线性块解码器242b输出的数据经由主机接口210被传送至主机300。
在示例性实施例中,可以纠正数十至数百比特的第一ECC块242产生线性码作为ECC码。线性码的一些例子包括重复码、奇偶校验码、循环码、汉明码、格雷(Golay)码、里德-所罗门(Reed-solomon)码、博斯-乔赫里-雷克文黑姆(Bose,Ray-Chaudhuri,Hocquenghem(BCH))码以及里德-密勒(Reed-Muller)码。此外,第二ECC块244的ML编码器244a将奇偶校验数据添加到从第一ECC块242的线性块编码器242a输出的数据。当添加奇偶校验数据时,准确读取原始数据的概率增加。例如,假设将要读取的数据为‘1011’,存在很大的可能性将原始数据‘1011’读作数据‘1010’或数据‘1100’。然而,当ML编码器244a将奇偶校验数据添加至数据‘1011’时,在读取数据‘1011’的操作期间将原始数据‘1011’错误地读作数据‘1010’或‘1100’的可能性降低,而且在读取数据‘1011’的操作期间没有改变地读取原始数据‘1011’的可能性增加。在图7中示出该现象。对于本领域普通技术人员而言显而易见的是:第二ECC块244不限于ML方法。例如,可使用诸如例如美国专利No.7,023,735中描述的分段读取方式(fractional read manner)的其它纠错方法来实现第二ECC块244。因此,如上所述,通过低错误概率地读取数据并且纠正所读取的数据的错误,可以准确地读取原始多比特数据。
对于本领域普通技术人员来说显而易见的是:在不脱离本公开的范围的情况下,可以以各种方式修改ECC控制器240。例如,可配置ECC控制器240以经由CRC检测被传输至主机300的数据中的错误的存在。参考图8,根据另一示例性实施例的ECC控制器400包括第一ECC块410、第二ECC块420以及第三ECC块430。第一ECC块410包括编码器411和解码器412,该编码器411从所接收的数据产生CRC值(即,校验和值),以及该解码器412用于检测从第二ECC块420输出的数据中的错误的存在。由于第二ECC块420和第三ECC块430对应于在图6中示出的块242和244,所以将省略对其的描述。
在示例性实施例中,尽管未示出,快闪存储器装置100包括包含至少两个存储区域的存储器单元阵列。第一存储区域(主单元区域)可用于存储从主机传输的数据。第二存储区域(备用(spare)区域)可用于存储与存储在主单元区域中的数据相关的ECC数据(ECC1+ECC2或CRC+ECC1+ECC2)。此外,属于主单元区域的各个单元可存储多比特数据。另一方面,属于备用单元区域的各个单元可存储单比特数据。同样,主单元区域可存储数据和处于多比特状态的ECC数据。
所公开的存储器控制器可用于读取数据并将数据写入至存储器装置的任何系统中。此外,通过使用两级纠错方案,所公开的存储器控制器可比其它存储器控制器更准确地读取多比特数据。
上面公开的主题将被认为是说明性的而非限制性的,并且所附权利要求书意图覆盖落入本发明的真实精神和范围之内的所有这样的修改、改进以及其它实施例。因而,在法律所许可的最大范围内,本发明的范围将由所附权利要求书和其等价物的最宽的容许解释来确定,并且不应受限于或限制于前述详细描述。

Claims (31)

1.一种快闪存储器装置的纠错码ECC控制器,该快闪存储器装置存储M比特数据,M为大于或等于2的整数,该ECC控制器包括:
第一ECC块,其根据第一纠错方法从将要存储在该快闪存储器装置中的程序数据产生第一ECC数据;以及
第二ECC块,其根据第二纠错方法从自该第一ECC块输出的该第一ECC数据和该程序数据产生第二ECC数据,该程序数据、该第一ECC数据以及该第二ECC数据被存储在该快闪存储器装置中。
2.如权利要求1所述的控制器,其中,该第二ECC块使用该第二纠错方法对从该快闪存储器读取的数据进行解码,以及该第一ECC块使用该第一纠错方法对从该快闪存储器读取的数据进行解码。
3.如权利要求1所述的控制器,其中,该第一纠错方法为线性块方法,以及该第二纠错方法为最大似然方法。
4.如权利要求1所述的控制器,其中,该第二ECC块通过将奇偶校验数据添加至该程序数据和该第一ECC数据而产生该第二ECC数据。
5.如权利要求1所述的控制器,其中,该快闪存储器装置为NAND快闪存储器装置、NOR快闪存储器装置、相变随机存取存储器PRAM装置和磁阻随机存取存储器MRAM装置中的一个。
6.一种存储器系统,包括:
快闪存储器装置,其存储M比特数据,M为大于或等于2的正整数;以及
存储器控制器,其控制该快闪存储器装置,
其中,该存储器控制器包括ECC控制器,该ECC控制器使用第一纠错方法和第二纠错方法对将要存储在该快闪存储器装置中的数据进行编码,并且包括:
第一ECC块,其根据第一纠错方法从将要存储在该快闪存储器装置
中的程序数据产生第一ECC数据;以及
第二ECC块,其根据第二纠错方法从自该第一ECC块输出的该第一ECC数据和该程序数据产生第二ECC数据,该程序数据、该第一ECC数据以及该第二ECC数据被同时存储在该快闪存储器装置中。
7.如权利要求6所述的系统,其中,该第一纠错方法为线性块方法,以及该第二纠错方法为最大似然方法。
8.如权利要求6所述的系统,其中,该第二ECC块通过使用在从该快闪存储器装置读取的数据中包括的该第二ECC数据来纠正从该快闪存储器装置读取的数据的错误,并且该第一ECC块使用在从该第二ECC块输出的读取数据中包括的该第一ECC数据来纠正该读取数据的错误。
9.如权利要求6所述的系统,其中,该第二ECC块通过将奇偶校验数据添加至该程序数据和该第一ECC数据而产生该第二ECC数据。
10.如权利要求6所述的系统,其中,该快闪存储器装置包括存储该程序数据的第一存储区域、以及存储该第一ECC数据和该第二ECC数据的第二存储区域。
11.如权利要求10所述的系统,其中,该第一存储区域的各个存储器单元存储M比特数据,并且该第二存储区域的各个存储器单元存储1比特数据。
12.如权利要求6所述的系统,其中,该存储器控制器安装在计算系统的主板上。
13.如权利要求6所述的系统,其中,该快闪存储器装置和该存储器控制器构成存储器卡。
14.一种存储器系统,包括:
快闪存储器装置,其存储M比特数据,M为大于或等于2的正整数;以及
存储器控制器,其控制该快闪存储器装置,
其中该存储器控制器包括:
第一ECC块,其从将要存储在该快闪存储器装置中的程序数据产生CRC(循环冗余校验)值并且输出第一数据样式;以及
第二ECC块,其根据第一纠错方法从该第一数据样式产生第一ECC数据并且输出第二数据样式;以及
第三ECC块,其根据第二纠错方法从该第二数据样式产生第二ECC数据并且输出第三数据样式。
15.如权利要求14所述的系统,其中,该第一纠错方法为线性块方法,以及该第二纠错方法为最大似然方法。
16.如权利要求14所述的系统,其中,该第三ECC块使用包括在从该快闪存储器装置读取的数据中的该第二ECC数据来纠正从该快闪存储器装置读取的数据的错误,该第二ECC块使用包括在从该第三ECC块输出的读取数据中的该第一ECC数据来纠正该读取数据的错误,并且该第一ECC块使用包括在从该第二ECC块输出的读取数据中的CRC值来检测该读取数据是否具有错误。
17.如权利要求16所述的系统,其中,该第三ECC块通过将奇偶校验数据添加至该第二数据样式来产生该第二ECC数据。
18.如权利要求16所述的系统,其中,该快闪存储器装置包括:存储该程序数据的第一存储区域;以及存储该CRC值、该第一ECC数据以及该第二ECC数据的第二存储区域。
19.如权利要求18所述的系统,其中,该第一存储区域的各个存储器单元存储M比特数据,以及该第二存储区域的各个存储器单元存储1比特数据。
20.一种用于纠正存储在快闪存储器装置中的M比特数据的错误的方法,M为大于或等于2的正整数,该方法包括:
根据第一纠错方法,从将要存储在该快闪存储器装置中的程序数据产生第一ECC数据;以及
根据第二纠错方法,从自第一ECC块输出的该第一ECC数据和该程序数据产生第二ECC数据,该程序数据、该第一ECC数据以及该第二ECC数据被同时存储在该快闪存储器装置中。
21.如权利要求20所述的方法,还包括:
使用包括在从该快闪存储器装置读取的数据中的该第二ECC数据来纠正从该快闪存储器装置读取的数据的错误;以及
使用包括在从第二ECC块输出的读取数据中的该第一ECC数据来纠正该读取数据的错误。
22.如权利要求20所述的方法,其中,该第一纠错方法为线性块方法,以及该第二纠错方法为最大似然方法。
23.如权利要求20所述的方法,其中,该第二ECC数据是通过将奇偶校验数据添加至该程序数据和该第一ECC数据而产生的。
24.如权利要求20所述的方法,其中,该快闪存储器装置是NAND快闪存储器装置、NOR快闪存储器装置、PRAM以及MRAM中的一个。
25.如权利要求20所述的方法,还包括:
将该程序数据存储在该快闪存储器装置的第一存储区域中,以及将该第一ECC数据和该第二ECC数据存储在该快闪存储器装置的第二存储区域中。
26.如权利要求25所述的方法,还包括将M比特数据存储在该第一存储区域的各个存储器单元中,以及将1比特数据存储在该第二存储区域的各个存储器单元中。
27.一种用于纠正存储在快闪存储器装置中的M比特数据的错误的方法,M为大于或等于2的正整数,该方法包括:
从将要存储在该快闪存储器装置中的程序数据产生CRC(循环冗余校验)值并且输出第一数据样式;
根据第一纠错方法,从该第一数据样式产生第一ECC数据并输出第二数据样式;以及
根据第二纠错方法,从该第二数据样式产生第二ECC数据并输出第三数据样式,包括该程序数据、该CRC值、该第一ECC数据以及该第二ECC数据的该第三数据样式被存储在快闪存储器装置中。
28.如权利要求27所述的方法,还包括:
使用包括在从该快闪存储器装置中读取的数据中的该第二ECC数据来纠正从该快闪存储器存储装置读取的数据中的错误;
使用包括在从第三ECC块输出的读取数据中的该第一ECC数据来纠正该读取数据的错误;以及
使用包括在从第二ECC块输出的读取数据中的该CRC值来检测该读取数据是否具有错误。
29.如权利要求27所述的方法,其中,该第二ECC数据是通过将奇偶校验数据添加至该第二数据样式而产生的。
30.如权利要求27所述的方法,还包括:
将该程序数据存储在该快闪存储器装置的第一存储区域中,以及将该CRC值、该第一ECC数据以及该第二ECC数据存储在该快闪存储器装置的第二存储区域中。
31.如权利要求30所述的方法,还包括将M比特数据存储在该第一存储区域的各个存储器单元中,以及将1比特数据存储在该第二存储区域的各个存储器单元中。
CN2008100920056A 2007-01-03 2008-01-03 纠错码控制器和包括该纠错码控制器的存储器系统 Active CN101256842B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR732/07 2007-01-03
KR1020070000732A KR100845529B1 (ko) 2007-01-03 2007-01-03 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템

Publications (2)

Publication Number Publication Date
CN101256842A CN101256842A (zh) 2008-09-03
CN101256842B true CN101256842B (zh) 2013-03-06

Family

ID=39510069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100920056A Active CN101256842B (zh) 2007-01-03 2008-01-03 纠错码控制器和包括该纠错码控制器的存储器系统

Country Status (5)

Country Link
US (2) US8112689B2 (zh)
JP (1) JP2008165805A (zh)
KR (1) KR100845529B1 (zh)
CN (1) CN101256842B (zh)
DE (1) DE102008003113B4 (zh)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 오류 제어 코드 장치 및 그 방법
US8051358B2 (en) * 2007-07-06 2011-11-01 Micron Technology, Inc. Error recovery storage along a nand-flash string
US8065583B2 (en) 2007-07-06 2011-11-22 Micron Technology, Inc. Data storage with an outer block code and a stream-based inner code
JP4564520B2 (ja) * 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US8499229B2 (en) * 2007-11-21 2013-07-30 Micro Technology, Inc. Method and apparatus for reading data from flash memory
US8046542B2 (en) * 2007-11-21 2011-10-25 Micron Technology, Inc. Fault-tolerant non-volatile integrated circuit memory
JP5166074B2 (ja) 2008-02-29 2013-03-21 株式会社東芝 半導体記憶装置、その制御方法、および誤り訂正システム
KR101483190B1 (ko) * 2008-09-05 2015-01-19 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
US8806293B2 (en) 2008-10-09 2014-08-12 Micron Technology, Inc. Controller to execute error correcting code algorithms and manage NAND memories
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
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
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of 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
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
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
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of 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
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
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
TWI514405B (zh) * 2012-06-08 2015-12-21 Silicon Motion Inc 修正快閃記憶體之至少一儲存單元之資料位元的方法、控制器及記憶體裝置
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
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 中兴通讯股份有限公司 一种数据保护方法、装置及设备
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory 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
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
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1175311A (zh) * 1994-12-27 1998-03-04 英特尔公司 用于快速eeprom存贮器阵列的错误管理处理

Family Cites Families (20)

* Cited by examiner, † Cited by third party
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 株式会社東芝 記憶システム
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 記録再生装置
EP1496519B1 (en) 1998-01-21 2006-08-23 Sony Corporation Encoding method and memory apparatus
JP3975245B2 (ja) * 1999-12-16 2007-09-12 株式会社ルネサステクノロジ 記録再生装置および半導体メモリ
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 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1175311A (zh) * 1994-12-27 1998-03-04 英特尔公司 用于快速eeprom存贮器阵列的错误管理处理

Also Published As

Publication number Publication date
US8140935B2 (en) 2012-03-20
US20120011416A1 (en) 2012-01-12
CN101256842A (zh) 2008-09-03
KR100845529B1 (ko) 2008-07-10
US8112689B2 (en) 2012-02-07
US20080163023A1 (en) 2008-07-03
DE102008003113B4 (de) 2022-07-28
KR20080064029A (ko) 2008-07-08
JP2008165805A (ja) 2008-07-17
DE102008003113A1 (de) 2008-07-17

Similar Documents

Publication Publication Date Title
CN101256842B (zh) 纠错码控制器和包括该纠错码控制器的存储器系统
US9043678B2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
US9170898B2 (en) Apparatus and methods for providing data integrity
US8402217B2 (en) Implementing RAID in solid state memory
US9152512B2 (en) Apparatus and methods for providing data integrity
CN107133122B (zh) 存储器控制方法
US11544144B2 (en) Read recovery control circuitry
CN103631670A (zh) 存储器储存装置、存储器控制器与数据处理方法
US11914876B2 (en) Asynchronous power loss handling approach for a memory sub-system
US20130104003A1 (en) Memory system and method for recording/reproducing data thereof
CN111796774B (zh) 存储器控制方法、存储器存储装置及存储器控制器
US20220164107A1 (en) Using bad blocks for system data in memory
CN112051963B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN117632579B (zh) 存储器控制方法和存储器存储装置
US11842787B2 (en) Error read flow component
US20230317195A1 (en) Error Correction in a Memory Device having an Error Correction Code of a Predetermined Code Rate
US20230195570A1 (en) Reduction of Errors in Data Retrieved from a Memory Device to Apply an Error Correction Code of a Predetermined Code Rate
CN117632579A (zh) 存储器控制方法和存储器存储装置
CN113227979A (zh) 用于存储器子系统的容许故障错误校正布局
CN117409845A (zh) 分组管理方法、存储器存储装置及存储器控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant