NVMe高速传输之摆脱XDMA设计25: NVMe 子系统模型设计

NVMe 子系统模型是用来模拟 NVMe 子系统的功能仿真模型。 在当前的技术背景下, 单一的存储设备难以满足巨大的存储容量和速度需求, 因此很多存储系统都采用 PCIe 交换机来拓展链路, 或通过 RAID 技术来提升存储性能, 这些都使 PCIe 链路拓扑结构变得更加复杂。 此外基于 PCIe 的 NVMe 协议在执行过程中需要通过 PCIe链路与主机控制器完成大量的指令和数据交互, 这使得如何在仿真环境下模拟复杂拓扑链路中的 NVMe 存储设备功能成为急需解决的关键问题。 因此本IP提出 NVMe子系统模型的设计理念, 并将其整合到验证平台中, 使 NoP 逻辑加速引擎能够在较复杂存储子系统中做系统性的功能验证, 同时降低了设计与验证的迭代成本。

NVMe 子系统模型由模块化的关键组件构成, 主要包含驱动器、 桥设备模型、NVMe 设备模型。 不带交换设备的最小 NVMe 子系统模型如图 1 所示。 带有交换设备的最小 NVMe 子系统模型如图 2 所示。在构建测试平台的过程中, 可以根据需求在最小存储子系统模型的基础上添加组件来构建合适的 PCIe 链路拓扑结构。

wKgZPGjFJAmAfbjkAABSka2nqhw397.png

图1 最小 NVMe 子系统模型

图2 最小 NVMe 子系统模型