妾身千万难——Open Channel SSD

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

 

灭掉南宋的汉将张弘范在《寄征衣》中说“欲寄君衣君不还,不寄君衣君又寒。寄与不寄间,妾身千万难!”其实在设计SSD的时候,我们也会有这种纠结的心情。

在今年的闪存峰会上,有家新创企业级SSD控制器芯片厂商CNEXLabs介绍了他们的Open Channel SSD概念,尽管他们的芯片还没有正式商用,不过我们先来一探究竟。

 

妾身千万难,FTL将栖身何处?

 

我们知道SSD控制器内部算法核心是FTL(Flash Translation Layer),把用户的地址LBA转换为SSD内部Flash芯片的物理地址。一般的消费级SSD控制器内置FTL,因为功能比较简单和统一,消费级市场经过WinTel联盟多年的锤炼,各种接口非常统一,大家的需求也很单一,只要支持Intel主板、Windows操作系统就可以了,大大简化了各种外设的硬件设计。

 

但是进入了企业级市场,真是群雄并立,有各种各样的客户和存储厂家,大家使用多种多样的操作系统和主板架构,甚至Google、Facebook、BAT都可以自己定义硬件、Linux底层。在这种情况下,FTL放在SSD控制器里面已经难以满足需求了,用户希望能够自定义FTL,根据自己的数据特点设计高效的FTL,比如:

  • 搜索引擎可以把索引表和SSD物理地址对应起来;
  • 日志数据可以直接流式写入SSD内部Flash通道;
  • 数据库希望key-value能对应到SSD物理地址。

 

这种自定义后面如果有FTL,导致几大缺点:

  • latency变长;
  • 达不到最优的性能;
  • 垃圾回收、磨损平衡等浪费了SSD的存储空间和寿命。

 

Open-Channel SSD架构

 

CNEXlabs的SSD控制器把SSD内部的通道开放给用户使用,这样控制器只负责Flash数据传输、ECC、RAID、垃圾回收引擎、错误处理、坏块管理等工作,而FTL层的设计由Host自己根据需求实现。这样也方便用几个控制器组成一个大的SSD,甚至阵列。

 

如下图,host端多了任务,latency只是稍微增加了一些。

在软件定义存储中的优势

 

  • 可以集中管理多个SSD;
  • 软件可定制;
  • 根据需求定义FTL;
  • FTL可以不断修改;
  • 针对不同应用开发不同软件。

 

如下RocksDB例子,数据以日志形式直接写入Flash的块,有点像百度自己做的SSD。CNEXlabs还提供了Linux驱动,支持NVMe以及NULL Driver做FTL性能测试和Debug。

想要每天看一条SSD文章吗?扫一扫,微信关注我们!或者微信搜索公众号ssdfans关注。

 

11

分类目录 未分类.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。