# US 2019/0172491 A1 · Error Correction For Storage Devices

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

- Number: US 2019/0172491 A1
- Document ID: US20190172491A1
- Status: Published application
- Kind: A1
- Application number: 16/253,027
- Filed: 2019-01-21
- Published: 2019-06-06
- Earliest claimed: 2009-09-15
- Assignees: Marvell World Trade Ltd.
- Applicants: Marvell World Trade Ltd.
- Inventors: Gregory BURD; Nedeljko VARNICA; Heng TANG
- Web page: https://patentgrep.com/patent/US20190172491A1

## CPC

- G11B 20/1833: {by adding special lists or symbols to the coded information (G11B20/1806, G11B20/1866 take precedence)}
- G06F 11/08: Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G11B 20/1217: {on discs}
- G11B 2020/1222: {ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding}
- G11B 2020/1238: {track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located}
- 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

A method for performing error recovery for data stored on a track of a storage device, in which the method includes: receiving a request to read the data from the storage device, identifying a plurality of sectors of the track to be read in response to the request, reading the data from the plurality of sectors of the track and parity data, based on the data read from the plurality of sectors, determining whether any of the plurality of sectors corresponds to a failed sector, and recovering a portion of the data from the failed sector using the parity data and portions of the data stored in remaining ones of the plurality of sectors.

## Claims

### Claim 1

(canceled)

### Claim 2

A method for performing error recovery for data stored on a track of a storage device, the method comprising:
receiving a request to read the data from the storage device;
identifying a plurality of sectors of the track to be read in response to the request;
reading (i) the data from the plurality of sectors of the track, and (ii) parity data;
based on the data read from the plurality of sectors, determining whether any of the plurality of sectors corresponds to a failed sector; and
recovering a portion of the data from the failed sector using (i) the parity data and (ii) portions of the data stored in remaining ones of the plurality of sectors.

### Claim 3 (depends on 2)

The method of claim 2, wherein identifying the plurality of sectors of the track includes identifying the plurality of sectors based on the request.

### Claim 4 (depends on 2)

The method of claim 2, wherein the request indicates the plurality of sectors.

### Claim 5 (depends on 2)

The method of claim 2, wherein the track is a shingled magnetic recording (SMR) track.

### Claim 6 (depends on 2)

The method of claim 2, wherein reading the data from the plurality of sectors of the track includes reading the data using at least one of an error detection code and a correction code.

### Claim 7 (depends on 2)

The method of claim 2, wherein recovering the portion of the data from the failed sector includes recovering the portion of the data in response to a determination that only one of the plurality of sectors corresponds to a failed sector.

### Claim 8 (depends on 7)

The method of claim 7, further comprising, in response to the determination that only one of the plurality of sectors corresponds to a failed sector, initiating processing of a command subsequent to the request to read the data.

### Claim 9 (depends on 8)

The method of claim 8, wherein the command subsequent to the request to read the data is a second request to read different data from the storage device while recovering the portion of the data from the failed sector.

### Claim 10

A system for performing error recovery for data stored on a track of a storage device, the system comprising:
decoder circuitry configured to, in response to a request to read the data from the storage device,
identify a plurality of sectors of the track to be read in response to the request,
read the data from the plurality of sectors of the track, and
based on the data read from the plurality of sectors, determine whether any of the plurality of sectors corresponds to a failed sector; and
recovery circuitry configured to recover a portion of the data from the failed sector using (i) parity data and (ii) portions of the data stored in remaining ones of the plurality of sectors.

### Claim 11 (depends on 10)

The system of claim 10, wherein the request indicates the plurality of sectors.

### Claim 12 (depends on 10)

The system of claim 10, wherein the track is a shingled magnetic recording (SMR) track.

### Claim 13 (depends on 10)

The system of claim 10, wherein, to read the data from the plurality of sectors of the track, the decoder circuity is further configured to read the data using at least one of an error detection code and a correction code.

### Claim 14 (depends on 10)

The system of claim 10, wherein, to recover the portion of the data from the failed sector, the recovery circuitry is further configured to recover the portion of the data in response to a determination that only one of the plurality of sectors corresponds to a failed sector.

### Claim 15 (depends on 14)

The system of claim 14, wherein the decoder circuitry is further configured to, in response to the determination that only one of the plurality of sectors corresponds to a failed sector, initiate processing of a command subsequent to the request to read the data.

### Claim 16 (depends on 15)

The system of claim 15, wherein the command subsequent to the request to read the data is a second request to read different data from the storage device while recovering the portion of the data from the failed sector.
