3.2 Arh.III驱动器的修复(PC3000 v10.10)
用于修复WD Caviar Arh.III驱动器的程序为PC-A35100和PC-A34000。
3.2.1 设计目的
PC-A35100和PC-A34000程序用于修复WD Caviar Arh.III WDAC35100和WDAC34000属系驱动器,见表3-7。
表3-7 WDAC35100和WDAC34000属系驱动器与工具程序
3.2.2 基本操作
修复WD Caviar Arh.III驱动器的基本操作步骤如下。
第1步 在工厂模式下测试驱动器。
第2步 修复驱动器固件数据。
第3步 更正驱动器类型域的逻辑参数。
第4步 修改驱动器类型域的型号名称。
第5步 修复和更正驱动器类型域的系列号。
第6步 通过低级格式化修复驱动器。
第7步 更改驱动器配置信息(隔离缺陷表面)。
第8步 查看ROM和驱动器固件区信息的结构。
第9步 查看重定位缺陷表。
第10步 查看驱动器的S.M.A.R.T表。
第11步 扫描物理和逻辑表面,根据扫描结果将发现的缺陷添加至缺陷表。
第12步 重定位缺陷扇区。
第13步 自动修复驱动器。
技术工具的功能需要PC-3000AT测试卡的支持。PC-3000AT测试卡由主程序和资源文件组成。
由于PC-3000AT对所有属系的基本操作都差不多,这一点在本书后面的内容中也有体现,因此以后的部分将不再详细介绍这部分的内容。
3.2.3 准备工作
第1步 连接PC-3000AT测试电缆至驱动器IDE接口。
第2步 连接驱动器电源线。
第3步 当前目录下必须有以下文件:pca35100.exe和pca35100.rsc(驱动器固件资源文件)或pca34000.exe和pca34000.rsc。
由于所有的准备工作都是一致的,因此本书后面的介绍中都不再重复这部分内容。
3.2.4 技术工具的使用
技术工具启动时,程序会检查所连接的驱动器是否属于相应的属系,如果不匹配,则显示“CONNECTED DRIVE NOT SUPPORTED BY THE UTILITY”的提示信息,即该工具不支持所连接的驱动器,可退出技术工具。如果技术工具与所连接的驱动器相符,则列出该属系所属的驱动器型号,光标将自动移动至所连接的驱动器型号上。当然,如果有必要,用户完全可以改变这个选择。按下【Enter】键将显示操作模式菜单,各命令及含义如下。
Servo test:伺服测试。
Surface test:表面测试。
Disk firmware zone:驱动器固件区。
Drive description area:驱动器类型域。
Formatting:格式化。
Logical scanning:逻辑扫描。
S.M.A.R.T. table:S.M.A.R.T表。
Defects table:缺陷表。
Automatic mode:自动模式。
Exit:退出。
1.伺服测试
伺服测试(Servo test)使用物理参数以ABA(Absolute Block Address,绝对块地址)格式进行测试。测试逐块进行,对表面进行格式化,测量该块全部伺服域的解码时间,并将测得的时间值显示在图表中。如果伺服域正确,驱动器所有ABA块的解码时间近似相等,图形看上去就像一条直线。如果一些磁道的伺服域损坏,其解码时间就会急剧增加,相应区域的图形就像一个钉子,破坏的伺服区越大,“钉子”越高。临界值如果3倍于正常值,图形会显示成红色,所有高于临界值的“钉子”被认为是错误(代码为00h)。如果一个块的格式化完成,但出现一个错误,图形中的“钉子”将显示成黄色。可以选择测试的起始ABA位置,按【Esc】键将中断测试。但如果还要进行其他测试,应该把伺服测试执行完成。
测试结束时会在屏幕上显示一个包含ABA缺陷数目的表,按下【Enter】键可以把所有相关的ABA格式的数据转换为物理CHS(PCHS)格式的数据,并显示缺陷磁道。再次按下【Enter】键可将所有缺陷磁道写入P-List。
进行伺服测试前必须清除译码表。对于WDAC35100驱动器,在Pentium 120计算机上进行伺服测试大约需要1小时。
2.表面测试
表面测试(Surface test)用于测试磁表面质量、磁头组(Magnetic Heads Block, MHB)状态及其切换电路,探测和移除所有缺陷磁道和扇区。测试开始前的设置菜单及含义如下。
Start ABA:起始ABA地址,默认值为0。
End ABA:结束ABA地址,格式为xxxxxxxx。
起始和结束ABA地址用于设定测试范围。
Reverse scanning:反向扫描,默认值为“No”,用于设定测试方向,可以通过【Y】键、【N】键或【Space】键进行选择或切换。正向扫描比反向扫描的速度要略快一些。
Passes:测试次数,默认值为3,用于设定从起始到结束ABA需要进行多少次测试,取值范围为1~100。
Carefulness:慎重因子,默认值为3,用于设定对错误的反应。测试首先以ABA方式逐块进行,当在某一块中发现错误时,则转为对该块逐扇区进行测试。这种测试分析的重复次数就是慎重因子。为加快测试速度,第一次测试建议设置为1即可,取值范围为1~10。
Limit of grouping into tracks:归入磁道的最小扇区数,默认值为20,用于设定一个磁道上有多少个缺陷扇区时可直接将该磁道作为缺陷磁道处理。包含错误代码10H(INDF)和04H(ABRT)的缺陷扇区磁道也被认为是缺陷磁道。
Perform writing test:执行写测试,默认值为“No”。执行写测试可以被关闭,还可以以校验代替读方式进行测试,这样测试过程会快一些。
Verification instead of reading:校验代替读,默认值为“Yes”。表面测试基于适应性法则,已经探测到的缺陷在以后的测试中不会再被测试,对于有很多缺陷的驱动器,这样做可以大大节省测试时间。WDAC313000属系的驱动器在Pentium 120计算机上,以关闭写、打开校验代替读的方式测试一遍大约需要1小时30分钟。
Critical time (ms):临界时间,默认值为300,用于设定扇区读写操作的等待时间。如果超过设定值,就被认为是缺陷扇区,范围为40ms~999ms。减小临界值时一定要慎重,因为设置值过低会导致发生检测错误。此外,驱动器周期性地执行重校准过程,也有可能被当做错误处理。
默认在进行表面测试之前应该执行伺服测试,或者不使用缺陷表进行格式化,且格式化能够无误完成。
测试结束时会在屏幕上显示一个包含ABA缺陷数目的表,按【Enter】键可以把所有相关的ABA格式的数据转换为物理CHS(PCHS)格式的数据,并显示缺陷磁道和扇区。再次按下【Enter】键可将所有缺陷磁道和扇区写入P-List。
3.驱动器固件区
该菜单有以下子菜单。
Disk firmware zone:驱动器固件区,用于格式化和测试驱动器固件区域、查看和检查驱动器固件结构、重写整个驱动器固件数据、重新配置驱动器。对驱动器固件区的操作,操作区域为-5柱面至-1柱面,磁头0至磁头1。
Disk firmware surface test:驱动器固件区表面测试。该菜单用于启动驱动器固件区缺陷检测过程,检测到的缺陷将被写入一张表中。如果驱动器要正常工作,-2柱面和-1柱面中不能有缺陷。
Disk firmware structure test:驱动器固件结构测试,用于在屏幕上显示一个驱动器固件模块列表。其中,“TRACKS DIRECTORY”为磁道目录,“CONFIGURATION SECTORS”为配置扇区,“P-LIST DEFECTS”为P-List, “G-LIST DEFECTS”为G-List, “DISK FIRMWARE MODULES”为驱动器固件模块。
命令执行时,将搜索模块并测试其校验和。所有驱动器固件数据都保存在0柱面,并在1柱面有一份备份。如果包含模块的扇区不能读取,将显示信息“Read error”(读错误);而如果模块能够读取但校验和错误,则显示信息“Checksum error”(校验和错误)。如果读取正确,校验和也没有错误,将显示模块的相应信息,具体如下。
MODULE NAME(模块名) dd/mm/yy(日/月/年,模块写入日期) Copy number(复本号)Location(位置) Status(状态) 1 c:-1 H:0 OK 2 c:-1 H:1 OK specific module parameters(特殊模块参数)
在主模块列表之后是驱动器固件列表,如下。
# ID Cyl Head Sec Length Date Ver C.S. Status
其中:“#”为模块号;“ID”为模块标识;“Cyl”、“Head”、“Sec”用于表示模块位置;“Length”表示模块占用的扇区数;“Date”表示日期;“Ver”表示模块版本;“C.S.”为校验字节;“Status”表示测试结果,分别为“OK”、“READ ERR”、“CHECK ERR”。
Disk firmware zone formatting:驱动器固件区格式化,用于对驱动器固件区-5柱面至-1柱面进行格式化。该过程将破坏全部驱动器固件数据,执行此命令后需要重新写入驱动器固件数据。
Disk firmware data read/write:读/写驱动器固件数据。此命令用于读/写所有必须的驱动器固件区数据,写入之前需要先执行驱动器固件表面的测试命令。对于修理时更换了电路板,且电路板微代码版本与驱动器固件版本不兼容的驱动器,就需要重写固件。如果驱动器固件损坏或者不兼容,就会出现驱动器启动主轴马达从启停区移开磁头(伴有典型声音)准备就绪后有些命令却无法正常工作的现象。为把驱动器固件写入驱动器,选择“WRITE FW TO THE DISK”(写固件至磁盘)选项后必须选择微处理器固件的版本,写入固件后必须清除P-List和G-List。
技术工具允许用户自己创建和更新驱动器固件数据库。为实现这一操作,应该先连接一个好的驱动器,然后选择“ADD FW TO THE DATABASE”选项,输入微处理器固件的版本号,如“62-602221-063”和型号名,成功完成后就可以将其固件添加到数据库中。同属系驱动器的固件版本都是一样的,区别在于它们的逻辑柱面数、磁头数和扇区数不同,可以在“DRIVE DESCRIPTION AREA”(驱动器类型域)选项下进行修改。因此,推荐只在数据库中保存该属系的最大型号的固件数据,如果添加不正确,可以使用“REMOVE FW FROM THE DATABASE”命令从数据库中删除它们。
Read modules:读模块。此操作允许读取存储在驱动器固件区的固件。读出的模块保存在“WD3_MOD”目录下,每个读出模块的命名规则为“~idxx.rpm”,其中“xx”为模块标识,如“~id20.rpm”就是译码表模块。开始读取之前,屏幕上会出现一个所有可获取模块的列表。可以根据需要选择部分或全部模块写入“WD3_MOD”目录,在写入之前需要为模块重新计算校验和并将正确的结果写入文件。
Write modules:写模块,与读模块类似。该命令用于将所选模块写入固件区。在操作之前会显示一个包括所有可获取模块的列表,可以根据需要选择部分或全部模块写入固件区,对每个模块写入重新计算得到的校验和。由于程序在进行写操作之前不检查模块结构,因此在写入时必须十分小心,以免造成不可挽回的损坏。
读/写模块的操作在工厂模式下进行,扩展了技术工具的使用时机。但它是为非常理解驱动器服务数据结构的有经验的操作者设计的,初学者最好不要使用,以免造成不必要的损失。
Work with translator:译码表操作。此命令可用于擦除译码表,或者从ABA至PCHS重新计算译码表。“ERASE TRANSLATOR”命令用于擦除译码表(模块20h和25h),一般在进行伺服测试前执行该命令。如果伺服测试在某些ABA处中断或挂起,也有必要执行ABA格式至PCHS格式转换的操作。重新计算命令可完成从ABA到PCHS的转换工作,并可在“DEFECTS TABLE”菜单的“MANUAL ENTERING OF DEFECTIVE TRACKS”命令的帮助下,将缺陷柱面写入P-List。
Software heads switching-off:软件关闭磁头。此命令用于关闭除磁头0和磁头1外任何有缺陷的磁头,打开以前关闭的磁头也是可以的。选择关闭磁头模式,所使用的磁头列表就显示在屏幕上,以便关闭有问题的磁头、打开好的磁头。进入此模式,光标将在第3个磁头处闪烁,【Space】键用于切换状态,【Enter】键用于移动到下一个磁头,【Esc】键用于取消操作。打开或关闭磁头,驱动器重启后会自动更改型号名。打开或关闭磁头后,必须清除缺陷表。
4.驱动器类型域
驱动器类型(Drive Description,有些资料中翻译为“驱动器描述”,和后面的“驱动器ID”含义相同)用于显示驱动器的类型信息,所有不能显示的ASCII字符由空格代替。驱动器类型域包括可更正的逻辑结构参数和系列号。当有必要更正型号名称时,需要首先通过按【Space】键设置“MODEL FROM ROM”(从ROM中获取型号)参数为“NO”。
按下【Enter】键输入参数或移动到下一项进行编辑。如果不想写入驱动器类型域,可以按【Esc】键取消。驱动器逻辑参数必须仔细修改正确,因为不正确的参数会使驱动器失效(或容量减少),这时需要重写驱动器固件才能解决问题。如果对驱动器进行了重新配置,或者在驱动器表面结束区域有大量通过常规方法无法重定位的ABRT缺陷和IDNF缺陷,就需要更正逻辑参数,适当减少柱面数,而保持磁头数和扇区数不变——虽然容量减少了,但驱动器的功能完全正常。
5.格式化
格式化(Formatting)命令用于启动低级格式化过程。格式化时可以跳过缺陷表中记录的缺陷扇区和缺陷磁道,格式化过程不能被中断,因为格式化结束时需要重新计算译码表,并写入新的译码表代替旧的译码表。如果格式化过程因错误结束,意味着伺服域存在损坏,或编译缺陷表中有错误,将使驱动器部分表面没有格式化,技术工具将重新计算译码表并写入新的译码表。在开始格式化之前,需要选择缺陷表模式或忽略缺陷表。格式化过程大概需时40分钟,时长依型号和磁盘片表面状态而有所不同,表面缺陷会大大增加耗时。
有时,格式化过程会立即以04H(ABRT)错误结束,这可能是由微处理器固件版本i87C196与驱动器固件不兼容造成的。这种情况下,需要根据微处理器固件版本来重写兼容的驱动器固件版本。
6.逻辑扫描
逻辑扫描(Logical scanning)与表面扫描不同,是启动使用逻辑参数LBA方式检测缺陷的过程。选择该命令,设置菜单及含义如下。
Start LBA position:起始LBA位置,默认值为0。
End LBA position:结束LBA位置,格式为xxxxxxxx。
Passes:次数,默认值为3。
Carefulness:慎重因子,默认值为3。
Perform writing test:执行写测试,默认值为No。
Verification instead of reading:校验代替读,默认值为Yes。
各菜单的具体应用前面已经介绍过。逻辑扫描测试结束时,逻辑结构缺陷以LBA方式显示在一张表中,按【Enter】键将出现一个菜单,用于选择如何处理缺陷,其选项包括:“Relocate defects using regular method (Assign)”,表示使用通常模式(重定位方式)重定位缺陷;“Add defects into P-List”,表示添加缺陷至P-List; “Add defects into G-List”,表示添加缺陷至G-List。
选择第一项,使用标准重定位程序来重定位缺陷扇区,并将重定位扇区的物理数量添加到G-List中。这种方法的一个不足之处是不能重定位标识错误类缺陷(IDNF)。另外,由于需要读写保留扇区,工作时磁头定位需要走很长的距离。选择其他两个菜单项中的任何一项都不会重定位缺陷扇区,所有逻辑缺陷都将转换成物理缺陷,并根据选择写入相应的缺陷表。将缺陷写入缺陷表后,需要根据缺陷表来重新格式化驱动器。注意,只有译码表完整且正常的情况下,才有可能将LBA格式正常转换至PCHS格式。
7.S.M.A.R.T表
“S.M.A.R.T. Table”命令用于查看驱动器的S.M.A.R.T参数。
8.缺陷表
缺陷表(Defects table)用于查看、添加、清除缺陷表或对缺陷进行分组,其相关命令如下。
View defects table:用于查看驱动器的缺陷表。查看缺陷表有助于评估磁盘的品质和状态。
Add LBA defect:添加LBA缺陷。此命令以LBA方式添加检测到的逻辑缺陷,如PC-3000AT检测到的缺陷。添加完逻辑缺陷后,可将逻辑缺陷转换成物理缺陷,并根据用户的选择将缺陷写入P-List或G-List。添加缺陷后要求进行格式化。
Add physical track:添加物理磁道,用于手工输入物理缺陷磁道。此命令对于探测表面扫描不能发现的可疑缺陷非常有用。例如,选择“SURFACE TEST”(表面测试)选项后屏幕上显示的缺陷如下。
Cyl: 383 Head:1 Cyl: 384 Head:1 Cyl: 385 Head:1 Cyl: 387 Head:1 Cyl: 390 Head:1 Cyl: 391 Head:1 Cyl: 392 Head:1
可以看到,这是一个擦伤,但是表中不包括386柱面、388柱面、389柱面,所以推荐(如果缺陷数小于100)将缺少的磁道和刮擦的每一个面的前后各1个磁道也添加至缺陷表,本例中是382柱面和393柱面。添加完缺陷后一定要执行格式化命令。
Import of logged defects table:导入缺陷表。通过该命令,用户可以将缺陷从*.dft文件导入P-List或G-List。*.dft文件是事先准备好的,例如由PC-DEFECTOSCOPE 2.10软件生成,或由其他类似的工具生成。*.dft文件的结构在第2.5节中已经介绍过。添加缺陷后一定要进行格式化。
Move G-List to P-List:将G-List移入P-List。该命令用于将G-List中的内容添加至P-List,然后清除G-List。该操作不会影响驱动器的任何功能,只是增加了S.M.A.R.T参数中的“Relocated Sector Count”(重定位扇区数量)选项。
Clear the defects table:清除缺陷表。此命令用于重置缺陷表,重置后缺陷扇区数将变为0。由用户选择清除哪个缺陷表。
Group to tracks:编组至磁道。此菜单项用于把已经加入到缺陷表中的那些缺陷扇区编组至缺陷磁道。进入此模式,会看到“LIMIT OF GROUPING INTO TRACKS”(归入磁道最小扇区数)选项。P-List和G-List中如果某条磁道的缺陷扇区数高于此值,则被编组成缺陷磁道,范围为1~50。
9.自动模式
自动模式(Automatic mode)允许无交互操作地自动扫描驱动器。选择此操作模式,屏幕上将出现两个列表,分别是“TASKS LIST”(任务列表)和“AVAILABLE TASKS”(可选任务)。开始扫描之前需要创建任务计划,或者调入以前创建的任务计划。
Test program creation:创建测试计划。使用【Insert】键可以创建测试计划,高亮矩形光标将从左边的任务列表窗口移动到右边的可选任务列表窗口中。在这里可以选择的测试项有“Servo test”(伺服测试)、“Surface scanning”(表面扫描)、“Formatting”(格式化)、“Logical scanning”(逻辑扫描)。选择某一任务,按下【Enter】键,再选择相应的设置项,屏幕上将出现以下菜单项:“Relocate errors detected during test”(测试过程中检测重定位错误),默认设置为“No”; “Maximum number of errors allowed”(允许的最大错误数),默认值为32 767。【Y】键用于选择“Yes”,【N】键用于选择“No”,【Space】键用于进行切换。允许的最大错误数是完成测试可接受的错误数,如果超出这个最大值,该测试及后续测试都会中断。应根据缺陷表容量和驱动器重定位缺陷能力设置该参数,推荐将伺服测试设置为1 000,将表面扫描设置为2 000。对于逻辑表面扫描,该值应等于0,因为所有的缺陷都应该在使用物理参数进行表面测试时被发现和重定位。但实际上,逻辑表面扫描仍可能发现少量的缺陷,依照惯例不超过100个。逻辑结构缺陷检测和重定位后需要格式化。参数设置完毕后按下【Enter】键,将所选任务加入“TASKS LIST”窗口,就可以选择下一测试项了。
Editing test program:编辑测试计划。为了编辑测试计划中的测试参数,应将光标移动至任务列表窗口中的相应测试项上,然后按下【Enter】键。如果想移除某项测试,可将光标移动到该项,按下【Del】键;如果要添加新的测试项,可按下【Insert】键,再根据菜单项进行操作。
Load/Save test:载入/保存测试计划。按下【S】键可以保存创建的测试计划。输入文件名时不用输入扩展名,扩展名将被自动命名为“prg”。在输入文件名时要注意,保存的测试计划只对特定属系的特定驱动器有效。因为磁头数、柱面数和其他个体参数也被记录在设置参数里,因此推荐使用相应的型号名作为文件名,并将文件保存在当前“PC3000”子目录下。按下【L】键从列表中调入测试计划文件,所列文件位于当前“PC3000”子目录下,可以根据文件名“*.prg”进行过滤,也可以手工输入文件的完整路径。
Test start:测试开始。按下【R】键可以开始测试过程。所有测试依次进行,直至完成全部测试。所有测试参数和测试结果都记录在“/utility name/*.log”日志文件中。需要时可以按下【Esc】键中断测试过程,并选择中断方式——是中断当前测试项,还是中断整个测试过程。如果测试过程中发生了超出最大允许错误数,或者格式化因遇到紧急错误而结束,相应的信息会记录在日志文件中。测试结束时,测试结果将显示在屏幕上,同时也会被记录到日志文件中。
无论是创建的还是载入的测试计划,在退出技术工具前都是常驻内存的。例如,从自动模式退出、运行手工测试、修改驱动器描述参数时,测试计划仍然会被保留、常驻并能随时运行。
10.退出
“Exit”命令用于退出技术工具。
3.2.5 技术简述
WDAC35100和WDAC34000属系驱动器的电路板如图3-1和图3-2所示。
图3-1 WDAC35100属系驱动器控制电路板
图3-2 WDAC34000属系驱动器控制电路板
1.驱动器固件数据信息
驱动器有5个柱面(固件区域),从-5到-1,用于记录驱动器固件数据,重复记录放在0柱面和1柱面。驱动器固件数据被保存为独立的模块,由它们一起形成操作控制系统。驱动器固件结构包括如下部分。
TRACKS DIRECTORY:磁道目录。
CONFIGURATION SECTORS:配置扇区。
P-LIST DEFECTS TABLE:P-List表。
G-LIST DEFECTS TABLE:G-List表。
RESIDENT FIRMWARE MODULES:常驻固件模块。
微处理器ROM中包含用于完成读/写操作和固件区格式化操作的完整的固件集,也就是说,不需要为写驱动器固件区加载一个驻留微程序,每个属系的驱动器都有很多驱动器固件版本和微处理器固件版本,而且它们之间大多不兼容。微处理器固件版本标注在27C516ROM芯片或微处理器芯片上,形如“62-xxxxxx-yyy”,在第3.1.2节中已经介绍过。
固件版本没有标注在HDA上,只能通过读取驱动器类型域来获取。在驱动器类型域,固件版本行包括两部分,形如“xx.xxCyy”,其中“C”是拉丁字符,“xx.xxC”表示微处理器固件版本,“yy”表示驱动器固件版本。例如,“21.10N22”表示微处理器固件版本为21.10N,驱动器固件版本为22。
驱动器固件版本与微处理器固件版本不兼容将导致不可预知的结果。通常,在用户模式下驱动器功能正常,但在工厂模式下一部分命令会以04h(ABRT)错误结束,例如低级格式化命令启动后立即出错结束,或者从ABA格式到PCHS格式的转换功能不正常。
三盘片型号的磁盘面位置如图3-3所示。
图3-3 三盘片型号的磁盘面位置
两盘片型号使用的是盘片1和盘片3,一个装配环置于盘片2的位置,如图3-4所示。单盘片型号只包括图3-4中处于下方的盘片。
图3-4 两盘片型号的磁盘面位置
2.初始化
加电时驱动器执行初始化过程的步骤如下。
第1步 形成RESET信号。
第2步 自诊断1。
第3步 型号设置。
第4步 主轴马达起转。
第5步 自诊断2。
第6步 磁头移出启停区。
第7步 读取驱动器固件数据。
第8步 开始重校准。
第9步 设置驱动器就绪(等待ATA指令)。
驱动器在焊接在MHB上的配置电阻的帮助下,从给定的驱动器属系中设置驱动器的具体型号。驱动器加电时微处理器分析配置电阻的阻抗,根据分析结果设置驱动器为相应型号,见表3-8和表3-9。
表3-8 WDAC35100属系驱动器配置电阻与型号的关系
表3-9 WDAC34000属系驱动器配置电阻与型号的关系
3.更改驱动器配置
当需要重新配置驱动器型号时(例如为了关闭缺陷面),可以使用硬件方法来实现。生产商就是通过改变配置电阻值来获得不同的型号的。
但是,也有一个为特定修理目的而设计的使用软件来隔离该属系中除0柱面和1柱面外其他任何缺陷面的能力。这就需要允许将某个磁面关闭,或者将以前隔离的磁面再次打开。因此,推荐使用软件修复方法来修理驱动器。工具提供了软件关闭磁头的操作,参见第3.2.4节“驱动器固件区”部分中与软件关闭磁头有关的内容。
推荐仅将硬件方法隔离缺陷盘面应用在关闭0柱面或1柱面的操作中。不管是采用软件方法还是硬件方法,都需要更正驱动器类型域的逻辑参数以匹配新的型号。
有时,在测试驱动器时,在数据区结束部分会出现大量的坏扇区,使这个区域的缺陷重定位无效。这种特性是由于旋转的盘片出现变形,磁头到达该区域时位于顶点,缺陷重定位过程导致驱动器跳过缺陷区域,数据区移位到离中心更远的地方,从而又产生新的缺陷造成的。因此,如果在驱动器数据空间结束的地方出现缺陷,推荐将驱动器类型域的逻辑柱面数改小一些(使用PC-3000AT可以有效检测结束柱面),自然,这也会导致驱动器容量相应减小。
4.硬件更改驱动器配置特性
选择这种方法更改驱动器配置时,推荐不要将配置电阻安装在HDA内,而是安装在电路板上,在J1连接器的12脚和16脚之间安装。重新配置过程从上往下进行,即关闭缺陷盘面和缺陷盘片。可以根据表3-8和表3-9来配置驱动器,但不是所有型号的驱动器都可以通过安装配置电阻来更改配置,例如不可能将WDAC35100属系转换成WDAC34300属系,因此可以切开电路板上J1连接器的16脚的连接线,将配置电阻与C42或C*电容并连,如图3-5和图3-6所示。对于将三盘片型号(如WDAC35100)重新配置成单盘片型号(如WDAC11700),又出现了一个新的问题。三盘片型号驱动器的主轴马达控制芯片在马达启动时电流大,而单盘片型号的驱动器的主轴马达控制芯片在马达启动时电流小,因此这种重新配置(磁盘数没有减小)可能导致马达启动问题。另外,必须注意两盘片型号的驱动器定位在第1位置和第3位置(第2个盘片缺失)。因此,如果将WDAC35100驱动器重新配置成WDAC23400驱动器,就得在WDAC35100驱动器里将盘片2和盘片3都关闭。
图3-5 WDAC35100属系驱动器磁头选择方案
图3-6 WDAC34000属系驱动器磁头选择方案
软件更改配置方式不会改变主轴马达的启动电流,因为盘片数是一致的,微处理器也知道这一点。此外,也不需要考虑磁盘片的定位问题,因为它们都是自动处理的。
5.磁头切换
如果驱动器有2个或更多个盘片,0柱面或1柱面损坏,而其他各部分都正常,就需要进行磁头切换。正如上面提到的,软件不能关闭它们,而这也是我们需要在磁头选择线路中“欺骗”微处理器的原因。
磁头切换的目的是改变正常的排列顺序。为达到此目的,可以增加一个小型逻辑电路供磁头选择方案时使用,且该逻辑电路应与电路控制板位于同一侧。方案的选择依据需要关闭的盘面而定。电路板上已有的U8变流器可用于切换H0行至H2行,因此需要断开该变流器,改为使用附加的变流器发送信号。为达到这一目的,必须将Hx行的相应输出悬空,并将连接输入至加载的电阻器。
完成磁头切换后必须格式化服务区,重写服务数据。
WDAC35100和WDAC34000属系驱动器磁头选择方案见图3-5、图3-6和表3-10。
表3-10 WDAC35100和WDAC34000属系驱动器磁头选择方案
下面给出两个实例。
· 实例1
WDAC35100属系的WDAC23400驱动器1柱面有缺陷,需要交换盘片0和盘片1。查表3-10,操作步骤如下。
第1步 用低温焊接工具和镊子勾开U8变流器的1脚和2脚,使之悬空(如图3-5所示)。
第2步 连接U8变流器的1脚、3脚至R*负载电阻,从而改变其选择的电路。
第3步 格式化驱动器固件区,重写驱动器固件数据。
第4步 通过软件隔离有缺陷的3号盘面(以前的1号盘面),根据表3-7更正驱动器类型域的逻辑参数。
· 实例2
WDAC34000属系的WDAC34000驱动器0柱面有缺陷,需要使用附加的ALS、HCT系列74LS86异或电路,操作步骤如下。
第1步 按图3-7连接电路,查表3-10。
图3-7 加装74LS86异或电路的走线图
第2步 格式化驱动器固件区,重写驱动器固件数据。
第3步 使用软件隔离有缺陷的2号盘面(以前的0号盘面),更正驱动器类型域的逻辑参数。
3.2.6 修复法则
根据待修驱动器的状态修复驱动器的一些特定的操作是必须要做的工作。例如,加电时驱动器启动主轴马达,发生单调地敲击限位器,随后关闭主轴电机的情况,说明伺服系统存在故障。这种故障可能由以下原因引起。
控制电路板伺服总线故障。
位于密封盘体中的MHB的前置转换/放大器故障。
磁头组自身故障。
伺服域严重损坏。
震动造成磁盘组件位移(马达旋转噪音变大通常表明驱动器发生过撞击)。
电路控制板和盘体属于不同驱动器属系。
以上所有故障都不可能通过软件修复。如果加电时驱动器启动主轴马达,从启停区移开磁头(可听到典型的声音),但是操作时不能完成低级格式化或错误数连续增加,意味着驱动器不能读取固件数据。这种故障可能由以下原因引起。
驱动器读/写数据转换通道缺陷。
驱动器固件数据损坏。
驱动器固件版本与微处理器固件版本不兼容。
电路板与HDA分属不同型号。
在这种情况下,有必要首先确保驱动器的控制电路板功能正常,控制电路板与HDA属于同一属系,然后按照下面的说明从下面的第1步开始恢复固件数据。如果加电初始化时能够读取驱动器类型信息,但测试结果显示是坏扇区,则可以从下面的第2步开始恢复固件数据。
第1步 恢复固件数据,操作如下。
a.选择菜单项“Disk firmware zone”,执行“Disk firmware surface test”命令,确保2柱面、1柱面、磁头0和磁头1没有错误。如果检测到错误,应执行“Disk firmware zone formatting”命令。
b.选择菜单项“Disk firmware data read/write”,根据微处理器固件版本写入驱动器固件数据,从而恢复驱动器固件区数据。成功写入后会重新加载固件。
c.根据需要更正逻辑参数。
第2步 清除P-List和G-List,不使用缺陷表进行格式化。如果格式化成功完成,可直接进行第4步操作。
第3步 执行伺服测试,确保选择了“ERASE TRANSLATOR”选项。测试时逐块进行表面格式化,在每个块内测试所有伺服域解码时间,测试结果被显示在图表中。测试完成后,屏幕上会显示ABA缺陷数目表。按【Enter】键将显示的所有ABA块转换成PCHS格式之后的相应缺陷磁道表。再次按【Enter】键,将缺陷磁道写入P-List。
第4步 执行表面测试,测试以ABA格式按物理参数进行。可以关闭写测试,打开校验代替读,以加快测试过程。测试完成后,屏幕上会显示缺陷ABA数目表。按下【Enter】键将显示的所有ABA块转换成PCHS格式之后,屏幕上会显示相应的缺陷扇区和缺陷磁道表。再次按下【Enter】键,将缺陷扇区和缺陷磁道写入P-List。
第5步 根据第3步和第4步的结果进行是否要隔离缺陷表面的评估,如果结论是需要关闭缺陷表面,那么关闭后需要从第2步开始继续修复驱动器。
第6步 使用P-List进行低级格式化(应成功完成)。如果格式化出错终止,必须重复第3步和第4步操作。如果更改了驱动器的配置,则要根据新的型号参数更正其逻辑参数(柱面、磁头、扇区)。
第7步 执行逻辑扫描。逻辑扫描以LBA格式进行,可以关闭写测试,打开校验代替读,以加快测试速度。表面扫描结束后,一个包括所有检测到的逻辑缺陷的表将显示在屏幕上。按下【Enter】键转换所有逻辑缺陷为物理缺陷并写入P-List。
第8步 使用P-List和G-List进行低级格式化(应成功完成)。
第9步 必要时在驱动器类型域写入系列号。
第10步 使用PC-3000AT测试器执行综合测试。如果检测到错误,就重复第7步和第8步操作或者运行通用缺陷检测程序。
第11步 运行PC-3000AT测试器的综合测试功能,确保驱动器功能正常。
3.2.7 以自动模式修复驱动器
在自动模式下修复驱动器与常用的以人工控制方式独立执行每个测试项的方法在原理上没有区别,设计该模式是为了将专业修复人员从眼睛盯着测试过程的单调工作中解放出来。一个自动测试计划的例子如表3-11所示,注意在开始测试前需要先清除缺陷表和译码表。
表3-11 自动测试计划示例
3.2.8 创建驱动器固件数据库
PC-A35100和PC-A34000工具程序允许用户自己创建和更新固件数据库。将准备加入数据库的相应功能完好的驱动器连接好,选择“ADD FW TO THE DATABASE”(添加固件至数据库)选项,输入微处理器固件版本号。因为固件版本不依赖某属系驱动器的特定型号,所以固件可以从该属系中的任一驱动器添加至数据库(只需先取下控制电路板,记下微处理器版本号)。
资源文件结构如下。
固件名:30字节的ASCII字符。
校验和:2字节。
长度:4字节。
数据。
在资源文件中,所有版本驱动器的以上信息依次排列,新添加的版本存放在数据库尾部。如果由于某种原因,某个版本的校验和出错,那么在主软件模块中无法看到这个固件版本,而且在它之后的版本中也都无法看到这个版本。