发明内容
本发明的目的在于克服现有技术的不足,提供一种参数识别错误的修复方法,通过日志模块或磁道模块找出并回写02号参数模块,实现方式简单方便,避免了传统需要寻找硬盘型号相同,固件版本号相同以及硬盘容量相同的匹配盘进行模块拷贝,可行性高,同时增加了修复成功率。
本发明的目的是通过以下技术方案来实现的:一种参数识别错误的修复方法,所述方法应用于固态硬盘,所述方法包括以下步骤:
S1:读取硬盘,初步检测硬盘的状态,判断坏盘故障的类型;
S2:以日志模块存放的信息为依托,检索盘体日志模块,并根据日志模块存留数据生成新的02号参数模块;
S3:以模块信息与磁道地址的映射关系为依据,解析出02号参数模块的首位地址,从而生成新的02号参数模块;
S4:根据生成的模块数据,回写进硬盘。
2.根据权利要求1所述的一种参数识别错误的修复方法,其特征在于:在进行步骤S1之前,还包括一个检查步骤:
检查坏盘型号,核实该型号的坏盘在计算机上是否存有数据备份,若存有数据备份,则通过备份信息直接导入02号参数模块。
3.根据权利要求1所述的一种参数识别错误的修复方法,其特征在于:所述的步骤S2,它还包括以下几个步骤:
S201:读取盘体数据,从盘体中找到802E日志模块、802F日志模块和8032日志模块;
S202:检索802E日志模块、802F日志模块和8032日志模块中是否存有02号参数模块的日志信息;
S203:若检索到02号参数模块的日志信息,则通过存留的数据与02号参数模块的数据进行匹配,回写成新的02号参数模块。
4.根据权利要求1所述的一种参数识别错误的修复方法,其特征在于:所述的步骤S3,它还包括以下几个步骤:
S301:读取并扫描坏盘的所有磁道信息,检查有无坏道或不可读取的信息;
S302:通过编译器检索地址为524F5952的固定地址,若能找到该地址,则向后移两位即是02号参数模块的首位地址;
S303:根据检索到的02号参数模块首位地址,从磁道中提取该地址所对应的信息,并根据提取的残留信息,还原并重新生成新的02号参数模块。
本发明的有益效果是:本方法根据硬盘日志模块或磁道模块中存储的数据对硬盘进行恢复,整个过程简单方便,无需寻找硬盘型号相同,固件版本号相同以及硬盘容量相同的匹配盘进行模块拷贝,可行性高,同时也增加了修复的成功率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
在本发明的描述中,需要理解的是,术语“回写”仅用于描述目的,在本发明的描述中,除非另有明确规定和限定,术语“回写”可以理解为数据恢复,例如:“回写02号参数模块”是指将02号参数模块恢复到原始状态。
本发明实施例公开了一种参数识别错误的修复方法,该方法主要针对于固态硬盘,能够根据硬盘中存储的数据对硬盘进行修复,从根本上解决硬盘的参数错误带来的影响。
如图1所示,图1是本发明实施例公开的一种参数识别错误的修复方法的流程示意图,其中,图1所示的方法可以应用于采用磁盘阵列作为存储系统的装置中,本发明实施例不做限定。
如图1所示,该方法包括以下步骤:
S1:读取硬盘,初步检测硬盘的状态,判断坏盘故障的类型;
在本实施例中,采用磁盘阵列作为存储系统的存储装置中,初步读取即检测硬盘的状态,以及判断硬盘故障类型的过程。
进一步地,举例来说,一块硬盘的外观一切正常,但硬盘容量由100GB恶意篡改成250GB。在初始状态,目测法和旁人的口述法是根本无法判断硬盘的故障类型和级别的,这个时候就需要对硬盘进行初步读取,检测硬盘的固件、磁道等是否存在问题,若并无问题,则访问02号参数模块的底层结构,检测硬盘的型号、序列号、容量等是否与硬盘标签上的一致。由于02号参数模块是ID模块,是不能随意更改的,只要有不一致的地方,则可断定02号参数模块被人恶意刷写过。
S2:以日志模块存放的信息为依托,检索盘体日志模块,并根据日志模块存留数据生成新的02号参数模块;
具体地,硬盘中存有上百个功能模块,其中包括参数模块和日志模块,参数模块即存有硬盘型号、序列号和容量的模块,所述日志模块即存有SMART模表及其分支,用于记录和识别其他模块的信息。
在本实施例中,日志模块中存有各个功能模块的日志记录,02号参数模块在802E日志模块、802F日志模块和8032日志模块中可能存在日志记录,运用编辑器检索日志模块中的数据记录,若能找到相应记录,利用02号参数模块的日志记录信息匹配原02号参数模块的数据信息,从而生成新的02号参数模块。
S3:以模块信息与磁道地址的映射关系为依据,解析出02号参数模块的首位地址,从而生成新的02号参数模块;
具体地,硬盘中存放有一个重要模块,即01号模块,该模块存放硬盘的整体分段。一般情况下,硬盘将整个有效LBA数据存放区分成15-21个段,需要哪个段存放的东西就直接从这个段的起始位置开始记录或读取,而01号模块即是存放这个段表的开始和结束位置信息。
具体地,通过二进制编译器读取所有磁道信息,首先核查是否有无坏道或无法读取的地址段。若硬盘无坏道,也无无法读取的磁道段,则通过二进制编译器检索固定地址:524F5952。若该地址能被访问,则在编译器内右移两位便是02号参数模块的首地址,找到02号参数模块的首地址后再根据模块大小找到模块的尾地址,从而解析还原出02号参数模块。
S4:根据检索到的数据,回写02号参数模块。
具体地,作为一种可选的实施方法,该步骤在步骤S2或步骤S3得以实现时,方可进行。所述的回写02号参数模块,即通过盘体内记录的02号参数模块的记录信息,如02号参数模块的型号、序列号和硬盘容量等,这些处于未篡改之前的记录信息与02号参数模块相匹配,从而还原出新的02号参数模块,再回写进硬盘。
在本实施例中,图2为本发明从盘体生成参数模块的流程图,具体地,图2为图1流程图的补充。
如图2所示,该方法还包括有以下步骤:
S201:读取坏盘数据,从盘体数据中找到802E日志模块、802F日志模块和8032日志模块;
S202:检索802E日志模块、802F日志模块和8032日志模块中是否存有02号参数模块的日志信息;
所述的802E日志模块、802F日志模块和8032日志模块中可能存储有02号参数模块的型号、序列号和容量信息,只要找到该系列信息,即可与02号参数模块内部的数据信息匹配,从而生成新的02号参数模块。
S203:若检索到02号参数模块的日志信息,则通过存留的数据回写成新的02号参数模块。
在本实施例中,图3为本发明从磁道生成参数模块的流程图,具体地,图3为图1的补充。
如图3所示,该方法还包括有以下步骤:
S301:读取并扫描坏盘的所有磁道信息,检查有无坏道或不可读取的信息;
S302:通过编译器检索地址为524F5952的固定地址,若能找到该地址,则向后移两位即是02号参数模块的首位地址;
S303:根据检索到的02号参数模块首位地址,从磁道中提取该地址所对应的信息,并根据提取的残留信息,还原并重新生成新的02号参数模块。
具体地,检索到02号参数模块的首位地址,即可从02号参数模块的首末位地址进行解析,获得02号参数模块的原始记录,从而解析出新的02号参数模块。