# US 5,689,727 A · Disk drive with pipelined embedded ECC/EDC controller which provides parallel operand fetching and instruction execution

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,689,727 A
- Document ID: US5689727A
- Status: Granted
- Kind: A
- Application number: 08/436,520
- Filed: 1995-05-08
- Granted: 1997-11-18
- Earliest claimed: 1994-09-08
- Assignees: Western Digital Corporation
- Inventors: Carl Bonke; Trinh Bui; Stanley Chang; Joanne Wu; Phong Tran
- Web page: https://patentgrep.com/patent/US5689727A

## CPC

- G11B 20/1833: {by adding special lists or symbols to the coded information (G11B20/1806, G11B20/1866 take precedence)}
- G06F 3/0601: {Interfaces specially adapted for storage systems}
- G11B 27/034: on discs (G11B27/036, G11B27/038 take precedence)
- G11B 27/3027: {used signal is digitally coded}
- G11B 27/329: {on a disc [VTOC]}
- G11B 27/36: Monitoring, i.e. supervising the progress of recording or reproducing {(for digital recording G11B20/00 and s.gr.; for monitoring, testing or measuring of TV recorders of the type covered by H04N5/76 and subgroups, see H04N17/06)}
- G06F 3/0673: {Single storage device}
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An intelligent disk drive having error detection and correction capability employs an embedded error correction controller with a pipelined architecture for performing error correction under program control. The pipelined architecture provides parallel operand fetching and instruction execution for high speed operations during error correction.

## Claims

### Claim 1

A disk drive, adapted for storing user data provided from a host, comprising:
a storage disk having a plurality of data tracks on a disk surface;
means for reading and writing data to and from the data tracks on the data storage disk;
a microprocessor for controlling disk drive operations under program control; and
a host interface and disk controller, coupled to receive host commands and user data from, and provide retrieved and corrected user data to, the host, the host interface and disk controller comprising:
check symbol/syndrome generator means for generating error correction code syndromes during read operations and for providing error correction code syndromes corresponding to detected errors; and
an error corrector for correcting errors in said user data read from the data storage disks, said error corrector employing the error correction code syndromes, said error corrector including:
finite field processor means for calculating over a finite field;
means for storing an error correction control program including selected instructions executable by said finite field processor means;
first decoding means for receiving error correction control program instructions from said means for storing and decoding said instructions; and
second decoding means for receiving error correction control program instructions from said first decoding means and further decoding said instructions,
wherein said first decoding means receives and decodes a second instruction in parallel with said second decoding means further decoding a first instruction.

### Claim 2 (depends on 1)

A disk drive as set out in claim 1, wherein said error corrector further comprises a register file, wherein said register file has a first port and a second port.

### Claim 3 (depends on 2)

A disk drive as set out in claim 2, wherein said first means for decoding includes means for fetching a first operand from the first port of said register file.

### Claim 4 (depends on 3)

A disk drive as set out in claim 3, wherein said first means for decoding further includes means for fetching a second operand from the second port of said register file in parallel with said fetching of a first operand.

### Claim 5 (depends on 4)

A disk drive as set out in claim 4, wherein said error corrector further comprises first and second holding means, coupled to said first and second ports, respectively, for temporarily holding said operands.

### Claim 6

A disk drive, adapted for storing user data provided from a host, comprising:
a storage disk having a plurality of data tracks on a disk surface;
means for reading and writing data to and from the data tracks on the data storage disk;
a microprocessor for controlling disk drive operations under program control; and
a host interface and disk controller, coupled to receive host commands and user data from, and provide retrieved and corrected user data to, the host, the host interface and disk controller comprising:
check symbol/syndrome generator means for generating error correction code syndromes during read operations and providing error correction code syndromes corresponding to detected errors;
an error corrector for correcting errors in said user data read from the data storage disks by employing the error correction code syndromes, said error corrector including:
finite field processor means for calculating over a finite field;
means for storing error correction control program instructions including selected instructions executable by said finite field processor means, said selected instructions including first, second and third instructions;
first decoding means for receiving error correction control program instructions from said means for storing, and for decoding said instructions; and
second decoding means for receiving error correction control program instructions from said first decoding means and further decoding said instructions,
wherein in a single execution cycle said finite field processor means performs a finite field calculation corresponding to said first instruction, said second decoding means decodes said second instruction and said first decoding means partially decodes said third instruction.

### Claim 7 (depends on 6)

A disk drive as set out in claim 6, further comprising means for reading said first, second and third instructions from said means for storing instructions during respective first, second and third execution cycles.

### Claim 8 (depends on 6)

A disk drive as set out in claim 6, wherein said first, second and third instructions correspond to respective first, second and third finite field operations on first, second and third operand sets.

### Claim 9 (depends on 6)

A disk drive as set out in claim 6, further comprising a program address counter for reading said first, second and third instructions sequentially from said means for storing instructions as said counter consecutively advances.

### Claim 10 (depends on 7)

A disk drive as set out in claim 7, wherein said means for reading includes a program address counter.

### Claim 11 (depends on 8)

A disk drive as set out in claim 8, wherein said finite field processor means performs said first, second and third finite field operations in consecutive execution cycles.

### Claim 12 (depends on 8)

A disk drive as set out in claim 8, wherein said third operand set is fetched during said single execution cycle.

### Claim 13 (depends on 11)

A disk drive as set out in claim 11, wherein one or more of said first, second and third finite field operations includes a finite field multiplication operation and a finite field addition operation.

### Claim 14

A disk drive, adapted for storing user data provided from a host, comprising:
a storage disk having a plurality of data tracks on a disk surface;
means for reading and writing data to and from the data tracks on the data storage disk;
a microprocessor for controlling disk drive operations under program control; and
a host interface and disk controller, coupled to receive host commands and user data from, and provide retrieved and corrected user data to, the host, the host interface and disk controller comprising:
check symbol/syndrome generator means for generating error correction code syndromes during read operations and providing error correction code syndromes corresponding to detected errors;
an error corrector for correcting errors in said user data read from the data storage disks by employing the error correction code syndromes, said error corrector including:
finite field processor means for calculating over a finite field;
means for storing error correction control program instructions including selected instructions executable by said finite field processor means, said selected instructions including first, second and third instructions, wherein said first instruction is a multiply and accumulate instruction;
first decoding means for receiving error correction control program instructions from said means for storing, and for decoding said instructions; and
second decoding means for receiving error correction control program instructions from said first decoding means and further decoding said instructions;
wherein said finite field processor means performs a finite field addition operation and a finite field multiplication operation corresponding to said decoded first instruction in a time sequential manner and wherein said second decoding means decodes said second instruction and said first decoding means partially decodes said third instruction in an overlapped manner with at least one of said time sequential multiplication and addition operations.

### Claim 15

A disk drive, adapted for storing user data provided from a host, comprising:
a storage disk having a plurality of data tracks;
means for reading and writing data to and from the data tracks;
a microprocessor for controlling disk drive operations under program control; and
a host interface and disk controller, coupled to receive host commands and user data from, and provide retrieved and corrected user data to, the host, the host interface and disk controller comprising:
check symbol/syndrome generator means for generating error correction code syndromes during read operations and providing error correction code syndromes corresponding to detected errors; and
an error corrector responsive to the error correction code syndromes for correcting errors in the user data read from the data tracks, the error corrector including:
means for defining a sequence of execution cycles;
first circuit means defining a finite field processor;
second circuit means defining an arithmetic logic unit;
means for storing instructions defining an error correction control program, each of some of the instructions being within a first group of instructions for execution by the finite field processor and each of other instructions being within a second group of instructions for execution independently by the arithmetic logic unit;
means for decoding each instruction;
the finite field processor including means for responding to any of the first group of decoded instruction to perform a finite field calculation during a single one of the execution cycles; and
the arithmetic logic unit including means for responding to any of the second group of decoded instructions to perform a binary arithmetic and logic operation during a single one of the execution cycles.
