Optimizing tape speed for a sync operation
AssigneeInternational Business Machines Corporation
InventorsHiroshi Itagaki, James Mitchell Karp, Takashi Katagiri
Life of this patent
Estimating the term…
Abstract
Provided are techniques for determining a tape speed for a next sync operation. A sync command is received. An average transaction size and an average host transfer rate of a set of previous sync operations are calculated. The tape speed for the next sync operation is determined using the average transaction size, the average host transfer rate, and a backhitch time. Data is written to a tape cartridge using the determined tape speed.
Claims30
A computer-implemented method for determining a tape speed for a next sync operation, comprising:
- receiving a sync command that writes data in a tape drive data buffer onto a tape cartridge while a backhitch is being performed;
- calculating an average transaction size and an average host transfer rate of a set of previous sync operations;
- determining the tape speed for the next sync operation using the average transaction size, the average host transfer rate, and a backhitch time by calculating:
- T(i)=Backhitch_Time(i)+Average_Transaction_Size/Media_Transfer_Rate(i),
- wherein the Media_Transfer_Rate(i) is determined based on a density of a tape;
- and
- writing data to a tape cartridge using the determined tape speed.
A computer-implemented method for determining a tape speed for a sync operation, comprising:
- calculating a first variable “S” that represents an expected time to transfer data from a first source to a tape drive;
- calculating a second variable “T” that represents an expected time of a sync operation, wherein the second variable is dependent on a current tape speed and a third variable “i” that represents another tape speed by calculating:
- T(i)=Backhitch_Timed)+Average_Transaction_Size/Media_Transfer_Rated(i),
- wherein the Backhitch_Timed) is dependent on the current tape speed and the third variable “i”, and wherein the Media_Transfer_Rate is dependent on the third variable “i”;
- in response to determining that a value of the first variable is greater than a value of the second variable,
- determining whether there is a slower speed available that is slower than a value of the third variable;
- and
- in response to determining that there is no slower speed, outputting the value of the third variable as the tape speed for the sync operation.
A computer-implemented method for determining a tape speed for a sync operation, comprising:
- calculating a first variable “S” that represents an expected time to transfer data from a first source to a tape drive;
- calculating a second variable “T” that represents an expected time of a sync operation, wherein the second variable is dependent on a current tape speed and a third variable “i” that represents another tape speed, wherein calculating the second variable comprises:
- generating a backhitch time that is dependent on the current tape speed and the third variable, wherein generating the backhitch time comprises calculating:
- Current_Tape_Speed/A+√{square root over ((2*(Y−Z)/A))}+i/A
- where A represents an acceleration, Y represents a position to which deceleration occurs, and Z represents a position to which there is a backward move;
- and
- dividing an average transaction size by a media transfer rate, wherein the media transfer rate is dependent on the third variable “i”;
- and
- in response to determining that a value of the first variable is greater than a value of the second variable,
- determining whether there is a slower speed available that is slower than a value of the third variable;
- and
- in response to determining that there is no slower speed, outputting the value of the third variable as the tape speed for the sync operation.
A computer program product comprising a computer-readable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
- receive a sync command that writes data in a tape drive data buffer onto a tape cartridge while a backhitch is being performed;
- calculate an average transaction size and an average host transfer rate of a set of previous sync operations;
- determine the tape speed for the sync operation using the average transaction size, the average host transfer rate, and a backhitch time by calculating:
- T(i)=Backhitch_Time(i)+Average_Transaction_Size/Media_Transfer_Rate(i),
- wherein the Media_Transfer_Rate(i) is determined based on a density of a tape;
- and
- write data to a tape cartridge using the determined tape speed.
A computer program product comprising a computer-readable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
- calculate a first variable “S” that represents an expected time to transfer data from a first source to a tape drive;
- calculate a second variable “T” that represents an expected time of a sync operation, wherein the second variable is dependent on a current tape speed and a third variable “i” that represents another tape speed by calculating:
- T(i)=Backhitch_Time(i)+Average_Transaction_Size/Media_Transfer_Rate(i),
- wherein the Backhitch_Time(i) is dependent on the current tape speed and the third variable “i”, and wherein the Media_Transfer_Rate is dependent on the third variable “i”;
- and
- in response to determining that a value of the first variable is greater than a value of the second variable,
- determine whether there is a slower speed available that is slower than a value of the third variable;
- and
- in response to determining that there is no slower speed, output the value of the third variable as the tape speed for the sync operation.
A computer program product comprising a computer-readable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
- calculate a first variable “S” that represents an expected time to transfer data from a first source to a tape drive;
- calculate a second variable “T” that represents an expected time of a sync operation, wherein the second variable is dependent on a current tape speed and a third variable “i” that represents another tape speed, wherein calculating the second variable comprises:
- generating a backhitch time that is dependent on the current tape speed and the third variable, wherein generating the backhitch time comprises calculating:
- Current_Tape_Speed/A+√{square root over ((2*(Y−Z)/A))}i/A
- where A represents an acceleration, Y represents a position to which deceleration occurs, and Z represents a position to which there is a backward move;
- and
- dividing an average transaction size by a media transfer rate, wherein the media transfer rate is dependent on the third variable “i”;
- and
- in response to determining that a value of the first variable is greater than a value of the second variable,
- determine whether there is a slower speed available that is slower than a value of the third variable;
- and
- in response to determining that there is no slower speed, output the value of the third variable as the tape speed for the sync operation.
A system for determining a tape speed for a sync operation, comprising:
- hardware logic capable of performing operations, the operations comprising:
- receiving a sync command that writes data in a tape drive data buffer onto a tape cartridge while a backhitch is being performed;
- calculating an average transaction size and an average host transfer rate of a set of previous sync operations;
- determining the tape speed for the sync operation using the average transaction size, the average host transfer rate, and a backhitch time by calculating:
- T(i)=Backhitch_Time(i)+Average_Transaction_Size/Media_Transfer_Rate(i),
- wherein the Media_Transfer_Rate(i) is determined based on a density of a tape;
- and
- writing data to a tape cartridge using the determined tape speed.
A system for determining a tape speed for a sync operation, comprising:
- hardware logic capable of performing operations, the operations comprising:
- calculating a first variable “S” that represents an expected time to transfer data from a first source to a tape drive;
- calculating a second variable “T” that represents an expected time of a sync operation, wherein the second variable is dependent on a current tape speed and a third variable “i” that represents another tape speed by calculating:
- T(i)=Backhitch_Timed(i)+Average_Transaction_Size/Media_Transfer_Rate(i),
- wherein the Backhitch_Time(i) is dependent on the current tape speed and the third variable “i”, and wherein the Media_Transfer_Rate is dependent on the third variable “i”;
- and
- in response to determining that a value of the first variable is greater than a value of the second variable,
- determining whether there is a slower speed available that is slower than a value of the third variable;
- and
- in response to determining that there is no slower speed, outputting the value of the third variable as the tape speed for the sync operation.
A system for determining a tape speed for a sync operation, comprising:
- hardware logic capable of performing operations, the operations comprising:
- calculating a first variable “S” that represents an expected time to transfer data from a first source to a tape drive;
- calculating a second variable “T” that represents an expected time of a sync operation, wherein the second variable is dependent on a current tape speed and a third variable “i” that represents another tape speed, wherein operations for calculating the second variable comprises:
- generating a backhitch time that is dependent on the current tape speed and the third variable, wherein operations for generating the backhitch time further comprises calculating:
- Current_Tape_Speed/A+√{square root over ((2*(Y−Z)/A))}+i/A
- where A represents an acceleration, Y represents a position to which deceleration occurs, and Z represents a position to which there is a backward move and
- dividing an average transaction size by a media transfer rate, wherein the media transfer rate is dependent on the third variable “i” and
- in response to determining that a value of the first variable is greater than a value of the second variable,
- determining whether there is a slower speed available that is slower than a value of the third variable;
- and
- in response to determining that there is no slower speed, outputting the value of the third variable as the tape speed for the sync operation.
Dependencies are inferred from the claim text.