普通视图

微软操作系统在2025年12月才开始支持NVMe协议

2026年1月4日 21:23

垃圾微软又一次成功的刷新了我对其垃圾程度的认知。


技术简介

首先为不了解技术名词和技术原理的朋友简单讲一下。

传统的存储设备中,机械硬盘都是靠电机+磁头的方式工作,光驱也是靠相似结构的电机+激光头工作。这就意味着这种类型的设备在同一时间内只可能完成一个查询请求(CRUD,增删查改),不存在并发查询的可能性。

img_BV1iT4y1k7G7-1

(希捷 Exos X18 18TB氦气硬盘开盖结构)

img_BV1U8411s7Mh-1

(希捷双磁臂硬盘工作方式)

img_BV1iT4y1k7G7-2

(希捷双磁臂近照)

图片来自:

而对应的存储设备的 接口/传输协议:SATA,是专门为这些存储设备设计的,也仅支持单并发。

(因本人目前能查到的SAS接口的技术详情有限,本文不讨论SAS接口)

  • 2003年的SATA 1.0 版本原始带宽为 1.5Gbps,传输速率约 150MB/s
  • 2004年的SATA 2.0 版本则翻倍,原始带宽为 3Gbps,传输速率约 300MB/s
  • 2009年的SATA 3.0 版本则继续翻倍,原始带宽为 6Gbps,传输速率约 600MB/s

而2025年,机械硬盘最高的持续传输速率大概也只到 300MB/s 左右。

img_sata_hdds

(3.5寸机械硬盘和2.5寸机械硬盘的接口。注意,短的那个才是SATA接口,长的那个是电源接口)

img_SATA_ports

(SATA数据线和SATA插座)

固态硬盘开始普及后,一开始固态硬盘使用和2.5寸机械硬盘相同的硬件外观,使用标准SATA接口。体积太大!没那个必要。后来开始用mSATA协议,体积缩小,但是仍然受限于SATA的单并发查询限制。行业新定义了m.2接口,更小。同时定义了新的传输规范 NVMe,其支持固态存储的并行查询能力,理论上一次支持最多64000个并发查询。其他优点我在这里就不讲了。

img_MSATA_SSD_vs._2.5__SATA_drive

(2.5寸SATA接口硬盘 与 mSATA接口硬盘)

img_M2_and_mSATA_SSDs

(mSATA固态硬盘(左) 与 m.2固态硬盘(右))

注意:m.2 接口同时有 SATA 版本和 NVMe 版本,SATA 版本是走 SATA 协议的,仅支持单并发查询。所以正常人都在你买固态的时候,推荐你买 m.2 接口走 NVMe 协议的固态。SATA 接口的固态主要还是为了供给那些只有SATA接口的老电脑和老存储服务器使用,m.2 接口走 SATA 协议的版本同样也只是为了迁就过渡时期有 m.2 接口却不支持NVMe协议的旧主板。至于奸商的歪理邪说我就不提了。(固态硬盘的成本都在颗粒上,协议和接口对价格没太大影响)

小总结

讲到这里其实就已经很清晰了。

  • 给机械硬盘设计的 SATA 协议不支持并发查询
  • 给固态硬盘设计的 NVMe 协议支持并发查询

用支持 NVMe 的固态硬盘就对了。(除非旧电脑没有硬件条件)


垃圾微软

NVMe 协议比 SATA 协议性能好,这本身就是个很简单也很容易理解的道理。

然后傻逼的微软就开始搞笑了。

NVMe 协议开始于 2011 年,大约在 2015 年前后,包括 ChromeOS 和 iOS 在内的多数操作系统都添加了对 NVMe 的原生支持。而 Linux 更是早早的在 2012年就已经在内核中添加了对 NVMe 的支持。

而2025年12月份,微软才正式官方支持 NVMe 协议,而在这之前,微软的所有操作系统是 把 NVMe设备 当作 SCSI设备 处理的

也就是说:微软操作系统(包括最新版的Win11,以及服务器版的 Windows Server 2025)都不支持 NVMe 协议。插上去的支持 NVMe 的固态硬盘被当作旧 SCSI 协议的机械硬盘一样对待。(来源:微软官方,链接使用了 文本片段(Text Fragment) 功能以通过 URL 高亮特定的文本,但微软官网会清除对应的高亮,垃圾微软)

screenshot_on_b85m_by_flameshot_at_2026-01-04_20-52-52

screenshot_on_b85m_by_flameshot_at_2026-01-04_20-51-54

说实话,虽然只有东亚国家和俄罗斯会使用 黑色方框示亡号,但是看到 Microsoft 上带个黑框,感觉微软也早就死了

个人猜测:理论上NVMe协议可以让固态硬盘直连CPU,在延迟性能上要比需要经过SATA控制器的SATA硬盘好得多。但由于微软的废物逻辑,由操作系统产生的硬盘操作指令是SCSI指令,还要再由CPU翻译成NVMe指令,其延迟性能可能比有原生SATA支持且有单独处理芯片的SATA性能还差。

也就是说你的 Windows系统 的 电脑/服务器,固态硬盘插 m.2接口 还是插 SATA接口,走 NVMe协议 还是 SATA协议,性能都是一样烂的。


其他补充

关于SAS

虽然研究不够深,但是对于泛用于企业级硬盘的SAS接口,情况相同:

SAS(Serial Attached SCSI)同样仅支持单队列,与SATA情况相同,只不过其队列深度比SATA要高。

关于AHCI

其实我没太搞明白AHCI和SATA之间的关系。

 

如果你有更全面的参考资料的话,可以分享。


参考资料


结论

垃圾微软!

The post 微软操作系统在2025年12月才开始支持NVMe协议 first appeared on 石樱灯笼博客.
❌