Technologies for providing efficient distributed data storage in a disaggregated architecture
Abstract
Technologies for providing efficient distributed data 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 a write request with the object and an object identifier to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled and concurrently send metadata without the object to one or more other compute sleds associated with the mapped data storage sleds. 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 a write request with the object and an object identifier to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled and concurrently send metadata without the object to one or more other compute sleds associated with the mapped data storage sleds.
2 . The compute sled of claim 1 , wherein to map the object to the set of data storage sleds comprises to read, from a database present on the compute sled and associated with a map data service, data indicative of an association between an identifier of the object and the set of data storage sleds.
3 . The compute sled of claim 1 , wherein the compute sled is a first compute sled and wherein the circuitry is further to:
receive a request from a second compute sled to determine whether a second object is mapped to a data storage sled associated with the first compute sled, wherein the request includes a second object identifier; and compare, in response to receipt of the request, the object identifier to a database present on the first compute sled, wherein the database includes identifiers of objects stored in the data storage sled associated with the first compute sled.
4 . The compute sled of claim 3 , wherein the circuitry is further to send, in response to a determination that the second object identifier matches an identifier of an object mapped to the data storage sled, an identifier of the data storage sled associated with the second object identifier.
5 . 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.
6 . 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.
7 . The compute sled of claim 1 , 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.
8 . 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 of the object.
9 . 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.
10 . The compute sled of claim 9 , wherein to verify that the data payload represents an object that is not already stored comprises to compare an object identifier associated with the object to a database of object identifiers for objects stored in a data storage sled associated with the compute sled.
11 . The compute sled of claim 1 , wherein the circuitry is further to:
receive a request to 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.
12 . The compute sled of claim 11 , 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.
13 . 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 a write request with the object and an object identifier to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled and concurrently send metadata without the object to one or more other compute sleds associated with the mapped data storage sleds.
14 . The one or more machine-readable storage media of claim 13 , wherein to map the object to the set of data storage sleds comprises to read, from a database present on the compute sled and associated with a map data service, data indicative of an association between an identifier of the object and the set of data storage sleds.
15 . The one or more machine-readable storage media of claim 13 , wherein, the compute sled is a first compute sled and when executed, the plurality of instructions further cause the compute sled to:
receive a request from a second compute sled to determine whether a second object is mapped to a data storage sled associated with the first compute sled, wherein the request includes a second object identifier; and compare, in response to receipt of the request, the object identifier to a database present on the first compute sled, wherein the database includes identifiers of objects stored in the data storage sled associated with the first compute sled.
16 . The one or more machine-readable storage media of claim 15 , wherein when executed, the plurality of instructions further cause the compute sled to send, in response to a determination that the second object identifier matches an identifier of an object mapped to the data storage sled, an identifier of the data storage sled associated with the second object identifier.
17 . The one or more machine-readable storage media of claim 13 , 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.
18 . The one or more machine-readable storage media of claim 13 , wherein to map the object to the data storage sleds comprises to map the object to data storage sleds in different failure domains.
19 . The one or more machine-readable storage media of claim 13 , 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.
20 . The one or more machine-readable storage media of claim 13 , 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 of the object.
21 . The one or more machine-readable storage media of claim 13 , 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.
22 . 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, a write request with the object and an object identifier to the mapped data storage sleds to store the object in one or more data storage devices located on each data storage sled and concurrently sending metadata without the object to one or more other compute sleds associated with the mapped data storage sleds.
23 . The method of claim 22 , wherein mapping the object to the set of data storage sleds comprises reading, from a database present on the compute sled and associated with a map data service, data indicative of an association between an identifier of the object and the set of data storage sleds.
24 . The method of claim 22 , wherein the compute sled is a first compute sled, the method further comprising:
receiving, by the first compute sled, a request from a second compute sled to determine whether a second object is mapped to a data storage sled associated with the first compute sled, wherein the request includes a second object identifier; and comparing, by the first compute sled and in response to receipt of the request, the object identifier to a database present on the first compute sled, wherein the database includes identifiers of objects stored in the data storage sled associated with the first compute sled.
25 . The method of claim 24 , further comprising sending, by the compute sled and in response to a determination that the second object identifier matches an identifier of an object mapped to the data storage sled, an identifier of the data storage sled associated with the second object identifier.Join the waitlist — get patent alerts
Track US2019042091A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.