unh interoperability lab

Post on 08-Jan-2016

44 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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

Improving Networks Worldwide.

UNH InterOperability Lab

Serial Attached SCSI (SAS)Clause 9

Improving Networks Worldwide.

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

4

SAS Clause 9

Presentation Topics

• Transport Layer Protocols– SSP

•Frame Types•Sequencing•Command Mapping•Sample Traces

– SMP– STP

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

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

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

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

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

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

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

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

13

SAS Clause 9

SSP Open Frame

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

Commands and Tasks– Assigned by Initiators

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

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

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)

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

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

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

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

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

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

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

24

SAS Clause 9

DATA Frames Information Unit

• Only contains data

25

SAS Clause 9

XFER_RDY Frames

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

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.

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.

28

SAS Clause 9

COMMAND Frames

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

bytes

29

SAS Clause 9

COMMAND Frames Information Unit

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

command will be routed too

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

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

32

SAS Clause 9

COMMAND Frames Information Unit

• Task Attribute– Used to control the order of execution

of received commands

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– Simple: 000b – Relies on COMMAND PRIORITY field

for order of execution via rules defined in SAM-4

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

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

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

38

SAS Clause 9

COMMAND Frames Information Unit

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

111b) are reserved and shall be considered invalid

39

SAS Clause 9

COMMAND Frames Information Unit

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

ADDITIONAL CDB field

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

41

SAS Clause 9

CDB Example

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

presentation

42

SAS Clause 9

TASK Frames

• Type: 0x16• Information Unit: Task

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

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

44

SAS Clause 9

TASK Frames Information Unit

• Task Management Function– Specifies the type of task

management function

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

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

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

48

SAS Clause 9

RESPONSE Frames

• Type: 0x07• Information Unit: Response

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

bytes

49

SAS Clause 9

RESPONSE Frames Information Unit

• Status Qualifier & Status– Format Determined by DATAPRES

Field

50

SAS Clause 9

RESPONSE Frames Information Unit

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

sense data is contained in this frame

51

SAS Clause 9

REPSONSE Frames Information Unit

• Sense Data Length– Length of any Sense Data contained

within this frame

52

SAS Clause 9

REPSONSE Frames Information Unit

• Response Data Length– Length of any Response Data

contained within this frame

53

SAS Clause 9

REPSONSE Frames Information Unit

• Response Data– # of bytes specified of Response Data

• Sense Data– # of bytes specified of Sense Data

54

SAS Clause 9

Response Data Field

• Additional Response Information– Contains information regarding

certain Task Management Functions as defined in SAM-4

– Reserved otherwise

55

SAS Clause 9

Response Data Field

56

SAS Clause 9

Sequences of SSP Frames

• Test Unit Ready and other Non-Data Commands

57

SAS Clause 9

Sequences of SSP Frames

• Write Command Sequence

58

SAS Clause 9

Sequences of SSP Frames

• Read Command Sequence

59

SAS Clause 9

Sequences of SSP Frames

• Task management sequence

60

SAS Clause 9

SAS Mapping

61

SAS Clause 9

SAS Mapping

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

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

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

64

SAS Clause 9

Presentation Topics

• Transport Layer Protocols– SSP

• Frame Types• Sequencing• Command Mapping• Sample Traces

– SMP– STP

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

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)

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

68

SAS Clause 9

Major SMP Functions• ZONED BROADCAST

– Instructs the zoning device to broadcast the specified zones

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

70

SAS Clause 9

Presentation Topics

• Transport Layer Protocols– SSP

• Frame Types• Sequencing• Command Mapping• Sample Traces

– SMP– STP

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

top related