Clustered parity for NAND data placement schema

US11635894B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11635894-B2
Application numberUS-201916488696-A
CountryUS
Kind codeB2
Filing dateMar 15, 2019
Priority dateMar 16, 2018
Publication dateApr 25, 2023
Grant dateApr 25, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed in some examples are improvements to data placement architectures in NAND that provide additional data protection through an improved NAND data placement schema that allows for recovery from certain failure scenarios. The present disclosure stripes data diagonally across page lines and planes to enhance the data protection. Parity bits are stored in SLC blocks for extra protection until the block is finished writing and then the parity bits may be deleted.

First claim

Opening claim text (preview).

The invention claimed is: 1. A NAND memory device comprising: an array of NAND memory cells organized into multiple planes and addressable by multiple page lines; and a controller configured to perform operations comprising: programming a received data item into a first data stripe by programming a first portion of the received data item into a first page line of the multiple page lines on a first plane of the multiple planes, a second portion of the received data item into a second page line of the multiple page lines on a second plane of the multiple planes, and a third portion of the received data item into a third page line of the multiple page lines on a third plane of the multiple planes, wherein a third page number of the third page line is greater than a second page number of the second page line and a third plane number of the third plane is greater than a second plane number of the second plane, and wherein a second page number of the second page line is greater than a first page number of the first page line and a second plane number of the second plane is greater than a first plane number of a first plane; calculating a parity value for the received data item using the first portion, second portion, and third portion; storing the parity value with multiple other parity values in a first parity cluster of multiple parity clusters, each particular one of the other parity values storing a parity value for a different stripe, the parity values stored in the multiple page lines and the multiple planes; compressing the parity value and the multiple other parity values by combining parity values occupying a same plane number and a same page number relative to the first page number of a parity cluster within the multiple parity clusters to create compressed parity values; storing the compressed parity values in the array of NAND cells and wherein the operations of storing the compressed parity values in the array of NAND cells comprises overwriting the multiple other parity values with the compressed parity values. 2. The NAND memory device of claim 1 , wherein the operations comprise: receiving an indication that a first portion of the received data item read from the array of NAND memory cells failed an Error Correction Code check; and recovering the first portion using a compressed parity value corresponding to the received data item, the second and third portions of the received data item, and other portions of other data items corresponding to the compressed parity value. 3. The NAND memory device of claim 1 , wherein the operations of compressing the parity value and the multiple other parity values by combining parity values occupying a same plane number and a same page number relative to the first page number of the parity cluster within the multiple parity clusters to create compressed parity values comprises utilizing an XOR operation. 4. The NAND memory device of claim 1 , wherein the operations of calculating the parity value for the received data item using the first portion, second portion, and third portion comprises applying an XOR operator to the first portion, second portion, and third portion. 5. The NAND memory device of claim 1 , wherein the first portion is a lower page, the second portion is an upper page, and the third portion is an extra page. 6. The NAND memory device of claim 5 , wherein a second received data item is programmed into a second stripe and wherein the first portion of the second received data item is an upper page, the second portion of the second received data item is the extra page and the third portion of the second received data item is the extra page. 7. The NAND memory device of claim 1 , wherein the operations of compressing the parity value and multiple other parity values is responsive to completion of NAND block programming. 8. A non-transitory machine-readable medium, comprising instructions, which when executed by a machine, cause the machine to perform operations comprising: programming a received data item into a first data stripe by programming a first portion of the received data item into a first page line of multiple page lines on a first plane of multiple planes of a NAND array, a second portion of the received data item into a second page line of the multiple page lines on a second plane of the multiple planes, and a third portion of the received data item into a third page line of the multiple page lines on a third plane of the multiple planes, wherein a third page number of the third page line is greater than a second page number of the second page line and a third plane number of the third plane is greater than a second plane number of the second plane, and wherein a second page number of the second page line is greater than a first page number of the first page line and a second plane number of the second plane is greater than a first plane number of a first plane; calculating a parity value for the received data item using the first portion, second portion, and third portion; storing the parity value with multiple other parity values in a first parity cluster of multiple parity clusters, each particular one of the other parity values storing a parity value for a different stripe, the parity values stored in the multiple page lines and the multiple planes; compressing the parity value and the multiple other parity values by combining parity values occupying a same plane number and a same page number relative to the first page number of a parity cluster within the multiple parity clusters to create compressed parity values; storing the compressed parity values in the NAND array; and wherein the operations of storing the compressed parity values in the array of NAND cells comprises overwriting the multiple other parity values with the compressed parity values. 9. The non-transitory machine-readable medium of claim 8 , wherein the operations further comprise: receiving an indication that a first portion of the received data item read from the NAND array of NAND memory cells failed an Error Correction Code check; and recovering the first portion using a compressed parity value corresponding to the received data item, the second and third portions of the received data item, and other portions of other data items corresponding to the compressed parity value. 10. The non-transitory machine-readable medium of claim 8 , wherein the operations of compressing the parity value and the multiple other parity values by combining parity values occupying a same plane number and a same page number relative to the first page number of the parity cluster within the multiple parity clusters to create compressed parity values comprises utilizing an XOR operation. 11. The non-transitory machine-readable medium of claim 8 , wherein the operations of calculating the parity value for the received data item using the first portion, second portion, and third portion comprises applying an XOR operator to the first portion, second portion, and third portion. 12. The non-transitory machine-readable medium of claim 8 , wherein the first portion is a lower page, the second portion is an upper page, and the third portion is an extra page. 13. The non-transitory machine-readable medium of claim 12 , wherein a second received data item is programmed into a second stripe and wherein the first portion of the second received data item is an upper page, the second portion of the second received data item is the extra page and the third portion of the third received data item is the extra page. 14. The non-transitory machine-readable medium of claim 8 , wherein the operations of compressing the parit

Assignees

Inventors

Classifications

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11635894B2 cover?
Disclosed in some examples are improvements to data placement architectures in NAND that provide additional data protection through an improved NAND data placement schema that allows for recovery from certain failure scenarios. The present disclosure stripes data diagonally across page lines and planes to enhance the data protection. Parity bits are stored in SLC blocks for extra protection unt…
Who is the assignee on this patent?
Micron Technology Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 25 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).