FireWire Spec to Boost Data Speeds to 3.2 Gbps
Stony Stevenson writes "A new set of data transfer specs may reach new Firewire speed records. The new transfer version is called S3200 and builds on the earlier specification approved by the IEEE.' The technology will be able to use existing FireWire 800 cables and connectors while delivering a major boost in performance. The new spec also will let users interconnect various home-networking appliances via coax cable, linking HDTVs with set-top boxes, TVs, and computers in various rooms around a home or office. The new release enables the transmission of FireWire data over distances of more than 100 meters. Home entertainment centers are likely to be an early application.'"
what moron tagged a story about fire"wire" "wireless"?
thats right, I rarely use capitals. deal with it. but don't mistake my laziness for stupidity
very crudely, firewire was specifically designed to be for high speed streaming data - like video - it's ideal for a hard drive moving large chunks of data, and would be no use for mice and keyboards. USB was originally designed for low bandwidth low latency peripherals; it allocates data bandwidth in inverse proportion to demand, so e.g. mass storage gets whatever's left after mice/keyboards and tablets have had their share.
USB is computer-centric - created by Intel. Somewhere in the chain, a computer needs to be connected.
Whereas 1394 is device-centric - designed for tranferring video, audio, data, etc. between "dumb" devices.
The PC world "snubbed" 1394 (not completely) because of the $.25(or something equally absurd) royalty to Apple; Intel pushed USB.
1394 is more expensive to implement in hardware (which should be obvious - it's for dumb devices!), while USB is cheap - the CPU does most of the work.
Blame Intel then. Firewire was developed in 1990, released into PCs
Here are the technical specs for Firewire from Wiki:
FireWire can connect up to 63 peripherals in a tree topology (as opposed to Parallel SCSI's Electrical bus topology). It allows peer-to-peer device communication -- such as communication between a scanner and a printer -- to take place without using system memory or the CPU. FireWire also supports multiple hosts per bus. It is designed to support Plug-and-play and hot swapping. Its six-wire cable is more flexible than most Parallel SCSI cables and can supply up to 45 watts of power per port at up to 30 volts, allowing moderate-consumption devices to operate without a separate power supply. (As noted earlier, the Sony-branded i.LINK usually omits the power wiring of the cables and uses a 4-pin connector. Devices have to get their power by other means.)
FireWire devices implement the ISO/IEC 13213 "configuration ROM" model for device configuration and identification, to provide plug-and-play capability. All FireWire devices are identified by an IEEE EUI-64 unique identifier (an extension of the 48-bit Ethernet MAC address format) in addition to well-known codes indicating the type of device and the protocols it supports.
From the USB wiki:
USB was originally seen as a complement to FireWire (IEEE 1394), which was designed as a high-speed serial bus which could efficiently interconnect peripherals such as hard disks, audio interfaces, and video equipment. USB originally operated at a far lower data rate and used much simpler hardware, and was suitable for small peripherals such as keyboards and mice.
The most significant technical differences between FireWire and USB include the following:
* USB networks use a tiered-star topology, while FireWire networks use a repeater-based topology.
* USB uses a "speak-when-spoken-to" protocol; peripherals cannot communicate with the host unless the host specifically requests communication. A FireWire device can communicate with any other node at any time, subject to network conditions.
* A USB network relies on a single host at the top of the tree to control the network. In a FireWire network, any capable node can control the network.
These and other differences reflect the differing design goals of the two buses: USB was designed for simplicity and low cost, while FireWire was designed for high performance, particularly in time-sensitive applications such as audio and video. Although similar in theoretical maximum transfer rate, in real-world use, especially for high-bandwidth use such as external hard-drives, FireWire 400 generally has a significantly higher throughput than USB 2.0 Hi-Speed.[13][14][15][16] The newer FireWire 800 standard is twice as fast as FireWire 400 and outperforms USB 2.0 Hi-Speed both theoretically and practically.[17]
There are technical reasons why USB 2.0 devices cannot efficiently utilize all the available bandwidth. USB communication is based on polling the devices; there is no pipelining of commands. After sending a command to a device, the USB host must wait for a reply to the command before a new command can be sent to the same device. The bandwidth of a USB bus is divided by all devices connected to the bus. The USB host cannot send commands to one device while waiting for reply from another device. Since all communication is initiated by a USB host, the host must periodically poll all those USB devices that can provide data at unexpected intervals, such as network cards and keyboards. This consumes unnecessary resources when the devices are idle. These issues are being addressed by the forthcoming USB 3.0 specification, although it is not clear whether USB 3.0 is going to match FireWire in bandwidth efficiency.
GPL Deconstructed
I've got a drive with USB 2.0, FW400, FW800, and eSATA connectors. (It's a LaCie "quadra," if anyone is interested.)
In terms of performance, that's pretty much the order, there -- USB is slow, despite it's claims of 480mbits/sec. FW800 and eSATA get me about 85MBytes/sec reading from the raw device; writing appears to be a bit slower, but that was going through the filesystem, so I'll do another test on a drive I don't mind wiping out :).
As with SCSI, the big advantage the faster FW speeds have is that you can have multiple devices chained. So you can have six or seven disks on the chain, and not worry about running out of bandwidth. eSATA doesn't give me that advantage.
One of the big advantages FW has over USB is that a device can request, and get, a specific bandwidth. So, for example, a video camera can say, "I need to have 19mbits/sec." And if it can, then it'll get that -- and nothing on the bus will be able to take it away until it releases it.
When doing real-time applications such as video, this is pretty important.
FW400 may be "only" 400Mbps but it is double-simplex 400Mbps - 800Mbps aggregate. USB2 may be "faster" at 480Mbps but it is half-duplex with 10% bandwidth reserved for host commands and more dead-time inserted between TX and RX packets while host and target devices' transceivers switch directions, wasting several microseconds each time.
The highest copy speed I have ever reached on FW400 is 32MB/s - limited by the ATA33-FW400 bridge chip (Oxford 911) while the highest speed I have ever seen with any combination of my USB2/480 external HDD boxes and PCs is 24MB/s with 18MB/s being more typical. Under the best circumstances, USB barely matches the SLOWEST speeds I take for granted on FW400. If I string two of my FireWire drives together and move data between the two boxes, I still get the same 24-30MB/s I am used to but if I try to do the same with USB2 and a hub, USB2 crawls at 8-10MB/s. In this scenario, FireWire is as much as 3X as fast as USB2.
With eSATA for external storage, USB3 (late 2008) for all sorts of high-bandwidth (4.8Gbps) devices and GbE for mainstream networking, FW3200 will become irrelevant soon enough: USB3 is supposed to be 4.8Gbps double-simplex fiber, blowing away FW3200 on raw speed and finally getting rid of USB1/2's half-duplex overhead.