CN101211667A - 降低误纠概率的纠错电路和方法和包括该电路的存储设备 - Google Patents
降低误纠概率的纠错电路和方法和包括该电路的存储设备 Download PDFInfo
- Publication number
- CN101211667A CN101211667A CNA2007101962579A CN200710196257A CN101211667A CN 101211667 A CN101211667 A CN 101211667A CN A2007101962579 A CNA2007101962579 A CN A2007101962579A CN 200710196257 A CN200710196257 A CN 200710196257A CN 101211667 A CN101211667 A CN 101211667A
- Authority
- CN
- China
- Prior art keywords
- data
- ecc
- errors present
- coded data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/267—Reconfiguring circuits for testing, e.g. LSSD, partitioning
-
- 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
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
- H03M13/3715—Adaptation to the number of estimated errors or to the channel state
-
- 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
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了降低误纠概率的纠错电路和方法以及包括该电路的半导体存储设备。该纠错电路包括错误校验和纠正(ECC)编码器和ECC解码器。ECC编码器根据信息数据和生成多项式生成允许h位纠错的校正子数据,其中“h”是2或大于2的整数。ECC解码器可以根据包括信息和校正子数据的编码数据,在检测关于信息数据中的最多(h-j)位的错误位置的单一操作模式下操作,其中“j”是1或大于1的整数。可替代地,ECC解码器可以根据包括信息和校正子数据的编码数据,在检测关于信息数据中的最多h位的错误位置的第一操作模式下,或在检测关于信息数据中的最多(h-j)位的错误位置的第二操作模式下操作。于是,降低误纠概率,因此,可以提高数据可靠性。
Description
交叉参考相关申请
本申请要求2006年12月29日向韩国知识产权局提出的韩国专利申请第10-2006-0137919号的优先权,特此全文引用以供参考。
技术领域
本发明涉及半导体存储设备,尤其涉及纠错电路、纠错方法和包括纠错电路的半导体存储设备。
背景技术
随着半导体存储设备的存储容量增大,需要可以恢复有缺陷存储单元中的错误的纠错电路。传统纠错电路可以划分成利用冗余存储单元的纠错电路并利用错误校验和纠正(ECC)的纠错电路。
包括利用冗佘存储单元的纠错电路的半导体存储设备含有正常存储单元和冗余存储单元。这里,当写入或读取数据时,半导体存储设备用冗余存储单元取代含有错误的存储单元。通常,动态随机存取存储(DRAM)设备使用这种利用冗余存储单元的纠错电路。
同时,包括利用ECC的纠错电路的半导体存储设备生成和存储冗余数据(称为奇偶校验数据或校正子(syndrome)数据)以及数据位,此后利用奇偶校验位确定是否出现了错误,以便纠正错误。利用ECC的纠错电路通常用于只读存储(ROM)设备,尤其用于包括电可擦除可编程只读存储(EEPROM)单元的闪速存储设备。
但是,当错误出现在可纠错范围之外时,利用ECC的纠错电路可能误纠错,也就是说,存在误纠概率。例如,在针对528字节信息数据,使用5位检错码(EDC)和4位ECC的情况下,误纠概率是大约P6×0.0015,其中,P6是出现6位或更多位错误的概率。在大多数情况下,对于这样的纠错性能,在系统操作中不会有什么问题。但是,在特殊状况下,譬如,当由于半导体存储设备突然变差而出现大量错误时,或当由于电源故障而出现许多突发错误时,即使适度的纠错性能也会降低系统稳定性。于是,需要一种降低误纠概率的手段。
传统上,为了降低误纠概率,加入循环冗余校验(CRC)数据,并利用CRC数据检测ECC中的误纠。图1是传统编码器的功能方块图。参照图1,传统半导体存储设备包括编码信息数据的CRC编码器12和ECC编码器14。
CRC编码器12接收来自主机的主机写入数据(或信息数据)。CRC编码器12生成CRC数据(或CRC奇偶校验数据),并且将CRC数据(或CRC奇偶校验数据)加入信息数据中。CRC奇偶校验数据可以是如图2所示的16位数据。
ECC编码器14针对带有CRC数据的信息数据,即,“主机写入数据+CRC奇偶校验数据”,生成用于ECC的ECC奇偶校验或校正子数据。当ECC编码器14是4位ECC编码器时,ECC奇偶校验数据可以是52位数据。如果加入偶数奇偶校验位或奇数奇偶校验位,ECC奇偶校验数据可以是如图2所示的53位数据。
图2例示了传统编码数据的结构的例子。参照图2,在经过CRC编码器12处理之后,编码数据是“主机写入数据+CRC奇偶校验数据”。在经过ECC编码器14处理之后,编码数据是存储在存储器中的“主机写入数据+CRC奇偶校验数据+ECC奇偶校验数据”。
图3是传统解码器的功能方块图。参照图3,传统半导体存储设备包括ECC解码器22、CRC解码器24和选择器26。传统半导体存储设备以与编码次序相反的次序进行解码,也就是说,在对从存储器中读取的数据进行ECC解码之后进行CRC解码。
ECC解码器22通过对从存储器中读取的数据进行ECC解码来检测错误位置,并且根据所检测到的错误位置纠正错误位。CRC解码器24接收来自ECC解码器22的纠正数据,以与CRC编码器12所进行相同的方式生成CRC数据,将生成的CRC数据与从存储器中读取的CRC数据相比较,并且确定是否出现了错误。CRC解码器24根据确定结果输出成功/失败信号。选择器26响应成功/失败信号,选择从ECC解码器22输出的纠正数据或预定不可纠正错误数据,并且将所选数据输出到主机作为主机读取数据。
在组合CRC和ECC的上述传统方法中,5位EDC/4位ECC的误纠概率降到P6×0.0015×2-16,其中,P6是出现6位或更多位错误的概率。与不使用CRC电路的方法相比提高了。但是,当加入CRC电路时,必须加入CRC编解码器(即,CRC编码器加上CRC解码器)和控制CRC编解码器的控制逻辑。另外,由于CRC应该在编码和解码期间进行,所以需要附加时间(即,附加时钟周期)。
因此,需要在使附加硬件最少的同时,有效降低ECC方法的误纠概率的手段。而且,使纠错时间的增加最小地降低误纠概率的电路和方法也是人们所希望的。
发明内容
本发明的一些实施例提供了将比用于编码更少的ECC位用于解码以降低误纠概率的纠错电路。本发明的实施例还提供了配置成根据多位错误的概率有选择在两种可替代模式之一下操作的电路。本发明的实施例有利地消除了对CRC编码器、CRC解码器和相关逻辑电路的需要。于是,本发明的实施例与利用CRC编解码器的传统手段相比,减少了硬件和缩短了纠错时间。
根据本发明的一个方面,提供了包含如下的存储设备:错误校验和纠正(ECC)编码器,配置成根据信息数据和生成多项式生成允许h位纠错的校正子数据,其中,“h”是2或大于2的整数,该编码器进一步配置成输出编码数据,该编码数据包括信息数据和校正子数据;和耦合成接收该编码数据的ECC解码器,该ECC解码器配置成在第一操作模式下,根据编码数据检测关于信息数据中的最多(h-j)位的错误位置,其中,“j”是1或大于1的整数。
根据本发明的另一个方面,提供了包含如下的纠错方法:根据信息数据和生成多项式生成允许h位纠错的校正子数据,其中,“h”是2或大于2的整数;将编码数据存储在存储器中,该编码数据包括信息数据和校正子数据;从存储器中读取编码数据;根据编码数据检测关于信息数据中的最多(h-j)位的错误位置,其中,“j”是1或大于1的整数;和根据所检测到的错误位置纠正编码数据。
根据本发明的另一个方面,提供了包含如下的纠错方法:根据信息数据和生成多项式生成允许h位纠错的校正子数据,其中,“h”是2或大于2的整数;将编码数据存储在存储器中,该编码数据包括信息数据和校正子数据;从存储器中读取编码数据;确定在第一操作模式下还是在第二操作模式下进行;如果在第一操作模式下,利用该编码数据检测关于信息数据中的最多(h-j)位的第一错误位置,其中,“j”是1或大于1的整数;如果在第二操作模式下,利用该编码数据检测关于信息数据中的最多h位的第二错误位置;和根据第一或第二错误位置纠正编码数据。
附图说明
通过参照附图对本发明的示范性实施例进行详细描述,本发明的上面和其它特征和优点将更加显而易见,在附图中:
图1是传统编码器的功能方块图;
图2例示了传统编码数据的结构;
图3是传统解码器的功能方块图;
图4是根据本发明一些实施例的半导体存储设备的功能方块图;
图5是根据本发明其它实施例的半导体存储设备的功能方块图;
图6例示了根据本发明一些实施例编码前后的数据;
图7是如图5所示的半导体存储设备的详细方块图;
图8是如图4所示的半导体存储设备的详细方块图;和
图9是根据本发明一些实施例的错误校验和纠正(ECC)编码器的功能方块图。
具体实施方式
现在参照示出本发明实施例的附图更充分地描述本发明。但是,本发明可以以许多不同形式实施,不应该理解为局限于本文给出的实施例。更确切地说,提供这些实施例是为了使本公开变得详尽和完整,向本领域的普通技术人员充分传达本发明的范围。在附图中,为了清楚起见,可能夸大了层和区域的尺寸和相对尺寸。相同的标号自始至终表示相同的元件。
应该明白,当一个元件被称为与另一个元件“连接”或“耦合”时,它可以直接与其它元件连接或耦合或可能存在中间元件。相反,当一个元件被称为与另一个元件“直接连接”或“直接耦合”时,不存在中间元件。正如本文所使用的那样,术语“和/或”包括一个或多个相关列出术语的任何和所有组合,并且可以简化成“/”。
本文使用的术语只用于描述特定实施例,而无意限制本发明。正如本文所使用的那样,单数形式“一个”、“一种”和“该”也有意包括复数形式,除非在上下文中另有清楚说明。还应该明白,术语“包含”或“包括”当用在本说明书中,规定存在所述特征、区域、整数、步骤、操作、元件和/或部件,但不排除存在或附加一个或多个其它特征、区域、整数、步骤、操作、元件、部件和/或它们的群组。
除非另有定义,本文使用的所有术语(包括技术和科学术语)具有与本发明所属的领域的普通技术人员通常所理解相同的含义。还应该明白,像定义在常用词典中的那些那样的术语应该解释为具有与在现有技术和/或本申请的背景下它们的含义一致的含义,而不应该在理想化或过分正式的意义上加以解释,除非本文明确这样定义。
图4是根据本发明一些实施例的半导体存储设备的功能方块图。半导体存储设备300包括与错误校验和纠正(ECC)电路耦合的存储器核心310,该错误校验和纠正(ECC)电路包括ECC编码器420和ECC解码器430。
ECC编码器420根据从主机(未示出)接收到的信息数据WR_DATA和生成多项式(generator polynomial),生成允许h位纠错(其中,“h”是2或大于2的整数)的校正子数据。换句话说,ECC编码器420利用如后所述的h位ECC生成多项式,编码信息数据WR_DATA。将包括信息数据WR_DATA和校正子数据的编码数据存储在存储器核心310中。
图6例示了根据本发明一些实施例编码前后的数据。参照图6,编码前的数据(a)是信息数据,而编码数据(b)是带有校正子数据的信息数据。编码数据(b)在本文中也称为ECC字。
进一步参照图4,存储器核心310是用于存储数据的存储块,例如,存储单元阵列。存储单元阵列可以包括含有浮置栅极的电可擦除可编程只读存储(EEPROM)单元,但本发明不局限于此。
ECC解码器430利用从存储器核心310中读取的编码数据计算错误位置。错误位置指示含有错误的位的地点。ECC解码器430也可以根据所计算出的错误位置纠正含有错误的位。在例示的实施例中,ECC解码器430是可以纠正多达(h-j)位错误的(h-j)位ECC解码器。ECC解码器430可以是可以检测(h-j+1)位错误的解码器。换句话说,ECC解码器430可以是(h-j)位ECC/(h-j+1)位检错码(EDC)解码器。这里,“j”是1或大于1的整数。将纠错数据RD_DATA从ECC解码器433输出到主机。
如上所述,根据本发明一些实施例的纠错电路利用h位(例如,5位)ECC生成多项式进行编码,但通过解码不到h位(例如,4位)进行纠错(从而缩小纠错半径)。其结果是,当使用5位ECC编码和4位ECC解码时,误纠概率降到大约P6×0.0015×2-13,其中P6是出现6位或更多位错误的概率。
图5是根据本发明其它实施例的半导体存储设备500的功能方块图。半导体存储设备500包括与ECC电路耦合的存储器核心310。ECC电路包括ECC编码器420和ECC解码器530。存储器核心310和ECC编码器420已经参照图4描述过,因此,这里省略对它们的详细描述。
ECC解码器530响应从主机接收到的操作模式信号MODE,在第一操作模式或第二操作模式下工作。在第一操作模式下,ECC解码器530利用从存储器核心310中读取的编码数据,计算关于最多“h”位的错误位置,并且根据所计算出的错误位置纠正含有错误的位。在第二操作模式下,ECC解码器530利用从存储器核心310中读取的编码数据,计算关于最多“h-j”位的错误位置,并且根据所计算出的错误位置纠正含有错误的位。这里,“j”是1或大于1的整数。换句话说,ECC解码器530根据操作模式信号MODE,起h位ECC解码器或(h-j)位ECC解码器的作用。当ECC解码器530起(h-j)位ECC解码器的作用时,ECC解码器530的功能与如图4所示的ECC解码器430的实施例相同。当ECC解码器530起h位ECC解码器的作用时,ECC解码器530可以检测(h+1)位错误,即,成为h位ECC/(h+1)位EDC解码器。下表总结了关于h位ECC编码器420的ECC解码器530的可选配置。
操作模式 | ECC位 | EDC位 |
第一 | h | h+1 |
第二 | h-j | h-j+1 |
将纠错数据RD_DATA从ECC解码器530输出到主机。如下所述,第一操作模式可能最适合正常操作状态(其中,多位错误的概率相应较低),而第二操作模式可能最适合异常操作状态(其中,多位错误的概率相应较高)。
图7是如图5所示的半导体存储设备500的详细方块图。半导体存储设备500包括串联的存储器核心310、ECC电路520以及主机接口和逻辑单元330。
主机接口和逻辑单元330可以对主机200(例如,移动设备或计算机设备的控制器)和存储器核心310之间的接口进行控制和缓冲。主机接口和逻辑单元330可以包括像静态随机存取存储器(SRAM)那样的存储器(未示出)。当主机200将数据写入半导体存储设备500中时,数据被ECC电路520编码,然后记录在存储器核心310(例如,闪速存储器核心)中。当从存储器核心310中读取数据时,数据经受ECC电路520的错误检测和纠正,然后存储在主机接口和逻辑单元330的SRAM中。主机200接着可以读取存储在SRAM中的纠错数据。主机接口和逻辑单元330可以向和从主机200发送和接收d位并行数据,其中,“d”是2或大于2的整数。
ECC电路520包括与ECC编码器420和ECC解码器530耦合的ECC绕接器(wrapper)410。ECC绕接器410从主机接口和逻辑单元330接收信息数据中的“k”位(其中,“k”是2或大于2的整数,例如,4096)。ECC绕接器410将每一个具有预定逻辑值,例如,“0”的哑数据中的(n-k)位(其中,“n-k”是1或大于1的整数,例如,66)加入信息数据中。然后,ECC绕接器410并行或串行地将“n”位(例如,4096+66=4162位)的数据输出到ECC编码器420。
图9是根据本发明一些实施例的ECC编码器420的功能方块图。ECC编码器420包括校正子发生器421和异或(XOR)运算器423。校正子发生器421的输入端与XOR运算器423的第一输入端耦合,而校正子发生器421的输出端与XOR运算器423的第二输入端耦合。
校正子发生器421从ECC绕接器410接收n位数据(即,“k”位+哑数据的(n-k)位),并且将接收到的n位数据除以预定数据,从而生成(n-k)位残余数据(即,(n-k)位的校正子数据)。预定数据是生成多项式G(x),而(n-k)由可纠错位的最大数量和/或可检错位的最大数量确定。
XOR运算器423对从ECC绕接器410接收到的n位数据和校正子数据进行XOR运算。换句话说,XOR运算器423用残余数据取代(n-k)位哑数据。
因此,ECC编码器420将(n-k)位残余数据(或校正子数据)加入k位信息数据中,从而生成n位编码数据。当用I(x)、S(x)和C(x)分别表示信息数据、校正子数据和编码数据时,它们之间的关系通过方程(1)表达。
S(x)=x(n-k)I(x)%G(x),
C(x)=x(n-k)I(x)+S(x)=Q(x)G(x), (1)
其中,x(n-k)I(x)通过沿着最高有效位(MSB)的方向将k位信息数据I(x)移动(n-k)位获得,%G(x)表示模G(x)运算,而Q(x)是C(x)除以G(x)的商。
在本发明的实施例中,假设ECC编码器420是5位ECC编码器而ECC解码器530是5位ECC/4位ECC解码器。换句话说,假设“h”是5和“j”是1。在这种情况下,(n-k)是66,G(x)是66阶多项式,而S(x)是65阶多项式。
将n位编码数据输入存储器核心310中。包括在存储器核心310中的存储单元阵列可以划分成存储信息数据的区域和存储校正子数据的区域。可替代地,n位编码数据可以存储在信息数据区和校正子数据区不分开的存储单元阵列中。
当输出存储在存储器核心310中的编码数据时,从存储器核心310中读取包括k位信息数据和(n-k)位奇偶校验数据的n位编码数据,并且将其输入ECC绕接器410中。此时,ECC绕接器410可以缓存n位编码数据。
ECC解码器530包括:与ECC绕接器410耦合的第1到第5分校正子发生器431、433、435、437和439;与第1到第5分校正子发生器431、433、435、437和439耦合的系数计算器541;与系数计算器541耦合的模式设置器551;与系数计算器541耦合的错误位置检测器552;和与模式设置器551和错误位置检测器552耦合的纠错器443。
ECC解码器530也可以包括与ECC绕接器410和纠错器443耦合的奇偶校验器444。奇偶校验器444可以是奇数奇偶校验器或偶数奇偶校验器。当ECC解码器530包括奇偶校验器444时,ECC编码器420进一步包括生成关于编码数据的偶数或奇数奇偶校验位(下文称为第一奇偶校验位)的奇偶校验位发生器(未示出)。奇偶校验器444生成关于从存储器核心310读取的编码数据的偶数或奇数奇偶校验位(下文称为第二奇偶校验位),并且将它与第一奇偶校验位相比较,从而确定编码数据是否存在错误。
第1到第5分校正子发生器431、433、435、437和439将从存储器核心310输出的n位编码数据分别除以它们自己的预定数据,从而生成分校正子S1、S3、S5、S7和S9。当从存储器核心310输出的n位编码数据是R(x),而预定数据,即,第1到第5分校正子发生器431、433、435、437和439的分生成多项式分别是m1(x)、m3(x)、m5(x)、m7(x)和m9(x)时,这些数据之间的关系通过方程(2)表达:
S1(x)=R(x)%m1(x),
S3(x)=f{R(x)%m3(x)},
S5(x)=f{R(x)%m5(x)},
S7(x)=f{R(x)%m7(x)},
S9(x)=f{R(x)%m9(x)} (2)
其中,S1(x)、S3(x)、S5(x)、S7(x)和S9(x)分别是第1到第5分校正子发生器431、433、435、437和439的生成的分校正子S1、S3、S5、S7和S9,而%指示模运算。如方程(2)所示,S1(x)可以直接从R(x)%m1(x)中计算。并且,S3(x)、S5(x)、S7(x)和S9(x)可以分别利用R(x)%m3(x)、R(x)%m5(x)、R(x)%m7(x)和R(x)%m9(x)计算。
生成多项式G(x)与第1到第5分校正子发生器431、433、435、437和439的分生成多项式m1(x)、m3(x)、m5(x)、m7(x)和m9(x)之间的关系可以定义成方程(3):
G(x)=m1(x)*m3(x)*m5(x)*m7(x)*m9(x) (3)
其中“*”表示伽罗瓦(Galois)域乘法。
当第1到第5分校正子S1、S3、S5、S7和S9都是0时,编码数据中没有错误。当第1到第5分校正子S1、S3、S5、S7和S9的任何一个非0时,编码数据中的至少一位发生错误。
当发生错误时,系数计算器541响应模式设置器551的控制信号CON,利用所有或一些第1到第5分校正子S1、S3、S5、S7和S9计算错误位置的系数。模式设置器551响应从主机接收到的操作模式信号MODE设置操作模式,并且生成控制信号CON。例如,当操作模式被设置成第一操作模式时,系数计算器541利用第1到第5分校正子S1、S3、S5、S7和S9计算第一错误位置方程的系数。当操作模式被设置成第二操作模式时,系数计算器541利用第1到第4分校正子S1、S3、S5和S7计算第二错误位置方程的系数。
错误位置方程含有作为根的错误位的倒数。错误位置方程的系数σ1、σ2、σ3、σ4和σ5与分校正子S1、S3、S5、S7和S9之间的关系可以利用包括方程(4)和(5)的各种各样算法获得。
方程(4)是纠正1位错误的错误位置方程的例子:
σ1x+1=0 (4)
其中,σ1=S1,而满足一阶方程,即,方程(4)的根的倒数指示1位错误的位置。
方程(5)是纠正2位错误的错误位置方程的例子:
σ2x2+σ1x+1=0 (5)
其中,σ1=S1,σ2=(S1 3+S3)/S1,和满足二阶方程,即,方程(5)的根的倒数指示2位错误的位置。
与如上所述的方式类似,可以为纠正3位或更多位错误计算错误位置方程的系数。
在本发明的当前实施例中,系数计算器541可以计算允许在第一操作模式下纠正最多5位错误的第一错误位置方程的系数σ1、σ2、σ3、σ4和σ5。系数计算器541也被配置成计算允许在第二操作模式下纠正最多4位错误的第二错误位置方程的系数σ1、σ2、σ3和σ4。
错误位置检测器552利用系数计算器541所计算出的系数σ1、σ2、σ3和σ4或系数σ1、σ2、σ3、σ4和σ5检测错误位的位置。错误位的位置可以在获得错误位置方程的根时识别。因此,应该根据错误位的个数求解i阶(例如,i=1,2,3,4或5)错误位置方程。由于难以获得四阶或五阶错误位置方程的通解,因此可以将Chien搜索算法用于确定多项式的根。Chien搜索算法利用根是素元α的幂的事实。因此,可以在j=0到j=(n-1)的范围内将试探根(test root)表达成α-j:α-0、α-1、α-2、α-3、...、α-(n-1)。当α-j满足错误位置方程时,将第j位确定为存在错误。可以关于长度为n的每个代码进行这种操作,以便确定重复n次地将j(在0到n-1的范围内变更j)代入错误位置方程中是否满足该方程。
纠错器443根据错误位置检测器552的检测结果纠正错误位。纠错器443可以通过根据从错误位置检测器552输出的错误位置信息颠倒编码数据(或信息数据)中存在错误的位的逻辑值进行纠错。纠错器443也可以引用奇偶校验器444的输出信号和模式设置器551的输出信号,以便更精确地确定是否存在错误和错误位置。通过主机接口和逻辑单元330将从纠错器443输出的纠错数据提供给主机200。
通过实验可以看出,在半导体存储设备500的正常操作环境下,至少90%的错误是1位错误,而其余的错误是2位或更多位错误。于是,在正常状态下,出现多位(例如,6位)错误的概率极低,因此,通过5位纠错电路的误纠几乎不会发生。由于这个原因,在正常状态下,主机200可以在第一操作模式下生成操作半导体存储设备500的操作模式信号MODE。在第一操作模式下,半导体存储设备500可以利用比如图1到3所示的5位EDC/4位ECC+循环冗余校验(CRC)-16纠错电路少的硬件进行5位纠错,因此更加有效。
但是,当例如由于半导体存储设备500变差或电源故障,出现大量错误的概率显著提高时,在5位纠错的性能下误纠概率也随之提高。在这样的异常状态下,主机200可以在第二操作模式下生成操作半导体存储设备500的操作模式信号MODE。在第二操作模式下,禁止5位纠错,只进行4位纠错。于是,在第二操作模式下,ECC电路(420、430或420、530)在编码期间利用h位(例如,5位)ECC生成多项式进行编码,因此,代码之间的距离,即,汉明(Hamming)距离增大。同时,对多达比“h”位少的位数(例如,4位)进行通过解码的纠错,因此使纠错半径缩小。其结果是,也使误纠概率下降。
于是,借助于较少的硬件,本发明保持了传统5位EDC/4位ECC+CRC-16纠错电路的纠错性能和误纠概率,从而更有效地进行ECC。此外,虽然如图1到3所示的传统5位EDC/4位ECC+CRC-16纠错电路存在69位(CRC奇偶校验的16位和ECC奇偶校验的53位)的冗余数据,但根据本发明一些实施例的纠错电路存在在相似条件下比传统纠错电路少的66位冗余数据。
图8是如图4所示的半导体存储设备300的详细方块图。半导体存储设备300包括与存储器核心310和主机接口和逻辑单元330耦合的ECC电路320。ECC电路320包括与ECC编码器420和ECC解码器430耦合的ECC绕接器410。存储器核心310、主机接口和逻辑单元330、ECC绕接器410和ECC编码器420与参照图7所述的那些相同。因此,这里省略对它们的描述。
ECC解码器430包括:第1到第4分校正子发生器431、433、435和437;与第1到第4分校正子发生器431、433、435和437耦合的系数计算器441;与系数计算器441耦合的错误位置检测器452;和与错误位置检测器452耦合的纠错器443。与如图7所示的ECC解码器530相比,ECC解码器430起4位ECC解码器的作用,并且不需要第5分校正子发生器439和模式设置器551。ECC解码器430以与在第二操作模式下操作的ECC解码器530相似的方式操作。因此,省略对ECC解码器430的操作的详细描述。
在本发明的上述实施例中,纠错器443包括在ECC解码器430或530中。但是,本发明不局限于此。例如,主机接口和逻辑单元330也可以通过根据ECC解码器430或530提供的错误位置信息颠倒编码数据中存在错误的位的逻辑值纠错。可替代地,主机接口和逻辑单元330也可以将ECC解码器430或530提供的错误位置信息与从存储器核心310中读取的n位编码数据一起(或只有k位信息数据)发送到主机200。在这种情况下,可以在主机200中进行纠错。换句话说,主机200可以通过根据ECC解码器430或530提供的错误位置信息颠倒编码数据(或信息数据)中存在错误的位的逻辑值纠错。
本文所述的所有功能可以根据设计选择,用硬件、软件、或硬件和软件的组合实现。此外,软件功能可以表达成处理器可执行代码,而代码可以存储在像随机存取存储器(RAM)、硬盘驱动器、或光盘(CD)那样的处理器可读媒体中。
如上所述,根据本发明的一些实施例,可以使附加硬件和纠错时间增加最少地降低误纠概率。于是,可以提高数据可靠性。
虽然通过参照本发明的示范性实施例已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式和细节上对其作各种各样的改变,而不偏离如所附权利要求书限定的本发明的精神和范围。
Claims (20)
1.一种存储设备,包含:
错误校验和纠正(ECC)编码器,配置成根据信息数据和生成多项式生成允许h位纠错的校正子数据,其中,“h”是2或大于2的整数,该编码器进一步配置成输出编码数据,该编码数据包括信息数据和校正子数据;和
耦合成接收该编码数据的ECC解码器,该ECC解码器配置成在第一操作模式下,根据编码数据检测关于信息数据中的最多(h-j)位的错误位置,其中,“j”是1或大于1的整数。
2.根据权利要求1所述的存储设备,其中,“j”是1。
3.根据权利要求1所述的存储设备,其中,该ECC解码器包含:
分校正子发生器,配置成利用该编码数据生成至少两个分校正子;
系数计算器,配置成利用至少两个分校正子计算错误位置方程的系数;和
错误位置检测器,配置成根据该系数检测该错误位置。
4.根据权利要求3所述的存储设备,其中,ECC解码器进一步包含纠错器,配置成根据所检测到的错误位置纠正编码数据。
5.根据权利要求3所述的存储设备,其中,该ECC编码器包含奇偶校验位发生器,配置成生成关于编码数据的第一奇偶校验位,
其中,该ECC解码器进一步包含奇偶校验器,配置成利用该编码数据生成第二奇偶校验位,并且将第二奇偶校验位与第一奇偶校验位相比较,和
其中,该第一和第二奇偶校验位的每一个是偶数奇偶校验位和奇数奇偶校验位之一。
6.根据权利要求1所述的存储设备,进一步包含存储器核心,该存储器核心与ECC编码器和ECC解码器耦合,该存储器核心被配置成存储编码数据。
7.根据权利要求6所述的存储设备,其中,该存储器核心包含电可擦除可编程只读存储(EEPROM)单元。
8.根据权利要求7所述的存储设备,进一步包含与ECC解码器耦合的主机接口和逻辑单元,该主机接口和逻辑单元被配置成将从存储器核心中读取的编码数据和错误位置数据发送到主机,
其中,该主机被配置成根据错误位置数据纠正编码数据。
9.根据权利要求1所述的存储设备,其中,该ECC解码器被进一步配置成在第二操作模式下,根据编码数据检测关于信息数据中的最多“h”位的错误位置,其中,该ECC解码器响应从主机接收到的操作模式信号,在第一操作模式或第二操作模式下操作。
10.根据权利要求9所述的存储设备,其中,该ECC解码器包含:
模式设置器,配置成响应操作模式信号设置操作模式,并生成控制信号;
分校正子发生器,配置成利用该编码数据生成至少两个分校正子;
系数计算器,配置成根据控制信号,利用至少两个分校正子计算第一错误位置方程的系数或第二错误位置方程的系数;和
错误位置检测器,配置成根据从系数计算器输出的系数检测错误位置。
11.根据权利要求10所述的存储设备,其中,该ECC解码器进一步包含纠错器,配置成根据所检测到的错误位置纠正编码数据。
12.根据权利要求9所述的存储设备,进一步包含存储器核心,该存储器核心与ECC编码器和ECC解码器耦合,该存储器核心被配置成存储编码数据。
13.根据权利要求12所述的存储设备,其中,该存储器核心包含电可擦除可编程只读存储(EEPROM)单元。
14.一种纠错方法,包含:
根据信息数据和生成多项式生成允许h位纠错的校正子数据,其中,“h”是2或大于2的整数;
将编码数据存储在存储器中,该编码数据包括信息数据和校正子数据;
从存储器中读取编码数据;
根据编码数据检测关于信息数据中的最多(h-j)位的错误位置,其中,“j”是1或大于1的整数;和
根据所检测到的错误位置纠正编码数据。
15.根据权利要求14所述的纠错方法,其中,该检测错误位置包含:
利用该编码数据生成至少两个分校正子;
利用至少两个分校正子计算错误位置方程的系数;和
根据该系数检测该错误位置。
16.根据权利要求15所述的纠错方法,进一步包含:
在存储之前,根据信息数据和编码数据的至少一个生成第一奇偶校验位;和
在读取之后,根据信息数据和编码数据的至少一个生成第二奇偶校验位,
其中,该检测错误位置包括比较第一奇偶校验位和第二奇偶校验位。
17.一种纠错方法,包含:
根据信息数据和生成多项式生成允许h位纠错的校正子数据,其中,“h”是2或大于2的整数;
将编码数据存储在存储器中,该编码数据包括信息数据和校正子数据;
从存储器中读取编码数据;
确定在第一操作模式下还是在第二操作模式下进行;
如果在第一操作模式下,利用该编码数据检测关于信息数据中的最多(h-j)位的第一错误位置,其中,“j”是1或大于1的整数;
如果在第二操作模式下,利用该编码数据检测关于信息数据中的最多h位的第二错误位置;和
根据第一或第二错误位置纠正编码数据。
18.根据权利要求17所述的纠错方法,其中,检测第一错误位置包含:
利用该编码数据生成至少两个分校正子;
利用至少两个分校正子计算第一错误位置方程的系数;和
根据第一错误位置方程的系数检测第一错误位置。
19.根据权利要求17所述的纠错方法,其中,确定在第一操作模式下还是在第二操作模式下进行基于从主机接收到的操作模式信号。
20.根据权利要求17所述的纠错方法,其中,第一操作模式与信息数据的多位错误与正常操作状态相比的增加相联系。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060137919A KR100856129B1 (ko) | 2006-12-29 | 2006-12-29 | 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치 |
KR137919/06 | 2006-12-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101211667A true CN101211667A (zh) | 2008-07-02 |
Family
ID=39465957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101962579A Pending CN101211667A (zh) | 2006-12-29 | 2007-11-30 | 降低误纠概率的纠错电路和方法和包括该电路的存储设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8091010B2 (zh) |
JP (1) | JP2008165808A (zh) |
KR (1) | KR100856129B1 (zh) |
CN (1) | CN101211667A (zh) |
DE (1) | DE102007058828A1 (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789269A (zh) * | 2008-07-17 | 2010-07-28 | 马维尔国际贸易有限公司 | 固态存储器装置中的数据恢复 |
CN101840359A (zh) * | 2009-03-18 | 2010-09-22 | 三星电子株式会社 | 数据处理系统及其操作方法 |
WO2012119447A1 (zh) * | 2011-03-10 | 2012-09-13 | 中国科学院微电子研究所 | 复用编码器的编译码存储装置及方法 |
CN101794623B (zh) * | 2009-06-01 | 2013-11-06 | 深圳市朗科科技股份有限公司 | 存储设备的纠错装置及方法 |
CN104616698A (zh) * | 2015-01-28 | 2015-05-13 | 山东华翼微电子技术股份有限公司 | 一种充分利用存储器冗余单元的方法 |
CN105161137A (zh) * | 2015-08-27 | 2015-12-16 | 大唐微电子技术有限公司 | 一种MLC架构中Nand Flash控制器电路实现装置 |
CN107943609A (zh) * | 2016-10-12 | 2018-04-20 | 三星电子株式会社 | 存储器模块、存储器控制器和系统及其相应操作方法 |
CN108880567A (zh) * | 2017-05-11 | 2018-11-23 | 华邦电子股份有限公司 | 错误检查和纠正解码器 |
CN109542666A (zh) * | 2017-09-21 | 2019-03-29 | 三星电子株式会社 | 用于支持纠错码的装置及其测试方法 |
CN109582484A (zh) * | 2017-09-29 | 2019-04-05 | 辉达公司 | 防范在汽车系统中实现的纠错码(ecc)中的错误 |
US10417086B2 (en) | 2017-08-11 | 2019-09-17 | Winbond Electronics Corp. | Data write method and memory storage device using the same |
CN110352407A (zh) * | 2017-01-05 | 2019-10-18 | 德克萨斯仪器股份有限公司 | 纠错码存储器 |
CN110462593A (zh) * | 2017-03-17 | 2019-11-15 | 美光科技公司 | 用于提供冗余错误校正的存储器中的错误校正码(ecc)操作 |
CN110993011A (zh) * | 2018-10-03 | 2020-04-10 | Arm 有限公司 | 存储器测试技术 |
CN111510158A (zh) * | 2020-04-15 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 量子电路的容错纠错解码方法、装置及芯片 |
CN112564858A (zh) * | 2020-11-05 | 2021-03-26 | 山东中科泰岳电子科技有限公司 | 卫星导航用crc纠错方法及系统 |
CN112951313A (zh) * | 2019-12-11 | 2021-06-11 | 三星电子株式会社 | 用于纠错的存储控制器、包括其的存储设备及其操作方法 |
CN113366449A (zh) * | 2018-12-20 | 2021-09-07 | 美光科技公司 | 基于存储器子系统的损耗的错误校正码改变 |
CN114203228A (zh) * | 2020-09-18 | 2022-03-18 | 长鑫存储技术有限公司 | 存储器 |
US11494265B2 (en) | 2017-09-29 | 2022-11-08 | Nvidia Corporation | Securing against errors in an error correcting code (ECC) implemented in an automotive system |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005012069A1 (de) * | 2005-03-16 | 2006-09-21 | Robert Bosch Gmbh | Verfahren zur Fehlerbehandlung |
KR101437396B1 (ko) * | 2008-02-27 | 2014-09-05 | 삼성전자주식회사 | 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법 |
JP4672743B2 (ja) * | 2008-03-01 | 2011-04-20 | 株式会社東芝 | 誤り訂正装置および誤り訂正方法 |
TWI396202B (zh) * | 2008-11-14 | 2013-05-11 | Phison Electronics Corp | 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 |
US8468417B2 (en) | 2009-02-18 | 2013-06-18 | Micron Technology, Inc. | Data integrity in memory controllers and methods |
JP5303325B2 (ja) * | 2009-03-18 | 2013-10-02 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
KR101062755B1 (ko) * | 2009-07-29 | 2011-09-06 | 주식회사 하이닉스반도체 | Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법 |
US8413015B2 (en) * | 2009-09-21 | 2013-04-02 | Sandisk Technologies Inc. | Nonvolatile memory controller with scalable pipelined error correction |
KR101678404B1 (ko) * | 2010-02-25 | 2016-11-23 | 삼성전자주식회사 | 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법 |
JP2013029882A (ja) * | 2011-07-26 | 2013-02-07 | Toshiba Corp | メモリコントローラ、半導体記憶装置および復号方法 |
CN103733521A (zh) * | 2011-08-24 | 2014-04-16 | 三菱电机株式会社 | 纠错解码装置 |
US8924815B2 (en) * | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
KR101307792B1 (ko) * | 2011-12-27 | 2013-09-12 | 한국과학기술원 | 다중-쓰레드 비씨에이치 인코더, 비씨에이치 디코더, 이를 포함하는 스토리지 디바이스 및 스토리지 시스템 |
US8996960B1 (en) * | 2012-06-26 | 2015-03-31 | Inphi Corporation | Vertical error correction code for DRAM memory |
JP2014082574A (ja) * | 2012-10-15 | 2014-05-08 | Samsung Electronics Co Ltd | 誤り検出訂正回路、及びメモリ装置 |
US9300329B2 (en) | 2012-11-08 | 2016-03-29 | Sk Hynix Memory Solutions Inc. | Turbo-product codes (TPC) with interleaving |
US8996966B2 (en) | 2013-02-27 | 2015-03-31 | Kabushiki Kaisha Toshiba | Error correction device and error correction method |
CN105190766A (zh) * | 2013-03-25 | 2015-12-23 | 惠普发展公司,有限责任合伙企业 | 具有错误纠正逻辑的存储器设备 |
US9559727B1 (en) | 2014-07-17 | 2017-01-31 | Sk Hynix Memory Solutions Inc. | Stopping rules for turbo product codes |
US9690517B2 (en) | 2015-05-22 | 2017-06-27 | Texas Instruments Incorporated | Dual-mode error-correction code/write-once memory codec |
KR102296738B1 (ko) * | 2015-06-01 | 2021-09-01 | 삼성전자 주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 |
US10522237B2 (en) | 2015-08-07 | 2019-12-31 | Mentor Graphics Corporation | Low power VLSI designs using circuit failure in sequential cells as low voltage check for limit of operation |
KR102281751B1 (ko) * | 2015-10-01 | 2021-07-27 | 에스케이하이닉스 주식회사 | 플래시 메모리 시스템 동작 방법 |
JPWO2018025570A1 (ja) * | 2016-08-01 | 2019-05-30 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、および通信システム |
US9966125B2 (en) | 2016-09-15 | 2018-05-08 | Toshiba Memory Corporation | Memory device |
TWI625620B (zh) * | 2017-05-12 | 2018-06-01 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其讀取方法 |
KR102258140B1 (ko) | 2017-07-06 | 2021-05-28 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템 |
JP6861611B2 (ja) * | 2017-11-07 | 2021-04-21 | ルネサスエレクトロニクス株式会社 | 半導体装置及びそれを備えた半導体システム |
WO2019222958A1 (en) | 2018-05-24 | 2019-11-28 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
US11816043B2 (en) | 2018-06-25 | 2023-11-14 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of I/O requests |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US10839935B2 (en) | 2019-02-05 | 2020-11-17 | International Business Machines Corporation | Dynamic redundancy for memory |
JP2020150515A (ja) | 2019-03-15 | 2020-09-17 | キオクシア株式会社 | 誤り訂正回路及びメモリシステム |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11617282B2 (en) | 2019-10-01 | 2023-03-28 | Alibaba Group Holding Limited | System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US11379447B2 (en) | 2020-02-06 | 2022-07-05 | Alibaba Group Holding Limited | Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller |
US11200114B2 (en) * | 2020-03-17 | 2021-12-14 | Alibaba Group Holding Limited | System and method for facilitating elastic error correction code in memory |
US11449386B2 (en) | 2020-03-20 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11301173B2 (en) | 2020-04-20 | 2022-04-12 | Alibaba Group Holding Limited | Method and system for facilitating evaluation of data access frequency and allocation of storage device resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
US11327836B1 (en) | 2020-09-29 | 2022-05-10 | Xilinx, Inc. | Protection of data on a data path in a memory system |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62194745A (ja) * | 1986-02-20 | 1987-08-27 | Nec Corp | 誤り訂正回路 |
JPH02112032A (ja) * | 1988-10-21 | 1990-04-24 | Alpine Electron Inc | Cd−romのエラー訂正方法 |
JP2721099B2 (ja) * | 1991-12-18 | 1998-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法 |
JP3999822B2 (ja) * | 1993-12-28 | 2007-10-31 | 株式会社東芝 | 記憶システム |
KR100202654B1 (ko) | 1996-03-29 | 1999-06-15 | 구본준 | 플레쉬 셀 메모리 디바이스 장치 |
FR2751810B1 (fr) * | 1996-07-23 | 1998-10-23 | Sgs Thomson Microelectronics | Systeme de correction d'erreurs dans des trames de donnees ayant des codes de parite horizontaux et verticaux |
JP3199021B2 (ja) * | 1998-03-19 | 2001-08-13 | 日本電気株式会社 | 半導体メモリ装置、該半導体メモリ装置の検査方法及び使用方法 |
US6216247B1 (en) * | 1998-05-29 | 2001-04-10 | Intel Corporation | 32-bit mode for a 64-bit ECC capable memory subsystem |
JP2000261326A (ja) | 1999-03-11 | 2000-09-22 | Mitsubishi Electric Corp | 符号誤り訂正方法 |
JP3975245B2 (ja) * | 1999-12-16 | 2007-09-12 | 株式会社ルネサステクノロジ | 記録再生装置および半導体メモリ |
KR100913965B1 (ko) * | 2001-05-16 | 2009-08-25 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 일부가 사전에 알려진 정보의 코딩 및 디코딩 |
JP2005242797A (ja) | 2004-02-27 | 2005-09-08 | Oki Electric Ind Co Ltd | エラー訂正回路 |
KR100842680B1 (ko) * | 2007-01-08 | 2008-07-01 | 삼성전자주식회사 | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 |
-
2006
- 2006-12-29 KR KR1020060137919A patent/KR100856129B1/ko not_active IP Right Cessation
-
2007
- 2007-08-07 US US11/834,844 patent/US8091010B2/en active Active
- 2007-11-28 DE DE102007058828A patent/DE102007058828A1/de not_active Withdrawn
- 2007-11-30 CN CNA2007101962579A patent/CN101211667A/zh active Pending
- 2007-12-28 JP JP2007340739A patent/JP2008165808A/ja active Pending
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789269A (zh) * | 2008-07-17 | 2010-07-28 | 马维尔国际贸易有限公司 | 固态存储器装置中的数据恢复 |
US8458536B2 (en) | 2008-07-17 | 2013-06-04 | Marvell World Trade Ltd. | Data recovery in solid state memory devices |
CN101789269B (zh) * | 2008-07-17 | 2014-09-24 | 马维尔国际贸易有限公司 | 固态存储器装置中的数据恢复 |
US9032263B2 (en) | 2008-07-17 | 2015-05-12 | Marvell World Trade Ltd. | Data recovery in solid state memory devices |
CN101840359A (zh) * | 2009-03-18 | 2010-09-22 | 三星电子株式会社 | 数据处理系统及其操作方法 |
CN101794623B (zh) * | 2009-06-01 | 2013-11-06 | 深圳市朗科科技股份有限公司 | 存储设备的纠错装置及方法 |
WO2012119447A1 (zh) * | 2011-03-10 | 2012-09-13 | 中国科学院微电子研究所 | 复用编码器的编译码存储装置及方法 |
CN102682826A (zh) * | 2011-03-10 | 2012-09-19 | 中国科学院微电子研究所 | 复用编码器的编译码存储装置及方法 |
US9032270B2 (en) | 2011-03-10 | 2015-05-12 | Institute of Microelectronics, Chinese Academy of Sciences | Device and method for storing encoded and/or decoded codes by re-using encoder |
CN104616698A (zh) * | 2015-01-28 | 2015-05-13 | 山东华翼微电子技术股份有限公司 | 一种充分利用存储器冗余单元的方法 |
CN105161137A (zh) * | 2015-08-27 | 2015-12-16 | 大唐微电子技术有限公司 | 一种MLC架构中Nand Flash控制器电路实现装置 |
CN105161137B (zh) * | 2015-08-27 | 2019-04-19 | 大唐微电子技术有限公司 | 一种MLC架构中Nand Flash控制器电路实现装置 |
CN107943609A (zh) * | 2016-10-12 | 2018-04-20 | 三星电子株式会社 | 存储器模块、存储器控制器和系统及其相应操作方法 |
CN110352407A (zh) * | 2017-01-05 | 2019-10-18 | 德克萨斯仪器股份有限公司 | 纠错码存储器 |
CN110462593A (zh) * | 2017-03-17 | 2019-11-15 | 美光科技公司 | 用于提供冗余错误校正的存储器中的错误校正码(ecc)操作 |
CN110462593B (zh) * | 2017-03-17 | 2024-03-26 | 美光科技公司 | 用于提供冗余错误校正的存储器中的错误校正码操作 |
CN108880567A (zh) * | 2017-05-11 | 2018-11-23 | 华邦电子股份有限公司 | 错误检查和纠正解码器 |
CN108880567B (zh) * | 2017-05-11 | 2022-03-08 | 华邦电子股份有限公司 | 错误检查和纠正解码器 |
US10417086B2 (en) | 2017-08-11 | 2019-09-17 | Winbond Electronics Corp. | Data write method and memory storage device using the same |
CN109542666A (zh) * | 2017-09-21 | 2019-03-29 | 三星电子株式会社 | 用于支持纠错码的装置及其测试方法 |
CN109582484A (zh) * | 2017-09-29 | 2019-04-05 | 辉达公司 | 防范在汽车系统中实现的纠错码(ecc)中的错误 |
CN109582484B (zh) * | 2017-09-29 | 2022-02-08 | 辉达公司 | 防范在汽车系统中实现的纠错码(ecc)中的错误 |
US11494265B2 (en) | 2017-09-29 | 2022-11-08 | Nvidia Corporation | Securing against errors in an error correcting code (ECC) implemented in an automotive system |
CN110993011A (zh) * | 2018-10-03 | 2020-04-10 | Arm 有限公司 | 存储器测试技术 |
CN113366449A (zh) * | 2018-12-20 | 2021-09-07 | 美光科技公司 | 基于存储器子系统的损耗的错误校正码改变 |
CN112951313A (zh) * | 2019-12-11 | 2021-06-11 | 三星电子株式会社 | 用于纠错的存储控制器、包括其的存储设备及其操作方法 |
CN111510158B (zh) * | 2020-04-15 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 量子电路的容错纠错解码方法、装置及芯片 |
CN111510158A (zh) * | 2020-04-15 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 量子电路的容错纠错解码方法、装置及芯片 |
CN114203228A (zh) * | 2020-09-18 | 2022-03-18 | 长鑫存储技术有限公司 | 存储器 |
CN114203228B (zh) * | 2020-09-18 | 2023-09-15 | 长鑫存储技术有限公司 | 存储器 |
CN112564858A (zh) * | 2020-11-05 | 2021-03-26 | 山东中科泰岳电子科技有限公司 | 卫星导航用crc纠错方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US8091010B2 (en) | 2012-01-03 |
KR100856129B1 (ko) | 2008-09-03 |
KR20080062306A (ko) | 2008-07-03 |
US20080163033A1 (en) | 2008-07-03 |
DE102007058828A1 (de) | 2008-07-03 |
JP2008165808A (ja) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101211667A (zh) | 降低误纠概率的纠错电路和方法和包括该电路的存储设备 | |
US11740960B2 (en) | Detection and correction of data bit errors using error correction codes | |
CN101131876B (zh) | 误差校正电路和方法、包含该电路的半导体存储装置 | |
CN101635158B (zh) | 编码和/或解码系统数据的方法、装置、系统和体系结构 | |
JP4988731B2 (ja) | フラッシュエラー訂正 | |
CN100386735C (zh) | 对存储于存储设备中的数据进行编码和解码的方法 | |
CN100539444C (zh) | 用于将附加纠错层嵌入到纠错码中的方法和设备 | |
CN102024501A (zh) | 存储器系统以及对存储器系统的控制方法 | |
CN104115126A (zh) | 使用代数码的多阶段ecc编码 | |
KR20110107273A (ko) | 반도체 기억 장치 | |
KR20080106849A (ko) | 재생 장치 | |
US10243588B2 (en) | Error correction code (ECC) decoders sharing logic operations, memory controllers including the error correction code decoders, and methods of decoding error correction codes | |
US11025281B2 (en) | Memory system | |
CN107402860B (zh) | 用于执行内建式自我测试的独立磁盘冗余数组译码系统 | |
US12009837B2 (en) | Syndrome calculation for error detection and error correction | |
CN103151078B (zh) | 一种存储器检错纠错码生成方法 | |
CN110716824B (zh) | 编码方法及使用所述编码方法的存储器存储装置 | |
CN115408198A (zh) | 数据纠错方法、装置、设备及存储介质 | |
TWI392239B (zh) | Encoders, Decoders and Access Systems with Reed Solomon Error Correction Mechanism | |
CN117116329A (zh) | 一种适用于光存储的自适应纠错方法、设备及系统 | |
RU2297032C2 (ru) | Самокорректирующееся запоминающее устройство | |
KR20220124182A (ko) | 저장 시스템에서의 데이터 복구를 위한 인코딩 | |
RU2297031C2 (ru) | Отказоустойчивое устройство |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20080702 |