1: USB release dates
USB (universal serial bus) was developed as an alternative to serial
and parallel data transfer protocols. USB 1.0 was introduced in January
1996. As you can see in
Table A, it has been a long time since the USB 2.0 specification was released.
Table A
2: Changes in USB 3.0
USB 3.0 is one of the most anticipated changes to the PC in years. Here is a summary of the major changes:
- SuperSpeed — New higher signaling rate of 5Gbps (625MB/sec)
- Dual-bus architecture — Low-Speed, Full-Speed, and High-Speed bus plus SuperSpeed bus
- Asynchronous instead of polled traffic flow
- Dual-simplex simultaneous bi-directional data flow for SuperSpeed instead of half-duplex unidirectional data flow
- Support for streaming
- Fast Sync –N-Go technology
- Support for higher power
- Better power management
3: The Low-Speed, Full-Speed, High-Speed and SuperSpeed confusion
There are four distinct data rates - not to be confused with the four
USB specifications. Each new major USB specification introduced a new
data rate.
Table B shows USB data rate types supported by the four USB specifications. Each new USB specification has been backward compatible.
Table B
Table C shows maximum data rates for the four data rate types.
Table C
USB 2.0 does not always mean High-Speed. This is usually, but
not always, the case. A device labeled USB 2.0 can operate at Full-Speed instead of High-Speed.
Will this confusing labeling exist for USB 3.0? The USB 3.0
specification supports the three legacy speeds in addition to
SuperSpeed. This is accomplished by referencing, not replacing, the USB
2.0 specification. Low-Speed, Full-Speed, and High-Speed devices are USB
2.0 compliant but not USB 3.0 compliant, so a USB High-Speed device
should not
be labeled as a USB 3.0 device. The USB Implementers Forum (USB-IF) has
developed logos for each of the four data rates. Look for these logos
when buying a USB device.
You can determine whether your USB 2.0 device is a High-Speed device in the Windows Device Manager (
Figure A), although it is not a straightforward exercise. You will probably have to try more than one USB
Root Hub before you find the device you are looking for.
Figure A
Open the Device Manager and expand the Universal Serial Bus
controllers item. Open the Properties window for a USB Root Hub. Tip:
Start at the bottom USB Root Hub.
Next, click the Power tab (
Figure B). If the device
is attached to this hub it will appear in the Attached Devices section.
In this example, I have attached a flash drive and it is displayed as a
USB Mass Storage Device. Note that this Root Hub has six ports available
— one of them used by the USB Mass Storage Device.
Figure B
Finally, click the Advanced tab to see the USB speed (
Figure C). On my system, the top six USB Root Hubs operate at Low-Speed and Full-Speed and the bottom two each operate at High-Speed.
Figure C
4: Actual data throughput
Actual data throughput is usually much less than the maximum advertised USB specification and is a
function of many variables, including overhead. Actual throughput in practice is typically up to
35 -
40MB/sec for USB 2.0 and may exceed
400MB/sec for USB 3.0. NEC recently demonstrated its new USB 3.0 controller
transferring 500MB in 4.4 seconds or “only” 113.6MB/sec. Symwave and MCCI claim to have
demonstrated over 270MB/sec data throughput at the Intel Developer Forum in September 2009.
Bottom line: Don’t expect actual SuperSpeed data rates approaching 400MB/sec anytime soon.
I have a USB flash drive that can read at 26MB/sec and write at
6.6MB/sec and is typical of flash drives available as of late 2009.
These data rates are within the actual High-Speed data rate. But
Faster USB 3.0 flash drives are on the way that can take advantage of the SuperSpeed data rate.
Most hard disk drives can transfer data faster than 40MB/sec. USB 3.0
will be welcomed by those who like to back up data to an external hard
drive or
SSD drive or who have any USB device that transfers large amounts of data.
5: Cabling and maximum cable length
During my days at Hughes Aircraft Company, I was always looking for
ways to save money. I suggested that my supervisor, who sat in the next
cube, share a laser printer with me. But printing over the long parallel
cable caused characters to be intermittently printed as the gibberish
that is so familiar when data loss or corruption occurs. USB cables have
a similar constraint. But unlike my parallel cable problem, there is a
solution.
Table D shows the maximum cable and total lengths.
Table D
*The USB 3.0 spec does not detail a maximum cable length, but 3.0 meters or 9.8 feet has been recommended.
A total of six cables can be strung together using five hubs to
achieve the maximum total length. In practice, the cable to the USB
device counts as one of the six cables, reducing the maximum total
length.
If the USB 2.0 five-meter limit is not long enough for your needs,
you can purchase one or more USB hubs or special cables. There are two
types of hubs: powered and unpowered. Higher power draw devices may
require a powered hub.
Longer total lengths can be realized using
repeater extension cables and
CAT5 extenders for USB 1.0, 1.1, and 2.0. There is also a
special class of USB 3.0 cables that contain circuitry to achieve a length of six meters (19.7 ft). The USB-IF Web site recommends a
USB bridge to achieve lengths greater than 30 meters.
The USB 2.0 specification for a
Full-Speed/High-Speed cable calls for four wires, two for data and two
for power, and a braided outer shield.
The USB 3.0 specification calls for a total of 10 wires plus a
braided outer shield. Two wires are used for power. A single unshielded
twisted pair (UTP) is used for High-Speed and lower data transfer and
allows for backward compatibility.
Two shielded differential pairs (SDPs) have been added. Each SDP
contains three wires, two for signal transmission and one drain wire.
The two SDPs are used for transferring SuperSpeed data allowing for
simultaneous bi-directional data flow.
See the Author’s Notes section at the end of the article for a reference to a USB 3.0 cable cross-section diagram.
6: Power
One of the most significant innovations in USB over serial and
parallel protocols is the addition of power to the specification. Plug
in a USB device and it can be powered from the host computer.
To find the power requirements for USB devices open the Device
Manager, expand the Universal Serial Bus controllers item, Right-click
on Generic USB Hub as in this example or USB Root Hub
(Figure B), select Properties and click the Power tab, as shown in
Figure D.
Figure D
More power has been added in the USB 3.0 specification for power hungry devices.
Table E shows the maximum amperage per port in milliamps.
Table E
There are four basic power states to accommodate a variety of devices
and device states. For information about USB hubs and power, read Greg
Shultz’s article
Understand and exploit USB topology in Windows XP.
Note: The USB 3.0 specification details more power states, including idle and sleep.
7: Limitations
We’ve already discussed some of the USB limitations:
- Maximum data rates
- Actual data throughput
- Cable length and total length
- Power
There are several other limitations that you should know about.
Though you will likely never find it an issue, there is a 127 device limitation
per controller.
Each USB 2.0 Enhanced Host Controller Interface (EHCI) host
controller has a 60MB/sec total bandwidth limitation, and the bandwidth
is shared by all attached High-Speed USB devices. If, for example, two
High-Speed devices like a digital video camera and an external hard
drive are in use at the same time, the last High-Speed device attached
may operate at a lower data rate or a
USB Controller Bandwidth Exceeded
error may occur. If you have two EHCI host controllers on your system,
you may be able to resolve the bandwidth error by moving one of the
High-Speed devices to another USB port. Wikipedia has a
list of I/O Controller Hubs with two or more EHCI host controllers.
Want to know how much bandwidth has been allocated for each USB device in Windows? According to
this MSDN article, you can check Device Manager, if you use Vista or later:
“Starting with Windows Vista, users can see how much bandwidth a USB
controller has allocated by checking the controller’s properties in the
Device Manager. Select the controller’s properties then look under the
Advanced tab. This reading does not indicate how much bandwidth USB hubs
have allocated for transaction translation.
“The Device Manager feature that reports the bandwidth usage of a USB controller does not work properly in Windows XP.”
Figure E shows that three USB devices have been
allocated 4% of the bandwidth available for this Universal Host
Controller. The Fujifilm FinePix S700 digital camera is a USB Full-Speed
device and is therefore listed under one of the Universal Host
Controllers and not one of the Enhanced Host Controllers. The USB
specification defines four data transfer types:
Control,
Interrupt,
Isochronous, and
Bulk. The 10%
System reserved value shown here is used for Control and Bulk data transfers and cannot be changed.
Figure E
During system boot-up and when a USB device is plugged in, a process called
enumeration occurs.
The device is recognized, its speed is identified, and a unique address
is assigned. For devices using the Interrupt or Isochronous data
transfer types, a specific amount of the remaining available bandwidth
is requested, thus guaranteeing that the bandwidth will be available. If
the bandwidth is available, it’s allocated, and the device description
and reserved bandwidth will be listed on the Advanced tab.
Note: Don’t bother looking for the bandwidth used by a Mass Storage device like a flash drive. This class of USB device typically uses the Bulk data transfer type and is not listed on the Advanced tab.
In addition to any of the System Reserved bandwidth that may be
available, devices using the Bulk data transfer mode may use the
remaining non-reserved bandwidth. The Bandwidth Used column heading is
misleading. The bandwidth is allocated/reserved but may not actually be
used.
As you can see in
Figure F, ICH9R Southbridge
supports six Universal Host Controller Interface (UHCI) host controllers
and two Enhanced Host Controller Interface (EHCI) host controllers. The
number of UHCI and EHCI host controllers may be different on your
system. The ICH9R supports a total of 12 USB ports. The six Universal
Host Controllers operate at Low-Speed and Full-Speed and each shares its
bandwidth with two USB ports. The two USB2 Enhanced Host Controllers
operate at High-Speed and each shares its bandwidth with six USB ports.
The Advanced tab shows that 20% of the bandwidth is reserved by each
Enhanced Host Controller for Control and Bulk data transfers.
Figure F
Note: There is another host controller type, not shown, called
USB Open Host Controller Interface (OHCI) that supports Low-Speed and
Full-Speed devices. The name of the new Intel SuperSpeed host controller
specification is Extensible Host Controller Interface (xHCI).
8: Connector and receptacle types
There are a number of USB 3.0 connector and receptacle types:
- Standard-A connector and receptacle
- Standard-B connector and receptacle
- Powered-B connector and receptacle (new in USB 3.0)
- Micro-AB receptacle
- Micro-A connector
- Micro-B connector and receptacle
The matrix in
Table F shows the types of USB 2.0 and
USB 3.0 connectors that will work with USB 2.0 and USB 3.0 receptacles.
Note that according to the USB 3.0 specification Table 5.1, the only
USB 3.0 connector that will work in a USB 2.0 receptacle is the
Standard-A connector.
Table F
A new multi-tiered system has been developed for the extra pins
needed for USB 3.0. The Standard-A connector is slightly longer and the
receptacle slightly deeper to accommodate the new design. Five pins have
been added to the Standard-A connector and receptacle specifically for
SuperSpeed transmit and receive data and ground.
The USB 3.0 specification recommends using a blue color scheme for
USB 3.0 Standard-A connectors and receptacles to distinguish them from
USB 2.0 Standard-A connectors and receptacles.
The USB 3.0 specification includes a new type of connector and receptacle called a
USB 3.0 Powered-B Connector and
USB 3.0 Powered-B Receptacle.
They are identical to the USB 3.0 Standard-B Connector and receptacle,
except that two pins have been added for power and ground. It is
designed to provide power to a USB device without the need for any other
power source. The USB 3.0 Powered-B Receptacle can accept both
Standard-B and Powered-B connectors.
The Micro family of connectors and receptacles are defined for
handheld devices. Unlike the Standard-A connectors with their elegant
design, the Micro connectors and receptacles have a more complex design
with two plugs and receptacles sitting side by side — one for USB 2.0
and the other for USB 3.0.
See the Author’s Notes section for references to diagrams for the USB
3.0 Standard-A Connector, the USB 3.0 Standard-B Connector, and the USB
3.0 Micro Connector Family.
9: Hot-swappable devices and data corruption
I can’t write an article about USB without bringing up the issue of
data corruption. Removing any USB device capable of writing data can
cause data corruption if done improperly. There are three ways to
minimize the risk of data corruption:
- Verify write-back caching is off
- Pay attention to device LEDs
- Safely remove/eject device
First, verify that write-back caching is turned off for the USB
device. To verify write caching status, open Device Manager and
right-click on the USB device. Select Properties from the drop-down list
(
Figure G). In this example, I am checking a SanDisk Cruzer flash drive.
Figure G
Next, click the Policies tab (
Figure H). The Quick Removal (Default) option should be selected. If not, select it to reduce the risk of data corruption.
Figure H
Second, pay attention to device LEDs. Some USB devices will tell you
when data is being transferred to or from the device with a flashing
LED. Simply put, don’t remove the USB device when the LED is trying to
tell you not to.
Third, safely remove/eject device. No doubt you already know how to
safely remove a USB device but I am including it to be thorough. To
safely remove a USB device in Windows 7, click the Taskbar Notification
area Up-arrow and click on the USB icon (
Figure I).
Figure I
Click the USB device you want to eject — Cruzer Micro, in this example (
Figure J).
Figure J
The Safe To Remove Hardware notification balloon will appear when it is safe to remove your flash drive (
Figure K).
Figure K
There is an alternate method for ejecting a USB device that you might
not be familiar with. To safely remove a flash drive using Explorer,
right-click on the logical drive assigned to the flash drive and select
Eject from the drop-down list (
Figure L). You can eject attached drives in Explorer, but be aware that more than one drive may need to be ejected.
10: USB downsides
USB can
cause problems
that can be difficult to debug. For example, on one occasion I was
unable to install XP until I disconnected the USB to parallel cable
attached to my printer.
USB is so convenient and easy to use, it
poses problems in the workplace.
Flash drives are the biggest concern to IT managers. Flash drives are
so small that they are easy to bring into the workplace in a pocket or
purse. The flash drive is a conduit for sensitive or confidential data
leaving the office or malware sneaking in.
In addition, people who are conscious of the risks of
transferring viruses
via a floppy, CD, or DVD don’t think twice about plugging in a flash
drive and transferring files to/from home. Perhaps the best solution to
this problem is education. Flash drives are banned in some government
agencies and companies, though the effectiveness of that policy is
questionable. Interestingly, the DOD is
partially lifting its flash drive ban.
The final word
USB has been such a huge success that a more than 10 times
improvement in speed and an 80% increase in power is almost certainly
guaranteed to be just as successful, right? Well, maybe not. Intel’s
original conceptual designs
for the USB 3.0 cable specified optical fiber cabling to carry the
SuperSpeed data. Copper replaced fiber optics in the final USB 3.0 spec,
but Intel continues to work on a variation of this design known as
Light Peak. It may be available
as early as 2010 in Apple products
before Intel plans to support USB 3.0 in its chipsets.
Light Peak promises double the data rate of USB 3.0 now, with speeds
possibly reaching 20 times the USB 3.0 speeds as the new technology
matures. Perhaps more important in the short term, Light Peak cables may
reach 100 meters (328 feet) in length and may be smaller in diameter
and lighter.
Could Light Peak make its way to the Wintel platform? It certainly
could, and its data transfer capability would leapfrog it past USB 3.0.
So don’t bet just yet that USB 3.0 will be as successful as its
predecessors. Regardless of what happens with Light Peak, USB SuperSpeed
should satisfy USB device data rate requirements for many years to
come.
Resources used in writing this article
Author’s notes
I would like to thank Microsoft for its invaluable help.
In item 5,
Cabling and maximum cable length, you will also need a USB switch and the appropriate USB cables if you are sharing a USB printer with two computers.
I wanted to include some of the USB-IF diagrams that showcased its
new cable and connector designs. I also wanted to include its USB logos
to show you what to look for when buying a High-Speed or SuperSpeed USB
device. I was denied the use of all USB-IF diagrams. Here is a list of
the images so you can look them up yourself if you so choose. They do a
good job of detailing the changes you will see in USB 3.0 cables,
connectors, and receptacles.
Items 5 and 8 —
Cabling and maximum cable length and
Connector and receptacle types:
From
SuperSpeed_USB_DevCon_Physical_Heck.pdf (PDF, 2.33MB):
Page 11 — USB 3.0 Cable Assembly (Cable cross-section diagram)
Page 11 — USB 3.0 Cable Assembly (Type-A connector pin diagram)
Item 8 —
Connector and receptacle types:
From
SuperSpeed_USB_DevCon_Architecture_Overview_Dunstan.pdf (PDF, 3.15MB):
Page 9 — USB 3.0 Standard-A Connector
Page 10 — USB 3.0 Standard-B Connector
Page 11 — USB 3.0 Micro Connector Family.