IP Library Granted Patent US 11,582,299
Granted Patent B2
US 11,582,299 · App. 15/397,374 · Granted Feb 14, 2023

Allocating cache memory in a dispersed storage network

Inventors: Ilir Iljazi (Chicago, IL); Jason K. Resch (Chicago, IL); Ethan S. Wozniak (Park Ridge, IL)
Assignee: PURE STORAGE, INC.
H04L67/1095G06F3/064G06F3/0604G06F3/067G06F3/0611G06F3/0619G06F3/0632G06F3/0647G06F3/0659G06F9/5083G06F11/1076G06F11/1092G06F12/0813G06F12/0837G06F12/0871G06F12/122G06F12/128G06F16/214G06F16/2246G06F16/2379G06N3/002H03M13/1515H03M13/3761H04H60/27H04L67/1097H04L67/55H04L67/568G06F12/12G06F2212/604
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,582,299
App. No.
15/397,374
Granted
Feb 14, 2023
Kind
B2
Abstract

A method for execution by a dispersed storage network (DSN) managing unit includes receiving access information from a plurality of distributed storage and task (DST) processing units via a network. Cache memory utilization data is generated based on the access information. Configuration instructions are generated for transmission via the network to the plurality of DST processing units based on the cache memory utilization data.

Claims (37)

1. A method for execution by a storage network managing unit that includes a processor, the method comprises:

transmitting a plurality of access information requests via a network to a plurality of processing units;

receiving access information from the plurality of processing units via the network, wherein the access information is received in response to the plurality of access information requests, and wherein the access information received from each of the plurality of processing units indicates a cache miss rate level of a corresponding cache memory utilized by the each of the plurality of processing units for temporary storage of encoded data slices;

receiving additional access information from a plurality of storage units via the network that are distinct from the plurality of processing units, wherein the plurality of processing units are configured to generate encoded data slices for storage by the plurality of storage units; and

transmitting configuration instructions via the network to the plurality of processing units and the plurality of storage units to facilitate configuration of cache memory associated with the plurality of processing units and the plurality of storage units based on the cache miss rate level of the access information received from the each of the plurality of processing units and further based on the additional access information received from each of the plurality of storage units.

2. The method of claim 1 , wherein the access information includes at least one of: a data name, a data type, a user device identifier, a data size indicator, a data access frequency level indicator, or a data access time.

3. The method of claim 1 , wherein the access information further includes a cache memory utilization level.

4. The method of claim 1 , further comprising generating cache memory utilization data based on the access information, wherein the configuration instructions are generated based on the cache memory utilization data, and wherein generating the cache memory utilization data includes calculating at least one of: access rate by datatype, or access rate by user identifier.

5. The method of claim 1 , further comprising generating cache memory utilization data based on the access information, wherein the configuration instructions are generated based on the cache memory utilization data, and wherein generating the cache memory utilization data includes calculating at least one of: frequency of data access, efficiency of cache memory utilization, or frequency of non-cache memory utilization.

6. The method of claim 1 , further comprising generating cache memory utilization data based on the access information, wherein the configuration instructions are generated based on the cache memory utilization data, and wherein generating the cache memory utilization data includes calculating at least one of: an aging rate, or a data cooling rate.

7. The method of claim 1 , wherein the configuration instructions include a request to update at least one of: cache time by slice name, or cache time by data name, of the corresponding cache memory of the each of the plurality of processing units.

8. The method of claim 1 , further comprising:

generating cache memory utilization data based on the additional access information.

9. The method of claim 1 , wherein the cache miss rate level indicates a number of instances where cache utilization of the corresponding cache memory was not available per unit of time.

10. A processing system of a storage network managing unit comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

transmit a plurality of access information requests via a network to a plurality of processing units;

receive access information from the plurality of processing units via the network, wherein the access information is received in response to the plurality of access information requests, and wherein the access information received from each of the plurality of processing units indicates a cache miss rate level of a corresponding cache memory utilized by the each of the plurality of processing units for temporary storage of encoded data slices;

receive additional access information from a plurality of storage units via the network that are distinct from the plurality of processing units, wherein the plurality of processing units are configured to generate encoded data slices for storage by the plurality of storage units; and

transmit configuration instructions via the network to the plurality of processing units and the plurality of storage units to facilitate configuration of cache memory associated with the plurality of processing units and the plurality of storage units based on the cache miss rate level of the access information received from the each of the plurality of processing units and further based on the additional access information received from each of the plurality of storage units.

11. The processing system of claim 10 , wherein the access information includes at least one of: a data name, a data type, a user device identifier, a data size indicator, a data access frequency level indicator, or a data access time.

12. The processing system of claim 10 , wherein the access information further includes a cache memory utilization level.

13. The processing system of claim 10 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to generate cache memory utilization data based on the access information, wherein the configuration instructions are generated based on the cache memory utilization data, and wherein generating the cache memory utilization data includes calculating at least one of: access rate by datatype, or access rate by user identifier.

14. The processing system of claim 10 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to generate cache memory utilization data based on the access information, wherein the configuration instructions are generated based on the cache memory utilization data, and wherein generating the cache memory utilization data includes calculating at least one of: frequency of data access, efficiency of cache memory utilization, or frequency of non-cache memory utilization.

15. The processing system of claim 10 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to generate cache memory utilization data based on the access information, wherein the configuration instructions are generated based on the cache memory utilization data, and wherein generating the cache memory utilization data includes calculating at least one of: an aging rate, or a data cooling rate.

16. The processing system of claim 10 , wherein the configuration instructions include a request to update at least one of: cache memory size, cache time by slice name, cache time by data name, or a cache memory allocation level.

17. The processing system of claim 10 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

generate cache memory utilization data based on the additional access information.

18. The processing system of claim 10 , wherein the cache miss rate level indicates a number of instances where cache utilization of the corresponding cache memory was not available per unit of time.

19. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing system of a storage network that includes a processor and a memory, causes the processing system to:

transmit a plurality of access information requests via a network to a plurality of processing units;

receive access information from the plurality of processing units via the network, wherein the access information is received in response to the plurality of access information requests, and wherein the access information received from each of the plurality of processing units indicates a cache miss rate level of a corresponding cache memory utilized by the each of the plurality of processing units for temporary storage of encoded data slices;

receive additional access information from a plurality of storage units via the network that are distinct from the plurality of processing units, wherein the plurality of processing units are configured to generate encoded data slices for storage by the plurality of storage units; and

transmit configuration instructions via the network to the plurality of processing units and the plurality of storage units to facilitate configuration of cache memory associated with the plurality of processing units and the plurality of storage units based on the cache miss rate level of the access information received from the each of the plurality of processing units and further based on the additional access information received from each of the plurality of storage units.

20. The non-transitory computer readable storage medium of claim 19 , wherein the configuration instructions include a request to update at least one of: cache memory size, cache time by slice name, cache time by data name, or a cache memory allocation level.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 050451/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2017
From: ILJAZI, ILIR; RESCH, JASON K.; WOZNIAK, ETHAN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040829/0467 →