IP Library Granted Patent US 12,399,643
Granted Patent B2
US 12,399,643 · App. 17/487,870 · Granted Aug 26, 2025

Data protection for three-dimensional NAND memory

Inventors: Jie Wan (Hubei, CN); Wei Tao (Hubei, CN); Yuan Tao (Hubei, CN); Ling Du (Hubei, CN); Boxuan Cheng (Hubei, CN); Jian Cao (Hubei, CN)
Assignee: Yangtze Memory Technologies Co., Ltd.
G06F3/065G06F3/0619G06F3/0679G11C16/0483G11C16/10G11C16/3459G11C11/5671
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,399,643
App. No.
17/487,870
Granted
Aug 26, 2025
Kind
B2
Abstract

The present disclosure provides a method of data protection for a three-dimensional NAND memory. The method includes programming a memory cell of the 3D NAND memory according to programming data; and backing up a portion of the programming data associated with the memory cell in response to a program loop count (PLC) that is larger than a threshold value, where the PLC tracks a repeated number of the programming of the memory cell. A previous PLC can be set as the threshold value, where the previous PLC was used by a previous programming operation and was collected after the memory cell was programmed successfully to a previous target logic state.

Claims (46)

1. A method of data protection for a three-dimensional (3D) NAND memory, comprising:

programming a memory cell of the 3D NAND memory according to programming data;

in response to programming the memory cell according to the programming data, verifying whether the memory cell is at a target logic state according to the programming data;

determining a program loop count (PLC) of the memory cell;

in response to the PLC being greater than a threshold value, designating the memory cell as risky;

programming the memory cell according to second programming data;

in response to programming the memory cell according to the second programming data, verifying whether the memory cell is at the target logic state according to the second programming data; and

in response to verifying that the memory cell is at the target logic state and the memory cell being designated as risky, backing up a portion of the second programming data.

2. The method of claim 1 , further comprising:

after programming the memory cell, verifying whether the memory cell is at a target logic state according to the programming data; and

repeating the programming of the memory cell when the memory cell is not at the target logic state.

3. The method of claim 2 , further comprising:

collecting the PLC that tracks a repeated number of the programming.

4. The method of claim 1 , further comprising:

prior to programming the memory cell, backing up the portion of the programming data associated with the memory cell in response to a previous risky marking of the memory cell from a previous programming operation.

5. The method of claim 1 , wherein the backing up the portion of the programming data associated with the memory cell comprises programming a redundant memory cell with the portion of the programming data associated with the memory cell.

6. The method of claim 5 , further comprising:

recovering the portion of the programming data associated with the memory cell from the redundant memory cell in response to an unrecoverable error correction code.

7. The method of claim 1 , further comprising:

setting a previous PLC as the threshold value, wherein the previous PLC was used by a previous programming operation and was collected after the memory cell was programmed successfully to a previous target logic state.

8. The method of claim 1 , wherein the programming the memory cell comprises:

programming the memory cell simultaneously with other memory cells in a memory page, wherein all memory cells in the memory page share a word line.

9. The method of claim 8 , further comprising:

backing up portions of the programming data associated with the memory page in response to the PLC of the memory cell.

10. The method of claim 9 , wherein the backing up the portions of the programming data associated with the memory page comprises programming a redundant memory page with the portions of the programming data associated with the memory page.

11. The method of claim 10 , further comprising:

recovering the portions of the programming data associated with the memory page from the redundant memory page in response to an unrecoverable error correction code.

12. A memory storage system, comprising:

a three-dimensional (3D) NAND memory, comprising:

a plurality of memory strings, penetrating through a film stack of alternating conductive and dielectric layers disposed on a substrate, wherein each memory string comprises a plurality of memory cells; and

a memory controller, configured to:

send programming data to the 3D NAND memory to program a memory cell;

in response to programming the memory cell according to the programming data, verify whether the memory cell is at a target logic state according to the programming data;

determine a program loop count (PLC) of the memory cell;

in response to the PLC being greater than a threshold value, mark the memory cell as risky:

program the memory cell according to second programming data;

in response to programming the memory cell according to the second programming data, verify whether the memory cell is at the target logic state according to the second programming data; and

in response to verifying that the memory cell is at the target logic state and the memory cell being marked as risky, back up a portion of the second programming data.

13. The memory storage system of claim 12 , wherein the PLC tracks a number of programming for the memory cell to reach a target logic state according to the programming data.

14. The memory storage system of claim 12 , wherein the memory controller is further configured to create a risky block table for the 3D NAND memory, wherein the risky block table comprises a first set of addresses identifying the memory cell marked risky.

15. The memory storage system of claim 14 , wherein the memory controller is further configured to create a risky to backup table for the 3D NAND memory, wherein the risky to backup table comprises:

the first set of addresses identifying the memory cell marked risky; and

a second set of addresses identifying a redundant memory cell, wherein the redundant memory cell is programmed with the portion of the programming data associated with the memory cell marked risky.

16. The memory storage system of claim 15 , wherein the memory controller is further configured to recover the portion of programming data associated with the memory cell from the redundant memory cell when an unrecoverable error correction code is received.

17. The memory storage system of claim 12 , wherein the threshold value is a previous PLC used by a previous programming operation and was collected after the memory cell was programmed successfully to a previous target logic state.

18. The memory storage system of claim 12 , wherein the memory controller is further configured to back up the portion of the programming data associated with the memory cell, in response to a previous risky marking of the memory cell from a previous programming operation, before the memory cell is programmed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2021
From: WAN, JIE; TAO, WEI; TAO, YUAN; DU, LING; CHENG, BOXUAN; CAO, JIAN
To: YANGTZE MEMORY TECHNOLOGIES CO., LTD.
Reel/Frame 057669/0710 →
Continuity (2)
Continuation PCTCN2021103395 · Jun 30, 2021
Related Publication 20230004297A1 · Jan 5, 2023
References Cited (27)
US 8793556B1 · Northcott · 2014 [cited by examiner]
US 8902658B1 · Raghu · 2014 [cited by examiner]
US 9164836B2 · Guo et al. · 2015 [cited by applicant]
US 9183085B1 · Northcott · 2015 [cited by examiner]
US 9230676B1 · Pang · 2016 [cited by examiner]
US 9460799B1 · Costa et al. · 2016 [cited by applicant]
US 9767914B1 · Leung · 2017 [cited by applicant]
US 10714198B1 · Yang et al. · 2020 [cited by applicant]
US 20060083069A1 · Fasoli · 2006 [cited by examiner]
US 20080031047A1 · Ha · 2008 [cited by examiner]
US 20080144370A1 · Park et al. · 2008 [cited by applicant]
US 20080162789A1 · Choi et al. · 2008 [cited by applicant]
US 20090285029A1 · Shibata · 2009 [cited by examiner]
US 20120005558A1 · Steiner · 2012 [cited by examiner]
US 20120063237A1 · Ghilardelli · 2012 [cited by applicant]
US 20120069674A1 · Lee · 2012 [cited by examiner]
US 20130138870A1 · Yoon · 2013 [cited by examiner]
US 20140310448A1 · Nam · 2014 [cited by examiner]
US 20150146484A1 · Lee · 2015 [cited by examiner]
US 20170125117A1 · Tseng · 2017 [cited by examiner]
US 20190043596A1 · Madraswala et al. · 2019 [cited by applicant]
CN 101206923A · 2008 [cited by applicant]
CN 101246738A · 2008 [cited by applicant]
CN 104011800A · 2014 [cited by applicant]
CN 107919158A · 2018 [cited by applicant]
JP 2008079438A · 2008 [cited by applicant]
International Search Report of the International Searching Authority directed to related International Patent Application No. PCT/CN2021/103395, mailed Mar. 28, 2022; 5 pages. [cited by applicant]