# Patent

## Title
Method of detecting defects in a magnetic disk memory device

## Abstract

A disk drive has a normal mode of operation and a built-in self-test (BIST) mode of operation for producing a sequence of channel metrics {.GAMMA..sub.n }. The disk drive includes a recording surface having a plurality of bit cells and a transducer for reading the plurality of bit cells to produce a noise-corrupted read signal. The disk drive further includes means responsive to the noise-corrupted read signal for generating a sequence of observed samples {y.sub.n }, the sequence of observed samples {y.sub.n } forming a sequence of observed-sample subsequences {Y.sub.n }. An expected sample generator operates during the BIST mode of operation to provide a sequence of expected samples {w.sub.n }, the sequence of expected samples forming a sequence of expected-sample subsequences {W.sub.n }. A channel metrics .GAMMA..sub.n computation system computes a sequence of channel metrics {.GAMMA..sub.n }. Each channel metric .GAMMA..sub.n is a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample subsequence W.sub.n. Each channel metric .GAMMA..sub.n is independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample in every prior expected-sample subsequence W.sub.n.

## Background
1. Field of the Invention

The present invention relates to a disk drive such as a magnetic hard disk drive. More particularly, the present invention relates to such a drive having a built-in self-test system for characterizing performance of the drive.

2. Description of the Prior Art

A huge market exists for bard disk drives for mass-market host computer systems such as servers, desktop computers, and laptop computers. To be competitive in this market, a hard disk drive must be relatively inexpensive, and must accordingly embody a design that is adapted for low-cost mass production In addition, it must provide substantial capacity, rapid access to data, and reliable performance. Numerous manufacturers compete in this huge market and collectively conduct substantial research and development, at great annual cost, to design and develop innovative hard disk drives to meet increasingly demanding customer requirements.

An appreciable portion of such research and development has been, and continues to be, directed to developing effective and efficient ways to conduct, as part of the manufacturing process, unit-by-unit testing of drives. One aspect of such testing relates to determining the effect random noise has on drive performance. Data produced from such testing are useful in tuning processes directed to improving drive performance. Another aspect of such testing relates to determining the existence and location of defects such as defects in the media.

Random noise presents difficulties particularly in circumstances in which its magnitude is material in relation to the magnitude of a signal. In other words, a low signal-to-noise ratio ("S/N") presents problems. In a drive, a low S/N presents problems in attempting to achieve high areal density. Areal storage density relates to the amount of data storage capacity per unit of area on the recording surfaces of the disks. The available areal density may be determined from the product of the track density measured radially and the linear bit density measured along the tracks.

The available linear bit density depends on numerous factors including the performance capability of certain circuitry that is commonly referred to as a "read channel." One type of read channel is referred to as a peak-detecting channel; another type is referred to as a sampled-data channel. The type referred to as a sampled-data channel is a category including a partial response, maximum likelihood ("PRML") channel, a EPR4 channel, and a E.sup.2 PR4 channel.

In a hard disk drive having any of these read channels, the read channel receives an analog read signal from a transducer during a read operation. The analog read signal is characterized by a "channel frequency." As used in this art, "channel frequency" is the reciprocal of a time period "T," where the "T" is the time period consumed while an elemental-length magnet passes under the transducer during a read operation with the disk spinning at a constant angular velocity. In this regard, the length of each magnet recorded along a track as a result of a write operation is, to a first order of approximation, either an elemental length or an integer multiple of the elemental length. Each elemental length magnet can be referred to as a "bit cell" that is defined during a write operation.

The analog read signal always contains some random noise. The analog read signal, and certain other signals produced by processing the analog read signal and that also contain noise, are referred to herein as noise-corrupted signals. One such other noise-corrupted signal is a signal produced by filtering the analog read signal by means of a low-pass filter. Such filtering may reduce but not eliminate noise, and the filtered signal is also noise corrupted. Further signal processing in the read channel provides for producing a digital signal comprising detected symbols, any of which can be in error in representing recovered data. Such a digital signal is referred to herein as an error-prone signal.

In a hard disk drive employing a peak detecting channel, digital data are represented in the media by transitions between oppositely magnetized bit cells. Provided that the transitions between oppositely magnetized bit cells do not unduly interfere with each other, each such transition causes a peak in the analog read signal, and a peak-detecting channel employs a peak detector that detects such peaks, and produces digital signal in the form of a serial, binary-valued signal that is an error-prone signal for numerous reasons. One reason why the peak detector produces an error-prone signal is random noise; this source of error presents a problem for any type of channel. Another reason relates to interference between adjacent transitions. Interference between such transitions is referred to as intersymbol interference and adversely affects performance of a peak detecting channel increasingly as a function of channel rate.

A sampled-data channel employs sampling circuitry that samples a noise-corrupted analog read signal to produce a sequence of noise-corrupted samples. The samples so produced are provided in sequence to a detector. Such a detector may be organized such that its detection decisions are based on a sequence of the samples. Such a detector is sometimes called a "maximum likelihood sequence detector." A so-called "Viterbi detector" is an example of a maximum likelihood sequence detector. In a sampled-data channel employing a Viterbi detector, circuitry responds to the noise-corrupted samples to produce error-prone symbols and the produced error-prone symbols are mapped to binary-valued error-prone symbols. In a PRML channel, such internally-produced error-prone symbols are often referred to as: "-1"; "0"; and "+1"; and the binary-valued error-prone symbols are supplied to a deserializer to produce a parallel-by-bit digital signal.

Prior art methods for characterizing the performance of a disk drive are time consuming, costly, and inefficient. Prior art methods include various ways to perform test operations to produce either a bit error rate ("BER") or a histogram of noise magnitudes.

A BER of 10.sup.-x means that, on the average, there is no more than one error per 10.sup.-x bits. A raw BER for a disk drive is typically in the range of 10.sup.-6 BER to 10.sup.-10 BER. The raw BER is estimated without using an ECC correction system to correct errors in a data sequence. A user BER is usually lower than the raw BER and is improved using the ECC correction system.

The BER can be used for fine tuning electronic components in the disk drive. The BER test is commonly repeated after tuning the electronic components.

Prior art methods for estimating the BER require a protracted read operation that involves reading a large number of samples and counting the number of bit errors that occur during the read operation. Prior art methods commonly require reading 10.sup.8 samples to produce a reasonably precise estimate of BER when BER is in the neighborhood of 10.sup.-6 BER This is time consuming and inefficient. Other prior art methods require using large and expensive test equipment to produce an estimate of the BER. This is costly as well as inefficient for use in the manufacturing environment.

U.S. Pat. No. 4,578,721 discloses a "window margin" method for estimating the bit error rate for disk drives employing peak detection read channels. The "window margin" method is not suitable for disk drives employing sampled data detection channels.

U.S. Pat. No. 5,355,261 discloses a method for estimating a BER for disk drives having a partial response maximum likelihood data detection channel. This method requires comparing read back data bits and known data bits to count read back errors.

A publication titled "A WINDOW-MARGIN LIKE PROCEDURE FOR EVALUATING PRML CHANNEL PERFORMANCE", IEEE Transactions on Magnetics, Vol. 31, No.2, March 1995, discloses a method for estimating the BER that requires counting read back errors during the read operation.

As for a test for measuring the performance of a disk drive by generating a histogram, U.S. Pat. No.5,121,263 discloses such a method. This patent teaches generating a histogram using the following procedures: tested; intervals; expected to be received for each binary data bit that was recorded on the disk; the disk; registers.

The count content of the plurality of registers provides a histogram depicting the distribution of the like magnitude difference values. The shape of the histogram characterizes the performance of the disk drive and provides a criterion for deciding whether the disk drive being tested meets specifications.

There is a need for an efficient, accurate, and cost effective method for characterizing the performance of a disk drive in a manufacturing environment.

