軟體交換層的成本已經不可忽略
傳統虛擬化下,虛擬機器的每次塊 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,不是把它往後推,而是承認它的收益要等下面一層做紮實之後才兌現得出來。
