掌桥专利:专业的专利平台
掌桥专利
首页

磁带存储安全数据擦除

文献发布时间:2024-04-18 19:52:40


磁带存储安全数据擦除

背景技术

本发明总体上涉及磁带存储管理领域,并且更具体地涉及在确定要安全地擦除整个磁带之前安全地擦除位于磁带末端(EOT)位置处的磁带的非活动区域。

分层存储管理(HSM)是在高成本和低成本存储介质之间自动移动数据的数据存储技术。高速存储装置(例如固态驱动器阵列)比较慢速装置(例如硬盘驱动器、光盘驱动器和磁带)更昂贵(每字节存储)。

磁带数据存储器是一种使用数字记录将数字信息存储在磁带上的系统。磁带数据存储更频繁地用于系统备份、数据存档和数据交换。磁带的成本低廉,适合用于长期存储和存档数据。磁带存储介质可以仅被附加,使得新数据总是被附加到磁带的尾端并且更新或删除的数据区域作为非活动区域进行管理。

发明内容

根据本发明的一个实施例,提供了一种计算机实现的方法、计算机程序产品和计算机系统。处理器确定非活动数据区域存在于磁带的磁带末端(EOT)处。响应于确定所述非活动数据区域存在于EOT,处理器通过用不同数据覆写位于所述非活动数据区域的数据来安全地擦除存在于EOT的所述非活动数据区域。

附图说明

图1是示出根据本发明的实施例的计算机环境的功能框图。

图2是描绘根据本发明的实施例的用于安全地擦除带的非活动区域的在图1的计算机环境内执行的安全擦除程序的操作步骤的流程图。

图3示出了根据本发明的实施例的包括非活动文件和活动文件的示例磁带。

图4是根据本发明的实施例的图1的客户端计算装置、磁带库和虚拟磁带库的组件的框图。

具体实施方式

本发明的实施例认识到,由于磁带存储的容量增加,从开始到结束用随机化数据覆写磁带可能花费几个小时,以便防止占用磁带的非活动区域的数据的不适当或偶然访问。实施例认识到,由于在随机化数据时的这种延迟而导致能够重新使用磁带的长等待时间是不期望的。实施例认识到,虽然一些方法利用加密的磁带并且通过从管理这样的密钥的服务器移除解密密钥来防止对数据的访问,但是这样的方法依赖于特定软件/硬件来管理磁带的加密并且不可应用于未加密的磁带介质。本发明的实施例描述了一种用于通过在磁带为空(例如,磁带的有效区域仍然存在)之前将随机化数据添加到位于磁带末端(EOT)处的非活动区域来减少安全擦除磁带所需的时间(例如,用随机化数据覆写磁带)的方法。本发明的实施例可与未加密磁带一起操作。

现在将参考附图详细描述本发明。图1是示出根据本发明的一个实施例的计算环境的功能框图,总体上指定为100。图1仅提供一个实现方式的说明并且不暗示关于其中可以实现不同实施例的环境的任何限制。本领域技术人员可以对所描绘的环境进行许多修改,而不脱离如权利要求所述的本发明的实施例的范围。

在所描绘的实施例中,计算环境100包括互连到网络110的磁带库120、虚拟磁带库130和客户端计算装置150。根据本发明的实施例,网络110可为局域网(LAN)、广域网(WAN)(例如互联网)、公共交换电话网(PSTN)、其任何组合或将支持客户端计算装置150、虚拟磁带库130和/或磁带库120之间的通信的连接和协议的任何组合。计算环境100可以包括附加服务器、计算设备或未示出的其他设备。

虚拟磁带库130可以是例如服务器计算机系统,诸如数据库管理服务器、管理服务器、数据库服务器、网络服务器、结构化查询语言服务器或能够发送和接收数据的计算系统的任何其他电子设备。在一个实施例中,虚拟磁带库130可以是大型机虚拟磁带解决方案。在一个实施例中,虚拟磁带库130可以利用安装在磁带库(例如磁带库120)中的高性能磁带驱动器将数据写入物理磁带存储。在一个实施例中,虚拟磁带库130可以提供磁盘和磁带存储器的分层存储层级。在一些实施例中,虚拟磁带库130可以是由向外部方提供信息技术(IT)服务的网络和服务器(诸如虚拟服务器和部署在虚拟服务器上的应用)的集合组成的数据中心。在一些实施例中,虚拟磁带库130可以是在传统系统(诸如大型机系统)上操作的数据库服务器。在其他实施例中,虚拟磁带库130表示由一个或多个网络互连的计算设备的云,其中虚拟磁带库130是利用集群计算机和组件以在经由网络110访问时充当单个无缝资源池的计算系统。在一些实施例中,虚拟磁带库130包括安全擦除程序140。虚拟磁带库130可包含如关于图4更详细描绘和描述的组件。

