Knowledge center

FMS2019:阿里基于Open-Channel的优化应用(en)

2019-10-21 10:48:52 mimukeji

原标题:FMS2019:阿里基于Open-Channel的优化应用

原文:Open-Channel SSDs for Host-Based Optimization

By: Yu Du, Feng Zhu, Sheng Qiu, Shu Li from Alibaba

阿里自研SSD概况:

2016年首次部署5万片Host Based PCIe SSD(注:没有说NVMe,可能是AHCI或者PCIe转SATA);

2017年开始部署NVMe SSD(Device based, SSD自行管理FTL)

目前的AliFlash V3,从Device base进化到Open Channel

Ali FTL驱动

  • 模块化的命令集

  • 代码量<50K

  • 一套代码支持Kernel/User mode

  • 采用DDR模拟盘进行测试

优化应用:非连续读

以上图这个8K的读操作为例,Host希望读取的8K数据,LBA0和LBA1分别在Plane0和Plane1上,正常情况下需要下发两个single plane的4K读操作。但是通过主动多读取两个LBA(淡紫色部分),可以使用一个Multi-Plane 读命令一次读取16K数据。

优化应用:合并写和填充

  • 减少写命令的数量以获取更好的IOPS和时延表现;

  • 将Host下发的多个4K/8K写操作,合并为一个写命令下发给SSD;

  • 通过主动填充无效数据保证所有的Host写入对齐;

优化应用:写入流管理

  • 3个正常IO写工作流,1个GC(Garbage Collection)写工作流;

  • IO和GC独立管理;

  • 基于配额的GC策略;

  • Free space越少,相应提高GC的速度;

优化应用: 顺序读预取

基于State Machine的监测机制,当发现当前IO为Sequential read时,利用Host DDR作为Buffer提前预读取,相同应用场景下吞吐量是普通SSD的5倍。

支持多达300+的debug参数,包括:

  • IOPS

  • Latency/QoS

  • GC/WL

  • Media Error

  • FTL Driver parameters

  • FTL Key data structures

FTL驱动参数和策略能够根据不用的应用场景进行配置,而且其中部分参数支持动态调整。

阿里这个级别的厂商,有足够的动力开发完全适配自身应用的SSD,未来会推出哪些更多的应用,我们拭目以待。


(en)

阿里云优惠新机+优惠券

本文转载自网络,如有侵权,请联系我们删除。

Home

About

product

success

news

form

bbs

contact

工单(en)

阿里云报价咨询(en)