Neuverhandlung der PCI Express-Verbindungsgeschwindigkeit erzwingen? x2-Karte wird auf x1-Breite zurückgesetzt

15

Um Kompatibilitäts- und Kostenbarrieren bei der Verwendung von SSD-Laufwerken mit neueren HP ProLiant Gen8-Servern zu umgehen , arbeite ich daran, PCIe-basierte SSDs auf der Plattform zu validieren. Ich habe mit einem interessanten Produkt von Other World Computing namens Accelsior E2 experimentiert .

Bildbeschreibung hier eingeben

Dies ist ein grundlegendes Design. eine PCIe-Karte mit einem Marvell 6-Gbit / s-SATA-RAID-Controller und zwei an die Karte angeschlossenen SSD-Blades. Diese können für Software-RAID ( z. B. ZFS ) an das Betriebssystem übergeben oder als Hardware-RAID0-Stripe oder gespiegeltes RAID1-Paar genutzt werden. Raffiniert. Es ist wirklich nur das Komprimieren eines Controllers und von Festplatten in einen wirklich kleinen Formfaktor.

Das Problem:

Sehen Sie sich diesen PCIe-Anschluss an. Das ist eine PCie x2- Schnittstelle. Die physischen PCIe-Steckplatz- / Lane-Größen sind in der Regel x1, x4, x8 und x16 , wobei die elektrischen Verbindungen in der Regel x1, x4, x8 und x16 sind. Das ist gut. Ich habe vorher x1-Karten in Servern verwendet.

Ich habe mit dem Testen der Leistung dieser Karte auf einem hochgefahrenen System begonnen und festgestellt, dass die Lese- / Schreibgeschwindigkeit unabhängig von der Server- / Steckplatz- / BIOS-Konfiguration auf ~ 410 MB / s gedrosselt wurde. Die verwendeten Server waren HP ProLiant G6-, G7- und Gen8-Systeme (Nehalem, Westmere und Sandy Bridge) mit x4- und x8-PCIe-Steckplätzen. Ein Blick auf das BIOS der Karte hat ergeben, dass das Gerät Folgendes ausgehandelt hat: PCIe 2.0 5.0Gbps x1- Es wird also nur eine PCIe-Lane anstelle von zwei verwendet, sodass nur die Hälfte der angegebenen Bandbreite verfügbar ist.

Gibt es eine Möglichkeit, ein PCIe-Gerät zu einer anderen Geschwindigkeit zu zwingen?

Meine Nachforschungen zeigen, dass PCIe x2 eine merkwürdige Spurbreite ist ... Der PCI Express-Standard erfordert anscheinend keine Kompatibilität mit x2-Spurbreiten , daher gehe ich davon aus, dass die Controller auf meinen Servern auf x1 zurückfallen Ich habe Rückgriff?


Verkürzte lspci -vvvAusgabe. Beachten Sie den Unterschied zwischen den Zeilen LnkStaund 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
quelle
Ich gehe davon aus, dass Sie die Karte in einen x4-Steckplatz stecken, oder? Auf jeden Fall bin ich mir nicht sicher, wie der HP mit der x2-Karte umgehen wird. In einem x4-Steckplatz sollten beide Bahnen verwendet werden können. Wie Sie bereits erwähnt haben, kann jedoch nicht garantiert werden, dass beide Bahnen verwendet werden müssen. Abgesehen davon bin ich mir nicht sicher, wie hoch die Leistung sein kann, da die 6-Gbit / s-SATA im Allgemeinen immer noch auf maximal 4,8 Gbit / s begrenzt ist, wobei der Codierungsaufwand für eine einzelne PCIe-Lane einen Durchsatz aufweist max von 5 gbs.
Rex
@Rex " x4- und x8-PCIe-Steckplätze" wurden ausprobiert. Die Karte verfügt über zwei diskrete 6-Gbit / s-SATA-SSDs, sodass eine einmalige Geschwindigkeitssteigerung möglich ist, wenn PCIe x2 ausgehandelt wird.
Ewwhite
Ah .. habe die x4 / x8-Steckplätze in der Frage verpasst, aber Sie sagen "PCIe-Karte mit einem Marvell 6-Gbit / s-SATA-RAID-Controller", was bedeutet, dass ein einzelner Controller vorhanden ist :) Wenn zwei separate Controller vorhanden sind, ist jede SSD mit einem eigenen Controller verbunden? Wie kann es dann Hardware-RAID auf den beiden verschiedenen Controllern durchführen?
Rex
@Rex An einen Controller sind zwei SSDs angeschlossen. Ein 6-Gbit / s-RAID-Controller hat eine Bandbreite von 6 Gbit / s pro SAS / SATA-Lane.
ewwhite
Die PCIe-Spezifikation erfordert, dass Steckplätze nur 1x unterstützen. Wenn eine Karte eingelegt ist, fragt der Host sie nach der Spurunterstützung ab, und unabhängig von der höchsten Zweierpotenz, die von beiden unterstützt wird (also 1x, 2x, 4x, 8x, 16x oder 32x). Außerdem kann jede Lane auf einem Endpunkt (Host oder Karte) die anfängliche Aushandlung unterstützen, in der Regel jedoch nur die erste Lane (wenn zusätzliche Lanes die Aushandlung unterstützen, kann der Steckplatz durch Verwendung eines Splitters mehr als eine Karte einstecken) ). Wie unten erwähnt, unterstützen die betreffenden Server den 2x-Lane-Modus nicht.
Chris S

Antworten:

6

Das ist die offizielle Antwort von OWS, nun eine andere Antwort, wenn es möglich ist, den HP Controller zu zwingen, ihn auf die doppelte Breite zu bringen, was weitere Nachforschungen erfordert. -)

Bildbeschreibung hier eingeben

Danila Ladner
quelle
Aber die Karte ist im Moment in einem G6 ProLiant -Manufacturer: HP Product Name: ProLiant DL180 G6
ewwhite
Richtig, wahrscheinlich haben alle Proliant DL-PCI-Controller Probleme mit der Karte.
Danila Ladner
Schau dich an, geh zur Quelle !!
ewwhite
Auch auf Gen7, Gen8 für ersten Steckplatz pcie Riser immer 1x erhalten: 1 PCIe 2.0 X1 X4 Hälfte Länge / volle Höhe von hier: h18000.www1.hp.com/products/quickspecs/14339_na/14339_na.pdf Ich nehme an, Sie versucht , verschiedene Slots.
Danila Ladner
2

Ich habe es erneut auf einer etwas anderen HP Plattform versucht, dem 2U HP ProLiant DL380p Gen8 im Vergleich zum 1U DL360p Gen8. Ich habe mit dieser Kombination von Hardware die richtigen Ergebnisse erhalten .

Dank der aktuellen Firmware für den Gen8-Host können die PCIe-Verbindungen nun mit der richtigen Geschwindigkeit ausgehandelt werden. Diese Geräte sind also mit ProLiant DL380p Gen8-Servern kompatibel.

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
quelle
0

Ich habe einen IBM-Server mit einer Broadcom 4 × 1GbE-Karte zur Hand… ausgehandelt von 2.0x4 auf 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-

Es hatte einen x4-Anschluss, von dem ich vermute, dass er nur dann voll genutzt wird, wenn er in einen PCIe v1-Steckplatz gesteckt wird. Es scheint also, dass er in einem PCIe v2-Steckplatz auf x2 zurückgeht (da 5GT / s bidirektional für 4 × 1GbE ausreicht) ).

Könnte dasselbe mit Ihrer Karte passieren?

(Wenn nicht, lautet meine Antwort: Verwenden Sie IBM anstelle von HP: P)

MikeyB
quelle
1
Nein IBM !!! Niemals;)
ewwhite