IP Library › Granted Patent US 12,153,828
Granted Patent B2
US 12,153,828 · App. 17/645,326 · Granted Nov 26, 2024

Dual-controller storage systems

Inventors: Guobao Feng (Hangzhou, CN); Qiliang Wei (Hangzhou, CN); Honghao Yu (Hangzhou, CN)
Assignee: ZHEJIANG DAHUA TECHNOLOGY CO., LTD.
G06F3/0658G06F3/0611G06F3/0619G06F3/0659G06F3/067G06F3/0689
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 12,153,828
App. No.
17/645,326
Granted
Nov 26, 2024
Kind
B2
Abstract

Dual-controller storage systems and methods for controlling the dual-controller storage systems are provided. The dual-controller storage system may include a first controller, a second controller, at least one expander, a first storage array, and a second storage array. The at least one expander may be connected with the first controller, the second controller, the first storage array, and the second storage array. The first controller and the second controller may be communicatively connected via a network. When the first controller and the second controller both work in a normal state, the first controller may be configured to control the first storage array, and the second controller may be configured to control the second storage array. The first controller and the second controller may work in synchronization.

Claims (83)

1. A dual-controller storage system, comprising a first controller, a second controller, at least one expander, a first storage array, and a second storage array, wherein

the at least one expander is connected with the first controller, the second controller, the first storage array, and the second storage array,

the first controller and the second controller are communicatively connected via a network, and

when the first controller and the second controller both work in a normal state,

the first controller is configured to control the first storage array;

the second controller is configured to control the second storage array; and

the first controller and the second controller work in synchronization;

wherein the at least one expander includes a first expander and a second expander, wherein

the first expander and the second expander are physically independent;

the first controller is connected with the first expander via a first port;

the first controller is connected with the second expander via a second port;

the second controller is connected with the second expander via a third port;

the second controller is connected with the first expander via a fourth port;

the first expander is connected with the first storage array; and

the second expander is connected with the second storage array; and

wherein when the second controller is in the normal state,

 the first port and the third port are enabled; and

 the second port and the fourth port are disabled.

2. The system of claim 1 , wherein the first controller is configured to: send a heartbeat message to the second controller at first predetermined time intervals; and determine, based on feedbacks of the heartbeat message, whether the second controller is in a normal state or an abnormal state.

3. The system of claim 2 , wherein in response to the determination that the second controller is in the normal state,

the first controller is configured to

determine whether configuration data of the first storage array are synchronized in the second controller;

in response to a determination that the configuration data of the first storage array are not synchronized, send the configuration data to the second controller.

4. The system of claim 1 , wherein in response to a determination that the second controller is in the abnormal state, the first controller is configured to:

enable the second port; and

process one or more tasks of the second controller by controlling the second expander via the second port.

5. The system of claim 4 , wherein in response to a determination that the second controller is in the abnormal state,

the first controller is further configured to:

send a heartbeat message to the second controller at second predetermined time intervals; and

determine whether the second controller has returned to the normal state based on the heartbeat message; and

in response to a determination that the second controller has returned to the normal state, disable the second port and stop processing the one or more tasks of the second controller; and

the second controller is configured to control the second expander via the third port.

6. A method for controlling a dual-controller storage system, implemented on a computing device including at least one processor and at least one storage medium, the method comprising:

sending, by a first controller, a heartbeat message to a second controller at first predetermined time intervals;

determining, by the processor and based on the heartbeat message, whether the second controller is in a normal state or an abnormal state; and

in response to a determination that the second controller is in the normal state,

causing the first controller to control a first storage array; and

causing the second controller to control a second storage array, wherein

at least one expander is connected with the first controller, the second controller, the first storage array, and the second storage array; and

the first controller and the second controller work in synchronization;

wherein the at least one expander includes a first expander and a second expander, wherein

the first expander and the second expander are physically independent;

the first controller is connected with the first expander via a first port;

the first controller is connected with the second expander via a second port;

the second controller is connected with the second expander via a third port;

the second controller is connected with the first expander via a fourth port;

the first expander is connected with the first storage array; and

the second expander is connected with the second storage array; and

wherein when the second controller is in the normal state,

 the first port and the third port are enabled; and

 the second port and the fourth port are disabled.

7. The method of claim 6 , wherein in response to the determination that the second controller is in the normal state, the method further comprises:

determining whether configuration data of the first storage array are synchronized in the second controller;

in response to a determination that the configuration data of the first storage array are not synchronized, causing the first controller to send the configuration data to the second controller.

8. The method of claim 6 , wherein in response to a determination that the second controller is in the abnormal state, the method further comprises:

enabling the second port; and

causing the first controller to process one or more tasks of the second controller by controlling the second expander via the second port.

9. The method of claim 8 , wherein in response to a determination that the second controller is in the abnormal state, the method further comprises:

causing the first controller to send a heartbeat message to the second controller at second predetermined time intervals; and

determining whether the second controller has returned to the normal state based on feedbacks of the heartbeat message; and

in response to a determination that the second controller has returned to the normal state,

disabling the second port;

causing the first controller to stop processing the one or more tasks of the second controller; and

causing the second controller to control the second expander via the third port.

10. A non-transitory computer readable medium, comprising a set of instructions for controlling a dual-controller storage system, wherein when executed by at least one processor, the set of instructions direct the at least one processor to effectuate a method, the method comprising:

sending, by a first controller, a heartbeat message to a second controller at first predetermined time intervals;

determining, by the processor and based on the heartbeat message, whether the second controller is in a normal state or an abnormal state; and

in response to a determination that the second controller is in the normal state,

causing the first controller to control a first storage array; and

causing the second controller to control a second storage array, wherein

at least one expander is connected with the first controller, the second controller, the first storage array, and the second storage array; and

the first controller and the second controller work in synchronization;

wherein the at least one expander includes a first expander and a second expander, wherein

the first expander and the second expander are physically independent;

the first controller is connected with the first expander via a first port;

the first controller is connected with the second expander via a second port;

the second controller is connected with the second expander via a third port;

the second controller is connected with the first expander via a fourth port;

the first expander is connected with the first storage array; and

the second expander is connected with the second storage array; and

wherein when the second controller is in the normal state,

 the first port and the third port are enabled; and

 the second port and the fourth port are disabled.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2022
From: FENG, GUOBAO; WEI, QILIANG; YU, HONGHAO
To: ZHEJIANG DAHUA TECHNOLOGY CO., LTD.
Reel/Frame 060010/0282 →
Priority Claims (1)
CN 201910551512.X · Jun 24, 2019 · national
Continuity (2)
Continuation PCTCN2019127446 · Dec 23, 2019
Related Publication 20220147269A1 · May 12, 2022