IP Library Granted Patent US 12,596,474
Granted Patent B2
US 12,596,474 · App. 18/753,323 · Granted Apr 7, 2026

Peer configuration of compute resources among data storage devices

Inventor: Ramanathan Muthiah (Bangalore, IN)
Assignee: Sandisk Technologies, Inc.
G06F3/0607G06F3/0632G06F3/067
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,596,474
App. No.
18/753,323
Granted
Apr 7, 2026
Kind
B2
Abstract

Example storage systems, storage devices, and methods provide peer configuration of hardware compute resources among peer storage devices. Data storage devices may include hardware circuits, such as graphics processor units, media processor circuits, compute accelerator circuits, and neural processing units, configured for compute operations targeting host data associated with that storage device. One of the storage devices is configured to act as a master storage device for determining firmware configurations for the other storage devices and sending an indication of the firmware image to be used for some operating period. The storage device receiving the firmware image loads the firmware image for the hardware circuit and reboots the hardware circuit to configure it with the firmware image.

Claims (127)

1 . A data storage device, comprising:

a non-volatile storage medium configured to store host data;

at least one storage interface configured for communication with a host system and a plurality of peer storage devices, wherein each peer storage device of the plurality of peer storage devices comprises a hardware circuit configured for compute operations targeting host data in that peer storage device;

at least one processor configured to, alone or in combination:

determine a target peer storage device from the plurality of peer storage devices;

determine a first firmware image for the hardware circuit of the target peer storage device; and

send an indication of the first firmware image to the target peer storage device, wherein the target peer storage device is configured to use, responsive to the indication, the first firmware image to configure the hardware circuit; and

a remotely accessible buffer memory configured for access by the plurality of peer storage devices through the at least one storage interface, wherein:

the plurality of peer storage devices each further comprises a remotely accessible buffer memory configured for access by the at least one processor; and

sending the indication of the first firmware image to the target peer storage device comprises transferring the indication to the remotely accessible buffer memory of the target peer storage device.

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

the indication of the first firmware image is a firmware index for the first firmware image; and

the target peer storage device is further configured to:

store, prior to receiving the indication, a firmware image library including the first firmware image; and

load, responsive to receiving the indication, the first firmware image for the hardware circuit from the firmware image library.

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

the indication of the first firmware image comprises a copy of the first firmware image; and

the at least one processor is further configured to, alone or in combination:

determine a desired configuration for the hardware circuit of the target peer storage device;

select the first firmware image corresponding to the desired configuration from a firmware library comprised of a plurality of firmware images for the hardware circuit; and

copy the first firmware image from the firmware library to the remotely accessible buffer memory of the target peer storage device.

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

the target peer storage device is further configured to operate, prior to receiving the indication of the first firmware image, the hardware circuit using a second firmware image that is different than the first firmware image; and

the at least one processor is further configured to, alone or in combination:

receive, from the host system, a plurality of compute operations targeting host data in the plurality of peer storage devices; and

select, based on the plurality of compute operations, the first firmware image.

5 . The data storage device of claim 4 , wherein the at least one processor is further configured to, alone or in combination:

determine, based on the plurality of compute operations, a compute workload for the plurality of peer storage devices;

determine, based on current configurations for the hardware circuits of the plurality of peer storage devices, a compute capacity;

determine, based on a comparison of the compute workload and the compute capacity, at least one configuration change for the plurality of peer storage devices; and

send, to the plurality of peer storage devices, at least one firmware image indicator for a firmware change for at least one hardware circuit of the plurality of peer storage devices.

6 . The data storage device of claim 5 , wherein the at least one processor is further configured to, alone or in combination:

determine, based on the current configurations for the hardware circuits of the plurality of peer storage devices and for each hardware circuit, at least one value selected from:

an operation support type;

a memory usage metric;

an operations per unit time metric; and

a power metric;

determine, for each hardware circuit, a plurality of possible firmware images corresponding to different values for the at least one value; and

select, based on the plurality of possible firmware images, the firmware change.

7 . The data storage device of claim 1 , further comprising:

a peer compute management data structure stored in memory and comprising, for each peer storage device of the plurality of peer storage devices:

a storage device identifier;

at least one hardware circuit identifier;

at least one hardware circuit type; and

at least one current firmware index, wherein:

the at least one hardware circuit identifier is configured to uniquely identify at least one hardware circuit configured for compute operations in that peer storage device;

the at least one hardware circuit type is configured to identify among a plurality of hardware circuit types for each at least one hardware circuit identifier; and

the at least one current firmware index is configured to identify among a plurality of firmware images for that hardware circuit type.

8 . The data storage device of claim 1 , wherein the at least one processor is further configured to, alone or in combination:

receive, from the host system, a plurality of compute operations targeting host data in the plurality of peer storage devices; and

select, for each compute operation of the plurality of compute operations and based on current configurations of the hardware circuits in the plurality of peer storage devices, a destination peer storage device for executing that compute operation using the hardware circuit of that destination peer storage device.

9 . The data storage device of claim 1 , wherein the at least one processor comprises:

a first processor core configured to execute compute management functions;

a second processor core configured to execute storage operations to the non-volatile storage medium; and

a third processor core configured to execute compute operations related to host data stored in the non-volatile storage medium, wherein the third processor core is at least a portion of a hardware circuit selected from:

a compute accelerator circuit;

a field programmable gate array circuit;

a graphics processing unit circuit;

a media processing engine circuit; and

a neural processing unit circuit.

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

determining the target peer storage device comprises:

determining a current configuration for the hardware circuit of the target peer storage device;

determining a plurality of possible configurations for the hardware circuit of the target peer storage device to perform different compute operations; and

determining a change of configuration for the hardware circuit of the target peer storage device for a different compute operation from the current configuration; and

the first firmware image for the hardware circuit of the target peer storage device corresponds to the different compute operation.

11 . A computer-based method, comprising:

determining, by a master storage device, a target peer storage device from a plurality of peer storage devices, wherein each storage device of the master storage device and the plurality of peer storage devices comprises:

a non-volatile storage medium configured to store host data for a host system;

at least one storage interface configured for communication among the master storage device and the plurality of peer storage devices; and

a hardware circuit configured for compute operations targeting host data in that storage device;

receiving, from the host system, a plurality of compute operations targeting host data in the plurality of peer storage devices;

determining, by the master storage device and based on the plurality of compute operations, a first firmware image for the hardware circuit of the target peer storage device;

sending, by the master storage device, an indication of the first firmware image to the target peer storage device;

operating, by the target peer storage device and prior to receiving the indication of the first firmware image, the hardware circuit using a second firmware image that is different than the first firmware image; and

loading, by the target peer storage device and responsive to the indication, the first firmware image to configure the hardware circuit with the first firmware image.

12 . The computer-based method of claim 11 , wherein:

each storage device of the master storage device and the plurality of peer storage devices further comprise a remotely accessible buffer memory configured for access among the master storage device and the plurality of peer storage devices through the at least one storage interface of that storage device; and

sending the indication of the first firmware image to the target peer storage device comprises the master storage device transferring the indication to the remotely accessible buffer memory of the target peer storage device.

13 . The computer-based method of claim 12 , further comprising:

storing, by the target peer storage device and prior to receiving the indication, a firmware image library including the first firmware image; and

determining, by the target peer storage device, a firmware index for the first firmware image from the indication of the first firmware image, wherein loading the first firmware image for the hardware circuit comprises loading the first firmware image from the firmware image library.

14 . The computer-based method of claim 12 , further comprising:

determining, by the master storage device, a desired configuration for the hardware circuit of the target peer storage device;

selecting, by the master storage device, the first firmware image corresponding to the desired configuration from a firmware library comprised of a plurality of firmware images for the hardware circuit; and

copying, by the master storage device, the first firmware image from the firmware library to the remotely accessible buffer memory of the target peer storage device, wherein the indication of the first firmware image comprises a copy of the first firmware image.

15 . The computer-based method of claim 11 , further comprising:

determining, by the master storage device and based on the plurality of compute operations, a compute workload for the plurality of peer storage devices;

determining, by the master storage device and based on current configurations for the hardware circuits of the plurality of peer storage devices, a compute capacity;

determining, by the master storage device and based on a comparison of the compute workload and the compute capacity, at least one configuration change for the plurality of peer storage devices; and

sending, by the master storage device and to the plurality of peer storage devices, at least one firmware image indicator for a firmware change for at least one hardware circuit of the plurality of peer storage devices.

16 . The computer-based method of claim 15 , further comprising:

determining, by the master storage device and based on the current configurations for the hardware circuits of each storage device of the plurality of peer storage devices, at least one value for each hardware circuit, the at least one value selected from:

an operation support type;

a memory usage metric;

an operations per unit time metric; and

a power metric;

determining, by the master storage device and for each hardware circuit, a plurality of possible firmware images corresponding to different values for the at least one value; and

selecting, by the master storage device and based on the plurality of possible firmware images, the firmware change.

17 . The computer-based method of claim 11 , further comprising:

storing, by the master storage device, a peer compute management data structure comprising, for each storage device of the plurality of peer storage devices:

a storage device identifier;

at least one hardware circuit identifier;

at least one hardware circuit type; and

at least one current firmware index, wherein:

the at least one hardware circuit identifier is configured to uniquely identify at least one hardware circuit configured for compute operations in that peer storage device;

the at least one hardware circuit type is configured to identify among a plurality of hardware circuit types for each at least one hardware circuit identifier; and

the at least one current firmware index is configured to identify among a plurality of firmware images for that hardware circuit type.

18 . The computer-based method of claim 17 , further comprising:

selecting, for each compute operation of the plurality of compute operations and based on current configurations of the hardware circuits in the plurality of peer storage devices, a destination peer storage device; and

executing, by each destination peer storage device, that compute operation of the plurality of compute operations using the hardware circuit of that destination peer storage device.

19 . The computer-based method of claim 11 , wherein:

determining the target peer storage device comprises:

determining a current configuration for the hardware circuit of the target peer storage device;

determining a plurality of possible configurations for the hardware circuit of the target peer storage device to perform different compute operations; and

determining a change of configuration for the hardware circuit of the target peer storage device for a different compute operation from the current configuration; and

the first firmware image for the hardware circuit of the target peer storage device corresponds to the different compute operation.

20 . A system, comprising:

a plurality of peer storage devices, wherein each storage device of the plurality of peer storage devices comprises:

a non-volatile storage medium configured to store host data for a host system;

at least one storage interface configured for communication among the plurality of peer storage devices; and

a hardware circuit configured for compute operations targeting host data in that storage device;

means for determining, by a master storage device of the plurality of peer storage devices, a target peer storage device from the plurality of peer storage devices;

means for determining, by the master storage device, a first firmware image for the hardware circuit of the target peer storage device;

means for sending, by the master storage device, an indication of the first firmware image to the target peer storage device, wherein the target peer storage device is configured to use, responsive to the indication, the first firmware image to configure the hardware circuit; and

means for receiving, from the host system, a plurality of compute operations targeting host data in the plurality of peer storage devices; and

means for selecting, for each compute operation of the plurality of compute operations and based on current configurations of the hardware circuits in the plurality of peer storage devices, a destination peer storage device for executing that compute operation using the hardware circuit of that destination peer storage device.

Assignments (4)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2024
From: MUTHIAH, RAMANATHAN
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067830/0446 →
Continuity (1)
Related Publication 20250390218A1 · Dec 25, 2025
References Cited (6)
US 10387303B2 · Mehra · 2019 [cited by applicant]
US 11625192B2 · Muthiah · 2023 [cited by examiner]
US 20220164299A1 · Moshe · 2022 [cited by examiner]
US 20220300206A1 · Furuta · 2022 [cited by examiner]
US 20230418490A1 · Muthiah · 2023 [cited by applicant]
US 20230418518A1 · Hahn · 2023 [cited by applicant]