[发明专利]一种基于高速缓存感知的垃圾回收方法、设备及存储介质有效
申请号: | 202011025007.0 | 申请日: | 2020-09-25 |
公开(公告)号: | CN112148631B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 潘玉彪;张惠臻;张忆文 | 申请(专利权)人: | 华侨大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/0882;G06F3/06 |
代理公司: | 厦门市首创君合专利事务所有限公司 35204 | 代理人: | 张松亭 |
地址: | 362000 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 高速缓存 感知 垃圾 回收 方法 设备 存储 介质 | ||
本发明提供一种基于高速缓存感知的垃圾回收方法、设备及存储介质,其中方法包括:垃圾回收操作开始时,固态硬盘会扫描所有物理块和高速缓存,得到每块物理块内包含有效页的数量以及每块物理块保存在高速缓存中的有效页的数量;将每块物理块的有效页数量减去每个物理块保存在高速缓存中的有效页数量,得到每块物理块真正需要移动的有效页的数量;选择上述数值最小的物理块作为垃圾回收的目标块;针对该目标块,开始扫描每一个物理页;并采用高速缓存一致性方法,完成目标块的没有保存在高速缓存中的所有有效页移动,即完成一次垃圾回收操作;本发明提供的方法,能够取得更少的有效页移动,获得良好的性能。
技术领域
本发明涉及计算机存储领域,特别是指一种基于高速缓存感知的垃圾回收方法、设备及存储介质。
背景技术
因为其更高的性能以及更低的能耗,基于闪存的固态硬盘已经被应用到各种消费电子产品以及数据中心当中。然而,“写前擦除”是基于闪存固态硬盘的一个限制。具体来说,当更新一个数据页时,固态硬盘需要先将该数据页所在的整个数据块擦除,然后再写入数据。由于擦除操作非常耗时,因此这个过程将导致固态硬盘的性能降级。
为了解决上述问题,固态硬盘内部引入“异地更新”机制。该机制允许更新的数据写入空白的数据页,并将老版本数据所在的数据页标记为无效。为了回收这些被老版本占据的无效页的物理空间,“垃圾回收”操作必须被部署并触发。垃圾回收首先根据特定的算法选择一块物理块作为目标块,然后读出该目标块的所有有效页数据,接着将这些有效页数据写入其他物理块的空白物理页,最后擦除选择的目标块。整个垃圾回收过程将引入大量额外的有效页的读写操作。因此,为了获得更好的垃圾回收性能,垃圾回收机制通常会使用贪心算法在全部的物理块当中选择包含有效页最少的物理块作为目标块,但该算法并不能取得很好的效果。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于高速缓存感知的垃圾回收方法,能够取得更少的有效页移动,获得良好的性能。
本发明采用如下技术方案:
一种基于高速缓存感知的垃圾回收方法,包括:
S1、垃圾回收操作开始,固态硬盘扫描所有物理块,得到每块物理块内包含有效页的数量;
S2、固态硬盘扫描每个物理块对应的高速缓存,利用计数器记录所述物理块缓存在高速缓存中的有效页数量,将每块物理块的有效页数量减去每个物理块对应计数器的值,得到每块物理块真正需要移动的有效页的数量;
S3、选择真正需要移动的有效页的数量最小的物理块作为垃圾回收的目标块;
S4、针对所述目标块,开始扫描每一个物理页;
S5、判断所述物理页是否为无效页;如果是,跳转到S9;否则,进入S6。
S6、所述物理页为有效页,判断所述物理页是否缓存在高速缓存中;如果是,跳转到S8;否则,进入S7。
S7、将所述物理页从闪存中读取到高速缓存中,如果高速缓存满,则采用LRU算法替换。
S8、将所述物理页在高速缓存中的状态修改或保持为“脏”,将映射关系中的物理页面地址删除。
S9、判断是否扫描完目标块当中的所有物理页;如果是,跳转到S11;否则,进入S10。
S10、扫描下一个物理页,并跳转到S5;
S11、完成该目标块的有效页移动,擦除目标块,完成一次垃圾回收操作。
具体地,步骤S2中将每块物理块的有效页数量减去每个物理块对应计数器的值,得到每块物理块真正需要移动的有效页的数量,所述计数器的值具体获取方法包括:
固态硬盘初始化时,这些计数器都清零;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华侨大学,未经华侨大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011025007.0/2.html,转载请声明来源钻瓜专利网。