一种预防故障累加的方法和固态硬盘技术

技术编号:8959326 阅读:215 留言:0更新日期:2013-07-25 18:54
本发明专利技术实施例提供一种预防故障累加的方法和固态硬盘,涉及存储领域,能够提高固态硬盘的可靠性。其方法为:通过获取物理页号的可纠故障率,若物理页号的可纠故障率达到阈值,则对物理页号的数量进行统计,并根据物理页号的数量判断是否要启动巡检,获取物理页号所在的芯片范围,若启动巡检,则对芯片范围内的物理页号定期下发巡检的读物理页号命令,根据读物理页号命令获取物理页号的数据,并将物理页号数据中的可纠故障率与第一预设阈值和第二预设阈值进行比较,根据比较结果获取物理页号恢复后的数据,并将恢复后的数据写入新的物理页号中,将恢复前的物理页号标记为坏页。本发明专利技术实施例用于预防固态硬盘可纠故障的累加。

【技术实现步骤摘要】
一种预防故障累加的方法和固态硬盘
本专利技术涉及存储领域,尤其涉及一种预防故障累加的方法和固态硬盘。
技术介绍
SSD(SolidStateDrive,固态硬盘)是由固态电子存储芯片阵列而制成的硬盘,可以由控制单元和存储单元(Flash芯片)组成。其中,构成SSD的存储介质NandFlash(与非门快闪存储介质)存在可能造成可纠正故障累加的因素,如SoftError(数据的软失效)可以导致NandFlash内存储的电荷很容易受到干扰,可靠性下降。当前对于SSD中提高其可靠性的方法主要是ECC(ErrorCorrectingCode,纠错码)和RAID(RedundantArrayofIndependentDisks,独立磁盘冗余阵列)两种方法,都可以用于保护NandFlash中易出错的数据。除此之外,基于LBA(LogicBlockAddress,逻辑块地址)的DataScrub(巡检)技术,也可以应用于RAID卡和SSD控制器中。为了防止可纠正故障累加,控制器后台可以隔固定的时间间隔去将每个LBA的数据读出来,如果发生了ECC不可纠的错误或者较高的故障率,且快超过ECC可纠的范围时,就利用已有的RAID保护或者ECC保护将数据纠正后,再重新写到SSD的新页中,将原有的页标识为坏页,避免再次写入到该页时产生不可纠的故障。其中,ECC保护和RAID保护力度有限,且对于热数据有效,如果冷数据长时间未被搬移,导致两个通道的数据出错超过ECC可纠范围,就会导致数据不可恢复。由于基于LBA的DataScrub技术可以定期扫描和搬移即将出错的有效数据,可以解决上述冷数据不可恢复的问题,但是通过LBA方式的主机端无法访问到无效页处,而一旦该无效页所在的块长时间未满足GC(GarbageCollection,垃圾回收)条件,该块长中的无效页和有效页就容易受到各种因素的影响而引发错误的增加。这样,基于LBA的DataScrub技术是存在盲点的,可靠性仍然不足。
技术实现思路
本专利技术的实施例提供一种预防故障累加的方法和固态硬盘,能够提高固态硬盘的可靠性。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供一种预防故障累加的方法,包括:获取物理页号的可纠故障率,若所述物理页号的可纠故障率达到阈值,则对所述物理页号的数量进行统计,并根据所述物理页号的数量判断是否要启动巡检,获取所述物理页号所在的芯片范围;若启动巡检,则对所述芯片范围内的物理页号定期下发所述巡检的读物理页号命令;根据所述读物理页号命令获取所述物理页号的数据,并将所述物理页号数据中的可纠故障率与第一预设阈值和第二预设阈值进行比较,根据比较结果获取所述物理页号恢复后的数据在第一种可能实现的方式中,结合第一方面,所述将所述物理页号数据中的可纠故障率与第一预设阈值和第二预设阈值进行比较,根据比较结果获取所述物理页号恢复后的数据包括:若所述可纠故障率大于所述第二预设阈值,则通过磁盘冗余阵列技术获取恢复后的数据;若所述可纠故障率小于或等于所述第二预设阈值且大于或等于所述第一预设阈值,则通过纠错码对所述物理页号的数据进行纠错来获取恢复后的数据;若所述可纠故障率小于所述第一预设阈值,则通过纠错码对所述物理页号的数据进行纠错来获取恢复后的数据,并丢弃所述恢复后的数据,其中,所述第一预设阈值小于所述第二预设阈值。在第二种可能实现的方式中,结合第一方面或第一方面的第一种可能实现的方式,还包括:当所述可纠故障率大于所述第二预设阈值,或所述可纠故障率小于或等于所述第二预设阈值且大于或等于所述第一预设阈值时,将所述物理页号恢复后的数据写入新的物理页号中,并将恢复前的所述物理页号标记为坏页。在第三种可能实现的方式中,结合第一方面或第一方面的第一种可能实现的方式或第二种可能实现的方式,还包括:获取所述物理页号的可纠故障率,将存在所述可纠故障率的物理页号的数量反馈至主机端,所述主机端根据存在所述可纠故障率的物理页号的数量判断是否要启动巡检,并获取所述物理页号所在的芯片范围。在第四种可能实现的方式中,结合第一方面或第一方面的第一种可能实现的方式至第三种可能实现的方式,所述根据所述物理页号的数量判断是否要启动巡检包括:若所述物理页号的数量与所述芯片范围内总的物理页号的数量的比例值大于第三预设阈值,则由所述寄存器模块或所述主机端启动所述巡检。第二方面,提供一种固态硬盘,所述固态硬盘包括固态硬盘控制器和多组存储单元,所述固态硬盘控制器包括主机接口模块、寄存器模块、检错/纠错模块、闪存控制模块、读模块、写模块和垃圾回收模块,其中:所述检错/纠错模块用于获取物理页号的可纠故障率,若所述物理页号的可纠故障率达到阈值,则所述检错/纠错模块对所述物理页号的数量进行统计,并将所述物理页号的数量发送至寄存器模块,所述寄存器模块根据所述物理页号的数量判断是否要启动巡检,获取所述物理页号所在的芯片范围;若启动巡检,所述寄存器模块对所述芯片范围内的物理页号向读模块定期下发所述巡检的读物理页号命令;所述读模块将所述读物理页号命令下发到闪存控制模块,所述闪存控制模块根据所述读物理页号命令获取所述物理页号的数据,并将所述物理页号的数据发送至所述检错/纠错模块,所述检错/纠错模块将所述物理页号数据中的可纠故障率与第一预设阈值和第二预设阈值进行比较,根据比较结果获取所述物理页号恢复后的数据。在第一种可能实现的方式中,结合第二方面,当所述检错/纠错模块将所述物理页号数据中的可纠故障率与第一预设阈值和第二预设阈值进行比较,根据比较结果获取所述物理页号恢复后的数据时,所述检错/纠错模块用于:若所述可纠故障率大于所述第二预设阈值,则通过磁盘冗余阵列技术获取恢复后的数据;若所述可纠故障率小于或等于所述第二预设阈值且大于或等于所述第一预设阈值,则通过纠错码对所述物理页号的数据进行纠错来获取恢复后的数据;若所述可纠故障率小于所述第一预设阈值,则通过纠错码对所述物理页号的数据进行纠错来获取恢复后的数据,并丢弃所述恢复后的数据,其中,所述第一预设阈值小于所述第二预设阈值。在第二种可能实现的方式中,结合第二方面或第二方面的第一种可能实现的方式,还包括:当所述可纠故障率大于所述第二预设阈值,或所述可纠故障率小于或等于所述第二预设阈值且大于或等于所述第一预设阈值时,所述检错/纠错模块向垃圾回收模块发送回写请求,所述回写请求包括所述恢复后的数据,所述垃圾回收模块根据所述回写请求向写模块发送写请求,所述写模块将所述物理页号恢复后的数据写入新的物理页号中,并将恢复前的所述物理页号标记为坏页。在第三种可能实现的方式中,结合第二方面或第二方面的第一种可能实现的方式或第二种可能实现的方式,还包括:所述检错/纠错模块获取所述物理页号的可纠故障率,将存在所述可纠故障率的物理页号的数量通过所述寄存器模块反馈至主机端,所述主机端根据存在所述可纠故障率的物理页号的数量判断是否要启动巡检,并获取所述物理页号所在的芯片范围。在第四种可能实现的方式中,结合第二方面或第二方面的第一种可能实现的方式至第三种可能实现的方式,当所述根据所述物理页号的数量判断是否要启动巡检时,所述寄存器模块用于:若所述物理页号的数量与所述芯片范围内总的物理页号的数量的比例值大于第三预设阈值,本文档来自技高网
...
一种预防故障累加的方法和固态硬盘

【技术保护点】
一种预防故障累加的方法,其特征在于,包括:获取物理页号的可纠故障率,若所述物理页号的可纠故障率达到阈值,则对所述物理页号的数量进行统计,并根据所述物理页号的数量判断是否要启动巡检,获取所述物理页号所在的芯片范围;若启动巡检,则对所述芯片范围内的物理页号定期下发所述巡检的读物理页号命令;根据所述读物理页号命令获取所述物理页号的数据,并将所述物理页号数据中的可纠故障率与第一预设阈值和第二预设阈值进行比较,根据比较结果获取所述物理页号恢复后的数据。

【技术特征摘要】
1.一种预防故障累加的方法,其特征在于,包括:获取物理页号的可纠故障率,若所述物理页号的可纠故障率达到阈值,则对所述物理页号的数量进行统计,并根据所述物理页号的数量判断是否要启动巡检,获取所述物理页号所在的芯片范围;若启动巡检,则对所述芯片范围内的物理页号定期下发所述巡检的读物理页号命令;根据所述读物理页号命令获取所述物理页号的数据,若所述可纠故障率大于第二预设阈值,则通过磁盘冗余阵列技术获取恢复后的数据;若所述可纠故障率小于或等于所述第二预设阈值且大于或等于第一预设阈值,则通过纠错码对所述物理页号的数据进行纠错来获取恢复后的数据;若所述可纠故障率小于所述第一预设阈值,则通过纠错码对所述物理页号的数据进行纠错来获取恢复后的数据,并丢弃所述恢复后的数据,其中,所述第一预设阈值小于所述第二预设阈值。2.根据权利要求1所述的方法,其特征在于,还包括:当所述可纠故障率大于所述第二预设阈值,或所述可纠故障率小于或等于所述第二预设阈值且大于或等于所述第一预设阈值时,将所述物理页号恢复后的数据写入新的物理页号中,并将恢复前的所述物理页号标记为坏页。3.根据权利要求1或2所述的方法,其特征在于,还包括:获取所述物理页号的可纠故障率,将存在所述可纠故障率的物理页号的数量反馈至主机端,所述主机端根据存在所述可纠故障率的物理页号的数量判断是否要启动巡检,并获取所述物理页号所在的芯片范围。4.根据权利要求3所述的方法,其特征在于,所述根据所述物理页号的数量判断是否要启动巡检包括:若所述物理页号的数量与所述芯片范围内总的物理页号的数量的比例值大于第三预设阈值,则由寄存器模块或所述主机端启动所述巡检。5.一种固态硬盘,其特征在于,所述固态硬盘包括固态硬盘控制器和多组存储单元,所述固态硬盘控制器包括主机接口模块、寄存器模块、检错/纠错模块、闪存控制模块、读模块、写模块和垃圾回收模块,其中:所述检错/纠错模块用于获取物理页号的可纠故障率,若所述物理页号的可纠故障率达到阈值,则所述检错/纠错模块对所述物理...

【专利技术属性】
技术研发人员:鲍慧强王大勇王荣生
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1