Patent Publication Number: US-7898756-B1

Title: Disk drive adapting target values of a sequence detector relative to bit error rate of the sequence detector

Description:
BACKGROUND 
     Description of the Related Art 
     Disk drives comprise a read channel for processing the read signal emanating from the head in order to demodulate the data recorded on the disk surface. The read channel typically comprises a sampling device for sampling the read signal to generate a sequence of read signal samples, an equalizer comprising a plurality of coefficients for equalizing the read signal samples to generate a sequence of equalized samples, and a sequence detector for detecting an estimated data sequence from the equalized samples according to a target response. Any suitable target response may be employed, such as a suitable partial response (e.g., PR4, EPR4, etc.), and any suitable sequence detector may be employed (e.g., Viterbi, Turbo Decoder, etc.). 
     The accuracy of the sequence detector is affected by how well the read channel of the disk drive can be equalized to match the target response. Since the equalizer will correlate the noise in the read signal, the preferred response requires minimal equalization by the equalizer. There is, therefore, a need to optimize the target response of a sequence detector employed in a disk drive. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a disk drive according to an embodiment of the present invention comprising a disk, a head actuated over the disk, and control circuitry. 
         FIG. 2  shows control circuitry according to an embodiment of the present invention including a gradient calculator for computing an equalizer adapting gradient in response to a correlation of a training data sequence with error values. 
         FIG. 3  shows control circuitry according to an embodiment of the present invention for computing the gradient in response to a sign of the error values. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION 
       FIG. 1  shows a disk drive according to an embodiment of the present invention comprising a disk  2  and a head  4  actuated radially over the disk  2 , wherein the head generates a read signal  6 . A sampling device  8  ( FIG. 2 ) samples the read signal  6  to generate a sequence of read signal samples  10  when reading a training data sequence  11  recorded on the disk, and an equalizer  12  comprising a plurality of coefficients equalizes the read signal  10  samples to generate a sequence of equalized samples  14 . A sequence detector  16  detects an estimated data sequence  18  from the equalized samples  14 , wherein the sequence detector  16  operates according to a target response comprising a plurality of target values. Control circuitry  20  adapts the target values by computing error values  22  in response to a difference between expected samples  24  and the equalized samples  14 , computing a gradient  26 A in response to a correlation of the training data sequence  11  with the error values  22 , and adjusting at least one of the target values in response to the gradient  26 A. In one embodiment, the control circuitry  20  also adapts the equalizer coefficients by computing a gradient  26 B in response to a correlation of the read signal samples with the error values  22 , and adjusting at least one of the equalizer coefficients in response to the gradient  26 B. In one embodiment, each of the gradients  26 A and  26 B is computed by scaling the corresponding correlation with at least one of the target values of the target response. 
     In the embodiment of  FIG. 1A , the disk  2  comprises a plurality of embedded servo sectors  28   0 - 28   N  which define a number of data tracks  30 . Each servo sector  28  comprising coarse head positioning information (e.g., a track address) and fine head positioning information (e.g., servo bursts). The control circuitry  20  processes the read signal  6  to demodulate the servo sectors  28   0 - 28   N  into a position error signal representing an error between a current radial location of the head  4  and a target radial location. The control circuitry  20  filters the position error signal with a suitable compensation filter to generate a control signal  32  applied to a voice coil motor (VCM)  34  which rotates an actuator arm  36  about a pivot in a direction that reduces the position error signal. 
     Any suitable sequence detector  16  may be employed in the embodiments of the present invention, such as a suitable Viterbi detector. In addition, the sequence detector  16  may operate according any suitable target response, such as a partial response (e.g., PR4, EPR4, EEPR4, etc.). The target values of the target response may be characterized by a suitable polynomial (e.g., 1-D 2  for a PR4 response), wherein the coefficients of the polynomial may comprise any suitable values, including fractional values. In one embodiment, the target response may be configured initially according to a conventional polynomial (e.g., PR4), and then the coefficients of the polynomial are adapted (i.e., the target values of the target response are adapted) in a manner that minimizes a bit error rate of the sequence detector  16  as described below. 
     In one embodiment when simultaneously adapting the target values of the target response and the coefficients of the equalizer  12 , the expected samples  24  are generated by convolving the training data sequence  11  with an ideal polynomial representation of the channel. The training data sequence may be prerecorded on the disk (e.g., using an external servo writer or stamping technique) or it may be written to the disk by the control circuitry  20 . In another embodiment when adapting only the coefficients of the equalizer  12 , the expected samples  24  may be generated by convolving the estimated data sequence  18  with an ideal polynomial representation of the channel. For example, in one embodiment the target values of the target response and the coefficients of the equalizer  12  may be adapted simultaneously during a calibration procedure using a training data sequence. Once the target values of the target response have converged, the target values remain static during normal operation of the disk drive (i.e., while reading user data) and the coefficients of the equalizer  12  may continue to be adapted by generating the expected samples  24  in response to the estimated data sequence  18 . 
     In one embodiment of the present invention, the coefficients of the equalizer  12  and the target values of the target response are adapted by computing a gradient that attempts to minimize the bit error rate of the sequence detector  16 . For example, in the embodiment wherein the sequence detector comprises a Viterbi detector, an error event occurs when: 
                 ∑   k             ⁢           ⁢       (       y   k     -     d   k   i       )     2       &lt;       ∑   k             ⁢           ⁢       (       y   k     -     d   k       )     2             
where y k  represents a sequence of equalized sample values, d k  represents the correct sequence of expected sample values, and d k   i  represents an alternative sequence of expected sample values. Therefore, the probability of a Viterbi detector making an error in the presence of an error event e a   i  can be represented as:
 
               Pr   ⁡     (       eer   i     ⁢     ❘     e   a   i         )       =     Pr   ⁢       {         ∑   k             ⁢           ⁢       (       y   k     -     d   k   i       )     2       &lt;       ∑   k             ⁢           ⁢       (       y   k     -     d   k       )     2         }     .             
The above equation for representing an error event can be expanded into:
 
                 ∑   k             ⁢           ⁢     [         (     d   k   i     )     2     -       (     d   k     )     2     -     2   ⁢         y   k     ⁡     (       d   k   i     -     d   k       )       2         ]       &lt;   0.         
Letting y k =d k +z k  where z k  consists of statistical noise and residual intersymbol interference (ISI). Also let d k   i =(a i *g) k  and d k =(a*g) k  where a is a NRZ input sequence and g represents the target values of the target response. With a k   i −a k =2·e ak   i , the above equation for representing an error event can be represented as:
 
                   ∑   k             ⁢           ⁢       [       (       e   a   i     *   g     )     k     ]     2       -       ∑   k             ⁢           ⁢         (       e   a   i     *   g     )     k     ·     z   k           &lt;   0.         
Letting e yk   i =(e a   i *g) k  the above equation can be written as:
 
     
       
         
           
             
               
                 
                   ∑ 
                   k 
                   
                       
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     [ 
                     
                       e 
                       yk 
                       i 
                     
                     ] 
                   
                   2 
                 
               
               - 
               
                 
                   ∑ 
                   k 
                   
                       
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     e 
                     yk 
                     i 
                   
                   · 
                   
                     z 
                     k 
                   
                 
               
             
             &lt; 
             0. 
           
         
       
     
     Observe z k  is a statistic quantity consisting of residual ISI and statistical colored noise. Assume the summation in the above equation accounts for N consecutive samples during the error event observation window, then the error-making condition becomes: 
                   ∑     k   =   0       N   -   1       ⁢           ⁢       [     e   yk   i     ]     2       -       ∑     k   =   0       N   -   1       ⁢           ⁢       e   yk   i     ·     z   k           &lt;   0.         
Define column vectors:
 
e y   i =[e y0   i e y1   i Le yN-1   i ] T  and z=[z 0 z 1 Lz N-1 ] T  
 
then the above equation becomes:
 
 e   y   i     T     e   y   i   −e   y   i     T     z&lt; 0.
 
Observe that e y   i     T   e y   i −e y   i     T   z is a Gaussian stochastic variable with mean value M=e y   i     T   e y   i  and variance V=e y   i     T   E{zz T }e y   i . Thus we can use the Q function:
 
               Q   ⁡     (   x   )       =       1       2   ⁢   π         ⁢       ∫   x   ∞     ⁢       ⅇ       -     u   2       /   2       ⁢           ⁢     ⅆ   u                 
to write the error event probability equation as:
 
               Pr   ⁢     {           e   y     i   T       ⁢     e   y   i       -       e   y     i   T       ⁢   z       &lt;   0     }       =       Q   ⁡     (         e   y     i   T       ⁢     e   y   i             e   y     i   T       ⁢   E   ⁢     {     zz   T     }     ⁢     e   y   i           )       .           
Defining R z =E{zz T } and the Viterbi pre-detection effective signal-to-noise ratio as ρ=M 2 /V the error event probability equation can be written as:
 
               Pr   ⁡     (       eer   i     ⁢     ❘     e   a   i         )       =       Q   ⁡     (     ρ   i     )       =     Q   ⁡     (     M   /     V       )               
where:
 
               ρ   i     =         e   y     i   T       ⁢     e   y   i             e   y     i   T       ⁢     R   z     ⁢     e   y   i                 
For error event e ak   i  with number λ i  of error bits in the pattern, the bit error occurrence probability is:
 
 Pr ( e   a   i )=2 1-λ     i   ·λ i .
 
Consider κ+1 number of dominant error events of e ak   i , the error event probability equation can be approximated as
 
                 ∑     i   =   0     κ     ⁢       Pr   ⁡     (       eer   i     ⁢     |     e   a   i         )       ⁢     Pr   ⁡     (     e   a   i     )           =         ∑     i   =   0     κ     ⁢       Q   ⁡     (         e   y     i   T       ⁢     e   y   i             e   y     i   T       ⁢     R   z     ⁢     e   y   i           )       ⁢     2     1   -     λ   i         ⁢     λ   i         =       ∑     i   =   0     κ     ⁢       Q   ⁡     (     ρ   i     )       ⁢     2     1   -     λ   i         ⁢       λ   i     .                 
From the above equation, the higher ρ i  the lower the probability of error. For a specific error event e ak   i , maximizing ρ i  means minimizing:
 
E=e y   i     T   R z e y   i .
 
     In one embodiment, the coefficients of the equalizer  12  and the target values of the target response are adapted in response to a gradient that minimizes the above E. Consider an example embodiment wherein the read channel comprises the dominant error events +, +−, +−+ and +0+, and the target response comprises the target values g=[g 0  g 1  g 2 ] T , then the error event contributor e y   i  to E can be represented in the following table: 
                                 TABLE 1                       e ak   i     e y   i  = [e yk   i  = (e a   i  * g)]                          +   [g 0 , g 1 , g 2 ] T             +−   [g 0 , g 1  − g 0 , g 2  − g 1 , − g 2 ] T             +−+   [g 0 , g 1  − g 0 , g 2  − g 1  + g 0 , − g 2  + g 1 , − g 2 ] T             +0+   [g 0 , g 1 , g 2  + g0, g0, g 2 ] T                          
The noise correlation matrix R z  can be written as:
 
               R   z     =       ⌊             e   k     ⁢     e   k               e   k     ⁢     e     k   -   1                 e   k     ⁢     e     k   -   2             L               e   k     ⁢     e     k   -   1                 e     k   -   1       ⁢     e     k   -   1                 e     k   -   1       ⁢     e     k   -   2             L               e   k     ⁢     e     k   -   2                 e     k   -   1       ⁢     e     k   -   2                 e     k   -   2       ⁢     e     k   -   2             L           L       L       L       L         ⌋     .           
Using the above equations, it is possible to compute the gradient for each error event that minimizes E. For example, for the ‘+’ error event, E is computed as:
 
     
       
         
           
             E 
             = 
             
               
                 
                   [ 
                   
                     
                       g 
                       0 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       g 
                       1 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       g 
                       2 
                     
                   
                   ] 
                 
                 ⁢ 
                 
                   ⌊ 
                   
                     
                       
                         
                           
                             e 
                             k 
                           
                           ⁢ 
                           
                             e 
                             k 
                           
                         
                       
                       
                         
                           
                             e 
                             k 
                           
                           ⁢ 
                           
                             e 
                             
                               k 
                               - 
                               1 
                             
                           
                         
                       
                       
                         
                           
                             e 
                             k 
                           
                           ⁢ 
                           
                             e 
                             
                               k 
                               - 
                               2 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             e 
                             k 
                           
                           ⁢ 
                           
                             e 
                             
                               k 
                               - 
                               1 
                             
                           
                         
                       
                       
                         
                           
                             e 
                             
                               k 
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                             e 
                             
                               k 
                               - 
                               1 
                             
                           
                         
                       
                       
                         
                           
                             e 
                             
                               k 
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                             e 
                             
                               k 
                               - 
                               2 
                             
                           
                         
                       
                     
                     
                       
                         
                           
                             e 
                             k 
                           
                           ⁢ 
                           
                             e 
                             
                               k 
                               - 
                               2 
                             
                           
                         
                       
                       
                         
                           
                             e 
                             
                               k 
                               - 
                               1 
                             
                           
                           ⁢ 
                           
                             e 
                             
                               k 
                               - 
                               2 
                             
                           
                         
                       
                       
                         
                           
                             e 
                             
                               k 
                               - 
                               2 
                             
                           
                           ⁢ 
                           
                             e 
                             
                               k 
                               - 
                               2 
                             
                           
                         
                       
                     
                   
                   ⌋ 
                 
                 ⁢ 
                 
                   ⌊ 
                   
                     
                       
                         
                           g 
                           0 
                         
                       
                     
                     
                       
                         
                           g 
                           1 
                         
                       
                     
                     
                       
                         
                           g 
                           2 
                         
                       
                     
                   
                   ⌋ 
                 
               
               = 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     0 
                   
                   2 
                 
                 ⁢ 
                 
                   
                     ∑ 
                     
                       j 
                       = 
                       0 
                     
                     2 
                   
                   ⁢ 
                   
                     
                       g 
                       i 
                     
                     ⁢ 
                     
                       g 
                       j 
                     
                     ⁢ 
                     
                       e 
                       
                         k 
                         - 
                         i 
                       
                     
                     ⁢ 
                     
                       
                         e 
                         
                           k 
                           - 
                           j 
                         
                       
                       . 
                     
                   
                 
               
             
           
         
       
     
     Computing 
               ∂   E       ∂     w   m             
as the adaptation gradient Δ wm  for the w m  coefficient:
 
               Δ   wm     =         ∂   E       ∂     w   m         =       ∑     i   =   0     2     ⁢       ∑     j   =   0     2     ⁢       g   i     ⁢         g   j     ⁡     (         e     k   -   i       ⁢       ∂     e     k   -   j           ∂     w   m           +         ∂     e     k   -   i           ∂     w   m         ⁢     e     k   -   j           )       .                   
The above equation can be rewritten as:
 
               Δ   wm     =       ∑     i   =   0     2     ⁢       ∑     j   =   0     2     ⁢       g   i     ⁢         g   j     ⁡     (         e     k   -   i       ⁢     x     k   -   m   -   j         +       e     k   -   j       ⁢     x     k   -   m   -   i           )       .                 
Therefore, in one embodiment, the w m  coefficient is updated according to:
 
                 w   m     ⁡     (     k   +   1     )       =         w   m     ⁡     (   k   )       -     μ   ·       ∑     i   =   0     2     ⁢       ∑     j   =   0     2     ⁢       g   i     ⁢       g   j     ⁡     (         e     k   -   i       ⁢     x     k   -   m   -   j         +       e     k   -   j       ⁢     x     k   -   m   -   i           )                       
where m=0, 1, 2, L, N−1 and μ is the update gain.
 
     Computing 
               ∂   E       ∂     g   n             
as the adaptation gradient Δ gn  for the g n  target value of the target response:
 
               Δ   gn     =         ∂   E       ∂     g   n         =       2   ⁢     e     k   -   n       ⁢       ∑     i   =   0     2     ⁢       g   i     ⁢     e     k   -   i             -     2   ⁢       ∑     i   =   0     2     ⁢       ∑     j   =   0     2     ⁢       g   i     ⁢     g   j     ⁢     e     k   -   i       ⁢       a     k   -   j   -   n       .                       
Therefore, in one embodiment, the g n  target value of the target response is updated according to:
 
                 g   n     ⁡     (     k   +   1     )       =         g   n     ⁡     (   k   )       -     η   ·     (         e     k   -   n       ⁢       ∑     i   =   0     2     ⁢       g   i     ⁢     e     k   -   i             -       ∑     i   =   0     2     ⁢       ∑     j   =   0     2     ⁢       g   i     ⁢     g   j     ⁢     e     k   -   i       ⁢     a     k   -   j   -   n               )               
where n=1, 2 and η is the update gain, and a k  is a training data sequence.
 
       FIG. 2  illustrates example circuitry for implementing the above equation for the ‘+’ error event when the target response comprises three target values g=[g 0  g 1  g 2 ] T . However, the above equations and corresponding circuitry can be generated for any number of target values of a target response and for any error event. 
     In one embodiment, the sign of the error values are used to compute the gradient in order to simplify the circuitry. In the above example for updating the w m  coefficient for the ‘+’ error event, the above equation can be written as: 
               Δ   wm     =       ∑     i   =   0     2     ⁢       ∑     j   =   0     2     ⁢       g   i     ⁢       g   j     ⁡     (         sign   ⁡     (     e     k   -   i       )       ⁢     x     k   -   m   -   j         +       sign   ⁡     (     e     k   -   j       )       ⁢     x     k   -   m   -   i           )                   
or equivalently:
 
               Δ   wm     =       2   ⁢     g   0   2     ⁢     x     k   -   m         +     2   ⁢     g   1   2     ⁢     x     k   -   m   -   1         +     2   ⁢     g   2   2     ⁢     x     k   -   m   -   2         +       x     k   -   m       ·     [         g   0     ⁢       g   1     ·     sign   ⁡     (     e     k   -   1       )           +       g   0     ⁢       g   2     ·     sign   ⁡     (     e     k   -   2       )             ]       +       x     k   -   m   -   1       ·     [         g   0     ⁢       g   1     ·     sign   ⁡     (     e   k     )           +       g   0     ⁢       g   2     ·     sign   ⁡     (     e     k   -   2       )             ]       +       x     k   -   m   -   2       ·       [         g   0     ⁢       g   2     ·     sign   ⁡     (     e   k     )           +       g   1     ⁢       g   2     ·     sign   ⁡     (     e     k   -   1       )             ]     .                 FIG. 3  shows example circuitry for implementing the above equation, wherein similar circuitry may be employed for other error events and/or other number of target values in the target response. A similar reduction in circuit complexity can be achieved for computing the update gradient for the target values g n .
 
     In one embodiment, both the equalizer coefficients w m  and the target values g n  of the target response are adapted simultaneously, and in one embodiment, at least one of the equalizer coefficients and/or at least one of the target values is not adapted in order to minimize interaction between the two, thereby helping ensure the equalizer coefficients and target values converge. For example, in one embodiment the middle or main coefficient of the equalizer  12  is not adapted and/or the first target value of the target response is not adapted. 
     Any suitable control circuitry may be employed to implement the embodiments of the present invention, such as any suitable integrated circuit or circuits. For example, the control circuitry may be implemented within a read channel integrated circuit, or in a component separate from the read channel, such as a disk controller, or certain steps described above may be performed by a read channel and others by a disk controller. In one embodiment, the read channel and disk controller are implemented as separate integrated circuits, and in an alternative embodiment they are fabricated into a single integrated circuit or system on a chip (SOC). In addition, the control circuitry may include a suitable preamp circuit implemented as a separate integrated circuit, integrated into the read channel or disk controller circuit, or integrated into an SOC. 
     In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the steps of the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a SOC. In another embodiment, the instructions are stored on the disk and read into a volatile semiconductor memory when the disk drive is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.