IP Library Granted Patent US 10,643,711
Granted Patent B1
US 10,643,711 · App. 16/228,599 · Granted May 5, 2020

Workload based dynamic erase suspend adaptation

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 10,643,711
App. No.
16/228,599
Granted
May 5, 2020
Kind
B1
Abstract

Aspects relate to dynamically adapting the number of erase suspend operations on a non-volatile memory (NVM) based on the workload. In some aspects, erase suspend optimization involves computing a workload statistic based on at least read operations performed on the NVM over time, setting a maximum number of erase suspend operations allowed to be performed when the workload statistic compares favorably to a workload threshold, and preventing erase suspend operations from being performed when the workload statistic compares unfavorably to the workload threshold.

Claims (67)

1. A data storage apparatus, comprising:

a non-volatile memory; and

a processor coupled to the non-volatile memory and configured to:

compute a workload statistic based on at least a number of read operations performed on the non-volatile memory over a duration of time,

compare the workload statistic with a workload threshold,

set a maximum number of erase suspend operations allowed to be performed within each of a plurality of erase pulses of an erase operation when the workload statistic compares favorably to the workload threshold, wherein the maximum number of erase suspend operations is greater than zero,

prevent erase suspend operations from being performed within any of the plurality of erase pulses when the workload statistic compares unfavorably to the workload threshold;

initiate a first erase pulse of the plurality of erase pulses of the erase operation;

receive a first read operation to performed on the non-volatile memory;

if the workload statistic compares unfavorably to the workload threshold, prevent the first read operation from being executed during the first erase pulse; and

execute the first read operation between the first erase pulse and a second erase pulse of the plurality of erase pulses of the erase operation.

2. The apparatus of claim 1 , wherein the workload threshold comprises a first workload threshold and a second workload threshold, and wherein the setting of the maximum number of erase suspend operations comprises:

setting a first maximum number of erase suspend operations allowed to be performed within each of the plurality of erase pulses of the erase operation when the workload statistic compares favorably to the first workload threshold; and

setting a second maximum number of erase suspend operations allowed to be performed within each of the plurality of erase pulses of the erase operation when the workload statistic compares unfavorably to the first workload threshold and compares favorably to the second workload threshold.

3. The apparatus of claim 2 , wherein the second maximum number of erase suspend operations is less than the first maximum number of erase suspend operations.

4. The apparatus of claim 2 , further comprising:

an additional memory comprising a look-up table, wherein the processor is further configured to access the look-up table to identify the first maximum number of erase suspend operations and the second maximum number of erase suspend operations.

5. The apparatus of claim 1 , wherein the computation of the workload statistic comprises computing an average interval between consecutive read operations performed during the duration of time.

6. The apparatus of claim 1 , wherein the computation of the workload statistic comprises computing an average number of read operations performed during the duration of time.

7. The apparatus of claim 1 , wherein the computation of the workload statistic comprises computing a ratio of write operations to read operations performed during the duration of time.

8. The apparatus of claim 1 , wherein the maximum number of erase suspend operations is less than or equal to twenty.

9. The apparatus of claim 1 , wherein the processor is further configured to:

initiate a first erase pulse of the plurality of erase pulses of the erase operation;

receive a first read operation to performed on the non-volatile memory;

identify a number of previously performed erase suspend operations during the first erase pulse; and

if the workload statistic compares favorably to the workload threshold, perform a first erase suspend operation to execute the first read operation when the number of previously performed erase suspend operations is less than the maximum number of erase suspend operations.

10. The apparatus of claim 1 , wherein:

the workload statistic comprises an average interval between consecutive read operations performed during the duration of time;

the workload threshold comprises a read interval threshold; and

the workload statistic compares favorably to the workload threshold when the workload statistic is greater than or equal to the read interval threshold.

11. A data storage method, comprising:

counting a number of read operations performed on a non-volatile memory over a duration of time;

computing a workload statistic based on at least the number of read operations;

comparing the workload statistic with a workload threshold;

setting a maximum number of erase suspend operations allowed to be performed within each of a plurality of erase pulses of an erase operation when the workload statistic compares favorably to the workload threshold, wherein the maximum number of erase suspend operations is greater than zero;

preventing erase suspend operations from being performed within any of the plurality of erase pulses when the workload statistic compares unfavorably to the workload threshold;

initiating a first erase pulse of the plurality of erase pulses of the erase operation;

receiving a first read operation to performed on the non-volatile memory;

if the workload statistic compares unfavorably to the workload threshold, preventing the first read operation from being executed during the first erase pulse; and

executing the first read operation between the first erase pulse and a second erase pulse of the plurality of erase pulses of the erase operation.

12. The method of claim 11 , wherein the workload threshold comprises a first workload threshold and a second workload threshold, and wherein setting the maximum number of erase suspend operations further comprises:

setting a first maximum number of erase suspend operations allowed to be performed within each of the plurality of erase pulses of the erase operation when the workload statistic compares favorably to the first workload threshold; and

setting a second maximum number of erase suspend operations allowed to be performed within each of the plurality of erase pulses of the erase operation when the workload statistic compares unfavorably to the first workload threshold and compares favorably to the second workload threshold.

13. The method of claim 11 , wherein computing the workload statistic further comprises:

computing an average interval between consecutive read operations performed over the duration of time, computing an average number of read operations performed over the duration of time, or computing a ratio of write operations to read operations performed over the duration of time.

14. The method of claim 11 , further comprising:

initiating a first erase pulse of the plurality of erase pulses of the erase operation;

receiving a first read operation to performed on the non-volatile memory;

identifying a number of previously performed erase suspend operations during the first erase pulse; and

if the workload statistic compares favorably to the workload threshold, performing a first erase suspend operation to execute the first read operation when the number of previously performed erase suspend operations is less than the maximum number of erase suspend operations.

15. A data storage apparatus, comprising:

means for computing a workload statistic of a non-volatile memory comprising one of an average interval between consecutive read operations performed during a duration of time, an average number of read operations performed during the duration of time, or a ratio of write operations to read operations performed during the duration of time;

means for comparing the workload statistic with a workload threshold;

means for setting a maximum number of erase suspend operations allowed to be performed within each of a plurality of erase pulses of an erase operation when the workload statistic compares favorably to the workload threshold, wherein the maximum number of erase suspend operations is greater than zero;

means for preventing erase suspend operations from being performed within any of the plurality of erase pulses when the workload statistic compares unfavorably to the workload threshold;

means for initiating a first erase pulse of the plurality of erase pulses of the erase operation;

means for receiving a first read operation to performed on the non-volatile memory;

if the workload statistic compares unfavorably to the workload threshold, means for preventing the first read operation from being executed during the first erase pulse; and

means for executing the first read operation between the first erase pulse and a second erase pulse of the plurality of erase pulses of the erase operation.

16. The apparatus of claim 15 , wherein the workload threshold comprises a first workload threshold and a second workload threshold, and wherein the means for setting the maximum number of erase suspend operations further comprises:

means for setting a first maximum number of erase suspend operations allowed to be performed within each of the plurality of erase pulses of the erase operation when the workload statistic compares favorably to the first workload threshold; and

means for setting a second maximum number of erase suspend operations allowed to be performed within each of the plurality of erase pulses of the erase operation when the workload statistic compares unfavorably to the first workload threshold and compares favorably to the second workload threshold.

17. The apparatus of claim 15 , further comprising:

means for initiating a first erase pulse of the plurality of erase pulses of the erase operation;

means for receiving a first read operation to performed on the non-volatile memory;

means for identifying a number of previously performed erase suspend operations during the first erase pulse; and

if the workload statistic compares favorably to the workload threshold, means for performing a first erase suspend operation to execute the first read operation when the number of previously performed erase suspend operations is less than the maximum number of erase suspend operations.

Assignments (10)
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 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2018
From: YUAN, JINGFENG; CHEN, XIAOHENG
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 047837/0250 →