IP Library Granted Patent US 11,422,909
Granted Patent B2
US 11,422,909 · App. 16/990,222 · Granted Aug 23, 2022

Method, device, and storage medium for managing stripe in storage system

Inventors: Jian Gao (Beijing, CN); Xinlei Xu (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/2094G06F3/0619G06F3/0644G06F3/0689G06F2201/82
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,422,909
App. No.
16/990,222
Granted
Aug 23, 2022
Kind
B2
Abstract

When managing stripes in a storage system, based on a determination that a failed storage device appears in first storage devices, a failed stripe involving the failed storage device is determined in a first redundant array of independent disks (RAID). An idle space that can be used to reconstruct the failed stripe is determined in the first storage devices. The failed stripe is reconstructed to second storage devices in the storage system based on a determination that the idle space is insufficient to reconstruct the failed stripe, the second storage devices being storage devices in a second RAID. An extent in the failed stripe is released in the first storage devices. Accordingly, it is possible to reconstruct a failed stripe as soon as possible to avoid data loss, and further to provide more idle spaces in the first storage devices for future reconstruction.

Claims (66)

1. A method for managing stripes in a storage system, the method comprising:

determining, based on a determination that a failed storage device appears in a first set of storage devices in the storage system, a failed stripe involving the failed storage device, the first set of storage devices being storage devices in a first redundant array of independent disks;

determining, in the first set of storage devices, an idle space that can be used to reconstruct the failed stripe;

reconstructing the failed stripe to a second set of storage devices in the storage system based on a determination that the idle space is insufficient to reconstruct the failed stripe, the second set of storage devices being storage devices in a second redundant array of independent disks; and

releasing an extent in the failed stripe in the first set of storage devices.

2. The method according to claim 1 , wherein determining the failed stripe comprises:

looking up a metadata extent of a metadata type in a plurality of extents in the failed storage device; and

identifying a stripe where the metadata extent is located as the failed stripe.

3. The method according to claim 2 , wherein determining the failed stripe further comprises:

looking up a user data extent of a user data type in the plurality of extents in the failed storage device; and

identifying a stripe where the user data extent is located as the failed stripe.

4. The method according to claim 3 , wherein looking up the user data extent comprises:

looking up the user data extent after all metadata extents in the failed stripe have been found.

5. The method according to claim 1 , wherein determining the idle space comprises:

determining the device type of a plurality of storage devices where the failed stripe is located; and

determining the idle space from a plurality of storage devices of the device type that are other than the plurality of storage devices in the first set of storage devices.

6. The method according to claim 5 , wherein reconstructing the failed stripe to the second set of storage devices comprises:

selecting, in the second set of storage devices, a plurality of storage devices of the device type according to a width of the failed stripe;

reconstructing the failed stripe to a plurality of idle extents respectively located in the plurality of selected storage devices; and

updating address mapping of the first set of storage devices based on addresses of the plurality of idle extents.

7. The method according to claim 6 , wherein reconstructing the failed stripe to the plurality of idle extents comprises:

respectively copying data in a plurality of extents other than the failed extent in the failed stripe to a plurality of idle extents respectively located in a first part of storage devices of the plurality of storage devices; and

reconstructing, based on the copied data in the first part of storage devices, data in the failed extent to idle extents in a second part of storage devices of the plurality of storage devices.

8. The method according to claim 1 , wherein releasing an extent in the failed stripe comprises: updating address mapping of the first set of storage devices to mark the extent in the failed stripe as an idle extent.

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

determining another failed stripe in the first set of storage devices;

determining, in the first set of storage devices, an idle space that can be used to reconstruct the another failed stripe; and

reconstructing a failed extent in the another failed stripe to an idle extent in the idle space based on a determination that the idle space is sufficient to reconstruct the another failed stripe.

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

determining, in the second set of storage devices, a reconstructed stripe reconstructed from the first set of storage devices in response to a determination that the failed storage device is replaced with a normal storage device; and

migrating the reconstructed stripe from the second set of storage devices to the first set of storage devices.

11. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor and having instructions stored therein, wherein the instructions, when executed by the at least one processor, cause the electronic device to perform actions for managing stripes in a storage system, and the actions comprise:

determining, based on a determination that a failed storage device appears in a first set of storage devices in the storage system, a failed stripe involving the failed storage device, the first set of storage devices being storage devices in a first redundant array of independent disks;

determining, in the first set of storage devices, an idle space that can be used to reconstruct the failed stripe;

reconstructing the failed stripe to a second set of storage devices in the storage system based on a determination that the idle space is insufficient to reconstruct the failed stripe, the second set of storage devices being storage devices in a second redundant array of independent disks; and

releasing an extent in the failed stripe in the first set of storage devices.

12. The device according to claim 11 , wherein determining the failed stripe comprises:

looking up a metadata extent of a metadata type in a plurality of extents in the failed storage device; and

identifying a stripe where the metadata extent is located as the failed stripe.

13. The device according to claim 12 , wherein determining the failed stripe further comprises:

looking up a user data extent of a user data type in the plurality of extents in the failed storage device; and

identifying a stripe where the user data extent is located as the failed stripe.

14. The device according to claim 13 , wherein looking up the user data extent comprises:

looking up the user data extent after all metadata extents in the failed stripe have been found.

15. The device according to claim 11 , wherein determining the idle space comprises:

determining the device type of a plurality of storage devices where the failed stripe is located; and

determining the idle space from a plurality of storage devices of the device type that are other than the plurality of storage devices in the first set of storage devices.

16. The device according to claim 15 , wherein reconstructing the failed stripe to the second set of storage devices comprises:

selecting, in the second set of storage devices, a plurality of storage devices of the device type according to a width of the failed stripe;

reconstructing the failed stripe to a plurality of idle extents respectively located in the plurality of selected storage devices; and

updating address mapping of the first set of storage devices based on addresses of the plurality of idle extents.

17. The device according to claim 16 , wherein reconstructing the failed stripe to the plurality of idle extents comprises:

respectively copying data in a plurality of extents other than the failed extent in the failed stripe to a plurality of idle extents respectively located in a first part of storage devices of the plurality of storage devices; and

reconstructing, based on the copied data in the first part of storage devices, data in the failed extent to idle extents in a second part of storage devices of the plurality of storage devices.

18. The device according to claim 11 , wherein releasing an extent in the failed stripe comprises: updating address mapping of the first set of storage devices to mark the extent in the failed stripe as an idle extent.

19. The device according to claim 18 , wherein the actions further comprise:

determining another failed stripe in the first set of storage devices;

determining, in the first set of storage devices, an idle space that can be used to reconstruct the another failed stripe; and

reconstructing a failed extent in the another failed stripe to an idle extent in the idle space based on a determination that the idle space is sufficient to reconstruct the another failed stripe.

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

determining, based on a determination that a failed storage device appears in a first set of storage devices in the storage system, a failed stripe involving the failed storage device, the first set of storage devices being storage devices in a first redundant array of independent disks;

determining, in the first set of storage devices, an idle space that can be used to reconstruct the failed stripe;

reconstructing the failed stripe to a second set of storage devices in the storage system based on a determination that the idle space is insufficient to reconstruct the failed stripe, the second set of storage devices being storage devices in a second redundant array of independent disks; and

releasing an extent in the failed stripe in the first set of storage devices.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2020
From: GAO, JIAN; XU, XINLEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053694/0764 →
Priority Claims (1)
CN 202010334253.8 · Apr 24, 2020 · national
Continuity (1)
Related Publication 20210334183A1 · Oct 28, 2021