This application is related to commonly owned U.S. patent application Ser. Nos. 09/993,877 entitled “DATA-STORAGE DISK HAVING FEW OR NO SPIN-UP WEDGES AND METHOD FOR WRITING SERVO WEDGES ONTO THE DISK,” 09/993,876 entitled “CIRCUIT AND METHOD FOR DETECTING A SERVO WEDGE ON SPIN UP OF A DATA-STORAGE DISK”, “09/993,869 entitled “CIRCUIT AND METHOD FOR DETECTING A SPIN-UP WEDGE AND A CORRESPONDING SERVO WEDGE ON SPIN UP OF A DATA-STORAGE DISK”, 09/994,009 entitled “A DATA CODE AND METHOD FOR CODING DATA”, 09/993,986 entitled “CIRCUIT AND METHOD FOR DEMODULATING A SERVO POSITION BURST”, 09/993,778 entitled “SERVO CIRCUIT HAVING A SYNCHRONOUS SERVO CHANNEL AND METHOD FOR SYNCHRONOUSLY RECOVERING SERVO DATA,” which were filed on the same day as the present application and which are incorporated by reference.
The present disclosure is related generally to recovering data, and more particularly to a circuit and method for detecting the phase of a servo signal so that a servo circuit can compensate for a reverse-connected read head.
As computer-software applications become larger and more data intensive, disk-drive manufacturers often increase the data-storage capacities of data-storage disks by increasing the density of the stored servo and application data.
To increase the accuracy of a servo circuit as it reads the denser servo data from a data-storage disk, the manufacturer often codes the servo data. For example, as discussed below in conjunction with
Unfortunately, if the manufacturer codes the servo data stored on a data-storage disk, then a disk drive that incorporates the disk often cannot incorporate conventional techniques—such as NRZ (Non Return to Zero)-NRZI (Non Return to Zero Interleave)-NRZ conversion—to compensate for a reverse-connected read head.
Referring to
Still referring to
Referring again to
As discussed above, techniques such as NRZ-NRZI-NRZ conversion are often used to compensate for a reverse-connected read-write head 14. For example, the NRZ-NRZI-NRZ conversion converts data from one state to another such that the polarity of the resulting data recovered from the disk 12 (
Unfortunately, referring to
In one embodiment, a head-polarity detector includes a circuit for recovering servo data and a polarity determinator. The circuit recovers the servo data from a servo signal generated by a read-write head that is coupled to the circuit with a coupling polarity. The determinator determines the coupling polarity from the recovered servo data.
Such a detector allows a servo circuit to compensate for a reversed-coupled read-write head, and thus allows a manufacturer to forego time-consuming and costly testing of the head-connection polarity.
The circuit 60 also includes a gain and filter circuit 66, which adjusts the gain of, filters, and equalizes the servo signal from the read-write head (
Still referring to
Referring to
At the beginning of a read or write cycle, the servo circuit 60 synchronizes itself to the preamble of a servo wedge such as the preamble 34 of the servo wedge 24a (
When the circuit 60 is synchronized, the processor 84 enables the detector 62 to search for and detect the sync mark and the head-connection polarity. During this search, the comparator 104 compares the recovered servo data from the Viterbi detector 100 to the stored sync mark on a bit-by-bit basis. If and when the number of the recovered servo bits that match the corresponding bits of the stored sync mark is greater than or equal to a first predetermined threshold or less than or equal to a second predetermined threshold, then the comparator transitions the Sync Mark Detect signal to an active logic level to indicate that it has detected the sync mark. Furthermore, the comparator 104 transitions the Head Polarity signal to one logic level if the number of matched bits is greater than or equal to the first threshold, and transitions to the Head Polarity signal to another logic level if the number of matched bits is less than or equal to the second threshold. In one embodiment, the detector 62 allows the manufacturer to program the first and second predetermined thresholds to desired values. Furthermore, as discussed above in conjunction with
More specifically, the detector 62 detects the sync mark and determines the head-connection polarity according to the following algorithm:
For example, if the SM_length=10, SM=0000110011, SM_recovered equals 0100110011, and Threshold=2, then the summation of the algorithm equals the following:
0⊖0+0⊖1+0⊖0+0⊖0+1⊖1+1⊖1+0⊖0+0⊖0+1⊖1+1⊖1=1 (1)
Because 1<(Threshold=2)<(SM-length−Threshold=8), the comparator 104 sets INV=0 and NINV=1, which indicates that the circuit 62 has detected the sync mark and has determined that the head-connection polarity is not inverted. Consequently, the comparator 104 sets the Sync Mark Detect signal to a logic level that indicates that the sync mark is detected, and sets the Head Polarity signal to a logic level that indicates that the head connection is proper. In response to these logic levels, the processor 84 causes the phase compensator 64 to pass through the samples from the ADC 68 without altering the phase of the samples.
But if, for example, SM_recovered=1011001100, and the values of SM, SM-length, and Threshold are the same as above, then the summation of the algorithm equals the following:
0⊖1+0⊖0+0⊖1+0⊖1+1⊖0+1⊖0+0⊖1+0⊖1+1⊖0+1⊖0=9 (2)
Because 9>(SM_length−Threshold=8)>(Threshold=2), the comparator 104 sets INV=1 and NINV=0, which indicates that the circuit 62 has detected the sync mark and has determined that the head-connection polarity is inverted. Consequently, the comparator 104 sets the Sync Mark Detect signal to the logic level that indicates that the sync mark is detected, and sets the Head Polarity signal to a logic level that indicates that the head connection is inverted. In response to these logic levels, the processor 84 causes the phase compensator 64 to invert the samples from the ADC 68. Alternatively, the manufacturer may disable the processor 84 from causing the compensator 64 to invert the samples, and instead swap the head leads in response to these logic levels so that the head is properly coupled to the servo circuit 60.
Alternatively, if SM_recovered=1001001101 and the values of SM, SM-length, and Threshold are the same as above, then the summation of the algorithm equals the following:
0⊖1+0⊖0+0⊖0+0⊖1+1⊖0+1⊖0+0⊖1+0⊖1+1⊖0+1⊖1=7 (3)
Because (Threshold=2)<7<(SM_length−Threshold=8), the comparator 104 sets INV=NINV=0, which indicates that the circuit 62 has not detected the sync mark and has not determined the head-connection polarity. Consequently, the comparator 104 sets the Sync Mark Detect to a logic level that indicates that the sync mark has not been detected. In response to this logic level, the processor 84 ignores the Head Polarity signal and does not alter the setting (invert/noninvert) of the phase compensator 64 or instruct a technician to swap the head leads.
Although in the above examples one predetermined threshold (SM_length−Threshold) equals the difference between the length of the sync mark and the other predetermined threshold (Threshold), the one threshold may have a value that is independent of the other threshold. In one embodiment, the two thresholds are set based on the levels of noise and interference expected in the servo signal.
Still referring to
Conversely, in an embodiment where the servo data is coded such that the Viterbi detector 100 can recover both the sync mark and the other servo data, the polarity-detection capability of the comparator 104 can be omitted because the detector 100 is polarity independent. The servo circuit 60, however, may include a data inverter (not shown) between the detector 62 and the decoder 80, or at the output of the decoder 80, so that the recovered servo data will be in a proper form for the disk-drive controller (
The bit scheme of the sync mark allows the Viterbi detector 100 to have a reduced number of possible state transitions, i.e., to be “pruned.” Normally, each state S0-S3 of the trellis diagram would have two entering branches for a total of eight branches between the states at consecutive sample times. But with the restriction on the sync-mark bit pattern described above, there can be no state transition from S1 to S2 or from S2 to S1. Therefore, eliminating these two state transitions leaves only six branches between the states at consecutive sample times.
Furthermore, because the trellis of the Viterbi detector 100 is symmetrical about an imaginary horizontal axis 120 between states S1 and S2, the Viterbi detector 100 can recover the sync mark regardless of its polarity, and thus regardless of the head-connection polarity.
The fundamentals of Viterbi detectors and trellis diagrams are further discussed in commonly owned U.S. patent application Ser. No. 09/409,923, filed Sep. 30, 1999, entitled “PARITY-SENSITIVE VITERBI DETECTOR AND METHOD FOR RECOVERING INFORMATION FROM A READ SIGNAL”, and 09/410,274, filed Sep. 30, 1999, entitled “CIRCUIT AND METHOD FOR RECOVERING SYNCHRONIZATION INFORMATION FROM A SIGNAL”, which are incorporated by reference.
In addition to this embodiment of the Viterbi detector 100 being pruned like the
Furthermore, like the
In one embodiment, the two-sample-at-a-time Viterbi detector 100 calculates a difference metric instead of path metrics, and updates the contents of the path history registers 102 based on the difference metric. Consequently, the Viterbi detector 100 can include circuitry that is less complex than would be needed if it calculated path metrics.
The calculation of the difference metric is derived from the following PR4 path-metric equations, which use the following variables: PM00 equals the path metric for the state S0, PM11 equals the path metric for the state S1, Yf equals the first sample of a pair of samples (corresponds to k, k+2, k+4), Ys equals the second sample of a pair of samples (corresponds to k+1 and k+3, which are not shown in
If PM00k<PM11k+(Yf+1)2+(Ys+1)2
Then PM00k+1=PM00k
Else PM00k+1=PM11k+(Yf+1)2+(Ys+1)2 (4)
If PM11k<PM00k+(Yf−1)2+(Ys−1)2
Then PM11k+1=PM11k
Else PM11k+1=PM00k+(Yf−1)2+(Ys−1)2 (5)
Simplifying equations (4) and (5) to eliminate the square terms results in the following corresponding equations:
If PM00k<PM11k+2Yf+2Ys+2
Then PM00k+1=PM00k
Else PM00k+1=PM11k+2Yf+2Ys+2 (6)
If PM11k<PM00k−2Yf−2Ys+2
Then PM11k+1=PM11k
Else PM11k+1=PM00k−2Yf−2Ys+2 (7)
Simplifying equations (6) and (7) by incorporating DM and Yk in the inequalities results in the corresponding equations:
Yk>DMk−1 (8)
Yk<DMk+1 (9)
If equation (8) is false and equation (9) is true, then the Viterbi detector 100 updates DM and the path history registers PH00 and PH11 as follows, where 0 is the first (most recent) bit position and n is the last (least recent) bit position of the path registers:
DMk+1=Yk+1 (10)
PH00(0:n)k+1=[0,0,PH11(0:n−2)k] (11)
PH11(0:n)k+1=[1,1,PH11(0:n−2)k] (12)
That is, the Viterbi detector 100 loads logic 0's into the two most recent bit positions 0 and 1 of PH00 and loads the remaining bit positions 2−n with the contents of the corresponding bit positions 0−n−2 of PH11. Next, the Viterbi detector 100 loads logic 1's into the two most recent bit positions 0 and 1 of PH11 while or after PH11 shifts the contents of its bit positions 0−n−2 into its bit positions 2−n.
If equation (8) is true and equation (9) is false, then the Viterbi detector 100 updates DM and the path history registers PH00 and PH11 as follows:
DMk+1=Yk−1 (13)
PH00(0:n)k+1=[0,0,PH00(0:n−2)k] (14)
PH11(0:n)k+1=[1,1,PH00(0:n−2)k] (15)
That is, the Viterbi detector 100 loads logic 1's into the two most recent bit positions 0 and 1 of PH11 and loads the remaining bit positions 2−n with the contents of the corresponding bit positions 0−n−2 of PH00. Next, the Viterbi detector 100 loads logic 0's into the two most recent bit positions 0 and 1 of PH00 while or after PH00 shifts the contents of its bit positions 0−n−2 into its bit positions 2−n.
If both equations (8) and (9) are true, then the Viterbi detector 100 updates DM and the path history registers PH00 and PH11 as follows:
DMk+1=DMk (16)
PH00(0:n)k+1=[0,0,PH00(0:n−2)k] (17)
PH11(0:n)k+1=[1,1,PH11(0:n−2)k] (18)
That is, when both equations (8) and (9) are true, the Viterbi detector 100 loads logic 0's into the two most recent bit positions 0 and 1 of PH00 while or after PH00 shifts the contents of its bit positions 0−n−2 into its bit positions 2−n. Similarly, the Viterbi detector 100 loads logic 1's into the two most recent bit positions 0 and 1 of PH11 while or after PH11 shifts the contents of its bit positions 0−n−2 into its bit positions 2−n.
Equations (8) and (9) cannot both be false.
The disk-drive system 200 also includes write and read interface adapters 224 and 226 for respectively interfacing the disk-drive controller 214 to a system bus 228, which is specific to the system used. Typical system busses include ISA, PCI, S-Bus, Nu-Bus, etc. The system 200 typically has other devices, such as a random access memory (RAM) 230 and a central processing unit (CPU) 232 coupled to the bus 228.
From the foregoing it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the present disclosure.
The present application is a continuation of U.S. patent application Ser. No. 09/993,779, filed Nov. 5, 2001 now U.S. Pat. No. 7,830,630; which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/301,490, filed Jun. 28, 2001, now expired; all of the foregoing applications are incorporated by reference herein in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
3691543 | Mueller | Sep 1972 | A |
4208679 | Hertrich | Jun 1980 | A |
4424543 | Lewis et al. | Jan 1984 | A |
4549232 | Axmear et al. | Oct 1985 | A |
4920434 | Brown et al. | Apr 1990 | A |
4979055 | Squires et al. | Dec 1990 | A |
5036408 | Leis et al. | Jul 1991 | A |
5065262 | Blackborow et al. | Nov 1991 | A |
5216343 | Genheimer et al. | Jun 1993 | A |
5255136 | Machado et al. | Oct 1993 | A |
5257272 | Fredrickson | Oct 1993 | A |
5291464 | Osada | Mar 1994 | A |
5345342 | Abbott et al. | Sep 1994 | A |
5375145 | Abbott et al. | Dec 1994 | A |
5379166 | Tsukada et al. | Jan 1995 | A |
5381359 | Abbott et al. | Jan 1995 | A |
5384671 | Fisher | Jan 1995 | A |
5424881 | Behrens et al. | Jun 1995 | A |
5430582 | Hayashi | Jul 1995 | A |
5442499 | Emori | Aug 1995 | A |
5576904 | Behrens | Nov 1996 | A |
5608583 | Shrinkle | Mar 1997 | A |
5650887 | Dovek et al. | Jul 1997 | A |
5661760 | Patapoutian et al. | Aug 1997 | A |
5689532 | Fitzpatrick | Nov 1997 | A |
5754356 | Honjo et al. | May 1998 | A |
5757576 | Kosugi | May 1998 | A |
5796535 | Tuttle et al. | Aug 1998 | A |
5796543 | Ton-That | Aug 1998 | A |
5812336 | Spurbeck et al. | Sep 1998 | A |
5818655 | Satoh et al. | Oct 1998 | A |
5818659 | Cheung et al. | Oct 1998 | A |
5822143 | Cloke et al. | Oct 1998 | A |
5844741 | Yamakawa et al. | Dec 1998 | A |
5862005 | Leis et al. | Jan 1999 | A |
5872666 | Saiki et al. | Feb 1999 | A |
5909336 | Schaffner et al. | Jun 1999 | A |
5923713 | Hatakeyama | Jul 1999 | A |
5966258 | Bliss | Oct 1999 | A |
5970104 | Zhong et al. | Oct 1999 | A |
6031672 | Bergquist et al. | Feb 2000 | A |
6032284 | Bliss | Feb 2000 | A |
6038097 | Le et al. | Mar 2000 | A |
6052248 | Reed et al. | Apr 2000 | A |
6078445 | Serrano et al. | Jun 2000 | A |
6084741 | Kim | Jul 2000 | A |
6091699 | Nakane et al. | Jul 2000 | A |
6108151 | Tuttle et al. | Aug 2000 | A |
6108153 | Glover | Aug 2000 | A |
6115198 | Reed et al. | Sep 2000 | A |
6122117 | Aikawa | Sep 2000 | A |
6122131 | Jeppson | Sep 2000 | A |
6144513 | Reed et al. | Nov 2000 | A |
6148043 | Fujimoto | Nov 2000 | A |
6181505 | Sacks et al. | Jan 2001 | B1 |
6201652 | Rezzi et al. | Mar 2001 | B1 |
6233715 | Kuki et al. | May 2001 | B1 |
6239934 | Sun et al. | May 2001 | B1 |
6262857 | Hull et al. | Jul 2001 | B1 |
6295175 | Tomita et al. | Sep 2001 | B1 |
6295176 | Reddy et al. | Sep 2001 | B1 |
6304538 | Hayashi | Oct 2001 | B1 |
6324030 | Cheung et al. | Nov 2001 | B1 |
6324226 | Sasagawa | Nov 2001 | B1 |
6327105 | DeForest | Dec 2001 | B1 |
6347390 | Ino | Feb 2002 | B1 |
6366225 | Ozdemir | Apr 2002 | B1 |
6366418 | McEwen et al. | Apr 2002 | B1 |
6369969 | Christiansen et al. | Apr 2002 | B1 |
6378107 | Yoshinaka | Apr 2002 | B1 |
6400288 | Fredrickson et al. | Jun 2002 | B1 |
6426845 | Sacks et al. | Jul 2002 | B1 |
6433948 | Lee | Aug 2002 | B1 |
6477125 | Hayami | Nov 2002 | B1 |
6480984 | Aziz | Nov 2002 | B1 |
6487672 | Byrne et al. | Nov 2002 | B1 |
6490110 | Reed et al. | Dec 2002 | B2 |
6492918 | Rezzi et al. | Dec 2002 | B1 |
6507447 | Takahashi | Jan 2003 | B1 |
6519107 | Ehrlich et al. | Feb 2003 | B1 |
6519109 | Price et al. | Feb 2003 | B1 |
6534974 | Bowen et al. | Mar 2003 | B1 |
6560054 | Ottesen et al. | May 2003 | B1 |
6580573 | Hull et al. | Jun 2003 | B1 |
6604204 | Ozdemir et al. | Aug 2003 | B1 |
6606728 | Aziz | Aug 2003 | B1 |
6639748 | Christiansen et al. | Oct 2003 | B1 |
6650614 | Pietruszynski et al. | Nov 2003 | B1 |
6657800 | Ozdemir et al. | Dec 2003 | B1 |
6662338 | Rezzi et al. | Dec 2003 | B1 |
6665138 | Kim | Dec 2003 | B1 |
6680807 | She et al. | Jan 2004 | B1 |
6735724 | McClellan | May 2004 | B1 |
6738205 | Moran et al. | May 2004 | B1 |
6775084 | Ozdemir et al. | Aug 2004 | B1 |
6778345 | Ozdemir | Aug 2004 | B1 |
6813744 | Traeber | Nov 2004 | B1 |
6856480 | Kuki et al. | Feb 2005 | B2 |
6867941 | Ozdemir | Mar 2005 | B1 |
6909567 | McClellan et al. | Jun 2005 | B2 |
6942918 | MacDougall et al. | Sep 2005 | B2 |
7027247 | Heydari et al. | Apr 2006 | B2 |
7061704 | Dunn | Jun 2006 | B2 |
7206149 | Ozdemir | Apr 2007 | B2 |
7290200 | Ozdemir | Oct 2007 | B2 |
7382568 | Ozdemir | Jun 2008 | B2 |
7423827 | Neville et al. | Sep 2008 | B2 |
7430082 | Heydari et al. | Sep 2008 | B2 |
20030002189 | Ozdemir | Jan 2003 | A1 |
20030048560 | Ozdemir | Mar 2003 | A1 |
20030048562 | Heydari et al. | Mar 2003 | A1 |
20030053245 | Ozdemir | Mar 2003 | A1 |
20050157415 | Chiang et al. | Jul 2005 | A1 |
Number | Date | Country |
---|---|---|
0341852 | Nov 1989 | EP |
1271512 | Feb 2003 | EP |
9960566 | Nov 1999 | WO |
Entry |
---|
European Search Report for European Patent Application No. 02253885 dated Oct. 27, 2006. |
“The Authoritative Dictionary of IEEE Standard Terms”, 7th Ed., 2000, p. 638. |
European Search Report for European Patent Application No. 02253867, dated Oct. 23, 2006. |
Partial European Search Report for European Patent Application No. 02253868.0, dated Feb. 4, 2007. |
European Search Report for European Patent Application No. 02253852, dated Aug. 26, 2006. |
European Search Report Dated Aug. 28, 2003, for European Patent App. No. 02253882. |
European Search Report Dated Aug. 28, 2003, for European Patent App. No. 02253883. |
Number | Date | Country | |
---|---|---|---|
20110002061 A1 | Jan 2011 | US |
Number | Date | Country | |
---|---|---|---|
60301490 | Jun 2001 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09993779 | Nov 2001 | US |
Child | 12882917 | US |