IP Library Granted Patent US 11,494,099
Granted Patent B2
US 11,494,099 · App. 17/313,170 · Granted Nov 8, 2022

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

Inventors: Xiongcheng Li (Beijing, CN); Xinlei Xu (Beijing, CN); Changyu Feng (Beijing, CN); Sihang Xia (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0634G06F3/0604G06F3/0689G06F11/1658G06F11/1662G06F11/2069G06F11/2092G06F12/0868
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,494,099
App. No.
17/313,170
Granted
Nov 8, 2022
Kind
B2
Abstract

The present disclosure relates to a method, a device, and a computer program product for managing a storage system. The storage system includes a first control node, a second control node, and a persistent storage device, the first control node being in an activated state, and the second control node being in a state of transfer from a non-activated state to an activated state. A method includes: loading a first list of page descriptors of the storage system to the second control node to generate a second list of page descriptors at the second control node, the first list including a portion of multiple page descriptors of the storage system that has been modified but has not been flushed to the persistent storage device; receiving a synchronization message from the first control node that indicates that the first list has been modified by the first control node; and updating the second list at the second control node based on the synchronization message. Further, a corresponding device and a corresponding program product are provided. With the example implementations of the present disclosure, the start performance of the control nodes in the storage system can be improved.

Claims (52)

1. A method for managing a storage system that includes a first control node, a second control node, and a persistent storage device, the first control node being in an activated state, and the second control node being in a state of transfer from a non-activated state to the activated state, the method comprising:

loading a first list of page descriptors of the storage system to the second control node to generate a second list of page descriptors at the second control node, the first list including a portion of multiple page descriptors of the storage system that has been modified but has not been flushed to the persistent storage device;

receiving a synchronization message from the first control node that indicates that the first list has been modified by the first control node; and

updating the second list at the second control node based on the synchronization message;

wherein generating the second list includes at least any one of the following:

in response to determining that an available bandwidth between the first control node and the second control node is above a predetermined threshold, loading the first list from the first control node to generate the second list; and

in response to determining that the available bandwidth between the first control node and the second control node is below the predetermined threshold, loading the first list from a cache device in the storage system for caching the multiple page descriptors to generate the second list.

2. The method according to claim 1 , wherein updating the second list includes: in response to determining that the update message indicates that a target page descriptor among the multiple page descriptors of the storage system is added to the first list, adding the target page descriptor to the second list.

3. The method according to claim 2 , wherein the page descriptors in the second list are arranged in a chronological order, and adding the target page descriptor to the second list includes: adding the target page descriptor to a first end of the second list.

4. The method according to claim 1 , wherein updating the second list based on the synchronization message includes: in response to determining that the update message indicates that a target page descriptor in the first list is flushed to the persistent storage system, removing the target page descriptor from the second list.

5. The method according to claim 4 , wherein the page descriptors in the second list are arranged in a chronological order, and removing the target page descriptor from the second list includes: removing the target page descriptor from a second end of the second list.

6. The method according to claim 1 , wherein loading the first list from the first control node includes:

determining two ends of the first list; and

loading page descriptors between the two ends from the first control node to the second control node.

7. The method according to claim 1 , wherein the page descriptors include at least any one of a metadata page descriptor and a user data page descriptor of the storage system, and the method further includes:

locking the second control node before loading the first list to the second control node; and

unlocking the second control node in response to determining that the second list has been updated.

8. The method according to claim 1 , further including: in response to determining that the second list has been updated, setting the second control node to an activated state.

9. The method according to claim 1 , wherein the method is performed at the second control node, and the method further includes: in response to determining that the second list has been updated, creating an index for each page descriptor in the second list.

10. The method according to claim 1 , further including:

serving, from the first control node and the second control node in parallel, write requests that write data to the persistent storage device and read requests that read data from the persistent storage device.

11. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor, wherein the memory has instructions stored therein that, when executed by the at least one processor, cause the device to perform actions for managing a storage system that includes a first control node, a second control node, and a persistent storage device, the first control node being in an activated state, and the second control node being in a state of transfer from a non-activated state to the activated state, wherein the actions include:

loading a first list of page descriptors of the storage system to the second control node to generate a second list of page descriptors at the second control node, the first list including a portion of multiple page descriptors of the storage system that has been modified but has not been flushed to the persistent storage device;

receiving a synchronization message from the first control node that indicates that the first list has been modified by the first control node; and

updating the second list at the second control node based on the synchronization message;

wherein generating the second list includes at least any one of the following:

in response to determining that an available bandwidth between the first control node and the second control node is above a predetermined threshold, loading the first list from the first control node to generate the second list; and

in response to determining that the available bandwidth between the first control node and the second control node is below the predetermined threshold, loading the first list from a cache device in the storage system for caching the multiple page descriptors to generate the second list.

12. The device according to claim 11 , wherein updating the second list includes: in response to determining that the update message indicates that a target page descriptor among the multiple page descriptors of the storage system is added to the first list, adding the target page descriptor to the second list.

13. The device according to claim 12 , wherein the page descriptors in the second list are arranged in a chronological order, and adding the target page descriptor to the second list includes: adding the target page descriptor to a first end of the second list.

14. The device according to claim 11 , wherein updating the second list based on the synchronization message includes: in response to determining that the update message indicates that a target page descriptor in the first list is flushed to the persistent storage system, removing the target page descriptor from the second list.

15. The device according to claim 14 , wherein the page descriptors in the second list are arranged in a chronological order, and removing the target page descriptor from the second list includes: removing the target page descriptor from a second end of the second list.

16. The device according to claim 11 , wherein loading the first list from the first control node includes:

determining two ends of the first list; and

loading page descriptors between the two ends from the first control node to the second control node.

17. The device according to claim 11 , wherein the page descriptors include at least any one of a metadata page descriptor and a user data page descriptor of the storage system, and the actions further include:

locking the second control node before loading the first list to the second control node; and

unlocking the second control node in response to determining that the second list has been updated.

18. The device according to claim 11 , wherein the actions are performed at the second control node, and the actions further include at least any one of the following:

in response to determining that the second list has been updated, setting the second control node to an activated state; and

in response to determining that the second list has been updated, creating an index for each page descriptor in the second list.

19. The device according to claim 11 , wherein the actions further include:

serving, from the first control node and the second control node in parallel, write requests that write data to the persistent storage device and read requests that read data from the persistent storage device.

20. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage a storage system that includes a first control node, a second control node, and a persistent storage device, the first control node being in an activated state, and the second control node being in a state of transfer from a non-activated state to the activated state; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

loading a first list of page descriptors of the storage system to the second control node to generate a second list of page descriptors at the second control node, the first list including a portion of multiple page descriptors of the storage system that has been modified but has not been flushed to the persistent storage device;

receiving a synchronization message from the first control node that indicates that the first list has been modified by the first control node; and

updating the second list at the second control node based on the synchronization message;

wherein generating the second list includes at least any one of the following:

in response to determining that an available bandwidth between the first control node and the second control node is above a predetermined threshold, loading the first list from the first control node to generate the second list; and

in response to determining that the available bandwidth between the first control node and the second control node is below the predetermined threshold, loading the first list from a cache device in the storage system for caching the multiple page descriptors to generate the second list.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
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 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2021
From: LI, XIONGCHENG; XU, XINLEI; FENG, CHANGYU; XIA, SIHANG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056341/0390 →
Priority Claims (1)
CN 202110012115.2 · Jan 6, 2021 · national
Continuity (1)
Related Publication 20220214822A1 · Jul 7, 2022