IP Library Granted Patent US 11,068,366
Granted Patent B2
US 11,068,366 · App. 16/523,945 · Granted Jul 20, 2021

Power fail handling using stop commands

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 11,068,366
App. No.
16/523,945
Filed
Jul 26, 2019
Granted
Jul 20, 2021
Kind
B2
Art Unit
2114
USPC
714/14
Abstract

A device that provides power fail handling using command suspension includes non-volatile memory circuits and a controller that is configured to determine that a power fail event has occurred. The controller is configured to determine, in response to the determination that the power fail event has occurred, which of the non-volatile memory circuits are executing a first type of memory commands. The controller is also configured to issue a stop command to the determined non-volatile memory circuits to stop execution of the first type of memory commands.

Claims (50)

1. A machine-implemented method, comprising:

detecting whether a power fail event is triggered; and

responsive to the power fail event being triggered:

determining that at least one non-volatile memory device among a plurality of non-volatile memory devices is executing a non-critical memory command; and

issuing a suspend or terminate command, to the determined at least one non-volatile memory device among the plurality of non-volatile memory devices, to suspend or terminate execution of the non-critical memory command.

2. The machine-implemented method of claim 1 , wherein the non-critical memory command comprises an erase command or a program command for writing a first type of data.

3. The machine-implemented method of claim 2 , wherein the first type of data comprises non-acknowledged host data.

4. The machine-implemented method of claim 1 , further comprising:

after issuance of the suspend or terminate command, issuing a data preservation command.

5. The machine-implemented method of claim 4 , wherein the data preservation command comprises a program command for writing one or more of system data or acknowledged host data.

6. The machine-implemented method of claim 1 , wherein:

the suspend or terminate command is a suspend command; and

the suspended non-critical memory command is resumed after a subsequent command is issued.

7. The machine-implemented method of claim 1 , wherein:

the suspend or terminate command is a terminate command; and

the terminated non-critical memory command is not resumed after a subsequent command is issued.

8. The machine-implemented method of claim 1 , wherein:

the suspend or terminate command is a suspend command; and

the suspend command comprises a predetermined prefix to allow restarting the suspended non-critical memory command.

9. The machine-implemented method of claim 1 , wherein:

the plurality of non-volatile memory devices and the determined at least one non-volatile memory device among the plurality of non-volatile memory devices belong to a first die or a first plane; and

responsive to a new program command being issued, the new program command is sent to a second die or a second plane that is different from the first die or the first plane.

10. The machine-implemented method of claim 1 , wherein:

detecting whether the power fail event is triggered comprises detecting, that the power fail event is triggered, before an operating voltage level reaches a predetermined operating voltage threshold; and

the method further comprises: writing data from a volatile memory to one or more non-volatile memory devices of the plurality of non-volatile memory devices, before the operating voltage level drops below the predetermined operating voltage threshold.

11. A data storage system, comprising:

a plurality of non-volatile memory devices; and

a controller configured to cause:

detecting that a power fail event is triggered; and

responsive to the power fail event being triggered:

determining that at least one non-volatile memory device among the plurality of non-volatile memory devices is executing a first type of memory commands; and

issuing a suspend or terminate command, to the determined at least one non-volatile memory device among the plurality of non-volatile memory devices, to suspend or terminate execution of the first type of memory commands.

12. The data storage system of claim 11 , wherein the first type of memory commands comprises an erase command or a program command for writing a first type of data.

13. The data storage system of claim 12 , wherein the first type of data comprises non-acknowledged host data.

14. The data storage system of claim 11 , wherein the controller is further configured to cause:

after issuance of the suspend or terminate command, issuing a data preservation command.

15. The data storage system of claim 14 , wherein the data preservation command comprises a program command for writing one or more of system data or acknowledged host data.

16. The data storage system of claim 11 , wherein:

the suspend or terminate command is a suspend command; and

the suspend command comprises a predetermined prefix to allow restarting the suspended first type of memory commands.

17. The data storage system of claim 11 , wherein upon issuance of the suspend or terminate command, an amount of available non-volatile memory is greater than an amount of non-volatile memory available if the execution of the first type of memory commands is completed.

18. A system, comprising:

a plurality of non-volatile memory devices;

means for detecting that a power fail event is triggered;

means for determining, responsive to the power fail event being triggered, that at least one non-volatile memory device among the plurality of non-volatile memory devices is executing a first type of memory commands; and

means for issuing a suspend or terminate command, to the determined at least one non-volatile memory device among the plurality of non-volatile memory devices, to suspend or terminate execution of the first type of memory commands.

19. The system of claim 18 , wherein the first type of memory commands comprises either an erase command, or a program command for writing non-acknowledged host data.

20. The system of claim 18 , wherein:

the plurality of non-volatile memory devices and the determined at least one non-volatile memory device among the plurality of non-volatile memory devices belong to a first die or a first plane; and

the system further comprises means for sending, responsive to a subsequent command being issued, the subsequent command to a second die or a second plane, wherein the second die is different from the first die, and the second plane is different from the first plane.