You are currently offline, waiting for your internet to reconnect

An update that improves the compatibility of Windows 7 and Windows Server 2008 R2 with Advanced Format Disks is available

SUMMARY
This article describes an update that improves the compatibility of Windows 7 and Windows Server 2008 R2 with Advanced Format Disks that have a 4KB physical sector size. This hotfix is only applicable to Advanced Format disks which report themselves as having a 4 KB physical sector size, and which emulate a logical addressing interface of 512 bytes.

Note Advanced Format disks introduce a larger physical sector (4 KB). However, to make initial versions more compatible with current computer systems, they maintain a 512 byte logical addressing interface. Therefore, they are known as “512-byte emulation disks,” or “512e” for short. For more information about Advanced Format disks, please visit the International Disk Drive Equipment and Materials Association (IDEMA) website that is listed at the end of this article.
INTRODUCTION
Hard disk drives have traditionally been based on 512 byte sectors, and all access to the physical media was addressed based on this unit. Recently, hard disks vendors have begun to transition to new disks that have a sector size of 4096 bytes (4 KB). These are generally known as an “Advanced Format Disk.” Because disks are only able to perform physical media updates in the granularity of the physical sector (4 KB in this case), a 512 byte write that is directed to the disk will require some additional work in order to be completed. This work comes at the cost of performance and reliability, with the specific cost varying based on the workload and hardware implementation. To avoid this additional work, applications must be updated to natively support writes that are based on the 4 KB sector granularity.

This KB article introduces new storage infrastructure to support querying for the physical sector size of the storage device. Additionally, this KB article introduces support in certain key system components for these kinds of disks in order to improve performance, reliability, and general interoperability.

A more detailed technical discussion into the special considerations developers have to take with these kinds of disks are out of the scope of this KB article and will be detailed in a companion document on MSDN.

Issues that this hotfix rollup package fixes

This hotfix rollup package resolves the following issues that were not previously documented in a Microsoft Knowledge Base article. Any of these following issues can be encountered when you use an Advanced Format disk.

Issue 1 You receive an error message when you click the Check for Updates button on Windows Update site

Click here to view or hide detailed information

The Extensible Storage Engine API(ESENT) is a high-performance desktop database engine that is used by many applications, including Windows Update. Certain storage drivers have different kinds of support for querying the physical sector size of the hard disk in a hard disk drive and, when such a driver is upgraded, the reported physical sector size of the hard disk can change. Because of the logging structure of ESENT, applications that are built on ESENT receive an error message and stop responding when the reported physical sector size changes between operating system sessions.

Note Applications that are built on ESENT include Windows Update, Active Directory, Windows Desktop Search, certification authority (CA), WINS, DHCP, and Windows Live Mail.

You receive the following error message when you click the Check for Updates button on Windows Update site:
Windows Update cannot currently check for updates because the service is not running. You may have to restart your computer.


Additionally, the following error is logged into the Application log:

Log Name: Application
Source: ESENT
Date: <Date time>
Event ID: 412
Task Category: Logging/Recovery
Level: Error
Keywords: Classic
Description:
wuaueng.dll (936) SUS20ClientDataStore: Unable to read the header of logfile C:\Windows\SoftwareDistribution\DataStore\Logs\edb.log. Error -546.


An updated Esent.sys binary that eases the effects of changes in the reported sector size is included with this hotfix.

Note Esent.sys does not support physical sector sizes other than 512 bytes and 4 KB.
Database repair
To repair the database, follow these steps:
  1. At a command prompt, type the following commands. Press Enter after you type each command.
    • net stop "windows update"
    • cd /d %windir%\SoftwareDistribution\DataStore\Logs
    • esentutl /mh ..\DataStore.edb | findstr /i /c:"State:"
    Note If "State: Clean Shutdown" is displayed in the command-line, go to step 5.
  2. Create a temporary folder (for example, create a folder that is named "Fixedfiles" by using the mkdir c:\fixedfiles command).

    Note During the following steps, replace "c:\fixedfiles" with the folder that you created in this step.
  3. Obtain a copy of the %windir%\system32\esent.dll file from a computer that has this hotfix installed, and copy the file to c:\fixedfiles.
  4. At a command prompt, type the following commands. Press Enter after you type each command.
    • copy %windir%\system32\esentutl.exe c:\fixedfiles\
    • c:\fixedfiles\esentutl.exe /r edb
    • esentutl /mh ..\datastore.edb | findstr /i /c:"State:"
    Notes
    • If "State: Clean Shutdown" is displayed in the command-line, go to step 5.
    • If this step fails or if "State: Clean Shutdown" is not displayed in the command-line, see the "Destructive recovery method" section of this article.
  5. Create a temporary folder (for example, create a folder that is named "Backuplogs" by using the mkdir c:\backuplogs command).

    Note During the following steps, replace "c:\backuplogs" with the folder that you created in this step.
  6. At a command prompt, type the following commands. Press Enter after you type each command.
    • move * c:\backuplogs
    • net start "windows update"
  7. Run Windows Update.
