Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Arbitration/Reactivation and Selection/Reselection Structures for SCSI Devices

IP.com Disclosure Number: IPCOM000113400D
Original Publication Date: 1994-Aug-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 8 page(s) / 341K

Publishing Venue

IBM

Related People

Kalman, DA: AUTHOR [+3]

Abstract

Disclosed is a pointer-based constant-access queue structure, configured for a maximum number of commands and a set of identifiers, providing arbitration/reactivation and selection/reselection capabilities with an adapter allowing multiple commands to be active for a SCSI device, such as a fixed disk or optical disk. Commands flow from a host system to devices through the SCSI adapter. There may be, for example, up to 250 active physical and logical devices connected to a dual bus SCSI-2 Wide/Fast Adapter at any time, with the adapter coordinating all commands flowing to devices from the host system. Methods are provided for handling multiple commands to both tagged devices, which may receive multiple commands, and to untagged devices, which may receive only single commands.

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

Arbitration/Reactivation and Selection/Reselection Structures for
SCSI Devices

      Disclosed is a pointer-based constant-access queue structure,
configured for a maximum number of commands and a set of identifiers,
providing arbitration/reactivation and selection/reselection
capabilities with an adapter allowing multiple commands to be active
for a SCSI device, such as a fixed disk or optical disk.  Commands
flow from a host system to devices through the SCSI adapter.  There
may be, for example, up to 250 active physical and logical devices
connected to a dual bus SCSI-2 Wide/Fast Adapter at any time, with
the adapter coordinating all commands flowing to devices from the
host system.  Methods are provided for handling multiple commands to
both tagged devices, which may receive multiple commands, and to
untagged devices, which may receive only single commands.

      Fig. 1 shows how the I_T, I_T_L, and I_T_L_Q nexuses, or links,
are established as a SCSI-2 physical/logical device is selected and
provided with a tag number for a command.  The ANSI SCSI-2
specification allows multiple commands to be active on a tagged
device.  The adapter, as an initiator, identifies the device by
selecting a physical unit during selection of the device and by
choosing a logical unit through an identify message.  This device
identification process forms the I_T_L nexus, or link, after which
the adapter sends a queue tag message and a number between 0 and 255,
forming the I_T_L_Q nexus (1).

      When the device receives a command, it releases the SCSI bus so
that another command can be sent by the initiator, in this case, the
adapter.  Each command sent to a specific device from each initiator
must have a tag which is unique from all other active commands from
the same initiator.  When a device has taken the maximum number of
tagged commands it can simultaneously process, it rejects subsequent
commands, transmitting a queue-full status condition.  The adapter
must try this command again later.  An untagged device must never
receive more than one command at once.  If more than one command is
sent to an untagged device, an error condition results, with the
device indicating a busy condition or aborting the previous command.

      The ANSI SCSI-2 specification offers a method to identify
untagged devices.  When an Inquiry command is received by a target
device, it responds with inquiry information by means of data in
phase (2).  Bit 1 of Byte 7 of this data is the CmdQue bit.  If this
bit is set to a value of one, the device is tagged; if this bit is
set to zero, the device is untagged.  Using this capability, the host
system, having sent an inquiry command to a device, can determine
whether it should send only one command to the device at a time.
This method places the burden of this determination on the host.  To
use this capability in an alternative way, the host system sends an
inquiry command to each device at power-on tim...