趁著颱風天來跟各位先進請教這個問題,現在很多 PC 的主機板都有提供 M.2 的插槽,
以 ASUS Z170 Pro Gaming 為例,有提供一個 SATA/PCIe 的 M.2,
http://imgur.com/UsPFcbf
其中如果是設定成 PCIe 模式,可以提供 PCIe 3.0 x4 的通道頻寬 (32 Gbps),
http://imgur.com/A9w2hQL
那小弟想請問,這個 PCIe 3.0 x4,是由 CPU 提供的,還是由 PCH 提供的?
比方說 Core i7-6700K 這顆 CPU,它可以提供 16 個 PCIe 3.0 的通道,
http://imgur.com/d3i9OFN
而主機板上的 Z170 晶片組也有提供 20 個 PCIe 3.0 的通道,
http://imgur.com/IDs87mv
小弟針對這個問題,有先去蒐集一些資料,例如這張主機板的使用手冊有提到,
SATA Express 與 M.2 的 SATA 信號是共用的,
當 M.2 設定為 SATA 模式時,SATA Express 就只能安裝 PCIe 介面的裝置,
當 SATA Express 設定為 SATA 模式時,M.2 就只能安裝 PCIe 介面的裝置,
而 SATA Express 的 PCIe 信號是來自 PCH,所以 M.2 也應該是來自 PCH,
http://imgur.com/ujxtO1u
另外在 Z97 時期,PCH 只有提供到 PCIe 2.0 的通道,
那時的 M.2 也都只支援 PCIe 2.0 x2 的頻寬 (10Gbps),
所以小弟認為應該足以說明 M.2 的 PCIe 信號來源是 PCH。
但是伺服器裡面的 NVMe,其實頗類似桌上型的 M.2,
也是透過數條 PCIe 通道去存取快閃儲存裝置,企圖解決 AHCI 控制器頻寬瓶頸,
但是 NVMe 的 PCIe 通道就全是來自於 CPU 上,
整台伺服器可支援的 NVMe SSD 顆數,跟安裝的 CPU 顆數有關,
比方說這台 supermicro 的伺服器 1028U-TN10RT+:
https://www.supermicro.com.tw/products/system/1U/1028/SYS-1028U-TN10RT_.cfm
這台可以支援 10 個 NVMe,而其中 6 個是來自 CPU1,4 個是來自 CPU2
http://imgur.com/3LxGNE6
所以看起來伺服器 NVMe 與 PC M.2 的 PCIe 信號來源是不一樣的,
不知道小弟這樣的推論有無正確?謝謝