[发明专利]一种闪存垃圾回收优化方法在审
申请号: | 201710434596.X | 申请日: | 2017-06-09 |
公开(公告)号: | CN107301132A | 公开(公告)日: | 2017-10-27 |
发明(设计)人: | 吴非;周娇娜;周游;马瑞祥;谢长生 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F11/10 |
代理公司: | 武汉东喻专利代理事务所(普通合伙)42224 | 代理人: | 李佑宏 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 闪存 垃圾 回收 优化 方法 | ||
技术领域
本发明属于固态盘存储技术领域,具体涉及一种闪存存储的垃圾回收优化方法。
背景技术
垃圾回收是固态盘系统中清除无效数据必要的方法,这一过程在固态盘的整个生命周期中会频繁地发生。垃圾回收主要是针对待回收脏块内的有效数据进行回收,清除脏块前,具体的,需要将其中的有效数据转移到闪存的其他空闲位置,然后才能将脏块擦除。
现有的数据迁移的方法,是先将有效页的数据读回控制器,然后再写入到NAND闪存中。也就是说,脏块中的数据都需要先读出到制器,一般的,还需要对这些数据进行再编码,然后才能写入闪存。然而这种垃圾回收方法需要耗费大量的时间,还会阻塞系统I/O,是目前以闪存为存储介质的固态盘系统急需突破的性能瓶颈。
现有技术中,CN201180041989公开了一种先占式垃圾回收方法,该方法的核心技术在于确定垃圾回收量后,判断回收量相较于回收阈值的大小,根据回收量的大小进行垃圾回收操作。该方法虽然可以解决需要回收的垃圾量过载的问题,但是对于保证数据存储可靠性的需求来说,没有任何的助益。在另一个现有技术CN201510671242中,公开了一种基于数据生存期的固态盘垃圾回收方法,该方法的核心技术在于,根据应用要求设置递增的时间数列,根据待写数据的预期生存期限,选择不同的方式进行垃圾回收。该方法的目的主要在于保证固态盘的写入速度,减小数据移动带来的访问开销,对于固态盘的数据存储可靠性没有提出有效的解决办法。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种闪存垃圾回收优化方法及其应用,提出了一种自适应的垃圾回收方法,本发明技术的优化方法在保证固态盘数据存储的可靠性的前提下,减少垃圾回收所需时间,提高系统I/O性能。
为实现上述目的,按照本发明的一个方面,提供了一种闪存垃圾回收优化方法,其特征在于,包括,
对确定回收的脏块内有效数据进行纠错码纠错阈值检测;
判断所述有效数据错误是否达到其纠错码的纠错阈值;
对错误未达到纠错码纠错阈值的有效数据,采用copy-back指令将该有效数据通过寄存器直接写入闪存中;对错误已达到纠错码纠错阈值的有效数据,先将该有效数据读回控制器,再写入闪存中。
本发明技术方案中,首先检测待回收脏块内待回收的有效数据的错误,确定其是否达到错码的最大纠错能力,即进行纠错码纠错阈值检测。对于错误未达到纠错码阈值的有效数据,本发明技术方案中采用copy-back指令,借助寄存器,先将有效数据存入寄存器,再将数据置入闪存中。由于待回收的脏块也位于闪存中,通过这种方法,不需要从闪存中取出有效数据即可实现有效数据在闪存内的直接转移,大大节省了垃圾回收的时间。对于错误已达到纠错码阈值的有效数据,已经达到纠错码的最大纠错功能,因此需要将有效数据先读回控制器,重新进行纠错码编码后,再写入闪存中。本发明技术方案的方法,通过检测有效数据页中的错误大小,判断错误是否达到其纠错码的纠错阈值,从而采取两种方式对脏块中的有效数据进行回收,一方面保证了所回收的有效数据的准确性,另一方面也节约了垃圾回收的时间。
作为本发明技术方案的一个优选,分别对脏块中每个有效数据页进行纠错码纠错阈值检测,以保证写入闪存的有效数据的可靠性。
脏块内的有效数据回收是一个持续的过程,针对每一次具体回收的有效数据,都需要进行阈值检测。具体而言,针对每一个待回收的数据页,都对其进行纠错码纠错阈值的检测,根据错误是否达到纠错码纠错阈值,来决定选择何种方式进行有效数据的回收。其中,因为copy-back指令累积错误的特点,在最开始进行有效数据回收的时候即对全部的数据页进行纠错码纠错阈值的检测,判断有效数据页中的数据错误是否达到纠错码纠错的最大能力。对错误没有达到纠错码纠错阈值的有效数据进行回收的时候,直接将数据读取到闪存同一分组内的寄存器,再将读取到寄存器内的数据写入选定的空白页。对于错误达到了纠错码纠错阈值的有效数据,需要送入控制器以及进行再编码过程,才能写入闪存。这种回收方式,可以确保每次回收的有效数据的可靠性。
作为本发明技术方案的一个优选,对错误未达到纠错码纠错阈值的有效数据的回收处理具体包括,
将所述错误未达到纠错码纠错阈值的有效数据写入闪存中的寄存器;
将寄存器中的有效数据迁移到闪存的空白页上。
作为本发明技术方案的一个优选,通过寄存器对错误未达到纠错码纠错阈值的有效数据进行迁移时,随时对其进行纠错码纠错阈值检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710434596.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分布式存储管理软件故障诊断方法及系统
- 下一篇:连接建立方法及装置