# US 8,572,457 B2 · Outer code protection for solid state memory devices

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

- Number: US 8,572,457 B2
- Document ID: US8572457B2
- Status: Granted
- Kind: B2
- Application number: 12/790,120
- Filed: 2010-05-28
- Published: 2011-12-01
- Granted: 2013-10-29
- Earliest claimed: 2010-05-28
- Assignees: Seagate Technology LLC
- Applicants: Bernardo Rub; Ara Patapoutian; Arvind Sridharan; Bruce D. Buch
- Inventors: Bernardo Rub; Ara Patapoutian; Arvind Sridharan; Bruce D. Buch
- Web page: https://patentgrep.com/patent/US8572457B2

## CPC

- G06F 11/1012: {using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Outer code words can span multiple data blocks, multiple die, or multiple chips of a memory device to protect against errors in the data stored in the blocks, die and/or chips. A solid state memory device is arranged in multiple data blocks, each block including an array of memory cells arranged in a plurality of pages. The data is encoded into inner code words and symbol-based outer code words. The inner code words and the symbol-based outer code words are stored in the memory cells of the multiple blocks. One or more inner code words are stored in each page of each block and one or more symbols of each outer code word are stored in at least one page of each block. The inner code words and the outer code words are read from the memory device and are used to correct the errors in the data.

## Claims

### Claim 1

A solid state memory device, comprising:
multiple data blocks, each block comprising an array of memory cells arranged in a plurality of pages;
encoder circuitry configured to encode data into inner code words and symbol-based outer code words; and
modulator circuitry configured to store the inner code words and the symbol-based outer code words in the memory cells of the multiple blocks, the modulator circuitry configured to store one or more inner code words in each page of each block and to store one or more symbols of each outer code word in at least one page of each block.

### Claim 2 (depends on 1)

The device of claim 1, further comprising multiple die, each of the multiple blocks is arranged respectively on one of the multiple die.

### Claim 3 (depends on 1)

The device of claim 1, wherein the modulator circuitry is configured to store only one outer code word symbol in one page of each of the multiple blocks.

### Claim 4 (depends on 1)

The device of claim 1, wherein the modulator circuitry is configured to store a plurality of outer code word symbols in one page of each of the multiple blocks.

### Claim 5 (depends on 1)

The device of claim 1, wherein:
the pages of each block are arranged in multiple planes; and
at least one symbol of each outer codeword is stored in each page of the multiple planes.

### Claim 6 (depends on 1)

The device of claim 1, wherein:
the pages of each block are arranged in an even plane and an odd plane; and
the modulator circuitry is configured to store at least one symbol of each outer codeword in an even plane page of each block and at least one symbol of each outer codeword in an odd plane page of the block.

### Claim 7 (depends on 1)

The device of claim 1, wherein the encoder circuitry is configured to encode the data into the outer code words using a Reed-Solomon code having minimum distance, dmin, greater than or equal to 2.

### Claim 8 (depends on 1)

The device of claim 1, wherein the memory cells comprise multiple level memory cells capable of storing x bits, where x>1.

### Claim 9 (depends on 8)

The device of claim 8, wherein the pages of the memory cell array are physical pages and each of the physical pages comprises a logical page for each of the x bits.

### Claim 10 (depends on 1)

The device of claim 1, further comprising:
demodulator circuitry configured to read the memory cells of the memory device; and
decoder circuitry configured to decode the inner code words and the outer code words and to correct errors in the inner code words and the outer code words.

### Claim 11 (depends on 10)

The device of claim 10, wherein the decoder circuitry is configured to iterate between correcting the outer code words and correcting the inner code words.

### Claim 12

A method of operating a solid state memory device including multiple blocks, each block comprising an array of memory cells arranged in a plurality of pages, the method comprising:
encoding data into inner code words and outer code words, the inner code words comprising data and parity information, each page of each block storing at least one inner code word, the outer code words comprising data symbols and parity symbols, one or more pages of each block storing one or more symbols of each outer code word;
reading the inner code words and the outer code words from the memory device;
correcting errors in the data using the inner code words and the outer code words; and
providing an error corrected output from the corrected data.

### Claim 13 (depends on 12)

The method of claim 12, wherein the memory device includes multiple memory chips and each of the multiple blocks is arranged respectively on one of the multiple chips.

### Claim 14 (depends on 12)

The method of claim 12, wherein storing the inner code words and the outer code words in the memory device comprises storing a plurality of outer code word symbols in one page of each of the multiple blocks.

### Claim 15 (depends on 12)

The method of claim 12, wherein the pages of each block are arranged in multiple planes, and storing the inner code words and the outer code words in the memory device comprises storing at least one symbol of each outer codeword in each page of the multiple planes.

### Claim 16 (depends on 12)

The method of claim 12, wherein the outer code words comprise a Reed-Solomon code having minimum distance, dmin, greater than or equal to 2.

### Claim 17 (depends on 12)

The method of claim 12, storing the inner code words and the outer code words in the memory device comprises storing only one outer code word symbol in one page of each of the multiple blocks.

### Claim 18 (depends on 12)

The method of claim 12, wherein the memory cells comprise multiple level memory cells capable of storing x bits, where x>1.

### Claim 19 (depends on 12)

The method of claim 12, wherein symbols of the outer code words are interleaved in each page.

### Claim 20 (depends on 12)

The method of claim 12, wherein correcting errors in the data using the inner code words and the outer code words comprises iterating between correcting the outer code words and correcting the inner code words.
