GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


archive:computers:scsidefs
                              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 would serve to give people a 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 have to understand it all to use SCSI. Most installations of 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 will be a companion file to this one which will give you the easy way to install SCSI devices. 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 involvement in it's creation. (It's just that Skip - who wrote this introduction - and i have experience mostly with Adaptec's host adapters -Gerhard) Adaptec is the world's leader in SCSI hardware and SCSI software, and their products are more widely used and better known than other brands. There are also quite a few CIS members who are Adaptec gurus, due to experience with Adaptec's 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 make real errors, but - unlike SCSI-1 and SCSI-2 - the SCSI-3 spec consists of various parts that are interlocked to each other and are still "subject to change". I'll keep an eye on it and update this over time. The 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 them all. However, they are big and - in their naming scheme - somewhat hard to find.

Gerhard Islinger CIS: ID 100023,3537 Internet: 100023.3537@compuserve.com Also, it seems there has to be a 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.

History: Rel. 0.8 Initial release on CIS. Rel. 0.9 Entered drivers for DOS and OS/2.

              Moved the connectors to App. A.

Rel. 0.91 68pin and 110pin connectors/ Disconnect / SCSI-ATAPI /

              Dal Allen's article / added SDMS description / BBS #

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.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.94 Minor changes contributed by Skip Lutz.

              No content changes
              Rewrote introduction

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>

Still neccessary: - SCSI troubleshooting "cookbook" - PnP, SCAM and some ongoing protocols - whatever you may find missing …

CREDITS: - Skip Lutz

  1. Bertil Hagnell and Todd Plummer for questions that led

to new chapters

  1. Mike Berhan, Paul Blais, Jake Brown, Jay Ice, Paul Matteucci

and some others that always give advice in IBMHW and CDVEN.

  1. 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
      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
                              TABLE OF CONTENTS

1. What is SCSI ? 1.1. SCSI-1 1.2. SCSI-2 1.2.1. Fast SCSI 1.2.2. Wide SCSI 1.3. SCSI-3 1.3.1. Fiber Channel 1.3.2. Serial Channel

2. Inside the Basics 2.1. ID's and LUNs 2.2. Termination 2.2.1. "Classic" Passive Termination 2.2.2. Active Termination 2.2.3. Forced Perfect Termination (FPT) 2.3. Connectors 2.4. Cables, Cable Lengths, Repeaters 2.5. Signal levels 2.6. Single-Ended and Differential SCSI 2.7. Synchronous and Asynchronous Transfers 2.8. Disconnect/Reconnect 2.9. SCSI or IDE/ATAPI ? 2.10. Speed Considerations

3. SCSI and PC's 3.1. Software Interfaces 3.1.1. ASPI 3.1.2. CAM 3.1.3. SDMS 3.1.4. LADDR 3.2. Host Adapters 3.2.1. BIOS 3.2.2. Bus Mastering 3.2.3. Caching Host Adapters 3.2.4. Sound Cards with SCSI 3.2.5. Disk-Only SCSI Host Adapters 3.2.6. ISA, EISA, VL and PCI 3.2.7. PCMCIA and Parallel-to-SCSI adapters

4. SCSI and Real Life … 4.1. Installing a SCSI Host Adapter 4.2. Installing SCSI Devices 4.2.1. Setting Proper Termination 4.2.2. Finding out and setting the SCSI ID of a new device 4.3. What can be Wrong? 4.3.1. Cabling with "Standard" SCSI 4.3.2. Cabling with Fast SCSI 4.3.3. Termination and Termination Power 4.4. SCSI drivers on PCs 4.4.1. SCSI drivers for DOS 4.4.2. CAM drivers for DOS 4.4.3. SCSI drivers for OS/2 5. SCSI Driver Software (and where to find it) 5.1. Driver Packages 5.1.1. CDROM Drivers and Software 5.1.2. Scanner Drivers and Software 5.1.3. Removeable and Magneto-Optical Devices. 5.2. Some Small SCSI Tools 5.3. Tape Software ( Shareware Only) 5.4. Programming for SCSI

6. Some thoughts about SCSI devices (and other interfaces) 6.1. Hard disk drives 6.1.1. RAID drive arrays 6.2. Removeable disk and Magneto-Optical drives 6.3. CDROM drives 6.4. Jukeboxes and other media changer devices 6.5. Tape drives 6.6. Scanners

APPENDICES:

A. SCSI Connectors A.1. 25 pin DB-25 SCSI Connector A.2. 50 pin SCSI Connectors A.3. 68 pin SCSI Connectors A.4. 110 pin SCSI Connector ("L"-cable) A.5. Other SCSI Connectors

B. Some Places to Obtain SCSI Information

              Support BBS Numbers

C. Termination Diagrams

D. SCSI and QIC - Any Relations ?

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 beacme 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 it's 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 even some SCSI-based video and network
      adapters.

1.1. SCSI-1

      SCSI-1 defined a universal 8 bit I/O-Bus that allows 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.

1.2. SCSI-2

      SCSI-1 was the first approved standard and lacked some points
      and some definitions. So SCSI-2 development and approval started
      while SCSI-1 still wasn't officially approved. In 1986, when
      SCSI-1 was officially approved, SCSI-2 already was in the works
      until now, when on January 31, 1994, the draft in revision 10L
      was approved by the ANSI Board of Standards Review.
      The official SCSI-2 designation (doc. nr.) will be 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
      - OPTIONS.
  1. The Type-1 connector (DB-50) was removed, high density SCSI-2

connector alternatives were added to the official options

  1. Synchronous Transfers became a standard feature, with optional
  2. Fast Synchronous Transfer Mode (Fast SCSI-2)
  3. Sync. Negotiation can be invoked by Initiator _and_ Target.
  4. 16Bit- and 32Bit-Wide SCSI became a defined option.
  5. SCSI bus parity changed from "optional" to "mandatory"
  6. Initiators now must provide terminator power
  7. Message support became mandatory
  8. 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,
        that can be manipulated through the Mode Sense Pages.
      - the Common Command Sets (CCS) for several device classes
        became formally defined.
      The only real possible problem I found with SCSI-2 compatibility
      is, a lot of 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.

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 passive
      terminators. However, if you keep an eye on cable quality, I
      found it working reliable on my system and most others I know.

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.
      Every 8 bits have their own parity bit and also with every 8 bits
      you have the possibility to address another 8 devices. For every
      data bit line selects a device, with 16 Bit Wide SCSI, you can
      address 16 devices, 32 Bit Wide SCSI has 32 possible ID's.
      The X3T9.2 committee defined a 68-pin SCSI cable for 16Bit and
      a combination of a standard 8Bit 'A' and a 68 pin 'B' cable for
      16 Bit and 32 Bit Wide SCSI. However, 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 SCSI-3.

1.3. SCSI-3

      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: Fiber Channel,
      Fiber Channel Low cost and P1394.
      On the software side, there seem to be only some small additions
      for 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-1 or -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 suppier 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!
      The Fiber channel and FC/LC should provide up to 100 MBits/sec
      data throughput, where P1394, also called "FireWire", is defined
      to give up to 200 MBits/sec. P1394 seems to have one advantage
      over Fiber Channel - it's an "isochronous" transport layer, that
      means, it delivers - and should guarantee - a continuous data
      stream. This seems to be what the multimedia people pray for
      - no missing parts in images and sounds.
      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.
      Also new in this game are SCAM, a SCSI auto-configuration
      protocol, and Plug-and-Play-SCSI, the SCSI part of Plug-and-Play.
      I'll dig inside this and then will add some chapters about...

2. Inside the Basics

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.

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.

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 works good, but it draws a lot of power
      from the TP provider.

2.2.2. Active Termination

      Active termination ("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 support this
      termination type.
      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ TermPWR
      ³
      ³                                     R3
      ³                                 ÚÄÄ\/\/\/ÄÄÄ -DB(0)
      ³                                 ³              .
      ³                                 .              .
      ³   Voltage Regulator             .              .
      ³   ÚÄÄÄÄÄÄÄÄÄ¿                   ÃÄÄ\/\/\/ÄÄÄ   .
      ÃÄÄÄ´ 2.85 V  ÃÄÄÂÄÄÄÂÄÄÄÄÂÄÄÄÄÄÄÄ´              .
      ³   ÀÄÄÄÄÄÂÄÄÄÙ ÚÁ¿R1³    ³       ÃÄÄ\/\/\/ÄÄÄ   .
      ³         ³     ³ ³  ØC2  ØC3     ³              .
      ØC1       ³     ÀÂÙ  ³    ³       ÃÄÄ\/\/\/ÄÄÄ   .
      ³         ÀÄÄÄÄÄÄ´   ³    ³       ³              .
      ³               ÚÁ¿  ³    ³       ÀÄÄ\/\/\/ÄÄÄ   -I/O
      ³               ³ ³R2³    ³           R20
      ³               ÀÂÙ  ³    ³
     ÄÁÄ              ÄÁÄ ÄÁÄ  ÄÁÄ

2.2.3. Forced Perfect Termination (FPT)

      There is another Termination scheme out there, called FPT.
      According to what I  understand, 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 its concept, FPT should be even better than "normal"
      active termination.
      I have no real FPT circuit, as I have never seen a FPT terminator,
      but the rough schematic below should be basically right.
      TP ÄÄÄ¿Voltage Regulator
          ÚÄÁÄÄÄ¿
          ³ VR1 ³
          ÀÄÂÄÄÄÙ
     about  ³   ÚÄÄÄÄÄ¿           + 3 V
     3.6 V ?ÃÄÄÄ´ VR2 ÃÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄ
            ³   ÀÄÄÄÄÄÙ         -+-
            ³                   /_\ D1
            ³                    ³
            ³        pull-up     ³
            ÃÄÄÄÄÄÄÄÄ/\/\/\ÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Signal
            ³        resistor    ³
            ³                   -+-
            ³                   /_\ D2
            ³   ÚÄÄÄÄÄ¿          ³
            ÀÄÄÄ´ VR3 ÃÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄ
                ÀÄÄÄÄÄÙ          + 1.2 V

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.

2.4. Cables, Cable Lengths, Repeaters

      Cable lenghts were defined up to 6 meters maximum in SCSI-1 for
      a single-ended SCSI bus and up to 5 MHz data rate. So, the
      variants
  1. "standard" asynchronous transfer (mostly up to 3.3 MBytes/sec)
    1. and-
  2. "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.
      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.
      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 wire-pair 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 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...

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 conforms to the EIA RS-485 interface.

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!) single ended TTL trans-
      ceivers 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).

2.7. Synchronous and Asynchronous Transfers

      SCSI can use two handshaking modes, Asynchronous and Synchronous.
      The main difference is, Asynchronous is basically a "classic"
      REQ/ACK handshaking system for each data packet, where with
      Synchronous, multiple REQ's can be issued before receiving ACK's,
      thus giving a big performance plus.

2.8. 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.

2.9. 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 the system in terms of 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
      accordingly to the opinion they should prove.
      Personally, I find it of more interest that SCSI, as a universal
      8-bit interface, without problems reaches the speed of a 16-bit
      disk interface like ATAPI.
      For both interfaces deliver similar speed, I believe the "SCSI
      is faster/better" - "NO! ATAPI 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>

2.10. 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
      Wide Synchronous        32      20.0 MBytes/sec
      Fast Wide Synchronous   32      40.0 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.

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.

3.1. Software Interfaces

      Besides various vendor-specific implementations like, for
      example, Bernoullis OAD (Open Architecture Drivers) there are
      a few vendor-independent standards:
  1. ASPI for DOS, OS/2 and Netware
  2. CAM/SCAM for DOS (and OS/2 ?)
  3. LADDR for OS/2 1.x

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.

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.

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

3.1.4. LADDR

      LADDR 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 ha been replaced by direct SCSI support
      beginning with OS/2, version 2.0.
      The concept wasn't bad, however. LADDR (LAyered Device DRiver)
      support was built in OS/2 1.3 (and it was possible to integrate
      it in 1.2).
      A concept diagram would look like this:
      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
      ³ OS/2 File System ³
      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
       ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿
       ³   ³ ³   ³ ³   ³
       ³TSD³-³VSD³-³BID³-ÄÄÄÄÄÄÄÄÄÄ¿
       ³   ³ ³   ³ ³   ³           ³
       ÀÄÄÄÙ ÀÄÄÄÙ ÀÄÄÄÙ           ³
         ³     ³     ³             ³
         ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
         ³    IOS     ³      ³              ³
      ÚÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄ¿   ³Host Adapter  ³
      ³   OS/2  LADDR    ³   ³              ³
      ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
      Module types were:
      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:
  1. BASEDD01.SYS, IOS12.sys, IOCONFIG.SYS, all from Microsoft, for

implementing LADDR.

  1. a host adapter .BID file, for example WD7000AX.BID. Some of

these came with OS/2, otherwise were available from the host

        adapter vendors.
  1. STDDISK.VSD and DISK.TSD, both from Microsoft, for disk

integration.

  1. CDROM.VSD, CDROM.TSD and CDROM.FSD, all from Microsoft, for

CDROM operation.

  1. correct .VSD and .TSD modules for addressing tape devices or

other SCSI devices.

      If you look at the actual driver concept in OS/2 2.x, you will
      see that isn't much difference - mostly just the names changed.

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 ...

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. This BIOS handles the interface
      between SCSI's Logical Block addressing scheme and the PC's
      Cylinder/Head/Sector scheme.

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 by bypassing the CPU and giving control over the bus
      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 will give you sudden lockups and other trouble.
      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 are additional points
      for EISA, VL and PCI bus systems.

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: DPT 2012 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, but it 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.

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. 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. The SCSI part seems a bit slow
      compared with a standard SCSI adapter and i don't like that it
      has jumpers. To me, it seems a bit too expensive with a list
      price of about $500 here in Germany.
      However, it's a full-featured and bootable SCSI host adapter
      and sound board in one package. For the idea seems good, it
      should get competitors soon.

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.

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 is one with the SCSI chip on it.

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.

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 ...

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>.

4.2. Installing SCSI devices.

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 external devices before.

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.
      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, where the "2" jumper is called
      ID1 and the "4" jumper is called ID2.
      If you play with Wide SCSI, you will have 4 (8-4-2-1) or even
      5 (16-8-4-2-1) jumpers for ID selection.

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:
  1. unstable termination, passive termination with Fast-SCSI,

very rare: active termination with old SCSI devices.

  1. wrong termination (too much devices terminated or SCSI bus

ends not terminated correctly)

  1. self-made short flat ribbon cables with bad contacts
  2. using Fast-SCSI with cheap external round cables
  3. too long cables, especially with adding Fast SCSI

devices to an existing, stable SCSI system

  1. setting the new device to a used ID
  2. using a SCSI adapter that doesn't provide term. power

(or disabled) and having no device set to provide it.

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.

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.

