FMS2015:Instruction-Based NPU设计

来源:互联网 发布:arcgis批处理python 编辑:程序博客网 时间:2024/04/28 22:22

FMS2015是一个充满技术干货的平台,各领域技术大拿在峰会上分享的技术和产品都影响甚至主导者闪存下一阶段的发展。此次Memblaze的工程师团队也是从存储系统、PCIe SSD以及闪存控制器三个层次做了技术演讲,并在现场引发了一波讨论热潮。

Memblaze IP设计经理王祎磊发表了主题为《An Instruction-Based NAND Flash Processor Unit (NPU)》,这个主题分享中他介绍了不同的闪存控制器设计思路,并介绍了Memblaze在控制器方面的设计经验。


1Memblaze IP设计经理王祎磊

王祎磊介绍了硬件和软件两种NPU的设计方案。


图2:硬件控制器方案

大部分控制器的架构是硬件控制器架构,这种架构性能比较高,芯片的成本比较低,但是不能很好的兼容多种类型的NAND。


图3:软件控制器方案

软件控制器方案则在灵活性上有非常大的优势,能够支持不同种类的NAND。但是由于代码有冗余,实现成本较高。

综合起来看,闪存控制器的设计需要在软件方案和硬件方案之间取得一个平衡。

图4:NPU设计的平衡点

王祎磊指出一款优秀的NPU方案需要在软件方案和硬件方案找到一个平衡点。

具体到NPU的实现从以下三个方面进行说明:

图5:NPU主要的设计规范

可以看出,NPU应该以硬件设计为主,但是需要通过软件的方案提高NPU的灵活性。

图6:NPU架构

图7:线程切换
线程切换机制可以充分利用控制器资源,当一个操作在LUN上被挂起,NPU会转向处理其他LUN上的操作。

根据以上所列举的NPU设计规范,Memblaze做出了自己的NPU。王祎磊对Memblaze NPU特征做了列举。


图8:Memblaze NPU设计规范

对于不同的场景,Memblaze设计了不同的NPU。图9列举了三款Memblaze的NPU。

图9

演讲最后,王祎磊对Memblaze NPU的优势做了总结。

  • 针对NAND的特性设计;
  • 能够兼容多种NAND以及未知厂商的NAND;
  • 在性能和灵活性之间取得一个平衡;
  • 能够有效降低SSD主控制器的负载
  • 对NAND实现精准的控制,能够方便的针对企业级应用需求进行调优。

0 0
原创粉丝点击