I move around computers a lot.  For work, life is easy, it’s all on Citrix XenDesktop and the data is just … “there”.  At home, I also have lots of computers but I gave up long ago declaring any of them “primary”.  All of my personal data lives on removable media, which I generally carry with me on a USB Thumb Drive or on SDCard, yes encrypted.  I “was” on SDCard, but recently moved back to USB Thumb Drive.  Frankly, the SDCard was better, but I’m using some computers now that don’t have a hole for SD Cards, so had to go back to USB.

When buying USB equipment, I’m always keen to make sure it has the “USB 2.0” label.  Why?  Because I went to the USB 2.0 conference in 2000 and they said it was important!   More importantly, I want to ensure that things work with other devices and passing the tests to get the logo is actually important testament that this will work.

USB Speeds

USB comes in 3 speeds.  I hear there are new improved flavors on the way, but stick with me for the moment.

  • Low speed 1.5 Mbps
  • Full speed 12.0 Mbps (think 1996 – USB 1.1 Full Speed)
  • High speed 480.0 Mbps (year 2000 – USB 2.0 High Speed)

“Low speed” is perfect for slow things like keyboards and mice.

“Full speed” is good for fast stuff back when T-1 was considered fast.

“High speed” is the ticket for anything moving lots of data, like video cameras or [drum roll], I expect USB Thumb Drives.

Plugged my USB Drive into computer and … it seems “slow”.  Is it measured slow?  No, it just “Seems Slow”.

Break out the tools

Microsoft produced a tool a long time ago called USBView.  The copy I’m running is from 2003 and I really should upgrade, but it seems to work okay.   Run the tool and it shows

The part we care about is “Device bus speed” and the part we really care about is where it says “Full”.

Full!

Really!  I paid good money!  About $40.00 if I recall correctly, and all I got was “Full”.  I’m not really happy about that.

USB 2.0 logos and speeds

USB 2.0 comes in 3 flavors.  Getting a USB 2.0 logo does not mean “High speed”, it means alot of good things, but it doesn’t mean 480Mbps.  That distinction is reserved for the “USB 2.0 high speed” logos.   Surely I was smart enough to look for the “high speed” logo on the box when bought the device!  Apparently, I wasn’t…

Checking Staples today, I see that the new version of the same “Staples brand” device I bought does indeed list “USB 2.0”, but it does not list “High speed”.   Things to observe above again, Staples didn’t manufacture the device, the chip that is the foundation of the device was produced by Alcor Micro Inc.

Checking their website, I see two things.  First, they have a USB 3.0 chip set on the way and … their 2.0 level chip does not claim to have USB 2.0 “high speed” support.  The specs though do state

  • Complies with the standards defined in USB v2.0, USB Device Class Definition for Mass Storage and Bulk-Transport v1.0
  • Improve read performance reach 32MB/Sec
  • Available in 48-pin and 68-pin LQFP 7x7mm package to support 4CE pin flashx2pcs

Okay, I don’t care about that 3rd item, but the first two are important.

First, it meets spec for USB 2.0 and second, it can READ at 32 MB/Sec!

Math time

Notice big “B” means BYTES and little “b” means bits.  USB 2.0 “Full speed” is 12 Mbps and this thumb drive flash chip can read at 32MBps. Presumably, it will write MUCH slower, but let’s stick with read performance.

Converting to bits so we have apples and apples.

32MBps * 8 bits / Byte = 256 Mbps max read speed.

Cramming 256Mbps into a “Full speed” USB pipe that can transfer 12Mbps at max spec, we end up with a pretty pointless spec!    Plumbing 256Mbps though a 480 Mbps spec by contrast would work good.  What size pipe do we have?

If the device is plumbed at “Full speed”, then no matter how fast the chip will pull bits from flash memory, it will only be able to cram that onto the USB bus at 5% of its stated speed.

Things to learn

The reasons you initially think something is slow are not necessarily the cause.  In this case, the debug may not be done.

Next steps

Why does the device respond as “Full speed”?  Is it really “High speed” and I’ve messed it up with something in my PC?  Quite possible! It’s even possible that this 6 year old computer doesn’t support high speed or that I don’t have the right device drivers installed.

Checking specs on the computer, I observe

  • 6 USB 2.0 ports

Okay – still no help.  Are these USB 2.0 ports “High Speed”?

Back to USB View. This time checking on the hub.

  • USB#ROOT_HUB20#4&4c4ebc6&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}

Looked up in online listing and didn’t find a hit.

Windows Device manager.  Find the USB Hub.

Yup – worthless.  They always hide the good information.  Change that Property field to Hardware Ids and we have something good.

Look up those device Ids on the internet and we find the USB Hub is produced by Vender = 10DE which is nVidia. Okay, makes sense, they did the motherboard graphics for this computer could be a chip set.

Stuggled to convery 005B into a “spec”.  More searching shows found this link to query “High Speed” USB, link.  “USB Man” says the keyword is “Enhanced”.  I have that!  So, should have “high speed”.

Bottom line of all this investigation, it looks like my USB thumb Drive does not meet “Joe’s specs”.  Time to spend more than $40.00.

The future

Once USB 3.0 comes along, maybe this slower transfer stuff will be a thing of the past.  Then again, maybe they will still have “slow transfer” rate yet achieving spec for a 3.0 level logo.  This is even reasonable!  1.5 Mbps is PLENTY for a mouse and there’s no reason to go expensive when it isn’t needed.

For USB Thumb Drives, come on people!   480Mbps should be a GIVEN!

Joe Nord