IP Library › Granted Patent US 12,549,632
Granted Patent B2
US 12,549,632 · App. 18/781,685 · Granted Feb 10, 2026

Storage cluster utilizing differing load balancers

Inventors: Prabhath Sajeepa (Milpitas, CA); Daniel Talayco (Sunnyvale, CA); Qing Yang (San Jose, CA); Robert Lee (Pebble Beach, CA)
Assignee: PURE STORAGE, INC.
H04L67/1097G06F3/06G06F3/0604G06F3/061G06F3/0611G06F3/0613G06F3/0635G06F3/065G06F3/0655G06F3/0659G06F3/067G06F3/0685G06F3/0688G06F3/0689G06F11/1068G06F11/2092G06F12/0246G11C29/52H03M13/154H04L49/111H04L67/1004H04L67/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 12,549,632
App. No.
18/781,685
Granted
Feb 10, 2026
Kind
B2
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 (30)

1 . A storage system, comprising:

a first storage cluster, the first storage cluster having a first plurality of storage nodes coupled together;

a second storage cluster, the second storage cluster having a second plurality of storage nodes coupled together;

an interconnect coupling the first storage cluster and the second storage cluster, the interconnect configured to perform a first load balancing operation to identify which storage cluster the data should be transmitted, wherein the identified storage cluster comprises:

a load balancer to perform a second load balancing operation to identify a storage node among the plurality of storage nodes for the identified storage cluster to which the data should be transmitted.

2 . The storage system of claim 1 , wherein one of the plurality of storage nodes of the first storage cluster has a differing network bandwidth than another one of the plurality of storage nodes of the first storage cluster.

3 . The storage system of claim 1 , wherein the first load balancing operation is based on a number of storage nodes in respective storage clusters.

4 . The storage system of claim 1 , wherein the first load balancing operation is based on aggregate bandwidth of storage nodes in respective storage clusters.

5 . The storage system of claim 1 , wherein the second load balancing operation is based on a table accessed by a fabric module, and wherein the fabric module is configurable to forward data to a storage node in a differing storage cluster.

6 . The storage system of claim 1 , wherein the interconnect is a pair of redundant switches.

7 . The storage system of claim 1 , wherein the storage system presents a single media access control address to external networks.

8 . A method of load balancing for a storage system, comprising:

receiving an input/output (I/O) request at a switch coupled to multiple storage clusters, each of the multiple storage clusters having multiple storage nodes;

forwarding the I/O request from the switch to a fabric module of one of the multiple storage clusters based on a first load balancing mechanism; and

forwarding the I/O request from the fabric module of the one of the multiple storage clusters based upon a second load balancing mechanism, the second load balancing mechanism differing from the first load balancing mechanism.

9 . The method of claim 8 , wherein the first load balancing mechanism is based on an amount of storage nodes within each of the multiple storage clusters.

10 . The method of claim 8 , wherein the second load balancing mechanism is based on a table accessed by the fabric module, and wherein the fabric module is configurable to forward data to a storage node in a differing storage cluster.

11 . The method of claim 8 , wherein the multiple storage nodes within one of the multiple storage clusters have differing network bandwidth rates.

12 . The method of claim 8 , wherein the first load balancing mechanism is based on aggregate bandwidth of storage nodes within one of the storage clusters.

13 . The method of claim 8 , wherein the storage system presents a single media access control address to external networks.

14 . The method of claim 8 , wherein storage clusters with differing storage node 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:

receiving an input/output (I/O) request at a switch coupled to multiple storage clusters, each of the multiple storage clusters having multiple storage nodes;

forwarding the I/O request from the switch to a fabric module of one of the multiple storage clusters based on a first load balancing mechanism; and

forwarding the I/O request from the fabric module of the one of the multiple storage clusters based upon a second load balancing mechanism, the second load balancing mechanism differing from the first load balancing mechanism.

16 . The method of claim 15 , wherein the first load balancing mechanism is based on an amount of storage nodes within each of the multiple storage clusters.

17 . The method of claim 15 , wherein the second load balancing mechanism is based on a table accessed by the fabric module, and wherein the fabric module is configurable to forward data to a storage node in a differing storage cluster.

18 . The method of claim 15 , wherein the multiple storage nodes within one of the multiple storage clusters have differing network bandwidth rates.

19 . The method of claim 15 , wherein the first load balancing mechanism is based on aggregate bandwidth of storage nodes within one of the storage clusters.

20 . The method of claim 15 , wherein the storage system presents a single media access control address to external networks.

Continuity (12)
Continuation 18312435 · May 4, 2023
Continuation 17704751 · Mar 25, 2022
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 14610766 · Jan 30, 2015
Continuation 14491552 · Sep 19, 2014
Continuation 14296151 · Jun 4, 2014
Related Publication 20240380815A1 · Nov 14, 2024
References Cited (27)
US 6622163B1 · Tawill et al. · 2003 [cited by applicant]
US 7930587B1 · Coatney et al. · 2011 [cited by applicant]
US 8156163B1 · Hamilton et al. · 2012 [cited by applicant]
US 8886781B2 · Jain et al. · 2014 [cited by applicant]
US 9275063B1 · Natanzon · 2016 [cited by applicant]
US 9798477B2 · Botes et al. · 2017 [cited by applicant]
US 9888064B2 · Ambach et al. · 2018 [cited by applicant]
US 9910742B1 · Faibish et al. · 2018 [cited by applicant]
US 9940154B2 · Ramani et al. · 2018 [cited by applicant]
US 9965363B2 · Lalsangi et al. · 2018 [cited by applicant]
US 10185495B2 · Katsuki · 2019 [cited by applicant]
US 10425473B1 · Patel et al. · 2019 [cited by applicant]
US 11671496B2 · Sajeepa et al. · 2023 [cited by applicant]
US 20050015460A1 · Gole et al. · 2005 [cited by applicant]
US 20070022138A1 · Erasani et al. · 2007 [cited by applicant]
US 20080046538A1 · Susarla et al. · 2008 [cited by applicant]
US 20120072661A1 · Cho · 2012 [cited by examiner]
US 20130151683A1 · Jain et al. · 2013 [cited by applicant]
US 20140229695A1 · Dinkar et al. · 2014 [cited by applicant]
US 20160142485A1 · Mitkar et al. · 2016 [cited by applicant]
US 20170109184A1 · Ramani et al. · 2017 [cited by applicant]
US 20170155713A1 · Powell et al. · 2017 [cited by applicant]
US 20180074748A1 · Makin et al. · 2018 [cited by applicant]
US 20180081562A1 · Vasudevan · 2018 [cited by applicant]
US 20220116448A1 · Patel et al. · 2022 [cited by applicant]
US 20220156114A1 · Nagpal et al. · 2022 [cited by applicant]
Frakes Dan, “Up close with Mountain Lion: Power Nap (Frakes, Dan, Working Mac—Up close with Mountain Lion: Power Nap, Macworld.com,” Aug. 1, 2012, pp. 1-6. [cited by applicant]