CN100463050C - 将数据写入带介质的装置和方法 - Google Patents

将数据写入带介质的装置和方法 Download PDF

Info

Publication number
CN100463050C
CN100463050C CNB2006101155236A CN200610115523A CN100463050C CN 100463050 C CN100463050 C CN 100463050C CN B2006101155236 A CNB2006101155236 A CN B2006101155236A CN 200610115523 A CN200610115523 A CN 200610115523A CN 100463050 C CN100463050 C CN 100463050C
Authority
CN
China
Prior art keywords
data
write
segmentation
district
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006101155236A
Other languages
English (en)
Other versions
CN1928992A (zh
Inventor
白鸟敏幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1928992A publication Critical patent/CN1928992A/zh
Application granted granted Critical
Publication of CN100463050C publication Critical patent/CN100463050C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1201Formatting, e.g. arrangement of data block or words on the record carriers on tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/032Electronic editing of digitised analogue information signals, e.g. audio or video signals on tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的目的是使RABF中的重写时间能够同步。在根据本发明的带驱动器(10)中,控制器(16)将累积在缓冲器(12)中的数据写入带(14a)上的ABF卷绕区,然后将数据重写入带(14a)上的正常卷绕区。此外,当接口(11)在重写期间接收来自主机(20)的数据的同步请求时,控制器(16)通过记录通道(13)将数据与正被重写的数据一起写入带(14a)上的正常卷绕区,并且向主机(20)返回同步响应。此后,控制器(16)将数据写入ABF卷绕区,并随后根据正常RABF过程将数据写入正常卷绕区。

Description

将数据写入带介质的装置和方法
技术领域
本发明涉及一种将数据写入诸如磁带之类的带介质的装置等。
背景技术
在将数据写入诸如磁带之类的带介质的带驱动器中,通常,数据被累积在缓冲器中,并且在预定的时间从缓冲器被写入带介质。从缓冲器到带介质的这样的写操作被称作“写同步”或“缓冲器刷新”(在下文中简单地称作“同步”)。
如果在不停止带介质的情况下执行同步,则在先前同步写入的数据和随后同步写入的数据之间可出现较长的间隙。因此,浪费地消耗了带介质的记录区。因此,在先前同步写入的数据之后,需要反拉(backhitch)以使数据由随后同步写入而不出现较长的间隙。反拉为一种操作,其中通过降低带介质的移动速度带介质被停止,然后被返回到希望的写位置。这就出现了一种问题,即反拉需要较长的同步时间。
因此,作为一种克服该问题的技术,已提出了RABF(递归累积无反拉刷新)(例如,见专利文件1和2)。
如从专利文件1和2可以理解的,RABF可被看作如下一种技术。
随着带介质连续地移动,带驱动器首先将缓冲器中的数据(当带驱动器接收同步请求时数据还未被写入带)写入在带介质上保留的临时记录区(ABF卷绕区)。该写操作为不需要反拉的缓冲器刷新(无反拉刷新),因为在由先前同步写入的数据和由随后同步写入的数据之间的间隙不会产生问题。与此同时,带驱动器执行在缓冲器中递归(Recursive)累积(Accumulate)数据的操作,并且当缓冲器或临时记录区填满时将数据回写(write back)(重写)到正常记录区(正常卷绕区)。
因此,在RABF中,对于随后的同步,同步不需要反拉,并且可减少同步所需的时间。特别是,当对于数据量的同步请求的频率较高时,可实现显著的性能改进。
[专利文件1]美国专利No.6856479
[专利文件2]美国专利No.6865043
发明内容
本发明要解决的问题
然而,仍然存在响应于同步请求不能立即做出响应的情况。
该情况大致以如下两种情况出现:
其中一种情况是特定于线性记录方法,记录位置(带宽度方向)被改变,称作卷绕区改变,或记录方向被改变,称作卷绕区转动。卷绕区为多个道(例如8个)的集合并且为由头同时读取和写入的单元。
另一种情况出现在进行回写(重写)时。在重写期间不能接收同步请求,导致性能的降低。
在涉及头运动的前一种情况下,头不位于预定的道位置,并且不能执行写入或同步。在后一种情况下,另一方面,通过在执行回写(重写)时能够接收同步,存在进一步改进性能的余地。
为了克服上述技术问题产生了本发明,本发明的一个目的是改进RABF的性能。
本发明的另一个目的是在RABF的重写时能够同步。
解决问题的手段
为了实现上述目的,本发明使得数据能够在缓冲器的可用空间被接收,即使在重写期问数据被接收的情况下。即,在本发明的装置中,缓冲器累积要被写入带介质的数据,并且控制器控制将累积在缓冲器中的数据写入带介质,使得在写入期间接收的数据被累积在缓冲器内的预定区。缓冲器内的预定区不是当前正被访问的区域,而是要被访问以进行写入的区域。具体地说,首先,预定区为构成缓冲器的多个分段中的任意分段的预留区,或者,其次,预定区为构成缓冲器的多个分段中的预留分段的任意区。
在该装置中,控制器可被配置成将写入期间接收的数据复制到未被访问以进行写入的区域。
本发明还可理解为将在重写期间被请求同步的数据与正被重写的数据一起写入带的装置。在这种情况下,在本发明的装置中,缓冲器累积要被写入带介质的数据,并且在将累积在缓冲器中的第一数据第一次写入带介质上的临时缓冲区之后,控制器控制将第一数据第二次写入带介质上的正常记录区,使得在第二次写入期间接收的第二数据作为第二次写入的目标的一部分被写入正常记录区。临时记录区为用于在带介质移动时写入数据的区域。
在该装置中,控制器可被配置成在第一次写入之后和第二次写入之前在预定时间输出第一次写入的状态。
此外,控制器可被配置成通过类似于在第二次写入之后接收第二数据时使用的过程将第二数据写入正常记录区。
此外,控制器可被配置成响应读取第二数据的请求,读取作为第二次写入的目标的一部分写入正常记录区的第二数据。
本发明还可被理解为一种方法,用于将在重写期间被请求同步的数据与正被重写的数据一起写入带。在这种情况下,在本发明的方法中,累积在缓冲器中的第一数据被写入带介质上的临时记录区,并且当第一数据要被写入带介质上的正常记录区时第二数据被接收时,第二数据被写入正常记录区,使得第二数据被包括在与第一数据相同的记录单元中。
与此同时,本发明也可被理解为使计算机实现预定功能的一种计算机程序产品。在这种情况下,本发明的计算机程序产品使得计算机执行下列两种功能。其中一种功能是控制将累积在缓冲器中的第一数据写入带介质上的临时记录区的功能,另一种功能是在当将第一数据写入带介质上的正常记录区时接收到第二数据时,执行控制使得作为与第一数据相同的记录单元将第二数据写入正常记录区。
附图说明
图1是示出本发明的实施例所应用的带驱动器的构成的方框图。
图2是示出根据本发明的第一实施例的从缓冲器写入带的第一步骤的图。
图3是示出根据本发明的第一实施例的从缓冲器写入带的第二步骤的图。
图4是示出根据本发明的第一实施例的从缓冲器写入带的第三步骤的图。
图5是示出根据本发明的实施例的数据集的结构的图。
图6是示出当接收Write命令时根据本发明的第一实施例的带驱动器的控制器的操作的流程图。
图7是示出当接收Write FM命令时根据本发明的第一实施例的带驱动器的控制器的操作的流程图。
图8是示出当执行重写时根据本发明的第一实施例的带驱动器的控制器的操作的流程图。
图9是用于描述根据本发明的第一实施例的Read处理的带上的数据集的示例布局。
图10是示出根据本发明的第一实施例的由带驱动器的控制器执行的Read处理的流程图。
图11是示出根据本发明的第二实施例的从缓冲器写入带的第一步骤的图。
图12是示出根据本发明的第二实施例的从缓冲器写入带的第二步骤的图。
图13是示出根据本发明的第二实施例的从缓冲器写入带的第三步骤的图。
图14是示出当接收Write命令时根据本发明的第二实施例的带驱动器的控制器的操作的流程图。
图15是示出当执行重写时根据本发明的第二实施例的带驱动器的控制器的操作的流程图。
图16是用于描述根据本发明的第二实施例的Read处理的带上的数据集的示例布局。
图17是示出根据本发明的第二实施例的由带驱动器的控制器执行的Read处理的流程图。
具体实施方式
下面将参照附图详细描述执行本发明的最佳方式(在下文中被称作“实施例”)。
图1是示出本实施例所应用的带驱动器的构成的方框图。带驱动器10包括接口11、缓冲器12和记录通道13。带驱动器10还包括带14a、头14b、带盘(reel)14c及14d、带盒14e和电机15。带驱动器10还包括控制器16、头位置控制系统17和电机驱动器18。
在它们中,接口11与主机20通信。例如,接口11从主机20中接收指示将数据写入缓冲器12的命令或接收指示将数据从缓冲器写入带14a的命令。作为在接口11中使用的通信标准的一个示例,SCSI(小型计算机系统接口)被提供。在SCSI的情况下,前一命令对应于Write(写)命令。后一命令(同步命令)对应于Write Filemark(Write FM)命令。此外,接口11将指示对应于这些命令的处理是否已成功或失效的响应返回到主机20。
缓冲器12为存储器,其中要被写入带14a的数据被累积。例如,缓冲器12由DRAM(动态随机存取存储器)构成。缓冲器12包括多个缓冲区分段(在下文中简单地称作“分段”)并且每一分段已将数据集存储在其中,该数据集为相对于带14a读取和写入的单元。
记录通道13为用于将累积在缓冲器12中的数据写入带14a的通信路径。
带14a为作为数据记录装置的带介质,并且通过记录通道13传输的数据由头14b写入带14a。带14a被缠绕在带盘14c和14d上,并且根据带盘14c和14d的旋转沿从带盘14c到带盘14d的方向或从带盘14d到带盘14c的方向纵向移动。带盒14e为带14a绕其缠绕的带盘14c的容器。或者,可提供容纳带盘14d的带盒。
电机15使得带盘14c和14d旋转。尽管在图1中,电机15由简单的矩形方框表示,但最好对每个带盘14c和14d均设置电机15,即总共设置两个电机。
与此同时,控制器16控制带驱动器10的整体。例如,控制器16响应由接口11接收的命令控制数据写入带14a。控制器16也控制头位置控制系统17和电机驱动器18。
头位置控制系统17为用于追踪一个或多个希望的卷绕区的系统。术语卷绕区(wrap)是指在带14a上的一组多个道。当出现转换卷绕区的需要时,也产生电转换头14b的需要。这样一种转换操作由头位置控制系统17控制。
电机驱动器18驱动电机15。如上所述,在使用两个电机15的情况下,设置两个电机驱动器18。为了便于说明,电机驱动器18通过头位置控制系统17与控制器16连接。然而,电机驱动器18可与控制器16直接连接。
下面将详细描述本实施例中的带驱动器10。作为本实施例中要被使用的命令的一个示例,SCSI命令被提供。此外,在本实施例中,LTO(Linear Tape-Open开放线性带)标准通过示例方式被说明。在LTO标准下采用的术语被应用。例如,存储在缓冲器12的一个分段中的数据集合被称作“数据集”,指示数据集中的末端数据的控制数据被称作“End Marker(端标志)”。
下面将开始描述本实施例的概要。
在相关技术的RABF中,缓冲器12不具有在重写时间接收数据的可用空间。此外,由于重写在进行,因此要由Write命令发送的数据不能被接收和累积在缓冲器12中,并且不能响应同步请求被写入带14。
因此,在本实施例中,相关技术的RABF被如下改进。
——数据的累积时间
在常规的RABF中,数据被写入每一分段(segment)中,直到分段没有可用空间为止。相反,在本实施例中,例如当给定的分段仍有可用空间时,就开始使用随后的分段。在IBM 3592-JIA带驱动器中,一个分段约为400KB。例如,当已使用容量的7/8,即约350KB时,就执行转换到随后的分段。通过这样的操作,在每一分段中保留约50KB的区域,并且可被用作存储在重写时间接收的数据的区域。“End Marker(端标志)”被记录在350KB区域的末端。因此,在从ABF卷绕区恢复的读取时或在重写数据的正常读取时可自动跳过保留区。
或者,一些分段可被保留,并且在重写期间接收的数据可被存储在保留的分段中。
——在同步完成之后
在常规的RABF中,响应先前同步请求的状态不被返回到主机20直到重写完成为止。相反,在本实施例中,为了使主机20即使在带驱动器10正执行重写的情况下也能够请求同步,在紧接转换到重写之前数据集已被完全写入ABF卷绕区时,状态被返回到主机20。
——重写时间
当在重写期间同步请求到达时,需要同步的数据被写入保留区,并且与正被重写的数据一起被写入带14a。一个分段中保留的区域有时可能不够用于写入数据的容量。在这样一种情况下,数据可被自动写入随后分段所保留的区域中。
——在重写完成之后
不包括在常规RABF中的下列处理在本实施例中被执行。即,保留区用于将同步数据复制到下一要进行RABF的分段中。例如,在约400KB的分段中的约50KB被保留的情况下,数据被复制到随后分段的350KB部分。即,与正被重写的数据一起写入带14a的数据也被累积在缓冲器12中,并且随后的累积处理被相继执行。
下面更详细地描述实施例。
[第一实施例]
图2-4举例说明从主机20发送的数据被写入临时记录区,随后在预定时间被重写入正常记录区。
在图2-4的每一个中,在中心的左边,缓冲器12被图解为垂直长矩形方框。构成缓冲器12的分段数例如为8,但不限于8,分段从上到下表示为“S1”、“S2”、“S3”、“S4”、“S5”、“S6”、“S7”和“S8”。
在图2-4的每一个中,上带部分表示正常记录区(数据要被正常记录的区域)。如果数据记录区被看作由带14a上的多个道构成的卷绕区,则正常记录区为正常卷绕区。
在图2-4的每一个中,下带部分表示用于在带14a移动时记录数据的临时记录区。如果数据记录区被看作由带14a上的多个道构成的卷绕区,则临时记录区为ABF卷绕区。
图2举例说明当数据通过来自主机20的Write命令被累积在缓冲器12中时和当数据通过来自主机20的Write FM命令被从缓冲器12写入ABF卷绕区时的状态。
在这里假定单一数据元(由阴影示出的一个最小单元)通过一个Write命令被写入缓冲器12中。如图2中所示,假定主机20在发送三个Write命令后发送一个Write FM命令。并且假定当数据通过Write FM命令被写入ABF卷绕区时,其中在先前写入ABF卷绕区之后数据被累积在其中的分段中的所有数据被写入ABF卷绕区。
首先,响应第一至第三Write命令的接收,第一至第三数据元被写入缓冲器12。在图2中,这三个数据元被共同表示为“D1”。此后,响应Write FM命令,其中在先前写入ABF卷绕区之后数据被累积在其中的分段中的所有数据被写入ABF卷绕区。在图2的说明中,分段S1中的数据D1被写入ABF卷绕区。
随后,同样地,第四至第六数据D2通过第四至第六Write命令被写入缓冲器12,并且分段S1和S2中的数据集通过Write FM命令被写入ABF卷绕区。
此外,第七至第九数据D3通过第七至第九Write命令被写入缓冲器12,并且分段S2中的数据集通过Write FM命令被写入ABF卷绕区。
此外,第十至第十二数据D4通过第十至第十二Write命令被写入缓冲器12,并且分段S2和S3中的数据集通过Write FM命令被写入ABF卷绕区。
在本实施例中,每个分段中的恒定比例的区域被用作存储在重写期间从主机20接收的数据的保留区。在图2-4中,保留区由缓冲器12右边的空白区域表示。
之后,执行从缓冲器12到正常卷绕区的重写。
图3举例说明在分段S1中的数据集正被重写入正常卷绕区的同时,Write命令和Write FM命令从主机20被发送时的状态。
在这种情况下,从主机20发送的数据被存储在分段S2的保留区中,对于重写该保留区不被访问(实心灰色部分)。
图4举例说明当分段S2和S3中的数据集被重写时的状态。
首先,如图4中所示,分段S2中的数据集被邻近分段S1写入正常卷绕区中。此时,在重写期间写入的数据(分段S2的实心灰色部分)也被写入正常卷绕区(正常卷绕区中的实心灰色部分)。
分段S3中的数据集同样被邻近分段S2写入正常卷绕区。
在本实施例中,在重写期间写入的数据(分段S2的实心灰色部分)被复制到下一要被写入ABF卷绕区的分段(分段S4的实心灰色部分)中。因此,在重写期间写入保留区的数据被复制到要被进行下一RABF的分段中,从而,数据将根据正常RABF过程再次被写入正常卷绕区。
尽管在图2-4中未说明每个分段的内部具体数据结构,但数据结构是基于例如图5中所示的数据结构。
即,作为要被记录在带14a上的数据,产品代码数据块被使用,在产品代码数据块中,C1奇偶校验和C2奇偶校验被附加到用户数据用于纠错。C1奇偶校验表示用于沿用户数据的行方向纠错的奇偶校验码,并且可包括例如图5中所示的包含偶数字节的数据的奇偶校验码和包含奇数字节的数据的奇偶校验码。C2奇偶校验表示用于沿用户数据的列方向纠错的奇偶校验码。
在它们之中,图5中所示的用户数据部分(468字节×54字节)被存储在各个分段中。在图2-4中,为了便于读者理解保留区的存在,分段中的保留区由缓冲器12的右边的空白区域表示。实际上,例如图5中的点状阴影部分对应于保留区。
下面,将参照图6-8描述根据本实施例的带驱动器10的操作。在本实施例中,当重写不在进行中时缓冲器12的数据写入位置由第一缓冲指针表示,当重写在进行中时缓冲器12的数据写入位置由第二缓冲指针表示。
首先,将描述当从主机20接收Write命令时控制器16的操作。
图6是示出在从主机20接收Write命令时控制器16的操作的流程图。
首先,控制器16从接口11接收Write命令(步骤S101)。然后,控制器16确定从缓冲器12到记录通道13执行重写的数据传输是否在进行中(步骤S102)。例如,通过将指示重写是否在进行中的标志保持在控制器16可访问的存储器中,可实现该确定。
因此,如果确定重写不在进行中,则控制器16将数据写入缓冲器12中由第一缓冲指针指示的位置(步骤S103)。然后,控制器16确定预定数量的数据是否已被写入当前分段中(步骤S104)。如果确定预定数量的数据已被写入,则写入“End Marker”,并且第一缓冲指针前进到下一分段的开始(步骤S105)。如果确定预定数量的数据未被写入,则第一缓冲指针前进写入数据量(步骤S109)。
如果在步骤102中确定重写在进行中,则控制器16将数据写入缓冲器12中由第二缓冲指针指示的位置(保留区中的位置)(步骤S106)。然后,确定数据是否已被写到分段的末端(步骤S107)。如果确定数据已被写到末端,则第二缓冲指针前进到紧接下一分段的“EndMarker”之后(步骤S108)。如果确定数据未被写到末端,则第二缓冲指针前进写入数据量(步骤S109)。
下面,将描述当从主机20接收Write FM命令时控制器16的操作。
图7是示出在接收Write FM命令时控制器16的操作的流程图。
首先,控制器16从接口11接收Write FM命令(步骤S111)。然后,控制器16确定从缓冲器12到记录通道13的执行重写的数据传输是否在进行中(步骤S112)。通过例如由控制器16将指示重写是否在进行中的标志保持在控制器16可访问的存储器中,可实现该确定。
因此,如果确定重写不在进行中,则控制器16首先将由命令指定的“File Marks(文件标志)”的标号(number)(包括0)写入第一缓冲指针的位置(步骤S113)。然后,控制器16将新近写入缓冲器12的数据和“File Mark”或“File Marks”写入ABF卷绕区(步骤S114)。最后,控制器16向主机20返回表示写入带14a已被完成的状态(步骤S115)。
如果确定重写在进行中,则控制器16首先将由命令指定的“FileMarks(文件标志)”的标号(包括0)写入第二缓冲指针的位置(步骤S116)。然后,控制器16等待具有写入其中的“File Mark”或“FileMarks”的数据集的重写(步骤S117)。最后,控制器16将基于重写结果的状态返回到主机20(步骤S118)。
这样写入ABF卷绕区的数据集随后在预定时间被重写入正常卷绕区。
图8是示出在此时控制器16的操作的流程图。
首先,控制器16接收执行重写的指令(步骤S121)。例如当缓冲器12没有可用的存储空间或当ABF卷绕区已被完全消耗时,执行重写的指令被发出。在前一种情况下,从监控缓冲器12的可用存储空间的装置接收该指令。在后一种情况下,从监控ABF卷绕区的使用状态的装置接收该指令。
在接收重写指令时,控制器16准备第一分段(图2-4中的分段S1)中的数据集的重写(步骤S122)。如上所述,由于在将用于纠错的奇偶校验码添加到从主机20发送的数据之后,该数据被记录在带14a上,因此重写准备包括这样的奇偶校验码的计算等。
此外,由于从主机20发送的数据不能被写入其重写在进行中的分段,因此指示重写期间的数据写入位置的第二缓冲指针前进到紧接第二分段(图2-4中的分段S2)的“End Marker”之后(步骤S123)。在图2-4所示的示例中,数据以该状态下从主机20被发送,并且在图6的步骤S106被写入分段S2的保留区。
然后,控制器16确定下一数据集,即第三分段中的数据集是否存在(步骤S124)。
因此,如果确定第三分段中存在数据集,则控制器16将已准备重写的第一分段中的数据集写入正常卷绕区,而在写入的同时,准备第二分段中的数据集的重写(步骤S125)。然后,第二缓冲指针前进到紧接第三分段的“End Marker”之后(步骤S126)。在图2-4中所示的示例中,由于在分段S3中存在数据,因此控制器16将分段S1中的数据写入正常卷绕区,同时准备分段S2中的数据的重写,并且将第二缓冲指针前进到紧接分段S3的“End Marker”之后。
随后,同样地,如果第(N+2)分段中存在数据,则控制器16重复执行将第N分段中的数据写入正常卷绕区的操作,而在写入的同时,准备第(N+1)分段中的数据的重写,并且将第二缓冲指针前进到紧接第(N+2)分段(N=2、3、...)的“End Marker”之后。
如果确定第(N+2)分段中不存在数据集,则控制器16将第N分段中的数据集写入正常卷绕区,而在写入的同时,准备第(N+1)分段中的数据集的重写,并且同样将第(N+1)分段中的数据集写入正常卷绕区(步骤S127)。在图2-4中所示的示例中,由于分段S4中不存在数据,因此控制器16将分段S2中的数据写入正常卷绕区,并且随后同样将分段S3中的数据写入正常卷绕区。
之后,如果在重写期间从主机20发送并存储在保留区中的数据存在,则数据被顺序地复制到下一分段,即在最后的重写目标的分段之后的分段(步骤S128)。然后,第一缓冲指针前进到紧接复制数据之后(步骤S129)。在图2-4示出的示例中,存储在分段S2的保留区中的数据被复制到分段S4中。
以这种方式,根据本实施例的数据记录操作结束。
即,在本实施例中,如果当同步请求被发出时重写不在进行中,则数据被写入ABF卷绕区,并且返回同步响应,此后数据也被写入正常卷绕区。如果当同步请求被发出时重写在进行中,则发送的数据与正被重写的数据一起被写入正常卷绕区,并且返回同步响应,此后数据被写入ABF卷绕区并且随后根据正常RABF过程被写入正常卷绕区。
因此,在本实施例中,当主机20发出同步请求时,指示是否已成功写入带14a的报告被发送给主机20。
尽管控制器16识别重写是否已成功,但由于SCSI规范,结果不被立即传输给主机20。例如,如果Write命令或Write FM命令在重写失败之后从主机20到达,则响应该命令重写失败通知可被发送。然而,并非在重写失败之后Write命令或Write FM命令总是从主机20到达。在这样一种情况下,尽管主机20识别数据已被写入数据要被正常记录在其上的正常卷绕区,而实际上,会发生其中数据未被正常记录在正常卷绕区上的事件。因此,当发出读取这样的非正常记录数据的请求时,带驱动器10需要执行恢复处理,以代替从数据要被正常记录的正常位置读取数据,读取并向主机20返回在另一个位置记录的数据。
下面将描述包括恢复处理的Read(读取)处理。
将在带14a具有以图9中所示的形式记录在其上的数据的上下文中进行描述。假定根据现有算法,数据集Z和E的每个在其中设置了指示RABF要从随后的数据集开始执行的标志。并且假定根据现有算法,数据集E在其中设置了指示重写单元的结束的标志。
图10是示出在这种情况下执行的Read处理的流程图。
首先,控制器16从主机20接收Read命令(步骤S131)。响应Read命令,控制器16通过记录通道13执行从带14a的数据的正常读取(步骤S132)。由数据集B和D的实心灰色部分表示的数据仅为用于同步写入的数据,并且通过检测“End Markers”被自动跳过。
然后,控制器16确定数据的读取是否已成功(步骤S133)。如果读取已成功,则处理结束。
如果数据的读取未成功,则控制器16确定读取失败的数据集的类型(步骤S134)。
首先,确定的数据集的类型可为不包括由在重写期间的同步之后的正常RABF写入的数据(数据集F的实心灰色部分)的数据集,如图9中所示的数据集A至E。在这样一种数据集中,当重写不在进行中时同步的数据根据现有算法被恢复(步骤S135)。即,由图9中的数据集A-E的阴影线部分表示的数据从ABF卷绕区被读取并且被传输到主机20。
然后,控制器16确定要被发送到主机20的所有数据是否已被完全传输(步骤S136)。因此,如果确定要被发送的所有数据已被完全传输,则处理结束。如果确定要被发送的所有数据未被完全传输,则响应于重写期间的同步请求的写入正常卷绕区的数据被恢复(步骤S137)。即,由图9中所示的数据集B和D的实心灰色部分表示的数据被读取并被传输到主机20。因为带驱动器10将由图9中的数据集B和D的实心灰色部分表示的数据写入正常卷绕区,从而将同步成功通知返回到主机20,所以驱动器应该响应来自主机20的读请求读取并返回这样的数据。
其次,在步骤S134中确定的数据集的类型可为包括由在重写期间的同步之后的正常RABF写入的数据(数据集F的实心灰色部分)的数据集,如图9中所示的数据集F。根据现有算法对这样一种数据集执行恢复(步骤S138)。即,由图9中的数据集F的实心灰色部分和阴影线部分表示的数据从ABF卷绕区被读取,并被传输到主机20。特别是,关于恢复是否已成功,检查由重写期间的同步之后的正常RABF写入的数据(实心灰色部分)(步骤S139)。因此,如果恢复已成功,则处理结束。如果恢复未成功,则使用重写的先前单元中的数据执行恢复(步骤S140)。即,如果由图9中的数据集F的最左边的实心灰色部分表示的数据的读取失败,则由数据集B的实心灰色部分表示的数据被读取并被传输。如果由图9中的数据集F的最左边的实心灰色部分的右边的实心灰色部分表示的数据的读取失败,则由数据集D的实心灰色部分表示的数据被读取并被传输。
用这种方式,本实施例的操作结束。
在本实施例中,在第N分段中的数据集正被重写时,第(N+1)分段被准备重写,并且在第(N+2)分段的保留区中接收来自主机的输入数据。然而,本发明不限于该实施例。即,其中在重写期间从主机接收的数据被存储的分段可为位于任何位置的分段,只要它不是当前正被访问的用于重写的分段,而是用于当前重写的要被访问的分段。
此外,在本实施例中,重写期间接收的数据被存储在用于重写的目标分段的保留区中,并且被写入正常卷绕区,此后在数据被复制到不作为当前重写的目标的分段中。然而,重写期间接收的数据可存储在当数据被接收时用于重写的目标分段的保留区中和不用于重写的目标的分段中。
因此,在本实施例中,当同步请求在重写期间到达时,与同步请求相关联的数据被存储在各个分段的保留区中,并且随后与正被重写的数据一起被写入带。因此,RABF的性能可进一步被改进。
[第二实施例]
图11-13举例说明从主机20发送的数据被写入临时记录区,并且随后在预定时间被重写入正常记录区。
同样,在图11-13中,在中心的左边,缓冲器12被图解为垂直长矩形方框。同样,构成缓冲器12的分段数例如为8,但不限于8,分段从上到下由“S1”、“S2”、“S3”、“S4”、“S5”、“S6”、“S7”和“S8”表示。
如在图2-4中,上带部分表示数据要被正常记录在其上的正常记录区(正常卷绕区),下带部分表示用于在带14a移动时记录数据的临时记录区(ABF卷绕区)。
图11举例说明当数据通过来自主机20的Write命令被累积在缓冲器12中时和当数据通过来自主机20的Write FM命令被从缓冲器12写入ABF卷绕区时的状态。
同样,在这里假定单一数据元(由阴影示出的一个最小单元)通过一个Write命令被写入缓冲器12中。如图11中所示,假定主机20在发送三个Write命令后发送一个Write FM命令。并且假定当数据通过Write FM命令被写入ABF卷绕区时,其中在先前写入ABF卷绕区之后数据被累积在其中的分段中的所有数据被写入ABF卷绕区。
首先,响应第一至第三写命令的接收,第一至第三数据元被写入缓冲器。同样在图11中,这三个数据元被共同表示为“D1”。此后,响应Write FM命令,其中在先前写入ABF卷绕区之后数据被累积在其中的分段中的所有数据被写入ABF卷绕区。在图11的说明中,分段S1中的数据D1被写入ABF卷绕区。
随后,同样地,第四至第六数据D2通过第四至第六Write命令被写入缓冲器12,并且分段S1和S2中的数据集通过Write FM命令被写入ABF卷绕区。
此外,第七至第九数据D3通过第七至第九Write命令被写入缓冲器12,并且分段S2中的数据集通过Write FM命令被写入ABF卷绕区。
此外,第十至第十二数据D4通过第十至第十二Write命令被写入缓冲器12,并且分段S2和S3中的数据集通过Write FM命令被写入ABF卷绕区。
在本实施例中,构成缓冲器12的多个分段中的一些被用作保留分段以存储在重写期间从主机20接收的数据。具体地说,分段S7和S8被作为保留分段保留(图11-13中所示的点阴影部分)。
之后,执行从缓冲器12到正常卷绕区的重写。
图12举例说明在分段S1中的数据集正被重写入正常卷绕区的同时,Write命令和Write FM命令从主机20被发送时的状态。
在这种情况下,从主机20发送的数据被存储在分段2的保留分段S7中(实心灰色部分)。
图13举例说明当分段S2和S3中的数据集被重写时的状态。
首先,如图13中所示,分段S2中的数据集被邻近分段S1写入正常卷绕区中。
然后,用作保留分段的分段S7中的数据集(分段S7的实心灰色部分)被邻近分段S2写入(正常卷绕区的实心灰色部分)。如果缓冲器12中的数据按从上到下的顺序被重写,则不会出现这样的相反顺序。然而,在本实施例中,准备重写的数据集被优先重写,因此在保留分段中的数据集可被提前重写。
之后,分段S3中的数据集被邻近分段S7写入正常卷绕区。
在本实施例中,在重写期间写入的数据(分段S7的实心灰色部分)被复制到下一要被写入ABF卷绕区的分段(分段S4的实心灰色部分)中。因此,在重写期间写入保留区的数据被复制到下一要被进行RABF的分段中,从而,根据正常的RABF过程将数据再次写入正常卷绕区。
下面,将参照图14和15描述根据本实施例的带驱动器10的操作。在本实施例中,当重写不在进行中时的数据写入位置和当重写在进行中时的数据写入位置由同一缓冲指针表示。
首先,将描述当从主机20接收Write命令时控制器16的操作。
图14是示出此时控制器16的操作的流程图。
首先,控制器16从接口11接收Write命令(步骤S141)。然后,控制器16确定从缓冲器12到记录通道13执行重写的数据传输是否在进行中(步骤S142)。例如,通过将指示重写是否在进行中的标志保持在控制器16可访问的存储器中,可实现该确定。
因此,如果确定重写不在进行中,则控制器16将数据写入由缓冲指针指示的缓冲器12中的位置(步骤S143)。然后,控制器16将缓冲指针前进写入数据量(步骤S144)。
如果确定重写在进行中,则控制器16将数据写入由缓冲指针指示的缓冲器12中的位置(保留分段中的位置)(步骤S145)。然后,确定数据是否已被写到分段的末端(步骤S146)。如果确定数据未被写到末端,则缓冲指针前进写入数据量(步骤S144)。如果确定数据已被写到末端,则保留分段被标计可重写指示(指示在标记分段中的数据可与要被重写的数据一起被写入)(步骤S147),并且缓冲指针前进(advance)写入数据量(步骤S144)。
然后,在从主机20接收Write FM命令时,如果重写不在进行中,则控制器16将缓冲器12中的数据写入ABF卷绕区,并且将状态返回到主机20。如果重写在进行中,则控制器16等待要被重写到正常卷绕区的从主机20接收的数据,并且将重写状态返回到主机20。该操作与图7中所示的操作类似,因此对其的详细描述将被省略。在本实施例中,即使在由命令指定的“File Marks(文件标志)”的标号(包括0)被写入缓冲器12之后数据未被写到分段末端,分段中的数据需要与要被重写的数据一起被写入。因此,在图7的步骤S117中,在具有在其中间写入的数据的分段上执行与在步骤S147中的标志处理类似的标志处理。
因此,在ABF卷绕区中写入的数据集随后在预定时间被重写入正常卷绕区。
图15是示出此时的控制器16的操作的流程图。
首先,控制器16接收执行重写的指令(步骤S151)。例如当缓冲器12没有可用的存储空间或当ABF卷绕区已被完全消耗时,执行重写的指令被发出。在前一种情况下,从监控缓冲器12的可用存储空间的装置接收该指令。在后一种情况下,从监控ABF卷绕区的使用状态的装置接收该指令。
在接收重写指令时,控制器16将缓冲指针转换到保留分段的开始(图11-13的分段S7)(步骤S152)。这是因为,在本实施例中,缓冲指针被其用于正常分段和保留分段。
此外,控制器16准备第一分段(图11-13中的分段S1)中的数据集的重写(步骤S153)。如上所述,由于在将用于纠错的奇偶校验码添加到从主机20发送的数据之后,该数据被记录在带14a上,因此重写准备包括这样的奇偶校验码的计算等。
然后,控制器16确定下一数据集,即第二分段中的数据集是否存在(步骤S154)。要进行确定的分段包括保留分段。
因此,如果确定第二分段中数据集存在,则控制器16将已准备重写的第一分段中的数据集写入正常卷绕区,而在写入的同时,准备第二分段中的数据集的重写(步骤S155)。
然后,根据在步骤S147所给定的标记,控制器16确定当前缓冲指针所位于的保留分段是否为可重写(步骤S156)。如果保留分段为不可重写,则处理进到步骤S154。如果保留分段为可重写,则缓冲指针前进到下一保留分段的开始(图11-13中的分段S8)(步骤S157)。然后,处理进到步骤S154。在图11-13中所示的示例中,由于分段S2中存在数据,因此控制器16将分段S1中的数据写入正常卷绕区,并且准备分段S2中的数据的重写。
随后,同样地,如果第(N+1)分段中存在数据,则控制器16重复执行将第N分段中的数据写入正常卷绕区的操作,而在写入的同时,准备第(N+1)分段中的数据的重写,并且如果保留分段为可重写,则将缓冲指针进到随后保留分段(N=2、3、...)的开始。在图11-13中所示的示例中,假定此时分段S7为可重写,并且被设置为第3分段。然后,将分段S2中的数据写入正常卷绕区,并且准备分段S7中的数据的重写(其中N=2)。由于在用作第4分段的分段S3中存在数据,因此分段S7中的数据被写入正常卷绕区,并且分段S3中的数据的重写被准备(其中N=3)。
如果确定第(N+1)分段中不存在数据集,则控制器16将第N分段中的数据集写入正常卷绕区(步骤S158)。在图11-13中所示的示例中,由于分段S4中不存在数据,因此分段S3中的数据被写入正常卷绕区。
之后,如果在重写期间从主机20发送并存储在保留分段中的数据存在,则数据被顺序地复制到在最后重写目标的分段之后的分段(保留分段除外)(步骤S159)。然后,缓冲指针前进到紧接复制数据之后(步骤S160)。在图11-13示出的示例中,存储在分段S7中的数据被复制到分段S4中。
以这种方式,根据本实施例的数据记录操作结束。
即,同样在本实施例中,如果当发出同步请求时,重写不在进行中,则数据被写入ABF卷绕区,并且返回同步响应,此后数据也被写入正常卷绕区。如果当发出同步请求时,重写在进行中,则发送的数据与正被重写的数据一起被写入正常卷绕区,并且返回同步响应,此后数据被写入ABF卷绕区并且随后根据正常RABF过程被写入正常卷绕区。
因此,在本实施例中,当主机20发出同步请求时,指示是否已成功写入带14a的报告被发送给主机20。
尽管控制器16识别重写是否已成功,但由于SCSI规范,结果不被立即传输给主机20。例如,如果Write命令或Write FM命令在重写失败之后从主机20到达,则响应该命令重写失败通知可被发送。然而,并非在重写失败之后Write命令或Write FM命令总是从主机20到达。在这样一种情况下,尽管主机20识别数据已被写入数据要被正常记录在其上的正常卷绕区,而实际上,会发生其中数据未被正常记录在正常卷绕区上的事件。因此,当发出读取这样的非正常记录数据的请求时,带驱动器10需要执行恢复处理,以代替从数据要被正常记录的正常位置读取数据,读取并向主机20返回在另一个位置记录的数据。
下面将描述包括恢复处理的Read(读取)处理。
将在带14a具有以图16中所示的形式记录在其上的数据的上下文中进行描述。假定每个数据集均具有数据集号和附加其上的写通过(write-pass)号。数据集号为指示写入顺序(读取顺序)的顺序值。通过同步写入的数据集和正常数据集被指定同一数据集号,使得在重写期间通过同步写入的数据集在读取期间可被跳过,并且根据写通过号被识别。同样假定数据集B和D的每个均具有设置在其中的标志,该标志指示在重写期间数据集已通过同步被写入。
图17是示出在这种情况下执行的Read处理的流程图。
首先,控制器16从主机20接收Read命令(步骤S161)。响应Read命令,控制器16通过记录通道13执行来自磁带的数据的正常读取(步骤S162)。数据集B和D仅为用于同步写入的数据集,并且通过参照数据集号和写通过号一般被自动跳过。
然后,控制器16确定数据的读取是否已成功(步骤S163)。如果读取已成功,则处理结束。
如果数据的读取未成功,则控制器16确定读取失败的数据集的类型(步骤S164)。
首先,确定的数据集的类型可为除紧接在重写期间通过同步写入的数据集的数据集以外的数据集,如图16中所示的数据集A。这样一种数据集根据现有算法进行恢复(步骤S166)。
然后,控制器16确定要被发送到主机20的所有数据是否已被完全传输(步骤S167)。因此,如果确定要被发送的所有数据已被完全传输,则处理结束。如果确定要被发送的所有数据未被完全传输,则响应于重写期间的同步请求的写入正常卷绕区的数据被恢复(步骤S168)。即,由图16中的数据集B和D的实心灰色部分表示的数据被读取并被传输到主机20。因为带驱动器10将由图16中的数据集B和D的实心灰色部分表示的数据写入正常卷绕区,从而将同步成功通知返回到主机20,所以驱动器应该响应来自主机20的读请求读取并返回这样的数据。
其次,在步骤S164中确定的数据集的类型可为在通过重写期间的同步写入的数据集之后的数据集,如图16中所示的数据集C和E。尽管如上所述,先前的数据集,即数据集B和D在读取期间通常被跳过,由于数据集C和E的读取失败,因此数据集B和D可能被误认为数据集C和E。因此,控制器16参照指示在重写期间数据集已通过同步被写入的标志,并确定先前的数据集不是目标数据集(步骤S165)。然后,数据集C和E根据现有算法被恢复(步骤S166)。
然后,控制器16确定要被发送到主机20的所有数据是否已被完全传输(步骤S167)。因此,如果确定要被发送的所有数据已被完全传输,则处理结束。如果确定要被发送的所有数据未被完全传输,则在重写期间响应同步请求的写入正常卷绕区的数据被恢复(步骤S168)。即,由图16中的数据集B和D的实心灰色部分表示的数据被读取并被传输到主机20。因为带驱动器10将由图16中的数据集B和D的实心灰色部分表示的数据写入正常卷绕区,从而将同步成功通知返回到主机20,所以驱动器应该响应来自主机20的读请求读取并返回这样的数据。
第三,在步骤S164中确定的数据集的类型可为包括由在重写期间的同步之后的正常RABF写入的数据的数据集(实心灰色部分),如图16中所示的数据集F。根据现有算法对这样一种数据集进行恢复(步骤S169)。即,由图16中的数据集F的实心灰色部分和阴影线部分表示的数据从ABF卷绕区被读出并被传输到主机20。特别是,关于恢复是否已成功,检查由重写期间的同步之后的正常RABF写入的数据(实心灰色部分)(步骤S170)。因此,如果恢复已成功,则处理结束。如果恢复未成功,则使用重写的先前单元中的数据执行恢复(步骤S171)。即,如果由图16中的数据集F的最左边的实心灰色部分表示的数据的读取已失败,则由数据集B的实心灰色部分表示的数据被读取并被传输。如果由图16中的数据集F的最左边的实心灰色部分的右边的实心灰色部分表示的数据的读取已失败,则由数据集D的实心灰色部分表示的数据被读取并被传输。
用这种方式,本实施例的操作结束。
在本实施例中,重写期间接收的数据被存储在保留分段中并被写入正常卷绕区,此后数据被复制到不是当前重写目标的分段。然而,重写期间接收的数据可被存储在保留分段和当数据被接收时不是重写目标的分段中。
因此,在本实施例中,当在重写期间同步请求到达时,与同步请求相关联的数据被存储在保留分段中,并且随后与正被重写的数据一起被写入带。因此,可进一步改善RABF的性能。
如果从主机发送的同步请求之间的时间间隔较长,则在重写期间发送同步请求的可能性较低。因此,当同步请求之间的时间间隔较短时,本实施例特别有效。
由于不读取用于同步记录的数据,因此数据读取速率低于用标准方法记录的数据读取速率。例如,如上所述,在400KB中的50KB作为保留区被保留的情况下,假定用于使用标准方法记录的速率为约40MB/s,则使用本实施例的方法的速率约为35MB/s。因此当写入比读取更频繁地进行时,即当数据的有效性更高时,本实施例可特别地有效。作为一个示例,可想到典型的备份/恢复应用。在这样一种应用中,通常仅备份被执行而恢复很少被执行。因此,读取性能降低的问题不是很严重。
出于同一原因,盒式磁带的容量被减少。然而,如从当前产品的使用中可看出的,频繁请求同步的大多数应用使用所谓的大型机作为主机。这样的应用通常使用下一盒式磁带而不耗尽盒式磁带的全部容量。因此,在本实施例中。盒式磁带容量的减少问题不是很严重。
此外,当同步频率较低时,RABF不被激活。因此,不一定会出现性能的降低和盒式磁带容量的减少。
因此,在本发明中,在写入操作的性能被改善的同时,存在出现容量损失的可能性。
然而,通过使用使数据集大小可变的技术(使得数据集大小能够变为以1/N为单位的原始大小的1到N倍的技术),可大大缓解该问题。
具体地说,可使用下列方法。
在第一实施例中,例如,每个分段的1/N被用作保留区。在重写期间未通过同步添加数据的数据集具有(N-1)/N的大小,在重写期间通过同步添加数据的数据集具有N/N的大小。因此,可缓解容量的减少或读取时的数据速率的降低。
在第二实施例中,要被插入的数据集(存储在保留区中的数据集)的大小可略微大于用于同步的数据的大小。因此,与上面描述的类似,可缓解容量的减少或读取时的数据速率的降低。
基于模型的性能评价以下面的方式被执行。
在评价中,分段大小(数据集大小)为400KB,缓冲器中的分段号为1000,一次要被同步的数据量范围为48KB-384KB。
使用第一实施例的方法,假定保留区的大小为50KB,尽管发现12.5%的最大容量损失,但观测到超过常规RABF性能103%-107%的性能。
使用第二实施例的方法,尽管发现24%-17%的容量损失,但观测到超过常规RABF性能102%-113%的性能。
本发明可完全通过硬件被实现或完全通过软件被实现。另一方面,本发明可通过硬件和软件两者被实现。
本发明也可被实现为计算机、数据处理系统或计算机程序产品。计算机程序产品可被存储在计算机可读取介质中并通过计算机可读取介质提供。介质可以是电、磁、光、电磁、红外或半导体系统(装置或设备),或者传输介质。作为计算机可读取介质的示例,示出了半导体、固态存储设备、磁带、可移动计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。当前可用的光盘的示例包括光盘只读存储器(CD-ROM)、可读/写光盘(CD-R/W)和DVD。
参考标号
10:带驱动器
11:接口
12:缓冲器
13:记录通道
14a:带
14b:头
14c、14d:带盘
14e:带盒
15:电机
16:控制器
17:头位置控制系统
18:电机驱动器

Claims (11)

1.一种用于将数据写入带介质的装置,该装置包括:
缓冲器,用于累积要被写入带介质的数据;和
控制器,用于在将累积在缓冲器中的第一数据第一次写入带介质上的临时记录区之后,控制第一数据到带介质上的正常记录区的第二次写入,使得在第二次写入期间接收的第二数据作为第二次写入的目标的一部分被写入正常记录区。
2.根据权利要求1的装置,其中,临时记录区为用于在带介质移动的同时写数据的区域。
3.根据权利要求1的装置,其中,控制器通过构成缓冲器的多个分段中的预定分段的预留区将第二数据写入正常记录区。
4.根据权利要求1的装置,其中,控制器通过构成缓冲器的多个分段中的预留分段将第二数据写入正常记录区。
5.根据权利要求1的装置,其中,在第一次写入之后和第二次写入之前的预定时间,控制器输出第一次写入的状态。
6.根据权利要求1的装置,其中,响应读取第二数据的请求,控制器读取作为第二次写入的目标的一部分写入正常记录区的第二数据。
7.一种用于将数据写入带介质的方法,包括:
将累积在缓冲器中的第一数据写入带介质上的临时记录区;以及
在当将第一数据写入带介质上的正常记录区时接收到第二数据时,将第二数据写入正常记录区,使得第二数据被包括在与第一数据相同的记录单元中。
8.根据权利要求7的方法,其中,第二数据通过构成缓冲器的多个分段中的预定分段的预留区被写入正常记录区。
9.根据权利要求7的方法,其中,第二数据通过构成缓冲器的多个分段中的预留分段被写入正常记录区。
10.根据权利要求7的方法,其中,当第一数据被写入临时记录区时输出写状态。
11.根据权利要求7的方法,其中,响应读取第二数据的请求,被写入正常记录区以被包括在与第一数据的相同的记录单元中的第二数据被读取。
CNB2006101155236A 2005-09-06 2006-08-15 将数据写入带介质的装置和方法 Expired - Fee Related CN100463050C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005257388 2005-09-06
JP2005257388A JP4131517B2 (ja) 2005-09-06 2005-09-06 テープ媒体にデータを書き込むための装置

Publications (2)

Publication Number Publication Date
CN1928992A CN1928992A (zh) 2007-03-14
CN100463050C true CN100463050C (zh) 2009-02-18

Family

ID=37829823

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101155236A Expired - Fee Related CN100463050C (zh) 2005-09-06 2006-08-15 将数据写入带介质的装置和方法

Country Status (3)

Country Link
US (1) US7561372B2 (zh)
JP (1) JP4131517B2 (zh)
CN (1) CN100463050C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102414753A (zh) * 2009-06-29 2012-04-11 国际商业机器公司 包含多个磁带记录装置的磁带存储系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4895308B2 (ja) * 2008-01-30 2012-03-14 東芝ストレージデバイス株式会社 磁気ディスク装置の記録方法及び磁気ディスク装置
JP5068197B2 (ja) * 2008-02-26 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション データをテープ媒体に書き込む装置及び方法
JP5567260B2 (ja) * 2008-08-05 2014-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体にデータを書き込む装置及び方法
WO2010092881A1 (ja) 2009-02-10 2010-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記録装置、データ読み出し装置、テープドライブ、データ記録方法、及び、データ読み出し方法
US8810951B2 (en) * 2009-11-13 2014-08-19 International Business Machines Corporation Apparatus and method for controlling data writing to a tape medium
JP5005023B2 (ja) * 2009-12-25 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。
DE112011102139B4 (de) 2010-06-25 2023-11-30 International Business Machines Corporation Bandspeichereinheit und Schreibverfahren dafür
JP5536565B2 (ja) * 2010-06-30 2014-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体にデータを書き込む装置及び方法
JP5643152B2 (ja) * 2011-05-19 2014-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ記憶装置、データ書込み方法、及び、プログラム
JP5764050B2 (ja) 2011-12-14 2015-08-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを書き込む装置及び方法
US9959045B2 (en) 2012-04-17 2018-05-01 International Business Machines Corporation Write procedure using estimated best setting in first run
JP2014182858A (ja) * 2013-03-21 2014-09-29 Fujitsu Ltd テープカートリッジ及びテープ装置
JP6463103B2 (ja) 2014-12-02 2019-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のファイルを書込む方法、テープ装置システム、及びプログラム
US9311960B1 (en) 2015-03-31 2016-04-12 International Business Machines Corporation Efficient multichannel data format using variable-length headers
US9373357B1 (en) 2015-03-31 2016-06-21 International Business Machines Corporation Error protection of data stored using variable-length headers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1221943A (zh) * 1997-11-28 1999-07-07 索尼公司 盒式磁带和磁带记录和/或再生装置
US20040243760A1 (en) * 2003-05-29 2004-12-02 International Business Machines Corporation Magnetic tape data storage system buffer management
CN1584986A (zh) * 2003-08-18 2005-02-23 国际商业机器公司 一种磁带驱动器和向其写入数据的方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5613506A (en) 1979-07-16 1981-02-09 Fujitsu Ltd Field-through canceling circuit
JPS57135411A (en) 1981-02-13 1982-08-21 Toshiba Corp Magnetic tape controller
JPS6199904A (ja) 1984-10-19 1986-05-19 Hitachi Ltd 磁気テ−プ装置の制御方式
JPS61180326A (ja) 1985-02-06 1986-08-13 Hitachi Ltd ストリ−ミング磁気テ−プ装置の制御方式
JPH01146167A (ja) 1987-12-01 1989-06-08 Matsushita Electric Ind Co Ltd ディスク装置
JP2595096B2 (ja) 1989-06-26 1997-03-26 株式会社日立製作所 磁気テープ装置とバッファメモリの制御方式
JP2570003B2 (ja) 1991-06-06 1997-01-08 日本電気株式会社 磁気テープ制御装置
JPH05108275A (ja) 1991-10-21 1993-04-30 Nec Corp ストリーム・テープ装置
JP3305365B2 (ja) 1992-08-06 2002-07-22 パイオニア株式会社 バッファリング方法
US5862014A (en) 1996-01-11 1999-01-19 Quantum Corporation Multi-channel magnetic tape head module including flex circuit
JPH10255395A (ja) 1997-03-06 1998-09-25 Sony Precision Technol Inc データ記録装置及びデータ再生装置
JPH10289537A (ja) 1997-04-11 1998-10-27 Sony Corp デジタルデータ記録方法およびデジタルデータ記録媒体
JPH11176106A (ja) 1997-12-10 1999-07-02 Fujitsu Ltd 磁気テープ装置
US6288862B1 (en) 1999-07-30 2001-09-11 Storage Technology Corporation Method and mechanism to distinguish valid from outdated recording blocks in a tape drive
US6856479B2 (en) 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape
JP3900494B2 (ja) 2003-05-16 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、制御方法、プログラム、及び記録媒体
US7236322B2 (en) * 2003-08-20 2007-06-26 International Business Machines Corporation Method, system, and program for storing data in a storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1221943A (zh) * 1997-11-28 1999-07-07 索尼公司 盒式磁带和磁带记录和/或再生装置
US20040243760A1 (en) * 2003-05-29 2004-12-02 International Business Machines Corporation Magnetic tape data storage system buffer management
CN1584986A (zh) * 2003-08-18 2005-02-23 国际商业机器公司 一种磁带驱动器和向其写入数据的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102414753A (zh) * 2009-06-29 2012-04-11 国际商业机器公司 包含多个磁带记录装置的磁带存储系统
CN102414753B (zh) * 2009-06-29 2015-04-15 国际商业机器公司 包含多个磁带记录装置的磁带存储系统
US11087797B2 (en) 2009-06-29 2021-08-10 International Business Machines Corporation Tape storage system including at least two tape storage apparatuses for improved writing of data to be synchronized

Also Published As

Publication number Publication date
US7561372B2 (en) 2009-07-14
JP4131517B2 (ja) 2008-08-13
CN1928992A (zh) 2007-03-14
US20070053091A1 (en) 2007-03-08
JP2007073108A (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
CN100463050C (zh) 将数据写入带介质的装置和方法
CN100458963C (zh) 把同步数据写入磁带
US5481694A (en) High performance multiple-unit electronic data storage system with checkpoint logs for rapid failure recovery
US8041921B2 (en) Apparatus, system, and method for utilizing tape media segmentation
JP5623239B2 (ja) 書込みレコードの重複を排除する記憶装置、及びその書込み方法
US7995303B2 (en) Overhead calculation in writing synchronized data to magnetic tape
US20090313426A1 (en) Buffer Management for Increased Write Speed in Large Sector Data Storage Device
EP2317428B1 (en) Automatically linking partitions on a tape media device
CN102265348A (zh) 记录介质记录的数据的读出装置及方法
JP4993020B2 (ja) 仮想テープ装置、制御方法、制御部
US9471255B2 (en) Tape storage device and writing method therefor
GB2503314A (en) Implementing remapping command with indirection update for indirected storage
JPH1166730A (ja) 磁気テープ装置の制御方法
US7478195B2 (en) Disk device with degree of multiplexing based on a received logical block address
JPH0667805A (ja) 非同期dasd制御方法及び装置
US20040003172A1 (en) Fast disc write mechanism in hard disc drives
US20180067667A1 (en) Method for backing up data on tape
JP4452269B2 (ja) データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法
WO2000048068A1 (en) Magnetic disk device and disk access method therefor
JPS59221810A (ja) 磁気記憶装置における交代セクタ−装置
JPH0684283A (ja) 光磁気ディスクデータの転送方法
JP2745618B2 (ja) ヘッド再位置付け方法
US5327301A (en) Erasing and recovering system for data block on a magnetic tape
JP2010134769A (ja) ストレージシステム及びストレージシステムの運用方法
JPH1153332A (ja) 計算機システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090218