IP Library › Granted Patent US 10,860,260
Granted Patent B2
US 10,860,260 · App. 16/249,161 · Granted Dec 8, 2020

Method, apparatus and computer program product for managing storage system

Inventors: Tao Xu (Beijing, CN); Hongpo Gao (Beijing, CN); Jibing Dong (Beijing, CN); Shaoqin Gong (Beijing, CN); Baote Zhuo (Beijing, CN); Jian Gao (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0689G06F3/0604G06F3/0647
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 10,860,260
App. No.
16/249,161
Granted
Dec 8, 2020
Kind
B2
Abstract

Techniques manage a storage system. The techniques involve: in response to determining that a rebalance operation is to be performed, determining a source storage device and a destination storage device associated with the rebalance operation based on distribution information of segments included in stripes of the storage system across a plurality of storage devices in the storage system. The techniques further involve: determining a target segment from the source storage device, based on access information of segments in the source storage device. The techniques further involve: moving the target segment to the destination storage device. Accordingly, the rebalance operation can be performed more efficiently, and the overall performance of the storage system can be optimized.

Claims (83)

1. A method of managing a storage system, comprising:

in response to determining that a rebalance operation is to be performed, determining a source storage device and a destination storage device associated with the rebalance operation based on distribution information of segments included in stripes of the storage system across a plurality of storage devices in the storage system;

determining a target segment from the source storage device based on access information of segments in the source storage device; and

moving the target segment to the destination storage device;

wherein the determining the source storage device and the destination storage device comprises:

obtaining, from the distribution information, a number of stripes using each storage device and a number of idle segments in each of the plurality of storage device;

selecting a group of storage devices from the plurality of storage devices in the storage system in a particular order of the numbers of stripes; and

at least one of: determining, based on the number of idle segments in each of the plurality of storage devices, (i) a storage device with fewest idle segments from the selected group of storage devices as the source storage device and (ii) a storage device with most idle segments from the selected group of storage devices as the destination storage device.

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

obtaining a number of stripes in each storage device and a number of idle segments in each storage device, as at least a portion of the distribution information.

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

obtaining, as at least a portion of the access information, at least one of the following: input/output (I/O) access heat, access frequency and number of accesses.

4. The method according to claim 1 , wherein the particular order is a descending order; and

wherein the determining the source storage device and the destination storage device comprises:

determining, based on the number of idle segments in each of the plurality of storage device, the storage device with the fewest idle segments from the selected group of storage devices as the source storage device.

5. The method according to claim 1 , wherein the particular order is an ascending order; and

wherein the determining the source storage device and the destination storage device comprises:

determining, based on the number of idle segments in each of the plurality of storage device, the storage device with the most idle segments from the selected group of storage devices as the destination storage device.

6. The method according to claim 1 , wherein the determining the target segment from the source storage device comprises:

selecting, based on the access information, a segment with a largest number of access times from the source storage device as the target segment, or selecting, from the source storage device, a segment corresponding to a stripe with a largest number of access times in respective stripes corresponding to respective segments in the source storage device as the target segment.

7. The method according to claim 1 , wherein determining the target segment from the source storage device comprises:

selecting, based on the access information and from the source storage device, a group of segments with a number of access times larger than a predetermined threshold; and

determining the target segment from the group of segments based on access information corresponding to the stripe corresponding to each segment in the group of segments.

8. The method according to claim 1 , wherein determining the target segment from the source storage device comprises:

obtaining input/output (I/O) access heat of the segments in the source storage device from the access information;

selecting a group of segments from the source storage device in a descending order of the I/O access heat; and

determining the stripe corresponding to each segment in the group of segments to obtain a group of stripes;

determining a sum of the I/O access heat of all segments included in each stripe in the group of stripes;

selecting a stripe having a largest I/O access heat from the group of stripes as a target stripe;

determining a segment corresponding to the target stripe from the group of segments, as the target segment.

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

a set of processors; and

a memory coupled to the set of processors, and storing computer program instructions which, when executed by the set of processors, cause the apparatus to perform acts of managing a plurality of storage devices, the acts comprising:

in response to determining that a rebalance operation is to be performed, determining a source storage device and a destination storage device associated with the rebalance operation based on distribution information of segments included in stripes of the storage system across a plurality of storage devices in the storage system,

determining a target segment from the source storage device based on access information of segments in the source storage device, and

moving the target segment to the destination storage device;

wherein the determining the source storage device and the destination storage device comprises:

obtaining, from the distribution information, a number of stripes using each storage device and a number of idle segments in each of the plurality of storage device,

selecting a group of storage devices from the plurality of storage devices in the storage system in a particular order of the number of stripes, and

at least one of: determining, based on the number of idle segments in each of the plurality of storage device, (i) a storage device with fewest idle segments from the selected group of storage devices, as the source storage device, and (ii) a storage device with most idle segments from the selected group of storage devices, as the destination storage device.

10. The apparatus according to claim 9 , wherein the acts further comprise:

obtaining a number of stripes in each storage device and a number of idle segments in each storage device, as the distribution information.

11. The apparatus according to claim 9 , wherein the acts further comprise:

obtaining, as at least a portion of the access information, at least one of the following input/output (I/O) access heat, access frequency and number of accesses.

12. The apparatus according to claim 9 , wherein the particular order is a descending order; and

wherein the determining the source storage device and the destination storage device comprises:

determining, based on the number of idle segments in each of the plurality of storage device, the storage device with the fewest idle segments from the selected group of storage devices, as the source storage device.

13. The apparatus according to claim 9 , wherein the particular order is an ascending order; and

wherein the determining the source storage device and the destination storage device comprises:

determining, based on the number of idle segments in each of the plurality of storage device, the storage device with the most idle segments from the selected group of storage devices, as the destination storage device.

14. The apparatus according to claim 9 , wherein the determining the target segment from the source storage device comprises:

based on the access information, selecting a segment with a largest number of access times from the source storage device as the target segment, or selecting, from the source storage device, a segment corresponding to a stripe with a largest number of access times in respective stripes corresponding to respective segments in the source storage device, as the target segment.

15. The apparatus according to claim 9 , wherein the determining the target segment from the source storage device comprises:

based on the access information, selecting from the source storage device a group of segments with a number of access time larger than a predetermined threshold; and

determining the target segment from the group of segments based on access information corresponding to the stripe corresponding to each segment in the group of segments.

16. The apparatus according to claim 9 , wherein determining the target segment from the source storage device comprises:

obtaining input/output (I/O) access heat of the segments in the source storage device from the access information;

selecting a group of segments from the source storage device in a descending order of the I/O access heat; and

determining the stripe corresponding to each segment in the group of segments, to obtain a group of stripes;

determining a sum of the I/O access heat of all segments included in each stripe in the group of stripes;

selecting a stripe having a largest I/O access heat from the group of stripes, as a target stripe;

determining a segment corresponding to the target stripe from the group of segments, as the target segment.

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

in response to determining that a rebalance operation is to be performed, determining a source storage device and a destination storage device associated with the rebalance operation based on distribution information of segments included in stripes of the storage system across a plurality of storage devices in the storage system;

determining a target segment from the source storage device based on access information of segments in the source storage device; and

moving the target segment to the destination storage device;

wherein the determining the source storage device and the destination storage device comprises:

obtaining, from the distribution information, a number of stripes using each storage device and a number of idle segments in each of the plurality of storage device;

selecting a group of storage devices from the plurality of storage devices in the storage system in a particular order of the numbers of stripes; and

at least one of: determining, based on the number of idle segments in each of the plurality of storage devices, (i) a storage device with fewest idle segments from the selected group of storage devices as the source storage device and (ii) a storage device with most idle segments from the selected group of storage devices as the destination storage device.

18. The computer program product according to claim 17 , wherein the particular order is a descending order; and

wherein the determining the source storage device and the destination storage device comprises:

determining, based on the number of idle segments in each of the plurality of storage device, the storage device with the fewest idle segments from the selected group of storage devices as the source storage device.

19. The computer program product according to claim 17 , wherein the particular order is an ascending order; and

wherein the determining the source storage device and the destination storage device comprises:

determining, based on the number of idle segments in each of the plurality of storage device, the storage device with the most idle segments from the selected group of storage devices as the destination storage device.

20. A method of managing a storage system, comprising:

in response to determining that a rebalance operation is to be performed, determining a source storage device and a destination storage device associated with the rebalance operation based on distribution information of segments included in stripes of the storage system across a plurality of storage devices in the storage system;

determining a target segment from the source storage device based on access information of segments in the source storage device; and

moving the target segment to the destination storage device;

wherein determining the target segment from the source storage device comprises:

selecting, based on the access information and from the source storage device, a group of segments with a number of access times larger than a predetermined threshold; and

determining the target segment from the group of segments based on access information corresponding to the stripe corresponding to each segment in the group of segments.

Assignments (4)
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 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: XU, TAO; GAO, HONGPO; DONG, JIBING; GONG, SHAOQIN; ZHUO, BAOTE; GAO, JIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048424/0672 →
Priority Claims (1)
CN 2018 1 0049953 · Jan 18, 2018 · national
Continuity (1)
Related Publication 20190220231A1 · Jul 18, 2019