[发明专利]一种固态盘阵列的垃圾回收方法有效
申请号: | 201310528584.5 | 申请日: | 2013-10-31 |
公开(公告)号: | CN103530237A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 吴素贞;毛波;陈晓熹;陈晓兰;席在发 | 申请(专利权)人: | 厦门大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F3/06 |
代理公司: | 厦门南强之路专利事务所(普通合伙) 35200 | 代理人: | 马应森 |
地址: | 361005 *** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 固态 阵列 垃圾 回收 方法 | ||
技术领域
本发明涉及计算机数据存储方法,尤其是涉及一种固态盘阵列的垃圾回收方法。
背景技术
作为一种主流的存储介质,磁盘已经广泛应用于个人电脑和企业级数据存储等领域,但是其机械特性限制了其读写性能的快速提升,基于磁盘的存储设备渐渐成为存储系统的性能“墙”。目前,基于闪存的固态盘已成为磁盘的有力替代品,并且得到了学术界和工业界的广泛关注。和磁盘相比,基于闪存的固态盘是一种半导体存储介质,没有机械部件,具有经久耐用、防震抗摔、无噪音、功耗低、工作温度范围大、随机小读性能高等优点;但是固态盘的容量价格比低,而且具有随机小写性能低、写前必须擦除和介质擦除次数有限等缺点。
基于闪存的固态盘包含3种基本操作:读、写和擦除。读和写都以页为单位进行操作;擦除以块为单位进行操作。一个块(块大小通常是128~256KB)一般包含64个页(页大小通常是2~4KB)。擦除操作的处理时间比读写操作处理时间大若干个数量级。若某个页已经存储有效数据就无法对该页直接进行覆盖写操作,因此固态盘处理写请求时不支持原地更新,而是采用异地更新的方法,也就是将原数据页的数据置为无效,将新数据写入到其他空闲页中。
由于基于闪存的固态盘采用异地更新的机制,随着系统的运行,固态盘中的空闲块会越来越少,无效数据页则越来越多,因此需要擦除这些包含无效数据页的块以获得新的空闲块,该操作称为“垃圾回收”。固态盘的垃圾回收过程是:首先选取待回收的块,将其上的有效数据页复制到空闲块中,并更新地址映射信息,然后擦除待回收块并将它们加入空闲块列表中。由此可见,垃圾回收操作需要消耗较多的时间。另外,当固态盘中的某个芯片正在处理垃圾回收操作时,无法同时处理来自用户的读写请求,此时该芯片接收到的读写请求都将被挂起,直到垃圾回收操作完成才能被处理。因此,垃圾回收操作的效率直接影响了固态盘存储系统的性能,这个问题已成为存储研究的热点之一。
另一方面,固态盘除了应用于桌面机外,也渐渐应用于服务器和企业级数据存储系统中。在企业级数据存储系统中,单个固态盘显然无法满足服务对存储系统容量、性能和可靠性的要求。因此,将磁盘阵列(Redundant Array of Independent Disks,简称为RAID)算法应用到固态盘存储系统中,构建大容量、高性能和高可靠的存储系统非常有必要。
类似于磁盘阵列,固态盘阵列系统的性能也会受到阵列中性能最差的成员盘的影响。因此,单个固态盘的垃圾回收操作所引起的性能降低将使得固态盘阵列表现出严重的性能波动。若固态盘阵列的成员盘采用本地非协作的垃圾回收策略,固态盘阵列的性能将会出现严重的性能波动。若采用全局垃圾回收策略,垃圾回收操作引起的固态盘阵列性能波动可以得到一定程度的减轻。这是因为,当某个固态盘进行垃圾回收时,全局垃圾回收策略强制固态盘阵列中其他所有成员盘同时触发垃圾回收操作,从而降低了性能降级。但是采用全局垃圾回收策略后,固态盘阵列在垃圾回收过程中停止响应用户读写请求,整个固态盘阵列存储系统无法对外服务,这对于需要7×24h稳定提供服务的应用来说是无法接受的。另外,全局垃圾回收策略需要固态盘能够感知固态盘阵列的信息,并且只考虑了低可靠性的RAIS0系统,而没有考虑可靠性高且应用更加广泛的RAIS5系统及其冗余性,因此具有一定的局限性。
发明内容
本发明的目的在于针对RAIS5等冗余固态盘阵列,提供用于减轻垃圾回收操作对固态盘阵列系统性能波动负面影响的一种固态盘阵列的垃圾回收方法。
本发明包括以下步骤:
(1)初始化步骤,具体方法如下:
(1.1)根据用户指令,打开已有固态盘阵列或创建新固态盘阵列;
(1.2)主控模块读取保存在固态盘阵列成员盘超级块中的重定向数据映射表或创建该固态盘阵列的重定向数据映射表并初始化为空;进行步骤(2);
(2)垃圾回收步骤,具体方法如下:
(2.1)垃圾回收控制模块主动收集固态盘阵列中每块成员固态盘的空闲空间比例,并与预设的阈值(如90%)比较,判断固态盘是否需要进行垃圾回收操作,若某个固态盘需要进行垃圾回收操作,则转过程(2.2),否则重复过程(2.1);
(2.2)主控模块判断固态盘阵列中是否有其他固态盘正在进行垃圾回收操作,若有,则转过程(2.4);
(2.3)主控模块主动触发垃圾回收控制模块进行该固态盘的垃圾回收操作,并将此信息通知给请求重定向模块,完成垃圾回收操作后,转步骤(4);
(2.4)暂停处理该固态盘的垃圾回收操作,转过程(2.1);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门大学,未经厦门大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310528584.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:负载有催化剂的袋滤器
- 下一篇:针对终端程序的云备份及恢复方法