首页> 中国专利> 磁带驱动器系统和在写过程中选择磁带操作参数的设置方法

磁带驱动器系统和在写过程中选择磁带操作参数的设置方法

摘要

在一个实施例中,一种磁带驱动器系统,包括:读取通道;写入通道;配置成接收将在磁带驱动器中进行写操作的请求的逻辑;配置成响应收到所述请求,确定最佳写过程的逻辑,所述确定基于多个写过程中的每一个的预期写入时间和下次写操作的预期事务大小;和配置成响应确定最佳的写过程,调用确定的最佳写过程的逻辑。

著录项

  • 公开/公告号CN103377008A

    专利类型发明专利

  • 公开/公告日2013-10-30

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201310132611.7

  • 申请日2013-04-17

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李向英

  • 地址 美国纽约

  • 入库时间 2024-02-19 20:43:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-11-09

    授权

    授权

  • 2013-11-27

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20130417

    实质审查的生效

  • 2013-10-30

    公开

    公开

说明书

技术领域

本发明涉及数据存储系统,更具体地说,本发明涉及利用确定的 最佳设置,在写过程(WP)中选择磁带操作参数。

背景技术

磁带驱动器适合于利用在磁带驱动器中预置的各种带速(例如,一 种磁带驱动器可按14种不同的带速工作),往来于磁带读取和/或写入 数据。通常,写过程进行多个步骤,以实现写操作。

不过,这些步骤一般是按照在所有情况下,不论盒式磁带,盒式 磁带/驱动器组合,和写操作的周围情况,都以相同方式应用的预定顺 序进行的。因而,有益的是具有一种能够按照特定的盒式磁带,盒式 磁带/驱动器组合,和/或写操作的周围情况,确定和调用最佳写过程 的磁带驱动器系统。

发明内容

在一个实施例中,磁带驱动器系统包括:读取通道;写入通道; 配置成接收将在磁带驱动器中进行写操作的请求的逻辑;配置成响应 收到所述请求,确定最佳写过程的逻辑,所述确定基于多个写过程中 的每一个的预期写入时间和下次写操作的预期事务大小;和配置成响 应确定最佳的写过程,调用确定的最佳写过程的逻辑。

在另一个实施例中,计算机程序产品包括包含在计算机可读存储 介质上的非临时性计算机可读程序代码,所述计算机可读程序代码包 括:配置成接收将在磁带驱动器中进行写操作的请求的计算机可读程 序代码;配置成确定下次写操作的预期事务大小的计算机可读程序代 码;配置成响应收到所述请求,分别比较下次写操作的预期事务大小 与第一事务大小阈值和第二事务大小阈值的计算机可读程序代码;配 置成至少部分根据所述比较,确定最佳写过程的计算机可读程序代码; 和配置成响应确定最佳写过程,调用所述最佳写过程的计算机可读程 序代码。

在另一个实施例中,一种方法,包括:接收在磁带驱动器中进行 写操作的请求;确定下次写操作的预期事务大小;响应收到所述请求, 比较所述下次写操作的预期事务大小与第一事务大小阈值和第二事务 大小阈值中的每一个;至少部分根据所述比较,确定最佳的写过程; 和响应确定最佳写过程,调用所述最佳写过程。

任意这些实施例都可在诸如磁带驱动器系统之类的数据存储系统 中实现,所述磁带驱动器系统包括磁头,使磁介质(例如,记录磁带) 经过磁头的驱动机构,和与磁头电耦接的控制器。

根据以下详细说明,本发明的其它方面和实施例将变得明显,结 合附图进行的以下详细说明举例说明了本发明的原理。

附图说明

图1是按照一个实施例的简化磁带驱动器系统的示意图。

图2图解说明按照一个实施例的平直重叠、双向双模块磁带头的 侧视图。

图2A是按照一个实施例,从图2的线2A获得的磁带支承面视图。

图2B是按照一个实施例,从图2A的圆2B获得的详细视图。

图2C是按照一个实施例,一对模块的局部磁带支承面的详细视 图。

图3是按照一个实施例,具有写-读-写结构的磁头的局部磁带支承 面视图。

图4是按照一个实施例,具有读-写-读结构的磁头的局部磁带支承 面视图。

图5是按照一个实施例的方法的流程图。

图6是按照一个实施例的方法的流程图。

图7表示按照一个实施例,确定最佳写入过程的决策树的示意图。

具体实施方式

下面的说明用于举例说明本发明的一般原理,并不意图限制这里 要求保护的发明构思。此外,这里说明的特定特征可以与在各种可能 的组合和排列每一个中的其它所述特征结合地使用。

除非这里另有明确定义,所述术语都被赋予它们最宽广的可能解 释,包括说明书中隐含的含义,以及本领域的技术人员理解和/或在字 典、论文等中定义的含义。

另外必须注意在说明书和附加的权利要求书中使用的单数形式包 括复数的所指对象,除非另有规定。

下面的说明公开磁存储系统的几个优选实施例,以及磁存储系统 的操作和/或组成部分。

在一个一般实施例中,基于磁带的数据存储系统包括:读取通道; 写入通道;配置成接收将在磁带驱动器中进行写操作的请求的逻辑; 配置成响应收到所述请求,确定最佳写过程的逻辑,所述确定基于多 个写过程中的每一个的预期写入时间和下次写操作的预期事务大小; 和配置成响应确定最佳的写过程,调用确定的最佳写过程的逻辑。

在另一个一般实施例中,计算机程序产品包括包含在计算机可读 存储介质上的非临时性计算机可读程序代码,所述计算机可读程序代 码包括:配置成接收将在磁带驱动器中进行写操作的请求的计算机可 读程序代码;配置成确定下次写操作的预期事务大小的计算机可读程 序代码;配置成响应收到所述请求,分别比较下次写操作的预期事务 大小与第一事务大小阈值和第二事务大小阈值的计算机可读程序代 码;配置成至少部分根据所述比较,确定最佳写过程的计算机可读程 序代码;和配置成响应确定最佳写过程,调用所述最佳写过程的计算 机可读程序代码。

在另一个一般实施例中,一种方法,包括:接收在磁带驱动器中 进行写操作的请求;确定下次写操作的预期事务大小;响应收到所述 请求,比较所述下次写操作的预期事务大小与第一事务大小阈值和第 二事务大小阈值中的每一个;至少部分根据所述比较,确定最佳的写 过程;和响应确定最佳写过程,调用所述最佳写过程。

所属技术领域的技术人员知道,本发明可以实现为系统、方法或 计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式, 即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、 微代码等),还可以是硬件和软件结合的形式,本文一般称为“逻辑”、 “电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方 面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的 形式,该计算机可读介质中包含计算机可读程序代码。

可以采用一个或多个计算机可读介质的任意组合。计算机可读介 质可以是计算机可读信号介质或者非临时性计算机可读存储介质。非 临时性计算机可读存储介质例如可以是——但不限于——电、磁、光、 电磁、红外线、或半导体的系统、装置或器件,或者它们的任意适当 组合。计算机可读存储介质的更具体例子(非穷举的列表)包括:便携 式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、 可擦式可编程只读存储器(EPROM或闪存)、便携式紧光盘只读存储 器(CD-ROM)、光存储器件、磁存储器件、或者它们的任意适当组合。 在本文的上下文中,计算机可读存储介质可以是能够任何包含或存储 程序的任何非临时性有形介质,该程序可以供指令执行系统、装置或 者器件使用或者与其结合使用。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播 的数据信号,其中承载了计算机可读的程序代码。这种传播的信号可 以采用多种形式,包括(但不限于)电磁信号、光信号或者它们的任意 适当组合。计算机可读信号介质可以是计算机可读存储介质以外的能 够发送、传播或传送供指令执行系统、设备或装置使用,或者结合指 令执行系统、设备或装置使用的程序的任何计算机可读介质,比如具 有一条或多条导线的电连接,光纤等。

包含在计算机可读介质上的程序代码可利用任何适当的介质传 送,包括(但不限于)无线、有线、光缆、RF等,或者它们的任意适当 组合。

可用一种或多种编程语言,包括诸如Java、Smalltalk、C++之类 的面向对象编程语言,和诸如“C”编程语言或类似编程语言之类的常 规过程编程语言的任意组合,编写执行本发明的各个方面的操作的计 算机程序代码。程序代码可完全在用户的计算机上执行,部分在用户 的计算机上执行,作为独立软件包执行,部分在用户的计算机上执行 并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执 行。在后一情况下,远程计算机可通过任意类型的网络,包括局域网 (LAN)或广域网(WAN),连接到用户的计算机,或者可连接到外部计 算机(例如,利用因特网服务提供商,经因特网连接到外部计算机)。

下面参考按照本发明各个实施例的方法、设备(系统)和计算机程 序产品的流程图和/或方框图,说明本发明的各个方面。应当理解,流 程图和/或方框图的每个方框,以及流程图和/或方框图中的各个方框 的组合可用计算机程序指令实现。这些计算机程序指令可被提供给通 用计算机,专用计算机或者其它可编程数据处理设备的处理器,从而 产生机器,以致通过计算机或其它可编程数据处理设备的处理器执行 的指令产生实现在流程图和/或方框图的一个或多个方框中指定的功 能/动作的装置。

这些计算机程序指令也可被保存在计算机可读介质中,所述计算 机可读介质可指令计算机、其它可编程数据处理设备或其它器件按特 定方式工作,以致保存在计算机可读介质中的指令产生制成品,所述 制成品包括实现在示意流程图和/或示意方框图的一个或多个方框中 指定的功能/动作的指令。

计算机程序指令也可被加载到计算机,其它可编程数据处理设备 或其它器件上,使得在所述计算机,其它可编程设备或其它器件上执 行一系列的操作步骤,从而产生计算机实现的过程,以致在所述计算 机或其它可编程设备上执行的指令提供实现在流程图和/或方框图的 一个或多个方框中指定的功能/动作的过程。

图1图解说明可用在本发明的上下文中的基于磁带的数据存储系 统的简化磁带驱动器100。虽然图1中表示了磁带驱动器的一种具体 实现,不过应注意可以在任意种类的磁带驱动器系统的情况下,实现 这里说明的实施例。

如图所示,设置供带卷筒120和接纳卷盘121,以支承磁带122。 卷盘中的一个或多个可构成可拆卸磁带盒的一部分,不一定是系统 100的一部分。磁带驱动器,比如图1中图解所示的磁带驱动器还包 括驱动供带卷筒120和接纳卷盘121,从而使磁带122移动通过任意 类型的磁带头126的驱动电动机。这样的磁带头可包括读出器和/或写 入器的阵列。

导带轮125导引磁带122经过磁带头126。这种磁带头126再通 过电缆130,耦接到控制器组件128。控制器128一般控制诸如伺服跟 随、写入、读取之类的磁带头功能。控制器可按照本领域中已知的逻 辑,以及这里公开的任何逻辑工作。电缆130可包括向磁带头126传 送数据,以便记录在磁带122上,和从磁带122接收利用磁带头126 读取的数据的读/写电路。致动器132控制磁带头126相对于磁带122 的位置。

另外还设置接口134,用于在磁带驱动器和主机(集成的或者外部 的主机)之间的通信,以发送和接收数据,和用于控制磁带驱动器的操 作,并把磁带驱动器的状态传送给主机,本领域的技术人员理解所有 这一切。

例如,图2图解说明可在本发明的环境中实现的平直重叠、双向 双模块磁带头200的侧视图。如图所示,该磁带头包括一对模块204, 每个模块204具备底座202,并固定成彼此相对成较小的角度α。底座 202可以是胶着地结合在一起的“U形梁”。每个模块204包括基板204A 和盖板204B,所述盖板204B带有薄膜部分(通常称为“间隙”),在所 述薄膜部分中,形成读出器和/或写入器206。使用中,按照所示的方 式,顺着介质(磁带)支承面209,在模块204上移动磁带208,以便利 用读出器和写入器,读取磁带208上的数据和在磁带208上写入数据。 磁带208在进出平直的介质支承面209的边缘的包角通常介于约 0.1°~约5°之间。

基板204A一般由耐磨材料,比如陶瓷构成。盖板204B由和基板 204A相同或相似的陶瓷构成。

可按照背负式或合并式结构排列读出器和写入器。例证的背负式 结构包括在(磁屏蔽的)读出器换能器(例如,磁阻读出器等)之上(或者 之下)的(磁感应的)写入器换能器,其中写入器的磁极和读出器的屏蔽 体通常被隔开。例证的合并式结构包括和一个写入器磁极在相同物理 层中的一个读出器屏蔽体(从而“被合并”)。还可按照交错结构排列读 出器和写入器。另一方面,通道的每个阵列可以只是读出器或写入器。 这些阵列任意之一可以包含用于读取介质上的伺服数据的一个或多个 伺服磁道读出器。

图2A图解说明从图2的线2A获得的模块204之一的磁带支承面 209。图中用虚线表示了典型的磁带208。模块204最好足够长,以便 当磁带头在数据带之间步进时,能够支承磁带。

在这个例子中,磁带208包括4-22个数据带,例如,如图2A中 所示,在半英寸宽的磁带208上,具有16个数据带和17个伺服磁道 210。在伺服磁道210之间限定数据带。每个数据带可包括许多数据磁 道,例如512个数据磁道(未示出)。在读/写操作期间,读出器和/或写 入器206被定位到数据带之一内的特定磁道位置。外侧读出器(有时称 为伺服读出器)读取伺服磁道210。伺服信号再用于使读出器和/或写入 器206在读/写操作期间,与特定的一组磁道保持对齐。

图2B描述在图2A的圆2B中,在模块204上的间隙218中形成 的多个读出器和/或写入器206。如图所示,读出器和写入器206的阵 列包括例如16个写入器214,16个读出器216和2个伺服读出器212, 不过,元件的数目可以变化。例证实施例包括每个阵列8、16、32、 40和64个读出器和/或写入器206。优选实施例包括每个阵列32个读 出器和/或每个阵列32个读出器,其中换能元件的实际数目可以更大, 例如,33、34等。这使磁带可以更缓慢地移动,从而降低速度引起的 寻道和机械困难,和/或执行较少的“线带(wrap)”,以填充或读取磁带。 虽然可以如图2B中所示,按照背负式结构排列读出器和写入器,不 过,也可按照交错结构排列读出器216和写入器214。另一方面,每 个读出器和/或写入器206的阵列可以只是读出器或写入器,并且该阵 列可包含一个或多个伺服读出器212。如一起考虑图2和2A-2B所示 那样,考虑到诸如双向读取和写入,边写边读能力,向下兼容之类事 情,每个模块204可包括互补的一组读出器和/或写入器206。

图2C表示按照一个实施例的磁带头200的互补模块的局部磁带 支承面视图。在这个实施例中,每个模块具有在公共基板204A和可 选的电绝缘层236上,按照背负式结构形成的多个读/写(R/W)对。使 用写入磁头214例示的写入器,和用读出磁头216例示的读出器平行 于磁带介质的行进方向对齐,从而形成用R/W对222例示的R/W对。

可以存在几个R/W对222,例如,8对、16对、32对等。使如图 所示的R/W对222沿着通常与磁带的行进方向垂直的方向对齐。不过, 也可以使R/W对沿对角线对齐,等等。伺服读出器212被布置在R/W 对的阵列的外侧,其功能是众所周知的。

通常,磁带介质沿着如箭头220所示的正向或反向移动。磁带介 质和磁带头组件200以本领域中公知的方式,按照换能关系工作。背 负式MR磁带头组件200包括结构通常相同的两个薄膜模块224和 226。

模块224和226被接合在一起,同时在它们的盖板204B(部分示 出)之间存在间隔,从而形成单个物理单元,以通过启动前导模块的写 入器,和平行于磁带相对于其的行进方向,与前导模块的写入器对齐 的尾随模块的读出器,提供边写边读能力。当构成背负式磁带头200 的模块224、226时,对于R/W对222来说,通常按照以下顺序,在 例如AlTiC的导电基板204A(部分示出)上产生的间隙218中形成各 层:绝缘层236,一般为诸如NiFe(坡莫合金),CZT或Al-Fe-Si(铁硅 铝合金)之类的铁合金的第一屏蔽体232,感测磁性介质上的数据磁道 的传感器234,一般为镍铁合金(例如80/20坡莫合金)的第二屏蔽体 238,第一和第二写入器极尖228、230,和线圈(未示出)。

第一和第二写入器磁极228、230可用诸如45/55NiFe之类的高 磁矩材料制成。注意这些材料只是作为例子提供的,可以使用其它材 料。可以存在另外的层,比如在屏蔽体和/或极尖之间的绝缘层,和围 绕传感器的绝缘层。用于绝缘层的例证材料包括氧化铝和其它氧化物, 绝缘聚合物等。

按照一个实施例的磁带头126的结构包括多个模块,最好3个或 者更多的模块。在写-读-写(W-R-W)磁头中,外部写入模块位于一个 或多个内部读取模块之侧。参见描述W-R-W结构的图3,外部模块 402、406都包括写入器410的一个或多个阵列。图3的内部模块404 包括类似结构的读取器408的一个或多个阵列。多模块磁头的变形包 括R-W-R磁头(图4),R-R-W磁头,W-W-R磁头等。在其它变形中, 模块中的一个或多个模块具有换能器的读/写对。此外,可以存在不止 3个模块。在另外的方法中,两个外部模块可以位于两个或者更多的 内部模块之侧,例如按W-R-R-W、R-W-W-R排列等。为了简单起见, 这里主要利用W-R-W磁头举例说明本发明的实施例。依据这里的教 导,本领域的技术人员会理解本发明的置换如何应用于除W-R-W结 构之外的结构。

在磁带驱动器系统中,当收到写请求时(比如在磁带驱动器系统和 主机系统之间的同步操作期间),磁带驱动器系统必须确定用于把数据 写入磁带的WP。

当阅读本说明时,本领域的普通技术人员会理解,已知的改善磁 带驱动器系统的几种常规方法包括回退WP,在这里引为参考的美国 专利No.7,903,363中公开的同线带无回退清洗(same wrap  backhitchless flush)(SWBF)WP,在这里引为参考的美国专利 No.6,856,479中公开的递归积累无回退清洗(recursively accumulating  backhitchless flush)(RABF)WP,以及其它等同的WP。

例如,当阅读本说明时,本领域的普通技术人员会了解,WP可 用于通过使磁带驱动器存储容量最大化,使磁带驱动器写操作保真度 最大化,使磁带驱动器存储容量减低降至最小,使磁带驱动器写操作 时间减至最小等,来改善磁带驱动器系统性能。

当阅读本说明时,本领域的普通技术人员会了解,这里使用的数 据存储系统可以用几个性能属性表征,包括理想数据容量、实际数据 容量、容量余量、容量余量比例等。

在一个实施例中,理想数据容量可代表特定类型的存储系统的典 型或平均最大数据容量,当阅读本说明时,本领域的普通技术人员会 理解,可用诸如兆字节(MB)、千兆字节(GB)、百万兆字节(TB)之类 的数据量单位,报告理想数据容量。此外,理想数据容量可以是用户 可以获得的平均或者典型存储容量,可以是作为存储系统总容量,向 用户报告的数据容量。

类似地,实际数据容量可代表当在一些方法中,以极低的差错率 进行写入时,实际观察到的特定类型的存储系统的实际最大数据容量。 当阅读本说明时,本领域的普通技术人员会理解,如同理想数据容量 一样,可用诸如兆字节(MB)、千兆字节(GB)、百万兆字节(TB)之类 的数据量单位,报告实际数据容量。

在另外的实施例中,容量余量代表特定存储系统的实际数据容量 和该特定存储系统的理想数据容量之间的差值。当阅读本说明时,本 领域的普通技术人员会理解,如同实际数据容量和理想数据容量一样, 可用诸如兆字节(MB)、千兆字节(GB)、百万兆字节(TB)之类的数据 量单位,报告容量余量。

此外,容量余量比例代表特定存储系统的容量余量和实际数据容 量的相对比较。当阅读本说明时,本领域的普通技术人员会理解,可 以比例、百分率、分数等的形式,报告容量余量比例。

当阅读本说明时,本领域的普通技术人员会理解,容量余量和容 量余量比例都代表数据存储系统性能指标,这些指标是关于预期差错 率和观察到的差错率,从而就写操作有效性和效率以及其它质量而言, 特定数据存储系统的整体性能的信息。

