IP Library Granted Patent US 11,507,458
Granted Patent B2
US 11,507,458 · App. 17/314,416 · Granted Nov 22, 2022

Storage management method, device, and computer program product

Inventors: Baote Zhuo (Beijing, CN); Jianbin Kang (Beijing, CN); Geng Han (Beijing, CN); Jian Gao (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1076G06F3/0619G06F3/0631G06F3/0689G06F11/1435G06F11/1451G06F11/1469
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,507,458
App. No.
17/314,416
Granted
Nov 22, 2022
Kind
B2
Abstract

A storage management technique involves: selecting a first disk from a plurality of disks in a storage system as an anchor disk; allocating a first backup slice from the plurality of disks to a redundant array of independent disks (RAID) associated with the first disk, the first RAID including at least a slice allocated from the first disk; and if it is detected that there is an inaccessible disk in the plurality of disks, determining a backup slice for a slice of the inaccessible disk based on the allocation of the first backup slice to the first RAID, for use in data reconstruction of the inaccessible disk. This can ensure that a backup slice can always be successfully determined for slices of an inaccessible disk without introducing additional time complexity.

Claims (96)

1. A method for storage management, comprising:

selecting a first disk from a plurality of disks in a storage system as an anchor disk;

allocating a first backup slice from the plurality of disks to a redundant array of independent disks (RAID) associated with the first disk, the first RAID comprising at least a slice allocated from the first disk; and

if it is detected that there is an inaccessible disk in the plurality of disks, determining a backup slice for a slice of the inaccessible disk based on the allocation of the first backup slice to the first RAID, for use in data reconstruction of the inaccessible disk.

2. The method according to claim 1 , wherein selecting the first disk comprises:

selecting the first disk based on corresponding storage capacities of the plurality of disks, a storage capacity of the first disk being greater than that of at least one other disk in the plurality of disks.

3. The method according to claim 1 , wherein the first RAID comprises at least a storage slice allocated from the first disk for storing information and the first backup slice allocated from a disk other than the first disk among the plurality of disks, or

wherein the first RAID comprises at least the first backup slice allocated from the first disk and a storage slice allocated, from a disk other than the first disk among the plurality of disks, for storing information.

4. The method according to claim 1 , wherein determining a backup slice for a slice of the inaccessible disk comprises:

if it is detected that there is an inaccessible disk in the plurality of disks, determining a degraded RAID, the degraded RAID comprising a first storage slice allocated from the inaccessible disk for storing information; and

if it is determined that the degraded RAID does not comprise the first RAID and the inaccessible disk is not the first disk, determining whether an unallocated idle slice in the plurality of disks can be allocated as a backup slice for the first storage slice;

if it is determined that there is no unallocated idle slice in the plurality of disks that can be allocated as a backup slice for the first storage slice, determining a backup slice for the first storage slice based on the first backup slice allocated to the first RAID.

5. The method according to claim 4 , wherein determining a backup slice for the first storage slice based on the first backup slice comprises:

if it is determined that the first backup slice is allocated from the first disk, allocating the first backup slice as the backup slice for the first storage slice;

if it is determined that the first backup slice is allocated from a disk other than the first disk among the plurality of disks and it is determined that the first RAID comprises a second storage slice allocated from the first disk for storing information, migrating information stored in the second storage slice to the first backup slice; and

allocating the second storage slice as the backup slice for the first storage slice.

6. The method according to claim 4 , wherein determining a backup slice for a slice of the inaccessible disk further comprises:

if it is determined that the degraded RAID comprises the first RAID, determining the first backup slice allocated to the first RAID as the backup slice for the first storage slice.

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

storing metadata for the first RAID, the metadata marking the first RAID as directly backupable and marking the first backup slice allocated to the first RAID,

wherein determining a backup slice for the first storage slice based on the first backup slice comprises: using the metadata to determine the backup slice for the first storage slice.

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

if it is determined that a second disk is added to the storage system, determining whether the second disk is selected as the anchor disk;

if it is determined that the second disk is selected as the anchor disk, determining a second RAID associated with the second disk based on a result of re-striping of the second disk in the storage system, the second RAID comprising a second slice re-striped from a third slice in the plurality of disks into the second disk;

if it is determined that the third slice is a storage slice allocated from the first disk for storing information, migrating information stored in the third slice to the second slice;

if it is determined that the third slice is a storage slice allocated, from a disk other than the first disk among the plurality of disks, for storing information, migrating the information stored in the third slice to the second slice and determining the third slice as a backup slice for the second RAID; and

if it is determined that the third slice is a backup slice that has been allocated to the second RAID, determining the second slice as the second backup slice for the second RAID.

9. The method according to claim 8 , wherein determining whether the second disk is selected as the anchor disk comprises:

comparing a storage capacity of the second disk with that of the first disk; and

if it is determined that the storage capacity of the second disk exceeds that of the first disk by a predetermined threshold capacity, determining that the second disk is selected as the anchor disk.

10. The method according to claim 8 , wherein the first RAID comprises at least a second storage slice allocated from the first disk for storing information, and the method further comprises:

if it is determined that the first disk remains as the anchor disk, determining whether the second storage slice is re-striped to a third slice in the second disk; and

if it is determined that the second storage slice is re-striped to the third slice in the second disk, releasing the allocation of the first backup slice.

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

if it is determined that the first disk remains as the anchor disk, determining whether the first backup slice allocated for the first RAID is re-striped to a third slice in the second disk;

if the first backup slice is re-striped to the third slice in the second disk, determining the third slice in the second disk as a backup slice for the first RAID; and

releasing the allocation of the first backup slice.

12. The method according to claim 1 , wherein the inaccessible disk is the first disk, and the method further comprises:

if it is determined that a third disk is added to the storage system after the data reconstruction is completed, determining whether the third disk or an accessible fourth disk among the plurality of disks is selected as the anchor disk;

if it is determined that the fourth disk is selected as the anchor disk, allocating respectively a plurality of backup slices from the third disk to a plurality of RAIDs associated with the fourth disk, the plurality of RAIDs comprising at least a storage slice allocated from the fourth disk for storing information; and

performing re-striping on the third disk in the storage system to uniformly re-stripe the plurality of backup slices to the third disk and accessible disks among the plurality of disks.

13. The method according to claim 12 , further comprising:

if it is determined that the third disk is selected as the anchor disk, re-striping a third storage slice allocated, from the accessible disks among the plurality of disks, for storing information to a slice of the third disk, the third storage slice being allocated to a third RAID;

migrating information stored in the third storage slice to the slice of the third disk; and

marking the third storage slice as a backup slice comprising the third RAID.

14. An electronic device, comprising:

at least one processor; and

at least one memory storing computer program instructions, wherein the at least one memory and the computer program instructions are configured to cause, together with the at least one processor, the electronic device to perform actions comprising:

selecting a first disk from a plurality of disks in a storage system as an anchor disk;

allocating a first backup slice from the plurality of disks to a redundant array of independent disks (RAID) associated with the first disk, the first RAID comprising at least a slice allocated from the first disk; and

if it is detected that there is an inaccessible disk in the plurality of disks, determining a backup slice for a slice of the inaccessible disk based on the allocation of the first backup slice to the first RAID, for use in data reconstruction of the inaccessible disk.

15. The device according to claim 14 , wherein selecting the first disk comprises:

selecting the first disk based on corresponding storage capacities of the plurality of disks, a storage capacity of the first disk being greater than that of at least one other disk in the plurality of disks.

16. The device according to claim 14 , wherein the first RAID comprises at least a storage slice allocated from the first disk for storing information and the first backup slice allocated from a disk other than the first disk among the plurality of disks, or

wherein the first RAID comprises at least the first backup slice allocated from the first disk and a storage slice allocated, from a disk other than the first disk among the plurality of disks, for storing information.

17. The device according to claim 14 , wherein determining a backup slice for a slice of the inaccessible disk comprises:

if it is detected that there is an inaccessible disk in the plurality of disks, determining a degraded RAID, the degraded RAID comprising a first storage slice allocated from the inaccessible disk for storing information; and

if it is determined that the degraded RAID does not comprise the first RAID and the inaccessible disk is not the first disk, determining whether an unallocated idle slice in the plurality of disks can be allocated as a backup slice for the first storage slice;

if it is determined that there is no unallocated idle slice in the plurality of disks that can be allocated as a backup slice for the first storage slice, determining a backup slice for the first storage slice based on the first backup slice allocated to the first RAID.

18. The device according to claim 17 , wherein determining a backup slice for the first storage slice based on the first backup slice comprises:

if it is determined that the first backup slice is allocated from the first disk, allocating the first backup slice as the backup slice for the first storage slice;

if it is determined that the first backup slice is allocated from a disk other than the first disk among the plurality of disks and it is determined that the first RAID comprises a second storage slice allocated from the first disk for storing information, migrating information stored in the second storage slice to the first backup slice; and

allocating the second storage slice as the backup slice for the first storage slice.

19. The device according to claim 17 , wherein determining a backup slice for a slice of the inaccessible disk further comprises:

if it is determined that the degraded RAID comprises the first RAID, determining the first backup slice allocated to the first RAID as the backup slice for the first storage slice.

20. The device according to claim 14 , wherein the actions further comprise:

storing metadata for the first RAID, the metadata marking the first RAID as directly backupable and marking the first backup slice allocated to the first RAID,

wherein determining a backup slice for the first storage slice based on the first backup slice comprises: using the metadata to determine the backup slice for the first storage slice.

21. The device according to claim 14 , wherein the actions further comprise:

if it is determined that a second disk is added to the storage system, determining whether the second disk is selected as the anchor disk;

if it is determined that the second disk is selected as the anchor disk, determining a second RAID associated with the second disk based on a result of re-striping of the second disk in the storage system, the second RAID comprising a second slice re-striped from a third slice in the plurality of disks into the second disk;

if it is determined that the third slice is a storage slice allocated from the first disk for storing information, migrating information stored in the third slice to the second slice;

if it is determined that the third slice is a storage slice allocated, from a disk other than the first disk among the plurality of disks, for storing information, migrating the information stored in the third slice to the second slice and determining the third slice as a backup slice for the second RAID; and

if it is determined that the third slice is a backup slice that has been allocated to the second RAID, determining the second slice as the second backup slice for the second RAID.

22. The device according to claim 21 , wherein determining whether the second disk is selected as the anchor disk comprises:

comparing a storage capacity of the second disk with that of the first disk; and

if it is determined that the storage capacity of the second disk exceeds that of the first disk by a predetermined threshold capacity, determining that the second disk is selected as the anchor disk.

23. The device according to claim 21 , wherein the first RAID comprises at least a second storage slice allocated from the first disk for storing information, and the method further comprises:

if it is determined that the first disk remains as the anchor disk, determining whether the second storage slice is re-striped to a third slice in the second disk; and

if it is determined that the second storage slice is re-striped to the third slice in the second disk, releasing the allocation of the first backup slice.

24. The device according to claim 21 , wherein the actions further comprise:

if it is determined that the first disk remains as the anchor disk, determining whether the first backup slice allocated for the first RAID is re-striped to a third slice in the second disk;

if the first backup slice is re-striped to the third slice in the second disk, determining the third slice in the second disk as a backup slice for the first RAID; and

releasing the allocation of the first backup slice.

25. The device according to claim 14 , wherein the inaccessible disk is the first disk, and the actions further comprise:

if it is determined that a third disk is added to the storage system after the data reconstruction is completed, determining whether the third disk or an accessible fourth disk among the plurality of disks is selected as the anchor disk;

if it is determined that the fourth disk is selected as the anchor disk, allocating respectively a plurality of backup slices from the third disk to a plurality of RAIDs associated with the fourth disk, the plurality of RAIDs comprising at least a storage slice allocated from the fourth disk for storing information; and

performing re-striping on the third disk in the storage system to uniformly re-stripe the plurality of backup slices to the third disk and accessible disks among the plurality of disks.

26. The device according to claim 25 , wherein the actions further comprise:

if it is determined that the third disk is selected as the anchor disk, re-striping a third storage slice allocated, from the accessible disks among the plurality of disks, for storing information to a slice of the third disk, the third storage slice being allocated to a third RAID;

migrating information stored in the third storage slice to the slice of the third disk; and

marking the third storage slice as a backup slice comprising the third RAID.

27. 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:

selecting a first disk from a plurality of disks in a storage system as an anchor disk;

allocating a first backup slice from the plurality of disks to a redundant array of independent disks (RAID) associated with the first disk, the first RAID comprising at least a slice allocated from the first disk; and

if it is detected that there is an inaccessible disk in the plurality of disks, determining a backup slice for a slice of the inaccessible disk based on the allocation of the first backup slice to the first RAID, for use in data reconstruction of the inaccessible disk.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 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 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2021
From: ZHUO, BAOTE; KANG, JIANBIN; HAN, GENG; GAO, JIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056341/0405 →
Priority Claims (1)
CN 202110013590.1 · Jan 6, 2021 · national
Continuity (1)
Related Publication 20220214942A1 · Jul 7, 2022