I installed the new RST 14.0.0.1143 on my Z87 Mainboard with Windows 8.1 yesterday. Since there are no F6 drivers yet, i started the setup and then looked in %temp%, and there were the familiar x86 and x64 folders, just like in the F6 drivers. So i updated the driver from there via the device manager.
Something i soon noticed was wrong: The HDDs didn't spin down anymore after the 30 minutes i defined in the power savings plan.
At first i thought there could be something wrong with the extracted F6 driver files, but the folder content matched with the previous F6 drivers, and there was nothing unusual in the INF files either, which i compared. Just some new strings for newer chipsets.
I then made a roll-back to the old 13.6.0.1002 driver via device manager. The HDDs spun down after 30 minutes, everything normal.
To rule out that the 14.0.0.1143 drivers actually require the RST software to function properly, i installed the whole RST 14.0.0.1143. But with that, there is another problem, so i couldn't analyze the original problem further. The RST software keeps polling the SMART data from the HDDs and thus prevents them from spinning down anyway.
In Process Monitor, it looks like so:
- 23:21:55,2169899IAStorDataMgrSvc.exe 4880CreateFile \Device\Harddisk0\DR0 SUCCESS DesiredAccess:GenericRead/Write,Disposition:Open,Options:Synchronous IO Non-Alert,Non-DirectoryFile,Attributes: n/a,ShareMode:Read,Write,AllocationSize: n/a,OpenResult:Opened
- 23:21:55,2170929IAStorDataMgrSvc.exe 4880DeviceIoControl \Device\Harddisk0\DR0 SUCCESS Control: SMART_RCV_DRIVE_DATA
- 23:21:55,2172062IAStorDataMgrSvc.exe 4880DeviceIoControl \Device\Harddisk0\DR0 SUCCESS Control: IOCTL_SCSI_PASS_THROUGH_DIRECT
- 23:21:55,2175240IAStorDataMgrSvc.exe 4880CloseFile \Device\Harddisk0\DR0 SUCCESS
- 23:21:55,2196952IAStorDataMgrSvc.exe 4880CreateFile \Device\Harddisk1\DR1 SUCCESS DesiredAccess:GenericRead/Write,Disposition:Open,Options:Synchronous IO Non-Alert,Non-DirectoryFile,Attributes: n/a,ShareMode:Read,Write,AllocationSize: n/a,OpenResult:Opened
- 23:21:55,2197896IAStorDataMgrSvc.exe 4880DeviceIoControl \Device\Harddisk1\DR1 SUCCESS Control: SMART_RCV_DRIVE_DATA
- 23:21:55,2198977IAStorDataMgrSvc.exe 4880CloseFile \Device\Harddisk1\DR1 SUCCESS
- 23:21:55,2220264IAStorDataMgrSvc.exe 4880CreateFile \Device\Harddisk2\DR2 SUCCESS DesiredAccess:GenericRead/Write,Disposition:Open,Options:Synchronous IO Non-Alert,Non-DirectoryFile,Attributes: n/a,ShareMode:Read,Write,AllocationSize: n/a,OpenResult:Opened
- 23:21:55,2221176IAStorDataMgrSvc.exe 4880DeviceIoControl \Device\Harddisk2\DR2 SUCCESS Control: SMART_RCV_DRIVE_DATA
- 23:21:55,2222212IAStorDataMgrSvc.exe 4880CloseFile \Device\Harddisk2\DR2 SUCCESS
- 23:21:55,2244052IAStorDataMgrSvc.exe 4880CreateFile \Device\Harddisk3\DR3 SUCCESS DesiredAccess:GenericRead/Write,Disposition:Open,Options:Synchronous IO Non-Alert,Non-DirectoryFile,Attributes: n/a,ShareMode:Read,Write,AllocationSize: n/a,OpenResult:Opened
- 23:21:55,2244945IAStorDataMgrSvc.exe 4880DeviceIoControl \Device\Harddisk3\DR3 SUCCESS Control: SMART_RCV_DRIVE_DATA
- 23:21:55,2245982IAStorDataMgrSvc.exe 4880CloseFile \Device\Harddisk3\DR3 SUCCESS
So i uninstalled RST and went back to the 14.0 F6 drivers only for analyzing. But no matter what i tried, even setting the spin-down to 1 minute in the power management, the HDDs won't spin down with the new driver.
I read a bit more about the mechanism here: http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Disk_Idle_Detection.doc
Apparently the power manager, after the defined time, sends a request packet to the disk driver, asking for the HDD to go from D0 state (fully on) to D3 state (standby, stop spinning). Then the disk driver should convert this packet into an ATA command, telling the drive to enter standby. But from what i see, the drive never receives this command with the RST 14.0. When i roll back to 13.6.0.1002, it works fine again. With the 14.0, no go, i tried everything. And contrary to when you install the full RST software, with just the F6 driver there is also no SMART data polling that could interrupt things.
I'm at a loss here. Sadly i don't have the "PwrTest" tool from the Windows Driver Kit to test the mechanisms any further. But i'm hoping for someone else to know what's going on, or at least reproduce this possible bug.