WO2011058794A1 - データの書込みを制御する装置及び方法 - Google Patents
データの書込みを制御する装置及び方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/008—Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
- G11B5/00813—Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
- G11B5/00817—Recording 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/00821—Recording 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B15/00—Driving, 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/18—Driving; Starting; Stopping; Arrangements for control or regulation thereof
- G11B15/20—Moving record carrier backwards or forwards by finite amounts, i.e. backspacing, forward spacing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
- G11B5/09—Digital recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-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
Description
テープドライブが同期コマンドを受け取ると、テープドライブ内のバッファが空になるため、テープドライブは通常、「バックヒッチ」を行う。バックヒッチとは、テープ媒体の走行速度を減速して一旦停止し、逆方向に走行し、その後、再度元の方向に走行して書き込むべき位置に達して次のデータを書く、という一連の動作のことである。
このバックヒッチには通常2~3秒程度の時間を要する。次のデータの書出しはこのバックヒッチの完了後となるため、頻繁に同期コマンドを受け取ると書込みのパフォーマンスが著しく低下してしまう。
こうしたことから、従来、バックヒッチを行わなくて済むようにするための技術が提案されていた(例えば、特許文献1~3参照)。
決定部は、更に、テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測されることを条件の1つとして、第1のデータをテープ媒体に書き込んでから第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としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読み出したりする。
モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
ヘッド位置制御システム17は、所望の1つ又は複数のラップを追跡するシステムである。ここで、ラップとは、テープ23上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド14を電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム17で行う。
モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。
その際、本実施の形態では、公称容量(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から送られてくるのを待つ。
ここで、各変数は、次のように定義する。
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はこの再書き込みを考慮しない場合のデータセット長である。
SWBFを頻繁に実行するとテープ23に書き込まれるデータセットの間隔が広がり、このようなデータセットをテープ23から読み出す際の転送レートが著しく低下する可能性がある。例えば、24MB単位で同期コマンドを受け取り、式1に従って毎回SWBFを実行する場合を考える。この場合、1データセットが2.4MBであるとすると、10データセットがまとめてテープ23に書かれ、SWBFが実行され、データセットの間隔が空いて次のデータセットが書かれることになる。ここで、10データセットがまとめて書かれる場合のデータセットの間隔は非常に短いが、SWBFが実行された場合に空けられたデータセットの間隔は非常に長い(例えば3m)。
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つの制御方式がある。
次のデータが準備されるのを待つ時間であるインターバルを制御すれば、データセットの間の距離を制御することができる。これにより、ある距離におけるデータセット数を制御でき、読出しデータレートを制御することができる。
具体的には、下記の式2によって導かれるThresholdを制御することにより読出しデータレートを制御する。LTOに準拠したテープドライブ10では、データセットの間隔の最大値は4mである。読出しデータレートを気にしないのであれば、上述の式1でTRUEと判断された後、4mを通過するまで、次のデータが準備されるのを待ち続ければよい。しかしながら、下記の式2を用いて、次のデータが準備されるのを待つ時間を制御することにより、読出しデータレートを制御する。即ち、式2のThresholdが0を超えていれば、SWBFを行い、Thresholdが0以下であれば、SWBFを行わないようにする。
ここで、各変数は、次のように定義する。
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で読み飛ばすのに要する時間に変換している。
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を実行する際には、次のデータが準備されるのを待つ時間を短くする。 こうすることにより、読出しデータレートの目標値を制御する。
図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よりも短ければ、単位データを目標の読出しデータレートで読み出すことが可能であると言える。
トランザクションサイズが小さいか、又は、蓄積されたデータのサイズが小さい場合には、SWBFを実行しないようにする。これにより、ある距離におけるデータセット数を制御でき、読出しデータレートを制御することができる。
具体的には、下記の式3によって導かれるThresholdを制御することにより読出しデータレートを制御する。即ち、式3のThresholdが0を超えていれば、SWBFを行い、Thresholdが0以下であれば、SWBFを行わないようにする。
ここで、各変数は、次のように定義する。
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を最高速度で走行した場合における読出しデータレートである。
トランザクションサイズが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が高データレートモードになる方法である。
図4は、コントローラ16の機能構成例を示したブロック図である。
図示するように、コントローラ16は、コマンド処理部41と、バッファ管理部42と、チャネル入出力部43と、バックヒッチ判定部44と、モード情報記憶部45と、目標容量記憶部46と、履歴記憶部47と、動作信号出力部48とを備える。
バッファ管理部42は、コマンド処理部41がWriteコマンドを受け取った場合は、データをバッファ12内に用意する。また、コマンド処理部41が同期コマンドを受け取った場合は、データをバッファ12から読み出してチャネル入出力部43に出力する。 チャネル入出力部43は、バッファ管理部42がバッファ12から読み出したデータをチャネル13に出力したり、チャネル13から受け取ったデータをバッファ12に格納したりする。
モード情報記憶部45は、現在テープドライブ10が高データレートモードに設定されているかどうかを示すモード情報を記憶する。本実施の形態では、モード情報を記憶する記憶部の一例として、モード情報記憶部45を設けている。
目標容量記憶部46は、テープ23の公称容量のうち書き込むべき目標容量の情報を記憶する。
履歴記憶部47は、過去にテープ23に書き込んだデータセットのサイズや位置、データセット間の距離等の情報を含む履歴情報を記憶する。但し、履歴情報にはこれ以外の情報(例えば、エラーの発生に関する情報)を含めてもよい。
動作信号出力部48は、モータドライバ18に対して、バックヒッチ判定部44で決定された動作を行うことを指示する信号を出力する。
図5は、コントローラ16の第1の動作例を示したフローチャートである。この第1の動作例は、上記読出しデータレートに関する制御におけるインターバルベースの制御方式に対応する。尚、この動作例は、バッファ12内のデータセットが同期コマンドに応じてテープ23に書き込まれているときに開始するものとする。
コントローラ16では、このようなデータセットの書込み中に、バッファ管理部42が、バッファ12から最後のデータセットを読み出してチャネル入出力部43に渡し、チャネル入出力部43が、渡されたデータセットをテープ23に書き込む(ステップ401)。
ここで、判定結果がSWBFを実行することを示している場合、動作信号出力部48は、SWBFを実行することを決定する(ステップ404)。即ち、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力しない。
一方、判定結果がSWBFを実行することを示していない場合、つまり、バックヒッチを行うことを示している場合、動作信号出力部48は、モータドライバ18に対し、バックヒッチを開始する旨の信号を出力する(ステップ405)。
次に、バッファ管理部42は、新しい書込みを開始するために十分なデータセットが受け取られたかどうかを判定する(ステップ408)。そして、十分なデータセットが受け取られていないと判定されれば、ステップ406の終了後から一定時間経過したかどうかの判断に移り(ステップ409)、一定時間が経過していなければ、暫く待って(ステップ410)、再度ステップ408の判定を行う。一定時間が経過していれば、バッファ管理部42は、動作信号出力部48に制御を渡し、動作信号出力部48が、モータドライバ18に対し、バックヒッチを開始するように指示する信号を出力する(ステップ412)。また、ステップ408で十分なデータセットが受け取られたと判定されれば、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短いかどうかを判定する(ステップ411)。例えば、その間隔が、データセット間隔の閾値よりも短いかどうかを判定すればよい。
一方、現在のヘッド14の位置と最後に書かれたデータセットの終端の位置との間隔が短ければ、バックヒッチは行わずに、バッファ管理部42が、バッファ12からデータセットを読み出してチャネル入出力部43に受け渡し、チャネル入出力部43が、データセットをテープ23に書き込む(ステップ413)。
その後、チャネル入出力部43が、現在の書込み位置の直近の単位データ(ターゲットデータ)が書き込まれた範囲内に生じたデータセット間の間隔の累計であるAccumulated_Intervalと、そのときのテープ速度Speed_Xとを取得し、履歴記憶部47に記憶する(ステップ414)。
図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は、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に記憶されたものを取得するとよい。
その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ509)。
一方、ステップ502でモード情報が高データレートモードを示していないと判定された場合、ステップ505で条件式「(C×r-n)×L<T-x」が成立しないと判定された場合、及び、ステップ508でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ510)。
そして、この第2の動作例のステップ451~463は、上記第1の動作例のステップ401~413と同様であり、この第2の動作例は、ステップ414のようにAccumulated_Interval及びSpeed_Xを取得するステップを含んでいない点のみで上記第1の動作例と異なる。
図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であるので、予め内部に保持された設定情報から取得した値を用いて算出すればよい。
その結果、Thresholdが0より大きいと判定されれば、SWBFを実行することを判定結果とする(ステップ559)。
一方、ステップ552でモード情報が高データレートモードを示していないと判定された場合、ステップ555で条件式「(C×r-n)×L<T-x」が成立しないと判定された場合、及び、ステップ558でThresholdが0以下と判定された場合は、バックヒッチを行うことを判定結果とする(ステップ560)。
まず、テープ23の速度がホスト30のデータレートに比べて速過ぎる場合、バックヒッチが発生するのでデータ転送を効率的に行えなくなる。一方、テープ23の速度がホスト30のデータレートに比べて遅過ぎる場合、テープ23へ書き込まれるのを待つデータがバッファ12に滞留してしまい、ホスト30との間の実質的なデータレートが低くなってしまう。こうしたことから、ホスト30から送られたデータをテープ23に書き込んだり、テープ23から読み出したデータをホスト30に送ったりする際、ホスト30のデータレートとテープ23からの読出しデータレートとは一致していることが好ましい。
このような状況で、例えば、ホスト30のデータレートが100MB/secである場合を考える。この場合、通常は、読出しデータレート100MB/secに対応するテープ速度であるSpeed3でテープ23を走行させるのが適切であると考えられる。しかしながら、本実施の形態の場合は、データセットとデータセットの間に隙間が生じるので、Speed3でテープ23を走行させても、100MB/secの読出しデータレートを確保できない可能性がある。そこで、Speed2又はSpeed1でテープ23を走行させて、100MB/secの読出しデータレートを確保するのが好ましい。テープ速度としてSpeed1とSpeed2の何れが望ましいかは、特許文献1と同様の技術を用いて判定可能である。即ち、SWBFによって書込みの記録密度が低下したことを、エラーが発生したために記録密度が低下したことと捉えれば、特許文献1と同様の方法で、どのテープ速度が最適であるかを決定可能である。
このように、本実施の形態では、公称容量のうちのバックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータをテープ媒体に書き込む高データレートモードを用意した。これにより、公称容量のうちの目標容量のデータをテープ媒体に書き込むことができるようになる。
Claims (10)
- テープ媒体へのデータの書込みを制御する装置であって、
前記装置のモードを示すモード情報を記憶する記憶部と、
前記記憶部に記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータを当該テープ媒体に書き込むことを決定する決定部と
を含む、装置。 - 前記決定部は、前記目標容量のデータが前記テープ媒体に書き込まれると予測されることを条件の1つとして、第1のデータを当該テープ媒体に書き込んでから当該第1のデータの次の第2のデータを当該テープ媒体に書き込むまでにバックヒッチを行わないことを決定する、請求項1の装置。
- 前記決定部は、前記テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測されることを条件の1つとして、前記第1のデータを当該テープ媒体に書き込んでから前記第2のデータを当該テープ媒体に書き込むまでにバックヒッチを行わないことを決定する、請求項2の装置。
- 前記決定部は、前記テープ媒体に書き込まれた単位データを前記装置が用意する最速の読出し速度で読み出すのに要する時間と、当該テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれなかった当該テープ媒体上の領域を読み飛ばすのに要する時間との和が、当該単位データを前記目標の読出し速度で読み出すのに要する時間よりも短い場合に、前記テープ媒体からのデータの読出し速度が前記目標の読出し速度を満足すると判断する、請求項3の装置。
- 前記決定部は、前記テープ媒体に書き込まれた単位データと、当該テープ媒体をバックヒッチを行わずに走行させることによってデータが書き込まれない領域に相当する容量のデータとを、前記装置が用意する最速の読出し速度で読み出すのに要する時間が、当該単位データを前記目標の読出し速度で読み出すのに要する時間よりも短い場合に、前記テープ媒体からのデータの読出し速度が前記目標の読出し速度を満足すると判断する、請求項3の装置。
- 前記記憶部は、前記テープ媒体を収納するテープカートリッジの装填に応じて、当該テープ媒体にデータを書き込むアプリケーションプログラムの指示により、前記特定のモードを示す前記モード情報を記憶する、請求項1の装置。
- 前記記憶部は、前記テープ媒体を収納する特定のテープカートリッジの装填に応じて、前記特定のモードを示す前記モード情報を記憶する、請求項1の装置。
- テープ媒体へのデータの書込みを制御する装置であって、
前記装置のモードを示すモード情報を記憶する記憶部と、
前記記憶部に記憶された前記モード情報が特定のモードを示しており、前記テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータが当該テープ媒体に書き込まれると予測され、当該テープ媒体からのデータの読出し速度が目標の読出し速度を満足すると予測される場合に、第1のデータを当該テープ媒体に書き込んでから当該第1のデータの次の第2のデータを当該テープ媒体に書き込むまでにバックヒッチを行うことなく、当該目標容量のデータを当該テープ媒体に書き込むことを決定する決定部と
を含む、装置。 - テープ媒体へのデータの書込みを制御する装置における方法であって、
前記装置のモードを示すモード情報をメモリに記憶するステップと、
前記メモリに記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータを当該テープ媒体に書き込むことを決定するステップとを含む、方法。 - テープ媒体へのデータの書込みを制御する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記装置のモードを示すモード情報をメモリに記憶する手段と、
前記メモリに記憶された前記モード情報が特定のモードを示している場合に、前記テープ媒体の公称容量のうち、バックヒッチを行わないことによって書き込めなくなるデータの容量を除いた目標容量のデータを当該テープ媒体に書き込むことを決定する手段と
して機能させる、プログラム。
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)
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)
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)
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)
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 |
-
2010
- 2010-08-02 DE DE112010004369.8T patent/DE112010004369B4/de active Active
- 2010-08-02 WO PCT/JP2010/062998 patent/WO2011058794A1/ja active Application Filing
- 2010-08-02 JP JP2011540430A patent/JP5476395B2/ja active Active
- 2010-08-02 CN CN201080050613.6A patent/CN102714047B/zh active Active
- 2010-08-02 US US13/509,605 patent/US8810951B2/en active Active
- 2010-08-02 GB GB1208355.6A patent/GB2488689B/en active Active
Patent Citations (4)
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)
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 |