1. Field of the Invention
The present invention relates to disk drives for computer systems. More particularly, the present invention relates to a disk drive employing different zone boundaries across disk surfaces.
2. Description of the Prior 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
Prior art disk drives typically configure the physical zones so that the zone boundaries occur at the same radial locations across all disk surfaces. However, a recent development is to optimize the size of each physical zone relative to the characteristics of each head/disk interface. In addition, the linear bit density as well as the tracks-per-inch (TPI) may be optimized for each disk surface, which can also cause the size of the physical zones (and corresponding physical zone boundaries) to differ across the disk surfaces. When the physical zone boundaries are different across the disk surfaces, a problem arises in locating the appropriate data sector corresponding to a given ABA. In other words, allowing the physical zone boundaries to vary across disk surfaces complicates the process of mapping an ABA to the corresponding physical zone, head, and data track.
There is, therefore, a need to simplify the ABA to zone/head/track mapping in a disk drive wherein the zone boundaries vary across the disk surfaces.
An embodiment of the present invention comprises a disk drive having a plurality of disk surfaces. Each disk surface comprises a plurality of data tracks, wherein each data track comprises a plurality of data sectors. 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 operable to store data in the data sectors at a predetermined data rate. A first physical zone on a first disk surface has a physical zone 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 a second disk surface. The disk drive further comprises control circuitry operable to identify a plurality of logical zones having logical zone boundaries defined relative to the physical zone boundaries of at least the first and second disk surfaces, wherein the number of logical zones is greater than the number of physical zones for at least one of the disk surfaces. The logical zones are used to find one of the data sectors corresponding to a block address received from a host.
In one embodiment, the disk drive further comprises a plurality of heads actuated over respective disk surfaces, and the data sector corresponding to the block address is located by finding the logical zone corresponding to the block address, finding the head within the logical zone corresponding to the block address, and finding the data track corresponding to the head and block address.
In another embodiment, the data sectors of one of the physical zones on a first disk surface store data at a first data rate, and the data-sectors of a corresponding physical zone on a second disk surface store data at a second data rate different than the first data rate.
In yet another embodiment, the data tracks on a first disk surface comprise a first radial density, and the data tracks on a second disk surface comprise a second radial density different than the first radial density.
In still another embodiment, each disk surface comprises a plurality of servo tracks, and on at least one of the disk surfaces the radial density of the data tracks is different than the radial density of the servo tracks. In one embodiment, the control circuitry is further operable to identify a plurality of clusters, wherein each cluster comprises a first number of servo tracks and a second number of data tracks, and the first number of servo tracks is different than the second number of data tracks. In one embodiment, the control circuitry is further operable to find the data sector corresponding to the block address by finding the logical zone corresponding to the block address, finding the cluster within the logical zone corresponding to the block address, finding the head within the cluster corresponding to the block address, and finding the data track corresponding to the head and block address. In yet another embodiment, the control circuitry is further operable to find the data sector corresponding to the block address by finding the servo track and a radial offset from the servo track that correspond to the data track.
Another embodiment of the present invention comprises a method of mapping a block address received from a host to a data sector in a disk drive, the disk drive comprising a plurality of disk surfaces. Each disk surface comprises a plurality of data tracks, wherein each data track comprises a plurality of data sectors. 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 operable to store data in the data sectors at a predetermined data rate. A first physical zone on a first disk surface has a physical zone 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 a second disk surface. The method comprises the steps of identifying a plurality of logical zones having logical zone boundaries defined relative to the physical zone boundaries of at least the first and second disk surfaces, wherein the number of logical zones is greater than the number of physical zones for at least one of the disk surfaces. The logical zones are used to find one of the data sectors corresponding to the block address received from the host.
In the embodiment of
Any suitable control circuitry 20 may be employed in the embodiments of the present invention. In one embodiment, the control circuitry 20 comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the steps of
In one embodiment, the data sectors of one of the physical zones on a first disk surface (e.g., PZ1 on disk surface 160) store data at a first data rate, and the data sectors of a corresponding physical zone on a second disk surface (e.g., PZ1 on disk surface 161) store data at a second data rate different than the first data rate. Corresponding means PZ1 on disk surface 160 corresponds to PZ1 on disk surface 161 regardless of their vertical alignment. In yet another embodiment, the data tracks on a first disk surface (e.g., disk surface 160) comprise a first radial density, and the data tracks on a second disk surface (e.g., disk surface 161) comprise a second radial density different than the first radial density.
In still another embodiment, each disk surface comprises a plurality of servo tracks, and on at least one of the disk surfaces the radial density of the data tracks is different than the radial density of the servo tracks. This embodiment is illustrated in
In one embodiment, the control circuitry 20 is further operable to identify a plurality of clusters, wherein each cluster comprises a first number of servo tracks and a second number of data tracks, and the first number of servo tracks is different than the second number of data tracks. This embodiment is also illustrated in
Any suitable radial density may be selected for the data tracks in step increments, with the minimum distance between data tracks being the distance between servo tracks (256 steps). This allows the data track density (tracks per inch) as well as the linear density (bits per inch) to be optimized for each head/surface, while enabling a convenient mapping of host block addresses to target data sectors.
In one embodiment, the block address received from the host 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 to spare 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
Note that because the physical zones do not change within a logical zone, 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 the flow diagram of
A better understanding of how an ABA is mapped to a target data sector is understood by considering two examples in
SPCC1=412=>S_ABA LZ2=1236
SPCC2=466=>S_ABA LZ3=2168
SPC within cluster C2 of LZ2 on disk surface 160=124
SPC within cluster C2 of LZ2 on disk surface 161=105
SPC within cluster C2 of LZ2 on disk surface 162=90
SPC within cluster C2 of LZ2 on disk surface 163=147
SPT within cluster C2 of LZ2 on disk surface 161=35
SPT within cluster C2 of LZ2 on disk surface 162=30
In a first example illustrated in
Target servo track=((4×256)−(2×303))/256=1 remainder 162.
In the above equation, the number of 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 161. Therefore, the target servo track is the second servo track (servo track ST1 counting from left to right in
In a second example illustrated in
Target servo track=(1×303)/256=1 remainder 47.
Therefore, the target servo track is the second servo track (servo track ST1 counting from left to right in
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, and the SPT for each cluster on each disk surface are stored in a table, wherein the appropriate table values are retrieved at each step in the above mapping process.
Number | Name | Date | Kind |
---|---|---|---|
4750059 | Syracuse | Jun 1988 | A |
4949036 | Bezinque et al. | Aug 1990 | A |
5202799 | Hetzler et al. | Apr 1993 | A |
5446718 | Shimizu et al. | Aug 1995 | A |
5487077 | Hassner et al. | Jan 1996 | A |
5596458 | Emo et al. | Jan 1997 | A |
5600500 | Madsen et al. | Feb 1997 | A |
5742443 | Tsao et al. | Apr 1998 | A |
5768044 | Hetzler et al. | Jun 1998 | A |
5812755 | Kool et al. | Sep 1998 | A |
5854778 | Shimizu et al. | Dec 1998 | A |
5870237 | Emo et al. | Feb 1999 | A |
5872800 | Glover et al. | Feb 1999 | A |
5909334 | Barr et al. | Jun 1999 | A |
5930358 | Rao | Jul 1999 | A |
5941998 | Tillson | Aug 1999 | A |
5949603 | Brown et al. | Sep 1999 | A |
6005725 | Emo et al. | Dec 1999 | A |
6052804 | Thowe et al. | Apr 2000 | A |
6091559 | Emo et al. | Jul 2000 | A |
6105104 | Guttmann et al. | Aug 2000 | A |
6130796 | Wiselogel | Oct 2000 | A |
6137644 | Hetzler et al. | Oct 2000 | A |
6172839 | Ahn | Jan 2001 | B1 |
6181500 | Serrano et al. | Jan 2001 | B1 |
6182250 | Ng et al. | Jan 2001 | B1 |
6195218 | Guttmann et al. | Feb 2001 | B1 |
6256160 | Liikanen et al. | Jul 2001 | B1 |
6266199 | Gillis et al. | Jul 2001 | B1 |
6289484 | Rothberg et al. | Sep 2001 | B1 |
6317850 | Rothberg | Nov 2001 | B1 |
6327106 | Rothberg | Dec 2001 | B1 |
6359744 | Mallary | Mar 2002 | B1 |
6384999 | Schibilla | May 2002 | B1 |
6393511 | Albrecht et al. | May 2002 | B1 |
6396654 | Jeong et al. | May 2002 | B2 |
6429984 | Alex | Aug 2002 | B1 |
6441981 | Cloke et al. | Aug 2002 | B1 |
6466387 | Ogasawara et al. | Oct 2002 | B1 |
6490111 | Sacks | Dec 2002 | B1 |
6493176 | Deng et al. | Dec 2002 | B1 |
6560052 | Ng et al. | May 2003 | B2 |
6603617 | Cross | Aug 2003 | B1 |
6606211 | Lim et al. | Aug 2003 | B1 |
6628466 | Alex | Sep 2003 | B2 |
6650492 | Lenny et al. | Nov 2003 | B2 |
6691255 | Rothberg et al. | Feb 2004 | B1 |
6693766 | Wilkes et al. | Feb 2004 | B1 |
6697203 | Cheng et al. | Feb 2004 | B1 |
6714368 | Himle et al. | Mar 2004 | B1 |
6747827 | Bassett et al. | Jun 2004 | B1 |
6763430 | Camp | Jul 2004 | B1 |
6781780 | Codilian | Aug 2004 | B1 |
6791775 | Li et al. | Sep 2004 | B2 |
6798591 | Barnett et al. | Sep 2004 | B2 |
6809893 | Uzumaki et al. | Oct 2004 | B2 |
6826007 | Patton, III | Nov 2004 | B1 |
6854022 | Thelin | Feb 2005 | B1 |
6854071 | King et al. | Feb 2005 | B2 |
6862505 | Satoh et al. | Mar 2005 | B2 |
6892249 | Codilian et al. | May 2005 | B1 |
6895500 | Rothberg | May 2005 | B1 |
6898033 | Weinstein et al. | May 2005 | B2 |
6947234 | Lamberts et al. | Sep 2005 | B2 |
6950967 | Brunnett et al. | Sep 2005 | B1 |
6982842 | Jing et al. | Jan 2006 | B2 |
6987630 | Higgins et al. | Jan 2006 | B1 |
6993678 | Cheok et al. | Jan 2006 | B2 |
6995933 | Codilian et al. | Feb 2006 | B1 |
7006321 | Kisaka | Feb 2006 | B2 |
7024614 | Thelin et al. | Apr 2006 | B1 |
7032127 | Egan et al. | Apr 2006 | B1 |
7050252 | Vallis | May 2006 | B1 |
7076603 | Chheda | Jul 2006 | B1 |
7076604 | Thelin | Jul 2006 | B1 |
7082494 | Thelin et al. | Jul 2006 | B1 |
7120737 | Thelin | Oct 2006 | B1 |
7143203 | Altmejd | Nov 2006 | B1 |
7173782 | Ikeda et al. | Feb 2007 | B2 |
20010036133 | Nagata et al. | Nov 2001 | A1 |
20020039246 | Ding et al. | Apr 2002 | A1 |
20020141099 | Ng et al. | Oct 2002 | A1 |
20030007269 | Alex | Jan 2003 | A1 |
20030016461 | Seng et al. | Jan 2003 | A1 |
20030065872 | Edgar et al. | Apr 2003 | A1 |
20030221055 | Okada | Nov 2003 | A1 |
20040136104 | Chiao et al. | Jul 2004 | A1 |
20040153949 | Ro et al. | Aug 2004 | A1 |
20040174627 | Kim et al. | Sep 2004 | A1 |
20040179292 | Zayas et al. | Sep 2004 | A1 |
20040268033 | Chia et al. | Dec 2004 | A1 |
20050036437 | Learned et al. | Feb 2005 | A1 |
20050078393 | Cho | Apr 2005 | A1 |
20050146803 | Kim et al. | Jul 2005 | A1 |
20050188153 | Yun et al. | Aug 2005 | A1 |
20050207049 | Ikeda et al. | Sep 2005 | A1 |
20060066971 | Alex et al. | Mar 2006 | A1 |
20060098318 | Feng | May 2006 | A1 |
20060101197 | Georgis et al. | May 2006 | A1 |
20060132954 | Wada et al. | Jun 2006 | A1 |