What is Firewire?
Apple's trademark for the IEEE 1394 family of standards. FireWire 400 is “S400” IEEE 1394a and is capable of roughly 400 Mbit/sec and uses the rugged 6-pin socket (not the abominable 4-pin socket). FireWire 800 is “bilingual S800” IEEE 1394b-2002 and uses a 9-pin socket. FireWire is one of at least four different terms for IEEE 1394, including “iLink”, “DTVlink”, “mLAN”, and sometimes just “DV”. Anybody can get the rights to use the FireWire (or iLink) name by passing the compliance tests defined by the 1394 trade Association. There is a lot of misinformation about the history and technology of Firewire ... including who invented it and the licensing conditions.
Who Invented Firewire?
There are many people and organizations that worked together to “invent” Firewire. (See the brief history below.) The primary people (besides me) include:
- Roger Van Brunt (Apple) and Florin Oprescu (Apple), who did most of the work on the original transceivers. Which indirectly led to National Semiconductor's creation of the industry standard “LVDS” (low voltage differential signalling) interface in the early '90s. Roger is currently at RF Microdevices and Florin is at Linear Technology.
- Florin Oprescu and William Duckwall, who invented the arbitration and initialization protocol used in 1394 ... Bill further enhanced the protocol which resulted in the major technical enhancements in 1394a. Bill is currently working with Roger at RF Microdevices.
- David James, who, along with me, invented the isochronous access method that allows Firewire to simultaneously transfer streaming data (audio and video) along with low-latency asynchronous data (disk data, IP networking, etc). David was also the one that pushed to allow Firewire to act like a memory bus, which was the key innovation that allows Firewire disks to be their own DMA controllers .. something that the rest of the world is finally catching up to with something called “RDMA” (remote DMA) used in the iSCSI universe. David is no longer with us.
- Paul Walker and others at ST Microelectronics invented the data-strobe encoding system used in 1394 and 1394a. This allows roughly twice the data transfer speed over traditional clock-and-data interfaces.
- Jerry Hauck and David LaFollette (both at Intel when they did this) invented the “BOSS” protocol used in 1394b and 1394c to allow bus arbitration to proceed in parallel with data transfer. David Wooten and I enhanced this a bit to make it run at optimal speed regardless of network topology.
- Alistair Coles and others at HP Labs (Bristol, UK) invented the encoding methodology that allows 1394b to run so fast and still meet FCC class B emissions specs.
I'm sure there are others, but those are the primary ones.
What Are the License Fees?
US$ 0.25 per end user system. That means if a hub has 1394 functionality, then the manufacturer owes 25 cents per hub. On the other hand, if an automobile uses 1394 (a process that started but never got off the ground, but a project called IDB-1394 was intended for entertainment networking), then the automobile manufacturer owes 25 cents per automobile. The fees are paid to the 1394 Licensing Authority, which then distributes shares of the fees to the various patent holders (which include Apple, Sony, Canon, ST Microelectronics, Matsushita, etc, etc).
Apple allows anyone to use the name "FireWire" for free providing that they sign a trademark agreement. Using the phrase “FireWire compliant” requires a different process.
So how did all these other stories (like the $1/port fee to Apple) get going? Read on …
A Short History of Licensing
When Apple was participating with the IEEE p1394 working group (I was chair and Firewire technical lead), we proposed licensing all of Apple's blocking patents for $3k, one time fee, and only for “the point of first use” ... the IC's that implement the protocols. Under that agreement, the IEEE agreed to include the appropriate patents in the standard.
Apple never intended to charge for the use of the name “Firewire” ... you could get it for free if you just signed an agreement to use it only for a product that was compliant with IEEE 1394-1995 (the original version of the standard).
After Steve Jobs came back to Apple, he was somehow convinced that Apple should change the game midstream and ask for $1 per port for the Apple patents (his argument was that it was consistent with the MPEG patent fees). I left Apple before Steve came back, so I have no idea how this really happened.
This annoyed everyone (including yours truly) immensely ... particularly Intel which had sunk a lot of effort into 1394 (the improved 1394a-2000 and 1394b-2002 standards are partly based on Intel work). The faction of Intel that doesn't like open standards like 1394 used this as an excuse to drop 1394 support and bring out USB 2 instead. (There are lots of other stories about this whole process, but this is my favorite).
Simultaneously, Sony and the other 1394 backers pushed hard back at Apple noting that they all had patents too .... and if Apple wanted $1 port, so did they ... which meant that Apple would have to pay about $15 to every else to do Firewire ... not a pleasant picture. The result was the “1394 Licensing Authority”.
A very good idea. The 1394 TA has defined a nice set of tests that, when passed, allows a vendor to use a distinctive logo:
(or, if you really insist, )
Why All These Names?
Well, it certainly wasn't my idea. The “Firewire” name was chosen by a bunch of engineers drinking too much beer after hours just before Comdex '93, when the project was about to go public (IBM, Apple, TI, WD, Maxtor, Seagate were all showing drives/silicon/systems). We were under the gun since the marketing droids would have picked some name like “Performa” if we hadn't acted soon. (The original project name, BTW, was “Chefcat… the name of my favorite coffee cup). The extra capitalization (from “Firewire” to “FireWire” was the big marketing-based change). Apple and TI got the “Most Significant New Technology” award from the late, lamented Byte Magazine at Comdex '93.
The “iLink” name was invented by Sony and was adopted by some of the Japanese consumer electronics firms. It usually refers to systems that use the suboptimal 4-pin connecter defined in IEEE 1394a-2000. Unfortunately, it also refers to a lot of other things (Just do a “ilink -1394” search on Google!)
“DTVlink” was used for digital televisions that conform to the CEA profiles for 1394-based devices (I don’t believe such devices were ever sold in volume.)
“mLAN” is a Yamaha trademark for their extensions to 1394 to support digital musical/audio devices (now all discontinued).
“DV” was the name used on many non-Sony camcorders to label their 4-pin 1394a ports.
My trademark coffee cup at Apple from 1988 until 1994. It had a cartoon from B. Kliban titled "Chef Cat". (I can't find an image of it on the web these days. You can get an old screen saver that includes it, however.) Interestingly enough, the cup was broken just before the FireWire team got pink slips from Apple ... fortunately for all concerned, Jonathan Zar and I managed to get the layoff cancelled by finding another group at Apple to sponsor the work. The cup still exists as part of a goodby gift given to me by Andy Carter when I finally left Apple in 1996 to found Zayante, Inc.
Why the 4-Pin Connector Sucks
There was a great deal of work put into the original 6-pin FW400 connector so that it would be mechanically robust. One of the primary features is that the moving parts were all in the plug (all connectors have moving parts ... those little springy bits that apply pressure and make sure the connection is good and tight). This way the part of the connector/socket system that wears out is in the cable. When something goes wrong (as it will in any mechanical system), you throw out the cheap, easily replaceable component ... i.e., the cable. Unfortunately, with the 4-pin design, the moving parts are in the socket ... so when you buy a slightly off-spec cable at your favorite cheapo retailer and plug it into your camcorder, you might ruin the camcorder. With the 6-pin design, your ruin the cable. This actually happened in the early days of the DV camcorders and I got in a bit of a public spat with VP of a large CE company about it.
Sigh. This is what happens when people don't talk to each other. The large CE company selected the 4-pin connector without discussing it with any of the FireWire/1394 experts.
The 1394b standard defines a new mode of operation, called “Beta” which provides much higher speeds and longer distances. Beta mode is quite different from the old 1394-1995 and 1394a-2000 operation (now called “Legacy” or “DS” mode). 1394b ports (which use a more compact and rugged 9-pin connector) can be either “beta-only” or “bilingual”. The bilingual ports can connect with ports that are beta-capable (another bilingual or a beta-only port) or with legacy ports. This requires a 9-pin to 6-pin cable, but they are readily available from your favorite PC/Mac store.
S100, S200, S400, S800?
"S100" actually means 98.304Mbit/sec (try saying that really fast and you'll realize why there is an "S100" term). S200 is twice the S100 rate (S100 is also called the "base rate"), S400 is 4 times the base rate, etc. These odd numbers were chosen because they are nice multiples of the data rates used by digital audio, so it allowed Apple to use one less crystal in their systems.