# Patent

## Title
Method and device for servo frame velocity calculations of a storage media

## Abstract

A velocity calculator performs high-order calculations of servo frame velocities of a storage media, particularly tape and disk. The velocity calculator employs a servo frame indexing module for generating a first-order preceding servo frame velocity signal indicative of a first-order calculation of a preceding servo frame velocity including a first-order preceding servo frame error term based on first-order current servo frame velocity signal indicative of a first-order calculation of a current servo frame velocity including a first-order current servo frame error term. The velocity calculator further employs a velocity estimating module for generating a higher-order current servo frame velocity signal indicative of a second or higher order velocity calculation of the current servo frame velocity including a higher-order current servo frame error term based on the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.

## Background
FIELD OF THE INVENTION
The present invention generally relates to control information recorded on storage media of any type (e.g., tape and disk). The present invention specifically relates to the use of the control information for purposes of executing a velocity calculation of the storage media.
BACKGROUND OF THE INVENTION
FIGS. 1 and 2 respectively illustrate a tape storage media 10, and a tape storage cartridge 20. Tape storage media 10 is contained with a shell housing 21 of tape storage cartridge 20 that is adapted to interface with a tape drive (not shown).
Specifically, tape cartridge 20 includes exterior cartridge shell 21 and sliding door 22. Sliding door 22 is slid open when tape cartridge 20 is inserted into a tape drive (not shown). Sliding door 22 is normally closed when tape cartridge 20 is not in use, so that debris and contaminants do not enter tape cartridge 20 and degrade tape storage media 10. The direction that tape cartridge 20 is slid into the tape drive is shown as direction 25. Tape cartridge 20 also contains a cartridge memory 24, which is on a printed circuit board 23. Cartridge memory 24 is preferably at a 45° angle, to allow the tape drive and pickers of an automated storage library (not shown) to access the contents of cartridge memory 24.
Tape storage media 10 includes a tape reel 11, which is prevented from rotation by a brake button 12 when tape cartridge 20 is not inserted in the tape drive. The tape drive releases brake button 12 when tape cartridge 20 is inserted into the tape drive, which then allows the free rotation of tape reel 11. Tape reel 11 is wound with tape 15, which is preferably magnetic tape. Alternatively, tape 15 could equally be magneto-optical or optical phase-change tape. On the free end of tape 15 is an optional leader tape 13 and leader pin 14. When tape cartridge 20 is slid into the tape drive, sliding door 22 is opened, and the tape drive threads leader pin 14 and attached leader tape 13 and tape 15 through the tape path. Tape 15 may be a data tape or a cleaner tape. Tape 15 may use the identical formulation of tape for both data and cleaning purposes. The contents of cartridge memory 24 are used to distinguish tape cartridge 20 as either a data cartridge or a cleaner cartridge. Optional leader tape 13 is preferably a thicker section of tape 15 which better withstand the load/unload operations of the tape drive.
Servo tracks 16 are recorded on tape 15 to facilitate an advantageous execution of a servo control of tape 15. FIG. 3 illustrates an exemplary N-pattern timing based servo 30 recordable on tape 15 within servo tracks 16 where servo 30 is shown as having four (4) N-pattern servo frames SF31-SF34. Each servo frame SF31-SF34 sequentially includes from left to right a trailing magnetic forward-slash stripe (/), a middle magnetic backward-slash stripe (\) and a leading magnetic forward-slash stripe (/). A servo element of a tape I/O head (not shown) makes a track 35 across servo frames SF31-SF34 as shown.
A velocity V of tape 15 is important to a reading or a writing of tape 15. Currently, a measurement of the velocity V of tape 15 is on a servo frame by servo frame basis involving a distance between the leading magnetic forward-slash stripe (/) and the trailing magnetic forward-slash stripe (/) of each servo frame divided by a traversal time of the distance between the leading magnetic forward-slash stripe (/) and the trailing magnetic forward-slash stripe (/) of each servo frame. The following equation [1] is a known first-order velocity calculation for servo frames SF31-SF34:

V(j)=[D(j)−D(j−1)]/h+h*D′′/2!  [1]

where h is a time period between samples, j is a time index representing discrete increments in time, D(j)−D(j−1) is the linear distance across forward-slash stripes of a servo frame at time index j, D′′(j) is a second derivative of D(j), and ! is the factorial function. The term h*D′′/2! in equation [1] is the error term, and it is a function of h to the first power.

FIG. 4 illustrates an optical storage media 40, which may be Digital Versatile Disk (DVD), High Definition DVD (HD-DVD), Ultra Density Optical (UDO), Blu-Ray, or Holographic media. Optical storage media 40 shows four (4) servo sectors 41-44 and four (4) data sectors 45-48, and FIG. 5 illustrates a banded servo 50 recordable within each servo sector 41-44 where servo 50 is shown as having four (4) servo frames SF51-53 in zone A, and two (2) servo frames SF54 and SF55 in a zone B. An angular velocity ω of media 40 is important to a reading or a writing of media 40. Currently, a measurement of the angular velocity ω of media 40 is on a servo frame by servo frame basis involving an angular distance between ID fields (“IDF”) of two adjacent servo frames θ(j))−θ(j−1) divided by a traversal time h of the distance between the ID fields of the adjacent servo frames. The following equation [2] is a known first-order velocity calculation for servo frames SF51 -SF55:

ω(j)=[θ(j)−θ(j−1)]/h+h*θ′′/2!  [2]

where h is a time period between samples, j is a time index representing discrete increments in time, θ(j) is a distance across legs of servo frame at time index j, and θ′′(j) is a second derivative of θ(j); and ! is the factorial function. The term h*θ′′/2! in equation [2] is the error term, and it is a function of h to the first power.

While equations [1] and [2] have proven be beneficial in calculating a velocity of a storage media, the storage media industry is constantly striving to improve the velocity calculations of storage media.
SUMMARY OF THE INVENTION
The present invention provides a new and unique velocity calculation of a storage media of any type that further advances storage media control technology.
One form of the present invention is a velocity calculator for executing high-order calculations of servo frame velocities of a storage media. The velocity calculator comprises a servo frame indexing module and a velocity estimating module. In operation, the servo frame indexing module generates a first-order preceding servo frame velocity signal indicative of a first-order calculation of a preceding servo frame velocity including a first-order preceding servo frame error term based on a first-order current servo frame velocity signal indicative of a first-order calculation of a current servo frame velocity including a first-order current servo frame error term. The velocity estimating module generates a higher-order current servo frame velocity signal indicative of a second or higher order velocity calculation of the current servo frame velocity including a higher-order current servo frame error term based on the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.
A second form of the present invention is a velocity calculation method for executing high-order calculations of servo frame velocities of a storage media. The velocity calculation method involves a generation of a first-order preceding servo frame velocity signal indicative of a first-order calculation of a preceding servo frame velocity including a first-order preceding servo frame error term based on a first-order current servo frame velocity signal indicative of a first-order calculation of a current servo frame velocity including a first-order current servo frame error term. The velocity calculation method further involves a generation of a higher-order current servo frame velocity signal indicative of a second or higher order velocity calculation of the current servo frame velocity including a higher-order current servo frame error term based on the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.
The aforementioned forms and additional forms as wells as objects and advantages of the present invention will become further apparent from the following detailed description of the various embodiments of the present invention read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the present invention rather than limiting, the scope of the present invention being defined by the appended claims and equivalents thereof.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an exemplary tape storage media as known in the art;
FIG. 2 illustrates an exemplary tape cartridge as known in the art;
FIG. 3 illustrates a calculated velocity VCALC(j) in accordance with the present invention for an exemplary N-pattern timing based servo of the tape storage media illustrated in FIG. 1;
FIG. 4 illustrates an exemplary disk storage media;
FIG. 5 illustrates a calculated angular velocity ωCALC(j) in accordance with the present invention for an exemplary optical branded sector of the disk storage media illustrated in FIG. 4;
FIG. 6 illustrates a tape storage media embodiment of a velocity calculator VCALC(j) illustrated in FIG. 3 in accordance with the present invention;
FIG. 7 illustrates an exemplary embodiment of the velocity calculator illustrated in FIG. 6 in accordance with the present invention;
FIG. 8 illustrates a disk storage media embodiment of a velocity calculator ωCALC(j) illustrated in FIG. 5 in accordance with the present invention; and
FIG. 9 illustrates an exemplary embodiment of the velocity calculator illustrated in FIG. 8 in accordance with the present invention.



DETAILED DESCRIPTION OF THE PRESENT INVENTION
As related to tape 15 (FIG. 1), the present invention is premised on an increased order of the higher-order error-terms of a calculated servo frame velocity obtained by a Taylor Series expansion and the use of a first order servo frame velocity (e.g., equation [1]). The result is a calculated current servo frame velocity having higher-order error-terms, which means a more accurate assessment of the instantaneous velocity of tape 15 as it moves across the I/O head.
Specifically, a first calculation begin with the following Taylor series equations [3] and [4] with the displacement of tape 15 being calculated for time indices j−1 and j−2:

V(j−1)=D(j)−h*D′(j)+h2*D′′(j)/2!−h3*D′′′/3!  [3]

V(j−2)=D(j)−2h*D′(j)+4 h2*D′′(j)/2!−8 h3*D′′′/3!  [4]

where h is a time period between samples, j is a time index representing discrete increments in time, D(j) is a distance across the leading and trailing stripes of servo frame N(j) at time index j, D′(j) is a first derivative of D(j), D′′(j) is a second derivative of D(j), D′′′ is a third derivative of D(j), and ! is the factorial function.

By multiplying equation [3] by 4, subtracting the result by equation [4], and then dividing the result by 2 h, the following equation [5] is derived, where the subscript indicates that the error term is of a second-order, O(h2), in the calculation of the current servo frame velocity VCALC(j) of tape 15 at time index j:

VCALC(j)=[3D(j)−4D(j−1)+D(j−2)]/2h+h2*D′′′/3!  [5]

The inventive step here is that the first-order terms subtract out of the combination of equations [3] and [4]. However, equation [1] can be used to reduce equation [5] into a more practical form and in fact its final form as the following equation [6] (the point of applicability of VCALC(j) is shown in FIG. 3):

VCALC(j)=[3V(j)−V(j−1)]/2+O(h2)  [6]

Equation [6] expresses the improved-accuracy calculation of the velocity of tape 15 with error term O(h2), based on the equation [1] velocity with error term O(h) as calculated at the current time index j, V(j), and the previous time index j−1, V(j−1). The error term in equation [6] is of a second-order in time period h, O(h2), which is a significant improvement over the standard velocity calculation of equation [1] having an error term of only a first-order in time period h, O(h). In fact, this second-order O(h2) error term comes about by taking into account any acceleration or deceleration of tape 15 between velocity samples V(j) and V(j−1). The higher the error term (i.e. the exponent of h), the more accurate the calculation of the tape velocity by the servo of the tape drive.
FIG. 6 illustrates a velocity calculator 60 for implementing equation [8]. Specifically, velocity calculator 60 employs a servo frame indexing module 70 configured with software, hardware and/or firmware to receive a first-order current servo frame velocity signal CCSF(j) indicative of a first-order calculation of a current servo frame velocity including a first-order current servo frame error term (e.g., equation [1]), and in response thereto, generate a first-order preceding servo frame velocity signal VPSF(j−1) including a first-order preceding servo frame error term based on first-order current servo frame velocity signal CCSF(j). Velocity calculator 60 further employs a translational velocity estimating module 80 configured with software, hardware and/or firmware to receive first-order current servo frame velocity signal CCSF(j) and first-order preceding servo frame velocity signal VPSF(j−1), and in response thereto, generates a higher-order current servo frame velocity VCALC(j) indicative of a higher-order calculation (i.e., second-order or higher) of the current servo frame velocity including a higher-order current servo frame error term based on first-order current servo frame velocity signal CCSF(j) and first-order preceding servo frame velocity signal VPSF(j−1).
An embodiment 61 of velocity calculator 60 as shown in FIG. 7 represents an exemplary device for implementing equation [6]. Velocity calculator 61 employs a servo frame indexing module in the form of a unit delay 71, which generates first-order preceding servo frame velocity signal VPSF(j−1) by delaying first-order current servo frame velocity signal CCSF(j) by a single time unit.
Velocity calculator 61 further employs a translational velocity estimating module 81 having a subtractor 82, an adder 83 and a binary bit shifter 84. Subtractor 82 receives first-order current servo frame velocity signal CCSF(j) (e.g., V(j) shown in FIG. 3 and used in equation [6]) and first-order preceding servo frame velocity signal VPSF(j−1) (e.g., V(j−1) shown in FIG. 3 and used in equation [6]), and in response thereto, generates a second-order servo frame velocity differential signal VDIFF(j) indicative of a differential between first-order current servo frame velocity signal CCSF(j) and first-order preceding servo frame velocity signal VPSF(j−1). Binary bit shifter 84 receives second-order servo frame velocity differential signal VDIFF(j), and in response thereto, generates a second-order servo frame shifted velocity differential signal VSDIFF(j) indicative of a frame division by 2 of second-order servo frame shifted velocity differential signal VSDIFF(j). Adder 83 receives first-order current servo frame velocity signal CCSF(j) and second-order servo frame shifted velocity differential signal VSDIFF(j), and in response thereto, generates higher-order current servo frame velocity VCALC(j).
In further embodiments, the velocity calculation VCALC(j) of the current servo frame velocity can be accomplished with the following equations [7] and [8], each with increasing higher-order error-terms that would further improve the calculated velocity of tape 15:

VCALC(j)=[11V(j)−7V(j−1)+2V(j−2)]/6 +O(h3)  [7]

VCALC(j)=[25V(j)−23V(j−1)+13V(j−2)−3V(j−3)]/12+O(h4)  [8]

Those having ordinary skill in the art will appreciate how to upgrade velocity 61 shown in FIG. 7 for purposes of implementing equation [7] or [8].

As related to disk 40 (FIG. 4), the present invention is premised on an increased order of the higher-order error-terms of a calculated servo frame velocity obtained by a Taylor Series expansion and the use of a first order servo frame velocity (e.g., equation [2]). The result is a calculated current servo frame velocity having higher-order error-terms, which means a more accurate assessment of the instantaneous velocity of disk 40 as it moves across the I/O head.
Specifically, a first calculation begin with the following Taylor series equations [9] and [10] with the displacement of disk 40 being calculated for time indices j−1 and j−2:

ω(j−1)=θ(j)−h*θ′(j)+h2*θ′′(j)/2!−h3*θ′′′/3!  [9]

ω(j−2)=θ(j)−2h*θ′(j)+4 h2*θ′′(j)/2!−8 h3*θ′′′/3!  [10]

where h is a time period between samples, j is a time index representing discrete increments in time, θ(j)−θ(j−1) is the angle of servo frame N(j) at time index j, θ′(j) is a first derivative of θ(j), θ′′(j) is a second derivative of θ(j), θ′′′ is a third derivative of θ(j), and ! is the factorial function.

By multiplying equation [9] by 4, subtracting the result by equation [10], and then dividing the result by 2 h, the following equation [11] is derived, where the subscript indicates that the error term is of a second-order, O(h2), in the calculation of the current servo frame velocity ωCALC(j) of disk 40 at time index j:

ωCALC(j)=[3θ(j)−4θ(j−1)+θ(j−2)]/2h+h2*θ′′′/3!  [11]

The inventive step here is that the first-order terms subtract out of the combination of equations [9] and [10]. However, equation [2] can be used to reduce equation [11] into a more practical form and in fact its final form as the following equation [12]:

ωCALC(j)=[3ω(j)−ω(j−1)]/2+O(h2)  [12]

Equation [12] expresses the improved-accuracy calculation of the angular velocity of disk 40 with error term O(h2), based on the equation [2] velocity with error term O(h) as calculated at the current time index j, ω(j), and the previous time index j−1, ω(j−1). The error term in equation [12] is of a second-order in time period h, O(h2), which is a significant improvement over the standard velocity calculation of equation [2] having an error term of only a first-order in time period h, O(h). In fact, this second-order O(h2) error term comes about by taking into account any acceleration or deceleration of disk 40 between velocity samples ω(j) and ω(j−1). The higher the error term (i.e., the exponent of h), the more accurate the calculation of the disk angular velocity by the servo of the disk drive.
FIG. 8 illustrates a velocity calculator 90 for implementing equation [12]. Specifically, velocity calculator 90 employs a servo frame indexing module 100 configured with software, hardware and/or firmware to receive a first-order current servo frame velocity signal ωCSF(j) indicative of a first-order calculation of a current servo frame velocity including a first-order current servo frame error term (e.g., equation [2]), and in response thereto, generate a first-order preceding servo frame velocity signal ωPSF(j−1) including a first-order preceding servo frame error term based on first-order current servo frame velocity signal ωCSF(j). Velocity calculator 90 further employs an angular velocity estimating module 110 configured with software, hardware and/or firmware to receive first-order current servo frame velocity signal ωCSF(j) and first-order preceding servo frame velocity signal ωPSF(j−1), and in response thereto, to generate a higher-order current servo frame velocity ωCALC(j) indicative of a higher-order calculation (i.e., second-order or higher) of the current servo frame velocity including a higher-order current servo frame error term based on first-order current servo frame velocity signal ωCSF(j) and first-order preceding servo frame velocity signal ωPSF(j−1).
An embodiment 91 of velocity calculator 90 as shown in FIG. 9 represents an exemplary device for implementing equation [14]. Velocity calculator 91 employs a servo frame indexing module in the form of a unit delay 101, which generates first-order preceding servo frame velocity signal ωPSF(j−1) by delaying first-order current servo frame velocity signal ωCSF(j) by a single time unit.
Velocity calculator 91 further employs an angular velocity estimating module 111 having a subtractor 112, an adder 113 and a binary bit shifter 114. Subtractor 112 receives first-order current servo frame velocity signal ωCSF(j) and first-order preceding servo frame velocity signal ωPSF(j−1), and in response thereto, generates a second-order servo frame velocity differential signal ωDIFF(j) indicative of a differential between first-order current servo frame velocity signal ωCSF(j) (e.g. COO) shown in FIG. 5 and used in equation [12]) and first-order preceding servo frame velocity signal ωPSF(j−1) (e.g., ω(j−1) shown in FIG. 5 and used in equation [12]). Binary bit shifter 114 receives second-order servo frame velocity differential signal ωDIFF(j), and in response thereto, generates a second-order servo frame shifted velocity differential signal ωSDIFF(j) indicative of a frame division by 2 of second-order servo frame shifted velocity differential signal ωSDIFF(j). Adder 113 receives first-order current servo frame velocity signal ωCSF(j) and second-order servo frame shifted velocity differential signal ωSDIFF(j), and in response thereto, generates higher-order current servo frame velocity ωCALC(j).
In further embodiments, the velocity calculation ωCALC(j) of the current servo frame velocity can be accomplished with the following equations [13] and [14], each with increasing higher-order error-terms that would further improve the calculated angular velocity of disk 40:

ωCALC(j)=[11ω(j)−7ω(j−1)+2ω(j−2)]/6+O(h3)  [13]

ωCALC(j)=[25ω(j)−23ω(j−1)+13ω(j−2)−3ω(j−3)]/12+O(h4)  [14]

Those having ordinary skill in the art will appreciate how to upgrade velocity 91 shown in FIG. 9 for purposes of implementing equation [13] or [14].
Those having ordinary skill in the art of storage media velocity calculation techniques may develop other embodiments of the present invention in view of the inventive principles of the present invention described herein. The terms and expression which have been employed in the foregoing specification are used herein as terms of description and not of limitations, and there is no intention in the use of such terms and expressions of excluding equivalents of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims which follow.

## Claims

