软件交换层的成本已经不可忽略
传统虚拟化下,虚拟机的每次块 I/O 都要经过 Hypervisor 的模拟设备与后端驱动,一次读写至少多两次上下文切换和一次数据搬运。当盘侧的 QD1 平均读延迟规划到 65 µs 量级,这层固定开销在总服务时间里的占比就变得相当可观;而在同一条路径上叠加高并发时,它还会成为 CPU 侧的瓶颈来源。盘越快,虚拟化税越显眼。
SR-IOV 改变了什么
SR-IOV 让一块物理 SSD 对外呈现一个物理功能(PF)和若干虚拟功能(VF)。每个 VF 拥有独立的 BAR 空间、独立的 MSI-X 中断向量和自己的提交/完成队列对,可以直接映射进虚拟机地址空间。虚拟机驱动敲的是自己 VF 的门铃,命令经控制器前端仲裁后进入统一的 NAND 通道调度,数据面不再穿过 Hypervisor。PF 保留管理职责:VF 的创建与销毁、资源配额分配,以及通过 NVMe-MI 进行的带外监控。
隔离要同时成立三层
把 VF 分给不同租户,需要三层隔离同时成立。地址隔离由 IOMMU 保证;数据隔离由多命名空间实现,每个 VF 只挂载分配给它的命名空间,无法触及其他命名空间的 LBA;性能隔离最难。必须在控制器内部对每个 VF 的队列施加带宽与 IOPS 配额,否则一个租户的连续大块写就能把邻居的读延迟拉高数倍。噪声邻居问题无法靠主机侧限速解决,因为排队已经发生在盘内。
为什么排在 P1
企业级功能基线把 PLP、端到端保护、T10 DIF/DIX、多命名空间、NVMe-MI、TCG OPAL 与 Secure Boot、Telemetry、在线升级回滚、低延迟 QoS、热插拔放在优先落地项,SR-IOV 与 OCP 相关要求列为 P1 阶段能力——这份清单本身也还在产品定义阶段继续收敛。排序的依据是:VF 的实际价值高度依赖底层 QoS 仲裁的成熟度,先把单 PF 下的队列级服务质量做扎实,再向上暴露 VF,比反过来更稳妥。
能力落在哪些形态上
这项能力的规划落点是 Gen5 侧的多租户场景:FLEX 9 的 E3.S(J100E、J130E)与 E1.S(J100S、J130S)面向 OCP 云数据中心与高密度节点,TITAN 9 的 U.2/U.3 面向 AI 服务器、数据库与云平台,两者的共同点是一块盘要同时服务多个互不信任的负载。而在 CORE 7 这类通用服务器与虚拟化配置上,单 PF 加多命名空间已经能覆盖大部分隔离诉求。把 SR-IOV 放进 P1,不是把它往后推,而是承认它的收益要等下面一层做扎实之后才兑现得出来。
