Patent Publication Number: US-8116020-B1

Title: Disk drive mapping entries of a defect list into clusters

Description:
BACKGROUND 
     Description of the Related Art 
     Prior art disk drives employ one or more disks with heads actuated over the respective disk surfaces (e.g., top and bottom surfaces). Each disk surface comprises a plurality of radially spaced, concentric data tracks, wherein each data track comprises a number of data sectors for storing user data. During write operations, the disk drive receives user data and a logical block address (LBA) which is mapped to an absolute block address (ABA) identifying one of the data sectors for storing the user data. The LBA to ABA mapping enables defective data sectors to be mapped to spare data sectors. 
     Because the disk is rotated at a constant velocity, the data rate is typically increased toward the outer diameter tracks (where the surface of the disk is spinning faster) in order to achieve a more constant linear bit density across the radius of the disk. To simplify design considerations, the data tracks are typically banded together into a number of physical zones, wherein the data rate is constant across a zone, and increased from the inner diameter zones to the outer diameter zones. This is illustrated in  FIG. 1A , which shows a prior art disk format  2  comprising a number of data tracks  4 , wherein the data tracks are banded together in this example to form three physical zones from the inner diameter of the disk (ZONE 1) to the outer diameter of the disk (ZONE 3). The prior art disk format of  FIG. 1  also comprises a number of embedded servo sectors  6   0 - 6   N  recorded around the circumference of each data track. Each servo sector  6   i  comprises a preamble  8  for storing a periodic pattern, which allows proper gain adjustment and timing synchronization of the read signal, and a sync mark  10  for storing a special pattern used to symbol synchronize to a servo data field  12 . The servo data field  12  stores coarse head positioning information, such as a track address, used to position the head over a target data track during a seek operation. Each servo sector  6 , further comprises groups of servo bursts  14  (e.g., A, B, C and D bursts), which comprise a number of consecutive transitions recorded at precise intervals and offsets with respect to a data track centerline. The groups of servo bursts  14  provide fine head position information used for centerline tracking while accessing a data track during write/read operations. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1A  shows a prior art disk format comprising a plurality of concentric data tracks defined by embedded servo sectors. 
         FIGS. 1B and 1C  shows a disk drive according to an embodiment of the present invention comprising a first and second disk surfaces, and heads actuated over the respective disk surfaces. 
         FIG. 1D  is a flow diagram executed by control circuitry within the disk drive for mapping an entry of a defect list into a cluster. 
         FIGS. 2A and 2B  show a disk drive according to an embodiment of the present invention comprising a plurality of disk surfaces and heads actuated over respective disk surfaces, wherein a servo tracks per inch (STPI) to data tracks per inch (DTPI) ratio varies across at least part of a disk surface. 
         FIG. 3  shows an embodiment of the present invention wherein the control circuitry identifies a number of clusters, and the STPI to DTPI ratio changes between the cluster boundary defining a data zone. 
         FIG. 4  shows an embodiment of the present invention wherein the physical zone boundaries define logical zone boundaries, the STPI to DTPI ratio is different between at least two of the physical zones, and a numbering for absolute block addresses follows a serpentine pattern along the width of a cluster. 
         FIG. 5  shows a flow diagram according to an embodiment of the present invention for finding a data sector on a disk surface in response to a block address received from the host by finding the corresponding logical zone, the cluster within the logical zone, the head within the cluster, the data track for the head, and the servo track and servo track offset for the head. 
         FIGS. 6A and 6B  illustrate how a servo track and servo track offset are identified for locating the center of a target data track according to an embodiment of the present invention. 
         FIG. 7  shows an embodiment of the present invention wherein data zones are defined by the STPI to DTPI ratio which changes within a physical zone, and the logical zone boundaries are defined by the data zone boundaries. 
         FIG. 8A  shows an embodiment wherein a data TPI profile is lower than a servo TPI across the radius of a disk surface. 
         FIG. 8B  shows an embodiment wherein a data TPI profile overlaps a servo TPI profile such that the data TPI is higher than the servo TPI for the middle diameter tracks of a disk surface. 
         FIGS. 9A and 9B  show servo TPI and data TPI profiles in dimensions of quantized steps (e.g., DAC counts) between tracks, wherein the quantized steps between servo tracks is constant across the disk surface and varies between at least two data zones. 
         FIG. 10A  shows a defect list according to an embodiment of the present invention comprising an index number, a track number, a head number, and a starting and ending physical sector number (PSN). 
         FIG. 10B  is a table according to an embodiment of the present invention showing the maximum data track number for each head (disk surface) and in each cluster. 
         FIG. 10C  illustrates an embodiment of the present invention wherein a maximum data track number X 1  in the first cluster on a first disk surface is less than a maximum data track number Y 1  in the first cluster on a second disk surface. 
         FIG. 11  is a flow diagram according to an embodiment of the present invention wherein an index corresponding to X 1  is saved while searching for entries that fall within the first cluster C 1 , and used to begin searching for entries that fall within the second cluster C 2 . 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION 
       FIGS. 1B and 1C  show a disk drive according to an embodiment of the present invention comprising a first disk surface  16   0  and a second disk surface  16   1 , wherein each disk surface comprises a plurality of data tracks  17 . A first head  22   0  is actuated over the first disk surface  16   0 , and a second head  22   1  is actuated over the second disk surface  16   1 . The disk drive further comprises control circuitry  20  operable to execute the flow diagram of  FIG. 1D . A defect list comprising a plurality of entries is generated (step  19 ), wherein each entry comprises a track number comprising a defect. A first cluster across the first and second disk surfaces is identified, wherein a maximum data track number X 1  in the first cluster on the first disk surface  16   0  is less than a maximum data track number Y 1  in the first cluster on the second disk surface  16   1  (step  21 ). A second cluster across the first and second disk surfaces is identified, wherein a maximum data track number X 2  in the second cluster on the first disk surface is less than a maximum data track number Y 2  in the second cluster on the second disk surface (step  23 ). An entry is selected from the defect list in response to X 1  (step  25 ), and the selected entry of the defect list is mapped into the second cluster (step  27 ). 
       FIGS. 2A and 2B  show a disk drive according to an embodiment of the present invention having a plurality of disk surfaces ( 16   0 - 16   3 ). A first head  22   0  is actuated over a first disk surface  16   0 , and the first disk surface  16   0  comprises a plurality of servo tracks and a plurality of data tracks ( FIG. 3 ). The data tracks of the first disk surface  16   0  are banded together into a plurality of data zones, including a first data zone and a second data zone. A first servo tracks per inch (STPI) to data tracks per inch (DTPI) ratio of the first data zone is substantially different from a second STPI to DTPI ratio of the second data zone. 
     In the embodiment of  FIGS. 2A and 2B , the disk drive comprises a plurality of heads ( 22   0 - 22   3 ) actuated over respective disk surfaces ( 16   0 - 16   3 ). The heads ( 22   0 - 22   3 ) are attached to the distal ends of actuator arms ( 24 A- 24 C) which are rotated about a pivot by a voice coil motor (VCM)  26  in order to position the heads ( 22   0 - 22   3 ) over the disk surfaces ( 16   0 - 16   3 ). Each disk surface ( 16   0 - 16   3 ) comprises a number of servo sectors ( 28   0 - 28   N ) that store coarse head position information (e.g., a track address) used to position the head over a target data track during a seek operation, and fine head position information (e.g., servo bursts) used to maintain the head over the target data track during read/write operations. The control circuitry  20  processes the servo sectors ( 28   0 - 28   N ) to generate a VCM control signal  30  applied to the VCM  26  in a closed loop servo system. 
       FIG. 3  shows the format of servo tracks (ST) relative to the format of data tracks (DT) according to an embodiment of the present invention. In this example, the servo tracks are banded together into a plurality of clusters, where a first cluster is in a first data zone, and a second cluster is in a second data. In the example embodiment of  FIG. 3 , a spacing between each servo track comprises N quantized steps, and a spacing between each data track comprises M quantized steps. Each quantized step corresponds to a discrete position the servo system may position the head between two servo tracks in order to align the head over a target data track. For example, each quantized step may correspond to a digital-to-analog converter (DAC) count in the servo system. In an embodiment described in greater detail below, the relationship between each quantized step and the corresponding offset in physical distance may vary across the disk surface. For example, a quantized step may correspond to a first fraction of an inch near the outer diameter, whereas a quantized step may correspond to a second (greater) fraction of an inch near the middle diameter. In one embodiment, the number of quantized steps between servo tracks remains constant, but the corresponding physical TPI changes across the radius of the disk surface. 
     Referring again to  FIG. 3 , in the cluster of the first data zone, there are 256 quantized steps between the centerline of each servo track, and 303 quantized steps between the centerline of each data track. Therefore in the first data zone, the servo quantized steps per track (SQSPT) to data quantized steps per track (DQSPT) ratio is 256/303. In the cluster of the second data zone, there are 256 quantized steps between the centerline of each servo track, and 231 quantized steps between the centerline of each data track. Therefore, the SQSPT to DQSPT ratio is 256/231 in the second data zone. Accordingly, in the example of  FIG. 3 , the STPI to DTPI ratio of the first data zone is different than the STPI to DTPI ratio of the second data zone. 
     Any suitable STPI to DTPI ratio may be selected for each data zone. In one embodiment, the STPI to DTPI ratio is constant across a data zone. In addition, the STPI to DTPI ratio may be greater than one (higher STPI than DTPI) or less than one (lower STPI than DTPI). In an embodiment described in greater detail below, the STPI to DTPI ratio may be greater than one over a first part of the disk surface, and less than one over a second part of the disk surface. 
     In  FIG. 3  the cluster of the first data zone comprises 4 full servo tracks ST 0 -ST 3  (4×256=1024 steps) and 3 full data tracks DT 0 -DT 2  (with a remainder of 115 steps as shown). The second data zone comprises 4 full servo tracks (4×256=1024 steps) and 4 full data tracks (with a remainder of 100 steps as shown). In this embodiment, each cluster comprises an integer number of servo track spacings and a fractional number of data track spacings. Also in this embodiment, the data tracks are formatted such that the spacing of data tracks always begins relative to the start of a new cluster. In the example of  FIG. 3 , the spacing between the last data track (data track DT 2 ) of a current cluster and the first data track (data track DT 0 ) of the next cluster includes the remainder (303+115=418 steps). In an alternative embodiment, the remainder is distributed across the data tracks in any suitable manner so that the spacing between data tracks is substantially even. 
     In the embodiment of  FIG. 2A , the data tracks of each disk surface are banded together into a plurality of physical zones each having physical zone boundaries at predetermined radial locations on the disk surface, wherein each physical zone is operable to store data in the data sectors at a predetermined data rate. In one embodiment, the physical zones also define the data zones in that the SQSPT to DQSPT ratio is constant across each physical zone, and varies between physical zones. Accordingly, in one embodiment a data rate of data stored in a data track of a first data zone is different than a data rate of data stored in a data track of a second data zone. In alternative embodiment described in greater detail below, at least one physical zone is further divided into multiple data zones each having a different SQSPT to DQSPT ratio. Thus in this embodiment, a data rate of data stored in a data track of a first data zone may be the same as a data rate of data stored in a data track of a second data zone. 
       FIG. 4  shows an example format for the disk surfaces ( 16   0 - 16   3 ) according to an embodiment of the present invention. In this example, each disk surface corresponding to heads  22   0 - 22   3  comprises three physical zones PZ 1 -PZ 3  having physical zone boundaries at predetermined radial locations. Also in this embodiment, each physical zone corresponds to a data zone having a selected SQSPT to DQSPT ratio. The physical zone PZ 1  on disk surface  16   0  has a physical zone boundary (right boundary) at a first predetermined radial location, wherein the first predetermined radial location is different from any of the radial locations of the physical zone boundaries on disk surface  16   1 . The physical zone PZ 1  on the disk surface  16   1  has a physical zone boundary (right boundary) at a second predetermined radial location, wherein the second predetermined radial location is different from any of the radial locations of the physical zone boundaries on disk surface  16   0 . Logical zone boundaries of logical zones LZ 1 -LZ 6  are defined relative to the physical zone boundaries in that a new logical zone boundary occurs whenever there is a change in any one of the physical zones on any disk surface. Accordingly, in this embodiment the number of logical zones is greater than the number of physical zones for at least one of the disk surfaces (six logical zones and three physical zones in the example of  FIG. 4 ). Preferably, these logical zones are defined for at least two of the disk surfaces, and in one embodiment, one set of logical zones defines the logical zone boundaries for the entire drive. 
     In one embodiment, the block address received from the host with an access command is a logical block address (LBA) that the control circuitry  20  maps to an absolute block address (ABA) corresponding to a target data sector. This LBA to ABA mapping facilitates the “mapping out” of defective data sectors. Any suitable LBA to ABA mapping algorithm may be employed in the embodiments of the present invention. 
     In one embodiment, the ABA numbering follows a suitable serpentine pattern across the disk surfaces. This is illustrated in the embodiment of  FIG. 4 , wherein the serpentine pattern follows the width of a cluster along a current disk surface in one direction (e.g., OD to ID), and then follows along a cluster width of a next disk surface in the opposite direction (e.g., ID to OD). When the end of the cluster on the last disk surface is reached, the serpentine pattern continues starting with the next cluster on the first disk surface as illustrated in  FIG. 4 . 
     Note that because the data zones do not change within a logical zone in this embodiment, the sectors per cluster cylinder (SPCC) are the same within each logical zone, wherein the SPCC is the number of sectors on all of the disk surfaces within the cluster cylinder. This is true even though the data track density and the linear bit density may be different across the disk surfaces. This constraint enables the convenient mapping of an ABA to a target data sector, which is understood with reference to an embodiment shown in the flow diagram of  FIG. 5 :
         Step  42 : Receive access command from host—An access command is received from a host, including a logical block address.   Step  44 : Map LBA to ABA—The LBA received from the host is mapped to an ABA using any suitable algorithm.   Step  46 : Find the logical zone corresponding to the ABA—Each logical zone has an associated starting ABA (S_ABA), which is computed as the SPCC times the number of clusters within each preceding zone. The logical zone corresponding to any given ABA is found by comparing the starting ABA of each logical zone to the target ABA.   Step  48 : Find the cluster within the logical zone corresponding to the ABA—The cluster within the target logical zone is then found by comparing the target ABA to the SPCC for each cluster. For example, the control circuitry may be operable to subtract the starting ABA of the target logical zone from the target ABA to find the remainder, and then subtract the SPCC from the remainder repetitively until the result is less than the SPCC. The fractional SPCC is then used to find the target head/surface in the next step.   Step  50 : Find the head within the cluster corresponding to the ABA—Once the cluster within the logical zone is found, the head/surface storing the target data sector is found by comparing the fractional SPCC to the sectors per cluster (SPC) for each disk surface starting with the first disk surface  16   0 . For example, the control circuitry may be operable to subtract the SPC for each disk surface from the fractional SPCC found in the previous step until the result is less than the SPC. The remainder of this step is then used to find the target data track in the next step.   Step  52 : Find the data track corresponding to the head and ABA—The target data track is then found by comparing the remainder of the previous step to the sectors per track (SPT) within the cluster on the target disk surface. For example, subtract the sectors per track from the remainder of the previous step until the result is less than the SPT.   Step  54 : Find the servo track and a radial offset—Once the target data track is known, the corresponding servo track can be determined using the SQSPT to DQSPT ratio for the corresponding data zone of the disk surface. The centerline of the target data track is typically located at a radial offset (in steps) from the target servo track. In one embodiment, the target servo track and radial offset are always determined relative to the left side of the cluster regardless as to the serpentine direction.       

     A better understanding of how an ABA may be mapped to a target data sector in one embodiment is understood by considering two examples in  FIG. 4 , assuming the following format parameters: 
     SPCC 1 =412=&gt;S_ABA LZ 2 =1236 
     SPCC 2 =466=&gt;S_ABA LZ 3 =2168 
     SPC within cluster C 2  of LZ 2  on disk surface  16   0 =124 
     SPC within cluster C 2  of LZ 2  on disk surface  16   1 =105 
     SPC within cluster C 2  of LZ 2  on disk surface  16   2 =90 
     SPC within cluster C 2  of LZ 2  on disk surface  16   3 =147 
     SPT within cluster C 2  of LZ 2  on disk surface  16   1 =35 
     SPT within cluster C 2  of LZ 2  on disk surface  16   2 =30 
     In a first example illustrated in  FIG. 6A , a target data sector (reference number  56  in  FIG. 4 ) is found for ABA number 1897. The target logical zone (LZ 2 ) is found by comparing the S_ABA of the logical zones to the target ABA of 1897. A remainder is found by subtracting the S_ABA of the target logical zone (S_ABA LZ 2 =1236) from the ABA number 1897 leaving a remainder of 661. The target cluster within LZ 2  is then found by subtracting the SPCC 2  from the remainder of 661 (which happens once in this case before the result is less than SPCC 2 ). The remainder (661−466=195) is then used to find the target head/surface by subtracting the SPC for each disk surface (which happens once in this case before the result is less than the SPC). The remainder (195−124=71) represents the sector number within cluster C 2  of LZ 2  on disk surface  16   1 . The corresponding target data track and target data sector are then found by subtracting the sectors per track (SPT) within cluster C 2  of LZ 2  on disk surface  16   1  (71−35−35=1). Therefore, the target data sector is the second data sector of the third data track (data track DT 2  counting from right to left in  FIG. 6A ) within cluster C 2  of LZ 2  on disk surface  16   1 . The corresponding servo track and radial offset is then found using the SQSPT to DQSPT ratio (256/303):
 
Target servo track=((4×256)−(2×303))/256=1 remainder 162.
 
In the above equation, the number of quantized steps in two data track spacings (2×303) is subtracted from the total number of steps in the cluster (4×256) since the direction of the serpentine pattern is right to left for disk surface  16   1 . Therefore, the target servo track is the second servo track (servo track ST 1  counting from left to right in  FIG. 6A ) within cluster C 2  of LZ 2  on disk surface  16   1 , and the radial offset from the second servo track is 162 steps as shown in  FIG. 6A .
 
     In a second example illustrated in  FIG. 6B , the target data sector (reference number  58  in  FIG. 4 ) is found for ABA number 1967. The target logical zone (LZ 2 ) is found by comparing the S_ABA of the logical zones to the target ABA of 1967. A remainder is found by subtracting the S_ABA of the target logical zone (S_ABA LZ 2 =1236) from the ABA number 1967 leaving a remainder of 731. The target cluster within LZ 2  is then found by subtracting the SPCC 2  from the remainder of 731 (which happens once in this case before the result is less than SPCC 2 ). The remainder (731−466=265) is then used to find the target head/surface by subtracting the SPC for each disk surface (which happens twice in this case before the result is less than the SPC). The remainder (265−124−105=36) represents the sector number within cluster C 2  of LZ 2  on disk surface  16   2 . The corresponding target data track and target data sector are then found by subtracting the sectors per track (SPT) within cluster C 2  of LZ 2  on disk surface  16   2  (36−30=6). Therefore, the target data sector is the 7th data sector of the second data track (data track DT 1  counting from left to right in  FIG. 6B ) within cluster C 2  of LZ 2  on disk surface  16   2 . The corresponding servo track and radial offset is then found using the SQSPT to DQSPT ratio (256/303):
 
Target servo track=(1×303)/256=1 remainder 47.
 
Therefore, the target servo track is the second servo track (servo track ST 1  counting from left to right in  FIG. 6B ) within cluster C 2  of LZ 2  on disk surface  16   2 , and the radial offset from the second servo track is 47 steps as shown in  FIG. 6B .
 
     In one embodiment, the parameters needed to map a given ABA to a target data sector are stored in a table. For example, the starting ABA for each logical zone, the SPCC for each logical zone, the SPC within each logical zone on each disk surface, the SPT for each cluster on each disk surface, and the SQSPT to DQSPT ratio within each data zone on each disk surface are stored in a table, wherein the appropriate table values are retrieved at each step in the above mapping process. 
       FIG. 7  shows an embodiment of the present invention wherein each physical zone on each disk surface is further divided into two or more data zones, wherein at least two of the data zones within a physical zone comprise different SQSPT to DQSPT ratios. In this embodiment, a new logical zone begins at a boundary of a data zone on any disk surface. Similar to the embodiment described above with reference to  FIG. 4 , in  FIG. 7  the sectors per cluster cylinder (SPCC) are the same within each logical zone which facilitates finding the disk surface and radial location of a target data track. 
     In the embodiments of  FIG. 4  and  FIG. 7 , the SQSPT is constant across each disk surface. Therefore, changing the SQSPT to DQSPT ratio between two data zones means changing the DQSPT for each data zone. This is illustrated in  FIG. 4  and  FIG. 7  as changing the TPI for each data zone (e.g., TPI-A, TPI-B, etc.). However, the actual physical TPI may depend on the physical fractional inch corresponding to each quantized step. 
     Any suitable technique may be employed to select the data TPI profile for each disk surface in the embodiments of the present invention. For example, in one embodiment the data TPI profile may be selected relative to an estimated geometry of each head. In another embodiment, the TPI profile may be selected relative to an optimal track width determined from an average amplitude of the read signal or the bit error rate measured at various radial locations for a varying physical spacing between the center of adjacent data tracks. 
       FIG. 8A  shows an example servo TPI profile which increases near the outer and inner diameter of the disk in order to achieve a substantially constant servo track pitch relative to the skew angle of the head. Maintaining a substantially constant servo track pitch may help simplify the servo algorithms, particularly the seek profiles employed in the seek algorithms. However, as illustrated in  FIG. 8A  the optimal data TPI profile may decrease near the outer and inner diameter of the disk in order to maximize the signal-to-noise ratio. The embodiments of the present invention enable different servo and data TPI profiles such as shown in  FIG. 8A  by allowing for a change in the STPI to DTPI ratio across the disk surface. 
     In the embodiment of  FIG. 8A , the DTPI is lower than the STPI across the entire radius of the disk surface. In an alternative embodiment shown in  FIG. 8B , the DTPI is lower than the STPI over a first part of the disk surface (e.g., near the outer and inner diameter tracks), and the DTPI is higher than the STPI over a second part of the disk surface (e.g., near the middle diameter tracks). 
     In the embodiments of  FIGS. 8A and 8B , the STPI profile and the DTPI profile are shown in a dimension of physical tracks per inch. However, as described above, in one embodiment the spacing between all of the servo tracks is represented by N quantized steps (e.g., 256 quantized steps in  FIG. 3 ). In order to achieve a varying physical servo TPI, the quantized steps may represent different fractions of an inch. For example, in  FIG. 8A  the quantized steps toward the outer and inner diameter servo tracks represent a smaller fraction of an inch in order to increase the physical TPI while maintaining a constant N number of quantized steps between servo tracks. 
       FIGS. 9A and 9B  show the STPI and DTPI profiles in a dimension of quantized steps per track (QSPT). Once the physical DTPI profile has been selected for a disk surface, a suitable algorithm is used to convert the physical DTPI profile to a corresponding DQSPT profile such as shown in the figures (the SQSPT profile is a constant in the figures since all servo tracks have a spacing of N quantized steps). 
     In one embodiment, a defect scan is performed to detect defective data sectors that should be mapped out. The defect scan may be carried out in any suitable manner, such as by writing/reading a test pattern from the disk and detecting an aberration in the read signal, or by detecting excessive bit errors in a data sector. The defect scan is typically executed over each disk surface starting from an outer diameter track toward an inner diameter track. When a defective data sector is detected (or sequence of defective data sectors), the corresponding track number, head number, and starting and ending physical sector number (PSN) are stored in a defect list. Each entry of the defect list is then converted into a starting LBA by reverse mapping the defect list entry, wherein in one embodiment, reverse mapping the defect list entry involves identifying which cluster that the defect list entry maps into. 
       FIG. 10A  shows an example defect list comprising a number of entries, wherein an index is associated with each entry. Each entry comprises a track number, a head number, and a starting and ending physical sector number (PSN). The PSN identifies the data sector number within a track that is defective. For example, if a track comprises 2,000 data sectors, the PSN would range from 0 to 1,999. In the embodiment of  FIG. 10A , if the starting and ending PSN are 65,535, it means that all of the data sectors in the track are defective. 
       FIG. 10B  is a table according to an embodiment of the present invention showing the maximum data track number for each head (each disk surface) and in each cluster. The maximum data track number varies depending on the disk surface because the data TPI varies across the disk surfaces as described above. For example, the maximum data track number for cluster C 1  is  92  for the first disk surface,  98  for the second disk surface, and  87  for the third disk surface. In one embodiment, the smallest of the maximums is identified (Xj) and the largest of the maximums is identified (Yj). In the example of  FIG. 10B , for cluster C 1  the smallest of the maximums is X 1 =87 and the largest of the maximums is Y 1 =98, for cluster C 2  the smallest of the maximums is X 2 =183 and the largest of the maximums is Y 2 =196, and so on. 
       FIG. 10B   FIG. 10C  shows an example wherein cluster C 1  comprises a smallest maximum data track number X 1 =40 on a first disk surface, and comprises a largest maximum data track number Y 1 =70 on a second disk surface. Therefore, in one embodiment when evaluating each entry of the defect list (e.g.,  FIG. 10A ) to determine whether the entry maps to cluster C 1 , the track number in each entry is evaluated up to the Y 1  threshold. That is, if the track number is less than Y 1 , the corresponding entry may map into cluster C 1  depending on the head number in the defect list entry. 
     Since one of the disk surfaces comprises X 1  data tracks in cluster C 1 , it means that cluster C 2  begins at data track X 1 +1 on that disk surface. Therefore, the cluster C 2  spans from X 1 +1 data tracks to Y 2  data tracks as illustrated in  FIG. 10B   FIG. 10C  (where Y 2  may be on a different disk surface). When determining whether a defect list entry maps into cluster C 2 , the track number is evaluated between X 1  and Y 2 , and again it also depends on the head number since X 1  and Y 2  correspond to particular disk surfaces. 
     In one embodiment, when processing entries of the defect list to determine whether each entry maps into cluster C 1 , the index corresponding to the X 1  threshold is saved so that it can be used to begin mapping entries into cluster C 2 . This embodiment is understood with reference to the flow diagram of  FIG. 11  in view of the example shown in  FIGS. 10A and 10B . Indices i and j are initialized (step  60 ) and the Xj and Yj thresholds are determined by evaluating the maximum data track number on each disk surface that are within cluster Cj (step  62 ). If there are more entries in the defect list to process (step  64 ), entry i is selected from the defect list (step  66 ). The track number Ti of entry i is then evaluated to determine whether the entry maps into cluster Cj (step  68 ). For example, the entry i may map into cluster Cj if Ti is greater than Xj−1 and less than or equal to Yj (also depending on the disk surfaces since Xj−1 and Yj may be on different disk surfaces). Consider an example where Ti is 50 as shown in entry number  4  of  FIG. 10A  (X 1 =40 and Y 1 =70) where the head number of the entry is 00. If the corresponding disk surface (for head 00) has a maximum data track number greater than or equal to 50 in C 1 , then the entry maps into C 1 . However, if the corresponding disk surface (for head 00) has a maximum data track number less than 50, then the entry does not map into C 1  (it maps into C 2 ). Alternatively, the track number Ti of the defect list entry may be converted into a corresponding servo cylinder number for each head (each disk surface), and then the servo cylinder number evaluated to determine whether Ti maps into Cj relative to the first and last servo cylinder numbers that define Cj. 
     If Ti does not map into cluster Cj (due to the track number and head number), then Ti is compared to Yj (step  70 ). If Ti is not greater than Yj, then the index i is incremented (step  72 ) in order to process the next entry in the defect list for cluster Cj. If Ti is greater than Yj, then the index i to begin evaluating entries from the defect list for the next cluster is initialized to a saved variable Zj+1 (step  74 ) determined relative to Xj each time Ti maps into the current cluster Cj (step  68 ). The index j is incremented (step  76 ) in order to start searching for entries that map into the next cluster. 
     When Ti maps into the current cluster Cj (step  68 ), the Ti is saved for cluster Cj (step  78 ) for subsequent processing (e.g., for reverse mapping the defect list entry into a starting LBA). If Ti is less than or equal to Xj (step  80 ), then the variable Zj+1 is assigned to i+1 (step  82 ) the index corresponding to the next entry in the defect list. If Ti is not less than or equal to Xj (step  80 ), then the flow diagram continues at step  72 . When Ti is greater than Yj (step  70 ), the starting index i is initialized to Zj+1 to begin evaluating entries of the defect list at the last point where Ti was less than or equal to Xj at step  80 . 
     The flow diagram of  FIG. 11  is further explained relative to the following example relative to  FIGS. 10A and 10B . When evaluating the defect list entries for C 1 , the index starts at 1. Since track number 0 is less than X 1 =40, the variable Zj+1 is assigned to index  2  at step  82 . When processing the next entry (i=2), the track number  10  is less than X 1 =40, so the variable Zj+1 is assigned to the index  3  at step  82 . When processing the next entry (i=3), the track number  38  is less than X 1 =40, so the variable Zj+1 is assigned to the index  4  at step  82 . When processing the next entry (i=4), the track number  50  is greater than X 1 =40, so the variable Zj+1 remains unchanged at Zj+1=4. When the index i reaches 6, the track number  94  is greater than T 1 =70 and therefore j is incremented to 2 (step  74 ) to begin processing the next cluster C 2 . The index i is initialized to Zj+1=4 so that the searching begins at index  4  when evaluating the entries of the defect list for cluster C 2 . 
     Any suitable control circuitry may be employed to implement the flow diagrams in 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.