Hardware

強制重新協商 PCI Express 連結速度?x2 卡恢復為 x1 寬度

  • December 15, 2014

為了規避將 SSD 驅動器與較新的 HP ProLiant Gen8 伺服器一起使用的兼容性和成本障礙,我正在努力在平台上驗證基於 PCIe 的 SSD。我一直在嘗試來自Other World Computing的一個有趣的產品,稱為Accelsior E2

在此處輸入圖像描述

這是一個基本設計;帶有Marvell 6Gbps SATA RAID 控制器的 PCIe 卡和連接到該卡的兩個 SSD“刀片”。這些可以傳遞給軟體 RAID(例如ZFS)的作業系統,或者用作硬體 RAID0 條帶或 RAID1 鏡像對。漂亮。它實際上只是將控制器和磁碟壓縮成一個非常小的外形尺寸。

問題:

看看那個 PCIe 連接器。那是一個PCie x2介面。物理PCIe 插槽/通道大小通常為x1、x4、x8 和 x16,電氣連接通常為 x1、x4、x8 和 x16。沒關係。我以前在伺服器中使用過x1 卡

我開始在啟動的系統上測試這張卡的性能,發現無論伺服器/插槽/BIOS 配置如何,讀/寫速度都被限制在 ~410 MB/s。使用的伺服器是帶有 x4 和 x8 PCIe 插槽的 HP ProLiant G6、G7 和 Gen8(Nehalem、Westmere 和 Sandy Bridge)系統。查看卡的 BIOS 顯示設備協商:PCIe 2.0 5.0Gbps x1- 所以它只使用一個 PCIe 通道而不是兩個,因此只有廣告頻寬的一半可用。

有什麼方法可以強制 PCIe 設備以不同的速度執行?

我的研究表明,PCIe x2 的通道寬度有點奇怪…… PCI Express 標準顯然不需要與 x2 通道寬度兼容,所以我的猜測是我伺服器上的控制器正在回退到 x1……我有什麼辦法嗎?


縮寫lspci -vvv輸出。LnkSta注意和LnkCap行之間的區別。

05:00.0 SATA controller: Marvell Technology Group Ltd. Device 9230 (rev 10) (prog-if 01 [AHCI 1.0])
       Subsystem: Marvell Technology Group Ltd. Device 9230
       Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
       Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
               DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
               LnkCap: Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Latency L0 <512ns, L1 <64us
                       ClockPM- Surprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
               LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
       Kernel driver in use: ahci
       Kernel modules: ahci

我在稍微不同的 HP 平台上再次嘗試了此操作,即 2U HP ProLiant DL380p Gen8 與 1U DL360p Gen8。使用這種硬體組合,我收到了正確的結果。

目前的 Gen8 主機韌體現在允許 PCIe 鏈路以適當的速度進行協商,因此這些設備與 ProLiant DL380p Gen8 伺服器兼容。

Speed 5GT/s, Width x2, ASPM L0s L1, Latency L0 <512ns, L1 <64us
LnkSta: Speed 5GT/s, Width x2, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

這是 OWS 的官方答案,如果可以強制 hp 控制器將其提高到 x2 寬度,現在是另一個答案,這需要更多的研究。-)

在此處輸入圖像描述

引用自:https://serverfault.com/questions/556265