IP Library › Granted Patent US 10,379,763
Granted Patent B2
US 10,379,763 · App. 15/830,987 · Granted Aug 13, 2019

Hyperconverged storage system with distributable processing power

Inventors: John Colgrove (Los Altos, CA); John D. Davis (San Francisco, CA); John Martin Hayes (Mountain View, CA); Robert Lee (San Carlos, CA)
Assignee: Pure Storage, Inc.
G06F3/0622G06F3/06G06F3/0613G06F3/0637G06F3/0655G06F3/0688G06F11/108G06F11/1068G06F11/1076G06F11/1092G06F12/0246H03M13/154H03M13/3761G06F2201/845G06F2212/7206G06F2212/7207H03M13/1102H03M13/1515
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 10,379,763
App. No.
15/830,987
Filed
Dec 4, 2017
Granted
Aug 13, 2019
Kind
B2
Art Unit
2133
USPC
711/103
Abstract

A method for managing processing power in a storage system is provided. The method includes providing a plurality of blades, each of a first subset having a storage node and storage memory, and each of a second, differing subset having a compute-only node. The method includes distributing authorities across the plurality of blades, to a plurality of nodes including at least one compute-only node, wherein each authority has ownership of a range of user data.

Claims (31)

1. A system configurable for distributing processing power across a plurality of blades of a storage system, the system, comprising:

a plurality of blades, a first subset of blades of the plurality of blades including a storage node and storage memory, and a second subset of blades of the plurality of blades comprising a compute-only node;

a plurality of authorities in the system with each authority owning a range of data stored in the system, the plurality of authorities configurable to write erasure coded data representing the range of data across the first subset of blades of the plurality of blades.

2. The system of claim 1 , wherein the plurality of blades are contained within multiple chassis.

3. The system of claim 1 , wherein the plurality of authorities are distributed at least across the first subset of blades of the plurality of blades.

4. The system of claim 1 , wherein an I/O request received for the external I/O processing is routed from one of the plurality of blades to another one of the plurality of blades, in accordance with the plurality of authorities.

5. The system of claim 1 , wherein at least one of the plurality of authorities is relocatable from one of the plurality of blades to another of the plurality of blades.

6. The system of claim 1 , wherein the plurality of authorities are distributed across the plurality of blades in proportion to an amount of RAM (random-access memory) on each of the plurality of blades.

7. The system of claim 1 , wherein processing power for external I/O processing is distributed in accordance with one or more policies, agreements, service classes or multi-tenant service.

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

distributing a plurality of authorities in the storage system, across a plurality of blades of the storage system, wherein the plurality of blades comprises a first subset of blades of the plurality of blades including a storage node and storage memory, and a second subset of blades of the plurality of blades comprising a compute-only node, and wherein each of the plurality of authorities owns a range of data; and

writing erasure coded data representing the range of data across the first subset of blades of the plurality of blades, as directed by the plurality of authorities.

9. The computer-readable media of claim 8 , wherein the method further comprises:

distributing the plurality of authorities at least across the first subset of blades of the plurality of blades.

10. The computer-readable media of claim 8 , wherein the method further comprises:

routing an I/O request, received for external I/O processing, from one of the plurality of blades to another of the plurality of blades, in accordance with the plurality of authorities.

11. The computer-readable media of claim 8 , wherein the method further comprises:

moving one or more of the plurality of authorities from one or more of the first subset of blades of the plurality of blades to the one or more of the second subset of blades of the plurality of blades.

12. The computer-readable media of claim 8 , wherein the method further comprises:

distributing the plurality of authorities across at least a subset of the plurality of blades in proportion to RAM (random-access memory) on each blade of the subset of the plurality of blades, wherein the RAM comprises RAM, DRAM (dynamic random access memory) or NVRAM (nonvolatile random-access memory).

13. The computer-readable media of claim 8 , wherein the method comprises determining I/O request processing and throughput in accordance with one or more policies, agreements, service classes or multi-tenant service.

14. A storage cluster, comprising:

a plurality of blades, each having a storage node and storage memory;

at least one compute blade, having a compute-only node and no storage memory; and

a plurality of authorities distributed in the storage cluster with each owning a range of data, the plurality of authorities configurable to write erasure coded data representing the range of data across the plurality of blades.

15. The storage cluster of claim 14 , wherein the plurality of blades are contained within multiple chassis.

16. The storage cluster of claim 14 , wherein processing power is distributed according to distribution of the plurality of authorities across the plurality of blades.

17. The storage cluster of claim 16 , wherein the distributed processing power is configurable for routing an I/O request, received for external I/O processing, from one of the plurality of blades to a differing one of the plurality of blades, in accordance with the plurality of authorities.

18. The storage cluster of claim 16 , wherein the distributed processing power is configurable for moving one or more of the plurality of authorities from one of the plurality of blades to a differing one of the plurality of blades.

19. The storage cluster of claim 16 , wherein the distributed processing power is configurable for distributing the plurality of authorities across the plurality of blades and the at least one compute blade in proportion to an amount of RAM on each of the plurality of blades and the at least one compute blade.

20. The storage cluster of claim 16 , wherein the distributed processing power for external I/O processing is allocatable in accordance with one or more policies, agreements, service classes or multi-tenant service.

Continuity (4)
Continuation 15146681 · May 4, 2016
Continuation In Part 14491552 · Sep 19, 2014
Continuation 14296151 · Jun 4, 2014
Related Publication 20180101321A1 · Apr 12, 2018
Cited By (5)
US 12,204,403 US 12,242,337 US 12,346,561 US 12,405,857 US 12,417,176