Ability to partition an array into two or more logical arrays with independently running software
First Claim
1. A plurality of storage nodes, comprising:
- a first plurality of storage nodes configurable to communicate together as a first storage cluster, the first storage cluster configurable to execute a first software;
a second plurality of storage nodes configurable to communicate together as a second storage cluster, the second storage cluster configurable to execute a second software independent of the first storage cluster executing the first software, wherein the first storage cluster is configurable to upgrade software or hardware independent of a software or hardware upgrade to the second storage cluster;
each of the first and second pluralities of storage nodes having nonvolatile solid-state memory for user data storage; and
each of the first and second pluralities of storage nodes configurable to distribute user data and metadata associated with the user data throughout a respective plurality of storage nodes such that a respective storage cluster maintains ability to read the user data, using erasure coding.
1 Assignment
0 Petitions
Accused Products
Abstract
A plurality of storage nodes in a single chassis is provided. The plurality of storage nodes includes a first plurality of storage nodes configured to communicate together as a first storage cluster and a second plurality of storage nodes configured to communicate together as a second storage cluster. Each of the first and second pluralities of storage nodes has nonvolatile solid-state memory for user data storage and each of the first and second pluralities of storage nodes is configured to distribute user data and metadata associated with the user data throughout a respective plurality of storage nodes such that a respective storage cluster maintains ability to read the user data, using erasure coding, despite a loss of one or more of the respective plurality of storage nodes.
-
Citations
19 Claims
-
1. A plurality of storage nodes, comprising:
-
a first plurality of storage nodes configurable to communicate together as a first storage cluster, the first storage cluster configurable to execute a first software; a second plurality of storage nodes configurable to communicate together as a second storage cluster, the second storage cluster configurable to execute a second software independent of the first storage cluster executing the first software, wherein the first storage cluster is configurable to upgrade software or hardware independent of a software or hardware upgrade to the second storage cluster; each of the first and second pluralities of storage nodes having nonvolatile solid-state memory for user data storage; and each of the first and second pluralities of storage nodes configurable to distribute user data and metadata associated with the user data throughout a respective plurality of storage nodes such that a respective storage cluster maintains ability to read the user data, using erasure coding. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A plurality of storage clusters, comprising:
-
a plurality of storage nodes, defining the plurality of storage clusters, within a single chassis the plurality of storage clusters comprising; a first storage cluster configurable to execute a first software; a second storage cluster configurable to execute a second software independent of the first storage cluster executing the first software; and the first storage cluster configurable to upgrade software or hardware independent of a software or hardware upgrade to the second storage cluster; each of the plurality of storage nodes having exclusive membership to one of the plurality of storage clusters; and each storage cluster of the plurality of storage clusters configured to distribute user data of the storage cluster and metadata associated with the user data of the storage cluster throughout the storage nodes having membership to the storage cluster such that the storage nodes having membership to the storage cluster can access the user data of the storage cluster, via erasure coding. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method performed by at least one processor for accessing user data in a plurality of storage nodes having nonvolatile solid-state memory, comprising:
-
assigning a first subset of the plurality of storage nodes as members of a first storage cluster, wherein the plurality of storage nodes is housed within a single chassis; assigning a second subset of the plurality of storage nodes as members of a second storage cluster, which is independent of the first storage cluster; executing a first software on the first storage cluster; and executing a second software on the second storage cluster independent of the first storage cluster executing the first software, wherein the first storage cluster is configurable to upgrade software or hardware independent of a software or hardware upgrade to the second storage cluster; and distributing the user data throughout the first subset of the plurality of storage nodes through erasure coding. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification