把同步数据写入磁带的制作方法

文档序号:6752473阅读:454来源:国知局
专利名称:把同步数据写入磁带的制作方法
技术领域
本发明涉及相对于磁带的数据存储,更具体地说,涉及同步数据的存储,从而发送数据的实体可在知道在磁带上物理存在一个副本的情况下,擦除其数据。
背景技术
磁带提供一种物理保存数据的装置,所述装置可被存档或者可保存在自动化数据存储库的存储架上,并且当需要时可被访问。按照这种方式保存的数据具有持久性,在知道在磁带上存在副本的情况下,允许擦除保存在主机系统的存储器或磁盘中的数据副本。主机系统的可用存储空间相当昂贵,并且需要尽可能快地释放存储空间。因此,数据通常通过中间中转(staging)缓冲器,例如硬盘被转移到磁带驱动器,另外还需要尽可能快地释放和重写中转缓冲器。
从而,通常希望使数据“同步”。
“同步数据”被定义为经历“同步事件”或类似命令的数据或其它信息,所述“同步事件”或类似命令要求磁带驱动器在把数据实际交给介质(具体地说,磁带)之前,不返回关于写入命令的“命令结束”,或者不返回命令已经或者将被成功执行的指示。从而,如果失去电力,则可从磁带恢复数据,而数据是不能从磁带驱动器缓冲器的易失性DRAM存储器恢复的。
同步事件的一个例子是具有设置为“0”的直接(Immediate)位的写入文件标记命令。这意味着驱动器并不立即响应,而是当命令完成(表示作为命令一部分发送的任意数据被写出到磁带)时才响应。写入文件标记命令的特殊情况是文件标记字段的数目也被置为“0”,表示写入文件标记命令不具有它自己的任何数据,在发送命令完成之前,在该命令之前的所有数据必须被写到磁带上。从而,如同本领域的技术人员已知那样,该命令通常被称为“同步”命令。
同步事件的另一例子是本领域的技术人员称为“无缓冲写入”的主机可选择写入模式,在该模式下,在从主机写入每个记录之后,必须进行隐式同步。在数据被成功写在介质上之前,不会关于任意写入命令返回“命令结束”。
这里,写入任意数据记录、记录组或其它标记被定义成“事务”(transaction),作为同步事件结果的写入这种数据记录等被定义为“同步事务”。
关于磁带的一个难点在于数据被连续记录,在数据集之间不存在长的间隙,而同步事件被保存在每个同步事件(event)的独立串(burst)中,在写入下一事务之前,存在明显的时段。这要求磁带驱动器在写入同步事务之后“后拉(backhitch)”,以便紧跟在前一事务之后写入下一事务。当恒速纵向移动磁带时,磁带被写入或读取。从而,后拉要求磁带被停止,倒转超过前一事务的终点,再次被停止,并在到达前一事务的终点之前,加速到初始方向的速度。如同本领域的技术人员理解的那样,后拉过程占用大量的时间,并且如果要保存大量较小的同步事务,则磁带驱动器的吞吐量显然降低。例如,后拉时间可从约半秒变成三秒以上。
于是希望在减少用于写入同步事务的后拉的数目的时候,把同步数据作为事务写入磁带。

发明内容
在本发明的一方面,磁带驱动器用记录系统包括以将写入磁带的事务的形式保存数据的至少一个缓冲器,与缓冲器耦接,操纵至少一个读/写磁头把事务从缓冲器写入磁带的至少一个记录通道,和一个控制器。
控制器检测保存在缓冲器中的接收事务的同步事件;把检测的同步事务从缓冲器写入磁带;继续纵向移动磁带,在写入的同步事务之后留下较大的间隙或写入分隔符信号,直到后续接收的事务在分隔符信号之后被写入磁带为止;并且重复同步接收事务的检测,并对每个后续检测到的同步接收事务,写入检测到的同步事务,移动磁带,并写入分隔符信号,从而在反复写入过程中,不停顿地纵向移动磁带。从而,不存在后拉,磁带驱动器不停顿地继续写入事务。
在另一实施例中,记录系统如上所述,控制器检测将被写入磁带的同步事务的图案;把检测图案的每个检测到的同步事务从缓冲器写入磁带;当把每个同步事务从缓冲器写入磁带时,在缓冲器中累积同步事务;随后顺序把累积的事务从缓冲器递归写入磁带。递归写入需要把递归写入的累积事务置于在先数据之后的后拉,但是写入相同的数据,现有技术需要明显大得多的后拉。
在磁带包含多个道,例如LTO系统中的多个道的另一实施例中,控制器至少把检测图案的一些同步事务写在所述多个道中,与任意递归写入道分开的至少一个道上。从而,在递归写入最终一组事务之前,良好的工作副本被固定在磁带上。不停顿地写入工作副本,在格式化实体之间留下大于正常间隙的间隙,并可包括多个副本或特殊结构。递归写入副本被写入,以遵守标准密度间隙和标准格式。
在另一实施例中,控制器单独地把每个同步事务从缓冲器写入磁带,并借助例如存取点,识别每个单独写入的同步事务。另外,控制器把递归写入的事务识别成其最新的副本,取代识别的单独写入的同步事务。
在一个备选实施例中,通过顺序重写检测图案的所有累积事务,并把同步事务附到重写的累积事务序列上,并借助递增的写入遍数或存取点,把重写和附加的写入同步事务识别成其最新的副本,控制器把检测图案的每个同步事务从缓冲器写入磁带。另外,控制器把递归写入的事务识别成其最新副本,取代识别的重写和附加的写入同步事务。
从而,本发明在减少关于同步数据的后拉数目的同时,把同步数据写入磁带。
下面参考附图,举例说明本发明的实施例。


图1是具有盒式磁带的磁带驱动器的方框图,所述磁带驱动器可实现本发明;图2是采用现有的利用后拉的方法,写在磁带上的同步数据的示意图;图3是采用本发明的一个实施例,写在磁带上的同步数据的示意图;图4是采用本发明的备选实施例,写在磁带上的同步数据的示意图;图5是根据本发明的一个实施例,写在具有多个道,并采用独立的累积无后拉包封保存工作副本的磁带上的同步数据的示意图;图6是描述本发明的无后拉写入同步数据方法的实施例的流程图;图7是描述本发明的累积同步数据,以便递归写入数据的方法的实施例的流程图;图8是描述本发明的写入图7的累积同步数据的方法的实施例的流程图;图9是描述本发明的写入图8的累积同步数据的方法的实施例的流程图;图10是描述本发明的写入图8的累积同步数据的方法的备选实施例的流程图;图11是描述本发明的递归写入图7的累积同步数据的方法的实施例的流程图。
具体实施例方式
参见图1,图1图解说明了可实现本发明的实施例的磁带驱动器10。磁带驱动器提供相对于盒式磁带11读取和写入信息的装置。图1图解说明了盒式磁带(magnetic tape cartridge)和相关的磁带驱动器,例如遵守线性磁带打开(LTO)格式的那些盒式磁带和相关磁带驱动器。单卷轴磁带驱动器的一个例子是基于LTO技术的IBM 3580 Ultrium磁带驱动器。单卷轴磁带驱动器和盒式磁带的另一例子是在1995年6月11日颁发的Comeaux等的美国专利5432652中公开的单卷轴磁带驱动器和盒式磁带。单卷轴磁带驱动器的另一例子是IBM 3590 Magstar磁带驱动器和相关的盒式磁带。双卷轴盒式磁带的一个例子是IBM 3570盒式磁带和相关驱动器。
本领域的技术人员已知,盒式磁带11包括缠在一个或二个卷轴15、16上的一段磁带。也如本领域技术人员所知的,磁带驱动器10包括根据在接口21从主机系统20接收的命令,操纵磁带驱动器的记录系统的一个或多个控制器18。磁带驱动器包括独立单元,或者包括一部分磁带库或者其它子系统。磁带驱动器10可直接地,通过库或者通过网络与主机系统20耦接,并且可采用小型计算机系统接口(SCSI),光纤通道接口等。
盒式磁带11可被插入磁带驱动器10中,并且由磁带驱动器载入,从而当一个或多个电机25纵向移动磁带时,记录系统的一个或多个读取和/或写入磁头23相对于磁带14读取和/或写入信息。磁带包括多个平行磁道,或者多组磁道。在一些格式下,例如上面的LTO格式下,如同本领域的技术人员已知那样,按照独立道(wrap)的蛇形往复图案(back andforth pattern)排列磁道。本领域的技术人员已知,记录系统包括以电子方式转换到另一组读取和/或写入磁头,和/或沿磁带的横向寻找和移动读取和/或写入磁头23,把磁头定位在所需的道,并且在一些实施例中,沿着所需的道跟踪的道控制系统27。道控制系统还响应控制器18的指令,通过电机驱动器28,控制电机25的操作。
如本领域技术人员所知的,控制器18还通过采用缓冲器30和记录通道32,提供将从磁带读取及写入磁带的数据的数据流和格式化。
如上所述,磁带提供一种物理保存数据的装置,所述装置可被存档或者可保存在自动化数据存储库的存储架上,并且当需要时可被访问。磁带驱动器通常采用“写后读”过程来确保数据被正确写入,以便提供持久性。这种持久性允许在已知在磁带上存在正确副本的情况下,擦除保存在主机系统20的存储器或盘中的数据的副本。
主机系统上的可用存储空间相当昂贵,并且希望尽可能快地释放存储空间。从而,数据通常通过中间中转缓冲器,例如硬盘被转移到磁带驱动器,另外还需要尽可能快地释放和重写中转缓冲器。本例中,中转缓冲器(如果有的话)被认为构成主机系统20的一部分。
为了释放中转缓冲器,必须保证数据已实际记录在磁带14上,而不只是记录在易失性DRAM存储器,例如缓冲器30中,如果失去给缓冲器或给驱动器的电力,保存在易失性DRAM存储器中的数据会丢失。从而,通常希望使数据“同步”,要求在磁带驱动器实际把数据交给介质(具体地说,磁带14)之前,磁带驱动器不返回相对于写入命令的“命令结束”,或者命令已被或者将被成功执行的指示。一旦数据已被写入磁带,如果失去电力,则可从磁带恢复数据,而数据是不能从磁带驱动器缓冲器的易失性DRAM存储器恢复的。
具有使数据同步的效果的同步事件的各种例子为本领域的技术人员熟知。同步事件的一个例子是具有设置为“0”的直接(Immediate)位的写入文件标记命令。这意味着驱动器并不立即响应,而是当命令完成(表示作为命令一部分发送的任意数据被写出到磁带)时才响应。写入文件标记命令的特殊情况是文件标记字段的数目也被置为“0”,表示写入文件标记命令不具有它自己的任何数据,该命令的唯一含义是在发送命令结束之前,在该命令之前的所有数据必须被写到磁带上。同步事件的另一例子是对每条记录隐含要求同步的主机选择无缓冲写入模式。
参见图2,数据通常被顺序记录在磁带上,数据集之间,例如在数据集31和32之间,数据集32和33之间等等,只存在较短的间隙。如本领域技术人员所知的,可利用块间间隙(IBG)图案写入这些间隙,或者这些间隙可包含数据集分隔符(DSS)图案40。间隙可包含实际未记录的部分和记录部分。例如,LTO格式DSS包含数据集之间的音调图案(tone pattern)。如上所述,在图1的电机25纵向移动磁带的时候,磁带被写入或读取。数据通常包含按照数据集排列的一串记录,每个数据集具有一个DSS,在间隔极小的情况下写入所述数据集。偶尔(通常当缓冲器为空时)才停止磁带。
但是,如果数据被同步,则必须把数据从缓冲器写入磁带,只有在同步事务已被写入磁带之后,才从缓冲器擦除并重写事务,从而它不能是连续数据流的对象。从而,对于每个同步事件来说,同步事务必须被立即写入独立的串中。从而,在关于一个同步事务写入一个数据集之后,在图2中的现有技术中,为了保证数据集间隔紧密,图1的控制器18通常操纵伺服系统和电机驱动器把磁带停止在该数据集之后。为了停止磁带,需要一定的距离和一定的时间,磁带随后被“后拉”,倒转到超出前一数据集的终点,再次被停止,并在到达第一数据集的终点之前加速到初始方向的速度,从而可写入DSS和下一数据集。本领域的技术人员会明白,后拉过程显然占用相当大量的时间。
从而,如果要保存大量的同步事务,则磁带驱动器的吞吐量被显著降低。例如,后拉时间可从约半秒变成三秒以上。
在图2的例子中,记录50-53被同步。通常,一个事务包含数百个记录,但是为了便于说明,这里只图解说明了分别只包含一条记录的事务。如果事务包含一条记录,或者一组记录,则终止于数据集的中部,随后写入端点标志符(EM),用信号通知该数据集的剩余部分为空。通常,每个同步事务被格式化成独立的数据集,在图2中被示为数据集31-34中的数据记录50-53。从而,在写入数据集31之后(以使事务记录50同步),现有技术的过程要求磁带驱动器10后拉(由箭头71表示),以便定位写入数据集32,其间存在最少的DSS图案;在写入数据集32以使事务记录51同步之后后拉72,并写入数据集33;等等。该过程继续进行,直到所有同步数据已被写入为止。
图1和3图解说明了本发明的减少同步数据的后拉数目的实施例。
在一个实施例中,用于磁带驱动器,例如图1的磁带驱动器10的记录系统包含保存呈将被写入磁带14的数据事务形式的数据的至少一个缓冲器30,与缓冲器耦接以便操纵至少一个读/写磁头23把事务从缓冲器写入磁带的至少一个记录通道32,和至少一个控制器18。
在一个实施例中,控制器18检测保存在缓冲器30中的同步接收事务,例如图3的事务记录50;把检测的同步事务记录50以及EM 60作为数据集80从缓冲器写入磁带;在写入的同步事务记录50(数据集80)之后,在磁带上留下延长的间隙,包括未记录的间隙和/或写入的分隔符信号90(例如DSS),在存在或不存在分隔符信号90的情况下继续该间隙,直到随后接收的同步事务51(数据集81)在分隔符信号之后被写入磁带为止;重复同步接收事务(例如记录51)的检测,对每个随后检测的同步接收事务,写入检测的同步事务(作为数据集81),并写入分隔符信号(例如分隔符信号91)的间隙等,从而在无停顿的重复写入过程中,磁带被纵向移动。这样,不存在后拉,磁带驱动器无停顿地继续写入同步事务。
为了对四个图解说明的同步事务记录50-53完成图3的例子,检测下一个同步接收事务52,并写入为数据集82,通常关于在下一个检测的同步接收事务53被写入为数据集83之前的一段或全部距离,写入间隙分隔符信号(例如分隔符信号92)。
从而,不需要任何后拉,为完成写入全部同步数据的过程节省了大量的处理时间。
在同样由图1和3图解说明的本发明的另一实施例中,通过递归(reeursively)写入同步数据,节省了磁带上的空间。为了在失去电力的情况下保存同步事务50-53,数据集80-83被看作事务的工作副本。一旦事务已被递归写入,则可重写工作副本。
首先,控制器18检测要写入磁带14的同步事务的图案(pattern)。图案可包括预定数目的连续同步事务,每个同步事务小于某一长度。例如,图案可包括两个连续的同步事务,每个同步事务的长度小于数据集的长度。如上所述,典型的同步事务被写入磁带,随后在保证事务已被写入,并且不会因失去电力而丢失的情况下,从主机系统擦除该事务。
控制器18把检测图案的每个检测到的同步事务(图解表示为记录50-53)从缓冲器写入磁带14,例如写入为数据集80-83。检测图案的在先同步事务可被排除,因为在检测该图案之前,已按照上面所述方式被写入。从而,在图3中,在先同步事务可包括在先数据99。当把检测的图案的每个同步事务从缓冲器写入磁带时,控制器在缓冲器30中累积同步事务;随后按顺序递归地把累积的事务从缓冲器写入磁带,例如图解表示成数据集100、101。递归写入可包括在间隙极小的情况下,把递归写入的累积事务放置于在前数据99之后的后拉。
从而,同步事务50-53被立即写入磁带14,并且当正在缓冲器30中累积的时候,被保存为数据集80-83中的工作副本,以防备缓冲器30掉电,随后被递归写入,以便紧跟数据集100、101中的在前数据99之后,节省空间。一旦事务被递归写入,则可重写工作副本80-83。
递归写入累积的同步数据的点可包括同步写入事务的图案的终点,可包括预定阈值,例如累积数据记录的缓冲器30的容量的限度,或者可包括用于工作副本80-83及它们的分隔信号90-92的工作空间的容量的限度。
在图3的实施例中,控制器单独把每个同步事务50-53从缓冲器写入磁带,在本例中,写入为数据集80-83,并借助存取点110-113,识别每个独立写入的同步事务。存取点是按照LTO格式的,指定当前数据记录的起点的手段(means)。另外,通过采用新的存取点115,取代(supersede)识别的数据集80-83的单独写入的同步事务,控制器把递归写入的事务识别成其最新的副本。另外,每个数据集的写入遍数(pass)指示“WP”被递增,指示递归写入的事务是最新的副本,取代数据集80-83的识别的单独写入的同步事务。如同本领域的技术人员已知那样,存取点和写入遍数例程都在LTO格式之内。从而,如果在重写工作副本80-83之前,失去电力,则存取点和/或写入遍数指示符的检查将允许实现正确的恢复。
图4中图解说明了本发明的一个备选实施例,其中通过写入事务的数据集,并且对于当写入事务时未被充满的任意部分数据集,重写所述部分数据集,并附加正被写入的下一同步事务,控制器把同步事件的检测图案的每个同步事务50-53从缓冲器写入磁带。部分数据集从在图1的缓冲器30中累积的数据获得。从而,表示成记录50的一个或多个记录的事务被单独写入成数据集120,由于包含一个部分数据集,因此后面是一个端点标志符300。随后,写入DSS 130,并在缓冲器30中累积事务。后续事务51被附加到写入的数据集121中的累积事务50上,导致事务50(或者如果事务50包括在先数据集,则事务50的最后部分)被重写,并且附加的事务51被写入磁带,从而事务密集。由于数据集121也是一个部分数据集,因此写入端点标志符301,数据集121后面是DSS131,并在缓冲器中累积事务51。当后续事务52被附加到部分数据集的累积事务50和51上时,继续该过程,重写的累积事务50、51和同步事务52被写入为数据集122和123等。一旦数据集被充满,则它被再次重写,例如数据集122,并且在充满的数据集被写入之后,它不再被重写成工作副本。
如上所述,借助数据集的递增的写入遍数“WP”,重写和附加的写入同步事务被识别成其最新的副本。
随后,当递归写入数据集时,例如通过进一步递增数据集的写入遍数“WP”,取代写入的和/或识别的重写和附加的写入同步事务,控制器把递归写入的事务识别成其最新的副本。
例如,当首次被重写时,事务50的数据集141的写入遍数指示符被递增为“WP1”,其中事务50被第二次重写的数据集122的写入遍数指示符被递增为“WP2”。控制器随后把事务50-53递归写成数据集145和146。另外,控制器通过把包含事务50的数据集145的写入遍数递增成“WP3”,并把包含部分重写事务52的数据集146的写入遍数递增为“WP1”,把递归写入的事务识别成其最新的副本。从而,如果在重写工作副本120-123之前失去电力,则写入遍数指示符的检查将允许实现正确的恢复。
另一方面,图4表示了由于不需更新写入遍数指示符,分别写入上述每个同步事务的另一备选实施例。事务的有效副本由存取点140-142指示。从而,事务50由存取点140指示,事务51由存取点141指示,等等。控制器递归地把事务50-53写成数据集145和146,另外通过采用存取点148,取代识别的数据集120-123的分别写入的同步事务,把递归写入的事务识别成其最新的副本。
参见图5,在另一实施例中,磁带包含多个道,例如如上所述的LTO系统中那样,图1的控制器18在多个道中的至少一个道上,写入检测图案的至少一些同步事务的工作副本,所述至少一个道与将被递归写入的那个道分开。从而,在本例中,在最终的一组事务被递归写入之前,良好的工作副本被固定在磁带上。
具体地说,本例中,在沿箭头161的方向把数据集150和151写在正常道160上之后,检测同步写入的事务的图案。控制器操纵图1的道控制27,以电子方式转换读/写磁头,或者进行寻道(seek),并把磁带磁头23再定位于一组工作副本道,例如累积无后拉(accumulatingbackhitchless)道180和181。
在一个实施例中,控制器18把磁带14的多个道指定为工作副本(work copy)道180、181,并且当检测到同步事件的图案时,确定对工作副本道的访问是否需要寻道,或者是否能够以电子方式转换到一组不同的读/写磁头,实施对工作副本道的访问。如果需要其中沿着道的横向移动磁头的寻道,则控制器18选择具有最快寻道的工作副本道。例如,最快的寻道可能是最近的可用工作副本道。
在另一实施例中,一旦选择了工作副本道,则控制器18确定沿着磁带读/写磁头的当前纵向位置,并确定从当前纵向位置开始沿着每个纵向方向选择的工作副本道的可写空间。控制器随后操纵电机25,道控制器27和读/写磁头,开始沿着选择的具有最大可写空间的工作副本道的纵向方向写入同步事务。
本例中,首先沿着箭头185的方向,随后沿着箭头186的方向,把工作副本170-171写在累积无后拉道180和181上。本例中,按照通过附加,单独写入同步事务,并采用存取点,同时忽略重写的数据记录的方式(图4中图解说明了所有这一切),写入工作副本。箭头185的方向和箭头186的方向之间的方向反转减小了后拉过程的距离,并实现后拉的一次反转。把写入工作副本的方向从箭头185的方向转换成箭头186的方向的反转点可包含在该处图1的缓冲器30半充满累积同步事务的点。可采用各种算法确定转换写入工作副本的方向的反转点。这种算法的目的是当缓冲器充满累积的同步事务时,达到初始的附加点(以便递归写入事务)。
控制器操纵图1的道控制系统(control)27,使磁带头23访问正常道,随后沿着箭头161的方向,紧接于在先数据151之后,把同步事务从缓冲器递归写入正常道160,图中表示成数据集190。随后可重写工作副本170-171。
图6-11中图解说明了本发明的方法的实施例。
参见图1、3、4和6,在步骤200中,在接口21接收数据,并在步骤201中,把数据保存在缓冲器30中。步骤203检测数据是否伴随有或跟随有同步事件,从而事务将被同步。如果否,则在步骤205中,采用标准算法把数据写入磁带14,例如在磁带驱动器选择的时刻顺序写入数据,以使流(streaming)达到最大,这可导致延迟开始写入,每个数据集由DSS与前一数据集分隔开。
当在步骤203检测到同步事件时,步骤204在连接符206启动检查,以检测同步事件的图案(后面说明),并在步骤207继续进行。在步骤207中,同步事务作为图案的一部分(后面说明),或者作为单一事务被写入磁带。步骤208确定是否已到达该事务的数据的终点,如果否,则循环回步骤207,继续写入数据。一旦检测到该事务的数据的终点,并且在步骤207和208中,数据已被写入磁带,则控制器18用信号发出命令结束。从而,主机系统20可释放中转缓冲器或者其它数据源。例如,在图3中,检测到的同步数据记录50,以及EM 60从缓冲器被写入磁带,作为数据集80,在图4中,则作为数据集120。
在步骤211中,控制器18在写入的同步数据记录50之后,在磁带上留下间隙和/或在磁带上写入分隔符信号(例如DSS)(在图3中,分隔符信号90接着数据集80,在图4中,分隔符信号130接着数据集120),继续该间隙和/或分隔符信号90、130,直到步骤212确定,并且步骤203和205或207使后续接收的事务51(图3中的数据集81,图4中的数据集121)在分隔符信号之后被写入磁带为止。从而,图6的过程反复检测接收的同步事务(例如图解表示成记录51),写入检测的同步事务(作为数据集81、121),并对每个随后检测到的同步接收事务写入间隙和/或分隔符信号(例如分隔符信号91、131),从而在反复的写入过程中,不停顿地纵向移动磁带。从而,不存在后拉,磁带驱动器不停顿地写入事务。
连接符206通向图7。参见图1、3、4和7,通过递归写入同步数据,节省了磁带上的空间。为了在失去电力的情况下保留事务50-53,数据集80-83被看作事务的工作副本。一旦事务被递归写入,则可重写工作副本。
首先在步骤220中,控制器18检测将被写入磁带14的事务的同步事件的图案。如上所述,图案可包括小于某一长度的事务的预定数目的连续同步事件。图案不会表现成一系列的同步命令或明确的写入模式,而是隐含地表现成一系列排空缓冲器事件。如果不存在这种图案,则在步骤221中,控制器返回等待下一命令。
当在步骤220检测到同步事件的图案时,在步骤223中,控制器18按照图6的过程,单独并且完整地把检测到的图案的每个检测同步事务50-53从缓冲器写入磁带14,同时在数据集之后跟随间隙和/或分隔符信号。如上所述,检测到的图案的早先同步事务可被排除在外,因为在检测该图案之前,已按照前述图案被写入。从而,在图3中,以及在图4中,早先的同步事务可包括在先数据99。
在步骤225中,当把每个同步事务从缓冲器写入磁带时,控制器在缓冲器30中累积同步事务,在步骤226中提供命令结束。
步骤230确定累积的事务是否达到预定阈值。如上所述,预定阈值的例子可包括累积事务的缓冲器30的容量的限度,或者可包括用于工作副本80-83和它们的分隔信号90-92的工作空间的容量的限度。如果未达到阈值,则步骤231确定同步事件的图案是否已终止。如果该图案继续,则过程循环回到步骤223,写入下一同步事务。
当在步骤230中达到累积事务阈值,或者当在步骤231中,到达同步事件的图案的终点时,在步骤233中,控制器顺序把累积的事务从缓冲器递归写入磁带,例如图解表示为图3中的数据集100、101,或者图解表示为图4中的数据集145和146,并通过采用图3的存取点115,图4的写入遍数指示符,或者图4的存取点148,把递归写入的副本识别为最新副本。递归写入可包括把递归写入的累积事务放置于在先数据99之后的后拉。
由于数据已被递归写入磁带,因此工作副本不再需要,并且缓冲器中的副本不再需要。从而,在步骤235中,累积事务被释放,以允许该部分缓冲器被重写,如本领域技术人员所知的。在步骤236中,控制器返回其它处理,例如图6的步骤200。
图8-10中,图解说明了图7的步骤223的具体实施例,开始于步骤240。
参见图5和8,在步骤245中,控制器确定磁带是否包括多个道,例如如上所述的LTO系统中的多个道,以及工作副本是否将被写入所述多个道中与递归写入的道分离的至少一个道中。如果否,则过程进入步骤247。
如果步骤245确定累积无后拉道,例如图5的道180和181将被用于工作副本,则在步骤250中,如上所述,控制器操纵图1的道控制系统27,确定对工作副本道的访问是否需要寻道。如果否,则在步骤251中,道控制系统以电子方式转换到一组不同的读/写磁头。如果在步骤250中,需要寻道,则在步骤252中,控制器18确定最快的寻道能够到达的工作副本道。如上所述,该工作副本道可以是最近的可用工作副本道。随后,在步骤253中,控制器操纵道控制器进行寻道,并相对于选择的工作副本道横向移动磁头。
一旦工作副本道已被选择,则如上所述,在步骤255中,控制器确定从读/写磁头的当前纵向位置开始,沿每个纵向方向,工作副本道的可写空间,并确定具有最大可写空间的方向。在步骤256中,控制器确定具有最大可写空间的方向是否是当前方向,如果是,则不改变方向。但是,如果步骤256确定必须转换磁带方向,则在步骤257中,控制器操纵电机25,转换磁带运动的方向。在步骤247之后的步骤中,如同前面参考图8说明的那样,首先沿着箭头185的方向,随后沿着箭头186的方向,把工作副本170-171写在累积无后拉道180和181上。
步骤247确定工作副本是将被单独写入还是将被附到重写副本上。
如果工作副本将被单独写入,则连接符260通向图9,并通向步骤261。在步骤261中,该图案的每个同步事务,例如事务50-53的工作副本从缓冲器单独写入磁带,如图3中所示图解表示成数据集80-83,或者如图4中所示图解表示成数据集120-123(上面均已说明)。在步骤262中,利用存取点识别每个单独写入的事务。例如,在图3中,借助存取点110-113,识别每个单独写入的同步事务50-53,在图4中,借助存取点140-142,识别每个单独写入的同步事务50-53,累积数据记录的重写被忽略,并且写入遍数指示符不被更新,如上所述。相反,用存取点140-142指示有效记录。在步骤265中,过程返回图7的步骤225。
如果图8的步骤247确定将在附到重写的累积同步事务上的情况下,写入工作副本,则连接符270通向图10,并通向步骤271。
步骤271确定是否存在检测的同步事件图案的只部分充满数据集的现有累积同步事务。如果否,则当前事务启动一个新的数据集,并在步骤273中被写入。例如,该事务表现为图4的部分数据集120中的记录50,后面是DSS 130。过程进入步骤275,并返回图7的步骤225,在图7的步骤225中,事务被累积到缓冲器中,并且在下一同步事务的情况下,该过程最后循环回图10的步骤271。虽然步骤223和225被顺序表示,不过它们必须同时或者按照任一顺序发生。
步骤271随后确定现在存在具有至少一个累积同步事务的现有部分数据集,在步骤278中,重写该数据集的累积事务,在步骤280中递增该数据集的写入遍数指示符,并在步骤283中,把当前的同步事务附到重写的累积事务上。从而,在图4中,后续事务51被附到累积事务50上,重写的累积事务50和新的同步事务被写成数据集121,后面是DSS131,步骤275返回图7的步骤225,在缓冲器中累积事务51,如上所述。
如上所述,借助递增的写入遍数“WP”,在步骤280中,重写的和附加的写入同步数据集被识别成其最新副本。
图11中图解说明了图7的步骤233的具体实施例,开始于步骤290。步骤291类似于图8的步骤245,确定工作副本是否已被写入多个道中,与递归写入的任意道分开的至少一个道。如果否,则该过程进入步骤293。
如果步骤291确定利用了累积无后拉道,例如图5的道180和181,则在步骤295中,如上所述,控制器操纵图1的道控制系统27,通过如上所述的电子转换或寻道的方式,使磁带磁头23访问正常道,在步骤293继续该过程。在步骤293中,道控制系统以写入所需的速度,把磁带磁头置于在先数据的末端,在步骤299中,该过程返回图7的步骤233,沿箭头161的方向,紧接在先数据151之后,把累积的同步事务从缓冲器递归写入正常道160,图5中表示成数据集190。工作副本170-171可被重写。另外在步骤293中,写入遍数指示符或存取点被更新。
如上所述,在图7的步骤233中,通过在图3的单独写入实施例中,采用紧接着识别的数据集80-83的单独写入的同步数据记录的存取点115;在图4的单独写入实施例中,采用紧接着识别的数据集121-123的单独写入的同步数据记录的存取点148;在图4的重写实施例中,紧接着识别的数据集121-123的单独写入的同步事务,数据集145的写入遍数的递增,例如递增为“WP3”,控制器把递归写入的事务识别成其最新的副本。
同样,从而如果在工作副本被重写之前失去电力,则存取点和/或写入遍数指示符的检查将允许实现正确的恢复。
本领域的技术人员明白根据实现本发明的具体形式,以及根据同步数据记录的工作副本的备选位置,可做出多种改变。此外,本领域的技术人员明白可采用具有不同于这里举例说明的具体组件结构的各种磁带驱动器和盒式磁带。
虽然详细举例说明了本发明的优选实施例,不过对本领域的技术人员来说,在不脱离下述权利要求限定的本发明的范围的情况下,显然可对这些实施例做出各种修改和改进。
权利要求
1.一种磁带驱动器用记录系统,所述磁带驱动器具有纵向移动磁带的至少一个电机,在所述至少一个电机纵向移动所述磁带的时候,对所述磁带进行读/写操作的至少一个读/写磁头,以及接收将被写入所述磁带的数据的接口,所述记录系统包括与所述接口耦接,保存将被写入所述磁带的数据的至少一个缓冲器,所述数据呈事务的形式;与所述至少一个缓冲器耦接,并与所述至少一个读/写磁头耦接,操纵所述至少一个读/写磁头把事务从所述至少一个缓冲器写入磁带的至少一个记录通道;和耦接并操纵所述至少一个缓冲器,所述至少一个电机以及所述至少一个记录通道的控制器,所述控制器检测把所述事务以同步事务的形式写入所述磁带的同步事件的图案,所述同步事务保存在所述至少一个缓冲器中;把检测到的图案的每个所述检测同步事务从所述至少一个缓冲器写入所述磁带;当把每个所述同步事务从所述至少一个缓冲器写入所述磁带时,在所述至少一个缓冲器中累积所述同步事务;和随后把所述累积事务从所述至少一个缓冲器逐一递归写入所述磁带。
2.按照权利要求1所述的记录系统,其中在把每个所述保存的同步事务写入所述磁带的过程中,所述控制器还在写入所述磁带的所述同步事务之间写入分隔符信号,同时操纵所述至少一个电机在所述写入过程中不停顿地继续纵向移动所述磁带。
3.按照权利要求1所述的记录系统,其中所述磁带包括多个道,其中在把所述检测图案的每个所述保存的同步事务从所述至少一个缓冲器写入所述磁带的过程中,所述控制器在所述多个道中,与所述递归写入道分开的至少一个道上写入至少一些所述同步事务。
4.按照权利要求1或2所述的记录系统,其中在随后递归写入所述累积事务的过程中,所述控制器还把所述递归写入的事务识别为其最新副本。
5.按照权利要求4所述的记录系统,其中在随后把所述累积事务递归写入所述磁带的过程中,当所述累积事务达到预定阈值时,还结束一系列的所述累积事务,并递归写入所述结束的一系列累积事务,随后释放所述累积事务的所述至少一个缓冲器。
6.按照权利要求1所述的记录系统,其中在把所述保存的同步事务写入所述磁带的过程中,所述控制器以独立事务的形式,把每个所述保存的同步事务写入所述磁带。
7.按照权利要求1所述的记录系统,其中在把所述保存的同步事务写入所述磁带的过程中,所述控制器以数据集的形式写入所述同步事务,并且对于所述检测图案的部分充满数据集的至少一个所述同步事务,在另一数据集中重写所述数据集的所述累积事务,并把后续所述同步事务附到所述重写的累积事务上。
8.一种磁带驱动器用记录系统,所述磁带驱动器具有纵向移动磁带的至少一个电机,在所述至少一个电机纵向移动所述磁带的时候,对所述磁带进行读/写操作的至少一个读/写磁头,以及接收将被写入所述磁带的数据的接口,所述记录系统包括与所述接口耦接,保存将被写入所述磁带的数据的至少一个缓冲器,所述数据呈事务的形式;与所述至少一个缓冲器耦接,并与所述至少一个读/写磁头耦接,操纵所述至少一个读/写磁头把事务从所述至少一个缓冲器写入磁带的至少一个记录通道;和耦接并操纵所述至少一个缓冲器,所述至少一个电机以及所述至少一个记录通道的控制器,所述控制器检测保存在所述至少一个缓冲器中的接收事务的包括同步事务的同步事件;把所述检测到的同步事务从所述至少一个缓冲器写入所述磁带;在所述写入的同步事务之后,把分隔符信号写入所述磁带,直到在所述分隔符信号之后,后续接收的事务被写入所述磁带为止;和重复同步接收事务的所述检测,并对每个后续的所述检测的同步接收事务,写入检测的同步事务,写入所述分隔符信号,同时操纵所述至少一个电机,在所述反复写入过程中,不停顿地继续纵向移动磁带。
9.按照权利要求8所述的记录系统,其中对于每个所述检测的同步事务,当完成把所述检测的同步事务从所述至少一个缓冲器写入所述磁带时,关于所述检测的同步事务,所述控制器在所述接口返回命令结束。
10.一种磁带驱动器用记录系统,所述磁带驱动器具有纵向移动磁带的至少一个电机,所述磁带包括多个道,所述磁带驱动器具有在所述至少一个电机纵向移动所述磁带的时候,对所述磁带进行读/写操作的至少一个读/写磁头,具有利用所述至少一个读/写磁头,访问所述磁带的所述道的道控制系统,并且具有接收将被写入所述磁带的数据的接口,所述记录系统包括与所述接口耦接,保存将被写入所述磁带的数据的至少一个缓冲器,所述数据呈事务的形式;与所述至少一个缓冲器耦接,并与所述至少一个读/写磁头耦接,操纵所述至少一个读/写磁头把事务从所述至少一个缓冲器写入磁带的至少一个记录通道;和耦接并操纵所述至少一个缓冲器,所述至少一个电机以及所述至少一个记录通道的控制器,所述控制器检测把所述事务以同步事务的形式写入所述磁带的同步事件的图案,所述同步事务保存在所述至少一个缓冲器中;操纵所述道控制系统和所述至少一个读/写磁头,访问所述磁带的至少一个工作副本道,并把所述检测图案的每个所述检测同步事务从所述至少一个缓冲器写入所述磁带的所述至少一个工作副本道;当把每个所述同步事务从所述至少一个缓冲器写入所述磁带时,在所述至少一个缓冲器中累积所述同步事务;和随后操纵所述道控制系统和所述至少一个读/写磁头,访问与所述至少一个工作副本道分开的至少一个正常道,并把所述累积事务从所述至少一个缓冲器逐一递归写入所述磁带的所述至少一个正常道。
11.按照权利要求10所述的记录系统,其中当检测同步事件的所述图案时,所述控制器还确定从所述至少一个读/写磁头的纵向位置开始,沿每个纵向方向,所述至少一个工作副本道的可写空间,并操纵所述至少一个电机,所述道控制系统和所述至少一个读/写磁头,开始沿具有最大可写空间的所述至少一个工作副本道的纵向方向,写入每个所述检测的同步事务。
12.按照权利要求10所述的记录系统,其中所述控制器还把所述磁带的多个所述道指定为工作副本道,当检测到同步事件的所述图案时,确定对所述至少一个工作副本道的所述访问是否需要所述至少一个读/写磁头的寻道,如果是,则选择具有最快寻道的工作副本道。
13.一种磁带驱动器,包括纵向移动磁带的至少一个电机;在所述至少一个电机纵向移动所述磁带的时候,对所述磁带进行读/写操作的至少一个读/写磁头;接收将被写入所述磁带的数据的接口;和按照前述任意权利要求所述的记录系统。
全文摘要
在减少后拉数目的同时,同步数据被写入磁带。控制器检测将被写入磁带的接收数据记录的同步事件的图案;把数据记录的每个事务写入磁带;在缓冲器中累积同步事务;随后把数据记录的累积事务从缓冲器逐一递归写入磁带。可采用单一后拉把递归写入的累积数据记录置于在先数据之后,使性能和容量达到最佳。
文档编号G11B20/10GK1568520SQ03801295
公开日2005年1月19日 申请日期2003年1月17日 优先权日2002年1月29日
发明者格伦·阿伦·雅克特, 保罗·梅里尔·格里科, 詹姆斯·米切尔·卡普 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1