[发明专利]基于预留空间的固态盘阵列的垃圾回收方法在审
申请号: | 201710673442.6 | 申请日: | 2017-08-09 |
公开(公告)号: | CN107451069A | 公开(公告)日: | 2017-12-08 |
发明(设计)人: | 吴素贞;刘癸新;朱伟东;毛波;张伟韦 | 申请(专利权)人: | 厦门大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 厦门南强之路专利事务所(普通合伙)35200 | 代理人: | 马应森,张凡忠 |
地址: | 361005 *** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 预留 空间 固态 阵列 垃圾 回收 方法 | ||
技术领域
本发明涉及计算机数据存储方法,尤其是涉及基于预留空间的固态盘阵列的垃圾回收方法。
背景技术
基于闪存的固态盘是一种半导体存储介质,具有经久耐用、防震抗摔、无噪音、功耗低、工作温度范围大、随机小读性能高等优点;但是固态盘的容量价格比低,而且具有随机小写性能低、写前必须擦除和介质擦除次数有限等缺点。
基于闪存的固态盘包含3种基本操作:读、写和擦除。读和写都是以页为单位进行操作;擦除以块为单位进行操作。其中,一个块(块大小通常是128~256KB)一般包含64个页(页大小通常是2~16KB),因此擦除操作的处理时间比读写操作处理时间大若干个数量级。若某个页已经存储有效数据,则无法对该页直接进行覆盖写操作,因此固态盘处理写请求时不支持原地更新,而是采用异地更新的方法,也就是将原数据页的数据置为无效,将新数据写入到其他空闲页中。
因为基于闪存的固态盘采用异地更新的机制,随着系统的运行,固态盘中的空闲块越来越少,无效块越来越多,因此基于闪存的固态盘需要擦除这些包含无效数据页的块来获得新的空闲块,该操作称为“垃圾回收”。固态盘的垃圾回收过程是:
(1)选取待回收的块,将其上的有效数据复制到空闲块中;
(2)更新地址映射信息;
(3)擦除待回收块并将它们加入到空闲块列表中。由此可知,垃圾回收操作会花费大量的时间。除此之外,在垃圾回收过程中,该固态盘的芯片无法处理来自用户的读写请求,此时该芯片接收到的读写请求都将被挂起等待,直到垃圾回收操作完成才能被处理。因此,垃圾回收操作的效率直接影响了固态盘存储系统的性能,该问题已经成为存储研究热点之一。
另一方面,固态盘除了应用于桌面机外,也逐渐应用于服务器和企业级数据存储系统之中。在企业级数据存储系统中,单个固态盘显然无法满足服务对存储系统容量、性能和可靠性的要求。因此,将磁盘阵列(Redundant Array of Independent Disks,简称为RAID)算法应用到固态盘存储系统中,构建大容量、高性能和高可靠的存储系统非常有必要。本发明中,将固态盘阵列简称为RAIS(Redundant Array of Independent SSDs);由于不同级别的磁盘简称为RAID0、RAID10、RAID5等。
类似于磁盘阵列,固态盘阵列系统的性能会受到阵列中性能最差的成员盘的影响。因此,单个固态盘垃圾回收操作所引起的性能降低将使得固态盘阵列表现出严重的性能波动。若固态盘阵列的成员盘采用本地非协作的垃圾回收策略,固态盘阵列的性能将会出现严重的性能波动。若采用全局垃圾回收策略,垃圾回收操作引起的固态盘阵列性能波动可以得到一定程度的减轻。而其原因是,全局垃圾回收策略,会触发其他未达到垃圾回收状态的盘的垃圾回收状态,降低了性能降级。但是采用全局垃圾回收策略之后,固态盘阵列在垃圾回收过程中停止响应用户读写请求,整个固态盘阵列存储系统无法对外服务,这对需要7×24小时稳定提供服务的应用来说是无法接受的。
参考文献:
[1]Youngjae Kim,Sarp Oral,Galen M.Shipman,Junghee Lee,David Dillow,Feiyi Wang,Harmonia:A Globally Coordinated Garbage Collector for Arrays of Solid-state Drives,Proceedings of the 27th IEEE Symposium on Massive Storage Systems and Technologies(MSST 2011).Pages 1-12.Denver,Colorado,May 23-27,2011。
[2]吴素贞,陈晓熹,毛波.GC-RAIS:一种基于垃圾回收感知的固态盘阵列.计算机研究与发展.50(1):60-68,2013。
发明内容
本发明针对RAIS5等冗余固态盘阵列,提供用于减轻垃圾回收操作对固态盘阵列系统性能波动的负面影响的一种基于预留空间的固态盘阵列的垃圾回收方法。
本发明包括以下步骤:
1)初始化步骤;
2)垃圾回收步骤;
3)垃圾回收阶段请求处理步骤;
4)数据回收步骤,当对应的固态盘的垃圾回收操作完成之后,数据回收模块扫描重定向数据映射表;
5)数据回收阶段请求处理步骤;
6)结束步骤。
在步骤1)中,所述初始化步骤的具体方法如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门大学,未经厦门大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710673442.6/2.html,转载请声明来源钻瓜专利网。