Jump to content

USB3 instead of sata for all internal mechanical drives?

Hello, everyone!

 

Novice (read clueless) PC builder here and a new member of this community.  I was thinking about connecting my PC's internal storage via USB3 instead of SATA using internal USB-to-SATA adaptors. I.e I'd buy a pcie USB expansion card and nothing would be connected through my motherboards SATA ports. My possibly stupid idea here is to be able to hotswap drives whenever a raid disk fails without having to bring the whole system down. I want the ease of hot-swapping server drives in my personal computer.

 

If we ignored the financial downsides of having to buy expansion cards and adapters, would a USB-only system be a good idea? Would performance be impacted too much (assuming normal mechanical drives and sufficient USB bandwidth)?

 

Note: I'm not sure this is the right section to post my question. Apologies if it isn't.

Link to comment
Share on other sites

Link to post
Share on other sites

I wouldn't.  I have seen USB sticks used with adapters to make a raid array, but it seems pretty janky.  Instead of spending money on adapters and an adapter card, why not just invest in an external NAS or RAID bay?  That way you get hot swappability, but you aren't kludging together something that I don't think really supports RAID properly.

Link to comment
Share on other sites

Link to post
Share on other sites

Quote

why not just invest in an external NAS or RAID bay?

I'm trying to avoid off-the-shelf raid appliances or pcie controller cards because they usually use nonstandard schemes to shard data; I'd basically be SOLed if the appliance fails and I can't get a replacement (discontinued or too broke). Software raid doesn't suffer from this problem. I can bring back up my storage array on any system that can run the software.

 

And to clarify, the process I'm proposing is SATA Drive -> SATA-to-USB -> Host and not USB -> USB-to-SATA -> Host. (Sorry if I wasn't clear in my OP.) I've been testing SATA adapters-to-USB for a while now and have generally found them to be stable enough to run 24-7. I imagine they'd be more than sufficient in a raid setup. If you can, could you further expand on why you don't think this wouldn't work properly?

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Notte said:

I'm trying to avoid off-the-shelf raid appliances or pcie controller cards because they usually use nonstandard schemes to shard data; I'd basically be SOLed if the appliance fails and I can't get a replacement (discontinued or too broke). Software raid doesn't suffer from this problem. I can bring back up my storage array on any system that can run the software.

 

And to clarify, the process I'm proposing is SATA Drive -> SATA-to-USB -> Host and not USB -> USB-to-SATA -> Host. (Sorry if I wasn't clear in my OP.) I've been testing SATA adapters-to-USB for a while now and have generally found them to be stable enough to run 24-7. I imagine they'd be more than sufficient in a raid setup. If you can, could you further expand on why you don't think this wouldn't work properly?

Why don't you use unraid then?

Also, the USB controller on your CPU would get overrun pretty easily if you're actively using the drives and they for sure are not rated for 24/7 write-read operations plus the fact that they are slower than SATA3 and have the I/O capabilities of a dead rabbit.

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, 3rrant said:

Why don't you use unraid then?

Unraid looks like a fin solution for a NAS appliance but I am planning to use this system as my primary personal machine where a proper general purpose OS is a requirement. I'm looking to run debain or ubuntu on zfs.

6 hours ago, 3rrant said:

Also, the USB controller on your CPU would get overrun pretty easily if you're actively using the drives

That's a good point, but wouldn't the USB controller on the expansion card handle most of the heavy lifting? I assume that most of the heavy stuff would be done via DMA rather than pass through the CPU. Please do correct me if I'm wrong.

6 hours ago, 3rrant said:

for sure are not rated for 24/7 write-read operations plus the fact that they are slower than SATA3 and have the I/O capabilities of a dead rabbit.

Yes, this is exactly what I'm asking here :)

 

If we assumed I stuck to standard mechanical sata drives, we'd be looking at 100MBps to 120MBps. Since usb3's theoretical bandwidth is 640MBps, wouldn't I still have around more than enough bandwidth for the rest of the system if I used three drives?

 

As for adapters failing, wouldn't raid and hot-swapping take care of that?

 

