LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2110|回复: 9

[zz] 笔记本硬盘到底能 unload 多少次?

[复制链接]
发表于 2008-7-3 10:17:16 | 显示全部楼层 |阅读模式
懒得补齐原文中的链接了,需要的话请访问我的博客。
http://lymanrb.blogspot.com/2008/07/unload.html (可能需要翻墙)
http://lymanrb.spaces.live.com/b ... 5AA013BB7!241.entry (国内镜像)

之前写的文章(警惕 laptop-mode-tools 的 HD_IDLE_TIMEOUT 参数、archlinux 下的 load/unload 问题、还是那个硬盘 load/unload 的 bug ),都是基于“硬盘的设计 unload 次数有限,对此不加控制会影响硬盘寿命”这样一个前提。但对于这个前提自身是否靠得住没作过多关注。这次就拿着硬盘的 spec 来说一说这个事情。

我的本用的硬盘是 FUJITSU MHY2120BH,这里是其详细的规格说明书(PDF)。

1.10 节关于 Load/Unload Function 原文如下


    The product supports a minimum of 600,000 Load/Unload cycles.
    Unload is a normal head unloading operation and the commands listed below are
    executed.


也就是说,这块硬盘的设计 Unload 次数不小于 60 万次。这是一个相当大的数字了。

1.11 节关于 Advanced Powermanagement (APM) 提及


    SC = C0h - FEh : Mode-0 Active Idle → Low Power Idle
    SC = 80h - BFh : Mode-1 Active Idle → Low Power Idle (Default)
    SC = 01h - 7Fh : Mode-2 Active Idle → Low Power Idle → Standby


这个应该就是和 hdparm -B 所设置的值了。与 hdparm 的 manpage 略为不同的是,这块硬盘的 apm 有三个值段,默认是 128(这个和旧文的测试结果是相同的),也就是 Mode 1。

注意这段,只要进入了 Low Power Idle 状态,硬盘就会进行 unload 动作。


    Active Idle: The head is in a position of extreme inner in disk medium. (VCM Lock)
    Low Power Idle: The head is unloaded from disk. The spindle motor rotates.
    Standby: The spindle motor stops.


这里应该注意一下两个容易混淆的概念,unload 和 spin-down。前者指磁头归位,后者指马达停转。

那么,Mode 1 下硬盘的具体行为是怎样的呢?还在这一节,看 Table 1.7(画表截图都够费力,这里就只贴文字了)


    Mode-0: Mode shifts from Active condition to Active Idle in 0.2-1.2, and to Low Power Idle in 15 minutes.
    Mode-1: Mode shifts from Active condition to Active Idle in 0.1-0.2 seconds and to Low Power Idle in 10.0-27.5 seconds.
    Mode-2: Mode shifts from Active condition to Active Idle in 0.1-0.2 seconds and to Low Power Idle in 10.0-27.5 seconds. After 10.0-40.0 seconds in Low Power Idle, the mode shifts to standby.


也就是说,默认设置下(即使不用 linux),当硬盘在空闲了 10~27.5 秒之后就会进入 Low Power Idle 模式,也就是 unload 一次。

通常,我们应该认为出厂的默认设置应该是安全的。究竟有多安全呢?来算一下,按 18.75 秒 unload 一次(10~27.5 的平均值,其实这也是相当相当坏的情况了),60 万次的设计寿命可以支撑 11,250,000 秒,即 3125小时,即 130 天。这个数字看起来不那么乐观。但是能得到这么坏的结果,前提是你足够有耐心,每天 24 小时不间断地每 18.75 秒就激活一次硬盘,而且你的运气足够坏,硬盘恰巧在 18.75 秒之内就进行了 unload 操作而且恰巧 unload 60 万次就寿终正寝了。如果按每 1 分钟激活硬盘一次,每天 12 小时计算,结果会变成 833 天。而实际使用的场合,两次激活硬盘之间的间隔可能会很大。

出厂默认既然如此,还有什么可担心的呢。就算我这个人非常胆小,这块硬盘的 Mode 0 也足够用了(15 分钟 unload)一次,只是此时需要手动指定一下 hdparm -B 192。

当然,以上只是以我自己这块硬盘为准作出的结论,还不放心的朋友可以自己搜一下自己硬盘的型号、对应的 specification,自己给自己找个定心丸吃。
发表于 2008-7-3 19:04:24 | 显示全部楼层
我现在用的Arch装在USB移动硬盘上,今天也时常听见硬盘unload,想要用hdparm设置,但是因为是USB接口,不是ATA或者SATA,直接报错不能设置。不知有没有什么办法?
回复 支持 反对

使用道具 举报

发表于 2008-7-3 19:33:39 | 显示全部楼层
unload 是不是就是停转?那我从来都是不用的。。
回复 支持 反对

使用道具 举报

发表于 2008-7-3 21:31:29 | 显示全部楼层
unload可能客观存在,显然没有楼主说的那么恐怖.
我的额笔记本硬盘是个20gb的硬盘,已经工作好久了...
回复 支持 反对

