usb3 v usb2 flash stick speeds

What works, and doesn't, for you. Be specific, and please include Puppy version.
Post Reply
Message
Author
ASD

usb3 v usb2 flash stick speeds

#1 Post by ASD »

My only computer is an eight-year-old desktop with usb2 flash stick sockets.

Yesterday I received, in place of the usb2 flash stick I actually ordered, a new usb3 stick (though backward compatible with usb2).

The usb3 stick works when in a usb2 socket and, to me though not to BarryK, it's surprisingly fast because:
One observation: I reported this on my blog. A USB3 Flash stick is much faster than a USB2 Flash stick, even in a USB2 socket!
So, to enhance the experience even if your PC only has USB2 sockets, use a USB3 Flash drive.
The above quote from BarryK is found in his opening post here:
http://murga-linux.com/puppy/viewtopic.php?t=106460
and that observation he reported on his blog is here:
http://barryk.org/news/?viewDetailed=00323
------------------------
I look forward to any further expert quotes/comments and/or test results (for read and ideally write) by any Forum member who has any fast usb3 flash stick and both usb3 and usb2 access (BarryK says 60MB/s is the upper limit leveller for usb3 in usb2 socket advantage).

User avatar
Burn_IT
Posts: 3650
Joined: Sat 12 Aug 2006, 19:25
Location: Tamworth UK

#2 Post by Burn_IT »

I did some tests with an Integral 16Gb USB 3.0 drive

It was 7 times faster in a USB3 socket than a USB2 one.

I will test a USB2 drive in the same sockets and report, though bear in mind
you cannot compare speed between the two drives.

The USB 2 drive was only about 1% faster which is not surprising as it is not the fastest of drives anyway.

A faster drive went up by 35%
"Just think of it as leaving early to avoid the rush" - T Pratchett

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#3 Post by greengeek »

In my experience usb stick speed is surprisingly variable depending on which port you put it into.

Bear in mind that many PCs have more than one usb controller driving external ports. Often one controller handles internal usb devices (such as touchpad, touchscreen, webcam etc) and may also drive an external port or two, while remaining external ports are fed from a completely different controller.

Controller bus speed can be affected by speed of connected devices so a port may behave differently according to the sum total of attached devices.

But there is another problem too - different puppies load different drivers for a given controller so port speed may be lower than you would expect from the hardware spec. Even a usb 3 port may behave like usb 1 if the driver is incorrect or if puppy detects the attached device incorrectly

gcmartin

#4 Post by gcmartin »

@Greengeek +1

Also, since each stick I have (about a dozen) is different with ALL from different manufacturers and being both USB2 and USB3 on PCs that ONLY have USB2 ports, the sticks vary widely in performance.

There are some that are faster than others with the 3 USB3 sticks being NOT A CLEAR winner over USB2 sticks, in performance.

Lastly, I have reported that I have found an old ATA HDD in a USB2 enclosure outperforms sticks. The workloads I tested were, both, sequential and booting workloads.

Based upon my findings, USB sticks (no matter USB2 or USB3) should, IMHO,
ONLY BE LOOKED AT FOR THE MERE PORTABLE CONVENIENCE FACTOR on old PCs without USB3 ports.

Your mileage performance will vary.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#5 Post by greengeek »

I do recall reading a forum somewhere (maybe Ubuntu?) where they were discussing usb copy performance under Linux and they compared UHCI and EHCI drivers and the general consensus was that it was very hard (or impossible) to get Linux to operate it's usb speeds at anywhere near what Windows was capable of.

Don't know if that still applies but I expect that performance will vary considerably between puppies.

Just as a matter of interest I thought i would run the following command on my laptop:

Code: Select all

# lspci -v|grep HCI
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03) (prog-if 00 [UHCI])
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03) (prog-if 00 [UHCI])
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03) (prog-if 20 [EHCI])
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03) (prog-if 00 [UHCI])
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03) (prog-if 00 [UHCI])
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03) (prog-if 00 [UHCI])
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03) (prog-if 20 [EHCI])
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03) (prog-if 01 [AHCI 1.0])
03:0b.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller (prog-if 10 [OHCI])
# 
You can see two types of driver in use so some ports will be running at slow speed (although that is called "full speed" in usb lingo) and some ports are running at high speed (usb 2.0)

EDIT : some good background info here although perhaps a little dated.

EDIT 2 : and now that I think about it I should also mention that it is important to take care when using a usb 3 external disk drive in a usb 2 port. Part of the usb 3 spec is that the port must be capable of delivering at least one Amp of current. Older usb ports struggle to provide the power requirements that are a standard part of the usb3 spec. This probably doesn't affect usb3 sticks as they have a significantly lower current requirement than drives.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#6 Post by greengeek »

If anyone is investigating the data speeds and driver types for their usb buses the following command may be useful:

lsusb -t

Sample output:

Code: Select all

# lsusb -t
6-1:1.0: No such file or directory
6-2:1.2: No such file or directory
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=vend., Driver=, 12M
    |__ Port 2: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
    |__ Port 2: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
    |__ Port 2: Dev 3, If 2, Class=app., Driver=, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 5: Dev 3, If 0, Class=stor., Driver=usb-storage, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/4p, 480M
# 
Can't say that I fully understand how to interpret this info but it does show a significant difference in speed between my buses. If you want best speed then your fastest stick needs to be on your fastest bus.

Post Reply