You are Here:
Linux Lite 4.6 RC1 has been released. See the Release Announcements section for more information.



USB 2.0 connectivity exceeding the theoretical limit of 35 MB/s - how come?

Author (Read 474 times)

0 Members and 1 Guest are viewing this topic.

 

m654321

  • Gold Level Poster
  • *******
  • 823
    Posts
  • Country: gb
  • Reputation: 80
  • Linux Lite Member, 'Advocate' & Donator

  • Linux Lite: 3.8 64bit

  • CPU: Intel Core T7100@1.8GHz (2cores) on a Dell Latitude D630

  • MEMORY: 4Gb

  • VIDEO CARD: Intel GM965/GL960 Integrated Graphics Controller
The other day, I backed-up data on my Dell Latitude D630 (an LL3.8 setup), transferring files of various sizes from the laptop's internal drive to an external drive (both SSDs: 1TB Samsung 850 Evo). While doing this, I was surprised to see transfer speeds apparently exceeding the theoretical limit of 35MB/s for USB 2.0 connectivity, according to the onscreen File Operation Progress notification - see link at https://imgur.com/a/mn8QvLs

Several times, peak transfer rates hit around 60 to 70 MB/s, though most of the time hovered between 25 to 35 MB/s. I was unable to find any references on the web regarding overshoot in USB 2.0 connectivity speeds.
Last Edit: April 11, 2019, 02:33:37 AM by m654321
Linux user since 2014. Below: 64bit OS installed in Legacy mode on MBR (msdos/ext4) formatted SSDs, except the pi which uses a micro SDHC card:
2017 - Raspberry pi 3B (4cores) ~ Arm710@1.2GHz - LibreElec, used for upgrading our Samsung TV (excellent for the task)  
2012 - Lenovo G580 2689 (2cores; 4threads] ~ i3-3110M - LL3.8/Win8.1 dual-boot (LL working smoothly)
2011 - Samsung NP-N145 Plus (1core; 2threads) ~ Intel Atom N455@1.66GHz - Manjaro (tried LL3 series but lagged)
2008 - Asus X71Q (2cores) ~ Intel T3200@2.0GHz - LL4.4/Win8.1 dual-boot (LL working beautifully)
2007 - Dell Latitude D630 (2cores) ~ Intel T7100@1.8GHz - LL3.8/Win8.1 dual-boot (LL really zippy!) - my daily driver  :-)
 


 

bitsnpcs

  • Platinum Level Poster
  • **********
  • 3185
    Posts
  • Country: 00
  • Reputation: 300

  • Linux Lite: 3.2 64bit
Hello m654321,

this says maximum 60MB/s - https://en.wikipedia.org/wiki/USB#USB_2.0

There is info about USB 2 in this pdf - https://www.pjrc.com/teensy/beta/usb20.pdf
 

 

TheDead

  • Gold Level Poster
  • *******
  • 559
    Posts
  • Country: ca
  • Reputation: 51
  • Linux Lite Worshipper
    • My OpenDesktop Projects

  • Linux Lite: 3.8 32bit

  • CPU: HAL9000

  • MEMORY: 1Gb

  • VIDEO CARD: Oculus Rift v.5
Heya!

This maybe old school thinking but it could be because of "what" is transfered?
When transfering plain text files over a "modem" internet connexion for example, data can be compressed in real time by the hardware and show as transfering 2-3 times the native bandwith.
Already "compressed" files like pictures (jpg, gif, png) or videos though only show "normal" speeds.

I have not looked at transfered speed for years and taken the "relaxed" approach since have the slowest-high-speed internet available (hence cheapest ;) ) and also have a little network box (NAS) at home doing all the work on my local network.
When I transfert I just click and go do something else. Same with loading screens... but this is a lot less since I'm using Linux now and not so much the "other" OS wink, wink.
 
_Edit : typos
Last Edit: April 16, 2019, 08:42:08 AM by TheDead
- TheDead (TheUxNo0b)

If my blabbering was helpful, please click my [Thank] link.
 

 

m654321

  • Gold Level Poster
  • *******
  • 823
    Posts
  • Country: gb
  • Reputation: 80
  • Linux Lite Member, 'Advocate' & Donator

  • Linux Lite: 3.8 64bit

  • CPU: Intel Core T7100@1.8GHz (2cores) on a Dell Latitude D630

  • MEMORY: 4Gb

  • VIDEO CARD: Intel GM965/GL960 Integrated Graphics Controller
Hello m654321,
this says maximum 60MB/s - https://en.wikipedia.org/wiki/USB#USB_2.0

Many thanks bitsnpcs - this wiki link was really interesting - not sure where exactly where I got the 35MB/s limit for USB 2.0 connectivity from!  ::) 

So, according to this link, 60MB/s does appear to be possible for USB 2.0 (designated High Speed, 2000), which explains what I observed.  Interestingly too, is the info it gives for USB 3.0 (designated Superspeed, 2008), where it says it's realistic to get 400MB/s or more.

Based on personal observation, there would appear to be two other factors affecting USB connectivity: CPU speed (e.g. i3 vs. i7) & Drive characteristics (e.g. SSD vs. HDD, HDD rpm) - these were my finds:

1. CPU - when transferring data from an internal SSD to and external 10TB HDD (7200 rpm), USB 3.0 connectivity rates averaged around 80 MB/s for an i3-3110M machine compared to 110 MB/s for an i7-4710HQ one.

2. Drive Characteristics - as expected there  seem to be huge differences in USB 3.0 connectivity rates between an SSD-to-SSD system, compared to an SSD-to-HDD one. For example with a i7-4710HQ machine, I would get rates of 300-400 MB/s (peaking at 400-500 MB/s), when copying from an internal SSD to an external one. This would drop to around 110 MB/s (peaking at 120-130 MB/s), when copying from an internal SSD to an external 7200 rpm HDD, as mentioned above.

Again, there would of course be differences between copying to an 5400 rpm HDD vs. a 7200 one, but I haven't done any observations to quantify this.

Many thanks again bitsnpcs & please excuse the delay in replying to you - I've just been tied up with other things recently ... 
Last Edit: April 24, 2019, 12:42:25 AM by m654321
Linux user since 2014. Below: 64bit OS installed in Legacy mode on MBR (msdos/ext4) formatted SSDs, except the pi which uses a micro SDHC card:
2017 - Raspberry pi 3B (4cores) ~ Arm710@1.2GHz - LibreElec, used for upgrading our Samsung TV (excellent for the task)  
2012 - Lenovo G580 2689 (2cores; 4threads] ~ i3-3110M - LL3.8/Win8.1 dual-boot (LL working smoothly)
2011 - Samsung NP-N145 Plus (1core; 2threads) ~ Intel Atom N455@1.66GHz - Manjaro (tried LL3 series but lagged)
2008 - Asus X71Q (2cores) ~ Intel T3200@2.0GHz - LL4.4/Win8.1 dual-boot (LL working beautifully)
2007 - Dell Latitude D630 (2cores) ~ Intel T7100@1.8GHz - LL3.8/Win8.1 dual-boot (LL really zippy!) - my daily driver  :-)
 

 

m654321

  • Gold Level Poster
  • *******
  • 823
    Posts
  • Country: gb
  • Reputation: 80
  • Linux Lite Member, 'Advocate' & Donator

  • Linux Lite: 3.8 64bit

  • CPU: Intel Core T7100@1.8GHz (2cores) on a Dell Latitude D630

  • MEMORY: 4Gb

  • VIDEO CARD: Intel GM965/GL960 Integrated Graphics Controller
This maybe old school thinking but it could be because of "what" is transfered?

Many thanks for your reply - again please excuse the delay in my reply.
Yes, the types of file being transferred does influence transfer rates. I read somewhere that transferring a collection of mixed files (e.g. different file types & sizes) was slower than if the files were more uniform, and have noticed this myself from time to time.

You mention internet connectivity - this thread was only looking at internal-to-external drive connectivity via USB.
Last Edit: April 20, 2019, 02:06:39 AM by m654321
Linux user since 2014. Below: 64bit OS installed in Legacy mode on MBR (msdos/ext4) formatted SSDs, except the pi which uses a micro SDHC card:
2017 - Raspberry pi 3B (4cores) ~ Arm710@1.2GHz - LibreElec, used for upgrading our Samsung TV (excellent for the task)  
2012 - Lenovo G580 2689 (2cores; 4threads] ~ i3-3110M - LL3.8/Win8.1 dual-boot (LL working smoothly)
2011 - Samsung NP-N145 Plus (1core; 2threads) ~ Intel Atom N455@1.66GHz - Manjaro (tried LL3 series but lagged)
2008 - Asus X71Q (2cores) ~ Intel T3200@2.0GHz - LL4.4/Win8.1 dual-boot (LL working beautifully)
2007 - Dell Latitude D630 (2cores) ~ Intel T7100@1.8GHz - LL3.8/Win8.1 dual-boot (LL really zippy!) - my daily driver  :-)
 

 

bitsnpcs

  • Platinum Level Poster
  • **********
  • 3185
    Posts
  • Country: 00
  • Reputation: 300

  • Linux Lite: 3.2 64bit
Glad it helped @m654321  :) your personal observations are interesting, I agree with them.
 


 


Linux Lite 4.6 RC1 has been released. See the Release Announcements section for more information.