IP Library Granted Patent US 11,327,676
Granted Patent B1
US 11,327,676 · App. 16/860,856 · Granted May 10, 2022

Predictive data streaming in a virtual storage system

Inventors: Argenis Fernandez (Redmond, WA); Ronald Karr (Palo Alto, CA)
Assignee: Pure Storage, Inc.
G06F3/0647G06F3/0604G06F3/0664G06F3/0673G06F12/0815G06F2212/1016
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,327,676
App. No.
16/860,856
Granted
May 10, 2022
Kind
B1
Abstract

A method of predictive data streaming in a virtual storage system, including: identifying, for a plurality of data objects that have been migrated from a first tier of storage in a virtual storage system to a lower tier of storage, metadata describing one or more access patterns for the plurality of data objects; determining, based at least on the metadata describing the plurality of data objects, one or more data objects that have a greater likelihood of being accessed relative to other data objects among the plurality of data objects; and transferring, from the lower tier of storage, the one or more data objects that have a greater likelihood of being accessed relative to other data objects among the plurality of data objects.

Claims (26)

1. A method of comprising:

identifying, for a plurality of data objects that have been migrated from a first tier of storage in a virtual storage system to a lower tier of storage, metadata describing one or more access patterns for the plurality of data objects;

determining, based at least on the metadata describing the plurality of data objects, one or more data objects that have a greater likelihood of being accessed relative to other data objects among the plurality of data objects; and

transferring, from the lower tier of storage, the one or more data objects that have a greater likelihood of being accessed relative to other data objects among the plurality of data objects, wherein the metadata is based on tracking cache contents that include data from the one or more data objects, wherein the cache contents are tracked prior to a snapshot of a volume of data that includes the one or more data objects, and wherein for each snapshot of the volume of data there is a corresponding version of metadata.

2. The method of claim 1 , wherein transferring the one or more data objects is performed prior to a request for data included within the one or more data objects.

3. The method of claim 1 , wherein the metadata is based on a heat map of data accesses for data within the volume of data, and wherein the heat map corresponds to a version of the volume of data corresponding to a snapshot.

4. The method of claim 1 , wherein the lower tier of storage is an object store provided by a cloud services provider.

5. The method of claim 1 , wherein transferring the one or more objects is in response to a data loss within the virtual storage system.

6. The method of claim 1 , wherein the metadata is based on one or more characteristics of the one or more data objects, and wherein the one or more characteristics includes one or more of: a type of application using the volume of data, an identity of a user accessing the volume of data, a time of day, or a time of year.

7. The method of claim 6 , wherein the application is a database, and wherein the one or more data objects include transaction logs for the database.

8. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

identifying, for a plurality of data objects that have been migrated from a first tier of storage in a virtual storage system to a lower tier of storage, metadata describing one or more access patterns for the plurality of data objects;

determining, based at least on the metadata describing the plurality of data objects, one or more data objects that have a greater likelihood of being accessed relative to other data objects among the plurality of data objects; and

transferring, from the lower tier of storage, the one or more data objects that have a greater likelihood of being accessed relative to other data objects among the plurality of data objects, wherein the metadata is based on tracking cache contents that include data from the one or more data objects, wherein the cache contents are tracked prior to a snapshot of a volume of data that includes the one or more data objects, and wherein for each snapshot of the volume of data there is a corresponding version of metadata.

9. The apparatus of claim 8 , wherein transferring the one or more data objects is performed prior to a request for data included within the one or more data objects.

10. The apparatus of claim 8 , wherein the metadata is based on a heat map of data accesses for data within the volume of data, and wherein the heat map corresponds to a version of the volume of data corresponding to a snapshot.

11. The apparatus of claim 8 , wherein the lower tier of storage is an object store provided by a cloud services provider.

12. The apparatus of claim 8 , wherein transferring the one or more objects is in response to a data loss within the virtual storage system.

13. The apparatus of claim 8 , wherein the metadata is based on one or more characteristics of the one or more data objects, and wherein the one or more characteristics includes one or more of: a type of application using the volume of data, an identity of a user accessing the volume of data, a time of day, or a time of year.

14. A computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

identifying, for a plurality of data objects that have been migrated from a first tier of storage in a virtual storage system to a lower tier of storage, metadata describing one or more access patterns for the plurality of data objects;

determining, based at least on the metadata describing the plurality of data objects, one or more data objects that have a greater likelihood of being accessed relative to other data objects among the plurality of data objects; and

transferring, from the lower tier of storage, the one or more data objects that have a greater likelihood of being accessed relative to other data objects among the plurality of data objects, wherein the metadata is based on tracking cache contents that include data from the one or more data objects, wherein the cache contents are tracked prior to a snapshot of a volume of data that includes the one or more data objects, and wherein for each snapshot of the volume of data there is a corresponding version of metadata.

15. The computer program product of claim 14 , wherein transferring the one or more data objects is performed prior to a request for data included within the one or more data objects.

16. The computer program product of claim 14 , wherein the metadata is based on a heat map of data accesses for data within the volume of data, and wherein the heat map corresponds to a version of the volume of data corresponding to a snapshot.

17. The computer program product of claim 14 , wherein the lower tier of storage is an object store provided by a cloud services provider.

Assignments (3)
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 Apr 28, 2020
From: FERNANDEZ, ARGENIS; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 052515/0807 →
Continuity (5)
Continuation In Part 16777211 · Jan 30, 2020
Provisional Application 62967368 · Jan 29, 2020
Provisional Application 62900998 · Sep 16, 2019
Provisional Application 62878877 · Jul 26, 2019
Provisional Application 62875947 · Jul 18, 2019
Cited By (9)
US 12,248,566 US 12,271,596 US 12,393,373 US 12,450,683 US 12,645,455 US 12,657,024 US 12,669,996 US 12,688,545 US 12,700,056