Managing data of different cache types within a storage system

US11907128B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11907128-B2
Application numberUS-202217740780-A
CountryUS
Kind codeB2
Filing dateMay 10, 2022
Priority dateJul 20, 2021
Publication dateFeb 20, 2024
Grant dateFeb 20, 2024

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 technique for managing a storage system involves determining, in response to a first write operation on a first data block on a persistent storage device, whether a first group of data corresponding to the first data block is included in a cache; updating the first group of data in the cache if it is determined that the first group of data is included in the cache; and adding the first group of data to an associated data set of the cache to serve as a first record. Accordingly, such a technique can associatively manage different types of cached data corresponding to a data block, thereby optimizing the system performance.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for managing a storage system, comprising: determining, in response to a first write operation on a first data block on a persistent storage device, whether a first group of data corresponding to the first data block is in a cache; updating the first group of data in the cache if it is determined that the first group of data is in the cache; adding the first group of data to an associated data set of the cache to serve as a first record; removing a second record in the associated data set in response to insufficient cache space in the associated data set, wherein the second record is the earliest added data record in the associated data set; and adding each piece of data comprised in the second record to the non-associated data set of the cache; and dividing data in the second record into at least one data group based on address indexes of the pieces of data in the second record in the cache, wherein address indexes of the data belonging to the same data group are close to each other, wherein removing the second record comprises: removing data in the second record that belong to the same data group from the second record in the same removal operation; and wherein adding each piece of data comprised in the second record to the non-associated data set comprises: adding data in the second record that belong to the same data group to the non-associated data set in the same adding operation. 2. The method according to claim 1 , further comprising: determining whether first data in the first group of data is comprised in existing data in the associated data set, wherein the existing data is updated in the cache in response to a second write operation on a second data block on the persistent storage device, and the second write operation occurs before the first write operation; and removing the first data from the existing data if it is determined that the first data is comprised in the existing data. 3. The method according to claim 1 , further comprising: adding the first group of data to a non-associated data set in the cache if it is determined that the first group of data is not comprised in the cache, wherein data in the non-associated data set does not overlap with data in each record in the associated data set. 4. The method according to claim 3 , further comprising: determining whether first data in the first group of data is comprised in the non-associated data set; and if it is determined that the first data is comprised in the non-associated data set: removing the first data from the non-associated data set. 5. The method according to claim 1 , wherein removing the second record further comprises: removing the second record if it is determined that the number of accesses to each piece of data in the second record in a recent period of time does not exceed a threshold number. 6. The method according to claim 1 , wherein the associated data set is an associated data queue, and wherein adding the first group of data to the associated data set to serve as the first record comprises: adding the first record to a tail of the associated data queue. 7. The method according to claim 1 , wherein the first group of data comprises first data of a first cache type and fourth data of a second cache type, and the first cache type is different from the second cache type. 8. An electronic device, comprising: at least one processor; and at least one memory storing computer program instructions, wherein the at least one memory and the computer program instructions are configured to cause, together with the at least one processor, the electronic device to perform actions comprising: determining, in response to a first write operation on a first data block on a persistent storage device, whether a first group of data corresponding to the first data block is in a cache; updating the first group of data in the cache if it is determined that the first group of data is in the cache; adding the first group of data to an associated data set of the cache to serve as a first record; removing a second record in the associated data set in response to insufficient cache space in the associated data set, wherein the second record is the earliest added data record in the associated data set; adding each piece of data comprised in the second record to the non-associated data set of the cache; and dividing data in the second record into at least one data group based on address indexes of the pieces of data in the second record in the cache, wherein address indexes of the data belonging to the same data group are close to each other; wherein removing the second record comprises: removing data in the second record that belong to the same data group from the second record in the same removal operation; and wherein adding each piece of data comprised in the second record to the non-associated data set comprises: adding data in the second record that belong to the same data group to the non-associated data set in the same adding operation. 9. The electronic device according to claim 8 , wherein the actions further comprise: determining whether first data in the first group of data is comprised in existing data in the associated data set, wherein the existing data is updated in the cache in response to a second write operation on a second data block on the persistent storage device, and the second write operation occurs before the first write operation; and removing the first data from the existing data if it is determined that the first data is comprised in the existing data. 10. The electronic device according to claim 8 , wherein the actions further comprise: adding the first group of data to a non-associated data set in the cache if it is determined that the first group of data is not comprised in the cache, wherein data in the non-associated data set does not overlap with data in each data record in the associated data set. 11. The electronic device according to claim 10 , wherein the actions further comprise: determining whether first data in the first group of data is comprised in the non-associated data set; and if it is determined that the first data is comprised in the non-associated data set: removing the first data from the non-associated data set. 12. The electronic device according to claim 8 , wherein removing the second record further comprises: removing the second record if it is determined that the number of accesses to each piece of data in the second record in a recent period of time does not exceed a threshold number. 13. The electronic device according to claim 8 , wherein the associated data set is an associated data queue, and wherein adding the first group of data to the associated data set to serve as the first record comprises: adding the first record to a tail of the associated data queue. 14. The electronic device according to claim 8 , wherein the first group of data comprises first data of a first cache type and fourth data of a second cache type, and the first cache type is different from the second cache type. 15. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage a storage system; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: determining, in response to a first write operation on a first data block on a persistent storage device, whether a first group of data corresponding to the first data block is in a cache; updating the first group of data in the cache if it is determined that t

Assignees

Inventors

Classifications

  • Allocation or management of cache space · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • Associative directories (G06F12/0822 takes precedence) · CPC title

  • with main memory updating (G06F12/0806 takes precedence) · 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 US11907128B2 cover?
A technique for managing a storage system involves determining, in response to a first write operation on a first data block on a persistent storage device, whether a first group of data corresponding to the first data block is included in a cache; updating the first group of data in the cache if it is determined that the first group of data is included in the cache; and adding the first group …
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0871. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 20 2024 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).