Systems and methods for utilizing write-cache for significant reduction in RPO for asynchronous replication

US12105669B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12105669-B2
Application numberUS-202117508363-A
CountryUS
Kind codeB2
Filing dateOct 22, 2021
Priority dateOct 22, 2021
Publication dateOct 1, 2024
Grant dateOct 1, 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 method, computer program product, and computer system for receiving, by a computing device, a snapshot create operation of a volume to create a first snapshot. Existing dirty data of the volume for the first snapshot may be flushed from an in-memory cache. New writes to the volume for the first snapshot may be maintained in the in-memory cache as dirty. A snapshot create operation to the volume may be received to create a second snapshot. The new writes to the volume for the first snapshot may be combined as part of the second snapshot.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: receiving, by the computing device, a snapshot create operation of a volume to create a first snapshot; flushing existing dirty data of the volume for the first snapshot from an in-memory cache which includes creating a mapping tree, performing data reduction, and late-binding to physical capacity; maintaining new writes to the volume for the first snapshot in the in-memory cache as dirty data; receiving a snapshot create operation to the volume to create a second snapshot; combining the new writes to the volume for the first snapshot as part of the second snapshot; removing processing overhead associated with the data reduction, the snapshot creation operation, a snapshot deletion operation, and a difference operation of the volume in order to reduce a recover point objective (RPO) time, wherein the difference operation includes determining a difference between the first snapshot and the second snapshot in the in-memory cache by examining in-memory data structures of the in-memory cache to determine and return all dirty data that are part of the second snapshot and locking and traversing the mapping tree for the first snapshot and the second snapshot, comparing mapping pointers, and recording the difference between the first snapshot and the second snapshot in the in-memory cache; and flushing at least a portion of the new writes in the in-memory cache based upon, at least in part, resource constraints of the in-memory cache, wherein the difference operation is then forwarded and executed to the in-memory cache to record the difference of the mapping tree for the first snapshot and the second snapshot for the at least the portion of the new writes flushed to the in-memory cache. 2. The computer-implemented method of claim 1 wherein the volume includes a flag indicating that the snapshot is a replication related snapshot. 3. The computer-implemented method of claim 1 wherein new writes to the volume for the second snapshot are maintained in the in-memory cache as the dirty data. 4. The computer-implemented method of claim 1 further comprising receiving a read request for the difference between the first snapshot and the second snapshot in the in-memory cache. 5. The computer-implemented method of claim 4 further comprising receiving a request for the snapshot deletion operation of the volume to delete the first snapshot and flush dirty data of the second snapshot in the in-memory cache to the volume. 6. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising: receiving a snapshot create operation of a volume to create a first snapshot; flushing existing dirty data of the volume for the first snapshot from an in-memory cache which includes creating a mapping tree, performing data reduction, and late-binding to physical capacity; maintaining new writes to the volume for the first snapshot in the in-memory cache as dirty data; receiving a snapshot create operation to the volume to create a second snapshot; combining the new writes to the volume for the first snapshot as part of the second snapshot; removing processing overhead associated with the data reduction, the snapshot creation operation, a snapshot deletion operation, and a difference operation of the volume in order to reduce a recover point objective (RPO) time, wherein the difference operation includes determining a difference between the first snapshot and the second snapshot in the in-memory cache by examining in-memory data structures of the in-memory cache to determine and return all dirty data that are part of the second snapshot and locking and traversing the mapping tree for the first snapshot and the second snapshot, comparing mapping pointers, and recording the difference between the first snapshot and the second snapshot in the in-memory cache; and flushing at least a portion of the new writes in the in-memory cache based upon, at least in part, resource constraints of the in-memory cache, wherein the difference operation is then forwarded and executed to the in-memory cache to record the difference of the mapping tree for the first snapshot and the second snapshot for the at least the portion of the new writes flushed to the in-memory cache. 7. The computer program product of claim 6 wherein the volume includes a flag indicating that the snapshot is a replication related snapshot. 8. The computer program product of claim 6 wherein new writes to the volume for the second snapshot are maintained in the in-memory cache as the dirty data. 9. The computer program product of claim 6 wherein the operations further comprise receiving a read request for the difference between the first snapshot and the second snapshot in the in-memory cache. 10. The computer program product of claim 9 wherein the operations further comprise receiving a request for the snapshot deletion operation of the volume to delete the first snapshot and flush dirty data of the second snapshot in the in-memory cache to the volume. 11. A computing system including one or more processors and one or more memories configured to perform operations comprising: receiving a snapshot create operation of a volume to create a first snapshot; flushing existing dirty data of the volume for the first snapshot from an in-memory cache which includes creating a mapping tree, performing data reduction, and late-binding to physical capacity; maintaining new writes to the volume for the first snapshot in the in-memory cache as dirty data; receiving a snapshot create operation to the volume to create a second snapshot; combining the new writes to the volume for the first snapshot as part of the second snapshot; removing processing overhead associated with the data reduction, the snapshot creation operation, a snapshot deletion operation, and a difference operation of the volume in order to reduce a recover point objective (RPO) time, wherein the difference operation includes determining a difference between the first snapshot and the second snapshot in the in-memory cache by examining in-memory data structures of the in-memory cache to determine and return all dirty data that are part of the second snapshot and locking and traversing the mapping tree for the first snapshot and the second snapshot, comparing mapping pointers, and recording the difference between the first snapshot and the second snapshot in the in-memory cache; and flushing at least a portion of the new writes in the in-memory cache based upon, at least in part, resource constraints of the in-memory cache, wherein the difference operation is then forwarded and executed to the in-memory cache to record the difference of the mapping tree for the first snapshot and the second snapshot for the at least the portion of the new writes flushed to the in-memory cache. 12. The computing system of claim 11 wherein the volume includes a flag indicating that the snapshot is a replication related snapshot. 13. The computing system of claim 11 wherein new writes to the volume for the second snapshot are maintained in the in-memory cache as the dirty data. 14. The computing system of claim 11 wherein the operations further comprise: receiving a read request for the difference between the first snapshot and the second snapshot in the in-memory cache; and receiving a request for the snapshot deletion operation of the volume to delete the

Assignees

Inventors

Classifications

  • Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches · CPC title

  • Details of cache memory · CPC title

  • Networked environment · CPC title

  • Correctness of operation, e.g. memory ordering · CPC title

  • Latency reduction · 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 US12105669B2 cover?
A method, computer program product, and computer system for receiving, by a computing device, a snapshot create operation of a volume to create a first snapshot. Existing dirty data of the volume for the first snapshot may be flushed from an in-memory cache. New writes to the volume for the first snapshot may be maintained in the in-memory cache as dirty. A snapshot create operation to the volu…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/128. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 01 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).