Mechanism for persisting messages in a storage system
First Claim
1. A plurality of storage nodes in a single chassis, comprising:
- the plurality of storage nodes communicating together as a storage cluster;
each of the plurality of storage nodes having at least one authority, and nonvolatile solid-state memory for storage of user data and metadata, wherein each authority controls a portion of the user data and determines which type of erasure coding scheme is applied to the portion of the user data independent of further authorities;
the plurality of storage nodes configured to distribute the user data and redundant copies of metadata regarding a message 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 plurality of storage nodes; and
the plurality of storage nodes configured to initiate an action based on the redundant copies of the metadata, such that a source authority of one of the plurality of storage nodes receives the message, records the message redundantly throughout the plurality of storage nodes, then delivers the message to a destination authority of a further one of the storage nodes responsive to achieving a level of redundancy for the redundant copies of the metadata regarding the message, wherein the destination authority acts upon the message.
1 Assignment
0 Petitions
Accused Products
Abstract
A plurality of storage nodes in a single chassis is provided. The plurality of storage nodes in the single chassis is configured to communicate together as a storage cluster. Each of the plurality of storage nodes includes nonvolatile solid-state memory for user data storage. The plurality of storage nodes is 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 the ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes. The plurality of storage nodes configured to initiate an action based on the redundant copies of the metadata, responsive to achieving a level of redundancy for the redundant copies of the metadata. A method for accessing user data in a plurality of storage nodes having nonvolatile solid-state memory is also provided.
-
Citations
20 Claims
-
1. A plurality of storage nodes in a single chassis, comprising:
-
the plurality of storage nodes communicating together as a storage cluster; each of the plurality of storage nodes having at least one authority, and nonvolatile solid-state memory for storage of user data and metadata, wherein each authority controls a portion of the user data and determines which type of erasure coding scheme is applied to the portion of the user data independent of further authorities; the plurality of storage nodes configured to distribute the user data and redundant copies of metadata regarding a message 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 plurality of storage nodes; and the plurality of storage nodes configured to initiate an action based on the redundant copies of the metadata, such that a source authority of one of the plurality of storage nodes receives the message, records the message redundantly throughout the plurality of storage nodes, then delivers the message to a destination authority of a further one of the storage nodes responsive to achieving a level of redundancy for the redundant copies of the metadata regarding the message, wherein the destination authority acts upon the message. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage cluster, comprising:
-
a plurality of storage nodes within a single chassis; each of the plurality of storage nodes having nonvolatile solid-state memory for storage of user data; each of the plurality of storage nodes having at least one authority, each authority configured to determine which type of erasure coding scheme is applied to a portion of user data owned by the authority, independent of further authorities of the plurality of storage nodes; the plurality of storage nodes configured to distribute the user data and redundant copies of metadata regarding a message throughout the plurality of storage nodes via an internal communications interconnect of the single chassis, the redundant copies of the metadata regarding the message stored in at least a subset of the plurality of storage nodes, the plurality of storage nodes are able to access the user data, via erasure coding, with a failure of two of the plurality of storage nodes; and the plurality of storage nodes configured to determine what action to carry to completion, based on the redundant copies of the metadata, and further based on a source authority of one of the plurality of storage nodes receiving the message, recording the message metadata regarding the message redundantly throughout the plurality of storage nodes and then delivering the message to a destination authority of a further one of the plurality of storage nodes responsive to achieving a level of redundancy for the redundant copies of the metadata regarding the message, whereupon the destination authority acts upon the message. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method for persisting messages in a plurality of storage nodes having nonvolatile solid-state memory, 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 plurality of storage nodes as a storage cluster, and wherein the user data is accessible, via the erasure coding, in the plurality of storage nodes in event of two of the plurality of storage nodes being unreachable; receiving a message at a source authority of one of the plurality of storage nodes; storing metadata relating to the message in the one of the plurality of storage nodes; distributing redundant copies of the metadata relating to the message from the source authority to others of the plurality of storage nodes; determining whether a level of redundancy for distributed redundant copies of the metadata regarding the message has been achieved; and determining an action, including the source authority delivering the message to a destination authority of a further one of the plurality of storage nodes and having the destination authority act upon the message, based on the redundant copies of the metadata responsive to achieving the level of redundancy, wherein a processor performs at least one method operation. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification