CN101339525A - 一种对数据进行错误检测的方法、系统和设备 - Google Patents
一种对数据进行错误检测的方法、系统和设备 Download PDFInfo
- Publication number
- CN101339525A CN101339525A CNA2008101188173A CN200810118817A CN101339525A CN 101339525 A CN101339525 A CN 101339525A CN A2008101188173 A CNA2008101188173 A CN A2008101188173A CN 200810118817 A CN200810118817 A CN 200810118817A CN 101339525 A CN101339525 A CN 101339525A
- Authority
- CN
- China
- Prior art keywords
- ecc
- data
- memory device
- error
- storage unit
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例公开了一种对数据进行错误检测的方法,应用于数据校验领域,用于提高利用错误校验码(ECC)对数据进行错误检测及纠正的结果的准确性,该方法为:读取所述数据以及所述数据对应的至少三个ECC;从所述至少三个ECC中选取满足预设的ECC选取条件的ECC,利用选取的ECC对所述数据进行错误检测。本发明实施例还公开了一种对数据进行错误检测的系统和设备。采用本发明,能够尽量避免使用错误的ECC对数据进行错误检测,进而提高了错误检测及纠正的准确性。
Description
技术领域
本发明涉及数据校验领域,尤其涉及一种对数据进行错误检测的方法、系统和设备。
背景技术
在闪存设备、内存储器等存储设备中,存在会发生位翻转的缺陷,位翻转是指,写入存储设备中的原本正确的数据经过一段时间后可能会发生变化,正确的数据变为了错误的数据,导致整个文件被破坏。例如,原来存储的数据为0x7e,经过一段时间后该数据可能会变成0x3e。随着制作工艺的改进,对于存储设备的一个存储单元来说,发生1个bit错误的概率已经非常低,假设为千分之一,实际更低,则同一个存储单元发生2个bit错误的概率就为百万分之一,同一个存储单元发生2个bit以上错误的概率就更低了。
针对存储设备的上述缺陷,目前采用错误校验码(Error Correcting Code,ECC)校验机制,对存储设备中保存的数据进行错误检测及纠正,利用ECC能够检测并纠正1bit的数据错误,能够检测但不能纠正2bit的数据错误,对2bit以上的错误不保证能够检测。
下面以闪存设备为例对ECC校验机制进行说明:
闪存设备的存储阵列由多个块(block)组成,每个块由多个页组成,将页的大小乘以每个块内页的个数、再乘以存储阵列中块的个数,其结果即为闪存设备的总的存储容量。
闪存设备中的页作为存储单元,是闪存设备进行数据读、写或擦除的基本单位,页从结构上由第一半页(first half page)、第二半页(second half page)和保留区(spare)组成。页的第一半页和第二半页统称为数据区,用于存储文件数据;页的保留区主要用于厂家生产时存放该页所在块的坏块标识以及一些自定义的其他用途。
采用ECC校验机制对闪存设备中的文件数据进行错误检测及纠正,其具体实现方案主要有以下两种:
第一种,按照闪存设备的页的大小将文件的数据划分为等长的几段,不足的部分补0,并计算各个段的ECC值,对于每个段,将该段的数据写入一个页的数据区中,并将该段对应的ECC值写入该页的保留区中。
在读取数据时,需要将页的数据区中存储的数据和保留区中存储的ECC都读出,然后,重新计算从数据区读出的数据的ECC,将从保留区读出的ECC值作为校验ECC,根据计算得到的ECC和该校验ECC,利用ECC校验算法确定从数据区读出的数据是否发生了错误以及该错误是否可纠正,若根据比较结果确定从数据区读出的数据未发生错误,则继续进行后续工作;若根据比较结果确定从数据区读出的数据发生了可以恢复的错误,则根据ECC校验算法纠正发生错误的数据,继续进行后续工作;若根据比较结果确定从数据区读出的数据发生了不可恢复的错误,发出告警信号,从数据区读出的数据失效不可用。
第二种,在上述第一种方法的基础上,在闪存设备中保存多份文件数据的拷贝。在根据保留区中的ECC确定一份文件数据发生了错误时,读取另外一份文件数据,并根据保留区中的ECC确定该数据是否发生错误,若发生错误,则继续读取其他数据拷贝。如此循环,直到读取到正确的数据,继续进行后续工作;或者所有数据拷贝读取完毕但未发现正确的数据,此时发出告警信号,所有读取到的数据均失效不可用。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
数据错误可能发生在存储设备中存储单元的任何位置,因此写入存储设备的ECC值也可能发生错误,导致利用该错误的ECC值进行错误检测及纠正的准确性大大降低。下面进行对比说明:
若保存的ECC值未发生错误,错误检测及纠正结果如下:
1、文件数据未发生错误,利用正确的ECC校验后,认为文件数据正确;
2、文件数据发生了错误,利用正确的ECC校验后,认为文件数据发生了可恢复的错误并且被正确地恢复;
3、文件数据发生了错误,利用正确的ECC校验后,认为文件数据发生了不可恢复的错误。
若保存的ECC值发生了错误,监测和纠正结果如下:
1、文件数据未发生错误,利用错误的ECC校验后,认为文件数据正确或发生了可恢复的错误并且被错误地恢复;
2、文件数据发生了错误,利用错误的ECC校验后,认为文件数据正确或发生了可恢复的错误并且被错误地恢复;
3、文件数据未发生错误,利用错误的ECC校验后,认为文件数据发生了无法恢复的错误;
4、文件数据发生了错误,利用错误的ECC校验后,认为文件数据发生了无法恢复的错误。
与ECC未发生错误时的检测和纠正结果相比,ECC发生了错误时的检测和纠正结果会发生错误,ECC校验结果的准确性大大降低。
发明内容
本发明实施例提供一种错误校验码(ECC)的保存方法、一种对数据进行错误检测的方法、系统和设备,用于提高利用ECC对数据进行错误检测的结果的准确性。
本发明实施例提供一种错误校验码(ECC)的保存方法,该方法包括:
获取待保存的数据,计算所述数据的ECC;
将所述数据和计算得到的所述数据的ECC的至少三个拷贝保存在存储设备中。
本发明实施例提供一种对数据进行错误检测的方法,该方法包括:
读取所述数据以及所述数据对应的至少三个错误校验码(ECC);
从所述至少三个ECC中选取满足预设的ECC选取条件的ECC,利用选取的ECC对所述数据进行错误检测。
本发明实施例提供一种对数据进行错误检测的系统,该系统包括:
存储设备,用于保存数据以及所述数据对应的至少三个错误校正码ECC;
校验设备,用于从所述存储设备读取所述数据以及所述至少三个ECC,从所述至少三个ECC中选取满足预设的ECC选取条件的ECC,利用选取的ECC对所述数据进行错误检测。
本发明实施例提供一种校验设备,该设备包括:
读取单元,用于从存储设备中读取数据以及所述数据对应的至少三个ECC;
选取单元,用于从所述至少三个ECC中选取满足预设的ECC选取条件的ECC;
校验单元,用于利用所述选取单元选取的ECC对所述数据进行错误检测。
本发明中,在对数据进行错误检测时,从数据对应的至少三个ECC中选取满足预设的ECC选取条件的ECC,并利用选取的ECC对数据进行错误检测及纠正,由于保存了数据对应的多份ECC,在对数据进行校验时,只要这多份ECC没有全部发生错误,则可能从这多个ECC中选取出正确的ECC,从而尽量避免使用错误的ECC对数据进行错误检测,以提高错误检测及纠正的准确性。
附图说明
图1A为本发明实施例中ECC在闪存设备中的第一种存放方式示意图;
图1B为本发明实施例中ECC在闪存设备中的第二种存放方式示意图;
图1C为本发明实施例中ECC在闪存设备中的第三种存放方式示意图;
图2为本发明实施例所提供方法的流程示意图;
图3A为本发明实施例一的流程示意图;
图3B为本发明实施例二的流程示意图;
图4为本发明实施例所提供系统的结构示意图;
图5为本发明实施例所提供设备的结构示意图。
具体实施方式
为了尽量避免使用错误的ECC对数据进行错误检测,以提高检测及纠正结果的准确性,本发明实施例提供一种ECC的保存方法和对数据进行错误检测的方法,本方法中,将数据对应的ECC的至少三份拷贝写入存储设备中,在对数据进行错误检测及纠正时,从保存的至少三个ECC中选取满足预设的ECC选取条件的ECC,并利用选取的ECC对数据进行错误检测及纠正。
本发明中,存储设备为:闪存设备、或内存储器、或硬盘。存储设备的存储单元是指存储设备进行数据读、写或擦除的基本单位,闪存设备和内存储器的存储单元为页,硬盘的存储单元为扇区。
为了实现本发明,首先获取待保存的数据,计算该数据的ECC;将数据和计算得到的该数据对应的ECC的至少三份拷贝写入存储设备中,写入数据的存储设备与写入该数据对应的ECC的至少三份拷贝的存储设备可以是同一存储设备,也可以是不同存储设备。在为同一存储设备时,具体写入方式包括但不限于以下三种:
第一种,将数据和该数据对应的ECC的至少三份拷贝写入同一存储单元中。以闪存设备为例,如图1A所示,将文件数据a写入页A的数据区,将文件数据a的三份错误校验码ECCa写入页A的保留区中,将文件数据b写入页B的数据区,将文件数据b的三份错误校验码写入页B的保留区中。
第二种,将数据和该数据对应的ECC的至少三个拷贝写入存储设备中不同的存储单元。以闪存设备为例,如图1B所示,将文件数据a写入页A的数据区,将文件数据a的三份错误校验码ECCa写入页C的数据区中,将文件数据b写入页B的数据区,将文件数据b的三份错误校验码ECCb也写入页C的数据区中。
第三种,结合上述两种方法,将数据写入存储单元中,将该数据对应的ECC的至少三份拷贝写入该存储单元以及除该存储单元之外的其他存储单元中。以闪存设备为例,如图1C所示,将文件数据a写入页A的数据区,将文件数据a的三份错误校验码ECCa同时写入页A的保留区和页C的数据区中,将文件数据b写入页B的数据区,将文件数据b的三份错误校验码ECCb同时写入页B的保留区和页C的数据区中。
具体写入数据对应的ECC的多少份拷贝,可以根据假定的存储设备中可能出现数据错误的最大比特数来决定,若存储设备中可能出现数据错误的最大比特数为M,为了保证能够选取出正确的ECC,可以写入数据对应的ECC的拷贝份数为:2*M+1,并且选取时依据的ECC选取条件为:相同个数过半。
参见图2,对数据进行错误检测及纠正的具体方法包括以下步骤:
步骤20:从存储设备中读取数据以及该数据对应的至少三个ECC;
本步骤中,可以从同一存储设备或不同存储设备读取数据以及该数据对应的至少三个ECC。在从同一存储设备读取数据以及该数据对应的至少三个ECC时,根据上述三种不同的写入方式,读取方式也有以下三种:
第一种,对应于上述第一种写入方式,从存储设备中的同一存储单元,读取数据以及该数据对应的至少三个ECC,例如,从闪存设备中保存数据的页的数据区读取数据,从该页的保留区读取该数据对应的三个ECC。
第二种,对应于上述第二种写入方式,从存储设备中不同的存储单元读取数据以及该数据对应的至少三个ECC,例如,从闪存设备中保存数据的页的数据区读取数据,从除该页之外的其他页读取该数据对应的三个ECC。为了实现该读取方法,需要预先建立保存数据的存储单元的标识与保存该数据对应的至少三个ECC的存储单元的标识的对应关系,该标识为存储单元地址,或者存储单元地址和存储单元内部地址。在读取时,首先根据建立的对应关系,确定保存数据对应的至少三个ECC的存储单元的标识信息,然后根据该标识信息从对应的存储单元读取至少三个ECC。
第三种,对应于上述第三种写入方式,从存储设备中保存数据的存储单元读取数据,从该存储单元和除该存储单元之外的其他存储单元,读取该数据对应的至少三个ECC。例如,从闪存设备中保存数据的页的数据区读取数据,从该页的保留区读取该数据对应的三个ECC,还从除该页之外的其他页读取该数据对应的三个ECC。为了实现该读取方法,也需要预先建立保存数据的存储单元的标识与保存该数据对应的ECC的存储单元的标识的对应关系,在读取时,根据建立的对应关系,确定保存数据对应的ECC的存储单元的标识信息,然后根据该标识信息从对应的存储单元读取ECC。
步骤21:从读取到的至少三个ECC中选取满足预设的ECC选取条件的一个ECC;
本步骤中,预设的ECC选取条件为:相同个数最多,即选取至少三个ECC中个数最多并且相同的ECC;或者,相同个数符合预定阀值,即选取至少三个ECC中个数符合预定阀值并且相同的ECC;或者,相同个数过半,即选取至少三个ECC中个数超过读取到的ECC的总个数的一半、并且相同的ECC。需要说明的是,预设的ECC选取条件并不限于以上提到的三种,其他预设的ECC选取条件只要给定亦可实施,这里不进行穷举。
其中,对于预设的ECC选取条件为相同个数最多,举例说明,读取到的ECC有七个,分别为ECCa、ECCa、ECCa、ECCa、ECCb、ECCc、ECCc,其中ECCa的个数为4,ECCb的个数为1,ECCc的个数为2,ECCa的个数最多,则选取ECCa进行后续的错误检测及纠正。
对于预设的ECC选取条件为相同个数符合预定阀值,举例说明,读取到的ECC有七个,分别为ECCa、ECCa、ECCa、ECCb、ECCc、ECCc、ECCd,其中ECCa的个数为3,ECCb的个数为1,ECCc的个数为2,ECCd的个数为1,预定阀值为3,ECCa的个数符合预定阀值,则选取ECCa进行后续的错误检测及纠正。
对于预设的ECC选取条件为相同个数过半,举例说明,读取到的ECC有三个,分别为ECCa、ECCa、ECCb,其中ECCa的个数超过了读取到的ECC总个数的一半,则选取ECCa进行后续的错误检测及纠正。
若从读取到的至少三个ECC中选取出了满足预设的ECC选取条件的两个以上的ECC,则可以从这两个以上的ECC中随机选取一个进行后续的错误检测及纠正。
步骤22:利用选取的ECC对文件数据进行错误检测及纠正。
本步骤中,利用选取的ECC对文件数据进行错误检测及纠正的具体方法为:首先,计算步骤21中读取到的数据的ECC;然后,根据计算得到的ECC和选取的ECC,利用ECC校验算法确定读取到的数据是否发生错误以及发生的错误是否可恢复,并在发生可恢复的错误时对错误的数据进行纠正。
在步骤21中,若未选取出满足预设的ECC选取条件的ECC时,可以发出无法利用保存的ECC对数据进行错误检测及纠正的告警通知,该告警通知中可以包含无法进行错误检测及纠正的原因,例如,若读取了N个ECC,预设的ECC选取条件为相同个数过半,则无法进行错误检测及纠正的原因为:有超过一半的ECC发生了错误。
下面以具体实例对本发明的方法进行说明:
实施例一:
参见图3A,在闪存设备中页的数据区中保存有数据,计算待保存数据对应的ECC,将该数据闪存设备中页的数据区;假定闪存设备中发生数据错误的最大比特数为1,将计算得到的ECC的三份拷贝写入该页的保留区中,后续选取ECC时依据的ECC选取条件为相同个数过半,具体的ECC校验过程如下:
步骤300:从闪存设备中保存数据的页的保留区读取该数据对应的三个ECC;
步骤301:对读取到的三个ECC进行两两比较;
步骤302:根据比较结果判断读取到的三个ECC中是否存在两个或两个以上相同的ECC,若存在,则将该ECC作为校验ECC,到步骤303;若不存在,则到步骤308:
步骤303:从页的数据区读取数据,并计算该数据的ECC;
步骤304:根据计算得到的ECC和校验ECC利用ECC校验算法确定读取到的数据是否发生错误以及发生的错误是否可恢复,若发生了可以恢复的错误,到步骤305;若未发生错误,到步骤306;若发生了不可恢复的错误,到步骤307;
步骤305:利用ECC校验算法对数据进行错误纠正,再到步骤306;
步骤306:确定数据正确,结束;
步骤307:发出错误无法纠正的告警信号,该数据失效不可用,结束。
步骤308:认为保留区中至少两个ECC发生了错误,发出无法利用读取到的ECC对数据进行错误检测及纠正的告警通知,结束。
实施例二:
参见图3B,数据存储在硬盘中,计算该数据的ECC;将计算得到的ECC的十份拷贝写入硬盘的扇区中,并记录写入扇区的地址,后续选取ECC时依据的ECC选取条件为相同个数最多,具体的ECC校验过程如下:
步骤310:根据记录的扇区地址,从硬盘中该地址对应的扇区读取数据对应的十个ECC;
步骤311:确定读取到的十个ECC中相同ECC的个数;
步骤312:选取十个ECC中相同个数最多的ECC作为校验ECC;
步骤313:从硬盘中读取待校验的数据,计算该数据的ECC;
步骤314:根据计算得到的ECC和步骤312中确定的校验ECC,利用ECC校验算法确定读取到的数据是否发生错误以及发生的错误是否可恢复,若发生了可以恢复的错误,到步骤315;若未发生错误,到步骤316;若发生了不可恢复的错误,到步骤317;
步骤315:利用ECC校验算法对数据进行错误纠正,再到步骤316;
步骤316:确定数据正确,结束;
步骤317:发出错误无法纠正的告警信号,该数据失效不可用,结束。
参见图4,本发明实施例还提供一种对数据进行数据错误检测及纠正的系统,该系统包括存储设备40和校验设备41,其中:
存储设备40,用于保存数据以及该数据对应的至少三个ECC。该至少三个ECC可以与数据保存在存储设备的同一个存储单元中,也可以保存在不同的存储单元中。例如,若该存储设备为闪存设备,则数据保存在闪存设备中页的数据区,数据对应的至少三个ECC保存在该页的保留区;或者,数据保存在闪存设备中页的数据区,数据对应的至少三个ECC保存在其他页的数据区和/或保留区。
校验设备41,用于读取存储设备中保存的数据以及该数据对应的至少三个ECC;从读取到的至少三个ECC中选取满足预设的ECC选取条件的ECC,利用选取的ECC对数据进行错误检测及纠正。
校验设备41还用于:
在未从读取到的至少三个ECC中选取出满足预设的ECC选取条件的ECC时,发出无法利用ECC对数据进行错误检测及纠正的告警通知。
参见图5,本发明实施例还提供一种校验设备,可以应用于对数据进行错误检测及纠正的系统中,该设备包括读取单元50、选取单元51和校验单元52,其中:
读取单元50,用于从存储设备中读取数据以及该数据对应的至少三个ECC;具体的,读取单元从存储设备中保存该数据的存储单元或除该存储单元之外的其他存储单元读取该数据对应的至少三个ECC。
选取单元51,用于从读取单元读取到的至少三个ECC中选取满足预设的ECC选取条件的ECC;
校验单元52,用于利用选取单元选取的ECC对数据进行错误检测及纠正。
校验设备还包括:
告警单元53,用于在选取单元未从读取到的至少三个ECC中选取出满足预设的ECC选取条件的ECC时,发出无法利用ECC对数据进行错误检测及纠正的告警通知。
下面通过将现有技术与本发明进行对比,说明本发明中在闪存设备中写入文件数据的ECC的三份拷贝所带来的有益效果。现有技术中将保存在页的数据区中的文件数据的一份ECC存放于该页的保留区,本发明的一种实施例是将保存在页的数据区中的文件数据的ECC的三份拷贝存放于该页的保留区,本发明的另一种实施例是将保存在页的数据区中的文件数据的ECC的三份拷贝存放于其他页的数据区中,以下是在闪存设备实际发生1bit和2bit的错误时,现有技术和本发明进行错误检测和纠正结果的对比列表:
现有技术 | 在页的保留区保存三份ECC | 在其他页的数据区保存三份ECC | |
页内发生1个bit错误 | 只有错误发生在非ECC存放的位置才有可能恢复 | 错误发生在任意位置均能恢复 | 错误发生在任意位置均能恢复 |
数据区内发生2个bit错误 | 无法恢复 | 无法恢复 | 只要错误不同时存在于两个ECC中并且不同时存在于被校验的文件数据中,则可以恢复,否则可能错误恢复或无法恢复 |
数据区内发生1个bit错误,保留区发生1个bit错误 | 只有错误发生在非ECC存放的位置才有可能恢复 | 可以恢复 | 可以恢复 |
保留区内发生2个bit错误 | 若有错误发生在ECC存放的 | 只要错误不同时存在于两个 | 可以恢复 |
位置,则可能错误恢复 | ECC中,可以恢复,否则可能错误恢复或无法恢复。 | ||
页内发生3个以上bit错误 | 无法恢复或错误恢复 | 有可能恢复 | 有可能恢复 |
由上表可见,采用现有技术,发生1个bit错误时,该错误可能被恢复,发生2个或2个以上bit错误时,该错误一定不能被恢复;采用本发明,发生1个bit错误时,该错误一定能被恢复,发生2个或2个以上bit错误时,该错误可能被恢复。
综上,本发明中,将数据对应ECC的至少三份拷贝写入存储设备中,在对数据进行错误检测及纠正时,从存储设备中保存的至少三个ECC中选取满足预设的ECC选取条件的ECC,并利用该ECC对数据进行错误检测及纠正。由于保存了数据对应的多份ECC,在对数据进行校验时,只要这多份ECC没有全部发生错误,则可能从这多个ECC中选取出满足预设的ECC选取条件的正确的ECC,从而尽量避免使用错误的ECC对数据进行错误检测及纠正,以提高错误检测及纠正的准确性。
本发明中,若保存2*M+1份ECC,并且选取ECC时的预设的ECC选取条件为选取相同个数过半的ECC时,能够保证存储设备中发生不超过M比特的数据错误时,找到正确的ECC并利用该正确的ECC对数据进行错误检测及纠正,进而得到正确的检测及纠正结果。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1、一种错误校验码ECC的保存方法,其特征在于,该方法包括:
获取待保存的数据,计算所述数据的ECC;
将所述数据和计算得到的所述数据的ECC的至少三份拷贝保存在存储设备中。
2、一种对数据进行错误检测的方法,其特征在于,该方法包括:
读取所述数据以及所述数据对应的至少三个错误校验码ECC;
从所述至少三个ECC中选取满足预设的ECC选取条件的ECC,利用选取的ECC对所述数据进行错误检测。
3、如权利要求2所述的方法,其特征在于,在未选取出满足预设的ECC选取条件的ECC时,该方法进一步包括:
发出告警通知。
4、如权利要求2所述的方法,其特征在于,所述预设的ECC选取条件为:
相同个数超过读取到的ECC的总个数的一半;或者,相同个数符合预定阀值;或者,相同个数最多。
5、如权利要求2所述的方法,其特征在于,从保存所述数据的存储设备或其他存储设备读取所述至少三个ECC。
6、如权利要求5所述的方法,其特征在于,所述从保存所述数据的存储设备读取所述至少三个ECC包括:
从所述存储设备中保存所述数据的存储单元和/或除所述存储单元之外的其他存储单元读取所述至少三个ECC。
7、如权利要求6所述的方法,其特征在于,在所述存储设备为闪存设备时,从所述存储设备中保存所述数据的存储单元和/或除所述存储单元之外的其他存储单元读取所述至少三个ECC包括:
从所述闪存设备中保存所述数据的页的保留区和/或除所述页之外的其他页读取所述至少三个ECC。
8、一种校验设备,其特征在于,该设备包括:
读取单元,用于从存储设备中读取数据以及所述数据对应的至少三个ECC;
选取单元,用于从所述至少三个ECC中选取满足预设的ECC选取条件的ECC;
校验单元,用于利用所述选取单元选取的ECC对所述数据进行错误检测。
9、如权利要求8所述的设备,其特征在于,所述读取单元用于:
从所述存储设备中保存所述数据的存储单元或除所述存储单元之外的其他存储单元读取所述至少三个ECC。
10、如权利要求8所述的设备,其特征在于,所述校验设备还包括:
告警单元,用于在所述选取单元未从所述至少三个ECC中选取出满足预设的ECC选取条件的ECC时,发出告警通知。
11、一种对数据进行错误检测的系统,其特征在于,该系统包括:
存储设备,用于保存数据以及所述数据对应的至少三个错误校正码ECC;
校验设备,用于从所述存储设备读取所述数据以及所述至少三个ECC,从所述至少三个ECC中选取满足预设的ECC选取条件的ECC,利用选取的ECC对所述数据进行错误检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101188173A CN101339525A (zh) | 2008-08-22 | 2008-08-22 | 一种对数据进行错误检测的方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101188173A CN101339525A (zh) | 2008-08-22 | 2008-08-22 | 一种对数据进行错误检测的方法、系统和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101339525A true CN101339525A (zh) | 2009-01-07 |
Family
ID=40213597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101188173A Pending CN101339525A (zh) | 2008-08-22 | 2008-08-22 | 一种对数据进行错误检测的方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101339525A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744745A (zh) * | 2013-12-13 | 2014-04-23 | 北京奇虎科技有限公司 | 一种数据存储的检测方法、设备及分布式存储系统 |
CN104133731A (zh) * | 2014-08-06 | 2014-11-05 | 曙光信息产业(北京)有限公司 | 数据校正方法和系统 |
CN104182292A (zh) * | 2013-05-21 | 2014-12-03 | 华为技术有限公司 | 一种数据存储方法及装置 |
CN104598169A (zh) * | 2012-12-31 | 2015-05-06 | 苏州国芯科技有限公司 | 用于flash存储器的高可靠性数据读取方法 |
CN107203436A (zh) * | 2017-05-25 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种Nand Flash数据校验的方法与装置 |
TWI650763B (zh) * | 2018-05-14 | 2019-02-11 | 慧榮科技股份有限公司 | 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 |
CN111625200A (zh) * | 2020-05-29 | 2020-09-04 | 中国科学院微电子研究所 | 一种非易失性存储器的读取方法、装置及系统 |
CN115297071A (zh) * | 2022-07-15 | 2022-11-04 | 中国航空无线电电子研究所 | 一种arinc664交换机交换引擎对seu和mbu容错设计方法 |
-
2008
- 2008-08-22 CN CNA2008101188173A patent/CN101339525A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598169A (zh) * | 2012-12-31 | 2015-05-06 | 苏州国芯科技有限公司 | 用于flash存储器的高可靠性数据读取方法 |
CN104598169B (zh) * | 2012-12-31 | 2018-02-09 | 苏州国芯科技有限公司 | 用于flash存储器的高可靠性数据读取方法 |
CN104182292A (zh) * | 2013-05-21 | 2014-12-03 | 华为技术有限公司 | 一种数据存储方法及装置 |
CN103744745B (zh) * | 2013-12-13 | 2018-05-29 | 北京奇虎科技有限公司 | 一种数据存储的检测方法、设备及分布式存储系统 |
CN103744745A (zh) * | 2013-12-13 | 2014-04-23 | 北京奇虎科技有限公司 | 一种数据存储的检测方法、设备及分布式存储系统 |
CN104133731A (zh) * | 2014-08-06 | 2014-11-05 | 曙光信息产业(北京)有限公司 | 数据校正方法和系统 |
CN107203436A (zh) * | 2017-05-25 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种Nand Flash数据校验的方法与装置 |
CN107203436B (zh) * | 2017-05-25 | 2021-04-06 | 郑州云海信息技术有限公司 | 一种Nand Flash数据校验的方法与装置 |
TWI650763B (zh) * | 2018-05-14 | 2019-02-11 | 慧榮科技股份有限公司 | 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 |
US10811120B2 (en) | 2018-05-14 | 2020-10-20 | Silicon Motion, Inc. | Method for performing page availability management of memory device, associated memory device and electronic device, and page availability management system |
CN111625200A (zh) * | 2020-05-29 | 2020-09-04 | 中国科学院微电子研究所 | 一种非易失性存储器的读取方法、装置及系统 |
CN111625200B (zh) * | 2020-05-29 | 2024-02-27 | 合肥中科智存科技有限公司 | 一种非易失性存储器的读取方法、装置及系统 |
CN115297071A (zh) * | 2022-07-15 | 2022-11-04 | 中国航空无线电电子研究所 | 一种arinc664交换机交换引擎对seu和mbu容错设计方法 |
CN115297071B (zh) * | 2022-07-15 | 2023-10-27 | 中国航空无线电电子研究所 | 一种arinc664交换机交换引擎对seu和mbu容错设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8977813B2 (en) | Implementing RAID in solid state memory | |
CN102804146B (zh) | 跟踪存储器件内的错误数据的系统和方法 | |
CN102171659B (zh) | 非易失性存储器中的数据错误恢复 | |
CN101339525A (zh) | 一种对数据进行错误检测的方法、系统和设备 | |
CN105788648B (zh) | 基于异构混合内存的nvm坏块识别处理及纠错方法和系统 | |
EP2529305B1 (en) | System and method to correct data errors using a stored count of bit values | |
US8700951B1 (en) | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata | |
KR101560077B1 (ko) | 데이터 무결성을 제공하기 위한 방법 및 장치 | |
US9772900B2 (en) | Tiered ECC single-chip and double-chip Chipkill scheme | |
KR101536853B1 (ko) | 데이터 무결성을 제공하기 위한 방법 및 장치 | |
US8327230B2 (en) | Data structure for flash memory and data reading/writing method thereof | |
CN102693760B (zh) | Nand快闪存储器的错误校正方法 | |
US20130179749A1 (en) | Method and system of dynamic data storage for error correction in a memory device | |
EP2857971B1 (en) | Method and device for repairing error data | |
CN102203740A (zh) | 数据处理方法、装置及系统 | |
CN105808371A (zh) | 数据备份与恢复方法、控制芯片及存储装置 | |
US7747926B2 (en) | Methods and apparatus for a memory device with self-healing reference bits | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
US11030040B2 (en) | Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system | |
CN104750577A (zh) | 面向片上大容量缓冲存储器的任意多位容错方法及装置 | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
CN105027084A (zh) | 在移动通信系统中控制存储器的装置和方法 | |
CN112306382B (zh) | 快闪存储器控制器、储存装置及其读取方法 | |
CN110764693B (zh) | 一种提高Nand flash数据稳定性的方法以及装置 | |
JP2008158724A (ja) | ディスクアレイ装置のステージング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090107 |