Wednesday, July 12, 2006

Firewire is a form of SCSI

Originally published in Quadlist--a mailing list for Macintosh Quadra users. Republished in lowendmac.com in 2000. Authored by Alex Timbol, Maccess Corporation.


FireWire Is a Form of SCSI

This article was posted to Quadlist by Alex Timbol. It is reprinted here with his permission.

FireWire is a version of the SCSI-3 spec, which defines both serial and parallel implementations.


While it is true that the SCSI versions that run on parallel busses transfer 8-bits (SCSI-1, SCSI-2), 16-bits (SCSI-2 Wide), or 32-bits (SCSI-2 Ultrawide) per cycle, it does not necessarily follow that it is faster than a high performance serial implementation, such as FireWire or FibreChannel.

The main problem with parallel data bus implementations is crosstalk among multiple data lines (8,16, or 32 lines).

Crosstalk effectively limits the clock rate of the SCSI bus as higher clock frequencies result in tighter coupling among the signal lines, and consequently higher crosstalk.

Crosstalk is responsible for the bus length restrictions and cable shielding requirements of conventional SCSI cable. It is the brick wall that limits performance on existing parallel data bus implementations.

A serial bus does not have a problem with crosstalk because there is only one data line.

Without crosstalk as an issue, a serial bus can run at a higher clock rate and take advantage of complex waveform encoding - allowing each wave cycle to carry more than one bit of data by altering not only each pulse's amplitude, but also its phase, frequency and zero crossover points - over relatively simpler and cheaper cabling.

Another advantage of the serial bus is that interrupting a single data stream is easier to do, allowing less costly implementations of hot swap functionality.

On parallel busses, hot swapping requires complex buffering and expensive connectors such as SCA (used in high end hard disks), which are designed to simultaneously break all electrical connections to avoid damaging bus components.

In the early days of computing, parallel data busses, which could move entire words (as opposed to bits) of data, were preferred over serial busses to compensate for the slow data rates of older bus controllers. With today's high speed serial bus controllers, controller speed is no longer a speed limiting issue.




In the future it may be necessary to combine the benefits of high speed bus controllers with the advantages of parallel busses by using a crosstalk resistant medium such as fiber optic cable, but at the moment, there is no reason to do so, given the gigabyte data rates that have been achieved by high speed serial implementations.

No comments: