PCIe Lanes explained
An introduction
PCI Express, PCIe, or Peripheral Component Interconnect Express, can be a somewhat complicated computer specification. When your computer first boots, PCIe is what determines the devices that are attached or plugged into the motherboard. It identifies the links between each device, creates a traffic map, and negotiates the width of each link. This identification of devices and connections uses the same protocol as PCI, so no changes were required when changing from PCI to PCIe in either software or operating systems.
A PCIe connection consists of one or more (up to sixteen, at the moment) data-transmission lanes, connected serially. Each lane consists of two pairs of wires, one for transmitting and one for receiving. There are 1, 4, 8 or 16 lanes in a single PCIe slot – denoted as x1, x4, x8, or x16. This is the difference between PCI connections which are parallel (32-bit or 64-bit bidirectional parallel bus) and PCIe which is basically a serial version of PCI.
If you need a portable computer with expansion slots – see ‘portable computers with expansion slots‘.
`
How do PCIe Lanes work?
PCIe is a multi-layered protocol – the layers being a transaction layer, a data link layer, and a physical layer. The Data-link layer is sub-divided to include a media access control (MAC) layer. Each lane consists of two unidirectional differential pairsoperating at 2.5, 5, 8 or 16 Gbit/s, depending on the negotiated capabilities. While on the other hand, transmit and receive are separate differential pairs, adding up to a total of four data wires per lane.
Each lane is an independent connection between the PCI controller of the processor chip-set (Southbridge) or the processor itself (which is almost always the graphics card slot) and the expansion card. Bandwidth scales linearly, so a four-lane connection will have twice the bandwidth of a two-lane connection. Depending on the expansion card’s bandwidth requirements, the slot may need to be sized accordingly.
A physical PCIe x16 slot can accommodate a x1, x4, x8, or x16 card, and can run a x16 card at x16, x8, x4, or x1. A PCIe x8 slot can accommodate a x1 or x4 or x8 card but cannot fit a x16 card. Just to confuse the matter further, there are different versions of PCIe interface. It’s also possible that a motherboard may have multiple slot sizes and also different PCIe versions: 1.0a, 1.1, 2.0, 2.1, 3.0, 3.1, 4.0 and coming soon 5.0. (Link to https://en.wikipedia.org/wiki/PCI_Express#PCI_Express_5.0)
BUS & Theoretical Bandwidth Available
BUS | Bandwidth |
PCI | 1056 MBps |
AGP 8x | 2.1 GBps |
PCIe 1.0 / x4 | 1 GBps |
PCIe 1.0 / x8 | 2 GBps |
PCIe 1.0 / x16 | 4 GBps |
PCIe 2.0 / x4 | 2 GBps |
PCIe 2.0 / x8 | 4 GBps |
PCIe 2.0 / x16 | 8 GBps |
PCIe 3.0 / x1 | 1.97 GBps |
PCIe 3.0 / x4 | 3.94 GBps |
PCIe 3.0 / x8 | 7.88 GBps |
PCIe 3.0 / x16 | 15.75 GBps |
PCIe 4.0 / x1 | 3.94 GBps |
PCIe 4.0 / x4 | 7.88 GBps |
PCIe 4.0 / x8 | 15.75 GBps |
PCIe 4.0 / x16 | 31.5 GBps |
PCIe 5.0 / x16
Firewire 400/800 |
63 GBps
400/800 Mbps |
USB 1.0 | 12 Mbps |
USB 2.0 | 480 Mbps |
USB 3.0 | 4.8 Gbps |
USB 3.1 | 10 Gbps |
Gigabit Ethernet | 1 Gbps |
IDE (ATA 100) | 800 MBps |
IDE (ATA 133) | 1064 MBps |
SATA | 1.5 Gbps |
SATA II | 3 Gbps |
SATA III | 6 Gbps |
Why do PCIe Lanes matter?
Functions your CPU’s PCIe Lanes Control:
- Onboard Video
- PCIe 3.0 x16 Slot (usually for video card)
- 2/U.2 (on some Enthusiast Boards)
- LAN (on some Enthusiast Boards)
Other functions use your CHIPSET’s PCIe bus lanes. Functions CHIPSET’s PCIe Lanes control may control:
- SATA hard drives
- Onboard Sound
- Onboard RAID
- Onboard Network Controller/LAN
- All PCIe slots except the first one
- Thunderbolt
- 2/U.2
Quoted amounts of PCIe bandwidth required by individual components:
- 8-16 Lanes – x16 PCIe Video Cards (Each)
- 8-16 Lanes – Other Specialized PCIe Cards
- 4 Lanes – M.2 Drive
- 4 Lanes – Thunderbolt (uses 4 lanes PCIe 3.0)
- 4 Lanes – Hardware Based RAID Controllers
- 2 Lanes (Each) – SSD Drives
- 2 Lanes – USB 3.1 (Gen. 2)
- 1 Lane – USB 3.0 (USB 3.1 Gen. 1)
- 1 Lane – Sound
- 1 Lane – Network Controllers
Which chips have the most PCIe lanes?
Different chips support different numbers of PCIe lanes. For example: Intel Core i5 or i7-8700K or i9-8950HK have up to 1×16, 2×8, 1×8+2×4 with a maximum of 16 PCIe lanes. In addition, the 6850K and up i7’s have 40 lanes. The Intel Xeon E5-4669 v4 has a maximum of 40 PCIe lanes at PCIe 3.0, whereas the E7-8894 v4 has ‘only’ 32 lanes (per processor). AMD has upped the ante with their EPYC CPU’s – they have 128 PCIe lanes 3.0.
In the tech industry today, what makes this really complicated is that motherboard manufacturers have to make their motherboards support a range of processors which may have different numbers of PCIe lanes supported. So a motherboard using an i7-6850K chip may have the capability to address multiple slots at x16, whereas with a ‘lesser’ chip ie. i7-8700K may be fewer lanes available, with only one slot being x16. Just to complicate things further, NVME and other types of expansions require PCIe lanes. With NVME being a must-have feature for a modern motherboard, there are now even fewer lanes available to the expansion slots.
Working out how to get the most out of a motherboard in terms of application performance becomes even harder when you need to choose how to connect to the real world. PCIe lane allocation can make or break the performance of high-speed boards like RAID controllers when they are operating near-maximum capacity (which is now possible due to fast SSD storage).
While there are some non-PCIe interface options being explored by computer manufacturers, they would also require major hardware changes. All in all, PCIe looks to remain crucial for a while longer, even while the form factor of the connection continues to evolve.
Links:
Adam Savage’s Tested.com did a nice explanation of PCIe speeds and comparison with Thunderbolt.
Anandtech did a nice writeup of the Z170 chipset and the trade-offs that board manufacturers have to make when selecting how to configure the PCH
And here is a nice post explaining how to convert GT/s to Gbps
Please repair Bandwidth speeds for PCIe in your table “BUS & Theoretical Bandwidth Available”, show table on page
https://en.wikipedia.org/wiki/PCI_Express#PCI_Express_5.0
PCIe 1.0 / x4 = 1 GBps,
…
PCIe 2.0 / x4 = 2 GBps,
…
PCIe 3.0 / x4 = 3.94 GBps,
…
PCIe 4.0 / x4 = 7.88 GBps,
…
PCIe 4.0 / x16 = 31.5 GBps,
…
PCIe 5.0 / x16 = 63.0 GBps
Thanks. Sorry I didn’t check the message for a week or two. I appreciate you spotting the error(s).
Gigabit internet is not 1 Gigabyte per second. It’s 1000 / 8 = 125MBps
Thx – fixed
Perhaps they should just stop naming the lanes and other tech like USB with versions.
PCIe (single lane GBs) x(number of lanes)
USB (GBs) x(lanes if they use lanes)
That way you can see the speed of 1 lane and then multiply it by the lanes. Blam. All done.
If wishes made it so. However, I believe what they were trying to avoid was a confusion over whether or not lanes were wasted. As I dig into the spec, it looks as if the link-layer allows truly arbitrary apportionment of available lanes to a physical connector. This is where it gets deeply confusing: any particular motherboard may or may not honor this.
On one motherboard, a physical x16 slot may have 4 lanes available to it and using a card that is using only 2 of them leaving 2 available to another slot. On another motherboard, anything not using all 4 lanes of that physical x16 slot results in lanes thrown out and unusable.
If anyone can find a specification that counters this, I’d appreciate it, because the manufacturers are no help at all. They simply point to the chipset spec (z270, etc.).
I think the GPU1 slot is usually direct to the CPU, but the rest may or may not go through the MB Controller
Thanks for the info
“Adam Savage’s Tested.com did a nice explanation of PCIe speeds and comparison with Thunderbird” Think you meant Thunderbolt not Mozilla’s email client
Very helpful. Looking at replacing my failed mother board. S5520HC dual X5680. I can find very inexpensive S5520SC (workstation) motherboard. the HC has 36 lanes. the SC has only 5. Since theVidoe can take 16, the NVME can take 4, and the Gb Ethernet 4, the choice after reading this article is clear. Buy the HC. Thanks for the info
Hello,
I own 2 old PC, both are a bit old:
1,M4A79XTD with PIIX4
2.Asus P7P55D with i5 750.
I want to buy 2 NVME disks and put it into a PCIE16x slots through adapters.
Asus M4A79XTD manual says PCIe is shared when using both slots. Will it affect speed of disk and/or GPU? I wanted to make these PC’s a bit faster. I havent checked P7P55D s manual yet,
Your machines will almost certainly speed up by using an NVME device.
Thank you for a reply. Moded bios is needed. What I was told transfers of new SSD’s wil be limited
SATA speeds are in bits. Not in bytes. https://sata-io.org/developers/sata-naming-guidelines
Now your table makes it look like M.2 with its PCIe 3.0 x4 spec has worse throughput than SATA 3.x
Thx – updated
Excellent way of telling, and nice post to get facts regarding my presentation subject matter, which i am going to present in college.|
Firewire and USB are measured in bits (b), not bytes (B).
B (byte) or b (bit) makes a huge difference when describing bandwidth.
You are correct – fixed. Thanks for the feedback.
This still isn’t right, I just took one look and noticed that the figures for the USB speeds are MBps and GBps, instead of Mbps and Gbps. I mean, the whole point of this article is surely for the author to educate people, rather than be educated. These are glaring errors…
Thx. I had fixed this once, and it seemed to unfix itself somehow. Updated – thanks for the feedback.
SATA2 is 3Gbps you named it SATA III which is incorrect.
SATA III is the 6 Gbps one but the term SATA3 is no longer used because of marketing people and confused people and is now referred to as “SATA 6G”
Question regarding PCIe lane negotiation and compatibility with low power motherboards (such as the Intel Celeron and Atom MBs).
Many of these newer low power motherboards have PCIe x16 slots, but they do not support 16 lanes. Some of them only support 4 lanes, some only 2 lanes, and there are quite a number that only support 1 lane. If you plug an x16 PCIe v1.0 or v1.1 compliant card into one of these slots will it even work? That is what I am trying to figure out. I assume that these motherboards will negotiate connectivity on any of the 16 lanes, but that they simply restrict communications to 1, 2, or 4 lanes. (Of course, my assumption might be wrong.) Nevertheless, if the motherboard grants communication to a given x4, x8, or x16 PCIe v1.0 card on one or two specific lanes, will that card even function? … theoretically?
Can you give an example of the motherboard with such minimal support? I know for sure that graphics cards which have 16 lanes work just fine in physical x16 slots which only have 8 lanes. It’s not even much slower… I don’t know for sure whether the same is true of x4, x2 and x1. I did see a PCIe slot with was x8, and had the end of the slot ‘open’ in case you needed to plug in an x16 card. I’ll do some digging as see what the spec says when I get a chance.
OK – it seems that it will work – as long as the x1 slot is “open” at the end. This guy attacked his with a soldering iron to make the slot work physically (melting the plastic away). Good for him. Do not try this at home! https://forums.tomshardware.com/threads/pci-e-16x-card-no-fit-in-pci-e-1x.424480/
Oh – and the original question was – will an X16 card work in an X16 slot, which is only being provided with a single set of PCIe lanes. It appears that the answer is “Yes”!
X570 chipset supports PCIE v4.0 lanes ( with Ryzen 3k series 24 of them )….
Thanks for the detailed article.
Building on the question regarding PCIe lane negotiation, we have a board with 3 PCIe x16 physical slots, but electrically they are x16, x8, and x4 lanes.
According to the table above, PCIe 2.0 / x4 has bandwidth of 2GBps, PCIe 2.0 / x8 has bandwidth of 4GBps, and PCIe 3.0 / x4 has bandwidth of 3.94GBps.
In our situation, we had a StarTech 10G NIC (PCIe 2.0 / x4 2GBps) fail and need to replace it.
Replacement options are an Intel x450-T1 (PCIe 2.1 / x8 4GBps) ~$130 or an Intel x550-T1 PCIe 3.0 / x4 3.94GBps) ~$300.
On a PCIe 3.0 capable motherboard, would the extra cost of the x550-T1 be justifiable?
Is there a performance benefit gained with the PCIe 3.0 option? The x550-1 has more bandwidth per lane, but slightly less overall bandwidth.
The system will be dealing with multiple network video streams and it seems to me that the extra lanes of the x540 may be a benefit in that application.
The motherboard is a Gigabyte Z390 AORUS PRO WIFI. The x16 slot has an Nvidia RTX4000 installed which leaves the x8 and x4 slots open for a NIC. Either one will provide 2x the bandwidth of the StarTech card. But which would be the better option?
Unless you are observing issues it is unlikely you will notice the difference between the two Intel cards. As you are doubling the bandwidth, either should work fine. In general, until you can max out utilization, it’s hard to measure the differences in order to make an informed choice.
Hi there ,buy Ryzen 3k series with X570 socket + they have 24 PCIE 4.0 !!! lanes
This was really helpful thanks,
Was hoping you may know if I have a laptop (razerblade) that has a TB3 connection via the PCH (4 lanes of PCIe 3.0) running into a CPU of 16 lanes which is dedicated to graphics. The PCH is used for everything else in the laptop. I want to connect 2 M.2 NVME drives to simultaneously record cache/source video clips or record audio/source video samples. Would it be faster using a dual TB3.0 enclosure into the TB3.0 port, or plugging a 2 3.0 enclosures into separate 3.0USB slots? I’m assuming the 3.0 takes one lane each and the TB3.0 uses 4 Lanes??? haven’t gotten my head around the read/write speeds and if any bottle neck would occur using a TB3 enclosure, or if because its all going through the PCH it makes a difference at all!