Problem with hard drive clicking

From ThinkWiki
Revision as of 05:39, 14 April 2012 by Hmh (Talk | contribs) (Possible solutions (Linux): mention idle3-utils, thanks to greenfreedom10 for the hint)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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 (see below for fixes). However, it may also mean that your drive is about to die (the dreaded "click of death"); check /var/log/messages (or /var/log/syslog) for suspicious errors, and remember to backup!

The Hitachi Travelstar 5K80 series, which shipped with many T series Thinkpads, is reported to suffer from this problem in particular. The clicks occur rapidly, and are quiet but noticeable. While in use in a quiet environment, the clicks can be relatively loud and annoying. The clicks seem to happen when the drive is idle and the power has been on for a significant period of time. Western Digital drives (like the Scorpio series) are also known to exhibit pronounced clicks. The clicking is also reported on other vendors' laptop hard drives, and is therefore almost certainly hard drive related rather than laptop chassis related.

The clicking sound appears to occur only when the drive is idle. Forcing the drive to be busy silences the ticking. Launching programs that access the hard drive, such as searching or defragmenting the drive, helps for a time. Cycling the power on the hard drive, such as through a full power-off reboot of the system, stops the ticking for the moment. hdparm can be used to reset the drive without rebooting, or to set the power management settings.

Others recommend using Hitachi's drive feature tool to increase the acoustic management level.

Possible cause and speculation

Laptop drives (especially Hitachi Hitachi Travelstar 5K80, Hitachi Travelstar 5K100 and SAMSUNG MP0804H) can unload heads very often, producing a noticeable click. Some ThinkPad BIOSes can be very eager to program the HD Advanced Power Management feature (hdparm -B), even when told to always keep the HD in "Maximum Performance mode", and will do so every time AC state changes and when coming out of suspend (be it S3 or S4). Unless you reset the HD's APM mode, it will unload its heads eventually, thus producing the clicks.

Another possible cause is the drive firmware running a low level surface media check periodically during idle time.

It is not known whether the problem is a sign of impending drive failure. The root cause of the problem is not yet known. It is quite likely to be a normal mode of drive operation. The problem is very prevalent.

Do not confuse this with regular activity. Many daemons poll (config) files every few seconds. Despite files being cached, POSIX compliant filesystems like ext2 or ext3 must update (= write) the last access time. More details and a workaround in How to reduce power consumption#Hard_Drives.

Some vendors have extra power-saving timers that might be causing issues, such as the idle3 timer of some WD Green drives that controls the WD Intellipark feature.

Tracking down the cause of the clicks

Using "smartctl -A" (part of the the smartmontools package), it is possible to check if any of the drive's attributes related to platter spin-up/down or head unload are increasing when a click is heard. That can help pinpointing the cause of the clicks.

A shell script like this may help to see if the Load Cycle Count is affected (indicating head unloading):

while :
        newval=`smartctl -A /dev/sda | awk '$2=="Load_Cycle_Count" {print $10}'`
        if [[ $newval != $lastval ]]    # i.e., anything has changed (here: load cycle count only)
                echo $newval
        sleep 30    # or some other interval

Possible solutions (Linux)

The clicking noise apparently occurs when the drive is parking its heads (and ramping them off the drive surface in the process) after a timeout after the last disk access. Temporary relief has been found by using hdparm to turn off power management for the drive:

# hdparm -B 255 /dev/sda

That should stop the drive from parking the heads except when turning off. You can also try

# hdparm -B 254 /dev/sda

which doesn't turn power management off, but is the least aggressive setting: it will still unload heads, but far less often. (The drives are prepared to withstand a great number of head unloads: 200,000 unloads are typical, and Hitachi drives tolerate about 600,000 unloads.)

To make these changes permanent, you have to ensure that the -B commands are reissued at every boot, after resuming from disk or RAM, after hotswapping, and every time the ThinkPad BIOS might try to override them. This is done in two steps: changing the default settings when the system boots, and changing the settings when the system resumes after the lid is closed and re-opened.

Start-up settings

On Debian, edit /etc/hdparm.conf (as root):

# vi /etc/hdparm.conf

Add the following lines:

# Change sda to hda if it's a PATA drive
/dev/sda {
        apm = 255

Then, to refresh the settings, run

# update-rc.d hdparm defaults

On Ubuntu 11.04, the script /usr/lib/pm-utils/power.d/95hdparm-apm (part of the hdparm package) sets the APM level to 128 when on battery and 254 otherwise (these defaults are part of the hdparm_options() function in /lib/hdparm/hdparm-functions). This may be overridden in hdparm.conf with the custom setting apm_battery:

/dev/sda {
        apm = 255
        apm_battery = 255

Alternatively, you can override the 95hdparm-apm script by creating an empty file with the same name in /etc/pm/power.d:

# touch /etc/pm/power.d/95hdparm-apm

On Arch Linux, edit /etc/rc.local instead and add:

hdparm -B 254 /dev/sda

Then reboot the system, and the clicking noise should be gone.

Wake-up settings

The clicking may resume when the lid is closed and re-opened. To fix this, create an executable file named 50_hdparm-pm in /etc/pm/sleep.d:

# vi /etc/pm/sleep.d/50_hdparm-pm

With the following content:

if [ -n "$1" ] && ([ "$1" = "resume" ] || [ "$1" = "thaw" ]); then
        hdparm -B 255 /dev/your-hard-drive > /dev/null

To make it executable, run:

# chmod +x /etc/pm/sleep.d/50_hdparm-pm

If this does not help, but manually setting hdparm -B 255 /dev/sda does, try the script below instead:

case "$1" in
                sleep 2
                hdparm -B 255 /dev/sda
exit $NA

On Ubuntu 8.10 (Linux Mint 6) on a T42, there seems to be something else setting a lower value in battery mode, which might be coming from the BIOS because it clicks during boot and stops with this in place. Make an executable file named "" (the important thing is it's starting with "99"), containing the following:

# Use a less aggressive hard disk power management to get rid of
# clicking noise when the drive is parking its heads
hdparm -B 255 /dev/sda

Then, copy this file to /etc/acpi/suspend.d/, /etc/acpi/resume.d/ and /etc/acpi/start.d/. Remember to make the files executable (chmod +x).

Otherwise, try to reset the drive with -w, but note that this may cause data loss, according to hdparm's man page. When used in the following way to stop the clicking, I have not seen any data loss. YMMV.

# hdparm /dev/sda
# sync
# sleep 5
# sync
# hdparm -w /dev/sda

Laptop mode

Yet another solution is to install the laptop-mode-tools package and have it handle the hard drive's settings. Note that by default, laptop-mode-tools will frequently spin down the hard drive to save power.

Edit /etc/laptop-mode/laptop-mode.conf, set CONTROL_HD_POWERMGMT=1 and ensure that hdparm sets -B 255.

Disable WD Intellipark

On WD Green drives where Intellipark might be causing the problem, you can try to use the idle3-tools utility to disable Intellipark.

Possible solution (Windows)

On a X41T, do BIOS, firmware and IBM updates. Then simply disable the ShockProtection of the hard drive. On a native X41T Windows installation, it solved the problem; one will hear a click only every hour. It seems that the problem is related to an aggressive setting that will try to park the head often to protect the drive, so the problem is not related with power management settings. Perhaps a similar approach also works under Linux. – WBonX (Hitachi drive)

Specific models

Hitachi C4K60 (HTC426060G9AT00)

On a Thinkpad X41 with a has a 60 GB Hitachi C4K60 (HTC426060G9AT00) hard disk that had the clicking problem (even in Windows), the hdparm solution above did not work. The problem was indeed caused by the hard disk unloading the heads when idle, and the Load_Cycle_Count SMART statistic could be seen increasing when the clicks occurred.

hdparm -B settings did not seem to help, and a check of the hard drive's specs (available in verified that setting the APM mode off (hdparm -B 255) would set it actually to the lowest APM mode (the same as hdparm -B 254). In this drive, even the lowest APM mode unloads the heads very aggressively, causing the clicking sounds. Another problem is that the drive is rated only for 600,000 unload/load cycles, which means that the drive will break in at most a couple of years.

This observation is only about the specific model (Hitachi C4K60), and is not true for more recent Hitachi drives, which do disable APM with -B 255.

Samsung MP0804H 80GB

On this drive, the clicking noise can be immediately stopped just by enabling automatic offline tests using

# smartctl -o on /dev/hda

Even more strange is that SMART wasn't enabled by default, although the drive supports it.

The drive had already performed 15,539 load cycles (out of 600,000) within only one week.

Note that enabling SMART (-s on) without enabling offline tests – which is what I did immediately after observing the clicks – did not solve the problem, but made it quite clear that the drive was badly in need of some care.

Seagate Momentus 7200.1 and 7200.3

Reported in X61t and X61 (I have a ST9320421AS).

On these drives, each click does indeed correspond to an increase in SMART attribute 193, "193 Load_Cycle_Count", as you can see by doing a

# smartctl -A /dev/sda

before and after a click.

It seems like the problem is that the default powersaving mode for the drive is one which causes clicking. In fact, executing

# hdparm -B 255 /dev/sda

which is supposed to turn off power management, actually leaves power management on, and is equivalent to

# hdparm -B 128 /dev/sda

as can be seen by comparing the results of

# hdparm -B 1 /dev/sda; hdparm -I /dev/sda | grep Advanced
# hdparm -B 128 /dev/sda; hdparm -I /dev/sda | grep Advanced
# hdparm -B 254 /dev/sda; hdparm -I /dev/sda | grep Advanced
# hdparm -B 255 /dev/sda; hdparm -I /dev/sda | grep Advanced

This may or may not be related to something else strange; the drive reports that the advanced power management level is 0x8000 more than what you set it to, presumably leading hdparm to report that it is always set to "unknown setting" (since the number should be between 1 and 255). FYI, the results of the above sequence of commands are:

# hdparm -B 1 /dev/sda; hdparm -I /dev/sda

setting Advanced Power Management level to 0x01 (1)
       Advanced power management level: unknown setting (0x8001)
          *    Advanced Power Management feature set

# hdparm -B 128 /dev/sda; hdparm -I /dev/sda

setting Advanced Power Management level to 0x80 (128)
       Advanced power management level: unknown setting (0x8080)
          *    Advanced Power Management feature set

# hdparm -B 254 /dev/sda; hdparm -I /dev/sda

setting Advanced Power Management level to 0xfe (254)
       Advanced power management level: unknown setting (0x80fe)
          *    Advanced Power Management feature set

# hdparm -B 255 /dev/sda; hdparm -I /dev/sda

setting Advanced Power Management level to disabled
       Advanced power management level: unknown setting (0x8080)
               Advanced Power Management feature set

The workaround seems to be to execute

# hdparm -B 254 /dev/sda

So it seems like the drive is interpreting "hdparm -B 255 /dev/sda", which I'm guessing is the default (and which is supposed to be not powersaving mode) as a request to go into powersaving mode, which causes it to spin down a lot and to and click. And I'm guessing that "hdparm -B 254 /dev/sda" actually takes it out of powersaving mode.

Somewhat annoying, because

# smartctl -A /dev/sda

shows that I have already accumulated a Load_Cycle_Count 106680 after owning the laptop for just a few weeks! I'm not sure that I understand this stuff, but if this corresponds to "Load/Unload Cycles" in, then that's more than 1/6 of the drive's lifetime!

I can confirm that after having my drive for about 5 days now, the 193 cycle count is already at 3000, and it's steadily increasing. That is really annoying. Unfortunately, changing the powersave mode on my drive (ST9320421AS) only breaks my hibernate capability (the laptop resumes immediately), but it won't stop the clicking; instead it will increase it.

Firmware upgrade

While no firmware update was found direct from IBM/Lenovo, Dell support offers a firmware update for a nearly-identical Seagate drive model. In at least in two cases (model T500, 7200.3; model Z61m 7200.3), the firmware update eliminated the clicking issue. Details available from this Seagate Thread Seagate Thread (version that works, maybe they have restructured their forum) or here (for ST9160411ASG).

Toshiba MK2035GSS

The issue happens with "laptop mode" disabled. BIOS is an "AMIBIOS 8.00.14", and the chipset is "Mobile Intel GM965 Express".

I can solve the problem with the hdparm workaround. The lowest value that makes the trick for me is:

# sudo hdparm -B 192 /dev/sda

Firmware upgrades

There are two HD firmware upgrades on Lenovo's support website. One is specific to X41's, and will upgrade Hitachi's to Release A0L0 (document MIGR-67238, 2007/01/24). The upgrade comes in three forms: diskette, Windows executable and ISO CD-ROM image. IBM's latest posted firmware, A5DA, does not appear to solve the problem.

A newer upgrade set (MIGR-62282, 2007/05/02) updates HD firmwares of several brands, including Hitachi. The patch upgrades firmware for HTC4260xxG9AT00 to A0L2 (according to program output, from 00P3A0B5 to 00P3A0L2). The upgrade comes in a large (20 MB) ISO format, or as several diskettes. There is seemingly no Windows executable; upgrading a diskless machine can therefore be problematic (it involves making a DOS-based USB bootable drive).

The upgrade caused one X41 Tablet HTC426060G9AT00 drive to stop clicking.

Solutions for OS/2 (eComStation)

Using the latest Danis506 driver, it is possible to set the APM level of the drive with the /APM:x switch. For the Western Digital Scorpio Blue 320GB EIDE, for example, /APM:254 seems to quiet it down. Like hdparm, lower values may be possible for this and other models.

Another possible solution

IBM, when notified about this occurrence, may replace the drive with a Fujitsu 5k 80GB hard drive, as to them the sound is indicative of a potential hard drive failure.

External links