Non-volatile RAM and flash memory in a non-volatile solid-state storage
First Claim
Patent Images
1. A non-volatile solid-state storage, comprising:
- a non-volatile random access memory (NVRAM) addressable by a first controller internal to the non-volatile solid-state storage, and by a second controller external to the non-volatile solid-state storage, the NVRAM configurable to store user data and metadata relating to the user data;
a flash memory, addressable by the first controller and by the second controller; and
the first controller configurable to cooperate with further non-volatile solid-state storage as a storage cluster, the storage cluster having a plurality of storage nodes and a plurality of authorities associated with the plurality of storage nodes, the plurality of storage nodes configurable to write data segments across the non-volatile solid-state storage, with each data segment associated with one of the plurality of authorities and each authority associated with a storage node of the storage cluster such that for each data segment, as a logical container of data, a segment identifier determines which of the plurality of authorities reads or writes the data segment and points to storage nodes for data striping for the data segment.
1 Assignment
0 Petitions
Accused Products
Abstract
A non-volatile solid-state storage is provided. The non-volatile solid state storage includes a non-volatile random access memory (NVRAM) addressable by a processor external to the non-volatile solid state storage. The NVRAM is configured to store user data and metadata relating to the user data. The non-volatile solid state storage includes a flash memory addressable by the processor. The flash memory is configured to store the user data responsive to the processor directing transfer of the user data from the NVRAM to the flash memory.
176 Citations
20 Claims
-
1. A non-volatile solid-state storage, comprising:
-
a non-volatile random access memory (NVRAM) addressable by a first controller internal to the non-volatile solid-state storage, and by a second controller external to the non-volatile solid-state storage, the NVRAM configurable to store user data and metadata relating to the user data; a flash memory, addressable by the first controller and by the second controller; and the first controller configurable to cooperate with further non-volatile solid-state storage as a storage cluster, the storage cluster having a plurality of storage nodes and a plurality of authorities associated with the plurality of storage nodes, the plurality of storage nodes configurable to write data segments across the non-volatile solid-state storage, with each data segment associated with one of the plurality of authorities and each authority associated with a storage node of the storage cluster such that for each data segment, as a logical container of data, a segment identifier determines which of the plurality of authorities reads or writes the data segment and points to storage nodes for data striping for the data segment. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage cluster, comprising:
a plurality of storage nodes configured to stripe data segments across the plurality of storage nodes, with each data segment associated with an authority and each authority associated with a storage node such that for each data segment, as a logical container of data, a segment identifier determines which of a plurality of such authorities reads or writes the data segment and points to storage nodes for data striping for the data segment, each of the plurality of storage nodes having nonvolatile solid-state memory for storage of user data, the nonvolatile solid-state memory comprising; a non-volatile random access memory (NVRAM) configured to receive the user data and metadata from a processor of a storage node of the plurality of storage nodes, the NVRAM addressable by the processor; a flash memory addressable by the processor; and a controller configured to manage the user data in the flash memory, wherein the NVRAM and the flash memory are addressable by the controller. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A method of accessing a non-volatile solid-state storage, performed by a storage system, comprising:
-
writing user data into a storage cluster having a plurality of storage nodes, the user data written as data segments across non-volatile random-access memory (NVRAM) of a plurality of non-volatile solid-state storage units of the storage cluster, with each data segment associated with an authority and each authority associated with a storage node such that for each data segment, as a logical container of data, a segment identifier determines which of a plurality of such authorities reads or writes the data segment and points to storage nodes for data striping for the data segment; and writing the user data from the NVRAM to a flash memory of a non-volatile solid-state storage unit, wherein each of the NVRAM and the flash memory is addressable as a distinct resource by a processor of the storage node, wherein each of the NVRAM and the flash memory is addressable as the distinct resource by a controller of the non-volatile solid-state storage unit, and wherein the writing the user data from the NVRAM to the flash memory of the non-volatile solid-state storage unit is directed by the processor of the storage node. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification