Revision Information
Contents
Tables
Figures
Foreword
Introduction
SCSI standards family
1 Scope
2 Normative references
3 Definitions, symbols, abbreviations, and conventions
3.1 Definitions
3.1.1
additional sense code
3.1.2
aggregation
3.1.3
application client
3.1.4
argument
3.1.5
association
3.1.6
attribute
3.1.7
auto contingent allegiance (ACA)
3.1.8
background operation
3.1.9
blocking boundary
3.1.10
byte
3.1.11
class
3.1.12
class diagram
3.1.13
client
3.1.14
client-server
3.1.15
command
3.1.16
command completion
3.1.17
command descriptor block (CDB)
3.1.18
command duration limit
3.1.19
command identifier
3.1.20
command priority
3.1.21
command standard
3.1.22
completed command
3.1.23
confirmation
3.1.24
constraint
3.1.25
copy manager
3.1.26
current command
3.1.27
deferred error
3.1.28
dependency
3.1.29
dependent logical unit
3.1.30
device model
3.1.31
device server
3.1.32
device service request
3.1.33
device service response
3.1.34
extended logical unit addressing
3.1.35
faulted I_T nexus
3.1.36
field
3.1.37
generalization
3.1.38
hard reset
3.1.39
hierarchical LUN structure
3.1.40
hierarchical logical unit
3.1.41
I_T nexus
3.1.42
I_T nexus loss
3.1.43
I_T nexus loss event
3.1.44
I_T nexus transaction
3.1.45
I_T_L nexus
3.1.46
identifier
3.1.47
implicit head of queue
3.1.48
incorrect logical unit number
3.1.49
initiator port identifier
3.1.50
initiator port name
3.1.51
instance
3.1.52
in transit
3.1.53
layer
3.1.54
link
3.1.55
logical unit
3.1.56
logical unit inventory
3.1.57
logical unit name
3.1.58
logical unit number (LUN)
3.1.59
logical unit reset
3.1.60
logical unit reset event
3.1.61
management logical unit
3.1.62
multiplicity
3.1.63
name
3.1.64
nexus
3.1.65
non-faulted I_T nexus
3.1.66
object
3.1.67
object diagram
3.1.68
operation
3.1.69
peer entities
3.1.70
power loss expected
3.1.71
power loss expected event
3.1.72
power on
3.1.73
power on event
3.1.74
procedure
3.1.75
procedure call
3.1.76
protocol
3.1.77
queue
3.1.78
receiver
3.1.79
reference model
3.1.80
relative port identifier
3.1.81
request-response transaction
3.1.82
reset event
3.1.83
role
3.1.84
SCSI application layer (SAL)
3.1.85
SCSI device
3.1.86
SCSI device name
3.1.87
SCSI domain
3.1.88
SCSI event
3.1.89
SCSI I/O operation
3.1.90
SCSI I/O system
3.1.91
SCSI initiator device
3.1.92
SCSI initiator port
3.1.93
SCSI port
3.1.94
SCSI target device
3.1.95
SCSI target port
3.1.96
SCSI transport protocol layer (STPL)
3.1.97
SCSI transport protocol service confirmation
3.1.98
SCSI transport protocol service indication
3.1.99
SCSI transport protocol service request
3.1.100
SCSI transport protocol service response
3.1.101
SCSI transport protocol specific
3.1.102
sender
3.1.103
sense data
3.1.104
sense key
3.1.105
server
3.1.106
server request
3.1.107
server response
3.1.108
service
3.1.109
service delivery failure
3.1.110
service delivery subsystem
3.1.111
service delivery transaction
3.1.112
standard INQUIRY data
3.1.113
target port identifier
3.1.114
target port name
3.1.115
task
3.1.116
task attribute
3.1.117
task management function
3.1.118
task management request
3.1.119
task management response
3.1.120
task manager
3.1.121
task router
3.1.122
task set
3.1.123
task tag
3.1.124
token
3.1.125
transaction
3.1.126
transport protocol standard
3.1.127
well known logical unit
3.1.128
well known logical unit number (W-LUN)
3.2 Symbols and Acronyms
3.2.1 Abbreviations
3.2.2 Units
3.3 Keywords
3.3.1
invalid
3.3.2
mandatory
3.3.3
may
3.3.4
may not
3.3.5
obsolete
3.3.6
option, optional
3.3.7
prohibited
3.3.8
reserved
3.3.9
restricted
3.3.10
shall
3.3.11
should
3.3.12
vendor specific
3.4 Editorial conventions
3.5 Numeric and character conventions
3.5.1 Numeric conventions
3.5.2 Byte encoded character strings conventions
3.6 UML notation conventions
3.6.1 Notation conventions overview
3.6.2 Constraint and note conventions
3.6.3 Class diagram conventions
3.6.4 Object diagram conventions
3.7 State machine conventions
3.7.1 State machine conventions overview
3.7.2 Transitions
3.7.3 Messages, requests, indications, confirmations, responses, and event notifications
3.7.4 State machine counters, timers, and variables
3.8 Bit and byte ordering
3.9 Notation for procedure calls
4 SCSI architecture model
4.1 Introduction
4.2 Compliance requirements
4.3 The SCSI distributed service model
4.4 The SCSI client-server model
4.4.1 SCSI client-server model overview
4.4.2 Synchronizing client and server changes
4.4.3 Server request/response ordering
4.5 The SCSI structural model
4.6 SCSI classes
4.6.1 SCSI classes overview
4.6.2 SCSI Domain class
4.6.3 Service Delivery Subsystem class
4.6.4 SCSI Device class
4.6.4.1 SCSI Device class overview
4.6.4.2 SCSI Device Name attribute
4.6.5 SCSI Port class
4.6.5.1 SCSI Port class overview
4.6.5.2 Relative Port Identifier attribute
4.6.6 SCSI Target Port class
4.6.6.1 SCSI Target Port class overview
4.6.6.2 Target Port Identifier attribute
4.6.6.3 Target Port Name attribute
4.6.6.4 Send Data-In operation
4.6.6.5 Receive Data-Out operation
4.6.6.6 Terminate Data Transfer operation
4.6.6.7 Send Command Complete operation
4.6.6.8 Task Management Function Executed operation
4.6.7 Task Router class
4.6.7.1 Task Router class overview
4.6.7.2 Route Command operation
4.6.7.3 Route Task Management Function operation
4.6.7.4 Reroute Conglomerate Command operation
4.6.7.5 Reroute Conglomerate Task Management Functions operation
4.6.7.6 Stop Conglomerate Task Management Functions Rerouting operation
4.6.8 SCSI Initiator Port class
4.6.8.1 SCSI Initiator Port class overview
4.6.8.2 Initiator Port Identifier attribute
4.6.8.3 Initiator Port Name attribute
4.6.8.4 Send SCSI Command operation
4.6.8.5 Send Task Management Request operation
4.6.8.6 Get Initiator Port Identifier operation
4.6.8.7 Get Initiator Port Name operation
4.6.9 SCSI Target Device class
4.6.10 Logical Unit Conglomerate class
4.6.11 Level 1 Hierarchical Logical Unit class
4.6.12 Level 2 Hierarchical Logical Unit class
4.6.13 Level 3 Hierarchical Logical Unit class
4.6.14 Level 4 Hierarchical Logical Unit class
4.6.15 Hierarchical Logical Unit class
4.6.16 Management Logical Unit class
4.6.17 Well Known Logical Unit class
4.6.18 Logical Unit class
4.6.18.1 Logical Unit class overview
4.6.18.2 LUN attribute
4.6.18.3 Logical Unit Name attribute
4.6.18.4 Dependent Logical Unit attribute
4.6.18.5 Device Type attribute
4.6.19 Device Server class
4.6.19.1 Device Server class overview
4.6.19.2 Data-In Delivered operation
4.6.19.3 Data-Out Received operation
4.6.19.4 Data Transfer Terminated operation
4.6.20 Copy Manager class
4.6.20.1 Copy Manager class overview
4.6.20.2 Create ROD Token operation
4.6.20.3 Process ROD Token operation
4.6.21 Task Manager class
4.6.21.1 Task Manager class overview
4.6.21.2 SCSI Command Received operation
4.6.21.3 Task Management Request Received operation
4.6.21.4 Data Transfer Terminated operation
4.6.21.5 Nexus Loss operation
4.6.21.6 Transport Reset operation
4.6.21.7 Power Loss Expected operation
4.6.22 Task Set class
4.6.23 Command class
4.6.23.1 Command class overview
4.6.23.2 I_T_L Nexus attribute
4.6.23.3 Command Identifier attribute
4.6.23.4 Task Attribute attribute
4.6.23.5 CDB attribute
4.6.23.6 CRN attribute
4.6.23.7 Command Priority attribute
4.6.23.8 Status attribute
4.6.23.9 Sense Data attribute
4.6.23.10 Sense Data Length attribute
4.6.23.11 Service Response attribute
4.6.23.12 Status Qualifier attribute
4.6.23.13 First Burst Enabled attribute
4.6.23.14 Device Server Buffer attribute
4.6.23.15 Application Client Buffer Offset attribute
4.6.23.16 Request Byte Count attribute
4.6.23.17 Delivery Result attribute
4.6.24 Task Management Function class
4.6.24.1 Task Management Function class overview
4.6.24.2 Function Identifier attribute
4.6.24.3 I_T Nexus attribute
4.6.24.4 I_T_L Nexus attribute
4.6.24.5 Command Identifier attribute
4.6.24.6 Service Response attribute
4.6.24.7 Additional Response Information attribute
4.6.25 Administrative Logical Unit class
4.6.25.1 Administrative Logical Unit class overview
4.6.25.2 Rerouted commands and task management functions
4.6.25.2.1 Overview
4.6.25.2.2 Commands rerouted due to incorrect logical unit selection
4.6.25.2.3 Command rerouting in response to an administrative logical unit request
4.6.25.2.4 Task management function rerouting in response to an administrative logical unit request
4.6.26 Subsidiary Logical Unit class
4.6.26.1 Subsidiary Logical Unit class overview
4.6.26.2 Binding attribute
4.6.26.3 Host Bind Identifier attribute
4.6.27 SCSI Initiator Device class
4.6.28 Application Client class
4.6.28.1 Application Client class overview
4.6.28.2 Command Complete Received operation
4.6.28.3 Received Task Management Function Executed operation
4.6.28.4 Nexus Loss operation
4.6.28.5 Transport Reset operation
4.6.29 Application Client Task Management Function class
4.6.29.1 Application Client Task Management Function class overview
4.6.29.2 Function Identifier attribute
4.6.29.3 I_T Nexus attribute
4.6.29.4 I_T_L Nexus attribute
4.6.29.5 Command Identifier attribute
4.6.29.6 Service Response attribute
4.6.29.7 Additional Response Information attribute
4.6.30 Application Client Task Set class
4.6.31 Application Client Command class
4.6.31.1 Application Client Command class overview
4.6.31.2 I_T_L Nexus attribute
4.6.31.3 Command Identifier attribute
4.6.31.4 CDB attribute
4.6.31.5 Task Attribute attribute
4.6.31.6 Status attribute
4.6.31.7 Service Response attribute
4.6.31.8 Data-In Buffer attribute
4.6.31.9 Data-In Buffer Size attribute
4.6.31.10 Data-Out Buffer attribute
4.6.31.11 Data-Out Buffer Size attribute
4.6.31.12 CRN attribute
4.6.31.13 Command Priority attribute
4.6.31.14 First Burst Enabled attribute
4.6.31.15 Sense Data attribute
4.6.31.16 Sense Data Length attribute
4.6.31.17 Status Qualifier attribute
4.6.32 Discovery class
4.6.32.1 Discovery class overview
4.6.32.2 I_T Nexus attribute
4.6.32.3 I_T_L Nexus attribute
4.6.32.4 Return I_T Nexus operation
4.6.32.5 Return I_T_L Nexus operation
4.7 Logical unit number (LUN)
4.7.1 Introduction
4.7.2 Logical unit representation format
4.7.3 LUNs overview
4.7.4 Minimum LUN addressing requirements
4.7.5 Single level LUN structure
4.7.6 Complex LUN structures
4.7.6.1 Complex LUN structures overview
4.7.6.2 Logical unit conglomerate LUN structure
4.7.6.3 Hierarchical LUN structure
4.7.7 Addressing methods
4.7.7.1 Simple logical unit addressing method
4.7.7.2 Peripheral device addressing method
4.7.7.3 Flat space addressing method
4.7.7.4 Logical unit addressing method
4.7.7.5 Extended logical unit addressing
4.7.7.5.1 Well known logical unit addressing
4.7.7.5.2 Extended flat space addressing method
4.7.7.5.3 Long extended flat space addressing method
4.7.7.5.4 Logical unit not specified addressing
4.8 SCSI ports
4.8.1 SCSI port configurations
4.8.2 SCSI devices with multiple SCSI ports
4.8.3 SCSI target device with multiple SCSI ports structure
4.8.4 SCSI initiator device with multiple SCSI initiator ports structure
4.8.5 SCSI device with multiple SCSI ports structure
4.8.6 SCSI initiator device view of SCSI target device with multiple SCSI target ports
4.8.7 SCSI target device view of a SCSI initiator device with multiple SCSI initiator ports
4.9 The SCSI model for distributed communications
5 SCSI command model
5.1 The Execute Command procedure call
5.2 Command descriptor block (CDB)
5.3 Status
5.3.1 Status codes
5.3.2 Status qualifier
5.3.3 Status precedence
5.4 SCSI transport protocol services for SCSI commands
5.4.1 SCSI transport protocol services for SCSI commands overview
5.4.2 Command and status SCSI transport protocol services
5.4.2.1 Command and status SCSI transport protocol services overview
5.4.2.2 Send SCSI Command SCSI transport protocol service request
5.4.2.3 SCSI Command Received SCSI transport protocol service indication
5.4.2.4 Send Command Complete SCSI transport protocol service response
5.4.2.5 Command Complete Received SCSI transport protocol service confirmation
5.4.3 Data transfer SCSI transport protocol services
5.4.3.1 Introduction
5.4.3.2 Data-In delivery service
5.4.3.2.1 Send Data-In SCSI transport protocol service request
5.4.3.2.2 Data-In Delivered SCSI transport protocol service confirmation
5.4.3.3 Data-Out delivery service
5.4.3.3.1 Receive Data-Out SCSI transport protocol service request
5.4.3.3.2 Data-Out Received SCSI transport protocol service confirmation
5.4.3.4 Terminate Data Transfer service
5.4.3.4.1 Terminate Data Transfer SCSI transport protocol service request
5.4.3.4.2 Data Transfer Terminated SCSI transport protocol service confirmation
5.5 Command lifetime
5.6 Aborting commands
5.7 Command processing example
5.8 Commands that complete with CHECK CONDITION status
5.8.1 Overview
5.8.2 Handling commands when ACA is not in effect
5.8.3 Aborting commands terminated with a CHECK CONDITION status without establishing an ACA
5.9 Auto contingent allegiance (ACA)
5.9.1 ACA overview
5.9.2 Establishing an ACA
5.9.3 Handling new commands received on the faulted I_T nexus when ACA is in effect
5.9.4 Handling new commands received on non-faulted I_T nexuses when ACA is in effect
5.9.4.1 Command processing that is permitted for commands received on a non-faulted I_T nexuses during ACA
5.9.4.2 Handling new commands received on non-faulted I_T nexuses when ACA is in effect
5.9.5 Clearing an ACA condition
5.10 Overlapped commands
5.11 Incorrect logical unit numbers for commands
5.12 Task attribute exception conditions
5.13 Sense data
5.13.1 Command terminated sense data or polled sense data
5.13.2 Command completed sense data
5.14 Unit attention conditions
5.14.1 Unit attention conditions that are not coalesced
5.14.2 Coalescing unit attention conditions
6 SCSI events and event notification model
6.1 SCSI events overview
6.2 Establishing a unit attention condition subsequent to detection of an event
6.3 Conditions resulting from SCSI events
6.3.1 Power on
6.3.2 Hard reset
6.3.3 Logical unit reset
6.3.4 I_T nexus loss
6.3.5 Power loss expected
6.4 SCSI transport protocol services for event notification
6.4.1 SCSI transport protocol service for event notification overview
6.4.2 Nexus Loss SCSI transport protocol service indication
6.4.3 Transport Reset SCSI transport protocol service indication
6.4.4 Power Loss Expected SCSI transport protocol service indication
7 Task management functions
7.1 Task management function procedure calls
7.2 ABORT TASK
7.3 ABORT TASK SET
7.4 CLEAR ACA
7.5 CLEAR TASK SET
7.6 I_T NEXUS RESET
7.7 LOGICAL UNIT RESET
7.8 QUERY TASK
7.9 QUERY TASK SET
7.10 QUERY ASYNCHRONOUS EVENT
7.11 Task management function lifetime
7.12 SCSI transport protocol services for task management functions
7.12.1 SCSI transport protocol services for task management functions overview
7.12.2 Send Task Management Request SCSI transport protocol service request
7.12.3 Task Management Request Received SCSI transport protocol service indication
7.12.4 Task Management Function Executed SCSI transport protocol service response
7.12.5 Received Task Management Function Executed SCSI transport protocol service confirmation
7.13 Task management function example
8 Task set management
8.1 Task set management overview
8.2 Implicit head of queue
8.3 Command management model
8.4 Task attributes
8.4.1 Overview
8.4.2 Commands having the simple task attribute
8.4.3 Commands having the ordered task attribute
8.4.4 Commands having the head of queue task attribute
8.4.5 Commands having the aca task attribute
8.5 Command priority
8.6 Command duration limit
8.6.1 Command duration limit overview
8.6.2 Command duration scheduling
8.6.3 Enhanced command duration limits processing
8.7 LU (logical unit) state machines
8.7.1 LU state machine overview
8.7.2 LU_TM (task manager) state machine
8.7.2.1 LU_TM state machine overview
8.7.2.2 LU_TM command processing
8.7.2.3 LU_TM task management function processing
8.7.2.4 LU_TM event processing
8.7.2.5 LU_TM terminated command processing
8.7.2.5.1 LU_TM ACA not established
8.7.2.5.2 LU_TM ACA established
8.7.3 LU_DS (device server) state machine
8.7.3.1 LU_DS state machine overview
8.7.3.2 LU_DS command processing
8.7.3.3 LU_DS background processing
8.7.4 LU_CS (command state) state machine
8.7.4.1 LU_CS state machine overview
8.7.4.2 LU_CS1:Idle state
8.7.4.2.1 LU_CS1:Idle state description
8.7.4.2.2 Transition LU_CS1:Idle to LU_CS2:Dormant
8.7.4.2.3 Transition LU_CS1:Idle to LU_CS3:Enabled
8.7.4.3 LU_CS2:Dormant state
8.7.4.3.1 LU_CS2:Dormant state description
8.7.4.3.2 Transition LU_CS2:Dormant to LU_CS3:Enabled
8.7.4.3.3 Transition LU_CS2:Dormant to LU_CS1:Idle
8.7.4.4 LU_CS3:Enabled state
8.7.4.4.1 LU_CS1:Enabled state description
8.7.4.4.2 Transition LU_CS3:Enabled to LU_CS1:Idle
8.7.4.4.3 Transition LU_CS3:Enabled to LU_CS4:Blocked
8.7.4.4.4 Transition LU_CS3:Enabled to LU_CS5:Completed
8.7.4.5 LU_CS4:Blocked state
8.7.4.5.1 LU_CS4:Blocked state description
8.7.4.5.2 Transition LU_CS4:Blocked to LU_CS3:Enabled
8.7.4.5.3 Transition LU_CS4:Blocked to LU_CS5:Completed
8.7.4.6 LU_CS5:Completed state
8.7.4.6.1 LU_CS5:Completed state description
8.7.4.6.2 Transition LU_CS5:Completed to LU_CS1:Idle
8.8 Task set management examples
8.8.1 Introduction
8.8.2 Commands having the head of queue task attribute
8.8.3 Commands having the ordered task attribute
8.8.4 Commands having the aca task attribute
Annex A
Identifiers and names for objects
A.1 Identifiers and names overview
A.2 Identifiers and names
Annex B
SCSI Initiator Port attributes and SCSI Target Port attributes supported by SCSI transport protocols
Annex C
Terminology mapping
C.1 Terminology mapping to SAM-3
C.2 Terminology mapping to SAM-4
Annex D
SCSI transport protocol acronyms
EUI-64 (Extended Unique Identifier, a 64-bit globally unique identifier):
NAA:
SAS SSP:
UTF-8:
Bibliography