Windows StorPort spinning up offline drives every 65 minutes

I have a mini-server running Windows 10 with 1 SSD and 3 Hard-Drives. I plan to use 2 of the drives scarcely so I want them to stay spun down. I even put them offline inside Disk Management. But the offline drives kept spinning up and then spinning down.

But I tracked it down to Microsoft-Windows-Storage-Storport writing the following in the Event Log:

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.041
Record ID         : 14052
Event ID          : 505
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : Performance summary for Storport Device (Port = 1, Path = 0, Target = 0, Lun = 0) whose Corresponding Class Disk Device Guid is {069B6C41-FA99-DA5F-4FC2-6BA20AFF7E67}:                 
For latency buckets of 2ms, 64ms, 2048ms, 5120ms, 5120+ms, the IO counts are 0, 0, 0, 0, 0.
Opcode            : 
Task              : Port (201)
Keywords          : Read request
Process ID        : 
Thread ID         : 
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.041
Record ID         : 14053
Event ID          : 504
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : Error summary for Storport Device (Port = 1, Path = 0, Target = 0, Lun = 0) whose Corresponding Class Disk Device Guid is {069B6C41-FA99-DA5F-4FC2-6BA20AFF7E67}:                     
There were 1 total errors seen and 0 timeouts.                     
The last error seen had opcode 0x85 and completed with SrbStatus 0x1 and ScsiStatus 0x0.                     
The sense code was (0x0,0x0,0x0).                     
The latency was 0 ms.
Opcode            : 
Task              : Port (201)
Keywords          : Read request
Process ID        : 
Thread ID         : 
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.041
Record ID         : 14054
Event ID          : 505
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : Performance summary for Storport Device (Port = 1, Path = 1, Target = 0, Lun = 0) whose Corresponding Class Disk Device Guid is {E0198DC6-C3AD-2038-E67A-CC5C128C7924}:                 
For latency buckets of 2ms, 64ms, 2048ms, 5120ms, 5120+ms, the IO counts are 25355, 2037, 21, 0, 0.
Opcode            : 
Task              : Port (201)
Keywords          : Read request
Process ID        : 
Thread ID         : 
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.041
Record ID         : 14055
Event ID          : 504
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : Error summary for Storport Device (Port = 1, Path = 1, Target = 0, Lun = 0) whose Corresponding Class Disk Device Guid is {E0198DC6-C3AD-2038-E67A-CC5C128C7924}:                     
There were 6 total errors seen and 0 timeouts.                     
The last error seen had opcode 0x85 and completed with SrbStatus 0x1 and ScsiStatus 0x0.                     
The sense code was (0x0,0x0,0x0).                     
The latency was 0 ms.
Opcode            : 
Task              : Port (201)
Keywords          : Read request
Process ID        : 
Thread ID         : 
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.041
Record ID         : 14056
Event ID          : 505
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : Performance summary for Storport Device (Port = 0, Path = 0, Target = 0, Lun = 0) whose Corresponding Class Disk Device Guid is {3F18DCBD-5785-73C0-C528-91E4E8B4C95A}:                 
For latency buckets of 2ms, 64ms, 2048ms, 5120ms, 5120+ms, the IO counts are 56872, 105, 0, 0, 0.
Opcode            : 
Task              : Port (201)
Keywords          : Read request
Process ID        : 
Thread ID         : 
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.041
Record ID         : 14057
Event ID          : 504
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : Error summary for Storport Device (Port = 0, Path = 0, Target = 0, Lun = 0) whose Corresponding Class Disk Device Guid is {3F18DCBD-5785-73C0-C528-91E4E8B4C95A}:                     
There were 8 total errors seen and 0 timeouts.                     
The last error seen had opcode 0x85 and completed with SrbStatus 0x1 and ScsiStatus 0x0.                     
The sense code was (0x0,0x0,0x0).                     
The latency was 0 ms.
Opcode            : 
Task              : Port (201)
Keywords          : Read request
Process ID        : 
Thread ID         : 
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.041
Record ID         : 14058
Event ID          : 505
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : Performance summary for Storport Device (Port = 0, Path = 1, Target = 0, Lun = 0) whose Corresponding Class Disk Device Guid is {E38A0FC1-389B-3ADA-FED0-2978A2A6C019}:                 
For latency buckets of 2ms, 64ms, 2048ms, 5120ms, 5120+ms, the IO counts are 0, 0, 0, 0, 0.
Opcode            : 
Task              : Port (201)
Keywords          : Read request
Process ID        : 
Thread ID         : 
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.041
Record ID         : 14059
Event ID          : 504
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : Error summary for Storport Device (Port = 0, Path = 1, Target = 0, Lun = 0) whose Corresponding Class Disk Device Guid is {E38A0FC1-389B-3ADA-FED0-2978A2A6C019}:                     
There were 1 total errors seen and 0 timeouts.                     
The last error seen had opcode 0x85 and completed with SrbStatus 0x1 and ScsiStatus 0x0.                     
The sense code was (0x0,0x0,0x0).                     
The latency was 0 ms.
Opcode            : 
Task              : Port (201)
Keywords          : Read request
Process ID        : 
Thread ID         : 
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.065
Record ID         : 14060
Event ID          : 510
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : SMART statistics for Storport Device (Port = 0, Path = 0x0, Target = 0x0, Lun = 0x0).                    
Corresponding Class Disk Device Guid is {3F18DCBD-5785-73C0-C528-91E4E8B4C95A}.
Opcode            : 
Task              : Port (201)
Keywords          : Device state
Process ID        : 4
Thread ID         : 5428
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.079
Record ID         : 14061
Event ID          : 511
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : ATA Device Statistics Logs for Storport Device (Port = 0, Path = 0x0, Target = 0x0, Lun = 0x0).                    
Corresponding Class Disk Device Guid is {3F18DCBD-5785-73C0-C528-91E4E8B4C95A}.
Opcode            : 
Task              : Port (201)
Keywords          : Device state
Process ID        : 4
Thread ID         : 5428
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.119
Record ID         : 14062
Event ID          : 510
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : SMART statistics for Storport Device (Port = 1, Path = 0x1, Target = 0x0, Lun = 0x0).                    
Corresponding Class Disk Device Guid is {E0198DC6-C3AD-2038-E67A-CC5C128C7924}.
Opcode            : 
Task              : Port (201)
Keywords          : Device state
Process ID        : 4
Thread ID         : 3368
==================================================

