<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">You said – ‘host being surprised by a &quot;sudden reduction&quot; in the target's queue slots’<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">And how would a host be “surprised”? There is no way for a host to know how many queue slots there are, nor is there any way for a host to know what other initiators are doing to impact the queue slots.&nbsp; Host must be prepared to handle
 QUEUE FULL at any for any reason a device chooses to return it.&nbsp; But, it’s not just queue slots that are at issue.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Consider the EXTENDED COPY command – while single spindle disks may not have thought about it much, this command has a HUGE impact on the resources available with a device (including queue slots).&nbsp; One single command requesting both reads
 and writes that cover many disparate LBA ranges of many different lengths, and possibly, across may different LUNs.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Any such warning is not WRITE SCATTERED specific.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I will add, that experiences with EXTENDED COPY indicate that hosts DO BELIEVE that all commands are created equal (i.e., that all commands use the same amount of device resources, no matter what the OP CODE). YES, we actually have people
 that think that 1 READ command plus 1 WRITE command use TWICE the resources as 1 EXTENDED COPY command that performs the exact same READ and WRITE operations (they failed to grasp the concept that, internal to the device, it still impacts the same amount of
 data).<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">It might be worthwhile to add a model clause that talks about resource utilization related to complex commands (such as these).<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fred<span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> t10-bounces@t10.org [mailto:t10-bounces@t10.org]
<b>On Behalf Of </b>Gerry Houlder<br>
<b>Sent:</b> Thursday, January 07, 2016 11:38 AM<br>
<b>To:</b> T10 Reflector<br>
<b>Subject:</b> [T10] Rumination on some WRITE SCATTERED command considerations<o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal">Hi T10ers,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">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<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">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 &quot;sudden reduction&quot; in the target's queue slots and the rejection of other commands due to Queue Full status.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">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?<o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>