Abstract:
A runout measurement system is proposed for measuring the runout of a moving surface of a device having a rotating body, such as a mass storage device ( 100 ) (e.g. a hard disk drive) having a rotor which in use includes a rotating recording medium. A sensor ( 102 ) interacting with the moving surface obtains a displacement signal. The displacement signal is sampled by a sampling unit ( 104 ) controlled by a unit ( 109 ) which initiates sampling based on both a signal indicating a ZCP and the clock signal of a high frequency (e.g. 20 MHz) clock ( 106 ). Simultaneously, the same clock ( 106 ) is used by a counter  108  to measure the spacing between one or more ZCP times. This permits the correspondence between the sampling times and the angular position of the rotor to be found with a high accuracy which depends upon the clock frequency, and thereby allows calculation of repeatable runout (RRO) and non-repeatable runout (NRRO).

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to methods and apparatus for runout measurement for devices comprising a rotating body. It is particularly suitable for use in a mass data storage device, such as a hard disk drive or optical data storage system, having a rotating body which includes or carries a rotating recording medium. For example, it relates to runout measurement for Hard Disk Drives (HDD) having one or more spindle platters driven by a spindle motor and carrying disks of magnetic material. 
       BACKGROUND OF THE INVENTION 
       [0002]    In a data storage device having a disk-shaped rotating recording medium, the surface of the disk is divided into many concentric data tracks and every track is separated into many sectors or segments. An example of such a data storage device is a HDD typically spun by a spindle motor. In the case of a HDD, “runout’ is defined as the departure of the movement of a spindle motor or spinning disk segment from ideal circular motion. Due to fabricating precision limitations, such as bearing tolerances, rotor eccentricity, and unbalanced mass, runout inevitably exists in all spindles.  FIG. 1  illustrates this for a typical spindle platter.  FIG. 1(   a ) shows by the arc S i  the points on the disk surface which constitute the i-th disk segment, including a centre point P i , when the disk has a radial motion indicated as ω r .  FIG. 1(   b ) shows by a dashed line ideal circular motion as the spindle platter performs a complete rotation, and the solid line indicates the actual motion of the point P i .  FIG. 1(   c ) shows by the solid lines the motion of the point P i  during multiple rotations. 
         [0003]    As the disk spins, each segment of the track circumference on disk surface travels underneath one or more read/write heads. In a hard disk drive, there are two sorts of runouts: radial and axial runouts. Radial runout is defined as the radial variation in the distance between the read/write head and the ideal circular as shown in  FIG. 2 .  FIG. 2(   a ) shows the spatial relation of the spindle platter and the read/write head, with the dashed line showing many segments.  FIG. 2(   b ) shows the runout during multiple rotations of the spindle patter. The displacement of each segment centre point from the ideal concentric circular is defined as the radial runout in IDEMA standards. For a specific track where the read/write head is positioned, the radial runout of the i th  segment can be expressed as: 
         [0000]        dr ( i,j )| r     e     =r   P     i     j (θ i )− r   e   (1)
 
         [0000]    where P i  is the center point of the i th  segment, the variable r Pi  is its radius value in polar coordinates, the variable r c  is the radius of the ideal circle of the detected track, the variable θ i  is the angular of the center point, P i , of the i th  segment and the index j denotes the j th  revolution the disk has spun. 
         [0004]    At the same time, there exists the axial runout which is defined as variations in the distance between the head and the disk surface. The axial runout is caused mainly by the surface profile of the disk and the bearing floating height. Large and fast axial runout usually increases the risk of a head crash. For a specific track where the read/write head is positioned, the axial runout of the i th  segment can be expressed as: 
         [0000]        dz ( i,j )| r     e     =z   P     i     j (θ i   ,r   P     i     j )− z   c ( r   c )  (2)
 
         [0000]    where the variable z P  is the z-axial value of the detected segment in three-dimensional polar coordinates and z c  is the z-axial value of the ideal circle at the radius r c . 
         [0005]    Measurement of radial and axial runouts is critical in the hard disk drive industry. As a disk rotates, the read/write heads must be positioned at a specific radius in order to read or write the data from/to a selected track. Data written at a track segment of a disk surface will not be read properly if the location of the track segment appears at a different radial location relative to the head position system. Since these radial and axial runout orbits do not repeat themselves in each revolution, the total indicated runouts (TIR) are the sum of two components, i.e., repeatable runout (RRO) and non-repeatable runout (NRRO). The RRO component happens synchronously with the rotor angular position in each revolution and the NRRO component is different in each revolution even at the same angular position of the rotor. 
         [0006]    According to IDEMA standard T17-91 and ANSI/ASME B89.3.4M, the radial and axial RRO and NRRO during N revolutions can be expressed as following equations. 
         [0000]    
       
         
           
             
               
                 
                   
                     a 
                     ) 
                   
                    
                   
                       
                   
                    
                   Radial 
                    
                   
                       
                   
                    
                   RRO 
                    
                   
                     : 
                   
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     
                       RRO 
                       r 
                     
                      
                     
                       ( 
                       i 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         1 
                         N 
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                             
                         
                          
                         
                           dr 
                            
                           
                             ( 
                             
                               i 
                               , 
                               j 
                             
                             ) 
                           
                         
                       
                     
                     = 
                     
                       
                         1 
                         N 
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                             
                         
                          
                         
                           [ 
                           
                             
                               
                                 r 
                                 
                                   P 
                                   i 
                                 
                                 j 
                               
                                
                               
                                 ( 
                                 
                                   θ 
                                   i 
                                 
                                 ) 
                               
                             
                             - 
                             
                               r 
                               c 
                             
                           
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
             
               
                 
                   
                     b 
                     ) 
                   
                    
                   
                       
                   
                    
                   Radial 
                    
                   
                       
                   
                    
                   NRRO 
                    
                   
                     : 
                   
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     
                       NRRO 
                       r 
                     
                      
                     
                       ( 
                       
                         i 
                         , 
                         j 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         r 
                         
                           P 
                           i 
                         
                         j 
                       
                        
                       
                         ( 
                         
                           θ 
                           i 
                         
                         ) 
                       
                     
                     - 
                     
                       
                         1 
                         N 
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                           
                             r 
                             
                               P 
                               i 
                             
                             j 
                           
                            
                           
                             ( 
                             
                               θ 
                               i 
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
             
               
                 
                   
                     c 
                     ) 
                   
                    
                   
                       
                   
                    
                   Axial 
                    
                   
                       
                   
                    
                   RRO 
                    
                   
                     : 
                   
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     
                       RRO 
                       z 
                     
                      
                     
                       ( 
                       i 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         1 
                         N 
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                             
                         
                          
                         
                           dz 
                            
                           
                             ( 
                             
                               i 
                               , 
                               j 
                             
                             ) 
                           
                         
                       
                     
                     = 
                     
                       
                         1 
                         N 
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                             
                         
                          
                         
                           [ 
                           
                             
                               
                                 z 
                                 
                                   P 
                                   i 
                                 
                                 j 
                               
                                
                               
                                 ( 
                                 
                                   θ 
                                   i 
                                 
                                 ) 
                               
                             
                             - 
                             
                               
                                 z 
                                 c 
                               
                                
                               
                                 ( 
                                 
                                   r 
                                   c 
                                 
                                 ) 
                               
                             
                           
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       d 
                       ) 
                     
                      
                     
                         
                     
                      
                     Axial 
                      
                     
                         
                     
                      
                     NRRO 
                      
                     
                       : 
                     
                   
                    
                   
                       
                   
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     
                       NRRO 
                       z 
                     
                      
                     
                       ( 
                       
                         i 
                         , 
                         j 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         z 
                         
                           P 
                           i 
                         
                         j 
                       
                        
                       
                         ( 
                         
                           
                             θ 
                             i 
                           
                           , 
                           
                             r 
                             
                               P 
                               i 
                             
                             j 
                           
                         
                         ) 
                       
                     
                     - 
                     
                       
                         1 
                         N 
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                           
                             z 
                             
                               P 
                               i 
                             
                             j 
                           
                            
                           
                             ( 
                             
                               
                                 θ 
                                 i 
                               
                               , 
                               
                                 r 
                                 
                                   P 
                                   i 
                                 
                                 j 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
         [0007]    With a proper control algorithm, the radial RRO component can be predicted, and compensated for in advance during the track seeking and following. But the NRRO cannot be predicted from one revolution to the next. The consequence of radial NRRO is track-mix registration (TMR). It causes non-compensable or uncorrectable TMR and off-track read/write errors in hard disk drives, which is a key factor to influence the track and areal densities of HDDs. How well a spindle motor or a spinning disk can repeat its path over many revolutions, i.e., how much the NRRO is, dictates a physical limitation on the track width or the track density. 
         [0008]    As HDD areal density increases, track widths become smaller and the NRRO needs to be smaller too. Now the manufacturers of the high areal density HDDs are looking for more accurate and higher resolution runout measurements of spinning spindle motors and media platters in both axial and radial directions. With the areal density approaching 150 GB/in 2  (23.2 GB/cm 2 ), the track density increases to 400K TPI (tracks per inch) (160 tracks/cm), the spindle motors and assembly disks must be fabricated with the stricter runout control. Therefore the PES signal is not degraded too much and the flying distance between the read/write heads and the media does not vary too dramatically. Currently, HDD manufacturers seek 1 nanometer resolution and accuracy, but no such system is available in the market to meet this high performance requirement. 
         [0009]    In past, several kinds of runout measurement systems for HDD have been developed. As implied in Eqs. (1) to (6), the angular position of the rotor circumference segments must be known for each sample of the signal from the sensor which detects the position of the moving surface (here referred to as the “displacement sensor”, and its output as the “displacement signal”), and the first generation of runout measurement instruments usually employed an encoder to detect the angular position of the rotor. In one version, the rotor included markings which could be optically detected using an optical sensor. The output of the optical sensor, and of the displacement sensor(s) (typically capacitance sensors) measuring respectively radial and axial displacements of the rotor, were processed using an oscilloscope, which gave an input to a processor. In another arrangement, pulses generated by a photodetector by observing slits on the rotor were used to control generation of pulses which were fed to the motor to control its speed, and also fed to a processor which received a displacement signal from proximity probes measuring displacement of the disks. 
         [0010]    However, currently all HDDs have adopted sensorless technology to control spindle motors without encoders: the processor which drives the motor does so by generating a pulsed index signal (square wave). This technology is also used in the runout measurement system for HDDs: the processor measures runout using knowledge of the timing of the index signal, together with the output of capacitance proximity sensors(s) measuring displacements of the rotor. In the market, there are several kinds of runout measurement systems used in hard disk drive industry. 
         [0011]    The advantage of using a capacitance probe is that it can measure the absolute distance between its sensor and the tested target. However, a capacitance probe based system has several drawbacks. Firstly its sensor diameter is large; the diameter of the best available capacitance sensor is 500 microns, whereas the width of a HDD track is 0.15 microns. Secondly, its resolution is 5 nanometers for 100 KHz, which is not good enough for high frequency runout signal, such as 64 KHz (250 Hz×256 segment for 15K rpm HDDs), when 1 nanometer resolution is required. Thirdly, the best linearity is 0.25% which will cause a 25 nm error in a 10 microns runout measurement. Fourthly, the detecting distance between the sensor and the target circumference is limited to 50-100 microns for high resolution. This causes great difficulty in setting up the system to avoid a crash of the capacitance sensor and the recording media surface. 
         [0012]    Another type of displacement sensor is a Laser Doppler Vibrometer which can measure the relative distance or the relative displacement between the sensor and the tested targeted. The advantages of a Laser Doppler Vibrometer are that it has a very small tested spot of 16 microns, high resolution of 0.1-1 nm even at 100 KHz, good linearity of 0.1%, excellent accuracy of 0.2% in a wide range, and can be operated far away from the tested target. The disadvantages are that there is a low frequency drift, and the sensor is sensitive to the roughness of the rotating tested surface. However, when high accuracy of HDD runout measurement is required, the LDV technology is the only qualified candidate at moment. 
         [0013]    Since all HDDs adopt fluid dynamical bearings, the RRO is about 200 times the NRRO component. It means that if there is any very small error of the rotor position detection, the NRRO will be added to by a big error. Therefore, when it is needed to measure runout with high accuracy, in particular NRRO measurement, the rotor position must be measured with high accurate and resolution. Here “resolution” refers to the nominal accuracy of position measurement, and “accuracy” refers to total error. 
         [0014]    If the rotating speed is constant, the sampling interval of the index signal can be translated to the angular position of the rotor. The maximum possible measurement error of NRRO, which is caused by both the sampling interval and the rotor position error, will be: 
         [0000]    
       
         
           
             
               
                 
                   
                     e 
                     NRRO 
                   
                   ≤ 
                   
                     
                       d 
                       RRO 
                     
                      
                     
                       ( 
                       
                         
                            
                           
                             
                               n 
                               60 
                             
                             × 
                             
                               t 
                               s 
                             
                           
                            
                         
                         + 
                         
                            
                           
                             
                               Δ 
                                
                               
                                   
                               
                                
                               
                                 θ 
                                 err 
                               
                             
                             
                               2 
                                
                               π 
                             
                           
                            
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where d RRO  is the actual peak-to-peak repeatable runout, n is the speed in rpm, t s  is the sampling interval and Δθ err  is the maximum error of position index per revolution. Therefore, the relative error is: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         e 
                         NRRO 
                       
                        
                       
                         ( 
                         % 
                         ) 
                       
                     
                     ≤ 
                     
                       100 
                        
                       
                         ( 
                         
                           
                              
                             
                               
                                 n 
                                 60 
                               
                               × 
                               
                                 t 
                                 s 
                               
                             
                              
                           
                           + 
                           
                              
                             
                               
                                 Δ 
                                  
                                 
                                     
                                 
                                  
                                 
                                   θ 
                                   err 
                                 
                               
                               
                                 2 
                                  
                                 π 
                               
                             
                              
                           
                         
                         ) 
                       
                        
                       % 
                     
                   
                   = 
                   
                     100 
                      
                     
                       ( 
                       
                         
                            
                           
                             n 
                             
                               60 
                               × 
                               
                                 f 
                                 s 
                               
                             
                           
                            
                         
                         + 
                         
                            
                           
                             
                               Δ 
                                
                               
                                   
                               
                                
                               
                                 θ 
                                 err 
                               
                             
                             
                               2 
                                
                               π 
                             
                           
                            
                         
                       
                       ) 
                     
                      
                     % 
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where f s  is the sampling rate per signal channel. 
         [0015]    From equation (8), both the detection of the rotor position and the sampling interval can cause additional errors to NRRO measurement. Conventionally, the sensorless rotor position detection of HDDs provides a once per-revolution pulse. From this pulse, a phase-locked loop (PLL) frequency multiplier is applied to generate N pulses per revolution, corresponding to the N segments of the detected circumference with the displacement sensors. A PLL, by necessity, has a loop filter that, in this case, samples the phase once per revolution. Due to the phase shift of the filter, the loop always lags as it tries to follow any speed change of the spindle motor. Also PLL may generate the phase jitter. When the runout is tested at different spinning speeds, this property of PLL circuitry, combined with the necessity of variable-rate sampling, increases the inaccuracy of the system in determining the angular rotor position. 
         [0016]    Equation (8) also indicates that the sampling interval also causes an error in NRRO measurement. If the digitizing error is controlled to be smaller than 0.01%, which about 1 nm error of NRRO at 15,000 rpm, the sampling rate should be as high as 2.5 MHz. For 256 revolutions, the data will be as much as 2.56 million points and the processing time will be longer than 10 minutes for one measurement. Also such a fast sampling rate greatly increases the runout measurement system cost and size. Normally a 100-200 KHz sampling rate is applied in the runout measurement and this sampling rate alone can generate an error of more than 10 nanometers. This error is too big for 125-150 nm track width and 10 nm head/media space. 
         [0017]    U.S. Pat. No. 6,879,124B1, authored by inventors from the Data Storage Institute in Singapore, and the disclosure of which is incorporated by reference, proposes detecting the rotor position accurately without phase delay by finding the zero crossing points (ZCP) of a signal representing the phase back EMF. Referring to  FIG. 3 , an example system is shown having 3 pole-pairs. It comprises a BLDC motor  20 , a commutation control module  25 , and a Zero Crossing Point (ZCP) detection module  35 . The BLDC motor  20  comprises a stator  12  having three phases, a rotor  13 , and a plurality of switches controlled by a plurality of switching signals (S AH , S BH , S CH , S AL , S BL , S CL ). The switches are coupled to each phase of the stator  12  for commutating the phases of the stator. 
         [0018]    The ZCP detection module  35  has the structure shown in  FIG. 4 . It receives inputs of terminal voltages from each phase of the stator  12  in the BLDC motor  20  and also a neutral voltage V N  from the center of a star connection of the stator windings. The ZCP detection module  35  compares the terminal voltages with the neutral voltage V N  to obtain individual phase voltages (V AN  or V A −V N , V BN  or V B −V N , V CN  or V C −V N ) of each phase and use them to determine the ZCPs. The ZCP detection module  35  is also coupled to the commutation control module  25 . The commutation control module  25  receives data on the ZCPs from the ZCP detection module  35 . The commutation control module  25  utilizes the data to generate the switching signals (S AH , S BH , S CH , S AL , S BL , S CL ) to control the plurality of switches for the commutation control of the BLDC motor  20 . 
         [0019]    An example of phase voltage of phase A, V AN  is shown in  FIG. 5(   a ), which has six true zero crossing points per revolution.  FIG. 5(   b ) and  FIG. 5(   c ) show the signals S AH  and S AL . The switching OFF of the switches for the phase commutation results in voltage spikes  51  in phase A as seen in  FIG. 5(   a ). These voltage spikes  51  may cause false ZCPs when their amplitudes are big enough. But because they are not caused by the phase back EMF generated by the movement of the rotor with reference to the stator, these ZCPs are not considered as true ZCPs. As such these voltage spikes  51  generated by the switching-off of the switches for the phase commutations are referred to as false ZCPs. 
         [0020]    Referring to  FIG. 4 , the ZCP detection module  35  comprises a ZCP level detection circuit  40  which receives input from the terminal voltages and the neutral voltage to generate a plurality of ZCP level outputs (Z A , Z B , Z C ) corresponding to each of the phase voltages of the BLDC motor  20 .  FIG. 5(   d ) shows the output Z A . The ZCP level outputs comprise rising and falling edges indicating a change of state when the phase voltages rise and fall through a zero values indicating a ZCP. 
         [0021]    Referring to  FIGS. 6(   a ),  6 ( b ) and  6 ( c ), the respective ZCP level outputs (Z A , Z B , Z C ) of each of the three phases (A, B, C) of the BLOC motor  20  are shown (note that the horizontal time scale of  FIG. 6  is not the same as in  FIG. 5) . The ZCP level outputs are received by a pulse generator  42  which detects and consolidates the falling and rising edges of all the ZCP outputs and generates a ZCP pulse signal (PZ ABC ) comprising a pulse at each falling or rising edge of all the ZCP level outputs  41 . PZ ABC  is shown in  FIG. 6(   d ), where each of the pulses represents an occurrence of a ZCP. The pulses are numbered 1 to 18. It should be noted that the sum of pulses during one electrical cycle may be from 6 ZCP pulses without false ZCP pulses to 18 ZCP pulses with 12 false ZCP pulses, which will depend on the motor parameters and its operation status. Referring again to  FIG. 3 , the unit  44  removes some of the false ZCP pulses using a first false ZMP masking signal, to form a first masked ZMP signal (PZ M ). Then the state comparator  48  removes more of the false ZCP pulses, to form a “true ZMP signal” (Z TABC ). 
         [0022]    The proposed method can precisely detect the magnet pole-pairs pulses per mechanical revolution. As discussed the number of ZCP pulses per revolution for a motor with 3 magnet pole-pairs is 18, and more generally the number of such pulses per revolution is 6 times the number of magnet pole-pairs. This is counting all the false ZCPs. For example, there are 36 pulses per revolution for an HDD spindle motor with 6 magnet pole-pairs, and 24 pulses for a motor with 4 magnet pole-pairs. However, according to the testing standard of HDD manufacture, the runout measurement needs at least 256 pulses per revolution. Thus, the number of direct detected pulses through the zero-crossing method of U.S. Pat. No. 6,879,124B1 is too low, although it is much better than the conventional one pulse per revolution. 
         [0023]    Therefore, the major objective of this invention is to develop a new runout method which eliminates the NRRO error dependencies on the A/D convention sampling rate and PLL rotor position phase shift. 
       SUMMARY OF THE INVENTION 
       [0024]    The invention aims to provide a new and useful method and device for measuring runout of a moving surface of a device of the kind having a rotor. In one application, the device is a mass storage device in which the rotor in use carries a rotating recording medium. Other applications are possible, however, for example in which the device is a machine tool, for example of the kind having a high speed spindle motor. 
         [0025]    In general terms, the invention proposes a runout measurement system for measuring the runout of a moving surface of a device (such as a hard disk drive) having a rotor. Sampling of a signal indicative of the motion of the moving surface (such as a displacement signal measured by a displacement sensor interacting with the moving surface; though in other embodiments the signal could be the output of a velocity sensor or accelerometer interacting with the moving surface) is performed with a timing determined by a high frequency clock. At the same time, the same clock is used to measure properties of a signal indicating the angular position of the rotor (such as the spacing between at least one pair of ZCPs). This permits the correspondence between the sampling times and the angular position of the rotor to be found with an accuracy which depends upon the clock frequency. 
         [0026]    In embodiments of the invention in which the clock frequency is much higher (e.g. a factor of preferably 1000) than the rotational frequency, high resolution and accuracy may be achieved, e.g. a resolution which has an error of below 10 nm, and preferably below 5 nm, or even below 2 nm. 
         [0027]    The displacement sensor may be, a laser Doppler vibrometer, a capacitance probe, or a reflective laser displacement sensor. It may be arranged to measure displacement in either an axial or radial direction. 
         [0028]    The moving surface may be a moving surface of the recording medium, or of a surface of the mechanism (e.g. spindle motor) which in use (not necessarily at the time that the runout measurement is carried out) carries and rotates a recording medium. 
         [0029]    One embodiment of the invention is a runout measurement system which comprises a spindle motor control unit, a rotor position detecting circuit which operates on the basis of back EMF (i.e. it does not include a specific angular position sensor, and in this sense is “sensorless”), and a displacement or velocity measurement unit. The motor control unit provides a super-stable speed control with 0.01% stability. The sensorless rotor position detection unit generates the rotor index signal pulses without a phase delay, and with a frequency 6 times the rotational frequency multiplied by the number of the motor magnet pole pairs. In order to minimize the synchronizing error between the rotor position and the displacement signal, a high-frequency (e.g. 20 MHz) clock digital counter is adopted instead of the conventional phase-lock loop method, and this counter works strictly synchronously with displacement signal digitization, i.e., A/D conversion. At the same time, the 16 bits and 1 MS/s A/D conversion enables the system to accurately detect the non-repeatable runout to within several tens of nanometers from the total indicated runout in the range of more than ten thousand nanometers. 
         [0030]    When the displacement sensor is used to detect the motion of a moving surface which is a rough surface (e.g. an outside circumferential surface of the spindle or of the recording medium), the displacement signal (which has a known timing dependent upon the synchronously acquired indications of the rotor position obtained from the ZCP signal) is preferably processed through a high pass filter signal processing algorithm to remove a low frequency shifting component which is caused by the roughness of the moving surface. This signal processing method makes it possible to precisely measure the runout of the hard disk drive spinning disks and motors with 1 nanometer resolution and 0.2% accuracy, which could be of great use to the hard disk industry and other industries. 
         [0031]    A first specific expression of the invention is a method of measuring runout in device having a rotor, the method including:
       obtaining a first signal indicative of the position of the rotor;   obtaining from a sensor a second signal indicative of a motion of a surface of the rotor;   obtaining samples of the second signal by sampling the second signal at times determined using a clock signal;   using a counter to determine a number of periods of the clock signal elapsing between two points on the first signal;   using the output of said counter to determine the respective angular positions of the rotor at said times of said sampling the second signal; and   calculating the runout from said determined angular positions and the respective samples of the second signal.       
 
         [0038]    A second specific expression of the invention is a runout measurement system for a device having a rotor, the system including:
       a circuit arranged to generate a first signal indicative of the position of the rotor;   a sensor arranged to generate a second signal indicative of a motion of a moving surface of the data storage device;   a clock circuit for generating a clock signal;   a sampler circuit arranged to sample the displacement signal at times dependent upon the clock signal, thereby generating samples;   a counter arranged to count a number of periods of the clock signal elapsing between two points on the first signal; and   a processor arranged to receive an output of said counter and an output of said sampler circuit, to determine the respective angular positions of the rotor at said times, and to calculate the runout from said angular positions and respective samples of the second signal.       
 
         [0045]    The circuits and/or processor may be implemented in hardware, FPGA firmware, or microprocessor or microcontroller firmware. 
         [0046]    The sensor may be any of various sensors, such as a Laser Doppler Vibrometer, laser displacement sensor, capacitance probe, or accelerometer, which obtains the second signal directly or indirectly by detecting the displacement, velocity or acceleration of the moving surface. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0047]    Embodiments of the invention will now be described, for the sake of example only, with reference to the accompanying drawings, in which: 
           [0048]      FIG. 1 , which is composed of  FIGS. 1(   a ) to  1 ( c ), illustrates runout in a rotating recording medium; 
           [0049]      FIG. 2 , which is composed of  FIGS. 2(   a ) and  2 ( b ), shows the spatial relationship between a read/write head and the platter; 
           [0050]      FIGS. 3-6  are taken from U.S. Pat. No. 6,879,124B1; 
           [0051]      FIG. 7  is a first schematic diagram of an embodiment of the present invention; 
           [0052]      FIG. 8  is a second schematic diagram of the embodiment of  FIG. 7 ; 
           [0053]      FIG. 9  shows the waveforms of signals in the embodiment of  FIG. 7 ; 
           [0054]      FIG. 10 , is composed of  FIGS. 10(   a ) which shows the waveforms obtained from an experimental realization of the embodiment of  FIG. 7  in which axial displacement was measured, and  FIG. 10(   b ) which shows calculated RRO and NRRO; 
           [0055]      FIG. 11  corresponds to  FIG. 10(   a ), but in the case of an experimental realization of the embodiment of  FIG. 7  in which there is shifting; 
           [0056]      FIG. 12  shows a corrected displacement signal obtained from the data of  FIG. 11 ; 
           [0057]      FIG. 13  shows RRO and NRRO obtained from the data of  FIG. 11 ; 
           [0058]      FIG. 14  shows an experimental arrangement for obtaining a displacement signal from a moving outside circumferential surface of a data storage device; 
           [0059]      FIG. 15  shows an experimental data which is a radial displacement signal from a first realization of the set-up of  FIG. 14 ; 
           [0060]      FIG. 16  shows a corrected version of the radial displacement signal of  FIG. 15 ; 
           [0061]      FIG. 17  shows RRO and NRRO obtained from the data of  FIG. 16 ; 
           [0062]      FIG. 18  is composed of:  FIG. 18(   a ), which shows experimental data which is a displacement signal from a second realization of the set-up of  FIG. 14 ;  FIG. 18(   b ) which shows a corrected version of the displacement signal of  FIG. 18(   b ); and  FIG. 18(   c ) which shows RRO and NRRO obtained from the data of  FIG. 18(   b ); and 
           [0063]      FIG. 19  shows a flow-diagram of the operation of the embodiment of  FIG. 7   
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0064]    1. Structure of the Embodiment 
         [0065]      FIG. 7  shows schematically the structure of an embodiment of a system for performing the proposed runout measurement. The embodiment includes a hard disk drive  100 , which is driven by a BLDC motor controller  101 . The hard disk drive  100  has a displacement sensor  102  for measuring the position of the rotating recording medium of the hard disk drive, and which passes a signal to a displacement sensor interface  103 . The output of the interface  103  is a displacement signal fed to a high resolution and high speed A/D converter  104 , which is in communication with a PC  105  (the term “PC” is used, but in fact this may be another processor, such as a decided stand-alone integrated circuit). There is bidirectional communication between the PC  105  and the BLDC motor controller  101 , for example such that the PC  105  can send a signal to the motor controller  101 , and in reply receive a signal indicating that the motor controller  101  is ready to begin operation. The system also employs a high frequency time clock pulse generator  106 , which generates a 20 MHz time base clock signal (in other embodiments the frequency need not be so high, but it is preferably at least 1 MHz). It further employs a BEFM ZCP rotor position detector  107  of the kind disclosed in U.S. Pat. No. 6,879,124 and summarized above. 
         [0066]    The output of the clock pulse generator  106  is fed to a 32-bit edge trigger counter  108  driven by the 20 MHz clock  106 , and to a unit  109  for sampling enable and interval control. The unit  109  also receives the BEMF ZCP pulses output by the position detector  107  and both the units  108 ,  109  are in communication with the PC  105 . The unit  107  performs the filtering operation of U.S. Pat. No. 6,879,124 to remove the false ZCPs, and in the case of a hard disk drive  100  with a motor, generates true ZCP pulses per rotation (six for each of the three phases). 
         [0067]      FIG. 8  shows the arrangement of  FIG. 7  in more detail. Units having the same meaning as in  FIG. 8  are indicated by the same reference numerals. The unit  109  of  FIG. 7  is shown as comprising a D flip flop  201  with the  Q  output of the flip flop  201  connected to the D input so that the flip flop  201  acts as a buffer initialized by the PC  105 . The unit  109  further includes an R S flip flop  203 , composed of two NAND gates  205 ,  206 . The output of the R S flip flop  203  is passed to an AND gate  207  which also receives the output of the clock  106 . The output of the AND gate  207  is passed to a series of 8 frequency dividers (D flip-flops)  208 . The eight outputs of the flip flops  208  are passed to be eight of the nine inputs of the AND gate  209  (the other being the output of the AND gate  207 ), so that the output of the AND gate  209  is only high when all the flip flops  208  are high, which occurs only once in every 256 clock periods (i.e every 12,800 ns). It is passed to as a control input to the A/D converter  104 . 
         [0068]    The operation of the flip flops  201 ,  203 , and  208  is controlled by outputs of the PC interface  209 , which is the interface of the PC  105  of  FIG. 7 . The interface  209  receives the output of the counter  108 . In an initial state of the system the PC  105  generates a “low” signal on both of the lines PC A/D Initiating and PC A/D Enable. The PC  105  initialises the system by raising the PC A/D Enable signal from “low” to “high” and keeping it there. It then raises the PC A/D Initiating signal from “low” to “high” and keeps it there. 
         [0069]      FIG. 9  illustrates the timing sequence of the circuit shown in  FIG. 8  for synchronizing the A/D sampling and rotor position BEMF ZCP. The upper line shows the output of the clock  106 , having a rising signal every 50 ns (i.e. the reciprocal of 20 MHz). The second line shows the input shown as BEMF ZCP in  FIG. 8 . The third line shows the output of the AND gate  209 , which passes as input to A/D converter  104 , and causes the A/D converter to sample the displacement signal when the output of the AND gate is high. The fourth line shows the timing of the counter gate (i.e. the input to the counter. This is generated based on the inputs to the counter  108 . It goes high in the first clock pulse following a rising edge of the ZCP signal, and then goes low at the first rising clock pulse following the rising edge of the next ZCP signal, etc. Thus, it is high for 200,000,000/np clock pulses, i.e. the frequency of the clock (20 MHz) divided by the number of rotations per second (n/60) and by the number of ZCP signals per rotation (6p). 
         [0070]    In  FIG. 9 , the first A/D sampling and conversion of the displacement starts at the rising edge of the first rising clock pulse following the first rising edge of the first BEMF ZCP after the PC has initiated sampling by enabling the flip flops  201 ,  203 ,  207 . This rising edge of the clock pulse drives the third line high, and at the moment of this rising edge the A/D converter  104  samples the displacement force). It remains high for one clock period, and then goes low. The next sample of the displacement force begins  255  clock periods later. 
         [0071]    Note that the maximum time which can elapse between the rising edge of the first BEMF ZCP pulse and the next rising edge of the clock signal is 50 ns for a 20 MHz system clock  106 . This means that the maximum timing error between the detected rotor position and the initiation of A/D conversion is only one period of the system clock  106  (i.e. 50 ns), while the sampling rate may be as low as 78.125 KHz. There is about 0.00125% timing error when the spindle motor speed is 15,000 rpm (i.e. a period of 4 ms), the current highest speed of the hard disk drives. Thus, with the proposed synchronizing circuit, the timing error depends only on the system clock  106  and is independent of the sampling rate, which could be one hundredth of the system clock frequency. Therefore, the synchronous timing error between the rotor position and sampling moment is minimized and can be neglected. 
         [0072]    The second pulse of the BEMF ZCP signal may not fall on exactly at an A/D sampling moment, but the 32-bit edge trigger counter, which goes negative at the first rising edge of the clock signal following the second BEMF ZCP pulse, will record the exact number of clock periods of the MHz system clock  106  which elapse between the rising edges of the two successive BEMF ZCP pulses. It can be seen that the possible time error in measuring this duration is reduced to 50 ns from 12,800 ns in the prior art systems described above, i.e. 256 times smaller. If the frequency of the clock  106  were increased, the timing error could be made even smaller. 
         [0073]    2. Processing the Outputs of the A/D Converter  104  and the Counter  108   
         [0074]    We now turn to an analysis of the calculations performed by the PC  105 . In the present section, we consider how the PC  105  works out the values of the displacement corresponding to each of the segments. In the following section, we show how the PC uses these values to calculate RRO and NRRO. 
         [0075]    During one measurement, the spindle motor rotates N r  revolutions, for example 256 turns as required by HDD industry, and the embodiment generates 6×p×N r +1 BEMF ZCPs since the first BEMF ZCP triggered the measurement. The 32 bits counters will capture the 6×p×N r  counter values, which are the numbers of system clock periods between successive pairs of BEMF ZCPs. These numbers of clock periods can be expressed as: 
         [0000]      { C   ZCP ( k ), k= 1, 2, . . . , 6× p×N   r }  (9)
 
         [0076]    Therefore, for N r  revolutions, the total measurement period is 
         [0000]    
       
         
           
             
               
                 
                   
                     T 
                     m 
                   
                   = 
                   
                     
                       1 
                       
                         f 
                         c 
                       
                     
                      
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         
                           6 
                            
                           
                             pN 
                             r 
                           
                         
                       
                        
                       
                           
                       
                        
                       
                         
                           
                             C 
                             ZCP 
                           
                            
                           
                             ( 
                             i 
                             ) 
                           
                         
                          
                         
                           ( 
                           seconds 
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where f c  is the system clock for the counter, such as 20 MHz. Following this the PC  105  uses the PC A/D Initiating and Enable lines to issue commands to reset the measurement system, e.g. to initiate another runout measurement. 
         [0077]    In the above measurement period, if the sampling frequency of the displacement is f s  (measured in samples per second), the total number of times at which the A/D converter  104  has sampled the displacement signal by obtaining a digitized value of the instantaneous displacement signal, is equal to: 
         [0000]        M   s =Int( T   m   ×f   s )+1  (11)
 
         [0078]    The digitized displacement values are denoted by: 
         [0000]          d ={d   j   ,j= 0, 1, 2, . . . ,  M   s }  (12)
 
         [0079]    In order to measure the spindle runout, the tested circumference is usually separated into many segments, such as N s  segments, similar to the sectors conventionally used for recording the servo code and data. For the first segment, the starting moment (t 0 ), central moment (tc 1 ), and ending moment (t 1 ) can be defined as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       t 
                       0 
                     
                     = 
                     0 
                   
                    
                   
                     
 
                   
                    
                   
                     
                       tc 
                       1 
                     
                     = 
                     
                       
                         
                           t 
                           0 
                         
                         + 
                         
                           
                             1 
                             2 
                           
                            
                           
                             
                               6 
                                
                               p 
                             
                             
                               N 
                               
                                 s 
                                 . 
                               
                             
                           
                            
                           
                             
                               
                                 C 
                                 ZCP 
                               
                                
                               
                                 ( 
                                 1 
                                 ) 
                               
                             
                             . 
                             
                               
 
                             
                              
                             
                               t 
                               1 
                             
                           
                         
                       
                       = 
                       
                         
                           t 
                           0 
                         
                         + 
                         
                           
                             
                               6 
                                
                               p 
                             
                             
                               N 
                               s 
                             
                           
                            
                           
                             
                               C 
                               ZCP 
                             
                              
                             
                               ( 
                               1 
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   13 
                   ) 
                 
               
             
           
         
       
     
         [0080]    For the I th  segment, its starting moment is the ending moment of the last segment I−1, i.e., t I-1 , and its central and ending moments are: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       tc 
                       l 
                     
                     = 
                     
                       
                         t 
                         
                           l 
                           - 
                           1 
                         
                       
                       + 
                       
                         
                           1 
                           2 
                         
                          
                         
                           
                             6 
                              
                             p 
                           
                           
                             N 
                             s 
                           
                         
                          
                         
                           
                             C 
                             ZCP 
                           
                            
                           
                             [ 
                             
                               
                                 INT 
                                  
                                 
                                   ( 
                                   
                                     6 
                                      
                                     p 
                                      
                                     
                                       
                                         l 
                                         - 
                                         1 
                                       
                                       
                                         N 
                                         s 
                                       
                                     
                                   
                                   ) 
                                 
                               
                               + 
                               1 
                             
                             ] 
                           
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       t 
                       l 
                     
                     = 
                     
                       
                         t 
                         
                           l 
                           - 
                           1 
                         
                       
                       + 
                       
                         
                           
                             6 
                              
                             p 
                           
                           
                             N 
                             s 
                           
                         
                          
                         
                           
                             C 
                             ZCP 
                           
                            
                           
                             [ 
                             
                               
                                 INT 
                                  
                                 
                                   ( 
                                   
                                     6 
                                      
                                     p 
                                      
                                     
                                       
                                         l 
                                         - 
                                         1 
                                       
                                       
                                         N 
                                         s 
                                       
                                     
                                   
                                   ) 
                                 
                               
                               + 
                               1 
                             
                             ] 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   14 
                   ) 
                 
               
             
           
         
       
     
         [0081]    Defining the equivalent duration of a segment between each pair of successive BEMF ZCPs as Δt k , it can be written as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       Δ 
                        
                       
                           
                       
                        
                       
                         t 
                         k 
                       
                     
                     = 
                     
                       6 
                       × 
                       p 
                       × 
                       
                         
                           
                             C 
                             zcp 
                           
                            
                           
                             ( 
                             k 
                             ) 
                           
                         
                         
                           N 
                           s 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     k 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     6 
                     × 
                     p 
                     × 
                     
                       
                         N 
                         r 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   15 
                   ) 
                 
               
             
           
         
       
     
         [0082]    Equation (14) can be simplified as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       tc 
                       l 
                     
                     = 
                     
                       
                         t 
                         
                           l 
                           - 
                           1 
                         
                       
                       + 
                       
                         
                           1 
                           2 
                         
                          
                         Δ 
                          
                         
                             
                         
                          
                         
                           t 
                           
                             
                               INT 
                                
                               
                                 ( 
                                 
                                   6 
                                   × 
                                   p 
                                   × 
                                   
                                     
                                       l 
                                       - 
                                       1 
                                     
                                     
                                       N 
                                       s 
                                     
                                   
                                 
                                 ) 
                               
                             
                             + 
                             1 
                           
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       t 
                       l 
                     
                     = 
                     
                       
                         t 
                         
                           l 
                           - 
                           1 
                         
                       
                       + 
                       
                         Δ 
                          
                         
                             
                         
                          
                         
                           t 
                           
                             
                               INT 
                                
                               
                                 ( 
                                 
                                   6 
                                   × 
                                   p 
                                   × 
                                   
                                     
                                       l 
                                       - 
                                       1 
                                     
                                     
                                       N 
                                       s 
                                     
                                   
                                 
                                 ) 
                               
                             
                             + 
                             1 
                           
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     l 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     
                       N 
                       r 
                     
                     × 
                     
                       N 
                       s 
                     
                   
                 
               
               
                 
                   ( 
                   16 
                   ) 
                 
               
             
           
         
       
     
         [0083]    In many cases, the value of 
         [0000]    
       
         
           
             
               N 
               s 
             
             
               6 
                
               p 
             
           
         
       
     
         [0000]    may be a fraction, not an integral value and most back EMF ZCPs fall into the middle of the detected segments, not at the starting, central or ending moments of segments. Therefore, some segments may consist of two different counter period values of back EMF ZCPs. The ending moments, or the starting moments of these segments and consequent segments should be modified. Corresponding to the 6×p×N r  back EMF zero-crossing points, the new moments will be: 
         [0000]    
       
         
           
             
               
                 
                   
                       
                   
                    
                   
                     
                       
                         l 
                         = 
                         
                           
                             INT 
                             ( 
                             
                               
                                 kN 
                                 s 
                               
                               
                                 6 
                                  
                                 p 
                               
                             
                             ) 
                           
                           + 
                           1 
                         
                       
                       , 
                       
                          
                       
                        
                       
                           
                       
                        
                       
                         k 
                         = 
                         1 
                       
                       , 
                       … 
                        
                       
                           
                       
                       , 
                       
                         
                           6 
                           × 
                           p 
                           × 
                           
                             N 
                             r 
                           
                         
                         - 
                         1 
                       
                       , 
                       
                         
 
                       
                        
                       
                           
                       
                        
                       
                         
                           tc 
                           l 
                         
                         = 
                         
                           
                             t 
                             
                               l 
                               - 
                               1 
                             
                           
                           + 
                           
                             
                               1 
                               2 
                             
                              
                             Δ 
                              
                             
                                 
                             
                              
                             
                               t 
                               k 
                             
                           
                         
                       
                       , 
                       
                         
 
                       
                        
                       
                           
                       
                        
                       
                         
                           
                             if 
                              
                             
                                 
                             
                              
                             l 
                           
                           - 
                           
                             
                               INT 
                                
                               
                                 ( 
                                 
                                   
                                     
                                       6 
                                        
                                       p 
                                     
                                     
                                       N 
                                       s 
                                     
                                   
                                   × 
                                   l 
                                 
                                 ) 
                               
                             
                             × 
                             
                               
                                 N 
                                 s 
                               
                               
                                 6 
                                  
                                 p 
                               
                             
                           
                         
                         ≤ 
                         
                           
                             1 
                             2 
                           
                            
                           
                               
                           
                            
                           or 
                         
                       
                     
                      
                     
                       
 
                     
                      
                     
                       
                         
                           tc 
                           l 
                         
                         = 
                         
                           
                             t 
                             
                               l 
                               - 
                               1 
                             
                           
                           + 
                           
                             
                               [ 
                               
                                 l 
                                 - 
                                 
                                   INT 
                                    
                                   
                                     ( 
                                     
                                       
                                         
                                           6 
                                            
                                           p 
                                         
                                         
                                           N 
                                           s 
                                         
                                       
                                       × 
                                       l 
                                     
                                     ) 
                                   
                                   × 
                                   
                                     
                                       N 
                                       s 
                                     
                                     
                                       6 
                                        
                                       p 
                                     
                                   
                                 
                                 - 
                                 
                                   1 
                                   2 
                                 
                               
                               ] 
                             
                              
                             Δ 
                              
                             
                                 
                             
                              
                             
                               t 
                               
                                 k 
                                 + 
                                 1 
                               
                             
                           
                           + 
                           
                             
                               [ 
                               
                                 1 
                                 - 
                                 l 
                                 + 
                                 
                                   
                                     INT 
                                      
                                     
                                       ( 
                                       
                                         
                                           
                                             6 
                                              
                                             p 
                                           
                                           
                                             N 
                                             s 
                                           
                                         
                                         × 
                                         l 
                                       
                                       ) 
                                     
                                   
                                   × 
                                   
                                     
                                       N 
                                       s 
                                     
                                     
                                       6 
                                        
                                       p 
                                     
                                   
                                 
                               
                               ] 
                             
                              
                             Δ 
                              
                             
                                 
                             
                              
                             
                               t 
                               k 
                             
                           
                         
                       
                       , 
                       
                         
 
                       
                        
                       
                           
                       
                        
                       
                         
                           
                             if 
                              
                             
                                 
                             
                              
                             l 
                           
                           - 
                           
                             
                               INT 
                                
                               
                                 ( 
                                 
                                   
                                     
                                       6 
                                        
                                       p 
                                     
                                     
                                       N 
                                       s 
                                     
                                   
                                   × 
                                   l 
                                 
                                 ) 
                               
                             
                             × 
                             
                               
                                 N 
                                 s 
                               
                               
                                 6 
                                  
                                 p 
                               
                             
                           
                         
                         &gt; 
                         
                           1 
                           2 
                         
                       
                     
                      
                     
                       
 
                     
                      
                     
                         
                     
                      
                     and 
                      
                     
                       
 
                     
                      
                     
                       
                         t 
                         l 
                       
                       = 
                       
                         
                           t 
                           
                             l 
                             - 
                             1 
                           
                         
                         + 
                         
                           
                             [ 
                             
                               l 
                               - 
                               
                                 
                                   INT 
                                    
                                   
                                     ( 
                                     
                                       
                                         
                                           6 
                                            
                                           p 
                                         
                                         
                                           N 
                                           s 
                                         
                                       
                                       × 
                                       l 
                                     
                                     ) 
                                   
                                 
                                 × 
                                 
                                   
                                     N 
                                     s 
                                   
                                   
                                     6 
                                      
                                     p 
                                   
                                 
                               
                             
                             ] 
                           
                            
                           Δ 
                            
                           
                               
                           
                            
                           
                             t 
                             
                               k 
                               + 
                               1 
                             
                           
                         
                         + 
                         
                           
                             [ 
                             
                               1 
                               - 
                               l 
                               + 
                               
                                 
                                   INT 
                                    
                                   
                                     ( 
                                     
                                       
                                         
                                           6 
                                            
                                           p 
                                         
                                         
                                           N 
                                           s 
                                         
                                       
                                       × 
                                       l 
                                     
                                     ) 
                                   
                                 
                                 × 
                                 
                                   
                                     N 
                                     s 
                                   
                                   
                                     6 
                                      
                                     p 
                                   
                                 
                               
                             
                             ] 
                           
                            
                           Δ 
                            
                           
                               
                           
                            
                           
                             t 
                             k 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   17 
                   ) 
                 
               
             
           
         
       
     
         [0084]    When the rotor speed is stable, these timing moments actually correspond to the particular rotor positions or segments, respectively. 
         [0085]    Mapping the above moments in system clock time domain to the sampling frequency time domain, they can be rewritten as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       tc 
                       l 
                       s 
                     
                     = 
                     
                       
                         
                           
                             f 
                             s 
                           
                           
                             f 
                             c 
                           
                         
                          
                         
                           tc 
                           l 
                         
                          
                         
                             
                         
                          
                         and 
                          
                         
                             
                         
                          
                         
                           t 
                           l 
                           s 
                         
                       
                       = 
                       
                         
                           
                             f 
                             s 
                           
                           
                             f 
                             c 
                           
                         
                          
                         
                           t 
                           l 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     l 
                     = 
                     0 
                   
                   , 
                   1 
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     
                       N 
                       r 
                     
                     × 
                     
                       N 
                       s 
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
         [0086]    The transferred moments of tc l   s  and t l   s  may not be integral but fractions. Their whole values can be expressed as: 
         [0000]        Tc   l   s =INT( tc   l   s ) and  T   l   s =INT( t   l   s )  (19)
 
         [0000]    which correspond to the Tc l   s  and T l   s  sampling moments for the A/D converter  105 . 
         [0087]    Assuming the variations of displacement between two A/D conversion sampling moments is linear, the displacement at the exact moments of tc l   s  and t l   s  can be obtained through the interpolation with the following equations: 
         [0000]        dc   l   ″=d   Tc     l       s   +( d   Tc     l       s     +d   Tc     l       s   )( tc   l   s   −Tc   l   s ) and  d   l   ″=d   T     l       s   +( d   T     l       s     −d   T     l       s   )( t   l   s   −T   l   s )  (20)
 
         [0088]    In this way, the respective displacements at the exact moments (i.e. the rotor positions corresponding exactly to the segments) can be obtained in order to accurately measure the runout. 
         [0089]    3. Calculations of RRO and NRRO without Shifting 
         [0090]    After getting the displacements at the center moments of N s  segments in N r  revolutions, the RRO and NRRO can be calculated as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         RRO 
                         i 
                       
                        
                       
                         ( 
                         i 
                         ) 
                       
                     
                     = 
                     
                       
                         1 
                         
                           N 
                           r 
                         
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           
                             N 
                             r 
                           
                         
                          
                         
                             
                         
                          
                         
                           dc 
                           
                             i 
                             + 
                             
                               
                                 ( 
                                 
                                   j 
                                   - 
                                   1 
                                 
                                 ) 
                               
                               × 
                               
                                 N 
                                 s 
                               
                             
                           
                           ′ 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     i 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     N 
                     s 
                   
                   , 
                 
               
               
                 
                   ( 
                   21 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       NRRO 
                       
                         i 
                         , 
                         j 
                       
                     
                     = 
                     
                       
                         dc 
                         
                           i 
                           + 
                           
                             
                               ( 
                               
                                 j 
                                 - 
                                 1 
                               
                               ) 
                             
                             × 
                             
                               N 
                               s 
                             
                           
                         
                         ′ 
                       
                       - 
                       
                         RRO 
                         i 
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     i 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     N 
                     s 
                   
                   , 
                   
                     
 
                   
                    
                   
                     j 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     
                       N 
                       r 
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   22 
                   ) 
                 
               
             
           
         
       
     
         [0091]    In order to verify the suggested method, an experimental version of the embodiment was constructed using a Laser Doppler Vibrometer to measure the axial runout on a drive media surface. The embodiment was a 3.5″ Drive with 3 platters (each carrying respective recording media disks), which rotated at 7,200 rpm using a spindle motor having 4 pole-pairs.  FIG. 10  displays a typical runout measurement of a HOD based on the proposed method, specifically axial displacement of inner diameter circumference (i.e. the axial displacement of the upper surface of the disk near the spindle) of the top media disk. The smooth signal is the displacement signal, whereas the stepped one is the ZCP signal. The upper graph in  FIG. 10(   b ) represents the measured RRO displacement, with the horizontal axis indicating the numbers of the corresponding sectors. Its peak-to-peak RRO is 10,600.96 nm. The lower part of  FIG. 10(   b ) shows the distribution of NRRO. It is found that the 3 sigma of NRRO is 65.35 nm (i.e. for 99.6% of the time, NNRO is less than 65.35 nm). The system can achieve both the resolution and accuracy of 1 nanometer based on the calibrated Laser Doppler Vibrometer. 
         [0092]    Note that in this embodiment the measured displacement was the axial circular displacement of a smooth recording medium surface. In such an example, and more generally when a Laser Doppler Vibrometer or other absolute displacement sensors (such as a capacitance proble or laser reflection sensor) is applied to measure displacement, the measured displacement signal has very little or no “shifting”, as defined below. The method of the embodiment described above can then be directly applied. 
         [0093]    4. Calculations of RRO and NRRO with Shifting 
         [0094]    However, when the displacement sensor is used in a way which detects the moving surface of a rough motor hub, the displacement signal will contain a severe low frequency shifting.  FIG. 11 , in which the smooth and stepped lines have the same respective significance as in  FIG. 10(   a ), shows such a case. The displacement signal gradually rises from left to right. This low frequency “shifting” should be removed. In order to eliminate the influence of this low frequency shifting, the shifting rate per turn is identified through calculating the average displacement per revolution. The displacement signals for N r +1 revolutions are acquired in order to obtain the amount of shift during these N r  revolutions. The average displacement height is presumed to be same when the bearing floating height is stable after a running period. The difference of the average displacement between two contiguous revolutions is defined as the shifting rate of displacement per revolution. A corrected displacement is then obtained from the measured displacement by subtracting the shifting value according to the calculated shifting rate. 
         [0095]    The average displacement per revolution can be calculated as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                       
                   
                    
                   
                     
                       
                         
                           
                             d 
                             _ 
                           
                           k 
                         
                         = 
                         
                           
                             1 
                             
                               
                                 t 
                                 
                                   kN 
                                   s 
                                 
                                 s 
                               
                               - 
                               
                                 t 
                                 
                                   
                                     ( 
                                     
                                       k 
                                       - 
                                       1 
                                     
                                     ) 
                                   
                                    
                                   
                                     N 
                                     s 
                                   
                                 
                                 s 
                               
                             
                           
                            
                           
                             
                               ∫ 
                               
                                 t 
                                 
                                   
                                     ( 
                                     
                                       k 
                                       - 
                                       1 
                                     
                                     ) 
                                   
                                    
                                   
                                     N 
                                     s 
                                   
                                 
                                 s 
                               
                               
                                 t 
                                 
                                   kN 
                                   s 
                                 
                                 s 
                               
                             
                              
                             
                               
                                  
                                 
                                   ( 
                                   t 
                                   ) 
                                 
                               
                                
                               
                                   
                               
                                
                               
                                  
                                 t 
                               
                             
                           
                         
                       
                       , 
                       
                         
 
                       
                        
                       
                           
                       
                        
                       
                         k 
                         = 
                         1 
                       
                       , 
                       2 
                       , 
                       … 
                        
                       
                           
                       
                       , 
                       
                         
                           N 
                           r 
                         
                         + 
                         1 
                       
                     
                      
                     
                       
 
                     
                      
                     
                         
                     
                      
                     or 
                   
                 
               
               
                 
                   ( 
                   23 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       d 
                       _ 
                     
                     k 
                   
                   = 
                   
                       
                   
                    
                   
                       
                     
                         
                       
                         
                           1 
                           
                             
                               t 
                               
                                 kN 
                                 s 
                               
                               s 
                             
                             - 
                             
                               t 
                               
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     1 
                                   
                                   ) 
                                 
                                  
                                 
                                   N 
                                   s 
                                 
                               
                               s 
                             
                           
                         
                          
                         
                             
                           
                               
                           
                            
                           
                               
                             
                                 
                               
                                   
                                 
                                   
                                     [ 
                                     
                                       
                                         
                                           
                                             
                                               1 
                                               2 
                                             
                                              
                                             
                                               ( 
                                               
                                                 
                                                   d 
                                                   
                                                     
                                                       ( 
                                                       
                                                         k 
                                                         - 
                                                         1 
                                                       
                                                       ) 
                                                     
                                                      
                                                     
                                                       N 
                                                       s 
                                                     
                                                   
                                                   ′ 
                                                 
                                                 + 
                                                 
                                                   d 
                                                   
                                                     
                                                       T 
                                                       
                                                         
                                                           ( 
                                                           
                                                             k 
                                                             - 
                                                             1 
                                                           
                                                           ) 
                                                         
                                                          
                                                         
                                                           N 
                                                           s 
                                                         
                                                       
                                                       s 
                                                     
                                                     + 
                                                     1 
                                                   
                                                 
                                               
                                               ) 
                                             
                                           
                                         
                                       
                                       
                                         
                                           
                                             
                                               ( 
                                               
                                                 
                                                   T 
                                                   
                                                     
                                                       ( 
                                                       
                                                         k 
                                                         - 
                                                         1 
                                                       
                                                       ) 
                                                     
                                                      
                                                     
                                                       N 
                                                       s 
                                                     
                                                   
                                                   s 
                                                 
                                                 + 
                                                 1 
                                                 - 
                                                 
                                                   t 
                                                   
                                                     
                                                       ( 
                                                       
                                                         k 
                                                         - 
                                                         1 
                                                       
                                                       ) 
                                                     
                                                      
                                                     
                                                       N 
                                                       s 
                                                     
                                                   
                                                   s 
                                                 
                                               
                                               ) 
                                             
                                             + 
                                             
                                               
                                                 ∑ 
                                                 
                                                   j 
                                                   = 
                                                   
                                                     
                                                       T 
                                                       
                                                         
                                                           ( 
                                                           
                                                             k 
                                                             - 
                                                             1 
                                                           
                                                           ) 
                                                         
                                                          
                                                         
                                                           N 
                                                           s 
                                                         
                                                       
                                                       s 
                                                     
                                                     + 
                                                     1 
                                                   
                                                 
                                                 
                                                   j 
                                                   = 
                                                   
                                                     T 
                                                     kNs 
                                                     s 
                                                   
                                                 
                                               
                                                
                                               
                                                   
                                               
                                                
                                               
                                                 d 
                                                 j 
                                               
                                             
                                             - 
                                           
                                         
                                       
                                       
                                         
                                           
                                             
                                               
                                                 1 
                                                 2 
                                               
                                                
                                               
                                                 ( 
                                                 
                                                   
                                                     d 
                                                     
                                                       
                                                         T 
                                                         
                                                           
                                                             ( 
                                                             
                                                             k 
                                                             - 
                                                             1 
                                                             
                                                             ) 
                                                           
                                                            
                                                           
                                                             N 
                                                             s 
                                                           
                                                         
                                                         s 
                                                       
                                                       + 
                                                       1 
                                                     
                                                   
                                                   + 
                                                   
                                                     d 
                                                     
                                                       T 
                                                       kNs 
                                                       s 
                                                     
                                                   
                                                 
                                                 ) 
                                               
                                             
                                             + 
                                             
                                               
                                                 1 
                                                 2 
                                               
                                                
                                               
                                                 ( 
                                                 
                                                   
                                                     d 
                                                     
                                                       T 
                                                       
                                                         kN 
                                                         s 
                                                       
                                                       s 
                                                     
                                                   
                                                   + 
                                                   
                                                     d 
                                                     
                                                       kN 
                                                       s 
                                                     
                                                     ′ 
                                                   
                                                 
                                                 ) 
                                               
                                                
                                               
                                                 ( 
                                                 
                                                   
                                                     t 
                                                     
                                                       kN 
                                                       s 
                                                     
                                                     s 
                                                   
                                                   - 
                                                   
                                                     T 
                                                     
                                                       kN 
                                                       s 
                                                     
                                                     s 
                                                   
                                                 
                                                 ) 
                                               
                                             
                                           
                                         
                                       
                                     
                                     ] 
                                   
                                   , 
                                   
                                     
 
                                   
                                    
                                   
                                       
                                   
                                    
                                   
                                     k 
                                     = 
                                     1 
                                   
                                   , 
                                   2 
                                   , 
                                   … 
                                    
                                   
                                       
                                   
                                   , 
                                   
                                     
                                       N 
                                       r 
                                     
                                     + 
                                     1 
                                   
                                 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   24 
                   ) 
                 
               
             
           
         
       
     
         [0096]    The shifting rate can be defined as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       Δ 
                        
                       
                           
                       
                        
                       
                         
                           d 
                           _ 
                         
                         j 
                       
                     
                     = 
                     
                       
                         
                           
                             d 
                             _ 
                           
                           
                             j 
                             + 
                             1 
                           
                         
                         - 
                         
                           
                             d 
                             _ 
                           
                           j 
                         
                       
                       
                         
                           t 
                           
                             
                               ( 
                               
                                 j 
                                 + 
                                 1 
                               
                               ) 
                             
                              
                             
                               N 
                               s 
                             
                           
                           s 
                         
                         - 
                         
                           t 
                           
                             jN 
                             s 
                           
                           s 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     j 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     
                       N 
                       r 
                     
                     - 
                     1 
                   
                   , 
                   
                     N 
                     r 
                   
                 
               
               
                 
                   ( 
                   25 
                   ) 
                 
               
             
           
         
       
     
         [0097]    Corrected displacement values of all segments without the shifting can then be obtained through the following equations: 
         [0000]        dc   l   ″=dc   l   ′[tc   l   s   −t   (k-1)N     s     s   ]×Δd   k   , l =( k− 1) N   s +1,( k− 1) N   s +2, . . . ,  k×N   s ; 
         [0000]        k= 1, 2, 3, . . . ,  N   r −1, N   r .  (26)
 
         [0098]    The corrected displacement values are shown in  FIG. 12 . 
         [0099]    Re-writing Eqns. (21) and (22), the RRO and NRRO after eliminating the shifting effects can be expressed as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       RRO 
                       i 
                     
                     = 
                     
                       
                         1 
                         
                           N 
                           r 
                         
                       
                        
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           
                             N 
                             r 
                           
                         
                          
                         
                             
                         
                          
                         
                           dc 
                           
                             i 
                             + 
                             
                               
                                 ( 
                                 
                                   j 
                                   - 
                                   1 
                                 
                                 ) 
                               
                               × 
                               
                                 N 
                                 s 
                               
                             
                           
                           ′′ 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     i 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     N 
                     s 
                   
                   , 
                 
               
               
                 
                   ( 
                   27 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       NRRO 
                       
                         i 
                         , 
                         j 
                       
                     
                     = 
                     
                       
                         dc 
                         
                           i 
                           + 
                           
                             
                               ( 
                               
                                 j 
                                 - 
                                 1 
                               
                               ) 
                             
                             × 
                             
                               N 
                               s 
                             
                           
                         
                         ′′ 
                       
                       - 
                       
                         RRO 
                         i 
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     i 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     N 
                     s 
                   
                   , 
                   
                     
 
                   
                    
                   
                     j 
                     = 
                     1 
                   
                   , 
                   2 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     
                       N 
                       r 
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   28 
                   ) 
                 
               
             
           
         
       
     
         [0100]      FIG. 13  displays the RRO and NRRO measurement results which are processed through the Eqns. (23) to (28). Since the average displacement per revolution is used to calculate the shifting rate, the low frequency components of displacements, which have a frequency of the rotor rotating frequency (or lower), are eliminated and only the higher frequency components of the displacement runout are taken into account. The equations (23) to (26) thus have the effect of a high-pass filter to remove the influence of shifting. 
         [0101]    5. Radial RRO and NRRO Measurement of Spindle Motor without Disks 
         [0102]    Whereas the above two examples measured axial displacement, we now describe two realizations of the embodiment of  FIG. 7  in which radial displacement is reassured. In these realizations, the laser beam of the Laser Doppler Vibrometer should impact the side surface of the spindle rotor hub or the media disk edge. In the realizations of this example and the next, the arrangement is as shown in  FIG. 14 . The laser  300  generates a beam parallel to the axial direction (i.e. parallel to the axis about which the rotor rotates), but a mirror  301  is used to change the laser beam from the vertical direction to horizontal direction, so as to play on the moving radial surface  302  of the object  303  to be measured. 
         [0103]    In the example of this section, the embodiment measured radial RRO and NRRO of a spindle motor without disks (i.e. the object  303  was a spindle). The results are shown in  FIG. 15 , where the respective lines of the graph have the same meaning as the lines of  FIG. 10(   a ). It can be seen that the roughness of the motor hub has caused the apparent shifting and errors in RRO and NRRO.  FIG. 16  shows the result of correcting the measurements using Eqns. (23) to (26), and  FIG. 17  shows plots of the resultant RRO and NRRO obtained from the embodiment using Eqns. (27) and (28). 
         [0104]    6. Radial Runout Measurement of Drive Level—Radial Displacement of Disk Edge 
         [0105]    We now turn to the case that the object  303  of  FIG. 14  is the edge of a recording medium disk. It may be that such a disk has been designed and fabricated without strict requirements, so that most of the edge surface is not smooth and may not be purely perpendicular to the media surface where data are recorded. There is also shifting problem such as happens on a rough surface. The embodiment can nevertheless remove the shifting and measure the radial runout of media disks.  FIG. 18(   a ) shows data obtained from the embodiment, with the respective lines having the same significance as the line of  FIG. 10(   a ); as can be seen, there is significant shifting.  FIG. 18(   b ) shows the corrected displacement data obtained using Eqns. (23) to (26).  FIG. 18(   c ) shows RRO and NRRO obtained from Eqns. (27) and (28). From these figures, it can be seen that the runout measurement has been removed and the runout has been successfully measured. 
         [0106]    7. Flow Diagram of the Embodiment 
         [0107]    A schematic flow diagram of the steps performed by the embodiment is given in  FIG. 19 . The starting point of the method is a time at which the PC  105  has been instructed to obtain a runout measurement. In step  401  the embodiment registers that the ZCP signal has become high. In step  402 , the embodiment registers the rising edge of the next clock pulse. In step  403 , the embodiment starts sampling the displacement signal and counting. In step  404 , the embodiment registers the next rising edge of the ZCP signal. In step  405 , upon registering the rising edge of the next clock pulse, the embodiment registers the value the clock has reached, and thereby calculates the times for all the samples taken. Depending upon the result of a determination (step  406 ) of whether there is now enough information to calculate RRO and NRRO, the embodiment may now return to step  403 , or alternatively proceed to step  407  in which any necessary correction of the displacement values for shifting is performed, and then step  408  of calculating RRO and NRRO. 
         [0108]    A number of variations of the embodiment are possible within the scope of the invention. For example, the displacement sensor (which as described may be any of the forms of displacement sensor mentioned above) may be replaced or supplemented by a velocity sensor, an accelerometer, or indeed any other device measuring a property of the moving surface. Furthermore, although in the embodiment the signal indicating the angular position of the rotor is a ZCP signal, in a less preferred variation another signal may be used. For example, the device may include an encoder of the kind in the prior art described above, with the clock being used to compare the timing of the output of this encoder to the sampled signal from the rotor. 
         [0109]    Furthermore, whereas in the embodiment the ZCP signal is used to initiate the sampling (so that there is an automatic synchronization between the first sample and the ZCP), in principle the sampling may be carried out with an independent timing. In this case, in order that the timing of two can be compared, a second counter may be provided, operated using the same system clock, to compare the timing of the sampling signal with the ZCP signal. The processor in this case receives the output of both the counters, and is able to combine them to deduce the relationship between the timing of the samples and the angular position of the rotor. However, since this variation includes an additional processor, its implementation may be more costly.