System and method for striped mirror re-synchronization by logical partition rather than stripe units
First Claim
Patent Images
1. A data processing system implemented method for resynchronizing a striped mirror, comprising:
- receiving information that a disk is stale, wherein the disk is associated with a mirror; and
performing a resynchronizing Read for a block on only the stale disk, wherein prior to performing a resynchronizing Read, the method comprises;
serializing an IO request across both a stripe unit and a partition boundary.
3 Assignments
0 Petitions
Accused Products
Abstract
Striped mirrors are re-synchronized by logical partition rather than by stripe unit for stale partitions. While re-synchronizing physical partitions, data is serialized across both the stripe unit and the real partition region. The re-sync Read operation uses the normal logical partition offsets to read on a physical partition boundary rather than using the stripe units. In so doing, a single disk in a striped mirror can be replaced without re-synchronizing the entire mirror. The resync Read is not broken up into individual stripe unit reads.
63 Citations
23 Claims
-
1. A data processing system implemented method for resynchronizing a striped mirror, comprising:
-
receiving information that a disk is stale, wherein the disk is associated with a mirror; and
performing a resynchronizing Read for a block on only the stale disk, wherein prior to performing a resynchronizing Read, the method comprises;
serializing an IO request across both a stripe unit and a partition boundary. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
determining an active mirror for the block;
reading the block from an active partition on the active mirror; and
writing the block to the stale partition on the stale disk.
-
-
3. The method recited in claim 2, wherein reading the block further comprises:
reading the block from the active partition as a single Read.
-
4. The method recited in claim 2, wherein reading the block further comprises:
reading the block on a real partition boundary on the active partition.
-
5. The method recited in claim 2, wherein reading the block further comprises:
reading the entire block from the active partition.
-
6. The method recited in claim 2, wherein reading the block further comprises:
reading the entire block as a single re-sync request.
-
7. The method recited in claim 2, wherein writing the block further comprises:
writing the block to the stale partition as a single Write.
-
8. The method recited in claim 2, wherein writing the block further comprises:
writing the block to a real partition boundary on the stale partition.
-
9. The method recited in claim 2, wherein reading the block further comprises:
writing the entire block as a single re-sync request.
-
10. A data processing system implemented method for resynchronizing a striped mirror, comprising:
-
serializing IO requests to both a logical region boundary and stripe units issuing a re-sync Read IO request for a block;
determining an available mirror for the block;
issuing a single Read for reading the block from a boundary on a first disk, wherein the first disk is associated with the available mirror; and
issuing a single Write for writing the block from a boundary on a second disk, wherein the second disk is stale.
-
-
11. A data processing system implemented method for resynchronizing a striped mirror, comprising:
-
issuing a Read IO request for a first block;
determining at least two stripe units associated with the first block;
identifying a physical region for each stripe unit;
issuing separate Read IO requests for each stripe unit associated with the block for each physical region;
issuing a re-sync Read IO request for a second block;
determining an available mirror for the second block;
issuing a single Read IO request for reading the second block from a boundary on a second physical region, wherein the second physical region is associated with the available mirror; and
issuing a single Write IO request for writing the second block from a boundary on a third region, wherein the third region is stale.
-
-
12. A data processing system for resynchronizing a striped mirror, comprising:
-
receiving means for receiving information that a disk is stale, wherein the disk is associated with a mirror;
performing means for perform a resynchronizing Read for a block on only the stale disk; and
serializing means for serializing an IO request across both a stripe unit and a partition boundary. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
determining means for determining an active mirror for the block;
reading means for reading the block from an active partition on the active mirror; and
writing means for writing the block to the stale partition on the stale disk.
-
-
14. The system recited in claim 13, wherein the reading means for reading the block further comprises:
reading means for reading the block from the active partition as a single Read.
-
15. The system recited in claim 14, wherein the reading means for reading the block further comprises:
reading means for reading the block on a real partition boundary on the active partition.
-
16. The system recited in claim 13, wherein the reading means for reading the block further comprises:
reading means for reading the entire block from the active partition.
-
17. The system recited in claim 13, wherein the reading means for reading the block further comprises:
reading means for reading the entire block as a single re-sync request.
-
18. The system recited in claim 13, wherein the writing means for writing the block further comprises:
writing means for writing the block to the stale partition as a single Write.
-
19. The system recited in claim 13, wherein the writing means for writing the block further comprises:
writing means for writing the block to a real partition boundary on the stale partition.
-
20. The system recited in claim 13, wherein the reading means for reading the block further comprises:
writing means for writing the entire block as a single re-sync request.
-
21. A data processing system for resynchronizing a striped mirror, comprising:
-
serializing means for serializing IO requests to both stripe units and a logical region boundary;
issuing means for issuing a re-sync Read IO request for a block;
determining means for determining an available mirror for the block;
issuing means for issuing a single Read for reading the block from a boundary on a first disk, wherein the first disk is associated with the available mirror; and
issuing means for issuing a single Write for writing the block from a boundary on a second disk, wherein the second disk is stale.
-
-
22. A data processing system for resynchronizing a striped mirror, comprising:
-
issuing means for issuing a Read request IO request for a first block;
determining means for determining at least two stripe units associated with the first block;
identifying means for identifying a physical region for each stripe unit;
issuing means for issuing separate Reads for each stripe unit associated with the block for each physical region;
issuing means for issuing a re-sync Read IO request for a second block;
determining an available mirror for the second block;
issuing means for issuing a single Read for reading the second block from a boundary on a second physical region, wherein the second physical region is associated with the available mirror; and
issuing means for issuing a single Write for writing the second block from a boundary on a third region, wherein the third region is stale.
-
-
23. A computer program product for implementing a method for resynchronizing a striped mirror, comprising:
-
receiving instructions for receiving information that a disk is stale, wherein the disk is associated with a mirror;
performing instructions for performing a resynchronizing Read for a block on only the stale disk; and
serializing instructions for serializing an IO request across both a stripe unit and a partition boundary.
-
Specification