一种数据纠错方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:30753163 阅读:13 留言:0更新日期:2021-11-10 12:06
本发明专利技术公开了一种数据纠错方法,该方法包括以下步骤:当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作;判断是否读取成功;若是,则停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块。应用本发明专利技术所提供的数据纠错方法,降低了对电容时间的消耗,提高了数据纠错的成功率,较大地降低了对硬盘寿命的影响。本发明专利技术还公开了一种数据纠错装置、设备及存储介质,具有相应技术效果。具有相应技术效果。具有相应技术效果。

【技术实现步骤摘要】
一种数据纠错方法、装置、设备及计算机可读存储介质


[0001]本专利技术涉及存储
,特别是涉及一种数据纠错方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]按照固态硬盘(Solid State Drives,SSD)中计算机闪存设备(NAND)电气特性,数据块(block)在写过一个页面(page)后,即进入打开(open)状态,在所有页面写完后进入关闭(close)状态。对于关闭状态的数据块,长时间离线放置时数据中Bit位发生错误的几率(Bit Error Rate,BER)增加不明显,读数据时可以通过错误恢复流程(Error Recovery Flow,ERF)纠回。对于打开状态的数据块,长时间离线放置的话,由于电荷泄漏等原因,最后写入的4个页面数据中Bit位发生错误的几率会比较高,尤其在固态硬盘生命后期比较明显。
[0003]正常运行中,数据块会在关闭之后,才会执行下一个数据块的写。不过在遇到下电时,数据块是大概率写不满的,即打开状态,下电长时间离线放置或存储后再上电。读取下电前最后写入的用户数据时,会遇到Bit位发生错误的几率比较高的情况,此时需要纠错。
[0004]现有的数据纠错方法主要是对于处于打开状态的数据块,在写入第一个页面开始计时,如果在规定时间内(比如60分钟)没有关闭,即用户数据没有写满数据块,则用空数据(dummy)填写四个页面。再遇到下电时,在刷写完用户数据后,不等延时时间,直接用空数据填写四个页面。即让Bit位发生错误的几率比较高的页面落在空数据页面上,即保护了空数据页面之前的用户数据页面。但该方案有两个缺点:首先,在异常下电时,填写四个空数据页面会耗用电容时间,有导致异常下电完不成的风险,或者有可能填不完四个空数据页面,导致数据仍然无法恢复,数据纠错的成功率低。其次,空数据是非用户数据,会提高固态硬盘的写放大,影响盘的寿命(program and erase count,PE)。
[0005]综上所述,如何有效地解决现有的数据纠错方法耗用电容时间,数据纠错的成功率低,影响硬盘寿命等问题,是目前本领域技术人员急需解决的问题。

技术实现思路

