Browse Prior Art Database

Transparent Fairness for Devices On the SCSI Bus

IP.com Disclosure Number: IPCOM000100495D
Original Publication Date: 1990-Apr-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 3 page(s) / 113K

Publishing Venue

IBM

Related People

Floryance, GG: AUTHOR

Abstract

A Small Computer Systems Interface (SCSI) advertises peer-to-peer relationship bus devices. However, this is not true when multiple devices are simultaneously arbitrating for the bus since the device with the highest ID always wins and effectively dominates bus activity. A fairness technique is described which eliminates a bus dominance by a device with the highest device ID. It is a transparent feature implemented solely within a device that maintains conformance to the SCSI standard and allows coexistence with non-FAIRNESS devices on the same SCSI bus.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 49% of the total text.

Transparent Fairness for Devices On the SCSI Bus

       A Small Computer Systems Interface (SCSI) advertises
peer-to-peer relationship bus devices.  However, this is not true
when multiple devices are simultaneously arbitrating for the bus
since the device with the highest ID always wins and effectively
dominates bus activity.  A fairness technique is described which
eliminates a bus dominance by a device with the highest device ID.
It is a transparent feature implemented solely within a device that
maintains conformance to the SCSI standard and allows coexistence
with non-FAIRNESS devices on the same SCSI bus.

      A device determines fairness by monitoring prior arbitration
attempts by other devices.  It then postpones arbitration for itself
until all lower priority SCSI devices which previously lost
arbitration either win a subsequent arbitration or discontinue their
arbitration attempts (as in the case where the initiator aborted an
outstanding command thus removing the need to re-arbitrate).

      When a device does not need to arbitrate for the SCSI bus, it
monitors the arbitration attempts of the other devices and updates a
fairness register with the device IDs of any lower priority devices
which lost arbitration.

      When a requirement for arbitration arises, the device first
checks to see of its fairness register is clear.  If it is clear,
then no lower priority device had attempted and lost the previous
arbitration, and therefore, this device may now participate in
arbitration.  If, on the other hand, the fairness register is not
clear, the device postpones arbitration until all lower priority
device IDs are cleared from the fairness register.  Lower device IDs
are cleared as those lower level devices win arbitration.  Device IDs
are also cleared if a device discontinues arbitration (as a result of
an internal RESET or initiator directed ABORT).

      Since the fairness register is only refreshed when the device
is not arbitrating for itself, the fairness register is effectively
frozen by the device prior to a requirement for its own arbitration
arising.  Therefore, only those lower priority devices latched into
the fairness register at that time arbitrate ahead of this device.
Other lower priority devices which are not latched are not added to
the fairness register until this device has successfully arbitrated.

      During arbitration, the device ID for all arbitrating devices
appear on the SCSI bus during the time prior to SEL active.  If the
bus is sampled at this time, which device won and which devices lost
arbitration is determined.  Sampling occurs at a high enough rate to
insure multiple samples within the 600 nsec window.

      Fairness circuit pseudo code below summarizes the operation of
a fairness algorithm.  The code is described in the discussion
following.
        1    If others arbitrating but own arbitration not
             required then
   ...