[发明专利]一种固态存储设备的垃圾回收方法及其系统有效
申请号: | 201310248150.X | 申请日: | 2013-06-20 |
公开(公告)号: | CN103336744A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 童薇;朱志明;刘景宁;冯丹;冒伟;胡洋;秦亦 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 方放 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种固态存储设备的垃圾回收方法及其系统,适用于基于闪存的固态存储设备,属于固态存储领域,解决现有垃圾回收方法不能有效利用系统空闲时间进行垃圾回收或者垃圾回收耗时较长、增大系统读写响应延迟的问题。本发明方法包括产生垃圾回收请求、判断、执行不可中断请求以及执行可中断请求步骤;本发明系统包括相应模块。本发明将垃圾回收请求分为可中断的垃圾回收请求和不可中断的垃圾回收请求,通过动态调整垃圾回收的触发阈值,分别调用可中断的垃圾回收步骤和不可中断的垃圾回收步骤,充分利用固态存储设备的空闲时段进行垃圾回收,同时避免不必要的垃圾回收;实现在不影响垃圾回收效率的情况下,有效地降低垃圾回收带来的读写性能损失。 | ||
搜索关键词: | 一种 固态 存储 设备 垃圾 回收 方法 及其 系统 | ||
【主权项】:
一种固态存储设备的垃圾回收方法,适用于基于闪存的固态存储设备,包括产生垃圾回收请求步骤、判断步骤、执行不可中断请求步骤和执行可中断请求步骤,其特征在于:(1)产生垃圾回收请求步骤,包括下述子步骤:(1.1)置有效页比例V=0,置无效页比例I=0,置空闲页分配数目C=0,进行子步骤(1.2);(1.2)判断是否C≥n,是则置C=0,转子步骤(1.3);否则转步骤(2);n为每个物理块中物理页的数目;(1.3)计算空闲页比例f、有效页比例V、无效页比例I、不可中断阈值H和可中断阈值T:f=Nf/Nt,其中,Nf为当前固态存储设备中空闲物理页的数目,从存储系统中直接获得;Nt是固态存储设备中物理页的总数目;V=Nv/Nt,其中,Nv为当前固态存储设备中有效物理页数目,从存储系统中直接获得;I=Ni/Nt,其中,Ni为当前固态存储设备中无效物理页数目,从存储系统中直接获得;H=δE+ε(1‑V);T=αE+β(1‑V)+γI;其中,额外空间比例E为设备厂商出厂时提供,通常为5%~20%;比例系数δ取值范围为0.3~0.5、比例系数ε取值范围为0.1~0.3、比例系数α取值范围为0.5~0.7、比例系数β取值范围为0.1~0.4、比例系数γ取值范围为0.1~0.3,且0<H<T<1;计算完毕进行子步骤(1.4);(1.4)判断是否f<H,是则转子步骤(1.5),否则转子步骤(1.6);(1.5)生成一个不可中断垃圾回收请求,将其挂载到不可中断请求队列的尾部,转步骤(2);所述不可中断垃圾回收请求包含以下项:目标物理区域、目标物理块号、物理页号、优先级和请求状态;其中,物理页号用于记录请求执行的断点,该字段初始值置为0,表示指向被回收物理块的第一个页;目标物理块号用于记录垃圾回收请求所指示的要回收的目标物理块;(1.6)判断是否f<T,是则转子步骤(1.7);否则转步骤(2);(1.7)生成一个可中断垃圾回收请求,将其挂载到可中断请求队列的尾部,转步骤(2);所述可中断垃圾回收请求包含以下项:目标物理区域、目标物理块号、物理页号、优先级和请求状态,其具体含义与不可中断垃圾回收请求相同;(2)判断步骤,包括下述子步骤:(2.1)判断不可中断请求队列是否为空,是则转子步骤(2.2),否则转步骤(3);(2.2)判断是否存在读请求或写请求,是则转子步骤(2.3),否则转子步骤(2.4);(2.3)执行读请求或写请求:读请求执行完毕,转子步骤(1.2);执行写请求时,每为写请求分配一个空闲页后,置C=C+1,写请求执行完毕,转子步骤(1.2);(2.4)判断可中断请求队列是否为空,是则转子步骤(2.1),否则转步骤(4);(3)执行不可中断请求步骤,包括下述子步骤:(3.1)取不可中断请求队列位于队首的垃圾回收请求,进行子步骤(3.2);(3.2)判断所述垃圾回收请求中的物理页号是否小于物理块中的物理页数目,是则转子步骤(3.3),否则转子步骤(3.6);(3.3)判断所述垃圾回收请求中物理页号所指示的页是否为有效页,是 则转子步骤(3.4),否则转子步骤(3.5);(3.4)对所述物理页号所指示的物理页进行数据迁移,将所述垃圾回收请求中物理页号加1,转子步骤(3.2);(3.5)将所述垃圾回收请求中物理页号加1,转子步骤(3.2);(3.6)对所述垃圾回收请求中目标物理块号所指示的物理块执行擦除操作,操作完毕,转子步骤(3.7);(3.7)从不可中断请求队列中删除该垃圾回收请求,转子步骤(1.3);(4)执行可中断请求步骤,包括下述子步骤:(4.1)取可中断请求队列中位于队首的垃圾回收请求,进行子步骤(4.2);(4.2)判断所述垃圾回收请求中的物理页号是否小于物理块中的物理页数目,是则转子步骤(4.3),否则转子步骤(4.6);(4.3)判断所述物理页号所指示的页是否为有效页,是则转子步骤(4.4),否则转子步骤(4.5);(4.4)对所述物理页号所指示的物理页进行数据迁移,将所述垃圾回收请求中所述物理页号加1,转步骤(2);(4.5)将所述垃圾回收请求中所述物理页号加1,转子步骤(4.3);(4.6)对所述垃圾回收请求中目标物理块号所指示的物理块执行擦除操作,操作完毕,转子步骤(4.7);(4.7)从可中断请求队列中删除该垃圾回收请求;转子步骤(1.3)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310248150.X/,转载请声明来源钻瓜专利网。