Disk class driver IO split in Windows 8 RRS feed

  • Question

  • Hi,

    I was testing some HDD benchmarking tools in Windows 7 and Windows 8. From my observation, the benchmarking tool ATTO had only shown reduced performance performance in case of Windows 8 for sequential tests.

    When i checked the IO requests issued by ATTO for a 512KB R/W transfer size, it was issuing 4MB requests to the disk class driver, which then splits them into (4 * 124KB) + 16KB whereas the same test in Windows 7 resulted in (4 * 128KB) splits.

    I wonder, what makes of disk class driver to split the IO request likes this in windows 8?
    But these strange split pattern is not observed while running other benchmarking tools.

    Any suggestions are highly appreciated.

    Wednesday, April 30, 2014 1:12 PM

All replies

  • the disk class driver is a public sample, you can search for the answer there.

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    • Marked as answer by Doron Holan [MSFT] Wednesday, April 30, 2014 3:35 PM
    • Unmarked as answer by Kumar SM Monday, May 12, 2014 4:37 AM
    Wednesday, April 30, 2014 3:35 PM
  • I've checked the disk class driver (classpnp) sample and i've observed that in Windows 7, the number of physical breaks reported by Port/Miniport driver (ATAPort) is 0x21 whereas in windows 8, the number of physical breaks reported by Port/Miniport driver (Storport) is 0x20. This is confirmed in InitializeTransferPackets() function in xferpkt.c.

    But surprisingly, both the miniport drivers (Win7/8) sets MaximumPhysicalPages as 0x20. Hence i suspect that the ATAPort is incrementing MaximumPhysicalPages by 1 before giving to class driver. Please clarify.

    • Edited by Kumar SM Friday, May 9, 2014 9:28 AM Added some more information
    Friday, May 9, 2014 9:27 AM