IP Library › Granted Patent US 11,671,496
Granted Patent B2
US 11,671,496 · App. 17/704,751 · Granted Jun 6, 2023

Load balacing for distibuted computing

Inventors: Prabhath Sajeepa (Milpitas, CA); Daniel Talayco (Sunnyvale, CA); Qing Yang (San Jose, CA); Robert Lee (San Carlos, CA)
Assignee: PURE STORAGE, INC.
H04L67/1097G06F3/06G06F3/061G06F3/0604G06F3/065G06F3/067G06F3/0611G06F3/0613G06F3/0635G06F3/0655G06F3/0659G06F3/0685G06F3/0688G06F3/0689G06F11/1068G06F11/2092G06F12/0246G11C29/52H03M13/154H04L49/10H04L67/51G06F11/108G06F2201/805G06F2201/845G06F2212/7206G06F2212/7207
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,671,496
App. No.
17/704,751
Filed
Mar 25, 2022
Granted
Jun 6, 2023
Kind
B2
Art Unit
2133
USPC
711/103
Abstract

A storage system is provided. The storage system includes a first storage cluster, the first storage cluster having a first plurality of storage nodes coupled together and a second storage cluster, the second storage cluster having a second plurality of storage nodes coupled together. The system includes an interconnect coupling the first storage cluster and the second storage cluster and a first pathway coupling the interconnect to each storage cluster. The system includes a second pathway, the second pathway coupling at least one fabric module within a chassis to each blade within the chassis.

Claims (23)

1. A storage system, comprising:

a load balancer to perform a first load balancing operation to identify a storage node within a storage array among a plurality of storage arrays to which data should be transmitted, wherein the storage array is identified through an interconnect according to a second load balancing mechanism.

2. The storage system of claim 1 , wherein each of the plurality of storage arrays includes a plurality of blades, in which one of the plurality of blades has a differing network bandwidth than another one of the plurality of blades.

3. The storage system of claim 1 , wherein each of the plurality of storage arrays includes a plurality of blades, in which one of the plurality of blades has a differing capacity of non-volatile storage than another one of the plurality of blades.

4. The storage system of claim 1 , wherein the one of the plurality of storage arrays contain storage units having non-volatile memory of differing capacity.

5. The storage system of claim 1 , wherein the second load balancing mechanism is based on a table accessed by a fabric module of the storage array, and wherein the fabric module is configurable to forward packets to a blade in a differing storage array.

6. The storage system of claim 4 , wherein storage units of differing blades can communicate with each other without assistance from storage nodes.

7. The storage system of claim 1 , wherein the storage system presents a single media access control address to external networks and wherein each of the plurality of storage arrays within the storage system is assigned a unique media access control address.

8. A method, comprising:

forwarding an input/output (I/O) request from a fabric module of one of a plurality of storage arrays to one of multiple storage nodes within one of the storage arrays based upon a first load balancing mechanism, wherein the I/O request was received a switch according to a second load balancing mechanism.

9. The method of claim 8 , wherein the first load balancing mechanism is based on an amount of blades within each of multiple chassis and the second load balancing mechanism differs from the first load balancing mechanism.

10. The method of claim 8 , wherein each of the plurality of storage arrays includes a plurality of blades, in which one of the plurality of blades has a differing capacity of non-volatile storage than another one of the plurality of blades.

11. The method of claim 10 , wherein the one of the plurality of blades contains storage units having non-volatile memory of differing capacity.

12. The method of claim 11 wherein storage units of differing blades can communicate with each other without assistance from storage nodes.

13. The method of claim 8 , wherein a storage system presents a single media access control address to external networks and wherein each one of the multiple storage arrays is assigned a unique media access control address.

14. The method of claim 8 , wherein storage arrays with differing blade populations receive differing traffic loads.

15. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising:

forwarding an input/output (I/O) request from a fabric module of one of a plurality of storage arrays to one of multiple storage nodes within one of the storage arrays based upon a first load balancing mechanism, wherein the I/O request was received a switch according to a second load balancing mechanism.

16. The computer-readable media of claim 15 , wherein the first load balancing mechanism is based on an amount of blades within each of multiple chassis and the second load balancing mechanism differs from the first load balancing mechanism.

17. The computer-readable media of claim 15 , wherein each of the plurality of storage arrays includes a plurality of blades, in which one of the plurality of blades has a differing capacity of non-volatile storage than another one of the plurality of blades.

18. The computer-readable media of claim 17 , wherein the one of the plurality of blades contains storage units having non-volatile memory of differing capacity.

19. The computer-readable media of claim 18 , wherein storage units of differing blades can communicate with each other without assistance from storage nodes.

20. The computer-readable media of claim 15 , wherein a storage system presents a single media access control address to external networks and wherein each one of the multiple storage arrays is assigned a unique media access control address.

Continuity (8)
Continuation 16799551 · Feb 24, 2020
Continuation 15885666 · Jan 31, 2018
Continuation In Part 15376220 · Dec 12, 2016
Continuation 15167792 · May 27, 2016
Continuation 14961665 · Dec 7, 2015
Continuation 14618999 · Feb 10, 2015
Continuation In Part 14296151 · Jun 4, 2014
Related Publication 20220217206A1 · Jul 7, 2022
Cited By (1)
US 12,549,632