IP Library Granted Patent US 12,321,594
Granted Patent B2
US 12,321,594 · App. 18/137,820 · Granted Jun 3, 2025

Clustered parity for NAND data placement schema

Inventors: Paolo Papa (Naples, IT); Carminantonio Manganelli (Benevento, IT); Massimo Iaculo (San Marco Evangelista, IT); Giuseppe D'Eliseo (Caserta, IT); Alberto Sassara (Naples, IT)
Assignee: Micron Technology, Inc.
G06F3/0608G06F3/0655G06F3/0679
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 12,321,594
App. No.
18/137,820
Granted
Jun 3, 2025
Kind
B2
Abstract

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.

Claims (43)

1. A NAND memory device comprising:

an NAND array of NAND memory cells organized into multiple planes and addressable by multiple page lines; and

a controller configured to perform operations comprising:

storing a received data item in memory cells of the NAND array such that a first portion, a second portion and a third portion of the received data item are stored in memory cells in the NAND array such that the first portion, the second portion, and the third portion are on different page lines with respect to each other;

calculating a first parity value for the received data item using the first portion, the second portion, and the third portion;

assigning the first parity value for the received data item into a first position of a first parity cluster;

calculating a compressed parity value using the first parity value and a second parity value of a second parity cluster, the second parity value occupying a same first position in the second parity cluster as the first parity value, the second parity value a parity value of a first, a second, and a third portion of a second data item stored in second memory cells in the NAND array on different page lines and different planes with respect to each other; and

storing the compressed parity value in a portion of a NAND block that was used to store either the first or second parity value.

2. The NAND memory device of claim 1 , wherein the first portion, the second portion, and the third portion are an upper page, lower page, and extra page.

3. The NAND memory device of claim 1 , wherein the NAND memory cells are configurable as either Single Level Cell (SLC) or Multi-Level Cell (MLC), and wherein the compressed parity value is stored in cells that are configured as SLC.

4. The NAND memory device of claim 1 , wherein the operations of calculating the compressed parity value comprises using the first parity value and the second parity value and a plurality of other parity values.

5. The NAND memory device of claim 1 , wherein the operations of calculating the compressed parity value comprises XORing the first parity value and the second parity value.

6. The NAND memory device of claim 1 , wherein the operations further comprise:

receiving an indication that the first portion of the received data item that was read from the NAND array failed an Error Correction Code check during a read operation; and

recovering the first portion using the compressed parity value, the second and third portions of the received data item, and other portions of other data items corresponding to the compressed parity value.

7. The NAND memory device of claim 1 , wherein the operations of calculating the compressed parity value using the first parity value and the second parity value comprises calculating the compressed parity value using sixteen parity values, including the first and second parity value.

8. A method comprising:

storing a received data item in memory cells of a NAND array such that a first portion, a second portion and a third portion of the received data item are stored in memory cells in the NAND array such that the first portion, the second portion, and the third portion are on different page lines with respect to each other;

calculating a first parity value for the received data item using the first portion, the second portion, and the third portion;

assigning the first parity value for the received data item into a first position of a first parity cluster;

calculating a compressed parity value using the first parity value and a second parity value of a second parity cluster, the second parity value occupying a same first position in the second parity cluster as the first parity value, the second parity value a parity value of a first, a second, and a third portion of a second data item stored in second memory cells in the NAND array on different page lines and different planes with respect to each other; and

storing the compressed parity value in a portion of a NAND block that was used to store either the first or second parity value.

9. The method of claim 8 , wherein the first portion, the second portion, and the third portion are an upper page, lower page, and extra page.

10. The method of claim 8 , wherein the memory cells of the NAND array are configurable as either Single Level Cell (SLC) or Multi-Level Cell (MLC), and wherein the compressed parity value is stored in cells that are configured as SLC.

11. The method of claim 8 , wherein calculating the compressed parity value comprises using the first parity value and the second parity value and a plurality of other parity values.

12. The method of claim 8 , wherein calculating the compressed parity value comprises XORing the first parity value and the second parity value.

13. The method of claim 8 , wherein the method further comprises:

receiving an indication that the first portion of the received data item that was read from the NAND array failed an Error Correction Code check during a read operation; and

recovering the first portion using the compressed parity value, the second and third portions of the received data item, and other portions of other data items corresponding to the compressed parity value.

14. The method of claim 8 , wherein calculating the compressed parity value using the first parity value and the second parity value comprises calculating the compressed parity value using sixteen parity values, including the first and second parity value.

15. A non-transitory, machine-readable medium, storing instructions, which when executed, cause a machine to perform operations comprising:

storing a received data item in memory cells of a NAND array such that a first portion, a second portion and a third portion of the received data item are stored in memory cells in the NAND array such that the first portion, the second portion, and the third portion are on different page lines with respect to each other;

calculating a first parity value for the received data item using the first portion, the second portion, and the third portion;

assigning the first parity value for the received data item into a first position of a first parity cluster;

