CN109992446A - 一种固态硬盘纠错方法及相关装置 - Google Patents
一种固态硬盘纠错方法及相关装置 Download PDFInfo
- Publication number
- CN109992446A CN109992446A CN201910295260.9A CN201910295260A CN109992446A CN 109992446 A CN109992446 A CN 109992446A CN 201910295260 A CN201910295260 A CN 201910295260A CN 109992446 A CN109992446 A CN 109992446A
- Authority
- CN
- China
- Prior art keywords
- data
- duration
- read operation
- reading
- read
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 53
- 239000007787 solid Substances 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004088 simulation Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000008439 repair process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Digital Magnetic Recording (AREA)
Abstract
本申请公开了一种固态硬盘纠错方法,包括:读取数据块的状态信息,根据状态信息计算数据写入时长;当数据写入时长大于第一预设时长时,对数据块进行数据搬移操作;当数据写入时长小于等于第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据最佳电压偏移对读操作的参考电压进行修改,以便当读取数据块的数据时,根据最佳电压偏移执行读操作。通过模拟出的最佳电压偏移对读操作的参考电压进行修改,进而纠正了在读取数据时出现的读取错误,避免过度使用数据搬移操作,降低系统性能的消耗,提高性能利用率。本申请还公开了一种固态硬盘纠错装置、存储装置以及计算机可读存储介质,具有以上有益效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种固态硬盘纠错方法、固态硬盘纠错装置、存储装置以及计算机可读存储介质。
背景技术
随着信息技术的不断发展,出现了各种各样的存储技术。以NAND颗粒为存储介质的固态硬盘就是其中的一种存储技术,成本较低,常用于大规模数据存储。但是由于NAND颗粒的电气特性,会出现不同程度的存储数据错误问题。具体的,当PE次数越多发生读取错误的概率就高,当读的次数越高时发生错误的概率越高,此外数据存在固定位置的时间越长时发生数据读错误的概率也会越高。并且,当数据存储在该种固态硬盘中时,当存储的时间越长,发生读取错误的概率也就越高。
目前,为了降低数据读取时发生错误的概率,一般对存储介质进行数据搬移操作,也就是将数据从原来的数据块中读取出来,然后写入到新的数据块中,相当于将老数据换为新数据,对数据的存储状态进行刷新操作,可以有效的减少读取数据时发生的错误率。但是,现有技术中进行数据搬移所消耗的性能开销较大,只要当存储数据的数据块的状态达到某一阈值时,就直接执行数据搬移操作。但是,如果此时服务器正在进行其他的数据操作时,会严重影响正常的数据操作。并且,固态硬盘存在数据读写寿命,如果进行数据搬移操作过多,会降低固态硬盘的寿命。
因此,如何降低修复错误数据时的性能消耗是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种固态硬盘纠错方法、固态硬盘纠错装置、存储装置以及计算机可读存储介质,通过模拟出的最佳电压偏移对读操作的参考电压进行修改,进而纠正了在读取数据时出现的读取错误,避免过度使用数据搬移操作,降低系统性能的消耗,提高性能利用率。
为解决上述技术问题,本申请提供一种固态硬盘纠错方法,包括:
读取数据块的状态信息,根据所述状态信息计算数据写入时长;
当所述数据写入时长大于第一预设时长时,对所述数据块进行数据搬移操作;
当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
可选的,读取数据块的状态信息,根据所述状态信息计算数据写入时长,包括:
读取所述数据块的状态信息;
将当前时间减去所述状态信息中的数据写入时间,得到所述数据写入时长。
可选的,当所述数据写入时长大于第一预设时长时,对所述数据块进行数据搬移操作,包括:
当所述数据写入时长大于第一预设时长时,对所述数据块进行数据读取,得到待搬移数据;
将所述待搬移数据写入新数据块中。
可选的,当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作,包括:
当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据预设规则对所述数据块筛选出目标数据页;
根据确定的多个不同的待测电压偏移对所述目标数据页执行读操作,得到多个读取数据;
将所述多个读取数据中错误数量最少的读取数据对应的待测电压偏移作为所述最佳电压偏移;
根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
本申请还提供一种固态硬盘纠错装置,包括:
写入时长获取模块,用于读取数据块的状态信息,根据所述状态信息计算数据写入时长;
数据搬移操作模块,用于当所述数据写入时长大于第一预设时长时,对所述数据块进行数据搬移操作;
读参考电压仿真模块,用于当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
可选的,所述写入时长获取模块,包括:
状态信息获取单元,用于读取所述数据块的状态信息;
时差计算单元,用于将当前时间减去所述状态信息中的数据写入时间,得到所述数据写入时长。
可选的,所述数据搬移操作模块,包括:
搬移数据读取单元,用于当所述数据写入时长大于第一预设时长时,对所述数据块进行数据读取,得到待搬移数据;
搬移数据写入单元,用于将所述待搬移数据写入新数据块中。
可选的,所述读参考电压仿真模块,包括:
数据页选取单元,用于当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据预设规则对所述数据块筛选出目标数据页;
读操作仿真单元,用于根据确定的多个不同的待测电压偏移对所述目标数据页执行读操作,得到多个读取数据;
电压偏移获取单元,用于将所述多个读取数据中错误数量最少的读取数据对应的待测电压偏移作为所述最佳电压偏移;
参考电压修改单元,用于根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
本申请还提供一种存储装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的固态硬盘纠错方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的固态硬盘纠错方法的步骤。
本申请所提供的一种固态硬盘纠错方法,包括:读取数据块的状态信息,根据所述状态信息计算数据写入时长;当所述数据写入时长大于第一预设时长时,对所述数据块进行数据搬移操作;当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
通过数据写入时长对数据块进行判断,当数据写入时长大于第一预设时长时,也就是数据错误情况较为严重时,直接执行数据搬移操作,改变数据的存储位置以便修复数据的读取错误,当数据写入时长小于等于第一预设时长,并大于第二预设时长时执行读电压仿真操作得到电压偏移,以便改变读操作的属性,解决读取数据的错误,可见,后者不用对数据本身进行操作,也就是避免了对数据进行读操作或写操作,针对一部分需要纠错的数据块可以不实施数据搬移操作,就对该部分数据进行数据纠错,避免读取数据错误,同时避免过度使用数据搬移操作,降低系统性能的消耗,提高性能利用率。
本申请还提供一种固态硬盘纠错装置、存储装置以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种固态硬盘纠错方法的流程图;
图2为本申请实施例所提供的另一种固态硬盘纠错方法的流程图;
图3为本申请实施例所提供的一种固态硬盘纠错装置的结构示意图。
具体实施方式
本申请的核心是提供一种固态硬盘纠错方法、固态硬盘纠错装置、存储装置以及计算机可读存储介质,通过模拟出的最佳电压偏移对读操作的参考电压进行修改,进而纠正了在读取数据时出现的读取错误,避免过度使用数据搬移操作,降低系统性能的消耗,提高性能利用率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,为了降低数据读取时发生错误的概率,一般对存储介质进行数据搬移操作,也就是将数据从原来的数据块中读取出来,然后写入到新的数据块中,相当于将老数据换为新数据,对数据的存储状态进行刷新操作,可以有效的减少读取数据时发生的错误率。但是,现有技术中进行数据搬移所消耗的性能开销较大,只要当存储数据的数据块的状态达到某一阈值时,就直接执行数据搬移操作。但是,如果此时服务器正在进行其他的数据操作时,会严重影响正常的数据操作。并且,固态硬盘存在数据读写寿命,如果进行数据搬移操作过多,会降低固态硬盘的寿命。
并且,数据存储在数据块中的错误率是随时间线性增加的。因此,当数据错误率大于阈值时,对数据的出错情况进行修复的操作可以选择消耗更小的修复方式。当错误率远大于阈值,或者消耗更小的修复方式没有办法进行修复时,再采用数据搬移的方式对数据进行修复,在保证数据读取有效的情况下,降低数据搬移的实施次数,降低对系统性能的消耗。
因此,本申请提供一种固态硬盘纠错方法,通过数据写入时长对数据块进行判断,当数据写入时长大于第一预设时长时,也就是数据错误情况较为严重时,直接执行数据搬移操作,改变数据的存储位置以便修复数据的读取错误,当数据写入时长小于等于第一预设时长,并大于第二预设时长时执行读电压仿真操作得到电压偏移,以便改变读操作的属性,解决读取数据的错误,可见,后者不用对数据本身进行操作,也就是避免了对数据进行读操作或写操作,针对一部分需要纠错的数据块可以不实施数据搬移操作,就对该部分数据进行数据纠错,避免读取数据错误,同时避免过度使用数据搬移操作,降低系统性能的消耗,提高性能利用率。
请参考图1,图1为本申请实施例所提供的一种固态硬盘纠错方法的流程图。
本实施例中,该方法可以包括:
S101,读取数据块的状态信息,根据状态信息计算数据写入时长;
本实施例中主要是通过数据写入时长判断数据块中数据的错误程度。
因此,本步骤中通过数据块的状态信息计算出数据写入时长。
S102,当数据写入时长大于第一预设时长时,对数据块进行数据搬移操作;
在步骤S101的基础上,本步骤旨在当数据写入时长大于第一预设时长时,对数据块进行数据搬移操作。
一般的,所谓进行数据搬移操作就是将原有数据块中的数据从数据块中读取出来,再写回新的数据块中,以便改变原有数据的存储位置。当数据存入新的存储位置中时,数据可以保持较高的保存状态,此时数据的错误率最低。相当于将数据进行了刷新,使数据的存储状态为最新的,实现了对原有数据中错误的纠正。
本步骤中,可以采用现有技术提供的任意一种数据搬移操作,或者任何实现数据位置迁移的操作都可以作为本实施例中的数据搬移操作,可见,本步骤中执行的数据搬移操作并不唯一,在此不做具体限定。
S103,当数据写入时长小于等于第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据最佳电压偏移对读操作的参考电压进行修改,以便当读取数据块的数据时,根据最佳电压偏移执行读操作。
在S101的基础上,本步骤旨在当数据写入时长小于等于第一预设时长,并大于第二预设时长时,确定最佳电压偏移,以便修改读操作的参考电压,提高读操作时获取电子的能力,实现对数据错误的纠正。
其中,确定最佳电压偏移的操作为:根据模拟读取操作的结果确定最佳电压偏移。其中,模拟读取操作是对数据块中的部分数据页,进行模拟数据读取,根据读取到的数据的错误率确定最佳电压偏移。
然后,根据最佳电压偏移对读操作的参考电压进行修改,以改变读操作在获取表示数据的电子时的电压。当改变的电压达到合适的电压偏移时,可以提高获取电子的能力,可以获取到更加准确的数据,降低了由于电子数量不足导致获取数据时出现的错误数量,实现了对数据错误的纠正。并且,该操作不需要对数据进行读写操作,不耗费系统性能,提高了系统性能的利用率。
最后,当读取该数据时,就实现了根据电压偏移进行读操作,降低了数据读错误的数量,提高数据读取的正确率。
综上,本实施例通过数据写入时长对数据块进行判断,当数据写入时长大于第一预设时长时,也就是数据错误情况较为严重时,直接执行数据搬移操作,改变数据的存储位置以便修复数据的读取错误,当数据写入时长小于等于第一预设时长,并大于第二预设时长时执行读电压仿真操作得到电压偏移,以便改变读操作的属性,解决读取数据的错误,可见,后者不用对数据本身进行操作,也就是避免了对数据进行读操作或写操作,针对一部分需要纠错的数据块可以不实施数据搬移操作,就对该部分数据进行数据纠错,避免读取数据错误,同时避免过度使用数据搬移操作,降低系统性能的消耗,提高性能利用率。
在上一实施例的基础上,本实施例还提供另一种固态硬盘纠错方法。本实施例中主要说明了如何获取到电压偏移,通过获取的电压偏移就可以对数据块的读操作进行偏移,提高电子的获取能力,忽略一定程度上的数据错误,提高数据读取的准确率。
请参考图2,图2为本申请实施例所提供的另一种固态硬盘纠错方法的流程图。
本实施例中,该方法可以包括:
S201,读取数据块的状态信息;
S202,将当前时间减去状态信息中的数据写入时间,得到数据写入时长。
步骤S201和S202,主要是提供一种更具体的数据写入时长计算方法。
主要是采用状态信息中的数据写入时间,和当前时间计算之间的差值得到数据写入时长。
另一种情况中,该存储设备中对每个数据块均记录了数据写入时长。因此,可以直接获取该数据块的数据写入时长,用于后续步骤的执行。
S203,当数据写入时长大于第一预设时长时,对数据块进行数据读取,得到待搬移数据;
S204,将待搬移数据写入新数据块中。
在S202的基础上,S203和S204主要是执行数据搬移操作,实现对数据的纠错处理。可见,本实施例中首先是对数据块进行数据读取,得到待搬移数据,再将该待搬移数据写入新数据块中,以实现将数据进行搬移操作。
S205,当数据写入时长小于等于第一预设时长,并大于第二预设时长时,根据预设规则对数据块筛选出目标数据页;
S206,根据确定的多个不同的待测电压偏移对目标数据页执行读操作,得到多个读取数据;
S207,将多个读取数据中错误数量最少的读取数据对应的待测电压偏移作为最佳电压偏移;
S208,根据最佳电压偏移对读操作的参考电压进行修改,以便当读取数据块的数据时,根据最佳电压偏移执行读操作。
在S202的基础上,S205至S208旨在对数据块确定最佳电压偏移,并通过最佳电压偏移执行读操作。
可见,S205至S208介绍的过程是首先确定目标数据页,也就是不需要对所有的数据块中的数据页进行模拟读取操作,而是选择合适的具有代表性的数据页作为目标数据页,再对其进行模拟读取操作,得到读取数据。因此,S205主要是介绍根据预设规则对数据块筛选出目标数据页。其中,根据预设规则的不同,选出的目标数据页也是不同的。一种情况,目标数据页可以是对特征偏移地址对应的数据页。另一种情况,目标数据页可以是在相隔距离,或偏移地址上存在一定规律的数据页。还一种情况,目标数据页可以是从数据块中的所有数据页随机选出的数据页。可见,本步骤中的筛选数据页的方式并不唯一,在此不做具体限定。但是,不同的筛选方式对模拟读取结果的准确度存在影响,一般情况下随机选取可以模拟出更精确的电压偏移。
以随机筛选为例,对数据块中的所有数据页进行随机分组,每组数据页的数量相同,将每个数据页组中特定数据页作为目标数据页。例如,将一个数据块中的数据页进行分组,得到24个数据页组,将每个数据页组中的第31个数据页作为目标数据页。
S206和S207可以是将假设的多个待测电压偏移作为参考电压,对目标数据页分别进行读操作。也就是每个目标数据页对应一个或多个待测电压偏移进行读操作,读取出数据。然后,就可以根据读取出的数据的错误量确定对应的待测电压偏移的纠错效果,进一步的,就可以选择错误量最少的待测电压偏移,或者是错误量小于阈值的待测电压偏移作为目标电压偏移。
具体来说,一种情况中还可以根据待测电压偏移对目标数据页的上部(lower)、中部(middle)以及下部(upper)进行读操作,统计读取结果中的读取错误的个数。将得到的所有待测电压偏移对应的错误数量进行比较,将错误数量最小的待测电压偏移作为目标电压偏移,还可以将错误数量小于阈值的待测电压偏移进行计算,得到的电压偏移作为目标电压偏移。
在本实施例的基础上,以下提供一种实施例,对纠错方法中的判断方式进行说明。
步骤1,读取数据块的状态信息,计算该block的数据写入时间与当前时间的时间差值;1)如果时间差值大于第一预设时长,执行步骤3;2)如果时间差值小于第一预设时长,而且时间差值大于第二预设时长,而且(时间差值%第二预设时长)小于第三预设时长,执行步骤2;3)其它情况,执行步骤4;
步骤2,对数据块执行读参考电压仿真操作,执行步骤4;
步骤3,执行强制数据搬移操作,执行步骤4;
步骤4,重新开始及时操作。
其中,第一预设时长、第二预设时长以及第三预设时长之间的关系为:
第二预设时长小于第一预设时长;第二预设时长的三倍小于第一预设时长;第三预设时长远小于第二预设时长;第三预设时长远小于第一预设时长。
其中,读参考电压仿真操作即为本实施例中S205至S208的操作步骤。
可见,本实施例通过数据写入时长对数据块进行判断,当数据写入时长大于第一预设时长时,也就是数据错误情况较为严重时,直接执行数据搬移操作,改变数据的存储位置以便修复数据的读取错误,当数据写入时长小于等于第一预设时长,并大于第二预设时长时执行读电压仿真操作得到电压偏移,以便改变读操作的属性,解决读取数据的错误,可见,后者不用对数据本身进行操作,也就是避免了对数据进行读操作或写操作,针对一部分需要纠错的数据块可以不实施数据搬移操作,就对该部分数据进行数据纠错,避免读取数据错误,同时避免过度使用数据搬移操作,降低系统性能的消耗,提高性能利用率。
下面对本申请实施例提供的一种固态硬盘纠错装置进行介绍,下文描述的一种固态硬盘纠错装置与上文描述的一种固态硬盘纠错方法可相互对应参照。
请参考图3,图3为本申请实施例所提供的一种固态硬盘纠错装置的结构示意图。
本实施例中,该装置可以包括:
写入时长获取模块100,用于读取数据块的状态信息,根据状态信息计算数据写入时长;
数据搬移操作模块200,用于当数据写入时长大于第一预设时长时,对数据块进行数据搬移操作;
读参考电压仿真模块300,用于当数据写入时长小于等于第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据最佳电压偏移对读操作的参考电压进行修改,以便当读取数据块的数据时,根据最佳电压偏移执行读操作。
可选的,该写入时长获取模块100,可以包括:
状态信息获取单元,用于读取数据块的状态信息;
时差计算单元,用于将当前时间减去状态信息中的数据写入时间,得到数据写入时长。
可选的,该数据搬移操作模块200,可以包括:
搬移数据读取单元,用于当数据写入时长大于第一预设时长时,对数据块进行数据读取,得到待搬移数据;
搬移数据写入单元,用于将待搬移数据写入新数据块中。
可选的,该读参考电压仿真模块300,可以包括:
数据页选取单元,用于当数据写入时长小于等于第一预设时长,并大于第二预设时长时,根据预设规则对数据块筛选出目标数据页;
读操作仿真单元,用于根据确定的多个不同的待测电压偏移对目标数据页执行读操作,得到多个读取数据;
电压偏移获取单元,用于将多个读取数据中错误数量最少的读取数据对应的待测电压偏移作为最佳电压偏移;
参考电压修改单元,用于根据最佳电压偏移对读操作的参考电压进行修改,以便当读取数据块的数据时,根据最佳电压偏移执行读操作。
可见,本实施例中的固态硬盘纠错装置通过数据写入时长对数据块进行判断,当数据写入时长大于第一预设时长时,也就是数据错误情况较为严重时,直接执行数据搬移操作,改变数据的存储位置以便修复数据的读取错误,当数据写入时长小于等于第一预设时长,并大于第二预设时长时执行读电压仿真操作得到电压偏移,以便改变读操作的属性,解决读取数据的错误,可见,后者不用对数据本身进行操作,也就是避免了对数据进行读操作或写操作,针对一部分需要纠错的数据块可以不实施数据搬移操作,就对该部分数据进行数据纠错,避免读取数据错误,同时避免过度使用数据搬移操作,降低系统性能的消耗,提高性能利用率。
本申请实施例还提供一种存储装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的固态硬盘纠错方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的固态硬盘纠错方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种固态硬盘纠错方法、固态硬盘纠错装置、存储装置以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种固态硬盘纠错方法,其特征在于,包括:
读取数据块的状态信息,根据所述状态信息计算数据写入时长;
当所述数据写入时长大于第一预设时长时,对所述数据块进行数据搬移操作;
当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
2.根据权利要求1所述的固态硬盘纠错方法,其特征在于,读取数据块的状态信息,根据所述状态信息计算数据写入时长,包括:
读取所述数据块的状态信息;
将当前时间减去所述状态信息中的数据写入时间,得到所述数据写入时长。
3.根据权利要求1所述的固态硬盘纠错方法,其特征在于,当所述数据写入时长大于第一预设时长时,对所述数据块进行数据搬移操作,包括:
当所述数据写入时长大于第一预设时长时,对所述数据块进行数据读取,得到待搬移数据;
将所述待搬移数据写入新数据块中。
4.根据权利要求1至3任一项所述的固态硬盘纠错方法,其特征在于,当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作,包括:
当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据预设规则对所述数据块筛选出目标数据页;
根据确定的多个不同的待测电压偏移对所述目标数据页执行读操作,得到多个读取数据;
将所述多个读取数据中错误数量最少的读取数据对应的待测电压偏移作为所述最佳电压偏移;
根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
5.一种固态硬盘纠错装置,其特征在于,包括:
写入时长获取模块,用于读取数据块的状态信息,根据所述状态信息计算数据写入时长;
数据搬移操作模块,用于当所述数据写入时长大于第一预设时长时,对所述数据块进行数据搬移操作;
读参考电压仿真模块,用于当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据模拟读取操作的结果确定最佳电压偏移,并根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
6.根据权利要求5所述的固态硬盘纠错装置,其特征在于,所述写入时长获取模块,包括:
状态信息获取单元,用于读取所述数据块的状态信息;
时差计算单元,用于将当前时间减去所述状态信息中的数据写入时间,得到所述数据写入时长。
7.根据权利要求5所述的固态硬盘纠错装置,其特征在于,所述数据搬移操作模块,包括:
搬移数据读取单元,用于当所述数据写入时长大于第一预设时长时,对所述数据块进行数据读取,得到待搬移数据;
搬移数据写入单元,用于将所述待搬移数据写入新数据块中。
8.根据权利要求5至7任一项所述的固态硬盘纠错装置,其特征在于,所述读参考电压仿真模块,包括:
数据页选取单元,用于当所述数据写入时长小于等于所述第一预设时长,并大于第二预设时长时,根据预设规则对所述数据块筛选出目标数据页;
读操作仿真单元,用于根据确定的多个不同的待测电压偏移对所述目标数据页执行读操作,得到多个读取数据;
电压偏移获取单元,用于将所述多个读取数据中错误数量最少的读取数据对应的待测电压偏移作为所述最佳电压偏移;
参考电压修改单元,用于根据所述最佳电压偏移对读操作的参考电压进行修改,以便当读取所述数据块的数据时,根据所述最佳电压偏移执行读操作。
9.一种存储装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的固态硬盘纠错方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的固态硬盘纠错方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910295260.9A CN109992446A (zh) | 2019-04-12 | 2019-04-12 | 一种固态硬盘纠错方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910295260.9A CN109992446A (zh) | 2019-04-12 | 2019-04-12 | 一种固态硬盘纠错方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992446A true CN109992446A (zh) | 2019-07-09 |
Family
ID=67133452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910295260.9A Pending CN109992446A (zh) | 2019-04-12 | 2019-04-12 | 一种固态硬盘纠错方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992446A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158589A (zh) * | 2019-12-16 | 2020-05-15 | 绿晶半导体科技(北京)有限公司 | 存储阵列的动态管理方法和装置 |
CN111276179A (zh) * | 2020-02-14 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种NAND Flash错误率的分组测试装置 |
CN111949432A (zh) * | 2020-09-11 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种固态硬盘减小数据错误率的方法 |
CN112307005A (zh) * | 2020-11-11 | 2021-02-02 | 天津汇商共达科技有限责任公司 | 一种写入检查方法及装置 |
CN113625947A (zh) * | 2021-06-28 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种数据纠错方法、装置、设备及计算机可读存储介质 |
CN115617567A (zh) * | 2022-12-16 | 2023-01-17 | 珠海妙存科技有限公司 | 闪存的数据恢复方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109164978A (zh) * | 2018-07-27 | 2019-01-08 | 深圳市江波龙电子股份有限公司 | 闪存管理方法、闪存存储设备及计算机可读存储介质 |
CN109271293A (zh) * | 2018-09-17 | 2019-01-25 | 浪潮电子信息产业股份有限公司 | 一种硬盘数据的读取方法、装置及相关设备 |
CN109558263A (zh) * | 2018-12-03 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种固态硬盘数据读取错误的处理方法及相关装置 |
CN109558269A (zh) * | 2018-12-05 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种固态硬盘状态的检测方法、装置和介质 |
-
2019
- 2019-04-12 CN CN201910295260.9A patent/CN109992446A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109164978A (zh) * | 2018-07-27 | 2019-01-08 | 深圳市江波龙电子股份有限公司 | 闪存管理方法、闪存存储设备及计算机可读存储介质 |
CN109271293A (zh) * | 2018-09-17 | 2019-01-25 | 浪潮电子信息产业股份有限公司 | 一种硬盘数据的读取方法、装置及相关设备 |
CN109558263A (zh) * | 2018-12-03 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种固态硬盘数据读取错误的处理方法及相关装置 |
CN109558269A (zh) * | 2018-12-05 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种固态硬盘状态的检测方法、装置和介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158589A (zh) * | 2019-12-16 | 2020-05-15 | 绿晶半导体科技(北京)有限公司 | 存储阵列的动态管理方法和装置 |
CN111158589B (zh) * | 2019-12-16 | 2023-10-20 | 绿晶半导体科技(北京)有限公司 | 存储阵列的动态管理方法和装置 |
CN111276179A (zh) * | 2020-02-14 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种NAND Flash错误率的分组测试装置 |
CN111276179B (zh) * | 2020-02-14 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种NAND Flash错误率的分组测试装置 |
CN111949432A (zh) * | 2020-09-11 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种固态硬盘减小数据错误率的方法 |
CN112307005A (zh) * | 2020-11-11 | 2021-02-02 | 天津汇商共达科技有限责任公司 | 一种写入检查方法及装置 |
CN112307005B (zh) * | 2020-11-11 | 2022-08-02 | 天津汇商共达科技有限责任公司 | 一种写入检查方法及装置 |
CN113625947A (zh) * | 2021-06-28 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种数据纠错方法、装置、设备及计算机可读存储介质 |
CN113625947B (zh) * | 2021-06-28 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种数据纠错方法、装置、设备及计算机可读存储介质 |
CN115617567A (zh) * | 2022-12-16 | 2023-01-17 | 珠海妙存科技有限公司 | 闪存的数据恢复方法、装置、电子设备及介质 |
CN115617567B (zh) * | 2022-12-16 | 2023-04-14 | 珠海妙存科技有限公司 | 闪存的数据恢复方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992446A (zh) | 一种固态硬盘纠错方法及相关装置 | |
JP6300132B2 (ja) | ガベージデータを収集するための方法及び記憶装置 | |
CN109783017B (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
CN109558269A (zh) | 一种固态硬盘状态的检测方法、装置和介质 | |
CN108804045A (zh) | 一种坏块表建立方法及相关装置 | |
CN103578565A (zh) | 一种NAND Flash存储芯片的校验方法及装置 | |
CN110347335A (zh) | 一种固态硬盘数据存储方法、装置 | |
CN106020735A (zh) | 一种数据存储方法及数据存储装置 | |
CN103714010B (zh) | 存储设备写入方法及存储设备 | |
CN107731262A (zh) | 一种存储磁盘坏块管理方法、装置、设备及可读存储介质 | |
CN108170366A (zh) | 存储设备中的存储介质管理方法、装置和存储设备 | |
CN109582488A (zh) | 一种固态硬盘的错误预防方法及相关装置 | |
CN103617124B (zh) | 一种闪存管理方法和装置 | |
CN109240615A (zh) | 一种固态硬盘的数据读取方法、装置及设备 | |
CN104657678B (zh) | 应答保护单调计数器、读取方法及计数方法 | |
CN111143146A (zh) | 一种存储装置的健康状态预测方法及系统 | |
CN109271293A (zh) | 一种硬盘数据的读取方法、装置及相关设备 | |
CN107895588A (zh) | 预估ssd盘的剩余寿命时间的方法、装置及设备 | |
CN106558346A (zh) | 一种基于raim构架的固态硬盘寿命计算的方法及装置 | |
CN110083310A (zh) | 一种存储集群中集群数据保存方法、装置及存储集群系统 | |
CN108762989A (zh) | 固态硬盘的数据存储方法、装置、设备及可读存储介质 | |
CN110427157A (zh) | 一种格式化方法及相关装置 | |
CN116382582A (zh) | 一种raid重映射方法、系统、设备以及存储介质 | |
CN107480012A (zh) | 一种固态硬盘的数据恢复方法及数据恢复系统 | |
CN108763023A (zh) | 一种磁盘的分级方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20190709 |