2025年12月15日,微軟宣布Windows Server 2025將在其儲存架構中原生支援NVMe標準。然而,NVMe儲存多年來一直是伺服器、企業工作站和消費級PC上流行的儲存格式,並且自Windows Server 2012 R2和Windows 8.1起就已內建了作業系統相容性。有鑑於此,關於「原生」NVMe支援的公告似乎並不重要,甚至不值得報道,但我們保證,這其中蘊含的意義遠不止表面看起來那麼簡單。
「原生 NVMe」到底是什麼意思?
在早期版本的 Windows 消費者版和伺服器版儲存堆疊中,用於讀寫資料的命令,無論底層硬體採用何種協議,都會轉換為 SCSI 命令。小型電腦系統介面 (SCSI) 標準可追溯至 20 世紀 80 年代初,其設計目的是將週邊設備和儲存磁碟機連接到電腦(儲存網路產業協會,無日期)。它是多種現代儲存協議的基礎,這些協議用於各種工作負載,包括網路連接協議,例如 iSCSI(互聯網小型電腦系統介面)和 FCP(光纖通道協議),以及本地儲存接口,例如 SAS(串行連接 SCSI)和 UASP(USB 連接 SCSI)。
舊方法
透過將不同的協定轉換為 SCSI 命令,微軟在作業系統更高層統一了儲存命令。然而,這也犧牲了現代儲存架構在可擴充性和效能方面的諸多優勢。舊的 I/O 操作路徑如下:
- 讀寫操作在檔案系統層級的上層儲存堆疊中進行。
- 命令會傳遞給 Disk.sys 驅動程式。
- Disk.sys 將通用儲存指令轉換為 SCSI 指令。
- Storport 接收 SCSI 命令並將其傳送給對應的 Miniport 驅動程式(例如,SATA 磁碟機的 StorAHCI.sys)。
- 相應的微型連接埠驅動程式直接與儲存設備通信,並將其再次轉換為適當的儲存命令格式。
其他 SCSI 約定,例如用於識別儲存裝置上資料分割的 LUN(邏輯單元號碼),也被沿用到 Windows 儲存堆疊中,儘管像 NVMe 命名空間這樣的新概念已經存在了相當長一段時間(Hands、Worley 和 Lakhveer Kaur,未註明日期)。
新標準
微軟為 Windows Server 2025 推出的最新儲存架構為 Storport 啟用了新功能,並將 Disk.sys 替換為 NVMeDisk.sys,從而提供了一個可擴展、面向未來、高效能的框架。
- 讀寫操作在檔案系統層級的上層儲存堆疊中進行。
- 指令直接從 NVMeDisk.sys 傳遞到 Storport 中的新 StorMQ 程式碼。
- StorMQ 會為每個讀取和寫入作業產生對應的 NVMe(或其他儲存類型)指令,並將它們直接傳送到硬體本身。
(圖片來自 Scott Lee 於 2025 年 9 月 16 日在 SNIA 開發者大會上的演講)
Windows Server 2025 上的這項全新磁碟機操作標準消除了一層轉換,並與 NVMe、RAID 和 HBA 裝置上的儲存指令佇列完全整合。簡化 Windows 儲存系統還帶來了其他優勢,例如透過消除不必要的儲存命令轉換來降低 CPU 資源佔用,並提高邏輯處理器的使用率。新架構採用了其他 NVMe 規範,例如 NVMe 命名空間和即插即用支援。它允許創建特定於供應商或設備類型的儲存微型連接埠驅動程序,並將其「插入」到 Windows 中,從而提高與新型儲存裝置的相容性和效能(Lee,SNIA SDC 2025 – Windows 上的儲存多佇列,2025)。
準備好測試了嗎?
在2025年9月16日舉行的SNIA開發者大會上,Scott Lee透露,微軟已與供應商緊密合作,為RAID卡和HBA等設備開發新的驅動程式。這表明StorMQ的改進即將到來,或者可能已經在許多儲存裝置上啟用。該功能已於去年12月宣布正式發布,但新的儲存堆疊僅作為選用功能啟用,需要新增註冊表項。您可以閱讀啟用步驟。 微軟關於原生 NVMe 的公告文章.
警告: 錯誤地修改註冊表可能會導致嚴重問題,因此請務必先在非關鍵伺服器上進行測試。一些啟用此功能的用戶報告稱,啟用重複資料刪除功能的 NVMe 驅動器存在問題。雖然微軟即將發布官方修復程序,但您仍需自行承擔風險!
在 Windows Server 2025 上測試原生 NVMe
我們用於評估 Windows Server 2025(作業系統版本 26100.32370)上原生 NVMe 效能的測試平台,採用了一台配備雙 SP5 插槽的伺服器,該伺服器搭載了兩顆 128 核心 AMD EPYC 9754 CPU。除了多核心處理器之外,該伺服器還配備了同樣令人印象深刻的 768GB DDR5 內存,運行頻率為 4800 MT/s。
請注意: 據微軟的 Yash Shekar 稱,Windows Server 2025 已經發布了與原生 NVMe 無關的臨時改進,這可能為非原生儲存堆疊提供了額外的提升,從而減少了結果之間的潛在差異。
為了評估新型儲存堆疊的潛力,我們使用了十五個 30.72 TB Solidigm P5316 NVMe 固態硬碟 採用 PCIe 4.0 和 JBOD 配置。需要注意的是,Solidigm P5316 的間接單元大小為 64 KB,這表示對於較小資料區塊(例如 4K 測試),寫入效能通常會低於預期。考慮到其較大的間接單元,我們運行了 FIO 基準測試,分別測試了隨機 4K、隨機和順序 64K 以及順序 128K 的讀寫性能,以比較不同資料區塊大小下的整體速度。此外,我們也在測試過程中監控了 CPU 使用率,以驗證微軟關於其更高效率的說法。
- 大幅提升了 4K 和 64K 隨機讀取頻寬和 IOPS。
- 降低 4K 和 64K 隨機讀取延遲
- 對於不同區塊大小的順序讀取和寫入操作,CPU 使用率顯著降低。
| 公制 | 隨機 4K | 隨機 64K | 順序 64K | 順序 128K | ||||
|---|---|---|---|---|---|---|---|---|
| 非本地人 | 本地人 | 非本地人 | 本地人 | 非本地人 | 本地人 | 非本地人 | 本地人 | |
| 閱讀 | ||||||||
| 頻寬(GiB/s) | 6.1 | 10.058 | 74.291 | 91.165 | 35.596 | 35.623 | 86.791 | 92.562 |
| IOPS | 1,598,959 | 2,636,516 | 1,217,176 | 1,493,637 | 583,192 | 583,638 | 710,978 | 758,252 |
| 平均延遲(毫秒) | 0.169 | 0.104 | 0.239 | 0.207 | 0.809 | 0.812 | 0.613 | 0.608 |
| CPU 總使用率 (%) | 72.67 | 74.22 | 68.44 | 65.11 | 44.89 | 37.11 | 61.56 | 49.56 |
| 公制 | 隨機 4K | 隨機 64K | 順序 64K | 順序 128K | ||||
|---|---|---|---|---|---|---|---|---|
| 非本地人 | 本地人 | 非本地人 | 本地人 | 非本地人 | 本地人 | 非本地人 | 本地人 | |
| 寫 | ||||||||
| 頻寬(GiB/s) | 1.803 | 1.756 | 7.654 | 7.655 | 44.67 | 50.087 | 50.477 | 50.079 |
| IOPS | 472,725 | 460,383 | 125,391 | 125,406 | 731,859 | 820,603 | 413,495 | 410,232 |
| 平均延遲(毫秒) | 0.992 | 1.028 | 3.814 | 3.816 | 0.399 | 0.558 | 1.022 | 1.149 |
| CPU 總使用率 (%) | 26.00 | 20.67 | 12.22 | 9.33 | 70.44 | 57.78 | 58.44 | 47.33 |
結果分析
首先進行隨機 4K 和 64K 讀取基準測試,我們觀察到讀取速度顯著提升。在隨機 4K 讀取測試中,原生儲存棧和非原生儲存棧之間的速度差距接近 4 GiB/s;在隨機 64K 讀取測試中,速度提升更是接近 16.9 GiB/s。此外,我們也發現順序 128K 讀取操作的效能也有顯著提升,測試結果顯示頻寬提升了約 5.8 GiB/s。
奇怪的是,我們在隨機寫入和順序寫入頻寬測試中都沒有觀察到任何顯著提升,唯一值得注意的差異是 64K 順序寫入速度提升了約 5.4 GiB/s。大多數測試結果彼此相差不到 100 MiB/s,這表明在效能未提升的情況下,新儲存堆疊的效能至少與舊版本保持一致。
由於吞吐量通常與延遲相關,我們也觀察到 4K 和 64K 測試中平均隨機讀取延遲均大幅下降。非原生 4K 隨機讀取延遲下降了 38.46%,從 0.169 毫秒降至 0.104 毫秒。 64K 隨機讀取測試的下降幅度較小,約 13.39%。順序讀取操作的延遲變化不大,但隨機寫入和順序寫入操作的延遲均有所增加,儘管吞吐量相近或更高。
除了隨機讀取速度的提升,我們的 FIO 測試還揭示了一個有趣的趨勢:64K 和 128K 順序讀寫操作的總 CPU 使用率顯著下降。順序寫入測試的降幅最為顯著,64K 順序寫入的 CPU 使用率平均下降了 12.66%,128K 順序寫入的 CPU 使用率也下降了近 11.11%。我們進行的 128K 順序讀取測試也觀察到了 12% 的使用率下降,但 64K 順序讀取的 CPU 使用率僅下降了 7.78%。需要考慮的一個因素是,如果 CPU 速度夠快,某些情況下兩個堆疊都可能達到儲存裝置的全部效能;因此,吞吐量可能不會增加,但 CPU 資源使用率會降低。
投資訊息
啟用新的儲存堆疊後,我們的許多測試結果都存在一定的運行間差異,但我們證實了微軟的許多說法,包括更高的讀取頻寬、更低的延遲以及全面降低的 CPU 使用率。由於這對沿用數十年的 Windows Server 儲存堆疊來說是一次徹底的變革,微軟將在 Windows Server vNext 中率先預設啟用原生 NVMe。幸運的是,使用者可以透過簡單的登錄編輯或群組原則在 Windows Server 2025 上啟用此功能,這使得勇於嘗試的伺服器管理員能夠儘早(在充分了解部署風險的前提下)利用新堆疊的優勢。
我們期待在 Windows Server 平台上預設啟用原生 NVMe,並希望 NVMe SSD、RAID 卡和 HBA 製造商能夠積極參與,將微軟的改進提升到一個新的水平!
參考
Hands, J.、Worley, D. 與 Lakhveer Kaur。 (無日期)。 NVMe 命名空間。檢索日期:2025 年 12 月 30 日,來自 NVM Express: https://nvmexpress.org/resource/nvme-namespaces/
Lee, S. (2025年9月15日)。 SNIA SDC 2025 – Windows 上的儲存多佇列。美國加州聖托馬斯:儲存網路產業協會。檢索日期:2025年12月29日。 https://www.youtube.com/watch?v=dR-DWrmCba0&t
Lee, S. (2025年9月16日)。 Windows上的儲存多佇列:高效能儲存硬體的新堆疊。檢索日期:2025年12月29日,資料來源:SNIA開發者大會。 https://www.snia.org/sites/default/files/2025-10/SNIA-SDC25-Lee-Storage-Multi-Queue-On-Windows.pdf
Shekar, Y. (2025年12月15日)。宣佈在 Windows Server 2025 中引進原生 NVMe:開啟儲存效能新時代。 (微軟) 2025年12月29日取自 Windows Server 新聞與最佳實務: https://techcommunity.microsoft.com/blog/windowsservernewsandbestpractices/announcing-native-nvme-in-windows-server-2025-ushering-in-a-new-era-of-storage-p/4477353
儲存網路產業協會。 (無日期)。什麼是 SCSI?檢索日期:2025 年 12 月 30 日,資料來源:儲存網路產業協會。 https://www.snia.org/education/what-is-scsi




Amazon