一种固态盘中纠错算法的优化方法及系统与流程

文档序号:15850626发布日期:2018-11-07 09:49阅读:251来源:国知局
本发明属于存储
技术领域
:,尤其涉及一种固态盘中纠错算法的优化方法及系统。
背景技术
:计算机闪存设备nand技术不断进步,从之前的2d的slc、mlc、tlc到3dtlc,容量增大,成本降低,但可靠性也随着降低,之前的bch(bose-chaudhuri-hocquenghemcodes)算法已经不能满足3dnand的可靠性要求,低密度奇偶校验码(lowdensityparitycheckcode,ldpc)已经全面应用于3dnand的固态硬盘中。ldpc中有硬解码和软解码两个过程,第一阶段是硬解码,不需要软件过多参与,如果硬解码恢复出来的数据正确,就不需要再做软解码;软解码需要软件提供对数似然比llrtable以及多次读取nand的原始数据作为输入给ldpc软解码单元(增加读时延)。ldpc硬解码需要软件设置llr0和llr1的值,而这个值关系到硬解码能力,llr0和llr1默认设置成相等值,也就是说0和1的概率是相同的,nand生命初期0和1相同,但随着nand寿命损耗,0和1的概率不通,导致硬解码失败概率变大,以至于进入ldpc软纠错增加读请求时延。技术实现要素:本发明的目的在于提供一种固态盘中纠错算法的优化方法,旨在解决现有技术中llr0和llr1默认设置成相等值,导致硬解码失败,增加读请求时延的问题。本发明是这样实现的,一种固态盘中纠错算法的优化方法,所述方法包括下述步骤:控制io读单元获取所述io读单元所对应的nand块的擦除次数,得到所述nand的使用寿命阶段;将获取到的nand块的擦使用寿命阶段与预先设置的硬解码llr表进行比对,从所述硬解码llr表查找与所述nand块的使用寿命阶段相匹配的llr0和llr1特征值;将查找到的所述llr0和llr1特征值发送给ldpc硬解码单元;使用所述llr0和llr1特征值,控制所述ldpc硬解码单元对读取出的nand原始数据进行解码,并将解码后的数据反馈给所述io读单元。作为一种改进的方案,所述方法还包括下述步骤:预先生成硬解码llr表,所述硬解码llr表中包含有块擦除次数以及与块擦除次数相对应的llr0和llr1特征值信息。作为一种改进的方案,所述预先生成硬解码llr表的步骤具体包括下述步骤:将nand的使用寿命划分为若干个阶段;测量划分的每一个寿命阶段的nand的llr0和llr1特征值信息;在每一个寿命阶段与与其对应的llr0和llr1特征值之间建立关联对应关系,生成所述硬解码llr表。作为一种改进的方案,每个所述nand的使用寿命阶段的步长为1000步;步长为1至步长1000为第一个使用寿命阶段;步长为1001至步长2000为第二个使用寿命阶段;以此类推;步长为n*1000+1至步长n*1000+1000为第n个使用寿命阶段。作为一种改进的方案,所述ldpc硬解码单元为flash控制器。本发明的另一目的在于提供一种固态盘中纠错算法的优化系统,所述系统包括:使用寿命阶段获取模块,用于控制io读单元获取所述io读单元所对应的nand块的擦除次数,得到所述nand的使用寿命阶段;比对模块,用于将获取到的nand块的擦使用寿命阶段与预先设置的硬解码llr表进行比对,从所述硬解码llr表查找与所述nand块的使用寿命阶段相匹配的llr0和llr1特征值;特征值发送模块,用于将查找到的所述llr0和llr1特征值发送给ldpc硬解码单元;解码模块,用于使用所述llr0和llr1特征值,控制所述ldpc硬解码单元对读取出的nand原始数据进行解码;反馈模块,用于将解码后的数据反馈给所述io读单元。作为一种改进的方案,所述系统还包括:硬解码llr表生成模块,用于预先生成硬解码llr表,所述硬解码llr表中包含有块擦除次数以及与块擦除次数相对应的llr0和llr1特征值信息。作为一种改进的方案,所述硬解码llr表生成模块具体包括:阶段划分模块,用于将nand的使用寿命划分为若干个阶段;特征值测量模块,用于测量划分的每一个寿命阶段的nand的llr0和llr1特征值信息;关联对应关系建立模块,用于在每一个寿命阶段与与其对应的llr0和llr1特征值之间建立关联对应关系,生成所述硬解码llr表。作为一种改进的方案,每个所述nand的使用寿命阶段的步长为1000步;步长为1至步长1000为第一个使用寿命阶段;步长为1001至步长2000为第二个使用寿命阶段;以此类推;步长为n*1000+1至步长n*1000+1000为第n个使用寿命阶段。作为一种改进的方案,所述ldpc硬解码单元为flash控制器。在本发明实施例中,控制io读单元获取所述io读单元所对应的nand块的擦除次数,得到所述nand的使用寿命阶段;将获取到的nand块的擦使用寿命阶段与预先设置的硬解码llr表进行比对,从所述硬解码llr表查找与所述nand块的使用寿命阶段相匹配的llr0和llr1特征值;将查找到的所述llr0和llr1特征值发送给ldpc硬解码单元;使用所述llr0和llr1特征值,控制所述ldpc硬解码单元对读取出的nand原始数据进行解码,并将解码后的数据反馈给所述io读单元,从而提升对nand原始数据的解码能力,降低了读请求延时,从而优化了固态硬盘的纠错算法。附图说明图1是本发明提供的固态盘中纠错算法的优化方法的实现流程图;图2是本发明提供的预先生成硬解码llr表的实现流程图;图3是本发明提供的固态盘中纠错算法的优化系统的结构框图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图1示出了本发明提供的固态盘中纠错算法的优化方法的实现流程图,其具体包括下述步骤:在步骤s101中,控制io读单元获取所述io读单元所对应的nand块的擦除次数,得到所述nand的使用寿命阶段。在步骤s102中,将获取到的nand块的擦使用寿命阶段与预先设置的硬解码llr表进行比对,从所述硬解码llr表查找与所述nand块的使用寿命阶段相匹配的llr0和llr1特征值。在步骤s103中,将查找到的所述llr0和llr1特征值发送给ldpc硬解码单元。在该实施例中,所述ldpc硬解码单元为flash控制器。在步骤s104中,使用所述llr0和llr1特征值,控制所述ldpc硬解码单元对读取出的nand原始数据进行解码,并将解码后的数据反馈给所述io读单元。在本发明实施例中,在执行上述步骤s101之前还需要执行下述步骤:预先生成硬解码llr表,所述硬解码llr表中包含有块擦除次数以及与块擦除次数相对应的llr0和llr1特征值信息;其中,如图2所示,预先生成硬解码llr表的步骤具体包括下述步骤:在步骤s201中,将nand的使用寿命划分为若干个阶段;在步骤s202中,测量划分的每一个寿命阶段的nand的llr0和llr1特征值信息;在步骤s203中,在每一个寿命阶段与与其对应的llr0和llr1特征值之间建立关联对应关系,生成所述硬解码llr表。在该实施例中,每个所述nand的使用寿命阶段的步长为1000步;步长为1至步长1000为第一个使用寿命阶段;步长为1001至步长2000为第二个使用寿命阶段;以此类推;步长为n*1000+1至步长n*1000+1000为第n个使用寿命阶段。例如,当获取到当前nand块的擦除次数为7000次,这对应的使用寿命阶段为第七个使用寿命阶段,那么找出第七个使用寿命阶段所对应的llr0和llr1特征值即可。在本发明实施例中,固态盘中纠错算法的优化方法中采用动态设置llr0和llr1特征值的方式,提升ldpc的硬解码能力。图3示出了本发明提供的固态盘中纠错算法的优化系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。固态盘中纠错算法的优化系统包括:使用寿命阶段获取模块11,用于控制io读单元获取所述io读单元所对应的nand块的擦除次数,得到所述nand的使用寿命阶段;比对模块12,用于将获取到的nand块的擦使用寿命阶段与预先设置的硬解码llr表进行比对,从所述硬解码llr表查找与所述nand块的使用寿命阶段相匹配的llr0和llr1特征值;特征值发送模块13,用于将查找到的所述llr0和llr1特征值发送给ldpc硬解码单元;解码模块14,用于使用所述llr0和llr1特征值,控制所述ldpc硬解码单元对读取出的nand原始数据进行解码;反馈模块15,用于将解码后的数据反馈给所述io读单元。在该实施例中,硬解码llr表生成模块16,用于预先生成硬解码llr表,所述硬解码llr表中包含有块擦除次数以及与块擦除次数相对应的llr0和llr1特征值信息。其中,硬解码llr表生成模块16具体包括:阶段划分模块17,用于将nand的使用寿命划分为若干个阶段;特征值测量模块18,用于测量划分的每一个寿命阶段的nand的llr0和llr1特征值信息;关联对应关系建立模块19,用于在每一个寿命阶段与与其对应的llr0和llr1特征值之间建立关联对应关系,生成所述硬解码llr表。其中,上述各个模块的功能如上述方法实施例所记载,在此不再赘述。在本发明实施例中,控制io读单元获取所述io读单元所对应的nand块的擦除次数,得到所述nand的使用寿命阶段;将获取到的nand块的擦使用寿命阶段与预先设置的硬解码llr表进行比对,从所述硬解码llr表查找与所述nand块的使用寿命阶段相匹配的llr0和llr1特征值;将查找到的所述llr0和llr1特征值发送给ldpc硬解码单元;使用所述llr0和llr1特征值,控制所述ldpc硬解码单元对读取出的nand原始数据进行解码,并将解码后的数据反馈给所述io读单元,从而提升对nand原始数据的解码能力,降低了读请求延时,从而优化了固态硬盘的纠错算法。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1