IP Library Granted Patent US 9,223,514
Granted Patent B2
US 9,223,514 · App. 13/800,628 · Granted Dec 29, 2015

Erase suspend/resume for memory

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,223,514
App. No.
13/800,628
Granted
Dec 29, 2015
Kind
B2
Abstract

An apparatus includes an input/output (I/O) interface configured to couple a controller to an I/O buffer of a memory device. The controller includes an erase module coupled to the I/O interface. The erase module is configured to issue an instruction to the memory device to erase data from the memory device. The controller includes an erase suspend module coupled to the I/O interface. The erase suspend module is configured to determine that an erase operation executing within the electronic memory device satisfies a suspend policy in response to receiving a memory access request to perform an operation on the memory device on which the erase operation is executing. The erase suspend module is further configured to issue a suspend command to the memory device to suspend the erase operation.

Claims (67)

1. An apparatus comprising:

an input/output (I/O) interface configured to couple a controller to an I/O buffer of a memory device;

an erase module coupled to the I/O interface, wherein the erase module is configured to issue an instruction to the memory device to erase data from the memory device; and

an erase suspend module coupled to the I/O interface, the erase suspend module configured to determine that an erase operation executing within the memory device satisfies a suspend policy in response to receiving a memory access request to perform an operation on the memory device on which the erase operation is executing and to issue a suspend command to the memory device to suspend the erase operation, the suspend policy comprising one or more of suspending the erase operation in response to determining that the erase operation is less than halfway completed, suspending the erase operation up to a maximum number of times for suspending a single erase operation, and suspending the erase operation based on an expected rate of memory access requests to the memory device.

2. The apparatus of claim 1 , wherein the suspend policy comprises suspending the erase operation automatically in response to receiving the memory access request.

3. The apparatus of claim 1 , wherein the suspend policy comprises suspending the erase operation in response to determining that the erase operation is less than halfway completed.

4. The apparatus of claim 1 , wherein the suspend policy comprises suspending the erase operation up to a maximum number of times for suspending a single erase operation.

5. The apparatus of claim 1 , wherein the suspend policy comprises suspending the erase operation in response to determining that a benefit associated with suspending the erase operation is greater than a predetermined erase penalty value, wherein the benefit is based on a remaining erase time.

6. The apparatus of claim 1 , wherein the suspend policy comprises suspending the erase operation based on an expected rate of memory access requests to the memory device.

7. The apparatus of claim 1 , wherein the suspend policy comprises:

increasing a probability of suspending the erase operation for each memory access request in a queue of access requests; and

decreasing the probability as the erase operation nears completion.

8. The apparatus of claim 1 , wherein the erase suspend module is further configured to:

store an erase step associated with the erase operation in response to suspending the erase operation; and

resume the erase operation at the erase step in response to completing an operation associated with the memory access request.

9. A method for suspending an erase operation at a memory device, the method comprising:

performing a portion of an erase operation comprising erasing data from a plurality of memory elements in a memory array of the memory device;

receiving a memory access request to the memory device;

calculating a suspend threshold based on a predefined suspend policy determined for the memory device, the suspend policy comprising suspending the erase operation based on an expected rate of memory access requests to the memory device;

determining that the erase operation meets the suspend threshold; and

suspending the erase operation.

10. The method of claim 9 , wherein the suspend policy comprises suspending the erase operation automatically in response to receiving the memory access request.

11. The method of claim 9 , wherein the suspend policy comprises suspending the erase operation in response to determining that the erase operation is less than halfway completed.

12. The method of claim 9 , wherein the suspend policy comprises a maximum number of times for suspending a single erase operation.

13. The method of claim 9 , wherein the suspend policy comprises suspending the erase operation in response to determining that a benefit associated with suspending the erase operation is greater than a predetermined erase penalty value, wherein the benefit is based on a remaining erase time.

14. The method of claim 9 , wherein the suspend policy comprises:

increasing a probability of suspending the erase operation for each memory access request in a queue of access requests; and

decreasing the probability as the erase operation nears completion.

15. The method of claim 9 , further comprising:

storing an erase step associated with the erase operation in response to suspending the erase operation; and

resuming the erase operation at the erase step in response to completing an operation associated with the memory access request.

16. A memory device comprising:

a memory array with a plurality of memory elements, wherein each memory element is configured to store data;

a memory control manager coupled to the memory array and to an input/output (I/O) interface of a memory device controller, wherein the memory control manager is configured to:

determine that an erase operation executing within the memory device satisfies a suspend policy in response to receiving a memory access request from the I/O interface, the suspend policy comprising pausing the erase operation based on the erase operation being less than halfway completed; and

pause the erase operation.

17. The device of claim 16 , wherein the suspend policy comprises pausing the erase operation automatically in response to receiving the memory access request.

18. The device of claim 16 , wherein the suspend policy comprises pausing the erase operation up to a maximum number of times for suspending a single erase operation.

19. The device of claim 16 , wherein the suspend policy comprises pausing the erase operation in response to determining that a benefit associated with suspending the erase operation is greater than a predetermined erase penalty value, wherein the benefit is based on a remaining erase time.

20. The device of claim 16 , wherein the suspend policy comprises:

increasing a probability of pausing the erase operation for each read/write signal in a queue of command signals; and

decreasing the probability as the erase operation nears completion.

21. The device of claim 16 , further comprising an erase register configured to store an erase step associated with the erase operation in response to pausing the erase operation, wherein the memory control manager is further configured to resume the erase operation at the erase step in response to completing an operation associated with the memory access request.

22. A system comprising:

a memory device comprising a plurality of memory elements;

means for storing data on the plurality of memory elements of the memory device;

means for erasing data from the memory elements;

means for determining that an erase operation executing within the memory device satisfies a suspend policy in response to receiving a memory access request, the suspend policy comprising suspending the erase operation up to a maximum number of times for suspending a single erase operation; and

means for suspending the erase operation.

23. The system of claim 22 , further comprising:

means for storing an erase step associated with the erase operation in response to suspending the erase operation; and

means for resuming the erase operation at the erase step in response to completing a read/write operation associated with a read/write signal.

24. A memory device, comprising:

a memory array with a plurality of memory elements, wherein each memory element is configured to store data;

a memory control manager configured to be coupled to the memory array and to an input/output (I/O) interface of a memory device controller, wherein the memory control manager is configured to:

calculate a suspend threshold based on a suspend policy that comprises counts per erase block of the memory device of a number of times an erase block has been programmed and erased;

determine that an erase operation executing within the memory device meets the suspend threshold in response to receiving a memory access request from the I/O interface; and

pause the erase operation.

25. The memory device of claim 24 , wherein the suspend policy further comprises decreasing a probability of suspending the erase operation as the erase operation nears completion.

26. The memory device of claim 24 , wherein the suspend policy is based on the application accessing the memory device.

27. An apparatus comprising:

a memory controller, the memory controller comprising,

an input/output (I/O) interface configured to couple the memory controller to an I/O buffer of a memory device;

wherein the memory controller is configured to determine, in response to receiving a request to perform another operation on the memory device on which the erase operation is executing, whether an erase operation executing on the memory device satisfies a suspend policy; and

wherein the memory controller is configured to issue a suspend command to the memory device to suspend the erase operation in response to determining that the erase operation satisfies the suspend policy, the suspend policy comprising one or more of suspending the erase operation in response to determining that the erase operation is less than halfway completed, suspending the erase operation up to a maximum number of times for suspending a single erase operation, and suspending the erase operation based on an expected rate of memory access requests to the memory device.

28. The apparatus of claim 27 , wherein the suspend policy comprises suspending the erase operation up to a maximum number of times for suspending a single erase operation.

29. The apparatus of claim 27 , wherein the suspend policy comprises suspending the erase operation based on an expected rate of memory access requests to the memory device.

Assignments (9)
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 038807/0898 →
CORRECTIVE ASSIGNMENT TO REMOVE APPL. NO'S 13/925,410 AND 61/663,464 PREVIOUSLY RECORDED AT REEL: 034838 FRAME: 0091. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Apr 30, 2015
From: FUSION-IO, INC
To: FUSION-IO, LLC
Reel/Frame 035603/0748 →
CORRECTIVE ASSIGNMENT TO REMOVE APPL. NO'S 13/925,410 AND 61/663,464 PREVIOUSLY RECORDED AT REEL: 035168 FRAME: 0366. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 30, 2015
From: FUSION-IO, LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 035603/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2015
From: FUSION-IO, LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 035168/0366 →
CHANGE OF NAME Recorded Jan 28, 2015
From: FUSION-IO, INC
To: FUSION-IO, LLC
Reel/Frame 034838/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2014
From: HYUN, JEA WOONG; NELLANS, DAVID
To: FUSION-IO, INC.
Reel/Frame 033980/0316 →