IP Library Granted Patent US 10,430,262
Granted Patent B2
US 10,430,262 · App. 16/178,963 · Granted Oct 1, 2019

Identifying asynchronous power loss

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,430,262
App. No.
16/178,963
Granted
Oct 1, 2019
Kind
B2
Abstract

Apparatus having an array of memory cells include a controller configured to read a particular memory cell of a last written page of memory cells of a block of memory cells of the array of memory cells, determine whether a threshold voltage of the particular memory cell is less than a particular voltage level, and mark the last written page of memory cells as affected by power loss during a programming operation of the last written page of memory cells when the threshold voltage of the particular memory cell is determined to be higher than the particular voltage level.

Claims (38)

1. An apparatus, comprising:

an array of memory cells; and

a controller to perform access operations on the array of memory cells;

wherein the controller is configured to:

read a particular memory cell of a last written page of memory cells of a block of memory cells of the array of memory cells;

determine whether a threshold voltage of the particular memory cell is less than a particular voltage level; and

if the threshold voltage of the particular memory cell is determined to be less than the particular voltage level, determine that the last written page of memory cells was programmed normally; and

if the threshold voltage of the particular memory cell is determined to be higher than the particular voltage level:

read respective data states of the memory cells of the last written page of memory cells, including memory cells configured to store user data and memory cells configured to store error correction code for the user data;

perform error handling on the user data using the error correction code for the user data; and

mark the page of memory cells as affected by power loss if performing the error handling on the user data fails to correct any errors detected in the user data.

2. The apparatus of claim 1 , wherein the controller is further configured to determine that the last written page of memory cells was programmed normally if the threshold voltage of the particular memory cell is determined to be equal to the particular voltage level.

3. The apparatus of claim 1 , wherein reading the particular memory cell for data output is unavailable during normal operation of the apparatus.

4. The apparatus of claim 1 , wherein the controller being configured to determine whether the threshold voltage of the particular memory cell is less than the particular level comprises the controller being configured to determine whether the particular memory cell is storing a lowest data state of a plurality of possible programmed data states.

5. The apparatus of claim 1 , wherein the controller is configured to:

iteratively program a group of memory cells of the array of memory cells to respective desired data states as part of a programming operation on the array of memory cells;

determine whether a power loss to the apparatus from the power supply is indicated while iteratively programming the group of memory cells to the respective desired data states; and

if a power loss to the apparatus is indicated while iteratively programming the group of memory cells to the respective desired data states, change the desired data state of a particular memory cell of the group of memory cells before continuing with iteratively programming the group of memory cells to the respective desired data states.

6. The apparatus of claim 5 , wherein the controller is further configured to:

inhibit the particular memory cell from programming during the programming operation until determining that power to the apparatus is lost while iteratively programming the group of memory cells to the respective desired data states; and

enable the particular memory cell for programming during the programming operation in response to changing the desired data state of the particular memory cell.

7. The apparatus of claim 5 , wherein the respective desired data states are respective final desired data states, and wherein the controller is further configured to:

iteratively program the group of memory cells to respective interim desired data states as part of the programming operation prior to iteratively programming the group of memory cells to the respective final desired data states.

8. The apparatus of claim 1 , wherein the controller, in iteratively programming the group of memory cells to the respective desired data states, is further configured to:

inhibit any memory cell of the group of memory cells having its desired data state from programming;

apply a programming pulse to each memory cell of the group of memory cells;

verify whether memory cells of the group of memory cells have attained their respective desired data states;

determine whether programming is complete; and

if programming is not complete:

inhibit any memory cell of the group of memory cells attaining its desired data state from further programming; and

change a voltage level for programming pulses before applying a next programming pulse to each memory cell of the group off memory cells.

9. The apparatus of claim 8 , wherein the controller is further configured to:

determine whether a power loss to the apparatus is indicated after determining whether programming is complete and before inhibiting any memory cell of the group of memory cells attaining its desired data state from further programming if programming is not complete; and

change the desired data state of the particular memory cell after determining that a power loss to the apparatus is indicated and before changing the voltage level for the programming pulses.

10. The apparatus of claim 1 , wherein the group of memory cells is a page of memory cells of the array of memory cells, the apparatus further comprising:

an energy storage device configured to store energy from a power supply;

wherein the controller configured to continue with iteratively programming the page of memory cells to the respective desired data states comprises the controller being configured to continue with iteratively programming the page of memory cells to the respective desired data states while receiving power from the energy storage device.

11. The apparatus of claim 1 , wherein the apparatus is a solid state drive, and the array of memory cells is contained in a memory device of the solid state drive.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051026/0568 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050718/0764 →
SUPPLEMENT NO. 11 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048082/0860 →
SUPPLEMENT NO. 2 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048082/0889 →