The present invention relates generally to a data storage apparatus, and more particularly to an apparatus and method to identify a data band encoded between two servo bands in a sequential information storage medium.
Tape drives move a flexible magnetic tape from one tape spool to another across a read/write head capable of either reading data from or writing data to the tape. The tape drive itself, in operation, is connected to a host computer which either sends information to the tape drive to be written on the tape or receives information that is being read from the tape. Typically, efforts are made to match the data rates of the host and the tape drive. For example, the data rate of the tape drive is affected by basic operations, such as changing data tracks and adjusting read/write head alignment. Furthermore, the data rate of the host is often an aggregate rate that is a function of hardware, such as communication links.
In one implementation, a method is presented to identify a data band encoded between two servo bands in a sequential information storage medium and moving at a velocity across a read/write head comprising two servo elements and a read/write element. The method detects a beginning of a first servo band, detects a beginning of a second servo band, measures the velocity, adjusts the clock rate based upon the measured velocity, calculates an offset between the first servo band and the second servo band, and identifies the data band using the offset.
In another implementation, an article of manufacture is presented having a computer readable medium including computer readable program code disposed therein to identify a data band encoded between two servo bands in a sequential information storage medium and moving at a velocity across a read/write head comprising two servo elements and a read/write element. The computer readable program coded includes a series of computer readable program steps to effect detecting a beginning of a first servo band, detecting a beginning of a second servo band, measuring the velocity, adjusting the clock rate based upon the measured velocity, calculating an offset between the first servo band and the second servo band, and identifying the data band using the offset.
In yet another implementation, computer program product is presented encoded in a computer readable medium and useable with a programmable computer processor to identify a data band encoded between two servo bands in a sequential information storage medium and moving at a velocity across a read/write head comprising two servo elements and a read/write element. The computer program product includes computer readable program code which causes said programmable processor to detect a beginning of a first servo band, detect a beginning of a second servo band, measure the velocity, adjust the clock rate based upon the measured velocity, calculate an offset between the first servo band and the second servo band, and identify the data band using the offset.
Implementations of the invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings, in which like elements bear like reference numerals.
This invention is described in preferred embodiments in the following description with reference to the Figures, in which like numbers represent the same or similar elements. Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
The described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are recited to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
The schematic flow charts included are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow chart diagrams, they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
Referring now to
In the illustrated embodiment of
In certain embodiments, computer readable medium 230 is integral with controller 220. In the illustrated embodiment of
In sequential data storage media, such as for example magnetic tape storage media, servo patterns are encoded in non-data portions of the medium. Those servo patterns are used to position a read/write head with respect to a plurality of data tracks, to provide sync data, to provide manufacturer data, and to determine longitudinal position (“LPOS”) along the length of the medium.
Referring to
Servo pattern 300 comprises a first burst 310 comprising five pulses, wherein each of those five pulses comprises a first azimuthal slope. Servo pattern 300 further comprises a second burst 320 comprising five pulses, wherein each of those five pulses comprises a second azimuthal slope. Servo pattern 300 further comprises a third burst 330 comprising four pulses, wherein each of those four pulses comprises the first azimuthal slope. Servo pattern 300 further comprises a fourth burst 340 comprising four pulses, wherein each of those four pulses comprises the second azimuthal slope.
In the illustrated embodiment of
Determination of the information content of the signals detected by a read element requires determining a likely timing or position of a plurality of encoded signals. In certain embodiments, sample signals, such as signal 618, are taken asynchronously with respect to a clock used to write the data on the sequential information storage medium. Interpolator 604 interpolates the asynchronous samples into a set of samples that can be considered to be synchronous with a write clock used when encoding the sequential information storage medium. In certain embodiments, timing control component 612 includes phase-error generation logic, a phase locked loop (PLL), and phase interpolation logic to derive a reference for interpolator 604 to provide the synchronous samples. The determined data information which is represented by a stream of detected bits (i.e., zeros and ones) is outputted as signal 622 for further processing.
Applicants' read channel 600 comprises a timing control function 612 which is used to decode signals detected in a sequential information storage medium. Applicants' invention comprises a method, making use of that timing control function, to adjust a clock rate used by a counter, such as counter 226 (
Turning to
In the illustrated embodiment of
Increasing the number of servo bands encoded in a sequential information storage medium necessarily reduces the storage capacity if the storage medium. On the other hand, the reduction of data storage space resulting from increasing the number of servo bands is offset by enhanced data integrity. In addition, increasing the number of servo bands increases the robustness of read/write head positioning by encoding reference servo bands adjacent to individual data bands.
As depicted in the illustrated embodiments of
In certain embodiments, the first servo pattern of servo band 402(1) is offset by 33 microns as compared to the first servo pattern encoded in servo bands 402(0) and 402(2). The first servo pattern of servo band 402(3) is offset by a distance of 66 microns as compared to the first servo pattern encoded in servo band 402(2).
Returning to
In step 730, the method adjusts the clock rate of step 705 based upon the adjusted velocity of step 720. The data storage apparatus of step 705, such as data storage apparatus 200 (
The velocity at which a sequential information storage medium, such as sequential information storage medium 400, is caused to move across a read/write head, such as read/write head 210 (
Table 1 recites a Resolution value of counts per micron using a counter comprising a clock rate of 1.5 E+07 Hertz for various sequential information storage medium velocities. As described hereinabove, Applicants' method offsets adjacent servo bands encoded in a sequential information storage medium by, for example and without limitation, 33 microns or 66 microns. Referring to TABLE 1, when data storage apparatus 200 (
In contrast, when data storage apparatus 200 (
To resolve the counter measurement resolution problem described above, Applicants' method in step 730 adjusts the counter clock rate based upon the adjusted sequential information storage medium velocity of step 720. In certain embodiments, step 730 is performed by a controller, such as controller 220 disposed in a data storage device, such as data storage apparatus 200. In certain embodiments, step 730 is performed by a processor, such as processor 242, disposed in a host computer, such as host computer 240, where that host computer is in communication with a data storage device. In certain embodiments, step 730 is performed by a prescaler, such as prescaler 616 (
TABLE 2 recites a clock rate which is adjusted based upon the velocity of the moving storage medium, such that a constant Resolution in counts per micron is achieved. For example, when data storage apparatus 200 (
As illustrated in table 2, as the velocity of sequential information storage medium 400 increases, the counter clock rate proportionally increases. As a result, the resolution is unchanged and, thus, the resolution for data band identification and skew measurement remains constant.
In step 740, the method starts Applicants' counter when a first servo element detects a first servo pattern encoded in a first servo band. By way of example and not limitation, in the illustrated embodiment of
In certain embodiments, step 740 is performed by a controller, such as controller 220 disposed in a data storage device, such as data storage apparatus 200. In certain embodiments, step 740 is performed by a processor, such as processor 242, disposed in a host computer, such as host computer 240, where that host computer is in communication with a data storage device. In certain embodiments, step 740 is performed by a prescaler, such as prescaler 616 (
In step 750, the method stops the counter started in step 740 when a second servo element detects a first servo pattern of the second servo band, where the first and second servo bands are separated by a data band. By way of example and not limitation, in the illustrated embodiment of
In certain embodiments, the counter 226 comprises timing control 612. In certain embodiments, counter 226 is external to but in communication with timing control 612.
Similarly, if the second servo element detects the leading edge of a servo burst before the first servo element, the counter is started and a transition is made to state 506. The system remains in state 506 until the first servo element detects the leading edge of a servo band. At this, the system transitions to state 508 and in step 740 the counter is stopped.
If both servo elements detect a leading edge of a servo band at the same time, a transition is made to state 508 and then back to state 502, where the counter value is reset to 0.
Referring again to
In step 770, the method, using the counter value of step 760 and the adjusted clock rate of step 730, the method calculates a time interval between starting the counter in step 740 and stopping the counter in step 750. In certain embodiments, step 770 is performed by a controller, such as controller 220 disposed in a data storage device, such as data storage apparatus 200. In certain embodiments, step 770 is performed by a processor, such as processor 242, disposed in a host computer, such as host computer 240, where that host computer is in communication with a data storage device. In certain embodiments, step 770 is performed by a prescaler, such as prescaler 616 (
In step 780, the method uses the time interval of step 770 and the adjusted velocity of step 720 to calculate an offset between the first servo band and the second servo band. In certain embodiments, step 780 is performed by a controller, such as controller 220 disposed in a data storage device, such as data storage apparatus 200. In certain embodiments, step 780 is performed by a processor, such as processor 242, disposed in a host computer, such as host computer 240, where that host computer is in communication with a data storage device. In certain embodiments, step 780 is performed by a prescaler, such as prescaler 616 (
In step 790, the method identifies a data band encoded between the first servo band and the second servo band using the offset calculated in step 780. In certain embodiments, step 790 is performed by a controller, such as controller 220 disposed in a data storage device, such as data storage apparatus 200. In certain embodiments, step 790 is performed by a processor, such as processor 242, disposed in a host computer, such as host computer 240, where that host computer is in communication with a data storage device. In certain embodiments, step 790 is performed by a prescaler, such as prescaler 616 (
In certain embodiments, individual steps recited in
In certain embodiments, instructions, such as instructions 232 (
In yet other embodiments, the invention includes instructions residing in any other computer program product, where those instructions are executed by a computer external to, or internal to, tape data storage apparatus 200 (
While the preferred embodiments of the present invention have been illustrated in detail, it should be apparent that modifications and adaptations to those embodiments may occur to one skilled in the art without departing from the scope of the present inventions.
Number | Name | Date | Kind |
---|---|---|---|
5457581 | Hallamasek | Oct 1995 | A |
6937413 | Bui et al. | Aug 2005 | B2 |
7106544 | Dugas et al. | Sep 2006 | B2 |
7245450 | Cherubini et al. | Jul 2007 | B1 |
7365929 | Cherubini et al. | Apr 2008 | B2 |
7724466 | Bui et al. | May 2010 | B2 |
20040223248 | Dugas et al. | Nov 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20110013307 A1 | Jan 2011 | US |