SPI-4 Rev 7 Task Management Completion Notification Question
Spalding, AlanC
Alan_Spalding at adaptec.com
Tue Nov 13 11:51:49 PST 2001
* From the T10 Reflector (t10 at t10.org), posted by:
* "Spalding, AlanC" <Alan_Spalding at adaptec.com>
*
Hi Folks,
Was catching up on old email and noticed Robert Elliot's comment w.r.t.
Parallel SCSI task management completion reporting (see below). Seems to me
the SPI-4 specification should be updated to remove "TASK MANAGEMENT
FUNCTION COMPLETE" in table 60, page 201 as section 14.3.1 appear to
preclude this status IU.
Or am I missing something?
Cheers
alan
-----Original Message-----
From: Elliott, Robert [mailto:Robert.Elliott at COMPAQ.com]
Sent: Monday, September 17, 2001 9:10 AM
To: 't10 at t10.org'
Subject: RE: Target Reset and Logical Unit Reset
* From the T10 Reflector (t10 at t10.org), posted by:
* "Elliott, Robert" <Robert.Elliott at compaq.com>
*
All cases: Both should receive a "Function Complete."
The recipient (target or logical unit) has to serialize the
order it handles them. This may be enforced by the protocol -
sam2r18 section 6.8:
"Since the nexus may not uniquely identify the transaction,
there may be no way for an initiator to associate a confirmation
with a request. A SCSI protocol that does not provide such an
association should not allow an initiator to have more than
one pending task management request per I_T_L nexus.
Each protocol ensures the task management functions are serialized
and defines what "Function Complete" means. This definition
can be inferred if not explicitly stated.
In FCP-2, Table 5 says that the exchange is aborted for LOGICAL
UNIT RESET, TARGET RESET, CLEAR TASK SET, and ABORT TASK SET.
That serves as Function Complete for those functions.
Table 28 has a RSP_CODE value of 00h for "Task Management
Function Complete" that's used only for CLEAR ACA. The descriptive
text is a bit confusing given table 5, but I think it makes sense
if you assume it only applies to CLEAR ACA:
"The completion status of the task management function is
indicated by the RSP_CODE. If the Exchange is aborted before
the FCP_RSP IU is returned, the completion status is unknown."
ABORT TASK is implemented using "recovery abort" per 12.3.
In parallel SCSI, "Function Complete" is reported with a bus
free condition. In non-packetized mode, only one message is
sent at a time on the bus. The target won't accept another
message until it has processed the current one.
In packetized parallel SCSI, there are two possibly conflicting
definitions for "Function Complete."
1. Section 14.3.1 requires a bus free condition before
any status IU is sent.
"If the TASK MANAGEMENT FLAGS field is a supported value
not equal 00h the target shall perform the selected task
management function before processing any further SPI
information units regardless of the command type. On
completion of a supported task management function the
target shall go to a BUS FREE phase. No SPI status
information unit shall be reported for the task
management function."
2. Section 14.3.5 defines status IU failure code of 00h
as "NO FAILURE or TASK MANAGEMENT FUNCTION COMPLETE"
The first section seems to preclude a status IU of 00h with
a meaning of "TASK MANAGEMENT FUNCTION COMPLETE" from
ever occurring. The "NO FAILURE" meaning will be common
(for status IUs responding to non-task management function
command IUs).
---
Rob Elliott, Compaq Server Storage
Robert.Elliott at compaq.com
-----Original Message-----
From: Nutter, John [mailto:jnutter at cereva.com]
Sent: Monday, September 17, 2001 10:17 AM
To: SCSI Reflector (E-mail)
Subject: Target Reset and Logical Unit Reset
I am trying to figure out what the expected behavior should be under the
following circumstances:
Two different hosts send a Target Reset back to back. Should the target
return a function complete to the first, last, or both Target Resets?
The same host sends a Target Reset back to back. Should the target return a
function complete to the first, last, or both Target Resets?
A target receives a Logical Unit Reset and while processing it the target
receives a Target Reset from a different host. Should the target return a
function complete to the Logical Unit Reset, the Target Reset, or both?
A target receives a Logical Unit Reset and while processing it the target
receives a Target Reset from the same host. Should the target return a
function complete to the Logical Unit Reset, the Target Reset, or both?
Two different hosts send a Logical Unit Reset back to back to the same LUN.
Should the target return a function complete to the first, last, or both
Logical Unit Resets?
Two different hosts send a Logical Unit Reset back to back to the same LUN.
Should the target return a function complete to the first, last, or both
Logical Unit Resets?
I would appreciate any responses.
Thanks
John J. Nutter Phone: (508) 787-5367
Cereva Networks Inc. Fax: (508) 787-5002
3 Network Drive e-mail: jnutter at cereva.com
Marlborough, MA 01752-3083 web: www.cereva.com
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
More information about the T10
mailing list