14

SATA Express, the successor to SATA, is too new to be widely used yet, but the advancing speed of SSDs appears to make it inevitable, the same as SATA replaced parallel IDE. Despite the name, it isn't SATA at all; it's either the AHCI or the NVMe protocol over PCIe, similar to what SOP (SCSI over PCIe) does. The SATA Express connector directly passes two full speed bidirectional PCIe lanes via four signaling pairs, with no protocol encapsulation or translation, and the AHCI or NVMe controller is integrated into the HD or SSD rather than the AHCI controller being on the motherboard as for traditional SATA.

This summer, the USB-C specification was finalized*, with a feature called Alt Mode, which enables use of non-USB protocols through a USB-C port. In particular, it enables passing two full speed bidirectional PCIe lanes via four signaling pairs, with no protocol encapsulation or translation (unlike Thunderbolt, which encapsulates PCIe). Unlike the big and specialized SATA Express connector, which is only used for the SATA Express protocol, USB-C is small and general, and is widely expected to soon become ubiquitous and replace all other USB connector types (all combinations of full-size, mini, and micro type-A and type-B connectors for both USB 2 and USB 3) on all types of devices and hosts, and even replace Displayport connectors since USB-C's Alt Mode enables passing the Displayport protocol.

My question is for an engineer who works with these kinds of interfaces, and it's this: would it be technically feasible and cost effective to use USB-C instead of the specialized SATA Express connector for connecting SATA Express devices (i.e. devices that use AHCI or NVMe over PCIe) to motherboards? It appears that the SATA Express connector was created simply due to lack of better options at the time, but since USB-C can directly pass PCIe (and power too, including an option for the 12V commonly used by 3.5" HDs), it looks like it would be a technically feasible substitute and maybe even cheaper since it's smaller and consumes less PCB space. But since I don't engineer these kinds of things, I want to ask somebody who does, to see if my analysis is accurate.

Of course, technical feasibility and cost effectiveness are necessary but not sufficient for HD and SSD manufacturers to use USB-C in this way, but the other factors (especially inter-company politics) are outside the scope of my question. If manufacturers were to use USB-C connectors on their new SATA Express HDs and SSDs, then there would be a transition period in which motherboards would include both USB-C and SATA connectors, the same as motherboards included both SATA and parallel IDE connectors during that transition.

*See http://www.usb.org/developers/docs/usb_31_102214.zip

Porthem
  • 307
  • 2
  • 10
  • Not sure the "cost-effective" part is answerable just yet.. – user2813274 Nov 03 '14 at 20:39
  • 4
    Full disclosure: I asked at superuser.com but it seems people misunderstood my question as being about the politics or about whether manufacturers would do this, rather than about the engineering issues (technical feasibility and cost effectiveness), and I didn't get an answer to my question there. – Porthem Nov 03 '14 at 20:41
  • @Porthem For future reference: Please don't cross-post. [StackExchange policy is against cross-posting.](http://meta.stackexchange.com/questions/64068/is-cross-posting-a-question-on-multiple-stack-exchange-sites-permitted-if-the-qu) You can make a flag to the moderators to migrate a question to another stack, if you so choose. – Nick Alexeev Nov 03 '14 at 20:47
  • 1
    Sorry, I wasn't aware of that. Before re-asking here, I did ask on superuser if it would be ok to re-ask here, but I didn't get a response. – Porthem Nov 03 '14 at 21:01
  • 1
    I neither see an actual question, or if the question is "is x technically possible", the answer is yes. – Passerby Nov 03 '14 at 23:29
  • 1
    @Passerby look for "My question is for an engineer who works with these kinds of interfaces, and it's this: would it be technically feasible and cost effective to use USB-C instead of the specialized SATA Express connector for connecting SATA Express devices (i.e. devices that use AHCI or NVMe over PCIe) to motherboards?" - I see it as two questions, 1. is it feasible?, and 2. is it cost-effective? I think part 1 could be answered by someone more familiar with the specifics than myself. – user2813274 Nov 04 '14 at 02:11
  • I didn't had the chance of reading the usb-c document, is usb now allowed for internal connetions? The difference between protocol is not only the band width or the connector size. Protocols like usb are also made for many plug cycles,plug&play low emi profile, crosstalk resistence,... these are no strong goals for internal protocols like pcie – Paebbels Nov 05 '14 at 00:48
  • 1
    @user2813274 - the cost-effectiveness part of my question could be rephrased as "which components are required?" I don't think any too-new-to-price components are required. It's SATA Express connector vs. USB-C connector, and the latter should cost about the same as USB micro-B. SATA Express's extra cost is the big connector, and USB-C's extra cost is just the (simple) protocol negotiation controller to choose PCIe instead of USB 3 upon device connection. Anything else? A USB 3 controller, by far the biggest potential cost, is unnecessary. And hotswap support is already part of PCIe. – Porthem Nov 05 '14 at 22:51
  • 1
    @Paebbels - the USB-C spec doesn't forbid internal connections. And USB features that are unnecessary for internal connections, such as durability and EMI shielding, of course aren't a problem, unless they drive up cost. – Porthem Nov 05 '14 at 22:59
  • [This](https://xkcd.com/927/) springs to mind... – Tom Carpenter Jan 15 '16 at 23:31
  • so basically pci express over type c or thunderbolt over type c with ata as application layer? – user3528438 Oct 30 '17 at 20:08

3 Answers3

10
  • Sata-Express uses 4 differential pairs for signaling, composing two PCI-e lanes.
    It also requires some auxilliary connections (ground, etc), but the primary signaling is done using the 4 differential pairs.
  • The USB-3.1 spec defines a number of different connectors: However, all but the USB-c connector clearly have insufficent pins to be applicable.

  • The USB-c connector's pinout: enter image description here

The connector does have enough differential pairs to properly carry two PCI-e lanes (and by effect, it could probably theoretically carry Sata-Express. However:

  • This connector is, by design, not "keyed". This means it can be inserted in two different orientations. When it's used for USB-3, the matching pairs are connected together (e.g. A1-B1, A2-B2, etc...) so reversing the connector is harmless. For PCI-e, this could be a problem, as it would either completely reverse the wiring, or (with some clever design) swap the ordering of the lanes in the PCI-e bus.
    I confess I do not know enough about PCI-e to tell you if swapping the physical lanes would be a problem here.
  • From an implementer's standpoint, using the USB-c connector for something other then USB-c is a terrible idea, as it will lead to people plugging USB-3 devices into their hypothetical PCI-e-over-USB-c motherboard, and plugging PCI-e-over-USB-c devices into USB-3 ports. There is a reason we have different connectors for different things.

Realistically, the USB-c connector could be fairly easily modified to make it incompatible with USB-3 connectors, at which point you'd basically just have yet another PCI-e connector. Considering that one of the major design decisions for the current Sata-Express connector is backwards compatibility with normal SATA, it's not likely to happen.

Furthermore, the SATA-express interface definition provides a lot of further connectivity intended for enterprise use (take a look at SFF-8639). There are specialized versions that have four PCI-e lanes, and an additional optional plain SATA channel. This is physically compatible with the normal device-end SATA-express connector (if you connect a SFF-8639 device to a SATA-express interface, it simply falls back to SATA-express). There is no physical way that you could route all the required connectivity for a SFF-8639 interface over a USB-c connector.

enter image description here

The current SATA standard has a lot of things in it for enterprise use that you may have not seen. In particular, there are SAS drives, which use the SFF 8482 connector, which is, again, physically compatible with current SATA connectors (and will safely interoperate at the slower device's transfer speed if interconnected, just like SFF-8639).

The design decisions for the SATA-express connector are very clearly inline with the design decisions for the SATA & SAS connectors.

TL;DR - Theoretically, it could work. Realistically, no one is likely to do it.

Connor Wolf
  • 31,938
  • 6
  • 77
  • 137
  • 3
    I don't see why you say using USB-C for something other than the USB protocol is a terrible idea. It's the entire point of the Alt Mode feature, and both Displayport and PCIe are already planned for use through USB-C. Out-of-band signaling is done upon connection (via the CC line) to negotiate which protocol to use on TX/RX-1/2, designed to prevent damage when incompatible devices/hosts are connected, and the USB billboard class informs users when incompatible devices are connected. The extra lanes of SFF-8639 _are_ an advantage, though, and that looks like the main reason USB-C is unsuitable. – Porthem Nov 08 '14 at 10:06
  • @Porthem - If there are provisions for signaling the use of the connector for alternative signaling systems, it becomes merely a rather bad idea, rather then a terrible idea. Having multiple, non-compatible signaling systems using the same connector *will* lead to end-user confusion. It also means that *every SATA-Express device using the USB-c connector* will have to have the additional hardware built-in to allow it to handle the negotiation process when it's plugged in somewhere wrong. – Connor Wolf Nov 08 '14 at 11:54
  • Really, I think the question here is "why"? We have a connector specifically designed for SATA-Express. Why would you use a different connector? The cost difference is negligible, the benefits are highly debatable, and doing so will almost inevitably lead to confusion. It's not like space on computer motherboards is at that much of a premium. – Connor Wolf Nov 08 '14 at 11:57
  • Furthermore, USB-c normally (I.e. when used for actual USB) only uses 1/2 of the pairs, which means that it's almost guaranteed that 95% of the USB-c cables will only have the number of conductors needed to support that use-case. It'd be like trying to explain why you need a special dual-link DVI cable for some monitors, only 100x worse because it would be a very heavily commoditized cable, rather then the occasional DVI lead. – Connor Wolf Nov 08 '14 at 12:01
  • Where do you see only 1/2 of the pairs? Standard USB-C cables for USB 3 are required to have all four of the TX/RX-1/2 pairs. The billboard class is designed to solve the end-user confusion problem. Space on SFF MBs is at more of a premium. Another benefit is the connectors and cabling would be the same for internal vs. external drives, since USB-C is going to be ubiquitous for external consumer drives anyway; combined with use of PCIe via USB-C instead of the USB protocol for external drives, this would eliminate the need for adapters when using internal drives externally and vice versa. – Porthem Nov 08 '14 at 20:48
  • And yes, every device would need protocol negotiation hardware; this is one of the reasons I asked about cost effectiveness. But it appears this hardware is very simple, so the cost should be very low. About the advantages: keyboards and printers and external HDs no longer have different connectors, and internal HDs and CDROM drives no longer have different connectors. USB-C now is even probably going to replace Displayport connectors. Further consolidation is good, since internal and external protocols and their cables now are essentially the same, just a few high-speed LVDS pairs plus power. – Porthem Nov 08 '14 at 21:11
  • @Porthem - I have to confess I'm confused about what you're asking here. Is it technically possible? Yes. Is it a good idea? *I personally* don't think so, but that's an opinion question, which is not really suited for SE. You seem to be arguing about whether it *should* be done, rather then whether it *could* be done. – Connor Wolf Nov 09 '14 at 03:46
  • 1
    I asked about technical viability, which you explained is "yes" for current SATA Express but "no" for later versions of it (SFF-8639) due to the latter's additional lanes, and about cost effectiveness, which it appears is still unknown and will depend on the cost of the protocol negotiation hardware. You additionally opined that it's a bad idea, and asked "why", so I responded about those things. I'll mark your answer as accepted; can you split the factual part ("yes" for current SATA Express but "no" for 8-signaling-pair versions) and the opinion part into separate sections? – Porthem Nov 11 '14 at 03:15
1

This should be possible for sure because Type C can carry a Pcie3 x4 connection an can provide up to a 100 watts of power. But it would probably not be powered from the motherboard.

And For the problem that was pointed out of the PCIe connecting wrong: there you can use highspeed mux for.

Plus I Don't think this would be used yet for the simple reason of latency: fist the connection determines orientation, then it negotiates Poserdilivery and then it negotiates the communication protocol. And then the ahci/nvme can initiate.

enter image description here source: http://www.ti.com/lit/wp/slly021/slly021.pdf

Wesley Lee
  • 7,844
  • 6
  • 35
  • 53
-1

I don't think so. SATA Express uses two PCIe lanes. USB 3.1 only provides one.

Jay Carlson
  • 2,819
  • 1
  • 14
  • 21