/ 中存储网

硬盘驱动器故障原理及查找方法篇

2012-03-06 11:36:22 来源:中存储网

HDD硬盘驱动器的主要故障

    “没有什么是永恒的” – 这句话同样适用于硬盘驱动器。不管HDD如何可靠,也会随着时间的流逝而老化。

    首先,硬盘驱动器是一种机械的和电子的设备,所有的机械部件都会逐渐被消磨:时间将会使得机械部件之间的连接变得松弛;每次磁碟起转时和停转时磁头的上升或下降都会破坏覆盖在磁头上的保护层。不过,现代生产技术可以保证硬盘驱动器使用相当长的时间。根据Western Digital驱动器的技术手册(鱼子酱BB/JB系列),磁碟起转或停转时磁头与磁碟表面之间接触的最小数量(起转/停转接触圈数-CSS)为50000圈,而每14次加电会出现少于10字节的不可恢复的读错误 (错误率–不可恢复)。如果我们将这些数字转化为通俗易懂的术语,可以得到以下的信息:如果每天启动或关闭驱动器10次,那么磁头或磁碟由于互相碰撞使得品质退化之前的最少时间为14年;每读取32TB数据就会出现一个错误(大约相当于连续观看MP4格式的影片7-10年)。

    尽管如此,在实际生活中我们经常遇到完全不同的状况:新购买的驱动器仅使用了几个月就损坏了;有一些驱动器甚至甚至不能熬过生长商规定的保质期。我们还要注意现在所有的生产商(除了Samsung)都将保质期从3年减少到了1年。出现这种情况的原因是什么呢?

常规的HDD硬盘驱动器老化故障

    即使是正确组装的驱动器,使用时也完全按照技术参考手册的所有要求操作,一段时间以后你也可以察觉到它的老化过程。最严重的是磁碟。首先,由于时间关系磁体的磁性减弱,磁碟的某些部分需要反复读取才能成功——而以前可以完美无暇的读取数据——现在开始出现读取错误;其次,磁碟上的磁层也积累了越来越多的刮擦、碎屑、裂纹等等。所有上面的因素都会导致坏扇区的出现。

    驱动器的老化过程是很长的,一般要3-5年的时间。我们必须注意HDD连续不停的运转模式要比频繁开关的工作模式更好。因此连续运转的服务器上的驱动器和位于环境条件稳定的空间的驱动器可以无故障的运行更长的时间。#p#副标题#e#

不正确操作导致的硬盘驱动器故障

    HDD硬盘驱动器最常发生的故障应该归咎于不正确的操作方式,主要的破坏因素包括:过热、机械碰撞、和电源电压的跳变。

    过热是由于驱动器和PCB散热不足。根据Western Digital 驱动器(鱼子酱 BB/JB 系列)的技术参考资料,容许的驱动器温度为5 C到550 C(在空气流通的条件下)。 由于控制板上的某些芯片要比周围环境的温度更高(如马达控制器等),因此必须留有足够的温度上限裕量。现在让我们设想在夏日里,室内的温度可以达到30 C;计算机机箱内可能高出20-250 C——而且由于只有一个被灰尘、紧密的扁平线阻塞的电源风扇,驱动器又位于CD驱动器和FDD之间,根本没有正常的空气流通条件;即使把计算机机箱打开也于事无补,根本无助于HDD周围的空气流动。

    另外一个重要的温度参数值是梯度——运转时温度变化每小时不能大于200 C,停转时温度变化每小时不能大于300 C。若超过上限,对驱动器的机械部分是非常危险的;这种现象叫做热冲击。因此若你在冬天将HDD从商店或朋友处(当你需要拷贝一些数据时)带回家,突然从外面冰冷的环境变化到200 C,突然的加热会使HDA的机械部件分离从而导致变形。如此剧烈的温度变化对电子部件也是有害的。
    碰撞对于驱动器的精密的机械部件也是危险的。在驱动器运转时,弹性的磁头以非常低的高度飞行在高速旋转的碟片上。这时对HDA的撞击将会引起磁头连续的撞击磁碟,必然会在磁碟和磁头表面产生碎屑。

    对于HDD的电子部件来说最严重的威胁显然是电源。为了降低造价生产商往往没有在市电上安装滤波电路。电源电压通常波动很大,为驱动器供电的稳压电路也不能保持稳定。因此,根据 Western Digital 驱动器(鱼子酱BB/JB系列)的技术参考书,电源电压允许的范围是+5 V+-5% 和+12V+-10%——在+5V电路中允许的起伏是100 mV,而在+12 V电路中允许的起伏是200 mV。大多数维修电脑设备的专家只使用电压表测量电源电压单元,但是应该紧记电压波动这一重要的参数只有示波器才能检测到。#p#副标题#e#

与结构有关的硬盘驱动器故障

    近来HDD的质量已经下降了很多;这一事实已经由生产商减少质保期这一行为上得到证实。在某种程度上这是由于竞争和降低成本引起的。质量的下降还与技术标准的进步有关:数据记录密度的增长和更高的单碟容量。结果生产商经常使用没有经过足够测试与试验的材料和工艺;因此市场上出现了有缺憾的产品并出售给用户。一段时间以后生产商会分析在质保期内返回的驱动器的故障,并试图消除驱动器结构上的缺点,但是这种尝试并不总是会成功。

    理论上这种设计和生产的方法可以引发驱动器任何部分的问题。我们可以挑出最常见的故障:

    PCB与连接磁头的前置放大器芯片之间的接头接触不良。接触不良造成的后果是很多的。首先,它会造成出现坏区的现象。但是这些扇区与磁碟表面品质不良造成的普通缺陷不同——它们之间的差别在于前者磁碟表面是完好的,但是接触不良引起某些扇区的伺服字节被写入无效数据,如:扇区中包含CRC码的字段。接触不良同样也会引起固件数据损坏,而固件数据不能由驱动器自主恢复;固件数据也不能在用户模式下修复,只能进入工厂模式才能修复。

    在工厂中不可靠的芯片焊接质量。这种技艺上的缺陷通常在大约一年后会显现出来。它的表现一般是接触不良,也就是说,在正常使用一段时间后驱动器会自动关掉并且不能再次启动,或者磁头开始发出敲击声;后一种情况可能导致机械部件的损坏。除此之外和前面所述相似这也会引起固件的损坏。

    芯片质量不过关,在高温的情况下成为缺陷,尽管温度尚没有超过允许的限定值。这种故障可以通过使用相同的完好芯片替换掉有缺陷的芯片来修复。

    液态轴承的结构缺陷,造成微粒在油脂中积聚,最终导致主轴马达被卡住

    还有碟片没有正确的固定在主轴上的现象,结果敲击日益严重,导致主轴马达的轴承损坏。相当多的驱动器一开始在运转时发出噪声,一段时间之后出现缺陷扇区,正是由于磁盘敲击致使某些磁道读取出错。

    Flash ROM 芯片的质量缺陷,在高温时充电漏泄造成存储在其中的固件代码丢失。可以使用专门的ROM芯片编程器或在工厂模式下使用驱动器重写ROM。

    驱动器微代码的错误。生产商不会公开此类错误的相关信息,不过会发布固件升级程序。有一种误解认为微代码的错误不会影响驱动器的运转,实际上有时确实会引起驱动器的机械部件的损坏。

