Forza la rinegoziazione della velocità del collegamento PCI Express? La scheda x2 torna alla larghezza x1


15

Nel tentativo di eludere la compatibilità e le barriere di costo all'uso delle unità SSD con i nuovi server HP ProLiant Gen8, sto lavorando per convalidare gli SSD basati su PCIe sulla piattaforma. Ho sperimentato un prodotto interessante di Other World Computing chiamato Accelsior E2 .

inserisci qui la descrizione dell'immagine

Questo è un design di base; una scheda PCIe con un controller RAID SATA Marvell da 6 Gbps e due "blade" SSD collegati alla scheda. Questi possono essere passati al sistema operativo per il software RAID ( ZFS , ad esempio) o sfruttati come una striscia RAID0 hardware o una coppia con mirroring RAID1. Nifty. Sta davvero comprimendo un controller e i dischi in un fattore di forma davvero piccolo.

Il problema:

Guarda quel connettore PCIe. Questa è un'interfaccia PCie x2 . Le dimensioni dello slot / corsia PCIe fisiche sono in genere x1, x4, x8 e x16 , con connessioni elettriche generalmente x1, x4, x8 e x16. Va bene. Ho usato x1 carte nei server prima.

Ho iniziato a testare le prestazioni di questa scheda su un sistema avviato e ho scoperto che le velocità di lettura / scrittura erano limitate a ~ 410 MB / s, indipendentemente dalla configurazione del server / slot / BIOS. I server in uso erano sistemi HP ProLiant G6, G7 e Gen8 (Nehalem, Westmere e Sandy Bridge) con slot PCIe x4 e x8. Guardando il BIOS della scheda è emerso che il dispositivo ha negoziato: PCIe 2.0 5.0Gbps x1- Quindi utilizza solo una corsia PCIe anziché due, quindi è disponibile solo metà della larghezza di banda pubblicizzata.

Esiste un modo per forzare un dispositivo PCIe a funzionare a una velocità diversa?

La mia ricerca mostra che PCIe x2 ha un po 'di larghezza di corsia strana ... Lo standard PCI Express apparentemente non richiede compatibilità con larghezze di corsia x2 , quindi suppongo che i controller sui miei server stiano tornando a x1 ... Do Ho qualche ricorso?


lspci -vvvUscita abbreviata . Nota la differenza tra le linee LnkStae 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

Suppongo che stai inserendo la scheda in uno slot x4, giusto? In ogni caso, non sono sicuro di come HP gestirà la scheda x2. In uno slot x4, dovrebbe essere in grado di utilizzare entrambe le corsie ma, come hai detto, non è garantito che debba usarlo. Detto questo, non sono sicuro di quanto possa essere un dosso delle prestazioni, dato che il SATA da 6 gb è ancora generalmente visto come limitato a un massimo di 4,8 gb / s con l'overhead di codifica con una singola corsia PCIe con un throughput max di 5 gbs.
Rex,

Sono stati provati @Rex "slot PCIe x4 e x8" . La scheda dispone di due SSD SATA a 6 Gbps discreti integrati, quindi è disponibile un bump di velocità una volta / se viene negoziato PCIe x2.
ewwhite,

Ah .. mancavano gli slot x4 / x8 nella domanda, ma dici "Scheda PCIe con un controller RAID SATA Marvell 6Gbps" che implica un singolo controller :) Se ha due controller discreti, ogni SSD è collegato al proprio controller? Quindi come può fare l'hardware RAID attraverso i due diversi controller?
Rex,

@Rex Esistono due SSD collegati a un controller. Un controller RAID da 6 Gbps ha una larghezza di banda di 6 Gbps per corsia SAS / SATA.
ewwhite,

Le specifiche PCIe non richiedono che gli slot supportino nulla tranne 1x. Quando viene inserita una carta, l'host lo richiede per il supporto di corsia e qualunque sia la massima potenza di due che entrambi i supporti vengono utilizzati (quindi 1x, 2x, 4x, 8x, 16x o 32x). Inoltre, ogni corsia su un endpoint (host o carta) può supportare la negoziazione iniziale, ma in genere funziona solo la prima corsia (quando corsie aggiuntive supportano la negoziazione lo slot sarà in grado di biforcarsi, collegando più di una carta attraverso l'uso di uno splitter ). Come indicato di seguito, i server in questione non supportano la modalità a 2 corsie.
Chris S,

Risposte:


6

Questa è la risposta ufficiale di OWS, ora un'altra risposta se è possibile forzare il controller HP a portarlo a una larghezza di x2, che richiederà ulteriori ricerche. -)

inserisci qui la descrizione dell'immagine


Ma la scheda è in un G6 ProLiant al momento -Manufacturer: HP Product Name: ProLiant DL180 G6
ewwhite

Bene, probabilmente tutti i controller Proliant DL pci avranno problemi con la scheda.
Danila Ladner,

Guardati, vai alla fonte !!
ewwhite,

Anche su Gen7, Gen8 per il primo slot su riser per pcie otterrà sempre 1x: 1 PCIe 2.0 X1 X4 Half Length / Full Height da qui: h18000.www1.hp.com/products/quickspecs/14339_na/14339_na.pdf Suppongo che tu abbia provato slot diversi.
Danila Ladner,

2

Ho provato di nuovo su una piattaforma HP leggermente diversa, la 2U HP ProLiant DL380p Gen8 contro la 1U DL360p Gen8. Ho ricevuto i risultati corretti utilizzando questa combinazione di hardware.

L'attuale firmware host Gen8 ora consente ai collegamenti PCIe di negoziare alle velocità appropriate, quindi questi dispositivi SONO compatibili con i server 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-

0

Ho a portata di mano un server IBM con una scheda Broadcom 4 × 1GbE ... negoziata da 2.0x4 a 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-

Aveva un connettore x4 che suppongo sia completamente utilizzato solo quando inserito in uno slot PCIe v1, quindi sembra che stia negoziando fino a x2 quando utilizzato in uno slot PCIe v2 (poiché 5GT / s bidirezionale è sufficiente per 4 × 1GbE ).

Potrebbe succedere la stessa cosa con la tua carta?

(In caso contrario, la mia risposta è: utilizzare IBM invece di HP: P)


1
No IBM !!! Mai;)
ewwhite
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.