用于完成安全擦除操作的方法与流程

文档序号:12071171阅读:824来源:国知局
用于完成安全擦除操作的方法与流程

计算机及数据安全是为个人、企业及政府的关注重点。特别地,用于擦除或以其它方式处置电子存储数据的安全技术日益引起关注。通过引用并入本文的共同转让给Ensconce Data Technology,Inc的美国专利7,725,674及美国专利申请公开号2004/0252628描述了安全数据销毁对于个人、企业及政府的重要性。法律法规也将数据安全的重要性推向前列。为了符合联邦法规,公司现在需要在处置或重新使用硬盘驱动器之前完全、可靠地消除硬盘驱动器上的所有敏感数据。“金融服务现代化法案”(2003年)(Gramm-Leach-Bliley),“2003年公平和准确信用交易法案”(FACT法案),2002年“公司和刑事欺诈问责法案”(Sarbanes-Oxley)、以及健康保险携带和责任法案(HIPPA)的特别条款中都包括数据安全的要求。这些法案的规定均对安全处理敏感数据有具体要求。

为了响应对计算机和数据安全日益增长的需求,用于擦除或销毁电子存储数据的技术已被开发。其中一种这样的技术为数据擦除器软件,其旨在使被删除的文件不可恢复及消除由很多应用创建及存储的外来数据,特别为涉及互联网的应用数据。这类软件在包括存储了将来需要被删除信息的硬盘驱动器的计算机上运行。该软件会导致硬盘驱动器上的某些数据被重写。

此外,诸如固态硬盘驱动器(SSD)的各种存储设备已变得重要。高级技术附件(ATA)规范定义了用于硬盘驱动器(包括SSD)的安全擦除(SE)特征,其可以帮助擦除数据,使数据不能由已知的取证数据恢复技术恢复。



技术实现要素:

可在安全擦除命令执行前、执行期间或执行之后,使用安全擦除命令结合一个或多个操作来实现用于安全擦除存储设备(诸如,固态驱动器)的技术。这些操作可包括在安全擦除命令的执行期间阻止对存储设备的访问,诸如通过占用用于访问存储设备的总线来实现。这里描述的其它操作包括在擦除及擦除存储设备上的隐藏区域之前执行存储设备的硬件复位。此外,签名可以被写入存储设备的一部分,并在执行安全擦除命令之后使用,以确认成功地实现了擦除。

因此,发明的某些方面可以实现为用于安全地擦除存储设备的系统、用于控制设备的操作的全部或一部分的计算机可执行指令、和/或用于安全地擦除存储设备的方法。

前述是本发明的非限制性概述,本发明由所附权利要求限定。应当理解即使没有在所附权利要求的组合中明确地陈述,本文描述及要求保护的动作可以采用其它组合使用。具体地,在两个或更多个从属权利要求中陈述的动作可共同用在没有这些从属权利要求所依据的独立权利要求中所定义的方法的擦除存储设备的系统或方法中。

附图说明

附图不按比例绘制。在附图中,各个图中示出的相同或几乎相同的部件由相同的附图标记表示。为了明晰,各个附图中不是每个部件都被标出。在附图中:

图1是一些实施例可以操作的示例性系统的框图;

图2是可在一些实施例中使用的示例性技术的流程图;

图3是可在一些实施例中使用的另一示例性技术的流程图;

图4是可在一些实施例中使用的又另一示例性技术的流程图;

图5是可在一些实施例中使用的另外示例性技术的流程图;以及

图6图示可在其上实现本发明的方面的计算系统环境的示例。

具体实施方式

标准化安全擦除(SE)可能无法在所有情况下、对所有的硬盘驱动器如预期地执行。发明人认识到并且理解当用于执行安全擦除的方法和/或装置满足一个或多个准则时,可以实现使用具有一定可靠性接受度的SE的优点,特别是使用固态驱动器(SSD)时。这种方法可具有至少与使用扇区重写一样好的可靠性,但却可能快得多。因为数据不必被通过总线推送,擦除过程以硬盘驱动器能够执行的任何速度执行。在固态驱动器的情况下,这意味着高达64或128千兆字节的容量只需几分钟的擦除时间。

发明人认识到并且理解在硬盘驱动器特别是SSD上的SE操作可能不会产生完全擦除,原因为硬盘驱动器制造商中的ATA规范的实现不一致,以及包括不如预期地执行的系统调用的依赖的其它问题。发明人认识到并且理解确保SE操作的可靠执行的方式可涉及在发起SE操作和/或使用特定配置之前采取一个或多个特定步骤,其将由本文更详细描述。如本文所描述的技术可提高SE操作的有效性并使得能够通过总线(特别是通用串行总线(USB))在各种硬盘驱动器类型上成功地执行SE操作。

用于执行SE的操作方法传统上涉及依赖ATA规范及系统调用来执行SE操作。使用这种方法,软件可通过操作系统和/或基本输入/输出系统(BIOS)发送系统调用,以在附着于正运行该操作系统及软件的计算机系统的硬盘驱动器上执行操作。

发明人认识到并且理解由于一个或多个原因,这类方法可能不会导致可靠擦除。例如,当SE操作进行时,这样的方法使操作系统可访问硬盘驱动器以进行内务操作。如果操作系统在SE操作期间硬盘驱动器没有响应时发起一些内务操作,操作系统则可能在擦除操作期间中断硬盘驱动器。这种中断可能使硬盘驱动器处于不可预测状态,并因其既不能在不可预测状态下操作也不能从不可预测状态恢复,可能潜在地对硬盘驱动器造成永久性损坏。在通过USB连接硬盘驱动器时,损坏的风险特别高。基于这个洞察,发明人认识到并且理解在执行SE操作时阻止对硬盘驱动器和/或总线的访问可实现SE成功操作。

发明人进一步认识到并且理解在发起SE操作前在硬盘驱动器上进行硬复位或电源循环可实现SE操作成功。缺少了此步骤(ATA规范不要求),在一些硬盘驱动器上的SE操作可能会失败。

另外,发明人认识到并且理解硬盘驱动器的主机保护区域(HPA)和/或设备配置覆盖(DCO)的擦除也可使SE操作成功,部分原因为,如不如此进行,可能即使在SE操作完成后仍然完整保留其数据于硬盘驱动器区域中。这个问题可能给用户留下对SE操作的安全性的错觉,因为用户可能认为所有数据已被擦除因此不可由已知的取证数据恢复技术恢复,但实际上一些数据可仍然被保留,其用户却无法知晓。发明人另外认识到并且理解在对硬盘驱动器进行电源循环之前执行HPA和/或DCO的这种擦除可使SE操作成功。因此,发明人认识到并且理解超过ATA规范所要求的电源循环可促进存储设备的有效擦除。

同样与用户意识相关,发明人认识到并且理解关于操作结果的基于验证的反馈可增加用户对于SE成功操作的信心。缺少这种基于验证的反馈,用户可能仅因操作完成而认为其成功。然而,由于一些硬盘驱动器可能未被擦除,完成不等同于成功。相比之下,一些传统方法可能完全不向用户提供任何反馈。

此外,发明人认识到并且理解特定的BIOS特性可使SE成功操作。例如,标准BIOS可将发布到硬盘驱动器的SE命令重映射到安全冻结(Secure Freeze)命令,其通常为了阻止恶意代码在硬盘驱动器上发起SE操作。结果是,非恶意代码、特别是意图使用SE擦除硬盘驱动器的非恶意代码,也可能在这样的标准BIOS下无法发起SE操作。

根据本文描述的一些实施例,可以使用适用于应用本文描述的技术中的一个或多个系统或方法来完成SE操作。发明人认识到并且理解给定适当的配置及方法论,甚至可通过USB来完成SE操作的成功执行。这样的配置及方法论可包括准备SE操作并通过总线从擦除器设备发送SE信号,所述总线将擦除器设备连接到存储设备(可以是硬盘驱动,包括SSD)以发起SE操作。SE信号可以在存储设备的硬件级别中起作用,该硬件级别可低于操作系统级别。此外,SE信号内的SE命令可保持不被擦除器设备的BIOS改变。准备SE操作可包括向存储设备发送硬复位信号,并在执行SE操作时阻止对存储设备和/或总线的访问。硬复位信号可由同在总线上的设备、定制硬件(诸如微控制器和存储舱电源组件190)和/或提示用户(例如通过在用户界面上呈现指令)物理地/手动地对存储设备做电源循环来实现。配置及方法论可包括考量正在做电源循环的、然后在总线上重新建立及列举的存储设备。准备SE操作还可以包括在向存储设备发送硬复位信号之前,向存储设备发送隐藏区域(即,HPA和/或DCO)擦除信号。最后,配置及方法论可包括在准备SE操作之后、且在发送SE信号之前,向存储设备发送写入信号,以使存储设备写入存储设备上的位置,并且在发送SE信号和完成SE操作之后,向存储设备发送读取信号以使存储设备从所述位置读取;及如果来自所述存储设备的读取表示在所述位置处写入的内容的擦除状态,则向用户提供指示SE操作成功的反馈。所述技术中的一个或多个可被应用于被配置为同时擦除多个硬盘驱动器的系统中。

图1图示根据示例性实施例的存储设备擦除系统100。系统100可以是提供存储设备(包括诸如SSD的硬盘驱动器)的安全擦除能力的独立系统。系统100可使存储设备被擦除,使数据无法取证地可恢复。

系统100可包括能够支持BIOS 115及操作系统120的擦除器设备110。例如,擦除器设备110可以是个人计算机、服务器、移动设备或任何其它合适的设备。操作系统120可以是Linux操作系统、Unix操作系统或任何其它合适的操作系统。在一些实施例中,擦除器设备110可使用已知的编程技术编程为向被配置为与一个或多个存储设备交互的印刷电路板(PCB)发送命令。PCB可被设计为与存储设备上的擦除操作交互并控制存储设备上的擦除操作,并具有电路系统用于执行本文所描述的一些或全部功能。

操作系统120可以支持应用层且编程以实现安全擦除流程130,其在图2示例性地示出。操作系统120还可支持用户接口135,其可允许用户向系统100输入信息(包括用于擦除连接到系统100的一个或多个存储设备的指令)并从系统100获得信息。优选地,用户接口135可以是图形用户界面(GUI)。用户接口135可以是例如显示设备及键盘、触摸屏监视器、语音接口和/或任何其它合适的用户接口。

应用层及安全擦除流程130可从守护进程160接收存储设备信息165(操作系统120也可支持该守护进程160)。应用层及安全擦除流程130可与擦除例程140(在图3-图5中示例性示出,并也可由该操作系统120支持)逻辑地交互。擦除例程140及守护进程160可以与总线库150(也可由该操作系统120支持)逻辑地交互。总线库150可与总线180(可以连接到PCB 170并位于其上)逻辑地交互。

PCB 170可与擦除器设备110分离。然而,应当理解PCB 170的功能可以物理地并入到与擦除器设备110相同的壳体中,或者以任何其它合适的方式实现。总线180可以连接于微控制器及存储舱电源组件190,存储舱电源组件190可连接至PCB 170和/或PCB 170上。微控制器及存储舱电源组件190可以控制及供电于任何数量的存储舱,例如存储舱183、186及189,其可连接至总线180。

各个存储舱可被配置为接收至少一个存储设备(未示出)。当插入存储舱中时,可使用如本文所述的技术擦除存储设备。存储设备可以是能够存储数据的任何存储器形式,包括SSD。

根据一些实施例,擦除器设备110可促使关于各擦除过程的数据被存储于在除指定用于擦除的存储设备(未示出)之外的存储设备上,该存储设备可以是与存储操作系统120和/或应用层及安全擦除流程130的存储设备相同的存储设备,或者也可以是单独的存储设备。以这种方式,系统100可维护擦除过程日志。存储在该存储设备上的数据可包括以下任何组合:硬盘驱动器标识信息,诸如硬盘驱动器序列号、制造商、型号和容量;开始日期/时间戳;结束日期/时间戳;擦除方法;成功或失败的指示;发起擦除过程的用户名称;擦除证书;及任何其它合适的数据。

系统100可以同时支持擦除多个存储设备。存储舱可支持至少一种存储设备类型,但优选地,可支持多种存储设备类型。每个存储舱可选地包括锁定机制(未示出)及用于使用信号通知存储舱中存储设备状态的状态指示器(未示出)。状态指示器可在存储舱上或在用户接口135上显示。

每个存储舱可与其它存储舱独立操作,且独立存储舱可在不干扰其它存储舱操作的情况下与存储舱连接及断开。因此,用户或其它机制(例如机器人臂)可在不使系统100断电或中断正在进行的擦除过程的情况下移除一个存储设备并连接另一个存储设备。以这种方式,可连续快速地擦除多个存储设备。

存储舱可以被配置为用于在一个或多个存储设备与系统100间通信,使系统100可生成擦除存储设备上包括的数据的控制信号。可选地,系统100可被配置为使得用户可通过与系统的用户接口的交互或以其它方式控制系统100来经由用户接口135访问(读取和/或写入)存储舱中存储设备上的数据。

每个存储舱可包括至少一个连接设备(诸如用于在系统100与存储设备间建立通信的连接器、端口、电缆、探针或任何设备、机制或方式)以及存储设备。这种用于建立通信的方式可以是标准化连接器或者根据工业标准来配置。然而,可使用任何合适的机制。例如,在一些实施例中,驱动舱110可包括可以连接到存储设备(未示出)的一个或多个电缆(例如,数据电缆和电力电缆)。替选地或附加地采用用于在系统100与存储设备间提供通信的其它设备及装置。系统100可容纳具有不同连接要求和/或不同数据存储技术的不同存储设备类型。

另外,存储舱可以包括探针,其可在除典型电缆附接位置之外的位置上与存储设备附接。例如,探针可连接以将信号注入存储设备的印刷电路板。替选地,系统100可以被配置为可与在原地的(即,如它在特定设备(诸如,个人计算机)被发现的原样)存储设备通信。应当理解,系统100可包括一个或多个存储舱,并可被配置为在原位直接跟一个或多个存储设备连接。

根据一些实施例,系统100可例如通过打印、发电子邮件、在计算机数据库存储擦除操作的记录、或任何其它合适的输出机制与输出设备(未示出)通信以用于输出信息(诸如存储设备的状态及擦除证书)。输出可以是任何合适的形式,包括对完全执行擦除的证书或其它证据。例如,根据一些实施例,输出设备可以是用于打印(例如,以标签的形式)证明特定存储设备已被擦除的证书的打印机。附加地或替选地,输出设备可与系统100集成。

根据一些实施例,系统100可与互联网151或任何其它合适的网络(未示出)通信。在一些实施例中,可通过这样的通信网络,提供可以通过附接于系统100的用户接口直接提供的任何输入或输出。例如,擦除器设备120可被配置为将擦除证书及日志提供给远程设备(未示出)(诸如计算机),远程设备可以是网络的一部分,其可由独立于系统100用户的第三方控制。根据一些实施例,第三方可从多个来源接收擦除证书(例如多个系统100),且可以存储擦除证书。以这种方式,第三方可保存关于存储设备擦除的数据并可轻易访问。

图2为可以被用在一些实施例中的用于使用系统100(图1)擦除存储设备的示例性技术的流程图。可通过在应用层或任何其它合适的层处对擦除器设备110进行编程以实现图2中所示的示例性技术。例如,执行这种编程可以控制擦除器设备110使用系统100生成用于硬件组件的控制信号以擦除一个或多个存储设备。应当理解关联于图2描述的步骤顺序可被改变和/或可以添加附加步骤。

