# US 12,222,805 B2 · Compression-based data operations in a memory device

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

- Number: US 12,222,805 B2
- Document ID: US12222805B2
- Status: Granted
- Kind: B2
- Application number: 18/110,684
- Filed: 2023-02-16
- Published: 2023-06-22
- Granted: 2025-02-11
- Earliest claimed: 2021-03-29
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: David Matthew Springberg
- Web page: https://patentgrep.com/patent/US12222805B2

## CPC

- G06F 11/1068: {in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence)}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/1012: {using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence)}
- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G06F 11/1072: {in multilevel memories}
- G11C 7/1006: {Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor}
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- G11C 16/10: Programming or data input circuits
- G11C 16/26: Sensing or reading circuits; Data output circuits
- G11C 29/40: using compression techniques
- G11C 11/5628: {Programming or writing circuits; Data input circuits}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A processing device receives a request to write data to a memory device. The processing device generates a codeword based on the data. The codeword comprises the data and error correction code. The processing device generates a compressed codeword by compressing the codeword. The processing device stores the compressed codeword on a page of the memory device.

## Claims

### Claim 1

A system comprising:
a memory device; and
a processing device coupled to the memory device, the processing device configured to perform operations comprising:
receiving a request to write data to the memory device;
storing a first compressed codeword on a page of the memory device, the first compressed codeword being based on a combination of the data and an error correction code; and
storing a second compressed codeword on the page of the memory device.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise:
generating a codeword based on the combination of the data and the error correction code; and
generating the first compressed codeword based on the codeword.

### Claim 3 (depends on 2)

The system of claim 2, wherein generating the codeword comprises adding metadata to the combination of the data and the error correction code.

### Claim 4 (depends on 2)

The system of claim 2, wherein generating the codeword comprises encoding the data with the error correction code.

### Claim 5 (depends on 1)

The system of claim 1, wherein the operations further comprise:
receiving a request to read the data from the memory device;
reading, from the page of the memory device, the first compressed codeword;
decompressing the first compressed codeword;
decoding the first compressed codeword; and
providing the data as output responsive to the request.

### Claim 6 (depends on 5)

The system of claim 5, wherein the decoding of the first compressed codeword comprises:
detecting, based on the error correction code, corrupted data in the data read from the page of the memory device; and
correcting the corrupted data using the error correction code.

### Claim 7 (depends on 5)

The system of claim 5, wherein decompressing the first compressed codeword includes accessing a compression length in a header of a codeword.

### Claim 8 (depends on 1)

The system of claim 1, wherein the memory device comprises a plurality of pages, each page comprising a set of NAND memory cells.

### Claim 9

A method comprising:
receiving, by a processing device, a request to write data to a memory device;
storing a first compressed codeword on a page of the memory device, the first compressed codeword being based on a combination of the data and an error correction code; and
storing a second compressed codeword on the page of the memory device.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
generating a codeword based on the combination of the data and the error correction code; and
generating the first compressed codeword based on the codeword.

### Claim 11 (depends on 9)

The method of claim 9, wherein generating the codeword comprises adding metadata to the combination of the data and the error correction code.

### Claim 12 (depends on 9)

The method of claim 9, wherein generating the codeword comprises encoding the data with the error correction code.

### Claim 13 (depends on 9)

The method of claim 9, further comprising:
receiving a request to read the data from the memory device;
reading, from the page of the memory device, the first compressed codeword;
decompressing the first compressed codeword;
decoding the first compressed codeword; and
providing the data as output responsive to the request.

### Claim 14 (depends on 13)

The method of claim 13, wherein the decoding of the compressed codeword comprises:
detecting, based on the error correction code, corrupted data in the data read from the page of the memory device; and
correcting the corrupted data using the error correction code.

### Claim 15 (depends on 13)

The method of claim 13, wherein decompressing the compressed codeword includes accessing a compression length in a header of a codeword.

### Claim 16 (depends on 9)

The method of claim 9, wherein the memory device comprises a plurality of pages, each page comprising a set of NAND memory cells.

### Claim 17

A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, configure the processing device to perform operations comprising:
receiving a request to write data to a memory device;
storing a first compressed codeword on a page of the memory device, the first compressed codeword being based on a combination of the data and an error correction code; and
storing a second compressed codeword on the page of the memory device.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the operations further comprise:
receiving a request to read the data from the memory device;
reading, from the page of the memory device, the compressed codeword;
decompressing the compressed codeword;
decoding the compressed codeword; and
providing the data as output responsive to the request.

### Claim 19 (depends on 18)

The non-transitory computer-readable storage medium of claim 18, wherein the decoding of the compressed codeword comprises:
detecting, based on the error correction code, corrupted data in the data read from the page of the memory device; and
correcting the corrupted data using the error correction code.

### Claim 20 (depends on 18)

The non-transitory computer-readable storage medium of claim 18, wherein the operations further comprise:
generating a codeword based on the data, the error correction code, and metadata, the generating of the codeword comprises adding metadata to a combination of the data and the error correction code; and
generating the first compressed codeword based on the codeword.
