发明内容
提供了方法、伺服解码器系统、数据存储驱动器以及计算机程序产品,以便提供关于线性磁带的基于计时的伺服带的计时信息,所述基于计时的伺服带布置在具有子帧的一系列帧中且顺序相邻子帧中具有非平行伺服条带,由读出宽度小于所述基于计时的伺服带的宽度的伺服读取磁头读出所述基于计时的伺服带,所述伺服读取磁头和所述基于计时的伺服带沿纵向方向相对于彼此移动。
在一个实施例中,所述方法包括:
确定所述伺服读取磁头在子帧的第一对非平行伺服条带之间的第一时间间隔(A);
确定所述伺服读取磁头在顺序相邻子帧的第二对平行伺服条带之间的第二时间间隔(B),所述第二对伺服条带包括所述第一对的一个伺服条带;
确定所述伺服读取磁头在第一时间间隔(A)、顺序相邻子帧的伺服条带中间的第三对非平行伺服条带之间的备选第三时间间隔(C),所述第三对伺服条带包括所述第一对的一个伺服条带;以及
生成是所述第一和第二时间间隔的函数以及是所述第三和第二时间间隔的函数的位置信号,所述位置信号与所述伺服读取磁头相对于所述伺服带的侧向位置相关。
在进一步的实施例中,所述第三时间间隔(C)第三对伺服条带包括所述第一对的第二伺服条带,以及顺序相继第一对的第一伺服条带。
在另一个实施例中,所述第一和第二时间间隔的函数包括(A)与(B)的比率,并且所述第三和第二时间间隔的函数包括[(B)-(C)]与(B)的比率。
在又一个实施例中,当(A)的值大于(B)/2的值时,生成位置信号的步骤包括作为(A)与(B)的比率生成是所述第一和第二时间间隔的函数的位置信号;以及当(A)的值小于(B)/2的值时,生成位置信号的步骤包括作为[(B)-(C)]与(B)的比率生成是所述第三和第二时间间隔的函数的位置信号。
进一步的实施例包括持续生成位置信号而不在所述生成位置信号的步骤之间切换,直到(A)的值与(B)/2相差至少预定磁滞因数。
在另一个实施例中,所述方法还包括确定所述伺服读取磁头在顺序相邻子帧的第四对平行伺服条带之间的第四时间间隔(D)的步骤,所述第四对伺服条带包括与所述第二对的伺服条带不同的伺服条带;以及生成所述位置信号的步骤包括生成是所述第一和第二时间间隔的函数,以及是所述第三和第四时间间隔的函数的位置信号。
在进一步的实施例中,确定第二时间间隔(B)的步骤在顺序相邻子帧的第二对平行伺服条带之间;以及确定第四时间间隔的步骤在顺序相邻子帧的第四对伺服条带之间;所述第二对伺服条带和第四对伺服条带彼此交错且彼此不平行。
在又一个实施例中,所述第一和第二时间间隔的函数包括(A)与(B)的比率,并且所述第三和第四时间间隔的函数包括[(D)-(C)]与(D)的比率。
在另一个实施例中,所述方法包括:
确定所述伺服读取磁头在子帧的第一对非平行伺服条带之间的第一时间间隔(A);
确定所述伺服读取磁头在第一时间间隔(A)、顺序相邻子帧的伺服条带中间的第二对非平行伺服条带之间的第二时间间隔(C),第二对伺服条带包括所述第一对的第二伺服条带,以及顺序相继第一对的第一伺服条带;以及
生成是所述第一(A)和第二(C)时间间隔的函数的位置信号,所述位置信号与所述伺服读取磁头相对于所述伺服带的侧向位置相关。
在进一步的实施例中,所述第一和第二时间间隔的函数包括(A)与[(A)+(C)]的比率。
在又一个实施例中,所述第一和第二时间间隔的顺序更新函数包括交替使用更新后的(A)和更新后的(C)来顺序更新所述比率。
具体实施方式
在以下参考附图的说明中使用优选实施例说明了本发明,其中同样的编号代表相同或相似的元素。虽然根据用于实现本发明目标的最佳模式说明了本发明,但是本领域的技术人员将理解,鉴于这些教导可以实现多种变化而不偏离本发明的精神。
参考图1和2,现有技术可移动数据存储介质的一个实例(例如磁带盒100)包括盒体101、盒门106以及数据存储介质121。
数据存储介质121(例如包括可重写磁带)卷绕在盘110上,并使用导销111使磁带121穿过磁带驱动器的磁带路径。如本领域的技术人员所理解的,磁带数据存储盒包括卷绕在一个或两个盘上的一段磁带,其一个实例是遵循线性磁带开放协议(LTO)格式的那些磁带。所示磁带盒100是单盘盒。磁带盒也可以包括双盘盒,其中在盒的各盘之间馈送磁带。
磁带数据存储盒100的一个实例是基于LTO技术的
3580Ultrium磁带盒。单盘磁带数据存储盒的另一实例是
3592TotalStorage Enterprise磁带盒以及关联的磁带驱动器。双盘盒的一个实例是
3570磁带盒以及关联的驱动器。IBM是国际商业机器公司在全世界许多国家的注册商标。
在磁带盒100中,使用制动按钮112使磁带盘110就位,并在磁带盒100未装入磁带驱动器时防止磁带盘旋转。可以在导销111与磁带121之间设置可选的磁带引带120。
可以例如提供辅助非易失性存储器103(也称为盒式存储器(CM))并例如通过在安装存储器时由盒封装而将其保留在盒100中,如本领域的技术人员所理解的那样。
参考图3和4,示出了数据存储驱动器,例如磁带驱动器200。其中可以采用本发明的一个优选实施例的磁带驱动器的一个实例是基于LTO技术的IBM 3580 Ultrium磁带驱动器,其具有微代码等以执行关于磁带盒100的所需操作。
参考图1-4,在本实例中,将磁带盒100沿方向107插入磁带驱动器200的开口202中,并装入磁带驱动器200中。
磁带在磁带驱动器中的盒盘110和收带盘130之间缠绕和馈送。备选地,驱动双盘盒的两个盘以在盘之间馈送磁带。
磁带驱动器包括存储器接口140,用于例如以非接触方式从磁带盒100的辅助非易失性存储器103读取信息并将信息写入到其中。
提供了读取/写入系统以便读取信息并将其写入到磁带,并且此系统例如可以包括具有用于在磁带121的侧向移动磁头的伺服系统的读取/写入和伺服读取磁头系统180、读取/写入伺服控制190,以及在盒盘110与收带盘130之间并跨读取/写入和伺服磁头系统180移动磁带121的驱动器电机系统195。读取/写入和伺服控制190控制驱动器电机系统195的操作以便以所需速度跨读取/写入和伺服磁头系统180移动磁带121,并且在一个实例中,确定读取/写入和伺服磁头系统相对于磁带121的纵向位置,如将要讨论的那样。
控制系统240与存储器接口140通信,并且例如在读取/写入和伺服控制190处与读取/写入系统通信。控制系统240可以包括任何适当形式的逻辑,包括软件操作的处理器或微代码或固件,或可以包括硬件逻辑或它们的组合,如下文中更详细讨论的那样。
控制系统240通常与一个或多个主机系统250通信,并根据主机发出的命令操作磁带驱动器200。备选地,磁带驱动器200可以形成诸如自动数据存储库之类的子系统的一部分,并且还可以接收并响应来自子系统的命令。
如所示出的,控制系统240操作磁带驱动器200以根据接收的命令执行操作。实例包括将磁带移动到所需位置、从磁带中读取诸如文件之类的数据、将诸如新数据文件之类的数据写入到磁带,或将新数据附加到现有文件或将新数据或数据文件附加到分区的现有数据文件、重写或附加索引等。
参考图5和6,其中跨磁头系统180拉动磁带121,磁头系统180包括检测记录在磁带的伺服带227中的伺服模式的伺服读取磁头226。磁头系统180的数据磁头228置于磁带的数据磁道区域229上,例如包括多个数据磁头,用于读取记录在一个或多个数据磁道中的数据,或用于在一个或多个数据磁道中写入数据。为使图示简化,图5示出了一个伺服读取磁头和一个数据磁头。本领域的技术人员将理解,大多数磁带系统都具有多个平行伺服带、多个伺服读取磁头以及多个数据读取和写入磁头。
伺服带中心线230被示为沿磁带121的长度延伸。如引入的5,689,384专利中讨论的,采用伺服带以实现磁道跟随,因为伺服带上的磁转变由伺服读取磁头读出,并在伺服信号线234上提供给信号解码器236。信号解码器的一个实施例在图6中更详细示出,并且计时检测模块250处理伺服读取磁头信号并检测各个所遇到的伺服带转变之间的计时。位置信号生成器252生成指示伺服读取磁头相对于伺服带的当前侧向位置的位置信号,并且位置误差信号生成器254将当前侧向位置与所需侧向位置相比较并将位置误差信号经由位置信号线238传输到伺服控制器241。伺服控制器生成伺服控制信号并将其通过控制线242提供给磁头系统180处的伺服定位机构,此机构在磁道跟随期间相对于伺服带将磁头组件侧向移动到所需侧向位置,或相对于伺服带227将伺服读取磁头保持在所需侧向位置。
术语“伺服带”和“伺服磁道”被互换使用,作为标识伺服条带的线性流的术语。因为伺服读取磁头可以位于跨伺服带的多个侧向位置中的任一位置处并且可以采用伺服信号以在特定侧向位置进行磁道跟随,所以在此采用术语“伺服带”以指示伺服条带占用的物理区域并避免由表达“磁道跟随”引起的混淆。
图7示出了根据现有技术的基于计时的伺服模式。基于计时的伺服装置提供磁道跟随能力。在所述实例中,记录的伺服模式包括双重磁转变,其称为“伺服条带”270,并具有前缘或后缘(取决于磁带的移动方向)。随着磁带跨伺服读取磁头纵向移动,由宽度比伺服带模式小的伺服读取磁头读取模式,并且当伺服读取磁头横跨伺服条带时,伺服读取磁头生成称为“双位”的两个相反脉冲。
用于确定正在读取哪个伺服条带的典型方式是将伺服条带布置为突发模式,并将突发布置为伺服帧275,每个帧具有两个子帧276、277,每个子帧具有在不同方位定向布置的伺服条带的两个突发280、281和282、283。在子帧中提供模式间隔,并在子帧之间具有另一个伺服间隔。通常,帧和子帧的区别在于不同子帧的突发中具有不同数量的伺服条带。作为一个实例,通过观察从每个突发获得的伺服信号中的双位计数很容易区别帧和子帧,例如帧275中的子帧276的每个突发280、281中具有5个双位,而子帧277的每个突发282、283中具有4个双位。对每个突发中的不同双位数进行计数将允许伺服系统区别帧边界。
参考图7和8,伺服条带被布置为对,例如跨磁带介质在多个方位定向292、293处记录的对290。在引入的5,689,384专利中讨论了该技术。伺服读取磁头横跨伺服条带,针对每个伺服条带生成一个双位。因此,当读取磁头跨伺服带沿侧向方向移动时,任何对的每个双位的转变之间的计时都连续变化,所述双位从伺服读取磁头获得,每个双位来自子帧中的每个突发。当磁带沿纵向方向移动时,从读取伺服模式的磁头生成的脉冲的相对计时得出伺服读取磁头位置。通过得出两个伺服模式间隔的比率实现使用此系统进行位置读出,一个模式间隔包括从具有不同方位定向的伺服条带290获得的每个双位的转变之间的计时,另一个模式间隔包括从具有相同方位定向的伺服条带295获得的每个双位的转变之间的计时。因此,位置读出取决于比率并且对磁带速度不敏感。
对于并非本领域的技术人员来说,按照本领域定义的那样针对突发使用术语“A”“B”“C”“D”以及针对选定条带之间的计时使用“A”和“B”可能表现出不一致。例如,相同方位定向的突发“A”的伺服条带300与突发“B”的对应伺服条带301之间的距离称为“AB”距离,也称为(A)计时间隔290。突发“A”的伺服条带300与突发“C”的对应伺服条带302之间的距离称为“AC”距离,也称为(B)计时间隔295。实际上,(B)计时间隔305可以移位一个突发,以便(A)和(B)计时间隔均来自同一实例,即伺服条带301。
在当前技术中,使用(A)/(B)比率的值确定磁头相对于伺服带的侧向位置。因此,在(A)计时确定和(B)计时确定结束时确定比率,并根据计时确定以某一数据速率将信息提供给伺服系统以实现磁头定位控制。
参考图9,本发明的一个优选实施例在第一时间间隔(A)290、323中间的顺序相邻子帧的第三对非平行伺服条带之间添加伺服读取磁头的备选第三时间间隔(C)320、322的确定。例如,第三时间间隔(C2)322在一对非平行的伺服条带330和331之间。包括第三计时间隔(C2)的伺服条带是第一对先前(A1)计时间隔290的第二伺服条带330,以及顺序相继第一对下一(A2)计时间隔323的第一伺服条带331。
计时间隔(C)为在相邻(A)计时间隔的中间更新伺服读取磁头的侧向定位提供基础,从而有效地使侧向位置估计的生成速度加倍。等同于(A)/(B)比率的更新后的位置值是[(B)-(C)]/(B)。
换言之,位置信号成为包括(A)与(B)的比率的第一和第二时间间隔的函数,以及成为包括[(B)-(C)]与(B)的比率的第三和第二时间间隔的函数。
从计时角度,(A)和(C)通常可根据侧向磁带运动和磁带速度波动而变化,使得(B)不一定等于(C)+(A)。第三计时间隔(C)值比先前的(A)或(B)值具有较新或更新的信息。
参考图5、6、9和10,在步骤400,计时间隔(A)和计时间隔(C)的计时检测250类似。计时检测模块250处理伺服读取磁头信号并检测各个所遇到的伺服带转变之间的计时。在一个实例中,例如通过根据4、4、5、5模式的突发中的双位数以及模式中选定转变的位置对转变进行解码,以便例如检测包括(A1)计时间隔290的开始的转变329并检测包括(A1)计时间隔的结束的转变330。在一个实例中,计时检测模块250采用计数器对转变329的检测和转变330的检测之间的时钟脉冲计数,此计数表示计时间隔(A1)290。一旦针对(A1)完成计数,就使用相同或不同的计数器对转变330的检测和转变331的检测之间的时钟脉冲计数,此计数表示计时间隔(C2)322。同时,通过在转变328和转变330的检测之间进行计数,或通过计时间隔(C1)320和(A1)290的求和(此求和在相同的转变328和330之间)来确定计时间隔(B)。
在步骤401,位置信号生成器252生成位置信号,其使用(A)/(B)比率和[(B)-(C)]/(B)比率两者指示伺服读取磁头相对于伺服带的当前侧向位置。
在步骤402,位置误差信号生成器254将当前侧向位置与所需侧向位置相比较并将位置误差信号经由位置信号线238传输到伺服控制器241。伺服控制器生成伺服控制信号并将其通过控制线242提供给磁头系统180处的伺服定位机构,此机构在磁道跟随期间相对于伺服带将磁头组件侧向移动到所需侧向位置,或相对于伺服带227将伺服读取磁头保持在所需侧向位置。
在图9中,可能认为(C2)间隔322的具有[(B)-(C)]/(B)比率的最新伺服读取磁头值将要等待(B2)间隔340测量的完成。然而如果是这种情况,将不会针对(B2)提供比(A2)323更新的信息。然而,从磁带位置的角度,(B)的值是固定的。(B)仅随磁带速度变化。因为与侧向(磁头位置)变化相比,磁带速度变化相对较慢,所以安全的假设是磁带速度以及因此(B)间隔跨至少几个采样保持相对恒定。因此,在(C2)322变得可用的时间点,通过使用先前的(B)值339确定新位置值。
因此,在图9中,在采样率增加的情况下,磁头位置计算序列变成[(B0)-(C1)]/(B0)、(A1)/(B1)、[(B1)-(C2)]/(B1)、(A2)/(B2)等。参考图7,计时检测速率250的增加有效地增加了位置误差信号采样率254。
在另一个实施例中,参考图9,解决了“较旧时间”(B)值的问题,因为采用了伺服读取磁头的第四时间间隔“(D)”351、352,其在顺序相邻子帧的第四对平行伺服条带之间。形成第四计时间隔(D)的伺服条带对包括的伺服条带不同于形成计时间隔(B)的第二对的那些伺服条带,第二对伺服条带(B)和第四对伺服条带(D)彼此交错且彼此不平行。这为通常被测量为(B)的固定伺服模式距离提供了更加新的测量。
第一和第二时间间隔的用于确定磁头侧向位置的函数包括(A)与(B)的比率,第三和第四时间间隔的函数包括[(D)-(C)]与(D)的比率。新序列变成[(D1)-(C1)]/(D1)、(A1)/(B1)、[(D2)-(C2)]/(D2)、(A2)/(B2)等。
此外,用于在低速但采样率保持不变的情况下改进位置误差估计质量的备选方案包括确定伺服读取磁头相对于伺服带中心线的侧向位置。
具体地说,当(A)的值大于(B)/2的值时,生成位置信号的步骤包括作为(A)与(B)的比率生成是第一和第二时间间隔的函数的位置信号;以及当(A)的值小于(B)/2的值时,生成位置信号的步骤包括作为[(B)-(C)]与(B)的比率生成是第三和第二时间间隔的函数的位置信号。当(A)的值大于(B)/2的值时,(A)的值始终大于[(B)-(C)]或[(D)-(C)]的值,这允许图6的计数250更大并提供更准确的位置比率252。当伺服读取磁头在伺服带中心线的另一侧时,[(B)-(C)]或[(D)-(C)]的值大于(A)的值。
当伺服读取磁头靠近中心线时,为了避免过多的来回切换,进一步的实施例包括持续生成位置信号而不在生成位置信号的步骤之间切换,直到(A)的值与(B)/2相差至少预定磁滞因数。例如,可以在中心位置的周围形成窄带,其中不对位置信号的生成方式进行更改,并且仅当完全横跨窄带时才切换模式。此带可以例如被定义为“2△”,并在中心的每侧具有距离“△”。因此,公式为如果[(B)/2]-△<=(A)<=[(B)/2]+△,则继续使用现有模式。
参考图11,可以注意到,计时间隔之间的关系允许这样的可能性:可以去除某些计时间隔并仍获得有效的位置信号。图11的实例返回到原始采样率(其可以称为“1x”),但提供更新后的磁带速度考虑因素。去除(C)计时间隔而保留(D)计时间隔,所以采样序列为(A1)/(B1)、(A1)/(D2)、(A2)/(B2)、(A2)/(D3)等。
备选地,参考图12,可以去除(D)计时间隔,并且也返回原始采样率“1x”。保留(C)计时间隔,因此采样序列为(A1)/(B1)、(A1)/[(A1)+(C2)]、(A2)/(B2)、(A2)/[(A2)+(C3)]等。
通过观察到(B)=[(A)+(C)],可以进一步减少测量的间隔数量,以去除(B)间隔测量并将测量的次数减少到仅两次。在一个实施例中,在图13中,未测量(B)间隔。在“1x”采样率下,序列为(A1)/[(A1)+(C1)]、(A2)/[(A2)+(C2)]、(A3)/[(A3)+(C3)]等。
在“2x”采样率下,序列为(A1)/[(A1)+(C1)]、(A1)/[(A1)+(C2)]、(A2)/[(A2)+(C2)]、(A2)/[(A2)+(C3)]、(A3)/[(A3)+(C3)]等。
“2x”采样是一种允许使用仅确定(A)和(B)的当前系统的方法,因为可以采用两个计数器的相同实施方式确定(A)和(C)。
“2x”采样率通过以交替方式更新(A)和(C)提供顺序更新的位置信号。因此,如上面所讨论的,将第一(C1)更新为(C2),然后将(A1)更新为(A2),然后将(C2)更新为(C3)等。与涉及(B)的更新不同,仅涉及(C)的更新是比率的分母。尽管无论伺服读取磁头的侧向位置为何(B)都不变,但(C)在非平行伺服条带之间,并反映伺服读取磁头的侧向位置变化,使得上述比率给出侧向位置。
因此,参考图6、9、10和13,在步骤400,计时间隔(A)和计时间隔(C)的计时检测250类似。计时检测模块250处理伺服读取磁头信号并检测各个所遇到的伺服带转变之间的计时。在一个实例中,例如通过根据4、4、5、5模式的突发中的双位数以及模式中选定转变的位置对转变进行解码,以便例如检测包括(A1)计时间隔290的开始的转变329并检测包括(A1)计时间隔的结束的转变330。在一个实例中,计时检测模块250采用计数器对转变329的检测和转变330的检测之间的时钟脉冲计数,此计数表示计时间隔(A1)290。一旦针对(A1)完成计数,就使用相同或不同的计数器对转变330的检测和转变331的检测之间的时钟脉冲计数,此计数表示计时间隔(C2)322。
在步骤401,位置信号生成器252生成位置信号,其使用(A)/[(A)+(C)]比率指示伺服读取磁头相对于伺服带的当前侧向位置。
在步骤402,位置误差信号生成器254将当前侧向位置与所需侧向位置相比较并将位置误差信号通过位置信号线238传输到伺服控制器241。伺服控制器生成伺服控制信号并将其通过控制线242提供给磁头系统180处的伺服定位机构,此机构在磁道跟随期间相对于伺服带将磁头组件侧向移动到所需侧向位置,或相对于伺服带227将伺服读取磁头保持在所需侧向位置。
如本领域的技术人员将理解的,本发明的各方面可以体现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面(在此通常被称为“电路”、“模块”或“系统”)的实施例的形式。此外,本发明的各方面可以采取体现在一个或多个计算机可读存储介质(在介质中包含计算机可读程序代码)中的计算机程序产品的形式。
可以使用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质例如可以是(但不限于)电、磁、光、电磁、红外线或半导体系统、装置或设备或上述的任意合适的组合。所述计算机可读存储介质的更具体的实例(非穷举的列表)将包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述的任意合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合的程序的有形介质。
用于执行本发明的各方面的操作的计算机程序代码可以使用包含一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、C++之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。所述程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包、部分地在用户计算机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,或者可以与外部计算机进行连接(例如,使用因特网服务提供商通过因特网连接)。
虽然已详细描述了本发明的优选实施例,但应显而易见的是,本领域的技术人员可想到这些实施例的修改和更改而不偏离如以下权利要求中提出的本发明的范围。