WO2011058794A1 - データの書込みを制御する装置及び方法 - Google Patents

データの書込みを制御する装置及び方法 Download PDF

Info

Publication number
WO2011058794A1
WO2011058794A1 PCT/JP2010/062998 JP2010062998W WO2011058794A1 WO 2011058794 A1 WO2011058794 A1 WO 2011058794A1 JP 2010062998 W JP2010062998 W JP 2010062998W WO 2011058794 A1 WO2011058794 A1 WO 2011058794A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
tape
tape medium
written
target
Prior art date
Application number
PCT/JP2010/062998
Other languages
English (en)
French (fr)
Inventor
隆司 ▲片▼桐
浩一 中山
豊 大石
克巳 ▲吉▼村
寛尚 名倉
敦 安部
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレーション
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 インターナショナル・ビジネス・マシーンズ・コーポレーション filed Critical インターナショナル・ビジネス・マシーンズ・コーポレーション
Priority to JP2011540430A priority Critical patent/JP5476395B2/ja
Priority to DE112010004369.8T priority patent/DE112010004369B4/de
Priority to GB1208355.6A priority patent/GB2488689B/en
Priority to CN201080050613.6A priority patent/CN102714047B/zh
Priority to US13/509,605 priority patent/US8810951B2/en
Publication of WO2011058794A1 publication Critical patent/WO2011058794A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • G11B5/00817Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes on longitudinal tracks only, e.g. for serpentine format recording
    • G11B5/00821Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes on longitudinal tracks only, e.g. for serpentine format recording using stationary heads
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
    • G11B15/18Driving; Starting; Stopping; Arrangements for control or regulation thereof
    • G11B15/20Moving record carrier backwards or forwards by finite amounts, i.e. backspacing, forward spacing
    • 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
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/02Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
    • G11B5/09Digital recording
    • 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

Definitions

  • the present invention relates to an apparatus and a method for controlling data writing.
  • the present invention relates to an apparatus and method for controlling the writing of data to a tape medium.
  • a synchronization command may be periodically received from a host (application program) during data writing.
  • the synchronization command is a command for forcibly writing the data accumulated in the buffer in the tape drive to the tape medium.
  • the reason why the synchronous command is received periodically in this way is that the application program wants to know that all data sent to the tape drive is written to the tape medium and does not remain in the buffer in the tape drive. (I want to guarantee).
  • the tape drive receives a synchronization command, the tape drive typically performs a “backhitch” because the buffer in the tape drive is emptied.
  • the back hitch is a series of operations in which the tape medium travel speed is reduced and then stopped, travels in the opposite direction, and then travels in the original direction again to reach the writing position and write the next data. That's it.
  • This back hitch usually takes about 2 to 3 seconds. Since the next data is written after the completion of the back hitch, if the synchronous command is frequently received, the writing performance is remarkably deteriorated. For these reasons, techniques for eliminating the need for backhitch have been proposed (see, for example, Patent Documents 1 to 3).
  • a data set sent from a host is stored in a buffer memory, a data set stored in the buffer memory is taken out and sent to the host, and a data set stored in the buffer memory is taken out
  • Transfer rate to the host is acquired from the host I / F unit in a device having a media I / F unit that stores the data set read from the tape in the buffer memory.
  • the error rate at the time of writing is acquired from the media I / F unit, the tape speed is determined based on the transfer rate and the error rate, and the tape is controlled to operate at the determined speed.
  • Patent Document 2 in a storage device that sequentially writes a plurality of write data in units of segments of a predetermined size with respect to a data recording medium, the write data is written for each of the plurality of write data.
  • the backhitchless flash that writes the write data to the tape recording medium without performing the backhitch is performed at a higher speed than in the case of performing the backhitch.
  • a controller in a helical scan tape recorder comprising a rotatable scanner and a transfer system for transferring a magnetic tape near the rotatable scanner so that information is recorded during the rotation of the scanner
  • a step of determining a tape pause position reference value indicating the final recording position before the pause on the tape and an erase signal are recorded after the final recording position before the pause on the tape.
  • a step of rewinding the tape a step of moving the tape forward to obtain a current tape position value, and a time when the current tape position value reaches a predetermined value relative to a tape pause position reference value. Step and one or more post-pause stripes on the tape at the beginning of the next scanner rotation Running and a step to start the recording.
  • An object of the present invention is to write data of a target capacity to a tape medium excluding the capacity of data that cannot be written by performing no backhitch of the nominal capacity.
  • the present invention is an apparatus for controlling the writing of data to a tape medium, the storage unit storing mode information indicating the mode of the apparatus, and the mode information stored in the storage unit being specified.
  • a determination unit that determines to write data of a target capacity to the tape medium excluding a capacity of data that cannot be written by performing no backhitch among the nominal capacity of the tape medium when the mode is indicated; Providing equipment.
  • the determination unit writes the first data to the tape medium and then the second data next to the first data. It may be determined that no backhitch is performed before the data is written to the tape medium.
  • the determination unit further writes the first data to the tape medium and then writes the second data to the tape on the condition that the reading speed of the data from the tape medium is predicted to satisfy the target reading speed. It may be determined that no backhitch is performed before writing to the medium. In that case, the deciding unit does not write the data by running the tape medium without backhitching, and the time required to read the unit data written on the tape medium at the fastest reading speed provided by the device.
  • the data read speed from the tape medium is the target read speed. It may be determined to satisfy Alternatively, the determination unit is the fastest unit that prepares the unit data written on the tape medium and the capacity data corresponding to the area where the data is not written by running the tape medium without backhitching.
  • the time required for reading at the reading speed is shorter than the time required for reading the unit data at the target reading speed, it is determined that the data reading speed from the tape medium satisfies the target reading speed. There may be.
  • the storage unit may store mode information indicating a specific mode according to an instruction of an application program for writing data to the tape medium in accordance with loading of a tape cartridge that houses the tape medium.
  • the storage unit may store mode information indicating a specific mode in accordance with loading of a specific tape cartridge that stores a tape medium.
  • the present invention is an apparatus that controls writing of data to a tape medium, the storage unit storing mode information indicating the mode of the apparatus, and the mode information stored in the storage unit indicating a specific mode. Therefore, it is predicted that data of the target capacity excluding the capacity of data that cannot be written by not performing backhitch among the nominal capacity of the tape medium will be written to the tape medium, and the reading speed of data from the tape medium will be the target When it is predicted that the reading speed will be satisfied, the target capacity can be set without performing back hitching between the time when the first data is written on the tape medium and the time when the second data after the first data is written on the tape medium.
  • An apparatus is also provided that includes a determiner that determines to write data to the tape medium.
  • the present invention is a method in an apparatus for controlling the writing of data to a tape medium, the step of storing mode information indicating the mode of the apparatus in a memory, and the mode information stored in the memory having a specific mode. Determining to write to the tape medium a target capacity of the nominal capacity of the tape medium, excluding the capacity of the data that cannot be written by not performing backhitch, if indicated. To do.
  • the present invention is a program for causing a computer to function as a device for controlling the writing of data to a tape medium, the computer storing a mode information indicating a mode of the device in a memory, and the program stored in the memory.
  • the mode information indicates a specific mode, it is decided to write the target capacity data to the tape medium excluding the data capacity that cannot be written by not performing backhitch among the nominal capacity of the tape medium.
  • a program that functions as a means is also provided.
  • the present invention it is possible to write data of a target capacity on the tape medium excluding the capacity of data that cannot be written by not performing backhitch of the nominal capacity.
  • 1 is a block diagram showing a configuration of a tape drive to which an embodiment of the present invention is applied. It is a figure for demonstrating the control of an interval base among the control regarding the read-out data rate in embodiment of this invention. It is a figure for demonstrating the control based on transaction size among the control regarding the read-out data rate in embodiment of this invention. It is the block diagram which showed the function structural example of the controller in embodiment of this invention. It is the figure which showed the 1st operation example of the controller in embodiment of this invention. It is the figure which showed the 1st operation example of the back hitch determination part in the controller of embodiment of this invention. It is the figure which showed the 2nd operation example of the controller in embodiment of this invention. It is the figure which showed the 2nd operation example of the back hitch determination part in the controller of embodiment of this invention. It is the figure which showed the example of the correspondence of read-out data rate and tape speed.
  • FIG. 1 is a diagram illustrating a configuration example of a tape drive 10 to which the exemplary embodiment is applied.
  • the tape drive 10 includes a host interface (hereinafter referred to as “host I / F”) 11, a buffer 12, a channel 13, a head 14, and a motor 15. Further, the controller 16, a head position control system 17, and a motor driver 18 are included. Further, since the tape drive 20 can be loaded into the tape drive 10 by insertion, the tape cartridge 20 is also shown here.
  • the tape cartridge 20 includes a tape 23 wound around reels 21 and 22. As the reels 21 and 22 rotate, the tape 23 moves in the longitudinal direction from the reel 21 to the reel 22 or from the reel 22 to the reel 21.
  • the magnetic tape is illustrated as the tape 23, tape media other than a magnetic tape may be sufficient.
  • the host I / F 11 communicates with the host 30 which is an example of a host device. For example, a command for instructing data writing from the host 30 to the tape 23, a command for moving the tape 23 to a target position, a command for instructing reading of data from the tape 23, and a tape of data stored in the buffer 12 A command (synchronous command) instructing forcible writing to 23 is received.
  • SCSI is exemplified as a communication standard used in the host I / F 11.
  • the first command corresponds to the Write command
  • the second command corresponds to the Locate command and the Space command
  • the third command corresponds to the Read command
  • the fourth command corresponds to a WriteFM non-immediate command.
  • the host I / F 11 returns a response to the host 30 as to whether the processing corresponding to these commands has succeeded or failed.
  • the buffer 12 is a memory that stores data to be written to the tape 23 and data read from the tape 23.
  • the buffer 12 is composed of a plurality of buffer segments, and each buffer segment stores a data set that is a unit of reading and writing with respect to the tape 23.
  • the channel 13 is a communication path used for sending data to be written on the tape 23 to the head 14 and receiving data read from the tape 23 from the head 14.
  • the head 14 writes information on the tape 23 and reads information from the tape 23 when the tape 23 moves in the longitudinal direction.
  • the motor 15 rotates the reels 21 and 22. In the figure, the motor 15 is represented by one rectangle, but it is preferable to provide two motors 15, one for each of the reels 21 and 22.
  • the controller 16 controls the entire tape drive 10. For example, data writing to the tape 23 and reading from the tape 23 are controlled in accordance with a command received by the host I / F 11.
  • the head position control system 17 and the motor driver 18 are also controlled.
  • the head position control system 17 is a system that tracks a desired lap or laps.
  • the lap is a group of a plurality of tracks on the tape 23.
  • the motor driver 18 drives the motor 15. As described above, if two motors 15 are used, two motor drivers 18 are also provided.
  • the tape 23 is run as it is without performing a back hitch, and the next data is written in the same wrap.
  • a method of writing data without performing backhitch on the same wrap is called SWBF (Same Wrap Backhitchless Flush) or Skip Sync, but will be called SWBF below.
  • SWBF Shorte Wrap Backhitchless Flush
  • the “high data rate mode” is based on the premise that the target capacity (Target Capacity) smaller than the nominal capacity is written, not the purpose of writing the nominal capacity (Nominal Capacity). (Example of specific mode) is prepared.
  • the target capacity is a capacity obtained by removing a preset SWBF margin from the nominal capacity.
  • the target capacity is 1.0 TB.
  • the high data rate mode aims to write data of 1.0 TB or more.
  • the first is capacity control. In this control, it is determined whether or not the backhitch should be performed in order to write data exceeding a preset target capacity.
  • the second is control related to the read data rate. In this control, it is determined whether the back hitch should be performed in consideration of the read data rate.
  • the control is related to the high data rate mode. This control determines when the tape drive 10 is in a high data rate mode.
  • the tape drive 10 holds a predetermined target capacity (Target Capacity) separately from the nominal capacity of the tape cartridge 20.
  • the tape drive 10 determines whether the following formula 1 is satisfied (TRUE) or not (FALSE). As a result, if it is determined to be TRUE, the next data is sent from the host 30 without performing a back hitch, assuming that there is a sufficient margin for writing the data for the target capacity on the tape 23. Wait for After that, if the next data is prepared within the specified time, writing is resumed.
  • next data cannot be prepared within the specified time, backhitch is performed, and when the next data is prepared, the next data is written on the tape 23 immediately after the last written data. On the other hand, if it is determined to be FALSE, the backhitch is performed as usual, and the next data is sent from the host 30.
  • each variable is defined as follows.
  • T is an effective tape length, which is a value obtained by subtracting the length of the end warning area from the total tape length. The end warning area is near the end of the tape 23 and is an area for returning a warning “Early Warning” to the host 30 so that all data stored in the buffer 12 is written before the end of the tape 23. It is.
  • r is a margin ratio for SWBF, and is a value obtained by dividing the length of the margin for SWBF by T.
  • x is the last data set position, that is, the physical position of the last written data set (0 ⁇ x ⁇ T).
  • n is the last data set number, that is, the number of the last written data set.
  • L is the data set length. The data set is rewritten when a write error occurs, and L is the data set length when this rewrite is not taken into consideration.
  • the maximum data transfer rate at the time of reading written in the specifications of the tape drive 10 is determined by the linear density / maximum tape speed.
  • the line density is data set size / data set length, and does not consider the interval between data sets on the tape 23 generated by SWBF. Therefore, assuming that the maximum tape speed is 5.987 m / sec in the tape drive 10 that is normally readable at 140 MB / sec, in the above case, the read data rate is 35 MB / sec by the following calculation. Become.
  • the first method is an interval-based control method.
  • the interval which is the time to wait for the next data to be prepared
  • the distance between the data sets can be controlled.
  • the number of data sets at a certain distance can be controlled, and the read data rate can be controlled.
  • the read data rate is controlled by controlling the Threshold derived by the following Equation 2.
  • the maximum value of the data set interval is 4 m. If the read data rate is not concerned, it is sufficient to wait for the next data to be prepared until 4 m is passed after it is determined to be TRUE in the above equation 1.
  • the read data rate is controlled by controlling the time to wait for the next data to be prepared using Equation 2 below. That is, SWBF is performed when the threshold of Expression 2 exceeds 0, and SWBF is not performed when the threshold is 0 or less.
  • Threshold Target_Data_Size / Target_Read_Data_Rate-Target_Data_Size / Read_Data_Rate_with_Speed1-Accumulated_Interval * Speed_X / Speed1
  • Target_Data_Size is the size of unit data for measuring performance.
  • Target_Read_Data_Rate is a target read data rate.
  • Read_Data_Rate_with_Speed1 is a read data rate when the tape 23 is run at the maximum speed. That is, it is assumed that the tape drive 10 supplies Read_Data_Rate_with_Speed1 faster than Target_Read_Data_Rate for the unit data.
  • Accumulated_Interval is the time generated by SWBF while writing Target_Data_Size data. Specifically, it is from the completion of writing according to the synchronization command while writing Target_Data_Size data to the next data writing. Cumulative time.
  • Speed_X is the writing tape speed during execution of SWBF. Since Accumulated_Interval is the time measured when writing data, the tape speed Speed_X at that time is used to convert it to the time required for skipping at Speed1.
  • Target_Data_Size 100MB
  • Target_Read_Data_Rate: 100MB / sec
  • Read_Data_Rate_with_Speed1: 142MB / sec
  • transaction size 10 MB
  • all intervals between transactions writing data to the tape 23 in response to one synchronization command
  • FIG. 2 is a diagram showing a portion of the tape 23 in which unit data for measuring performance is written.
  • the unit data can be read in the time of Target_Data_Size / Read_Data_Rate_with_Speed1 + Accumulated_Interval * Speed_X / Speed1. Therefore, if this time is shorter than Target_Data_Size / Target_Read_Data_Rate, it can be said that the unit data can be read at the target read data rate.
  • the second method is a transaction size-based control method. If the transaction size is small or the accumulated data size is small, SWBF is not executed. Thereby, the number of data sets at a certain distance can be controlled, and the read data rate can be controlled. Specifically, the read data rate is controlled by controlling the Threshold derived by the following Equation 3. That is, SWBF is performed when the Threshold of Expression 3 exceeds 0, and SWBF is not performed when the Threshold is 0 or less.
  • Threshold Tx_Size / Target_Read_Data_Rate-(Tx_Size + X) / Read_Data_Rate_with_Speed1
  • Tx_Size is the transaction size, that is, the amount of data written to the tape 23 in response to one synchronization command as described above.
  • Target_Read_Data_Rate is a target read data rate.
  • Max_Interval is the maximum free running distance after SWBF, and is 4 m in the tape drive 10 compliant with LTO.
  • Tape_Speed is the current speed of the tape 23.
  • Read_Data_Rate_with_Speed1 is a read data rate when the tape 23 is run at the maximum speed.
  • Target_Read_Data_Rate: 100
  • Read_Data_Rate_with_Speed1: 142MB / sec
  • Max_Interval: 4m
  • Tape_Speed: 5.987m / sec.
  • the transaction size is 230 MB
  • SWBF is performed.
  • the transaction size is 220 MB
  • FIG. 3 is a diagram showing a portion of the tape 23 which is composed of an area where data for one transaction is written and an area where data is not written by executing SWBF.
  • the area in which data is written is indicated by hatching, and the size of data written in this area, that is, the transaction size is Tx_Size.
  • the time required to read this data at the maximum read data rate Read_Data_Rate_with_Speed1 prepared by the tape drive 10 is Tx_Size / Read_Data_Rate_with_Speed1.
  • X be the size of data that can be written to an area where data has not been written by executing SWBF.
  • the time required to read this data at the maximum read data rate Read_Data_Rate_with_Speed1 prepared by the tape drive 10, that is, the time required to skip this area is X / Read_Data_Rate_with_Speed1.
  • data for one transaction (which can also be regarded as unit data) can be read in a time of (Tx_Size + X) / Read_Data_Rate_with_Speed1. Therefore, if this time is shorter than Tx_Size / Target_Read_Data_Rate, it can be said that data for one transaction can be read at the target read data rate.
  • ⁇ Control for high data rate mode> In preparing the high data rate mode for the tape drive 10, it is necessary to consider when to set the tape drive 10 to the high data rate mode.
  • a method for setting the tape drive 10 to the high data rate mode the following method can be considered.
  • the first method is to set the application program every time the tape cartridge 20 is loaded. That is, according to the loading of the tape cartridge 20, the high data rate mode is set according to the instruction of the application program for writing data on the tape 23.
  • the tape drive 10 records in the internal nonvolatile memory that it is in the high data rate mode, and operates in the high data rate mode while being transparent to the application program.
  • the recording of the high data rate mode in the nonvolatile memory may be performed when the tape drive 10 is shipped, or may be performed using a tool or the like at any timing after the tape drive 10 is shipped. Good.
  • the tape drive 10 is in a high data rate mode when a specific tape cartridge 20 is loaded.
  • FIG. 4 is a block diagram illustrating a functional configuration example of the controller 16.
  • the controller 16 includes a command processing unit 41, a buffer management unit 42, a channel input / output unit 43, a back hitch determination unit 44, a mode information storage unit 45, a target capacity storage unit 46, a history A storage unit 47 and an operation signal output unit 48 are provided.
  • the command processing unit 41 receives a command from the host I / F 11.
  • examples of the command include a Write command that instructs to store data in the buffer 12 and a synchronization command (WriteFM command or the like) that writes the data stored in the buffer 12 to the tape 23.
  • the buffer management unit 42 prepares data in the buffer 12.
  • the command processing unit 41 receives a synchronization command
  • the data is read from the buffer 12 and output to the channel input / output unit 43.
  • the channel input / output unit 43 outputs data read from the buffer 12 by the buffer management unit 42 to the channel 13 and stores data received from the channel 13 in the buffer 12.
  • the back hitch determination unit 44 determines whether to perform back hitch in order to write the target capacity to the tape 23 and to secure the target read data rate.
  • the back hitch determination unit 44 is provided as an example of a determination unit that determines to write the target capacity data to the tape medium or determines not to perform the back hitch.
  • the mode information storage unit 45 stores mode information indicating whether or not the tape drive 10 is currently set to the high data rate mode.
  • a mode information storage unit 45 is provided as an example of a storage unit that stores mode information.
  • the target capacity storage unit 46 stores information on the target capacity to be written out of the nominal capacity of the tape 23.
  • the history storage unit 47 stores history information including information such as the size and position of the data set written on the tape 23 in the past and the distance between the data sets. However, the history information may include other information (for example, information related to the occurrence of an error).
  • the operation signal output unit 48 outputs a signal instructing the motor driver 18 to perform the operation determined by the back hitch determination unit 44.
  • FIG. 5 is a flowchart showing a first operation example of the controller 16.
  • This first operation example corresponds to an interval-based control method in the control related to the read data rate.
  • This operation example starts when the data set in the buffer 12 is written on the tape 23 in response to the synchronization command.
  • the buffer management unit 42 reads the last data set from the buffer 12 and passes it to the channel input / output unit 43.
  • the channel input / output unit 43 receives the received data set. Is written on the tape 23 (step 401).
  • the buffer management unit 42 determines whether or not to perform the back hitch to the back hitch determination unit 44. Instruct. Thereby, the back hitch determination unit 44 performs a back hitch determination process for determining whether to perform the back hitch from the viewpoint of writing the target capacity to the tape 23 and securing the target read data rate (step 402). ). Details of the back hitch determination process will be described later. Then, the determination result in the back hitch determination process is output to the operation signal output unit 48.
  • the operation signal output unit 48 determines whether or not the determination result indicates that the SWBF is executed (the back hitch is not performed) (step 403).
  • the operation signal output unit 48 determines to execute the SWBF (step 404). That is, a signal to start the back hitch is not output to the motor driver 18.
  • the operation signal output unit 48 notifies the motor driver 18 that the back hitch is started. Is output (step 405).
  • Step 406 when the decision to perform SWBF or the start of the backhitch is made, the fact is returned to the command processing unit 41, and the command processing unit 41 reports the completion of the synchronous command to the host 30.
  • the command processing unit 41 receives the next data set and passes it to the buffer management unit 42, and the buffer management unit 42 stores the received data in the buffer 12 (step 407).
  • the buffer manager 42 determines whether enough data sets have been received to initiate a new write (step 408). If it is determined that a sufficient data set has not been received, the process proceeds to the determination of whether or not a certain time has elapsed since the end of step 406 (step 409). If the certain time has not elapsed, wait for a while. (Step 410), the determination of Step 408 is performed again.
  • the buffer management unit 42 passes control to the operation signal output unit 48, and the operation signal output unit 48 outputs a signal instructing the motor driver 18 to start the back hitch. (Step 412). If it is determined in step 408 that a sufficient data set has been received, it is determined whether the interval between the current head 14 position and the end position of the last written data set is short (step 411). . For example, it may be determined whether the interval is shorter than the threshold of the data set interval.
  • the buffer management unit 42 passes control to the operation signal output unit 48, and the operation signal output unit 48 outputs a signal instructing the motor driver 18 to start the back hitch (step 412). Then, the buffer management unit 42 reads the data set from the buffer 12 and transfers it to the channel input / output unit 43, and the channel input / output unit 43 writes the data set to the tape 23 (step 413).
  • the buffer management unit 42 reads the data set from the buffer 12 and enters the channel without performing back hitch.
  • the data is transferred to the output unit 43, and the channel input / output unit 43 writes the data set to the tape 23 (step 413).
  • the channel input / output unit 43 has Accumulated_Interval that is the total of intervals between data sets generated within the range in which the unit data (target data) immediately after the current writing position is written, and the tape speed Speed_X at that time. Is stored in the history storage unit 47 (step 414).
  • FIG. 6 is a flowchart showing the flow of the back hitch determination process.
  • the back hitch determination unit 44 first acquires mode information stored in the mode information storage unit 45 (step 501). Then, it is determined whether or not the mode information indicates a high data rate mode (step 502). As a result, if it is determined that the mode information indicates the high data rate mode, the back hitch determination unit 44 acquires the target capacity from the target capacity storage unit 46 (step 503). Further, the back hitch determination unit 44 acquires the total number of data sets C, the effective tape length T, the SWBF margin ratio r, the final data size set position x, the final data set number n, and the data set length L (step 504).
  • C, T, and L may be acquired from setting information held in advance. Further, r may be obtained by dividing the target capacity acquired in step 503 by the nominal capacity. Furthermore, since x and n are obtained when the last data set is written in step 401, the values thereof may be acquired.
  • the back hitch determination unit 44 determines whether or not the conditional expression “(C ⁇ rn) ⁇ L ⁇ Tx” is satisfied for the value acquired in this way (step 505).
  • the back hitch determination unit 44 acquires Target_Data_Size, Target_Read_Data_Rate, Read_Data_Rate_with_Speed1, Accumulated_Interval, Speed_X, and Speed1 (step 506).
  • Target_Data_Size, Target_Read_Data_Rate, Read_Data_Rate_with_Speed1, and Speed1 may be acquired from setting information stored in advance. Further, Accumulated_Interval and Speed_X may be acquired from the history storage unit 47 in step 414.
  • step 502 determines whether the mode information does not indicate the high data rate mode. If it is determined in step 505 that the conditional expression “(C ⁇ rn) ⁇ L ⁇ Tx” is not satisfied. If it is determined in step 508 that Threshold is 0 or less, backhitching is performed as a determination result (step 510).
  • FIG. 7 is a flowchart showing a second operation example of the controller 16.
  • the second operation example corresponds to a transaction size-based control method in the control related to the read data rate.
  • This operation example starts when the data set in the buffer 12 is written on the tape 23 in response to the synchronization command.
  • Steps 451 to 463 in the second operation example are the same as steps 401 to 413 in the first operation example, and this second operation example acquires Accumulated_Interval and Speed_X as in step 414. It differs from the first operation example only in that it does not include steps.
  • FIG. 8 is a flowchart showing the flow of backhitch determination processing. Steps 551 to 555 in the flow of the backhitch determination process are the same as steps 501 to 505 in FIG. 6, and thus detailed description thereof is omitted here.
  • the back hitch determination unit 44 acquires Tx_Size, Target_Read_Data_Rate, X, and Read_Data_Rate_with_Speed1 (step 556). Of these, Tx_Size is obtained when the last data set is written in step 451, so that value should be obtained.
  • Target_Read_Data_Rate and Read_Data_Rate_with_Speed1 may be acquired from setting information held inside in advance. Furthermore, since X is Read_Data_Rate_with_Speed1 * Max_Interval / Tape_Speed, it may be calculated using a value acquired from setting information stored in advance.
  • FIG. 9 shows an example of the correspondence between the data rate read from the tape 23 and the tape speed.
  • SpeedX is assumed to be faster as the value of X is smaller. In this situation, for example, consider a case where the data rate of the host 30 is 100 MB / sec. In this case, normally, it is considered appropriate to run the tape 23 at Speed 3 which is a tape speed corresponding to a read data rate of 100 MB / sec.
  • a high data rate mode is prepared in which data of a target capacity excluding the capacity of data that cannot be written by not performing backhitch among the nominal capacity is written to the tape medium.
  • the target capacity data of the nominal capacity can be written to the tape medium.
  • the back hitch is performed prior to changing the speed of the tape 23.
  • the speed of the tape 23 may be changed without performing the back hitch.
  • the present invention may be realized entirely by hardware or entirely by software. It can also be realized by both hardware and software.
  • the present invention can be realized as a computer, a data processing system, and a computer program.
  • This computer program may be stored and provided on a computer readable medium.
  • the medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (apparatus or equipment), or a propagation medium.
  • Examples of computer-readable media include semiconductors, solid state storage devices, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory (ROM), rigid magnetic disks, and optical disks.
  • the Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read / write (CD-R / W) and DVD.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Abstract

公称容量のうちのバックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込む。 テープドライブのコントローラ16において、コマンド処理部41が同期コマンドを受け取り、バッファ管理部42がバッファ内のデータをチャネル入出力部43に渡してテープへの書込みが完了すると、バックヒッチ判定部44が、高データレートモードである旨の情報がモード情報記憶部45に記憶され、公称容量のうち目標容量記憶部46に記憶された目標容量のデータをテープに書き込むことができ、書き込んだデータを目標の読出しデータレートで読み出すことができるという条件が満たされるかを判定する。そして、この条件が満たされないと判定された場合に限り、動作信号出力部48が、バックヒッチを行うように指示する。

Description

データの書込みを制御する装置及び方法
 本発明は、データの書込みを制御する装置及び方法に関する。特に、本発明は、テープ媒体へのデータの書込みを制御する装置及び方法に関する。
 例えばLTO(Linear Tape Open)に準拠して磁気テープ等のテープ媒体にデータを書き込むテープドライブでは、データの書込み中にホスト(アプリケーションプログラム)から同期コマンドを定期的に受け取ることがある。同期コマンドとは、テープドライブ内のバッファに蓄積されたデータを強制的にテープ媒体に書き込むためのコマンドである。このように同期コマンドを定期的に受け取ることがあるのは、アプリケーションプログラムが、自身がテープドライブに送ったデータが全てテープ媒体に書かれ、テープドライブ内のバッファに残っていないことを、知りたい(保証したい)ためである。
 テープドライブが同期コマンドを受け取ると、テープドライブ内のバッファが空になるため、テープドライブは通常、「バックヒッチ」を行う。バックヒッチとは、テープ媒体の走行速度を減速して一旦停止し、逆方向に走行し、その後、再度元の方向に走行して書き込むべき位置に達して次のデータを書く、という一連の動作のことである。
 このバックヒッチには通常2~3秒程度の時間を要する。次のデータの書出しはこのバックヒッチの完了後となるため、頻繁に同期コマンドを受け取ると書込みのパフォーマンスが著しく低下してしまう。
 こうしたことから、従来、バックヒッチを行わなくて済むようにするための技術が提案されていた(例えば、特許文献1~3参照)。
 特許文献1では、ホストから送られたデータセットをバッファメモリに格納し、バッファメモリに格納されたデータセットを取り出してホストに送るホストI/F部と、バッファメモリに格納されたデータセットを取り出してテープに転送し、テープから読み出されたデータセットをバッファメモリに格納するメディアI/F部とを備えた装置において、ホストとの間の転送レートをホストI/F部から取得し、テープに書き込む際のエラーレートをメディアI/F部から取得し、この転送レートとエラーレートに基づいてテープスピードを決定し、決定されたスピードでテープが動作するよう制御している。
 特許文献2では、複数の書込データをデータ記録媒体に対して予め定められたサイズのセグメント単位で順次書き込む記憶装置において、複数の書込データのそれぞれについて、書込データを、書込データをデータ記録媒体に対して書き込む書込指示に対応付けて受信した場合に、書込データをデータ記録媒体の少なくとも一のセグメントに対して書き込み、一の書込データのサイズが予め定められた規定サイズより小さい場合に、データ記録媒体に順次書き込まれた複数の書込データのうち、一の書込データ以降に書き込まれた複数の書込データを連結して、データ記録媒体における、連結の対象となった複数の書込データの書き込みに要していたセグメントより少ない数のセグメントに対して書き込んでいる。また、特許文献2では、バックヒッチを行わずに書込データをテープ記録媒体に対して書き込むバックヒッチレスフラッシュを行うことで、バックヒッチを行う場合と比較して、高速に動作している。
 特許文献3では、回転可能なスキャナと、スキャナの回転の間に情報が記録されるように、磁気テープを回転可能なスキャナ近くに移送する移送システムとを備えるヘリカルスキャンテープレコーダにおいて、コントローラが、テープへの記録動作中にポーズするためのポーズルーチンとして、テープ上のポーズ前最終記録位置を示すテープポーズ位置基準値を判断するステップと、テープ上のポーズ前最終記録位置の後に消去信号を記録するステップと、テープを巻き戻すステップと、テープを順方向に移送し、現テープ位置値を取得するステップと、現テープ位置値がいつテープポーズ位置基準値に対する所定の値に達するかを判断するステップと、スキャナの次の回転の開始時において、テープへの1つ以上のポーズ後ストライプの記録を開始するステップとを実行している。
