Automatic read and write acceleration of data accessed by virtual machines

US9699263B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9699263-B1
Application numberUS-201313831677-A
CountryUS
Kind codeB1
Filing dateMar 15, 2013
Priority dateAug 17, 2012
Publication dateJul 4, 2017
Grant dateJul 4, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of claim 1 , wherein the persistent cache comprises non-volatile solid state storage. 3. The method of claim 1 , wherein the two or more clients comprise virtual machines executed by the computer system. 4. The method of claim 1 , wherein the objects comprise one or more virtual disks. 5. The method of claim 1 , wherein the respective object portions comprise respective address blocks or sub-blocks of the objects. 6. The method of claim 5 , wherein the access history information includes at least one usage history value for a respective address block and at least one distinct respective usage history value for each sub-block of the respective address block. 7. The method of claim 1 , wherein the access history information includes at least one operations count for each respective object portion of a plurality of object portions identified by the data access commands. 8. The method of claim 1 , wherein updating the access history information comprises: incrementing a usage history value for a respective object portion assigned to a respective tier for which recent usage criteria are satisfied; and decrementing a usage history value for other portions of objects assigned to the respective tier for which recent usage criteria are not satisfied. 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. 10. The computer system of claim 9 , wherein the two or more clients comprise virtual machines executed by the computer system. 11. The computer system of claim 9 , wherein the respective object portions comprise respective address blocks or sub-blocks of the objects. 12. The computer system of claim 11 , wherein the access history information includes at least one usage history value for a respective address block and at least one distinct respective usage history value for each sub-block of the respective address block. 13. The computer system of claim 9 , wherein the access history information includes at least one operations count for each respective object portion of a plurality of object portions identified by the data access commands. 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 respec

Assignees

Inventors

Classifications

  • with main memory updating (G06F12/0806 takes precedence) · CPC title

  • Electricity · mapped topic

  • in hierarchically structured memory systems, e.g. virtual memory systems · CPC title

  • Electricity · mapped topic

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9699263B1 cover?
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 informat…
Who is the assignee on this patent?
Sandisk Entpr Ip Llc, Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification H04L67/2842. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).