Electronic – Is mechanically switching SATA drive signals possible

hard drivesataswitching

Since SATA has made it possible to do all data interfacing to a drive through 4 wires, what I'd like to do is physically route two SATA ports to two drives, through a switch that simply swaps them. This way (for example) the one I want to boot from becomes SATA-0 and the other becomes SATA-1.

For background, many times I've wanted to be able to boot from one of two hard drives on a desktop PC, WHILE keeping both drives accessible to whichever drive I boot from. Often the purpose is to have a choice of operating systems, and to have all the time I need to migrate from one OS to another, while always having the data on both drives available. I'm fully aware of many dual boot schemes available in some system bios, and of course I know i can always open up my machine and manually swap SATA cables. There are all kinds of solutions other than what I'm asking about, but for now I want to explore this purely electrical/mechanical drive swapping idea.

I realize that swapping two SATA drives would take an 8PDT switch, which might be hard to come by, but I could do it with two 4PDT switches ganged together mechanically, or I could do it with several miniature signal relays, such as those made by OMRON. It certainly would be a universal solution, unbounded by bios limitations and a lot less prone to software "Murphy" problems. But my critical concern that has made me hesitate in designing such a mechanism is that the signals going over an SATA wire are pretty damn fast (I think 5-6 gigabit,a according to wikapedia.

How can I implement an electrical circuit to switch between two SATA ports?

Best Answer

With a mechanical switch or relay? No, that will absolutely not work.

internals of a SATA cable, from Wikipedia

Here's what a SATA cable looks like internally. The shiny bare wires at the top and bottom, and in the middle, are drain (ground) wires; the copper wires in between those are what carry the signal. As you can see in the picture, they're embedded in a dielectric material. This is to maintain a consistent impedance, which is critical for signal integrity at 6 Gbit/sec.

Bringing those signal wires out of the cable to a mechanical switch will ruin the electrical properties of the connection, and is likely to either prevent the drive from being identified at all, or cause a large number of link errors. If you need to switch a SATA signal, you will need to use an IC specifically designed for this task.