特開2006-318571号公報 特開2004-341925号公報 特表2008-533636号公報
 しかしながら、バックヒッチを行わずにテープ媒体を走行させて次のデータの書出しを再開した場合、同期コマンドに応じて最後に書き出したデータと次に書き出すデータとの間に隙間が発生し、その隙間の部分にデータが書けないことにより容量の低下が発生してしまう。この容量の低下が発生すると、テープ媒体に書き込めることを公に謳っている容量(公称容量)をテープ媒体に書き込めなくなるという問題が生じる。このような問題を解決するための手法は、何れの文献にも記載されていない。
 本発明の目的は、公称容量のうちのバックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込むことにある。
 かかる目的のもと、本発明は、テープ媒体へのデータの書込みを制御する装置であって、装置のモードを示すモード情報を記憶する記憶部と、記憶部に記憶されたモード情報が特定のモードを示している場合に、テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込むことを決定する決定部とを含む、装置を提供する。
 ここで、決定部は、目標容量のデータがテープ媒体に書き込まれると予測されることを条件の1つとして、第1のデータをテープ媒体に書き込んでから第1のデータの次の第2のデータをテープ媒体に書き込むまでにバックヒッチを行わないことを決定する、ものであってよい。
 決定部は、更に、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測されることを条件の1つとして、第1のデータをテープ媒体に書き込んでから第2のデータをテープ媒体に書き込むまでにバックヒッチを行わないことを決定する、ものであってよい。
 その場合、決定部は、テープ媒体に書き込まれた単位データを装置が用意する最速の読出し速度で読み出すのに要する時間と、テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれなかったテープ媒体上の領域を読み飛ばすのに要する時間との和が、単位データを目標の読出し速度で読み出すのに要する時間よりも短い場合に、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると判断する、ものであってよい。
 或いは、決定部は、テープ媒体に書き込まれた単位データと、テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれない領域に相当する容量のデータとを、装置が用意する最速の読出し速度で読み出すのに要する時間が、単位データを目標の読出し速度で読み出すのに要する時間よりも短い場合に、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると判断する、ものであってもよい。
 また、記憶部は、テープ媒体を収納するテープカートリッジの装填に応じて、テープ媒体にデータを書き込むアプリケーションプログラムの指示により、特定のモードを示すモード情報を記憶する、ものであってよい。
 或いは、記憶部は、テープ媒体を収納する特定のテープカートリッジの装填に応じて、特定のモードを示すモード情報を記憶する、ものであってもよい。
 また、本発明は、テープ媒体へのデータの書込みを制御する装置であって、装置のモードを示すモード情報を記憶する記憶部と、記憶部に記憶されたモード情報が特定のモードを示しており、テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータがテープ媒体に書き込まれると予測され、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測される場合に、第1のデータをテープ媒体に書き込んでから第1のデータの次の第2のデータをテープ媒体に書き込むまでにバックヒッチを行うことなく、目標容量のデータをテープ媒体に書き込むことを決定する決定部とを含む、装置も提供する。
 更に、本発明は、テープ媒体へのデータの書込みを制御する装置における方法であって、装置のモードを示すモード情報をメモリに記憶するステップと、メモリに記憶されたモード情報が特定のモードを示している場合に、テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込むことを決定するステップとを含む、方法も提供する。
 更にまた、本発明は、テープ媒体へのデータの書込みを制御する装置としてコンピュータを機能させるプログラムであって、コンピュータを、装置のモードを示すモード情報をメモリに記憶する手段と、メモリに記憶されたモード情報が特定のモードを示している場合に、テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込むことを決定する手段として機能させる、プログラムも提供する。
 本発明によれば、公称容量のうちのバックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込むことができる。
本発明の実施の形態が適用されるテープドライブの構成を示したブロック図である。 本発明の実施の形態における読出しデータレートに関する制御のうち、インターバルベースの制御について説明するための図である。 本発明の実施の形態における読出しデータレートに関する制御のうち、トランザクションサイズベースの制御について説明するための図である。 本発明の実施の形態におけるコントローラの機能構成例を示したブロック図である。 本発明の実施の形態におけるコントローラの第1の動作例を示した図である。 本発明の実施の形態のコントローラにおけるバックヒッチ判定部の第1の動作例を示した図である。 本発明の実施の形態におけるコントローラの第2の動作例を示した図である。 本発明の実施の形態のコントローラにおけるバックヒッチ判定部の第2の動作例を示した図である。 読出しデータレートとテープ速度との対応関係の例を示した図である。
 以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
 図1は、本実施の形態が適用されるテープドライブ10の構成例を示した図である。このテープドライブ10は、ホストインターフェイス(以下、「ホストI/F」という)11と、バッファ12と、チャネル13と、ヘッド14と、モータ15とを含む。また、コントローラ16と、ヘッド位置制御システム17と、モータドライバ18とを含む。更に、テープドライブ10には、テープカートリッジ20が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ20も図示している。このテープカートリッジ20は、リール21、22に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。尚、テープ23としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
 ここで、ホストI/F11は、上位装置の一例であるホスト30との通信を行う。例えば、ホスト30から、テープ23へのデータの書込みを指示するコマンド、テープ23を目的の位置に移動させるコマンド、テープ23からのデータの読出しを指示するコマンド、バッファ12に蓄積されたデータのテープ23への強制的な書込みを指示するコマンド(同期コマンド)を受け取る。尚、このホストI/F11で用いる通信規格としては、SCSIが例示される。SCSIの場合、1つ目のコマンドは、Writeコマンドに相当し、2つ目のコマンドは、LocateコマンドやSpaceコマンドに相当し、3つ目のコマンドは、Readコマンドに相当し、4つ目のコマンドは、WriteFM non-immediateコマンドに相当する。また、ホストI/F11は、ホスト30に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
 バッファ12は、テープ23に書き込むべきデータやテープ23から読み出されたデータを蓄積するメモリである。例えば、DRAM(Dynamic Random Access Memory)によって構成される。また、バッファ12は、複数のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセットを格納している。 チャネル13は、テープ23に書き込むべきデータをヘッド14に送ったり、テープ23から読み出されたデータをヘッド14から受け取ったりするために用いられる通信経路である。
 ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読み出したりする。
 モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
 一方、コントローラ16は、テープドライブ10の全体を制御する。例えば、ホストI/F11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読出しを制御する。また、ヘッド位置制御システム17やモータドライバ18の制御も行う。
 ヘッド位置制御システム17は、所望の1つ又は複数のラップを追跡するシステムである。ここで、ラップとは、テープ23上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド14を電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム17で行う。
 モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。
 本実施の形態では、かかる構成を有するテープドライブ10において、同期コマンドを受け取ってもバックヒッチを行わずにそのままテープ23を走行させ、次のデータを同じラップに書き込む。このように同じラップにバックヒッチを行わずにデータを書き込む方式は、SWBF(Same Wrap Backhitchless Flush)或いはSkip Syncと呼ばれるが、以下では、SWBFと呼ぶことにする。
 その際、本実施の形態では、公称容量(Nominal Capacity)を書き込むことを目的とするのではなく、公称容量よりも少ない目標容量(Target Capacity)を書き込むことを前提とした「高データレートモード」(特定のモードの一例)を用意する。ここで、目標容量とは、公称容量のうち、予め設定されたSWBF用マージンを除いた容量である。例えば、公称容量1.5TBのテープカートリッジ20において、0.5TBのマージンをテープ23に設定したとすると、目標容量は1.0TBとなる。この場合、高データレートモードでは、1.0TB以上のデータを書き込むことを目指すことになる。
 この高データレートモードを実現するためには、次のような技術的工夫が必要となる。 第一に、容量制御である。この制御では、予め設定された目標容量以上のデータを書き込むためにバックヒッチを行うべきかどうかが判断される。
 第二に、読出しデータレートに関する制御である。この制御では、読出しデータレートを考慮して、バックヒッチを行うべきかどうかが判断される。
 第三に、高データレートモードに関する制御である。この制御では、テープドライブ10がいつ高データレートモードになるかが決定される。
 以下、これらの制御を順に説明する。
