IP Library Granted Patent US 11,061,788
Granted Patent B2
US 11,061,788 · App. 16/825,073 · Granted Jul 13, 2021

Storage management method, electronic device, and computer program product

Inventors: Jibing Dong (Beijing, CN); Geng Han (Beijing, CN); Hongpo Gao (Beijing, CN); Jianbin Kang (Beijing, CN); Jian Gao (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/2094G06F2201/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,061,788
App. No.
16/825,073
Granted
Jul 13, 2021
Kind
B2
Abstract

Storage management techniques involve, in response to a request to write data to a redundant array of independent disks (RAID), determining whether there is an offline disk in a plurality of storage disks constituting the RAID, the RAID comprising a plurality of stripes, each of the plurality of stripes comprising a plurality of storage blocks divided from the plurality of storage disks; in response to determining that there is an offline disk in the plurality of storage disks, selecting a target stripe from the plurality of stripes, the target stripe having a storage block allocated from the offline disk for storing parity information; and writing the data to the target stripe. In this way, the performance of data write can be improved in presence of an offline disk. In addition, the performance of subsequent data read can also be improved potentially.

Claims (50)

1. A method of storage management, comprising:

in response to a request to write data to a redundant array of independent disks (RAID), determining whether there is an offline disk in a plurality of storage disks constituting the RAID, the RAID comprising a plurality of stripes, each of the plurality of stripes comprising a plurality of storage blocks divided from the plurality of storage disks;

in response to determining that there is an offline disk in the plurality of storage disks, selecting a target stripe from the plurality of stripes, the target stripe having a storage block allocated from the offline disk for storing parity information; and

writing the data to the target stripe.

2. The method of claim 1 , wherein selecting the target stripe comprises:

determining a writable RAID storage block from the RAID, the RAID storage block comprising a predetermined number of stripes of the plurality of stripes;

determining free stripes from the RAID storage block; and

selecting the target stripe from the free stripes.

3. The method of claim 2 , wherein selecting the target stripe from the free stripes comprises:

determining at least one of the free stripes that has a storage block allocated from the offline disk for storing parity information, based on stripe layout information of the RAID and a relative position of the offline disk among the plurality of storage disks; and

selecting the target stripe from the at least one determined free stripe.

4. The method of claim 3 , wherein the stripe layout information comprises used capacity of the RAID storage block, per-stripe capacity, a stripe width, and a distribution pattern of storage blocks for storing parity information among respective stripes.

5. The method of claim 1 , wherein writing the data to the target stripe comprises:

writing the data to other storage blocks in the target stripe than the storage block from the offline disk, without generating parity information of the data.

6. The method of claim 1 , further comprising:

in response to a further request to read at least one portion of the data, directly reading the at least one portion of the data from the target stripe.

7. An electronic device, comprising:

at least one processor; and

at least one memory storing computer program instructions, the at least one memory and the computer program instructions being configured, with the at least one processor, to cause the electronic device to perform acts comprising:

in response to a request to write data to a redundant array of independent disks (RAID), determining whether there is an offline disk in a plurality of storage disks constituting the RAID, the RAID comprising a plurality of stripes each comprising a plurality of storage blocks divided from the plurality of storage disks;

in response to determining that there is an offline disk in the plurality of storage disks, selecting a target stripe from the plurality of stripes, the target stripe having a storage block allocated from the offline disk for storing parity information; and

writing the data to the target stripe.

8. The device of claim 7 , wherein selecting the target stripe comprises:

determining a writable RAID storage block from the RAID, the RAID storage block comprising a predetermined number of stripes of the plurality of stripes;

determining free stripes from the RAID storage block; and

selecting the target stripe from the free stripes.

9. The device of claim 8 , wherein selecting the target stripe from the free stripes comprises:

determining at least one of the free stripes that has a storage block allocated from the offline disk for storing parity information, based on stripe layout information of the RAID and a relative position of the offline disk among the plurality of storage disks; and

selecting the target stripe from the at least one determined free stripe.

10. The device of claim 9 , wherein the stripe layout information comprises used capacity of the RAID storage block, per-stripe capacity, a stripe width, and a distribution pattern of storage blocks for storing parity information among respective stripes.

11. The device of claim 7 , wherein writing the data to the target stripe comprises:

writing the data to other storage blocks in the target stripe than the storage block from the offline disk, without generating parity information of the data.

12. The device of claim 7 , wherein the acts further comprise:

in response to a further request to read at least one portion of the data, directly reading the at least one portion of the data from the target stripe.

13. A computer program product being tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions, the machine executable instructions, when executed, causing a device to:

in response to a request to write data to a redundant array of independent disks (RAID), determine whether there is an offline disk in a plurality of storage disks constituting the RAID, the RAID comprising a plurality of stripes each comprising a plurality of storage blocks divided from the plurality of storage disks;

in response to determining that there is an offline disk in the plurality of storage disks, select a target stripe from the plurality of stripes, the target stripe having a storage block allocated from the offline disk for storing parity information; and

write the data to the target stripe.

14. The computer program product of claim 13 , wherein the machine executable instructions, when executed, cause the device to:

determine a writable RAID storage block from the RAID, the RAID storage block comprising a predetermined number of stripes of the plurality of stripes;

determine free stripes from the RAID storage block; and

select the target stripe from the free stripes.

15. The computer program product of claim 14 , wherein the machine executable instructions, when executed, cause the device to:

determine at least one of the free stripes that has a storage block allocated from the offline disk for storing parity information, based on stripe layout information of the RAID and a relative position of the offline disk among the plurality of storage disks; and

select the target stripe from the at least one determined free stripe.

16. The computer program product of claim 15 , wherein the stripe layout information comprises used capacity of the RAID storage block, per-stripe capacity, a stripe width, and a distribution pattern of storage blocks for storing parity information among respective stripes.

17. The computer program product of claim 13 , wherein the machine executable instructions, when executed, cause the device to:

write the data to other storage blocks in the target stripe than the storage block from the offline disk, without generating parity information of the data.

18. The computer program product of claim 13 , wherein the machine executable instructions, when executed, further cause the device to:

in response to a further request to read at least one portion of the data, directly read the at least one portion of the data from the target stripe.

Assignments (13)
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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 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 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2020
From: DONG, JIBING; HAN, GENG; GAO, HONGPO; KANG, JIANBIN; GAO, JIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052902/0111 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →