CN104750569A - 一种实现数据纠错的方法及装置 - Google Patents
一种实现数据纠错的方法及装置 Download PDFInfo
- Publication number
- CN104750569A CN104750569A CN201310749647.XA CN201310749647A CN104750569A CN 104750569 A CN104750569 A CN 104750569A CN 201310749647 A CN201310749647 A CN 201310749647A CN 104750569 A CN104750569 A CN 104750569A
- Authority
- CN
- China
- Prior art keywords
- check code
- data
- bit
- index number
- bits
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000010586 diagram Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/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
-
- 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/1012—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 using codes or arrangements adapted for a specific type of error
-
- 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/1068—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 sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
- H03M13/098—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using 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/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供一种实现数据纠错的方法,为每一数据位分别设置索引号,并根据所述索引号生成第一校验码;根据所述第一校验码生成第二校验码,比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正;本发明同时还提供了一种实现数据纠错的装置。
Description
技术领域
本发明涉及编解码领域中的纠错技术,尤其涉及一种实现数据纠错的方法及装置。
背景技术
目前,随机存储器(RAM,Random Access Memory)中的错误检查与纠正(ECC,Error Checking and Correcting)技术主要采用汉明码的方式实现,该技术具有纠正1bit错误、检测2bits错误的功能。上述ECC技术通常针对一定的数据位宽实现,典型的数据位宽有32位、64位、128位等,可以将原数据的数据位看成按照行和列进行排列的矩阵,通过对所述行和列进行奇偶校验产生校验码,并将该校验码与原数据一起写入RAM中保存。读数据时,原数据和校验码一起从所述RAM中读出来,通过采用同样的算法可以产生新校验码,进一步地,通过比较上述两个校验码的差异能够确定读数据时出现错误的行和列,进而确定读数据时出现错误的数据位。
在上述方法中,每一位校验码的产生都需要数据位的高位部分和低位部分的参与,当数据位宽发生变化时,由所述矩阵生成的多项式也需要作出相应的改变,因此,该方法的通用性较低。
发明内容
有鉴于此,本发明实施例期望提供一种实现数据纠错的方法及装置,能够提高算法的通用性,减少校验码的规模。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种实现数据纠错的方法,所述方法包括:
为每一数据位分别设置索引号,并根据所述索引号生成第一校验码;根据所述第一校验码生成第二校验码,比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正。
上述方案中,所述为每一数据位分别设置索引号,为:按照数据位的高低顺序,为每一数据位分别设置二进制索引号。
上述方案中,所述根据所述索引号生成第一校验码,包括:根据所述二进制索引号获取第一校验码生成式,根据所述第一校验码生成式生成第一校验码;
所述根据所述二进制索引号获取第一校验码生成式,根据所述第一校验码生成式生成第一校验码,为:为每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第一校验码生成式,并将各索引号位的第一校验码生成式的结果分别作为第一校验码的对应位。
上述方案中,所述根据第一校验码生成第二校验码,包括:
为输入数据的每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第二校验码生成式,并将各索引号位的第二校验码生成式的结果分别作为第二校验码的对应位。
上述方案中,所述比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正,包括:
对第一校验码和第二校验码的每一对应位进行异或运算,获得第三校验码的对应位,根据第三校验码确定第一校验码与第二校验码的对应位不一致时,根据第一校验码对应位的第一校验码生成式确定出现错误的数据位,对所述出现错误的数据位进行纠正。
本发明实施例还提供了一种实现数据纠错的装置,所述装置包括:设置模块、第一校验码生成模块、第二校验码生成模块、以及数据处理模块;其中,
所述设置模块,用于为每一数据位分别设置索引号;
所述第一校验码生成模块,用于根据所述索引号生成第一校验码;
所述第二校验码生成模块,用于根据所述第一校验码生成第二校验码;
所述数据处理模块,用于比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正。
上述方案中,所述设置模块,具体用于按照数据位的高低顺序,为每一数据位分别设置二进制索引号。
上述方案中,所述第一校验码生成模块,具体用于为每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第一校验码生成式,并将各索引号位的第一校验码生成式的结果分别作为第一校验码的对应位。
上述方案中,所述第二校验码生成模块,具体用于为输入数据的每一数据位的二进制索引号,分别对每一索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第二校验码生成式,并将各索引号位的第二校验码生成式的结果分别作为第二校验码的对应位。
上述方案中,所述数据处理模块,具体用于对第一校验码和第二校验码的每一对应位进行异或运算,获得第三校验码的对应位,根据第三校验码确定第一校验码与第二校验码的对应位不一致时,根据第一校验码对应位的第一校验码生成式确定出现错误的数据位,对所述出现错误的数据位进行纠正。
本发明实施例提供的实现数据纠错的方法及装置,为每一数据位分别设置索引号,并根据所述索引号生成第一校验码;根据所述第一校验码生成第二校验码,比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正;如此,能够基于为每一数据位分别设置的索引号获得第一校验码,进而基于所述第一校验码获得第二校验码,通过比较第一校验码和第二校验码确定出现错误的数据位,由于上述过程不受数据位宽的限制,且第一校验码各校验位和第二校验码各校验位的生成只有部分数据的参与,因此,该方法在减少校验码规模的同时可以复用到多种场合,具有较高的通用性。
附图说明
图1为本发明实现数据纠错的方法实施例的实现流程示意图;
图2为本发明实施例8位数据的数据位示意图;
图3为本发明实施例8位数据的数据位与二进制索引号的对应关系示意图;
图4为本发明实现数据纠错的装置实施例的组成结构示意图;
图5为本发明实现数据纠错的装置实施例的电路框架示意图。
具体实施方式
本发明实施例中,为每一数据位分别设置索引号,并根据所述索引号生成第一校验码;根据所述第一校验码生成第二校验码,比较所述第一校验码和所述第二校验码确定出现错误的数据位,将该出现错误的数据位进行纠正后输出。
本发明实施例中,当需要读数据或写数据时,读/写选择信号确定当前执行的是读数据还是写数据,并为每一数据位分别设置二进制的索引号,所述二进制的索引号与数据位为一一对应的关系。
为每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获得各索引号位的第一校验码生成式;在获取各索引号位的第一校验码生成式之后,将所述各索引号位的第一校验码生成式的结果分别作为第一校验码的对应位,这样,就可以得到第一校验码的各个校验位;可以看出,第一校验码的位数与二进制索引号的位数相同。
在读数据或写数据时,采用与上述生成第一校验码类似的算法生成第二校验码,对应的,第二校验码的位数与第一校验码的位数和二进制索引号的位数相同。
在实际应用中,写数据不需要进行纠错,因此,在获得第一校验码和第二校验码后可以直接将写入的数据输出;在读数据时,如果某一数据位出现错误,则第二校验码中的对应位将发生变化;通过比较第一校验码和第二校验码的方式可以确定出现错误的数据位;其中,读/写选择信号可以控制整个电路是进行纠错操作,还是进行生成第一校验码和第二校验码操作。
具体的,在读数据时,对第一校验码和第二校验码的每一对应位进行异或运算可以获得第三校验码的各个对应位,根据所述第三校验码中每一校验位的数据,可以推断在读数据的过程中第一校验码的某校验位与第二校验位的某校验位不一致,然后,根据该校验位对应的第一校验码生成式得到出现错误的数据位。
在实际应用中,由于第一校验码在存取的过程中也可能出现错误,因此,进一步设置检查校验码,通过检查校验码的变化确定第一校验码在存取的过程中是否出现错误;如果第一校验码出现错误,则不需要进行纠错操作,直接向操作系统报告第一校验码错误。
下面结合附图及具体实施例对本发明做进一步的详细说明。
本发明实施例提供一种实现数据纠错的方法,其中,数据的输入可以是写数据也可以是读数据,由读/写选择信号确定当前执行的是读数据还是写数据;图1为本发明实现数据纠错的方法实施例的实现流程示意图,如图1所示,以8位数据为例,该方法包括以下步骤:
步骤101:为每一数据位分别设置索引号,并根据所述索引号生成第一校验码;
本步骤中,按照数据位的高低顺序,分别对每一数据位进行标记,如图2所示,图2为本发明实施例8位数据的数据位示意图,所述8位数据从低位到高位分别标记为D0、D1、D2、D3、D4、D5、D6、D7;因此,所述8位数据从低位到高位对应的十进制索引号依次为0、1、2、3、4、5、6、7;按照数据位的高低顺序,为所述8位数据的每一位分别设置与所述十进制索引号对应的二进制索引号,所述十进制索引号0-7可以分别用三位二进制数表示,因此,所述8位数据从低位到高位对应的二进制索引号依次为:000、001、010、011、100、101、110、111;所述由三位二进制数表示的每一位数据的二进制索引号从左到右依次为该二进制索引号的高位、次低位、低位。
图3为本发明实施例8位数据的数据位与二进制索引号的对应关系示意图,如图3所示,所述第一校验码也可以由三位二进制数表示,对应的,所述由三位二进制数表示的第一校验码从左到右依次为该第一校验码的高位C2、次低位C1、低位C0。
具体的,为每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第一校验码生成式,如:分别对各索引号高位、次低位、低位中为1的数据位进行异或运算,获取各索引号位的第一校验码生成式,具体运算过程如下述各公式所示:
C0=D1^D3^D5^D7 (1)
其中,所述C0表示所有二进制索引号低位为1的数据位进行异或运算的结果,所述D1^D3^D5^D7为低位的第一校验码生成式;
C1=D2^D3^D6^D7 (2)
其中,所述C1表示所有二进制索引号次低位为1的数据位进行异或运算的结果,所述D2^D3^D6^D7为次低位的第一校验码生成式;
C2=D4^D5^D6^D7 (3)
其中,所述C2表示所有二进制索引号高位为1的数据位进行异或运算的结果,所述D4^D5^D6^D7为高位的第一校验码生成式;
进一步地,可以为所述第一校验码设置第一总校验码,具体的,如公式(4)所示:
Ca=D0^D1^D2^D3^D4^D5^D6^D7 (4)
其中,所述Ca表示所有数据位进行异或运算的结果,为第一总校验码,所述D0^D1^D2^D3^D4^D5^D6^D7为第一总校验码生成式;
C=C2C1C0 (5)
其中,所述C表示第一校验码,C0表示所有二进制索引号低位为1的数据位进行异或运算的结果,C1表示所有二进制索引号次低位为1的数据位进行异或运算的结果,C2表示所有二进制索引号高位为1的数据位进行异或运算的结果。
具体的,如公式(5)所示,在获取每一索引号位的第一校验码生成式之后,将每一索引号位的第一校验码生成式的结果作为第一校验码的对应位,即:将低位的第一校验码生成式D1^D3^D5^D7的结果C0作为第一校验码的低位;将次低位的第一校验码生成式D2^D3^D6^D7的结果C1作为第一校验码的次低位;将高位的第一校验码生成式D4^D5^D6^D7的结果C2作为第一校验码的高位;这样,获得第一校验码的各个校验位。
步骤102:根据所述第一校验码生成第二校验码,比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正;
本步骤中,在读数据或写数据时,采用与上述生成第一校验码类似的算法生成第二校验码,对应的,所述第二校验码也可以由三位二进制数表示,所述由三位二进制数表示的第二校验码从左到右依次为该第二校验码的高位C’2、次低位C’1、低位C’0。
具体的,为输入数据的每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第二校验码生成式,如:分别对各索引号高位、次低位、低位中为1的数据位进行异或运算,获取各索引号位的第二校验码生成式,具体运算过程如下述各公式所示:
C’0=D’1^D’3^D’5^D’7 (6)
其中,所述C’0表示输入数据的所有二进制索引号低位为1的数据位进行异或运算的结果,所述D’1^D’3^D’5^D’7为低位的第二校验码生成式;
C’1=D’2^D’3^D’6^D’7 (7)
其中,所述C’1表示输入数据的所有二进制索引号次低位为1的数据位进行异或运算的结果,所述D’2^D’3^D’6^D’7为次低位的第二校验码生成式;
C’2=D’4^D’5^D’6^D’7 (8)
其中,所述C’2表示输入数据的所有二进制索引号高位为1的数据位进行异或运算的结果,所述D’4^D’5^D’6^D’7为高位的第二校验码生成式;
进一步地,可以为所述第二校验码设置第二总校验码,具体的,如公式(9)所示:
C’a=D’0^D’1^D’2^D’3^D’4^D’5^D’6^D’7 (9)
其中,所述C’a表示输入数据的所有数据位进行异或运算的结果,为第二总校验码,所述D’0^D’1^D’2^D’3^D’4^D’5^D’6^D’7为第二总校验码生成式;
C’=C’2C’1C’0 (10)
其中,所述C’表示第二校验码,C’0表示输入数据的所有二进制索引号低位为1的数据位进行异或运算的结果,C’1表示输入数据的所有二进制索引号次低位为1的数据位进行异或运算的结果,C’2表示输入数据的所有二进制索引号高位为1的数据位进行异或运算的结果。
具体的,如公式(10)所示,在获取输入数据的每一索引号位的第二校验码生成式之后,将输入数据的每一索引号位的第二校验码生成式的结果作为第二校验码的对应位,即:将低位的第二校验码生成式D’1^D’3^D’5^D’7的结果C’0作为第二校验码的低位;将次低位的第二校验码生成式D’2^D’3^D’6^D’7的结果C’1作为第二校验码的次低位;将高位的第二校验码生成式D’4^D’5^D’6^D’7的结果C’2作为第二校验码的高位;这样,获得第二校验码的各个校验位。
由于在写数据时不需要进行纠错操作,因此,在获得第一校验码和第二校验码后直接将写入的数据输出;在读数据时,如果某数据位出现错误,则第二校验码中的对应位将发生变化,通过比较第一校验码和第二校验码可以确定出现错误的数据位,这里,在读数据时,假设错误只出现在数据位上,而不出现在第一校验位上。
具体的,在读数据时,对第一校验码和第二校验码的每一对应位进行异或运算,获得第三校验码的各个对应位,具体运算过程如下述各公式所示:
S0=C0^C’0 (11)
其中,所述S0表示第一校验码的低位与第二校验码的低位进行异或运算的结果,所述C0^C’0为低位的第三校验码生成式;
S1=C1^C’1 (12)
其中,所述S1表示第一校验码的次低位与第二校验码的次低位进行异或运算的结果,所述C1^C’1为次低位的第三校验码生成式;
S2=C2^C’2 (13)
其中,所述S2表示第一校验码的高位与第二校验码的高位进行异或运算的结果,所述C2^C’2为高位的第三校验码生成式;
进一步地,可以为所述第三校验码设置第三总校验码,具体的,如公式(14)所示:
Sa=Ca^C’a (14)
其中,所述Sa表示第一总校验码与第二总校验码进行异或运算的结果,所述Ca^C’a为第三总校验码生成式;
S=S2S1S0 (15)
其中,所述S表示第三校验码,所述S0表示第一校验码的低位与第二校验码的低位进行异或运算的结果,所述S1表示第一校验码的次低位与第二校验码的次低位进行异或运算的结果,所述S2表示第一校验码的高位与第二校验码的高位进行异或运算的结果。
在读数据时,如果S2、S1、S0中某一位为1,则表示对应的第一校验码的C2位和第二校验码的C’2位、或第一校验码的C1位和第二校验码的C’1位、或第一校验码的C0位和第二校验码的C’0位不一致,这里,忽略Sa位为1的情况,只考虑S2、S1、S0位为1的情况,即:只考虑C2、C1、C0对应的某数据位在读数据的过程中出现错误的情况。
具体的,在读数据时,如果S0位为1、S2位和S1位为0,则表示第一校验码的C0位和第二校验码的C’0位不一致、第一校验码的C1位和第二校验码的C’1位一致、以及第一校验码的C2位和第二校验码的C’2位一致,根据C0位的第一校验码生成式可知D1、D3、D5、D7中的某数据位在读数据时出现错误,即:所有二进制索引号低位为1的数据位中有一位出现了错误;
同理,如果S1位为1、S0位和S2位为0,则表示第一校验码的C1位和第二校验码的C’1位不一致、第一校验码的C0位和第二校验码的C’0位一致、以及第一校验码的C2位和第二校验码的C’2位一致,根据C1位的第一校验码生成式可知D2、D3、D6、D7中的某数据位在读数据时出现错误,即:所有二进制索引号次低位为1的数据位中有一位出现了错误;
如果S2位为1、S0位和S1位为0,则表示第一校验码的C2位和第二校验码的C’2位不一致、第一校验码的C0位和第二校验码的C’0位一致、以及第一校验码的C1位和第二校验码的C’1位一致,根据C2位的第一校验码生成式可知D4、D5、D6、D7中的某数据位在读数据时出现错误,即:所有二进制索引号高位为1的数据位中有一位出现了错误;然后,根据对应的第一校验码生成式推断出现错误的数据位的范围。
例如,如果S=001,则表示第一校验码的C0位和第二校验码的C’0位不一致,即:在读数据的过程中,D1、D3、D5、D7中的某数据位出现错误;由于D1只出现在C0位的第一校验码生成式中,且根据C1位对应的数据位和C2位对应的数据位在读数据的过程中未出现错误可知,数据位D3、D5、D7未出现错误,因此,可以判断出在读数据的过程中D1位出现错误。
另外,由S=001可知,在读数据的过程中,C0位对应的某数据位出现错误,而C1位对应的数据位和C2位对应的数据位未出现错误;根据C0位、C1位、C2位与二进制索引号的关系可知,出现错误的数据位对应的二进制索引号的低位为1,次低位和高位均为0,得到出现错误的数据位对应的二进制索引号为3比特二进制数3’b001,将该3比特二进制数转换为十进制数为3’d1,因此,可以直接判断出在读数据的过程中十进制索引号为1的D1位出现错误。
如果S=101,则表示第一校验码的C0位和第二校验码的C2位不一致,即:在读数据的过程中,D1、D3、D4、D5、D6、D7中的某位出现错误,而C1位对应的数据位在读数据的过程中未出现错误;由于只有D5同时出现在C0位和C2位的第一校验码生成式中,而未出现在C1的第一校验码生成式中,因此,可以判断出在读数据的过程中D5位出现错误。
另外,由S=101可知,在读数据的过程中,C0位对应的数据位和C2位对应的数据位中的某位出现错误,而C1位对应的数据位在读数据的过程中未出现错误;根据C0位、C1位、C2位与二进制索引号的关系可知,出现错误的数据位对应的二进制索引号的低位为1、次低位为0、高位为1,得到出现错误的数据位对应的二进制索引号为3比特二进制数3’b101,将该3比特二进制数转换为十进制数为3’d5,因此,可以直接判断出在读数据的过程中十进制索引号为5的D5位出现错误。
进一步地,考虑到D0位的十进制索引号为0,二进制索引号为000,且D0位为唯一不出现在C2位、C1位、C0位的第一校验码生成式中的数据位,因此,如果S中的C2位、C1位、C0位全为0,而Sa为1,则表示在读数据时D0位出现错误;如果S中的C2位、C1位、C0位不全为0,而Sa为0,则表示在读数据时有两位数据位出现了错误,此时,超出了纠错能力,直接向操作系统报告错误不可纠正,由操作系统决定是否需要丢弃该数据并进行重新读取。
根据C2位的第一校验码生成式可知,C2位的第一校验码生成式中只有D4、D5、D6、D7参与;这样,如果需要将该方法应用到数据位宽为4位的情况,那么,C2位则可以省略,由于所述4位数据不存在D4、D5、D6、D7位,因此,通过将第一校验码生成式和第二校验码生成式中对应的数据位填充为0或者1,可以不对第三校验码的最终结果造成影响,这样,就可以将该方法简单的复用到数据位宽为4位的应用中;因此,通过类似的方法可以将本发明推广到数据位宽为32位、64位、128位或更高位宽的应用中。
在实际应用中,由于第一校验码在存取的过程中也可能出现错误,因此,可进一步设置检查校验码,通过检查校验码的变化确定第一校验码在存取的过程中是否出现错误;具体的,如公式(16)所示:
Cc=C2^C1^C0^Ca (16)
其中,所述Cc表示检查校验码,C2表示所有二进制索引号高位为1的数据位进行异或运算的结果,C1表示所有二进制索引号次低位为1的数据位进行异或运算的结果,C0表示所有二进制索引号低位为1的数据位进行异或运算的结果,Ca表示所有数据位进行异或运算的结果。
在实际应用中,由于用户只关心有效数据,因此,如果错误出现在第一校验码中,则不需要进行纠错操作,直接向操作系统报告第一校验码错误。
这里,在确定出现错误的数据位之后,对出现错误的数据位进行纠正,具体纠正过程为现有技术,此处不再赘述。
本发明实施例提供一种实现数据纠错的装置,其中,数据的输入可以是写数据也可以是读数据,由读/写选择信号确定当前执行的是读数据还是写数据,即由读/写选择信号控制整个电路是进行纠错操作,还是进行生成第一校验码和第二校验码操作;图4为本发明实现数据纠错的装置实施例的组成结构示意图,图5为本发明实现数据纠错的装置实施例的电路框架示意图,如图4、5所示,所述装置包括:设置模块43、第一校验码生成模块44、第二校验码生成模块45、以及数据处理模块46;其中,
所述设置模块43,用于为每一数据位分别设置索引号;
具体的,所述设置模块43,用于按照数据位的高低顺序,为每一数据位分别设置二进制索引号。
所述第一校验码生成模块44,用于根据所述索引号生成第一校验码;
具体的,在读数据或写数据时,所述第一校验码生成模块44,用于为每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第一校验码生成式,并将各索引号位的第一校验码生成式的结果分别作为第一校验码的对应位。
所述第一校验码生成模块44,还用于通过对所有数据位进行异或运算获取第一总校验码。
其中,对于需要同时进行读操作和写操作的应用,可以分别设置读数据第一校验码生成模块和写数据第一校验码生成模块,所述读数据第一校验码生成模块和写数据第一校验码生成模块各自独立地生成对应的第一校验码;针对不需要同时进行读操作和写操作的应用,可以只设置一个第一校验码生成模块,以减少硬件逻辑的规模。
所述第二校验码生成模块45,用于根据所述第一校验码生成第二校验码;
具体的,在读数据或写数据时,所述第二校验码生成模块45,用于为输入数据的每一数据位的二进制索引号,分别对每一索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第二校验码生成式,并将各索引号位的第二校验码生成式的结果分别作为第二校验码的对应位。
其中,对于需要同时进行读操作和写操作的应用,可以分别设置读数据第二校验码生成模块和写数据第二校验码生成模块,所述读数据第二校验码生成模块和写数据第二校验码生成模块各自独立地生成对应的第二校验码;针对不需要同时进行读操作和写操作的应用,可以只设置一个第二校验码生成模块,以减少硬件逻辑的规模。
所述第二校验码生成模块45,还用于通过对输入数据的所有数据位进行异或运算获取第二总校验码。
所述数据处理模块46,用于比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正;
具体的,在读数据时,所述数据处理模块46,用于对第一校验码和第二校验码的每一对应位进行异或运算,获得第三校验码的对应位,根据第三校验码确定第一校验码与第二校验码的对应位不一致时,根据第一校验码对应位的第一校验码生成式确定出现错误的数据位,对所述出现错误的数据位进行纠正,然后,将纠正后的数据输出;由于在写数据时不需要进行纠错操作,因此数据处理模块46直接将写入的数据输出。
另外,由于写数据时不需要进行纠错操作,因此读操作和写操作可以共用一个数据处理模块。
进一步地,所述装置还可以包括:数据读写模块41、多路传输模块42;其中,
所述数据读写模块41,用于传输读操作或写操作的数据;
其中,针对需要同时进行读操作和写操作的应用,可以分别设置读数据模块和写数据模块,所述读数据模块和写数据模块各自独立地传输读操作或写操作的数据。
所述多路传输模块42,用于传输数据读写模块的数据;
具体的,当需要写数据时,读/写选择信号使能写操作,多路传输模块42选择数据读写模块的数据输入到所述设置模块43;当需要读数据时,读/写选择信号使能读操作,多路传输模块42选择数据读写模块的数据输入到所述设置模块43。
在实际应用中,所述多路传输模块42可以由多路器实现;所述数据读写模块41、设置模块43、第一校验码生成模块44、第二校验码生成模块45、以及数据处理模块46可由中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、或可编程门阵列(FPGA,FieldProgrammable Gate Array)实现。
本发明实施例中所述的实现数据纠错的方法如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式,所述存储介质包括但不限于U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁盘存储器、CD-ROM、光学存储器等。
本申请是根据本申请实施例的方法、装置、以及计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
相应的,本发明实施例还提供一种计算机存储介质,其中存储有计算机程序,该计算机程序用于执行本发明方法实施例中所述的实现数据纠错的方法。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种实现数据纠错的方法,其特征在于,所述方法包括:
为每一数据位分别设置索引号,并根据所述索引号生成第一校验码;
根据所述第一校验码生成第二校验码,比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正。
2.根据权利要求1所述的方法,其特征在于,所述为每一数据位分别设置索引号,为:按照数据位的高低顺序,为每一数据位分别设置二进制索引号。
3.根据权利要求2所述的方法,其特征在于,所述根据所述索引号生成第一校验码,包括:根据所述二进制索引号获取第一校验码生成式,根据所述第一校验码生成式生成第一校验码;
所述根据所述二进制索引号获取第一校验码生成式,根据所述第一校验码生成式生成第一校验码,为:为每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第一校验码生成式,并将各索引号位的第一校验码生成式的结果分别作为第一校验码的对应位。
4.根据权利要求3所述的方法,其特征在于,所述根据第一校验码生成第二校验码,包括:
为输入数据的每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第二校验码生成式,并将各索引号位的第二校验码生成式的结果分别作为第二校验码的对应位。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正,包括:
对第一校验码和第二校验码的每一对应位进行异或运算,获得第三校验码的对应位,根据第三校验码确定第一校验码与第二校验码的对应位不一致时,根据第一校验码对应位的第一校验码生成式确定出现错误的数据位,对所述出现错误的数据位进行纠正。
6.一种实现数据纠错的装置,其特征在于,所述装置包括:设置模块、第一校验码生成模块、第二校验码生成模块、以及数据处理模块;其中,
所述设置模块,用于为每一数据位分别设置索引号;
所述第一校验码生成模块,用于根据所述索引号生成第一校验码;
所述第二校验码生成模块,用于根据所述第一校验码生成第二校验码;
所述数据处理模块,用于比较所述第一校验码和所述第二校验码确定出现错误的数据位,对所述出现错误的数据位进行纠正。
7.根据权利要求6所述的装置,其特征在于,所述设置模块,具体用于按照数据位的高低顺序,为每一数据位分别设置二进制索引号。
8.根据权利要求7所述的装置,其特征在于,所述第一校验码生成模块,具体用于为每一数据位的二进制索引号,分别对各索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第一校验码生成式,并将各索引号位的第一校验码生成式的结果分别作为第一校验码的对应位。
9.根据权利要求8所述的装置,其特征在于,所述第二校验码生成模块,具体用于为输入数据的每一数据位的二进制索引号,分别对每一索引号对应位中为1或0的数据位进行异或运算,获取各索引号位的第二校验码生成式,并将各索引号位的第二校验码生成式的结果分别作为第二校验码的对应位。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述数据处理模块,具体用于对第一校验码和第二校验码的每一对应位进行异或运算,获得第三校验码的对应位,根据第三校验码确定第一校验码与第二校验码的对应位不一致时,根据第一校验码对应位的第一校验码生成式确定出现错误的数据位,对所述出现错误的数据位进行纠正。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310749647.XA CN104750569A (zh) | 2013-12-30 | 2013-12-30 | 一种实现数据纠错的方法及装置 |
EP14876707.2A EP3082046B1 (en) | 2013-12-30 | 2014-05-20 | Data error correcting method and device, and computer storage medium |
PCT/CN2014/077931 WO2015100917A1 (zh) | 2013-12-30 | 2014-05-20 | 实现数据纠错的方法及装置、计算机存储介质 |
US15/108,936 US10141954B2 (en) | 2013-12-30 | 2014-05-20 | Data error correcting method and device, and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310749647.XA CN104750569A (zh) | 2013-12-30 | 2013-12-30 | 一种实现数据纠错的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104750569A true CN104750569A (zh) | 2015-07-01 |
Family
ID=53493092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310749647.XA Pending CN104750569A (zh) | 2013-12-30 | 2013-12-30 | 一种实现数据纠错的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10141954B2 (zh) |
EP (1) | EP3082046B1 (zh) |
CN (1) | CN104750569A (zh) |
WO (1) | WO2015100917A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243807A (zh) * | 2015-08-27 | 2016-01-13 | 柯俊 | 一种数据传输系统及方法 |
CN106792183A (zh) * | 2016-12-16 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 电视机的数据纠错方法及系统 |
CN107077402A (zh) * | 2017-01-18 | 2017-08-18 | 深圳市汇顶科技股份有限公司 | 码字生成方法、错误位确定方法及其电路 |
CN111459707A (zh) * | 2020-03-10 | 2020-07-28 | 华中科技大学 | 一种串口通讯检错纠错方法和装置 |
CN114765055A (zh) * | 2021-01-14 | 2022-07-19 | 长鑫存储技术有限公司 | 纠错系统 |
CN114765054A (zh) * | 2021-01-14 | 2022-07-19 | 长鑫存储技术有限公司 | 纠错系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111443887A (zh) * | 2020-03-26 | 2020-07-24 | 京东方科技集团股份有限公司 | 显示驱动芯片及其数据处理方法 |
CN112379905B (zh) * | 2020-11-20 | 2024-06-28 | 惠州Tcl移动通信有限公司 | 一种内核升级方法、装置、终端及存储介质 |
KR102673257B1 (ko) * | 2021-01-14 | 2024-06-05 | 창신 메모리 테크놀로지즈 아이엔씨 | 비교 시스템 |
CN116107800B (zh) * | 2023-04-12 | 2023-08-15 | 浙江恒业电子股份有限公司 | 一种校验码生成方法、数据恢复方法、介质、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136644A1 (en) * | 2005-11-22 | 2007-06-14 | Kabushiki Kaisha Toshiba | Decoding device for decoding codeword |
CN101227263A (zh) * | 2008-02-01 | 2008-07-23 | 上海华为技术有限公司 | 一种在线故障检测系统、装置及方法 |
CN101625653A (zh) * | 2009-08-13 | 2010-01-13 | 青岛海信电器股份有限公司 | 一种多媒体产品本地数据处理校验方法 |
CN102110028A (zh) * | 2009-12-25 | 2011-06-29 | 康佳集团股份有限公司 | 一种nand闪存及其数据的校验方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502732A (en) * | 1993-09-20 | 1996-03-26 | International Business Machines Corporation | Method for testing ECC logic |
US6374382B1 (en) | 1998-12-15 | 2002-04-16 | Hughes Electronics Corporation | Short block code for concatenated coding system |
US6973612B1 (en) * | 2001-11-13 | 2005-12-06 | Unisys Corporation | Familial correction with non-familial double bit error detection for directory storage |
CN1272925C (zh) | 2003-02-18 | 2006-08-30 | 华为技术有限公司 | 基带芯片公共信道中产生从同步码(ssc)的装置和方法 |
KR100872861B1 (ko) | 2007-04-04 | 2008-12-09 | 주식회사 루프 | Prbs 패턴에서 비트 에러율 테스트 방법 |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US8156404B1 (en) | 2008-08-29 | 2012-04-10 | Nvidia Corporation | L2 ECC implementation |
US8321752B1 (en) * | 2008-11-12 | 2012-11-27 | Marvell International Ltd. | Integrated 2-level low density parity check (LDPC) codes |
US20100169742A1 (en) | 2008-12-29 | 2010-07-01 | Texas Instruments Incorporated | Flash memory soft error recovery |
US8255773B2 (en) | 2009-06-29 | 2012-08-28 | Sandisk Technologies Inc. | System and method of tracking error data within a storage device |
CA2791931A1 (en) | 2010-03-22 | 2011-09-29 | Mosaid Technologies Incorporated | Composite semiconductor memory device with error correction |
CN102654854A (zh) | 2011-03-04 | 2012-09-05 | 上海华虹集成电路有限责任公司 | 一种可动态调整ECC纠错能力的Nandflash控制器 |
CN102789806B (zh) | 2012-07-16 | 2015-05-20 | 中国人民解放军国防科学技术大学 | 一种空间设备的tcam抗辐照防护方法 |
TWI521528B (zh) * | 2012-08-08 | 2016-02-11 | 群聯電子股份有限公司 | 記憶體儲存裝置、其記憶體控制器與資料處理方法 |
US8972834B2 (en) * | 2012-08-28 | 2015-03-03 | Hughes Network Systems, Llc | System and method for communicating with low density parity check codes |
-
2013
- 2013-12-30 CN CN201310749647.XA patent/CN104750569A/zh active Pending
-
2014
- 2014-05-20 EP EP14876707.2A patent/EP3082046B1/en active Active
- 2014-05-20 US US15/108,936 patent/US10141954B2/en active Active
- 2014-05-20 WO PCT/CN2014/077931 patent/WO2015100917A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136644A1 (en) * | 2005-11-22 | 2007-06-14 | Kabushiki Kaisha Toshiba | Decoding device for decoding codeword |
CN101227263A (zh) * | 2008-02-01 | 2008-07-23 | 上海华为技术有限公司 | 一种在线故障检测系统、装置及方法 |
CN101625653A (zh) * | 2009-08-13 | 2010-01-13 | 青岛海信电器股份有限公司 | 一种多媒体产品本地数据处理校验方法 |
CN102110028A (zh) * | 2009-12-25 | 2011-06-29 | 康佳集团股份有限公司 | 一种nand闪存及其数据的校验方法和装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243807A (zh) * | 2015-08-27 | 2016-01-13 | 柯俊 | 一种数据传输系统及方法 |
CN106792183A (zh) * | 2016-12-16 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 电视机的数据纠错方法及系统 |
CN107077402A (zh) * | 2017-01-18 | 2017-08-18 | 深圳市汇顶科技股份有限公司 | 码字生成方法、错误位确定方法及其电路 |
US10992319B2 (en) | 2017-01-18 | 2021-04-27 | Shenzhen GOODIX Technology Co., Ltd. | Code word generating method, erroneous bit determining method, and circuits thereof |
CN111459707A (zh) * | 2020-03-10 | 2020-07-28 | 华中科技大学 | 一种串口通讯检错纠错方法和装置 |
CN111459707B (zh) * | 2020-03-10 | 2021-12-03 | 华中科技大学 | 一种串口通讯检错纠错方法和装置 |
CN114765055A (zh) * | 2021-01-14 | 2022-07-19 | 长鑫存储技术有限公司 | 纠错系统 |
CN114765054A (zh) * | 2021-01-14 | 2022-07-19 | 长鑫存储技术有限公司 | 纠错系统 |
CN114765055B (zh) * | 2021-01-14 | 2024-05-03 | 长鑫存储技术有限公司 | 纠错系统 |
CN114765054B (zh) * | 2021-01-14 | 2024-05-14 | 长鑫存储技术有限公司 | 纠错系统 |
Also Published As
Publication number | Publication date |
---|---|
US10141954B2 (en) | 2018-11-27 |
EP3082046A4 (en) | 2017-03-08 |
EP3082046B1 (en) | 2020-07-08 |
WO2015100917A1 (zh) | 2015-07-09 |
US20160329912A1 (en) | 2016-11-10 |
EP3082046A1 (en) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750569A (zh) | 一种实现数据纠错的方法及装置 | |
US10461778B2 (en) | Interleaving and puncturing apparatus and method thereof | |
US7376887B2 (en) | Method for fast ECC memory testing by software including ECC check byte | |
TWI332611B (en) | Method for writing data in flash memory and error correction coding/decoding method thereof | |
JPS60163138A (ja) | エラ−訂正方式 | |
KR20170135691A (ko) | 복수의 데이터 비트와 복수의 어드레스 비트로 이루어진 블록용 에러 코드 발생장치 및 방법 | |
JP5805727B2 (ja) | 縮退故障を有するメモリセルに対応するためのデータ符号化及び復号化 | |
US10741212B2 (en) | Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders | |
CN103886915A (zh) | 用于校正包括邻近2比特错误的3比特错误的电路和方法 | |
US11601139B2 (en) | Methods and apparatus to determine and apply polarity-based error correction code | |
US20100070827A1 (en) | Error correction circuit, flash memory system including the error correction circuit, and operating method of the error correction circuit | |
JP2018160064A (ja) | メモリコントローラ、メモリシステムおよび制御方法 | |
CN113300716A (zh) | 循环冗余校验码的生成方法、设备以及计算机可读介质 | |
TWI594252B (zh) | 用以監視記憶體之資料錯誤狀態之方法與裝置 | |
TW201907410A (zh) | 記憶體測試方法及其記憶體裝置 | |
CN101452722B (zh) | 错误检测码产生电路和使用该电路的编码电路及相关方法 | |
CN107077402B (zh) | 码字生成方法、错误位确定方法及其电路 | |
JP2015019276A (ja) | 記憶装置、crc生成装置およびcrc生成方法 | |
JP6336547B2 (ja) | 訂正信号を決定する回路構成及びその方法 | |
JP2016187099A5 (ja) | データ処理回路及びエラー訂正方法 | |
KR20210045875A (ko) | 복수의 에러 정정 레벨들을 위한 패리티 생성 로직, 이를 포함하는 메모리 컨트로러 및 메모리 모듈, 및 패리티 생성 방법 | |
WO2014146488A1 (zh) | 用于将数据写入存储器的过程的方法 | |
TWI723515B (zh) | 記憶體裝置及其資料存取方法 | |
TW201616511A (zh) | 資料輸出方法 | |
TWI703572B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150701 |