NVM Express(NVMe)是一种专为非易失性存储器(NVM)设计的接口协议,主要用于固态硬盘(SSD)。NVMe协议的传输层协议主要包括以下几种:
1. NVMe Transport Layer Protocol (NTLP):这是NVMe协议中定义的传输层协议,负责将NVMe命令从主机传输到存储设备。NTLP支持多种传输协议,包括:
TCP/IP:通过IPv4或IPv6进行传输,适用于网络环境。
RDMA over Converged Ethernet (RoCE):一种在以太网上实现远程直接内存访问(RDMA)的协议,提供了低延迟和高带宽的传输。
RDMA over InfiniBand (RoCEv2):与RoCE类似,但适用于InfiniBand网络。
iWARP:另一种实现RDMA的协议,适用于以太网环境。
2. NVMe over Fabrics (NVMe-oF):这是一种基于NTLP的扩展,它允许NVMe设备通过多种网络拓扑结构进行通信。NVMe-oF支持以下几种传输协议:
NVMe over TCP/IP:通过TCP/IP网络传输NVMe命令。
NVMe over RDMA:通过RDMA网络传输NVMe命令,包括RoCE和iWARP。
NVMe over FC:通过光纤通道(FC)网络传输NVMe命令。
3. NVMe over PCIe:当NVMe设备直接连接到主机时,使用PCI Express(PCIe)总线进行传输。这种情况下,传输层协议由PCIe协议栈提供。
这些传输层协议共同构成了NVMe协议栈,确保了NVMe设备在不同网络环境和主机连接方式下的高效通信。