==================================================
Event Time        : 09-Jul-17 4:36:37 PM.449
Record ID         : 14063
Event ID          : 511
Level             : Information
Channel           : Microsoft-Windows-Storage-Storport/Operational
Provider          : Microsoft-Windows-StorPort
Description       : ATA Device Statistics Logs for Storport Device (Port = 1, Path = 0x1, Target = 0x0, Lun = 0x0).                    
Corresponding Class Disk Device Guid is {E0198DC6-C3AD-2038-E67A-CC5C128C7924}.
Opcode            : 
Task              : Port (201)
Keywords          : Device state
Process ID        : 4
Thread ID         : 3368
==================================================

Those sets of events happen every 65 minutes in the logs and the hard drives wake up every time they happen. I suspect the driver is querying the SMART data and some drives spin up when SMART data is requested.

If there any way to prevent this from happening? Maybe some idea of what I should try?

The motherboard is Asrock J3160DC-ITX. The problem occurs no matter if my drives are connected to the 2 'normal' SATA ports or the 2 ports from ASMedia ASM1061c controller.

EDIT: Doing further tracing points me to storport.sys!StorpDeviceHealthWorkItemRoutine It seems to be the worker method that is waking up my drives.


Solution 1:

To fix it, you need to add the following keys and values to the Windows Registry:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort]
"TelemetryPerformanceEnabled"=dword:00000000
"TelemetryErrorDataEnabled"=dword:00000000
"TelemetryDeviceHealthEnabled"=dword:00000000

After adding them my drives stopped spinning up.

I found these by decompiling the storport.sys driver. They only seem to be used for event logging so disabling them should cause no issues. The health and performance logging were set to run every 60 minutes + 5 minutes acceptable delay, explaining why the drives would wake up exactly every 65 minutes.