一种固态硬盘降低读响应延迟的方法及固态硬盘与流程

文档序号:12034271阅读:949来源:国知局
一种固态硬盘降低读响应延迟的方法及固态硬盘与流程

本发明涉及固态硬盘控制技术,特别涉及一种固态硬盘降低读响应延迟的方法及固态硬盘。



背景技术:

图1是典型的nand组成示意图:die,可独立并发操作的单元;block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个block擦除;page,读写单元。

图2是常规nadn内部读取数据流程图,主机随机访问nand数据时,nand控制器接收到前端的命令且经过nand内部映射表转换成物理地址后,nand控制器发起对nand的读操作;nand加载对应的数据并返回nand控制器;nand控制器根据写入时附加的校验信息(典型地如eccparity)可以识别数据是否正确,当数据出错的bit数量在一定范围(th_1)内时,可通过第一级错误纠错errorrecoveryselection1即可纠正回来。

当数据错误超过一定范围(th_1)时,数据不可直接纠错,此时需要进行一系列的纠错。如进行第二级错误纠错errorrecoveryselection2:通过依次调整读参考调压并获取nand数据,若能够纠错成功则返回,否则继续尝试下一个读参考电压设置;若所有读参考电压均尝试过还无法成功纠错则进入第三级错误纠错errorrecoveryselection3;在第二级错误纠错errorrecoveryselection2过程中,只启用了硬件纠错harddecoder,其只需要单笔读输入,解码时间短,但纠错能力弱。

第三级错误纠错errorrecoveryselection3,此时也会如第二级错误纠错errorrecoveryselection2一样,依次尝试各个读参考电压设置。与第二级错误纠错errorrecoveryselection2不同的是,此过程中,启用了硬件加软件纠错同时进行hard/softdecoder,需要3笔输入,解码时间更长,纠错能力强。若所有方式均尝试过仍然不能获取正确的数据,则标志数据错误。

由于errorrecoveryselection2和errorrecoveryselection3操作中需要尝试较多的组合,耗时达到数十毫秒,与典型的数百微秒差距过大,大大降低了ssd的性能。

图3是不同级纠错设置的读取电压设置,分别对应errorrecoveryselection1/2/3。a对应errorrecoveryselection1;b对应errorrecoveryselection2;c对应errorrecoveryselection3。伴随各种因素的影响,nand的电压分布会发生漂移,此时需要通过选择合适的读参考电压进行数据读取。进一步地,当单笔读无法完成纠错时(harddecoder),需要引入耗时更长,纠错能力更强的hard/soft+decoder。



技术实现要素:

针对以上缺陷,本发明目的如何提高nand数据读取的速度,特别是降低数据存在异常时读响应延迟。

为了解决以上问题本发明提出了一种固态硬盘降低读响应延迟的方法,其特征在于当采用第一级错误纠错还无法正确读数据时,将无法正确读数据所在的页或块的影响因子输入纠错策略预测模块和纠错电压预测模块,纠错策略预测模块和纠错电压预测模块根据输入的影响因子预测读数据的推荐纠错策略和推荐纠错电压,nand根据推荐纠错策略和推荐纠错电压重新读取数据。

所述的固态硬盘降低读响应延迟的方法,其特征在于所述纠错策略预测模块通过svm分类算法预测推荐纠错策略,所述svm为支持向量机。

所述的固态硬盘降低读响应延迟的方法,其特征在于纠错电压预测模块采用回归预测算法。

所述的固态硬盘降低读响应延迟的方法,其特征在于回归预测算法为ols算法。

所述的固态硬盘降低读响应延迟的方法,其特征在于所述的影响因子包括:擦写次数、数据保持时间、物理块完成编程后到下一次擦除前读取次数、block内页wordline编号。

一种固态硬盘,其特征在于采用了权利要求1至5任意一项所述的固态硬盘降低读响应延迟的方法进行数据读取。

本发明通过纠错策略预测模块和纠错电压预测模块预测推荐纠错策略和推荐纠错电压,固态硬盘根据预测的推荐纠错策略和推荐纠错电压进行数据读取,可大大提高一次读取成功的概率,进而实现降低读响应延迟,达到提升固态硬盘性能的效果。

附图说明

图1是典型的nand组成示意图;

图2是常规nadn内部读取数据流程图;

图3是不同级纠错设置的读取电压设置;

图4是具体实施示例的学习表格图例;

图5是超平面1将样板分类示意图;

图6是超平面2将样板分类示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图4是具体实施示例的学习表格图例,为解释本发明所述的纠错策略与纠错电压选择,通过图4的学习表格来演示说明。借助机器学习的分类算法,通过输入批量的样本、目标值,给出分类规则;借助机器学习的回归算法,通过输入批量的样本、目标值,给出预测规则。

为便于解释,本实施例中仅提取了几个典型的影响因子,实际应用中可根据nand需求扩展,具体算法推导过程与下文类似。

其中:

因子0(a_0):常量,固定为1;因子1(a_1):pe,block擦写次数;因子2(a_2):retention,数据写入后在常温下等效保持时间(涉及不同温度的可转换为常温);因子3(a_3):readcount,物理块完成编程后到下一次擦除前,读取次数;因子4(a_4):block内页、wordline编号。

基于以上的影响因子分别进行纠错策略的预测和纠错电压:

我们运用svm(支持向量机)的分类算法确定纠错策略,(supportvectormachine)是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。

1.对于给定的m(m>>4)组样本集合{a_j,c_j|j=1,2,…m},a_j表示第j个样本的影响因子集合,数学表示为4行1列的向量;c_j表示第j个样本对应的纠错策略,假设本实施例中共有4种策略。

2.根据svm理论,这m组样本可以映射到一个4维平面中,如图5,而且可以找到超平面1:w_1·a+b_1=0(w_1和a为4行1列向量,由大写斜体表示,b_1为常量,w_1和b_1能根据现有样本数据和svm算法确定)。

3.这个超平面1把m组样本分隔成两类,超平面左边的样本数据a_左满足w_1·a_左+b_1<0,且a_左对应的纠错策略为1或2;右边的样本数据a_右满足w_1·a_右+b_1>0,且a_右对应的纠错策略为3或4。

4.在运行时刻,需要选择纠错策略时,输入新的影响因子向量a_新,如果w_1·a_新+b_1<0,那么选择纠错算法1或2,否则选择纠错算法3或4。

5.假设第四步得出选择纠错算法1或2,那么如何进一步确认1还是2呢?显然是再次运用svm算法,以超平面1左边的样本为新样本,确定超平面2:w_2·a+b_2=0,如图6,超平面2分隔了纠错策略1和纠错策略2对应的样本点。再根据w_2·a_新+b_2的值就可以确定选择哪种纠错策略了,也就实现了推荐纠错策略的预测。

以下举例说明通过回归预测算法预测纠错电压,回归预测算法选择ols算法进行说明,也可以是其它算法。ols是ordinaryleastsquare的的简称,意思是普通最小二乘法。

假设一组系数e_i(i=0,1,2…4);对于给定的m(m>>4)组数值集合{a_i_j,y_j|i=0,1,2,3,4;j=1,2…m},满足,

最小

借助如上的规则,确定e_i值。

在运行时刻,当读取特定的物理页时,根据e_i和a_i值,可直接计根据如下公式预测出最佳电压设置值从而实现了预测推荐纠错电压。

固态硬盘根据预测的推荐纠错策略和推荐纠错电压进行数据读取,可大大提高一次读取成功的概率,进而实现降低读响应延迟,达到提升固态硬盘性能的效果。

以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1