全部博文(94)
分类: 服务器与存储
2011-03-09 15:50:24
5.8 Target port group access states
5.8.1 Target port group access overview
Logical units may be connected to the service delivery subsystem via multiple target ports (see SAM-3). The
access to logical units through the multiple target ports may be symmetrical (see 5.8.3) or asymmetrical (see
5.8.2).
5.8.2 Asymmetric logical unit access
5.8.2.1 Introduction to asymmetric logical unit access
Asymmetric logical unit access occurs when the access characteristics of one port may differ from those of another
port. SCSI target devices with target ports implemented in separate physical units may need to designate differing
levels of access for the target ports associated with each logical unit. While commands and task management
functions (see SAM-3) may be routed to a logical unit through any target port, the performance may not be optimal,
and the allowable command set may be less complete than when the same commands and task management
functions are routed through a different target port. When a failure on the path to one target port is detected, the
SCSI target device may perform automatic internal reconfiguration to make a logical unit accessible from a different
set of target ports or may be instructed by the application client to make a logical unit accessible from a different set
of target ports.
A target port characteristic called target port asymmetric access state (see 5.8.2.4) defines properties of a target
port and the allowable command set for a logical unit when commands and task management functions are routed
through the target port maintaining that state
A target port group is defined as a set of target ports that are in the same target port asymmetric access state at all
times. A target port group asymmetric access state is defined as the target port asymmetric access state common
to the set of target ports in a target port group. The grouping of target ports is vendor specific.
A logical unit may have commands and task management functions routed through multiple target port groups.
Logical units support asymmetric logical unit access if different target port groups may be in different target port
group asymmetric access states.
An example of asymmetric logical unit access is a SCSI controller device with two separated controllers where all
target ports on one controller are in the same asymmetric access state with respect to a logical unit and are
members of the same target port group. Target ports on the other controller are members of another target port
group. The behavior of each target port group may be different with respect to a logical unit, but all members of a
single target port group are always in the same target port asymmetric access state with respect to a logical unit.
An example of target port groups is shown in figure 4.
5.8.2.2 Explicit and implicit asymmetric logical unit access
Asymmetric logical unit access may be managed explicitly by an application client using the REPORT TARGET
PORT GROUPS (see 6.25) and SET TARGET PORT GROUPS (see 6.31) commands.
Alternatively, asymmetric logical unit access may be managed implicitly by the SCSI target device based on the
type of transactions being routed through each target port and the internal configuration capabilities of the target
port group(s) through which the logical unit may be accessed. The logical units may attempt to maintain full performance
across the target port groups that are busiest and that show the most reliable performance, allowing other
target port groups to select a lower performance target port asymmetric access state.
If both explicit and implicit asymmetric logical unit access management methods are implemented, the precedence
of one over the other is vendor specific.
5.8.2.3 Discovery of asymmetric logical unit access behavior
SCSI logical units with asymmetric logical unit access may be identified using the INQUIRY command. The value in
the target port group support (TPGS) field (see 6.4.2) indicates whether or not the logical unit supports asymmetric
logical unit access and if so whether implicit or explicit management is supported. The asymmetric access states
supported by a logical unit may be determined by the REPORT TARGET PORT GROUPS command parameter
data (see 6.25).
5.8.2.4 Target port asymmetric access states
5.8.2.4.1 Target port asymmetric access states overview
For all SCSI target devices that report in the INQUIRY data that they support asymmetric logical unit access, all of
the target ports in a target port group shall be in the same target port asymmetric access state with respect to the
ability to route information to a logical unit. The target port asymmetric access states are:
a) Active/optimized;
b) Active/non-optimized;
c) Standby; and
d) Unavailable.
5.8.2.4.2 Active/optimized state
When commands and task management functions are being routed through a target port in the active/optimized
target port asymmetric access state, the device server shall function (e.g., respond to commands) as specified in
the appropriate command standards (see 3.1.18). All target ports within a target port group should be capable of
immediately accessing the logical unit.
The SCSI target device shall participate in all task management functions as defined in SAM-3 and modified by the
applicable SCSI transport protocol standards (see 3.1.102).
5.8.2.4.3 Active/non-optimized state
When commands and task management functions are being routed through a target port in the active/
non-optimized target port asymmetric access state, the device server shall function as specified in the appropriate
command standards.
The processing of some task management functions and commands, especially those involving data transfer or
caching, may operate with lower performance than they would if the target port were in the active/optimized target
port asymmetric access state.
The SCSI target device shall participate in all task management functions as defined in SAM-3 and modified by the
applicable SCSI transport protocol standards (see 3.1.102).
5.8.2.4.4 Standby state
When being accessed through a target port in the standby target port asymmetric access state, the device server
shall support those of the following commands that it supports while in the active/optimized target port asymmetric
access state:
a) INQUIRY;
b) LOG SELECT;
c) LOG SENSE;
d) MODE SELECT;
e) MODE SENSE;
f) REPORT LUNS (for LUN 0);
g) RECEIVE DIAGNOSTIC RESULTS;
h) SEND DIAGNOSTIC;
i) REPORT TARGET PORT GROUPS;
j) SET TARGET PORT GROUPS;
k) REQUEST SENSE;
l) PERSISTENT RESERVE IN;
m) PERSISTENT RESERVE OUT;
n) Echo buffer modes of READ BUFFER; and
o) Echo buffer modes of WRITE BUFFER.
The device server may support other commands.
For those commands that are not supported, the device server shall terminate the command with CHECK
CONDITION status, with the sense key set to NOT READY, and the additional sense code set to LOGICAL UNIT
NOT ACCESSIBLE, TARGET PORT IN STANDBY STATE.
The SCSI target device shall participate in all task management functions as defined in SAM-3 and modified by the
applicable SCSI transport protocol standards (see 3.1.102).
5.8.2.4.5 Unavailable state
When being accessed through a target port in the unavailable target port asymmetric access state, the device
server shall accept only a limited set of commands. The unavailable target port asymmetric access state is
intended for situations when the target port accessibility to a logical unit may be severely restricted due to SCSI
target device limitations (e.g., hardware errors). Therefore it may not be possible to transition from this state to
either the active/optimized, active/non-optimized or standby states. The unavailable target port asymmetric access
state is also intended for minimizing any disruption when using the downloading microcode mode of the WRITE
BUFFER command.
While in the unavailable target port asymmetric access state, the device server shall support those of the following
commands that it supports while in the active/optimized state:
a) INQUIRY (the peripheral qualifier (see 6.4.2) shall be set to 001b);
b) REPORT LUNS (for LUN 0);
c) REPORT TARGET PORT GROUPS;
d) SET TARGET PORT GROUPS;
e) REQUEST SENSE;
f) Echo buffer modes of READ BUFFER;
g) Echo buffer modes of WRITE BUFFER; and
h) Download microcode mode of WRITE BUFFER.
The device server may support other commands.
For those commands that are not supported, the device server shall terminate the command with CHECK
CONDITION status, with the sense key set to NOT READY, and the additional sense code set to LOGICAL UNIT
NOT ACCESSIBLE, TARGET PORT IN UNAVAILABLE STATE.
The SCSI target device is not required to participate in all task management functions (see SAM-3 and the applicable
SCSI transport protocol standards).
5.8.2.5 Transitions between target port asymmetric access states
The movement from one target port asymmetric access state to another is called a transition.
During a transition between target port asymmetric access states the device server shall respond to a command in
one of the following ways:
a) If during the transition the logical unit is inaccessible, then the transition is performed as a single indivisible
event and the device server shall respond by either returning BUSY status, or returning CHECK
CONDITION status, with the sense key set to NOT READY, and an the sense code set to LOGICAL UNIT
NOT ACCESSIBLE, ASYMMETRIC ACCESS STATE TRANSITION; or
b) If during the transition the target ports in a target port group are able to access the requested logical unit,
then the device server shall support those of the following commands that it supports while in the active/
optimized asymmetric access state:
A) INQUIRY;
B) REPORT LUNS (for LUN 0);
C) REPORT TARGET PORT GROUPS;
D) REQUEST SENSE;
E) Echo Buffer modes of READ BUFFER; and
F) Echo Buffer modes of WRITE BUFFER.
The device server may support other commands when those commands are routed though a target port
that is transitioning between asymmetric access states.
For those commands that are not supported during a transition, the device server shall terminate the
command with CHECK CONDITION status, with the sense key set to NOT READY, and the additional
sense code set to LOGICAL UNIT NOT ACCESSIBLE, ASYMMETRIC ACCESS STATE TRANSITION.
The SCSI target device is not required to participate in all task management functions.
If the transition was explicit to a supported asymmetric access state and it failed, then the command shall be terminated
with CHECK CONDITION status, with the sense key set to HARDWARE ERROR, and the additional sense
code set to SET TARGET PORT GROUPS COMMAND FAILED. The target port group that encountered the error
should complete a transition to the unavailable target port asymmetric access state. If a target port group
asymmetric access state change occurred as a result of the failed transition, then the device server shall establish
a unit attention condition for the initiator port associated with every I_T nexus other than the I_T nexus on which the
SET TARGET PORT GROUPS command was received with the additional sense code set to ASYMMETRIC
ACCESS STATE CHANGED.
If the transition was implicit and it failed, then the device server shall establish a unit attention condition for the
initiator port associated with every I_T nexus with the additional sense code set to IMPLICIT ASYMMETRIC
ACCESS STATE TRANSITION FAILED.
An implicit CLEAR TASK SET task management function may be performed following a transition failure.
Once a transition is completed, the new target port asymmetric access state may apply to some or all tasks
entered into the task set before the completion of the transition. The new target port asymmetric access state shall
apply to all tasks received by the device server after completion of a transition.
After an implicit target port asymmetric access state change, a device server shall establish a unit attention
condition for the initiator port associated with every I_T nexus with the additional sense code set to ASYMMETRIC
ACCESS STATE CHANGED.
After an explicit target port asymmetric access state change, a device server shall establish a unit attention
condition with the additional sense code set to ASYMMETRIC ACCESS STATE CHANGED for the initiator port
associated with every I_T nexus other than the I_T nexus on which the SET TARGET GROUPS command was
received.
5.8.2.6 Preference Indicator
A device server may indicate one or more target port groups is a preferred target port group for accessing a logical
unit by setting the PREF bit to one in the target port group descriptor (see 6.25). The preference indication is
independent of the asymmetric access state.
An application client may use the PREF bit value in the target port group descriptor to influence the path selected to
a logical unit (e.g., a target port group in the standby target port asymmetric access state with the PREF bit set to
one may be chosen over a target port group in the active/optimized target port asymmetric access state with the
PREF bit set to zero).
The value of the PREF bit for a target port group may change whenever an asymmetric access state changes.
5.8.2.7 Implicit asymmetric logical units access management
SCSI target devices with implicit asymmetric logical units access management are capable of setting the target
port group asymmetric access state of each target port group using mechanisms other than the SET TARGET
PORT GROUPS command.
All logical units that report in the standard INQUIRY data (see 6.4.2) that they support asymmetric logical units
access and support implicit asymmetric logical unit access (i.e., the TPGS field contains 01b or 11b) shall:
a) Implement the INQUIRY command Device Identification VPD page identifier types 4h (see 7.6.3.7) and 5h
(see 7.6.3.8); and
b) Support the REPORT TARGET PORT GROUPS command as described in 6.25.
Implicit logical unit access state changes may be disabled with the IALUAE bit in the Control Extension mode page
(see 7.4.7).
5.8.2.8 Explicit asymmetric logical units access management
All logical units that report in the standard INQUIRY data (see 6.4.2) that they support asymmetric logical units
access and support explicit asymmetric logical unit access (i.e., the TPGS field contains 10b or 11b) shall:
a) Implement the INQUIRY command Device Identification VPD page (see 7.6.3) identifier types 4h and 5h;
b) Support the REPORT TARGET PORT GROUPS command as described in 6.25; and
c) Support the SET TARGET PORT GROUPS command as described in 6.31.
5.8.2.9 Behavior after power on, hard reset, logical unit reset, and I_T nexus loss
For all SCSI target devices that report in the standard INQUIRY data (see 6.4.2) that they support only explicit
asymmetric logical unit access (i.e., the TPGS field contains 10b), the target port shall preserve the target port
asymmetric access state during any power cycle, hard reset, logical unit reset, and I_T nexus loss.
5.8.3 Symmetric logical unit access
A device server that provides symmetrical access to a logical unit may use a subset of the asymmetrical logical
access features (see 5.8.2) to indicate this ability to an application client, providing an application client a common
set of commands to determine how to manage target port access to a logical unit.
Symmetrical logical unit access should be represented as follows:
a) The TPGS field in the standard INQUIRY data (see 6.4.2) indicates that implicit asymmetric access is
supported;
b) The REPORT TARGET PORT GROUPS command is supported; and
c) The REPORT TARGET PORT GROUPS parameter data indicates that the same state (e.g., active/
optimized state) is in effect for all target port groups.