Error detection/correction and fault detection/recovery – Pulse or data error handling – Digital data error correction
Reexamination Certificate
1998-08-27
2001-02-20
De Cady, Albert (Department: 2784)
Error detection/correction and fault detection/recovery
Pulse or data error handling
Digital data error correction
Reexamination Certificate
active
06192497
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to hard disk error correction code decoders, and more particularly to devices and methods for solving error locator polynomials.
2. Description of the Related Art
Modern computer systems generally include one or more hard disk drives to store large amount of data and programs. Hard disk drives typically store information in sequence by using magnetic technology. Like most recording technology, reading the sequential data bits from a hard disk often generates errors due to noise, manufacturing imperfections of the physical medium, dust, etc.
To detect and correct such errors, hard disk drives typically implement an error correction code (ECC) scheme in writing to and reading from hard disk drives. These hard disk drives generally include ECC circuitry that implement ECC schemes using well known codes such as Reed-Solomon codes to encode user data for reliable recovery of the original data through an ECC decoder. This helps to achieve a higher areal density.
Conventional ECC schemes compute ECC bytes for a given block of user data such as a data sector. The computed ECC bytes are appended to the block of user data sector and then recorded on a hard disk. When the entire sector is read, the ECC approach computes error locations and error patterns in the user data by decoding the ECC bytes.
Prior Art
FIG. 1
illustrates a block diagram of a conventional computer system
100
including a host computer
118
that receives data from a disk
102
in a hard disk drive. A motor
104
spins the disk
102
containing the data. A read/write head
106
attached to an actuator
108
searches for a track and sectors that contain the desired data. Upon finding the desired sectors, the read/write head
106
reads the data sequentially from the disk
102
. An amplifier
110
amplifies the data signals and transmits the amplified data signals to an analog-to-digital converter
112
.
The analog-to-digital converter
112
converts the amplified data signals into digital data bits and transmits the data bits to a deserializer
114
. The deserializer
114
receives the sequential data bits and converts the data into a series of blocks called sectors, each of which is typically 512 bytes of user data and ECC bytes appended to the user data bytes. The deserializer
114
sequentially transmits the sectors to an error detection and correction (EDAC) circuitry
116
, which detects errors in the received sector and, if correctable, corrects the detected errors using an ECC scheme. The EDAC circuitry
116
then transmits the error corrected user data to the host computer
118
.
The EDAC circuitry
116
typically employs a conventional Reed-Solomon code in its ECC scheme to encode user data for reliable recovery of the original data. Under the Reed-Solomon code ECC scheme, assuming &Lgr;(z) is an error locator polynomial that has its roots the inverses of the &ngr; error locators {&agr;
i
k
}, then the error locator polynomial &Lgr;(z) can be expressed as:
Λ
⁡
(
z
)
=
∏
l
=
1
υ
⁢
(
1
-
Z
⁢
⁢
α
i
l
)
=
Λ
υ
⁢
z
υ
+
Λ
υ
-
1
⁢
z
υ
-
1
+
…
+
Λ
1
⁢
z
+
Λ
0
(
2
)
Equation (2) can be used to evaluate the error locator polynomial &Lgr;(z) at all nonzero field elements, &agr;
0
to &agr;
2
b
−2
in a finite field, where b is the number of bits in a symbol (e.g., byte). For example, for a byte containing 8 bits, the field GF(2
8
) includes 255 field elements from &agr;
0
to &agr;
254
. The error locator polynomials and Galois fields are well known in the art and is described, for example, in Error Control Systems for Digital Communication and Storage, by Stephen B. Wicker, 1995, ISBN 0-13-200809-2, which is incorporated herein by reference.
Prior Art
FIG. 2
shows a more detailed block diagram of the EDAC circuitry
116
that utilizes the ECC scheme. The EDAC circuitry
116
receives a sector
200
of user data bytes of 512 bytes and additional ECC bytes in a sequential manner. At the front end of the EDAC circuitry
116
, a syndrome generator
202
receives the sector
200
and generates partial syndromes from the received sector data. Syndrome generators are well known in the art and are typically implemented as a linear feedback shift register circuit. The generated partial syndrome indicates whether an error is present in the received sector
200
. For example, a zero syndrome indicates that no error has been detected. On the other hand, a nonzero syndrome indicates that one or more errors has been detected in the received data.
The generated partial syndromes are then transmitted to an ECC decoder
204
, which includes error locator polynomial generator
206
, an error locator polynomial solver
208
, and an error pattern generator
210
. The error locator polynomial generator
206
receives the partial syndromes from the syndrome generator
202
and generates a set of coefficients (i.e., &Lgr;
i
s) for the received sector
200
. The generated set of coefficients defines an error locator polynomial. Using the coefficients defining the error locator polynomial, the error locator polynomial solver
208
sequentially computes the error locations (e.g., byte locations) in the received sector by determining the roots of the error locator polynomial and feeds the error locations to the error pattern generator
210
. The error pattern generator
210
computes error patterns in the received sector
200
using the error locations and partial syndromes. The EDAC circuitry
116
then uses the error locations and error patterns to correct the errors in the received sector.
The error locator polynomial solver
208
is typically implemented by means of a conventional Chien search technique to determine error locations, &agr;
i
s, from the coefficients of an error locator polynomial, &Lgr;(z). The Chien search technique is a systematic means of evaluating the error locator polynomial at all elements in a field GF(2
m
). Each coefficient &Lgr;
i
of the error locator polynomial, for i greater than 0, is repeatedly multiplied by &agr;
i
. Each set of the products is then summed and compared with 1. If the sum is equal to 1, then &agr;
i
is a root of the error locator polynomial, &Lgr;(z), and an error is indicated at the coordinate or location associated with &agr;
−i
=&agr;
n−i
, where the data bytes in a received sector are labeled (r
0
, r
1
, . . . , r
n−1
). Chien search techniques and circuits are well known in the art and are described, for example, in Error Control Systems for Digital Communication and Storage, Stephen B. Wicker, 1995, ISBN 0-13-200809-2, on pages 204-211, the disclosure of which is incorporated herein by reference.
Prior Art
FIG. 3
illustrates a conventional Chien search circuit
208
for finding a set of error locations by evaluating an error locator polynomial at all elements from &agr;
0
to &agr;
254
sequentially in a field GF(2
8
). In particular, the Chien search circuit
208
determines the roots to the error locator polynomial defined by a set of coefficients including &Lgr;
1
, &Lgr;
2
, &Lgr;
3
, &Lgr;
4
, &Lgr;
5
, and &Lgr;
6
(&Lgr;
1
to &Lgr;
6
hereinafter). The Chien search circuit
208
includes a set of storage elements
302
,
304
,
306
,
308
,
310
, and
312
(
302
to
312
hereinafter), which initially receive and store the set of coefficients, &Lgr;
1
to &Lgr;
6
, respectively.
Each of the storage elements
302
through
312
is associated with a constant GF multiplier, which is well known in the art. Specifically, the storage elements
302
to
312
are coupled to constant multipliers
318
,
320
,
322
,
324
,
326
, and
328
(
318
to
328
hereinafter), respectively, in a feedback configuration. The constant multipliers
318
to
328
, respectively, are operative to multiply constants &agr;
1
, &agr;
2
, &agr;
3
, &agr;
4
, &agr;
5
, and &agr;
6
, respectively, with the coefficients &Lgr;
1
, &Lgr;
2
, &Lgr;
3
, &Lg
Gill, III John T.
Yang Honda
Adaptec, Inc.
Cady Albert De
Chase Shelly A
Martine Penilla & Kim LLP
LandOfFree
Parallel Chien search circuit does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Parallel Chien search circuit, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Parallel Chien search circuit will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2568736