<容量制御>
 テープドライブ10は、テープカートリッジ20の公称容量(Nominal Capacity)とは別に、予め定められた目標容量(Target Capacity)を保持している。
 そして、テープドライブ10は、同期コマンドを受け取った際に、下記の式1が成り立つか(TRUEであるか)、成り立たないか(FALSEであるか)を判断する。
 その結果、TRUEであると判断された場合は、目標容量分のデータをテープ23に書くために十分なマージンがあるとして、バックヒッチを行わずに、ホスト30から次のデータが送られてくるのを待つ。その後、規定時間以内に次のデータが準備できれば、書き込みを再開する。もし、規定時間以内に次のデータが準備できなければ、バックヒッチを行い、次のデータが準備できた時点で、最後に書いたデータの直後から次のデータをテープ23に書き出す。
 一方、FALSEであると判断された場合は、通常通りバックヒッチを行い、次のデータがホスト30から送られてくるのを待つ。
(式1)(C×r-n)×L<T-x
 ここで、各変数は、次のように定義する。
 Cは、公称容量1.5TBの場合の総データセット数である。例えば、データセットサイズが2.4MBであるとすると、C=1.5TB/2.4MB=625000となる。 Tは、有効テープ長であり、総テープ長から終端警告エリアの長さを減じて得られた値である。尚、終端警告エリアとは、テープ23の終端近くにあり、バッファ12に格納された全てのデータがテープ23の終端までに書き出されるように「Early Warning」という警告をホスト30に返すためのエリアである。
 rは、SWBF用マージン比率であり、SWBF用マージンの長さをTで除して得られた値である。例えば、目標容量が1.0TBで公称容量が1.5TBであるとすると、r=2/3となる。
 xは、最終データセット位置、つまり、最後に書かれたデータセットの物理位置である(0<x<T)。
 nは、最終データセット番号、つまり、最後に書かれたデータセットの番号である。
 Lは、データセット長である。尚、データセットは、書込みエラーが発生すると、再書き込みが行われるが、Lはこの再書き込みを考慮しない場合のデータセット長である。
 上記式1によってバックヒッチを行うかどうかを判断することにより、目標容量以上のデータをテープ23に書き込むことを目指し、かつ、同期コマンドによるバックヒッチの発生頻度を減らすことが可能になる。
<読出しデータレートに関する制御>
 SWBFを頻繁に実行するとテープ23に書き込まれるデータセットの間隔が広がり、このようなデータセットをテープ23から読み出す際の転送レートが著しく低下する可能性がある。例えば、24MB単位で同期コマンドを受け取り、式1に従って毎回SWBFを実行する場合を考える。この場合、1データセットが2.4MBであるとすると、10データセットがまとめてテープ23に書かれ、SWBFが実行され、データセットの間隔が空いて次のデータセットが書かれることになる。ここで、10データセットがまとめて書かれる場合のデータセットの間隔は非常に短いが、SWBFが実行された場合に空けられたデータセットの間隔は非常に長い(例えば3m)。
 通常、テープドライブ10の仕様に書かれている読み出し時の最大データ転送レートは、線密度/最高テープ速度で決定されている。線密度は、データセットサイズ/データセット長であり、SWBFによって発生するテープ23上のデータセットの間隔は考慮していない。よって、通常140MB/secで読出し可能なテープドライブ10において、最高テープ速度が5.987m/secであるとすると、上記の場合、以下に示すような計算により、読出しデータレートは、35MB/secとなる。
 SWBFのオーバーヘッド=3[m]/5.987[m/sec]=0.501[sec]
 10データセットを読み出す時間=10×2.4[MB]/140[MB/sec]=0.171[sec]
 平均読出し時間=読出し対象データのデータ量/(SWBFのオーバーヘッド+10データセットを読み出す時間)=10×2.4[MB]/(0.501[sec]+0.171[sec])=35[MB/sec]
 ここで、いくら書込み時のパフォーマンスが向上したとしても読出し時のパフォーマンスが著しく低下してしまうことを懸念するユーザの存在は否定できない。
 そこで、本実施の形態では、データ書込み時に、データ読出し時のパフォーマンスがどの程度まで劣化してもよいかを意識して、SWBFを行うかどうかを決定する。
 このような読出しデータレートに関する制御方式としては、大きく分けて2つの制御方式がある。
 第1の方式は、インターバルベースの制御方式である。
 次のデータが準備されるのを待つ時間であるインターバルを制御すれば、データセットの間の距離を制御することができる。これにより、ある距離におけるデータセット数を制御でき、読出しデータレートを制御することができる。
 具体的には、下記の式2によって導かれるThresholdを制御することにより読出しデータレートを制御する。LTOに準拠したテープドライブ10では、データセットの間隔の最大値は4mである。読出しデータレートを気にしないのであれば、上述の式1でTRUEと判断された後、4mを通過するまで、次のデータが準備されるのを待ち続ければよい。しかしながら、下記の式2を用いて、次のデータが準備されるのを待つ時間を制御することにより、読出しデータレートを制御する。即ち、式2のThresholdが0を超えていれば、SWBFを行い、Thresholdが0以下であれば、SWBFを行わないようにする。
(式2)Threshold = Target_Data_Size/Target_Read_Data_Rate - Target_Data_Size/Read_Data_Rate_with_Speed1 - Accumulated_Interval * Speed_X/Speed1
 ここで、各変数は、次のように定義する。
 Target_Data_Sizeは、パフォーマンスを測定するための単位データのサイズである。
 Target_Read_Data_Rateは、目標とする読出しデータレートである。
 Read_Data_Rate_with_Speed1は、テープ23を最高速度で走行した場合における読出しデータレートである。即ち、テープドライブ10は、上記単位データにつき、Target_Read_Data_Rateよりも速いRead_Data_Rate_with_Speed1を供給することを前提とする。
 Accumulated_Intervalは、Target_Data_Sizeのデータを書いている間にSWBFによって発生した時間であり、具体的には、Target_Data_Sizeのデータを書いている間における同期コマンドに応じた書込みの完了から次のデータの書込みまでの時間の累計である。
 Speed_Xは、SWBF実行中の書込みテープ速度である。Accumulated_Intervalはデータを書き込むときに測定した時間であるので、そのときのテープ速度Speed_Xを用いて、Speed1で読み飛ばすのに要する時間に変換している。
 例えば、Target_Data_Size:=100MB、Target_Read_Data_Rate:=100MB/sec、Read_Data_Rate_with_Speed1:=142MB/sec、Speed_X:=Speed1=5.987m/secとし、トランザクションサイズ(1つの同期コマンドに応じてテープ23に書き出されるデータ量)を10MB、トランザクション(1つの同期コマンドに応じたテープ23へのデータの書出し)の間のインターバルを全て0.1secとする。
 1つ目の同期コマンドに応じて10MBのデータを書き出したとき、Threshold = 100/100 - 100/142 - 0 = 0.29secとなる。この場合、Thresholdは0を超えているので、SWBFが行われる。
 次に、0.1秒後、2つ目の同期コマンドに応じて10MBのデータを書き出したとき、Threshold = 100/100 - 100/142 - 0.1 = 0.19secとなる。この場合も、Thresholdは0を超えているので、SWBFが行われる。
 また、0.1秒後、3つ目の同期コマンドに応じて10MBのデータを書き出したとき、Threshold = 100/100 - 100/142 - 0.2 = 0.09secとなる。この場合も、Thresholdは0を超えているので、SWBFが行われる。
 更に、0.1秒後、4つ目の同期コマンドに応じて10MBのデータを書き出したとき、Threshold = 100/100 - 100/142 - 0.3 = -0.91secとなる。この場合、Thresholdは0以下であるので、SWBFは行われない。
 即ち、SWBFを実行してから次のデータが準備されるまで時間が常に短ければ、同期コマンドを受け取る頻度が高くても読出しデータレートに影響がないため、SWBFを実行することになる。
 しかしながら、SWBFを実行してから次のデータが準備されるまでの時間が長くなれば、次のSWBFを実行する際には、次のデータが準備されるのを待つ時間を短くする。 こうすることにより、読出しデータレートの目標値を制御する。
 このインターバルベースの制御方式について、図を参照して説明する。
 図2は、テープ23のうち、パフォーマンスを測定するための単位データが書き込まれた部分を示した図である。
 図では、データが書き込まれた4つの領域を斜線ハッチングで示しており、各領域に書き込まれたデータのサイズを左から順にD1、D2、D3、D4とする。即ち、Target_Data_Size = D1 + D2 + D3 + D4である。そして、これらのデータをテープドライブ10が用意する最大の読出しデータレートRead_Data_Rate_with_Speed1で読み出すのに要する時間は、D1/Read_Data_Rate_with_Speed1 + D2/Read_Data_Rate_with_Speed1 + D3/Read_Data_Rate_with_Speed1 + D4/Read_Data_Rate_with_Speed1である。また、これらのデータの間には、SWBFを実行することによってデータが書き込まれなかった3つの領域がある。これらの領域をテープドライブ10が用意する最大のテープ速度(最大の読出しデータレートに対応するテープ速度)で読み飛ばすのに要する時間を順に、Interval1、Interval2、Interval3とする。即ち、Accumulated_Interval * Speed_X/Speed1 = Interval1 + Interval2 + Interval3である。
 この場合、最大のテープ速度でデータを読み出すことにより、単位データはTarget_Data_Size/Read_Data_Rate_with_Speed1 + Accumulated_Interval * Speed_X/Speed1という時間で読み出すことができる。従って、この時間が、Target_Data_Size/Target_Read_Data_Rateよりも短ければ、単位データを目標の読出しデータレートで読み出すことが可能であると言える。
 第2の方式は、トランザクションサイズベースの制御方式である。
 トランザクションサイズが小さいか、又は、蓄積されたデータのサイズが小さい場合には、SWBFを実行しないようにする。これにより、ある距離におけるデータセット数を制御でき、読出しデータレートを制御することができる。
 具体的には、下記の式3によって導かれるThresholdを制御することにより読出しデータレートを制御する。即ち、式3のThresholdが0を超えていれば、SWBFを行い、Thresholdが0以下であれば、SWBFを行わないようにする。
(式3)Threshold = Tx_Size/Target_Read_Data_Rate - ( Tx_Size + X )/Read_Data_Rate_with_Speed1
 ここで、各変数は、次のように定義する。
 Tx_Sizeは、トランザクションサイズ、つまり、上述の通り、1つの同期コマンドに応じてテープ23に書き出されるデータ量である。
 Target_Read_Data_Rateは、目標とする読出しデータレートである。
 Xは、SWBF後の最大空走距離から読出し可能なデータ量であり、X = Read_Data_Rate_with_Speed1*Max_Interval/Tape_Speedである。ここで、Max_Intervalは、SWBF後の最大空走距離であり、LTOに準拠したテープドライブ10では4mである。また、Tape_Speedは、現在のテープ23の速度である。
 Read_Data_Rate_with_Speed1は、テープ23を最高速度で走行した場合における読出しデータレートである。
 例えば、Target_Read_Data_Rate :=100、Read_Data_Rate_with_Speed1:=142MB/sec、Max_Interval:=4m、Tape_Speed:=5.987m/secとする。
 トランザクションサイズが230MBであるとすると、Threshold = 230/100 - ( 230 + 142*4/5.987)/142 = 0.012secとなる。この場合、Thresholdは0を超えているので、SWBFが行われる。
 また、トランザクションサイズが220MBであるとすると、Threshold = 220/100 - ( 220 + 142*4/5.987)/142 = -0.017secとなる。この場合、Thresholdは0以下であるので、SWBFは行われない。
 このトランザクションサイズベースの制御方式について、図を参照して説明する。
 図3は、テープ23のうち、1つのトランザクション分のデータが書き込まれた領域と、SWBFを実行することによってデータが書き込まれなかった領域とからなる部分を示した図である。
 図では、データが書き込まれた領域を斜線ハッチングで示しており、この領域に書き込まれたデータのサイズ、つまりトランザクションサイズをTx_Sizeとする。そして、このデータをテープドライブ10が用意する最大の読出しデータレートRead_Data_Rate_with_Speed1で読み出すのに要する時間は、Tx_Size/Read_Data_Rate_with_Speed1である。また、SWBFを実行することによってデータが書き込まれなかった領域に書き込み可能なデータのサイズをXとする。そして、このデータをテープドライブ10が用意する最大の読出しデータレートRead_Data_Rate_with_Speed1で読み出すのに要する時間、つまり、この領域を読み飛ばすのに要する時間は、X/Read_Data_Rate_with_Speed1である。
 この場合、最大のテープ速度でデータを読み出すことにより、1つのトランザクション分のデータ(単位データと捉えることもできる)は(Tx_Size + X)/Read_Data_Rate_with_Speed1という時間で読み出すことができる。従って、この時間が、Tx_Size/Target_Read_Data_Rateよりも短ければ、1つのトランザクション分のデータを目標の読出しデータレートで読み出すことが可能であると言える。
