[发明专利]一种实现固态硬盘磨损均衡的方法在审
申请号: | 201711010313.5 | 申请日: | 2017-10-25 |
公开(公告)号: | CN107797936A | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 许毅;姚兰;郑春阳 | 申请(专利权)人: | 记忆科技(深圳)有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G11C16/34 |
代理公司: | 广东广和律师事务所44298 | 代理人: | 董红海 |
地址: | 518057 广东省深圳市南山区蛇口街道蛇*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 固态 硬盘 磨损 均衡 方法 | ||
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种实现固态硬盘磨损均衡的方法。
背景技术
固态硬盘由于其每个数据块的擦写寿命是有限的,不同的数据修改的概率也不同,如果长时间集中对某些数据块进行擦写操作,很容易将数据块写坏,因此固态硬盘中都必须要有磨损均衡来避免出现该问题。常规技术采用的是静态磨损均衡算法,该算法需要在高速内存(SRAM)中分配一张块擦除信息表BET(block erase table)表,图1是BET表结构示意图;FLASH中每个块block对应BET中一个bit,该bit的值表示对应block在一定时间T内是否被擦除过(1表示被擦除过,0表示没有被擦除过)。除了BET表,固件还维护两个值擦除次数erase_cnt和one_cnt,erase_cnt记录所有block在时间T内被擦除的总次数。在SSD工作期间,内部的垃圾回收任务会不定时擦除无效的block,以腾出空闲block,one_cnt表示BET表中值为1的个数。显然有erase_cnt大于等于one_cnt,因为在时间T内同一个block可能擦除多次,特别是在硬盘空间不足的情况下,当erase_cnt/one_cnt的值过大时,说明BET表中某些值为1对应的block在时间T内被反复擦除,而那些值为0对应的block一直没有被擦除,各block的磨损已经不均衡了,图2是出现磨损不均衡情况示意图;此时需要启用SSD内部任务遍历BET表,找到表中值为0对应的block(冷数据块),将该block上的数据搬移到表中值为1对应的block(热数据块),图3是冷热数据交换示意图,将block8和block11中的数据交换,且将BET[8]中的值变为1,这样本来擦除次数较小的block8后续就会存放热数据,擦除次数慢慢变大,而本来擦除次数较大的block11由于存放了冷数据,擦除次数在很长时间内不会改变,即这种磨损不均衡的局面会随着时间慢慢变得均衡。
该技术中在Nand Flash生命周期内能有效达到磨损均衡的目的,但是BET表要独占较大的高速内存(SRAM)资源,我们以1024*1024个block为例,每个block需要1bit,那么一共需要1024*1024bit,即128KB的高速内存资源,而且随着Nand Flash容量的增加BET占用的资源也将同比增加。
发明内容
针对以上缺陷,本发明目的是如何减少对SSD的内存开销,降低功耗,而且对内存的开销不随着Nand Flash容量的增加而增大。
为了解决以上问题本发明提出了一种实现固态硬盘磨损均衡的方法,其特征在于将FLASH的块划分为多个存储面,每个存储面包含若干个块;每个存储面都分别采用一组均衡评估数据描述各个存储面内的各个块的磨损均衡程度;所述均衡评估数据包括擦除次数平均值E、擦除次数的方差Var和随机游走当前位置P;随机游走当前位置P记录的是各个存储面均衡的块游走的位置,具体为块序号;磨损均衡操作时通过控制随机游走当前位置P的移动位置和方向,并执行数据搬移,控制使得各个存储面的Var值趋小,同时控制各个存储面的最大擦除次数平均值E_max-E_min值趋小。
所述的实现固态硬盘磨损均衡的方法,其特征在于每个存储面发生一次块擦除操作,则更新一次擦除次数平均值和擦除次数的方差,具体更新如下:E_新=E_旧+1/N;E_新表示新计算获取的擦除次数平均值,E_旧表示原有的擦除次数平均值;Var_新=Var_旧+2(ec_k-E_旧)/N+(N-1)/N/N;ec_k为擦除前的擦除次数;Var_新为新计算获取的擦除次数的方差,Var_旧为原有的擦除次数的方差。
所述的实现固态硬盘磨损均衡的方法,其特征在于每次触发SSD磨损均衡操作时,首先检索各个存储面的均衡评估数据,找到E值最小的存储面,找到随机游走当前位置P,通过比较相邻的2个块的擦除次数,将P向擦除次数小的方向移动,如果移动后所在的块中有有效数据,则把数据搬走,然后擦除该块;随机游走当前位置P的初始位置为存储面的第一个块;第一个block往左边走为该存储面的最后一个block,最后一个block往右边走为该存储面的第一个block。
本发明的有益效果是:新的磨损均衡方法与常规技术BET方法的效果差不多,但是对内存的要求比较低,节省内存的效果非常明显,而且随着Nand容量的增大,新方法对内存的占用依然保持基本不变,扩展性很好。
附图说明
图1是BET表结构示意图;
图2是出现磨损不均衡情况示意图;
图3是冷热数据交换示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于记忆科技(深圳)有限公司,未经记忆科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711010313.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:生成模拟报文的方法及装置
- 下一篇:一种针对无法访问东芝硬盘数据区的恢复方法