IP Library Granted Patent US 11,301,404
Granted Patent B2
US 11,301,404 · App. 16/781,007 · Granted Apr 12, 2022

Enabling high availability in server SAN enabled storage box

Inventors: Anurag Bhatia (Sugar Hill, GA); Sanjoy Maity (Snellville, GA); Jason Messer (Duluth, GA)
Assignee: AMERICAN MEGATRENDS INTERNATIONAL, LLC
G06F13/28G06F3/0607G06F3/067G06F3/0629G06F8/61G06F9/4408G06F9/5077G06F9/542G06F11/1612G06F11/1662G06F11/3031G06F11/3034G06F13/362G06F13/4221G06F13/4282G06F15/17331H04L41/0213H04L41/32H04L41/5054H04L43/0817H04L43/10H04L67/1097G06F11/2082G06F2213/0026G06F2213/28
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,301,404
App. No.
16/781,007
Granted
Apr 12, 2022
Kind
B2
Abstract

A computer system has a first node including a first baseboard management controller (BMC) and a first host of the first BMC. The first node determines that the first node is an active node. The first node operates a first storage service at the first host. The first host is a first storage device connected to one or more storage drives. The first storage service manages a first Remote Direct Memory Access (RDMA) controller for accessing user data stored on the one or more storage drives. The first node indicates to a second node that the first node is operating normally. The first node syncs data available on the first node with the second node.

Claims (52)

1. A method of operating a computer system, the computer system having a first node including a first baseboard management controller (BMC) and a first host of the first BMC, comprising:

determining, at the first BMC, that the first node is an active node;

operating a first storage service at the first host, the first host being a first storage device connected to one or more storage drives, the first storage service managing a first Remote Direct Memory Access (RDMA) controller for accessing user data stored on the one or more storage drives, wherein the operating the first storage service further comprises: (a) retrieving, at the first RDMA controller, user data from a memory region of the first host and sending the user data to a remote device through the storage network, or, (b) receiving, at the first RDMA controller, user data through the storage network and storing the user data to the memory region of the first host;

indicating to a second node that the first node is operating normally; and

syncing data available on the first node with the second node, wherein the computer system includes the second node, wherein the second node includes a second BMC and a second host, the second host being a second storage device connected to the one or more storage drives and providing a second storage service managing a second RDMA controller for accessing user data stored on the one or more storage drives.

2. The method of claim 1 , further comprising:

determining that the first node has failed; and

sending an activation indication to the second node.

3. The method of claim 2 , further comprising:

determining, at the second BMC, that the second node is the passive node;

in response to receiving the active indication, configuring the second node as the active node and the first node as the passive node; and

operating the second storage service at the second storage device.

4. The method of claim 3 , wherein the operating the second storage service further comprises:

(a) retrieving, at the second RDMA controller, user data from a memory region of the second host and sending the user data to the remote device through the storage network, or, (b) receiving, at the second RDMA controller, user data through the storage network and storing the user data to the memory region of the second host.

5. The method of claim 1 , further comprising:

periodically sending a heartbeat signal from the first node to the second node.

6. A computer system, comprising:

a first node having a first baseboard management controller (BMC), including:

a first memory; and

first at least one processor coupled to the first memory and configured to:

determine, at the first BMC, that the first node is an active node, indicate to a second node that the first node is operating normally, and sync data available on the first node with a second node; and

a first host of the first BMC, including:

a second memory; and

a primary processing unit coupled to the second memory and configured to:

operate a first storage service at the first host, the first host being a first storage device connected to one or more storage drives, the first storage service managing a first Remote Direct Memory Access (RDMA) controller for accessing user data stored on the one or more storage drives, wherein the first RDMA controller is configured to

(a) retrieve user data from a memory region of the first host and send the user data to a remote device through the storage network, or, (b) receive user data through the storage network and store the user data to the memory region of the first host, wherein the computer system includes the second node, wherein the second node includes a second BMC and a second host, the second host being a second storage device connected to the one or more storage drives and providing a second storage service managing a second RDMA controller for accessing user data stored on the one or more storage drives.

7. The computer system of claim 6 , wherein the first at least one processor is further configured to:

determine that the first node has failed; and

send an activation indication to the second node.

8. The computer system of claim 7 , wherein the second BMC is further configured to:

determine, at the second BMC, that the second node is the passive node;

in response to receiving the active indication, configure the second node as the active node and the first node as the passive node; and

operate the second storage service at the second storage device.

9. The computer system of claim 8 , wherein the second RDMA controller is further configured to:

(a) retrieve user data from a memory region of the second host and send the user data to the remote device through the storage network, or, (b) receive user data through the storage network and store the user data to the memory region of the second host.

10. The computer system of claim 6 , wherein the first at least one processor is further configured to:

periodically send a heartbeat signal from the first node to the second node.

11. A non-transitory computer-readable medium storing computer executable code for operating a computer system, the computer system having a first node including a first baseboard management controller (BMC) and a first host of the first BMC, comprising code to:

determine, at the first BMC, that the first node is an active node;

operate a first storage service at the first host, the first host being a first storage device connected to one or more storage drives, the first storage service managing a first Remote Direct Memory Access (RDMA) controller for accessing user data stored on the one or more storage drives, wherein to operate the first storage service, the code is further configured to:

(a) retrieve, at the first RDMA controller, user data from a memory region of the first host and send the user data to a remote device through the storage network, or, (b) receive, at the first RDMA controller, user data through the storage network and store the user data to the memory region of the first host;

indicate to a second node that the first node is operating normally; and

sync data available on the first node with the second node, wherein the computer system includes the second node, wherein the second node includes a second BMC and a second host, the second host being a second storage device connected to the one or more storage drives and providing a second storage service managing a second RDMA controller for accessing user data stored on the one or more storage drives.

12. The non-transitory computer-readable medium of claim 11 , wherein the code is further configured to:

determine that the first node has failed; and

send an activation indication to the second node.

13. The non-transitory computer-readable medium of claim 12 , wherein the code is further configured to:

determine, at the second BMC, that the second node is the passive node;

in response to receiving the active indication, configure the second node as the active node and the first node as the passive node; and

operate the second storage service at the second storage device.

14. The non-transitory computer-readable medium of claim 13 , wherein to operate the second storage service, the code is further configured to:

(a) retrieve, at the second RDMA controller, user data from a memory region of the second host and send the user data to the remote device through the storage network, or, (b) receive, at the second RDMA controller, user data through the storage network and store the user data to the memory region of the second host.

Assignments (4)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0948 →
SECURITY INTEREST Recorded Apr 30, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 067274/0834 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2020
From: BHATIA, ANURAG; MAITY, SANJOY; MESSER, JASON
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 053155/0417 →