WO1997015047A1 - Disk drive servo system - Google Patents
Disk drive servo system Download PDFInfo
- Publication number
- WO1997015047A1 WO1997015047A1 PCT/US1996/016116 US9616116W WO9715047A1 WO 1997015047 A1 WO1997015047 A1 WO 1997015047A1 US 9616116 W US9616116 W US 9616116W WO 9715047 A1 WO9715047 A1 WO 9715047A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- servo
- disk
- read
- sample
- track
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
- G11B5/58—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
- G11B5/596—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on disks
- G11B5/59605—Circuits
Definitions
- the field of the present invention relates to disk drive systems and, more particularly, to disk drives using prewritten servo information for reading and/or writing data to a disk.
- VCM voice coil motor
- servo systems have been devised to enable the head to stay on track and to ensure the integrity of data read and write operations.
- One type of disk drive servo system is known as a sampled servo system.
- servo information in the form of magnetic burst patterns is prewritten and recorded on the surface of the disk in one or more sectors (sometimes called servo sectors) on each track.
- the servo burst patterns are typically written in equally spaced intervals on the disk.
- two magnetic servo patterns also called “samples” follow each other in close proximity in each servo sector.
- the first magnetic servo pattern lies adjacent to one side of the track centerline
- the second, following magnetic servo pattern lies adjacent to the opposite side of the track centerline.
- the first magnetic servo pattern is sometimes referred to as an "A-burst" and the second magnetic servo pattern as a "B-burst".
- the relative magnitudes of the A-burst and the B-burst indicate the relative alignment of the read/write head with respect to the centerline of the track.
- a servo feedback loop connected to the VCM actuator re ⁇ aligns the read/write head so that it follows the centerline.
- the servo information is read by the read/write head during servo operations at each servo sector and is used to generate position error signals as a function of the misalignment between the head and the disk track centerline.
- the position error signal is provided to a microprocessor which calculates a servo compensation signal to control the disk drive head positioning mechanism.
- this tracking error may result in the overwriting of data information on an adjacent track.
- the erroneous movement exceeds the allowable tolerance and prevents these locations from ever being read from or written to.
- One technique in present use is based on the current, single sample information. This technique is described as follows. To detect a bad sample at sample time k, the servo system predicts a position for sample k at sample k-1 (using any one of several well-known ways to predict the position of a sample) . The servo system then sets a threshold window centered at the predicted position of the sample. If the position of the sample, as measured, falls outside this window, the sample is presumed to be defective and is ignored. If the measured position is within the threshold window, the sample is presumed to be a good sample.
- the present invention comprises in one aspect a disk drive having a means for detecting the location of bad or defective servo samples on a magnetic disk by predicting the potential locations of bad servo samples and comparing servo performance under each prediction scenario.
- a preferred embodiment utilizes a self-learning process whereby the location or locations of bad servo samples are identified, recorded, and compensated for if desired.
- a disturbance is detected during a read or write operation of a disk drive in a conventional manner by locating a large position error signal delta.
- the disk drive then invokes a learning subroutine to locate more precisely the location of the bad servo sample.
- a set of error location vectors are established, one associated with each possible location of the defective servo sample.
- Each element of each error location vector corresponds to a servo sample location for the track on which the disturbance was detected, and has a first boolean value if the location is predicted to be good and a second boolean value if the location is predicted to be bad.
- the track (or relevant portion thereof) is then read for each error location vector, and an indication of system performance is derived for each error location vector according to a predefined performance function.
- the estimation is taken to be correct, and the location of the defective sample is saved. If the performance is worse upon application of the error location vector, then the estimation is taken to be incorrect, and a different error location vector is used.
- the system adjusts for bad servo samples by any of a variety of possible approaches.
- the system may choose to ignore the position error signal information at a known bad servo sample location.
- a compensating position error signal vector is stored in memory, and used to adjust the position error signal read at the bad servo sample location.
- Fig. IA is a representative view of a data track recorded on the surface of a disk showing a typical A/B servo pattern and a track pitch for different size read/write heads.
- Fig. IB is a graph depicting an A/B burst amplitude signal associated with the A/B servo pattern of Fig. IA.
- Fig. IC is a graph depicting an A/B servo feedback waveform associated with the A/B servo pattern of Fig. IA.
- Figs. 2A and 2B are waveform diagrams illustrating mis-identification of bad and good sectors in a conventional servo system.
- Fig. 3A is a diagram of a model of a servo feedback system.
- Figs. 3B-3D are graphs of waveforms associated with the servo feedback system model of Fig. 3A.
- Figs. 4A-4D are diagrams of an exemplary removable 'disk cartridge.
- Fig. 5 is a diagram of a disk showing a breakdown into tracks and sectors.
- Figs. 6A-6C are diagrams of control information formats for particular disk cartridges of three different capacities.
- Fig. 7 is a block diagram of a track following loop for a particular disk drive servo system.
- Fig. 8 is a high level process diagram for a self- learning process in accordance with one embodiment of the present invention.
- Fig. 9 is a block diagram of a servo and spindle control mechanism in a disk drive system.
- Fig. 10 is a flow chart illustrating a self-learning process for identifying and remembering the locations of defective servo sectors.
- Fig. 11 is a flow chart illustrating a process for a servo interrupt routine for, among other things, detecting defective servo samples.
- Fig. 12 is a block diagram of a digital control system for track seeking and other functions in a disk drive system in accordance with one embodiment of the present invention.
- Fig. 13A is a schematic block diagram of a closed loop servo position error correction system
- Fig. 13B is a more detailed schematic block diagram of the Fig. 13A system.
- Figs. 14A-14C are diagrams showing an embedded quadrature servo pattern and various waveforms and features associated therewith.
- Figs. 14D-14E are diagrams showing a preferred quadrature servo pattern and partial track layout.
- Fig. 15 is a circuit block diagram associated with a technique for correction of offset errors in a servo position feedback signal by periodically switching between terminals of an amplifier (e.g., every servo sector) .
- a preferred embodiment of the present invention operates in a system such as described in U.S. Patent Application Ser. No. 08/412,657 filed on March 10, 1995, which application is hereby incorporated by reference as if fully set forth herein.
- FIG. 4A through 4D An exemplary removable disk cartridge 103 is shown in the diagrams of Figs. 4A through 4D.
- Figures 4A and 4B show different oblique views of the removable disk cartridge 103, while Fig. 4C shows a cross-sectional top view of the removable disk cartridge, and Fig. 4D shows a cross-sectional side view thereof.
- the removable disk cartridge 103 comprises a retractable head access door 110 for allowing a read or write head access to a storage medium.
- the removable disk cartridge 103 further comprises an armature plate 111 and an index slot 112.
- a write protect selector 113 may be activated manually to prevent overwriting of existing information on the storage medium. Whether or not the write protect selector 113 is set is preferably indicated by a write protect indicator 114 located in a convenient area of the removable disk cartridge 103.
- the cartridge may bear a cartridge bar code label 115 for identifying the disk or the contents of the disk, and may further bear a cartridge capacity label 116 indicating the maximum storage capacity of the. removable disk cartridge 103.
- removable disk cartridges 103 of various storage capacities may be read by the same disk drive, different capacity cartridges 103 are preferably physically compatible with one another.
- Physical size uniformity among the different capacity cartridges means that the area of magnetic medium available for storage is generally the same for all of the cartridge sizes which are to be compatible with one another.
- it is -therefore usually necessary to decrease the storage space required for individual bits of information.
- FIG. 5 is a top view of a cartridge disk 130 comprising a plurality of concentric tracks 131 for storing data.
- the tracks 131 radiate outward from the center of the disk 130.
- Each track 131 preferably has the same width, although the outer tracks 131 are longer than the inner tracks 131. The greater the track density, the smaller the width of each track 131.
- the disk 130 is also divided into a plurality of sectors 132.
- a sector 132 comprises a roughly pie-shaped area of the disk 130, and thereby includes a plurality of segments 134 of the tracks 131 which it covers.
- the sectors 132 shown in Fig. 5 are adjacent to one another, the sectors 132 need not be contiguous but may be separated by a space. Further, the sectors 132 need not extend from the outer periphery of the disk 130 to the center of the disk 130, thereby covering segments 134 from all of the tracks 131, but instead may cover segments from a defined subset of the tracks 131.
- Each track segment 134 preferably comprises a control region 140 and a data region 141.
- the control region 140 comprises control information according to a specified format which allows the disk drive to locate data and follow a selected track 131.
- control region 140 is pre-written on the disk 130 when manufactured, and is not overwritten by the user.
- the data region 141 comprises space on the magnetic medium available to the user to store information, and may be accessed through read and write operations by the user as desired.
- Exemplary parameters for various capacity disk cartridges according to a preferred disk drive system appear in Table 5-1 (wherein megabytes are abbreviated "MB") .
- track width also known as track pitch
- the number of sectors 132 is also not necessarily constant but may vary depending on storage capacity.
- the number of sectors 132 may also vary depending on the distance from the center of the disk 130.
- a disk 130 may be divided into a plurality of zones (e.g., two zones) .
- a first plurality of sectors e.g., 53 sectors
- a second plurality of sectors e.g., 74 sectors
- control information in the control region 140 may differ for each capacity of cartridge 103 as well.
- Control information formats for each of a preferred 44 MB, 88 MB and 200 MB disk cartridge 103 are depicted in Figs. 6A-6C, ' respectively.
- Figure 6A shows a format for control information in a control region 140 for a preferred 44 MB removable disk cartridge.
- the format of Fig. 6A comprises a preamble 160, an ID field 161, a sync field 162, an index field 163, a track identification field 164, and a servo field 165.
- the preamble 160 is 48 bits long; the ID field 161 is 10 bits long,- the sync field 162 and index field 163 are each two bits long; the track identification field 164 is 22 bits long; and the servo field 165 is 24 bits long.
- Tracks 131 are numbered sequentially from a minimum value to a maximum value; in a preferred embodiment, they are numbered from 0 to 1378.
- the track identification field 164 is used to identify the track 131 with regard to its sequential position, and comprises numerical data represented in Gray code.
- the track identification field 164 also preferably comprises sector identification information.
- the servo field 165 comprises four sub-fields 170, which are denoted in Fig. 6A as two A-bursts 171 alternating with two B-bursts 172.
- Each A-burst 171 and each B-burst 172 is six bits long.
- the A-bursts 171 form a repeating pattern from track to track, alternating between a first sequence for even numbered tracks 131 and a second sequence for odd numbered tracks.
- the B-bursts 172 alternate from track to track between the same sequences, but in opposite order.
- Figure 6B is a diagram showing a format for control information in a control region 140 for a preferred 88 MB removable disk cartridge.
- the format of Fig. 6B comprises a preamble 180, an ID field 181, a first gap 182, a sync field 183, an alignment field 184, an index field 185, a track identification field 186, a second gap 187, a servo field 188, and a third gap 189.
- the preamble 180 is 96 bits long; the ID field * 181 is 52 bits long; the first gap 182, sync field 183, alignment field 184, and index field 185 are each four bits long; the track identification field 186 is 48 bits long; the second gap 187 is 14 bits long; the servo field 188 is 49 bits long; and the third gap 189 is nine bits long.
- the servo field 188 is comprised of two sub-fields 190, which are denoted in Fig. 6B as an A-burst 191 and a B-burst 192.
- the A-burst 191 preferably comprises a sequence of 25 bits
- the B-burst 192 preferably comprises a sequence of 24 bits.
- the A-burst 191 alternates from track to track between a first sequence for even numbered tracks 131, and a second sequence for odd numbered tracks 131.
- the B-burst 192 also alternates from track to track between a first sequence for even numbered tracks 131, and a second sequence for odd numbered tracks 131.
- Each bit or flux transition in the A-burst 191 or B- burst 192 corresponds to, e.g., 100 nanoseconds for a disk spinning at a rate of 3220 RPM.
- the control region 140 for the format shown in Fig. 6B may therefore comprise 28.4 microseconds of information (i.e., for 284 bits of control information) .
- Figure 6C is a diagram showing a format for control information in the control region 140 for a preferred 200 MB removable disk cartridge.
- the format of Fig. 6C comprises a spin speed field 200, a write-to-read field 201, an automatic gain control (AGC) field 202, a DC gap 203, a sync field 204, an index field 205, a track number field 206, a preburst field 207, and a servo field 208.
- AGC automatic gain control
- the spin speed field 200 is 26 bits long; the write-to-read field 201 is 184 bits long; the AGC field 202 is 80 bits long; the DC gap 203 is 85 bits long; the sync field 204 and the index field 205 are each 8 bits long; the track number field 206 is 96 bits long; the preburst field 207 is 4 bits long; and the servo field 208 is 92 bits long.
- the servo field 208 comprises four sub-fields 210, which are denoted in Fig. 6C as an A-burst 211, a B-burst 212, a C-burst 213, and a D-burst 214. Unlike the control formats for the 44 MB removable disk cartridge or the 88
- the control format of Fig. 6C for the 200 MB removable disk cartridge has C and D servo bursts in addition to A and B servo bursts.
- Each of the sub- fields 210 is 23 bits long and forms a repeating pattern alternating from track to track.
- Each bit or flux transition in the control information of Fig. 6C may represent, e.g., 62.5 nanoseconds for a disk spinning at a rate of 3220 RPM.
- the control region 140 for the format shown in Fig. 6C may therefore comprise
- Control information in the control region 140 is used by the disk drive for a variety of purposes, including operations of track seeking and track following.
- Track seeking is the process of selecting and finding one track from among a plurality of tracks 131 for reading and/or writing
- track following is the process of staying aligned with the track once it is selected.
- the tracks 131 are identified in consecutive numerical order from the outermost track to the innermost track.
- the identifying number of each track is represented in Gray code, a well known numerical encoding system in digital applications.
- Gray code a well known numerical encoding system in digital applications.
- Each Gray code address comprises a sequence of l's and O's and differs from the immediately preceding Gray code address by the change of only a single digit.
- Track seeking is accomplished by means well known in the art, using, for example, a track seeking servo- mechanism.
- the head 40 is extended over the disk 130 for reading the information stored thereon.
- the head 40 periodically reads control information, including Gray code track
- the Gray code addresses provide an indication of the present location of the head 40. As the head 40 approaches the desired track 131, the velocity of the head 40 is reduced until the head 40 comes to rest over the desired track 131, and track following algorithms are employed to maintain the position of the head 40 over the selected track 131.
- Information read by head 40 is provided to a control information parsing block, such as shown in Fig. 12, which separates the control information into its various constituent parts, including the Gray code indicating the present track location.
- the control information parsing block 270 reads the servo control bursts, such as the A- burst, the B-burst, the C-burst, and the D-burst, and provides the servo information to a servo error feedback signal generator block 255.
- the servo error feedback signal generator block 255 provides servo error signals 253 and 254 to a microprocessor 252.
- the first servo error signal 253 is derived from the A-burst and the B- burst, while the second servo error signal 254 is derived from the C-burst and the D-burst. For systems using only two servo bursts instead of four servo bursts, only one servo error signal is typically generated.
- the microprocessor 252 comprises an analog-to-digital (A/D) converter 256 which receives the servo error signals 253, 254 and converts them into digital form.
- the Gray code output by the control logic block 270 is provided to an ASIC 271, which may perform operations such as stripping off sector information if necessary and translating the Gray code address into a binary or base- two numerical track value 272.
- the track value 272 is also provided to the microprocessor 252.
- the microprocessor uses the information input through the A/D converter 256 and provided by the ASIC 271 to perform feedback control of the head in a manner well known in the art, based on an input track command 274.
- the microprocessor 252 outputs a head position command to a digital-to-analog (D/A) converter 266.
- the D/A converter 266 provides the converted head position command to a power amplifier 267, which generates a control signal to control an actuator or other component associated with the head 251, and thereby adjust the head position over the desired track.
- Track following is accomplished using control information, primarily a repeating pattern of A/B servo information or A/B/C/D servo information (depending on the capacity of the cartridge 103), written on each disk 130 in the control region 140.
- Track following associated with the read/write channel in the disk drive generally functions in a manner understood by those skilled in the art to ensure accurate positioning of the read/write heads over the specified data tracks on the surfaces of the disk in the cartridge during read and write operations . Nevertheless, some details relating to track following and the use of A and B (or quadrature) servo samples to facilitate such are provided immediately below.
- Figure IA is a diagram depicts a portion of the magnetic medium on a disk, and shows an A region 300 and a B region 301.
- a data region 302 follows the A and B regions 300, 301, and may also follow a gap (not shown) .
- the A region 300 precedes the B region 301 and occurs once for a given track 131 in the control region 140 of each sector 132.
- the amplitude of the "A" burst increases as one moves toward the outer diameter of the disk while the amplitude of a "B" burst increases as one moves toward the inner diameter.
- odd numbered tracks that is, the amplitude of the "B" burst increases as one moves toward the outer diameter of the disk while the amplitude of a
- a read/write head 40 traverses the magnetic medium in an attempt to read or write information along a particular track 131.
- the disk 130 is rotated in a direction such that the head 40 first traverses the A region 300, reading magnetic information, and then the B region 301, reading further magnetic information.
- the disk drive 101 determines if the head 40 is on track.
- the width of the head 40 is preferably some fraction, such as 80%, of the width of the track 131.
- a head width of less than full track width also prevents the head 40 from overwriting the edges of adjacent tracks 131 during a write operation.
- the A region 300 and B region 301 each comprise static magnetic data that is prewritten at the time of manufacturing on each disk 130.
- the magnetic data in each of A and B regions 300, 301 preferably comprises a predefined pattern of l's and O's (e.g., flux transitions or no flux transitions) otherwise referred to as a "burst", such as described previously with respect to Figs. 6A-6C.
- a burst and B burst are sometimes used to denote a reading of data in the A region 300 and a reading of data in the B region 301, respectively.
- the disk drive may measure the energy of the A and B bursts (i.e., the area underneath the signal waveform) or, in a preferred embodiment, may measure and store the highest signal peak of each of the A and B bursts using a peak detector or similar conventional device.
- the head 40 reads burst data first from the A region 300 and then from the B region 301.
- the head 40 typically does not remain precisely centered in the track 304, but may stray from the track center 302 from time to time during a reading or writing process.
- the A and B embedded servo data is commonly used to re-align the head 40 in the track center 302.
- Figure IB is a graph showing how the amplitude of the A and B burst signals varies from the track center 302.
- the amplitude 306 of the A burst increases until it reaches a maximum indicating a saturation region 10 when the head 40 is positioned at the edge of the track 304 (i.e., entirely within the A region 300) .
- the A burst amplitude 306 then steadily decreases as the head 40 leaves the A region 300 and enters the adjacent B region 301.
- the servo loop within the disk drive 101 preferably operates to prevent the head 40 from straying completely in either the A region 300 or B region 301 and thereby prevent saturation. More specifically, the servo loop measures the difference between the A and B amplitudes and generates a servo error signal indicative of the distance from the track center 302.
- Figure IC is a graph of an A/B servo feedback waveform 309 associated with the servo pattern of Fig. IA.
- the servo loop within the disk drive preferably operates to provide track following correction prior to the head 40 reaching a saturation region 10, at which point useful feedback information is no longer provided to the disk drive 101.
- control circuitry such as the exemplary quadrature or
- a higher-capacity removable disk cartridge has a sector format comprising a quadrature servo pattern such as that shown in Fig. 14A.
- the quadrature servo pattern comprises a plurality of temporally spaced magnetic regions, including A regions 501, B regions 502, C regions 503, and D regions 504.
- the border 505 between an A region 501 and a B region 502 defines the center of a track 506.
- the C region 503 generally appears immediately after the B region 502 and is offset therefrom by half of a track width
- the D region 504 generally appears immediately after the C region 503 and is offset therefrom by a full track width as shown in Fig. 14A.
- the quadrature burst technique generally provides additional useful information over the dual burst technique.
- use of C and D servo bursts provides the disk drive with information during times when the head may otherwise be near or in saturation using only A/B feedback.
- Illustrative feedback signals and other waveforms associated with one of the head paths 507 are depicted in Figs. 14B and 14C.
- Figure 14C is a timing diagram depicting the relative timing of certain waveforms in accordance with an exemplary head path 507 shown in Fig. 14A.
- a timing or search window wherein servo information or other particular data may be searched for, is opened up by activation of a search signal 523 as may be provided by a microprocessor or other timing and/or control logic.
- Data from the disk is read until a servo mark 531 (e.g., such as the DC gap 203 shown in Fig. 6C) is recognized.
- a burst of control information is read.
- Following a sync burst 525 and an index burst 526 appears a Gray code address 527, corresponding to the track address 510 depicted in Fig.
- -Gray code address 527 is a servo burst pattern as may be generated when the head traverses some or all of the quadrature servo regions 511 shown in Fig. 14A.
- the size of the rectangles 528, 529 and 530 are meant to illustrate the relative amplitudes or energy of the quadrature servo bursts.
- the head 509 is centered in the middle of the track 506 so that the A burst 528 and the B burst 529 are roughly the same size.
- No servo burst i.e., no rectangle
- the head 509 does not traverse a C region 503.
- a D burst 530 Following the A burst 528 and B burst 529, and a gap 532, is a D burst 530.
- the amplitude or energy of the D burst 530 is roughly twice the amplitude or energy of the A burst 528 or B burst 529 because the head 509 traverses directly over the D region 504, rather than over merely some fraction thereof.
- a preferred quadrature burst pattern and partial track layout are depicted in Figs. 14D-14E.
- the particular burst pattern and track layout shown in Figs. 14D-14E provide improved track following by reducing or eliminating offset errors in the servo position feedback signal caused by mismatches in the A and B magnetic burst patterns.
- Use of C and D servo bursts provides the disk drive with information during times when the head 40 may otherwise be near or in saturation using only A/B feedback.
- FIG. 14B A graph of quadrature servo data is shown in Fig. 14B.
- An A/B differential or A/B servo error signal pattern 520 (e.g., representing A - B) is shown plotted as a function of distance from track center 505 and head position as the head 509 moves across tracks 506.
- a C/D differential or C/D servo error signal 521 (e.g., representing D - C) plotted as a function of head position as the head 509 similarly moves across tracks 506.
- the 'signals 520, 521 are offset from one another, and one of the two signals 520 or 521 approaches zero when the other is at a maximum (e.g., potentially near saturation) .
- the C/D servo error signal 521 is not saturated and may be used to provide useful feedback information pertaining to the head position and to guide the head 509 along the track center 505 or to a desired position.
- the quadrature burst technique is particularly useful for rapid track seeking, as it supplies additional feedback information to the disk drive as the head 509 searches for a specific desired track 506.
- the problem of servo position offset error in the context of the A/B (i.e., non-quadrature) servo system may be described in more detail as follows.
- the accuracy of the servo position error signal -- that is, the degree to which the derived position error signal truly represents the misalignment between the head and the track centerline -- is a function of magnetic matching between the A burst, and B burst.
- the influence of surrounding magnetic: patterns can cause distortions in the signal obtained from the read/write head as it reads the A and B bursts during servo operation.
- the A burst may be influenced by the magnetic transitions of a preceding Gray code or other neighboring fields, and by magnetic transitions which form the B burst on the opposite side following the A burst.
- the B burst may be magnetically influenced by its surrounding neighbors including, for example, a preceding A burst on one side and a C burst following on the other side.
- the A burst signal read by the read/write head is distorted in a slightly different fashion than the B burst signal. This difference in distortion skews the error signal generated when comparing the A burst with the B burst, and in turn impairs the ability of the servo system to precisely measure the extent of misalignment between the head and the track centerline. The effect is to cause the head to become offset by some amount from the nominal track centerline.
- an alternating sequence of A/B bursts is utilized in special calibration tracks 1052, 1053 such as shown in Fig. 14E.
- an A region is neighbored on the left by a Gray code and on the right by a B region.
- the B region in servo sector N is neighbored on the left by an A region and on the right by a C region.
- the C and D regions are in quadrature relation such that, depending on the track, the C region or the D region may or may not be present in a particular track.
- the A region is located above the track centerline while the B region is located below it.
- the terms "above” and “below” apply to relative positioning of the A region and the B region, and are not intended to necessarily have other physical meaning.
- a next servo sector N+l circumferentially located on the calibration track 1052 the position of the A region relative to the B region is switched so that the B region is neighbored on the left by a Gray code and on the right by the A region, while the A region is neighbored on the left by the B region and on the right by a C region.
- the A region is generally located above track centerline and the B region below track ' centerline.
- each calibration track 1052, 1053 has 60 servo sectors 1060.
- Figure 14E also depicts data tracks 1055 and 1056.
- the pattern of A, B, C and D bursts in data tracks 1055, 1056 do not alternate from sector 1060 to sector 1060.
- a calibration track 1053 is preferably separated from a data track 1055 by a transition track 1054, such as shown for example in Fig. 14E.
- a calibration track 1052 is also preferably separated from a guard band track 1050 by a transition track 1051.
- a calibration routine making use of the calibration tracks 1052, 1053 may be performed during an initialization mode so as to provide later compensation for the measured offset of the system from the nominal or ideal track centerline.
- One or more calibration tracks 1052, 1053 encoded with the alternating servo pattern shown in Fig. 14E may be involved in this calibration routine.
- the system makes use of the alternating "A/B" - "B/A” servo burst pattem described with respect to calibration tracks 1052, 1053.
- the average of the position error signals for the odd numbered servo sectors 1060 is subtracted from the average of the position error signals for even numbered servo sectors 1060 and then divided by two to obtain an offset error.
- the error signals may be summed and averaged over one, or preferably several, disk revolutions. The summed signal is then subtracted from the servo position error signal, as further described herein, so as to reduce or eliminate the effect of magnetic and electrical offset.
- the calibration process involves operations over one, or preferably more than one, disk revolutions. Over several revolutions of the disk, the position error values for even numbered sectors 1060 are summed (accumulated) , and the position error values for the odd sectors 1060 are likewise summed. At the end of the disk revolutions, the summed position error signals are averaged separately for even sectors 1060 and for odd sectors 1060. The average of the odd sector error is then subtracted from the averaged even sector error. The result is divided in half (where two calibration tracks are used) to obtain calibration offset value corresponding to magnetic distortion for a single track on the disk.
- WHERE X 2rirt - is the position error signal for an even numbered servo sector 2n during revolution m;
- R the number of revolutions of the disk that the operation is performed over. In a preferred embodiment, R > 1. * The calibration offset obtained as a result of the above calculations is then subtracted out of the position error signal as shown in Figs. 13A and 13B at summing junction 1016. A corrected position error signal is thereby obtained so that the read/write head remains positioned over the centerline of the track.
- the offset correction signal need only be measured once at initialization for a particular disk, and thereafter may be stored and maintained as a constant during disk drive operations to continuously provide compensation as the system offset error signal shown in Fig. 13B. The measured offset value need not be re-calculated until a new disk is inserted in the disk drive 101.
- Fig. 14E depicts two calibration tracks 1052, 1053, any number of calibration tracks may be present, where all, or any subset, of the calibration tracks may be used in the calibration routine. Additionally, the calibration track or tracks may be located adjacently or at multiple locations on the disk, as desired. For example, if the density of tracks is increased, negligible current effects and other distortions may become significant so that additional non-adjacent calibration tracks may become desirable. Although calibration tracks are preferably located near the outer diameter of the disk, in some dense-track embodiments the calibration tracks may be placed near the inner diameter of the disk and/or at other locations on the disk.
- Figures 13A and 13B are block diagrams of a closed loop servo system for reducing or eliminating position error offset, and may be used in conjunction with the preferred servo pattern depicted in Fig. 14E.
- Fig. 13A an A/B burst track locator 1010 and summing junction 1012, whose constituent components are well known in the art and are shown in greater detail in Fig. 13B, generate a position error signal that represents the actual physical position error of magnetic head transducer 1043.
- voice coil actuator 1022 which is preferably a rotary actuator, generates a position signal to control movement of the magnetic head transducer 1043.
- the magnetic head transducer 1043 outputs a signal representative of the information read from the track.
- the output signal from magnetic head transducer 1043 is coupled to an automatic gain control (AGC) circuit 1044, whereby the voltage of the signal is increased to a normalized level.
- AGC automatic gain control
- the AGC circuit 1044 provides the normalized signal to a demodulator 1045.
- Demodulator 1045 selectively couples the appropriate: portions of the normalized signal from the AGC circuit 1044 to an A burst rectifier and peak detector 1046 and B burst rectifier and peak detector 1047.
- demodulator 1045 couples the A burst signal to A burst full wave rectifier and peak detector 1046, and the B burst signal to B burst full wave rectifier and peak detector 1047.
- Each of rectifier and peak detectors 1046 and 1047 rectifies an incoming signal from demodulator 1045, detects the peaks of the rectified signal, and provides the peak voltage to a summing junction 1012.
- Summing junction 1012 subtracts the input signal applied to its negative terminal from the input signal applied to its positive terminal, and may comprise a difference amplifier.
- the magnetic head transducer 1043 stays positioned over the track centerline thereby reading an equal amount of the A burst and the B burst.
- the peak voltages received by summing junction 1012 are equal, and hence, summing junction 1012 outputs a zero-valued physical position error signal.
- the magnetic head transducer 1043 drifts off the track centerline, i.e., the magnetic head transducer 1043 becomes positioned over more of one of the A burst or B burst than the other, then the output of A burst full wave rectifier and peak detector circuit 1046 differs from the output of B burst full wave rectifier and peak detector circuit 1047.
- summing junction 1012 -outputs a non-zero signal representing the physical position error of the magnetic head transducer 1043.
- the position error signal generated by summing junction 1012 is coupled to the positive terminal of summing junction 1016.
- the measured calibration offset of the system is coupled to the negative terminal of summing junction 1016.
- Summing junction 1016 which may comprise a difference amplifier, subtracts the measured calibration offset from the position error signal to produce a position error signal corrected for offset, and thereby generates a corrected position error signal which is provided to a compensator 1018.
- Compensator 1018 may comprise an analog-to-digital (A/D) converter to convert the corrected position error signal into a digital signal.
- Compensator 1018 may further include a microprocessor for determining, based on the digitized error correction signal, a position command to apply to the voice coil actuator 1022, and a digital- to-analog (D/A) converter to convert the position command into an analog signal .
- the analog signal generated by compensator 1018 e.g., output from the D/A
- a switching circuit may be employed to alternately switch the outputs of demodulators (e.g. peak detectors) between the inverting and non-inverting terminals of an amplifier as shown in Fig. 15.
- demodulators e.g. peak detectors
- Fig. 15 electrical distortion is generated by the differences in peak detector paths, which influences the output of rectifier and peak detectors A 1030 and B 1032 in a differential manner creating a corresponding and undesirable electronic offset.
- Switches 1034 and 1036 are preferably transistors.
- Difficulty with track following is particularly acute where higher-capacity drives are required to read lower- capacity removable disk cartridges. Because track widths for higher-capacity drives are smaller than those for lower-capacity drives, the read/write heads of higher- capacity drives are correspondingly smaller as well . The smaller high-density heads may cause problems when reading from, and especially when writing to, lower-capacity cartridges 103. When a higher-density head reads lower- capacity cartridges, the burst signal amplitudes may reach only a fraction of their possible maximum values, such as 30% of the maximum possible values. The burst signal amplitude characteristic may thus significantly change when a smaller head 40 is used to read a wide track 304
- the A/B feedback signal 309 may more easily enter a saturation region 10 at which point the A or B burst signals no longer provide useful feedback information.
- the ability for the head 40 to successfully follow a track 304 assumes that the servo sample information read by the head 40 is not defective.
- Conventional systems as noted previously, define a window around the predicted position error signal within which the measured position error must fall, or else a disturbance (such as a defective servo sample) is assumed.
- the window technique does not always lead to proper identification of bad or defective samples,- in fact, sometimes it leads to mistaken identification of good samples as bad samples.
- Figure 2A and 2B are waveform diagrams illustrating mis-identification of good and bad servo samples in a conventional servo system.
- a series of sample "impulses" or sample points 53 are derived from servo sample information on the disk, and result in a waveform 51 having an envelope as shown.
- a window 50 is defined such that if a sample point 53 lies outside of the window 50, it is considered a defective servo sample.
- Fig. 2A is shown a sample point 52 that lies outside of the window 50, but nevertheless represents the true or accurate position information of the read/write head 40.
- the. servo point 52 is mis-identified by the conventional servo system as associated with a bad sample.
- FIG. 2B a similar series of sample points 57 are likewise derived from servo sample information on the disk, and result in a waveform 55 having an envelope as shown.
- Figure 2B shows the situation of a bad or defective servo sample resulting in a sample point 56, but because sample point 56 associated with the defective servo sample lies within the predefined window 50, the servo sample is not identified as a bad or defective sample by the conventional servo system.
- the conventional servo system mis-identifies the character of the servo sample information on the disk. This may lead to misalignment of the head 40 with respect to the track center line, and will worsen the dynamic response of the system.
- Figure 3A is a block diagram illustrating a servo system.
- the Fig. 3A system includes an input signal 61, a summing block 63, a compensator 65, a zero-order hold (ZOH) block 67, a plant 69 (e.g., the target to be controlled) , and output signal 71, and a sample-and-hold (S/H) block 73.
- the plant 69 represents the read/write head 40.
- the compensator 65 which may be analog or digital, represents the read/write head controller.
- the sample-and-hold block 73 and the zero order holder block 67 are shown in the control loop because disk drive servo loops are generally discrete.
- a sample impulse input signal comprises two amplitude components --- a first component representing the true position of the read/write head, and a second component comprising a "disturbance” function.
- the disturbance function may be caused, e.g., by noise (either external or internal) or a vibration or "shock" to the disk drive system, or may be caused by a defective sample.
- the reference input signal 61 also denoted “r(k)" as used in Fig. 3A represents not the total sample impulse amplitude, but rather the "disturbance” portion of the sample impulse signal.
- the reference input r(k) is zero.
- the output signal 71 (also denoted “y(t)”) represents position of the read/write head The position y(t), or its discrete form y(k), is regulated.
- the output signal 64 from the summing block 63 (also denoted as “P2(k)") is a position error -signal ("PES") -- i.e., the error signal as seen by the compensator 65.
- PES position error -signal
- the position error signal P2 (k) no longer represents the true position of the read/write head 40. That is, the position error signal P2 (k) as seen by the compensator 65 is not correct.
- the position error signal P2 (k) again represents accurate position information and is again equal to the discrete position signal y(k) .
- This phenomenon of a bad servo sample followed by a good servo sample is equivalent, for the purposes of Fig. 3A, to applying an impulse at the reference input 61 (i.e., reference signal r(k)) .
- the response of the position error signal P2 (k) can be analyzed by assuming a unit impulse input for the reference signal r(k) .
- the obtained result can be scaled with the actual input amplitude.
- the value or range of the position error signal P2 (k) for sample-0 and sample-1 can be determined in the context of Fig. 3A as follows:
- ⁇ (k) represents an impulse function at sample-k.
- ⁇ P2 (k) for servo sample k.
- the change in the position error signal P2 (k) for sample-0 and sample-1 without any corrective action may be expressed as follows:
- the delta or change ⁇ P2 (k) of position error signal P2 (k) at the bad servo sample time is not necessarily the largest.
- the position error signal delta ⁇ P2 (k) can be larger for a good servo sample immediately following a bad servo sample.
- the position error signal change ⁇ P2 (k) can be represented as follows:
- Figures 3B-3D are waveform diagrams graphically illustrating the above explained phenomenon.
- the amplitude of the disturbance M is taken to be 0.1.
- Figure 3B is a graph of input reference signal r(k) showing a step input waveform 81.
- Waveform 81 has a step from zero to 0.1 at servo sample-1
- Figure 3C is a graph of the output signal y(t) for the input reference signal r(k) shown in Fig. 3B.
- waveform 83 represents the output signal y(t) that rises in response to the step input of waveform 81, but then peaks and returns toward zero after the compensator 65 responds to the disturbance represented by the step input.
- Figure 3D is a graph of the position error signal P2 (k) associated with waveforms 81 and 83 in the graphs of Figs. 3B and 3C, respectively.
- the position error signal waveform 85 first follows the step input at servo sample-1, but then at servo sample-2 (a good servo sample) provides a large swing in the opposite direction. This large swing is due in part to the combined effect of the step input of waveform 81 returning to zero at the same time that the compensator 85 is providing a compensating command responsive to the step input waveform 81 in the same direction.
- Fig. 3D are graphically shown a first position error signal delta ⁇ I associated with servo sample-1 and a second position error signal delta ⁇ 2 associated with servo sample-2.
- the position error signal delta ⁇ 2 for ⁇ ervo sample-2 although associated with a good servo sample, is larger than the position error signal delta ⁇ I for servo sample-1.
- ⁇ I may fall within the window (and therefore be mis-identified as a good servo sample)
- ⁇ 2 may fall outside of the window (and therefore be mis- identified as a bad servo sample) .
- a conventional disk drive servo system according to the Fig. 3A model with a window threshold TH will perform properly with respect to a bad servo sample only if the disturbance amplitude M exceeds the window threshold TH (i.e., M > TH) .
- the system will fail to detect the bad servo sample.
- the servo system would incorrectly assume that the sample-2 is a bad servo sample and would ignore it, thereby worsening the tracking performance.
- a system according to the present invention is provided with means to identify and record the locations of bad servo sectors.
- the preferred embodiment of the present invention detects the location of bad samples through a self-learning process and obtains the correct position information from bad samples by a self-repairing process.
- the preferred system is well-suited for operation in a disk drive servo system due to the periodic nature of the disk input, which repeats each revolution and therefore presents an opportunity for recorded information concerning bad or defective servo samples to be used to mitigate the disturbances caused by such samples.
- a self-learning process in accordance with one -embodiment of the present invention comprises several main steps, as illustrated in Fig. 8.
- a first step 501 as shown in Fig. 8 the process involves detecting a "disturbed" location on the disk 130. This step is preferably carried out by locating a large position error signal delta. The disturbed location does not necessarily represent a bad or defective servo sample; it could also represent noise or a physical shock to the disk drive.
- a next step 502 after a disturbed location is identified in step 501, the process involves establishing a set of error location vectors for the current track 131, with each element of each error location vector corresponding to a servo sample location for the track 131 on which the disturbance was detected.
- step 503 the system performance is measured for each error location vector. Usually, with only one detected disturbance, only two error location vectors are established, as detailed further herein. Accordingly, step 503 is preferably performed in just a few .disk revolutions -- e.g., two or three disk revolutions -- one revolution for each error location vector.
- the system performance measurements for the error location vectors provide position error signal correction information based on a prediction of the location of defective servo samples. With each error location vector, if the performance improves when the error location vector is applied, then the assumption is taken to be correct, and the location of the defective sample is stored. If the performance is worse upon application of the error location vector, then the assumption is taken to be incorrect, and a different error location vector is used.
- step 504 the defective servo sample location or locations are identified and stored in memory.
- step 505 the system adjusts for bad servo samples by any of a variety of possible approaches. For example, the system may choose to ignore the position error signal information at a known bad servo sample location. Alternatively, a compensating position error signal vector is stored in memory, and used to adjust the position error signal read at the bad servo sample location. These and other alternatives are discussed also in more detail hereinafter.
- Figure 9 shows a micro-controller 521 connected to a servo/spindle controller 523, which is connected to a spindle motor 525.
- the spindle motor 525 controls a spindle 526, which rotates a disk 528.
- the servo/spindle controller 523 is also connected to a voice coil motor 530, which controls the position of a read/write head 533 with respect to the disk 528.
- Position information signals 529 are provided to a read/write channel processor 532, which thereby reads information stored on the disk 528 and, among other things, parses certain control information.
- the read/write channel processor 532 provides servo burst sample information read from the disk 528 via lines 534 to the micro-controller 534.
- the micro-controller 521 is connected to a micro ⁇ controller system bus 540. Also connected to the micro ⁇ controller system bus 540 are a program memory 542, an interface controller 544 (e.g., such as manufactured by CIRRUS under the product number SH385) , and an application-specific integrated circuit (ASIC) gate array 537.
- the ASIC 537 is connected by local control and status lines 538 to the interface controller 544, and by other local control and status lines 535 to the read/write channel processor 532.
- the interface controller 544 is -connected to a data memory 546 by a local bus 547, and to a host by a host interface 543.
- Reading or writing is carried out by the read/write channel processor 532 under ultimate control of the micro ⁇ controller 521.
- the disk drive system Upon the failure of an attempt to read or write to the disk 528, the disk drive system checks to see whether a disturbance has caused the failure, and whether the disturbance resulted from detection of a bad servo sample. If so, then, in a preferred embodiment, the disk drive system invokes a self-learning subroutine to identify and record the location of the bad servo sample and, optionally, to derive a position correction command for future read and write operations for the given track.
- a flow chart for a self-learning subroutine is shown in Fig. 10. The self-learning process to which the Fig. 10 flow chart relates may generally be described as follows.
- Fig. 10 assumes a single defective servo sample in a given track. While the process of Fig. 10 may be generalized, as described later herein, to a situation where there are more than one defective servo samples for a given track, it is most common in present systems to have only a single defective servo sample.
- a track 131 having N servo samples is represented as a vector V of size N, with the elements being only zeros and ones.
- each good servo sector in track 131 may be represented by a "1" in the corresponding position of vector V, while each servo sector in track 131 for which a disturbance was detected may be represented by a "0" in the corresponding position of vector V.
- the contents of vector V for a particular track 131 may thus appear as follows:
- V [1,1,1, ..., 1,0,1, ... 1,0,1, ... 1]
- V(k) 1
- the actual measured position i.e., the position derived from the servo sample k
- the measured position for servo sample k will be ignored, and a predicted position will be used to control the read/write head 40 instead.
- Many methods of predicting position are known in the art and include various forms of estimation, the simplest of which is to use the position of the previous servo sample.
- a performance function may be defined to provide a quantifiable indication of servo performance.
- the task of identifying defective servo samples can in one aspect be seen as equivalent to
- the present method is applicable to disk drive servo systems in general, for most state-of-the-art disk drive servo systems the method is simplified by the assumption that the biggest disturbance usually occurs at the sample immediately after the defective servo sample, as has been described previously with respect to Figs. 3A- 3D. Considering the possibility that the disturbance could in an actual system be the result of noise or other factors, it may not be possible without more to conclude definitively that the servo sample is bad.
- the learning subroutine is not always invoked, but, in a preferred embodiment, is invoked only upon a failed read or write operation.
- certain information relating to the location of the disturbed servo sample is preferably recorded when the disturbance occurs.
- a flag (known as the application flag) is cleared to disable the invocation of the self learning process. Read and write operations are thereafter performed normally. Whenever a large disturbance occurs (i.e., the position error signal delta exceeds the window threshold) , the location of the disturbance is recorded. When a read or write operation failure occurs, the learning subroutine is invoked to determine more precisely the location of the defective servo sample, based on the location of the 'detected disturbance.
- the location of a defective servo sample will correspond to either the location of the detected disturbance or the location of preceding servo sample.
- the performance indicator d is derived according to the performance function (equation 9.1) in two consecutive revolutions of the disk 131, yielding a first performance indicator dl associated with the first revolution and a second performance indicator d2 associated with the second revolution. The two performance indicator values dl and d2 are then compared. If the value of the first performance indicator dl is greater than the value of the second performance indicator d2, then the servo sample preceding the location of the detected disturbance is determined as the bad servo sample.
- the learning subroutine when the learning subroutine is invoked at step 600, the application flag is cleared to zero.
- the learning subroutine waits for at least one full revolution of the disk 528 during which the servo sample information is read (e.g., by a servo interrupt routine) . Waiting a full disk revolution allows the servo interrupt enough time to detect the location of the disturbance (assuming the disturbance will be reproduced) . If a disturbance is detected, the servo interrupt routine sets a disturbance flag.
- a check is made ensure that the track 131 indeed has a defective servo sample. Thus, if after a whole revolution the disturbance flag is not set, no defect on the track 131 has been located and it may be ' assumed that some other source, such as noise or movement of the device, caused the initial disturbance, and the learning subroutine is exited. If, on the other hand, a disturbance is detected, then the learning subroutine proceeds according to the flow chart of Fig. 10.
- the application flag is set (for future indication that the learning subroutine has been called and has operated) , and a first pass of the disk is initiated.
- the first disk pass it is assumed or estimated that the defective servo sample is at the same location where the disturbance was detected.
- a predefined number b of samples is selected. In a preferred embodiment, the predefined number b of samples is 10 samples.
- a defective sector variable is set to the location of the disturbance sector.
- the learning subroutine waits in a loop until the predicted defective sector location is reached.
- the disk drive system waits for the next servo interrupt.
- a first performance indicator dl is calculated.
- the performance function is chosen to be the sum of the absolute values of the position error.
- calculating a square involves multiplication steps which are preferably avoided since the computation time is critical in the typical high-speed disk drive environment.
- Steps 610 and 612 are repeated until the predefined number of samples b -- in this case ten samples -- have been processed.
- a second disk pass is initiated. In the second disk pass, it is assumed or estimated that the defective servo sample is the one which immediately precedes the servo sample at which the disturbance was detected. Steps 620 through 628 are thus
- performance indicator d2 is calculated for the immediately preceding servo sample.
- the measured performance indicators dl and d2 are compared at step 630. Whichever performance indicator is lower is assumed to be the good servo sample; accordingly, the bad servo sample is assumed to be that associated with the higher performance indicator dl or d2. Steps 632 or 634 carry out this determination, and the learning subroutine is terminated at step 636.
- the defective servo sector is flagged and the learned results are used in subsequent revolutions of the disk.
- Afte;r detecting the location of defective servo sector m the difference between the predicted head position P(m) and the position error signal PES P2 (k) is measured and averaged over several revolutions. At known bad sample occurrences, this difference is added to the measured position error signal and fed into the compensator. This causes the servo system to respond with the desired dynamics.
- the learning processes uses the entire track 131 as a frame for detecting and measuring servo sample disturbances because manufacturing tolerances and other considerations make it practical to assume that, at most, only one servo sector per track will be defective.
- a track 131 may be divided into a number of frames, each consisting of a number of servo samples.
- the frame length can have of any number of servo samples so long as there are at least enough samples to allow adequate evaluation of the performance function and derivation of the performance indicator d.
- one or more of servo samples so long as there are at least enough samples to allow adequate evaluation of the performance function and derivation of the performance indicator d.
- each vector V N corresponds to a single frame instead of a whole track
- the learning subroutine may use any of a variety of suitable performance functions for evaluating performance of the head positioning throughout the disk cycle. Where accuracy is relatively more important, as noted previously, a sum of the square of the position error for each sample may be utilized. In circumstances where computation time is more critical, the sum of the absolute value of the position error may be used as the performance function, as illustrated in Fig. 10.
- the position information derived from the defective servo sector may or may not be used to help correct future head positioning.
- the servo information from the bad servo sample reliably gives a position with an offset from the true position, it can be used in future read and write operations to assist with control of the head position when the bad servo sample area is reached on 42 the disk 528.
- the true position of the read/write head 533 can be determined by summing the calculated offset (as determined in the learning subroutine) with the measured position information from the "bad" servo sample. In some applications, this may be more desirable than merely discarding the position information read from defective servo samples.
- a quadrature burst pattern (such as described with respect to Figs. 14A-14E) provides a second position error signal based on C and D burst regions
- a preferred embodiment of the present invention operating with a quadrature burst pattern disk uses only the A and B burst information to detect initial disturbances and analyze potentially bad servo samples under the set of error location vectors described above.
- the read/write channel 532 When a servo sample is read on the disk 528, the read/write channel 532 provides an interrupt to the micro ⁇ controller 521. When the micro-controller 521 receives the servo interrupt, it calls a servo interrupt subroutine to service the interrupt.
- a flow chart of the servo interrupt subroutine is shown in Fig. 11. In the Fig. 11 flow chart, the servo interrupt routine commences in step 561. In steps 562 through 570, the position of the read/write head 533 is measured in the conventional manner. Thus, at step 562, the cylinder number is read from the disk 528, and the sector number is incremented for subsequent use. In step 565, the disk drive system determines whether the cylinder number is odd or even.
- Step 570 follows both steps 567 and 568.
- the calculated position error PES is stored in an array location (e.g., "MeasuredPos (k) ") corresponding to the sector read.
- the disk drive system determines whether or not a shock was sensed, such as may preferably be accomplished by means well known in the art. If a shock was sensed, then the process branches to step 587. The effect of this branching is to disable the calling of the self-learning subroutine on the assumption that the disturbance was caused by a physical or external source, not a bad servo sample. If, however, no shock was sensed, then the disk drive system branches to step 573.
- step 573 the disk drive system determines whether or not the learning subroutine has been previously invoked for the track 131, by checking an application flag.
- the application flag is cleared (i.e., set to zero) each time a new track 131 is selected.
- the application flag is set when the learning subroutine is called. If the application flag is not set, then the process branches to step 575. If the application flag is set, then the process branches to step 580. In either case, whether in step 575 or 580, the disk drive system next determines whether a previous disturbance has been detected for the track 131. The disk drive system does this by checking another flag (referred to as a disturbance detected flag) , which is set during the servo interrupt routine when a bad servo sample is detected.
- a disturbance detected flag another flag
- step 575 If, in step 575, a disturbance has previously been detected (as indicated by the disturbance detected flag) , then the process branches to step 587. If, however, no disturbance has previously been detected, then the system measures the position error signal delta in the conventional manner. Thus, the position error signal delta is calculated as the difference between the measured position (Measured_Pos (k) ) of the read/write head 533 and the predicted position (PredictedPos (k) ) of the read/write head 533.
- the predicted position of the read/write head 533 is determined in the servo control loop according to techniques well known in the art, and the calculations depend upon the specific system dynamics.
- the calculated position error signal delta is compared against a predefined window threshold in the conventional manner. If the position error signal delta does not exceed the window threshold, then no disturbance is detected, and the process branches to step 587. If, however, the position error signal delta exceeds the window threshold, then the process continues to step 579, wherein a variable (Disturbed_Sector) is set to the current sector for later use (e.g., in the learning subroutine) . The disturbance detected flag is also set if the position error signal delta exceeds the predefined window threshold. Step 579 is followed by step 587.
- a variable Disisturbed_Sector
- step 580 it is determined whether or not a previous disturbance has been detected (in a manner similar to step 575) . If no disturbance has previously been detected, then the process branches to step 587. If, however, a disturbance has previously been detected, then the process branches to step 582, wherein the disk drive system determines whether the current sector has been previously identified as a defective sector (i.e., a sector having a bad servo sample) by the learning subroutine. If not, then the process branches to step 587. If, however, the current sector has been previously identified as a defective sector by the learning subroutine, then the process branches to step 583.
- a defective sector i.e., a sector having a bad servo sample
- step 583 it is assumed that the servo sample information is defective, and therefore should be ignored. Accordingly, the measured position (MeasuredPos(k) ) of the read/write head 533 is taken to be the predicted position (PredictedPos (k) ) of the read/write head 533 for the current sector. Step 587 follows step 583.
- step 587 the position error for the current sector (pos_err(k)) is set to the measured position (MeasuredPos (k) ) of the read/write head 533 minus the desired position (DesiredPos(k) ) of the read/write head 533.
- the desired position of the read/write head 533 will be the track center line.
- One situation where this may occur is during an erase operation, particularly where a relatively smaller read/write head 533 (as may be found, for example, in a higher capacity disk drive) is used to read a relatively lower capacity disk 528. Also in step
- FAST_ONTRACK_START DMD FAST CODE - START UPLOAD SECTION
- FAST ONTRACK ENTRY DMD FAST CODE - ENTRY POINT
Landscapes
- Moving Of The Head To Find And Align With The Track (AREA)
Abstract
The system invokes a learning subroutine (600) under which a set of error location vectors are established, one for each possible location of the defective servo sample. With each error location vector, if the performance improves when it is applied then the estimation is taken to be correct, and the location of the defective sample is saved. If the performance is worse upon application of the error location vector, then the estimation is taken to be incorrect, and a different error location vector is used. During further read and write operations with the disk, the system may ignore the position error signal at the bad servo sample locations, or may adjust for bad servo samples by using a compensating position error signal vector.
Description
DESCRIPTION
Disk Drive Servo System
Field of the Invention
The field of the present invention relates to disk drive systems and, more particularly, to disk drives using prewritten servo information for reading and/or writing data to a disk.
Background
Fixed and removable cartridge disk drives commonly use magnetic read/write heads to read and write data stored as magnetic fields on a magnetic disk surface. To facilitate data storage, the disk surface is divided into a number of concentric tracks. To read or write data to the disk, the -disk surface is rapidly rotated and the read/write head(s) pass over its surface, following the circumferential path of the track or tracks where the data is to be stored or read. Thus, this type of disk drive generally requires a means for initially positioning the read/write heads over the disk surface along a track wherein data is to be written or read, as well as a means for following the contour of a particular track once it is located. One method for moving and positioning a read/write head is by use of a voice coil motor (VCM) actuator which loads and unloads the head from the magnetic disk surface. To activate the VCM, a control current is passed through the voice coil thereby producing an angular velocity in the VCM and the attached read/write head. By controlling the voice coil current, the read/write head may be positioned over the disk where data is desired to be written or read.
Once the head is positioned over the desired track, it needs to follow the track as the disk rotates. To accomplish this task, various types of servo systems have been devised to enable the head to stay on track and to
ensure the integrity of data read and write operations. One type of disk drive servo system is known as a sampled servo system. In such a system, servo information in the form of magnetic burst patterns is prewritten and recorded on the surface of the disk in one or more sectors (sometimes called servo sectors) on each track. The servo burst patterns are typically written in equally spaced intervals on the disk. In a particular servo technique, for example, two magnetic servo patterns (also called "samples") follow each other in close proximity in each servo sector. The first magnetic servo pattern lies adjacent to one side of the track centerline, and the second, following magnetic servo pattern lies adjacent to the opposite side of the track centerline. As the read/write head passes over a servo sector, it reads information from both the first and second magnetic servo
'patterns, resulting in a sampling of the head position.; hence the term "sampled servo system". The first magnetic servo pattern is sometimes referred to as an "A-burst" and the second magnetic servo pattern as a "B-burst".
The relative magnitudes of the A-burst and the B-burst indicate the relative alignment of the read/write head with respect to the centerline of the track. As the read/write head begins to stray from the track centerline, a servo feedback loop connected to the VCM actuator re¬ aligns the read/write head so that it follows the centerline. Thus, the servo information is read by the read/write head during servo operations at each servo sector and is used to generate position error signals as a function of the misalignment between the head and the disk track centerline. In a particular conventional system, the position error signal is provided to a microprocessor which calculates a servo compensation signal to control the disk drive head positioning mechanism.
In a mass production manufacturing process of disks, it can be very difficult to prewrite the servo samples
perfectly throughout the disk. That is, some of the servo samples may be of incorrect shape or not offset from the proper position either radially or otherwise. These imperfect servo samples provide inaccurate position information and hence, are considered defective or bad samples. Furthermore, during the life of the disk, some good samples may become defective due to various causes such as contamination. Consequently, the number of bad or defective samples continues to increase during the life of the disk. The percentage of the number of bad samples to the total samples is small, however, and typically is less than one per cylinder track.
Bad samples behave in one sense equivalently to impulse inputs to a servo system. Since most servo systems are designed to respond quickly, they will react to these bad samples and move away from the desired track
•center, thereby producing a larger tracking error for a longer period of time. During a write operation, this tracking error may result in the overwriting of data information on an adjacent track. In some instances, the erroneous movement exceeds the allowable tolerance and prevents these locations from ever being read from or written to.
To make the servo system less sensitive to bad samples without losing the desired dynamics of having a servo system respond quickly to servo information, it is necessary to detect the bad samples accurately. One technique in present use is based on the current, single sample information. This technique is described as follows. To detect a bad sample at sample time k, the servo system predicts a position for sample k at sample k-1 (using any one of several well-known ways to predict the position of a sample) . The servo system then sets a threshold window centered at the predicted position of the sample. If the position of the sample, as measured, falls outside this window, the sample is presumed to be defective and is ignored. If the measured position is
within the threshold window, the sample is presumed to be a good sample.
Experience has shown that the above described method for detecting bad samples is not sufficiently accurate. In some cases, servo systems that utilize the above so- called current sample detection method can make incorrect decisions and, as a result, degrade system performance. Where the system mis-identifies a bad sample, or identifies a good sample incorrectly as a bad sample, the servo system quite likely will worsen the dynamic ability to position a read/write head accurately, causing the head actuator assembly to become out of bound. Consequently, there is a need for a servo system that has an improved ability to detect and respond to bad servo samples on a magnetic disk.
'Summary of the Invention
The present invention comprises in one aspect a disk drive having a means for detecting the location of bad or defective servo samples on a magnetic disk by predicting the potential locations of bad servo samples and comparing servo performance under each prediction scenario. A preferred embodiment utilizes a self-learning process whereby the location or locations of bad servo samples are identified, recorded, and compensated for if desired. According to one embodiment of present invention, a disturbance is detected during a read or write operation of a disk drive in a conventional manner by locating a large position error signal delta. Because the disturbed location does not necessarily represent a bad or defective servo sample, but may simply be in the vicinity of a bad servo sample (e.g., adjacent thereto) , the disk drive then invokes a learning subroutine to locate more precisely the location of the bad servo sample.
In one embodiment of the learning subroutine, a set of error location vectors are established, one associated with each possible location of the defective servo sample.
Each element of each error location vector corresponds to a servo sample location for the track on which the disturbance was detected, and has a first boolean value if the location is predicted to be good and a second boolean value if the location is predicted to be bad. The track (or relevant portion thereof) is then read for each error location vector, and an indication of system performance is derived for each error location vector according to a predefined performance function. Usually, with only one detected disturbance, only two error location vectors are needed -- one error location vector identifying the disturbed location as the bad servo sample, and the other error location vector identifying the immediately preceding servo sample as the bad servo sample. With each error location vector, if the performance improves when the error location vector is applied, then
*the estimation is taken to be correct, and the location of the defective sample is saved. If the performance is worse upon application of the error location vector, then the estimation is taken to be incorrect, and a different error location vector is used.
During further read and write operations with the disk, the system adjusts for bad servo samples by any of a variety of possible approaches. In one embodiment, the system may choose to ignore the position error signal information at a known bad servo sample location. Alternatively, a compensating position error signal vector is stored in memory, and used to adjust the position error signal read at the bad servo sample location. Various other embodiments and modifications are also discussed in more detail herein.
Brief Description of the Drawings
The various objects, features and advantages of the present invention may be better understood by examining the Detailed Description of the Preferred Embodiments found below, together with the appended figures, wherein:
Fig. IA is a representative view of a data track recorded on the surface of a disk showing a typical A/B servo pattern and a track pitch for different size read/write heads. Fig. IB is a graph depicting an A/B burst amplitude signal associated with the A/B servo pattern of Fig. IA.
Fig. IC is a graph depicting an A/B servo feedback waveform associated with the A/B servo pattern of Fig. IA.
Figs. 2A and 2B are waveform diagrams illustrating mis-identification of bad and good sectors in a conventional servo system.
Fig. 3A is a diagram of a model of a servo feedback system.
Figs. 3B-3D are graphs of waveforms associated with the servo feedback system model of Fig. 3A.
Figs. 4A-4D are diagrams of an exemplary removable 'disk cartridge.
Fig. 5 is a diagram of a disk showing a breakdown into tracks and sectors. Figs. 6A-6C are diagrams of control information formats for particular disk cartridges of three different capacities.
Fig. 7 is a block diagram of a track following loop for a particular disk drive servo system. Fig. 8 is a high level process diagram for a self- learning process in accordance with one embodiment of the present invention.
Fig. 9 is a block diagram of a servo and spindle control mechanism in a disk drive system. Fig. 10 is a flow chart illustrating a self-learning process for identifying and remembering the locations of defective servo sectors.
Fig. 11 is a flow chart illustrating a process for a servo interrupt routine for, among other things, detecting defective servo samples.
Fig. 12 is a block diagram of a digital control system for track seeking and other functions in a disk drive
system in accordance with one embodiment of the present invention.
Fig. 13A is a schematic block diagram of a closed loop servo position error correction system, and Fig. 13B is a more detailed schematic block diagram of the Fig. 13A system.
Figs. 14A-14C are diagrams showing an embedded quadrature servo pattern and various waveforms and features associated therewith. Figs. 14D-14E are diagrams showing a preferred quadrature servo pattern and partial track layout.
Fig. 15 is a circuit block diagram associated with a technique for correction of offset errors in a servo position feedback signal by periodically switching between terminals of an amplifier (e.g., every servo sector) .
•Detailed Description of Preferred Embodiments
A preferred embodiment of the present invention operates in a system such as described in U.S. Patent Application Ser. No. 08/412,657 filed on March 10, 1995, which application is hereby incorporated by reference as if fully set forth herein.
An exemplary removable disk cartridge 103 is shown in the diagrams of Figs. 4A through 4D. Figures 4A and 4B show different oblique views of the removable disk cartridge 103, while Fig. 4C shows a cross-sectional top view of the removable disk cartridge, and Fig. 4D shows a cross-sectional side view thereof.
As shown in Figs. 4A through 4D, the removable disk cartridge 103 comprises a retractable head access door 110 for allowing a read or write head access to a storage medium. The removable disk cartridge 103 further comprises an armature plate 111 and an index slot 112. A write protect selector 113 may be activated manually to prevent overwriting of existing information on the storage medium. Whether or not the write protect selector 113 is set is preferably indicated by a write protect indicator
114 located in a convenient area of the removable disk cartridge 103. The cartridge may bear a cartridge bar code label 115 for identifying the disk or the contents of the disk, and may further bear a cartridge capacity label 116 indicating the maximum storage capacity of the. removable disk cartridge 103.
Because removable disk cartridges 103 of various storage capacities may be read by the same disk drive, different capacity cartridges 103 are preferably physically compatible with one another. Physical size uniformity among the different capacity cartridges means that the area of magnetic medium available for storage is generally the same for all of the cartridge sizes which are to be compatible with one another. In order to increase data storage capacity on a removable disk cartridge 103 without increasing physical size, it is -therefore usually necessary to decrease the storage space required for individual bits of information.
Two parameters principally define the storage capacity of a removable disk cartridge 103. These two parameters are the track density or number of tracks per inch ("TPI") and the bit density or number of bits per inch ("BPI") . The product of TPI and BPI defines the area density of a disk, and the product of the area density and the area of a disk defines the ultimate storage capacity of a disk: Storage capacity = Disk area x (BPI x TPI) Thus, an increase in either the number of tracks per inch or the bit density generally enlarges the ultimate storage capacity of a disk. Figure 5 is a top view of a cartridge disk 130 comprising a plurality of concentric tracks 131 for storing data. The tracks 131 radiate outward from the center of the disk 130. Each track 131 preferably has the same width, although the outer tracks 131 are longer than the inner tracks 131. The greater the track density, the smaller the width of each track 131.
The disk 130 is also divided into a plurality of sectors 132. A sector 132 comprises a roughly pie-shaped area of the disk 130, and thereby includes a plurality of segments 134 of the tracks 131 which it covers. Although the sectors 132 shown in Fig. 5 are adjacent to one another, the sectors 132 need not be contiguous but may be separated by a space. Further, the sectors 132 need not extend from the outer periphery of the disk 130 to the center of the disk 130, thereby covering segments 134 from all of the tracks 131, but instead may cover segments from a defined subset of the tracks 131.
Each track segment 134 preferably comprises a control region 140 and a data region 141.
The control region 140 comprises control information according to a specified format which allows the disk drive to locate data and follow a selected track 131. The
* control region 140 is pre-written on the disk 130 when manufactured, and is not overwritten by the user. The data region 141 comprises space on the magnetic medium available to the user to store information, and may be accessed through read and write operations by the user as desired.
Exemplary parameters for various capacity disk cartridges according to a preferred disk drive system appear in Table 5-1 (wherein megabytes are abbreviated "MB") .
Table 5-1
Track-Width Number of
Caoacitv TPI (u-inches) Sectors 4 444 MMBB 1 1009900 920 70
88 MB 1480 680 74/53
200 MB 1880 540 72
As shown in Table 5-1, track width (also known as track pitch) for the various size disk cartridges 103 is not uniform but decreases proportionately as disk capacity increases. The number of sectors 132 is also not
necessarily constant but may vary depending on storage capacity.
The number of sectors 132 may also vary depending on the distance from the center of the disk 130. Thus, for example, a disk 130 may be divided into a plurality of zones (e.g., two zones) . In the first zone, closest to the center of the disk 130, there are a first plurality of sectors (e.g., 53 sectors) , and in another zone farther away from the center of the disk 130, there are a second plurality of sectors (e.g., 74 sectors) .
In addition to different physical parameters for different capacity cartridges 103, the format of control information in the control region 140 may differ for each capacity of cartridge 103 as well. Control information formats for each of a preferred 44 MB, 88 MB and 200 MB disk cartridge 103 are depicted in Figs. 6A-6C, 'respectively.
Figure 6A shows a format for control information in a control region 140 for a preferred 44 MB removable disk cartridge. The format of Fig. 6A comprises a preamble 160, an ID field 161, a sync field 162, an index field 163, a track identification field 164, and a servo field 165. In a preferred embodiment, the preamble 160 is 48 bits long; the ID field 161 is 10 bits long,- the sync field 162 and index field 163 are each two bits long; the track identification field 164 is 22 bits long; and the servo field 165 is 24 bits long.
Tracks 131 are numbered sequentially from a minimum value to a maximum value; in a preferred embodiment, they are numbered from 0 to 1378. The track identification field 164 is used to identify the track 131 with regard to its sequential position, and comprises numerical data represented in Gray code. The track identification field 164 also preferably comprises sector identification information.
The servo field 165 comprises four sub-fields 170, which are denoted in Fig. 6A as two A-bursts 171
alternating with two B-bursts 172. Each A-burst 171 and each B-burst 172 is six bits long. Starting at track 0 and radiating outward, the A-bursts 171 form a repeating pattern from track to track, alternating between a first sequence for even numbered tracks 131 and a second sequence for odd numbered tracks. In a similar manner, the B-bursts 172 alternate from track to track between the same sequences, but in opposite order.
Figure 6B is a diagram showing a format for control information in a control region 140 for a preferred 88 MB removable disk cartridge. The format of Fig. 6B comprises a preamble 180, an ID field 181, a first gap 182, a sync field 183, an alignment field 184, an index field 185, a track identification field 186, a second gap 187, a servo field 188, and a third gap 189. In a preferred embodiment, the preamble 180 is 96 bits long; the ID field *181 is 52 bits long; the first gap 182, sync field 183, alignment field 184, and index field 185 are each four bits long; the track identification field 186 is 48 bits long; the second gap 187 is 14 bits long; the servo field 188 is 49 bits long; and the third gap 189 is nine bits long.
The servo field 188 is comprised of two sub-fields 190, which are denoted in Fig. 6B as an A-burst 191 and a B-burst 192. The A-burst 191 preferably comprises a sequence of 25 bits, while the B-burst 192 preferably comprises a sequence of 24 bits. The A-burst 191 alternates from track to track between a first sequence for even numbered tracks 131, and a second sequence for odd numbered tracks 131. Likewise, the B-burst 192 also alternates from track to track between a first sequence for even numbered tracks 131, and a second sequence for odd numbered tracks 131.
Each bit or flux transition in the A-burst 191 or B- burst 192 corresponds to, e.g., 100 nanoseconds for a disk spinning at a rate of 3220 RPM. The control region 140 for the format shown in Fig. 6B may therefore comprise
28.4 microseconds of information (i.e., for 284 bits of control information) .
Figure 6C is a diagram showing a format for control information in the control region 140 for a preferred 200 MB removable disk cartridge. The format of Fig. 6C comprises a spin speed field 200, a write-to-read field 201, an automatic gain control (AGC) field 202, a DC gap 203, a sync field 204, an index field 205, a track number field 206, a preburst field 207, and a servo field 208. In a preferred embodiment, the spin speed field 200 is 26 bits long; the write-to-read field 201 is 184 bits long; the AGC field 202 is 80 bits long; the DC gap 203 is 85 bits long; the sync field 204 and the index field 205 are each 8 bits long; the track number field 206 is 96 bits long; the preburst field 207 is 4 bits long; and the servo field 208 is 92 bits long.
The servo field 208 comprises four sub-fields 210, which are denoted in Fig. 6C as an A-burst 211, a B-burst 212, a C-burst 213, and a D-burst 214. Unlike the control formats for the 44 MB removable disk cartridge or the 88
MB removable disk cartridge described above with respect to Figs. 6A and 6B, the control format of Fig. 6C for the 200 MB removable disk cartridge has C and D servo bursts in addition to A and B servo bursts. Each of the sub- fields 210 is 23 bits long and forms a repeating pattern alternating from track to track.
Each bit or flux transition in the control information of Fig. 6C may represent, e.g., 62.5 nanoseconds for a disk spinning at a rate of 3220 RPM. The control region 140 for the format shown in Fig. 6C may therefore comprise
36.4375 microseconds of information (i.e., for 583 bits of control information) .
Control information in the control region 140 is used by the disk drive for a variety of purposes, including operations of track seeking and track following. Track seeking is the process of selecting and finding one track from among a plurality of tracks 131 for reading and/or
writing, while track following is the process of staying aligned with the track once it is selected.
To expedite track seeking, the tracks 131 are identified in consecutive numerical order from the outermost track to the innermost track. The identifying number of each track is represented in Gray code, a well known numerical encoding system in digital applications. Each Gray code address comprises a sequence of l's and O's and differs from the immediately preceding Gray code address by the change of only a single digit.
Track seeking is accomplished by means well known in the art, using, for example, a track seeking servo- mechanism. Generally, as the disk 130 rotates, the head 40 is extended over the disk 130 for reading the information stored thereon. The head 40 periodically reads control information, including Gray code track
'addresses and servo bursts located in the control regions
140 prewritten on the disk 130. The Gray code addresses provide an indication of the present location of the head 40. As the head 40 approaches the desired track 131, the velocity of the head 40 is reduced until the head 40 comes to rest over the desired track 131, and track following algorithms are employed to maintain the position of the head 40 over the selected track 131. Information read by head 40 is provided to a control information parsing block, such as shown in Fig. 12, which separates the control information into its various constituent parts, including the Gray code indicating the present track location. The control information parsing block 270 reads the servo control bursts, such as the A- burst, the B-burst, the C-burst, and the D-burst, and provides the servo information to a servo error feedback signal generator block 255. The servo error feedback signal generator block 255 provides servo error signals 253 and 254 to a microprocessor 252. The first servo error signal 253 is derived from the A-burst and the B- burst, while the second servo error signal 254 is derived
from the C-burst and the D-burst. For systems using only two servo bursts instead of four servo bursts, only one servo error signal is typically generated.
The microprocessor 252 comprises an analog-to-digital (A/D) converter 256 which receives the servo error signals 253, 254 and converts them into digital form. The Gray code output by the control logic block 270 is provided to an ASIC 271, which may perform operations such as stripping off sector information if necessary and translating the Gray code address into a binary or base- two numerical track value 272. The track value 272 is also provided to the microprocessor 252. The microprocessor uses the information input through the A/D converter 256 and provided by the ASIC 271 to perform feedback control of the head in a manner well known in the art, based on an input track command 274.
The microprocessor 252 outputs a head position command to a digital-to-analog (D/A) converter 266. The D/A converter 266 provides the converted head position command to a power amplifier 267, which generates a control signal to control an actuator or other component associated with the head 251, and thereby adjust the head position over the desired track.
Track following is accomplished using control information, primarily a repeating pattern of A/B servo information or A/B/C/D servo information (depending on the capacity of the cartridge 103), written on each disk 130 in the control region 140. Track following associated with the read/write channel in the disk drive generally functions in a manner understood by those skilled in the art to ensure accurate positioning of the read/write heads over the specified data tracks on the surfaces of the disk in the cartridge during read and write operations . Nevertheless, some details relating to track following and the use of A and B (or quadrature) servo samples to facilitate such are provided immediately below.
Figure IA is a diagram depicts a portion of the magnetic medium on a disk, and shows an A region 300 and a B region 301. The border between the A region 300 and the B region 301 defines the center of a track 302. A data region 302 follows the A and B regions 300, 301, and may also follow a gap (not shown) . In the example of Fig. IA, the A region 300 precedes the B region 301 and occurs once for a given track 131 in the control region 140 of each sector 132. Generally, in even numbered tracks, the amplitude of the "A" burst increases as one moves toward the outer diameter of the disk while the amplitude of a "B" burst increases as one moves toward the inner diameter. The reverse is true for odd numbered tracks; that is, the amplitude of the "B" burst increases as one moves toward the outer diameter of the disk while the amplitude of a
'"A" burst increases as one moves toward the inner diameter. The track number usually increases as one moves from the outer diameter to the inner diameter. Of course, known exceptions to these generalities exist, and the present invention in its various embodiments, with appropriate changes, applies to these exceptions as well.
In operation, a read/write head 40 traverses the magnetic medium in an attempt to read or write information along a particular track 131. The disk 130 is rotated in a direction such that the head 40 first traverses the A region 300, reading magnetic information, and then the B region 301, reading further magnetic information. By comparing information from the A region 300 and the B region 301, the disk drive 101 determines if the head 40 is on track.
To prevent the head 40 from reading extraneous data located on adjacent tracks 131, the width of the head 40 is preferably some fraction, such as 80%, of the width of the track 131. A head width of less than full track width also prevents the head 40 from overwriting the edges of adjacent tracks 131 during a write operation.
The A region 300 and B region 301 each comprise static magnetic data that is prewritten at the time of manufacturing on each disk 130. The magnetic data in each of A and B regions 300, 301 preferably comprises a predefined pattern of l's and O's (e.g., flux transitions or no flux transitions) otherwise referred to as a "burst", such as described previously with respect to Figs. 6A-6C. The terms "A burst" and "B burst" are sometimes used to denote a reading of data in the A region 300 and a reading of data in the B region 301, respectively. The disk drive may measure the energy of the A and B bursts (i.e., the area underneath the signal waveform) or, in a preferred embodiment, may measure and store the highest signal peak of each of the A and B bursts using a peak detector or similar conventional device.
As noted, the head 40 reads burst data first from the A region 300 and then from the B region 301. The head 40 typically does not remain precisely centered in the track 304, but may stray from the track center 302 from time to time during a reading or writing process. The A and B embedded servo data is commonly used to re-align the head 40 in the track center 302.
Figure IB is a graph showing how the amplitude of the A and B burst signals varies from the track center 302. In Fig. IB, the amplitude 306 of the A burst, for example, increases until it reaches a maximum indicating a saturation region 10 when the head 40 is positioned at the edge of the track 304 (i.e., entirely within the A region 300) . The A burst amplitude 306 then steadily decreases as the head 40 leaves the A region 300 and enters the adjacent B region 301. It may be observed that the A burst amplitude 306 overlaps with adjacent B burst amplitudes 308, due to the fact that the head 40 straddles at least part of an A region 300 and a B region 301 where the overlaps occur.
The servo loop within the disk drive 101 preferably operates to prevent the head 40 from straying completely in either the A region 300 or B region 301 and thereby prevent saturation. More specifically, the servo loop measures the difference between the A and B amplitudes and generates a servo error signal indicative of the distance from the track center 302. Figure IC is a graph of an A/B servo feedback waveform 309 associated with the servo pattern of Fig. IA. The servo loop within the disk drive preferably operates to provide track following correction prior to the head 40 reaching a saturation region 10, at which point useful feedback information is no longer provided to the disk drive 101.
Some of the difficulties associated with track following may be overcome by using a different servo pattern which provides additional information to the
•control circuitry, such as the exemplary quadrature or
A/B/C/D burst pattern depicted in Fig. 14A.
In a particular embodiment, a higher-capacity removable disk cartridge has a sector format comprising a quadrature servo pattern such as that shown in Fig. 14A. The quadrature servo pattern comprises a plurality of temporally spaced magnetic regions, including A regions 501, B regions 502, C regions 503, and D regions 504. As with the A/B servo pattern, the border 505 between an A region 501 and a B region 502 defines the center of a track 506. The C region 503 generally appears immediately after the B region 502 and is offset therefrom by half of a track width, while the D region 504 generally appears immediately after the C region 503 and is offset therefrom by a full track width as shown in Fig. 14A.
The quadrature burst technique generally provides additional useful information over the dual burst technique. In particular, use of C and D servo bursts provides the disk drive with information during times when the head may otherwise be near or in saturation using only A/B feedback. Illustrative feedback signals and other
waveforms associated with one of the head paths 507 are depicted in Figs. 14B and 14C.
Figure 14C is a timing diagram depicting the relative timing of certain waveforms in accordance with an exemplary head path 507 shown in Fig. 14A. A timing or search window, wherein servo information or other particular data may be searched for, is opened up by activation of a search signal 523 as may be provided by a microprocessor or other timing and/or control logic. Data from the disk is read until a servo mark 531 (e.g., such as the DC gap 203 shown in Fig. 6C) is recognized. Following the servo mark 531, a burst of control information is read. Following a sync burst 525 and an index burst 526 appears a Gray code address 527, corresponding to the track address 510 depicted in Fig.
14A preceding the quadrature burst pattern. Following the
-Gray code address 527 is a servo burst pattern as may be generated when the head traverses some or all of the quadrature servo regions 511 shown in Fig. 14A. The size of the rectangles 528, 529 and 530 are meant to illustrate the relative amplitudes or energy of the quadrature servo bursts.
For the particular head pattern 507 shown in Fig. 14A, the head 509 is centered in the middle of the track 506 so that the A burst 528 and the B burst 529 are roughly the same size. No servo burst (i.e., no rectangle) is shown for a C region 503 because, in the exemplary head pattern 507, the head 509 does not traverse a C region 503. Following the A burst 528 and B burst 529, and a gap 532, is a D burst 530. The amplitude or energy of the D burst 530 is roughly twice the amplitude or energy of the A burst 528 or B burst 529 because the head 509 traverses directly over the D region 504, rather than over merely some fraction thereof. A preferred quadrature burst pattern and partial track layout are depicted in Figs. 14D-14E. The particular burst pattern and track layout shown in Figs. 14D-14E
provide improved track following by reducing or eliminating offset errors in the servo position feedback signal caused by mismatches in the A and B magnetic burst patterns. Use of C and D servo bursts provides the disk drive with information during times when the head 40 may otherwise be near or in saturation using only A/B feedback. A graph of quadrature servo data is shown in Fig. 14B. An A/B differential or A/B servo error signal pattern 520 (e.g., representing A - B) is shown plotted as a function of distance from track center 505 and head position as the head 509 moves across tracks 506. Also depicted in Fig. 14B is a C/D differential or C/D servo error signal 521 (e.g., representing D - C) plotted as a function of head position as the head 509 similarly moves across tracks 506.
As shown in Fig. 14B, the A/B and C/D servo error
'signals 520, 521 are offset from one another, and one of the two signals 520 or 521 approaches zero when the other is at a maximum (e.g., potentially near saturation) . Thus, when the A/B servo error signal 520 is close to saturation, the C/D servo error signal 521 is not saturated and may be used to provide useful feedback information pertaining to the head position and to guide the head 509 along the track center 505 or to a desired position. The quadrature burst technique is particularly useful for rapid track seeking, as it supplies additional feedback information to the disk drive as the head 509 searches for a specific desired track 506.
Further information regarding the quadrature servo pattern may be found in U.S. Patent Application Serial No. 08/412,657, previously incorporated herein by reference, as well as in U.S. Patent Application Serial No. 08/330,268 filed on October 26, 1994, which is hereby incorporated herein by reference as if fully set forth herein.
The problem of servo position offset error in the context of the A/B (i.e., non-quadrature) servo system may
be described in more detail as follows. The accuracy of the servo position error signal -- that is, the degree to which the derived position error signal truly represents the misalignment between the head and the track centerline -- is a function of magnetic matching between the A burst, and B burst. The influence of surrounding magnetic: patterns can cause distortions in the signal obtained from the read/write head as it reads the A and B bursts during servo operation. Specifically, the A burst may be influenced by the magnetic transitions of a preceding Gray code or other neighboring fields, and by magnetic transitions which form the B burst on the opposite side following the A burst. Similarly, the B burst may be magnetically influenced by its surrounding neighbors including, for example, a preceding A burst on one side and a C burst following on the other side.
Because the A region is generally surrounded by a different magnetic environment than the B region, the A burst signal read by the read/write head is distorted in a slightly different fashion than the B burst signal. This difference in distortion skews the error signal generated when comparing the A burst with the B burst, and in turn impairs the ability of the servo system to precisely measure the extent of misalignment between the head and the track centerline. The effect is to cause the head to become offset by some amount from the nominal track centerline.
In order to cancel out the offset from nominal track centerline caused by differential magnetic distortion of the A burst relative to the B burst, an alternating sequence of A/B bursts is utilized in special calibration tracks 1052, 1053 such as shown in Fig. 14E.
In one calibration track 1052 of Fig. 14E, in a servo sector N, an A region is neighbored on the left by a Gray code and on the right by a B region. The B region in servo sector N is neighbored on the left by an A region and on the right by a C region. The C and D regions are
in quadrature relation such that, depending on the track, the C region or the D region may or may not be present in a particular track. Generally, the A region is located above the track centerline while the B region is located below it. In this context, the terms "above" and "below" apply to relative positioning of the A region and the B region, and are not intended to necessarily have other physical meaning.
In a next servo sector N+l circumferentially located on the calibration track 1052, the position of the A region relative to the B region is switched so that the B region is neighbored on the left by a Gray code and on the right by the A region, while the A region is neighbored on the left by the B region and on the right by a C region. As with servo sector N, the A region is generally located above track centerline and the B region below track 'centerline.
The alternating pattern created by switching the position of the A region relative to the B region in consecutive servo sectors 1060 is repeated for the remaining servo sectors 1060 for each of the calibration tracks 1052, 1053. In a particular embodiment each calibration track 1052, 1053 has 60 servo sectors 1060.
Figure 14E also depicts data tracks 1055 and 1056. The pattern of A, B, C and D bursts in data tracks 1055, 1056 do not alternate from sector 1060 to sector 1060. A calibration track 1053 is preferably separated from a data track 1055 by a transition track 1054, such as shown for example in Fig. 14E. A calibration track 1052 is also preferably separated from a guard band track 1050 by a transition track 1051.
A calibration routine making use of the calibration tracks 1052, 1053 may be performed during an initialization mode so as to provide later compensation for the measured offset of the system from the nominal or ideal track centerline. One or more calibration tracks 1052, 1053 encoded with the alternating servo pattern
shown in Fig. 14E may be involved in this calibration routine.
In this calibration method, the system makes use of the alternating "A/B" - "B/A" servo burst pattem described with respect to calibration tracks 1052, 1053. Upon readback, the average of the position error signals for the odd numbered servo sectors 1060 is subtracted from the average of the position error signals for even numbered servo sectors 1060 and then divided by two to obtain an offset error. The error signals may be summed and averaged over one, or preferably several, disk revolutions. The summed signal is then subtracted from the servo position error signal, as further described herein, so as to reduce or eliminate the effect of magnetic and electrical offset.
The calibration process involves operations over one, or preferably more than one, disk revolutions. Over several revolutions of the disk, the position error values for even numbered sectors 1060 are summed (accumulated) , and the position error values for the odd sectors 1060 are likewise summed. At the end of the disk revolutions, the summed position error signals are averaged separately for even sectors 1060 and for odd sectors 1060. The average of the odd sector error is then subtracted from the averaged even sector error. The result is divided in half (where two calibration tracks are used) to obtain calibration offset value corresponding to magnetic distortion for a single track on the disk.
Mathematically, the operation may be represented by the equation:
R 2 R l 2 -i
Σ Σ X. 271, 171 ∑ ∑ jr 2. /1 + 1 , 17!
Offset-- m=i n«o m-l /J=0
^ •i? ^ 'i?
WHERE X2rirt- is the position error signal for an even numbered servo sector 2n during revolution m;
X2n+1 is the position error signal for an odd numbered servo sector 2n+l during revolution m; S = the total number of servo sectors (which is equal to 60 in a preferred embodiment) ; and
R = the number of revolutions of the disk that the operation is performed over. In a preferred embodiment, R > 1. * The calibration offset obtained as a result of the above calculations is then subtracted out of the position error signal as shown in Figs. 13A and 13B at summing junction 1016. A corrected position error signal is thereby obtained so that the read/write head remains positioned over the centerline of the track. The offset correction signal need only be measured once at initialization for a particular disk, and thereafter may be stored and maintained as a constant during disk drive operations to continuously provide compensation as the system offset error signal shown in Fig. 13B. The measured offset value need not be re-calculated until a new disk is inserted in the disk drive 101.
Although Fig. 14E depicts two calibration tracks 1052, 1053, any number of calibration tracks may be present, where all, or any subset, of the calibration tracks may be used in the calibration routine. Additionally, the calibration track or tracks may be located adjacently or at multiple locations on the disk, as desired. For example, if the density of tracks is increased, negligible current effects and other distortions may become
significant so that additional non-adjacent calibration tracks may become desirable. Although calibration tracks are preferably located near the outer diameter of the disk, in some dense-track embodiments the calibration tracks may be placed near the inner diameter of the disk and/or at other locations on the disk.
Figures 13A and 13B are block diagrams of a closed loop servo system for reducing or eliminating position error offset, and may be used in conjunction with the preferred servo pattern depicted in Fig. 14E. In Fig. 13A, an A/B burst track locator 1010 and summing junction 1012, whose constituent components are well known in the art and are shown in greater detail in Fig. 13B, generate a position error signal that represents the actual physical position error of magnetic head transducer 1043.
In Fig. 13B, voice coil actuator 1022, which is preferably a rotary actuator, generates a position signal to control movement of the magnetic head transducer 1043.
The magnetic head transducer 1043 outputs a signal representative of the information read from the track. The output signal from magnetic head transducer 1043 is coupled to an automatic gain control (AGC) circuit 1044, whereby the voltage of the signal is increased to a normalized level. The AGC circuit 1044 provides the normalized signal to a demodulator 1045.
Demodulator 1045 selectively couples the appropriate: portions of the normalized signal from the AGC circuit 1044 to an A burst rectifier and peak detector 1046 and B burst rectifier and peak detector 1047. Thus, demodulator 1045 couples the A burst signal to A burst full wave rectifier and peak detector 1046, and the B burst signal to B burst full wave rectifier and peak detector 1047. Each of rectifier and peak detectors 1046 and 1047 rectifies an incoming signal from demodulator 1045, detects the peaks of the rectified signal, and provides the peak voltage to a summing junction 1012. Summing junction 1012 subtracts the input signal applied to its
negative terminal from the input signal applied to its positive terminal, and may comprise a difference amplifier.
Ideally, the magnetic head transducer 1043 stays positioned over the track centerline thereby reading an equal amount of the A burst and the B burst. In this ideal condition, the peak voltages received by summing junction 1012 are equal, and hence, summing junction 1012 outputs a zero-valued physical position error signal. However, when the magnetic head transducer 1043 drifts off the track centerline, i.e., the magnetic head transducer 1043 becomes positioned over more of one of the A burst or B burst than the other, then the output of A burst full wave rectifier and peak detector circuit 1046 differs from the output of B burst full wave rectifier and peak detector circuit 1047. As a result, summing junction 1012 -outputs a non-zero signal representing the physical position error of the magnetic head transducer 1043.
The position error signal generated by summing junction 1012 is coupled to the positive terminal of summing junction 1016. The measured calibration offset of the system, the derivation of which is explained previously in more detail, is coupled to the negative terminal of summing junction 1016. Summing junction 1016, which may comprise a difference amplifier, subtracts the measured calibration offset from the position error signal to produce a position error signal corrected for offset, and thereby generates a corrected position error signal which is provided to a compensator 1018. Compensator 1018 may comprise an analog-to-digital (A/D) converter to convert the corrected position error signal into a digital signal. Compensator 1018 may further include a microprocessor for determining, based on the digitized error correction signal, a position command to apply to the voice coil actuator 1022, and a digital- to-analog (D/A) converter to convert the position command into an analog signal . The analog signal generated by
compensator 1018 (e.g., output from the D/A) is amplified by an amplifier 1020 and coupled to the voice coil actuator 1022, which in turn controls the movement of head transducer 1043. In the above manner, a closed loop servo system for repositioning the head to the track centerline is maintained.
In addition to correcting for offset to the position error signal caused by magnetic distortion, a switching circuit may be employed to alternately switch the outputs of demodulators (e.g. peak detectors) between the inverting and non-inverting terminals of an amplifier as shown in Fig. 15. In Fig. 15 electrical distortion is generated by the differences in peak detector paths, which influences the output of rectifier and peak detectors A 1030 and B 1032 in a differential manner creating a corresponding and undesirable electronic offset. At every
'servo sector, the rectifier and peak detectors 1030 and
1032 are switched or "swapped" by switches 1034 and 1036 so that the output of the rectifier and peak detector A is alternated between non-inverting amplifier terminal 1040 and inverting amplifier terminal 1042. Similarly, the output of rectifier and peak detector B 1032 is switched between the inverting amplifier terminal 1042 and the non- inverting amplifier terminal 1040. When the output of rectifier and peak detector A 1030 is applied to non- inverting terminal 1040, the output of rectifier and peak detector B 1032 is applied to inverting terminal 1042. At the next servo sector the outputs of rectifier and peak detectors A 1030 and B 1032 are switched so that the output of rectifier and peak detector A 1030 is applied to the inverting terminal 1042 and the output of rectifier and peak detector B 1032 is connected to non-inverting terminal 1040. This alternating sequence continues for every servo sector on a given track. Switches 1034 and 1036 are preferably transistors.
Further details regarding a preferred disk drive system in which the invention may operate can be found in
U.S. Patent Ser. No. 08/412,657, previously incorporated herein by reference.
Difficulty with track following is particularly acute where higher-capacity drives are required to read lower- capacity removable disk cartridges. Because track widths for higher-capacity drives are smaller than those for lower-capacity drives, the read/write heads of higher- capacity drives are correspondingly smaller as well . The smaller high-density heads may cause problems when reading from, and especially when writing to, lower-capacity cartridges 103. When a higher-density head reads lower- capacity cartridges, the burst signal amplitudes may reach only a fraction of their possible maximum values, such as 30% of the maximum possible values. The burst signal amplitude characteristic may thus significantly change when a smaller head 40 is used to read a wide track 304
'such as is characteristic of a lower-capacity cartridge
103. In particular, the A/B feedback signal 309 may more easily enter a saturation region 10 at which point the A or B burst signals no longer provide useful feedback information.
The ability for the head 40 to successfully follow a track 304 assumes that the servo sample information read by the head 40 is not defective. Conventional systems, as noted previously, define a window around the predicted position error signal within which the measured position error must fall, or else a disturbance (such as a defective servo sample) is assumed. However, the window technique does not always lead to proper identification of bad or defective samples,- in fact, sometimes it leads to mistaken identification of good samples as bad samples.
Figure 2A and 2B are waveform diagrams illustrating mis-identification of good and bad servo samples in a conventional servo system. In Fig. 2A, a series of sample "impulses" or sample points 53 are derived from servo sample information on the disk, and result in a waveform 51 having an envelope as shown. A window 50 is defined
such that if a sample point 53 lies outside of the window 50, it is considered a defective servo sample. In Fig. 2A is shown a sample point 52 that lies outside of the window 50, but nevertheless represents the true or accurate position information of the read/write head 40. Thus, the. servo point 52 is mis-identified by the conventional servo system as associated with a bad sample.
In Fig. 2B, a similar series of sample points 57 are likewise derived from servo sample information on the disk, and result in a waveform 55 having an envelope as shown. Figure 2B shows the situation of a bad or defective servo sample resulting in a sample point 56, but because sample point 56 associated with the defective servo sample lies within the predefined window 50, the servo sample is not identified as a bad or defective sample by the conventional servo system.
Thus, in either of the situations illustrated by Fig. 2A or 2B, the conventional servo system mis-identifies the character of the servo sample information on the disk. This may lead to misalignment of the head 40 with respect to the track center line, and will worsen the dynamic response of the system.
To address the problem caused by defective servo samples, it is useful to analyze the servo system as a plant model. Figure 3A is a block diagram illustrating a servo system. The Fig. 3A system includes an input signal 61, a summing block 63, a compensator 65, a zero-order hold (ZOH) block 67, a plant 69 (e.g., the target to be controlled) , and output signal 71, and a sample-and-hold (S/H) block 73. The plant 69 represents the read/write head 40. The compensator 65, which may be analog or digital, represents the read/write head controller. The sample-and-hold block 73 and the zero order holder block 67 are shown in the control loop because disk drive servo loops are generally discrete.
Generally, for the purposes of Fig. 3A, a sample impulse input signal comprises two amplitude components ---
a first component representing the true position of the read/write head, and a second component comprising a "disturbance" function. The disturbance function may be caused, e.g., by noise (either external or internal) or a vibration or "shock" to the disk drive system, or may be caused by a defective sample. The reference input signal 61 (also denoted "r(k)") as used in Fig. 3A represents not the total sample impulse amplitude, but rather the "disturbance" portion of the sample impulse signal. Typically, when the servo samples are not defective and in the absence of noise or other disturbance factors, the reference input r(k) is zero. The output signal 71 (also denoted "y(t)") represents position of the read/write head The position y(t), or its discrete form y(k), is regulated. The output signal 64 from the summing block 63 (also denoted as "P2(k)") is a position error -signal ("PES") -- i.e., the error signal as seen by the compensator 65. When the reference input r(k) is zero, the position error signal P2 (k) is the same in magnitude as the discrete position y(k) (but is inverted in sign due to the summing block 63) , and therefore the position error signal P2 (k) can generally be said to represent the position of the read/write head 40 in the absence of a disturbance. When a defective servo sample appears, however, the position error signal P2 (k) no longer represents the true position of the read/write head 40. That is, the position error signal P2 (k) as seen by the compensator 65 is not correct. For the immediately following servo sample, assuming it is a good servo sample, the position error signal P2 (k) again represents accurate position information and is again equal to the discrete position signal y(k) . This phenomenon of a bad servo sample followed by a good servo sample is equivalent, for the purposes of Fig. 3A, to applying an impulse at the reference input 61 (i.e., reference signal r(k)) .
Since most disk drive servo systems are linear at least within a certain dynamic range, the response of the position error signal P2 (k) can be analyzed by assuming a unit impulse input for the reference signal r(k) . The obtained result can be scaled with the actual input amplitude.
Although the actual response of the position error signal P2 (k) to the impulse input for reference signal r(k) depends upon the individual system characteristics, some general conclusions can be drawn for a practical system. First, with respect to the discrete position signal y(k) , it is known that: y(k) = h(k) = yl(k) - yl(k-l) (1.1) where yl (k) represents the step response of the discrete position signal y(k) . For a causal and practical system, the step response yl (k) will fall in the following ranges -according to the value of k: yl (k) = 0, when k ≤ 0 (2.1) yl(k) > 0, when k ≥ 1 (2.2) since the discrete position signal y(k) will, according to the model of Fig. 3A, follow the step input for input signal r(k) . From the above relationships, the following can be concluded with respect to the values for the discrete position signal y(k) for sample-0 (i.e., y(0)) and sample-1 (i.e., y(l)) : y(0) = h(0) = yl(0) - yl(-l) = 0 (4.1) y(l) = h(l) = yl(l) - yl(0) > 0 (4.2)
From the above equations, the value or range of the position error signal P2 (k) for sample-0 and sample-1 can be determined in the context of Fig. 3A as follows:
P2 (k) = 0, when k < 0 (5.1)
P2(0) = δ(0) - y(0) = 1 (5.2)
P2(l) - δ(l) - y(l) = 0 - y(l) < 0 (5.3) where δ (k) represents an impulse function at sample-k. The change or delta in the position error signal P2 (k) from one servo sample to the next may be denoted ΔP2 (k) for servo sample k. In a conventional disk drive servo
system, the change in the position error signal P2 (k) for sample-0 and sample-1 without any corrective action may be expressed as follows:
ΔP2(0) = |P2(0) - P2(-l) I = 1 (6.1) ΔP2(1) = |P2(1) - P2(0) I > 1 (6.2)
From equations 6.1 and 6.2 above, certain conclusions may be derived. First, for a practical disk drive servo system, the delta or change ΔP2 (k) of position error signal P2 (k) at the bad servo sample time is not necessarily the largest. In fact, the position error signal delta ΔP2 (k) can be larger for a good servo sample immediately following a bad servo sample. Representing the disturbance input as an impulse input of amplitude M, i.e., r(k) = M*δ (k) , the position error signal change ΔP2 (k) can be represented as follows:
ΔP2(0) = |P2(0) - P2(-l) | = M (7.1)
ΔP2(1) = |P2(1) - P2(0) I = a*M ≥ M (7.2)
Although it cannot be known for all disk drive servo systems whether the position error signal change ΔP2(1) for sample-1 would be bigger than the position error signal change ΔP2(0) for sample-0, for a well-designed system (i.e., a disk drive servo system having a fairly rapid response to the position error signal P2 (k) ) , the latter position error signal change ΔP2(1) is usually the biggest.
Figures 3B-3D are waveform diagrams graphically illustrating the above explained phenomenon. For the purposes of Figs. 3B-3D, the amplitude of the disturbance M is taken to be 0.1. Figure 3B is a graph of input reference signal r(k) showing a step input waveform 81.
Waveform 81 has a step from zero to 0.1 at servo sample-1
(a bad servo sample) , but then returns to zero at servo sample-2 (a good servo sample) . Figure 3C is a graph of the output signal y(t) for the input reference signal r(k) shown in Fig. 3B. In Fig. 3C, waveform 83 represents the output signal y(t) that rises in response to the step input of waveform 81, but then peaks and returns toward
zero after the compensator 65 responds to the disturbance represented by the step input. Figure 3D is a graph of the position error signal P2 (k) associated with waveforms 81 and 83 in the graphs of Figs. 3B and 3C, respectively. The position error signal waveform 85 first follows the step input at servo sample-1, but then at servo sample-2 (a good servo sample) provides a large swing in the opposite direction. This large swing is due in part to the combined effect of the step input of waveform 81 returning to zero at the same time that the compensator 85 is providing a compensating command responsive to the step input waveform 81 in the same direction.
In Fig. 3D are graphically shown a first position error signal delta ΔI associated with servo sample-1 and a second position error signal delta Δ2 associated with servo sample-2. The position error signal delta Δ2 for βervo sample-2, although associated with a good servo sample, is larger than the position error signal delta ΔI for servo sample-1. For a convention disk drive servo system, depending on where the window threshold TH is set, it is possible that ΔI may fall within the window (and therefore be mis-identified as a good servo sample) , while Δ2 may fall outside of the window (and therefore be mis- identified as a bad servo sample) . Thus, based on the above analysis, a conventional disk drive servo system according to the Fig. 3A model with a window threshold TH will perform properly with respect to a bad servo sample only if the disturbance amplitude M exceeds the window threshold TH (i.e., M > TH) . In the case where the disturbance amplitude M is less than the window threshold TH (i.e., M < TH) , then the system will fail to detect the bad servo sample. Worse yet, if the disturbance amplitude M is also such that the factor a*M (as defined in equation 7.2 above) exceeds the window threshold TH (i.e., M < TH < a*M) , then the servo system would incorrectly assume that the sample-2 is a bad servo
sample and would ignore it, thereby worsening the tracking performance.
To overcome the above described problems, a system according to the present invention is provided with means to identify and record the locations of bad servo sectors. The preferred embodiment of the present invention detects the location of bad samples through a self-learning process and obtains the correct position information from bad samples by a self-repairing process. The preferred system is well-suited for operation in a disk drive servo system due to the periodic nature of the disk input, which repeats each revolution and therefore presents an opportunity for recorded information concerning bad or defective servo samples to be used to mitigate the disturbances caused by such samples.
A self-learning process in accordance with one -embodiment of the present invention comprises several main steps, as illustrated in Fig. 8. In a first step 501 as shown in Fig. 8, the process involves detecting a "disturbed" location on the disk 130. This step is preferably carried out by locating a large position error signal delta. The disturbed location does not necessarily represent a bad or defective servo sample; it could also represent noise or a physical shock to the disk drive. In a next step 502, after a disturbed location is identified in step 501, the process involves establishing a set of error location vectors for the current track 131, with each element of each error location vector corresponding to a servo sample location for the track 131 on which the disturbance was detected. The details of step 502 are discussed more fully hereinafter with respect to the Fig. 10 flow chart and elsewhere. In a following step 503, the system performance is measured for each error location vector. Usually, with only one detected disturbance, only two error location vectors are established, as detailed further herein. Accordingly, step 503 is preferably performed in just a few .disk
revolutions -- e.g., two or three disk revolutions -- one revolution for each error location vector.
As explained more fully hereinafter, the system performance measurements for the error location vectors provide position error signal correction information based on a prediction of the location of defective servo samples. With each error location vector, if the performance improves when the error location vector is applied, then the assumption is taken to be correct, and the location of the defective sample is stored. If the performance is worse upon application of the error location vector, then the assumption is taken to be incorrect, and a different error location vector is used.
After several disk revolutions, in a step 504, the defective servo sample location or locations are identified and stored in memory. At this point, the self- -Learning aspect is considered complete, unless future disturbances occur. In step 505, in further read and write operations of the disk, the system adjusts for bad servo samples by any of a variety of possible approaches. For example, the system may choose to ignore the position error signal information at a known bad servo sample location. Alternatively, a compensating position error signal vector is stored in memory, and used to adjust the position error signal read at the bad servo sample location. These and other alternatives are discussed also in more detail hereinafter.
A particular embodiment of a disk drive system used in conjunction with the self-learning process explained with respect to Fig. 8 is shown in Fig. 9. Figure 9 shows a micro-controller 521 connected to a servo/spindle controller 523, which is connected to a spindle motor 525. The spindle motor 525 controls a spindle 526, which rotates a disk 528. The servo/spindle controller 523 is also connected to a voice coil motor 530, which controls the position of a read/write head 533 with respect to the disk 528. Position information signals 529 are provided
to a read/write channel processor 532, which thereby reads information stored on the disk 528 and, among other things, parses certain control information. The read/write channel processor 532 provides servo burst sample information read from the disk 528 via lines 534 to the micro-controller 534.
The micro-controller 521 is connected to a micro¬ controller system bus 540. Also connected to the micro¬ controller system bus 540 are a program memory 542, an interface controller 544 (e.g., such as manufactured by CIRRUS under the product number SH385) , and an application-specific integrated circuit (ASIC) gate array 537. The ASIC 537 is connected by local control and status lines 538 to the interface controller 544, and by other local control and status lines 535 to the read/write channel processor 532. The interface controller 544 is -connected to a data memory 546 by a local bus 547, and to a host by a host interface 543.
Reading or writing is carried out by the read/write channel processor 532 under ultimate control of the micro¬ controller 521. Upon the failure of an attempt to read or write to the disk 528, the disk drive system checks to see whether a disturbance has caused the failure, and whether the disturbance resulted from detection of a bad servo sample. If so, then, in a preferred embodiment, the disk drive system invokes a self-learning subroutine to identify and record the location of the bad servo sample and, optionally, to derive a position correction command for future read and write operations for the given track. A flow chart for a self-learning subroutine is shown in Fig. 10. The self-learning process to which the Fig. 10 flow chart relates may generally be described as follows. First, however, it should be noted that the flow chart of Fig. 10 assumes a single defective servo sample in a given track. While the process of Fig. 10 may be generalized, as described later herein, to a situation where there are more than one defective servo samples for
a given track, it is most common in present systems to have only a single defective servo sample.
In accordance with one embodiment of the learning subroutine, a track 131 having N servo samples is represented as a vector V of size N, with the elements being only zeros and ones. There is a one-to-one correspondence between the elements of vector V and the locations of servo sectors. In one embodiment, for example, each good servo sector in track 131 may be represented by a "1" in the corresponding position of vector V, while each servo sector in track 131 for which a disturbance was detected may be represented by a "0" in the corresponding position of vector V. The contents of vector V for a particular track 131 may thus appear as follows:
V = [1,1,1, ..., 1,0,1, ... 1,0,1, ... 1] When controlling the read/write head 40, for each good servo sample (i.e., where V(k) = 1), the actual measured position (i.e., the position derived from the servo sample k) of the read/write head 40 will be used. For each servo sample having a disturbance (i.e., where V(k) = 0), the measured position for servo sample k will be ignored, and a predicted position will be used to control the read/write head 40 instead. Many methods of predicting position are known in the art and include various forms of estimation, the simplest of which is to use the position of the previous servo sample. In such a case, the position error signal formula may be expressed as follows: PES(k) = M(k) * V(k) + P(k) * [1-V(k) ] (8.1) where M(k) is the measured head position from sample k, and P(k) is the predicted head position for sample k based on sample k-1, and PES(k) is the position error signal for sample k. In order to analyze how well the servo performed or tracked over a given region of the disk, a performance function may be defined to provide a quantifiable
indication of servo performance. A preferred performance function is given as follows:
for samples from m = 0 to m = n-1, where PES (m) is the position error signal for sample m, and where d is the resulting performance indicator. The smaller the performance indicator d is, the better the servo tracking performance. When d = 0, all of the position error signals PES (k) equal zero for all the samples, indicating perfect head tracking performance.
Presumably, if the zero locations in vector V correspond exactly to the locations of the defective servo samples (if any) on the disk 528, then such a situation would lead to the best performance (i.e., the smallest d) . Accordingly, the task of identifying defective servo samples can in one aspect be seen as equivalent to
-searching for the zero positions in an optimal vector Vd -
- i.e., the vector V that makes the performance function d minimum. While the present method is applicable to disk drive servo systems in general, for most state-of-the-art disk drive servo systems the method is simplified by the assumption that the biggest disturbance usually occurs at the sample immediately after the defective servo sample, as has been described previously with respect to Figs. 3A- 3D. Considering the possibility that the disturbance could in an actual system be the result of noise or other factors, it may not be possible without more to conclude definitively that the servo sample is bad. However, when a large position error signal delta or disturbance is detected at sample k, it may assumed that, if the disturbance is indeed caused by a defective servo sample, the most likely locations for the defective servo sample are at the current and the preceding servo sample locations (i.e., samples k and k-1) .
The learning subroutine is not always invoked, but, in a preferred embodiment, is invoked only upon a failed read or write operation.
Before the learning subroutine is invoked, certain information relating to the location of the disturbed servo sample is preferably recorded when the disturbance occurs. When the servo system seeks a new track 131, a flag (known as the application flag) is cleared to disable the invocation of the self learning process. Read and write operations are thereafter performed normally. Whenever a large disturbance occurs (i.e., the position error signal delta exceeds the window threshold) , the location of the disturbance is recorded. When a read or write operation failure occurs, the learning subroutine is invoked to determine more precisely the location of the defective servo sample, based on the location of the 'detected disturbance.
As mentioned above, in a preferred embodiment, it is assumed that the location of a defective servo sample will correspond to either the location of the detected disturbance or the location of preceding servo sample. Accordingly, in a preferred embodiment, the performance indicator d is derived according to the performance function (equation 9.1) in two consecutive revolutions of the disk 131, yielding a first performance indicator dl associated with the first revolution and a second performance indicator d2 associated with the second revolution. The two performance indicator values dl and d2 are then compared. If the value of the first performance indicator dl is greater than the value of the second performance indicator d2, then the servo sample preceding the location of the detected disturbance is determined as the bad servo sample. If, on the other hand, the value of the first performance indicator dl is less than the value of the second performance indicator d2, then the servo sample corresponding to the detected disturbance is determined as the bad servo .sample.
Returning to the Fig. 10 flow chart, which illustrates a preferred embodiment of the present invention, when the learning subroutine is invoked at step 600, the application flag is cleared to zero. At a next step 602, the learning subroutine waits for at least one full revolution of the disk 528 during which the servo sample information is read (e.g., by a servo interrupt routine) . Waiting a full disk revolution allows the servo interrupt enough time to detect the location of the disturbance (assuming the disturbance will be reproduced) . If a disturbance is detected, the servo interrupt routine sets a disturbance flag.
At step 604, a check is made ensure that the track 131 indeed has a defective servo sample. Thus, if after a whole revolution the disturbance flag is not set, no defect on the track 131 has been located and it may be 'assumed that some other source, such as noise or movement of the device, caused the initial disturbance, and the learning subroutine is exited. If, on the other hand, a disturbance is detected, then the learning subroutine proceeds according to the flow chart of Fig. 10.
At step 606, the application flag is set (for future indication that the learning subroutine has been called and has operated) , and a first pass of the disk is initiated. For the first disk pass, it is assumed or estimated that the defective servo sample is at the same location where the disturbance was detected. A predefined number b of samples is selected. In a preferred embodiment, the predefined number b of samples is 10 samples. A defective sector variable is set to the location of the disturbance sector.
At a next step 608, the learning subroutine waits in a loop until the predicted defective sector location is reached. At the following step 610, the disk drive system waits for the next servo interrupt. At a following step 612, a first performance indicator dl is calculated. In the preferred embodiment, the performance function is
chosen to be the sum of the absolute values of the position error. Although using the square of the measured position error may lead to a somewhat more accurate performance indication value, calculating a square involves multiplication steps which are preferably avoided since the computation time is critical in the typical high-speed disk drive environment. However, other formulations of the performance function may be employed depending upon the system speed and accuracy requirements. Steps 610 and 612 are repeated until the predefined number of samples b -- in this case ten samples -- have been processed. In a next step 618, a second disk pass is initiated. In the second disk pass, it is assumed or estimated that the defective servo sample is the one which immediately precedes the servo sample at which the disturbance was detected. Steps 620 through 628 are thus
'identical to those of the first pass, except performance indicator d2 is calculated for the immediately preceding servo sample. The measured performance indicators dl and d2 are compared at step 630. Whichever performance indicator is lower is assumed to be the good servo sample; accordingly, the bad servo sample is assumed to be that associated with the higher performance indicator dl or d2. Steps 632 or 634 carry out this determination, and the learning subroutine is terminated at step 636.
Once the learning subroutine is completed, the defective servo sector is flagged and the learned results are used in subsequent revolutions of the disk. Afte;r detecting the location of defective servo sector m, the difference between the predicted head position P(m) and the position error signal PES P2 (k) is measured and averaged over several revolutions. At known bad sample occurrences, this difference is added to the measured position error signal and fed into the compensator. This causes the servo system to respond with the desired dynamics.
In the preferred embodiment, the learning processes uses the entire track 131 as a frame for detecting and measuring servo sample disturbances because manufacturing tolerances and other considerations make it practical to assume that, at most, only one servo sector per track will be defective. However, the same principles described above can be extended to more general cases. It is thus not necessary that the system be capable of responding to only a single defective servo sector per track 131. In an alternative embodiment, for example, a track 131 may be divided into a number of frames, each consisting of a number of servo samples. The frame length can have of any number of servo samples so long as there are at least enough samples to allow adequate evaluation of the performance function and derivation of the performance indicator d. In this alternative embodiment, one
'defective servo sample is allowable per frame. The same learning principles are applied on a frame-by-frame basis rather than a track-by-track basis, and each vector VN corresponds to a single frame instead of a whole track
131.
Further, the learning subroutine may use any of a variety of suitable performance functions for evaluating performance of the head positioning throughout the disk cycle. Where accuracy is relatively more important, as noted previously, a sum of the square of the position error for each sample may be utilized. In circumstances where computation time is more critical, the sum of the absolute value of the position error may be used as the performance function, as illustrated in Fig. 10.
The position information derived from the defective servo sector may or may not be used to help correct future head positioning. In cases where the servo information from the bad servo sample reliably gives a position with an offset from the true position, it can be used in future read and write operations to assist with control of the head position when the bad servo sample area is reached on
42 the disk 528. For example, the true position of the read/write head 533 can be determined by summing the calculated offset (as determined in the learning subroutine) with the measured position information from the "bad" servo sample. In some applications, this may be more desirable than merely discarding the position information read from defective servo samples.
While a quadrature burst pattern (such as described with respect to Figs. 14A-14E) provides a second position error signal based on C and D burst regions, a preferred embodiment of the present invention operating with a quadrature burst pattern disk uses only the A and B burst information to detect initial disturbances and analyze potentially bad servo samples under the set of error location vectors described above.
Details regarding operation of the disk drive servo 'system where a learning subroutine resides is explained below.
When a servo sample is read on the disk 528, the read/write channel 532 provides an interrupt to the micro¬ controller 521. When the micro-controller 521 receives the servo interrupt, it calls a servo interrupt subroutine to service the interrupt. A flow chart of the servo interrupt subroutine is shown in Fig. 11. In the Fig. 11 flow chart, the servo interrupt routine commences in step 561. In steps 562 through 570, the position of the read/write head 533 is measured in the conventional manner. Thus, at step 562, the cylinder number is read from the disk 528, and the sector number is incremented for subsequent use. In step 565, the disk drive system determines whether the cylinder number is odd or even. If the cylinder number is even, then the process branches to step 567, wherein the position error is calculated as follows: PES = (A - B)/(A + B) where PES represents the position error, "A" represents the A-burst amplitude, and "B" represents the B-burst
amplitude. If, on the other hand, the cylinder number is odd, then the process branches to step 568, wherein the position error is calculated as follows:
PES = - (A - B) / (A + B) Step 570 follows both steps 567 and 568. In step 570, the calculated position error PES is stored in an array location (e.g., "MeasuredPos (k) ") corresponding to the sector read. In a next step 571, the disk drive system determines whether or not a shock was sensed, such as may preferably be accomplished by means well known in the art. If a shock was sensed, then the process branches to step 587. The effect of this branching is to disable the calling of the self-learning subroutine on the assumption that the disturbance was caused by a physical or external source, not a bad servo sample. If, however, no shock was sensed, then the disk drive system branches to step 573.
In step 573, the disk drive system determines whether or not the learning subroutine has been previously invoked for the track 131, by checking an application flag. The application flag is cleared (i.e., set to zero) each time a new track 131 is selected. The application flag is set when the learning subroutine is called. If the application flag is not set, then the process branches to step 575. If the application flag is set, then the process branches to step 580. In either case, whether in step 575 or 580, the disk drive system next determines whether a previous disturbance has been detected for the track 131. The disk drive system does this by checking another flag (referred to as a disturbance detected flag) , which is set during the servo interrupt routine when a bad servo sample is detected.
If, in step 575, a disturbance has previously been detected (as indicated by the disturbance detected flag) , then the process branches to step 587. If, however, no disturbance has previously been detected, then the system measures the position error signal delta in the conventional manner. Thus, the position error signal
delta is calculated as the difference between the measured position (Measured_Pos (k) ) of the read/write head 533 and the predicted position (PredictedPos (k) ) of the read/write head 533. The predicted position of the read/write head 533 is determined in the servo control loop according to techniques well known in the art, and the calculations depend upon the specific system dynamics.
The calculated position error signal delta is compared against a predefined window threshold in the conventional manner. If the position error signal delta does not exceed the window threshold, then no disturbance is detected, and the process branches to step 587. If, however, the position error signal delta exceeds the window threshold, then the process continues to step 579, wherein a variable (Disturbed_Sector) is set to the current sector for later use (e.g., in the learning subroutine) . The disturbance detected flag is also set if the position error signal delta exceeds the predefined window threshold. Step 579 is followed by step 587. If the learning subroutine has previously been called, as indicated by the application flag being set, then in step 580 it is determined whether or not a previous disturbance has been detected (in a manner similar to step 575) . If no disturbance has previously been detected, then the process branches to step 587. If, however, a disturbance has previously been detected, then the process branches to step 582, wherein the disk drive system determines whether the current sector has been previously identified as a defective sector (i.e., a sector having a bad servo sample) by the learning subroutine. If not, then the process branches to step 587. If, however, the current sector has been previously identified as a defective sector by the learning subroutine, then the process branches to step 583. In step 583, it is assumed that the servo sample information is defective, and therefore should be ignored. Accordingly, the measured position (MeasuredPos(k) ) of the
read/write head 533 is taken to be the predicted position (PredictedPos (k) ) of the read/write head 533 for the current sector. Step 587 follows step 583.
In step 587, the position error for the current sector (pos_err(k)) is set to the measured position (MeasuredPos (k) ) of the read/write head 533 minus the desired position (DesiredPos(k) ) of the read/write head 533. Usually, in most operations, the desired position of the read/write head 533 will be the track center line. However, in some cases it is desired to move the head off the track center line. One situation where this may occur is during an erase operation, particularly where a relatively smaller read/write head 533 (as may be found, for example, in a higher capacity disk drive) is used to read a relatively lower capacity disk 528. Also in step
587, the servo compensator calculations (e.g., for the
•read/write head position adjustment command to be sent to the voice coil motor 530) are carried out in a manner well known in the art, and control parameters are updated. In a next step 589, the predicted position for the next sector (PredictedPos (k+1) ) is set to the measured position (MeasuredPos (k) ) of the read/write head 533 for the current sector. In the following step 591, the servo interrupt routine is exited. The following program listing, written in assembly code for the NEC 78356 microprocessor manufactured by NEC Corporation, sets forth a preferred manner of carrying out the present invention within a disk drive system such as the SQ1100 disk drive system manufactured by SyQuest Corporation.
Learning
This is the adaptive learning process for the servo to find the defect spot which makes the overall energy smallest. It assumes that big delta is found.
Register: Destroies Everything
Output: cy=0 if learning successful (Grade Pass) cy=l if learning failed (Grade Fail)
Edward Li public Learning Learning:
$_if Mon_Learning setl in_session $endif bump2_flg must be cleared before calling the routine setl cy Assume Fail first bt bump2_flg, $Quit_learning bt defect_detected, $LRNG1 Make it more tolerable ov B,#l One more chance to detect call !rev_delay Defect bf defect_detected, $Quit_leaming No defect found, quit LR G1: cmp defect_delta, #72 Check for invalid sector bge $trap_it mov b, #10 ; Number of samples to meas mov c, #2 ,- Number of classes mov a, defect_delta mov defect_sect, a ; pre_req:
; wait until passed defect_sect to avoid problem, do it later though mov a, !SVO_SECT_CNT see if the same cmp a, defect_sect bne $classl01 bt fatal_svo_fault, $quit_learning bf ontk,$quit_learaing Abort of not in ONTKmode (DMD) br $pre_req classlOl: setl bump2_flg ; Enable glide over mode ; wait until defect_sect arrives to measure the energy wait_class: mov a, !SVO_SECT_CNT ; see if the same cmp a, defect_sect be $class_begins bt fatal_svo_fault,$quit_learning bf ontk,$quit_learning ,-Abort of not in ONTKmode (DMD) br $wait_class ; wait for class begins
class_begins: movw ax, #0 movw RP4, ax clear the result mov R5, a class_loop: call !svo_sync bt fatal_svo_fault,$quit_learning continue only if not dead movw ax, pos_err bt a.7, $get_abs test sign addw RP , ax mov a, #0 addc R5, a br $abs_done get_abs: subw RP4, ax mov a, #0ffh a=sign extension subc R5, a abs_done: dbnz b, $class_loop dbnz c, $class201 push RP4 pop RP0 mov R4, a R5:R4«RP2 cmpw RP2, RP3 bit $Graduate RP2 small, and defect=k-l.ok mov a, defect_delta mov defect_sect, a graduate: clrl cy Give A Pass Grade
Quit_Learning:
$_if Mon _Learning clrl In_sessιon
$endif ret
class201: mov R7, R5 ,- save the partial result push RP4 pop RP0 a«R9 mov R6, a RP3=R7:R6 mov b, #10 mov a, defect_delta dec a the sector before bge $no_under mov a, #Samples-l Underflows, round back no_under: mov defect_sect,a br $pre_req ; go through the loop again
trap_it : setl cy ; trap point br $quit_Learning
*************************************************************************.
I********************************************************************** public pos_isr pos_ιsr :
$_if FAST_RAM=TRUE ; DMD FAST CODE br ! FAST_OMTRACK
$ENDIF
FAST_ONTRACK_START: DMD FAST CODE - START UPLOAD SECTION FAST ONTRACK ENTRY: DMD FAST CODE - ENTRY POINT
.***** ι-eset the missing DLT watchdog timer Reset_DLT_Watchdog ; EdL
****** ontk_svo:
;****************************************** 2-θ-93 movw ref_perr , pos_err ; save to use in next sample * ********************* ************ *********
movw ax, !SSM_STAT0 ,- get ssm status bytes bt x.b_tid_done,$got_trk bf x.B ADC DONE,$ontk svo ,- timeout got_tr : movw stat_shdw,ax ,- save image of status movw ax, !TRK_ID ,- read in track movw track_id,ax bf des trk.0,$even track ,- check for odd/even track odd_track: Wait_BURST_DONE ; exit interrupt if timeout mov a,ADCROH ; odd track, pos=a-b sub a,ADCRlH ; a=a-b=n br $mult katg ,- go adjust for transducer gain even_track: Wait_BURST_DONE ,- exit interrupt if timeout mov a,ADCR1H ,- even track, pos=b-a sub a,ADCROH ; a-b-a--n mult_katg:
NORMALIZE PES ; Normalize PES movw meas_pes, ax bt shock_sensed, $spd_chk Not defined yet bf bump2_flg, $meas_stage enable estimator only when enabled
; bump2_flg=l, it is set on retry, and we will use it bf defect_detected,$spd_chk no defect detect before, no luck mov a, !SVO_SECT_CNT get the sector number cmp a, defect_sect see if it's the defect location bne $spd_chk movw ax, est_pos real defect, use last pos_err movw meas_pes, ax br $spd_chk meas_stage: ,- bump2_flg default=0, we are on meas_stage subw ax, est_pos check against the est_pos=last pos addw ax,#801. test within +/- 6.25 % range cmpw ax,#100h Note:The Max=l4% under max Current bnh $spd_chk Nothing to do if in range bt defect_detected,$spd_chk allow one defect per rev mov a, !SVO_SECT_CNT servo sector number mov defect_delta, a save it for later comparision setl defect_detected spd_chk: movw ax, meas_pes load meas_pes again subw ax,des_pos ax still has the meas_pes movw pos_err,ax save it bf dsbl_svo_output , $calc_dac ,- skip output if set call ! mt r_spd_mon check and track spindle speed
WLI_HDSWITCH WLI's Headswitching, Null Macros
$_if FAST_RAM=FALSE DMD FAST CODE br !end_pos_isr
$ELSE br !FAST_END_POS_ISR
$ENDIF
calc_dac: movw ax,pos_err ,-Wli added because early bump chk addw ax.intgrtr ax«pos_err+int subw a ,ldlg ax=pos_err+int+ldlg=pid SAT CHECK check if saturation occured
movw SERVO_BC,klp_adj set up for mult, bc«klp_adj*2A4 mulw be axbc»-pid*klp_adj*2*4-.dac_offs*2Λ8
mov a, ax=pid*klp_adj=dac_offs mov x,b add SERVO_X,a_dac_0 ; adjust for dac biasing addc a,#0
-for eight bit dac ax must be OOOOh to OOFFh or we are saturated
Limit_AX_unsigned 0, OFFh ; x has the limited value mov a,fdfwd ; high byte is feed forward dac
add a,b_dac_0 ; adjust for dac biasing OUT AX2DAC ; Write the value of ax to DAC
.*****************************************************
done dac out:
end time critical section
$_if simple_glide simple glide over movw ax, meas_pes movw est_pos, ax use current as the estimated
$endif ; of complete/simplified model u,-;; Continue House Keeping
The present invention has been set forth in the form of its preferred embodiments. It is nevertheless understood that modifications and variations of the disclosed techniques for identifying defective servo samples and mitigating their effect will be apparent to those skilled in the art without departing from the scope and spirit of the present invention. Moreover, such modifications are considered to be within the purview of any claims appended hereto.
Claims
1. A method for identifying bad servo samples on a disk, comprising the steps of: detecting a disturbance while reading servo information from a disk; obtaining a plurality of performance measurements associated with different servo locations on the disk; comparing the performance measurements with one another; and identifying a location of a defective servo sample based on the performance measurements.
2. The method of claim 1 wherein the step of obtaining a plurality of performance measurements associated with different servo locations on the disk comprises the steps of: predicting a first defective servo sample location based on said detected disturbance; and predicting a second defective servo sample location based on said detected disturbance.
3. The method of claim 2 wherein the first and second predicted defective servo sample locations on the disk are adjacent servo samples.
4. A method for detecting bad servo samples on a rotational disk, comprising the steps of: detecting a change in a read/write head position error signal which exceeds a predetermined threshold value; identifying a servo sample corresponding to the change in the read/write head position error signal; determining whether the change in the read/write head position error signal was potentially caused by a defective servo sample; establishing a set of error location vectors; obtaining a plurality of performance measurements based on the error location vectors; 54 comparing the performance measurements with one another; and identifying a defective servo sample on the disk from the performance measurements.
5. The method of claim 4 wherein the step of determining whether the change in the read/write position error signal was potentially caused by a defective servo sample comprises the steps of : monitoring the read/write head position error signal for at least one full rotation of the disk; and determining if another change in the read/write head position error signal occurs exceeding the predetermined threshold value.
6. The method of claim 4 wherein the step of 'obtaining a plurality of performance measurements based on the error location vectors comprises the steps of: obtaining a first performance measurement on a first disk pass based on a first error location vector; and obtaining a second performance measurement on a second disk pass based on a second error location vector.
7. The method of claim 6 wherein the step of obtaining a first performance measurement comprises the steps of:
(a) estimating that the defective servo sample is located where the change in the read/write head position error signal occurred;
(b) modifying the first performance measurement according to a predefined performance function; and
(c) repeating steps (a) and (b) for a predetermined number of iterations.
8. The method of claim 7 wherein the step of deriving the first performance measurement according to the predefined performance function comprises a step of calculating a cumulative sum of the read/write head position errors over a plurality of servo samples.
9. The method of claim 7 wherein the step of deriving the first performance measurement according to the predefined performance function comprises a step of calculating a cumulative sum a square of each of the read/write head position errors over a plurality of servo samples.
10. The method of claim 6 wherein the step of obtaining a second performance measurement comprises the steps of :
(a) estimating that the defective servo sample is located immediately before the location where the change in the read/write head position error signal occurred; - (b) modifying the second performance measurement according to a predefined performance function; and
(c) repeating steps (a) and (b) for a predetermined number of iterations.
11. The method of claim 10 wherein the step of deriving the second performance measurement according to the predefined performance function comprises a step of calculating a cumulative sum of the read/write head position errors over a plurality of servo samples.
12. The method of claim 10 wherein the step of deriving the second performance measurement according to the predefined performance function comprises a step of calculating a cumulative sum a square of each of the read/write head position errors over a plurality of servo samples.
13. A disk drive system comprising: a rotational disk containing servo sample information; a read/write head movably positioned laterally to a surface of the disk; a controller connected to the read/write head; means for detecting disturbances in the read/write head movement; a processor connected to the controller, said processor including means for identifying defective servo samples on the disk according to an estimation function; and a memory unit connected to the processor.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US54623595A | 1995-10-20 | 1995-10-20 | |
| US08/546,235 | 1995-10-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO1997015047A1 true WO1997015047A1 (en) | 1997-04-24 |
Family
ID=24179479
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US1996/016116 Ceased WO1997015047A1 (en) | 1995-10-20 | 1996-10-08 | Disk drive servo system |
Country Status (2)
| Country | Link |
|---|---|
| TW (1) | TW305996B (en) |
| WO (1) | WO1997015047A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0915466A3 (en) * | 1997-11-06 | 2000-06-14 | Caleb Technology Corporation | Servo sector architecture for a high-density, removable media-type disk |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4982297A (en) * | 1987-07-09 | 1991-01-01 | Nec Corporation | Head positioning system for compensating for erroneous detection of recorded position error information |
| WO1992005543A1 (en) * | 1990-09-18 | 1992-04-02 | Ronald James Kadlec | Digital servo control system for use in disk drives |
-
1996
- 1996-10-08 WO PCT/US1996/016116 patent/WO1997015047A1/en not_active Ceased
- 1996-11-01 TW TW85113290A patent/TW305996B/zh active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4982297A (en) * | 1987-07-09 | 1991-01-01 | Nec Corporation | Head positioning system for compensating for erroneous detection of recorded position error information |
| WO1992005543A1 (en) * | 1990-09-18 | 1992-04-02 | Ronald James Kadlec | Digital servo control system for use in disk drives |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0915466A3 (en) * | 1997-11-06 | 2000-06-14 | Caleb Technology Corporation | Servo sector architecture for a high-density, removable media-type disk |
Also Published As
| Publication number | Publication date |
|---|---|
| TW305996B (en) | 1997-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7315431B1 (en) | Method to correct radial misposition of data tracks using stitched correction fields | |
| US20050157415A1 (en) | Head polarity detection algorithm and apparatus | |
| US7095575B2 (en) | Magnetic disk apparatus, method for determining data track pitch, and self-servo write method | |
| US6239934B1 (en) | Disk drive system and control circuitry adapted for downward compatibility | |
| US6313964B1 (en) | Early write enable with off-track write protection | |
| EP0740830A1 (en) | Disk drive employing adaptive read/write channel for optimizing head-media-channel performance | |
| GB2283125A (en) | A disk servo system for removing magnetic and electrical offsets from the system | |
| US6366423B1 (en) | Data storage medium having servo pattern of different phase and tracking method thereof | |
| EP1189222B1 (en) | Method and apparatus to detect and manage servo sectors with defects on servo pattern area in hard disk drives | |
| US7203024B2 (en) | Method of testing servo burst signals of hard disk drive and recording medium adapted therefor | |
| US6501607B2 (en) | Channel quality monitor (CQM) for digital peak detection (DPD) | |
| US6337777B1 (en) | Method and apparatus for controlling data write operations | |
| KR100712559B1 (en) | Method and apparatus for adjusting reference clock frequency and disk drive using same | |
| US5592347A (en) | Apparatus for measuring offset of head from servo pattern of data surface and disk medium having recorded servo pattern for measurement of offset | |
| WO1997015047A1 (en) | Disk drive servo system | |
| US7299146B2 (en) | Apparatus and method to calibrate a system having an input signal and an output signal | |
| US6414811B1 (en) | Method for optimizing the read bias current of a magneto resistive head | |
| US6107840A (en) | Method and apparatus for eliminating asymmetry error in servo de-modulation using peak-to-peak detection of servo burst amplitudes | |
| US20020075585A1 (en) | Automated drive-level microtrack profile using variable gain amplifier | |
| KR100459720B1 (en) | Method and apparatus for providing instability recovery | |
| US7706094B2 (en) | Storage device and servo information writing method | |
| US20050024762A1 (en) | Method and apparatus for head positioning control in perpendicular magnetic recording of disk drive | |
| JP3647068B2 (en) | Playback device | |
| JP2004288342A (en) | Magnetic disk drive and servo signal writing method | |
| WO2002027887A1 (en) | Automated drive-level microtrack profile using variable gain amplifier |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA CN JP KR SG |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| 122 | Ep: pct application non-entry in european phase |