具有可由请求方设备控制的控制字段的存储设备擦除命令的制作方法

文档序号:6596501阅读:174来源:国知局
专利名称:具有可由请求方设备控制的控制字段的存储设备擦除命令的制作方法
具有可由请求方设备控制的控制字段的存储设备擦除命令
背景技术
诸如盘驱动器之类的存储设备包括用于存储诸如文件、目录和其它类型的数据对象之类的数据的存储媒体。典型地,在当用户删除数据对象时,实际删除的信息是对该数据对象的引用信息。实际的数据对象即使在删除之后仍然保留在存储媒体上,这引起了安全或隐私关注。为了实际移除存储在存储媒体上的数据对象,已经定义了存储设备本机安全擦除命令,其通过重复地写预定义模式(例如,包括给定数字,跟随有该给定数字的反,接着再次为该给定数字,然后有时跟随有零的模式,或者某其它模式)来盖写该存储设备中的存储媒体上的一切。在存储媒体上写这些模式的效果是它以使得非常难以从该媒体提取出原始数据的方式来使该存储媒体的极性反转。这有效地破坏了存储在存储媒体上的原始数据并且致使该原始数据不可访问。在一些形式的存储媒体的情况下,可能不必执行使该模式中数字的极性反转。作为又一种替换体,可以采用其它机制来确保原始数据不能被轻易地恢复。 与常规的安全擦除命令相关联的问题是它们或许不提供端用户可能期望的一些特征。


相对于下列附图来描述本发明的一些实施例
图I是本发明的实施例可以结合于其中的示例性布置的框图,其包括存储设备以及耦合到该存储设备的请求方设备;
图2图示了根据一实施例的用于安全擦除命令的控制字段;
图3是根据一实施例的在请求方设备执行的用于发出安全擦除命令的过理的流程和
图4是根据一实施例的在存储设备执行的用于处理安全擦除命令的过理的流程图。
具体实施例方式安全擦除命令可以由请求方设备(例如,计算机、个人数字助理或者其它类型的电子设备)向存储设备发起,以通过利用预定义模式(全零或某其它模式)盖写存储在该存储设备的存储媒体上的内容来破坏或移除该内容。在一些实施例中,所述安全擦除命令由请求方设备的固件发出,其中所述固件可以包括该请求方设备的BIOS (基本输入/输出系统)或统一可扩展固件接口(Unified Extensible Firmware Interface, UEFI)。可替换地,所述安全擦除命令可以由请求方设备的软件发出。如这里所使用的,“请求方设备”是指能够向存储设备提交请求的电子设备。术语“存储媒体”是指一个或多个存储部件,包括基于盘的媒体、半导体储存器或者其它类型的储存器。在一个示例中,安全擦除命令由AT附连规范(AT Attachment specif ication)定义,所述AT附连规范定义了将存储设备附连到主机设备的协议。根据AT附连规范,安全擦除命令被称为安全擦除单元命令。虽然引用了 AT附连规范,但是注意到在其它实施例中,安全擦除命令可以由其它协议定义,或者安全擦除命令可以是非由协议定义的定制命令。另一种提供安全擦除命令的协议是由可信计算组(Trusted Computing Group, TCG)提供的协议。常规的安全擦除命令在它们提供的特征方面是不灵活的。例如,常规的安全擦除命令不允许报告响应于安全擦除命令而执行的安全擦除操作的进度。此外,常规的安全擦除命令不允许请求方设备轻易修改安全擦除命令的操作状态,其中擦除操作的操作状态的修改包括下列中的一个或多个中止安全擦除操作(其促使擦除操作停止)、中断安全擦除操作(其促使存储设备中断以在再继续该擦除操作之前执行另一项任务)、暂停安全擦除操作或者(在该擦除操作已经被暂停之后)重新开始该安全擦除操作。无法收集该安全操作的当前进度或者控制该安全擦除操作的操作状态可能会导致不令人满意的用户体验。例如,用户将不能够确定安全擦除操作将还有多久完成。如另一示例,用户将不能够暂停安全擦除操作并且在其更加方便时在后期阶段重新开始该安全擦除操作。依据一些实施例,在安全擦除命令中提供可由请求方设备控制的控制字段。如这里所使用的,术语“控制字段”是指安全擦除命令的一个或多个部分,所述部分能够由请求方设备改变为不同的值以命令存储设备执行所请求的与安全擦除操作相关联的动作。 所述控制字段可以被设置为不同的值以命令存储设备执行对应的与安全擦除操作相关联的不同动作。将控制字段设置为特定值是指对所述控制字段的任何部分进行调节(例如,将控制字段中的控制位设置为“O”或“I”)。在一个示例中,如果期望的是存储设备提供擦除操作的进度(例如,完成百分比)报告,则可以对控制字段进行调节以使得该控制字段中对应于进度报告动作的部分被设置为适当值。如其它示例,可以对控制字段的其它部分进行设置以指定下列动作中的一个或多个动作中止安全擦除操作、中断安全擦除操作、暂停安全操作操作或重新开始安全擦除操作。此外,可以对控制字段进行设置以指定存储设备的存储媒体中要应用安全擦除操作的范围。例如,可以指定这样的范围的开始地址,其中安全擦除操作要在存储媒体中从该开始地址一直到该存储媒体末尾的部分中执行。作为替换,可以指定开始地址和结束地址这二者以定义存储媒体上要应用安全擦除操作的范围。图I是包括请求方设备100的示例性布置的框图,该请求方设备100通过链路102耦合到存储设备104。存储设备104具有存储媒体106以及控制对该存储媒体106的访问的存储控制器108。例如,存储控制器108能够相对于存储媒体106上所存储的数据执行读操作、写操作、删除操作或其它操作。存储控制器108还可以相对于存储媒体106执行其它任务,诸如响应于安全擦除命令而执行安全擦除操作。存储控制器108具有命令寄存器110。请求方设备100能够发出安全擦除命令,所述安全擦除命令被写到命令寄存器Iio (注意,命令寄存器110还可以接收与存储设备104的操作相关的其它类型的命令)。存储控制器108根据已经被写到命令寄存器110的安全擦除命令执行安全擦除操作。请求方设备100包括存储接口 112以允许请求方设备100与存储控制器108进行通信。另外,请求方设备100具有存储设备驱动程序114,其通过存储接口 112向存储控制器108发出命令。该存储设备驱动程序114可以是请求方设备100中的操作系统116的一部分。请求方设备100还具有应用软件118。请求方设备中包括应用软件118、操作系统116和存储设备驱动程序114在内的的软件模块可在请求方设备100中的一个或多个中央处理单元(CPU)120上执行。(一个或多个)CPU 120连接到请求方设备100中的存储器122。请求方设备还包括显示设备124,其可以被用来显示与在存储设备104处所执行的操作有关的信息,包括安全擦除操作的进度。而且,显示设备124可以被用来显示图形用户界面(GUI)以允许用户提交相对于存储设备104的请求,包括执行安全擦除操作或者与安全擦除操作相关联的动作的请求。响应于来自应用软件118 (或者可替换地,诸如BIOS或UEFI之类的系统固件)的指定要在存储设备104执行安全擦除操作的请求,存储设备驱动程序114创建被发出到存储设备104中的存储控制器108的命令寄存器110的安全擦除命令。根据AT附连规范,此命令被称作F4h命令。图2中描绘了根据示例性实施例的被写到寄存器110的安全擦除命令的控制字段200的内容。注意,并非命令寄存器110中控制字段200的所有内容都在图2中示出。控制字段200包括控制特征分段(section)202,其能够指定要相对于安全擦除操 作执行的各种动作。例如,特征分段202可以具有第一控制位,其可以被设置为预定状态以请求安全擦除操作的进度被向回报告给请求方设备100。其它控制位也可以是控制特征分段202的一部分,诸如用于指定安全擦除操作要被中止的控制位,用于指定安全擦除操作要被中断的控制位,用于指定安全擦除操作要被暂停的控制位,以及用于指定安全擦除操作要重新开始的控制位。控制字段200还包括开始地址分段204,其指定存储媒体106中要对其应用安全擦除操作的部分的开始地址(例如,开始逻辑块地址或LBA)。在一些实施例中,开始地址分段204所指定的范围开始于所述开始地址并且一直去往该存储媒体106的结尾。在可替换的实现方式中,可以指定任意开始地址和任意结束地址这二者,这允许对存储设备上一些数据的有目的擦除。控制字段200还包括状态分段106,其可以被用来指示安全擦除操作直至完成剩余的百分比的近似值(假设控制特征分段202先前被设置为命令存储设备104执行进度报告)。在一个示例中,状态分段206的子分段(被称作“进度报告子分段”)可以具有能够以10%的增量进行调节的值。因此,此进度报告子分段可以具有O和9之间的值,其中9指示90%安全擦除操作完成,而O则指示0%安全擦除操作完成。在其它实现方式中,进度报告子分段可以使用其它值来表示安全擦除操作的进度。例如,报告子系统可以使用刻度和其它技术以将百分点值转换为完成所请求操作所涉及的总时间和完全完成所剩的时间量。状态分段206的另一子分段(被称作“执行状态子分段”)可以指示安全擦除操作的执行状态。例如,所述执行状态子分段可以被设置为不同的值以指示不同的执行状态。例如,第一值可以指示先前安全擦除操作已完成而没有中断或者还未曾运行过安全擦除操作;第二值可以指示先前安全擦除操作被请求方设备中止;第三值可以指示安全擦除操作处于活动执行进度中,而第四值可以指示先前发出的安全擦除命令目前处于暂停状态。重新开始先前被暂停的安全擦除操作可以以若干可能的不同方式之一来处理。例如,先前被暂停的安全擦除操作可以被中止,然后可以发出新的安全擦除命令以开始新的安全擦除操作。可替换地,先前被暂停的安全擦除操作可以被重新开始并接着被中止,跟随有发出新的安全擦除命令。控制字段200还包括指示已经完成的安全擦除操作数目的分段208。控制字段200的另一分段210可以指定最近的安全擦除操作的日期(或时间)。出于示例的目的已经提供了控制字段200的以上元素。在其它实现方式中,控制字段200可以被用来提供与安全擦除操作有关的其它类型的信息,并且控制字段200可以被调整以执行相对于安全擦除操作的其它类型的动作。图3是根据实施例的在请求方设备100中由存储设备驱动程序114执行的过程的流程图。存储设备驱动程序114 (在302)从应用软件118 (图I)(或者可替换地,从系统固件)接收安全擦除请求。所述安全擦除请求可能已经由应用软件118响应于用户请求而发出,所述用户请求诸如通过请求方设备100的显示设备124中所显示的GUI而提交的用户请求。该⑶I可以包括由用户进行填写以指定安全擦除操作的特征以便激活的字段。一个字段可以指定进度报告特征的激活。而且,所述⑶I可以具有其它字段或控制元素以允许用户指定其它特征以便相对于已经开始的安全擦除操作而激活,诸如中止安全擦除操作、中断安全擦除操作、暂停安全擦除操作或者重新开始安全擦除操作。从应用软件118接收的安全擦除请求可以指示所请 求的安全擦除操作的特征已经被激活。响应于所接收的安全擦除请求,存储设备驱动程序114 (在304)生成安全擦除命令,其具有被填充以执行安全擦除请求所指定的动作的对应控制字段200 (图2)。所生成的安全擦除命令然后(在306)被发送到存储设备,其促使该安全擦除命令被写到存储设备104的存储控制器108的命令寄存器110。在一个实施例中,存储设备驱动程序114能够(在308)定期地轮询命令寄存器110以检索与存储设备100可能报告的安全擦除操作相关的信息。例如,存储设备驱动程序114能够定期地轮询命令寄存器110以确定安全擦除操作的完成百分比。存储设备驱动程序于是可以将该完成百分比提供给应用软件118以便呈现给用户或用于某其它用途。在其它实施例中,存储驱动程序114可以由该存储设备通过并不涉及由该驱动程序的主动轮询的另一机制进行通知,诸如经由中断进行通知,或者其它这样的主动通知机制。图4图示了存储设备104 (图I)中的存储控制器108所执行的过程。存储控制器(在402)检测到命令寄存器110已经被填充。响应于检测到命令寄存器110已经用安全擦除命令进行了填充,该存储控制器108 (在404)读取安全擦除命令的控制字段200。基于控制字段200的内容,存储控制器108 (在406)执行对应的(一个或多个)动作,包括激活进度报告或者修改安全擦除操作中的一个或多个。作为执行安全擦除操作的一部分,存储控制器108能够(在408)更新控制字段200的适当部分以提供和该安全擦除操作有关的信息。例如,如果已经激活了进度报告,则控制字段200可以被更新以反映安全擦除操作的当前进度。控制字段200其它能够被更新的部分包括用于指示已经完成的先前安全擦除操作的总数的部分,用于指示安全擦除操作正在进行中的部分,用于指示先前的安全擦除操作完成而没有中断的部分,用于指示最近的安全擦除操作完成的日期(或时间)的部分。图4的任务能够由可在存储控制器108上执行的软件来执行,或者可替换地,所述任务能够由嵌入存储控制器108中的固件来执行。作为又一替换体,存储控制器108可以被配置以固定电路来执行指定任务。某些存储设备可能并不支持以上所讨论的所有与安全擦除操作相关联的各种特征(例如,进度报告、暂停、重新开始、中止、中断等)。请求方设备100的用户可能希望了解哪些特征得到支持而哪些则不被支持。完成此的一种技术是提交具有控制字段的安全擦除命令,所述控制字段被填充以激活特征中对应的一些特征。如果从存储设备接收到指示所提交的安全擦除命令具有不被支持的请求特征的错误,则请求方设备100可以将其解释为该特征不被支持。这为请求方设备100提供了轻易检测哪些特征得到支持而哪些则不被支持的方式。另一种指示这些特征中的哪些得到支持的技术是对存储设备执行识别设备命令,其中该识别设备命令由请求方设备发出以确定该存储设备的配置。从存储设备返回到请求方设备的对该识别设备命令的响应将包含哪些特征得到支持的指示,因此该请求方设备不必发送单独的命令来确定哪些特征得到支持而哪些则不被支持。以上所描述的软件的指令(包括由图I的存储控制器104和存储设备驱动程序114执行的任何软件)被加载以便在处理器(诸如图I中的一个或多个CPU 120或者存储控制器108)上执行。所述处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器),或者其它控制或计算设备。如这里所使用的,“处理器”可以指的是单个部件或者多个部件(例如,一个CPU或多个CPU)。 (软件的)指令和数据存储在相应存储设备中,所述存储设备被实现为一个或多个计算机可读或计算机可用的存储媒体。所述存储媒体包括不同形式的存储器,包括诸如动态或静态随机存取存储器(DRAM或SRAM)、可擦除和可编程只读存储器(EPR0M)、电可擦除和可编程只读存储器(EEPROM)和闪存之类的半导体存储器设备;诸如固盘、软盘或可移动盘之类的磁盘;包括磁带在内的其它磁性媒体;以及诸如紧致盘(CD)或数字视频盘(DVD)之类的光学媒体。注意,以上所讨论的软件指令可以被提供在一个计算机可读或计算机可用存储媒体上,或者可替换地,可以被提供在分布于可能具有多个节点的大型系统中的多个计算机可读或计算机可用存储媒体上。一个或多个这样的计算机可读或计算机可用存储媒体被认为是物品(或制造物品)的一部分。物品或制造物品可以指的是任何制造的单个部件或多个部件。在以上描述中,阐述了众多细节来提供对于本发明的理解。然而,本领域技术人员将要理解的是,本发明可以在没有这些细节的情况下进行实践。虽然已经相对于有限数目的实施例公开了本发明,但是本领域技术人员将会意识到根据其的众多修改和变体。目的是所附权利要求书覆盖落入本发明真实精神和范围之内的这样的修改和变体。
权利要求
1.一种存储设备,其包括 存储媒体; 控制所述存储媒体的访问的控制器,所述控制器用来接收擦除命令,所述擦除命令用于指定对所述存储媒体的至少一个部分的擦除操作, 其中所述擦除命令具有可由向所述存储设备提交了所述擦除命令的请求方设备控制的控制字段,所述控制字段具有一个或多个部分,所述一个或多个部分可设置以促使所述存储设备执行下列中的一个或多个报告所述擦除操作的进度和修改所述擦除操作的操作状态。
2.如权利要求I所述的存储设备,其中报告进度包括报告所述擦除操作的完成百分比。
3.如权利要求I所述的存储设备,其中修改所述擦除操作的操作状态包括下列中的一个或多个暂停所述擦除操作、重新开始所述擦除操作、中止所述擦除操作和中断所述擦除操作。
4.如权利要求I所述的存储设备,其中所述控制器具有在其处由所述请求方设备来写所述擦除命令的命令寄存器。
5.如权利要求I所述的存储设备,其中所述控制字段还包括指定范围的分段,所述范围表示所述存储媒体中要经受所述擦除操作的至少一个部分。
6.如权利要求5所述的存储设备,其中所述控制字段中的所述分段指定定义所述范围的开始地址和结束地址。
7.如权利要求I所述的存储设备,其中所述擦除命令是用预定义模式盖写所述存储媒体的所述至少一个部分的安全擦除命令。
8.如权利要求I所述的存储设备,其中所述控制字段还包括用于提供所述擦除操作的进度指示的分段,其中所述分段是可调整为不同的值以提供所述擦除操作的不同完成状态的指示。
9.如权利要求I所述的存储设备,其中所述控制字段还包括用于指定已经完成的先前擦除操作的总数的分段。
10.如权利要求I所述的存储设备,其中所述控制字段还包括用于指定已经完成的最近安全擦除操作的日期或时间的分段。
11.一种物品,其包括至少一个包含指令的计算机可读存储媒体,所述指令在执行时促使处理器 接收请求以执行安全擦除操作,其中所述请求指定与所述安全擦除操作相关联的至少一个特征以便激活,所述至少一个特征包括下列中的一个或多个对所述安全擦除操作的进度报告;和修改所述安全擦除操作的操作状态; 响应于接收到所述请求而生成具有控制字段的安全擦除命令,所述控制字段根据已经被激活的所述至少一个特征而被用值填充;和 向存储设备发送所述安全擦除命令以命令所述存储设备激活与所述安全擦除操作相关联的所述至少一个特征。
12.如权利要求11所述的物品,其中所述指令在执行时还促使所述处理器 如果发送到所述存储设备的所述安全擦除命令的所述控制字段被用值填充以激活所述安全擦除操作的进度报告,则接收所述存储设备所报告的所述安全擦除操作的进度指示。
13.如权利要求12所述的物品,其中接收所述安全擦除操作的进度指示包括读取所述存储设备中的控制器的寄存器。
14.如权利要求11所述的物品,其中修改所述安全擦除操作的操作状态包括下列中的一个或多个暂停所述安全擦除操作、重新开始所述安全擦除操作、中止所述安全擦除操作和中断所述安全擦除操作。
15.一种控制存储设备的擦除操作的方法,其包括 由所述存储设备从请求方设备接收具有控制字段的擦除命令,所述控制字段被所述请求方设备填充以命令执行下列中的一个或多个报告所述存储设备中的存储媒体的擦除操作的进度;以及修改所述擦除操作的擦除状态; 响应于所述擦除命令,在所述存储设备处执行下列中的一个或多个报告所述存储设备中的存储媒体的擦除操作的进度;以及修改所述擦除操作。
16.如权利要求15所述的方法,还包括 如果所述擦除命令的所述控制字段被填充以命令对所述擦除操作的进度报告,则提供所述擦除操作的进度指示。
17.如权利要求16所述的方法,其中提供所述擦除操作的进度指示包括更新所述存储设备的命令寄存器中的所述安全擦除命令的所述控制字段。
18.如权利要求15所述的方法,还包括 如果所述擦除命令的所述控制字段被填充以命令修改所述擦除操作的操作状态,则执行下列之一暂停所述擦除操作、重新开始所述擦除操作、中止所述擦除操作和中断所述擦除操作。
全文摘要
一种存储设备包括存储媒体以及控制对所述存储媒体的访问的控制器。所述控制器接收用来指定对所述存储媒体的至少一个部分的擦除操作的擦除命令。所述擦除命令具有可由向存储设备提交了所述擦除命令的请求方设备控制的控制字段,其中所述控制字段具有可设置的一个或多个部分以促使所述存储设备执行下列中的一个或多个报告擦除操作的进度和修改擦除操作的操作状态。
文档编号G06F9/06GK102804129SQ200980160279
公开日2012年11月28日 申请日期2009年5月4日 优先权日2009年5月4日
发明者L.E.鲁索, V.Y.阿利, L.王 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1