希捷的硬盘主要包括U系列、Barracuda(酷鱼)系列和Momentus系列。PC-3000 UDMA能够支持的具体型号包括:
以上系列可以通过PC-3000 UDMA的希捷程序查看到,如图13-16所示。
除了以上系列以外,PC-3000 UDMA还能够支持Barracuda 7200.11“固件门”的不认容量及不认盘的故障处理。
下面介绍一下希捷硬盘型号的具体含义。希捷硬盘型号的命名方法以Barracuda 7200.12为分界线,Barracuda 7200.12之前的硬盘使用旧的命名规则,从Barracuda 7200.12开始使用新的命名规则,分别说明如下:
旧命名规则包括的型号有3.5英寸的Barracuda 7200.11、Barracuda ES、Barracuda ES.2、SV35.3、PipelineHD、Barracuda 7200.10和之前的型号,2.5英寸的Momentus 5400.3、Momentus 5400.4和之前的型号。
以一块Barracuda 7200.10的硬盘为例,该硬盘型号为ST3500630AS,其具体含义见表13-5。
表13-5 希捷硬盘旧命名规则
新命名规则包括的型号有3.5英寸的Barracuda 7200.12、Barracuda ES.3、SV35.4、SV35.5、PipelineHD Pr和之后的型号,2.5英寸的Momentus 5400.5、Momentus 5400.6和之后的型号。
以一块Barracuda 7200.12的硬盘为例,该硬盘型号为ST31000528AS,其具体含义见表13-6。
表13-6 希捷硬盘新命名规则
希捷硬盘与PC-3000 UDMA的测试卡的连接方法跟其他品牌的硬盘有所不同。希捷硬盘除了连接测试卡的电源线和数据线以外,还需要一个终端适配器连接到计算机主机的COM口,终端适配器可以是PC-KALOK适配器,也可以通过PC USB终端连接。PC USB终端是通过USB接口虚拟的COM端口建立的适配器驱动。
PC USB终端适配器的外观如图13-17所示。
PC-3000 UDMA通过PC USB终端适配器与希捷硬盘进行通信,PC USB终端适配器的其中一头需要连接到硬盘的跳线针脚处,如图13-18所示。
PC USB终端适配器的另一头连接到计算机的USB口即可。
希捷硬盘的固件存储在电路板的ROM芯片中以及盘片表面的磁道上。与其他品牌的硬盘固件不同的是,希捷硬盘的固件没有具体的模块表,也就是没有模块的概念。希捷硬盘以磁道、磁道组、磁道上的扇区为访问单位进行工作。
希捷硬盘的固件结构可以分为两类,一类具有并口Flash ROM,而另一类具有串口Flash ROM。具有并口Flash ROM包括的硬盘型号有U5、Barracuda Ⅰ、Barracuda Ⅱ、Barracuda Ⅲ、Barracuda Ⅳ,具有串口Flash ROM包括的硬盘型号有Barracuda Ⅴ、U Series 7、Barracuda 7200.7、Barracuda 7200.8、Barracuda 7200.9、Barracuda 7200.10、Momentus。
由于具有并口Flash ROM的硬盘已经基本见不到了,所以对它们的固件结构本书不作介绍,下面主要介绍具有串口Flash ROM的硬盘的固件结构。
具有串口Flash ROM的硬盘的固件结构如图13-19所示。
硬盘启动时,首先激活内嵌代码。内嵌代码的功能之一是从外部或内置的串行Flash ROM中复制引导代码。引导代码中的一部分用于管理F级终端,一旦从Flash ROM中复制到内存并且启动,引导代码就从代码中指定的柱面读出应用程序代码。
在程序代码中,包含有主固件,这部分固件是激活硬盘基本部件所必须的执行代码,包括F级终端服务代码和状态设置信息代码。
主固件用于终端级别的管理,同时也管理ATA命令。主固件的版本在硬盘正面的盘标上可以看见,如图13-20所示。
另外,在希捷硬盘的固件区还有以下固件信息:
希捷硬盘对固件的操作是用指令模式来实现的,指令模式可以直观地检测并监控希捷硬盘的工作状态,并通过反馈回来的信息判断硬盘的故障情况。
希捷硬盘的指令在设计时分为许多模块,并且指令又分为不同的等级,以方便记忆和管理,具体包括T级、1级、2级、3级、4级、6级、7级、8级、A级、C级、D级、E级和F级。本书介绍其中的一部分。
T级指令主要包括CERT进程测试、参看缺陷、查看日志,读取系统参数等功能。
(1)Bx指令
Bx指令用于设置波特率,即设置终端程序的接收信号频率,以适应硬盘的频率,具体用法如下:
(2)Vx指令
Vx指令用于查看缺陷列表。使用该指令前需要加载CERT模块,具体用法如下:
(3)R指令
R指令可以从硬盘读取系统参数到对应的缓存中,这些参数包括磁头参数、区段参数、SN信息等,并把读取到的参数信息存放到相应的模块缓存中,以便于内存调用。
(4)Yx,y指令
Yx,y指令的作用是设置硬盘的驱动类型。
该指令主要用来做硬盘屏蔽磁头,x表示新的驱动类型。该指令屏蔽磁头是从后向前屏蔽,先屏蔽后面的磁头。
1级指令属于内存编辑指令,主要用于内存和缓存的控制处理。
(1)Bx,y指令
Bx,y指令用于显示缓存的内容,具体用法如下:
x为要查看的缓存地址,y是与x比较的缓存地址,如果x为读缓存,y不输入,系统将x中的缓存与写缓存中的数据进行比较,如果有不同的数据,将用“()”显示出来。
(2)Dx,y,z指令
Dx,y,z指令用于显示内存,可以显示指定的内存值,x,y将决定指令的显示地址,x为8个十六进制数的前4个,y为后4个。
(3)Nx,y,z指令
Nx,y,z指令用于S.M.A.R.T.控制,具体用法如下:
2级指令属于读/写指令,主要用于读取/写固件、CERT日志的编辑等。
(1)U指令
U指令是硬盘主轴电机起转指令。
(2)Z指令
Z指令是硬盘主轴电机停转指令。
(3)Hx指令
Hx指令用于选择指令磁头。
3级指令属于伺服寻址指令,一般用于测试校验。
(1)Cx,y指令
Cx,y指令用于累积吞吐量测试。
(2)Dx,y,z,a,b,c指令
Dx,y,z,a,b,c指令用于寻道累积时间测试,具体用法如下:
Barracuda(酷鱼)系列的硬盘是希捷的重要产品,市场占有率非常大,但不幸的是,前两年它的固件设计存在严重缺陷,用户在使用中硬盘往往会突然不认盘,这就是著名的希捷“固件门”事件。
希捷“固件门”事件一共涉及希捷三个系列的硬盘,具体型号包括:
(1)Barracuda 7200.11系列
Barracuda 7200.11系列涉及的型号有ST3500320AS、ST3500620AS、ST3500820AS、ST3640330AS、ST3640530AS、ST3750330AS、ST3750630AS、ST31000340AS、ST31000340AS、ST31000640AS、ST3750330AS、ST3750630AS、ST3640330AS、ST3640630AS、ST3500320AS、ST3500620AS、ST3500820AS、ST31500341AS、ST31000333AS、ST3640323AS、ST3640623AS、ST3320613AS、ST3320813AS、ST3160813AS。
(2)Barracuda ES.2系列
Barracuda ES.2系列涉及的型号有ST31000340NS、ST3750330NS、ST3500320NS、ST3250310NS。
(3)迈拓DiamondMax 22系列
迈拓DiamondMax 22系列是希捷收购迈拓后的产品,这个系列涉及的型号有STM31000340AS、STM31000640AS、STM3750330AS、STM3750630AS、STM3500320AS、STM3500620AS、STM3500820AS、STM31000334AS、STM3320614AS、STM3160813AS。
希捷硬盘的“固件门”所涉及的硬盘出现故障后,主要有两种表现:
①硬盘的型号可以识别,但没有容量,容量显示为0MB;
②硬盘的型号无法识别,用PC-3000 UDMA检测硬盘,也不能识别型号,并且硬盘一直处于“BUSY”状态。
硬盘出现这种现象的原因主要是固件中的S.M.A.R.T.表和G表设计出错,导致硬盘在运行中突然进入保护状态,也就是硬盘“锁死”状态,所以硬盘就表现出不认盘或容量为0的现象。
这类故障的解决办法就是用希捷的专业指令,先清空S.M.A.R.T.表,然后重新校验G表就可以恢复正常了,并且修复后硬盘内的数据不会丢失。
PC-3000 UDMA已经把修复“固件门”的指令做成菜单形式,只需要动几下鼠标就可以轻松修复,具体方法稍后详细介绍。
另外,为了照顾没有PC-3000 UDMA这一工具的读者,我们也将提供具体的修复指令。只要能够在指令模式下与硬盘进行通信,那么不依靠PC-3000 UDMA也能够修复“固件门”的故障。
下面以硬盘固件出故障后不认盘的现象为例讲解修复的方法。
一块希捷Barracuda 7200.11的硬盘,容量为500GB,用户在安装系统时突然死机,重新启动后硬盘就识别不到了,该硬盘具体型号如图13-21所示。
下面讲解具体的修复方法:
第1步 运行PC-3000 UDMA。
将故障硬盘连接到PC-3000 UDMA的测试卡上,同时别忘记连接PC USB终端适配器。连接完毕后运行PC-3000 UDMA,进入主界面后按下电源控制按钮,如图13-22所示。
给硬盘加电后,PC-3000 UDMA主界面下方的指示灯中,“BSY”灯常亮,如图13-23所示。
第2步 进入修复程序。
PC-3000 UDMA提供专门针对希捷“固件门”故障的修复菜单,如图13-24所示。
选中菜单后按下工具栏的“Run utility”按钮,进入程序。进入的过程中,程序首先会读取硬盘的ID,如图13-25所示。
因为硬盘的固件已经损坏,所以ID读取不成功,程序提示一个错误,如图13-26所示。
单击“Yes”按钮继续下一步后进入“固件门”专修程序主界面,但是硬盘的一切参数都无法正确识别,如图13-27所示。
第3步 选择修复菜单。
针对当前硬盘的状态,选择具体的修复菜单,如图13-28所示。
当前硬盘属于“锁死”状态,所以应该选择下面的那个菜单。
选择该菜单运行后,会出现一个提示信息,如图13-29所示。
这是一个警告提示,单击“Yes”按钮继续运行。
第4步 断开主轴电机的供电。
第三步进行完后,硬盘的主轴电机会停止转动,同时PC-3000 UDMA会弹出一个操作提示,如图13-30所示。
操作提示要求拧下电路板上主轴电机附件的螺丝,并用绝缘体隔离电路板与硬盘的盘体。把螺丝拧掉后,我们可以拿一张名片塞入电路板下,如图13-31所示。
隔离了电路板与硬盘的盘体后,电路板就不能给主轴电机供电了。
第5步 开始修复。
将电路板与硬盘的盘体隔离后,在操作提示信息框上单击“OK”按钮,PC-3000 UDMA就开始通过PC USB终端适配器与硬盘电路板之间进行通信,并给出日志信息,如图13-32所示。
第6步 重新固定电路板。
PC-3000 UDMA与硬盘电路板之间进行通信结束后,又出现新的操作提示,如图13-33所示。
这一操作提示要求去除隔离物,并将电路板的螺丝拧回。
单击“OK”按钮后,硬盘电机重新起转,几秒钟硬盘自检完成,型号识别正常了,如图13-34所示。
这样,该固件损坏的硬盘就修复完成了,硬盘内的数据完好无损。
第1步 设置波特率。
把终端通信的波特率设置为38400。
第2步 隔离电路板。
将故障硬盘连接好后,先不要通电,把电路板与硬盘的盘体隔离。
第3步 进入指令模式。
硬盘做好隔离后,给硬盘加电,然后按Ctrl+Z组合键,进入T级指令模式,依次输入下面的指令并回车:
T>/2 2>Z
第4步 去除电路板隔离物。
去除电路板与硬盘盘体的隔离物,并拧回螺丝。
第5步 运行指令。
去除电路板隔离物后,依次输入下面的指令并回车:
2>U 2>/T T>i4,,22 T>/1 1>N1
第6步 断电。
将硬盘的电源切断,然后再重新加电。
第7步 修复容量。
加电后硬盘的容量可能显示为0MB,这时还需要用指令修复容量,依次输入下面的指令并回车:
1>/T T>m,2,6,,,,,22
指令运行结束后,再给硬盘重新加电就可以正确识别了。
希捷的Barracuda 7200.11系列硬盘主要用于一般PC,而对于企业级应用来说,硬盘长时间不间断地稳定运行是最基本的要求,因此企业级硬盘都具有24×7的可用性(一周7天一天24小时连续运行),以及很高的MTBF(Mean Time Before Failure,平均故障时间)。希捷的Barracuda ES及Barracuda ES.2系列就是专为企业的高需求而设计的。
不过,Barracuda ES.2也有固件缺陷的问题,同样会出现“固件门”的故障现象,并且用修复Barracuda 7200.11的方法无法完成对Barracuda ES.2的修复,原因就是Barracuda ES.2的固件出错后,指令模式会被锁死,无法接收指令。
所以修复Barracuda ES.2“固件门”故障的首要难题就是解决指令的接收问题,下面提供解决的办法。
硬盘与PC-3000连接好之后,进入相应程序,程序会不断有出错信息弹出,在出现错误信息的间隔时间,按Ctrl+Z组合键,然后马上短接硬盘电路板上的两个触点。这两个触点如图13-35所示。
短接这两个触点后,就可以进入指令模式了,剩下的操作就与Barracuda 7200.11系列一样了。