REBUILDING DATA ACROSS STORAGE NODES
First Claim
1. A plurality of storage nodes in a single chassis, comprising:
- the plurality of storage nodes configured to communicate together as a storage cluster;
each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage;
one or more controller of each of the plurality of storage nodes configured to distribute the user data and metadata throughout the plurality of storage nodes according to a first erasure coding scheme; and
the one or more controller of each of the plurality of storage nodes further configured to decide to utilize one of the first erasure coding scheme or a differing erasure coding scheme to rebuild the user data across stripes in a first set of the plurality of storage nodes from recovered user data striped across a second set of the plurality of storage nodes, the second set of the plurality of storage nodes having an unreachable storage node.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster is provided. The method includes distributing user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can read the user data, using erasure coding, despite loss of two of the storage nodes. The method includes determining that one of the storage nodes is unreachable and determining to rebuild the user data for the one of the storage nodes that is unreachable. The method includes reading the user data across a remainder of the plurality of storage nodes, using the erasure coding and writing the user data across the remainder of the plurality of storage nodes, using the erasure coding. A plurality of storage nodes within a single chassis that can proactively rebuild the user data stored within the storage nodes is also provided.
-
Citations
20 Claims
-
1. A plurality of storage nodes in a single chassis, comprising:
-
the plurality of storage nodes configured to communicate together as a storage cluster; each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage; one or more controller of each of the plurality of storage nodes configured to distribute the user data and metadata throughout the plurality of storage nodes according to a first erasure coding scheme; and the one or more controller of each of the plurality of storage nodes further configured to decide to utilize one of the first erasure coding scheme or a differing erasure coding scheme to rebuild the user data across stripes in a first set of the plurality of storage nodes from recovered user data striped across a second set of the plurality of storage nodes, the second set of the plurality of storage nodes having an unreachable storage node. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. (canceled)
-
8. A plurality of storage nodes in a single chassis, comprising:
-
the plurality of storage nodes configured to communicate together as a storage cluster; each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage; the plurality of storage nodes configured to distribute the user data and metadata throughout the plurality of storage nodes; the plurality of storage nodes configured to recover user data written according to a first erasure coding scheme across the plurality of storage nodes; and the plurality of storage nodes configured to write the recovered user data according to a second erasure coding scheme across the plurality of storage nodes, wherein each storage node is configured to decide whether the second erasure coding scheme is one of a same erasure coding scheme or a differing erasure coding scheme from the first erasure coding scheme. - View Dependent Claims (9, 10, 12, 13, 14)
-
-
11. (canceled)
-
15. A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster in a single chassis, comprising:
-
distributing user data and metadata throughout the plurality of storage nodes; determining that one of the plurality of storage nodes is unreachable; determining to rebuild the user data for the one of the plurality of storage nodes that is unreachable; reading the user data across a remainder of the plurality of storage nodes, using erasure coding; and writing the user data, as recovered user data, across the remainder of the plurality of storage nodes, using the erasure coding, wherein the reading is performed according to a first erasure coding scheme and the writing is performed according to a differing second erasure coding scheme, and wherein each storage node is configured to decide whether the second erasure coding scheme is one of a same erasure coding scheme or a differing erasure coding scheme from the first erasure coding scheme. - View Dependent Claims (16, 17, 18, 20)
-
-
19. (canceled)
Specification