| |
About
SCSI
The
SCSI interface is
an old timer. Before there was IDE, there was SCSI. It was
used not only for disk drives, but scanners, printers and even to interface
the PC with synthesizers and automated sound and light boards. For a long
time, SCSI was the only really high performance disk interface, and in
early versions, high performance was a whopping 5 MBytes/sec. WOW! Remember,
that was in the time before the PC based DAW, before Windows and before
a person could buy a PC with more than 1 meg or RAM. Here's a quick rundown
on SCSI.
The History
of SCSI
In 1980,
SCSI amounted to a proposed interface whose specifications
occupied little more than 20 pages. Compare that with the more than
600 pages used to describe the interface standard today. In 1985, a group
of manufacturers got together and started pressing for ANSI to define SCSI. This came
to pass in 1986 with the publishing of the first SCSI standard, now referred
to as SCSI-1. This new interface standard consisted of a controller card,
often called a host adapter, that interfaced the PC to a bus capable of driving up to
7 devices with a combined
throughput of 5 Mbytes/sec.
Not far behind
SCSI-1 came SCSI-2. This new standard removed some of the instructions
from SCSI-1 and replaced them with an enhanced set of instructions as
well as many low level enhancements. At this point, the concept of the
"Wide" SCSI bus was introduced allowing for 16 and 32 bit data
paths between the host adapter and the expanded array of now up to 15
devices. Along with the wide bus, the "Fast" SCSI allowed for
bus speeds of up to 20 MBytes/sec using the 32 bit bus. The addition of
active termination made for better data integrity. The SCSI-2 standard
was rounded off by the addition of Command Queuing. This feature allows
up to 256 separate commands to be stored in the controller. The host adapter
can then send several requests to the same device before it processes
the first one. Command queuing is defined in SCSI at the device level.
That is, each device will support command queuing only as far as the designers
want to take it for that device and the maximum number of queued commands
is optional for each device in the bus (4 is a very common number). At
a different level, the host adapter can queue commands to be sent later
when the device can accept new ones (also optional). In both levels of
command queuing, one thing that advanced devices or controllers can do
is "out of order" processing of queued commands, optimizing
overall times by reducing head movements.
Ultra SCSI,
although not a new standard, has never the less become the defacto state
of the current art. Ultra SCSI is seen as a stepping stone between the
current generation of parallel bus devices and the new proposed SCSI-3
standard designed to, among other thing, introduce a high speed serial SCSI protocol
such as the Fibre Channel. In fact, SCSI-3 amounts to a sum of separate
standards as defined by different interested parties. As a result, the
direction of SCSI seems to be the breaking up of the standard into smaller
packets designed to address various individual projects while keeping
the efforts coordinated under the general umbrella of SCSI. It is intended
that this aspect of SCSI-3 will accelerate the development of future SCSI
implementations. Another place SCSI-3 is hoping to go is the removal of
the current 15 device limit imposed on wide SCSI. The plan is to offer
a "2 phase" addressing system that sends the higher order selection
bits in the first phase and then the final selection bits in a second
addressing phase. As a result, up to 255 devices on a narrow SCSI bus
or 1023 on a wide bus could be accessed.
The SCSI
Standard
Because
Ultra 2 SCSI is the current state of the art, we will focus on its implementation
for the balance of this discussion. Ultra 2 SCSI currently allows transfer
speeds of up to 80 MBytes/sec over a 16 bit bus with 160 Mbytes/sec becoming
popular on high-end systems. The new higher speeds available in Ultra
SCSI are due, in large part, to improvements in the processing speeds
of the controller's chips. Ultra SCSI calls for a doubling of internal
clock speeds for the controller electronics and thus the data transfer
cycle times are now much shorter. Add this to the quicker execution of
SCSI commands and the throughput has become impressive, even for multiple
drive server implementations.
That's not even
the best part. The best part is that in order to take advantage of these
higher burst transfer rates, there need be no change in the operating
system or the SCSI drivers that command the controller. From a system
point of view, the enhanced throughput is free! In fact, there is little
change needed in either hardware or firmware of the peripherals themselves
to become Ultra 2 SCSI compliant. How this will pan out as SCSI reaches
for the 160 Mbytes/sec grail is uncertain, almost surely requiring some
sort of major change in the hardware. Still, the impact on the system
designer is promised to be minimal.
There is a price
to be paid for these higher data transfer speeds. That price is data integrity.
In order to prevent the higher data speeds from being consumed by transfer retries, the SCSI cable
must be kept to a length limit of 1.5 meters. This doesn't offer any real
obstacle in the average PC implementation, including DAW implementations.
The place where this really starts to hurt is in large server arrays,
RAID arrays and
video-on-demand systems. Under these conditions, it isn't convenient to
cram 15 drives into a single tower. The use of outboard drive bays can
often tax the cable length specification to the point of non-compliance.
In order to address this issue, a type of SCSI bus called "Low Voltage
Differential" or LVD has been introduced. A differential bus provides
a second set of data lines being driven with the opposite electrical polarity
as the original lines. If a "one" bit is represented by +5 volts
in the standard data line, that same "one" bit is echoed on
the supplemental data line as -5 volts. Thus, there is a higher overall
voltage swing to represent the data, there is redundancy in the transmission
paths and any outside noise that might enter the lines will be canceled
out at the receiving end. The result is a boost in cable lengths to 25
meters. Another feature being offered by the new generation of Adaptec
Ultra160 LVD host adapters is both CRC (Cyclic Redundancy Checking)
and Domain Validation which scans the system for proper configuration.
These adapters limit cable length to 12 meters.
Go
to Page 4 (Part 2); Back to TOC
|