<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="Generator" content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle26
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1325627221;
        mso-list-type:hybrid;
        mso-list-template-ids:-701853974 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:1493250931;
        mso-list-type:hybrid;
        mso-list-template-ids:-701853974 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l2
        {mso-list-id:1566605272;
        mso-list-type:hybrid;
        mso-list-template-ids:-959694764 -1979675740 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ascii-font-family:Calibri;
        mso-fareast-font-family:"Times New Roman";
        mso-hansi-font-family:Calibri;
        mso-bidi-font-family:Calibri;}
@list l2:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.5in;
        text-indent:-.25in;}
@list l2:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.0in;
        text-indent:-9.0pt;}
@list l2:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.5in;
        text-indent:-.25in;}
@list l2:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.0in;
        text-indent:-.25in;}
@list l2:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:2.5in;
        text-indent:-9.0pt;}
@list l2:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.0in;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.5in;
        text-indent:-.25in;}
@list l2:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:4.0in;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang="EN-US" link="#0563C1" vlink="#954F72"><div class="WordSection1"><p class="MsoNormal"><span style="color:#1f497d">Scenario 1 is valid.</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">Scenario 2 violates this rule:</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"><img width="1054" height="190" id="Picture_x0020_2" src="cid:image001.png@01D51C72.22D01790"></span><span style="color:#1f497d"> </span></p><p class="MsoNormal"><a name="_MailEndCompose"><span style="color:#1f497d"> </span></a></p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b>From:</b> Deep Mehta [mailto:<a href="mailto:deep@cadence.com">deep@cadence.com</a>] <br><b>Sent:</b> Thursday, June 6, 2019 12:26 PM<br><b>To:</b> Brad Besmer &lt;<a href="mailto:brad.besmer@broadcom.com">brad.besmer@broadcom.com</a>&gt;<br><b>Cc:</b> Gurudatta Mewundi &lt;<a href="mailto:gmewundi@cadence.com">gmewundi@cadence.com</a>&gt;; Lana Chan &lt;<a href="mailto:lana@cadence.com">lana@cadence.com</a>&gt;; <a href="mailto:t10@t10.org">t10@t10.org</a>; <a href="mailto:Tim.Symons@microchip.com">Tim.Symons@microchip.com</a><br><b>Subject:</b> RE: [T10] [SAS]RESENDING: Request for clarification on handling non-interlocked frame</p></div></div><p class="MsoNormal"> </p><p class="MsoNormal">Hi Brad,</p><p class="MsoNormal"> </p><p class="MsoNormal">Any update here ?</p><p class="MsoNormal"> </p><p class="MsoNormal">Regards,</p><p class="MsoNormal">Deep</p><p class="MsoNormal"> </p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b>From:</b> Deep Mehta <br><b>Sent:</b> Friday, May 31, 2019 4:35 PM<br><b>To:</b> &#39;Brad Besmer&#39; &lt;<a href="mailto:brad.besmer@broadcom.com">brad.besmer@broadcom.com</a>&gt;<br><b>Cc:</b> Gurudatta Mewundi &lt;<a href="mailto:gmewundi@cadence.com">gmewundi@cadence.com</a>&gt;; Lana Chan &lt;<a href="mailto:lana@cadence.com">lana@cadence.com</a>&gt;; &#39;<a href="mailto:t10@t10.org">t10@t10.org</a>&#39; &lt;<a href="mailto:t10@t10.org">t10@t10.org</a>&gt;; &#39;<a href="mailto:Tim.Symons@microchip.com">Tim.Symons@microchip.com</a>&#39; &lt;<a href="mailto:Tim.Symons@microchip.com">Tim.Symons@microchip.com</a>&gt;<br><b>Subject:</b> RE: [T10] [SAS]RESENDING: Request for clarification on handling non-interlocked frame</p></div></div><p class="MsoNormal"> </p><p class="MsoNormal">Hi Brad,</p><p class="MsoNormal"> </p><p class="MsoNormal">From my previous attachment, any thought ?</p><p class="MsoNormal"> </p><p class="MsoNormal">Regards,</p><p class="MsoNormal">Deep</p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b>From:</b> Deep Mehta <br><b>Sent:</b> Thursday, May 30, 2019 12:52 AM<br><b>To:</b> Brad Besmer &lt;<a href="mailto:brad.besmer@broadcom.com">brad.besmer@broadcom.com</a>&gt;; Lana Chan &lt;<a href="mailto:lana@cadence.com">lana@cadence.com</a>&gt;; <a href="mailto:t10@t10.org">t10@t10.org</a>; <a href="mailto:Tim.Symons@microchip.com">Tim.Symons@microchip.com</a><br><b>Cc:</b> Gurudatta Mewundi &lt;<a href="mailto:gmewundi@cadence.com">gmewundi@cadence.com</a>&gt;<br><b>Subject:</b> RE: [T10] [SAS]RESENDING: Request for clarification on handling non-interlocked frame</p></div></div><p class="MsoNormal"> </p><p class="MsoNormal">Hi Brad,</p><p class="MsoNormal"> </p><p class="MsoNormal">Really appreciate your prompt help.</p><p class="MsoNormal"> </p><p class="MsoNormal">What I mean to trying to say from #2.c is </p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">c. Initiator sends N data frames for first ITAG, M data frames for second ITAG and O data frames for third ITAG</span></p><p class="MsoNormal"><i>[Deep]=&gt; shall we assume N,M,O = 1 ??; where after sending each DATA frame Initiator has to wait for ACK/NAK ; that is not the optimal solution for non-interlocked frame transmission. But we are looking for exact specification reference on this non-recommended way (if it is).</i></p><p class="MsoNormal"> </p><p class="MsoNormal">Please find the attachment here to explain our understanding on OPTION-2 with flow diagram (scenario 2 in attachment)</p><p class="MsoNormal"> </p><p class="MsoNormal">Let us know your thought on this.</p><p class="MsoNormal"> </p><p class="MsoNormal">Thanks.</p><p class="MsoNormal"> </p><p class="MsoNormal">Regards,</p><p class="MsoNormal">Deep</p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b>From:</b> Brad Besmer &lt;<a href="mailto:brad.besmer@broadcom.com">brad.besmer@broadcom.com</a>&gt; <br><b>Sent:</b> Thursday, May 30, 2019 12:35 AM<br><b>To:</b> Deep Mehta &lt;<a href="mailto:deep@cadence.com">deep@cadence.com</a>&gt;; Lana Chan &lt;<a href="mailto:lana@cadence.com">lana@cadence.com</a>&gt;; <a href="mailto:t10@t10.org">t10@t10.org</a>; <a href="mailto:Tim.Symons@microchip.com">Tim.Symons@microchip.com</a><br><b>Cc:</b> Gurudatta Mewundi &lt;<a href="mailto:gmewundi@cadence.com">gmewundi@cadence.com</a>&gt;<br><b>Subject:</b> RE: [T10] [SAS]RESENDING: Request for clarification on handling non-interlocked frame</p></div></div><p class="MsoNormal"> </p><div><p class="MsoNormal" style="margin-bottom:12.0pt"><span style="color:red">EXTERNAL MAIL</span></p></div><p class="MsoNormal"><span style="color:#1f497d">Not sure I follow what you are really asking.</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">Both #1 and #2 could be supported, however 2c is not ideal, it would be better to say:</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">c. Initiator sends N data frames for first ITAG, M data frames for second ITAG and O data frames for third ITAG</span></p><p class="MsoNormal" style="text-indent:.5in"><span style="color:#1f497d">where: N M and O is 1 to the number of frames for each respective IO. </span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">IMO, it really depends upon the buffering behavior of the device as to how many frames are actually transmitted for each IO.</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b>From:</b> Deep Mehta [mailto:<a href="mailto:deep@cadence.com">deep@cadence.com</a>] <br><b>Sent:</b> Wednesday, May 29, 2019 12:48 PM<br><b>To:</b> Brad Besmer &lt;<a href="mailto:brad.besmer@broadcom.com">brad.besmer@broadcom.com</a>&gt;; Lana Chan &lt;<a href="mailto:lana@cadence.com">lana@cadence.com</a>&gt;; <a href="mailto:t10@t10.org">t10@t10.org</a>; <a href="mailto:Tim.Symons@microchip.com">Tim.Symons@microchip.com</a><br><b>Cc:</b> Gurudatta Mewundi &lt;<a href="mailto:gmewundi@cadence.com">gmewundi@cadence.com</a>&gt;<br><b>Subject:</b> RE: [T10] [SAS]RESENDING: Request for clarification on handling non-interlocked frame</p></div></div><p class="MsoNormal"> </p><p class="MsoNormal">Hi Brad,</p><p class="MsoNormal"> </p><p class="MsoNormal">Thank you for the response.</p><p class="MsoNormal"> </p><p class="MsoNormal">So, Initially there may be two approaches/options (mentioned in our previous mail)</p><ol style="margin-top:0in" start="1" type="1"><li class="MsoNormal" style="mso-list:l0 level1 lfo1"><i>Target LUN can handle single command per LUN</i></li><ol style="margin-top:0in" start="1" type="a"><li class="MsoNormal" style="mso-list:l0 level2 lfo1"><i>3 WRITE commands (total bytes to write = 3K) with different ITAGS are transmitted from initiator to target</i></li><li class="MsoNormal" style="mso-list:l0 level2 lfo1"><i>Target sends XFER_RDY (XRDY) for 1<sup>st</sup> ITAG</i></li><li class="MsoNormal" style="mso-list:l0 level2 lfo1"><i>Initiator in response sends all DATA frames back to back without waiting for ACK/NAK</i></li><li class="MsoNormal" style="mso-list:l0 level2 lfo1"><i>Once all DATA frames received ACK/NAK response from Target, next XRDY with different ITAG value is transmitted</i></li></ol><li class="MsoNormal" style="mso-list:l0 level1 lfo1"><i>Target LUN can handle multiple commands per LUN</i></li><ol style="margin-top:0in" start="1" type="a"><li class="MsoNormal" style="mso-list:l0 level2 lfo1"><i>3 WRITE commands (total bytes to write = 3K) with different ITAGS are transmitted from initiator to target</i></li><li class="MsoNormal" style="mso-list:l0 level2 lfo1"><i>Target sends XFER_RDY (XRDY) for all 3 DATA frames with different ITAG</i></li><li class="MsoNormal" style="mso-list:l0 level2 lfo1"><i>Initiator sends all 1<sup>st</sup> data frames of all 3 ITAG and wait for ACK/NAK for each data frame</i></li></ol></ol><p class="MsoNormal"> </p><p class="MsoNormal">What I understood from your suggestion is – “Preferred way” of doing is Single IO/ITAG with its back to back DATA frames – <b>OPTION 1 </b></p><p class="MsoNormal"> </p><p class="MsoNormal">We understood that concern, but rather here we are not getting specific pointers from specification reference which allow us to only implement OPTION 1. </p><p class="MsoNormal">So will you consider this as “Vendor specific” implementation or there is other references which we are missing here from SPL4.</p><p class="MsoNormal"> </p><p class="MsoNormal">Your thought will be greatly appreciated.</p><p class="MsoNormal"> </p><p class="MsoNormal">Thanks.</p><p class="MsoNormal"> </p><p class="MsoNormal">Regards,</p><p class="MsoNormal">Deep</p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b>From:</b> Brad Besmer &lt;<a href="mailto:brad.besmer@broadcom.com">brad.besmer@broadcom.com</a>&gt; <br><b>Sent:</b> Wednesday, May 29, 2019 8:33 PM<br><b>To:</b> Lana Chan &lt;<a href="mailto:lana@cadence.com">lana@cadence.com</a>&gt;; <a href="mailto:t10@t10.org">t10@t10.org</a>; <a href="mailto:Tim.Symons@microchip.com">Tim.Symons@microchip.com</a><br><b>Cc:</b> Gurudatta Mewundi &lt;<a href="mailto:gmewundi@cadence.com">gmewundi@cadence.com</a>&gt;; Deep Mehta &lt;<a href="mailto:deep@cadence.com">deep@cadence.com</a>&gt;<br><b>Subject:</b> RE: [T10] [SAS]RESENDING: Request for clarification on handling non-interlocked frame</p></div></div><p class="MsoNormal"> </p><div><p class="MsoNormal" style="margin-bottom:12.0pt"><span style="color:red">EXTERNAL MAIL</span></p></div><p class="MsoNormal"><span style="color:#1f497d">Hello Lana,</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">Figure 173 is an example of non-interlocked frame transmission. It is from the perspective traffic on the SAS Link, it does not specify specific rules for the state machines.</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">In SPL4, section 7.2.2.3.10 PL_OC: Overall_Control state frame transmission, it provides information about handling Tx Frame messages with different logical unit number and initiator port transfer tag.</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">In practice, it is optimal to transmit multiple DATA frames for a single IO “back to back”.</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">Brad</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b>From:</b> <a href="mailto:t10-bounces@t10.org">t10-bounces@t10.org</a> [mailto:<a href="mailto:t10-bounces@t10.org">t10-bounces@t10.org</a>] <b>On Behalf Of </b>Lana Chan<br><b>Sent:</b> Wednesday, May 15, 2019 4:44 PM<br><b>To:</b> <a href="mailto:t10@t10.org">t10@t10.org</a>; <a href="mailto:Tim.Symons@microchip.com">Tim.Symons@microchip.com</a><br><b>Cc:</b> Gurudatta Mewundi &lt;<a href="mailto:gmewundi@cadence.com">gmewundi@cadence.com</a>&gt;; Deep Mehta &lt;<a href="mailto:deep@cadence.com">deep@cadence.com</a>&gt;<br><b>Subject:</b> [T10] [SAS]RESENDING: Request for clarification on handling non-interlocked frame</p></div></div><p class="MsoNormal"> </p><p class="MsoNormal">Hello</p><p class="MsoNormal"> </p><p class="MsoNormal">I’d like to get clarification on the expected transmission of non-interlocked frames in the case of multiple XFER_RDY frames received by the initiator.</p><p class="MsoNormal"> </p><p class="MsoNormal">Per Figure 173 of the SPL4 spec, all non-interlocked frames (DATA frames) with the same initiator port transfer tag (ITAG) are transmitted together without waiting for ACK/NAK.  Once transmission of all data frames with the same ITAG is completed and all the data frames are responded with ACK/NACK, then transmission of DATA frames with different ITAG values begins.</p><p class="MsoNormal"> </p><p class="MsoNormal">However, non-interlocked frame transmission differs dependent upon the commands that can be handled by the target LUN</p><ol style="margin-top:0in" start="1" type="1"><li class="MsoNormal" style="mso-list:l1 level1 lfo2">Target LUN can handle single command per LUN</li><ol style="margin-top:0in" start="1" type="a"><li class="MsoNormal" style="mso-list:l1 level2 lfo2">3 WRITE commands (total bytes to write = 3K) with different ITAGS are transmitted from initiator to target</li><li class="MsoNormal" style="mso-list:l1 level2 lfo2">Target sends XFER_RDY (XRDY) for 1<sup>st</sup> ITAG</li><li class="MsoNormal" style="mso-list:l1 level2 lfo2">Initiator in response sends all DATA frames back to back without waiting for ACK/NAK</li><li class="MsoNormal" style="mso-list:l1 level2 lfo2">Once all DATA frames received ACK/NAK response from Target, next XRDY with different ITAG value is transmitted</li></ol><li class="MsoNormal" style="mso-list:l1 level1 lfo2">Target LUN can handle multiple commands per LUN</li><ol style="margin-top:0in" start="1" type="a"><li class="MsoNormal" style="mso-list:l1 level2 lfo2">3 WRITE commands (total bytes to write = 3K) with different ITAGS are transmitted from initiator to target</li><li class="MsoNormal" style="mso-list:l1 level2 lfo2">Target sends XFER_RDY (XRDY) for all 3 DATA frames with different ITAG</li><li class="MsoNormal" style="mso-list:l1 level2 lfo2">Initiator sends all 1<sup>st</sup> data frames of all 3 ITAG and wait for ACK/NAK for each data frame</li></ol></ol><p class="MsoNormal"> </p><p class="MsoNormal">Per section 6.20.6</p><p class="MsoNormal" style="text-indent:.5in"><b><i><span style="color:#2f5597">Before transmitting a non-interlocked frame, an SSP phy shall wait for:</span></i></b></p><p class="MsoNormal" style="margin-left:1.0in"><b><i><span style="color:#2f5597">All non-interlocked frames with different initiator port transfer tags; and</span></i></b></p><p class="MsoNormal" style="margin-left:1.0in"><b><i><span style="color:#2f5597">All interlocked frames</span></i></b></p><p class="MsoListParagraph"><b><i><span style="color:#2f5597">To be acknowledged with ACK or NAK, even if transmit SSP frame credit is available</span></i></b></p><p class="MsoListParagraph"><b> </b></p><p class="MsoListParagraph"><b><i><span style="color:#2f5597">After transmitting a non-interlocked frame, a SSP phy may transmit another non-interlocked frame with the same initiator port transfer tag if transmit SSP frame credit available.  The phy shall not transmit</span></i></b></p><p class="MsoNormal" style="margin-left:1.0in"><b><i><span style="color:#2f5597">A non-interlocked frame with a different initiator port transfer tag; or</span></i></b></p><p class="MsoNormal" style="margin-left:1.0in"><b><i><span style="color:#2f5597">An interlocked frame</span></i></b></p><p class="MsoNormal" style="text-indent:.5in"><b><i><span style="color:#2f5597">Until all SSP frames have been acknowledged with ACK or NAK even if transmit SSP frame credit is available</span></i></b><i><span style="color:#2f5597">.</span></i></p><p class="MsoNormal"> </p><p class="MsoNormal">Our understanding is that Figure 173 is only true for “Pending TX Frame” buffer in Port layer (already put by Transport layer)</p><p class="MsoNormal" style="margin-left:.5in"> </p><p class="MsoNormal">Specifically: </p><ol style="margin-top:0in" start="1" type="1"><li class="MsoNormal" style="mso-list:l2 level1 lfo3">Transport layer is having 3 XRDY reception with different ITAG. So, transport layer will prepare to send all 3 DATA frames handled through individual ST_ITS state machines (one ST_ITS state machine for each possible command and task management function i.e., for each initiator port transfer tag)</li><li class="MsoNormal" style="mso-list:l2 level1 lfo3">Once all 3 state machines put their first prepared DATA frame in Port layer queue/buffer; next valid DATA frame can be put in port layer buffer/queue once frame transmitted confirmation received from Link layer for previously transmitted frame by that state machine. (SPL4 spec reference : section 8.2.6.2.3.3 ST_ITS2:Initiator_Send_Frame state)</li><li class="MsoNormal" style="mso-list:l2 level1 lfo3">Here, there is no arbitration define at Transport layer, for handling multiple ITAG DATA frames transmission once XRDY frame received for those – as a result Initiator will prepare 1<sup>st</sup> DATA frame of each ITAG received, and as all three frames have different ITAG value, as per specification each DATA frame will wait for ACK before transmitting another DATA frame with different ITAG.</li></ol><p class="MsoNormal"> </p><p class="MsoNormal">Is our understanding correct?  Do you see any implementation/execution conflict?</p><p class="MsoNormal"> </p><p class="MsoNormal">Kind Regards</p><p class="MsoNormal">Lana</p><p class="MsoNormal"> </p></div></body></html>