UNH Inter Operability Lab Serial Attached SCSI SAS
UNH Inter. Operability Lab Serial Attached SCSI (SAS) Clause 7 Improving Networks Worldwide.
Improving Networks Worldwide.
SAS Clause 7 Presentation Topics • Primitive Overview • Primitive Types and definitions • Open Connection Handshake 3
SAS Clause 7 Primitives Overview • Primitives are Dwords whose first character is. K 28. 5 • Example Primitive: K 28. 5 D 01. 3 4
SAS Clause 7 Primitive Format • 1 st character: K 28. 5 • 2 nd character: Constant data character • 3 rd character: Constant data character • Last character: Constant data character 5
SAS Clause 7 Presentation Topics • Primitive Overview • Primitive Types and definitions • Open Connection Handshake 6
SAS Clause 7 Primitive Types • ALIGN • SOAF • MUX • EOAF • NOTIFY • ERROR • AIP • OPEN_ACCEPT • BREAK • OPEN_REJECT • BROADCAST • ACK • CLOSE • NAK • HARD_RESET • DONE • TRAIN • RRDY 7
SAS Clause 7 ALIGN • ALIGNs are used for: – OOB signals (OOB signals are typically built with ALIGN) – character and dword alignment during the speed negotiation sequence – physical link rate tolerance management after the phy reset sequence and rate matching during connections – ALIGN is used every 2048 dwords in SAS and 256 dwords in SATA ALIGN (0): K 28. 5 D 10. 2 D 27. 3 ALIGN (1): K 28. 5 D 07. 0 ALIGN (2): K 28. 5 D 01. 3 ALIGN (3): K 28. 5 D 27. 3 8
SAS Clause 7 MUX • MUX is used if multiplexing is enabled as follows: – transmitted during the multiplexing sequence substituted in place of an ALIGN being – transmitted for physical link rate tolerance management or rate matching to confirm the logical link number. – MUX (LOGICAL LINK 0): K 28. 5 D 02. 0 D 16. 7 D 31. 4 MUX (LOGICAL LINK 1): K 28. 5 D 04. 7 D 31. 4 D 27. 4 9
SAS Clause 7 NOTIFY • NOTIFY may be substituted in place of any ALIGN being transmitted for physical link rate tolerance management or rate matching. It tells the device about power consumption • A specific NOTIFY shall not be transmitted in more than three consecutive dwords until at least three other dwords have been transmitted. • NOTIFY shall not be forwarded through expander devices. • SAS target devices are not required to detect every transmitted NOTIFY. • NOTIFY (ENABLE SPINUP): K 28. 5 D 31. 3 • NOTIFY (POWER LOSS EXPECTED): K 28. 5 D 31. 3 D 07. 0 D 01. 3 • NOTIFY (RESERVED 1): K 28. 5 D 31. 3 D 07. 0 • NOTIFY (RESERVED 2): K 28. 5 10 D 31. 3 D 10. 2
SAS Clause 7 AIP • AIP is transmitted by an expander device after a connection request to specify that the connection request is being processed and specify the status of the connection request. • AIP means Arbitration In Process and is a sequence primitive, it is sent 3 times • AIP (NORMAL): K 28. 5 D 27. 4 11
SAS Clause 7 BREAK • BREAK is used to abort a connection request or break a connection. • BREAK_REPLY is used to confirm the receipt of a BREAK • It is a sequence primitive and sent 6 times • BREAK: K 28. 5 D 02. 0 D 24. 0 D 07. 3 BREAK_REPLY: K 28. 5 D 02. 0 D 29. 7 D 16. 7 12
SAS Clause 7 BROADCAST • BROADCASTs are used to notify SAS ports and expander devices in a SAS domain about certain events. • Is a sequence primitive and is sent 6 times • BROADCAST (CHANGE): K 28. 5 D 04. 7 D 02. 0 D 01. 4 • BROADCAST (EXPANDER) K 28. 5 D 04. 7 D 01. 4 D 24. 0 13
SAS Clause 7 CLOSE • CLOSE is used to close a connection. This primitive may be originated by a SAS initiator port or a SAS target port. • It is a sequence primitive and is sent 3 times • CLOSE (NORMAL): K 28. 5 D 02. 0 D 30. 0 D 27. 4 14
SAS Clause 7 EOAF • EOAF specifies the end of an address frame. • EOAF K 28. 5 D 24. 0 D 07. 3 D 31. 4 15
SAS Clause 7 ERROR • ERROR should be transmitted by an expander device while the expander device is forwarding dwords from a SAS physical link or SATA physical link to a SAS physical link and receives an invalid dword or an ERROR. • ERROR: K 28. 5 D 02. 0 D 01. 4 D 29. 7 16
SAS Clause 7 HARD_RESET • HARD_RESET is used to force a phy to generate a hard reset to its port. • It comes before and IDENTIFY address frame • It is a sequence primitive and is sent at least 6 times every time HARD_RESET is sent • HARD_RESET 10 bit characters: K 28. 5 D 02. 0 17
SAS Clause 7 OPEN_ACCEPT • OPEN_ACCEPT specifies the acceptance of a connection request. • OPEN_ACCEPT: K 28. 5 D 16. 7 18
SAS Clause 7 OPEN_REJECT • OPEN_REJECT specifies that a connection request has been rejected and specifies the reason for the rejection. 19
SAS Clause 7 OPEN_REJECT Types • • • OPEN_REJECT (BAD DESTINATION)A connection request routes to a destination expander phy in the same expander port as the source expander phy and the expander port is using the direct routing method. 10 bit: K 28. 5 D 31. 4 OPEN_REJECT(CONNECTION RATE NOT SUPPORTED)The requested connection rate is not supported on some physical link on the pathway between the source phy and destination phy. When a SAS initiator phy is directly attached to a SAS target phy, the requested connection rate is not supported by the destination phy. 10 bit: K 28. 5 D 31. 4 D 04. 7 D 29. 7 OPEN_REJECT (WRONG DESTINATION)The destination SAS address does not match the SAS address of the SAS port to which the connection request was delivered. 10 bit: K 28. 5 D 31. 4 D 16. 7 D 24. 0 20
SAS Clause 7 SOAF • SOAF specifies the start of an address frame • SOAF: K 28. 5 D 24. 0 D 30. 0 D 01. 4 21
SAS Clause 7 TRAIN/ TRAIN_DONE • Are used during Train-SNW during speed negotiation. • Are sequence primitives and are sent 6 times • TRAIN: K 28. 5 D 30. 3 • TRAIN_DONE: K 28. 5 D 30. 3 D 10. 2 22
SAS Clause 7 ACK • ACK specifies the positive acknowledgement of an SSP frame. • Used only in SSP and SMP connections • ACK: K 28. 5 D 01. 4 23
SAS Clause 7 DONE • DONE is used to start closing an SSP connection and specify a reason for doing so. • DONE is not used during an SMP or STP connection • DONE(Normal): K 28. 5 D 30. 0 24
SAS Clause 7 EOF • EOF specifies the end of an SSP or SMP frame • EOF: K 28. 5 D 24. 0 D 16. 7 D 27. 4 25
SAS Clause 7 NAK • NAK specifies the negative acknowledgement of an SSP frame and the reason for doing so. • NAK (CRC ERROR) K 28. 5 D 01. 4 D 27. 4 D 04. 7 26
SAS Clause 7 RRDY • RRDY is used to increase SSP frame credit • Means Receive Ready • Used to let another device know that it is ready to receive data/commands • RRDY(Normal) 10 bit: K 28. 5 D 01. 4 D 24. 0 D 16. 7 27
SAS Clause 7 SOF • SOF specifies the start of an SSP or SMP frame. • SOF: K 28. 5 D 24. 0 D 04. 7 D 07. 3 28
SAS Clause 7 Presentation Topics • Primitive Overview • Primitive Types and definitions • Open Connection Handshake 29
SAS Clause 7 OPEN Connection Handshake 1 st: The SAS initiator sends a SOAF to the Target with the address information and closes the information with a EOAF. 30
SAS Clause 7 OPEN Connection Handshake 2 nd: The Target then responds with an OPEN_ACCEPT and RRDY frames. 31
SAS Clause 7 OPEN Connection Handshake • 3 rd: The Initiator then sends a data frame starting with a SOF frame followed by dwords and closes the frame with EOF. • 4 th: The Target responds with an ACK or NAK and then transmits a RRDY, when ready to receive. 32
SAS Clause 7 OPEN Connection Handshake • 5 th: The Initiator transmits a DONE primitive when it is finished transmitting. The Target responds with a DONE. • 6 th: Then the Initiator transmits CLOSE, 3 times to close the connection. 33
SAS Clause 7 OPEN Connection Handshake 34
- Slides: 34