Disk drive with fast error correction validation
AssigneeWestern Digital Corporation
InventorsMarc Acosta, Carl Bonke, Trinh Bui, Stanley Chang, Patrick Lee, Phong Tran, Joanne Wu
Life of this patent
Estimating the term…
Abstract
An intelligent disk drive employing a controller which performs high speed error correction and miscorrection detection using a finite field processor. The error correction code is defined over a finite field and the error detection code is defined over an extension field of the finite field. The finite field processor performs calculation over both the finite field and extension field to provide high speed error correction and correction validation.
Claims21
A disk drive, adapted for storing a block of user data provided from a host, comprising:
- a data storage disk having a disk surface with a plurality of data tracks on the disk;
- means for reading and writing data to and from the data tracks;
- and
- a host interface and disk controller coupled to the host to receive commands, and to receive the block of user data from the host to carry out a command entailing writing, and to provide the block of user data to carry out a command entailing reading, the controller comprising:
- circuit means responsive to the block of user data received from the host for generating error detection code check symbols;
- means for appending the error detection code check symbols to the block of user data received from the host to form an error detection code codeword in a first Reed-Solomon code;
- circuit means responsive to the block of user data received from the host and to the error detection code check symbols for generating error correction code check symbols;
- means for appending the error correction code check symbols to the error detection code codeword to form an error correction code codeword in a second Reed-Solomon code;
- each error correction code check symbol being defined over a finite field having a first set of symbols, each of the symbols in the first set having a first number of bits;
- and
- each error detection code check symbol being defined over an extension field of the finite field, the extension field having a second set of symbols, each of the symbols in the second set having a second number of bits, the second number being larger than and an integer multiple of the first number.
An integrated circuit disk drive controller for incorporation into a disk drive, the integrated circuit disk drive controller comprising:
- host interface means for receiving a block of user data;
- circuit means responsive to the received block of data for generating error detection code check symbols;
- means for appending the error detection code check symbols to the received block of user data to form an error detection code codeword in a first Reed-Solomon code;
- circuit means responsive to the received block of user data and to the error detection code check symbols for generating error correction code check symbols;
- means for appending the error correction code check symbols to the error detection code codeword to form an error correction code codeword in a second Reed-Solomon code;
- each error correction code check symbol being defined over a finite field having a first set of symbols, each of the symbols in the first set having a first number of bits;
- each error detection code check symbol being defined over an extension field of the finite field, the extension field having a second set of symbols, each of the symbols in the second set having a second number of bits, the second number being larger than and an integer multiple of the first number.
A method for operating a disk drive to store and retrieve user data to and from a data storage disk, comprising the steps of:
- receiving a block of user data;
- forming an error detection code codeword in a first Reed-Solomon code by generating error detection code check symbols based upon the block of user data and appending the generated error detection code check symbols to the block of user data;
- forming an error correction codeword in a second Reed-Solomon code by generating error correction code check symbols based upon the block of user data and the generated error detection code check symbols and appending the generated error correction code check symbols to the error detection code codeword;
- each error correction code check symbol being defined over a finite field having a first set of symbols, each of the symbols in the first set having a first number of bits;
- each error detection code check symbol being defined over an extension field of the finite field, the extension field having a second set of symbols, each of the symbols in the second set having a second number of bits, the second number being larger than and an integer multiple of the first number;
- writing the error correction codeword to the data storage disk;
- reading data from the disk;
- generating error correction code syndromes based on the data read from the disk;
- determining whether the generated error correction syndromes indicate that a error exists in the data read from the disk, and, if such error exists, processing the generated error correction syndromes to determine an error location and error magnitude, and processing the data read from the disk based on the error location and error magnitude to produce a corrected block of data;
- and
- determining whether the corrected block of data constitutes an error detection code codeword.
Dependencies are inferred from the claim text.