一种修复希捷硬盘同时出现NO_HOST及3005_ERROR故障的方法与流程

文档序号:11406952阅读:599来源:国知局
一种修复希捷硬盘同时出现NO_HOST及3005_ERROR故障的方法与流程

本发明属于数据恢复领域,涉及一种硬盘的修复方法,尤其涉及一种修复希捷硬盘同时出现no_host及3005_error故障的方法。



背景技术:

作为存储设备中的重要一员,硬盘起着极其重要的作用。我们大多数的数据都是通过硬盘来存储,这种大规模采用硬盘来记录数据的现象甚至被人们戏称为“基于磁介质的文明”,因此,数据储存量的急剧增加及数据重要性的提升,使得数据恢复也变得更加重要。

希捷公司成立于1979年,目前是全球最大的硬盘、磁盘和读写磁头制造商,总部位于美国加州司各特谷市。希捷在设计、制造和销售硬盘领域居全球领先地位,提供用于企业、台式电脑、移动设备和消费电子的产品,截止2008年4月希捷已经出货了十亿块硬盘。

当希捷硬盘同时出现no_host及3005_error故障时,多数情况是由于固件区出现坏道,导致编译器出现损坏,或者编译器没有加载到缓存中,出现这种情况时,会引起硬盘出现忙的状态,或者硬盘能被识别但无法访问数据区。

现有技术中,一般都是采用指令修复方式进行修复。但如果固件区已经完成修复,编译器仍然无法正常工作,这种情况下,指令修复方式就无法修复该故障。



技术实现要素:

本发明针对现有技术的不足和上述问题,提出一种修复希捷硬盘同时出现no_host及3005_error故障的方法,通过修改hddsetting模块,并将修改后的hddsetting模块回写至故障硬盘,从而修复该故障并使得故障硬盘能够被识别,解决了现有技术中无法通过指令修复方式来修复该故障的技术问题,所述方法包括以下步骤:

s1:获取hddsetting模块并改写所述hddsetting模块的头文件;

s2:查找所述hddsetting模块中的第一标识符,获取所述第一标识符的最高4字节的内容作为第二标识符,所述第二标识符随后的4字节内容作为第一特征值;

s3:查找所述hddsetting模块中除所述第一标识符的最高4字节之外的第二标识符,并将所述第一特征值写入查找到的所述第二标识符随后的4字节中;

s4:以所述hddsetting模块中的所述第一标识符的首地址为起始位置,向后偏移0x10字节,以偏移后的地址为起始地址,以结束标识符的前一字节地址为结束地址,将所述起始地址至所述结束地址的范围内的数据向前移8个字节,并将第二特征值写入所述结束标识符之前的8个字节中;

s5:查找所述hddsetting模块中的第三标识符,并将所述第三标识符随后的4字节内容置为全零;

s6:将改写后的所述hddsetting模块回写至故障硬盘,并验证所述故障被修复。

作为优选,改写所述hddsetting模块的头文件包括将第一字节和第二字节的内容置为全零,并将0x10字节内容的数字减1。

作为优选,所述第一标识符为0x3f02003c010000001703003c,所述第二标识符为0x1703003c,所述第一特征值为0xfff77f03。

作为优选,所述结束标识符为0xeeffeeff00000000。

作为优选,所述第三标识符为0x1f07003f,所述第二特征值为0x2707003f01000000。

本发明的有益效果是:解决了现有技术中无法通过指令修复方式来修复该故障的技术问题。

附图说明

图1为本发明的主流程图;

图2a、图2b为本发明中头文件改写前后的数据结构图;

图3为本发明中包含第一标识符及第一特征值的数据结构图;

图4为本发明中查找到第二标识符并写入第一特征值后的数据结构图;

图5a、图5b为本发明中数据块前移之前及之后的数据结构图;

图6a、图6b为本发明中写入第二特征值前后的数据结构图。

具体实施方式

下面结合附图和实施例对本发明作进一步阐述。

如图1所示,一种修复希捷硬盘同时出现no_host及3005_error故障的方法,包括以下步骤:

s1:获取hddsetting模块并改写hddsetting模块的头文件,图2a为改写前hddsetting模块的头文件数据结构图,其前2字节的内容为0xff7b,第0x10字节的内容为0x9b;如图2b所示,将第一字节和第二字节的内容置为全零,并将0x10字节内容0x9b减1后改写为0x9a。

s2:如图3所示,查找hddsetting模块中的第一标识符0x3f02003c010000001703003c,获取第一标识符的最高4字节的内容0x1703003c作为第二标识符,第二标识符0x1703003c随后的4字节内容0xfff77f03作为第一特征值。

s3:如图4所示,在地址0x0340为起始地址的连续4字节内容中,查找到hddsetting模块中除第一标识符的最高4字节之外的第二标识符0x1703003c,并将第一特征值0xfff77f03写入查找到的第二标识符0x1703003c随后的4字节中。

s4:如图5a所示,以hddsetting模块中的第一标识符0x3f02003c010000001703003c的首地址0x0540为起始位置,向后偏移0x10字节,以偏移后的地址0x0550为起始地址,以图6a所示的结束标识符0xeeffeeff00000000的前一字节地址0x0cf7为结束地址,将起始地址0x0550至结束地址0x0cf7的范围内的数据向前移8个字节,数据块完成前移之后的数据结构如图5b所示;

如图6a所示,数据块完成前移之后,结束标识符0xeeffeeff00000000也前移了8个字节,此时,hddsetting模块中具有两个相同的结束标识符0xeeffeeff00000000,随后,将第二特征值0x2707003f01000000写入原结束标识符0xeeffeeff00000000之前的8个字节中,即,如图6b所示的0x0cf0地址开始的8个字节中。

s5:查找hddsetting模块中的第三标识符0x1f07003f,并将第三标识符0x1f07003f随后的4字节内容置为全零。

s6:将改写后的hddsetting模块回写至故障硬盘,并验证故障被修复。

应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。



技术特征:

技术总结
本发明公开了一种修复希捷硬盘同时出现NO_HOST及3005_ERROR故障的方法,其特征在于包括以下步骤:S1:获取HDD setting模块并改写HDD setting模块的头文件;S2:查找HDD setting模块中的第一标识符,获取第二标识符及第一特征值;S3:查找第二标识符,并将第一特征值写入查找到的第二标识符随后的4字节中;S4:以HDD setting模块中的第一标识符的首地址为起始位置,向后偏移0x10字节,以偏移后的地址为起始地址,以结束标识符的前一字节地址为结束地址,将起始地址至结束地址的范围内的数据向前移8个字节,并将第二特征值写入结束标识符之前的8个字节中;S5:查找HDD setting模块中的第三标识符,并将第三标识符随后的4字节内容置为全零;S6:将改写后的HDD setting模块回写至故障硬盘,并验证故障被修复。

技术研发人员:梁效宁;黄旭;董超;杨先珉
受保护的技术使用者:四川艾特赢泰智能科技有限责任公司
技术研发日:2017.05.02
技术公布日:2017.09.01
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1