[发明专利]一种固态硬盘智能垃圾回收与调度方法有效
申请号: | 202010429973.2 | 申请日: | 2020-05-20 |
公开(公告)号: | CN111708713B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 姚英彪;孔小冲;包杰丞;冯维;范金龙;姜显扬;徐欣 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F3/06 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 固态 硬盘 智能 垃圾 回收 调度 方法 | ||
1.一种固态硬盘智能垃圾回收与调度方法,其特征在于,包括各个通道主机IO队列CH_IO,可中断垃圾回收IO队列GC_IO,GC缓冲区BufGC,IO调度模块和GC决策模块;
CH_IO保存主机接口发送至各个通道的用户IO请求,即主机端的读写请求;GC_IO保存可中断垃圾回收的VB块的有效页读/写请求和VB块的擦除请求;BufGC暂存VB块的有效页;IO调度模块负责调度各CH_IO队列和GC_IO队列中的请求;GC决策模块负责决定垃圾回收操作方式,此外,也负责不可中断的垃圾回收;
对于每个通道,当有新的写请求到达,其GC决策模块的工作过程如下:
G1、判断该通道剩余空闲空间比例U是否大于不可中断垃圾回收触发阈值THhard;
当U<THhard时,产生不可中断垃圾回收,执行G2;
当U≥THhard时,执行G3;
其中,NBfree为空闲的闪存块数,NBtotal为总的闪存块数;
G2、根据式选择得分最小的闪存块作为GC的VB块,暂停本通道的主机IO响应,在本通道内完成不可中断GC,然后执行G9;
其中,NPvalid为该通道闪存块中的有效页数,NPtotal为该通道闪存块的总页数;
G3、判断是否有正在进行的可中断垃圾回收,采用CH_IGC_flag进行标志;若没有,即CH_IGC_flag=0,执行G4;否则,执行G9;
G4、判断该通道剩余空间比例U是否小于可中断垃圾回收触发阈值THsoft;
当U<THsoft时,执行G5;
当U≥THsoft时,执行G9;
G5、判断该通道可中断GC的VB块是否为空;若是,执行G6;否则,执行G7;
G6、根据式选择得分最小的闪存块设置为VB块,然后执行G7;
其中,age为此块包含的数据页上次无效化距现在的时间,erase_count为块的擦除次数;
G7、判断GC缓冲区BufGC是否有足够空间容纳VB块的有效页;若有足够空间,则执行G8;否则,执行G9;
G8、设置该通道的CH_IGC_flag=1,生成对VB块有效页的读、写请求和对VB块的擦除请求,并加载至GC_IO队列;然后执行G9;
G9、结束本次垃圾回收决策。
2.根据权利要求1所述的一种固态硬盘智能垃圾回收与调度方法,其特征在于,IO调度模块工作过程如下:
如果某个通道的CH_IO不为空或者SSD的GC_IO不为空的时候,进行如下的调度过程:
S1、判断该通道的CH_IO队列是否为空;若不为空,调度CH_IO中的请求直到空为止;然后执行S2;
S2、判断GC_IO队列是否为空;若不为空,执行S3;否则,结束本次IO调度;
S3、判断GC_IO队列中是否有满足下面2个条件之一的请求:
条件一,属于该通道的读请求或擦除请求;
条件二,写请求且该写请求对应的读请求已经完成;
若存在这样的请求,取出第一个请求,执行S4;若没有,则结束本次IO调度;
S4、根据取出请求的类型进行相应的响应;具体如下:
若是读请求,则将该通道的数据读取到GC缓冲区BufGC中;
若是写请求,则将GC缓冲区BufGC中的数据写入到该通道;
若是擦除请求,则将该通道下对应闪存块擦除,并清除该通道的CH_IGC_flag标志,即设置CH_IGC_flag=0;并设置VB块号为空,即设置VB=-1;
S5,跳回到S1进行执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010429973.2/1.html,转载请声明来源钻瓜专利网。