PCI-e bifurcation explained

PCI-e bifurcation explained

OK, some asked about 'what is bifurcation' from the previous post. Essentially, if you have a PCI-e x8 slot, you can split it in half and make it 2 x4 slots. If you have a x16, you can make it 1 x8 and 2x4, or 4x4.

You can see below, i've overlayed my BIOS setup on top of the motherboard diagram (here a SuperMicro x10DRi-LN4+). Now, if your BIOS doesn't have a bifurc option, you can possibly get it to do so by adding support into the BIOS. I'm not going to help you with this, its very complex, but I was able to add both UEFI NVME boot and bifurcation to a different SuperMicro motherboard by adding the UEFI modules into it manually. YMMV. Void where prohibited.

So in my case, I have a NVME carrier which is capable of holding 4 NVME drives. It is passive (no PCI bridge is onboard). This means that it is conceptually 4 PCI-E x4 drives. Without bifurcation, it just won't work. Some people refer to this as 'pci splitting'. You may see references to this in the 'crypto-mining' industry, where people are using 1x interfaces via cables to mining ASIC.

Be careful here, bifurcation is supported on server motherboards with modern chipsets, but its support on desktops is not as universal. And just because your motherboard supports it doesn't mean your BIOS will.

It may also have downstream affects on other PCI-e cards, e.g. reducing their lane-width. Caveat Emptor.

13 Comments on “PCI-e bifurcation explained

  1. Thanks for such easy and simple explanation. This means a PCIe x16 slot can be run in 8x mode but what if we have two PCIe x16 slots?

    • usually you can take a /x16 into 4 x /x4, or 2 x /x8, etc. If you have 2 pcie x16, you can convert each of them.
      It may be tricky to understand which one runs to which physical slot, so experimentation / motherboard manual may be required.

      Not all chipset/motherboard bios expose bifurcation, but if its there, its helpful.

      • Question: If I have 4 nvme drives, the bandwidth with 4×4 bifurcation means I have only a single PCIe4 bandwidth (3.94GB/s) per nvme drive? It makes seance for me seeing it that way.

        • bifurcation does not reduce bandwidth.
          if you have a /x16, and 4 x4 drives, each gets x4 of the bandwidth.

  2. Hello DB,

    Very nice article. To me the most interesting part is the one you havent explaind…how to make BIOS allow bifurcation even if manufacturer didn’t want you to do it. If you can spare some time I am in a greatly need of your help.

    This is the situation. I have a Supermicro X11SSZ-F mobo, AOC-SLG3-2M2 card and two Corsair MP510 NVMes. 2M2 card is in the Slot6 x16.

    As you can imagine, mobo doesn’t see two NVMes, just one, and with newest version of bios there is still no option to bifurcate x16 slot to x4x4x4x4 (or to any other value).

    By now I read more that 20 posts about this issue, and there are lots of solutions but none can apply to X11SSZ-F…

    Can you please help me to make both of NVMes work…?

    Thank you in advance!

  3. Hello!
    I really liked your article and the explanation in it!
    I have the same problem only P9X79 Delux motherboard. Could you help with the BIOS for it with bifurcation support on PCIe for installing the DELL UltraSpeed ​​4xSSD board, it is the same as asus hyper m.2.
    I changed the BIOS at https://www.win-raid.com/t2790f44-OFFER-ASUS-P-X-DELUXE-BIOS-MOD-NVME-Dxe.html#msg38148.
    But only one of the 4 installed drives is visible.
    I would be very grateful for your help if you can give the BIOS firmware ready for work.
    Thank.

  4. I am wondering. I have the AOC-SHG3-4M2P card. It is an x8 card. If bifurcation is for splitting up a slot, then why does the manual for this card mention setting the bifurcation for that slot to x4x4x4x4? That’s x16… It has a switch on it to combine what is literally x16 between the four SSDs down to x8. What am I not understanding?

    • bifurcation splits a bridge.
      on most systems, the only bridge is in the processor (formerly the north/south bridge).
      If you have a card w/ a bridge (like a PLX) on it, that in turn can be bifurcated if the bios or other setup supports.

      you might have a /x8 upstream and a /16 downstream. E.g. it might present /8 to the processor side, and 4×4 to the nvme side. This would be a good thing, e.g. it would be oversubscribed (so not all 4 cards can operate full speed simultaneously), but, in burst, all of them can sometimes operate full speed without using a /16 upstream.

  5. Question, I have an SuperMicro X10drg-q, it seems it does not have bifurcation, what if I use this Asus M.2 Hyper thingy, and I had 2, will it work ok if I did it through software mode(Within Windows/Stripped)?

    I don’t think that’s the issue, what if I use all 4 Nvme’s WITHOUT bifurcation? Can I still raid 0 them through Windows????

    Thanks again.

    • if you have a M.2 card with no PCI bridge (e.g. it doesn’t have a big chip on it), and it has >1 NVME slot, then you must enable bifurcation.

      bifurcation means splitting the big slot into little slots.

      There are single NVME expander cards, e.g. 1 NVME, they don’t need this.
      As for RAID-0 stripe, as long as you can see the cards, you can do this.

      as for your motherboard, its materially similar to the one i posted about, same chipset. Maybe you just don’t have the bios updated?
      https://forums.unraid.net/topic/87033-asus-hyper-x16-nvme-card-x10drg-q/
      suggests that it will work.

Leave a Reply

Your email address will not be published. Required fields are marked *

*