Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
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 non-volatile solid-state memory for user data storage, a remote procedure call cache, and a mirrored remote procedure call cache configured to mirror a remote procedure call cache of another storage node; and
the plurality of storage nodes configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of operating a remote procedure call cache in a storage cluster is provided. The method includes receiving a remote procedure call at a first storage node having solid-state memory and writing information, relating to the remote procedure call, to a remote procedure call cache of the first storage node. The method includes mirroring the remote procedure call cache of the first storage node in a mirrored remote procedure call cache of a second storage node. The storage cluster includes the first storage node and the second storage node. The storage system includes the first storage blade and the second storage blade. A storage node and a storage cluster are also provided.
117 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 non-volatile solid-state memory for user data storage, a remote procedure call cache, and a mirrored remote procedure call cache configured to mirror a remote procedure call cache of another storage node; and the plurality of storage nodes configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage cluster, comprising:
-
a plurality of storage nodes within a single chassis; each storage node of the plurality of storage nodes having non-volatile solid-state memory for storage of user data and configured to access data according to remote procedure calls, a remote procedure call cache, and a mirrored remote procedure call cache; each storage node of the plurality of storage nodes configured to mirror the remote procedure call cache in the mirrored remote procedure call cache of a differing one of the plurality of storage nodes; and the plurality of storage nodes configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes can access the user data, via erasure coding, with a failure of two of the plurality of storage nodes. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method of operating a remote procedure call cache in a storage cluster having a plurality of storage nodes each having non-volatile solid-state storage, comprising:
-
distributing user data throughout the plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a single chassis that couples the storage nodes as the storage cluster; receiving a remote procedure call at a first one of the plurality of storage nodes; writing information, relating to the remote procedure call, to a remote procedure call cache of the first one of the plurality of storage nodes; mirroring the remote procedure call cache of the first one of the plurality of storage nodes in a mirrored remote procedure call cache of a second one of the plurality of storage nodes, wherein a processor performs at least one method operation. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification