IP Library Granted Patent US 11,789,622
Granted Patent B2
US 11,789,622 · App. 17/191,910 · Granted Oct 17, 2023

Method, device and computer program product for storage management

Inventors: Jianbin Kang (Beijing, CN); Jian Gao (Beijing, CN); Hongpo Gao (Beijing, CN); Xinlei Xu (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0631G06F3/065G06F3/0619G06F3/0689
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,789,622
App. No.
17/191,910
Granted
Oct 17, 2023
Kind
B2
Abstract

Techniques perform storage management. The techniques involve: in response to a target request for a target redundant array of independent disks (RAID), determining that data in a first storage block associated with the target RAID needs to be moved or copied, wherein the target request includes one of the following: a restriping request, a type conversion request, or a rebalancing request; creating an intermediate RAID associated with an idle second storage block; and copying the data in the first storage block to a corresponding storage space in the intermediate RAID to write at least part of the data in the second storage block. Based on this mode, RAID restriping, type conversion, or rebalancing can be implemented efficiently.

Claims (68)

1. A storage management method, comprising:

in response to a target request for a target redundant array of independent disks (RAID), determining that data in a first storage block associated with the target RAID needs to be moved or copied, wherein the target request comprises one of the following: a restriping request, a type conversion request, or a rebalancing request;

creating an intermediate RAID associated with an idle second storage block;

recording, in metadata of the target RAID, a RAID identifier of the intermediate RAID indicating storage blocks to be included in the target RAID, the recorded RAID identifier being a different RAID identifier than a RAID identifier of the target RAID;

after recording the RAID identifier, copying the data in the first storage block to a corresponding storage space in the intermediate RAID to write at least part of the data in the second storage block; and

after copying the data in the first storage block to a corresponding storage space in the intermediate RAID, updating, by accessing the recorded RAID identifier of the intermediate RAID, the metadata of the target RAID to associate the target RAID with the second storage block, wherein updating the metadata of the target RAID includes:

removing the first storage block from the target RAID and adding the second storage block to the target RAID, wherein after updating the metadata of the target RAID, the RAID identifier of the target RAID indicates that the second storage block is included in the target RAID.

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

copying data in a third storage block associated with the target RAID to a corresponding second storage space in the intermediate RAID;

wherein updating the metadata of the target RAID includes simultaneously disassociating the first storage block and the third storage block from the target RAID.

3. The method of claim 1 , further comprising:

receiving, prior to copying the data, a write request to write new data in the first storage block; and

executing the write request to write the new data to both the first storage block and the second storage block.

4. The method of claim 1 , further comprising:

prior to creating the intermediate RAID, identifying data in another storage block of the target RAID to be moved or copied in response to the target request;

after recording the RAID identifier of the intermediate RAID, copying the data in the another storage block to a second corresponding storage space in the intermediate RAID; and

wherein updating the metadata of the target RAID is in response to completing both copying the data in the first storage block and copying the data in the another storage block.

5. The method according to claim 1 , wherein creating the intermediate RAID associated with the idle second storage block comprises:

determining that data in a third storage block associated with the target RAID does not need to be moved or copied; and

creating the intermediate RAID based on the third storage block and the second storage block, so that the intermediate RAID is also associated with the third storage block.

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

if the target request is a restriping request or a type conversion request, updating the target RAID by using metadata of the intermediate RAID, so that the target RAID is associated with the second storage block.

7. The method according to claim 6 , wherein the intermediate RAID is inaccessible to users.

8. The method according to claim 1 , wherein the target request is a type conversion request, and wherein creating the intermediate RAID comprises:

creating the intermediate RAID based on a RAID type specified by the type conversion request.

9. The method according to claim 1 , wherein the target request is a rebalancing request, and the method further comprises:

removing, in response to completing the copy of the data, the target RAID; and

determining the intermediate RAID as a rebalanced RAID.

10. The method according to claim 9 , wherein removing the target RAID comprises:

disassociating the target RAID and the first storage block; and

releasing the first storage block.

11. An electronic device, comprising:

at least one processing unit; and

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

in response to a target request for a RAID, determining that data in a first storage block associated with the target RAID needs to be moved or copied, wherein the target request comprises one of the following: a restriping request, a type conversion request, or a rebalancing request;

creating an intermediate RAID associated with an idle second storage block;

recording, in metadata of the target RAID, a RAID identifier of the intermediate RAID indicating storage blocks to be included in the target RAID, the recorded RAID identifier being a different RAID identifier than a RAID identifier of the target RAID;

after recording the RAID identifier, copying the data in the first storage block to a corresponding storage space in the intermediate RAID to write at least part of the data in the second storage block; and

after copying the data in the first storage block to a corresponding storage space in the intermediate RAID, updating, by accessing the recorded RAID identifier of the intermediate RAID, the metadata of the target RAID to associate the target RAID with the second storage block, wherein updating the metadata of the target RAID includes:

removing the first storage block from the target RAID and adding the second storage block to the target RAID, wherein after updating the metadata of the target RAID, the RAID identifier of the target RAID indicates that the second storage block is included in the target RAID.

12. The electronic device according to claim 11 , wherein creating the intermediate RAID associated with the idle second storage block comprises:

determining that data in a third storage block associated with the target RAID does not need to be moved or copied; and

creating the intermediate RAID based on the third storage block and the second storage block, so that the intermediate RAID is also associated with the third storage block.

13. The electronic device according to claim 11 , wherein the actions further comprise:

if the target request is a restriping request or a type conversion request, updating the target RAID by using metadata of the intermediate RAID, so that the target RAID is associated with the second storage block.

14. The electronic device according to claim 13 , wherein the intermediate RAID is inaccessible to users.

15. The electronic device according to claim 11 , wherein the target request is a type conversion request, and wherein creating the intermediate RAID comprises:

creating the intermediate RAID based on a RAID type specified by the type conversion request.

16. The electronic device according to claim 11 , wherein the target request is a rebalancing request, and the actions further comprise:

removing, in response to completing the copy of the data, the target RAID; and

determining the intermediate RAID as a rebalanced RAID.

17. The electronic device according to claim 16 , wherein removing the target RAID comprises:

disassociating the target RAID and the first storage block; and

releasing the first storage block.

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

in response to a target request for a target redundant array of independent disks (RAID), determining that data in a first storage block associated with the target RAID needs to be moved or copied, wherein the target request comprises one of the following: a restriping request, a type conversion request, or a rebalancing request;

creating an intermediate RAID associated with an idle second storage block;

recording, in metadata of the target RAID, a RAID identifier of the intermediate RAID indicating storage blocks to be included in the target RAID, the recorded RAID identifier being a different RAID identifier than a RAID identifier of the target RAID;

after recording the RAID identifier, copying the data in the first storage block to a corresponding storage space in the intermediate RAID to write at least part of the data in the second storage block; and

after copying the data in the first storage block to a corresponding storage space in the intermediate RAID, updating, by accessing the recorded RAID identifier of the intermediate RAID, the metadata of the target RAID to associate the target RAID with the second storage block, wherein updating the metadata of the target RAID includes:

removing the first storage block from the target RAID and adding the second storage block to the target RAID, wherein after updating the metadata of the target RAID, the RAID identifier of the target RAID indicates that the second storage block is included in the target RAID.

19. The computer program product according to claim 18 , wherein the target request is a rebalancing request, and the method further comprises:

removing, in response to completing the copy of the data, the target RAID; and

determining the intermediate RAID as a rebalanced RAID;

wherein the target RAID had been previously mapped with the first storage block; and

wherein removing the target RAID comprises:

unmapping the target RAID and the first storage block; and

releasing the first storage block.

Assignments (10)
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 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/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 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/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/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/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 31, 2021
From: KANG, JIANBIN; GAO, JIAN; GAO, HONGPO; XU, XINLEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055782/0976 →
Priority Claims (1)
CN 202011139795.6 · Oct 22, 2020 · national
Continuity (1)
Related Publication 20220129174A1 · Apr 28, 2022