# US 2014/0157077 A1 · Decoder based data recovery

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

- Number: US 2014/0157077 A1
- Document ID: US20140157077A1
- Status: Published application
- Kind: A1
- Application number: 14/176,624
- Filed: 2014-02-10
- Published: 2014-06-05
- Earliest claimed: 2010-09-08
- Assignees: Marvell World Trade Ltd.
- Applicants: Marvell World Trade Ltd.
- Inventors: Engling YEO
- Web page: https://patentgrep.com/patent/US20140157077A1

## CPC

- G06F 11/10: Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- H03M 13/1102: {Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes}
- H03M 13/1108: {Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping}
- H03M 13/1111: {Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms}
- H03M 13/2957: {Turbo codes and decoding}
- H03M 13/6331: {Error control coding in combination with equalisation}
- H03M 13/6343: {Error control coding in combination with techniques for partial response channels, e.g. recording}
- H03M 13/4138: {soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

Systems, methods, and other embodiments associated with decoder based data recovery are described. According to one embodiment, an apparatus includes a decoder configured to decode codewords and decoder firmware configured to control one or more decoding parameters of the decoder. The decoder includes a recovery unit configured to store recovery instructions. The decoder is further configured to execute the stored recovery instructions without interaction with the decoder firmware when the decoding fails.

## Claims

### Claim 1

An apparatus, comprising:
a decoder configured to decode codewords;
decoder firmware configured to control one or more decoding parameters of the decoder; and
wherein the decoder comprises a recovery unit configured to store recovery instructions, wherein the decoder is further configured to execute the stored recovery instructions without interaction with the decoder firmware when the decoding fails.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the recovery instructions are stored on the decoder prior to the decoding.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the recovery unit further comprises a recovery interface configured to receive recovery instructions from the decoder firmware and to output recovery instruction results to the decoder firmware.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the decoder comprises a low-density parity-check decoder and further wherein the recovery unit is configured to store and process a recovery instruction that, when executed by the decoder, causes the decoder to perform additional codeword correction iterations.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the decoder comprises a low-density parity-check decoder and further wherein the recovery unit is configured to store and process a recovery instruction that, when executed by the decoder, causes the decoder to perform additional decoding with a different set of decoding parameters.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the decoder comprises a low-density parity-check decoder and further wherein the recovery unit is configured to store and process a recovery instruction that, when executed by the decoder, causes the decoder to adjust codeword data and decode the adjusted codeword data.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the recovery unit is configured to execute the stored recovery instructions while a memory device prepares to re-read the codeword that failed to decode from a storage medium.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the recovery unit is configured to abort an impending re-read of the codeword that failed to decode if the codeword is corrected during execution of the recovery instructions.

### Claim 9

A method, comprising, with a decoder:
decoding a codeword;
detecting a decoding failure;
executing, without interaction with computing components external to the decoder, recovery instructions stored in the decoder; and
returning results of the execution of the recovery instructions.

### Claim 10 (depends on 9)

The method of claim 9, further comprising storing the recovery instructions in decoder memory prior to detecting the decoding failure.

### Claim 11 (depends on 9)

The method of claim 9, further comprising receiving additional recovery instructions from at least one of the computing components and executing the additional received recovery instructions.

### Claim 12 (depends on 9)

The method of claim 9, wherein executing the recovery instructions comprises performing additional correction iterations on the codeword.

### Claim 13 (depends on 9)

The method of claim 9, wherein executing the recovery instructions comprises performing diagnostic procedures on the codeword.

### Claim 14 (depends on 9)

The method of claim 9, wherein executing the recovery instructions comprises adjusting the codeword and decoding the adjusted codeword.

### Claim 15 (depends on 9)

The method of claim 9, wherein executing the recovery instructions comprises adjusting decoder parameters.

### Claim 16 (depends on 9)

The method of claim 9, wherein further comprising outputting a response that communicates decoder status to at least one of the computing components.

### Claim 17

A device comprising:
a memory device configured to store data encoded as codewords;
a decoder configured to decode codewords retrieved from the memory device;
and decoder firmware configured to control one or more decoding parameters of the decoder;
wherein the decoder comprises a recovery unit configured to store recovery instructions and further wherein the decoder is configured to, when the decoder fails to decode a codeword, execute the stored recovery instructions without interaction with the decoder firmware while the memory device prepares to re-read the codeword.

### Claim 18 (depends on 17)

The device of claim 17, wherein the recovery unit further comprises a recovery interface configured to receive recovery instructions from the decoder firmware and to output recovery instruction results to the decoder firmware.

### Claim 19 (depends on 17)

The device of claim 17, wherein the decoder comprises a low-density parity-check decoder and further wherein the recovery unit is configured to store a recovery instruction that causes the decoder to perform additional codeword correction iterations.

### Claim 20 (depends on 17)

The device of claim 17, wherein the recovery unit is configured to abort an impending re-read of the codeword when the codeword is corrected during execution of the recovery instructions.
