CN102063342A - 一种闪存存储设备数据的管理方法及系统 - Google Patents
一种闪存存储设备数据的管理方法及系统 Download PDFInfo
- Publication number
- CN102063342A CN102063342A CN 201010609679 CN201010609679A CN102063342A CN 102063342 A CN102063342 A CN 102063342A CN 201010609679 CN201010609679 CN 201010609679 CN 201010609679 A CN201010609679 A CN 201010609679A CN 102063342 A CN102063342 A CN 102063342A
- Authority
- CN
- China
- Prior art keywords
- ecc
- data
- storage area
- picket code
- flash memory
- 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监督码;在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据,避免占用存储设备额外的存储空间对受保护的数据进行备份就可以达到对数据的保护,节约了存储设备的存储空间。
Description
技术领域
本发明属于数据存储技术领域,尤其涉及一种闪存存储设备数据的管理方法及系统。
背景技术
存储设备在日常生活中的应用越来越普遍,闪存存储空间包括数据空间和冗余空间,其中,冗余空间主要用于存放错误修正码(Error Correcting Code,ECC)监督码,由于数据空间在读写过程中会发生比特错误,因此,在闪存的实际应用中,在冗余空间中存储ECC监督码来修正数据空间在读写过程中产生的比特错误。
目前,应用于闪存中的ECC监督码主要包括汉明码、里德所罗门码、博斯-查德胡里码、里德米勒码、二次元格雷码和卷积码及涡轮码。虽然各种ECC监督码的实现算法不尽相同,但基本原理是一样的,具体为:将原有数据经过编码运算,生成相应的监督码,然后将原始数据与监督码一同存储;在解码时原始数据与监督码一同参与运算。如果存储中有一定的错误,并且在该ECC监督码的纠错能力范围之内,则可以恢复出无误的原始数据。由此可见,每一次写入数据时,需要在每一笔数据中加入ECC监督码,来保证数据读取时的正确性。ECC技术通过对抗闪存存储系统存储中可能的错误来提高数据准确性和系统正常运行时间,现有技术中一般都对闪存中存储的所有数据都加入相同位长度的ECC监督码进行错误修正。
在系统运行时,因为某些数据非常重要,不能丢失,否则此闪存存储设备上的数据将会没有意义,例如系统的启动扇区(Boot sector),文件分配表(FAT)等,所以要加强重要数据的保护。
申请号为200910148313.0公开了一种文件系统关键信息区域维护方法及装置,所述方法包括如下步骤:当存储设备所使用的文件系统初次挂接时,将文件系统中用户认定的关键信息区域进行备份,并建立设备列表作为备份索引;当所述关键信息区域被破坏而导致所述存储设备启动异常时,调用所述备份信息,对所述关键信息区域进行维护。
但是,上述方法需要在存储设备中单独开辟一个存储区域作为重要数据的备份区,这样会减少一部分存储设备可使用的存储空间。
发明内容
本发明的目的在于提供一种闪存存储设备数据的管理方法,旨在解决现有技术中闪存存储设备中对所有数据都是采用相同位长度ECC监督码修正错误,对重要数据需要另辟存储空间备份进行保护,导致减少可使用的存储空间的问题。
本发明是这样实现的,一种闪存存储设备数据的管理方法,所述方法包括下述步骤:
在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;
在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据。
本发明实施例的另一个目的在于提供一种闪存存储设备数据的管理系统,所述系统包括:
配置模块,用于在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;以及
第一选取搭配模块,用于在重要数据所在存储区域,选取搭配所述配置模块配置的第二ECC监督码储存数据。
在本发明实施例中,在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据,避免占用存储设备额外的存储空间对受保护的数据进行备份就可以达到对受保护的数据的保护,节约了闪存存储设备的存储空间。
附图说明
图1是本发明第一实施例提供的闪存存储设备数据的管理方法的实现流程图;
图2是本发明第二实施例提供的闪存存储设备数据的管理方法的实现流程图;
图3是本发明第三实施例提供的闪存存储设备数据的管理方法的实现流程图;
图4是本发明第一实施例提供的闪存存储设备数据的管理系统的结构框图;
图5是本发明第二实施例提供的闪存存储设备数据的管理系统的结构框图;
图6是本发明第三实施例提供的闪存存储设备数据的管理系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,在闪存存储设备中配置至少两个不同位长度的ECC监督码,对重要数据的存储区域搭配具有更长位长度的第二ECC监督码存储数据,可以不需要占用闪存存储设备额外的存储空间对重要数据进行备份就可以达到对重要数据的保护,节约了存储设备的存储空间。
本发明实施例的目的在于提供一种闪存存储设备数据的管理方法,所述方法包括下述步骤:
在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;
在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据。
本发明实施例的另一个目的在于提供一种闪存存储设备数据的管理系统,所述系统包括:
配置模块,用于在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;以及
第一选取搭配模块,用于在重要数据所在存储区域,选取搭配所述配置模块配置的第二ECC监督码储存数据。
在本发明实施例中,在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码,在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据。
图1示出了本发明第一实施例提供的闪存存储设备数据的管理方法的实现流程,其具体的步骤如下所述:
在步骤S101中,在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码。
在本发明实施例中,上述第一ECC监督码相比第二ECC监督码的位长度要短,相应的其纠错能力也弱。因闪存存储设备的冗余空间有限,不能对闪存存储设备中的所有数据都搭配更长位长度的第二ECC监督码。
在步骤S102中,在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据。
在本发明实施例,该配置的第二ECC监督码可以根据其重要数据的重要程度,配置该监督码的位长度,数据的重要程度越高,其所采用的ECC监督码的位长度越长,位长度越长的ECC监督码的纠错能力越强。
其中,ECC监督码主要包括汉明码、里德所罗门码、博斯-查德胡里码、里德米勒码、二次元格雷码和卷积码及涡轮码。
在本发明实施例中,对于重要数据采用第二ECC监督码进行修正,保证在读取数据过程中出现错误时准确纠正。
在本发明实施例中,通过在闪存存储设备中设置至少两个不同位长度的ECC监督码,并在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据,具有以下有益效果:
(1)因为错误修正的效率与ECC监督码的长度有关。
ECC监督码的位长度越长,ECC单元可保护的比特数越多,所以本发明通过对重要数据所在存储区域选取搭配更长位长度的所述第二ECC监督码,加强了对重要数据的保护,即使重要数据在存储过程中因为某些原因造成出错,也可以通过所述第二ECC监督码纠正过来;
(2)避免了占用闪存存储设备额外的存储空间对受保护的数据进行备份就可以达到对重要数据的保护,节约了闪存存储设备的存储空间。
图2示出了本发明第二实施例提供的闪存存储设备数据的管理方法的实现流程,其具体的步骤如下所述:
在步骤S201中,在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码。
在本发明实施例中,上述第一ECC监督码相比第二ECC监督码的位长度要短,相应的其纠错能力也弱。
在步骤S202中,在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据。
在步骤S203中,在重要数据所在页的存储区域,设置更大的冗余空间用于存储ECC监督码。
因为每个页的存储空间固定,增大冗余空间,其数据空间相应减小,则可以在冗余空间存储更长位长度的ECC监督码,即可以增加ECC监督码可保护的比特数,从而加强对重要数据的保护。
在步骤S204中,在读取重要数据所在存储区域的数据时,用所述第二ECC监督码修正所述存储区域的数据,并输出数据。
在本发明实施例中,上述实施例给出的当配置完第一ECC监督码和第二ECC监督码后,对重要数据写入时进行ECC监督码的选取搭配,在读取重要数据操作时用选取的ECC监督码的修正过程,下述给出以上述实施例为基础,结合采用第二ECC监督码对发生错误频繁的存储区域进行数据修正的实施过程:
图3示出了本发明第三实施例提供的闪存存储设备数据的管理方法的实现流程,其具体的步骤如下所述:
在步骤S301中,预先设置一阈值,所述阈值表征存储区域发生数据读取错误的频率。
在步骤S302中,在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码。
在步骤S303中,在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据。
在步骤S304中,在重要数据所在页的存储区域,设置更大的冗余空间用于存储ECC监督码。
在步骤S305中,对闪存存储设备发生错误频率超过所述预设阈值的存储区域进行检测。
在步骤S306中,当检测到发生错误频率超过所述预设阈值的存储区域时,在发生错误超过预设阈值的存储区域选取搭配所述第二ECC监督码存储数据。
在步骤S307中,在发生错误超过所述预设阈值的存储区域,设置更大的冗余空间用于存储ECC监督码。
在步骤S308中,在读取重要数据或发生错误超过所述预设阈值的存储区域的数据时,用所述第二ECC监督码修正所述存储区域的数据,并输出数据。
在本发明实施例中,对发生错误频繁的存储区域也选取搭配所述第二ECC监督码进行,也具有同样的技术效果。
图4示出了本发明第一实施例提供的闪存存储设备数据的管理系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
配置模块11在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;第一选取搭配模块12在重要数据所在存储区域,选取搭配所述配置模块11配置的第二ECC监督码储存数据。
上述仅为本发明的一个系统实施例,其各模块的功能如上述方法实施例所述,在此不再赘述,但不用以限制本发明。
图5示出了本发明第二实施例提供的闪存存储设备数据的管理系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
配置模块11在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;第一选取搭配模块12在重要数据所在存储区域,选取搭配所述配置模块11配置的第二ECC监督码储存数据。
在本发明实施例中,第一冗余空间设置模块13在重要数据所在页的存储区域,设置更大的冗余空间用于存储ECC监督码。
在本发明实施例中,修正模块14在读取重要数据所在存储区域的数据时,用所述第二ECC监督码修正所述存储区域的数据,并输出数据。
图6示出了本发明第三实施例提供的闪存存储设备数据的管理系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
配置模块11在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;第一选取搭配模块12在重要数据所在存储区域,选取搭配所述配置模块配置的第二ECC监督码储存数据。
在本发明实施例中,第一冗余空间设置模块13在重要数据所在页的存储区域,设置更大的冗余空间用于存储ECC监督码。
在本发明实施例中,修正模块14在读取重要数据所在存储区域的数据时,用所述第二ECC监督码修正所述存储区域的数据,并输出数据。
在本发明实施例中,预先设置模块15预先设置一阈值,所述阈值表征存储区域发生错误的频率;检测模块16对闪存存储设备发生错误频率超过所述预设阈值的存储区域进行检测;当所述检测模块16检测到发生错误频率超过所述预设阈值的存储区域时,第二选取搭配模块17在发生错误超过预设阈值的存储区域选取搭配所述第二ECC监督码存储数据。
当然,对于发生错误频繁的存储区域也需要设置其冗余区域的大小,在此不再赘述,但不用以限制本发明。
上述仅为本发明的系统实施例,其各模块的功能如上述方法实施例所述,在此不再赘述。
在本发明实施例中,在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码,在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据,避免占用存储设备额外的存储空间对受保护的数据进行备份就可以达到对受保护的数据的保护,节约了存储设备的存储空间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种闪存存储设备数据的管理方法,其特征在于,所述方法包括下述步骤:
在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;
在重要数据所在存储区域,选取搭配所述第二ECC监督码储存数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括下述步骤:
在读取重要数据所在存储区域的数据时,用所述第二ECC监督码修正所述存储区域的数据,并输出数据。
3.如权利要求1所述的方法,其特征在于,所述方法还包括下述步骤:
在重要数据所在页的存储区域,设置更大的冗余空间用于存储ECC监督码。
4.如权利要求1所述的方法,其特征在于,所述方法还包括下述步骤:
在发生错误超过预设阈值的存储区域选取搭配所述第二ECC监督码存储数据。
5.如权利要求4所述的方法,其特征在于,当所述在错误频繁的存储区域选取搭配所述第二ECC监督码存储数据时,所述方法还包括下述步骤:
预先设置一阈值,所述阈值表征存储区域发生错误的频率;
对闪存存储设备发生错误频率超过所述预设阈值的存储区域进行检测;
当检测到发生错误频率超过所述预设阈值的存储区域时,执行所述在发生错误超过预设阈值的存储区域选取搭配所述第二ECC监督码存储数据的步骤。
6.一种闪存存储设备数据的管理系统,其特征在于,所述系统包括:
配置模块,用于在闪存存储设备中配置至少两个不同位长度的ECC监督码,分别记为普通位长度的第一ECC监督码和更长位长度的第二ECC监督码;以及
第一选取搭配模块,用于在重要数据所在存储区域,选取搭配所述配置模块配置的第二ECC监督码储存数据。
7.如权利要求6所述的系统,其特征在于,所述系统还包括:
修正模块,用于在读取重要数据所在存储区域的数据时,用所述第二ECC监督码修正所述存储区域的数据,并输出数据。
8.如权利要求6所述的系统,其特征在于,所述系统还包括:
第一冗余空间设置模块,用于在重要数据所在页的存储区域,设置更大的冗余空间用于存储ECC监督码。
9.如权利要求6所述的系统,其特征在于,所述系统还包括:
第二选取搭配模块,用于在发生错误超过预设阈值的存储区域选取搭配所述第二ECC监督码存储数据。
10.如权利要求9所述的系统,其特征在于,当所述在错误频繁的存储区域选取搭配所述第二ECC监督码存储数据时,所述系统还包括:
预先设置模块,用于预先设置一阈值,所述阈值表征存储区域发生错误的频率;以及
检测模块,用于对闪存存储设备发生错误频率超过所述预设阈值的存储区域进行检测;
当检测到发生错误频率超过所述预设阈值的存储区域时,执行所述第二选取搭配模块在发生错误超过预设阈值的存储区域选取搭配所述第二ECC监督码存储数据的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010609679 CN102063342A (zh) | 2010-12-28 | 2010-12-28 | 一种闪存存储设备数据的管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010609679 CN102063342A (zh) | 2010-12-28 | 2010-12-28 | 一种闪存存储设备数据的管理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102063342A true CN102063342A (zh) | 2011-05-18 |
Family
ID=43998628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010609679 Pending CN102063342A (zh) | 2010-12-28 | 2010-12-28 | 一种闪存存储设备数据的管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063342A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819467A (zh) * | 2012-03-06 | 2012-12-12 | 宜鼎国际股份有限公司 | 可提高数据校正能力的闪存装置 |
CN102969028A (zh) * | 2012-10-18 | 2013-03-13 | 记忆科技(深圳)有限公司 | 一种ecc动态调整方法、系统及闪存 |
CN103218271A (zh) * | 2013-04-18 | 2013-07-24 | 华为技术有限公司 | 一种数据纠错方法及装置 |
CN107153793A (zh) * | 2017-05-17 | 2017-09-12 | 成都麟成科技有限公司 | 一种重要数据存储的防破译方法 |
CN108519928A (zh) * | 2018-03-31 | 2018-09-11 | 北京联想核芯科技有限公司 | 一种动态调整ecu的处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000569A (zh) * | 2006-12-29 | 2007-07-18 | 福昭科技(深圳)有限公司 | 一种对多重扇区进行错误修正编码的方法 |
CN101281788A (zh) * | 2007-04-06 | 2008-10-08 | 群联电子股份有限公司 | 闪存系统及其控制方法 |
EP2199911A1 (en) * | 2008-12-22 | 2010-06-23 | Industrial Technology Research Institute | Flash memory controller, error correction code controller therein, and the methods and systems thereof |
US20100223530A1 (en) * | 2009-02-27 | 2010-09-02 | Samsung Electronics Co., Ltd. | Semiconductor memory device and data processing method thereof |
-
2010
- 2010-12-28 CN CN 201010609679 patent/CN102063342A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000569A (zh) * | 2006-12-29 | 2007-07-18 | 福昭科技(深圳)有限公司 | 一种对多重扇区进行错误修正编码的方法 |
CN101281788A (zh) * | 2007-04-06 | 2008-10-08 | 群联电子股份有限公司 | 闪存系统及其控制方法 |
EP2199911A1 (en) * | 2008-12-22 | 2010-06-23 | Industrial Technology Research Institute | Flash memory controller, error correction code controller therein, and the methods and systems thereof |
US20100223530A1 (en) * | 2009-02-27 | 2010-09-02 | Samsung Electronics Co., Ltd. | Semiconductor memory device and data processing method thereof |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819467A (zh) * | 2012-03-06 | 2012-12-12 | 宜鼎国际股份有限公司 | 可提高数据校正能力的闪存装置 |
CN102969028A (zh) * | 2012-10-18 | 2013-03-13 | 记忆科技(深圳)有限公司 | 一种ecc动态调整方法、系统及闪存 |
CN103218271A (zh) * | 2013-04-18 | 2013-07-24 | 华为技术有限公司 | 一种数据纠错方法及装置 |
CN103218271B (zh) * | 2013-04-18 | 2015-09-09 | 华为技术有限公司 | 一种数据纠错方法及装置 |
CN107153793A (zh) * | 2017-05-17 | 2017-09-12 | 成都麟成科技有限公司 | 一种重要数据存储的防破译方法 |
CN108519928A (zh) * | 2018-03-31 | 2018-09-11 | 北京联想核芯科技有限公司 | 一种动态调整ecu的处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2673709B1 (en) | Data recovery using additional error correction coding data | |
CN102077176B (zh) | 存储器系统的回拷优化 | |
CN101848000B (zh) | 解码方法、编码方法及启动控制系统 | |
US8055983B2 (en) | Data writing method for flash memory and error correction encoding/decoding method thereof | |
US8327230B2 (en) | Data structure for flash memory and data reading/writing method thereof | |
US8321757B2 (en) | Method and apparatus for error correction | |
US20140089561A1 (en) | Techniques Associated with Protecting System Critical Data Written to Non-Volatile Memory | |
CN104115126A (zh) | 使用代数码的多阶段ecc编码 | |
CN101937373A (zh) | 比特错误阈值和重映射存储装置 | |
CN101901169B (zh) | 扫描装置及方法 | |
CN102656566A (zh) | 固态存储系统中的数据管理 | |
CN101567220B (zh) | 闪存的损坏区块辨识方法、储存系统及其控制器 | |
CN102543196B (zh) | 数据读取方法、存储器储存装置及其控制器 | |
CN101000569A (zh) | 一种对多重扇区进行错误修正编码的方法 | |
CN101373640A (zh) | 闪存装置以及错误校正方法 | |
CN101281788A (zh) | 闪存系统及其控制方法 | |
CN102063342A (zh) | 一种闪存存储设备数据的管理方法及系统 | |
CN103631670A (zh) | 存储器储存装置、存储器控制器与数据处理方法 | |
CN111061592A (zh) | 一种通用的Nand Flash比特位反转纠错方法 | |
CN101882472A (zh) | 具可变动错误校正码机制的快闪储存装置及其控制方法 | |
CN113722144B (zh) | 数据储存装置与数据处理方法 | |
CN101308706B (zh) | 适用于闪存的数据写入方法及错误修正编解码方法 | |
WO2019136971A1 (zh) | 一种利用假数据的闪存数据保护方法 | |
CN101634938A (zh) | 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘 | |
TW201606503A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110518 |