IP Library Granted Patent US 11,726,867
Granted Patent B2
US 11,726,867 · App. 17/741,940 · Granted Aug 15, 2023

Multi-page parity protection with power loss handling

Inventors: Harish Reddy Singidi (Fremont, CA); Kishore Kumar Muchherla (Fremont, CA); Xiangang Luo (Fremont, CA); Vamsi Pavan Rayaprolu (San Jose, CA); Ashutosh Malshe (Fremont, CA)
Assignee: Micron Technology, Inc.
G06F11/1048G06F11/108G06F11/1044G06F11/1441
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,726,867
App. No.
17/741,940
Granted
Aug 15, 2023
Kind
B2
Abstract

A variety of applications can include use of parity groups in a memory system with the parity groups arranged for data protection of the memory system. Each parity group can be structured with multiple data pages in which to write data and a parity page in which to write parity data generated from the data written in the multiple data pages. Each data page of a parity group can have storage capacity to include metadata of data written to the data page. Information can be added to the metadata of a data page with the information identifying an asynchronous power loss status of data pages that precede the data page in an order of writing data to the data pages of the parity group. The information can be used in re-construction of data in the parity group following an uncorrectable error correction code error in writing to the parity group.

Claims (32)

1. A method of handling asynchronous power loss to a memory system, the method comprising:

writing data to multiple data pages of a parity group, the parity group including a parity page in which to write parity data generated from the data written in the multiple data pages; and

maintaining a flag in metadata of each data page of the multiple data pages to identify asynchronous power loss status of previous data pages of the parity group.

2. The method of claim 1 , wherein the method includes generating the parity data using an ordering of the data pages in the parity group.

3. The method of claim 1 , wherein the method includes, following an uncorrectable error correction code error in writing the data, re-constructing data to a data page of the parity group using an ordering of the data pages in the parity group.

4. The method of claim 3 , wherein the method includes:

starting recovery to re-construct the data to the data page by reading from a last data page in the parity group; and

excluding, from the recovery, previous data pages tagged, using the flag, as impacted by asynchronous power loss.

5. The method of claim 1 , wherein maintaining the flag in the metadata of each data page includes implementing the flag as a byte in the metadata accompanying data stored each data page.

6. The method of claim 1 , wherein the method includes detecting impact of asynchronous power loss upon a boot-up of the memory system after the asynchronous power loss.

7. A method of handling asynchronous power loss to a memory system, the method comprising:

arranging multiple parity groups for data protection of the memory system, the multiple parity groups arranged in sub-blocks of the memory system, each parity group of the multiple parity groups having multiple data pages in which to write data and having at least one parity page in which to write parity data generated from the data written in the multiple data pages;

writing data to a parity group of the multiple parity groups; and

maintaining a flag in metadata of each data page of the parity group to which the data is written, the flag to identify asynchronous power loss status of previous data pages of the parity group.

8. The method of claim 7 , wherein the metadata of each data page in which the data is successfully written includes a logical address for the data being stored in the data page.

9. The method of claim 7 , wherein arranging multiple parity groups in a sub-block includes assigning each parity group of the multiple parity groups in the sub-block to a set of access lines to memory cells of the memory system, the assignment of access lines of each set to each parity group based on a numbering of the access lines.

10. The method of claim 9 , wherein the method includes providing the data protection segmented on a fixed number of access lines of each set.

11. The method of claim 7 , wherein the flag identifies a count of consecutive previous data pages in the parity group that were impacted by an asynchronous power loss event.

12. The method of claim 11 , wherein a number set in the flag is a number of data pages impacted by an asynchronous power loss event immediately preceding writing of data to a current data page in the parity group.

13. The method of claim 7 , wherein the method includes associating each sub-block with a lower page, an upper page, and an extra page.

14. A memory system comprising:

multiple memory devices; and

a memory controller including processing circuitry having one or more processors, the memory controller configured to perform operations comprising:

arranging multiple parity groups for data protection of data programmed into the multiple memory devices of the memory system, the multiple parity groups arranged in sub-blocks of the memory system, each parity group of the multiple parity groups having multiple data pages in which to write data and having at least one parity page in which to write parity data generated from the data written in the multiple data pages;

writing data to a parity group of the multiple parity groups; and

maintaining a flag in metadata of each data page of the parity group to which the data is written, the flag to identify asynchronous power loss status of previous data pages of the parity group.

15. The memory system of claim 14 , wherein the asynchronous power loss status of one or more data pages includes an asynchronous power loss impacted status in which completion of a write operation of the data to a preceding data page, in an order of the data pages, was prevented.

16. The memory system of claim 14 , wherein the operations include excluding data pages of the parity group, tagged as asynchronous power loss impacted, in a reconstruction of data following a uncorrectable error correction code error in writing to a selected data page of the parity group.

17. The memory system of claim 14 , wherein arranging multiple parity groups in a sub-block includes assigning each parity group of the multiple parity groups in the sub-block to a set of access lines to memory cells of the memory system, the assignment of access lines of each set to each parity group based on a numbering of the access lines.

18. The memory system of claim 17 , wherein the operations include providing the data protection segmented on a fixed number of access lines of each set.

19. The memory system of claim 14 , wherein the operations include generating each parity group from a selection of every Nth access line of a set of access lines to memory cells of a memory device of the multiple memory devices, N being an integer greater than one, the selection providing an ordering of the data pages of the generated parity group.

20. The memory system of claim 14 , wherein the metadata of a data page includes information, in addition to the flag, identifying asynchronous power loss status of previously written data pages that share the same parity group.

Continuity (4)
Continuation 16989478 · Aug 10, 2020
Continuation 16267586 · Feb 5, 2019
Provisional Application 62786889 · Dec 31, 2018
Related Publication 20220269559A1 · Aug 25, 2022