IP Library Granted Patent US 11,188,462
Granted Patent B2
US 11,188,462 · App. 16/805,533 · Granted Nov 30, 2021

Method, device, and computer program product for managing address mapping in storage system

Inventors: Frank Yifan Huang (Shanghai, CN); Chaoqian Cai (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F12/063G06F2212/206
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,188,462
App. No.
16/805,533
Granted
Nov 30, 2021
Kind
B2
Abstract

The present disclosure relates to a method, device and computer program product for managing an address mapping of a storage system. A group of data objects in the storage system are mapped to a group of buckets in the address mapping, the group of buckets being divided into a first group of active shards which are associated with a group of storage devices in the storage system, respectively. In the method, a first write request for writing a first data object to the storage system is received. The address mapping is updated so as to map the first data object to a first bucket in the group of buckets. The storage system is instructed to store the first data object to a first storage device in the group of storage devices, and the first storage device is associated with a first active shard to which the first bucket belongs. The storage system is managed based on the updated address mapping. With the above example implementation, the address mapping in the storage system may be managed with higher efficiency, and further the overall response speed of the storage system may be improved. There is also provided a corresponding device and computer program product.

Claims (72)

1. A method for managing an address mapping of a storage system, a group of data objects in the storage system being mapped to a group of buckets in the address mapping, the group of buckets being divided into a first group of active shards that are associated with a group of storage devices in the storage system, respectively, the method comprising:

receiving a first write request for writing a first data object to the storage system;

adjusting a shard count of active shards in the first group of active shards based on an access load of the storage system and a load threshold condition of the storage system, wherein the load threshold condition comprises an upper threshold, and the adjusting the shard count of active shards in the first group of active shards comprises increasing the shard count in response to determining that the access load of the storage system is higher than a lower threshold less than the upper threshold;

updating the address mapping so as to map the first data object to a first bucket in the group of buckets, resulting in an updated address mapping;

instructing the storage system to store the first data object to a first storage device in the group of storage devices, the first storage device being associated with a first active shard to which the first bucket belongs; and

managing the storage system based on the updated address mapping.

2. The method of claim 1 , wherein the managing the storage system based on the updated address mapping comprises: in response to determining a state of the storage system meeting a predetermined regeneration condition,

identifying the first group of active shards as a first group of inactive shards; and

dividing the group of buckets into a second group of active shards.

3. The method of claim 2 , wherein the predetermined regeneration condition comprises a threshold count of data objects associated with a shard, and the method further comprises:

regarding a given active shard in the first group of active shards, determining an object count of data objects associated with the given active shard; and

dividing the group of buckets into the second group of active shards in response to determining the object count is higher than the threshold count.

4. The method of claim 1 , wherein the load threshold condition comprises the lower threshold, and the adjusting the shard count of active shards in the first group of active shards comprises:

decreasing the shard count in response to determining the access load of the storage system is lower than the lower threshold.

5. The method of claim 1 , wherein the managing the storage system based on the updated address mapping comprises:

determining data distribution of a plurality of data objects in the first group of active shards; and

merging successive active shards in the first group of active shards based on the data distribution.

6. The method of claim 2 , wherein the managing the storage system based on the updated address mapping comprises:

receiving a second write request for writing a second data object to the storage system;

updating the address mapping so as to map the second data object to a second bucket in the group of buckets; and

instructing the storage system to store the second data object to a second storage device in the group of storage devices, the second storage device being associated with a second active shard to which the second bucket belongs.

7. The method of claim 1 , wherein the managing the storage system based on the updated address mapping comprises:

determining a first generation identifier and a first shard identifier of the first active shard associated with the first data object based on the group of active shards; and

adding to the address mapping a first association between the first data object and the first active shard, the first active shard being represented using the first generation identifier and the first shard identifier.

8. The method of claim 7 , wherein the managing the storage system based on the updated address mapping comprises:

receiving a read request for reading a target data object from the storage system;

determining a target shard associated with the target data object based on associations included in the address mapping; and

reading the target data object from the storage system based on the target shard.

9. A device for managing an address mapping of a storage system, a group of data objects in the storage system being mapped to a group of buckets in the address mapping, the group of buckets being divided into a first group of active shards which are associated with a group of storage devices in the storage system, respectively, the device 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 device to perform acts comprising:

receiving a first write request for writing a first data object to the storage system;

adjusting a shard count of active shards in the first group of active shards based on an access load of the storage system and a load threshold condition of the storage system, wherein the load threshold condition comprises an upper threshold, and the adjusting the shard count of active shards in the first group of active shards comprises increasing the shard count in response to determining that the access load of the storage system is higher than a lower threshold;

updating the address mapping so as to map the first data object to a first bucket in the group of buckets, resulting in an updated address mapping;

instructing the storage system to store the first data object to a first storage device in the group of storage devices, the first storage device being associated with a first active shard to which the first bucket belongs; and

managing the storage system based on the updated address mapping.

10. The device of claim 9 , wherein the managing the storage system based on the updated address mapping comprises: in response to determining a state of the storage system meeting a predetermined regeneration condition,

identifying the first group of active shards as a first group of inactive shards; and

dividing the group of buckets into a second group of active shards.

11. The device of claim 10 , wherein the predetermined regeneration condition comprises a threshold count of data objects associated with a shard, and the acts further comprise:

regarding a given active shard in the first group of active shards, determining an object count of data objects associated with the given active shard; and

dividing the group of buckets into a second group of active shards in response to determining the object count is higher than the threshold count.

12. The device of claim 9 , wherein the load threshold condition comprises the lower threshold, and the adjusting the shard count of active shards in the first group of active shards comprises:

decreasing the shard count in response to determining the access load of the storage system is lower than the lower threshold.

13. The device of claim 9 , wherein the managing the storage system based on the updated address mapping comprises:

determining a data distribution of a plurality of data objects in the first group of active shards; and

merging successive active shards in the first group of active shards based on the data distribution.

14. The device of claim 10 , wherein the managing the storage system based on the updated address mapping comprises:

receiving a second write request for writing a second data object to the storage system;

updating the address mapping so as to map the second data object to a second bucket in the group of buckets; and

instructing the storage system to store the second data object to a second storage device in the group of storage devices, the second storage device being associated with a second active shard to which the second bucket belongs.

15. The device of claim 9 , wherein the managing the storage system based on the updated address mapping comprises:

determining a first generation identifier and a first shard identifier of the first active shard associated with the first data object based on the group of active shards; and

adding to the address mapping a first association between the first data object and the first active shard, the first active shard being represented using the first generation identifier and the first shard identifier.

16. A computer program product, tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions, which are used to perform operations to manage an address mapping of a storage system, wherein a group of data objects in the storage system are mapped to a group of buckets in the address mapping, and wherein the group of buckets are divided into a first group of active shards that are associated with a group of storage devices in the storage system, respectively, the operations comprising:

receiving a first write request for writing a data object to the storage system;

adjusting a shard count of active shards in the first group of active shards based on an access load of the storage system and a load threshold condition of the storage system, wherein the load threshold condition comprises an upper threshold, and the adjusting the shard count of active shards in the first group of active shards comprises increasing the shard count in response to determining that the access load of the storage system is higher than a lower threshold;

updating the address mapping so as to map the data object to a bucket in the group of buckets, resulting in an updated address mapping;

instructing the storage system to store the data object to a storage device in the group of storage devices, the storage device being associated with an active shard to which the bucket belongs; and

managing the storage system based on the updated address mapping.

17. The computer program product of claim 16 , wherein the managing the storage system based on the updated address mapping comprises: in response to determining a state of the storage system meeting a predetermined regeneration condition,

identifying the first group of active shards as a first group of inactive shards; and

dividing the group of buckets into a second group of active shards.

18. The computer program product of claim 17 , wherein the predetermined regeneration condition comprises a threshold count of data objects associated with a shard, and the acts further comprise:

regarding a given active shard in the first group of active shards, determining an object count of data objects associated with the given active shard; and

dividing the group of buckets into a second group of active shards in response to determining the object count is higher than the threshold count.

19. The computer program product of claim 16 , wherein the load threshold condition comprises the lower threshold, and the adjusting the shard count of active shards in the first group of active shards comprises:

decreasing the shard count in response to determining the access load of the storage system is lower than the lower threshold.

20. The computer program product of claim 16 , wherein the managing the storage system based on the updated address mapping comprises:

determining a data distribution of a plurality of data objects in the first group of active shards; and

merging successive active shards in the first group of active shards based on the data distribution.

Assignments (13)
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 (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 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 (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 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 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 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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2020
From: HUANG, FRANK YIFAN; CAI, CHAOQIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051968/0382 →