<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" xmlns:ns0="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 14">
<meta name="Originator" content="Microsoft Word 14">
<link rel="File-List" href="cid:filelist.xml@01CE2ECD.B3175FF0"><link rel="Edit-Time-Data" href="cid:editdata.mso"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<title>Samsung Enterprise Portal mySingle</title>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:Zoom>110</w:Zoom>
<w:SpellingState>Clean</w:SpellingState>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:EnvelopeVis/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:DoNotExpandShiftReturn/>
<w:BreakWrappedTables/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-alt:"Century Gothic";
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-536870145 1073786111 1 0 415 0;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;
mso-font-alt:"Times New Roman";
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-520081665 -1073717157 41 0 66047 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:Calibri;
mso-believe-normal-left:yes;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-noshow:yes;
mso-style-priority:99;
color:purple;
text-decoration:underline;
text-underline:single;}
p
{mso-style-priority:99;
margin-top:3.75pt;
margin-right:0in;
margin-bottom:3.75pt;
margin-left:0in;
mso-pagination:widow-orphan;
font-size:9.0pt;
font-family:"Arial","sans-serif";
mso-fareast-font-family:Calibri;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-noshow:yes;
mso-style-priority:99;
mso-style-link:"Balloon Text Char";
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
mso-pagination:widow-orphan;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";
mso-fareast-font-family:Calibri;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
mso-style-unhide:no;
mso-style-qformat:yes;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:.5in;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman","serif";
mso-fareast-font-family:Calibri;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-unhide:no;
mso-style-locked:yes;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";
mso-ascii-font-family:Tahoma;
mso-hansi-font-family:Tahoma;
mso-bidi-font-family:Tahoma;}
span.EmailStyle21
{mso-style-type:personal;
mso-style-noshow:yes;
mso-style-unhide:no;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;
color:#1F497D;}
span.EmailStyle22
{mso-style-type:personal;
mso-style-noshow:yes;
mso-style-unhide:no;
font-family:"Times New Roman","serif";
mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";
color:#1F497D;
font-weight:normal;
font-style:normal;}
span.EmailStyle23
{mso-style-type:personal;
mso-style-noshow:yes;
mso-style-unhide:no;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;
color:#1F497D;}
span.EmailStyle24
{mso-style-type:personal-reply;
mso-style-noshow:yes;
mso-style-unhide:no;
mso-ansi-font-size:10.0pt;
mso-bidi-font-size:10.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;
color:#1F497D;
font-weight:normal;
font-style:normal;
text-decoration:none;
text-underline:none;
text-decoration:none;
text-line-through:none;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-size:10.0pt;
mso-ansi-font-size:10.0pt;
mso-bidi-font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 10]><style>/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style><![endif]--><![if mso 9]><style>p.MsoNormal
{margin-left:7.5pt;}
</style><![endif]><!--[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" style="tab-interval:.5in;margin-left:7.5pt;margin-top:7.5pt;margin-right:7.5pt;margin-bottom:7.5pt">
<div class="WordSection1">
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#1F497D">You didn’t change any compile options (like enabling DUMB_DRIVER) or anything?<span style="mso-spacerun:yes">
</span>Besides adding the print that Kwok suggests (did you do that?) you can also define PRP_DBG which will print out a ton of info the PRPs (don’t try to do anything that generates a lot of IO, its only useful for specific things) which might provide another
hint although this define does change the code path in question slightly so could affect whatever your failure mode is so keep that in mind.<o:p></o:p></span></font></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-font-family:"Times New Roman";font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-font-family:"Times New Roman"">
nvmewin-bounces@lists.openfabrics.org [mailto:nvmewin-bounces@lists.openfabrics.org]
<b><span style="font-weight:bold">On Behalf Of </span></b>SANTOSH SINGH<br>
<b><span style="font-weight:bold">Sent:</span></b> Monday, April 01, 2013 5:06 AM<br>
<b><span style="font-weight:bold">To:</span></b> Kong, Kwok<br>
<b><span style="font-weight:bold">Cc:</span></b> nvmewin@lists.openfabrics.org<br>
<b><span style="font-weight:bold">Subject:</span></b> Re: [nvmewin] NVMe 1.1 : Clarification on PRP2 Entry list<o:p></o:p></span></font></p>
</div>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><o:p> </o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">Hi Kwok,<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">I did not modify the driver code nor introdue any bug but have seen this behaviour couple of times. Will capture the debug trace.<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">Regards<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">Santosh<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">------- <b><span style="font-weight:bold">Original Message</span></b> -------<o:p></o:p></span></font></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Sender</span></font></b> : Kong, Kwok<<a href="mailto:Kwok.Kong@idt.com">Kwok.Kong@idt.com</a>><o:p></o:p></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Date</span></font></b> : Mar 27, 2013 07:56 (GMT+09:00)<o:p></o:p></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Title</span></font></b> : RE: RE: RE: RE: NVMe 1.1 : Clarification on PRP2 Entry list<o:p></o:p></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Santosh,<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Something is not right here. The driver pre-allocates the PRP list to store up to 32 entries per list during
initialization time. PRP2 must point to a list with the following offset:<o:p></o:p></span></font></p>
<p class="MsoListParagraph" style="margin-right:7.5pt;text-indent:-.25in"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span></font><font size="1" color="#1f497d"><span style="font-size:7.0pt;color:#1F497D">
</span></font><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">0x000<o:p></o:p></span></font></p>
<p class="MsoListParagraph" style="margin-right:7.5pt;text-indent:-.25in"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span></font><font size="1" color="#1f497d"><span style="font-size:7.0pt;color:#1F497D">
</span></font><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">0x100<o:p></o:p></span></font></p>
<p class="MsoListParagraph" style="margin-right:7.5pt;text-indent:-.25in"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span></font><font size="1" color="#1f497d"><span style="font-size:7.0pt;color:#1F497D">
</span></font><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">0x200<o:p></o:p></span></font></p>
<p class="MsoListParagraph" style="margin-right:7.5pt;text-indent:-.25in"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span></font><font size="1" color="#1f497d"><span style="font-size:7.0pt;color:#1F497D">
</span></font><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">…<o:p></o:p></span></font></p>
<p class="MsoListParagraph" style="margin-right:7.5pt;text-indent:-.25in"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span></font><font size="1" color="#1f497d"><span style="font-size:7.0pt;color:#1F497D">
</span></font><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">…<o:p></o:p></span></font></p>
<p class="MsoListParagraph" style="margin-right:7.5pt;text-indent:-.25in"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span></font><font size="1" color="#1f497d"><span style="font-size:7.0pt;color:#1F497D">
</span></font><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">0xE00<o:p></o:p></span></font></p>
<p class="MsoListParagraph" style="margin-right:7.5pt;text-indent:-.25in"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span></font><font size="1" color="#1f497d"><span style="font-size:7.0pt;color:#1F497D">
</span></font><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">0xF00<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">PRP2 cannot point to an offset 0xFF0 as in your example.
<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">You can confirm this in your driver by adding the following debugging message in the file nvmeinit.c and function
NVMeInitFreeQ.<o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><font size="2" color="blue" face="Arial"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:blue">It's around Line# 720 to add the printout...</span></font><o:p></o:p></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><font size="2" color="blue" face="Arial"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:blue"> /* Save the address of current list for calculating next list */<br>
CurPRPList = (ULONG_PTR)pCmdInfo->pPRPList;<br>
pCmdInfo->prpListPhyAddr = StorPortGetPhysicalAddress(pAE,<br>
NULL,<br>
pCmdInfo->pPRPList,<br>
&prpListSz);<br>
</span></font><font size="2" color="red" face="Arial"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:red">StorPortDebugPrint(INFO, "NVMeInitFreeQ : Entry#%d List starts 0x%llX\n",
<br>
Entry, pCmdInfo->pPRPList);</span></font><font color="red"><span style="color:red"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Here is a sample output:<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#0 List starts 0xFFFFFA800D69E100<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#1 List starts 0xFFFFFA800D69E200<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#2 List starts 0xFFFFFA800D69E300<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#3 List starts 0xFFFFFA800D69E400<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#4 List starts 0xFFFFFA800D69E500<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#5 List starts 0xFFFFFA800D69E600<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#6 List starts 0xFFFFFA800D69E700<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#7 List starts 0xFFFFFA800D69E800<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#8 List starts 0xFFFFFA800D69E900<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#9 List starts 0xFFFFFA800D69EA00<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#10 List starts 0xFFFFFA800D69EB00<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#11 List starts 0xFFFFFA800D69EC00<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#12 List starts 0xFFFFFA800D69ED00<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#13 List starts 0xFFFFFA800D69EE00<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#14 List starts 0xFFFFFA800D69EF00<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#15 List starts 0xFFFFFA800D69F000<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#16 List starts 0xFFFFFA800D69F100<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#17 List starts 0xFFFFFA800D6A0100<o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:5.0pt;margin-right:7.5pt;margin-bottom:5.0pt;margin-left:7.5pt">
<font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#18 List starts 0xFFFFFA800D6A0200<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">STORMINI: NVMeInitFreeQ : Entry#19 List starts 0xFFFFFA800D6A0300<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">…<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">…<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Did you modify the driver and create a bug in your driver ?<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">We have not seen this problem in our testing environment.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-Kwok<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></font></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt;mso-outline-level:1">
<b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> SANTOSH SINGH [<a href="mailto:santosh.s2@samsung.com">mailto:santosh.s2@samsung.com</a>]
<br>
<b><span style="font-weight:bold">Sent:</span></b> Tuesday, March 26, 2013 3:32 AM<br>
<b><span style="font-weight:bold">To:</span></b> Robles, Raymond C<br>
<b><span style="font-weight:bold">Cc:</span></b> Kong, Kwok; <a href="mailto:technical@nvmexpress.org">
technical@nvmexpress.org</a>; Onufryk, Peter; Wilcox, Matthew R; <a href="mailto:nvmewin@lists.openfabrics.org">
nvmewin@lists.openfabrics.org</a><br>
<b><span style="font-weight:bold">Subject:</span></b> Re: RE: RE: RE: NVMe 1.1 : Clarification on PRP2 Entry list<o:p></o:p></span></font></p>
</div>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Ray,</span></font><o:p></o:p></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Attached is the summary of the screen shot.</span></font><o:p></o:p></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"><img border="0" width="882" height="515" id="_x0000_i1025" src="cid:image001.png@01CE2ECD.B1F79810"><o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">We can discuss in the next WG call.<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">Regards<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">Santosh<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">------- <b><span style="font-weight:bold">Original Message</span></b> -------<o:p></o:p></span></font></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Sender</span></font></b> : Robles, Raymond C<<a href="mailto:raymond.c.robles@intel.com">raymond.c.robles@intel.com</a>><o:p></o:p></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Date</span></font></b> : Mar 22, 2013 05:17 (GMT+09:00)<o:p></o:p></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Title</span></font></b> : RE: RE: RE: NVMe 1.1 : Clarification on PRP2 Entry list<o:p></o:p></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:10.0pt;color:#1F497D">Hi Santosh,<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:10.0pt;color:#1F497D">I am one of the original authors of the OFA Windows NVMe driver (sorry, I’m late to this thread). What do you believe is the problem? The
Windows OFA driver constructs PRP lists per the NVMe spec. We’ve run for several days with numerous data integrity testing tools (without error).<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:10.0pt;color:#1F497D">Do you believe that the PRP list is incorrectly constructed? Based on the screen shot you sent out, the second PRP entry in the submission
queue entry points to a PRP list… it should not contain the 2<sup>nd</sup> PRP entry. This is per the NVMe spec.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:10.0pt;color:#1F497D">Thanks,<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:10.0pt;color:#1F497D">Ray<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Times New Roman"><span style="font-size:10.0pt;color:#1F497D"><o:p> </o:p></span></font></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt;mso-outline-level:1">
<b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Kong, Kwok [<a href="mailto:Kwok.Kong@idt.com">mailto:Kwok.Kong@idt.com</a>]
<br>
<b><span style="font-weight:bold">Sent:</span></b> Thursday, March 21, 2013 11:14 AM<br>
<b><span style="font-weight:bold">To:</span></b> <a href="mailto:santosh.s2@samsung.com">
santosh.s2@samsung.com</a><br>
<b><span style="font-weight:bold">Cc:</span></b> <a href="mailto:technical@nvmexpress.org">
technical@nvmexpress.org</a>; Onufryk, Peter; Wilcox, Matthew R<br>
<b><span style="font-weight:bold">Subject:</span></b> RE: RE: RE: NVMe 1.1 : Clarification on PRP2 Entry list<o:p></o:p></span></font></p>
</div>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Santosh,<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The specification is very clear on how the PRP list should be constructed. If you see a problem with any driver,
then it is a driver problem and not a specification problem.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Please send your question to <a href="mailto:nvmewin@lists.openfabrics.org">nvmewin@lists.openfabrics.org</a>
if you believe there is a driver bug.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">What is the LBA size for your testing ? 512B or 4KB ?<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-Kwok<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></font></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt;mso-outline-level:1">
<b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> SANTOSH SINGH [<a href="mailto:santosh.s2@samsung.com">mailto:santosh.s2@samsung.com</a>]
<br>
<b><span style="font-weight:bold">Sent:</span></b> Thursday, March 21, 2013 3:55 AM<br>
<b><span style="font-weight:bold">To:</span></b> Kong, Kwok<br>
<b><span style="font-weight:bold">Cc:</span></b> <a href="mailto:technical@nvmexpress.org">
technical@nvmexpress.org</a>; Onufryk, Peter; 'Wilcox, Matthew R'<br>
<b><span style="font-weight:bold">Subject:</span></b> Re: RE: RE: NVMe 1.1 : Clarification on PRP2 Entry list<o:p></o:p></span></font></p>
</div>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><o:p> </o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">Sorry some how the attachement is missing. Resending.<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"><img border="0" width="1600" height="860" id="_x0000_i1026" src="cid:image002.png@01CE2ECD.B1F79810"><o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">Regards<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">Santosh<o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt">------- <b><span style="font-weight:bold">Original Message</span></b> -------<o:p></o:p></span></font></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Sender</span></font></b> : SANTOSH SINGH<<a href="mailto:santosh.s2@samsung.com">santosh.s2@samsung.com</a>> Senior Chief Engineer/SRI-Bangalore-SSD Solutions/Samsung Electronics<o:p></o:p></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Date</span></font></b> : Mar 21, 2013 19:45 (GMT+09:00)<o:p></o:p></p>
<p><b><font size="1" face="Arial"><span style="font-size:9.0pt;font-weight:bold">Title</span></font></b> : RE: RE: NVMe 1.1 : Clarification on PRP2 Entry list<o:p></o:p></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;mso-outline-level:1">
<font size="1" face="Arial"><span style="font-size:9.0pt;font-family:"Arial","sans-serif"">Hi Kwok,<br>
<br>
I got the scenario reproduced again, while issuing the FS format command.<br>
Following are the debug details.<br>
<br>
Page size 4k<br>
Data Transfer size was 16 LBA<br>
PRP1 Entry 0x3e8fd060<br>
PRP2 Entry list 0xbe166ff0<br>
Total no. of PRP entries 17<br>
<br>
The 16 PRP entries should fit in single page. But the PRP2 offset<br>
0xbe166ff0(PRP2) is not correct and it has run off the page(from 0xbe166ff0<br>
to 0xbe167000) which is the next page in continuity. Attached is the<br>
snapshot of the debug window for the detailed analysis.<br>
<br>
<br>
<br>
<br>
<br>
<br>
Regards<br>
Santosh<br>
<br>
<br>
-----Original Message-----<br>
From: Kong, Kwok [<a href="mailto:Kwok.Kong@idt.com">mailto:Kwok.Kong@idt.com</a>]
<br>
Sent: Thursday, March 21, 2013 1:22 AM<br>
To: Wilcox, Matthew R; <a href="mailto:santosh.s2@samsung.com">santosh.s2@samsung.com</a><br>
Cc: Onufryk, Peter; <a href="mailto:technical@nvmexpress.org">technical@nvmexpress.org</a><br>
Subject: RE: RE: NVMe 1.1 : Clarification on PRP2 Entry list<br>
<br>
Santosh,<br>
<br>
Your verification on the OFA driver that it uses PRP list format as in<br>
figure 2 is incorrect.<br>
<br>
The OFA driver does neither figure 1, nor figure 2.<br>
<br>
By default, the max request size that the mini-port supports is 128KB. If<br>
the request size is bigger than 128KB, the port driver sends multiple 128KB<br>
requests to the OFA mini-port driver.<br>
<br>
The OFA mini-port driver pre-allocates the PRP list buffers during<br>
initialization. The PRP entries (a max of 32 entries for 128KB request<br>
size) never run off the end of a page as shown in figure 1 or figure 2. All<br>
PRP entries are guaranteed to fit within a single Memory Page.<br>
<br>
Thanks<br>
<br>
-Kwok<br>
<br>
<br>
<br>
-----Original Message-----<br>
From: Wilcox, Matthew R [<a href="mailto:matthew.r.wilcox@intel.com">mailto:matthew.r.wilcox@intel.com</a>]
<br>
Sent: Wednesday, March 20, 2013 8:26 AM<br>
To: <a href="mailto:santosh.s2@samsung.com">santosh.s2@samsung.com</a>; Kong, Kwok<br>
Cc: Onufryk, Peter; <a href="mailto:technical@nvmexpress.org">technical@nvmexpress.org</a><br>
Subject: RE: RE: NVMe 1.1 : Clarification on PRP2 Entry list<br>
<br>
The Linux driver does neither figure 1, nor figure 2.<br>
<br>
If the number of PRP entries requires more than one page, it starts at the<br>
beginning of a page. If it requires less than a page, it may start in the<br>
middle of a page, but will never run off the end of a page as shown in<br>
figure 2.<br>
<br>
I have not reviewed the OFA driver to see what it does.<br>
<br>
________________________________<br>
From: SANTOSH SINGH [santosh.s2@samsung.com]<br>
Sent: March 19, 2013 8:01 PM<br>
To: Kong, Kwok; Wilcox, Matthew R<br>
Cc: Onufryk, Peter; <a href="mailto:technical@nvmexpress.org">technical@nvmexpress.org</a><br>
Subject: Re: RE: NVMe 1.1 : Clarification on PRP2 Entry list<br>
<br>
<br>
Hi Kwok, Matthew,<br>
<br>
<br>
<br>
I verified the OFA driver too and that prepares the PRP List entry as in<br>
fig-2.<br>
<br>
Any reason why both the drivers(Linux and OFA) prepares the PRP2 list like<br>
fig-2. Will it change in the later version of drivers as fig-1.<br>
<br>
<br>
<br>
Regards<br>
<br>
Santosh<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
------- Original Message -------<br>
<br>
Sender : Kong, Kwok<br>
<br>
Date : Mar 20, 2013 01:01 (GMT+09:00)<br>
<br>
Title : RE: NVMe 1.1 : Clarification on PRP2 Entry list<br>
<br>
<br>
I believe the specification is very clear to indicate that figure 1 is<br>
correct.<br>
<br>
"The last entry within a memory page, as indicated by the memory page size<br>
in the CC.MPS field, shall be a PRP List pointer if there is more than a<br>
single memory page of data to be transferred.".<br>
<br>
<br>
Thanks<br>
<br>
-Kwok<br>
<br>
<br>
<br>
From: Onufryk, Peter [<a href="mailto:Peter.Onufryk@idt.com">mailto:Peter.Onufryk@idt.com</a>]<br>
Sent: Tuesday, March 19, 2013 7:22 AM<br>
To: Santosh Singh; <a href="mailto:technical@nvmexpress.org">technical@nvmexpress.org</a><br>
Subject: RE: NVMe 1.1 : Clarification on PRP2 Entry list<br>
<br>
Santosh,<br>
<br>
John and I discussed this and we believe that Figure 1 is correct and that<br>
the best way to clarify this is by adding a figure showing it to the spec.<br>
This will be the first item on the agenda in this week's calls.<br>
<br>
Regards,<br>
Peter<br>
<br>
<br>
From: Santosh Singh [<a href="mailto:santosh.s2@samsung.com">mailto:santosh.s2@samsung.com</a>]<br>
Sent: Tuesday, March 19, 2013 5:49 AM<br>
To: <a href="mailto:technical@nvmexpress.org">technical@nvmexpress.org</a><ns0:technical_x0040_nvmexpress.org><br>
Subject: NVMe 1.1 : Clarification on PRP2 Entry list<br>
<br>
Hi All,<br>
<br>
<br>
I got the query on PRP2 , when it is entry list and not memory page<br>
aligned from a design engineer .<br>
<br>
The below paragraph is from section 4.3 'Physical Region Page Entry and<br>
List' of Spec 1.1.<br>
<br>
[<a href="cid:Z5JE7EUABGFC@namo.co.kr">cid:Z5JE7EUABGFC@namo.co.kr</a>]<br>
<br>
PRP entry 2, when pointing to a list may also have a non-zero offset within<br>
a memory page, means that is not memory page aligned.<br>
The last entry within a memory page shall be a list pointer. There are<br>
following two understandings for this:<br>
<br>
1000<br>
<br>
h<br>
<br>
1<br>
<br>
FFFh<br>
<br>
PRP entry<br>
<br>
2<br>
<br>
pointing to a list<br>
<br>
Entry<br>
<br>
1<br>
<br>
Entry<br>
<br>
2<br>
<br>
Entry<br>
<br>
3<br>
<br>
Entry<br>
<br>
4<br>
<br>
Address of PRP list<br>
<br>
5000<br>
<br>
h<br>
<br>
5<br>
<br>
FFFh<br>
<br>
Entry<br>
<br>
5<br>
<br>
Entry<br>
<br>
6<br>
<br>
Entry<br>
<br>
7<br>
<br>
Entry<br>
<br>
8<br>
<br>
1000<br>
<br>
h<br>
<br>
1<br>
<br>
FFFh<br>
<br>
PRP entry<br>
<br>
2<br>
<br>
pointing to a list<br>
<br>
Entry<br>
<br>
1<br>
<br>
Entry<br>
<br>
2<br>
<br>
Entry<br>
<br>
3<br>
<br>
Entry<br>
<br>
4<br>
<br>
2<br>
<br>
FFFh<br>
<br>
Entry<br>
<br>
5<br>
<br>
Entry<br>
<br>
6<br>
<br>
Entry<br>
<br>
7<br>
<br>
Entry<br>
<br>
8<br>
<br>
Entry<br>
<br>
511<br>
<br>
Entry<br>
<br>
510<br>
<br>
Address of PRP list<br>
<br>
5000<br>
<br>
h<br>
<br>
5<br>
<br>
FFFh<br>
<br>
Entry<br>
<br>
512<br>
<br>
Entry<br>
<br>
513<br>
<br>
Entry<br>
<br>
514<br>
<br>
Fig:1<br>
<br>
Fig:2<br>
<br>
Page boundary<br>
<br>
<br>
So just want to verify with others that as per the line in section 4.3 'A<br>
physical region page list (PRP List) is a set of PRP entries in a single<br>
page of contiguous memory'<br>
fig:2 is the correct understanding.<br>
<br>
<br>
Thanks & Regards<br>
Santosh<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
[<a href="cid:LK7CT9SZN3WZ@namo.co.kr">cid:LK7CT9SZN3WZ@namo.co.kr</a>]<br>
<br>
<br>
<br style="mso-special-character:line-break">
<![if !supportLineBreakNewLine]><br style="mso-special-character:line-break">
<![endif]></ns0:technical_x0040_nvmexpress.org><o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<table class="MsoNormalTable" border="0" cellspacing="3" cellpadding="0" style="mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in" id="confidentialsignimg">
<tbody>
<tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes">
<td style="padding:.75pt .75pt .75pt .75pt">
<p><font size="1" face="Arial"><span style="font-size:9.0pt"><img border="0" width="520" height="144" id="_x0000_i1027" src="cid:image003.gif@01CE2ECD.B1F79810"><o:p></o:p></span></font></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><img border="0" id="_x0000_i1028" src="http://ext.samsung.net/mailcheck/SeenTimeChecker?do=ba69d47c78c3acc08d47d8c18e24da0151171515984b9d550ad7d0699a0799098adfa564d3c39ac365b186a42a35dd3e259756a7cc35ba77326bbdfb2ea96a2fcf878f9a26ce15a0"><o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><img border="0" id="_x0000_i1029" src="http://ext.samsung.net/mailcheck/SeenTimeChecker?do=ba69d47c78c3acc0b6872ba05ecac647cb20e510c9bc8be10ad7d0699a0799098adfa564d3c39ac365b186a42a35dd3e259756a7cc35ba77326bbdfb2ea96a2fcf878f9a26ce15a0"><o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p><font size="1" face="Arial"><span style="font-size:9.0pt"> <o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" id="_x0000_i1030" src="http://ext.samsung.net/mailcheck/SeenTimeChecker?do=5f64b9fd8cb08cc2f66a4f6be00ce242c653ccac87eca576c883f74d3027808b94d548315d7b78b3f676ccf8e4fcda078aa631650c9c0a6c62e1ac75b522795a07805447a154a46fcf878f9a26ce15a0"><o:p></o:p></span></font></p>
</div>
</body>
</html>