In selecting a SCSI host adapter, one of the first decisions to be made is what type of
host adapter you want. There are many different kinds of SCSI host adapters on the market,
and they vary in cost and capabilities dramatically. Many lower-end adapters are designed
specifically are designed to keep costs down to allow easy, inexpensive access to SCSI
devices like scanners or CD-RW drives. Higher-end devices provide more capabilities and
performance for users who require a full-featured implementation for hard disks and other
performance drives.
A key distinguishing characteristic between various host adapter models is the type of system bus the card is designed for. SCSI host
adapters have been made for all of the common PC I/O buses, including ISA, EISA, VLB, MCA
and PCI. You obviously need to choose a host adapter that matches the system bus(es) in
your machine. Until recently, motherboards that featured both PCI and ISA slots were
common, giving you a choice. As is the case with most interfaces that have a significant
impact on performance, an ISA-based card is generally a bad idea since this will greatly
limit the performance of the bus. You cannot efficiently use even something like Fast SCSI through an ISA-bus-based host adapter, because ISA
cannot handle more than about 8 MB/s of data throughput. (Or rather, you can use it, but
you won't get all the performance possible.) Of course, by today's standards Fast SCSI
isn't all that fast, and higher-performance transfer modes are even less suitable for ISA.
However, ISA cards can be perfectly acceptable for slow SCSI devices such as scanners, Zip
drives, optical drives and so on.
After 20 years, the ISA bus is finally going the way of the dodo; Intel and Microsoft
are hard at work trying to kill off this old system bus interface, and many systems come
only with PCI slots, making a PCI host adapter the only real option. Of course, not all
PCI cards are alike; you certainly still have plenty of decisions to make even within PCI.
Here too, low-end, inexpensive cards are more suitable for simple applications, and more
expensive cards are appropriate for performance-demanding applications.
As I mentioned above, a very important performance issue concerning SCSI host adapters
and the system bus they use is the throughput of the bus. If the throughput of the system
bus is less than the maximum throughput of the SCSI channel, SCSI performance will be
limited to whatever the bus's maximum rate is. Until recently, this wasn't much of a
concern as long as a PCI host adapter was used, because PCI had more than enough
"overhead" to handle any SCSI bus. In the last few years, however, with SCSI
channels continuing to increase in speed, even the performance of regular PCI is now
reaching a limiting point. The maximum practical bandwidth of regular (32-bit, 33 MHz) PCI
is a little over 100 MB/s, and the newest SCSI devices use Ultra160 SCSI, capable of well
over 100 MB/s of throughput. To get maximum performance from such an interface, regular
PCI is not sufficient.
To this end, some higher-end Ultra160 and faster SCSI
host adapters are designed to use new enhancements to traditional PCI. These include
64-bit PCI, capable of throughput of over 200 MB/s, and also the new PCI-X bus, which
promises performance of up to 1 GB/s. Cards using 64-bit PCI are readily available and are
backwards-compatible with regular 32-bit PCI, so they can be used on both newer systems
with 64-bit PCI slots, or systems that have only 32-bit slots.
Note: As I discuss at the
end of the page on SCSI bus speeds, one should always
remember that SCSI throughput specifications are for the SCSI chain as a whole, not
individual devices. 160 MB/s is the maximum for all the devices on an Ultra160 bus. The
limits of regular PCI only become an issue if one is using enough devices simultaneously
to push the limits of the bus--such as if RAID is being used.
If you are just using one or two Ultra160 devices, regular PCI is probably sufficient for
your needs.
Another reason to use PCI is that most newer host adapters that run on the PCI local
bus support the use of bus mastering.
This can be a very important feature, as it allows for more efficient transfer of data
from the host adapter to the system memory. Full performance from high-end SCSI chains
requires bus mastering support.
Next: Protocol Support