Disaster restore of big data application with near zero RTO
US-10310949-B1 · Jun 4, 2019 · US
US10831401B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10831401-B2 |
| Application number | US-201916250140-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 17, 2019 |
| Priority date | Jan 18, 2018 |
| Publication date | Nov 10, 2020 |
| Grant date | Nov 10, 2020 |
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 a write request for a first storage block in a source storage area during copying first data from the source storage area to a target storage area. The techniques further involve writing second data associated with the write request into a second storage block of the target storage area, wherein the second storage block corresponds to the first storage block. The techniques further involve updating an indicator associated with the first storage block, wherein the indicator indicates that the second data is written by the write request during the copying. Such techniques enable the data to be written into the target storage area directly without being written into the source storage area by setting an indicator indicating whether a storage block receives a write request during data copying. Accordingly, such techniques can improve write performance during data copying, and extend source storage area lifetime.
Opening claim text (preview).
We claim: 1. A method for writing data, comprising: receiving a write request for a first storage block in a source storage area during copying first data from the source storage area to a target storage area; writing second data associated with the write request into a second storage block of the target storage area, the second storage block corresponding to the first storage block; and updating an indicator associated with the first storage block, the indicator indicating that the second data is written by the write request during the copying; wherein the writing the second data comprises: determining a checkpoint for the copying, the checkpoint indicating a progress of the copying in the source storage area; and writing the second data based on the checkpoint and a first position of the first storage block in the source storage area. 2. The method of claim 1 , wherein the writing the second data based on the checkpoint and a first position of the first storage block in the source storage area comprises: in response to the first position being prior to the checkpoint, writing the second data into the second storage block directly. 3. The method of claim 1 , wherein the writing the second data based on the checkpoint and a first position of the first storage block in the source storage area comprises: in response to the first position being after the checkpoint, determining whether the second data involves entirety of the first storage block; and in response to determining the second data involving entirety of the first storage block, writing the second data into the second storage block directly. 4. The method of claim 3 , wherein the writing the second data based on the checkpoint and a first position of the first storage block in the source storage area further comprises: in response to determining the second data involving a part of the first storage block, reading the first storage block from the source storage area; updating data at a corresponding position in the first storage block using the second data to generate updated second data; and writing the updated second data into the second storage block. 5. The method of claim 1 , further comprising: in response to receiving a read request for a plurality of storage blocks in the source storage area during the copying, determining, based on a plurality of indicators associated with the plurality of storage blocks, whether the target storage area includes third data associated with the read request; and in response to the target storage area including a part of the third data: reading the part of the third data from the target storage area; and reading other part of the third storage data from the source storage area. 6. The method of claim 1 , wherein the copying is performed by a first processor, and the method further comprises: synchronizing the indicator between the first processor and a second processor during the copying, the second processor and the first processor constituting a dual active processor; and deleting the indicator after completing the copying. 7. The method of claim 6 , further comprising: in response to the first processor failing during the copying, processing, by the second processor, a read request for the source storage area based on the indicator. 8. The method of claim 6 , further comprising: in response to both the first processor and the second processor failing during the copying: acquiring a flag for the write request; and in response to the flag indicating presence of the write request during the copying, rebuilding data on the target storage area. 9. The method of claim 1 , further comprising: in response to the source storage area failing during the copying, rebuilding, on the target storage area, a part of the first data that has not been copied; and in response to the target storage area failing during the copying, rebuilding at least the second data on the source storage area based on the indicator. 10. The method of claim 1 , further comprising: in response to replacing the source storage area with the target storage area or adding the target storage area in a mapped redundant array of independent disks (RAID), copying the first data from the source storage area to the target storage area, the mapped RAID being able to rebuild a failed disk using a plurality of disks. 11. A device for writing data, comprising: a processing unit; and a memory coupled to the processing unit and storing instructions, the instructions, when executed by the processing unit, perform actions of: receiving a write request for a first storage block in a source storage area during copying first data from the source storage area to a target storage area, writing second data associated with the write request into a second storage block of the target storage area, the second storage block corresponding to the first storage block, and updating an indicator associated with the first storage block, the indicator indicating that the second data is written by the write request during the copying; wherein the writing the second data comprises: determining a checkpoint for the copying, the checkpoint indicating a progress of the copying in the source storage area; and writing the second data based on the checkpoint and a first position of the first storage block in the source storage area. 12. The device of claim 11 , wherein the writing the second data based on the checkpoint and a first position of the first storage block in the source storage area comprises: in response to the first position being prior to the checkpoint, writing the second data into the second storage block directly. 13. The device of claim 11 , wherein the writing the second data based on the checkpoint and a first position of the first storage block in the source storage area comprises: in response to the first position being after the checkpoint, determining whether the second data involves entirety of the first storage block; and in response to determining the second data involving entirety of the first storage block, writing the second data into the second storage block directly. 14. The device of claim 13 , wherein the writing the second data based on the checkpoint and a first position of the first storage block in the source storage area further comprises: in response to determining the second data involving a part of the first storage block, reading the first storage block from the source storage area; updating data at a corresponding position in the first storage block using the second data to generate updated second data; and writing the updated second data into the second storage block. 15. The device of claim 11 , wherein the actions further comprise: in response to receiving a read request for a plurality of storage blocks in the source storage area during the copying, determining, based on a plurality of indicators associated with the plurality of storage blocks, whether the target storage area includes third data associated with the read request; and in response to the target storage area including a part of the third data: reading the part of the third data from the target storage area; and reading other part of the third storage data from the source storage area. 16. The device of claim 11 , wherein the copying is performed by a first processor, and the actions further comprise: synchronizing the indicator between the first processor and a second processor during the copying, the second processor and the first processor constituting a dual active processor; and deleting t
for peripheral storage systems, e.g. disk cache · CPC title
Backup restoration techniques · CPC title
Resetting or repowering · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Replication mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.