IP Library Granted Patent US 11,150,989
Granted Patent B2
US 11,150,989 · App. 16/021,636 · Granted Oct 19, 2021

Method, device and computer program product for managing a storage system

Inventors: Jian Gao (Beijing, CN); Ree Lei Sun (Beijing, CN); Shaoqin Gong (Beijing, CN); Jibing Dong (Beijing, CN); Geng Han (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1092G06F3/0607G06F3/0619G06F3/0632G06F3/0634G06F3/0638G06F3/0689G06F11/1084
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,150,989
App. No.
16/021,636
Granted
Oct 19, 2021
Kind
B2
Abstract

Embodiments of the present disclosure provide method, device and computer program product for managing a storage system. The storage system includes a disk having a plurality of extents. The method comprises obtaining metadata associated with an RAID stripe in a first RAID of a first type, the first RAID including at least a part of extents from the plurality of extents. The method also comprises allocating an additional extent to the RAID stripe. The method further comprises converting, based on the allocated additional extent and by modifying the metadata, the first RAID of the first type into a second RAID of a second type in a degraded mode. Additionally, the method comprises initiating, based on the modified metadata, a rebuilding process for the second RAID, so as to convert the second RAID from the degraded mode to a normal mode.

Claims (47)

1. A method for managing a storage system, the storage system including a disk having a plurality of extents, the method comprising:

obtaining metadata associated with an Redundant Array of Independent Disks (RAID) stripe in a first RAID of a first type, the first RAID including at least a part of extents from the plurality of extents, wherein the RAID of the first type comprises RAID 5, and wherein obtaining the metadata associated with the RAID stripe includes:

obtaining first metadata that records configuration information of the RAID stripe, the configuration information indicating the first type, wherein the first metadata further includes a field indicating a mapping relationship between the RAID stripe and the at least a part of extents, and

obtaining second metadata that records state information of the RAID stripe, the state information being related to the rebuilding process, wherein the first metadata is stored in a region of the RAID stripe located at a top of each one of the extents and the second metadata is stored in a region of the RAID stripe located at a bottom of each one of the extents, and wherein user data or parity information is stored between the first metadata and the second metadata in each of the extents;

allocating an additional extent to the RAID stripe;

converting, based on the allocated additional extent and by modifying the metadata, the first RAID of the first type into a second RAID of a second type in a degraded mode, wherein the RAID of the second type comprises RAID 6, and wherein converting the first RAID of the first type into the second RAID of the second type in the degraded mode includes increasing an original width indicating a number of disk extents included in the RAID stripe by one and storing, in the second metadata, at least one position in the extents for subsequently writing additional parity information within the stripe to support RAID 6; and

initiating, based on the modified metadata, a rebuilding process for the second RAID, so as to convert the second RAID from the degraded mode to a normal mode, wherein the rebuilding process for the second RAID converts the second RAID from the degraded mode to the normal mode by calculating the additional parity information and writing the additional parity information to the at least one position stored in the metadata when the first RAID of the first type was converted to the second RAID of the second type in the degraded mode.

2. The method of claim 1 , further comprising:

in response to receiving an input/output (I/O) request for the first RAID before converting the first RAID into the second RAID, queuing the I/O request to suspend sending to the first RAID; and

in response to completion of the conversion of the first RAID to the second RAID in the degraded mode, sending the queued I/O request to the second RAID.

3. The method of claim 1 , wherein modifying the metadata comprises:

modifying the first metadata based on the allocated additional extent, such that the configuration information indicates the second type; and

modifying the second metadata, so as to enable the rebuilding process for the second RAID.

4. The method of claim 3 , wherein modifying the first metadata comprises:

modifying, based on the allocated additional extent, the field indicating the mapping relationship.

5. The method of claim 1 , further comprising:

in response to a failure of any of the obtaining, the allocating, the modifying and the converting before the first RAID of the first type is converted into the second RAID of the second type, causing the storage system to be restored to a state associated with the first RAID.

6. A device for managing a storage system, the storage system including a disk having a plurality of extents, the device comprising:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform actions comprising:

obtaining metadata associated with an Redundant Array of Independent Disks (RAID) stripe in a first RAID of a first type, the first RAID including at least a part of extents from the plurality of extents, wherein the RAID of the first type comprises RAID 5, and wherein obtaining the metadata associated with the RAID stripe includes:

obtaining first metadata that records configuration information of the RAID stripe, the configuration information indicating the first type, wherein the first metadata further includes a field indicating a mapping relationship between the RAID stripe and the at least a part of extents, and

obtaining second metadata that records state information of the RAID stripe, the state information being related to the rebuilding process, wherein the first metadata is stored in a region of the RAID stripe located at a top of each one of the extents and the second metadata is stored in a region of the RAID stripe located at a bottom of each one of the extents, and wherein user data or parity information is stored between the first metadata and the second metadata in each of the extents;

allocating an additional extent to the RAID stripe;

converting, based on the allocated additional extent and by modifying the metadata, the first RAID of the first type into a second RAID of a second type in a degraded mode, wherein the RAID of the second type comprises RAID 6, and wherein converting the first RAID of the first type into the second RAID of the second type in the degraded mode includes increasing an original width indicating a number of disk extents included in the RAID stripe by one and storing, in the second metadata, at least one position in the extents for subsequently writing additional parity information within the stripe to support RAID 6; and

initiating, based on the modified metadata, a rebuilding process for the second RAID, so as to convert the second RAID from the degraded mode to a normal mode, wherein the rebuilding process for the second RAID converts the second RAID from the degraded mode to the normal mode by calculating the additional parity information and writing the additional parity information to the at least one position stored in the metadata when the first RAID of the first type was converted to the second RAID of the second type in the degraded mode.

7. The device of claim 6 , wherein the actions further comprise:

in response to receiving an input/output (I/O) request for the first RAID before converting the first RAID into the second RAID, queuing the I/O request to suspend sending to the first RAID; and

in response to completion of the conversion of the first RAID to the second RAID in the degraded mode, sending the queued I/O request to the second RAID.

8. The device of claim 6 , wherein modifying the metadata comprises:

modifying the first metadata based on the allocated additional extents, such that the configuration information indicates the second type; and

modifying the second metadata, so as to enable the rebuilding process for the second RAID.

9. The device of claim 8 , wherein modifying the first metadata comprises:

modifying, based on the allocated additional extent, the field indicating the mapping relationship.

10. The device of claim 6 , wherein the actions further comprise:

in response to a failure of any of the obtaining, the allocating, the modifying and the converting before the first RAID of the first type is converted into the second RAID of the second type, causing the storage system to be restored to a state associated with the first RAID.

11. A computer program product for managing a storage system, the storage system including a disk having a plurality of extents, the computer program product comprising:

a non-transitory computer readable medium encoded with computer-executable code, wherein the code is configured for the execution of:

obtaining metadata associated with an Redundant Array of Independent Disks (RAID) stripe in a first RAID of a first type, the first RAID including at least a part of extents from the plurality of extents, wherein the RAID of the first type comprises RAID 5, and wherein obtaining the metadata associated with the RAID stripe includes:

obtaining first metadata that records configuration information of the RAID stripe, the configuration information indicating the first type, wherein the first metadata further includes a field indicating a mapping relationship between the RAID stripe and the at least a part of extents, and

obtaining second metadata that records state information of the RAID stripe, the state information being related to the rebuilding process, wherein the first metadata is stored in a region of the RAID stripe located at a top of each one of the extents and the second metadata is stored in a region of the RAID stripe located at a bottom of each one of the extents, and wherein user data or parity information is stored between the first metadata and the second metadata in each of the extents;

allocating an additional extent to the RAID stripe;

converting, based on the allocated additional extent and by modifying the metadata, the first RAID of the first type into a second RAID of a second type in a degraded mode, wherein the RAID of the second type comprises RAID 6, and wherein converting the first RAID of the first type into the second RAID of the second type in the degraded mode includes increasing an original width indicating a number of disk extents included in the RAID stripe by one and storing, in the second metadata, at least one position in the extents for subsequently writing additional parity information within the stripe to support RAID 6; and

initiating, based on the modified metadata, a rebuilding process for the second RAID, so as to convert the second RAID from the degraded mode to a normal mode, wherein the rebuilding process for the second RAID converts the second RAID from the degraded mode to the normal mode by calculating the additional parity information and writing the additional parity information to the at least one position stored in the metadata when the first RAID of the first type was converted to the second RAID of the second type in the degraded mode.

12. The computer program product of claim 11 , wherein the code is further configured for the execution of:

in response to receiving an input/output (I/O) request for the first RAID before converting the first RAID into the second RAID, queuing the I/O request to suspend sending to the first RAID; and

in response to completion of the conversion of the first RAID to the second RAID in the degraded mode, sending the queued I/O request to the second RAID.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2018
From: GAO, JIAN; LEI, REE SUN; GONG, SHAOQIN; DONG, JIBING; HAN, GENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046520/0831 →