磁带库120是与虚拟磁带库(诸如虚拟磁带库130)互连的磁带存储库。一般来说,磁带库120提供通过集成磁带驱动器和一个或多个物理磁带的用户存储数据的能力。在一个实施例中,磁带库120表示多个互连的物理磁带库。

安全擦除程序140运行以安全地擦除位于磁带介质的磁带末端(EOT)位置处的非活动区域处的数据。通常,安全擦除程序通过用随机化数据覆写数据来擦除数据,使得先前位于这样的位置处的数据不能被意外或不适当地读取。安全擦除程序140将位于EOT位置处的非活动区域标记为已安全擦除,使得当安全擦除程序140确定应当擦除整个磁带时,需要安全擦除较少的磁带。在一个实施例中,安全擦除程序140驻留在虚拟磁带库130上。在其他实施例中,安全擦除程序140可以驻留在另一服务器或另一计算设备上,只要安全擦除程序140可以与磁带库120和虚拟磁带库130通信。

客户端计算装置150可为(例如)服务器、桌上型计算机、膝上型计算机、平板计算机、智能电话或能够经由网络110与虚拟磁带库130通信的任何其他电子装置或计算系统。在一些实施例中,客户端计算装置150可以是能够向数据磁带管理服务器(例如虚拟磁带库130)提交一个或多个读取或写入请求的任何合适类型的客户端装置。在一些实施例中,客户端计算装置150包括用于将数据请求提交给数据磁带管理服务器(诸如虚拟磁带库130)的用户界面(未示出)。在一个实施例中,用户界面可以是图形用户界面(GUI)。GUI是一种类型的用户界面,其允许用户通过图形图标和视觉指示器(诸如辅助符号)与诸如键盘和鼠标之类的电子设备进行交互,而不是基于文本的界面、键入的命令标签或文本导航。

图2描绘了在图1的计算环境100内执行的安全擦除程序140的步骤的流程图200,用于通过在空闲时安全地擦除在磁带的EOT处存在的数据、并且在确定磁带上的活动数据量低于阈值时将活动数据移动到另一磁带并且随后安全地擦除磁带的其余部分(例如,先前由于EOT处存在的非活动区域而未被擦除的磁带的区域)来加速磁带上的数据的安全擦除。

在一个实施例中,最初,客户端计算装置150处的主机可以与虚拟磁带库130交互以使数据存储到磁带库120上的磁带。通常,虚拟磁带库130可以包括诸如磁盘的主存储器,并且主存储器的归档数据或备份数据可以存储在磁带库120处的磁带上。磁带库120可以是仅附加存储介质,其中新数据总是被附加到磁带的尾端并且对应于已经被删除或更新的数据的区域被管理为非活动区域。然而,非活动区域通常仍包括数据,并且因此可被意外地或不适当地读取。当更新日期或文件时,将原始数据位置标记为非活动状态,且将新更新的数据或文件添加到磁带的尾部。因而,磁带可包括对应于当前活动的数据或文件的活动区域和对应于已删除或更新的数据或文件的非活动区域。主机可指定容量阈值。容量阈值可以对应于非活动的磁带的总容量的百分比。换言之,当磁带已经从BOT写入到EOT时,随着时间的推移,可以删除或更新有效数据并且创建非活动区域。当非活动区域的百分比超过容量阈值时,安全擦除程序140确定保留在磁带上的有效数据要被移动并且磁带要被擦除,使得磁带可以被重新使用。

通常,可以在磁带库120的每个磁带上周期性地运行安全擦除程序140。在一些实施例中,可以使用定时调度来指定安全擦除程序应当运行的频率。在其他实施例中,安全擦除程序140响应于磁带库120具有处于空闲状态的一个或多个磁带介质而被启动。在这样的实施例中,安全擦除程序140可以能够在不中断任何数据读取或写入请求的情况下运行。

