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在控制器方面的设计经验。
图1:Memblaze 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
- FMS2015:Instruction-Based NPU设计
- NPU 1205 活动安排
- GPU CPU NPU
- Policy-based design设计模式
- Tile Based Engine的设计 - 坐标变换
- 如何设计Assertion-based Monitor(1)
- SaaS-based 轻量型软件架构设计
- Tile Based Engine的设计 - 坐标变换
- Tile Based Engine的设计 - 遮挡处理
- NPU 17届程序设计 1043 跳马
- matlab instruction
- Instruction set
- instruction set
- Illegal instruction
- assembly instruction
- netlink instruction
- Privileged instruction
- illegal instruction
- java 字节流与字符流的区别
- ANDROID之路-Android_参考资料_内置存储卡and外置存储卡
- 不忘初心,方得始终!
- Linq 之更新数据
- Android SDK 在线更新镜像服务器资源
- FMS2015:Instruction-Based NPU设计
- 高效实用内存
- 淘米水有大用处
- substr和instr的使用
- ActiveAndroid 初学
- 命令行用编译(javac)并运行(java)Jav啊文件
- SCST在SAN网络环境中的应用
- Java关键字之finalize
- 【Material Design视觉设计语言】应用样式设计