高效SSD解决方案-FDP实现灵活数据放置 智能应用 影音
Veeam Software
华腾国际

高效SSD解决方案-FDP实现灵活数据放置

  • 魏于宁台北

DapuStor QLC SSD系列均支持 FDP。大普微
DapuStor QLC SSD系列均支持 FDP。大普微

由于SSD承担复杂的数据存储任务,盘内的垃圾回收(GC)虽然提升了利用率,但也産生了大量额外写入,加速了盘的磨损。特别是多应用、多用户环境中,不同生命周期的数据流加剧了GC,放大了写放大效应(WAF)。WAF不仅影响SSD的寿命,还影响其在整个生命周期内的效能。

爲延长SSD寿命,业界一直追求WAF=~1的理想目标。近年来,Meta和Google提出的FDP(Flexible Data Placement)方案证明了这一目标的可行性,NVME标准化组织也在考虑将其纳入标准协议。

不同利用率下的 Non-FDP 与 FDP 的WAF。大普微

不同利用率下的 Non-FDP 与 FDP 的WAF。大普微

FDP原理:不同应用数据写到独立物理空间。大普微

FDP原理:不同应用数据写到独立物理空间。大普微

传统SSD:不同应用数据被写到同一物理空间。大普微

传统SSD:不同应用数据被写到同一物理空间。大普微

FDP带来更智能&长寿的SSD

在传统SSD上,当多个应用数据同时写入时,不同数据可能被混合写在同一个超级块(Block)上,每个应用数据将分散在不同NAND芯片上。同时,被删除的应用数据,将在超级块上産生碎片。爲了重新利用这些空间,SSD需要进行垃圾回收(GC),将超级块上的有效数据搬移。由此我们可以看出,在传统SSD上write amplification factor(WAF)高的直接原因是:不同应用数据被写到同一物理空间上。

如果将不同应用数据写到独立的物理空间上,当删除一个应用数据时,只需擦除并回收该应用的相关物理空间, 使GC搬移的数据量大大减少。FDP正是基于这个原理来提供高效的数据布局方式,以此减少WAF。

FDP模型引入了RU(回收单元)、RG(回收组)和RUH(回收单元句柄)三个概念。RU是可以独立擦写的物理单元,多个RU组成一个RG,RG之间的效能和可靠性互不影响。RUH是RU的写指针,当一个RU写满后,会切换到另一个RU上。主机可以通过IO命令,将不同应用的数据通过不同的RUH写入RU中,以实现数据隔離。

FDP还提供了一些机制,让主机感知盘内写入数据情况,以辅助决定数据的写入和回收策略。例如,通过相关接口获取RU的粒度(RUNS)、当前RU的剩余写入量(RUAMW)、RU的预估更新时间(EARUTR)等信息。SSD还可以通过上报event(Host Events/Controller Events),通知RUH相关的异常情况。

大普微FDP解决方案

大普微Haishen5系列SSD支持FDP特性和多种FDP配置,系统可以根据不同业务类型在Namespace上使用不同的RUH,并爲RUH配置不同的数据隔離属性。同时支持多Namespace共享RUH。在多Namespace上,如果业务数据的属性相同,那他们可以使用同一RUH,以方便系统对RUH的管理,同时也节省了RUH资源。我们用CacheLib测试了HaiShen5系列的FDP,测试结果如下:

由此结果可看出,在kvcache trace的模拟真实业务的场景中,FDP开启后, CacheLib将BigHash和BlockCache进行了分流,WAF明显降低并且接近1。

FDP的应用,推动了存储管理向更高效发展。结合当下热议的QLC SSD,目前DapuStor QLC系列SSD均支持 FDP feature,相信这项技术在超大型数据中心和云服务商能得到普及,并带来可观的收益。


关键字