[发明专利]基于多阶段加锁的闪存转换层混合垃圾回收方法在审

专利信息
申请号: 201811381497.0 申请日: 2018-11-20
公开(公告)号: CN109739775A 公开(公告)日: 2019-05-10
发明(设计)人: 阮利;丁树勋;肖利民;苏书宾;李昂鸿;殷成涛 申请(专利权)人: 北京航空航天大学
主分类号: G06F12/02 分类号: G06F12/02;G06F9/52
代理公司: 北京海虹嘉诚知识产权代理有限公司 11129 代理人: 吴小灿
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 处理线程 主动回收 闪存转换层 垃圾回收 线程 混合垃圾 请求队列 多阶段 回收 加锁 定期检查 初始化 空闲块 出队 队头 操作系统 保证 检测 服务
【说明书】:

发明提出一种基于多阶段加锁的闪存转换层混合垃圾回收方法,结合了主动回收及被动回收,保证了各种I/O负载下的垃圾回收效率。包括主动回收线程、I/O请求处理线程、请求队列;在NAND Flash启动之后,主动回收线程与I/O请求处理线程随闪存转换层初始化并开始运行,请求队列用于接收操作系统派发的I/O请求,并在上一个I/O操作完成后将队头的I/O请求出队,然后提交给I/O请求处理线程;主动回收线程会按照设定的条件不定期检查NAND Flash块的使用情况,在检测到空闲块比例较低时开始进行主动垃圾回收;被动垃圾回收是I/O请求处理线程的一部分,保证了设备有足够的空间来服务I/O请求。

技术领域

本发明属于计算机科学技术领域,尤其涉及一种基于多阶段加锁的闪存转换层混合垃圾回收方法。

背景技术

基于NAND Flash的存储设备内部结构设计与机械磁盘完全不同。NAND Flash不能直接对原来位置的数据进行修改,而要寻找一块空闲区域,然后再将新的数据写入,并将原来的数据置为无效,这种更新方式称之为“异地更新”。原来无效的块需要经过擦除操作之后才能继续使用。NAND Flash的闪存转换层一个重要的功能便是垃圾回收,负责选择合适的块并在合适的时机擦除。NAND Flash中每个块的擦除次数有限,当擦除超过一定次数,这个块便不能使用,垃圾回收方法需要在回收时决定对那些块进行擦除,因此垃圾回收方法选择待回收块对NAND Flash的寿命影响十分明显。当要对一个块进行擦除操作时,需要寻找空闲页将待回块中所有的有效页写入空闲页,然后才能进行擦除操作,这称之为NANDFlash的“数据迁移”,待回收块中有效页越多,擦除前需要进行迁移的页面越多,因此在选择块回收时,要同时考虑块中有效页的比例以及块的擦除次数。

垃圾回收分为主动回收和被动回收,被动回收是指当NAND Flash进行写操作时,发现没有可用的空闲页,此时需要进行垃圾回收,完成之后再继续之前的写入操作,被动回收比较高效,一般情况下,如果NAND Flash没有空闲页可用时,会存在大量的无效块,但是被动回收对I/O请求的阻塞比较严重,尤其是在负载较重时,写入操作可能会频繁触发被动垃圾回收。主动回收是指有一个独立的线程或任务定时检测NAND Flash中空闲空间的比例,当发现空闲块的比例较低时,便会开始进行回收,主动回收的触发条件非常重要,目前也有很多相关研究,但这些研究都没有很好地设计精确的触发时机,并且没有利用NANDFlash的空闲时间进行回收。在NAND Flash中,擦除是非常耗时的一个操作,远远超过读取和写入操作的平均时间,目前大多数主动回收方法会在回收期间阻塞I/O请求,导致I/O请求的响应时间大大增加。

发明内容

为了解决上述提出的问题,本发明针对目前主动垃圾回收没有利用空闲时间回收、触发时机不精确以及会阻塞上层I/O请求的问题和单一的被动垃圾回收在负载较重时对I/O性能影响较大的问题进行了深入研究,提出了一种基于多阶段加锁的闪存转换层混合垃圾回收方法。该方法结合了主动回收和被动回收,可以保证在多种负载下垃圾回收的高效性,利用NAND Flash的空闲时间进行回收,减少了对I/O请求的影响,设计了多阈值的触发条件,使得垃圾回收的时机更准确,同时还通过将主动回收划分为多个阶段并进行多阶段加锁的方法,减轻了垃圾回收的阻塞。

本发明的技术方案是:

1.一种基于多阶段加锁的闪存转换层混合垃圾回收方法,其特征在于,结合了主动回收和被动回收,包括主动回收线程、I/O请求处理线程、请求队列;在NAND Flash启动之后,主动回收线程与I/O请求处理线程随闪存转换层初始化并开始运行,请求队列用于接收操作系统派发的I/O请求,并在上一个I/O操作完成后将队头的I/O请求出队,然后提交给I/O请求处理线程;主动回收线程会按照设定的条件不定期检查NAND Flash块的使用情况,在检测到空闲块比例较低时开始进行主动垃圾回收;被动垃圾回收是I/O请求处理线程的一部分,在写负载较重,无效块产生的速度非常快,主动垃圾回收来不及进行的情况下,被动垃圾回收保证了设备仍然有足够的空间来服务I/O请求。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811381497.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top