Distributed scalable storage
First Claim
Patent Images
1. A storage system, comprising:
- a plurality of storage nodes (DNodes), wherein the DNodes are configured to store a plurality of elements and a plurality of data blocks, wherein each element is a persistent metadata structure, wherein at least one of the elements store at least one attribute, wherein the at least one attribute includes a plurality of pointers; and
a plurality of compute nodes (CNodes), wherein each CNode has access to each of the DNodes, wherein each CNode is configured to receive an access command and to execute the access command based on the elements, wherein the DNodes further include a plurality of random access memory (RAM) devices, wherein executing the access command further includes locking, by one of the CNodes, a portion of the plurality of RAM devices using at least one remote direct memory access compare-and-swap operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage system. The storage system includes a plurality of storage nodes (DNodes), wherein the DNodes are configured to store a plurality of elements and a plurality of data blocks, wherein each element is a persistent metadata structure, wherein at least one of the elements store at least one attribute, wherein the at least one attribute includes a plurality of pointers; and a plurality of compute nodes (CNodes), wherein each CNode has access to each of the DNodes, wherein each CNode is configured to receive an access command and to execute the access command based on the elements.
-
Citations
20 Claims
-
1. A storage system, comprising:
-
a plurality of storage nodes (DNodes), wherein the DNodes are configured to store a plurality of elements and a plurality of data blocks, wherein each element is a persistent metadata structure, wherein at least one of the elements store at least one attribute, wherein the at least one attribute includes a plurality of pointers; and a plurality of compute nodes (CNodes), wherein each CNode has access to each of the DNodes, wherein each CNode is configured to receive an access command and to execute the access command based on the elements, wherein the DNodes further include a plurality of random access memory (RAM) devices, wherein executing the access command further includes locking, by one of the CNodes, a portion of the plurality of RAM devices using at least one remote direct memory access compare-and-swap operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A storage system, comprising:
-
a plurality of storage nodes (DNodes), wherein the DNodes are configured to store a plurality of elements and a plurality of data blocks, wherein each element is a persistent metadata structure, wherein at least one of the elements store at least one attribute, wherein the at least one attribute includes a plurality of pointers, wherein the plurality of pointers further includes at least one handle, wherein each handle is a unique identifier of one of the elements, wherein the elements include a plurality of metadata blocks, wherein the attributes are stored in the metadata blocks, wherein each element has an element tree including a set of the metadata blocks, wherein the DNodes further include a plurality of 3D Xpoint devices and a plurality of Flash memory devices, wherein each element tree is stored partially in at least one of the 3D Xpoint devices and partially in at least one of the Flash memory devices; and a plurality of compute nodes (CNodes), wherein each CNode has access to each of the DNodes, wherein each CNode is configured to receive an access command and to execute the access command based on the elements. - View Dependent Claims (14)
-
-
15. A storage system, comprising:
-
a plurality of storage nodes (DNodes), wherein the DNodes are configured to store a plurality of elements and a plurality of data blocks, wherein each element is a persistent metadata structure, wherein at least one of the elements store at least one attribute, wherein the at least one attribute includes a plurality of pointers, wherein the plurality of pointers further includes at least one handle, wherein each handle is a unique identifier of one of the elements, wherein the elements include a plurality of metadata blocks, wherein the attributes are stored in the metadata blocks, wherein each element has an element tree including a set of the metadata blocks, wherein the DNodes further include a plurality of 3D Xpoint devices and a plurality of Flash memory devices, wherein each element tree is stored partially in at least one of the 3D Xpoint devices and partially in at least one of the Flash memory devices; and a plurality of compute nodes (CNodes), wherein each CNode has access to each of the DNodes, wherein each CNode is configured to receive an access command and to execute the access command based on the elements, wherein executing the access command includes locking at least one of the metadata blocks when the access command is a write command. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification