关注 PC 行业的朋友可能都知道,前段时间微软的 Windows 更新又 " 捅了个大篓子 "。
具体来说,这个名为 KB5063878 的更新在安装后,可能会导致部分特定型号的 SSD 在执行长时间、大数据量的连续写入(据称约为 50GB 以上)后,突然变得无法访问。也就是俗称的 " 掉盘 "。
很显然,这是微软的程序员又整了一次烂活。但如果去更深入地去探究这件事就会发现,它的 " 舆论影响 " 并不是用户众口一词地怒喷程序员,而是变成了一个有点意思的 " 两极分化 " 局面。
在一些大众媒体、非技术向的内容中,许多读者是怒喷微软技术退步,近年来系统功能研发 " 不做人 "。
但与此同时,在一些技术向的社交媒体账号以及平台上,其实还能看到另一种声音,那就是微软的这个 BUG 虽然坏,但也让部分劣质产品 " 现了原型 ",那些受到影响的用户并不能被认为是倒霉,反而应该是为自己贪便宜的行为付出了代价。
虽然这样的观点很刺耳,但既然出现了便不得不让我们有所思考,这到底是怎么一回事呢?
根据目前网传的一些技术社区逆向工程结果显示,KB5063878 补丁的 BUG 源自于修改了 Windows 默认 NVMe 驱动(即 StorNVMe)对主机内存缓冲(HMB)技术的管理机制。所以在安装了这个有问题的补丁后,如果一次写入过大的数据量,系统就可能无法正确回收已经完成 IO 请求的内存,并最终导致内存溢出。在内存溢出后,系统为了确保 " 稳定性 " 会强制关闭出错的进程,结果就会导致 HMB 缓存丢失。此时 SSD 主控会判断 " 缓存崩溃 ",并自我锁死,进入保护状态(即掉盘)。
由于上面这段文字非常枯燥,所以我们将它的三个关键点总结了出来。
第一,出问题的是系统默认的 NVMe 驱动,所以如果使用的是自带第三方 NVMe 驱动的 SSD 则不受影响。而自带 NVMe 驱动的 SSD 通常是自研主控的高端型号,常见依赖第三方通路主控的低端 SSD 通常不会提供自己的 NVMe 驱动,而是使用系统默认驱动。
其次,出问题的具体机制是 HMB 功能,但该功能一般只有 " 无缓存 SSD" 才会严重依赖 HMB 的缓存机制。市面上无缓存 SSD 价格通常要比有缓存的型号便宜许多,且无缓 SSD 使用的闪存品质普遍更差、原生写入速度就更低,所以更容易触发这个 BUG 出现。
第三,只有持续大量写入数据后,才有可能触发这个缓存溢出被错误清除、从而导致 " 掉盘 " 的 BUG。通常这个场景会出现在大体量游戏、AI 大模型的下载和安装过程中,一般的轻量使用并不太会出现如此大的持续写入数据量。
明白了以上这三点,其实也就不难理解,为什么在微软这次的 " 掉盘 BUG" 发生后,会有部分用户表现出 " 幸灾乐祸 " 的态度,甚至指责出问题的人是 " 自找 " 了。
毕竟 " 懂行 " 的 PC 玩家会说,无缓 SSD 就是 " 大坑 ",里面寿命短、性能差的产品本就不少,所以买这样的 SSD 来打游戏或跑其他高负载任务就是 " 纯纯作死 "。微软的这个 BUG 只不过是加速了这个过程,所以根子上还是用户自己的问题。
但这样的观点,真的就合理吗?
一方面大家要知道,就算无缓存、通路主控、QLC 闪存的 SSD,那也是正经行业技术标准允许的 " 合格产品 "。它们可能寿命比高端 SSD 短上好几倍,也可能会在长时间使用后 " 掉速 " 严重,但这不并等于它们的 " 暴毙 " 就是合理的、理所当然的。更不等于原本能正常使用(虽然性能可能很差)的产品,在被微软的 BUG 搞坏后,还要被扣上 " 原形毕露 " 这样的帽子。
另一方面,倒也不是完全不能理解这部分 " 发烧友 " 对此事 " 冷嘲热讽 " 背后的动机。Ta 们或许未必就是要借此 " 炫耀 ",而更像是对部分不愿意尊重技术规律,却自我感觉爆棚的用户 " 发泄不满 "。
毕竟随着 PC 的普及、再加上智能手机的兴起,确实有越来越多诸如 " 不会解压缩 "、" 不会安装 Steam"、"exe 为啥在手机上用不了 " 之类的段子出现。在这样的情况下,当一个突如其来的 "Windows BUG" 主要可能会影响到的对象,是仅限于公认 " 廉价、低质量 " 的硬件时,随之会演变成 " 高玩 " 群体对部分 PC 用户的 " 霸凌 ",似乎也就并不让人感到奇怪了。
【本文图片来自网络】
登录后才可以发布评论哦
打开小程序可以发布评论哦