SAGE - Feature


Some Emerging Peripherals Interconnect Technologies: USB and 1394/Firewire

huang_ping

by Ping Huang
<pshuang@alum.mit.edu>

Although he knows very little about 3D graphics, Ping Huang is a software engineer at Silicon Graphics. Previously he worked on the Gauntlet firewall product and on the IRIX kernel; currently he is working on system software for the new line of Intel/NT-based graphics workstations.

Much press has been made about the increasing push of Wintel systems into what formerly has been nearly exclusively the domain of UNIX workstations and servers. Closer to home, substantial ink has been used to discuss specifically how to administer such heterogeneous environments. However, even if you administer an environment that continues to consist entirely or nearly entirely of UNIX workstations and servers, you should keep an eye on developments in the PC world as UNIX system vendors increasingly incorporate commodity I/O technology from the Wintel world into their systems. From the customer's point of view, the use of components and peripherals that benefit from the economies of scale of the Wintel world can be a great thing, especially in arenas where alternative technologies that the UNIX system vendors could incorporate into their systems instead don't offer any compelling value add.

Examples of I/O technology that have already been widely adopted among UNIX system vendors include PS/2 ports for keyboards and mice and VGA-style connectors for monitors. There's little meaningful value add in having keyboards and mice that use proprietary connectors, and system vendors that continue to use them make it difficult for customers with ergonomic needs or unusual requirements to obtain what they need. Similarly, few tears should be shed now that the drawer full of oddball monitor cables can largely be packed away and forgotten.

Examples of less widely adopted technologies include IDE/ATAPI and PCI. The competitor for IDE/ATAPI, SCSI, offers higher throughput, especially under multitasking operating systems, as well as the flexibility to attach many peripherals to a single SCSI bus. These factors help to justify SCSI's generally higher cost. As for PCI, only recent revisions of the PCI standard provide the level of bandwidth that workstations' proprietary expansion buses have had for years. Furthermore, because PCI add-on cards require their own individual specific device drivers, and UNIX vendors have generally only supplied device drivers for a limited number of cards, customers don't benefit much from the existence of the thousands of low-cost mass-market PCI cards. They may be able to plug such cards into their UNIX workstations, but cannot make use of them.

Several relatively new peripherals -interconnect technologies are emerging in the Wintel world ­ Universal Serial Bus (USB) and the 1394 serial bus (also known as Firewire, a name trademarked by Apple). USB and 1394 have many similarities, but are not identical and should not be confused with each other. As is evident from their names, these technologies are both serial buses rather than parallel buses, which allows for smaller connectors and thinner cables, holding costs down. They both support supplying a modest amount of electrical power to peripherals, a boon for user convenience and a bust for manufacturers of power strips, and allow daisy-chaining dozens of peripherals together. They both support hot-plugging peripherals and specify that identification information be embedded within peripherals so that the host system can automatically identify a device (including one that was just hot-plugged) and load the necessary software support for it. The host can also identify the resource requirements of the peripherals' device drivers and configure hardware and software to avoid any conflicts over interrupts, and such, without requiring user intervention (thus avoiding the unpleasant experience of having to set DIP switches on old ISA boards or having to set SCSI IDs, perhaps through obscure jumper settings). These bus characteristics may be able to elevate Plug'N'Pray (a sardonic description of what Microsoft Windows 95 tries to offer) to true plug and play.

Both buses were also originally largely intended for peripherals that go outside of the system chassis. However, Device Bay, a technology initiative supported by Compaq, Intel, and Microsoft, would provide externally accessible bays on desktop and laptop systems that would accept "cartridges" that are, roughly speaking, the size of a slim CD-ROM drive. Device Bay peripherals would be supplied both USB and 1394 ports, as well as copious amounts of power, because one of the primary target markets for Device Bay would be mass storage devices, many of which require more power than can be delivered over either of the serial buses. In theory, Device Bay could drive enormous penetration of USB and 1394 support by both peripherals and systems vendors, but in practice, there appear to be numerous snags to its wide adoption by system vendors; many of these snags are not entirely technical in nature.

There are also many significant differences between USB and 1394, of course. USB is considerably more mature technology than 1394. More peripherals are available for USB, and Intel chipsets used at the heart of a percentage of PCs shipping today support USB. By contrast, I believe there are today no system motherboards that include integrated 1394 support; one must purchase a separate 1394 PCI controller card. The silicon necessary to support USB is extremely inexpensive, a necessity because some of the peripherals that fall into USB's target markets may retail for less than $10. By contrast, although one of the design goals of 1394 was to keep costs as low as possible, 1394 was not targeted at quite that low a cost level. USB passes the Fry's Electronics test ­ I was able to go down to several branches of this infamous Silicon Valley computer and electronics store and ask employees for help finding a USB cable and receive actual help, rather than a blank stare, in return. 1394 sadly fails this test today. Operating system support also varies. USB is partially supported by the more recent Microsoft Windows 95 OEM preinstalled releases; full USB and 1394 support are promised for Windows 98 and Windows NT 5.0 and can be previewed in the respective beta releases of the two OSs. 1394 is fully supported today by Apple's MacOS 8.0, which isn't surprising because Apple had a considerable head start in that it originally developed the underlying technology under the name Firewire before deciding to promulgate it as an industry standard.

Other differences are more specific to technical variations between the two. USB has a maximum data transfer rate of 12 megabits per second (1.5 megabytes per second), and therefore potential target peripherals must be low- to medium-speed devices, such as human input devices, modems, moderate fidelity audio, or digital camera still imaging. But even a 12x CD-ROM drive, not considered particularly speedy today, would exceed the transfer rate that USB can handle. By contrast, 1394 data transfer rates are much higher. 1394 has been ratified as an IEEE standard ­ IEEE 1394-1995 ­ which defines a top speed of 400 megabits (50 megabytes) per second. (Work continues on a future standard that would extend the top speed upward into the gigabits per second range.) 1394's current top speed of 400 megabits per second falls short of Ultra2 SCSI, but otherwise exceeds the bandwidth of any other mass storage interconnect technology that isn't effectively restricted to high-performance servers due to cost considerations (e.g., Fibre Channel). USB supports bidirectional data communication between the host and the peripheral, but the host is considered a special node on the USB bus. 1394, however, fully supports peer-to-peer data transfers, allowing a host system to set up data transfer between two peripheral devices, such as a digital camera and a digital video recorder, and subsequently not have to be burdened by being involved with the actual video data transfer. In addition to its higher bandwidth making digital video (not just still imaging) possible, 1394 also contains explicit low-level support in its bus protocol for priority delivery of time-critical data, which it calls isochronous, as opposed to the normal asynchronous data transfers. Its ability to reserve bandwidth for isochronous data makes 1394 more attractive than USB for more sophisticated and professional-caliber multimedia applications. (USB also supports isochronous data delivery, but targets consumer-level multimedia and telephony applications).

Only time will tell for certain whether these two technologies will succeed to such an extent that vendors of non-Wintel systems will incorporate hardware and software support into their systems. USB's greater maturity, less ambitious capabilities, and lower cost increase its chance of becoming ubiquitous. 1394's future prospects are less clear; its potential is greater, but so are its complexity and cost. To quote from the Intel presentation at a recent 1394 Trade Association meeting, 1394 faces the danger of becoming a Swiss Army knife that can in theory do everything but can do nothing well. If that happens, 1394 will fail to take off.

Vendors of non-Wintel systems will be forced to make difficult decisions about how much support for USB and 1394 will need to be incorporated into their hardware and software. In addition to system software support for the buses themselves, different peripherals will call for individual device drivers, as is the case with PCI. Unlike with PCI, there appears to be at least some effort by peripherals vendors to establish standards for how their peripherals interface to software such that perhaps a single device driver will be able to control multiple peripherals that fall into the same class of functionality but are from different peripherals vendors. Any such standardization will be to the benefit of non-Wintel vendors.

World Wide Web sites promoting these technologies:
<http://www.usb.org/>
<http://www.1394ta.org/>
<http://www.device-bay.org/>


?Need help? Use our Contacts page.
7th July 1998 efc
Last changed: 7th July 1998 efc
Issue index
;login: index
SAGE home