IP Library Granted Patent US 11,836,353
Granted Patent B2
US 11,836,353 · App. 17/168,565 · Granted Dec 5, 2023

Method, device, and computer program product for rebuilding storage system

Inventors: Huijuan Fan (Chengdu, CN); Chi Chen (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/067G06F3/0653G06F3/0659G06F3/0689G06F11/1076
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 11,836,353
App. No.
17/168,565
Granted
Dec 5, 2023
Kind
B2
Abstract

Techniques reconstruct a storage system. A first extent access load and a second extent access load of a first malfunctioning extent and a second malfunctioning extent in a malfunctioning storage device in the storage system are acquired, respectively. The first malfunctioning extent is selected as a source extent in response to determining that the first extent access load is lower than the second extent access load. Among multiple idle extents in the storage system, a set of destination extents that can be used as a reconstruction destination of the source extent are generated. A destination extent is selected from the set of destination extents as the reconstruction destination of the source extent. It is possible to preferentially select a reconstruction destination for a malfunctioning extent with a low access load, thereby increasing the reconstruction speed of the storage system.

Claims (63)

1. A method for reconstructing a storage system, comprising:

acquiring a first extent access load and a second extent access load of a first extent in a malfunctioning storage device in the storage system and a second extent in the malfunctioning storage device in the storage system, respectively;

selecting the first malfunctioning extent as a source extent in response to determining that the first extent access load is lower than the second extent access load;

generating, among multiple idle extents in the storage system, a set of destination extents that can be used as a reconstruction destination of the source extent;

selecting a destination extent from the set of destination extents as the reconstruction destination of the source extent; and

waiting, in response to determining that another set of destination extents of another malfunctioning extent is an empty set, for a reconstruction of a previous malfunctioning extent in the storage system to be completed.

2. The method according to claim 1 , wherein generating the set of destination extents comprises adding an extent satisfying the following conditions to the set of destination extents:

a different storage device where the extent is located is a normal storage device;

the different storage device is different from any storage device involved in a stripe where the source extent is located; and

the different storage device does not comprise an extent that is being used as a reconstruction destination.

3. The method according to claim 1 , wherein selecting the destination extent comprises:

respectively determining a first device access load and a second device access load of a first storage device and a second storage device where a first destination extent and a second destination extent in the set of destination extents are located; and

selecting the first destination extent as the destination extent in response to determining that the first device access load is lower than the second device access load.

4. The method according to claim 1 , further comprising:

reconstructing data in the source extent to the destination extent.

5. The method according to claim 4 , further comprising:

traversing all malfunctioning extents in the malfunctioning storage device until all the malfunctioning extents are reconstructed.

6. The method according to claim 1 , further comprising:

selecting the another malfunctioning extent in the malfunctioning storage device as the source extent in response to determining that the set of destination extents is empty.

7. The method according to claim 1 , wherein determining the set of destination extents comprises:

adding a backup storage device to the storage system; and

determining the set of destination extents from multiple idle extents in multiple storage devices in the storage system.

8. The method according to claim 1 , further comprising:

respectively determining, in response to determining that a first malfunctioning storage device and a second malfunctioning storage device exist in the storage system, a first device load and a second device load of the first malfunctioning storage device and the second malfunctioning storage device; and

selecting the first malfunctioning storage device as the malfunctioning storage device in response to determining that the first device load is lower than the second device load.

9. The method according to claim 8 , wherein the first device load comprises at least any one of an access load and a usage load of the first malfunctioning storage device.

10. The method according to claim 1 , wherein the first extent access load and the second extent access load each indicate an access load exclusive to a respective malfunctioning extent in the malfunctioning storage device;

wherein the method further comprises:

in response to selecting the first malfunctioning extent as the source extent, queuing the second malfunctioning extent as a second source extent.

11. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor, wherein the memory has instructions stored therein which, when executed by the at least one processor, cause the device to perform an action for reconstructing a storage system, the action comprising:

acquiring a first extent access load and a second extent access load of a first malfunctioning extent in a malfunctioning storage device in the storage system and a second malfunctioning extent in the malfunctioning storage device in the storage system, respectively;

selecting the first malfunctioning extent as a source extent in response to determining that the first extent access load is lower than the second extent access load;

generating, among multiple idle extents in the storage system, a set of destination extents that can be used as a reconstruction destination of the source extent;

selecting a destination extent from the set of destination extents as the reconstruction destination of the source extent; and

waiting, in response to determining that another set of destination extents of another malfunctioning extent is an empty set, for a reconstruction of a previous malfunctioning extent in the storage system to be completed.

12. The device according to claim 11 , wherein generating the set of destination extents comprises adding an extent satisfying the following conditions to the set of destination extents:

a different storage device where the extent is located is a normal storage device;

the different storage device is different from any storage device involved in a stripe where the source extent is located; and

the different storage device does not comprise an extent that is being used as a reconstruction destination.

13. The device according to claim 11 , wherein selecting the destination extent comprises:

respectively determining a first device access load and a second device access load of a first storage device and a second storage device where a first destination extent and a second destination extent in the set of destination extents are located; and

selecting the first destination extent as the destination extent in response to determining that the first device access load is lower than the second device access load.

14. The device according to claim 11 , the action further comprising:

reconstructing data in the source extent to the destination extent.

15. The device according to claim 14 , the action further comprising:

traversing all malfunctioning extents in the malfunctioning storage device until all the malfunctioning extents are reconstructed.

16. The device according to claim 11 , the action further comprising:

selecting the another malfunctioning extent in the malfunctioning storage device as the source extent in response to determining that the set of destination extents is empty.

17. The device according to claim 11 , wherein determining the set of destination extents comprises:

adding a backup storage device to the storage system; and

determining the set of destination extents from multiple idle extents in multiple storage devices in the storage system.

18. The device according to claim 11 , the action further comprising:

respectively determining, in response to determining that a first malfunctioning storage device and a second malfunctioning storage device exist in the storage system, a first device load and a second device load of the first malfunctioning storage device and the second malfunctioning storage device; and

selecting the first malfunctioning storage device as the malfunctioning storage device in response to determining that the first device load is lower than the second device load.

19. The device according to claim 18 , wherein the first device load comprises at least any one of an access load and a usage load of the first malfunctioning storage device.

20. A computer program product having a non-transitory computer readable medium which stores a set of instructions to reconstruct a storage system; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

acquiring a first extent access load and a second extent access load of a first malfunctioning extent in a malfunctioning storage device in the storage system and a second malfunctioning extent in the malfunctioning storage device in the storage system, respectively;

selecting the first malfunctioning extent as a source extent in response to determining that the first extent access load is lower than the second extent access load;

generating, among multiple idle extents in the storage system, a set of destination extents that can be used as a reconstruction destination of the source extent;

selecting a destination extent from the set of destination extents as the reconstruction destination of the source extent; and

waiting, in response to determining that another set of destination extents of another malfunctioning extent is an empty set, for a reconstruction of a previous malfunctioning extent in the storage system to be completed.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: FAN, HUIJUAN; CHEN, CHI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055491/0505 →