IP Library Granted Patent US 11,500,726
Granted Patent B2
US 11,500,726 · App. 16/936,710 · Granted Nov 15, 2022

Method, device, and program product for selecting rebuild destination in storage system

Inventors: Baote Zhuo (Beijing, CN); Jian Gao (Beijing, CN); Lifeng Yang (Beijing, CN); Xinlei Xu (Beijing, CN); Jibing Dong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1092G06F3/0619G06F3/0644G06F3/0653G06F3/0689G06F11/076
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,500,726
App. No.
16/936,710
Granted
Nov 15, 2022
Kind
B2
Abstract

In techniques for selecting a rebuild destination in a storage system, a failed stripe group associated with a failed extent group in a failed storage device among storage devices is detected. A group of normal storage devices other than the failed storage device is determined. Regarding a normal storage device in the group of normal storage devices, a first count for the normal storage device is obtained, the first count representing a number of failed stripes which are allowed to be rebuilt to the normal storage device in the failed stripe group. Based on the first count, a destination storage device is selected from the group of normal storage devices for rebuilding a failed stripe in the failed stripe group. During rebuild, a destination for rebuilding the failed stripe may be effectively selected, and extents in reserved space in the storage system may be more fully utilized.

Claims (77)

1. A method for selecting a rebuild destination in a storage system, the storage system comprising a plurality of storage devices, the method comprising:

detecting a group of failed stripes associated with a group of failed extents in a failed storage device among the plurality of storage devices;

determining a group of normal storage devices other than the failed storage device among the plurality of storage devices;

regarding a normal storage device in the group of normal storage devices, obtaining a first count for the normal storage device, the first count representing a number of failed stripes which are allowed to be rebuilt to the normal storage device in the group of failed stripes; and

selecting, based on the first count, a destination storage device from the group of normal storage devices for rebuilding a failed stripe in the group of failed stripes;

wherein selecting the destination storage device from the group of normal storage devices comprises:

selecting a normal storage device with a smaller first count from the group of normal storage devices as the destination storage device.

2. The method of claim 1 , wherein obtaining the first count for the normal storage device comprises: regarding a failed stripe in the group of failed stripes,

determining whether the failed stripe involves the normal storage device or not; and

updating the first count in accordance with determining that the failed stripe does not involve the normal storage device.

3. The method of claim 2 , wherein determining whether the failed stripe involves the normal storage device or not comprises:

determining a group of storage devices where a group of extents in the failed stripe reside, respectively; and

in accordance with determining that the normal storage device is different from any storage device in the group of storage devices, determining that the failed stripe does not involve the normal storage device.

4. The method of claim 1 , further comprising: selecting a free reserved extent from a group of reserved extents in the destination storage device; and updating the first count for the group of normal storage devices, a second count of free reserved extents in a group of reserved extents in the destination storage device, and a third count of reserved extents which have been selected for a rebuild in the group of reserved extents in the destination storage device.

5. The method of claim 4 , further comprising:

selecting a destination storage device from the group of normal storage devices based on the updated first count, second count and third count for rebuilding a further failed stripe in the group of failed stripes.

6. The method of claim 1 , further comprising:

rebuilding data in a failed extent of the group of failed extents; and

storing the rebuilt data to a free reserved extent in the selected normal storage device.

7. The method of claim 1 , A method for selecting a rebuild destination in a storage system, the storage system comprising a plurality of storage devices, the method comprising:

detecting a group of failed stripes associated with a group of failed extents in a failed storage device among the plurality of storage devices;

determining a group of normal storage devices other than the failed storage device among the plurality of storage devices;

regarding a normal storage device in the group of normal storage devices, obtaining a first count for the normal storage device, the first count representing a number of failed stripes which are allowed to be rebuilt to the normal storage device in the group of failed stripes; and

selecting, based on the first count, a destination storage device from the group of normal storage devices for rebuilding a failed stripe in the group of failed stripes

wherein a storage device among the plurality of storage devices comprises a group of reserved extents, and selecting the destination storage device from the group of normal storage devices comprises:

determining a second count of free reserved extents in the group of reserved extents in the normal storage device; and

selecting the destination storage device according to the second count.

8. The method of claim 7 , wherein selecting the destination storage device from the group of normal storage devices comprises:

determining a third count of reserved extents which have been selected for a rebuild in the group of reserved extents in the normal storage device; and

selecting the destination storage device based on the third count.

9. The method of claim 8 , further comprising:

determining a score of the normal storage device based on the first count, the second count and the third count, the score being directly proportional to the first count and the third count and being inversely proportional to the second count; and

selecting the destination storage device from the group of normal storage devices based on the score of the normal storage device.

10. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor, the memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the electronic device to perform acts for selecting a rebuild destination in a storage system comprising a plurality of storage devices, the acts including:

detecting a group of failed stripes associated with a group of failed extents in a failed storage device among the plurality of storage devices;

determining a group of normal storage devices other than the failed storage device among the plurality of storage devices;

regarding a normal storage device in the group of normal storage devices, obtaining a first count for the normal storage device, the first count representing a number of failed stripes which are allowed to be rebuilt to the normal storage device in the group of failed stripes; and

selecting, based on the first count, a destination storage device from the group of normal storage devices for rebuilding a failed stripe in the group of failed stripes;

wherein selecting the destination storage device from the group of normal storage devices comprises:

selecting a normal storage device with a smaller first count from the group of normal storage devices as the destination storage device.

11. The electronic device of claim 10 , wherein obtaining the first count for the normal storage device comprises: regarding a failed stripe in the group of failed stripes,

determining whether the failed stripe involves the normal storage device or not; and

updating the first count in accordance with determining that the failed stripe does not involve the normal storage device.

12. The electronic device of claim 11 , wherein determining whether the failed stripe involves the normal storage device or not comprises:

determining a group of storage devices where a group of extents in the failed stripe reside, respectively; and

in accordance with determining that the normal storage device is different from any storage device in the group of storage devices, determining that the failed stripe does not involve the normal storage device.

13. The electronic device of claim 10 , the acts further comprising: selecting a free reserved extent from a group of reserved extents in the destination storage device; and updating the first count for the group of normal storage devices, a second count of free reserved extents in a group of reserved extents in the destination storage device, and a third count of reserved extents which have been selected for a rebuild in the group of reserved extents in the destination storage device.

14. The electronic device of claim 13 , the acts further comprising:

selecting a destination storage device from the group of normal storage devices based on the updated first count, second count and third count for rebuilding a further failed stripe in the group of failed stripes.

15. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor, the memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the electronic device to perform acts for selecting a rebuild destination in a storage system comprising a plurality of storage devices, the acts including:

detecting a group of failed stripes associated with a group of failed extents in a failed storage device among the plurality of storage devices;

determining a group of normal storage devices other than the failed storage device among the plurality of storage devices;

regarding a normal storage device in the group of normal storage devices, obtaining a first count for the normal storage device, the first count representing a number of failed stripes which are allowed to be rebuilt to the normal storage device in the group of failed stripes; and

selecting, based on the first count, a destination storage device from the group of normal storage devices for rebuilding a failed stripe in the group of failed stripes;

wherein a storage device among the plurality of storage devices comprises a group of reserved extents, and selecting the destination storage device from the group of normal storage devices comprises:

determining a second count of free reserved extents in the group of reserved extents in the normal storage device; and

selecting the destination storage device according to the second count.

16. The electronic device of claim 15 , wherein selecting the destination storage device from the group of normal storage devices comprises:

determining a third count of reserved extents which have been selected for a rebuild in the group of reserved extents in the normal storage device; and

selecting the destination storage device based on the third count.

17. The electronic device of claim 16 , the acts further comprising:

determining a score of the normal storage device based on the first count, the second count and the third count, the score being directly proportional to the first count and the third count and being inversely proportional to the second count; and

selecting the destination storage device from the group of normal storage devices based on the score of the normal storage device.

18. A computer program product having a non-transitory computer readable medium which stores a set of instructions to select a rebuild destination in a storage system, the storage system comprising a plurality of storage devices; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

detecting a group of failed stripes associated with a group of failed extents in a failed storage device among the plurality of storage devices;

determining a group of normal storage devices other than the failed storage device among the plurality of storage devices;

regarding a normal storage device in the group of normal storage devices, obtaining a first count for the normal storage device, the first count representing a number of failed stripes which are allowed to be rebuilt to the normal storage device in the group of failed stripes; and

selecting, based on the first count, a destination storage device from the group of normal storage devices for rebuilding a failed stripe in the group of failed stripes;

wherein selecting the destination storage device from the group of normal storage devices comprises:

selecting a normal storage device with a smaller first count from the group of normal storage devices as the destination storage device.

19. A method for selecting a rebuild destination in a storage system, the storage system comprising a plurality of storage devices, the method comprising: detecting a group of failed stripes associated with a group of failed extents in a failed storage device among the plurality of storage devices; determining a group of normal storage devices other than the failed storage device among the plurality of storage devices; regarding a normal storage device in the group of normal storage devices, obtaining a first count for the normal storage device, the first count representing a number of failed stripes which are allowed to be rebuilt to the normal storage device in the group of failed stripes; selecting, based on the first count, a destination storage device from the group of normal storage devices for rebuilding a failed stripe in the group of failed stripes; selecting a free reserved extent from a group of reserved extents in the destination storage device; and updating the first count for the group of normal storage devices, a second count of free reserved extents in a group of reserved extents in the destination storage device, and a third count of reserved extents which have been selected for a rebuild in the group of reserved extents in the destination storage device.

20. The method of claim 19 , further comprising:

selecting a destination storage device from the group of normal storage devices based on the updated first count, second count and third count for rebuilding a further failed stripe in the group of failed stripes.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053574/0221 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053578/0183 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2020
From: ZHUO, BAOTE; GAO, JIAN; YANG, LIFENG; XU, XINLEI; DONG, JIBING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053477/0164 →