SAS Interface
74 C141-C013
Table 1.31 SSP frame interlock requirements
SSP frame type Interlock requirement
COMMAND Interlocked
TASK Interlocked
XFER_RDY Interlocked
DATA Non-interlocked
RESPONSE Interlocked
Before transmitting an interlocked frame, an SSP phy shall wait for all SSP
frames to be acknowledged with ACK or NAK, even if credit is available. After
transmitting an interlocked frame, an SSP phy shall not transmit another SSP
frame until it has been acknowledged with ACK or NAK, even if credit is
available.
Before sending a non-interlocked frame, an SSP phy must wait for the following
frames to be acknowledged with ACK or NAK, even if credit is available:
a) all non-interlocked frames with different tags; and
b) all interlocked frames;
After sending a non-interlocked frame, an SSP phy may send another non-
interlocked frame with the same tag if credit is available. The SSP phy must not
send the following frames until all SSP frames have been acknowledged with
ACK or NAK, even if credit is available:
a) a non-interlocked frame with a different tag; or
b) an interlocked frame;
Interlocking does not prevent sending and receiving interlocked frames
simultaneously (e.g., an SSP INIT phy can send a COMMAND frame while
receiving XFER_RDY, DATA, or RESPONSE frames for a different command).
An SSP phy may transmit primitives responding to traffic it is receiving (e.g., an
ACK or NAK to acknowledge an SSP frame, an RRDY to grant more receive
credit, or a CREDIT_BLOCKED to specify that no more RRDYs are going to be
transmitted in the connection) while waiting for an interlocked frame it
transmitted to be acknowledged. These primitives may also be interspersed
within an SSP frame.