<HTML><HEAD><TITLE>Samsung Enterprise Portal mySingle</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<STYLE id=mysingle_style type=text/css>P {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
TD {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
LI {
        MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN-TOP: 5px
}
BODY {
        FONT-SIZE: 9pt; FONT-FAMILY: Arial, arial; MARGIN: 10px; LINE-HEIGHT: 1.4
}
</STYLE>

<META content=IE=5 http-equiv=X-UA-Compatible>
<META name=GENERATOR content=ActiveSquare></HEAD>
<BODY>
<P><SPAN style="FONT-SIZE: 10pt">All,</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt">This is regarding the slower disk format time with the OFA driver compared to Inbox driver on Windows 8.1. Uma Parepalli(skhms) had raised the same concern in February.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt">In OFA driver, the maximum number of blocks that can be de-allocated, which driver assigns in the MAXIMUM UNMAP LBA COUNT field in Inquiry - Block Limits VPD page is set to 0xFFFF, which is the maximum number of logical blocks for a read or write command. Hence during format, OFA driver gets SCSI UNMAP commands with UNMAP DATA LENGTH set to 0xFFFF at max, always.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt">The value in MAXIMUM UNMAP LBA COUNT field in Inquiry - Block Limits VPD page has to be set to a higher value based on the logical block size, so that driver will get lesser number of SCSI Unmap commands. We have observed during quick format on a 400GB density disk, OFA driver gets ~6000 Unmap commands.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt">For ATA devices, following is the formula to calculate the MAXIMIMUM UNMAP LBA COUNT value:<BR>The BLOCK LIMITS VPD page MAXIMUM UNMAP LBA COUNT is calculated by multiplying the value of IDENTIFY DEVICE word 105 with 4194240 (65535 blocks per LBA range × 64 LBAranges per 512-byte block).</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt">We did not find any standard way of calculating the MAXIMUM UNMAP LBA COUNT value for NVMe. The SCSI - NVMe translation spec mentions that this value should be > 0.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt">We can set the MAXIMUM UNMAP LBA COUNT value to the maximum possible length in logical blocks i.e, 0xFFFF_FFFF. With this, the format performance is as good as MS Inbox driver. But this may not work for bigger density disks as there will be risk of causing a time out while processing a Unmap command for large values of logical blocks.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt">Does anybody have any idea on how to optimally calculate the MAXIMUM UNMAP LAB COUNT value for NVMe.</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN> </P>
<P><SPAN style="FONT-SIZE: 10pt">Thanks,<BR>Suman</SPAN></P>
<P><BR><BR></P></BODY></HTML><img src='http://ext.samsung.net/mailcheck/SeenTimeChecker?do=502122e85cbba61a0ce65e18eb501182daf257cfe78672b87d9badbdf7e30042d1afaaba7860cdcd9564217c646641ad61e16949eaa607501b20909a04efd4d2748cfe1d4e847419cf878f9a26ce15a0' border=0 width=0 height=0 style='display:none'>