增强HDD硬盘驱动器可靠性的技术

    所有的HDD生产商都坚持不懈的试图使用户的数据存储更可靠。为了实现这一目的他们在驱动器中使用了各种各样的方法和技术。

    S.M.A.R.T. (简化的自主-监测、分析和报告技术)可以告知用户硬盘驱动器主要参数的状态。许多主板的BIOS支持在计算机加电时分析那些参数,如果某些关键的参数超出阈值,计算机启动时会显示提示信息。当然,这并不意味着驱动器将停止工作,不过用户应该采取一些措施,例如:备份重要数据。如果计算机的BIOS没有.M.A.R.T. 属性分析程序,你可以在操作系统中使用外部的诊断程序。

    为了取得更高的可靠性,几乎所有的驱动器都使用了在驱动器运转时直接隐藏和调整突发缺陷的技术。这种技术可能随不同型号的驱动器而有不同的特性;然而他们都是基于相同的原理。如果操作系统试图访问一个不能读/写的扇区,那么驱动器就会使用保留区的扇区代替缺陷扇区(若还有足够的保留空间)。如此替代的扇区表被存储到驱动器固件区,在下一次启动时载入到驱动器微处理器ROM中。

    碰撞探测器也被发现用来作为保护数据的技术。它是一种压电传感器,在有机械震动时发出电脉冲。对传感器脉冲滤波后可以识别明显的碰撞。当驱动器探测到震动,它就会将磁头停放。碰撞探测器的安装要求它相对于盘体的角度为45度。

    在一些较新的型号中生产商开始在PCB上和磁头组上使用温度探测器。温度信息由驱动器微处理器监控,如果超过了允许的限值驱动器就会停止运转。有些型号的驱动器的温度作为S.M.A.R.T. 属性值输出,有相应的程序(通常在HDD生产商的主页上可以下载)可以查看。#p#副标题#e#

查找硬盘驱动器故障的基本原理

    通过上面的介绍已经可以知道HDD是一种精密的软件和硬件设备,它结合了电子和机械部件,并利用了微电子学、微机械学、自动控制理论、磁记录理论和编码理论等的最新成就。如果没有专门知识、专门设备、仪器和工具,没有特别装备的场所(清洁的房间)要维修硬盘就是不可能的。尽管如此,一个熟练的计算机操作者完全可以完成对HDD的初步诊断,修复简单的故障,使用HDD生产商提供的软件对坏扇区进行操作。

    当没有专门的诊断设备和软件时,要对HDD进行诊断首先应该将其连接到一个单独的PC电源单元。这时操作者的耳朵就是诊断的工具。HDD上电后启动主轴马达,有4-7秒的时间声音逐渐增大,然后发出咔哒一声(磁头从停泊区移走)和持续1-2秒的非常特殊的噼啪声(重校准)。将完好的HDD连接到电源单元就可以熟悉驱动器的这一过程。

    有重校准过程至少可以说明驱动器的reset电路、时钟、微控制器、主轴马达控制电路和定位系统、数据转换信道、磁头的状况(至少其中一个磁头,用于初始化的那个磁头)和固件数据等是完好的。

    对HDD的进一步诊断需要将它连接到第二个IDE接口,并在BIOS中设置为自动检测。如果HDD的型号被识别出来,操作系统就会装载从而可以启动诊断软件。OS可以使用连接到第一个IDE接口的HDD或者软盘来启动。 最简单的诊断是尝试使用FDISK程序创建分区,随后使用Format d:/u命令格式化。Format d:/u命令不会完成真正的“格式化”,而是使OS执行表面验证,最后在选定的分区上创建系统文件。如果格式化(验证)发现缺陷,他们会在屏幕上显示为坏扇区。当然,这种诊断是很原始的,它的目的是检查HDD的可操作性而不是发现故障甚至消除故障。更多的的详细的诊断可以使用生产商推荐的程序完成,可以从他们的主页上下载诊断程序。

     · Fujitsu驱动器推荐的诊断软件:
        http://www.fel.fujitsu.com/home/drivers.asp?L=en&CID=1
     · Western Digital 驱动器:
        http://support.wdc.com/ru/download/
     · Samsung 驱动器:
        http://www.samsung.com/Products/HardDiskDrive/utilities/index.htm
     · Seagate 驱动器:
        http://www.seagate.com/support/software/
     · Maxtor 驱动器:
        http://www.maxtor.com/en/support/downloads/powermax.htm
     · IBM 驱动器在HGST品牌下提供:
        http://www.hgst.com/hdd/support/download.htm

    上面的软件都是在常规的用户模式而不是工厂模式下进行测试;因此它们的作用是有限的。专门的诊断软件不是免费提供的;它们只提供给专门的维修中心和销售商。#p#副标题#e#

    下面让我们展示一个查找Western Digital生产的鱼子酱HDD硬盘的主轴马达控制电路故障的例子。

    WDAC32500和WDAC33100系列驱动器的线路图如图5所示,除了元件的编号和某些元件的值不同以外,此图也可以用于WDAC2340, WDAC2420, WDAC2540, WDAC2700, WDAC2850, WDAC33100, WDAC31200, WDAC21200和 WDAC31600 系列驱动器的维修(图 5)。

