Date: June 3, 1993 Document: X3T9.2/93-102r0 To: ANSI X3T9.2 Committee (SCSI) From: Jeffrey L. Williams (HP) Subject: Near Queue Full Threshold Hewlett-Packard requests X3T9.2 consider the addition of a new status code and a mode page parameter to enable intiators to better deal with a queue full condition. In the current standard, once a queue full condition is detected, there is no method available to determine that this condition has been alleviated. This proposal provides that ability. The following changes are proposed for the appropriate SCSI-3 documents. All refereces are to SCSI-2 documents for clarity. Table 27 would be modified as follows with additional text explaining the new status code. Table 27 - Status byte code +==================================-==============================+ | Bits of status byte | Status | |----------------------------------| | | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | |-----+---+---+---+---+---+---+----+------------------------------| | R | R | 0 | 0 | 0 | 0 | 0 | R | GOOD | | R | R | 0 | 0 | 0 | 0 | 1 | R | CHECK CONDITION | | R | R | 0 | 0 | 0 | 1 | 0 | R | CONDITION MET | | R | R | 0 | 0 | 1 | 0 | 0 | R | BUSY | | R | R | 0 | 1 | 0 | 0 | 0 | R | INTERMEDIATE | | R | R | 0 | 1 | 0 | 1 | 0 | R | INTERMEDIATE-CONDITION MET | | R | R | 0 | 1 | 1 | 0 | 0 | R | RESERVATION CONFLICT | | R | R | 1 | 0 | 0 | 0 | 1 | R | COMMAND TERMINATED | | R | R | 1 | 0 | 1 | 0 | 0 | R | QUEUE FULL | | R | R | 1 | 0 | 1 | 0 | 1 | R | GOOD - NEAR QUEUE FULL | |----------------------------------| | | All other codes | Reserved | |-----------------------------------------------------------------| | Key: R = Reserved bit | +=================================================================+ 7.3.10 GOOD - NEAR QUEUE FULL: This status indicates that the target has successfully completed the command and the number of queue slots available is less than or equal to the value in the Near Queue Full Threshold parameter in the Control Mode Page (see 8.3.3.1). If the target is unable to determine the number of queue slots available or the value in the Queue Full Threshold is zero, a status of GOOD shall be used. Page 1 Table 96 would be modified as follows with additional text explaining the new field. Table 96 - Control mode page +=====-========-========-========-========-========-========-========-========+ | Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |Byte | | | | | | | | | |=====+========+========+=====================================================| | 0 | PS |Reserved| Page code (0Ah) | |-----+-----------------------------------------------------------------------| | 1 | Page length (0Ah) | |-----+-----------------------------------------------------------------------| | 2 | Reserved | RLEC | |-----+--------------------------------------------------------------+--------| | 3 | Queue algorithm modifier | Reserved | QErr | DQue | |-----+-----------------------------------------------------+--------+--------| | 4 | EECA | Reserved | RAENP | UAAENP | EAENP | |-----+-----------------------------------------------------------------------| | 5 | Reserved | |-----+-----------------------------------------------------------------------| | 6 | (MSB) | |-----+--- Ready AEN holdoff period ---| | 7 | (LSB) | |-----+-----------------------------------------------------------------------| | 8 | (MSB) | |-----+--- Busy timeout period ---| | 9 | (LSB) | |-----+-----------------------------------------------------------------------| | 10 | (MSB) | |-----+--- Near queue full threshold ---| | 11 | (LSB) | +=============================================================================+ The near queue full threshold field specifies the number of queue slots the target uses to determine whether a GOOD status or a GOOD - NEAR QUEUE FULL status should be sent on completion of a command (see 7.3.10). A value of zero (0000h) shall be the default value. Page 2