web-dev-qa-db-ja.com

PCI Expressリンク速度の再ネゴシエーションを強制しますか? x2カードがx1幅に戻る

新しいHP ProLiant Gen8サーバーでSSDドライブを使用する 互換性とコストの障壁 を回避するために、プラットフォームでPCIeベースのSSDの検証に取り組んでいます。私は Other World Computing から Accelsior E2 と呼ばれる興味深い製品を実験しています。

enter image description here

これは基本的なデザインです。 Marvell 6Gbps SATA RAIDコントローラー およびカードに接続された2つのSSD「ブレード」を備えたPCIeカード。これらは、ソフトウェアRAID( [〜#〜] zfs [〜#〜] など)のOSにパススルーするか、ハードウェア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-そのため、2つではなく1つの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
15
ewwhite

これを少し異なる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-
2
ewwhite

これがOWSの公式回答です。hpコントローラーを強制的にx2幅まで上げることができる場合は、もう1つ回答が必要です。さらに調査が必要です。 -)

enter image description here

6
Danila Ladner

Broadcom 4×1GbEカードを搭載したIBMサーバーを手元に置いています。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には双方向で十分です)。

あなたのカードでも同じことが起こりますか?

(そうでない場合、私の答えは:HPの代わりにIBMを使用する:P)

0
MikeyB