Destructive recovery method
Important If you use this method, you will lose your Windows Update history. Therefore, we do not recommend that you use this method unless you cannot repair the database. To use the destructive recovery method, follow these steps:
  1. At a command prompt, type the following commands. Press Enter after you type each command.
    • net stop "windows update"
    • cd /d windir%\SoftwareDistribution\DataStore
    • rmdir /s/q Logs
    • del DataStore.mdb
    • net start "windows update"
  2. Run Windows Update.

Issue 2 An Issue Occurs when many small writes are performed

Click here to view or hide detailed information

Before Advanced Format disks were available, NTFS assumed that the logical sector size that was exposed by the disk interface was equal to the physical sector size of the disk. Although NTFS was originally designed to theoretically support larger sectors sizes, NTFS assumed that these two sector sizes were equal. When NTFS performs buffered writes at the end of a file in Windows 7 and Windows Server 2008 R2, NTFS pads the write operation to the end of the sector size which is exposed by the disk interface (the logical sector size). This behavior guarantees sector alignment. However, because the size of a logical sector of a 512e drive is 512 bytes, the buffered write does not align to the physical sector size of the drive’s hard disk. This causes the Advanced Format disk to internally update the 512-byte logical sector within its 4KB physical sector, which can result in performance and reliability issues.

This hotfix introduces behavior to NTFS which makes sure that buffered writes at the end of the file are padded to the reported physical sector size of the disk.

This issue can manifest itself with everyday applications on an Advanced Format disk. However, this issue occurs most frequently when you perform many small writes, such as using the ImageX command-line tool in Windows 7 or in Windows Server 2008 R2 to apply a Microsoft Windows Image (.wim file) to an Advanced Format disk. Without the hotfix, ImageX takes significantly longer to complete the operation than if you were to apply the same operation to a traditional hard disk.

Note This fix is dependent on the storage driver and the disk both reporting the correct physical sector size. NTFS does not support disks which have reported physical sector sizes other than 512-bytes or 4-KB, or on disks whose logical sector size is not 512-bytes.

Issue 3 Applications cannot query the physical sector size of an external storage device

Click here to view or hide detailed information

USBStor is the Microsoft USB storage port driver that is automatically loaded for a device that complies with the USB mass storage class. The USBStor driver inbox with Windows 7 does not support the IOCTL_STORAGE_QUERY_PROPERTY request with the STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR structure to retrieve the storage access alignment descriptor data for an attached disk. This structure contains physical and logical sector size information, and without this information, NTFS and other applications cannot perform aligned writes to the USB storage device which can adversely affect performance and reliability.

Without this hotfix, applications cannot query the physical sector size of the external storage device.

An updated USBStor driver (Usbstor.sys) which supports the IOCTL_STORAGE_QUERY_PROPERTY request, together with the STORAGE_ACCESS_ALGINMENT_DESCRIPTOR structure, is included in this hotfix.

Note The IOCTL_STORAGE_QUERY_PROPERTY request results in a translation to the SCSI SBC3 READ_CAPACITY(16) command. The attached USB device must correctly report the sector size information through the SBC3 READ_CAPACITY(16) command. The attached USB device must also guarantee that as a response to the initial INQUIRY command, 0x04C0 (SBC3 No Specified Version) is returned as the version descriptor.

For more information about the IOCTL_STORAGE_QUERY_PROPERTY control code, visit the following Microsoft site: For more information about the STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR structure, visit the following Microsoft site:

Issue 4 Applications cannot query the physical sector size of a storage device

Click here to view or hide detailed information

Storport is a storage driver model that is used by many storage controller manufacturers. It is included with Windows 7 and Windows Server 2008 R2. Storport does not support the IOCTL_STORAGE_QUERY_PROPERTY request with the STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR structure to retrieve the storage access alignment descriptor data for an attached disk. This structure contains physical and logical sector size information. Without this information, NTFS and other applications cannot perform aligned writes to the disk. This may affect performance and reliability.

Without this hotfix, applications cannot query the physical sector size of the storage device.

An updated Storport driver (Storport .sys) which supports the IOCTL_STORAGE_QUERY_PROPERTY request, together with the STORAGE_ACCESS_ALGINMENT_DESCRIPTOR structure, is included in this hotfix.

Note The IOCTL_STORAGE_QUERY_PROPERTY request results in a translation to the SCSI SBC3 READ_CAPACITY(16) command. The miniport driver which plugs into the Storport driver model must support the SBC3 READ_CAPACITY(16) command. Additionally, the disk must correctly report the sector size information through the SBC3 READ_CAPACITY(16) command.

For more information about the IOCTL_STORAGE_QUERY_PROPERTY control code, visit the following Microsoft site: For more information about the STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR structure, visit the following Microsoft site:

Issue 5 Storage drivers do not support correct sector size reporting for Advanced Format disks

Click here to view or hide detailed information

Many storage drivers do not support correct sector size reporting for Advanced Format disks. Updates to the following drivers are included in this hotfix:
  • IaStorV.sys
  • Amdsata.sys
  • Nvraid.sys
  • Nvsata.sys
Note Other third-party storage drivers may not be updated to support these new SBC3 commands. Please contact your storage controller vendor for more information.

Additionally, this hotfix rollup package includes fixes that are documented in the following Microsoft Knowledge Base articles:
981208 Poor performance when you transfer many small files on a computer that is running Windows 7 or Windows Server 2008 R2

Issue 6 Fsutil.exe tool issue

Click here to view or hide detailed information

This update also updates the Fsutil.exe tool. The updated tool generates a new "Bytes Per Physical Sector" text in the output. For example, when you run the fsutil fsinfo ntfsinfo C: command to obtain information about drive C:, you receive output that resembles the following:
NTFS Volume Serial Number :       0xfe6e5dcc6e5d7e79Version :                         3.1Number Sectors :                  0x000000001d1927ffTotal Clusters :                  0x0000000003a324ffFree Clusters  :                  0x0000000001f8bae8Total Reserved :                  0x00000000000007f0Bytes Per Sector  :               512Bytes Per Physical Sector :       4096Bytes Per Cluster :               4096Bytes Per FileRecord Segment    : 1024Clusters Per FileRecord Segment : 0Mft Valid Data Length :           0x0000000020980000Mft Start Lcn  :                  0x00000000000c0000Mft2 Start Lcn :                  0x0000000000000002Mft Zone Start :                  0x000000000109c060Mft Zone End   :                  0x00000000010a8880RM Identifier:                    974AD058-3B3D-11DE-9300-000FFEE93BEF
Notes The value for "bytes per physical sector" can be any of the following:
  • 512 – for Legacy 512 Native drives
  • 4096 – for Advanced Format drives
  • <Not Supported> - if the hardware or driver does not support the IOCTL_STORAGE_QUERY_PROPERTY control code
RESOLUTION

Update information

How to obtain this update

If you are not sure which Windows version is installed, follow these steps:
Click here to view or hide step-by-step instructions with pictures
  1. Click Start, type msinfo32 in the Start Search or Search programs and files, then press ENTER.
  2. Locate your operating system next to the OS Name line and your architecture type next to the System Type line.


The following files are available for download from the MicrosoftDownload Center:
Operating systemUpdate
All supported x86-based versions of Windows 7DownloadDownload the update package now.
All supported x64-based versions of Windows 7DownloadDownload the update package now.
All supported x64-based versions of Windows Server 2008 R2DownloadDownload the update package now.
For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

Prerequisites

To apply this hotfix, you must be running one of the following operating systems:
  • Windows 7
  • Windows 7 Service Pack 1 (SP1)
  • Windows Server 2008 R2
  • Windows Server 2008 R2 Service Pack 1 (SP1)
For more information about how to obtain a Windows 7 or a Windows Server 2008 R2 service pack, click the following article number to view the article in the Microsoft Knowledge Base:
976932 Information about Service Pack 1 for Windows 7 and for Windows Server 2008 R2

Restart requirement

You must restart the computer after you apply this hotfix.

Update replacement information

This update does not replace a previously released update.

File information