在判定210中,安全擦除程序140确定非活动区域是否超过容量阈值。如上所述,容量阈值可以由主机指定。在一些实施例中,容量阈值由磁带库120或虚拟磁带库130的管理用户指定。虚拟磁带库130可以管理给定数据块号的物理磁带位置的磁带目录。磁带目录还可以指定活动的磁带区域和非活动的磁带区域。在这样的实施例中,安全擦除程序140访问磁带目录以识别与磁带的总存储容量相比非活动的区域的百分比,并且确定该百分比是否超过容量阈值。

如果安全擦除程序140确定非活动区域超过容量阈值(判定210,是分支),则安全擦除程序140进行至步骤240,这在下面讨论。

如果安全擦除程序140确定非活动区域没有超过容量阈值(判定210,否分支),则安全擦除程序140确定非活动区域中的任何一个是否位于EOT(判定215)。再次,安全擦除程序140可以查阅磁带目录以标识磁带上的EOT位置和与EOT相对应的数据。一般而言,安全擦除程序140试图标识在EOT处开始的非活动区域的连续部分。

如果安全擦除程序140确定位于EOT的数据是活动的(判定215,否分支),则程序完成。

如果安全擦除程序140确定位于EOT的磁带区域是非活动的(判定215,是分支),则安全擦除程序140识别从EOT开始的所有连续的非活动区域(例如,从EOT到磁带上的活动数据的下一部分)并且确定来自非活动区域的数据是否已经被安全地擦除(判定220)。

在判定220中,安全擦除程序140确定来自非活动区域的数据是否已经被安全地擦除。在一些实施例中,当针对特定区域进行安全数据擦除时,安全擦除程序140将区域标记为安全擦除(见步骤235和250)。因此,如果安全擦除程序140已经运行多次迭代,则安全擦除程序140可能先前已经执行对数据的安全擦除。安全擦除程序140可以访问磁带目录以确定EOT处的非活动区域是否已经被安全擦除。

如果安全擦除程序140确定来自非活动区域的数据已经被安全地擦除(判定220,是分支),则程序完成。

如果安全擦除程序140确定来自非活动区域的数据尚未被安全地擦除(判定220,否分支),则安全擦除程序140对于连续存在于EOT和磁带的有效区域之间的非活动区域执行安全数据擦除(步骤225)。

在步骤225中,安全擦除程序140对连续存在于EOT和磁带的有效区域之间的非活动区域执行安全数据擦除。如上所述,非活动数据实际上没有被删除并且可能被意外地或不允许地读取。如本文中所描述的,“擦除”数据实际上是用例如随机化数据和/或通常不同的数据覆写,从而使得原始数据不再存在并且不能被访问。因此,安全擦除程序140覆写存在于上述EOT非活动区域中的数据,使得原始存在的数据不可读。由于磁带特性,在磁带中间的非活动区域无法被覆写,而不会导致磁带的后续有效区域变得不可访问。这样,在步骤225中,安全擦除程序140仅重写从开始点至EOT的非活动区域中的数据。

在步骤230中,安全擦除程序140将位于EOT的所识别的非活动区域标记为安全擦除。安全擦除程序140可以将该信息记录在例如磁带目录中。在其他实施例中,安全擦除程序140可以在安全擦除程序140可访问的另一位置处记录该信息。在标记非活动区域之后,程序完成。

在步骤235中,在安全擦除程序140确定磁带的非活跃区域超过磁带的容量阈值之后,安全擦除程序140将位于磁带的该活动区域中的活动数据复制到第二磁带介质。如上所述,虚拟磁带库130可以维护磁带目录,并且安全擦除程序140可以访问磁带目录以确定活动文件/数据的物理磁带位置,并且将活动文件/数据复制到第二磁带。

在步骤240中,安全擦除程序140对磁带的未标记区域执行安全数据擦除。如上所述,安全擦除程序140标记连续连接到EOT的先前擦除的非活动区域,并且因此不需要对这些区域进行安全数据擦除。因此,一旦确定擦除磁带上的所有数据,安全擦除程序140就能够节省时间,因为磁带的一部分可能不需要被擦除,因为所述部分先前已被擦除。与传统处理相比,这可以使磁带被更快地擦除并作为新磁带更有效地重新使用。通常,安全擦除程序140将需要从磁带开始(BOT)直到磁带上的标记区域进行安全数据擦除。安全擦除程序140可以访问磁带目录或安全擦除程序140记录指示已经被安全擦除的非活动区域的信息的其他位置,以确定磁带的需要安全数据擦除的区域。

在步骤245中,安全擦除程序140将磁带的所有区域标记为未安全擦除,或者取决于实施例,仅移除指示已安全擦除非活动区域的任何标记。安全擦除程序140移除这些标记,因为在步骤240执行安全数据擦除之后,现在认为磁带是准备好被重新使用的空磁带。去除标记并将磁带指定为准备好重新使用的空带之后,程序完成。

图3描绘了包括非活动文件310和活动文件320的示例磁带300。虽然磁带300中的文件被描绘为在大小上相等,但是应当注意,这仅仅是为了易于描绘并且实际上可以是不同大小。如所描绘的,安全擦除程序140将仅仅因为能够安全地擦除非活动文件310-3、310-4和310-5而仅仅是作为存在于连续位于EOT处的磁带上的位置的非活动区域中的非活动数据的文件。非活动文件310-1位于BOT处,非活动文件310-2位于活动文件320-1和320-2之间。

因此,在本发明的实施例中,如果安全擦除程序140确定非活动区域不超过容量阈值,则安全擦除程序140将对与非活动文件310-3、310-4和310-5相对应的磁带的区域进行安全数据擦除,并记录这些非活动区域已经被安全地擦除。一旦超过容量阈值,安全擦除程序140就将活动文件320复制到另一磁带,并且对对应于文件310-1、320-1、310-2和320-2的磁带的区域进行安全数据擦除。然而,由于它们已经被安全地擦除,安全擦除程序140将不需要对对应于非活动文件310-3、310-4和310-5的磁带的区域进行另一次安全数据擦除。

图4描绘根据本发明的示范性实施例的磁带库120、虚拟磁带库130和客户端计算装置150的组件的框图。应当理解,图4仅提供一个实现方式的说明并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以对所描绘的环境做出许多修改。

磁带库120、虚拟磁带库130和客户端计算装置150各自可以包括通信结构402,通信结构402提供高速缓存416、存储器406、永久性存储器408、通信单元410和输入/输出(I/O)接口412之间的通信。通信结构402可用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构402可用一个或多个总线或纵横开关来实现。

存储器406和永久性存储器408是计算机可读存储介质。在该实施例中,存储器406包括随机存取存储器(RAM)。一般而言,存储器406可包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存416是快速存储器,其通过保存来自存储器406的最近访问的数据和接近最近访问的数据来增强(多个)计算机处理器404的性能。

安全擦除程序140可以存储在永久性存储器408和存储器406中,用于由相应的计算机处理器404中的一个或多个经由高速缓存416执行。在实施例中,永久性存储器408包括磁性硬盘驱动器。可替代地,或除了磁性硬盘驱动之外,永久性存储器408可以包括固态硬盘驱动、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。

由永久性存储器408使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储器408。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是永久性存储器408的一部分的另一计算机可读存储介质上。

在这些示例中,通信单元410提供与其他数据处理系统或设备的通信。在这些示例中,通信单元410包括一个或多个网络接口卡。通信单元410可通过使用物理和无线通信链路中的任一者或两者提供通信。可以通过通信单元410将安全擦除程序140下载到永久性存储器408。

I/O接口412允许与可连接到磁带库120、虚拟磁带库130和/或客户端计算装置150的其他装置进行数据的输入和输出。例如,I/O接口412可以提供到外部设备418(诸如键盘、小键盘、触摸屏和/或一些其他合适的输入设备)的连接。外部设备418还可包括便携式计算机可读存储介质,诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实施本发明的实施例的软件和数据,例如安全擦除程序140可以存储在这样的便携式计算机可读存储介质上并且可以经由I/O接口412加载到永久性存储器408上。I/O接口412还连接到显示器420。

显示器420提供向用户显示数据的机制,并且可以是例如计算机监视器。

在此描述的程序是基于应用在本发明的具体实施例中实施的来识别的。然而,应当理解,本文中的任何特定程序术语仅为了方便而使用,并且因此本发明不应局限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。

本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。

计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。

本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。

下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。

也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。

附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。

已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不背离本发明的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。在此所使用的术语被选择来最好地解释实施例的原理、实际应用、或优于市场中所发现的技术的技术改进、或使得本领域普通技术人员能够理解在此所披露的实施例。

技术分类

06120116333316