IP Library Granted Patent US 11,449,455
Granted Patent B2
US 11,449,455 · App. 16/743,833 · Granted Sep 20, 2022

Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility

Inventor: Shu Li (Bothell, WA)
Assignee: Alibaba Group Holding Limited
G06F13/4221G06F9/3877G06F11/3034G06F11/3058G06F13/1642G06F13/225H04L67/1097
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,449,455
App. No.
16/743,833
Granted
Sep 20, 2022
Kind
B2
Abstract

During operation, the system receives, by a master node, a first I/O request with associated data, wherein the master node is in communication with a first plurality of storage drives via a switch based on a network protocol, wherein the master node and the first plurality of storage drives are allowed to reside in different cabinets, and wherein a respective collection of storage drives are coupled to a converter module, which is configured to convert data between the network protocol and an I/O protocol used to access the storage drives. The system identifies, by the master node, a first collection of storage drives from the first plurality on which to execute the first I/O request. The system executes, based on a communication via the switch and a converter module associated with the first collection of storage drives, the first I/O request on the first collection of storage drives.

Claims (112)

1. A computer-implemented method, comprising:

receiving, by a master node, a first I/O request with associated data,

wherein the master node is in communication with a first plurality of storage drives via a switch based on a network protocol,

wherein the master node and the first plurality of storage drives are allowed to reside in different cabinets,

wherein a respective collection of storage drives are coupled to a converter module, which is configured to convert data between the network protocol and an I/O protocol used to access the storage drives, and

wherein the first I/O request is associated with a first application;

identifying, by the master node, a first collection of storage drives from the first plurality of storage drives on which to execute the first I/O request;

creating a first association between the master node and the first plurality of storage drives;

executing, based on a communication via the switch and a converter module associated with the first collection of storage drives, the first I/O request on the first collection of storage drives;

receiving a second I/O request associated with a second application, wherein the first application and the second application have different resource requirements;

detecting a condition to dynamically associate the master node with a second plurality of storage drives;

removing the first association between the master node and the first plurality of storage drives; and

creating a second association between the master node and the second plurality of storage drives.

2. The method of claim 1 , wherein detecting the condition is based on one or more of:

a difference in capacity and input/output per second (IOPS) requirements between the first application and the second application;

a first predetermined threshold for dynamically associating the master node with the second or a third plurality of storage drives;

a second predetermined threshold for removing or creating an association between the master node and another plurality of storage drives;

an amount of power budgeted to the different cabinets and other cabinets;

an average amount of a number of IOPS per Gigabyte; and

a design of a respective storage drive of the first or the second plurality of storage drives.

3. The method of claim 1 , wherein the resource requirements include one or more of a capacity requirement and an input/output per second (IOPS) requirement.

4. The method of claim 1 ,

wherein the network protocol is an Ethernet protocol, and

wherein the I/O protocol is a Peripheral Component Interconnect Express (PCIe) protocol.

5. The method of claim 1 ,

wherein the converter module includes an adaptor and a controller coupled to at least one expander,

wherein the adaptor comprises:

a first integrated circuit configured, based on the network protocol, to process data received from or sent to the switch; and

a second integrated circuit configured, based on the I/O protocol, to process data sent to or received from the storage drives via the controller and the at least one expander or directly via a lane.

6. The method of claim 5 ,

wherein when the second integrated circuit processes data sent to or received from the storage drives via the controller and the at least one expander:

the controller is a Serial Attached SCSI (SAS) controller,

the expander is an SAS expander, and

the storage drives are hard disk drives or solid state drives; and

wherein when the second integrated circuit processes data sent to or received from the storage drives directly via the lane:

the lane is a Peripheral Component Interconnect Express (PCIe) lane; and

the storage drives are solid state drives or optane drives.

7. The method of claim 5 , wherein the adaptor further comprises:

a data path processor;

a control path processor;

a network offload engine;

a PCIe root complex; and

an internal memory.

8. The method of claim 1 ,

wherein the master node, at least one other master node, the switch, at least one other switch, the first plurality of storage drives, and the second plurality of storage drives comprise an object storage system.

9. The method of claim 1 , wherein the storage drives are one or more of:

a solid state drive;

a hard disk drive;

a optane drive; and