使用道具 举报

发表于 2008-7-4 00:38:55 | 显示全部楼层
  1. Ubuntu也许将成为你的笔记本硬盘杀手
  2. http://linux.solidot.org/article.pl?sid=07/11/01/0451253
  3. matrix 发表于 2007年11月01日 12时50分 星期四   Printer-friendly   Email story
  4. 来自一年坏一次部门
  5. Bug Ubuntu 数据存储 Linux
  6. Ubuntu系统的ACPI电源管理默认设置存在问题,当用户切换到电池供电模式时,/etc/acpi/power.sh向所有块设备发出一个hdparm -B 1命令,这会导致出现频繁的负荷循环(load cycles)。发现Bug #59695的用户称仅在100小时内就出现了7000次负荷循环。大多数笔记本硬盘只能承受至多60万次此类循环,这意味着它会大幅度减少笔记本硬盘的寿命。SATA 硬盘用户可以输入“smartctl -d ata -a /dev/sda”命令来查看负荷循环次数,但需要先安装Smartmontools软件包(apt-get下)。
  7. 小心Ubuntu谋杀你的笔记本硬盘
  8. http://bbs.zdnet.com.cn/thread-131929-1-1.html
  9. 现已确认,Ubuntu系统的ACPI电源管理机制存在缺陷,会大幅减少笔记本硬盘的寿命。
  10. 如果安装了Ubuntu的笔记本用户转入电池供电模式,则“/etc/acpi/power.sh”中的默认配置会导致极其频繁的载入循环,报告称100 小时即可达到7000多次,而资料显示大多数笔记本硬盘最多只能承受60万次这种循环。换算下来,这相当于一块全新的笔记本硬盘只能连续实用不到1年。
  11. SATA硬盘用户可以安装硬盘检测工具Smartmontools检查一下自己的笔记本,输入“smartctl -d ata -a /dev/sda”命令即可查看载入循环次数。
  12. 在IBM ThinkPad Z60m/T43、HP Compaq nw9440等笔记本上都已确认了这一bug
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-7-4 00:46:02 | 显示全部楼层
后来说据google还是ibm调查,内啥次数和磁盘寿命一点关系都没有。

我的sony HD5 mp3,20G,大约有64m的缓存,也就是说播放的时候是读取,播放,停止转动,缓存里面东西读完,再次转动,再停止。。这样说来我的mp3岂不很快就坏了?但是事实证明没有人说因为这个坏的。。
回复 支持 反对

使用道具 举报

发表于 2008-7-4 00:56:13 | 显示全部楼层
  1. sudo smartctl -a /dev/sda | grep 193|tee -a ./load_cnt.log
  2. ./show_load.sh
  3. 193 Load_Cycle_Count        0x0032   197   197   000    Old_age   Always       -       10459
复制代码
今天看了楼主的这篇文章后,仔细听,一小段时间后发现本本有异常的很小的声音,有点像流水声也有点像吞口水的声音,按文章方法看了一下,每次听到此异常声音后发现数据就增加,果然是这个鸟东东,按照文档设置后,再查看一直停留在 10459上面了
才买不到一个月的小黑,达到这么高了,以前根本没注意
回复 支持 反对

使用道具 举报

发表于 2008-7-4 02:27:56 | 显示全部楼层
Post by jarryson;1870735
后来说据google还是ibm调查,内啥次数和磁盘寿命一点关系都没有。

我的sony HD5 mp3,20G,大约有64m的缓存,也就是说播放的时候是读取,播放,停止转动,缓存里面东西读完,再次转动,再停止。。这样说来我的mp3岂不很快就坏了?但是事实证明没有人说因为这个坏的。。


Google的那個調查吧
好像說硬盤主要是自然損壞,和甚麼次數都沒關系
回复 支持 反对

使用道具 举报

发表于 2008-7-4 11:04:46 | 显示全部楼层
我测试发现,在进grub 的时候,按一下上下键,让倒计时停止,此时仔细也可以听到那个声音,然后进到系统后查看,果然计数器值增加了
回复 支持 反对

使用道具 举报

发表于 2008-7-4 11:10:57 | 显示全部楼层
转自 http://bbs.ghtt.net/viewthread.p ... p;extra=&page=2
  1. 对于产生这个问题的原因,则有不同看法。
  2. 以下意见占上风:笔记本硬盘内置的自动进入低耗状态的参数过于严厉,导致频繁的Load/Unload。
  3. Ubuntu默认不会改动内置的参数,而其他系统则无视或者不使用硬盘的这一功能,反而保护了硬盘的寿命。
  4. 也有认为是Ubuntu过于频繁地向硬盘发出降低能耗等级的指令造成的。
  5. 这个问题牵扯到硬件厂商和操作系统两方面。
  6. hdparm -B 254 /dev/sda
  7. 应当就是更改ubuntu控制能耗的级别。。
复制代码

应该是新硬盘的自我保护方式,和系统无关
http://www.storagereview.com/gui ... l/featuresHead.html
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表