IP Library Granted Patent US 9,933,950
Granted Patent B2
US 9,933,950 · App. 14/656,345 · Granted Apr 3, 2018

Storage operation interrupt

Inventors: Jea Hyun (Los Altos, CA); James Peterson (San Jose, CA); Long Pham (San Ramon, CA); John Strasser (Kaysville, UT); Hairong Sun (Superior, CO); Kapil Verma (San Jose, CA)
Assignee: SANDISK TECHNOLOGIES LLC
G06F3/0611G06F3/067G06F3/0659G06F3/0688
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 9,933,950
App. No.
14/656,345
Granted
Apr 3, 2018
Kind
B2
Abstract

Apparatuses, systems, methods, and computer program products are disclosed for interrupting storage operations. A frequency module is configured to determine a frequency for pausing a storage operation. An interrupt module is configured to pause execution of a storage operation according to a determined frequency. A resume module is configured to continue a paused storage operation in response to a trigger.

Claims (40)

1. A method comprising:

receiving, at a storage element, an indicator of a frequency for interrupting a storage operation;

interrupting execution of the storage operation one or more times based on the indicator, without receiving a suspend command from an external controller, by way of logic within the storage element; and

executing one or more other storage operations on the storage element while the storage operation is interrupted, each of the one or more other storage operations having a shorter duration than the storage operation.

2. The method of claim 1 , further comprising automatically resuming, by the storage element, the interrupted storage operation in response to completing the one or more other storage operations.

3. The method of claim 2 , wherein executing the one or more other storage operations on the storage element comprises executing up to a predetermined number of operations and automatically resuming the interrupted storage operation is in response to completion of the predetermined number of operations.

4. The method of claim 2 , wherein automatically resuming the interrupted storage operation comprises:

initiating a timer, in response to interrupting execution of the storage operation; and

resuming the interrupted storage operation in response to expiration of the timer.

5. The method of claim 1 , further comprising resuming the interrupted storage operation in response to receiving a resume command at the storage element.

6. The method of claim 1 , further comprising:

providing a status indicator of whether the interrupted storage operation is in an incomplete state; and

accepting a command to resume the interrupted storage operation in response to the status indicator indicating that the interrupted storage operation is in the incomplete state.

7. The method of claim 1 , further comprising setting a total number of erase pulses for the interrupted storage operation to be more than a total number of erase pulses for an uninterrupted storage operation of a same type as the interrupted storage operation.

8. The method of claim 1 , further comprising setting a voltage step between pulses of the interrupted storage operation to be smaller than a voltage step between pulses of an uninterrupted storage operation of a same type as the interrupted storage operation.

9. The method of claim 1 , further comprising:

determining a number of segments of the storage operation to execute between interruptions based on the indicator;

counting, a number of completed segments during execution of the storage operation; and

determining to interrupt execution of the storage operation from within the storage element in response to the number of completed segments satisfying the determined number of segments.

10. The method of claim 1 , further comprising:

monitoring a workload for the storage element, the workload comprising a number of read storage operations and a number of program storage operations;

determining a workload ratio of the read storage operations and the program storage operations; and

adjusting the indicator for a subsequent storage operation based on the workload ratio.

11. The method of claim 10 , further comprising determining an average program operation time for the storage element, wherein the indicator is based on the workload ratio and the average program operation time.

12. The method of claim 10 , wherein adjusting the indicator comprises decreasing how often the subsequent storage operation is to be interrupted as a percentage of the program storage operations in the workload ratio increases.

13. The method of claim 1 , wherein the one or more other storage operations comprise uninterruptable storage operations.

14. An apparatus comprising:

an integrated circuit chip comprising non-volatile memory, the integrated circuit chip configured to,

determine a frequency for pausing a storage operation;

pause execution of the storage operation from within the integrated circuit chip according to the determined frequency;

execute one or more other storage operations on the integrated circuit chip while the storage operation is paused, each of the one or more other storage operations having a shorter duration than the storage operation; and

continue the paused storage operation in response to a trigger.

15. The apparatus of claim 14 , the integrated circuit chip further configured to monitor a workload of a non-volatile memory device comprising the non-volatile memory element, wherein the integrated circuit chip adjusts the frequency for pausing the storage operation based on the workload.

16. The apparatus of claim 14 , wherein the integrated circuit chip is configured to determine the frequency for pausing the storage operation based on an indicator received from one or more of a controller for the non-volatile memory element and a storage client.

17. The apparatus of claim 14 , wherein the trigger comprises one or more of receiving a resume request, satisfying a time threshold since pausing execution, and executing a threshold number of other operations on the apparatus while the storage operation is paused.

18. A system comprising:

a plurality of data recording elements, each data recording element configured to interrupt a storage operation from within the respective data recording element based on an indicator of a frequency for interrupting the storage operation; and

a controller for the plurality of data recording elements, the controller monitoring a workload of storage requests for the data recording elements, determining a frequency for interrupting the storage operation before checking for insertable storage operations based on the monitored workload, sending the indicator of the frequency for interrupting the storage operation to one or more of the plurality of data recording elements, checking for insertable storage operations for one or more of the data, recording elements based on the determined frequency for interrupting the storage operation, and instructing the plurality of data recording elements to execute one or more insertable storage operations while the storage operation is interrupted, each of the one or more insertable storage operations having a shorter duration than the storage operation.

19. The system of claim 18 , wherein the controller determines an average program operation time and determines the frequency for interrupting the storage operation based on the monitored workload and the average program operation time.

20. The system of claim 18 , wherein the controller decreases the frequency for interrupting the storage operation as a percentage of program storage operations in the workload increases.

Assignments (5)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: HYUN, JEA; PETERSON, JAMES; PHAM, LONG; STRASSER, JOHN; SUN, HAIRONG; VERMA, KAPIL
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 035159/0951 →
Continuity (2)
Provisional Application 62104579 · Jan 16, 2015
Related Publication 20160210050A1 · Jul 21, 2016