This application relates generally to positional monitoring systems, and more particularly to systems in which data from one or more sensors is used to influence the use of another sensor's output.
A variety of applications exist in which two or more sensors are used in one control or monitoring system. Typically, each of the sensors is monitored in parallel. In certain critical applications, for example, two or more mutually redundant sensors monitor the same target simultaneously. A selector is used to determine which of the their outputs is deemed most reliable, and the selected output is used for system control.
In other applications, an array of sensors is used to obtain a comparative or other composite measurement from which an inference can be drawn. By averaging measurements from such an array, for example, one can determine an areal average of a statistic of interest such as height or magnetic flux density. By comparing sensor outputs, also, one can also determine which sensor is nearest or best aligned with a feature of interest.
Recently, certain applications have arisen in which access to a sensor (or its data path) is scarce. This may be the case where data bandwidth, component life, or available energy is limited. Although time multiplexing is generally available as a means for sharing a resource, its application to sensors has thus far been limited to contexts with exceedingly simple geometries. Accordingly there is a need for more a more versatile way to use sensors efficiently, on an intermittent basis.
Against this backdrop the present invention has been developed. It is a method or apparatus able to generate a timing or positional window for use in monitoring a “target” sensor's output based on one or more positions detected by a “reference” sensor. A priori information about positions detectable by at least one of the sensors is known approximately, relative to a common frame of reference.
In one embodiment of the present invention, an apparatus includes a reference sensor, a target sensor, and a processor. The reference sensor is constructed and arranged to sense a reference position in a frame of reference moving (along a given path) relative to the reference sensor. The processor is constructed and arranged to compute a position-dependent indicator of a position-dependent longitudinal offset component (along the given path) so that the indicator is partially based on the sensed reference position. The processor is able to monitor the target sensor's output using a “target window” partially based on the position-dependent indicator.
In a first alternative embodiment, the apparatus is a data handling system that includes a rotary actuator and disc stack. The actuator rigidly supports the reference and target sensors, which are selectively positionable transducer heads. The disc stack includes one or more disc(s) clamped onto a spindle, the disc(s) having the reference and target positions marked on respective data surfaces. The disc stack defines the frame of reference, traveling along a predetermined path that is nominally shaped like the selected data track.
In a second alternative embodiment, a method includes a step of sensing with a reference sensor a reference position in a frame of reference that is moving along a predetermined path relative to the reference sensor. From this reference position is derived a position-dependent indicator of a position-dependent longitudinal offset component along the predetermined path. A target sensor's output is monitored using a target window partially based on the position-dependent indicator.
In a third alternative embodiment, the “sensing step” is begun by assembling at least the two sensors into a first assembly. At least two rigid elements are both supported in a second assembly that is positioned and in motion relative to the first assembly so that markings on the rigid elements will generally encounter the sensors asynchronously, at random times approximately characterized in an a priori model. The a priori model is used with the detected reference markings to determine the target window used for monitoring the target sensor's output.
In a fourth alternative embodiment, the two assemblies are installed into a disc drive after the markings are on the discs (rigid elements). The above-mentioned position-dependent longitudinal offset component is a “sensor-to-sensor” offset. In addition to this, the target window is further based on a “target-to-reference offset” and a “single-sensor” offset. All three of these offsets are position-dependent longitudinal components determined based on the detected reference position.
Additional features and benefits will become apparent upon reviewing the following figures and their accompanying detailed description.
Although the examples below show more than enough detail to allow those skilled in the art to practice the present invention, subject matter regarded as the invention is broader than any single example below. The scope of the present invention is distinctly defined, however, in the claims at the end of this document.
Numerous aspects of basic engineering and of positioning technologies that are not a part of the present invention (or are well known in the art) are omitted for brevity, avoiding needless distractions from the essence of the present invention. For example, this document does not articulate how arithmetic formulas are formed or solved from a timetable showing known offsets and desired values. Neither does it include implementation decisions such as whether general purpose processors or applications-specific circuitry implements a formula most effectively. Specific techniques for constructing data handling systems are likewise omitted, typically being a matter of design choice to those of ordinary skill in that field of technology.
Definitions and clarifications of certain terms are provided in conjunction with the descriptions below, all consistent with common usage in the art but some described with greater specificity. An “offset” is a positionless scalar quantity, although an offset between two items in motion relative to one another may vary according to their respective positions. A “reference position” is one that is known by virtue of a detection by a “reference sensor,” typically a recent detection. “Longitudinal” refers to alignment with (or opposite) a direction of motion of a frame of reference relative to a reference sensor. A “target” is a sought item with a position that is generally predictable by a calculation based on the time(s) of (reference) detection and an estimated relative velocity. A “target sensor” is one constructed and arranged to detect the target, and a “target window” is one that is derived especially for use with a target sensor's output.
A “pure indicator” is an ordinary (signed) scalar number expressible in degrees, microseconds, nanometers, or similar units. More broadly, an “indicator” may also be a multi-element vector having components from which it is possible to derive a scalar indicative of an offset's longitudinal component. One of ordinary skill will be able to incorporate and optimize sensors and circuitry implementing the present invention, in light of the teachings below.
To perform step 510, frame of reference 440 is identified, moving at a controlled speed along nominally straight path 461 relative to assembly 490, which supports sensors 411,412. Several detectable positions 405,406,477,478 are positioned so that sensor 411 can detect them but so that sensor 412 cannot. Other detectable positions 436,437 are positioned so that sensor 412 can detect them but so that sensor 411 cannot.
For the present example sensor 411 is designated as a “target” sensor that is being activated. Recent measurements relating to reference frame 440 facilitate this activation, having been received from sensor 412, designated as a “reference” sensor. To perform step 515, sensor 412 detects position 436 (as a reference position) at time 418. The position of (target) sensor 411 is uncertain, relative to the positions 405,406 it did/will encounter. This state of knowledge may exist, for example, if sensor 411 has been deactivated for a long time preceding time 418.
Time 419 indicates the “present position” of reference sensor 412, and offset 480 indicates a just-measured interval since time 418. Time 422 indicates a “present position” of target sensor 411. It should be noted that all of the points on timeline 403 are aligned with positions of target sensor 411. Other times 418,419 relate to the position of reference sensor 412. The skew between times 419,422 and timeline 403 is equal to offset 481. In a preferred embodiment, at least one of the ten last-detected positions (such as 436) is selected for use in step 520.
In reference to step 520, three longitudinal offsets are selected for illustration in this example. The first is designated as a “sensor-to-sensor” longitudinal offset 481. The second is designated as a “target-to-reference” offset like that between positions 405 and 436, indicated in
To perform step 520, an expected target position 406 is selected that is sufficiently late (i.e. far enough to the right) that an output from sensor 411 can indicate a time 423 when it is detected. Depending on the sensor type, preparing a dormant sensor for use can take 1 to 100 microseconds or longer. If interval 482 is sufficiently long, sensor 411 will be ready in time and able to detect position 406. Optionally, a system of the present invention includes a buffer or delay element (such as 178,278 of
Having selected position 406 as the target position to be detected, a target window is determined using one or more of the position-dependent longitudinal offset indicator(s) 481,483,484,485 described above. A “before” margin 498 and an “after” margin 499 are selected as fixed quantities (typically in units like milliradians, microseconds or nanometers) or based on nominal single-sensor longitudinal offset 485. It is desirable that window width (i.e. the sum of margins 498&499) be smaller than 50% of nominal offset 485. More desirably, each of the margins is at most about 0.5% to 5% of offset 485. In an application where other nearby positions 477,478 are detectable by target sensor 411 and can be mistaken for the selected target position 406, such a narrow window is useful for discriminating between a true detection of position 406 and a “false positive” indication.
Generally a target position 406 will be encountered at a measurably different time 424 than its expected time 423, offset by a prediction error 495. Each of the window margins 498,499 is optionally selected to be at least twice as large as a median prediction error based on several previous characterization measurements. Optionally, an initial window is used in monitoring an output for a first target position and where the first target is not detected, a window at least 5% larger is used in monitoring an output for a later-encountered target position.
In any event, a target window (such as 425) is desirably determined as a pair of arithmetic combinations partially based on selected margin(s), the position-dependent longitudinal offset indicator(s), and the time(s) at which the reference sensor(s) detected known position(s). For example, window 425 can be determined effectively from offsets 480,481,483,484,485 as follows: margins 498,499 can be set to (offset 485)/30, and offset 482 can be obtained based on the observation that offsets 480 through 483 have the same sum as offsets 484 and 485.
Turning now to
Servo and user data travels through sensor 334 and flex cable 380 to control circuitry on controller board 306. (Controller board 306 is configured with circuits described below with reference to
During a seek operation, the overall track position of sensors 334 is controlled through the use of a voice coil motor (VCM), which typically includes a coil 322 fixedly attached to actuator assembly 361, as well as one or more permanent magnets 320 which establish a magnetic field in which coil 322 is immersed. The controlled application of current to coil 322 causes magnetic interaction between permanent magnets 320 and coil 322 so that coil 322 moves. As coil 322 moves, actuator assembly 361 pivots about bearing shaft assembly 330 and sensors 334 are caused to move across the surfaces of the disc(s) 389 between the inner diameter and outer diameter of the disc(s) 389.
Difficulties have arisen in the cost-effective manufacture of data handling systems like that of
To illustrate this
Offset 198 is one of the offsets of particular concern in this document. It is depicted in a circumferential direction relative to discs 189,289, which rotate on a spindle at a controlled speed about a common axis as shown by respective movement indicators 186,286. Offset 198 shows that sensor 195 leads sensor 295 slightly. Sensor 195 is also closer to the discs' axis of rotation than sensor 295, as indicated by radial offset 197.
Sensor 195 generates an output 177 that is received into buffer 178 of processor 288, which is implemented in control circuitry like that of controller board 306 of
An important component of sensor outputs 177,277 is position information found in servo wedges 185,285 on respective surfaces. (In
This can be seen more easily in
Recalling that
Suppose the rotary actuator shifts clockwise relative to
As one manifestation of this clockwise shift, note that sensor 0 is closer than sensor 4 to the disc center (i.e. lower, on
Apart from the clockwise shift just described, the “inward seek” across middle range 778 results in another shift that is important for present purposes. Recall that ordinary servo wedges each taper so that they are narrower in inner ranges and wider in outer ranges. Referring again to
Table 800 can be used to estimate position-dependent sensor-to-sensor offset 681 of
If the actuator is rotated to bring sensors 1 & 2 into inner range 777, the relevant table entries in rows 851&852 will be “35” hex and “16” hex. The difference between these is 31 (decimal units). Thus the indicator of the sensor-to-sensor offset 681 has a smaller magnitude at an outer range 779 than it would at an inner range 777. In this way the indicator of the sensor-to-sensor offset 681 is “position dependent” unlike any such indicators of the prior art.
Column 803 of
To compute a virtual sector number, the hex value in column 803 is first added to the physical sector number that is read from a corresponding servo wedge. If the resultant sum is not less than 53 (i.e. the number of servo wedges), then that quantity is subtracted from the sum. Using this “modulo N” system, a virtual sector number is thus derived as an integer between 0 and N−1, where N is the number of servo wedges.
As an example, the physical sector number read at position 100 is zero, which is added to the value in row 851 and column 803 of
At position 231, the closest position to disc zero's sector zero, the physical (readable) sector number is 31. This number is added to the value in row 852 and column 803, which is “16” hex. The sum is 31+22=53. This is not less than the number of servo wedges, so that number (53) is subtracted from the sum. The virtual sector number at position 231 is thus zero. In a multi-disc drive made of pre-written discs, it is desirable that such virtual offsets be defined so that two sectors closest to one another (on different discs) have identical virtual sector numbers, even though their readable (physical) sector numbers are different.
Referring again to the three position-dependent indicator above, recall that the second was designated as the “target-to-reference” offset indicator, the longitudinal offset between two positions each accessible by a respective sensor. Recall that an example of this offset was shown in
Recall that time 618 identifies when reference sensor 295 encountered position 236, before the current position 512 of sensor 295 (at time 619). To determine the time 621 when target sensor 195 did/will encounter position 105, two lookups are performed in table 900. As with table 800, for simplicity and speed, a lookup with no interpolation is assumed. Relevant values are in annular zone 4, rows 914,924. Note that values in table 900 are hexadecimal, defined relative to an arbitrary time 686 of
Recall that the third offset indicator described above was designated as the “single-sensor” offset indicator. It is a local nominal inter-positional longitudinal offset such as 685, the expected circumferential offset between positions 105 and 106. In table 900, this is modeled as the difference between the entries of column 906 and 905 at row 914. It is computed as “1E6” hex minus “199” hex, equal to 77 (decimal units). Note that this offset indicator varies in table 900 as a function of radial position and/or circumferential position, unlike any similar indicators of the prior art.
Optionally, values from a table like that of
In an alternative embodiment, more complex formulas are used to reduce the volume of data that is stored in lookup tables. For a system like that of
where
In one implementation, A and B are derived from the existing repeatable timing error (RTE) coefficients, thus eliminating the need for additional calibration. In brief, the RTE calibration is run on each disk to fully characterize the amplitude and phase of the timing modulation as it varies across the radius. This characterized RTE is then compared against the AM time of the current servo sector and the status of write gate is determined.
Continuing with the derivation, it is noted that the integration of equation 1 leads to an expression that describes the absolute time that elapses from servo sector k=0 to the kth sector. Integrating equation 1 one arrives at
Equation 3 can be thought of in terms of the integral of the RTE and can be written as
The timing skew can then be calculated as
Tskew(k, track, hd, hs)=Tabsolute(k, track, hd)−Tabsolute(k, track, hs) (5)
or
where
Ultimately the total timing skew is given by
Totalskew(k, track, hd, hs)=ACskew(k, track, hd, hs)+DC(track, hd, hs) (7)
As another example, the following formula gives an offset value that is added to a nominal value to find a timing skew between a reference position and a target position:
where
By measuring the relative time (ta
where δarm refers to a difference in the distances between each sensor and the actuator's axis of rotation. Once the calibration is complete and deltaarm is known then the following calculation is executed for each sensor switch.
where
This equation is a simplified approximation of the above described relative address mark timing shift due to the variation in arm lengths. Using this approximation, the worst case error between the approximation and the actual timing shift is shown in
It is to be understood that even though numerous characteristics and advantages of various embodiments of the invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only. Changes may be made in detail, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, the particular elements may vary depending on the particular position monitoring application while maintaining substantially the same functionality. Although the more detailed embodiments described above relate to data handling devices, other applications involving position monitoring can readily benefit from these teachings without departing from the scope and spirit of the present invention.
Moreover, it will be appreciated by those in the art that the selection of a suitable combination of calibration memory size, accuracy, and formula complexity is a trade-off. The best solution will depend on the application, and no particular solution to this trade-off is of critical importance to the present invention. Moreover a selection of formulae will typically be available and readily derived, depending on the applicable geometry. One of ordinary skill will be able to use the above description to make and use a variety of table-based or formula-based or other embodiments in light of the teachings above, without undue experimentation. In addition, it will be appreciated by those skilled in the art that the arrangements disclosed can be used on position monitoring systems in any application that requires the use of a supplemental sensor that may be inactive at times.
This application claims the benefit of U.S. provisional application Ser. No. 60/401,100 filed Aug. 5, 2002, titled “Compensation for Head-to-Head Timing Variation Arising in Multi-Disc Drives Having Prewritten Media,” and of U.S. provisional application Ser. No. 60/423,779, filed Nov. 5, 2002, titled “Radius Dependent Head Switch Compensation for Prewritten Servo Media.”
Number | Name | Date | Kind |
---|---|---|---|
4807063 | Moteki | Feb 1989 | A |
4937693 | Connolly et al. | Jun 1990 | A |
5182682 | Weispfenning et al. | Jan 1993 | A |
5570332 | Heath et al. | Oct 1996 | A |
5796540 | Jones et al. | Aug 1998 | A |
5805370 | Lee | Sep 1998 | A |
5886846 | Pham et al. | Mar 1999 | A |
5907448 | Watanabe et al. | May 1999 | A |
6067206 | Hull et al. | May 2000 | A |
6188537 | Eland et al. | Feb 2001 | B1 |
6208480 | Tigner | Mar 2001 | B1 |
6266205 | Schreck et al. | Jul 2001 | B1 |
6297926 | Ahn | Oct 2001 | B1 |
6320718 | Bouwkamp et al. | Nov 2001 | B1 |
6388413 | Ng et al. | May 2002 | B1 |
6493171 | Enokida et al. | Dec 2002 | B1 |
6515813 | Kitazaki et al. | Feb 2003 | B1 |
6687069 | Chainer et al. | Feb 2004 | B1 |
6710957 | Nakasato | Mar 2004 | B1 |
6775090 | DuLaney et al. | Aug 2004 | B1 |
6882487 | Hanson et al. | Apr 2005 | B1 |
20020141347 | Harp et al. | Oct 2002 | A1 |
20030007276 | Satoh | Jan 2003 | A1 |
20030044091 | Swanson et al. | Mar 2003 | A1 |
20030057941 | Collier-Hallman et al. | Mar 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20040021972 A1 | Feb 2004 | US |
Number | Date | Country | |
---|---|---|---|
60423779 | Nov 2002 | US | |
60401100 | Aug 2002 | US |