unh interoperability lab

71
Improving Networks Worldwide. UNH InterOperability Lab Serial Attached SCSI (SAS) Clause 9

Upload: aida

Post on 08-Jan-2016

43 views

Category:

Documents


3 download

DESCRIPTION

Serial Attached SCSI (SAS) Clause 9. UNH InterOperability Lab. 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. Presentation Topics. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: UNH InterOperability Lab

Improving Networks Worldwide.

UNH InterOperability Lab

Serial Attached SCSI (SAS)Clause 9

Page 2: UNH InterOperability Lab

Improving Networks Worldwide.

Page 3: UNH InterOperability Lab

3

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

Page 4: UNH InterOperability Lab

4

SAS Clause 9

Presentation Topics

• Transport Layer Protocols– SSP

•Frame Types•Sequencing•Command Mapping•Sample Traces

– SMP– STP

Page 5: UNH InterOperability Lab

5

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

Page 6: UNH InterOperability Lab

6

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

Page 7: UNH InterOperability Lab

7

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

Page 8: UNH InterOperability Lab

8

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

Page 9: UNH InterOperability Lab

9

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

Page 10: UNH InterOperability Lab

10

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

Page 11: UNH InterOperability Lab

11

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

Page 12: UNH InterOperability Lab

12

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

Page 13: UNH InterOperability Lab

13

SAS Clause 9

SSP Open Frame

• Initiator Port Transfer Tag– AKA “Tag”– Used for establishing context for

Commands and Tasks– Assigned by Initiators

Page 14: UNH InterOperability Lab

14

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

Page 15: UNH InterOperability Lab

15

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

Page 16: UNH InterOperability Lab

16

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)

Page 17: UNH InterOperability Lab

17

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

Page 18: UNH InterOperability Lab

18

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

Page 19: UNH InterOperability Lab

19

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

Page 20: UNH InterOperability Lab

20

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

Page 21: UNH InterOperability Lab

21

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

Page 22: UNH InterOperability Lab

22

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

Page 23: UNH InterOperability Lab

23

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

Page 24: UNH InterOperability Lab

24

SAS Clause 9

DATA Frames Information Unit

• Only contains data

Page 25: UNH InterOperability Lab

25

SAS Clause 9

XFER_RDY Frames

• Type: 0x05• Information Unit: Transfer Ready• Originates: SSP Targets Only• Information Unit Size: 12 bytes

Page 26: UNH InterOperability Lab

26

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.

Page 27: UNH InterOperability Lab

27

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.

Page 28: UNH InterOperability Lab

28

SAS Clause 9

COMMAND Frames

• Type: 0x06• Information Unit: Command• Originates: SSP Initiator Only• Information Unit Size: 28 to 280

bytes

Page 29: UNH InterOperability Lab

29

SAS Clause 9

COMMAND Frames Information Unit

• Logical Unit Number– Refers to the LUN on the DUT this

command will be routed too

Page 30: UNH InterOperability Lab

30

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

Page 31: UNH InterOperability Lab

31

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

Page 32: UNH InterOperability Lab

32

SAS Clause 9

COMMAND Frames Information Unit

• Task Attribute– Used to control the order of execution

of received commands

Page 33: UNH InterOperability Lab

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

Page 34: UNH InterOperability Lab

34

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

Page 35: UNH InterOperability Lab

35

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

Page 36: UNH InterOperability Lab

36

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

Page 37: UNH InterOperability Lab

37

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

Page 38: UNH InterOperability Lab

38

SAS Clause 9

COMMAND Frames Information Unit

• Task Attribute– All other values (011b and 101b-

111b) are reserved and shall be considered invalid

Page 39: UNH InterOperability Lab

39

SAS Clause 9

COMMAND Frames Information Unit

• Additional CDB Length– Length in Dwords (4 bytes) of the

ADDITIONAL CDB field

Page 40: UNH InterOperability Lab

40

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...

Page 41: UNH InterOperability Lab

41

SAS Clause 9

CDB Example

• Sample CDB – READ (16) Command– Covered in more detail in the SCSI