<高データレートモードに関する制御>
 テープドライブ10に高データレートモードを用意するに当たっては、いつテープドライブ10を高データレートモードに設定するかを考慮する必要がある。
 テープドライブ10を高データレートモードに設定する方法としては、下記のような方法が考えられる。
 第一に、アプリケーションプログラムがテープカートリッジ20をロードするたびに設定する方法である。即ち、テープカートリッジ20の装填に応じて、テープ23にデータを書き込むアプリケーションプログラムの指示により、高データレートモードに設定するという方法である。
 第二に、テープドライブ10が内部の不揮発性メモリに高データレートモードであることを記録しておき、アプリケーションプログラムに対してはトランスペアレントでありながら高データレートモードで動く方法である。この場合、不揮発性メモリへの高データレートモードであることの記録は、テープドライブ10の出荷時に行ってもよいし、テープドライブ10の出荷後の任意のタイミングでツール等を用いて行ってもよい。
 第三に、特定のテープカートリッジ20がロードされるとテープドライブ10が高データレートモードになる方法である。
 次に、このような動作を実現するためのコントローラ16の機能構成について説明する。
 図4は、コントローラ16の機能構成例を示したブロック図である。
 図示するように、コントローラ16は、コマンド処理部41と、バッファ管理部42と、チャネル入出力部43と、バックヒッチ判定部44と、モード情報記憶部45と、目標容量記憶部46と、履歴記憶部47と、動作信号出力部48とを備える。
 このうち、コマンド処理部41は、ホストI/F11からコマンドを受け取る。ここで、コマンドとしては、例えば、バッファ12にデータを格納することを指示するWriteコマンド、バッファ12に格納されたデータをテープ23に書き込む同期コマンド(WriteFMコマンド等)がある。
 バッファ管理部42は、コマンド処理部41がWriteコマンドを受け取った場合は、データをバッファ12内に用意する。また、コマンド処理部41が同期コマンドを受け取った場合は、データをバッファ12から読み出してチャネル入出力部43に出力する。 チャネル入出力部43は、バッファ管理部42がバッファ12から読み出したデータをチャネル13に出力したり、チャネル13から受け取ったデータをバッファ12に格納したりする。
 バックヒッチ判定部44は、目標容量をテープ23に書き出すことと、目標とする読出しデータレートを確保することのために、バックヒッチを行うべきかどうかを判定する。本実施の形態では、目標容量のデータをテープ媒体に書き込むことを決定したり、バックヒッチを行わないことを決定したりする決定部の一例として、バックヒッチ判定部44を設けている。
 モード情報記憶部45は、現在テープドライブ10が高データレートモードに設定されているかどうかを示すモード情報を記憶する。本実施の形態では、モード情報を記憶する記憶部の一例として、モード情報記憶部45を設けている。
 目標容量記憶部46は、テープ23の公称容量のうち書き込むべき目標容量の情報を記憶する。
 履歴記憶部47は、過去にテープ23に書き込んだデータセットのサイズや位置、データセット間の距離等の情報を含む履歴情報を記憶する。但し、履歴情報にはこれ以外の情報(例えば、エラーの発生に関する情報)を含めてもよい。
 動作信号出力部48は、モータドライバ18に対して、バックヒッチ判定部44で決定された動作を行うことを指示する信号を出力する。
 次に、コントローラ16の動作について説明する。
 図5は、コントローラ16の第1の動作例を示したフローチャートである。この第1の動作例は、上記読出しデータレートに関する制御におけるインターバルベースの制御方式に対応する。尚、この動作例は、バッファ12内のデータセットが同期コマンドに応じてテープ23に書き込まれているときに開始するものとする。
 コントローラ16では、このようなデータセットの書込み中に、バッファ管理部42が、バッファ12から最後のデータセットを読み出してチャネル入出力部43に渡し、チャネル入出力部43が、渡されたデータセットをテープ23に書き込む(ステップ401)。
 このとき、最後のデータセットがテープ23に書き込まれたことがバッファ管理部42に伝えられるので、バッファ管理部42は、バックヒッチ判定部44に対して、バックヒッチを行うかどうかを判定するよう指示する。これにより、バックヒッチ判定部44は、目標容量をテープ23に書き出し、かつ、目標とする読出しデータレートを確保するという観点からバックヒッチを行うかどうかを判定するバックヒッチ判定処理を行う(ステップ402)。尚、このバックヒッチ判定処理の詳細については後述する。そして、バックヒッチ判定処理における判定結果は、動作信号出力部48に出力される。
 これにより、動作信号出力部48は、判定結果がSWBFを実行すること(バックヒッチを行わないこと)を示しているかどうかを判定する(ステップ403)。
 ここで、判定結果がSWBFを実行することを示している場合、動作信号出力部48は、SWBFを実行することを決定する(ステップ404)。即ち、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力しない。
 一方、判定結果がSWBFを実行することを示していない場合、つまり、バックヒッチを行うことを示している場合、動作信号出力部48は、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力する(ステップ405)。
 このようにして、SWBFを行うことの決定、又は、バックヒッチの開始がなされると、その旨はコマンド処理部41に返され、コマンド処理部41は、同期コマンドの完了をホスト30に報告する(ステップ406)。
 その後、コマンド処理部41は、次のデータセットを受け付けてバッファ管理部42に受け渡し、バッファ管理部42が、受け付けたデータをバッファ12に格納する(ステップ407)。
 次に、バッファ管理部42は、新しい書込みを開始するために十分なデータセットが受け取られたかどうかを判定する(ステップ408)。そして、十分なデータセットが受け取られていないと判定されれば、ステップ406の終了後から一定時間経過したかどうかの判断に移り(ステップ409)、一定時間が経過していなければ、暫く待って(ステップ410)、再度ステップ408の判定を行う。一定時間が経過していれば、バッファ管理部42は、動作信号出力部48に制御を渡し、動作信号出力部48が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ412)。また、ステップ408で十分なデータセットが受け取られたと判定されれば、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短いかどうかを判定する(ステップ411)。例えば、その間隔が、データセット間隔の閾値よりも短いかどうかを判定すればよい。
 ここで、ステップ406の終了後から一定時間が経過した場合、及び、十分なデータセットを受け取った後、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が長い場合、バッファ管理部42は、動作信号出力部48に制御を渡し、動作信号出力部48が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ412)。そして、バッファ管理部42は、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ413)。
 一方、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短ければ、バックヒッチは行わずに、バッファ管理部42が、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ413)。
 その後、チャネル入出力部43が、現在の書込み位置の直近の単位データ(ターゲットデータ)が書き込まれた範囲内に生じたデータセット間の間隔の累計であるAccumulated_Intervalと、そのときのテープ速度Speed_Xとを取得し、履歴記憶部47に記憶する(ステップ414)。
 次に、ステップ402のバックヒッチ判定処理について詳細に説明する。
 図6は、バックヒッチ判定処理の流れを示したフローチャートである。
 バックヒッチ判定部44は、まず、モード情報記憶部45に記憶されたモード情報を取得する(ステップ501)。そして、モード情報が高データレートモードを示しているかどうかを判定する(ステップ502)。
 その結果、モード情報が高データレートモードを示していると判定されれば、バックヒッチ判定部44は、目標容量記憶部46から目標容量を取得する(ステップ503)。また、バックヒッチ判定部44は、総データセット数C、有効テープ長T、SWBF用マージン比率r、最終データサイズセット位置x、最終データセット番号n、データセット長Lを取得する(ステップ504)。このうち、C、T、Lは、予め内部に保持された設定情報から取得するとよい。また、rは、ステップ503で取得した目標容量を公称容量で除することによって求めるとよい。更に、x、nは、ステップ401で最後のデータセットを書き込んだときに得られるので、その値を取得するとよい。
 次に、バックヒッチ判定部44は、このようにして取得した値に関し、条件式「(C×r-n)×L<T-x」が成立するかどうかを判定する(ステップ505)。
 ここで、条件式が成立した場合、バックヒッチ判定部44は、Target_Data_Size、Target_Read_Data_Rate、Read_Data_Rate_with_Speed1、Accumulated_Interval、Speed_X、Speed1を取得する(ステップ506)。このうち、Target_Data_Size、Target_Read_Data_Rate、Read_Data_Rate_with_Speed1、Speed1は、予め内部に保持された設定情報から取得するとよい。また、Accumulated_Interval、Speed_Xは、ステップ414で履歴記憶部47に記憶されたものを取得するとよい。
 次に、バックヒッチ判定部44は、式「Threshold =  Target_Data_Size/Target_Read_Data_Rate - Target_Data_Size/Read_Data_Rate_with_Speed1 - Accumulated_Interval * Speed_X/Speed1」により、Thresholdを求め(ステップ507)、Thresholdが0より大きいかどうかを判定する(ステップ508)。
 その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ509)。
 一方、ステップ502でモード情報が高データレートモードを示していないと判定された場合、ステップ505で条件式「(C×r-n)×L<T-x」が成立しないと判定された場合、及び、ステップ508でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ510)。
 図7は、コントローラ16の第2の動作例を示したフローチャートである。この第2の動作例は、上記読出しデータレートに関する制御におけるトランザクションサイズベースの制御方式に対応する。尚、この動作例は、バッファ12内のデータセットが同期コマンドに応じてテープ23に書き込まれているときに開始するものとする。
 そして、この第2の動作例のステップ451~463は、上記第1の動作例のステップ401~413と同様であり、この第2の動作例は、ステップ414のようにAccumulated_Interval及びSpeed_Xを取得するステップを含んでいない点のみで上記第1の動作例と異なる。
 次に、ステップ452のバックヒッチ判定処理について詳細に説明する。
 図8は、バックヒッチ判定処理の流れを示したフローチャートである。
 このバックヒッチ判定処理の流れにおけるステップ551~555は、図6のステップ501~505と同様であるので、ここでの詳しい説明は省略する。
 ステップ555で、条件式「(C×r-n)×L<T-x」が成立した場合、バックヒッチ判定部44は、Tx_Size、Target_Read_Data_Rate、X、Read_Data_Rate_with_Speed1を取得する(ステップ556)。このうち、Tx_Sizeは、ステップ451で最後のデータセットを書き込んだときに得られるので、その値を取得するとよい。また、Target_Read_Data_Rate、Read_Data_Rate_with_Speed1は、予め内部に保持された設定情報から取得するとよい。更に、Xは、Read_Data_Rate_with_Speed1*Max_Interval/Tape_Speedであるので、予め内部に保持された設定情報から取得した値を用いて算出すればよい。
 次に、バックヒッチ判定部44は、式「Threshold =  Tx_Size/Target_Read_Data_Rate- ( Tx_Size + X )/Read_Data_Rate_with_Speed1」により、Thresholdを求め(ステップ557)、Thresholdが0より大きいかどうかを判定する(ステップ558)。
 その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ559)。
 一方、ステップ552でモード情報が高データレートモードを示していないと判定された場合、ステップ555で条件式「(C×r-n)×L<T-x」が成立しないと判定された場合、及び、ステップ558でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ560)。
 ここで、テープ23の速度の選択について説明する。
 まず、テープ23の速度がホスト30のデータレートに比べて速過ぎる場合、バックヒッチが発生するのでデータ転送を効率的に行えなくなる。一方、テープ23の速度がホスト30のデータレートに比べて遅過ぎる場合、テープ23へ書き込まれるのを待つデータがバッファ12に滞留してしまい、ホスト30との間の実質的なデータレートが低くなってしまう。こうしたことから、ホスト30から送られたデータをテープ23に書き込んだり、テープ23から読み出したデータをホスト30に送ったりする際、ホスト30のデータレートとテープ23からの読出しデータレートとは一致していることが好ましい。
 図9に、テープ23からの読出しデータレートとテープ速度との対応の一例を示している。図では、テープ速度を「SpeedX」(X=1,…,5)と表記しているが、具体的な数値(例えばSpeed1であれば、5.987m/sec)を用いてもよい。尚、図において、「SpeedX」は、Xの値が小さいほど、高速であるものとする。
 このような状況で、例えば、ホスト30のデータレートが100MB/secである場合を考える。この場合、通常は、読出しデータレート100MB/secに対応するテープ速度であるSpeed3でテープ23を走行させるのが適切であると考えられる。しかしながら、本実施の形態の場合は、データセットとデータセットの間に隙間が生じるので、Speed3でテープ23を走行させても、100MB/secの読出しデータレートを確保できない可能性がある。そこで、Speed2又はSpeed1でテープ23を走行させて、100MB/secの読出しデータレートを確保するのが好ましい。テープ速度としてSpeed1とSpeed2の何れが望ましいかは、特許文献1と同様の技術を用いて判定可能である。即ち、SWBFによって書込みの記録密度が低下したことを、エラーが発生したために記録密度が低下したことと捉えれば、特許文献1と同様の方法で、どのテープ速度が最適であるかを決定可能である。
 以上により、本実施の形態についての説明を終了する。
 このように、本実施の形態では、公称容量のうちのバックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込む高データレートモードを用意した。これにより、公称容量のうちの目標容量のデータをテープ媒体に書き込むことができるようになる。
 尚、本実施の形態では、テープ23の速度を変更するに先立ってバックヒッチを行うようにしたが、バックヒッチを行わずにテープ23の速度を変更する構成としてもよい。
 ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク-リードオンリーメモリ(CD-ROM)、コンパクトディスク-リード/ライト(CD-R/W)及びDVDが含まれる。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…テープドライブ、11…ホストI/F、12…バッファ、13…チャネル、14…ヘッド、15…モータ、16…コントローラ、17…ヘッド位置制御システム、18…モータドライバ

Claims (10)

  1.  テープ媒体へのデータの書込みを制御する装置であって、
     前記装置のモードを示すモード情報を記憶する記憶部と、
     前記記憶部に記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータを当該テープ媒体に書き込むことを決定する決定部と
    を含む、装置。
  2.  前記決定部は、前記目標容量のデータが前記テープ媒体に書き込まれると予測されることを条件の1つとして、第1のデータを当該テープ媒体に書き込んでから当該第1のデータの次の第2のデータを当該テープ媒体に書き込むまでにバックヒッチを行わないことを決定する、請求項1の装置。
  3.  前記決定部は、前記テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測されることを条件の1つとして、前記第1のデータを当該テープ媒体に書き込んでから前記第2のデータを当該テープ媒体に書き込むまでにバックヒッチを行わないことを決定する、請求項2の装置。
  4.  前記決定部は、前記テープ媒体に書き込まれた単位データを前記装置が用意する最速の読出し速度で読み出すのに要する時間と、当該テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれなかった当該テープ媒体上の領域を読み飛ばすのに要する時間との和が、当該単位データを前記目標の読出し速度で読み出すのに要する時間よりも短い場合に、前記テープ媒体からのデータの読出し速度が前記目標の読出し速度を満足すると判断する、請求項3の装置。
  5.  前記決定部は、前記テープ媒体に書き込まれた単位データと、当該テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれない領域に相当する容量のデータとを、前記装置が用意する最速の読出し速度で読み出すのに要する時間が、当該単位データを前記目標の読出し速度で読み出すのに要する時間よりも短い場合に、前記テープ媒体からのデータの読出し速度が前記目標の読出し速度を満足すると判断する、請求項3の装置。
  6.  前記記憶部は、前記テープ媒体を収納するテープカートリッジの装填に応じて、当該テープ媒体にデータを書き込むアプリケーションプログラムの指示により、前記特定のモードを示す前記モード情報を記憶する、請求項1の装置。
  7.  前記記憶部は、前記テープ媒体を収納する特定のテープカートリッジの装填に応じて、前記特定のモードを示す前記モード情報を記憶する、請求項1の装置。
  8.  テープ媒体へのデータの書込みを制御する装置であって、
     前記装置のモードを示すモード情報を記憶する記憶部と、
     前記記憶部に記憶された前記モード情報が特定のモードを示しており、前記テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータが当該テープ媒体に書き込まれると予測され、当該テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測される場合に、第1のデータを当該テープ媒体に書き込んでから当該第1のデータの次の第2のデータを当該テープ媒体に書き込むまでにバックヒッチを行うことなく、当該目標容量のデータを当該テープ媒体に書き込むことを決定する決定部と
    を含む、装置。
  9.  テープ媒体へのデータの書込みを制御する装置における方法であって、
     前記装置のモードを示すモード情報をメモリに記憶するステップと、
     前記メモリに記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータを当該テープ媒体に書き込むことを決定するステップとを含む、方法。
  10.  テープ媒体へのデータの書込みを制御する装置としてコンピュータを機能させるプログラムであって、
     前記コンピュータを、
     前記装置のモードを示すモード情報をメモリに記憶する手段と、
     前記メモリに記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータを当該テープ媒体に書き込むことを決定する手段と
    して機能させる、プログラム。
PCT/JP2010/062998 2009-11-13 2010-08-02 データの書込みを制御する装置及び方法 WO2011058794A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011540430A JP5476395B2 (ja) 2009-11-13 2010-08-02 データの書込みを制御する装置及び方法
DE112010004369.8T DE112010004369B4 (de) 2009-11-13 2010-08-02 Vorrichtung und Verfahren zum Steuern von Datenschreib-Vorgängen
GB1208355.6A GB2488689B (en) 2009-11-13 2010-08-02 Apparatus, method and computer program for controlling data writing to a tape medium
CN201080050613.6A CN102714047B (zh) 2009-11-13 2010-08-02 控制数据写入的装置及方法
US13/509,605 US8810951B2 (en) 2009-11-13 2010-08-02 Apparatus and method for controlling data writing to a tape medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009260042 2009-11-13
JP2009-260042 2009-11-13

Publications (1)

Publication Number Publication Date
WO2011058794A1 true WO2011058794A1 (ja) 2011-05-19

Family

ID=43991458

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/062998 WO2011058794A1 (ja) 2009-11-13 2010-08-02 データの書込みを制御する装置及び方法

Country Status (6)

Country Link
US (1) US8810951B2 (ja)
JP (1) JP5476395B2 (ja)
CN (1) CN102714047B (ja)
DE (1) DE112010004369B4 (ja)
GB (1) GB2488689B (ja)
WO (1) WO2011058794A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013125566A (ja) * 2011-12-14 2013-06-24 Internatl Business Mach Corp <Ibm> データを書き込む装置及び方法
US8913337B2 (en) 2009-12-22 2014-12-16 International Business Machines Corporation Controlling transportation of tape medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501221B2 (en) 2013-08-26 2016-11-22 International Business Machines Corporation Dynamically changing a buffer flush threshold of a tape drive based on historical transaction size
KR101914260B1 (ko) * 2014-04-22 2019-01-14 후아웨이 테크놀러지 컴퍼니 리미티드 파일 관리 방법 및 파일 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6249434A (ja) * 1985-08-28 1987-03-04 Oki Electric Ind Co Ltd カ−トリツジ磁気テ−プ装置
JPH06202814A (ja) * 1992-09-30 1994-07-22 Hitachi Ltd 磁気テープ記憶装置の記憶制御方法
JPH11239318A (ja) * 1998-02-20 1999-08-31 Sony Corp 映像記録再生方法および映像記録再生装置
JP2002528835A (ja) * 1998-10-20 2002-09-03 エクリー コーポレーション 磁気テープ駆動機構のための変速記録方法及び装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4176380A (en) * 1978-01-09 1979-11-27 International Business Machines Corporation Adaptive speed/interblock gap control for tape drive
JPH02201628A (ja) * 1989-01-31 1990-08-09 Nec Corp 磁気テープ装置のデータ転送制御方式
JP2591166B2 (ja) 1989-07-07 1997-03-19 オムロン株式会社 イメージスキャナ
EP0509637A3 (en) * 1991-03-15 1993-06-02 Fujitsu Limited Magnetic tape storage apparatus
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 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、制御方法、プログラム、及び記録媒体
US7107397B2 (en) 2003-05-29 2006-09-12 International Business Machines Corporation Magnetic tape data storage system buffer management
US6970311B2 (en) 2003-08-18 2005-11-29 International Business Machines Corporation Storing data to magnetic tape both to one set of tracks and in the same operation rewritten to another set of tracks
US7236322B2 (en) 2003-08-20 2007-06-26 International Business Machines Corporation Method, system, and program for storing data in a storage medium
US6958878B2 (en) 2003-10-27 2005-10-25 International Business Machines Corporation Forced backhitch for speed matching in a multi-speed tape drive
US7535664B1 (en) 2003-11-13 2009-05-19 Storage Technology Corporation Performance enhancement for tape write immediate operations
US6950257B1 (en) 2004-04-29 2005-09-27 International Business Machines Corporation Writing to magnetic tape with backhitchless backspacing and data set invalidation
US20060204209A1 (en) * 2005-03-09 2006-09-14 Exabyte Corporation Pause strategy for magnetic tape recording
JP4140913B2 (ja) 2005-05-12 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記録媒体の駆動を制御するための装置、方法、及びプログラム
JP4131517B2 (ja) * 2005-09-06 2008-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体にデータを書き込むための装置
JP3870215B1 (ja) 2005-09-30 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置のデータ書込み読取り制御方法
JP4912472B2 (ja) * 2007-11-05 2012-04-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 磁気テープへの書込み制御方法及びその方法を実行する磁気テープ装置
JP4954141B2 (ja) * 2008-05-30 2012-06-13 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体の走行を制御する装置及び方法
US7903363B2 (en) 2008-06-05 2011-03-08 International Business Machines Corporation Same Wrap backhitchless write method to encode data on a tape storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6249434A (ja) * 1985-08-28 1987-03-04 Oki Electric Ind Co Ltd カ−トリツジ磁気テ−プ装置
JPH06202814A (ja) * 1992-09-30 1994-07-22 Hitachi Ltd 磁気テープ記憶装置の記憶制御方法
JPH11239318A (ja) * 1998-02-20 1999-08-31 Sony Corp 映像記録再生方法および映像記録再生装置
JP2002528835A (ja) * 1998-10-20 2002-09-03 エクリー コーポレーション 磁気テープ駆動機構のための変速記録方法及び装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8913337B2 (en) 2009-12-22 2014-12-16 International Business Machines Corporation Controlling transportation of tape medium
US9087549B2 (en) 2009-12-22 2015-07-21 International Business Machines Corporation Apparatus and method for controlling transportation of tape medium
US9251838B2 (en) 2009-12-22 2016-02-02 International Business Machines Corporation Apparatus and method for controlling transportation of tape medium
US9646644B2 (en) 2009-12-22 2017-05-09 International Business Machines Corporation Apparatus and method for controlling transportation of tape medium
JP2013125566A (ja) * 2011-12-14 2013-06-24 Internatl Business Mach Corp <Ibm> データを書き込む装置及び方法

Also Published As

Publication number Publication date
CN102714047A (zh) 2012-10-03
US20120293887A1 (en) 2012-11-22
DE112010004369B4 (de) 2018-02-15
JPWO2011058794A1 (ja) 2013-03-28
GB2488689A (en) 2012-09-05
CN102714047B (zh) 2014-11-26
GB2488689B (en) 2018-10-03
DE112010004369T5 (de) 2012-11-22
US8810951B2 (en) 2014-08-19
GB201208355D0 (en) 2012-06-27
JP5476395B2 (ja) 2014-04-23

Similar Documents

Publication Publication Date Title
JP5385992B2 (ja) テープ媒体の走行を制御する装置及び方法
JP3870215B1 (ja) テープ記録装置のデータ書込み読取り制御方法
US8035912B2 (en) System and method for controlling traveling of tape
US10353624B2 (en) Apparatus and method for writing data to recording medium
JP4131517B2 (ja) テープ媒体にデータを書き込むための装置
JP4866412B2 (ja) 間欠的な複数の読取り要求に対して最適なテープ速度を選択可能なテープドライブ、テープドライブ記録システム、及び、最適なテープ速度の選択方法
US8693128B2 (en) Apparatus and method for writing data to tape medium
JP2011146105A (ja) データの書込みを制御する装置及び方法
JP5476395B2 (ja) データの書込みを制御する装置及び方法
JP5065203B2 (ja) データのフォーマットを変換する装置及び方法
US20120293886A1 (en) Tape storage device, data writing method, and program
JP6481492B2 (ja) テープ装置、制御装置および制御プログラム
US9412409B2 (en) Controlling a tape speed to manage a tape drive buffer
JP5764050B2 (ja) データを書き込む装置及び方法
JP2008146760A (ja) データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080050613.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10829754

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011540430

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13509605

Country of ref document: US

ENP Entry into the national phase

Ref document number: 1208355

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20100802

WWE Wipo information: entry into national phase

Ref document number: 1208355.6

Country of ref document: GB

Ref document number: 112010004369

Country of ref document: DE

Ref document number: 1120100043698

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10829754

Country of ref document: EP

Kind code of ref document: A1