Aggregating block mapping metadata to improve linked clone read performance
US-12111771-B2 · Oct 8, 2024 · US
US12572297B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12572297-B2 |
| Application number | US-202418755087-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 26, 2024 |
| Priority date | Dec 22, 2023 |
| Publication date | Mar 10, 2026 |
| Grant date | Mar 10, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.