Windows的“掉盤”BUG,為何會演變成了“霸凌”

Windows的“掉盤”BUG,為何會演變成了“霸凌”

文章圖片

Windows的“掉盤”BUG,為何會演變成了“霸凌”

文章圖片

Windows的“掉盤”BUG,為何會演變成了“霸凌”

文章圖片

Windows的“掉盤”BUG,為何會演變成了“霸凌”

文章圖片


關注PC行業的朋友可能都知道 , 前段時間微軟的Windows更新又“捅了個大簍子” 。

具體來說 , 這個名為KB5063878的更新在安裝后 , 可能會導致部分特定型號的SSD在執行長時間、大數據量的連續寫入(據稱約為50GB以上)后 , 突然變得無法訪問 。 也就是俗稱的“掉盤” 。

很顯然 , 這是微軟的程序員又整了一次爛活 。 但如果去更深入地去探究這件事就會發現 , 它的“輿論影響”并不是用戶眾口一詞地怒噴程序員 , 而是變成了一個有點意思的“兩極分化”局面 。
在一些大眾媒體、非技術向的內容中 , 許多讀者是怒噴微軟技術退步 , 近年來系統功能研發“不做人” 。
【Windows的“掉盤”BUG,為何會演變成了“霸凌”】
但與此同時 , 在一些技術向的社交媒體賬號以及平臺上 , 其實還能看到另一種聲音 , 那就是微軟的這個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用戶的“霸凌” , 似乎也就并不讓人感到奇怪了 。
【本文圖片來自網絡】

    推薦閱讀