IP Library Granted Patent US 11,513,688
Granted Patent B2
US 11,513,688 · App. 17/220,310 · Granted Nov 29, 2022

System and method for continuously offloading input-output (IO) traces from a storage system

Inventors: Wei Wang (Westborough, MA); Benjamin James Beauregard (Merrimack, NH)
Assignee: EMC IP Holding Company, LLC
G06F3/061G06F3/067G06F3/0655
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,513,688
App. No.
17/220,310
Granted
Nov 29, 2022
Kind
B2
Abstract

A method, computer program product, and computing system for allocating a portion of a storage system for storing input/output (IO) traces, thus defining an IO trace storage tier. The plurality of IO traces may be stored within the IO trace storage tier. It may be determined whether at least a threshold number of IO traces are stored within the IO trace storage tier. In response to determining that at least the threshold number of IO traces are stored within the IO trace storage tier, at least a portion of the plurality of IO traces may be offloaded to a client computing device.

Claims (35)

1. A computer-implemented method, executed on a computing device, comprising:

allocating a portion of a storage system for storing input/output (TO) traces, thus defining an IO trace storage tier, wherein allocating the IO trace storage tier includes adjusting a size of the IO trace storage tier based upon, at least in part, one or more predicted IO loads for the storage system;

storing a plurality of IO traces within the IO trace storage tier;

determining whether at least a threshold number of IO traces are stored within the IO trace storage tier; and

in response to determining that at least the threshold number of IO traces are stored within the IO trace storage tier, offloading at least a portion of the plurality of IO traces to a client computing device that provided an IO request to the storage system.

2. The computer-implemented method of claim 1 , wherein each IO trace of the plurality of IO traces includes information associated with processing an IO request on the storage system.

3. The computer-implemented method of claim 1 , wherein the IO trace storage tier is a ring buffer.

4. The computer-implemented method of claim 3 , wherein determining whether at least the threshold number of IO traces are stored within the IO trace storage tier includes defining a trace position within the ring buffer of the IO trace storage tier.

5. The computer-implemented method of claim 4 , further comprising:

updating the trace position within the ring buffer in response to storing the plurality of IO traces within the IO trace storage tier.

6. The computer-implemented method of claim 3 , wherein determining whether at least the threshold number of IO traces are stored within the IO trace storage tier includes defining a dump position within the ring buffer of the IO trace storage tier.

7. The computer-implemented method of claim 6 , further comprising:

updating the dump position within the ring buffer in response to offloading the at least a portion of the plurality of IO traces to the client computing device.

8. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

allocating a portion of a storage system for storing input/output (TO) traces, thus defining an IO trace storage tier, wherein allocating the IO trace storage tier includes adjusting a size of the IO trace storage tier based upon, at least in part, one or more predicted IO loads for the storage system;

storing a plurality of IO traces within the IO trace storage tier;

determining whether at least a threshold number of IO traces are stored within the IO trace storage tier; and

in response to determining that at least the threshold number of IO traces are stored within the IO trace storage tier, offloading at least a portion of the plurality of IO traces to a client computing device that provided an IO request to the storage system.

9. The computer program product of claim 8 , wherein each IO trace of the plurality of IO traces includes information associated with processing an IO request on the storage system.

10. The computer program product of claim 8 , wherein the IO trace storage tier is a ring buffer.

11. The computer program product of claim 10 , wherein determining whether at least the threshold number of TO traces are stored within the TO trace storage tier includes defining a trace position within the ring buffer of the TO trace storage tier.

12. The computer program product of claim 11 , wherein the operations further comprise:

updating the trace position within the ring buffer in response to storing the plurality of TO traces within the TO trace storage tier.

13. The computer program product of claim 10 , wherein determining whether at least the threshold number of TO traces are stored within the TO trace storage tier includes defining a dump position within the ring buffer of the TO trace storage tier.

14. The computer program product of claim 13 , wherein the operations further comprise:

updating the dump position within the ring buffer in response to offloading the at least a portion of the plurality of TO traces to the client computing device.

15. A computing system comprising:

a memory; and

a processor configured to allocate a portion of a storage system for storing input/output (TO) traces, thus defining an TO trace storage tier, wherein the processor is further configured to store a plurality of TO traces within the TO trace storage tier, wherein allocating the TO trace storage tier includes adjusting a size of the TO trace storage tier based upon, at least in part, one or more predicted TO loads for the storage system, wherein the processor is further configured to determine whether at least a threshold number of TO traces are stored within the TO trace storage tier, and wherein the processor is further configured to, in response to determining that at least the threshold number of TO traces are stored within the TO trace storage tier, offload at least a portion of the plurality of TO traces to a client computing device that provided an TO request to the storage system.

16. The computing system of claim 15 , wherein each IO trace of the plurality of IO traces includes information associated with processing an IO request on the storage system.

17. The computing system of claim 15 , wherein the IO trace storage tier is a ring buffer.

18. The computing system of claim 17 , wherein determining whether at least the threshold number of IO traces are stored within the IO trace storage tier includes defining a trace position within the ring buffer of the IO trace storage tier.

19. The computing system of claim 18 , wherein the processor is further configured to:

update the trace position within the ring buffer in response to storing the plurality of IO traces within the IO trace storage tier.

20. The computing system of claim 17 , wherein determining whether at least the threshold number of IO traces are stored within the IO trace storage tier includes defining a dump position within the ring buffer of the IO trace storage tier.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) 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 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) 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 062021/0844 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) 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 062022/0012 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0280 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0124 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: WANG, WEI; BEAUREGARD, BENJAMIN JAMES
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 055798/0237 →