時間:2018-05-30 來源:互聯網 瀏覽量:
由於硬件不兼容,前段時間大量使用英特爾600p固態硬盤的用戶在升級到最新Windows 10 1803春季更新的時候遇上麻煩,死機、電腦無法啟動。不過在坑了英特爾的同時,微軟默默的造福了更多其他品牌NVMe固態硬盤用戶!
根據PCEVA的測試發現,本次1803更新中微軟解除了自帶NVMe驅動程序stornvme的強製FUA(Force Unit Access)模式,開放寫入緩存給普通NVMe固態硬盤。這將使眾多沒有提供廠商專用NVMe驅動的固態硬盤品牌從性能表現上獲益,譬如浦科特。
在Windows 10 1803之前,所有版本的Windows係統自帶NVMe驅動都對沒有掉電保護的NVMe固態硬盤強製開啟FUA模式,限製寫入性能以換取數據相對安全。FUA最早問世於SCSI協議,後來被加入到SATA與NVMe協議中。但實際上Windows並沒有針對SATA硬盤啟用FUA,所以隻有NVMe固態硬盤的性能受到了限製。
啟用FUA之後,每一條寫入指令都必須等到數據實際寫入到閃存內之後才能繼續執行,相當於Write Through,這種情況下硬盤的寫入緩存無法起到加速作用,運行效率極端低下。表現在AS SSD Benchmark(1.9以前的版本)測試成績上就是4K寫入性能嚴重偏低。
過去要解決跑分偏低的問題,除了寄望於廠商能夠提供專用NVMe驅動解除限製之外,隻有冒著更高斷電數據丟失風險手動禁用寫入緩衝區刷新。
2.0版本的AS SSD Benchmark雖然從跑分上修複了這個問題,實際則是掩耳盜鈴繞過了係統限製,普通應用依然會受製約。而現在微軟終於在最新版本的Windows 10中解除了強製FUA限製,對於大眾玩家來說無疑是一個福音。下圖左側為1709版默認設置下AS SSD Benchmark 1.7測試,右側為1803版默認設置下AS SSD Benchmark 1.7測試,均使用各自係統所帶的默認stornvme驅動程序。
雖然FUA限製解除,但這並不意味著NVMe固態硬盤就變得不安全,寫入緩衝區定時刷新機製依然能夠保障DRAM緩存內數據及時寫入到閃存內。家用條件下用flush指令定時成批刷新緩衝區,要比FUA模式下一筆筆寫入請求單獨確認的效率要更高。