【爱集微点评】佰维存储公开的SSD垃圾回收方案,该方案基于SSD剩余空间设置不同的策略进行组合实现垃圾回收,不仅可以平衡主机的写入速率和空间回收速率,还可以有效地缩短GC场景下的最大写时延,从而能够在避免空间耗尽的同时,降低最大时延。
集微网消息,固态硬盘(SSD)由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。其被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等诸多领域。
目前,在主流的企业级固态硬盘固件开发中,常常面临以下几个重点和难点问题:
1)如何保证启动垃圾回收(GC)的情况下,读写请求的最大时延不超过固定阈值;
2)如何均衡主机写入数据速率和空间释放速率,以保证不会出现空间耗尽的情况;
3)不同的业务模型会导致有效数据分布不均匀,如何根据有效数据进行针对性的垃圾回收。
针对这些问题,目前绝大部分厂商都是优先保证空间第一时间释放,而对该场景下的最大写时延和性能考虑的比较少。为了兼顾这些不同的特性,佰维存储在2022年2月21日申请了一项名为“垃圾回收方法、装置、可读存储介质及电子设备”的发明专利(申请号:202210154235.0),申请人为深圳佰维存储科技股份有限公司。
根据该专利目前公开的相关资料,让我们一起来看看这项技术方案吧。
如上图,为该专利中公开的垃圾回收方法的步骤流程图,首先,接收固态硬盘的垃圾回收请求,该请求主要是待回收数据。其次,根据垃圾回收请求获取固态硬盘的剩余空间信息,并基于剩余空间信息确定垃圾回收策略。最后,判断垃圾回收策略的类型:如果垃圾回收策略为低水位垃圾回收策略,则将待回收数据写入闪存;如果垃圾回收策略为高水位垃圾回收策略,则将待回收数据写入缓存区域。
从上述方案可以知道,该方案通过基于SSD剩余空间启动不同的GC策略:高水位GC策略执行速率快,空间回收慢,且对主机的写入影响较小;而低水位GC策略执行速率慢,空间回收快,且对host写入影响较大。这种基于SSD剩余空间将两种策略进行组合实现垃圾回收,不仅可以平衡主机的写入速率和空间回收速率,还可以有效地缩短GC场景下的最大写时延,从而能够在避免空间耗尽的同时,降低最大时延。
如上图,为该专利中的垃圾回收装置的结构示意图,该装置包括有:请求接收模块、信息获取模块、策略确定模块以及数据写入模块。请求接收模块用于接收固态硬盘的垃圾回收请求;信息获取模块根据垃圾回收请求获取固态硬盘的剩余空间信息;策略确定模块用于基于剩余空间信息确定垃圾回收策略;数据写入模块用于判断垃圾回收策略的类型,并执行不同的写入任务。
如上图,为上述垃圾回收方法中的垃圾回收示意图,该步骤可以将待回收数据写入缓存区域。在执行该步骤时,系统需要获取待回收数据的逻辑地址(LAA),接着判断缓存区域是否存在变化,且缓存区域中是否存在逻辑地址。如果都不存在,则将待回收数据写入缓存区域;如果都存在或者只存在其中之一,则丢弃待回收数据。
以上就是佰维存储公开的SSD垃圾回收方案,该方案基于SSD剩余空间设置不同的策略进行组合实现垃圾回收,不仅可以平衡主机的写入速率和空间回收速率,还可以有效地缩短GC场景下的最大写时延,从而能够在避免空间耗尽的同时,降低最大时延。