You do bring up a good point about some adapters not exposing hard drive functionality properly, but would that be a significant factor in the performance of traditional mechanical drives? All the fancy and poorly supported harddrive commands seem to be targeting SSDs.

Link to comment
Share on other sites

Link to post
Share on other sites

38 minutes ago, Notte said:

That's a good point, but wouldn't the USB controller on the expansion card handle most of the heavy lifting? I assume that most of the heavy stuff would be done via DMA rather than pass through the CPU. Please do correct me if I'm wrong.

Not really, no. A USB-controller on the mobo is no different from one on an expansion-card in any way. Your CPU still has to get involved in a lot of the traffic in and out. If you went with using USB for your drives, you need to make sure the USB-enclosure/JBOD-box/whatever supports UASP -- UASP is specifically meant for USB-attached storage and reduces the amount of chatter the CPU has to get involved in. UASP also enables one to use things like e.g. TRIM properly, if you ever connected an SSD or similar.

 

EDIT: Thought to mention that Raidsonic sells some really nice, external USB/eSATA jBOD-enclosures, which also support UASP as well. I don't think hot-swap works, though.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Notte said:

Unraid looks like a fin solution for a NAS appliance but I am planning to use this system as my primary personal machine where a proper general purpose OS is a requirement. I'm looking to run debain or ubuntu on zfs.

That's a good point, but wouldn't the USB controller on the expansion card handle most of the heavy lifting? I assume that most of the heavy stuff would be done via DMA rather than pass through the CPU. Please do correct me if I'm wrong.

Yes, this is exactly what I'm asking here :)

 

If we assumed I stuck to standard mechanical sata drives, we'd be looking at 100MBps to 120MBps. Since usb3's theoretical bandwidth is 640MBps, wouldn't I still have around more than enough bandwidth for the rest of the system if I used three drives?

 

As for adapters failing, wouldn't raid and hot-swapping take care of that?

 

You do bring up a good point about some adapters not exposing hard drive functionality properly, but would that be a significant factor in the performance of traditional mechanical drives? All the fancy and poorly supported harddrive commands seem to be targeting SSDs.

I think he did a great job on anwering most of it:

35 minutes ago, WereCatf said:

Not really, no. A USB-controller on the mobo is no different from one on an expansion-card in any way. Your CPU still has to get involved in a lot of the traffic in and out. If you went with using USB for your drives, you need to make sure the USB-enclosure/JBOD-box/whatever supports UASP -- UASP is specifically meant for USB-attached storage and reduces the amount of chatter the CPU has to get involved in. UASP also enables one to use things like e.g. TRIM properly, if you ever connected an SSD or similar.

 

EDIT: Thought to mention that Raidsonic sells some really nice, external USB/eSATA jBOD-enclosures, which also support UASP as well. I don't think hot-swap works, though.

 

I'm gonna add that bandwidth is just one part of the equation. An hard drive might be rated for 150MB/s, but depending on the type of data you're reading/writing, it's location on the physical disk and in how many locations this data is fragmented the HDD will spend a great amount of time (roughly 2/3) seeking the data. So over a span of let's say 20 seconds instead of having read 1500MB, you're only reading 500MB (effectively an 50MB/s). The other part of this time the HDD is searching for where the data is. With SSDs you'd kill the seeking part, but you'd be bandwith limited

 

Both with an HDD or SSD anyway... on the USB side of things, yes you might achieve 600MB/s of peak speed (actually no because this is theoretical and doesn't count for overhead) but sustaining that speed is another thing. Making the same example as before, between each action the HDD will need to pass data to the system using the USB interface. The USB interface is not a direct access between the external drive and the CPU, there are middlemen (several) and different protocols in the game. Each action will therefore have extra overhead you're not getting on SATA = lower effective speed.

 

And we're not even considering that the chipset handling all this might already be busy also getting keyboard and mouse input, other external devices, NVMe boot storage and internal sata communications etc... Jumping from one task to another takes precious cycles time. On top of that, you might get the headers or control units overheated, reducing even more of the permance.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 8 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×