Automatic read and write acceleration of data accessed by virtual machines
First Claim
1. A method for accelerating data access, performed by a computer system having one or more processors, memory, a tiered data structure stored in the memory, the tiered data structure comprising a plurality of tiers, and a persistent cache for storing accelerated data, the method comprising:
- receiving, at the computer system, data access commands from two or more clients to access data in objects identified by the data access commands;
processing, by the computer system, the data access commands to update access history information for respective object portions of the objects identified by the data access commands from the two or more clients, wherein the processing includes;
in accordance with the access history information, determining usage rates for each of the respective object portions identified by the data access commands, andassigning each of the respective object portions identified by the data access commands to one of the plurality of tiers within the tiered data structure in accordance with a determination that a respective determined usage rate for a respective object portion is within a range of usage rates for a respective tier to which the respective object portion is assigned;
wherein each tier of the plurality of tiers within the tiered data structure stores information identifying object portions assigned to that tier;
automatically identifying and marking for acceleration at least some of the respective object portions identified by the data access commands from the two or more clients in accordance with respective tiers to which the at least some of the respective object portions have been assigned, wherein the automatically identifying and marking are performed collectively for the at least some of the respective object portions identified by the data access commands from the two or more clients; and
accelerating data access to the at least some of the respective object portions marked for acceleration, by writing the at least some respective object portions marked for acceleration to the persistent cache;
wherein the persistent cache is shared by the two or more clients.
3 Assignments
0 Petitions
Accused Products
Abstract
The various implementations described herein include methods and systems for automatic management of data access acceleration in a computer system executing a plurality of clients. The method includes: receiving data access commands from two or more clients to access data in objects identified by the data access commands; and processing the data access commands to update access history information for portions of the objects identified by the data access commands. The method further includes: in accordance with the access history information, automatically identifying and marking for acceleration the portions of the objects identified by the data access commands that satisfy an access based data acceleration policy; and accelerating the object portions marked for acceleration, including accelerating data writes and data reads of the object portions to and from the persistent cache, where the persistent cache is shared by the two or more clients.
-
Citations
25 Claims
-
1. A method for accelerating data access, performed by a computer system having one or more processors, memory, a tiered data structure stored in the memory, the tiered data structure comprising a plurality of tiers, and a persistent cache for storing accelerated data, the method comprising:
-
receiving, at the computer system, data access commands from two or more clients to access data in objects identified by the data access commands; processing, by the computer system, the data access commands to update access history information for respective object portions of the objects identified by the data access commands from the two or more clients, wherein the processing includes; in accordance with the access history information, determining usage rates for each of the respective object portions identified by the data access commands, and assigning each of the respective object portions identified by the data access commands to one of the plurality of tiers within the tiered data structure in accordance with a determination that a respective determined usage rate for a respective object portion is within a range of usage rates for a respective tier to which the respective object portion is assigned; wherein each tier of the plurality of tiers within the tiered data structure stores information identifying object portions assigned to that tier; automatically identifying and marking for acceleration at least some of the respective object portions identified by the data access commands from the two or more clients in accordance with respective tiers to which the at least some of the respective object portions have been assigned, wherein the automatically identifying and marking are performed collectively for the at least some of the respective object portions identified by the data access commands from the two or more clients; and accelerating data access to the at least some of the respective object portions marked for acceleration, by writing the at least some respective object portions marked for acceleration to the persistent cache; wherein the persistent cache is shared by the two or more clients. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 20, 21, 22, 24, 25)
-
-
9. A computer system, comprising:
-
one or more processors; a persistent cache for storing accelerated data; memory storing a tiered data structure, the tiered data structure comprising a plurality of tiers, and one or more programs for execution by the one or more processors, wherein the one or more programs include instructions that when executed by the one or more processors cause the computer system to; receive, at the computer system, data access commands from two or more clients to access data in objects identified by the data access commands; process, by the computer system, the data access commands to update access history information for respective object portions of the objects identified by the data access commands from the two or more clients, wherein the instructions for processing the data access commands include instructions that when executed by the one or more processors cause the computer system to; in accordance with the access history information, determine usage rates for each of the respective object portions identified by the data access commands, and assign each of the respective object portions identified by the data access commands to one of the plurality of tiers within the tiered data structure in accordance with a determination that a respective determined usage rate for a respective object portion is within a range of usage rates for a respective tier to which the respective object portion is assigned; wherein each tier of the plurality of tiers within the tiered data structure stores information identifying object portions assigned to that tier; automatically identify and mark for acceleration at least some of the respective object portions identified by the data access commands from the two or more clients in accordance with respective tiers to which the at least some of the respective object portions have been assigned, wherein the automatically identifying and marking are performed collectively for the at least some of the respective object portions identified by the data access commands from the two or more clients; and accelerate data access to the at least some of the respective object portions marked for acceleration, by writing the at least some respective object portions marked for acceleration to the persistent cache; wherein the persistent cache is shared by the two or more clients. - View Dependent Claims (10, 11, 12, 13, 23)
-
-
14. A non-transitory computer readable medium storing one or more programs that when executed by one or more processors of a computer system cause the computer system to:
-
receive, at the computer system, data access commands from two or more clients to access data in objects identified by the data access commands; process, by the computer system, the data access commands to update access history information for respective object portions of the objects identified by the data access commands from the two or more clients, wherein causing the computer system to process the data access commands includes causing the computer system to; in accordance with the access history information, determine usage rates for each of the respective object portions identified by the data access commands, and assign each of the respective object portions identified by the data access commands to one of the plurality of tiers within the tiered data structure in accordance with a determination that a respective determined usage rate for a respective object portion is within a range of usage rates for a respective tier to which the respective object portion is assigned; wherein each tier of the plurality of tiers within the tiered data structure stores information identifying object portions assigned to that tier; automatically identify and mark for acceleration at least some of the respective object portions identified by the data access commands from the two or more clients in accordance with respective tiers to which the at least some of the respective object portions have been assigned, wherein the automatically identifying and marking are performed collectively for the at least some of the respective object portions identified by the data access commands from the two or more clients; and accelerate data access to the at least some of the respective object portions marked for acceleration, by writing the at least some respective object portions marked for acceleration to the persistent cache; wherein the persistent cache is shared by the two or more clients. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification