IP Library Granted Patent US 12,430,217
Granted Patent B2
US 12,430,217 · App. 18/414,161 · Granted Sep 30, 2025

Distributed system dual class of service

Inventors: Sankara Vaideeswaran (San Jose, CA); Robert Lee (Pebble Beach, CA)
Assignee: PURE STORAGE, INC.
G06F11/2069G06F11/1451G06F11/1469G06F11/1666G06F11/2056G06F11/2058G06F11/2089G06F11/2097G06F12/0246G06F12/0813G06F12/0875G06F2201/805G06F2201/84G06F2212/1032G06F2212/154G06F2212/284G06F2212/286G06F2212/452G06F2212/7208
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,430,217
App. No.
18/414,161
Granted
Sep 30, 2025
Kind
B2
Abstract

A storage system has priority queues for real time-class file system messaging and backup-class file system messaging. The storage system includes servers, coupled as a storage cluster, storage devices and a network coupling the servers and the storage devices. The servers have priority queues. The servers operate the priority queues for messaging from the servers to the storage devices via the network in accordance with a real time-class file system and a backup-class file system. A first subset of the priority queues has higher priority on the network for real time-class file system messaging of at least one type. A second subset of the priority queues has lower priority on the network for backup-class file system messaging of at least one type.

Claims (41)

1. A storage system, comprising:

a plurality of distributed servers coupled as a storage cluster;

a network coupling the plurality of servers; and

the plurality of servers operating a plurality of priority queues for messaging via the network in accordance with a first file system class and a second file system class, a first subset of the plurality of priority queues having a higher priority on the network for a first file system messaging, and a second subset of the plurality of priority queues having a lower priority on the network for a second file system messaging.

2. The storage system of claim 1 , wherein the first file system messaging having the higher priority comprises write messaging and read messaging for foreground operations, and the second file system messaging having the lower priority comprises write messaging for background operations.

3. The storage system of claim 1 , wherein the first file system messaging having the higher priority comprises write messaging and read messaging for foreground operations, and the second file system messaging having the lower priority comprises write messaging and read messaging for background operations.

4. The storage system of claim 1 , wherein the first subset of the plurality of priority queues having the higher priority is for real time-class file system messaging comprising write messaging and read messaging, and the second subset of the plurality of priority queues having the lower priority is for backup-class file system messaging comprising write messaging.

5. The storage system of claim 1 , wherein the plurality of priority queues comprises VLAN (virtual local area network) priority queues having a first priority for chassis traffic and VLAN priority queues having a second priority for the first file system messaging and the second file system messaging.

6. The storage system of claim 1 , wherein the first file system messaging and the second file system messaging each comprise remote procedure calls (RPCs).

7. The storage system of claim 1 , further comprising:

the plurality of servers having a plurality of authorities therein, each authority owning a specified range of user data, wherein the first file system messaging of at least one type comprises foreground reads and foreground writes by the plurality of authorities and the second file system messaging of at least one type comprises background writes by the plurality of authorities for backups.

8. A method, comprising:

operating a plurality of priority queues in a plurality of distributed servers that are coupled as a storage cluster, for messaging from the plurality of servers via a network in accordance with a first file system class and a second file system class;

moving first file system messaging from a first subset of the plurality of priority queues through the network at a first priority; and

moving second file system messaging from a second subset of the plurality of priority queues through the network at second priority.

9. The method of claim 8 , further comprising:

placing the first file system messaging having the first priority comprising write messaging and read messaging for foreground operations into the first subset of the plurality of priority queues, and placing the second file system messaging having the second priority comprising write messaging for background operations into the second subset of the plurality of priority queues.

10. The method of claim 8 , further comprising:

placing the first file system messaging having the first priority comprising write messaging and read messaging for foreground operations into the first subset of the plurality of priority queues, and placing the second file system messaging having the second priority comprising write messaging and read messaging for background operations into the second subset of the plurality of priority queues.

11. The method of claim 8 , further comprising:

placing first file system messaging comprising write messaging and read messaging into the first subset of the plurality of priority queues, which have a higher priority, placing backup-class file system messaging comprising read messaging into the first subset of the plurality of priority queues having the higher priority, and placing backup-class file system messaging comprising write messaging into the second subset of the plurality of priority queues, which have a lower priority.

12. The method of claim 8 , further comprising:

placing messaging for chassis traffic into VLAN (virtual local area network) priority queues associated with a first priority, and placing messaging for the first file system messaging and the second file system messaging into VLAN priority queues associated with a second priority, wherein the plurality of priority queues comprises a plurality of VLAN priority queues.

13. The method of claim 8 , further comprising:

placing remote procedure calls (RPCs) into the plurality of priority queues, for the first file system messaging and the second file system messaging.

14. The method of claim 8 , further comprising:

tagging foreground reads and foreground writes by a plurality of authorities in the plurality of servers, each authority owning a specified range of user data, and tagging background writes by the plurality of authorities, wherein the first file system comprises the foreground reads and the foreground writes by the plurality of authorities and the second file system messaging comprises the background writes by the plurality of authorities for backups.

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:

operating a plurality of priority queues in a plurality of distributed servers that are coupled as a storage cluster, for messaging from the plurality of servers via a network in accordance with a first file system class and a second file system class;

moving first file system messaging from a first subset of the plurality of priority queues through the network at a first priority; and

moving second file system messaging from a second subset of the plurality of priority queues through the network at second priority.

16. The computer-readable media of claim 15 , wherein the method further comprises:

placing the first file system messaging having a higher priority comprising write messaging and read messaging for foreground operations into the first subset of the plurality of priority queues, and placing the second file system messaging having a lower priority comprising write messaging for background operations into the second subset of the plurality of priority queues.

17. The computer-readable media of claim 15 , wherein the method further comprises:

placing the first file system messaging having a higher priority comprising write messaging and read messaging for foreground operations into the first subset of the plurality of priority queues, and placing the second file system messaging having a lower priority comprising write messaging and read messaging for background operations into the second subset of the plurality of priority queues.

18. The computer-readable media of claim 15 , wherein the method further comprises:

placing first class file system messaging comprising write messaging and read messaging into the first subset of the plurality of priority queues, which have a higher priority, placing second file system messaging comprising read messaging into the first subset of the plurality of priority queues having the higher priority, and placing second file system messaging comprising write messaging into the second subset of the plurality of priority queues, which have a lower priority.

19. The computer-readable media of claim 15 , wherein the method further comprises:

placing messaging for chassis traffic into VLAN (virtual local area network) priority queues associated with a first, and placing messaging for the first file system messaging and the second file system messaging into VLAN priority queues associated with a second priority.

20. The computer-readable media of claim 15 , wherein the method further comprises:

tagging foreground reads and foreground writes by a plurality of authorities in the plurality of servers, each authority owning a specified range of user data, and tagging background writes by the plurality of authorities, wherein the first file system messaging comprises the foreground reads and the foreground writes by the plurality of authorities and the second file system messaging of at least one type comprises the background writes by the plurality of authorities for backups.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: VAIDEESWARAN, SANKARA; LEE, ROBERT
To: PURE STORAGE, INC.
Reel/Frame 066149/0519 →
Continuity (7)
Continuation 17698460 · Mar 18, 2022
Continuation In Part 17124608 · Dec 17, 2020
Continuation 16174135 · Oct 29, 2018
Continuation 15213271 · Jul 18, 2016
Continuation 14697571 · Apr 27, 2015
Continuation 14322888 · Jul 2, 2014
Related Publication 20240184677A1 · Jun 6, 2024
References Cited (39)
US 7783666B1 · Zhuge · 2010 [cited by examiner]
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8010961B1 · Cook · 2011 [cited by examiner]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10719245B1 · Gudipati · 2020 [cited by examiner]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 20020120741A1 · Webb · 2002 [cited by examiner]
US 20060253621A1 · Brewer · 2006 [cited by examiner]
US 20080256141A1 · Wayda et al. · 2008 [cited by applicant]
US 20100306500A1 · Mimatsu · 2010 [cited by applicant]
US 20100332536A1 · Ramaswamy · 2010 [cited by examiner]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20120330898A1 · Bk et al. · 2012 [cited by applicant]
US 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150134857A1 · Hahn · 2015 [cited by examiner]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20160026397A1 · Nishikido et al. · 2016 [cited by applicant]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160248631A1 · Duchesneau · 2016 [cited by applicant]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20190121781A1 · Kasichainula · 2019 [cited by examiner]
US 20190205244A1 · Smith · 2019 [cited by examiner]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210014177A1 · Kasichainula · 2021 [cited by examiner]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
WO WO9735270A1 · 1997 [cited by applicant]
Extended European Search Report for European Application No. 15814204.2, mailed Mar. 20, 2018, 13 Pages. [cited by applicant]