USB - Universal Serial Bus

Mainly designed by Intel, pushed into the world by Apple, later adopted by x86 PC world.

Intel

I personally agree to the opinion: Intel mitigates a problem by putting a significant amount of silicon on it, at a very low protocol level. Without question: Intel CPUs are really fast. But their MIPS/Watt ratio is far below best.

Specification freely available - Good!

The headline says it. I like to explicitly point it out. This makes it superfluous to repeat too much things here. The spec is pretty well written, but the described design is far from good.

Speeds

  1. Low speed 1.5 MBit/s, initial revision, later USB 1.1
  2. Full speed 12 MBit/s, initial revision, later USB 1.1
  3. High speed 480 MBit/s, 1st extension, USB 2.0
  4. Super speed, 5 GBit/s, 2nd extension, USB 3.0

Broken by design

USB is broken by design in multiple ways. It has been designed at a time people did already know much better. They did already know: A limited design will be extended over time, if necessary by ill means.

What existing definition could have been used instead of making a fresh definition for USB 1.0? Twisted-pair Ethernet! Of course not that wide-spread at that time as it is today. Add Power to the lines, subtract magnetics (this works!), add a lower speed mode than 10 MBit/s, make some adjustments at higher protocol levels.

Although I write this harsh critics, devices designed by following the spec give a reasonably well working system.

The Host concept (Master)

A Bus (system) consists of:

The Host at very low level is the MAJOR DESIGN FAULT. It is no problem to introduce a Master at a high protocol level, if the Master is automatically chosen from available candidates on Bus.

Polling

Because of this Host concept, every Device which may want to communicate must be polled. Polling means:

Example: Mouse

Let us consider the Human Input Device mouse. The historic Microsoft serial mouse (RS232) sends a 3 byte packet to Host when it has to report any change in state, means either moved or button pressed or released, or just powered on. Host (CPU) got an interrupt (or 3) and processed data. No traffic while idle. No need for any extra error checking, because probability of transmission errors sufficiently low. Silicon in mouse and Host has been much simpler than it is now, software usually, too.

The typical USB mouse tells the Host it needs to be polled every 10 ms (means 100 times a second) for data.

Mass storage protocol limitation, 1.1 / 2.0

USB 1.1 and 2.0 have a bad design of mass storage protocol. It limits the data rates to/from a single mass storage device to approx 33 MByte/s. Practical observations for fast devices are 29 to 34 MByte/s. Connect a 2nd device to same bus, the sum of 2 reaches 44 MByte/s. Connect a 3rd device to same bus, the sum of 3 reaches 47 MByte/s. Depending on your devices, you may get at little more or less.

I observed this 2010-09 and emailed German computer magazine c't 2010-10-02. They did not know this, but reproduced, and did a little research by asking responsible persons, later published an article, but gave no root cause details. ##### I plan to add details later here.

480 MBit/s, assuming high 20% overhead due to encoding for sufficient signal transitions and for protocol, should be good for 48 MByte/s.

BUFFALO shipped devices with a special driver correcting the issues. But they shipped medium speed USB flash sticks with same driver, too, which were much too slow to gain anything by protocol change.

Abused as a well known trade mark

Something like "Wireless USB" is just ill, because termed that way only to attract customers.

Bad Devices

The ordinary end user has no chance to detect these bad devices, because all come professionally packaged.

I wish the large companies would use their power to wipe the spec-violating crap from market.

B.D.: Current Hogs

There are a lot of Devices sold which clearly violate USB spec (1.1 and 2.0) by drawing much to high peak currents, or even average currents. Makers want to have their products cheap to produce, loading the customer with problems they should have been solved.

USB 1.1 and 2.0 clearly set a limit at 500 mA. 2.5 inch harddisks without own power supply tend to draw higher peak currents. Most of the time this works, but user is risking failures and data loss. This overcurrent may even damage the Host.

The real bad thing is: even companies with a good reputation jump onto this train. I refer to e.g. Plextor DVD-Writer PX-L611U (1.04) as tested by magazine c't 2011 issue 12 (2011-05-23) page 62.

B.D.: Thin power wires

Power and Ground cable from Host to Hub, or even the USB cables from device to Hub/Host, especially directly attached (soldered) ones, are often extremly thin and loose a lot of voltage if loaded. This is bad for any device drawing more than a few mA. I have seen already clear violations of USB 2.0 spec (chapter 7.2.1.1).

B.D.: Cheap Cheap Cheap

It looks like there is no design error and spec violation which is not made to create the cheapest and worst product ever seen. This is not a fault of the specification, but of adopters.

B.D.: Common errors of Hub design

These errors are not only in the cheapest Hubs, but in medium price class as well.

USB Flash memory sticks (Mems)

A lot of bad things happened in the past years.

Speed

Some Mems are extremly slow, during linear access, or during random access. MORE LATER

Capacity

Some Mems were advertised as approx twice the capacity they really had. The Mems reported themselfs this too large capacity. I met them in person, and promptly returned to seller! This issue was the root cause for German magazine c't to publish an article and the tester h2testw.exe.

Connector protection

Basically, the standard metallic jacket connector does not need any protection against mechanical damage during storage and transportation. It may make limited sense to protect other pieces (carried in same pocket) from contact with this metallic thing.

The "innovative" retractable designs (sliders), or some turn-around covers (metallic on their own) make very little sense only, as said above.

What is needed is protection of connector contact surfaces from dust and dirt. This can only achieved by a thightly closing thing, like the classic cap.

Shielding, ESD protection

Most sticks on market have only a plastic case. Some have limited cover by metallic parts, which are neither interconnected nor connected to electrical ground of Mems. Only very few have a real metallic case.

My personal feeling is full metall case is best. But let us consider. Plastics uses to withstand e.g. 20 kV / mm field before breaking down and conducting current (raw estimate, going into details is sience on its own, number may be lower). Strongest standard ESD tests applied so far to non-conductive surfaces are 15 kV. Looks still acceptable, unless Maker saves too much material and makes case extremly thin. Nevertheless, rapidly changing fields may affect the Mems even without a direct lightning strike trough into it.

So far, I have not done any conducted ESD test on the 3 pins (VCC, D+, D-) against GND pin. I believe c't did a few tests with bad results, means some Mems killed.

Connector again - jacket

2011 I have seen the first Mems having a plastic jacket at connector, instead of metal. No good feeling. COMPLAINT: They need much more force for plug and unplug, at least in new condition, which mechanically stresses the socket they are plugged into.

Notes

USB mass storage protocol

There are 2 designs, using Bulk endpoints only, or with Interrupt endpoint.

Copied from a text at MSDN: Additionally the USB Mass Storage Working Group has limited the application of Control/Bulk/Interrupt (CBI) Transport to floppy disk drives only. It is recommended that no new USB devices using the CBI Transport be implemented. BOT should be used instead. (BOT: Bulk Only Transport.)

USB 3.0

USB 3.0 is not the natural upgrade like it may appear at first glance. It does not use the same wires like USB 2.0 and lower. Prepare to see nasty effects in near future, devices working well on 3.0 but not 2.0 or vice versa.

I found a nice statement in USB 3.0 spec, page 29: "Product developers understand the infrastructure and interfaces necessary to build a successful product.". I do not know what goes on in their heads, but judging from the output, the devices being on the market, this statement is far from truth.

--- Author: Harun Scheutzow ------ Last change: 2011-07-06 ---