IP Library Granted Patent US 11,119,703
Granted Patent B2
US 11,119,703 · App. 16/878,957 · Granted Sep 14, 2021

Utilizing a set of virtual storage units distributed across physical storage units

Inventors: Jian Gao (Beijing, CN); Geng Han (Beijing, CN); Xinlei Xu (Beijing, CN); Jianbin Kang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0665G06F3/0607G06F3/0647G06F3/0683G06F11/1092
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,119,703
App. No.
16/878,957
Granted
Sep 14, 2021
Kind
B2
Abstract

Techniques involve: in response to receiving an access request for a logical address, determining a first virtual storage unit and a first offset within the first virtual storage unit corresponding to the logical address; determining a first set of virtual storage units to which the first virtual storage unit belongs and a position of the first virtual storage unit, determining, from the plurality of physical storage units corresponding to the first set of virtual storage units and based on the position and the first offset, a physical storage unit and a second offset within the physical storage unit corresponding to the logical address; and performing, based on an identifier of the physical storage unit and the second offset, a data access operation requested by the access request. Accordingly, I/O loads on a plurality of disks can be balanced, thereby improving overall performance of a storage system.

Claims (70)

1. A method of storage management, comprising:

in response to receiving an access request for a logical storage address, determining a first virtual storage unit and a first address offset within the first virtual storage unit corresponding to the logical storage address;

determining a first set of virtual storage units to which the first virtual storage unit belongs and a position of the first virtual storage unit in the first set of virtual storage units,

the first set of virtual storage units being mapped to a plurality of physical storage units evenly distributed across a first group of disks and comprising a plurality of virtual storage units, and data in the plurality of virtual storage units being distributed across the plurality of physical storage units in a round-robin manner;

determining, from the plurality of physical storage units corresponding to the first set of virtual storage units and based on the position and the first address offset, a physical storage unit and a second address offset within the physical storage unit corresponding to the logical storage address; and

performing, based on an identifier of the physical storage unit and the second address offset, a data access operation requested by the access request.

2. The method of claim 1 , wherein each of the first group of disks is divided into a plurality of disk slices and one of the plurality of physical storage units comprises at least two disk slices from different disks of the first group of disks.

3. The method of claim 1 , further comprising:

determining whether to allocate a new virtual storage unit;

in response to determining to allocate the new virtual storage unit, determining whether the new virtual storage unit is able to be allocated from the first set of virtual storage units; and

in response to determining that the new virtual storage unit is able to be allocated from the first set of virtual storage units, allocating the new virtual storage unit from the first set of virtual storage units.

4. The method of claim 3 , further comprising:

in response to determining that the new virtual storage unit is unable to be allocated from the first set of virtual storage units, creating a second set of virtual storage units; and

allocating the new virtual storage unit from the second set of virtual storage units.

5. The method of claim 1 , further comprising:

in response to a new disk being added to the first group of disks, transferring data in at least a part of the plurality of physical storage units to the new disk, such that the plurality of physical storage units are evenly distributed across the first group of disks comprising the new disk.

6. The method of claim 1 , further comprising:

in response to a failure of at least one of the first set of disks, determining, from the plurality of physical storage units, at least one physical storage unit associated with the at least one disk of the first set of disks;

determining a range of logical storage addresses corresponding to the at least one physical storage unit;

disabling data access operations directed to the range of the logical storage addresses;

rebuilding data in the at least one disk of the first set of disks into a spare disk; and

in response to completion of the rebuilding of the data, enabling data access operations directed to the range of the logical storage addresses.

7. The method of claim 1 , further comprising:

determining popularity of a second virtual storage unit of the first set of virtual storage units accessed; and

in response to the popularity exceeding a threshold, migrating the second virtual storage unit from the first set of virtual storage units to a second set of virtual storage units,

wherein the second set of virtual storage units is mapped to a plurality of physical storage units evenly distributed across a second group of disks, and performance of the second group of disks exceeds performance of the first group of disks.

8. The method of claim 1 , further comprising:

determining popularity of a second virtual storage unit of the first set of virtual storage units accessed; and

in response to the popularity being below a threshold, migrating the second virtual storage unit from the first set of virtual storage units to a third set of virtual storage units,

wherein the third set of virtual storage units is mapped to a plurality of physical storage units evenly distributed across a third group of disks, and performance of the first group of disks exceeds performance of the third group of disks.

9. The method of claim 1 , wherein the data access operation comprises any one of a read operation and a write operation.

10. 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, the instructions, when executed by the at least one processing unit, causing the device to perform acts comprising:

in response to receiving an access request for a logical storage address, determining a first virtual storage unit and a first address offset within the first virtual storage unit corresponding to the logical storage address;

determining a first set of virtual storage units to which the first virtual storage unit belongs and a position of the first virtual storage unit in the first set of virtual storage units,

the first set of virtual storage units being mapped to a plurality of physical storage units evenly distributed across a first group of disks and comprising a plurality of virtual storage units, and data in the plurality of virtual storage units being distributed across the plurality of physical storage units in a round-robin manner;

determining, from the plurality of physical storage units corresponding to the first set of virtual storage units and based on the position and the first address offset, a physical storage unit and a second address offset within the physical storage unit corresponding to the logical storage address; and

performing, based on an identifier of the physical storage unit and the second address offset, a data access operation requested by the access request.

11. The device of claim 10 , wherein each of the first group of disks is divided into a plurality of disk slices and one of the plurality of physical storage units comprises at least two disk slices from different disks of the first group of disks.

12. The device of claim 10 , wherein the acts further comprises:

determining whether to allocate a new virtual storage unit;

in response to determining to allocate the new virtual storage unit, determining whether the new virtual storage unit is able to be allocated from the first set of virtual storage units; and

in response to determining that the new virtual storage unit is able to be allocated from the first set of virtual storage units, allocating the new virtual storage unit from the first set of virtual storage units.

13. The device of claim 12 , wherein the acts further comprise:

in response to determining that the new virtual storage unit is unable to be allocated from the first set of virtual storage units, creating a second set of virtual storage units; and

allocating the new virtual storage unit from the second set of virtual storage units.

14. The device of claim 10 , wherein the acts further comprise:

in response to a new disk being added to the first group of disks, transferring data in at least a part of the plurality of physical storage units to the new disk, such that the plurality of physical storage units are evenly distributed across the first group of disks comprising the new disk.

15. The device of claim 10 , wherein the acts further comprise:

in response to a failure of at least one of the first set of disks, determining, from the plurality of physical storage units, at least one physical storage unit associated with the at least one disk;

determining a range of logical storage addresses corresponding to the at least one physical storage unit;

disabling data access operations directed to the range of the logical storage addresses;

rebuilding data in the at least one disk into a spare disk; and

in response to completion of the rebuilding of the data, enabling data access operations directed to the range of the logical storage addresses.

16. The device of claim 10 , wherein the acts further comprise:

determining popularity of a second virtual storage unit of the first set of virtual storage units accessed; and

in response to the popularity exceeding a threshold, migrating the second virtual storage unit from the first set of virtual storage units to a second set of virtual storage units,

wherein the second set of virtual storage units is mapped to a plurality of physical storage units evenly distributed across a second group of disks, and performance of the second group of disks exceeds performance of the first group of disks.

17. The device of claim 10 , wherein the acts further comprise:

determining popularity of a second virtual storage unit of the first set of virtual storage units accessed; and

in response to the popularity being below a threshold, migrating the second virtual storage unit from the first set of virtual storage units to a third set of virtual storage units,

wherein the third set of virtual storage units is mapped to a plurality of physical storage units evenly distributed across a third group of disks, and performance of the first group of disks exceeds performance of the third group of disks.

18. The device of claim 10 , wherein the data access operation comprises any one of a read operation and a write operation.

19. 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 receiving an access request for a logical storage address, determining a first virtual storage unit and a first address offset within the first virtual storage unit corresponding to the logical storage address;

determining a first set of virtual storage units to which the first virtual storage unit belongs and a position of the first virtual storage unit in the first set of virtual storage units,

the first set of virtual storage units being mapped to a plurality of physical storage units evenly distributed across a first group of disks and comprising a plurality of virtual storage units, and data in the plurality of virtual storage units being distributed across the plurality of physical storage units in a round-robin manner;

determining, from the plurality of physical storage units corresponding to the first set of virtual storage units and based on the position and the first address offset, a physical storage unit and a second address offset within the physical storage unit corresponding to the logical storage address; and

performing, based on an identifier of the physical storage unit and the second address offset, a data access operation requested by the access request.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2020
From: GAO, JIAN; HAN, GENG; XU, XINLEI; KANG, JIANBIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053283/0645 →
Priority Claims (1)
CN 201911039303.3 · Oct 29, 2019 · national
Continuity (1)
Related Publication 20210124533A1 · Apr 29, 2021