[T10] Rumination on some WRITE SCATTERED command considerations

Gerry Houlder gerry.houlder at seagate.com
Thu Jan 7 08:38:18 PST 2016

Hi T10ers,

One detail that has not been aired during recent discussion on the WRITE
SCATTERED command is how this command affects the available queue depth in
a SCSI target. in particular there is the rule that allows the LBA range
descriptors to be processed in any order.

i can see how the command can occupy only one queue slot if the LBA range
descriptors are processed in the order received and doesn't allow activity
for other commands to be interspersed between the LBA range descriptors.
This is comparable to the way (vendor specific) skip mask write commands
are handled today

I can forsee that, in order to process the LBA range descriptors in any
order, a SCSI target might choose to treat each LBA range descriptor like
it is a separate command (i.e., each LBA range descriptor occupies a
separate queue slot in the command queue). This could result in the host
being surprised by a "sudden reduction" in the target's queue slots and the
rejection of other commands due to Queue Full status.

 Another side effect of this is that the command timer (normally attached
to each queue slot) now has to time the processing of multiple queue slots,
the processing of which might be interspersed with high priority commands
that are not part of the LBA descriptor list.

Should there be some warnings added to the scattered writes model, that a
single WRITE SCATTERED command may result in multiple command queue slots
being occupied by that single command?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.t10.org/pipermail/t10/attachments/20160107/659b1c63/attachment.html>

More information about the T10 mailing list