一种SSD介质的健康度处理方法、SSD控制器及磁盘阵列技术

技术编号:21297947 阅读:27 留言:0更新日期:2019-06-12 07:25
本申请实施例公开了一种SSD介质的健康度处理方法、SSD控制器及磁盘阵列。该方法包括,每隔物理擦写次数PPE周期对磁盘阵列RAID中每个块Block的出错比特数进行采集,并根据采集的每个Block的出错比特数计算RAID的第一原始出错比特率RBER信息,RAID由固态硬盘SSD介质组成;根据第一RBER信息和从SSD所在系统获取的PPE信息计算RAID的健康信息;将健康信息刷新至RAID的健康表项中,健康表项供系统用于监控RAID并控制RAID的磨损均衡。本申请实施例方法能够结合每个Block自身的可靠性,利用RBER信息和PPE信息,减缓或加速健康因子EPE的递增趋势,更好地对SSD盘进行磨损均衡,提升总体写入数据量,从而延长SSD盘的寿命。

【技术实现步骤摘要】
一种SSD介质的健康度处理方法、SSD控制器及磁盘阵列
本申请涉及存储
,具体涉及一种SSD介质的健康度处理方法、SSD控制器及磁盘阵列。
技术介绍
固态硬盘(SolidStateDisk,SSD)由控制单元和存储单元组成,存储单元例如快闪记忆体(NandFlash),对于此类存储单元来说,影响该NandFlash的健康程度的因素主要包括三种,第一种是颗粒的物理擦写次数(PhysicalProgram/Erase,PPE),第二种是保持时间(Retention),第三种是读取次数(Read),其中PPE对NandFlash的影响是不可恢复性的;Retention或Read的影响是可恢复的,对颗粒重新擦写一次,影响便会消除。控制单元例如SSD控制器,使用过程中,需要设定特定的参数来衡量NandFlash当前的健康程度,以此上报使用该SSD的系统预知该SSD的使用寿命;利用该参数匹配磨损均衡算法使得SSD盘片内部所有块(Block)的健康度保持一致,达到充分利用每个Block的目的,最大程度延长SSD使用寿命。目前大部分SSD控制器是以PPE作为健康因子来衡量健康度,并且控制磨损均衡。系统内部会开辟一片空间存储每个Block的PPE次数,当某个Block的数据被擦除后,该Block的PPE值递增1。然而这种方式由于核心到核心的变化(die-to-dievariation)和块到块的变化(block-to-blockvariation),SSD内部不同Block的可使用的PPE次数并不一致,若单纯以PPE作为健康度因子,会使得盘片内部Block的PPE次数趋向于一致,当PPE次数达到平均最大磨损能力时,预示着盘片达到寿命终点,因此不能很好地发挥每个Block的最大磨损能力。
技术实现思路
本申请实施例提供了一种SSD介质的健康度处理方法、SSD控制器及磁盘阵列来解决目前采用PPE作为健康因子来衡量健康度,并且控制磨损均衡带来的SSD的Block的最大磨损能力未充分使用的问题。本申请实施例的第一方面提供一种SSD介质的健康度处理方法,该方法中,每隔PPE周期便会对由SSD介质组成的RAID中的每个Block的出错比特数进行采集,并且根据采集到的每个Block的出错比特数计算所述RAID的第一原始出错比特率(RawBitErrorRate,RBER)信息;接着,在具有了第一RBER信息后,便可以根据所述第一RBER信息和从所述SSD所在系统获取的PPE信息计算RAID的健康信息,最后以该健康信息作为衡量Block的健康度的健康因子,将该健康信息刷新至所述RAID的健康表项中,使得磨损均衡算法采用该健康进行进行磨损均衡。可以看出,由于并非简单的使用PPE作为衡量所有Block的参数,而是根据不同的Block的出错比特数为基础来计算RAID的第一RBER信息,该第一RBER信息能够很好的反应每个Block的健康程度,接着将该RBER结合PPE计算出健康信息,结合每个Block自身的可靠性,利用RBER信息和PPE信息,减缓或加速健康因子EPE的递增趋势,更好地对SSD盘进行磨损均衡,提升总体写入数据量,从而延长SSD盘的寿命。在一些实施例中,根据采集的每个Block的出错比特数计算所述RAID的第一原始出错比特率RBER值的方式可以是,对于每个Block,读取所述Block中m个Page的出错比特数,并根据所述m个Page的出错比特数计算所述Block的第二RBER信息,所述m为正整数;接着,再根据所述RAID中的每个Block的第二RBER信息计算所述RAID的第一RBER信息。即该第一RBER信息是根据RAID中的所有Block的第二RBER信息得出,因此可以很好的反应SSD盘整体的健康度,该计算方式能够增强本申请实施例的可实现性。在一些实施例中,计算第二RBER信息具体可以是,根据所述m个Page的m个出错比特数以及采用如下公式计算所述Block的第二RBER信息;其中,所述xi为m个出错比特数中的第i个出错比特数。可以看出,该公式中,实际是上对采样得到的m个出错比特数去掉波动最大的两个,即最小的和最大的,然后剩余的求平均值得到第二RBER信息。在一些实施例中,根据RAID中的每个Block的第二RBER信息计算所述RAID的第一RBER信息可以是,根据所述RAID中的每个Block的第二RBER信息以及如下公式计算所述RAID的第一RBER信息采用如下公式;其中,所述xi为n个第二RBER信息中的第i个第二RBER信息。可以看出,该第一RBER信息的计算方式与计算第二RBER信息类似,在计算出的n个第二RBER信息中剔除掉波动最大的两个,即最大的和最小的,然后将剩余的求平均值即可得到第一RBER信息。在一些实施例中,健康信息实际可以包括健康因子(HealthIndictorFactor,HIF)、EPE递增因子S和EPE,从而根据所述第一RBER值和从所述SSD所在系统获取的PPE信息计算RAID的健康信息包括针对三个参数的计算,首先是计算HIF,具体的,可以根据所述第一RBER信息和所述PPE信息以及如下公式计算所述RAID的HIF;HIF=W(PPE,RBER)=α*PPE+β*RBER,其中,所述α和所述β均大于等于零;该健康因子由两个因素即PPE和RBER共同决定,由权重α和β为PPE和RBER的权重。该HIFHIF主要衡量颗粒中单个Bloc的健康度。接着再计算EPE递增因子S,具体的,根据所述HIF以及如下公式计算所述S;S=V(HIF),其中,所述公式V为分区间映射公式;其中,公式V的对应关系可以采用如下定义,θ=(HIF-HIF(min))/(HIF(max)-HIF(min))其中,θ为[0,1]之间的实数,举例来说,若θ在区间[0,0.2)内,则S=p1,若θ在区间[0.2,0.8)内,则S=p2,若是θ在区间[0.8,1]内,则S=p3,可以看出,该映射公式即θ在区间不同,该S对应的值也不相同,具体区间划分值和映射关系可以配置。当然,若是HIF(max)=HIF(min),则θ可取固定值,例如取值为0.5。接着,在完成S的计算后,便可对EPE进行计算,具体的,根据如下公式和所述S计算当前PPE周期的EPE;EPE2=EPE1+S,其中EPE2为当前PPE周期的EPE,EPE1为上一PPE周期的EPE。其中,该S是每个PPE周期单独计算出的值,上一周期的EPE值加上计算出的S即可得到当前周期的EPE值。在初始化状态,EPE的值为零,因此,第一个周期得到的EPE为该周期计算出的S。在一些实施例中,在进行数据采集之前,该方法还可以包括对当前场景的识别,即,根据所述RAID的当前状态识别当前场景;识别出的场景有两种情况,一种是第一场景,该场景下,执行数据采集步骤,即执行每隔PPE周期对磁盘阵列RAID中每个块Block的出错比特数进行采集;而在识别出的场景为第二场景时,便会执行将所述健康信息刷新至所述RAID的健康表项中。通过对场景的识别,使得健康表项的刷新更为符合SSD盘的实际使用情形。本申请实施例第二方面还提供一种SSD控制器,该包括了用于执行第一方面或第一方面的任一种实现方本文档来自技高网
...

【技术保护点】
1.一种SSD介质的健康度处理方法,其特征在于,包括:每隔物理擦写次数PPE周期对磁盘阵列RAID中每个块Block的出错比特数进行采集,并根据采集的每个Block的出错比特数计算所述RAID的第一原始出错比特率RBER信息,所述RAID由所述固态硬盘SSD介质组成;根据所述第一RBER信息和从所述SSD所在系统获取的PPE信息计算RAID的健康信息;将所述健康信息刷新至所述RAID的健康表项中,所述健康表项供所述系统用于监控所述RAID并控制所述RAID的磨损均衡。

【技术特征摘要】
1.一种SSD介质的健康度处理方法,其特征在于,包括:每隔物理擦写次数PPE周期对磁盘阵列RAID中每个块Block的出错比特数进行采集,并根据采集的每个Block的出错比特数计算所述RAID的第一原始出错比特率RBER信息,所述RAID由所述固态硬盘SSD介质组成;根据所述第一RBER信息和从所述SSD所在系统获取的PPE信息计算RAID的健康信息;将所述健康信息刷新至所述RAID的健康表项中,所述健康表项供所述系统用于监控所述RAID并控制所述RAID的磨损均衡。2.根据权利要求1所述的方法,其特征在于,所述根据采集的每个Block的出错比特数计算所述RAID的第一原始出错比特率RBER值包括:对于每个Block,读取所述Block中m个页Page的出错比特数,并根据所述m个Page的出错比特数计算所述Block的第二RBER信息,所述m为正整数;根据所述RAID中的每个Block的第二RBER信息计算所述RAID的第一RBER信息。3.根据权利要求2所述的方法,其特征在于,所述根据所述m个Page的出错比特数计算所述Block的第二RBER信息包括:根据所述m个Page的m个出错比特数以及采用如下公式计算所述Block的第二RBER信息;其中,所述xi为m个出错比特数中的第i个出错比特数。4.根据权利要求2所述的方法,其特征在于,所述RAID包括n个Block,所述n为正整数,所述根据所述RAID中的每个Block的第二RBER信息计算所述RAID的第一RBER信息包括;根据所述RAID中的每个Block的第二RBER信息以及如下公式计算所述RAID的第一RBER信息采用如下公式;其中,所述xi为n个第二RBER信息中的第i个第二RBER信息。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述健康信息包括健康因子HIF、EPE递增因子S和有效擦写次数EPE,所述根据所述第一RBER值和从所述SSD所在系统获取的PPE信息计算RAID的健康信息包括:根据所述第一RBER信息和所述PPE信息以及如下公式计算所述RAID的HIF;HIF=W(PPE,RBER)=α*PPE+β*RBER,其中,所述α和所述β均大于等于零;根据所述HIF以及如下公式计算所述S;S=V(HIF),其中,所述公式V为分区间映射公式;根据如下公式和所述S计算当前PPE周期的EPE;EPE2=EPE1+S,其中EPE2为当前PPE周期的EPE,EPE1为上一PPE周期的EPE。6.根据权利要求5所述的方法,其特征在于,所述每隔PPE周期对磁盘阵列RAID中每个块Block的出错比特数进行采集之前,所述方法还包括:根据所述RAID的当前状态识别当前场景;当所述当前场景为第一场景时,执行所述每隔PPE周期对磁盘阵列RAID中每个块Block的出错比特数进行采集;当所述当前场景为第二场景时,将所述健康信息刷新至所述RAID的健康表项中。7.一种SSD控制器,用于采用固态硬盘SSD介质的RAID,其特征在于,包括:采集模块,用于每隔PPE周期对磁盘阵列RA...

【专利技术属性】
技术研发人员:孔维镇王金伟单明星
申请(专利权)人:深圳市海思半导体有限公司
类型:发明
国别省市:广东,44

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

1