1.6 Transport layer
C141-C013 87
If any additional XFER_RDY frames are required, the REQUESTED OFFSET
field must be set to the value of the REQUESTED OFFSET in the previous
XFER_RDY frame plus the value of the WRITE DATA LENGTH field in the
previous XFER_RDY frame.
The WRITE DATA LENGTH field contains the number of bytes of write data the
SSP INIT port will send to the logical unit from the application client buffer
starting at the requested offset. The SSP TARG port sets the WRITE DATA
LENGTH field to a value greater than or equal to 00000001h.
If an SSP TARG port sends a XFER_RDY frame containing a WRITE DATA
LENGTH field that is not divisible by four, the SSP TARG port must not send
any subsequent XFER_RDY frames for that command (i.e., only the last
XFER_RDY for a command may request a non-dword multiple write data length).
When the drive sends a XFER_RDY frame, the following values are set:
• HASHED DESTINATION SAS ADDRESS field
The hashed SAS address of the COMMAND frame is set.
• HASHED SOURCE SAS ADDRESS field
The hashed SAS address of the drive is set.
• NUMBER OF FILL BYTES field
Always set to zero.
• TAG field
The tag value of the COMMAND frame is set.
• TARGET PORT TRANSFER TAG field
The drive sets a value between 0 and 7.
• DATA OFFSET field
Always set to zero.
• REQUESTED OFFSET field
The first XFER_RDY frame for a command is always set to zero. If multiple
XFER_RDY frames are to be sent for a single command, the value set in the
field of the second XFER_RDY is increased by the value in the WRITE
DATA LENGTH field of the first XFER_RDY frame. However, when
transferring multiple XFER_RDY frames for a single command, the drive
does not send the additional XFER_RDY frame until it receives the data
requested with the first XFER_RDY frame. The value of the REQUESTED
OFFSET field is divisible by four.
Table 1.39 An example of requested offset
XFER_RDY frame REQUESTED OFFSET
WRITE DATA