a storage device with a persistent memory which can be accessed via an SAS expander or a PCIe lane.

10. A computer system, comprising:

a switch;

a master node; and

a first plurality of storage drives;

wherein the master node is in communication with the first plurality of storage drives via the switch based on a network protocol,

wherein the master node and the first plurality of storage drives are allowed to reside in different cabinets,

wherein a respective collection of storage drives are coupled to a converter module, which is configured to convert data between the network protocol and an I/O protocol used to access the storage drives, and

wherein the master node comprises a processor and a memory coupled to the processor and storing instructions which, when executed by the processor cause the processor to perform a method, the method comprising:

receiving a first I/O request with associated data;

identifying, a first collection of storage drives from the first plurality of storage drives on which to execute the first I/O request; and

executing, based on a communication via the switch and a converter module associated with the first collection of storage drives, the first I/O request on the first collection of storage drives,

wherein the converter module comprises an adaptor and a controller coupled to at least one expander, and

wherein the adaptor comprises:

a first integrated circuit configured, based on the network protocol, to process data received from or sent to the switch; and

a second integrated circuit configured, based on the I/O protocol, to process data sent to or received from the storage drives via the controller and the at least one expander or directly via a lane.

11. The computer system of claim 10 , wherein the first I/O request is associated with a first application, and wherein the method further comprises:

creating a first association between the master node and the first plurality of storage drives;

receiving a second I/O request associated with a second application, wherein the first application and the second application have different resource requirements;

detecting a condition to dynamically associate the master node with a second plurality of storage drives;

removing the first association between the master node and the first plurality of storage drives; and

creating a second association between the master node and the second plurality of storage drives.

12. The computer system of claim 11 , wherein detecting the condition is based on one or more of:

a difference in capacity and input/output per second (IOPS) requirements between the first application and the second application;

a first predetermined threshold for dynamically associating the master node with the second or a third plurality of storage drives;

a second predetermined threshold for removing or creating an association between the master node and another plurality of storage drives;

an amount of power budgeted to the different cabinets and other cabinets;

an average amount of a number of IOPS per Gigabyte; and

a design of a respective storage drive of the first or the second plurality of storage drives.

13. The computer system of claim 11 , wherein the resource requirements include one or more of a capacity requirement and an input/output per second (IOPS) requirement.

14. The computer system of claim 10 ,

wherein the network protocol is an Ethernet protocol, and

wherein the I/O protocol is a Peripheral Component Interconnect Express (PCIe) protocol.

15. The computer system of claim 10 ,

wherein when the second integrated circuit processes data sent to or received from the storage drives via the controller and the at least one expander:

the controller is a Serial Attached SCSI (SAS) controller,

the expander is an SAS expander, and

the storage drives are hard disk drives or solid state drives; and

wherein when the second integrated circuit processes data sent to or received from the storage drives directly via the lane:

the lane is a Peripheral Component Interconnect Express (PCIe) lane; and

the storage drives are solid state drives or optane drives.

16. The computer system of claim 10 , wherein the adaptor further comprises:

a data path processor;

a control path processor;

a network offload engine;

a PCIe root complex; and

an internal memory.

17. An apparatus, comprising:

a switch;

a master node; and

a first plurality of storage drives;

wherein the master node is in communication with the first plurality of storage drives via the switch based on a network protocol,

wherein the master node and the first plurality of storage drives are allowed to reside in different cabinets,

wherein a respective collection of storage drives are coupled to a converter module, which is configured to convert data between the network protocol and an I/O protocol used to access the storage drives, and

wherein the master node is configured to:

receive a first I/O request with associated data, wherein the first I/O request is associated with a first application;

identify, a first collection of storage drives from the first plurality on which to execute the first I/O request;

create a first association between the master node and the first plurality of storage drives;

execute, based on a communication via the switch and a converter module associated with the first collection of storage drives, the first I/O request on the first collection of storage drives;

receive a second I/O request associated with a second application, wherein the first application and the second application have different resource requirements;

detect a condition to dynamically associate the master node with a second plurality of storage drives;

remove the first association between the master node and the first plurality of storage drives; and

create a second association between the master node and the second plurality of storage drives.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2020
From: LI, SHU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051584/0666 →
Continuity (1)
Related Publication 20210216487A1 · Jul 15, 2021