7.11 ROM固件与盘体服务数据的兼容性(电路板兼容性)
可以在驱动器标签上找到写入驱动器的固件数据版本。版本号位于标签的右下角“REV. NO. A 0 1 2 3 4 5 6 7 8 9”行的下面,如图7-24所示,它包括3个字符的前缀和破折号后面的4个字符的版本号。
图7-24 Fujitsu驱动器标签(版本号A9-80B5)
前缀的第一个字符表示驱动器的生产月份,由十六进制形式表示,对于兼容性来说并不重要。因此,如果希望准确写入当前驱动器的ROM版本,除第一个字符外,后面6个字符都是有用的(例如,该驱动器ROM固件的版本是A9-80B5)。
如果驱动器能够就绪,就可以使用PC3000的相应工具查看ROM固件版本,否则就需要在内核模式下读取ROM固件版本。
即使HDA标签上的版本号和ROM中的固件版本号相符,也不能认定HDA和ROM是兼容的。首先应该检查ROM的Mutex字节(必要时还要检查ROM是否正确),其次要检查是否存在适配数据。实际上,各个驱动器程序的适配数据是独立设置的,一些单碟型号驱动器的适配数据存储在ROM中。适配数据是在使用Pushpin-free STW(伺服磁道写入器)写伺服域时计算出来的,同时记录在ROM和磁盘服务数据的20h模块中。这就意味着除原始电路板外,使用其他电路板会造成记录在电路板ROM中的适配数据有差异。适配数据不同会导致读盘性能降低。这种驱动器的工作速度会变慢,甚至“烦躁不安”,或者初始化时敲盘。不过,还是有可能为特定HDA找到合适的电路板的,例如以下情况。
· 驱动器电路板损坏需要更换
可以将损坏的电路板上的ROM芯片拆下来,然后焊到新的功能相似的电路板上;也可以将损坏的电路板上的ROM芯片拆下来,用编程器读出数据后,在不带HDA的情况下将其写入新电路板的ROM中,这样操作的结果就像使用原始ROM一样。
· 驱动器没有原始电路板
这种情况可能由以下原因导致。
电路板ROM故障。
“原始”电路板丢失。
驱动器已被修理过,难以确认电路板是否是原始电路板。
这时,必须将除适配数据以外的相应版本的ROM数据写入(从地址lFDE0h开始到地址IFFE0h,直到“(C) FUJITSU”行,全部写入0)。如果是MPF-AT、MPG-AH/AHE属系或双磁盘MPG-AT属系的驱动器,兼容性过程到此就可以认为已经结束了(这些属系的驱动器都没有使用校准),新安装的电路板将正常工作。
如果是单磁盘的MPG-AT(MPG3102AT或MPG3204AT)属系驱动器,HDA中包含适配数据。所以,按照上面的方法写入ROM后,驱动器初始化时会导致驱动器“烦躁不安”,需要使用第7.17节描述的方法处理适配数据,即读取20h模块的内容,模块中的前512字节就是适配数据。可写入ROM开始地址1FDE0h,以得到完全可用的驱动器。
· 没有“原始”电路板,固件区有缺陷或被重写
这种情况是很复杂的(除了20h模块不可读或20h模块不是原始模块的情况),类似于上一种情况。这时也需要使用第7.17节介绍的方法。但是,100%匹配适配数据的概率是极低的,很多时候看起来好像已经找到合适的适配数据,但是驱动器操作不稳定,速度很慢,且最后出现寻道错误。