Windows ODX test (Offloaded Data Transfers)


One of my NAS provider recent updates enabled some advanced features for the LUNs I wanted to test, before upgrading my entire Private Cloud fabric to Windows Server 2012 R2 and System Center 2012 R2.

I am talking about the ODX feature my NAS LUNs are now capable of. As storage is the current heart and the main bottleneck in our clouds, the ODX promise to store and get fast Virtual Machines operations is extremely appealing.

ODX setup

To test and get an idea of what it was capable of, I created a dedicated LUN on my NAS with the Advanced LUN features activated (including the Windows ODX):


The LUN is mapped to an iSCSI target on the NAS.

Then, the LUN is connected to a Windows Server 2012 R2 host, which runs Hyper-V, through Windows iSCSI initiator.

The LUN is exposed to Windows as a Disk, on which a partition and a volume are created, formatted in NTFS.


Once this is done, the documentation is unclear on how to Enable ODX. So I used the various resources found on the Internet and did this:

To enable ODX, in a Windows PowerShell cmd line, running as Administrator, type:

Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name "FilterSupportedFeaturesMode" -Value 0

To disable ODX, type the following:

Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name "FilterSupportedFeaturesMode" -Value 1



Block Zeroing

To test the Block Zeroing feature of ODX (the capability to create files filled in with 0), I create a fixed size VHDX file of 50GB.

In PowerShell, disable ODX and create a new VHDX file



Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name "FilterSupportedFeaturesMode" -Value 1

Measure-Command { New-VHD -Path E:\TestVHD-50GB.vhdx -Size 50GB -Fixed}

File creation duration: 19 minutes and 48 seconds


Then, in PowerShell, enable ODX and create another VHDX file



Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name "FilterSupportedFeaturesMode" -Value 0

Measure-Command { New-VHD -Path E:\TestVHD-50GB-ODX.vhdx -Size 50GB -Fixed}

File creation duration: 7 seconds!!!! - for a 50 GB file

Full Copy

To test the copy, I copied the created files without then with ODX, with this PowerShell command:

Measure-Command { Copy-Item E:\TestVHD-50GB.vhdx E:\CopiedTestVHD.vhdx }


Copy without ODX:


Copy duration without ODX: 26 minutes and 21 seconds




Copy duration WITH ODX: 24 seconds!!!!



If any of your fabric components are ODX capable, you want to Enable it and leverage the blasting files operations speed.

The gains I measured tell it all:

50 GB file operations

Without ODX

With ODX

Gain factor

Block zeroing (creation)

1,188 s

7 s

169 times

File copy

1,581 s

24 s

65 times




My SAN hardware provider feature


Deploy Windows Offloaded Data Transfers


NTFS Cluster size for Hyper-V


Notes From The Field Using ODX With HP 3PAR Storage Arrays