PCIe lane allocation and organization
PCIe lane allocation and organization
I find myself in an unusual scenario. I have ample PCIe lanes available for my needs. However, I still can't utilize my graphics card at its full capacity. The issue stems from having two PCIe SSDs—one Intel 900P and another Intel 905P—both offering four drives. Placing them in the standard 16x or 8x lane slots on my motherboard forces my system to reserve all eight lanes, even though only four are required. This results in wasting eight lanes that could have supported my GPU. I really wish Motherboard manufacturers would offer more flexibility, allowing me to restrict certain slots to four lanes and keep another at sixteen. The traces are present, but it seems the BIOS needs adjustments to resolve this. Edited March 6, 2023 by Kuruderu
the two x16 slots typically share 16 lanes, while the remaining ones serve different purposes. it would be extremely costly to assign lanes freely, making it unnecessary to fill the board with PLX chips and cover all slots. this leads to a focus on the most frequently used configurations, which is why nearly every motherboard now has similar slot arrangements.
It would be useful to understand which motherboard you were talking about for managing PCIe lanes. Generally speaking, on typical consumer systems with 16 standard PCIe lanes available from the CPU, the logic is clear: lane numbers must follow powers of two. A device can receive 1, 2, 4, 8, or 16 lanes depending on its needs. While some advanced setups might support more, such as 24 lanes in certain servers, that’s rare rather than common. If you have two PCIe slots with switches, the second slot will automatically take all available lanes from the first—even if only a single lane is needed for a peripheral like an add-in card. You can’t selectively pull one lane from the GPU and direct it to the second slot. Switching between chipset and CPU lanes would allow more flexible assignments, but it would also be costly due to the price of PCIe switches and the complexity of routing. On boards with split PCIe ports, all 16 lanes are shared, so you can’t achieve x16 or x4 configurations without additional hardware.
My board is a ROG Crosshair VIII Dark Hero. The listed PCIe specifications are: CPU: 2 x PCIe 4.0 x16 (x16 or dual x8), 2 x PCIe 3.0 x16 (x16 or dual x8), 1 x PCIe 3.0 x16 (x8 mode), AMD X570 chipset, 1 x PCIe 4.0 x16, and 1 x PCIe 4.0 x1. My CPU is a 5950X which can handle 24 PCIe lanes independently. Updated March 6, 2023 by Kuruderu
It focuses on specific configurations rather than general details. The design limits certain lanes to particular components, affecting performance and cost. Only a few users would even notice minor changes, while those who do are likely already familiar with similar setups. The mentioned CPU lane allocations apply only to specific processor families, not a universal feature. The board also needs additional PCIe switches beyond what’s currently available.
I understand completely that the existing hardware can't meet my requirements. I was just curious about whether it would be possible for board makers to add such features to their premium options. Perhaps it could become a real extra benefit.
that is the point. allocating lanes isnt some voodoo magic, things need to be routed to places to make that happen, there need to be high speed busswitches, signal integrity of lanes going all over the place.. essentially board design nightmare. by the time you're investing ALL that work into designing a board for some niche feature you may as well invest in some PLX chips, because that ends up in a more versatile product that's easier to manufacture, which offsets a LOT of the cost of the PLX chips. so - the reason you cant, like i said, is because what you're asking is more difficult (and because of that most likely more expensive) than the more high end solution. even a PLX chip that gives you 4 propper x16 slots (or 8 x8, or 16 x4.. etc or any combination thereof) isnt *that* expensive that it would make financial sense sense to instead design a spaghetti of bus logic to route lanes where the user wants them to be.
There are high-end boards offering greater adaptability. They're known as Threadripper Pro and EPYC. While they don't meet your expectations as others have demonstrated, they provide the freedom you need. The current market already has sufficient differentiation.
Retail Threadripper Pro are tough to find. Epyc might be too much for a regular desktop, but it does offer some of what I need.