[0006]本专利技术的目的是提供一种数据纠错方法,该方法降低了对电容时间的消耗,提高了数据纠错的成功率,较大地降低了对硬盘寿命的影响;本专利技术的另一目的是提供一种数据纠错装置、设备及计算机可读存储介质。
[0007]为解决上述技术问题,本专利技术提供如下技术方案:
[0008]一种数据纠错方法,包括:
[0009]当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;
[0010]遍历所述偏移电压参数组对上次下电前的未写满数据块进行读取操作;
[0011]判断是否读取成功;
[0012]若是,则停止遍历,并将读取到的数据集确定为对所述未写满数据块纠错完成的
目标数据块。
[0013]在本专利技术的一种具体实施方式中,在检测到固态硬盘上电启动之后,调取预训练得到的偏移电压参数组之前,还包括:
[0014]利用预置错误恢复流程对所述未写满数据块进行纠错;
[0015]判断是否纠错成功;
[0016]若是,则将纠错得到的数据集确定为所述目标数据块;
[0017]若否,则执行所述调取预训练得到的偏移电压参数组的步骤。
[0018]在本专利技术的一种具体实施方式中,还包括:
[0019]当对所述偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
[0020]在本专利技术的一种具体实施方式中,调取预训练得到的偏移电压参数组,包括:
[0021]获取所述固态硬盘的当前寿命信息;
[0022]确定所述当前寿命信息对应的目标预置寿命范围;
[0023]从预训练得到的偏移电压参数组集合中调取所述目标预置寿命范围对应的偏移电压参数组;其中,所述偏移电压参数组集合中存储有各预置寿命范围与各偏移电压参数组之间的对应关系。
[0024]一种数据纠错装置,包括:
[0025]参数组调取模块,用于当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;
[0026]数据块读取模块,用于遍历所述偏移电压参数组对上次下电前的未写满数据块进行读取操作;
[0027]第一判断模块,用于判断是否读取成功;
[0028]第一数据块确定模块,用于当确定读取成功时,停止遍历,并将读取到的数据集确定为对所述未写满数据块纠错完成的目标数据块。
[0029]在本专利技术的一种具体实施方式中,还包括:
[0030]数据块纠错模块,用于在检测到固态硬盘上电启动之后,调取预训练得到的偏移电压参数组之前,利用预置错误恢复流程对所述未写满数据块进行纠错;
[0031]第二判断模块,用于判断是否纠错成功;
[0032]第二数据块确定模块,用于当纠错成功时,将纠错得到的数据集确定为所述目标数据块;
[0033]所述参数组调取模块具体为当纠错失败时,调取预训练得到的偏移电压参数组的模块。
[0034]在本专利技术的一种具体实施方式中,还包括:
[0035]报错模块,用于当对所述偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
[0036]在本专利技术的一种具体实施方式中,所述参数组调取模块包括:
[0037]寿命信息获取子模块,用于获取所述固态硬盘的当前寿命信息;
[0038]寿命范围确定子模块,用于确定所述当前寿命信息对应的目标预置寿命范围;
[0039]参数组调取子模块,用于从预训练得到的偏移电压参数组集合中调取所述目标预置寿命范围对应的偏移电压参数组;其中,所述偏移电压参数组集合中存储有各预置寿命
范围与各偏移电压参数组之间的对应关系。
[0040]一种数据纠错设备,包括:
[0041]存储器,用于存储计算机程序;
[0042]处理器,用于执行所述计算机程序时实现如前所述数据纠错方法的步骤。
[0043]一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述数据纠错方法的步骤。
[0044]本专利技术所提供的数据纠错方法,当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作;判断是否读取成功;若是,则停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块。
[0045]由上述技术方案可知,通过预先训练分析固态硬盘打开状态数据块的特性,如可以预先选用在不同已写页数下的各数据块进行训练,即得到长时间打开后,数据块内部数据电压偏移情况,从而得到由各最优电压构成的偏移电压参数组。当固态硬盘上电启动,需要对长时间离线存储的未写满数据块进行纠错时,直接通过遍历偏移电压参数组对未写满数据块进行读取,实现对未写满数据块的纠错。不需要填写空数据,降低了对电容时间的消耗,提高了数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据纠错方法,其特征在于,包括:当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;遍历所述偏移电压参数组对上次下电前的未写满数据块进行读取操作;判断是否读取成功;若是,则停止遍历,并将读取到的数据集确定为对所述未写满数据块纠错完成的目标数据块。2.根据权利要求1所述的数据纠错方法,其特征在于,在检测到固态硬盘上电启动之后,调取预训练得到的偏移电压参数组之前,还包括:利用预置错误恢复流程对所述未写满数据块进行纠错;判断是否纠错成功;若是,则将纠错得到的数据集确定为所述目标数据块;若否,则执行所述调取预训练得到的偏移电压参数组的步骤。3.根据权利要求1所述的数据纠错方法,其特征在于,还包括:当对所述偏移电压参数组遍历完成且读取失败时,进行数据报错操作。4.根据权利要求1至3任一项所述的数据纠错方法,其特征在于,调取预训练得到的偏移电压参数组,包括:获取所述固态硬盘的当前寿命信息;确定所述当前寿命信息对应的目标预置寿命范围;从预训练得到的偏移电压参数组集合中调取所述目标预置寿命范围对应的偏移电压参数组;其中,所述偏移电压参数组集合中存储有各预置寿命范围与各偏移电压参数组之间的对应关系。5.一种数据纠错装置,其特征在于,包括:参数组调取模块,用于当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;数据块读取模块,用于遍历所述偏移电压参数组对上次下电前的未写满数据块进行读取操作;第一判断模块,用于判断是否读取成功;第一数据块确定模块,用于当确定读取成功时,停止遍历,并将读...

【专利技术属性】
技术研发人员:郑善龙
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1