What's the difference between mini PCIe and mSATA interfaces and SSDs?

I've just lost several days to this subject; it would be best if someone who is actually knowledgeable could confirm the correctness of the following, but AFAIK, this is what I understand is actually going on:

  1. mini PCI-Express (mPCIe) and mini SATA (mSATA) are two separate standards. Each standard specifies both a bus and a physical interface. The physical connector and the physical form-factors of the two standards are IDENTICAL -- which I suppose makes the manufacture of these things cheaper (and one might hope, the price). (I say form-factors because there are full-height and half-height versions at least. But careful: you really should use an adapter to put a half-height card into a full-height slot, even though it "fits" just fine. This is because the card NEEDS to be screwed-in for proper contact, and the screw-hole is twice as far away from the half-height card than it needs to be, so you need a plastic adapter that screws in properly and holds-down the half-height card).
  2. The connector and form-factors are the same, but the specs of the actual individual PINs only partially coincide. In fact, even within the SINGLE mPCIe specification, there are various options about which pins are actually implemented within a particular card. In fact, it seems that there are even options which enable certain pins to have exactly opposite meanings from card to card!! (To be perfectly truthful, it might be that these opposite meanings are actually a difference between the meaning in mPCIe and in mSATA; because of reason # below, I could not tell. I can only tell you that it seems that in my Lenovo T420, pin 20 on the "mPCIe slot for WLAN cards" causes the card to turn its radio on, while pin 20 in the "mPCIe slot for WWAN cards" causes the card to turn its radio off. Are we having fun yet? It seems that this is done for the explicit purpose of enabling OEMs to limit the utility of certain slots to certain types of cards. So, for example, if you stick the Wifi card from some Lenovo Thinkpads into the WWAN slot, it won't work; but if you take a tiny sliver of scotch tape and cover pin 20 on the Wifi card and then insert it into the WWAN slot, it works just fine )
  3. Because the connector and form-factors are the same, you can easily insert cards of one type into either slot. The best analogy I can give is this: Think some big-name branded household appliance that you can buy both in the USA and in France, and that has a detachable power cord. Then imagine that you switch the cords on one of them, so both appliances now have the same plug. Next remove any markings or labels that would enable you to know which one was which. Finally, have someone blindfold you (put stoppers in your ear, etc.) fly you blind to one of the two countries, and bring you a room where you can plug in the appliance. Now ask yourself: what will happen if you plug in the appliance and turn it on? It might work just fine; it might work, but only at half-speed or a double-speed; it might immediately short out a fuse somewhere; it might actually burn-out instantly, or even burst into flames within seconds; on the other hand, it might be that what happens is .... nothing at all.
  4. The mPCIe spec (at least, I don't know mSATA) specifies that certain pins should carry the signals of OTHER well-known buses. For examples, some of the pins just pass-through USB signals to the USB bus. This is very useful, because it makes it super-cheap to add USB ports onto an mPCIe card. It seems to be possible for a manufacturer to make an "mCPIe slot" that doesn't in fact furnish ANY mPCIe signals at all!!! (It might be there for an optional "mPCIe USB card", for example. The "mPCIe" slot passes through USB signals. This seems to be the case with my Lenovo Thinkpad T420, for example. In fact, there is code in the BIOS which prevents even a regular USB card from working in this slot. The BIOS allows a certain whitelist of WWAN modem cards work in this slot. These cards are in fact just WWAN modems, and connect via the USB pass-through pins of mPCIe).
  5. Finally, some manufacturers themselves seem to be either as confused as you and I; or perhaps they're merely disingenuous. My Lenovo T420 has a "mini PCI-Express WWAN slot": the whitelist of cards that work in this slot includes both "mPCIe WWAN cards" (which are pure USB modems, mounted on cards of the mPCIe form-factor and using the USB pass-through signals) and "mSATA storage cards". As far as I can tell, this "mPCIe slot" supports MSATA cards but not actual mPCIe cards (even if you cover pin 20).

I note that unlike my toy thought-experiment with household appliances above, there are no truth-in-advertising or consumer labeling laws that apply to these cards or the marketing materials that describe them. So it might be that you can in fact fry your cards or your motherboard by plugging an "mPCIe card" into an "mPCIe slot". So far, I've been lucky -- things just didn't work, and nothing has been ruined or lost except for my time.

Bottom line is: "yea they look the same, but what happens when you plug a given card into a given slot can only be predicted if there is some explicit documentation about the outcome of that act."

Apologies for the insane length of this post. I guarantee you that it took you less time to read it than it took me to learn the information in it. And writing it allowed me to let off some steam -- to let go and stop thinking about sending white powder in an unmarked envelope to some Lenovo facilities :).

scott


I found this on ASUS site:

mSATA SSDs: The mSATA (mini-SATA) interface appeared briefly for a generation of motherboards (such as the Maximus V series) and notebooks recently. mSATA SSDs follow the SATA specification, offering a maximum performance of 6Gbit/s and look much like mini-PCI-Express devices, but the two connectors are not inter-compatible. mSATA has been phased out an replaced with the better designed M.2."