Difference between revisions of "Problem with hard drive clicking"

From ThinkWiki
Jump to: navigation, search
(Seagate Momentus 7200.1: Basic copyediting)
m
Line 98: Line 98:
 
  # hdparm -B 255 /dev/sda; hdparm -I /dev/sda | grep Advanced
 
  # hdparm -B 255 /dev/sda; hdparm -I /dev/sda | grep Advanced
  
This may or 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 is:
+
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 is:
  
 
  # hdparm -B 1 /dev/sda; hdparm -I /dev/sda | grep Advanced
 
  # hdparm -B 1 /dev/sda; hdparm -I /dev/sda | grep Advanced

Revision as of 19:46, 3 May 2008

Many users have reported a problem with hard drive clicking, sometimes described as a repeating tick tick tick type of ticking sound. The Hitachi Travelstar 5K80 series which shipped with many T series Thinkpads in particular is reported to suffer from this problem. The clicks occur rapidly, and are quiet but noticeable. While in use in a quiet environment the clicks can be relatively loud and very irritating to some users. The clicks seem to happen when the drive is idle and the power has been on for a significant period of time. The clicking is also reported on other vendor's laptop hard drives too and is therefore almost certainly a hard drive related rather than a laptop chassis related.

The clicking sound appears to only occur when the drive is idle. Forcing the drive to be busy silences the ticking while the drive is busy. 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 and has been used as a temporary solution. Also see use of hdparm for another way to reset the drive without a power off reboot.

Others recommend using Hitachi's drive feature tool to increase the acoustic management level, and/or set power management settings.

Possible Cause and Speculation

Laptop drives (especially Hitachi Hitachi Travelstar 5K80, Hitachi Travelstar 5K100 and SAMSUNG MP0804H) can unload heads very often, and they can produce a noticeable click when doing that. 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 proposed possible cause is the drive firmware running a low level surface media check periodically during drive 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 workaround in How to reduce power consumption#Hard_Drives.

Tracking down the cause of the clicks

Using "smartctl -A", 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:

#!/bin/bash
lastval=0
while :
do
        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)
        then
                date
                echo $newval
        fi
        lastval=$newval
        sleep 30    # or some other interval
done

Possible solution (Linux)

Temporary relief has been seen by using hdparm to reset the drive. But note the warning in the hdparm man page indicating that it is a dangerous operation. This is very likely due to the possibility of losing data in the write cache not yet stored to the hard drive. This would be dependent upon the particular hard drive. When used in the following to stop the clicking I have not seen any data loss. YMMV.

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

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. Try turning off power management for the drive; that should stop the drive from parking the heads except when turning off:

# hdparm -B 255 /dev/hda

You can also try

# hdparm -B 254 /dev/hda

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

These commands have immediate effect, and need to be re-issued at every boot, after resuming from disk or RAM, and after hotswapping. You have to reissue the -B commands every time the ThinkPad BIOS might have tried to override them.

Specific models

Hitachi C4K60 (HTC426060G9AT00)

On a Thinkpad X41 with a has a 60GB 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 harddrives specs (available in hitachigst.com) 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 600000 unload/load cycles, which means that the drive will break in at most a couple of years.

NOTE!
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

(I got this drive in my x61 tablet)

On this drive, 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 you can see 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 is:

# hdparm -B 1 /dev/sda; hdparm -I /dev/sda | grep Advanced
/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 | grep Advanced
/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 | grep Advanced
/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 | grep Advanced
/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 alot 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 http://www.seagate.com/docs/pdf/datasheet/disc/ds_momentus7200.pdf, then that's more than 1/6 of the drive's lifetime!

Toshiba MK2035GSS

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 or 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; therefore upgrading a diskless machine can be problematic (it involves making a DOS-based USB bootable drive).

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

Another Possible Solution

IBM, when notified about this occurance, 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