Назад | Перейти на главную страницу

Принудительно изменить скорость соединения PCI Express? x2 карта возвращается к ширине x1

В попытке обойти совместимость и ценовые барьеры Чтобы использовать SSD-диски с новыми серверами HP ProLiant Gen8, я работаю над проверкой SSD-накопителей на базе PCIe на платформе. Экспериментирую с интересным продуктом от Другой мир вычислений называется Accelsior E2.

Это базовая конструкция; карта PCIe с RAID-контроллер Marvell 6 Гбит / с SATA и два «лезвия» SSD, подключенных к карте. Их можно передать в ОС для программного RAID (ZFS, например) или в качестве аппаратной полосы RAID0 или зеркальной пары RAID1. Отлично. На самом деле это просто сжатие контроллера и дисков в очень маленький форм-фактор.

Эта проблема:

Посмотрите на этот разъем PCIe. Это PCie x2 интерфейс. Физический Размеры слота / дорожки PCIe обычно x1, x4, x8 и x16, с электрическими соединениями, как правило, x1, x4, x8 и x16. Это хорошо. Я использовал x1 карты в серверах раньше.

Я начал тестировать производительность этой карты на загруженной системе и обнаружил, что скорость чтения / записи снижена до ~ 410 МБ / с, независимо от конфигурации сервера / слота / BIOS. В качестве серверов использовались системы HP ProLiant G6, G7 и Gen8 (Nehalem, Westmere и Sandy Bridge) со слотами x4 и x8 PCIe. Просмотр 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

Это официальный ответ от OWS, теперь еще один ответ, если можно заставить контроллер hp увеличить его до ширины x2, что потребует дополнительных исследований. -)

Я попробовал это снова на немного другой платформе 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-

У меня под рукой есть сервер IBM с картой Broadcom 4 × 1GbE… с 2,0x4 до 2,0x2:

0b:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20) 
Subsystem: IBM Device 03a9 
Capabilities: [ac] Express (v2) Endpoint, MSI 00
LnkCap: Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Latency L0 <2us, L1 <2us 
LnkSta: Speed 5GT/s, Width x2, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

У него был разъем x4, который я угадывать полностью используется только при установке в слот PCIe v1, поэтому кажется, что он согласовывается до x2 при использовании в слоте PCIe v2 (поскольку двунаправленной передачи 5GT / s достаточно для 4 × 1GbE).

Может ли то же самое происходить с вашей картой?

(Если нет, то мой ответ: используйте IBM вместо HP: P)