图 5. HDD的主轴控制电路(WDAC 32500 和 WDAC 33100系列)

    如果当HDD 上电以后主轴没有起转,首先将HDA连接到一个完好的PCB上以确定HDA是否正常。若没有找到完好的PCB,可以检查主轴马达的线圈的电阻,应为2欧姆左右;然后继续查找PCB上的故障(主轴马达不能启动常常是由于磁头与磁盘粘连在了一起)。

    要检查PCB上的元件,应将PCB从HDA上拆卸下来,将其连接到外部电源保持电子元件朝上放置在工作台上。接下来的工作需要一个扫描频率为50MHz的示波器。

    首先打开电源,检查U3和U6芯片(见线路图)的输入电压是否为+5V和+12V,再检查U6芯片的24脚和33脚之间的晶振。然后分别检查输出到U9控制微处理器芯片的57脚和输出到U11读信道芯片的13脚的时钟脉冲是否正常。上面的检查完成后确保没有RESET信号(进入level О)。若所有的要求都满足那么微处理器芯片将会启动并对所有连接到内部数据总线的芯片执行初始化程序。你可以通过是否有控制脉冲:ALE,RD#,WR#,数据总线脉冲等来直接判断微处理器是否运转正常。

    要检查主轴马达控制电路将示波器的扫描间隔调到10ms/div,将增益调到2V/div(建议使用1:10倍增探测器)。加电后检查是否有振幅为11-12V的三相马达启动脉冲(连接器J14,J13,J12)。控制电路会尝试启动马达1-2分钟,之后就会放弃。这时你可以关闭电源再打开,或者通过用小镊子短路IDE接头的线1和线2来发送一个RESET命令。如果任何一个相位的振幅小于10V,说明U3芯片有故障。发生这种故障时主轴马达虽然可以启动但是不能达到额定的转速,因此磁头不会从停泊区移走。主轴马达的转速由E35控制点的INDEX脉冲控制(若PCB连接到了HDA)。INDEX脉冲的周期为12毫秒,宽度为140纳秒。U3芯片由U6同步控制芯片和控制主轴马达的SPINDLE START信号控制。使马达启动的信号为SPINDLE START = 1,使马达停止的信号为SPINDLE START = 0。

    相位控制信号由U6芯片的Fc1 - Fc6输出;它使用的是TTL控制信号。主轴马达转速的反馈由32Р4910А U11读信道芯片使用SERVO READ DATA 线完成。另外,U6同步控制芯片为U11芯片产生伺服字段寻找信号(SERVO GATE)。

    伺服信号和一些控制点示于图6、图7。由于INDEX脉冲和伺服标记(servo marker)宽度大约为140纳秒,所以使用示波器在扫描频率为100MHz或更高时可以清楚的观察到(建议使用1:10倍增探测器)。监测信号时需要使用两路输入信号源,使用INDEX或伺服标记(servo marker)来同步示波器。如果同时观测E37控制点的伺服信号、E13和E7控制点的读数据信号,就可以看到所有的同步字段、扇区等等(见图 8)。

图 6.控制点的伺服信号

 


图 7.伺服门电路的示波图


图 8. 控制点的位置

 

    微处理器、读数据信道芯片和主轴马达控制芯片的详细信息可以在Intel公司,Silicon Systems公司和SGS-Thomson公司的各自网站(www.intel.com和 www.st.com) 上找到。

 

本系列文章翻译自:《现代硬盘驱动器》【俄】Vadim Morozov,Sergey Yatsenko 著,中存储只做整理,版权归原作者所有。
硬盘驱动器结构篇 - 硬盘驱动器故障原理及查找方法篇 - 硬盘的一些典型故障及修复方法篇 - 硬盘驱动器最常见的典型故障及硬盘修复方法大全