Saturday, December 10, 2011

Disabling Hard Disk Drive Advanced Power Management (HDD APM)

HDD APM explained in brief
The Advanced Power Management feature present in virtually all modern hard disk drives is aimed to save energy and power supply by regulating the performance of the hard disk drive. Power consumption is reduced by parking the drive heads when the disk is not in use, by adjusting spin speeds, and disabling internal components when not in use. Aggressive power saving settings allow the hard disk drive to stop its spindle motor and park heads more frequently, which allows saving as much energy as possible, but leads to increased deterioration of mechanics and delays on drive reads caused by waiting the magnetic disks to spin up to the necessary speed. In other words saving energy is achieved by decreasing performance and to a certain extent shortens drive life.


HDD APM and hard disk drive clicking sounds
Many users have reported a problem with hard drive clicking, sometimes described as a repeating tick tick tick type of ticking sound, or a faint beep at random intervals. The click sound is usually caused by the drive parking its head. There are multiple causes for that, including power management and shock detection.
The clicking sound occurs only when the drive is idle. Forcing the drive to be busy delays ticking. Launching programs that access the hard drive, such as indexing or defragmenting the drive, helps for a while. Of course there is always a better option. As clicking sounds are related to drive head parking it is possible to completely eliminate them by changing the APM settings and taking control over operation of hard disk.


How to set APM setting with hdparm.exe
The clicking noise apparently occurs when the drive is parking its heads (and ramping them off the drive surface) after a timeout after the last disk access. Workaround has been found by using hdparm to turn off power management for the drive: 
   # hdparm -B 255 hda
That should stop the drive from parking the heads except when turning off. You can also try: 
   # hdparm -B 254 hda
which doesn't turn power management off, but is the least aggressive setting. It will still unload heads, but far less often.


Download hdparm tool for Windows
A version of hdparm for Windows can be downloaded from the Cygwin project official webpage. The Cygwin package is a collection of Linux native tools and a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality for Windows.
Hdparm.exe is a command line tool. It must be saved in the same folder as cygwin1.dll in order to be ready to use. HDD APM settings are managed with prompts through the cmd console in Windows.

Download hdparm in Windows installer package format (MSI)

If you prefer hdparm.exe and cygwin1.dll may be downloaded here bundled as MSI installation package. The package contains:
- Hdparm executable for Windows v.6.9 and Cygwin1.dll library v.1007.9.0.0
- Predefined command scripts for setting most common HDD APM values - max battery, hard disk performance or APM disabled.


Screenshots:

Predefined command script

Start menu shortcuts