林海谐缘

 找回密码
 审核注册
搜索
查看: 6483|回复: 0

浅谈坏道的初级修复

[复制链接]
发表于 2010-5-5 21:34:26 | 显示全部楼层 |阅读模式
浅谈坏道的初级修复


硬盘参数简介
物理结构
1、磁头
磁头是硬盘中最昂贵的部件,也是硬盘技术中最重要和最关键的一环。传统的磁头是读写合一的电磁感应式磁头,但是,硬盘的读、写却是两种截然不同的操作,为此,这种二合一磁头在设计时必须要同时兼顾到读/写两种特性,从而造成了硬盘设计上的局限。而MR磁头(Magnetoresistive heads),即磁阻磁头,采用的是分离式的磁头结构:写入磁头仍采用传统的磁感应磁头(MR磁头不能进行写操作),读取磁头则采用新型的MR磁头,即所谓的感应写、磁阻读。这样,在设计时就可以针对两者的不同特性分别进行优化,以得到最好的读/写性能。另外,MR磁头是通过阻值变化而不是电流变化去感应信号幅度,因而对信号变化相当敏感,读取数据的准确性也相应提高。而且由于读取的信号幅度与磁道宽度无关,故磁道可以做得很窄,从而提高了盘片密度,达到200MB/英寸2,而使用传统的磁头只能达到20MB/英寸2,这也是MR磁头被广泛应用的最主要原因。目前,MR磁头已得到广泛应用,而采用多层结构和磁阻效应更好的材料制作的GMR磁头(Giant Magnetoresistive heads)也逐渐普及。

2、磁道
当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁化区,磁盘上的信息便是沿着这样的轨道存放的。相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产生影响,同时也为磁头的读写带来困难。一张1.44MB的3.5英寸软盘,一面有80个磁道,而硬盘上的磁道密度则远远大于此值,通常一面有成千上万个磁道。

3、扇区
磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512个字节的信息,磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位。1.44MB3.5英寸的软盘,每个磁道分为18个扇区。

4、柱面
硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。所谓硬盘的CHS,即Cylinder(柱面)、Head(磁头)、Sector(扇区),只要知道了硬盘的CHS的数目,即可确定硬盘的容量,硬盘的容量=柱面数磁头数扇区数512B。

硬盘逻辑结构简介

 1. 硬盘参数释疑

  到目前为止, 人们常说的硬盘参数还是古老的 CHS(Cylinder/Head/Sector)参数. 那么为什么要使用这些参数,它们的意义是什么?它们的取值范围是什么?
  很久以前, 硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘. 也就是硬盘盘片的每一条磁道都具有相同的扇区数.由此产生了所谓的3D参数 (Disk Geometry). 既磁头数(Heads), 柱面数(Cylinders),扇区数(Sectors),以及相应的寻址方式.
  其中:
  磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片, 最大为 255 (用 8 个二进制位存储);
  柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道,最大为 1023(用 10 个二进制位存储);
  扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大为 63(用 6个二进制位存储).
  每个扇区一般是 512个字节, 理论上讲这不是必须的,但好象没有取别的值的.
  所以磁盘最大容量为:
  255 * 1023 * 63 * 512 / 1048576 = 8024 GB ( 1M =1048576 Bytes )或硬盘厂商常用的单位:
  255 * 1023 * 63 * 512 / 1000000 = 8414 GB ( 1M =1000000 Bytes )
在 CHS 寻址方式中, 磁头, 柱面, 扇区的取值范围分别为 0到 Heads - 1,0 到 Cylinders - 1, 1 到 Sectors (注意是从 1 开始).

 2. 基本 Int 13H 调用简介
BIOS Int 13H 调用是 BIOS提供的磁盘基本输入输出中断调用, 它可以完成磁盘(包括硬盘和软盘)的复位, 读写, 校验, 定位, 诊断,格式化等功能.它使用的就是 CHS 寻址方式, 因此最大识能访问 8 GB 左右的硬盘 (本文中如不作特殊说明, 均以 1M = 1048576 字节为单位).

 3. 现代硬盘结构简介
  在老式硬盘中, 由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道, 因此会浪费很多磁盘空间 (与软盘一样). 为了解决这一问题,进一步提高硬盘容量, 人们改用等密度结构生产硬盘. 也就是说,外圈磁道的扇区比内圈磁道多. 采用这种结构后, 硬盘不再具有实际的3D参数,寻址方式也改为线性寻址, 即以扇区为单位进行寻址.
为了与使用3D寻址的老软件兼容 (如使用BIOSInt13H接口的软件), 在硬盘控制器内部安装了一个地址翻译器,由它负责将老式3D参数翻译成新的线性参数. 这也是为什么现在硬盘的3D参数可以有多种选择的原因(不同的工作模式, 对应不同的3D参数, 如 LBA, LARGE, NORMAL).

 4. 扩展 Int 13H 简介
虽然现代硬盘都已经采用了线性寻址, 但是由于基本 Int13H 的制约, 使用 BIOS Int 13H 接口的程序, 如 DOS 等还只能访问 8 G以内的硬盘空间.为了打破这一限制, Microsoft 等几家公司制定了扩展 Int 13H 标准(Extended Int13H), 采用线性寻址方式存取硬盘, 所以突破了 8 G的限制,而且还加入了对可拆卸介质 (如活动硬盘) 的支持.

基本参数

一、容量
作为计算机系统的数据存储器,容量是硬盘最主要的参数。
硬盘的容量以兆字节(MB)或千兆字节(GB)为单位,1GB=1024MB。但硬盘厂商在标称硬盘容量时通常取1G=1000MB,因此我们在BIOS中或在格式化硬盘时看到的容量会比厂家的标称值要小。
对于用户而言,硬盘的容量就象内存一样,永远只会嫌少不会嫌多。Windows操作系统带给我们的除了更为简便的操作外,还带来了文件大小与数量的日益膨胀,一些应用程序动辄就要吃掉上百兆的硬盘空间,而且还有不断增大的趋势。因此,在购买硬盘时适当的超前是明智的。目前的主流硬盘的容量为10G和15G,而20G以上的大容量硬盘亦已开始逐渐普及。
其实,硬盘容量越大,单位字节的价格就越便宜。例如火球10G的价格为1000元,每G字节的价格为100元;而火球15G的价格为1160,每G字节还不到80元。
硬盘的容量指标还包括硬盘的单碟容量。所谓单碟容量是指硬盘单片盘片的容量,单碟容量越大,单位成本越低,平均访问时间也越短。目前市面上大多数硬盘的单碟容量为6.4G以上,而更高的则已达到了10G。
二、转速
转速(Rotational speed 或Spindle speed)是指硬盘盘片每分钟转动的圈数,单位为rpm。
目前市场上主流IDE硬盘的转速一般为5200rpm或5400rpm,Seagate的“大灰熊”系列和Maxtor则达到了7200rpm,是IDE硬盘中转速最快的。至于SCSI接口的硬盘,一般都已达到了7200rpm的转速,而更高的则达到了10000rpm。
三、平均访问时间
平均访问时间(Average Access Time)是指磁头从起始位置到达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时间。
平均访问时间体现了硬盘的读写速度,它包括了硬盘的寻道时间和等待时间,即:
平均访问时间=平均寻道时间+平均等待时间。
硬盘的平均寻道时间(Average Seek Time)是指硬盘的磁头移动到盘面指定磁道所需的时间。这个时间当然越小越好,目前硬盘的平均寻道时间通常在8ms到12ms之间,而SCSI硬盘则应小于或等于8ms。
硬盘的等待时间,又叫潜伏期(Latency),是指磁头已处于要访问的磁道,等待所要访问的扇区旋转至磁头下方的时间。平均等待时间为盘片旋转一周所需的时间的一半,一般应在4ms以下。

四、传输速率
传输速率(Data Transfer Rate) 硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)。硬盘数据传输率又包括了内部数据传输率和外部数据传输率。
内部传输率(Internal Transfer Rate) 也称为持续传输率(Sustained Transfer Rate),它反映了硬盘缓冲区未用时的性能。内部传输率主要依赖于硬盘的旋转速度。
外部传输率(External Transfer Rate)也称为突发数据传输率(Burst Data Transfer Rate)或接口传输率,它标称的是系统总线与硬盘缓冲区之间的数据传输率,外部数据传输率与硬盘接口类型和硬盘缓存的大小有关。
目前Fast ATA接口硬盘的最大外部传输率为16.6MB/s,而Ultra ATA接口的硬盘则达到33.3MB/s。
五、缓存
与主板上的高速缓存(RAM Cache)一样,硬盘缓存的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘的读写速度。目前,大多数IDE硬盘的缓存在128K到256K之间,而Seagate的“大灰熊”系列则使用了512K Cache。

硬盘数据保护技术
硬盘容量越做越大,我们在硬盘里存放的数据也越来越多。那么,这么大量的数据存放在这样一个铁盒子里究竟有多安全呢?虽然,目前的大多数硬盘的无故障运行时间(MTBF)已达300,000小时以上,但这仍不够,一次故障便足以造成灾难性的后果。因为对于不少用户,特别是商业用户而言,数据才是PC系统中最昂贵的部分,他们需要的是能提前对故障进行预测。正是这种需求与信任危机,推动着各厂商努力寻求一种硬盘安全监测机制,于是,一系列的硬盘数据保护技术应运而生。
  1、S.M.A.R.T.技术
  S.M.A.R.T.技术的全称是Self-Monitoring, Analysis and Reporting Technology,即“自监测、分析及报告技术”。在ATA-3标准中,S.M.A.R.T.技术被正式确立。S.M.A.R.T.监测的对象包括磁头、磁盘、马达、电路等,由硬盘的监测电路和主机上的监测软件对被监测对象的运行情况与历史记录及预设的安全值进行分析、比较,当出现安全值范围以外的情况时,会自动向用户发出警告,而更先进的技术还可以提醒网络管理员的注意,自动降低硬盘的运行速度,把重要数据文件转存到其它安全扇区,甚至把文件备份到其它硬盘或存储设备。通过S.M.A.R.T.技术,确实可以对硬盘潜在故障进行有效预测,提高数据的安全性。但我们也应该看到,S.M.A.R.T.技术并不是万能的,它只能对渐发性的故障进行监测,而对于一些突发性的故障,如盘片突然断裂等,硬盘再怎么smart也无能为力了。因此不管怎样,备份仍然是必须的。
2、DFT技术
  DFT(Drive Fitness Test,驱动器健康检测)技术是IBM公司为其PC硬盘开发的数据保护技术,它通过使用DFT程序访问IBM硬盘里的DFT微代码对硬盘进行检测,可以让用户方便快捷地检测硬盘的运转状况。
  据研究表明,在用户送回返修的硬盘中,大部分的硬盘本身是好的。DFT能够减少这种情形的发生,为用户节省时间和精力,避免因误判造成数据丢失。它在硬盘上分割出一个单独的空间给DFT程序,即使在系统软件不能正常工作的情况下也能调用。
  DFT微代码可以自动对错误事件进行登记,并将登记数据保存到硬盘上的保留区域中。DFT微代码还可以实时对硬盘进行物理分析,如通过读取伺服位置错误信号来计算出盘片交换、伺服稳定性、重复移动等参数,并给出图形供用户或技术人员参考。这是一个全新的观念,硬盘子系统的控制信号可以被用来分析硬盘本身的机械状况。
  而DFT软件是一个独立的不依赖操作系统的软件,它可以在用户其他任何软件失效的情况下运行。

关于扩展分区

  由于主分区表中只能分四个分区, 无法满足需求,因此设计了一种扩展分区格式. 基本上说, 扩展分区的信息是以链表形式存放的,但也有一些特别的地方.首先, 主分区表中要有一个基本扩展分区项,所有扩展分区都隶属于它,也就是说其他所有扩展分区的空间都必须包括在这个基本扩展分区中.对于DOS / Windows 来说, 扩展分区的类型为 0x05. 除基本扩展分区以外的其他所有扩展分区则以链表的形式级联存放, 后一个扩展分区的数据项记录在前一个扩展分区的分区表中,但两个扩展分区的空间并不重叠.
  扩展分区类似于一个完整的硬盘, 必须进一步分区才能使用.但每个扩展分区中只能存在一个其他分区. 此分区在 DOS/Windows环境中即为逻辑盘.因此每一个扩展分区的分区表(同样存储在扩展分区的第一个扇区中)中最多只能有两个分区数据项(包括下一个扩展分区的数据项).
硬盘缺陷的分类,修复原理
一、缺陷的分类
  如果经检测发现某个硬盘不能完全正常工作,则称这个硬盘是“有缺陷的硬盘”(Defect Hard Disk)。
  根据维修经验,笔者将硬盘的缺陷分为六大类
  ①坏扇区(Bad sector),也称缺陷扇区(Defect sector)
  ②磁道伺服缺陷(Track Servo defect)?
  ③磁头组件缺陷(Heads assembly defect)
  ④系统信息错乱(Service information destruction)
  ⑤电子线路缺陷(The board of electronics defect)
  ⑥综合性能缺陷(Complex reliability defect)
  1.坏扇区(也称缺陷扇区)
  指不能被正常访问或不能被正确读写的扇区。一般表现为:高级格式化后发现有“坏簇(Bad Clusters);用SCANDISK等工具检查发现有“B”标记;或用某些检测工具发现有“扇区错误提示”等。
  一般每个扇区可以记录512字节的数据,如果其中任何一个字节不正常,该扇区就属于缺陷扇区。每个扇区除了记录512字节的数据外,另外还记录有一些信息:标志信息、校验码、地址信息等,其中任何一部分信息不正常都导致该扇区出现缺陷。
  多数专业检测软件在检测过程中发现缺陷时,都有类似的错误信息提示,常见的扇区缺陷主要有几种情况:
①校验错误(ECC uncorrectable errors,又称ECC错误)。系统每次在往扇区中写数据的同时,都根据这些数据经过一定的算法运算生成一个校验码(ECC=Error Correction Code),并将这个校验码记录在该扇区的信息区内。以后从这个扇区读取数据时,都会同时读取其校检码,并对数据重新运算以检查结果是否与校检码一致。如果一致,则认为这个扇区正常,存放的数据正确有效;如果不一致,则认为该扇区出错,这就是校验错误。这是硬盘最主要的缺陷类型。导致这种缺陷的原因主要有:磁盘表面磁介质损伤、硬盘写功能不正常、校验码的算法差异。
  ②IDNF错误(sector ID not found),即扇区标志出错,造成系统在需要读写时找不到相应的扇区。造成这个错误的原因可能是系统参数错乱,导致内部地址转换错乱,系统找不到指定扇区;也有可能是某个扇区记录的标志信息出错导致系统无法正确辨别扇区。
  ③AMNF错误(Address Mark Not Found),即地址信息出错。一般是由于某个扇区记录的地址信息出错,系统在对它访问时发现其地址信息与系统编排的信息不一致。
  ④坏块标记错误(Bad block mark)。某些软件或病毒程序可以在部分扇区强行写上坏块标记,让系统不使用这些扇区。这种情况严格来说不一定是硬盘本身的缺陷,但想清除这些坏块标记却不容易。
  2.磁道伺服缺陷
  现在的硬盘大多采用嵌入式伺服,硬盘中每个正常的物理磁道都嵌入有一段或几段信息作为伺服信息,以便磁头在寻道时能准确定位及辨别正确编号的物理磁道。如果某个物理磁道的伺服信息受损,该物理磁道就可能无法被访问。这就是“磁道伺服缺陷”。一般表现为,分区过程非正常中断;格式化过程无法完成;用检测工具检测时,中途退出或死机,等等。
  3.磁头组件缺陷
  指硬盘中磁头组件的某部分不正常,造成部分或全部物理磁头无法正常读写的情况。包括磁头磨损、磁头接触面脏、磁头摆臂变形、音圈受损、磁铁移位等。一般表现为通电后,磁头动作发出的声音明显不正常,硬盘无法被系统BIOS检测到;无法分区格式化;格式化后发现从前到后都分布有大量的坏簇,等等。
  4.系统信息错乱
  每个硬盘内部都有一个系统保留区(service area),里面分成若干模块保存有许多参数和程序。硬盘在通电自检时,要调用其中大部分程序和参数。如果能读出那些程序和参数模块,而且校验正常的话,硬盘就进入准备状态。如果某些模块读不出或校验不正常,则该硬盘就无法进入准备状态。一般表现为,PC系统的BIOS无法检测到该硬盘或检测到该硬盘却无法对它进行读写操作。如某些系列硬盘的常见问题:美钻二代系列硬盘通电后,磁头响一声,马达停转;Fujitsu MPG系列在通电后,磁头正常寻道,但BIOS却检测不到;火球系列,系统能正常认出型号,却不能分区格式化;Western Digital的EB、BB系列,能被系统检测到,却不能分区格式化,等等。
  5.电子线路缺陷
  指硬盘的电子线路板中部分线路断路或短路,某些电气元件或IC芯片损坏等。有部分可以通过观察线路板发现缺陷所在,有些则要通过仪器测量后才能确认缺陷部位。一般表现为硬盘在通电后不能正常起转,或者起转后磁头寻道不正常,等等。
  6.综合性能缺陷
  有些硬盘在使用过程中部分芯片特性改变;或者有些硬盘受震动后物理结构产生微小变化(如马达主轴受损);或者有些硬盘在设计上存在缺陷……最终导致硬盘稳定性差,或部分性能达不到标准要求。一般表现为,工作时噪音明显增大;读写速度明显太慢;同一系列的硬盘大量出现类似故障;某种故障时有时无等等。
二、厂家处理缺陷的方式
  用户在购买硬盘时,一般都通过各种工具检测硬盘没有缺陷后才会购买。而且,在质保期内可以找销售商将硬盘退回厂家修理。那么,厂家如何保证新硬盘不会被检测到缺陷呢?返修的硬盘又如何处理缺陷呢?首先,让我们来认识硬盘工厂的一些基本处理流程:
  1.在生产线上装配硬盘的硬件部分,用特别设备往盘片写入伺服信号(Servo write)。
  2.将硬盘的系统保留区(service area)格式化,并向系统保留区写入程序模块和参数模块。系统保留区一般位于硬盘0物理面的最前面几十个物理磁道。写入的程序模块一般用于硬盘内部管理,如低级格式化程序、加密解密程序、自监控程序、自动修复程序等等。写入的参数多达近百项:如型号、系列号、容量、口令、生产厂家与生产日期、配件类型、区域分配表、缺陷表、出错记录、使用时间记录、S.M.A.R.T表等等,数据量从几百KB到几MB不等。有时参数一经写入就不再改变,如型号、系列号、生产时间等;而有些参数则可以在使用过程中由内部管理程序自动修改,如出错记录、使用时间记录、S.M.A.R.T记录等。也有些专业的维修人员可以借助专业的工具软件,随意读取、修改写入硬盘中的程序模块和参数模块。
  3.将所使用的盘片表面按物理地址全面扫描,检查出所有的缺陷磁道和缺陷扇区,并将这些缺陷磁道和缺陷扇区按实际物理地址记录在永久缺陷列表(P-list:Permanent defect list)中。这个扫描过程非常严格,能把不稳定不可靠的磁道和扇区也检查出来,视同缺陷一并处理。现在的硬盘密度极高,盘片生产过程再精密也很难完全避免缺陷磁道或缺陷扇区。一般新硬盘的P-list中都有少则数十,多则上万个缺陷记录。P-list是保留在系统保留区中,一般用户是无法查看或修改的。有些专业的维修人员借助专业的工具软件,可以查看或修改大部分硬盘中的P-list。
  4.系统调用内部低级格式化程序,根据相应的内部参数进行内部低级格式化。在内部低级格式化过程中,对所有的磁道和扇区进行编号、信息重写、清零等工作。在编号时,采用跳过(skipped)的方法忽略掉记录在P-list中的缺陷磁道和缺陷扇区,保证以后用户不会也不能使用到那些缺陷磁道和缺陷扇区。因此,新硬盘在出售时是无法被检测到缺陷的。如果是返修的硬盘,一般就在厂家特定的维修部门进行检测维修。
小知识:什么是硬盘的磁道和扇区?磁道是磁盘一个面上的单个数据存储圆圈。如果将磁道作为一个存储单元,从数据管理效率来看实在是太低了,因此,磁道被分成若干编上号的区域,称之为扇区。这些扇区代表了磁道的分段(如图)。在PC系统中,通过标准格式化的程序产生的扇区容量都为512字节。这里大家需注意的是“扇区”与“簇”的关系,“簇”是操作系统在读或写一个文件时能处理的最小磁盘单元,一个簇等于一个或多个扇区。
三、硬盘缺陷的处理
  如果不在硬盘工厂中,对普通用户或维修人员来说,又如何处理硬盘的缺陷呢?前面我们把硬盘的缺陷分为六大类,不同类型的缺陷用不同的处理方法。
  1.对于综合性能缺陷,一般涉及到稳定性问题,用户随时有丢失数据的危险,可以说是“用之担惊,弃之可惜”。维修人员很难从根本上解决问题,建议用户还是趁早更换硬盘。
  2.对于磁头组件缺陷,解决办法是更换磁头组件,这对设备及环境要求较高,维修成本也很高。除非是要求恢复其中的数据,否则不值得进行修复。有条件的维修公司可以在百级净化室中更换硬盘的磁头组件,对数据进行拯救。
  3.对于线路缺陷,一般要求维修人员有电子线路基础,要有测试线路的经验和焊接芯片的设备,当然还要有必需的配件以备更换。目前许多专业维修硬盘的公司都有条件解决这类缺陷。对普通用户而言,最简单的判别和解决办法是找一个相同的正常线路板换上试试。
  4.对于系统信息错乱,需要有专业的工具软件才能解决。首先要找个与待修硬盘参数完全相同的正常硬盘,读出其内部所有模块并保存下来;检查待修硬盘的系统结构,查到出错的模块,并将正常模块的参数重新写入。笔者用这个方法成功地修复了数以千计有这种缺陷类型的硬盘,而且一般不会破坏原有数据。要想写某系列硬盘的系统信息,相应的工具软件必须有严格针对性;该硬盘的CPU专用指令集;该硬盘的Firmware结构;内部管理程序和参数模块结构。一般只有硬盘厂家才能编写这样的专业工具软件,而且视为绝密技术,不向外界提供。但也有一些专业的硬盘研究所研究开发类似的专业工具软件,一般要价很高而且很难买到。
  5.对于伺服缺陷,也要借助于专业工具。相应的专业工具可以通过重写来纠正伺服信息,解决部分磁道伺服缺陷。如果有部分无法纠正,则要对盘片进行物理磁道扫描找出有伺服缺陷的磁道,添加到P-list(或另外的专门磁道缺陷列表)中。然后,运行硬盘内部的低级格式化程序。这段程序能自动根据需要调用相关的参数模块,自动完成硬盘的低格过程,不需要PC系统的干预。
  坏扇区是最常见的缺陷类型,下面笔者着重论述。
四、坏扇区的修复原理
  按“三包”规定,如果硬盘在质保期内出现缺陷,商家应该为用户更换或修理。现在大容量的硬盘出现一个坏扇区的概率实在很大,如果全部送修的话,硬盘商家就要为售后服务忙碌不已了。很多硬盘商家都说,硬盘出现少量坏扇区往往是病毒作怪或某些软件造成的,不是真正的坏扇区,只要运行硬盘厂家提供的某些软件,就可以纠正了。到底是怎么回事呢?从前面对坏扇区的说明来看,坏扇区有多种可能的原因,修复的方法也有几种:
  1.通过重写校验码、标志信息等可以纠正一部分坏扇区。现在硬盘厂家都公开提供有一些基本的硬盘维护工具,如各种版本的DM、POWERMAX、DLGDIAG等,其中都包括有这样的功能项:Zero fill(零填充)或Lowlevel format(低级格式化)。进行这两项功能都会对硬盘的数据进行清零,并重写每个扇区的校验码和标志信息。如果不是磁盘表面介质损伤的话,大部分的坏扇区可以纠正为正常状态。这就是常听说的:“逻辑坏扇区可以修复”的道理。
  2.调用自动修复机制替换坏扇区。为了减少硬盘返修的概率,硬盘厂商在硬盘内部设计了一个自动修复机制?Automatic Reallcation或Automatic Reassign 。现在生产的硬盘都有这样的功能:在对硬盘的读写过程中,如果发现一个坏扇区,则由内部管理程序自动分配一个备用扇区来替换该扇区,并将该扇区物理位置及其替换情况记录在G-list(增长缺陷表,Grown defects list 中。这样一来,少量的坏扇区有可能在使用过程中被自动替换掉了,对用户的使用没有太大的影响。也有一些硬盘自动修复机制的激发条件要严格一些,需要运行某些软件来检测判断坏扇区,并发出相应指令激发自动修复功能。比如常用的Lformat(低格)?DM中的Zero fill,Norton中的Wipeinfo和校正工具,西数工具包中的wddiag,IBM的DFT中的Erase,还有一些半专业工具如:HDDspeed、MHDD、HDDL、HDDutility等(大家可以上网搜索下载)。这些工具之所以能在运行过后消除了一些坏扇区,很重要的原因就是这些工具可以在检测到坏扇区时激发自动修复机制。如果读者能查看G-list就知道,这些“修复工具”运行前后,G-list记录有可能增加一定数量。如:用HDDspeed可以查看所有Quantum Fireball系列的P-list和G-list;MHDD可以查看IBM和FUJITSU的P-list和G-list。
  当然,G-list的记录不会无限制,所有硬盘的G-list都会限定在一定数量范围内。如火球系列限度是500条,美钻二代的限度是636条,西数BB的限度是508条,等等。超过限度,自动修复机制就不能再起作用。这就是为何少量的坏扇区可以通过上述工具修复,而坏扇区多了不能通过这些工具修复。
  3.用专业软件将缺陷扇区记录在P-list中,并进行内部低级格式化。用户在使用硬盘时,是不能按物理地址模式来访问硬盘的。而是按逻辑地址模式来访问。硬盘在通电自检时,系统会从系统保留区读取一些特定参数(与内部低级格式化时调用的参数有密切关系)存在缓冲区里,用作物理地址与逻辑地址之间转换的依据。有些专业软件可以将检测到的坏扇区的逻辑地址转换为对应的物理地址,直接记录在P-list中,然后调用内部低级格式化程序进行低级格式化。这样可以不受G-list的限制,能修复大量的坏扇区,达到厂家修复的效果。

几个常识性的误区

1、硬盘逻辑坏道可以修复,而物理坏道不可修复。实际情况是,坏道并不分为逻辑坏道和物理坏道,不知道谁发明这两个概念,反正厂家提供的技术资料中都没有这样的概念,倒是分为按逻辑地址记录的坏扇区和按物理地址记录的坏扇区。

2、硬盘出厂时没有坏道,用户发现坏道就意味着硬盘进入危险状态。实际情况是,每个硬盘出厂前都记录有一定数量的坏道,有些数量甚至达到数千上万个坏扇区,相比之下,用户发现一两个坏道算多大危险?

3、硬盘不认盘就没救,0磁道坏可以用分区方法来解决。实际情况是,有相当部分不认的硬盘也可以修好,而0磁道坏时很难分区。

4、千万不能低格。。。反而进行P表的操作,伺服的修复,都要进行内部的低格。反而低格是修复硬盘的一个有效手段。下面我们会具体谈到低格都进行了什么


先介绍下G表和P表
P-list (永久缺陷表)

  现在的硬盘密度越来越高,单张盘片上存储的数据量超过40Gbytes. 硬盘厂家在生产盘片过程极其精密,但也极难做到100%的完美,硬盘盘面上或多或少存在一些缺陷。厂家在硬盘出厂前把所有的硬盘都进行低级格式化,在低级格式化过程中将自动找出所有defect track和defect sector,记录在P-list中。并且在对所有磁道和扇区的编号过程中,将skip(跳过)这些缺陷部分,让用户永远不能用到它们。这样,用户在分区、格式化、检查刚购买的新硬盘时,很难发现有问题。一般的硬盘都在P-list中记录有一定数量的defect, 少则数百,多则数以万计。如果是SCSI硬盘的话可以找到多种通用软件查看到P-list,因为各种牌子的SCSI硬盘使用兼容的SCSI指令集。而不同牌子不同型号的IDE硬盘,使用各自不同的指令集,想查看其P-list要用针对性的专业软件。


G-list (增长缺陷表)

  用户在使用硬盘过程中,有可能会发现一些新的defect sector。 按“三包”规定,只要出现一个defect sector,商家就应该为用户换或修。现在大容量的硬盘出现一个defect sector概率实在很大,这样的话硬盘商家就要为售后服务忙碌不已了。于是,硬盘厂商设计了一个自动修复机制,叫做Automatic Reallcation。有大多数型号的硬盘都有这样的功能:在对硬盘的读写过程中,如果发现一个defect sector,则自动分配一个备用扇区替换该扇区,并将该扇区及其替换情况记录在G-list中。这样一来,少量的defect sector对用户的使用没有太大的影响。

  也有一些硬盘自动修复机制的激发条件要严格一些,需要用某些软件来判断defect sector,并通过某个端口(据说是50h)调用自动修复机制。比如常用的Lformat, ADM,DM中的Zero fill,Norton中的Wipeinfo和校正工具,西数工具包中的wddiag, IBM的DFT中的Erase等。这些工具之所以能在运行过后消除了一些“坏道”,很重要的原因就在这Automatic Reallcation(当然还有其它原因),而不能简单地概括这些“坏道”是什么“逻辑坏道”或“假坏道”。 如果哪位被误导中毒太深的读者不相信这个事实,等他找到能查看G-list的专业工具后就知道,这些工具运行过后,G-list将会增加多少记录!“逻辑坏道”或“假坏道”有必要记录在G-list中并用其它扇区替换么?

  当然,G-list的记录不会无限制,所有的硬盘都会限定在一定数量范围内。如火球系列限度是500,美钻二代的限度是636,西数BB的限度是508,等等。超过限度,Automatic Reallcation就不能再起作用。这就是为何少量的“坏道”可以通过上述工具修复(有人就概括为:“逻辑坏道”可以修复),而坏道多了不能通过这些工具修复(又有人概括为:“物理坏道”不可以修复)。


低格过程到底对硬盘进行了什么操作?

实践表明低格过程有可能进行下列几项工作,不同的硬盘的低格过程相差很大,不同的软件的低格过程也相差很大。

A. 对扇区清零和重写校验值

  低格过程中将每个扇区的所有字节全部置零,并将每个扇区的校验值也写回初始值,这样可以将部分缺陷纠正过来。譬如,由于扇区数据与该扇区的校验值不对应,通常就被报告为校验错误(ECC Error)。如果并非由于磁介质损伤,清零后就很有可能将扇区数据与该扇区的校验值重新对应起来,而达到“修复”该扇区的功效。这是每种低格工具和每种硬盘的低格过程最基本的操作内容,同时这也是为什么通过低格能“修复大量坏道”的基本原因。另外,DM 中的Zero Fill(清零)操作与IBM DFT工具中的Erase操作,也有同样的功效。

B. 对扇区的标识信息重写

  在多年以前使用的老式硬盘(如采用ST506接口的硬盘),需要在低格过程中重写每个扇区的标识(ID)信息和某些保留磁道的其他一些信息,当时低格工具都必须有这样的功能。但现在的硬盘结构已经大不一样,如果再使用多年前的工具来做低格会导致许多令 人痛苦的意外。难怪经常有人在痛苦地高呼:“危险!切勿低格硬盘!我的硬盘已经毁于低格!”

C. 对扇区进行读写检查,并尝试替换缺陷扇区

  有些低格工具会对每个扇区进行读写检查,如果发现在读过程或写过程出错,就认为该扇区为缺陷扇区。然后,调用通用的自动替换扇区(Automatic reallocation sector)指令,尝试对该扇区进行替换,也可以达到“修复”的功效。

D. 对所有物理扇区进行重新编号

  编号的依据是P-list中的记录及区段分配参数(该参数决定各个磁道划分的扇区数),经过编号后,每个扇区都分配到一个特定的标识信息(ID)。编号时,会自动跳过P-list中所记录的缺陷扇区,使用户无法访问到那些缺陷扇区(用户不必在乎永远用不到的地方的好坏)。如果这个过程半途而废,有可能导致部分甚至所有扇区被报告为标识不对(Sector ID not found, IDNF)。要特别注意的是,这个编号过程是根据真正的物理参数来进行的,如果某些低格工具按逻辑参数(以 16heads 63sector为最典型)来进行低格,是不可能进行这样的操作。

E. 写磁道伺服信息,对所有磁道进行重新编号

  有些硬盘允许将每个磁道的伺服信息重写,并给磁道重新赋予一个编号。编号依据P-list或TS记录来跳过缺陷磁道(defect track),使用户无法访问(即永远不必使用)这些缺陷磁道。这个操作也是根据真正的物理参数来进行。


F. 写状态参数,并修改特定参数

  有些硬盘会有一个状态参数,记录着低格过程是否正常结束,如果不是正常结束低格,会导致整个硬盘拒绝读写操作,这个参数以富士通IDE硬盘和希捷SCSI硬盘为典型。有些硬盘还可能根据低格过程的记录改写某些参数。


一些低格工具做了些什么操作:

  1. DM中的Low level format

  进行了A和B操作。速度较快,极少损坏硬盘,但修复效果不明显。

  2. Lformat

  进行了A、B、C操作。由于同时进行了读写检查,操作速度较慢,可以替换部分缺陷扇区。但其使用的是逻辑参数,所以不可能进行D、E和F的操作。遇到IDNF错误或伺服错误时很难通过,半途会中断。

  3. SCSI卡中的低格工具

  由于大部SCSI硬盘指令集通用,该工具可以对部分SCSI硬盘进行A、B、C、D、F操作,对一部分SCSI硬盘(如希捷)修复作用明显。遇到缺陷磁道无法通过。同时也由于自动替换功能,检查到的缺陷数量超过G-list限度时将半途结束,硬盘进入拒绝读写状态。

  4. 专业的低格工具

  一般进行A、B、D、E、F操作。通常配合伺服测试功能(找出缺陷磁道记入TS),介质测试功能(找出缺陷扇区记入P-list),使用的是厂家设定的低格程序(通常存放在BIOS或某一个特定参数模块中),自动调用相关参数进行低格。一般不对缺陷扇区进行替换操作。低格完成后会将许多性能参数设定为刚出厂的状态。
您需要登录后才可以回帖 登录 | 审核注册

本版积分规则

QQ|手机版|小黑屋|林海谐缘论坛 ( 豫ICP备07015145号 ) |
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论 | 管理员:linker(QQ:80555546) 群:3067918

GMT+8, 2024-11-21 18:21 , Processed in 0.026514 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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