This article describes a hotfix rollup that improves Windows Vista and Windows Server 2008 compatibility with Advanced Format disks. Advanced Format disks have a 4-KB physical sector size. This hotfix is only for Advanced Format disks that have a 4-KB physical sector size and that emulate a 512-byte interface for logical addressing.
Note Advanced Format disks introduce a larger physical sector of 4 KB. However, these disks have a 512-byte interface for logical addressing to make initial versions more compatible with current computer systems. Therefore, these disks are known as "512-byte emulation disks" or as "512e."
For more information about Advanced Format disks, visit the following International Disk Drive Equipment and Materials Association (IDEMA) website:
Hard disk drives are commonly based on 512-byte sectors, and all access to the physical media is addressed based on this unit. Hard disks vendors now manufacture Advanced Format disks that have a sector size of 4096 bytes (4 KB). These disks can perform only physical media updates in the granularity of the 4 KB physical sector. Therefore, a 512-byte write that is directed to the disk requires some additional work to be completed. This additional work affects performance and reliability, depending on the workload and hardware implementation. To avoid this additional work, applications must be updated to natively support write operations in the 4-KB sector size.
This article discusses a hotfix rollup package that introduces a new storage infrastructure that lets you query the physical sector size of a storage device. Additionally, the hotfix rollup package updates the Fsutil.exe tool to report the correct sector size.
Developers must make special considerations when these kinds of disks are used. However, a more detailed technical discussion of these considerations is beyond the scope of this article and will be detailed in another article on MSDN.
Issues that this hotfix rollup package resolves
This hotfix rollup package resolves the following issues that involve Advanced Format disk and that are not previously documented in a Microsoft Knowledge Base article.
Issue 1
Storport is a storage driver model that is used by many storage controller manufacturers and that is in Windows Vista and in Windows Server 2008. Storport does not support the IOCTL_STORAGE_QUERY_PROPERTY request that has 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 a disk. This may affect performance and reliability.
Without this hotfix rollup package, applications cannot query the physical sector size of the storage device.
This hotfix has an updated Storport driver (Storport.sys) that supports the IOCTL_STORAGE_QUERY_PROPERTY request that has the STORAGE_ACCESS_ALGINMENT_DESCRIPTOR structure.
Note A IOCTL_STORAGE_QUERY_PROPERTY request results in a translation to the SCSI SBC3 READ_CAPACITY(16) command. The miniport driver that plugs into the Storport driver model must support the SBC3 READ_CAPACITY(16) command. Additionally, the disk drive must correctly report the sector size information by using the SBC3 READ_CAPACITY(16) command.
For more information about the IOCTL_STORAGE_QUERY_PROPERTY control code, visit the following MSDN website:
This update also updates the Fsutil.exe tool. The updated tool generates a new Bytes Per Physical Sector field in the output. For example, you receive an output that resembles the following when you run the fsutil fsinfo ntfsinfo C: command to obtain information about drive C:
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 Segmen: 0Mft Valid Data Length: 0x0000000020980000Mft Start Lcn: 0x00000000000c0000Mft2 Start Lcn: 0x0000000000000002Mft Zone Start: 0x000000000109c060Mft Zone End: 0x00000000010a8880RM Identifier: 974AD058-3B3D-11DE-9300-000FFEE93BEF
Note The Bytes Per Physical Sector field has one of the following values:
512 A value of 512 means the drive is a legacy 512 native drive.
4096 A value of 4096 means the drive is for Advanced Format drive.
Not Supported A value of Not Supported means the hardware or driver does not support the IOCTL_STORAGE_QUERY_PROPERTY control code.
Issue 3
These storage devices that have various software and hardware components have increased support. However, the support may remain unstandardized. For example, support for accurate reporting of the physical sector size for these storage devices remains unstandardized. Therefore, applications must handle scenarios where the reported physical sector size of the storage device they use may change.
Applications that are built on ESENT may not work correctly after the reported physical sector size of the storage device changes.
In the following scenarios, Windows may report that the physical sector size of a storage device has changed:
You move the storage device to a RAID controller from a direct-attached controller, and vice-versa. In this scenario, the reported physical sector size may change because RAID controllers may not report the physical sector size of the storage device. Therefore, the system may identify 4 KB in one session and 512 bytes in another session, and vice-versa.
You upgrade your primary storage device that has a 512-byte physical sector size to a storage device that has a 4-KB physical sector size, or vice-versa. Additionally, you use an application such as Windows backup to perform a block-level backup and restore. Consider the following scenario:
You perform a block-level backup of your system that is running on a storage device that reports a 512-byte physical sector size.
You replace this storage device by using a storage device that reports a 4-KB physical sector size.
You perform a block-level restore of your system to the new storage device.
In this scenario, the reported physical sector size is changed from 512 bytes to 4 KB when the system starts. Note This scenario can also be reversed where you replace a storage device that uses a 4-KB physical sector size to a storage device that uses a 512-byte physical sector size.
You upgrade the storage controller in the system where the current storage controller has support for physical sector size reporting, and the new storage controller that does not have support for physical sector size reporting, or vice-versa. When the storage controller changes, Windows must load the appropriate driver to support the new storage controller. For example, this issue occurs most frequently when you are upgrading from the Microsoft Inbox ATA driver (MSAHCI) to a third-party Storport-based driver, or vice-versa.
You change the mode of the storage controller in the BIOS of the system. This issue may occur in all combinations of modes such as AHCI, Legacy, IDE, Compatible, RAID, and so on. Each mode requires a different storage driver to be loaded by Windows. In this case, some drivers may have support, and other drivers may not have support.
The following are examples of applications that are built on the Extensible Storage Engine API (ESENT):
Windows Update
Active Directory
Windows Desktop Search
Certification authority (CA)
Windows Internet Name Service (WINS)
Dynamic Host Configuration Protocol (DHCP)
Windows Live Mail
For example, you may receive the following error message in Windows Update when this issue occurs:
FATAL: Failed to initialize datastore, error = 0xC8000222.
Additionally, an event that resembles the following is logged in the Application log:
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website:
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.
Prerequisites
To apply this hotfix, you must be running one of the following operating systems:
Windows Vista Service Pack 2 (SP2)
Windows Server 2008 Service Pack 2 (SP2)
For more information about how to obtain a Windows Vista service pack, click the following article number to view the article in the Microsoft Knowledge Base:
How to obtain the latest Windows Vista service pack
For more information about how to obtain a Windows Server 2008 service pack, click the following article number to view the article in the Microsoft Knowledge Base:
How to obtain the latest service pack for Windows Server 2008
Registry information
To use the hotfix in this package, you do not have to make any changes to the registry.
Restart requirement
You must restart the computer after you apply this hotfix.
Hotfix replacement information
This hotfix does not replace a previously released hotfix.
File information
The global version of this hotfix 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 Vista and Windows Server 2008 file information notes
Important Windows Vista hotfixes and Windows Server 2008 hotfixes are included in the same packages. However, only "Windows Vista" is listed on the Hotfix Request page. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows Vista" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.
The files that apply to a specific product, SR_Level (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table.
Collapse this tableExpand this table
Version
Product
SR_Level
Service branch
6.0.600
2
.
22xxx
Windows Vista and Windows Server 2008
SP2
LDR
The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows Server 2008 and for Windows Vista" section. MUM files and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintain the state of the updated components. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.
For all supported x86-based versions of Windows Server 2008 and of Windows Vista
Collapse this tableExpand this table
File name
File version
File size
Date
Time
Platform
Esent.dll
6.0.6002.22531
1,460,736
23-Nov-2010
18:47
x86
Fsutil.exe.mui
6.0.6002.22661
77,824
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:17
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
15:33
Not applicable
Fsutil.exe.mui
6.0.6002.22661
77,824
16-Jun-2011
18:17
Not applicable
Fsutil.exe.mui
6.0.6002.22661
65,536
16-Jun-2011
15:32
Not applicable
Fsutil.exe.mui
6.0.6002.22661
77,824
16-Jun-2011
18:23
Not applicable
Fsutil.exe.mui
6.0.6002.22661
69,632
16-Jun-2011
18:17
Not applicable
Fsutil.exe.mui
6.0.6002.22661
77,824
16-Jun-2011
15:33
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:23
Not applicable
Fsutil.exe.mui
6.0.6002.22661
57,344
16-Jun-2011
15:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
53,248
16-Jun-2011
15:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:17
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
81,920
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:23
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:23
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
69,632
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
53,248
16-Jun-2011
15:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
53,248
16-Jun-2011
15:53
Not applicable
Fsutil.exe
6.0.6002.22661
55,296
16-Jun-2011
13:11
x86
Storport.sys
6.0.6002.22661
124,816
17-Jun-2011
09:08
x86
For all supported x64-based versions of Windows Server 2008 and of Windows Vista
Collapse this tableExpand this table
File name
File version
File size
Date
Time
Platform
Esent.dll
6.0.6002.22531
2,507,264
23-Nov-2010
16:59
x64
Fsutil.exe.mui
6.0.6002.22661
68,608
16-Jun-2011
18:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
62,976
16-Jun-2011
18:13
Not applicable
Fsutil.exe.mui
6.0.6002.22661
64,512
16-Jun-2011
15:37
Not applicable
Fsutil.exe.mui
6.0.6002.22661
67,584
16-Jun-2011
18:13
Not applicable
Fsutil.exe.mui
6.0.6002.22661
56,832
16-Jun-2011
15:28
Not applicable
Fsutil.exe.mui
6.0.6002.22661
67,584
16-Jun-2011
18:52
Not applicable
Fsutil.exe.mui
6.0.6002.22661
60,928
16-Jun-2011
18:13
Not applicable
Fsutil.exe.mui
6.0.6002.22661
69,632
16-Jun-2011
15:37
Not applicable
Fsutil.exe.mui
6.0.6002.22661
65,536
16-Jun-2011
18:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
66,048
16-Jun-2011
18:52
Not applicable
Fsutil.exe.mui
6.0.6002.22661
48,128
16-Jun-2011
15:59
Not applicable
Fsutil.exe.mui
6.0.6002.22661
45,056
16-Jun-2011
15:59
Not applicable
Fsutil.exe.mui
6.0.6002.22661
62,464
16-Jun-2011
18:13
Not applicable
Fsutil.exe.mui
6.0.6002.22661
64,512
16-Jun-2011
18:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
70,656
16-Jun-2011
18:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
63,488
16-Jun-2011
18:52
Not applicable
Fsutil.exe.mui
6.0.6002.22661
65,024
16-Jun-2011
18:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
64,000
16-Jun-2011
18:52
Not applicable
Fsutil.exe.mui
6.0.6002.22661
62,464
16-Jun-2011
18:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
61,440
16-Jun-2011
18:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
42,496
16-Jun-2011
15:59
Not applicable
Fsutil.exe.mui
6.0.6002.22661
43,520
16-Jun-2011
15:59
Not applicable
Fsutil.exe
6.0.6002.22661
75,776
16-Jun-2011
13:26
x64
Storport.sys
6.0.6002.22661
168,336
17-Jun-2011
09:05
x64
Esent.dll
6.0.6002.22531
1,460,736
23-Nov-2010
18:47
x86
Fsutil.exe.mui
6.0.6002.22661
77,824
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:17
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
15:33
Not applicable
Fsutil.exe.mui
6.0.6002.22661
77,824
16-Jun-2011
18:17
Not applicable
Fsutil.exe.mui
6.0.6002.22661
65,536
16-Jun-2011
15:32
Not applicable
Fsutil.exe.mui
6.0.6002.22661
77,824
16-Jun-2011
18:23
Not applicable
Fsutil.exe.mui
6.0.6002.22661
69,632
16-Jun-2011
18:17
Not applicable
Fsutil.exe.mui
6.0.6002.22661
77,824
16-Jun-2011
15:33
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:23
Not applicable
Fsutil.exe.mui
6.0.6002.22661
57,344
16-Jun-2011
15:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
53,248
16-Jun-2011
15:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:17
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
81,920
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:23
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:23
Not applicable
Fsutil.exe.mui
6.0.6002.22661
73,728
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
69,632
16-Jun-2011
18:20
Not applicable
Fsutil.exe.mui
6.0.6002.22661
53,248
16-Jun-2011
15:53
Not applicable
Fsutil.exe.mui
6.0.6002.22661
53,248
16-Jun-2011
15:53
Not applicable
Fsutil.exe
6.0.6002.22661
55,296
16-Jun-2011
13:11
x86
For all supported IA-64–based versions of Windows Server 2008
Applications that are built on ESENT and that run on a Windows Vista-based or Windows Server 2008-based computer may not work correctly after the reported physical sector size of the storage device changes
Additional file information
Additional file information for Windows Vista and for Windows Server 2008
Additional files for all supported x86-based versions of Windows Vista and of Windows Server 2008