SAS (SPL) and ADT transport issues with TMF's

Kevin D Butt kdbutt at us.ibm.com
Mon Jul 7 09:38:15 PDT 2014


Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1407076_f.htm">HTML-formatted message</a>

Ralph,
There are no proposed changes here.  I have just listed what the current 
standards say and have stated that it looks like a problem to us and asked 
if others saw this as a problem also.  George responded No.  Fed responded 
yes.
Thanks,
Kevin D. Butt
SCSI Architect, Tape Firmware, T10 Standards
Data Protection & Retention
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Tel: 520-799-5280
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt at us.ibm.com
http://www-03.ibm.com/servers/storage/ 
From:	Ralph Weber <Ralph.Weber at wdc.com>
To:	Reflector T10 <t10 at t10.org>
Date:	07/07/2014 02:56 AM
Subject:	RE: SAS (SPL) and ADT transport issues with TMF's
Sent by:	<owner-t10 at t10.org>
My head is spinning.
SAM has always stated a clear difference between commands and task 
management functions. This is consistent with the proposed changes to 
ADT-2 and SPL-3 (probably should be SPL-4 since SPL-3 is in public 
review).
The proposed change to SAM-5 is a bit more dodgy. It appears to be 
highlighting a place where information now in SPC-4 ought to be moved to 
SAM-5.
All the sidebar discussions of "too long" REQUEST SENSE commands and task 
management functions that apply to commands not logical units sure seems 
like spurious flak from these bleacher seats.
All the best,
.Ralph
From: owner-t10 at t10.org [owner-t10 at t10.org] on behalf of Knight, Frederick 
[Frederick.Knight at netapp.com]
Sent: Thursday, July 03, 2014 10:49 AM
To: George Penokie; Kevin D Butt
Cc: Reflector T10
Subject: RE: SAS (SPL) and ADT transport issues with TMF's
I?m with Kevin on this one.  YES, processing should have ended, but maybe 
it hasn?t.  And, it isn?t just those two TMFs.
Say one of those commands (INQUIRY, REPORT LUNS, or REQUEST SENSE) takes 
too long, so the application sends a LUR to get the command out of the 
device (maybe the device got temporarily busy doing something else). 
Shouldn?t that LOGICAL UNIT RESET cause a stuck REPORT LUNS command to be 
terminated?  We may model LUNs as 100% independent, but large arrays don?t 
have 1 CPU per LUN.  When the system is busy, it is busy, and command 
processing in an ?incorrect LUN? may have lower priority than ?real? work 
on other LUNs.
Shouldn?t the architecture work correctly without depending on ?oh, that 
isn?t going to happen? statements?
		Fred
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of George 
Penokie
Sent: Wednesday, July 02, 2014 9:21 AM
To: Kevin D Butt
Cc: Reflector T10
Subject: Re: SAS (SPL) and ADT transport issues with TMF's
Kevin,
I see no real problem so I'm not sure what your point is. There are only 
two TMFs that operate on an individual command (ABORT TASK and QUERY 
TASK). Also, there is no queuing defined for the task router that is 
handling the commands that do not have valid LUNs so those commands do not 
sit around. They should to be processed immediately. By the time either of 
those TMFs could be issued and handled the command should have ended.
Bye for now, 
George Penokie 
Avago Technologies
3033 41 St NW
Rochester , MN 55901 
507-328-9017
george.penokie at avagotech.com
On Tue, Jul 1, 2014 at 6:42 PM, Kevin D Butt <kdbutt at us.ibm.com> wrote:
My engineers have uncovered what we believe is a bug in the standards 
related to task management functions addressed to a logical unit that does 
not exist. 
In SPL-3 and ADT-2 the task management function IU's reject TMF's 
addressed to a logical unit that does not exist.  However, the SCSI 
command IU refers to SAM which says process REQUEST SENSE, REPORT LUNS, or 
INQUIRY and reject the rest.  These leaves a hole when a TMF needs to be 
performed on a REQUEST SENSE, REPORT LUNS, or INQUIRY with no way to do 
so. 
In SPL-3 
8.2.2.1 COMMAND frame - Command information unit 
The LOGICAL UNIT NUMBER field specifies the logical unit number of the 
logical unit to which the task router shall route the command. The 
structure of the LOGICAL UNIT NUMBER field shall be as defined in SAM-5. 
<<If the addressed logical unit does not exist, then the task router shall 
follow the rules for selection of incorrect logical units defined in 
SAM-5.>> 
8.2.2.2 TASK frame - Task Management Function information unit 
The LOGICAL UNIT NUMBER field specifies the logical unit number of the 
logical unit, if any, to which the task router shall route the task 
management function. The structure of the LOGICAL UNIT NUMBER field shall 
be as defined in SAM-5. <<If the addressed logical unit does not exist, 
then the task router shall return a RESPONSE frame with the DATAPRES field 
set to RESPONSE_DATA and its RESPONSE CODE field set to INCORRECT LOGICAL 
UNIT NUMBER.>> 
In ADT-2 
8.1.2 SCSI Command information unit 
The LUN field indicates the logical unit number to which the command shall 
be routed within the SCSI target device. <<If the addressed logical unit 
does not exist, the task manager shall follow the rules for selection of 
invalid logical units defined in SAM-4.>> 
8.1.3 SCSI Task Management information unit 
The LOGICAL UNIT NUMBER field contains the address of the logical unit. 
The structure of the logical unit number field shall be as defined in 
SAM-4. <<If the addressed logical unit does not exist, the task manager 
shall return a SCSI Response IU with its RESPONSE CODE field set to 
INVALID LOGICAL UNIT NUMBER IN SCSI TASK MANAGEMENT IU.>> 
SAM-5 
5.11 Incorrect logical unit numbers for commands 
The SCSI target device's processing of an incorrect logical unit number 
(see 4.7.1) is described in this subclause. 
In response to a REQUEST SENSE command, a REPORT LUNS command, or an 
INQUIRY command the SCSI target device shall respond as defined in SPC-4. 
Any command except REQUEST SENSE, REPORT LUNS, or INQUIRY: 
e) shall be terminated with CHECK CONDITION status, with the sense key set 
to ILLEGAL REQUEST, and with the additional sense code set to LOGICAL UNIT 
NOT SUPPORTED, if: 
A) the SCSI target device is not capable of supporting the logical unit 
(e.g., some SCSI target devices support only one peripheral device); or 
B) the SCSI target device supports the logical unit, but the peripheral 
device is not currently connected to the SCSI target device; 
or 
f) is responded to in a vendor specific manner, if: 
A) the SCSI target device supports the logical unit and the peripheral 
device is connected, but the peripheral device is not operational; or 
B) the SCSI target device supports the logical unit but is incapable of 
determining if the peripheral device is connected or is not operational 
because the peripheral device is not ready. 
Does anybody disagree? 
Kevin D. Butt
SCSI Architect, Tape Firmware, T10 Standards
Data Protection & Retention
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Tel: 520-799-5280
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt at us.ibm.com
http://www-03.ibm.com/servers/storage/ 



More information about the T10 mailing list