Suspending and resuming non-volatile memory operations
First Claim
1. A method of operation in a non-volatile memory system, comprising:
- starting, in the non-volatile memory system, execution of a first memory operation from a first queue;
in conjunction with starting execution of the first memory operation, starting a first timer in the non-volatile memory system, wherein the first timer is set to expire after a first predetermined time interval; and
after starting the first timer, in accordance with a determination that the first timer has expired, performing one or more operations in the non-volatile memory system including;
determining whether a second queue contains at least one memory operation for execution;
in accordance with a determination that the second queue contains at least one memory operation for execution, performing one or more operations including;
suspending the first memory operation from the first queue;
executing a second memory operation from the second queue; and
after completing execution of the second memory operation from the second queue, performing one or more subsequent operations; and
in accordance with a determination that the second queue does not contain at least one memory operation for execution, performing one or more operations including;
restarting the first timer, wherein restarting the first timer sets the first timer to expire after an interval equal to the first predetermined time interval; and
continuing execution of the first memory operation from the first queue.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of operation in a non-volatile memory system includes starting execution of a first memory operation from a first queue and in conjunction with starting a first timer, set to expire after a first predetermined time interval. The method further includes, in accordance with a determination that the first timer has expired, determining whether a second queue contains at least one memory operation for execution, and if so, suspending the first memory operation, executing a second memory operation from the second queue, and after completing execution of the second memory operation from the second queue, performing one or more subsequent operations (e.g., resuming execution of the first memory operation and restarting the first timer). In addition, the method includes, when the second queue does not contain at least one memory operation for execution, restarting the first timer, and continuing execution of the first memory operation from the first queue.
-
Citations
25 Claims
-
1. A method of operation in a non-volatile memory system, comprising:
-
starting, in the non-volatile memory system, execution of a first memory operation from a first queue; in conjunction with starting execution of the first memory operation, starting a first timer in the non-volatile memory system, wherein the first timer is set to expire after a first predetermined time interval; and after starting the first timer, in accordance with a determination that the first timer has expired, performing one or more operations in the non-volatile memory system including; determining whether a second queue contains at least one memory operation for execution; in accordance with a determination that the second queue contains at least one memory operation for execution, performing one or more operations including; suspending the first memory operation from the first queue; executing a second memory operation from the second queue; and after completing execution of the second memory operation from the second queue, performing one or more subsequent operations; and in accordance with a determination that the second queue does not contain at least one memory operation for execution, performing one or more operations including; restarting the first timer, wherein restarting the first timer sets the first timer to expire after an interval equal to the first predetermined time interval; and continuing execution of the first memory operation from the first queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-volatile memory system including a plurality of portions, each portion having one or more non-volatile memory devices, wherein for each portion, the non-volatile memory system comprises:
-
one or more timers; a first queue and a second queue; and a logic module, wherein the logic module is configured to; start, in the non-volatile memory system, execution of a first memory operation from the first queue; in conjunction with starting execution of the first memory operation, start a first timer of the one or more timers in the non-volatile memory system, wherein the first timer is set to expire after a first predetermined time interval; and after starting the first timer, in accordance with a determination that the first timer has expired, perform one or more operations in the non-volatile memory system including; determining whether the second queue contains at least one memory operation for execution; in accordance with a determination that the second queue contains at least one memory operation for execution, performing one or more operations including; suspending the first memory operation from the first queue; executing a second memory operation from the second queue; and after completing execution of the second memory operation from the second queue, performing one or more subsequent operations; and in accordance with a determination that the second queue does not contain at least one memory operation for execution, performing one or more operations including; restarting the first timer, wherein restarting the first timer sets the first timer to expire after an interval equal to the first predetermined time interval; and continuing execution of the first memory operation from the first queue. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable storage medium storing one or more programs configured for execution by one or more processors of a non-volatile memory system, the one or more programs including instructions for:
-
starting, in the non-volatile memory system, execution of a first memory operation from a first queue; in conjunction with starting execution of the first memory operation, starting a first timer in the non-volatile memory system, wherein the first timer is set to expire after a first predetermined time interval; and after starting the first timer, in accordance with a determination that the first timer has expired, performing one or more operations in the non-volatile memory system including; determining whether a second queue contains at least one memory operation for execution; in accordance with a determination that the second queue contains at least one memory operation for execution, performing one or more operations including; suspending the first memory operation from the first queue; executing a second memory operation from the second queue; and after completing execution of the second memory operation from the second queue, performing one or more subsequent operations; and in accordance with a determination that the second queue does not contain at least one memory operation for execution, performing one or more operations including; restarting the first timer, wherein restarting the first timer sets the first timer to expire after an interval equal to the first predetermined time interval and continuing execution of the first memory operation from the first queue. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification