12

My motherboard is Asus Z97-PRO GAMER, and the Asus website says:

Z97-PRO GAMER includes an M.2 socket with two native PCI Express 2.0 lanes for data-transfer speeds of up to 10 Gbit/s. This is the perfect choice for an operating system drive to make every gaming experience faster and more fun.

Now, can I use an M.2 SSD like this: Lexar NM610 M.2 2280 NVMe SSD? It's using PCIe Gen3x4 interface.

4
  • I'd check if that socket is indeed behind the mainboard chipset, and not directly connected to the CPU -- otherwise the CPU and SSD might negotiate a Gen3 link over wires that are only spec'd for Gen2. Commented Dec 28, 2019 at 20:01
  • @SimonRichter The Intel Ark sheet says the Z97 PCH is providing the PCIe 2.0 connectivity. The answer from Peter addresses the negotiation aspect. Still, there is a userful chart in the board's user manual,page 1-19: "M.2 Socket 3 shares bandwidth with PCIEx1_1 & PCIEx1_2 (in PCIE mode) and SATA6G_4 (in SATA mode)" it's probably worth paying attention to which port you plug SATA drives into(if you plan on using a SATA based M.2 drive) or if you're using one of the other PCIe 1x ports.
    – Booga Roo
    Commented Dec 28, 2019 at 20:36
  • @SimonRichter - due to the way the links train, the actual link rate may well be less than the overall supported speeds; in addition, a gen 2 and gen 3 link are very different (particularly the line coding) which would cause a gen 3 attempt to fail (but it should not even attempt this as the speed advertisement from the gen 2 device would limit the link rate anyway). Commented Dec 29, 2019 at 11:38
  • @PeterSmith, my point was that if that link was a direct connection, no Gen2 device would be involved, and the failure mode would be similar to two gigabit Ethernet cards with just two pairs connected -- they'd negotiate alright, then fall over when trying to actually use the link. Commented Dec 29, 2019 at 23:57

2 Answers 2

13

Yes, but it won't be as fast as advertised.

The PCI Express standards mandate proper down-negotiation of the exact PCI Express version being used on any given link to the maximum version supported by both endpoints. This means you can use PCI Express devices for any version of the spec (provided they are properly compliant with the spec) with a mainboard/chipset that uses any other version without having to perform any manual configuration at all.

In your case, this translates to the SSD running at PCI Express 2.0 speeds, with half the lanes it possibly could. This is actually a pretty significant performance hit. PCI-E 4.0 has a max throughput of roughly 1.9 GB per second per lane, while PCI-E 2.0 only gets about 0.5 GB per second per lane. This translates to a peak performance in your case of at most roughly 1/8 of the SSD's rated performance. It will still probably perform far better than a conventional hard drive would, but you may very well get better performance out of a SATA SSD on the same mainboard than you would an NVMe SSD.

You might be able to find a PCI-Express to M.2 adapter that would work, and then plug that into one of the PCI-Express 3.0 slots on the board, but that will only get you up to roughly half the rated performance for the SSD.


One quick final note, always check that the size of M.2 card is compatible with whatever you're using it with. The '2280' means that the SSD you're looking at is 22mm wide (which everything supports) and 80mm long (which not everything supports). In your case, this should fit (based on pictures, the motherboard does indeed have enough room for an 80mm M.2 card), but anything longer would not.

3
  • So if I buy an SSD with read and write up to 1000 MB/s, No matter it's PCIe 3.0 x4 or ... , can I say I'm not losing any performance? Commented Dec 27, 2019 at 18:46
  • 2
    In that case you would probably not be losing any performance. In practice though, you're not likely to get even that much, because the exact performance is dependent on more than just the maximum theoretical link throughput. Based on personal experience, you're likely to see anywhere from 900 MB/s down to maybe 600 MB/s in such a case, depending on what other hardware is involved and how busy the system is. Commented Dec 27, 2019 at 18:51
  • 6
    There is a quirk in the PCI express standard; a device is required to operate at it's design width (however many lanes that is) and on a 1x link (a single lane). A device with a 4x link (a design width of 4 lanes) will not necessarily operate on a 2x link (it may go to a 1x link in that case depending on the design). Most devices do support links other than the required ones, but remember that it is optional. This is definitely true of gen 1 and 2 (and likely 3 and 4 as well). Commented Dec 28, 2019 at 15:09
9

As noted in another answer, PCI express will automatically train to the highest mutually supported speed regardless of which version is at each end of the link (via the speed advertisement field in the TS1 and TS2 ordered sets during link up. For details look at the PCIe LTSSM) provided the link itself can support that speed.

In your case, the link will attempt to come up at the PCIe 2.0 speed (5Gb/sec physical layer speed per lane). The actual details of link training are well beyond the scope of this answer.

What I will note (because it is of great importance) is that the link will always attempt to initiate the link at the gen 1 speed (2.5Gb/s) as that is the only guaranteed rate for any mix of link partners and that link width is established prior to attempting to change the link rate.

Your SSD may or may not actually operate, however in this scenario.

An often missed 'quirk' of PCI express is that a device is only required to operate on the design width (the number of lanes it was designed to expose) and on the 1x (single lane) physical interface.

Plugging a x4 device into a x2 connection may have any of the following results regardless of which version of the standard it was designed to:

1 It does not operate at all. I have seen this behaviour first hand; I had a motherboard of my own design that had 4x PCI express going to PMC slots. A PMC card with a x8 interface was plugged in and failed to link up in any way.

Reducing the physical interface to a 1x link (by removing coupling capacitors) got the unit to link up. In that particular case, the card had option resistors that were eventually found that permitted it to operate on a 4x link but this highlights the fact that operation is not required to be supported on all possible link widths.

2 The SSD adapts automatically to a 2x interface, where you will get a peak throughput of 8 Gb/sec (1 GB/sec) for read and write because the actual data rate is 80% of physical speed in the version 1 and 2 specifications due to 8b / 10b encoding (the actual throughput depends on a lot of factors that are beyond the scope of this answer).

3 The SSD does not support 2x but degrades gracefully to a 1x link, in which case you will get a single lane for 4Gb/sec (500MB/sec) peak throughput.

I looked at the specification of the SSD you linked but it was silent on this issue; the vendor may give you a definitive answer if you ask their tech support.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .