Cache management system and method

US10747674B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10747674-B2
Application numberUS-201816034657-A
CountryUS
Kind codeB2
Filing dateJul 13, 2018
Priority dateJul 31, 2017
Publication dateAug 18, 2020
Grant dateAug 18, 2020

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.

A method, computer program product, and computing system for identifying, at the computing device, one or more cache pages in a cache system. One or more cache pages may be refactored into one or more cache units within the one or more cache pages. A plurality of parallel IO requests may be executed on the one or more cache units within the one or more cache pages.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: identifying, at the computing device, one or more cache pages in a cache system; refactoring the one or more cache pages into one or more cache units within each of the one or more cache pages based upon, at least in part, an alignment pattern of a plurality of parallel IO requests relative to a length of the one or more cache pages, wherein the alignment pattern of the plurality of parallel IO requests is defined by the plurality of parallel IO requests having an offset and a length that are each a multiple of an alignment length, wherein refactoring the one or more cache pages into one or more cache units within the one or more cache pages includes defining the one or more cache units as portions within each of the one or more cache pages with the alignment length, wherein refactoring the one or more cache pages includes generating one or more bitmaps for the one or cache pages, wherein one or more bits in the one or more bitmaps represent the one or more cache units within the one or more cache pages and wherein the number of bits in the one or more bitmaps is based upon, at least in part, the length of the one or more cache units; and executing the plurality of parallel IO requests on the one or more cache units within the one or more cache pages. 2. The computer implemented method of claim 1 , wherein executing the plurality of parallel IO requests includes: locking at least one cache unit of the one or more cache units within the one or more cache pages during execution of the plurality of parallel IO requests on the at least one cache unit. 3. The computer-implemented method of claim 1 , wherein the one or more bits in the one or more bitmaps indicate which cache units within the one or more cache pages are valid. 4. The computer-implemented method of claim 1 , wherein the one or more bits in the one or more bitmaps indicate which cache units within the one or more cache pages are dirty. 5. The computer-implemented method of claim 4 , further comprising: flushing one or more dirty cache units of the one or more cache units within the one of more cache pages based upon, at least in part, the one or more bits in the one or more bitmaps which indicate which cache units within the one or more cache pages are dirty. 6. 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: identifying one or more cache pages in a cache system; refactoring the one or more cache pages into one or more cache units within each of the one or more cache pages based upon, at least in part, an alignment pattern of a plurality of parallel IO requests relative to a length of the one or more cache pages wherein the alignment pattern of the plurality of parallel IO requests is defined by the plurality of parallel IO requests having an offset and a length that are each a multiple of an alignment length, wherein refactoring the one or more cache pages into one or more cache units within the one or more cache pages includes defining the one or more cache units as portions within each of the one or more cache pages with the alignment length, wherein refactoring the one or more cache pages includes generating one or more bitmaps for the one or cache pages, wherein one or more bits in the one or more bitmaps represent the one or more cache units within the one or more cache pages and wherein the number of bits in the one or more bitmaps is based upon, at least in part, the length of the one or more cache units; and executing the plurality of parallel IO requests on the one or more cache units within the one or more cache pages. 7. The computer program product of claim 6 , wherein executing the plurality of parallel IO requests includes: locking at least one cache unit of the one or more cache units within the one or more cache pages during execution of the plurality of parallel IO requests on the at least one cache unit. 8. The computer program product of claim 6 , wherein the one or more bits in the one or more bitmaps indicate which cache units within the one or more cache pages are valid. 9. The computer program product of claim 6 , wherein the one or more bits in the one or more bitmaps indicate which cache units within the one or more cache pages are dirty. 10. The computer program product of claim 9 , further comprising instructions for: flushing one or more dirty cache units of the one or more cache units within the one of more cache pages based upon, at least in part, the one or more bits in the one or more bitmaps which indicate which cache units within the one or more cache pages are dirty. 11. A computing system including a processor and memory configured to perform operations comprising: identifying one or more cache pages in a cache system; refactoring the one or more cache pages into one or more cache units within each of the one or more cache pages based upon, at least in part, an alignment pattern of a plurality of parallel IO requests relative to a length of the one or more cache pages wherein the alignment pattern of the plurality of parallel IO requests is defined by the plurality of parallel IO requests having an offset and a length that are each a multiple of an alignment length, wherein refactoring the one or more cache pages into one or more cache units within the one or more cache pages includes defining the one or more cache units as portions within each of the one or more cache pages with the alignment length, wherein refactoring the one or more cache pages includes generating one or more bitmaps for the one or cache pages, wherein one or more bits in the one or more bitmaps represent the one or more cache units within the one or more cache pages and wherein the number of bits in the one or more bitmaps is based upon, at least in part, the length of the one or more cache units; and executing the plurality of parallel IO requests on the one or more cache units within the one or more cache pages. 12. The computing system of claim 11 , wherein executing the plurality of parallel IO requests includes: locking at least one cache unit of the one or more cache units within the one or more cache pages during execution of the plurality of parallel IO requests on the at least one cache unit. 13. The computing system of claim 11 , wherein the one or more bits in the one or more bitmaps indicate which cache units within the one or more cache pages are dirty. 14. The computing system of claim 13 , further configured to perform operations comprising: flushing one or more dirty cache units of the one or more cache units within the one of more cache pages based upon, at least in part, the one or more bits in the one or more bitmaps which indicate which cache units within the one or more cache pages are dirty.

Assignees

Inventors

Classifications

  • Multiple simultaneous or quasi-simultaneous cache accessing · CPC title

  • of parts of caches, e.g. directory or tag array · CPC title

  • Caches characterised by their organisation or structure · CPC title

  • for peripheral storage systems, e.g. disk cache · CPC title

  • Parallel mode, e.g. in parallel with main memory or CPU · CPC title

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 US10747674B2 cover?
A method, computer program product, and computing system for identifying, at the computing device, one or more cache pages in a cache system. One or more cache pages may be refactored into one or more cache units within the one or more cache pages. A plurality of parallel IO requests may be executed on the one or more cache units within the one or more cache pages.
Who is the assignee on this patent?
Emc Ip Holding Co Llc, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0844. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 18 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).