# US 8,751,906 B2 · Systems and methods for operating on a storage device using a life-cycle dependent coding scheme

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

- Number: US 8,751,906 B2
- Document ID: US8751906B2
- Status: Granted
- Kind: B2
- Application number: 13/474,095
- Filed: 2012-05-17
- Published: 2012-12-13
- Granted: 2014-06-10
- Earliest claimed: 2011-06-13
- Assignees: Marvell World Trade Ltd.
- Applicants: Engling Yeo; Zining Wu
- Inventors: Engling Yeo; Zining Wu
- Web page: https://patentgrep.com/patent/US8751906B2

## CPC

- H03M 13/35: Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G11C 16/3418: {Disturbance prevention or evaluation; Refreshing of disturbed memory data}
- G11C 16/349: {Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles}
- H03M 13/05: using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits {(H03M13/2906 takes precedence)}
- H03M 13/1154: {Low-density parity-check convolutional codes [LDPC-CC]}
- H03M 13/1162: {Array based LDPC codes, e.g. array codes}
- H03M 13/353: {Adaptation to the channel}
- H03M 13/3715: {Adaptation to the number of estimated errors or to the channel state}
- H03M 13/1102: {Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes}
- H03M 13/1515: {Reed-Solomon codes}
- H03M 13/152: {Bose-Chaudhuri-Hocquenghem [BCH] codes}
- H03M 13/23: using convolutional codes, e.g. unit memory codes
- H03M 13/2906: {using block codes (H03M13/2957 takes precedence)}
- H03M 13/2939: {using convolutional codes (H03M13/2957 takes precedence)}
- H03M 13/2966: {Turbo codes concatenated with another code, e.g. an outer block code}
- H04L 1/0009: {by adapting the channel coding (H04L1/1812 takes precedence)}
- H04L 1/0059: {Convolutional codes}
- H04L 1/0061: {Error detection codes}
- 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)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods for adaptively operating a storage device are provided. A level of integrity of storing data in the storage device is determined. A coding scheme is selected based on the determined level of integrity of the storage device. An operation is performed on the storage device using the selected coding scheme.

## Claims

### Claim 1

A method for adaptively operating a storage device, the method comprising:
determining a level of integrity of storing data in the storage device;
selecting a coding scheme based on the determined level of integrity of the storage device; and
operating on the storage device using the selected coding scheme,
wherein selecting a coding scheme comprises:
identifying a first coding scheme having a first complexity and a second coding scheme having a second complexity;
determining whether the level of integrity exceeds a threshold; in response to determining the level of integrity exceeds the threshold, selecting the first coding scheme and the second coding scheme as the selected coding scheme; and
otherwise, selecting the first coding scheme but not the second coding scheme as the selected coding scheme.

### Claim 2 (depends on 1)

The method of claim 1, wherein the level of integrity indicates a number of program-erase cycles associated with the storage device or a number of errors resulting from operating on the storage device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the level of integrity indicates a value determined based on a number of errors resulting from an initial operation on the storage device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the second complexity is greater than the first complexity.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first coding scheme is a BCH coding scheme and the second coding scheme is an Low-Density Parity-Check Code (LDPC) coding scheme.

### Claim 6 (depends on 1)

The method of claim 1, wherein operating the storage device comprises:
encoding the data using the selected coding scheme; and
writing the encoded data to the storage device.

### Claim 7 (depends on 6)

The method of claim 6 further comprising cross-referencing a storage location of the encoded data with an encoding coding scheme associated with the storage location to select the coding scheme.

### Claim 8 (depends on 1)

The method of claim 1, wherein operating the storage device comprises:
reading the data from the storage device; and
decoding the read data using the selected coding scheme.

### Claim 9 (depends on 1)

The method of claim 1, wherein operating the storage device comprises:
encoding the data using the selected coding scheme;
writing the encoded data to the storage device;
reading the data from the storage device; and
decoding the read data using the selected coding scheme,
wherein the coding scheme selected for encoding the data includes a combination of a plurality of coding schemes and the coding scheme selected for decoding the data includes a subset of the plurality of coding schemes.

### Claim 10

A system for adaptively operating a storage device, the system comprising:
a storage device; and
control circuitry configured to:
determine a level of integrity of storing data in the storage device;
select a coding scheme based on the determined level of integrity of the storage device; and
operate on the storage device using the selected coding scheme,
wherein the control circuitry is further configured to:
identify a first coding scheme having a first complexity and a second coding scheme having a second complexity;
determine whether the level of integrity exceeds a threshold;
in response to determining the level of integrity exceeds the threshold, select the first coding scheme and the second coding scheme as the selected coding scheme; and
otherwise, select the first coding scheme but not the second coding scheme as the selected coding scheme.

### Claim 11 (depends on 10)

The system of claim 10, wherein the level of integrity indicates a number of program-erase cycles associated with the storage device or a number of errors resulting from operating on the storage device.

### Claim 12 (depends on 10)

The system of claim 10, wherein the level of integrity indicates a value determined based on a number of errors resulting from an initial operation on the storage device.

### Claim 13 (depends on 10)

The system of claim 10, wherein the second complexity is greater than the first complexity.

### Claim 14 (depends on 10)

The system of claim 10, wherein the first coding scheme is a BCH coding scheme and the second coding scheme is an Low-Density Parity-Check Code (LDPC) coding scheme.

### Claim 15 (depends on 10)

The system of claim 10, wherein the control circuitry is further configured to:
encode the data using the selected coding scheme; and
write the encoded data to the storage device.

### Claim 16 (depends on 15)

The system of claim 15, wherein the control circuitry is further configured to cross-reference a storage location of the encoded data with an encoding coding scheme associated with the storage location to select the coding scheme.

### Claim 17 (depends on 10)

The system of claim 10, wherein the control circuitry is further configured to:
read the data from the storage device; and
decode the read data using the selected coding scheme.

### Claim 18 (depends on 10)

The system of claim 10, wherein the control circuitry is further configured to:
encode the data using the selected coding scheme;
write the encoded data to the storage device;
read the data from the storage device; and
decode the read data using the selected coding scheme,
wherein the coding scheme selected for encoding the data includes a combination of a plurality of coding schemes and the coding scheme selected for decoding the data includes a subset of the plurality of coding schemes.
