# US 12,007,837 B2 · Redundancy metadata schemes for rain protection of large codewords

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

- Number: US 12,007,837 B2
- Document ID: US12007837B2
- Status: Granted
- Kind: B2
- Application number: 18/230,360
- Filed: 2023-08-04
- Published: 2024-02-08
- Granted: 2024-06-11
- Earliest claimed: 2021-09-17
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Zhengang Chen; Sivagnanam Parthasarathy
- Web page: https://patentgrep.com/patent/US12007837B2

## CPC

- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0673: {Single storage device}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 2212/1024: Latency reduction
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/7208: Multiple device management, e.g. distributing data over multiple flash devices
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method may comprise detecting an error associated with accessing a set of data items. The set of data items are programmed to a respective memory page associated with a stripe of a plurality of stripes. In response to determining that the set of data items comprises one or more codewords, a first data recovery process is performed to recover the one or more codewords based at least in part on RAIN redundancy metadata. In response to determining that the set of data items comprises additional parity metadata, a second data recovery process is performed to recover the additional parity metadata based at least in part on LUN redundancy metadata. In response to determining that the set of data items comprises RAIN redundancy metadata, a first data reconstruction process is performed to regenerate the RAIN redundancy metadata based at least in part on one or more sets of codewords.

## Claims

### Claim 1

A system comprising:
a plurality of blocks each comprising one or more memory pages, wherein the memory pages are organized into a plurality of stripes each comprising at least one memory page of each of a plurality of planes or the plurality of blocks; and
a processing device coupled to each of the plurality of planes or the plurality of blocks, the processing device to perform operations comprising:
detecting an error associated with accessing a set of data items, wherein the set of data items are programmed to a respective memory page associated with a stripe of the plurality of stripes;
determining whether the set of data items comprises at least one of one or more codewords, additional parity metadata, redundant array of independent negative-and (NAND) (RAIN) redundancy metadata, or logical unit (LUN) redundancy metadata;
in response to determining that the set of data items comprises one or more codewords, performing a first data recovery process to recover each of the one or more codewords based at least in part on RAIN redundancy metadata;
in response to determining that the set of data items comprises additional parity metadata, performing a second data recovery process to recover the additional parity metadata based at least in part on LUN redundancy metadata; and
in response to determining that the set of data items comprises RAIN redundancy metadata, performing a first data reconstruction process to regenerate the RAIN redundancy metadata based at least in part on one or more sets of codewords stored on the plurality of planes of the plurality of blocks.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise:
in response to determining that the set of data items comprises LUN redundancy metadata, performing a second data reconstruction process to regenerate the LUN redundancy metadata based at least in part on additional parity metadata stored on the plurality of planes of the plurality of blocks.

### Claim 3 (depends on 1)

The system of claim 1, wherein the RAIN redundancy metadata and the LUN redundancy metadata are stored on the same memory page.

### Claim 4 (depends on 1)

The system of claim 1, wherein the LUN redundancy metadata and the additional parity metadata are stored to different memory pages.

### Claim 5 (depends on 1)

The system of claim 1, wherein performing the second data recovery process comprises executing one or more exclusive or (XOR) operations based on the LUN redundancy metadata and remaining additional parity metadata.

### Claim 6 (depends on 2)

The system of claim 2, wherein performing the second data reconstruction process comprises executing one or more exclusive or (XOR) operations based on the additional parity metadata.

### Claim 7 (depends on 1)

The system of claim 1, wherein the LUN redundancy metadata is encoded using parity metadata.

### Claim 8

A method comprising:
detecting an error associated with accessing a set of data items, wherein the set of data items are programmed to a respective memory page associated with a stripe of a plurality of stripes;
determining whether the set of data items comprises at least one of one or more codewords, additional parity metadata, redundant array of independent negative-and (NAND) (RAIN) redundancy metadata, or logical unit (LUN) redundancy metadata;
in response to determining that the set of data items comprises one or more codewords, performing a first data recovery process to recover each of the one or more codewords based at least in part on RAIN redundancy metadata;
in response to determining that the set of data items comprises additional parity metadata, performing a second data recovery process to recover the additional parity metadata based at least in part on LUN redundancy metadata; and
in response to determining that the set of data items comprises RAIN redundancy metadata, performing a first data reconstruction process to regenerate the RAIN redundancy metadata based at least in part on one or more sets of codewords stored on a plurality of planes.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
in response to determining that the set of data items comprises LUN redundancy metadata, performing a second data reconstruction process to regenerate the LUN redundancy metadata based at least in part on additional parity metadata stored on the plurality of planes.

### Claim 10 (depends on 8)

The method of claim 8, wherein the RAIN redundancy metadata and the LUN redundancy metadata are stored on the same memory page.

### Claim 11 (depends on 8)

The method of claim 8, wherein the LUN redundancy metadata and the additional parity metadata are stored to different memory pages.

### Claim 12 (depends on 8)

The method of claim 8, wherein performing the second data recovery process comprises executing one or more exclusive or (XOR) operations based on the LUN redundancy metadata and remaining additional parity metadata.

### Claim 13 (depends on 9)

The method of claim 9, wherein performing the second data reconstruction process comprises executing one or more exclusive or (XOR) operations based on the additional parity metadata.

### Claim 14 (depends on 8)

The method of claim 8, wherein the LUN redundancy metadata is encoded using parity metadata.

### Claim 15

A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
detecting an error associated with accessing a set of data items, wherein the set of data items are programmed to a respective memory page associated with a stripe of a plurality of stripes;
determining whether the set of data items comprises at least one of one or more codewords, additional parity metadata, redundant array of independent negative-and (NAND) (RAIN) redundancy metadata, or logical unit (LUN) redundancy metadata;
in response to determining that the set of data items comprises one or more codewords, performing a first data recovery process to recover each of the one or more codewords based at least in part on RAIN redundancy metadata;
in response to determining that the set of data items comprises additional parity metadata, performing a second data recovery process to recover the additional parity metadata based at least in part on LUN redundancy metadata; and
in response to determining that the set of data items comprises RAIN redundancy metadata, performing a first data reconstruction process to regenerate the RAIN redundancy metadata based at least in part on one or more sets of codewords stored on a plurality of planes.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the operations further comprise:
in response to determining that the set of data items comprises LUN redundancy metadata, performing a second data reconstruction process to regenerate the LUN redundancy metadata based at least in part on additional parity metadata stored on the plurality of planes.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the RAIN redundancy metadata and the LUN redundancy metadata are stored on the same memory page.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the LUN redundancy metadata and the additional parity metadata are stored to different memory pages.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein performing the second data recovery process comprises executing one or more exclusive or (XOR) operations based on the LUN redundancy metadata and remaining additional parity metadata.

### Claim 20 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein performing the second data reconstruction process comprises executing one or more exclusive or (XOR) operations based on the additional parity metadata.
