Why USB-IF ruins USB with 3.0

The Universal Serial Bus Implementers Forum (USB-IF) has updated their Specification to level 3.0 last summer.  A quick summary why the new specification is going to ruin USB as we know it. The revision has added a new type of USB called: Super Speed.

Changelog 3.0 vs. 2.0

The new standard in a nutshell.

Target

Support up to 4.8 gbit/s raw data, full- duplex, and backwards-compatible. USB ‘wants’ to compete with Gigabit ethernet, and firewire.

Mechanical aspect

To achieve this goal a new type of cable is required. The USB-IF has designed a new six data-wire cable, adding four new data connections to the device. The data wires put a strain on the connector, so a new one has been developed. It incorporating both backwards compatibility, and four additional pins.

Backwards compatible hub via interconnect. A new type of hub has been introduced. It incorporates the entire High Speed specifications with the addition of a Super Speed chip. The ports are virtually linked to either the High Speed or Super Speed. Depending on device and cable the USB mode is set.

Physical Layer

USB prior to 3.0 signals between chips with bit-stuffing & no return to zero. The new revision has completely rewritten this method. It now relies on IBM’s 8b/10b encoding, scrambler, and Spread Spectrum Clocking. Which increases the amount of bandwidth available, as it’s signal reliability.

Datalink Layer

USB has switched to a new model with a additional datalink layer, like the TCP/IP standard. This layer transfers frames at link level. A link in USB terms is a connection between two devices, a host to device, or hub to device. Frames are no longer transmitted over the entire tiered-star bus, but are confined to it’s destination and routing hubs.

Protocol Layer

A protocol transports packets from host to device, device to host, and is referred as end to end. Various types of packets are available for transmission, the same as USB < 3.0 standard. The transfer of asynchronous data transfer is possible. The host starts interaction with a device, the device requests asynchronous data transfer, the host has to confirm.

Conclusion

Many aspects of USB 3.0 show to be very promising, techniques used are proven in use. The addition of 8b/10b encoding should have many benefits. As the datalink layer is concerned, very nice addition, it increases security and should add more speed to the bus.

However the idea of a Polling host still persists. The host has to initiate all data transfers to all devices. Even when devices are in idle mode, the host has to check each of them for possible transactions. That’s why USB has the maximum amount of three meters. Else the delay with 127 devices would be to great.

When examining the protocol layer, a number of packet types seem redundant, and not fully specified. Some packets have subtypes, and can be slightly altered by a vendor. There are even packets with subtype who differ in packet heading. Moreover a lot of reserved blocks are present, maybe it’s reserved space for future expansion. The specification is very limited on this part.

Last but not least, the new mechanical bits. What’s up with that? Backwards compatible with the same type of connectors? They’d rather make a whole new connector and call USB 3.0 USB-3 and make the connectors completely from scratch, like Firewire did with 1394-800. The problem with the interconnect hub, supporting both High Speed and Super Speed with two physical hub’s would not exist, and would have kept costs down.

Due to the increase of complexity, and strange forced structures I reckon USB-IF has failed to make USB any better, they’ve even made it worse.

Leave a Reply