Adaptive tape calibration criteria based on number of failed tracks

By using an adaptive tape calibration criterion to adjust the calibration threshold based on the number of failed tracks, the problem of unnecessary calibration caused by failed tracks is solved, thus improving the transmission efficiency of the tape drive.

CN116806356BActive Publication Date: 2026-04-14INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-08
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

When faced with a failed track, the calibration process of existing tape drives causes an unnecessary reduction in transfer rate, and cannot effectively avoid rewriting caused by the failed track.

Method used

By using adaptive tape calibration criteria, the calibration threshold is adjusted based on the number of failed tracks, and calibration is performed only when the number of rewrites exceeds a specific threshold, thus avoiding unnecessary calibration operations.

Benefits of technology

It improves the transfer efficiency of the tape drive, reduces unnecessary calibration operations, and increases the system throughput.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116806356B_ABST
    Figure CN116806356B_ABST
Patent Text Reader

Abstract

In a method of adaptive tape calibration criteria based on number of failed tracks, a number of rewrite occurrences for each failed track on a tape drive is determined. In response to detecting that a head is in a failed track state, the number of failed tracks is stored on the tape drive. A calibration threshold is determined, where the calibration threshold comprises the number of failed track rewrite occurrences and a calibration reference value for a particular tape drive type. In response to the number of rewrite occurrences exceeding the calibration threshold when writing a data set, a calibration of the tape drive is performed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention generally relates to the field of magnetic tape-based data storage, and more specifically to an adaptive magnetic tape calibration criterion based on the number of failed tracks. Background Technology

[0002] Magnetic tape data storage is a system used to store digital information on magnetic tape using digital recording. Today, most magnetic tapes are packaged in tape cartridges and cassettes. Currently, magnetic tape is the preferred solution for long-term data storage because much of the recorded data does not require immediate access. Although the technology may seem obsolete, it has made tremendous progress since its initial use. The first commercial digital magnetic tape storage systems stored roughly megabytes of data on a single reel of tape, but modern tape cartridges hold 15 megabytes or more, and capacities continue to increase.

[0003] The reason tape drives are still used today (especially for offline data backup) is due to long-term archive stability and a very favorable unit cost. Although data stored on tape cannot be accessed as quickly as data stored on a hard drive, the storage is more energy-efficient and reliable. Tape storage is also more cost-effective, typically costing as little as one-sixth of the cost of storing the same amount of data on a disk. And while the rate of increase in disk drive capacity has slowed, the capacity stored on tape still increases by approximately 33% per year.

[0004] On a tape drive, a channel is the process of converting digital signals into analog signals and outputting analog signals from data tracks to the tape, or reading analog signals from the tape and converting them back into digital signals. Depending on the state of each head element, the channel determines optimal values ​​for various parameters based on the amount of current flowing through the head to optimize signal input and output. For each head, these values ​​are stored in the tape drive's vital product data (VPD), which is the tape drive's non-volatile memory. When data is read from or written to the tape, the values ​​stored in the VPD are set in registers of components controlling the channel.

[0005] These channel parameters are adjusted during initial configuration of the tape drive immediately after shipment or when reconfiguration is required due to head or tape media deterioration. This adjustment is called calibration. Calibration is the process of adjusting the channel settings for each track. When calibration is performed, various parameters are optimized by moving to areas on the tape media where user data has not been written and repeatedly writing and reading data until optimal values ​​are determined. For example, while calibration data is being written to the tape, the voltage / amplitude level of each track is simultaneously changed, and then the signal-to-noise ratio is measured when the data is read back. Calibration then independently selects channel parameters from the optimal results for each track. This calibration process is time-consuming, which reduces the tape drive's transfer rate because new data cannot be written while calibration is being performed.

[0006] A growing number of users are concerned about the reduced transfer rate caused by calibration. These users want to avoid performing tape drive calibration when it is not necessary. One such situation where calibration is unnecessary is when it attempts to reduce rewrites actually caused by failed tracks, since calibration cannot repair failed tracks. The problem addressed by this invention is to avoid tape drive calibration that reduces tape throughput when rewrites are caused by failed tracks. Summary of the Invention

[0007] Embodiments of the present invention include a computer-implemented method, computer program product, and system for an adaptive tape calibration criterion based on the number of failed tracks. In a first embodiment, the number of rewrites occurring for each failed track on a tape drive is determined. In response to detecting that a head is in a failed track state, the number of failed tracks is stored on the tape drive. A calibration threshold is determined, wherein the calibration threshold includes the number of failed track rewrites and a calibration reference value for a specific tape drive type. In response to the number of rewrites exceeding the calibration threshold during data writing, calibration of the tape drive is performed.

[0008] Embodiments of the present invention include a computer-implemented method and computer program product for an adaptive tape calibration criterion based on the number of failed tracks. In a second embodiment, the number of rewrites occurring for each failed track on a tape drive is determined. In response to detecting that a head is in a failed track state, the number of failed tracks is stored on the tape drive. A first threshold and a second threshold are determined, wherein the first threshold includes the number of failed track rewrites and a calibration reference value for a specific tape drive type, and further, wherein the second threshold includes a calibration reference value for a specific tape drive type and a calibration rewrite number. In response to the number of rewrites occurring exceeding the first threshold while writing a dataset, tape drive calibration is performed. In response to the number of rewrites occurring exceeding the second threshold while writing a dataset, tape drive refresh is performed. Attached Figure Description

[0009] Figure 1This is a functional block diagram illustrating a distributed data processing environment according to an embodiment of the present invention.

[0010] Figure 2 It is a description of an embodiment according to the present invention. Figure 1 A flowchart of the operational steps performed by an adaptive calibration procedure on a tape device within a distributed data processing environment, used to determine the number of retries during a write operation on a drive with a failed track in a head.

[0011] Figure 3 It is a description of an embodiment according to the present invention. Figure 1 A flowchart of the operational steps performed by an adaptive calibration procedure for storing information about failed tracks during a write operation on a magnetic tape device within a distributed data processing environment.

[0012] Figure 4 It is a description of an embodiment according to the present invention. Figure 1 A flowchart of the operational steps performed by an adaptive calibration procedure on a magnetic tape device within a distributed data processing environment, used to store information about failed tracks during calibration.

[0013] Figure 5 It is a description of an embodiment according to the present invention. Figure 1 A flowchart of the operational steps performed by an adaptive calibration procedure on a tape device within a distributed data processing environment, using reference values ​​to determine the number of rewrites to determine whether calibration should be performed.

[0014] Figure 6 It is a description of an embodiment according to the present invention. Figure 1 A flowchart of the operational steps performed by an adaptive calibration procedure to determine whether calibration should be performed on a magnetic tape device within a distributed data processing environment.

[0015] Figure 7 It is a description of an embodiment according to the present invention. Figure 1 A flowchart of the operational steps performed by an adaptive calibration procedure 132 on a tape device within a distributed data processing environment, using reference values ​​to determine the number of rewrites to determine whether calibration or refresh should be performed.

[0016] Figure 8 It is a description of an embodiment according to the present invention. Figure 1 A flowchart of the operational steps performed by an adaptive calibration procedure to determine whether calibration or refresh should be performed on a tape device within a distributed data processing environment.

[0017] Figure 9 The embodiments of the present invention are described in Figure 1A block diagram of the components of a tape device that performs adaptive calibration procedures within a distributed data processing environment. Detailed Implementation

[0018] In a tape drive, write and read heads are arranged in pairs, and during writing, immediately after data is written onto the tape medium, the read head reads the data back from the tape. If the read data does not match the written data, the drive uses the other head to write the unwritten data. This mechanism of rewriting is called rewriting. As the tape moves and data is written, the tape drive counts the frequency of rewriting and determines whether calibration is necessary. When calibration has been determined to be necessary, and the tape approaches the calibration area, calibration is performed to optimize channel parameters.

[0019] In this invention, the rewriting of heads that are no longer functioning properly is checked. The state in which a head element ceases to function is called a dead track. Typical linear open-tap (LTO) tape drives utilize error correction codes (ECC) to write redundant data between written data, enabling the reading back of data written by a drive with a certain number of dead tracks. However, if dead tracks exist, the rewriting frequency will always increase at a constant rate. Because this is not taken into account, even if rewriting occurs due to a small amount of fragmentation, the rewriting frequency exceeds a threshold and performs calibrations that reduce the transfer rate. For dead track heads, adjusting channel parameters does not reduce the rewriting frequency, meaning unnecessary calibrations are performed.

[0020] Embodiments of the present invention describe a mechanism for changing the reference value of calibration caused by rewrites to take into account the number of rewrites caused by the failed track when a failed track is detected.

[0021] A dataset is the smallest unit written to the tape by a tape drive. In a typical tape drive example (e.g., an LTO tape drive with 32 head elements), a dataset consists of 192 codeword interleaved (CWI) dataset units, which are written simultaneously using all 32 heads. In embodiments, for each specific type of tape drive product, the rewrite frequency for each failed track is pre-measured. Each time a dataset is written or the tape drive is calibrated, the tape drive checks any head for failed tracks, and if a failed track is detected, this information is stored in the tape drive's non-volatile memory.

[0022] In one embodiment, when determining whether to perform calibration, the rewrite frequency corresponding to the number of heads with failed tracks is added to a reference value for the number of rewrites required to perform calibration. In another embodiment, the determination of whether to perform calibration is made by comparing the reference value, which includes the number of rewrites due to failed tracks, with the rewrite frequency occurring during actual writing.

[0023] The following is an example. For this example, we confirm that the LTO tape drive has one head in a failed track state. In the example LTO drive, a dataset consists of 192 CWI sets. In this example, one track in the forward direction is in a failed track state, while the track in the reverse direction is in a very good state.

[0024] As a result of the measurement, it was determined that an average of 1.44 CWI sets were rewritten per dataset in reverse order. In contrast, an average of 9.24 CWI sets were rewritten per dataset in forward order. Based on the above data, when there is a head in a failed track state, the number of rewrites occurring using a head in a failed track state was calculated to be approximately 7.8 CWI rewrite sets per dataset (9.24 CWI sets for the failed track minus 1.44 CWI sets for the good track). Therefore, 4% of the CWI sets are rewritten per dataset, i.e., 7.8 rewrites for the failed track divided by 192 CWI sets in a dataset. Note that this value is greater than the value for a single head. If a track fails on a tape drive with 32 tracks, then 1 track / 32 tracks = 3.125% of the tracks are not working. Therefore, typically, the drive rewrites 3.125% of the CWI sets that were not correctly written to the tape. However, the driver uses all tracks for rewriting, meaning that failed tracks are reused for the rewrite operation. Therefore, the number of CWI sets used for rewriting is greater than 3.125%, so 4% is used instead.

[0025] Therefore, to determine whether calibration should be performed on the drive, only the reference value used for rewriting is pre-added by 7.8 in the forward direction, and the resulting reference value is compared to the number of rewrites that occurred per dataset during actual writing. In the example LTO drive, we determined the reference value to be 9, so the reference value in the forward direction was set to 16.8 (7.8 for the failed track plus the reference value of 9 for this particular drive type), but the reference value in the reverse direction remained at 9.

[0026] Now consider an example of existing technology that does not correct the reference value by taking into account the number of failed tracks, where the drive typically introduces only 1.3 rewrites per dataset on average, without counting the rewrites caused by failed tracks. Since a failed track will on average introduce 7.8 rewrites caused by the failed track, the average rewrites plus the failed track rewrites exceed the reference value of 9, which will lead to the need for calibration. Therefore, since the vast majority of rewrites are caused by failed tracks that cannot be corrected by calibration, unnecessary calibration will be performed, thus reducing the tape drive throughput.

[0027] In embodiments of the invention, the reference value is altered to account for heads in a failed track state, thereby preventing calibration until the number of rewrites exceeds 16.8. In other words, calibration is performed only when truly necessary. In the example above, where the driver averages only 1.3 rewrites per dataset, even when including rewrites caused by failed tracks (average 7.8), unnecessary calibration will not be performed because the number of rewrites does not exceed the new threshold of 16.8.

[0028] Figure 1 This is a functional block diagram illustrating a distributed data processing environment (generally designated 100) suitable for operation of an adaptive calibration procedure 132 according to at least one embodiment of the present invention. As used herein, the term "distributed" describes a computer system comprising multiple physically distinct devices that operate together as a single computer system. Figure 1 This illustration provides only one implementation and does not imply any limitation regarding the environments in which different embodiments may be implemented. Those skilled in the art can make numerous modifications to the described environments without departing from the scope of the invention as set forth in the claims.

[0029] The distributed data processing environment 100 includes a computing device 110 connected to a network 120 and a magnetic tape device 130 connected to the computing device 110. The network 120 may be, for example, a telecommunications network, a local area network (LAN), a wide area network (WAN) (such as the Internet), or a combination of all three, and may include wired, wireless, or fiber optic connections. The network 120 may include one or more wired and / or wireless networks capable of receiving and transmitting data, voice, and / or video signals (including multimedia signals containing voice, data, and video information). Generally, the network 120 may be any combination of connections and protocols that support communication between the computing device 110 and other computing devices (not shown) within the distributed data processing environment 100.

[0030] Computing device 110 may be a standalone computing device, management server, web server, mobile computing device, or any other electronic device or computing system capable of receiving, sending, and processing data. In one embodiment, computing device 110 may be a laptop computer, tablet computer, netbook computer, personal computer (PC), desktop computer, personal digital assistant (PDA), smartphone, or any programmable electronic device capable of communicating via network 120 with other computing devices (not shown) within the distributed data processing environment 100. In another embodiment, computing device 110 may represent a server computing system, such as one that utilizes multiple computers as server systems in a cloud computing environment. In yet another embodiment, computing device 110 represents a computing system utilizing a cluster of computers and components (e.g., database server computers, application server computers) that act as a single, seamless resource pool when accessed within the distributed data processing environment 100.

[0031] In one embodiment, the magnetic tape device 130 includes an adaptive calibration program 132. In another embodiment, the adaptive calibration program 132 is a program, application, or subroutine of a larger program for an adaptive magnetic tape calibration criterion based on the number of failed tracks.

[0032] In one embodiment, the tape device 130 includes an information repository 134. In another embodiment, the information repository 134 may be managed by an adaptive calibration program 132. In an alternative embodiment, the information repository 134 may be managed separately by the device's operating system or together with the adaptive calibration program 132. The information repository 134 is a data repository capable of storing, collecting, comparing, and / or combining information. In some embodiments, the information repository 134 is located external to the tape device 130 and accessed via a communication network (such as network 120). In some embodiments, the information repository 134 is stored on the tape device 130. In some embodiments, the information repository 134 may reside on another computing device (not shown), provided that the information repository 134 is accessible by the tape device 130. The information repository 134 includes, but is not limited to, tape drive configuration data, tape drive error data, tape cartridge error data, tape calibration data, storage system configuration data, file system data, and other data received by the adaptive calibration program 132 from one or more sources, as well as data created by the adaptive calibration program 132.

[0033] As is known in the art, the information repository 134 can be implemented using any volatile or non-volatile storage medium for storing information. Similarly, the information repository 134 can be implemented using any suitable storage architecture known in the art, such as a relational database, an object-oriented database, or one or more tables.

[0034] Figure 2It is a description of an embodiment according to the present invention. Figure 1 The flowchart illustrates the operational steps performed by an adaptive calibration program 132 on a magnetic tape device within a distributed data processing environment, as part of a preparation process for determining the number of retries occurring during a write operation on a drive with a failed track in a head. In an alternative embodiment, the steps of workflow 200 may be performed by any other program while working in conjunction with the adaptive calibration program 132. In one embodiment, the adaptive calibration program 132 measures the number of rewrites on a drive with a failed track in a head. In another embodiment, the adaptive calibration program 132 measures the number of rewrites on a good drive (i.e., a drive without failed tracks). In yet another embodiment, the adaptive calibration program 132 calculates the rewrite R specifically caused by the failed track.

[0035] It should be understood that embodiments of the present invention at least provide a preparation process for the adaptive calibration procedure 132, wherein the number of retries is determined during a write operation on a driver with a failed track in a magnetic head. However, Figure 2 This illustration provides only one implementation and does not imply any limitation regarding the environments in which different embodiments may be implemented. Those skilled in the art can make numerous modifications to the described environments without departing from the scope of the invention as set forth in the claims.

[0036] Adaptive calibration procedure 132 measures the number of rewrites on the failed track driver → R dt (Step 202). In an embodiment, the adaptive calibration procedure 132 measures the number of rewrites on a driver with a failed track in a magnetic head. In an embodiment, the adaptive calibration procedure 132 stores this value in R. dt In this context, dt represents the number of faulty tracks in a specific magnetic head.

[0037] Adaptive calibration procedure 132 measures the number of rewrites on a good driver → R gd (Step 204). In an embodiment, the adaptive calibration procedure 132 measures the number of rewrites on a good drive (i.e., a drive without failed tracks). In an embodiment, the adaptive calibration procedure 132 stores this value in R. gd In this context, gd represents a good driver, i.e., a driver without failed tracks.

[0038] Adaptive calibration procedure 132 calculates the rewrite for each failed track (step 206). In an embodiment, adaptive calibration procedure 132 uses formula (1) to calculate the rewrite R specifically caused by the failed track.

[0039] R = R dt -R gd (1)

[0040] In one embodiment, the adaptive calibration procedure 132 then terminates for that loop.

[0041] It should be understood that Figure 2 The embodiments described herein are merely a simple method for calculating the number of rewrites attributed to failed tracks, wherein the number of rewrites increases linearly with the number of failed tracks. In another embodiment, the number of rewrites may increase non-linearly. In this alternative embodiment, for j failed tracks, the number R of rewrites on the driver with the failed tracks is measured. dt And store it in structure R dt In (j), in this embodiment, the adaptive calibration procedure 132 uses formula (1a) to calculate the rewrite R specifically caused by the failed track, using the value R. dt (j) Replacing R with equation (1) dt The value of .

[0042] R = R dt (j)-R gd (1a)

[0043] Figure 3 It is a description of an embodiment according to the present invention. Figure 1The flowchart illustrates the operational steps performed by an adaptive calibration procedure 132 on a magnetic tape device within a distributed data processing environment, used to store information about failed tracks during write operations. In an alternative embodiment, the steps of workflow 300 may be performed by any other program working in conjunction with the adaptive calibration procedure 132. In one embodiment, the adaptive calibration procedure 132 initializes a counter i to zero. In another embodiment, the adaptive calibration procedure 132 increments the track counter i to address the next track in the tape drive. In another embodiment, the adaptive calibration procedure 132 counts the number of ECC-protected data segments or CWI sets having an uncorrectable error occurring in the i-th track, where C1 is one of the error correction functions used in the tape drive. In another embodiment, the adaptive calibration procedure 132 stores the j-th history of U(i) (i.e., U(i) obtained during the writing of the previous j datasets) in U(i)(j). In yet another embodiment, the adaptive calibration procedure 132 determines whether the number of uncorrectable CWI sets in the last j datasets exceeds a predetermined threshold. In one embodiment, if the adaptive calibration procedure 132 determines that the number of uncorrectable CWI sets in the last j datasets exceeds a predetermined threshold, then the adaptive calibration procedure 132 determines that the tape head is in a failed track state during the write operation. In another embodiment, the adaptive calibration procedure 132 determines whether the last track on the tape drive has been checked, i.e., whether i is less than the number of tracks in the drive. In yet another embodiment, if the adaptive calibration procedure 132 determines that the last track on the tape drive has been checked, the adaptive calibration procedure 132 then terminates the loop.

[0044] It should be understood that embodiments of the present invention at least provide operational steps performed by the adaptive calibration procedure 112 for storing information about failed tracks during a write operation. However, Figure 3 This illustration provides only one implementation and does not imply any limitation regarding the environments in which different embodiments may be implemented. Those skilled in the art can make numerous modifications to the described environments without departing from the scope of the invention as set forth in the claims.

[0045] The adaptive calibration procedure 132 sets i = 0 (step 302). In an embodiment, the adaptive calibration procedure 132 initializes the counter i to zero. In an embodiment, the adaptive calibration procedure 132 uses this counter to step through each track in the specific tape drive being analyzed. Figure 3 The algorithm is performed once.

[0046] The adaptive calibration procedure 132 increments i (i = i + 1) (step 304). In an embodiment, the adaptive calibration procedure 132 increments the track counter i to address the next track in the tape drive.

[0047] The adaptive calibration procedure 132 counts the number of C1 uncorrectable codeword interleaving sets for each track i → U(i) (step 306). In an embodiment, the adaptive calibration procedure 132 counts the number of ECC-protected data segments or CWI sets with errors that cannot be corrected by C1 occurring in the i-th track, where C1 is one of the error correction functions used in the tape drive. Typically, C1 is an efficient Reed-Solomon error correction code. C1 is designed to detect and correct media errors for each channel. In an embodiment, the adaptive calibration procedure 132 stores this count in U(i).

[0048] The adaptive calibration procedure 132 checks the CWI set history → U(i)(j) for each track i (step 308). In an embodiment, the adaptive calibration procedure 132 stores the j-th history of U(i) (i.e., U(i) obtained during the writing of the previous j datasets) in U(i)(j). In an embodiment, since the number of rewrites may increase when the tape surface is damaged (such as scratched), the drive checks for rewrites within a certain length to avoid the effects of tape surface damage. Therefore, the number of history sets checked by the adaptive calibration procedure 132 is a variable j that can be adjusted based on the drive's history. In an embodiment, j is a system default value. In another embodiment, j is received from the user or system administrator. In yet another embodiment, j is specific to a particular drive or drive type.

[0049] The adaptive calibration procedure 132 determines whether the number of CWI sets in the last j datasets is greater than a threshold (decision box 310). In an embodiment, the adaptive calibration procedure 132 counts the number of datasets in the last j datasets whose CWI sets exceed a predetermined threshold. In an embodiment, if the adaptive calibration procedure 132 determines that the number of datasets in the last j datasets whose CWI sets exceed the predetermined threshold does not exceed a second threshold ("No" branch, decision box 310), the adaptive calibration procedure 132 proceeds to decision box 314 to check the next track. In an embodiment, if the adaptive calibration procedure 132 determines that the number of datasets in the last j datasets whose CWI sets exceed the predetermined threshold exceeds a second threshold ("Yes" branch, decision box 310), the adaptive calibration procedure 132 proceeds to step 312 to store the failed track information.

[0050] The adaptive calibration procedure 132 stores the failed track information on the drive (step 312). In an embodiment, if the adaptive calibration procedure 132 determines that the number of uncorrectable CWI sets in the last j datasets exceeds a predetermined threshold, the adaptive calibration procedure 132 determines that the tape head is in a failed track state during the write operation. In an embodiment, the adaptive calibration procedure 132 then stores the head and track information in the tape drive (e.g., main memory or VPD).

[0051] Adaptive calibration procedure 132 determines whether i < N 磁道 (Decision box 314). In an embodiment, the adaptive calibration procedure 132 determines whether there are still tracks to be checked on the tape drive; that is, if i is less than the number of tracks in the drive, then there are still remaining tracks to be checked. In an embodiment, if the adaptive calibration procedure 132 determines that there are still tracks to be checked on the tape drive ("Yes" branch, decision box 314), the adaptive calibration procedure 132 returns to step 304 to check the next track. In an embodiment, if the adaptive calibration procedure 132 determines that there are no remaining tracks to be checked ("No" branch, decision box 314), the adaptive calibration procedure 132 then ends for that loop.

[0052] Figure 4 It is a description of an embodiment according to the present invention. Figure 1 The flowchart illustrates the operational steps performed by an adaptive calibration procedure 132 on a magnetic tape device within a distributed data processing environment, used to store information about failed tracks during calibration. In an alternative embodiment, the steps of workflow 400 may be performed by any other program working in conjunction with the adaptive calibration procedure 132. In one embodiment, the adaptive calibration procedure 132 performs a conventional calibration of the tape drive to determine the presence of any failed tracks on the tape drive. In another embodiment, the adaptive calibration procedure 132 analyzes the results of the conventional calibration process to determine whether any failed tracks exist on the tape drive. In yet another embodiment, the adaptive calibration procedure then stores head and track information in non-volatile memory (e.g., VPD) within the tape drive. In yet another embodiment, the adaptive calibration procedure 132 then terminates for this loop.

[0053] It should be understood that the embodiments of the present invention at least provide operational steps performed by the adaptive calibration procedure 112 for storing information about failed tracks during calibration. However, Figure 4 This illustration provides only one implementation and does not imply any limitation regarding the environments in which different embodiments may be implemented. Those skilled in the art can make numerous modifications to the described environments without departing from the scope of the invention as set forth in the claims.

[0054] It should be understood that Figure 4The process depicted illustrates a possible iteration of the operational steps performed by adaptive calibration procedure 112 for storing information about failed tracks during calibration, which is repeated each time calibration is performed by adaptive calibration procedure 132.

[0055] Adaptive calibration procedure 132 performs conventional calibration (step 402). In this embodiment, adaptive calibration procedure 132 performs conventional calibration of the tape drive to determine the presence of any faulty tracks on the tape drive.

[0056] Adaptive calibration procedure 132 identifies faulty tracks from the calibration results (step 404). In an embodiment, adaptive calibration procedure 132 analyzes the results of a conventional calibration process to determine if any faulty tracks exist on the tape drive. In an embodiment, adaptive calibration procedure 132 determines the presence of any faulty tracks on the tape drive by comparing the number of rewrites during calibration with the number of rewrites during calibration of a known good drive, such as... Figure 2 The rewrite operation performed in response to a write operation.

[0057] The adaptive calibration procedure 132 stores the failed track on the drive (step 406). In an embodiment, the adaptive calibration procedure 132 then stores the head and track information in non-volatile memory (e.g., VPD) in the tape drive. In an embodiment, the adaptive calibration procedure 132 then terminates for this cycle.

[0058] Figure 5 It is a description of an embodiment according to the present invention. Figure 1 The flowchart describes the operational steps performed by an adaptive calibration procedure 132 on a tape drive within a distributed data processing environment, using a reference value to determine the number of rewrites to decide whether calibration should be performed. In an alternative embodiment, the steps of workflow 500 may be performed by any other program working in conjunction with the adaptive calibration procedure 132. In one embodiment, the adaptive calibration procedure 132 retrieves the number of failed tracks from memory (e.g., main memory or VPD) in the tape drive and stores that value in N. In another embodiment, the adaptive calibration procedure 132 retrieves a standard value for this drive type and stores that value in C. In yet another embodiment, the adaptive calibration procedure 132 calculates a specific reference value Cd for a particular drive. In yet another embodiment, the adaptive calibration procedure 132 then terminates for this loop.

[0059] It should be understood that embodiments of the present invention at least provide reference values ​​for determining the number of rewrites by the adaptive calibration procedure 132 to determine whether calibration should be performed. However, Figure 5This illustration provides only one implementation and does not imply any limitation regarding the environments in which different embodiments may be implemented. Those skilled in the art can make numerous modifications to the described environments without departing from the scope of the invention as set forth in the claims.

[0060] The adaptive calibration procedure 132 obtains the number of failed tracks → N from the drive (step 502). In an embodiment, the adaptive calibration procedure 132 retrieves the number of failed tracks from the memory in the tape drive (e.g., main memory or VPD) and stores that value in N.

[0061] The adaptive calibration procedure 132 obtains the criterion C for the drive type (step 504). In an embodiment, the adaptive calibration procedure 132 retrieves a standard value for this drive type and stores that value in C. In an embodiment, the standard value is a reference value pre-measured for each type of drive used to determine whether calibration should be performed.

[0062] Adaptive calibration procedure 132 determines the criteria for the driver (step 506). In an embodiment, adaptive calibration procedure 132 calculates a specific reference value for a particular driver by taking into account the number of failed tracks. In an embodiment, adaptive calibration procedure 132 uses formula (2) to calculate the specific reference value Cd for a particular driver.

[0063] Cd=C+(NxR) (2)

[0064] In one embodiment, the adaptive calibration procedure 132 then terminates for that loop.

[0065] It should be understood that Figure 5 The embodiments described herein are merely reference values ​​for determining the number of rewrites, and are a simple method to determine whether calibration should be performed when the number of rewrites increases linearly with the number of failed tracks. In such cases... Figure 2 In another described embodiment, the number of rewrites can increase non-linearly. In this alternative embodiment, the number R of rewrites on the driver with the failed track is measured for each track. dt and store it in structure R dt In (i), i is the track number. Then, in step 506, the value R is used track by track. dt (i) to determine the number of references for each track individually.

[0066] Figure 6 It is a description of an embodiment according to the present invention. Figure 1The flowchart describes the operational steps performed by an adaptive calibration procedure 132 on a tape device within a distributed data processing environment to determine whether calibration should be performed. In an alternative embodiment, the steps of workflow 600 can be performed by any other program while working in conjunction with the adaptive calibration procedure 132. In one embodiment, the adaptive calibration procedure 132 retrieves the number of rewrites for the last K datasets and stores them in R(1) to R(K). In one embodiment, the adaptive calibration procedure 132 uses a counter i to count the number of datasets, i.e., i counts from 1 to K, and n is used to count the total number of datasets whose rewrite count exceeds a predetermined threshold. In one embodiment, the adaptive calibration procedure 132 determines whether the number of rewrites for dataset i (i.e., R(i)) exceeds a predetermined threshold Cd. In one embodiment, if the adaptive calibration procedure 132 determines that the number of rewrites for dataset i exceeds the predetermined threshold Cd, the adaptive calibration procedure 132 increments the count of the total number of datasets if the number of rewrites exceeds the predetermined threshold. In one embodiment, the adaptive calibration procedure 132 determines whether the last dataset has been analyzed, i.e., if i < K, there are remaining datasets to be analyzed. In one embodiment, if the adaptive calibration procedure 132 determines that the last dataset has not yet been analyzed, the adaptive calibration procedure 132 increments the counter i to analyze the next dataset. In another embodiment, the adaptive calibration procedure 132 determines whether the total count of all datasets with rewrite counts exceeding a threshold exceeds another predetermined threshold. In yet another embodiment, if the adaptive calibration procedure 132 determines that the total count of all datasets with rewrite counts exceeding the threshold exceeds another predetermined threshold, the adaptive calibration procedure 132 performs calibration. The adaptive calibration procedure 132 then terminates for this loop.

[0067] It should be understood that embodiments of the present invention at least provide operational steps performed by the adaptive calibration procedure 132 for determining whether calibration should be performed. However, Figure 6 This illustration provides only one implementation and does not imply any limitation regarding the environments in which different embodiments may be implemented. Those skilled in the art can make numerous modifications to the described environments without departing from the scope of the invention as set forth in the claims.

[0068] It should be understood that Figure 6 The process described illustrates a possible iteration of the operational steps performed by the adaptive calibration procedure 132 to determine whether calibration should be performed, which is repeated whenever calibration is set to be performed.

[0069] The adaptive calibration procedure 132 obtains the rewrites of the last K datasets R(1)...R(K) (step 602). In an embodiment, the adaptive calibration procedure 132 retrieves the number of rewrites written for the last K datasets and stores them in R(1) to R(K). In an embodiment, the adaptive calibration procedure 132 retrieves the number of rewrites written for the last K datasets from the memory in the tape drive.

[0070] The adaptive calibration procedure 132 sets i = 1 and n = 0 (step 604). In an embodiment, the adaptive calibration procedure 132 uses a counter i to count the number of datasets, i.e., i counts from 1 to K, and n is used to count the total number of datasets whose rewrite count exceeds a predetermined threshold.

[0071] The adaptive calibration procedure 132 determines whether R(i) > Cd (decision box 606). In an embodiment, the adaptive calibration procedure 132 determines whether the number of rewrites of dataset i (i.e., R(i)) exceeds a predetermined threshold Cd. In an embodiment, the predetermined threshold Cd is... Figure 5 The reference value is determined in the process. In an embodiment, if the adaptive calibration procedure 132 determines that the number of rewrites in dataset i does not exceed a predetermined threshold Cd ("No" branch, decision box 606), the adaptive calibration procedure 132 proceeds to decision box 610 to check the next dataset. In an embodiment, if the adaptive calibration procedure 132 determines that the number of rewrites in dataset i exceeds the predetermined threshold Cd ("Yes" branch, decision box 606), the adaptive calibration procedure 132 proceeds to step 608 to increment the count of the total number of datasets whose rewrite count exceeds the predetermined threshold.

[0072] The adaptive calibration procedure 132 sets n = n + 1 (step 608). In an embodiment, if the adaptive calibration procedure 132 determines that the number of rewrites of dataset i exceeds a predetermined threshold Cd, the adaptive calibration procedure 132 increments the total count n of the dataset if the number of rewrites exceeds the predetermined threshold.

[0073] Adaptive calibration procedure 132 determines whether this is the final dataset (decision box 610). In an embodiment, adaptive calibration procedure 132 determines whether the final dataset has been analyzed, i.e., if i < K, then there are remaining datasets to be analyzed. In an embodiment, if adaptive calibration procedure 132 determines that the final dataset has not yet been analyzed ("No" branch, decision box 610), adaptive calibration procedure 132 proceeds to step 612 to check the next dataset. In an embodiment, if adaptive calibration procedure 132 determines that the final dataset has been analyzed ("Yes" branch, decision box 610), adaptive calibration procedure 132 proceeds to decision box 614 to determine whether the count exceeds a predetermined threshold.

[0074] The adaptive calibration procedure 132 sets i = i + 1 (step 612). In an embodiment, if the adaptive calibration procedure 132 determines that the last dataset has not yet been analyzed, the adaptive calibration procedure 132 increments the counter i to analyze the next dataset. In an embodiment, the adaptive calibration procedure 132 then returns to decision box 606 to check the next dataset.

[0075] The adaptive calibration procedure 132 determines whether n > a threshold (decision box 614). In an embodiment, the adaptive calibration procedure 132 determines whether the total count of all datasets whose rewrite count exceeds the threshold itself exceeds another predetermined threshold. In an embodiment, if the adaptive calibration procedure 132 determines that the total count of all datasets whose rewrite count exceeds the threshold itself exceeds another predetermined threshold ("Yes" branch, decision box 614), the adaptive calibration procedure 132 proceeds to step 616 to perform calibration. In an embodiment, if the adaptive calibration procedure 132 determines that the total count of all datasets whose rewrite count exceeds the threshold does not exceed another predetermined threshold ("No" branch, decision box 614), the adaptive calibration procedure 132 terminates for that loop.

[0076] The adaptive calibration procedure 132 performs calibration (step 616). In an embodiment, if the adaptive calibration procedure 132 determines that the total count of all datasets with rewrite counts exceeding a threshold exceeds another predetermined threshold, the adaptive calibration procedure 132 performs calibration. The adaptive calibration procedure 132 then terminates for this loop.

[0077] In this embodiment, rewriting R may be affected by debris on the tape head and will not require calibration. In this embodiment, if the debris can be removed, the number of rewrites will be increased to above [amount missing]. Figure 4 The result calculated is the rewrite determined during channel calibration. In an embodiment, if the rewrite is increased due to debris on the tape drive head, calibration is not required. In an embodiment, to remove debris from the head, the adaptive calibration procedure 132 runs the drive from the start of tape (BOT) to the end of tape (EOT) and back to the BOT. In an embodiment, the adaptive calibration procedure 132 then re-examines the head by moving it from the operating position (cassette mounted to the tape drive) to the locked position (cassette inserted into the tape drive but not mounted), and then moves it back to the operating position. The sequence of debris removal is called refresh.

[0078] the following Figure 7 and Figure 8 Another embodiment of the invention is described, which includes a refresh function when fragments are encountered on the magnetic tape.

[0079] In recent years, with the increase in tape drive capacity, the area per bit (linear density multiplied by track width) when a tape drive writes to the tape medium has become extremely narrow. As a result, the presence of fine particles called debris that adhere to the tape medium or the head increases the frequency of rewrites. When a rewrite occurs due to debris, the frequency of rewrites can be reduced by removing the debris without actually performing calibration.

[0080] Figure 7 It is a description of an embodiment according to the present invention. Figure 1 The flowchart describes the operational steps performed by an adaptive calibration procedure 132 on a tape drive within a distributed data processing environment, using reference values ​​to determine the number of rewrites to decide whether calibration or refresh should be performed. In an alternative embodiment, the steps of workflow 700 may be performed by any other program working in conjunction with the adaptive calibration procedure 132. In this embodiment, the adaptive calibration procedure 132 determines whether debris is present on the tape head. If no debris is found on the tape head, the adaptive calibration procedure 132 calculates a single criterion of the rewrite quantity Cd1 to determine whether calibration is required. If debris is found on the tape head, the adaptive calibration procedure 132 calculates a criterion of the rewrite quantity Cd1 to determine whether calibration is required, and calculates a second criterion of the rewrite quantity Cd2 to determine whether refresh is necessary to clear debris from the tape head.

[0081] In one embodiment, the adaptive calibration procedure 132 retrieves the number of failed tracks from non-volatile memory (e.g., VPD) in the tape drive and stores that value in N. calib In this embodiment, the adaptive calibration procedure 132 counts the number of failed tracks encountered during the data write operation and stores this value in N. wrt In this embodiment, the adaptive calibration procedure 132 determines the number N of rewrites used for calibration. calib Is it equal to the number of rewrites N during the data write operation? wrt In an embodiment, if the adaptive calibration procedure 132 determines the number N rewrites to be used for calibration... calib Equal to the number of rewrites N during the data write operation wrt Then, the adaptive calibration procedure 132 calculates criteria Cd1 and Cd2, which are the same in this case. In an embodiment, if the adaptive calibration procedure 132 determines the number of rewrites N used for calibration... calib Not equal to the number of rewrites N during the data write operation wrt The adaptive calibration procedure 132 then calculates two different criteria, Cd1 and Cd2. The adaptive calibration procedure 132 then terminates for this loop.

[0082] It should be understood that embodiments of the present invention at least provide reference values ​​for determining the number of rewrites by the adaptive calibration procedure 132 to determine whether calibration or a refresh should be performed. However, Figure 7 This illustration provides only one implementation and does not imply any limitation regarding the environments in which different embodiments may be implemented. Those skilled in the art can make numerous modifications to the described environments without departing from the scope of the invention as set forth in the claims.

[0083] Adaptive calibration procedure 132 obtains the number of failed tracks → N from the driver. calib (Step 702). In an embodiment, the adaptive calibration procedure 132 retrieves the number of failed tracks from non-volatile memory (e.g., VPD) in the tape drive and stores that value in N. calib middle.

[0084] Adaptive calibration procedure 132 counts the number of failed tracks during writing -> N wrt (Step 704). In an embodiment, the adaptive calibration procedure 132 counts the number of failed tracks encountered during the data write operation and stores this value in N. wrt In this embodiment, the adaptive calibration procedure 132 counts the number of failed tracks encountered during the data write operation, such as, for example, as described above. Figure 3 As shown in the image.

[0085] Adaptive calibration procedure 132 determines whether N calib =N wrt (Decision box 706). In an embodiment, the adaptive calibration procedure 132 determines the number N of rewrites used for calibration. calib Is it equal to the number of rewrites N during the data write operation? wrt If the number of rewrites used for calibration is not equal to the number of rewrites during the data write operation, fragmentation may exist on the tape head, and a refresh operation can clear the fragmentation and eliminate additional rewrites.

[0086] In one embodiment, if the adaptive calibration procedure 132 determines the number N rewrites used for calibration... calib Not equal to the number of rewrites N during the data write operation wrt (No) branch, decision box 706, then the adaptive calibration procedure 132 proceeds to step 710 to set two different criteria, one (Cd1) to determine whether calibration is necessary, and one (Cd2) to determine whether a refresh is necessary. In an embodiment, if the adaptive calibration procedure 132 determines the number of rewrites N for calibration... calib Equal to the number of rewrites N during the data write operation wrt("Yes" branch, decision box 706), then the adaptive calibration procedure 132 proceeds to step 708 to set a single criterion to determine only if calibration is necessary.

[0087] Adaptive calibration procedure 132 creates the criterion Cd1=Cd2=C+(N) calib x R)(step 708). In an embodiment, if the adaptive calibration procedure 132 determines the number N rewrites used for calibration... calib Equal to the number of rewrites N during the data write operation wrt Then, the adaptive calibration procedure 132 uses formula (3) to calculate the same criteria Cd1 and Cd2 in this case.

[0088] Cd1 = Cd2 = C + (N) calib x R) (3)

[0089] In formula (3), C is a reference value for a specific drive type, which is pre-measured for each drive type and used to determine whether calibration should be performed. R is above. Figure 2 The number of rewrites for each failed track is determined in the process. Adaptive calibration procedure 132 then terminates for this cycle.

[0090] Adaptive calibration procedure 132 creates criteria for calibration (step 710). In an embodiment, if adaptive calibration procedure 132 determines the number of rewrites N during a data write operation... wrt Not equal to the number of rewrites N used for calibration calib Then the adaptive calibration procedure 132 uses formula (4) for Cd1 and formula (5) for Cd2 to calculate two different criteria Cd1 and Cd2.

[0091] Cd1 = C + (N) wrt x R) (4)

[0092] Cd2 = C + (N) calib x R) (5)

[0093] In both formulas (4) and (5), as in formula (3), C is a reference value for a specific drive type, which is pre-measured for each drive type and used to determine whether calibration should be performed. R is above. Figure 2 The number of rewrites determined for each failed track. Figure 8 In this process, criteria Cd1 and Cd2 will be used to determine whether a refresh should be performed, whether calibration should be performed, or whether neither is necessary. Adaptive calibration procedure 132 terminates for this cycle.

[0094] Figure 8It is a description of an embodiment according to the present invention. Figure 1 The flowchart illustrates the operational steps performed by an adaptive calibration procedure on a tape drive within a distributed data processing environment to determine whether calibration or refresh should be performed. In an alternative embodiment, the steps of workflow 800 may be performed by any other program while working in conjunction with the adaptive calibration procedure 132.

[0095] In an embodiment, the adaptive calibration program 132 retrieves the number of rewrites of the last K data sets written and stores them in R(1) to R(K). In an embodiment, the adaptive calibration program 132 uses a counter i to count the number of data sets, that is, i counts from 1 to K, n1 is used to count the total number of data sets whose number of rewrites exceeds a predetermined threshold for the calibration period, and n2 is used to count the total number of data sets whose number of rewrites exceeds a predetermined threshold for the data write operation. In an embodiment, the adaptive calibration program 132 determines whether the number of rewrites of data set i (i.e., R(i)) exceeds a predetermined threshold Cd1, where the predetermined threshold Cd1 is the threshold for rewrites during the data write operation, that is, the number of rewrites that always occur on the track. In an embodiment, if the adaptive calibration program 132 determines that the number of rewrites of data set i exceeds the predetermined threshold Cd1, then the adaptive calibration program 132 increments the count n1 of the total number of data sets when the number of rewrites during the data write operation exceeds the predetermined threshold. In an embodiment, the adaptive calibration program 132 determines whether the number of rewrites of data set i (i.e., R(i)) exceeds a predetermined threshold Cd2, where the predetermined threshold Cd2 is a second threshold for rewrites for calibration. In an embodiment, if the adaptive calibration program 132 determines that the number of rewrites of data set i exceeds the predetermined threshold Cd2, then the adaptive calibration program 132 increments the count n2 of the total number of data sets, where the number of rewrites for calibration exceeds the predetermined threshold. In an embodiment, the adaptive calibration program 132 determines whether the last data set has been analyzed, that is, if I < K, there are remaining data sets to be analyzed. In an embodiment, if the adaptive calibration program 132 determines that the last data set has not been analyzed, then the adaptive calibration program 132 increments the counter i to analyze the next data set. In an embodiment, the adaptive calibration program 132 determines whether the total count of all data sets whose number of rewrites during the write operation exceeds the rewrite threshold itself exceeds another predetermined threshold TH2. In an embodiment, if the adaptive calibration program 132 determines that the total count of all data sets whose number of rewrites during the write operation exceeds the rewrite threshold itself exceeds TH2, then the adaptive calibration program 132 performs the refresh as described above. The adaptive calibration program 132 then ends for this loop. In an embodiment, the adaptive calibration program 132 determines whether the total count of all data sets whose number of rewrites during calibration exceeds the rewrite threshold itself exceeds another predetermined threshold TH1. In an embodiment, if the adaptive calibration program 132 determines that the total count of all data sets whose number of rewrites during calibration exceeds the rewrite threshold itself exceeds TH1, then the adaptive calibration program 132 performs calibration. The adaptive calibration program 132 then ends for this loop.

[0096] It should be understood that the embodiments of the present invention at least provide the operation steps performed by the adaptive calibration program 132 for determining whether calibration or refresh should be performed. However, Figure 8This illustration provides only one implementation and does not imply any limitation regarding the environments in which different embodiments may be implemented. Those skilled in the art can make numerous modifications to the described environments without departing from the scope of the invention as set forth in the claims.

[0097] It should be understood that Figure 8 The process described illustrates a possible iteration of the operational steps performed by the adaptive calibration procedure 132 to determine whether calibration should be performed, which is repeated whenever calibration is set to be performed.

[0098] The adaptive calibration procedure 132 obtains the rewrites of the last K datasets R(1)...R(K) (step 802). In an embodiment, the adaptive calibration procedure 132 retrieves the number of rewrites written for the last K datasets and stores them in R(1) to R(K). In an embodiment, the adaptive calibration procedure 132 retrieves the number of rewrites written for the last K datasets from the memory in the tape drive.

[0099] The adaptive calibration procedure 132 sets i = 1, n1 = n2 = 0 (step 804). In an embodiment, the adaptive calibration procedure 132 uses a counter i to count the number of datasets, i.e., i counts from 1 to K, n1 is used to count the total number of datasets whose rewrite count exceeds a predetermined threshold for data write operations, and n2 is used to count the total number of datasets whose rewrite count exceeds a predetermined threshold for calibration.

[0100] Adaptive calibration procedure 132 determines whether R(i) > Cd1 (decision box 806). In an embodiment, adaptive calibration procedure 132 determines whether the number of rewrites of dataset i (i.e., R(i)) exceeds a predetermined threshold Cd1, which is a threshold for rewrites during data write operations, i.e., the number of rewrites that will always occur on the track. In an embodiment, the predetermined threshold Cd1 is... Figure 7 One of the reference values ​​determined in the process. In an embodiment, if the adaptive calibration procedure 132 determines that the number of rewrites of dataset i does not exceed a predetermined threshold Cd1 ("No" branch, decision box 806), the adaptive calibration procedure 132 proceeds to decision box 810 to check the next rewrite criterion. In an embodiment, if the adaptive calibration procedure 132 determines that the number of rewrites of dataset i exceeds the predetermined threshold Cd1 ("Yes" branch, decision box 806), the adaptive calibration procedure 132 proceeds to step 808 to increment the count of the total number of datasets, wherein the number of rewrites during the data write operation exceeds the predetermined threshold.

[0101] The adaptive calibration procedure 132 sets n1 = n1 + 1 (step 808). In an embodiment, if the adaptive calibration procedure 132 determines that the number of rewrites of dataset i exceeds a predetermined threshold Cd1, the adaptive calibration procedure 132 increments the total count n1 of the dataset if the number of rewrites during the data write operation exceeds the predetermined threshold.

[0102] The adaptive calibration procedure 132 determines whether R(i) > Cd2 (decision box 810). In an embodiment, the adaptive calibration procedure 132 determines whether the number of rewrites in dataset i (i.e., R(i)) exceeds a predetermined threshold Cd2, which is a rewrite threshold used for calibration. In an embodiment, the predetermined threshold Cd2 is... Figure 7 One of the reference values ​​determined in the process. In one implementation, if the adaptive calibration procedure 132 determines that the number of rewrites in dataset i does not exceed a predetermined threshold Cd2 ("No" branch, decision box 806), the adaptive calibration procedure 132 proceeds to decision box 814 to check whether this is the last dataset. In another implementation, if the adaptive calibration procedure 132 determines that the number of rewrites in dataset i exceeds the predetermined threshold Cd2 ("Yes" branch, decision box 806), the adaptive calibration procedure 132 proceeds to step 812 to increment the count of the total number of datasets, where the number of rewrites exceeds the predetermined threshold for calibration.

[0103] The adaptive calibration procedure 132 sets n2 = n2 + 1 (step 812). In an embodiment, if the adaptive calibration procedure 132 determines that the number of rewrites in dataset i exceeds a predetermined threshold Cd2, the adaptive calibration procedure 132 increments the total count n2 of the dataset, where the number of rewrites used for calibration exceeds the predetermined threshold.

[0104] Adaptive calibration procedure 132 determines whether this is the final dataset (decision box 814). In an embodiment, adaptive calibration procedure 132 determines whether the final dataset has been analyzed, i.e., if i < K, then there are remaining datasets to be analyzed. In an embodiment, if adaptive calibration procedure 132 determines that the final dataset has not yet been analyzed (“No” branch, decision box 814), adaptive calibration procedure 132 proceeds to step 816 to check the next dataset. In an embodiment, if adaptive calibration procedure 132 determines that the final dataset has been analyzed (“Yes” branch, decision box 814), adaptive calibration procedure 132 proceeds to decision box 818 to determine whether the count of the total number of datasets whose rewrite count exceeds a predetermined threshold during the write operation exceeds the predetermined threshold.

[0105] The adaptive calibration procedure 132 sets i = i + 1 (step 816). In an embodiment, if the adaptive calibration procedure 132 determines that the last dataset has not yet been analyzed, the adaptive calibration procedure 132 increments the counter i to analyze the next dataset. In an embodiment, the adaptive calibration procedure 132 then returns to decision box 806 to check the next dataset.

[0106] Adaptive calibration procedure 132 determines whether n2 > TH2 (decision box 818). In an embodiment, adaptive calibration procedure 132 determines whether the total count of all datasets in which the number of rewrites exceeds the rewrite threshold used for calibration exceeds another predetermined threshold TH2. In an embodiment, if adaptive calibration procedure 132 determines that the total count of all datasets in which the number of rewrites exceeds the rewrite threshold used for calibration exceeds TH2 ("Yes" branch, decision box 818), adaptive calibration procedure 132 proceeds to step 820 to perform a refresh. In an embodiment, if adaptive calibration procedure 132 determines that the total count of all datasets in which the number of rewrites exceeds the rewrite threshold used for calibration does not exceed TH2 ("No" branch, decision box 818), adaptive calibration procedure 132 proceeds to decision box 822 to test the next threshold.

[0107] The adaptive calibration procedure 132 performs a refresh (step 820). In an embodiment, if the adaptive calibration procedure 132 determines that the total count of all datasets whose rewrite count exceeds the rewrite threshold used for calibration exceeds TH2, the adaptive calibration procedure 132 performs a refresh as described above. The adaptive calibration procedure 132 then terminates for this loop.

[0108] Adaptive calibration procedure 132 determines whether n1 > TH1? (Decision box 822). In an embodiment, adaptive calibration procedure 132 determines whether the total count of all datasets whose rewrite count exceeds a rewrite threshold during a data write operation itself exceeds another predetermined threshold TH1. In an embodiment, if adaptive calibration procedure 132 determines that the total count of all datasets whose rewrite count exceeds the rewrite threshold during a data write operation itself exceeds TH1 ("Yes" branch, decision box 822), then adaptive calibration procedure 132 proceeds to step 824 to perform calibration. In an embodiment, if adaptive calibration procedure 132 determines that the total count of all datasets whose rewrite count exceeds the rewrite threshold during a data write operation itself does not exceed TH1 ("No" branch, decision box 822), then adaptive calibration procedure 132 terminates for that loop.

[0109] Adaptive calibration procedure 132 performs calibration (step 824). In an embodiment, if adaptive calibration procedure 132 determines that the total count of all datasets whose number of rewrites exceeds the rewrite threshold during a data write operation exceeds TH1, then adaptive calibration procedure 132 performs calibration. Adaptive calibration procedure 132 then terminates for this loop.

[0110] Figure 9 This is a block diagram illustrating the components of a magnetic tape device 130 suitable for an adaptive calibration procedure 132 according to at least one embodiment of the present invention. Figure 9 A computer 900 is shown; one or more processors 904 (including one or more computer processors); a communication structure 902; a memory 906, including random access memory (RAM) 916 and cache 918; permanent memory 908; a communication unit 912; an I / O interface 914; a display 922; and an external device 920. It should be understood that... Figure 9 The illustration is provided only as an example and does not imply any limitation regarding the environment in which different embodiments may be implemented. Many modifications may be made to the depicted environment.

[0111] As described, computer 900 operates on communication architecture 902, which provides communication between one or more computer processors 904, memory 906, permanent memory 908, communication unit 912, and one or more I / O interfaces 914. Communication architecture 902 can be implemented using any architecture suitable for transferring data or control information between processor 904 (e.g., microprocessor, communication processor, and network processor), memory 906, external devices 920, and any other hardware components within the system. For example, communication architecture 902 can be implemented using one or more buses.

[0112] Memory 906 and persistent memory 908 are computer-readable storage media. In the depicted embodiment, memory 906 includes RAM 916 and cache 918. Generally, memory 906 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 918 is a fast memory that enhances the performance of processor(s) 904 by storing recently accessed data from RAM 916 and recently accessed data from RAM 916.

[0113] The program instructions for the adaptive calibration procedure 132 may be stored in persistent memory 908, or more generally, in any computer-readable storage medium for execution by one or more of the respective computer processors 904 via one or more memories in memory 906. Persistent memory 908 may be a magnetic hard disk drive, a solid-state drive, a semiconductor storage device, a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0114] The media used in the persistent storage 908 can also be removable. For example, a removable hard disk drive can be used for the persistent storage 908. Other examples include optical discs and disks, thumb drives and smart cards, which are inserted into the drive to be transferred to another computer-readable storage medium that is also part of the persistent storage 908.

[0115] In these examples, communication unit 912 provides communication with other data processing systems or devices. In these examples, communication unit 912 includes one or more network interface cards. Communication unit 912 can provide communication using physical and / or wireless communication links. In some embodiments of the invention, sources of different input data can be physically located away from computer 900, allowing input data to be received and output similarly transmitted via communication unit 912.

[0116] I / O interface 914 allows for data input and output with other devices that can be connected to computer 900. For example, one or more I / O interfaces 914 may provide connectivity to one or more external devices 920, such as keyboards, keypads, touchscreens, microphones, digital cameras, and / or other suitable input devices. The one or more external devices 920 may also include portable computer-readable storage media, such as thumb drives, portable optical discs or disks, and memory cards. Software and data used to implement embodiments of the invention (e.g., adaptive calibration program 132) may be stored on such portable computer-readable storage media and can be loaded onto permanent memory 908 via one or more I / O interfaces 914. One or more I / O interfaces 914 are also connected to display 922.

[0117] The display 922 provides a mechanism for displaying data to a user and can be, for example, a computer monitor. The display 922 can also be used as a touchscreen, such as the display of a tablet computer.

[0118] The procedures described herein are identified based on their implementation in specific embodiments of the invention. However, it should be understood that any particular procedural terminology used herein is for convenience only, and therefore the invention should not be limited to use only in any particular application identified and / or implied by such terminology.

[0119] The present invention can be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to execute aspects of the present invention.

[0120] Computer-readable storage media can be any tangible device capable of retaining and storing instructions used by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital universal disk (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or protrusions in slots having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through fiber optic cables), or electrical signals transmitted through wires.

[0121] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a suitable computing / processing device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network), or to an external computer or external storage device. The network may include copper cables, optical fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the suitable computing / processing device.

[0122] Computer-readable program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and conventional procedural programming languages ​​(such as the "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as a standalone software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)) or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may be personalized to execute computer-readable program instructions by utilizing state information from the computer-readable program instructions in order to perform aspects of this invention.

[0123] The present invention will now be described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0124] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, such that the computer-readable storage medium storing the instructions includes an article of manufacture containing instructions that implement aspects of the functions / actions specified in one or more blocks of a flowchart and / or block diagram.

[0125] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce computer-implemented processing, such that the instructions executed on the computer, other programmable apparatus, or other device perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0126] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, segment, or portion of instructions comprising one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than indicated in the figures. For example, depending on the functions involved, two consecutively shown blocks may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.

[0127] Various embodiments of the invention have been described for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the invention. The terminology used herein has been chosen to best explain the principles of the embodiments, their practical application, or technical improvements over those found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.

Claims

1. A computer-implemented method for magnetic tape calibration, comprising the following steps: The number of rewrites occurring for each of one or more failed tracks on a tape drive is determined by one or more computer processors. In response to detecting that the magnetic head is in a failed track state, the one or more computer processors store the number of failed tracks on the tape drive; The calibration threshold is determined by the one or more computer processors, wherein the calibration threshold includes the number of failed tracks to be rewritten and a calibration reference value for a specific tape drive type; as well as In response to the number of rewrites occurring during data writing exceeding a calibration threshold, the tape drive calibration is performed by the one or more computer processors.

2. The computer-implemented method of claim 1, wherein determining the calibration threshold, wherein the calibration threshold includes the number of failed track rewrites and a calibration reference value for a specific tape drive type, further includes: The one or more computer processors retrieve the number of failed tracks from the tape drive; The number of failed track rewrites is determined by the one or more computer processors, wherein the number of failed track rewrites is determined by multiplying the number of failed tracks by the number of rewrites occurring for each failed track on the tape drive; and The number of failed tracks rewritten is added to the calibration reference value for the specific tape drive type by the one or more computer processors.

3. The computer-implemented method according to claim 1, wherein, Determining the number of rewrites occurring for each of the one or more failed tracks on the tape drive also includes: The number of first rewrites on the failed track drive is measured by the one or more computer processors; The second number of rewrites on the good drive is measured by the one or more computer processors; and The number of rewrites occurring for each failed track is calculated by the one or more computer processors, wherein the number of rewrites occurring for each failed track is calculated by subtracting the second number of rewrites on the good track from the first number of rewrites on the failed track driver.

4. The computer-implemented method according to claim 1, wherein, The number of failed tracks is stored in the important product data of the tape drive.

5. The computer-implemented method according to claim 1, wherein, For each of the one or more tape drive types, calculate the number of rewrites that occur for each of the one or more failed tracks on the tape drive.

6. A computer program product comprising program instructions, the program instructions including instructions for performing the following operations: Determine the number of rewrites that occurred for each of one or more failed tracks on a tape drive; In response to detecting that the read / write head is in a failed track state, the number of failed tracks is stored on the tape drive; Determine calibration thresholds, wherein the calibration thresholds include the number of failed tracks to be rewritten and calibration reference values ​​for a specific tape drive type; as well as In response to the number of rewrites occurring when writing to the dataset exceeding the calibration threshold, tape drive calibration is performed.

7. The computer program product of claim 6, wherein determining the calibration threshold, wherein the calibration threshold includes the number of failed track rewrites and a calibration reference value for a specific tape drive type, further includes one or more of the following program instructions for performing the following operations: Retrieve the number of failed tracks from the tape drive; The number of failed track rewrites is determined by multiplying the number of failed tracks by the number of rewrites that occur per failed track on the tape drive; and Add the number of failed tracks to be rewritten to the calibration reference value for that specific tape drive type.

8. The computer program product according to claim 6, wherein, Determining the number of rewrites for each of the one or more failed tracks on the tape drive also includes one or more of the following program instructions for the following operations: Measure the first number of rewrites on the failed track driver; Measure the second number of rewrites on a good drive; as well as The number of rewrites occurring for each failed track is calculated by subtracting the second number of rewrites occurring on the good track from the first number of rewrites occurring on the failed track driver.

9. The computer program product according to claim 6, wherein, The number of failed tracks is stored in the important product data of the tape drive.

10. The computer program product according to claim 6, wherein, For each of the one or more tape drive types, calculate the number of rewrites that occur for each of the one or more failed tracks on the tape drive.

11. A computer system, the computer system comprising: One or more computer processors; One or more computer-readable storage media; as well as Program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more computer processors, the stored program instructions including instructions for the following operations: Determine the number of rewrites that occurred for each of one or more failed tracks on a tape drive; In response to detecting that the read / write head is in a failed track state, the number of failed tracks is stored on the tape drive; Determine calibration thresholds, wherein the calibration thresholds include the number of failed tracks to be rewritten and calibration reference values ​​for a specific tape drive type; as well as In response to the number of rewrites occurring when writing to the dataset exceeding the calibration threshold, tape drive calibration is performed.

12. The computer system according to claim 11, wherein, Determining the calibration threshold, wherein the calibration threshold includes the number of failed track rewrites and calibration reference values ​​for a specific tape drive type, and also includes one or more of the following program instructions stored on the one or more computer-readable storage media for the following operations: Retrieve the number of failed tracks from the tape drive; The number of failed track rewrites is determined by multiplying the number of failed tracks by the number of rewrites that occur per failed track on the tape drive; and Add the number of failed tracks to be rewritten to the calibration reference value for that specific tape drive type.

13. The computer system according to claim 11, wherein, Determining the number of rewrites for each of the one or more failed tracks on the tape drive also includes storing one or more of the following program instructions on the one or more computer-readable storage media for the following operations: Measure the first number of rewrites on the failed track driver; Measure the second number of rewrites on a good drive; as well as The number of rewrites occurring for each failed track is calculated by subtracting the second number of rewrites occurring on the good track from the first number of rewrites occurring on the failed track driver.

14. The computer system according to claim 11, wherein, The number of failed tracks is stored in the important product data of the tape drive.

15. The computer system according to claim 11, wherein, For each of the one or more tape drive types, calculate the number of rewrites that occur for each of the one or more failed tracks on the tape drive.

16. A computer-implemented method for magnetic tape calibration, comprising the following steps: The number of rewrites occurring for each of one or more failed tracks on a tape drive is determined by one or more computer processors. In response to detecting that the magnetic head is in a failed track state, the one or more computer processors store the number of failed tracks on the tape drive; The first threshold and the second threshold are determined by the one or more computer processors, wherein the first threshold includes the number of failed tracks rewritten and a calibration reference value for a specific tape drive type, and further, wherein the second threshold includes a calibration reference value for a specific tape drive type and a calibration rewrite number; In response to the number of rewrites occurring during data writing exceeding a first threshold, the tape drive calibration is performed by the one or more computer processors; as well as In response to the number of rewrites occurring during data writing exceeding a second threshold, the tape drive is refreshed by the one or more computer processors.

17. The computer-implemented method of claim 16, wherein determining a first threshold and a second threshold, wherein the first threshold includes the number of failed track rewrites and a calibration reference value for a specific tape drive type, and further, wherein the second threshold, including the calibration reference value for a specific tape drive type and the number of calibration rewrites, further includes: The one or more computer processors retrieve the number of failed tracks from the tape drive; The number of failed track rewrites is determined by the one or more computer processors, wherein the number of failed track rewrites is determined by multiplying the number of failed tracks by the number of rewrites occurring for each failed track on the tape drive; and The number of failed tracks rewritten is added to the calibration reference value for the specific tape drive type by the one or more computer processors.

18. The computer-implemented method according to claim 16, wherein, Determining the number of rewrites occurring for each of the one or more failed tracks on the tape drive also includes: The number of first rewrites on the failed track drive is measured by the one or more computer processors; The second number of rewrites on the good drive is measured by the one or more computer processors; and The number of rewrites occurring for each failed track is calculated by the one or more computer processors, wherein the number of rewrites occurring for each failed track is calculated by subtracting the second number of rewrites on the good track from the first number of rewrites on the failed track driver.

19. The computer-implemented method according to claim 16, wherein, The number of failed tracks is stored in the important product data of the tape drive.

20. The computer-implemented method according to claim 16, wherein, For each of the one or more tape drive types, calculate the number of rewrites that occur for each of the one or more failed tracks on the tape drive.

21. A computer program product comprising program instructions, the program instructions including instructions for performing the following operations: Determine the number of rewrites that occurred for each of one or more failed tracks on a tape drive; In response to detecting that the read / write head is in a failed track state, the number of failed tracks is stored on the tape drive; A first threshold and a second threshold are determined, wherein the first threshold includes the number of failed tracks rewritten and a calibration reference value for a specific tape drive type, and further, wherein the second threshold includes a calibration reference value for a specific tape drive type and a calibration rewrite number; In response to the number of rewrites occurring during data writing exceeding a first threshold, tape drive calibration is performed; as well as In response to the number of rewrites occurring during data writing exceeding a second threshold, a tape drive refresh is performed.

22. The computer program product according to claim 21, wherein, Determine a first threshold and a second threshold, wherein the first threshold includes the number of failed track rewrites and a calibration reference value for a specific tape drive type, and further, wherein the second threshold includes the calibration reference value for a specific tape drive type and the number of calibration rewrites, and also includes one or more of the following program instructions for the following operations: Retrieve the number of failed tracks from the tape drive; The number of failed track rewrites is determined by multiplying the number of failed tracks by the number of rewrites that occur per failed track on the tape drive; and Add the number of failed tracks to be rewritten to the calibration reference value for that specific tape drive type.

23. The computer program product according to claim 21, wherein, Determining the number of rewrites for each of the one or more failed tracks on the tape drive also includes one or more of the following program instructions for the following operations: Measure the first number of rewrites on the failed track driver; Measure the second number of rewrites on a good drive; as well as The number of rewrites occurring for each failed track is calculated by subtracting the second number of rewrites occurring on the good track from the first number of rewrites occurring on the failed track driver.

24. The computer program product according to claim 21, wherein, The number of failed tracks is stored in the important product data of the tape drive.

25. The computer program product according to claim 21, wherein, For each of the one or more tape drive types, calculate the number of rewrites that occur for each of the one or more failed tracks on the tape drive.

Citation Information

Patent Citations

  • Sequential data storage with rewrite using dead-track detection

    US20190189156A1

  • Disk drive correcting track address during a write operation

    US7369343B1