NVMe技术架构深度分析

NVMe是一种针对PCIe接口固态存储设备的高速接口标准,旨在释放闪存的潜能。它规定了操作系统与NVM子系统之间的通信协议,提供低延迟、高IOPS和低能耗。NVMe支持多达64K的I/O队列,具备高效指令集和错误管理功能,适用于企业、数据中心和客户端系统。命名空间(NS)是NVMe的重要概念,每个控制器可以支持多个NS,且支持多路径IO和命名空间共享,以实现高性能存储解决方案。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

NVM(Non-Volatile Memory)翻译过来为非易失存储器,是一类存储器的一般术语总称。而NVMe(Non-Volatile Memory Express)是一个可扩展的主控器芯片接口标准,主要为企业、数据中心以及客户端系统中应用PCIe接口的固态存储设备(SSD)设计,它的目标是最大限度的释放闪存的潜能。


NVMe接口属于逻辑设备接口,工作在支持NVMe的板卡上的主控器和主机端的对等层内,它规定了操作系统与NVM子系统之间的通信协议,定义了一套指令集和功能集。NVMe为基于PCIe的SSD带来了较低的时延,较高的IOPS和较低能耗的优势。


首先通过下图展示下NVMe在数据传输过程中的位置,有一部分位于PCIe之上,这部分也是NVMe驱动的主要部分,还有一部分位于用户态的软件层,用于应用层与NVMe驱动间的交互。

640?wx_fmt=png

NVMe有以下几个关键属性:


  • 在命令提交(Command Submission)或者完成(Completion)的路径上不需要读取相关寄存器(不可缓存或MMIO寄存器);

  • 支持最多可达64K 的I/O 队列,每个队列支持64K的未处理命令命令;

  • 每个队列的的优先级拥有明确的仲裁机制;

  • 为确保超高效的IO操作,完成一个4KB读取请求需要的所有信息包含在64B的命令中;

  • 高效且流线型的指令集;

  • 支持MSI/MSI-X中断和中断聚合;

  • 支持多个命名空间;

  • 有效支持IO虚拟化架构,如SR-IOV;

  • 健全的错误报告和管理功能;

  • 支持多路径IO和命名空间共享;

  • 支持许多企业需求,如端到端的数据保护(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值