IP Library Granted Patent US 9,886,214
Granted Patent B2
US 9,886,214 · App. 15/370,391 · Granted Feb 6, 2018

Nonvolatile memory system with erase suspend circuit and method for erase suspend management

Inventors: Rino Micheloni (Turate, IT); Antonio Aldarese (Vimercate, IT); Salvatrice Scommegna (Cornate D'Adda, IT)
Assignee: IP GEM GROUP, LLC
G06F3/0652G06F3/0604G06F3/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,886,214
App. No.
15/370,391
Granted
Feb 6, 2018
Kind
B2
Abstract

A nonvolatile memory controller and a method for erase suspend management are disclosed. The nonvolatile memory controller includes an erase suspend circuit configured for determining a pre-suspend time each time that an erase operation of the nonvolatile memory device is suspended and for determining whether an erase-suspend limit has been reached using the determined pre-suspend time. The erase suspend circuit is further configured for preventing subsequent suspends of the erase operation when the erase-suspend limit has been reached.

Claims (67)

1. A method comprising:

identifying an erase-suspend limit;

sending an erase suspend command to a nonvolatile memory device to suspend an erase operation of the nonvolatile memory device;

each time that the erase suspend command is sent to the nonvolatile memory device:

determining a pre-suspend time, wherein the pre-suspend time for a first suspend of the erase operation is the time between a start of the erase operation and the first suspend of the erase operation, and the pre-suspend time for each additional suspend of the erase operation is the time between a resumption of the erase operation and the following suspend of the erase operation;

summing the determined pre-suspend time with all previously determined pre-suspend times for the erase operation to obtain a first sum; and

comparing the first sum to the erase-suspend limit to determine whether the erase-suspend limit has been reached; and

preventing subsequent suspends of the erase operation when the erase-suspend limit has been reached by not allowing any further erase suspend commands to be sent to the nonvolatile memory device until after the erase operation has completed.

2. The method of claim 1 further comprising testing sample nonvolatile memory devices that are similar to the nonvolatile memory device to determine the erase-suspend limit that will maintain the operation of the sample nonvolatile memory devices within required bit error rates established for the sample nonvolatile memory devices.

3. A method comprising:

identifying a first erase-suspend limit, a second erase-suspend limit and a third erase-suspend limit, wherein the first erase-suspend limit is greater than the second erase-suspend limit and the second erase-suspend limit is greater than the third erase-suspend limit;

each time that an erase operation of a nonvolatile memory device is suspended:

determining a pre-suspend time, wherein the pre-suspend time for a first suspend of the erase operation is the time between a start of the erase operation and the first suspend of the erase operation, and the pre-suspend time for each additional suspend of the erase operation is the time between a resumption of the erase operation and the following suspend of the erase operation;

counting the number of suspends having a pre-suspend time that does not exceed a first pre-suspend time threshold to obtain a first sum;

counting the number of suspends having a pre-suspend time that exceeds the first pre-suspend time threshold and that does not exceed a second pre-suspend time threshold to obtain a second sum; and

counting the number of suspends having a pre-suspend time that exceeds the second pre-suspend time threshold to obtain a third sum; and

preventing subsequent suspends of the erase operation when the first sum reaches the first erase-suspend limit or when the second sum reaches the second erase-suspend limit or when the third sum reaches the third erase-suspend limit.

4. A method comprising:

identifying an erase-suspend limit;

sending an erase suspend command to a nonvolatile memory device to suspend an erase operation of the nonvolatile memory device;

each time that the erase suspend command is sent to the nonvolatile memory device:

determining a pre-suspend time, wherein the pre-suspend time for a first suspend of the erase operation is the time between a start of the erase operation and the first suspend of the erase operation, and the pre-suspend time for each additional suspend of the erase operation is the time between a resumption of the erase operation and the following suspend of the erase operation;

determining a weighted pre-suspend time using the determined pre-suspend time;

summing the determined weighted pre-suspend time with all previously determined weighted pre-suspend times for the erase operation to obtain a first sum; and

comparing the first sum to the erase-suspend limit to determine whether the erase-suspend limit has been reached; and

preventing subsequent suspends of the erase operation when the erase-suspend limit has been reached by not allowing any further erase suspend commands to be sent to the nonvolatile memory device until after the erase operation has completed.

5. The method of claim 4 wherein:

the weighted pre-suspend time is equal to a predetermined first weighted pre-suspend time when the determined pre-suspend time does not exceed a first pre-suspend time threshold; and

the weighted pre-suspend time is equal to a predetermined second weighted pre-suspend time that is greater than the first weighted pre-suspend time when the determined pre-suspend time exceeds the first pre-suspend time threshold.

6. The method of claim 4 wherein:

the weighted pre-suspend time is equal to a predetermined first weighted pre-suspend time when the determined pre-suspend time does not exceed a first pre-suspend time threshold;

the weighted pre-suspend time is equal to a predetermined second weighted pre-suspend time when the determined pre-suspend time exceeds the first pre-suspend time threshold but does not exceed a second pre-suspend time threshold;

the weighted pre-suspend time is equal to a predetermined third weighted pre-suspend time when the determined pre-suspend time exceeds the second pre-suspend time threshold; and

wherein the third weighted pre-suspend time is greater than the second weighted pre-suspend time, and the second weighted pre-suspend time is greater than the first weighted pre-suspend time.

7. The method of claim 6 further comprising testing sample nonvolatile memory devices that are similar to the nonvolatile memory device to determine the first weighted pre-suspend time, the second weighted pre-suspend time, the third weighted pre-suspend time, the first pre-suspend time threshold and the second pre-suspend time threshold that will maintain the operation of the sample nonvolatile memory devices within required bit error rates established for the sample nonvolatile memory devices.

8. The method of claim 4 further comprising storing a table that includes weighted pre-suspend time values, the determining a weighted pre-suspend time comprising indexing the table with the determined pre-suspend time to obtain a corresponding weighted pre-suspend time value.

9. The method of claim 4 wherein determining a weighted pre-suspend time further comprises multiplying the determined pre-suspend time by a weighting factor.

10. A nonvolatile memory controller comprising:

an erase suspend circuit configured for suspending an erase operation of a nonvolatile memory device by sending an erase suspend command to the nonvolatile memory device, each time that the erase suspend command is sent to the nonvolatile memory device, the erase suspend circuit configured for:

determining a pre-suspend time, wherein the determined pre-suspend time for a first suspend of the erase operation is the time between a start of the erase operation and the first suspend of the erase operation, and the determined pre-suspend time for each additional suspend of the erase operation is the time between a resumption of the erase operation and the following suspend of the erase operation;

summing the determined pre-suspend time with all previously determined pre-suspend times for the erase operation;

comparing the sum to an erase-suspend limit to determine whether the erase-suspend limit has been reached; and

preventing subsequent suspends of the erase operation when the erase-suspend limit has been reached by not allowing any further erase suspend commands to be sent to the nonvolatile memory device until after the erase operation has completed.

11. A nonvolatile memory controller comprising:

an erase suspend circuit configured for suspending an erase operation of a nonvolatile memory device by sending an erase suspend command to the nonvolatile memory device, each time that the erase suspend command is sent to the nonvolatile memory device, the erase suspend circuit configured for:

determining a pre-suspend time, wherein the determined pre-suspend time for a first suspend of the erase operation is the time between a start of the erase operation and the first suspend of the erase operation, and the determined pre-suspend time for each additional suspend of the erase operation is the time between a resumption of the erase operation and the following suspend of the erase operation;

counting the number of suspends of the erase operation having a pre-suspend time that does not exceed a first pre-suspend time threshold to obtain a first sum;

counting the number of suspends of the erase operation having a pre-suspend time that exceeds the first pre-suspend time threshold to obtain a second sum;

comparing the first sum to a first erase-suspend limit;

comparing the second sum to a second erase-suspend limit; and

preventing subsequent suspends of the erase operation when an erase-suspend limit has been reached by not allowing any further erase suspend commands to be sent to the nonvolatile memory device until after the erase operation has completed, the erase-suspend limit determined to be reached when the first sum reaches the first erase-suspend limit or when the second sum reaches the second erase-suspend limit.

12. The nonvolatile memory controller of claim 11 further comprising:

wherein the counting the number of suspends of the erase operation having a pre-suspend time that exceeds the first pre-suspend time threshold further comprises counting the number of suspends having a pre-suspend time that exceeds the first pre-suspend time threshold and that does not exceed a second pre-suspend time threshold to obtain the second sum, and counting the number of suspends having a pre-suspend time that exceeds a second pre-suspend time threshold to obtain a third sum;

wherein the comparing the second sum to a second erase-suspend limit further comprises comparing the second sum to the second erase-suspend limit and comparing the third sum to a third erase-suspend limit; and

wherein the erase-suspend limit is determined to be reached when the first sum reaches the first erase-suspend limit or when the second sum reaches the second erase-suspend limit or when the third sum reaches the third erase-suspend limit.

13. A-nonvolatile memory controller comprising:

an erase suspend circuit configured for suspending an erase operation of a nonvolatile memory device by sending an erase suspend command to the nonvolatile memory device, each time that the erase suspend command is sent to the nonvolatile memory device, the erase suspend circuit configured for:

determining a pre-suspend time, wherein the determined pre-suspend time for a first suspend of the erase operation is the time between a start of the erase operation and the first suspend of the erase operation, and the determined pre-suspend time for each additional suspend of the erase operation is the time between a resumption of the erase operation and the following suspend of the erase operation;

determining a weighted pre-suspend time using the determined pre-suspend time;

summing the determined weighted pre-suspend time with all previously determined weighted pre-suspend times for the erase operation;

comparing the sum to an erase-suspend limit to determine whether the erase-suspend limit has been reached; and

preventing subsequent suspends of the erase operation when the erase-suspend limit has been reached by not allowing any further erase suspend commands to be sent to the nonvolatile memory device until after the erase operation has completed.

14. The nonvolatile memory controller of claim 13 wherein the erase suspend circuit is configured for determining that the weighted pre-suspend time is equal to a first weighted pre-suspend time when the determined pre-suspend time does not exceed a first pre-suspend time threshold and determining that the weighted pre-suspend time is equal to a second weighted pre-suspend time that is greater than the first weighted pre-suspend time when the determined pre-suspend time exceeds the first pre-suspend time threshold.

15. The nonvolatile memory controller of claim 13 wherein the erase suspend circuit is configured for determining that the weighted pre-suspend time is equal to a first weighted pre-suspend time when the determined pre-suspend time does not exceed a first pre-suspend time threshold, determining that the weighted pre-suspend time is equal to a second weighted pre-suspend time when the determined pre-suspend time exceeds the first pre-suspend time threshold but does not exceed a second pre-suspend time threshold and determining that the weighted pre-suspend time is equal to a third weighted pre-suspend time when the determined pre-suspend time exceeds the second pre-suspend time threshold, wherein the third weighted pre-suspend time is greater than the second weighted pre-suspend time, and the second weighted pre-suspend time is greater than the first weighted pre-suspend time.

16. The nonvolatile memory controller of claim 15 wherein the first pre-suspend time threshold is 300 microseconds and the second pre-suspend time threshold is 1,000 microseconds.

17. The nonvolatile memory controller of claim 13 wherein determining a weighted pre-suspend time for each suspension of the erase operation using the determined pre-suspend time further comprises multiplying the determined pre-suspend time by a weighting factor.

18. The method of claim 3 further comprising testing sample nonvolatile memory devices that are similar to the nonvolatile memory device to determine the first erase-suspend limit, the second erase-suspend limit, the third erase-suspend limit, the first pre-suspend time threshold and the second pre-suspend time threshold that will maintain the operation of the sample nonvolatile memory devices within required bit error rates established for the sample nonvolatile memory devices.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2017
From: MICROSEMI SOLUTIONS (U.S.), INC.
To: IP GEM GROUP, LLC
Reel/Frame 043212/0001 →
CHANGE OF NAME Recorded Aug 7, 2017
From: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
To: MICROSEMI SOLUTIONS (U.S.), INC.
Reel/Frame 043458/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: MICHELONI, RINO; ALDARESE, ANTONIO; SCOMMEGNA, SALVATRICE
To: MICROSEMI STORAGE SOLUTIONS (US), INC.
Reel/Frame 040536/0548 →
Continuity (2)
Provisional Application 62266261 · Dec 11, 2015
Related Publication 20170168752A1 · Jun 15, 2017