SCSI - Small computer systems Interface
  Combination interface and bus (daisy chained devices)

  Separate intelligent I/O bus.

  Used in mini-computers, work stations, high end PCs, and servers where
    RAID implemented.

  SCSI is also a IDE with each device having its own conroller chip.

  SCSI has its own control "language".
    Uses a layered protocol (some what like networking).

  With help of control language, SCSI designed to support several types of
  devices not just harddrives.

    Block commands - hard drives.
    Stream commands - tape drives.
    Graphic commands - printers.
    Medium changer commands - CD-jukeboxes (very large secondary storage)
    Controller commands - Disk Arrays (RAID)

  Reasonably high throughput of data.

  Single interface can support up to 8 (or 16, updated protocol) devices.

  Devices can be target and/or initiators. Any device can be an initiator,
    although most aren't and arbitration exists.

  Interface to host PC - "host adaptor" - counts as one of the devices.
    Usually device 0.
    There can be multiple .

    * Each device on the SCSI bus can be the master of the bus. The host
      adaptor basically makes the pc just another device on the bus.

  Allows devices on bus to interact without CPU assistance.
    Firewire (scsi) allows camera to talk directly to printer.

  Providing all of the control for the devices.
    Early pcs required alternative drivers to the standard ROM-BIOS
    interface to work with scsi.

    System had to boot off ATA-IDE and load drivers.

    Newer bios can boot SCSI.

  It is possible for a controller to queue several device requests.

  Because SCSI interface has complete control,
    didn't suffer limitations of eary MFM/RLL/IDE designs.

  SCSI supports hot swappable devices.


  In general, the actual hard drive physical aspects and electronics can be
    same for SCSI and ATA. Although SCSI drive often high end, so faster.

  And since the bottleneck is still the phyiscal access of the drive.
    For a single drive, ATA is often as quick or quicker than SCSI
      And usually much cheaper.

  However, advantage to SCSI occurs when
    Multiple disks are accesssed:  > 4 disks or a raid architecture.

    Use with newer OSes which can more effectively interact with SCSI
      by optimal queing of instructions.

    Drives with speeds as fast 15000 rpm.

  Another early advantage of SCSI was that it was non-specific about
    hardware being interfaced, e.g. scanner, plotter, scientfic sensors.

  However,
    Firewire (technically serial SCSI) and USB2 are faster and easier to
    use and when working with a small number of devices.


Original SCSI evolved from SASI (Shugart Associates)
  Turned over to ANSI (American National Standards Institute)

SCSI 1 - 1986 standardized.  Currenly - Obsolete.
  50 pin connector.
  8 bit data bus.
  1MB/s transfer (4 to 5 MB/s).
  8 devices (interface card counts and is device 0)
  Many commands and features were optional - compatibility unpredictable.
  Termination needed.
  Cable length up to 6 M.


SCSI 2 - protocol (1994)
  10 MHz operation speed.
  16 devices (interface card counts and is device 0)
  Allows for  8/16/32 byte data bus. 32 bit was never really implemented.
    Fast SCSI (8 bit) 10MB/s
    Fast Wide SCSI (16 bit) 20MB/s

  CCS - common command set - minimum set of standardized industry wide commands.
  Allowed for pipelining of command requests.
  Native command queuing - queue several activity requests (up to 256)
    rearrangable for optimal performance.

  More devices recognized - cd-rom, optical drives, etc.

  Type A - 50 pin.  Type P - 68 pin (wide SCSI) for 16bit.
  SE(Single-ended) Cable length 3/1.5M depending on speed.

  HVD(High voltage differential) Cable/signal type allows for 25M.
    Because of higher speeds, required active termination (voltage regulation).

  Cannot mix cables on a single host adaptor daisy chain.

SCSI 3 - multiple protocols. (Starting 1995)
  Broken into separate protocols for hardware, interface, and software.

  Protocols for
    SCSI Parallel Interface (SPI)
      which has 5 SPI standards.
    Serial
    Fiber Optic
    Etc.

  In several cases, protocols may have multiple names.

  In some circumstances, speeds > 100MB/s
    Machintosh Firewire P1394 is a serial SCSI-3 protocol.

  Ultra-SCSI is 20MB/s transfer on 8bit data bus.

SCSI - is backward compatible. However, a older/slower device will cause
  the bus to run at slower speed.

  Also, older physical interfaces (cables and plugs) often not availble
    on newer devices and controllers.

Ultra5 (Ultra640) transfers up to 640MB/s (ATA still at 133-150MB/s)
  Although each device may be significantly slower.
  Because of control language, multiple devices can overlap activities
    with minimal conflicts/collisions.

Command protocol