Browse Prior Art Database

Managing Queue Full Status for Small Computer System Interface, Version 2

IP.com Disclosure Number: IPCOM000115946D
Original Publication Date: 1995-Jul-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 77K

Publishing Venue

IBM

Related People

Kalman, DA: AUTHOR [+3]

Abstract

Disclosed are two methods for managing Small Computer System Interface, version 2 (SCSI-2) commands after a Queue Full status has been returned by the target device of the commands. The commands are not sent again until an indication is provided that a previous command has been completed.

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

Managing Queue Full Status for Small Computer System Interface, Version
2

      Disclosed are two methods for managing Small Computer System
Interface, version 2 (SCSI-2) commands after a Queue Full status has
been returned by the target device of the commands.  The commands are
not sent again until an indication is provided that a previous
command has been completed.

      The American National Standards Institute (ANSI) SCSI-2
interface provides a method, called tagged command queuing, to
deliver multiple commands from an initiator to a target device.  Each
command sent from the initiator to the target contains a tag which
uniquely identifies the command being sent.  However, multiple
commands sent in this way can fill the internal command queue of the
target.  When this occurs, the target returns a status of Queue Full
to the initiator, indicating that the last command was not accepted.
At this point, the initiator must manage this command, determining a
recovery action to perform.

      The first presently-disclosed method paces the commands to the
target with a device pending queue status flag called PACE.  When the
initiator receives a new command to be forwarded to a device, the
initiator checks the PACE flag for the device.  If it is set, the new
command is placed in the pending queue of the device.  If it is not
set, the new command is placed in an active queue and sent to the
target device.  When a command is completed for the target device,
the initiator checks the PACE flag for the device.  If it is set, a
command is taken off the pending queue and placed on the active queue
to be sent to the target device.  If another Queue Full status is
received, the initiator returns to the beginning of this process,
placing the unaccepted command on the pending queue.  Eventually, the
command must be accepted by the target, since the target must reserve
at least one command slot for each init...