Technologies for separating control plane management from data plane management for distributed storage in a disaggregated architecture
Abstract
Technologies for separating control plane management from data plane management for distributed storage in a disaggregated architecture include a compute sled. The compute sled includes a network interface controller and circuitry to receive, through a network and with the network interface controller, a data access request from a compute device. The data access request includes a data payload indicative of an object to be stored. The circuitry is also to map the object to a set of multiple data storage sleds for distributed storage of the object. Additionally, the circuitry is to send, through the network and with a local data bus protocol mapped onto a network protocol, a write request to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled. Other embodiments are also described and claimed.
Claims
exact text as granted — not AI-modified1 . A compute sled comprising:
a network interface controller; and circuitry to: receive, through a network and with the network interface controller, a data access request from a compute device, wherein the data access request includes a data payload indicative of an object to be stored; map the object to a set of multiple data storage sleds for distributed storage of the object; and send, through the network and with a local data bus protocol mapped onto a network protocol, a write request to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled.
2 . The compute sled of claim 1 , wherein to send, through the network and with a local data bus protocol mapped onto a network protocol, a write request comprises to tunnel the write request through a non-volatile memory express over fabric (NVMeOF) connection to the data storage sleds.
3 . The compute sled of claim 1 , wherein to map the object to the data storage sleds comprises to map the object to data storage sleds in different failure domains.
4 . The compute sled of claim 1 , wherein the circuitry is further to send, through the network and to one or more other compute sleds, metadata associated with the object.
5 . The compute sled of claim 4 , wherein to send, through the network and to one or more other compute sleds, metadata associated with the object comprises to send the metadata to one or more compute sleds associated with the mapped data storage sleds.
6 . The compute sled of claim 4 , wherein to send the metadata comprises to send one or more of an object identifier associated with the object or metadata indicative of one or more attributes of the object.
7 . The compute sled of claim 1 , wherein to map the object to the data storage sleds comprises to map the object as a function of a hash of a uniform resource locator associated with the object.
8 . The compute sled of claim 1 , wherein the circuitry is further to verify, prior to sending the write request to the mapped data storage sled, that the data payload represents an object that is not already stored on one or more of the data storage sleds.
9 . The compute sled of claim 8 , wherein to verify that the data payload represents and object that is not already stored on one or more of the data storage sleds comprises to compare an object identifier associated with the object to object identifiers for objects stored in a data storage sled associated with the compute sled.
10 . The compute sled of claim 1 , wherein the circuitry is further to:
receive a request a read a second object, wherein the request includes an identifier of the second object; and determine, in response to the read request, one or more storage sleds mapped to the identifier of the second object; send, through the network and with the local data bus protocol mapped onto the network protocol, a read request to the mapped one or more data storage sleds; and receive the read object from the mapped one or more data storage sleds.
11 . The compute sled of claim 10 , wherein to send, through the network and with the local data bus protocol mapped onto the network protocol, a read request comprises to tunnel the read request through a non-volatile memory express over fabric (NVMeOF) connection to the one or more data storage sleds.
12 . One or more machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a compute sled to:
receive, through a network and with a network interface controller, a data access request from a compute device, wherein the data access request includes a data payload indicative of an object to be stored; map the object to a set of multiple data storage sleds for distributed storage of the object; and send, through the network and with a local data bus protocol mapped onto a network protocol, a write request to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled.
13 . The one or more machine-readable storage media of claim 12 , wherein to send, through the network and with a local data bus protocol mapped onto a network protocol, a write request comprises to tunnel the write request through a non-volatile memory express over fabric (NVMeOF) connection to the data storage sleds.
14 . The one or more machine-readable storage media of claim 12 , wherein to map the object to the data storage sleds comprises to map the object to data storage sleds in different failure domains.
15 . The one or more machine-readable storage media of claim 12 , wherein, when executed, the plurality of instructions further cause the compute sled to send, through the network and to one or more other compute sleds, metadata associated with the object.
16 . The one or more machine-readable storage media of claim 15 , wherein to send, through the network and to one or more other compute sleds, metadata associated with the object comprises to send the metadata to one or more compute sleds associated with the mapped data storage sleds.
17 . The one or more machine-readable storage media of claim 15 , wherein to send the metadata comprises to send one or more of an object identifier associated with the object or metadata indicative of one or more attributes of the object.
18 . The one or more machine-readable storage media of claim 12 , wherein to map the object to the data storage sleds comprises to map the object as a function of a hash of a uniform resource locator associated with the object.
19 . A method comprising:
receiving, by a compute sled with a network interface controller, a data access request from a compute device, wherein the data access request includes a data payload indicative of an object to be stored; mapping, by the compute sled, the object to a set of multiple data storage sleds for distributed storage of the object; and sending, by the compute sled, through a network and with a local data bus protocol mapped onto a network protocol, a write request to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled.
20 . The method of claim 19 , wherein sending, through the network and with a local data bus protocol mapped onto a network protocol, a write request comprises tunneling the write request through a non-volatile memory express over fabric (NVMeOF) connection to the data storage sleds.
21 . The method of claim 19 , wherein mapping the object to the data storage sleds comprises mapping the object to data storage sleds in different failure domains.
22 . The method of claim 19 , further comprising sending, by the compute sled, through the network and to one or more other compute sleds, metadata associated with the object.
23 . A data storage sled comprising:
a network interface controller; a set of data storage devices; and circuitry to: receive, through the network interface controller and with a local data bus protocol mapped onto a network protocol, a write request from a compute sled of a distributed data storage system, wherein the write request includes an object to be written to one or more of the data storage devices; determine one or more blocks of the set of data storage devices to write the object to; write an identifier of each determined block to a block ownership database in association with an identifier of the object; and write the object to the determined one or more blocks.
24 . The data storage sled of claim 23 , wherein the data storage devices have different performance characteristics resulting from different physical storage media in each data storage device and wherein to determine the one or more blocks of the set of data storage devices to write the object to comprises to determine the one or more blocks as a function of a target access latency.
25 . The data storage sled of claim 23 , wherein to determine the one or more blocks of the set of data storage devices to write the object to comprises to determine the one or more blocks as a function of a data storage device wear leveling scheme.
26 . The data storage sled of claim 23 , wherein the circuitry is further to:
receive, through the network interface controller, a read request from the compute sled, wherein the read request includes the identifier of the object; determine, from the block ownership database, the one or more blocks of the set of data storage devices to read the object from; read the object from the determined one or more blocks of the set of data storage devices; and send the object to the compute sled.
27 . A method comprising:
receiving, through a network interface controller of a data storage sled and with a local data bus protocol mapped onto a network protocol, a write request from a compute sled of a distributed data storage system, wherein the write request includes an object to be written to one or more data storage devices of the data storage sled; determining, by the data storage sled, one or more blocks of the data storage devices to write the object to; writing, by the data storage sled, an identifier of each determined block to a block ownership database in association with an identifier of the object; and writing, by the data storage sled, the object to the determined one or more blocks.
28 . One or more machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a data storage sled to:
receive, through a network interface controller of the data storage sled and with a local data bus protocol mapped onto a network protocol, a write request from a compute sled of a distributed data storage system, wherein the write request includes an object to be written to one or more data storage devices of the data storage sled; determine, by the data storage sled, one or more blocks of the data storage devices to write the object to; write, by the data storage sled, an identifier of each determined block to a block ownership database in association with an identifier of the object; and write, by the data storage sled, the object to the determined one or more blocks.Join the waitlist — get patent alerts
Track US2019042090A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.