Recently I had a bit of a panic when both of the SATA drives in my desktop computer failed to be detected by the BIOS on boot. I couldn't boot either of the two operating systems installed and none of my files were accessible. Since the BIOS didn't detect the drives I couldn't even use a live CD to access my files. I knew that it was unlikely for two hard drives to fail simultaneously without some sort of system-wide catastrophe like a power surge so I suspected that the SATA controller might have failed. This view was reinforced when people on Twitter said that that in their experience it's most often the controller that's the problem when two drives appear to fail at the same time.
Fortunately my motherboard, an old ASUS A8N32SLI that has an Nvidia nForce 4 four port SATA controller also has an Silicon Image 3132 SATA controller with one internal and external port. I simply hooked up on of the "failed" drives to that Silicon Image controller and it showed right up in the BIOS and I could boot to the OS installed on it. So now I knew what the problem was, the Nvidia SATA controller had apparently failed after some six years of working without issues. I just had to figure out how to fix this and get both drives accessible again, without having to replace the whole darn motherboard.
I considered buying a SATA port multiplier to connect both SATA hard drives to the one working Silicon Image SATA port on the motherboard, but then I'd have a single point of failure - if the built-in Sil3132 controller failed I'd have no way to access any drives at all. So instead I ordered a fairly cheap Rosewill RC-211 PCI-E x1 SATA controller card with two SATA II slots. I figured that if that failed, I could just order another one to replace it. I was a bit paranoid of component failure at this point, since the nForce controller dieing was completely unexpected. Here's a similar PCI-E SATA II card with a Silicon Image 3132 chipset on Amazon.
I made sure to buy a controller with a Silicon Image 3132 chipset, since I knew from having used it before that it supported Linux. I saw some other controller cards that used JMicron chipsets and while I'm sure support for those has improved over time I do remember horror stories from several years ago about Linux installations suffering catastrophic data loss when using JMicron SATA controllers.
Everything is working well thus far with the new PCI-E SATA controller card. I disabled the on-card BIOS by changing the jumper before I installed it, since I don't intent to ever use the fake RAID the card offers. I've got one drive plugged into the motherboard Silicon Image SATA controller and the other plugged into the new PCI-E SATA controller. Everything works exactly as it did before, when I had both drives plugged in to the now apparently dead nForce controller. I can boot both installed operating systems and never had to mess with reinstalling or reconfiguring the Grub bootloader.
I suspect that the hard drive file transfer speed is measurably slower now that I'm using a SATA controller limited by a PCI-E slot but it's not enough to notice in day to day use so it's not an issue for me. Besides, the fact that part of my motherboard has failed is a good sign that I'm overdue for a whole new system build. It's been almost six years since I built this desktop, and it's served me well over that time but a socket 939 Athlon 64 X2 4400+ overclocked to 2.5GHz doesn't really cut it any more. It's time to save up for a new computer and monitor. I'm thinking maybe an i5 2500k paired with a Geforce 560 Ti, but who knows what hardware will be out and affordable by the time I've saved up enough for a new non-budget gaming build.