Method, device, and computer program product for replicating data

US12572297B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12572297-B2
Application numberUS-202418755087-A
CountryUS
Kind codeB2
Filing dateJun 26, 2024
Priority dateDec 22, 2023
Publication dateMar 10, 2026
Grant dateMar 10, 2026

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.

Techniques involve: receiving, by a destination device, first input/output (I/O) requests from a source device, the first I/O requests having first logical block addresses (LBAs); writing data in the first I/O requests to a cache of the destination device; flushing the data from the cache to a storage disk of the destination device; recording a particular LBA in the destination device, the particular LBA corresponding to the last LBA to which the destination device is flushed; and sending the particular LBA from the destination device to the source device to enable clearing of journals before the particular LBA in the source device. Such techniques reduce the time spent on replicating data from the source device to the destination device to improve the user experience and reduce the wear and tear of the journal log disk in the destination device to prolong its service life.

First claim

Opening claim text (preview).

The invention claimed is: 1 . A method for replicating data, comprising: receiving, by a destination storage device, a first set of input/output (I/O) requests from a source storage device, the first set of I/O requests having a first set of logical block addresses (LBAs); writing data in the first set of I/O requests to a cache of the destination storage device; flushing the data from the cache to a storage disk of the destination storage device; recording a particular LBA in the destination storage device, the particular LBA corresponding to the last LBA to which the destination storage device is flushed; sending the particular LBA from the destination storage device to the source storage device to enable clearing of journals before the particular LBA in the source storage device; and enabling a skip mode in the destination storage device before receiving the first set of I/O requests from the source storage device, wherein in the skip mode, the first set of I/O requests are not written to a journal log disk of the destination storage device. 2 . The method according to claim 1 , further comprising: exiting the skip mode in the destination storage device in response to all journals in the source storage device being cleared, wherein the particular LBA recorded in the destination storage device is cleared and the source storage device is set to be in synchronization with the destination storage device. 3 . The method according to claim 2 , further comprising: setting a timer in the source storage device, wherein the timer is used to query in the destination storage device whether an LBA of a last I/O request from the source storage device is equal to the particular LBA, and all journals in the source storage device are cleared in the case where the LBA of the last I/O request is found to be equal to the particular LBA. 4 . The method according to claim 2 , wherein the synchronization comprises any one of: for sync replication, changing a session state to an IN_SYNC state; and for async replication, establishing or refreshing a common base. 5 . The method according to claim 1 , wherein enabling a skip mode in the destination storage device comprises: enabling the skip mode independently for different disk partitions in the destination storage device. 6 . The method according to claim 1 , further comprising: receiving, by the destination storage device, a second set of I/O requests from the source storage device, the second set of I/O requests having a second set of LBAs; writing data in the second set of I/O requests to the cache of the destination storage device; flushing the data in the second set of I/O requests from the cache to the storage disk of the destination storage device; updating a recorded second particular LBA in the destination storage device according to the second set of LBAs; and sending the updated second particular LBA from the destination storage device to the source storage device to enable clearing of journals before the updated particular LBA in the source storage device. 7 . The method according to claim 6 , further comprising: receiving a third set of I/O requests after clearing of the journals before the particular LBA in the source storage device and before receiving the second set of I/O requests from the source storage device, the third set of I/O requests having a third set of LBAs, wherein the third set of LBAs is between the first set of LBAs and the second set of LBAs. 8 . The method according to claim 1 , wherein sending the particular LBA from the destination storage device to the source storage device comprises at least one of: sending the particular LBA from the destination storage device to the source storage device by including the particular LBA in a header of an acknowledge message sent from the destination storage device to the source storage device; and sending the particular LBA from the destination storage device to the source storage device by sending a notification message indicating the particular LBA. 9 . The method according to claim 1 , wherein clearing of journals before the particular LBA in the source storage device comprises: for sync replication, clearing fracture logs before the particular LBA in the source storage device. 10 . The method according to claim 1 , wherein clearing of journals before the particular LBA in the source storage device comprises: for async replication, updating a save point to the particular LBA in the source storage device. 11 . The method according to claim 1 , wherein clearing of journals before the particular LBA in the source storage device comprises any one of: for sync replication, clearing fracture logs before the particular LBA in the source storage device; and for async replication, updating a save point to the particular LBA in the source storage device. 12 . The method according to claim 1 , further comprising: performing “skip-journal” label detection operations to determine whether the I/O requests of the first set of I/O requests are tagged with a “skip-journal” label. 13 . The method according to claim 12 , further comprising: in response to the “skip-journal” label detection operations indicating that the I/O requests of the first set of I/O requests are tagged with the “skip-journal” label, preventing performance of persisting operations that would persist the I/O requests of the first set of I/O requests into the journal log disk of the destination storage device. 14 . An electronic device, comprising: at least one processor; and a storage apparatus coupled to the at least one processor and having instructions stored thereon, wherein the instructions, when executed by the at least one processor, cause the electronic device to perform actions comprising: receiving, by a destination storage device, a first set of input/output (I/O) requests from a source storage device, the first set of I/O requests having a first set of logical block addresses (LBAs); writing data in the first set of I/O requests to a cache of the destination storage device; flushing the data from the cache to a storage disk of the destination storage device; recording a particular LBA in the destination storage device, the particular LBA corresponding to the last LBA to which the destination storage device is flushed; sending the particular LBA from the destination storage device to the source storage device to enable clearing of journals before the particular LBA in the source storage device; and enabling a skip mode in the destination storage device before receiving the first set of I/O requests from the source storage device, wherein in the skip mode, the first set of I/O requests are not written to a journal disk of the destination storage device. 15 . The electronic device according to claim 14 , further comprising: exiting the skip mode in the destination storage device in response to all journals in the source storage device being cleared, wherein the particular LBA recorded in the destination storage device is cleared and the source storage device is set to be in synchronization with the destination storage device. 16 . The electronic device according to claim 15 , wherein the actions further comprise: setting a timer in the source storage device, wherein the timer is used to query in the destination storage device whether an LBA of a last I/O request from the source storage device is equal to the particular LBA, and all journals in the source storage device are cleared in the case where the LBA of the last I/O request is found to be eq

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Single storage device · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · 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 US12572297B2 cover?
Techniques involve: receiving, by a destination device, first input/output (I/O) requests from a source device, the first I/O requests having first logical block addresses (LBAs); writing data in the first I/O requests to a cache of the destination device; flushing the data from the cache to a storage disk of the destination device; recording a particular LBA in the destination device, the part…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 10 2026 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 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).