通过使用用户接口135,用户可开始执行在下文更详细描述的擦除过程。擦除过程可在步骤210开始,其可由用户输入或任何其它合适的触发器触发。为此,用户可安装要擦除的存储设备。替选地,系统100可在原位连接至存储设备。然而,应当理解地可响应于任何合适的触发(例如将存储设备插入存储舱)来发起擦除过程。

在步骤213,系统100可发起对存储设备的解锁。在步骤216中,系统100可完成存储设备的解锁。这些操作可以任何合适的方式执行,包括使用标准化命令。

在步骤220中,系统100可发起对存储设备上的HPA和/或DCO的擦除。在步骤230中,系统100可完成对存储设备上的HPA和/或DCO的擦除。在步骤235中,系统100可发起存储设备的硬复位。在此期间,系统100可通知操作系统120、总线库150、守护进程160、和/或任何其它合适的组件当硬复位发起时存储设备将从总线180“消失”。系统100还可命令总线库150、守护进程160和/或任何其它合适的组件当存储设备在总线180上“重新出现”时以与硬复位前类似的列举参数重新列举存储设备。系统100可在不解锁存储舱锁的情况下进行该过程。在步骤240中,系统100可完成存储设备的硬复位。为此,擦除器设备110可向存储设备和/或微控制器与存储舱电源组件190发送硬复位信号,以执行存储设备的硬复位。与其它操作一样,可通过发出存储设备本身和/或系统100的元件配置为响应的命令来执行这些操作。在一些实施例中,存储设备的这些区域以所指示的顺序被擦除。

在步骤250中,系统100可使存储设备将签名数据写入存储设备上的位置。签名数据可具有任何合适的值。在一些实施例中,签名数据可具有不可能随机发生的模式,使通过检查该模式可以进行确定签名数据是否存在或者已从存储设备被擦除。签名数据可以任何合适的方式获得。在一些实施例中,签名数据可存储在与擦除器设备110相关联的存储器中。替选地或附加地,签名数据可通过算法生成,诸如通过程序执行。

在步骤260中,系统100可在存储设备上发起SE操作。为此,擦除器设备110可通过总线180将SE信号发送至存储设备,其即可在步骤265中执行SE操作。

在一些实施例中,在步骤266中,处理过程可返回到步骤235并且重新发起硬复位,然后继续步骤240、250、260等。硬复位可以以任何合适的方式实现。在一些实施例中,硬复位可由硬件元件发起,而不由发送至待擦除存储设备的命令发起。作为一个示例,硬复位可由微控制器及存储舱电源组件190切断存储设备的电力来发起。

在步骤270中,系统100可发起存储设备重新通电。在步骤275中,系统100可完成存储设备的重新通电。这些断电及通电操作可作为微控制器及存储舱电源组件190响应来自擦除器设备110的命令或任何其它合适方式来执行。在一些实施例中,系统100可提示用户以手动方式循环存储设备。

在步骤280中,系统100可使存储设备从签名数据写入位置读取数据。如果从这些位置读取的数据表示签名数据的擦除状态,系统100则可提供指示SE操作成功的输出。可经由用户接口135、打印机和/或任何其它合适的方式提供该输出。

替选地,如果从这些位置读取的数据指示为签名数据尚未被擦除,输出则可指示未完成或不成功的擦除。在这种情况下,系统100替选地或另外地重复图2的步骤,以尝试再次擦除,或以任何其它合适的方式进行响应。

在步骤285中,系统100可完成图2所示的擦除过程。

图3示出了可用于一些实施例中以使用系统100(图1)擦除存储设备的示例性技术。应当理解关联于图3描述的步骤的顺序可以被改变和/或可以添加附加步骤。与本文所示的其它流程图一样,可在计算机化擦除器设备110上执行的编程的控制下或者以任何其它合适的方式来执行图3所示的过程。

擦除过程可于步骤310开始。擦除过程可以任何合适的方式被触发。例如,用户可经由用户接口135开始如以下更详细描述的擦除过程。为此,用户可安装要擦除的存储设备。替选地,系统100可于原位连接至存储设备。在步骤320,系统100可识别存储设备。如果满足SEC_FLAG_ENABLED条件,可以在步骤333开始的处理可以继续到步骤330。可使用已知命令来从正被擦除的存储设备读取状态信息或者以任何其它合适的方式来确定该条件。否则,处理则可进行步骤340。

在步骤333中,如果满足SEC_FLAG_LOCKED条件,处理则可转到步骤336。否则,处理可转到至步骤340。在步骤336中,系统100可解锁存储设备。在步骤340中,用户可使用用户接口135设定存储设备的主密码。与本文描述的其它操作一样,也可通过诸如通过总线180向存储设备发送已知命令来发起这些操作。

在步骤350中,系统100可执行存储设备的硬复位。在步骤360中,系统100可以识别存储设备。可使用如关联于图2的实施例所描述的硬件组件来执行硬复位。

在步骤370中,系统100可估计存储设备的擦除时间。系统100可经由用户接口135向用户提供所估计的擦除时间。替选地或附加地,可以以任何其它合适的方式使用该信息,包括进行擦除操作的记录。根据一些实施例,系统可经由用户接口135呈现控制选项,使用户可选择继续或取消擦除过程。然而,应当理解可以替选或附加地将这样的信息用于系统100的自动控制的一部分。

在步骤380中,系统100可准备SE操作。该准备可包括在SE操作执行时阻止对存储设备和/或总线的访问,执行HPA和/或DCO的擦除,和/或执行存储设备的硬复位。

在步骤390中,系统100可以在存储设备上发起SE操作。为此,擦除器设备110可以通过总线180将SE信号发送至存储设备,存储设备则可以执行SE操作。

在步骤393中,系统100可完成图3所示的擦除过程。

图4图示可以被用在一些实施例中的用于使用诸如系统100(图1)的系统来擦除存储设备的示例性技术。应当理解关联于图4所描述的步骤的顺序可以被改变和/或可添加附加步骤。如在图2和图3中所图示的处理,图4的处理可以作为在擦除器设备110上执行软件的结果而执行,或以任何其它合适的方式来执行。

可以以任何合适的方式发起下面更详细描述的擦除过程,诸如用户通过用户接口135输入命令。在这种情况下,用户可在步骤410启动擦除过程。为此,用户可安装待被擦除的存储设备。替选地,系统100可于原位连接到存储设备。在步骤420,系统100可识别存储设备。在可以在步骤433开始的步骤430中,如果满足SEC_FLAG_ENABLED条件,则处理可转到步骤436。否则,处理可转到步骤440。在步骤436中,系统100可执行存储设备的硬复位。在步骤439中,系统100可识别存储设备,检查安全标志是否被启用。

在步骤440中,系统100可识别存储设备。

在步骤453中,如果满足SEC_FLAG_ENABLED条件,则处理可转到步骤456。否则,处理可转到步骤460。在步骤456中,如果满足SEC_FLAG_LOCKED条件,则处理可以转到步骤459。否则,处理可转到步骤460。在步骤459中,系统100可解锁存储设备。

在步骤460中,可设定存储设备的主密码。可以例如经由用户接口135,从用户接收密码。然而,应当理解可以以任何合适的方式确定密码,诸如随机生成或被设定为预定默认值。

在步骤470中,系统100可估计存储设备的擦除时间。系统100可经由用户接口135向用户提供所估计的擦除时间或者以任何其它合适方式使用该信息。根据一些实施例,用户可经由用户接口135选择继续擦除过程还是取消它。

在步骤480中,系统100可准备SE操作。该准备可包括在SE操作执行时阻止对存储设备和/或总线的访问、执行HPA和/或DCO擦除、和/或执行存储设备的硬复位。在一些实施例中,存储设备的这些区域以所指示的顺序被擦除。

在步骤490中,系统100可在存储设备上发起SE操作。为此,擦除器设备110可通过总线180将SE信号发送到存储设备,存储设备可执行SE操作。

在步骤493中,系统100可完成图4所示的擦除过程。

图5示出了可在一些实施例中用于使用系统100(图1)擦除存储设备的示例性技术。应当理解关联于图5所描述的步骤的顺序可以被改变和/或可以以添加附加步骤。

在该实施例中,可由用户输入发起擦除。因此,使用用户接口135,用户可发起如在下文更详细描述的擦除过程。用户可在步骤510发起擦除过程。为此,用户可安装要擦除的存储设备。替选地,系统100可在原位连接到现场存储设备。在步骤520,系统100可识别存储设备。在开始于步骤533的步骤530中,如果满足SEC_FLAG_LOCKED条件,则处理可转到到步骤536。否则,处理可转到到步骤540。在步骤536中,系统100可解锁存储设备,且处理可以继续至步骤539。在步骤539中,处理可绕过主密码的设定,并转到步骤550。

在开始于步骤543的步骤540中,用户可以使用用户接口135设定存储设备的主密码。如果其失败,处理则可转到步骤546。在步骤546中,用户可使用用户接口135设定存储设备的主密码。

在步骤550中,系统100可执行存储设备的硬复位。在步骤560中,系统100可识别存储设备。

在步骤570中,系统100可估计存储设备的擦除时间。系统100可经由用户接口135或任何其它合适的方式向用户提供所估计的擦除时间。根据一些实施例,用户可经由用户接口135选择继续擦除过程还是取消擦除过程。

在步骤580中,系统100可准备SE操作。该准备可包括阻止在SE操作执行时对存储设备和/或总线的访问、执行HPA和/或DCO的擦除、和/或执行存储设备的硬复位。

在步骤590中,系统100可在存储设备上发起SE操作。为此,擦除器设备110可通过总线180将SE信号发送至存储设备,存储设备可执行SE操作。

在步骤593中,系统100可完成图5所示的擦除过程。

图2至图5中所示的技术可替选地或共同使用。在一些实施例中,图3至图5中所示的一个或多个技术可用于图2所示的处理的部分。作为特定非限制性实例,图3-5所示的技术可被选择以执行框265(图2)中的擦除操作。可顺序使用这些技术直到实现成功擦除,或以任何其它合适的次序。

此外,应当理解在图2至图5中描述了各种操作。这些操作在附图中多于一个附图中是公用的。为了说明本文描述方法的通用性,可以结合不同的附图将类似的操作描述为以不相同方式被触发或执行。应当理解结合图中的一个而描述的操作的发起或执行可以替选地或附加地结合在另一附图示出的类似操作。

图6示出了在其上可以实现本发明合适的计算系统环境600的示例。计算系统环境600仅为合适计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。计算环境600也不应被解释为具有与示例性操作环境600中所示组件中的任一个或组合有关的任何依赖性或要求。

本发明可以与许多其它通用或专用计算系统环境或配置一起操作。可以适用于本发明的已知计算系统、环境、和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等。

计算环境可以执行计算机可执行指令,诸如程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明还可以在分布式计算环境中实现,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地及远程计算机存储介质(包括存储器存储设备)两者中。

参考图6,用于实现本发明的示例性系统包括计算机610形式的通用计算设备。具有编程或其它修改以执行如本文所述的功能的计算机610可以用于实现擦除器设备610。虽然图6未示出,这样的修改可以包括修改以包括PCB 170的任何功能。替选地或附加地,计算机610除了是专用擦除器设备,也可以是能够在标准操作中存储信息或从存储设备检索信息的计算机。在该情况下,计算机610可以被编程为使用本文所述技术擦除存储设备的用户计算机。

计算机610的组件可以包括但不限于处理单元620、系统存储器630、及将包括系统存储器的各种系统组件耦合于处理单元620的系统总线621。系统总线621可以是使用多种总线架构中任一种的若干总线结构类型中的任何,包括存储器总线或存储器控制器、外围总线及局部总线。作为示例而非限制的方式,这样的架构包括工业标准架构(ISA)总线,微通道架构(MCA)总线,增强型ISA(EISA)总线,视频电子标准协会(VESA)局部总线、及也称为夹层总线的外围组件互连(PCI)总线。

计算机610通常包括各种计算机可读介质。计算机可读介质可以是可以由计算机610访问的任何可用介质,且包括易失性及非易失性介质两者、可移除及不可移除介质两者。作为示例而非限制的方式,计算机可读介质可以包括计算机存储介质及通信介质。计算机存储介质包括在用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术中实现的易失性及非易失性的、可移除及不可移除的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备、或可以用于存储所需信息并可以由计算机610访问的任何其它介质。通信介质通常采用调制数据信号(诸如,载波或其它传输机制)体现计算机可读指令、数据结构、程序模块或其它数据,且包括任何信息传递介质。术语“调制数据信号”意指具有以在其信号中编码信息的方式设定或改变其一个或多个特性的信号。作为示例而非限制的方式,通信介质包括诸如有线网络或直接有线连接的有线介质以及诸如声学、无线射频(RF)、红外和其它无线介质的无线介质。任何上述的组合也应当包括在计算机可读介质的范围内。

系统存储器630包括诸如只读存储器(ROM)631及随机存取存储器(RAM)632的采用易失性和/或非易失性存储器形式的计算机存储介质。包括诸如在启动期间帮助计算机610内元件间传送信息的例程的基本输入/输出系统633(BIOS)通常存储在ROM 631中。RAM 632通常包括可以由处理单元620立即访问和/或当前正在被处理单元620操作的数据和/或程序。作为示例而非限制的方式,图6示出了操作系统634、应用程序635、其它程序模块636、及程序数据637。

计算机610还可以包括其它可移除/不可移除、易失性/非易失性计算机存储介质。仅作为示例,图6示出了从不可移除、非易失性磁介质读取或向其写入的硬盘驱动器641,从可移除、非易失性磁盘652读取或向其写入的磁盘驱动器651,及从可移除、非易失性光盘656(诸如CD ROM或其它光学介质)读取或向其写入的光盘驱动器655。可以在示例性操作环境中使用的其它可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡,数字多功能盘、数字视频磁带、固态RAM,固态ROM等。硬盘驱动器641通常通过不可移除存储器接口(诸如接口640)连接到系统总线621,且磁盘驱动器651及光盘驱动器655通常通过可移除存储器接口(例如接口650)连接至系统总线621,。

上文讨论的并在图6中示出的驱动器及其相关联的计算机存储介质为计算机610提供计算机可读指令、数据结构、程序模块及其它数据的存储。例如在图6中,硬盘驱动器641被示为存储操作系统644、应用程序645、其它程序模块646和程序数据647。值得注意,这些组件可以与操作系统634、应用程序635、其它程序模块636及程序数据637相同或不同。在这里给予操作系统644、应用程序645、其它程序模块646和程序数据647不同的编号以说明它们至少为不同的副本。用户可以通过诸如键盘662及指点设备661(通常被称为鼠标、轨迹球或触摸板)的输入设备将命令及信息输入到计算机610中。其它输入设备(未示出)可以包括麦克风、操纵杆、游戏板、卫星天线、扫描仪等。这些和其它输入设备通常通过耦合于系统总线的用户输入接口660连接至处理单元620,但可以通过其它接口(诸如并行端口、游戏端口或通用串行总线(USB))与总线结构连接。监视器691或其它类型的显示设备也经由诸如视频接口690的接口连接到系统总线621。除了监视器外,计算机还可以包括其它外围输出设备,诸如扬声器697及打印机696,其可以通过输出外围接口695与之连接。

计算机610可以使用对一个或多个远程计算机(诸如远程计算机680)的逻辑连接,在联网环境中操作。远程计算机680可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括上文关于计算机610描述的许多或所有元件,尽管在图6中仅示出了存储器存储设备681。图6中描述的逻辑连接包括局域网(LAN)671及广域网(WAN)673,但也可以包括其它网络。这样的网络环境在办公室、企业范围的计算机网络、内联网和互联网中是常见的。

当在LAN网络环境中使用时,计算机610通过网络接口或适配器670连接到LAN 671。当在WAN网络环境中使用时,计算机610通常包括调制解调器672或用于通过WAN 673建立通信的其它装置,例如互联网。可以是内部的或外部的调制解调器672,可以经由用户输入接口660或其它适当的机制连接到系统总线621。在联网环境中,关于计算机610描述的程序模块或其部分可以存储于远程存储器存储设备中。作为示例而非限制的方式,图6示出了驻留在存储器设备681上的远程应用685。应当理解所示的网络连接是示例性的,且可以使用计算机间建立通信链路的其它装置。

由此已描述本发明的至少一个实施例的几个方面,应当理解本领域技术人员将容易想到各种改变、修改及改进。

例如,擦除存储设备可以能需要按照包括以下的次序而动作:擦除主机保护区域和/或存储设备的设备配置覆盖的;随后执行存储设备的硬复位,随后在存储设备上发起安全擦除操作。然而,硬复位可以在之前或之后、或在不同的“尝试”(当尝试时)期间以影响SE操作。另外,在存储设备的安全擦除期间,在相同区域上可以存在多次尝试,其中使用动作的各种组合和次序以确保擦除。此外,可以对不同的HPA、DCO及硬盘驱动器的其它区域提出不同的组合及动作次序。

这类改变、修改及改进旨在是本公开的一部分,并且旨在在本发明的构思和范围内。进一步,尽管指出了本发明的优点,但是应当理解并非本发明的所有实施例都将包括所有描述的优点。一些实施例可能不实现在本文中描述为有利的且在一些情况下的任何特征。因此,前述描述及附图仅为示例性。

本发明的上述实施例可以以多种方式中的任一个来实现。例如,可以使用硬件、软件或其组合来实现实施例。当用软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是分布在多个计算机中提供。这样的处理器可以被实现为集成电路,其中一个或多个处理器在集成电路组件中,包括本领域中通过诸如CPU芯片、GPU芯片、微处理器、微控制器或协处理器的已知商业可获得集成电路组件。替选地,处理器可以在定制电路(例如ASIC)或由配置可编程逻辑器件产生的半定制电路中实现。作为又一替代方案,处理器可以是较大电路或半导体器件的一部分,无论是否商业可获得、半定制或定制。作为具体示例,一些商业上可获得的微处理器具有多个核,因此这些核的中的一个或子集可以构成处理器。然而,处理器可以使用任何合适格式的电路来实现。

进一步,应当理解计算机可以以多种形式中的任何一种来实现,诸如机架安装式计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以以嵌入在通常不被认为是计算机但具有适当处理能力的设备中,包括个人数字助理(PDA)、智能电话或任何其它合适的便携式或固定电子设备。

同样,计算机可以具有一个或多个输入及输出设备。这些设备尤其可以用于呈现用户接口。可以用于提供用户接口的输出设备的示例包括用于输出视觉呈现的打印机或显示屏幕、及用于输出可听呈现的扬声器或其它声音产生设备。可以用于用户接口的输入设备的示例包括键盘及指点设备(诸如鼠标、触摸板及数字化平板)。作为另一示例,计算机可以通过语音识别或以其它可听格式接收输入信息。

这样的计算机可以通过任何合适形式的一个或多个网络互连,包括作为局域网或广域网(诸如企业网络或互联网)。这样的网络可以基于任何合适的技术,并可以根据任何合适的协议操作,且可以包括无线网络、有线网络或光纤网络。

同样,本文概述的各种方法或过程,可以被编码为可以在使用各种操作系统或平台中的任一操作系统或平台的一个或多个处理器上执行的软件。另外,这样的软件可以使用多种适合编程语言和/或编程或脚本工具中的任何一种来编写,并还可以被编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。

在这方面,本发明可以体现为编码有一个或多个程序的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、光盘(CD)、光学盘、数字视频盘(DVD)、磁带、闪存、现场可编程门阵列或其它半导体器件中的电路配置、或其它有形计算机存储介质),所述一个或多个程序在一个或多个计算机或其它处理器上执行时,实现上文讨论的本发明的各种实施例。从前述示例显然可见计算机可读存储介质可以保留信息足够的时间,以采用非暂时形式提供计算机可执行指令。这样的计算机可读存储介质可以是可移动的,使得存储在其上的程序可以加载到一个或多个不同的计算机或其它处理器上,以如上述实现本发明的各个方面。如本文所使用的,术语“计算机可读存储介质”仅包括可以被认为是制造(即制造品)或机器的计算机可读介质。替选地或附加地,本发明可以实现为除了计算机可读存储介质之外的计算机可读介质,诸如传播信号。

在本文中使用的术语“程序”或“软件”在一般意义上用于指可以用于对计算机或其它处理器进行编程以按照前文讨论实现本发明的各个方面的任何类型的计算机代码或计算机可执行指令集。另外,应当理解根据本实施例的一个方面,当被执行时实现本发明的方法的一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以以模块化方式分布在多个不同的计算机或处理器上,以实现本发明的各方面。

计算机可执行指令可以采用由一个或多个计算机或其它设备执行的许多形式,例如程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以在各种实施例中根据需要组合或分布。

此外,数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,数据结构可以被示为具有通过数据结构中位置相关的字段。同样可以通过为计算机可读介质中具有传达字段之间的关系的位置字段分配存储来实现这样的关系。然而,可以使用任何合适的机制来建立数据结构字段中信息间的关系,包括通过使用指针、标签或在数据元素之间建立关系的其它机制。

本发明的各个方面可以单独使用、组合使用、或以未在前述实施例中具体讨论的各种布置使用,且因此不将其应用限制于前文描述中所阐述的或于附图中示出的部件的细节及布置。例如,在一个实施例中描述的方面可以以任何方式与在其它实施例中描述的方面组合。

此外,本发明可以实施为已经提供了示例的方法。作为方法的一部分执行的动作可以以任何合适的方式排序。因此,即使在说明性实施例中示出为顺序动作,实施例可以被解释为其中以不同于所示次序的次序执行动作,这可以包括同时执行一些动作。

在权利要求中使用诸如“第一”、“第二”、“第三”等修饰权利要求元素的序数术语本身并不意味着一个权利要求元素相对于另一个权利要求元素的任何优先级、优先序、或次序,或方法的动作执行的时间次序,而是仅用于将具有某个名称的一个权利要求元素与具有相同名称(但是使用序数术语)的另一个权利要求元素区分开来的标签。

此外,本文使用的措辞及术语是为了描述目的,并不应被视为限制性。本文中使用的“包括”、“包含”或“具有”、“含有”、“涉及”及其变型意味着包括其后列出的项及其等同物以及附加项。

应当理解一些实施例可以以包括编码有计算机可执行指令的计算机可读存储介质,当计算机执行所述指令时,使计算机执行方法。所述方法包括识别可行的数据擦除技术;当支持安全擦除操作时,准备管理安全擦除操作;及从擦除器设备将安全擦除信号发送至存储设备以发起所述安全擦除操作。

另外的实施例可以包括编码有计算机可执行指令的计算机可读存储介质,当计算机执行所述行指令时,使计算机执行一种安全擦除存储设备的方法。所述方法包括:擦除存储设备的主机保护区域和/或设备配置覆盖;随之执行存储设备的硬复位,及随之在存储设备上发起安全擦除操作。

附加实施例可以包括一种用于完成安全擦除操作的方法。所述方法包括:识别可行的数据擦除技术;当支持安全擦除操作时,准备管理安全擦除操作;及从擦除器设备将安全擦除信号发送至存储设备以发起所述安全擦除操作。

根据一些实施例,存储设备可以包括固态存储器。另外,存储设备还可以包括磁盘存储器。例如,存储设备可以包括将固态存储器(例如,作为高速缓存使用以用于频繁使用的数据的NAND闪存)与磁性硬盘存储器组合的混合驱动器(其可以被称为固态混合驱动器)。

根据一些实施例,发送安全擦除信号包括通过总线将安全擦除信号从擦除器设备发送至存储设备。附加地,总线可以被配置为将擦除器设备与存储设备连接。附加地或替选地,总线可以包括通用串行总线。

根据一些实施例,准备管理安全擦除操作可以包括,当存储设备执行安全擦除操作时,阻止对连接到总线的存储设备和/或总线的访问。

替选地或附加地,准备管理安全擦除操作可以包括向存储设备发送硬复位信号。另外,硬复位信号可以被配置为促使存储设备复位和/或中断其存储设备上的存储操作和/或内部状态机。

替选地或附加地,准备管理安全擦除操作包括向存储设备发送硬复位信号。另外,硬复位信号可以被配置为使存储设备电源循环。此外,准备管理安全擦除操作还可以包括,在向存储设备发送硬复位信号之前,向存储设备发送隐藏区域擦除信号。另外,隐藏区域擦除信号可以被配置为使存储设备擦除主机保护区域和/或存储设备的设备配置覆盖。此外,隐藏区域擦除信号可以被配置为在保留存储设备的系统区域数据时使存储设备擦除主机保护区域和/或存储设备的设备配置覆盖。

根据一些实施例,安全擦除信号可以在存储设备的硬件级别中起作用,其中硬件级别低于操作系统级别。

根据一些实施例,擦除器设备可以被配置为保护安全擦除信号内的数据,使得数据包括用于安全擦除操作的指令,其不被擦除器设备基本输入/输出系统改变。

根据一些实施例,该方法还可以包括:在准备管理安全擦除操作之后及发送安全擦除信号之前,向存储设备发送写入信号;在发送安全擦除信号及完成安全擦除操作之后,向存储设备发送读取信号;及如果第二数据示出第一数据的擦除状态,则向用户提供成功安全擦除操作的反馈。另外,写入信号可以被配置为使存储设备将第一数据写入存储设备上的位置。此外,读取信号可以被配置为使存储设备从这些位置读取第二数据。

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