<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@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;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        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:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle19
        {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:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
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="ZH-CN" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:SimSun">发件人<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:10.0pt;font-family:SimSun"> aidepei
<br>
</span><b><span style="font-size:10.0pt;font-family:SimSun">发送时间<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:10.0pt;font-family:SimSun"> 2016</span><span style="font-size:10.0pt;font-family:SimSun">年<span lang="EN-US">9</span>月<span lang="EN-US">30</span>日<span lang="EN-US">
 16:18<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> Guojian (F)<br>
</span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> Question about NCQ H2D transmission be postponed when receive X_RDY<o:p></o:p></span></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-indent:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">Hi,<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">I have confusion about NCQ H2D tansmission.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-indent:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-indent:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">According to SATA spec 3.2(9.6.3 Link transmit state machine)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">LT1: HL_SendChkRdy state, this state is entered if a frame transmission has been requested by the host Transport layer.
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">If in this state, the Link layer transmits X_RDYp and waits for X_RDYp or R_RDYp &nbsp;from the Phy layer.
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">NOTE 43 - It is possible that both the host and the device simultaneously request frame transmission by transmitting X_RDYp . If the host receives X_RDYp<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">while transmitting X_RDYp , the host shall back off and enter the L_R cvWaitFifo state,
</span><u><span lang="EN-US" style="font-size:12.0pt;color:red">postponing its desired frame transmission until the device has completed its frame transmission and the bus is</span></u><span lang="EN-US" style="font-size:12.0pt;color:red">
</span><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><u><span lang="EN-US" style="font-size:12.0pt;color:red">idle.
<o:p></o:p></span></u></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">Transition LT1:1, if the host Link layer receives R_RDYp from the Phy layer, the Link layer shall make a transition to the LT3: L_SendSOF state.
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">Transition LT1:2, if the host Link layer receives X_RDYp &nbsp;from the Phy layer, the Link layer shall make a transition to the LR 2: L_RcvWaitFifo state.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">Consider following scenario:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">host adapter is sending X_RDYp for H2D(NCQ command) but receive X_RDYp for DMA SETUP FIS. After complete reception of DMA SETUP FIS, link layer retransmits
 H2D(NCQ command), it will result in SATA device aborting the command(NCQ data phase interrupted by H2D).<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">My question is :<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">In this scenario,
<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">1)</span><span lang="EN-US" style="font-size:7.0pt;font-family:&quot;Times New Roman&quot;,&quot;serif&quot;;color:black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang="EN-US" style="font-size:12.0pt;color:black">the H2D(NCQ command) should be postponed in link layer until the device completed its frame transmission or<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">2)</span><span lang="EN-US" style="font-size:7.0pt;font-family:&quot;Times New Roman&quot;,&quot;serif&quot;;color:black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang="EN-US" style="font-size:12.0pt;color:black">link layer should reports error to transport layer because &nbsp;X_RDY conflicts<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">which one is correct?<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black">Thanks for your help.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin-left:18.0pt"><span lang="EN-US" style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
</body>
</html>