IP Library Granted Patent US 11,150,823
Granted Patent B2
US 11,150,823 · App. 16/821,392 · Granted Oct 19, 2021

Method, device and computer program product for splitting disk set

Inventors: Hongpo Gao (Beijing, CN); Shaoqin Gong (Beijing, CN); Geng Han (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0634G06F3/0619G06F3/0647G06F3/0653G06F3/0659G06F3/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,150,823
App. No.
16/821,392
Granted
Oct 19, 2021
Kind
B2
Abstract

Techniques for splitting a disk set involve obtaining stripe shared information in a first disk set, wherein the information indicates a stripe set that shares a plurality of disks. The techniques further involve determining the number of disks to be split from the first disk set. The techniques further involve splitting the first disk set into a first portion and a second portion based on the information and the number of disks to be split, wherein the second portion and one or more newly added disks form a second disk set, and both the first disk set and the second disk set store data through Redundant Array of Independent Disks (RAID). In the case that a current disk set needs to be split due to adding one or more new disks, disks are selected using the collected information, thereby reducing data movements caused by splitting of the disk set.

Claims (63)

1. A method for splitting a disk set, comprising:

obtaining stripe shared information in a first disk set, the stripe shared information indicating a stripe set that shares a plurality of disks;

in response to determining that the first disk set is to be split, wherein determining that the first disk set is to be split comprises determining that a sum of a first number equal to a total number of all disks in the first disk set and a second number equal to a total number of one or more newly added disks is larger than a first threshold and that the second number is less than a second threshold, determining a number of disks to be split from the first disk set; and

splitting the first disk set into a first portion and a second portion based on the stripe shared information and the number of disks to be split, the second portion and one or more newly added disks forming a second disk set, both the first disk set and the second disk set storing data through Redundant Array of Independent Disks (RAID).

2. The method according to claim 1 , wherein obtaining stripe shared information in a first disk set comprises:

for a given stripe in the first disk set, determining whether the stripe shared information comprises a record associated with a group of disks involved in the given stripe;

in response to determining that the stripe shared information lacks a record associated with a group of disks involved in the given stripe, creating a record associated with the group of disks in the stripe shared information; and

in response to determining that the stripe shared information comprises a record associated with a group of disks involved in the given stripe, updating the record associated with the group of disks in the stripe shared information.

3. The method according to claim 2 , wherein obtaining stripe shared information in a first disk set further comprises:

recording, in the stripe shared information, a stripe set that shares a predetermined number of disks, the predetermined number being less than a width of the RAID.

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

in response to the sum of the first number and the second number being less than or equal to the first threshold, adding the one or more newly added disks to the first disk set; and

in response to the sum of the first number and the second number being larger than the first threshold and the second number being larger than the second threshold, creating the second disk set using the one or more newly added disks.

5. The method according to claim 4 , wherein each record in the stripe shared information identifies a set of shared disks, a set of stripes, and a stripe count of stripes shared by all of the disks in the set of disks, and wherein determining the number of disks to be split from the first disk set comprises:

and

determining the number of disks to be split from the first disk set based on the second number.

6. The method according to claim 2 , wherein splitting the first disk set into the first portion and the second portion comprises:

for a given record in the stripe shared information:

determining a total stripe count on a plurality of disks containing slices in the given stripe;

determining a shared stripe count of stripes shared by all the plurality of disks; and

determining a moved stripe count of stripes to be moved when splitting the first disk set using the given record based on the total stripe count and the shared stripe count.

7. The method according to claim 6 , wherein splitting the first disk set into the first portion and the second portion further comprises:

sorting all records in the stripe shared information according to a moved stripe count for each record; and

splitting the first disk set into the first portion and the second portion based on the sorting.

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

in response to the first disk set being split into the first portion and the second portion, determining data in the first portion in the first disk set that is related to a stripe in the second portion; and

moving the data from the first portion in the first disk set to the second disk set.

9. A device for splitting a disk set, comprising:

a processing unit;

a memory, coupled to the processing unit and storing instructions thereon, the instructions, when executed by the processing unit, performing acts comprising:

obtaining stripe shared information in a first disk set, the stripe shared information indicating a stripe set that shares a plurality of disks;

in response to determining that the first disk set is to be split, wherein determining that the first disk set is to be split comprises determining that a sum of a first number equal to a total number of all disks in the first disk set and a second number equal to a total number of one or more newly added disks is larger than a first threshold and that the second number is less than a second threshold, determining a number of disks to be split from the first disk set; and

splitting the first disk set into a first portion and a second portion based on the stripe shared information and the number of disks to be split, the second portion and one or more newly added disks forming a second disk set, both the first disk set and the second disk set storing data through Redundant Array of Independent Disks (RAID).

10. The device according to claim 9 , wherein obtaining stripe shared information in a first disk set comprises:

for a given stripe in the first disk set, determining whether the stripe shared information comprises a record associated with a group of disks involved in the given stripe;

in response to determining that the stripe shared information lacks a record associated with a group of disks involved in the given stripe, creating a record associated with the group of disks in the stripe shared information; and

in response to determining that the stripe shared information comprises a record associated with a group of disks involved in the given stripe, updating the record associated with the group of disks in the stripe shared information.

11. The device according to claim 10 , wherein obtaining stripe shared information in a first disk set further comprises:

recording, in the stripe shared information, a stripe set that shares a predetermined number of disks, the predetermined number being less than a width of the RAID.

12. The device according to claim 9 , the acts further comprising:

in response to the sum of the first number and the second number being less than or equal to the first threshold, adding the one or more newly added disks to the first disk set; and

in response to the sum of the first number and the second number being larger than the first threshold and the second number being larger than the second threshold, creating the second disk set using the one or more newly added disks.

13. The device according to claim 12 , wherein each record in the stripe shared information identifies a set of shared disks, a set of stripes and a stripe count of stripes shared by all of the disks in the set of disks, and wherein determining the number of disks to be split from the first disk set comprises:

determining the number of disks to be split from the first disk set based on the second number of the one or more newly added disk.

14. The device according to claim 10 , wherein splitting the first disk set into the first portion and the second portion comprises:

for a given record in the stripe shared information:

determining a total stripe count on a plurality of disks containing slices in the given stripe;

determining a shared stripe count of stripes shared by all the plurality of disks; and

determining a moved stripe count of stripes to be moved when splitting the first disk set using the given record based on the total stripe count and the shared stripe count.

15. The device according to claim 14 , wherein splitting the first disk set into the first portion and the second portion further comprises:

sorting all records in the stripe shared information according to a moved stripe count for each record; and

splitting the first disk set into the first portion and the second portion based on the sorting.

16. The device according to claim 9 , the acts further comprising:

in response to the first disk set being split into the first portion and the second portion, determining data in the first portion in the first disk set that is related to a stripe in the second portion; and

moving the data from the first portion in the first disk set to the second disk set.

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

obtaining stripe shared information in a first disk set, the stripe shared information indicating a stripe set that shares a plurality of disks;

in response to determining that the first disk set is to be split, wherein determining that the first disk set is to be split comprises determining that a sum of a first number equal to a total number of all disks in the first disk set and a second number equal to a total number of one or more newly added disks is larger than a first threshold and that the second number is less than a second threshold, determining a number of disks to be split from the first disk set; and

splitting the first disk set into a first portion and a second portion based on the stripe shared information and the number of disks to be split, the second portion and one or more newly added disks forming a second disk set, both the first disk set and the second disk set storing data through Redundant Array of Independent Disks (RAID).

18. The method according to claim 1 , wherein the second threshold comprises a minimum disk count for storing data through RAID; and

wherein the first threshold is greater than the second threshold.

19. The method according to claim 18 , wherein storing data through RAID comprises storing data through RAID 5; and

wherein the second threshold comprises a value of five.

Assignments (11)
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 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 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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: GAO, HONGPO; GONG, SHAOQIN; HAN, GENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052780/0483 →
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 →