Wednesday, December 12, 2012

Intel G530 NAS performance - part 3

I keep the momentum of testing my newly built NAS and I am focusing today on improving the performance of my SSD drive. Let me remind you that this system is running Windows 2012 Server and therefore most of what has been told/written about SSD performance improvement under Windows 2008 R2 applies but must sometimes be reconsidered because a few changes have been made in the last Microsoft OS version.

Let's start describing the steps you took under Windows 2008 R2 and see if they still apply under Windows 2012.

First statement. SSD drives are automatically aligned upon OS installation in Windows 2008 R2: this is true also under Windows 2012 and to check this we can use AS SSD performance measurement tool.

In the following screenshot the blue highlighted line tells us that our SSD is well aligned and good to go:
Checking SSD alignement with AS SSD
Second statement. Default SATA mode is the old IDE: this stays true. When I installed my new Windows 2012 it defaulted to IDE, as you can see in the next screenshot (highlighted in purple):
Default SATA mode under Windows 2012 is IDE and not AHCI
Third statement. You have to modify the registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\msahci to enable the AHCI SATA mode and to get NCQ and hot swap support: this is true but the procedure has changed because Microsoft has replaced the port MSAHCI with a Storport miniport named StorAHCI. So the registry key to modify is now:
HKLM\System\CurrentControlSet\Services\storahci
and you have to delete the following key before rebooting:
HKLM\System\CurrentControlSet\Services\storahci\StartOverride
At this point restart your system, enter the BIOS and look for the 'SATA mode' parameter, which you have to set to AHCI:
Setting SATA mode to AHCI in MSI Click BIOS
Fourth statement. TRIM is enabled by default: this is true for Windows 2012 as well. You can check this by issuing the following command in a Powershell prompt:
fsutil behavior query disabledeletenotify 
Two values can be returned:
  • If DisableDeleteNotify = 1 then Windows TRIM commands are disabled)
  • If DisableDeleteNotify = 0 then Windows TRIM commands are enabled
Conclusions: It looks like Windows 8 and Windows 2012 are well designed to work with SSDs and not many steps are required to get better transfer rates. If you knew about the IDE vs SATA debate before installing and therefore you have installed Windows after setting the SATA mode to AHCI in the BIOS, then you are good to go. Otherwise just apply what's written in point 3 and the performance will increase.

Now let's talk about the performance improvements one can achieve passing SATA mode from IDE to AHCI. I have completed two tests, one with my Crucial M4 in IDE mode, and one in AHCI mode.

In the first test (showed in the next screenshot) I measure the performance of my Crucial M4 64 GB in IDE mode under Windows 2012 with AS SSD. Normally the value of The 4K-64Thrd scores should be a lot higher than the normal 4K scores. In my case they are about the same, so Native Command Queing (NCQ, which is the method used by the SSD controller to complete commands concurrently) is not working:
SSD performance in IDE mode
In the second test I measure performance after moving to AHCI mode:
SSD performance is AHCI mode
As you can see there is a great improvement here in random 4K ops with a queue depth of 64, thanks to AHCI mode supporting Native Command Queuing (NCQ). My Crucial M4 passed from 27 MB/s to 306 MB/s (a factor of 10x or more!) for reads and from 74 MB/s to 95 MB/s for writes.

These figures, in IOPS terms, give:
SSD IOPS
Not bad.

For the rest, TRIM annd alignement are there by default in Windows 2012. Cool.

Just note that all I have said applies also to Windows 8.

Enough said for the moment. Comments are welcome, as always.

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...