SWBF、RABF和回退WP为数据存储系统提供改善的写入,于 是改善系统总性能,尤其是在传送数据的主机和接收数据以便存储的 数据存储系统之间的一系列数据同步操作内。此外,每种WP为数据 存储系统提供独特的优点和改进。例如,回退WP通常是就写操作速 度而言,比SWBF或RABF慢的WP,这会导致较慢的系统性能,但 是带来当利用回退WP时,几乎不会失去任何数据容量的优点。

另一方面,SWBF和RABF的特点通常在于相对于回退WP,写 操作速度更快,从而向存储系统给予对应更快的性能。不过,SWBF 是通过响应收到在磁带驱动器中进行写操作的请求,跳过存储容量的 多个部分,实现更快的性能的,相应地随着每次写操作牺牲存储容量, 对利用SWBF的数据存储系统的总存储容量不利。

RABF的特点通常也在于写操作速度比回退WP快,不过通常比 SWBF慢。RABF把数据临时写入保留的磁带区中,跳过存储容量的 一些部分,但是递归地写入原始磁带区中,而不跳过这部分存储容量。 于是,在一些方法中,RABF不会导致容量损失。

通常,如果对较小的数据传输事务,频繁地请求写操作,那么 RABF是优于SWBF的方法。如果同步操作不是很频繁,那么SWBF 是优于RABF的方法,因为SWBF的跳过部分不会很影响总的写入容 量。

当阅读本说明时,本领域的普通技术人员会理解,上述WP可改 善数据存储系统性能,但是每种WP带有性能的相关成本,于是,理 想并且有利的是一致和/或结合地设计WP的智能实现,以按照特定用 户、存储设施、存储服务提供商等的具体要求,使数据存储系统性能 达到最大。

因而,当阅读本说明时,本领域的普通技术人员会理解,本说明 详细描述了关于诸如回退WP、SWBF WP、RABF WP之类WP的创 新实现的几个实施例。当阅读本说明时,本领域的普通技术人员会理 解,目前公开的系统和方法通过根据几个因素中的一个或多个因素, 确定特定写操作的最佳WP,实现改善的WP性能,并且相应地改善 数据存储系统性能,所述几种因素包括后续写操作的预期事务大小, 数据存储系统的容量余量,一种或多种WP的预期写入时间,在后续 写操作的数据为对数据存储系统的写入作为好准备以前的预期剩余时 间等等。

如果要求写入的事务是大事务,和/或如果在写入之后预定写入的 下一个事务是大事务,那么预期回退WP会花费较长的时间来完成写 入,不利于系统总性能。因而,按照惯例,对于关于大事务或者接近 大事务的事务,一直利用SWBF来改善系统性能。不过不可思议的是, 目前公开的系统和方法的发明人发现即使事务是大事务,从性能的角 度看,SWBF并不总是WP的最佳方法。特别地,在磁带以较低速度 移动的系统中(例如为了避免清空缓冲器),与标准回退WP相比, SWBF会产生更多的开销,不能带来SWBF WP的典型性能优点。因 而,在一些情况下,从写入速度和数据容量损失的角度看,回退WP 意外地是性能出众的WP。

为此,在意外了解到即使就较大的事务大小来说,对于给定的一 组条件,标准回退WP或者其它过程也可带来出众的WP和数据存储 性能的情况下,本说明公开一种为各种情况选择最佳WP的新方法。 在一些方法中,所述新方法可至少根据下次写操作的预期事务大小, 和在下一个事务为写入作为准备以前的预期剩余时间,确定最佳WP。 此外,可以比较预期事务大小和一个或多个阈值,以便按照预期事务 大小,进一步限定适当的最佳WP。

在一些方法中,下次写操作的预期事务大小可包括基于一个或多 个在先事务的平均事务大小的估计事务大小。在优选实施例中,下次 写操作的预期事务大小可以是2个、3个或4个紧接在前的事务大小 的平均值。

此外,当前说明的系统和方法可采用一个或多个阈值,对照所述 一个或多个阈值,比较上述几种因素中的一个或多个因素,以帮助确 定在写入和/或数据存储环境的特定情况下,对特定的写操作来说,哪 种WP最佳。在几种方法中,可以采用多个事务大小阈值,第一事务 大小阈值代表大事务和中等事务之间的边界。此外,在一些方法中, 第二事务大小阈值代表中等事务和小事务之间的边界。这样的阈值可 以是为特定驱动器和/或介质类型预先确定的,由用户选择的,编程到 驱动器中的,等等。

此外,这里公开了阈值和上述因素之间的几种例证比较。当阅读 本说明时,本领域的普通技术人员会理解,可按照各种标准进行每种 比较。例如,在各种方法中,在因素值大于阈值,大于或等于阈值, 等于阈值,小于阈值,或者小于或等于阈值的情况下,条件可被满足。

这里使用的“最佳”WP应被理解为代表对于经历一个或多个写操 作的数据存储系统,实现出众的性能改善的WP。当阅读本说明时, 本领域的普通技术人员会理解,可按照特定用户、存储系统、存储服 务提供商等期望或者要求的任何指标,定义出众的性能。

例如,在一些实施例中,与高效的数据容量使用相比,可能更喜 欢高速性能,从而目前说明的系统和方法可选择提供最大写操作速度 的“最佳”WP。在其它方法中,与写操作速度相比,可能更喜欢数据 容量的有效使用,从而目前说明的系统和方法可选择提供最高的数据 容量使用效率的“最佳”WP。当然,当阅读本说明时,本领域的普通 技术人员会理解,在不同的解决方案中,可能优选其它性能特性,并 且目前公开的系统和方法可被优化,以在各种性能特性中的每种性能 特性方面,提供期望的数据存储系统性能。

按照一个实施例,磁带驱动器系统包括:读通道;写通道;配置 成接收写操作的请求的逻辑;配置成响应收到所述请求,确定最佳 WP的逻辑,所述确定基于多种WP中的每一个的预期写入时间和下 次写操作的预期事务大小;和配置成响应确定最佳WP,调用确定的 最佳WP的逻辑。

最好,所述确定基于相对于两个阈值的预期写入时间。在一些实 施例中,所述两个阈值可包括第一事务大小阈值和第二事务大小阈值。 在优选实施例中,第一事务大小阈值大于第二事务大小阈值。

此外,在另外的实施例中,调用最佳WP可有效地保持约10%或 更小的容量余量比例,在优选实施例中,保持约7%或者更小的容量 余量比例。

在更多的实施例中,配置成确定最佳WP的逻辑包括配置成确定 容量余量比例的逻辑;配置成确定下次写操作的预期事务大小的逻辑; 配置成分别计算多个WP的预期写入时间的逻辑,每个WP选自下列 项目:回退WP、同线带无回退清洗(SWBF)WP和递归积累无回退清 洗(RABF)WP;和配置成确定在下次写操作以前的预期剩余时间的逻 辑,其中确定最佳WP还基于在下次写操作以前的预期剩余时间。

在更多的实施例中,响应以下条件被满足,可以选择SWBF WP 作为最佳WP:下次写操作的预期事务大小大于第一事务大小阈值; SWBF WP预期写入时间小于回退WP预期写入时间;在下次写操作 以前的预期剩余时间小于SWBF WP预期写入时间;和容量余量比例 大于预定值。

在一些实施例中,当阅读本说明时,本领域的普通技术人员会理 解,预定值可以是对于特定的驱动器和/或磁带,确定为足够SWBF WP 之用的值;诸如10%,7%之类的选择值,等等。此外,这种实施例 的一个优点在于数据将及时为SWBF作好准备,以节省时间,并且 SWBF WP比回退WP足够快,以考虑到容量余量调整SWBF,从而 节省写入时间。通过省略SWBF、RABF和回退WP之间的任何进一 步比较,该实施例还节省时间/处理能力。

在另外的实施例中,响应以下条件被满足,可以选择SWBF WP 作为最佳WP:下次写操作的预期事务大小小于第一事务大小阈值, 并且大于第二事务大小阈值;在下次写操作以前的预期剩余时间小于 SWBF WP预期写入时间;和容量余量比例大于预定值。

按照这样的实施例,数据将及时为SWBF WP作好准备,以节省 时间,并且SWBF WP比回退WP足够快,以考虑到容量余量调整 SWBF,从而节省写入时间。通过省略SWBF、RABF和回退WP之 间的任何进一步的比较,这样的实施例还节省时间/处理能力。

此外,在一些方法中,响应下次写操作的事务大小小于第二事务 大小阈值,可以选择RABF WP作为最佳WP,因为对于小事务来说, RABF WP令人惊讶地快于标准回退WP。

此外,在另外的和/或备选的方法中,响应以下条件被满足,可以 选择RABF WP作为最佳WP:下次写操作的预期事务大小小于第一 事务大小阈值,并且大于第二事务大小阈值;和容量余量比例小于预 定值。

此外,按照一个实施例,响应以下条件被满足,可以选择RABF WP作为最佳WP:下次写操作的预期事务大小小于第一事务大小阈 值,并且大于第二事务大小阈值;在下次写操作以前的预期剩余时间 大于SWBF WP预期写入时间;和容量余量比例大于预定值。在一种 方法中,响应以下条件被满足,选择回退WP作为最佳WP:下次写 操作的预期事务大小大于第一事务大小阈值;下次写操作的SWBF预 期写入时间大于回退WP预期写入时间;和容量余量比例大于预定值。

在另一种方法中,响应以下条件被满足,选择回退WP作为最佳 WP:下次写操作的预期事务大小大于第一事务大小阈值;下次写操 作的SWBF预期写入时间小于回退WP预期写入时间;容量余量比例 大于预定值;和在下次写操作以前的预期剩余时间大于SWBF WP预 期写入时间。

所述系统还可被实现成数据存储系统,包括如在这里的任意实施 例中所述的磁带驱动器系统;使磁介质经过磁头的驱动机构;和与磁 头电耦接的控制器。

现在参见图5,按照一个实施例表示了方法500。如这里所述和理 解的那样,可在任何适当的环境,包括图1-4的环境等中进行方法500。

在一个实施例中,方法500包括操作502,在操作502中,接收 在磁带驱动器中进行写操作的请求。

