一种修复希捷硬盘扇区前好后坏的方法与流程

文档序号:12596206阅读:1604来源:国知局

本发明涉及信息安全技术领域,特别涉及一种修复希捷硬盘扇区前好后坏的方法。



背景技术:

所谓希捷硬盘“前好后坏”,是指前面一部分扇区可以读取,但后面一部分扇区就不能访问的情况。当希捷硬盘出现损坏,无法访问数据区较大LBA值数据,目前市面上有一些技术可以修复硬盘前好后坏的故障,但是存在一下几点问题:

1.不能修复4K技术的硬盘;

2.修复速度过慢,且必须要专业人士操作;

3.不能解决因缺陷混乱导致的不识别硬盘的情况。



技术实现要素:

本发明针对现有技术的缺陷,提供了一种修复希捷硬盘扇区前好后坏的方法,能有效的解决上述现有技术存在的问题。

为了实现以上发明目的,本发明采取的技术方案如下:

一种修复希捷硬盘扇区前好后坏的方法,包括以下步骤:

S1:硬盘在认盘状态下,清除NG-LIST;

S2:按顺序扫描硬盘坏点,扫到一个坏点就将坏点加入G表,并重建;

S3:判断是否完成整个硬盘的查找,若完毕则结束,否则转到S2。

作为优选,所述S1的详细步骤如下:

S101:判断硬盘参数状态是否就绪,若就绪则执行S102,若未就绪则执行S105;

所述判断参数状态需调用函数:

Bool isbusy=ChekDiskStateBusy();//检测硬盘状态

If(isbusy==false)exit;//退出

S102:判断是否可以访问硬盘的0号LBA,若可以则执行S105。否则执行103;

S103:硬盘开电后,进入T级模式,再进入1级模式,清除SMART表。

S104:回到T级模式,清除G表;

S105:回到T级模式,初始化译码表;

S106:回到T级模式,清除NG-list。

所述S106中具体为:

查找NG-list表所在位置;

查找NG-list表需调用函数:FdNGlist()

将NG-list表前2个字节修改为0,保存并覆盖原始NG-list表地址。

作为优选,所述S2的详细步骤如下:

S201:扫描硬盘,使用二分查找算法,查找硬盘坏点则执行S202;

S202:获取缓存信息,找到Default Diag Rd Buf位置,判断Default Diag Rd Buf的BytesPerBlk是否为1040,若是则执行S203;否则转到204;

所述获取缓存信息需调用函数:

S203:将S202获得的值除以8后执行S204;

S204:记录获得的LBA数值大小;

S205:进入2级模式,将扫描得到的LBA数值换算十六进制,使用2级模式下执行F指令,加入G表。

S206:使用m指令对硬盘进行重建译码表。

与现有技术相比本发明的优点在于:能准确快速的扫描硬盘内坏点,可修复512Kb的硬盘也可以修复4K技术的硬盘。还可以解决不识别硬盘的故障问题;修复成功率高,且修复速度快,效率高。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。

一种修复希捷硬盘扇区前好后坏的方法,包括以下步骤:

S1:硬盘在认盘状态下,清除NG-LIST;

S2:按顺序扫描硬盘坏点,扫到一个坏点就将坏点加入G表,并重建;

S3:判断是否完成整个硬盘的查找,若完毕则结束,否则转到S2。

作为优选,所述S1的详细步骤如下:

S101:判断硬盘参数状态是否就绪,若就绪则执行S102,若未就绪则执行S105;

所述判断参数状态需调用函数:

Bool isbusy=ChekDiskStateBusy();//检测硬盘状态

If(isbusy==false)exit;//退出

S102:判断是否可以访问硬盘的0号LBA,若可以则执行S105。否则执行103;

S103:硬盘开电后,进入T级模式,再进入1级模式,清除SMART表。

S104:回到T级模式,清除G表;

S105:回到T级模式,初始化译码表;

S106:回到T级模式,清除NG-list。

所述S106中具体为:

查找NG-list表所在位置;

查找NG-list表需调用函数:FdNGlist()

将NG-list表前2个字节修改为0,保存并覆盖原始NG-list表地址。

作为优选,所述S2的详细步骤如下:

S201:扫描硬盘,使用二分查找算法,查找硬盘坏点则执行S202;

S202:获取缓存信息,找到Default Diag Rd Buf位置,判断Default Diag Rd Buf的BytesPerBlk是否为1040,若是则执行S203;否则转到204;

所述获取缓存信息需调用函数:

S203:将S202获得的值除以8后执行S204;

S204:记录获得的LBA数值大小;

S205:进入2级模式,将扫描得到的LBA数值换算十六进制,使用2级模式下执行F指令,加入G表。

S206:使用m指令对硬盘进行重建译码表。

上述所调用的函数方法具体如下:

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1