看板 PC_Shopping作者 yuu123 (yuu)標題 [心得] PCIe Maximum Payload Size與SSD效能問題時間 Mon Jun 28 21:36:49 2021
※ [本文轉錄自 Storage_Zone 看板 #1WsS-g0X ]
看板 Storage_Zone作者 yuu123 (yuu)標題 [心得] PCIe Maximum Payload Size與SSD效能問題時間 Mon Jun 28 21:33:12 2021
網頁好讀版
https://www.ptt.cc/bbs/Storage_Zone/M.1624887210.A.021.html
PTT的標題長度不夠。
老實說我原本想下的題目應該是以下這串。
淺談PCIe Maximun Payload Size大小與SSD效能之間的問題
暨ASUS TUF GAMING X570-PLUS (WIFI)實測與回溯研究
因為整篇廢文很多,所以把一點也不懶人的懶人包直接寫在最前面。
不是摘要
本文研究目的僅在證實PCIe Maximum Payload Size(MPS)對SSD效能之影響,
當系統處於MPS於較低的128 bytes時,會導致SSD的寫入及讀取速度,較256
bytes時有所不足。
就測試結果來看,WD SN750 於MPS: 128 bytes時似乎有天花板限制。
參照網路上其他人的測試,例如PCIe 4.0的SN850或980PRO也有相同的狀況。
深入研究後,發現是由於主機板晶片組所提供之PCIe Maxmium Payload Size
雖然支援到512 bytes,但接在主機板晶片組後方的設備大多為256 bytes,
少部份僅支援128 bytes。
由於主機板晶片組的Maxmium Payload Size協定,會以所有接在晶片組後方的
設備中最低的MPS值為準。故在使用ASUS TUF GAMINMG X570-PLUS (WIFI)這張
主機板時,在一般正常狀態下。
所有接在晶片組後方的裝置,僅能運作於128 bytes。
會導致此問題,是由於主機板上的LAN及WIFI&藍芽裝置,僅支援PCIe Max Payl
oad Size: 128 bytes。故若於BIOS內將LAN, WIFI, Bluetooth之功能關閉之後
。所有接在主機板後方的裝置,皆可運作於PCIe Maxmium Payload Size: 256
bytes。
且由於各家SSD廠商及主控對於PCIe Maximum Payload Size的支援度不同,
各家主機板廠商也從未於產品規格內,說明產品於主機板晶片組的PCIe Maxi
mum Payload Size的值,導致有些消費者購入SSD後效能無法完整發揮。
是故在此拋磚引玉,希望有空能幫忙做測試的熱心鄉民,一起來統計各家產品
的MPS值,以供消費者購入時的參考。
好了寫完了又臭又長的summry之後感覺就開始有點懶了,
所以下面的正文我就隨便打了。
https://i.imgur.com/bmaB9jR.png
一、引言與研究背景
之所以會發現這個不知道該說是Issue還是Problem的東西,
是因為這篇Reddit鄉民的文章:
Fixed Maximum Payload Size. Now I don't have internet.[1]
https://www.reddit.com/r/AverMedia/comments/hoq07g/fixed_maximum_payload_size_now_i_dont_have/
縮網址
https://tinyurl.com/3jb3nzww
拿MPS隨便咕狗之後發現一篇更勁爆的:
SN850 1TB NVME - slow write speeds (3100) on x570 using M2 Chipset slots
(PCH) - confirmed as a problem on MSI, ASRock, Gigabyte and Asus motherboards [4]
https://community.wd.com/t/sn850-1tb-...e-and-asus-motherboards/265038
縮網址
https://tinyurl.com/mwprpdah
整串看完無意識喊出一聲:
晚了!
我不好容易存了一筆錢,買了SN850。
我還得把LAN關掉、還得連WIFI關掉、還得看他喵MPS的臉色。
那我不成了跪著要飯的嗎?
https://i.imgur.com/6el2X6b.png
你要這麼說,買SSD測分數,還真就是跪著要飯的。
就這,多少人想跑3100以上還沒這個門子呢。
速度嘛,跑分,插直通!
不過網路文章畢竟是網路文章。
而消費級的直通通道真他喵少,
所以看起來只能驗證一下MPS與SSD效能之間的關系了。
口說無憑,就實際來開測吧。
二、PCIe Maxmium Payload Size
首先去下載HWiNFO64,來查看裝置的Maxmium Payload Size數值。
網站在此:
https://www.hwinfo.com/download/
按Run進去之後,在Bus欄位可以找到主機板的PCIe通道分配與連接方式。
順便附一下AMD X570晶片組的PCIe通道規畫
https://i.imgur.com/P1jttQY.jpg
以本次測試標的,華碩 TUF X570-PLUS (WIFI)來說,
可以看到第一條M.2 是CPU直通通道,
是穩穩的支援PCIe 4.0 x4,
以及Support Maxmium Payload Size: 512 bytes.
https://i.imgur.com/5QkEIC5.png
可以看到X570晶片組本身,也支援Maximum Payload Size: 512 bytes.
https://i.imgur.com/9aX7GU9.png
註:因為
Maxmium Payload Size(MPS)打起來實在是有點長,
所以本文以後的段落皆使用縮寫
MPS。
只是因為插在M.1_1上頭的,是有點年紀的Plextor M9PEG。
僅支援128bytes,所以只能跑MPS: 128bytes.
https://i.imgur.com/XrIxt7x.png
再接著看接在X570晶片組後方的設備,
首先是也是本文的重點
M.2_2,
在HWiNFO 顯示出的PCIe裝置,
是 "AMD 500-Series Chipset - PCIe GPP Bridge"
雖然支援MPS:512 bytes,但不意外地跑MPS: 128bytes。
https://i.imgur.com/G1Aokuv.png
可以看到SN750雖然支援MPS:512 bytes,
但運作模式被限制在128 bytes。
https://i.imgur.com/QFRoVcb.png
由於PCIe的設計原理,是在所有同通道內的裝置,
共用同一組MPS的數值,以最低的裝置為限。
因此所有接在主機板晶片組,以此例是接在X570後方的裝置,
其MPS值以連接裝置中最低的值為主。
所以就來找找所有接在X570後方的裝置,哪些是128bytes的。
可以看到與無線網卡連接的PCIe通道,是支援MPS: 256 bytes的。
https://i.imgur.com/DyKjjyB.png
但Intel AC 9260 僅支援MPS: 128bytes
https://i.imgur.com/c1fEoYK.png
有線網卡的狀況也是類似,PCIe通道本身支援MPS: 256bytes.
https://i.imgur.com/q9dg6Cx.png
但RTL8168_8111 僅支援MPS: 128bytes.
https://i.imgur.com/tHlDLsr.png
X570連接USB3的PCIe通道,也支援MPS: 256bytes,
運作速度被限制在128bytes.
https://i.imgur.com/qTj7N3a.png
兩個USB3的控制器都一樣狀態
https://i.imgur.com/hVV1oK6.png
接著來看SATA部份
AMD Internal PCIe GPP Bridge 支援MPS: 512bytes
https://i.imgur.com/P9bEbt0.png
AMD FCH SATA AHCI Controller 支援MPS: 256bytes
運作速度被限制在128bytes
https://i.imgur.com/lyit6r6.png
另一條AMD Internal PCIe GPP Bridge 的狀態也一樣
AMD Internal PCIe GPP Bridge 支援MPS: 512bytes
https://i.imgur.com/Jf2f0vo.png
AMD FCH SATA AHCI Controller 支援MPS: 256bytes
但運作速度被限制在128bytes
https://i.imgur.com/wQGO6NZ.png
所以在此可以得到一個結果:
由於LAN:RTL8168_8111 以及
WIFI:Intel AC 9260都僅支援MPS: 128bytes。
所以
實驗的變因,
就是將這兩個裝置的功能開啟或關閉。
看看是否能將所有接在X570晶片組後方的裝置,
MPS皆恢復成256bytes。
三、實驗結果
進BIOS將LAN、WIFI跟Bluetooh都關閉之後,
馬上可以看到X570晶片組的MPS,運作於256bytes。
https://i.imgur.com/2Uoc7ox.png
證實了Intel的說法[5]
也可以看到SN750終於運作於MPS: 256bytes。
https://i.imgur.com/u8Ay1Uf.png
接著來看USB3的部份,
關閉網卡功能後 AMD USB3 XHCI Controller
運作於MPS: 256bytes。
https://i.imgur.com/K9i1pOL.png
SATA的部份,
AMD FCH SATA AHCI Controller 運作於MPS: 256bytes
https://i.imgur.com/6Nc6AUr.png
已確認所有接在X570晶片組後方的裝置,
都處於Maximum Payload Size: 256 bytes之後,
來開測CDM快樂表:
CDM 8.0.1 SN750 運作於MPS: 256bytes
https://i.imgur.com/5WgsoS5.png
作為對比,SN750 1TB CDM 8.0.1 運作於MPS: 128bytes
https://i.imgur.com/3i5EaU0.png
四、結論
CDM比較結果
https://i.imgur.com/Yf7sTND.png
可以看到循序讀取終於突破3100的大關,符合WD原廠標示的數值。
無論是大檔還是4K小檔,所有效能皆往上提升。
在去年的測試中,我一直以為是我測試環境不乾淨的關系。
reference:
https://www.ptt.cc/bbs/PC_Shopping/M.1601213630.A.A5E.html
沒想到是PCIe Maximum Payload Size的問題。
所以如果要發揮SN750的實力,建議插在CPU直通通道的M.2_1,
跑滿速的MPS: 512bytes。
或是購買接在晶片組後方的裝置,皆是MPS: 256bytes的主機板。
不過我有點懷疑符合這項條件的主機板有多少?
因為主機板廠商沒有任何一家有標示關於MPS的這部份,
另外一點也是本篇文章的遺珠之憾,無法證實在SN850 980PRO
這類效能更高的PCIe 4.0 SSD,是否如文章所說有相同的狀況。
是故在此拋磚引玉,
希望如果有空能幫忙做測試的熱心鄉民,一起來統計各家產品
的MPS值,最好附上SSD的HWiNFO MPS狀態抓圖。
以供廣大消費者購入主機板時的參考。
以上。
參考文獻:
1. Fixed Maximum Payload Size. Now I don't have internet.
https://www.reddit.com/r/AverMedia/comments/hoq07g/fixed_maximum_payload_size_now_i_dont_have/
https://tinyurl.com/3jb3nzww
2. Live Gamer 4K (GC573) not Operating at 256 bytes for Max Payload Size
https://www.reddit.com/r/AverMedia/comments/g5mmhp/live_gamer_4k_gc573_not_operating_at_256_bytes/
https://tinyurl.com/2usrurem
3. BEWARE: If you have a internal WIFI card it may be limiting your Live
Gamer 4K's bandwidth.
https://www.reddit.com/r/AverMedia/co..._internal_wifi_card_it_may_be/
https://tinyurl.com/8v8tducd
4. SN850 1TB NVME - slow write speeds (3100) on x570 using M2 Chipset slots
(PCH) - confirmed as a problem on MSI, ASRock, Gigabyte and Asus motherboards
https://community.wd.com/t/sn850-1tb...e-and-asus-motherboards/265038
https://tinyurl.com/mwprpdah
5. Why does the IP compiler for PCI Express not support Max Payload Size
(MPS) up to 4096 bytes as specified in the PCIe Specification?
https://www.intel.com/content/www/us/.../solutions/rd08222011_674.html
https://tinyurl.com/wzwaamvp
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.80.47 (臺灣)
※ 文章代碼(AID): #1WsS-g0X (Storage_Zone)
※ 文章網址: https://www.ptt.cc/bbs/Storage_Zone/M.1624887210.A.021.html
※ 編輯: yuu123 (114.36.80.47 臺灣), 06/28/2021 21:36:31
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: yuu123 (114.36.80.47 臺灣), 06/28/2021 21:36:49
推 yys310: 認真推 似乎也解釋了之前貼的SN850於X570通道時的降速問題1F 140.114.18.242 台灣 06/28 21:44
推 kaj1983: 推實測,清清楚楚,好文讚!3F 218.173.142.252 台灣 06/28 21:53
推 willy4907: 推 認真4F 27.52.196.215 台灣 06/28 21:54
推 xleacigma: 我們自己做的時候確實會切MPS驗一驗如果是單純看主控性能會有差
但把MB/CPU 各種哩哩扣扣算進來後..5F 111.250.130.191 台灣 06/28 21:54
推 kaj1983: 好奇這問題可以靠bios更新解決嗎?8F 218.173.142.252 台灣 06/28 21:55
→ yuu123: 像WD論壇那個原PO,真的有夠慘...回樓樓上 就我的理解 應該無法9F 114.36.80.47 台灣 06/28 21:55
→ yuu123: 因為MPS的值與接在晶片組後面的裝置有關,除非原本那些跑128bytes的設備,真的能改成用256bytes跑
不然肯定無法解決...
但我覺得裝置可以跑哪種MPS
應該是在設計階段就固定好的
所以我才會說... 晚了!
只能在買的時候避開這些產品12F 114.36.80.47 台灣 06/28 22:03
推 Saren: 長知識了20F 59.126.56.1 台灣 06/28 22:06
推 kaj1983: 如果是PCIE本身設計的問題,那有共用通道的必然會降速了21F 218.173.142.252 台灣 06/28 22:08
推 hcwang1126: 就像你買新的4800 ram 客家混插了260023F 1.169.20.29 台灣 06/28 22:11
→ yuu123: 沒錯 這個舉例最接近實際狀況25F 114.36.80.47 台灣 06/28 22:12
→ hcwang1126: 只不過這是版廠選料時沒在管的結果吧26F 1.169.20.29 台灣 06/28 22:12
→ yuu123: 對啊 所以才導致WD論壇那個苦主出現28F 114.36.80.47 台灣 06/28 22:13
推 C13H16ClNO: 看來我買SN550就好了XD29F 36.227.167.22 台灣 06/28 22:13
→ hcwang1126: 甚至我懷疑高級板子 也會出這種低級錯30F 1.169.20.29 台灣 06/28 22:14
推 kaj1983: 非CPU直連的都買便宜貨就對了XD32F 218.173.142.252 台灣 06/28 22:14
推 MrDisgrace: 推!!沒注意過這個問題 !!33F 220.132.83.205 台灣 06/28 22:14
→ hcwang1126: 因為marketing 和hw 都是選大家都在用的
你我都一樣 出事就一起擔
啊 這個也不算什麼 不會搞到要回收客戶不知道 就沒奇蒙子問題34F 1.169.20.29 台灣 06/28 22:15
→ yuu123: 你這是直通的M2_1啊41F 114.36.80.47 台灣 06/28 22:25
推 CYL1983: 實測推!看來遊戲還是CPU直通那條買容量大點跟系統一起裝省事42F 114.136.179.153 台灣 06/28 22:26
推 kaj1983: 系統碟裝在共用通道上就好啦,需要時常讀寫的還是插直連那槽44F 218.173.142.252 台灣 06/28 22:27
推 smallreader: 感謝詳究及解說!46F 114.27.28.102 台灣 06/28 22:30
推 Saber0217: 我的第三張圖 有另外兩張NVME SSD47F 114.42.61.141 台灣 06/28 22:34
→ yuu123: 喔喔 讚啦~ 這樣X570F +148F 114.36.80.47 台灣 06/28 22:36
推 roc074: 看來X570F應該沒啥問題,不知道B55049F 140.138.176.148 台灣 06/28 22:36
→ roc074: 會不會被限制住...51F 140.138.176.148 台灣 06/28 22:36
→ Saber0217: NVME x2和SATA
看來版上先前都說X570F和TUF電供
一樣 但魔鬼藏細節裡
表面上只看到網卡有差(螃蟹/I網)
但用料或設計上還是有點差別52F 114.42.61.141 台灣 06/28 22:36
→ roc074: 該來拍「板廠沒有說der秘密」s2惹57F 140.138.176.148 台灣 06/28 22:38
推 smallreader: 查到我的intel AX200也是128bit58F 114.27.28.102 台灣 06/28 22:39
推 C13H16ClNO: 自己的CPU不支援直連
所以只裝一張便宜NVME跟一張SATA就算了對吧59F 36.227.167.22 台灣 06/28 22:40
→ roc074: 最近想組B550+980PRO,這問題...
如果有的話心理會很阿砸,但如果不說我想我大概還是快快樂樂的使用。62F 140.138.176.148 台灣 06/28 22:40
→ yuu123: 如果去測跑分的話就看得出來
像WD論壇那位苦主 效能剩一半
而且苦主是買MSI的頂板Godlike喔~65F 114.36.80.47 台灣 06/28 22:42
→ smallreader: I211AT LAN可支援512bit68F 114.27.28.102 台灣 06/28 22:46
→ avaricious: 推一下 有研究精神69F 61.231.17.227 台灣 06/28 22:47
推 winiel559: cool! push70F 180.218.0.148 台灣 06/28 22:48
推 ab4daa: 推71F 125.231.168.91 台灣 06/28 22:49
推 SPDY: 無線網路卡有支援256 bytes以上嗎?連AX201也這樣的話 還有什麼選擇呀76F 1.171.91.171 台灣 06/28 22:55
→ M8XAZaqE: 原來X570上行原生有PCIe 4.0 x8嗎78F 106.107.179.124 台灣 06/28 22:56
→ yuu123: 回樓上 有喔 只是AMD只開x4給你用回樓樓上 看起來好像沒得選了
有內建Wifi的板子可能全中標79F 114.36.80.47 台灣 06/28 22:57
推 ttping: 推認真文82F 223.138.98.53 台灣 06/28 22:58
→ yys310: PCIe不是16切給顯卡 4給直連m.2 4給X570?83F 140.114.18.242 台灣 06/28 23:00
→ SPDY: M.2可拆的話 還存有未來升級的可能85F 1.171.91.171 台灣 06/28 23:00
推 roc074: 要避開內建Wifi模組的板子了嗎XD86F 140.138.176.148 台灣 06/28 23:01
→ Holysml: 通常PCIe Ether/Wifi都是128B87F 192.19.228.250 美國 06/28 23:09
--