Disk drive employing data averaging techniques during retry operations to facilitate data recovery
AssigneeWestern Digital Technologies, Inc.
InventorMichael S. Rothberg
Life of this patent
Estimating the term…
Abstract
The present invention may be regarded as a disk drive comprising a disk having a plurality tracks, each track comprising a plurality of data sectors. If an error occurs while attempting to read one of the data sectors, a retry operation is executed in an attempt to recover the errant data sector. Averaged read data is generated over multiple retry operations, and the averaged read data processed to recover the errant data sector. In one embodiment, the averaged read data comprises an averaged binary sequence detected over multiple retry operations. In another embodiment, the averaged read data comprises averaged read signal sample values generated over multiple retry operations.
Claims20
A disk drive comprising:
- (a) a disk comprising a plurality of tracks, each track comprising a plurality of data sectors;
- (b) a head actuated radially over the disk, the head for generating a read signal while reading data from at least one of the data sectors;
- (c) a sampling device for sampling the read signal to generate read signal sample values;
- (d) a sequence detector for detecting an estimated data sequence from the read signal sample values;
- (e) a buffer;
- (f) a disk controller for processing a read command received from a host computer by:
- positioning the head over a selected data sector to generate a first read signal;
- sampling the first read signal to generate a first sequence of read signal sample values;
- detecting a first estimated data sequence using the sequence detector from the first sequence of read signal sample values;
- storing in the buffer the first estimated data sequence;
- if a read error occurs:
- repositioning the head over the selected data sector to generate a second read signal;
- sampling the second read signal to generate a second sequence of read signal sample values;
- detecting a second estimated data sequence using the sequence detector from the second sequence of read signal sample values;
- averaging the second estimated data sequence with the first estimated data sequence stored in the buffer to generate an averaged estimated data sequence;
- storing the averaged estimated data sequence in the buffer;
- and
- processing the averaged estimated data sequence stored in the buffer to recover the selected data sector.
A method of recovering an errant data sector in a disk drive, the disk drive comprising a disk having a plurality of tracks, each track comprising a plurality of data sectors, a head actuated radially over the disk, the head for generating a read signal while reading data from at least one of the data sectors, a sampling device for sampling the read signal to generate read signal sample values, a sequence detector for detecting an estimated data sequence from the read signal sample values, and a buffer, the method comprising the steps of:
- (a) receiving a read command from a host computer;
- (b) positioning the head over a selected data sector to generate a first read signal;
- (c) sampling the first read signal to generate a first sequence of read signal sample values;
- (d) detecting a first estimated data sequence using the sequence detector from the first sequence of read signal sample values;
- (e) storing in the buffer the first estimated data sequence;
- if a read error occurs:
- (f) repositioning the head over the selected data sector to generate a second read signal;
- (g) sampling the second read signal to generate a second sequence of read signal sample values;
- (h) detecting a second estimated data sequence using the sequence detector from the second sequence of read signal sample values;
- (i) averaging the second estimated data sequence with the first estimated data sequence stored in the buffer to generate an averaged estimated data sequence;
- (j) storing the averaged estimated data sequence in the buffer;
- and
- (k) processing the averaged estimated data sequence stored in the buffer to recover the selected data sector.
Dependencies are inferred from the claim text.