The invention can be regarded as a disk drive having a normal mode of operation and a built-in self-test mode of operation for producing a sequence of channel metrics {.GAMMA..sub.n }. The disk drive includes a recording surface having a plurality of bit cells; a transducer for reading the plurality of bit cells to produce a noise-corrupted read signal; and a means responsive to the noise-corrupted read signal for generating a sequence of observed samples {y.sub.n }. The sequence of observed samples {yn} forms a sequence of observed-sample subsequences {Y.sub.n }. Each observed-sample subsequence Y.sub.n has an earliest observed sample and a latest observed sample. The disk drive includes means operative during the built-in self-test mode of operation for providing a sequence of expected samples {w.sub.n }. The sequence of expected samples forms a sequence of expected-sample subsequences {W.sub.n }. Each expected-sample subsequence W.sub.n has an earliest expected sample and a latest expected sample. The disk drive includes computation means for computing a sequence of channel metrics {.GAMMA..sub.n }. Each channel metric .GAMMA..sub.n is a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample subsequence W.sub.n. Each channel metric .GAMMA..sub.n is independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample in every prior expected-sample subsequence W.sub.n.

In accordance with a feature of the invention, the disk drive further includes means for computing a mean .mu..sub..GAMMA. of the channel metrics .GAMMA..sub.n ; means for computing a standard deviation .sigma..sub..GAMMA. of the channel metrics .GAMMA..sub.n ; and means for computing a ratio of the mean .mu..sub..GAMMA. to the standard deviation .sigma..sub..GAMMA.. The ratio corresponds to a signal to noise ratio. According to another feature of the invention, the disk drive includes means for estimating a BER from the ratio .mu..sub..GAMMA. /.sigma..sub..GAMMA..

This invention can also be regarded as a method for computing a sequence of channel metrics {.GAMMA..sub.n } for characterizing the performance of a disk drive. This method include the steps of reading a plurality of bit cells stored on a recording surface in the disk drive to produce a noise-corrupted read signal and generating a sequence of observed samples {y.sub.n } responsive to the noise-corrupted read signal. The sequence of observed samples {y.sub.n } forms a sequence of observed-sample subsequences {Y.sub.n }. Each observed-sample subsequence Y.sub.n has an earliest observed sample and a latest observed sample. The method includes the step of providing a sequence of expected samples {w.sub.n }. The sequence of expected samples forms a sequence of expected-sample subsequences {W.sub.n }. Each expected-sample subsequence W.sub.n has an earliest expected sample and a latest expected sample. The method includes computing a sequence of channel metrics {.GAMMA..sub.n }. Each channel metric .GAMMA..sub.n is a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample subsequence W.sub.n. Each channel metric .GAMMA..sub.n is independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample in every prior expected-sample subsequence W.sub.n.

In accordance with another feature of the invention, the method further includes the steps of computing a mean .mu..sub..GAMMA. of the channel metrics .GAMMA..sub.n ; computing a standard deviation .sigma..sub..GAMMA. of the channel metrics .GAMMA..sub.n ; and computing a ratio of the mean .mu..sub..GAMMA. to the standard deviation .sigma..sub..GAMMA.. The ratio corresponds to a signal to noise ratio. According to another feature of the invention, the method further includes estimating the BER from the ratio .mu..sub..GAMMA. /.sigma..sub..GAMMA..

The foregoing and other features of the invention are described in detail below and set forth in the appended claims.

FIG. 1 is a block diagram of a disk drive embodying the invention.

FIG. 2 is a block diagram of the HDA and channel components in the disk drive of FIG. 1; the channel includes a built-in self-test system for computing a sequence of channel metrics {.GAMMA..sub.n }, and for accumulating a sum of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n) and a sum of the squares of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n.sup.2).

FIG. 3 is a trellis diagram showing a trellis path route corresponding to an expected-sample subsequence W.sub.n, the expected-sample subsequence W.sub.n being defined by an expected correct-sample subsequence R.sub.n and an expected error-sample subsequence R'.sub.n.

FIG. 4A is a sequence diagram for a sampled signal produced by sampling and shows a sequence of noise corrupted unequalized samples u.sub.0, . . . u.sub.6.

FIG. 4B is a sequence diagram for a sampled signal that defines a sequence of noise corrupted observed samples y.sub.0, . . . y.sub.6.

FIG. 4C is a sequence diagram for a sampled signal that defines a noiseless sequence of expected correct samples r.sub.0, . . . ,r.sub.6.

FIG. 5A is a trellis diagram showing an expected correct trellis path corresponding to the sequence of expected correct samples r.sub.0, . . . ,r.sub.6 in FIG. 4C.

FIG. 5B is a set of six overlapping trellis diagrams that show a sequence of trellis path routes corresponding to a sequence of expected-sample subsequences W.sub.1, W.sub.2, W.sub.3, W.sub.4, W.sub.5, and W.sub.6.

FIG. 6 is a signal space diagram illustrating two space distances .GAMMA..sub.R'1 and .GAMMA..sub.R1 used in computing channel metric .GAMMA..sub.1.

FIG. 7 is a table that, for a set of conditions defined by a set of expected correct sample subsequences R.sub.n and associated state information s.sub.n, relates the conditions to a set of simplified channel metric .GAMMA..sub.n equations that each is used for computing the channel metric for the corresponding condition.

FIG. 8 is a block diagram of a channel metric .GAMMA..sub.n computation system, the channel metric .GAMMA..sub.n computation system including the set of conditions defined by table 700 of FIG. 7 for selecting a channel metric .GAMMA..sub.n equation.

FIG. 9 is a flow chart showing the steps for estimating the BER for the disk drive of FIG. 1.

Referring to FIG. 1, a disk drive 1 in accordance with a preferred embodiment of the invention includes a head disk assembly ("HDA 10") and a printed circuit board assembly ("PCBA 12"). HDA 10 includes a disk 14 having a recording surface 14a for storing a plurality of bit cells, a transducer 20, and a preamp 22 coupled between transducer 20 and PCBA 12. HDA 10 also includes a spindle motor 16 and a voice coil motor ("VCM 18"). PCBA 12 includes a host interface and disk controller ("HIDC 32") and a channel 26. Channel 26 participates in the transfer of data bits between HIDC 32 and HDA 10. PCBA 12 also includes a microprocessor 34, a data buffer 42, a read only memory ("ROM 54"), a writeable random access memory ("RAM 60"), a spindle motor driver 56, and a VCM driver 58.

The disclosure of commonly owned co-pending U.S. patent application Ser. No. 08/815,352, filed Mar. 11, 1997, entitled DISK DRIVE EMPLOYING READ ERROR TOLERANT SYNC MARK DETECTION, is incorporated herein by reference (the "352 application"). A description of the elements shown in FIG. 1 is set forth in the '352 application.

Disk drive 1 has a normal mode of operation and a built-in self-test (BIST) mode of operation. The BIST mode of operation has (a) a test write mode of operation and (b) a test read mode of operation. Alternatively, the BIST mode of operation may include the test read mode of operation only.

The BIST mode of operation can be used for estimating the BER of disk drive 1 and locating defective sites on recording surface 14a of disk 14. The BIST mode of operation can also be used for tuning electronic components in disk drive 1 to improve the BER.

During the BIST mode of operation, channel 26 computes a sequence of channel metrics {.GAMMA..sub.n } and accumulates a sum of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n) and a sum of the squares of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n.sup.2). Channel 26 compares each channel metric .GAMMA..sub.n to a channel metric .GAMMA..sub.n defect threshold. If the channel metric .GAMMA..sub.n is below the channel metric .GAMMA..sub.n defect threshold, channel 26 generates a defect discovery signal indicating a defective site. The defect discovery signal can be transmitted from channel 26 to HIDC 32 using a channel data bus 38. The sequence of channel metrics {.GAMMA..sub.n } can be used for performing a bit-by-bit defect discovery.

Microprocessor 34 receives the accumulated channel metrics .GAMMA..sub.n from channel 26 and computes a mean .mu..sub..GAMMA. and a standard deviation .sigma..sub..GAMMA. of the channel metrics .GAMMA..sub.n. Microprocessor 34 also computes a ratio of the mean .mu..sub..GAMMA. to the standard deviation .sigma..sub..GAMMA., the ratio corresponding to a signal to noise ratio.

HIDC 32 receives and transmits the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) from microprocessor 34 to the host computer (not shown). Alternatively, microprocessor 34 estimates a BER from the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) For example, the BER can be estimated from Q (.mu..sub..GAMMA. /.sigma..sub..GAMMA.), where Q is the Gaussian Q function. HIDC 32 receives and transmits the BER from microprocessor 34 to the host computer (not shown). HIDC 32 receives the defect discovery signal from channel 26 and records the defective site in a defect list.

Referring to FIG. 2, channel 26 of FIG. 1 includes a pattern generator 202, a write channel 204, a read channel 206, and a BIST mode test system 208. Read channel 206 includes a variable gain amplifier ("VGA 212"), a low pass filter ("LPF 214"), a sampler 216, a sampled data equalizer 218, a slicer detector 220, a timing control 222, a gain control 224, a Viterbi detector 226, and a decoder 228. Write channel 204 includes an encoder and a precoder (not shown).

Pattern generator 202 is a data source suitable for providing a data signal 203 representing a test data sequence {b.sub.n } to write channel 204. As used in herein, for a sequence of elements having a lower case letter and a subscript n, the subscript n represents the n.sup.th element in the sequence of elements.

For example, pattern generator 202 is a PN signal generator that provides a pseudo-random test data sequence {b.sub.n }. The disclosure of commonly owned co-pending U.S. patent application Ser. No. 08/870,515, now U.S. Pat. No. 6,208,477, filed Jun. 6, 1997, entitled HARD DISK DRIVE HAVING A BUILT-IN SELF-TEST FOR MEASURING READBACK SIGNAL DISTORTION, is incorporated herein by reference (the "515 application"). A description of a PN signal generator is set forth in the '515 application.

Alternatively, pattern generator 202 can be a data source that is external to channel 26. For example, pattern generator 202 can be an external memory unit for providing a data signal 203 representing the test data sequence {b.sub.n }. The test data sequence {b.sub.n } can be a predetermined test data sequence. Pattern generator 202 can also be a host computer (user data) or a servo track writer (servo data) that provides a data signal 203 representing a non-test data sequence {b.sub.n }.

BIST mode test system 208 includes an expected sample generator 230, a channel metric .GAMMA..sub.n computation and defect detection system 232 (".GAMMA..sub.n computation system 232"), and a channel metric .GAMMA..sub.n accumulation system 234. Alternatively, BIST mode system 208 includes channel metric .GAMMA..sub.n accumulation system 234 only. In this alternate embodiment, Viterbi detector 226 computes and transmits the sequence of channel metrics {.GAMMA..sub.n } to channel metric .GAMMA..sub.n accumulation system 234. Viterbi detector 226 can include a defect detection system for generating a defect discovery signal indicating a defective site for channel metrics .GAMMA..sub.n that do not meet a channel metric .GAMMA..sub.n defect threshold.

Write Mode of Operation

During the test write mode of operation, write channel 204 receives data signal 203 representing the test data sequence {b.sub.n } from pattern generator 202 and produces a data signal 205 representing a test data sequence {b*.sub.n). Alternatively, during the normal write mode of operation, write channel 204 receives a data signal 203 representing the non-test data sequence {b.sub.n } from pattern generator 202 and produces a data signal 205 representing a non-test data sequence {b*.sub.n }.

Data signal 205 has a sequence of state information {s.sub.n } that corresponds to the test data sequence {b*.sub.n }. The precoder in write channel 204 is suitable for generating data signal 205 representing the test data sequence {b*.sub.n }.

According to another embodiment, write channel 204 does not includes the encoder and the precoder. Write channel 204 receives data signal 203 representing the test data sequence {b.sub.n } from pattern generator 202 and produces a data signal 205 without encoding and precoding signal processing.

Preamp 22 receives data signal 205 from write channel 204 and generates write signal 17a corresponding to the test data sequence {b*.sub.n }. Transducer 20 receives write signal 17a and records the test data sequence {b*.sub.n } as a plurality of bit cells on recording surface 14a.

Read Mode of Operation

During the test read mode of operation, transducer 20 reads the plurality of bit cells stored on recording surface 14a to produce a noise-corrupted analog read signal 17b. Preamp 22 receives analog read signal 17b and produces a noise-corrupted analog read signal 211. VGA 212 receives analog read signal 211 and under control of gain control 224 produces an analog read signal 213 that has a substantially constant amplitude. LPF 214 receives analog read signal 213 and generates analog read signal 215 having an improved signal to noise ratio. Sampler 216 receives analog read signal 215 and in response generates sampled signal 217. Sampled data equalizer 218 receives sampled signal 217 and generates an equalized sampled signal 219 representing a sequence of observed samples {y.sub.n }.

Slicer detector 220 receives equalized sampled signal 219 and in response generates a slicer sampled signal 221 representing a sequence of slicer samples {a.sub.n }. Slicer sampled signal 221 is a coarsely quantized estimate of equalized sampled signal 219. For example, slicer sampled signal 221 for a PR4ML channel has one of three possible slicer sample values (+1,0, -1). If the equalized sample value for equalized sampled signal 219 is more positive than a first predetermined factor (e.g., 1/2) of the target value +1, the slicer sample value is +1. If the equalized sample value for equalized sampled signal 219 is more negative than a second predetermined factor (e.g., 1/2) of the target value -1, the slicer sample value is -1. If the equalized sample value for equalized sampled signal 219 is between (a) the first predetermined factor (e.g., 1/2) of the target value +1 and (b) the second predetermined factor (e.g., 1/2) of the target value -1, then the slicer sample value is 0.

Viterbi detector 226 receives equalized sampled signal 219 representing the sequence of observed samples {y.sub.n } and generates a data signal 227 representing a data sequence {b.sub.n }. Decoder 228 receives data signal 227 and generates a decoded data signal 229.

Expected sample generator 230 receives data signal 205 representing the test data sequence {b*.sub.n } that was supplied to preamp 22 during the test write mode of operation. Expected sample generator 230 generates an expected sample signal 231 representing a sequence of expected samples {w.sub.n }. Expected sample generator 230 includes a finite state channel model (not shown) that receives state information {s.sub.n } associated with the test data sequence {b*.sub.n } to produce expected sample signal 231. For example, the finite state channel model for disk drive 1 having a PR4ML signal processing system is defined by the transfer polynomial (1-D.sup.2).

Alternatively, expected sample generator 230 receives signal 203 representing the test data sequence {b.sub.n } that was supplied to write channel 204 during the test write mode of operation. In this alternative embodiment, expected sample generator 230 includes an encoder, a precoder and a finite state channel model. The encoder and precoder generate the test data sequence {b*.sub.n } corresponding to data signal 205. The finite state channel model receives state information {s.sub.n } associated with the test data sequence {b*.sub.n } and generates signal 231 representing the sequence of expected samples {w.sub.n }.

According to alternate embodiment, the BIST mode of operation includes the test read mode of operation only. Expected sample generator 230 receives signal 221 representing the sequence of slicer samples {a.sub.n } and generates signal 231 representing a sequence of expected samples {w.sub.n }. In this alternate embodiment, the sequence of slicer samples {a.sub.n } corresponds to the non-test data sequence {b*.sub.n }. Expected sample generator 230 includes a state machine (not shown) for defining state information {s.sub.n } associated with the non-test data sequence {b*.sub.n }

State information {s.sub.n } associated with the test data sequence {b*.sub.n } defines the sequence of expected correct samples {.GAMMA..sub.n }. According to an alternate embodiment, state information {s.sub.n } associated with the non-test data sequence {b*.sub.n }defines the sequence of expected correct samples {.GAMMA..sub.n }.

The sequence of expected error samples {r'.sub.n } is defined by the state information {s.sub.n } associated with the sequence of expected correct samples {.GAMMA.r.sub.n }. The sequence of expected samples {w.sub.n } is defined by the sequence of expected correct samples {.GAMMA.r.sub.n } and the sequence of expected error samples {r'.sub.n }.

Channel metric .GAMMA..sub.n computation system 232 receives equalized sampled signal 219 representing the sequence of observed samples {y.sub.n } and signal 231 representing the sequence of expected samples {w.sub.n }. Channel metric .GAMMA..sub.n computation system 232 generates a signal 233 representing a sequence of channel metrics {.GAMMA..sub.n }.

The sequence of observed samples {y.sub.n } forms a sequence of observed-sample subsequences {Y.sub.n }. Each observed-sample subsequence Y.sub.n has an earliest observed sample and a latest observed sample. The sequence of expected samples {w.sub.n } forms a sequence of expected-sample subsequences {W.sub.n }. Each expected-sample subsequence W.sub.n has an earliest expected sample and a latest expected sample. As used herein, for a sequence of subsequences having an upper case letter and a subscript n, the subscript n represents the n.sup.th subsequence in the sequence of subsequences.

Each channel metric .GAMMA..sub.n is a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample subsequence W.sub.n. Each channel metric .GAMMA..sub.n is independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample in every prior expected-sample subsequence W.sub.n.

The distance determined from the observed-sample subsequences Y.sub.n to the corresponding expected-sample subsequence W.sub.n corresponds to a space distance, such as a Euclidean or Hamming distance. Alternatively, the distance can be an absolute value of the difference between the observed-sample subsequence Y.sub.n and expected-sample subsequence W.sub.n.

Channel metric .GAMMA..sub.n computation system 232 compares signal 233 representing the channel metric .GAMMA..sub.n to a channel metric .GAMMA..sub.n defect threshold. If signal 233 (channel metric .GAMMA..sub.n) is below the channel metric .GAMMA..sub.n defect threshold, channel metric .GAMMA..sub.n computation system 232 generates a defect discovery signal 238 indicating a defective site associated with the observed sample y.sub.n.

Channel metric .GAMMA..sub.n accumulation system 234 receives signal 233 and generates a signal 235 representing a sum of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n). Channel metric .GAMMA..sub.n accumulation system 234 also generates a signal 236 representing a sum of the squares of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n.sup.2).

Microprocessor 34 receives signal 235 (representing the sum of the channel metrics .GAMMA..sub.n) and signal 236 (representing the sum of the squares of the channel metrics .GAMMA..sub.n) to compute the mean .mu..sub..GAMMA. and the standard deviation .sigma..sub..GAMMA.. Microprocessor 34 also computes the ratio of the mean .mu..sub..GAMMA. to the standard deviation .sigma..sub..GAMMA.. The ratio represents the signal to noise ratio. According to an alternate embodiment, microprocessor 34 estimates a BER from the ratio (.mu..sub..GAMMA./.sigma..sub..GAMMA.)

HIDC 32 receives and transmits the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) from microprocessor 34 to the host computer (not shown). Alternatively, HIDC 32 receives and transmits the BER from microprocessor 34 to the host computer (not shown). HIDC 32 receives defect discovery signal 238 and records the defective site in the defect list.

Referring to FIG. 3, trellis diagram path route 300 corresponds to an expected-sample subsequence W.sub.n for disk drive 1 (FIG. 1) employing a sampled data signal processing system tuned to a (1-D) channel response. This illustration is suitable for each of the (1-D) interleaves in a PR4ML signal processing system.

The expected-sample subsequence W.sub.n is defined by an expected correct-sample subsequence R.sub.n and an expected error-sample subsequence R'.sub.n. As previously mentioned, the sequence of expected samples {w.sub.n } is defined by the sequence of expected correct samples {r.sub.n } and the sequence of expected error samples {r'.sub.n }. The sequence of expected correct samples {r.sub.n } forms the sequence of expected correct-sample subsequences {R.sub.n }. Each expected correct-sample subsequence R.sub.n has an earliest expected correct sample and a latest expected correct-sample. The sequence of expected error samples {r'.sub.n } forms the sequence of expected error-sample subsequences {R'.sub.n }. Each expected error-sample subsequence R'.sub.n has an earliest expected error sample and a latest expected error sample.

Path route 300 has a correct path 302 corresponding to the expected correct-sample subsequence R.sub.n and an error event path 304 corresponding to the expected error-sample subsequence R'.sub.n. Correct path 302 begins from a beginning state s.sub.n-2 306 and ends at an ending state s.sub.n 308. Error event path 304 is a minimum distance error event path that begins from the beginning state s.sub.n-2 306 and ends at the ending state 308 s.sub.n.

Path route 300 has two time steps between the beginning state s.sub.n-2 306 and the ending state 308 s.sub.n. Alternatively, path route 300 has more than two times steps between the beginning state 306 and the ending state 308. The number of time steps corresponds to the number of samples between the beginning state 306 and ending state 308.

The following is an example of disk drive 1 (FIG. 1) employing a sampled data signal processing system tuned to a (1-D) channel response. This example is also suitable for each of the (1-D) interleaves in a PR4ML signal processing system. The mean .mu..sub..GAMMA. of the channel metrics {.GAMMA..sub.n } is computed for each interleave and then combined together. The standard deviation of the channel metrics {.GAMMA..sub.n } is also computed for each interleave and then combined together.

During the test write mode of operation, write channel 204 receives a test data sequence b.sub.0 =1, b.sub.1 =0, b.sub.2 =0, b.sub.3 =0, b.sub.4 =0, b.sub.5 =1, and b.sub.6 =0 and generates a test data sequence b*.sub.initial =0, b*.sub.0 =1, b*.sub.1 =1, b*.sub.2 =1, b*.sub.3 =1, b*.sub.4 =1, b*.sub.5 =0, and b*.sub.6 =0. Transducer 20 receives state information s.sub.initial =-, s.sub.0 =+, s.sub.1 =+, s.sub.2 =+, s.sub.3 =+, s.sub.4 =+, s.sub.5 =-, and s.sub.6 =- associated with the test data sequence {b*.sub.n } and records the test data sequence {b*.sub.n } as a plurality of bit cells on recording surface 14a of disk 14.

During the test read mode of operation, transducer 20 reads the plurality of bit cells stored on recording surface 14a to produce a noise-corrupted read signal. Sampler 216 generates a noise corrupted sequence of unequalized samples u.sub.0 =+0.8, u.sub.1 =-0.1, u.sub.2 =-0.8, u.sub.3 =-0.3, u.sub.4 =-0.4, u.sub.5 =-1.7, and u.sub.6 =-0.9 responsive to the noise-corrupted read signal. Referring to FIG. 4A, sequence diagram 402 shows the noise corrupted sequence of unequalized samples u.sub.0, u.sub.1, u.sub.2, u.sub.3, u.sub.4, u.sub.5, and u.sub.6.

Sampled data equalizer 218 generates a sequence of observed samples y.sub.0 =+0.8, y.sub.1 =-0.1, y.sub.2 =-0.6, y.sub.3 =+0.1, y.sub.4 =+0.3, y.sub.5 =-1.2, and y.sub.6 =-0.2 responsive to the noise corrupted sequence of unequalized samples. Referring to FIG. 4B, sequence diagram 404 shows the sequence of observed samples y.sub.0, y.sub.1, y.sub.2, y.sub.3, y.sub.4, y.sub.5 and y.sub.6. The sequence of observed samples {y.sub.n } includes noise which contributes to sample values deviating from their expected correct values.

The sequence of observed samples {y.sub.n } forms a sequence of observed-sample subsequences Y.sub.n : Y.sub.1 =y.sub.0,y.sub.1 ; Y.sub.2 =y.sub.1,y.sub.2 ; Y.sub.3 =y.sub.2,y.sub.3 ; Y.sub.4 =y.sub.3,y.sub.4 ; Y.sub.5 =y.sub.4,y.sub.5 ; and Y.sub.6 =y.sub.5,y.sub.6. Each observed-sample subsequence Y.sub.n has an earliest observed sample and a latest observed sample.

Expected sample generator 230 receives the test data sequence b*.sub.initial =0, b*.sub.0 =1, b*.sub.1 =1, b*.sub.2 =1, b*.sub.3 =1, b*.sub.4 =1, b*.sub.5 =0, and b*.sub.6 =0 and provides a corresponding sequence of expected correct samples r.sub.0 =+1.0, r.sub.1 =0.0, r.sub.2 =0.0, r.sub.3 =0.0, r.sub.4 =0.0, r.sub.5 =-1.0, and r.sub.6 =0.0. State information {s.sub.n } associated with the test data sequence {b*.sub.n } defines the sequence of expected correct samples {r.sub.n }. Referring to FIG. 4C, sequence diagram 406 shows the sequence of expected correct samples r.sub.0, r.sub.1, r.sub.2, r.sub.3, r.sub.4, r.sub.5, and r.sub.6. The sequence of expected correct samples {r.sub.n } represents noiseless samples having expected values.

The sequence of expected correct samples {.GAMMA.r.sub.n } forms a sequence of expected correct-sample subsequences R.sub.n : R.sub.1 =r.sub.0 r.sub.1 ; R.sub.2 =r.sub.1,r.sub.2 ; R.sub.3 =r.sub.2,r.sub.3 ; R.sub.4 =r.sub.3,r.sub.4 ; R.sub.5 =r.sub.4,r.sub.5 ; and R.sub.6 =r.sub.5,r.sub.6. Each expected correct-sample subsequence R.sub.n has an earliest expected correct sample and a latest expected correct sample. The sequence of expected correct-sample subsequences R.sub.n defines a sequence of expected error-sample subsequences R'.sub.n : R'.sub.1,=r'.sub.0,r'.sub.1 ; R'.sub.2 r'.sub.1,r'.sub.2 ; R'.sub.3 =r'.sub.2,r'.sub.3 ; R'.sub.4 =r'.sub.3,r'.sub.4 ; R'.sub.5 =r'.sub.4,r'.sub.5 ; and R'.sub.6 =r'.sub.5,r'.sub.6. Each expected error-sample subsequence R'.sub.n has an earliest expected error sample and a latest expected error sample.

Referring to FIG. 5A, trellis diagram 500 includes an expected correct trellis path 502 corresponding to the sequence of expected correct samples r.sub.0 =+1.0, r.sub.1 =0.0, r.sub.2 =0.0, r.sub.3 =0.0, r.sub.4 =0.0, r.sub.5 =-1.0, and r.sub.6 =0.0. Expected correct trellis path 502 defines a sequence of six overlapping path routes 504, 506, 508, 510, 512, and 514. Each path route corresponds to an expected-sample subsequence W.sub.n.

Referring to FIG. 5B, trellis diagram 516 shows the sequence of overlapping path routes 504, 506, 508, 510, 512, and 514 corresponding to a sequence of expected-sample subsequences W.sub.n : W.sub.1, W.sub.2, W.sub.3, W.sub.4, W.sub.5 and W.sub.6. As previously mentioned, each expected-sample subsequence W.sub.n is defined by an expected correct-sample subsequence R.sub.n and an expected error-sample subsequence R'.sub.n. As shown in trellis diagram 516, each path route includes a correct path (solid line) corresponding to an expected correct-sample subsequence R.sub.n : r.sub.n-1,r.sub.n and an error event path (dotted line) corresponding to an expected error-sample subsequence R'.sub.n : r'.sub.n-1,r'.sub.n.

Referring to FIGS. 5A and 5B, path route 504 corresponds to the expected-sample subsequence W.sub.1. The expected-sample subsequence W.sub.1 is defined by expected correct-sample subsequence R.sub.1 : r.sub.0 =+1.0, r.sub.1 =0.0, and expected error-sample subsequence R'.sub.1 : r'.sub.0 =0.0, r'.sub.1 =+1.0. Path route 506 corresponds to expected-sample subsequence W.sub.2. The expected-sample subsequence W.sub.2 is defined by expected correct-sample subsequence R.sub.2 : r.sub.1 =0.0, r.sub.2 =0.0, and expected error-sample subsequence R'.sub.2 : r'.sub.1 =-1.0, r'.sub.2 =+1.0. Path route 508 corresponds to expected-sample subsequence W.sub.3. The expected-sample subsequence W.sub.3 is defined by expected correct-sample subsequence R.sub.3 : r.sub.2 0.0, r.sub.3 =0.0, and expected error-sample subsequence R'.sub.3 : r'.sub.2 =-1.0, r'.sub.3 =+1.0. Path route 510 corresponds to expected-sample subsequence W.sub.4. The expected-sample subsequence W.sub.4 is defined by expected correct-sample subsequence R.sub.4 : r.sub.3 =0.0, r.sub.4 =0.0, and expected error-sample subsequence R'.sub.4 : r'.sub.3 =-1.0, r'.sub.4 =+1.0. Path route 512 corresponds to expected-sample subsequence W.sub.5. The expected-sample subsequence W.sub.5 is defined by expected correct-sample subsequence R.sub.5 : r.sub.4 =0.0, r.sub.5 =-1.0, and expected error-sample subsequence R'.sub.5 : r'.sub.4 =-1.0, r'.sub.5 =0.0. Path route 514 corresponds to expected-sample subsequence W.sub.6. The expected-sample subsequence W.sub.6 is defined by expected correct-sample subsequence R.sub.6 : r.sub.5 =-1.0, r.sub.6 =0.0, and expected error-sample subsequence R'.sub.6 : r'.sub.5 =0.0, r'.sub.6 =-1.0.

Table 1 shows sample values for the sequence of observed-sample subsequences {Y.sub.n : y.sub.n-1,y.sub.n } and the sequence of expected-sample subsequences {W.sub.n }, wherein the sequence of expected-sample subsequences {W.sub.n } is defined by the sequence of expected correct-sample subsequences {R.sub.n : r.sub.n-1,r.sub.n } and the sequence of expected error-sample subsequences (R'.sub.n : r'.sub.n-1,r'.sub.n }. observed-sample          expected-sample sub-    subsequence Y.sub.n        subsequence W.sub.n sequence  Y.sub.n : y.sub.n-1,y.sub.n  R.sub.n : r.sub.n-1,r.sub.n R'.sub.n : r'.sub.n-1,r'.sub.n n = 1   y.sub.0 = +0.8, y.sub.1 = -0.1 r.sub.0 = +1.0, r.sub.1 = 0.0 r'.sub.0 = 0.0, r'.sub.1 = +1.0 n = 2   y.sub.1 = -0.1, y.sub.2 = -0.6 r.sub.1 = 0.0, r.sub.2 = 0.0 r'.sub.1 = -1.0, r'.sub.2 = +1.0 n = 3   y.sub.2 = -0.6, y.sub.3 = +0.1 r.sub.2 = 0.0, r.sub.3 = 0.0 r'.sub.2 = -1.0, r'.sub.3 = +1.0 n = 4   y.sub.3 = +0.1, y.sub.4 = +0.3 r.sub.3 = 0.0, r.sub.4 = 0.0 r'.sub.3 = -1.0, r'.sub.4 = +1.0 n = 5   y.sub.4 = +0.3, y.sub.5 = -1.2 r.sub.4 = 0.0, r.sub.5 = -1.0 r'.sub.4 = -1.0, r'.sub.5 = 0.0 n = 6   y.sub.5 = -1.2, y.sub.6 = -0.2 r.sub.5 = 1.0, r.sub.6 = 0.0 r'.sub.5 = 0.0, r'.sub.6 = -1.0

The channel metric .GAMMA..sub.n can be determined from the equation [(y.sub.n-1 -r'.sub.n-1).sup.2 +(y.sub.n -r'.sub.n).sup.2 ]-[(y.sub.n-1 -r.sub.n-1).sup.2 +(y.sub.n -r.sub.n).sup.2 ]. The channel metric equation includes a channel metric component .GAMMA..sub.R'n corresponding to [(y.sub.n-1 -r'.sub.n-1).sup.2 +(y.sub.n -r'.sub.n).sup.2 ] and a channel metric component .GAMMA..sub.Rn corresponding to [(y.sub.n-1 -r.sub.n-1).sup.2 +(y.sub.n -r.sub.n).sup.2 ]. Alternatively, the channel metric .GAMMA..sub.n can be determined from other simplified equations derived from the channel metric .GAMMA..sub.n equation [y.sub.n-1 -r'.sub.n-1).sup.2 +(y.sub.n -r'.sub.n).sup.2 ]-[(y.sub.n-1 -r.sub.n-1).sup.2 +(y.sub.n -r.sub.n).sub.2 ]. sample n initial state n = 0 n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 test data sequence {b.sub.n }             1     0     0     0     0     1 0 test data sequence {b*.sub.n }      0      1     1     1     1     1     0 0 observed sample sequence {y.sub.n }             +0.8  -0.1  -0.6  +0.1 +0.3  -1.2  -0.2 expected sample sequence {r.sub.n }             +1.0  0.0   0.0   0.0   0.0 -1.0  0.0 expected state information {s.sub.n }      -      +     +     +     +     + -     - channel metrics {.GAMMA..sub.n }                   1.80  3.00  .60   1.60 3.00  5.40 Viterbi state metric (+1 state)             .04   .05   .41   .42   .51 1.95  1.99 Viterbi state metric (-1 state)      0      .64   .65   .21   .22   .31 .55   .59

Channel metric .GAMMA..sub.n computation system 232 receives one of the observed-sample subsequences Y.sub.n : y.sub.n-1,y.sub.n, the corresponding expected correct-sample subsequence R.sub.n : r.sub.n-1,r.sub.n, and the corresponding expected correct-sample subsequence R'.sub.n : r'.sub.n-1,r'.sub.n to compute the channel metric .GAMMA..sub.n . Alternatively, channel metric .GAMMA..sub.n computation system 232 receives one of the observed-sample subsequences Y.sub.n : y.sub.n-1,y.sub.n the corresponding expected correct-sample subsequence R.sub.n : r.sub.n-1,r.sub.n, and the corresponding state information s.sub.n associated with the expected correct-sample subsequence R.sub.n.

Referring to tables 1 and 2, channel metric .GAMMA..sub.1 (table 2, at column n=1) is 1.80 and represents a distance determined from the expected-observed sample subsequence Y.sub.1 : y.sub.0 =+0.8,y.sub.1 =-0.1 to the corresponding expected correct-sample subsequence W.sub.1. Channel metric .GAMMA..sub.2 (at column n=2) is 3.00 and represents a distance determined from the expected-observed sample subsequence Y.sub.2 : y.sub.1 =-0.1,y.sub.2 =-0.6 to the corresponding expected correct-sample subsequence W.sub.2. Channel metric .GAMMA..sub.3 (at column n=3) is 0.60 and represents a distance determined from the expected-observed sample subsequence Y.sub.3 : y.sub.2 =-0.6,y.sub.3 =+0.1 to the corresponding expected correct-sample subsequence W.sub.3. Channel metric .GAMMA..sub.4 (at column n=4) is 1.60 and represents a distance determined from the expected-observed sample subsequence Y.sub.4 : y.sub.3 =+0.1, y.sub.4 =+0.3 to the corresponding expected correct-sample subsequence W.sub.4. Channel metric .GAMMA..sub.5 (at column n=5) is 3.00 and represents a distance determined from the expected-observed sample subsequence Y.sub.5 : y.sub.4 =+0.3,y.sub.5 =-1.2 to the corresponding expected correct-sample subsequence W.sub.5. Channel metric .GAMMA..sub.6 (at column n=6) is 5.40 and represents a distance determined from the expected-observed sample subsequence Y.sub.6 : y.sub.5 =-1.2,y.sub.6 =-0.2 to the corresponding expected correct-sample subsequence W.sub.6.

Referring to FIG. 6, signal space 600 illustrates the space distance corresponding to channel metric .GAMMA..sub.1. Signal space 600 includes possible expected sample points 602 (0.0,+1.0), 604 (-1.0,+1.0), 606 (-1.0,0.0), 608 (0.0,0.0), 610 (+1.0,0.0), 612 (0.0,-1.0), and 614 (+1.0,-1.0). Each possible expected sample point corresponds to a possible expected correct-sample subsequence R.sub.n : r.sub.n-1,r.sub.n or a possible expected-error sample subsequence R'.sub.n : r'.sub.n-1,r'.sub.n.

For example, sample point 616 corresponds to the observed-sample subsequence Y.sub.1 : y.sub.0 =+0.8,y.sub.1 =-0.1. The channel metric .GAMMA..sub.1 (table 2, at column n=1) is 1.80 and represent a distance determined from the expected-observed sample subsequence Y.sub.1 to the corresponding expected correct-sample subsequence W.sub.1. The expected correct-sample subsequence W.sub.1 is defined by the expected correct-sample subsequence R.sub.1 : r.sub.0 =+1.0,r.sub.1 =0.0 associated with the correct path in path route 504, and the expected error-sample subsequence R'.sub.1 : r'.sub.0 =0.0,r'.sub.1 =+1.0 associated with the error event path in path route 504.

Sample point 602 corresponds to the expected error-sample subsequence R'.sub.1 : r'.sub.0 =0.0,r'.sub.1 =+1.0. Sample point 610 corresponds to the expected correct-sample subsequence R.sub.1 : r.sub.0 =+1.0,r=0.0. Space distance 618 represents the channel metric component .GAMMA..sub.R'1 (1.85). Space distance 620 represents the channel metric component .GAMMA..sub.R1 (0.05). The channel metric .GAMMA..sub.1 (1.8) represents a distance determined from space distance 618 (.GAMMA..sub.R'1 =1.85) minus space distance 620 (.GAMMA..sub.R1 =0.05).

Table 2 shows a Viterbi state metric at a +1 state and a -1 state. The Viterbi state metric is computed for each state beginning from an initial state and continuing to a state at n=6. The initiate state s.sub.initial is--and the Viterbi state metric for the -1 state is 0.

Viterbi detector 220 has a structure defining a Viterbi engine for computing the +1 Viterbi state metric and the -1 Viterbi state metric. The Viterbi detector also has a path memory for retaining and generating a trellis path having the least accumulated state metrics. The Viterbi engine operates in a repeated cycle. During each cycle, it computes two Viterbi state metrics for each of the two respective states (+1 state and -1 state). The Viterbi engine computes a branch metric for each possible path entering each state, adds the branch metric to a previous Viterbi state metric to produce a candidate Viterbi state metric, and selects the candidate Viterbi state metric having the lowest value.

During each cycle, the path memory is updated so that it selects a path having the lowest accumulated Viterbi state metric. The Viterbi engine computes each branch metric by computing the square of the difference between the value of an observed sample y.sub.n and the value of a possible target sample t.sub.n. The branch metric equation is (y.sub.n -t.sub.n).sup.2. Viterbi detector 220 includes branch metric registers for holding computed branch metrics and state metric registers for holding accumulated Viterbi state metrics.

The selected Viterbi state metric is a sum of a branch metric and a previous state metric having the least accumulated Viterbi state metric. The selected Viterbi state metric depends on the earliest observed sample in the observed sequence and the earliest target sample in the possible sample sequence.

Table 3 differs from table 1 in that the earliest observed sample y.sub.0 is changed from +0.8 to +0.3. Channel metric .GAMMA..sub.1 (at column n=1) decreased from 1.8 to 0.8. The remaining channel metrics .GAMMA..sub.2 through .GAMMA..sub.6 are not affected by this change in the earliest observed sample y.sub.0. Channel metrics .GAMMA..sub.2 through .GAMMA..sub.6 are independent of the earliest observed sample y.sub.0. Each channel metric .GAMMA..sub.n is independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample subsequence in every prior expected sample-subsequence W.sub.n.

Each Viterbi state metric (columns n=0 through n=6) is affected by changing the earliest observed sample y.sub.0. Each Viterbi state metric (+1 state and -1 state) shown in columns n=1 through n=6 depends on the earliest observed sample y.sub.0. sample n initial state n = 0 n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 test data sequence {b.sub.n }             1     0     0     0     0     1 0 test data sequence {b*.sub.n }      0      1     1     1     1     1     0 0 observed sample value {y.sub.n }             +0.3  -0.1  -0.6  +0.1  +0.3 -1.2  -0.2 expected sample value {r.sub.n }             +1.0  0.0   0.0   0.0   0.0 -1.0  0.0 expected state information {s.sub.n }      -      +     +     +     +     + -     - channel metrics {.GAMMA..sub.n }                   .80   3.00  .60   1.60 3.00  5.40 Viterbi state metric (+1 state)             .49   .50   .86   .87   .96 2.4   2.44 Viterbi state metric (-1 state)      0      .09   .10   .46   .47   .56 1.00  1.04

Channel metric .GAMMA..sub.n computation system 232 compares each channel metric .GAMMA..sub.n to a channel metric .GAMMA..sub.n defect threshold. For example, if the channel metric .GAMMA..sub.n defect threshold is 1, channel metric .GAMMA..sub.n computation system 232 will generate a defect discovery signal for channel metric .GAMMA..sub.3. The defect discovery signal indicates a defective site associated with observed samples Y2 and y.sub.3.

Channel metric .GAMMA..sub.n accumulation system 234 receives and accumulates a sequence of the channel metrics {.GAMMA..sub.n } to produce a sum of the channel metrics .SIGMA..GAMMA..sub.n and a sum of the squares of the metrics .SIGMA..GAMMA..sub.n.sup.2.

Microprocessor 34 receives the sum of the channel metrics .GAMMA..sub.n and the sum of the squares of the channel metrics .GAMMA..sub.n to compute the mean .mu..sub..GAMMA. and the standard deviation .sigma..sub..GAMMA.. Microprocessor 34 also computes the ratio of the mean .mu..sub..GAMMA. to the standard deviation .sigma..sub..GAMMA.. The ratio represents the signal to noise ratio. According to an alternate embodiment, microprocessor 34 estimates a BER from the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.).

HIDC 32 receives and transmits the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) from microprocessor 34 to the host computer (not shown). Alternatively, HIDC 32 receives and transmits the BER from microprocessor 34 to the host computer (not shown). HIDC 32 receives the defect discovery signal and records the defective site in the defect list.

Referring to FIG. 7, table 700 shows eight simplified channel metric .GAMMA..sub.n equations 706 corresponding to eight possible trellis path routes 708. Each channel metric .GAMMA..sub.n equation 706 includes a constant C having a value equal to +2, 0 or -2; a y.sub.n-1 coefficient having a value equal to +2 or -2; and a y.sub.n coefficient having a value equal to +2 or -2. Channel metric .GAMMA..sub.n equations 706 are derived from the equation [(y.sub.n-1 -r'.sub.n-1).sup.2 +(y.sub.n -r'.sub.n).sup.2 ]-[(Y.sub.n-1 -r.sub.n-1).sup.2 +(y.sub.n -r.sub.n).sup.2 ].

Column 702 provides a list of four possible expected-correct sample subsequences R.sub.n (r.sub.n-1, r.sub.n) for each state (s.sub.n =+, s.sub.n =-) Column 704 provides state information s.sub.n associated with each of the possible expected-correct sample subsequences R.sub.n (r.sub.n-1, r.sub.n). The expected-correct sample subsequences R.sub.n (r.sub.n-1, r.sub.n) 702 and state information s.sub.n (-or+) 704 define a set of eight conditions, each condition being associated with a corresponding channel metric equation .GAMMA..sub.n 706.

Referring to FIG. 8, channel metric .GAMMA..sub.n computation system 232 computes a channel metric .GAMMA..sub.n in accordance with the set of conditions defined in table 700 of FIG. 7. Channel metric .GAMMA..sub.n computation system 232 includes a selection matrix 250, a first selector 252 for selecting a constant C having a value equal to +2,0,or 2, a second selector 254 for selecting a y.sub.n-1 coefficient having a value equal to +2 or -2, a third selector 256 for selecting a y.sub.n coefficient having a value equal to +2 or -2, a first multiplier 258, a second multiplier 260, and a summer 262.

Equation selection matrix 250 receives an expected correct-sample subsequence R.sub.n (r.sub.n-1,r.sub.n) and state information s.sub.n. Equation selection matrix 250 generates a first signal 264 representing the constant C, a second signal 266 representing the y.sub.n-1 coefficient, and a third signal 268 representing the y.sub.n coefficient.

First selector 252 receives first signal 264 from equation selection matrix 250 and produces a signal 270 representing the selected constant C (+2,0,or -2). Second selector 254 receives second signal 266 from equation selection matrix 250 and produces a signal 272 representing the y.sub.n-1 coefficient (+2 or -2). Third selector 256 receives third signal 268 from equation selection matrix 252 and produces a signal 274 representing the y.sub.n coefficient (+2 or -2).

First multiplier 258 receives an observed sample Y.sub.n-1 and signal 272 representing the y.sub.n-1 coefficient (+2 or -2) to produce a signal 276 representing a product of the observed sample y.sub.n-1 and the y.sub.n-1 coefficient (+2 or -2). Second multiplier 260 receives an observed sample y.sub.n and signal 274 representing the y.sub.n coefficient (+2 or -2) to produce a signal 278 representing a product of the observed sample y.sub.n and the y.sub.n coefficient (+2 or -2).

Summer 262 receives signal 270 representing the selected constant C (+2,0,or -2), signal 276 representing the product of the observed sample y.sub.n-1 and the Y.sub.n-1 coefficient (+2 or -2), and signal 278 representing the product of the observed sample y.sub.n and the y.sub.n coefficient (+2 or -2) to produce a signal 280 representing the channel metric .GAMMA..sub.n.

Continuing the above example, channel metric .GAMMA..sub.n computation system 232 receives the observed-sample subsequence Y.sub.1 (y.sub.0 =+0.8, y.sub.1 =-0.1), the expected correct-sample subsequence R.sub.1 (r.sub.0 =+1,r.sub.1 =0), and state information s.sub.1 =+ associated with the expected-correct sample r.sub.1 =0. The R.sub.n and s.sub.n conditions corresponds to the channel metric .GAMMA..sub.n equation 2(y.sub.n-1 -y.sub.n) in row 6 of table 700.

Equation selection matrix 250 receives the expected correct-sample subsequence R.sub.1 (r.sub.0 =+1,r.sub.1 =0) and state information s.sub.1 =+. Equation selection matrix 250 generates first signal 264 representing the constant C having a value equal to 0, a second signal 266 representing the Y.sub.n-1 coefficient having a value equal to +2, and a third signal 266 representing the y.sub.n coefficient having a value equal to -2.

First selector 252 receives first signal 264 from equation selection matrix 250 and produces a signal 270 representing the selected constant C (0). Second selector 254 receives second signal 266 from equation selection matrix 250 and produces a signal 272 representing the y.sub.n-1 coefficient (+2). Third selector 256 receives third signal 268 from equation selection matrix 250 and produces a signal 274 representing the y.sub.n coefficient (-2).

First multiplier 258 receives the observed sample y.sub.0 =+0.8 and signal 272 representing the y.sub.n-1 coefficient (+2) to produce a signal 276 representing a value equal to +1.6. Second multiplier 260 receives the observed sample -0.1 and signal 274 representing the y.sub.n coefficient (-2) to produce a signal 278 representing a value equal to +0.2.

Summer 262 receives signal 270 representing the selected constant having a value equal to 0, signal 276 representing the value equal to +1.6, and signal 278 representing the value equal to +0.2 to produce a signal 280 representing the channel metric .GAMMA..sub.1 having a value equal to 1.8.

According to another embodiment, computation circuitry in Viterbi detector 226 can be used for computing each channel metric .GAMMA..sub.n. Viterbi detector 226 receives the sequence of observed samples {y.sub.n } and state information {s.sub.n } associated with the sequence of expected samples {w.sub.n } to produce the sequence of channel metrics {.GAMMA..sub.n }. In this embodiment, BIST mode test system 208 includes the channel metric .GAMMA..sub.n accumulation system 234 only. Channel metric .GAMMA..sub.n accumulation system 234 receives the sequence of channel metrics {.GAMMA..sub.n } from Viterbi detector 226 and accumulates a sum of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n) and a sum of the squares of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n.sup.2).

Referring to FIG. 9, flow chart 900 describes a method for computing a sequence of channel metrics {.GAMMA..sub.n } for characterizing the performance of a disk drive (such as disk drive 1 of FIG. 1). At step 902, a transducer (such as 20 of FIG. 1) reads a plurality of bit cells stored on a recording surface in the disk drive to produce a noise-corrupted read signal. At step 904, a sampled data equalizer (such as 218 of FIG. 2) generates a sequence of observed samples {y.sub.n } responsive to the noise-corrupted read signal. The sequence of observed samples {y.sub.n }forms a sequence of observed-sample subsequences {Y.sub.n }. Each observed-sample subsequence Y.sub.n has an earliest observed sample and a latest observed sample.

At step 906, an expected sample generator (such as 230 of FIG. 2) provides a sequence of expected samples {w.sub.n }. The sequence of expected samples forms a sequence of expected-sample subsequences {W.sub.n }. Each expected-sample subsequence W.sub.n has an earliest expected sample and a latest expected sample. At steps 908 and 910, a channel metric .GAMMA..sub.n computation system (such as 232 of FIG. 2) computes a sequence of channel metrics {.GAMMA..sub.n }, and a channel metric .GAMMA..sub.n accumulation system (such as 234 of FIG. 2) accumulates a sum of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n) and a sum of the squares of the channel metrics .GAMMA..sub.n (.SIGMA..GAMMA..sub.n). Each channel metric .GAMMA..sub.n is a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample subsequence W.sub.n. Each channel metric .GAMMA..sub.n is independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample in every prior expected-sample subsequence W.sub.n.

At step 912, a processor (such as 34 of FIG. 1) computes a mean .mu..sub..GAMMA. of the accumulated channel metrics {.GAMMA..sub.n }. At step 914, the processor computes a standard deviation .sigma..sub..GAMMA. of the accumulated channel metrics {.GAMMA..sub.n }. At step 916, the processor computes a ratio of the mean .mu..sub..GAMMA. to the standard deviation .sigma..sub..GAMMA.. The ratio corresponds to a signal to noise ratio. Alternatively, at step 918, the processor estimates the BER from the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) For example, the BER can be estimated from Q (.mu..sub..GAMMA. /.sigma..sub..GAMMA.), where Q is the Gaussian Q function.

The ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) constitutes a very precise basis for characterizing the performance of disk drive 1 because the ratio is based on computing multiple channel metrics .GAMMA..sub.n for a sequence of observed sample {y.sub.n }. The ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) provides for rapidly characterizing the performance of disk drive 1. The ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) can be used for rapidly and precisely estimating the BER for disk drive 1. For example, about 10.sup.3 observed samples can produce a precise estimate of BER when the BER is in the neighborhood of 10.sup.-6 BER. The sequence of channel metrics {.GAMMA..sub.n } can be used for discovering defective sites on recording surface 14a of disk drive 1.

## Claims

1. A disk drive having a normal mode of operation and a built-in self-test mode of operation for producing a sequence of channel metrics {.GAMMA..sub.n }, the disk drive comprising: noise-corrupted read signal; sequence of observed samples {y.sub.n }, the sequence of observed-samples {y.sub.n } forming a sequence of observed-sample sequences {Y.sub.n }, each observed sample sequence Y.sub.n having an earliest observed sample and a latest observed sample; providing a sequence of expected samples {w.sub.n }, the sequence of expected samples forming a sequence of expected-sample subsequences {W.sub.n }, each expected-sample subsequence W.sub.n having an earliest expected sample and a latest expected sample; {.GAMMA..sub.n }, each channel metric .GAMMA..sub.n being a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample sequence W.sub.n, each channel metric .GAMMA..sub.n being independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample in every prior expected-sample subsequence W.sub.n ; .GAMMA..sub.n ; metrics .GAMMA..sub.n ; and deviation .sigma..sub..GAMMA., the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) corresponding to a signal to noise ratio.

2. The disk drive of claim 1 further comprising means for estimating a bit error rate of the disk drive from the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.).

3. The disk drive of claim 2, wherein the means for estimating the bit error rate comprises a means for computing Q(.mu..sub..GAMMA. /.sigma..sub..GAMMA.) where Q is a Gaussian Q function.

4. A method for computing a sequence of channel metrics {.GAMMA..sub.n } for characterizing the performance of a disk drive, the method comprising the steps of: drive to produce a noise-corrupted read signal; observed-samples {y.sub.n } forming a sequence of observed-sample sequences {Y.sub.n }, each observed sample sequence Y.sub.n having an earliest observed sample and a latest observed sample; expected samples forming a sequence of expected-sample subsequences {W.sub.n }, each expected-sample subsequence W.sub.n having an earliest expected sample and a latest expected sample; metric .GAMMA..sub.n being a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample sequence W.sub.n, each channel metric .GAMMA..sub.n being independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample in every prior expected-sample subsequence W.sub.n ; and .GAMMA..sub.n ; .sigma..sub..GAMMA., the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) corresponding to a signal to noise ratio.

5. The method of claim 4 further comprising the step of estimating a bit error rate of the disk drive from the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.).

6. The disk drive of claim 5, wherein the step of estimating the bit error rate comprises the step of computing Q(.mu..sub..GAMMA. /.sigma..sub..GAMMA.) where Q is a Gaussian Q function.

7. A method for estimating a bit error rate for a disk drive, the method comprising the steps of: drive to produce a noise-corrupted read signal; noise-corrupted read signal, the sequence of observed samples {y.sub.n } forming a sequence of observed-sample subsequences {Y.sub.n }, each observed-sample subsequence Y.sub.n having an earliest observed sample and a latest observed sample; expected samples forming a sequence of expected-sample subsequences {W.sub.n }, each expected-sample subsequence W.sub.n having an earliest expected sample and a latest expected sample; metric .GAMMA..sub.n being a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample subsequence W.sub.n, each channel metric .GAMMA..sub.n being independent of the earliest observed sample in every prior observed-sample subsequence Y.sub.n and the earliest expected sample in every prior expected-sample subsequence W.sub.n ; {.GAMMA..sub.n }; .sigma..sub..GAMMA., the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) corresponding to a signal to noise ratio; and /.sigma..sub..GAMMA.).

8. The disk drive of claim 7, wherein the step of estimating the bit error rate comprises the step of computing Q(.mu..sub..GAMMA. /.sigma..sub..GAMMA.) where Q is a Gaussian Q function.

9. A disk drive having a normal mode of operation and a built-in self-test mode of operation for producing a sequence of channel metrics {.GAMMA..sub.n }, the disk drive comprising: noise-corrupted read signal; sequence of observed samples {y.sub.n }, the sequence of observed-samples {y.sub.n } forming a sequence of observed-sample sequences {Y.sub.n }; of operation for providing a sequence of expected samples {w.sub.n }, the sequence of expected samples forming a sequence of expected-sample subsequences {W.sub.n }; {.GAMMA..sub.n }, each channel metric .GAMMA..sub.n being a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample sequence W.sub.n ; and metrics .GAMMA..sub.n, a standard deviation .sigma..sub..GAMMA. of the channel metrics .GAMMA..sub.n, and a ratio of the mean .mu..sub..GAMMA. to the standard deviation .sigma..sub..GAMMA., the ratio (.mu..sub..GAMMA. /.sigma..sub..GAMMA.) corresponding to a signal to noise ratio.

10. The disk drive of claim 9, furthers comprising a bit error rate estimator for estimating a bit error rate of the disk drive by computing Q(.mu..sub..GAMMA. /.sigma..sub..GAMMA.) where Q is a Gaussian Q function.

11. A disk drive having a normal mode of operation and a built-in self-test mode of operation for producing a sequence of channel metrics {.GAMMA..sub.n }, the disk drive comprising: noise-corrupted read signal; sequence of observed samples {y.sub.n }, the sequence of observed-samples {Y.sub.n } forming a sequence of observed-sample sequences {Y.sub.n }; of operation for providing a sequence of expected samples { w.sub.n }, the sequence of expected samples forming a sequence of expected-sample subsequences {W.sub.n }; {.GAMMA..sub.n }, each channel metric .GAMMA..sub.n being a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample sequence W.sub.n, the channel metrics computer comprising: plurality of different channel metrics .GAMMA..sub.n ; and metrics .GAMMA..sub.n computed by the equation circuitry, the selection based on a selected number of the expected samples {w.sub.n }, the equation matrix generating a selected channel metric .GAMMA..sub.n ; and

12. A method for computing a sequence of channel metrics {.GAMMA..sub.n } for characterizing the performance of a disk drive comprising a recording surface having a plurality of bit cells and a transducer for reading the plurality of bit cells to produce a noise-corrupted read signal, the method comprising the steps of: samples {y.sub.n }, the sequence of observed-samples {y.sub.n } forming a sequence of observed-sample sequences {Y.sub.n }; expected samples {w.sub.n }, the sequence of expected samples forming a sequence of expected-sample subsequences {W.sub.n }; metric .GAMMA..sub.n being a function of a distance determined from one of the observed-sample subsequences Y.sub.n to the corresponding expected-sample sequence W.sub.n, the step of computing the channel metrics comprising the steps of: selected number of the expected samples {w.sub.n } to generate a selected channel metric .GAMMA..sub.n ; and