some questions about SAM-5
Frederick.Knight at netapp.com
Thu Jan 23 08:54:26 PST 2014
Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1401230_f.htm">HTML-formatted message</a>
1. Who is the "user" of the data in this case? The device server or
the application client? What is the particular use case you are wondering
about? In every case I can think of, the standard is clear when each should
be used, for example:
a. PR-OUT command parameter data has a TRANSPORTID field for the
initiator port which is then described in 7.6.4 (SPC-4r36o) which, to use one
example, is described for FCP as the N_Port_Name value.
b. VPD page 83h contains several of these values - so it depends on what
you want to know as to which you would use. If you want to know which port
received/processed the command you would look at the port name or identifier
(association field 01b, if it is returned). If you want to know the logical
unit persistent name (to detect the same logical unit on multiple paths), you
would look at the device name (association field 00b).
2. I tend to think of them as the same (even though they don't seem to
be). The CRN is the thing that is exposed at the interface level; the
command identifier is not exposed. So they could be the same, or they could
be different as long as the device server knows how to map from one to the
other. I can see why there might be some confusion in SAM, since the command
related procedure calls have the CRN (and the command object has a CRN
attribute), but the task management functions don't (they have an "argument
identifying the command"). Maybe someone else (Rob? George?) has an opinion
3. That sub-clause (5.14.1) talks about the unit attention queue. When
that text says "while a unit attention condition exists", it means if there
is anything in the unit attention queue; if there is, you may either:
a. Report any pending sense data you have (maybe a deferred error, or
maybe some other sense data); AND retain/preserve all the items in the UA
queue for later reporting; OR
b. Report the highest priority UA condition (as per the SAM precedence
Whether you select option a) or b) is up to the device server; and other
rules described in SPC-4 (for example; sub-clauses 5.10.2 and 6.3 ( see the
1) to 7) list on page 479) in SPC-4r36o).
4. CLEAR TASK SET is the same as ABORT TASK SET if the TST field ==
001b (which means you have different task sets for EACH I_T NEXUS). Look at
sub-clause 5.6 and table 47 (scope column, item c) ) on page 110 (sam5r15)
for the difference. If TST == 000b, then CLEAR TASK SET will impact other
I_T NEXUSes, but ABORT TASK SET will not.
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Wei(SOCP) Liu
Sent: Wednesday, January 22, 2014 7:25 AM
To: t10 at t10.org
Subject: some questions about SAM-5
I have some questions about SAM-5. Could you kindly help to answer? Thanks.
1. In 18.104.22.168, "SCSI Device Name attribute", "A SCSI device name shall
never change and may be used for persistent identification of a SCSI device
in contexts where specific references to initiator port names, target port
names, initiator port identifiers, or target port identifiers are not
My question is when to use Device Name, port name and port identifier?
2. With Command identifier defined, why CRN(Command Reference Number)
is also defined? How is it used by device sever?
3. In 5.14.1, "Unit attention conditions that are not coalesced",
"c) if a REQUEST SENSE command enters the enabled command state while a unit
attention condition exists for the SCSI initiator port associated with the
I_T nexus on which the REQUEST SENSE command was received, then the device
serv er shall process the command and either:
A) report any pending sense data as parameter data and preserve all unit
attention conditions on the logical unit; or
B) report a unit attention condition as parameter data for the REQUEST SENSE
command to the SCSI initiator port associated with the I_T nexus on which the
REQUEST SENSE command was received."
When sense data is returned and when unit attention condition is returned? Is
there a function with parameter to designate which to return?
4. What's the difference between CLEAR TASK SET and ABORT TASK SET?
More information about the T10