IP Library Granted Patent US 11,954,367
Granted Patent B2
US 11,954,367 · App. 17/841,600 · Granted Apr 9, 2024

Active time-based command prioritization in data storage devices

Inventors: Ramanathan Muthiah (Bangalore, IN); Judah Gamliel Hahn (Ofra, IL); Rotem Sela (Hod Hasharon, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/0604G06F3/064G06F3/0679
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 11,954,367
App. No.
17/841,600
Granted
Apr 9, 2024
Kind
B2
Abstract

Disclosed are systems and methods providing active time-based prioritization in host-managed stream devices. The method includes receiving a plurality of host commands from a host system. The method also includes computing active times of open memory regions. The method also includes determining one or more regions that have remained open for more than a threshold time period, based on the active times. The method also includes prioritizing one or more host commands from amongst the plurality of host commands for completion, the one or more host commands having corresponding logical addresses belonging to the one or more regions, thereby (i) minimizing risk to data and (ii) releasing resources corresponding to the one or more regions.

Claims (46)

1. A data storage device, comprising:

a submission queue for receiving host commands from a host system; and

a controller configured to:

compute active times of open memory regions;

determine one or more regions that have remained open for more than a threshold time period, based on the active times; and

prioritize one or more host commands in the submission queue for completion, the one or more host commands having corresponding one or more logical addresses belonging to the one or more regions.

2. The data storage device of claim 1 , wherein the controller is further configured to:

prioritize the one or more host commands further based on endurance groups.

3. The data storage device of claim 1 , wherein the controller is further configured to:

prioritize the one or more host commands further based on host block types targeted by the host commands.

4. The data storage device of claim 1 , wherein the controller is further configured to:

prioritize the one or more host commands further based on a data rate of streams associated with the host commands.

5. The data storage device of claim 1 , wherein the controller is further configured to:

prioritize the one or more host commands further based on weighting type of logical data, data rate, frequency of writes, endurance group, associated with the host commands.

6. The data storage device of claim 1 , wherein the controller is further configured to:

prioritize the one or more host commands further based on a level of physical block interleaving.

7. The data storage device of claim 1 , wherein the controller is further configured to:

prioritize the one or more host commands further based on whether commands have a data size that is sufficient to complete a target single-level cell (SLC) buffer thereby enabling quick closure of the one or more regions.

8. The data storage device of claim 1 , further comprising a plurality of device memories and a plurality of submission queues, each submission queue associated with a respective device memory, wherein the controller is further configured to prioritize host commands with logical addresses belonging to the one or more regions, in the plurality of submission queues.

9. The data storage device of claim 1 , wherein the controller is further configured to:

prioritize the one or more host commands further based on data transfer from SLC to triple-level cell (TLC) or quad-level cell (QLC) in order to close TLC or QLC blocks sooner.

10. The data storage device of claim 1 , wherein the controller is further configured to:

generate a region active table that stores active times;

determine the one or more regions based on the region active table; and

update the region active table after processing a host command in accordance with a determination that the host command corresponds to a completed region.

11. The data storage device of claim 1 , wherein computing the active times, determining the one or more regions, and/or prioritizing the one or more host commands, are performed for a specific target region in a device memory.

12. The data storage device of claim 11 , wherein determining the one or more regions comprises determining if the specific target region has remained open for more than the threshold time period.

13. The data storage device of claim 1 , wherein the controller is further configured to:

in accordance with a determination that there are no regions that have remained open for more than a threshold time period, select any host command in the submission queue with an associated logical address belonging to an open memory region.

14. The data storage device of claim 1 , wherein the controller is further configured to:

use different threshold time periods for different memory regions.

15. The data storage device of claim 14 , wherein the different threshold time periods are determined based on health and performance of the different memory regions.

16. The data storage device of claim 1 , wherein the controller is further configured to:

dynamically bias selection of host commands from the submission queue for region closure over a lifetime of a device memory targeted by the host commands, based on parity error.

17. The data storage device of claim 1 , wherein the data storage device is a host-managed stream device, wherein memory regions correspond to zones that are managed by a host coupled to the data storage device.

18. The data storage device of claim 1 , wherein the host commands do not require write order to be preserved.

19. A method implemented using one or more controllers for one or more data storage devices, the method comprising:

receiving a plurality of host commands from a host system;

computing active times of open memory regions;

determining one or more regions that have remained open for more than a threshold time period, based on the active times; and

prioritizing one or more host commands from amongst the plurality of host commands for completion, the one or more host commands having corresponding one or more logical addresses belonging to the one or more regions.

20. A system, comprising:

means for receiving a plurality of host commands from a host system;

means for computing active times of open memory regions;

means for determining one or more regions that have remained open for more than a threshold time period, based on the active times; and

means for prioritizing one or more host commands from amongst the plurality of host commands for completion, the one or more host commands having corresponding one or more logical addresses belonging to the one or more regions.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2022
From: MUTHIAH, RAMANATHAN; HAHN, JUDAH GAMLIEL; SELA, ROTEM
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060511/0757 →
Continuity (1)
Related Publication 20230409236A1 · Dec 21, 2023