Paksakan negosiasi ulang kecepatan tautan PCI Express? kartu x2 kembali ke lebar x1

15

Dalam upaya untuk menghindari kompatibilitas dan hambatan biaya untuk menggunakan drive SSD dengan server HP ProLiant Gen8 yang lebih baru, saya bekerja untuk memvalidasi SSD berbasis PCIe pada platform. Saya telah bereksperimen dengan produk yang menarik dari Other World Computing yang disebut Accelsior E2 .

masukkan deskripsi gambar di sini

Ini adalah desain dasar; kartu PCIe dengan kontroler SATAl Marvell 6Gbps SATA dan dua "pisau" SSD yang terhubung ke kartu. Ini dapat diteruskan ke OS untuk RAID perangkat lunak ( ZFS , misalnya) atau dimanfaatkan sebagai perangkat keras RAID0 stripe atau pasangan cermin RAID1. Bagus. Ini benar-benar hanya memadatkan controller dan disk menjadi faktor bentuk yang sangat kecil.

Masalah:

Lihatlah konektor PCIe itu. Itu antarmuka PCie x2 . Ukuran slot / jalur PCIe fisik biasanya x1, x4, x8 dan x16 , dengan koneksi listrik biasanya x1, x4, x8 dan x16. Tidak apa-apa. Saya telah menggunakan kartu x1 di server sebelumnya.

Saya mulai menguji kinerja kartu ini pada sistem yang di-boot dan menemukan bahwa kecepatan baca / tulis di mana mencekik hingga ~ 410 MB / s, terlepas dari konfigurasi server / slot / BIOS. Server yang digunakan adalah sistem HP ProLiant G6, G7 dan Gen8 (Nehalem, Westmere dan Sandy Bridge) dengan slot PCIe x4 dan x8. Melihat BIOS kartu menunjukkan bahwa perangkat dinegosiasikan: PCIe 2.0 5.0Gbps x1- Jadi itu hanya menggunakan satu jalur PCIe, bukan dua, sehingga hanya setengah bandwidth yang diiklankan tersedia.

Apakah ada cara untuk memaksa perangkat PCIe untuk berjalan pada kecepatan yang berbeda?

Penelitian saya menunjukkan bahwa PCIe x2 sedikit lebar lajur yang aneh ... Standar PCI Express tampaknya tidak memerlukan kompatibilitas dengan lebar lajur x2 , jadi tebakan saya adalah bahwa pengontrol di server saya turun kembali ke x1 ... Lakukan Saya punya jalan lain?


lspci -vvvOutput singkat . Perhatikan perbedaan antara garis LnkStadan 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
putih
sumber
Saya berasumsi Anda memasukkan kartu ke slot x4, kan? Bagaimanapun, saya tidak yakin bagaimana HP akan menangani kartu x2. Dalam slot x4, ia harus dapat menggunakan kedua jalur, tetapi, seperti yang Anda sebutkan, tidak ada jaminan bahwa ia harus menggunakannya. Semua yang dikatakan, saya tidak yakin berapa banyak tonjolan kinerja yang mungkin Anda lihat sebagai SATA 6GB masih secara umum dipandang dibatasi hingga maksimum 4,8 gb / s dengan overhead pengkodean dengan jalur PCIe tunggal yang memiliki throughput maks. 5gb.
Rex
@Rex "slot PCIe x4 dan x8" telah dicoba. Kartu ini memiliki dua SSD SATA 6Gbps diskrit onboard, jadi ada speed bump yang tersedia sekali / jika PCIe x2 dinegosiasikan.
ewwhite
Ah .. merindukan x4 / slot x8 dalam pertanyaan, tetapi Anda mengatakan "kartu PCIe dengan sebuah Marvell 6Gbps SATA RAID controller" menyiratkan pengontrol tunggal :) Jika memiliki dua kontroler diskrit, yang masing-masing SSD terhubung ke itu kontroler sendiri? Lalu bagaimana ia bisa melakukan hardware RAID melintasi dua pengendali yang berbeda?
Rex
@Rex Ada dua SSD yang terhubung ke satu pengontrol. Pengontrol RAID 6Gbps memiliki bandwidth 6Gbps per jalur SAS / SATA.
ewwhite
Spesifikasi PCIe tidak mengharuskan slot mendukung apa pun kecuali 1x. Ketika sebuah kartu dimasukkan, host menanyakannya untuk dukungan jalur, dan berapa pun kekuatan tertinggi dari kedua dukungan yang digunakan (jadi 1x, 2x, 4x, 8x, 16x, atau 32x). Juga, setiap jalur pada titik akhir (host atau kartu) dapat mendukung negosiasi awal, tetapi biasanya hanya jalur pertama yang melakukannya (ketika jalur tambahan mendukung negosiasi, slot akan dapat bifurkasi, menyambungkan lebih dari satu kartu melalui penggunaan splitter ). Seperti disebutkan di bawah, server yang dipermasalahkan tidak mendukung mode jalur 2x.
Chris S

Jawaban:

6

Itulah jawaban resmi dari OWS, sekarang jawaban lain jika memungkinkan untuk memaksa pengontrol hp hingga lebar x2, yang akan memerlukan penelitian lebih lanjut. -)

masukkan deskripsi gambar di sini

Danila Ladner
sumber
Tapi kartunya dalam G6 ProLiant saat ini -Manufacturer: HP Product Name: ProLiant DL180 G6
ewwhite
Benar, kemungkinan semua pengontrol DL pci Proliant akan mengalami masalah dengan kartu.
Danila Ladner
Lihat dirimu, pergi ke sumbernya !!
ewwhite
Juga di Gen7, Gen8 untuk slot pertama pada riser PCie akan selalu mendapatkan 1x: 1 PCIe 2.0 X1 X4 Setengah Panjang / Tinggi Penuh dari sini: h18000.www1.hp.com/products/quickspecs/14339_na/14339_na.pdf Saya berasumsi Anda sudah mencoba slot yang berbeda.
Danila Ladner
2

Saya mencoba ini lagi pada platform HP yang sedikit berbeda, 2U HP ProLiant DL380p Gen8 versus 1U DL360p Gen8. Saya menerima hasil yang tepat menggunakan kombinasi perangkat keras ini.

Firmware host Gen8 saat ini memungkinkan tautan PCIe untuk bernegosiasi pada kecepatan yang tepat, sehingga perangkat ini kompatibel dengan 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-
putih
sumber
0

Saya memiliki server IBM dengan kartu Broadcom 4 × 1GbE di dalamnya… dinegosiasikan dari 2.0x4 ke 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-

Ini memiliki konektor x4 yang aku menebak hanya sepenuhnya digunakan ketika dimasukkan ke slot PCIe v1, sehingga tampaknya bahwa itu negosiasi ke x2 bila digunakan dalam slot PCIe v2 (sejak 5GT / s dua arah cukup untuk 4 × 1GbE ).

Mungkinkah hal yang sama terjadi pada kartu Anda?

(Jika tidak, jawaban saya adalah: gunakan IBM, bukan HP: P)

MikeyB
sumber
1
Tidak ada IBM !!! Never;)
ewwhite