Exposing one NVMe slot in future models

The USB-C based expansion card ecosystem is an wonderful idea and I am looking forward to try all the cool things which can be done because of this. However, for thin and light laptop category many people deram of plugging / docking an eGPU whenever possible. Currently Thunderbolt seems to be only way to achieve something like that. Almost all thunderbolt compatible eGPUs are exorbitantly expensive and very few laptops actually support them.

The other hacky way of achieving this is through an unused NVMe slot. However this approach works pretty well and speculatively outperforms thunderbolt based solution. Moreover, we are still unsure about the future of thunderbolt on the platforms other than Intel’s.

Framework already demonstrated Storage expansion cards which communicates through any of the exposed USB-C port. In future models if they consider exposing one NVMe slot it can open doors to many more cool things like eGPUs irrespective of the platform or thunderbolt in general. What are the potential downsides of exposing an NVMe slot compared to a USB-C / Thunerbolt?

1 Like

I can think of a pretty good number of downsides:

  • Shorter cable length (Max PCIe 3.0 cable length is supposedly something like 8 inches according to some sources, versus 2m (78 in) for Thunderbolt with an active cable, and still >2x as long even with a passive cable)
  • A flat m.2 extension cable coming out somewhere is a lot more inflexible and more easily gets in the way or is damaged.
  • ESD protection on a PCIe interface is rather minimal compared to USB/Thunderbolt, so concerning greater risk of zapping a motherboard and killing it, which is a fairly serious matter.
  • A fairly typical M.2 connector is rated for just 60 mating cycles, versus USB-C/Thunderbolt connectors being rated for 10000 cycles. It’ll likely wear out somewhat faster.
  • Less out there in the way out pre-existing enclosures with mounting hardware. You’ll mostly find standalone M.2 to PCIe adapters out there that don’t have any real kind of enclosure to give any physical mounting stability.

Thanks for pointing out the potential down sides.

Shorter cable length (Max PCIe 3.0 cable length is supposedly something like 8 inches according to some sources, versus 2m (78 in) for Thunderbolt with an active cable, and still >2x as long even with a passive cable)

Longer cable length is always desirable but I think there is always a trade off.

A flat m.2 extension cable coming out somewhere is a lot more inflexible and more easily gets in the way or is damaged.

This can dealt with better designed cables. For example the wires can be splitted in the middle portion and grouped in a barrel shape and put into a pipe like shell. This kind of solution exists for Raspberry Pi’s flat CSI cables .

ESD protection on a PCIe interface is rather minimal compared to USB/Thunderbolt, so concerning greater risk of zapping a motherboard and killing it, which is a fairly serious matter.

This is a valid concern in my opinion. But I wonder if this can be addressed with some electronic trickery in design.

A fairly typical M.2 connector is rated for just 60 mating cycles , versus USB-C/Thunderbolt connectors being rated for 10000 cycles. It’ll likely wear out somewhat faster.

This is another real concern which I think can not be addressed easily.

Less out there in the way out pre-existing enclosures with mounting hardware. You’ll mostly find standalone M.2 to PCIe adapters out there that don’t have any real kind of enclosure to give any physical mounting stability.

This is because things are targeted to the hobbyists and hardly has any real adoption. If this kind of things goes mainstream we will see better designed enclosures.

Just wanted a easier way to hook the GPU to some form of PCI without opening up the chassis every time.

Are you referring to the fact that not all laptops have thunderbolt ports? I believe that the USB 4 standard was built around thunderbolt 3? And with intel opening up the spec for the standard a bit, I can kinda see adoption picking up. Heck, its on an AMD motherboard or two

I get your concern, but I think if Framework develops a niche port/option that may only be used by Framework users, it would detract from the laptop as a whole for the, probably majority, of users who would never use it.

That’s a fair point. But NVMe port is not a niche. Framework does not necessarily have to advertise it as a way of docking external GPU. One can always attach NVMe drives to it, just like the storage expansion cards available currently.

An option to easily access a NVMe slot without opening up the chassis probably won’t hurt. People are suppose to access the internal NVMe slot for drive replacement / swapping out WiFi card anyway. Also this is not a new concept. Before thunderbolt, we have seen similar approach with Expresscard.

I am aware of USB4 and the potential merger thunderbolt standard with it. I really hope this become ubiquitous soon.

Ok, so I found something pretty cool. Since you can use the motherboard separately from the motherboard, you could hook up this thingy

and have a full blown pc with graphics card? I may be misunderstanding the use of the device, or perhaps there’s bandwidth problems (I honestly don’t know though, could someone clarify for me?), but this sounds awesome for reuse of the motherboards and whatnot outside of the laptops.

1 Like

Yeah, probably. That device uses mPCIe (to connect to the computer), which is an older standard that has been superceded by M.2. However, even M.2 only supports up to (max) 4 lanes of PCIe, which is far fewer than the 16 lanes available to the GPU. Depending on the GPU and load, you could definitely have a bottleneck.

The laptop doesn’t have mPCIe, so it can’t connect to the dock you’ve linked, but this should work in theory:

https://www.amazon.com/dp/B07YDH8KW9

2 Likes

Even though Thunderbolt 3 has bandwidth like 23 Gbps, it has higher latency than a normal PCIe connection. For some games or benchmarks, Thunderbolt 3 eGPU has less performance than the same GPU connected with PCIe 3.0 x1 (7.88 Gbps).

Therefore a PCIe 3.0 x4 connection may be preferred (31.5 Gbps).

The ADT cable probably doesn’t work at PCIe 4.0 link rate, so you may need to change the Framework Laptop NVMe link rate to PCIe 3.0.
M.2 NVMe Extension Cable

There may be other more suitable (more expensive?) connection types and cables for external PCIe x4: e.g. OcuLink or SAS
https://www.serialcables.com

1 Like