Click here to view or hide detailed information
The English (United States) version of this update installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.
Windows 7 and Windows Server 2008 R2 file information notes
Important Windows 7 hotfixes and Windows Server 2008 R2 hotfixes are included in the same packages. However, hotfixes on the Hotfix Request page are listed under both operating systems. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows 7/Windows Server 2008 R2" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.
For all supported x86-based versions of Windows 7
File nameFile versionFile sizeDateTimePlatform
Amdsata.sys1.1.2.580,25611-Mar-201105:43x86
Amdxata.sys1.1.2.522,40011-Mar-201105:43x86
Amdsata.sys1.1.2.580,25611-Mar-201105:52x86
Amdxata.sys1.1.2.522,40011-Mar-201105:52x86
Amdsata.sys1.1.2.580,25611-Mar-201105:38x86
Amdxata.sys1.1.2.522,40011-Mar-201105:38x86
Amdsata.sys1.1.2.580,25611-Mar-201105:27x86
Amdxata.sys1.1.2.522,40011-Mar-201105:27x86
Iastorv.sys8.6.2.1013332,16011-Mar-201105:43x86
Iastorv.sys8.6.2.1013332,16011-Mar-201105:52x86
Iastorv.sys8.6.2.1014332,16011-Mar-201105:38x86
Iastorv.sys8.6.2.1014332,16011-Mar-201105:28x86
Esent.dll6.1.7600.167781,686,01611-Mar-201105:39x86
Esent.dll6.1.7600.209211,686,01611-Mar-201105:48x86
Esent.dll6.1.7601.175771,699,32811-Mar-201105:33x86
Esent.dll6.1.7601.216801,699,32811-Mar-201105:20x86
Fsutil.exe6.1.7600.1677874,24011-Mar-201105:37x86
Fsutil.exe6.1.7600.2092174,24011-Mar-201105:46x86
Fsutil.exe6.1.7601.1757774,24011-Mar-201105:31x86
Fsutil.exe6.1.7601.2168074,24011-Mar-201105:18x86
Ntfs.sys6.1.7600.167781,210,24011-Mar-201105:44x86
Ntfs.sys6.1.7600.209211,210,75211-Mar-201105:52x86
Ntfs.sys6.1.7601.175771,211,26411-Mar-201105:39x86
Ntfs.sys6.1.7601.216801,211,26411-Mar-201105:28x86
Storport.sys6.1.7600.16778146,30411-Mar-201105:44x86
Storport.sys6.1.7600.20921148,86411-Mar-201105:52x86
Storport.sys6.1.7601.17577148,86411-Mar-201105:39x86
Storport.sys6.1.7601.21680148,86411-Mar-201105:28x86
Nvraid.sys10.6.0.18117,12011-Mar-201105:44x86
Nvstor.sys10.6.0.18143,74411-Mar-201105:44x86
Nvraid.sys10.6.0.18117,12011-Mar-201105:52x86
Nvstor.sys10.6.0.18143,74411-Mar-201105:52x86
Nvraid.sys10.6.0.18117,12011-Mar-201105:39x86
Nvstor.sys10.6.0.18143,74411-Mar-201105:39x86
Nvraid.sys10.6.0.18117,12011-Mar-201105:28x86
Nvstor.sys10.6.0.18143,74411-Mar-201105:28x86
Usbstor.sys6.1.7600.1677875,77611-Mar-201104:08x86
Usbstor.sys6.1.7600.2092175,77611-Mar-201104:14x86
Usbstor.sys6.1.7601.1757776,28811-Mar-201104:01x86
Usbstor.sys6.1.7601.2168076,28811-Mar-201103:48x86
For all supported x64-based versions of Windows 7 and of Windows Server 2008 R2
File nameFile versionFile sizeDateTimePlatform
Amdsata.sys1.1.2.5107,90411-Mar-201106:22x64
Amdxata.sys1.1.2.527,00811-Mar-201106:22x64
Amdsata.sys1.1.2.5107,90411-Mar-201106:25x64
Amdxata.sys1.1.2.527,00811-Mar-201106:25x64
Amdsata.sys1.1.2.5107,90411-Mar-201106:41x64
Amdxata.sys1.1.2.527,00811-Mar-201106:41x64
Amdsata.sys1.1.2.5107,90411-Mar-201106:18x64
Amdxata.sys1.1.2.527,00811-Mar-201106:18x64
Iastorv.sys8.6.2.1013410,49611-Mar-201106:23x64
Iastorv.sys8.6.2.1013410,49611-Mar-201106:25x64
Iastorv.sys8.6.2.1014410,49611-Mar-201106:41x64
Iastorv.sys8.6.2.1014410,49611-Mar-201106:19x64
Esent.dll6.1.7600.167782,566,14411-Mar-201106:18x64
Esent.dll6.1.7600.209212,566,14411-Mar-201106:17x64
Esent.dll6.1.7601.175772,565,63211-Mar-201106:33x64
Esent.dll6.1.7601.216802,565,63211-Mar-201106:10x64
Fsutil.exe6.1.7600.1677896,76811-Mar-201106:15x64
Fsutil.exe6.1.7600.2092196,76811-Mar-201106:15x64
Fsutil.exe6.1.7601.1757796,76811-Mar-201106:30x64
Fsutil.exe6.1.7601.2168096,76811-Mar-201106:07x64
Ntfs.sys6.1.7600.167781,657,21611-Mar-201106:23x64
Ntfs.sys6.1.7600.209211,685,88811-Mar-201106:25x64
Ntfs.sys6.1.7601.175771,659,77611-Mar-201106:41x64
Ntfs.sys6.1.7601.216801,659,77611-Mar-201106:19x64
Storport.sys6.1.7600.16778187,26411-Mar-201106:23x64
Storport.sys6.1.7600.20921187,77611-Mar-201106:25x64
Storport.sys6.1.7601.17577189,82411-Mar-201106:41x64
Storport.sys6.1.7601.21680189,82411-Mar-201106:19x64
Nvraid.sys10.6.0.18148,35211-Mar-201106:23x64
Nvstor.sys10.6.0.18166,27211-Mar-201106:23x64
Nvraid.sys10.6.0.18148,35211-Mar-201106:25x64
Nvstor.sys10.6.0.18166,27211-Mar-201106:25x64
Nvraid.sys10.6.0.18148,35211-Mar-201106:41x64
Nvstor.sys10.6.0.18166,27211-Mar-201106:41x64
Nvraid.sys10.6.0.18148,35211-Mar-201106:19x64
Nvstor.sys10.6.0.18166,27211-Mar-201106:19x64
Usbstor.sys6.1.7600.1677891,13611-Mar-201104:31x64
Usbstor.sys6.1.7600.2092191,13611-Mar-201104:29x64
Usbstor.sys6.1.7601.1757791,64811-Mar-201104:37x64
Usbstor.sys6.1.7601.2168091,64811-Mar-201104:21x64
Esent.dll6.1.7600.167781,686,01611-Mar-201105:39x86
Esent.dll6.1.7600.209211,686,01611-Mar-201105:48x86
Esent.dll6.1.7601.175771,699,32811-Mar-201105:33x86
Esent.dll6.1.7601.216801,699,32811-Mar-201105:20x86
Fsutil.exe6.1.7600.1677874,24011-Mar-201105:37x86
Fsutil.exe6.1.7600.2092174,24011-Mar-201105:46x86
Fsutil.exe6.1.7601.1757774,24011-Mar-201105:31x86
Fsutil.exe6.1.7601.2168074,24011-Mar-201105:18x86
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
MORE INFORMATION
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
Microsoft has added sample code to the WDK which provides details about how developers can extract the reported storage access alignment information from the STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR structure when you make a call to the IOCTL_STORAGE_QUERY_PROPERTY control code:http://msdn.microsoft.com/en-us/library/ff800831(v=VS.85).aspx

