IP Library Granted Patent US 11,256,677
Granted Patent B2
US 11,256,677 · App. 16/512,111 · Granted Feb 22, 2022

Method, device, and computer program product for managing storage system

Inventors: Yunhai Gong (Shanghai, CN); Ao Sun (Shanghai, CN); You Chen (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/2272G06F16/2246G06F16/2365G06F16/2379
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,256,677
App. No.
16/512,111
Granted
Feb 22, 2022
Kind
B2
Abstract

Management of a storage system is enabled. In an example, a partition index associated with the partition is obtained, the partition index comprising a group of nodes, a node in the group of nodes indicating metadata of an object in the group of objects. A valid node in the partition index is identified, the valid node indicating valid metadata of an object associated with the valid node in the storage system. A local index for the partition index is generated based on the valid node. In response to receiving an access request for a target object in the group of objects, the target object in the storage system is accessed based on the local index. With the foregoing example implementations, metadata in the storage system may be accessed more efficiently, and the overall response speed of the storage system may be increased.

Claims (71)

1. A method, comprising:

obtaining, by a node device in a storage system and comprising a processor, a partition index associated with a partition, of at least one partition of a storage system, wherein the node device is assigned for management of a group of objects included in the partition, the partition index comprising a group of nodes, a node in the group of nodes indicating metadata of an object in the group of objects;

identifying a valid node in the partition index, the valid node indicating valid metadata of an associated object associated with the valid node in the storage system;

generating a local index for the partition index in a cache of the node device based on the valid node;

in response to detecting that a workload at the node device is higher than a threshold, migrating the local index to a further node device among multiple node devices included in the storage system; and

in response to receiving an access request for a target object in the group of objects, accessing the target object in the storage system based on the local index.

2. The method of claim 1 , wherein the partition index is an append-type tree index, wherein the group of nodes comprise at least one leaf node and at least one non-leaf node, wherein the valid node is a leaf node of the at least one leaf node, and wherein generating the local index based on the valid node comprises:

generating an index entry in the local index based on the at least one non-leaf node;

determining the valid node based on the at least one leaf node; and

generating an object entry in the local index based on a key and a value in the valid node, the key indicating an identifier of the associated object, the value indicating the valid metadata of the associated object.

3. The method of claim 2 , wherein the valid metadata of the associated object comprises a first address of at least one first chunk of the associated object, and wherein the accessing the target object based on the local index comprises:

determining a second address of at least one second chunk of the target object based on the local index; and

accessing the target object in the storage system based on the second address of the at least one second chunk.

4. The method of claim 3 , wherein the generating the object entry comprises generating a first object entry, wherein the generating the index entry comprises generating a first index entry, and wherein the determining the second address of the at least one second chunk of the target object based on the local index comprises:

determining a second object entry associated with the target object based on a second index entry in the local index; and

determining the second address of the at least one second chunk based on the second object entry.

5. The method of claim 1 , further comprising:

in response to the partition index being updated, resulting in an updated partition index, modifying the local index based on the updated partition index.

6. The method of claim 5 , wherein modifying the local index based on the updated partition index comprises:

determining an updated node in the updated partition index; and

updating the local index based on the updated node.

7. The method of claim 1 , wherein the storage system comprises a further partition and a further partition index associated with the further partition, and further comprising:

in response to detecting that the workload at the node device is lower than the threshold, obtaining a further local index for the further partition index from the further node device in the storage system.

8. The method of claim 7 , further comprising:

obtaining the further partition index; and

updating the further local index based on a comparison between the further partition index and the further local index.

9. A node device in a storage system for managing the storage system, the storage system comprising at least one partition, a partition of the at least one partition comprising a group of objects, wherein the node device is assigned to manage the group of objects included in the partition, the node device comprising:

at least one processor; and

a memory coupled to the at least one processor, the memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the node device to perform acts, including:

obtaining a partition index associated with the partition, the partition index comprising a group of nodes, wherein a node in the group of nodes indicates metadata of an object in the group of objects;

identifying a valid node in the partition index, the valid node indicating valid metadata of another object associated with the valid node in the storage system;

generating a local index for the partition index in a cache of the node device based on the valid node;

in response to detecting that a workload at the node device is higher than a first threshold, migrating the local index to a further node device among multiple node devices included in the storage system; and

in response to receiving an access request for a target object in the group of objects, accessing the target object in the storage system based on the local index.

10. The node device of claim 9 , wherein the partition index is an append-type tree index, the group of nodes comprising at least one leaf node and at least one non-leaf node, the valid node being a leaf node of the at least one leaf node, and wherein the generating the local index based on the valid node comprises:

generating an index entry in the local index based on the at least one non-leaf node;

determining the valid node based on the at least one leaf node; and

generating an object entry in the local index based on a key and a value in the valid node, the key indicating an identifier of the other object, the value indicating other metadata of the other object.

11. The node device of claim 10 , wherein the other metadata of the other object comprises an address of at least one chunk of the other object, and the accessing the target object based on the local index comprises:

determining an address of at least one chunk of the target object based on the local index; and

accessing the target object in the storage system based on an address of the at least one chunk.

12. The node device of claim 11 , wherein the determining the address of the at least one chunk of the target object based on the local index comprises:

determining another object entry associated with the target object based on an index entry in the local index; and

determining an address of the at least one chunk based on the other object entry.

13. The node device of claim 9 , the acts further comprising:

in response to the partition index being updated, resulting in an updated partition index, modifying the local index based on the updated partition index.

14. The node device of claim 13 , wherein the modifying the local index based on the updated partition index comprises:

determining an updated node in the updated partition index; and

updating the local index based on the updated node.

15. The node device of claim 9 , wherein the storage system comprises a further partition and a further partition index associated with the further partition, and the acts further comprising:

in response to detecting the workload at the node device is lower than a second threshold, obtaining a further local index for the further partition index from the further node device in the storage system;

obtaining the further partition index; and

updating the further local index based on a comparison between the further partition index and the further local index.

16. A computer program product, stored on a non-transitory computer readable medium and comprising machine executable instructions which are used to implement operations for managing a storage system, the storage system comprising at least one partition, a partition of the at least one partition comprising a group of objects, wherein the operations are performed at a node device in the storage system, the node device having been assigned as a manager of the group of objects included in the partition, the operations comprising:

obtaining a partition index associated with the partition, the partition index comprising a group of nodes, a node in the group of nodes indicating metadata of an object in the group of objects;

identifying a valid node in the partition index, the valid node indicating valid metadata of an object associated with the valid node in the storage system;

generating a local index for the partition index in a cache of the node device based on the valid node;

in response to detecting that a workload at the node device is higher than a threshold, migrating the local index to a further node device among multiple node devices included in the storage system; and

in response to receiving an access request for a target object in the group of objects, accessing the target object in the storage system based on the local index.

17. The computer program product of claim 16 , wherein the partition index is an append-type tree index, wherein the group of nodes comprise at least one leaf node and at least one non-leaf node, wherein the valid node is a leaf node of the at least one leaf node, and wherein the generating the local index based on the valid node comprises:

generating an index entry in the local index based on the at least one non-leaf node;

determining the valid node based on the at least one leaf node; and

generating an object entry in the local index based on a key and a value in the valid node, the key indicating an identifier of the associated object, the value indicating the valid metadata of the associated object.

18. The computer program product of claim 17 , wherein the valid metadata of the associated object comprises a first address of at least one first chunk of the associated object, and wherein the accessing the target object based on the local index comprises:

determining a second address of at least one second chunk of the target object based on the local index; and

accessing the target object in the storage system based on the second address of the at least one second chunk.

19. The computer program product of claim 16 , further comprising:

in response to the partition index being updated, resulting in an updated partition index, modifying the local index based on the updated partition index.

20. The computer program product of claim 19 , wherein the modifying the local index based on the updated partition index comprises:

determining an updated node in the updated partition index; and

updating the local index based on the updated node.

Assignments (9)
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 IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
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
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2019
From: GONG, YUNHAI; SUN, AO; CHEN, YOU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049756/0573 →
Priority Claims (1)
CN 201910338507.0 · Apr 25, 2019 · national
Continuity (1)
Related Publication 20200341961A1 · Oct 29, 2020