SemiAccurate had a lengthy interview with VIA Labs project manager Terrance Shih about the company's USB 3.0 products. You can read the full Q&A over here.
S|A: What’s been the most difficult part when it comes to engineering a USB 3.0 host controller?
VLI: Pushing the speed limit always brings new challenges and USB 3.0 was no different. As speeds increase, design tolerances and signal integrity margins become tighter and higher-order parasitic effects that were safely disregarded become very significant. One of the biggest challenges in USB 3.0 in general is actually the physical layer, which is the lowest and most fundamental part of a network or bus. The physical layer comprises of the connectors, cables, and the actual technologies involved in sending and receiving raw data bits. This part is so challenging that some companies actually outsource this part of the design. We’re quite proud to say that we built every critical piece of our Host Controller, from the physical layer up to the drivers.
Hardware aside, the other large obstacle is the driver effort. USB 3.0 introduced xHCI, which is a new Host Controller Interface. If we left it like that, everything would be fine, but there has been a push to have xHCI handle USB 2.0 and 1.1 as well. Currently, we have EHCI and OHCI/UHCI to handle USB 2.0/1.1, but with the transition to xHCI, it’s been a big challenge to have xHCI work as seamlessly. Ironically, implementing USB 3.0 was relatively easy, but with billions of USB 2.0 and 1.1 devices in existence and given the fact that xHCI is different from EHCI and OHCI/UHCI, retaining transparent interoperability with USB 2.0 and 1.1 devices is a big challenge.