Although Microsoft has taken steps to improve support for Advanced Format disks which run alongside Windows 7 and Windows Server 2008 R2, it is up to software developers to update their applications . It is observed to be the general trend of the Storage Industry to transition to larger sector sizes over the coming years, and applications must make sure that they are ready for this transition. Microsoft is preparing additional MSDN and TechNet documentation which will educate Developers and IT Pros as to the special considerations which have to be taken to support Advanced Format disks. The following table details Microsoft supports for different hard disk formats.

Support for Hard Disk Formats based on OS Version
Common Name(s)Physical sector sizeLogical sector sizeWindows Version with Support
Legacy 512 Native, 512 Native, Legacy 512 bytes512 bytesAll Windows versions
Advanced Format, 512-bye Emulation, 512e, 4k/512e4 KB512 bytesWindows 7 with MS KB 982018
Windows 7 SP1
Windows Server 2008 R2 with MS KB 982018
Windows Server 2008 R2 SP1
4K Native, 4k/4k4 KB4 KBNot supported as of Windows 7 SP1 or Windows Server 2008 R2 SP1. Microsoft is conducting an investigation into the feasibility of supporting these kinds of disks in the future and will issue the necessary KB articles when it is appropriate.
OtherNot 4 KB or 512 bytes.Not 4 KB or 512 bytes.Not supported
Note Support for Advanced Format disks relies on the disk reporting itself as having 4KB physical sectors, and relies on the Storage Driver reporting the physical sector size.

For more information, visit the following websites: For more information on Advanced Format Disks, visit the following IDEMA website: Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.
Properties

Article ID: 982018 - Last Review: 03/12/2012 05:40:00 - Revision: 16.0

Windows 7 Enterprise, Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Starter, Windows 7 Ultimate, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter

  • kbsurveynew kbhotfixserver kbfix kbqfe kbexpertiseadvanced kbcip KB982018
Feedback