Resizable cache system and method

US10817429B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10817429-B1
Application numberUS-201514871865-A
CountryUS
Kind codeB1
Filing dateSep 30, 2015
Priority dateSep 30, 2015
Publication dateOct 27, 2020
Grant dateOct 27, 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 freeing up cache space includes identifying a portion of cache space for removal from a cache system, thus defining a cache portion to be removed, and ceasing to promote the cache portion to be removed. Data that needs to be relocated within the cache portion to be removed is identified, thus identifying flushable data. The flushable data is relocated to a backend storage system associated with the cache portion to be removed.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for freeing up cache space comprising: identifying a portion of cache space for removal from a mirrored cache system of one or more solid-state disks chosen from a plurality of solid-state disks within the cache system, wherein the portion of cache spaced identified for removal is cache space in a first cache system associated with a first storage processor; identifying a mirrored portion associated with the identified portion of cache space for removal, wherein the identified portion of cache space for removal and the mirrored portion associated with identified portion of cache space for removal define a cache portion to be removed, wherein the mirrored portion associated with the identified portion of cache space for removal is a cache space in a second cache system associated with a second storage processor; in response to identifying the associated mirrored portion of cache space, ceasing to promote the cache portion to be removed and the associated mirrored portion as available for storing additional data to be written to a data array; in response to ceasing to promote the cache portion to be removed and the associated mirrored portion as available for storing additional data to be written to a data array, identifying data within the cache portion to be removed that needs to be relocated in response to ceasing to promote the cache portion to be removed, thus identifying flushable data; relocating the flushable data to a backend storage system associated with the cache portion to be removed; and defining the cache portion to be removed as storage space available for reallocation, wherein each of the identified portion of cache space for removal and the mirrored portion associated with identified portion of cache space for removal are concurrently defined as storage space available for allocation when the flushable data is relocated to the backend storage system. 2. The computer-implemented method of claim 1 wherein the cache system is a flash-based cache system. 3. The computer-implemented method of claim 1 wherein the flushable data is dirty data. 4. 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 a portion of cache space for removal from a mirrored cache system of one or more solid-state disks chosen from a plurality of solid-state disks within the cache system, wherein the portion of cache spaced identified for removal is cache space in a first cache system associated with a first storage processor; identifying a mirrored portion associated with the identified portion of cache space for removal, wherein the identified portion of cache space for removal and the mirrored portion associated with identified portion of cache space for removal define a cache portion to be removed, wherein the mirrored portion associated with the identified portion of cache space for removal is a cache space in a second cache system associated with a second storage processor; in response to identifying the associated mirrored portion of cache space, ceasing to promote the cache portion to be removed and the associated mirrored portion as available for storing additional data to be written to a data array; in response to ceasing to promote the cache portion to be removed and the associated mirrored portion as available for storing additional data to be written to a data array, identifying data within the cache portion to be removed that needs to be relocated in response to ceasing to promote the cache portion to be removed, thus identifying flushable data; relocating the flushable data to a backend storage system associated with the cache portion to be removed; and defining the cache portion to be removed as storage space available for reallocation, wherein each of the identified portion of cache space for removal and the mirrored portion associated with identified portion of cache space for removal are concurrently defined as storage space available for allocation when the flushable data is relocated to the backend storage system. 5. The computer program product of claim 4 wherein the cache system is a flash-based cache system. 6. The computer program product of claim 4 wherein the flushable data is dirty data. 7. A computing system including a processor and memory configured to perform operations comprising: identifying a portion of cache space for removal from a mirrored cache system of one or more solid-state disks chosen from a plurality of solid-state disks within the cache system, wherein the portion of cache spaced identified for removal is cache space in a first cache system associated with a first storage processor; identifying a mirrored portion associated with the identified portion of cache space for removal, wherein the identified portion of cache space for removal and the mirrored portion associated with identified portion of cache space for removal define a cache portion to be removed, wherein the mirrored portion associated with the identified portion of cache space for removal is a cache space in a second cache system associated with a second storage processor; in response to identifying the associated mirrored portion of cache space, ceasing to promote the cache portion to be removed and the associated mirrored portion as available for storing additional data to be written to a data array; in response to ceasing to promote the cache portion to be removed and the associated mirrored portion as available for storing additional data to be written to a data array, identifying data within the cache portion to be removed that needs to be relocated in response to ceasing to promote the cache portion to be removed, thus identifying flushable data; relocating the flushable data to a backend storage system associated with the cache portion to be removed; and defining the cache portion to be removed as storage space available for reallocation, wherein each of the identified portion of cache space for removal and the mirrored portion associated with identified portion of cache space for removal are concurrently defined as storage space available for allocation when the flushable data is relocated to the backend storage system. 8. The computing system of claim 7 wherein the cache system is a flash-based cache system. 9. The computing system of claim 7 wherein the flushable data is dirty data.

Assignees

Inventors

Classifications

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 US10817429B1 cover?
A method, computer program product, and computing system for freeing up cache space includes identifying a portion of cache space for removal from a cache system, thus defining a cache portion to be removed, and ceasing to promote the cache portion to be removed. Data that needs to be relocated within the cache portion to be removed is identified, thus identifying flushable data. The flushable …
Who is the assignee on this patent?
Emc Corp, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0868. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 27 2020 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).