SMP

advertisement
UNH InterOperability Lab
Serial Attached SCSI (SAS)
Clause 9
Improving Networks Worldwide.
Improving Networks Worldwide.
SAS Clause 9
Clause 8
• Port Layer
– Links SAS Link Layer state machines with
SSP, SMP, and STP state machines
• Operation of the Port Layer is
transparent
• No major testable items are be found in
Clause 8
3
SAS Clause 9
Presentation Topics
• Transport Layer Protocols
– SSP
• Frame Types
• Sequencing
• Command Mapping
• Sample Traces
– SMP
– STP
4
SAS Clause 9
SSP Connections
• First, an SSP Connection is opened
between two link partners
– One must be an SSP Initiator
– The other must be an SSP Target
– Determined by bits asserted in the Identify
Address Frames
5
SAS Clause 9
SSP Open Frame
• Frame Type
– 1 Byte value 0x01, 0x05, 0x06, 0x07, 0x16
– 0xF0 through 0xFF are vendor specific
– All others are reserved and invalid
6
SAS Clause 9
SSP Open Frame
• Hashed Destination and Source Addresses
– 4 byte address calculated from the WWNs of the
source and destination
– Details on Hash Algorithm and collision
likelihood found in Annex H of the SAS 2.0
Standard
7
SAS Clause 9
SSP Open Frame
• TLR Control
– Valid for only Command Frames
• Reserved for all other frame types
– Used to communicate support for Transport Layer
Retries by initiators
– See Section 9.2.1 of SAS 2.0 Standard for more
details
8
SAS Clause 9
SSP Open Frame
• Retry Data Frames
– Valid only for XFER_RDY Frames
• Reserved for all other frame types
– Set to 1 indicates to initiator to disable
Transport Layer Retries for write DATA
frames associated with this XFER_RDY
9
SAS Clause 9
SSP Open Frame
• Retransmit
– Valid for TASK, RESPONSE, and XFER_RDY
Frames
• Reserved for all other frame types
– Set to one indicates the frame is a retransmission
• Circumstances described in 9.2.4 of SAS 2.0 Standard
10
SAS Clause 9
SSP Open Frame
• Changing Data Pointer
– Valid for Retransmitted DATA Frame
• Reserved for all other frame types
– Set to one indicates that DATA OFFSET field may
not be sequentially increased
– More details in section 9.2.4.5 of SAS 2.0 Standard
11
SAS Clause 9
SSP Open Frame
• Number of Fill Bytes
– Valid for DATA and RESPONSE Frames
• Reserved for all other frame types
– Specifies the number of bytes between the
Information Unit and the CRC in the frame added
to make the size of the frame divisible by 4
– Needed for the CRC calculation to work correctly
12
SAS Clause 9
SSP Open Frame
• Initiator Port Transfer Tag
– AKA “Tag”
– Used for establishing context for
Commands and Tasks
– Assigned by Initiators
13
SAS Clause 9
SSP Open Frame
• Target Port Transfer Tag
–
–
–
–
AKA “TPTT”
Used for establishing context for DATA Writes
Assigned by a target
Optionally implemented by targets
14
SAS Clause 9
SSP Open Frame
• Data Offset
– Used to discribe where the data is placed
relative to series of data commands
– Valid for only DATA frames
• Ignored in all other frames
15
SAS Clause 9
SSP Open Frame
• Information Unit
– Non-general information unit
• DATA, XFER_RDY, COMMAND...
– Varies by frame type
– Contents covered further in this
presentation (slide 20)
16
SAS Clause 9
SSP Open Frame
• Fill Bytes
– Added only if needed
– Used to make frame size divisible by 4 for
CRC calculations
– Number in command specified by Number
Of Fill Bytes Field
17
SAS Clause 9
SSP Open Frame
• CRC – Cyclic Redundancy Check
– CRC is used to detect bit errors inside of transmitted
frames
– Transmitter calculates CRC and attaches it to every
frame
– Receiver calculates CRC at receiption and if it doesn't
match what is received, transmits NAK (CRC ERROR)
to the transmitter
18
SAS Clause 9
SSP Open Frame
• CRC – Cyclic Redundancy Check
– Computed over the entire SSP Frame
– See Annex G of SAS 2.0 Standard for more
information on CRC
19
SAS Clause 9
SSP Connections
• Once the SSP Connection (see Clause 7)
is established, five types of frames can
be transmitted inside that SSP
connection
– DATA
– XFER_RDY
– COMMAND
– RESPONSE
– TASK
20
SAS Clause 9
SSP Frame Types
• DATA
– Carries actual data to and from targets and
initiators
• XFER_RDY
– Sent by targets giving initiators permission
to transmit data
• COMMAND
– Contains CDBs for commands sent by
initiators
21
SAS Clause 9
SSP Frame Types
• RESPONSE
– Sent at the completion of a command by
targets to initiators. Contains information
regarding current status and the command
status
• TASK
– Sent by initiators to targets to manage
outstanding commands and other noncommand related activities
22
SAS Clause 9
DATA Frames
• Type: 0x01
• Information Unit: Data (Read or Write)
• Originates: From a SSP Initiator or SSP
Target
• Information Unit Size: 1 to 1024 Bytes
23
SAS Clause 9
DATA Frames Information Unit
• Only contains data
24
SAS Clause 9
XFER_RDY Frames
• Type: 0x05
• Information Unit: Transfer Ready
• Originates: SSP Targets Only
• Information Unit Size: 12 bytes
25
SAS Clause 9
XFER_RDY Frames Information Unit
• Requested Offset
– Specifies an offset in the write data buffer
of the application client which can be
transmitted in the context of this
XFER_RDY frame.
26
SAS Clause 9
XFER_RDY Frames Information Unit
• Write Data Length
– Specifies the number of bytes that may be
transmitted within the context of this
XFER_RDY frame.
27
SAS Clause 9
COMMAND Frames
• Type: 0x06
• Information Unit: Command
• Originates: SSP Initiator Only
• Information Unit Size: 28 to 280 bytes
28
SAS Clause 9
COMMAND Frames Information Unit
• Logical Unit Number
– Refers to the LUN on the DUT this
command will be routed too
29
SAS Clause 9
COMMAND Frames Information Unit
• Enable First Burst
– Set to 1 specifies that the SSP port shall
expect first burst data for the command as
defined by the FIRST BURST SIZE field in
the Disconnect-Reconnect Mode Page
30
SAS Clause 9
COMMAND Frames Information Unit
• Command Priority
– Specifies the importance of the command
relative to other commands with TASK
ATTRIBUTE set to 0
31
SAS Clause 9
COMMAND Frames Information Unit
• Task Attribute
– Used to control the order of execution of
received commands
32
SAS Clause 9
COMMAND Frames Information Unit
• Task Attribute
– Simple: 000b
– Relies on COMMAND PRIORITY field for
order of execution via rules defined in
SAM-4
33
SAS Clause 9
COMMAND Frames Information Unit
• Task Attribute
– Simple: 000b
– Relies on COMMAND PRIORITY field for
order of execution via rules defined in
SAM-4
34
SAS Clause 9
COMMAND Frames Information Unit
• Task Attribute
– Head of Queue: 001b
– Specifies the Command is to be handled
according to the HEAD OF QUEUE task
attribute defined in SAM-4
35
SAS Clause 9
COMMAND Frames Information Unit
• Task Attribute
– Ordered: 010b
– Specifies the command is to be handled
according the ORDERED task attribute
defined in SAM-4
36
SAS Clause 9
COMMAND Frames Information Unit
• Task Attribute
– ACA: 100b
– Specifies the command is to be handled
according the rules for an ACA task
attribute defined in SAM-4
37
SAS Clause 9
COMMAND Frames Information Unit
• Task Attribute
– All other values (011b and 101b-111b) are
reserved and shall be considered invalid
38
SAS Clause 9
COMMAND Frames Information Unit
• Additional CDB Length
– Length in Dwords (4 bytes) of the
ADDITIONAL CDB field
39
SAS Clause 9
COMMAND Frames Information Unit
• CDB and Additional CDB Bytes
– Together contain the Command Descriptor/Date
Block of the command
– Commands are defined in SCSI Command
Standards
• SPC, SBC, SSC, etc...
40
SAS Clause 9
CDB Example
• Sample CDB – READ (16) Command
– Covered in more detail in the SCSI
presentation
41
SAS Clause 9
TASK Frames
• Type: 0x16
• Information Unit: Task Management
Function
• Originator: SSP Initiator only
• Information Unit Size: 28 bytes
42
SAS Clause 9
TASK Frames Information Unit
• Logical Unit Number
– Refers to the LUN on the DUT this Task
Management Function will be routed too
43
SAS Clause 9
TASK Frames Information Unit
• Task Management Function
– Specifies the type of task management
function
44
SAS Clause 9
TASK Frames Information Unit
• Task Management Function
– 01h: ABORT TASK: Instructs the LUN to
abort the task with the IPTT specified in
the TASK Frame
– 02: ABORT TASK SET: Instructions the
LUN to abort the task set associated with
the ITPT specified in the TASK Frame
45
SAS Clause 9
TASK Frames Information Unit
• Task Management Function
– 04h: CLEAR TASK SET: Instructs the LUN
to clear the task set associated with the
IPTT specified in the TASK Frame.
– 08h: LOGICAL UNIT RESET: Instructs the
LUN to perform a reset
– 10h: I_T NEXUS RESET: Instructs the LUN
to perform an I_T NEXUS RESET
46
SAS Clause 9
TASK Frames Information Unit
• Task Management Function
– 20h: Reserved
– 40h: CLEAR ACA: Instructs the LUN to
perform a Clear ACA function
– 80h: QUERY TASK: Instructs the LUN to
perform a QUERY TASK function on the
command associated with the IPTT
specified in the TASK Frame
47
SAS Clause 9
RESPONSE Frames
• Type: 0x07
• Information Unit: Response Information
Unit
• Originator: SSP Target only
• Information Unit Size: 24 to 1024 bytes
48
SAS Clause 9
RESPONSE Frames Information Unit
• Status Qualifier & Status
– Format Determined by DATAPRES Field
49
SAS Clause 9
RESPONSE Frames Information Unit
• Datapres
– Specifies if no data, response data, or sense
data is contained in this frame
50
SAS Clause 9
REPSONSE Frames Information Unit
• Sense Data Length
– Length of any Sense Data contained within
this frame
51
SAS Clause 9
REPSONSE Frames Information Unit
• Response Data Length
– Length of any Response Data contained
within this frame
52
SAS Clause 9
REPSONSE Frames Information Unit
• Response Data
– # of bytes specified of Response Data
• Sense Data
– # of bytes specified of Sense Data
53
SAS Clause 9
Response Data Field
• Additional Response Information
– Contains information regarding certain
Task Management Functions as defined in
SAM-4
– Reserved otherwise
54
SAS Clause 9
Response Data Field
55
SAS Clause 9
Sequences of SSP Frames
• Test Unit Ready and other Non-Data
Commands
56
SAS Clause 9
Sequences of SSP Frames
• Write Command Sequence
57
SAS Clause 9
Sequences of SSP Frames
• Read Command Sequence
58
SAS Clause 9
Sequences of SSP Frames
• Task management sequence
59
SAS Clause 9
SAS Mapping
60
SAS Clause 9
SAS Mapping
•
All SCSI
Commands are
located in the
CDB and
Additional
CDB Bytes
Field of a SSP
Command
Frame
61
SAS Clause 9
Sample Write Command Sequence
•
•
•
•
Initiator sends command to target
Target returns XFER_RDY
Initiator send data to target
Target returns response when data
transmission is complete
62
SAS Clause 9
Sample Read Command Sequence
• Initiator sends command to target
• Target immediately begins transmitting data
• Target transmits response frame when data
transmission is complete
63
SAS Clause 9
Presentation Topics
• Transport Layer Protocols
– SSP
• Frame Types
• Sequencing
• Command Mapping
• Sample Traces
– SMP
– STP
64
SAS Clause 9
SMP Frames
• SMP Frame Type
– Specifies the frame type
– 40h – SMP Request – SMP Initiators Only
– 41h – SMP Response – SMP Targets Only
65
SAS Clause 9
Major SMP Functions
• REPORT GENERAL
– Returns general information
• DISCOVER
– Returns specific information about
specified phy
• REPORT ZONE PERMISSION TABLE
– Returns zone permission descriptors
requested (Current, Shadow, Saved, or
Default)
66
SAS Clause 9
Major SMP Functions
• CONFIGURE ZONE PERMISSION
TABLE
– Allows the configuration of the zone
permission descriptors
– ENABLE DISABLE ZONING
– Turns zoning on or off on at the expander
device
– REPORT BROADCAST
– Returns the Broadcast Descriptors specified
67
SAS Clause 9
Major SMP Functions
• ZONED BROADCAST
– Instructs the zoning device to broadcast the
specified zones
68
SAS Clause 9
SMP Frames
• Frame Dependent Bytes
– Varies based on the Type of SMP Frame
– Size always divisible by 4 bytes for CRC
calculation
• CRC for error detection
69
SAS Clause 9
Presentation Topics
• Transport Layer Protocols
– SSP
• Frame Types
• Sequencing
• Command Mapping
• Sample Traces
– SMP
– STP
70
SAS Clause 9
STP Connections
• SATA Devices transmit an initial FIS upon a
Link Reset
– Expander Devices will not forward this FIS to STP
Initiators
– Create a Block of Shadow Registers to hold this
information which is reported upon request from
an SMP Initiator using the SMP REPORT PHY
SATA function
– All Communication between STP Initiators and
SATA Devices is done via rules established in the
SATA Standard
– SATA BIST Requests shall not be forwarded to
SATA Targets by Expander Devices
71
Download