Is Your USB Design Suffering From Bandwidth Overkill? - Embedded.com

Is Your USB Design Suffering From Bandwidth Overkill?

In this fast-paced world we live in, time is money so every secondcounts; and in the high tech industry, a second can mean success orfailure. Designing your USB system to be as efficient and seamless aspossible requires a USB hub controller that can maximize performance.

USB hub controllers withmultipletransaction translators(TT) have historically been synonymous with higher performance, andwith higher performance comes higher cost. But do multi-TT USB hubcontrollers really have a performance benefit over single-TT USB hubcontrollers in today's designs? A little research may save you frompaying for bandwidth overkill.

USB Hub Controllers 101: The Basics
To understand what to look for in a USB hubcontroller, let's first understand the basic operation of a hub. At avery high level, a USB hub can be thought of as a funnel; you takemultiple inputs and “funnel” them into a single output. The inputs arereceived through the downstream ports and “funneled” through oneupstream port connected to the USB host.

A USB bus operates at a single speed defined by the USB host it isconnected to, so if the upstream port of a USB hub is connected to ahigh-speed USB host all traffic passing through the upstream port mustbe high-speed traffic.

This poses a fundamental problem, since USB peripherals operate atdifferent speeds: low-speed (LS), full-speed (FS) and high-speed (HS).Therefore, the hub must standardize the speed of all traffic passingthrough the upstream port.

All data passing through the upstream port must first pass throughone of two channels: the hub repeater of the transaction translator.For peripherals already operating at the same speed as the USB host, no”speed standardization” needs to occur, so the data is simply passedupstream.

This is done through the hub repeater, which acts like a passthrough (hence the name “repeater”) for the data. In the case where theattached peripherals are not operating at the same speed as the USBhost, the traffic speed is standardized using the transactiontranslator.

A transaction translator (TT) can be thought of as a train station,where LS & FS data catch a ride on a HS train. Sticking with thisanalogy, as LS & FS data enter the “station” the data waits whilethe HS train fills. Once the HS train is full of LS & FS data, itdeparts from the station at HS. Stepping away from the analogy, as theLS & FS data enter the TT it is “packetized” and buffered until aHS data packet is full of LS & FS data and sent through theupstream port at HS.

Let's dig into this in slightly more technical terms to understandwhat is really happening. A TT consists of an upstream HS handler and adownstream LS/FS handler, which are connected via data buffers.

When a transaction begins, the HS handler receives a start-splitcommand to initiate the buffers and begin the translation process. Thebuffers then hold LS/FS transactions while they are being packetizedinto HS packets ready for transfer over the HS upstream bus. Once apacket is ready for transmission, a complete-split command is issuedand the data is passed through the HS handler to the USB host.

The TT uses split transactions in order to efficiently handle HStraffic through the hub. Using split transactions allows the USB hostto start a LS/FS translation while continuing with HS data transfersthrough the repeater. This ensures there is no wasted time waiting fordata translations through the TT, achieving optimal hub performance.

Figure1. Single-TT versus Multi-TT bandwidth trade offs

Single-TT vs Multi-TT: More Is NotAlways Better
As shown in Figure 1, above,  each TT can handle a maximum bandwidth of 12Mbps. In asingle-TTapplication, that 12Mbps of bandwidth is shared across allactive ports. So if LS/FS peripherals occupied all four ports of a USB2.0 4-port hub, the traffic for each peripheral would be fighting fortheir fair share of that 12Mbps of space.

And in certain conditions a device may not even be able to fullyenumerate because the bandwidth required is not available. Multi-TThubs eliminate this problem by providing a dedicated TT for each port,allowing LS/FS peripherals their maximum required bandwidth withoutneeding to share.

So multi-TT is better than single-TT, right? Wrong .

Before we bite at the marketing bait the multi-TT hub vendors havedangled in front of us, let's take a deeper look into these usagemodels.

Let's remember that the maximum bandwidth consumed by a LS USBdevice is 1.5Mbps. So even if you were using seven LS USB devices in a7-port single-TT hub the maximum bandwidth you would require is10.5Mbps, which is still below the 12Mbps available in the TT. Themulti-TT hub will provide no added benefit over a single-TT hub in adesign using LS & HS peripherals.

Four types of USB transfer
That leaves FS USB as the bandwidth hog. But before we write off FS USBaltogether, it's time for a lesson on USB basics. There are four typesof USB transfers: control, interrupt, bulk and isochronous.

Control: Control transfersare used by all USB devices to prepare the device for use once it isplugged into a system. These transfers are very brief and take nearlyzero bandwidth.

Interrupt: Interrupttransfers are used for short bursts of data. For example, your mouse isonly passing data when you are moving it, and that data “interrupts”the PC to let the host know there is movement. Interrupt transfers aretypically used for very low-bandwidth devices that are not used forlong periods at a time.

Bulk: Bulk transfers areused to pass large amounts of data quickly. For example, when you arecopying files onto your external hard drive (HDD) you are using bulktransfers. Since speed is the goal with bulk transfers, they aredynamic and will consume as much bandwidth as possible. The morebandwidth available, the larger the pipe for passing data and thequicker the transfer completes.

Isochronous : Isochronoustransfers are used when timing is crucial. For example, when you areusing a USB webcam to record your latest YouTube music video on yourPC, you want to guarantee the images are received on time in order toavoid skips or glitches in the video.

Since timing is so important with isochronous transfers, devicesthat use these transfers require a set amount of bandwidth to operateand that set amount cannot be changed. If that set amount of bandwidthis unavailable, the device will not operate.

Of the four USB transfer types, only two of them are bandwidthhungry and have the potential of causing bandwidth resource issues in adesign: bulk and isochronous.

As mentioned earlier, bulk transfers are mainly used for massstorage applications where large amounts of data are being transferredat a time, like external HDDs. Isochronous transfers are widely usedfor webcams to guarantee real-time picture quality. But as the researchfirm Instat indicates in their March 2006 USB market report, FS USBexternal HDDs and webcams have less than 15% market share and will becompletely non-existent by the end of 2007 (see Tabel 1 and Table 2, below ).

Table1. USB penetration of external hard disk drive market (units in 1000s).
Table2. USB penetration of Web camera market forecast (units in 1000s).

Let's review
The only scenario where we will see a performance benefit from amulti-TT hub is when using multiple high-bandwidth isochronous or bulktransfer FS USB devices, such as FS external mass storage devices or FSwebcams.

But the market data clearly shows a complete migration to HS USB forboth external mass storage and webcams by the end of 2007. So intoday's design, single-TT hubs and multi-TT hubs are performanceequivalent.

When it comes to silicon, die size equals cost. The larger the die,the higher the cost. Comparing the die size of a multi-TT hubcontroller versus a single-TT hub controller is not as simple asmultiplying by the number of additional TTs.

Each TT has associated support logic, adding to the overall diesize. In fact, when comparing die sizes for a multi-TT and single-TThub controller based on the same process technology, the multi-TT dieshowed a 34% increase over the single-TT die size.

A 34% increase in die size means a 34% increase in die cost, whichtranslates to approximately a 49% increase in resale price to the enduser! Designing with a multi-TT hub controller will make your endproduct nearly 50% more expensive than a performance equivalentsingle-TT hub-based product.

Conclusion
We all want to ensure we are getting the most for our dollar, so thehigher the cost the higher the expected performance. But beforechoosing a hub controller for your next USB design, make sure you knowwhat you are paying for; understanding the architecture behind a hubcontroller and the operation of each component can keep you from makinga costly mistake.

The benefits of a multi transaction translator hub controller arelost in today's USB systems, and you can end up paying for excessbandwidth that is wasted in your design. A single transactiontranslator hub controller can provide the performance you need at theprice you are looking for.

Brian Ellis is a Product Managerin the Consumer & Computation Division at CypressSemiconductor Corp..  He is currently responsible fordefining, developing, and supporting all USB mass storage solutions,USB hubs and USB embedded host controllers. 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.