1
\$\begingroup\$

We are in the process of making a custom board for a System On Module. The System On Module exposes 4 PCIe Gen 2 lanes on its SODIMM pinout. As per our requirement, we are planning on having a WiFi/BLE device and a PCIe SSD. WiFi/BLE chip requires only one PCIe lane. But PCIe SSDs on the other hand can use upto 4 lanes. The WiFi/BLE chipset can be surface mounted, while most SSDs require m.2 M-key.

Wikipedia page on m.2 says that the M-key provides PCIe x4: https://en.wikipedia.org/wiki/M.2#Form_factors_and_keying

Based on these requirements, I have a couple of questions.

  1. Would it be possible to connect only 2 of the PCIe lanes from the SODIMM pinout to the m.2 M-key slot/connector on the board? This way we will be left with 2 lanes not connected. One of which can be used with the WiFi/BLE chip. Will this setup work? Or does the PCIe specification prohibit this?

  2. From what I have read online, PCIe is forward compatible. And you can also connect a x4 card to a x2 slot. So will a Gen 3 PCIe x4 PCIe SSD work fine in a Gen 2 slot with only 2 lanes connected?

I would really appreciate some help here. Thanks.

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

For such a module (WiFi+BT) you probably want to use M.2 A+E key which provides both PCIe and USB. This is a common setup for commercial devices.

For (1), no. Unless your host can bifurcate the lanes (not likely), you can only support one endpoint, regardless of how many lanes you require.

For (2), yes. If you only connect one lane, the host will only use that one, and it should be lane 0. But you can’t use the other lanes for other endpoints. If you use 2 lanes, connect lanes 0 and 1.

So if your goal is to support the wireless card and an SSD, you will need to add a switch.

\$\endgroup\$
3
  • \$\begingroup\$ For point (2), if connecting two lanes, use lanes 0 and 1. If host supports lane reversal, you can also use just lane 3, or lanes 3 and 2 (theoretically if either device supports it, but of course no guarantee on what is getting plugged in). \$\endgroup\$ Commented Sep 17, 2021 at 16:27
  • \$\begingroup\$ If it’s a SODIMM module, it’s very unlikely (that is, I don’t know of one) that the SoC on it will support those features (reversal, etc.) like you might find on, say, a Broadcom switch. But a 2-lane endpoint will work on host lanes 0 and 1. \$\endgroup\$ Commented Sep 17, 2021 at 17:23
  • \$\begingroup\$ @hacktastical Thanks for the response. The SOM has a single PCIe controller and doesn't support Lane Bifurcation or Lane Swapping. Only one endpoint device can be connected to it. I will explore the switch option to see whether its viable. Also, I see that some PCIe m.2 modules offer various interfaces such as I2C and USB. In these cases is the module still considered an endpoint device? Or does it make use of the mentioned USB or I2C interface exclusively. \$\endgroup\$
    – surfinride
    Commented Sep 20, 2021 at 7:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.