home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 14 Text
/
14-Text.zip
/
scsiinf.zip
/
scsitx05.INF
(
.txt
)
Wrap
OS/2 Help File
|
1996-12-27
|
200KB
|
5,155 lines
ΓòÉΓòÉΓòÉ 1. About this INF ΓòÉΓòÉΓòÉ
This is the result of my attempt to learn the IPF "Language".
As it was a learning by doing process, it is not very consistent in style as i
tried a lot. Also the Index is not complete nor is the Hyperlinking.
Please don't make Gerhard Islinger responsible for any of these limitations,
it's all my own fault.
Maybe You will find it a little usefull anyway.
Wolfgang SchlБter
CIS ID : 100273,1374
Internet: woschl@ibm.net
ΓòÉΓòÉΓòÉ 2. INTRODUCTION ΓòÉΓòÉΓòÉ
Hello, folks!
This text file is an attempt to answer the commonly asked questions I
constantly see on IBMHW. The questions are very simple, but the task of
responding to them is difficult, takes quite a while to compose and can really
only touch the highlights of SCSI. I felt that a file posted in the library
probably would give people a better start to understand SCSI and some of the
important parts that relate to day-to-day installations and usage.
This is not a detailed explanation, as the SCSI specifications contain the
details and are very extensive, besides an average user need not understand the
technical aspects of SCSI to be able to install and use SCSI devices. I
recommend that you scan this text and then home in on the part that you have a
particular interest in for some details. Don't be daunted by all the
information here, you don't need most of it to use SCSI. Most installations of
actual SCSI devices are virtually plug and play with the newer host adapters
and software packages. SCSI has indeed come a long way since the beginning and
is rapidly becoming the technology of choice for performance-oriented systems
and software.
If you're a novice to SCSI or PCs, give chapter 4 "SCSI and the real life" a
try - hopefully it has your answers to install a host adapter.
There should be a companion file to this one which will give you the easy way
to install SCSI devices - if i find time to write it, or if Skip Lutz does <g>.
While it will revolve mostly around Adaptec products, it is in no way an
attempt to sell Adaptec products and no Adaptec employee had any direct
involvement in it's creation. Adaptec seems to be the market leader in SCSI
hardware and software, and their products are more widely used and better known
than most other brands, so it seems logical that Skip - who wrote most of this
introduction - and me have experience mostly with Adaptec's boards. There are
also quite a few CIS members who are SCSI "gurus", due to experience with
various products on various forums, so you usually can get assistance wherever
you are.
But do remember that, for the most part, SCSI is SCSI and what applies to one
supplier usually applies to them all.
This text is based on my own knowledge of SCSI. and I'm not in any way
omniscient, infallible or whatever <g>, I would like to get all sorts of
comments about what may be wrong, what's missing and so on...
Please take the SCSI-3 parts not too serious at the moment - I think I didn't
include real errors here, but unlike SCSI-1 and SCSI-2, the SCSI-3 drafts
consists of various parts that are interlocked to each other and are still
under development and "subject to change". New SCSI change requests and
protocol proposals come in nearly every day. I'll keep an eye on it and update
this over time. More SCSI-3 details will follow later, as I'll need some time
to read through these docs and - especially - understand them.
If you are interested in the official SCSI documents, NCR's SCSI BBS on ++1 -
719-574-0424 has most of them. However, they are big and in their naming scheme
somewhat hard to find. Paper copies of the official documents can be obtained
by Global Engineering - please see Appendix B for their address.
Also, it seems there has to be a (small) legal part: This file is provided
"AS-IS", with no warranty as to it's correctness. Use at your own risk. The
author(s) is/are not liable to any damage that may occur from usage of this
information.
I got a few questions on the possibility to use this file or excerpts from it
for various commercial and non-commercial purposes. Nothing in this document is
secret or proprietary, so, if you can use it, fine - take it! I won't sue
anyone for quoting me <g>.
Gerhard Islinger
CIS ID : 100023,3537
Internet: 100023.3537@compuserve.com
ΓòÉΓòÉΓòÉ 3. SCSITX History ΓòÉΓòÉΓòÉ
SCSITX History
Rel. 1.02 added the SCA-2 pinout and rewrote the addresses
really had forgotten WORM and MO devices <sigh>
Rel. 1.01 due to some actual questions, combined App. E into C,
added Appendix F on SCSI commands, Status and Sense
information
Rel. 1.00 added some basics on SSA, DCB connector, references
to other documents, App. E and F, cursed again on
some CDROMs <g> and entered termination identification.
Some questions came up over disk size limits, -> 4.6.
---------------- in between - weeks without time.......
Rel. 0.98/0.99 added DoubleSCSI, FC/AL and FireWire, changed a few
details - corrected the 'P'-cable diff. pinout <sigh>
Rel. 0.97 added chapter 7 about the bus protocols and added some
fine tuning ... let's see if i got it right..
Rel. 0.96 added short PnP and SCAM parts, expanded device
chapter 6, splitted text in chapter files.
Rel. 0.95 Couldn't stop working <g> Todd Plummer made me think
about RAID, so i included a simplified definition with
some generic SCSI device parts (chapter 6)... Also,
Mike B. pointed me towards a _big_ fault in the serial
SCSI-3 part...MBytes/sec instead of MBits/sec <sigh>
Rel. 0.94 Minor changes contributed by Skip Lutz.
No content changes
Rewrote introduction
Rel. 0.93 finally dug out my old LADDR docs and added a slightly
more thorough definition.. Added Appendix D with some
QIC tape definitions. It's not directly relevant to
SCSI, but i got a few questions for the QIC/SCSI
relationship lately, so why not...
At this point, Skip Lutz rewrote parts of the text
for a more readable english and some news.
Rel. 0.92 Bertil Hagnell requested some information about SCSI
utilities, so i added some as chapter 5. Definitely not
complete, but where should i end this ?
Rel. 0.91 68pin and 110pin connectors/ Disconnect / SCSI-ATAPI /
Dal Allen's article / added SDMS description / BBS #
Rel. 0.9 Entered drivers for DOS and OS/2.
Moved the connectors to App. A.
Rel. 0.8 Initial release on CIS.
CREDITS: - Skip Lutz
- Bertil Hagnell and Todd Plummer for questions that led
to new chapters
- Mike Berhan, Paul Blais, Jake Brown, Jay Ice, Paul Matteucci
and others that always give advice in IBMHW and CDVEN.
- Don Whittemore [Team Toshiba]
- Michael Arellano from Adaptec - in general, but especially
for the Wide-to-Narrow diagram
- the guys i forgot - not many, i hope
As stated above, this is based mostly on my actual knowledge about SCSI. Of
course, i got this information from some places. Some of these i can remember
and/or still use, are:
SCSI-2 spec (ANSI document X3.131-1994)
parts of the SCSI-3 drafts
various articles in c't, Byte and PC Magazine
Apple "Inside Macintosh" for the Mac connectors
various manuals, text snippets and eavesdroppings <g>
Today i realized that the german-language MagnaMedia CIS forum
holds most internet faq's. So, i'll include what i find new in
the SCSI faq. --Gerhard, 15.9.94
- to clarify this (due to a question) - this isn't and i won't
write a "competing" SCSI faq; Jonathan Vail - who started it -
and Gary Fields do a great job in collecting the information
and maintaining it, and anyway, one of my information sources
was the SCSI faq. --Gerhard, 8.3.95
ΓòÉΓòÉΓòÉ 4. 1. What is SCSI ? ΓòÉΓòÉΓòÉ
SCSI ( Small Computer System Interface ) is a general-purpose parallel bus
system. It originated from Shugart's 1979' SASI (Shugart Associates System
Interface) and Shugart and NCR presented it to the ANSI in 1981. It became
official in 1986, when the ANSI-committee X3T9.2 defined the SCSI-1 spec as
document X3.131-1986.
Of course, "general-purpose parallel bus system" means all and nothing. What
helped SCSI to spread was its very high speed (for this time) and - driver
problems aside - its flexibility. However, it was - and is - the disk and tape
interface of choice for Unix systems and that's where I first had contact with
SCSI - I changed from an MFM system with 2 * 80 MB disks and a QIC-02 tape
controller (8 bit) to a SCSI system with a 380 MB disk and a SCSI tape, both
attached to one 16 Bit SCSI adapter - freed a slot, one interrupt and was a
_lot_ faster.
SCSI in all its flavours is now an acknowledged and very well standardized
multipurpose interface. SCSI supports a wide variety of devices which include
hard disks, removeable disks, magneto-optical devices, tape drives, printers,
processors, WORMs, CD-ROMs, scanners, medium-changers (jukeboxes), and
communication devices.
With PCs, the most common devices are hard disks, removeable devices like MO,
WORM, Syquest and Bernoulli disks, CDROMs, tape drives and image scanners.
In the Macintosh world, where SCSI was included in all models since the Mac
Plus and expansion slots were not available on some, there are - besides some
SCSI-based video and network adapters - some very special devices with SCSI
interface in the market. To give an example - Screen, a japanese high-end
scanner manufacturer, introduced a digital camera back with SCSI interface -
sadly with Macintosh support only, but this may be just a question of time....
ΓòÉΓòÉΓòÉ 4.1. 1.1 SCSI-1 ΓòÉΓòÉΓòÉ
SCSI-1 defined a universal 8 bit I/O-Bus that allows the connection of up to 8
devices (including the so-called "host adapter"). Every device must have a
unique ID in the range of 0 to 7. SCSI-1 was a high-speed bus system, compared
to this time's peripheral devices.
ΓòÉΓòÉΓòÉ 4.2. 1.2 SCSI-2 ΓòÉΓòÉΓòÉ
SCSI-1 was the first approved standard and lacked some points and some
definitions. As this became - in some parts - obvious even during the approval
process, SCSI-2 development started while SCSI-1 was still in the process of
being approved. So, when SCSI-1 was officially approved in 1986, SCSI-2 was on
its way already for some time, until on January 31, 1994, the SCSI-2 draft in
revision 10L was approved by the ANSI Board of Standards Review. The official
SCSI-2 document number is X3.131-1994. As you might remember, most
manufacturers used the term SCSI-2 from about 1988 in marketing. This isn't
real approved SCSI-2, of course, but mostly you can trust this, as the changes
were not big for "standard" devices. SCSI-2 merely entered a better formal
definition, removed some oddities and obsolete things, added some extensions,
and most importantly, added the ability to double and even quadruple data
transfer speed on the SCSI bus with it's "Fast" SCSI and "Wide" SCSI options.
Note the key word here - OPTIONS.
- The Type-1 connector (DB-50) was removed, the high density
SCSI-2 connector became the recommended alternative
- Synchronous Transfers became a standard feature, with optional
- Fast Synchronous Transfer Mode (Fast SCSI-2)
- Sync. Negotiation can be invoked by Initiator _or_ Target.
- 16Bit- and 32Bit-Wide SCSI became a defined option.
- SCSI bus parity changed from "optional" to "mandatory"
- Initiators now must provide terminator power
- Message support became mandatory
- Command Queueing became a defined option. For a device with
command queueing needs memory to reorder the commands,
this - with a little step further - introduced device caches
- the Common Command Sets (CCS) for several device classes
became formally defined.
The only possible problem I found with SCSI-2 compatibility is that some older
host adapters (typically the SCSI initiator) can't handle the SCSI-2 Sync.
Negotiation when it's started by the target. Both the host adapter and device
can be easily changed to prevent any problem here, and it's rare to begin with.
ΓòÉΓòÉΓòÉ 4.2.1. 1.2.1 Fast SCSI ΓòÉΓòÉΓòÉ
With SCSI-2, Fast SCSI was defined as an option. Despite the tendency of the
market to define Fast-SCSI as "different, but faster SCSI", Fast SCSI is only
an additional synchronous data transfer mode with tighter timing to achieve the
10MB/sec max. data rate. As with any other synchronous transfer mode, only data
transfers are synchronous, the commands are transferred asynchronous. Fast SCSI
is _very_ picky with the SCSI cabling, especially with round external cabling.
Most external cables doesn't support reliable Fast SCSI, the few that do are
_very_ expensive. Fast SCSI is "not recommended" with single ended signaling,
and especially with passive terminators. However, if you keep an eye on cable
quality, I found it working reliable on my system and most others I know.
ΓòÉΓòÉΓòÉ 4.2.2. 1.2.2 Wide SCSI ΓòÉΓòÉΓòÉ
Another SCSI-2 option is Wide SCSI. Two flavors are defined, 16 Bit and 32 Bit.
Wide SCSI can be combined with Fast SCSI and so can give up to 40 MB/sec data
rate for 32 Bit Fast SCSI-2. Originally, Wide SCSI-2 defined 16 and 32 bit wide
_DATA_ transfers only - the command and arbitration protocols still remained 8
bit. With this scheme, Wide SCSI-2 is still limited to 8 device IDs, including
the host adapter. The X3T9.2 committee defined a combination of a standard 8
Bit 'A' cable and a 68-wire 'B' SCSI cable for the additional 16 Bit and 32 Bit
Wide SCSI signals. But while SCSI-2 still wasn't approved, one of the first
tasks of the SCSI-3 group was a definition for a 16 bit 'P'-cable that also
supports 16 bit arbitration, and all Wide-SCSI devices i saw adopted this
cabling scheme. Also, there is a 110 pin 'L'-cable at least in discussion that
will support 8, 16 and 32 Bit connections and should be standardized with the
SCSI-3 Parallel Interface.
So, addressing of more than eight devices isn't "true" Wide SCSI-2, but
describes what you'll find in "real" Wide-SCSI devices (for example, all
Wide-SCSI disks i saw had a fourth ID jumper).
As Wide data transfers are an option that must be agreed by both devices, Wide
SCSI host adapters can address standard SCSI devices without problems -
assuming that a correct cabling adapter or a second, specific 'narrow' SCSI bus
is used. However, keep in mind that you need to have the host adapter on an
address where the "narrow" SCSI devices can communicate with it. Also,
arbitration priority remains at the first eight bit, then the second eight bit
and so on. Personally, i think the best scenario is to have the Wide SCSI host
adapter at ID 7, thus allowing narrow devices in the ID range from 0 to 6 to
"see" the host adapter and keeping it at the highest priority. Wide SCSI
devices naturally can be placed on every ID, but to avoid the possible
arbitration problems with 'narrow' devices on the same SCSI bus, it would be a
good idea to have all devices on the first 7 IDs, until it's really neccessary
to use the higher IDs.
ΓòÉΓòÉΓòÉ 4.3. 1.3 SCSI-3 ΓòÉΓòÉΓòÉ
Besides some novelties in the SCSI-3 parallel interface (SPI), SCSI-3 is
somewhat a revolution in the SCSI world - it defines high speed _serial_
interfaces. At the moment, there seem to be three of these serial interfaces in
the works: Fibre Channel, Fibre Channel/Low cost and P1394, while IBM's SSA
could become a strong contender in the low-end market. For the SCSI-3 parallel
interface (SPI), there are some new physical extensions in the works, two of
them:
- Fast-20, a 20 MHz (Mega-transfers per second) extension to
the existing SPI timing variants - see "UltraSCSI"
- SPI-LV, a low-voltage SPI variant for low-power (3.3 V) and
battery-driven SCSI applications.
- Fast-40, another timing extension with up to 40 MHz clock
rate, is under discussion.
On the software side, there seem to be only some additions to the command sets
- a new command set for graphical devices, a slight extension to the cache
option and so on ... But still, this may change ...
Many device suppliers are currently advertising their products as SCSI-3 and
this appears to be an attempt to make the consumer think he is getting
something "better" than SCSI-2. All SCSI devices that support the Common
Command Set can be run with SCSI-1, -2, -3, and probably SCSI-4 some day. If
you see this being advertised, ask the supplier exactly how the device is
different with SCSI-3 implemented and/or supported. You'll hear lots of Weasel
Words, but no facts. The device just has CCS support. Nothing to get excited
about, and surely nothing to pay extra for! On Wide-SCSI disk drives, the
"SCSI-3" label mostly points to the SCSI-3 68-pin connector.
There is also a new connector scheme called Single Connector Attachment (SCA).
SCA uses an 80-pin connector to provide all neccessary signals for 8- and
16-bit SCSI devices, including power connections, LED-control and so on. It's
major advantage is the possibility to use SCSI devices as a single plug-in
module without the need for an additional connector between the bus and the
device, as it's with today's cheap HD "drawers". Although SCA devices should be
on the market, I didn't see an SCA device 'til now, so I think they'll take
some time to show up in PCs. There is a 32 bit version in planning, but yet it
isn't even designed how much pins it will have (probably 120)...
Also new in this game are SCAM, a SCSI auto-configuration protocol, and
Plug-and-Play-SCSI, the SCSI part of Plug-and-Play.
ΓòÉΓòÉΓòÉ 4.3.1. 1.3.1 Fibre Channel ΓòÉΓòÉΓòÉ
Although SCSI will be one of the major market applications for it, Fibre
Channel is _much_ more than just a new physical SCSI layer. Basically, the
Fibre Channel is a universal communication interface for point-to-point
connections, independent of the overlaying logical protocol. So, virtually each
possible logical layer can be used over FC, for example ATM, HIPPI, IPI, SCSI,
TCP/IP - you name it. Most older "standard" network transport layers are bound
to a specific logical protocol over it, that also handles data integrity and
communication handshakes, thus greatly reducing the real _data_ bandwidth.
Fibre Channel is designed very clever to utilize nearly its full bandwidth to
data throughput - most communication handshake and other data integrity issues
are handled by FC logic itself, without any need to interfere for the logical
protocol. So, an actual value is, that only 1.6 percent of the theoretical
throughput is used for protocol overhead. The specific FC variant used for SCSI
is called Fibre Channel/ Arbitrated Loop. FC/AL describes a two-fibre
bidirectional optical loop ("Fibre" here stands merely for the fibre-inherent
serial transmission than for a dedicated optical interface - coaxial and
twisted-pair copper wiring are also allowed.) FC/AL uses a token-passing method
to grant access to the ring, thus assuring the full bandwidth for each
connection.
A loop can address up to 126 devices, the logical protocol is SCSI. Each
transfer is a point to point connection, where the two direction channels are
used simultaneously for data and control information transfer. FC/AL should
solve most actual server problems, as it expands transfer speed, device count,
and SCSI distance/spacing issues in one package - now, all are waiting for a
sort of "parallel FC" <g>
The Fibre channel and FC/LC should provide a data throughput of about 10 to 100
MBytes/sec, depending on the physical layer, where P1394, also called
"FireWire", is defined to give up to 200 MBits/sec. Fibre channel physical
layers are defined with 133, 266, 531 and 1062 MBits/sec, with potential
expansion in mind, so you can calculate possible data rates...
ΓòÉΓòÉΓòÉ 4.3.2. 1.3.2 P1394 "FireWire" ΓòÉΓòÉΓòÉ
"FireWire" is Apple's and Texas Instrument's trade name for the IEEE project
P1394, a super-fast serial copper interface that includes IDs and strong
protocol support. I don't have deeper info about it, but it seems to be a four-
wire differential interface (Signal+, Signal-, Ground, +12V), that should
guarantee high security and fast throughput over a simple, cheap copper
connection. P1394 has a few _very_ attractive basic features for computer
applications:
- Up to 63 devices on a single port
- Up to 1022 FireWire buses can be bridged together
- Every device should have its own, unique 64-bit ID
- Hot-plugging, together with
- Auto-configuration (through IDs) - no need for jumpers
- For smaller devices, FireWire can transport supply power;
up to 1.5 Amps at 12 Volts are possible
FireWire speed ranges from 100 to 400 MBits/sec, so disks with about 20
MBytes/sec shouldn't be a problem for it. One special feature of FireWire - and
the main reason for its definition as the "desktop multimedia" interface - is
its "isochronous" behaviour, meaning, it delivers - and guarantees - a
continuous data stream. This seems to be what the multimedia people pray for -
no "hiccups" or missing pieces in image or audio data streams.
FireWire could be _the_ desktop bus for the near future - you can attach
virtually anything from mice and keyboards to fast devices like SCSI disks. If
Apple includes it with the next PowerMac's, it would be in the market and
should be attractive enough to show up also in some PCs and devices - let's
see.
ΓòÉΓòÉΓòÉ 4.3.3. 1.3.3 Serial Storage Architecture (SSA) ΓòÉΓòÉΓòÉ
The third serious player in the serial SCSI field is SSA, actually IBM's
favorite. SSA uses either four-wire copper cables with differential signaling
or optical fibres as transport medium. Wire connections can be up to 10 meters
long, optical fibre connections up to 1000 meters.
This leads to rather cheap cables, especially if compared with the expensive
SCSI-3 parallel cabling. SSA doesn't use a "bus" in the classical sense, but
dedicated (and independent) input and output channels per I/O channel set.
Thus, if the device can use both directional channels independently, it can
double the "standard" throughput of 20 MBytes/sec per channel and direction to
achieve 40 MBytes/sec throughput, if both directions are used simultaneous.
SSA devices may come in different flavors:
- Single Port Nodes with one set of input and output channels.
- Dual Port Nodes with two independent sets of I/O channels.
and, as a special type of device,
- Switches, for connecting up to 126 SSA ports.
For each configuration with more than two devices needs at least one dual-port
node, i don't espect much single-node devices to appear....
Every number of SSA devices connected to a logical bus is called either a
"string", if it is a setup with two ends, or a "loop", if they are connected as
a closed loop. A string with only two devices on it is called a dedicated
connection. A loop has a few advantages; one of them is the possibility to
handle two simultaneous, bidirectional data transfers between devices over the
loop - each connection over the shortest path. So, a theoretical data rate of
80 MBytes/sec (4*20 MBytes/sec) for the whole loop is possible. But the more
important advantages of the loop are its fault- tolerancy - if a device goes
down, it does break the loop, but the bus still operates as a standard string -
and the possibility to integrate new devices without shutting down the system.
Switches allow the connection of multiple strings to create fast SSA networks -
sounds nice for big servers or server clusters. Also, smaller companies or
workgroups could create a high-speed network with SSA, bypassing the need for
dedicated network adapters or cabling. There is also a name for this setup -
would you expect "Switched Network" ? <g>
A typical SSA string configuration could look like the following example:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöéSSA Host Γöé<ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöéSSA Γöé<ΓöÇΓöÇΓöÇΓöÇΓöÇΓöéSSA Γöé<ΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Adapter ΓöéΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ>ΓöéDevice 1ΓöéΓöÇΓöÇΓöÇΓöÇΓöÇ>ΓöéDevice 2ΓöéΓöÇΓöÇΓöÇΓöÉ Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé Γöé
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé Γöé
ΓöéSSA Γöé<ΓöÇΓöÇΓöÿ Γöé
ΓöéDevice 3ΓöéΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
This looks familiar, compared with a "standard" SCSI setup, only the two
unidirectional connections between each device are really different. Devices 1
and 2 in this example _must_ be dual-ported, device 3 and the host adapter
could be single-port nodes.
With only dual port devices, by adding only one additional connection between
the former bus ends, the bus is changed to form a closed loop.
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöîΓöÇΓöÇΓöÇΓöÇΓöéSSA Host Γöé<ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöéSSA Γöé<ΓöÇΓöÇΓöÇΓöÇΓöÇΓöéSSA Γöé<ΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé ΓöîΓöÇ>Γöé Adapter ΓöéΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ>ΓöéDevice 1ΓöéΓöÇΓöÇΓöÇΓöÇΓöÇ>ΓöéDevice 2ΓöéΓöÇΓöÇΓöÇΓöÉ Γöé
Γöé Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé Γöé
Γöé Γöé ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé Γöé
Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöéSSA Γöé<ΓöÇΓöÇΓöÇΓöÇΓöÇΓöéSSA Γöé<ΓöÇΓöÇΓöÿ Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ>ΓöéDevice 4ΓöéΓöÇΓöÇΓöÇΓöÇΓöÇ>ΓöéDevice 3ΓöéΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
With this closed loop, if, for example, device 3 is damaged and blocks all
attached channels, there would still be an operating string from device 4 over
the host adapter to device 2. Thus, the system would still operate, just the
defective device is offline and could be replaced while the system still works.
Please keep in mind that all of the above information is from the specs only -
i don't have the possibility to access SSA hardware or evaluation hardware, so
i'm not sure if SSA network will ever exist - it depends on manufacturer's and
customers' acceptance for the SSA concept. However, the concept should be much
cheaper to implement than FiberChannel, so let's see....
If you want to test or implement SSA - IBM now sells a PCI/SSA adapter with all
neccessary software.
ΓòÉΓòÉΓòÉ 4.4. 1.4 Plug'n'Play SCSI ΓòÉΓòÉΓòÉ
Plug'n'Play SCSI is an extension to the generic Plug'n'Play specification. PnP
is an approach to define an auto-configuring environment for ISA boards. One of
the key parts of PnP-SCSI is SCAM.
The basic Plug'n'Play specifications, including PnP SCSI, can be found on
CompuServe's PLUGPLAY forum. Plug'n'Play should come in the market now, but
personally i'm not sure if it won't become a "Plug'n'Panic" game...
Lately rumours are around about PnP-SCSI Level 2. This mainly seems to be PnP
SCSI with additional support for device hot-swapping - a main feature for RAID
systems.
ΓòÉΓòÉΓòÉ 4.4.1. 1.4.1 SCSI Configured AutoMagically (SCAM) ΓòÉΓòÉΓòÉ
SCAM is a protocol for automatic SCSI ID assignment. It is included in the
SCSI-3 parallel interface drafts, but i'm not sure if it will be a basic part
or an option. The SCAM master (typically the host adapter) scans the bus for
attached SCSI devices. For compatibility, it also needs to find and identify
"legacy" (=non-SCAM) SCSI devices. Thus the SCAM master gets a map of the
attached devices and assigns a valid "soft" ID to each SCAM-compliant SCSI
device. After this process, the SCAM master keeps this "device table" in a
nonvolatile memory to provide - if possible - an identical ID setup for further
boot processes.
ΓòÉΓòÉΓòÉ 4.5. 1.5 S.M.A.R.T ΓòÉΓòÉΓòÉ
S.M.A.R.T - "Self-Monitoring, Analysis and Reporting Technology" is a new
system for monitoring storage (and other) devices. Basically, S.M.A.R.T can
query devices for their actual status in terms of reliability, error rates and
other relevant data. This is a very useful capability for every disk system,
especially in servers or RAID setups - if a drive gets an increased hard
error rate, this could be a sign of a soon-to-come crash, and you could change
the drive _before_ the crash, thus avoiding any downtime. S.M.A.R.T uses the
Exception Handling Selection Mode Page protocol, actually a proposal pending
for the inclusion in SCSI-3, that uses SCSI mode pages for the transfer of the
surveillance information. S.M.A.R.T actually isn't linked to SCSI - there is a
definition also for ATA devices, so it should soon become an accepted standard
feature for disk drives. The main SCSI manufacturers supporting S.M.A.R.T seem
to be Adaptec, Conner, HP, IBM, Microsoft, Quantum and Seagate.
ΓòÉΓòÉΓòÉ 4.6. 1.6 DoubleSCSI and UltraSCSI ΓòÉΓòÉΓòÉ
On October 31, 1994, the companies Adaptec, Conner, Quantum, Seagate and some
others together announced Double-Speed SCSI under the name "UltraSCSI", a
compatible extension to SCSI-2. DoubleSCSI/UltraSCSI seems to become the
"trademark" for the Fast-20 timing. Seems to lead to "HyperSCSI" <g>.
Basically, UltraSCSI is an extension to the Fast-SCSI timings. UltraSCSI
reaches up to 20 MBytes/sec data rate on 8-Bit channels and up to 40 MBytes/sec
on 16-Bit Wide SCSI channels. According to the press release info, UltraSCSI
keeps compatibility with older SCSI-2 drives on the bus. I'll dig out the
original Fast-20 specs when possible, but at my first preliminary look it seems
to be another compatible option that gets negotiated between the initiator and
the target on startup. Contrary to what i expected, UltraSCSI states 3 meters
as maximum bus length, but anyway, i don't expect external devices - the
cabling problems with Fast-SCSI would be even worse... So, i'll anxiously
waiting for shipping start... At least one of my office systems will become a
laboratory rat for this <g>
Actually, Fast-40 is in discussion, but with a few rather obvious problems -
high frequency and long cables leads to trouble - a data packet can be
transferred fast, as it is unidirectional, but the "parallel" task of
arbitration needs much time, leading to a big overhead penalty. I just can't
wait to see what the committee guys will dig out ... <g>
ΓòÉΓòÉΓòÉ 4.7. 1.7 Single Connector Attachment (SCA) ΓòÉΓòÉΓòÉ
- actually, this is about SCA-2, but SCA-1 isn't too different...
SCA, at a first glance, describes only a new connector. But this is only half
the truth.... SCA mainly describes a single, 80-pin connector for 16 bit Wide
SCSI devices, and including power source and control signals. The crucial SCA
feature is hot-plugging capability. True hot-plugging needs some precaution and
leads to some basic considerations:
- a defined connector placement and orientation on the
SCA device
- defined voltage needs and current limits, as an integrated
cable is far more critical than the actual setup with a
dedicated power connector.
- a method to get a defined signal behaviour on connecting
and disconnecting a device
Defining the connector and the location on the drive is the easiest part, so
let's forget it here - it's done. The used voltages actually are 5V and 12V DC.
This actually outlaws SPI-LP, the proposed 3.3 Volts physical interface. Also,
the nominal current limits actually are 3 Amps for 12 Volts and 2 Amps for the
5 Volts power lines. This seems to give a 45 Watts range for an SCA device, but
keep in mind that all this current for all devices has to flow through the
cable... Looks more like a backplane than a cable spec...
Besides the standard SCSI signals and the power lines, there are some usually
jumper-activated control functions on the connector: a signal for spindle
synchronization, remote start and start delay control, and a LED output.
The hot-plug precautions are met by two main features:
- long and short pins on the host side to get a defined
connection order, and
- a "precharging" circuitry - depending on the long and short
pins - to get a defined signal state on connecting a device.
Based on those features, each device gets a surge control circuitry to get a
defined start and keep power-on current in the allowed range.
With those - actually unique - abilities, building hot-swappable systems
becomes a _lot_ easier - this should push for example RAID prices lower, for
the vendor-specific, expensive disk cabinets with the hot-swap circuitry are no
longer neccessary.
ΓòÉΓòÉΓòÉ 5. 2. Inside the Basics ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 5.1. 2.1. ID's and LUNs ΓòÉΓòÉΓòÉ
Every SCSI device need to have a unique ID on the bus. For this reason, most
devices have three ID jumpers to set the SCSI ID from 0 to 7. In most cases, ID
7 is reserved for the host adapter. ID 0 is for a boot device and is usually a
hard drive. ID 1 is normally used for a second hard drive, but this is not a
require- ment. Some host adapter BIOS' or software drivers will notify you that
the device for ID 0 is not a hard drive if another type of device is using this
ID. This is not an error, so don't be too concerned with the message. ID 2 and
up are normally used for other devices with ID 2 being popular with CD ROM's.
With the exceptions of ID 0 and 7, there is no particular ID that *has* to be
assigned to any device type. Use what you want, the host adapter will sort them
out with ease.
Additionally, every ID can have up to seven sub-units identified by a LUN
(Logical Unit Number). Thus, you can address multiple devices through one ID,
like dual drives (Bernoulli did this on their external Dual Bernoulli Boxes).
LUNs are mostly used in bridge controllers, that use the LUN- subaddressing
scheme to emulate a big disk drive with multiple smaller disks. Up to eight
disks could be combined to a big disk drive, where the single drives are
addressed by LUNs. A special case of these bridge controllers are RAID
controllers.
By using LUNs, theoretically you could attach 49 devices to one bus cable (7
IDs * 7 LUNs, without ID 7 for the host adapter), if you use all LUNs for
specific devices. But LUNs are only very seldom used in PC applications. One
reason for this might be the possible performance loss with this much devices
on one bus. ID's have an impact on device priority, please see 7.3 on this.
ΓòÉΓòÉΓòÉ 5.2. 2.2. Termination ΓòÉΓòÉΓòÉ
The SCSI bus needs to be "terminated". This means, both ends of the bus must
have a circuit of some sort to eliminate signal reflections that would occur
from the physical ends of the bus. There are various circuit schemes of
termination, the two most popular are drawn below. The termination circuit
needs some power, and, to deliver this, there is a line called TERMPWR or
Termination Power on the bus. Mostly, the TP source is the host adapter, for
this reason you can see fuses on most host adapters, mostly about 1.5 Amp
types.
A more thorough diagram of the various termination configurations is in App. C.
18 signal lines need to be terminated:
All data lines (DB(0) - DB(7) and DB(P)), ATN, BSY, ACK, RST, MSG, SEL, C/D,
REQ, and I/O.
Termination power needs to be between 4.25 and 5.25 Volts _at the termination
resistors_ . For most host adapters use the PC's +5V for getting their TP and
protect it with a silicium diode (0.7 Volts loss) against wrong polarity, you
might get in trouble with the additional voltage loss on the cable and fuse -
sometimes like an 'X' mark seeking for the point of trouble....
ΓòÉΓòÉΓòÉ 5.2.1. 2.2.1. "Classic" Passive Termination ΓòÉΓòÉΓòÉ
The "old" passive termination ("Alternative 1" in the SCSI-2 spec) came with
SCSI-1 and simply was made of a 220 Ohms pull-up and a 330 Ohms pull-down
resistor per signal in a circuit like this:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
ΓöîΓö┤ΓöÉ Termination Power (TP) +5V
Γöé Γöé
ΓööΓö¼Γöÿ220 Ohms
Γöé Signal
ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
Γöé
ΓöîΓö┤ΓöÉ
Γöé Γöé
ΓööΓö¼Γöÿ330 Ohms
Γöé
Γöé Ground 0V
ΓöÇΓö┤ΓöÇ
This termination scheme mostly works, especially with short bus lengths, but it
draws a lot of power from the TP provider.
ΓòÉΓòÉΓòÉ 5.2.2. 2.2.2. Active Termination ΓòÉΓòÉΓòÉ
Active termination (also called "Boulay"-Termination after Paul Boulay,
"Alternative 2" in the SCSI-2 spec) consists of a 110 Ohms resistor per signal
pulled up to a 2.85 volts power supply. Most SCSI-2 and all Fast SCSI-2 devices
i know support this termination type.
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ TermPWR
Γöé R3
Γöé ΓöîΓöÇΓöÇ\/\/\/ΓöÇΓöÇΓöÇ -DB(0)
Γöé . .
Γöé Voltage Regulator . .
Γöé ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ Γö£ΓöÇΓöÇ\/\/\/ΓöÇΓöÇΓöÇ .
Γö£ΓöÇΓöÇΓöÇΓöñ 2.85 V Γö£ΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ .
Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÿ ΓöîΓö┤ΓöÉR1Γöé Γöé Γö£ΓöÇΓöÇ\/\/\/ΓöÇΓöÇΓöÇ .
Γöé Γöé Γöé Γöé Γò¬C2 Γò¬C3 Γöé .
Γò¬C1 Γöé ΓööΓö¼Γöÿ Γöé Γöé Γö£ΓöÇΓöÇ\/\/\/ΓöÇΓöÇΓöÇ .
Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ Γöé Γöé Γöé .
Γöé ΓöîΓö┤ΓöÉ Γöé Γöé ΓööΓöÇΓöÇ\/\/\/ΓöÇΓöÇΓöÇ -I/O
Γöé Γöé ΓöéR2Γöé Γöé R20
Γöé ΓööΓö¼Γöÿ Γöé Γöé
ΓöÇΓö┤ΓöÇ ΓöÇΓö┤ΓöÇ ΓöÇΓö┤ΓöÇ ΓöÇΓö┤ΓöÇ
ΓòÉΓòÉΓòÉ 5.2.3. 2.2.3. Forced Perfect Termination (FPT) ΓòÉΓòÉΓòÉ
There is another Termination scheme out, called FPT. According to what I heard
of it, it uses diode clamps to two regulated voltages to eliminate under- and
overshoot. Clamp values should be at about 3.0 and 0.5 volts. The clamping to
two regulated voltages in the signal range instead of clamping to TP and ground
gives the diodes an earlier switching point and thus enhances signal quality,
as the over- and undershoot elimination process begins earlier in the signal.
From the concept below, FPT should be even better than "normal" active
termination. I have no FPT circuit, as I have never seen a FPT terminator, but
the rough schematic below (from the Internet SCSI FAQ) should be not too far
away from reality....
TP ΓöÇΓöÇΓöÇΓöÉVoltage Regulator
ΓöîΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÉ
Γöé VR1 Γöé
ΓööΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÿ
about Γöé ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ + 3 V
3.6 V ?Γö£ΓöÇΓöÇΓöÇΓöñ VR2 Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇ
Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ -+-
Γöé /_\ D1
Γöé Γöé
Γöé pull-up Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ/\/\/\ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ Signal
Γöé resistor Γöé
Γöé -+-
Γöé /_\ D2
Γöé ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé
ΓööΓöÇΓöÇΓöÇΓöñ VR3 Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇ
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ + 1.2 V
However, i got another concept for FPT, also called "Trung Le" Termination,
that seems to be the 'original' FPT. It uses mostly diodes and seems to have
two nasty little drawbacks - it allows about 10 milliamperes higher current
than allowed in the spec, thus being a bit risky for the line drivers - 10
milliamperes means 25 percent over spec; also it seems a bit unstable with low
TP voltages. So, it seems that the above diagram is a different sort of
"second-generation" FPT, maybe the variant that Aeronics sells.
ΓòÉΓòÉΓòÉ 5.3. 2.3. SCSI Connectors ΓòÉΓòÉΓòÉ
There are many different connectors for SCSI. Some of them were defined with
SCSI-1 and now obsolete, like the DB-50 connector. The most common ones today
are the 50-pin Centronics-type SCSI-1 connector, the 50-pin High Density SCSI-2
connector and the DB-25 connector Apple introduced on their Macintosh
computers. Most new host adapters and external devices use the SCSI-2 HD
connector and in this case you normally can trust that it's a "real" SCSI-2
device. The pinouts of the common connectors are shown in Appendix A.
ΓòÉΓòÉΓòÉ 5.4. 2.4. Cables, Cable Lengths, Repeaters ΓòÉΓòÉΓòÉ
Cable lenghts are defined up to 6 meters maximum in SCSI-1 and SCSI-2 for a
single-ended SCSI bus and up to 5 MHz data rate.
So, the variants
- "standard" asynchronous transfer (mostly up to 3.3
MBytes/sec)
-and-
- "standard" synchronous transfer (5 MBytes/sec)
can have up to these 6 meters _total_ cable length for the bus. Keep this in
mind, if you use long cables, and don't forget the cable lengths for the
internal device cables. With Fast SCSI-2 the highest possible data rate doubled
to 10MHz in synchronous mode and - you might guess it - the cable length was
halved. So, if you use Fast SCSI-2 devices, your _maximal_ SCSI bus length is 3
meters. SCSI-2 allows up to 10 cm cable "stub" length from the device to the
main bus cable. Sometimes this length is exceeded, causing higher capacitive
loading. Sometimes this even works, for the maximal allowed stub length for any
device-to-device connection is 20 cm, but don't _expect_ that to work reliably
over 10 cm, especially with 10 MHz Fast SCSI-2 signalling. Also, if you have
two or more devices on the bus with 30 cm or less (about 12 inches), their
capacitance might add up and give you an impedance discontinuity. This could
give you additional reflections - _real_ trouble. So, although this is not an
'official' rule, keep it in mind when making your own cables.
A differential SCSI bus can use the full cable length up to 25 meters (approx.
82 feet) and keep the max. data rate of 10 MHz. This is especially important
with external devices, as most external single-ended cables can't cope with 10
MHz.
All cables should have matching impedances - not easy (means impossible) with
flat and round cables on the same bus. Mainly for this reason, IBM uses
shielded flat cables on their higher- end SCSI subsystems, for example on the
AS/400 systems.
There are a lot of rules and rules-of-thumb for SCSI cables that make a good
external SCSI cable an _expensive_ cable. The SCSI documents have lots of
technical details about cabling. For example, a three-layer twisted-pair wire
placement scheme with defined impedance rules is recommended for external
cables that makes the cable not so easy (means expensive) to produce.
Therefore, there are a lot of external cables made from standard wire with too
low impedance in the 50 to 70 Ohms range instead of the recommended 90 to 110
Ohms.
In a few years of practice with SCSI, I saw a lot of errors and faulty
behaviour suddenly go away with a change to high-quality cables.
Without trying to advertise - Amphenol seems to be one source of high-end SCSI
cables - at least Adaptec recommended them until they started selling (very
good !) cables themselves.
There are some "repeater" devices for SCSI that seem to work. Basically, these
are fast(!) bidirectional signal amplifiers including termination for each
side. Personally, i don't know one, but iX, a german Unix magazine, mentioned a
device called "ACI-1074A" from a company called "Applied Concepts" - whoever is
this...
ΓòÉΓòÉΓòÉ 5.5. 2.5. Signal levels ΓòÉΓòÉΓòÉ
Single-Ended SCSI signal levels vary from 0V to +5.25V. All signals are active
low. 'True' is a voltage level between 0 and +0.8 V and 'false' is a voltage
between +2 and +5.25 V. Differential SCSI signals conform to the EIA RS-485
interface.
ΓòÉΓòÉΓòÉ 5.6. 2.6. Single-Ended and Differential SCSI ΓòÉΓòÉΓòÉ
There are two different electrical SCSI interfaces, Single-Ended and
Differential SCSI. Single-Ended, "Standard" SCSI has (sic! <g>) single ended
TTL transceivers that allow up to 5 MHz data transfer rates with up to 6 meters
cable length or up to 10 MHz data transfer (Fast SCSI) with up to 3 meters
cable length. Differential SCSI has RS-485-style transceivers that allow up to
10 MHz data transfer rate, but with cable lengths up to 25 meters and with much
better S/N conditions. Important is, Single-Ended and Differential devices are
_not_ electrically compatible with each other. If you try to mix them, you'll
likely end up in destroying the Single-Ended devices on the bus and - less
probably - even the differential device(s). The DIFFSENS line enables a
security circuit - if you connect a differential device to a single-ended bus,
the DIFFSENS line is grounded and this should disable the drivers on the
differential device. However, years ago when i had a few contacts with
differential SCSI devices, not all devices had this security feature enabled,
so "better safe than sorry".
ΓòÉΓòÉΓòÉ 5.7. 2.7. Synchronous and Asynchronous Transfers ΓòÉΓòÉΓòÉ
For the data transfer, SCSI can use two handshaking modes, Asynchronous and
Synchronous. The used signals and handshake mechanism is basically the same,
with a REQ requesting each byte of information, and an ACK acknowledging it.
The main difference is, Asynchronous transfer is a "classic" REQ/ACK
handshaking system for each data packet, while Synchronous Transfer Mode allows
overlapping of multiple REQ/ACK cycles. For example, the initiator could
request data and request the next ten bytes with ten fast REQ pulses. The
target would assert the data, pulse the ACK signal, asserts the next data byte
and pulses ACK again and so on... Only data transfers can be synchronous.
Command transfers always are asynchronous. (See also 7.4)
By default, only asynchronous transfers are used. Synchronous transfer must be
negotiated between the host adapter and the device, before it is used. The same
is true for Wide transfers.
ΓòÉΓòÉΓòÉ 5.8. 2.8. Synchronous and Wide Data Transfer Requests ΓòÉΓòÉΓòÉ
Synchronous Transfer Negotiation includes a timing agreement. If devices
negotiate a data transfer period of less than 200 ns, it is called a "Fast
synchronous data transfer". Here you see that Fast-SCSI-2 is only an extension
to synchronous transfers. A similar negotiation happens for Wide transfers.
Only if both devices agree on using Wide data transfers and which sort (16 or
32 bit), they are used. This ensures logical compatibility with older devices,
as all Wide devices _must_ also support 8 bit transfers. More details about
this in chapter 7.
ΓòÉΓòÉΓòÉ 5.9. 2.9. SCSI Disconnect / Reconnect ΓòÉΓòÉΓòÉ
Typically, not all SCSI commands can be processed immediately. For example,
rewinding a tape or scanning a page with an image scanner can take a long time,
as can seeking to a sector on a CD-ROM or hard disk.
Such operations can tie up the CPU unnecessarily while waiting for the device
to complete the task. For these cases, SCSI has a defined way for a device to
disconnect from the SCSI bus, thus freeing the SCSI bus for other SCSI
transactions or at least freeing the CPU from being tied to the SCSI bus
waiting for the operation to complete.
When the disconnected device completes this operation, it can reconnect to the
bus, causing a hardware interrupt. When this interrupt occurs, bus control is
returned back to that SCSI operation, which then completes.
This SCSI "disconnect/reconnect" mechanism provides overlapped I/O
functionality, thus allowing multiple outstanding SCSI requests with different
devices to be processed at the same time. Especially with devices with higher
typical command times, this is a very valuable SCSI feature.
Disconnect/Reconnect is virtually useless for DOS, but is a big bonus point for
SCSI on multitasking operating systems like Unix, OS/2, or Windows NT. Windows
doesn't count here, for it is based on DOS. Maybe Windows 95 (or 96 <g>?) will
change that.
ΓòÉΓòÉΓòÉ 6. 3. SCSI and PC's ΓòÉΓòÉΓòÉ
PC-specific SCSI standards include mostly software depending on the operating
system. However, if you choose SCSI for your PC, think about your needs before
buying a SCSI host adapter.
ΓòÉΓòÉΓòÉ 6.1. 3.1. Software Interfaces ΓòÉΓòÉΓòÉ
Besides various vendor-specific implementations like, for example, Bernoullis
OAD (Open Architecture Drivers) there are a few vendor-independent standards:
- ASPI for DOS, OS/2 and Netware
- CAM/SCAM for DOS (and OS/2 ?)
- LADDR for OS/2 1.x
ΓòÉΓòÉΓòÉ 6.1.1. 3.1.1. ASPI ΓòÉΓòÉΓòÉ
ASPI stands for Advanced SCSI Programming Interface. Mainly, it originated at
Adaptec and was soon adopted by major companies. ASPI provides a communication
layer to the SCSI adapter and the devices without the need to know about the
host adapter - all communication is made to the ASPI interface. So, basically
the host adapter manufacturer writes an ASPI driver for his host adapter and
he's in business without the need of writing a new CDROM driver, a disk driver
and so on. Most actual tape backup software needs ASPI as a communication layer
or - at least - support it. ASPI generally exists for DOS, OS/2 and NetWare.
Also, Adaptec supplies ASPI for Windows with their host adapters, and ASPI for
Win32 should follow soon. I could see ASPI for Windows support only with
Adaptec controllers, but other manufacturers should (hopefully) follow soon.
What's missing (imho) is an ASPI layer for Unix... But this seems not so easy
with Unix's kernel/driver concept.
ΓòÉΓòÉΓòÉ 6.1.2. 3.1.2. CAM ΓòÉΓòÉΓòÉ
CAM is the "official" ANSI software interface for SCSI devices. I'm not
absolutely sure if it's a draft or a standard yet. However, it seems to be used
only by NCR and Future Domain with their SCSI host adapters, and at least FD
supplies an additional ASPI-over-CAM driver with their boards.
ΓòÉΓòÉΓòÉ 6.1.3. 3.1.3. SDMS ΓòÉΓòÉΓòÉ
NCR now calls its CAM drivers NCR SCSI Device Management System (SDMS). SDMS is
based on a standard SCSI BIOS, that can be ROM- (bootable) or RAM-based
(non-bootable) to address the host adapter hardware. The SCSI drivers link to
this BIOS. Generally, a SDMS driver is completely hardware-independant. One
special case with SDMS is that NCR also offers so-called "concatenated" SCSI
device drivers, where a SCSI-chip specific SCSI BIOS is appended to the driver
code. See also - CAM drivers for DOS
ΓòÉΓòÉΓòÉ 6.1.4. 3.1.4. LADDR ΓòÉΓòÉΓòÉ
LADDR (LAyered Device DRiver) was Microsoft and IBM's (and others like Adaptec
and Compaq...) approach to embed a disk driver and SCSI interface into OS/2 1.2
and 1.3. For OS/2 1.x's small market share and LADDR's limitation to a single
OS, it didn't get bigger acceptance and has been replaced by direct SCSI
support beginning with OS/2, version 2.0. The concept wasn't bad, however.
LADDR support was built in OS/2 1.3 (and it was possible to integrate it in
1.2). If you look at the actual driver concept in OS/2 2.x, you will see that
it isn't much different - mostly just names changed. A concept diagram would
look like this:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé OS/2 File System Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓöîΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé Γöé Γöé Γöé Γöé
ΓöéTSDΓöé-ΓöéVSDΓöé-ΓöéBIDΓöé-ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé Γöé Γöé Γöé Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÿ Γöé
Γöé Γöé Γöé Γöé
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé IOS Γöé Γöé Γöé
ΓöîΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÉ ΓöéHost Adapter Γöé
Γöé OS/2 LADDR Γöé Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Module types are:
BID - Bus Interface Driver, the host adapter specific driver
VSD - Vendor Specific Driver, drivers to modify or enhance the
operation of specific peripherals. VSD's were used to add
features or correct incompatibilities with devices.
TSD - Type Specific Driver, the driver for a specific type of
peripheral, for example CDROM drives
The drivers were:
- BASEDD01.SYS, IOS12.sys, IOCONFIG.SYS, all from Microsoft, for
implementing LADDR.
- a host adapter .BID file, for example WD7000AX.BID. Some of
these came with OS/2, others were available from the host
adapter vendors.
- STDDISK.VSD and DISK.TSD, both from Microsoft, for disk
integration.
- CDROM.VSD, CDROM.TSD and CDROM.FSD, all from Microsoft, for
CDROM operation.
- correct .VSD and .TSD modules for addressing tape devices or
other SCSI devices.
ΓòÉΓòÉΓòÉ 6.2. 3.2. Host Adapters - Variants and Terminology ΓòÉΓòÉΓòÉ
There are some flavors of SCSI host adapters; with and without BIOS, with or
without cache, ISA 8 Bit or 16 Bit, EISA, VL and PCI bus interfaces, SCSI-IDE
combo adapters, standalone or integrated with sound cards, disk-only adapters,
and, and .... Let's try to bring some light in here ...
ΓòÉΓòÉΓòÉ 6.2.1. 3.2.1. BIOS ΓòÉΓòÉΓòÉ
If you want to boot from a SCSI device, you need a SCSI BIOS, that handles the
boot process, for a standard PC BIOS doesn't know anything about SCSI. The SCSI
BIOS handles the translation between SCSI's Logical Block addressing scheme and
the PC's Cylinder/Head/Sector scheme. There is a small point for potential
trouble here - there isn't a common translation scheme, only an
approximation.... Adaptec normally uses a translation scheme with 64 heads and
32 sectors, what gives roughly about 1 MByte per emulated cylinder. However, to
overcome DOS's 1024 cylinder limit, a different translation scheme is
neccessary for disk with over 1 GByte. Again, Adaptec uses a scheme with 255
heads and 63 sectors, setting the emulated cylinder size to 8 MBytes. Keep in
mind that DOS has an inherent disk size limit of 8.4 GBytes, calculated from
512 Byte sector size, 63 sectors per track, 1024 cylinders and 256 heads (=
8.455.716.864 Bytes).
Some motherboards (mostly PCI) and notebooks with a SCSI upgrade option have
the SCSI BIOS already, so that it is much easier to integrate a specific SCSI
adapter.
-- See also the Bus/PCI paragraph 3.2.6. below --
ΓòÉΓòÉΓòÉ 6.2.2. 3.2.2. Bus mastering ΓòÉΓòÉΓòÉ
Some PC host adapters use "DMA Bus mastering" to achieve higher data rates from
the SCSI host adapter's buffer to system memory. Bus mastering is a method to
move data over the system bus directly to memory by bypassing the CPU and
giving control over the bus and memory interface to the peripheral controller,
so that the bus can be used up to its maximal data rate without the CPU
overhead of a 'normal' I/O transfer. On ISA PCs, don't forget that ISA doesn't
have logic to prevent concurrent bus master accesses, so having - for example -
an Adaptec 1542 and a busmastering network adapter like the NE2100 can (and
mostly will) give you sudden lockups and other trouble. Identical busmaster
adapters normally don't have this problem, as the manufacturer mostly keeps an
eye on this for their own adapter coexistence. Two 1540 host adapters, for
example, aren't a problem.
Also, remember that an ISA card can "see" only 16MB RAM on the bus, so, with a
busmastering ISA adapter and more than 16MB RAM, you also _may_ have trouble.
All this, together with the speed considerations, are strong points for EISA,
VL and PCI bus systems.
Bus mastering adapters profit from an additional concept called Scatter/Gather.
For the requested transfer locations in the host systems memory and on the disk
aren't neccessarily contiguous, the adapter might have to transfer lots of
small, "scattered" data blocks. A scatter/gather table keeps track about all
these transfer locations and allows the SCSI driver to transfer these pieces in
a single transfer process to or from the device.
ΓòÉΓòÉΓòÉ 6.2.3. 3.2.3 Cache host adapters ΓòÉΓòÉΓòÉ
a hardware cache is a good method to speed up the disk interface. However, you
should define if your environment can benefit from a hardware cache _before_
buying it. The pro-cache and the anti-cache societies fight "holy" wars about
cacheing, so please allow me to clarify that the following is my _personal_
opinion on this theme:
A cache controller is a good investment for multitasking environ- ments like
Unix and especially Network servers. With DOS, it's generally better to spend
the money for main RAM than for cache RAM and use a software cache. My personal
experiences are that various DPT and AMI EISA SCSI adapters in Novell and NFS
Servers brought _big_ performance gains, especially with heavy-loaded servers.
In DOS systems, a performance gain was visible, and the various benchmark
programs screamed, but in real work situations this didn't equalize the price
tag, especially with the expensive EISA cache controllers. However, this may
differ with different cache controllers, as the possible performance gain is
strongly dependent on the cache algorithm.
ΓòÉΓòÉΓòÉ 6.2.4. 3.2.4. Sound cards with SCSI ΓòÉΓòÉΓòÉ
There are basically two types of them: one has a full-fledged SCSI adapter
integrated on the PCB, without any difference to a standard SCSI host adapter
without BIOS. One example for this type is the SoundBlaster 16/SCSI, with an
Adaptec SCSI chip on the board. The other variant I know about is the ProAudio
Spectrum with a SCSI interface, that's "embedded" into the sound card ports.
The PAS type is limited in speed, but not in SCSI functionality. If you get
standard drivers for them, they all give you full SCSI capabilities, but you
can't boot from them. If you want to boot from a SCSI disk, you need a
full-fledged SCSI adapter with BIOS. Relatively new in the market is Adaptec's
SCSI Audio Machine AMM 1570.
It combines a sound card and a full-featured host adapter with SCSI BIOS. Its
sound part implements General MIDI, but i wasn't impressed by its sound quality
compared with my PAS and especially the TurtleBeach boards. The SCSI part seems
a bit slow compared with a standard SCSI adapter and i don't like that it still
needs jumpers. To me, it seems a bit too expensive with a list price of about
$500 here in Germany - i could get a 1542CF kit and a SoundBlaster 16 for the
same price.. However, it's a full-featured and bootable SCSI host adapter and
sound board in one package. For the idea seems not too bad, it might get
competitors soon.
ΓòÉΓòÉΓòÉ 6.2.5. 3.2.5. Disk-only SCSI host adapters ΓòÉΓòÉΓòÉ
Mostly the Seagate ST-01 and ST-02.
These adapters had their time when SCSI was a new disk interface. As they could
be used only for disks and didn't have standard drivers for ASPI or CAM, they
soon became obsolete. I saw a few of those used as controllers for Syquest
removeable disk drives, but there seem to be no generic drivers like ASPI or
CAM - in case you have one, the latest BIOS and installation information are
available on Seagate's BBS (see Appendix B).
ΓòÉΓòÉΓòÉ 6.2.6. 3.2.6. ISA, EISA, VL and PCI ΓòÉΓòÉΓòÉ
clearly the PC bus affect system performance. As for example the Adaptec 1542
supports DMA bus mastering speeds up to 10 MByte/sec, it would be fast enough
for Fast SCSI-2. However, most ISA designs support only 5MB/sec DMA speed, so
the ISA bus is a bottleneck with fast SCSI devices. EISA busmasters can
transfer up to 33MBytes/sec over the bus, so in this case you really can
benefit from faster devices, as the bottleneck is the device or the SCSI bus
here. The same is true for VL and PCI SCSI host adapters. Also, if you want to
have more than 16MB of RAM, you bypass some potential problems with the more
advanced bus systems. (see also 3.2.2. - Bus mastering)
PCI boards have a speciality: Normally the SCSI BIOS is part of the SCSI
adapter, but there are PCI boards with SDMS (NCR SCSI Device Management System)
support in the BIOS, but without SCSI chip. So, for these boards, you can get
cheap PCI SCSI adapters without BIOS, only with the NCR 53C810 chip on it, but
never- theless bootable from a SCSI disk. So, with a PCI board, the best choice
seems to be one with the SCSI chip on it. It is cheap, and, if performance or
driver compatibility isn't what you expect, you can add a different SCSI card
any time.
ΓòÉΓòÉΓòÉ 6.2.7. 3.2.7. PCMCIA and Parallel-to-SCSI adapters ΓòÉΓòÉΓòÉ
I have very limited experience with both of these; Personally I use a Trantor
T348, at the office there are some different parallel-to-SCSI devices. All of
them work and all share the same experiences. My Trantor T348 seems to be a
stable and - if the parallel port allows it - fast SCSI interface. A friend of
mine uses this T348 for backing up his notebook to a DAT tape and this works
without flaws.
However, the T348 and its pre- and successors T338 and T358 (an EPP variant of
the T348) need a SCSI device that provides termination power, as they draw
their operating current from the SCSI bus. This may give you problems, as
normally I disable termination power on my external devices, for only one
device on the bus (normally the host adapter) should provide TP. Keeping this
in mind and acting accordingly, Parallel-to-SCSI adapters seem to be a possible
solution for attaching SCSI devices to a system without a SCSI adapter, but
they are limited in speed, especially with parallel ports that work only uni-
directional.
PCMCIA - I never used a PCMCIA SCSI adapter, so I can't comment on them.
However, with the full PCMCIA driver set on my Toshiba needing about 130 kB of
memory, plus the SCSI drivers, I can't take PCMCIA too serious with DOS,
especially when working with SCSI or network drivers. OS/2 should solve this
problem, though, as memory isn't a primary concern there, and PCMCIA SCSI host
adapters are reportedly significant faster than EPP-based ones.
ΓòÉΓòÉΓòÉ 6.3. 3.3. SCSI or IDE/ATAPI ? ΓòÉΓòÉΓòÉ
Much is talked about SCSI speed higher or lower than ESDI or ATAPI. This
discussion generally only covers disk drives, without comparing overall
performance or flexibility.
At work, over years I've tested a lot of disk drives with ATAPI and SCSI
versions against each other, and generally, you won't find much difference in
speed between the various interfaces, as they all are fast enough to handle
disk drives. Also, I've seen a lot of comparisons where the contenders were
choosen according to the opinion they should prove. Personally, I find it of
more interest that "standard" SCSI, as a universal 8-bit interface, can reach
the speed of a 16-bit interface like ATAPI without problems. Wide SCSI has more
potential than ATAPI here, but is hard to compare with ATAPI, as you will not
easy find similar devices in ATAPI and Wide SCSI. For both interfaces deliver
similar speed, I believe the "SCSI is faster/better" - "No! ATAPI/EIDE is
faster/better" debate completely misses the point.
If just a disk interface is needed for a desktop PC, IDE/ATAPI is significantly
cheaper, mainly for it's mass production and the cheaper adapters.
If it comes to multiple devices as CDROM, tapes or scanners, this changes. SCSI
is _very_ flexible here, and today, drivers are not the problem they were in
the past. Also, the ongoing SCSI integration in motherboards will drop SCSI
cost. So, the battle is still open <g>.
Skip Lutz says the battle is long over and the SCSI Warriors are running around
stabbing the wounded, so you decide which way it went. <VBG>
One additional key point here is portability. IDE/ATAPI is a technology that is
used mainly in the IBM line of PCs. If you have other systems, you may not have
a choice but SCSI.
The same occurs on Enhanced IDE, of course, although with its additional CDROM
and potential Tape support, it should be suitable for most SoHo PCs. Actually,
in a bit practical work with EIDE devices, it seems that compatibility issues
are even worse than with 'standard' IDE devices - two competing Fast-IDE
variants, device drivers, BIOS incompatibilities and all that stuff. This
should change over time, but at the moment, if you want to use EIDE to its full
potential, choose your parts carefully and, before buying, insist on a return
right, in case it gives you trouble.
(For the EIDE hardliners - don't get me wrong; i don't want to take EIDE down,
but at the moment, it seems to me it's not really mature technology.)
-- see also chapter 8 for ATA/EATA
ΓòÉΓòÉΓòÉ 6.4. 3.4. Speed considerations ΓòÉΓòÉΓòÉ
A small maximal speed table for the SCSI transfer modes could read like this:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöéTransfer type ΓöéBitsΓöéSpeed/Data rate Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéAsynchronous Γöé 8 Γöé3.3 MBytes/sec ** Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéSynchronous Γöé 8 Γöé5.0 MBytes/sec Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéFast Synchronous Γöé 8 Γöé10.0 MBytes/sec Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéWide Synchronous Γöé16 Γöé10.0 MBytes/sec Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéFast Wide Synchronous Γöé16 Γöé20.0 MBytes/sec Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéUltraSCSI Synchronous Γöé 8 Γöé20.0 MBytes/sec Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéUltraSCSI Synchronous Γöé16 Γöé40.0 MBytes/sec Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéWide Synchronous Γöé32 Γöé20.0 MBytes/sec Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéFast Wide Synchronous Γöé32 Γöé40.0 MBytes/sec Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
to compare:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöéEIDE (fastest DMA-Mode) Γöé16 Γöé16.6 MBytes/sec Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
When reading things like "data rate buffer-to-bus 10 MB/sec" with SCSI devices,
keep in mind that this doesn't mean the real sustained data rate your hard disk
or CDROM can deliver - it's just the speed the device can post its cache
contents to the SCSI bus. With hard disks, you will mostly find statements like
"internal data rate 30-47 MBit/s", what would mean in this example, the disk
drive could transfer 5,875 MBytes/sec raw data internal. But this value cannot
be reached - you'll loose some speed due to the disk architecture: If you have
a disk drive with 60 sectors per track and 5400 rpm, the value could be not
better than:
( sectors * bytes/sector * rpm ) / seconds per minute, (60 * 512 *
5400) / 60 = 2,765 MBytes/sec
Add to this some command overhead, head movement times and so on, then you get
an impression, how realistic these values are ...
Another good example are CDROM drives - my Toshiba 3401 has 330 kB/sec
sustained data rate, but its burst data rate can go up to 4.2 MB/sec in
synchronous mode.
No one expects 4.2 MB/sec from a double-speed CDROM, i hope <g>.
** 3.3 MB/sec is sometimes mentions as a "standard" value for asynchronous
transfers, but there is no real "official" transfer rate defined. As newer host
adapters generally reduce command overhead, the transfer rates generally get
nearer to the theoretical limits, also in asynchronous mode. Real-world
asynchronous transfer rates are mostly around 1.5 to 2.5 MB/sec.
ΓòÉΓòÉΓòÉ 7. 4. SCSI and the real Life ... ΓòÉΓòÉΓòÉ
In real life, theory is just a list of things that shouldn't happen <g>. So,
let's collect some experiences and comment about them ...
ΓòÉΓòÉΓòÉ 7.1. 4.1. Installing a SCSI host adapter ΓòÉΓòÉΓòÉ
Basically, a SCSI host adapter is a standard PC board, regardless of the bus
system used. As an example, let's follow my standard installation of an Adaptec
1542CF:
First, look at the default values of the board and verify that it doesn't
collide with other devices in your PC. Of course, you may have some other
device in your PC that will bring you problems later, but first we just want to
see if there is some obvious reason why it wouldn't work. So, control the
I/O-address range, the IRQ(s), DMA channel, and the BIOS address for conflicts.
Also, if you use a memory manager, exclude the chosen BIOS address space from
its memory pool. If you have chosen all resources, enter them in your list of
ressources. If you don't have one for your PC, it's a good idea to start one
now. If all is ok, install the host adapter in the PC and turn it on again. If
you didn't deinstall the BIOS, you will see a BIOS boot message like:
Adaptec AHA-1540CF/1542CF BIOS 2.01s
(c) 1993 Adaptec, Inc. All Rights reserved
Press <Ctrl><A> for SCSISelect(TM) Utility!
Target #0 - DEC DSP3085S-B SD16 - Drive C: (80h)
Target #1 - QUANTUM LP425S 606_ - Drive D: (81h)
The boot-up message will list all devices that are on the SCSI bus and turned
on. Also, it will show you if any of them are disks that are supported by the
BIOS.
Now, it's the best time to start any test programs that are in the BIOS. With
the 1542CF, there is a DMA transfer test program you can use to test the
maximal DMA speed your motherboard can safely use.
So, press <Ctrl><A> if the BIOS tells you to do so, select the host adapter's
base address (normally it will be preset) and press the <Enter> key.
Select "Host Adapter Diagnostics" and press Enter. If the test runs for some
time without problems (i normally use 3 passes), you see that the DMA speed is
on the safe side. Now, turn off the PC and install the SCSI device(s). If you
have more than one internal device,
- set up a unique SCSI ID ( _not_ 7 ) on each of the devices and
- select one of these devices to be at the end of the cable.
Make sure that the choosen device has its termination enabled and disable
termination on all other devices. Termination is either enabled through one or
more jumpers, or simply by installing or removing some resistor packs on the
device's PCB. Now, attach the SCSI cable to the host adapter and to the last
device. Don't forget the device's power connector.
Turn the PC on and watch if the SCSI device is being recognized by the host
adapter. If yes, ok, turn off the PC and install the next device. Watch for the
recognition again and install ....... If all devices are recognized, install
the EZSCSI driver package. From this point on, you should be up and running.
If you did deinstall the BIOS, or if it's a simple host adapter without BIOS,
you will not see any reaction until you install the drivers.
Of course, in real life, you will install all devices at once and in most cases
all will work ok. The above is just the correct way i tell the new technicians
<g>.
ΓòÉΓòÉΓòÉ 7.1.1. 4.1.1. SCSI disks and CMOS RAM ΓòÉΓòÉΓòÉ
Usually, SCSI disks are not entered in the BIOS setup's CMOS RAM.
Unfortunately, there are also some exceptions to this rule - some host adapters
with a WD1003 emulation - especially DPT's models - calculate a "best fit"
drive type on low-level formatting of the first two drives and enter it in the
CMOS RAM. With those controllers, notice the drive type - if you lose the CMOS
settings, the system won't boot without those parameters, and it sometimes is a
slightly tedious process to get them back.
ΓòÉΓòÉΓòÉ 7.1.2. 4.1.2. The "device at ID 7" bug... ΓòÉΓòÉΓòÉ
There is a potential error pending here, as some disk vendors deliver their
drives with all ID jumpers set, setting the SCSI device to 7. The basic sense
here, as told by a Conner rep, is to provide all neccessary jumpers with the
drive. But i had some customers that had a single disk drive with ID 7
connected. If you connect this device as only device, the system usually works
- the device just shows up on all device IDs but 7 - very irritating. If you
add a second device, you are in trouble - it won't work, and you most likely
will search for the error on the new device, although it is set up right.
ΓòÉΓòÉΓòÉ 7.2. 4.2. Installing SCSI devices. ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 7.2.1. 4.2.1. Setting proper termination ΓòÉΓòÉΓòÉ
Remember - the basic rule is: Termination on both ends of the SCSI chain. So,
if you want to install the new device as the last device on one of the sides of
the _complete_ cable, you need to enable termination on it. If it replaces
another device that was at the end of the cable before and now is installed on
another connector on the bus, you also have to disable the termination on this
device.
If you install an external SCSI device, but you had only internal devices so
far, you also have to disable your host adapter's termination. This might be
done by software, as with the newer Adaptecs, or by removing the (mostly three)
terminator packs near the host adapter's SCSI connector, or by setting a jumper
on the host adapter. Clearly, the same occurs, if you get your first internal
device and had only external devices before.
ΓòÉΓòÉΓòÉ 7.2.2. 4.2.2. Finding out and setting the SCSI ID of the new device ΓòÉΓòÉΓòÉ
First you have to find out a free SCSI ID. The best method for this is simple -
look at your host adapters bootup message and look for free IDs.
Adaptec AHA-1540CF/1542CF BIOS 2.01s
(c) 1993 Adaptec, Inc. All Rights reserved
Press <Ctrl><A> for SCSISelect(TM) Utility!
Target #0 - DEC DSP3085S-B SD16 - Drive C: (80h)
Target #1 - QUANTUM LP425S 606_ - Drive D: (81h)
Target #3 - TOSHIBA CD-ROM XM-3301T
Target #4 - SDI LASERSTOR E5
In this example, IDs 2, 5 and 6 are free for new devices. You can't use ID 7,
as this is the host adapter's ID.
On internal devices, the ID is normally set by three jumpers in a 4-2-1
configuration. The sum of the jumper values counts for the ID. So, if you want
a hard disk at ID 0, remove all three ID jumpers, if they are set. For ID 1,
jou must set the jumper with value 1, mostly called ID0, whereas the "2" jumper
is called ID1 and the "4" jumper is called ID2.
If you play with Wide SCSI, you could have 4 (8-4-2-1) or, in the future, even
5 (16-8-4-2-1) jumpers for ID selection.
Some older IBM host adapters have an especially nice "feature" - they scan the
SCSI IDs "top-down" from ID 6 to ID 0 and give logical IDs to the found
devices, from 0 upwards. After this process, all software (including OS) sees
only the logical IDs. So, if you have an IBM SCSI system, be careful when
selecting IDs - maybe you can't trust the ID's any tools report.
ΓòÉΓòÉΓòÉ 7.3. 4.3. What can be wrong? ΓòÉΓòÉΓòÉ
Basically - all <g>. However, if i should make a list about problems i found or
had at various offices and systems, there are some all-time highs and standard
cases:
- unstable termination, passive termination with Fast-SCSI, very rare:
active termination with old SCSI devices.
- wrong termination (too much devices terminated or SCSI bus ends not
terminated correctly)
- self-made short flat ribbon cables with bad contacts
- using Fast-SCSI with cheap external round cables
- too long cables, especially with adding Fast SCSI devices to an
existing, stable SCSI system
- setting the new device to a used ID
- using a SCSI adapter that doesn't provide term. power (or disabled)
and having no device set to provide it.
ΓòÉΓòÉΓòÉ 7.3.1. 4.3.1. Cabling with "Standard" SCSI ΓòÉΓòÉΓòÉ
SCSI-1 and "Standard" SCSI-2 normally isn't very picky with its cabling.
However, there are a few traps you could stumble in...
The mixing of flat and round cables gives impedance changes that could lead
into problems. Normally, you will use flat cable or twisted pair flat cable
inside and round cables for external cabling. This normally works. Some times,
when we tested different configurations, adding another "quick and dirty" flat
cable to the external chain, it didn't work ... changing the flat cable to be
the first cable after the controller sometimes did the trick.
However, SCSI cabling is a sensitive thing, so, if i encounter strange
problems, i look for correct termination first and for the cables directly
after this.
I've got some configurations outside that worked only after we changed the
_complete_ cabling to flat cable.
If you buy external cables, you will see that 30 cm is the _minimal_ length you
can buy - if you can find these cables.
ΓòÉΓòÉΓòÉ 7.3.2. 4.3.2. Cabling with Fast SCSI ΓòÉΓòÉΓòÉ
Other that SCSI-1, Fast SCSI is _very_ picky with its cables. If you buy a
system from a "better" vendor, you will often see twisted-pair signal cables
also for the internal cabling. This makes much sense, as the signal/noise ratio
is better with this. With Fast SCSI, the allowed SCSI bus length drops to 3
meters including the internal cables. Keep this in mind if you install
Fast-SCSI devices, or, if you have the choice, select a Twin- channel SCSI host
adapter like, for example, Adaptec's 2742T instead of the standard 2742.
ΓòÉΓòÉΓòÉ 7.3.3. 4.3.3. Termination and Termination Power ΓòÉΓòÉΓòÉ
The termination basic rule is simple - both ends of the SCSI chain. So, in
general, there are only three configurations to consider for a hardware setup -
internal devices only, external devices only and the combination of internal
and external devices. Diagrams are in Appendix C.
In the first two setups, usually you don't have to change anything on the host
adapter, because all host adapters come with termination enabled. If you're
using both internal and external devices, you have to disable the host
adapter's termination, either by disabling it per software or a jumper, or by
removing two or three resistor packs.
With those simple rules in mind, however, i had some cases where i got a system
up and running only if i apply Termination on both ends _and_ on the host
adapter. This usually points to cable misimpedance, but if you do have such a
setup, if it works, you can leave it as it is. But keep in mind that the next
device you attach or remove may change this - and then you may have a hard time
to find out the error on "a perfectly working system".
I had such a setup in my home system - HD, tape and CDROM internal, the
internal end terminated with an active terminator, the 1542CF terminated
(active), MO and scanner external and terminated with an active terminator,
high-end cables, 2 meters all in all, only the 1542CF supplies termination
power - all perfect. But without the host adapter's termination, no way... So,
don't be scared if a setup works that shouldn't - usually, i verify it again
and if it works, try to live with it. In the meantime, all is ok - the MO died,
and with it died the strange termination setup....
The termination circuits need some power source, practically called
"termination power" <g>. Typically, every device has the possibility to provide
termination power to the SCSI bus, but the SCSI-2 drafts defined the initiator
as the standard TP provider, so this rule was usually followed by the
manufacturers during the long pre-standard years and host adapters generally
supply termination power. As you would expect, there's no rule without
exceptions ... Some older, cheap host adapters don't provide termination power
to the bus. One example is the old Future Domain TMC-845 host adapter. In those
cases, you have to set one of your devices to supply termination power to the
SCSI bus. The same occurs generally to the parallel-to-SCSI adapters. Those
adapters usually get their power from the TP line and therefore need a device
supplying it to the bus.
ΓòÉΓòÉΓòÉ 7.3.4. 4.3.4. Identifying a terminator ΓòÉΓòÉΓòÉ
Sometimes, you get a terminator and no hint on it if it's an active or passive
one. In this case, two simple resistance measures can give you the type:
From one signal line to another signal, an active terminator following the
standard circuit diagram should give you a readout of 220 ohms. A passive
terminator should have 264 Ohms. Measured from any signal to ground, a passive
terminator should read 143 ohms, an active terminator has no connection from
the signal lines to ground, so it won't give you a readout other than
"overflow" <g>.
The precise description - "why is it so?" - is in Appendix E, together with a
"caution" note for active terminators.
Also, i don't have "quick identifying information" about FPT terminators. As i
don't have a real diagram for them, it's hard to guess how to recognize them.
ΓòÉΓòÉΓòÉ 7.4. 4.4. SCSI drivers on PCs ΓòÉΓòÉΓòÉ
If you attach only hard disks to a SCSI adapter, you mostly won't need to
install drivers, as hard disks are managed by the BIOS, except in some special
cases.
However, to access SCSI devices other than hard disks, you need some drivers.
What drivers you need, depends on your host adapter, your operating system,
your driver package and your devices. However, with any software interface
there are some generic rules:
- You need a hardware-specific part, that talks to your host adapter's
SCSI chip.
- Based on this hardware-specific part, there are some device- specific
parts, that sit on the hardware-driver to talk to their supported
devices.
- On this device-dependent drivers, there _could_ be some
application-specific parts, either as application-specific drivers or as
(invisible) part of the application.
ΓòÉΓòÉΓòÉ 7.4.1. 4.4.1. ASPI drivers for DOS ΓòÉΓòÉΓòÉ
With ASPI, in first place you need an ASPI manager for your host adapter. This
driver is the hardware dependent part of your driver package. For example, with
an Adaptec 154x adapter in your PC, you will need to install ASPI4DOS.SYS. With
a DPT SCSI host adapter, it would be DPTDDL.SYS, with a QLOGIC host adapter it
would be QLASPI.SYS and so on ...
After this driver is installed, the ASPI interface can be used by all sort of
device drivers. For example, to address a CDROM drive, you could use Adaptec's
ASPICD.SYS or Trantor's TSLCD.SYS (only the ASPI-based version from
SCSIWorks!). You could use ASPIDISK.SYS to address removeable devices
(Bernoullis, MO's ...) or hard disks, if your SCSI BIOS doesn't support them or
isn't installed. Let's look at my DOS config.sys file to see some of these
drivers:
Don't mind the parameters that i don't explain at the moment. They're specific
to my setup or hardware. Also, the path C:\DOS\SCSI is the path i installed the
drivers on my system. The values in brackets on the right side of the DEVICE=..
lines are the memory consumption of these drivers on my main system.
DEVICE=C:\DOS\SCSI\ASPI4DOS.SYS /D [ 8 kB]
This is the ASPI manager for my Adaptec 1542CF. It does
basically nothing but providing the ASPI interface. The
/D-parameter gives some additional information at startup.
DEVICE=C:\DOS\SCSI\ASPIDISK.SYS /D /R1 [ 5 kB]
This driver supports removeable-media devices like my
Bernoulli 90Pro removeable disk and the Maxoptix Tahiti
Magneto-Optical drive.
DEVICE=C:\DOS\SCSI\aspicd.SYS /D:ASPICD0 [12 kB]
ASPICD.SYS is the device driver for a SCSI CDROM drive.
The /D:ASPICD0 parameter installs the CDROM driver with
the device name "ASPICD0". This _exact_ name is needed
later for MSCDEX.EXE in Autoexec.bat.
The same parameters could be used with other CDROM
drivers, for example Toshiba's MDSCD_AS.SYS or
Trantor's TSLCDR.SYS.
DEVICE=C:\DOS\SCSI\EPSN.SYS 3 /i79 /S6 [ 3 kB]
EPSN.SYS is the driver to address my EPSON scanner.
A HP Scanjet II series scanner could be similar
supported with a line like DEVICE=C:\DOS\SCSI\SJIIX.SYS.
The CDROM driver needs an additional part in DOS's Autoexec.bat file,
MSCDEX.EXE, to enable access to the CDROM's filesystem to DOS. The
corresponding line in Autoexec.bat is:
C:\DOS\MSCDEX.EXE /D:ASPICD0 /L:T /M:0 [23 kB]
This line installs the CDROM Extension and needs _exact_ the same drivername
after the /D: parameter that you used with the CDROM driver in Config.sys. /L:T
tells MSCDEX to install the CDROM on drive letter T:, /M:0 means no buffers are
set up, for i use DOS 6.2's SMARTDRV cache also on my CDROM.
ΓòÉΓòÉΓòÉ 7.4.2. 4.4.2. CAM drivers for DOS ΓòÉΓòÉΓòÉ
The driver scheme for CAM is very similar to ASPI: a CAM shell driver as first
driver, then various possible drivers: a CDROM driver, a driver for removeable
disks and hard disks that are not supported by the BIOS and other specific
drivers.
Although standardized, CAM seems to exist in various flavours. With NCR, you
normally get a CAM driver, a DISKIDD.SYS driver for removeable media and one
generic ore some device-specific CDROM drivers. With a 53C9x chip-based adapter
for example, you probably would have CAMC9X.SYS, CDROM.SYS and DISKIDD.SYS.
With the 53C7xx and 53C8xx chips, the drivers changed slightly. With them, (at
least i think so!) NCR introduced SDMS, their SCSI Device Management System.
The SDMS kernel is mostly in the host adapter's or PC's BIOS, the CAM drivers
are only needed if you want to use CAM or ASPI for attaching other devices. Now
there are DOSCAM.SYS and MINICAM.SYS, ASPICAM.SYS, CDROM.SYS and SCSIDISK.SYS.
According to NCR's driver text files, the main difference between DOSCAM.SYS
and MINICAM.SYS is that DOSCAM supports synchronous transfers, Tagged command
queuing, SCSI Disconnect/Reconnect and multithreading, where MINICAM.SYS
doesn't support these "advanced" SCSI functions.
A typical set of Config.sys entries for NCR-based host adapters could look like
the following:
DEVICE=C:\DOSCAM.SYS .......
the CAM 3.0 base driver
DEVICE=C:\ASPICAM.SYS
NCR's ASPI shell over CAM. After loading this driver,
you can use all CAM or ASPI-based applications.
DEVICE=C:\SCSIDISK.SYS .......
NCR's disk driver for removeable drives or drives with
sector sizes other than 512 bytes. Also needed if you
want to address more than seven SCSI drives with DOS 5+.
DEVICE=C:\CDROM.SYS .......
The generic CDROM driver. Its syntax is exactly as
described above with ASPICD.SYS.
ΓòÉΓòÉΓòÉ 7.4.3. 4.4.3. SCSI drivers for OS/2 ΓòÉΓòÉΓòÉ
With OS/2 2.0, things went easier. The only host adapter specific part is the
.ADD driver. SCSI, ASPI and CDROM support are standard with OS/2 2.x.
The following excerpt is from my OS/2 config.sys:
BASEDEV=OS2DASD.DMD
This is OS/2's hard disk driver
DEVICE=C:\OS2\OS2CDROM.DMD /Q
IFS=C:\OS2\CDFS.IFS /Q
These two entries install CDROM support and the CDROM
file system.
BASEDEV=xxxxxx.FLT
If neccessary, you can install the appropriate .FLT
file here for your CD-ROM drive, i.e. Hitachi.FLT.
BASEDEV=OS2SCSI.DMD
This is the generic SCSI support driver.
BASEDEV=AHA154X.ADD /v
This is the host adapter driver, in this case the
.ADD module for my Adaptec 1542CF. The /v parameter
gives some informatio about the attached devices at
startup.
BASEDEV=OS2ASPI.DMD /all
This is the OS/2 ASPI driver. The parameter /all
specifies access to all devices for the VASPI driver.
DEVICE=C:\OS2\MDOS\VASPI.SYS
This is the virtual ASPI driver for the DOS-VDM's. This
is also part of Adaptec's Virtual ASPI implementation.
DEVICE=C:\OS2\OPTICAL.SYS or
DEVICE=C:\OS2\MO.SYS
This is IBM's driver for Magneto-Optical drives.
Officially it is designed for 128 MB 3╨╗" drives, but
it also works with other MO's like my Maxoptix Tahiti.
In the meantime there are some Shareware and PD extensions to OS/2 SCSI. One of
these is Andreas Kaiser's ASPITAPE/SCSITAPE driver package with GNU TAR. The
two entries here support tape backup to SCSI tapes under OS/2 with my drive
(SCSI-1, ID 2).
set TAPE=+++TAPE$2
basedev=scsitape.dmd TAPE$2 2 S1
If you get a new SCSI .ADD driver, you need to install it in OS/2's CONFIG.SYS
file. There are two possible ways to install the driver. Either you install the
driver via OS/2's "Selective Install" command - you'll need a matching .DDP
file for the driver -, or you include it into Config.sys manually. See your
OS/2 documentation or the driver's readme file for better information.
ΓòÉΓòÉΓòÉ 7.4.4. 4.4.4. FastDisk SCSI drivers for Windows 3.x ΓòÉΓòÉΓòÉ
In the last time, some vendors got tired of the user's lament about missing
Windows FastDisk drivers and supplied such drivers to allow Windows to use 32
bit disk access.
In short, a Windows FastDisk driver replaces the Disk BIOS with a
protected-mode Windows driver. This is usually faster, for it saves at least
two mode transitions (from protected mode to real mode - then the BIOS call -
and back to protected mode) and BIOSes usually are in slow ROM, mostly in an
8-bit ROM. Switching CPU modes is a time-consuming job, so FastDisk is of some
value.
Additionally, it has some benefits with RAM usage and cooperates better with
Windows' paging mechanism.
Future Domain was one of the first vendors to provide FastDisk drivers. They
had them nearly from the beginning and were the only vendor for some time.
Lately Adaptec introduced full FastDISK driver support in EZSCSI version 3.11.
After these drivers are installed, you can enable Windows' 32-bit disk access.
32-Bit file access worked before, if you had installed the DOS ASPI drivers. An
additional bargain in Adaptec's control panel module is the possibility to
activate the SCSI drive's write caching feature. Although SCSI disk drives
usually are able to cache write requests, they usually come with write caching
disabled. ATA drives, on the other hand, usually have it enabled by default.
At present, i'm not aware that NCR has a FastDisk driver available. If this is
wrong, please inform me - i don't have a NCR-based SCSI adapter at the moment,
so i'm not in touch with the latest drivers.
To sum it up - if you are using Windows (likely <g>) and SCSI, ask your vendor
for a FastDisk driver. It can lead to some speed improvements, although there
are situations where they doesn't help - in any case, it's a good idea to have
them installed.
With Windows 3.11, you can save the base memory for the SmartDrive cache and
use VCACHE instead - always worth it, although the actual VCACHE doesn't
support CDROMs.
Windows NT and Windows 9x don't share this slight problem - the Miniport
drivers that both systems use are protected mode drivers by definition.
ΓòÉΓòÉΓòÉ 7.5. 4.5. DOS again - SCSI drivers and memory usage ΓòÉΓòÉΓòÉ
If you install a full set of drivers, you will notice that some of those
drivers are real memory hogs. So, if you have multiple drivers to choose from,
it may worth it to compare what they can do and how much memory they need. To
give just a short example - when i got IOMega's IOSCSI package for my
Bernoulli, it contains also an ASPI-based CDROM driver, scsicd.sys. This CDROM
driver needs only 5 kB memory, compared to the 12 kB my ASPICD.SYS uses
(release 3.20). Keeping in mind what trouble and what amount of time people
waste to find 7 kB of free memory, this is a notable enhancement. Also, compare
new driver releases you might get - they may need more or less memory, without
neccessarily changing anything in your system.
To mention just a few CDROM drivers i tested on my system:
Adaptec ASPICD.SYS Version 3.21 - 12.672 Bytes
IOMega SCSICD.SYS Version 2.2 - 5.280 Bytes,
Relialogic NCRCD.SYS Version 1.0.2 - 7.104 Bytes
Buslogic BTCDROM.SYS Version 2.00 - 11.024 Bytes
MicroStaff MCDTOS.SYS Version 2.55 - 10.000 Bytes
Microsoft's MSCDEX Version 2.23 - 23.856 Bytes
American Science's SUPERCDX 2.13 - 68.720 Bytes
The Japanese MACCD module - 32.384 Bytes
For the hard cases, there is Helix' Multimedia Cloaking, a set of Mouse
driver, MSCDEX program and some others that run in protected mode with a small
stub driver in base memory to save conventional memory. I don't know of other
products like this, but it seems to work - at least at a friend of mine.
ΓòÉΓòÉΓòÉ 7.6. 4.6. Size limits - disks, partitions and other... ΓòÉΓòÉΓòÉ
Sometimes, questions like "Why can't i use disks with over a Gigabyte", "How
can i setup my 9 GB disk drive with DOS" and similar arise. This is sometimes
confusing, as it touches a bunch of limits coming from hardware, BIOS
architecture, DOS architecture, drivers and other sides.
In short, there are four applicable basic limits, and they get sometimes
confused...
- 504 MBytes, according to the WD-1003 and the AT BIOS,
- 1 GB, for most older SCSI adapters, due to the standard translation
scheme from SCSI blocks to the PC's track/sector/head address scheme.
- 2 GB, the limit for a DOS partition
- 8 GB, the maximal addressable disk size for DOS
So, to avoid confusion, let's explain the various limits one at a time....
ΓòÉΓòÉΓòÉ 7.6.1. 4.6.1. The 504 MB limit ΓòÉΓòÉΓòÉ
The PC's standard disk hardware was designed with a sector address scheme
consisting of cylinder/track, head and sector. DOS uses this scheme, and at its
implementation, it had plenty of spare capacity - remember that at that time a
5 MB disk drive was state of the art.
So, with up to 1024 cylinders, 256 heads and 63 sectors per track, DOS can
address up to 8 GByte of disk space.
However, the WD-1003 controller that was the reference for the BIOS
implementation could only address up to 16 heads and the standard disk BIOS
took over this limit.
So, the limit for MFM/RLL and IDE disks under DOS is still 504 Megabytes or 528
Megabytes, as the drive vendors mostly state (504 MB = 528482304 Bytes) - 528
sounds bigger than 504, you know <g>....
This limit also applies with the Windows 3.x WDCTRL FastDisk driver - it is
designed to work with strictly standard WD-1003 compliant interfaces.
ΓòÉΓòÉΓòÉ 7.6.2. 4.6.2. The 1 GB limit and extended translation ΓòÉΓòÉΓòÉ
All SCSI adapter BIOSes translate the SCSI disks logical block numbers in
cylinder/head/sector addresses. For this translation, the established standard
scheme is 64 heads and 32 sectors per track, thus giving DOS an addressable
range of 1 GByte with 1024 cylinders.
Newer and higher end host adapters offer an extended translation scheme to
address bigger disks. There are some different translation schemes, so let's
name only two:
Adaptec translates to 255 heads and 63 sectors per track,
Buslogic's older adapters use variable sector and head counts, depending on
disk size.
ΓòÉΓòÉΓòÉ 7.6.3. 4.6.3. The 2 GB partition limit ΓòÉΓòÉΓòÉ
DOS has a limit on partition size - 2 GB. This limit is due to DOS addressing
disks in maximal 65536 addressable units, called "clusters". A cluster can
consist of up to 64 sectors, depending on disk size. The cluster size is
determined by FDISK on setting up the partition.
This also leads to inefficient disk usage with DOS's FAT file system. with a 2
GB partition, you will end up with 32 kB sectors - means that the smallest
batch file uses 32 kB disk space.
ΓòÉΓòÉΓòÉ 7.6.4. 4.6.4. The 8 GB disk size limit ΓòÉΓòÉΓòÉ
As stated above, DOS manages its disks by cylinder/head/sector addresses, with
absolute limits at 1024 cylinders, 256 heads and 64 sectors per track.
Add this with DOS's 512 byte sectors and you end up with slightly under 8192 MB
- voilЕ, 8 GB.
In real life, you won't see over 255 heads and 63 cylinders. I'm not sure why
those limit are one unit lower than expected - i never had to do with this -,
but DOS simply locks up if it sees one of the offending parameters.
ΓòÉΓòÉΓòÉ 8. 5. SCSI driver software (and where to find it) ΓòÉΓòÉΓòÉ
Some thoughts about SCSI utilities and software here.... Most driver packages
come with disk formatting utilities and some other stuff. However, there are
some other packages and general utilities.
ΓòÉΓòÉΓòÉ 8.1. 5.1. Driver packages ΓòÉΓòÉΓòÉ
The best known SCSI driver packages (at least for me) are Corel SCSI, Adaptec's
EZSCSI, Trantor's SCSIWorks and Future Domain's PowerSCSI!. Of course, there
are many others I can't mention - I simply don't know about them.
Most versions of these packages I've seen all include various ASPI or CAM and
ASPI drivers, additional drivers like CDROM and hard disk drivers and some
basic utilities like low level formatter and partition manager.
Lately the vendors tend to add some value to the packages:
EZSCSI 3.0, for example, bundles the drivers with Windows ASPI driver and DLL,
a PhotoCD viewer, various help files and a tape backup program, CD players and
a SCSI interrogator. Also, a HP scanner driver for the SJIIx series is
included, although this seem to be a bit unstable with the actual ASPI driver
versions. So, it seems to be worth a try to use the ASPI driver from EZSCSI
2.03 when using a HP scanner with these adapters.
Corel SCSI, a more hardware-independent approach, can "sit" on the vendor's
ASPI driver (it supplies a lot of these, also for manufacturers that don't have
ASPI drivers of their own) to give support for CDROM, scanners, disks, tapes
and nearly whatever devices are there...
Even CDROM burners and SCSI printers have some support.
The last version of SCSIWorks! i've seen also has a HP scanner driver and
includes TapeMate II, a relative good tape backup program for DOS.
Future Domain's PowerSCSI! contains CAM drivers for their host adapters, a
CDROM driver and CD-Audio tool, a disk formatter and a SCSI device analyzer -
nice tool if you have a FD adapter.
There is also a $40 shareware SCSI driver package called MSDRVR from a japanese
company called "Micro Staff" with ASPI-based disk, MO and CDROM drivers on
CompuServe. I didn't try it, but it may be worth a look (MSDRVR.ZIP, IBMHW
forum).
If you look specifically for NCR's 53c8xx drivers, the german c't BBS at
++49-511-5352301 is worth a look. c't has a deal with NCR and major motherboard
manufacturers like Asus, J-Bond and Gigabyte to have the latest drivers and
Flash BIOS versions on their BBS for download. I don't know if it's allowed to
upload these drivers to CIS or other BBS, but i didn't find an explicit "NO" in
my log files.
ΓòÉΓòÉΓòÉ 8.1.1. 5.1.1. CDROM drivers and software ΓòÉΓòÉΓòÉ
There are different SCSI CDROM drivers. Some of these use a standard interface
like ASPI or CAM as a base and some directly address the hardware. When looking
for a CDROM driver, keep in mind that it not only must support your drive, but
also your host adapter or your SCSI driver interface. So, for example, there
are some flavours of Trantor's TSLCDR.SYS. Some of them work over ASPI, but
most of these supplied with sound cards are dedicated to the sound board's
hardware. The same happens with some other CDROM drivers.
The drivers I know personally are ASPICD.SYS from Adaptec, Trantor's TSLCDR.SYS
(ASPI and hardware-specific types) and Toshiba's MDSCD_AS.SYS. All of these
work with my Toshiba 3301 and 3401 drives, just that MDSCD_AS.SYS locks up when
a multi-session PhotoCD is in the drive on startup.
There are some packages out there to read digital audio data from the drive.
CorelSCSI 2.0 includes two such programs for DOS and Windows. Also, there is
Jim McLaughlin's CDDA 1.0 and CTCDREAD from c't, a german magazine. According
to CDDA's doc, a few others exist on the internet - however, i know none of
them. CDDA 1.0 works with various Apple, Chinon, NEC, Sony and Toshiba drives.
Also, it has a MSCDEX-only mode that may work on other, also non-SCSI drives.
ΓòÉΓòÉΓòÉ 8.1.2. 5.1.2. Scanner drivers and software ΓòÉΓòÉΓòÉ
A lot of SCSI scanners that come with dedicated SCSI adapters also have
"standard" drivers to attach the scanner to another SCSI host adapter and
address it over ASPI or CAM interfaces. For the HP Scanjet IIxx series, this
driver is called SJIIX.SYS. My own Epson GT-6500 works flawlessly over ASPI
with EPSON.SYS. If you don't have a generic SCSI driver for your scanner, ask
your dealer about it and/or look in the vendor's forum or the Graphic support
(GRAPHSUP) forum on CompuServe. Also, there are some drivers in forum sections
of OEMs like Vobis (This german stores have OEM models of some Microtek and
Mustek scanners and so keep the drivers in their forum).
If you don't find anything, Corel SCSI 2.0 is worth a look. The Corel guys
support a lot of different scanners with their generic TWAIN-over-ASPI support.
ΓòÉΓòÉΓòÉ 8.1.3. 5.1.3. Removeable and Magneto-optical devices. ΓòÉΓòÉΓòÉ
There seem to be basically three types of removeable disks in the market:
magneto-optical drives, Bernoulli and Syquest disks. I don't have access to a
Syquest, but I use my Bernoulli and a MO drive with ASPIDISK.SYS under DOS.
With OS/2, there is a driver for Magnetoopticals (OPTICAL.SYS), and the
Bernoulli is supported as a very big floppy disk with the standard drivers.
IOMega's OS/2 drivers work by bypassing OS/2's driver concept with IOMega's own
(slow) SCSI adapters, so I never tested them. Generally, if possible, I try to
use standard drivers, not the vendor-specific ones, for I get better
compatibility with the "standard" ones.
ΓòÉΓòÉΓòÉ 8.2. 5.2. Some Small SCSI tools ΓòÉΓòÉΓòÉ
Over times, I collected various SCSI tools that came with host adapters or as a
support aid from vendors. There are some useful utilities that might save you
time. So, here a list of some of these niceties:
NCR's GANGCOPY.EXE copies complete SCSI disks that are attached to a NCR
CAM-compliant host adapter. It can be very useful for dealers or support staff
with big standard configurations - copy the master and then mount the copy into
the new PC.
HP's SCSI driver pack for the Scanjet II scanners has a tool called
FindSCSI.EXE. It scans for ASPI and CAM drivers, then displays the attached
devices like this:
ADAPTEC AHA-1x4x is ASPI Host adapter 0.
QUANTUM PD425S at Address 0, Stat 0.
DEC DSP3085S-B at Address 1, Stat 0.
TANDBERG TDC 3600 at Address 2, Stat 0.
TOSHIBA CD-ROM XM-33 at Address 3, Stat 0.
SDI LaserStor at Address 4, Stat 0.
CAM manager is NOT present
Also, Conner supplies ASPIINFO.EXE with their SCSI backup software. It uses
only ASPI, but displays more information. I think that I saw ASPIINFO
originally on CIS, so it may be freely available.
Also, there is a tool called SHOWSCSI that started as a demo program for the
c't ASPI library. It is basically a small clone of Adaptec's Windows-based
SHOWSCSI program. Output is like:
ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
Γòæ Host Adapter #0 Γòæ
ΓòƒΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓòó
Γòæ Host Adapter SCSI_ID: #7 Γòæ
Γòæ ASPI-Manager : DOS SCSIMGR 3.3 Γòæ
Γòæ Host Adapter ID : ADAPTEC AHA-1x4x Γòæ
ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Host Adapter #0 - SCSI ID 0 - LUN 0: Disk Device Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé Device Information Γöé Miscellaneous Γöé
Γöé Vendor ID : QUANTUM Γöé Device Type : SCSI-2 Γöé
Γöé Product ID : PD425S Γöé Capacity : 406 MByte Γöé
Γöé Revision : 606_ Γöé Bytes/Sector: 512 Byte Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé SCSI-Features Γöé
│ [√] Synchronous Mode [ ] WIDE SCSI (16-bit) │
│ [√] SCSI Linking [ ] WIDE SCSI (32-bit) │
Γöé [ ] Command Queuing Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Host Adapter #0 - SCSI ID 1 - LUN 0: Disk Device Γöé
......
and so on - you get the idea.
Seagate has a tool called ASPIID, that shows lots of more-or-less useful
information about SCSI disks. Also seen on CompuServe...
ΓòÉΓòÉΓòÉ 8.3. 5.3. Tape software (only Shareware) ΓòÉΓòÉΓòÉ
There are a few Shareware or Freeware TAR implementations out. The first I ever
saw was Greg Shenaut's ASPITAPE.SYS and PCTAR combination. If I remember right,
ASPITAPE.SYS is $20-Shareware and PCTAR is freeware. According to my
test-experience, it works flawless, but the TAR is somewhat limited in its
possibilities.
At the moment, I use GNU Tar for DOS and OS/2. I found GNU Tar for DOS on
CompuServe in the IBMHW forum, GNU Tar for OS/2 in the OS2USER forum. Both work
OK with my systems and any other i tested, and GNU Tar is IMHO the best TAR in
the world. ASPITAPE/PCTAR should be in IBMHW also or in the UNIXFORUM.
ΓòÉΓòÉΓòÉ 8.4. 5.4. Programming info for SCSI ΓòÉΓòÉΓòÉ
At the moment, I don't know how to obtain CAM programming info. However, NCR's
SCSI BBS surely should be a good point to start searching.
ASPI information can be obtained from Adaptec BBS. There is a very good ASPI
programming lib for ASM, C and Turbo Pascal from c't, a german magazine. I'll
upload what I have to the German computer forum GERNET in the next days
(section "c't"). I'm not sure if i'm allowed to upload it to IBMHW, so that
must wait 'til i'm sure.
Also, Adaptec sells an ASPI developer's kit with documentation, sample sources
and some test tools.
ΓòÉΓòÉΓòÉ 9. 6. Typical SCSI devices ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 9.1. 6.1. Hard disk drives ΓòÉΓòÉΓòÉ
SCSI was always a high-end interface for hard disks. For it was expensive, it
naturally showed up only in high-end disks. At the moment, you'll see that all
"state of the art" hard disks use SCSI and the generation before (in
capacity/technology terms) gets equipped with IDE/ATAPI interfaces for the mass
market. The point where this technology transfer comes in changes slightly -
now there are 1GB+ ATAPI and EIDE hard disks, but the 2GB+ range is still - i
think - a SCSI domain.
ΓòÉΓòÉΓòÉ 9.1.1. 6.1.1. RAID drive arrays ΓòÉΓòÉΓòÉ
RAID is a technology that's nearly "married" with SCSI. RAID is a method to
combine two or more disk drives to a bigger logical drive with or without
redundancy/fault tolerance. The acronym RAID (Redundant Array of Inexpensive
Disks) tells the main reason why it came up - either combining cheap disks to
sell a disk system for much more money than the disk drives' cost <g>, or
combining drives to get a bigger drive that was possible with a single drive.
Now, RAID is primarily a security option, for it's actual used types add
redundancy to the disk system to be able to swap a defective disk without using
data.
RAID exists in several levels ordered by numbers;
RAID 0, called "striping", combines two or more disks to a big logical disk
drive. The data is distributed between the disks by a "striping factor", that
means, data are separated by blocks of, let's say 32 kByte, between the disks.
This could, not neccessarily must, give also better performance with big files,
because the data come from parallel drives, thus the mechanical access times
are reduced.
Raid 0 gives no security plus.
Sometimes you'll see "disk spanning" advertised as a RAID 0 feature. Spanning
isn't RAID, though, as it is just combining two or more disks to a bigger
logical one by adding up the sector numbers without striping. Spanning was
mostly used in the past, when single disks didn't get over 1GB. Spanning was
easy implementable in driver software. SpeedStor's abilities, for example, also
include disk spanning.
RAID 1, also called "disk mirroring", adds no capacity, but enhances security
by reading/writing the same data from/to two disks. With an intelligent
two-channel controller, this can sometimes lead to a small performance plus on
read operations, for - if all disks can read and write simultaneously - the
first disk completing the read process sets the "time mark". Write operations
normally become slower, as the write must be done on all drives before it's
completed.
In real world, it's normally a speed brake, especially its software variants.
RAID 2 uses a dedicated drive for error-correcting information. The high
redundancy of RAID 1 (2 GB disks for 1 GB data) was reduced by using
Hamming-codes for the correction data to about 40%. RAID 2 needs ECC error
correction built-in in all disks. In the RAID 2 model, striping is implemented
at bit-level, that means, bit 0 goes to disk 0, bit 1 to disk 1 and so on...
However, i never saw or got info about a RAID 2 system, for they would be very
expensive to implement, if ever. In fact, it was never implemented.
RAID 3 and 4 consists of at least 2 data drives and a dedicated ECC data drive.
Data is striped between the disks, typically in byte-packets and XOR combined
for the ECC drive. Typically, the performance is good with large file reads,
worse with small file accesses or many writes on a network server. RAID 4 used
very high striping factors, thus giving better performance than level 3, but
still somewhat slow, for the ECC drive still has to be used on _every_ disk
write access.
RAID 5 distributes the ECC data between all drives, so the bottleneck of level
3 and 4, the dedicated ECC drive, vanishes. So, disk accesses can overlap, thus
giving better performance. Also, the capacity loss through redundancy drops to
25%.
RAID level 5 seems to be the last "official" RAID level number, although a
level 6 was defined years later by the RAID Advisory Board (RAB). According to
what i could find out, RAID 6 is basically a Level 5 with the added capability
of asynchronous and cached data transmission. If you have more precise
information about RAID level 6, please let me know....
If you read level numbers like "RAID 6", "RAID 7" or "RAID 10", you should
insist of a detailed explanation about what they mean with the level numbers.
Typically, it is a vendor's proprietary RAID implementation, mostly added from
a combination of two "official" RAID levels.
ΓòÉΓòÉΓòÉ 9.1.2. 6.1.2. AV disk drives ΓòÉΓòÉΓòÉ
In the last months, the "AV" drives came into the market that are designed
specifically for the Audio/Video market. For AV needs a continuous data stream
more than the last percents in performance, those drives mostly have a
different firmware optimized for AV operation. The most common changes include
the avoidance of thermal recalibration while read or write operations take
place or are pending. One other point is the inclusion of spare sectors in each
track, so that a replaced sector doesn't cause head movement. For this - and
some other - reason the AV drives are mostly a bit slower than the similar
"standard" drive, and have a lower capacity. In general, these disks should be
used only for machines where this "isochronous" behaviour is absolutely
neccessary. In all other cases, they are a waste of money compared with fast
standard drives.
ΓòÉΓòÉΓòÉ 9.2. 6.2. Removeable disk and Magneto-Optical drives ΓòÉΓòÉΓòÉ
All removeable devices i used myself started as and still are SCSI devices. The
only other devices i know are Syquest's Puma IDE drive and an older Sony MO
with an ESDI interface and a special interface card. Also, there should be an
ATAPI version of IOMega's Bernoulli-Box, and the newer drives tend to be
available with ATAPI and SCSI interfaces. Even Fujitsu announced an ATAPI-MO
drive recently.
ΓòÉΓòÉΓòÉ 9.2.1. 6.2.1. Bernoulli and Syquest drives ΓòÉΓòÉΓòÉ
Bernoulli-disks are named after Daniel Bernoulli, a Swiss 18th century
mathematician. The Bernoulli-effect is basically that: between a fixed metal
plate and a flexible rotating medium, it develops a very thin and highly
compressed air-cushion that keeps distances low but surely avoids contact. So,
the head-to-media distance of a Bernoulli disk is lower than in a hard disk,
without the shock sensitivity of a hard disk. If this air flow is distorted by
dust, dirt, power loss, mechanical shock or whatever, the medium simply "falls
off" from the head plate without damage. Bernoulli drives are available up to
150 MB, and the 150MB Multidisk also reads and writes the older disks.
The new 100 MB ZIP drive is IOMega's new low-cost approach. It is based on the
ATOMM technology, a media developed by Fujitsu, but supposedly not fitting in
Fujitsu's MO-centered philosophy. The ZIP seems to be a nice drive - cheap,
fast, cheap media. Let's see when - and if - IOMega comes out with an internal
3 1/2 inch version....
Another new announcement from IOMega is the "Jaz" drive - a removeable,
ultrafast (up to 6.7 MB/sec sustained data transfer rate, according to the
announcement), and 540 MB or 1 GB disks. If it really comes at under $500 for
the drive and at $99 for a 1 GB medium, i would expect it to become a winner.
Let's see...
Syquest drives are working basically like "normal" hard disks. The medium is a
- removeable - metal plate, heads and drive spindle remain in the drive.
Working with the same technical principles, they also share the hard disks
problems - Syquest drives are shock sensitive.
With the old external 44MB and 88MB drives, i remember that the drives were
very loud, but possibly mostly due to its fans. The 3 1/2 inch drives with 105
and 270 MB seem to change this; the 270MB drive is one of the most appealing
devices i saw - fast, quiet (compared to the older ones) and small.
There are some ongoing technical and legal struggles between Syquest and Nomai,
a former Syquest distributor and by now a competitor - Nomai sells own-built
Syquest clones and has advertised a 540 MB drive for the near future.
Also, there are rumours about a new 135 MB Syquest, but i don't have more about
that.
ΓòÉΓòÉΓòÉ 9.2.2. 6.2.2. MO drives ΓòÉΓòÉΓòÉ
MO's all work basically the same way: For writing, the magnetizable layer in
the medium is heated with a laser beam up to its Curie-temperature (approx.
150┬░ Celsius). Then the magnetic write head magnetizes the track according to
the data. Every polarity change is a bit.
Reading is pure optical. A low-energy laser beam gets reflected by the data
layer and - according to the magnetizing - gets polarized by the medium. This
is called the "Kerr-effect" and is used to get the data bits from the reflected
beam.
MO has two key points - slowness and reliability. Reliability - the media
usually are certified for ten to 30 years, also the media are not sensitive to
magnetic fields, water, radiation and mechanical shocks (at least as long as
the media itself isn't damaged).
The - relative - slowness is due to the principle; every write process needs
two turns of the media - in the first turn, old data are erased, in the second
turn the actual data are written.
The future seems to belong to the 3 1/2 inch devices - an ISO standard with
about 640 MB is scheduled for the end of 1995, and higher capacities up to 2 GB
are in discussion. Anyway, the MO drives are the only ones of the small
removeable devices that aren't proprietary.
ΓòÉΓòÉΓòÉ 9.2.3. 6.2.3. MD-Data ΓòÉΓòÉΓòÉ
Sony tries to push their audio MD in the data market. The MD-Data is a 2 1/2
inch medium with 140 MB capacity. At the moment, the drives aren't widespread,
if even available, but there are a few interesting approaches that come with
the MD. The major advantage of MD-Data against standard MO is its "Direct
Overwriting" capacity. At the moment, the drives are very slow (150 kB/sec),
but this should change soon as the technology matures. Also, the capacity for
the data-mode drive may increase soon.
Sony and Microsoft - and apparently a few others - are developing an universal
file system for the MD-Data, that should enable transparent exchangeability
between different platforms and operating systems.
Whatever will happen to MD-Data - after the introduction hype in 1994, the last
months were _very_ quiet about it....
ΓòÉΓòÉΓòÉ 9.2.4. 6.2.5. WORM drives ΓòÉΓòÉΓòÉ
WORM (Write Once/Read Many) drives are very seldom used - for each surface spot
is writable only once, the media aren't reusable and therefore are used only
for archiving purposes where security against manipulation is a factor.
Actually, there are two main systems - phase change and simple "toasting", as i
would call it. In the phase change system, an empty medium has an amorphous
active layer, and writing the medium with a high energy laser beam "changes"
the written portions of this active layer to a crystal state ("phase") with a
different reflective behaviour.
This method is basically irreversible without destroying the medium completely,
but lately became advanced to an MO variant (see "Phase-Change MO").
The "toasting" is simpler - the medium is "burned" by a laser pulse and
permanently deformated, thus achieving a different reflection behaviour.
WORM media are expected to have slightly shorter life cycles than MO media, but
30 years expectancy doesn't seem too bad...
ΓòÉΓòÉΓòÉ 9.2.5. 6.2.4. Phase-Change MO drives ΓòÉΓòÉΓòÉ
Lately, Panasonic and Epson introduced the Phase-Change optical drives. A more
modern variant of the phase-change process used in WORM drives is reversible
and thus seems nearly ideal for the purpose...
The main difference to standard WORM drives is that the active media material
is a highly reflective crystalline material that allows deleting/rewriting -
voilЕ, a WMRM <g>. Compared to MO, the rewriting process happens in one
revolution, without a separate delete process, thus making writing faster.
Both drives i saw advertised (Panasonic and NEC) were combined with a CDROM
reading optic, so that they can be used with either a MO cartridge or a CDROM -
a nice feature, if you need both media and don't have enough room for both, or
if you don't have any drive yet.
ΓòÉΓòÉΓòÉ 9.3. 6.3. CDROM drives ΓòÉΓòÉΓòÉ
A word first: much more information about CDROMs than here is collected in
Kevin Kelly's LASER3.TXT file. He wrote the most complete CDROM introduction
and hint collection i ever saw - give it a look. It is available from
CompuServe's CDROM forum. Of course, it may be named LASER4.TXT or so, when you
look <g>.
SCSI CDROMs mostly share the CDROM Common Command Set. This means, all these
CDROM drives work with a standard driver, at least in their data mode. However,
the audio commands are not standardized, so you might encounter driver problems
here, when installing a brand-new drive with older drivers. All drivers i know
default to support data-mode only in this case.
NEC CDROM drives are my special enemies <g> - if they work, mostly they are
good drives, but there are a few drawbacks...
Older NEC drives can be a bit difficult, especially the old portable CDR-35 and
CDR-36 models. Their SCSI implementation is described best as "daring" - simply
"bad" isn't enough here. I got my old CDR-35 working _only_ with a Trantor
MiniSCSI parallel adapter and only, if it was the _only_ device on the bus, but
not with various Adaptecs and also not with the FD adapters i could test with.
The CDR-73/74/83/84 drives mostly work, if "SCSI parity" and "Synchronous
Negotiation" are disabled for their IDs or the whole bus.
Also, some NEC drives don't provide termination. Normally this isn't a problem
if the CDROM is the only device on the SCSI bus, for it _mostly_ works this
way. If you need a longer SCSI cable, the problems start.
Keep this in mind if you integrate a NEC CDROM in your existing SCSI setup -
some models can't be on the end of the chain, except if you have an internal
pass-through terminator for them.
One customer has a CDR-500 (3x) that finally works flawlessly with a 1542CF and
a Seagate 1GB disk - a very nice drive; however, there were two firmware
upgrades neccessary before, and i heard about trouble with some firmware
releases from many different sources.
The latest NEC i got was a CDR-210 - a cheap double-speed drive manufactured in
1994. You guess it - no parity, no termination..
There are two CDR210 - a model without parity and termination ability, and an
OEM version CDR-210P, which supports parity. Again, you guess what version this
customer got <g>.
Sadly, the story seems to continue with the new 4x drives - they doesn't seem
to be better. One of my office customers bought a 4x with firmware 2.2. Because
the system for this drive wasn't delivered, i tried it on my systems. If it
works, it's a very nice drive - fast, very good error correction. The trouble i
have with the 4x is, that it mostly locks up on a warm reboot, if a disc is in
the drive - the standard case on my system. But switching it off, on again and
_fast_ (it won't react after the first two seconds) pulling the "eject" lid
allows me to reboot my system without lockup....
ΓòÉΓòÉΓòÉ 9.4. 6.4. Jukeboxes and other media changer devices ΓòÉΓòÉΓòÉ
Jukeboxes for all types of media (CDROMs, WORMs, MOs, DAT cartridges) are
generally available as SCSI devices only, as SCSI is the only standardized
interface that supports them in PC architectures. Either each medium gets a
dedicated ID that can be addressed by the PC or the different media are
combined to a single structure.
Of course, the various Mainframe interfaces are also supported by devices like
WORM changers - these devices originally came from this "Jurassic park" world
into the lower-end system worlds like workstations and PCs. But in most cases i
saw there are only bridge-controllers in the system to connect a SCSI device to
the proprietary mainframe channel.
ΓòÉΓòÉΓòÉ 9.5. 6.5. Tape drives ΓòÉΓòÉΓòÉ
Professional tape drives started - after some proprietary interfaces - with the
QIC-36 and QIC-02 interfaces, then fast tended towards SCSI. For the lower-end
market, the QIC consortium defined QIC-107 and -117, the floppy-disk based
interfaces for the QIC-40 and QIC-80 mini-cartridge tape drives.
QIC-117 strongly depends on the PC's floppy disk controller's timing and
signaling and therefore isn't very portable to other architectures.
High-end tapes like bigger QIC with 500MB+, 4mm and 8mm DAT, DLT and so on
generally aren't available other than SCSI and maybe a few specific interfaces
from the mini and mainframe world like Pertec. IBM's 3480/3490/3590 drives
usually are available with SCSI and ESCON interfaces. SSA should follow soon,
at least for the IBM drives.
The capacity limit for non-SCSI devices may slightly change in the future, for
the new QIC-30xx tape drives and - based on them - newer tape concepts like
3M's "Travan" promise new tape drives with up to 4 GBytes capacity - we'll see
what happens here. However, there seems to emerge a whole bunch of new,
incompatible (of course <g>) tape formats, and some of them may come up with
SCSI devices, too (they still appeared - Tandberg's Panther Mini drive - 1 GB
with QIC-3040 Wide - is an example).
Actually, the tape drive world changes rapidly in the world of small form
factors - the new high capacity QIC-30xx, QIC-Wide and TRAVAN formats emerge
for all interfaces, newer low-cost drives appear for the ATAPI interface and
the incompatibilities become bigger than ever - i finally move new changes to
this theme to the QIC-appendix (App. D).
ΓòÉΓòÉΓòÉ 9.6. 6.6. Scanners and other imaging hardware ΓòÉΓòÉΓòÉ
Scanners exist with a lot of interfaces. In the past, serial, parallel and IEC
interfaces were common besides SCSI. The higher resolution and color depth fast
decided this interface struggle towards SCSI. Generally, professional scanners
use SCSI now, but keep this history in mind when looking at some older, but
maybe very good scanner. The SCSI models mostly work with standard host
adapters, if you find a driver for them. Canon and Agfa, for example, switched
to full ASPI support only a few months ago.
SCSI scanners are often somewhat "incorrect" in identifying themselves to the
system. My EPSON GT-6500 for example, tells me "EPSON SC" as vendor info, and
"ANNER GT-6500" as model, besides the SCSI-0 (non-ANSI compliant) id it gives
to the host adapter.
An older AGFA scanner from a customer of me gives back only trash if asked for
its vendor and device strings.
This comes, for most Scanner manufacturers have their own pre-SCSI-II command
set that they rely on. There was never a standardizing neccessity as with hard
disks, where devices not compatible with the SCSI CCS would have been
impossible to sell.
So, SCSI can be still sort of a mess with most scanner vendors.
Actually, you can have most professional imaging hardware like digital cameras
either with a proprietary PCMCIA card or with SCSI interface. This also
includes a few SCSI-based frame grabbers.
ΓòÉΓòÉΓòÉ 10. 7. What happens on the SCSI bus ? ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 10.1. 7.1. Basics ΓòÉΓòÉΓòÉ
Principally, the SCSI bus is sort of a "state machine". This means, it has a
number of "states" of which at any time exactly one is active. For maintaining
this behaviour, several states (phases) are defined, along with a lot of timing
parameters that are used in the state switching process.
The basic bus phases are described in 7.2. and following, but for keeping it
simple, i omit the exact timings and signal dependencies. Whoever wants to have
the exact protocol specifications, should look in the SCSI 2 spec. Text files
are on the SCSI BBS, paper copies are available via Global Engineering. Their
Address is in appendix B.
ΓòÉΓòÉΓòÉ 10.2. 7.2. Bus phases ΓòÉΓòÉΓòÉ
The SCSI bus has eight possible states called phases:
a) BUS FREE phase
b) ARBITRATION phase
c) SELECTION phase
d) RESELECTION phase
e) COMMAND phase Γòû
f) DATA phase Γòæ These phases are called
g) STATUS phase Γòæ "information transfer phases"
h) MESSAGE phase Γò£
The COMMAND, DATA, STATUS, and MESSAGE phases are commonly called the
information transfer phases because they are all used to transfer data or
control information over the data bus.
Especially the SELECTION and RESELECTION phases have time-out procedures to
ensure that the bus can't lock up, if a target doesn't answer.
ΓòÉΓòÉΓòÉ 10.2.1. 7.2.1. BUS FREE phase ΓòÉΓòÉΓòÉ
The BUS FREE phase indicates that actually no I/O process is running and the
SCSI bus is available for a connection. It is the basic state of the bus for
every transfer.
ΓòÉΓòÉΓòÉ 10.2.2. 7.2.2. ARBITRATION phase ΓòÉΓòÉΓòÉ
The ARBITRATION phase allows all attached SCSI devices to tell "i need the bus"
and eventually gain control over the SCSI bus so that it can initiate or resume
an I/O process.
Please see also 7.3. Arbitration.
ΓòÉΓòÉΓòÉ 10.2.3. 7.2.3. SELECTION phase ΓòÉΓòÉΓòÉ
In the SELECTION phase, the initiator (the arbitration winner) selects a target
for his pending operation. When this target selection has happened, the target
asserts the REQ signal to enter an information transfer phase.
ΓòÉΓòÉΓòÉ 10.2.4. 7.2.4. RESELECTION phase ΓòÉΓòÉΓòÉ
The RESELECTION phase is an optional phase that is needed in case of an
uncompleted operation. For example, if a target device disconnected (means
allowing a BUS FREE phase by releasing the BSY and SEL signals), the
RESELECTION process allows the target to reconnect to the initiator of the
suspended operation.
To avoid confusion, it is neccessary to keep in mind that in a RESELECTION
phase, the _target_ of a former operation acts actively to get a connection to
the initiator.
ΓòÉΓòÉΓòÉ 10.2.5. 7.2.5. Information transfer phases ΓòÉΓòÉΓòÉ
(COMMAND, DATA, STATUS and MESSAGE phase)
In these phases the actual data exchange between the initiator and the target
happens. Three bus signals (C/D, I/O, and MSG) are used to distinguish between
the different information transfer phases and directions. These signals are
controlled by the target device, so it has control over the changes between
these information transfer phases.
In these phases, REQ/ACK handshake procedures are used for each byte of
information.
REQ/ACK handshake basically means, that the target asserts the REQ signal to
REQuest a byte of information, then the initiator sets the data bus and sets
the ACK signal to ACKnowledge the transfer. The target reads the data bus, then
releases the REQ signal to allow the initiator to also release the ACK signal.
Then the next byte can be transferred with the same REQ/ACK procedure.
The COMMAND phase allows the target to request command information from the
initiator.
DATA PHASE really means two phases, DATA IN and DATA OUT, in which the target
requests to send data to or from the initiator.
The STATUS phase allows the target to request that status information be sent
from the target to the initiator.
MESSAGE phase also can be a MESSAGE IN or a MESSAGE OUT phase. In the MESSAGE
phase, the target can request a message to or from the initiator. A message can
be either a single byte or a multiple byte message, but the whole message must
be contained in one message phase, that means, without a change on the C/D,
I/O, and MSG signals.
ΓòÉΓòÉΓòÉ 10.2.6. 7.2.6. SCSI bus conditions ΓòÉΓòÉΓòÉ
Additional to the standard phases, there are two SCSI bus conditions; the
ATTENTION and the RESET condition.
In the attention condition, the initiator can inform a target that he initiator
has a message ready. The target then can get this message by performing a
MESSAGE OUT phase.
An attention condition is issued by asserting the ATN signal; this can happen
in bus any state except during the ARBITRATION or BUS FREE phases.
The RESET condition is used to immediately clear all SCSI devices from the bus.
The RESET condition has absolute priority over all other phases and conditions.
Any SCSI device can create the reset condition by asserting the RST signal.
On RESET, all SCSI devices release all SCSI bus signals except RST, so that a
BUS FREE phase follows the reset condition.
ΓòÉΓòÉΓòÉ 10.2.7. 7.2.7. Phase sequence ΓòÉΓòÉΓòÉ
SCSI bus phases normally follow a prescribed sequence, but this can change any
time. Bus phases can happen in _all_ possible sequences, without any rules.
Normally, the Phase sequence on the bus is:
- BUS FREE phase
- ARBITRATION
- SELECTION or RESELECTION
- one or more of the information transfer phases (COMMAND, DATA, STATUS,
MESSAGE) The final information transfer phase is normally the MESSAGE IN
phase where a DISCONNECT or COMMAND COMPLETE message is transferred,
followed by the next
- BUS FREE phase
The reset condition can abort any phase and is always followed by the BUS FREE
phase. Also any other phase can be followed by the BUS FREE phase, but in most
cases, this happens only due to an error.
ΓòÉΓòÉΓòÉ 10.3. 7.3. Arbitration ΓòÉΓòÉΓòÉ
SCSI's arbitration scheme includes a priority depending on IDs. After each BUS
FREE - state, every SCSI device that wants to use the SCSI bus can try to get
it by setting BSY and its ID line. Then, after an arbitration delay, these
devices check the data bus. If a higher priority (=ID) bit than the own one is
set active, the device has "lost" the arbitration. So, on a SCSI bus with - say
- six devices, all heavily used, the devices with low IDs - usually hard disks
- could show bad performance from an effect called "starvation" - devices with
higher priorities "block" the bus.
This is the main reason why hard disk IDs on workstations are normally set "top
down" - so the system and swap disk is guaranteed to have highest priority.
In real life situations, you should not encounter a performance difference
between the various IDs, and most PC SCSI adapters need the standard hard disks
on ID's 0 and 1, so you haven't a choice anyway. But keep this in mind if you
have strange performance "holes".
ΓòÉΓòÉΓòÉ 10.4. 7.4. Synchronous/Asynchronous Transfers ΓòÉΓòÉΓòÉ
Asynchronous transfer is the standard case, using the normal REQ/ACK handshake.
Synchronous transfer is a specific sort of overlapping some REQ/ACK cycles. In
a "Synchronous Negotiation" the initiator and the target agree on a maximal
overlap count, called the "REQ/ACK offset". So, with an overlap of 16, the
target can send up to 16 REQ pulses before it must wait for an ACK and the
first data byte. So, the devices can establish a pacing mechanism to transfer
following bytes of information much faster than in asynchronous mode, for
various bus settle delays doesn't occur here or are overlapped, thus saving
time and reducing overhead.
ΓòÉΓòÉΓòÉ 10.5. 7.5. FAST/WIDE Transfer Negotiation ΓòÉΓòÉΓòÉ
Usually, the transfer type negotiation mentioned in 2.7. and 2.8. is done via a
Synchronous Data Transfer Request (SDTR).
An SDTR is a message containing the minimal transfer time the device can
handle, and the REQ offset, the maximal number of REQ pulses (means data
requests) the target can handle before the first request must be acknowledged.
The offset count has two special cases: 00h means asynchronous mode only, FFh
means not 255, but unlimited REQ/ACK offset.
Let's call it "question" and "answer". Now, the device that starts the SDTR
"raises the question" by sendind its values; the responding device checks them,
and if it can handle the same or better values, "answers 'yes' " by reposting
the same data in its own SDTR message. If it can't handle one of the requested
values, it "answers" by posting its own timing capabilities, leaving unchanged
the values it can handle. If one of the devices posts an offset of 00h, or if
an agree- ment can't be negotiated, both devices use only asynchronous
transfers between them.
If this negotiation would occur on each selection, it would have catastrophic
effects on performance. To avoid this problem, usually the Synchronous Transfer
Negotiation happens on three major occasions:
- after a power cycle (of the initiator)
- after a hard reset condition, and
- after a BUS DEVICE RESET.
Additionally, it makes sense to re-negotiate on every INQUIRY and REQUEST
SENSE command, for both usually are issued only to check devices for presence
or error conditions - for example, after a power cycle on an external device
the host adapter can't sense, for it is power cycled independently from the
main system containing the host adapter.
The same happens to negotiate Wide Data Transfer. A WDTR message contains the
transfer width "exponent" - 00h for 8 bit, 01h for 16 bit, and - you guess it
<g> - 02h for 32 bit data transfer width. The mechanism is absolutely
identical to the SDTR, only the message is different.
If a device is able to use both Wide and Synchronous Data Transfers, - likely
with every actual device, and in fact true for _all_ Wide SCSI devices i know
- it is recommended that Wide Transfer is negotiated before the Synchronous
Transfer Negotiation. Also, if you're programming around the Wide Data
Requests, expect that a device that re-negotiates Wide Data Transfers will
reset the Synchronous Transfer agreement to Asynchronous Mode only, until you
re-negotiate Synchronous Transfer Mode also.
ΓòÉΓòÉΓòÉ 11. 8. Enhanced ATA Interface - some unsorted thoughts only .... ΓòÉΓòÉΓòÉ
For some reasons, there are real wars going on between the hard-nosed SCSI and
the identical ATA guys. Mostly i try to stay out of this discussion, but to get
a better view about SCSI, a few thoughts should be added about ATA.
This is based on IDE's and ATA's technical data, so the facts are correct.
However, my personal preference is SCSI, so keep in mind that opinions here are
my personal ones.
ATA (AT Attachment), also often called IDE (Integrated Device Electronics), has
a few principal limitations - like every other interface, also including SCSI.
ATA's basic limitations as i would see them, including EATA, are the following:
- only usable with ISA bus or an ISA-to-something-else bridge So it seems
to be somewhat limited to the PC architecture, although there are a few
exceptions like Apple's basic "Performa" systems.
- only two disks can be attached per ATA channel, but two ATA host
adapters are possible in one system - some new VL/ISA adapters have this
feature, addressing up to four devices - if the BIOS doesn't refuse to
play this game
- limited device types
- disk drives
- CDROMs
- tape drives
- Host PC locked during the transfer time
- address range is limited, ATA at 504 MByte, EATA at 8.4 GByte
- Data rate is limited,
- ATA at 8.33 MByte/s,
- EATA now at 13.3,
- EATA soon at 16.6 MByte/s
- external devices are virtually not possible.
ATA's concept isn't very professional in using the range of head, cylinder,
and sector adress bits. Although DOS could address up to 8.4 GByte disk size
and ATA could address up to 130 GByte, the combination of both schemes and the
PC's BIOS limitations - neccessarily taking the smallest number for each
parameter - ended up in 528.482.304 addressable bytes - 504 MBytes.
With the - slightly chaotic - actual situation with vendor- specific address
extension schemes in mind, ANSI adopted an addressing scheme from the Small
Form Factor committee's draft standard SFF-8019. It uses 16 heads, 16383
cylinders and 63 sectors to achieve the 8.4 GBytes address range DOS can
handle.
Although the 8.4 GB limit seems unproblematic, especially with DOS still the
standard operating system, i'm not too happy with it for two main reasons:
First, there are drives in the market with 9 + GB - i saw more than one
question like "how can i format the Seagate 9GB disk drive for DOS?" at
CompuServe in the last months - too much to push this thought aside. Besides,
bigger drives are announced.
Second - remember the IBM PC with its 640 kB limit? Everyone thought "640 kB -
wow, i will _never_ need this much" - two years later the first memory
expansion boards came out ....
A size limit that's already visible with actual devices is too tight for me to
be happy with it - it raises the question about a technology's lifespan.
Now, if you compare EATA's maximum specs, it looks like the difference to SCSI
is smaller than ever, with some spare capacity. Unfortunately, the major
drawbacks still apply:
- programmed I/O on ISA systems is mostly limited to about 4 MBytes/sec,
everything over this needs EISA, PCI, or VL bus systems. DMA busmaster
mode isn't possible.
- During the transfer, the host PC is tied up while waiting for the
transfer completion, regardless if the transfer bandwidth is used or not.
- With most actual host adapters, the slowest device sets the pace.
Although individual timing for every device at an ATA channel is
possible, most actual adapters don't support this. So, with a disk drive
capable of PIO mode 3 (11.1 MB/s) and a second, older drive with only PIO
mode 0 (3.33 MByte/sec), you can set the adapter only to PIO mode 0 -
crippling the faster disk drive in the name of the holy compatibility
<g>. However, newer EIDE adapters should support it.
- The official cable length limit is 18" - with a hint in the spec that
this is the absolute maximum including the on-board bus length, and that
less is desirable due to transfer problems even inside the legal range.
This virtually outlaws external devices except in _very_ careful designed
- and expensive - controller and cabling setups.
The first problem of course applies also to SCSI host adapters working with
programmed I/O - but there are _lots_ of SCSI busmaster adapters in the
market, and the PIO adapters are mostly present in the lower market segments.
The second problem is addressed by the Disconnect/Reconnect mechanism in SCSI
- while the disk seeks, the CPU can do something useful - read a sector from
the CDROM, calculate fractals or so on ... <g> I couldn't find anything
similar in EATA, but i would like to hear that i'm wrong....
Third, SCSI devices are independent in their performance - assumed that the
host adapter can set his maximum data rate per device (usual with actual
adapters).
Actually, this leads to a better real-life throughput with SCSI, compared at
similar burst transfer rates. For the same reason, CPU utilization with CDROMs
is usually lower with SCSI CDROMs, as it is possible to unload some work to
the SCSI host adapter - with ATA, the CPU has to do _everything_ on its own.
The cable length problem is not as crucial with SCSI. A properly terminated
SCSI bus will work reliable inside the specified length limits.
There are some intelligent ATA adapters, of course - mostly cache controllers
with internal intelligence. They make things better, but can't bypass the PIO
problem without leaving the compatibility path; additionally, they eat up most
of ATA's cost advantage.
Those thoughts lead me to think that SCSI will stay here, with even higher
market shares, as device development demands faster interfaces and new devices
shine up.... ATA will still have the higher market share, as lots of people
buy at the lowest bidder - not likely a SCSI vendor. Also, the 'standard' SoHo
user might not notice a difference in his daily work - heck, with two fairly
comparable systems, i don't notice a big difference, unless it comes to
attaching devices - the 'standard' user with one disk drive, one CDROM, and a
floppy or ATAPI tape clearly will question the benefit of SCSI for him.
Also, to get real benefit from EATA, the PC needs an extended BIOS. The SFF -
mainly through its member Phoenix - defined such an extended BIOS. This
includes basic Plug'n'Play functionality, some major functions are slightly
changed - the disk parameter table gets a 16 Bytes extension, Int 13h
functions are extended - to allow booting from every attached hard disk, for
example, and so on ....
To summarize my opinion - EIDE is ok for the usual system. If you are happy
with IDE, you will be happier with EIDE - if ( a _big_ IF ! ) your system is _
fully_ EIDE compliant. This means, you need the complete EIDE set, consisting
of:
- an EIDE controller.
- an EIDE compliant BIOS or BIOS extension.
- full EIDE disk drives
The drawbacks are:
- if you mix with older drives or if you have a single non-EIDE
component, EIDE is BS - you won't benefit from EIDE over IDE.
- ok, EIDE is better than IDE. But what's the point in selecting a new
technology if a better system is on the market already? Of course, this
is a personal opinion <g>...
More precise information about ATA/EATA can be found also on the SCSI BBS -
see some connections <g> ? But seriously, ATA/EATA also is an X3T9.2 project,
so the EATA development will continue over time.
ΓòÉΓòÉΓòÉ 12. Appendix A. SCSI Connectors ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 12.1. A.1. 25 pin DB-25 SCSI connector ΓòÉΓòÉΓòÉ
The DB-25 connector is the one looking like a PC's printer port. I think Apple
introduced this DB-25 connector for SCSI, but I'm not sure about it. The
Macintosh Plus didn't supply Termination power, so pin 25 isn't connected with
this model.
Future Domain had a different DB-25 connector on their first adapters and
adopted the Apple pinout scheme on their TMCxxxM SCSI host adapters later.
Also, the M-models have a label "Apple pinout" somewhere on the slot plate.
The adapters in question are the TMC-820, -830, -840, -845, -850, -860, -870,
-875, -885 and MCS-350. If you need a cable for one of these, contact Future
Domain for the cable with part number HCA-108.
Extreme care should be taken if you get a Future Domain Cable or an adapter
where you're not _absolutely_ sure if it's an old FD or an Apple-style device.
Wrong connections will blow your TP fuse on the host adapter and - probably -
destroy the host adapter or other devices on the SCSI bus !
The pin counting is like: 1 2 3 4 ... 13
14 15 16 ... 25
Pin Signal Signal
Apple old FD
1 -REQ GND
2 -MSG -DB(1)
3 -I/O -DB(3)
4 -RST -DB(5)
5 -ACK -DB(7)
6 -BSY GND
7 Ground -SEL
8 -DB0 GND
9 Ground SPARE
10 -DB3 -RST
11 -DB5 -C/D
12 -DB6 -I/O
13 -DB7 GND
14 Res./Ground -DB(0)
15 -C/D -DB(2)
16 Res./Ground -DB(4)
17 -ATN -DB(6)
18 Ground -DB(P)
19 -SEL GND
20 -DBP -ATN
21 -DB1 -MSG
22 -DB2 -ACK
23 -DB4 -BSY
24 Ground -REQ
25 * Term. Power GND *: not connected in the
Mac Plus connector.
ΓòÉΓòÉΓòÉ 12.2. A.2. 50 pin SCSI connectors ΓòÉΓòÉΓòÉ
Type 1 is the flat cable connector on the devices' PCB.
Type 2 is the 50-pin Centronics-style connector, still the
"Standard" PC SCSI connector
The SCSI-2 high density connector's pinout is identical to the
Type 2 Centronics-style connector
Type 1 1 3 5 7 ..... 49 Type 2 1 2 3 ..... 25
counts ΓòöΓòÉΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓòÉΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ counts +/--------------\+
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ \______________/
2 4 6 8 ..... 50 26 27 28 .... 50
Pin Type Γöé Pin Type
Single-Ended Γöé Differential
1 2 Γöé 1 2
Γöé
1 GND GND Γöé 1 GND GND
2 -DB(0) GND Γöé 2 GND +DB(0)
3 GND GND Γöé 3 +DB(0) +DB(1)
4 -DB(1) GND Γöé 4 -DB(0) +DB(2)
5 GND GND Γöé 5 +DB(1) +DB(3)
6 -DB(2) GND Γöé 6 -DB(1) +DB(4)
7 GND GND Γöé 7 +DB(2) +DB(5)
8 -DB(3) GND Γöé 8 -DB(2) +DB(6)
9 GND GND Γöé 9 +DB(3) +DB(7)
10 -DB(4) GND Γöé 10 -DB(3) +DB(P)
11 GND GND Γöé 11 +DB(4) DIFFSENS
12 -DB(5) Res. Γöé 12 -DB(4) Res.
13 GND n.c. Γöé 13 +DB(5) TRMPWR
14 -DB(6) Res. Γöé 14 -DB(5) Res.
15 GND GND Γöé 15 +DB(6) +ATN
16 -DB(7) GND Γöé 16 -DB(6) GND
17 GND GND Γöé 17 +DB(7) +BSY
18 -DB(P) GND Γöé 18 -DB(7) +ACK
19 GND GND Γöé 19 +DB(P) +RST
20 GND GND Γöé 20 -DB(P) +MSG
21 GND GND Γöé 21 DIFFSENS +SEL
22 GND GND Γöé 22 GND +C/D
23 Res. GND Γöé 23 Res. +REQ
24 Res. GND Γöé 24 Res. +I/O
25 n.c. GND Γöé 25 TRMPWR GND
26 TRMPWR -DB0 Γöé 26 TRMPWR GND
27 Res. -DB1 Γöé 27 Res. -DB(0)
28 Res. -DB2 Γöé 28 Res. -DB(1)
29 GND -DB3 Γöé 29 +ATN -DB(2)
30 GND -DB4 Γöé 30 -ATN -DB(3)
31 GND -DB5 Γöé 31 GND -DB(4)
32 -ATN -DB6 Γöé 32 GND -DB(5)
33 GND -DB7 Γöé 33 +BSY -DB(6)
34 GND -DBP Γöé 34 -BSY -DB(7)
35 GND GND Γöé 35 +ACK -DB(P)
36 -BSY GND Γöé 36 -ACK GND
37 GND Res. Γöé 37 +RST Res.
38 -ACK TRMPWR Γöé 38 -RST TRMPWR
39 GND Res. Γöé 39 +MSG Res.
40 -RST GND Γöé 40 -MSG -ATN
41 GND -ATN Γöé 41 +SEL GND
42 -MSG GND Γöé 42 -SEL -BSY
43 GND -BSY Γöé 43 +C/D -ACK
44 -SEL -ACK Γöé 44 -C/D -RST
45 GND -RST Γöé 45 +REQ -MSG
46 -C/D -MSG Γöé 46 -REQ -SEL
47 GND -SEL Γöé 47 +I/O -C/D
48 -REQ -C/D Γöé 48 -I/O -REQ
49 GND -REQ Γöé 49 GND -I/O
50 -I/O -I/O Γöé 50 GND GND
There is a DB-50 connector (three-row) variant in SCSI-1 that Sun Microsystems
used for older peripherals, but it's normally not used any more. However, if
you need the layout, holler, and I'll search for it.
ΓòÉΓòÉΓòÉ 12.3. A.3. 68 pin SCSI connectors ΓòÉΓòÉΓòÉ
Pin Cable Type Γöé Pin Cable Type
Single-Ended Γöé Differential
B P Γöé B P
Γöé
1 GND GND Γöé 1 GND +DB(12)
2 GND GND Γöé 2 +DB(8) +DB(13)
3 GND GND Γöé 3 +DB(9) +DB(14)
4 GND GND Γöé 4 +DB(10) +DB(15)
5 GND GND Γöé 5 +DB(11) +DB(P1)
6 GND GND Γöé 6 +DB(12) GND
7 GND GND Γöé 7 +DB(13) +DB(0)
8 GND GND Γöé 8 +DB(14) +DB(1)
9 GND GND Γöé 9 +DB(15) +DB(2)
10 GND GND Γöé 10 +DB(P1) +DB(3)
11 GND GND Γöé 11 +ACKB +DB(4)
12 GND GND Γöé 12 GND +DB(5)
13 GND Open Γöé 13 +REQB +DB(6)
14 GND GND Γöé 14 +DB(16) +DB(7)
15 GND GND Γöé 15 +DB(17) +DB(P)
16 GND GND Γöé 16 +DB(18) DIFFSENS
17 TRMPWRB TRMPWR Γöé 17 TRMPWRB TRMPWR
18 TRMPWRB TRMPWR Γöé 18 TRMPWRB TRMPWR
19 GND Res./GND Γöé 19 +DB(19) Res.
20 GND GND Γöé 20 +DB(20) +ATN
21 GND GND Γöé 21 +DB(21)S GND
22 GND GND Γöé 22 +DB(22) +BSY
23 GND GND Γöé 23 +DB(23) +ACK
24 GND GND Γöé 24 +DB(P2) +RST
25 GND GND Γöé 25 +DB(24) +MSG
26 GND GND Γöé 26 +DB(25) +SEL
27 GND GND Γöé 27 +DB(26) +C/D
28 GND GND Γöé 28 +DB(27) +REQ
29 GND GND Γöé 29 +DB(28) +I/O
30 GND GND Γöé 30 +DB(29) GND
31 GND GND Γöé 31 +DB(30) +DB(8)
32 GND GND Γöé 32 +DB(31) +DB(9)
33 GND GND Γöé 33 +DB(P3) +DB(10)
34 GND GND Γöé 34 GND +DB(11)
35 GND -DB(12) Γöé 35 GND -DB(12)
36 -DB(8) -DB(13) Γöé 36 -DB(8) -DB(13)
37 -DB(9) -DB(14) Γöé 37 -DB(9) -DB(14)
38 -DB(10) -DB(15) Γöé 38 -DB(10) -DB(15)
39 -DB(11) -DB(P1) Γöé 39 -DB(11) -DB(P1)
40 -DB(12) -DB(0) Γöé 40 -DB(12) GND
41 -DB(13) -DB(1) Γöé 41 -DB(13) -DB(0)
42 -DB(14) -DB(2) Γöé 42 -DB(14) -DB(1)
43 -DB(15) -DB(3) Γöé 43 -DB(15) -DB(2)
44 -DB(P1) -DB(4) Γöé 44 -DB(P1) -DB(3)
45 -ACKB -DB(5) Γöé 45 -ACKB -DB(4)
46 GND -DB(6) Γöé 46 DIFFSENS -DB(5)
47 -REQB -DB(7) Γöé 47 -REQB -DB(6)
48 -DB(16) -DB(P) Γöé 48 -DB(16) -DB(7)
49 -DB(17) GND Γöé 49 -DB(17) -DB(P)
50 -DB(18) GND Γöé 50 -DB(18) GND
51 TRMPWRB TRMPWR Γöé 51 TRMPWRB TRMPWR
52 TRMPWRB TRMPWR Γöé 52 TRMPWRB TRMPWR
53 -DB(19) Res. Γöé 53 -DB(19) Res.
54 -DB(20) GND Γöé 54 -DB(20) -ATN
55 -DB(21) -ATN Γöé 55 -DB(21) GND
56 -DB(22) GND Γöé 56 -DB(22) -BSY
57 -DB(23) -BSY Γöé 57 -DB(23) -ACK
58 -DB(P2) -ACK Γöé 58 -DB(P2) -RST
59 -DB(24) -RST Γöé 59 -DB(24) -MSG
60 -DB(25) -MSG Γöé 60 -DB(25) -SEL
61 -DB(26) -SEL Γöé 61 -DB(26) -C/D
62 -DB(27) -C/D Γöé 62 -DB(27) -REQ
63 -DB(28) -REQ Γöé 63 -DB(28) -I/O
64 -DB(29) -I/O Γöé 64 -DB(29) GND
65 -DB(30) -DB(8) Γöé 65 -DB(30) -DB(8)
66 -DB(31) -DB(9) Γöé 66 -DB(31) -DB(9)
67 -DB(P3) -DB(10) Γöé 67 -DB(P3) -DB(10)
68 GND -DB(11) Γöé 68 GND -DB(11)
ΓòÉΓòÉΓòÉ 12.4. A.4. 110 pin SCSI connector ("L"-cable) ΓòÉΓòÉΓòÉ
Pin Single Diff. Γöé Pin Single Diff.
Ended Γöé Ended
Γöé
1 GND GND Γöé 56 GND GND
2 GND +DB(24) Γöé 57 -DB(24) -DB(24)
3 GND +DB(25) Γöé 58 -DB(25) -DB(25)
4 GND +DB(P6) Γöé 59 -DB(P6) -DB(P6)
5 GND +DB(27) Γöé 60 -DB(27) -DB(27)
6 GND +DB(28) Γöé 61 -DB(28) -DB(28)
7 GND +DB(29) Γöé 62 -DB(29) -DB(29)
8 GND +DB(30) Γöé 63 -DB(30) -DB(30)
9 GND +DB(31) Γöé 64 -DB(31) -DB(31)
10 GND +DB(P3) Γöé 65 -DB(P3) -DB(P3)
11 GND +DB(12) Γöé 66 -DB(12) -DB(12)
12 GND +DB(13) Γöé 67 -DB(13) -DB(13)
13 GND +DB(14) Γöé 68 -DB(14) -DB(14)
14 GND +DB(15) Γöé 69 -DB(15) -DB(15)
15 GND +DB(P1) Γöé 70 -DB(P1) -DB(P1)
16 GND GND Γöé 71 -DB(0) GND
17 GND -DB(0) Γöé 72 -DB(1) -DB(0)
18 GND -DB(1) Γöé 73 -DB(2) -DB(1)
19 GND -DB(2) Γöé 74 -DB(3) -DB(2)
20 GND -DB(3) Γöé 75 -DB(4) -DB(3)
21 GND -DB(4) Γöé 76 -DB(5) -DB(4)
22 GND -DB(5) Γöé 77 -DB(6) -DB(5)
23 GND -DB(6) Γöé 78 -DB(7) -DB(6)
24 GND -DB(7) Γöé 79 -DB(P) -DB(7)
25 GND -DB(P) Γöé 80 GND -DB(P)
26 GND DIFFSENS Γöé 81 GND GND
27 TRMPWR TRMPWR Γöé 82 TRMPWR TRMPWR
28 TRMPWR TRMPWR Γöé 83 TRMPWR TRMPWR
29 TRMPWR TRMPWR Γöé 84 TRMPWR TRMPWR
30 GND +ATN Γöé 85 GND -ATN
31 GND GND Γöé 86 -ATN GND
32 GND +BSY Γöé 87 GND -BSY
33 GND +ACK Γöé 88 -BSY -ACK
34 GND +RST Γöé 89 -ACK -RST
35 GND +MSG Γöé 90 -RST -MSG
36 GND +SEL Γöé 91 -MSG -SEL
37 GND +C/D Γöé 92 -SEL -C/D
38 GND +REQ Γöé 93 -C/D -REQ
39 GND +I/O Γöé 94 -REQ -I/O
40 GND GND Γöé 95 -I/O GND
41 GND +DB(8) Γöé 96 -DB(8) -DB(8)
42 GND +DB(9) Γöé 97 -DB(9) -DB(9)
43 GND +DB(10) Γöé 98 -DB(10) -DB(10)
44 GND +DB(11) Γöé 99 -DB(11) -DB(11)
45 GND GND Γöé 100 GND GND
46 GND +DB(16) Γöé 101 -DB(16) -DB(16)
47 GND +DB(17) Γöé 102 -DB(17) -DB(17)
48 GND +DB(18) Γöé 103 -DB(18) -DB(18)
49 GND +DB(19) Γöé 104 -DB(19) -DB(19)
50 GND +DB(20) Γöé 105 -DB(20) -DB(20)
51 GND +DB(21) Γöé 106 -DB(21) -DB(21)
52 GND +DB(22) Γöé 107 -DB(22) -DB(22)
53 GND +DB(23) Γöé 108 -DB(23) -DB(23)
54 GND +DB(P2) Γöé 109 -DB(P2) -DB(P2)
55 GND GND Γöé 110 GND GND
ΓòÉΓòÉΓòÉ 12.5. A.5. IBM 60 pin SCSI Connector ΓòÉΓòÉΓòÉ
For whatever reason, IBM defined an own 60 pin SCSI connector for their PS/2
and RS/6000 systems. It is a high density SCSI-2/3 style mini-centronics
connector and the first 50 pins are identical to 'standard' SCSI-2 HD
connectors. If you have a newer RS/6000 with the embedded SCSI-2 host adapter,
it should have the SCSI-2 standard connector. I couldn't find an application
where the remaining 10 pins are used, but who knows.... Somewhere i read that
this connector should have been the official SCSI-2 connector, but was later
withdrawed for the 50-pin types.
Pin Signal Γöé Pin Signal
Γöé
1 GND Γöé 31 GND
2 -DB(0) Γöé 32 -ATN
3 GND Γöé 33 GND
4 -DB(1) Γöé 34 GND
5 GND Γöé 35 GND
6 -DB(2) Γöé 36 -BSY
7 GND Γöé 37 GND
8 -DB(3) Γöé 38 -ACK
9 GND Γöé 39 GND
10 -DB(4) Γöé 40 -RST
11 GND Γöé 41 GND
12 -DB(5) Γöé 42 -MSG
13 GND Γöé 43 GND
14 -DB(6) Γöé 44 -SEL
15 GND Γöé 45 GND
16 -DB(7) Γöé 46 -C/D
17 GND Γöé 47 GND
18 -DB(P) Γöé 48 -REQ
19 GND Γöé 49 GND
20 GND Γöé 50 -I/O
21 GND Γöé 51 GND -- from pin 51 on
22 GND Γöé 52 Reserved IBM's extensions
23 Res./GND Γöé 53 Reserved
24 Res./GND Γöé 54 Reserved
25 n.c. Γöé 55 Reserved
26 TRMPWR Γöé 56 Reserved
27 Reserved Γöé 57 Reserved
28 Reserved Γöé 58 Reserved
29 GND Γöé 59 Reserved
30 GND Γöé 60 Reserved
ΓòÉΓòÉΓòÉ 12.6. A.6. Other SCSI connectors ΓòÉΓòÉΓòÉ
Sometimes, for many reasons, some of them strange to me <g>, a company decides
to introduce a new SCSI connector.
ΓòÉΓòÉΓòÉ 12.6.1. A.6.1. Apple PowerBook HDI-30 connector ΓòÉΓòÉΓòÉ
One of those is the Apple PowerBook's HDI-30 connector. Its signals make me
think they tried a small hop into the SCA direction, as it also supplies power
to the drive ...
Apple's external HDI-30 SCSI connector has the following pinout:
Pin Internal External
Connector Connector
1 DISK.+5 -LINK.SEL -- I have no idea what
2 DISK.+5 -DB(0) -- -LINK.SEL is for.
3 Ground Ground
4 Ground -DB(1)
5 Ground TERMPWR Pin 5 (TP) is not used
6 -DB(0) -DB(2) by Apple ("reserved for
7 -DB(1) -DB(3) future use") and is not
8 -DB(2) Ground connected in Apple's
9 -DB(3) -ACK original PB SCSI cable.
10 -DB(4) Ground
11 -DB(5) -DB(4)
12 -DB(6) Ground
13 -DB(7) Ground
14 -DB(P) -DB(5)
15 DISK.+5 Ground
16 -BSY -DB(6)
17 -ATN Ground
18 -ACK -DB(7)
19 Ground -DB(P)
20 -MSG Ground
21 -RST -REQ
22 -SEL Ground
23 -C/D -BSY
24 -I/O Ground
25 -REQ -ATN
26 Ground -C/D
27 Ground -RST
28 Ground -MSG
29 DISK.+5 -SEL
30 DISK.+5 -I/O
When Novell designed their Disk Coprocessor Board (DCB), they took an own,
proprietary SCSI connector (guess a reason <g>). Procomp took the same
connector on their F-DCB and M-DCB host adapters to maintain 100% compatibility
besides the register compatibility of the DCB board itself.
This connection uses a DB-37 Sub-D connector, that at least has enough
conductors to provide a dedicated ground wire for each signal.
Novell's DCB with the original cable doesn't provide TERMPWR to the SCSI bus,
although it is used locally for the terminator packs, so each terminated device
must supply its own, local terminator power. Procomp does provide TERMPWR, but
only with their own cable - they simple added this single wire.
Novell/Procomp DCB external pinout
Pin Signal Pin Signal
1 GND 20 -DB(0)
2 GND 21 -DB(1)
3 GND 22 -DB(2)
4 GND 23 -DB(3)
5 GND 24 -DB(4)
6 GND 25 -DB(5)
7 GND 26 -DB(6)
8 GND 27 -DB(7)
9 GND 28 -DB(P)
10 GND 29 -ATN
11 GND 30 -BSY
12 GND 31 -ACK
13 GND 32 -RST
14 GND 33 -MSG
15 GND 34 -SEL
16 GND 35 -C/D
17 GND 36 -REQ
18 GND 37 -I/O
19 TERMPWR * * not connected on Novell DCB
A special quirk in the Procomp DCB is, that it doesn't provide termination for
the -ATN, -ACK and -RST signals. Without access to an original Novell DCB, i
don't know if it has the same incomplete termination.
ΓòÉΓòÉΓòÉ 12.6.2. A.6.3. Rumours about strange connectors... ΓòÉΓòÉΓòÉ
Over time i got a few questions on the Toshiba 150-pin SCSI connector - thanks
to Don Whittemore now i can clearly state that this animal doesn't exist - it's
only an ISA expansion connector, and Toshiba sold a SCSI host adapter for it
with a matching connector called "PC-PA2113 150 pin SCSI adapter".
------- If you know of another special SCSI connector, please let me know.
I'll try to include it here.
ΓòÉΓòÉΓòÉ 12.7. A.7. Mixing SCSI-2 and Wide-SCSI devices - adapter wiring ΓòÉΓòÉΓòÉ
In the last time, more and more higher-end PCs are equipped with Wide-SCSI
adapters and disk drives. As you would expect, this creates a new problem - how
to connect 8-bit SCSI devices like CDROM or tape drives. Most adapters have an
additional internal 8-bit connector, but what to do with external devices? The
SCSI-3 drafts address this with a definition how 8-bit and 16-bit devices must
be wired together (SCSI-3 because the 'P' cable is a SCSI-3 part). Thanks to
Michael Arellano, who provided a proven wiring diagram for the drafted circuit.
According to the drafts, 8-bit devices shall leave the upper byte signal lines
DB(8) to DB(15) and DB(P1) open, and connect the "standard" lines as usual.
Together with the clever layout of the connectors, this makes it possible to
include one or more 8-bit connectors in a Wide-SCSI cable.
However, with all the high density connectors it isn't easy to make such a
cable yourself, so, if you think about it, be sure that you have the neccessary
equipment and tools before you invest in the connectors - they're expensive.
16 Bit Wide-SCSI to 8 Bit SCSI wiring diagram, Single Ended:
68-pin Signal 50-pin Γöé 68-pin Signal 50-pin
Γöé
1 GND Γöé 35 -DB(12)
2 GND Γöé 36 -DB(13)
3 GND Γöé 37 -DB(14)
4 GND Γöé 38 -DB(15)
5 GND Γöé 39 -DB(P1)
6 GND 1 Γöé 40 -DB(0) 26
7 GND 2 Γöé 41 -DB(1) 27
8 GND 3 Γöé 42 -DB(2) 28
9 GND 4 Γöé 43 -DB(3) 29
10 GND 5 Γöé 44 -DB(4) 30
11 GND 6 Γöé 45 -DB(5) 31
12 GND 7 Γöé 46 -DB(6) 32
13 Open 8 Γöé 47 -DB(7) 33
14 GND 9 Γöé 48 -DB(P) 34
15 GND 10 Γöé 49 GND 35
16 GND 11 Γöé 50 GND 36
17 TRMPWR 12 Γöé 51 TRMPWR 37
18 TRMPWR 13 Γöé 52 TRMPWR 38
19 Res./GND 14 Γöé 53 Res. 39
20 GND 15 Γöé 54 GND 40
21 GND 16 Γöé 55 -ATN 41
22 GND 17 Γöé 56 GND 42
23 GND 18 Γöé 57 -BSY 43
24 GND 19 Γöé 58 -ACK 44
25 GND 20 Γöé 59 -RST 45
26 GND 21 Γöé 60 -MSG 46
27 GND 22 Γöé 61 -SEL 47
28 GND 23 Γöé 62 -C/D 48
29 GND 24 Γöé 63 -REQ 49
30 GND 25 Γöé 64 -I/O 50
31 GND Γöé 65 -DB(8)
32 GND Γöé 66 -DB(9)
33 GND Γöé 67 -DB(10)
34 GND Γöé 68 -DB(11)
ΓòÉΓòÉΓòÉ 12.8. A.8. SCA Single Ended connector ΓòÉΓòÉΓòÉ
The Single Connector Attachment uses an 80-pin connector to supply all
neccessary SCSI signals, control signals, LED and power connections.
The SCA connector uses two different pin lengths to ensure defined signal
states on hot-plugging. I'll explain this mechanism in slightly more detail in
the SCA definition in chapter 1.
Pin Signal Pin Signal
1 12 VOLT CHARGE 41 12 V GROUND
2 12 VOLT 42 12 V GROUND
3 12 VOLT 43 12 V GROUND
4 12 VOLT 44 MATED 1
5 RESERVED/NC 45 RESERVED/NC
6 RESERVED/NC 46 DIFFSNS
7 - DB(11) 47 GROUND
8 - DB(10) 48 GROUND
9 - DB(9) 49 GROUND
10 - DB(8) 50 GROUND
11 - I/O 51 GROUND
12 - REQ 52 GROUND
13 - C/D 53 GROUND
14 - SEL 54 GROUND
15 - MSG 55 GROUND
16 - RST 56 GROUND
17 - ACK 57 GROUND
18 - BSY 58 GROUND
19 - ATN 59 GROUND
20 - DB(P0) 60 GROUND
21 - DB(7) 61 GROUND
22 - DB(6) 62 GROUND
23 - DB(5) 63 GROUND
24 - DB(4) 64 GROUND
25 - DB(3) 65 GROUND
26 - DB(2) 66 GROUND
27 - DB(1) 67 GROUND
28 - DB(0) 68 GROUND
29 - DB(P1) 69 GROUND
30 - DB(15) 70 GROUND
31 - DB(14) 71 GROUND
32 - DB(13) 72 GROUND
33 - DB(12) 73 GROUND
34 5 VOLT 74 MATED 2
35 5 VOLT 75 5 V GROUND
36 5 VOLT CHARGE 76 5 V GROUND
37 SYNC 77 ACTIVE LED OUT
38 RMT_START 78 DLYD_START
39 SCSI ID(0) 79 SCSI ID (1)
40 SCSI ID (2) 80 SCSI ID (3)
ΓòÉΓòÉΓòÉ 13. Appendix B. Addresses and places to get information about SCSI ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 13.1. B.1. SCSI document sources ΓòÉΓòÉΓòÉ
There are some documents over and about SCSI. Of course, the first source of
information are the spec documents. However, they are hard to read and hard to
understand if it's your first jump into SCSI.
If you're familiar with good ol'SCSI-1, there is a very good article about
"What's new in SCSI-2" in the January 1991 issue of "Computer Technology
Review". It is written by Dal Allan from ENDL, one of the real "SCSI gurus".
The official SCSI document distribution listed in the spec is:
Global Engineering Telephone: 303-792-2181 or
15 Inverness Way East 800-854-7179
Englewood, CO 80112-5704 Facsimile: 303-792-2192
Also, there are some places where SCSI information is present in electronic
form.
In first place, the NCR SCSI BBS, where the official documents are available as
text files. Also, NCR has a support bbs for their systems, where drivers are
available for download:
The NCR SCSI bbs : 001-719-574-0424 **
The NCR Drivers bbs : 001-803-843-1811
Also, there are some SCSI vendors that offer bbs support. They may or may not
have some SCSI-related information. For example, the Adaptec bbs has all the
ASPI documents. Where i have adresses or phone numbers of those bbs's, i
included them in the adress list in B.2.
Sometimes it's worth a try on OEM bbses to look for info or drivers. Storage
Dimension's bbs, for example, has some info and drivers for their OEM'ed
Bustek/Buslogic host adapters.
Books, hmm. A few reference sources are listed in every better SCSI article,
so i list them too <g>... Anyway, i have none of them (not yet <g>), so i can't
comment on them...
"In-Depth Exploration of SCSI", from
Solution Technology
Attn: SCSI Publications
PO Box 104 phone (408)338-4285
Boulder Creek, CA 95006 fax (408)338-4374
"The SCSI Encylopedia" and "The SCSI Bench Reference", from
ENDL Publishing
14426 Black Walnut Ct. phone (408)867-6642
Saratoga, CA 95090 fax (408)867-2115
-- 12.5.95 -- last week i got two german books about SCSI, "SCSI-Bus
erfolgreich anwenden" from Hermann Straс, an ANSI and IEEE member, published by
Franzis Verlag, and "SCSI-Bus und IDE-Schnittstelle" from Friedhelm Schmidt,
published by Addison-Wesley (Deutschland). Both seem good, but mainly
transcripts from the spec - at about DM 80,-- per book, slightly steep i.m.o.
...
ΓòÉΓòÉΓòÉ 13.2. B.2 European/German Distributors ΓòÉΓòÉΓòÉ
Although Distributors in Germany sell to dealers only and usually don't give
support to end users, they should be able to point to a dealer in your
neighbourhood that can do both. So, i list the most common SCSI-related of them
i know.
Actebis
Addit
J & W
Metrologie
Peacock
Starline
ΓòÉΓòÉΓòÉ 13.2.1. Actebis ΓòÉΓòÉΓòÉ
Actebis Computerhandelsgesellschaft mbH + Co
Lange Wende 43, 59494 Soest, Germany
phone ++49 (0)2921) 99-0
fax ++49 (0)2921) 99-2349
products: Fujitsu, HP, IBM, Panasonic, Plextor,
Seagate, Toshiba
ΓòÉΓòÉΓòÉ 13.2.2. Addit ΓòÉΓòÉΓòÉ
Addit Datensysteme GmbH
Kuehnstrasse 75/Hs. 2, 22045 Hamburg, Germany
phone ++49 (0)40 669620-0
fax ++49 (0)40 663642
sales fax ++49 (0)40 669620-50
products: Adaptec, Buslogic, DPT, Fujitsu, Innotec,
Meridian, Olympus, Philips, Pioneer,
Quantum, RaidTec, Tandberg, Toshiba, Trimm
ΓòÉΓòÉΓòÉ 13.2.3. J & W ΓòÉΓòÉΓòÉ
J & W Computer GmbH
Frankfurter Straсe 101-103, 65479 Raunheim, Germany
phone ++49 (0)6142 942-0
fax ++49 (0)6142 942-100
products: Adaptec, Canon, Conner, Epson, Fujitsu,
Goldstar, HP, IBM, Iwill, Maxtor, Mitsumi,
Mustek, QLogic, Sony, Syquest
ΓòÉΓòÉΓòÉ 13.2.4. Metrologie ΓòÉΓòÉΓòÉ
Metrologie GmbH
Steinerstraсe 15, 81369 MБnchen, Germany
phone ++49 (0)89 74217-220
fax ++49 (0)89 74217-231
HP, IBM, Mediavision, Mustek, Sony
Toshiba, Trimm
ΓòÉΓòÉΓòÉ 13.2.5. Peacock ΓòÉΓòÉΓòÉ
Peacock AG
Graf-Zeppelin-Str. 14, 33181 WБnneberg-Haaren, Germany
phone ++49 (0)2957 79-581
fax ++49 (0)2957 79-9589
products: Cheyenne, Conner, Epson, HP, IBM, icp,
IBM, Micropolis, Mitsumi, NCR, Plextor,
Quantum, Samsung, Sony, Tandberg
ΓòÉΓòÉΓòÉ 13.2.6. Starline ΓòÉΓòÉΓòÉ
Starline Computer GmbH
Hauptstraсe 171, 70771 Leinfelden-Echterdingen, Germany
phone ++49 (0)711 90250-0
fax ++49 (0)711 90250-99
products: Adaptec, HP, IBM, Olympus, Pioneer, Seagate,
Syquest, Tandberg Data, Teac, Toshiba,
all types of cables and adapters
virtually everything with SCSI
ΓòÉΓòÉΓòÉ 13.3. B.3. Manufacturer Addresses ΓòÉΓòÉΓòÉ
As far i could find out, i listed addresses and phone numbers of all
manufacturers that came into my mind. It's definitely not complete, but this
will change over time, i'm sure.
Some manufacturers are here only as snippets, address parts or bbs numbers -
mainly because i dragged this from my trusty old retrieval system as i once
typed it in <g>
Please give me a feedback about missing companies, wrong or old numbers, new
internet sites ....
A
B
C
D
E
F
G
H
I
J-K
L
M
N
P
Q
R
S
T
U-V
W
X-Z
ΓòÉΓòÉΓòÉ 13.3.1. A ΓòÉΓòÉΓòÉ
Adaptec, Inc.
691 S. Milpitas Blvd., Milpitas, CA 95035,
phone (408) 945-8600
fax (408) 262-2533
support voice (408) 934-SCSI
literature (800) 934-2766
SW order line (800) 442-SCSI
sales (800) 959-SCSI
support fax (408) 945-6776
fax callback (408) 957-7150
bbs (408) 945-7727
support Europe ++32 2 352 3470
bbs Europe ++32 2 352 3454
Adaptec Deutschland
MБnchnerstr. 19, Haar bei MБnchen
phone ++49 (0)89 456406-0
fax ++49 (0)89 456406-15
bbs Germany ++49 (0)89 456406-18
Tech support support@adaptec.com
www-server www.adaptec.com
ftp-server ftp.adaptec.com
Advanced Storage Concepts Inc.
Austin, TX
e-mail asc@eden.com
AdvanSys
San Jose, CA,
phone (408) 383-9400
www-server www.advansys.com (new)
email support@advansys.com
Alpha Research Corp. ------>>> Tekram
Park North Building, Suite 120,
8200 Mopac Expy. N, Austin, TX 78759
phone (512) 345-6465
fax (512) 345-6496
Always Technology Corp.
31336 Via Colinas, Suite 101,
Westlake Village, CA 91362
phone (818) 597-1400
fax (818) 597-1496
bbs (818) 597-0275
American Megatrends Inc.
6145-F Northbelt Parkway, Norcross, GA 30071
phone (800) 828-9264, (404) 263-8181
fax (404) 263-9381
faxback (404) 246-8787
www-server www.megatrends.com (from July 95)
ftp-server ftp.megatrends.com (from July 95)
Ancot Corporation,
115 Constitution Drive, Menlo park, CA 94025
phone (415) 322-5322,
fax (415) 322-0455
SCSI and other analyzers and development systems,
Fibre Channel to SCSI bridges and so on...
Applied Concepts, Inc.
Wilsonville, OR
phone (503) 685-9300
SCSI bus switches and extenders, SCSI Bus monitors
LazerLink SCSI fiber-optic modem for up to 3000 ft
APS Technologies
6131 Deramus, Kansas City, MO 64120
phone (800) 235-2753, (816) 373-5800
email service@apstech.com
www-server www.apstech.com
Apple Powerbook and other SCSI cable adapters and
disk-emulation software for using a PB as disk drive
Archive Corporation ------>>> Conner Peripherals
AsantВ
San Jose, CA
phone (800) 662-9686, (408) 435-8388.
Mac products, Mini EN/SC SCSI to Ethernet adapter
Atto Technology, Inc.
Amherst, NY
phone (716) 691-1999 or (716) 688-4259 ??????
fax (716) 636-3630
SiliconCache universal SCSI cache device,
various high-end SCSI products, also Mac boards
ΓòÉΓòÉΓòÉ 13.3.2. B ΓòÉΓòÉΓòÉ
BusLogic, Inc.
4151 Burton Drive, Santa Clara, CA 95054,
phone (800) 707-7274, (408) 492-9090
fax (408) 492-1542
bbs (408) 492-1984
www-server www.buslogic.com
ΓòÉΓòÉΓòÉ 13.3.3. C ΓòÉΓòÉΓòÉ
Central Data
Champaign, IL
phone (800) 482-0315, (217) 359-8010
SCSI-based Communication and Terminal servers
Chinon America, Inc.
Torrance, CA
phone (310) 533-0274
fax (310) 533-1727.
bbs (310) 320-4160
CMD Technology, Inc.
1 Vanderbilt, Irvine, CA 92718
phone (800) 426-3832, (714) 455-0800
fax (714) 455-1656
ATA, SCSI, RAID controllers
Colorado Memory Systems
bbs (303) 635-0650
Columbia Data Products, Inc.
1070B Ranier Dr.
Altamonte Springs, FL 32714-2584
support (407) 869-6700
fax (407) 862-4725
bbs (407) 862-4724
Conner Peripherals, Inc.
3081 Zanker Rd., San Jose, CA 95134-2128
phone (800) 426-6637, (408) 456-4500
fax (408) 456-4501
bbs (408) 456-4415
Europe: phone ++44 (0)1294 315333
fax ++44 (0)1294 315262
bbs ++44 (0)1294 315265
faxback ++44 (0)1294 315205
Core International
Boca Raton, FL
phone (407) 997-6055
Corel Systems Corp.
1600 Carling Avenue, Ottawa ON, K1Z 8R7, CANADA
phone (800) 836-SCSI, (613) 728-8200
fax (613) 728-9790
CorelSCSI! driver package and (earlier) SCSI adapters
ΓòÉΓòÉΓòÉ 13.3.4. D ΓòÉΓòÉΓòÉ
Danmar Systems Inc.
6031 SW 128 Court, Miami, FL 33183-5457
phone (305) 388-4671
fax (305) 388-5326
Scanner drivers, for example SCSISCAN for OS/2
Data Technology Corp. (DTC)
1515 Centre Point Dr., Milpitas, CA 95035
faxback (408) 942-4005
bbs (408) 942-4010
Digital Vision, Inc.
Dedham, MA
phone (617) 329-5400
fax (617) 329-6286
ComputerEyes/RT SCSI frame grabber for
any standard video source
Distributed Processing Technology (DPT),
140 Candace Dr., Maitland, FL 32751
phone (800) 322-4378, (407) 830-5522
fax (407) 260-5366.
Caching host adapters and RAID systems
ΓòÉΓòÉΓòÉ 13.3.5. E ΓòÉΓòÉΓòÉ
Eastman Kodak Co.
343 State St., Rochester, NY 14650
phone (800) 242-2424, (716) 724-688
DCS digital cameras with SCSI port, CDR's
ECCS
Tinton Falls, NJ
phone (800) 322-7462, (908) 747-6995.
5 1/4" RAID storage systems
Epson America
20770 Madrona Ave., Torrance, CA 90509
phone (800) 289-3776, (310) 782-0770
(310) 787-6300
fax (310) 787-5350
Image Scanners
Everex Systems, Inc.
48431 Milmont Dr., Fremont, CA 94538
phone (800) 628-3837.
Exabyte Corporation
1685 38th Street, Boulder, CO 80301
phone (303) 442-4333
ΓòÉΓòÉΓòÉ 13.3.6. F ΓòÉΓòÉΓòÉ
Fujitsu Computer Products of America, Inc.
2904 Orchard Pkwy., San Jose, CA 95134
phone (800) 626-6112, (408) 432-6333
fax (408) 432-3908
www-server www.fujitsu.com
CompuServe go PACVEN
Future Domain Corp.
2801 McGaw Ave., Irvine, CA 92714
phone (800) 777-7274, (714) 253-0400
fax (714) 253-0913
bbs (714) 253-0432
Future Domain was bought by Adaptec in July 1995, so
this address may change in the (not so near) future
ΓòÉΓòÉΓòÉ 13.3.7. G ΓòÉΓòÉΓòÉ
Genius: Kye International Corp.
2605 E Cedar Street, Ontario, CA 91761
phone (800) 456-7593
image scanners
Gespac
Mesa, AZ
phone (602) 962-5559
SCSI to PCMCIA memory-card drive
Goldstar: LG Electronics Inc.
Lucky-Goldstar Twin Towers, 20 Yoido-Dong,
Youngdungpo-gu Seoul, Korea
phone ++82 2 787-3631/6
fax ++82 2 787-1679
USA: phone ++1 (201) 816-2000
fax ++1 (201) 816-0636
D: phone ++49 (0)2154 4920
fax ++49 (0)2154 428799
Granite Digital
3101 Whipple Road, Union City, CA 94587
phone (510) 471-6442
fax (510) 471-6267
high-quality active terminators and SCSI cables
ΓòÉΓòÉΓòÉ 13.3.8. H ΓòÉΓòÉΓòÉ
Hewlett Packard Co., Direct Marketing Organization
PO Box 58059, MS 511L-SJ, Santa Clara, CA 95051
phone (800) 722-6538, (303) 350-4774
fax (303) 350-4802
Palo Alto, CA
phone (800) 826-4111
ΓòÉΓòÉΓòÉ 13.3.9. I ΓòÉΓòÉΓòÉ
IBM Storage Systems Division
Rte. 100, P.O. Box 100, Somers, NY 10589
phone (800) 426-7299
fax (800) 426-3395
icp vortex Computersysteme GmbH
Falterstrasse 51-53, D-74223 Flein, Germany
phone ++49 (0)7131 5972-0
fax ++49 (0)7131 255063
bbs ++49 (0)7131 5972-15
Transputer-based Cache and RAID host adapters
Infinity CommStor, LLC.
Suite 216, 13706 Research Blvd., Austin, TX 78750
phone (800) 643-7148, (512) 331-2958
fax (512) 331-4266
email info@isicomm.com
www-server www.isicomm.com
Fibre Channel development kits and consulting,
also SCSI over FC
Innotec Design, Inc.
the manufacturer of the older Adaptec SCSI analyzers,
now under their own name...
--- anyone's got an address ?
I-Tech Corp.
phone (612) 941-5905
fax (612) 941-2386
email fibre_channel@i-tech.com
Fibre-Channel / FCSI development and testing systems
Iomega Corp.
1821 West Iomega Way, Roy, UT 84067
phone (service) (800) 456-5522, (801) 778-1000
phone (sales) (800) MY STUFF
fax (801) 778-3450
bbs (801) 392-9819
faxback (800) 456-5522
www-server www.iomega.com (only advertising..)
Germany support ++49 (0)761 4504-0
bbs ++49 (0)761 4504-444
IOtech, Inc.
25971 Cannon Rd., Cleveland, OH 44146
phone (216) 439-4091
SCSI488/N SCSI to IEEE-488 interface
Irwin Magnetics, Inc. ------>>> Conner Peripherals
ΓòÉΓòÉΓòÉ 13.3.10. J-K ΓòÉΓòÉΓòÉ
JVC Information Products Company of America <phew!>
17811 Mitchell Avenue, Irvine, CA 92714
phone (714) 261-1292
fax (714) 261-9690
Koutech Systems, Inc.
9314 Norwalk Blvd., Santa Fe Springs, CA 90670
phone (310) 699-5340
fax (310) 699-0795
various I/O, NCR-based SCSI adapter
ΓòÉΓòÉΓòÉ 13.3.11. L ΓòÉΓòÉΓòÉ
Lapis
Alameda, CA
phone (510) 748-1600.
Tiny docking station for Duo PowerBooks, also with
SCSI connector and disk emulation mode.
Laura Technologies, Inc.
3212 South Fair Lane, Tempe, AZ 85282
phone (602) 438-0889
fax (602) 438-9222
TenTime high-end SCSI caching controllers
Linksys
Irvine, CA
phone (800) 546-5797, (714) 261-1288.
ParaSCSI Plus parallel-to-SCSI adapter
Lomas Data Products Inc.
Marlboro, MA
phone (508)460-0333
ΓòÉΓòÉΓòÉ 13.3.12. M ΓòÉΓòÉΓòÉ
MacNet
San Jose, CA
phone (408) 954-8888.
SCSI-490PB Mac SCSI to Ethernet adapter
Maximum Storage, Inc.
518 North Nevada Avenue, Suite 203, Colorado, CO 80903
phone (800) 843,6299, (719) 442-6674
fax (719) 442-6671
optical drives
Maxoptix Corp.
San Jose, CA
phone (800) 848-3092, (408) 954-9700
fax (408) 954-9711
Maxtor Corp.
211 River Oaks Pkwy., San Jose, CA 95134
phone (800) 462-9867, (408) 432-1700
fax (408) 432-4510
bbs (303) 678-2222 (maybe also -2020 ?)
Maynard Electronics Inc. ------>>> Conner Peripherals Inc.
Micropolis Corp.
21211 Nordhoff St., Chatsworth, CA 91311
phone (800) 395-3748, (818) 709-3300
fax (818) 709-3396
Microtek Lab Inc.
3715 Doolittle Dr., Redondo Beach, CA 90278
phone (800) 654-4160, (310) 297-5000
fax (310) 297-5050
faxback (310) 297-5101
Microtest, Inc.
4747 North 22nd St., Phoenix, AZ 85016
phone (800) 526-9675, (602) 952-6400
fax (602) 952-6401
DiscPort: Ethernet to SCSI CDROM
Mylex Corp.
34551 Ardenwood Blvd., Fremont, CA 94537-5035
phone (510) 796-6100
fax US sales (510) 745-8016
fax Intl. sales (510) 745-7521
fax tech support(510) 745-7715
bbs (510) 796-5144
e-mail tsup@mylex.com
ΓòÉΓòÉΓòÉ 13.3.13. N ΓòÉΓòÉΓòÉ
National Instruments
12109 Technology Blvd., Austin, TX 78727
phone (800) 433-3488, (512) 794-0100
GPIB-SCSI translator box
NCR Microelectronic Products Division --> Symbios Logic
NEC
1255 Michael Dr., Wood Dale, IL 60191
phone (800) 632-4636, (708) 860-9500
fax (800) 366-0476, (708) 860-7794
bbs (603) 878-2567
www-server www.nec.com
Newer Technology
7803 East Osie St., Suite 105, Wichita, KS 67207
phone (800) 678-3726, (316) 685-4904
fax (316) 685-9368
SCSI II Dart semiconductor drives
New Media
Irvine, CA
phone (714) 453-0100
Visual Media PCMCIA SCSI adapter
ΓòÉΓòÉΓòÉ 13.3.14. P ΓòÉΓòÉΓòÉ
Panasonic Communications & Systems Co.
2 Panasonic Way, Secausus, NJ 07094
phone (800) 742-8086
fax (201) 348-7000
www-server www.mei.co.jp and
www.research.panasonic.com/phone.html
Peer Protocol, Inc.
4101 Westerly Place, Suite 105
Newport Beach, CA 92660
phone (714) 476-1016
fax (714) 476-1916
e-mail peer@earthlink.net
professional SCSI test equipment
Perceptive Solutions, Inc.
1509 Falcon, Suite 104, DeSoto, TX 75115
phone (214) 224-6774
hyperStore caching disk controllers
Peripheral Land Inc. (PLI)
47421 Bayside Parkway, Fremont, CA 94538
phone (800) 288-8754, (510) 657-2211
fax (510) 683-9713
RAID systems, also Mac SCSI boards
Pinnacle Micro
19 Technology, Irvine, CA 92718
phone (800) 553-7070, (714) 727-3300
fax (714) 727-1913
Pioneer
3255-1 Scott Blvd., Ste.103, Santa Clara, CA 95054
phone (408) 748-2108
tech support (408) 988-1702
fax (408) 988-1848
bbs (408) 748-2150
Pioneer Electronics Europe (Belgium)
phone ++32 (0)3 7500511
fax ++32 (0)3 7752820
Pioneer New Media Technologies, Inc.
2265 East 220th St., Long Beach, CA 90810
phone (800) 527-3766, (310) 952-2111
fax (310) 952-2990
bbs (310) 835-7980
Plextor
4255 Burton Dr., Santa Clara, CA 95054
phone (800) 475-3986, (408) 980-1838
fax (408) 986-1010
bbs (408) 986-1569
CDROM drives
Procom Technology Inc.
2181 Dupont Dr., Irvine, CA 92715
phone (800) 800-8600, (714) 852-1000
fax (714) 852-1221
www-server www.procom.com
Host adapters, RAID and other SCSI stuff
Pro Engineering
Ottawa, Ontario, Canada
phone (613) 738-3864
EZRAID RAID software for DOS and OS/2
Promise
bbs (408) 452-1267
ΓòÉΓòÉΓòÉ 13.3.15. Q ΓòÉΓòÉΓòÉ
QLogic Corp.
3545 Harbor Blvd., Costa Mesa, CA 92626
phone (800) 867-7274, (714) 438-2200
fax (714) 668-6950.
bbs (714) 708-3170
www-server: qlogic.qlc.com
Host adapters and SCSI chips (Emulex spinoff)
Qualstar
6709 Independence Ave., Canoga Park, CA 91303
phone (800) 468-0680, (818) 592-0061
fax (818) 592-0116
9-track and 3480/3490 tape drives with SCSI and Pertec
Quantum Corp.
500 McCarthy Blvd., Milpitas, CA 95035
phone (800) 826-8022, (408) 894-4000
fax (408) 894-3282, (408) 894-3205
faxback: (800) 4-DISKFAX
bbs (408) 894-3214
www-server: www.quantum.com
Germany: Quantum GmbH
Berner Strasse 28, 60437 Frankfurt
phone ++49 (0)69 950767-0
fax ++49 (0)69 950767-91
ΓòÉΓòÉΓòÉ 13.3.16. R ΓòÉΓòÉΓòÉ
Raidtec Corp.
USA: 105 Hembree Park Drive, Suite C, Roswell, GA 30076
phone (404) 664-6066
fax (404) 664-6166
Europe: Glen Mervyn House, Glanmire, Cork, Ireland
phone ++353 (0)21 821454
fax ++353 (0)21 821654
SCSI RAID systems
Rancho Technology
8632 Archibald Ave, #109, Rancho Cucamonga, CA 91730
phone (714) 987-3966
fax (714) 989-2365
Rexon Inc.
owns Wangtek (QIC), WangDAT (DAT), Tecmar (bundled
solutions) and Sytron (Software)
www-server www.rexon.com
gopher-server gopher.rexon.com
Ricoh Corporation
3001 Orchard Parkway
San Jose, CA 95134
phone (800) 955-3453, (408) 954-5321
fax (408) 432-9266
ΓòÉΓòÉΓòÉ 13.3.17. S ΓòÉΓòÉΓòÉ
Seagate Technology, Inc.
920 Disc Drive, Scotts Valey, CA 95066-4544, USA
phone (408) 438-6550
fax (408) 438-7852
bbs (408) 438-8771
www-server www.seagate.com
ftp-server ftp.seagate.com
Shaffstall Corp.
phone (317) 842-2077
fax (317) 842-8294
9-track and 3480/3490 drives and conversion service
Sony Corp. of America
655 River Oaks Pkwy.
San Jose, CA 95134
phone (800) 352-7669, (408) 432-0190
fax (408) 432-0253
bbs (408) 955-5107
Spectre Engineering, Inc.
P.O. Box 725175, Berkley, MI 48072
phone (313) 547-2098
SCSI analyzers
Storage Computer Corp.
11 Riverside Street, Nashua, NH 03062
phone (603) 889-3005
email techinfo@storage.com
www-server www.storage.com
Storage Dimensions, Inc.
1656 McCarthy Blvd., Milpitas, CA 95035
phone (408) 954-0710
fax (408) 954-0517
bbs (408) 944-1221
Sumo Systems
1580 Old Oakland Dr., San Jose, Ca, 95131
phone (408) 453-5744
fax (408) 453-5821
SCSI adapters
Symbios Logic Inc.
1635 Aeroplaza Dr., Colorado Springs, CO 80916
phone (719) 596-5795
Info Hotline (800) 334-5454
fax (719) 597-8225
bbs (719) 573-3562
e-mail support@symbios.com
literature@symbios.com
www-server ncrinfo.attgis.com
www.symbios.com
ftp-server ncrinfo.attgis.com
ftp.symbios.com
Gopher ncrinfo.attgis.com
Syquest
47923 Warm Springs Blvd., Fremont, CA 94539
phone (800) 245-2278, (510) 490-7511
fax (510) 651-3338
bbs (510) 656-0473 (or -0470)
ΓòÉΓòÉΓòÉ 13.3.18. T ΓòÉΓòÉΓòÉ
Tandberg Data
P.O. Box 134, Kjelsas, 411 Oslo, Norway
phone ++47 (0)2 18-9090
fax ++47 (0)2 18-9550
bbs Germany : ++49 (0)231 5436-123
Tandberg Data, Inc.
2649 Townsgate Rd., Suite 600, Westlake Village, CA 91361
phone (805) 495-8384
fax (805) 495-4186
TEAC America Inc.
7733 Telegraph Road, Montebello, CA 90640
phone (213) 726-0303
fax (213) 727-7674
faxback (213) 727-7629
bbs (213) 727-7660 (7E1)
Tekram / Alpha Research
support (512) 418-1520
bbs (512) 418-0821
www-server: www.tekram.com
Texel America, Inc. ------>>> see Plextor
Toshiba America Information Systems Inc.
9740 Irvine Blvd., Irvine, CA 92713
* phone (800) 334-3445, (714) 583-3084
fax (714) 583-3133
Trantor Systems ------>>> see Adaptec
Trimm Industries
11949 Sherman Road, North Hollywood, CA 91605
phone (800) 423-2024
fax (818) 503-0438
UK: phone ++44 (0)602 385485
fax ++44 (0)602 389973
RAID cabinets - the standard; CMD RAID controllers
ΓòÉΓòÉΓòÉ 13.3.19. U-V ΓòÉΓòÉΓòÉ
UMAX Technologies Inc.
3353 Gateway Blvd., Fremont, CA 94538
phone (800) 562-0311, (510) 651-8883
fax (510) 651-8834
Image Scanners
UltraStor Corp.
15 Hammond, #310, Irvine, CA 92718
General number: (714) 581-4100
Tech support: (714) 581-4016
Fax (714) 581-0826
bbs (714) 581-4125
Viglen Ltd.
Alperton, U.K.
phone ++44 (0)81 758-7000
fax ++44 (0)81 991-5115
RAID subsystems, SCSI cabinets
ΓòÉΓòÉΓòÉ 13.3.20. W ΓòÉΓòÉΓòÉ
WangDAT, Inc.
Costa Mesa, CA
phone (714) 241-9613
bbs (216) 349-0853
Wangtek, Inc.
41 Moreland Rd., Simi Valley, CA 93065
phone (tech) (800) 992-9916
phone (Sales) (800) 992-9916
bbs (805) 582-3620
Western Digital Corp.
8105 Irvine Center Dr., Irvine, CA 92718-2937
phone (800) 832-4778, (714) 932-5000
fax (714) 932-6498
bbs: (714) 753-1234
www-server: www.wdc.com
ftp-server: ftp.wdc.com
Western Systems
Ruislip, Middlesex, U.K.
phone ++44 (0)81 845 8383.
SCSI host adapters with cache
ΓòÉΓòÉΓòÉ 13.3.21. X-Z ΓòÉΓòÉΓòÉ
Xirlink
San Jose, CA.
phone (408) 453-1188
ShareWork SCSI and printer sharing system
Xyratex Limited
PO Box 6, Langstone Road, Havant PO9 1SA, U.K.
phone ++44 (0)1705 4863632
A former part of IBM's Storage System Division,
SSA, RAID systems, MO's
Yamaha Media Technology
Sherbourne Drive, Tilbrook, Milton Keynes MK7 8BL, U.K.
phone ++44 (0)1908 366700
fax ++44 (0)1908 368872
ΓòÉΓòÉΓòÉ 13.4. B.4. Data recovery services ΓòÉΓòÉΓòÉ
Although i don't have experience with data recovery companies, i collected
some addresses; just in case....
Most of those companies offer recovery from any type of media, including disks,
tapes, optical disks and others.
ibas Laboratorien
Arkoveien 14, Postfach 1250, N-2200 Kongsvinger, Norway
phone ++47 (0)62 810100
fax ++47 (0)62 810150
Germany: phone ++49 (0)821 576033 (Augsburg)
fax ++49 (0)821 594932
Ontrack Data Recovery
6321 Bury Drive, Minneapolis, MN 55346
phone (800) 872-2599, (612) 937-5161
fax (612) 937-5750
Tech. Support (612) 937-2121
www-server www.ontrack.com
UK: Surrey House, 34 Eden St., Kingston upon Thames,
Surrey KT1 1ER, United Kingdom
phone ++44 (0)181 974 5522
fax ++44 (0)181 974 5544
bbs ++44 (0)181 549 8993
Germany: phone 0130 815198 (only from Germany)
Although i don't have exact prices, i mostly heard figures of about DM 1.000,--
per disk, so this might serve as a guideline what to expect.
ΓòÉΓòÉΓòÉ 14. Appendix C. Termination ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ 14.1. C.1. Termination Diagrams ΓòÉΓòÉΓòÉ
Here are some termination diagrams about various configurations and their
neccessary termination.
Your host adapter may have a software-possibility to enable or disable
termination. In this case, of course, you don't need to remove the resistor
packs to disable termination.
Also, with external device termination, you could also terminate the last
external device internal, but that would limit your flexibility with them, so i
suggest having all external devices not terminated and attaching an external
active terminator to the last device's second connector.
Only internal devices:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼Γö¼Γö¼Γö¼Γö¼Γö¼ΓöÉ
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤Γö┤Γö┤Γö┤Γö┤Γö┤Γö┤ΓöÇΓöÉΓöîΓöÇΓöÇ
Γöé Γöé Γöé not Γöé Γöé ::::::: Γö£Γö╝ΓöÉ
Γöé Terminated Γöé Γöé terminated Γöé ΓöéTermination> ... ... ΓöéΓöéΓöé
Γöé Γöé Γöé Γöé ΓöéResistors > ... ΓöéΓöéΓöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé installed ΓöéΓöéΓöé
Γöé Γö£Γö╝Γöÿ
ΓööΓöÇΓöÉ ΓöîΓöÉ ΓöîΓöÿΓöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé
Only external devices:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉΓöîΓöÇΓöÇ
Γöé ::::::: Γö£Γö╝ΓöÉΓöÇΓöÉ
ΓöéTermination> ... ... ΓöéΓöéΓöéΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
ΓöéResistors > ... ΓöéΓöéΓöéΓöÇΓöñ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé installed ΓöéΓöéΓöéΓöÇΓöñ Γöé not Γöé ΓööΓöÇΓöñ Terminated Γöé
Γöé Γö£Γö╝ΓöÿΓöÇΓöÿ Γöé terminated Γöé Γöé through Γöé
ΓööΓöÇΓöÉ ΓöîΓöÉ ΓöîΓöÿΓöé Γöé Γöé ΓöîΓöÇΓöñ <---- Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
^^External
Terminator
Internal and external devices:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼Γö¼Γö¼Γö¼Γö¼Γö¼ΓöÉ
Γöé ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤Γö┤Γö┤Γö┤Γö┤Γö┤Γö┤ΓöÇΓöÉΓöîΓöÇΓöÇ
Γöé Γöé ::::::: Γö£Γö╝ΓöÉΓöÇΓöÉ
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé ΓöéTermination> ... ... ΓöéΓöéΓöéΓöÇΓö╝ΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé not Γöé Γöé ΓöéResistors > ... ΓöéΓöéΓöéΓöÇΓöñ Γöé Γöé not Γöé
Γöé terminated Γö£ΓöÇΓöñ Γöé removed ΓöéΓöéΓöéΓöÇΓöñ ΓööΓöÇΓöñ terminated Γöé
Γöé Γöé Γöé Γöé Γö£Γö╝ΓöÿΓöÇΓöÿ ΓöîΓöÇΓöñ Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé ΓööΓöÇΓöÉ ΓöîΓöÉ ΓöîΓöÿΓöé Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Γöé Γöé
Γöé Γöé
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ Γöé Γöé ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé Γöé Γöé Γöé Terminated Γöé
Γöé Terminated Γö£ΓöÇΓöÿ ΓööΓöÇΓöñ through Γöé
Γöé Γöé External ΓöîΓöÇΓöñ <---- Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ Terminator >ΓööΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓòÉΓòÉΓòÉ 14.2. C.2. How to identify a terminator ΓòÉΓòÉΓòÉ
If you get a terminator block from some device and no idea about what it is -
passive, active, FPT or whatever special variant of active terminators, a few
basic rules and an ohm-meter may be of some help.
As stated in 4.3.4., you can try to measure the resistance from a SCSI signal
line to any other signal line to detect the basic type of the terminator.
ΓòÉΓòÉΓòÉ 14.2.1. C.2.1. Passive Terminators ΓòÉΓòÉΓòÉ
If you remember the standard passive termination circuit, it is clear that we
get a rather complex resistor network for our calculation. But with only basic
electronic rules, it's easy.
In the terminator diagrams shown below, "#" means a resistor.
_______________________________
| | | | | | | | |
# # # # # # 18 Signals # # # each 220R
any signal-+ | | | | | ............. | | +-any signal
# # # # # # # # # each 330R
|_|_|_|_|_|_______________|_|_|
Let's draw this a bit different and we get the following diagram:
220R 220R
+--###--+--+-...-+--+--###--+ or +--###--+--###--+
| 220R | | | | 220R | | | |
--+ # # ... # # +-- --+ #34R4 +--
| 330R | | | | 330R | | | |
+--###--+--+-...-+--+--###--+ +--###--+--###--+
16*550R parallel 330R 330R
The basic formula for resistors in parallel is (R1*R2)/(R1+R2), or R1/n for
identical resistors, so 550/16 gives us 34.375 ohms
The left part of this network (including the parallel resistors) can be
converted by a rule called "Dreieck-Stern-Umwandlung" in german - translated
word-by-word "Triangle-Star-conversion" (i don't know the real english name for
it). Converted by this rule, we get the following:
+--###---###--+ The parallel resistors together
| 12R8 220R | are 139.7 ohms according to the
--###--+ +-- rule above, and together with
124R3 | 19R2 330R | 124.3 ohms give us 264 ohms from
+--###---###--+ any signal to any other signal.
So, you see, 264 ohms, if i didn't get my math totally wrong <g>
Another method i got from Gary Fields' SCSI FAQ is measuring TP to Ground; a
passive single ended terminator should give you a readout of 30.5 ohms, and a
passive differential terminator should read 45 ohms.
Active terminators will have much higher (or "overflow") readings, and if they
show a value at all, should have different readings for both polarities.
ΓòÉΓòÉΓòÉ 14.2.2. C.2.2. Active Terminators ΓòÉΓòÉΓòÉ
Detecting an active terminator by measuring resistance can be easy or
impossible - depending on the circuit.
If the recommended standard circuit is used, you will get a readout of 220 ohms
from any signal line to any other signal line. But alas, this won't work with
most of the newer single-chip-based designs - you may not get a reasonable
resistance value as long as if the terminator is not powered. So, if you check
a terminator and it is definitely not a passive one, and if you don't get 220
ohms, there are only some logical clues what it could be. Mainly these are only
two crude rules-of-thumb:
- if it has a LED, it is very likely an active terminator
- if you measure both directions of your chosen reference connection and
get different readings for the two possible directions, it is most likely
an active or FPT terminator.
Keep in mind that this may not always work. Active Terminators come in many
flavors now, and some chip-based variants can not be detected this way, for
the resistors are switched to the signal lines by driver transistors - if they
are not powered on, they simply will have high resistance.
ΓòÉΓòÉΓòÉ 14.2.3. C.2.3. Other termination circuits ΓòÉΓòÉΓòÉ
For FPT, i don't have any rule of thumb - i still don't know the exact circuit
diagrams for it, and without this, it's hard to calculate anything....<g>
ΓòÉΓòÉΓòÉ 15. Appendix D. SCSI and QIC - any relations ? ΓòÉΓòÉΓòÉ
Principally, the terms SCSI and QIC have (nearly) nothing to do with each
other. However, there are some contact points. QIC stands for "Quarter Inch
Committee" and originally meant a non-profit organization that was formed from
tape drive and tape cartridge vendors to get exchange standards for tapes.
The QIC committee and its members since then develop, approve and promote the
various QIC standards. The numbers are somewhat chaotic - they somewhat seem to
come out "by the numbers". QIC defines tape drive interfaces like SCSI,
Floppy-controller interfaces, QIC-02/36 and tape formats like QIC-40, 80, 150
... Let's try some cleaning up...
Tape drive interface standards:
QIC-02 : a somewhat "intelligent" hardware interface,
QIC-36 : basic hardware interface, simpler than QIC-02
QIC-104/11 : mainly describes SCSI-1 as tape interface
QIC-107 : Commands and timing for QIC-80 drives
QIC-117 : the "floppy tape" interface for QIC-80 streamers
QIC-121 : like QIC 104, but based on SCSI-2
A lot of the older QIC-02 interfaces are basically QIC-36 drives with an
additional QIC-02 bridge controller. Some of these bridge controllers can be
replaced with SCSI bridge controllers like the Emulex MT-02 or Adaptec
ACB-3530.
QIC tape formats:
QIC-ID Tape Storage Tracks Length
(MB) (FT.)
11 300XLP 45 4 450
24 DC600A 60 9 600
40 DC2000 40 20 205
DC2060 60 20 307.5
80 DC2080 80 32 205
DC2120 120 32 307.5
120 DC600A 125 15 600
150 DC6150 150 18 600
DC6250 250 18 1020
525 DC6320 320 24 600
DC6525 525 24 1000
1000 Magnus 9100 1000 32 ?
1350 9135 1350 36 ?
Most formats offer eXtended Length (XL) tapes that give higher capacity, for
example the 250MB DC6250 tapes for QIC-150 drives. Also, there is a nuisance
in the industry to call the QIC-80 tapes with XL tapes (120MB) "250 MB" tapes.
This works only with the compression built into the backup _software_.
Keep this in mind if you compare tape drives with different technologies. The
only company I know that uses a similar approach is Colorado with their
PowerTape drives. They can compared by basically halving their capacity and
look for the nearest capacity standard.
QIC has become a company (Quarter Inch Compatibility, Inc), that still
defines and certifies tape standards. Now, the members are 3M, Sony, Gigatek,
HP, Conner, Colorado Memory Systems, IOMega, Wangtek and Tandberg (..hope i
didn't forget someone...).
However, since they are a company, the "introduction rate" of new, mostly
mini-cartridge-based tape formats and standards is inflationary. Lots of new
formats came up, some of these new tape drives can even read QIC-80 tapes, but
most are not upward compatible. Of course, these standards are incompatible
with each other, so that you can be sure that half of these standards will
become obsolete in their first years - seems that the lession is "If it's
business - forget the standards". But we'll see - it's our responsibility to
buy what we feel should survive and keep away from the other systems.
Some of the new advertised Mini-standards are:
name/format capacity can read
QIC-3010 255/340 MB QIC-40/80
QIC-3020 500/680 MB QIC-40/80/3010
QIC-3040 840 MB
QIC-3080 2000 MB
QIC-555M 555 MB ---
QIC-875M 875 MB QIC-40/80/555M
QIC-3GB(M) 3000 MB QIC-555M
Usually, the QIC-3010 tape drives are advertised as "700 MB" - the calculation
is bullsh*t, as usual: 340 MB with an XL tape, multiplied with 2.0 as assumed
compression factor, "slightly" (20MB) rounded up and you get 700 MB.
If it is called "850something", like the Conner TapeStor 850, it is likely
modified for QIC-Wide tapes - basically an 8mm tape with room for a few tracks
more in the usual cartridge shell. Backup speed is identical to the old QIC-80
drives - means 500 kBit/sec with usual floppy hardware, 1000 kBit/sec with a
2.88 MB or tape controller. This may be enough for the usual home or office
backup at night, but keep in mind that formatting a tape now needs 2 hours 39
minutes with a 2.88 MB adapter - twice this at a 1.44 MB floppy controller.
So, better insist on formatted cartridges <g>
QIC-3020 is faster (up to 2 MBit/sec) and has higher capacity, but i'm not
aware of any drive that is in the market yet - the Exabyte EXB-1400 is
announced, but i don't know anyone with it.
QIC-3040 is defined with 840 MByte uncompressed capacity. Actually, the only
3040 drive i know is Tandberg's Mini Panther drive - with SCSI interface, as
usual with Tandberg.
QIC-3080 has 2 GByte uncompressed capacity and is already in the market -
Conners TSM-4000 is the first example for those drives. QIC-3080 comes in SCSI
and in ATAPI drives, both giving adequate performance. However, at the moment
it seems to be a bit difficult to find a backup software working with the
ATAPI tape.
Travan is another new label initiated by 3M, Sony, HP, Conner and IOMega.
The Travan concept basically consists of new tape cartridges, along with
slightly modified QIC-80/30xx drives to use the new, slightly wider cartridge.
To be more attractive, a Travan tape drive can read QIC and QIC-Wide
cartridges. 3M states the possibility to connect the Travan tapes to the
floppy interface as an advantage of Travan, so i would expect drives with SCSI
and ATAPI interfaces for the professional market later - it simply doesn't
make sense to save gigabytes over a floppy interface.
The planned formats are:
TR-1, with 400 MByte capacity, based on QIC-80 drives,
TR-2, a modified QIC-3010 system with 800 MByte capacity,
TR-3, 1.6 GByte capacity with a modified QIC-3020 drive, and
TR-4, with 4 GByte uncompressed capacity.
Travan TR-1, TR-2 and TR-3 cartridges are "available", so to speak, but don't
expect them at your nearest small computer dealer.
If you have more than the usual trouble in finding them, the bigger material
suppliers of like Inmac and Misco might be worth a try.
The main reason for reaching higher capacities with standard magnetic concepts
is the longer and wider tape. Travan uses 8 mm tapes as QIC-Wide, and uses
tape lengths from 750 feet up, while "standard" QIC tapes are usually under
400 feet long.
So, to sum it up, Travan is only a slightly modified QIC-80 or QIC-30xx
system.
ΓòÉΓòÉΓòÉ 16. Appendix E. SCSI Programming - and where to find information ΓòÉΓòÉΓòÉ
Under DOS, there are basically two programming interfaces for SCSI: ASPI and
CAM.
Depending on the software interface, programming is different - the software
interfaces are either very complex (CAM) or have only a few basic calls (ASPI).
Every approach has its drawbacks and its virtues - ASPI is easy to implement in
a library, but really using ASPI on its low level is a mess when it comes to
programming real device operations.
CAM on the other side is harder to learn, for it has much more calls and basic
operations, but most of those calls are on a higher level - you don't need to
fumble the complete CDB (Command Descriptor Block) together for every basic
SCSI command - it might be more productive in a longer-time view. However, if
you search for info about ASPI, it is easier to find, as ASPI is far more
widespread - although this may change in the future.
At the moment, i should concentrate on MS-DOS code for the SCSI software
interfaces. Windows either bypasses standard ASPI and CAM calls as DOS
interrupt calls or - with WinASPI - has a similar interface that is
vendor-specific (at least WinASPI seems to be supported only by Adaptec at the
moment).
OS/2 has a defined SCSI programming model, but also offers an optional ASPI for
OS/2 layer over its own SCSI device model. With OS/2 3.0, a "Virtual ASPI"
layer for the included DOS and Windows environments was added that allows the
usage of DOS and Windows 3.x applications for ASPI. Windows 95 uses the
Miniport driver model derived from NT.
ΓòÉΓòÉΓòÉ 16.1. E.1. ASPI programming ΓòÉΓòÉΓòÉ
ASPI for DOS is basically an INT 21h interface. The interrupt 21h is DOS'
multifunction interrupt, so it was the obvious choice for including the ASPI
call interface here. ASPI is a rather simple interface - it has only seven
basic commands, which can be used to send all SCSI commands to devices.
ASPI information is available mostly from Adaptec. The text- only ASPI spec
documents are available from Adaptec's CIS forum and from their servers
ftp.adaptec.com or www.adaptec.com). Adaptec also has a developer program
called ACAP. Information about ACAP is available via a Fax-poll at ++1 (408)
957-7150. Request documents nr. 12010, 12020, 12030 .... 12070
The german c't magazine has a rather good DOS ASPI library for Assembler, C and
Pascal. It is available from the GERNET forum on CIS or from the c't BBS (see
App. B.)
If you want to dig deeper into ASPI for Windows development, it seems to be a
good idea to spend $150 for Adaptec's ASPI developer kit with various sources,
tools, and lots of information. Actually, Adaptec has an ASPI toolkit for Win32
in the works, that should give better performance than the actual 16-bit
version. For some time, the beta release is available on Adaptec's BBS in a
special beta section.
There are some ASPI-based tools available as source code, namely ASBENCH by
TsuruZoh Tachibanaya and SCSILOOK by Brian Sawert. They are available from
Compuserve (i'll check it again and, if i don't find them, upload it to the PC
Hardware forum)
ΓòÉΓòÉΓòÉ 16.2. E.2. CAM programming ΓòÉΓòÉΓòÉ
CAM is much different from ASPI - not only is it far more complex than ASPI at
first sight, it is also implemented in a different way - CAM isn't integrated
in some other interrupt, but uses an own interrupt.
Originally, CAM was implemented at INT 4B, but after release 1.9 this was
changed to INT 4F - mainly to avoid interference with IBM's own SCSI interface
variant (also CAM/Future Domain - based) and the VDS (Virtual DMA Services)
interface.
The CAM programming interface is described, as you would expect, in the CAM
specification - actually only a working draft. It is available from the SCSI
BBS and the latest version i have seen is Release 6. It has a large part about
programming at the end, but it is a bit hard to read....
ΓòÉΓòÉΓòÉ 16.3. E.3. other DOS SCSI interfaces ΓòÉΓòÉΓòÉ
There are also some other software interfaces for accessing SCSI devices, but
none of them has any market importance now - most are simply old interfaces
that became obsolete by ASPI and CAM, or proprietary drivers for specific
devices.
This includes, for example, Columbia Data Products' Standard Device Level
Protocol (SDLP) that was used with the WD7000 FASST host adapters, SCSI BIOS
variants from several vendors like Future Domain and Seagate that allowed
direct sending of SCSI commands, Syquest's and IOMega's removeable disk drivers
and other similar interfaces. As the proprietary interfaces can change anytime,
if you need one of those, your only choice is to get the vendor's programming
information - if any is available.
Another valuable source of information is Ralph Brown's interrupt list that is
supplied by most BBSes and CompuServe. Also, the interrupt list is offered as
bound book:
PC Interrupts:
A Programmer's Reference to BIOS, DOS,
and Third-Party Calls (second edition)
Ralf Brown and Jim Kyle
1210 pages
Addison-Wesley
ISBN 0-201-62485-0
$39.95
I found it very convenient to have a book instead of 4 Megabytes of text files,
but look for the version of the electronic list - the book naturally is based
on a much older version, so keep both handy.
ΓòÉΓòÉΓòÉ 16.4. E.4. Device information ΓòÉΓòÉΓòÉ
If you want information about devices and their SCSI command set, in most cases
you have to buy the manufacturer's OEM manual for the device - usually for
about $100+. One noticeable exception is Seagate - they maintain a PDF version
about the SCSI interface definition of their actual drives in Seagate's
CompuServe Forum.
SCSI host adapter manufacturers of course do have lots of information about the
manufacturer-specific command sets, but sadly these usually are under a
non-disclosure agreement. So, it usually isn't possible to get such
device-specific information from, for example, Adaptec or Future Domain.
If you have any device command information in electronic form that you're
allowed to give away, please post it somewhere - for me <g> preferrably on
CompuServe.
ΓòÉΓòÉΓòÉ 17. Appendix F. SCSI commands and Sense Codes ΓòÉΓòÉΓòÉ
Sometimes, if you try to access, format or verify a drive, you get error codes
from the formatting program or BIOS - usually including the command that was
sent to the device.
For example, Ian Sweeney tried a "Verify Disk Media" and got the following
message:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Target SCSI ID: 6 SCSI CDB Sent: 25 00 00 00 00 00 00 00 00 00 Γöé
Γöé Γöé
Γöé Host Adapter Status: 00h - No host adapter error Γöé
Γöé Γöé
Γöé Target Status: 02h - Check condition Γöé
Γöé Γöé
Γöé Sense Key: 0Bh Γöé
Γöé Γöé
Γöé +Sense Code: 47h Γöé
Γöé Γöé
Γöé +Sense Code Qualifier: 00h Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Now, the codes alone aren't very helpful if you don't have a reference handy -
that's where i try to jump in <g>. I won't list command parameters or explain
SCSI commands here, but in many cases you can obtain a direction where to
search from the command that was issued and the error it creates.
The case above means the host adapter sent a "Read capacity" command and got
back a "Check Condition" status byte - basically an error message. When the
host adapter requested precise error information via a REQUEST SENSE command,
he got back a Sense Key 0Bh (Command aborted) and the Sense Code 47h (SCSI
parity error), together with the Extended Sense Code 00h - in this case just a
null byte to fill the sense data.
So, this points to a potential parity problem - meaning the bus cable, the
parity generator on the device, the parity settings of the device and the host
adapter and possibly bad contact on a jumper related to parity. Of course, that
means anything, but at least it gives a direction to start searching.
To make this more clear - the host adapter issues a command and gets back a
status. If this status isn't GOOD (00h), it has to issue a REQUEST SENSE
command _immediately_ afterwards to ensure it gets the right sense data, not
the - likely different - ones of a following command.
As result of REQUEST SENSE, the hostadapter gets back up to 255 Bytes of sense
data, where the first 17 bytes are mandatory and all other bytes are optional -
so-called "additional sense bytes". Those first 17 Bytes contain - with other
information - the Error code, Sense key and Sense codes.
The error code is simple - 70h means the error occurred at the actual command,
while 71 means it came from an earlier command, for example, if a buffered
write command couldn't be executed successfully.
Now, let's list the various codes, starting with the SCSI Commands ....
ΓòÉΓòÉΓòÉ 17.1. F.1. SCSI commands ΓòÉΓòÉΓòÉ
In the commands list, keep in mind that a command can have multiple meanings,
depending on the device classes.
For example, 1Bh means "START/STOP UNIT" for disk drives, "LOAD/UNLOAD" for
tape drives, "STOP PRINT" for SCSI printers and "SCAN" for scanners - similar
meanings, if applied to the type of device, but slightly confusing if you get a
list containing all meanings. So, i mostly concentrate on disk commands here,
unless stated otherwise. Commands not listed are either not defined, valid for
specific non-disk classes only, or totally manufacturer specific - without even
a name.
On a second thought, i included the CDROM-specific commands from 42 to 4B and
from A5 to B3
SCSI commands:
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
00 TEST UNIT READY mandatory
01 REZERO UNIT or REWIND optional
03 REQUEST SENSE mandatory
04 FORMAT UNIT mandatory
05 READ BLOCK LIMITS -- manufacturer specific
for tape drives mandatory
06 -- manufacturer specific
07 REASSIGN BLOCKS optional
08 READ (06) optional
09 -- manufacturer specific
0A WRITE (06), PRINT for printers optional
for tape drives mandatory
0B SEEK (06) optional
0F READ REVERSE -- manufacturer specific
10 WRITE FILEMARKS optional
for tape drives mandatory
11 SPACE optional
12 INQUIRY mandatory
13 VERIFY (06) -- manufacturer specific
14 RECOVER BUFFERED DATA -- manufacturer specific
15 MODE SELECT (06) optional
16 RESERVE or RESERVE UNIT mandatory
17 RELEASE or RELEASE UNIT mandatory
18 COPY optional
19 ERASE optional
for tape drives mandatory
1A MODE SENSE (06) optional
for tape drives mandatory
1B START/STOP UNIT optional
1C RECEIVE DIAGNOSTIC RESULTS optional
1D SEND DIAGNOSTICS mandatory
1E PREVENT/ALLOW MEDIUM REMOVAL optional
24 SET WINDOW -- manufacturer specific
for scanners mandatory
25 READ CAPACITY mandatory
28 READ (10) mandatory
29 READ GENERATION -- manufacturer specific
2A WRITE (10) mandatory
2B SEEK (10) optional
2C ERASE (10) -- manufacturer specific
2D READ UPDATED BLOCK -- manufacturer specific
SCSI commands by opcode:
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
2E WRITE AND VERIFY (10) optional
2F VERIFY (10) optional
30 SEARCH DATA HIGH (10) optional
31 SEARCH DATA EQUAL (10) optional
32 SEARCH DATA LOW (10) optional
33 SET LIMITS (10) optional
34 PRE-FETCH optional
35 SYNCHRONIZE CACHE optional
36 LOCK UNLOCK CACHE optional
37 READ DEFECT DATA (10) optional
39 COMPARE optional
3A COPY AND VERIFY optional
3B WRITE BUFFER optional
3C READ BUFFER optional
3E READ LONG optional
3F WRITE LONG optional
40 CHANGE DEFINITION optional
41 WRITE SAME optional
42 READ SUB CHANNEL CDROM only, optional
43 READ TOC CDROM only, optional
44 READ HEADER CDROM only, optional
45 PLAY AUDIO (10) CDROM only, optional
47 PLAY AUDIO MSF CDROM only, optional
48 PLAY AUDIO TRACK INDEX CDROM only, optional
49 PLAY TRACK RELATIVE (10) CDROM only, optional
4B PAUSE / RESUME CDROM only, optional
4C LOG SELECT optional
4D LOG SENSE optional
55 MODE SELECT (10) optional
5A MODE SENSE (10) optional
A5 PLAY AUDIO (12) CDROM only, optional
A8 READ (12) CDROM only, optional
A9 PLAY TRACK RELATIVE (12) CDROM only, optional
AF VERIFY (12) CDROM only, optional
B0 SEARCH DATA HIGH (12) CDROM only, optional
B1 SEARCH DATA EQUAL (12) CDROM only, optional
B2 SEARCH DATA LOW (12) CDROM only, optional
B3 SET LIMITS (12) CDROM only, optional
ΓòÉΓòÉΓòÉ 17.2. F.2. SCSI Status Bytes ΓòÉΓòÉΓòÉ
SCSI Status Bytes
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
00 Good The command was completed successfully.
02 Check Condition The command couldn't be completed
successfully. Now, a REQUEST SENSE
command should be used to get more
precise information.
04 Condition Met Used by various commands, for example
SEARCH DATA, to report a positive result.
08 Busy The device is busy and couldn't accept
the command.
10 Intermediate GOOD status, but in a command chain.
14 Intermediate as 04, a positive result, but in a
Condition Met command chain.
18 Reservation At the moment, the requested LUN is
Conflict reserved for another SCSI device
- basically means "try later!"
22 Command The target stopped the command with a
Terminated TERMINATE I/O PROCESS message.
28 Queue Full The command should have been entered
in a command queue, but this queue
was full.
What you will get usually are 00, 02, and 08. The other codes aren't likely to
occur in a DOS environment, but who knows...
ΓòÉΓòÉΓòÉ 17.3. F.3. SCSI Sense Keys ΓòÉΓòÉΓòÉ
The sense key is a basic error code. Depending on the sense key, it is
neccessary to check the sense codes also to get information about the real
error
SCSI Sense Keys
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
0 No Sense No sense data are available. This means mostly
a successful command (besides some special
cases).
1 Recovered The last command executed successfully, but
Error the target needed an error correction task
2 Not Ready The addressed unit couldn't be accessed. It
might need spin-up time or operator attention
or the like...
3 Medium The command terminated with a nonrecoverable
Error error due to a medium flaw or data error.
Also, this could be used instead of "Hardware
Error" (key 4).
4 Hardware The target detected a hardware failure. This
Error could be a hardware error or a parity error.
5 Illegal The command contained an illegal parameter
Request somewhere in the command descriptor block or
in the additional parameters.
6 Unit Usually, Unit Attention indicates that a
Attention device was reset by some reasons - bus reset,
or a media change, or a change in the mode
parameters.
7 Data If a read or write operation is issued for a
Protect protected block, it is not performed and the
target indicates this by a "Data Protect" key.
8 Blank Either a medium was blank on a read operation
Check where it should contain data, or a write-once
device tried to write a non-blank sector.
9 Vendor In this sense key the device can give back
specific vendor-specific information.
A Copy Indicates that a COPY, COMPARE or COPY/VERIFY
Aborted was aborted due to an error condition from one
of the involved devices.
B Aborted The target aborted the command. Usually the
Command initiator tries to repeat the command until it
can be completed or a more precise error
condition occurs.
C Equal Equal indicates a satisfactory comparison in a
SEARCH DATA command.
D Volume Indicates that a buffered device has reached
Overflow the end of the volume or partition and
unwritten data are in the buffer. The
Initiator can get the unwritten data via a
RECOVER BUFFERED DATA command.
E Miscompare indicates that the source data did not match
the data read from the medium.
F Reserved
ΓòÉΓòÉΓòÉ 17.4. F.4. SCSI Sense Codes ΓòÉΓòÉΓòÉ
The sense codes contain the more precise information about the error. There's a
bit of confusion in the naming - the spec officially calls the Additional Sense
Code (ASQ) and Additional Sense Code Qualifier (ASCQ), but in "real life" the
terms "Sense Code" and "Extended Sense Code" are mostly used.
The following list is complete according to the SCSI-2 spec. Some codes are not
defined in the spec, so i didn't list them.
ASC ASCQ DESCRIPTION
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
00 00 no additional sense information
00 01 filemark detected
00 02 end-of-partition/medium detected
00 03 setmark detected
00 04 beginning-of-partition/medium detected
00 05 end-of-data detected
00 06 i/o process terminated
00 11 audio play operation in progress
00 12 audio play operation paused
00 13 audio play operation successfully completed
00 14 audio play operation stopped due to error
00 15 no current audio status to return
01 00 no index/sector signal
02 00 no seek complete
03 00 peripheral device write fault
03 01 no write current
03 02 excessive write errors
04 00 logical unit not ready, cause not reportable
04 01 logical unit is in process of becoming ready
04 02 logical unit not ready, init. command required
04 03 logical unit not ready, intervention required
04 04 logical unit not ready, format in progress
05 00 logical unit does not respond to selection
06 00 reference position not found
07 00 multiple peripheral devices selected
08 00 logical unit communication failure
08 01 logical unit communication time-out
08 02 logical unit communication parity error
09 00 track following error
09 01 tracking servo failure
09 02 focus servo failure
09 03 spindle servo failure
0A 00 error log overflow
0C 00 write error
0C 01 write error recovered with auto reallocation
0C 02 write error - auto reallocation failed
10 00 id crc or ecc error
11 00 unrecovered read error
11 01 read retries exhausted
11 02 error too long to correct
11 03 multiple read errors
ASC ASCQ DESCRIPTION
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
11 04 unrecovered read error - auto reallocate failed
11 05 l-ec uncorrectable error
11 06 circ unrecovered error
11 07 data resynchronization error
11 08 incomplete block read
11 09 no gap found
11 0A miscorrected error
11 0B unrecovered read error - recommend reassignment
11 0C unrecovered read error - recommend rewrite data
12 00 address mark not found for id field
13 00 address mark not found for data field
14 00 recorded entity not found
14 01 record not found
14 02 filemark or setmark not found
14 03 end-of-data not found
14 04 block sequence error
15 00 random positioning error
15 01 mechanical positioning error
15 02 positioning error detected by read of medium
16 00 data synchronization mark error
17 00 recovered data with no error correction applied
17 01 recovered data with retries
17 02 recovered data with positive head offset
17 03 recovered data with negative head offset
17 04 recovered data with retries and/or circ applied
17 05 recovered data using previous sector id
17 06 recovered data without ecc - data auto-reallocated
17 07 recovered data without ecc - recommend reassignment
17 08 recovered data without ecc - recommend rewrite
18 00 recovered data with error correction applied
18 01 recovered data with error correction & retries applied
18 02 recovered data - data auto-reallocated
18 03 recovered data with circ
18 04 recovered data with lec
18 05 recovered data - recommend reassignment
18 06 recovered data - recommend rewrite
19 00 defect list error
19 01 defect list not available
19 02 defect list error in primary list
19 03 defect list error in grown list
1A 00 parameter list length error
1B 00 synchronous data transfer error
1C 00 defect list not found
1C 01 primary defect list not found
1C 02 grown defect list not found
1D 00 miscompare during verify operation
1E 00 recovered id with ecc
20 00 invalid command operation code
21 00 logical block address out of range
21 01 invalid element address
22 00 illegal function (should use 20 00, 24 00, or 26 00)
24 00 invalid field in cdb
25 00 logical unit not supported
26 00 invalid field in parameter list
26 01 parameter not supported
26 02 parameter value invalid
26 03 threshold parameters not supported
ASC ASCQ DESCRIPTION
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
27 00 write protected
28 00 not ready to ready transition(medium may have changed)
28 01 import or export element accessed
29 00 power on, reset, or bus device reset occurred
2A 00 parameters changed
2A 01 mode parameters changed
2A 02 log parameters changed
2B 00 copy cannot execute since host cannot disconnect
2C 00 command sequence error
2C 01 too many windows specified
2C 02 invalid combination of windows specified
2D 00 overwrite error on update in place
2F 00 command(s) cleared by another initiator
30 00 incompatible medium installed
30 01 cannot read medium - unknown format
30 02 cannot read medium - incompatible format
30 03 cleaning cartridge installed
31 00 medium format corrupted
31 01 format command failed
32 00 no defect spare location available
32 01 defect list update failure
33 00 tape length error
36 00 ribbon, ink, or toner failure
37 00 rounded parameter
39 00 saving parameters not supported
3A 00 medium not present
3B 00 sequential positioning error
3B 01 tape position error at beginning-of-medium
3B 02 tape position error at end-of-medium
3B 03 tape or electronic vertical forms unit not ready
3B 04 slew failure
3B 05 paper jam
3B 06 failed to sense top-of-form
3B 07 failed to sense bottom-of-form
3B 08 reposition error
3B 09 read past end of medium
3B 0A read past beginning of medium
3B 0B position past end of medium
3B 0C position past beginning of medium
3B 0D medium destination element full
3B 0E medium source element empty
3D 00 invalid bits in identify message
3E 00 logical unit has not self-configured yet
3F 00 target operating conditions have changed
3F 01 microcode has been changed
3F 02 changed operating definition
3F 03 inquiry data has changed
40 00 ram failure (should use 40 nn)
40 NN diagnostic failure on component nn (80h-ffh)
41 00 data path failure (should use 40 nn)
42 00 power-on or self-test failure (should use 40 nn)
43 00 message error
44 00 internal target failure
45 00 select or reselect failure
46 00 unsuccessful soft reset
ASC ASCQ DESCRIPTION
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
47 00 scsi parity error
48 00 initiator detected error message received
49 00 invalid message error
4A 00 command phase error
4B 00 data phase error
4C 00 logical unit failed self-configuration
4E 00 overlapped commands attempted
50 00 write append error
50 01 write append position error
50 02 position error related to timing
51 00 erase failure
52 00 cartridge fault
53 00 media load or eject failed
53 01 unload tape failure
53 02 medium removal prevented
54 00 scsi to host system interface failure
55 00 system resource failure
57 00 unable to recover table-of-contents
58 00 generation does not exist
59 00 updated block read
5A 00 operator request or state change input (unspecified)
5A 01 operator medium removal request
5A 02 operator selected write protect
5A 03 operator selected write permit
5B 00 log exception
5B 01 threshold condition met
5B 02 log counter at maximum
5B 03 log list codes exhausted
5C 00 rpl status change
5C 01 spindles synchronized
5C 02 spindles not synchronized
60 00 lamp failure
61 00 video acquisition error
61 01 unable to acquire video
61 02 out of focus
62 00 scan head positioning error
63 00 end of user area encountered on this track
64 00 illegal mode for this track
80 xxh \
through > Vendor-specific.
FF xxh /
xxh 80 \
through > Vendor-specific QUALIFICATION OF STANDARD ASC.
xxh FF /
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Please keep in mind that NCR sold its Microelectronic Products Division to the
Korean Hyundai group. Hyundai seems to keep the MPD intact under the new
Company name Symbios Logic Inc. So, NCR access numbers may change over