Accelerated tape acclimation for environmental calibration.
By measuring and adjusting the servo band difference (SBD) on a shorter tape length, the method addresses dimensional instability, improving data track positioning and reading accuracy in tape storage systems.
Patent Information
- Application Number
- JP2024500538
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-20
- Filing Date
- 2022-07-01
- Publication Date
- 2026-01-09
- Estimated Expiration
- 2042-07-01
Smart Images

Figure 0007796862000003 
Figure 0007796862000004 
Figure 0007796862000005
Abstract
Description
[Technical Field]
[0001] The present invention relates to the lateral dimensional stability of magnetic recording tape as observed by calculating the difference in position measurements of adjacent servo patterns (also known as Servo Band Difference (SBD)), and more particularly, the present invention relates to accelerating the measurement of dimensional changes due to environmental adaptation of magnetic recording tape. [Background technology]
[0002] In a magnetic storage system, a magnetic transducer reads and writes data from and to a magnetic recording medium. Data is written to a magnetic recording medium by moving a magnetic recording transducer to the location on the medium where the data is to be stored. The magnetic recording transducer then generates a magnetic field that encodes the data onto the magnetic medium. Data is read from the medium by similarly positioning a magnetic read transducer and then sensing the magnetic field of the magnetic medium. Read and write operations may be independent or synchronized with the movement of the medium to ensure that data can be read from and written to the desired location on the medium.
[0003] An important ongoing goal in the data storage industry is to increase the density of data stored on media. In the case of tape storage systems, this goal has led to increasing the density of tracks and linear bits on recording tape and decreasing the thickness of the magnetic tape media. However, the development of smaller footprint, higher performance tape drive systems has posed a variety of challenges, ranging from designing tape head assemblies for use in such systems to addressing the dimensional instability of tape.
[0004] Tape drives write and read multiple data tracks simultaneously. It is crucial that all data tracks are written in the correct position for proper operation during subsequent reads. If the head dimensions change due to temperature or other factors, or if manufacturing variations cause the transducers on the head to not be positioned as specified by the proper design, data tracks will be written and read in the wrong position. Similarly, if the media is inconsistent in dimensions, data tracks will shift after being written and will not be in the same position when the tape is read. In either case, successful reading of the data will be impaired. Summary of the Invention
[0005] A method according to one embodiment of the present invention includes measuring a reference servo band difference (SBD) from the beginning of a tape (BOT) to the end of the tape (EOT) and storing the reference SBD measurement value in memory. A shorter length of tape, less than the entire length of the tape, is cycled multiple times to acclimate the shorter length of tape. The SBD of the shorter length of tape after cycling is determined, and an acclimation change amount for the shorter length of tape is determined, which is the difference between the reference SBD of the shorter length and the SBD of the shorter length after cycling. The method further includes adjusting the reference SBD value based on the determined acclimation change amount.
[0006] According to another aspect, a system includes a processor and logic integrated into, executable by, or integrated into and executable by the processor, the logic being configured to cause the processor to perform the operations of the aforementioned method.
[0007] According to another aspect, a computer program product includes a computer-readable storage medium having program instructions embodied therein, the program instructions being readable and / or executable by a controller to cause the controller to perform the operations of the aforementioned method.
[0008] Other aspects and embodiments of the present invention will become apparent from the following detailed description, which, taken in conjunction with the drawings, illustrate by way of example the principles of the invention. [Brief explanation of the drawings]
[0009] [Figure 1] 1 illustrates a network storage system according to one embodiment. [Figure 2] 1 illustrates a simplified tape drive of a tape-based data storage system according to one embodiment. [Figure 3] FIG. 1 illustrates a tape layout according to one embodiment. [Figure 4A] 1 illustrates a hybrid servo pattern written in a dedicated area of a tape medium according to one embodiment. [Figure 4B] FIG. 1 shows partial details of a TBS pattern according to one embodiment. [Figure 4C] FIG. 4C shows a graph plotting sample versus amplitude of the TBS pattern of FIG. 4B according to one embodiment. [Figure 5A] FIG. 1 illustrates a High Density (HD) pattern, according to one embodiment. [Figure 5B] FIG. 5B is a graph plotting read energy versus frequency for the reader of FIG. 5A. [Figure 5C] FIG. 1 illustrates an HD pattern, according to one embodiment. [Figure 5D] FIG. 5D is a graph plotting read energy versus frequency for the reader of FIG. 5C. [Figure 6]FIG. 1 shows a block diagram of a detector for HD patterns according to the prior art. [Figure 7] FIG. 2 illustrates a block diagram of a detector for HD patterns according to one embodiment. [Figure 8] FIG. 1 is a flow chart diagram of a process for characterizing the magnetic recording tape of a tape cartridge. [Figure 9] FIG. 1 is a flowchart of a process for characterizing the magnetic recording tape of a tape cartridge in one exemplary manner. [Figure 10] FIG. 9 illustrates an exemplary sample of SBD reference values from the beginning of the tape (BOT) to the end of the tape (EOT) collected during execution of the process of FIG. 8. [Figure 11] FIG. 1 illustrates a flowchart of a method according to one embodiment. [Figure 12] FIG. 1 illustrates a flowchart of a process for controlling writing to magnetic recording tape of a tape cartridge. [Figure 13] FIG. 10 illustrates a flowchart of a process for one exemplary mode of use during writing. [Figure 14] FIG. 1 illustrates a flowchart of a process for controlling writing to magnetic recording tape of a tape cartridge. [Figure 15] FIG. 10 illustrates a process flow chart for one exemplary mode of use during reading. [Figure 16] FIG. 1 illustrates a flowchart of a process for characterizing the current state of the tape of a tape cartridge relative to a previous state of the tape of the tape cartridge. DETAILED DESCRIPTION OF THE INVENTION
[0010] The following description is made for the purpose of illustrating the general principles of the present invention and is not intended to limit the inventive concepts claimed herein. Moreover, particular features described herein can be used in combination with other described features in each of the various possible combinations and permutations.
[0011] In this specification, unless otherwise specifically defined, all terms are to be given their broadest possible interpretation, including the meaning implied by this specification and the meaning understood by a person skilled in the art and / or defined in dictionaries, treatises, etc.
[0012] It should also be noted that as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural referents unless specifically stated otherwise.
[0013] The following description discloses several preferred embodiments of a magnetic storage system, as well as its operation and / or components, for determining the effect of accommodation on a partial length of magnetic recording tape and adjusting a reference SBD value of at least a portion of the tape based on the observed accommodation changes over the partial length of the tape.
[0014] In one general embodiment, a method includes measuring a reference servo band difference (SBD) from the beginning of the tape (BOT) to the end of the tape (EOT) and storing the reference SBD measurement value in memory. A shorter length of tape, less than the entire length of the tape, is cycled multiple times to acclimate the shorter length of tape. The SBD of the shorter length of tape after cycling is determined, and an accommodation change for the shorter length of tape is determined, which is the difference between the reference SBD for the shorter length and the SBD for the shorter length after cycling. The method further includes adjusting the reference SBD value based on the determined accommodation change.
[0015] In another general embodiment, a system includes a processor and logic integrated with, executable by, or integrated with and executable by the processor, the logic being configured to cause the processor to perform the operations of the aforementioned method.
[0016] In another general embodiment, a computer program product includes a computer-readable storage medium having program instructions embodied therein, the program instructions being readable and / or executable by a controller to cause the controller to perform the operations of the method described above.
[0017] Referring now to Figure 1, a schematic diagram of a network storage system 10 is shown in accordance with one embodiment. Network storage system 10 is merely one example of a suitable storage system and is not intended to suggest any limitation as to the scope of use or functionality of the embodiments of the invention described herein. In any event, network storage system 10 may implement and / or perform any of the functionality illustrated herein.
[0018] Within network storage system 10, computer system / server 12 is present that can operate in numerous other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, or configurations, or combinations thereof, that may be suitable for use with computer system / server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, microcomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of these systems or devices.
[0019] The computer system / server 12 may be described in the general context of computer system executable instructions, such as program modules being executed by the computer system. Typically, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer system / server 12 may be practiced in a distributed cloud computing environment where tasks are performed by remote processing devices linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.
[0020] 1, computer system / server 12 in network storage system 10 is shown in the form of a general-purpose computing device. Components of computer system / server 12 may include, but are not limited to, one or more processors or processing units 16, system memory 28, and a bus 18 coupling various system components, including system memory 28 coupled to processor 16.
[0021] Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or local bus using any of a variety of bus architectures, etc. By way of example and not intended to limit the present invention in any way, such architectures include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnects (PCI) bus.
[0022] Computer system / server 12 typically includes a variety of computer system-readable media, which may be any available media that can be accessed by computer system / server 12 and may include both volatile and nonvolatile media, removable and non-removable media.
[0023] The system memory 28 may include computer system-readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer system / server 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, a storage system 34 may be provided for reading from and writing to non-removable, non-volatile magnetic media (not shown, typically referred to as a "hard disk" and operable within a hard disk drive (HDD)). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, non-volatile optical disk, such as a compact disc read-only memory (CD-ROM), a digital versatile disc-read only memory (DVD-ROM), or other optical media, may be provided. In such an example, each disk drive may be connected to bus 18 by one or more data media interfaces. As shown and described in detail below, memory 28 may include at least one program product comprising a series of (e.g., at least one) program module configured to perform the functions of the embodiments described herein.
[0024] For example, a program / utility 40 including a set of (at least one) program modules 42 may be stored in memory 28, including, but not limited to, an operating system, one or more application programs, other program modules, program data, etc. Each of the operating system, one or more application programs, other program modules, and program data, or a combination thereof, may include an implementation of a network environment. It should also be noted that program modules 42 may generally be used to perform the functions and / or methods of embodiments of the present invention described herein.
[0025] Computer system / server 12 may communicate with one or more external devices 14, such as a keyboard, pointing device, display 24, one or more devices that allow a user to interact with computer system / server 12, or any device (e.g., network card, modem, etc.) that allows computer system / server 12 to communicate with one or more other computing devices, or a combination thereof. Such communication may occur through an input / output (I / O) interface 22. Additionally, computer system / server 12 may communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), or a public network (e.g., the Internet), or a combination thereof, through a network adapter 20. As shown, network adapter 20 communicates with other components of computer system / server 12 via a bus 18. It should be understood that other hardware and / or software components, not shown, may be used with computer system / server 12. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, redundant array of independent disks (RAID) systems, tape drives, and data archive storage systems.
[0026] 2, a tape supply cartridge 120 and a take-up reel 121 are provided to support a tape 122. One or more of the reels may form part of a removable cartridge and are not necessarily part of the tape drive 100. A tape drive such as that shown in FIG. 2 may further include a drive motor for driving the tape supply cartridge 120 and the take-up reel 121 to move the tape 122 over any type of tape head 126. Such a head may include an array of readers, writers, or both.
[0027] Guide 125 guides tape 122 across tape head 126. Such tape head 126 is then coupled to controller 128 via cable 130. Controller 128 may be or include a processor and / or any logic for controlling any subsystem of drive 100. For example, controller 128 may control head functions such as servos, for data writing, data reading, etc. Controller 128 may include at least one servo channel and at least one data channel, each of which includes data flow processing logic configured to process and / or store information written to and / or read from tape 122. Controller 128 may operate under any logic known in the art and disclosed herein and, therefore, may be considered a processor with respect to any of the tape drive descriptions contained herein, according to various embodiments. Controller 128 may be coupled to any known type of memory 136 capable of storing instructions executable by controller 128. Additionally, controller 128 may be configured and / or programmable to perform or control some or all of the methods presented herein. Thus, controller 128 may be thought of as configured to perform various operations as programmed logic in one or more chips, modules, or blocks, or a combination thereof, software, firmware, or other instructions available to one or more processors, or a combination thereof, and the like.
[0028] Cable 130 may include read / write circuitry for transmitting data to be recorded on tape 122 to head 126 and for receiving data read from tape 122 by head 126. Actuator 132 controls the position of head 126 relative to tape 122.
[0029] An interface 134 may be provided for communication to send and receive data between tape drive 100 and a host (internal or external), as well as for controlling the operation of tape drive 100 and communicating the status of tape drive 100 to the host, all as will be understood by those skilled in the art.
[0030] Referring briefly to FIG. 3, an exemplary tape layout is shown according to one embodiment. As shown, tape 300 has a tape layout implementing five servo bands (servo band 0 through servo band 4) and four data bands (data band 0 through data band 3) as specified in the LTO and IBM® Enterprise formats. The height H of each servo band is measured in a cross-track direction 304, approximately perpendicular to the length L of tape 300. By way of example, the height H of each servo band may be approximately 186 microns according to the LTO format. Furthermore, the pitch β between the servo bands shown in the figure may be approximately 2859 microns, also according to the LTO format.
[0031] An exemplary tape head 302 is also shown as including two modules and positioned over a portion of tape 300 according to one approach. Read transducers, write transducers, or both may be positioned in either module of tape head 302 and may be used to read data from or write data to data bands, or both, according to any of the approaches described herein. Additionally, tape head 302 may include a servo reader, which may be used to read servo patterns in the servo bands according to any of the approaches described herein. It should also be noted that the dimensions of the various components included in FIG. 3 are provided by way of example only and are not intended to be limiting in any way.
[0032] Some tape drives may be configured to operate at low tape speeds, nanometer head positioning, or both. These tape drives use barium ferrite (BaFe) tape media, servo formats targeting 4-8 data bands, and 32- or 64-data channel operation to allow very low speed operation, support high-bandwidth actuator operation, and improve parameter estimation to minimize standard deviation of the position error signal (PES), thus enabling track density scaling for tape cartridge capacities of 100TB or more.
[0033] However, according to some embodiments, magnetic tape may be further enhanced with additional features that provide additional functionality. Accordingly, HD servo patterns may be implemented instead of the standard TBS servo patterns, for example, as shown in Figure 3. HD servo patterns may be used to improve track-following performance.
[0034] In further embodiments, a standard TBS servo pattern (e.g., as shown in FIG. 3) may be implemented in combination with one or more HD servo patterns (e.g., see FIG. 4A below). One implementation includes a hybrid servo pattern scheme, in which the standard TBS pattern is retained and additional HD patterns are provided in dedicated, preferably currently unused, areas of the tape media. This type of pattern may be implemented, in part, by increasing the number of data channels from 16 to 32 and reducing the width of the TBS pattern from 186 microns to 93 microns.
[0035] FIG. 4A shows a hybrid servo pattern 410 including a standard TBS pattern 402 written in a servo band of a tape medium 408 and an HD pattern 404 written in an HD band (e.g., a dedicated area). Furthermore, each HD pattern 404 includes multiple HD tracks, each of which includes a respective periodic waveform, as shown, for example, in FIGS. 5A and 5C below. In some approaches, significant features of the original TBS pattern 402 are preserved, such as a servo frame structure including four servo bursts containing multiple servo stripes, with the servo stripes of adjacent servo bursts written at alternating azimuth angles. Other parameters of the conventional servo pattern, such as the height and other geometric dimensions of the servo pattern and the number of servo stripes per burst, may be modified as desired.
[0036] The HD pattern 404 may include periodic waveforms of various frequencies written alternately along the longitudinal axis of the tape in the length direction L. The standard TBS pattern 402 may be used to initially identify servo bands (e.g., by providing servo band ID), initially position the head 406 over the appropriate servo location, and obtain initial servo channel parameters such as tape speed, lateral head position, head-to-tape skew, and longitudinal position (LPOS). Furthermore, the HD pattern 404 may enable more accurate and frequent estimation of servo channel parameters, thereby achieving improved head positioning over a very wide range of tape speeds and supporting high-bandwidth head operation. This may enable track density scaling for very large cartridge capacities and improved data rate scaling with host computer requirements through support for a wider speed range.
[0037] The detection of the periodic waveforms that form the HD pattern can be obtained by detectors that implement complex algorithmic transforms (e.g., Discrete Fourier Transform (DFT) or Fast Fourier Transform (FFT)). However, the complexity of this implementation can reduce the flexibility in the trade-off between the speed at which the estimate of the servo reader's lateral position can be generated and the standard deviation of the estimation error. Therefore, to reduce the processing time of the signals obtained from the HD pattern, it is desirable to use high-throughput components (e.g., controllers) to process these signals.
[0038] In one embodiment, a detector capable of reading a hybrid of the TBS pattern and the HD pattern may be implemented, and the hybrid detector may be configured to obtain estimates of the energies of relevant spectral frequency components in the read signal from the HD pattern, while also calculating an estimate of the lateral position of the head based on these energies without applying a DFT or an FFT.
[0039] The samples provided at the input of the component performing the spectral estimation may be obtained at appropriate sampling instants by interpolating a sequence of read HD servo signal samples from an analog-to-digital (A / D) converter, in one embodiment at a fixed clock frequency, or in another embodiment at a variable clock frequency. The time base of the interpolator may, in some embodiments, be derived from an estimate of the tape speed provided by a TBS channel operating in parallel with the HD detector, as described in more detail below.
[0040] Various tradeoffs are possible between the speed of spectral estimate generation, by which an estimate of the lateral position of the servo reader is obtained, and the standard deviation of the estimation error. However, a suitable and preferred implementation may be realized with significantly reduced complexity compared to DFT- or FFT-based implementations. Specifically, in one embodiment, only a small number of spectral estimates are calculated and compared to a fixed number of equally spaced spectral components calculated by the DFT or FFT. Furthermore, the integration interval may be freely adjusted, whereas DFT / FFT-based solutions involve the integration interval being a multiple of the DFT / FFT size.
[0041] Even if the HD servo pattern uses multiple tone frequencies, the maximum number of spectral estimates calculated by the proposed detector may correspond to the maximum number of tracks simultaneously read by the HD servo reader at any given time.The proposed detector may also be reconfigured to provide a spectral estimate corresponding to the currently read track based on coarse positioning information from the TBS channel.
[0042] Referring again to Figure 4A, which shows a tape layout 400 including a hybrid servo pattern 410 according to one embodiment, in the hybrid servo pattern 410, an HD pattern 404 is written in a space adjacent to a standard TBS pattern 402. According to this embodiment, due to the use of the TBS pattern 402, no quadrature sequence is included, as opposed to products that implement the servo function in a hard disk drive.
[0043] Referring briefly to FIG. 4B, a partial detailed view of a TBS pattern 402 (e.g., a TBS frame) is shown, according to an example embodiment. As shown, multiple servo stripes 412 together form a servo burst 414, while corresponding pairs of servo bursts 414 form a servo subframe. Thus, the illustrated TBS frame includes four servo bursts 414 and two servo subframes. In this embodiment, the servo bursts 414 included in the left servo subframe each include five servo stripes 412, while the servo bursts 414 included in the right servo subframe each include four servo stripes 412. The servo stripes 412 included in a particular servo burst 414 are oriented to have the same azimuthal tilt, represented by angle α. Furthermore, corresponding pairs of servo bursts 414 have opposite azimuthal tilts, thereby forming a chevron pattern. The height H and thickness t of the servo stripes 412 may vary depending on the servo writer used to write the TBS pattern 402. By way of example, and not intended to limit the invention in any way, the height H may be approximately 186 μm, the angle α may be approximately 6°, and the thickness t may be approximately 2.1 μm. Additionally, the spacing S between each of the servo stripes 412 and / or the distance d between servo bursts 414 having the same azimuthal tilt may vary depending on the desired embodiment. By way of example, and not intended to limit the invention in any way, the spacing S may be approximately 5 μm and the distance d may be approximately 100 μm. As previously mentioned, patterned transitions, such as those shown in FIG. 4B , allow an estimate of the lateral position of the head to be determined by evaluating the relative timing of pulses generated by a servo reader reading the servo stripes 412 in the servo bursts 414 as the servo stripes 412 pass over the servo reader.
[0044] Referring again to FIG. 4A, the HD pattern 404 may include periodic waveforms written on adjacent tracks. For example, two periodic waveforms characterized by two different spatial frequencies (a low frequency f1 and a high frequency f2), where f2>f1. However, a wider range of lateral head displacement is desirable. Therefore, different configurations of the HD pattern may be used to avoid ambiguity in determining the lateral displacement.
[0045] FIG. 4C shows a graph 418 plotting samples against amplitude of the TBS pattern 402 of FIG. 4B as detected as a servo read signal 416 during read. The servo channel may decode a read signal received from a servo reader of a magnetic tape head that is reading the TBS pattern 402. For example, as the servo stripe 412 of the TBS pattern 402 passes across the servo sensor, a double-pulse portion 420 (comprising a positive peak and a negative peak) of the read signal 416 is generated (e.g., for illustrative purposes, see the horizontal dashed line showing how the double-pulse portion of the read signal 416 corresponds to the read position of the servo stripe). Thus, two or more of the double-pulse portions and their associated timing may be used in calculating a lateral position (y-position) estimate.
[0046] In one approach, the servo channel may provide a y position estimate to the track-following control system, for example, such a y position estimate may be calculated using Equation 1:
[0047]
number
[0048] As shown above, the lateral y position estimate in Eq.
number
[0049] For example, in the 5-5-4-4 pattern of FIG. 4C, for each servo subframe of the TBS pattern 402 of FIG. 4B, i Four measurements (i=0, 1, 2, 3) of B i Four measurements (i=0, 1, 2, 3) are performed. In some techniques, the distance d is sometimes called the "subframe length."
[0050] The HD servo pattern preferably includes periodic waveforms of different frequencies written alternately in the lateral (cross-track) direction. Therefore, the HD servo pattern, according to various embodiments described herein, may desirably provide more accurate and / or more frequent estimation of servo channel parameters. Referring to FIGS. 5A-5D, an HD pattern 500 is shown that includes only two periodic waveforms and overcomes the limited range of lateral head displacement associated with an HD pattern characterized by two different spatial frequencies. As shown in FIGS. 5A and 5C, at least three frequencies are used in the HD pattern 500 in adjacent tracks, periodically repeating across the band in which the HD pattern is written. In the embodiment of FIGS. 5A and 5C, the servo reader (represented by the block labeled "R") spans more than a single track in the cross-track direction 502 so that at any given time when the servo reader R overlaps the HD pattern 500, at least two tones / frequencies are detected under any read conditions. 5A, the leader R spans both the bottom 508 and the center 506 of the HD pattern 500. FIG. 5C shows another position of the servo leader R, where the leader R spans both the top 504 and the center 506 of the HD pattern 500.
[0051] The three portions 508, 506, 504 of the periodic waveform are characterized by three distinct frequencies, f1, f2, and f3, with f3 > f2 > f1, respectively. According to various approaches, each waveform may be characterized as having a number of periods within a predetermined interval, ranging from about 25 to about 200, such as 30, 50, 75, or 100 periods. More preferably, the predetermined interval may be within a range of about 50 μm to about 150 μm, such as about 60 μm, about 75 μm, or about 100 μm, depending on the approach. Furthermore, the length of the symbols may be within a range of about 0.5 μm to about 3.0 μm, such as about 1.0 μm, about 1.5 μm, or about 2.0 μm.
[0052] Thus, with continued reference to FIGS. 5A-5D, the edge of one of the portions of HD pattern 500 may be distinguished from the edge of another portion. Specifically, with reference to FIG. 5A, the edge of center portion 506 may be distinguished from the edge of bottom portion 508 by evaluating the signal read by servo reader R, which overlaps both portions 506, 508. Graph 510 in FIG. 5B identifies various frequencies in the read signal from servo reader R and the energy levels corresponding to each frequency at the position of servo reader R shown in FIG. 5A. Energy values may be determined, in some approaches, by integrating over a particular time (or distance along the tape). As shown in graph 510, in addition to center frequency f2, bottom frequency f1 is present in the read signal of servo reader R and may therefore be detected by spectral analysis. Furthermore, the energy values of spectral components f1 and f2 represent the relationship between servo reader R and its overlapping portions in center portion 506 and bottom portion 508. Assuming that the energy value of the spectral component at frequency f1 is smaller than the energy value of the spectral component at second frequency f2, it can be determined accordingly that servo leader R overlaps center portion 506 more than it overlaps bottom portion 508. Further, a comparison of the corresponding energies can be used to determine the fine position of servo leader R relative to the magnetic tape.
[0053] Similarly, graph 520 of FIG. 5D identifies the frequencies in the read signal from servo reader R positioned as shown in FIG. 5C, and the corresponding energy levels for each frequency. As shown, frequencies f2 and f3 are present in the read signal from servo reader R and may be detected by spectral analysis. Again, the energy of the spectral components at frequencies f2 and f3 indicates that servo reader R is positioned over top portion 504 and center portion 506. Assuming that the energy of the spectral component at frequency f3 is less than the energy of the spectral component at frequency f2, servo reader R therefore overlaps center portion 506 more than it overlaps top portion 504. Furthermore, a comparison of the corresponding energy values may be used to determine the fine position of servo reader R relative to the magnetic tape.
[0054] Note that if spectral estimation with a DFT / FFT-based detector using a minimum number of spectral bins for a particular integration interval is employed, the periods of the three frequency waveforms may be integer multiples of the period T (e.g., T = 241.3 nm) corresponding to the highest spatial frequency, which is proportional to 1 / T.
[0055] 6 shows a block diagram of a DFT / FFT-based detector 600 configured for calculating a PES from an HD servo pattern containing a periodic waveform. A servo signal from a servo reader 602 is interpolated using a servo signal interpolator 604 along with timing information from a synchronous servo channel 606. The interpolated signal samples are then processed by either a DFT-based or FFT-based (DFT / FFT-based) detector 608, which estimates signal energy values at frequencies f1 and f2. The output of the DFT / FFT-based detector 608 is input to a PES calculation unit 610, which determines an estimate of the PES by taking the difference between the signal energy values.
[0056] Ideally, the two periodic waveforms whose energy is estimated by the DFT / FFT-based detector 608 are sinusoidal waveforms at frequencies f1 and f2. However, when used for HD patterns, the DFT / FFT-based detector 608 has the inherent drawback that the number of spectral components for which energy estimates are provided depends on the integration interval of the DFT (or FFT) calculation, and the number of those spectral components can become very large if the integration interval spans multiple periods of the fundamental frequency, which is typically the case when low-noise estimation processes are used.
[0057] Because the number of periodic waveform components forming the readout signal of the HD pattern is typically limited to two or three for a particular lateral position, it is advantageous to use a low-complexity implementation of the detector, whereby only estimates of the energy of relevant spectral components at two or three frequencies in the readout signal of the HD pattern are efficiently calculated.
[0058] Referring now to FIG. 7, a detector 700 for an HD pattern is shown according to one embodiment. The detector 700 is configured to operate using periodic waveforms corresponding to components of the read signal of an HD pattern characterized by three frequencies at any given time, as shown, for example, in FIGS. 5A-5B according to one embodiment. With continued reference to FIG. 7, the detector 700 includes three digital filters 702, 704, and 706 with a low-complexity implementation, each comprising a second-order infinite impulse response (IIR) stage followed by a two-tap finite impulse response (FIR) stage for estimating the energy of the read HD servo signal at a particular frequency according to the Goertzel algorithm. As those skilled in the art will appreciate upon reading this description, other configurations and components may be used for the three digital filters 702, 704, and 706. The periods (in nm) of the waveforms corresponding to the three frequencies may be assumed to be integer multiples of the fundamental period T.
[0059] For accurate estimation of the energy of the three periodic waveform components within a finite integration interval, it is preferable that the frequencies of the periodic waveform components match the characteristic frequencies of the three digital filters 702, 704, 706, denoted by ω0 / 2Π, ω1 / 2Π, and ω2 / 2Π, respectively. If matching is not possible, it is preferable that the frequencies be within about 0.001% to 1.0% of the frequencies set for the three digital filters 702, 704, 706, and more preferably less than about 0.1% difference. This may be achieved by resampling the output sequence of the analog-to-digital converter (ADC) 708 at appropriate times, as shown in FIG. 7, where the resampling is performed using a time reference derived from the tape speed and a particular interpolation distance ΔX HD This may be done by the interpolator 710 using the frequency f of the clock 718. s is used as an input to the ADC 708, counter 720, and digital circuitry of the detector 700. Additionally, the frequency f s can be either fixed frequency or variable frequency.
[0060] In one embodiment, the interpolator 710 may be a cubic Lagrangian interpolator to achieve less signal distortion than a linear interpolator. Of course, any suitable interpolator may be used, as would be understood by one skilled in the art. Regardless of the tape speed, ΔX HD The output signal samples of the interpolator 710 are taken to correspond to the HD servo signal samples received at each point on the tape separated by a step interpolation distance equal to ΔX HD is independent of the tape speed, under the condition T / ΔX HD =K, where K is a positive integer. The time base for generating the interpolator output samples is the time t n}. n} may further be provided to a circular buffer 722.
[0061] The detector 700 shown in FIG. 7 detects when a certain number of samples occur within a clock interval T S =1 / f S However, doing so may increase the maximum tape speed (2ΔX) at which detector 700 can operate. HD / T S A limit may be placed on the maximum tape speed (maximum tape speed represented by √{square root over (π)} / √{square root over (π)}). The maximum tape speed supported by detector 700 may be increased by allowing more samples to be calculated by interpolator 710 within a single clock interval, but doing so also increases the computational complexity.
[0062] For a fixed tape speed, the time {t n} is T i It can be evenly spaced for seconds, and T i is the tape step interpolation distance ΔX HD The time interval Ti is the time it takes to travel a distance equal to T i =ΔX HD / V est (i.e., ΔX HD and the instantaneous tape speed V est The step interpolation time calculation unit 714 calculates the ratio between the estimated value of the interpolated signal sample and the estimated value of the interpolated signal sample (which can in one way be obtained from the TBS channel). The TBS channel may, according to one embodiment, operate as a synchronous TBS channel. The average number of interpolated signal samples generated per ADC clock interval is determined by the ratio T i / T S is given by T S =1 / f S indicates the clock interval. The ADC clock frequency f S may be fixed frequency in one approach, or variable frequency in another approach.
[0063] In one embodiment, the HD detector 700 may be configured to estimate tape speed based on the output of a TBS channel of a tape drive configured to process TBS patterns written in servo bands of a magnetic tape medium to determine the time to acquire interpolated signal samples to input into the Goertzel algorithm as a filtering element.
[0064] In another embodiment, the HD detector 700 may be configured to calculate an estimate of the lateral position of the head for coarse positioning of the servo reader based on the output of the TBS channel of the tape drive. The HD detector 700 may also be configured to adjust the setting of at least one digital filter according to the frequency content of the waveform of the HD servo signal estimated based on the estimate of the lateral position of the head. For example, the setting ω of the ith digital filter i is the coarse position estimate and the known frequency ω of the HD pattern at that estimated (coarse) lateral position. i =2Πf i In another example, the settings of the ith digital filter may be adjusted based on a combination of the coarse position estimate and the length of the HD pattern symbol at that estimated (coarse) lateral position, the integration interval, etc.
[0065] The HD detector 700 detects three characteristic frequencies {ω0, ω1, ω2}(ω i =2Πf i) as inputs, from which the coefficients of the digital filters 702, 704, 706 are derived. These frequencies may be derived from knowledge of the lateral position of the servo reader, as described above, in one embodiment, provided by the TBS channel. Assuming that the number "Q" represents the number of samples over which an estimate of the energy of the periodic waveform is calculated, Q may determine the length of the integration interval and, therefore, the spatial frequency resolution. Assuming that the value of Q is even, Q / 2 represents the number of frequencies for which an energy estimate is provided by a DFT / FFT-based HD detector operating over Q samples. Q may be derived from the memory of the tape drive in one embodiment. Furthermore, Q is typically about 100 or greater.
[0066] To compensate for the different attenuation that the read HD servo signal may experience at different frequencies, a gain factor g i Multiplication of the three energy estimates with (i=0, 1, 2) may be provided, and a normalization g1=1 may be assumed. Thus, an estimate of the lateral position of the HD servo reader 716, and therefore a position error signal from knowledge of the target head position, may be obtained by a linear combination of the three energy estimates. Note that the maximum number of spectral estimates calculated at any one time is determined not by the total number of tones in the HD servo pattern (which may be greater than three), but by the maximum number of tracks that can be read by the HD servo reader 716 (which may be equal to three in some approaches). If the number of tones is greater than three, the values of the three characteristic frequencies {ω0, ω1, ω2} provided to the HD detector 700 may be obtained from knowledge of the lateral position estimates obtained from the TBS channel, as described above.
[0067] In another embodiment, HD detector 700 may be implemented without interpolator 710 using a configurable digital filter that adjusts its settings according to the spatial frequency content of the waveform of the HD servo signal read from the magnetic tape medium and the tape speed. The adjustment of the digital filter settings may be based on a coarse head lateral position estimate, a tape speed estimate calculated based on the output of the tape drive's TBS channel, or both.
[0068] In alternative embodiments, the HD detector may implement additional digital filters in addition to the digital filters used to estimate energy at frequencies corresponding to patterns written in the track being simultaneously read by the HD servo reader 716. The one or more additional digital filters may be configured to estimate the energy at frequencies {ω X} may be used to simplify detector reconfiguration when the input values change dynamically.
[0069] In further embodiments, one or more additional digital filters may be used to distinguish HD patterns characterized by a small number of spectral components / lines from broadband noise and / or data signals, by measuring spectral components at frequencies not used by the HD pattern at characteristic frequencies ω of the additional digital filters. i This may be achieved by selecting
[0070] The outputs from the three digital filters 702, 704, and 706 are i,t | 2 is the position error estimate (ε t ) to a PES calculation unit 724 which provides the PES.
[0071] Other components of HD detector 700 may operate as known by those skilled in the art and are omitted herein for clarity of the described embodiment.
[0072] As described elsewhere herein, in a magnetic storage system, a magnetic transducer reads data from and writes data to a magnetic recording medium. Data is written to a magnetic recording medium by moving a magnetic recording transducer to a location on the medium where the data is to be stored. The magnetic recording transducer then generates a magnetic field that encodes the data into the magnetic medium. Data is read from the medium by similarly positioning a magnetic read transducer and then sensing the magnetic field of the magnetic medium. Read and write operations may be independent and synchronized with the movement of the medium to ensure that data can be read from and written to desired locations on the medium.
[0073] An important ongoing goal in the data storage industry is to increase the density of data stored on media. In the case of tape storage systems, this goal has led to increasing the density of tracks and linear bits on recording tape and decreasing the thickness of the magnetic tape media. However, the development of smaller footprint, higher performance tape drive systems has posed a variety of challenges, ranging from designing tape head assemblies for use in such systems to addressing the dimensional instability of tape.
[0074] Tape drives write and read multiple data tracks simultaneously. It is crucial that all data tracks are written in the correct position for proper operation during subsequent reads. If the head dimensions change due to temperature or other factors, or if manufacturing variations cause the transducers on the head to not be positioned as specified by the proper design, data tracks will be written / read in the wrong position. Similarly, if the media is inconsistent in dimensions, data tracks will shift after being written and will not be in the same position when the tape is read. In either case, successful reading of the data will be compromised.
[0075] Fortunately, changes in the dimensions of the head, the media, or both can be detected by comparing differences in servo reader measurements. These measurements from the servo reader are one method that can be used to determine variations in the head and media, and may be referred to herein as SBD. Depending on the approach, SBD information may include the SBD measurements themselves, information derived from the SBD measurements, or both.
[0076] In tape drives, cartridges are typically calibrated to determine a reference SBD so that tape dimensional stability (TDS) can be managed. For example, this calibration may be performed for each new cartridge. As described below (e.g., see method 800), when a cartridge is first installed, the tape drive may advance to the end of the magnetic recording tape, taking periodic measurements along the way that are stored as reference values. Various embodiments and approaches described herein present different approaches to addressing dimensional stability issues.
[0077] To measure SBD, a servo reader on the same module reads each servo pattern on the media. In the ideal case, both servo readers measure the same position on their associated servo pattern. However, media and heads are rarely ideal, so by comparing position measurements from the two servo channels, deviations from this ideal case can be determined. If SBD increases, this means that the tape has shrunk laterally, or the head has expanded, or both. Similarly, if SBD decreases, this means that the tape has expanded laterally, or the head has contracted, or both.
[0078] The SBD measurements may be used to characterize the magnetic recording tape. Referring to FIG. 8, a flowchart of a method 800 for characterizing the magnetic recording tape of a tape cartridge is shown. Method 800 may be performed in accordance with the present invention in a variety of ways, particularly in any of the environments shown in FIGS. 1-16. Of course, as one skilled in the art will understand upon reading this description, method 800 may include more or fewer operations than those specifically illustrated in FIG. 8.
[0079] Each of the steps of method 800 may be performed by any suitable component of an operating environment. For example, in various embodiments, method 800 may be performed, in part or in whole, by a tape drive or other device including one or more processors. A processor (e.g., a processing circuit, chip, or module, or a combination thereof) implemented in hardware and / or software and preferably including at least one hardware component may be utilized within any device to perform one or more steps of method 800. Examples of processors include, but are not limited to, a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like, combinations thereof, or any other suitable computing device known in the art.
[0080] This process may be performed when a new tape is being prepared for first use. For example, this process may be in addition to a conventional cartridge initialization process. This process may also be performed when one or more data bands on a used tape are ready to be overwritten.
[0081] Operation 802 of method 800 involves taking SBD measurements at various locations along the length of the magnetic recording tape using a magnetic head including servo readers of known pitch. Because spacing is typically not constant along the length of the tape, observed SBD measurements typically differ as the tape moves from the bottom of the tape toward the end of the tape. While not wishing to be bound by any theory, it is believed that this variation is at least partially due to pack stresses imparted to the tape when stored in a cartridge. SBD measurements may be taken for a portion of the data bands on the tape, and preferably for each data band. SBD measurements are preferably taken at various locations along substantially the entire length of the magnetic recording tape, although some techniques characterize only a portion of the tape's length. The tape is ideally maintained at a nearly constant tension during SBD measurements to minimize tension-induced dimensional changes in the tape. The constant tension preferably resembles the tension desired for read and / or write operations on the magnetic tape.
[0082] In one approach, the tape drive moves the tape from BOT to EOT while maintaining a nearly fixed tape tension while measuring SBD. Because SBD tends to vary from BOT to EOT, multiple measurements are preferably taken. In general, any granularity of measurement interval can be applied, and a larger number of SBD measurements will provide more information for later use. In some preferred approaches, at least 100 SBD measurements are received between BOT and EOT per data band, and more preferably at least 200 SBD measurements are received between BOT and EOT per data band, although in some approaches fewer than 100 measurements may be received.
[0083] Note that the servo reader pitch varies from head to head, and therefore raw SBD measurements typically do not reflect the actual servo track spacing. In other words, a servo pitch on the head that is wider or narrower than the assumed pitch will cause errors in the measurement of the spacing value for the current media. Therefore, during this process, the servo reader pitch on the head is preferably known and used to adjust (compensate) the SBD value so that the SBD value more accurately reflects the spacing characteristics of the actual media. The servo reader pitch directly corresponds to the spacing of the servo readers relative to each other and may be center-to-center pitch, edge-to-edge pitch, etc.
[0084] The servo reader pitch may be derived or obtained in any suitable known manner. Typically, this value is stored in each drive's memory during drive manufacturing. In one approach, this pitch is measured for each drive during manufacturing and placed in a non-volatile area of the drive's memory, along with vital product data (VPD), etc. Head calibration can be performed in several ways, such as multi-stage atomic force microscope (AFM) measurements, the use of a reference tape containing servo tracks of known spacing, or any other method that provides measurements of the transducer relative to other transducers. In another approach, this pitch is measured for a drive after it has been built, optionally during use. In a preferred approach, a reference tape may be used.
[0085] When a tape is characterized using process 800 by using pitch values stored in the VPD, the observed measurements can be corrected according to the head spacing values stored in the VPD, thus ensuring that the measurements received, and the corresponding values ultimately written to cartridge memory (CM), represent the cartridge and are not unduly influenced by the head making the measurements.
[0086] Additionally, the effects of local temperature and / or humidity can be corrected for by using temperature and / or humidity sensors within the drive (or external sensors with information communicated to the drive). For example, high humidity causes the tape to expand, and the cartridge is initialized in this high humidity condition. It is desirable for the stored SBD values to represent nominal conditions for head spacing, temperature, and humidity.
[0087] In operation 804, the SBD measurements and / or derived information (collectively referred to herein as "SBD information") are stored in association with the tape cartridge. The SBD information preferably includes the location along the tape at which each SBD measurement was received in association with the corresponding SBD measurement. For example, linear tape open (LTO) linear positioning (LPOS) information may be stored in association with each SBD measurement. Thus, a representation of the spacing characteristics of the media at the time method 800 is performed is stored for later use.
[0088] Any of several storage techniques may be used to store the SBD information, such as storing raw points, fitting measurements to a function (linear, polynomial, spline, etc.) and then storing coefficients or descriptive variables. The SBD information may be stored in any suitable location from which it may be later referenced. Preferably, the SBD information is written to the cartridge's CM. Other locations for storing SBD information include the tape itself (e.g., in the header information), on the cartridge's removable storage device (e.g., SD card), in a database of information about tape cartridges (e.g., a library database), in cloud-based storage, etc.
[0089] Method 800 may be performed as part of a cartridge initialization procedure. For example, the operations of method 800 may be performed during a cartridge initialization process in addition to performing conventional special operations during initial installation of a new cartridge.
[0090] Method 800 may be invoked at times other than initial loading. For example, the timing for executing method 800 may correspond to other operations, such as changing the format of the tape, or after a garbage collection process has deleted all data on the tape. Characterizing or re-characterizing a tape at times other than initial loading may be useful to reset the SBD information to account for any creep that has occurred in the media since the previous initialization. Other operations, such as fully destructive operations like a format command, may be considered appropriate times to reissue a cartridge initialization.
[0091] 9 is a flowchart of a method 900 for characterizing magnetic recording tape of a tape cartridge in one exemplary manner. Method 900 may be performed in accordance with the present invention in a variety of ways, particularly in any of the environments illustrated in FIGS. 1-16. Of course, as one of ordinary skill in the art will understand upon reading this description, method 900 may include more or fewer operations than those specifically illustrated in FIG. 9.
[0092] Each of the steps of method 900 may be performed by any suitable component of an operating environment. For example, in various embodiments, method 900 may be performed, in part or in whole, by a tape drive or other device including one or more processors. A processor (e.g., a processing circuit, chip, or module, or a combination thereof) implemented in hardware and / or software and preferably including at least one hardware component may be utilized within any device to perform one or more steps of method 900. Examples of processors include, but are not limited to, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, combinations thereof, or any other suitable computing device known in the art.
[0093] Operation 902 of method 900 involves loading a cartridge into a tape drive. At decision 904, a determination is made as to whether the tape has been initialized and SBD information about the tape is available, for example, using method 800 of FIG. 8. If SBD information is available, the cartridge is considered ready for read and / or write operations. See operation 906. If SBD information is not available, method 900 proceeds to operation 908, where SBD is measured at multiple locations on the tape using a substantially constant tension. At operation 910, the measurements are corrected for any of a variety of parameters. For example, the measurements may be corrected due to measurement bias from head dimensions and, i.e., servo reader pitch. This correction may also, or alternatively, include a temperature component and / or humidity component. At operation 912, SBD information is stored, preferably in the CM of the cartridge, but may be in other locations, such as the media itself, a removable memory coupled to the cartridge, such as an SD card, or the like. The cartridge is considered ready for read and / or write operations, see operation 914.
[0094] FIG. 10 is a chart 1000 illustrating SBD reference values for an exemplary sample collected during method 800 of FIG. 8 from BOT to EOT. As shown, the SBD measurements are highest at BOT and become slightly negative by EOT. As previously mentioned, if SBD increases, this indicates that the tape has shrunk laterally after the servo tracks were written. Similarly, if SBD decreases, this indicates that the tape has expanded laterally.
[0095] The various embodiments and techniques described above detail a tape drive advancing to the end of a magnetic recording tape and taking periodic measurements along the way that are stored as reference values. This may be done after the magnetic recording tape is initially loaded, in addition to responding to some command, such as a format command. However, it is important to note that the drive's current environment may differ from the environment in which the cartridge was manufactured. As a result, it is likely that the new environment has not been diffused throughout the tape pack. For example, it may take months or even years for a tape pack wound on a cartridge reel to fully acclimate (e.g., for the moisture content throughout the tape pack to become approximately uniform). If the SBD value were simply calculated from an unacclimated tape, the SBD value would likely change as the tape acclimates, resulting in an inaccurate reference SBD value. One potential solution is to acclimate the entire tape before measuring the SBD value by cycling the tape from BOT to EOT and back multiple times to induce acclimatization. However, this is a relatively time-consuming process. By way of background, the expected latency for a tape drive to perform such cycling on conventional magnetic recording tape can be approximately six minutes or more per cycle, which is quite time-consuming in the data storage space where users expect negligible latency.
[0096] To correct for tape width changes due to tape acclimatization, various embodiments and techniques described herein may be implemented, including cycling a shorter length of tape multiple times, less than the entire length of the tape, and determining an acclimatization change for the shorter length of tape to apply to the baseline SBD value for the entire tape, to allow for the measurement of a baseline SBD value and adjust the SBD value to account for these changes in a time-efficient manner. This shorter section of tape is allowed to acclimate, and by again measuring the SBD value of the acclimatized section of tape, a correction factor may be determined and applied, for example, to some or all of the baseline SBD value for the entire length of tape. This process allows for a relatively quick and highly accurate determination of what the SBD profile of the entire tape of an acclimatized pack will be, because the lengthy wait time otherwise consumed in acclimatizing a tape by cycling it continuously from BOT to EOT and back again multiple times is mitigated by simply cycling a smaller, localized area.
[0097] 11, a flowchart of a method 1100 is shown according to one embodiment. Method 1100 may be performed in accordance with the present invention in various embodiments, particularly in any of the environments shown in FIGS. 1-16. Of course, as one skilled in the art will understand upon reading this description, method 1100 may include more or fewer operations than those specifically illustrated in FIG. 11.
[0098] Each of the steps of method 1100 may be performed by any suitable component of an operating environment. For example, in various embodiments, method 1100 may be performed, in part or in whole, by a controller or other device including one or more processors. A processor (e.g., a processing circuit, chip, or module, or a combination thereof) implemented in hardware and / or software and preferably including at least one hardware component may be utilized within any device to perform one or more steps of method 1100. Examples of processors include, but are not limited to, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, combinations thereof, or any other suitable computing device known in the art.
[0099] It may be prefaced that method 1100 may typically be performed by a tape drive (e.g., a magnetic recording tape drive), or using a tape drive, or both. Method 1100 may additionally, alternatively, or both be performed by a computer. Further, by way of background, method 1100 may be performed to determine conformation changes of smaller portions of magnetic recording tape within a tape cartridge and use that information to, for example, adjust some or all of the SBD values for the entire length of the tape to compensate for the conformation of the tape.
[0100] Operation 1102 includes loading a tape cartridge containing a tape into a tape drive. In some approaches, the tape cartridge may be loaded into the tape drive in response to receiving a request, such as a request to write data, a request to format the tape of a tape cartridge, or a request for an additional tape cartridge in response to storage consumption of the storage system exceeding a predetermined threshold. In some other approaches, the tape cartridge may be loaded into the tape drive without receiving a request. In some other approaches, the tape cartridge may already be loaded into the tape drive; therefore, in one or more of such approaches, operation 1102 may be an optional step in method 1100. It should be noted that, while in some approaches the tape cartridge may be loaded into the tape drive at the location where the tape cartridge is manufactured, in a preferred approach the tape cartridge containing the tape is loaded into the tape drive at the location where the tape will be used for read and / or write operations. This is because SBD measurements received while the tape cartridge is still at the manufacturer's location may reflect environmental conditions (e.g., temperature changes, humidity changes, etc.) that differ from those at the location of final use.
[0101] Operation 1104 includes measuring the reference SBD from BOT to EOT, or equivalently, from EOT to BOT (along at least a majority of the length of the tape). SBD measurement techniques similar to those described elsewhere herein (e.g., see operation 802 of method 800 and related discussion) may be utilized to measure the reference SBD from BOT to EOT. The reference SBD measured from BOT to EOT provides an initial dimensional assessment of the tape along its length. Measuring the reference SBD allows for the creation of SBD values corresponding to different points along the tape.
[0102] In some preferred approaches, one or more operations of method 1100, such as measuring the reference SBD from BOT to EOT, may be performed in response to a tape cartridge of the tape being initially loaded into a tape drive, e.g., at a manufacturing facility, an end-user location, etc. In another approach, one or more operations of method 1100, such as measuring the reference SBD from BOT to EOT, may additionally and / or alternatively be performed in response to receiving a formatting request to format the tape. By way of background, a reference SBD value calculated immediately after a tape cartridge is manufactured or moved to a new location may differ from an SBD value calculated after the tape has had time to acclimate to the current environment. For example, the two environments may have different relative humidity, different relative temperatures, etc. These differences in relative environmental conditions may affect dimensional stability, e.g., the width of the tape, over the entire length of the tape and, as previously discussed, may slowly change the lateral dimensions of the tape as it acclimates.
[0103] In operation 1106, the reference SBD measurement values are stored in a memory. The memory in which the reference SBD measurement values are stored may depend on the technique and may include, for example, any one or more of the following: memory on the drive, memory on the tape cartridge, the tape, a database remote from the drive, etc.
[0104] As previously mentioned, if the tape has not acclimatized to its current environment and its lateral dimensions change as it acclimates, the values corresponding to the baseline SBD measurements are likely to be inaccurate. This is especially likely if the tape cartridge has not been given time to fully acclimate, such as immediately after manufacture, immediately after removal from its packaging, or recently moved to a new location. As noted above, the tape can be forced to acclimate by, for example, cycling it between BOT and EOT one or more times, sometimes referred to as tape conditioning. However, conditioning the entire tape takes a long time, making it impractical to perform tape conditioning prior to SBD measurements.
[0105] That is, as described in further detail below with reference to operations 1108-1116, the SBD values calculated above are adjusted to reflect corrections for changes in the lateral dimensions (width) of the tape due to acclimatization. Specifically, to make the SBD values calculated above more reflective of the state of the tape after acclimatization, a shorter length of tape (less than the full length of the tape) is cycled multiple times to acclimate the shorter length. New SBD measurements are then received along the acclimatized shorter length and used to determine the impact of acclimatization on the shorter length of tape. The entire tape should acclimate in a substantially similar manner as the shorter length; therefore, knowledge derived from acclimatizing the shorter length of tape and receiving the new SBD measurements can be used to adjust the baseline SBD values of some or all of the tape. The resulting adjusted SBD values are then stored and used for reading and / or writing, e.g., in the manner described elsewhere herein.
[0106] Referring to operation 1108, a shorter length of the tape, less than the entire length of the tape, is cycled multiple times to conform the shorter length (e.g., a localized region) of the tape. By way of background, the terms “cycled” and “cycling,” as used herein, refer to winding the tape from a first end of the shorter length to a second end of the shorter length, e.g., along the intended direction of travel of the tape, and then winding it back to the first end of the shorter length. This cycling likely causes one or more dimensions of the tape to change as the tape conforms. For example, the width of the tape in the cross-track dimension may increase, the width of the tape in the cross-track dimension may decrease, the length of the tape may increase, the length of the tape may decrease, etc. It should be noted that some additional dimensional change is expected to occur during normal operation of the tape, for example, in response to changes in the temperature of the tape drive, changes in ambient humidity, etc., which are thermodynamically transformed into the tape itself. However, it has been found that this cycling works very well in acclimating the tape, as the tape responds better to acclimation to conditions such as humidity when it is moving forward between the cartridge reel and the take-up reel than when it is stationary.
[0107] Generally, the shorter the shorter length, the more quickly the cycling can be performed. However, the longer the shorter length, the more accurate the results will be because more of the tape is taken into account. Therefore, the shorter length of the tape may be any desired length less than the total length of the tape, depending on the approach. For example, in some approaches, the shorter length is less than about 50% of the total length of the tape. By way of further example, the shorter length may be, for example, less than about 30% of the total length of the tape, less than about 15% of the total length of the tape, less than about 10% of the total length of the tape, etc. By way of another example, in one preferred approach, the shorter length is less than about 5% of the total length of the tape. The inventors have found that a shorter length greater than about 0.5% and less than 5% of the total length of the tape provides sufficiently accurate results.
[0108] In some other approaches, the shorter length of tape may be defined by a portion (e.g., a predetermined number or percentage) of the area previously measured to obtain the reference SBD from BOT to EOT. For example, in one approach where 100 areas are measured to obtain the reference SBD, the predetermined number may be five areas. Thus, the shorter length of tape may include five areas, which may be adjacent on the tape (preferred for shorter circulation times), adjacent in part, or spaced apart. In another example, 100 areas may be measured to obtain the reference SBD, and the predetermined number may be three areas. Accordingly, the shorter length of tape may include three areas. In another approach where 200 areas are measured to obtain the reference SBD, the predetermined percentage may be 5%, and thus the shorter length of tape may include 10 areas. It is noted that in some approaches, the regions are all adjacent to one another, e.g., regions 50-52, regions 1-3, regions 98-100, etc., while in some other approaches, at least some of the regions are not adjacent to one another, e.g., regions 1, 3, and 5, regions 2, 10, and 11, regions 90, 91, and 100, etc.
[0109] The number of times the shorter length of tape is cycled should be sufficient to acclimate the tape to within 90% of full acclimation to the ambient conditions, at least with respect to the tape's lateral dimensions. However, in some preferred approaches, the shorter length of tape is cycled multiple times so that any additional cycling of the tape after cycling results in minimal environmentally-based dimensional changes within the tape drive's current environment. In this way, any adjustments made to the reference SBD value reflect the expected operating conditions when the tape is in use, as opposed to simply reflecting the tape's condition during the tape acclimation process, as in other approaches. In some approaches, the number of times the shorter length of tape is cycled is predetermined. According to some more specific approaches, the number of times the shorter length of tape is cycled may include, for example, at least 15 cycles, at least 20 cycles, at least 50 cycles, at least 100 cycles, etc. In one preferred approach, the number of times the shorter length of tape is cycled is from about 15 to about 45 cycles, e.g., about 30 cycles. The number of times the shorter length of tape is cycled may, in some approaches, depend on the total length of the tape, such as when a predetermined percentage of the tape is cycled a predetermined number of times. The number of times the shorter length of tape is cycled may, in some approaches, additionally and / or alternatively depend on a time constraint, such as when the shorter length of tape is cycled a maximum number of times within a predetermined amount of time that cycling is performed for the shorter length of tape. According to another approach, cycling may be stopped in response to determining that a difference between a current SBD measurement result and a previous SBD measurement result is below a predetermined threshold amount, for example, by receiving SBD measurements during a different cycling operation. Stopping cycling in response to determining that a difference between a current SBD measurement result and a previous SBD measurement result is below a predetermined threshold amount can provide the benefit of faster calibration when the tape drive's current environmental conditions are similar to the environment in which the cartridge was manufactured.This may be, at least in part, because the tape drive's current environmental conditions are relatively similar to the environment in which the cartridge was manufactured, in which case the tape can be acclimatized with relatively fewer cycling iterations than would otherwise be performed to acclimate the tape if the tape drive's current environmental conditions were relatively less similar to the environment in which the cartridge was manufactured. For example, if a shorter length of tape is relatively dry after manufacturing and is cycled in ambient conditions that are relatively hot and / or dry, the difference between the current SBD measurement and the previous SBD measurement is likely to be relatively smaller than the difference if the shorter length of tape remains relatively wet after manufacturing and is cycled in tape drive conditions that are relatively hot and / or dry. The use of a predetermined threshold amount can further ensure that tape cycling is not stopped earlier than normal if, for example, subsequent use of the tape is likely to cause the tape's dimensions to change beyond an acceptable amount based on the tape's continued acclimatization. It is noted that the "tolerance" for dimensional change in this approach is preferably determined based on the change in dimensions of tapes that, when measured, have a difference between the current SBD measurement and the previous SBD measurement that is equal to or exceeds a predetermined threshold amount. According to another approach, cycling may be stopped in response to determining that the difference between the current SBD measurement and the previous SBD measurement is below a predetermined threshold amount for a predetermined number of cycles.
[0110] It should be noted that the shorter length of tape may be located at any portion of the tape, e.g., at the BOT, EOT, the middle of the tape, multiple portions of the tape, etc. However, it should be noted that if the shorter length of tape includes multiple different portions of the tape, those portions preferably do not include both the BOT and EOT; otherwise, the processing time improvement resulting from acclimatizing the shorter length of tape would be lost because cycling would involve advancing the tape from the BOT to the EOT and back again. In one preferred approach, the shorter length of tape is located at a portion of the tape that can be quickly accessed during cycling, e.g., at the BOT, when the tape cartridge is inserted into the tape drive. In other words, in some preferred approaches, the shorter length of tape begins at the portion of the tape that is located closest to the tape head of the tape drive when the tape cartridge is inserted into the tape drive, because otherwise the tape drive, which uses a drive motor to advance the tape to the adjusted position on the tape, would ultimately increase the amount of time spent acclimatizing the shorter length of tape.
[0111] The SBD of the shorter length of tape after cycling is determined (e.g., see operation 1110). SBD measurement techniques similar to those described elsewhere herein (e.g., see operation 802 of method 800) may be utilized to perform the SBD measurement, although it should be noted that the SBD of the shorter length of tape after cycling is measured, as opposed to measuring the SBD from BOT to EOT, as described elsewhere herein. After the new SBD measurement is completed, the reference SBD initially measured on the shorter length of tape is compared to the SBD of the shorter length of tape after cycling (e.g., see operation 1112). In some approaches, this comparison involves comparing the reference SBD value measured on the shorter length of tape to the SBD value of the shorter length of tape after cycling, with each associated pair of compared values being measured at approximately the same relative location within the shorter length of tape.
[0112] Based on a comparison of the baseline SBD initially measured on the shorter length of tape and the SBD of the shorter length of tape after cycling, an accommodation change for the shorter length of tape is determined (e.g., see operation 1114). In some preferred approaches, determining the accommodation change for the shorter length of tape includes comparing the baseline SBD value for the shorter length with the SBD value after cycling for the shorter length. Furthermore, for example, an average value of the differences between these values may be determined to reflect a characterization of the overall difference between the measured baseline SBD value before cycling and the SBD value after cycling for the shorter length of tape. For purposes of a contextual example, it may be assumed that 100 predetermined regions of the tape are measured to obtain the reference SBD values, and that the shorter length of tape corresponds to regions 1, 2, and 3 of the tape, and that reference SBD values 1, 2, and 3 are measured before the tape is cycled. For example, after cycling is performed on a shorter length of tape, such as according to operation 1108 of method 1100, post-cycling SBD values 1, 2, and 3 may be measured at approximately the same locations as the reference SBD values 1, 2, and 3 were previously measured before the tape was cycled. The post-cycling SBD values 1, 2, and 3 may be compared to the reference SBD values 1, 2, and 3, and differences between the post-cycling SBD values 1, 2, and 3 and the reference SBD values 1, 2, and 3 may be determined. In some approaches, these differences may be averaged to obtain a single measure of accommodation change. Additionally, outliers in the differences and / or values (e.g., the largest and / or smallest differences, SBD values that differ significantly from the average SBD value, etc.) may be excluded from determining the average.
[0113] The accommodation change provides a calculated estimate of the change that would occur if the entire tape were cycled and acclimatized rather than a shorter length of tape, without the significant time penalty otherwise incurred by cycling and acclimatizing the entire length of tape. Therefore, some or all of the reference SBD values may be adjusted based on the determined accommodation change (e.g., see operation 1116). The determined accommodation change may serve as the accommodation change for the entire tape cartridge by adding or subtracting the accommodation change of the shorter length of tape in the tape cartridge to or from the reference SBD. Continuing with the example above, for background, assume that the reference SBD values 1, 2, and 3 are 100, 101, and 102 (respectively), and assume that the post-cycling SBD values at approximately the same locations are 95, 94, and 97 (respectively). The differences between the post-cycling SBD values 1, 2, and 3 and the reference SBD values 1, 2, and 3 may be determined to be 5, 7, and 5 (respectively). The average of these values 5, 7, and 5 may be determined to be approximately 5.67, e.g., (5 + 7 + 5) / 3 ≈ 5.67. Therefore, the accommodation change may be determined to be 5.67, which may then be subtracted from the reference SBD value to thereby estimate the accommodation of the entire tape cartridge.
[0114] In some approaches, rather than adjusting the reference SBD value of the shorter length, the cycled SBD value of the shorter length of tape may optionally be used as the SBD value of the shorter length of tape, since the cycled SBD values are measured directly from the shorter length of tape, and therefore these values themselves may reflect the acclimatized state of the tape.
[0115] In some approaches, the adjusted reference SBD value may be stored in memory, such as a drive memory or a cartridge memory, or both. In one or more of such approaches, the adjusted reference SBD value may then be accessed to correct SBD across the entire tape when performing read and / or write operations. In some other approaches, the adjustment of the reference SBD value may be performed during read and / or write operations. For example, during a read operation performed on the tape, the tape drive controller may access the determined accommodation change amount and add or subtract the determined accommodation change amount to or from the reference SBD value to correct SBD while reading the tape. The result of adding or subtracting the accommodation change amount to or from the reference SBD value may then be incorporated into a track-following operation performed during a read operation.
[0116] While the accommodation change amount is preferably determined only once for the tape, in some approaches, method 1100 may be performed for a different portion, e.g., a different, shorter length of tape that is less than the entire length of the tape. In one approach, this recalculation may be performed in response to a determination that the accuracy of data read and / or write operations performed based on the initially determined accommodation change amount is below a predetermined threshold (e.g., more than a predetermined number of adjacent tracks were read during the read operation). In other words, in some approaches, the SBD after cycling of the initial, shorter length of tape may inaccurately reflect the SBD of the remaining portion of the tape, and thus the determined accommodation change amount used to adjust at least a portion of the reference SBD value may inherit such inaccuracy. In another approach, this recalculation may additionally and / or alternatively be performed in response to a determination that a predetermined amount of time has elapsed since the current accommodation change amount was determined. In another approach, the recalculation may additionally and / or alternatively be performed in response to a determination that a predetermined amount of viscoelastic creep has occurred in the tape. In yet another approach, the recalculation may additionally and / or alternatively be performed in response to a determination that the environmental conditions in which the tape cartridge was located for at least a predetermined amount of time have changed by a predetermined amount, e.g., the humidity measured by a humidity sensor in the tape drive has increased by a predetermined amount, the humidity measured by a humidity sensor in the tape drive has decreased by a predetermined amount, the temperature measured by a temperature sensor in the tape drive has increased by a predetermined amount, the temperature measured by a temperature sensor in the tape drive has decreased by a predetermined amount, etc. In such an approach, various operations of method 1100 may be performed for different portions of the tape in an attempt to determine an acclimatization change amount for adjusting at least a portion of the reference SBD value to achieve relatively more accurate read and / or write operations. In some other approaches, the acclimatization change amount recalculation may be performed for the same, shorter length of tape.However, it should be noted that recalculating the accommodation change may impair the ability to accurately read data recorded on the tape, and therefore in some such techniques, recalculating the accommodation change is preferably performed only if the entire tape is to be overwritten.
[0117] It should be noted that there are numerous benefits that accrue to a data storage system in which one or more techniques described herein, such as method 1100, are implemented. For example, the performance of a data storage system utilizing a tape drive is improved with respect to the amount of time consumed in analyzing or correcting the SBD of tape in a tape cartridge that was not previously analyzed for SBD. This is because, instead of cycling the entire length of tape to acclimate the entire length of the tape, only a shorter length of tape is cycled to determine the amount by which to adjust some or all of the reference SBD values for the entire length of tape. As noted elsewhere herein, cycling the entire length of tape to acclimate the entire length of tape can consume an average of six minutes or more per cycle. By way of example, if the shorter length of tape is less than about 5% of the entire length of the tape, then using the techniques described in method 1100, more than 95% of the total tape cycling time, e.g., about 5 minutes 42 seconds per cycle, is prevented. Thus, the inventive findings disclosed herein regarding cycling a shorter length of tape to determine how to correct for changes in SBD due to tape adaptation across the entire length of the tape go against conventional wisdom. Moreover, even though only the shorter length of tape is cycled, conclusions regarding the characterization of SBD within the shorter length of tape are applied to the remaining length of tape, ultimately correcting the SBD along the entire length of the tape. Application of the characterization of SBD of the shorter length of tape to the remaining length of tape is then enabled with the expectation that the remaining length of tape will ultimately adapt in a manner similar to how the shorter length of tape adapted during the cycling performed in operation 1108.
[0118] It should be noted that the determined amount of accommodation change of the shorter length of tape and / or other information determined in method 1100, such as, for example, a baseline SBD value, an SBD of the shorter length of tape after cycling, etc., may be referred to hereinafter as "SBD information." The SBD information stored in association with the tape and its cartridge may then be used for other things, such as reading and writing.
[0119] During a write, the stored SBD information may be retrieved, for example, from the CM and read into the drive's memory to use as a reference for the desired SBD for the current write operation. Most tape formats utilize shingling, whereby the current track partially overwrites previously written tracks. The amount of shingling must be precisely controlled; otherwise, excessive amounts of previous tracks will be overwritten, rendering the data written on those previous tracks unreadable and irretrievably lost. Because dimensional changes in the tape and head affect the position of the track being written, it is extremely important that the current write operation does not overcut or reduce previously written data.
[0120] 12 is a flowchart of a method 1200 for controlling writing to a magnetic recording tape of a tape cartridge. Method 1200 may be performed in accordance with the present invention in a variety of ways, particularly in any of the environments shown in FIGS. 1-16. Of course, as one of ordinary skill in the art will understand upon reading this description, method 1200 may include more or fewer operations than those specifically illustrated in FIG. 12.
[0121] Each of the steps of method 1200 may be performed by any suitable component of an operating environment. For example, in various embodiments, method 1200 may be performed, in part or in whole, by a tape drive or other device including one or more processors. A processor (e.g., a processing circuit, chip, or module, or a combination thereof) implemented in hardware and / or software and preferably including at least one hardware component may be utilized within any device to perform one or more steps of method 1200. Examples of processors include, but are not limited to, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, combinations thereof, or any other suitable computing device known in the art.
[0122] Method 1200 may be performed in response to receiving a request to write to the tape of a tape cartridge. In addition to the steps below, conventional operations are typically performed, including loading the tape into a tape drive, mounting the tape, winding the tape to the proper position for writing, processing index information for the data on the tape, etc.
[0123] Operation 1202 includes retrieving servo band difference information for the tape cartridge. Again, the servo band difference information may be retrieved from any source, such as the CM of the cartridge, the tape itself, or a remote database.
[0124] Operation 1204 includes measuring servo band differences at various locations along the length of the magnetic recording tape of the tape cartridge using a servo reader of a magnetic head of the tape drive. For example, servo band difference measurements may be received as the tape is indexed to a write position. In another approach, measurements may be received at points along the entire tape or at selected portions thereof prior to writing. Preferably, at least a portion of the measurements are performed during the write operation.
[0125] Act 1206 includes comparing the servo band difference measurement and / or derived information to the retrieved SBD information (e.g., a value within the SBD information and / or a value derived from the SBD information). For example, the current measurement may be compared to an SBD value recorded in the CM.
[0126] Operation 1208 includes controlling the write operation based at least in part on the result of the comparison. Operation 1208 may control any parameter related to the write operation, such as pausing and / or canceling the write in response to the result of the comparison if operation 1206 indicates a potential off-track write, adjusting the operating conditions of the tape drive to reduce the occurrence of off-track writes, such as by adjusting the pitch between transducers of a magnetic head, e.g., by inducing thermal expansion of the head using an integrated heating device, or by inducing expansion or contraction of the head using a piezoelectric device, tilting the axis of the transducer array away from perpendicular to the direction of tape motion, etc.
[0127] If the comparison of operation 1208 is performed before writing, then in response to the results of the comparison indicating the possibility of off-track writing, the write operation may be paused, e.g., not initiated, and write conditions may be adjusted in an attempt to improve the results of the comparison. If the results of the comparison are within a predefined range indicating that off-track writing is bound to occur, the entire write operation may be canceled. If the results of the comparison indicate that only a portion of the tape is unsuitable for writing, writing may be performed in an area of the tape away from that portion.
[0128] If the comparison is performed during a write, the write operation may be paused in response to the results of the comparison indicating a possible off-track write (including an actual off-track write).
[0129] In one approach, if the difference between the current SBD information and the stored SBD information is smaller than the amount allowed by the format being used, writing is allowed to continue. If the difference is larger than this amount, writing is stopped to prevent overwriting of adjacent tracks. This situation is similar to the situation in which writing is stopped in the case of an excessive position error signal (PES) to prevent overwriting of adjacent tracks. If the SBD exceeds a threshold set for the particular format being used, several options are available. One option is to simply stop writing, or if the stop writing distance is long enough, the write operation may stop with a permanent error. In various approaches, this error causes writing to stop but protects previously written data, which would otherwise be overwritten in the absence of a stop writing condition.
[0130] As mentioned previously, another option for controlling write operations is to utilize a method for adjusting the SBD, such as varying the tape tension. Note that any other technique for adjusting the SBD can also be utilized, or alternatively, both. In one approach, the tension is continuously adjusted regardless of the SBD relative to the CM reference value. In another approach, the tension is adjusted only if the SBD exceeds a threshold value from the reference value. A possible advantage of waiting to adjust the tension until the SBD exceeds a threshold value is that applying tension can have negative side effects, such as creating a tape pack with higher stress values. By delaying the use of tension until tension is definitely needed, the negative side effects can be postponed until necessary.
[0131] The SBD measurements and / or derived information created in operation 1204 are preferably stored on a tape cartridge, such as a DSIT, CM, or tape, or a combination thereof.
[0132] In the preferred approach, for measurements received during a write (before or after a write, but which may include measurements received after the tape is loaded and / or before the tape is unloaded), the actual measurements of the SBD at the time of the write and / or derived information are recorded in the DSIT, along with details about the data written to the tape. The current SBD information is preferably stored regardless of the value written to the CM. Because some difference in the SBD typically exists between the initial cartridge characterization and the actual writing of usage data, the current SBD information recorded in the DSIT may differ from the SBD information written to the CM during cartridge initialization. It is important to note that the SBD measured during a write should not be altered by any known head parameters from the VPD and / or temperature / humidity effects. While previously stored head spacing values are useful during cartridge calibration to obtain accurate measurements of the cartridge in the CM, these values should not be recorded during a write, since measurements of the SBD during a write are a description of the head and media conditions at the time of the write. For example, if a "wide" head with wider than ideal servo spacing is used during cartridge initialization, it is desirable to remove the bias that the wide head has on the measurements. However, during the actual writing process, this wide head will write tracks at positions farther apart, and the drive should take appropriate action for this behavior. The CM holds the reference positions that an ideal writer would observe while writing, while the DSIT contains information about the actual conditions observed during writing.
[0133] Figure 13 is a flowchart of one exemplary mode of use of method 1300. Method 1300 may be performed in accordance with the present invention in a variety of ways, particularly in any of the environments shown in Figures 1-16. Of course, as one of ordinary skill in the art will understand upon reading this description, method 1300 may include more or fewer operations than those specifically illustrated in Figure 13.
[0134] Each of the steps of method 1300 may be performed by any suitable component of an operating environment. For example, in various embodiments, method 1300 may be performed, in part or in whole, by a tape drive or other device including one or more processors. A processor (e.g., a processing circuit, chip, or module, or a combination thereof) implemented in hardware and / or software and preferably including at least one hardware component may be utilized within any device to perform one or more steps of method 1300. Examples of processors include, but are not limited to, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, combinations thereof, or any other suitable computing device known in the art.
[0135] In operation 1302, the current SBD is measured by the write head before and / or during writing. Decision 1304 indicates whether the tension is allowed to change. If the tension is allowed to change, the tension is adjusted to advance the current SBD toward the reference SBD stored in the CM for this particular position on the tape. See operation 1306. If the tension is not allowed to change, the SBD is simply observed. See operation 1308. In decision 1310, a determination is made as to whether the current SBD differs from the reference SBD stored in the CM by a certain amount, e.g., by more than a predefined amount indicating the possibility of an off-track write. If the current SBD does not differ from the reference SBD by at least the certain amount, writing continues in operation 1312. The current SBD may be stored in the DSIT. If the current SBD differs from the reference SBD by at least the certain amount, writing is aborted in operation 1314 to prevent off-track writing and / or track truncation.
[0136] We now describe the use of SBD information during a read operation. During a read, SBD information stored during writing, such as the SBD value observed during writing, is read, for example, from the DSIT information. To achieve the best possible read, it is desirable for all of the readers to be centered above each track on the tape. This is best achieved when the SBD observed during a read matches the value stored, for example, in the DSIT during writing. When all of the readers are centered above each track on the tape, the error rate is lower and less error correction processing, such as Error Correction Code (ECC) processing, is required. Thus, the error handling function can allocate more resources to other operations, such as dealing with electronic noise, media defects, etc. The read operation may be controlled, for example, to pause writing, to change the SBD during reading in an attempt to match the SBD from the SBD information stored when the data was written, etc.
[0137] Figure 14 is a flowchart of a method 1400 for controlling writing to a magnetic recording tape of a tape cartridge. Method 1400 may be performed in accordance with the present invention in a variety of ways, particularly in any of the environments shown in Figures 1-16. Of course, as one of ordinary skill in the art will understand upon reading this description, method 1400 may include more or fewer operations than those specifically illustrated in Figure 14.
[0138] Each of the steps of method 1400 may be performed by any suitable component of an operating environment. For example, in various embodiments, method 1400 may be performed, in part or in whole, by a tape drive or other device including one or more processors. A processor (e.g., a processing circuit, chip, or module, or a combination thereof) implemented in hardware and / or software and preferably including at least one hardware component may be utilized within any device to perform one or more steps of method 1400. Examples of processors include, but are not limited to, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, combinations thereof, or any other suitable computing device known in the art.
[0139] Method 1400 may be performed in response to receiving a request to read from the tape of a tape cartridge. In addition to the steps below, conventional operations are typically performed, including loading the tape into a tape drive, mounting the tape, processing index information for data on the tape, winding the tape to the appropriate position for reading, etc.
[0140] Operation 1402 includes retrieving servo band difference information for the tape cartridge. Again, the SBD information may be retrieved from any source, such as the cartridge's CM, the tape itself, a remote database, etc. Here, the retrieved SBD information preferably indicates the state of the magnetic recording tape when measured contemporaneously with the writing of the data to be read, i.e., during a period between loading for a write operation and subsequent removal of the tape cartridge. For example, SBD information collected before writing data (or equivalently, after writing data) may be retrieved so that the write operation can be controlled as needed.
[0141] Operation 1404 includes measuring servo band differences at various locations along the length of the magnetic recording tape of the tape cartridge using a servo reader of a magnetic head of a tape drive performing a read operation. For example, servo band difference measurements may be received as the tape is indexed to a read position. In another approach, measurements may be received at points along the entire tape or at selected portions thereof prior to reading. Preferably, at least a portion of the measurements are performed during the read operation.
[0142] Operation 1406 includes comparing the SBD measurement results and / or derived information with the retrieved SBD information (e.g., values in the retrieved SBD information and / or values derived from the SBD information). For example, the current measurement results may be compared with SBD information that was recorded in the DSIT when the data being read was written to tape.
[0143] Operation 1408 includes controlling the read operation based at least in part on the result of the comparison. Operation 1408 may control any parameter associated with the read operation, such as pausing and / or canceling the read in response to the result of the comparison if operation 1406 indicates a possible off-track read, performing error recovery in response to the result of the comparison if operation 1406 indicates a possible off-track read, adjusting the operating conditions of the tape drive to reduce the occurrence of off-track reads by adjusting tape tension and / or heating and / or cooling the tape, changing the width of the tape, e.g., adjusting the pitch between transducers of a magnetic head, e.g., by inducing thermal expansion of the head using an integrated heating device, etc.
[0144] As previously mentioned, tension or other techniques may be used to change the SBD during a read to match the SBD written in the DSIT. However, if it is desirable not to change the packed tape stress, it may be desirable not to change the tension; changing the tension may cause permanent read errors. If a large difference is observed between the current SBD and the SBD recorded in the DSIT, temporary error recovery may be performed, such as increasing the tension range (or utilizing tension adjustment, even if the initial setting was to leave the tension fixed). Error recovery actions are usually preferable to an error condition. However, other drives with different reader head spacing values (pitch), or other temperature and / or humidity conditions, may change the apparent spacing during a read, which may allow the reader to more closely align with each track.
[0145] Figure 15 is a flowchart of one exemplary mode of use of method 1500. Method 1500 may be performed in accordance with the present invention in a variety of ways, particularly in any of the environments shown in Figures 1-16. Of course, as one of ordinary skill in the art will understand upon reading this description, method 1500 may include more or fewer operations than those specifically illustrated in Figure 15.
[0146] Each of the steps of method 1500 may be performed by any suitable component of an operating environment. For example, in various embodiments, method 1500 may be performed, in part or in whole, by a tape drive or other device including one or more processors. A processor (e.g., a processing circuit, chip, or module, or a combination thereof) implemented in hardware and / or software and preferably including at least one hardware component may be utilized within any device to perform one or more steps of method 1500. Examples of processors include, but are not limited to, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, combinations thereof, or any other suitable computing device known in the art.
[0147] At operation 1502, the current SBD is measured by the read head before and / or during reading. Decision 1504 determines whether the tension can be changed. If the tension can be changed, the tension is adjusted to advance the current SBD toward the reference SBD stored in the DSIT for this particular position on the tape. See operation 1506. If the tension cannot be changed, the SBD is simply observed. See operation 1508. At decision 1510, a determination is made as to whether the current SBD differs from the reference SBD stored in the DSIT by a specified amount, e.g., an amount greater than a predefined amount indicating the possibility of an off-track read. If the current SBD does not differ from the reference SBD by at least the specified amount, reading continues at operation 1512. If the current SBD differs from the reference SBD by at least the specified amount, remedial action is taken at operation 1514, such as performing error recovery to increase the tension range. A warning to the customer may also, or alternatively, be output.
[0148] In addition to generating and using SBD data as described in detail above, one additional benefit is that the SBD information stored in the CM during cartridge initialization, for example, can be used as a reference to measure the amount of creep that has occurred in a tape cartridge. For example, suppose data is stored on the tape of a tape cartridge, and five years later, a user wants to know the condition of the tape with respect to the degree of creep. The tape can be inserted into a drive, and the SBD can be measured, for example, from BOT to EOT during a motion similar to the initial cartridge initialization, for a length between BOT and EOT. Even if this verification is performed on a drive different from the one used to initialize this particular tape cartridge, the current measurement can be corrected because both drives have their own head spacing values. Furthermore, temperature and / or humidity corrections can be applied to more closely approximate the tape spacing conditions under nominal conditions. The remaining challenge is to compare the current state with the tape condition at initialization, independent of changes in the head during initialization or verification, or other environmental changes, or a combination thereof. It may be desirable to quantify the amount of creep that has occurred since tape initialization, the amount of environmental differences, or a combination of both. These differences can be obtained by recording the initial SBD measurement, along with the initial head distance, temperature, and humidity. This ability to quantify creep or other changes is a useful feature for large tape library installations, where it is desirable to periodically measure tapes to ensure creep rates are as expected. A determination may be made to detect if particular tapes have deformed more than a desired amount, and these tapes may be marked for copying to alternate tapes before excessive creep renders them unreadable. After copying the data to alternate tapes, these tapes with high creep may be reinitialized / reformatted, thereby resetting the reference values within the CM and making any aging / creep that has already occurred irrelevant.
[0149] FIG. 16 is a flowchart of a method 1600 for characterizing the current state of the tape of a tape cartridge relative to a previous state of the tape of the tape cartridge. This process 1600 enables the determination of the effects of tape aging, the current effects of environmental conditions on the tape, and the like. Method 1600 may be performed in accordance with the present invention in a variety of ways, particularly in any of the environments shown in FIGS. 1-16. Of course, as one of ordinary skill in the art will understand upon reading this description, method 1600 may include more or fewer operations than those specifically illustrated in FIG. 16.
[0150] Each of the steps of method 1600 may be performed by any suitable component of an operating environment. For example, in various embodiments, method 1600 may be performed, in part or in whole, by a tape drive or other device including one or more processors. A processor (e.g., a processing circuit, chip, or module, or a combination thereof) implemented in hardware and / or software and preferably including at least one hardware component may be utilized within any device to perform one or more steps of method 1600. Examples of processors include, but are not limited to, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, combinations thereof, or any other suitable computing device known in the art.
[0151] Method 1600 may be performed in response to receiving a request to read from and / or write to the tape of a tape cartridge. This request may include a sanity check. Method 1600 enables a drive, library, or user, or a combination thereof, to determine whether a read or write operation is successful or whether misalignment between the transducer and the data track is causing excessive overwrites and / or read errors. In another approach, method 1600 may be performed simply in response to receiving a request to perform a sanity check. In yet another approach, some of the operations of method 1600 may be performed automatically without receiving a request for a sanity check, for example, in response to determining that the tape has not been written to for more than a predetermined amount of time, detecting an error when reading, etc.
[0152] In addition to the steps below, conventional operations such as loading the tape into the tape drive, mounting the tape, and processing index information about the data on the tape are typically performed.
[0153] Operation 1602 involves inserting the initialized cartridge into a drive. Decision 1604 determines whether a sanity check has been requested for the cartridge. If a sanity check has not been requested, the cartridge is considered ready for read and / or write operations. See operation 1606. If a sanity check has been requested, operation 1608 measures the SBD at multiple locations along the tape using a constant tension. This tension is preferably approximately the same as the tension used during initialization. Operation 1610 corrects the measurements for any of a variety of parameters. For example, the measurements may be corrected for actual head dimensions determined using drive information. Depending on the type of sanity check desired, it may be advantageous to also correct for temperature and / or humidity. Operation 1612 compares the current characterization of the tape's SBD to reference values in the cartridge's CM created during initialization. Aging effects, such as the degree of creep, may be characterized based on this comparison, preferably for each SBD measurement, but may also be performed for a subset of the SBD measurements. Any type of indication or value of such characterization may be used. A warning may be output to indicate that the comparison indicates potential data loss and that the user should consider or migrate the data, etc.
[0154] In the illustrated example, if the absolute value of the difference between the reference value in the CM and the current SBD measurement result is within one range, such as below value X, the creep may be characterized as minimal (e.g., green status). See operation 1614. If the absolute value of the difference between the reference value in the CM and the current SBD measurement result is within another range, such as above value X, the creep may be characterized as potentially affecting read / write operations (e.g., yellow status). See operation 1616. If the absolute value of the difference between the reference value in the CM and the current SBD measurement result is within a third range, such as above value X by a predefined amount, the creep may be characterized as extremely likely to affect read / write operations (e.g., red status). See operation 1618. Based on the status, actions such as those described above may be performed.
[0155] This process 1600, among other things, allows for characterization of tape aging so that remedial measures can be implemented as necessary, thereby minimizing the potential for data loss. For example, if a cartridge is assigned a red status, the data may be moved to a different cartridge. After the data is moved and the tape can be erased, the cartridge may be reinitialized and used normally. Because the tape is characterized in its current state, creep is no longer considered an issue.
[0156] The present invention may be a system, method, and / or computer program product, at any possible level of technical detail of integration. The computer program product may include one or more computer-readable storage media containing computer-readable program instructions for causing a processor to perform aspects of the present invention.
[0157] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable floppy 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 versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or ridge-in-groove structures on which instructions are recorded, and any suitable combination thereof. As used herein, computer-readable storage media should not be construed as being ephemeral signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted over wires.
[0158] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device over a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). This network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage on a computer-readable storage medium within each computing / processing device.
[0159] Computer-readable program instructions for carrying out the operations of the present invention may be source or object code written in any combination of one or more programming languages, including assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, or object-oriented programming languages such as Smalltalk®, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and on a remote computer, or entirely on a remote computer or server. In the latter scenario, 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 the connection may be to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, to carry out aspects of the present invention, electronic circuitry including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute computer-readable program instructions to customize the electronic circuitry by utilizing state information of the computer-readable program instructions.
[0160] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will 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.
[0161] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to create a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may be stored on a computer-readable storage medium and capable of directing a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises an article of manufacture containing instructions for performing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0162] Computer-readable program instructions may be loaded into a computer, other programmable data processing apparatus, or other device such that the instructions, which execute on the computer, other programmable apparatus, or other device, perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, thereby causing a series of operable steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process.
[0163] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, 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 the specified logical function(s). In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may actually be realized as a single step, executed concurrently, executed substantially concurrently in a partially or fully overlapping manner in time, or executed in the reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks included in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified function or operation or executes a combination of special-purpose hardware and computer instructions.
[0164] Furthermore, systems according to various embodiments may include a processor and logic integrated into and / or executable by the processor, the logic configured to perform one or more of the processing steps enumerated herein. The processor may be any configuration as described herein, such as a discrete processor or processing circuit, including various components such as processing hardware, memory, and I / O interfaces. By integrated, we mean that the logic is embedded in the processor as hardware logic, such as an application-specific integrated circuit (ASIC), FPGA, etc. By executable by the processor, we mean that the logic is hardware logic accessible by the processor, software logic (such as firmware, part of an operating system, part of an application program, etc.), or some combination of hardware and software logic, configured to cause the processor to perform a function when executed by the processor. The software logic may be stored in any memory type known in the art, local and / or remote memory. Any processor known in the art may be used, such as a software processor module or hardware processor, or both, such as an ASIC, FPGA, central processing unit (CPU), integrated circuit (IC), graphics processing unit (GPU), etc.
[0165] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive and is not limited to the disclosed embodiments. Many changes and modifications that do not depart from the scope and spirit of the described embodiments will be apparent to those skilled in the art. The terms used in this specification are selected to best explain the principles of the embodiments, practical applications, or technical improvements beyond those found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. 1. A method comprising: measuring a reference servo band difference (SBD) from the beginning of the tape (BOT) to the end of said tape (EOT); storing the reference SBD measurement result value in a memory; circulating the shorter length of tape a plurality of times to conform the shorter length of tape; determining a post-circulation SBD of the shorter length of the tape; determining a change in conformance of the shorter length of tape, the difference between the baseline SBD of the shorter length and the cycled SBD of the shorter length; and adjusting the baseline SBD value based on the determined amount of accommodation change.
2. 2. The method of claim 1, wherein the method is performed in response to initially loading a tape cartridge of the tape.
3. The method of claim 1 , wherein the method is performed in response to receiving a formatting request.
4. The method of claim 1 , wherein the shorter length is less than about 50% of the total length of the tape.
5. The method of claim 1 , wherein the shorter length is less than about 5% of the total length of the tape.
6. The method of claim 1 , wherein the number of times the shorter length of tape is cycled is predetermined.
7. 10. The method of claim 1, wherein the shorter length of the tape is cycled at least 15 times.
8. 10. The method of claim 1, wherein the cycling is stopped in response to determining that a difference between a current SBD measurement and a previous SBD measurement is below a threshold amount.
9. 2. The method of claim 1, wherein determining the amount of accommodation change of the shorter length of the tape comprises comparing the baseline SBD value of the shorter length with the SBD value of the shorter length after cycling and determining an average value of the difference in values.
10. 1. A system comprising: a processor; and logic integrated with, executable by, or integrated with and executable by said processor, said logic causing said processor to: measuring a reference servo band difference (SBD) from the beginning of the tape (BOT) to the end of said tape (EOT); storing the reference SBD measurement result value in a memory; circulating the shorter length of tape a plurality of times to conform the shorter length of tape; determining a post-circulation SBD of the shorter length of the tape; determining a change in conformance of the shorter length of tape, the difference between the baseline SBD of the shorter length and the cycled SBD of the shorter length; adjusting the reference SBD value based on the determined amount of accommodation change.
11. 11. The system of claim 10, wherein the action is performed in response to initially loading a tape cartridge of the tape.
12. The system of claim 10 , wherein the action is performed in response to receiving a formatting request.
13. The system of claim 10 , wherein the shorter length is less than about 50% of the total length of the tape.
14. 11. The system of claim 10, wherein the shorter length is less than about 5% of the total length of the tape.
15. The system of claim 10 , wherein the number of times the shorter length of tape is cycled is predetermined.
16. 11. The system of claim 10, wherein the shorter length of the tape is cycled at least 15 times.
17. 11. The system of claim 10, wherein the cycling is stopped in response to determining that a difference between a current SBD measurement and a previous SBD measurement is below a threshold amount.
18. 11. The system of claim 10, wherein determining the amount of accommodation change of the shorter length of tape comprises comparing the baseline SBD value of the shorter length with the SBD value after cycling of the shorter length and determining an average value of the difference in values.
19. A computer program product for causing a computer to carry out the method according to any one of claims 1 to 9.
20. 20. A computer readable storage medium having recorded thereon the computer program of claim 19.
Citation Information
Patent Citations
Magnetic tape cartridge and magnetic tape unit
JP2020155188A
Management of head and media dimensional stability
US10460757B1
Calibration of writer offset using media dimensional stability
US20200166322A1