Writing spirals with accurate slope on a disk drive media

A reference spiral is written on a recording surface of a magnetic storage disk that is free of position or timing information. The reference spirals are written on the recording surface with a substantially uniform slope by using open loop control of the position of a read/write head in conjunction with an iterative learning control scheme. A voltage profile applied to a voice coil motor is adapted over multiple iterations of moving the read/write head across the recording surface to closely approximate a target voltage profile, and the reference spiral is written using the adapted voltage profile. In addition, ramp contact detection based on actuator current profile may be employed to achieve full utilization of available actuator stroke.

BACKGROUND

In a typical hard disk drive (HDD), servo sectors on the disk are used to provide position information about the location of a magnetic head over a disk surface. A common approach for writing such servo information on the disk is referred to as spiral-based self servo writing, or spiral-based SSW. According to this approach, spiral-shaped positioning signals (or “servo spirals”) are written on the disk surface prior to the SSW process. During the SSW process, each magnetic head of the HDD is positioned relative to a disk surface based on the servo spirals, so that the final servo information on each disk surface can be written by the disk drive heads.

For an error-free and robust SSW process, the servo spirals used should be precisely written on the disk surface with a predetermined and constant slope. Such servo spirals may be written on the disk surface with an external media writer before assembly of the disk drive, or with a servo writing machine that uses an external precision actuator to position the disk drive actuator with a mechanical push pin through an opening in the disk drive housing. In either case, setup and use of such external equipment for each individual HDD is time-consuming and expensive in the context of high-volume manufacturing. Accordingly, there is a need in the art for a method of generating servo spirals on a disk surface of an HDD without the use of external equipment.

SUMMARY

One or more embodiments provide systems and methods for in-drive writing of servo spirals on a disk surface of a hard disk drive. An iterative learning control scheme is applied to perform open-loop control on a magnetic head actuator in the hard disk drive to ensure uniform and constant spiral slope across the stroke of the actuator. In addition, ramp contact detection based on actuator current profile may be employed to achieve full utilization of available actuator stroke.

A method of writing a servo spiral on a recording surface of a magnetic storage disk, according to an embodiment, includes the steps of controlling a write head according to a first velocity profile using open-loop control to move the write head from an inner diameter of the recording surface to an outer diameter of the recording surface, measuring a second velocity profile of the write head while the write head is moved from the inner diameter to the outer diameter, adjusting control parameters of the open-loop control to move the write head from the inner diameter of the recording surface to the outer diameter of the recording surface according to the second velocity profile, and writing a servo spiral on the recording surface as the write head is moved from the inner diameter of the recording surface to the outer diameter of the recording surface according to the adjusted control parameters.

A data storage device, according to another embodiment, comprises a data storage disk with a recording surface and a controller. The controller is configured to, control a write head according to a first velocity profile using open-loop control to move the write head from an inner diameter of the recording surface to an outer diameter of the recording surface, measure a second velocity profile of the write head while the write head is moved from the inner diameter to the outer diameter, adjust control parameters of the open-loop control to move the write head from the inner diameter of the recording surface to the outer diameter of the recording surface according to the second velocity profile, and write a servo spiral on the recording surface as the write head is moved from the inner diameter of the recording surface to the outer diameter of the recording surface according to the adjusted control parameters.

DETAILED DESCRIPTION

FIG. 1is a schematic view of an exemplary hard disk drive, according to one embodiment. For clarity, hard disk drive (HDD)100is illustrated without a top cover. HDD100includes at least one storage disk110that is rotated by a spindle motor114and includes a plurality of concentric data storage tracks are disposed on a surface112of storage disk110. Spindle motor114is mounted on a base plate116. An actuator arm assembly120is also mounted on base plate116, and has a slider121mounted on a flexure arm122with a magnetic read/write head127that reads data from and writes data to the data storage tracks. Flexure arm122is attached to an actuator arm124that rotates about a bearing assembly126. Voice coil motor128moves slider121relative to storage disk110, thereby positioning read/write head127over a desired concentric data storage track. Spindle motor114, read/write head127, and voice coil motor128are coupled to electronic circuits130, which are mounted on a printed circuit board132.

Electronic circuits130include a read channel137, a microprocessor-based controller133, random-access memory (RAM)134(which may be a dynamic RAM and is used as a data buffer) and/or a flash memory device135and a flash manager device136. In some embodiments, read channel137and microprocessor-based controller133are included in a single chip, such as a system-on-chip131. In some embodiments, HDD100may further include a motor-driver chip that accepts commands from microprocessor-based controller133and drives both spindle motor114and voice coil motor128. Read/write channel137communicates with the read/write head127via a preamplifier (not shown) that may be mounted on a flex-cable that is itself mounted on either base plate116, actuator arm120, or both.

HDD100also includes an inner diameter (ID) crash stop129and a load/unload ramp123. ID crash stop129is configured to restrict motion of actuator arm assembly120to preclude damage to read/write head127and/or storage disk110. Load/unload ramp123is typically disposed proximate the outer diameter (OD) of storage disk110and is configured to unload read/write head127from storage disk110. Typically, at the beginning of a self servo writing (SSW) process, actuator arm assembly120is pushed against ID crash stop129, so that ID crash stop129may serve as a position reference at the start of the SSW process.

For clarity, HDD100is illustrated with a single storage disk110and a single actuator arm assembly120. HDD100may also include multiple storage disks and multiple actuator arm assemblies. In addition, each side of storage disk110may have a corresponding read/write head associated therewith and coupled to a flexure arm.

When data are transferred to or from storage disk110, actuator arm assembly120sweeps an arc between the ID and the OD of storage disk110. Actuator arm assembly120accelerates in one angular direction when current is passed in one direction through the voice coil of voice coil motor128and accelerates in an opposite direction when the current is reversed, thereby allowing control of the position of actuator arm assembly120and attached read/write head127with respect to storage disk110. Voice coil motor128is coupled with a servo system known in the art that uses the positioning data read from servo wedges on storage disk110by read/write head127to determine the position of read/write head127over a specific data storage track. The servo system determines an appropriate current to drive through the voice coil of voice coil motor128, and drives said current using a current driver and associated circuitry.

In order for HDD100to perform SSW, position and timing information are provided to the disk drive servo system of HDD100so that HDD100can write servo wedges onto storage disk110with the necessary precision for proper operation of HDD100. Servo wedges generally contain servo information that is located in servo sectors of the concentric data storage tracks on storage disk110and is read by the read/write head127during read and write operations to position the read/write head127above a desired data storage track. The position and timing information that enable the internal servo system of HDD100to perform SSW is typically in the form of reference spiral tracks or “servo spirals” written on storage disk110. One embodiment of servo spirals is illustrated inFIG. 2.

FIG. 2illustrates storage disk110prior to undergoing a SSW process, according to one embodiment. As shown, storage disk110has a plurality of bootstrap spirals210written thereon that are circumferentially spaced from adjacent bootstrap spirals210. In the embodiment illustrated inFIG. 2, bootstrap spirals210are servo spirals that are written onto a substantially blank surface112of storage disk110using read/write head127and the servo system of HDD100. Because surface112does not include timing or position information when bootstrap spirals210are written onto surface112, bootstrap spirals210are written with the servo system of HDD100using open-loop control, in which current position information is not fed back to the servo system of HDD100.

According to some embodiments, bootstrap spirals210are employed as coarse guide spirals that enable the generation of fine guide spirals (not shown) using closed-loop control in the servo system of HDD100. That is, fine guide spirals can be written while the servo system of HDD100uses closed-loop tracking of the coarse guide spirals. Fine guide spirals are more closely spaced and accurately positioned servo spirals than bootstrap spirals210, and may be used for the SSW process or to generate a larger number of servo spirals (e.g., on the order of several hundred) that are used for the SSW process. It is noted that the number of bootstrap spirals210written on storage disk110prior to the SSW process may be larger than that shown inFIG. 2, for example 10, 20, 30, or more.

During the SSW process, the servo system of HDD100uses the timing and position information provided by the above-described fine guide spirals to servo precisely over a radial position on storage disk110corresponding to a particular concentric data storage track. Thus, while the read head of HDD100is used to read position and timing information from bootstrap spirals210, the write head of HDD100is used to write servo wedges for the radial position on storage disk110, i.e., for the particular data storage track of storage disk110.

FIG. 3is a schematic illustration of a portion300of storage disk110indicated inFIG. 2prior to undergoing a SSW process. As shown, a plurality of bootstrap spirals210are formed on storage disk110. Displacement along the x-axis inFIG. 3is displayed in terms of angular displacement, such as radians or degrees. Consequently, in the ideal case in which each of bootstrap spirals210is written to storage disk110with the same constant and uniform slope220, bootstrap spirals210can be assumed to be circumferentially separated from each other by a substantially uniform angular separation R at any radial location on storage disk110, and bootstrap spirals210can be depicted as parallel lines inFIG. 3. Thus, assuming a constant rotational velocity for storage disk110, when read/write head127is positioned at any particular radial location, a time required for read/write head127to travel from one to another of bootstrap spirals210is always a constant time interval.

In some embodiments, slope220at a specific location on or portion of bootstrap spiral210may be defined as the ratio of a circumferential angular displacement201to a radial linear displacement202of the bootstrap spiral210at the specific portion or location. In other embodiments, slope220at the specific location or portion may be defined as the ratio of radial linear displacement202to circumferential angular displacement201. Furthermore, any other applicable definition of “slope” or “gradient” may be used to quantify slope220at a specific location on or portion of a bootstrap spiral210.

According to some embodiments, bootstrap spirals210are written on surface112with a substantially uniform slope220by using open loop control of the position of read/write head127in conjunction with an iterative learning control scheme. Specifically, read/write head127is moved in one stroke iteration from one edge of surface112to the opposite edge of surface112for multiple iterations using open loop control (for example, from the ID of surface112to the OD of surface112). That is, read/write head127is moved from one edge of surface112to the opposite edge of surface112by the application of voltage (or alternatively, current) to voice coil motor128, according to a particular predetermined voltage (or current) profile. Concurrently, an actual velocity profile of read/write head127is measured for the stroke iteration by monitoring the back electromotive force (EMF) generated by voice coil motor128. An iterative learning control scheme then compares the measured velocity profile of read/write head127for the stroke iteration to a target velocity profile, and modifies the predetermined voltage (or current) profile to be applied to voice coil motor128for the next stroke iteration accordingly.

FIG. 4illustrates a target velocity profile401for read/write head127as read/write head127moves across surface112and writes one of bootstrap spirals210inFIG. 3, according to one embodiment. As shown, target velocity profile401indicates a constant velocity, i.e., target velocity VTARGET. When read/write head127is moved across surface112at an average velocity that is substantially equal to VTARGET, read/write head127arrives at unload ramp123(located at the OD of storage disk110) at a target time TTARGET. Thus, by writing one of bootstrap spirals210as read/write head127is moved radially across surface112according to target velocity profile401, the bootstrap spiral210so written will extend from the ID of storage disk110to the unload ramp123of storage disk110with a constant slope220, as shown inFIG. 3. It is noted that the less that the radial velocity of read/write head127varies from VTARGETwhile writing the bootstrap spiral210, the less that slope220varies from a constant value.

It is noted that simply applying constant voltage to voltage coil motor128will not result in read/write head127moving across surface112with a constant velocity profile that sufficiently approximates target velocity profile401. This is due to drive-to-drive manufacturing variations as well as variations in different factors across the stroke of actuator arm assembly120, such as the torque constant of voice coil motor128and aerodynamic resistance (“windage force”) against actuator arm assembly120and read/write head127. Instead, a voltage (or current) profile for generating a velocity profile for the radial movement of read/write head127that approximates target velocity profile401is determined over multiple iterations, via an iterative learning control (ILC) scheme. One embodiment of such an ILC is illustrated inFIG. 5.

FIG. 5is a simplified control system block diagram illustrating an ILC scheme500, according to some embodiments. For one stroke iteration of moving read/write head127from one edge of surface112to an opposite edge (for example from the ID of surface112to the OD of surface112), ILC500repeatedly operates over a series of predefined time intervals (“time steps”). During each such time step, read/write head127moves an incremental portion of the stroke across surface112. Thus, in some embodiments, for each time step that read/write head127moves across surface112, ILC500is employed as a discrete process: providing an input (voltage for the time step); receiving an output (measured velocity of read/write head during the time step); and generating an error signal (difference between the measured velocity and a target velocity for that time step). In some embodiments, for each time step ILC500may also include: adapting the original input for the time step based on the error signal and storing the adapted input (modified voltage for the time step) for use in the next iteration of moving read/write head127from the ID to the OD of surface112. In other embodiments, ILC500may perform the steps of adapting the original input and storing the adapted input for all time steps after completion of the entire stroke iteration.

ILC scheme500includes an actuator510, a summer/subtracter520, an adaptation algorithm530, and a voltage (or current) profile table540. Actuator510represents actuator arm assembly120and voice coil motor128of HDD100inFIG. 1, summer/subtracter520generates an error signal for a current time step, adaptation algorithm530modifies the stored input value for the current time step, and voltage profile table540stores the modified input value for the current time step.

In operation, actuator510receives an input u that is a voltage stored in voltage profile table540and responds accordingly by moving read/write head127at a corresponding radial velocity. Summer/subtracter520receives an output v, the measured radial velocity of read/write head127, and generates an error signal e, the difference between output v and a target radial velocity r. In some embodiments, output v is measured using back EMF generated by voice coil motor128. Based on error signal e, adaptation algorithm530adapts the input u stored in voltage profile table540for the current time step, so that in the next stroke iteration of moving read/write head127an improved velocity profile results. Taken together, the stored values of input u for each time step form a complete voltage profile that causes read/write head127to move with a specific radial velocity profile. It is noted that u, v, r, and e are not signals associated with continuous closed-loop feedback, but instead represent a discrete signal for each time step during the movement of read/write head127across surface112.

In some embodiments, adaptation algorithm530is configured to adjust input u for all time steps upon completion of one “stroke iteration,” i.e., the complete movement of read/write head127from the ID to the OD or vice versa. Thus, the voltage profile stored in voltage profile table540is determined as a whole. In such embodiments, adaptation algorithm530may adjust the “AC” and “DC” portion of the voltage/current profile separately. Correction of the AC portion (i.e. the ID-OD variation of the voltage) ensures that in the next stroke iteration, actuator arm assembly120will move at a more constant velocity across the stroke than the previous stroke iteration, and variation from VTARGETis reduced. In this way, spiral slope220is improved with each stroke iteration by becoming more constant across the stroke. Correction of the DC portion (i.e. the average voltage across the stroke) ensures that, in the next stroke iteration, actuator arm assembly120will move at an average velocity across the stroke that is closer to VTARGETthan the previous iteration, so that read/write head127reaches unload ramp123closer to TTARGETthan in previous stroke iterations. To that end, adaptation algorithm530may include a filtering process prior to and/or after correcting the AC and DC portions of the voltage profile stored in voltage profile table540. Furthermore, adaptation algorithm530may include any other suitable iterative learning control schemes known in the art for adjusting the AC and DC portions of the voltage profile applied to voice coil motor128.

Generally, ILC scheme500continues performing the above-described stroke iterations and associated modifications to the voltage profile stored in voltage profile table540until one or more convergence criteria are met. For example, in some embodiments, logic associated with ILC scheme500compares the measured velocity profile with a desired velocity profile, e.g., target velocity profile401inFIG. 4. If a measured difference between the measured velocity profile and the desired velocity profile is less than a threshold difference, convergence is indicated and ILC scheme500stops.

The measured difference may be based on one or multiple criteria. For example, in some embodiments, the difference is based at least in part on a difference between an average velocity associated with the measured velocity profile and a target average velocity (e.g., target velocity VTARGETinFIG. 4). The average velocity associated with the measured velocity profile may be an average of the complete stroke from ID to OD, or of a particular portion of the stroke, such as the stroke from ID to unload ramp123. In some embodiments, the difference is based at least in part on a velocity deviation of the measured velocity profile from the target velocity profile. For example, when all of the measured velocity profile (or a predetermined portion of the measured velocity profile) falls within a maximum velocity deviation from the target velocity profile, convergence is indicated and ILC scheme500stops. In such embodiments, individual time steps of the measured velocity profile may be used to calculate deviation from corresponding individual time steps of the target velocity profile. In some embodiments, the difference is based at least in part on a maximum time deviation of the measured velocity profile from a target time (such as target time TTARGETinFIG. 4). Thus, when a measured velocity profile results in read/write head127reaching unload ramp123at a time that is within the maximum time deviation, convergence is indicated and ILC scheme500stops. In some embodiments, a combination of two or more of the above criteria must be met before convergence is indicated and ILC scheme500stops.

The time steps employed by ILC scheme500may be of any suitable duration. In some embodiments, the time steps are generally very short in duration relative to the time required to move read/write head127from the ID to the OD (or vice versa) of surface112; shorter time steps increase computation times but improve accuracy of the final velocity profile generated by ILC scheme500. For example, in some embodiments, each time step has a duration of a few hundred micro seconds. In some embodiments, all time steps employed by ILC scheme500are of equal duration, whereas in other embodiments, one or more groups of the time steps may have a different duration than other time steps.

FIG. 6illustrates a target velocity profile401for read/write head127and multiple measured velocity profiles601-603for read/write head127, according to one embodiment. Target velocity profile401is described above in conjunction withFIG. 4. Each of measured velocity profiles601-603depicts the velocity measured for one stroke iteration of read/write head127moving across surface112. The velocity at each time step of a particular iteration may be measured by monitoring back EMF voltage of voice coil motor128. InFIG. 6, each of measured velocity profiles601-603is depicted as a continuous curve, but in practice each measured velocity profile is composed of a plurality of discrete points—one point for each time step of that particular stroke iteration of read/write head127.FIG. 6also illustrates a maximum velocity deviation610and a maximum time deviation620.

Measured velocity profile601illustrates the measured velocity for a first stroke iteration of moving read/write head127across surface112in response to a particular voltage profile being applied to voice coil motor128. In some embodiments, the first voltage profile may simply be a constant voltage known to cause voice coil motor to move read/write head127at a radial velocity that roughly approximates target velocity VTARGET. In other embodiments, the first voltage profile may be a voltage profile based on the final voltage profile determined for an HDD that is substantially similar to HDD100, or on an average of such final voltage profiles for a plurality of such HDDs. Thus, previously determined voltage profiles for similar HDDs may be employed as an initial “best guess” that may reduce the total number of stroke iterations for convergence of ILC scheme500. A ramp contact time T1is associated with measured velocity profile601and indicates the time required for read/write head127to contact unload ramp123when moved according to measured velocity profile601. As shown, ramp contact time T1is substantially greater than (or in other situations significantly less than) target time TTARGET.

Measured velocity profile602illustrates the measured velocity for the 25th stroke iteration and measured velocity profile603the measured velocity for the 50th stroke iteration. As shown, as more stroke iterations are performed, the voltage profile stored in voltage profile table540is adapted to move read/write head127with a velocity profile that more closely matches target velocity profile401. The number of iterations required before convergence is indicated may vary based on multiple factors, including the initial voltage profile used to generate measured velocity profile601, the duration of the time steps making up each stroke iteration, the magnitude of maximum velocity deviation610and maximum time deviation620, specific parameters of adaptation algorithm530, and the like. A ramp contact time T25is associated with measured velocity profile602and indicates the time required for read/write head127to contact unload ramp123when moved according to measured velocity profile602. Similarly, a ramp contact time T50is associated with measured velocity profile603and indicates the time required for read/write head127to contact unload ramp123when moved according to measured velocity profile603. As shown, ramp contact times approach target time TTARGETas more stroke iterations are performed.

FIG. 7sets forth a flowchart of method steps for writing a servo spiral on a recording surface of a magnetic storage disk, according to an embodiment. Although the method steps are described in conjunction with HDD100inFIGS. 1-6, persons skilled in the art will understand that the method steps may be performed with other types of systems. The control algorithms for the method steps may reside in microprocessor-based controller133, or, in some embodiments, an external host device that is temporarily coupled to HDD100and used to facilitate the calibration of HDD100. For clarity of description, controller133is assumed to perform said control algorithms for the method steps, although other external control devices can potentially be used in such a role.

In some embodiments, prior to the method steps, HDD100may undergo a warm-up process to minimize or otherwise reduce temperature-based transients in HDD100that may affect the ILC scheme used to determine a voltage profile for writing a servo spiral. In such embodiments, HDD100may operate until such time that thermal equilibrium is reached substantially throughout the drive. Alternatively, HDD100may operate for a shorter time period during which the drive is not at thermal equilibrium when the method steps begin, but is partially warmed up. In such embodiments, the voltage profile determined by ILC scheme will have little or no degradation in accuracy if thermal equilibrium in HDD100is substantially achieved when the final stroke iterations are performed.

As shown, method700begins at step701, when microprocessor-based controller133moves read/write head127from the ID of surface112, for example from ID crash stop129, to the OD of surface112. Read/write head127is moved using open-loop control according to the current voltage profile stored in voltage profile table540. For example, for each of a plurality of predetermined time steps, a voltage taken from the voltage profile and corresponding to that time step is applied for the duration of the time step to voice coil motor128. In addition, write current is not enabled in step701, since the final velocity profile for read/write head127has not yet been determined. Furthermore, in some embodiments, dynamic fly-height control is disabled during step701, so that read/write head127is less likely to be damaged by crashing into surface112of disk110if read/write head127contacts unload ramp123at a suboptimal velocity.

Concurrent with step701, in step702, microprocessor-based controller133measures the velocity profile of read/write head127during step701, for example by monitoring back EMF for each of the plurality of time steps until read/write head127reaches the OD of surface112. In step703, microprocessor-based controller133compares the measured velocity profile constructed in step702to a target velocity profile, e.g., target velocity profile401inFIG. 4, to determine a slope inaccuracy. The slope inaccuracy may be based on one or more quantitative measures, including: a difference between the average slope of the measured velocity profile and the average slope of the target velocity profile; a difference between a ramp contact time associated with the measured velocity profile and a target time; and a velocity deviation of the measured velocity profile from the target velocity profile.

In step704, microprocessor-based controller133determines whether the slope inaccuracy determined in step703is less than a threshold accuracy, such as a maximum allowable time deviation, a maximum allowable velocity deviation, and/or a maximum allowable average slope. If yes, method700proceeds to step705; if no, method700proceeds to step705. In step705, microprocessor-based controller133adjusts control parameters of the open-loop control system based on the error between the measured velocity profile and the target velocity profile. For example, adaptation algorithm530may adjust the AC and DC portions of the voltage profile used to generate the measured velocity profile measured in step702. Method705then proceeds back to steps701and702, in which another stroke iteration is performed.

In step706, in response to the slope inaccuracy determined in step703being less than the threshold accuracy, microprocessor-based controller133moves read/write head127across surface112(for example from ID to OD) according to the most recently determined voltage profile, i.e., the voltage profile used to move read/write head127in step701. In addition, microprocessor-based controller133enables dynamic fly height control and write current, so that read/write head127writes a bootstrap spiral210on storage disk110. In step707, microprocessor-based controller133determines whether a sufficient number of bootstrap spirals210have been written on disk110. If no, method700proceeds back to step706to write an additional bootstrap spiral210; if yes, method700ends.

Thus, method700enables one or more bootstrap spirals210that have constant and uniform slope220to be written on disk110without previously written timing and position information. Appropriate selection of convergence criteria can ensure that the bootstrap spirals210have sufficient accuracy of placement that the servo system of HDD100can subsequently perform closed-loop tracking of these bootstrap spirals210to write servo spirals that are accurate enough for writing servo wedges.

In some embodiments, closed-loop control of the position of read/write head127is used when read/write head127moves onto unload ramp123. In this way, read/write head127can be moved onto unload ramp123at a safe radial velocity, thereby avoiding the possibility of read/write head127being moved onto unload ramp123at a dangerously low velocity, which may occur if open-loop control is used. In such embodiments, read/write head127is initially moved from the ID toward unload ramp123using open-loop control, as described above. At a predetermined switchover point, closed-loop control is initiated, using back EMF voltage as velocity feedback, and read/write head127is moved into contact with and then onto unload ramp123using such closed-loop control. In some embodiments, ramp detection is facilitated by feedback associated with such closed-loop control, as is illustrated inFIG. 8.

FIG. 8illustrates a current profile800that may be used to detect contact with unload ramp123by actuator arm assembly120, according to an embodiment. Current profile800shows back EMF current801generated by voice coil motor128as read/write head127is moved radially across disk110during one stroke iteration. As shown, back EMF current801remains substantially constant as read/write head127is moved from the ID of surface112toward the OD of surface112. At a switchover point802, open-loop control of actuator arm assembly120ends and closed-loop control of actuator assembly120begins, using back EMF voltage as velocity feedback. Read/write head127continues to move radially across disk110at a substantially constant radial velocity, therefore back EMF current801remains substantially constant. However, once actuator arm assembly120contacts unload ramp123at a contact time803, the current generated increases steeply, since more power is applied to voice coil motor128to overcome ramp friction forces and maintain a specific velocity. Thus, the point in time (i.e. contact time803) during the stroke of actuator arm assembly120at which ramp contact occurs is readily detected.

Because open-loop control based on a well-adapted voltage profile can generate a more accurate velocity profile for read/write head127than closed-loop control using back EMF voltage, open-loop control is preferred for writing bootstrap spirals210. In some embodiments, to maximize the portion of the stroke of actuator arm assembly120that is controlled via open-loop control, the point in time at which open-loop control is changed to closed-loop control occurs, i.e., switchover point802, is modified based on the detection of ramp contact as illustrated inFIG. 8. One such embodiment is described in conjunction withFIG. 9.

FIG. 9sets forth a flowchart of method steps for switching between open-loop and closed-loop control of the position of read/write head127during a stroke iteration, according to an embodiment. Although the method steps are described in conjunction with HDD100inFIGS. 1-8, persons skilled in the art will understand that the method steps may be performed with other types of systems. The control algorithms for the method steps may reside in microprocessor-based controller133, or, in some embodiments, an external host device that is temporarily coupled to HDD100and used to facilitate the calibration of HDD100. For clarity of description, controller133is assumed to perform said control algorithms for method900, although other external control devices can potentially be used in such a role.

It is noted that the method steps may be performed as part of step701of method700and result in one complete stroke iteration of read/write head127from ID to OD. Prior to the method steps, a switchover point is calculated and stored. Initially, the switchover point is selected to occur at a location along the stroke of actuator arm assembly120with a significant safety margin from unload ramp123. In this way, the initial positional inaccuracies associated with using open-loop control cannot result in read/write head127being moved onto unload ramp123prior to the switchover point.

As shown, method900begins at step901, when microprocessor-based controller133moves read/write head127from the ID of surface112to the OD of surface112using open-loop control based on a predetermined voltage profile. In step902, microprocessor-based controller133determines whether a switchover point has been reached. If no, method900proceeds back to step901; if yes, method900proceeds to step903. In step903, microprocessor-based controller133switches from open-loop control to closed-loop control of the position of read/write head127. In step904, microprocessor-based controller133continues to move read/write head127toward the OD of surface112using closed-loop control, i.e., using back EMF voltage as a velocity feedback signal. In step905, microprocessor-based controlled133determines whether unload ramp123has been detected. If no, method900proceeds back to step904; if yes, method900proceeds to step906. In step906, microprocessor-based controller133calculates and stores the new switchover point, which is based on the detected location of unload ramp123. The new switchover location can be used in subsequent stroke iterations, and can be used to safely increase the portion of the stroke in which open-loop control is employed. In step907, microprocessor-based controller133continues to move read/write head127toward the OD of surface112. In step908, microprocessor-based controller133determines whether the OD of surface112has been reached. If no, method900proceeds back to step907; if yes, method900ends.

In sum, embodiments described herein provide systems and methods for writing reference spiral on a recording surface of a magnetic storage disk, when the surface is free of position or timing information. Reference spirals are written on the recording surface with a substantially uniform slope by using open loop control of the position of a read/write head in conjunction with an iterative learning control scheme. A voltage profile applied to a voice coil motor is adapted over multiple iterations of moving the read/write head across the recording surface to closely approximate a target voltage profile, and the reference spiral is written using the adapted voltage profile. In addition, ramp contact detection based on actuator current profile may be employed to achieve full utilization of available actuator stroke.