METHOD AND SYSTEM FOR MONITORING AND ADJUSTING TAPE POSITION USING CONTROL DATA PACKETS

Abstract: A method and system for monitoring and/or adjusting the positioning of a magnetic tape (2) using central control packets (30) that are recorded to the tape (2) is presented. Central control packets (30) are used for adjusting the timing of the read head signal over the tape, adapting the reel count to that of the drive at the time the tape was recorded, and monitoring filemarks for logical tape positioning.

Description: METHOD AND SYSTEM FOR MONITORING AND ADJUSTING TAPE POSITION USING CONTROL DATA PACKETS Field of the Invention The present invention pertains generally to magnetic tape drives, and more particularly to the use of central control packets for monitoring and adjusting tape positioning control parameters. Related Patents The present invention is related to co-pending U.S. patent application entitled "Method And Apparatus For Logically Rejecting Previously Recorded Track Residue From Magnetic Media", invented by McAuliffe et al., and having an internal docket number of 9086/103 and a serial number of 09/192,794, filed concurrently herewith on November 16, 1998, and co- pending U.S. patent application entitled "A Method Of Reacquiring Clock Synchronization On A Non-Tracking Helical Scan Tape Device", invented by Blatchley et al., and having an internal docket number of 9086/108 and a serial number of 09/192,808, filed concurrently herewith on November 16, 1998, and co-pending U.S. patent application entitled "Rogue Packet Detection And Correction Method For Data Storage Device", invented by McAuliffe et al., and having an internal docket number of 9086/105 and a serial number of 09/192,809, filed concurrently herewith on November 16, 1998, and co-pending U.S. patent application entitled "Variable Speed Recording Method and Apparatus for a Magnetic Tape Drive", invented by Beavers et al., and having an internal docket number of 9086/101 and a serial number of 09/176,079, filed on October 20, 1998, and co-pending U.S. patent application entitled "Overscan Helical Scan Head for Non-Tracking Tap Subsystems Reading at up to 1X Speed and Method for Simulation of Same", invented by Blatchley et al., and having an internal docket number of 9086/104 and a serial number of 09/176,013, filed on October 20, 1998, and co-pending U.S. patent application entitled "Fine Granularity Rewrite Method and Apparatus for Data Storage Device", invented by Zaczek, and having an internal docket number of 9086/106 and a serial number of 09/176,015, filed on October 20, 1998, and co-pending U.S. patent application entitled "Multilevel Error Detection and Correction Technique for Data Storage Recording Device", invented by McAuliffe et al., and having an internal docket number of 9086/102 and a serial number of 09/176,014, filed on October 20, 1998, all of which are commonly owned and all of which are hereby incorporated by reference. Background of the Invention Tape storage technology is routinely used for routine system back up and long-term data archiving. The successful recovery of data from a tape is highly dependent on a number of physical and logical tape positioning parameters. These include the timing of the read head signal over the tape, the linear positioning of the tape based on the reel tach counters, and logical filemark positioning parameters. Using the methodology of conventional recording techniques, data is partitioned into packets which are recorded onto a magnetic tape along tracks. The drive mechanism and media tolerances are tightly controlled to maintain a very precise alignment between the path traced by the heads and the written tracks on a tape. During data recovery, a read head passes over the tape and attempts to read all of the track packets in a single pass. In order to successfully recover all of the track packets, the read head must be enabled during the time it passes over the tracks. Generally the timing of the read head enable signal is calibrated using a known good tape during manufacture. The timing interval is stored in a non-volatile memory before it is shipped to the end user and is subsequently used by the drive as a fixed parameter. The inability to adjust the read head timing occasionally results in data recovery problems generally caused by variations in tape alignment among different tapes or by data interchange problems caused when a tape is written by one drive and another drive attempts to read it. If the read head timing of the different drives vary by much, the read head signal may not be enabled while it is over a portion of the tracks recorded by another drive, resulting in the inability to read a portion of every track. Accordingly, a need exists for a method for adaptively adjusting the read head timing signal in a tape drive to conform to the physical position of the tracks on the tape. Tape drive designers must also contend with another physical positioning parameter - namely, the reel tach counters for use in linear tape positioning. Conventional tape drives wind tape between two reels - a supply reel and a take-up reel. During forward tape motion, tape is pulled from the supply reel and wound around the take-up reel. During reverse tape motion, tape is pulled from the take-up reel and wound around the supply reel. Most tape drives includes a supply reel tachometer and a takeup reel tachometer. The reel tachometers each count a predetermined number of reel tachs per reel revolution. The rate at which one reel tach count changes is inversely proportional to the rate at which the other reel tach count changes. However, because the outer circumference of the supply and take-up reel varies as tape is transported from one reel to the other, no linear correlation exists between either reel tach count, taken alone, and the linear position of the tape. However, the sum, hereinafter "reel count", of the supply and takeup reel tach counts generate a roughly linear function. If the reel count consistently reflected a given value at a given linear position of the tape, it could be used as a coarse positioning tool for determining whether a known position on the tape, as reflected by a given reel count, is nearby and, when performing high- speed search operations, whether the speed of the tape should be increased, decreased, maintained, or stopped. Depending on the speed at which the tape is wound around each of the reels, however, the reel count varies for any given linear position on tape. Thus, the reel count does not consistently reflect a given reel count value at a given linear position on the tape. For example, a high-speed tape transport, such as occurs during a rewind or a high-speed search, results in the tape being wound around the receiving reel at a looser winding tension than if it were being wound around the reel at a slower more-controlled speed, such as the normal 1x read or write speed. Accordingly, differing tape winding tensions result in differing outer circumference measurements of the tape around the reel for the same linear tape position. This affects the correlation of the reel tach count with the linear position of the tape since to reach the same linear position on tape takes fewer revolutions of the reel when the tape winding tension around the reel is lower than when the tension is higher. If the reel tach count reflects a given value when data is recorded at a given linear position on tape, the reel tach count is likely to reflect a different value when the same linear position of the tape is encountered during a later data recovery or search operation depending on the winding tension of the tape around the reel. Accordingly, a need exists for a method for providing consistent correlation between the reel tach count and the linear position of the tape. Tape positioning parameters may also be related to logical positioning. Increased data recovery rates may often be improved by decreasing the amount of time it takes to search for a particular position on tape. Track packets generally comprise either user data (hereinafter termed a "data packet") or system control information (hereinafter termed a "control packet"). Control packets contain information relating to the position of the media (such as beginning- or end-of-media), the beginning and or ending of files or data (e.g., filemarks, tapemarks, end-of-data marks), global address information (e.g., the global segment address of data surrounding the control packet), and system information (such as device control codes). Control packets are generated during recording sessions by the write logic of the drive. Control packets that are recovered from tape during a data recovery session are processed by the read logic of the drive to determine physical and logical tape positioning information and other information pertaining to the data itself. Global tape positioning is often accomplished through the use of filemarks. Filemarks are used to delineate different sets of data that may or may not be recorded during different recording sessions. Filemarks are typically recorded as special filemark control packets along one or a small number of tracks. Searching is accomplished by searching for the special filemark control packets. However, because filemark control packets are recorded only over one or a small number of tracks, the filemark control packets often go undetected by the read head during a high-speed search operation. If a filemark is missed, the high-speed search algorithm will not know it until a subsequent filemark or the end-of-tape is detected. Thus, a search may require several passes over the same portion of tape in either direction before the desired position (i.e., beginning of file) is located. Accordingly, a need exists for a more efficient method for detecting the number of the filemark at a given position on tape during high-speed search operations. Brief Description of the Drawing The invention will be better understood from a reading of the following detailed description taken in conjunction with the drawing in which like reference designators are used to designate like elements, and in which: FIG. 1 (a) is a side view of a portion of a magnetic tape illustrating an example set of tracks recorded onto a magnetic tape; FIG. 1 (b) illustrates one embodiment of the contents of a track packet in accordance with the invention; FIG. 1 (c) illustrates one embodiment of the contents of packet body 12 for a data packet; FIG. 1 (d) illustrates one embodiment of the contents of packet body for a central control packet defined in accordance with the present invention; FIG. 2 is a diagram illustrating the use of central control packets in the present invention; FIG. 3(a) is a block diagram of an adjustable head timing control system; FIG. 3(b) is a timing diagram illustrating the operation of the read head timing adjustment control system of FIG. 3(a); FIG. 3(c) is a flowchart of one embodiment of a method for adjusting the timing of the read head; FIG. 3(d) is a block diagram of a control system for adjusting the input parameters to the drum motor; FIG. 4 is a diagram of a tape illustrating the use of a central control packet for correlating the reel tach count with the linear position of the tape; FIG. 5 is a flowchart of one embodiment of a reel tach synchronization method; FIG. 6 is a diagram of a tape illustrating the use of a central control packet for correlating the current position of the tape to the filemark number; and FIG. 7 is a flowchart of one embodiment of a method for monitoring the position of the tape in terms of the current filemark. Detailed Description A novel method and system for monitoring and/or adjusting the positioning of a magnetic tape using central control packets that are recorded to the tape is described in detail hereinafter. The invention is described in the context of a magnetic tape drive system for purposes of illustration only and not by way of limitation. Those skilled in the art will appreciate that the principles of the invention may be extended to other data recording/recovery systems in which data is recorded along tracks. In accordance with the invention, central control packets are used for adjusting the timing of the read head signal over the tape, adapting the reel count to that of the drive at the time the tape was recorded, and monitoring filemarks for logical tape positioning. In the recording of user data onto a magnetic medium such as a magnetic tape, data is partitioned into blocks of data which are formatted into packets and then recorded onto the medium along tracks. FIG. 1 (a) is a side view of a portion of a magnetic tape illustrating a set of tracks 4 recorded onto a magnetic tape 2. In the illustrative embodiment, tracks 4 are recorded at an angle in a helical pattern by a helical scan tape drive. As illustrated, each track 4 includes synchronization information 5 recorded at the beginning of each track for use by read detection circuitry in detecting the beginning of a track. Each track 4 includes multiple track packets 6. FIG. 1 (b) illustrates one embodiment of the contents of a track packet 6. In the illustrative embodiment, each track packet 6 is fixed in size and includes framing information 8, a packet type field 10, a packet body 12, a packet CRC field 14, and a packet ECC field 16. Framing information 8 is used by the read circuitry to detect the beginning of a track packet. Packet type 10 is used to indicate information pertaining to the contents of packet body 12. The meaning and definition of the contents of packet body 12 may vary depending on the contents of packet type field 10, as discussed hereinafter. Packet CRC field 14 contains a cyclical redundancy code generated over the contents of the packet type field 10 and packet body 12, and is used during the recovery of data to detect whether the packet 6 contains any errors. Packet ECC field 16 contains an error correction code (e.g., a Reed-Solomon code) generated over the contents of packet type field 10, packet body 12, and packet CRC field 14. Packet ECC field 16 is used during the recovery of data to detect and correct packet errors. As previously discussed, the contents and format definition of packet body 12 may vary depending on the type of the packet 6 as indicated by the packet type field 10. Packets 6 that are used to store user data are herein referred to as "data packets" 20. FIG. 1 (c) illustrates one embodiment of the contents of packet body 12 for a data packet 20. As illustrated, packet body 12 for a data packet 20 generally contains all user data 22. Occasionally, for example in the last data packet 20 of a given file, a data packet 20 may be padded out with fill data 24 in order to maintain the fixed packet size. Fill data 24 is a predetermined code (e.g., all binary 1 's) that all "don't care" packet bits are set to in order to ensure proper detection and correction of packet errors by the packet-level CRC and ECC generators during data recovery. FIG. 1 (d) illustrates one embodiment of the contents of packet body 12 for a central control packet 30 defined in accordance with the present invention. In the preferred embodiment, central control packet 30 includes a tape count field 32 and a filemark count field 34. The use of tape count field 32 and filemark count field 34 are discussed presently. Central control packet 30 may or may not include other control information 36 in its packet body 12, and, if the central control packet 30 is used only for calibrating read head timing, as discussed hereinafter, it may not even include tape count field 32 and/or filemark count field 34. In a first application of the invention, central control packets are used for adaptively adjusting the timing of the read head signal. FIG. 2 is a diagram illustrating the placement of central control packets 30 on tape 2 for adjusting the timing of the read head signal in the present invention. As illustrated, the central control packet 30 of the invention is recorded at the same relative position on each track 4 on tape 2. In the preferred embodiment, the central control packet 30 is always recorded at the center of every track 4. The placement of a central control packet 30 in the same relative position on tape allows for the detection of a central control packet 30 at high tape transport speeds for at least a portion of the tracks 4. To read the central control packets 30 at high speed, the drum speed may be increased or alternatively the channel clock rate may be increased, in order to pass the read head across packet at the same effective speed that it was originally recorded at. Those skilled in the art will appreciate that due to the higher tape transport speed, a central control packet 30 will only be detected once every couple of drum revolutions (i.e., once every several tracks 4). The frequency at which a central control packet 30 will be detected is increased the more read heads a drum has. An adjustable read head timing adjustment control system (not shown in FIG. 2, but described in FIGS. 3(a), 3(b) and 3(c)) monitors the relative position of detected central control packets 30 and adjusts the timing of the read heads such that they scan the entire width of the tape 2. For example, in the illustrative embodiment the read heads are positioned over the tape 2 during half of every drum revolution. Thus, referring back to FIG. 2, if the timing of the read head over the tape is either early or late, the read head will scan only a portion of the entire track during every revolution of the drum, as illustrated at V, and a portion 3' of each track 4 will not be read. The present invention solves this problem by recording a central control packet 30 at the same relative position on each track 4, and employing read head timing adjustment control system during a data recovery session. During the data recovery session, the read head timing adjustment control system, for example 300 in FIG. 3(a), measures the relative position of the central control packet 30 on each track 4 with respect to a reference index mark INDEX_MARK and compares is to a reference position that is calibrated at the factory. In the preferred embodiment the reference index mark is a drum revolution signal generated by a magnet on bottom of the drum that pulses once per drum revolution, thereby serving as an absolute time reference. In the illustrative embodiment, the reference position is the amount of time that should pass between the detection of the reference index mark INDEX_MARK and the detection of the central control packet 30 as represented by time . C A L - Time . CAL is calibrated during manufacturing and stored in non-volatile memory. The relative position is measured by the amount of time t DE τ the passes between the detection of the reference index mark INDEX_MARK and the detection of the central control packet 30 as indicated by signal C_PACKET. Based on the relative position on a track 4 of the central control packet 30 as detected by the read logic and indicated via a central control packet detect signal C_PACKET, adjustable head timing control system 300 adjusts the timing of a read gate enable delay signal RD_EN_DELAY in realtime to synchronize the position of the read head over the entire physical expanse of a track 4 on the tape, as illustrated at V" in FIG. 2. The read gate enable delay signal is adjusted based on the difference in time t A Dj between t ετ and . C AL- FIG. 3(b) is a timing diagram illustrating the operation of the read head timing adjustment control system 300 of FIG. 3(a). As illustrated, if the time t DE τ at which central control packet detect signal C_PACKET is detected after detection of the index mark signal INDEX_MARK is greater than the calibrated time . CA L. the read enable delay signal RD_EN_DELAY is adjusted by a positive amount of time . A D J . shown as "x+y"; whereas if the time toετ at which central control packet detect signal C_PACKET is detected after detection of the index mark signal INDEX_MARK is less than the calibrated time tc AL , the read enable delay signal RD_EN_DELAY is adjusted by a negative amount of time .ADJ. shown as "x-z", where x is the standard amount of time delay .ADJ- The read enable signal READ_GATE is always asserted immediately after the read enable delay signal RD_EN_DELAY is deasserted. FIG. 3(c) is a flowchart of one embodiment of a method implemented by the read head timing adjustment control system for adjusting the timing of the read head with respect to the reference index mark. When a central control packet is detected by the read logic in step 302, the read logic detects an index mark signal INDEX_MARK. This triggers the start of a timer in step 304. The read head timing adjustment control system 300 then looks for the next detection of a central control packet in step 306. Upon detection of the central control packet, the timer is stopped in step 308. In step 310, the timer value t D Eτ is compared to the calibrated value . C AL- I toετ is greater than the calibrated value -CAL , the read head timing adjustment control system 300 increases . A DJ in step 312 by the difference in time between t C A L and .DET- If toET is less than the calibrated value -CA L, the read head timing adjustment control system 300 decreases _ADJ in step 314 by the difference in time between t C AL and t D ετ- The method of the invention can also be used to calibrate the timing signal t C ALat the factory. This is performed by measuring the time between the index mark INDEX_MARK and the detection of the next central control packet 30 using a known good tape and setting the value of , C A L to the measured time, or to an average time taken over several tracks. FIG. 4 is a diagram illustrating a second use of a central control packet 30 for correlating the reel tach count with the linear position of the tape. As previously described, due to variation in tape winding tension around the reels between normal speed tape transport such as normal reads and writes and high speed tape transport operations such as rewinds and high-speed searches, the reel tach count does not consistently reflect the same reel tach count for a given linear position of the tape. In accordance with the invention, each central control packet 30 that is written to the same location on tape includes a tape count field 32. Tape count field 32 contains the original reel count of the drive at the time the track associated with the central control packet 30 was originally recorded. According to the invention, whenever a central control packet 30 is read, either during a normal speed read or during a high-speed search operation, the actual reel tach count is overwritten with the tape count 32 if the counts do not match. This method synchronizes the actual reel count to the reel count during the original recording of the tracks on the tape. FIG. 5 is a flowchart of one embodiment of a method for synchronizing the actual reel count to that of the drive when the tracks were originally recorded to the tape. According to the method, a central control packet 30 is detected in step 502. The tape count 32 is extracted from the central control packet 30 in step 504. The actual reel count is overwritten with the value of the tape count 32 in step 506. The synchronization of the actual reel tach count to that of the recorded data allows the current reel tach count to be correlated to the linear position of the tape for use in search operations. FIG. 6 is a diagram illustrating the use of a central control packet 30 for correlating the current position of the tape to the filemark number. In accordance with the invention, each central control packet 30 that is written to the same location on tape which allows one out of every several to be read during high-speed operations, includes a filemark (FM) count field 34. FM count field 34 contains the number of the current filemark count recorded up to the current position of the tape 2. According to the invention, whenever a central control packet 30 is read, either during a normal speed read or during a high-speed search operation, the filemark count field is read to assist in locating the desired file. This improves the speed at which a given file may be located by informing the high-speed search logic of the current file number even if a set of filemarks pass undetected by the read logic during the highspeed search. Accordingly, high-speed search logic may slow the transport speed as it detects the approach of a desired filemark, and, if the filemark is missed, allows earlier detection of the missed filemark. FIG. 7 is a flowchart of one embodiment of a method for monitoring the position of the tape in terms of the current filemark. According to the method, a central control packet 30 is detected in step 702. The filemark count 34 is extracted from the central control packet 30 in step 704. The filemark count 34 is compared to the desired filemark in step 606. If the filemark count 34 is less than the desired filemark, steps 702 through 706 are repeated. If the filemark count 34 matches the desired filemark, as detected in step 708, tape transport is stopped and commenced in reverse at a slower speed to look for the beginning of the file in step 710. If the filemark count 34 is greater than the desired filemark count as detected in step 712, tape transport is stopped and commenced in reverse, and steps 702 through 706 are repeated. It is clear from the above description that the present invention provides several advantages over the prior art. The use of a central control packet that is written on every track at the same location allows the packet to be detected during normal read operations and once per several tracks during high speed operations. This allows tape positioning information to be stored and extracted from the central control packets to assist in various tape positioning operations. First, the position of the central control packet can be monitored to assist in assuring that the timing of the read head over the track is within predetermined specifications to ensure that the entire track is always seen by the read head. Secondly, the reel tach count can be stored in the central control packet when the track is recorded, which allows the drive to synchronize the actual reel tach to the reel tach of the originally recorded tracks. The reel tach synchronization method provides a correlation between the reel tach count and the linear position of the tape for use by search operations. Finally, the filemark count may be stored in the central control packet to assist in the detection of the current filemark by high-speed search logic. Although the invention has been described in terms of the illustrative embodiments, it will be appreciated by those skilled in the art that various changes and modifications may be made to the illustrative embodiments without departing from the spirit or scope of the invention. It is intended that the scope of the invention not be limited in any way to the illustrative embodiment shown and described but that the invention be limited only by the claims appended hereto.

Claims: WHAT IS CLAIMED IS: 1. A method for adjusting a read head enable signal in a tape drive, said tape drive reading a tape (2) comprising a plurality of recorded tracks (4), comprising: detecting (302) a reference index mark; detecting (306) a central control packet (30), said central control packet (30) being recorded at an identical position on each of said plurality of recorded tracks (4); measuring (310) a relative time between said detection of said reference index mark and said detection of said central control packet; delaying (312, 314) said read head enable signal by an amount of time equal to said relative time. 2. A method for adjusting a reel tach in a tape drive, said reel tach comprising a function of a supply reel tach count from a supply reel and a takeup reel count from a takeup reel, comprising: detecting (502) a central control packet (30), said central control packet (30) being recorded at an identical position on each of a plurality of recorded tracks (4) on a tape (2) being read by said tape drive, said central control packet (30) comprising a recorded reel count representing said reel count at the time said central control packet (30) was recorded on said tape (2); extracting (504) said recorded reel count; and setting (506) said reel count to said recorded reel count. 3. A method for monitoring a filemark position in a tape drive, said tape drive reading a tape (2) comprising a plurality of recorded tracks (4), comprising: detecting (702) a central control packet (30), said central control packet (30) being recorded at an identical position on each of said plurality of recorded tracks (4), said central control packet (30) comprising a recorded filemark count (34) representing said filemark count in which said central control packet (30) resides; extracting (704) said filemark count (34); and signaling said filemark count to a file search algorithm.

Inventors: MCAULIFFE RICHARD H, MUNRO FREDERICK G, NEWSOME PAUL, ZACZEK THOMAS E, MCAULIFFE, RICHARD, H., MUNRO, FREDERICK, G., NEWSOME, PAUL, ZACZEK, THOMAS, E.
Applicants: ECRIX CORP, ECRIX CORPORATION
Application year: 1999
Main classification: G11B5
IPC codes: G11B5, G11B15, G11B20, G11B27