IP Library › Granted Patent US 11,099,734
Granted Patent B2
US 11,099,734 · App. 16/356,364 · Granted Aug 24, 2021

Method, apparatus and computer program product for managing storage system

Inventors: Chun Ma (Beijing, CN); Changyu Feng (Beijing, CN); Jian Gao (Beijing, CN); Jibing Dong (Beijing, CN); Jianbin Kang (Beijing, CN); Xinlei Xu (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0604G06F3/067G06F3/0655G06F3/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,099,734
App. No.
16/356,364
Granted
Aug 24, 2021
Kind
B2
Abstract

Techniques manage a storage system. In such techniques, data types of data in multiple storage devices associated with the storage system are obtained. The multiple storage devices are divided into a first group of storage devices and a second group of storage devices according to the data types. A first processing ability of the first group of storage devices and a second processing ability of the second group of storage devices are determined separately. Data distribution is scheduled among the multiple storage devices on the basis of the first processing ability and the second processing ability. With such techniques, processing abilities of various storage devices in a resource pool may be balanced, so that workloads of various storage devices may be balanced and further overall response speed of the resource pool may be increased.

Claims (78)

1. A method for managing a storage system, the method comprising:

obtaining data types of data in multiple storage devices associated with the storage system;

dividing the multiple storage devices into a first group of storage devices and a second group of storage devices according to the data types, the data types comprising a first type of data for managing operations of the storage system and a second type of data to be used by users of the storage system;

storing at least the first type of data in the first group of storage devices;

storing the second type of data in the second group of storage devices;

determining a first processing ability of the first group of storage devices based on at least the first type of data being stored in the first group of storage devices; and

determining a second processing ability of the second group of storage devices based on the second type of data being stored in the second group of storage devices, each of the first processing ability and the second processing ability representing a respective processing ability to serve data access requests from users; and

scheduling data distribution among the multiple storage devices on the basis of the first processing ability and the second processing ability.

2. The method of claim 1 , wherein:

the first group of storage devices stores data of both the first type and the second type.

3. The method of claim 2 , wherein scheduling data distribution among the multiple storage devices comprises:

moving data of the second type between the multiple storage devices.

4. The method of claim 3 , wherein moving data of the second type comprises:

determining respective workloads of the multiple storage devices; and

moving an extent for second-type data on a first storage device to a second storage device in response to determining a first workload of the first storage device among the multiple storage devices satisfies a predefined condition, the first workload being heavier than a second workload of the second storage device.

5. The method of claim 4 , wherein determining a first workload of a first storage device among the multiple storage devices satisfies a predefined condition comprises:

correcting the first workload and the second workload on the basis of the first processing ability and the second processing ability respectively; and

determining a first workload of a first storage device satisfies a predefined condition in response to determining the corrected first workload is heavier than the corrected second workload.

6. The method of claim 4 , wherein determining a first workload of a first storage device among the multiple storage devices satisfies a predefined condition comprises:

correcting respective workloads of the multiple storage devices on the basis of the first processing ability and the second processing ability; and

determining a first workload of a first storage device satisfies a predefined condition in response to determining the corrected first workload is higher than an average value of the respective workloads by a predefined ratio.

7. The method of claim 4 , wherein moving an extent for second-type data on the first storage device to the second storage device comprises:

selecting a source extent from multiple extents comprised in the first storage device, the source extent having a heavier workload than a further extent among the multiple extents; and

moving the source extent from the first storage device to a free extent on the second storage device.

8. The method of claim 7 , wherein the storage system is a Redundant Array of Independent Disks, and the method further comprises:

determining multiple extents comprised in a stripe associated with the source extent; and

selecting the second storage device from the multiple storage devices other than corresponding storage devices where the multiple extents reside.

9. The method of claim 4 , wherein determining respective workloads of the multiple storage devices comprises: for a given storage device among the multiple storage devices,

obtaining a historical workload of the given storage device;

determining a data type of data in the given storage device; and

correcting the historical workload with the first processing ability and the second processing ability according to the data type.

10. The method of claim 9 , wherein obtaining a historical workload of the given storage device comprises:

determining the historical workload of the given storage device on the basis of at least one of: a number of data access requests for the given storage device, the data amount involved in access to the given storage device, and response time of the given storage device.

11. The method of claim 1 , wherein the first type of data corresponds to system data, wherein the second type of data corresponds to user data, wherein storing at least the first type of data in the first group of storage devices includes storing at least the system data in the first group of storage devices, and wherein storing the second type of data in the second group of storage devices includes storing the user data in the second group of storage devices.

12. An apparatus for managing a storage system, comprising:

at least one processor;

a volatile memory; and

a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, causing the apparatus to perform acts comprising:

obtaining data types of data in multiple storage devices associated with the storage system;

dividing the multiple storage devices into a first group of storage devices and a second group of storage devices according to the data types, the data types comprising a first type of data for managing operations of the storage system and a second type of data to be used by users of the storage system;

storing at least the first type of data in the first group of storage devices;

storing the second type of data in the second group of storage devices;

determining a first processing ability of the first group of storage devices based on at least the first type of data being stored in the first group of storage devices; and

determining a second processing ability of the second group of storage devices based on the second type of data being stored in the second group of storage devices, each of the first processing ability and the second processing ability representing a respective processing ability to serve data access requests from users; and

scheduling data distribution among the multiple storage devices on the basis of the first processing ability and the second processing ability.

13. The apparatus of claim 12 , wherein,

the first group of storage devices stores data of both the first type and the second type.

14. The apparatus of claim 13 , wherein scheduling data distribution among the multiple storage devices comprises:

moving data of the second type between the multiple storage devices.

15. The apparatus of claim 14 , wherein moving data of the second type comprises:

determining respective workloads of the multiple storage devices; and

moving an extent for second-type data on a first storage device to a second storage device in response to determining a first workload of the first storage device among the multiple storage devices satisfies a predefined condition, the first workload being heavier than a second workload of the second storage device.

16. The apparatus of claim 15 , wherein determining a first workload of a first storage device among the multiple storage devices satisfies a predefined condition comprises:

correcting the first workload and the second workload on the basis of the first processing ability and the second processing ability respectively; and

determining a first workload of a first storage device satisfies a predefined condition in response to determining the corrected first workload is heavier than the corrected second workload.

17. The apparatus of claim 15 , wherein determining a first workload of a first storage device among the multiple storage devices satisfies a predefined condition comprises:

correcting respective workloads of the multiple storage devices on the basis of the first processing ability and the second processing ability; and

determining a first workload of a first storage device satisfies a predefined condition in response to determining the corrected first workload is higher than an average value of the respective workloads by a predefined ratio.

18. The apparatus of claim 15 , wherein moving an extent for second-type data on the first storage device to the second storage device comprises:

selecting a source extent from multiple extents comprised in the first storage device, the source extent having a heavier workload than a further extent among the multiple extents; and

moving the source extent from the first storage device to a free extent on the second storage device.

19. The apparatus of claim 18 , wherein the storage system is a Redundant Array of Independent Disks, and the acts further comprise:

determining multiple extents comprised in a stripe associated with the source extent; and

selecting the second storage device from the multiple storage devices other than corresponding storage devices where the multiple extents reside.

20. The apparatus of claim 14 , wherein determining respective workloads of the multiple storage devices comprises: for a given storage device among the multiple storage devices,

obtaining a historical workload of the given storage device;

determining a data type of data in the given storage device; and

correcting the historical workload with the first processing ability and the second processing ability according to the data type.

21. The apparatus of claim 20 , wherein obtaining a historical workload of the given storage device comprises:

determining the historical workload of the given storage device on the basis of at least one of: a number of data access requests for the given storage device, the data amount involved in access to the given storage device, and response time of the given storage device.

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

obtaining data types of data in multiple storage devices associated with the storage system;

dividing the multiple storage devices into a first group of storage devices and a second group of storage devices according to the data types, the data types comprising a first type of data for managing operations of the storage system and a second type of data to be used by users of the storage system;

storing at least the first type of data in the first group of storage devices;

storing the second type of data in the second group of storage devices;

determining a first processing ability of the first group of storage devices based on at least the first type of data being stored in the first group of storage devices; and

determining a second processing ability of the second group of storage devices based on the second type of data being stored in the second group of storage devices, each of the first processing ability and the second processing ability representing a respective processing ability to serve data access requests from users; and

scheduling data distribution among the multiple storage devices on the basis of the first processing ability and the second processing ability.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
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 AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
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 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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2019
From: MA, CHUN; FENG, CHANGYU; GAO, JIAN; DONG, JIBING; KANG, JIANBIN; XU, XINLEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048861/0261 →
Priority Claims (1)
CN 201810801582.1 · Jul 20, 2018 · national
Continuity (1)
Related Publication 20200026426A1 · Jan 23, 2020