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

15

Стремясь обойти совместимость и ценовые барьеры для использования SSD-дисков с новыми серверами HP ProLiant Gen8, я работаю над проверкой SSD на основе PCIe на платформе. Я экспериментировал с интересным продуктом из Other World Computing под названием Accelsior E2 .

введите описание изображения здесь

Это базовый дизайн; карта PCIe с контроллером SATA RAID Marvell 6 Гбит / с и двумя « блейдами» 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) с разъемами PCIe x4 и x8. Изучение 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
ewwhite
источник
Я предполагаю, что вы кладете карту в слот x4, верно? В любом случае, я не уверен, как HP будет обращаться с картой x2. В слоте x4 он должен иметь возможность использовать обе линии, но, как вы упомянули, нет никаких гарантий, что он должен его использовать. Несмотря на все сказанное, я не уверен, какой прирост производительности вы можете увидеть, поскольку SATA 6 Гбит все еще рассматривается как ограниченный максимум 4,8 Гбит / с при накладных расходах на кодирование с одной полосой PCIe, имеющей пропускную способность. максимум 5 ГБс.
Рекс
@Rex "x4 и x8 слоты PCIe" были опробованы. На плате есть два дискретных 6 Гбит / с SATA SSD, так что есть ограничение скорости, доступное один раз / при согласовании PCIe x2.
13
Ах .. пропустил x4 x8 слотов в вопросе /, но вы говорите «PCIe карты с в контроллер Marvell 6Gbps SATA RAID» , подразумевая , один контроллер :) Если он имеет два дискретных контроллеров, является каждый SSD подключен к его собственный контроллер? Тогда как он может сделать аппаратный RAID на двух разных контроллерах?
Рекс
@Rex Два SSD подключены к одному контроллеру. RAID-контроллер 6 Гбит / с имеет пропускную способность 6 Гбит / с на линию SAS / SATA.
13
Спецификация PCIe не требует, чтобы слоты поддерживали что-либо, кроме 1x. Когда карта вставлена, хост запрашивает ее о поддержке полосы, и независимо от того, используется ли наибольшая степень двух, которую поддерживают обе (например, 1x, 2x, 4x, 8x, 16x или 32x). Кроме того, каждая полоса на конечной точке (хост или карта) может поддерживать начальное согласование, но обычно только первая полоса поддерживает (когда дополнительные полосы поддерживают согласование, слот будет способен раздваиваться, подключая более одной карты через использование сплиттера. ). Как отмечено ниже, рассматриваемые серверы не поддерживают режим 2x Lane.
Крис С

Ответы:

6

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

введите описание изображения здесь

Данила Ладнер
источник
Но на данный момент карта находится в G6 ProLiantManufacturer: HP Product Name: ProLiant DL180 G6
13
Правильно, вероятно, все контроллеры Proliant DL pci будут иметь проблемы с картой.
Данила Ладнер
Посмотри на себя, иду к источнику !!
Ewwhite
Также на Gen7 Gen8 для первого слота на pcie Riser всегда получит 1x: 1 PCIe 2.0 X1 X4 половинной длины / полной высоты отсюда: h18000.www1.hp.com/products/quickspecs/14339_na/14339_na.pdf Я полагаю, вы пытались разные слоты.
Данила Ладнер
2

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

У меня под рукой есть сервер 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, поэтому кажется, что при использовании в слоте PCIe v2 он понижается до x2 (поскольку двунаправленной скорости 5GT / s достаточно для 4 × 1GbE ).

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

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

MikeyB
источник
1
Нет IBM !!! Никогда;)
ewwhite