A detector is provided to detect data values within a data signal that is sampled to provide temporally separated data samples. A first detector portion is configured to determine the location of a first sample vector in a first signal space. A second detector portion is configured to determine the location of a second sample vector in a second signal space. The second detector portion determines the location by using a logic statement to combine a plurality of location indicators. Each location indicator provides the location of the second sample vector relative to a respective boundary surface. The form of the logic statement is independent of the values of the location indicators. In addition, each location indicator is independent of all other location indicators.
|
20. A detector for detecting data read from a disc in a disc drive and provided as a sampled read signal including data samples in a plurality of time intervals, comprising:
a receiver configured to receive the data samples; and detection means, coupled to the receiver, for detecting the data encoded according to a code having a time-varying maximum transition run constraint by identifying the location of a data sample in a signal space.
1. A detector in a disc drive for detecting data values by using sample vectors that are formed from respective pluralities of temporally separated data samples, the detector comprising:
a first detector portion configured to detect a first data value by determining the location of a first sample vector in a first signal space; and a second detector portion configured to detect a second data value by determining the location of a second sample vector in a second signal space, the determination made by using a logic statement to combine a plurality of location indicators, each location indicator providing a location of the second sample vector relative to a respective boundary surface, the logic statement and the values of location indicators being independent of the values of other location indicators.
10. A method of detecting data values based on a sampled read signal read from a disc in a disc drive, the sampled read signal including data samples provided in a plurality of time intervals, the method comprising steps of:
(a) determining at least two location identifiers, each location identifier indicating the location of a sample vector relative to respective boundary surfaces in a first signal space; (b) determining a first data value based on the location identifiers; (c) determining at least two additional location identifiers, each additional location identifier indicating the location of a second sample vector relative to respective boundary surfaces in a second signal space; and (d) determining a second data value by combining the additional location identifiers using a decision equation, the format of the decision equation being independent of the value of the additional location identifiers.
2. The detector of
3. The detector of
4. The detector of
5. The detector of
6. The detector of
7. The detector of
8. The detector of
9. The detector of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
18. The method of
21. The detector of
a first detector portion that identifies the location of a first data sample in a first signal space; and a second detector portion that identifies the location of a second data sample in a second signal space.
22. The detector of
23. The detector of
24. The detector of
|
The present application is also a continuation-in-part of U.S. patent application Ser. No. 09/076,961 entitled SIGNAL SPACE DETECTOR FOR CHANNELS UTILIZING A CODE HAVING TIME VARYING CONSTRAINTS filed May 13, 1998, now U.S. Pat. No. 5,936,558 for the same inventors of the present application, and claims priority from provisional application Ser. No. 60/075,711, filed Feb. 24, 1998.
The present invention relates to disc drives. More particularly, the present invention relates to a data detector in a disc drive wherein the data detector detects data encoded according to a code having time varying constraints.
A typical disc drive includes one or more discs mounted for rotation on a hub or spindle. A typical disc drive also includes a transducer supported by a hydrodynamic air bearing which flies above each disc. The transducer and the hydrodynamic air bearing are collectively referred to as a data head. A drive controller is conventionally used for controlling the disc drive based on commands received from a host system. The drive controller controls the disc drive to retrieve information from the discs and to store information on the discs.
In one conventional disc drive, an electromechanical actuator operates within a negative feedback, closed-loop servo system. The actuator moves the data head radially over the disc surface for track seek operations and holds the transducer directly over a track on the disc surface for track following operations.
Information is typically stored in concentric tracks on the surface of the discs by providing a write signal to the data head to write information on the surface of the disc representing the data to be stored. In retrieving data from the disc, the drive controller controls the electromechanical actuator so that the data head flies above the disc and generates a read signal based on information stored on the disc. The read signal is typically conditioned and then decoded by the drive controller to recover the data.
A typical read channel includes the data head, preconditioning logic (such as preamplification circuitry and filtering circuitry), a data detector and recovery circuit, and error detection and correction circuitry. The read channel is typically implemented in a drive controller associated with the disc drive.
In disc drives, it is important that the error rate per number of bits recorded (the bit error rate) be maintained at a relatively low level. In order to improve bit error rate performance in disc drives, or in order to increase the linear recording density in disc drives, maximum likelihood sequence detection (MLSD) methods are desired. Such methods can be implemented using the well known Viterbi algorithm. However, a direct implementation of an MLSD method is very costly. For example, the channel response after forward filtering is typically quite long, and may contain ten or more terms. Thus, a Viterbi detector would require 210-1 sates, which is impractically complex. Therefore, other techniques have been investigated which tend to reduce complexity yet still provide results which approach those of direct MLSD methods.
One such technique is to apply the Viterbi algorithm to a reduced number of terms by cancelling some of the terms with feedback. For example, by cancelling all but two terms (and including the main cursor) allows the Viterbi detector to have only four states. Such detectors are referred to as reduced state sequence estimators (RSSE).
Another technique is to choose a channel response target which is not a perfectly whitened target, but which has a fewer number of terms. in such systems, partial response (PR) targets have been developed. Among those targets is one referred to as enhanced extended partial response maximum likelihood (E2PRML) target. At high recording densities, it has been observed that for certain high order partial response channels (such as the E2PRML) channel, the dominant error events (the difference between two input sequences) encountered with detectors used with such partial response targets are generally of the form +/- (2,-2,2). Such errors are typically caused when a tribit is shifted by one sample time, or when a quadbit is mistaken as a dibit or vise versa.
The present invention addresses these and other problems, and offers other advantages over the prior art.
A relatively new class of codes are recently being investigated. Such codes include a maximum transition run (MTR) code which has been proposed as a way of removing dominant error events in Maximum Likelihood Sequence detectors (MLSD) at high densities or in higher-order partial response channels such as enhanced extended partial response maximum likelihood (E2PRML). MTR codes act to increase the minimum Euclidean distance between data samples in a magnetic recording channel.
For example, an MTR=2 code limits the run of consecutive transitions in the write current to two. In essence, an MTR=2 code removes all patterns of encoded data containing more than two consecutive transitions. Consequently, the MTR=2 code also removes all patterns which cause a dominant error event for MLSD detectors at high recording densities and higher order PR channels.
Using MTR constraints, one detector has been developed which is referred to as the 3D-110 detector whose performance is comparable to a fixed delay tree search with decision feedback of depth 2 (FDTS/DF(2)) at high symbol densities. The detector is constructed by considering vectors of three received samples in a three dimensional space. Three planar boundaries are calculated and are used to divide the signal space into two regions, each of which correspond to a decision of +1 or -1 for the bit currently being processed. The 3D-110 detector also includes a forward filter which removes precursor intersymbol interference (ISI) terms and forces the two post cursor ISI terms to be 1 and 0, respectively, where the cursor is also normalized to 1. A feedback filter is implemented which removes all but the two post cursor ISI terms. Therefore, with no error propagation through the detector, the equivalent discrete-time channel pulse response can be denoted as 110. Such a constraint on the channel response is used to simplify the detector structure.
While the magnetic channel natural response is close to the 110 target at high recording densities, it deviates significantly from the 110 target at lower recording densities. Thus, constraining the pulse response to this particular 110 target results in performance degradation compared to the FDTS/DF(2), specifically at lower recording densities. Even at high densities, the implementation of practical elements in the detector can also cause deviation of the channel response from the 110 target. For example, the use of constrained length finite impulse response (FIR) filters can cause such deviation.
Thus, while the 3D-110 channel provides significant advantages in performance and/or simplicity over other detectors (such as the more complicated FTDS/DF(2) detector) it does contain the above-described disadvantages.
The present invention is directed to a system that addresses these and other problems, and offers other advantages.
A detector of the present invention is provided to detect data values within a data signal that is sampled to provide temporally separated data samples. A first detector portion is configured to determine the location of a first sample vector in a first signal space. A second detector portion is configured to determine the location of a second sample vector in a second signal space. The second detector portion determines the location by using a logic statement to combine a plurality of location indicators. Each location indicator provides the location of the second sample vector relative to a respective boundary surface.
The form of the logic statement is independent of the values of the location indicators. In addition, each location indicator is independent of all other location indicators.
Referring to
When the data bits are read from the magnetic channel, they are provided as a readback signal 178. The readback signal 178 is typically corrupted by noise 180 which is represented by n(t) being added to the readback signal 178 by adder 164. It should be noted that noise n(t) and adder 164 are shown as only representations of the no se which corrupts readback signal 178 and are thus not part of the actual hardware implementation. In any case, the noise n(t) is present and corrupts readback signal 178 to form corrupted read signal 182.
Corrupted read signal 182 is provided to front filter 166. Front filter 166 is, by way of example, implemented as an analog S low-pass filter which prevents aliasing and filters out high frequency noise and provides a filtered output 184 to sampler 186. Sampler 186 samples filtered output 184 and can be embodied as an analog-to-digital converter. The sampled signals produced by sampler 186 are provided to forward filter 168.
Forward filter 168 preferably operates alone or in combination with other filtering to whiten the noise in the readback signal and provide a modified readback signal 188 (also designated rk) to adder 170. An example of forward filter 168 is a finite impulse response (FIR) filter which includes a plurality of taps. Forward filter 168 removes all precursor inter-symbol interference (ISI) terms. Post-cursor ISI terms are permitted to assume their natural values, because no constraints are enforced on the channel coefficients. Detector 172 provides a sequence 190 (also designated âk) at its output.
The output âk is an estimate of the input data sequence ak. The output âk is also provided to feedback filter 174 which is used to provide feedback signal 192 to adder 170. Feedback signal 192 is added to the output rk of forward filter 168. The combination of these signals is provided at the output 194 (also designated yk) of adder 170 to decision device 172. In one embodiment of the present invention, feedback filter 174 is intended to remove all but two post-cursor ISI terms. In another embodiment, it is intended to remove all but three post-cursor ISI terms.
For feedback filters that remove all but two post-cursor terms, assuming all the previous decisions by the decision device 172 are correct, an equivalent discrete-time channel response includes three terms and is denoted as (1, f1, f2).
Thus, at time k, the noiseless input yk, to decision device 172 can be written as follows:
where ak is the input data bit at time k.
A three-dimensional signal space detector (3D-SSD) can be implemented by first considering a symbol constellation in three-dimensional space. As described in greater detail below, such a detector maps all possible symbols which could represent the input data sequence to the three-dimensional space. The detector then obtains a sample vector that includes contributions from a plurality of input samples that are each formed from a plurality of terms indicative of input data samples in the input sample sequence. The sample vector is then mapped to the same three-dimensional space in the constellation. The detector then determines which of the possible data symbols is closest in the three-dimensional space to the sample vector at each time interval. This is analogous to determining a path corresponding a minimum Euclidean distance between an observed and the desired sample values for a fixed-delay detector, such as an FDTS/DF detector, or for a look-ahead partial response channel such as that described by Patel, Rutledge and So in "Performance Data For A Six-Sample Look-Ahead 1, 7 ML Detection Channel", IEEE Trans. Magn. Vol. 29, No. 6, pp. 4012-4014, November, 1993 and that described by Yamasaki et al., "A 1, 7 Code EEPR4 Read Channel IC With Analog Noise Whitened Detector", PROC. of ISSCC, 1997, pp. 316-317.
Each pair of possible symbols which point to different detector decisions should be separated by a boundary plane. The planar boundaries are combined by logic rules so that the signal space is partitioned into two regions, one corresponding to a detector decision of +1 and the other corresponding to a detector decision of -1. Depending on where the sample vector falls in the three-dimensional vector space relative to the boundary planes, a binary decision is released by detector 172 as the detector output âk. As will also be described below, the detector structure is simplified by eliminating planes which are redundant, and also by eliminating separate symbols which are much further apart than the minimum Euclidean distance associated with the code.
As will be described, some symbols are removed based on the MTR constraint, and all of the possible remaining symbols which could represent the three-dimensional observation vector are mapped to the constellations illustrated in
The axes of the constellations are defined as follows:
where y'k-1 and y'k-2generically denote the is detector inputs at times k-1 and k-2 with the intersymbol interference due to the available past decisions (i.e., the decisions for âk-3 and âk-4 at time k) cancelled. The detector must make a decision on the input bit ak-2 (i.e., the input bit which was received two time intervals previously) at each time k in the detection process because the detector is processing three input samples as an observation vector.
TABLE 1 | ||
Index | (ak-1, ak-2, ak) | (yk, y'k-1, y"k-2) |
0 | (+1, +1, +1) | (+1 + f1 + f2, +1 + f1, +1) |
1 | (+1, +1, -1) | (-1 + f1 + f2, +1 + f1, +1) |
2* | (+1, -1, +1) | (+1 - f1 + f2, -1 + f1, +1) |
3 | (+1, -1, -1) | (-1 - f1 + f2, -1 + f1, +1) |
4 | (-1, +1, +1) | (+1 + f1 - f2, +1 - f1, -1) |
5* | (-1, +1, -1) | (-1 + f1 - f2, +1 - f1, -1) |
6 | (-1, -1, +1) | (+1 - f1 - f2, -1 - f1, -1) |
7 | (-1, -1, -1) | (-1 - f1 - f2, -1 - f1, -1) |
Table 1 illustrates all possible input sequences which could be represented by the observation vector. Table 1 includes an index which refers to an index numeral 0-7 corresponding to the 2n (where n=3) possible symbols. Table 1 also includes the possible symbols written out in terms of ak-2, ak-1 and ak, and also provides an evaluation of the axis yk, y'k-1 and y"k-2 written in terms of the channel response.
In order to eliminate such dominant error events, the input data is preferably encoded according to an MTR=2 constraint which disallows tribits. Thus, in Table 1, either symbol 2 or symbol 5 must be disallowed, depending upon the value of âk-3, since those symbols represent the presence of a tribit. For example, with âk-3=+1, symbol 5 corresponds to a sequence of input bits of the form (+1, -1, +1, -1) which contains three consecutive transitions and must be eliminated. By the same token, where âk-3=-1, symbol 2 must be eliminated.
The constellation shown in
The symbols corresponding to y"k-2=+1 and -1 are denoted by x's and 0's, respectively. The index number is denoted below the symbol marker x's and 0's.
Plane A is provided to separate symbols 0 and 4 (and also symbols 1 and 5 in FIG. 4-1). For an optimal detector, the decision boundaries are planes which bisect a line which connects the pairs of symbols being separated. However, for simplicity, the system is constrained to locate the plane not to separate the two symbols in three-dimensional space, but to separate their projections on a surface. This constraint is implemented by picking the two coordinates which contribute most heavily to the distance between the two symbols. It can be seen that the y"k-2 coordinate should be retained since the two symbols which correspond to different decisions on the input bit ak-2 are easily separated on this axis. Of the remaining two coordinates (and except for very low symbol densities), the y'k-1 coordinate contributes more heavily to the distance between symbols 0 and 4 than the yk coordinate. Thus, the symbols are projected to the y'k-1 y"k-2 surface. Slicer plane A is thus constrained to only rotate perpendicular to the y'k-1 y"k-2 surface.
The projection of plane A onto the chosen surface is thus represented as a line whose direction changes as the slicer plane is allowed to rotate. All points on the line have the same distance from the projected pair of symbols.
From Table 1, it can be seen that the coordinates of the projections of symbols 0 and 4 on the y'k-1 y"k-2 surface are given by (1+f1, +1) and (1-f1, -1), respectively. Thus, the equation of plane A can be obtained as follows:
This expression can be simplified to yield:
Using a similar procedure, the equation for slicer plane B which separates symbols 3 and 7 (and also symbols 2 and 6 in
When âk-3=-1, plane C separates symbols 3 and 5. Plane C is constrained to only rotate perpendicular to the yky"k-2 surface since the coordinates which contribute most heavily to the distance between the symbols are the coordinates corresponding to the yk and y"k-2 axes. The plane equation is derived by finding a line which bisects the projections of the two symbols onto the yky"k-2 surface.
The operation is again repeated for plane D which separates symbols 2 and 4 when âk-3=+1.
These procedures result in the following four location identifier equations:
where âk-3=-1
where âk-3=+1.
Location identifier equations C and D can also be combined to provide:
Equation 12 can be further simplified by setting (f1-f2)=1. This simplification has a negligible effect on the detector performance since at lower channel densities of interest, the two symbols to be separated by this plane are further apart than those separated by planes A and B. Therefore, a slight change in the plane orientation and position does not impact a relative location of the received samples with respect to this plane. Thus, Equation 12 can be simplified as follows:
By substituting for y'k-1 and y"k-2 from Equations 3 and 4, the following relations are obtained for the three location identifiers:
A: sgn (yk-2+f1yk-1+ΔA) Equation 14
where values ΔA, ΔB and ΔE are offset values given by:
The offset values, in general, are implemented as short FIR filters with binary inputs, two input multiplexers, or look up tables.
Decision logic can be implemented by moving a test point through the three-dimensional signal space and recording the relative position of the point with respect to the planes. The corresponding detector output is obtained by finding the closest symbol in the constellation to the test point. A logic rule or statement is then obtained by combining the cases which result in the same output decision from the detector. However, for the three-dimensional case discussed herein, the logic rule can simply be obtained by inspection. Mapping the boundary decisions -1 to 0, the logic rule can be written as follows:
where "•" denotes a logical AND operation and + denotes a logical OR operation.
In the above discussion, detector 214 was constructed by taking advantage of the fact that, at each time interval, only one of the two symbols 2 or 5 from Table 1 is present in the signal space constellation. This is because the MTR=2 code removes one of the two symbols at all times.
However, the dominant error events mentioned with respect to
In order to better understand the modifications required to detect data encoded according to a code having the time-variant code constraint, a signal space detector in accordance with the present invention can be understood with reference to an FDTS/DF tree of depth 2.
Without any loss of generality, the present discussion proceeds under the assumption that tribits are only allowed to start at even time intervals. While the root of trees 280 and 284 illustrate the value of ak-3, the subsequent branches which proceed from left to right along the tree illustrate the value of samples ak-2, ak-1, ak and ak+1. The corresponding time intervals are illustrated along the bottom of each tree and are designated, in
By examining trees 280 and 284, it can be seen that either path 2 or path 5 will be disallowed since one of them violates the code constraint. For example, in
In order to realize the coding gain for an FDTS/DF(2) detector with a time-variant MTR code, the problematic path can be removed at odd times and restored at even times. However, the presence of both paths 2 and 5 increases the chance of an erroneous section of trees 280 or 284 to be selected. In fact, as user densities increase, these errors begin to become so large that they eliminate the code-rate benefit of the time-variant MTR code.
Therefore, in accordance with one aspect of the present invention, branches 2 and 5 are extended one step further in time (beyond time interval k). Such extensions are labeled 2A. 2B, 5A and 5B in
The remaining symbols, after pruning, in
In one aspect of the present invention, a three-dimensional/four-dimensional signal space detector (3D/4D SSD) is implemented that accepts samples having three post-cursor ISI terms. The detector provides three-dimensional detection -and four-dimensional detection. In three-dimensional detection, the detector selects a data value by determining the location of a sample vector in a three-coordinate signal space. In four-dimensional detection, the detector uses the location of a sample vector in a four-coordinate signal space to determine a data value.
The 3D/4D SSD works well with data that has been encoded using a time-varying MTR code. When used with an MTR code that has an MTR constraint of 2 for odd time intervals and an MTR constraint of 3 for even time intervals, the three-dimensional detection system is used at odd time intervals and the four-dimensional detection system is used at even time intervals.
The sample vectors used in the 3D/4D SSD are preferably constructed from combinations of samples that are defined by the following generic sample equations:
Where yk is the current sample provided to the detector, âk-x is the (k-x)th detected data value, and ak-x is the (k-x)th input value with the current input value that is being detected being the ak-3 input value.
Thus, in the three-dimensional portions of the 3D/4D SSD, the sample vector is based on the combination of yk-1, yk-2, and yk-3 and in the four-dimensional portions the sample vector is based on the combination of yk, yk-1 and yk-3.
During purely three-dimensional detection, the location of the three-dimensional sample vector is determined in a three-dimensional space defined by the following three axis:
Note that each of the three axes are formed by cancelling the contribution of at least one input value that contributes to a respective generic sample. This can be seen by defining the axes in terms of the samples using generic sample equations 30-33 above. The definitions of the axes then become as follows:
As in other embodiments of the invention, the 3D/4D SSD determines an odd time interval data value using boundary planes in the three dimensional signal space. The boundary planes are determined in a manner similar to that described above in connection with equations 5-19 yielding the following four location identifiers:
where sgn (expression) provides the sign of the expression and values ΔA, ΔB, ΔC, and ΔD are offset values given by:
Where planes C and D are utilized when âk-4 is -1 and +1, respectively. Mapping -1 to 0 in Equations 40-43, the detector output provides a detector value âk-3, according to the following:
where "·" represents a logical AND operation and "+" represents a logical OR operation.
When attempting to detect a data value at an even time interval, the 3D/4D SSD determines the location of a four-dimensional sample vector in a four-coordinate signal space. As noted above, the four-dimensional sample vector used during four-dimensional detection is based on the combination of yk, yk-1, yk-2, and yk-3, which are described by equations 30-33 above. During four-dimensional detection, the location of this four-dimensional sample vector is determined in a four-coordinate space defined by the following four axes:
In this four-coordinate signal space, the location of the four-dimensional sample vector is compared to the location of a boundary plane that separates two symbols corresponding to paths 2A and 5B of
In the four-coordinate signal space (y'"k-3, y"k-2, y'k-1, yk) of the 3D/4D SSD, samples 2A and 5B are located at (1, -1+f1, 1-f1+f2, 1+f1-f2+f3) and (-1, 1-f1, -1+f1-f2, -1-f1+f2-f3), respectively. Of the four coordinates, coordinates y'"k-3 and yk contribute the most to the distance between samples 2A and 5B. Using the projection techniques described above, the plane P between 2A and 5B is described by the following:
This equation simplifies to:
Substituting for y'"k-3 using equation 39 above, equation 55 becomes:
Using the notation developed above, location identifier P is then defined as:
where ΔP is defined by:
Since the two symbols 2A and 5B correspond to error events of the form +/- (2, -2, 2, 2), the distance between the two symbols should be considerably greater than the minimum Euclidean distance for the code. Therefore, equation 57 can be further simplified without a significant impact on the detector performance, resulting in:
P: sgn(yk-3+yk+ΔP) Equation 59
In the four-dimensional detection, location identifiers A, B, C, and D of equations 40-43 that were used in the three-dimensional detection continue to be valid. Using these location identifiers and location identifier P of equation 59, the four-dimensional logic detection equation at even time periods becomes:
Where "·" represents a logical AND operation, "+" represents a logical OR operation, and A, B, C, D, and P include the mapping of 0 for -1 where necessary.
Note that none of the location identifiers depend on another location identifier. In other words, each can be determined without reference to another location identifier. Also note that the format of the four-dimensional logic statement of Equation 60 does not depend on the value of a location identifier.
In one embodiment of the present invention, the 3D/4D SSD is implemented using a full-rate detector 400 of FIG. 8. Detector 400 includes delay operators 402, 404, and 406, multiplier 408, summing circuits 410, 412, 414, 416, and 418, slicers 420, 422, 424, 426, and 428, AND circuits 4592, 454, and 456, OR circuits 458 and 460, and muliplexers 462 and 464.
Delay operators 402, 404, and 406 are connected together in series and provide outputs 403, 405, and 407, respectively. Delay operator 402 receives yk at its input, so the series of delay operators 402, 404, and 406 provide yk-1, yk-2, and yk-3 at their respective outputs 403, 405, and 407.
Multiplier 408 receives f1 and yk-2 at its inputs and produces the product of those two values at its output, which is connected to summing circuits 416 and 418.
In addition to receiving the output of multiplier 408, summing circuit 418 also receives yk-3 and ΔA. Summing circuit 418 adds its inputs together to produce an output that is provided to slicer 428, which produces a 1 if the sum is 0 or greater and 0 if the sum is less than 0. Together, summing circuit 418 and slicer 428 perform the function described by equation 40.
Summing circuit 416 receives the output of multiplier 408 along with yk-3 and ΔB. Summing circuit 416 provides the sum of its input values to slicer 426, which operates in a manner similar to slicer 428. Together, summing circuit 416 and slicer 426 perform the function described by equation 41.
Summing circuits 410 and 412 each receive yk-1 and yk-3. In addition, summing circuits 410 and 412 receive ΔC and ΔD, respectively. Summing circuit 410 subtracts yk-1 from yk-3 plus ΔC to produce an output that is provided to slicer 420, which operates in a similar manner to slicers 426 and 428. Together, summing circuit 410 and slicer 420 perform the functions of equation 42. Summing circuit 412 subtracts yk-1 from yk-3 plus ΔD to produce an output that is provided to slicer 422, which operates in a manner similar to slicers 426 and 428. Together, summing circuit 412 and slicer 422 perform the functions of equation 43.
Summing circuit 414 receives yk, yk-3 and ΔP, and provides their sum to slicer 424, which operates in a manner similar to slicer 426. Together, summing circuit 414 and slicer 424 perform the functions of equation 59.
The detection of data values during odd bit times is determined by AND circuit 452, OR circuit 458, and multiplexer 462, which together implement the logic of Equations 48 and 49. Multiplexer 462 passes either the output of slicer 420, representing location identifier C, or the output of slicer 422, representing location identifier D, based on the value of âk-4. Specifically, when âk-4 is 0 the output of slicer 420 is passed and when âk-4 is 1 the output of slicer 422 is passed.
The output of multiplexer 462 is provided to AND circuit 452 along with the output of slicer 426, representing location identifier B. AND circuit 452 performs a logical AND operation on these input values and provides an output to OR circuit 458, which also receives the output of slicer 428, representing location identifier A. OR circuit 458 performs a logical OR operation on its two input values and provides its output to multiplexer 464, which passes the output value if the current value being detected is at a time interval that does not permit tribits.
AND circuits 454 and 456, OR circuit 460 and multiplexer 464 provide the detection logic needed during time intervals when tribits are allowed. Specifically, these components implement the function of Equation 60.
AND circuit 454 receives the output of slicers 422, 424, and 426, representing location identifiers D, P, and B, respectively and provides a logical AND output based on those inputs. AND circuit 456 receives the output of slicers 420 and 426, representing location identifiers C and D, respectively, and provides a logic AND output based on those inputs. The outputs of AND circuits 454 and 456 are received by OR circuit 460 along with the output from slicer 428, representing location identifier A. OR circuit 460 performs a logical OR operation on its inputs to produce an output that is passed by multiplexer 464 as the detected value if tribits are allowed.
In another embodiment of the 3D/4D SSD, the detector is implemented as a half-rate detector, capable of operating at twice the frequency of the input symbols. The block diagram architecture of such a detector is shown as detector 498 in FIG. 9.
Detector 498 has two inputs 500 and 502 that receive yk and yk-1, respectively. Two delay circuits 504 and 506 delay the signals on inputs 500 and 502 for two time periods resulting in yk-2 and yk-1 on lines 508 and 510, respectively.
Lines 508 and 510 are connected to even-time period circuit 512, which includes multiplier 540, summing circuits 514, 516, 518, 520, and 522, slicers 524, 526, 528, 530, and 532, AND circuits 534 and 536, and OR circuit 538. Even-time period circuit 512 operates in a manner similar to the portions of detector 400 of
Detector 498 of
Summing circuits 570, 572, 554, and 556 add Yk-2 to the product of y-1 and f1 produced by multiplier 590 and to ΔA0, ΔB0,ΔA1, and ΔB1, respectively. Summing circuits 574 and 558 subtract yk from the sum of yk-2 and ΔC0 and ΔD1, respectively. ΔA0, ΔB0, and ΔC0 are equal to the value of equations 44, 45, and 46, respectively, with âk-4 equal to 0. ΔA1, ΔB1, and ΔD1 are equal to the value of equations 44, 45, and 47, respectively, with âk-4 equal to 1.
The output of summing circuits 570, 572, 574, 554, 556, and 558 are provided to slicers 576, 578, 580, 560, 562 and 564, respectively. Each of the slicers produces a +1 if the value at their respective input is 0 or greater, and 0 if the value at their respective input is less than 0.
The output of slicers 578 and 580 are provided to AND circuit 582, which performs a logical AND function on the two inputs. The output of AND circuit 582 is provided to OR circuit 584 along with the output of slicer 576. Or circuit 584 performs a logical OR operation on the two inputs to produce a possible detection output corresponding to equation 48.
The output of slicers 562 and 564 are provided to AND circuit 566, which performs a logical AND function on the two inputs. The output of AND circuit 566 is provided to OR circuit 568 along with the output of slicer 560. Or circuit 568 performs a logical OR operation on the two inputs to produce a possible detection output corresponding to equation 49.
Thus, odd-time period circuits 552 and 550 assume that âk-4 is equal to 0 and 1, respectively, and calculate a possible detected value based on that assumption. This assumption is necessary in detector 498 because ak-3 is being calculated before ak-4 has been determined. Once âk-4 has been determined by even-time period circuit 512, the value of âk-4 is used to select the âk-3 value that was calculated using the correct assumption for âk-4. This selection is performed by multiplexer 592, which passes the âk-3 value from odd-time period circuit 552 when âk-4 is 0 and passes the âk-3 value from odd-time period circuit 550 when ak-4 is 1.
Thus, it can be seen that the present invention implements a signal space detector for MTR-coded channels. Since no constraint is enforced on the channel response, the detectors can be used over a wide user density range. Also, signal space detector is implemented in accordance with the present invention with an MTR=2 constraint as well as time-variant MTR codes. With the MTR=2 code, the detector provides a significant gain over the 3D-110 detector at lower user densities. The performance is further improved with a time variant MTR code of higher rate, especially at higher densities.
The present invention provides a detector 400 in a disc drive 110 that includes a first detector portion 462, 452, 458 configured to determine the location of a sample vector, yk-3, yk-2, yk-1, in a first signal space y'"k-3, y"k-2, y'k-1. The detector 400 also includes a second detector portion 454, 456, 460, 464 configured to determine the location of a second sample vector yk-3, yk-2, yk-1, yk, in a second signal space y'"k-3, y"k-2, y'k-1, yk. The determination is made using a logic statement, equation 60, to combine a plurality of location indicators A, B, C, D and P. Each location indicator provides a location, 0 or 1, of the second sample vector relative to a respective boundary surface, A, B, C, D, or P. The logic statement and the location identifiers are independent of the values of other location identifiers.
The present invention is also implemented as a method. The method includes determining at least two location identifiers A, B, C, and D that indicate the location of a sample vector a location of a sample vector yk-3, yk-2, yk-1, relative to a respective boundary A, B, C, and D, in a first signal space y'"k-3, y"k-2, y'k-1. A first data value âk-3 is then determined based on the location identifiers. At least two additional location identifiers A, B, C, D, and P are determined where each additional location identifier indicates the location of a second sample vector yk-3, yk-2, yk-1, yk, relative to respective boundary surfaces A, B, C, D, and P, in a second signal space y'"k-3, y"k-2, y'k-1, yk. A second data value âk-3 is then determined by combining the additional location identifiers using a decision equation, Equation 60. The format of decision equation 60 is independent of the values of the additional location identifiers.
The present invention can also be implemented as a signal space detector configured to perform the above-mentioned steps.
It is to be understood that even though numerous characteristics and advantages of various embodiments of the present invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, the particular elements may vary depending on the particular partial response target and MTR code while maintaining substantially the same functionality without departing from the scope and spirit of the present invention.
It is to be understood that even though numerous characteristics and advantages of various embodiments of the present invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, the particular elements may vary depending on the particular application for the detection system while maintaining substantially the same functionality without departing from the scope and spirit of the present invention. In addition, although the preferred embodiment described herein is directed to a signal space detector for a disc drive system, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to other systems, like tape drive, optical drive, or magneto-optical drive systems, without departing from the scope and spirit of the present invention.
Rub, Bernardo, Shafiee, Hamid R.
Patent | Priority | Assignee | Title |
7164371, | Jul 30 2004 | HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B V | Method and apparatus for data coding for high density recording channels exhibiting low frequency contents |
Patent | Priority | Assignee | Title |
4321632, | Jun 01 1979 | Quantum Corporation | Positioning system and formatting scheme for magnetic tape media |
4567591, | Aug 01 1983 | Viasat, Inc | Digital audio satellite transmission system |
4593353, | Oct 26 1981 | RAINBOW TECHNOLOGIES, INC | Software protection method and apparatus |
4949196, | Jun 13 1986 | International Business Machines Corporation | Method and apparatus for asymmetrical RLL coding |
5036408, | May 12 1988 | Maxtor Corporation | High efficiency disk format and synchronization system |
5243605, | Jul 11 1991 | Storage Technology Corporation | Modified Viterbi detector with run-length code constraint |
5253131, | Mar 06 1990 | MAXTOR CORP | Servo pattern for location and positioning of information on a disk drive |
5278703, | Jun 21 1991 | Maxtor Corporation | Embedded servo banded format for magnetic disks for use with a data processing system |
5353352, | Apr 10 1992 | ERICSSON GE MOBILE COMMUNICATIONS, INC A CORPORATION OF NEW JERSEY | Multiple access coding for radio communications |
5404249, | Dec 25 1991 | Sony Corporation | Digital video tape recorder with data block ID signal error correction |
5434807, | Apr 02 1993 | Advantest Corporation | Parallel pseudo-random pattern generating method and pseudo-random pattern generator using the same |
5438462, | Oct 12 1993 | TECMAR TECHNOLOGIES, INC | Magnetic storage devices with dynamic boost adjustment to reduce read errors |
5485472, | May 16 1994 | International Business Machines Corporation | Trellis codes with algebraic constraints for input restricted partial response channels |
5537424, | Aug 12 1994 | International Business Machines Corporation | Matched spectral null codes with partitioned systolic trellis structures |
5717535, | Jan 25 1995 | Seagate Technology LLC | Block address integrity check for storage medium |
5731768, | Jan 31 1996 | Seagate Technology LLC | Method and apparatus for implementing codes with maximum transition run length |
5771127, | Jul 29 1996 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Sampled amplitude read channel employing interpolated timing recovery and a remod/demod sequence detector |
5784417, | Nov 23 1994 | AT&T MOBILITY II LLC | Cyclic trelles coded modulation |
5936558, | May 14 1997 | Seagate Technology LLC | Signal space detector for channels utilizing a code having time varying constraints |
5949357, | Jan 13 1997 | Maxtor Corporation | Time-varying maximum-transition-run codes for data channels |
Date | Maintenance Fee Events |
Dec 01 2005 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 09 2005 | ASPN: Payor Number Assigned. |
Dec 09 2005 | RMPN: Payer Number De-assigned. |
Dec 11 2009 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 11 2013 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 11 2005 | 4 years fee payment window open |
Dec 11 2005 | 6 months grace period start (w surcharge) |
Jun 11 2006 | patent expiry (for year 4) |
Jun 11 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 11 2009 | 8 years fee payment window open |
Dec 11 2009 | 6 months grace period start (w surcharge) |
Jun 11 2010 | patent expiry (for year 8) |
Jun 11 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 11 2013 | 12 years fee payment window open |
Dec 11 2013 | 6 months grace period start (w surcharge) |
Jun 11 2014 | patent expiry (for year 12) |
Jun 11 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |