WRITE TIMING FOR RRO FIELD IN A CONSTANT DENSITY SERVO SYSTEM
20220351750 · 2022-11-03
Inventors
Cpc classification
G11B5/59627
PHYSICS
G11B5/012
PHYSICS
G11B5/5526
PHYSICS
G11B19/14
PHYSICS
International classification
G11B19/04
PHYSICS
G11B19/14
PHYSICS
G11B5/012
PHYSICS
G11B5/55
PHYSICS
Abstract
A method for writing repeatable run-out data, representing a recurring contribution to position error, to a rotating constant-density magnetic storage medium, includes repeating, for each respective track at a respective radius of the constant-density magnetic storage medium, (1) determining a respective track pattern frequency based on track location and desired data density, (2) locating a position in a respective servo wedge on the respective track based on servo sync mark detection, (3) writing the repeatable run-out data to the respective servo wedge at a time delay, from the location of the position in the respective servo wedge, that is inversely proportional to the respective radius, to achieve a predetermined offset, and (4) repeating the determining, the locating and the writing for each servo wedge on the respective track of the constant-density magnetic storage medium.
Claims
1-20. (canceled)
21. A method for writing repeatable run-out data, representing a recurring contribution to position error, to a rotating constant-density magnetic storage medium, the method comprising: determining a respective track pattern frequency for a respective track being written to at a respective radius of the constant-density magnetic storage medium, based on track location and desired data density; locating a position in a respective servo wedge on the respective track based on servo sync mark detection; and writing the repeatable run-out data to the respective servo wedge at a time delay, from the location of the position in the respective servo wedge, that is inversely proportional to the respective radius, to achieve a predetermined offset.
22. The method of claim 21 further comprising repeating the determining, the locating and the writing for each servo wedge on the respective track of the constant-density magnetic storage medium.
23. The method of claim 22 further comprising repeating, for each respective track at each respective radius of the constant-density magnetic storage medium, the repeating of (a) the determining, (b) the locating, and (c) the writing, for each respective servo wedge on the respective track at the respective radius of the constant-density magnetic storage medium.
24. The method of claim 21 wherein the locating comprises locating a predetermined offset from detection of a servo-sync-mark-found signal.
25. The method of claim 21 wherein determining the track pattern frequency comprises deriving the track pattern frequency from angular velocity of the rotating constant-density magnetic storage medium.
26. The method of claim 21 wherein the locating comprises locating positions at fixed intervals from an initial servo-sync-mark-found signal.
27. The method of claim 26 further comprising: continuing to detect additional servo-sync-mark-found signals following the initial servo-sync-mark-found signal; comparing timestamps of the additional servo-sync-mark-found signals to the fixed intervals from the initial servo-sync-mark-found signal; and recognizing an error condition when the timestamps of the additional servo-sync-mark-found signals differ from the fixed intervals from the initial servo-sync-mark-found signal.
28. The method of claim 26 further comprising matching phase of the repeatable run-out data to phase of servo data in each respective servo wedge.
29. The method of claim 26 further comprising: writing a phase calibration pattern to a repeatable run-out data field prior to writing repeatable run-out data to the repeatable run-out data field; demodulating the phase calibration pattern to determine a phase offset for the repeatable run-out data field; and writing repeatable run-out data to the repeatable run-out data field with a phase adjustment based on the phase offset.
30. The method of claim 29 comprising determining the phase adjustment based on the phase offset by: deriving a trial phase adjustment from the phase offset; applying the trial phase adjustment to the repeatable run-out data to write a trial repeatable run-out pattern; determining a further phase offset from the trial repeatable run-out pattern; and determining a final phase shift by subtracting the further phase offset from the trial phase adjustment.
31. A storage device, comprising: a rotating constant-density storage medium on which servo data is written, the servo data including a repeatable run-out field representing a recurring contribution to position error; and circuitry for writing the repeatable run-out field, the circuitry comprising: a detector configured to detect a servo sync mark and output a servo-sync-mark-found signal; and a controller configured to: locate a position in a respective servo wedge on the respective track based on the servo-sync-mar-found signal; determine a respective track pattern frequency for a respective track being written to at a respective radius of the constant-density magnetic storage medium, based on track location and desired data density; and write the repeatable run-out data to the respective servo wedge at a time delay, from the location of the position in the respective servo wedge, that is inversely proportional to the respective radius, to achieve a predetermined offset.
32. The storage device of claim 31 wherein the controller is further configured to repeat, for each servo wedge on the respective track of the constant-density magnetic storage medium: the determining; the locating; and the writing.
33. The storage device of claim 32 wherein the controller is further configured to repeat, for each respective track at each respective radius of the constant-density magnetic storage medium, (a) the determining, (b) the locating, and (c) the writing, for each respective servo wedge on the respective track at the respective radius of the constant-density magnetic storage medium.
34. The storage device of claim 31 wherein the controller is configured to locate a predetermined offset from the servo sync mark found by the detector.
35. The storage device of claim 31 wherein the controller is configured to determine the track pattern frequency by deriving the track pattern frequency from angular velocity of the rotating constant-density magnetic storage medium.
36. The storage device of claim 31 wherein the controller is configured to locate positions at fixed intervals from an initial servo sync mark that generates an initial servo-sync-mark-found signal.
37. The storage device of claim 36 wherein: the detector is configured to continue to detect additional servo sync marks following the initial servo sync mark, and to output additional servo-sync-mark-found signals; and the controller is configured to: compare timestamps of the additional servo-sync-mark-found signals to the fixed intervals from the initial servo-sync-mark-found signal; and recognize an error condition when the timestamps of the additional servo-sync-mark-found signals differ from the fixed intervals from the initial servo-sync-mark-found signal.
38. The storage device of claim 36 wherein the controller is further configured to match phase of the repeatable run-out data to phase of servo data in each respective servo wedge.
39. The storage device of claim 36 wherein the controller is further configured to: write a phase calibration pattern to a repeatable run-out data field prior to writing repeatable run-out data to the repeatable run-out data field; demodulate the phase calibration pattern to determine a phase offset for the repeatable run-out data field; and write repeatable run-out data to the repeatable run-out data field with a phase adjustment based on the phase offset.
40. The storage device of claim 39 wherein the controller is configured to determine the phase adjustment based on the phase offset by: deriving a trial phase adjustment from the phase offset; applying the trial phase adjustment to the repeatable run-out data to write a trial repeatable run-out pattern; determining a further phase offset from the trial repeatable run-out pattern; and determining a final phase shift by subtracting the further phase offset from the trial phase adjustment.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Further features of the disclosure, its nature and various advantages, will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
DETAILED DESCRIPTION
[0043]
[0044] Read/write head assembly 120 includes an actuator 121 that bears arms 122-125, one of which is disposed adjacent to each surface 111, 112 of a platter 101, 102, 103 that has a memory storage coating 110. In this example, with heads on both surfaces of each of arms 123, 124, that amounts to four arms 122-125, but in the single-sided platter example discussed above, there would be only three arms. In other examples, the number of arms would increase or decrease along with the number of platters.
[0045] Each arm 122-125 bears, at or near its end furthest from actuator 121, and on both its upper and lower surfaces in the case of arms 123, 124, a plurality of read heads/sensors and write heads. In this case, two sensors 131, 132 are shown, and may represent, respectively, read and write sensors, although it in some applications each arm 123, 124 may bear more than one read head/sensor and more than one write head (not shown). In the configuration shown in
[0046] A motor 126, commonly referred to as a “voice-coil motor,” rotates actuator 121 back and forth along the directions of arrow B (
[0047] The location on surface 111 of platter 101 (the other surfaces are similar) of the aforementioned wedges is shown in
[0048] Each of read heads 131, 132 is connected to a read channel 301 of a hard drive controller 300 (there is a corresponding write channel 302) (
[0049] Servo wedge data can include a repeatable run-out field, providing information regarding any persistent recurring source of potential position error. For example, in a disk drive, physical imperfections of the platter may result in a vibration, occurring once each revolution, that may disrupt the head position. U.S. Pat. Nos. 7,400,464 and 7,773,328, each of which is hereby incorporated by reference herein in its respective entirety, describe the synchronous writing and reading, respectively, of RRO fields in servo wedges in non-constant-density implementations.
[0050] In a non-constant-density implementation, the frequency is the same for each track, based on the angular velocity of the disk drive platter. Thus, there is only one frequency of concern in the system. Similarly, in a zoned-density implementation, there is a different frequency for each zone, but each track within a zone shares the same frequency. On the other hand, in a constant-density implementation, such as that described in U.S. Pat. No. 10,971,187, which is hereby incorporated by reference herein in its entirety, the frequency increases as the radius increases and may be different for every track. Specifically, although the disk drive platter has a single angular velocity, writing occurs at a higher frequency for tracks closer to the outer diameter, which have a greater circumference than tracks closer to the inner diameter, so that more data is written per unit angle to maintain a constant data density per unit of track length.
[0051] Indeed, the writing pattern frequency may be different for every track. Moreover, the read and write heads are in different locations on the actuator arm. So to the extent that writing of the RRO field is triggered by detection of a servo sync mark (SSM), the frequency may not even be derivable directly from the SSM detection, because the read head may be at a different radial position than the write head and therefore may be over a different track with a different frequency. In addition, the read head is at a different angular position than the write head and therefore may detect the SSM at a time slightly before or after the time that the write head is in the appropriate place for writing of the RRO field.
[0052] Even for the same track, movement of the read and write heads relative to the servo wedge may occur at a frequency derived from a physical source (e.g., a phase-locked loop) while the frequency of the data pattern written to or read from the track may be a frequency interpolated from a physical frequency. Thus, there may be as many as four frequencies involved with any RRO write operation—the frequencies of the read head and the write head, and the interpolated frequencies of the data on the tracks being read and written. Moreover, different ones of the four frequencies may come from two different time domains (a servo function generator, or SFG, domain, and a time-base generator, or TBG, domain) which may derive from different physical sources and may not be synchronized.
[0053] When writing to a particular track, the correct frequencies for the write operation may be determined in accordance with implementations of the subject matter of this disclosure. In particular, while most of the servo data in servo wedges are written using, e.g., a self-servo write technique at the time of disk manufacture, RRO data is written to the servo wedges after the servo wedges are already in place. While the write pattern frequency may be determined by the radial location of the track which dictates the rate at which the data pattern is written to achieve the desired density, the servo pattern frequency, which dictates when and how often the RRO data is written to the track, may be determined in accordance with implementations of the subject matter of this disclosure.
[0054] According to some first implementations of the subject matter of this disclosure, and as described in more detail below, RRO data is written to a track at a predetermined offset from the detection of each servo sync mark (i.e., from the occurrence of a servo-sync-mark-found, or SSMF, signal). The offset accounts for the location of the RRO field in the servo wedge (usually at the end, after the remaining servo data), as well as for the difference in location (both radially and circumferentially) between, on the one hand, the write head, and, on the other hand, the read head that detects the SSMF signal that triggers the write operation.
[0055] The location of the RRO field in the servo wedge will generally be at about the same linear distance, measured along the current track, from the beginning of the servo wedge, and may be determined by a time delay, from the detected location of the respective servo wedge, that is inversely proportional to the respective radius of the current track. That is, for tracks with a smaller radius (i.e., closer to the inner edge of the disk platter), the linear velocity will be lower than the linear velocity at a larger radius (i.e., closer to the outer edge of the disk platter). Therefore, the time delay to achieve a uniform linear distance will be smaller for a larger radius and larger for a smaller radius.
[0056] Insofar as both the write pattern frequency and the servo pattern frequency may ultimately be derived from the angular velocity of the disk platter, those frequencies may be updated periodically (e.g., at each servo wedge) using known techniques such as Disk Synchronous Write (DSW) to maintain a lock to the disk platter rotation.
[0057] According to some second implementations of the subject matter of this disclosure, and as described in more detail below, RRO data is written to a track at fixed intervals from a first detection of the SSMF signal, based on the expected time interval between servo wedges at the track of interest as a function of the disk platter rotation. Even though SSMF detection is used only once for writing purposes, the timestamp of each occurrence of SSMF continues to be measured and the interval between that timestamp and the timestamp of a known recurring event within the servo wedge is determined for each servo wedge. If that interval is not constant from one servo wedge to the next, then an error is indicated and appropriate corrective action, which may include aborting the RRO write operation, may be taken.
[0058] As in the case of the first implementations, in these second implementations frequencies may be updated periodically (e.g., at each servo wedge) to maintain a lock to the disk platter rotation. However, in these second implementations, an alternate implementation of a DSW technique may be used for the frequency updates. Specifically, while typical DSW techniques measure the interval from one servo sync mark (SSM) to the next and look for deviation of each interval from an expected interval, in an alternate implementation according to the subject matter of this disclosure, a DSW technique may be used in which the location of each SSM is compared to its expected location based on the location of an initial SSM, the expected interval between adjacent SSMs, and the number of intervals between the current SSM and the initial SSM. Thus, while a typical DSW technique notes an error only when the current interval is not the expected interval, the DSW technique according to implementations of the subject matter of this disclosure may note an error if the current SSM is not in its expected location even if it is at the expected interval from the previous SSM. The DSW technique according to implementations of the subject matter of this disclosure thus compensates for accumulated drift, even if the drift from each SSM to the next is too slow to be detected.
[0059] The first and second implementations discussed above may be described as asynchronous. That is, while they attempt to match the RRO write frequency to the servo frequency, they do not attempt to match the phase of the servo pattern. However, some third implementations of the subject matter of this disclosure, which may be described as synchronous, also attempt to match the phase of the RRO write pattern to the phase of the servo pattern.
[0060] According to those third implementations, a technique such as one of the second implementations may be used to set the RRO frequency, as described in more detail below. Before any actual RRO data is written, a phase calibration pattern may be written to each RRO field. The phase calibration pattern may then be demodulated to determine a phase offset for the RRO field of each wedge. The RRO data may be written according to one of the second implementations described above, with the RRO data for each wedge being delayed, or otherwise phase-adjusted, as described in more detail below.
[0061] The subject matter of this disclosure may be better understood by reference to
[0062] The aforementioned first implementations may be understood by reference to
[0063] In
[0064] An additional counter, NWCNTR (not shown), counts the number of wedges (i.e., increments by ‘1’ each time a servo wedge is detected), optionally resetting when an adjustable limit, such as the maximum number of servo wedges on the disk, is reached. For n servo wedges, NWCNTR would count from 0 to n−1.
[0065] Waveform or signal 403 (RROW) shows when RRO write events occur.
[0066] In the situation shown in
[0067] As noted above, in these first implementations, WCNTR 402 resets, and RRO write events 413, 423 and 433 occur, whenever a servo sync mark is detected. Therefore, as shown in
[0068] In order to prevent the missed RRO write event that occurs in the first implementations shown in
[0069] The second implementations described above may be implemented as an extension of the variant shown in
[0070] As seen in more detail in
[0071] As in the case of
[0072] The time difference 713 may be measured between each servo sync mark detection event 811, 821, 831, etc., and the resulting write counter reset 812, 822, 832, etc. If the difference is not constant from one pair of SSM detection/WCNTR reset events to the next, corrective action may be taken. Corrective action may include adjusting the timing of the RRO write events or the disk rotation, but the simplest corrective action may be to abort and restart the RRO write operation for the current track (or for the disk as a whole).
[0073] Because of the importance of timing in these second implementations, control of the disk rotational frequency (disk synchronous write, or DSW, control) also is important. Typical DSW control measures the intervals between successive servo sync marks and uses feedback to control, e.g., a phased-lock loop to maintain constant disk rotational frequency. Because such a typical DSW approach looks only at the interval between the current servo sync mark and the immediately preceding servo sync mark, and only makes a correction when the interval deviates from the expected interval by more than a predetermined threshold, small errors—each too small by itself to meet the threshold for correction—can accumulate, but will never be detected.
[0074] Therefore, in accordance with implementations of the subject matter of this disclosure, an improved DSW control technique compares the time of detection of the current servo sync mark not to the previous servo sync mark, but to the expected time of occurrence of the current servo sync mark, based on the time of occurrence of the initial servo sync mark when the system is initialized, the expected interval between successive servo sync marks, and the number of intervals that have passed since the initial servo sync mark. According to such a technique, once one servo sync mark is detected at a time other than the expected time, each subsequent servo sync mark—even if each is detected at precisely the expected interval from the previous sync mark—will deviate from its expected time by that same amount. And if multiple servo sync marks deviate from the expected interval by a small amount (below the detection threshold of the typical technique described above), then eventually the accumulated error will be detected, and corrective action—e.g., adjusting the time base generator such as a phase-locked loop, or adjusting the disk angular velocity, or both—can be taken.
[0075] The difference between a typical DSW technique and the DSW technique just described (“New DSW”) may be seen in the table in
[0076] Row 904 shows the target SSMF timestamps based on that initial SSMF at t=1000. With a target interval of 1000 time units, the target timestamps for the second through seventeenth wedges are 2000, 3000, 4000, . . . , 17000. As seen on row 901, the actual timestamps for the second through seventeenth wedges are 2000.5, 3000.5, 4001, 5001, 6001, 7001.5, 8001.5, 9001.5, 10001.5, 11002, 12002, 13002, 14002, 15002, 16002 and 17002.
[0077] Rows 902 and 903 show how these discrepancies would be treated using a typical DSW technique. As shown on row 902, SSMF for the third, fifth, sixth, eighth, ninth, tenth and twelfth through seventeenth occurred at the expected interval of 1000 time units from the respective previous SSMF. Only for the second, fourth, seventh and eleventh wedges did each SSMF at an interval other than 1000 time units from the respective previous SSMF; in this example, SSMF for each of the second, fourth, seventh and eleventh wedges occurred at 1000.5 time units from the respective previous SSMF, which is a deviation for each of those wedges of 0.5 time units. According to a typical DSW technique, those deviations might be below a threshold of detection so that no corrective action would be taken, allowing errors on subsequent wedges to accumulate to 2 time units from their expected times (not detected at 903 but seen in the DSW technique just described (New DSW) at 905.
[0078] The DSW technique just described (New DSW) may be used in conjunction with the foregoing second implementations. This DSW technique also may be used with the foregoing first implementations. However, use of this DSW technique would not result in detectable improvement in the first implementations, because in the first implementations, each wedge is detected by its own servo sync mark, rather than by a time interval from an initial servo sync mark.
[0079] As noted above, the first implementations described in connection with
[0080] According to those third implementations, a technique such as one of the second implementations may be used to set the RRO frequency, as described in connection with
[0081]
[0082] In some implementations, written pattern 1001 is modulated in units of servo symbols, or “DiBits,” which may be scaled by the number, BitSize, of physical write clock cycles required for 1 channel bit on the current track. In some implementations, the scaling factor is 4. Thus, if the unscaled value of T.sub.shift 1004 is T.sub.shift=(1−PH), then a trial scaled value of T.sub.shift would be T.sub.shift=(1−PH)×BitSize×4. The shift may be achieved by applying an integer number, WCNTR_OFFSET 1014, of wedge counter units to the wedge counter WCNTR, and then applying a phase remainder 1024:
T.sub.shift=(1−PH)×BitSize×4
WCNTR_OFFSET=div(T.sub.shift,4)
Phase_remainder_1=mod(T.sub.shift,4)
The phase remainder 1024 may be applied, for example, as a start phase offset, while WCNTR_OFFSET 1014 may be applied by increasing the counter target of the write counter WCNTR (i.e., the value at which WCNTR resets).
[0083] Typically, the calibration pattern is not written to the final location of the RRO pattern, because it may not be possible to precisely overwrite the calibration pattern with the final pattern, which may leave residual noise. Therefore, after the trial RRO pattern has been written, the written trial RRO pattern is examined for location offset, which will be an integer number, DBOffset, of DiBits required to shift the written trial RRO pattern to its desired location in the servo wedge.
[0084] Once DBOffset has been determined, it is broken down, like T.sub.shift, into an integer number of WCNTR_OFFSET units and a phase remainder:
Offset=DBOffset×BitSize−-Phase remainder_1
WCNTR_OFFSET=ceil.sub.4(Offset)
Phase_remainder_2=WCNTR_OFFSET−Offset
where ceil.sub.4(Offset) is the smallest multiple of 4 that is equal to or greater than Offset (i.e., ceil.sub.4(Offset)=Offset if Offset is a multiple of 4, while if Offset is not a multiple of 4, ceil.sub.4(Offset) is the smallest multiple of 4 that is greater than Offset).
[0085] In the third implementations, these phase adjustment determinations of T.sub.shift and DBOffset—each in two components, one of which is a wedge counter adjustment and one of which is a phase remainder—are performed for every servo wedge on every track. Determinations of when to write the RRO field for each wedge on each track are then made according to the second implementations, but before the actual writing of RRO data to any particular wedge, the phase adjustment T.sub.shift−DBOffset, broken into its WCNTR_OFFSET and remainder components, is applied to the particular RRO write operation.
[0086] Methods of writing RRO patterns according to the various implementations described above are diagrammed in
[0087] Method 1100 according to some of the first implementations described above is diagrammed in
[0088] Method 1200 according to some of the second implementations described above is diagrammed in
[0089] At 1202, the target value of WCNTR is set to a target wedge-to-wedge interval. At 1203, a first servo sync mark is found, and WCNTR is reset. At 1204, a first RRO write event is triggered at a predetermined time after the reset of WCNTR, to account for the location of the RRO field in the wedge, as well as to account for position differences between the READ head that finds the initial servo sync mark and the WRITE head that performs the RRO write operation. At 1205, the RRO write operation is carried out at a pattern frequency derived from the frequency that was set at 1201. At 1206, subsequent WCNTR resets and corresponding RRO write operations are triggered based on the target wedge-to-wedge interval from the previous WCNTR reset.
[0090] At 1207, servo sync marks continue to be detected (even though they are not used to trigger WCNTR resets), and the difference between the time stamp of each servo-sync-mark-found event, and the time stamp of its corresponding subsequent timer-based WCNTR reset event, is measured. Each time stamp difference is compared at 1208 to the previous time stamp difference. If at 1208 the current time stamp difference is not the same as the previous time stamp difference, then at 1209 corrective action (which may include aborting and restarting the RRO write operation) is taken.
[0091] If at 1208 the current time stamp difference is the same as the previous time stamp difference, then flow continues to 1210 where the frequency is adjusted to maintain the occurrence of each servo-sync-mark-found event at an expected time, as described above in connection with
[0092] The foregoing portions of method 1200 are repeated at 1211 for each wedge in the current track until the track is completed. The method then moves on to the next track until all tracks are completed.
[0093] Method 1300 according to some of the third implementations described above is diagrammed in
[0094] Thus it is seen that a method and apparatus for controlling the timing when writing an RRO field in a particular track of a constant-density servo wedge have been provided.
[0095] As used herein and in the claims which follow, the construction “one of A and B” shall mean “A or B.”
[0096] It is noted that the foregoing is only illustrative of the principles of the invention, and that the invention can be practiced by other than the described embodiments, which are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.