Method and device for rebuilding data in storage array group
US-2020133503-A1 · Apr 30, 2020 · US
US11947827B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11947827-B2 |
| Application number | US-202016875624-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 15, 2020 |
| Priority date | May 15, 2020 |
| Publication date | Apr 2, 2024 |
| Grant date | Apr 2, 2024 |
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.
The disclosure herein describes enhancing data durability of a base component using a delta component. A delta component is generated based on the base component becoming unavailable. The delta component is configured to include unwritten storage space with an address space matching the base component and a tracking bitmap associated with data blocks of the address space of the delta component. Write operations targeted for the base component are routed to the delta component. Based on the routed write operations, bits associated with data blocks affected by the write operations are changed in the tracking bitmap. Based on the base component becoming available, data blocks affected by routed write operations are identified based on the tracking bitmap and the identified data blocks are synchronized from the delta component to the base component. The delta component is then removed.
Opening claim text (preview).
What is claimed is: 1. A method for enhancing data durability of a base component using a temporary component and a mirrored component, the method comprising: copying, by the mirrored component, all write operations directed to the base component to the mirrored component; generating, by a processor, a temporary component based on the base component becoming unavailable, wherein the temporary component is configured to include blank storage space with an address space matching an address space of the base component and a tracking component that includes a plurality of bits associated with data blocks of the address space of the temporary component; routing, by the processor, a write operation targeted for the base component to the temporary component, and the mirrored component; based on routing the write operation targeted for the base component to the temporary component and the mirrored component, writing data associated with the write operation to (i) a data block of the data blocks of the address space of the temporary component and (ii) the mirrored component; based on writing the data to the data block of the temporary component, changing, by the processor, a bit associated with the data block in the tracking component; based on detecting the base component becoming available, selecting the temporary component over the mirrored component as a source for synchronizing the base component to include the data associated with the write operation that was routed to the temporary component and the mirrored component while the base component was unavailable; estimating, by the processor, a synchronization workload using the tracking component; filtering out unwritten portions of the synchronization workload from the temporary component, the filtering out leaving written portions of the synchronization workload in the temporary component; and copying data of the written portions of the synchronization workload from the temporary component to the base component. 2. The method of claim 1 , wherein copying data of the written portions of the synchronization workload from the temporary component to the base component includes identifying a subset of data locations in the temporary component; and writing the identified subset of data locations from the temporary component to the base component. 3. The method of claim 1 , wherein generating the temporary component is based on receiving a notification prior to the base component becoming unavailable; and wherein the temporary component is generated prior to the base component becoming unavailable. 4. The method of claim 1 , further comprising: determining that the copying data of the written portions of the synchronization workload from the temporary component to the base component is not complete and the temporary component is unavailable; based on the determining of the temporary component becoming unavailable, restarting synchronization of the base component using the mirrored component. 5. The method of claim 1 , wherein the base component is part of a redundant array of independent disks (RAID) and generating the temporary component includes placing the temporary component into a temporary RAID level configured to mirror write operations targeted at the base component. 6. The method of claim 1 , further comprising transitioning the temporary component to a degraded state and notifying a cleanup process to delete the temporary component. 7. A computer system for enhancing data durability of a base component using a temporary component and a mirrored component, the computer system comprising: a processor; and a non-transitory computer readable medium having stored thereon program code for transferring data to another computer system, the program code causing the processor to: copy all write operations directed to the base component to the mirrored component; generate a temporary component based on the base component becoming unavailable, wherein the temporary component is configured to have an address space matching an address space of the base component and a tracking component that includes a plurality of bits associated with data blocks of the address space of the temporary component; route a write operation targeted for the base component to the temporary component, and the mirrored component; based on routing the write operation targeted for the base component to the temporary component and the mirrored component, write data associated with the write operation to (i) a data block of the data blocks of the address space of the temporary component and (ii) the mirrored component; based on writing the data to the data block of the temporary component, change a bit associated with the data block in the tracking component; based on detecting the base component becoming available, select the temporary component over the mirrored component as a source for synchronizing the base component to include the data associated with the write operation that was routed to the temporary component and the mirrored component while the base component was unavailable; estimate, by the processor, a synchronization workload using the tracking component; filter out unwritten portions of the synchronization workload from the temporary component, the filtering out leaving written portions of the synchronization workload in the temporary component; and copy data of the written portions of the synchronization workload from the temporary component to the base component. 8. The computer system of claim 7 , wherein copying data of the written portions of the synchronization workload from the temporary component to the base component includes identifying a subset of data locations in the temporary component; and writing the identified subset of data locations from the temporary component to the base component. 9. The computer system of claim 7 , wherein generating the temporary component is based on receiving a notification prior to the base component becoming unavailable; and wherein the temporary component is generated prior to the base component becoming unavailable. 10. The computer system of claim 7 , wherein the program code is further operative to: determine that the copying data of the written portions of the synchronization workload from the temporary component to the base component is not complete and the temporary component is unavailable; based on the determining of the temporary component becoming unavailable, restart synchronization of the base component using the mirrored component. 11. The computer system of claim 7 , wherein the base component is part of a redundant array of independent disks (RAID) and generating the temporary component includes placing the temporary component into a temporary RAID level configured to mirror write operations targeted at the base component. 12. The computer system of claim 7 , further comprising transitioning the temporary component to a degraded state and notifying a cleanup process to delete the temporary component. 13. A non-transitory computer storage medium having stored thereon program code executable by a first computer system at a first site, the program code embodying a method comprising: copying, by a mirrored component, all write operations directed to a base component to the mirrored component; generating a temporary component based on a base component becoming unavailable, wherein the temporary component is configured to include blank storage space with an address space matching an address space of the base component and a tracking component including a plurality of bits associated with data blocks of the address space of the temporary componen
Replication mechanisms · CPC title
in relation to availability · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.