Package: hdparm
Version: 9.15-1
Severity: important

Setting this to important as it could accelerate disk aging as far as
I understand. Short summary: I think the default for advanced power
management setting (254) for hdparm might be questionable.

Longer rationale: Recently I started hearing a strange noise from my
laptops harddrive from time to time and I didn't notice before. This
is on a ThinkPad T42 with internal 160 GB Hitachi drive. See below 
for details of the drive and the controller.

I remembered that Load Cycle issue from a years ago where one is
advised to be careful with Advanced Power Management settings. I
removed my own hdparm.conf entry to the internal harddisk some
while ago that had a good setting cause at least a specific
version of hdparm had problems after I switched driver to libata.

shambhala:/etc> bzr diff -r190..191 hdparm.conf
=== modified file 'hdparm.conf'                
--- hdparm.conf 2007-03-17 18:16:37 +0000      
+++ hdparm.conf 2008-05-13 21:36:22 +0000      
@@ -134,22 +134,24 @@                          
 #       hdparm -q -m16 -q -W0 -q -d1 /dev/hda 
 #}

-/dev/sda {
-       mult_sect_io = 16
-       write_cache = on
-       dma = on
-       apm = 128
-       acoustic_management = 128
-       io32_support = 3
-       keep_settings_over_reset = on
-       interrupt_unmask = on
-}
-
-/dev/scd0 {
[...]
+# Mit libata nicht mehr spruchreif, 13.5.2008
+
+#/dev/sda {
+#       mult_sect_io = 16
+#       write_cache = on
+#       dma = on
+#       apm = 128
+#       acoustic_management = 128
+#       io32_support = 3
+#       keep_settings_over_reset = on
+#       interrupt_unmask = on
+#}
+
+#/dev/scd0 {
[...]

I see that on boot APM is set to 254 when I do not set something
different in hdparm.conf or /etc/default/hdparm.

And this gives quite frequent load cycles:

shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281756
shambhala:~> date
Sa 14. Nov 10:31:12 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281758
shambhala:~> date
Sa 14. Nov 10:32:12 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281758
shambhala:~> date
Sa 14. Nov 10:32:31 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281759
shambhala:~> date
Sa 14. Nov 10:32:36 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281760
shambhala:~> date
Sa 14. Nov 10:33:30 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281762
shambhala:~> date
Sa 14. Nov 10:35:52 CET 2009

Thus I tried with APM of 128:

shambhala:~> hdparm -B 128 /dev/sda

/dev/sda:
 setting Advanced Power Management level to 0x80 (128)
 APM_level      = 128
 
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281764
shambhala:~> date
Sa 14. Nov 10:37:53 CET 2009

Still quite frequent.

Then with 0 which didn't work:

shambhala:~> hdparm -B 0 /dev/sda

/dev/sda:
 setting Advanced Power Management level to 0x00 (0)
 HDIO_DRIVE_CMD failed: Input/output error
 APM_level      = 128
shambhala:~#5> hdparm -B 1 /dev/sda


With 1:

/dev/sda:
 setting Advanced Power Management level to 0x01 (1)
 APM_level      = 1


shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281766
shambhala:~> date
Sa 14. Nov 10:41:57 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281766
shambhala:~> date
Sa 14. Nov 10:42:54 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281767
shambhala:~> date
Sa 14. Nov 10:44:03 CET 2009

Which still did a load cycle in a few minutes.

And finally with 250:

shambhala:~> hdparm -B 250 /dev/sda

/dev/sda:
 setting Advanced Power Management level to 0xfa (250)
 APM_level      = 250
shambhala:~> date
Sa 14. Nov 10:44:46 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281767
shambhala:~> date
Sa 14. Nov 10:57:14 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281767
shambhala:~>

shambhala:~> date
Sa 14. Nov 11:04:27 CET 2009
shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281768
shambhala:~> date
Sa 14. Nov 11:04:39 CET 2009

Which makes the harddisk quite quiet. At least it takes over 15 minutes for a 
load cycle.

Well or almost 15 minutes:

shambhala:~> smartctl -a /dev/sda | grep "Load_Cycle"
193 Load_Cycle_Count        0x0012   072   072   000    Old_age   Always       
-       281769
shambhala:~> date
Sa 14. Nov 11:07:11 CET 2009

Now I wonder whether the default of 254 might be so wise, cause AFAIK
frequent load cycles make a harddisk age faster.

I know that different harddisk firmwares interpret the values differently.
But I think the default should either be sane or it should be a debconf
with hints and a warning to look after load cycle count with different
settings.

There should also be a mention of this issue in README.Debian IMHO.


My hdparm.conf is unaltered as far as I know and only contains one
configuration directive that is actually in effect:

shambhala:/etc> grep -v "^#" hdparm.conf | grep -v "^$"
quiet


The controller in use is:
shambhala:~> lspci -nn | grep IDE
00:1f.1 IDE interface [0101]: Intel Corporation 82801DBM (ICH4-M) IDE 
Controller [8086:24ca] (rev 01)


The harddisk in use is:

shambhala:~> hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number:       Hitachi HTS541616J9AT00                 
        Serial Number:      SB044[...]
        Firmware Revision:  SB4OA70H                                
Standards:                                                          
        Used: ATA/ATAPI-7 T13 1532D revision 1                      
        Supported: 7 6 5 4                                          
Configuration:                                                      
        Logical         max     current                             
        cylinders       16383   16383                               
        heads           16      16                                  
        sectors/track   63      63                                  
        --                                                          
        CHS current addressable sectors:   16514064                 
        LBA    user addressable sectors:  268435455                 
        LBA48  user addressable sectors:  312581808                 
        Logical/Physical Sector size:           512 bytes           
        device size with M = 1024*1024:      152627 MBytes          
        device size with M = 1000*1000:      160041 MBytes (160 GB) 
        cache/buffer size  = 7512 KBytes (type=DualPortCache)       
Capabilities:                                                       
        LBA, IORDY(can be disabled)                                 
        Standby timer values: spec'd by Vendor, no device specific minimum
        R/W multiple sector transfer: Max = 16  Current = 16              
        Advanced power management level: 250                              
        Recommended acoustic management value: 128, current value: 128    
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5       
             Cycle time: min=120ns recommended=120ns                      
        PIO: pio0 pio1 pio2 pio3 pio4                                     
             Cycle time: no flow control=240ns  IORDY flow control=120ns  
Commands/features:                                                        
        Enabled Supported:                                                
           *    SMART feature set
                Security Mode feature set
           *    Power Management feature set
           *    Write cache
           *    Look-ahead
           *    Host Protected Area feature set
           *    WRITE_BUFFER command
           *    READ_BUFFER command
           *    NOP cmd
           *    DOWNLOAD_MICROCODE
           *    Advanced Power Management feature set
                Power-Up In Standby feature set
           *    SET_FEATURES required to spinup after power up
                Address Offset Reserved Area Boot
           *    SET_MAX security extension
           *    Automatic Acoustic Management feature set
           *    48-bit Address feature set
           *    Device Configuration Overlay feature set
           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT
           *    SMART error logging
           *    SMART self-test
           *    General Purpose Logging feature set
           *    WRITE_{DMA|MULTIPLE}_FUA_EXT
           *    64-bit World wide name
           *    IDLE_IMMEDIATE with UNLOAD
Security:
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
                frozen
        not     expired: security count
        not     supported: enhanced erase
        82min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000cca525da17b6
        NAA             : 5
        IEEE OUI        : 000cca
        Unique ID       : 525da17b6
HW reset results:
        CBLID- above Vih
        Device num = 0 determined by the jumper
Checksum: correct


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (450, 'testing'), (400, 'unstable'), (101, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.31.5-tp42-toi-3.0.1-04850-g4eddd0d (PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages hdparm depends on:
ii  libc6                         2.10.1-5   GNU C Library: Shared libraries
ii  lsb-base                      3.2-23     Linux Standard Base 3.2 init scrip

hdparm recommends no packages.

Versions of packages hdparm suggests:
pn  apmd                          <none>     (no description available)

-- no debconf information



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to