IP Library Granted Patent US 8,375,274
Granted Patent B1
US 8,375,274 · App. 12/408,989 · Granted Feb 12, 2013

Disk drive recovering multiple codewords in data sectors using progressively higher order parity codewords

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,375,274
App. No.
12/408,989
Granted
Feb 12, 2013
Kind
B1
Abstract

A disk drive is disclosed comprising a disk and a head actuated over the disk. The disk comprises a plurality of tracks, wherein each track comprises a plurality of data sectors including a parity sector, the parity sector comprising at least a P 0 parity codeword and a P 1 parity codeword. A plurality of data sectors are read from the disk (including the parity sector) to generate a plurality of data codewords CW 0 -CWn. The data sectors are decoded using an error correction code (ECC) decoder. When a single data codeword in CW 0 -CWn is unrecoverable using the ECC decoder, the single data codeword is recovered using the P 0 parity codeword. When two data codewords in CW 0 -CWn are unrecoverable using the ECC decoder, the two data codewords are recovered using the P 0 and P 1 parity codewords.

Claims (91)

1. A disk drive comprising:

a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors including a parity sector, the parity sector comprising at least a P 0 parity codeword and a P 1 parity codeword;

a head actuated over the disk; and

control circuitry operable to:

read a plurality of the data sectors to generate a plurality of data codewords CW 0 -CWn;

read the parity sector;

decode the data sectors using an error correction code (ECC) decoder;

when a single data codeword in the CW 0 -CWn is unrecoverable using the ECC decoder, recover the single data codeword using the P 0 parity codeword; and

when two data codewords in the CW 0 -CWn are unrecoverable using the ECC decoder, recover the two data codewords using the P 0 and P 1 parity codewords;

wherein:

the P 0 parity codeword is generated according to:

P0=CW0⊕CW1⊕ . . . CWn; and

the P 1 parity codeword is generated according to:

P1=α 0 {circle around (x)}CW0⊕α 1 {circle around (x)}CW1⊕ . . . α n {circle around (x)}CWn.

2. The disk drive as recited in claim 1 , wherein each data sector comprises a plurality of interleaved ECC codewords, and the control circuitry is further operable to:

de-interleave the interleaved ECC codewords in each data sector; and

de-interleave the parity sector into the P 0 and P 1 parity codewords.

3. The disk drive as recited in claim 2 , wherein each data sector comprises two interleaved ECC codewords.

4. The disk drive as recited in claim 2 , wherein each data sector comprises more than two interleaved ECC codewords.

5. The disk drive as recited in claim 2 , wherein the two data codewords are in the same interleave.

6. The disk drive as recited in claim 1 , wherein the parity sector further comprises a P 2 parity codeword generated according to:

P2=α 2·0 {circle around (x)}CW⊕α 2·1 {circle around (x)}CW1⊕ . . . α 2·n {circle around (x)}CWn.

7. The disk drive as recited in claim 6 , wherein when three data codewords in the CW 0 -CWN are unrecoverable using the ECC decoder, the control circuitry is further operable to recover the three data codewords using the P 0 , P 1 , and P 2 parity codewords.

8. The disk drive as recited in claim 1 , wherein the control circuitry is further operable to:

use the ECC decoder to identify a number of error locations in a first data sector; and

when the first data sector is unrecoverable using the ECC decoder, modify the ECC decoder to increase the number of error locations identified in the first data sector.

9. A disk drive comprising:

a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors including a parity sector, the parity sector comprising at least a P 0 parity codeword, a P 1 parity codeword, and a P 2 parity codeword;

a head actuated over the disk; and

control circuitry operable to:

read a plurality of the data sectors to generate a plurality of data codewords CW 0 -CWn;

read the parity sector;

decode the data sectors using an error correction code (ECC) decoder;

when a single data codeword in the CW 0 -CWn is unrecoverable using the ECC decoder, recover the single data codeword using the P 0 parity codeword;

when two data codewords in the CW 0 -CWn are unrecoverable using the ECC decoder, recover the two data codewords using the P 0 and P 1 parity codewords; and

when three data codewords in the CW 0 -CWn are unrecoverable using the ECC decoder, recover the three data codewords using the P 0 , P 1 and P 2 parity codewords;

wherein:

the P 0 parity codeword is generated according to:

P0=CW0⊕CW1⊕ . . . CWn;

the P 1 parity codeword is generated according to:

P1=α 0 {circle around (x)}CW0⊕α 1 {circle around (x)}CW1⊕ . . . α n {circle around (x)}CWn; and

the P 2 parity codeword is generated according to:

P2=α 2·0 {circle around (x)}CW0⊕α 2·1 {circle around (x)}CW1⊕ . . . α 2·n {circle around (x)}CWn.

10. A method of operating a disk drive, the disk drive comprising

a disk and a head actuated over the disk, wherein:

the disk comprises a plurality of tracks;

each track comprises a plurality of data sectors including a parity sector; and

the parity sector comprising at least a P 0 parity codeword and a P 1 parity codeword;

the method comprising:

reading a plurality of the data sectors to generate a plurality of data codewords CW 0 -CWn;

reading the parity sector;

decoding the data sectors using an error correction code (ECC) decoder;

when a single data codeword in the CW 0 -CWn is unrecoverable using the ECC decoder, recovering the single data codeword using the P 0 parity codeword; and

when two data codewords in the CW 0 -CWn are unrecoverable using the ECC decoder, recovering the two data codewords using the P 0 and P 1 parity codewords;

wherein:

the P 0 parity codeword is generated according to:

P0=CW0⊕CW1⊕ . . . CWn; and

the P 1 parity codeword is generated according to:

P1=α 0 {circle around (x)}CW0⊕α 1 {circle around (x)}CW10 . . . α n {circle around (x)}CWn.

11. The method as recited in claim 10 , wherein each data sector comprises a plurality of interleaved ECC codewords, further comprising:

de-interleaving the interleaved ECC codewords in each data sector; and

de-interleaving the parity sector into the P 0 and P 1 parity codewords.

12. The method as recited in claim 11 , wherein each data sector comprises two interleaved ECC codewords.

13. The method as recited in claim 11 , wherein each data sector comprises more than two interleaved ECC codewords.

14. The method as recited in claim 11 , wherein the two data codewords are in the same interleave.

15. The method as recited in claim 10 , wherein the parity sector further comprises a P 2 parity codeword generated according to:

P2=α 2·0 {circle around (x)}CW0⊕α 2·1 {circle around (x)}CW1⊕ . . . α 2·n {circle around (x)}CWn.

16. The method as recited in claim 15 , wherein when three data codewords in the CW 0 -CWN are unrecoverable using the ECC decoder, further comprising recovering the three data codewords using the P 0 , P 1 , and P 2 parity codewords.

17. The method as recited in claim 10 , further comprising:

using the ECC decoder to identify a number of error locations in a first data sector; and

when the first data sector is unrecoverable using the ECC decoder, modifying the ECC decoder to increase the number of error locations identified in the first data sector.

18. A method of operating a disk drive, the disk drive comprising

a disk and a head actuated over the disk, wherein:

the disk comprises a plurality of tracks;

each track comprises a plurality of data sectors including a parity sector; and

the parity sector comprising at least a P 0 parity codeword, a P 1 parity codeword, and a P 2 parity codeword;

the method comprising:

reading a plurality of the data sectors to generate a plurality of data codewords CW 0 -CWn;

reading the parity sector;

decoding the data sectors using an error correction code (ECC) decoder; and

decoder, recovering the unrecoverable data codewords using the parity

when a single data codeword in the CW 0 -CWn is unrecoverable using the ECC decoder, recovering the single data codeword using the P 0 parity codeword;

when two data codewords in the CW 0 -CWn are unrecoverable using the ECC decoder, recovering the two data codewords using the P 0 and P 1 parity codewords; and

when three data codewords in the CW 0 -CWn are unrecoverable using the ECC decoder, recovering the three data codewords using the P 0 , P 1 and P 2 parity codewords;

wherein:

the P 0 parity codeword is generated according to:

P0=CW0⊕CW1⊕ . . . CWn;

the P 1 parity codeword is generated according to:

P1=α 0 {circle around (x)}CW0⊕α 1 ⊕CW1⊕ . . . α n {circle around (x)}CWn; and

the P 2 parity codeword is generated according to:

P2=α 0 {circle around (x)}CW0⊕α 2·1 {circle around (x)}CW1⊕ . . . α 2·n {circle around (x)}CWn.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →