IP Library › Granted Patent US 10,579,307
Granted Patent B2
US 10,579,307 · App. 16/566,545 · Granted Mar 3, 2020

Correcting power loss in NAND memory devices

Inventors: Michael G. Miller (Boise, ID); Kishore Kumar Muchherla (Fremont, CA); Harish Reddy Singidi (Fremont, CA); Sampath Ratnam (Boise, ID); Renato Padilla, Jr. (Folsom, CA); Gary F. Besinga (Boise, ID); Peter Sean Feeley (Boise, ID)
Assignee: Micron Technology, Inc.
G06F3/0659G06F3/0619G06F3/0679G11C16/10G11C16/08
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 10,579,307
App. No.
16/566,545
Granted
Mar 3, 2020
Kind
B2
Abstract

Devices and techniques for correcting for power loss in NAND memory devices are disclosed herein. The NAND memory devices may comprise a number of physical pages. For example, a memory controller may detect a power loss indicator at the NAND flash memory. The memory controller may identify a last-written physical page and determine whether the last-written physical page comprises more than a threshold number of low-read-margin cells. If the last-written physical page comprises more than the threshold number of low-read-margin cells, the memory controller may provide a programming voltage to at least the low-read-margin cells.

Claims (63)

1. A method of managing a memory device comprising a number of physical pages with each of the physical pages comprising a number of memory cells, comprising:

detecting a power loss at the memory device;

in response to detecting the power loss at the memory device, identifying a last-written physical page, the last-written physical page being a last physical page of the memory device that was written to before the detected power loss;

determining a number of low-read-margin memory cells at the last-written physical page, wherein a first memory cell of the low-read-margin memory cells has a difference between a memory cell threshold voltage for the first memory cell and a read level for the last-written physical page that is less than a threshold difference;

determining whether the number of low-read-margin memory cells is greater than a threshold number of low-read-margin memory cells; and

in response to determining that the number of low-read-margin memory cells is greater than the threshold number of low-read-margin memory cells, providing a programming voltage to a subset of memory cells of the last-written physical page, wherein the subset of memory cells comprises the low-read-margin memory cells.

2. The method of claim 1 , further comprising:

detecting a second power loss at the memory device;

in response to detecting the second power loss at the memory device, identifying a second last-written physical page, the second last-written physical page being a last physical page of the memory device that was written before the detected second power loss;

determining a number of low-read-margin memory cells at the second last-written physical page;

determining whether the number of low-read-margin memory cells at the second last-written physical page is greater than the threshold number of low-read-margin memory cells; and

in response to determining that the number of low-read-margin memory cells at the second last-written physical page is not greater than the threshold number of low-read-margin memory cells, determining that the second power loss has caused the memory device to be improperly programmed.

3. The method of claim 1 , wherein detecting the power loss at the memory device comprises determining that a programming flag is set during an initialization of the memory device, the programming flag being set during the initialization indicating that a programming cycle was in progress during a power loss.

4. The method of claim 1 , further comprising identifying memory cells of the last-written physical page that are at a first logical level corresponding to a highest threshold voltage distribution, wherein the low-read-margin memory cells are selected from the memory cells at the first logical level.

5. The method of claim 1 , further comprising identifying memory cells of the last-written physical page that are at a first logical level corresponding to a highest threshold voltage distribution, wherein providing the programming voltage to the subset of memory cells of the last-written physical page comprises providing the programming voltage only to the memory cells of the last-written physical page that are at the first logical level.

6. The method of claim 1 , further comprising identifying memory cells of the last-written physical page that are at a first logical level corresponding to a highest threshold voltage distribution, wherein providing the programming voltage to the subset of memory cells of the last-written physical page comprises providing the programming voltage only to low-read-margin memory cells that are part of the memory cells of the last-written physical page that are at the first logical level.

7. The method of claim 1 , wherein identifying the last-written physical page comprises determining a last-assigned logical page of a block, and wherein the last-written physical page comprises the last-assigned logical page.

8. The method of claim 1 , wherein the determining the number of low-read-margin memory cells comprises:

identifying memory cells of the last-written physical page that are at a first logical level corresponding to a highest threshold voltage distribution;

reading the last-written physical page with a first read level for the first logical level;

reading the last-written physical page with a second read level for the first logical level, wherein the second read level is higher than the first read level; and

determining that a number of bit errors from the reading at the second read level is higher than a number of bit errors from the reading at the first read level by more than a threshold number of bit errors.

9. The method of claim 1 , wherein providing the programming voltage to the subset of memory cells of the last-written physical page comprises:

identifying memory cells of the last-written physical page that are at a first logical level corresponding to a highest threshold voltage distribution;

providing an inhibit voltage to at a bit line corresponding to a first remaining memory cell of the last-written physical page that is not at the first logical level; and

providing the programming voltage to a word line corresponding to the last-written physical page.

10. The method of claim 1 , further comprising:

reading the last-written physical page with a second read level for a first logical level, wherein the first logical level corresponds to a highest threshold voltage distribution, and wherein the second read level is higher than a standard read level for the first logical level;

identifying memory cells of the last-written page that returned a bit error when read at the second read level and are at the first logical level;

providing an inhibit voltage to a bit line corresponding to a first remaining memory cell of the last-written physical page that is at the first logical level and did not return a bit error when read at the second read level; and

providing the programming voltage at a word line corresponding to the last-written physical page.

11. The method of claim 1 , wherein providing the programming voltage to at least the low-read-margin memory cells comprises providing a number of programming pulses to at least the low-read-margin memory cells, wherein the number of programming pulses is less than a number of programming pulses of a programming cycle for the memory device.

12. A memory device comprising:

a memory array comprising a number of physical pages, where each of the number of physical pages comprises a number of memory cells; and

a memory controller including a processor configured to execute instructions stored in the memory device, wherein the instructions when executed by the processor cause the processor to perform operations comprising:

detecting a power loss at the memory device;

in response to detecting the power loss at the memory device, identifying a last-written physical page, the last-written physical page being a last physical page of the memory device that was written to before the detected power loss;

determining a number of low-read-margin memory cells at the last-written physical page, wherein a first memory cell of the low-read-margin memory cells has a difference between a memory cell threshold voltage for the first memory cell and a read level for the last-written physical page that is less than a threshold difference;

determining whether the number of low-read-margin memory cells is greater than a threshold number of low-read-margin memory cells; and

in response to determining that the number of low-read-margin memory cells is greater than the threshold number of low-read-margin memory cells, providing a programming voltage to a subset of memory cells of the last-written physical page, wherein the subset of memory cells comprises the low-read-margin memory cells.

13. The memory device of claim 12 , the operations further comprising:

detecting a second power loss at the memory device;

in response to detecting the second power loss at the memory device, identifying a second last-written physical page, the second last-written physical page being a last physical page of the memory device that was written before the detected second power loss;

determining a number of low-read-margin memory cells at the second last-written physical page;

determining whether the number of low-read-margin memory cells at the second last-written physical page is greater than the threshold number of low-read-margin memory cells; and

in response to determining that the number of low-read-margin memory cells at the second last-written physical page is not greater than the threshold number of low-read-margin memory cells, determining that the second power loss has caused the memory device to be improperly programmed.

14. The memory device of claim 12 , wherein detecting the power loss at the memory device comprises determining that a programming flag is set during an initialization of the memory device, the programming flag being set during the initialization indicating that a programming cycle was in progress during a power loss.

15. The memory device of claim 12 , the operations further comprising identifying memory cells of the last-written physical page that are at a first logical level corresponding to a highest threshold voltage distribution, wherein the low-read-margin memory cells are selected from the memory cells at the first logical level.

16. The memory device of claim 12 , the operations further comprising identifying memory cells of the last-written physical page that are at a first logical level corresponding to a highest threshold voltage distribution, wherein providing the programming voltage to the subset of memory cells of the last-written physical page comprises providing the programming voltage only to the memory cells of the last-written physical page that are at the first logical level.

17. The memory device of claim 12 , the operations further comprising identifying memory cells of the last-written physical page that are at a first logical level corresponding to a highest threshold voltage distribution, wherein providing the programming voltage to the subset of memory cells of the last-written physical page comprises providing the programming voltage only to low-read-margin memory cells that are part of the memory cells of the last-written physical page that are at the first logical level.

18. A machine readable medium comprising instructions thereon that, when executed by a processor, cause the processor to perform operations comprising:

detecting a power loss at a memory device;

in response to detecting the power loss at the memory device, identifying a last-written physical page, the last-written physical page being a last physical page of the memory device that was written to before the detected power loss;

determining a number of low-read-margin memory cells at the last-written physical page, wherein a first memory cell of the low-read-margin memory cells has a difference between a memory cell threshold voltage for the first memory cell and a read level for the last-written physical page that is less than a threshold difference;

determining whether the number of low-read-margin memory cells is greater than a threshold number of low-read-margin memory cells; and

in response to determining that the number of low-read-margin memory cells is greater than the threshold number of low-read-margin memory cells, providing a programming voltage to a subset of memory cells of the last-written physical page, wherein the subset of memory cells comprises the low-read-margin memory cells.

19. The medium of claim 18 , wherein the operations further comprise:

detecting a second power loss at the memory device;

in response to detecting the second power loss at the memory device, identifying a second last-written physical page, the second last-written physical page being a last physical page of the memory device that was written before the detected second power loss;

determining a number of low-read-margin memory cells at the second last-written physical page;

determining whether the number of low-read-margin memory cells at the second last-written physical page is greater than the threshold number of low-read-margin memory cells; and

in response to determining that the number of low-read-margin memory cells at the second last-written physical page is not greater than the threshold number of low-read-margin memory cells, determining that the second power loss has caused the memory device to be improperly programmed.

20. The medium of claim 18 , wherein detecting the power loss at the memory device comprises determining that a programming flag is set during an initialization of the memory device, the programming flag being set during the initialization indicating that a programming cycle was in progress during a power loss.

Continuity (2)
Continuation 15693121 · Aug 31, 2017
Related Publication 20200004465A1 · Jan 2, 2020
Cited By (1)
US 12,249,381