CN103745753A - 基于闪存的纠错方法与系统 - Google Patents
基于闪存的纠错方法与系统 Download PDFInfo
- Publication number
- CN103745753A CN103745753A CN201310694576.8A CN201310694576A CN103745753A CN 103745753 A CN103745753 A CN 103745753A CN 201310694576 A CN201310694576 A CN 201310694576A CN 103745753 A CN103745753 A CN 103745753A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- data
- error correction
- misdata
- page
- 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
本发明适用于存储技术领域,提供了一种基于闪存的纠错方法与系统,所述方法包括:检测闪存中数据页的错误数据的数量;若所述闪存中某数据页的错误数据的数量小于预设数量阈值,则通过纠错算法处理所述错误数据;若所述闪存中某数据页的错误数据的数量大于预设数量阈值,则将所述数据页所在的第一数据块的所有数据搬移到第二数据块。借此,本发明可以保护数据安全,延长闪存装置的使用寿命。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种基于闪存的纠错方法与系统。
背景技术
闪存作为一种高速的存储介质,被广泛的应用于各种场合。但是随着科学技术的发展,制程越来越小,每个CELL存放的bit越来越多,这导致每个bit发生错误的概率越来越大。在使用过程中,随着存放时间的延长,错误数量是逐渐增加的;并且随着擦写次数的增加,闪存中的block也会变得越来越不可靠。以固态硬盘为例,其需要一个纠错模块用来纠错,如果某个page中的错误数量在可纠错的范围之内,那么错误可以被纠正,但是如果错误太多,那么就无法纠正,数据就会丢失。
综上可知,现有的基于闪存的纠错方法与系统,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种基于闪存的纠错方法与系统,可以保护数据安全,延长闪存装置的使用寿命。
为了实现上述目的,本发明提供一种基于闪存的纠错方法,所述方法包括:
检测闪存中数据页的错误数据的数量;
若所述闪存中某数据页的错误数据的数量小于预设数量阈值,则通过纠错算法处理所述错误数据;
若所述闪存中某数据页的错误数据的数量大于预设数量阈值,则将所述数据页所在的第一数据块的所有数据搬移到第二数据块。
根据本发明的基于闪存的纠错方法,所述将所述数据页所在的第一数据块的所有数据搬移到第二数据块步骤之后还包括:
将所述第一数据块的擦写次数增加预设数值。
根据本发明的基于闪存的纠错方法,所述第一数据块的擦写次数的增加的预设数值为1000。
根据本发明的基于闪存的纠错方法,所述检测闪存中数据页的错误数据的数量步骤之前包括:
设置所述闪存中数据页的错误数据的数量阈值。
本发明还提供一种基于闪存的纠错系统,包括:
检测判断模块,用于检测闪存中数据页的错误数据的数量,若所述闪存中某数据页的错误数据的数量小于预设数量阈值,则交由纠错处理模块处理,否则交由搬移处理模块处理;
纠错处理模块,用于通过纠错算法处理所述错误数据;
搬移处理模块,用于将所述数据页所在的第一数据块的所有数据搬移到第二数据块。
根据本发明的基于闪存的纠错系统,所述搬移处理模块进一步用于将所述第一数据块的擦写次数增加预设数值。
根据本发明的基于闪存的纠错系统,所述第一数据块的擦写次数的增加的预设数值为1000。
根据本发明的基于闪存的纠错系统,所述系统还包括阈值设置模块,用于设置所述闪存中数据页的错误数据的数量阈值。
本发明通过预设闪存装置中数据页的错误数量阈值,并且在闪存装置运行时检测闪存中数据页的错误数据的数量,若所述闪存中某数据页的错误数据的数量小于预设数量阈值,则通过纠错算法处理所述错误数据;若所述闪存中某数据页的错误数据的数量大于预设数量阈值,则将所述数据页所在的第一数据块的所有数据搬移到第二数据块。借此可以保护数据安全,延长闪存装置的使用寿命。
附图说明
图1是本发明的基于闪存的纠错系统结构示意图;
图2是本发明一实施例的基于闪存的纠错系统结构示意图;
图3是本发明一实施例的数据搬移示意图;
图4是本发明一实施例的数据块处理示意图;
图5是本发明的基于闪存的纠错方法流程图;
图6是本发明一实施例的基于闪存的纠错方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种基于闪存的纠错系统,该系统100可以是内置于闪存装置的软件单元,硬件单元或软硬件结合单元。闪存装置可以是手机、固态硬盘等。所述系统100包括检测判断模块10、纠错处理模块20以及搬移处理模块30,其中:
检测判断模块10用于检测闪存中数据页(page)的错误数据的数量,若所述闪存中某数据页的错误数据的数量小于预设数量阈值,则交由纠错处理模块20处理,否则交由搬移处理模块30处理。
纠错处理模块20,用于通过纠错算法处理所述错误数据,本发明可采用通用的ECC纠错算法。
搬移处理模块30,用于将所述数据页所在的第一数据块的所有数据搬移到第二数据块。
对于错误超过阈值的block A,如果不进行搬移,随着时间的延长,错误会逐渐增加,最后无法纠正。结合图3,本发明通过及时搬移这种block可以保证数据安全,延长闪存装置的使用寿命。
本发明的另一实施例中,结合图2,系统100还包括阈值设置模块40,用于设置所述闪存中数据页的错误数据的数量阈值,该阈值即为可纠错的临界点,超过该阈值即不能通过ECC纠错。
优选的是,搬移处理模块30将所述数据页所在的第一数据块的所有数据搬移到第二数据块后,还用于将所述第一数据块的擦写次数增加预设数值,参见图4,本实施例中设定增加的数值为1000。借此,根据该擦写次数,系统100再写入数据时,优先选择其它擦写次数较小的数据块写入,借此保证写入数据的安全性。
参见图5,本发明提供了一种基于闪存的纠错方法,其可以通过如图1所示的系统100实现,该方法包括:
步骤S501,检测闪存中数据页(page)的错误数据的数量,并判断若所述闪存中某数据页的错误数据的数量是否小于预设数量阈值,若是,则执行步骤S502,否则执行步骤S503。
步骤S502,通过纠错算法处理所述错误数据,本发明可采用通用的ECC纠错算法。
步骤S503,将所述数据页所在的第一数据块的所有数据搬移到第二数据块。
本发明通过及时搬移这种block可以保证数据安全,延长闪存装置的使用寿命。
参见图6,本发明另一实施例的基于闪存的纠错方法,其可以通过如图2所示的系统100实现,该方法包括:
步骤S601,设置所述闪存中数据页的错误数据的数量阈值,该阈值即为可纠错的临界点,超过该阈值即不能通过ECC纠错。
步骤S602,检测并判断所述闪存中某数据页的错误数据的数量是否小于预设数量阈值,若是,则执行步骤S603,否则执行步骤S604。
步骤S603,通过纠错算法处理所述错误数据。
步骤S604,将所述数据页所在的第一数据块的所有数据搬移到第二数据块。
步骤S605,将第一数据块的擦写次数增加1000。借此,系统100有写操作时优先选择其它的block来写,借此能够将SSD的寿命延长4倍以上。
本发明经过用户多次实验获知,可以将闪存装置的数据丢失率降低97%,大大提升闪存装置性能。
综上所述,本发明通过预设闪存装置中数据页的错误数量阈值,并且在闪存装置运行时检测闪存中数据页的错误数据的数量,若所述闪存中某数据页的错误数据的数量小于预设数量阈值,则通过纠错算法处理所述错误数据;若所述闪存中某数据页的错误数据的数量大于预设数量阈值,则将所述数据页所在的第一数据块的所有数据搬移到第二数据块。借此可以保护数据安全,延长闪存装置的使用寿命。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种基于闪存的纠错方法,其特征在于,所述方法包括:
检测闪存中数据页的错误数据的数量;
若所述闪存中某数据页的错误数据的数量小于预设数量阈值,则通过纠错算法处理所述错误数据;
若所述闪存中某数据页的错误数据的数量大于预设数量阈值,则将所述数据页所在的第一数据块的所有数据搬移到第二数据块。
2.根据权利要求1所述的基于闪存的纠错方法,其特征在于,所述将所述数据页所在的第一数据块的所有数据搬移到第二数据块步骤之后还包括:
将所述第一数据块的擦写次数增加预设数值。
3.根据权利要求2所述的基于闪存的纠错方法,其特征在于,所述第一数据块的擦写次数的增加的预设数值为1000。
4.根据权利要求1所述的基于闪存的纠错方法,其特征在于,所述检测闪存中数据页的错误数据的数量步骤之前包括:
设置所述闪存中数据页的错误数据的数量阈值。
5.一种基于闪存的纠错系统,其特征在于,包括:
检测判断模块,用于检测闪存中数据页的错误数据的数量,若所述闪存中某数据页的错误数据的数量小于预设数量阈值,则交由纠错处理模块处理,否则交由搬移处理模块处理;
纠错处理模块,用于通过纠错算法处理所述错误数据;
搬移处理模块,用于将所述数据页所在的第一数据块的所有数据搬移到第二数据块。
6.根据权利要求5所述的基于闪存的纠错系统,其特征在于,所述搬移处理模块进一步用于将所述第一数据块的擦写次数增加预设数值。
7.根据权利要求6所述的基于闪存的纠错系统,其特征在于,所述第一数据块的擦写次数的增加的预设数值为1000。
8.根据权利要求5所述的基于闪存的纠错系统,其特征在于,所述系统还包括阈值设置模块,用于设置所述闪存中数据页的错误数据的数量阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310694576.8A CN103745753A (zh) | 2013-12-17 | 2013-12-17 | 基于闪存的纠错方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310694576.8A CN103745753A (zh) | 2013-12-17 | 2013-12-17 | 基于闪存的纠错方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103745753A true CN103745753A (zh) | 2014-04-23 |
Family
ID=50502766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310694576.8A Pending CN103745753A (zh) | 2013-12-17 | 2013-12-17 | 基于闪存的纠错方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103745753A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104167224A (zh) * | 2014-06-12 | 2014-11-26 | 上海新储集成电路有限公司 | 降低dram软错误的方法 |
CN104572336A (zh) * | 2015-01-14 | 2015-04-29 | 广东省电子信息产业集团有限公司 | 一种闪存错误检测方法及装置 |
CN104615503A (zh) * | 2015-01-14 | 2015-05-13 | 广东省电子信息产业集团有限公司 | 降低对存储器接口性能影响的闪存错误检测方法及装置 |
CN104658610A (zh) * | 2015-01-14 | 2015-05-27 | 广东省电子信息产业集团有限公司 | 一种动态调整的闪存错误检测方法及装置 |
CN104794019A (zh) * | 2015-04-17 | 2015-07-22 | 深圳市江波龙电子有限公司 | 一种嵌入式存储器的数据保护方法及装置 |
CN107153507A (zh) * | 2016-03-03 | 2017-09-12 | 北京兆易创新科技股份有限公司 | 一种基于NAND Flash的数据读取装置和方法 |
CN107643955A (zh) * | 2016-07-27 | 2018-01-30 | 中电海康集团有限公司 | 一种基于纠错回写技术提升非易失存储器性能的方法及非易失存储器结构 |
WO2018041151A1 (zh) * | 2016-08-30 | 2018-03-08 | 中兴通讯股份有限公司 | 数据存储的方法、装置以及非易失性存储器 |
CN108614664A (zh) * | 2016-12-09 | 2018-10-02 | 北京京存技术有限公司 | 基于NANDflash的读错误处理方法和装置 |
CN108804025A (zh) * | 2018-03-07 | 2018-11-13 | 深圳忆联信息系统有限公司 | 一种降低闪存滞留错误的方法及固态硬盘 |
CN109542667A (zh) * | 2018-10-26 | 2019-03-29 | 珠海妙存科技有限公司 | 一种提高nand闪存数据可靠性的方法及装置 |
CN109545267A (zh) * | 2018-10-11 | 2019-03-29 | 深圳大普微电子科技有限公司 | 闪存自检的方法、固态硬盘以及存储装置 |
CN110444247A (zh) * | 2019-07-31 | 2019-11-12 | 至誉科技(武汉)有限公司 | 存储设备写错误纠错能力的测试装置 |
CN110459259A (zh) * | 2019-07-31 | 2019-11-15 | 至誉科技(武汉)有限公司 | 存储设备写错误纠错能力的测试方法、系统及存储介质 |
CN111324283A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
CN111737042A (zh) * | 2020-05-26 | 2020-10-02 | 上海汽车工业(集团)总公司 | Nand-flash page位翻转控制方法及控制模块 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175311A (zh) * | 1994-12-27 | 1998-03-04 | 英特尔公司 | 用于快速eeprom存贮器阵列的错误管理处理 |
CN101763904A (zh) * | 2008-12-24 | 2010-06-30 | 海力士半导体有限公司 | 非易失性存储装置及其操作方法 |
CN101853693A (zh) * | 2009-04-02 | 2010-10-06 | 智微科技股份有限公司 | 储存装置以及延长储存装置的使用寿命的方法 |
CN102298543A (zh) * | 2011-09-15 | 2011-12-28 | 成都市华为赛门铁克科技有限公司 | 一种存储器管理方法和装置 |
CN103218274A (zh) * | 2013-03-15 | 2013-07-24 | 华为技术有限公司 | 一种预防故障累加的方法和固态硬盘 |
-
2013
- 2013-12-17 CN CN201310694576.8A patent/CN103745753A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175311A (zh) * | 1994-12-27 | 1998-03-04 | 英特尔公司 | 用于快速eeprom存贮器阵列的错误管理处理 |
CN101763904A (zh) * | 2008-12-24 | 2010-06-30 | 海力士半导体有限公司 | 非易失性存储装置及其操作方法 |
CN101853693A (zh) * | 2009-04-02 | 2010-10-06 | 智微科技股份有限公司 | 储存装置以及延长储存装置的使用寿命的方法 |
CN102298543A (zh) * | 2011-09-15 | 2011-12-28 | 成都市华为赛门铁克科技有限公司 | 一种存储器管理方法和装置 |
CN103218274A (zh) * | 2013-03-15 | 2013-07-24 | 华为技术有限公司 | 一种预防故障累加的方法和固态硬盘 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104167224A (zh) * | 2014-06-12 | 2014-11-26 | 上海新储集成电路有限公司 | 降低dram软错误的方法 |
CN104167224B (zh) * | 2014-06-12 | 2018-06-29 | 上海新储集成电路有限公司 | 降低dram软错误的方法 |
CN104658610B (zh) * | 2015-01-14 | 2017-10-27 | 广东省电子信息产业集团有限公司 | 一种动态调整的闪存错误检测方法及装置 |
CN104572336B (zh) * | 2015-01-14 | 2018-01-26 | 广东省电子信息产业集团有限公司 | 一种闪存错误检测方法及装置 |
CN104572336A (zh) * | 2015-01-14 | 2015-04-29 | 广东省电子信息产业集团有限公司 | 一种闪存错误检测方法及装置 |
CN104658610A (zh) * | 2015-01-14 | 2015-05-27 | 广东省电子信息产业集团有限公司 | 一种动态调整的闪存错误检测方法及装置 |
CN104615503A (zh) * | 2015-01-14 | 2015-05-13 | 广东省电子信息产业集团有限公司 | 降低对存储器接口性能影响的闪存错误检测方法及装置 |
CN104615503B (zh) * | 2015-01-14 | 2018-10-30 | 广东华晟数据固态存储有限公司 | 降低对存储器接口性能影响的闪存错误检测方法及装置 |
CN104794019B (zh) * | 2015-04-17 | 2017-12-05 | 深圳市江波龙电子有限公司 | 一种嵌入式存储器的数据保护方法及装置 |
CN104794019A (zh) * | 2015-04-17 | 2015-07-22 | 深圳市江波龙电子有限公司 | 一种嵌入式存储器的数据保护方法及装置 |
CN107153507A (zh) * | 2016-03-03 | 2017-09-12 | 北京兆易创新科技股份有限公司 | 一种基于NAND Flash的数据读取装置和方法 |
CN107643955A (zh) * | 2016-07-27 | 2018-01-30 | 中电海康集团有限公司 | 一种基于纠错回写技术提升非易失存储器性能的方法及非易失存储器结构 |
CN107643955B (zh) * | 2016-07-27 | 2020-11-06 | 中电海康集团有限公司 | 一种基于纠错回写技术提升非易失存储器性能的方法及非易失存储器结构 |
WO2018041151A1 (zh) * | 2016-08-30 | 2018-03-08 | 中兴通讯股份有限公司 | 数据存储的方法、装置以及非易失性存储器 |
CN107783725A (zh) * | 2016-08-30 | 2018-03-09 | 南京中兴新软件有限责任公司 | 数据存储的方法、装置以及非易失性存储器 |
CN108614664A (zh) * | 2016-12-09 | 2018-10-02 | 北京京存技术有限公司 | 基于NANDflash的读错误处理方法和装置 |
CN108804025A (zh) * | 2018-03-07 | 2018-11-13 | 深圳忆联信息系统有限公司 | 一种降低闪存滞留错误的方法及固态硬盘 |
CN109545267A (zh) * | 2018-10-11 | 2019-03-29 | 深圳大普微电子科技有限公司 | 闪存自检的方法、固态硬盘以及存储装置 |
CN109542667A (zh) * | 2018-10-26 | 2019-03-29 | 珠海妙存科技有限公司 | 一种提高nand闪存数据可靠性的方法及装置 |
CN109542667B (zh) * | 2018-10-26 | 2023-03-24 | 珠海妙存科技有限公司 | 一种提高nand闪存数据可靠性的方法及装置 |
CN111324283B (zh) * | 2018-12-14 | 2024-02-20 | 兆易创新科技集团股份有限公司 | 一种存储器 |
CN111324283A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
CN110459259A (zh) * | 2019-07-31 | 2019-11-15 | 至誉科技(武汉)有限公司 | 存储设备写错误纠错能力的测试方法、系统及存储介质 |
CN110444247A (zh) * | 2019-07-31 | 2019-11-12 | 至誉科技(武汉)有限公司 | 存储设备写错误纠错能力的测试装置 |
CN111737042A (zh) * | 2020-05-26 | 2020-10-02 | 上海汽车工业(集团)总公司 | Nand-flash page位翻转控制方法及控制模块 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103745753A (zh) | 基于闪存的纠错方法与系统 | |
TWI447733B (zh) | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 | |
KR101623119B1 (ko) | 솔리드 스테이트 드라이브의 에러 제어 방법 | |
US9785501B2 (en) | Error detection and handling for a data storage device | |
CN104572489B (zh) | 磨损均衡方法及装置 | |
CN102693760B (zh) | Nand快闪存储器的错误校正方法 | |
US8891301B1 (en) | Power drop protection for a data storage device | |
US10803972B2 (en) | Flash memory module, storage system, and method of controlling flash memory | |
US9323607B2 (en) | Data recovery once ECC fails to correct the data | |
US10635527B2 (en) | Method for processing data stored in a memory device and a data storage device utilizing the same | |
CN103955431A (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN105788648A (zh) | 基于异构混合内存的nvm坏块识别处理及纠错方法和系统 | |
US9524212B2 (en) | Method, device and operating system for processing and using burn data of NAND flash | |
CN109669800B (zh) | 用于写入路径错误的高效数据恢复 | |
CN103984506A (zh) | 闪存存储设备数据写的方法和系统 | |
KR100643288B1 (ko) | 플래시 메모리의 데이터 처리 장치 및 방법 | |
JP4866107B2 (ja) | 不揮発性記憶装置及びその書き込み判定方法 | |
CN105511803A (zh) | 一种存储介质的擦除中断处理方法 | |
CN103927262A (zh) | 闪存物理块的控制方法及装置 | |
CN101634938A (zh) | 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘 | |
US20210365184A1 (en) | Asynchronous power loss handling approach for a memory sub-system | |
CN102789813B (zh) | 一种控制存储设备内非最低有效位页使用的方法及装置 | |
CN104461379A (zh) | 提高nand闪存的稳定性的方法和nand闪存 | |
CN104794019A (zh) | 一种嵌入式存储器的数据保护方法及装置 | |
CN103473179A (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: 20140423 |