希捷固件前好后坏故障分析
暂无图片。
前好后坏故障:希捷硬盘挖掉表缺陷条目的增加或减少导致的编译器异常,具体表现为扫描
到某一个LBA 后,后面全部不可扫描,并且报错的状态灯是ERR 和UNC。
ECC = f(head,data) 本质上是LBA 与PBA 的对应关系错位,导致计算出来的ECC 与存储的
ECC 不匹配,这种不匹配会让硬盘判定读出来的数据是不受信任的,所以报错ERR,并且UNC
灯亮。根据前面我们讲解的缺陷表的关系,替换表是不可能导致LBA 和PBA 的对应关系错
位,只有挖掉表会导致对应关系错位(前移或者后移)。
影响挖掉表条目的因素:
1.G 转P 的时候,[V80:常驻G 表] 也就是已决部分才会转入,[V40:非常驻G 表]也会转入,
但是未决的条目不转入,直接被清除
2.做编译器再生时,勾选“处理增长缺陷表”,[V80:常驻G 表] 也就是已决部分,还有V4
里面的未决部分,也就是整个V4 都会转入非常驻G 表。
3.人为因素,恶意增删改V10 或V40,然后重建编译器。
LBA 与PBA 的对应关系查询指令
既然LBA 和PBA 的对应关系变化是导致前好后坏的根本原因,因此我们需要重点掌握这两
条指令。查看C.H.S 与LBA 对应关系的指令是A>F;查看C.H.S 与PBA 对应关系的指令是A>C。
A>F[LbaHi],[LbaLo],[SysAreaOpt],[NumLbas]
【LbaHi】: LBA 或者是LBA 高位。
如果LbaLo 没有输入值, LbaHi 参数中包含LBA 的32 位;如果LbaLo 输入了一个值,
则LbaHi 参数中包含LBA 的高16 位。
如果SysAreaOpt 有输入值,表示指定的LBA 位于系统区,否则LBA 位于用户区。
类型: 无符号32 位值,0 至0xFFFFFFFF,此时LbaLo 没有输入值;
无符号16 位值,0 至0xFFFF,此时LbaLo 有输入值;
默认值:0
【LbaLo】:LBA 低位。
这个参数包含被翻译LBA 的低16 位。
如果SysAreaOpt 有输入值,表示指定的LBA 位于系统区,否则LBA 位于用户区。
类型:无符号16 位值,0 至0xFFFF;
默认值:无。如果这个参数没有输入,LbaHi 就被假定为输入的32 位LBA 值。
【SysAreaOpt】:系统区标记
如果这个参数没有输入任何值,LbaHi 和LbaLo 两个参数指向的LBA 将位于系统区,否
则LBA 就位于用户区。
类型:无符号16 位值,0 至0xFFFF;
默认值:无。
【NumLbas】:LBA 数量
这个值指定连续多少个LBA 被翻译成CHS。
类型:无符号32 位值,0 至0xFFFFFFFF;
默认值:1
A>C[PbaHi],[PbaLow],[NumPbas]
【PbaHi】: PBA 或者是PBA 高位。
如果PbaLo 没有输入值,PbaHi 参数中包含LBA 的32 位;如果PbaLow 输入了一个值,
则PbaHi 参数中包含PBA 的高16 位。
类型: 无符号32 位值,0 至0xFFFFFFFF,此时PbaLow 没有输入值;
无符号16 位值,0 至0xFFFF,此时PbaLow 有输入值;
默认值:0
【PbaLow】:PBA 低位
这个参数包含被翻译PBA 的低16 位。
类型:无符号16 位值,0 至0xFFFF;
默认值:无。如果这个参数没有输入,PbaHi 就被假定为输入的32 位LBA 值。
【NumPbas】:PBA 数量
这个值指定连续多少个PBA 被翻译成CHS。
类型:无符号32 位值,0 至0xFFFFFFFF;
默认值:1
更多数据恢复技术持续更新中:
希贝软件客服QQ:201044567 希贝软件网站:www.mp4recovery.cn