IP Library Granted Patent US 11,099,754
Granted Patent B1
US 11,099,754 · App. 15/931,867 · Granted Aug 24, 2021

Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations

Inventors: Sanjib Mallick (Bangalore, IN); John Krasner (Coventry, RI); Arieh Don (Newton, MA); Ramesh Doddaiah (Westborough, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0635G06F3/061G06F3/067G06F3/0644G06F3/0653G06F3/0659G06F9/4411
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,099,754
App. No.
15/931,867
Granted
Aug 24, 2021
Kind
B1
Abstract

An apparatus comprises at least one processing device comprising a processor coupled to a memory. The at least one processing device is configured to receive, via a multi-path layer of at least one host device, at least one indication of a predicted distribution of input-output operations directed from the at least one host device to a storage system for a given time interval. The at least one processing device is also configured to determine a cache memory configuration for a cache memory associated with the storage system based at least in part on the at least one indication of the predicted distribution of input-output operations for the given time interval. The at least one processing device is further configured to provision the cache memory with the determined cache memory configuration for the given time interval.

Claims (32)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

where the at least one processing device is configured:

to receive, via a multi-path layer of at least one host device, at least one indication of a predicted distribution of input-output operations directed from the at least one host device to a storage system for a given time interval;

to determine a cache memory configuration for a cache memory associated with the storage system based at least in part on the at least one indication of the predicted distribution of input-output operations for the given time interval; and

to provision the cache memory with the determined cache memory configuration for the given time interval.

2. The apparatus of claim 1 wherein the multi-path layer comprises at least one multi-path input-output driver configured to control delivery of input-output operations from the at least one host device to particular ports of the storage system over one or more selected ones of a plurality of paths through a network.

3. The apparatus of claim 2 wherein the paths are associated with respective initiator-target pairs with each of a plurality of initiators of the initiator-target pairs comprising a corresponding host bus adaptor of the at least one host device and each of a plurality of targets of the initiator-target pairs comprising a corresponding one of the ports of the storage system.

4. The apparatus of claim 2 wherein the predicted distribution of input-output operations for the given time interval is determined based at least in part on a state of one or more input-output queues of the at least one host device, the state being determined utilizing the at least one multi-path input-output driver.

5. The apparatus of claim 4 wherein the indication of the predicted distribution of input-output operations for the given time interval comprises percentages of different types of input-output commands in the one or more input-output queues of the at least one host device.

6. The apparatus of claim 4 wherein the indication of the predicted distribution of input-output operations for the given time interval comprises at least one of an average input-output size and a peak input-output size determined by performing a time series analysis of historical input-output distributions and the current state of the one or more input-output queues of the at least one host device.

7. The apparatus of claim 2 the at least one indication of the prediction distribution of input-output operations comprises at least one hint delivered via a vendor unique command associated with the at least one multi-path input-output driver.

8. The apparatus of claim 2 wherein receiving the at least one indication of the predicted distribution of input-output operations for the given time interval comprises receiving the at least one indication during the given time interval from the at least one multi-path input-output driver responsive to identifying a burst of input-output activity directed from the at least one host device to the storage system.

9. The apparatus of claim 2 wherein the multi-path layer comprises two or more host devices each associated with at least one multi-path input-output driver configured to control delivery of input-output operations from that host device to particular ports of the storage system over the one or more selected ones of the plurality of paths through the network.

10. The apparatus of claim 9 wherein receiving the at least one indication of the predicted distribution of input-output operations for the given time interval comprises receiving two or more indications of the predicted distribution of input-output operations for the given time interval from the multi-path input-output drivers of the two or more host devices.

11. The apparatus of claim 10 wherein determining the cache memory configuration for the cache memory comprises combining the two or more indications of the predicted distribution of input-output operations for the given time interval received from the multi-path input-output drivers of the two or more host devices.

12. The apparatus of claim 1 wherein the cache memory comprises two or more memory segments, and wherein the determined cache memory configuration comprises a segment size for each of the two or more memory segments.

13. The apparatus of claim 12 wherein a given one of the two or more memory segments comprises two or more pools associated with two or more input-output operation types, and wherein the determined cache memory configuration comprises a fixed cache size for each of the two or more pools.

14. The apparatus of claim 13 wherein the determined cache memory configuration comprises, for the given memory segment, a first fixed cache size for a first one of the two or more pools for a first one of the two or more input-output operation types and a second fixed cache size different than the first fixed cache size for a second one of the two or more pools for a second one of the two or more input-output operation types.

15. A method comprising:

receiving, via a multi-path layer of at least one host device, at least one indication of a predicted distribution of input-output operations directed from the at least one host device to a storage system for a given time interval;

determining a cache memory configuration for a cache memory associated with the storage system based at least in part on the at least one indication of the predicted distribution of input-output operations for the given time interval; and

provisioning the cache memory with the determined cache memory configuration for the given time interval;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

16. The method of claim 15 wherein the cache memory comprises two or more memory segments, and wherein the determined cache memory configuration comprises a segment size for each of the two or more memory segments.

17. The method of claim 16 wherein a given one of the two or more memory segments comprises two or more pools associated with two or more input-output operation types, and wherein the determined cache memory configuration comprises a fixed cache size for each of the two or more pools.

18. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by at least one processing device comprising a processor coupled to a memory, causes the at least one processing device:

to receive, via a multi-path layer of at least one host device, at least one indication of a predicted distribution of input-output operations directed from the at least one host device to a storage system for a given time interval;

to determine a cache memory configuration for a cache memory associated with the storage system based at least in part on the at least one indication of the predicted distribution of input-output operations for the given time interval; and

to provision the cache memory with the determined cache memory configuration for the given time interval.

19. The computer program product of claim 18 wherein the cache memory comprises two or more memory segments, and wherein the determined cache memory configuration comprises a segment size for each of the two or more memory segments.

20. The computer program product of claim 19 wherein a given one of the two or more memory segments comprises two or more pools associated with two or more input-output operation types, and wherein the determined cache memory configuration comprises a fixed cache size for each of the two or more pools.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2020
From: MALLICK, SANJIB; KRASNER, JOHN; DON, ARIEH; DODDAIAH, RAMESH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052662/0191 →
Cited By (2)
US 12,373,137 US 12,449,977