Method, device and computer program product for storage management

US11494100B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11494100-B2
Application numberUS-201916588903-A
CountryUS
Kind codeB2
Filing dateSep 30, 2019
Priority dateApr 16, 2019
Publication dateNov 8, 2022
Grant dateNov 8, 2022

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.

According to embodiments of the present disclosure, a method, device and computer program product for storage management are proposed. The method comprises: obtaining, in a first virtual storage device, a first portion storing a source file, the source file being used to update a target file; determining a second portion in the first virtual storage device, data stored in the second portion being changed relative to data stored in a second virtual storage device, the data stored in the second virtual storage device including the target file; determining a changed portion based on the first portion and the second portion, the changed portion indicating changed data of the source file relative to the target file; and updating the target file based on the changed portion. Therefore, the present solution can reduce data transmission and resource consumption.

First claim

Opening claim text (preview).

We claim: 1. A method for storage management, comprising: obtaining, in a first virtual storage device, a first portion storing a source file, the source file being used to update a target file, wherein the first virtual storage device includes a plurality of storage blocks; determining a second portion in the first virtual storage device, data stored in the second portion being changed relative to data stored in a second virtual storage device, the data stored in the second virtual storage device including the target file, wherein determining the second portion comprises: generating a first snapshot of the first virtual storage device at a first time point, generating a second snapshot of the second virtual storage device at the first time point, determining a first intermediate second portion, generating a third snapshot of the first virtual storage device at a second time point, generating a fourth snapshot of the second virtual storage device at the second time point, determining a second intermediate second portion, and generating the second portion by combining the first intermediate second portion and the second intermediate second portion; determining a changed portion based on the first portion and the second portion, wherein determining the changed portion includes recording changes of data stored in the first virtual storage device relative to data stored in the second virtual storage device using an IO device driver, the changed portion indicating changed data of the source file relative to the target file; and updating the target file based on the changed portion. 2. The method of claim 1 , further comprising: determining, in the second virtual storage device, a third portion storing the target file. 3. The method of claim 1 , wherein obtaining the first portion comprises: mapping the source file to a corresponding storage block among the plurality of storage blocks; and determining the first portion based on the corresponding storage block. 4. The method of claim 1 , wherein determining the second portion comprises: determining the second portion by comparing the first snapshot with the second snapshot. 5. The method of claim 1 , wherein determining the changed portion comprises: determining an overlapped portion between the first portion and the second portion as the changed portion. 6. The method of claim 2 , wherein the second virtual storage device comprises a plurality of storage blocks, and determining the third portion comprises: mapping the target file to a corresponding storage block among the plurality of storage blocks; and determining the third portion based on the corresponding storage block. 7. The method of claim 2 , wherein updating the target file comprises: in response to the changed portion indicating the source file does not contain changed data relative to the target file, updating the target file based on the first portion, the second portion, the third portion, and data stored in the second virtual storage device and associated with the target file. 8. The method of claim 2 , wherein updating the target file comprises: in response to the changed portion indicating the source file contains changed data relative to the target file, obtaining data in the changed portion in the source file based on the changed portion; and updating the target file based on data in the changed portion in the source file, the first portion, the second portion, the third portion, and data stored in the second virtual storage device and associated with the target file. 9. A device for storage management, comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts comprising: obtaining, in a first virtual storage device, a first portion storing a source file, the source file being used to update a target file, wherein the first virtual storage device comprises a plurality of storage blocks, and; determining a second portion in the first virtual storage device, data stored in the second portion being changed relative to data stored in a second virtual storage device, data stored in the second virtual storage device including the target file, wherein determining the second portion comprises: generating a first snapshot of the first virtual storage device at a first time point, generating a second snapshot of the second virtual storage device at the first time point, determining a first intermediate second portion, generating a third snapshot of the first virtual storage device at a second time point, generating a fourth snapshot of the second virtual storage device at the second time point, determining a second intermediate second portion, and generating the second portion by combining the first intermediate second portion and the second intermediate second portion; determining a changed portion based on the first portion and the second portion, wherein determining the changed portion includes recording changes of data stored in the first virtual storage device relative to data stored in the second virtual storage device using an IO device driver, the changed portion indicating changed data of the source file relative to the target file; and updating the target file based on the changed portion. 10. The device of claim 9 , the acts further comprising: determining, in the second virtual storage device, a third portion storing the target file. 11. The device of claim 9 , wherein obtaining the first portion comprises: mapping the source file to a corresponding storage block among the plurality of storage blocks; and determining the first portion based on the corresponding storage block. 12. The device of claim 9 , wherein determining the second portion comprises: determining the second portion by comparing the first snapshot with the second snapshot. 13. The device of claim 9 , wherein determining the changed portion comprises: determining an overlapped portion between the first portion and the second portion as the changed portion. 14. The device of claim 10 , wherein the second virtual storage device comprises a plurality of storage blocks, and determining the third portion comprises: mapping the target file to a corresponding storage block among the plurality of storage blocks; and determining the third portion based on the corresponding storage block. 15. The device of claim 10 , wherein updating the target file comprises: in response to the changed portion indicating the source file does not contain changed data relative to the target file, updating the target file based on the first portion, the second portion, the third portion, and data stored in the second virtual storage device and associated with the target file. 16. The device of claim 10 , wherein updating the target file comprises: in response to the changed portion indicating the source file contains changed data relative to the target file, obtaining data in the changed portion in the source file based on the changed portion; and updating the target file based on data in the changed portion in the source file, the first portion, the second portion, the third portion, and data stored in the second virtual storage device and associated with the target file. 17. A computer program product, tangibly stored on a non-transient computer readable medium and comprising machine executable instructions which, when executed, cause a machine to implement a method for storage man

Assignees

Inventors

Classifications

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

  • G06F16/188Primary

    Virtual file systems · CPC title

  • Improving I/O performance · CPC title

  • Single storage device · CPC title

  • Replication mechanisms · 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 US11494100B2 cover?
According to embodiments of the present disclosure, a method, device and computer program product for storage management are proposed. The method comprises: obtaining, in a first virtual storage device, a first portion storing a source file, the source file being used to update a target file; determining a second portion in the first virtual storage device, data stored in the second portion bei…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/188. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 08 2022 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).