IP Library › Granted Patent US 11,561,722
Granted Patent B2
US 11,561,722 · App. 17/002,374 · Granted Jan 24, 2023

Multi-page parity data storage in a memory device

Inventors: Harish R Singidi (Fremont, CA); Ashutosh Malshe (Fremont, CA); Vamsi Pavan Rayaprolu (San Jose, CA); Kishore Kumar Muchherla (Fremont, CA)
Assignee: Micron Technology, Inc.
G06F3/0652G06F3/0608G06F3/0679G06F11/1004H03M7/6011
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,561,722
App. No.
17/002,374
Granted
Jan 24, 2023
Kind
B2
Abstract

A processing device, operatively coupled with a memory device, is configured to perform a write operation on a page of a plurality of pages of a data unit of a memory device, to store host data in the page of the data unit. The processing device further generates a parity page for the host data stored in the page of the data unit and adds the parity page to parity data stored at a parity data storage location. Responsive to determining that a first size of the stored parity data satisfies a first condition, the processing device initiates execution of a compression algorithm to compress the stored parity data. Responsive to determining that a second size of the parity data resulting from the execution of the compression algorithm satisfies a second condition, the processing device performs a scan operation to release at least a subset of the stored parity data.

Claims (54)

1. A method comprising:

performing a write operation on a page of a plurality of pages of a data unit of a memory device, to store host data in the page of the data unit;

generating a parity page for the host data stored in the page of the data unit;

adding the parity page to parity data stored at a parity data storage location;

responsive to determining that a first size of the parity data stored at the parity data storage location satisfies a first condition, initiating execution of a compression algorithm to compress multiple parity pages containing uncompressed parity data stored at the parity data storage location to generate a single parity page of compressed parity data; and

responsive to determining that a second size of the parity data resulting from the execution of the compression algorithm satisfies a second condition, performing a scan operation of the host data stored at the data unit to release at least a subset of the parity data stored at the parity data storage location corresponding to host data that is free from defects as identified based on results of the scan operation.

2. The method of claim 1 further comprising:

continuing to execute the compression algorithm to compress the parity data stored at the parity data storage location as additional parity pages are added to the parity data as a result of new write operations.

3. The method of claim 1 , wherein executing the compression algorithm further comprises:

performing an exclusive-OR operation on two or more parity pages of the parity data stored at the parity data storage location to generate the single parity page, wherein the two or more parity pages correspond to two or more pages of host data that are located outside a blast radius from each other in the data unit;

marking the single parity page as a multi-page parity page;

storing the single parity page at the parity data storage location; and

releasing the two or more parity pages.

4. The method of claim 1 , wherein the parity data storage location comprises a second memory device of a memory sub-system, the memory sub-system further comprising the memory device.

5. The method of claim 1 , wherein the parity data storage location comprises a second unit of the memory device, wherein the second unit is dedicated to holding exclusively parity data.

6. The method of claim 1 , wherein determining that the first size of the parity data stored at the parity data storage location satisfies the first condition comprises determining that a first percentage of consumed parity blocks of the parity data storage location exceeds a first threshold.

7. The method of claim 6 , wherein determining that the second size of the parity data stored at the parity data storage location satisfies the second condition comprises determining that a second percentage of consumed parity blocks of the parity data storage location exceeds a second threshold, the second threshold is higher than the first threshold.

8. The method of claim 1 , wherein performing the scan operation further comprises:

scanning a subset of the plurality of pages of the data unit to determine whether at least one page of the subset has a defect; and

responsive to determining that none of the subset of the plurality of pages has a defect, releasing parity data associated with the subset of the plurality of pages.

9. A system comprising:

a memory device; and

a processing device, operatively coupled with the memory device, to perform operations comprising:

creating a parity page for host data stored in a page of a plurality of pages of a data unit of a memory device;

adding the parity page to parity data stored at a parity data storage location;

responsive to determining that the plurality of pages of the data unit satisfies a first condition, initiating execution of a compression algorithm to compress multiple parity pages containing uncompressed parity data stored at the parity data storage location to generate a single parity page of compressed parity data; and

responsive to determining that a size of the parity data resulting from the execution of the compression algorithm satisfies a second condition, performing a scan operation of the host data stored at the data unit to release at least a subset of the parity data stored at the parity data storage location corresponding to host data that is free from defects as identified based on results of the scan operation.

10. The system of claim 9 , wherein determining that the plurality of pages of the data unit satisfies the first condition further comprises:

determining that at least two pages of the plurality of pages storing host data are located outside a blast radius from each other in the data unit.

11. The system of claim 9 , wherein the processing device is to perform operations further comprising:

continuing to execute the compression algorithm to compress the parity data stored at the parity data storage location as additional parity pages are added to the parity data as a result of write operations.

12. The system of claim 9 , wherein executing the compression algorithm further comprises:

performing an exclusive-OR operation on two or more parity pages of the parity data stored at the parity data storage location to generate the single parity page, wherein the two or more parity pages correspond to two or more pages of the host data that are located outside a blast radius from each other in the data unit;

marking the single parity page as a multi-page parity page;

storing the single parity page at the parity data storage location; and

releasing the two or more parity pages.

13. The system of claim 9 , wherein the parity data storage location comprises a second memory device of a memory sub-system, the memory sub-system further comprising the memory device.

14. The system of claim 9 , wherein the parity data storage location comprises a second unit of the memory device, wherein the second unit is dedicated to holding exclusively parity data.

15. The system of claim 9 , wherein determining that the size of the parity data stored at the parity data storage location satisfies the second condition comprises determining that a percentage of consumed parity blocks of the parity data storage location exceeds a threshold.

16. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

performing a write operation on a page of a plurality of pages of a data unit of a memory device, to store host data in the page of the data unit;

generating a parity page for the host data stored in the page of the data unit;

adding the parity page to parity data stored at a parity data storage location;

responsive to determining that a first size of the parity data stored at the parity data storage location satisfies a first condition, initiating execution of a compression algorithm to compress multiple parity pages containing uncompressed parity data stored at the parity data storage location to generate a single parity page of compressed parity data; and

responsive to determining that a second size of the parity data resulting from the execution of the compression algorithm satisfies a second condition, performing a scan operation of the host data stored at the data unit to release at least a subset of the parity data stored at the parity data storage location corresponding to host data that is free from defects as identified based on results of the scan operation.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the operations further comprise:

continuing to execute the compression algorithm to compress the parity data stored at the parity data storage location as additional parity pages are added to the parity data as a result of new write operations.

18. The non-transitory computer-readable storage medium of claim 16 , wherein determining that the first size of the parity data stored at the parity data storage location satisfies the first condition comprises:

determining that a first percentage of consumed parity blocks of the parity data storage location exceeds a first threshold.

19. The non-transitory computer-readable storage medium of claim 16 , wherein determining that the second size of the parity data stored at the parity data storage location satisfies the second condition comprises:

determining that a second percentage of consumed parity blocks of the parity data storage location exceeds a second threshold, the second threshold is higher than the first threshold.

20. The non-transitory computer-readable storage medium of claim 16 , wherein performing the scan operation comprises:

scanning a subset of the plurality of pages of the data unit to determine whether at least one page of the subset has a defect; and

responsive to determining that none of the subset of the plurality of pages has a defect, releasing parity data associated with the subset of the plurality of pages.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2020
From: SINGIDI, HARISH R; MALSHE, ASHUTOSH; RAYAPROLU, VAMSI PAVAN; MUCHHERLA, KISHORE KUMAR
To: MICRON TECHNOLOGY, INC.
Reel/Frame 053594/0881 →
Continuity (1)
Related Publication 20220066678A1 · Mar 3, 2022
Cited By (1)
US 12,730,716