在操作504中,确定下次写操作的预期事务大小。

在操作506中,响应收到所述请求,分别比较下次写操作的预期 事务大小与第一事务大小阈值和第二事务大小阈值。

在操作508中,至少部分根据操作506中的比较,确定最佳WP。

在操作510中,响应在操作508中确定最佳WP,调用该最佳WP。

按照目前公开的系统和方法的一些实施例,第一事务大小阈值大 于第二事务大小阈值,最佳WP可以选自回退WP、同线带无回退清 洗(SWBF)WP和递归积累无回退清洗(RABF)WP。

在一些实施例中,通过调用最佳WP,进行写操作的磁带驱动器 保护小于10%,最好小于约7.0%的容量余量比例。

现在参见图6,按照一个实施例,表示了方法600。如同这里说明 和理解的那样,可在任何适当的环境,包括图1-4的环境等中进行方 法600。

在一个实施例中,方法600还定义确定最佳WP的一套方法。例 如,在一个实施例中,确定最佳WP可包括操作602,在操作602中, 确定容量余量比例,例如进行写操作的磁带驱动器的容量余量比例。

在操作604中,分别对于回退WP、SWBF WP和RABF WP,计 算预期写入时间。

在操作606中,确定在下次写操作以前的预期剩余时间。

在操作608中,根据下述至少之一,选择最佳WP:回退WP预 期写入时间、SWBF WP预期写入时间、RABF WP预期写入时间、 下次写操作的预期事务大小、容量余量比例、和在下次写操作以前的 预期剩余时间。

现在参见图7,图中表示了与目前公开的系统和方法的一种实现 相应的例证决策树700。通常,在各种方法中,通过采用决策树700, 可给出改善的写入,从而对应地给出改善的数据存储系统性能。

如图7中所示,当在起点701收到在磁带驱动器中进行写操作的 请求时,在判定点702,比较预期事务大小T(x)和第一事务大小阈值 T(a)。如果预期事务大小大于第一事务大小阈值,那么这表明事务是 “大事务”,然后通过在判定点704,判定数据存储系统的容量余量CM 是否大于支持SWBF WP所需的最小容量余量CM(low),来继续进行 分析。

如果容量余量不足以支持SWBF WP,那么在结论点706,所述 分析断定标准回退WP BH是在这些情况下的最佳WP。否则,容量 余量足以支持SWBF WP,则通过在判定点708,判定SWBF WP是 否预期比标准回退WP快,来继续进行分析。在一些方法中,可大体 如在美国专利No.7,710,681和8,035,912中公开的那样,按照关于每种 WP计算的预期耗用时间,进行所述判定。

当阅读本说明时,本领域的普通技术人员会理解,SWBF相对于 标准回退写入的优点是SWBF更快,不过速度的增大是以容量的损失 为代价的。因而,当收到写操作的请求时,如果在这些情况下,回退 写入比SWBF快,那么利用SWBF进行写入会不必要地牺牲数据容 量,而不会给予任何速度优势。因而,在这样的情况下,可能优先选 用标准回退写入,以使存储容量和写入速度性能达到最大。在一个实 施例中,其中预期SWBF WP比回退WP慢,那么回退WP被选为在 这些情况下的最佳WP,如在图7的结论点710中所示。

另一方面,如果在判定点708,确定SWBF WP比回退WP快, 那么通过在判定点712,判定在预期SWBF WP完成写入之前,下一 个事务是否将为写入作好准备,来继续进行分析。如果在预期SWBF  WP完成写入之前,下一个事务将为后续写入作好准备,那么所述分 析断定SWBF WP是在这些情况下的最佳WP,如在结论点716中所 示。否则,如果在预期SWBF WP完成写入之前,下一个事务没有 为后续写入作好准备,那么所述分析断定回退WP是在这些情况下的 最佳WP,如在结论点714中所示。

当阅读本说明时,本领域的技术人员会理解,即使事务是大事务, 存在支持SWBF WP的足够容量余量,并且预期SWBF WP比回退 WP快,如果SWBF WP被选为最佳WP,但是数据持续超过预期的 SWBF WP写入时间的时间量,没有为后续写入作好准备,尤其是如 果数据持续超过预期的回退WP写入时间的时间量,没有为后续写入 作为准备,那么会出现不必要的数据容量损失。这是因为在第一种情 况下,SWBF会牺牲容量,并在下一个数据为写入作好准备之前结束 写入,从而系统会临时闲置。在第二种情况下,SWBF WP会牺牲容 量,而回退WP不会牺牲容量,并且两种WP都会在下一个数据为后 续写入作好准备之前结束,导致容量的完全浪费,而不存在写入性能 的对应提高。

如果在判定点702,确定事务不是“大事务”,那么在判定点718, 比较预期事务大小和第二事务大小阈值T(b)。如果预期事务大小小于 第二事务大小阈值,那么这表明该事务是“小”事务,从而分析断定 RABF WP是在这些情况下的最佳WP,如在图7的结论点720中所 示。

另一方面,如果预期的事务大小大于第二事务大小阈值,但是小 于第一事务大小阈值,那么这表明该事务是“中等大小的”事务,从而 通过在判定点722中,判定数据存储系统的容量余量CM是否大于支 持SWBF WP所需的最小容量余量CM(low),来继续进行分析。如果 数据存储系统的容量余量不足以支持SWBF,那么分析断定RABF  WP是在这些情况下的最佳WP,如在图7的结论点724中所示。

否则,如果数据存储系统的容量余量CM大于支持SWBF WP所 需的最小容量余量CM(low),那么通过在判定点726中,判定在预期 SWBF WP完成写入之前,下一个事务是否将为写入作好准备,来继 续进行分析。如果在预期SWBF WP完成写入之前,下一个事务将为 后续写入作好准备,那么所述分析断定SWBF WP是在这些情况下的 最佳WP,如在结论点728中所示。否则,如果在预期SWBF WP完 成写入之前,下一个事务没有为后续写入作好准备,那么所述分析断 定RABF WP是在这些情况下的最佳WP,如在结论点730中所示。

在一个实施例中,图7中所示的决策树700也可被表示成如下所 示的包含嵌套逻辑语句的微代码。

显然可以按照任意方式组合上述方法的各个特征,从而根据上面 给出的描述,产生多种组合。

另外对本领域的技术人员来说,显然可用逻辑设备适当地体现本 发明的方法,所述逻辑设备包含执行这里给出的方法的各个步骤的逻 辑,并且显然所述逻辑可包含硬件组件或固件组件。

同样,对本领域的技术人员来说,显然可在逻辑设备中适当地具 体体现各种提议中的逻辑布置,所述逻辑设备包括进行所述方法的各 个步骤的逻辑,并且这样的逻辑可以包含诸如可编程逻辑阵列中的逻 辑门之类的组件。可以在使能装置或组件中具体体现这样的逻辑布置, 以便利用例如可用固定或可传输的载体介质保存的虚拟硬件描述语 言,在这样的阵列中临时或永久地建立逻辑结构。

要理解上面说明的方法可以完全或者部分用在一个或多个处理器 (未示出)上运行的软件恰当地实现,所述软件可以携带在任何适当的 数据载体(同样未示出),比如计算机磁盘或光盘上的计算机程序元件 的形式提供。数据传输通道同样可包括所有种类的存储介质,以及诸 如有线或无线信号介质之类的信号传送介质。

本发明的实施例可被适当地体现成供计算机系统之用的计算机程 序产品。这样的实现可包括一系列的计算机可读指令,所述一系列的 计算机可读指令或者被固定在有形介质,比如计算机可读介质,例如 磁盘、CD-ROM、ROM或硬盘上,或者可借助调制解调器或其它接 口装置,通过有形介质,包括(但不限于)光通信线路或模拟通信线路 传送给计算机系统,或利用无线技术,包括(但不限于)微波、红外或 其它传输技术,无形地传送给计算机系统。所述一系列计算机可读指 令体现前面说明的全部或部分功能。

例如,在一个实施例中,这里公开的本发明的计算机程序产品可 以是包含非临时性计算机可读程序代码的计算机程序产品,所述程序 代码包含在计算机可读存储介质上,所述计算机可读程序代码包括配 置成由磁带驱动器接收在磁带驱动器中进行写操作的请求的计算机可 读程序代码;配置成确定下次写操作的预期事务大小的计算机可读程 序代码;配置成响应收到所述请求,分别比较下次写操作的预期事务 大小与第一事务大小阈值和第二事务大小阈值的计算机可读程序代 码;配置成至少部分根据所述比较,确定最佳WP的计算机可读程序 代码;和配置成响应确定最佳WP,调用最佳WP的计算机可读程序 代码,其中第一事务大小阈值大于第二事务大小阈值,其中最佳WP 选自下列项目:回退WP、同线带无回退清洗(SWBF)WP和递归积累 无回退清洗(RABF)WP。

本领域的技术人员会理解这样的计算机可读指令可以用供许多计 算机架构或操作系统使用的多种编程语言编写。此外,这样的指令可 以利用目前或者未来的任意存储器技术,包括(但不限于)半导体、磁 或光存储器技术保存,或者可以利用目前或者未来的任意通信技术, 包括(但不限于)光、红外或微波通信技术传送。预期这样的计算机程 序产品可以具有附带的印刷或电子文档的可拆卸介质的形式分发,利 用计算机系统预装到例如系统ROM或硬盘上,或者通过网络,比如因 特网或万维网,从服务器或电子公告板分发。

通信组件,比如输入/输出或者说I/O设备(包括(但不限于)键盘、 显示器、指示装置等)可以直接或者通过居间的I/O控制器,耦接到系 统。

诸如总线、接口、网络适配器之类的通信组件也可耦接到系统, 以使数据处理系统,例如主机通过居间的专用或公共网络,耦接到其 它数据处理系统或者远程打印机或者存储设备。调制解调器、线缆调 制解调器和以太网卡只是目前可用的各种网络适配器中的一些。

另外要理解可以代表消费者部署的服务的形式,提供本发明的实 施例,以应请求提供服务。

虽然上面说明了各个实施例,不过应明白它们只是作为例子给出 的,而不是对本发明的限制。从而,本发明的实施例的宽度和范围不 应被任意上述例证实施例限制,而是只应按照以下权利要求及其等同 物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号