强制重新协商 PCI Express 链接速度?x2 卡恢复为 x1 宽度

eww*_*ite 15 hardware ssd hp pci-express hp-proliant

为了规避在较新的 HP ProLiant Gen8 服务器上使用 SSD 驱动器的兼容性和成本障碍,我正在努力验证平台上基于 PCIe 的 SSD。我一直在试验来自Other World Computing 的一个有趣的产品,称为Accelsior E2

在此处输入图片说明

这是一个基本的设计;带有Marvell 6Gbps SATA RAID 控制器和连接到卡的两个 SSD“刀片”的 PCIe卡。这些可以传递到操作系统的软件 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输出。注意LnkStaLnkCap线之间的区别。

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
Run Code Online (Sandbox Code Playgroud)

Dan*_*ner 6

这是 OWS 的官方答案,如果可以强制 hp 控制器将其增加到 x2 宽度,现在是另一个答案,这将需要更多的研究。-)

在此处输入图片说明


eww*_*ite 3

我在稍微不同的 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-
Run Code Online (Sandbox Code Playgroud)