UNH InterOperability Lab Serial Attached SCSI (SAS) Clause 9 Improving

71 Slides775.50 KB

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 non-command 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 101b111b) 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 NonData 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

Back to top button