存取、压缩和跟踪在光盘存储系统中存储的介质的制作方法

文档序号:6349119阅读:158来源:国知局
专利名称:存取、压缩和跟踪在光盘存储系统中存储的介质的制作方法
技术领域
本公开总体上涉及存取在光盘存储系统中存储的介质,并且具体地说涉及存储装置的介质储存库。
背景技术
因为数据丢失的结果往往是极其严重的,所以已经开发了用于归档要长期存储的数据的方法。传统上,已经存在用于持久存储的两种选择或者在线保持数据,或者数据已经归档。在线数据提供了按可搜索格式迅速存取的优点。归档数据提供了可移除、提供长期存储和释放在诸如硬盘驱动器的高成本在线存储子系统上的空间的优点。用于存储数据的ー种替代方式是将数据复制到磁带上来归档。磁没有被设计成提供对信息的方便快捷的存取。它通常以专有的备份格式被写入,并且仅能按顺序被捜索。它被设计用于当主存储器故障时的备份数据的不经常的和不大可能发生的检索。它是考虑密度而不是考虑存取而设计的。磁带除了可存取性的缺点之外,还存在在非期望为永久的介质上存储重要档案的风险。磁带用于周期地重写文件,而不是以永久蚀刻的、不可改变的形式来保留珍贵的固定内容。不像特定类型的光介质那样,磁带不是天然地符合一次写入多次读取(WORM)的,并且磁带对于诸如磁干扰的环境影响敏感。因此,磁带不能很好地适用于归档高价值内容。


图1图示根据--个实施例的混合存储装置的软件体系结构。
图2图示根据--个实施例的、使用具有LUN层的混合存储装置写入数据的操作。
图3图示根据ー 个实施例的、使用具有LUN层的混合存储装置来读取数据的操作
图4图示根据--个实施例的LUN块映射。
图5图示传统UDF布局的示例。
图6图示根据--个实施例的修改的UDF布局。
图7图示根据--个实施例的产生包含压缩文件的增量的方法。
图8图示根据--个实施例的从归档文件存取压缩数据的方法。
图9图示了根据ー个实施例的光介质云。
图10图示根据-一个实施例的介质标签和多盘舱清単。
图11图示根据-一个实施例的建立清单的方法。
具体实施例方式附图描述的实施例仅用于说明的目的。本领域内的技术人员容易从下面的说明认识到,可以在不偏离在此所述的原理的情况下使用在此所述结构和方法的替代实施例。配置概述所公开的实施例包括用于存取和压缩在光介质库中存储的数据的方法、系统和计算机可读介质。在一个实施例中,混合存储设备的模拟层允许具有WORM属性的光介质的ー 个或多个库看起来如同具有非WORM特性的ー个或多个逻辑块装置。在另ー个实施例中,来自用户文件的数据被介质库设备按数据块来压縮,以使得在压缩的用户文件中粗粒度查找是可能的。在另ー个实施例中,介质云被混合存储设备使用,用于在数据的建立、恢复和分发期间从光介质、库机器人、光学驱动器和网络连接中的故障无缝地恢复。其他实施例提供了利用库内使用介质标签和盘舱清单跟踪光介质的方法、系统和计算机可读介质。附接到介质盘舱的清单包括关于在盘舱中所含的每ー个介质的详细信息。另外,每ー个介质具有相关联的介质标签,该介质标签在库内到处跟随着该介质。介质标签被存储在例如该介质所驻的装置上的快闪存储器中,不论它在盘舱中、机器人滑橇中或光盘驱动器中。逻辑块装置的樽拟混合存储设备(“HSA”)的模拟层允许具有WORM属性的光介质的ー个或多个库看起来如同具有非WORM特性的ー个或多个逻辑块装置。在一个实施例中,直接附接的逻辑单元编号存储接ロ被提供来用于存取在HAS上的数据的逻辑单元。图1图示HAS的软件架构 1000的示例实施例。HAS用作数据管道。经由客户机计算机来访问该管道的一端,并且另一端是光介质。在一个实施例中,客户机使用网络文件服务器(NFS)或通用因特网文件服务器(CIFS) 文件共享协议来向管道写入数据。网络文件服务器守护(NFSD)和服务器消息块守护 (SMBD)块处理文件服务协议,并且从XFS表示的高速缓存文件系统读取数据或向XFS表示的高速缓存文件系统写入数据。被高速缓存的数据存储在硬盘上。当建立文件和改变吋, XFS经由数据迁移应用程序接ロ(DMAPI)向命令和控制守护(CXD)通知这些尝试。CXD可以然后确定允许存取、拒绝存取或延迟存取直到所需数据可用。当在XFS中建立文件吋, CXD监控文件,直到文件不再改变。此时,CXD将文件标注为不可变。接下来,CXD使用UDF 图像产生器向进行中的通用磁盘格式(UDF)文件系统实例添加该不可变的文件。UDF图像产生器向在集结区(staging area)中存储的UDF文件系统图像内写入不可变的文件。一旦UDF文件系统图像是满的,则UDF图像产生器引导单板计算机守护(SBCD)以向光盘复制 UDF文件系统图像。SB⑶使用机器人(robotics)向驱动器内移动适当的光盘,然后执行复制操作。一旦在光盘上存储了数据,则可以清除在高速缓存文件系统(xre)中存储的数据的副本,释放在高速缓存中的空间。在将来,NFS或CIFS客户机可能希望存取已经从高速缓存文件系统清除的数据。 当这样的事情发生吋,DMAPI通知CCD需要从光盘检索不在高速缓存文件系统中的数据。 C⑶然后引导SB⑶向驱动器内加载适当的光盘,读取所需的数据,并且将其发回(XD。CXD 然后向高速缓存文件系统内写回数据,然后向XFS通知,所需的数据又可用了。XFS然后让 NFSD或SMBD向做出请求的客户机返回数据的副本。
图1图示从外部世界来存取光盘存储系统(ODSS)的三种方式,即联网共享、持久存储空间(PSQ和监控。在各个实施例中,存储和检索数据的客户机使用联网共享,配置 ODSS的管理员使用PSS,并且管理员经由监控模块来监控0DSS。自动唱机(Jukebox)管理器(JBM)跟踪光盘位于何处以及它们是在使用中还是在空闲中。当CCD需要向光盘写入或从光盘读取时,它与JBM协商,以调度对于光盘的存取。 一旦JBM许可存取,则CCD可以引导JBCD执行所需的任何存取。当存取完成吋,JMB将所涉及的光盘标注为空闲,并且调度等待该介质的任何其他存取者。在HAS的一些实施例中也包括逻辑卷管理器(LVM)和/或廉价磁盘冗余阵列 (RAID)。ODSS使用LVM和/或RAID来收集物理光盘驱动器,并且将它们当作具有保护的较大的逻辑盘驱动器,以防止由单个磁盘驱动器的故障引起的数据丢失。如图1所示,软件体系结构1000包括因特网小计算机系统接ロ( “iSCSI”)140、 逻辑单元编号(“LUN”)层150和XFS文件系统160。接ロ 140接受标准盘块装置SCSI命令,并且与位于XFS文件系统160顶部的LUN层150通信。LUN层150将LUN映射到HAS持久存储空间(“PSS”)。LUN中的逻辑块被映射到可通过XFS文件系统160存取的HSA PSS 中的文件。結果,iSCSI 140使得HAS对于客户机看起来如同是标准磁盘装置,而非磁带装置。因此,可以建立、存取、编辑和删除在HSA PSS中的文件,就像它们被存储标准磁盘装置上。图2和3更详细地图示了相对于具有LUN层150的HSA写数据和读数据的操作。图2图示使用具有LUN层150的HSA 230来写入数据的操作的示例实施例。客户机应用220发出写命令221,HSA 230接收该命令。SCSI命令描述符块(“⑶B”)将该写命令映射232到数据库块。该块被映射233到PSS文件,该PSS文件最后被写在234介质库内的光介质存储盘240上。PSS文件的结果位置被存储用于未来的存取。传回235文件系统文件建立和写入的状态,作为文件建立和写入处理的結果。该结果被映射236到适当的 SCSI误差和感测代码,如由用于块装置写入的标准SCSI规范所定义的。然后从HSA 230向客户机应用220发送SCSI误差和感测代码227。图3图示了使用具有LUN层150的HSA 230来读取数据的操作的示例实施例。客户机应用220发出读命令331,HSA 230接收该命令。SCSI⑶B将该读命令映射332到适当的数据块。该适当的数据块然后被映射333到对应的PSS文件,该PSS文件最终从介质库内的光介质存储磁盘240被读取334。文件读的状态和从文件读取的数据被传回335和映射336到适当的SCSI误差和感测代码,如由用于块装置读取的标准SCSI规范所定义的。然后从HSA 230向客户机应用220发送SCSI误差和感测以及从文件读取的数据337。图4图示LUN块映射的ー个示例实施例。LUN层150将块映射到HSA PSS。因此, 逻辑块请求被翻译为XFS文件存取。在一个实施例中,多个顺序的块被映射到单个文件。例如,如图4中所示,LBA 0和LBA 1已经被映射到单个XFS文件“blk_0_verS_0”。使用文件版本化来处理对于块的任何修改或改变。当块改变吋,建立具有増量式版本的新的文件,并且删除对于前ー个文件/旧版本的參照。因此,如果LBA 1的数据改变,则建立具有数据的新文件“blk_0_vers_l”,并且删除对过期的文件“blk_0_vers_0”的參照。在一个实施例中,LUN层150仅在任何文件的最新版本处存取,因此存取文件的最新的当前版本。結果, 具有WORM属性的光介质的库对于客户机应用220看起来如同是具有非WOMR特性的ー个或多个逻辑块装置。
文件压缩在一个实施例中,当用户文件内容被写入介质库的通用磁盘格式(“UDF”)档案卷内吋,该用户文件内容被压縮。对UDF增量的文件压缩带来的问题是,如果不实际对其压縮,则该压缩文件的大小是未知的。为了压缩文件,必须读取内容,并且期望仅读取文件内容一次来产生增量。因此,在一个实施例中,压缩文件内容的动作把压缩的数据置于所产生的増量内。压缩带来的另ー个问题是当用户要从大的归档文件检索数据的小部分吋,解压大量的数据造成低效。期望压缩数据而使得在压缩的用户文件中粗粒度查找是可能的。图5图示传统UDF布局的示例。UDF是描述在UDF文件系统内的磁盘块的格式和布置的标准。在图5中的各个块是由UDF文件系统定义来定义的区域,可以在欧洲计算机制制造商协会167中找到该UDF文件系统定义,也被称为ECMA-167标准。在一个实施例中, 除了该标准UDF文件系统定义之外,从图5的顶部直到ECC数据开始的点,被称为误差校正代码(ECC)数据的块存储被写入UDF文件系统的所有数据的校验和。如果在被做校验和的区域中的块损坏,使得由光学驱动器和介质使用的ECC不足以恢复数据,则使用ECC来尝试另ー级的数据恢复。如图5中所示,在压缩用户数据之前,写入文件系统元数据。图6图示根据本发明的一个实施例的修改的UDF布局。在一个实施例中,在修改的UDF布局中,从图6的顶部开始尽可能按顺序执行写入。通过位于UDF文件系统的用户数据区域中的文件的大小来确定文件系统元数据的内容。当压缩数据时,不能预先知道压缩文件的大小。因此,为了避免两次压缩数据,将数据压缩到UDF文件系统的用户数据区域内,并且同时获得压缩文件的大小。因此,首先向UDF文件系统内写入压缩的用户数据,以产生文件系统元数据。如图6中所示,为了允许压缩数据直接地流送到UDF文件系统增量内,用户数据的位置被移动到增量的分区的起点。跟随压缩用户数据的是文件系统元数据。现有的増量生成处理被划分为两个阶段。第一阶段收集了用于冻结文件的元数据,将对应的UDF元数据构造为存储器内树结构,并且重复这些步骤,直到被组装的UDF增量变满。如果大文件不能装在増量中的剰余空间,则允许对增量调整大小一次。一旦増量为满,则用于增量的磁盘空间(例如,磁盘空间的充足数量的扇区)被预先分配,并且通过下述方式来产生UDF増量合成UDF元数据,将用户文件数据复制到増量内,并且向増量内写入所建立的纠错码数据。图7图示根据ー个实施例的、用于产生包含压缩文件的增量的方法700。对现有的増量生成处理的改变是,在步骤701,至少部分地基于进入増量内的第一文件的大小来选择增量的大小。如果第一文件小于期望的増量大小,则当增加另外的数据时,使用期望的増量大小。如果第一文件大于期望的増量大小,则调整增量的大小使得它可以包含该文件。在步骤702中,利用选择的増量大小,可以分配跟随在压缩用户数据之后的文件集描述符的地址。例如,文件集描述符的地址可以是通过纠错码保护的在増量内的最后两个扇区。一旦増量大小是固定的并且对増量文件分配空间,则在步骤703,向UDF増量文件写入用户数据的前同步码。在一个实施例中,该前同步码包括图6中压缩的用户数据之上的项目,其中包括卷标识序列、主卷描述符序列和锚定卷描述符指针。在步骤704中,用户文件被读取、压缩并写入到UDF増量。在压缩文件被写入吋, 在步骤705中,使用文件位置和文件目录信息来更新在存储器内的UDF元数据。在ー个实
8施例中,建立用于每一个文件的压缩数据块目录,其被写入到UDF元数据内。当向增量增加文件时,最后到达一点,此时没有足够的空间来存储下一个文件及其元数据。当在增量内没有剩余足够的空间来容纳下一个文件及其元数据时,在步骤760中,UDF元数据被写入该增量内。在UDF元数据被写入增量文件后,在步骤707,写入尾部UDF信息。在一个实施例中,尾部UDF信息包括图6在文件系统元数据下面的项目,包括文件集描述符、纠错码数据、保留卷描述符序列、锚定卷描述符指针和虚拟分配表文件项。在写入尾部UDF信息后,该增量完成。在一个实施例内,用诸如64M字节的预定大小的数据块来压缩文件。在一个实施例中,该64M字节的数据块是优选的大小,因为通常以64M字节的块来重新调用文件内容;然而,注意可以使用更大或更小的数据块大小。压缩用户文件包含从文件读取64M字节(或更小),将该数据块压缩到另一个缓冲器内,然后将压缩结果写入UDF增量内。重复这个处理,直到文件完全在该增量中。如果压缩数据块的尝试导致比64M字节大的数据块,则将未压缩的数据库写入该增量内。因为最终目标是节省档案介质上的扇区,所以压缩文件应当导致节省至少一个扇区的空间(在一个实施例中为2048字节),以证明压缩是合适的。否则,以未压缩状态来归档该数据。文件的每一个64M字节数据块(压缩与否)相对于被存储到压缩的数据块目录内的文件的起点具有一个字节的偏移。每一个文件具有压缩数据块目录,如参考步骤706上述,其被例如存储在文件的UDF扩展属性中。在文件重新调用期间使用该压缩的数据块目录,以迅速定位在压缩的归档文件中的任何64M字节数据块。图8图示根据一个实施例的、从归档文件存取压缩数据的方法800。在步骤801中,从归档文件获得包含压缩数据的档案介质的卷ID。在一个实施例中,每一个归档文件在用于包含该文件的PSS的高速缓存文件系统中有存根。在一个实施例中,存根是同一名称的零长度文件,具有扩展属性带有用来从光介质恢复文件数据所需的信息。这些信息包括卷的列表(烧录的光盘)和用于每一个卷的文件的范围的列表。每一个范围详细描述了在光介质上的位置和其大小。对于压缩的增加,需要知道期望重新调用的压缩数据位于文件的压缩数据的何处。在步骤802中,从数据块目录获得期望的压缩数据的位置。如上所述,在用于每一个压缩文件的UDF扩展属性中存在压缩数据块目录。为了允许文件重新调用代码迅速取得压缩数据块目录,在一个实施例中,数据块目录的位置被存储在该文件的高速缓存文件系统扩展属性中。在一个实施例中,使用缓冲器来保持压缩的数据块目录。重新调用处理读取指向扩展属性的压缩数据块目录。然后,可以识别包含压缩数据的档案扇区。在步骤803中,解压缩被识别扇区中的压缩数据。重新调用归档文件的内容要求,如果文件的内容被压缩,则解压缩该文件的内容。通过压缩文件的压缩数据块目录的存在来检测压缩文件。在一个实施例中,如果没有目录,则假定该文件是未压缩的。因为在一个实施例中以64M字节数据块来执行压缩,所以使用两个64M字节缓冲器来用于文件重新调用处理一个包含压缩数据,一个存储当其未被压缩时的未压缩数据。上述的用于压缩用户数据并且存取压缩的用户数据的处理与在本领域中已知的许多压缩算法是兼容和互补的。在一个实施例中,使用LZO压缩算法。能够从http://WWW.oberhumer. com/opensource/lzo 获得 LZO 压缩算法。从介质云的无缝恢复混合存储装置(“HSA”)对于很大的文件集合提供在线档案存取。在一个实施例中,在光介质云(cloud)中以各种形式来分发文件。这种云指的是在库中存储的所有光介质,它们本地附接到该HSA或经由WAN/LAN或姐妹HSA远程连接到该HSA。底层光介质的特性不允许使用传统技术来做冗余和自动误差恢复。传统的文件系统通过块装置备份,该块装置允许诸如镜像和奇偶校验驱动器的各种级别的RAID。HSA通过基于文件的光介质备份,因此使用不同的技术来从用于在库和光介质上建立、恢复和分发数据的光介质、库机器人、光学驱动器和网络连接中的故障无缝地恢复。图9图示光介质的云100的一个实施例。介质云100涵盖本地的多个库以及经由姐妹HSA远程连接的库。如图9中所示,云100包括具有本地附接的库111和112的HSA服务器110 ;以及,具有其附接的库121和122的远程HSA服务器120。远程HSA服务器120通过通信网络101连接到HSA服务器110。在一个实施例中,通信网络101是WAN或LAN,但是在其他实施例中,通信网络是内联网或因特网。在一个实施例中,当问题在云100的一部分中产生时,经由通信网络101将请求路由到云100的其他部分以得到执行。对于文件存储,文件首先在服务器上显现在前端文件系统高速缓存中。文件经过等待时间段,然后它们冻结并且被标注适于迁移到光介质。例如,如参考图7所述,建立包含一个文件、或一个文件的一部分或多个文件的增量。当增量准备好,选择库、一个介质和光学驱动器以烧录增量。一个介质可以包含一个或多个增量。增量可以被烧录到多个介质用于冗余。然后可将介质定位在介质云100中的任何位置。一旦已经在增量中布置了文件,则从系统去除文件,并且留下存根,这在下一次存取数据时触发向前端高速缓存的文件恢复。如上所述,在一个实施例中,存根是同一名称的零长度文件,其具有扩展的属性带有用于从光介质恢复文件数据所需的信息。这个信息包括卷(烧录的光盘)的列表和用于每一个卷的文件的范围的列表。每一个范围详细描述了在光介质上的位置及其大小。如果在烧录处理期间出现故障,则获取库、介质和光学驱动器的新的组合,并且处理继续,直到已经建立了增量的一个或多个副本。在一个实施例中,在介质云100中的数据的最后位置通常不被HSA服务器110的用户知道。当作出通过前端文件系统高速缓存存取文件的请求时,从介质云100恢复文件。文件存根存取触发向介质云100作出请求。基于资源可用性来选择包含文件的一个介质。如果文件存在于单个介质,则决定仅仅是何时调度把该介质加载到可用的驱动器。如果介质存在于云100中的多个位置,则决定要基于相对于远程库121和122对于本地库111和112的偏好以及基于库和/或在库内的驱动器可用性。如果在试图存取这个介质时出现故障,则云自动地选择库、驱动器和光介质的新的组合。在一个实施例中,自我修复介质云100具有下面的属性 当前一个请求停止时,失败的请求开始。如果从前一介质组合拉出数据,则将使用前一介质组合并且不从当前介质组合重新读取。这节省了时间,并且保留了处理资源。 如果驱动器故障,则介质被移动到同一库内的不同驱动器。 如果库故障,则将请求转发到包含介质的副本的另一个库。
如果介质故障(例如,盘故障),则将使用介质的不同副本。故障的介质将作废,并且可以建立介质的新副本来替代它。当数据到达服务器的前端高速缓存中时,数据被发回该数据的原始请求者。终端用户不必被通知或甚至知道介质云100如何满足用户的请求。在一定时段不活动后,文件的内容被从前端高速缓存清除,并且再一次被替换为存根。在一个实施例中,在这个清除期间不向光介质写入数据。介质云100提供用于在库和光介质上的数据的建立、恢复和分发的自动故障恢复。介质云100可以从在库、驱动器和光介质中的故障恢复,并且,介质云的行为可以对于HSA的终端用户是透明的。肖躺麻■離& Ig Φ跟踪籠在一个实施例中,混合存储装置(HSA)在一个库中支持500个介质。这种介质在库内的514个位置之间移动,包括存储盘舱、盘传送组件和介质驱动器。光介质通常位于频繁地移入和移出库的小的(例如,25个插槽)或大的(例如,225个插槽)盘舱中。因为每一个盘的内容的加载和读取根据配置可能花费超过2小时,所以使用一种机构来跟踪库中的每一个盘的位置以及盘的内容的摘要。当盘舱移入和移出库时,这个信息也在盘舱中跟随在盘之后。对每一个盘舱建立清单(manifest),该清单具有关于该盘舱包含的每一个介质的详细信息。在一个实施例中,这个清单例如被维持在物理附接到介质盘舱的主体的快闪装置中。也可以使用替代的存储机构或存储装置。在一种实现方式中,快闪装置也附接到在库内的光学驱动器和用于在盘舱的插槽和光学驱动器之间传送介质的机器人滑橇的主体。每一个介质具有相关联的介质标签,介质标签在库内跟随在该介质之后。介质可驻于盘舱、机器人滑橇或光学驱动器中。介质标签被存储在该介质当前所驻的装置上的快闪或另一个存储介质中,不论该装置是盘舱、机器人滑橇或光盘驱动器。图10图示根据一个实施例的、介质标签1001和多盘舱清单1010。在这个示例中,介质标签1001包含用于指示该介质标签是否有效的信息;用于指示介质标签是否被映射到盘舱清单1010项的信息;盘舱位置1004的指示符,其具有盘舱清单101以包含具有关于与介质标签1001相关联的介质的详细信息的清单项;以及,对于盘舱清单的索引1005,其指向在清单中的位置,在该位置处,可以找到具有与介质标签1001相关联的介质的详细信息的项。盘舱清单1010包含与相应盘舱中的每一个介质对应的项。在一个实施例中,清单项未被绑缚到在盘舱中的特定插槽,而是与具有介质标签的介质相关联。图11图示根据一个实施例的、用于建立清单1010的方法。盘舱在未初始化的状态中在库中启动。在步骤1101中,对未初始化的盘舱检测清单和介质标签的缺少。在步骤1102中,例如在附接到盘舱的快闪装置中,建立和存储用于未初始化的盘舱的空清单1010。在步骤1103中,然后检查在盘舱中的每一个插槽以查看是否它包含盘。满的插槽被提供有效1002标签并且未被映射。这向库指示已知在插槽中存在介质,但是还没有查看它。在步骤1104中,还没有被查看的每个介质被加载到驱动器内,并且被检查以确定其内容。然后,在步骤1105中,当被查看的盘从驱动器移回到盘舱时,在盘舱清单1010中的清单项被分配和更新。重复步骤1104和1105,直到所有的盘具有更新的清单项。清单项的位置用于建立新的“映射的” 1003介质标签,并且用于该介质的介质标签1001被更新。
当库启动时,按一种实现方式,该库执行在库中存在的所有介质的清点(inventory) 0根据盘舱、机器人滑橇和驱动器上的各快闪装置的内容建立这种清点。对于盘舱,清单项1010和介质标签1001驻于盘舱快闪装置中,使得盘舱可以被取出和重新布置在库中,并且仍然提供对该清点的即时访问。作为这种清点的结果,向该库提供地图,该地图用于指示介质的位置以及相关联的介质标签1001。如果一个介质具有介质标签1001,则从盘舱的快闪装置检索对应的清单项。这种初始清点处理很快地发生并且避免需要将盘加载到驱动器或将盘寄存到特定位置。在一个实施例中,在正常运行期间,当盘在驱动器中时(例如,向介质写入数据),仅在执行操作后修改清单项。然而,向驱动器内加载盘仅读取其内容时,清单内容不变。当盘在驱动器中时,对于盘执行操作后,将介质的当前状态与在它未被加载时在清单1010中的介质的记录状态作比较。如果状态不同,则更新该清单1010以反映当前状态。如上所述,清单项未被绑缚到在盘舱中的特定插槽,而是将清单项与具有介质标签1001的介质相关联。这允许介质在盘舱、机器人滑橇和光盘驱动器内任意地各处移动,而无需改变清单项。在一个实施例中,在正常运行期间,除了下面的情况之外,介质标签1001保持不变 当在插槽内出现新盘时。如上所述,当向盘舱增加新盘时,介质标签1001被设置为有效1002,而没有映射1003。 当新盘被第一次检查并且被分配清单项时。介质标签1001被设置,使得包括和指示到盘舱清单1010项的映射1003。此时也可更新盘舱位置1004和介质标签1001的清单索引1005。 当从一个盘舱向另一个移动盘时。从源盘舱向目的地盘舱复制清单项。源清单项被释放。介质标签1001被修改以指示目的地盘舱的盘舱位置1004和在目的地盘舱中的清单项的清单索引1005中的新的位置。 当在库中更换盘舱时。介质标签1001基于在库中的双亲盘舱的位置1004来跟踪双亲盘舱。因为当移入和移出库时,盘舱位置可以改变,所以介质标签1001可能出发指向错误的盘舱位置。在一个实施例中,当库第一次清点盘舱时,库查看以保证介质标签1001参照正确的盘舱位置1004。如果它们不是这样,则更新介质标签1001以反映在库中的新的盘舱位置1004。因此,盘舱向库内新位置的移动对于清点目录没有重要影响。因为除了如上所述的特定情况,介质标签1001在正常运行期间保持不变,所以更新介质标签1001和清单的频率是可管理的。因此,介质标签和盘舱清单提供了用于当介质移入、贯串和移出库时跟踪库中的介质的方便的机制。其他配置考虑上面的描述被用来说明实施例的操作,并且不意味着限制本公开的范围。从上面的说明,许多变化形式对于本领域内的技术人员是显然的,这些许多变化形式仍然被在此给出的精神和范围涵盖。本领域技术人员也从在此的教导理解其他实施例。部件的特定命名、术语的大写、属性、数据结构或任何其他编程或结构方面不是强制或有特别含义的,并且实现特征的机构可以具有不同的名称、格式或协议。在在此所述的各个系统部件之间的功能的具体划分也仅是示例性的,而不是强制的;由单个系统部件执行的功能可以被多个部件执行,并且由多个部件执行的功能可以被单个部件执行。
在此给出的方法和操作并不是固有地与任何特定的计算机或其他设备相关。多个这些系统所需的结构以及等同的变化形式对于本领域内的技术人员是显而易见的。另外,在此的公开不是相对于任何具体的编程语言被描述的。可以明白,可以使用多种编程语言来实现在此所述的教导,并且对于特定语言的任何参照被提供来用于所公开的实施例的实现和最佳方式。所公开的实施例良好地适合于在多种布局上的大量的计算机网络系统。在本领域内,大型网络的配置和管理包括通过诸如因特网的网络可通信地耦合到不类似的计算机和存储装置的存储装置和计算机。最后,应当注意,在说明书中使用的语言主要被选择来用于可读性和指导目的,而不是已经被选择来界定或限制本发明的主题。因此,这里的公开是用作保护范围的说明,而不是限定。
权利要求
1.一种用于使用具有一次写入多次读取(WORM)特性的光介质的库来模拟具有非WORM 特性的逻辑块装置的方法,所述方法包括提供逻辑单元编号层,所述逻辑单元编号层接收小计算机系统接ロ(SCSI)协议命令并且把參照逻辑块的所述命令映射到包含所述逻辑块的文件的当前版本,所述文件被存储在具有WORM特性的光介质的库中; 接收对于所述逻辑块的修改;建立包含被修改的逻辑块的新文件,所述新文件是增量式版本,其中,所述增量式版本变为所述文件的当前版本;以及在所述光介质的库中存储所述新文件。
2.根据权利要求1所述的方法,进ー步包括删除对于所述文件的前ー个版本的參照。
3.根据权利要求1所述的方法,其中,所述文件是XFS文件。
4.根据权利要求1所述的方法,其中,文件包含多个顺序逻辑块。
5.一种用于压缩数据以用于档案存储的方法,包括至少部分地基于要包含在増量中的第一文件的大小来选择增量大小; 把数据的文件压缩成数据块; 把压缩的数据块写入所述增量;使用被压缩用户文件位置和文件目录信息来更新存储器内的元数据;并且把所述元数据写入所述增量。
6.根据权利要求5所述的方法,其中,至少部分地基于所述第一文件的大小来选择增量大小包括响应于所述第一文件大于期望的増量大小,増加所述增量的所述大小以包含所述文件。
7.根据权利要求5所述的方法,其中,所述文件目录信息包括所述增量中的每ー个文件的压缩数据块目录,其中,相对于该文件的起点的字节偏移被存储到相应的压缩数据块目录中。
8.一种用于从介质云恢复数据的方法,包括 在前端文件系统高速缓存接收数据的文件; 在至少ー个光介质上的増量中存储所述文件; 从前端文件系统高速缓存去除所述文件;在所述前端文件系统高速缓存中存储用于所述文件的存根,所述存根包括文件,该文件具有与被存储文件相同的名称,并且具有扩展属性用来标识该被存储文件在光介质上的一个或多个存储位置;通过所述前端文件系统高速缓存接收存取所述被存储文件的请求;以及从所述存根所标识的光介质上的存储位置存取所述被存储文件。
9.根据权利要求8所述的方法,其中,所述扩展属性标识所述被存储文件在光介质上的多个存储位置,并且其中,从在光介质上的存储位置存取所述被存储文件包括从存储库、光介质的项目和光学驱动器的第一组合读取所述被存储文件的第一部分;以及响应于为读取所述被存储文件的第二部分的所述第一組合的失败,从存储库、光介质的项目和光学驱动器的第二組合读取所述被存储文件的第二部分,其中,所述第二組合不同于所述第一組合,并且其中,所述第二組合不读取由所述第一组合读取的所述被存储文件的所述第一部分。
10.根据权利要求8所述的方法,其中,从所述存根所标识的光介质上的存储位置存取所述存储的文件包括选择存储库、光介质的项目和光学驱动器的第一組合以读取所述被存储文件;以及响应于防止完成所述读取的所述光学驱动器的故障,将光介质的所述项目移动到在所述存储库内的另ー个光学驱动器,以完成所述读取。
11.根据权利要求8所述的方法,其中,所述扩展属性标识所述被存储文件在光介质上的多个存储位置,其中,从所述存根所标识的光介质上的存储位置存取所述被存储文件包括选择存储库、光介质的项目和光学驱动器的第一組合以读取所述被存储文件;以及响应于防止完成所述读取的所述存储库的故障,从所述存储文件在不同库中的光介质上的另外存储位置存取所述被存储文件。
12.根据权利要求8所述的方法,进ー步包括响应于所述请求来传递所述被存储文件;以及从所述前端文件系统高速缓存清除所述被存储文件,并且把所述被存储文件替换为所述存根。
13.一种用于管理在光介质库存储设备中的包含多个光介质的盘舱的清单的方法,所述方法包括对所述盘舱中的每ー个光介质建立清单项,所述清单项具有关于该光介质的内容的详细信息,每ー个光介质与被映射到相应的清单项的介质标签相关联;响应于从驱动器卸载ー个光介质,把该光介质的当前状态与介质标签所标识的相应清单项中的该光介质的记录状态作比较;响应于所述当前状态不同于所述记录状态,更新相应的清单项以反映所述当前状态。
14.根据权利要求13所述的方法,其中,所述清单项被存储在所述盘舱上的快闪存储器中。
15.根据权利要求13所述的方法,其中,所述光介质库存储设备包括至少ー个盘舱、至少ー个盘传送组件和至少ー个介质驱动器,并且其中,每ー个盘舱、盘传送组件和介质驱动器包括存储装置,其中,所述存储装置存储与当前驻于所述盘舱、盘传送组件和介质驱动器的每ー个光介质相关联的介质标签。
16.根据权利要求13所述的方法,进ー步包括响应于盘舱插入到所述光介质库存储设备,通过访问所述清单来执行所述盘舱的所述内容的清点。
17.根据权利要求13所述的方法,进ー步包括响应于ー个光介质被从源盘舱移动到目的地盘舱,在该源盘舱的清单中删除用于该光介质的清单项。
18.根据权利要求13所述的方法,其中,所述介质标签包括对应于具有所述光介质的清单项的盘舱的盘舱位置的指示。
19.根据权利要求18所述的方法,其中,响应于所述盘舱被从所述光介质库存储装置中的第一盘舱位置取出并且被插入第二盘舱位置,更新每ー个光介质的介质标签中的盘舱位置的所述指示,对于这每ー个光介质,所述盘舱具有清单项。
全文摘要
提供了用于存取和压缩在光介质库中存储的数据以及跟踪在库内的具有介质标签和盘舱清单的光介质的方法、系统和计算机可读介质。在一个实施例中,混合存储设备的模拟层允许具有一次写入多次读取(WORM)属性的光介质的库看起来如同是具有非WORM特性的逻辑块装置。在另一个实施例中,来自用户文件的数据被介质库设备压缩成数据块,以使得在压缩的用户文件中粗粒度查找是可能的。在另一个实施例中,介质云被混合存储设备使用,使得在数据的建立、恢复和分发期间从光介质、库机器人、光学驱动器和网络连接中的故障无缝地恢复。在另一个实施例中,使用盘舱和介质标签来跟踪库内的光介质。
文档编号G06F21/00GK102576393SQ201080020129
公开日2012年7月11日 申请日期2010年5月7日 优先权日2009年5月8日
发明者乔纳森·M·维森纳, 保罗·波佩尔加, 史蒂文·加斯基尔 申请人:日立-Lg数据存储韩国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1