[心得] PCIe Maximum Payload Size與SSD效能問題

PC購物

54470


作者: yuu123 (yuu) 看板: Storage_Zone
標題: [心得] 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-nvme-slow-write-speeds-3100-on-x570-using-m2-chipset-slots-pch-confirmed-as-a-problem-on-msi-asrock-gigabyte-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/comments/hop1qq/beware_if_you_have_a_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-nvme-slow-write-speeds-3100-on-x570-using-m2-chipset-slots-pch-confirmed-as-a-problem-on-msi-asrock-gigabyte-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/en/programmable/support/support-resources/knowledge-base/solutions/rd08222011_674.html
https://tinyurl.com/wzwaamvp

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.80.47 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1624887410.A.C2A.html
yys3101樓認真推 似乎也解釋了之前貼的SN850 06/28 21:44
yys3102樓於X570通道時的降速問題 06/28 21:45
kaj19833樓推實測,清清楚楚,好文讚! 06/28 21:53
willy49074樓推 認真 06/28 21:54
xleacigma5樓我們自己做的時候確實會切MPS驗一驗 06/28 21:54
xleacigma6樓如果是單純看主控性能會有差 06/28 21:55
xleacigma7樓但把MB/CPU 各種哩哩扣扣算進來後.. 06/28 21:55
kaj19838樓好奇這問題可以靠bios更新解決嗎? 06/28 21:55
本人9樓像WD論壇那個原PO,真的有夠慘... 06/28 21:55
本人10樓回樓樓上 就我的理解 應該無法 06/28 21:57
ZhouGongJin11樓實測給推 06/28 21:58
本人12樓因為MPS的值與接在晶片組後面的裝置 06/28 22:03
本人13樓有關,除非原本那些跑128bytes的設 06/28 22:03
本人14樓備,真的能改成用256bytes跑 06/28 22:03
本人15樓不然肯定無法解決... 06/28 22:03
本人16樓但我覺得裝置可以跑哪種MPS 06/28 22:04
本人17樓應該是在設計階段就固定好的 06/28 22:04
本人18樓所以我才會說... 晚了! 06/28 22:04
本人19樓只能在買的時候避開這些產品 06/28 22:04
Saren20樓長知識了 06/28 22:06
kaj198321樓如果是PCIE本身設計的問題,那有共 06/28 22:08
kaj198322樓用通道的必然會降速了 06/28 22:08
hcwang112623樓就像你買新的4800 ram 客家混插了26 06/28 22:11
hcwang112624樓00 06/28 22:11
本人25樓沒錯 這個舉例最接近實際狀況 06/28 22:12
hcwang112626樓只不過這是版廠選料時沒在管的結果 06/28 22:12
hcwang112627樓 06/28 22:12
本人28樓對啊 所以才導致WD論壇那個苦主出現 06/28 22:13
C13H16ClNO29樓看來我買SN550就好了XD 06/28 22:13
hcwang112630樓甚至我懷疑高級板子 也會出這種低級 06/28 22:14
更多心得
[心得] 映泰官方蝦皮店 A520MH 新台幣2塊錢
[心得] HP售後服務及聯強保固 修28天心得
[心得] 小心PCHome商品來源影響保固 (更新結果)
[心得] 美光記憶體保固經驗分享 (捷元代理)
[心得] 聯強保固 海盜船送修 降級
[心得] EVGA RTX 3060 12G 排到
[心得] SSUPD Meshlicious 90度 DP線選擇
[心得] INTEL LGA1200 ITX主機板快速選購指南