IP Library Granted Patent US 11,681,466
Granted Patent B2
US 11,681,466 · App. 16/917,470 · Granted Jun 20, 2023

Proactive storage operation management

Inventors: Ramanathan Muthiah (Bangalore, IN); Ramkumar Ramamurthy (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/067G06F3/0611G06F3/0619G06F3/0644G06F3/0649G06F3/0653G06F3/0683
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,681,466
App. No.
16/917,470
Granted
Jun 20, 2023
Kind
B2
Abstract

Example storage systems, storage devices, and methods provide proactive management of storage operations to, for example, beneficially minimize bottlenecking, latency, and other issues. An example system has a storage pool with a first storage device and a second storage device, and a processor configured to generate a storage request including a storage command, include a command processing time constraint in the storage request, send the storage request to the first storage device, and receive, from the first storage device, a proactive response including an estimation for an execution of the storage command by the first storage device based on the command processing time constraint. The processor may then select a fallback mechanism for executing the storage command based on the proactive response.

Claims (88)

1. A storage system, comprising:

a storage pool having a plurality of storage devices including a first storage device and a second storage device; and

a processor coupled to the plurality of storage devices and configured to:

generate a storage request including a storage command;

include a command processing time constraint in the storage request;

send the storage request to the first storage device;

receive, from the first storage device, a first response including an estimation for an execution of the storage command by the first storage device based on the command processing time constraint;

determine a storage command type for the storage command from a plurality of storage command types; and

select, based on the storage command type and responsive to the estimation in the first response not complying with the command processing time constraint, a fallback mechanism for executing the storage command using the storage pool, wherein the selected fallback mechanism comprises:

determining, based on the estimation in the first response, an alternative timeline for executing the storage command using the first storage device; and

resending the storage request to the first storage device with a revised command processing time constraint corresponding to the alternative timeline.

2. The storage system of claim 1 , wherein the processor is further configured to:

evaluate, responsive to the estimation in the first response not complying with the command processing time constraint, a plurality of fallback mechanisms for executing the storage command using the storage pool, wherein the selected fallback mechanism is from the plurality of fallback mechanisms.

3. The storage system of claim 1 , wherein the first storage device includes an estimator configured to use machine learning logic to determine the first response.

4. The storage system of claim 1 , wherein the first storage device includes a controller configured to:

monitor a state of the first storage device;

receive the storage request;

determine that the storage command cannot be completed based on the state of the first storage device and the command processing time constraint; and

send the first response to the processor indicating a determination that the storage command cannot be completed.

5. The storage system of claim 4 , wherein the state indicates:

a storage device hardware failure;

a storage device firmware state;

a storage device processing load; or

a latency associated with a processing of the storage command.

6. The storage system of claim 4 , wherein:

the controller is further configured to include data in the first response indicating the state of the first storage device; and

the processor is further configured to:

responsive to receiving the first response, select a fallback mechanism for executing the storage command; and

select the fallback mechanism for executing the storage command based on the state of the first storage device and the storage command type.

7. The storage system of claim 1 , further comprising:

a host system coupled to the storage pool via a network fabric, wherein:

the host system includes the processor; and

the host system is configured to communicate with the storage pool via the network fabric.

8. The storage system of claim 7 , wherein:

the host system is further configured to receive a storage services request from a client device requesting execution of the storage command; and

the processor is further configured to, responsive to receiving the first response:

send a storage services response to the client device indicating an estimated amount of time needed to complete the storage command; and

receive, from the client device, a reply indicating a revised timeframe for processing the storage command.

9. The storage system of claim 1 , wherein the first response received from the first storage device indicates that the first storage device relayed the storage request to the second storage device for execution.

10. A computer-implemented method, comprising:

generating a storage request including a storage command;

including a command processing time constraint in the storage request;

sending the storage request to a first storage device in a storage pool;

receiving, from the first storage device, a first response including an estimation for an execution of the storage command by the first storage device based on the command processing time constraint;

determining a storage command type for the storage command from a plurality of storage command types; and

selecting, based on the storage command type and responsive to the estimation in the first response not complying with the command processing time constraint, a fallback mechanism for executing the storage command using the storage pool, wherein the selected fallback mechanism comprises:

determining, based on the estimation in the first response, an alternative timeline for executing the storage command using the first storage device; and

resending the storage request to the first storage device with a revised command processing time constraint corresponding to the alternative timeline.

11. The computer-implemented method of claim 10 , further comprising:

evaluating, responsive to the estimation in the first response not complying with the command processing time constraint, a plurality of fallback mechanisms for executing the storage command using the storage pool, wherein the selected fallback mechanism is from the plurality of fallback mechanisms.

12. The computer-implemented method of claim 10 , wherein the first storage device uses machine learning logic to determine the first response.

13. The computer-implemented method of claim 10 , further comprising:

monitoring a state of the first storage device;

receiving the storage request;

determining that the storage command cannot be completed based on the state of the first storage device and the command processing time constraint; and

sending the first response indicating a determination that the storage command cannot be completed.

14. The computer-implemented method of claim 13 , wherein the state indicates:

a storage device hardware failure;

a storage device firmware state;

a storage device processing load; or

a latency associated with a processing of the storage command.

15. The computer-implemented method of claim 13 , further comprising:

including data in the first response indicating the state of the first storage device;

responsive to receiving the first response, selecting a fallback mechanism for executing the storage command; and

selecting the fallback mechanism for executing the storage command based on the state of the first storage device and the storage command type.

16. The computer-implemented method of claim 10 , wherein:

the storage request is sent to the first storage device via a network fabric by a host system; and

the first response is received by the host system via the network fabric from the first storage device.

17. The computer-implemented method of claim 16 , further comprising:

receiving a storage services request from a client device requesting execution of the storage command; and

responsive to receiving the first response:

sending a storage services response to the client device indicating an estimated amount of time needed to complete the storage command; and

receiving a reply indicating a revised timeframe for processing the storage command.

18. The computer-implemented method of claim 10 , wherein the first response received from the first storage device indicates that the first storage device relayed the storage request to a second storage device for execution.

19. The computer-implemented method of claim 10 , further comprising:

sending a second storage request to a second storage device in parallel with the storage request;

receiving a second response from the second storage device; and

selecting between the first storage device and the second storage device to execute the storage command based on the first response and the second response.

20. A system, comprising:

means for storing data in a storage pool;

means for generating a storage request including a storage command;

means for including a command processing time constraint in the storage request;

means for sending the storage request to the means for storing data;

means for receiving, from the means for storing data, a first response indicating an estimation for an execution of the storage command by the means for storing data based on the command processing time constraint;

means for determining a storage command type for the storage command from a plurality of storage command types; and

means for selecting, based on the storage command type and responsive to the estimation in the first response not complying with the command processing time constraint, a fallback mechanism for executing the storage command using the storage pool, wherein the selected fallback mechanism comprises:

determining, based on the estimation in the first response, an alternative timeline for executing the storage command using the means for storing data; and

resending the storage request to the means for storing data with a revised command processing time constraint corresponding to the alternative timeline.

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 - 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 →
RELEASE OF SECURITY INTEREST AT REEL 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2020
From: MUTHIAH, RAMANATHAN; RAMAMURTHY, RAMKUMAR
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053742/0533 →
Continuity (1)
Related Publication 20210405924A1 · Dec 30, 2021