some questions about SAM-5

Ralph Weber Ralph.Weber at wdc.com
Sat Jan 25 04:56:54 PST 2014


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

Please describe some cases where there is a need to choose between the device
name and the port name. This choice is sufficiently difficult to describe in
general terms. Explaining by example should be easier.
All the best,
.Ralph
________________________________
From: owner-t10 at t10.org [owner-t10 at t10.org] on behalf of Wei(SOCP) Liu
[liuw at marvell.com]
Sent: Thursday, January 23, 2014 8:49 PM
To: Knight, Frederick; Neil Wanamaker
Cc: t10 at t10.org
Subject: RE: some questions about SAM-5
Hi,
Glad to know you. Thanks for your kindly help. To first question, previously
I am not clear when to use port identifier and device name for I thought they
are replaceable.
Based on reply from Hugh Curley, device name can be used for identifying
multi-path between initiator and target.
Device Name was added for multi-path configurations. During discovery, the
initiator will address Port X and see a storage device of 1TB.
They the initiator will address Port Y and see a storage device of 1TB. The
initiator now thinks it has 2 TB of storage. However,
by reading the Device Name (VPD 83) it sees that both Port X and Port Y
report Device Name Z so now the initiator realizes it has two
paths to the same device.
Regards,
Wei Liu
From: Knight, Frederick [mailto:Frederick.Knight at netapp.com]
Sent: 2014¦~1¤ë24¤é 3:40
To: Neil Wanamaker; Wei(SOCP) Liu; t10 at t10.org
Subject: RE: some questions about SAM-5
Thanks Neil.  Yup, if you look at Annex B, it shows that CRN is supported
only by FCP.  Annex B also tells you what each transport uses for the command
identifier (and yes, it is exposed over the transport).
		Fred
From: Neil Wanamaker [mailto:Neil.Wanamaker at pmcs.com]
Sent: Thursday, January 23, 2014 12:33 PM
To: Knight, Frederick; Wei(SOCP) Liu; t10 at t10.org<mailto:t10 at t10.org>
Cc: 'Elliott, Robert (Server Storage)'
(Elliott at hp.com); 'Penokie, George'
(George.Penokie at lsi.com)
Subject: RE: some questions about SAM-5
The CRN was an FCP-specific mechanism independent of the exchange-id (task
tag) to operate with stateful devices (e.g., tapes) and a feature called
¡§precise delivery¡¨ to ensure proper serialization of the commands.
|From FCP-4:
This standard defines a second optional mechanism called precise delivery to
assure ordering of commands. This may be used by any FCP device, but may be
useful for devices performing ordered command queuing where device state is
preserved from one command to the next. An application client may determine
if a device server supports the precise delivery function by using the MODE
SENSE command and MODE SELECT command to examine and set the EPDC bit in the
Fibre Channel Logical Unit Control mode page to one (see 10.3).
Neil Wanamaker
From: owner-t10 at t10.org<mailto:owner-t10 at t10.org> [mailto:owner-t10 at t10.org]
On Behalf Of Knight, Frederick
Sent: Thursday, January 23, 2014 8:54 AM
To: Wei(SOCP) Liu; t10 at t10.org<mailto:t10 at t10.org>
Cc: 'Elliott, Robert (Server Storage)'
(Elliott at hp.com); 'Penokie, George'
(George.Penokie at lsi.com)
Subject: RE: some questions about SAM-5
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 ¡V 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
on this.
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
rules).
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.
Fred Knight
From: owner-t10 at t10.org<mailto:owner-t10 at t10.org>
[mailto:owner-t10 at t10.org]<mailto:[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<mailto:t10 at t10.org>
Subject: some questions about SAM-5
Hi,
I have some questions about SAM-5. Could you kindly help to answer? Thanks.
1.	 In 4.6.4.2, ¡§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
required.¡¨
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?
Regards,
Wei Liu



More information about the T10 mailing list