IP Library Patent Application 18473774
Patent Application
App. No. 18/473,774

SCHEDULING EXECUTION OF COMMANDS IN A DATA STORAGE DEVICE BASED ON COMMAND PARAMETERS

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 None
App. No.
18/473,774
Abstract

A scheduling system of a computing device analyzes a received command to identify one or more command parameters associated with the command. The command parameters include data attributes associated with the command, data location information associated with the command and command attributes associated with the command. The scheduling system also determines an execution weight of each command parameter associated with the command. A force for the command is also determined. The force is proportional to the execution weight of each command parameter that is associated with the command. The scheduling system orders the command in a command queue based, at least in part, on the determined force.

Claims (33)

1 . A method, comprising:

receiving a command for execution on a data storage device;

determining command parameters associated with the command, the command parameters being selected from a group of command parameters including a data attribute parameter, a data location parameter and a command attribute parameter;

determining an execution weight for one or more of the command parameters; and

determining an execution order for the command based, at least in part, on the execution weight of the one or more command parameters.

2 . The method of claim 1 , wherein the execution order is based, at least in part, on a determined force and wherein the determined force is proportional to the execution weight of the one or more command parameters.

3 . The method of claim 1 , wherein the command is a system command.

4 . The method of claim 1 , wherein the command is received from a host device.

5 . The method of claim 1 , wherein the execution order is based, at least in part, on a first time parameter and a second time parameter.

6 . The method of claim 1 , wherein the data attribute command parameter includes one or more of a size of data associated with the command and a temperature of the data associated with the command.

7 . The method of claim 1 , wherein the data location command parameter includes one or more of a logical block address (LBA) associated with the command, a physical location of a memory block associated with the command, an age of the memory block associated with the command and a code rate associated with the memory block.

8 . The method of claim 1 , wherein the command attribute command parameter includes one or more of a command type, a command origin and a time parameter.

9 . The method of claim 1 , wherein the execution weight is determined based, at least in part, on a number of received commands exceeding a threshold.

10 . A system, comprising:

a controller; and

a memory storing instructions that, when executed by the controller, perform operations, comprising:

determining one or more command parameters associated with a received command, the one or more command parameters being selected from a group of command parameters including, a data attribute parameter, a data location parameter and a command attribute parameter;

determining an execution weight for each of the one or more command parameters; and

determining a force associated with the command, wherein the force is proportional to the execution weight of each of the one or more command parameters.

11 . The system of claim 10 , further comprising instructions for determining an execution order for the command based, at least in part, on the force.

12 . The system of claim 11 , further comprising instructions for comparing the force of the command to a force of one or more previously received commands.

13 . The system of claim 10 , wherein the data attribute command parameter includes one or more of a size of data associated with the command and a temperature of the data associated with the command.

14 . The system of claim 10 , wherein the data location command parameter includes one or more of a logical block address (LBA) associated with the command, a physical location of a memory block associated with the command, an age of the memory block associated with the command and a code rate associated with the memory block.

15 . The system of claim 10 , wherein the command attribute command parameter includes one or more of a command type, a command origin and a time parameter.

16 . The system of claim 10 , wherein the execution weight is determined based, at least in part, on a number of received commands exceeding a threshold.

17 . A system, comprising:

means for receiving a command associated with a data storage device;

means for determining one or more command parameters associated with the command, the one or more command parameters being selected from a group of command parameters including, a data attribute parameter, a data location parameter and a command attribute parameter;

means for determining an execution weight for the command based, at least in part, on the one or more command parameters; and

means for determining an execution order for the command based, at least in part, on the execution weight of the one or more command parameters.

18 . The system of claim 17 , wherein the execution order is based, at least in part, on a determined force and wherein the determined force is proportional to the execution weight of the one or more command parameters.

19 . The system of claim 18 , further comprising means for comparing the execution weight of the command to an execution weight of one or more previously received commands.

20 . The system of claim 17 , further comprising means for determining whether the command is received from a host device or whether the command is a system command.

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 Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065657/0158 →
PATENT COLLATERAL AGREEMENT- A&R Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065656/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2023
From: RADHAKRISHNAN, BHARATH; RASALINGAM, UTHAYARAJAN A/L; GO, PATRICK; MUTHIAH, RAMANATHAN; HAHN, JUDAH GAMLIEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 065012/0928 →