4.3.3. Termination and Termination Power

      The termination basic rule is simple - both ends of the SCSI
      chain. However, i had some cases whereIi got a system up and
      running only if I apply Termination on both ends _and_ on the
      host adapter.
      I have 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 when I turn off the host adapter's termination,
      _nothing_ works!
      So, don't be scared if a setup works that shouldn't - I verify
      it again and if it works, try to live with it.
      PS: last week (september '94) this suddenly changed - no device
      or cable was changed, but the system suddenly refused to boot
      and i had to disable the adapter's termination - now the
      termination scheme is correct, but i don't know why it didn't
      work before ..... -Gerhard

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:
  1. You need a hardware-specific part, that talks to your host

adapter's SCSI chip.

  1. 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-dependant drivers, there _could_ be some
        application-specific parts.

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 dependant 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.

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.

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 is
              specific to Adaptec's VASPI driver set i use and
              doesn't apply on the standard OS2ASPI.DMD.
        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
              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.
        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.

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.

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.

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.

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.

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.

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...

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.

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.

6. Some thoughts about SCSI devices (and other interfaces)

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.

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,
      for data come from parallel drives.
      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, at least 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.
      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.
      RAID level 7 i saw only once in a high-end workstation cluster.
      Level 7 systems normally have a big (200-500 MB) cache and lots
      of disk channels or even workstations. ECC data are calculated
      and maintained in the cache; mainly for this reason, performance
      is very good and can be scaled up by adding cache RAM and/or
      disk channels.

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
      ATAPI drive and an older Sony MO with an ESDI interface and a
      special interface card.

6.3. CDROM drives

      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 data-mode only in this case.
      Older NEC drives can be a bit difficult here, especially the
      portable CDR-35 and CDR-36 models. Their SCSI implementation
      is described best as "bold" - 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 these IDs or the
      whole bus.

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.

6.5. Tape drives

      Professional tape drives started 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 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.

6.6. Scanners

      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, for
      example, switched to 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 id it gives to the host adapter. 
      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 is still sort of a mess with most scanner vendors.

Appendix A. SCSI Connectors

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.

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.
       Pin       Type            ³     Pin       Type
              Single-Ended       ³            Differential
              1          2       ³            1          2
                                 ³
       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.

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       GND      ³     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       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
       Pin    Cable Type         ³     Pin    Cable Type
              Single-Ended       ³            Differential
              B          P       ³            B          P **
                                 ³
       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)
  • * The Differential P connector scheme here might be wrong !

I got only one scheme for it and this scheme listed the DB(12)

      to DB(15) and DB(P1) signals twice with a preceeding "+". The
      other layouts seem ok.

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

A.5. Other SCSI connectors.

      Sometimes, for many reasons strange to me, a company decides
      to introduce a new SCSI connector.
      One of these is the Apple PowerBook's HDI-30 connector.
      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

——- If you know of another special SCSI connector, please let me

      know. I'll then try to include it here.

Appendix B. Some places to get information about SCSI

              Support BBS numbers
      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.
      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".
      Also, there are some books about SCSI (i have none of these,
      so I can't comment on them).
      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.
      The NCR SCSI BBS        : 001-719-574-0424
      NCR also has a support BBS for their systems, where drivers are
      available for download:
      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.
      Some of these BBSs I list here. The BBSs with a * are
      BBSs I called recently, so I assume the phone number is ok.
  • Adaptec-BBS : 001-408-945-7727
  • access from Germany : 089-45640618
  • Future Domain BBS : 001-714-253-0432
  • Storage Dimensions : 001-408-944-1221
  • Maxtor : 001-303-678-2222

(maybe also -2020 ?)

  • Buslogic's BBS : 001-408-492-1984
      Chinon BBS              : 001-310-320-4160
      Colorado Memory Systems : 001-303-635-0650
      Conner's BBS number     : 001-408-456-4415
      Plextor BBS             : 001-408-986-1569
      Promise BBS             : 001-408-452-1267
      * Quantum BBS           : 001-408-894-3214
      Seagate BBS             : 001-408-438-8771
      Sony BBS                : 001-408-955-5107
      Syquest BBS             : 001-510-656-0473

Appendix C. 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 >ÀÄÁÄÄÄÄÄÄÄÄÄÄÄÄÙ

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.
      However, since they are a company, the "introduction rate" of
      new, mostly mini-cartridge-based tape formats and standards
      was 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, not the other systems.
      Some of the new Mini-standards are:
      name/format   cartridge     capacity   can read
                    type
      QIC-3010-MC   QIC-143       255 MB     QIC-40/80
      QIC-3020-MC   QIC-143       500 MB     QIC-40/80/3010
      QIC-555M      QIC-143       555 MB     ---
      QIC-875M      QIC-143       875 MB     QIC-40/80/555M
      QIC-3GB(M)    QIC-138         3 GB     QIC-555M
/data/webs/external/dokuwiki/data/pages/archive/computers/scsidefs.txt · Last modified: 2001/11/08 10:19 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki