If your Server is running Windows Server 2008 R2 Service Pack 1 or Windows Small Business Server 2011 Service Pack 1, you utilise RAID and have more than 4GB of memory then you are likely to be affected by this issue. It seems to impact those servers running memory hungry applications such as Microsoft Exchange, Microsoft SQL Server/Express and Microsoft SharePoint the most. It can cause the server to operate slowly and/or stop responding for 10-20 seconds to requests.
This issue is related to a limitation in the memory allocation of the storport.sys driver, this file is part of the Microsoft operating system.
All is not lost as Microsoft do provide a solution/fix. The first step is to ensure that your current RAID Controller driver is upto date, the latest version can usually be found on the server manufacturers support site or if you are not sure which update/driver applies to your system then contact the manufacturers technical support by phone or e-mail.
Please note that for HP Smart Array controllers you should be using Driver version 18.104.22.168 (Released 18th Feb 2014) or later for this change to take effect (Enables customers to make use of Microsoft HotFix which enables 64-bit command addressing described by MS KB2468345).
Now that we have the latest RAID controller driver installed lets ensure that we have the latest version of storport.sys installed, the latest version for Windows Server 2008 R2 to date is available from Microsoft using the following link http://support.microsoft.com/kb/2528357 we need this newer version of Storport because the version included with Windows Server 2008 R2 and Windows Server 2008 R2 – Service Pack 1 does not correct the memory allocation limitation. Once the storport.sys hotfix (KB 2528357) is installed on your server you can proceed to the final step of resolving the overall issue.
The final step is to create a registry entry under the RAID miniport driver to allow it to address more than 4GB Memory via the storport.sys driver that we have updated.
We need to add a registry key so lets open Registry Editor by either typing regedit in the Start Search box or the Run Command and then pressing “Enter”
You will need to browse and locate this registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\<MINIPORT>\Parameters
In place of <MINIPORT> in the example key above you need to enter the name of the Storport miniport driver that is in use on your particular server, i have attached a screenshot of where you can find this information, the example is based upon a HP Smart Array P410i Controller (HpCISSs2) but the principle is the same for most brands of server and RAID controller.
For the HP ProLiant server this Registry key would be: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HpCISSs2\Parameters
Once in the correct key click on the “Edit” menu, click “New”, and then click “DWORD Value”
Type Supports64BitAddressing, and then press “Enter”.
Right-click Supports64BitAddressing, and then click “Modify”
In the “Value data” box, type a value of 1
Your entry should look like the screenshot below
Close the Registry Editor and Restart your Server.
Now the RAID miniport driver that uses the Storport.sys driver can access more than 4 GB of physical memory and it should resolve your performance issue.Follow @aid_in_it