VOGONS


First post, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Has anyone bothered to benchmark USB 3.0 vs. USB 2.0 cards on a conventional PCI bus to see if there is any tangible performance gain, preferably with an external SSD? I don't have an external SSD yet, but was noticing on PCI Express (1.0a) that from my USB 3.0 transfer speed seems to top out at about 99 MBytes/sec. And I was thus wondering, can't conventional push these speeds if nothing else is actively using the PCI bus...

Plan your life wisely, you'll be dead before you know it.

Reply 1 of 29, by pshipkov

User metadata
Rank Oldbie
Rank
Oldbie

Theoretical bandwidth limits:
32bit PCI - 266Mb/s
USB2 - 60Mb/s
USB3 - 625Mb/s
SSD bandwidth range - 500-to-7000Mb/s

You will feel it with large data sets.
The question is - how much data you will pipe through it and how often.
External SSD suggests auxiliary storage.
USB2 may be just fine.

retro bits and bytes

Reply 2 of 29, by darry

User metadata
Rank l33t++
Rank
l33t++
pshipkov wrote on 2021-03-10, 00:48:
Theoretical bandwidth limits: 32bit PCI - 266Mb/s USB2 - 60Mb/s USB3 - 625Mb/s SSD bandwidth range - 500-to-7000Mb/s […]
Show full quote

Theoretical bandwidth limits:
32bit PCI - 266Mb/s
USB2 - 60Mb/s
USB3 - 625Mb/s
SSD bandwidth range - 500-to-7000Mb/s

You will feel it with large data sets.
The question is - how much data you will pipe through it and how often.
External SSD suggests auxiliary storage.
USB2 may be just fine.

32bit PCI on most consumer platform platforms is 33MHz , so max theoretical burst rate is 133MB (Megabytes) per second .

The other numbers, assuming they are in Megabytes, are accurate theoretical ones, but, in practice, USB has significant overhead . According to personal experience, I have found that a USB 2.0 storage device that operates in "High speed" mode tops off at about 35 to 40MB/s .
USB 3.0 in "SuperSpeed" mode is much master faster and has effective throughput in the hundred of MB/s (one of my USB 3.0 enclosures with a SATA SSD reaches close to 400MB/s). However, a USB 3.0 controller that runs off a single PCI Express 1.0a/1.1 lane will be limited to 250MB/second . This was the case for a lot of first generation USB 3.0PCI Express add-in cards .

As for the initial question of USB 3.0 over legacy parallel PCI at 32bits and 33MHz , I would guesstimate that maybe 80 to 90MB/s could be achievable . Since legacy PCI bus bandwidth is shared among all peripherals, this will be affected by other bandwidth hungry PCI devices that transfer data at the same time . For example, if a PCI NIC or a PCI hard disk controller is being used simultaneously with the USB 3.0 device for a copy operation, effective throughput could drop to around USB 2.0 levels . Motherboard architectures where the disk controller and/or NIC do not hang off the PCI bus will likely let the USB 3.0 device much closer to max PCI bandwidth .

Also, to avoid confusion, Mb is often informally used refer to Mbit (Megabit) . MB is the abbreviation for Megabyte .

References (Wikipedia, by it's nature, isn't always reliable, but often serves as a good basis for further research and validation):
https://en.wikipedia.org/wiki/Peripheral_Comp … nt_Interconnect
https://en.wikipedia.org/wiki/Megabyte
https://en.wikipedia.org/wiki/Megabit
https://en.wikipedia.org/wiki/PCI_Express

Reply 3 of 29, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Isn't there about a 20% overhead for coding on USB 2.0, meaning that theoretical bandwidth would be around 106 megabytes per second? It would be interesting to test this on a fast system with a SSD SATA 3 HDD internally and a SSD USB 3.0 externally. I understand that USB 3.1 may use a different encoding scheme to reduce that 20% overhead to only 3%.

Nonetheless, from 40 MB/s to 80 MB/s on conventional PCI w/USB 3.0 would halve the copy time; this may be important for those who backup their systems on external USB 3.0 drives in the TB range.

Plan your life wisely, you'll be dead before you know it.

Reply 4 of 29, by darry

User metadata
Rank l33t++
Rank
l33t++
feipoa wrote on 2021-03-10, 03:06:

Isn't there about a 20% overhead for coding on USB 2.0, meaning that theoretical bandwidth would be around 106 megabytes per second? It would be interesting to test this on a fast system with a SSD SATA 3 HDD internally and a SSD USB 3.0 externally. I understand that USB 3.1 may use a different encoding scheme to reduce that 20% overhead to only 3%.

Nonetheless, from 40 MB/s to 80 MB/s on conventional PCI w/USB 3.0 would halve the copy time; this may be important for those who backup their systems on external USB 3.0 drives in the TB range.

I am not sure how you arrive at that 106 Megabytes per second figure for USB 2.0 . 80% of 60MB/second (480Mbits/seconds) is 48MB/second (384Mbits/second) . Maybe you were thinking of the PCI bandwidth number and applied PCI overhead figures to it accidentally ?

I have heard figures of 15 odd percent thrown around, which is in the same ballpark as 20%) but, in practice, 40-ish MB/second is as high as I have personally gotten. Per device effective throughput and total effective throughput for all devices might be 2 different things

It's definitely worth trying USB 3.0 on a legacy PCI bus . As mentioned before, results will likely vary widely based on what else is using the PCI bus at the time (which, in turn, will vary based on PCI and southbridge interconnect architecture). EDIT : A USB 3.0 controller in a PCI slot that is in a system modern enough to be bridged off of PCI Express will likely have 133MB/second of bandwidth practically to itself (thanks to PCI Express' point to point architecture) which will not be representative of an older system .

That all being said, I prefer Gigabit Ethernet for backups and DATA transfer with my NAS. It works with more OSes than USB 3.0 and is easier to set up, IMHO . Since I always have Ethernet anyway, it also saves a PCI slot compared to having both USB 3.0 and Gigabit Ethernet .

EDIT : Lots of variables to consider here. My guess is that performance of USB 3.0 over legacy PCI will vary greatly between systems .

Reply 5 of 29, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Pardon me, yes, I meant the PCI bandwidth would be around 80%*133 MB/s = 106 MB/s, and inadvertently applied it to USB 2.0 bandwidth of 60 MB/s. The human brain is notoriously bad at multi-tasking! I have noted that USB 2.0 max is around 39 MB/s in practice.

I tried to NAS on my Netgear R7000 with factory firmware and it was easy for the data to get corrupted. I'm sure a proper setup will work well with NAS, but I'm not putting in the effort. I also unplug the USB HDD once the data is backed up. Then the HDD goes into a fire safe. Doesn't seem so secure leaving it connected.

As my computer has limited PCIe ports, I had been wondering about USB 3.0 on conventional PCI. I figure someone here must have tested this out, preferably with an external SSD. Best I have are some SanDisk Extreme Pro SD cards which can do 170 MB/s read and 90 MB/s write.

Plan your life wisely, you'll be dead before you know it.

Reply 6 of 29, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

My understanding is that the real-world transfer rate ceiling for USB 2.0 comes about because the protocol is half duplex and that the USB slave must signal back after every transfer, therefore reducing the real-world throughput to a maximum of 30-40 megabytes/sec.

USB 3 is full duplex, so even if the signalling rate wasn't any higher than the ~480mbit/sec of USB 2, it would still enjoy a significant real-world performance gain.

I guess what I'm saying is that if you could find a USB 3 interface on a PCI (32bit, 33MHz) card, then it should still have a substantial performance improvement over a USB 2 interface; regardless of the PCI bandwidth.

My collection database and technical wiki:
https://www.target-earth.net

Reply 7 of 29, by weedeewee

User metadata
Rank l33t
Rank
l33t

don't forget with USB2 the bitrate is the 480megabit/s then you have the coding of the signal, which is 8/10, i think one byte takes up 10 bits, and then you also have the protocol overhead, which is less with larger blocksizes, meh.

so 60MB/s down to 48MB/s down to about 40MB/s is very correct for USB2

feipoa, you can always try to get away with one of those PCIe bus multipliers, though the cheap ones only do PCIe1.0,1.1 x1 so will be limited to about 250MB raw transfer rate.
depending on what you want to use it for, it might suffice for you, eg soundcards...
there are more expensive ones take more lanes to multiply, though they tend to be pretty f'n expensive fwiw.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 8 of 29, by Standard Def Steve

User metadata
Rank Oldbie
Rank
Oldbie

I have a USB 3.0 PCI card in an Athlon XP 2800+ machine. It's...OK. When I copy a single large file from my external 4TB HDD, I get around 48-52 MB/s. The onboard USB 2.0 ports are good for 27-31 MB/s.

