CN114270438A - 使用块分组从磁带高速文件复制 - Google Patents

使用块分组从磁带高速文件复制 Download PDF

Info

Publication number
CN114270438A
CN114270438A CN202080056960.3A CN202080056960A CN114270438A CN 114270438 A CN114270438 A CN 114270438A CN 202080056960 A CN202080056960 A CN 202080056960A CN 114270438 A CN114270438 A CN 114270438A
Authority
CN
China
Prior art keywords
tape
files
subset
file
order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080056960.3A
Other languages
English (en)
Inventor
宫村刚志
长谷川彻
山本纪子
三间慎介
松井壮介
板垣浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114270438A publication Critical patent/CN114270438A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5504Track change, selection or acquisition by displacement of the head across tape tracks
    • G11B5/5508Control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • G11B5/00817Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes on longitudinal tracks only, e.g. for serpentine format recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/107Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/02Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • G11B2220/95Serpentine format, wherein a single track or group of tracks traverses the tape plural times from one end to the other
    • G11B2220/956Linear tape open [LTO] format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

根据一种方案,一种计算机实现的方法包括:接收从磁带读取多个文件的请求,以及获得磁带目录,所述磁带目录标识所述磁带上存储所述文件的区域。磁带目录用于将每个文件映射到磁带上存储相应文件的区域之一。存储在磁带上的相同第一区域中的文件的第一子集也被排序成第一顺序。该计算机实现的方法还包括同时:将存储在磁带上的相同第二区域中的文件的第二子集排序为第二顺序,以及指示磁带驱动器根据第一顺序读取第一子集中的每个文件。

Description

使用块分组从磁带高速文件复制
技术领域
本发明涉及数据存储系统,且更特定来说,本发明涉及使用块分组访问存储在磁带上的文件。
背景技术
在磁存储系统中,磁换能器从磁记录介质读取数据并将数据写入到磁记录介质上。通过将磁记录换能器移动到介质上方要存储数据的位置来将数据写入磁记录介质上。磁记录换能器然后产生磁场,该磁场将数据编码到磁介质中。通过类似地定位磁读取换能器并且然后感测磁介质的磁场来从介质读取数据。读取和写入操作可以独立地与介质的移动同步,以确保可以从介质上的期望位置读取数据和将数据写入介质上的期望位置。
数据存储行业中的重要且持续的目标是增加存储在介质上的数据的密度。对于磁带存储系统,该目标已经导致增加记录磁带上的轨道和线性位密度,并且减小磁带介质的厚度。这还导致磁带整体的存储容量增加。然而,小覆盖区、更高性能的带驱动系统的发展产生了从用于这种系统的磁带头组件的设计到实际访问存储在磁带上的数据的不同挑战。
例如,从磁带上的不同位置读取多个文件的过程包括在文件被存储的各个物理位置之间重新定位磁头。常规过程已经执行这些读取操作,使得以与文件本身如何彼此相关的顺序相对应的顺序来访问文件。例如,首先访问文件A,其次访问文件B,其次访问文件C,等等。然而,以此方式访问文件常常是低效的,这是因为为了寻找磁带上的每一文件的开始而执行的重复移动。此外,随着被访问的文件的数目增加,由这些常规过程执行的头重定位的量也增加。
因此,在本领域中需要解决上述问题。
发明内容
从第一方面来看,本发明提供了一种用于访问文件的计算机实现的方法,所述方法包括:接收从磁带读取多个文件的请求;获得磁带目录,所述磁带目录标识所述磁带上存储所述文件的区域;使用所述磁带目录来将所述文件中的每一个映射到所述磁带上存储所述相应文件的所述区域中的一个;将存储在所述磁带上的相同第一区域中的所述文件的第一子集排序为第一顺序;同时:将存储在所述磁带上的相同第二区域中的所述文件的第二子集排序为第二顺序,并指示磁带驱动器按照所述第一顺序读取所述第一子集中的每个文件。
从另一方面来看,本发明提供了一种用于访问文件的系统,该系统包括:处理器;以及与该处理器集成、可由所述处理器执行、或与所述处理器集成且可由所述处理器执行的逻辑,该逻辑被配置为:由该处理器接收从磁带读取多个文件的请求;由所述处理器获得磁带目录,所述磁带目录标识所述磁带上存储所述文件的区域;由所述处理器使用所述磁带目录来将所述文件中的每个文件映射到所述磁带上存储相应文件的所述区域中的一个;由所述处理器将存储在所述磁带上的相同第一区域中的所述文件的第一子集排序为第一顺序;以及同时:由所述处理器将存储在所述磁带上的相同第二区域中的所述文件的第二子集排序为第二顺序,且由所述处理器指示磁带驱动器根据所述第一顺序读取所述第一子集中的所述文件的每个文件。
从另一方面来看,本发明提供了一种用于访问文件的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储用于由该处理电路执行以便执行用于执行本发明的步骤的方法的指令。
从另一方面来看,本发明提供一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,该计算机程序包括当所述程序在计算机上运行时用于执行本发明的步骤的软件代码部分。
从另一方面来看,本发明提供一种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有与其体现的程序指令,所述程序指令可由处理器读取和/或执行以使所述处理器:由所述处理器接收从磁带读取多个文件的请求;由所述处理器获得磁带目录,所述磁带目录标识所述磁带上存储所述文件的区域;由所述处理器使用所述磁带目录来将所述文件中的每个文件映射到所述磁带上存储所述相应文件的所述区域中的一个;由所述处理器将存储在所述磁带上的相同第一区域中的所述文件的第一子集排序为第一顺序;以及同时:由所述处理器将存储在所述磁带上的相同第二区域中的所述文件的第二子集排序为第二顺序,且由所述处理器指示磁带驱动器根据所述第一顺序读取所述第一子集中的所述文件中的每个文件。
根据一种方案,一种计算机实现的方法包括:接收从磁带读取多个文件的请求,以及获得磁带目录,所述磁带目录标识所述磁带上存储所述文件的区域。磁带目录用于将每个文件映射到磁带上存储相应文件的区域之一。存储在磁带上的相同第一区域中的文件的第一子集也被排序成第一顺序。该计算机实现的方法还包括同时:将存储在磁带上的相同第二区域中的文件的第二子集排序为第二顺序,以及指示磁带驱动器根据第一顺序读取第一子集中的每个文件。在优选实例中,进一步并行地对文件的第二子集进行排序,并指示磁带驱动器读取第一子集中的每个文件。
当磁带驱动器正在从磁带读取另一子集(其已经被排序)中的文件时,通过同时对给定子集中的文件进行排序来显著改善性能。这除了将相关计算复杂性划分成区域大小的块之外,通过重叠处理操作有效地减少了在给定时间点消耗的计算资源的量。此外,同时:将存储在磁带上的相同下一区域中的文件的下一子集排序成下一顺序,以及指示磁带驱动器根据先前顺序读取先前子集中的文件中的每一者的过程可以迭代方式重复,例如对于任何所要数目的文件。
在一些实例中,将存储在磁带上的给定区域中的文件的给定子集排序成给定顺序包括使用存储在给定区域中的每个文件的物理位置来确定给定顺序,以使得在以给定顺序读取文件时由磁带驱动器执行的磁头重定位的量被最小化。这还导致性能延迟的改进。例如,由于根据给定顺序读取给定子集中的每个文件而经历的数据访问时间小于由于以除了给定顺序之外的任何顺序读取给定子集中的每个文件而经历的数据访问时间。由此可见,计算机实现的方法能够以比常规可实现的方式更有效的方式从磁带访问(例如,读取)多个文件。
根据另一方法的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有与其体现的程序指令。程序指令可由处理器读取和/或执行,以使处理器:执行上述方法。
根据又一方法,一种系统包括:处理器,以及与处理器集成、可由处理器执行、或与处理器集成且可由处理器执行的逻辑。该逻辑被配置成:执行上述方法。
这些方法中的任一者可实施于磁性数据存储系统(例如,磁带驱动系统)中,所述磁性数据存储系统可包含磁头、用于使磁性介质(例如,记录磁带)经过磁头的驱动机构和电耦合到磁头的控制器。
本发明的其他方面和途径将从以下详细说明中变得清楚,当结合附图时,这些详细说明通过实例的方式说明本发明的原理。
附图说明
现在将参考如在以下附图中所示出的优选实施例仅通过示例的方式来描述本发明:
图1A是根据一个方式的简化带驱动系统的示意图。
图1B是根据一个方式的带盒的示意图。
图2A示出根据一个方式的平坦重叠的双向双模块磁带头的侧视图。
图2B是从图2A的线2B截取的磁带承载表面视图。
图2C是从图2B的圆2C截取的详细视图。
图2D是一对模块的部分磁带承载表面的详细视图。
图3是具有写-读-写配置的磁头的部分磁带承载表面视图。
图4是具有读-写-读配置的磁头的部分磁带承载表面视图。
图5是根据一个方式的具有三个模块的磁带头的侧视图,其中模块全部通常沿着大约平行的平面放置。
图6是三个模块处于切线(成角度的)配置的磁带头的侧视图。
图7是具有在外包装配置中的三个模块的磁带头的侧视图。
图8A-8C是描绘磁带隆起的原理的示意图。
图9是根据一个方式的存储在磁带上的文件和索引的代表性图。
图10是根据一个方式的方法的流程图。
图11是根据一个方式的数据存储系统的部分代表性图。
图12是根据一个方式的分层数据存储系统的代表性图。
具体实施方式
以下描述是为了说明本发明的一般原理而进行的,并且不意味着限制在此要求保护的发明概念。进一步,本文中所描述的特定特征可以与不同可能的组合和置换中的每一者中的其他所描述特征组合使用。
除非本文中另外特别限定,否则所有术语将被给予它们的最广泛的可能解释,包括从说明书中暗示的含义以及本领域技术人员所理解的含义和/或如在词典、论文等中限定的含义。
还必须注意的是,如在说明书和所附权利要求中使用的,单数形式“一个”、“一种”和“该”包括复数指示物,除非另外说明。
以下描述公开了磁存储系统的若干优选方法,以及用于以比常规可能的方式更高效的方式从磁带访问(例如,读取)多个文件的操作和/或其组成部件。性能是通过在磁带驱动器从磁带读取另一子集中的文件(其已经被排序)的同时对给定子集中的文件进行排序来改进的优选方式。这除了将相关计算复杂性划分为区域大小的组块之外,通过重叠处理操作有效地减少了在给定时间点消耗的计算资源的量,例如,如下文将进一步详细描述的。
在一个一般方法中,一种计算机实施的方法包括:接收从磁带读取多个文件的请求,以及获得磁带目录,所述磁带目录识别所述磁带上存储所述文件的区域。磁带目录用于将每个文件映射到磁带上存储相应文件的区域之一。存储在磁带上的相同第一区域中的文件的第一子集也被排序为第一顺序。该计算机实现的方法还同时包括:将存储在磁带上的同一第二区域中的文件的第二子集排序为第二顺序,以及指示磁带驱动器根据第一顺序读取第一子集中的每个文件。
在另一一般方法中,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有与其体现的程序指令。程序指令可由处理器读取和/或执行,以使处理器:执行上述方法。
在又一一般方法中,一种系统包括:处理器,以及与所述处理器集成、可由所述处理器执行或与所述处理器集成且可由所述处理器执行的逻辑。该逻辑被配置成:执行上述方法。
图1A示出了可以在本发明的上下文中采用的基于磁带的数据存储系统的简化磁带驱动器100。虽然在图1A中示出磁带驱动器的一个特定实现方式,但是应当注意,本文描述的方法可以在任何类型的磁带驱动系统的背景下实现。
如图所示,提供磁带供应盒120和卷取卷轴121以支撑带122。卷轴中的一个或多个可以形成可移动盒的一部分并且不一定是磁带驱动器100的一部分。磁带驱动器,诸如图1A中所示的磁带驱动器,还可以包括驱动马达以驱动磁带供应盒120和卷取卷轴121,从而在任何类型的带头126上移动磁带122。这种磁头可以包括读取器、写入器或这两者的阵列。
引导件125引导磁带122穿过磁带头126。这种磁带头126进而经由电缆130耦接到控制器128。控制器128可以是或包括处理器和/或用于控制驱动器100的任何子系统的任何逻辑。例如,控制器128通常控制磁头功能,诸如伺服跟踪、数据写入、数据读取等。控制器128可以包括至少一个伺服通道和至少一个数据通道,每个伺服通道和至少一个数据通道包括被配置为处理和/或存储要被写到磁带122和/或从磁带122读取的信息的数据流处理逻辑。控制器128可以在本领域已知的逻辑以及本文所公开的任何逻辑下操作,并且因此可以在不同方法中被视为用于本文所包括的磁带驱动器的任何描述的处理器。控制器128可以耦合到任何已知类型的存储器136,所述存储器136可以存储可由控制器128执行的指令。此外,控制器128可以被配置和/或可编程以执行或控制在此呈现的方法中的一些或全部。因此,可以认为控制器128被配置成通过编程到一个或多个芯片、模块和/或块中的逻辑来执行各种操作;一个或多个处理器可用的软件、固件和/或其他指令;等等,以及它们的组合。
线缆130可以包括读/写电路,该读/写电路用于将数据发送到磁头126以记录在磁带122上,并且接收由磁头126从磁带122读取的数据。致动器132控制磁头126相对于磁带122的位置。
如本领域技术人员将理解的,接口134还可以被提供用于磁带驱动器100和主机(内部或外部)之间的通信以发送和接收数据,并且用于控制磁带驱动器100的操作并将磁带驱动器100的状态传送到主机。
图1B示出了根据一个方法的示例性磁带盒150。这种磁带盒150可以与如图1A所示的系统一起使用。如图所示,磁带盒150包括壳体152、壳体152中的磁带122以及耦合到外壳152的非易失性存储器156。在一些方式中,非易失性存储器156可以嵌入在壳体152内,如图1B所示。在更多的方法中,非易失性存储器156可以被附接到壳体152的内部或外部,而不修改壳体152。例如,非易失性存储器可以嵌入在自粘合标签154中。在一个优选方案中,非易失性存储器156可以是嵌入或耦合到磁带盒150的内部或外部的闪存设备、只读存储器(ROM)设备等。所述非易失性存储器可由磁带驱动器和磁带操作软件(驱动器软件)和/或另一装置访问。
通过示例的方式,图2A示出了可以在本发明的上下文中实现的平坦重叠的双向双模块磁带头200的侧视图。如图所示,该头包括一对基座202,每个底座配备有模块204,并且相对于彼此以小角度α固定。基座可以是粘性地耦接在一起的“U梁”。每个模块204包括基板204A和具有薄膜部分的封闭件204B,该薄膜部分通常被称为“间隙”,在该间隙中形成读取器和/或写入器206。在使用中,磁带208沿着介质(磁带)承载表面209在模块204上方以所示方式移动,所示方式用于使用读取器和写入器在磁带208上读取和写入数据。磁带208在到达和离开平坦介质支撑表面209的边缘处的包角θ通常在约0.1度和约3度之间。
基板204A通常由诸如陶瓷的耐磨材料构成。封闭件204B可由与基板204A相同或类似的陶瓷制成。
读取器和写入器可以背负或合并配置布置。说明性背负配置包括在(磁屏蔽)读取器换能器(例如,磁阻读取器等)的顶部(或下方)上的(磁感应)写入器换能器,其中写入器的磁极和读取器的屏蔽通常分离。说明性合并配置包括在与一个写入器磁极相同的物理层中的一个读取器屏蔽(因此,“合并”)。读出器和写入器也可以交错配置布置。可替代地,每个信道阵列可以仅是读取器或写入器。这些阵列中的任一个可以包含用于读取介质上的伺服数据的一个或多个伺服轨道读取器。
图2B示出了从图2A的线2B截取的模块204之一的磁带承载表面209。代表性的磁带208以虚线示出。模块204优选足够长,以当头在数据带之间步进时能够支撑磁带。
在该示例中,带208包括4至32个数据带,例如,具有16个数据带和17个伺服轨道210,如图2B所示,在半英寸宽的磁带208上。数据带被限定在伺服轨道210之间。每个数据带可以包括多个数据轨道,例如1024个数据轨道(未示出)。在读/写操作期间,读取器和/或写入器206被定位到数据带之一内的特定轨道位置。外部读取器(有时称为伺服读取器)读取伺服轨道210。伺服信号又用来在读/写操作期间保持读出器和/或写入器206与一组特定的轨道对准。
图2C描绘了形成在图2B的环2C中的模块204上的间隙218中的多个读取器和/或写入器206。如图所示,读出器和写入器的阵列206包括例如16个写入器214、16个读出器216和两个伺服读出器212,但元件的数目可以变化。说明性方法包括每个阵列8、16、32、40和64个有源读取器和/或写入器206,以及具有奇数个读取器或写入器(如17、25、33等)的替代性交错设计。说明性方法包括每个阵列32个读取器和/或每个阵列32个写入器,其中传感器元件的实际数量可以更大,例如33、34等。这允许磁带更缓慢地行进,从而降低速度引起的跟踪和机械困难和/或执行更少的“缠绕”以填充或读取磁带。尽管读出器和写入器可以布置为背负配置,如图2C所示,读出器216和写入器214也可以布置为交错配置。或者,每个读出器和/或写入器阵列206可以仅是读出器或写入器,并且所述阵列可以包含一个或多个伺服读出器212。如通过一起考虑图2A和图2B至图2C所指出的,每个模块204可以包括一组互补的读取器和/或写入器206,用于如双向读取和写入、同时读取写入能力、向后兼容性等。
图2D示出了根据一种方法的磁带头200的互补模块的部分磁带承载表面视图。在该方法中,每个模块具有形成在共同基板204A和可选的电绝缘绝缘层236上的背负配置的多个读/写(R/W)对。写入器214和读取器216平行于磁带介质在其上的预期行进方向对准,以形成R/W对,示例为R/W对222。注意,磁带行进的预期方向在本文中有时被称为磁带行进的方向,并且此类术语可以互换地使用。可以从系统的设计推断磁带行进的这样的方向,例如,通过检查引导件;观察磁带行进相对于参考点的实际方向;等等。此外,在可操作用于双向读取和/或写入的系统中,在两个方向上的磁带行进的方向通常是平行的,并且因此两个方向可以被认为彼此相等。
可存在若干R/W对222,例如8、16、32对等。如图所示的R/W对222在大体垂直于磁带沿其行进的方向的方向上线性对准。然而,这些对也可以对角地对准,等等。伺服读取器212位于R/W对的阵列的外部,其功能是众所周知的。
通常,磁带介质沿正向或反向移动,如箭头220所示。磁带介质和头组件200以本领域公知的方式以换能关系操作。头组件200包括大致相同构造的两个薄膜模块224和226。
模块224和226与其封闭件204B之间存在的空间(部分示出)结合在一起以形成单个物理单元以通过激活前导模块的写入器和拖尾模块的读取器来提供随写读写能力,所述读写器与前导模块的写入器平行于相对于前导模块的磁带行进的方向对准。当构造磁带头200的模块224、226时,各层形成在导电基板204A(部分示出)上方产生的间隙218中,例如,AlTiC,通常按R/W对222的以下顺序:绝缘层236;典型地由铁合金(如NiFe(–)、钴锆钽(CZT)或Al-Fe-Si(Sendust))制成的第一屏蔽232,用于感测磁性介质上的数据轨道的传感器234,典型地由镍铁合金(例如,NiFe含量约为80/20,也称为坡莫合金)制成的第二屏蔽238,第一和第二写入器极228、230以及线圈(未示出)。传感器可以是任何已知类型,包括基于磁阻(MR)、GMR、AMR、隧道磁阻(TMR)等的那些。
第一和第二写入器极228、230可由诸如约45/55NiFe的高磁矩材料制成。注意,这些材料仅通过示例的方式提供,并且可以使用其他材料。可以存在附加层,诸如屏蔽件和/或磁极尖端之间的绝缘层以及围绕传感器的绝缘层。用于绝缘的说明性材料包括氧化铝和其他氧化物、绝缘聚合物等。
根据一个方法的磁带头126的配置包括多个模块,优选地三个或更多。在写-读-写(W-R-W)头中,用于写入的外部模块在用于读取的一个或多个内部模块的侧面。参考图3,描绘了W-R-W配置,外部模块252、256各自包括一个或多个写入器260阵列。图3的内部模块254包括类似配置的一个或多个阵列的读取器258。多模块头的变型包括R-W-R头(图4)、R-R-W头、W-W-R头等。在其他变型中,模块中的一个或多个可以具有读/写换能器对。此外,可以存在多于三个模块。在其他方案中,两个外部模块可以位于两个或更多个内部模块的侧面,例如,以W-R-R-W、R-W-W-R布置等。为了简单起见,在本文中主要使用W-R-W头来举例说明本发明的方法。利用本文中的教导而知晓的本领域技术人员将领会,本发明的置换将如何应用于除了W-R-W配置之外的配置。
图5示出了根据本发明一个方案的磁头126,其包括第一模块302、第二模块304和第三模块306,每个模块分别具有带承载表面308、310、312,带承载表面308、310、312可以是平坦的、波状的等等。注意,尽管术语“带承载表面”看起来暗示面向带315的表面与带承载表面物理接触,但不一定是这种情况。相反,只有一部分带可以与带承载表面持续或间歇地接触,带的其他部分在空气层上骑(或“飞”)在带承载表面上方,有时称为“空气轴承”。第一模块302将被称为“前导”模块,因为它是用于带在指示的方向上移动的三模块设计中的带遇到的第一模块。第三模块306将被称为“尾随”模块。拖尾模块跟随中间模块并且是在三个模块设计中被带看到的最后模块。前导模块302和拖尾模块306被统称为外部模块。还应注意,外部模块302、306将交替作为前导模块,这取决于带315的行进方向。
在一种方法中,第一模块302、第二模块304和第三模块306的带承载表面308、310、312位于大致平行的平面上(其意在包括平行和几乎平行的平面,例如如图6中在平行和切向之间),并且第二模块304的带承载表面310在第一模块302和第三模块306的带承载表面308、312上方。如下所述,这具有产生带相对于第二模块304的带承载表面310的所需包角α2的效果。
在带承载表面308、310、312沿着平行或近似平行但偏移的平面放置的情况下,直观上,带应当从前导模块302的带承载表面308剥离。然而,通过实验已经发现由前导模块302的刮削边缘318产生的真空足以保持带粘附到前导模块302的带承载表面308。前导模块302的后缘320(带离开前导模块302的末端)是近似参考点,该参考点限定了第二模块304的带承载表面310上的包角α2。带保持靠近带承载表面直到靠近前导模块302的后缘320。因此,换能器322可位于外部模块302、306的后缘附近。这些方法特别适用于写-读-写应用。
本文描述的这种方法以及其他方法的益处在于,因为这些外部模块302、306被固定在距第二模块304的确定偏移处,所以当这些模块302、304、306被联接在一起或者以其他方式固定到头中时该内包角α2被固定。内包角α2近似为tan-1(δ/W),其中δ是带承载表面308、310的平面之间的高度差,并且W是带承载表面308、310的相对端之间的宽度。说明性内包角α2在约0.3°至约1.1°的范围内,但可以是设计所需的任何角度。
有益的是,模块304接收带(前缘)的一侧上的内部包角α2将大于后缘上的内部包角α3,因为带315骑跨在拖尾模块306上方。这种差异总体上是有益的,因为较小的α3倾向于与迄今为止更陡的离开有效包角相反。
注意,外部模块302、306的带承载表面308、312被定位成在前导模块302的后缘320处实现负包角。这在帮助减小由于与后缘320的接触而引起的摩擦方面通常是有益的,只要适当考虑形成在带中从磁头剥离的撬棒区域的位置。该负包角还减少了对前导模块302上的元件的颤动和擦洗损坏。进一步,在拖尾模块306处,带315飞过带承载表面312,所以当带沿该方向移动时实际上没有元件磨损。特别地,带315夹带空气,并且因此不会显著地骑在第三模块306的带承载表面312上(可能发生一些接触)。这是可允许的,因为前导模块302正在写入,而拖尾模块306空闲。
写入和读取功能在任何给定时间由不同模块执行。在一种方法中,第二模块304包括多个数据和可选的伺服读取器331并且没有写入器。第一模块302和第三模块306包括多个写入器322并且不包括数据读取器,除了外部模块302、306可以包括可选的伺服读取器之外。伺服读取器可以用于在读取和/或写入操作期间定位磁头。每个模块上的(一个或多个)伺服读取器通常朝向读取器或写入器的阵列的末端定位。
通过在基底和封闭件之间的间隙中仅具有读取器或并排写入器和伺服读取器,间隙长度可基本上减小。典型的磁头具有背载读取器和写入器,其中写入器形成在每个读取器上方。典型的间隙为20-35微米。然而,带上的不规则性可能倾向于下垂到间隙中并产生间隙侵蚀。因此,间隙越小越好。本文实现的较小间隙表现出较少的磨损相关问题。
在一些方式中,第二模块304具有封闭件,而第一模块302和第三模块306不具有封闭件。当不存在封闭件时,优选地将硬涂层添加到该模块中。一种优选的涂层是类金刚石碳(DLC)。
在图5所示的方法中,第一模块302、第二模块304和第三模块306各自具有封闭件332、334、336,所述封闭件332、334、336延伸关联模块的带承载表面,从而有效地远离带承载表面的边缘定位读/写元件。第二模块304上的封闭件332可以是典型地在磁带头上发现的类型的陶瓷封闭件。然而,第一模块302和第三模块306的封闭件334、336可以比第二模块304的封闭件332短,如平行于带在相应的模块之上行进的方向所测量的。这使得能够将模块定位得更靠近在一起。生产更短的封闭件334、336的一种方式是将第二模块304的标准陶瓷封闭件重叠额外的量。另一种方式是在薄膜处理期间在元件上方镀覆或沉积薄膜封闭件。例如,可在模块上形成硬质材料(例如铁锈或镍铁合金(例如45/55))的薄膜封闭件。
在厚度减小的陶瓷或薄膜封闭件334、336或外部模块302、306上没有封闭件的情况下,写入至读取间隙间距可减小至小于约1mm,例如约0.75mm,或比常用的线性带开放(LTO)磁带头间距小50%。模块302、304、306之间的开放空间仍然可以被设置为大约0.5至0.6mm,这在一些方法中对于稳定第二模块304上的带运动是理想的。
取决于带张力和硬度,可能希望使外部模块的带承载表面相对于第二模块的带承载表面成角度。图6示出了其中模块302、304、306正切或近似正切(成角度的)配置的方法。具体地,这些外部模块302、306的带承载表面以第二模块304的所希望的包角α2大致平行于该带。换言之,这些外部模块302、306的带承载表面308、312的平面以带315的相对于第二模块304的大约期望的包角α2定向。在该方法中,带也将从拖尾模块306弹出,从而减少拖尾模块306中的元件上的磨损。这些方法对于写-读-写应用是特别有用的。这些方法的另外的方面与以上给出的那些相似。
通常,带包角可以设定在图5和图6中所示的方法之间的大约中间。
图7示出了其中模块302、304、306处于外包装配置中的方法。具体地,当相对于第二模块304设定在所希望的包角α2时,这些外部模块302、306的带承载表面308、312比带315的角度略微更大。在该方法中,带不从拖尾模块弹出,允许其用于写入或读取。因此,前导模块和中间模块都可以执行读取和/或写入功能,而拖尾模块可以读取任何刚才写入的数据。因此,这些方法对于写-读-写、读-写-读和写-写-读应用是优选的。在后一方法中,封闭件应比带顶盖宽以确保读取能力。较宽的封闭件可能需要较宽的间隙与间隙分离。因此,优选方法具有写-读-写配置,该配置可使用缩短的封闭件,从而允许更近的间隙-间隙分离。
图6和7中所示的方法的其他方面与以上给出的那些相似。
32通道版本的多模块带头126可以使用具有与当前16通道搭载LTO模块相同或更小节距上的引线的电缆350,或者可替换地,模块上的连接可以是器官键盘式的,以减少50%的电缆跨距。上下(Over-under)写入对非屏蔽电缆可以用于写入器,其可以具有集成的伺服读取器。
这些外包角α1可以在驱动器中设定,例如通过本领域已知的任何类型的引导件,例如可调节的滚轮、滑动件等,或者可替代地通过与头成一体的外伸支架。例如,可以使用具有偏移轴线的辊来设定包角。该偏移轴线产生旋转的轨道弧,从而允许该包角α1的精确对齐。
为了组装上述任何一种方法,可以使用传统的u形梁组件。因此,相对于前一代的头,可保持或者甚至减少所得的头的质量。在其他方式中,模块可以被构造为整体。拥有本教导的本领域技术人员将理解,制造这种头的其他已知方法可适用于构造这种头。此外,如本领域技术人员在阅读本披露时将变得清楚的是,除非另外指明,本领域已知的类型的工艺和材料可以被适配成符合本教导的不同方法中使用。
当磁带在模块上运行时,优选地,磁带足够靠近模块上的磁换能器通过,从而高效地执行读取和/或写入,例如,以低错误率。根据一些方法,可以使用带隆起来确保磁带足够靠近模块的具有磁换能器的部分通过。为了更好地理解这个过程,图8A-8C示出了带隆起的原理。图8A示出了具有在相对边缘804、806之间延伸的上带承载表面802的模块800。示出了围绕边缘804、806缠绕的固定带808。如图所示,带808的弯曲刚度将带提升离开带承载表面802。带张力倾向于使带轮廓变平,如图8A所示。在带张力最小的情况下,带的弯曲比所示的更接近抛物线。
图8B描绘了处于运动中的带808。前缘(即,带在移动时遇到的第一边缘)可以用于从带刮除空气,从而在带808和带承载表面802之间产生亚环境的空气压力。在图8B中,当带从左向右移动时,前缘是左边缘并且右边缘是后缘。因此,带上方的大气压力促使带朝向带承载表面802,从而产生靠近每个边缘的带隆起。带弯曲刚度抵抗大气压力的影响,从而导致带隆起靠近前缘和后缘两者。建模预测两个隆起在形状上非常相似。
图8C描绘了即使当拖尾引导件810定位在带承载表面的平面上方时,亚环境压力如何朝向带承载表面802推动带808。
因此,当磁带通过模块时,可以使用带隆起来引导磁带的路径。如前所述,带隆起可以用于确保带足够靠近具有磁换能器的模块的部分通过,优选地使得读取和/或写入例如以低错误率有效地执行。
磁带可被存储在磁带盒中,磁带盒继而被存储在数据存储库内的存储槽等处。带盒可以被存储在库中,使得它们对于物理检索是可访问的。除了磁带和磁带盒之外,数据存储库还可以包括将数据存储到磁带和/或从磁带检索数据的数据存储驱动器。此外,磁带库及其中所包括的组件可以实现使得能够访问磁带和存储在磁带上的数据的文件系统。
文件系统可以用于控制如何将数据存储在存储器中和从存储器中检索。由此,文件系统可以包括操作系统用来跟踪存储器中的文件的过程和数据结构,例如,文件在存储器中被组织的方式。线性磁带文件系统(LTFS)是可在给定库中实现以使得能够访问兼容磁带的文件系统的示例性格式。应了解,本文中的不同方法可用广泛范围的文件系统格式来实施,包括例如IBM光谱档案库版本(LTFSLE)。然而,为了提供上下文且单独地帮助读取器,可参考LTFS(其为文件系统格式的类型)来描述以下方法中的一些方法。这仅是通过举例的方式完成的,并且不应当被认为是对在权利要求中限定的本发明的限制。
可以通过将磁带盒插入到磁带驱动器中来“加载”磁带盒,并且可以通过从磁带驱动器移除磁带盒来“卸载”磁带盒。一旦装入磁带驱动器中,盒中的磁带可以通过从磁带盒物理拉动磁带(磁性记录部分)并且将其通过磁带驱动器的磁头上方而“穿线”通过驱动器。此外,带可以附接在卷取卷轴上(例如,参见以上图1A的121)以在磁头上移动带。
一旦在带驱动器中线程化,可通过读取带上的元数据且使带进入LTFS能够将带用作文件系统的组成部件的状态来“安装”夹座中的带。此外,为了“卸载”磁带,优选地首先在磁带上写入元数据(例如,作为索引),在此之后,可从允许LTFS使用磁带作为文件系统的组成部件的状态移除磁带。最后,为了“松脱”带,该带未附接到该卷取卷轴上并且再次被物理地放回带盒的内部。即使在磁带已经松脱之后,例如等待另一读取和/或写入请求,带盒也可以保持加载到磁带驱动器中。然而,在其他情况下,带盒可以在带被松脱时从带驱动器卸载,例如如上所述。
磁带是顺序访问介质。由此,通过在先前写入的数据末尾附加该数据来向磁带写入新数据。因此,当数据被记录在仅具有一个分区的磁带中时,元数据(例如,分配信息)随着其频繁地更新而被连续地附加到先前写入的数据的末尾并且相应地被重写到磁带。结果,当首先安装磁带以便访问对应于磁带的元数据的最新副本时,读取最后面的信息。然而,这在安装给定带的过程中引入相当大量的延迟。
为了克服由单个分区带介质引起的此延迟,LTFS格式包括被分成两个分区的带,所述两个分区包括索引分区和数据分区。索引分区可以被配置为记录元数据(元信息),例如,文件分配信息(索引),而数据分区可以被配置为记录数据的主体,例如,数据本身。
参见图9,根据一个方法示出了具有索引分区902和数据分区904的磁带900。如图所示,数据文件和索引存储在磁带上。如本领域技术人员在阅读本说明书时将了解,LTFS格式允许在带906的开始处将索引信息记录在索引分区902中。
当索引信息被更新时,它优选地重写索引信息的先前版本,从而允许在索引分区中的磁带的开始处访问当前更新的索引信息。根据图9中所示的具体实例,元数据索引3的最新版本在磁带906的开始处记录在索引分区902中。相反,元数据索引1、索引2、索引3的所有三个版本以及数据文件A、文件B、文件C、文件D被记录在磁带的数据分区904中。虽然索引1和索引2是旧的(例如,过时的)索引,但是由于如上所述通过将信息附加到先前写入的数据的末尾来将信息写入到磁带,所以这些旧的索引索引1、索引2保持存储在数据分区904中的磁带900上而不被覆写。
可根据所期望的方法相同或不同地更新索引分区902和/或数据分区904中的元数据。根据一些方法,可响应于未安装磁带而更新索引和/或数据分区902、904的元数据,例如,使得当再次安装所述磁带时,可从索引分区快速读取索引。元数据优选地还被写入到数据分区904中,因此磁带可使用记录在数据分区904中的元数据来安装,例如作为备份选项。
根据一个并非旨在限制本发明的示例,LTFSLE可用于提供在用户明确指示系统如此之时或在由可由用户设定的预定时期指定的时间(例如,使得可减轻在突然电力停止的情况下的数据丢失)将索引写入数据分区中的功能性。
如前所述,从磁带上的不同位置读取多个文件的过程包括在文件被存储的各个物理位置之间重新定位磁头。常规过程已经执行这些读取操作,使得以与文件本身如何彼此相关的顺序相对应的顺序来访问文件。例如,首先访问文件A,其次访问文件B,其次访问文件C,等等。这部分地归因于以下事实:这些常规过程在评估访问文件的顺序时仅引用文件索引的记录编号。结果,以此方式访问文件常常是低效的,这是因为为了寻找磁带上的每一文件的开始而执行的重复移动。这在磁带驱动器重复倒带以访问已经传递的文件的情况下特别明显。此外,随着被访问的文件的数目增加,由这些常规进程执行的头重定位的量也增加,由此进一步增加数据访问时间。例如,磁带能够存储大约12兆兆字节的未压缩数据。此外,在磁带上写入的文件的平均大小约为10兆字节,其翻译成存储在给定磁带上的约1,200,000个文件。
与传统实现经历的这些常规缺点形成鲜明对比,本文所包括的方法中的不同方法能够以更高效的方式从磁带访问(例如,读取)多个文件。这些改进是作为将要访问的文件排序成特定顺序的结果而实现的,该特定顺序最小化磁带驱动器在实际读取文件时执行的重新定位的量。另外,本文所包含的方法中的各种方法基于磁带上的各自的物理存储位置将待访问的各种文件划分为不同的组(或部分)。这允许对一组文件进行排序,同时访问另一组中的每个文件。结果,不仅减少了头重定位操作的数目,而且提高了在对文件进行排序的过程期间利用计算资源的效率,例如,如下面将进一步详细描述的。
现在参考图10,示出了根据一个方法的用于复制在读取请求中指定的多个文件的方法1000的流程图。方法1000可根据本发明在各种方法中在图1A-9中所描绘的任何环境中执行。当然,如本领域技术人员在阅读本说明书时将理解的,方法1000中可包括比图10中具体描述的操作更多或更少的操作。
方法1000的每个步骤可由操作环境的任何合适的组件执行。例如,在不同方案中,方法1000可以部分地或完全地由控制器、处理器、计算机等或其中具有一个或多个处理器的一些其他设备来执行。因此,在一些方法中,方法1000可以是计算机实施的方法。在此类方法中,用于实施所述方法的计算机可包含磁带驱动器自身或其部分,例如控制器、磁带、外部主机、服务器等。此外,术语“计算机”、“处理器”和“控制器”可以关于在此的任何方法互换地使用,这样的部件在本发明的许多不同的置换中被认为是等效的。
此外,对于具有处理器的那些方法,处理器(例如,以硬件和/或软件实现的处理电路、芯片和/或模块),并且优选地具有至少一个硬件组件,可以在任何设备中用于执行方法1000的一个或多个步骤。说明性处理器包括但不限于中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、其组合、或本领域已知的任何其他合适的计算设备。
如图10所示,方法1000的操作1002包括接收从磁带读取多个文件的请求。取决于方法,可从用户(例如,主机)、运行应用程序、另一存储装置等接收请求。还应该注意的是,如在此使用的术语“文件”绝不旨在是限制性的。相反,如本文中使用的“文件”可以指代任何期望的信息分组,例如,数据对象、特定文档(例如,文字处理文档)、预定量的数据和/或元数据等。
响应于接收请求,操作1004包括发送对一个或多个磁带目录的请求,每个磁带目录包括标识磁带上存储(例如,写入)多个文件的区域的信息。换言之,磁带目录标识磁带上存储不同文件的物理位置,优选地包括在接收到的请求中指定的那些文件。
在一些方法中,磁带目录被存储在包括用于访问磁带的磁带驱动器中和/或与其耦合的存储器中。在其他方法中,磁带目录可以作为信息存储在盒式存储器中、在磁带本身上最初作为内务处理数据等。因此,存储磁带目录的存储器决不限于磁带驱动器和/或主服务器上的一个或多个存储器芯片。因而,在一些方法中,在操作1004中发送的对磁带目录的请求由主机服务器发送到一个或多个磁带驱动器。然而,针对磁带目录的请求可以被发送到任何期望的位置,例如,取决于存储磁带目录和/或从哪里可访问磁带目录。
操作1006还包括获得一个或多个磁带目录。如上所述,在一些方法中,从存储磁带目录的一个或多个磁带驱动器发送对一个或多个磁带目录的请求。因此,在一些方法中,获得磁带目录可以简单地涉及从一个或多个磁带驱动器接收磁带目录。根据不以任何方式限制本发明的示例性方法,可以通过使用与目录相关联的新定义的缓冲器标识指定期望的磁带目录,并且使用读取缓冲器命令从磁带驱动器读取终端放弃,来获得一个或多个磁带目录。在其他方法中,磁带目录可以作为直接访问存储有磁带目录的存储器的结果来获得。
此外,操作1008包括使用一个或多个磁带目录中的第一个来将文件中的每个映射到磁带上存储相应文件的区域之一。在一些方法中,每一文件的记录编号可结合磁带目录使用以将文件中的每一者映射到其在磁带上的相应区域。基于记录访问被写入磁带的文件。这些记录从磁带的开始按顺序在逻辑上顺序编号。然而,因为磁带驱动器在压缩记录的同时在磁带上写入文件(例如,数据),在磁带上写入的文件的位置根据数据的类型和其可压缩性而变化。因此,当记录被指定并且接收到该文件的寻找请求时,可以使用包括在磁带目录中的信息来进行关于文件在磁带上的物理位置的预测。
根据不以任何方式限制本发明的示例性方法,使用每个文件的磁带目录和/或记录编号来将每个文件映射到磁带上存储相应文件的区域之一包括标识与给定文件相对应的块的范围。不同文件的块范围可以使用在阅读本说明书之后对于本领域技术人员来说显而易见的任何信息和/或过程来标识。例如,在一些方法中,文件的记录编号可以用于确定相应的块范围。此外,给定文件被分配给磁带上包括与给定文件相对应的块的范围的区域,例如,如本领域技术人员在阅读本说明书之后将理解的。
根据其他方法,标识与给定文件相对应的块的范围可以涉及获得属于描述文件上的第一记录号和/或大小的区段的块范围。在一些方式中,这可以通过使用相应的文件系统的接口来实现。此外,文件系统上的所有文件的块范围可以进一步用于确定读取多个文件的期望顺序,例如,如以下将进一步详细描述的。还应注意,当区段属于多个磁带目录时,区段优选地被划分成对应于每个磁带目录的中断的区段的多个块范围,例如,如本领域技术人员在阅读本说明书之后将理解的。此后,所划分的区段被视为属于相应的块范围。获得对应于文件的元数据也可以被执行以试图识别对应于给定文件的块的范围。
关于在此使用的区域,磁带可以被有效地划分为多个区域,每个区域对应于磁带的不同物理部分(例如,区域)。例如,在一些方法中,磁带可以沿磁带长度方向被有效地划分成两个区域。在一些方法中,这些区域中的每一者可表示在同一磁带目录中,而在其他方法中,可分别针对所述区域的每一子集建立磁带目录。根据不以任何方式限制本发明的示例性方法,具有大约1,000米长度的磁带可以为磁带的每个500米长段(例如,一半)提供磁带目录。在一些方法中,可以进一步基于磁带的缠绕物来划分磁带。因此,当考虑如上所述带可沿其长度被进一步分成两部分的事实时,具有208个缠绕物的整个磁带可被分成总共416个区域。因此,在一些方法中,磁带上的每个区域对应于磁带上的全缠绕的一半。
在一些方法中,最后写入的记录号也被存储在磁带目录的每个区域中。由此,当为感兴趣文件指定记录编号时,磁带驱动器可能能够参考磁带目录以便确定在磁带上存储感兴趣文件的区域。换言之,磁带目录可以用于确定感兴趣的文件的物理存储位置。物理存储位置可进一步用于指示磁带驱动器调整磁头与磁带之间的相对位置,使得可读取感兴趣的文件。根据一些方法,磁带驱动器以相对较快的速度推进和/或倒带(例如,执行粗略查找)磁带,直到到达磁带上足够靠近存储感兴趣文件的物理位置的位置。此时,磁带驱动器可以降低磁带前进和/或倒回(例如,执行精细查找)的速度,使得写在磁带上的数据甚至可以被读取直到感兴趣的文件被定位。
如上所述,操作1008包括使用一个或多个磁带目录中的第一个来将文件中的每个映射到存储相应文件的磁带上的一个区域。因而,操作1008分组所请求的文件,使得存储在相同区域中的那些文件被包括在相同子集中。仍参考图10,操作1010进一步包括将存储在磁带上的相同第一区域中的文件的第一子集排序为第一顺序。换言之,存储在相同区域中并且已经被分配给相同子集的文件优选地以特定顺序组织。应当注意,第一子集中的文件在磁带上没有被物理地排序成(例如,改写)第一顺序,而是作出关于将访问第一子集中的文件的优选顺序的确定。
再次,本文所包含的方法中的不同方法能够以比常规可实现的方式更有效的方式从磁带访问(例如,读取)多个文件。这些改进是通过将要访问的文件按特定顺序排序而实现的,该顺序将磁带驱动器在实际读取文件时执行的磁带重新定位量降至最低。因而,操作1010优选地对第一子集中的文件进行排序,使得由于根据第一顺序读取第一子集中的文件中的每个文件而经历的数据访问时间小于由于以不同于第一顺序的任何顺序读取第一子集中的文件中的每个文件而经历的数据访问时间。这种改进的数据访问时间是由于使用存储在第一区域中的每个文件的物理位置来确定顺序,从而在以给定顺序读取文件时,使磁带驱动器相对于磁带执行的磁头重新定位量最小化。在一些方法中,也使用(例如,基于)与相应文件中的每一者相关联的第一记录编号将第一子集中的文件排序为第一顺序。
方法1000从操作1010前进到判定1012,判定1012包括确定在读请求中标识的并且对应于第一磁带目录的所有文件是否已经被排序。换言之,判定1012确定第一磁带目录中表示的文件的子集中的每个是否已经被评估。响应于确定至少一个文件尚未被排序,方法1000进行到操作1014。在那里,操作1014包括前进到文件的后续(例如,下一个)子集。应注意,方法1000可按任何所要顺序在文件子集之间前进。因此,关于本描述,“文件的后续子集”可以指包括在与先前排序的区域相邻的区域中、包括在所请求的文件的次最大数目的区域中等的那些文件。
此外,操作1016包括将文件的后续子集排序成后续顺序。优选地,文件的后续子集基于每个文件的物理位置和/或与每个文件相关联的第一记录号来排序。然而,可使用上文相对于操作1010所描述的方法中的任一者或一者以上将文件的后续子集排序成后续顺序。
随着请求文件数量的增加,对请求文件进行排序以使其能够以高效方式被访问(例如读取)所涉及的计算复杂度也会增加。由此,通过单独地排序每一子集中的文件,方法1000能够同时且并行地处理文件的一个以上子集,从而显著改进操作效率。例如,当在操作1016中对文件的后续子集进行排序时,指示磁带驱动器根据先前顺序(在此为第一顺序)读取先前子集(在此为第一子集)中的文件中的每一者。参见操作1018。一个或多个指令可以被发送到磁带驱动器,其指定要从磁带读取文件的特定顺序。然而,实际从磁带读取文件的过程可使用任何期望的过程来执行,例如本文关于图1A-9所描述的那些过程。
由此,优选地同时且并行地执行操作1016和1018,使得文件的一个子集被排序,而文件的另一子集实际上以先前确定的顺序被读取。在一些方法中,操作1016和1018可使用同一主机服务器同时和并行执行(例如,参见下文图11的1102)。然而,在其他方法中,可以实现一个以上的服务器、处理器等,以便同时和并行地执行操作。
方法1000从操作1018前进到操作1020,操作1020包括实际地接收已经由磁带驱动器从文件子集读取的信息(例如,数据、元数据等)。在一些方法中,信息可在文件正被读取时在流中接收,而在其他方法中,从子集中的所有文件读取的信息可由带驱动器响应于完成读取操作而作为分组发送。此外,从磁带驱动器接收的信息被存储在存储器(例如,高速缓存、缓冲器等)中。参见操作1022。
可选操作1023还包括编译已经从磁带驱动器接收并被存储在存储器中的信息。经编译的信息也被发送(例如,传输)至远程存储设备。远程存储设备优选地对应于用于信息副本的预期目标位置。因此,在一些方法中,可以在操作1002中接收的读取请求中指定预期目标位置。此外,一个或多个指令可以被发送到远程存储设备以将所接收的信息的副本存储在远程存储设备中,例如,如下面将进一步详细描述的。
从操作1023,方法1000返回到判定1012,以重复关于读取请求中标识的、与第一个磁带目录对应的所有文件是否已被排序的确定。响应于确定仍有一个或多个在读取请求中标识的、与第一个磁带目录相对应的文件尚未被排序,方法1000进行到操作1014,使得对于除了先前后续子集之外的文件的下一个后续子集重复操作1014-1022。例如,可以重复操作1014使得可以前进到文件的下一个后续子集,而可以重复操作1018使得可以根据先前的后续顺序读取文件的先前的后续子集。应当注意,“文件的下一个后续子集”是指跟随在先前检查的文件子集之后的文件的下一个子集。类似地,“文件的先前后续子集”是指在继续到“文件的下一个后续子集”之前评估的文件的子集。因此,术语“下一个后续”和“前一个后续”至少相对于彼此。随后,取决于在读取请求中识别且对应于第一磁带目录的文件的数目,过程1012-1022可重复任何次数,例如作为迭代过程。
然而,响应于确定在读取请求中识别的并且对应于第一磁带目录的所有文件已经被排序,方法1000进行到判定1024。在那里,判定1024包括确定在操作1006中获得的一个或多个磁带目录中的全部是否已经被评估。响应于确定尚未评估所获得的磁带目录中的至少一个,方法1000返回到操作1008,使得磁带目录中的下一个磁带目录可以用于将文件中的每个映射到存储相应文件的磁带上的区域之一。由此可见,可以实施上面描述的方法中的任何一个或多个方法来重复操作1008以及过程1010-1022。
返回到判定1024,方法1000响应于确定已经评估了所有获得的磁带目录而前进到操作1026。在那里,操作1026包括指示磁带驱动器根据操作1016的最后迭代中形成的顺序读取最新子集中的每个文件。由此可见,可以实施以上关于操作1018描述的方法中的任意一个或多个,以便执行操作1026。此外,操作1028包含例如根据上文相对于操作1020描述的方法中的任一者而实际接收已由磁带驱动器从最新文件子集读取的信息。该接收的信息与从磁带驱动器接收的其他信息一起被进一步存储在存储器中。见操作1030。例如,如本领域技术人员在阅读本说明书之后将理解的,在执行操作1030时,可以实施上文相对于操作1022描述的任何一种或多种方法。
继续到操作1032,编译已经从磁带驱动器接收并且存储在存储器中的信息并且将其发送(例如,传输)到远程存储设备。如上所述,跨多于一个磁带目录延伸的区段可被相应地划分,并且被视为属于相应的块范围。因而,使用单个块范围来生成由一个块范围构成的那些文件。然而,由多个块范围构成的文件优选地通过以下方式来生成:在相应偏移处填充该块范围的数据并且例如使用稀疏函数来暂时留出剩余部分为空。由于读取和接收包括这样的文件的至少另一部分的附加块范围,所以优选的是该文件的该至少一部分用于填充缺失的部分并建立相应的文件。换言之,在读取相应块中的每一个时,递增地编译由多个块范围构成的文件。
远程存储设备优选地对应于用于信息副本的预期目标位置。在一些方法中,可以在操作1002中接收的读取请求中指定预期目标位置。此外,一个或多个指令被发送到远程存储设备以将所接收的信息的副本存储在远程存储设备中。参见操作1034。随后,远程存储设备优选地不同于先前从其读取信息的磁带并且与其分离。因此,可创建所请求信息的备份副本用于进一步使用、冗余存储目的、数据迁移等。
图10的流程图从操作1034进行至操作1036,由此方法1000可结束。然而,应注意,虽然方法1000可在到达操作1036后结束,但方法1000中所包含的过程中的任何一者或一者以上可重复,以便执行涉及存储在磁带上的多个文件的其他读取操作。换言之,可以重复方法1000中包括的过程中的任何一个或多个,以便执行随后接收的读取请求。
因此,包括在方法1000中的不同过程能够以比常规可能方式更有效的方式从磁带访问(例如,读取)多个文件。如前所述,使用存储在给定区域中的每个文件的物理位置来确定读取文件的优选顺序允许最小化在以给定顺序读取文件时由磁带驱动器相对于磁带执行的磁头重定位的量。这还导致性能延迟的改进。例如,由于根据由方法1000中的各个过程确定的顺序读取给定子集中的每个文件而经历的数据访问时间小于由于以任何其他顺序读取相同子集中的每个文件而经历的数据访问时间。
通过在磁带驱动器正在从磁带读取另一子集中的文件(其已经被排序)的同时对给定子集中的文件进行排序来进一步提高性能。这除了将相关计算复杂性划分成区域大小的块之外,通过重叠处理操作有效地减少了在给定时间点消耗的计算资源的量。
方法1000中包括的过程可由操作环境的任何合适的组件来执行。例如,在不同方法中,方法1000可部分或全部由主机服务器、控制器、处理器、计算机等或其中具有一个或多个处理器的一些其他装置来执行。现在参见图11,根据一个方法示出了可用于实现以上方法1000中所包括的一个或多个过程的数据存储系统1100。由此可见,可以结合来自本文列出的任何其他方法的特征来实现本数据存储系统1100,诸如参考其他图(诸如图10)描述的那些。然而,本文中呈现的此类数据存储系统1100和其他系统可用于各种应用和/或置换中,这些应用和/或置换可在本文中列出的说明性方法中具体描述,也可不具体描述。进一步,本文呈现的数据存储系统1100可用于任何期望的环境中。因此,图11(和其他图)可被认为包括任何可能的置换。
如图所示,数据存储系统1100包括耦合到磁带驱动器1104的服务器1102。关于本描述,应当注意,“耦合到”旨在指示服务器1102至少能够与磁带驱动器1104通信。因此,信息、请求、命令等可在服务器1102与磁带驱动器1104之间发送。取决于方法,服务器1102可使用无线连接(例如,WiFi、蓝牙、蜂窝式网络等)、有线连接(例如,电缆、光纤链路、电线等)等耦合到磁带驱动器1104;或在阅读本说明书之后将对本领域技术人员显而易见的任何其他类型的连接。
在优选方案中,服务器1102充当主机服务器。因此,服务器1102包括可用于运行任何数量和/或类型的应用的应用模块1106。根据一些方法,应用模块1106可以执行以上图10的方法1000中所包括的一个或多个过程。继续参考图11,应用模块1106还耦接至LTFS模块1108。LTFS模块1108用于管理LTFS,LTFS可在服务器1102和/或磁带驱动器1104上实施。LTFS是一种文件系统,其中磁带被识别为文件,并且其能够在具有先前记录的元数据(例如,诸如包括在索引上的文件中的记录号和/或文件名)的文件系统上将记录识别为文件。因而,在一些方法中,LTFS模块1108通过装置驱动器与磁带驱动器通信。应用模块1106还可以使用文件系统1100的应用编程接口读取由用户指定的文件。
从磁带读取的数据可以被复制到目标存储位置,例如,根据本文描述的任何方法。例如,在一些方法中,可在例如HDD的不同存储装置上创建多个文件的冗余副本。由此可见,本文描述的不同方法可以在数据正在多层数据存储系统的层之间传输的情况下实现。
例如,参见图12,示出了根据一个方法的存储系统1200。要注意的是,根据各种方法,在图12中所示的一些元件可实施为硬件和/或软件。存储系统1200可包括用于与至少一个较高存储层1202和至少一个较低存储层1206上的多个介质和/或驱动器通信的存储系统管理器1212。较高存储层1202优选地可以包括一个或多个随机访问和/或直接访问介质1204,诸如硬盘驱动器(HDD)中的硬盘、非易失性存储器(NVM)、固态驱动器(SSD)中的固态存储器、闪存、SSD阵列、闪存阵列等,和/或本文指出的或本领域已知的其他介质。较低存储层1206可以优选地包括一个或多个较低性能的存储介质1208,包括顺序访问介质(如磁带驱动器中的磁带和/或光学介质)、较慢访问的HDD、较慢访问的SSD等、和/或在本文指出的或本领域已知的其他存储介质。一或多个额外存储层1216可包含系统1200的设计者所期望的存储存储器介质的任何组合。而且,较高存储层1202和/或较低存储层1206中的任一者可包含存储装置和/或存储介质的某一组合。
存储系统管理器1212可通过网络1210(诸如存储区域网络(SAN)(如图12所示)或一些其他合适的网络类型)与较高存储层1202和较低存储层1206上的驱动器和/或存储介质1204、1208通信。存储系统管理器1212还可通过主机接口1214与一个或多个主机系统(未示出)通信,该主机接口1214可以是或可以不是存储系统管理器1212的一部分。存储系统管理器1212和/或存储系统1200的任何其他组件可在硬件和/或软件中实现,并且可利用用于执行本领域已知类型的命令的处理器(未示出),诸如中央处理单元(CPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。当然,如本领域技术人员在阅读本说明书时将显而易见的,可以使用存储系统的任何布置。
在更多的方法中,存储系统1200可以包括任何数量的数据存储层,并且可以在每个存储层内包括相同或不同的存储存储器介质。例如,每个数据存储层可以包括相同类型的存储存储器介质,诸如HDD、SSD、顺序访问介质(磁带驱动器中的磁带、光盘驱动器中的光盘等)、直接访问介质(CD-ROM、DVD-ROM等)或介质存储类型的任何组合。在一个这样的配置中,较高存储层1202可以包括用于在较高性能存储环境中存储数据的大部分SSD存储介质,并且包括较低存储层1206和附加存储层1216的剩余存储层可以包括用于在较低性能存储环境中存储数据的SSD、HDD、磁带驱动器等的任何组合。以此方式,可将更频繁访问的数据、具有较高优先级的数据、需要更快速访问的数据等存储到较高存储层1202,而可将不具有这些属性中的一者的数据存储到额外存储层1216(包含较低存储层1206)。当然,本领域技术人员在阅读本说明书后,可以根据在此呈现的方法来设计存储介质类型的许多其他组合以实现成不同的存储方案。
根据一些方法,存储系统(例如1200)可以包括被配置为接收打开数据集的请求的逻辑,被配置为确定所请求的数据集是否在多个相关联部分中存储到分层数据存储系统1200的较低存储层1206的逻辑,被配置为将所请求的数据集合的每个关联部分移动到分层数据存储系统1200的较高存储层1202的逻辑,以及被配置为在分层数据存储系统1200的较高存储层1202上从关联部分组装所请求的数据集合的逻辑。
根据一个使用中的示例,该示例举例说明了本文所包括的各种方法所取得的改进、但是不以任何方式限制本发明,接收指定1,000,000个文件(即,n=1,000,000)的读取请求。仅用于对这个数量的指定文件进行排序的常规过程具有O(n×log(n))的计算复杂度。因而,可以估计将这些1,000,000个指定文件排序成应当使用常规过程读取它们的顺序将花费约24小时。
形成鲜明对比的是,在此介绍的不同方法引入用于以O(n×log(k))的计算复杂度将“n”个文件分成“k”个不同区域的过程。虽然不能简单地比较这些计算复杂度,但是在“n”等于1,000,000并且“k”等于2个二分之一×208个缠绕物或总共416个区域的情况下,可以预期的是,与常规上可实现的计算复杂度相比,计算复杂度可以降低以下百分比:
Figure BDA0003501119810000201
因此,本文所包括的一些方法能够将相同的1,000,000个指定文件排序成它们在以下时间量内应当被读取的顺序:24小时×43.7%=10小时和29分钟。
每个磁带目录区域中的计算复杂性可以进一步表示为O((n/k)×log(n/k))。然而,以下等式还结合了由于与磁带驱动器正在读取的先前排序的文件同时且并行地对文件进行排序而实现的计算效率:
Figure BDA0003501119810000202
由此,本文所包含的方法中的各种方法能够将计算复杂性降低到仅为用于访问磁带上的多个文件的常规程序所经历的计算复杂性的0.135%。遵循花费约24小时来排序所有1,000,000个文件的常规程序的前述实例,本文所包含的方法能够在约2分钟内排序每一磁带目录中所包含的文件。此外,磁带驱动器能够以大约5.6米/秒使磁带前进和/或倒带。由此,带驱动器能够在大约1分钟30秒内从具有大约500米长度的给定带目录区域读取文件中的数据。比较而言,具有标准磁带驱动器一半高度的磁带驱动器能够以大约4.7米/秒的读取速度在大约1分钟和46秒内覆盖相同的500米磁带。
由于以优选方法与从磁带读取文件的处理并行地执行针对每个磁带目录的排序处理,所以使用额外的15至30秒来执行针对相应磁带目录的排序处理。因此,如果在完成从磁带读取数据之后的计算时开始后续读取过程,则产生从“停止”位置到读取“开始”位置的大约3秒到5秒的倒带,例如,如本领域技术人员在阅读本说明书之后将理解的。因此,期望预先预测执行计算和调整磁带的前进或倒带速度所涉及的时间。
根据不以任何方式限制本发明的示例,对于约4.23米/秒的带速度,经历约118秒的计算时间,并且对于约3.87米/秒的带速度,经历约129秒的计算时间。此外,也可以通过组合多个带速度来进行微调。当对磁带的每个区域添加15至30秒时,评估整个磁带所花费的时间量如下:15秒×208个区域=52分钟,或者可替换地,30秒×208个区域=104分钟(1小时和44分钟)。
将这些磁带定位延迟与上述文件排序成果相结合,会产生与执行读取操作相关的总时间,该操作指定1000000个文件,如下所示:(24小时×43.7%)+(52分钟或可替代地1小时和44分钟)=11小时和21分钟或12小时和13分钟,这取决于针对磁带的每个区域并入的时间量。因而,可以预期的是,本文所包括的不同方法能够在常规过程能够实现相同结果的大约一半时间量内执行多文件读取和/或复制请求。
再次,至少部分由于利用磁带目录而实现这些显著的改进。例如,当接收到指定多个文件的读取或复制请求时,基于磁带上存储了各个文件的数据的区域执行排序,特别是预先参考磁带目录。磁带驱动器然后能够对每个区域的记录进行排序,并且然后能够以排序的顺序读取记录,而同时在磁带的下一个区域中对文件进行排序。根据绝不旨在限制本发明的示例性方法,接收指定已经在磁带上写入的多个文件的读取和/或复制请求。随后,从磁带驱动器获取磁带目录信息,查询每个拷贝目标文件的记录号,然后将其分类为一组对应的磁带目录区域。然后通过记录号和区域中的物理位置对属于第一磁带目录区域的文件进行排序。一旦被排序,文件就以排序的顺序被读取,同时在磁带的后续区域中对文件进行排序。使用从磁带读取并最终复制到目标存储位置的数据来生成文件。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机访问存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
此外,根据不同实施例的系统可包括处理器和与处理器集成和/或可由处理器执行的逻辑,逻辑被配置成执行本文所述的处理步骤中的一个或多个。通过与其集成,意味着处理器具有嵌入在其中的作为硬件逻辑的逻辑,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。处理器可执行的意思是逻辑是硬件逻辑;软件逻辑,诸如固件、操作系统的一部分、应用程序的一部分;等等,或硬件和软件逻辑的一些组合,所述硬件和软件逻辑可由处理器访问并且被配置为使处理器在由处理器执行时执行一些功能。软件逻辑可以存储在任何存储器类型的本地和/或远程存储器上,如本领域中已知的。可以使用本领域已知的任何处理器,诸如软件处理器模块和/或硬件处理器,诸如ASIC、FPGA、中央处理单元(CPU)、集成电路(IC)等。
将清楚的是,前述系统和/或方法的不同特征可以以任何方式进行组合,从而从以上呈现的描述中创建多个组合。
还应当理解,本发明的实施例可以按代表客户部署的服务的形式来提供。
本文公开的发明概念已经通过示例来呈现,以示出在多个说明性场景、实施例和/或实现中的其无数特征。应当认识到,通常公开的概念被视为模块化的,并且可以在其任意组合、置换或者合成中实现。此外,本领域的普通技术人员在阅读即时描述之后将认识到的本披露的特征、功能、和概念的任何修改、变更、或等效物也应当被认为是在本披露的范围内。
已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。

Claims (26)

1.一种用于访问文件的计算机实现的方法,所述方法包括:
接收从磁带读取多个文件的请求;
获得磁带目录,所述磁带目录标识所述磁带上存储所述文件的区域;
使用所述磁带目录将所述文件中的每一个映射到所述磁带上存储所述相应文件的所述区域中的一个;
将存储在所述磁带上的相同第一区域中的所述文件的第一子集排序为第一顺序;以及
同时:
将存储在所述磁带上的相同第二区域中的所述文件的第二子集排序为第二顺序,以及指示磁带驱动器根据所述第一顺序读取所述第一子集中的所述文件的每个文件。
2.如权利要求1所述的计算机实现的方法,其中并行执行对所述文件的所述第二子集进行排序以及指示所述带驱动器读取所述第一子集中的所述文件的每个文件。
3.如前述权利要求中任一项所述的计算机实现的方法,包括:
同时:
将存储在所述磁带上的相同后续区域中的所述文件的后续子集排序为后续顺序;以及
指示所述带驱动器根据所述第二顺序读取所述第二子集中的所述文件的每个文件。
4.如权利要求3所述的计算机实现的方法,包括:
执行迭代过程,所述迭代过程包括:
确定所有所述文件是否已经被排序;
响应于确定所述文件中的一个或多个尚未被排序,前进到所述文件的下一个后续子集;以及
同时:
将存储在所述磁带上的相同的下一个后续区域中的所述文件的所述下一个后续子集按下一个后续顺序排序,以及
指示所述带驱动器根据所述先前后续顺序读取所述先前后续子集中的所述文件的每个文件。
5.如权利要求4所述的计算机实现的方法,包括:
响应于确定所有所述文件已被排序,指示所述带驱动器根据所述下一个后续顺序读取所述下一个后续子集中的所述文件的每个文件。
6.如前述权利要求中任一项所述的计算机实现的方法,包括:
接收从所述第一子集中的所述文件的每个文件读取的信息;
将所述接收的信息发送到存储设备;以及
发送一个或多个指令以将所述接收的信息的副本存储在所述存储设备中。
7.如前述权利要求中任一项所述的计算机实现的方法,其中每个区域对应于所述磁带上的全缠绕的一半。
8.如前述权利要求中任一项所述的计算机实现的方法,其中所述计算机实现的方法由耦合到所述带驱动器的主机服务器执行。
9.如权利要求8所述的计算机实现的方法,其中所述主机服务器实施线性磁带文件系统(LTFS)。
10.如前述权利要求中任一项所述的计算机实现的方法,其中使用所述磁带目录将所述文件的每个文件映射到所述磁带上存储所述相应文件的所述区域中的一个包括:
识别对应于所述给定文件的块范围;以及
将所述给定文件指派给所述磁带上包含对应于所述给定文件的所述块范围的区域。
11.如前述权利要求中任一项所述的计算机实现的方法,其中将存储在所述磁带上的给定区域中的所述文件的给定子集排序为给定顺序包括:
使用存储在所述给定区域中的每个文件的物理位置来确定所述给定顺序,以使得在以所述给定顺序读取所述文件时由所述带驱动器执行的头重定位的量被最小化。
12.如前述权利要求中任一项所述的计算机实现的方法,其中由于根据所述第一顺序读取所述第一子集中的所述文件的每个文件而经历的数据访问时间小于由于以除了所述第一顺序之外的任何顺序读取所述第一子集中的所述文件的每个文件而经历的数据访问时间。
13.一种用于访问文件的计算机程序产品,所述计算机程序产品包括:
计算机可读存储介质,所述计算机可读存储介质可由处理电路读取并且存储用于由所述处理电路执行以执行根据权利要求1至12中任一项所述的方法的指令。
14.一种计算机程序,存储在计算机可读介质上并且可加载到数字计算机内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,所述软件代码部分用于执行权利要求1至12中任一项的方法。
15.一种用于访问文件的系统,所述系统包括:
处理器;以及
与所述处理器集成、可由所述处理器执行、或与所述处理器集成且可由所述处理器执行的逻辑,所述逻辑配置成用于:
由所述处理器接收从磁带读取多个文件的请求;
由所述处理器获得磁带目录,所述磁带目录标识所述磁带上存储所述文件的区域;
由所述处理器使用所述磁带目录将所述文件中的每一个映射到所述磁带上存储所述相应文件的所述区域中的一个;
由所述处理器将存储在所述磁带上的相同第一区域中的所述文件的第一子集排序为第一顺序;以及
同时:
由所述处理器将存储在所述磁带上的相同第二区域中的所述文件的第二子集排序为第二顺序,以及由所述处理器指示磁带驱动器根据所述第一顺序读取所述第一子集中的所述文件的每个文件。
16.根据权利要求1所述的系统,其中对所述文件的所述第二子集进行排序以及指示所述磁带驱动器读取所述第一子集中的所述文件的每个文件并行执行。
17.如权利要求15或16所述的系统,包括:
同时:
将存储在所述磁带上的相同后续区域中的所述文件的后续子集排序为后续顺序;以及
指示所述带驱动器根据所述第二顺序读取所述第二子集中的所述文件的每个文件。
18.根据权利要求17所述的系统,包括:
执行迭代过程,所述迭代过程包括:
确定所有文件是否已经被排序;
响应于确定所述文件中的一个或多个尚未被排序,前进到所述文件的下一个后续子集;以及
同时:
将存储在所述磁带上的相同的下一个后续区域中的所述文件的所述下一个后续子集按下一个后续顺序排序,以及
指示所述带驱动器根据所述先前后续顺序读取所述先前后续子集中的所述文件中的每一个。
19.根据权利要求18所述的系统,包括:
响应于确定所有所述文件已被排序,指示所述带驱动器根据所述下一个后续顺序读取所述下一个后续子集中的所述文件的每个文件。
20.如权利要求15至19中任一项所述的系统,包括:
接收从所述第一子集中的所述文件的每个文件读取的信息;
将所述接收的信息发送到存储设备;以及
发送一个或多个指令以将所述接收的信息的副本存储在所述存储设备中。
21.如权利要求15至20中任一项所述的系统,其中每个区域对应于所述磁带上的全缠绕的一半。
22.如权利要求15至21中任一项所述的系统,其中所述计算机实现的方法由耦合到所述带驱动器的主机服务器执行。
23.如权利要求22所述的系统,其中所述主机服务器实施线性磁带文件系统(LTFS)。
24.如权利要求15至23中任一项所述的系统,其中使用所述磁带目录来将所述文件的每个文件映射到所述磁带上存储所述相应文件的所述区域中的一个包括:
识别对应于所述给定文件的块的范围;以及
将所述给定文件指派给所述磁带上包含对应于所述给定文件的所述块范围的区域。
25.权利要求15至24中任一项所述的系统,其中将存储在所述磁带上的给定区域中的所述文件的给定子集排序为给定顺序包括:
使用存储在所述给定区域中的每个文件的物理位置来确定所述给定顺序,以使得在以所述给定顺序读取所述文件时由所述带驱动器执行的头重定位的量被最小化。
26.权利要求15至25中任一项所述的系统,其中由于根据所述第一顺序读取所述第一子集中的所述文件的每个文件而经历的数据访问时间小于由于以除了所述第一顺序之外的任何顺序读取所述第一子集中的所述文件的每个文件而经历的数据访问时间。
CN202080056960.3A 2019-08-22 2020-08-14 使用块分组从磁带高速文件复制 Pending CN114270438A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/548,684 2019-08-22
US16/548,684 US10734021B1 (en) 2019-08-22 2019-08-22 High speed file copy from tape using block grouping
PCT/IB2020/057666 WO2021033103A1 (en) 2019-08-22 2020-08-14 High speed file copy from tape using block grouping

Publications (1)

Publication Number Publication Date
CN114270438A true CN114270438A (zh) 2022-04-01

Family

ID=71838880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080056960.3A Pending CN114270438A (zh) 2019-08-22 2020-08-14 使用块分组从磁带高速文件复制

Country Status (6)

Country Link
US (1) US10734021B1 (zh)
JP (1) JP7430247B2 (zh)
CN (1) CN114270438A (zh)
DE (1) DE112020003331B4 (zh)
GB (1) GB2601691B (zh)
WO (1) WO2021033103A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10734021B1 (en) 2019-08-22 2020-08-04 International Business Machines Corporation High speed file copy from tape using block grouping
US11688431B2 (en) 2021-05-06 2023-06-27 International Business Machines Corporation Tape reposition management in a tape data storage drive
US11768604B2 (en) 2021-11-15 2023-09-26 International Business Machines Corporation Reducing time to locate and read files within a tape medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415300B1 (en) * 1999-07-06 2002-07-02 Syncsort Incorporated Method of performing a high-performance backup which gains efficiency by reading input file blocks sequentially
US20080030887A1 (en) * 2006-08-07 2008-02-07 Fujitsu Limited Control apparatus, control method, and computer product for magnetic tape device
WO2012025492A1 (en) * 2010-08-24 2012-03-01 International Business Machines Corporation Reordering access to reduce total seek time on tape media
US8510524B1 (en) * 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
US20150347034A1 (en) * 2014-05-28 2015-12-03 Oracle International Corporation Tape drives generating best access order of randomly stored files on a tape
US20160062671A1 (en) * 2014-08-26 2016-03-03 International Business Machines Corporation Restoring data
US20180157420A1 (en) * 2016-12-05 2018-06-07 International Business Machines Corporation Writing file information for tape file systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2972131A (en) 1956-08-24 1961-02-14 Dirks Gerhard Apparatus for sorting signals recorded on a magnetisable signal carrier
US9165388B2 (en) * 2008-09-22 2015-10-20 International Business Machines Corporation Method of automatic cropping
JP5782364B2 (ja) 2011-11-08 2015-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のファイルを列挙した情報を生成する装置及び方法
JP2013161185A (ja) 2012-02-02 2013-08-19 Nec Corp 磁気テープ装置及びその制御方法
US9401180B2 (en) 2012-10-12 2016-07-26 International Business Machines Corporation High resolution tape directory (HRTD) stored at end of data in an index partition
JP5999650B2 (ja) 2013-03-14 2016-09-28 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ上の複数のレコード群の読み出し順序を検索する方法、プログラム
JP6109012B2 (ja) 2013-08-23 2017-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープメディアにおいてフォーマットを初期化する前に書き込まれていたデータのリカバリー
JP2015069290A (ja) 2013-09-27 2015-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープドライブ用ファイルシステムよる更新されたファイルの読み出し速度を改善する方法
JP5925280B2 (ja) 2014-11-04 2016-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープに書き込されたファイルを消去する方法、プログラム、及びテープ装置
US10734021B1 (en) 2019-08-22 2020-08-04 International Business Machines Corporation High speed file copy from tape using block grouping

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415300B1 (en) * 1999-07-06 2002-07-02 Syncsort Incorporated Method of performing a high-performance backup which gains efficiency by reading input file blocks sequentially
US20080030887A1 (en) * 2006-08-07 2008-02-07 Fujitsu Limited Control apparatus, control method, and computer product for magnetic tape device
US8510524B1 (en) * 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
WO2012025492A1 (en) * 2010-08-24 2012-03-01 International Business Machines Corporation Reordering access to reduce total seek time on tape media
CN103080896A (zh) * 2010-08-24 2013-05-01 国际商业机器公司 对访问重新排序以减少对磁带介质的总查找时间
US20150347034A1 (en) * 2014-05-28 2015-12-03 Oracle International Corporation Tape drives generating best access order of randomly stored files on a tape
US20160062671A1 (en) * 2014-08-26 2016-03-03 International Business Machines Corporation Restoring data
US20180157420A1 (en) * 2016-12-05 2018-06-07 International Business Machines Corporation Writing file information for tape file systems

Also Published As

Publication number Publication date
DE112020003331B4 (de) 2023-11-23
JP7430247B2 (ja) 2024-02-09
GB202202949D0 (en) 2022-04-20
WO2021033103A1 (en) 2021-02-25
US10734021B1 (en) 2020-08-04
JP2022545676A (ja) 2022-10-28
DE112020003331T5 (de) 2022-03-31
GB2601691B (en) 2023-04-19
GB2601691A (en) 2022-06-08

Similar Documents

Publication Publication Date Title
JP7116383B2 (ja) テープ・ドライブ上で模倣読み取りを使用する高速な位置特定
US11016687B2 (en) Writing file information for tape file systems
US10818314B1 (en) Storing multiple instances of a housekeeping data set on a magnetic recording tape
US10204653B2 (en) Selective index writing prior to unthreading a magnetic recording tape
US10453485B1 (en) Increasing data storage capacity by reducing index entries
CN114270438A (zh) 使用块分组从磁带高速文件复制
US11664048B2 (en) Multi-spool tape recording apparatus
US10679658B1 (en) Reduction of aging effects on a magnetic recording tape in a dual-reel cartridge
US10698828B2 (en) Copying fragmented files between sequential storage mediums
US11163500B2 (en) Caching files in a directory
CN116529704A (zh) 将数据从基于线性磁带文件系统的存储系统复制到随机存取非易失性存储器驱动器
US11494338B2 (en) Caching files in a directory
JP2023501919A (ja) テープ・スプール対を支持するための取り外し可能マウントを有するマルチスプール・テープ記録装置
US10685676B1 (en) Adaptive tension position change on tape drive
US10770107B1 (en) Adaptive tension position changing for magnetic tape recording device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination