On 11/15/2022 12:16 PM, philo wrote:
Without reading the specs, I purchased an M2 to SSD adapter which of course did not work with the Nvme I have, so I had to purchase an adapter specifically made for Nvme.
Just curious as to why the M2 ssd and Nvme have the same physical form factor.
For a guy who started out in the punch card days, I find it slightly challenging to keep up with all this :)
A number of the low voltage differential signaling standards,
share similar characteristics.
This means, if you "join the wrong things", there is no magic smoke.
The circuit may not work, may not perform a function, but it is not
blown out. The items are "voltage compatible". The terminators
might be 100 ohm differential in all cases. Even HDMI and DP
could be similar in that regard (but not a topic of discussion for
this post).
Differential circuits have a "common mode voltage range". Perhaps
any voltage between 0 volts and 3 volts is acceptable.
When they made Wifi modules, Wifi has both USB2 and PCI Express.
They put those signals on separate pins. The USB runs at 5V,
the PCI Express has that lower range to work with.
Well, when they made NVMe modules (M.2), someone figured out
"we can put the SATA signals on the same pins as the PCI Express
signals". Because they shared similar common mode ranges. The
packets will look slightly different.
To provide some control of "what mates to what", they included
keying slots. The circuit board on a plugin module, could be
B or M or B&M. My NVMe here is an "M", which means it is
PCI Express x4 only. There is no SATA option on that Samsung controller.
A Wifi module would have a keying arrangement, so the
module would not plug into an NVMe slot.
This means, when an engineer builds a PCB for a computer, the
BOM (bill of materials) has different part numbers for the
NVMe socket versus the Wifi socket (on high end desktops). The
part numbers have different keys molded into the insulation.
PCI cards had keys. AGP cards had keys. The keys back then prevented
wrong voltages from being mixed. For example, my P4B motherboard,
had a feature to check what voltage the AGP card wanted to use.
If a certain mis-keyed SIS video card happened to be plugged
into the AGP slot (the keys weren't able to protect),
there was a transistor to sense that the voltage indicator
on the vid card was wrong. And that's what happens, when somebody
makes a bad mistake, and other engineers have to come up with
adhoc means of protecting their products from damage.
I'm not going to analyze the various pinout options, but will
leave it at "keying prevents not-compatible things from being mixed". Considering at least some of the standards on there, a PCIe or
a SATA could use the same wires, and chances are, not blow anything out.
That's why the pinout table says that PCI x2 or SATA could be
presented to the signal pins, and it would work.
PCIe_0 TX+ SATA TX+ \
TX- TX- \
RX+ RX+ \
RX- RX- \___ How two different things can
PCIe_1 TX+ / share interconnect.
TX- /
RX+ / The SATA option is a lot slower.
RX- /
Paul
--- MBSE BBS v1.0.8 (Linux-x86_64)
* Origin: A noiseless patient Spider (3:633/280.2@fidonet)