presentation

Page 42: UNH InterOperability Lab

42

SAS Clause 9

TASK Frames

• Type: 0x16• Information Unit: Task

Management Function• Originator: SSP Initiator only• Information Unit Size: 28 bytes

Page 43: UNH InterOperability Lab

43

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

Page 44: UNH InterOperability Lab

44

SAS Clause 9

TASK Frames Information Unit

• Task Management Function– Specifies the type of task

management function

Page 45: UNH InterOperability Lab

45

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

Page 46: UNH InterOperability Lab

46

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

Page 47: UNH InterOperability Lab

47

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

Page 48: UNH InterOperability Lab

48

SAS Clause 9

RESPONSE Frames

• Type: 0x07• Information Unit: Response

Information Unit• Originator: SSP Target only• Information Unit Size: 24 to 1024

bytes

Page 49: UNH InterOperability Lab

49

SAS Clause 9

RESPONSE Frames Information Unit

• Status Qualifier & Status– Format Determined by DATAPRES

Field

Page 50: UNH InterOperability Lab

50

SAS Clause 9

RESPONSE Frames Information Unit

• Datapres– Specifies if no data, response data, or

sense data is contained in this frame

Page 51: UNH InterOperability Lab

51

SAS Clause 9

REPSONSE Frames Information Unit

• Sense Data Length– Length of any Sense Data contained

within this frame

Page 52: UNH InterOperability Lab

52

SAS Clause 9

REPSONSE Frames Information Unit

• Response Data Length– Length of any Response Data

contained within this frame

Page 53: UNH InterOperability Lab

53

SAS Clause 9

REPSONSE Frames Information Unit

• Response Data– # of bytes specified of Response Data

• Sense Data– # of bytes specified of Sense Data

Page 54: UNH InterOperability Lab

54

SAS Clause 9

Response Data Field

• Additional Response Information– Contains information regarding

certain Task Management Functions as defined in SAM-4

– Reserved otherwise

Page 55: UNH InterOperability Lab

55

SAS Clause 9

Response Data Field

Page 56: UNH InterOperability Lab

56

SAS Clause 9

Sequences of SSP Frames

• Test Unit Ready and other Non-Data Commands

Page 57: UNH InterOperability Lab

57

SAS Clause 9

Sequences of SSP Frames

• Write Command Sequence

Page 58: UNH InterOperability Lab

58

SAS Clause 9

Sequences of SSP Frames

• Read Command Sequence

Page 59: UNH InterOperability Lab

59

SAS Clause 9

Sequences of SSP Frames

• Task management sequence

Page 60: UNH InterOperability Lab

60

SAS Clause 9

SAS Mapping

Page 61: UNH InterOperability Lab

61

SAS Clause 9

SAS Mapping

• All SCSI Commands are located in the CDB and Additional CDB Bytes Field of a SSP Command Frame

Page 62: UNH InterOperability Lab

62

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

Page 63: UNH InterOperability Lab

63

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

Page 64: UNH InterOperability Lab

64

SAS Clause 9

Presentation Topics

• Transport Layer Protocols– SSP

• Frame Types• Sequencing• Command Mapping• Sample Traces

– SMP– STP

Page 65: UNH InterOperability Lab

65

SAS Clause 9

SMP Frames

• SMP Frame Type– Specifies the frame type– 40h – SMP Request – SMP Initiators Only– 41h – SMP Response – SMP Targets Only

Page 66: UNH InterOperability Lab

66

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)

Page 67: UNH InterOperability Lab

67

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

Page 68: UNH InterOperability Lab

68

SAS Clause 9

Major SMP Functions• ZONED BROADCAST

– Instructs the zoning device to broadcast the specified zones

Page 69: UNH InterOperability Lab

69

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

Page 70: UNH InterOperability Lab

70

SAS Clause 9

Presentation Topics

• Transport Layer Protocols– SSP

• Frame Types• Sequencing• Command Mapping• Sample Traces

– SMP– STP

Page 71: UNH InterOperability Lab

71

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