IP Library Granted Patent US 7,143,308
Granted Patent B2
US 7,143,308 · App. 11/035,860 · Granted Nov 28, 2006

Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,143,308
App. No.
11/035,860
Granted
Nov 28, 2006
Kind
B2
Abstract

An apparatus, system, and method are disclosed for rebuilding only changed stripes of an offline member disk in a RAID array that is configured with redundancy and no hot standby disk. A work-in-progress (“WIP”) map tracks the changed stripes of the offline member disk prior to a reactivation and records the completion of the differential rebuilding (“DR”) process on the stripes. The DR process shortens the duration of a degraded mode of operation entered into by a logical drive formed when the RAID array experiences a member disk failure that results in one member disk being designated as offline.

Claims (65)

1. An apparatus for executing differential rebuilding (“DR”), the apparatus comprising:

a work-in-process (“WIP”) map for an offline member disk in a redundant RAID array with no hot standby disk configured with a plurality of WIP entries to track DR completion of each corresponding stripe group, each said entry being initially set;

a WIP map clear module configured to clear a WIP map entry for a stripe group wherein the disk has an unfulfilled write requirement;

an extended error recovery module configured to reactivate said disk and to detect a state change to online of said disk; and

a DR performance module configured to perform DR on said disk following a successful reactivation at each stripe group with a cleared WIP map entry and subsequently set said entry.

2. The apparatus of claim 1 , wherein the extended error recovery module reactivates the offline member disk using a device reset cycle and an automated selective device power cycle.

3. The apparatus of claim 1 , wherein the offline member disk is configured to be manually reactivated to become online by removing and re-inserting said disk in said RAID array.

4. The apparatus of claim 1 , wherein the extended error recovery module is further configured to designate the offline member disk as permanently offline if the offline member disk fails to become online within a pre-specified period of time.

5. The apparatus of claim 1 , wherein if the extended error recovery module detects a replacement of the offline member disk by a hot swap disk bearing a new identity, the extended error recovery module makes the replacement disk undertake a full rebuilding on each stripe.

6. The apparatus of claim 1 , further comprising an input/output (“I/O”) module configured to execute an I/O command comprising a data block address of an active logical drive formed from said RAID array, access the data block if the logical drive is not in a degraded state, access the data block if the logical drive is in a degraded state, a rebuilding process is active, and the associated stripe group has no pending rebuilding process, delay access to the data block if the logical drive is in a degraded state, a rebuilding process is active, and the associated stripe group has a pending rebuilding process until the stripe group completes the rebuilding process, access the data block if the logical drive is in a degraded state, no rebuilding process is active, and the data block address is not mapped to the offline member disk, and regenerate data if the logical drive is in a degraded state, no rebuilding process is active, the data block address is mapped to the offline member disk, and the I/O command is a read command.

7. The apparatus of claim 6 , wherein the I/O module is further configured to update any check data in the associated stripe group on a surviving member disk if required as a result of executing the I/O command.

8. The apparatus of claim 1 , further comprising an audit-trail log module configured to record an audit-trail log as a log of the stripe group identifiers of WIP map cleared entries.

9. The apparatus of claim 8 , wherein the audit-trail log module is further configured to reconstruct the WIP map from the audit-trail log.

10. The apparatus of claim 9 , further comprising a non-volatile memory configured to store the audit-trail log.

11. The apparatus of claim 10 , further comprising a fault-tolerant disk storage configured to receive and store a portion of the audit-trail log from the non-volatile memory.

12. The apparatus of claim 11 , wherein the audit-trail log module is configured to reconstruct the WIP map from the audit-trail log stored in the non-volatile memory and the fault-tolerant disk storage.

13. A system for executing DR, the system comprising:

a RAID array of member disks;

a RAID enclosure housing the RAID array;

a storage controller, coupled to the RAID array of member disks, the storage controller comprising:

a processor;

a memory coupled to the processor;

a work-in-process (“WIP”) map for an offline member disk in a redundant RAID array with no hot standby disk configured with a plurality of WIP entries to track DR completion of each corresponding stripe group, each said entry being initially set;

a WIP map clear module configured to clear a WIP map entry for a stripe group wherein the disk has an unfulfilled write requirement;

an extended error recovery module configured to reactivate the disk and to detect a state change to online of the disk; and

a DR performance module configured to perform DR on the disk following a successful reactivation at each stripe group with a cleared WIP map entry and subsequently set said entry.

14. The system of claim 13 , wherein the extended error recovery module reactivates the offline member disk using a device reset cycle and an automated selective device power cycle.

15. The system of claim 13 , wherein the offline member disk is configured to be manually reactivated to become online by removing and re-inserting the disk in the enclosure of the RAID array.

16. The system of claim 13 , wherein the extended error recovery module is further configured to designate the offline member disk as permanently offline if the offline member disk fails to become online within a pre-specified period of time.

17. The system of claim 13 , wherein if the extended error recovery module detects a replacement of the offline member disk by a hot swap disk bearing a new identity, the extended error recovery module makes the replacement disk undertake a full rebuilding on each stripe.

18. The system of claim 13 , wherein the storage controller further comprises an I/O module configured to execute an I/O command comprising a data block address of an active logical drive formed from the RAID array, access the data block if the logical drive is not in a degraded state, access the data block if the logical drive is in a degraded state, a rebuilding process is active, and the associated stripe group has no pending rebuilding process, delay access to the data block if the logical drive is in a degraded state, a rebuilding process is active, and the associated stripe group has a pending rebuilding process until the stripe group completes the rebuilding process, access the data block if the logical drive is in a degraded state, no rebuilding process is active, and the data block address is not mapped to the offline member disk, and regenerate data if the logical drive is in a degraded state, no rebuilding process is active, the data block address is mapped to the offline member disk, and the I/O command is a read command.

19. The system of claim 18 , wherein the I/O module is further configured to update any check data in the associated stripe group on a surviving member disk if required as a result of executing the I/O command.

20. The system of claim 13 , wherein the storage controller further comprises an audit-trail log module configured to record an audit-trail log as a log of the stripe group identifiers of WIP map cleared entries.

21. The system of claim 20 , wherein the audit-trail log module is further configured to reconstruct the WIP map from the audit-trail log.

22. The system of claim 21 , wherein the storage controller further comprises a non-volatile memory configured to store the audit-trail log.

23. The system of claim 22 , further comprising a fault-tolerant disk storage configured to receive and store a portion of the audit-trail log from the non-volatile memory.

24. The system of claim 23 , wherein the audit-trail log module is configured to reconstruct the WIP map from the audit-trail log stored in the non-volatile memory and the fault-tolerant disk storage.

25. A signal bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform operations to execute DR, the operations comprising:

creating a WIP map for an offline member disk in a redundant RAID array with no hot standby disk and setting each WIP map entry for an associated stripe group as initial condition;

clearing the WIP map entry for a stripe group wherein the disk has an unfulfilled write requirement;

reactivating the disk;

detecting a state change to online of the disk; and

performing DR on the successfully reactivated member disk at each stripe group with a cleared WIP map entry and subsequently setting said entry.

26. The signal bearing medium of claim 25 , wherein the instructions further comprise operations to reactivate the offline member disk so as to make the disk online by initiating a device reset cycle and an automated selective device power cycle.

27. The signal bearing medium of claim 25 , wherein the instructions further comprise operations to detect the state change to online from offline of the offline member disk subsequent to a manual reactivation.

28. The signal bearing medium of claim 25 , wherein the instructions further comprise operations to designate the offline member disk as permanently offline if the disk fails to become online within a pre-specified period of time.

29. The signal bearing medium of claim 25 , wherein the instructions further comprise operations to detect a replacement of the offline member disk by a hot swap disk bearing a new identity and to engage the replacement disk in a full rebuilding process on each stripe.

30. The signal bearing medium of claim 25 , wherein the instructions further comprise operations to receive an I/O command comprising a data block address of an active logical drive formed from the RAID array, access the data block if the logical drive is not in a degraded state, access the data block if the logical drive is in a degraded state, a rebuilding process is active, and the associated stripe group has no pending rebuilding process, delay access to the data block if the logical drive is in a degraded state, a rebuilding process is active, and the associated stripe group has a pending rebuilding process until the stripe group completes the rebuilding process, access the data block if the logical drive is in a degraded state, no rebuilding process is active, and the data block address is not mapped to the offline member disk, and regenerate data if the logical drive is in a degraded state, no rebuilding process is active, the data block address is mapped to the offline member disk, and the I/O command is a read command.

31. The signal bearing medium of claim 30 , wherein the instructions further comprise operations to update any check data in the associated stripe group on a surviving member disk if required as a result of executing the I/O command.

32. The signal bearing medium of claim 25 , wherein the instructions further comprise operations to record an audit-trail log as a log of the stripe group identifiers of the WIP map cleared entries, and reconstruct the WIP map from the audit-trail log.

33. The signal bearing medium of claim 32 , wherein the instructions further comprise operations to store the audit-trail log in a non-volatile memory.

34. The signal bearing medium of claim 33 , wherein the instructions further comprise operations to receive and store a portion of the audit-trail log in a fault-tolerant disk storage from the non-volatile memory.

35. The signal bearing medium of claim 34 , wherein the instructions further comprise operations to reconstruct the WIP map from the audit-trail log stored in the non-volatile memory and in the fault-tolerant disk storage.

36. A method for executing DR, the method comprising:

creating a WIP map for an offline member disk in a redundant RAID array with no hot standby disk and setting each WIP map entry for an associated stripe group as initial condition;

clearing the WIP map entry for a stripe group wherein the disk has an unfulfilled write requirement;

reactivating the disk;

detecting a state change to online of the disk; and

performing DR on the successfully reactivated member disk at each stripe group with a cleared WIP map entry and subsequently setting said entry.

37. An apparatus for executing DR, the apparatus comprising:

means for creating a WIP map for an offline member disk in a redundant RAID array with no hot standby disk and setting each WIP map entry for an associated stripe group as initial condition;

means for clearing the WIP map entry for a stripe group wherein the disk has an unfulfilled write requirement;

means for reactivating the disk;

means for detecting a state change to online of the disk; and

means for performing DR on the successfully reactivated member disk at each stripe group with a cleared WIP map entry and subsequently setting the entry.

Assignments (5)
CHANGE OF NAME Recorded Feb 14, 2025
From: XYRATEX TECHNOLOGY LIMITED; SEAGATE SYSTEMS (UK) LIMITED
To: SEAGATE SYSTEMS (UK) LIMITED; SEAGATE TECHNOLOGY LLC
Reel/Frame 070219/0728 →
CHANGE OF NAME Recorded Jun 16, 2022
From: STICHTING KATHOLIEKE UNIVERSITEIT
To: STICHTING RADBOUD UNIVERSITEIT
Reel/Frame 061491/0059 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2007
From: ARIO DATA NETWORKS, INC.
To: XYRATEX TECHNOLOGY LIMITED
Reel/Frame 018972/0067 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2006
From: TSENG, CHARLIE; BHUGRA, KERN S.
To: ARIO DATA NETWORKS, INC.
Reel/Frame 018415/0832 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2005
From: TSENG, CHARLIE; BHUGRA, KERN S.
To: ARIO DATA NETWORKS, INC.
Reel/Frame 016698/0308 →
Continuity (1)
Related Publication 20060161805A1 · Jul 20, 2006