IP Library Granted Patent US 12,253,940
Granted Patent B2
US 12,253,940 · App. 17/686,620 · Granted Mar 18, 2025

Data storage device and method for responding to a host-specified parameter of an upcoming burst mode

Inventors: Ronak Jain (Karnataka, IN); Rohit Prasad (Karnataka, IN); Ramanathan Muthiah (Karnataka, IN)
Assignee: Sandisk Technologies, Inc.
G06F12/0253G06F3/0604G06F3/0659G06F3/0679G06F2212/7205
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 12,253,940
App. No.
17/686,620
Granted
Mar 18, 2025
Kind
B2
Abstract

A data storage device and method for host-determined proactive block clearance are provided. In one embodiment, a data storage device is provided comprising a memory and a controller. The controller is configured to receive a command from a host that specifies a parameter of an upcoming burst mode; and in response to receiving the command, proactively perform a garbage collection operation according to the parameter to create available storage space in the memory to store data from the host during the upcoming burst mode. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.

Claims (66)

1. A data storage device comprising:

a memory; and

a processor configured to:

inform a host of a workload of the data storage device;

determine whether a command received from the host specifies a parameter of an upcoming burst mode, wherein the host is configured to specify the parameter in response to determining, based on the workload, that the data storage device will not provide a sufficient burst range required by the host;

in response to determining that the command does not specify the parameter of the upcoming burst mode:

relocate data stored in single-level cell (SLC) blocks dedicated for burst mode; and

perform a garbage collection operation;

in response to determining that the command does specify the parameter of the upcoming burst mode:

determine whether an available number of SLC blocks is sufficient to satisfy the parameter of the upcoming burst mode;

in response to determining that the available number of SLC blocks is sufficient, relocate data stored in the available number of SLC blocks;

in response to determining that the available number of SLC blocks is not sufficient:

add spare SLC blocks to the available number of SLC blocks to satisfy the parameter of the upcoming burst mode; and

relocate data stored in the available and added numbers of SLC blocks; and

in response to receiving an explicit host directive:

clean-up logical-to-physical address delta data; and

flush a logical-to-physical address cache to clear the logical-to-physical address cache for the upcoming burst mode.

2. The data storage device of claim 1 , wherein:

the parameter comprises a length of time of the upcoming burst mode.

3. The data storage device of claim 1 , wherein the parameter specifies a number of SLC blocks.

4. The data storage device of claim 1 , wherein power to the data storage device is guaranteed by the host for an amount of time needed to perform the garbage collection operation.

5. The data storage device of claim 1 , wherein the processor is further configured to perform the garbage collection operation in response to determining that the memory does not have enough available space.

6. The data storage device of claim 1 , wherein the memory comprises a three-dimensional memory.

7. A method comprising:

performing the following in a data storage device comprising a memory:

informing a host of a workload of the data storage device;

determining whether a command received from the host specifies a parameter of an upcoming burst mode, wherein the host is configured to specify the parameter in response to determining, based on the workload, that the data storage device will not provide a sufficient burst range required by the host;

in response to determining that the command does not specify the parameter of the upcoming burst mode:

relocating data stored in single-level cell (SLC) blocks dedicated for burst mode; and

performing a garbage collection operation;

in response to determining that the command does specify the parameter of the upcoming burst mode:

determining whether an available number of SLC blocks is sufficient to satisfy the parameter of the upcoming burst mode;

in response to determining that the available number of SLC blocks is sufficient, relocating data stored in the available number of SLC blocks;

in response to determining that the available number of SLC blocks is not sufficient:

adding spare SLC blocks to the available number of SLC blocks to satisfy the parameter of the upcoming burst mode; and

relocating data stored in the available and added numbers of SLC blocks; and

in response to receiving an explicit host directive:

cleaning-up logical-to-physical address delta data; and

flushing a logical-to-physical address cache to clear the logical-to-physical address cache for the upcoming burst mode.

8. The method of claim 7 , wherein the command specifies a duration of time of the burst mode.

9. The method of claim 8 , wherein the duration of time is determined from a plurality of expected burst times from a plurality of applications running on the host.

10. The method of claim 8 , wherein the duration of time is determined from an application usage pattern.

11. The method of claim 8 , wherein the duration of time comprises expected boot sequence time.

12. The method of claim 7 , wherein the parameter of the upcoming burst mode comprises an amount of available storage space that needs to be created.

13. The method of claim 12 , further comprising calculating the amount of available storage space that needs to be created from a duration of time of the burst mode.

14. The method of claim 7 , wherein the command is received during a non-peak workload.

15. The method of claim 7 , wherein the host guarantees power to the data storage device for an amount of time.

16. The method of claim 7 , wherein the command is received prior to a transition from one stage to another stage in a game application.

17. A data storage device comprising:

a memory; and

means for:

informing a host of a workload of the data storage device;

determining whether a command received from the host specifies a parameter of an upcoming burst mode, wherein the host is configured to specify the parameter in response to determining, based on the workload, that the data storage device will not provide a sufficient burst range required by the host;

in response to determining that the command does not specify the parameter of the upcoming burst mode:

relocating data stored in single-level cell (SLC) blocks dedicated for burst mode; and

performing a garbage collection operation;

in response to determining that the command does specify the parameter of the upcoming burst mode:

determining whether an available number of SLC blocks is sufficient to satisfy the parameter of the upcoming burst mode;

in response to determining that the available number of SLC blocks is sufficient, relocating data stored in the available number of SLC blocks;

in response to determining that the available number of SLC blocks is not sufficient:

adding spare SLC blocks to the available number of SLC blocks to satisfy the parameter of the upcoming burst mode; and

relocating data stored in the available and added numbers of SLC blocks; and

in response to receiving an explicit host directive:

cleaning-up logical-to-physical address delta data; and

flushing a logical-to-physical address cache to clear the logical-to-physical address cache for the upcoming burst mode.

18. The data storage device of claim 2 , wherein the processor is further configured to convert the length of time into a number of SLC blocks.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2022
From: JAIN, RONAK; PRASAD, ROHIT; MUTHIAH, RAMANATHAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059169/0736 →
Continuity (1)
Related Publication 20230281122A1 · Sep 7, 2023
References Cited (15)
US 8626986B2 · Wu et al. · 2014 [cited by applicant]
US 9348749B2 · Choi et al. · 2016 [cited by applicant]
US 10229049B2 · Hashimoto · 2019 [cited by applicant]
US 10977173B2 · Li et al. · 2021 [cited by applicant]
US 11003384B2 · Kale · 2021 [cited by applicant]
US 11586578B1 · Dastidar · 2023 [cited by examiner]
US 11698858B2 · De La Cerda · 2023 [cited by examiner]
US 20050195635A1 · Conley · 2005 [cited by examiner]
US 20140281127A1 · Marcu · 2014 [cited by examiner]
US 20170068451A1 · Kenan · 2017 [cited by examiner]
US 20190065367A1 · Li · 2019 [cited by examiner]
US 20190079787A1 · Toksoz · 2019 [cited by examiner]
US 20200133898A1 · Therene · 2020 [cited by examiner]
US 20200225857A1 · Tarango · 2020 [cited by examiner]
US 20210406168A1 · Cariello · 2021 [cited by examiner]
Cited By (1)
US 12,554,404