1. A velocity calculator for high-order calculations of servo frame velocities of a storage media, the velocity calculator comprising:
a servo frame indexing module operable to generate a first-order preceding servo frame velocity signal indicative of a first-order calculation of a preceding servo frame velocity including a first-order preceding servo frame error term based on a first-order current servo frame velocity signal indicative of a first-order calculation of a current servo frame velocity including a first-order current servo frame error term; and
a velocity estimating module in electrical communication with the servo frame indexing module, wherein the velocity estimating module is operable to generate a higher-order current servo frame velocity signal indicative of at least a second order velocity calculation of the current servo frame velocity including a higher-order current servo frame error term based on the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.

2. The velocity calculator of claim 1, wherein the storage media is a tape storage media.

3. The velocity calculator of claim 1, wherein the storage media is a disk storage media.

4. The velocity calculator of claim 1, wherein the servo frame indexing module includes:
a unit delay operable to generate the first-order preceding servo frame velocity signal as a function of delaying the first-order current servo frame velocity signal by a single time unit.

5. The velocity calculator of claim 1, wherein the velocity estimating module includes:
a subtractor operable to generate a second order servo frame velocity differential signal indicative of a differential of a first-order current servo frame velocity signal and the first-order preceding servo frame velocity signal.

6. The velocity calculator of claim 5, wherein the velocity estimating module further includes:
a binary bit shifter in electrical communication with the subtractor, wherein the binary bit shifter is operable to generate a second order shifted servo frame velocity differential signal indicative of a binary bit shift of the second order servo frame velocity differential signal.

7. The velocity calculator of claim 6, wherein the velocity estimating module further includes:
an adder in electrical communication with the binary bit shifter, wherein the adder is operable to generate the higher-order current servo frame velocity signal indicative of a summation of the first-order current servo frame velocity signal and the second order shifted servo frame velocity differential signal.

8. The velocity calculator of claim 1, wherein the at least one second order velocity calculation of the current servo frame velocity is a function of a differential between the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.

9. The velocity calculator of claim 1, wherein the at least one second order velocity calculation of the current servo frame velocity is further a function of a frame division of a differential between the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.

10. The velocity calculator of claim 1, wherein the higher-order current servo frame error term is indicative of a velocity change of the storage media between the preceding servo frame and the current servo frame.

11. A velocity method for high-order calculations of servo frame velocities of a storage media, the velocity method comprising:
generating a first-order preceding servo frame velocity signal indicative of a first-order calculation of a preceding servo frame velocity including a first-order preceding servo frame error term based on a first-order current servo frame velocity indicative of a first-order calculation of a current servo frame velocity including a first-order current servo frame error term; and
generating a higher-order current servo frame velocity signal indicative of at least a second order velocity calculation of the current servo frame velocity of the current servo frame including a higher-order current servo frame error term based on the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.

12. The velocity method of claim 11, wherein the storage media is a tape storage media.

13. The velocity method of claim 11, wherein the storage media is disk storage media.

14. The velocity method of claim 11, wherein the generation of the first-order preceding servo frame velocity signal includes:
delaying the first-order current servo frame velocity signal by a single time unit.

15. The velocity method of claim 11, wherein the generation of the higher-order current servo frame velocity signal includes:
generating a second order servo frame velocity differential signal as a function of a differential of the first-order current servo frame velocity signal and the first-order preceding servo frame velocity signal.

16. The velocity method of claim 15, wherein the generation of the higher-order current servo frame velocity signal further includes:
generating a second order shifted servo frame velocity differential signal as a function of a binary bit shift of the second order servo frame velocity differential signal.

17. The velocity method of claim 16, wherein the generation of the higher-order current servo frame velocity signal further includes:
generating the higher-order current servo frame velocity signal as a function of a summation of the first-order current servo frame velocity signal and the second order shifted servo frame velocity differential signal.

18. The velocity method of claim 11, wherein the at least one second order velocity calculation of the current servo frame velocity is a function of a differential between the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.

19. The velocity method of claim 11, wherein the at least one second order velocity calculation of the current servo frame velocity is a function of a frame division of a differential between the first-order preceding servo frame velocity signal and the first-order current servo frame velocity signal.

20. The velocity method of claim 11, wherein the higher-order current servo frame error term is indicative of a velocity change of the storage media between the preceding servo frame and the current servo frame.