calculating a compressed parity value using the first parity value and a second parity value of a second parity cluster, the second parity value occupying a same first position in the second parity cluster as the first parity value, the second parity value a parity value of a first, a second, and a third portion of a second data item stored in second memory cells in the NAND array on different page lines and different planes with respect to each other; and

storing the compressed parity value in a portion of a NAND block that was used to store either the first or second parity value.

16. The non-transitory, machine-readable medium of claim 15 , wherein the first portion, the second portion, and the third portion are an upper page, lower page, and extra page.

17. The non-transitory, machine-readable medium of claim 15 , wherein the memory cells of the NAND array are configurable as either Single Level Cell (SLC) or Multi-Level Cell (MLC), and wherein the compressed parity value is stored in cells that are configured as SLC.

18. The non-transitory, machine-readable medium of claim 15 , wherein the operations of calculating the compressed parity value comprises using the first parity value and the second parity value and a plurality of other parity values.

19. The non-transitory, machine-readable medium of claim 15 , wherein the operations of calculating the compressed parity value comprises XORing the first parity value and the second parity value.

20. The non-transitory, machine-readable medium of claim 15 , wherein the operations further comprise:

receiving an indication that the first portion of the received data item that was read from the NAND array failed an Error Correction Code check during a read operation; and

recovering the first portion using the compressed parity value, the second and third portions of the received data item, and other portions of other data items corresponding to the compressed parity value.

Continuity (4)
Continuation 16488696
Provisional Application 62675451 · May 23, 2018
Provisional Application 62644282 · Mar 16, 2018
Related Publication 20230367478A1 · Nov 16, 2023
References Cited (83)
US 5191584A · Anderson · 1993 [cited by applicant]
US 7966462B2 · Lee et al. · 2011 [cited by applicant]
US 9720609B1 · Yan et al. · 2017 [cited by applicant]
US 10101942B1 · Parker et al. · 2018 [cited by applicant]
US 11521690B2 · Manganelli et al. · 2022 [cited by applicant]
US 11635894B2 · Papa et al. · 2023 [cited by applicant]
US 11955189B2 · Manganelli et al. · 2024 [cited by applicant]
US 20010007119A1 · Katayama et al. · 2001 [cited by applicant]
US 20070079056A1 · Nakamura et al. · 2007 [cited by applicant]
US 20070143570A1 · Gorobets et al. · 2007 [cited by applicant]
US 20110138222A1 · Haines et al. · 2011 [cited by applicant]
US 20110228601A1 · Olbrich et al. · 2011 [cited by applicant]
US 20120317340A1 · So et al. · 2012 [cited by applicant]
US 20130166825A1 · Kim et al. · 2013 [cited by applicant]
US 20130305120A1 · Torii · 2013 [cited by examiner]
US 20140040661A1 · Goel · 2014 [cited by applicant]
US 20140056070A1 · Tanzawa · 2014 [cited by applicant]
US 20140281813A1 · Wakchaure et al. · 2014 [cited by applicant]
US 20150143185A1 · Motwani · 2015 [cited by applicant]
US 20150220385A1 · Wood · 2015 [cited by examiner]
US 20150347020A1 · Yano et al. · 2015 [cited by applicant]
US 20150349805A1 · Tsai · 2015 [cited by examiner]
US 20150363266A1 · Hu et al. · 2015 [cited by applicant]
US 20160085625A1 · Amato et al. · 2016 [cited by applicant]
US 20170293527A1 · Shappir et al. · 2017 [cited by applicant]
US 20170315867A1 · Yang et al. · 2017 [cited by applicant]
US 20170315868A1 · Yang et al. · 2017 [cited by applicant]
US 20170315909A1 · Yang · 2017 [cited by examiner]
US 20170317693A1 · Yang et al. · 2017 [cited by applicant]
US 20170323684A1 · Tailliet et al. · 2017 [cited by applicant]
US 20180046543A1 · Canepa et al. · 2018 [cited by applicant]
US 20180129430A1 · Kang · 2018 [cited by examiner]
US 20180285195A1 · Yang et al. · 2018 [cited by applicant]
US 20190065306A1 · Margetts · 2019 [cited by applicant]
US 20190073265A1 · Brennan · 2019 [cited by examiner]
US 20200004462A1 · Kim · 2020 [cited by applicant]
US 20200043556A1 · Moon et al. · 2020 [cited by applicant]
US 20210335432A1 · Manganelli et al. · 2021 [cited by applicant]
US 20210357127A1 · Papa et al. · 2021 [cited by applicant]
US 20230100916A1 · Manganelli et al. · 2023 [cited by applicant]
US 20240112745A1 · Manganelli et al. · 2024 [cited by applicant]
CN 1881471A · 2006 [cited by applicant]
CN 101933095A · 2010 [cited by applicant]
CN 105279115A · 2016 [cited by applicant]
CN 106445724A · 2017 [cited by applicant]
CN 107423158A · 2017 [cited by applicant]
CN 112074816A · 2020 [cited by applicant]
CN 112074908A · 2020 [cited by applicant]
CN 112074908B · 2024 [cited by applicant]
CN 118444854A · 2024 [cited by applicant]
KR 20120055725A · 2012 [cited by applicant]
KR 20170131797A · 2017 [cited by applicant]
WO WO2019178538A1 · 2019 [cited by applicant]
WO WO2019178545A1 · 2019 [cited by applicant]
US 11,869,606 B2, 01/2024, Manganelli et al. (withdrawn) [cited by applicant]
U.S. Appl. No. 16/488,681 U.S. Pat. No. 11,521,690, filed Aug. 26, 2019, NAND Data Placement Schema. [cited by applicant]
U.S. Appl. No. 18/075,027, filed Dec. 5, 2022, NAND Data Placement Schema. [cited by applicant]
U.S. Appl. No. 16/488,696 U.S. Pat. No. 11,635,894, filed Aug. 26, 2019, Clustered Parity for NAND Data Placement Schema. [cited by applicant]
“European Application Serial No. 19767519.2, Extended European Search Report mailed Sep. 23, 2021”, 7 pgs. [cited by applicant]
“European Application Serial No. 19767519.2, Response filed Jul. 22, 2022 to Extended European Search Report mailed Sep. 23, 2021”, 113 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/022576, International Preliminary Report on Patentability mailed Oct. 1, 2020”, 7 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/022576, International Search Report mailed Jul. 2, 2019”, 3 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/022576, Written Opinion mailed Jul. 2, 2019”, 5 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/022587, International Preliminary Report on Patentability mailed Oct. 1, 2020”, 8 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/022587, International Search Report mailed Jul. 2, 2019”, 3 pgs. [cited by applicant]
“International Application Serial No. PCT/US2019/022587, Written Opinion mailed Jul. 2, 2019”, 6 pgs. [cited by applicant]
“Korean Application Serial No. 10-2020-7029653, Notice of Preliminary Rejection mailed Mar. 30, 2022”, W/English Translation, 8 pgs. [cited by applicant]
“Korean Application Serial No. 10-2020-7029653, Notice of Preliminary Rejection mailed Sep. 9, 2021”, w/ English translation, 7 pgs. [cited by applicant]
“Korean Application Serial No. 10-2020-7029653, Response filed Jul. 28, 2022 to Notice of Preliminary Rejection mailed Mar. 30, 2022”, with English claims, 19 pages. [cited by applicant]
U.S. Appl. No. 18/075,027, Non Final Office Action mailed May 10, 2023, 7 pgs. [cited by applicant]
U.S. Appl. No. 18/075,027, Response filed Aug. 10, 2023 to Non Final Office Action mailed May 10, 2023, 9 pgs. [cited by applicant]
U.S. Appl. No. 18/075,027, Notice of Allowance mailed Aug. 30, 2023, 11 pgs. [cited by applicant]
U.S. Appl. No. 18/075,027, Corrected Notice of Allowability mailed Nov. 24, 2023, 2 pgs. [cited by applicant]
U.S. Appl. No. 18/075,027, Notice of Allowability mailed Mar. 5, 2024, 2 pgs. [cited by applicant]
U.S. Appl. No. 18/527,978, Notice of Allowance mailed Dec. 17, 2024, 13 pgs. [cited by applicant]
“Chinese Application Serial No. 201980029379.X, Office Action mailed Sep. 28, 2023”, with machine English translation, 12 pages. [cited by applicant]
“Chinese Application Serial No. 201980029446.8, Office Action mailed Jan. 12, 2024”, with English translation, 11 pages. [cited by applicant]
“Chinese Application Serial No. 201980029446.8, Office Action mailed Aug. 21, 2024”, w/o English translation, 3 pgs. [cited by applicant]
“Chinese Application Serial No. 201980029446.8, Response filed May 22, 2024 to Office Action mailed Jan. 12, 2024”, with English claims, 25 pages. [cited by applicant]
“European Application Serial No. 19767519.2, Communication Pursuant to Article 94(3) EPC mailed Nov. 24, 2023”, 5 pgs. [cited by applicant]
“European Application Serial No. 19767519.2, Response filed May 24, 2024 to Communication Pursuant to Article 94(3) EPC mailed Nov. 24, 2023”, 101 pgs. [cited by applicant]
Weingarten, Hanan, “Storage Controller Technologies for Next Generation Non-Volatile Memories”, Flash Memory Summit 2016 Santa Clara, CA, [Online]. Retrieved from the Internet: <https://www.flashmemorysummit.com/English… [cited by applicant]
Weingarten,, Hanan, “Nand Flash PHY Units for Advanced SSD Design”, Flash Memory Summit 2013 Santa Clara, CA, [Online]. Retrieved from the Internet: <https://www.flashmemorysummit.com/English/Collaterals/Proceedings/201… [cited by applicant]