写入和读取应用数据的方法和系统的制作方法

文档序号:6611421阅读:185来源:国知局
专利名称:写入和读取应用数据的方法和系统的制作方法
技术领域
本发明涉及电子计算系统中的*解决方案,具体地说,涉及用于管 理在磁带存储介质上存储应用数据的方法和相应系统,其中在将所述应用 数据写入磁带或从磁带读取所述应用数据之前,将所述应用数据緩存在由 随MM储介质(优选为硬盘)表示的所谓的"虚拟磁带系统"中。
背景技术
在G. T. Kishi在2003年7月发;fc^ IBM Journal of Research & Development的第4期第47巻的"The IBM Virtual Tape Server: Making Tape Controllers More Auto咖tic"中说明了此类现有技术系统。参考图 1,应用计算机IO托管用户应用12,后者维护定期地写入磁带并不时M 带中读出以便处理的数据。所使用的磁带是磁带17 A到17 M中的一个或 多个磁带,在磁带库19中管理所逸磁带。高速緩存服务器14具有由高速 緩存控制器16控制的较大硬盘容量18。此盘高速緩存18用于在>^>磁带读 取数据或将数据写入磁带之前緩存数据,以便提供对存储系统中的数据的 高效访问。"物理巻" 一词用于表示磁带,而"逻辑巻" 一词用于表示盘高速緩 存18中的存储区域。存储管理器以将逻辑巻仿真为物理巻的方式透明地对 用户应用运行。上述现有技术文档公开了允许所谓的"巻堆叠"的存储子系统,其中 自动迁移在盘高速緩存18中存储的多个逻辑巻,即,将其写入一个物理巻。 在此现有技术中,逻辑巻的最大大小是比物理巻的容量小N倍的数字。N 的范围为数百.
迁移的自动化是指逻辑巻一旦由用户应用写入,便立即从盘高速緩存预迁移到物理巻(磁带)。预迁移意味着在盘高速緩存18和磁带库19中 的磁带上存在逻辑巻的副本。逻辑巻的迁移(逻辑巻仅位于物理巻上并从 盘高速緩存消失)基于预定的策略。这些策略包括使用率(最近最少4吏用, LRU)和緩存偏好组。只要逻辑巻位于盘高速緩存内,就始终在该处访问逻 辑巻,与从物理巻的数据检索时间相比,这允许快速访问。对逻辑巻的数据读取访问-例如由用户应用中的安装操作触发-不要求 任何手动干预,它是自动完成的。存在两种主要用例第一种,逻辑巻处 于盘高速緩存18内则使用盘高速緩存中的数据执行I/0搮作'安装操作 非常快。第二种,已将逻辑巻迁移到物理巻并在之前从盘高速緩存18中删 除了逻辑巻。则将整个逻辑巻从物理巻(磁带)读取到盘高速緩存18,并 使用来自盘高速緩存的数据执行后续的VO操作.从物理巻读^U1辑巻的过程也称为取回(recall)。取回搮作更耗时, 并且仅当逻辑巻的大小与物理巻的容量相比很小时才容许,换句话说,当 假定根据现有技术的物理巻大小为500 GB或更多,而逻辑巻和物理巻之间 存在l: l的大小关系时,此设计并不适宜,在l: l的关系时,取回时间 将超过数小时,用户应用12将不得不为了数据请求而等待数小时。在根据 现有技术的典型环境中,逻辑巻大小处于400 MB与4 GB之间,而物理巻 大小是500 GB。此现有技术虚拟磁带仿真方法提供了另一种称为"快速就绪"安装的 功能,其中用户应用在磁带起始处为写入操作指示"擦除"逻辑巻安装以 便重新使用数据.将"快速就绪"安装的指示置于由用户应用12发送到高 速緩存控制器的实际安装请求中.在这种情况下,不会从物理4^r索逻辑 巻,而仅将逻辑巻分配到盘高速緩存中.在IBM TS7510 (中央虚拟磁带)中实现了其他现有技术方法,例如, 在IBM RedBook SG24-7189-00, 10-17内的"IBM Visualization Engine TS7510: Tape Virtualization for Open Systems Servers"中可以找到 更多详细信息。在此现有技术方法中,逻辑巻的大小等于物理巻的大小。
因此,存在l: l的大小关系。例如,IBMTS1120磁带的逻辑巻大小为500 GB,其与此类TS1120磁带的物理巻容量完全相同。通常可从FalconStor获得的虚拟磁带库产品使用一种将逻辑巻迁移 到物理巻的方法,称为"自动磁带緩存",其中虚拟磁带库(VTL)根据特 定策略自动将数据从盘高速緩存18移动(迁移)到物理磁带盒17。相应 地,它公开了将此位于物理巻的数据取回盘高速緩存的不同方法。这类似 于上述针对IBM虚拟磁带服务器列举的方法。此技术的问题在于,由于根据现有技术的磁带技术可以在单个磁带 (TS1120)上存储500千兆字节(GB)的数据,将500 GB的逻辑巻迁移到 物理巻最多会花费2-4小时。将数据M带取回盘高速緩存中也是如此。 虽然这种漫长的迁移时间已经带来了严重的时间问题,但是从磁带取回盘 高速緩存问题更大,因为它花费同样长的时间,而用户只能等待,并且由 于M带取回的数据是其工作主题,用户一般不能在同一时间内工作。取回^Mt或者将整个逻辑巻从物理巻复制到盘高速緩存,或者允许应 用直接访问磁带,但是是以只读的模式。将数据从物理巻复制到盘高速緩 存18可以花费多达四个小时。允许应用直接访问磁带消除了虚拟化的优 点,因为物理资源对应用可见。简言之,现有技术的磁带緩存允许4^软件控制所有磁带,无论磁带 是以虚拟形式存在还是磁带被迁移到其物理的对应部分,此虚拟磁带库根 据所应用的虚拟磁带库高速緩存策略来自动将*数据流重新引导到高速 緩存(最新写入)或物理磁带(读取、附加数据的写入)。根据策略,可 以在以下触发器组合的基础上将逻辑巻迁移到物理对应部分磁带寿命、 存储池容量阅值、#结束、磁带已满以及在特定时间,此现有技术设计将产生瓶颈,特别是在组合的主机操作期间,例如, 并发读取、写入附加和最新写入,因为所有这些操作都需要访问物理磁带。 但是实际上并非所有这些操作都需要访问物理资源。例如,任何一种写入 操作都不能在一开始就使用物理磁带,因为这些操作可以定向到盘高速緩 存。例如,上述虚拟磁带库可以具有256个逻辑设备,并仅有5个物理设
备 -使用磁带虚拟化的主要原因是为了减少所需物理设备的数量。虚拟化 的目的是节约宝贵的物理资源并最有效地使用它们。根据现有技术的虚拟 磁带库的设计在此将受到限制,要求具有最佳性能并在理论上利用与存在 的逻辑设备数量相同的物理设备。这4吏得虚拟化的理念被舍弃。因此,综上所述,所讨论的现有技术虚拟磁带仿真具有一些缺点。考 虑虚拟化的目的是为了节约宝贵的物理资源并最有效地利用它们这一事实。讨论的第 一种方法仅当逻辑巻的大小与其最终迁移到的物理4*比非常小时才能足够良好地工作。其缺点在于用户应用12需要管理更多的逻辑巻。对于第二种讨论的方法,读取处理需要从物理磁带取回,这要么花费 很长时间,要么将应用只读限制。两种方法皆未有效地部署物理驱动器, 因为它们需要物理驱动器,而操作(例如,任何一种写入操作)实际上并 不需要物理驱动器。因此,本发明的目标是提供一种促进对所有数据的快速和不加限制的 读取访问并更有效地管理物理资源的虚拟磁带系统管理方法。发明内容由这样的事实来实现提出的发明的优点由用户应用请求的数据块在 大多数情况下与依次连续写入的数据块相关。曾经以该顺序写入的特定多 个数据块以后再次全部或几乎全部以该顺序被读取所请求的统计概率很 高,因为它们可以属于由应用在特定时刻写入的一个文件。此类多个数据 块还可以包括跨多个逻辑巻写入的数据块.所述方法支持从磁带是连续的 I/O设备的事实获益。建议在适当时将数据访问定向到高速緩存。这消除 了为某些操作访问物理驱动器的需要。更具体地说,优选地将所有种类的 写入操作定向到高速緩存。此外,本发明通过节约宝贵的物理资源并在适当时允许访问虚拟资源 来对虚拟化的理念做出贡献。根据其最广义的方面,本发明公开了一种用于管理将应用数据存储到 磁带存储介质(优选为单巻磁带)的方法,其中在将所述应用数据写入磁 带或从磁带读取所述应用数据之前,所述应用数据存储在随机存取高速緩存中,其中所述方法的特征在于控制高速緩存控制器来执行以下步骤a) 将当前应用数据写入位于所述随机存取高速緩存中的逻辑巻时;b) 维护与邻近所述当前数据的应用数据(也在预定时间内将其写入所述 高速緩存)有关的邻近高速緩存存储位置元数据(在大多数情况下是 块地址),这称为自适应读M存;c) 当将所述当前数据AU^带读取(取回)到所述高速緩存中以响应应用 请求时;d) 还根据从磁带到高速緩存的当前数据时间环境来读取相应的邻近应 用数据,以便预测随后要由所述应用执行的其他读取。自适应緩存指除了所请求的数据,还将邻近的数据复制到高速緩存, 以便快速地为后续的读取请求服务。邻近的数据可以是相对于所请求的数 据在之前或之后的数据。根据本发明的方法分析以下特定参数并得出最恰 当的緩存策略,例如a) 数据存取命令的类型,b) 所请求的块地址,c) 先前的数据存取命令以及d) 在先前操作中连续写入的数据块,本发明克服了上迷缺点。通过取回与读取请求相关的邻近数据,而不 是整个逻辑巻或仅取回所请求的数据,允许逻辑巻和物理4^间1: 1的关 系并有助于快速自动访问数据,即使在将逻辑巻迁移到物理巻时也是如此。因此,本发明教导了针对i/o命令处理的自适应緩存的系统和方法。自适应緩存允许对大型逻辑巻的数据的快速读取访问,而无需直接访 问物理磁带或将整个逻辑4^物理巻复制到高速緩存,自适应緩存允许应 用访问存储在虚拟磁带系统中的数据,而不会带来严重的性能降低、只读 限制或手动干预,无论数据是位于高速緩存还是在物理磁带上.通过将写入操作定向到高速緩存而不从物理磁带取回数据或无需另外 访问物理磁带,即使在写入操作向现有的逻辑巻添加数据的情况下,本发 明也可以非常高效地利用物理磁带驱动器,根据现有技术的另 一个有利的特性是在高速緩存中恭争已迁移到物理 巻的逻辑巻的"存根"文件。所述存根文件包含一些元信息以及包括巻首和巻标的前n个数据块。整数n可以由用户调整,并且应至少包括包含逻 辑巻的巻首和巻标的数据块。特定逻辑巻的存根文件允许从高速緩存满足 对特定数据区域的读取请求。因此,包括在存根文件中的数据应至少包含 巻首和巻标,因为此数据被更频繁地读取并且可以在写入操作之前。


本发明通过实例的方式示出,并且不限于示出示意表示的附图的图形 形状,这些附图是图l示出了现有技术系统环境的结构元素,包括磁带库、虚拟磁带系统和实现其数据由这些系统管理的用户应用的客户端计算机;图2示出了在与图l类似的环境中实现根据本发明的方法的新型盘高速緩存控制器;图3示出了由賴^据本发明的方法4吏用的基本形式的WRITE命令处理的 控制流;图4示出了由,本发明的方法4吏用的高级形式的WRITE命令处理的 控制流;图5示出了由根据本发明的方法使用的自适应READ命令处理的控制流;图6示出了由根据本发明的方法使用的LOCATE命令处理的控制流; 图7示出了存储在根据本发明的方法中使用的^i^控制信息的表; 图8示出了根据本发明的将取回的数据量设置为最佳值的控制流; 图9示出了根据现有技术的顺序设备的SCSI WRITE命令的结构(仅为 了更加清晰);图10示出了根据现有技术的顺序设备的SCSI READ命令的结构(仅为 了更加清晰);
图11示出了根据现有技术的顺序设备的SCSI LOCATE命令的结构(仅 为了更加清晰);以及图12示出了根据现有技术的顺序设备的SCSI SPACE命令的结构(仅 为了更加清晰)。
具体实施方式
现在总体参考附图并具体参考图7,根据本发明的方法管理(即创建 和维护)表700,表700包括元信息33、 34、 35、 36。元信息33、 34、 35、 36描述了其他相关信息存储在哪个存储位置,所述信息和存储在或已经存 储在磁带上的当前数据集源于同 一时间点。此类元信息的实例为数据块地 址(以连续及时的序列写入)以及其他详细信息。图7的表包含逻辑巻的巻ID 32以及依次写入的数据块地址33,后者 的写入方式为只存储"起块"(即,起始信息)和"止块"(即,结束位 置信息)。还存储106 了连续块的时间戳34。进而,还存储了每个巻的最后写入数据块的块地址35。最后写入块地 址35由根据图5的写入命令处理(步骤506 )以及根据图4的读取处理(步 骤406)使用,以!Hi读M写入请求没有超出最后写入块地址。通常在本发明中,还在该表中跟踪写满逻辑巻32后立即由同一应用写 入的逻辑巻37,这通过在字段37中指示其巻ID来完成。背景是用户应用 可能写入数据并因此写满一个逻辑巻。随后,它将安装第二个新逻辑巻并 继续将数据写到所述新逻辑巻中。写到第 一个巻的结岸^L新巻的起始处的 数据可以是连续的.因此,存储有关跨逻辑巻的连续写入数据块33的信息 很重要.由此每个逻辑巻可以具有最小值为0和最大值为1的下一个巻37。 这允许标识可能包含关联的(即,内斜目关的)数据的两个逻辑R间的 关联。在虚拟磁带系统中使用的每个逻辑巻可以在表700中具有至少一个表 项。对于每个逻辑巻,表700中可能存在多个表项,表示多个连续块范围 和时间戳。所有其他字段都包含同 一个在给定时间对逻辑巻有效的表项。
在每个巻的每次写入操作(图5,步骤509 )期间更新表700,其中累 积写入块地址。例如,如果在给定时间t内,应用写入块0-9999,则表获 :W应的表项(表700的字段33中的0-9999 )。根据此优选实施例,时 间范围包括逻辑巻的第一次写入操作与直到跟踪到至少l分钟的中断(其 中没有发生任何写入操作)之间的时间。此中断指示在此时间内写入的数 据属于一个整体,并因此源自同一近似应用上下文,例如,来自同一项目 的数据、同一商店的销售、同一银行的账户数据等,在备选实施例中,中断时间可以是用户可配置的^lt。在此实施例中, 用户可以根据其特定环境来调整连续块的时间安排并^^操作。如果在此时间内写满了巻,且同 一应用在60秒内安装了其他逻辑巻, 则所述其他逻辑巻与写满的巻关联,并且在字段37 "下一个逻辑巻"中跟 踪其巻ID。写入逻辑巻的应用可以由应用位于该处的月良务器和适配器的WPN和 WWNN,或由分配给应用的逻辑库来动态地标识。全球端口名(WPN)是存 储区域网络(SAN)中每个端口的唯一标识符。因此,位于服务器的应用通 过服务器的端口发出命令。此端口具有可用于标识所述应用的唯一标识符 (WWPN)。全球节点名(WWNN)是应用位于该处的服务器的唯一标识符。 因此,服务器的WWNN也可用于标识应用。WWNN和WWPN都是由应用发送到 虚拟磁带系统的1/0命令的一部分。逻辑库包括一组逻辑驱动器和逻辑巻。可以将逻辑库分配给应用,同时隐含地将逻辑巻分配给应用。当重新使用巻时,将M 700删除所有表项'重写逻辑巻的特征是从巻起始位置开始的写入IMt,
备选实施例中,如果未从起始位置重写,而是在磁带介质区的"中 间"某个位置重写,则删除表中的所有记录(包含写入操作开始位置以外 的信息)。因此包含连续的块33和时间戳34。在此情况下,如果M始 位置重写巻,则删除所有先前的表项。本方法优选地假定逻辑巻的巻首和巻标(所谓的"存根",例如,4KB
长)始终保存在高速緩存18中。这允许满足巻标操作而不安装关联的物理 巻。许多现有技术的*软件产品需要在它们实际将磁带写为"新"之前 进行巻标^E过程。接下来,参考图3、 4、 5和6,给出了根据本发明的系统的写入、读 取、定位/分配空间、命令处理的ii^图和相应说明。应当指出,相应的命 令(写入、读取、定位/分配空间)由应用计算机10和通过网络连接到根 据本发明的系统的相应用户应用12 (图1)来发送。所述网络可以基于存 储区域网络,例如,光线通道或因特网SCSI (小型机系统接口; iSCSI)。图3中示出了使用图2中的盘高速緩存18的过程500的基本写入操作 的优选控制流。图4示出了基本写入过程500的增强。图4中的过程可以 替代图3中基本过程的步骤508。基本写入过程500始于502且控制前进 到504,在此处接收WRITE命令。图9显示了顺序设备的示例性SCSI WRITE ( 6 )命令900。 SCSI WRITE 命令900包括要写入的块数902。起始块地址等同于磁带的位置。在下一个步骤506中,判^始块地址是否等于或小于巻的最后写入 块。在此实施例的表700中跟踪巻的最后写入块地址35 (图7 )。如果步骤506中的判定为否,则WRITE命令将在步骤510失败并在512 结束过程。否则,在步骤508向盘高速緩存发出写入命令。步骤508也可 以由在图4中示出的高级过程600替代。随后,在步骤509跟踪写入块地 址。跟踪写入块可以最终导致更新表700的项33和34。过程在步骤512 结束。在图4中示出了高级写入操作的优选算法,其中引入了写入命令处理 的高级逻辑.此逻辑考虑了逻辑巻可以位于其上的物理巻的状态。此逻辑 在某些情况下促进直接对磁带的写入操作。图4中的过程可以替代图3的 步骤508。过程600始于602且控制前进到606,其中检查巻是否已经或仍然在 盘高速緩存中;如果是("Y"),则向盘高速緩存608发出写入,且过程 600在612结束.如果对盘高速^存中巻的测试606的回答是"否"("N"),
则过程将控制前进到下一步614,其中判定是否已经安装和定位了相应的 物理巻。如果否("N"),则向盘高速緩存608发出写入,且过程600 在612结束。如果来自614的对是否已经安装和定位物理巻的回答为"是"("Y"),则在方框616中示出的下一个判定检查是否仍有足够的物理驱 动器(资源)可用;如果否("N"),则向盘高速緩存608发出写入(这 调用过程500),且过程600在612结束。如果来自测试616的回答为是("Y"),则下一步610直接向物理磁带发出写入命令。最后,在步骤 612到达过程600的终点612。步骤612可以最终在过程500 (图3)的步 骤509找到其延续,其中跟踪了连续写入的块。在步骤509跟踪连续写入块的数目意味着过程累积在特定时间内写入 的所有块地址。此时间是可变的且指从写入第一个块直到出现长于1分钟 的暂停之间的时间。因此,过程600和500中的相应步骤尿存写入块的临 时表和表明接收写入命令时间的时间戳。如果在连续的写入命令之间存在 优选大于1分钟的暂停,则为处理的逻辑巻项32将块地址范围的实际列表 写A^ 700中的项33。还在表700的项34中更新最后写入块的时间戳。 将最后写入块的块地址写A^ 700中的项35,如果已将块33的最后序列 写入在前一个磁带之后立即安装的新磁带,则使用此新巻的ID来更新图7 中的项37。使用本发明的用于写入处理的方法,宝贵的物理资源得到了休息,因 为将所有写入操作都定向到盘高速緩存。此外,本发明的方法通过存储在一个时间范围内由一个应用写入的数据块地址来使能快速读取处理,即使逻辑巻和物理巻为1: 1的关系。此存储的数据用于读取处理以使能从盘高速緩存的快速读取,这节约了宝贵的物理资源。READ^Mt的优选控制流如下图5示出了优选的READ操作的过程400 的控制流,所述操作包括本发明的自适应读取緩存的发明特征.通常,如果关联的逻辑巻位于盘高速緩存中,则从盘高速緩存执行 READ操作。否则,如果关联的逻辑巻不在盘高速緩存中,则READ^Mt需 要安装关联的物理巻,并且仅将所需的数据从物理巻读取到盘高速緩存。 此操作以快速而高效的方式完成。从物理巻读取与逻辑巻有关的所需数据的过程也称为"取回"。读取过程400始于标号402且控制前进到404, 在此接收读取命令。图10显示了用于顺序i殳备的示例性现有技术SCSI READ (6)命令。 SCSI READ命令1000定义了要读取的块数1002。将第一个块读取到该处的 起始块地址等同于磁带的当前位置。在步骤404,从READ命令1000标识起始块地址和要读取的块数1002。 然后控制继续到步骤406,在此判定是否还有任何要读取的块地址"在后 面",即,与已为此逻辑巻写入的最后块108相比具有更大的块地址。为 每个逻辑巻存储最后写入的块地址108,作为表700的项35中的写入处理 的一部分。如果步骤406中的判定为是("Y"),则过程将前进到步骤428并将 导致READ操作出现銜菱,因为读取命令试图读取最后写入块之后的块。控 制前进到步骤412,过程在此结束。如果步驟416中的判定为否("N"), 则在步骤408判定逻辑巻的请求的块地址是否位于盘高速緩存中。如果是 ("Y"),且所请求的数据位于盘高速緩存中,则在步骤410提供读取命 令,意味着将读取命令所请求的数据发送到发出请求的应用。此后过程在 步骤412结束。如果步骤408中的判定为否("N"),则需要M带的取回且过程将 控制推进到步骤414来检查是否已安装了相应的物理巻.如果尚未安装巻 ("N"),则过程继续前进到步骤416来安装物理巻,并继续到步骤418 来定位由相应的ID标识的相应物理巻。如果在步骤414已安装了相应的物 理巻,则在步骤424需要进行检查以测试是否已定位了物理巻。如果步骤424中的判定为否("N"),则过程将控制推进到步骤418,指定的位置。过程从步骤418将控制推进到将在下文说明的步骤420。否则,如果在步骤424已定位了物理巻,则过程前进到下一步420, 在此执行检查以测试先前的命令是否为读取命令。为此,过程400 *为 每个逻辑巻执行的最后10个^^令的历史。如果先前的命令为读取命令,且 步骤420中的回答为是("Y"),则过程继续前进到步骤426,在此将两 组连续的写入块读回(取回)到盘高速緩存。两组连续的块包括在两个连 续的时间范围内写入到一个或两个(衍生)逻辑巻的所有数据块。从针对给定逻辑巻32的表700的项33中检索有关连续写入块的信息。 如果步骤420中的回答是否("N")-因为前一个命令不是读取命令,则 在步骤422中仅将一组连续写入的块读回盘高速緩存。 一组连续的块包括 在一个时间范围内写入一个或两个(衍生)逻辑巻的所有数据块。由于高 速緩存控制器维护有关应用数据的邻近高速緩存存储位置元信息的事实, 可以执行步骤422和426。邻近高速緩存存储位置元信息指一组已在特定 时间范围内写入的块地址。图5中的写入过程500说明了根据本发明,此邻近高速緩存存储位 置元信息。将块地址顺序地写入磁带和从磁带顺序地读取块地址是有利的。步骤422和426继续到步骤410,在此将在步骤404接收到的读取^命 令所请求的数据发送到应用,过程从步骤410将控制推进到步骤412,在 此完成读取命令。这可以包括将结束状态发送到应用。过程在步骤412结 束。步骤426和步骤422之间的差别在于,在步骤426中将更多的数据读 回到盘高速緩存,如果前一个命令是读取命令的话.根本原因是多个读取 命4^l次由应用执行,因此,过程400将更多数据读回到盘高速緩存中以 便使用来自盘高速緩存的数据来为后续的读取命令服务,这更快和更高效, 因为已安装和定位了物理巻,在磁带运转时读取许多连续的块比一次读取 一个块更高效和更节约时间。 一次读取一个块将导致磁带驱动器的起停模 式,这^费更多时间和能量.与步骤422相比,在步骤426中读取的多余数据量可以是用户可配置 的。在给出的实例中,与步骤422相比,在步骤426中读取了两倍多的数 据,这还可以更多,但优选地应不少于此。显然,在步骤422和426中从盘高速緩存读取的起始块地址等于在步
骤404中由读取命令给出的起始块地址。因此,起始块地址可以处于一组 连续块33内,这存储在表700中。此外,如果由读取命令指定的要读取的 块超过一组连续块,则从物理磁带读取包括所请求的块的另一 (其他)组 连续块。定位操作的优选控制流如下。图6示出了根据本发明的优选实施例实 现定位操作的过程300。此操作请求磁带驱动器将读/写头定位在磁带存储介质的特定位置处。实现定位命令的新颖特征在于,可以根据磁带库19中物理磁带驱动器 的可用性从物理巻取回或多或少的数据。通常,定位命令将不取回任何数据,而仅仅定位磁带。根据本发明的一个实施例,假定定位命令或分配空 间命令之后的下一个命令是读取命令。因此,本发明将定位命令中包括的目标块以外的某些数据取回到盘高速緩存,以便可以快速M盘高速緩存 为后续的读取命令服务。基本上由写入数据的序列(连续块)来定义要取 回的数据量。过程始于步骤302和步骤303,在此,在高速緩存控制器中接收LOCATE 或SPACE命令。两个命令都请求将逻辑定位在目标块地址处。LOCATE命令 指定相对于磁带起始处的目标块地址,而SPACE命令指定相对于磁带当前 位置(块地址)的目标地址。图11示出了顺序设备的现有技术SCSI LOCATE (10)命令。LOCATE 命令IIOO包括指定目标块地址的"逻辑对象标识符"字段1102。这是请 求将磁带相对于磁带起始位置定位在该处的地址。图12示出了顺序设备的现有技术SCSI SPACE (6)命令.SPACE命令 1100包括指定要相对于磁带当前位置定位的块数的"计数"字段1202。注 意,目标块地址也可以是磁带上的文件标记号。字段"代码"1201指定"计 数"字段1202是指定了文件标记的计数还是要定位的块地址的计数。两个 命令(SPACE和LOCATE)都导致磁带位置的更改。过程从步骤303继续到步骤304,在此,检查与LOCATE或SPACE命令 1100、 1200给定的并从字段1102或1202得出的目标块关联的数据是否已
在盘高速緩存中。如果步骤304中的判定为是("Y"),则过程继续到下 文说明的步骤306。如果为否("N"),则控制流沿着路线到达步骤308 以 £目标块是否没有在最后写入的块地址之后,这在表700中存储为给 定逻辑巻32的项35。如果目标块位于最后有效块之后("Y"),则控制 器逻辑将在步骤310使定位操作出错并在步骤322结束过程。如果在步骤308中判定目标块不在最后有效块之后("N"),则控制 前进到步骤326以安装相应的物理巻并在物理巻上定位目标块。然后,过程将控制推进到步骤328以将一组连续写入块读回(取回) 到盘高速緩存。 一组连续块包括在一个时间范围写入一个或两个(衍生) 逻辑巻的所有数据块。在步骤328完成取回操作之后,过程将控制推进到 步骤306,在此,在盘高速緩存中定位(刚取回的)目标块数据。根据备选实施例,可以在步稞306通过将在步骤303接收到的定位命 令的完成消息发送到应用来完成定位操作。在优选实施例中,过程300继 续为后续命4H故出更多预测的目标。过程从步骤306继续到步骤312,在此,判定接下来的两组连续写入 块是否在盘高速緩存中。此判定基于存储在表700的项33中的信息。如果 是("Y"),则过程前进到结束步骤322。否则,过程将控制推进到步骤 314,在此检查相应物理巻是否仍然或已经安装在物理设备中。如果步骤314中的判定为是("Y"),则控制器在步骤324中定位物 理磁带并在步骤320将更多的两组连续写入数据读回(取回)盘高速緩存 中,然后过程在步骤322结束,如果步骤314中的判定为否("N"),则过程继续到步骤316,在此 检查此时是否有足够的物理安装资源可用。如果否("N"),则过程将控 制推进到结束步骤322。但是,如果步骤316中的判定为是("Y"),则 过程将控制推进到步骤318,在此安装和定位所控制的相应物理巻。过程从步骤318将控制推进到步骤320,在此将更多的两组连续写入 数据读回盘高速緩存中,两组连续的块包括在两个连续时间范围内写入到 一个或两个(衍生)逻辑巻的所有数据块。 过程从步骤320将控制推进到结束步骤322,在此定位命令完成。这 可以包括向应用发iiU目应的通知(参见图1、 2中的标号12)。显然,在步骤328和320中从盘高速緩存中读取的起始块地址等于在 步骤303中定位命令给出的目标块地址。因此,起始块地址可以在一组连 续块33内,这存储在表700中。步骤328和步骤320之间的差别在于,在安装了物理巻的情况下,在 步骤320中将更多数据读回到盘高速緩存。根本原因是从已安装和定位并 且成流的物理巻读取(取回)更多的数据很快,所取回的数据可用于满足 后续的读取操作(使用来自盘高速緩存的数据)。它通过取回比实际需要 更多但可能;l^续命令需要的数据来为高效地利用物理资源做出贡献。本方法允许逻辑巻和物理巻t间1: l的关系,因为它从物理巻将数据 检索到盘高速緩存,这允许使用来自盘高速緩存的数据为后续的读取操作 服务。此外,本方法通过在磁带驱动器处于流模式时取回比所需数据更多 的数据来为节约物理磁带驱动器资源做出贡献。这避免了耗费时间和能量 的磁带驱动器的启动和停止。在本发明的读取处理的方法中,虛拟磁带系统中的逻辑巻的大小不会 影响读取处理。即使逻辑巻和物理巻之间的关系为1: 1,读取处理也不会 花费数个小时而仅花费几分钟,这在磁带环境下是可以接受的。这是因为 本发明并非将整个逻辑巻取回盘高速緩存,而只是取回当前读取请求所需 的数据加上邻近的数据,以使用来自盘高速緩存的数据满足后续的读取请 求。因此,可以使用来自盘高速緩存的数据为后续的读取命令服务,并且 因此可以快速执行所述命令。此外,后续的读取命令无需访问宝贵的物理 资源。定位过程300在步骤320、 328以及读取过程400在步骤422、 426中 取回的数据量可能很多。如果此要检索的数据量超过了特定限制,则取回 操作可能花费很长时间,致使用户应用要花很长时间来等待命令完成。因 此,实现将取回的数据量设置为最大值的方法步骤是有用和适宜的。优选地,由取回可以花费的最大时间量来定义最大量值。
图8中的过程800说明了此类过程。此过程代替了取回数据的步骤。 过程800始于步骤802,它由定位过程300的步骤320、 328或读取过程400 的步骤422、 426调用。控制流继续到步骤803,在此确定连续块的数量和 数据量。数据量的计算方式为(块数x块大小)。如果数据量超过步骤 804中的预定阈值A1,则过程继续到步骤806,在此设置连续块的数目以 匹配数据量A1。过程继续到下文说明的下一步808。如果步骤804中的判 定得出l^t据量低于预定阈值Al,则过程继续到步骤808。在步骤808,将 由该组连续块地址定址的数据vM^磁带取回到盘高速緩存。过程在步骤810 结束。这可以将控制返回过程300和400中的相应步骤。预定阈值A1定义了可以在合理的时间量内取回的最大数据量。取回可 以花费的合理的时间量是用户可配置的^t。默认值应该设置为5分钟, 因为5分钟是磁带环境中的典型超时值。根据最大允许时间T,和物理磁 带驱动器的1/0速率I一来计算阈值A1 (等式l)。Al = ItapeXT阻(等式1 ) 参数I/O速率Iupe基于物理磁带驱动器技术以及到磁带驱动器的连通性。此^Ui用户可以配置的。在备选实施例中,M I一由根据本发明的系统动态地测量。对1/0速率的此动态测量涉及测量在给定时间内从物理磁带驱动器读取的数据量。通过这种方法,根据本发明的系统采用每个驱动器的当前1/0速率来计算取回的最大数据量。例如,如果当前磁带驱动器技术为允许持续I/O速率为40 MB/s的 LTO-3 (开放线性磁带),则可以将预定阈值Al设置为12 GB,因为以给 定的I/0速率,可以在5分钟(300秒)内取回12GB (40M/s x 300 s = 12. 000 MB)。本发明可以以硬件、软件或硬件和软件的组合来实现。根据本发明的 磁带存储管理工具可以以集中的方式在一个计算机系统中或以分布的方式 (其中不同的元素跨若干互连的计算机系统分布)来实现。任何适合于执 行此处所描述的方法的计算机系统或其他装置都是适合的。典型的硬件和 软件的组合可以是具有计算机程序的通用计算机系统,当所述计算机程序 被加载和执行时,将控制所述计算机系统以使得其执行此处描述的方法。本发明还可以被嵌入计算^^呈序产品,其包括允许实现此处所述的方 法的所有特征,并且当被加载到计算机系统中时,其能够执行这些方法。当前上下文中的计算^L^序装置或计算M序是指一组指令的以任何 语言、代码或符号表示的任何表达,旨在使具有信息处理能力的系统直接 执行特定的功能,或者执行以下两者之一或全部后执行特定的功能a) 转换为另一种语言、代码或符号;b) 以不同的材料形式再现。
权利要求
1. 一种用于写入和读取应用数据的方法,其中在将所述应用数据写入磁带存储(17 )或M带存储(17)读取所述应用数据之前,所述应用数 据存储在随M取高速緩存(18)中,并且其中所述应用由数据处理系统 执行,所述方法的特征在于以下步骤当将当前应用数据从所述随M取高速緩存写入(504 )所M带存储 时,在所述随机存取高速緩存中创建所述当前应用数据的元数据(33、 34、 35、 37)并在预定的时间限制期间维护(509 )所述元lt据;当从所述磁带存储读取(404)存储的应用数据以响应应用请求时,还 从所述磁带存储读取(422、 426 )其他应用数据,由此使用最终在所述随 机存取高速緩存中找到的所述存储的应用数据的元数据M择所述其他应 用数据,并将所述存储的应用数据和所述其他应用数据写入所述随M取 高速緩存-
2. 如权利要求l中所述的方法,其中所迷预定的时间限制在l分钟的 范围内。
3. 如权利要求1或2中所述的方法,其中以逻辑巻的形式来组织所述 随机存取高速緩存中的数据,并且其中所逸磁带存储包括多个物理巻,
4. 如权利要求2或3中所述的方法,其中在所述随机存取高速^存中 维护存根文件,所述存根文件包括逻辑巻是否已迁移到物理巻的指示,
5. 如权利要求4中所述的方法,还包括以下步骤 当所述应用发出向现有逻辑巻添加数据的写入操作时,在不从所i^带存储取回数据的情况下操作所述随;IM!"取高速緩存,
6. 如权利要求5中所述的方法,其中在发出所述写入操作时,如果已 安装和定位了物理巻,则在所述物理巻上执行所述写入操作。
7. 如先前权利要求中的任一权利要求中所述的方法,其中作为定位命 令的结果而将数据从物理巻(17)取回所迷随M取高速緩存,以便使用 来自所述随机存取高速緩存的数据来预测后续的读取命令并为其服务。
8. 如权利要求7中所述的方法,其中如果在发出所述定位命令时已安 装和定位了所述物理巻,则取回更多的数据。
9. 如权利要求3-8中的任一权利要求中所述的方法,其中在可以位于 下一个逻辑巻的所述元信息中跟踪邻近的数据(37)。
10. 如权利要求3-9中的任一权利要求中所述的方法,其中根据所述 数据处理系统的全球端口名和全球节点名来将逻辑巻分配给所述应用。
11. 如先前权利要求中的任一权利要求中所述的方法,其中根据预定 的最大容许取回时间来动态地计算(803、 804、 806、 808 )要取回的最大数据量。
12. —种具有虚拟磁带仿真系统的磁带存储子系统,所述虚拟磁带仿 真系统具有维护随M取高速緩存的高速緩存控制器(16),所述高速緩 存控制器包括用于执行根据权利要求1-11中的任一权利要求的方法的装
全文摘要
本发明涉及虚拟磁带系统。公开了一种控制高速缓存控制器的方法,所述方法包括以下步骤a)将当前应用数据写入位于所述随机存取高速缓存中的逻辑卷时;b)维护与邻近所述当前数据的应用数据(也在预定时间内将其写入所述高速缓存)有关的邻近高速缓存存储位置元数据(在大多数情况下是块地址),这称为自适应读取缓存;c)当将所述当前数据从磁带读取(取回)到所述高速缓存中以响应应用请求时;d)还根据从磁带到高速缓存的当前数据时间环境来读取相应的邻近应用数据,以便预测随后要由所述应用执行的其他读取。
文档编号G06F12/08GK101122888SQ200710139829
公开日2008年2月13日 申请日期2007年8月2日 优先权日2006年8月9日
发明者J·魏因甘德, N·豪施泰因, S·内夫, U·特罗鹏斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1