一种硬盘隐藏区的解除方法、装置和系统的制作方法

文档序号:6385842阅读:975来源:国知局
专利名称:一种硬盘隐藏区的解除方法、装置和系统的制作方法
技术领域
本发明属于硬盘隐藏区解除的领域,特别涉及一种可还原的硬盘隐藏区的解除方法、装置和系统。
背景技术
高级技术附件规格(AdvancedTechnology Attachment,ΑΤΑ)标准从 1"4年至今共经历了 7代标准,ATA接口发展到ΑΤΑ-6时候,这种并行接口的电缆属性、连接器和信号协议遇到了很大的技术瓶颈,2002年最新的ΑΤΑ-7标准提出后并没有得到广泛应用,只有迈拓公司推出一系列ΑΤΑ-7标准的硬盘,而其它厂商则转向串行高级技术附件规格(SerialAdvanced Technology Attachment, SATA)接口规范,SATA 是由 DELL、IBM、Intel、Maxtor、Quantum, Seagate等公司合作开发用于取代并行ATA接口的技术,兼容ATA协议规范,目前已经发展到第三代SATA。2001 年,根据 ATA-4 标准,硬盘开始引入 HPA(Host Protected Area)特性。ΗΡΑ为通过用ATA命令直接把硬盘后部保护起来的一块区域,不仅操作系统无法看到ΗΡΑ,甚至连主板BIOS都无法读取HPA中的数据。只要不用ATA协议中定义的特别命令打开HPA,就不可能用普通方法对HPA进行读写操作。可以通过发送ATA指令“SET MAX ADDRESS”将硬盘分为用户可访问区域或受限区域,即解除HPA和设置ΗΡΑ。其中,解除HPA有两种方法,一种是临时解除ΗΡΑ,即执行“SET MAX ADDRESS”指令前把指令的Count第O位置为1,解除后用户可访问HPA,硬盘掉电或硬件复位后,HPA自动还原,下次读写硬盘需要再次解除才能访问;另一种是彻底解除HPA,即执行“SET MAX ADDRESS”指令前把指令的Count第O位置为0,解除后用户可访问该HPA,硬盘掉电或硬件复位后,HPA消失,需要重新设置才能还原。而且,“SET MAX ADDRESS”指令只能发送一次,如果要再发送,则需要硬盘掉电再上电或硬件复位。在ATA-6 标准中,硬盘引入了 DCO (Device Configuration Overlay)特性。DCO特性主要可以允许设备厂商为PC (Personal Computer)制作商提供不同型号但容量基本一样的硬盘,使得每个硬盘可以有完全相同的可用扇区数。这使得硬盘制造商在硬盘制造方面更加灵活,同时与其他系统供应商保持一致,而且在DCO基础上还可以同时设置HPA,而不影响HPA特性。只要不用ATA协议中定义的特别命令解除DC0,就不可能用普通方法对此区域进行读写操作。可以通过向硬盘发送ATA指令“DEVICE CONFI⑶RATION RESTORE”来解除DC0,解除后需要发送“DEVICE CONFI⑶RATION SET”来设置硬盘实际可用扇区数才能恢复DCO。为保证取证工作的司法有效性与数据完整性, 取证人员一般在计算机和硬盘之间串接一个只读保护设备,保证硬盘的数据只被读取,不被写入。但是设置DCO的ATA指令“DEVICE CONFI⑶RATION SET”是写操作,无法通过只读保护设备对硬盘进行操作,无法还原DC0,因此会改变硬盘的可见容量大小。

发明内容
本发明的目的是能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。本发明提出一种硬盘隐藏区的解除方法,执行所述方法的装置连接于只读保护设备与硬盘之间,所述方法包括
获取硬盘信息;
根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;
将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;
若硬盘包括硬盘隐藏区,以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;
以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。优选的,本方法还包括将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则选择是否进行硬盘隐藏区的还原。其中,所述硬盘隐藏区为HPA区域和/或DCO区域。其中,所述获取硬盘信息为通过发送IDENTIFY DEVICE指令获取IDENTIFY DEVICEDATA,共256字。所述获取硬盘隐藏区最大地址包括获取HPA区域的最大地址和/或获取DCO区域的最大地址,其中,通过发送READ NATIVE MAX ADDRESS指令获取HPA区域的最大地址 THE NATIVE MAX ADDRESS,共 4 字;通过发送 DEVICE CONFI⑶RATION IDENTIFY指令获取DEVICE CONFI⑶RATION IDENTIFY DATA,所述DCO区域的最大地址为DEVICECONFI⑶RATION IDENTIFY DATA 的第 3 6 字。其中,所述硬盘可见容量的最大地址是通过IDENTIFY DEVICE DATA的第100-103字减I计算出来的。优选的,所述硬盘隐藏区校验位为IDENTIFY DEVICE DATA的第83字第11位和第82字第10位。优选的,所述第一设定参数为IDENTIFY DEVICE DATA的第7字第8位,根据所述第一设定参数确定用28-bit指令方式发送指令或用48-bit方式发送指令。所述第二设定参数为IDENTIFY DEVICE DATA的第27 46字和第10 19字,分别代表硬盘的盘符和序列号。优选的,若隐藏区包括HPA区域但不包括DCO区域时,对HPA区域的解除包括临时解除HPA区域和彻底解除HPA区域。特别的,所述方法是基于FPGA控制芯片来控制的方法。本发明还提出一种硬盘隐藏区的解除装置,所述装置连接于只读保护设备与硬盘之间,包括,
获取单元,用于获取硬盘信息; 第一识别单元,用于根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;
第二识别单元,用于将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;
解除单元,用于以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;
还原单元,用于以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。优选的,所述装置还包括判断单元,用于将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则选择是否进行硬盘隐藏区的还原。其中,所述硬盘隐藏区为HPA区域和/或DCO区域。其中,所述获取单元获取硬盘信息为通过发送IDENTIFY DEVICE指令获取IDENTIFY DEVICE DATA,共256字。所述第一识别单元获取硬盘隐藏区最大地址包括获取HPA区域的最大地址和/或获取DCO区域的最大地址,其中,通过发送READ NATIVE MAXADDRESS指令获取HPA区域的最大地址THE NATIVE MAX ADDRESS,共4字;通过发送DEVICECONFI⑶RATION IDENTIFY 指令获取 DEVICE CONFI⑶RATION IDENTIFY DATA,所述 DCO 区域的最大地址为DEVICE CONFI⑶RATION IDENTIFY DATA的第3 6字。其中,所述硬盘可见容量的最大地址是通过IDENTIFY DEVICE DATA的第100-103字减I计算出来的。优选的,所述硬盘隐藏区校验位为IDENTIFY DEVICE DATA的第83字第11位和第82字第10位。优选的,所述第一设定参数为IDENTIFY DEVICE DATA的第7字第8位,根据所述第一设定参数确定用28-bit指令方式发送指令或用48-bit方式发送指令。所述第二设定参数为IDENTIFY DEVICE DATA的第27 46字和第10 19字,分别代表硬盘的盘符和序列号。优选的,当隐藏区包括HPA区域但不包括DCO区域时,所述解除单元执行的对HPA区域的解除包括临时解除和彻底解除。特别的,所述装置还包含FPGA控制芯片,用于控制所述各单元的执行。本发明另外提出一种硬盘隐藏区的解除系统,包括本发明所述的装置,还包括 第一 SATA控制器,用于将所述装置与上位机连接,接收上位机发送的数据
并传送给所述装置;
第二 SATA控制器,用于将所述装置与SATA硬盘连接,所述装置通过第二 SATA控制器控制SATA硬盘;
FLASH控制器,用于在存储FLASH数据时,将所述装置传送的FLASH数据存储到FLASH存储芯片对应的存储位置;在读取FLASH数据时,读取所述装置指定存储位置的FLASH存储芯片中的FLASH数据传送给所述装置;
SATA硬盘电源控制器,用于将所述装置的SATA硬盘电源通断信号转成SATA 硬盘电源控制模块所需的信号;
按键和显示屏控制器,用于驱动按键和显示屏,将所述装置传送的信息在 显示屏上显示,将用户按下的按键命令传送给所述装置;
FLASH存储芯片,用于存储所述装置获得的SATA硬盘信息;
配置存储芯片,用于存储FPGA的配置程序,上电时完成对FPGA控制芯片 的配置;
SATA硬盘电源控制模块,用于控制SATA硬盘电源的通断状态;
按键,用于用户输入命令;
显示屏,用于显示所述装置的工作状态及硬盘状态。通过本发明提供的方法、装置和系统,能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。


图1是本发明一种硬盘隐藏区的解除方法实施例的流程 图2是本发明一种硬盘隐藏区的解除装置实施例的示意 图3是本发明一种硬盘隐藏区的解除装置另一实施例的示意 图4是本发明一种硬盘隐藏区的解除系统实施例的示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。参照图1,示出了本发明硬盘隐藏区的解除方法实施例的流程图,将执行本发明方法的装置连接于只读保护设备与硬盘之间,再将只读保护设备连接于计算机。所述方法包括如下步骤,SI,获取硬盘信息;S2,根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;S3,将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;S4,若硬盘包括硬盘隐藏区,以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;S5,以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。其中,所述硬盘隐藏区为HPA区域和/或DCO区域。通过本发明提供的方法,能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。具体的,在SI中,获取硬盘信息为通过发送ATA指令IDENTIFY DEVICE获取IDENTIFY DEVICE DATA,共256字,从中可以获取硬盘属性、硬盘支持的ATA指令等信息。具体的,在S2中,根据硬盘信息包含的硬盘隐藏区校验位IDENTIFY DEVICE DATA的第83字第11位i和第82字第10位j来识别硬盘是否支持硬盘隐藏区指令,即HPA指令和/或DCO指令。设定硬盘可容量最大地址为X,HPA最大地址为Y,DCO最大地址为Z,当ij=00b时,硬盘不支持HPA指令和DCO指令,赋值Y = X1Z = X ;当i j=01b时,硬盘支持HPA指令但不支持DCO指令,发送ATA指令获取HPA区域的最大地址Y,同时赋值Z = Y;当i j=10b时,则硬盘不支持HPA指令但支持DCO指令,发送ATA指令获取DCO区域的最大地址Z,同时赋值Y = X ;当1_=1 Ib时,则硬盘同时支持HPA指令和DCO指令,发送ATA指令获取HPA区域的最大地址Y和DCO区域的最大地址Z。具体的,通过发送ATA指令READNATIVE MAX ADDRESS获取HPA区域的最大地址THE NATIVE MAX ADDRESS,共4字;通过发送ATA 指令 DEVICE CONFI⑶RATION IDENTIFY 获取 DEVICE CONFI⑶RATION IDENTIFY DATA,共256字,所述DCO区域的最大地址为DEVICE CONFI⑶RATION IDENTIFY DATA的第3 6字;所述硬盘可见容量的最大地址是通过IDENTIFY DEVICE DATA的第100-103字减I计算出来的。具体的,在S3中,将上述X,Y,Z进行比较来识别硬盘是否包含HPA和/或DC0。当X=Y且Y=Z时,硬盘不包含HPA和DCO ;当Χ〈Υ且Y=Z时,硬盘有包含DCO ;当X=Y且Υ〈Ζ时,硬盘包含HPA ;当Χ〈Υ且Υ〈Ζ时,硬盘包含HPA和DCO。具体的,在S4中,所述第一设定参数为IDENTIFY DEVICE DATA的第7字第8位,也就是说,根据IDENTIFY DEVICE DATA的第7字第8位确定用28_bit指令方式发送指令或用48-bit方式发送指令。若硬盘包含HPA区域但不包含DCO区域时,发送HPA解除指令进行HPA区域的解除;若硬盘包含DCO区域但不包含HPA区域时,发送DCO解除指令进行DCO区域的解除;若硬盘包括HPA区域和DCO区域时,以根据所述第一设定参数确定的指令发送方式先发送HPA解除指令进行HPA区域的解除,再发送DCO解除指令进行DCO区域的解除。具体的,在S5中,同样是以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原。若硬盘 包含HPA区域但不包含DCO区域时,发送HPA还原指令进行HPA区域的还原;若硬盘包含DCO区域但不包含HPA区域时,发送DCO还原指令进行DCO区域的还原;若硬盘包含HPA区域和DCO区域时,先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,以保证硬盘内电容有足够的时间放电且可让硬盘的盘片停止转动以保护硬盘,然后再以根据第一设定参数确定的指令发送方式先发送DCO还原指令进行DCO区域的还原,再发送HPA还原指令进行HPA区域的还原。其中,断掉的电源和上电的电源可使用5V端电源,也可同时使用5V端电源和12V端电源。优选的,上述方法还包括如下步骤将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则可选择是否进行硬盘隐藏区的还原。其中,所述第二设定参数为IDENTIFY DEVICE DATA的第27 46字和第10 19字,分别代表硬盘的盘符和序列号。也就是说,将获取的硬盘盘符和序列号与存储的上个硬盘的盘符和序列号进行比对,以判断在工作过程中出现异常断电等情况下,再次接入的硬盘是否为断电之前的硬盘。优选的,若隐藏区包括HPA区域但不包括DCO区域时,对HPA的解除包括临时解除HPA区域和彻底解除HPA区域。其中,临时解除HPA区域为执行SET MAX ADDRESS指令前把指令的Count第O位置为1,解除后用户可访问该HPA区域,硬盘掉电或硬件复位后,HPA区域还存在,但需要再次解除才能访问;彻底解除HPA区域为执行SET MAX ADDRESS指令前把指令的Count第O位置为0,解除后用户可访问该HPA区域,硬盘掉电或硬件复位后,HPA区域消失,需要重新设置才能还原HPA区域。优选的,所述方法是基于FPGA控制芯片来控制的方法。本发明还提出一种与上述硬盘隐藏区的解除方法相对应的装置,将所述装置连接于只读保护设备与硬盘之间,再将只读保护设备连接于计算机。参看图2,为本发明的硬盘隐藏区的解除装置实施例的示意图,所述装置包括,获取单元21,用于获取硬盘信息;第一识别单元22,用于根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;第二识别单元23,用于将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;解除单元24,用于以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;还原单元25,用于以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。其中,所述硬盘隐藏区为HPA区域和/或DCO区域。通过本发明提供的装置,能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。优选的,参看图3,所述装置还包括判断单元26,用于将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则可选择是否进行硬盘隐藏区的还原。其中,所述第二设定参数为IDENTIFY DEVICE DATA的第27 46字和第10 19字,分别代表硬盘的盘符和序列号。也就是说,将获取的硬盘盘符和序列号与存储的上个硬盘的盘符和序列号进行比对,以判断在工作过程中出现异常断电等情况下,再次接入的硬盘是否为断电之前的硬盘。具体的,在获取单元21中,获取硬盘信息为通过发送IDENTIFY DEVICE指令获取IDENTIFY DEVICE DATA,共256字,从中可以获取硬盘属性、硬盘支持的ATA指令等信息。具体的,在第一识别单元22中,根据硬盘信息包含的硬盘隐藏区校验位IDENTIFYDEVICE DATA的第83字第11位i和第82字第10位j来识别硬盘是否支持硬盘隐藏区指令,即HPA指令和/或DCO指令。设定硬盘可容量最大地址为X,HPA区域的最大地址为Y,DCO区域的最大地址为Z,当ij=00b时,硬盘不支持HPA指令和DCO指令,赋值Y = X,Z = X ;当Ij=Olb时,硬盘支持HPA指令但不支持DCO指令,发送ATA指令获取HPA区域的最大地址Y,同时赋值Z = Y ;iij=10b时,则硬盘不支持HPA指令但支持DCO指令,发送ATA指令获取DCO区域的最大地址Z,同时赋值Y = X ;当1_=1 Ib时,则硬盘同时支持HPA指令和DCO指令,发送ATA指令获取HPA区域的最大地址Y和DCO区域的最大地址Z。具体的,通过发送ATA 指令 READ NATIVE MAX ADDRESS 获取 HPA 区域的最大地址 THE NATIVE MAX ADDRESS,共 4 字;通过发送 ATA 指令 DEVICE CONFI⑶RATION IDENTIFY 获取 DEVICE CONFI⑶RATIONIDENTIFY DATA,共 256 字,所述 DCO 区域的最大地址为 DEVICE CONFI⑶RATION IDENTIFYDATA的第3 6字;所述硬盘可见容量的最大地址是通过IDENTIFY DEVICE DATA的第100-103字减I计算出来的。具体的,在第二识别单元23中,将上述X,Y,Z进行比较来识别硬盘是否包含HPA区域和/或DCO区域。当X=Y且Y=Z时,硬盘不包含HPA区域和DCO区域;当X〈Y且Y=Z时,硬盘有包含DCO区域;当X=Y且Υ〈Ζ时,硬盘包含HPA区域;当Χ〈Υ且Υ〈Ζ时,硬盘包含HPA区域和DCO区域。具体的,在解除单元24中,所述第一设定参数为IDENTIFY DEVICE DATA的第7字第8位,也就是说,根据IDENTIFY DEVICE DATA的第7字第8位确定用28_bit指令方式发送指令或用48-bit方式发送指令。若硬盘包含HPA区域但不包含DCO区域时,发送HPA解除指令进行HPA区域的解除;若硬盘包含DCO区域但不包含HPA区域时,发送DCO解除指令进行DCO区域的解除;若硬盘包括HPA区域和DCO区域时,以根据所述第一设定参数确定的指令发送方式先发送HPA解除指令进行HPA区域的解除,再发送DCO解除指令进行DCO区域的解除。具体的,在还原单元25中,同样是以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原。若硬盘包含HPA区域但不包含DCO区域时,发送HPA还原指令进行HPA区域的还原;若硬盘包含DCO但不包含HPA时,发送DCO还原指令进行DCO区域的还原;若硬盘包含HPA区域和DCO区域时,先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,以保证硬盘内电容有足够的时间放电且可让硬盘的盘片停止转动以保护硬盘,然后再以根据第一设定参数确定的指令发送方式先发送DCO还原指令进行DCO区域的还原,再发送HPA还原指令进行HPA区域的还原。其中,断掉的电源和上电的电源可使用5V端电源,也可同时使用5V端电源和12V端电源。优选的,若隐藏区包括HPA区域但不包括DCO区域时,解除单元24对HPA的解除包括临时解除HPA区域和彻底解除HPA区域。其中,临时解除HPA区域为执行SET MAXADDRESS指令前把指令的Count第O位置为1,解除后用户可访问该HPA区域,硬盘掉电或硬件复位后,HPA区域还存在,但需要再次解除才能访问;彻底解除HPA区域为执行SET MAXADDRESS指令前把指令的Count第O位置为0,解除后用户可访问该HPA区域,硬盘掉电或硬件复位后,HPA区域消失,需要重新设置才能还原HPA区域。优选的,所述 装置还包含FPGA控制芯片作为主控芯片,用于控制所述各单元的执行。所述FPGA控制芯片的配置可选用主动配置方式、被动配置方式或JTAG配置方式。通过FPGA控制芯片实现对SATA硬盘及满足SATA协议设备的控制,可提高取证速度,且可减少PCB(Printed Circuit Board)面积,实现设备小型化,更便于携带,同时只有FPGA需要编写程序,升级操作简单。如图4所示,为一种硬盘隐藏区的解除系统实施例的示意图,所述系统包括上文所述的硬盘隐藏区的解除装置,同时还包括第一 SATA控制器31-1,作为从设备控制器,用于将所述装置30通过只读保护设备41与计算机40连接,接收计算机40发送的数据并传送给所述装置30 ;第二 SATA控制器31-2,作为主设备控制器,用于将所述装置30与SATA硬盘50连接,所述装置30通过第二 SATA控制器31-2控制SATA硬盘50 ;FLASH控制器33,用于在存储FLASH数据时,将所述装置30传送的FLASH数据存储到FLASH存储芯片60对应的存储位置;在读取FLASH数据时,读取所述装置30指定存储位置的FLASH存储芯60片中的FLASH数据传送给所述装置30 ;SATA硬盘电源控制器34,用于将所述装置30的SATA硬盘电源通断信号转成SATA硬盘电源控制模块70所需的信号;按键和显示屏控制器35,用于驱动按键80和显示屏90,将所述装置30传送的信息在显示屏90上显示,将用户按下的按键命令传送给所述装置30 ;FLASH存储芯片60,用于存储所述装置30获得的SATA硬盘信息;配置存储芯片100,用于存储FPGA的配置程序,上电时完成对FPGA控制芯片的配置;SATA硬盘电源控制模块70,用于控制SATA硬盘电源的通断状态;按键80,用于用户输入命令;显示屏90,用于显示所述装置30的工作状态及硬盘状态。其中,FLASH存储芯片60存储的硬盘信息包括IDENTIFY DEVICE DATA,共256字;DEVICE CONFI⑶RATION IDENTIFY DATA,共 256 字和 THE NATIVE MAX ADDRESS。通过本发明提供的系统,能够在解除硬盘隐藏区、获得硬盘内部数据后还原硬盘隐藏区,且能够保证硬盘数据不被修改,从而保证取证工作的司法有效性与数据完整性。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上对本发明所提供的一种硬盘隐藏区的解除方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种硬盘隐藏区的解除方法,其特征在于,执行所述方法的装置连接于只读保护设备与硬盘之间,所述方法包括,获取硬盘信息;根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;若硬盘包括硬盘隐藏区,以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。
2.如权利要求1所述的方法,其特征在于,还包括将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则选择是否进行硬盘隐藏区的还原。
3.如权利要求2所述的方法,其特征在于,所述硬盘隐藏区为HPA区域和/或DCO区域。
4.如权利要求3所述的方法,其特征在于,所述获取硬盘信息为通过发送IDENTIFY DEVICE 指令获取 IDENTIFY DEVICE DATA,共 256 字。
5.如权利要求3所述的方法,其特征在于,所述获取硬盘隐藏区最大地址包括获取 HPA区域的最大地址和/或获取DCO区域的最大地址,其中,通过发送READ NATIVE MAX ADDRESS指令获取HPA区域的最大地址THE NATIVE MAX ADDRESS,共4字;通过发送DEVICE CONFI⑶RATION IDENTIFY指令获取 DEVICE CONFI⑶RATION IDENTIFY DATA,所述DCO 区域的最大地址为DEVICE CONFI⑶RATION IDENTIFY DATA的第3 6字。
6.如权利要求4所述的方法,其特征在于,所述硬盘可见容量的最大地址是通过 IDENTIFY DEVICE DATA的第100-103字减I计算出来的。
7.如权利要求4所述的方法,其特征在于,所述硬盘隐藏区校验位为IDENTIFY DEVICE DATA的第83字第11位和第82字第10位。
8.如权利要求4所述的方法,其特征在于,所述第一设定参数为IDENTIFYDEVICE DATA的第7字第8位,根据所述第一设定参数确定用28-bit指令方式发送指令或用48_bit 方式发送指令。
9.如权利要求4所述的方法,其特征在于,所述第二设定参数为IDENTIFYDEVICE DATA的第27 46字和第10 19字,分别代表硬盘的盘符和序列号。
10.如权利要求3所述的方法,其特征在于,若隐藏区包括HPA区域但不包括DCO区域时,对HPA区域的解除包括临时解除HPA区域和彻底解除HPA区域。
11.如权利要求1至10中任一项所述的方法,其特征在于,所述方法是基于FPGA控制芯片来控制的方法。
12.—种硬盘隐藏区的解除装置,其特征在于,所述装置连接于只读保护设备与硬盘之间,包括,获取单元,用于获取硬盘信息;第一识别单元,用于根据硬盘信息包括的硬盘隐藏区校验位来识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;第二识别单元,用于将硬盘信息包括的硬盘可见容量最大地址与所述硬盘隐藏区最大地址进行比较来识别硬盘是否包括硬盘隐藏区;解除单元,用于以根据硬盘信息包括的第一设定参数确定的指令发送方式发送解除指令进行硬盘隐藏区的解除;还原单元,用于以根据第一设定参数确定的指令发送方式发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再以根据第一设定参数确定的指令发送方式发送还原指令进行硬盘隐藏区的还原。
13.如权利要求12所述的装置,其特征在于,还包括判断单元,用于将硬盘信息包括的第二设定参数与存储的上个硬盘相应的参数进行比对,判断是否为同一硬盘,若不是同一硬盘,则将硬盘信息进行存储,若是同一硬盘,则选择是否进行硬盘隐藏区的还原。
14.如权利要求13所述的装置,其特征在于,所述硬盘隐藏区为HPA区域和/或DCO区域。
15.如权利要求14所述的装置,其特征在于,所述获取单元获取硬盘信息为通过发送 IDENTIFY DEVICE 指令获取 IDENTIFY DEVICE DATA,共 256 字。
16.如权利要求14所述的装置,其特征在于,所述第一识别单元获取硬盘隐藏区最大地址包括获取HPA区域的最大地址和/或获取DCO区域的最大地址,其中,通过发送READ NATIVE MAX ADDRESS指令获取HPA区域的最大地址THE NATIVE MAX ADDRESS,共4字;通过发送 DEVICE CONFI⑶RATION IDENTIFY 指令获取 DEVICE CONFI⑶RATION IDENTIFY DATA, 所述DCO区域的最大地址为DEVICE CONFI⑶RATION IDENTIFY DATA的第3 6字。
17.如权利要求15所述的装置,其特征在于,所述硬盘可见容量的最大地址是通过 IDENTIFY DEVICE DATA的第100-103字减I计算出来的。
18.如权利要求15所述的装置,其特征在于,所述硬盘隐藏区校验位为IDENTIFY DEVICE DATA的第83字第11位和第82字第10位。
19.如权利要求15所述的装置,其特征在于,所述第一设定参数为IDENTIFYDEVICE DATA的第7字第8位,根据所述第一设定参数确定用28-bit指令方式发送指令或用48_bit 方式发送指令。
20.如权利要求15所述的装置,其特征在于,所述第二设定参数为IDENTIFYDEVICE DATA的第27 46字和第10 19字,分别代表硬盘的盘符和序列号。
21.如权利要求14所述的装置,其特征在于,当隐藏区包括HPA区域但不包括DCO区域时,所述解除单元执行的对HPA区域的解除包括临时解除和彻底解除。
22.如权利要求12至21中任一项所述的装置,其特征在于,还包含FPGA控制芯片,用于控制所述各单元的执行。
23.一种硬盘隐藏区的解除系统,其特征在于,包括如权利要求12至22中任一项所述的装置,所述系统还包括第一 SATA控制器,用于将所述装置与上位机连接,接收上位机发送的数据并传送给所述装置;第二 SATA控制器,用于将所述装置与SATA硬盘连接,所述装置通过第二 SATA控制器控制SATA硬盘;FLASH控制器,用于在存储FLASH数据时,将所述装置传送的FLASH数据存储到FLASH 存储芯片对应的存储位置;在读取FLASH数据时,读取所述装置指定存储位置的FLASH存储芯片中的FLASH数据传送给所述装置;SATA硬盘电源控制器,用于将所述装置的SATA硬盘电源通断信号转成SATA 硬盘电源控制模块所需的信号;按键和显示屏控制器,用于驱动按键和显示屏,将所述装置传送的信息在显示屏上显示,将用户按下的按键命令传送给所述装置; FLASH存储芯片,用于存储所述装置获得的SATA硬盘信息;配置存储芯片,用于存储FPGA的配置程序,上电时完成对FPGA控制芯片的配置;SATA硬盘电源控制模块,用于控制SATA硬盘电源的通断状态;按键,用于用户输入命令;显示屏,用于显示所述装置的工作状态及硬盘状态。
全文摘要
本发明提供了一种硬盘隐藏区的解除方法、装置及系统,其中执行所述方法的装置连接于只读保护设备与硬盘之间,所述方法包括,获取硬盘信息;根据硬盘信息包括的硬盘隐藏区校验位识别硬盘是否支持硬盘隐藏区指令,若支持硬盘隐藏区指令,则发送指令获取硬盘隐藏区最大地址;将硬盘信息包括的硬盘可见容量最大地址与硬盘隐藏区最大地址进行比较识别硬盘是否包括硬盘隐藏区;若硬盘包括硬盘隐藏区,发送解除指令进行硬盘隐藏区的解除;发送还原指令进行隐藏区的还原或先断掉硬盘连接和硬盘电源一设定时间后重新进行硬盘连接和硬盘上电,然后再发送还原指令进行硬盘隐藏区的还原;通过本方法可实现解除及还原硬盘隐藏区,且能保证硬盘数据不被修改。
文档编号G06F3/06GK103049223SQ201210582938
公开日2013年4月17日 申请日期2012年12月28日 优先权日2012年12月28日
发明者沈顺孝, 吴神培, 郭文琼, 陈大铍 申请人:厦门市美亚柏科信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1