This same external hard drive is capable of a near-constant 165 MB/s when used with any of my newer machines. Which still isn't great, IMO. I, too really need to get an external SSD and put those type-C ports to work. 😁

94 MHz NEC VR4300 | SGI Reality CoPro | 8MB RDRAM | Each game gets its own SSD - nooice!

Reply 9 of 29, by weedeewee

User metadata
Rank l33t
Rank
l33t
Standard Def Steve wrote on 2021-03-10, 19:51:

I have a USB 3.0 PCI card in an Athlon XP 2800+ machine. It's...OK. When I copy a single large file from my external 4TB HDD, I get around 48-52 MB/s. The onboard USB 2.0 ports are good for 27-31 MB/s.

Any idea which chip is on it ? might it be this one ? Renesas/NEC - μPD720202

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 10 of 29, by darry

User metadata
Rank l33t++
Rank
l33t++
Standard Def Steve wrote on 2021-03-10, 19:51:

I have a USB 3.0 PCI card in an Athlon XP 2800+ machine. It's...OK. When I copy a single large file from my external 4TB HDD, I get around 48-52 MB/s. The onboard USB 2.0 ports are good for 27-31 MB/s.

This same external hard drive is capable of a near-constant 165 MB/s when used with any of my newer machines. Which still isn't great, IMO. I, too really need to get an external SSD and put those type-C ports to work. 😁

Thank you for that info . What motherboard is it and what are you using as an internal drive and controller ? Could 52MB/second be a limit of the write speed of your internal HDD (the one you are writing to while copying from the external USB 3.0 drive) ?

Reply 11 of 29, by Standard Def Steve

User metadata
Rank Oldbie
Rank
Oldbie
weedeewee wrote on 2021-03-10, 20:06:

Any idea which chip is on it ? might it be this one ? Renesas/NEC - μPD720202

Can definitely check this out once I get home.

darry wrote on 2021-03-10, 20:08:

Thank you for that info . What motherboard is it and what are you using as an internal drive and controller ? Could 52MB/second be a limit of the write speed of your internal HDD (the one you are writing to while copying from the external USB 3.0 drive) ?

Ooh, good point. It may very well be hitting a bottleneck at the internal hard drive rather than the USB card. It's an old WD 250GB ATA/100 drive of some type. I don't have the exact model # at the moment. The motherboard is an Asus A7N8X (nForce2).

94 MHz NEC VR4300 | SGI Reality CoPro | 8MB RDRAM | Each game gets its own SSD - nooice!

Reply 12 of 29, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie
Standard Def Steve wrote on 2021-03-10, 19:51:

I have a USB 3.0 PCI card in an Athlon XP 2800+ machine. It's...OK. When I copy a single large file from my external 4TB HDD, I get around 48-52 MB/s. The onboard USB 2.0 ports are good for 27-31 MB/s.

This same external hard drive is capable of a near-constant 165 MB/s when used with any of my newer machines. Which still isn't great, IMO. I, too really need to get an external SSD and put those type-C ports to work. 😁

Taking the median of those two figures (29MB/sec and 50MB/sec) I'd say that was a fairly substantial increase; that USB 3.0 card is getting you an increased transfer rate more than 70% compared to the USB 2.0 interfaces. All other things being equal, that's fairly impressive.

My collection database and technical wiki:
https://www.target-earth.net

Reply 13 of 29, by dr_st

User metadata
Rank l33t
Rank
l33t
weedeewee wrote on 2021-03-10, 20:06:

Any idea which chip is on it ? might it be this one ? Renesas/NEC - μPD720202

I have only seen one USB 3.0 PCI card thus far - this one. It uses Renesas μPD720201 - like the μPD720202, but 4-port. A good chip overall.

Interesting that they chose SATA/floppy power delivery rather than the more traditional molex.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 14 of 29, by weedeewee

User metadata
Rank l33t
Rank
l33t

Dangit, I keep forgetting that those are PCIe chipsets and the PCI cards have a PCIe-PCI bridge onboard.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 15 of 29, by darry

User metadata
Rank l33t++
Rank
l33t++
megatron-uk wrote on 2021-03-10, 20:25:
Standard Def Steve wrote on 2021-03-10, 19:51:

I have a USB 3.0 PCI card in an Athlon XP 2800+ machine. It's...OK. When I copy a single large file from my external 4TB HDD, I get around 48-52 MB/s. The onboard USB 2.0 ports are good for 27-31 MB/s.

This same external hard drive is capable of a near-constant 165 MB/s when used with any of my newer machines. Which still isn't great, IMO. I, too really need to get an external SSD and put those type-C ports to work. 😁

Taking the median of those two figures (29MB/sec and 50MB/sec) I'd say that was a fairly substantial increase; that USB 3.0 card is getting you an increased transfer rate more than 70% compared to the USB 2.0 interfaces. All other things being equal, that's fairly impressive.

There is definitely a significant improvement. One other thing to consider is that some motherboard chipset USB 2.0 inplementations were better (faster) than others . This may be a factor in this case, because 27-31MB does not seem that great for USB 2.0 on that fast of a machine .

Reply 16 of 29, by gbeirn

User metadata
Rank Member
Rank
Member
weedeewee wrote on 2021-03-10, 21:30:

Dangit, I keep forgetting that those are PCIe chipsets and the PCI cards have a PCIe-PCI bridge onboard.

There are no native (conventional/parallel/legacy) PCI USB 3.0 chipsets as far as I am aware. Any implementation will use a bridge chip.

Reply 17 of 29, by weedeewee

User metadata
Rank l33t
Rank
l33t
gbeirn wrote on 2021-03-11, 01:05:

There are no native (conventional/parallel/legacy) PCI USB 3.0 chipsets as far as I am aware. Any implementation will use a bridge chip.

Which would be completely normal since the most common version of PCI doesn't have the bandwidth for even a USB3 port. Closest one that does would be PCI-X @ 66MHz

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 18 of 29, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I was able to find one of these Startech USB 3.0 conventional PCI cards used for about 1/3 of their advertised price ($34) and thought I'd give it a go. Unfortunately, there aren't any Linux drivers. Normally Ubuntu can install PCIe drivers for USB 3.0 cards based on the same chipset, Renesas NEC D720201, but it doesn't find the Startech card - perhaps due to the bridge chip? Thus I had to test the performance in Windows XP SP3 on my AMD FX-60 system. The test HDD was a Seagate Firecuda hybrid drive and the USB 3.0 device was a SanDisk Extreme Pro SDXC card which has specs of 170 MB/s read and 90 MB/s write. Because my hybrid drive has 8 GB of SSD, I don't really know if writing to the HDD is going to the SSD or the platters, so I only tested case whereby an 8 GB file was being written to the SDXC card via USB 3.0. File system on the HDD is NTFS and the file system on the SDXC is exFAT. I used a stop watch to time the transfers, but I'll only report the rates below.

Using a standard NEC D720201-based PCI-E USB 3.0 card connected to a PCIe 1.0a slot, writing an 8 GB file the SDXC: 51.8 MegaBytes/Second

Using the Startech PCIUSB3S4 USB 3.0 on a conventional PCI slot, also based on the NEC D720201, transfer speed: 31.2 MegaBytes/Second

Using the MB's onboard VIA-based USB 2.0 ports with the same SDXC card, the transfer speed was: 18.4 MegaBytes/Second

To ensure that I was writing to a fresh stretch of real-estate on the SDXC card, I did not delete the previous test sample, but left it on the card and renamed it with a 1 suffix. I also ensured that the USB/SDXC card has the XP policy to optimise for Performance rather than Quick Removal.

So from 18.4 MB/s to 31.2 MB/s offers a 70% increase in transfer rate. Not bad, but not quite double. You would get another increase of 65% if you used a PCIe card [on this particular system].

By way of comparison, in Ubuntu 16.04 LTS, the same onboard VIA-based USB 2.0 controller showed a transfer rate of 23.4 MegaBytes/Second. And the PCIe-based NEC D720201 transferred the same file at 66.3 MegaBytes/Second. I'm not sure why Ubuntu was about 30% faster.

If anybody knows how to get this Startech card working in Ubuntu 16.04 LTS, please let me know.

Plan your life wisely, you'll be dead before you know it.

Reply 19 of 29, by weedeewee

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2021-03-12, 10:57:

If anybody knows how to get this Startech card working in Ubuntu 16.04 LTS, please let me know.

what mainboard are you testing on?
does the included kernel version for that linux dist support the Renesas chip and has pcie support ?
is the bridge detected ? -> lspci
...

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port