缺陷硬盘的数据恢复设备和恢复方法
技术领域:
本发明涉及计算机系统的数据恢复领域,特别涉及存在缺陷的存储媒介进行数据的恢复,具体是缺陷硬盘的数据恢复设备和恢复方法。
背景技术:
硬盘数据的保存,特别是信息安全领域中硬盘数据的保存是十分重要的,一旦硬盘数据丢失,将会造成巨大的、甚至是无法挽回的损失。而数据丢失的原因可以大致分为:逻辑问题和物理问题。逻辑问题即人为操作失误,如误删除,误格式化;病毒;软件配置信息丢失;忘记密码等。物理问题即固件信息丢失;磁盘异常;坏道;伺服信息缺陷等。对于逻辑问题造成的数据丢失,采用逻辑恢复即软件的方式进行处理,在目前已经非常普遍,如FinalData、EasyRecovery数据恢复软件等,有着不错的效果。但这些软件都无法在有缺陷的存储媒介中实现运用。因此,当硬盘出现物理问题时,单纯使用软件的方法就很难将数据恢复,造成重要数据无法找回。目前市场上急需处理效果佳,操作、移动、连接方便,可在多台PC机上使用的硬盘数据恢复设备以及与恢复设备配套的方法,但目前还未见报导。
发明内容:
本发明的目的是提供一种硬盘发生物理损坏、数据丢失的恢复设备和恢复方法。采用这种设备和与之配套的方法,可将各种损坏硬盘有效恢复。
本发明的基本思路是,所有的读/写操作都必须经过数据指南针控制器,由数据指南针控制器来决定是从缺陷盘还是从影子盘上获取数据。数据恢复设备负责将缺陷盘数据读出,在影子盘上建立影子,并通过USB接口和PC机相连接。在数据指南针中建立专门为缺陷硬盘提供电源的双精度可编程电源,防止缺陷硬盘的损坏。软件设置为底层控制软件和上层数据恢复操作软件,底层控制软件是专门针对硬件的控制程序,必须同数据指南针硬件设备配套才能正确使用。上层数据恢复软件是操作方便的逻辑恢复配套工具,支持对大多数常用文件内容的预览。同时,影子盘作为直接同PC主机相连接的辅助数据恢复工具,影子盘不直接作为缺陷硬盘的镜像盘,而是同缺陷硬盘建立快速索引的影子数据。
本发明的目的是这样达到的:一种缺陷硬盘的数据恢复设备,其特征在于:恢复设备由数据指南针控制器和影子硬盘共同构成,影子硬盘连接在PC计算机上,所述数据指南针控制器中的系统主处理器通过高速USB接口与PC计算机双向连接,通过UDMA高速IDE接口与缺陷硬盘双向连接;系统主处理器双向连接有输入输出控制器接口、串口通信控制器接口,在系统主处理器上连接有双精度可编程电源专门为缺陷硬盘供电,该双精度可编程电源输出端连接到输出电源接口再连接到缺陷硬盘,同时输出到电流电压温度监控器的输入端,电流电压温度监控器的输出端连接到系统主处理器的输入端。
所述系统主处理器是单片机为核心的控制系统,包括调试控制电路、复位处理电路、震荡电路、滤波电路、控制面板的LED电路、以及动画格式flash电路和同步动态随机存储sdram电路。
所述双精度可编程电源是对电流取样、电压取样控制的电路,其控制模块为LM2596电源管理芯片。
一种缺陷硬盘的数据恢复方法,其特征在于:与数据恢复设备配套的软件包括底层控制软件和上层数据恢复操作软件,底层控制软件对恢复设备进行控制,底层软件的控制程序包括温度控制程序、电压控制程序。上层数据恢复软件程序包括数据指南针执行程序、数据读取程序、数据写入程序和跳过程序。
温度控制的具体程序是:检测当前温度是否大于设定的高位值,是,命令风扇吹强风,否,检查温度是否小于设定的低位值,是,风扇停止吹风,否,风扇吹若风。电压控制的具体程序是:检测缺陷硬盘电源是否为设定的电压值,否,检查是否大于或等于设定值的10%,是,停止给缺陷硬盘供电,否,继续检测。
数据指南针执行程序是:获取线性逻辑块地址LBA(Logical Block Address)值的范围,从影子盘上读取索引表,检查该扇区的索引状态,建立影子没有?是,从影子盘直接读取数据,否,从缺陷硬盘读取数据,成功读取数据后,修改影子盘中索引区的对应位置的状态,同时在影子数据区域建立影子,读取缺陷盘失败,将该扇区设置为0×40返回,检查是否所有的扇区均已经读完,否,再次读取索引表继续上面的流程,是,结束。
数据读取程序是:数据读取开始,检查影子功能是否开启,是,读取索引块LBA值的状态,状态为“1”,从影子盘对应位置读取数据到缓冲区,直至返回,若索引块LBA值的状态不为“1”,检查读缺陷盘是否开启,是,直接从缺陷盘对应位置读取数据,读取数据成功,修改影子盘索引块中LBA对应位置的状态为“1”,拷贝数据到数据影子对应区域和缓冲区,返回。
数据写入程序是:写入程序开始,开启影子功能,开启,修改索引块中的状态,写数据到影子数据区,返回;若影子功能未开启,检查写缺陷盘是否开启,是,写数据到缺陷硬盘,否,返回检查。
数据跳过程序是:修改数据开始,检查影子功能是否开启,是,在创建影子Creating Shadow中修改索引块中的状态,写入数据到影子数据区,若影子功能为开启,写入缺陷盘的功能是否开启,是,写数据到缺陷硬盘,直到返回,写入缺陷数据盘功能未开,返回到开始。
本发明的优点是:
1、不但能够完成以前的恢复工具软件可以完成的逻辑问题损坏硬盘的数据修复功能,包括误删除、误格式化、误GHOST等,还能对物理性损坏的缺陷硬盘安全修复,同时使用、操作、移动、连接十分方便,可在各种PC机上通用。
2、在数据指南针控制器中,专门设置了独立的缺陷硬盘电源,避免缺陷硬盘被电压过高烧毁硬盘,起到了很好的保护作用。
3、在物理电路接口上专业针对有缺陷硬盘,在电平控制的持续控制上进行了优化设置,可读取普通IDE无法读取的数据,以此实现可获取有缺陷硬盘数据的前提。
4、数据指南针控制器将缺陷硬盘的数据读出,并在影子盘上建立影子,将已经读取过的扇区镜像到外接的“影子”硬盘上面,在接下来任何对这些扇区的读取请求都会被发送到“影子”硬盘的对应影子扇区执行,在数据恢复过程中对缺陷硬盘扇区只会进行一次读写操作。最大限度的减少对缺陷硬盘数据盘的读操作,有效防止磁头和扇区的二次损坏。
5、优化的软件设计,支持对大多数常用文件内容的预览,操作简单,效果佳,大大提高数据恢复的成功率,减少数据恢复的成本和时间。
附图说明:
图1是本缺陷硬盘的数据恢复设备结构方框图。
图2是双路高精度可编程电源及电流电压温度监控的电路图。
图3是复位处理器的电路图。
图4是振荡电路图。
图5是调试控制电路图。
图6是滤波电路图。
图7是温度控制程序图。
图8是电压控制程序图。
图9是数据指南针的执行命令程序图。
图10是数据指南针读取数据程序图。
图11是数据指南针写入数据的程序图。
图12是跳过程序流程图。
具体实施方式:
附图给出了本发明的一个具体实施例。
参见附图。
缺陷数据恢复设备由数据指南针控制器、PC计算机、影子硬盘共同构成。影子技术是本发明的独特技术。影子硬盘连接在PC计算机上。
数据指南针控制器以系统主处理器为核心,主处理器是单片机。主处理器通过高速USB接口与PC计算机双向连接,还通过UDMA高速IDE接口与缺陷硬盘双向连接,在主处理器设置了包括调试控制电路、复位处理电路、震荡电路、滤波电路、控制面板的LED电路等构成一个完整的控制系统。系统主处理器还连接有输入输出控制器接口、串口通信控制器接口方便使用者连接。
在系统主处理器上有双精度可编程电源专门为缺陷硬盘供电,对电压、电流进行采样分析,主处理器对两路电源进行有效控制。在本实施例中,设定的电压值是5V和12V,只要其中的一组超过设定值的10%,则停止给缺陷硬盘供电,切实保证硬盘的安全。
参见图7。主处理器还对数据指南针的温度进行检测,当检测到电流电压温度发生异常时,采用风扇吹强风、吹弱风和停止吹风的方式控制温度。本例,温度高于50℃风扇吹强风,低于45℃停止吹风,45~50℃之间吹弱风。
本数据恢复的软件包括底层控制软件和上层数据恢复操作软件。底层控制软件对恢复设备工作状态进行控制,上层软件是操作软件。所有的读/写操作都必须经过数据指南针控制器,由数据指南针控制器来决定是从缺陷盘还是从影子盘上获取数据。底层软件包括温度控制程序、电压控制程序。上层数据恢复软件程序包括数据指南针执行程序、数据读取程序、数据写入程序和跳过程序。
参见附图9。数据指南针执行程序是:获取线性逻辑块地址LBA(LogicalBlock Address)值的范围,从影子盘上读取索引表,检查该扇区的索引状态,建立影子没有?是,从影子盘直接读取数据,否,从缺陷硬盘读取数据,成功读取数据后,修改影子盘中索引区的对应位置的状态,同时在影子数据区域建立影子,读取缺陷盘失败,将该扇区设置为0×40返回,检查是否所有的扇区均已经读完,否,再次读取索引表继续上面的流程,是,结束。从程序中可以看出,数据指南针不需要进行强力复制并创建镜像盘的,只在读数据成功时才建立相应的影子,对不能成功读取的数据做相应的特殊处理。
参见附图10。读取数据的流程首先是检查影子功能是否开启。若影子功能打开,则数据指南针控制器会先读取影子盘中索引块中的LBA值对应位置的状态,再根据所获取的状态值,做出相应的判断:若状态值为“1”表示已经在影子盘中建立了影子,则可以直接从影子盘获取数据,而不必再读取缺陷硬盘上的数据;若状态值为“0”表示还没有在硬盘中建立相应的影子,就不能从影子盘上读取数据,则只能通过数据指南针控制器从缺陷硬盘上读取数据。此时,数据指南针控制器必须检查读取缺陷硬盘的功能是否打开,若读取缺陷硬盘数据功能并未开启,那么数据指南针控制器返回的缓冲区数据全部都是以0x40填充的数据,但0x40不是真实的获取到缺陷硬盘的数据。这样做是为了不用启动磁盘扫描程序去扫描缺陷硬盘。对于读取缺陷硬盘数据成功的处理流程,要首先在影子盘的索引块中,找到LBA值对应的状态比特位,并将该状态位的值置为“1”,然后将读取成功的数据拷贝到影子磁盘的影子数据区域的对应位置,将读取成功的数据写入到缓冲区中并返回。若在影子功能未打开的情况下,数据指针控制器将会直接判断读取缺陷硬盘的功能是否开启,若未打开读取缺陷硬盘的数据的功能,则直接用0x40填充并返回;若已经将读取缺陷硬盘数据的功能打开,那么将按照读取缺陷硬盘数据的流程来执行,同时直接将读取的数据写入到缓冲区并返回。
从附图11可知,在数据写入程序中,既可以实现对影子盘的写入数据,也可以实现对缺陷硬盘写入数据。只要是将影子功能打开,无论写数据到缺陷硬盘的功能是否开启,写流程就一定是直接将数据写到影子硬盘上:先将影子盘的索引块中对应LBA值的状态比特位修改为“1”,然后再将修改后的数据直接写入到影子数据区的对应位置。所以只要将影子功能开启,即使将写数据到缺陷硬盘的功能打开,数据指南针控制器不会将数据写到缺陷硬盘上去,而是直接将数据写到影子盘上,从而对缺陷硬盘起到了一定的保护作用。相应地若在影子功能关闭的情况下,不将写数据到缺陷硬盘的功能开启,同样地数据指南针可以对缺陷硬盘起到一定的保护作用,不会将数据写入到缺陷硬盘上。只有在影子功能关闭、同时将写数据到缺陷硬盘的功能打开,才能将修改的写数据到缺陷硬盘上。
参照附图12。跳过操作程序只有在读取数据功能开启的情况下,按键操作才会有效。数据读取跳过功能类似于一个程序中断操作。在读取缺陷硬盘数据的过程中,若发现读取的地方坏道特别多,并且很难成功读取,此时,执行跳过程序,数据指南针控制器将根据当前系统读取数据的buffer大小,来判断需要跳过多少个扇区(sector),并将这些扇区直接以0x40填充并返回,然后数据指南针控制器将从跳过的LBA值的后面开始按正常流程继续读取数据。若坏道特别多,可以继续执行该程序。数据读取跳过功能其实就是短暂屏蔽读取缺陷硬盘数据的功能,该功能的好处就是可以精确的只屏蔽有坏道的、不能正常读出数据的地方,所以数据读取跳过功能对读取有坏道区域的取舍是非常有用的。