专利名称:到磁带的多主机并行写入的制作方法
到磁带的多主机并行写入
背景技术:
由竞争及消费者需求所驱动,带驱动器(tape drive)数据速率已稳定地增大,而主机数据速率却以低得多的速度增大。当前带驱动器数据速率远远超出多数主机可向带驱动器系统供应数据的速率。此差异阻碍了带驱动器的性能,从而导致延长的备份时间及减小的效率。因此,一种可解决当前方法及系统的缺点以改良数据存储速率及/或效率的解决方案将是有益的。
发明内容
根据一实施例,一种用于将数据存储于一磁带上的方法包括接收来自两个不同主机的数据,及使用多个传感器同时将来自所述主机的数据写入至该磁带。在另一途径中,一种用于将数据存储于一磁带上的方法包括接收来自多个主机的建立一并行保留的请求,及将一线带(wrap)中的唯一磁条(stripe)分配给发送了所述请求的所述主机中的每一个。该线带为将由磁带头的多个传感器(transducer)在磁带移动的一个方向上同时写入的数据磁道的集合,且被逻辑地分为所述磁条。又,该方法包括接收来自所述主机的数据,且使用该多个传感器同时将来自所述主机的数据写入至该磁带。在另一实施例中,一种用于将数据存储于一磁带上的系统包括具有多个传感器的磁头;用于使磁带在该磁头上通过的驱动机构;及与该磁头通信的控制器。此外,该系统包括用于接收来自两个不同主机的数据的输入;及用于使用该多个传感器同时将来自所述主机的数据写入至该磁带的逻辑。根据另一实施例的一种磁带盒包括上面存储有数据的磁带,该数据是从两个不同主机接收的并被同时写入至该磁带。根据又一实施例的一种磁带盒(magnetic tape cartridge)包括经格式化以用于多主机并行写入的磁带,其中该盒包括指示出该磁带经格式化以用于多主机并行写入的指本发明的其它方面及实施例从以下详细说明将变得显而易见,所述详细说明在结合附图考虑时以示例说明了本发明的原理。
图1示出根据一实施例的网络架构。图2示出根据一实施例的代表性硬件环境,该硬件环境可与图1的服务器及/或客户端相关联。图3A描绘根据一实施例的用于双主机并行写入的系统的简化示意图。图;3B示出根据一实施例的用于双主机并行写入的系统的简化概图。图3C示出根据一实施例的写入至磁带的两个部分的数据的简化示意图。图4为示出根据一实施例的用于输入来自一个或多个主机的待写入一磁带的数据的方法的流程图。图5为示出根据一实施例的用于将来自一个或多个主机的数据写入至磁带的方法的流程图。图6为根据一实施例的用于将数据存储于磁带上的方法的流程图。图7为根据一实施例的用于将数据存储于磁带上的方法的流程图。
具体实施例方式出于说明本发明的一般原理的目的而进行以下描述,且其并非意谓限制本文中所主张的发明概念。另外,可在各种可能组合及排列中的每一个中结合其它所描述特征来使用本文中所描述的特定特征。除非本文中另外明确定义,否则所有术语被赋予其最广泛的可能解译,包括来自说明书的暗示含义以及由本领域技术人员所理解的及/或如辞典、论文等中所定义的含义。也必须注意,如在说明书及所附权利要求中所使用的,除非另外规定,否则单数形式的“一”、“一个”及“该”包括复数个所指目标。根据一途径,多主机并行写入允许两个或两个以上主机同时将数据写入至磁带, 由此利用了带驱动器的全部潜能。多主机并行写入为两个或两个以上主机可藉以同时对单个带驱动器执行写入的方法。带驱动器经由新的磁带格式来管理该并行性,该新的磁带格式将每一数据线带分为两个或两个以上数据“磁条”。自并行工作的两个或两个以上主机传输的数据量更可能接近于带驱动器的本机数据速率,这允许带驱动器接近于峰值性能。在一个一般实施例中,一种用于将数据存储于磁带上的方法包括接收来自两个不同主机的数据,及使用多个传感器同时将来自所述主机的数据写入至该磁带。在另一个一般实施例中,一种用于将数据存储于磁带上的方法包括接收来自多个主机的建立一并行保留的请求,及将一线带中的唯一磁条分配给发送了所述请求的所述主机中的每一个,其中该线带为将由磁带头的多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合,其中该线带被逻辑地分为所述磁条。该方法也包括接收来自所述主机的数据,且使用该多个传感器同时将来自所述主机的数据写入至该磁带。在另一个一般实施例中,一种用于将数据存储于磁带上的系统包括具有多个传感器的磁头;用于使磁带在该磁头上通过的驱动机构;与该磁头通信的控制器;用于接收来自两个不同主机的数据的输入;及用于使用该多个传感器同时将来自所述主机的数据写入至该磁带的逻辑。在另一个一般实施例中,一种磁带盒包括上面存储有数据的磁带,该数据是自两个不同主机接收并同时写入至该磁带的。定义线带在磁带行进的一个方向上被同时访问的磁道的集合。磁道由单个带驱动器头读或写组件访问的数据。磁条构成一线带的若干磁道的一部分。回退(Baclihitch)具有显著性能影响的对物理磁带的机械重定位。RABF 递归式累积无回退清空(Recursive Accumulating Backhitchless Flush)的缩写,其为经由临时放松数据集间距而减少回退的先前专利方法。非易失性高速缓存RABF的另一术语。如本领域技术人员所了解的,本发明可体现为一系统、方法或计算机程序产品。因而,本发明可采取完全硬件实施例、操作一装置的软件实施例(包括固件、常驻软件、微码等)或组合软件与硬体方面的实施例的形式,所述硬件和软件方面在本文中皆可通称为 “电路”、“模块”或“系统”。此外,本发明可采取存储于任何有形表达媒体中的计算机程序产品的形式,该有形表达媒体中存储有计算机可用程序代码。可利用一个或多个计算机可用或计算机可读媒体的任何组合。计算机可用或计算机可读媒体可为(例如,但不限于)电子、磁、光、电磁、红外线或半导体系统、装置或设备。 计算机可读媒体的更具体示例(非穷尽清单)将包括以下各项便携型计算机软盘、硬盘、 随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、便携型紧致光盘-只读存储器(CD-ROM)、光存储设备,或磁存储设备。可以一种或多种程序设计语言的任何组合来撰写用于进行本发明的操作的计算机程序码,该一种或多种程序设计语言包括诸如Java、Smalltalk, C++或其类似者的面向对象程序设计语言,及诸如“C”程序设计语言或类似程序设计语言的传统过程性程序设计语言。程序代码可完全在用户计算机上执行,部分地在用户计算机上执行,作为独立软件包执行,部分地在用户计算机上执行且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一种情境下,远程计算机可经由包括局域网络(LAN)或广域网络(WAN) 的任何类型的网络连接至用户计算机,或者可以(例如,使用因特网服务提供者经由因特网)连接至外部计算机。本文中参考根据本发明的实施例的方法、装置(系统)及计算机程序产品的流程图说明及/或方块图来描述本发明。将理解,可由计算机程序指令来实施流程图说明及/ 或方块图中的每一块及所述流程图说明及/或方块图中的块的组合。可将这些计算机程序指令提供至通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生一机器, 以使得经由该计算机或其它可编程数据处理装置的处理器执行的指令可创建用于实施流程图及/或方块图的一个或多个块中所规定的功能/动作的装置。这些计算机程序指令也可存储在一计算机可读媒体中,其可指导计算机或其它可编程数据处理装置以特定方式起作用,以使得存储在该计算机可读媒体中的指令产生一制造物品,该制造物品包括实施流程图及/或方块图的一个或多个块中所规定的功能/动作的指令装置。所述计算机程序指令也可加载至计算机或其它可编程数据处理装置上以使一系列操作步骤在该计算机或其它可编程装置上执行以产生一计算机实施的过程,从而使得在该计算机或其它可编程装置上执行的指令可提供用于实施流程图及/或方块图的一个或多个区块中所规定的功能/动作的过程。附图中的流程图及方块图说明了根据本发明的各种实施例的系统、方法及计算机程序产品的可能实施的架构、功能及操作。就此而言,流程图或方块图中的每一块可表示程序代码的模块、段或部分,其包括用于实施规定的逻辑功能的一个或多个可执行指令。也应注意,在一些替代实施中,块中所提及的功能可能不以图中所示出的次序发生。举例而言, 视所涉及的功能而定,相继示出的两个块可能实际上被基本上并行执行,或所述块有时可以相反次序来执行。也应注意,方块图及/或流程图说明的每一块及方块图及/或流程图说明中的块的组合可由执行规定功能或动作的基于硬件的专用系统实施,或由专用硬件与计算机指令的组合来实施。图1说明根据一实施例的网络架构100。如图1中所示,提供多个远程网络102, 其包括第一远程网络104及第二远程网络106。网关101可耦接于远程网络102与近端网络108之间。在本网络架构100的情形下,网络104、106可各自采取包括(但不限于)以下各项的任何形式LAN、诸如因特网的WAN,PSTN、内部电话网络等。在使用中,网关101用作自远程网络102至近端网络108的入口点。因而,网关 101可充当路由器,其能够引导到达网关器101的给定数据封包;及交换器,其为给定封包提供进入及离开网关101的实际路径。另外包括至少一个数据服务器114,其耦接至近端网络108,且可自远程网络 102经由网关101而访问。应注意,数据服务器114可包括任何类型的计算设备/群件 (groupware)。多个用户设备116耦接至每一数据服务器114。这样的用户设备116可包括桌面计算机、膝上型计算机、手持式计算机、打印机或任何其它类型的逻辑。应注意,在一实施例中,用户设备111也可直接耦接至网络中的任一个。外围设备120或外围设备120的系列(例如,传真机、打印机、网络连接的存储单元等)可耦接至网络104、106、108中的一个或多个。应注意,数据库、服务器及/或额外组件可与耦接至网络104、106、108的任何类型网络组件一起被利用,或可集成至耦接至网络 104、106、108的任何类型网络组件中。在本描述的情形下,网络组件可指代网络的任何组件。图2示出根据一实施例的与图1的用极设备116及/或服务器114相关联的代表性硬件环境。此图示出一工作站的典型硬件配置,该工作站具有诸如微处理器的一中央处理单元210,及经由系统总线212互连的若干其它单元。图2中示出的工作站包括随机存取存储器(RAM) 214 ;只读存储器(ROM) 216 ;用于将诸如盘存储单元220的外围设备连接至总线212的I/O适配器218 ;用于将键盘224、 鼠标226、扬声器228、麦克风232及/或其它用户接口设备(诸如,触控式屏幕及数字相机 (未示出))连接至总线212的用户接口适配器222 ;用于将工作站连接至通信网路235 (例如,数据处理网络)的通信适配器234 ;及用于将总线212连接至显示设备238的显示适配器 236 ο工作站上可能已驻留一操作系统,诸如Microsoft Windows 操作系统(OS) ,MAC OS或UNIX操作系统。应了解,优选实施例也可实施于除所提及的这些平台及操作系统外的平台及操作系统上。可使用JAVA、XML、C及/或C++语言或其它程序设计语言以及面向对象的程序设计方法来撰写优选实施例。可使用已愈来愈多地用以开发复杂应用程序的面向对象的程序设计(00P)。在现有磁带格式中,可为任何类型的计算设备或应用的单个主机以一次一线带的方式对磁带进行写入。线带为由带驱动器头同时写入或读取的相关磁道的集合。带驱动器头具有若干个读组件及写组件,其可存在于单个模块或多个模块上。磁道为由单个写组件写入及由单个读组件读取的数据。举例而言,16通道头通常具有与每一类型的行进方向相关联的16个写组件及16个读组件。在写入期间,头可平行写入16个磁道。在读取期间,头可平行读取16个磁道。16个同时访问的磁道的组组成一线带。实施例现参看图3A,示出根据一实施例的用于并行写入来自两个主机的数据的系统 300。“主机”在此定义为任何数据源,其包括(但不限于)独立计算机、应用程序及其组合。 因此,“主机”可为个别计算机、在独立计算机上执行的个别应用程序、在同一计算机上执行但单独地将数据传送至带驱动器写电路(可选地各自使用不同I/O电路)的个别应用、在一计算机上执行但将多个数据串流(stream)个别地传送至带驱动器写电路(可选地对于每一串流使用不同I/O电路)的单个应用等。当然,通过简单地增加组件的数目以容纳额外的主机及数据流,类似系统可用于写入来自两个以上主机的数据。然而,为了简单起见,此实施例描述双主机写入。为了恰当地执行双主机写入,已开发出可接受双主机写入的新磁带格式。可将一线带的磁道逻辑地分为两个磁条磁条0及磁条1。每一磁条可包括磁带上的全部磁道的一部分。举例而言, 如果一次对磁带写入16个数据磁道,则如图3A中所示磁条可被分离,其中在磁条0中写入 8个磁道,且在磁条1中写入8个磁道。当然,诸如4个磁道/12个磁道、2个磁道/10个磁道、6个磁道/10个磁道等的其它分离方式也为可能的。线带基本上被纵向划分以界定磁条。请注意,给定磁条中的磁道在一线带中可能彼此邻近或可能并不彼此邻近。举例而言, 如图3A中所示,磁道可以例如0,1,2. . .,15的数字序列存在于磁带上,其中若干磁道分配给磁条0,且若干磁道分配给磁条1。然而,如图所示,磁条0在此示例中包括偶数通道,例如,0,2,4. . .,14,且磁条1包括奇数通道,例如,1,3,5. . .,15。因此,磁条0的数据磁道中的至少一个可位于磁条1的数据磁道之间的磁带上。可将每一磁条分配给一主机,例如,磁条0可专用于主机0,且磁条1可专用于主机1。头可同时将数据写入至两个磁条,从而允许两个主机使用单个头并行地写入,因此执行双主机并行写入。磁带自身可经格式化以接受多主机并行写入,例如以便将来自两个不同主机的同时写入至磁带的数据存储于磁带上。这种格式化可包括磁带上的界定数据带(data band) 的伺服磁道。可使用诸如(但不限于)开放式线性磁带(Linear Tape Open, LT0)的已知格式化技术及方法。此外,盒可包括指示出磁带经格式化以用于多主机并行写入的一指示。 在一方法中,可将该指示写入至磁带。在其它方法中,可将该指示存储于耦接至该盒的二级非易失性存储器(例如,闪存、EEPROM等)等中。如图3A中所示,外部接口 303、304可用以接收来自主机的数据,且接着将数据提供至数据流处理器306。这些外部接口 303、304可存在于与数据流处理器306相同的芯片上,或可位于系统300中的其它地方。又,如何划分磁道并非为关键的,且如图3A中所示的 8个磁道与8个磁道的划分并非为必要的。此外,对哪些磁道分配给哪些磁条的选择并非为关键的。仅举例而言,已将偶数通道指定给磁条0,而将偶数通道指定给磁条1。此外,根据一些实施例,可存在两个以上磁条,所述磁条可用以记录来自两个以上主机的数据。在一些实施例中,如果主机被指定为参与双主机写入,则该主机连接至带驱动器并建立“并行保留”。通过建立并行保留,主机指示其意欲访问(读取及/或写入)磁带上的磁条而非标准线带。另外,主机承诺与另一主机共享带驱动器的写处理资源。并行保留将特定磁条分配给每一主机。主机可追踪其保留的磁条标识符以便以后获取其数据。当然,在其它实施例中,两个以上主机(诸如,三个主机、四个主机等)可写入至单个磁带。在这些实施例中,进行并行写入的主机的数目决定了在磁带上界定多少个磁条。现参看图3B,示出了根据一实施例的用于双主机并行写入的系统310的示意性概图。图:3B示出如何将每一主机(主机0、主机1)专用于磁带的一个磁条(磁条0、磁条1)。 根据此实施例,来自主机0的数据并不传送至磁条1,且反之亦然。又,可针对磁带的整个分区、针对磁带的线带等来指定磁条长度。在一些实施例中,当磁条标头被置于磁带上时, 可改变磁条大小(例如,磁道的数目)。举例而言,若磁条0为16磁道线带的分区0中的8 个磁道且磁条1为16磁道线带的分区0中的8个磁道,则可将标头置于磁带上,从而指示磁条的这些大小。当来自主机的数据需求改变(诸如,主机0发送较多数据及主机1发送较少数据)时,就可在磁带的分区1中制作指示出磁条0为12个磁道且磁条1为4个磁道的一新标头,以此界定分区1中的磁条的大小。可对于磁带的每一分区、对于磁带的每一线带等重复此过程,以此指示基于正自主机接收到的数据量而在每一磁条中写入的数据量。根据一些实施例,磁带盒可包括上面存储有数据的一磁带,该数据自两个不同主机接收并同时写入至该磁带。另外,在一些实施例中,磁带盒可进一步包括指示出来自多个主机的数据已同时写入至该磁带的一计算机可读指示。这种指示可写入至磁带,存储于不在磁带上(诸如,在该盒上、在系统中,等)的存储器或非易失性存储器中。尽管两个主机不大可能以恰好相同的速率将数据发送至带驱动器,物理磁带可能对于两个主机以相同速率前进。参看图3C,示出了根据一实施例的写入至磁带302的两个磁道的数据的简化示意图。如果带驱动器试图对于两个主机以统一的间距将数据集写入至磁带302上,则带驱动器可能被迫为了较慢主机而机械地重定位磁带302(或称为回退)。 频繁的回退可使较快主机的性能降低。为了避免过多的回退并维持最佳性能,可放松对数据集间距的限制,从而可能导致在磁带的一部分320中的最佳或接近最佳的数据集间距, 而在磁带的另一部分330中的较为放松的数据集间距。由于此宽松的数据集间距而损失的容量可潜在地经由RABF(又名非易失性高速缓存)的修改版本来弥补。然而,即使在损失容量的情况下,来自不执行回退的增益仍是很大的,因为磁带将持续更长时间,带驱动器将执行得更好等。现参看图4,示出了根据一实施例的用于节点及磁条并行的数据流,其依赖于双主机写入,但通过增大步骤的数目以容纳用于多个主机的所有决策,其可被扩展以容纳两个以上主机。在步骤402中,磁带系统可接收来自一个或多个主机且可能由一个或多个外部接口提供的数据流。对于此示例而言,假设无主机、一或两个主机可向磁带系统发送信息。 在步骤404中,判定磁带系统中的磁带是否具有双主机并行写入能力,例如,磁带是否经格式化以用于双头并行写入。如果是这样,则在步骤406中,判定磁带是否处于来自两个主机的数据可写入至磁带的点,如由处于写入点的节点1及节点2所指示的。如果磁带处于这样的写入点处,则在步骤408中,将来自两个主机的数据并行地写入至磁带。在步骤404中,如果磁带不具有并行写入能力,则在步骤410中,判定磁带是否处于用于主机数据串流中的一个的写入点处,如由处于写入点的单个节点(节点1或节点2) 所指示的。如果磁带并非处于用于主机数据串流中的一个的写入点处,则在步骤420中,写入被延迟,直至磁带处于用于主机数据串流中的一个的写入点处为止,且过程继续返回步骤410。如果磁带处于用于主机数据串流中的一个的写入点处,则在步骤412中判定是否存在来自另一主机的数据。如果不存在来自第二主机的数据,则在步骤414中,将来自单个主机的数据写入至磁带。如果如步骤412中所判定的,存在来自第二主机的数据,则在步骤 422中,延迟来自第二主机的数据,从而允许写入来自第一主机的数据,继续至步骤414以进行单个主机写入。如果如在步骤406中所判定的,磁带并未处于来自两个主机的数据可写入至磁带的写入点处,则在步骤416中判定磁带是否处于用于主机数据串流中的一个的写入点,如由处于写入点的单个节点(节点1或节点2)所指示的。如果是这样,则过程继续至步骤 412。如果不是,则在步骤418中,可延迟写入,直至可写入至少一数据串流为止,且过程继续至步骤406。请注意,诸如当先前已将一磁条写入至经格式化以用于并行写入的磁带,且此后希望写入至另一磁条时,非并行写也被启用。因此,在步骤404处,判定磁带具有并行写入能力,但在步骤406中判定两个节点并非都处于写入节点处。在步骤416中,判定节点中的一个何时处于恰当写入点,例如,未经写入的磁条或待覆写的磁条的开端。过程经由步骤 412,422及414继续,以便以单个节点写入模式写入至该磁条。上文所描述的过程仅作为示例呈现,且并非意谓限制可如何解译数据流以判定应执行并行主机写入或是单个主机写入。许多其它方法可用以判定应如何及在何时使用本文中所描述的方法及技术将数据写入至磁带。因此,本发明的范围仅由权利要求限制。参看图5,其为示出了根据一实施例的至磁带的数据流的一示意图,示出了冗余检查原理。步骤502可为自图4的继续,其中将数据自单个主机或并行地写入至磁带。如果自单个主机写入数据,则磁带的速度通常由自单个主机流动的数据速率来确定。然而,如果正并行地写入数据,则在步骤504中可以多种方式来确定磁带的速度。在一实施例中,磁带的速度被选定为对应于两个主机中的较慢主机的数据速率,因此导致来自较快主机的数据被备份在一缓冲器中。根据另一实施例,磁带的速度可被选定为对应于较快主机的数据速率,因此导致记录来自较慢主机的数据的磁条上的较大数据集间距。在其它实施例中,磁带的速度可落于这两个先前描述的值之间的某处,诸如,对应于自较慢主机及较快主机的数据速率的速度的平均值、对应于较慢主机的数据速率的磁带速度的倍数、对应于较快主机的数据速率的磁带速度的分数等。在步骤506中,将数据传送至磁带(写入至磁带)。此操作可为并行双主机写入或单个主机写入。在步骤508中,判定在磁条之一(磁条0及/或磁条1)上是否存在可重试错误。如果在磁带上不存在错误,则写入在步骤506中继续。如果在步骤508中侦测到错误,则在步骤510中,停止两个数据串流的数据流,且在受影响磁条(磁条0及/或磁条1) 上执行所需要的对于错误写入的数据的恢复。接着,在步骤512中,判定所写入的数据是否符合到磁条0及/或磁条1上的数据串流的格式规范。如果是这样,则过程继续至步骤504,因为已恰当地写入数据。如果否,则过程转至步骤514,其中停止用于两个主机的数据流,且对受影响的不符规范的写入数据磁条(磁条0及/或磁条1)执行恢复。一旦在步骤514中已恢复数据,则由于已恰当地记录数据,过程继续至步骤504。相关于图5所描述的过程仅出于解释性目的,且并不意谓以任何方式进行限制。 任一过程或技术可用以判定磁带速度,并检查将数据单个或并行地写入至磁带中的错误, 且并不受这些描述限制,而是仅受权利要求限制。
现参看图6,示出根据一实施例的用于将数据存储于磁带上的方法600的流程图。 可在任何所需环境(包括在计算机系统、磁带头的控制器等中)中执行方法600。又,方法 600可包括额外的迄今未描述的步骤、过程及/或操作。此外,参照其它图及/或方法所描述的实施例在逻辑上适合时也可应用至方法600的描述。在操作602中,接收来自两个不同主机的数据,其中主机为能够传送数据的任何设备,且可为本地的(例如,直接连接至驱动器)或远程的(例如,经由网络链路连接至驱动器)。在操作604中,使用多个传感器同时将来自所述主机的数据写入至磁带。当然,如果在任何给定时间不存在来自主机中的一个的待写入的数据,则可仅写入来自另一主机的数据。然而,同时写入来自所述主机的数据意谓着两个主机都具有待写入的数据,但当主机中的一个并不具有待写入的数据时,实际上仅写入来自的确具有待写入数据的主机的数据。根据一些实施例,方法600可包括存储指示出来自多个主机的数据已同时写入至磁带的一指示。此指示可存储于磁带自身上、磁带盒的二级存储器中、磁带柜中、具有关于磁带盒的信息的数据库中等。 在一些途径中,可以各自的传入数据速率自主机中的每一个接收数据,且该方法可进一步包括选择与自主机的传入数据速率中的较快传入数据速率大约匹配或对应的数据写入速率。在其它途径中,可使对应于具有传入数据速率中的较慢传入数据速率的主机的数据的数据集间距放宽。这可类似于上文关于图5中的步骤504的磁带速度描述。在更多实施例中,可以各自传入数据速率自主机中的每一个接收数据,且进一步包括选择与自主机的传入数据速率中的较慢传入数据速率大约匹配的数据写入速率。在其它实施例中,可请求自具有传入数据速率中的较快传入数据速率的主机的数据传送的临时挂起,以例如防止缓冲器溢出(overrun)。根据一些途径,可以各自传入数据速率自主机中的每一个接收数据,且图6中的方法600可进一步包括选择在自主机的传入数据速率中的较快传入数据速率与较慢传入数据速率之间的一数据写入速率。在其它途径中,可使对应于具有传入数据速率中的较慢传入数据速率的主机的数据的数据集间距放宽。这可类似于上文关于图5中的步骤504的磁带速度描述。又,根据一些实施例,由多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合可为一线带。可将线带逻辑地分为两个磁条,其中每一磁条被分配给主机中的一个,且每一磁条与所述传感器中的多个相关联。此外,可将对应于每一主机的数据同时写入至分配给每一相应主机的磁条。在进一步的实施例中,图6中的方法600可包括接收来自所述主机中的一个的建立一并行保留的请求,且方法600可进一步包括将线带中的磁条中的一个分配给发送了请求的主机。方法600也可包括存储指示出来自多个主机的数据已被同时写入至磁带的一指示。可以各自的传入数据速率自主机中的每一个接收数据,且方法600可进一步包括基于自主机的传入数据速率来选择一数据写入速率,其中由多个传感器在磁带移动的一个方向上同时写入的数据磁道的一集合可为一线带。又,可将线带逻辑地分为两个磁条,其中每一磁条被分配给主机中的一个,且每一磁条是与所述传感器中的多个相关联的。此外,可将对应于每一主机的数据同时写入至分配给每一相应主机的磁条。现参看图7,示出根据一实施例的用于将数据存储于磁带上的方法700的流程图。 可在任何所需要的环境中(包括在计算机系统、磁带头的控制器等中)执行方法700。又, 方法700可包括额外的迄今未描述的步骤、过程及/或操作。此外,参看其它图及/或方法所描述的实施例在逻辑上适合时也可应用至方法700的描述。在操作702中,可接收来自多个主机的建立并行保留的请求。在操作704中,可将线带中的唯一磁条分配给发送了请求的主机中的每一个。线带可为将由一磁带头的多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合, 且可将线带逻辑地分为所述磁条。在操作706中,可接收来自主机的数据。数据可直接自主机发送,可发送至一个或多个外部接口等。在操作708中,可使用多个传感器同时将来自主机的数据写入至磁带。如先前所描述的,如果主机中的一个在任一给定时间并不具有待写入的数据,或以一如此较慢速率操作使得较快主机的信息足够快地到达,则可写入来自较快主机的数据,同时并不写入来自较慢主机的数据。根据一些实施例,一种用于将数据存储于磁带上的系统可包括具有多个传感器的磁头;用于使磁带在该磁头上通过的驱动机构;与该磁头通信的控制器;用于接收来自两个不同主机的数据的输入;及用于使用该多个传感器同时将来自所述主机的数据写入至该磁带的逻辑。系统可包括关于图3A至图5所描述的功能及/或过程中的一些功能及/ 或过程。在一些实施例中,系统可进一步包括用于存储指示出来自多个主机的数据已被同时写入至该磁带的一指示的逻辑。此指示可存储于磁带自身上,磁带盒的二级存储器中等。在一些途径中,可以各自传入数据速率自主机中的每一个接收数据,且系统可进一步包括用于选择与自主机的传入数据速率中的较快传入数据速率大约匹配的一数据写入速率的逻辑。在其它途径中,可使对应于具有传入数据速率中的较慢传入数据速率的主机的数据的数据集间距放宽。这可类似于上文关于图5中的步骤504的磁带速度描述。在一些实施例中,可以各自传入数据速率自主机中的每一个接收数据,且系统可进一步包括用于选择与自主机的传入数据速率中的一较慢传入数据速率大约匹配或对应的数据写入速率的逻辑。在进一步的实施例中,可请求自具有传入数据速率中的较快传入数据速率的主机的数据传送的临时挂起。根据一些途径,可以各自传入数据速率自主机中的每一个接收数据,且系统可进一步包括用于选择在自主机的传入数据速率中的较快传入数据速率与较慢传入数据速率之间的一数据写入速率的逻辑。在进一步的途径中,可使对应于具有传入数据速率中的较慢传入数据速率的主机的数据的数据集间距放宽。这可类似于上文关于图5中的步骤504 的磁带速度描述。在一些实施例中,由多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合可为一线带。可将线带逻辑地分为两个磁条,其中每一磁条被分配给主机中的一个,且每一磁条与所述传感器中的多个相关联。又,可将对应于每一主机的数据同时写入至分配给每一相应主机的磁条。在进一步的实施例中,系统可进一步包括接收来自主机中的一个的建立一并行保留的请求,且可进一步包括将线带中的磁条中的一个分配给发送了请求的主机。根据一些途径,系统可进一步包括用于存储指示出来自多个主机的数据已同时写入至该磁带的一指示的逻辑,其中可以各自传入数据速率自主机中的每一个接收数据。又, 系统可进一步包括用于基于自主机的传入数据速率而选择数据写入速率的逻辑,其中由该多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合可为一线带。可将线带逻辑地分为两个磁条,其中每一磁条被分配给主机中的一个,且每一磁条与所述传感器中的多个相关联。可将对应于每一主机的数据同时写入至分配给每一相应主机的磁条。虽然上文已描述了各种实施例,但应理解,仅作为示例且并非限制而给出了所述实施例。因此,优选实施例的广度及范围不应受上述例示性实施例中的任一个限制,而是应仅根据以下权利要求及其等效物来界定。
权利要求
1.一种用于将数据存储于磁带上的方法,该方法包括 接收来自两个不同主机的数据;以及使用多个传感器同时将来自所述主机的该数据写入至该磁带。
2.如权利要求1的方法,其进一步包括存储指示出来自多个主机的数据已被同时写入至该磁带的指示。
3.如权利要求1的方法,其中以各自传入数据速率自所述主机中的每一个接收数据, 且进一步包括选择与自所述主机的传入数据速率中的较快传入数据速率大约匹配的数据写入速率。
4.如权利要求3的方法,其中,对应于具有所述传入数据速率中的较慢传入数据速率的主机的数据的数据集间距被放宽。
5.如权利要求1的方法,其中以各自传入数据速率自所述主机中的每一个接收数据, 且进一步包括选择与自所述主机的传入数据速率中的较慢传入数据速率大约匹配的数据写入速率。
6.如权利要求5的方法,进一步包括请求临时挂起自具有所述传入数据速率中的较快传入数据速率的主机的数据传送。
7.如权利要求1的方法,其中以各自传入数据速率自所述主机中的每一个接收数据, 且进一步包括选择在自所述主机的所述传入数据速率中的较快传入数据速率与较慢传入数据速率之间的数据写入速率。
8.如权利要求7的方法,其中对应于具有所述传入数据速率中的较慢传入数据速率的主机的数据的数据集间距被放宽。
9.如权利要求1的方法,其中由该多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合为线带,其中该线带被逻辑地分为两个磁条,每一磁条被分配给所述主机中的一个,每一磁条与所述传感器中的多个相关联,其中对应于每一主机的数据被同时写入至分配给每一相应主机的磁条。
10.如权利要求9的方法,进一步包括接收来自所述主机中的一个的建立并行保留的请求,且进一步包括将该线带中的所述磁条中的一个分配给发送了该请求的主机。
11.如权利要求1的方法,进一步包括存储指示出来自多个主机的数据已被同时写入至该磁带的一指示,其中以各自传入数据速率自所述主机中的每一个接收数据,且进一步包括基于自所述主机的传入数据速率选择数据写入速率,其中由该多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合为线带,其中该线带被逻辑地分为两个磁条,每一磁条被分配给所述主机中的一个,每一磁条与所述传感器中的多个相关联,其中对应于每一主机的数据被同时写入至分配给每一相应主机的磁条。
12.一种用于将数据存储于磁带上的方法,该方法包括 接收来自多个主机的建立并行保留的请求;将线带中的唯一磁条分配给发送了所述请求的所述主机中的每一个,其中该线带为由磁带头的多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合,其中该线带被逻辑地分为磁条;接收来自所述主机的数据;以及使用该多个传感器同时将来自所述主机的数据写入至该磁带。
13.一种用于将数据存储于磁带上的系统,该系统包括具有多个传感器的磁头;用于使磁带在该磁头上通过的驱动机构;与该磁头通信的控制器;用于接收来自两个不同主机的数据的输入;以及用于使用该多个传感器同时将来自所述主机的数据写入至该磁带的逻辑。
14.如权利要求13的系统,进一步包括用于存储指示出来自多个主机的数据已被同时写入至该磁带的一指示的逻辑。
15.如权利要求13的系统,其中以各自传入数据速率自所述主机中的每一个接收数据,且进一步包括用于选择与自所述主机的所述传入数据速率中的较快传入数据速率大约匹配的数据写入速率的逻辑。
16.如权利要求15的系统,其中对应于具有所述传入数据速率中的较慢传入数据速率的主机的数据的数据集间距被放宽。
17.如权利要求13的系统,其中以各自传入数据速率自所述主机中的每一个接收数据,且进一步包括用于选择与自所述主机的所述传入数据速率中的较慢传入数据速率大约匹配的数据写入速率的逻辑。
18.如权利要求17的系统,其中请求临时搁置自具有所述传入数据速率中的较快传入数据速率的主机的数据传送。
19.如权利要求13的系统,其中以各自传入数据速率自所述主机中的每一个接收数据,且进一步包括用于选择在自所述主机的所述传入数据速率中的较快传入数据速率与较慢传入数据速率之间的数据写入速率的逻辑。
20.如权利要求19的系统,其中对应于具有所述传入数据速率中的较慢传入数据速率的主机的数据的数据集间距被放宽。
21.如权利要求13的系统,其中由该多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合为线带,其中该线带被逻辑地分为两个磁条,每一磁条被分配给所述主机中的一个,每一磁条与所述传感器中的多个相关联,其中对应于每一主机的数据被同时写入至分配给每一相应主机的磁条。
22.如权利要求21的系统,进一步包括接收来自所述主机中的一个的建立并行保留的请求,且进一步包括将该线带中的所述磁条中的一个分配给发送了该请求的主机。
23.如权利要求13的系统,进一步包括用于存储指示出来自多个主机的数据已被同时写入至该磁带的一指示的逻辑,其中以各自传入数据速率自所述主机中的每一个接收数据,且进一步包括用于基于来自所述主机的传入数据速率选择一数据写入速率的逻辑,其中由该多个传感器在磁带移动的一个方向上同时写入的数据磁道的集合为线带,其中该线带被逻辑地分为两个磁条,每一磁条被分配给所述主机中的一个,每一磁条与所述传感器中的多个相关联,其中对应于每一主机的数据被同时写入至分配给每一相应主机的磁条。
24.一种包括上面存储有数据的磁带的磁带盒,该数据是自两个不同主机接收并同时写入至该磁带的。
25.如权利要求M的磁带盒,进一步包括指示出来自多个主机的数据已被同时写入至该磁带的一计算机可读指示。
26.如权利要求M的磁带盒,其中来自该两个不同主机的数据以磁条为单位存在于该磁带上,其中每一磁条包括多个被同时写入的数据磁道。
27.如权利要求沈的磁带盒,其中所述磁条中的第一磁条的数据磁道中的至少一个位于与该第一磁条并行写入的第二磁条的数据磁道之间的磁带上。
28.—种包括经格式化以用于多主机并行写入的磁带的磁带盒,其中该盒包括指示出该磁带经格式化以用于多主机并行写入的一指示。
29.如权利要求观的磁带盒,其中该指示被写入至该磁带上。
30.如权利要求观的磁带盒,其中该指示存储于耦接至该盒的非易失性存储器中。
全文摘要
根据一实施例,一种用于将数据存储于一磁带上的方法包括接收来自两个不同主机的数据;及使用多个传感器同时将来自所述主机的数据写入至该磁带。在另一途径中,一种用于将数据存储于一磁带上的方法包括接收来自多个主机的建立一并行保留的请求;及将一线带中的一唯一磁条分配给发送了所述请求的所述主机中的每一个,其中该线带为将由一磁带头的多个传感器在磁带移动的一个方向上同时写入的数据磁道的一集合,且该线带被逻辑地分为所述磁条。又,该方法包括接收来自所述主机的数据;及使用该多个传感器同时将来自所述主机的数据写入至该磁带。也描述关于将数据存储于磁带上的其它系统及方法。
文档编号G06F3/06GK102341778SQ201080010176
公开日2012年2月1日 申请日期2010年3月11日 优先权日2009年5月20日
发明者C·R·尼布洛尔, D·L·斯万松, F·C·詹加巴, S·O·布鲁姆 申请人:国际商业机器公司