SAM UML and question about command priority and Task manager/device server

Kevin D Butt kdbutt at us.ibm.com
Tue Jun 10 13:06:18 PDT 2014


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

Fred,
If your assertion is correct (and I must admit I cannot find anything in 
SAM to disprove it), then as SAM is written today, an application client 
can send cmd1, cmd2, cmd3, abort(cmd3) and the device server can process 
those requests as abort(cmd3), cmd1, cmd2, cmd3 and the application client 
has been told cmd3 was aborted and then at a later time will get a STATUS 
for cmd3.
On the device, cmd1, cd2, and cdm3 have all been processed and the medium 
potentially change by cmd3 with the application client non the wiser.
Is this what you are saying?
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:	"Knight, Frederick" <Frederick.Knight at netapp.com>
To:	Kevin D Butt/Tucson/IBM at IBMUS, 
Cc:	"george.penokie at lsi.com" <george.penokie at lsi.com>
Date:	06/10/2014 12:40 PM
Subject:	RE: SAM UML and question about command priority and Task 
manager/device server
That sub-clause covers commands also.  It asserts the lack of ordering 
requirements for everything (commands and TMFs).
Since a command sent before the TMF to abort it could actually arrive at 
the device after the TMF arrives, I?m not sure I agree.
The task manager / device server would be trying to abort a command that 
the device doesn?t know about yet (because the TMF arrived before the 
command arrived).  And, by the time the command is received, the TMF could 
have already completed.
I don?t see anything in SAM that prevents this.  I know that forcing 
ordering makes things a lot easier, but I don?t see that SAM does that; in 
fact, it seems that is explicitly does NOT require it.
		Fred
From: Kevin D Butt [mailto:kdbutt at us.ibm.com] 
Sent: Monday, June 09, 2014 6:22 PM
To: Knight, Frederick
Cc: george.penokie at lsi.com; owner-t10 at t10.org; T10 Reflector
Subject: RE: SAM UML and question about command priority and Task 
manager/device server
Fred, 
This statement talks to the ordering of one task management request 
related to another.  My ordering comment was a task management request 
related to the command at which it is targeted.  Therefore, my statement 
is that the task manager is required to manage commands and task 
management requests in such a manner as to ensure that a task management 
request aimed at a command received by the task manager prior to the task 
management request not be sent to the device server prior to the command 
that it is aborting. 
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:	     "Knight, Frederick" <Frederick.Knight at netapp.com> 
To:	   Kevin D Butt/Tucson/IBM at IBMUS, T10 Reflector <t10 at t10.org>, "
george.penokie at lsi.com" <george.penokie at lsi.com>, 
Date:	     06/09/2014 03:15 PM 
Subject:	RE: SAM UML and question about command priority and Task 
manager/device server 
Sent by:	<owner-t10 at t10.org> 
I don?t think your ordering assumptions align with what SAM says (there 
are no ordering requirements for TMFs in SAM).	It is up to the 
application client to do any ordering (if it really wants it).	Here is 
what SAM already says about this: 
4.4.3 Server request/response ordering 
  ? 
The order in which task management requests are processed is not specified 
by the SCSI architecture model. 
The SCSI architecture model does not require in-order delivery of such 
requests or processing by the task 
manager in the order received. To guarantee the processing order of task 
management requests referencing a 
specific logical unit, an application client should not have more than one 
such task management request pending 
to that logical unit. 
		Fred 
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Kevin D 
Butt
Sent: Monday, June 09, 2014 5:20 PM
To: T10 Reflector; george.penokie at lsi.com
Subject: SAM UML and question about command priority and Task 
manager/device server 
In the last SAM conference call, a couple of us were thinking that the 
command priority should not only be determined by the device server but 
also the task manager. 
I was one of those who thought this.  I have since repented of that sin. 
;-) 
I now believe that allowing the task manager to be part of prioritizing 
the commands would actually break the model and it should not be allowed. 
After reviewing this internally, it was pointed out to me that the task 
manager must maintain proper serialization in some aspect if it is going 
to be able to properly manage task management functions.  Those TM 
functions need to be sent after the commands and not before.  This infers 
that the commands and task management functions must be serialized by the 
task manager (in some fashion).  If command priority were to be managed by 
the task manager, this would either break that model or at least make it 
much more complex. 
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/ 



More information about the T10 mailing list